(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: (Token id:Id.Op_Semi val:';' span_id:49)
            )
          ]
          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: (Token id:Id.Op_Semi val:';' span_id:77)
            )
          ]
          action: [
            (command.Simple
              words: [
                {(echo)}
                {
                  (DQ ('Usage: ') ($ Id.VSub_Number '$0') 
                    (' [quote_string(> )] response_level(starting at 0) line_width')
                  )
                }
              ]
              redirects: [
                (redir.Redir
                  op: (Token id:Id.Redir_GreatAnd val:'>&' span_id:90)
                  fd: -1
                  arg_word: {(2)}
                )
              ]
            )
            (command.ControlFlow
              token: (Token id:Id.ControlFlow_Exit val:exit span_id:94)
              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: (Token id:Id.Left_Backtick val:'`' span_id:105)
                command_list: 
                  (command.CommandList
                    children: [
                      (C {(expr)} {($ Id.VSub_Number '$2')} {(-)} {($ Id.VSub_Number '$1')} 
                        {
                          (word_part.EscapedLiteral
                            token: (Token id:Id.Lit_EscapedChar val:'\\*' span_id:118)
                          )
                        } {(braced_var_sub token:(Token id:Id.VSub_Name val:QUOTE span_id:122) 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: (Token id:Id.Op_Semi val:';' span_id:138)
            )
          ]
          action: [
            (command.Simple
              words: [
                {(echo)}
                {
                  (DQ ('Aborting as line length will be less than ') 
                    ($ Id.VSub_DollarName '$MIN_TEXT_LEN')
                  )
                }
              ]
              redirects: [
                (redir.Redir
                  op: (Token id:Id.Redir_GreatAnd val:'>&' span_id:150)
                  fd: -1
                  arg_word: {(2)}
                )
              ]
            )
            (command.ControlFlow
              token: (Token id:Id.ControlFlow_Exit val:exit span_id:154)
              arg_word: {(1)}
            )
          ]
          spids: [127 140]
        )
      ]
    )
    (command.ForEach
      iter_name: i
      iter_words: [
        {
          (command_sub
            left_token: (Token id:Id.Left_Backtick val:'`' span_id:167)
            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: (Token id:Id.Left_Backtick val:'`' span_id:190)
                command_list: 
                  (command.CommandList
                    children: [
                      (command.Pipeline
                        children: [
                          (C {(echo)} {(DQ ($ Id.VSub_DollarName '$RESPONSE_DELIM'))})
                          (C {(sed)} {(SQ (Token id:Id.Lit_Chars val:'s/[ ]*$//' span_id:204))})
                        ]
                        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: (Token id:Id.Left_Backtick val:'`' span_id:213)
                command_list: 
                  (command.CommandList
                    children: [
                      (command.Pipeline
                        children: [
                          (C {(echo)} {(DQ ($ Id.VSub_DollarName '$QUOTE'))})
                          (C {(tr)} {(-d)} {(SQ (Token id:Id.Lit_Chars val:' ' span_id:229))})
                        ]
                        negated: F
                      )
                    ]
                  )
              )
            }
          spids: [212]
        )
      ]
    )
    (command.Pipeline
      children: [
        (C {(tr)} {(-ds)} 
          {
            (DQ ($ Id.VSub_DollarName '$QUOTE_DEL') 
              (word_part.EscapedLiteral
                token: (Token id:Id.Lit_EscapedChar val:'\\\\' span_id:239)
              ) (n)
            )
          } {(SQ (Token id:Id.Lit_Chars val:' ' span_id:244))}
        )
        (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
    )
  ]
)