(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LeftVar name:SAVEDFILE)
          rhs: {(/var/lib/urandom/random-seed)}
          spids: [58]
        )
      ]
      spids: [58]
    )
    (AndOr
      children: [(C {(Lit_Other "[")} {(-c)} {(/dev/urandom)} {(Lit_Other "]")}) (C {(exit)} {(0)})]
      op_id: Op_DPipe
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LeftVar name:PATH) rhs:{(/sbin) (Lit_Other ":") (/bin)} spids:[77])]
      spids: [77]
    )
    (If
      arms: [
        (if_arm
          cond: 
            (Sentence
              command: 
                (Pipeline
                  children: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LeftVar name:POOLBYTES)
                          rhs: 
                            {
                              (ArithSubPart
                                anode: 
                                  (ArithBinary
                                    op_id: Arith_Slash
                                    left: 
                                      (ArithBinary
                                        op_id: Arith_Plus
                                        left: 
                                          (ArithWord
                                            w: 
                                              {
                                                (CommandSubPart
                                                  command_list: 
                                                    (SimpleCommand
                                                      words: [
                                                        {(cat)}
                                                        {(/proc/sys/kernel/random/poolsize)}
                                                      ]
                                                      redirects: [
                                                        (Redirect
                                                          op_id: Redir_Great
                                                          arg_word: {(/dev/null)}
                                                          fd: 2
                                                          spids: [96]
                                                        )
                                                      ]
                                                    )
                                                  spids: [91 98]
                                                )
                                              }
                                          )
                                        right: (ArithWord w:{(Lit_Digits 7)})
                                      )
                                    right: (ArithWord w:{(Lit_Digits 8)})
                                  )
                                spids: [87 110]
                              )
                            }
                          spids: [86]
                        )
                      ]
                      spids: [86]
                    )
                  ]
                  negated: True
                )
              terminator: <Op_Semi ";">
            )
          action: 
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LeftVar name:POOLBYTES) rhs:{(512)} spids:[117])]
              spids: [117]
            )
          spids: [-1 114]
        )
      ]
      spids: [-1 120]
    )
    (C {(.)} {(/lib/init/vars.sh)})
    (C {(.)} {(/lib/lsb/init-functions)})
    (FuncDef
      name: do_status
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: 
                    (Sentence
                      command: 
                        (C {(Lit_Other "[")} {(-f)} {($ VSub_Name "$SAVEDFILE")} {(Lit_Other "]")})
                      terminator: <Op_Semi ";">
                    )
                  action: (C {(return)} {(0)})
                  spids: [-1 152]
                )
              ]
              else_action: (C {(return)} {(4)})
              spids: [160 168]
            )
          ]
          spids: [137]
        )
      spids: [132 136]
    )
    (Case
      to_match: {(DQ ($ VSub_Number "$1"))}
      arms: [
        (case_arm
          pat_list: [{(start)} {(DQ )}]
          action: 
            (CommandList
              children: [
                (AndOr
                  children: [
                    (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$VERBOSE"))} {(Lit_Other "=")} {(no)} 
                      {(Lit_Other "]")}
                    )
                    (C {(log_action_begin_msg)} {(DQ ("Initializing random number generator"))})
                  ]
                  op_id: Op_DPipe
                )
                (Subshell
                  children: [
                    (CommandList
                      children: [
                        (C {(date)} {(Lit_Other "+") (Lit_Other "%") (s.) (Lit_Other "%") (N)})
                        (If
                          arms: [
                            (if_arm
                              cond: 
                                (C {(Lit_Other "[")} {(-f)} {(DQ ($ VSub_Name "$SAVEDFILE"))} 
                                  {(Lit_Other "]")}
                                )
                              action: (C {(cat)} {(DQ ($ VSub_Name "$SAVEDFILE"))})
                              spids: [-1 272]
                            )
                          ]
                          spids: [-1 282]
                        )
                      ]
                    )
                  ]
                  redirects: [
                    (Redirect
                      op_id: Redir_Great
                      arg_word: {(/dev/urandom)}
                      fd: -1
                      spids: [303]
                    )
                  ]
                  spids: [238 301]
                )
                (C {(umask)} {(077)})
                (SimpleCommand
                  words: [
                    {(dd)}
                    {(Lit_VarLike "if=") (/dev/urandom)}
                    {(Lit_VarLike "of=") ($ VSub_Name "$SAVEDFILE")}
                    {(Lit_VarLike "bs=") ($ VSub_Name "$POOLBYTES")}
                    {(Lit_VarLike "count=") (1)}
                  ]
                  redirects: [
                    (Redirect
                      op_id: Redir_Great
                      arg_word: {(/dev/null)}
                      fd: -1
                      spids: [355]
                    )
                    (Redirect
                      op_id: Redir_GreatAnd
                      arg_word: {(1)}
                      fd: 2
                      spids: [358]
                    )
                  ]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [(assign_pair lhs:(LeftVar name:ES) rhs:{($ VSub_QMark "$?")} spids:[362])]
                  spids: [362]
                )
                (C {(umask)} {(022)})
                (AndOr
                  children: [
                    (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$VERBOSE"))} {(Lit_Other "=")} {(no)} 
                      {(Lit_Other "]")}
                    )
                    (C {(log_action_end_msg)} {($ VSub_Name "$ES")})
                  ]
                  op_id: Op_DPipe
                )
              ]
            )
          spids: [182 186 390 -1]
        )
        (case_arm
          pat_list: [{(stop)}]
          action: 
            (CommandList
              children: [
                (AndOr
                  children: [
                    (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$VERBOSE"))} {(Lit_Other "=")} {(no)} 
                      {(Lit_Other "]")}
                    )
                    (C {(log_action_begin_msg)} {(DQ ("Saving random seed"))})
                  ]
                  op_id: Op_DPipe
                )
                (C {(umask)} {(077)})
                (SimpleCommand
                  words: [
                    {(dd)}
                    {(Lit_VarLike "if=") (/dev/urandom)}
                    {(Lit_VarLike "of=") ($ VSub_Name "$SAVEDFILE")}
                    {(Lit_VarLike "bs=") ($ VSub_Name "$POOLBYTES")}
                    {(Lit_VarLike "count=") (1)}
                  ]
                  redirects: [
                    (Redirect
                      op_id: Redir_Great
                      arg_word: {(/dev/null)}
                      fd: -1
                      spids: [453]
                    )
                    (Redirect
                      op_id: Redir_GreatAnd
                      arg_word: {(1)}
                      fd: 2
                      spids: [456]
                    )
                  ]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [(assign_pair lhs:(LeftVar name:ES) rhs:{($ VSub_QMark "$?")} spids:[460])]
                  spids: [460]
                )
                (AndOr
                  children: [
                    (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$VERBOSE"))} {(Lit_Other "=")} {(no)} 
                      {(Lit_Other "]")}
                    )
                    (C {(log_action_end_msg)} {($ VSub_Name "$ES")})
                  ]
                  op_id: Op_DPipe
                )
              ]
            )
          spids: [393 394 483 -1]
        )
        (case_arm
          pat_list: [{(status)}]
          action: (CommandList children:[(C {(do_status)})(C {(exit)} {($ VSub_QMark "$?")})])
          spids: [486 487 498 -1]
        )
        (case_arm
          pat_list: [{(restart)} {(reload)} {(force-reload)}]
          action: 
            (CommandList
              children: [
                (SimpleCommand
                  words: [{(echo)} {(DQ ("Error: argument '") ($ VSub_Number "$1") ("' not supported"))}]
                  redirects: [(Redirect op_id:Redir_GreatAnd arg_word:{(2)} fd:-1 spids:[517])]
                )
                (C {(exit)} {(3)})
              ]
            )
          spids: [501 506 526 -1]
        )
        (case_arm
          pat_list: [{(Lit_Other "*")}]
          action: 
            (CommandList
              children: [
                (SimpleCommand
                  words: [{(echo)} {(DQ ("Usage: urandom start|stop"))}]
                  redirects: [(Redirect op_id:Redir_GreatAnd arg_word:{(2)} fd:-1 spids:[539])]
                )
                (C {(exit)} {(3)})
              ]
            )
          spids: [529 530 548 -1]
        )
      ]
      spids: [173 179 550]
    )
    (C {(Lit_Other ":")})
  ]
)