(command.CommandList
  children: [
    (command.AndOr
      ops: [Id.Op_DPipe]
      children: [
        (C {(Id.Lit_LBracket '[')} {(Id.KW_Bang '!')} {(-f)} {(/etc/init/lxc-android-config.conf)} 
          {(Id.Lit_RBracket ']')}
        )
        (command.ControlFlow
          token: (Token id:Id.ControlFlow_Exit val:exit span_id:43)
          arg_word: {(0)}
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:PATH)
          op: assign_op.Equal
          rhs: 
            {(/sbin) (Id.Lit_Other ':') (/usr/sbin) (Id.Lit_Other ':') (/bin) (Id.Lit_Other ':') 
              (/usr/bin)
            }
          spids: [48]
        )
      ]
    )
    (C {(.)} {(/lib/init/vars.sh)})
    (C {(.)} {(/lib/lsb/init-functions)})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:AVAILABLE)
          op: assign_op.Equal
          rhs: {(DQ (/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors))}
          spids: [67]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:DOWN_FACTOR)
          op: assign_op.Equal
          rhs: {(DQ (/sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor))}
          spids: [72]
        )
      ]
    )
    (command.Case
      to_match: {(DQ ($ Id.VSub_Number '$1'))}
      arms: [
        (case_arm
          pat_list: [{(start)}]
          action: [
            (C {(start-stop-daemon)} {(--start)} {(--background)} {(--exec)} {(/etc/init.d/ondemand)} 
              {(--)} {(background)}
            )
          ]
          spids: [87 88 106 -1]
        )
        (case_arm
          pat_list: [{(background)}]
          action: [
            (C {(sleep)} {(60)})
            (command.AndOr
              ops: [Id.Op_DPipe]
              children: [
                (C {(Id.Lit_LBracket '[')} {(-f)} {($ Id.VSub_DollarName '$AVAILABLE')} 
                  {(Id.Lit_RBracket ']')}
                )
                (command.ControlFlow
                  token: (Token id:Id.ControlFlow_Exit val:exit span_id:132)
                  arg_word: {(0)}
                )
              ]
            )
            (command.Simple
              words: [{(read)} {(governors)}]
              redirects: [
                (redir.Redir
                  op: (Token id:Id.Redir_Less val:'<' span_id:141)
                  fd: -1
                  arg_word: {($ Id.VSub_DollarName '$AVAILABLE')}
                )
              ]
            )
            (command.Case
              to_match: {($ Id.VSub_DollarName '$governors')}
              arms: [
                (case_arm
                  pat_list: [{(Id.Lit_Star '*') (interactive) (Id.Lit_Star '*')}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:GOVERNOR)
                          op: assign_op.Equal
                          rhs: {(DQ (interactive))}
                          spids: [159]
                        )
                      ]
                    )
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Break val:break span_id:165)
                    )
                  ]
                  spids: [153 156 168 -1]
                )
                (case_arm
                  pat_list: [{(Id.Lit_Star '*') (ondemand) (Id.Lit_Star '*')}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:GOVERNOR)
                          op: assign_op.Equal
                          rhs: {(DQ (ondemand))}
                          spids: [177]
                        )
                      ]
                    )
                    (command.Case
                      to_match: 
                        {
                          (command_sub
                            left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:185)
                            command_list: (command.CommandList children:[(C {(uname)} {(-m)})])
                          )
                        }
                      arms: [
                        (case_arm
                          pat_list: [{(ppc64) (Id.Lit_Star '*')}]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:SAMPLING)
                                  op: assign_op.Equal
                                  rhs: {(100)}
                                  spids: [199]
                                )
                              ]
                            )
                          ]
                          spids: [194 196 203 -1]
                        )
                      ]
                    )
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Break val:break span_id:209)
                    )
                  ]
                  spids: [171 174 212 -1]
                )
                (case_arm
                  pat_list: [{(Id.Lit_Star '*') (powersave) (Id.Lit_Star '*')}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:GOVERNOR)
                          op: assign_op.Equal
                          rhs: {(DQ (powersave))}
                          spids: [221]
                        )
                      ]
                    )
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Break val:break span_id:227)
                    )
                  ]
                  spids: [215 218 230 -1]
                )
                (case_arm
                  pat_list: [{(Id.Lit_Star '*')}]
                  action: [
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Exit val:exit span_id:237)
                      arg_word: {(0)}
                    )
                  ]
                  spids: [233 234 242 -1]
                )
              ]
            )
            (command.ForEach
              iter_name: CPUFREQ
              iter_words: [
                {(/sys/devices/system/cpu/cpu) (Id.Lit_Star '*') (/cpufreq/scaling_governor)}
              ]
              do_arg_iter: F
              body: 
                (command.DoGroup
                  children: [
                    (command.AndOr
                      ops: [Id.Op_DPipe]
                      children: [
                        (C {(Id.Lit_LBracket '[')} {(-f)} {($ Id.VSub_DollarName '$CPUFREQ')} 
                          {(Id.Lit_RBracket ']')}
                        )
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Continue val:continue span_id:273)
                        )
                      ]
                    )
                    (command.Simple
                      words: [{(echo)} {(-n)} {($ Id.VSub_DollarName '$GOVERNOR')}]
                      redirects: [
                        (redir.Redir
                          op: (Token id:Id.Redir_Great val:'>' span_id:282)
                          fd: -1
                          arg_word: {($ Id.VSub_DollarName '$CPUFREQ')}
                        )
                      ]
                    )
                  ]
                )
            )
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (command.AndOr
                          ops: [Id.Op_DAmp]
                          children: [
                            (C {(Id.Lit_LBracket '[')} {(-n)} {(DQ ($ Id.VSub_DollarName '$SAMPLING'))} 
                              {(Id.Lit_RBracket ']')}
                            )
                            (C {(Id.Lit_LBracket '[')} {(-f)} {($ Id.VSub_DollarName '$DOWN_FACTOR')} 
                              {(Id.Lit_RBracket ']')}
                            )
                          ]
                        )
                      terminator: (Token id:Id.Op_Semi val:';' span_id:311)
                    )
                  ]
                  action: [
                    (command.Simple
                      words: [{(echo)} {(-n)} {($ Id.VSub_DollarName '$SAMPLING')}]
                      redirects: [
                        (redir.Redir
                          op: (Token id:Id.Redir_Great val:'>' span_id:322)
                          fd: -1
                          arg_word: {($ Id.VSub_DollarName '$DOWN_FACTOR')}
                        )
                      ]
                    )
                  ]
                  spids: [290 313]
                )
              ]
            )
          ]
          spids: [109 110 330 -1]
        )
        (case_arm
          pat_list: [{(restart)} {(reload)} {(force-reload)}]
          action: [
            (command.Simple
              words: [{(echo)} {(DQ ("Error: argument '") ($ Id.VSub_Number '$1') ("' not supported"))}]
              redirects: [
                (redir.Redir
                  op: (Token id:Id.Redir_GreatAnd val:'>&' span_id:349)
                  fd: -1
                  arg_word: {(2)}
                )
              ]
            )
            (command.ControlFlow
              token: (Token id:Id.ControlFlow_Exit val:exit span_id:353)
              arg_word: {(3)}
            )
          ]
          spids: [333 338 358 -1]
        )
        (case_arm pat_list:[{(stop)}] spids:[361 362 365 -1])
        (case_arm
          pat_list: [{(Id.Lit_Star '*')}]
          action: [
            (command.Simple
              words: [{(echo)} {(DQ ('Usage: ') ($ Id.VSub_Number '$0') (' start|stop'))}]
              redirects: [
                (redir.Redir
                  op: (Token id:Id.Redir_GreatAnd val:'>&' span_id:380)
                  fd: -1
                  arg_word: {(2)}
                )
              ]
            )
            (command.ControlFlow
              token: (Token id:Id.ControlFlow_Exit val:exit span_id:384)
              arg_word: {(3)}
            )
          ]
          spids: [368 369 389 -1]
        )
      ]
    )
  ]
)