(command.CommandList
  children: [
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:LANG)
                  op: assign_op.Equal
                  rhs: {<C>}
                  spids: [109]
                )
              ]
            )
          terminator: <Id.Op_Semi _>
        )
        (C {<export>} {<LANG>})
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:LC_ALL)
                  op: assign_op.Equal
                  rhs: {<C>}
                  spids: [117]
                )
              ]
            )
          terminator: <Id.Op_Semi _>
        )
        (C {<export>} {<LC_ALL>})
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:LC_CTYPE)
                  op: assign_op.Equal
                  rhs: {<C>}
                  spids: [125]
                )
              ]
            )
          terminator: <Id.Op_Semi _>
        )
        (C {<export>} {<LC_CTYPE>})
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:LANGUAGE)
                  op: assign_op.Equal
                  rhs: {<C>}
                  spids: [133]
                )
              ]
            )
          terminator: <Id.Op_Semi _>
        )
        (C {<export>} {<LANGUAGE>})
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:SOURCE)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_Number '$1')}
                  spids: [142]
                )
              ]
            )
          terminator: <Id.Op_Semi _>
        )
        (C {<shift>})
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:TARGET)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_Number '$1')}
                  spids: [148]
                )
              ]
            )
          terminator: <Id.Op_Semi _>
        )
        (C {<shift>})
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:BINARY)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_Number '$1')}
                  spids: [154]
                )
              ]
            )
          terminator: <Id.Op_Semi _>
        )
        (C {<shift>})
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:PACKAGE)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_Number '$1')}
                  spids: [160]
                )
              ]
            )
          terminator: <Id.Op_Semi _>
        )
        (C {<shift>})
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:CHR_LEAD)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_Backtick '`'>
                child: 
                  (command.Pipeline
                    children: [
                      (C {<echo>} {(DQ ($ Id.VSub_DollarName '$BINARY'))})
                      (C {<sed>} {<-e>} {(SQ <'s/^\\(.\\).*/\\1/'>)})
                    ]
                    negated: F
                  )
              )
            }
          spids: [167]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:CHR_TAIL)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_Backtick '`'>
                child: 
                  (command.Pipeline
                    children: [
                      (C {<echo>} {(DQ ($ Id.VSub_DollarName '$BINARY'))})
                      (C {<sed>} {<-e>} {(SQ <'s/^.//'>)})
                    ]
                    negated: F
                  )
              )
            }
          spids: [194]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:ONE_CAPS)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_Backtick '`'>
                child: 
                  (command.Pipeline
                    children: [
                      (C {<echo>} {($ Id.VSub_DollarName '$CHR_LEAD')})
                      (C {<tr>} {(SQ <'[a-z]'>)} {(SQ <'[A-Z]'>)})
                    ]
                    negated: F
                  )
              ) ($ Id.VSub_DollarName '$CHR_TAIL')
            }
          spids: [215]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:ALL_CAPS)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_Backtick '`'>
                child: 
                  (command.Pipeline
                    children: [
                      (C {<echo>} {(DQ ($ Id.VSub_DollarName '$BINARY'))})
                      (C {<tr>} {(SQ <'[a-z]'>)} {(SQ <'[A-Z]'>)})
                    ]
                    negated: F
                  )
              )
            }
          spids: [237]
        )
      ]
    )
    (command.Simple
      words: [
        {<sed>}
        {<-e>}
        {
          (DQ <'s,^'> <Id.Lit_BadBackslash '\\'> <'.ds p dialog'> <Id.Lit_BadBackslash '\\'> <'>,.ds p '> 
            ($ Id.VSub_DollarName '$BINARY') <','>
          )
        }
        {<-e>}
        {
          (DQ <'s,^'> <Id.Lit_BadBackslash '\\'> <'.ds l dialog'> <Id.Lit_BadBackslash '\\'> <'>,.ds l '> 
            ($ Id.VSub_DollarName '$PACKAGE') <','>
          )
        }
        {<-e>}
        {
          (DQ <'s,^'> <Id.Lit_BadBackslash '\\'> <'.ds L Dialog'> <Id.Lit_BadBackslash '\\'> <'>,.ds L '> 
            ($ Id.VSub_DollarName '$ONE_CAPS') <','>
          )
        }
        {<-e>}
        {
          (DQ <'s,^'> <Id.Lit_BadBackslash '\\'> <'.ds D DIALOG'> <Id.Lit_BadBackslash '\\'> <'>,.ds D '> 
            ($ Id.VSub_DollarName '$ALL_CAPS') <','>
          )
        }
        {<-e>}
        {(SQ <'s,^dialog \\\\- ,'>) (DQ ($ Id.VSub_DollarName '$PACKAGE')) (SQ <' \\\\- ,'>)}
      ]
      redirects: [
        (redir
          op: <Id.Redir_Less '<'>
          loc: (redir_loc.Fd fd:0)
          arg: {($ Id.VSub_DollarName '$SOURCE')}
        )
        (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<source.tmp>})
      ]
      do_fork: T
    )
    (C {(DQ ($ Id.VSub_At '$@'))} {<source.tmp>} {($ Id.VSub_DollarName '$TARGET')})
    (C {<rm>} {<-f>} {<source.tmp>})
  ]
)