(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:TEXTDOMAIN)
          op: assign_op.Equal
          rhs: {<git>}
          spids: [19]
        )
      ]
    )
    (C {<export>} {<TEXTDOMAIN>})
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [(C {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName '$GIT_TEXTDOMAINDIR'))})]
            )
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:TEXTDOMAINDIR)
                  op: assign_op.Equal
                  rhs: {(DQ <'@@LOCALEDIR@@'>)}
                  spids: [39]
                )
              ]
            )
          ]
          spids: [26 36]
        )
      ]
      else_action: [
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name name:TEXTDOMAINDIR)
              op: assign_op.Equal
              rhs: {(DQ ($ Id.VSub_DollarName '$GIT_TEXTDOMAINDIR'))}
              spids: [47]
            )
          ]
        )
      ]
    )
    (C {<export>} {<TEXTDOMAINDIR>})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:GIT_INTERNAL_GETTEXT_SH_SCHEME)
          op: assign_op.Equal
          rhs: {<fallthrough>}
          spids: [62]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: (condition.Shell commands:[(C {<test>} {<-n>} {(DQ <'@@USE_GETTEXT_SCHEME@@'>)})])
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:GIT_INTERNAL_GETTEXT_SH_SCHEME)
                  op: assign_op.Equal
                  rhs: {(DQ <'@@USE_GETTEXT_SCHEME@@'>)}
                  spids: [78]
                )
              ]
            )
          ]
          spids: [65 75]
        )
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (C {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName '$GIT_INTERNAL_GETTEXT_TEST_FALLBACKS'))})
              ]
            )
          action: [(C {<Id.Lit_Colon ':'>} {<no>} {<probing>} {<necessary>})]
          spids: [83 93]
        )
        (if_arm
          cond: 
            (condition.Shell
              commands: [(C {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName '$GIT_GETTEXT_POISON'))})]
            )
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:GIT_INTERNAL_GETTEXT_SH_SCHEME)
                  op: assign_op.Equal
                  rhs: {<poison>}
                  spids: [117]
                )
              ]
            )
          ]
          spids: [104 114]
        )
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Simple
                  words: [{<type>} {<gettext.sh>}]
                  redirects: [
                    (redir
                      op: <Id.Redir_Great '>'>
                      loc: (redir_loc.Fd fd:1)
                      arg: {<'/dev/null'>}
                    )
                    (redir
                      op: <Id.Redir_GreatAnd '2>&'>
                      loc: (redir_loc.Fd fd:2)
                      arg: {<1>}
                    )
                  ]
                  do_fork: T
                )
              ]
            )
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:GIT_INTERNAL_GETTEXT_SH_SCHEME)
                  op: assign_op.Equal
                  rhs: {<gnu>}
                  spids: [139]
                )
              ]
            )
          ]
          spids: [120 132]
        )
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (C {<test>} 
                  {
                    (DQ 
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Simple
                            words: [{<gettext>} {<-h>}]
                            redirects: [
                              (redir
                                op: <Id.Redir_GreatAnd '2>&'>
                                loc: (redir_loc.Fd fd:2)
                                arg: {<1>}
                              )
                            ]
                            do_fork: T
                          )
                      )
                    )
                  } {<Id.Lit_Equals '='>} {(DQ <-h>)}
                )
              ]
            )
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:GIT_INTERNAL_GETTEXT_SH_SCHEME)
                  op: assign_op.Equal
                  rhs: {<gettext_without_eval_gettext>}
                  spids: [178]
                )
              ]
            )
          ]
          spids: [142 163]
        )
      ]
    )
    (C {<export>} {<GIT_INTERNAL_GETTEXT_SH_SCHEME>})
    (command.Case
      to_match: {(DQ ($ Id.VSub_DollarName '$GIT_INTERNAL_GETTEXT_SH_SCHEME'))}
      arms: [
        (case_arm
          pat_list: [{<gnu>}]
          action: [(C {<.>} {<gettext.sh>})]
          spids: [199 200 212 -1]
        )
        (case_arm
          pat_list: [{<gettext_without_eval_gettext>}]
          action: [
            (command.ShFunction
              name: eval_gettext
              body: 
                (BraceGroup
                  children: [
                    (command.Pipeline
                      children: [
                        (C {<gettext>} {(DQ ($ Id.VSub_Number '$1'))})
                        (command.Subshell
                          child: 
                            (command.CommandList
                              children: [
                                (command.Sentence
                                  child: 
                                    (C {<export>} {<PATH>} 
                                      {
                                        (command_sub
                                          left_token: <Id.Left_DollarParen '$('>
                                          child: 
                                            (C {<git>} {<sh-i18n--envsubst>} {<--variables>} 
                                              {(DQ ($ Id.VSub_Number '$1'))}
                                            )
                                        )
                                      }
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                                (C {<git>} {<sh-i18n--envsubst>} {(DQ ($ Id.VSub_Number '$1'))})
                              ]
                            )
                        )
                      ]
                      negated: F
                    )
                  ]
                )
            )
            (command.ShFunction
              name: eval_ngettext
              body: 
                (BraceGroup
                  children: [
                    (command.Pipeline
                      children: [
                        (C {<ngettext>} {(DQ ($ Id.VSub_Number '$1'))} {(DQ ($ Id.VSub_Number '$2'))} 
                          {(DQ ($ Id.VSub_Number '$3'))}
                        )
                        (command.Subshell
                          child: 
                            (command.CommandList
                              children: [
                                (command.Sentence
                                  child: 
                                    (C {<export>} {<PATH>} 
                                      {
                                        (command_sub
                                          left_token: <Id.Left_DollarParen '$('>
                                          child: 
                                            (C {<git>} {<sh-i18n--envsubst>} {<--variables>} 
                                              {(DQ ($ Id.VSub_Number '$2'))}
                                            )
                                        )
                                      }
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                                (C {<git>} {<sh-i18n--envsubst>} {(DQ ($ Id.VSub_Number '$2'))})
                              ]
                            )
                        )
                      ]
                      negated: F
                    )
                  ]
                )
            )
          ]
          spids: [214 215 335 -1]
        )
        (case_arm
          pat_list: [{<poison>}]
          action: [
            (command.ShFunction
              name: gettext
              body: 
                (BraceGroup
                  children: [(C {<printf>} {(DQ <'%s'>)} {(DQ <'# GETTEXT POISON #'>)})]
                )
            )
            (command.ShFunction
              name: eval_gettext
              body: 
                (BraceGroup
                  children: [(C {<printf>} {(DQ <'%s'>)} {(DQ <'# GETTEXT POISON #'>)})]
                )
            )
            (command.ShFunction
              name: eval_ngettext
              body: 
                (BraceGroup
                  children: [(C {<printf>} {(DQ <'%s'>)} {(DQ <'# GETTEXT POISON #'>)})]
                )
            )
          ]
          spids: [337 338 417 -1]
        )
        (case_arm
          pat_list: [{<Id.Lit_Star '*'>}]
          action: [
            (command.ShFunction
              name: gettext
              body: 
                (BraceGroup
                  children: [(C {<printf>} {(DQ <'%s'>)} {(DQ ($ Id.VSub_Number '$1'))})]
                )
            )
            (command.ShFunction
              name: eval_gettext
              body: 
                (BraceGroup
                  children: [
                    (command.Pipeline
                      children: [
                        (C {<printf>} {(DQ <'%s'>)} {(DQ ($ Id.VSub_Number '$1'))})
                        (command.Subshell
                          child: 
                            (command.CommandList
                              children: [
                                (command.Sentence
                                  child: 
                                    (C {<export>} {<PATH>} 
                                      {
                                        (command_sub
                                          left_token: <Id.Left_DollarParen '$('>
                                          child: 
                                            (C {<git>} {<sh-i18n--envsubst>} {<--variables>} 
                                              {(DQ ($ Id.VSub_Number '$1'))}
                                            )
                                        )
                                      }
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                                (C {<git>} {<sh-i18n--envsubst>} {(DQ ($ Id.VSub_Number '$1'))})
                              ]
                            )
                        )
                      ]
                      negated: F
                    )
                  ]
                )
            )
            (command.ShFunction
              name: eval_ngettext
              body: 
                (BraceGroup
                  children: [
                    (command.Pipeline
                      children: [
                        (command.Subshell
                          child: 
                            (command.AndOr
                              ops: [Id.Op_DAmp Id.Op_DPipe]
                              children: [
                                (C {<test>} {(DQ ($ Id.VSub_Number '$3'))} {<Id.Lit_Equals '='>} {<1>})
                                (C {<printf>} {(DQ <'%s'>)} {(DQ ($ Id.VSub_Number '$1'))})
                                (C {<printf>} {(DQ <'%s'>)} {(DQ ($ Id.VSub_Number '$2'))})
                              ]
                            )
                        )
                        (command.Subshell
                          child: 
                            (command.CommandList
                              children: [
                                (command.Sentence
                                  child: 
                                    (C {<export>} {<PATH>} 
                                      {
                                        (command_sub
                                          left_token: <Id.Left_DollarParen '$('>
                                          child: 
                                            (C {<git>} {<sh-i18n--envsubst>} {<--variables>} 
                                              {(DQ ($ Id.VSub_Number '$2'))}
                                            )
                                        )
                                      }
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                                (C {<git>} {<sh-i18n--envsubst>} {(DQ ($ Id.VSub_Number '$2'))})
                              ]
                            )
                        )
                      ]
                      negated: F
                    )
                  ]
                )
            )
          ]
          spids: [419 420 585 -1]
        )
      ]
    )
    (command.ShFunction
      name: gettextln
      body: (BraceGroup children:[(C {<gettext>} {(DQ ($ Id.VSub_Number '$1'))}) (C {<echo>})])
    )
    (command.ShFunction
      name: eval_gettextln
      body: (BraceGroup children:[(C {<eval_gettext>} {(DQ ($ Id.VSub_Number '$1'))}) (C {<echo>})])
    )
  ]
)