(command.CommandList
  children: [
    (command.ShAssignment
      left: <Id.Lit_VarLike 'TEXTDOMAIN='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'TEXTDOMAIN='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TEXTDOMAIN='> name:TEXTDOMAIN)
          op: assign_op.Equal
          rhs: {<git>}
        )
      ]
      redirects: []
    )
    (command.Simple
      blame_tok: <export>
      more_env: []
      words: [{<export>} {<TEXTDOMAIN>}]
      redirects: []
      do_fork: T
    )
    (command.If
      if_kw: <Id.KW_If if>
      arms: [
        (IfArm
          keyword: <Id.KW_If if>
          cond: 
            (condition.Shell
              commands: [
                (command.Simple
                  blame_tok: <test>
                  more_env: []
                  words: [{<test>} {<-z>} {(DQ ($ Id.VSub_DollarName GIT_TEXTDOMAINDIR))}]
                  redirects: []
                  do_fork: T
                )
              ]
            )
          then_kw: <Id.KW_Then then>
          action: [
            (command.ShAssignment
              left: <Id.Lit_VarLike 'TEXTDOMAINDIR='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'TEXTDOMAINDIR='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TEXTDOMAINDIR='> name:TEXTDOMAINDIR)
                  op: assign_op.Equal
                  rhs: {(DQ <'@@LOCALEDIR@@'>)}
                )
              ]
              redirects: []
            )
          ]
          spids: [26 36]
        )
      ]
      else_kw: <Id.KW_Else else>
      else_action: [
        (command.ShAssignment
          left: <Id.Lit_VarLike 'TEXTDOMAINDIR='>
          pairs: [
            (AssignPair
              left: <Id.Lit_VarLike 'TEXTDOMAINDIR='>
              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TEXTDOMAINDIR='> name:TEXTDOMAINDIR)
              op: assign_op.Equal
              rhs: {(DQ ($ Id.VSub_DollarName GIT_TEXTDOMAINDIR))}
            )
          ]
          redirects: []
        )
      ]
      fi_kw: <Id.KW_Fi fi>
      redirects: []
    )
    (command.Simple
      blame_tok: <export>
      more_env: []
      words: [{<export>} {<TEXTDOMAINDIR>}]
      redirects: []
      do_fork: T
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'GIT_INTERNAL_GETTEXT_SH_SCHEME='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'GIT_INTERNAL_GETTEXT_SH_SCHEME='>
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'GIT_INTERNAL_GETTEXT_SH_SCHEME='>
              name: GIT_INTERNAL_GETTEXT_SH_SCHEME
            )
          op: assign_op.Equal
          rhs: {<fallthrough>}
        )
      ]
      redirects: []
    )
    (command.If
      if_kw: <Id.KW_If if>
      arms: [
        (IfArm
          keyword: <Id.KW_If if>
          cond: 
            (condition.Shell
              commands: [
                (command.Simple
                  blame_tok: <test>
                  more_env: []
                  words: [{<test>} {<-n>} {(DQ <'@@USE_GETTEXT_SCHEME@@'>)}]
                  redirects: []
                  do_fork: T
                )
              ]
            )
          then_kw: <Id.KW_Then then>
          action: [
            (command.ShAssignment
              left: <Id.Lit_VarLike 'GIT_INTERNAL_GETTEXT_SH_SCHEME='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'GIT_INTERNAL_GETTEXT_SH_SCHEME='>
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'GIT_INTERNAL_GETTEXT_SH_SCHEME='>
                      name: GIT_INTERNAL_GETTEXT_SH_SCHEME
                    )
                  op: assign_op.Equal
                  rhs: {(DQ <'@@USE_GETTEXT_SCHEME@@'>)}
                )
              ]
              redirects: []
            )
          ]
          spids: [65 75]
        )
        (IfArm
          keyword: <Id.KW_Elif elif>
          cond: 
            (condition.Shell
              commands: [
                (command.Simple
                  blame_tok: <test>
                  more_env: []
                  words: [
                    {<test>}
                    {<-n>}
                    {(DQ ($ Id.VSub_DollarName GIT_INTERNAL_GETTEXT_TEST_FALLBACKS))}
                  ]
                  redirects: []
                  do_fork: T
                )
              ]
            )
          then_kw: <Id.KW_Then then>
          action: [
            (command.Simple
              blame_tok: <Id.Lit_Colon ':'>
              more_env: []
              words: [{<Id.Lit_Colon ':'>} {<no>} {<probing>} {<necessary>}]
              redirects: []
              do_fork: T
            )
          ]
          spids: [83 93]
        )
        (IfArm
          keyword: <Id.KW_Elif elif>
          cond: 
            (condition.Shell
              commands: [
                (command.Simple
                  blame_tok: <test>
                  more_env: []
                  words: [{<test>} {<-n>} {(DQ ($ Id.VSub_DollarName GIT_GETTEXT_POISON))}]
                  redirects: []
                  do_fork: T
                )
              ]
            )
          then_kw: <Id.KW_Then then>
          action: [
            (command.ShAssignment
              left: <Id.Lit_VarLike 'GIT_INTERNAL_GETTEXT_SH_SCHEME='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'GIT_INTERNAL_GETTEXT_SH_SCHEME='>
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'GIT_INTERNAL_GETTEXT_SH_SCHEME='>
                      name: GIT_INTERNAL_GETTEXT_SH_SCHEME
                    )
                  op: assign_op.Equal
                  rhs: {<poison>}
                )
              ]
              redirects: []
            )
          ]
          spids: [104 114]
        )
        (IfArm
          keyword: <Id.KW_Elif elif>
          cond: 
            (condition.Shell
              commands: [
                (command.Simple
                  blame_tok: <type>
                  more_env: []
                  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
                )
              ]
            )
          then_kw: <Id.KW_Then then>
          action: [
            (command.ShAssignment
              left: <Id.Lit_VarLike 'GIT_INTERNAL_GETTEXT_SH_SCHEME='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'GIT_INTERNAL_GETTEXT_SH_SCHEME='>
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'GIT_INTERNAL_GETTEXT_SH_SCHEME='>
                      name: GIT_INTERNAL_GETTEXT_SH_SCHEME
                    )
                  op: assign_op.Equal
                  rhs: {<gnu>}
                )
              ]
              redirects: []
            )
          ]
          spids: [120 132]
        )
        (IfArm
          keyword: <Id.KW_Elif elif>
          cond: 
            (condition.Shell
              commands: [
                (command.Simple
                  blame_tok: <test>
                  more_env: []
                  words: [
                    {<test>}
                    {
                      (DQ 
                        (CommandSub
                          left_token: <Id.Left_DollarParen '$('>
                          child: 
                            (command.Simple
                              blame_tok: <gettext>
                              more_env: []
                              words: [{<gettext>} {<-h>}]
                              redirects: [
                                (Redir
                                  op: <Id.Redir_GreatAnd '2>&'>
                                  loc: (redir_loc.Fd fd:2)
                                  arg: {<1>}
                                )
                              ]
                              do_fork: T
                            )
                          right: <Id.Eof_RParen _>
                        )
                      )
                    }
                    {<Id.Lit_Equals '='>}
                    {(DQ <-h>)}
                  ]
                  redirects: []
                  do_fork: T
                )
              ]
            )
          then_kw: <Id.KW_Then then>
          action: [
            (command.ShAssignment
              left: <Id.Lit_VarLike 'GIT_INTERNAL_GETTEXT_SH_SCHEME='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'GIT_INTERNAL_GETTEXT_SH_SCHEME='>
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'GIT_INTERNAL_GETTEXT_SH_SCHEME='>
                      name: GIT_INTERNAL_GETTEXT_SH_SCHEME
                    )
                  op: assign_op.Equal
                  rhs: {<gettext_without_eval_gettext>}
                )
              ]
              redirects: []
            )
          ]
          spids: [142 163]
        )
      ]
      else_action: []
      fi_kw: <Id.KW_Fi fi>
      redirects: []
    )
    (command.Simple
      blame_tok: <export>
      more_env: []
      words: [{<export>} {<GIT_INTERNAL_GETTEXT_SH_SCHEME>}]
      redirects: []
      do_fork: T
    )
    (command.Case
      case_kw: <Id.KW_Case case>
      to_match: (case_arg.Word w:{(DQ ($ Id.VSub_DollarName GIT_INTERNAL_GETTEXT_SH_SCHEME))})
      arms_start: <Id.KW_In in>
      arms: [
        (CaseArm
          left: <gnu>
          pattern: (pat.Words words:[{<gnu>}])
          middle: <Id.Right_CasePat _>
          action: [
            (command.Simple
              blame_tok: <.>
              more_env: []
              words: [{<.>} {<gettext.sh>}]
              redirects: []
              do_fork: T
            )
          ]
          right: <Id.Op_DSemi _>
        )
        (CaseArm
          left: <gettext_without_eval_gettext>
          pattern: (pat.Words words:[{<gettext_without_eval_gettext>}])
          middle: <Id.Right_CasePat _>
          action: [
            (command.ShFunction
              name_tok: <eval_gettext>
              name: eval_gettext
              body: 
                (BraceGroup
                  left: <Id.Lit_LBrace '{'>
                  children: [
                    (command.Pipeline
                      children: [
                        (command.Simple
                          blame_tok: <gettext>
                          more_env: []
                          words: [{<gettext>} {(DQ ($ Id.VSub_Number 1))}]
                          redirects: []
                          do_fork: T
                        )
                        (command.Subshell
                          left: <Id.Op_LParen _>
                          child: 
                            (command.CommandList
                              children: [
                                (command.Sentence
                                  child: 
                                    (command.Simple
                                      blame_tok: <export>
                                      more_env: []
                                      words: [
                                        {<export>}
                                        {<PATH>}
                                        {
                                          (CommandSub
                                            left_token: <Id.Left_DollarParen '$('>
                                            child: 
                                              (command.Simple
                                                blame_tok: <git>
                                                more_env: []
                                                words: [
                                                  {<git>}
                                                  {<sh-i18n--envsubst>}
                                                  {<--variables>}
                                                  {(DQ ($ Id.VSub_Number 1))}
                                                ]
                                                redirects: []
                                                do_fork: T
                                              )
                                            right: <Id.Eof_RParen _>
                                          )
                                        }
                                      ]
                                      redirects: []
                                      do_fork: T
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                                (command.Simple
                                  blame_tok: <git>
                                  more_env: []
                                  words: [{<git>} {<sh-i18n--envsubst>} {(DQ ($ Id.VSub_Number 1))}]
                                  redirects: []
                                  do_fork: T
                                )
                              ]
                            )
                          right: <Id.Right_Subshell _>
                          redirects: []
                        )
                      ]
                      ops: [<Id.Op_Pipe _>]
                    )
                  ]
                  redirects: []
                  right: <Id.Lit_RBrace '}'>
                )
            )
            (command.ShFunction
              name_tok: <eval_ngettext>
              name: eval_ngettext
              body: 
                (BraceGroup
                  left: <Id.Lit_LBrace '{'>
                  children: [
                    (command.Pipeline
                      children: [
                        (command.Simple
                          blame_tok: <ngettext>
                          more_env: []
                          words: [
                            {<ngettext>}
                            {(DQ ($ Id.VSub_Number 1))}
                            {(DQ ($ Id.VSub_Number 2))}
                            {(DQ ($ Id.VSub_Number 3))}
                          ]
                          redirects: []
                          do_fork: T
                        )
                        (command.Subshell
                          left: <Id.Op_LParen _>
                          child: 
                            (command.CommandList
                              children: [
                                (command.Sentence
                                  child: 
                                    (command.Simple
                                      blame_tok: <export>
                                      more_env: []
                                      words: [
                                        {<export>}
                                        {<PATH>}
                                        {
                                          (CommandSub
                                            left_token: <Id.Left_DollarParen '$('>
                                            child: 
                                              (command.Simple
                                                blame_tok: <git>
                                                more_env: []
                                                words: [
                                                  {<git>}
                                                  {<sh-i18n--envsubst>}
                                                  {<--variables>}
                                                  {(DQ ($ Id.VSub_Number 2))}
                                                ]
                                                redirects: []
                                                do_fork: T
                                              )
                                            right: <Id.Eof_RParen _>
                                          )
                                        }
                                      ]
                                      redirects: []
                                      do_fork: T
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                                (command.Simple
                                  blame_tok: <git>
                                  more_env: []
                                  words: [{<git>} {<sh-i18n--envsubst>} {(DQ ($ Id.VSub_Number 2))}]
                                  redirects: []
                                  do_fork: T
                                )
                              ]
                            )
                          right: <Id.Right_Subshell _>
                          redirects: []
                        )
                      ]
                      ops: [<Id.Op_Pipe _>]
                    )
                  ]
                  redirects: []
                  right: <Id.Lit_RBrace '}'>
                )
            )
          ]
          right: <Id.Op_DSemi _>
        )
        (CaseArm
          left: <poison>
          pattern: (pat.Words words:[{<poison>}])
          middle: <Id.Right_CasePat _>
          action: [
            (command.ShFunction
              name_tok: <gettext>
              name: gettext
              body: 
                (BraceGroup
                  left: <Id.Lit_LBrace '{'>
                  children: [
                    (command.Simple
                      blame_tok: <printf>
                      more_env: []
                      words: [{<printf>} {(DQ <'%s'>)} {(DQ <'# GETTEXT POISON #'>)}]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  redirects: []
                  right: <Id.Lit_RBrace '}'>
                )
            )
            (command.ShFunction
              name_tok: <eval_gettext>
              name: eval_gettext
              body: 
                (BraceGroup
                  left: <Id.Lit_LBrace '{'>
                  children: [
                    (command.Simple
                      blame_tok: <printf>
                      more_env: []
                      words: [{<printf>} {(DQ <'%s'>)} {(DQ <'# GETTEXT POISON #'>)}]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  redirects: []
                  right: <Id.Lit_RBrace '}'>
                )
            )
            (command.ShFunction
              name_tok: <eval_ngettext>
              name: eval_ngettext
              body: 
                (BraceGroup
                  left: <Id.Lit_LBrace '{'>
                  children: [
                    (command.Simple
                      blame_tok: <printf>
                      more_env: []
                      words: [{<printf>} {(DQ <'%s'>)} {(DQ <'# GETTEXT POISON #'>)}]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  redirects: []
                  right: <Id.Lit_RBrace '}'>
                )
            )
          ]
          right: <Id.Op_DSemi _>
        )
        (CaseArm
          left: <Id.Lit_Star '*'>
          pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
          middle: <Id.Right_CasePat _>
          action: [
            (command.ShFunction
              name_tok: <gettext>
              name: gettext
              body: 
                (BraceGroup
                  left: <Id.Lit_LBrace '{'>
                  children: [
                    (command.Simple
                      blame_tok: <printf>
                      more_env: []
                      words: [{<printf>} {(DQ <'%s'>)} {(DQ ($ Id.VSub_Number 1))}]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  redirects: []
                  right: <Id.Lit_RBrace '}'>
                )
            )
            (command.ShFunction
              name_tok: <eval_gettext>
              name: eval_gettext
              body: 
                (BraceGroup
                  left: <Id.Lit_LBrace '{'>
                  children: [
                    (command.Pipeline
                      children: [
                        (command.Simple
                          blame_tok: <printf>
                          more_env: []
                          words: [{<printf>} {(DQ <'%s'>)} {(DQ ($ Id.VSub_Number 1))}]
                          redirects: []
                          do_fork: T
                        )
                        (command.Subshell
                          left: <Id.Op_LParen _>
                          child: 
                            (command.CommandList
                              children: [
                                (command.Sentence
                                  child: 
                                    (command.Simple
                                      blame_tok: <export>
                                      more_env: []
                                      words: [
                                        {<export>}
                                        {<PATH>}
                                        {
                                          (CommandSub
                                            left_token: <Id.Left_DollarParen '$('>
                                            child: 
                                              (command.Simple
                                                blame_tok: <git>
                                                more_env: []
                                                words: [
                                                  {<git>}
                                                  {<sh-i18n--envsubst>}
                                                  {<--variables>}
                                                  {(DQ ($ Id.VSub_Number 1))}
                                                ]
                                                redirects: []
                                                do_fork: T
                                              )
                                            right: <Id.Eof_RParen _>
                                          )
                                        }
                                      ]
                                      redirects: []
                                      do_fork: T
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                                (command.Simple
                                  blame_tok: <git>
                                  more_env: []
                                  words: [{<git>} {<sh-i18n--envsubst>} {(DQ ($ Id.VSub_Number 1))}]
                                  redirects: []
                                  do_fork: T
                                )
                              ]
                            )
                          right: <Id.Right_Subshell _>
                          redirects: []
                        )
                      ]
                      ops: [<Id.Op_Pipe _>]
                    )
                  ]
                  redirects: []
                  right: <Id.Lit_RBrace '}'>
                )
            )
            (command.ShFunction
              name_tok: <eval_ngettext>
              name: eval_ngettext
              body: 
                (BraceGroup
                  left: <Id.Lit_LBrace '{'>
                  children: [
                    (command.Pipeline
                      children: [
                        (command.Subshell
                          left: <Id.Op_LParen _>
                          child: 
                            (command.AndOr
                              children: [
                                (command.Simple
                                  blame_tok: <test>
                                  more_env: []
                                  words: [
                                    {<test>}
                                    {(DQ ($ Id.VSub_Number 3))}
                                    {<Id.Lit_Equals '='>}
                                    {<1>}
                                  ]
                                  redirects: []
                                  do_fork: T
                                )
                                (command.Simple
                                  blame_tok: <printf>
                                  more_env: []
                                  words: [{<printf>} {(DQ <'%s'>)} {(DQ ($ Id.VSub_Number 1))}]
                                  redirects: []
                                  do_fork: T
                                )
                                (command.Simple
                                  blame_tok: <printf>
                                  more_env: []
                                  words: [{<printf>} {(DQ <'%s'>)} {(DQ ($ Id.VSub_Number 2))}]
                                  redirects: []
                                  do_fork: T
                                )
                              ]
                              ops: [<Id.Op_DAmp _> <Id.Op_DPipe _>]
                            )
                          right: <Id.Right_Subshell _>
                          redirects: []
                        )
                        (command.Subshell
                          left: <Id.Op_LParen _>
                          child: 
                            (command.CommandList
                              children: [
                                (command.Sentence
                                  child: 
                                    (command.Simple
                                      blame_tok: <export>
                                      more_env: []
                                      words: [
                                        {<export>}
                                        {<PATH>}
                                        {
                                          (CommandSub
                                            left_token: <Id.Left_DollarParen '$('>
                                            child: 
                                              (command.Simple
                                                blame_tok: <git>
                                                more_env: []
                                                words: [
                                                  {<git>}
                                                  {<sh-i18n--envsubst>}
                                                  {<--variables>}
                                                  {(DQ ($ Id.VSub_Number 2))}
                                                ]
                                                redirects: []
                                                do_fork: T
                                              )
                                            right: <Id.Eof_RParen _>
                                          )
                                        }
                                      ]
                                      redirects: []
                                      do_fork: T
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                                (command.Simple
                                  blame_tok: <git>
                                  more_env: []
                                  words: [{<git>} {<sh-i18n--envsubst>} {(DQ ($ Id.VSub_Number 2))}]
                                  redirects: []
                                  do_fork: T
                                )
                              ]
                            )
                          right: <Id.Right_Subshell _>
                          redirects: []
                        )
                      ]
                      ops: [<Id.Op_Pipe _>]
                    )
                  ]
                  redirects: []
                  right: <Id.Lit_RBrace '}'>
                )
            )
          ]
          right: <Id.Op_DSemi _>
        )
      ]
      arms_end: <Id.KW_Esac esac>
      redirects: []
    )
    (command.ShFunction
      name_tok: <gettextln>
      name: gettextln
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <gettext>
              more_env: []
              words: [{<gettext>} {(DQ ($ Id.VSub_Number 1))}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <echo>
              more_env: []
              words: [{<echo>}]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name_tok: <eval_gettextln>
      name: eval_gettextln
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <eval_gettext>
              more_env: []
              words: [{<eval_gettext>} {(DQ ($ Id.VSub_Number 1))}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <echo>
              more_env: []
              words: [{<echo>}]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
  ]
)