(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:QUOTE)
          op: assign_op.Equal
          rhs: {(DQ <'> '>)}
          spids: [28]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:MIN_TEXT_LEN)
          op: assign_op.Equal
          rhs: {<8>}
          spids: [33]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {<Id.Lit_LBracket '['>} {($ Id.VSub_Pound '$#')} 
                  {<Id.Lit_Equals '='> <Id.Lit_Equals '='>} {<3>} {<Id.Lit_RBracket ']'>}
                )
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:QUOTE)
                  op: assign_op.Equal
                  rhs: {(DQ ($ Id.VSub_Number '$1'))}
                  spids: [54]
                )
              ]
            )
            (C {<shift>})
          ]
          spids: [37 51]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {<Id.Lit_LBracket '['>} {($ Id.VSub_Pound '$#')} 
                  {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<2>} {<Id.Lit_RBracket ']'>}
                )
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [
            (command.Simple
              words: [
                {<echo>}
                {
                  (DQ <'Usage: '> ($ Id.VSub_Number '$0') 
                    <' [quote_string(> )] response_level(starting at 0) line_width'>
                  )
                }
              ]
              redirects: [(redir.Redir op:<Id.Redir_GreatAnd '>&'> fd:-1 arg_word:{<2>})]
            )
            (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})
          ]
          spids: [65 79]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:RESPONSE_LEVEL)
          op: assign_op.Equal
          rhs: {($ Id.VSub_Number '$1')}
          spids: [101]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:TEXT_WIDTH)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_Backtick '`'>
                command_list: 
                  (command.CommandList
                    children: [
                      (C {<expr>} {($ Id.VSub_Number '$2')} {<->} {($ Id.VSub_Number '$1')} 
                        {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\*'>)} {(braced_var_sub token:<Id.VSub_Name QUOTE> prefix_op:(Id.VSub_Pound))}
                      )
                    ]
                  )
              )
            }
          spids: [104]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName '$TEXT_WIDTH')} {<-lt>} 
                  {($ Id.VSub_DollarName '$MIN_TEXT_LEN')} {<Id.Lit_RBracket ']'>}
                )
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [
            (command.Simple
              words: [
                {<echo>}
                {
                  (DQ <'Aborting as line length will be less than '> 
                    ($ Id.VSub_DollarName '$MIN_TEXT_LEN')
                  )
                }
              ]
              redirects: [(redir.Redir op:<Id.Redir_GreatAnd '>&'> fd:-1 arg_word:{<2>})]
            )
            (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})
          ]
          spids: [127 140]
        )
      ]
    )
    (command.ForEach
      iter_name: i
      iter_words: [
        {
          (command_sub
            left_token: <Id.Left_Backtick '`'>
            command_list: 
              (command.CommandList
                children: [(C {<seq>} {<1>} {($ Id.VSub_DollarName '$RESPONSE_LEVEL')})]
              )
          )
        }
      ]
      do_arg_iter: F
      body: 
        (command.DoGroup
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:RESPONSE_DELIM)
                  op: assign_op.Equal
                  rhs: {(DQ ($ Id.VSub_DollarName '$RESPONSE_DELIM') ($ Id.VSub_DollarName '$QUOTE'))}
                  spids: [181]
                )
              ]
            )
          ]
        )
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:RESPONSE_DELIM)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_Backtick '`'>
                command_list: 
                  (command.CommandList
                    children: [
                      (command.Pipeline
                        children: [
                          (C {<echo>} {(DQ ($ Id.VSub_DollarName '$RESPONSE_DELIM'))})
                          (C {<sed>} {(SQ <'s/[ ]*$//'>)})
                        ]
                        negated: F
                      )
                    ]
                  )
              )
            }
          spids: [189]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:QUOTE_DEL)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_Backtick '`'>
                command_list: 
                  (command.CommandList
                    children: [
                      (command.Pipeline
                        children: [
                          (C {<echo>} {(DQ ($ Id.VSub_DollarName '$QUOTE'))})
                          (C {<tr>} {<-d>} {(SQ <' '>)})
                        ]
                        negated: F
                      )
                    ]
                  )
              )
            }
          spids: [212]
        )
      ]
    )
    (command.Pipeline
      children: [
        (C {<tr>} {<-ds>} 
          {
            (DQ ($ Id.VSub_DollarName '$QUOTE_DEL') 
              (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) <n>
            )
          } {(SQ <' '>)}
        )
        (C {<fmt>} {<-w> ($ Id.VSub_DollarName '$TEXT_WIDTH')})
        (C {<sed>} {<-e>} 
          {
            (DQ <'s/^[ ]*'> <Id.Lit_Other '\\'> <'(.*'> <Id.Lit_Other '\\'> <')/'> 
              ($ Id.VSub_DollarName '$RESPONSE_DELIM') <' '> <Id.Lit_Other '\\'> <1/>
            )
          }
        )
      ]
      negated: F
    )
  ]
)