(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:DAEMON)
          op: assign_op.Equal
          rhs: {(/usr/sbin/cups-browsed)}
          spids: [55]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:NAME)
          op: assign_op.Equal
          rhs: {(cups-browsed)}
          spids: [58]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:PIDFILE)
          op: assign_op.Equal
          rhs: {(/var/run/cups/) ($ Id.VSub_DollarName '$NAME') (.pid)}
          spids: [61]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:DESC)
          op: assign_op.Equal
          rhs: {(DQ ('CUPS Bonjour daemon'))}
          spids: [66]
        )
      ]
    )
    (C {(unset)} {(TMPDIR)})
    (command.AndOr
      ops: [Id.Op_DPipe]
      children: [
        (C {(test)} {(-x)} {($ Id.VSub_DollarName '$DAEMON')})
        (command.ControlFlow
          token: (Token id:Id.ControlFlow_Exit val:exit span_id:85)
          arg_word: {(0)}
        )
      ]
    )
    (C {(.)} {(/lib/lsb/init-functions)})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:SSD_OPTIONS)
          op: assign_op.Equal
          rhs: {(DQ ('--quiet --pidfile ') ($ Id.VSub_DollarName '$PIDFILE') (' --make-pidfile'))}
          spids: [95]
        )
      ]
    )
    (command.Case
      to_match: {(DQ ($ Id.VSub_Number '$1'))}
      arms: [
        (case_arm
          pat_list: [{(start)}]
          action: [
            (C {(log_begin_msg)} 
              {
                (DQ ('Starting ') ($ Id.VSub_DollarName '$DESC') (': ') ($ Id.VSub_DollarName '$NAME'))
              }
            )
            (C {(mkdir)} {(-p)} 
              {
                (command_sub
                  left_token: (Token id:Id.Left_Backtick val:'`' span_id:131)
                  command_list: 
                    (command.CommandList
                      children: [(C {(dirname)} {(DQ ($ Id.VSub_DollarName '$PIDFILE'))})]
                    )
                )
              }
            )
            (C {(start-stop-daemon)} {(--start)} {(--oknodo)} {(--background)} 
              {($ Id.VSub_DollarName '$SSD_OPTIONS')} {(--exec)} {($ Id.VSub_DollarName '$DAEMON')}
            )
            (C {(log_end_msg)} {($ Id.VSub_QMark '$?')})
          ]
          spids: [112 113 162 -1]
        )
        (case_arm
          pat_list: [{(stop)}]
          action: [
            (C {(log_begin_msg)} 
              {
                (DQ ('Stopping ') ($ Id.VSub_DollarName '$DESC') (': ') ($ Id.VSub_DollarName '$NAME'))
              }
            )
            (C {(start-stop-daemon)} {(--stop)} {(--retry)} {(5)} {(--oknodo)} 
              {($ Id.VSub_DollarName '$SSD_OPTIONS')} {(--name)} {($ Id.VSub_DollarName '$NAME')}
            )
            (C {(log_end_msg)} {($ Id.VSub_QMark '$?')})
            (C {(rm)} {(-f)} {($ Id.VSub_DollarName '$PIDFILE')})
          ]
          spids: [165 166 208 -1]
        )
        (case_arm
          pat_list: [{(restart)} {(force-reload)}]
          action: [
            (C {(log_begin_msg)} 
              {
                (DQ ('Restarting ') ($ Id.VSub_DollarName '$DESC') (': ') ($ Id.VSub_DollarName '$NAME'))
              }
            )
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (C {(start-stop-daemon)} {(--stop)} {(--retry)} {(5)} {(--oknodo)} 
                          {($ Id.VSub_DollarName '$SSD_OPTIONS')} {(--name)} {($ Id.VSub_DollarName '$NAME')}
                        )
                      terminator: (Token id:Id.Op_Semi val:';' span_id:244)
                    )
                  ]
                  action: [
                    (C {(start-stop-daemon)} {(--start)} {(--background)} 
                      {($ Id.VSub_DollarName '$SSD_OPTIONS')} {(--exec)} {($ Id.VSub_DollarName '$DAEMON')}
                    )
                  ]
                  spids: [227 246]
                )
              ]
            )
            (C {(log_end_msg)} {($ Id.VSub_QMark '$?')})
          ]
          spids: [211 214 270 -1]
        )
        (case_arm
          pat_list: [{(status)}]
          action: [
            (command.AndOr
              ops: [Id.Op_DAmp Id.Op_DPipe]
              children: [
                (C {(status_of_proc)} {(DQ ($ Id.VSub_DollarName '$DAEMON'))} 
                  {(DQ ($ Id.VSub_DollarName '$NAME'))}
                )
                (command.ControlFlow
                  token: (Token id:Id.ControlFlow_Exit val:exit span_id:289)
                  arg_word: {(0)}
                )
                (command.ControlFlow
                  token: (Token id:Id.ControlFlow_Exit val:exit span_id:295)
                  arg_word: {($ Id.VSub_QMark '$?')}
                )
              ]
            )
          ]
          spids: [273 274 300 -1]
        )
        (case_arm
          pat_list: [{(Id.Lit_Star '*')}]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:N)
                  op: assign_op.Equal
                  rhs: 
                    {(/etc/init.d/) 
                      (braced_var_sub
                        token: (Token id:Id.VSub_Number val:0 span_id:310)
                        suffix_op: 
                          (suffix_op.Unary
                            op_id: Id.VOp1_DPound
                            arg_word: {('*') (Id.Lit_Slash /)}
                          )
                      )
                    }
                  spids: [307]
                )
              ]
            )
            (command.Simple
              words: [
                {(echo)}
                {
                  (DQ ('Usage: ') ($ Id.VSub_DollarName '$N') 
                    (' {start|stop|force-reload|restart|status}')
                  )
                }
              ]
              redirects: [
                (redir.Redir
                  op: (Token id:Id.Redir_GreatAnd val:'>&' span_id:325)
                  fd: -1
                  arg_word: {(2)}
                )
              ]
            )
            (command.ControlFlow
              token: (Token id:Id.ControlFlow_Exit val:exit span_id:329)
              arg_word: {(1)}
            )
          ]
          spids: [303 304 334 -1]
        )
      ]
    )
    (command.ControlFlow token:(Token id:Id.ControlFlow_Exit val:exit span_id:339) arg_word:{(0)})
  ]
)