(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:__git_printf_supports_v)
          op: Equal
          rhs: {(SQ )}
          spids: [289]
        )
      ]
      spids: [289]
    )
    (SimpleCommand
      words: [{(printf)} {(-v)} {(__git_printf_supports_v)} {(--)} {(SQ <"%s">)} {(yes)}]
      redirects: [
        (Redir op_id:Redir_Great fd:-1 arg_word:{(/dev/null)} spids:[305])
        (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[308])
      ]
    )
    (FuncDef
      name: __git_ps1_show_upstream
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair lhs:(LhsName name:key) op:Equal spids:[328])
                (assign_pair lhs:(LhsName name:value) op:Equal spids:[330])
              ]
              spids: [326]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair lhs:(LhsName name:svn_remote) op:Equal spids:[335])
                (assign_pair lhs:(LhsName name:svn_url_pattern) op:Equal spids:[337])
                (assign_pair lhs:(LhsName name:count) op:Equal spids:[339])
                (assign_pair lhs:(LhsName name:n) op:Equal spids:[341])
              ]
              spids: [333]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:upstream)
                  op: Equal
                  rhs: {(git)}
                  spids: [346]
                )
                (assign_pair
                  lhs: (LhsName name:legacy)
                  op: Equal
                  rhs: {(DQ )}
                  spids: [349]
                )
                (assign_pair
                  lhs: (LhsName name:verbose)
                  op: Equal
                  rhs: {(DQ )}
                  spids: [353]
                )
                (assign_pair
                  lhs: (LhsName name:name)
                  op: Equal
                  rhs: {(DQ )}
                  spids: [357]
                )
              ]
              spids: [344]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:svn_remote)
                  op: Equal
                  rhs: {(ArrayLiteralPart)}
                  spids: [363]
                )
              ]
              spids: [363]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:output)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (SimpleCommand
                                      words: [
                                        {(git)}
                                        {(config)}
                                        {(-z)}
                                        {(--get-regexp)}
                                        {(SQ <"^(svn-remote\\..*\\.url|bash\\.showupstream)$">)}
                                      ]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_Great
                                          fd: 2
                                          arg_word: {(/dev/null)}
                                          spids: [389]
                                        )
                                      ]
                                    )
                                    (C {(tr)} {(SQ <"\\0\\n">)} {(SQ <"\\n ">)})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [376 403]
                        )
                      )
                    }
                  spids: [374]
                )
              ]
              spids: [372]
            )
            (While
              cond: [(Sentence child:(C {(read)} {(-r)} {(key)} {(value)}) terminator:<Op_Semi ";">)]
              body: 
                (DoGroup
                  children: [
                    (Case
                      to_match: {(DQ ($ VSub_Name "$key"))}
                      arms: [
                        (case_arm
                          pat_list: [{(bash.showupstream)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:GIT_PS1_SHOWUPSTREAM)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$value"))}
                                  spids: [434]
                                )
                              ]
                              spids: [434]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DBracket
                                          expr: 
                                            (BoolUnary
                                              op_id: BoolUnary_z
                                              child: {(DQ (${ VSub_Name GIT_PS1_SHOWUPSTREAM))}
                                            )
                                        )
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:p)
                                          op: Equal
                                          rhs: {(DQ )}
                                          spids: [458]
                                        )
                                      ]
                                      spids: [458]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Return return>
                                    )
                                  ]
                                  spids: [-1 455]
                                )
                              ]
                              spids: [-1 466]
                            )
                          ]
                          spids: [430 431 469 -1]
                        )
                        (case_arm
                          pat_list: [{(svn-remote.) (Lit_Other "*") (.url)}]
                          action: [
                            (C 
                              {(svn_remote) (Lit_Other "[") 
                                (ArithSubPart
                                  anode: 
                                    (ArithBinary
                                      op_id: Arith_Plus
                                      left: 
                                        (ArithWord
                                          w: 
                                            {
                                              (BracedVarSub
                                                token: <VSub_Name svn_remote>
                                                prefix_op: VSub_Pound
                                                bracket_op: (WholeArray op_id:Lit_At)
                                                spids: [481 487]
                                              )
                                            }
                                        )
                                      right: (ArithWord w:{(Lit_Digits 1)})
                                    )
                                  spids: [480 493]
                                ) (Lit_Other "]") (Lit_Other "=") (DQ ($ VSub_Name "$value"))
                              }
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:svn_url_pattern)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name "$svn_url_pattern") 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar "\\\\">
                                        ) ("|") ($ VSub_Name "$value")
                                      )
                                    }
                                  spids: [501]
                                )
                              ]
                              spids: [501]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:upstream)
                                  op: Equal
                                  rhs: {(svn) (Lit_Other "+") (git)}
                                  spids: [510]
                                )
                              ]
                              spids: [510]
                            )
                          ]
                          spids: [472 475 519 -1]
                        )
                      ]
                      spids: [421 427 522]
                    )
                  ]
                  spids: [418 525]
                )
              redirects: [
                (Redir
                  op_id: Redir_TLess
                  fd: -1
                  arg_word: {(DQ ($ VSub_Name "$output"))}
                  spids: [527]
                )
              ]
            )
            (ForEach
              iter_name: option
              iter_words: [{(${ VSub_Name GIT_PS1_SHOWUPSTREAM)}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (Case
                      to_match: {(DQ ($ VSub_Name "$option"))}
                      arms: [
                        (case_arm
                          pat_list: [{(git)} {(svn)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:upstream)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$option"))}
                                  spids: [567]
                                )
                              ]
                              spids: [567]
                            )
                          ]
                          spids: [562 565 572 -1]
                        )
                        (case_arm
                          pat_list: [{(verbose)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:verbose)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [578]
                                )
                              ]
                              spids: [578]
                            )
                          ]
                          spids: [575 576 581 -1]
                        )
                        (case_arm
                          pat_list: [{(legacy)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:legacy)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [587]
                                )
                              ]
                              spids: [587]
                            )
                          ]
                          spids: [584 585 590 -1]
                        )
                        (case_arm
                          pat_list: [{(name)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:name)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [596]
                                )
                              ]
                              spids: [596]
                            )
                          ]
                          spids: [593 594 599 -1]
                        )
                      ]
                      spids: [553 559 602]
                    )
                  ]
                  spids: [550 605]
                )
              spids: [544 548]
            )
            (Case
              to_match: {(DQ ($ VSub_Name "$upstream"))}
              arms: [
                (case_arm
                  pat_list: [{(git)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:upstream)
                          op: Equal
                          rhs: {(DQ ("@{upstream}"))}
                          spids: [625]
                        )
                      ]
                      spids: [625]
                    )
                  ]
                  spids: [622 623 630 -1]
                )
                (case_arm
                  pat_list: [{(svn) (Lit_Other "*")}]
                  action: [
                    (Assignment
                      keyword: Assign_Local
                      flags: ["'-a'"]
                      pairs: [(assign_pair lhs:(LhsName name:svn_upstream) op:Equal spids:[650])]
                      spids: [646]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:svn_upstream)
                          op: Equal
                          rhs: 
                            {
                              (ArrayLiteralPart
                                words: [
                                  {
                                    (CommandSubPart
                                      command_list: 
                                        (CommandList
                                          children: [
                                            (SimpleCommand
                                              words: [
                                                {(git)}
                                                {(log)}
                                                {(--first-parent)}
                                                {(-1)}
                                                {(--grep) (Lit_Other "=") 
                                                  (DQ ("^git-svn-id: ") 
                                                    (EscapedLiteralPart
                                                      token: <Lit_EscapedChar "\\(">
                                                    ) 
                                                    (BracedVarSub
                                                      token: <VSub_Name svn_url_pattern>
                                                      suffix_op: 
                                                        (StringUnary
                                                          op_id: VOp1_Pound
                                                          arg_word: {("??")}
                                                        )
                                                      spids: [671 675]
                                                    ) (EscapedLiteralPart token:<Lit_EscapedChar "\\)">)
                                                  )
                                                }
                                              ]
                                              redirects: [
                                                (Redir
                                                  op_id: Redir_Great
                                                  fd: 2
                                                  arg_word: {(/dev/null)}
                                                  spids: [679]
                                                )
                                              ]
                                            )
                                          ]
                                        )
                                      left_token: <Left_CommandSub "$(">
                                      spids: [655 681]
                                    )
                                  }
                                ]
                              )
                            }
                          spids: [653]
                        )
                      ]
                      spids: [653]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (BoolBinary
                                      op_id: BoolBinary_ne
                                      left: {(0)}
                                      right: 
                                        {
                                          (BracedVarSub
                                            token: <VSub_Name svn_upstream>
                                            prefix_op: VSub_Pound
                                            bracket_op: (WholeArray op_id:Lit_At)
                                            spids: [693 699]
                                          )
                                        }
                                    )
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:svn_upstream)
                                  op: Equal
                                  rhs: 
                                    {
                                      (BracedVarSub
                                        token: <VSub_Name svn_upstream>
                                        bracket_op: 
                                          (ArrayIndex
                                            expr: 
                                              (ArithBinary
                                                op_id: Arith_Minus
                                                left: 
                                                  (ArithWord
                                                    w: 
                                                      {
                                                        (BracedVarSub
                                                          token: <VSub_Name svn_upstream>
                                                          prefix_op: VSub_Pound
                                                          bracket_op: (WholeArray op_id:Lit_At)
                                                          spids: [711 717]
                                                        )
                                                      }
                                                  )
                                                right: (ArithWord w:{(Lit_Digits 2)})
                                              )
                                          )
                                        spids: [708 723]
                                      )
                                    }
                                  spids: [707]
                                )
                              ]
                              spids: [707]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:svn_upstream)
                                  op: Equal
                                  rhs: 
                                    {
                                      (BracedVarSub
                                        token: <VSub_Name svn_upstream>
                                        suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{("@*")})
                                        spids: [727 731]
                                      )
                                    }
                                  spids: [726]
                                )
                              ]
                              spids: [726]
                            )
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:n_stop)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          token: <VSub_Name svn_remote>
                                          prefix_op: VSub_Pound
                                          bracket_op: (WholeArray op_id:Lit_At)
                                          spids: [738 744]
                                        )
                                      )
                                    }
                                  spids: [736]
                                )
                              ]
                              spids: [734]
                            )
                            (ForExpr
                              init: 
                                (BinaryAssign
                                  op_id: Arith_Equal
                                  left: (LhsName name:n)
                                  right: (ArithWord w:{(Lit_Digits 1)})
                                )
                              cond: 
                                (ArithBinary
                                  op_id: Arith_LessEqual
                                  left: (ArithVarRef name:n)
                                  right: (ArithVarRef name:n_stop)
                                )
                              update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:n))
                              body: 
                                (DoGroup
                                  children: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:svn_upstream)
                                          op: Equal
                                          rhs: 
                                            {
                                              (BracedVarSub
                                                token: <VSub_Name svn_upstream>
                                                suffix_op: 
                                                  (StringUnary
                                                    op_id: VOp1_Pound
                                                    arg_word: 
                                                      {
                                                        (BracedVarSub
                                                          token: <VSub_Name svn_remote>
                                                          bracket_op: 
                                                            (ArrayIndex
                                                              expr: (ArithWord w:{($ VSub_Name "$n")})
                                                            )
                                                          spids: [776 781]
                                                        )
                                                      }
                                                  )
                                                spids: [773 782]
                                              )
                                            }
                                          spids: [772]
                                        )
                                      ]
                                      spids: [772]
                                    )
                                  ]
                                  spids: [769 785]
                                )
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DBracket
                                          expr: 
                                            (BoolUnary
                                              op_id: BoolUnary_z
                                              child: {(DQ ($ VSub_Name "$svn_upstream"))}
                                            )
                                        )
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:upstream)
                                          op: Equal
                                          rhs: 
                                            {
                                              (BracedVarSub
                                                token: <VSub_Name GIT_SVN_ID>
                                                suffix_op: 
                                                  (StringUnary
                                                    op_id: VTest_ColonHyphen
                                                    arg_word: {(git-svn)}
                                                  )
                                                spids: [810 814]
                                              )
                                            }
                                          spids: [809]
                                        )
                                      ]
                                      spids: [809]
                                    )
                                  ]
                                  spids: [-1 802]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:upstream)
                                      op: Equal
                                      rhs: 
                                        {
                                          (BracedVarSub
                                            token: <VSub_Name svn_upstream>
                                            suffix_op: 
                                              (StringUnary
                                                op_id: VOp1_Pound
                                                arg_word: {(Lit_Slash /)}
                                              )
                                            spids: [821 825]
                                          )
                                        }
                                      spids: [820]
                                    )
                                  ]
                                  spids: [820]
                                )
                              ]
                              spids: [817 828]
                            )
                          ]
                          spids: [-1 704]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (BoolBinary
                                      op_id: BoolBinary_GlobEqual
                                      left: {(DQ ("svn+git"))}
                                      right: {(DQ ($ VSub_Name "$upstream"))}
                                    )
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:upstream)
                                  op: Equal
                                  rhs: {(DQ ("@{upstream}"))}
                                  spids: [851]
                                )
                              ]
                              spids: [851]
                            )
                          ]
                          spids: [831 848]
                        )
                      ]
                      spids: [-1 857]
                    )
                  ]
                  spids: [633 635 860 -1]
                )
              ]
              spids: [613 619 863]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: (BoolUnary op_id:BoolUnary_z child:{(DQ ($ VSub_Name "$legacy"))})
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:count)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (SimpleCommand
                                          words: [
                                            {(git)}
                                            {(rev-list)}
                                            {(--count)}
                                            {(--left-right)}
                                            {(DQ ($ VSub_Name "$upstream")) (...HEAD)}
                                          ]
                                          redirects: [
                                            (Redir
                                              op_id: Redir_Great
                                              fd: 2
                                              arg_word: {(/dev/null)}
                                              spids: [905]
                                            )
                                          ]
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub "$(">
                                  spids: [889 907]
                                )
                              )
                            }
                          spids: [887]
                        )
                      ]
                      spids: [887]
                    )
                  ]
                  spids: [-1 884]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_Local
                  pairs: [(assign_pair lhs:(LhsName name:commits) op:Equal spids:[920])]
                  spids: [918]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:commits)
                              op: Equal
                              rhs: 
                                {
                                  (DQ 
                                    (CommandSubPart
                                      command_list: 
                                        (CommandList
                                          children: [
                                            (SimpleCommand
                                              words: [
                                                {(git)}
                                                {(rev-list)}
                                                {(--left-right)}
                                                {(DQ ($ VSub_Name "$upstream")) (...HEAD)}
                                              ]
                                              redirects: [
                                                (Redir
                                                  op_id: Redir_Great
                                                  fd: 2
                                                  arg_word: {(/dev/null)}
                                                  spids: [939]
                                                )
                                              ]
                                            )
                                          ]
                                        )
                                      left_token: <Left_CommandSub "$(">
                                      spids: [927 941]
                                    )
                                  )
                                }
                              spids: [925]
                            )
                          ]
                          spids: [925]
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_Local
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:commit)
                              op: Equal
                              spids: [950]
                            )
                            (assign_pair
                              lhs: (LhsName name:behind)
                              op: Equal
                              rhs: {(0)}
                              spids: [952]
                            )
                            (assign_pair
                              lhs: (LhsName name:ahead)
                              op: Equal
                              rhs: {(0)}
                              spids: [955]
                            )
                          ]
                          spids: [948]
                        )
                        (ForEach
                          iter_name: commit
                          iter_words: [{($ VSub_Name "$commits")}]
                          do_arg_iter: False
                          body: 
                            (DoGroup
                              children: [
                                (Case
                                  to_match: {(DQ ($ VSub_Name "$commit"))}
                                  arms: [
                                    (case_arm
                                      pat_list: [{(DQ ("<")) (Lit_Other "*")}]
                                      action: [
                                        (DParen
                                          child: 
                                            (UnaryAssign
                                              op_id: Node_PostDPlus
                                              child: (LhsName name:behind)
                                            )
                                        )
                                      ]
                                      spids: [981 984 992 -1]
                                    )
                                    (case_arm
                                      pat_list: [{(Lit_Other "*")}]
                                      action: [
                                        (DParen
                                          child: 
                                            (UnaryAssign
                                              op_id: Node_PostDPlus
                                              child: (LhsName name:ahead)
                                            )
                                        )
                                      ]
                                      spids: [995 996 1004 -1]
                                    )
                                  ]
                                  spids: [971 977 1007]
                                )
                              ]
                              spids: [968 1010]
                            )
                          spids: [964 -1]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:count)
                              op: Equal
                              rhs: {(DQ ($ VSub_Name "$behind") ("\t") ($ VSub_Name "$ahead"))}
                              spids: [1013]
                            )
                          ]
                          spids: [1013]
                        )
                      ]
                      spids: [-1 945]
                    )
                  ]
                  else_action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:count)
                          op: Equal
                          rhs: {(DQ )}
                          spids: [1024]
                        )
                      ]
                      spids: [1024]
                    )
                  ]
                  spids: [1021 1029]
                )
              ]
              spids: [911 1032]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: (BoolUnary op_id:BoolUnary_z child:{(DQ ($ VSub_Name "$verbose"))})
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Case
                      to_match: {(DQ ($ VSub_Name "$count"))}
                      arms: [
                        (case_arm
                          pat_list: [{(DQ )}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:p)
                                  op: Equal
                                  rhs: {(DQ )}
                                  spids: [1073]
                                )
                              ]
                              spids: [1073]
                            )
                          ]
                          spids: [-1 1067 1077 -1]
                        )
                        (case_arm
                          pat_list: [{(DQ ("0\t0"))}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:p)
                                  op: Equal
                                  rhs: {(DQ ("="))}
                                  spids: [1089]
                                )
                              ]
                              spids: [1089]
                            )
                          ]
                          spids: [1081 1083 1094 -1]
                        )
                        (case_arm
                          pat_list: [{(DQ ("0\t")) (Lit_Other "*")}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:p)
                                  op: Equal
                                  rhs: {(DQ (">"))}
                                  spids: [1107]
                                )
                              ]
                              spids: [1107]
                            )
                          ]
                          spids: [1098 1101 1112 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*") (DQ ("\t0"))}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:p)
                                  op: Equal
                                  rhs: {(DQ ("<"))}
                                  spids: [1125]
                                )
                              ]
                              spids: [1125]
                            )
                          ]
                          spids: [1115 1119 1130 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*")}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:p)
                                  op: Equal
                                  rhs: {(DQ ("<>"))}
                                  spids: [1140]
                                )
                              ]
                              spids: [1140]
                            )
                          ]
                          spids: [1133 1134 1145 -1]
                        )
                      ]
                      spids: [1056 1062 1148]
                    )
                  ]
                  spids: [-1 1053]
                )
              ]
              else_action: [
                (Case
                  to_match: {(DQ ($ VSub_Name "$count"))}
                  arms: [
                    (case_arm
                      pat_list: [{(DQ )}]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:p)
                              op: Equal
                              rhs: {(DQ )}
                              spids: [1171]
                            )
                          ]
                          spids: [1171]
                        )
                      ]
                      spids: [-1 1165 1175 -1]
                    )
                    (case_arm
                      pat_list: [{(DQ ("0\t0"))}]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:p)
                              op: Equal
                              rhs: {(DQ (" u="))}
                              spids: [1187]
                            )
                          ]
                          spids: [1187]
                        )
                      ]
                      spids: [1179 1181 1192 -1]
                    )
                    (case_arm
                      pat_list: [{(DQ ("0\t")) (Lit_Other "*")}]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:p)
                              op: Equal
                              rhs: 
                                {
                                  (DQ (" u+") 
                                    (BracedVarSub
                                      token: <VSub_Name count>
                                      suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{("0\t")})
                                      spids: [1208 1212]
                                    )
                                  )
                                }
                              spids: [1205]
                            )
                          ]
                          spids: [1205]
                        )
                      ]
                      spids: [1196 1199 1215 -1]
                    )
                    (case_arm
                      pat_list: [{(Lit_Other "*") (DQ ("\t0"))}]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:p)
                              op: Equal
                              rhs: 
                                {
                                  (DQ (" u-") 
                                    (BracedVarSub
                                      token: <VSub_Name count>
                                      suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{("\t0")})
                                      spids: [1231 1235]
                                    )
                                  )
                                }
                              spids: [1228]
                            )
                          ]
                          spids: [1228]
                        )
                      ]
                      spids: [1218 1222 1238 -1]
                    )
                    (case_arm
                      pat_list: [{(Lit_Other "*")}]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:p)
                              op: Equal
                              rhs: 
                                {
                                  (DQ (" u+") 
                                    (BracedVarSub
                                      token: <VSub_Name count>
                                      suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{("*\t")})
                                      spids: [1251 1255]
                                    ) (-) 
                                    (BracedVarSub
                                      token: <VSub_Name count>
                                      suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{("\t*")})
                                      spids: [1257 1261]
                                    )
                                  )
                                }
                              spids: [1248]
                            )
                          ]
                          spids: [1248]
                        )
                      ]
                      spids: [1241 1242 1264 -1]
                    )
                  ]
                  spids: [1154 1160 1267]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DBracket
                              expr: 
                                (LogicalAnd
                                  left: 
                                    (BoolUnary
                                      op_id: BoolUnary_n
                                      child: {(DQ ($ VSub_Name "$count"))}
                                    )
                                  right: 
                                    (BoolUnary
                                      op_id: BoolUnary_n
                                      child: {(DQ ($ VSub_Name "$name"))}
                                    )
                                )
                            )
                          terminator: <Op_Semi ";">
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:__git_ps1_upstream_name)
                              op: Equal
                              rhs: 
                                {
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [
                                          (SimpleCommand
                                            words: [
                                              {(git)}
                                              {(rev-parse)}
                                              {(--abbrev-ref)}
                                              {(DQ ($ VSub_Name "$upstream"))}
                                            ]
                                            redirects: [
                                              (Redir
                                                op_id: Redir_Great
                                                fd: 2
                                                arg_word: {(/dev/null)}
                                                spids: [1308]
                                              )
                                            ]
                                          )
                                        ]
                                      )
                                    left_token: <Left_CommandSub "$(">
                                    spids: [1295 1310]
                                  )
                                }
                              spids: [1294]
                            )
                          ]
                          spids: [1294]
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (AndOr
                                      children: [
                                        (C {(Lit_Other "[")} {($ VSub_Name "$pcmode")} {(Lit_Other "=")} 
                                          {(yes)} {(Lit_Other "]")}
                                        )
                                        (C {(Lit_Other "[")} {($ VSub_Name "$ps1_expanded")} 
                                          {(Lit_Other "=")} {(yes)} {(Lit_Other "]")}
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                  terminator: <Op_Semi ";">
                                )
                              ]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:p)
                                      op: Equal
                                      rhs: 
                                        {
                                          (DQ ($ VSub_Name "$p") (" ") 
                                            (EscapedLiteralPart
                                              token: <Lit_EscapedChar "\\$">
                                            ) ("{__git_ps1_upstream_name}")
                                          )
                                        }
                                      spids: [1341]
                                    )
                                  ]
                                  spids: [1341]
                                )
                              ]
                              spids: [-1 1338]
                            )
                          ]
                          else_action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:p)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name "$p") (" ") 
                                        (${ VSub_Name __git_ps1_upstream_name)
                                      )
                                    }
                                  spids: [1353]
                                )
                              ]
                              spids: [1353]
                            )
                            (C {(unset)} {(__git_ps1_upstream_name)})
                          ]
                          spids: [1350 1376]
                        )
                      ]
                      spids: [-1 1291]
                    )
                  ]
                  spids: [-1 1379]
                )
              ]
              spids: [1151 1382]
            )
          ]
          spids: [323]
        )
      spids: [318 322]
    )
    (FuncDef
      name: __git_ps1_colorize_gitstring
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (BracedVarSub
                                    token: <VSub_Name ZSH_VERSION>
                                    suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{})
                                    spids: [1411 1414]
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:c_red)
                          op: Equal
                          rhs: {(SQ <"%F{red}">)}
                          spids: [1424]
                        )
                      ]
                      spids: [1422]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:c_green)
                          op: Equal
                          rhs: {(SQ <"%F{green}">)}
                          spids: [1432]
                        )
                      ]
                      spids: [1430]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:c_lblue)
                          op: Equal
                          rhs: {(SQ <"%F{blue}">)}
                          spids: [1440]
                        )
                      ]
                      spids: [1438]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:c_clear)
                          op: Equal
                          rhs: {(SQ <"%f">)}
                          spids: [1448]
                        )
                      ]
                      spids: [1446]
                    )
                  ]
                  spids: [-1 1419]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:c_red)
                      op: Equal
                      rhs: {(SQ <"\\[\\e[31m\\]">)}
                      spids: [1467]
                    )
                  ]
                  spids: [1465]
                )
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:c_green)
                      op: Equal
                      rhs: {(SQ <"\\[\\e[32m\\]">)}
                      spids: [1475]
                    )
                  ]
                  spids: [1473]
                )
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:c_lblue)
                      op: Equal
                      rhs: {(SQ <"\\[\\e[1;34m\\]">)}
                      spids: [1483]
                    )
                  ]
                  spids: [1481]
                )
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:c_clear)
                      op: Equal
                      rhs: {(SQ <"\\[\\e[0m\\]">)}
                      spids: [1491]
                    )
                  ]
                  spids: [1489]
                )
              ]
              spids: [1454 1497]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:bad_color)
                  op: Equal
                  rhs: {($ VSub_Name "$c_red")}
                  spids: [1502]
                )
              ]
              spids: [1500]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:ok_color)
                  op: Equal
                  rhs: {($ VSub_Name "$c_green")}
                  spids: [1508]
                )
              ]
              spids: [1506]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:flags_color)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name "$c_lblue"))}
                  spids: [1514]
                )
              ]
              spids: [1512]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:branch_color) op:Equal rhs:{(DQ )} spids:[1523])]
              spids: [1521]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other "[")} {($ VSub_Name "$detached")} {(Lit_Other "=")} {(no)} 
                          {(Lit_Other "]")}
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:branch_color)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name "$ok_color"))}
                          spids: [1544]
                        )
                      ]
                      spids: [1544]
                    )
                  ]
                  spids: [-1 1541]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:branch_color)
                      op: Equal
                      rhs: {(DQ ($ VSub_Name "$bad_color"))}
                      spids: [1553]
                    )
                  ]
                  spids: [1553]
                )
              ]
              spids: [1550 1559]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:c)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name "$branch_color") ($ VSub_Name "$c"))}
                  spids: [1562]
                )
              ]
              spids: [1562]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:z)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name "$c_clear") ($ VSub_Name "$z"))}
                  spids: [1570]
                )
              ]
              spids: [1570]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$w"))} {(Lit_Other "=")} {(DQ ("*"))} 
                          {(Lit_Other "]")}
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:w)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name "$bad_color") ($ VSub_Name "$w"))}
                          spids: [1597]
                        )
                      ]
                      spids: [1597]
                    )
                  ]
                  spids: [-1 1594]
                )
              ]
              spids: [-1 1604]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(Lit_Other "[")} {(-n)} {(DQ ($ VSub_Name "$i"))} {(Lit_Other "]")})
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:i)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name "$ok_color") ($ VSub_Name "$i"))}
                          spids: [1623]
                        )
                      ]
                      spids: [1623]
                    )
                  ]
                  spids: [-1 1620]
                )
              ]
              spids: [-1 1630]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(Lit_Other "[")} {(-n)} {(DQ ($ VSub_Name "$s"))} {(Lit_Other "]")})
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:s)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name "$flags_color") ($ VSub_Name "$s"))}
                          spids: [1649]
                        )
                      ]
                      spids: [1649]
                    )
                  ]
                  spids: [-1 1646]
                )
              ]
              spids: [-1 1656]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(Lit_Other "[")} {(-n)} {(DQ ($ VSub_Name "$u"))} {(Lit_Other "]")})
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:u)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name "$bad_color") ($ VSub_Name "$u"))}
                          spids: [1675]
                        )
                      ]
                      spids: [1675]
                    )
                  ]
                  spids: [-1 1672]
                )
              ]
              spids: [-1 1682]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:r)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name "$c_clear") ($ VSub_Name "$r"))}
                  spids: [1685]
                )
              ]
              spids: [1685]
            )
          ]
          spids: [1402]
        )
      spids: [1397 1401]
    )
    (FuncDef
      name: __git_eread
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:f)
                  op: Equal
                  rhs: {(DQ ($ VSub_Number "$1"))}
                  spids: [1704]
                )
              ]
              spids: [1702]
            )
            (C {(shift)})
            (AndOr
              children: [
                (C {(test)} {(-r)} {(DQ ($ VSub_Name "$f"))})
                (SimpleCommand
                  words: [{(read)} {(DQ ($ VSub_At "$@"))}]
                  redirects: [
                    (Redir
                      op_id: Redir_Less
                      fd: -1
                      arg_word: {(DQ ($ VSub_Name "$f"))}
                      spids: [1729]
                    )
                  ]
                )
              ]
              op_id: Op_DAmp
            )
          ]
          spids: [1699]
        )
      spids: [1694 1698]
    )
    (FuncDef
      name: __git_ps1
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:exit)
                  op: Equal
                  rhs: {($ VSub_QMark "$?")}
                  spids: [1784]
                )
              ]
              spids: [1782]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:pcmode) op:Equal rhs:{(no)} spids:[1790])]
              spids: [1788]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:detached) op:Equal rhs:{(no)} spids:[1796])]
              spids: [1794]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:ps1pc_start)
                  op: Equal
                  rhs: {(SQ <"\\u@\\h:\\w ">)}
                  spids: [1802]
                )
              ]
              spids: [1800]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:ps1pc_end)
                  op: Equal
                  rhs: {(SQ <"\\$ ">)}
                  spids: [1810]
                )
              ]
              spids: [1808]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:printf_format)
                  op: Equal
                  rhs: {(SQ <" (%s)">)}
                  spids: [1818]
                )
              ]
              spids: [1816]
            )
            (Case
              to_match: {(DQ ($ VSub_Pound "$#"))}
              arms: [
                (case_arm
                  pat_list: [{(2)} {(3)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:pcmode)
                          op: Equal
                          rhs: {(yes)}
                          spids: [1839]
                        )
                      ]
                      spids: [1839]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:ps1pc_start)
                          op: Equal
                          rhs: {(DQ ($ VSub_Number "$1"))}
                          spids: [1843]
                        )
                      ]
                      spids: [1843]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:ps1pc_end)
                          op: Equal
                          rhs: {(DQ ($ VSub_Number "$2"))}
                          spids: [1849]
                        )
                      ]
                      spids: [1849]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:printf_format)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (BracedVarSub
                                  token: <VSub_Number 3>
                                  suffix_op: 
                                    (StringUnary
                                      op_id: VTest_ColonHyphen
                                      arg_word: {($ VSub_Name "$printf_format")}
                                    )
                                  spids: [1857 1861]
                                )
                              )
                            }
                          spids: [1855]
                        )
                      ]
                      spids: [1855]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:PS1)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name "$ps1pc_start") ($ VSub_Name "$ps1pc_end"))}
                          spids: [1877]
                        )
                      ]
                      spids: [1877]
                    )
                  ]
                  spids: [1834 1837 1884 -1]
                )
                (case_arm
                  pat_list: [{(0)} {(1)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:printf_format)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (BracedVarSub
                                  token: <VSub_Number 1>
                                  suffix_op: 
                                    (StringUnary
                                      op_id: VTest_ColonHyphen
                                      arg_word: {($ VSub_Name "$printf_format")}
                                    )
                                  spids: [1894 1898]
                                )
                              )
                            }
                          spids: [1892]
                        )
                      ]
                      spids: [1892]
                    )
                  ]
                  spids: [1887 1890 1902 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*")}]
                  action: [
                    (ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {($ VSub_Name "$exit")}
                    )
                  ]
                  spids: [1905 1906 1913 -1]
                )
              ]
              spids: [1825 1831 1916]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:ps1_expanded) op:Equal rhs:{(yes)} spids:[2054])]
              spids: [2052]
            )
            (AndOr
              children: [
                (C {(Lit_Other "[")} {(-z)} 
                  {
                    (DQ 
                      (BracedVarSub
                        token: <VSub_Name ZSH_VERSION>
                        suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(SQ )})
                        spids: [2063 2066]
                      )
                    )
                  } {(Lit_Other "]")}
                )
                (AndOr
                  children: [
                    (DBracket
                      expr: (BoolUnary op_id:BoolUnary_o child:{(PROMPT_SUBST)})
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:ps1_expanded)
                          op: Equal
                          rhs: {(no)}
                          spids: [2083]
                        )
                      ]
                      spids: [2083]
                    )
                  ]
                  op_id: Op_DPipe
                )
              ]
              op_id: Op_DPipe
            )
            (AndOr
              children: [
                (C {(Lit_Other "[")} {(-z)} 
                  {
                    (DQ 
                      (BracedVarSub
                        token: <VSub_Name BASH_VERSION>
                        suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(SQ )})
                        spids: [2092 2095]
                      )
                    )
                  } {(Lit_Other "]")}
                )
                (AndOr
                  children: [
                    (C {(shopt)} {(-q)} {(promptvars)})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:ps1_expanded)
                          op: Equal
                          rhs: {(no)}
                          spids: [2110]
                        )
                      ]
                      spids: [2110]
                    )
                  ]
                  op_id: Op_DPipe
                )
              ]
              op_id: Op_DPipe
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair lhs:(LhsName name:repo_info) op:Equal spids:[2117])
                (assign_pair
                  lhs: (LhsName name:rev_parse_exit_code)
                  op: Equal
                  spids: [2119]
                )
              ]
              spids: [2115]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:repo_info)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (SimpleCommand
                                  words: [
                                    {(git)}
                                    {(rev-parse)}
                                    {(--git-dir)}
                                    {(--is-inside-git-dir)}
                                    {(--is-bare-repository)}
                                    {(--is-inside-work-tree)}
                                    {(--short)}
                                    {(HEAD)}
                                  ]
                                  redirects: [
                                    (Redir
                                      op_id: Redir_Great
                                      fd: 2
                                      arg_word: {(/dev/null)}
                                      spids: [2145]
                                    )
                                  ]
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [2124 2147]
                        )
                      )
                    }
                  spids: [2122]
                )
              ]
              spids: [2122]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:rev_parse_exit_code)
                  op: Equal
                  rhs: {(DQ ($ VSub_QMark "$?"))}
                  spids: [2151]
                )
              ]
              spids: [2151]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other "[")} {(-z)} {(DQ ($ VSub_Name "$repo_info"))} {(Lit_Other "]")})
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {($ VSub_Name "$exit")}
                    )
                  ]
                  spids: [-1 2171]
                )
              ]
              spids: [-1 2179]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:short_sha) op:Equal rhs:{(DQ )} spids:[2185])]
              spids: [2183]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$rev_parse_exit_code"))} 
                          {(Lit_Other "=")} {(DQ (0))} {(Lit_Other "]")}
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:short_sha)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (BracedVarSub
                                  token: <VSub_Name repo_info>
                                  suffix_op: 
                                    (StringUnary
                                      op_id: VOp1_DPound
                                      arg_word: 
                                        {("*") (Lit_Other "$") ("'") 
                                          (EscapedLiteralPart
                                            token: <Lit_EscapedChar "\\n">
                                          ) ("'")
                                        }
                                    )
                                  spids: [2212 2220]
                                )
                              )
                            }
                          spids: [2210]
                        )
                      ]
                      spids: [2210]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:repo_info)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (BracedVarSub
                                  token: <VSub_Name repo_info>
                                  suffix_op: 
                                    (StringUnary
                                      op_id: VOp1_Percent
                                      arg_word: 
                                        {(Lit_Other "$") ("'") 
                                          (EscapedLiteralPart
                                            token: <Lit_EscapedChar "\\n">
                                          ) ("'*")
                                        }
                                    )
                                  spids: [2226 2233]
                                )
                              )
                            }
                          spids: [2224]
                        )
                      ]
                      spids: [2224]
                    )
                  ]
                  spids: [-1 2207]
                )
              ]
              spids: [-1 2237]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:inside_worktree)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Name repo_info>
                          suffix_op: 
                            (StringUnary
                              op_id: VOp1_DPound
                              arg_word: 
                                {("*") (Lit_Other "$") ("'") 
                                  (EscapedLiteralPart
                                    token: <Lit_EscapedChar "\\n">
                                  ) ("'")
                                }
                            )
                          spids: [2244 2252]
                        )
                      )
                    }
                  spids: [2242]
                )
              ]
              spids: [2240]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:repo_info)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Name repo_info>
                          suffix_op: 
                            (StringUnary
                              op_id: VOp1_Percent
                              arg_word: 
                                {(Lit_Other "$") ("'") 
                                  (EscapedLiteralPart
                                    token: <Lit_EscapedChar "\\n">
                                  ) ("'*")
                                }
                            )
                          spids: [2258 2265]
                        )
                      )
                    }
                  spids: [2256]
                )
              ]
              spids: [2256]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:bare_repo)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Name repo_info>
                          suffix_op: 
                            (StringUnary
                              op_id: VOp1_DPound
                              arg_word: 
                                {("*") (Lit_Other "$") ("'") 
                                  (EscapedLiteralPart
                                    token: <Lit_EscapedChar "\\n">
                                  ) ("'")
                                }
                            )
                          spids: [2273 2281]
                        )
                      )
                    }
                  spids: [2271]
                )
              ]
              spids: [2269]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:repo_info)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Name repo_info>
                          suffix_op: 
                            (StringUnary
                              op_id: VOp1_Percent
                              arg_word: 
                                {(Lit_Other "$") ("'") 
                                  (EscapedLiteralPart
                                    token: <Lit_EscapedChar "\\n">
                                  ) ("'*")
                                }
                            )
                          spids: [2287 2294]
                        )
                      )
                    }
                  spids: [2285]
                )
              ]
              spids: [2285]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:inside_gitdir)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Name repo_info>
                          suffix_op: 
                            (StringUnary
                              op_id: VOp1_DPound
                              arg_word: 
                                {("*") (Lit_Other "$") ("'") 
                                  (EscapedLiteralPart
                                    token: <Lit_EscapedChar "\\n">
                                  ) ("'")
                                }
                            )
                          spids: [2302 2310]
                        )
                      )
                    }
                  spids: [2300]
                )
              ]
              spids: [2298]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:g)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Name repo_info>
                          suffix_op: 
                            (StringUnary
                              op_id: VOp1_Percent
                              arg_word: 
                                {(Lit_Other "$") ("'") 
                                  (EscapedLiteralPart
                                    token: <Lit_EscapedChar "\\n">
                                  ) ("'*")
                                }
                            )
                          spids: [2318 2325]
                        )
                      )
                    }
                  spids: [2316]
                )
              ]
              spids: [2314]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (AndOr
                      children: [
                        (C {(Lit_Other "[")} {(DQ (true))} {(Lit_Other "=")} 
                          {(DQ ($ VSub_Name "$inside_worktree"))} {(Lit_Other "]")}
                        )
                        (AndOr
                          children: [
                            (C {(Lit_Other "[")} {(-n)} 
                              {
                                (DQ 
                                  (BracedVarSub
                                    token: <VSub_Name GIT_PS1_HIDE_IF_PWD_IGNORED>
                                    suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(SQ )})
                                    spids: [2354 2357]
                                  )
                                )
                              } {(Lit_Other "]")}
                            )
                            (AndOr
                              children: [
                                (C {(Lit_Other "[")} 
                                  {
                                    (DQ 
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (C {(git)} {(config)} {(--bool)} {(bash.hideIfPwdIgnored)})
                                            ]
                                          )
                                        left_token: <Left_CommandSub "$(">
                                        spids: [2368 2376]
                                      )
                                    )
                                  } {(KW_Bang "!") (Lit_Other "=")} {(DQ (false))} {(Lit_Other "]")}
                                )
                                (C {(git)} {(check-ignore)} {(-q)} {(.)})
                              ]
                              op_id: Op_DAmp
                            )
                          ]
                          op_id: Op_DAmp
                        )
                      ]
                      op_id: Op_DAmp
                    )
                  ]
                  action: [
                    (ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {($ VSub_Name "$exit")}
                    )
                  ]
                  spids: [-1 2400]
                )
              ]
              spids: [-1 2408]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:r) op:Equal rhs:{(DQ )} spids:[2414])]
              spids: [2412]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:b) op:Equal rhs:{(DQ )} spids:[2421])]
              spids: [2419]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:step) op:Equal rhs:{(DQ )} spids:[2428])]
              spids: [2426]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:total) op:Equal rhs:{(DQ )} spids:[2435])]
              spids: [2433]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other "[")} {(-d)} {(DQ ($ VSub_Name "$g") (/rebase-merge))} 
                          {(Lit_Other "]")}
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(__git_eread)} {(DQ ($ VSub_Name "$g") (/rebase-merge/head-name))} {(b)})
                    (C {(__git_eread)} {(DQ ($ VSub_Name "$g") (/rebase-merge/msgnum))} {(step)})
                    (C {(__git_eread)} {(DQ ($ VSub_Name "$g") (/rebase-merge/end))} {(total)})
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other "[")} {(-f)} 
                                  {(DQ ($ VSub_Name "$g") (/rebase-merge/interactive))} {(Lit_Other "]")}
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:r)
                                  op: Equal
                                  rhs: {(DQ ("|REBASE-i"))}
                                  spids: [2504]
                                )
                              ]
                              spids: [2504]
                            )
                          ]
                          spids: [-1 2501]
                        )
                      ]
                      else_action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:r)
                              op: Equal
                              rhs: {(DQ ("|REBASE-m"))}
                              spids: [2513]
                            )
                          ]
                          spids: [2513]
                        )
                      ]
                      spids: [2510 2519]
                    )
                  ]
                  spids: [-1 2454]
                )
              ]
              else_action: [
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (C {(Lit_Other "[")} {(-d)} {(DQ ($ VSub_Name "$g") (/rebase-apply))} 
                              {(Lit_Other "]")}
                            )
                          terminator: <Op_Semi ";">
                        )
                      ]
                      action: [
                        (C {(__git_eread)} {(DQ ($ VSub_Name "$g") (/rebase-apply/next))} {(step)})
                        (C {(__git_eread)} {(DQ ($ VSub_Name "$g") (/rebase-apply/last))} {(total)})
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (C {(Lit_Other "[")} {(-f)} 
                                      {(DQ ($ VSub_Name "$g") (/rebase-apply/rebasing))} {(Lit_Other "]")}
                                    )
                                  terminator: <Op_Semi ";">
                                )
                              ]
                              action: [
                                (C {(__git_eread)} {(DQ ($ VSub_Name "$g") (/rebase-apply/head-name))} 
                                  {(b)}
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:r)
                                      op: Equal
                                      rhs: {(DQ ("|REBASE"))}
                                      spids: [2589]
                                    )
                                  ]
                                  spids: [2589]
                                )
                              ]
                              spids: [-1 2576]
                            )
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (C {(Lit_Other "[")} {(-f)} 
                                      {(DQ ($ VSub_Name "$g") (/rebase-apply/applying))} {(Lit_Other "]")}
                                    )
                                  terminator: <Op_Semi ";">
                                )
                              ]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:r)
                                      op: Equal
                                      rhs: {(DQ ("|AM"))}
                                      spids: [2612]
                                    )
                                  ]
                                  spids: [2612]
                                )
                              ]
                              spids: [2595 2609]
                            )
                          ]
                          else_action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:r)
                                  op: Equal
                                  rhs: {(DQ ("|AM/REBASE"))}
                                  spids: [2621]
                                )
                              ]
                              spids: [2621]
                            )
                          ]
                          spids: [2618 2627]
                        )
                      ]
                      spids: [-1 2539]
                    )
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (C {(Lit_Other "[")} {(-f)} {(DQ ($ VSub_Name "$g") (/MERGE_HEAD))} 
                              {(Lit_Other "]")}
                            )
                          terminator: <Op_Semi ";">
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:r)
                              op: Equal
                              rhs: {(DQ ("|MERGING"))}
                              spids: [2647]
                            )
                          ]
                          spids: [2647]
                        )
                      ]
                      spids: [2630 2644]
                    )
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (C {(Lit_Other "[")} {(-f)} {(DQ ($ VSub_Name "$g") (/CHERRY_PICK_HEAD))} 
                              {(Lit_Other "]")}
                            )
                          terminator: <Op_Semi ";">
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:r)
                              op: Equal
                              rhs: {(DQ ("|CHERRY-PICKING"))}
                              spids: [2670]
                            )
                          ]
                          spids: [2670]
                        )
                      ]
                      spids: [2653 2667]
                    )
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (C {(Lit_Other "[")} {(-f)} {(DQ ($ VSub_Name "$g") (/REVERT_HEAD))} 
                              {(Lit_Other "]")}
                            )
                          terminator: <Op_Semi ";">
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:r)
                              op: Equal
                              rhs: {(DQ ("|REVERTING"))}
                              spids: [2693]
                            )
                          ]
                          spids: [2693]
                        )
                      ]
                      spids: [2676 2690]
                    )
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (C {(Lit_Other "[")} {(-f)} {(DQ ($ VSub_Name "$g") (/BISECT_LOG))} 
                              {(Lit_Other "]")}
                            )
                          terminator: <Op_Semi ";">
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:r)
                              op: Equal
                              rhs: {(DQ ("|BISECTING"))}
                              spids: [2716]
                            )
                          ]
                          spids: [2716]
                        )
                      ]
                      spids: [2699 2713]
                    )
                  ]
                  spids: [-1 2722]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (C {(Lit_Other "[")} {(-n)} {(DQ ($ VSub_Name "$b"))} {(Lit_Other "]")})
                          terminator: <Op_Semi ";">
                        )
                      ]
                      action: [(C {(Lit_Other ":")})]
                      spids: [-1 2739]
                    )
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (C {(Lit_Other "[")} {(-h)} {(DQ ($ VSub_Name "$g") (/HEAD))} 
                              {(Lit_Other "]")}
                            )
                          terminator: <Op_Semi ";">
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:b)
                              op: Equal
                              rhs: 
                                {
                                  (DQ 
                                    (CommandSubPart
                                      command_list: 
                                        (CommandList
                                          children: [
                                            (SimpleCommand
                                              words: [{(git)} {(symbolic-ref)} {(HEAD)}]
                                              redirects: [
                                                (Redir
                                                  op_id: Redir_Great
                                                  fd: 2
                                                  arg_word: {(/dev/null)}
                                                  spids: [2775]
                                                )
                                              ]
                                            )
                                          ]
                                        )
                                      left_token: <Left_CommandSub "$(">
                                      spids: [2768 2777]
                                    )
                                  )
                                }
                              spids: [2766]
                            )
                          ]
                          spids: [2766]
                        )
                      ]
                      spids: [2745 2759]
                    )
                  ]
                  else_action: [
                    (Assignment
                      keyword: Assign_Local
                      pairs: [(assign_pair lhs:(LhsName name:head) op:Equal rhs:{(DQ )} spids:[2786])]
                      spids: [2784]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (Pipeline
                                  children: [
                                    (C {(__git_eread)} {(DQ ($ VSub_Name "$g") (/HEAD))} {(head)})
                                  ]
                                  negated: True
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (ControlFlow
                              token: <ControlFlow_Return return>
                              arg_word: {($ VSub_Name "$exit")}
                            )
                          ]
                          spids: [-1 2805]
                        )
                      ]
                      spids: [-1 2813]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:b)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (BracedVarSub
                                  token: <VSub_Name head>
                                  suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{("ref: ")})
                                  spids: [2822 2826]
                                )
                              )
                            }
                          spids: [2820]
                        )
                      ]
                      spids: [2820]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$head"))} {(Lit_Other "=")} 
                                  {(DQ ($ VSub_Name "$b"))} {(Lit_Other "]")}
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:detached)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [2850]
                                )
                              ]
                              spids: [2850]
                            )
                            (AndOr
                              children: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:b)
                                      op: Equal
                                      rhs: 
                                        {
                                          (DQ 
                                            (CommandSubPart
                                              command_list: 
                                                (CommandList
                                                  children: [
                                                    (Case
                                                      to_match: 
                                                        {
                                                          (DQ 
                                                            (BracedVarSub
                                                              token: 
                                                                <VSub_Name GIT_PS1_DESCRIBE_STYLE>
                                                              suffix_op: 
                                                                (StringUnary
                                                                  op_id: VTest_Hyphen
                                                                  arg_word: {(SQ )}
                                                                )
                                                              spids: [2862 2865]
                                                            )
                                                          )
                                                        }
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(contains)}]
                                                          action: [
                                                            (C {(git)} {(describe)} {(--contains)} 
                                                              {(HEAD)}
                                                            )
                                                          ]
                                                          spids: [2871 2873 2884 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(branch)}]
                                                          action: [
                                                            (C {(git)} {(describe)} {(--contains)} 
                                                              {(--all)} {(HEAD)}
                                                            )
                                                          ]
                                                          spids: [2887 2889 2902 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(describe)}]
                                                          action: [(C {(git)} {(describe)} {(HEAD)})]
                                                          spids: [2905 2907 2916 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")} {(default)}]
                                                          action: [
                                                            (C {(git)} {(describe)} {(--tags)} 
                                                              {(--exact-match)} {(HEAD)}
                                                            )
                                                          ]
                                                          spids: [2919 2925 2938 -1]
                                                        )
                                                      ]
                                                      redirects: [
                                                        (Redir
                                                          op_id: Redir_Great
                                                          fd: 2
                                                          arg_word: {(/dev/null)}
                                                          spids: [2943]
                                                        )
                                                      ]
                                                      spids: [2859 2868 2941]
                                                    )
                                                  ]
                                                )
                                              left_token: <Left_CommandSub "$(">
                                              spids: [2856 2945]
                                            )
                                          )
                                        }
                                      spids: [2854]
                                    )
                                  ]
                                  spids: [2854]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:b)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Name "$short_sha") (...))}
                                      spids: [2952]
                                    )
                                  ]
                                  spids: [2952]
                                )
                              ]
                              op_id: Op_DPipe
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:b)
                                  op: Equal
                                  rhs: {(DQ ("(") ($ VSub_Name "$b") (")"))}
                                  spids: [2959]
                                )
                              ]
                              spids: [2959]
                            )
                          ]
                          spids: [-1 2847]
                        )
                      ]
                      spids: [-1 2967]
                    )
                  ]
                  spids: [2781 2970]
                )
              ]
              spids: [2522 2973]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          children: [
                            (C {(Lit_Other "[")} {(-n)} {(DQ ($ VSub_Name "$step"))} {(Lit_Other "]")})
                            (C {(Lit_Other "[")} {(-n)} {(DQ ($ VSub_Name "$total"))} {(Lit_Other "]")})
                          ]
                          op_id: Op_DAmp
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:r)
                          op: Equal
                          rhs: 
                            {
                              (DQ ($ VSub_Name "$r") (" ") ($ VSub_Name "$step") (/) 
                                ($ VSub_Name "$total")
                              )
                            }
                          spids: [3005]
                        )
                      ]
                      spids: [3005]
                    )
                  ]
                  spids: [-1 3002]
                )
              ]
              spids: [-1 3015]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:w) op:Equal rhs:{(DQ )} spids:[3021])]
              spids: [3019]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:i) op:Equal rhs:{(DQ )} spids:[3028])]
              spids: [3026]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:s) op:Equal rhs:{(DQ )} spids:[3035])]
              spids: [3033]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:u) op:Equal rhs:{(DQ )} spids:[3042])]
              spids: [3040]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:c) op:Equal rhs:{(DQ )} spids:[3049])]
              spids: [3047]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:p) op:Equal rhs:{(DQ )} spids:[3056])]
              spids: [3054]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other "[")} {(DQ (true))} {(Lit_Other "=")} 
                          {(DQ ($ VSub_Name "$inside_gitdir"))} {(Lit_Other "]")}
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other "[")} {(DQ (true))} {(Lit_Other "=")} 
                                  {(DQ ($ VSub_Name "$bare_repo"))} {(Lit_Other "]")}
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:c)
                                  op: Equal
                                  rhs: {(DQ ("BARE:"))}
                                  spids: [3102]
                                )
                              ]
                              spids: [3102]
                            )
                          ]
                          spids: [-1 3099]
                        )
                      ]
                      else_action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:b)
                              op: Equal
                              rhs: {(DQ ("GIT_DIR!"))}
                              spids: [3111]
                            )
                          ]
                          spids: [3111]
                        )
                      ]
                      spids: [3108 3117]
                    )
                  ]
                  spids: [-1 3079]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other "[")} {(DQ (true))} {(Lit_Other "=")} 
                          {(DQ ($ VSub_Name "$inside_worktree"))} {(Lit_Other "]")}
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (AndOr
                              children: [
                                (C {(Lit_Other "[")} {(-n)} 
                                  {
                                    (DQ 
                                      (BracedVarSub
                                        token: <VSub_Name GIT_PS1_SHOWDIRTYSTATE>
                                        suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(SQ )})
                                        spids: [3147 3150]
                                      )
                                    )
                                  } {(Lit_Other "]")}
                                )
                                (C {(Lit_Other "[")} 
                                  {
                                    (DQ 
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (C {(git)} {(config)} {(--bool)} {(bash.showDirtyState)})
                                            ]
                                          )
                                        left_token: <Left_CommandSub "$(">
                                        spids: [3161 3169]
                                      )
                                    )
                                  } {(KW_Bang "!") (Lit_Other "=")} {(DQ (false))} {(Lit_Other "]")}
                                )
                              ]
                              op_id: Op_DAmp
                            )
                          ]
                          action: [
                            (AndOr
                              children: [
                                (C {(git)} {(diff)} {(--no-ext-diff)} {(--quiet)})
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:w)
                                      op: Equal
                                      rhs: {(DQ ("*"))}
                                      spids: [3195]
                                    )
                                  ]
                                  spids: [3195]
                                )
                              ]
                              op_id: Op_DPipe
                            )
                            (AndOr
                              children: [
                                (C {(git)} {(diff)} {(--no-ext-diff)} {(--cached)} {(--quiet)})
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:i)
                                      op: Equal
                                      rhs: {(DQ ("+"))}
                                      spids: [3213]
                                    )
                                  ]
                                  spids: [3213]
                                )
                              ]
                              op_id: Op_DPipe
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          children: [
                                            (C {(Lit_Other "[")} {(-z)} {(DQ ($ VSub_Name "$short_sha"))} 
                                              {(Lit_Other "]")}
                                            )
                                            (C {(Lit_Other "[")} {(-z)} {(DQ ($ VSub_Name "$i"))} 
                                              {(Lit_Other "]")}
                                            )
                                          ]
                                          op_id: Op_DAmp
                                        )
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:i)
                                          op: Equal
                                          rhs: {(DQ ("#"))}
                                          spids: [3247]
                                        )
                                      ]
                                      spids: [3247]
                                    )
                                  ]
                                  spids: [-1 3244]
                                )
                              ]
                              spids: [-1 3253]
                            )
                          ]
                          spids: [-1 3182]
                        )
                      ]
                      spids: [-1 3256]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (AndOr
                              children: [
                                (C {(Lit_Other "[")} {(-n)} 
                                  {
                                    (DQ 
                                      (BracedVarSub
                                        token: <VSub_Name GIT_PS1_SHOWSTASHSTATE>
                                        suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(SQ )})
                                        spids: [3266 3269]
                                      )
                                    )
                                  } {(Lit_Other "]")}
                                )
                                (SimpleCommand
                                  words: [{(git)} {(rev-parse)} {(--verify)} {(--quiet)} {(refs/stash)}]
                                  redirects: [
                                    (Redir
                                      op_id: Redir_Great
                                      fd: -1
                                      arg_word: {(/dev/null)}
                                      spids: [3287]
                                    )
                                  ]
                                )
                              ]
                              op_id: Op_DAmp
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:s)
                                  op: Equal
                                  rhs: {(DQ (Lit_Other "$"))}
                                  spids: [3294]
                                )
                              ]
                              spids: [3294]
                            )
                          ]
                          spids: [-1 3291]
                        )
                      ]
                      spids: [-1 3300]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (AndOr
                              children: [
                                (C {(Lit_Other "[")} {(-n)} 
                                  {
                                    (DQ 
                                      (BracedVarSub
                                        token: <VSub_Name GIT_PS1_SHOWUNTRACKEDFILES>
                                        suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(SQ )})
                                        spids: [3311 3314]
                                      )
                                    )
                                  } {(Lit_Other "]")}
                                )
                                (AndOr
                                  children: [
                                    (C {(Lit_Other "[")} 
                                      {
                                        (DQ 
                                          (CommandSubPart
                                            command_list: 
                                              (CommandList
                                                children: [
                                                  (C {(git)} {(config)} {(--bool)} 
                                                    {(bash.showUntrackedFiles)}
                                                  )
                                                ]
                                              )
                                            left_token: <Left_CommandSub "$(">
                                            spids: [3325 3333]
                                          )
                                        )
                                      } {(KW_Bang "!") (Lit_Other "=")} {(DQ (false))} {(Lit_Other "]")}
                                    )
                                    (SimpleCommand
                                      words: [
                                        {(git)}
                                        {(ls-files)}
                                        {(--others)}
                                        {(--exclude-standard)}
                                        {(--directory)}
                                        {(--no-empty-directory)}
                                        {(--error-unmatch)}
                                        {(--)}
                                        {(SQ <":/*">)}
                                      ]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_Great
                                          fd: -1
                                          arg_word: {(/dev/null)}
                                          spids: [3368]
                                        )
                                        (Redir
                                          op_id: Redir_Great
                                          fd: 2
                                          arg_word: {(/dev/null)}
                                          spids: [3371]
                                        )
                                      ]
                                    )
                                  ]
                                  op_id: Op_DAmp
                                )
                              ]
                              op_id: Op_DAmp
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:u)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ("%") 
                                        (BracedVarSub
                                          token: <VSub_Name ZSH_VERSION>
                                          suffix_op: 
                                            (StringUnary
                                              op_id: VTest_Plus
                                              arg_word: {(Lit_Percent "%")}
                                            )
                                          spids: [3381 3385]
                                        )
                                      )
                                    }
                                  spids: [3378]
                                )
                              ]
                              spids: [3378]
                            )
                          ]
                          spids: [-1 3375]
                        )
                      ]
                      spids: [-1 3389]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other "[")} {(-n)} 
                                  {
                                    (DQ 
                                      (BracedVarSub
                                        token: <VSub_Name GIT_PS1_SHOWUPSTREAM>
                                        suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(SQ )})
                                        spids: [3400 3403]
                                      )
                                    )
                                  } {(Lit_Other "]")}
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [(C {(__git_ps1_show_upstream)})]
                          spids: [-1 3409]
                        )
                      ]
                      spids: [-1 3415]
                    )
                  ]
                  spids: [3120 3137]
                )
              ]
              spids: [-1 3418]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:z)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Name GIT_PS1_STATESEPARATOR>
                          suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(DQ (" "))})
                          spids: [3426 3432]
                        )
                      )
                    }
                  spids: [3424]
                )
              ]
              spids: [3422]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          children: [
                            (C {(Lit_Other "[")} {($ VSub_Name "$pcmode")} {(Lit_Other "=")} {(yes)} 
                              {(Lit_Other "]")}
                            )
                            (C {(Lit_Other "[")} {(-n)} 
                              {
                                (DQ 
                                  (BracedVarSub
                                    token: <VSub_Name GIT_PS1_SHOWCOLORHINTS>
                                    suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(SQ )})
                                    spids: [3460 3463]
                                  )
                                )
                              } {(Lit_Other "]")}
                            )
                          ]
                          op_id: Op_DAmp
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [(C {(__git_ps1_colorize_gitstring)})]
                  spids: [-1 3469]
                )
              ]
              spids: [-1 3475]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:b)
                  op: Equal
                  rhs: 
                    {
                      (BracedVarSub
                        token: <VSub_Name b>
                        suffix_op: 
                          (StringUnary
                            op_id: VOp1_DPound
                            arg_word: {(refs) (Lit_Slash /) (heads) (Lit_Slash /)}
                          )
                        spids: [3480 3487]
                      )
                    }
                  spids: [3479]
                )
              ]
              spids: [3479]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          children: [
                            (C {(Lit_Other "[")} {($ VSub_Name "$pcmode")} {(Lit_Other "=")} {(yes)} 
                              {(Lit_Other "]")}
                            )
                            (C {(Lit_Other "[")} {($ VSub_Name "$ps1_expanded")} {(Lit_Other "=")} 
                              {(yes)} {(Lit_Other "]")}
                            )
                          ]
                          op_id: Op_DAmp
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:__git_ps1_branch_name)
                          op: Equal
                          rhs: {($ VSub_Name "$b")}
                          spids: [3518]
                        )
                      ]
                      spids: [3518]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:b)
                          op: Equal
                          rhs: 
                            {
                              (DQ (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) 
                                ("{__git_ps1_branch_name}")
                              )
                            }
                          spids: [3522]
                        )
                      ]
                      spids: [3522]
                    )
                  ]
                  spids: [-1 3515]
                )
              ]
              spids: [-1 3529]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:f)
                  op: Equal
                  rhs: 
                    {
                      (DQ ($ VSub_Name "$w") ($ VSub_Name "$i") ($ VSub_Name "$s") ($ VSub_Name "$u"))
                    }
                  spids: [3535]
                )
              ]
              spids: [3533]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:gitstring)
                  op: Equal
                  rhs: 
                    {
                      (DQ ($ VSub_Name "$c") ($ VSub_Name "$b") 
                        (BracedVarSub
                          token: <VSub_Name f>
                          suffix_op: 
                            (StringUnary
                              op_id: VTest_ColonPlus
                              arg_word: {($ VSub_Name "$z") ($ VSub_Name "$f")}
                            )
                          spids: [3550 3555]
                        ) ($ VSub_Name "$r") ($ VSub_Name "$p")
                      )
                    }
                  spids: [3546]
                )
              ]
              spids: [3544]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other "[")} {($ VSub_Name "$pcmode")} {(Lit_Other "=")} {(yes)} 
                          {(Lit_Other "]")}
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other "[")} 
                                  {
                                    (DQ 
                                      (BracedVarSub
                                        token: <VSub_Name __git_printf_supports_v>
                                        suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(SQ )})
                                        spids: [3583 3586]
                                      )
                                    )
                                  } {(KW_Bang "!") (Lit_Other "=")} {(yes)} {(Lit_Other "]")}
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:gitstring)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (C {(printf)} {(--)} {(DQ ($ VSub_Name "$printf_format"))} 
                                                {(DQ ($ VSub_Name "$gitstring"))}
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub "$(">
                                        spids: [3601 3613]
                                      )
                                    }
                                  spids: [3600]
                                )
                              ]
                              spids: [3600]
                            )
                          ]
                          spids: [-1 3597]
                        )
                      ]
                      else_action: [
                        (C {(printf)} {(-v)} {(gitstring)} {(--)} {(DQ ($ VSub_Name "$printf_format"))} 
                          {(DQ ($ VSub_Name "$gitstring"))}
                        )
                      ]
                      spids: [3616 3636]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:PS1)
                          op: Equal
                          rhs: 
                            {
                              (DQ ($ VSub_Name "$ps1pc_start") ($ VSub_Name "$gitstring") 
                                ($ VSub_Name "$ps1pc_end")
                              )
                            }
                          spids: [3639]
                        )
                      ]
                      spids: [3639]
                    )
                  ]
                  spids: [-1 3575]
                )
              ]
              else_action: [
                (C {(printf)} {(--)} {(DQ ($ VSub_Name "$printf_format"))} 
                  {(DQ ($ VSub_Name "$gitstring"))}
                )
              ]
              spids: [3647 3663]
            )
            (ControlFlow
              token: <ControlFlow_Return return>
              arg_word: {($ VSub_Name "$exit")}
            )
          ]
          spids: [1775]
        )
      spids: [1770 1774]
    )
  ]
)