(BraceGroup
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:INPUT) op:Equal rhs:{(0)} spids:[75])]
      spids: [75]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (DBracket
                  expr: 
                    (BoolBinary
                      op_id: BoolBinary_EqualTilde
                      left: {($ VSub_Number '$1')}
                      right: 
                        {(Lit_Other '^') (-) (Lit_Other '?') (Lit_Other '[') (0-9) (Lit_Other ']') 
                          (Lit_Other '+') (Lit_Other '$')
                        }
                    )
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:INPUT)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [102]
                )
              ]
              spids: [102]
            )
          ]
          spids: [16777215 99]
        )
      ]
      spids: [16777215 106]
    )
    (C {(.)} {(/DietPi/dietpi/func/dietpi-globals)})
    (C {(G_CHECK_ROOT_USER)})
    (C {(export)} {(Lit_VarLike 'G_PROGRAM_NAME=') (SQ <DietPi-Cloudshell>)})
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:DIETPI_CLOUDSHELL_VERSION)
          op: Equal
          rhs: {(9)}
          spids: [139]
        )
      ]
      spids: [139]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:FP_TEMP)
          op: Equal
          rhs: {(DQ (/tmp/dietpi-cloudshell))}
          spids: [148]
        )
      ]
      spids: [148]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:PROGRAM_NAME)
          op: Equal
          rhs: {(DQ (DietPi-Cloudshell))}
          spids: [155]
        )
      ]
      spids: [155]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:BLANK_SCREEN_ACTIVE) op:Equal rhs:{(0)} spids:[162])]
      spids: [162]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:BLANK_SCREEN_AT_SPECIFIC_TIME_ENABLED)
          op: Equal
          rhs: {(0)}
          spids: [166]
        )
      ]
      spids: [166]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:BLANK_SCREEN_TIME_HOUR_START)
          op: Equal
          rhs: {(0)}
          spids: [170]
        )
      ]
      spids: [170]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:BLANK_SCREEN_TIME_HOUR_END)
          op: Equal
          rhs: {(0)}
          spids: [174]
        )
      ]
      spids: [174]
    )
    (FuncDef
      name: RUN_BLANK_SCREEN_AT_SPECIFIC_TIME
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:current_hour)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(date)} {(Lit_Other '+') (Lit_Other '%') (-H)})]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [193 199]
                      )
                    }
                  spids: [192]
                )
              ]
              spids: [190]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithUnary
                              op_id: Arith_Bang
                              child: (ArithWord w:{($ VSub_Name '$BLANK_SCREEN_ACTIVE')})
                            )
                          spids: [209 216]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: 
                                        (ArithWord
                                          w: {($ VSub_Name '$BLANK_SCREEN_TIME_HOUR_START')}
                                        )
                                      right: (ArithWord w:{($ VSub_Name '$current_hour')})
                                    )
                                  spids: [225 234]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(clear)})
                            (C {(echo)} {(-e)} 
                              {
                                (DQ (Lit_Other '\\') (n) (Lit_Other '\\') 
                                  ('nScreen will be powered down in under 1 minute') (Lit_Other '\\') (n)
                                )
                              }
                            )
                            (SimpleCommand
                              words: [{(setterm)} {(--blank)} {(1)} {(--powersave)} {(on)}]
                              redirects: [
                                (Redir
                                  op: <Redir_AndGreat '&>'>
                                  fd: 16777215
                                  arg_word: {(/dev/tty1)}
                                )
                              ]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:BLANK_SCREEN_ACTIVE)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [275]
                                )
                              ]
                              spids: [275]
                            )
                          ]
                          spids: [16777215 237]
                        )
                      ]
                      spids: [16777215 279]
                    )
                  ]
                  spids: [16777215 219]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$BLANK_SCREEN_TIME_HOUR_END')})
                              right: (ArithWord w:{($ VSub_Name '$current_hour')})
                            )
                          spids: [289 298]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(setterm)} {(--blank)} {(poke)}]
                      redirects: [(Redir op:<Redir_AndGreat '&>'> fd:16777215 arg_word:{(/dev/tty1)})]
                    )
                    (SimpleCommand
                      words: [{(setterm)} {(--reset)}]
                      redirects: [(Redir op:<Redir_AndGreat '&>'> fd:16777215 arg_word:{(/dev/tty1)})]
                    )
                    (SimpleCommand
                      words: [{(setterm)} {(--blank)} {(0)} {(--powersave)} {(off)}]
                      redirects: [(Redir op:<Redir_AndGreat '&>'> fd:16777215 arg_word:{(/dev/tty1)})]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:BLANK_SCREEN_ACTIVE)
                          op: Equal
                          rhs: {(0)}
                          spids: [339]
                        )
                      ]
                      spids: [339]
                    )
                  ]
                  spids: [287 301]
                )
              ]
              spids: [16777215 344]
            )
          ]
          spids: [186]
        )
      spids: [183 186]
    )
    (FuncDef
      name: BC_ADD_LEADING_ZERO
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:return_value)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [369]
                )
              ]
              spids: [367]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name return_value>
                                suffix_op: 
                                  (Slice
                                    begin: (ArithWord w:{(Lit_Digits 0)})
                                    length: (ArithWord w:{(Lit_Digits 1)})
                                  )
                                spids: [387 393]
                              )
                            )
                          } {(Lit_Other '=')} {(DQ (.))} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:return_value)
                          op: Equal
                          rhs: {(DQ (0) ($ VSub_Name '$return_value'))}
                          spids: [408]
                        )
                      ]
                      spids: [408]
                    )
                  ]
                  spids: [16777215 405]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name return_value>
                                suffix_op: 
                                  (Slice
                                    begin: (ArithWord w:{(Lit_Digits 0)})
                                    length: (ArithWord w:{(Lit_Digits 2)})
                                  )
                                spids: [425 431]
                              )
                            )
                          } {(Lit_Other '=')} {(DQ (-.))} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:return_value)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(echo)} {(-e)} {(DQ ($ VSub_Name '$return_value'))})
                                          (C {(sed)} {(SQ <'s/^-./-0./'>)})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [447 463]
                              )
                            }
                          spids: [446]
                        )
                      ]
                      spids: [446]
                    )
                  ]
                  spids: [420 443]
                )
              ]
              spids: [16777215 466]
            )
            (C {(echo)} {(DQ ($ VSub_Name '$return_value'))})
          ]
          spids: [359]
        )
      spids: [356 359]
    )
    (FuncDef
      name: BYTE_PRINT_CONVERSION
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:return_value) op:Equal rhs:{(0)} spids:[495])]
              spids: [493]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:decimal_count) op:Equal rhs:{(1)} spids:[501])]
              spids: [499]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_Less
                              left: (ArithWord w:{($ VSub_Number '$1')})
                              right: (ArithWord w:{(Lit_Digits 1048576)})
                            )
                          spids: [517 526]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:return_value)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (Pipeline
                                          children: [
                                            (C {(echo)} 
                                              {
                                                (DQ ('scale=') ($ VSub_Name '$decimal_count') ('; ') 
                                                  ($ VSub_Number '$1') (' / 1024')
                                                )
                                              }
                                            )
                                            (C {(bc)} {(-l)})
                                          ]
                                          negated: F
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [538 555]
                                ) (' KB')
                              )
                            }
                          spids: [536]
                        )
                      ]
                      spids: [536]
                    )
                  ]
                  spids: [16777215 529]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_Less
                              left: (ArithWord w:{($ VSub_Number '$1')})
                              right: (ArithWord w:{(Lit_Digits 1073741824)})
                            )
                          spids: [567 576]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:return_value)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (Pipeline
                                          children: [
                                            (C {(echo)} 
                                              {
                                                (DQ ('scale=') ($ VSub_Name '$decimal_count') ('; ') 
                                                  ($ VSub_Number '$1') (' / 1024 / 1024')
                                                )
                                              }
                                            )
                                            (C {(bc)} {(-l)})
                                          ]
                                          negated: F
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [588 605]
                                ) (' MB')
                              )
                            }
                          spids: [586]
                        )
                      ]
                      spids: [586]
                    )
                  ]
                  spids: [565 579]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:return_value)
                      op: Equal
                      rhs: 
                        {
                          (DQ 
                            (CommandSubPart
                              command_list: 
                                (CommandList
                                  children: [
                                    (Pipeline
                                      children: [
                                        (C {(echo)} 
                                          {
                                            (DQ ('scale=') ($ VSub_Name '$decimal_count') ('; ') 
                                              ($ VSub_Number '$1') (' / 1024 / 1024 / 1024')
                                            )
                                          }
                                        )
                                        (C {(bc)} {(-l)})
                                      ]
                                      negated: F
                                    )
                                  ]
                                )
                              left_token: <Left_CommandSub '$('>
                              spids: [624 641]
                            ) (' GB')
                          )
                        }
                      spids: [622]
                    )
                  ]
                  spids: [622]
                )
              ]
              spids: [615 647]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:return_value)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(BC_ADD_LEADING_ZERO)} {(DQ ($ VSub_Name '$return_value'))})]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [656 662]
                      )
                    }
                  spids: [655]
                )
              ]
              spids: [655]
            )
            (C {(echo)} {(DQ ($ VSub_Name '$return_value'))})
          ]
          spids: [489]
        )
      spids: [486 489]
    )
    (FuncDef
      name: BIT_PRINT_CONVERSION
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:return_value) op:Equal rhs:{(0)} spids:[699])]
              spids: [697]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:decimal_count) op:Equal rhs:{(1)} spids:[705])]
              spids: [703]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_Less
                              left: (ArithWord w:{($ VSub_Number '$1')})
                              right: (ArithWord w:{(Lit_Digits 1000000)})
                            )
                          spids: [721 730]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:return_value)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (Pipeline
                                          children: [
                                            (C {(echo)} 
                                              {
                                                (DQ ('scale=') ($ VSub_Name '$decimal_count') ('; ') 
                                                  ($ VSub_Number '$1') (' * 8 / 1000')
                                                )
                                              }
                                            )
                                            (C {(bc)} {(-l)})
                                          ]
                                          negated: F
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [742 758]
                                ) (' Kbit')
                              )
                            }
                          spids: [740]
                        )
                      ]
                      spids: [740]
                    )
                  ]
                  spids: [16777215 733]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_Less
                              left: (ArithWord w:{($ VSub_Number '$1')})
                              right: (ArithWord w:{(Lit_Digits 1000000000)})
                            )
                          spids: [770 779]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:return_value)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (Pipeline
                                          children: [
                                            (C {(echo)} 
                                              {
                                                (DQ ('scale=') ($ VSub_Name '$decimal_count') ('; ') 
                                                  ($ VSub_Number '$1') ('  * 8 / 1000 / 1000')
                                                )
                                              }
                                            )
                                            (C {(bc)} {(-l)})
                                          ]
                                          negated: F
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [791 807]
                                ) (' Mbit')
                              )
                            }
                          spids: [789]
                        )
                      ]
                      spids: [789]
                    )
                  ]
                  spids: [768 782]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:return_value)
                      op: Equal
                      rhs: 
                        {
                          (DQ 
                            (CommandSubPart
                              command_list: 
                                (CommandList
                                  children: [
                                    (Pipeline
                                      children: [
                                        (C {(echo)} 
                                          {
                                            (DQ ('scale=') ($ VSub_Name '$decimal_count') ('; ') 
                                              ($ VSub_Number '$1') (' * 8 / 1000 / 1000 / 1000')
                                            )
                                          }
                                        )
                                        (C {(bc)} {(-l)})
                                      ]
                                      negated: F
                                    )
                                  ]
                                )
                              left_token: <Left_CommandSub '$('>
                              spids: [826 842]
                            ) (' Gbit')
                          )
                        }
                      spids: [824]
                    )
                  ]
                  spids: [824]
                )
              ]
              spids: [817 848]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:return_value)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(BC_ADD_LEADING_ZERO)} {(DQ ($ VSub_Name '$return_value'))})]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [857 863]
                      )
                    }
                  spids: [856]
                )
              ]
              spids: [856]
            )
            (C {(echo)} {(DQ ($ VSub_Name '$return_value'))})
          ]
          spids: [693]
        )
      spids: [690 693]
    )
    (FuncDef
      name: Enable_Term_Options
      body: 
        (BraceGroup
          children: [
            (C {(setfont)} {(/usr/share/consolefonts/Uni3-TerminusBold32x16)})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_Less
                              left: 
                                (ArithWord
                                  w: 
                                    {
                                      (CommandSubPart
                                        command_list: (CommandList children:[(C {(tput)} {(lines)})])
                                        left_token: <Left_CommandSub '$('>
                                        spids: [908 912]
                                      )
                                    }
                                )
                              right: (ArithWord w:{(Lit_Digits 10)})
                            )
                          spids: [906 919]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(setfont)} {(/usr/share/consolefonts/Uni3-TerminusBold24x12.psf)})]
                  spids: [16777215 922]
                )
              ]
              spids: [16777215 932]
            )
          ]
          spids: [886]
        )
      spids: [883 886]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:C_RESET)
          op: Equal
          rhs: {(DQ (Lit_Other '\\') ('e[0m'))}
          spids: [952]
        )
      ]
      spids: [952]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:C_REVERSE)
          op: Equal
          rhs: {(DQ (Lit_Other '\\') ('e[7m'))}
          spids: [959]
        )
      ]
      spids: [959]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:C_BOLD)
          op: Equal
          rhs: {(DQ (Lit_Other '\\') ('e[1m'))}
          spids: [971]
        )
      ]
      spids: [971]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:aCOLOUR)
          op: Equal
          rhs: 
            {
              (ArrayLiteralPart
                words: [
                  {(DQ (Lit_Other '\\') ('e[39m'))}
                  {(DQ (Lit_Other '\\') ('e[31m'))}
                  {(DQ (Lit_Other '\\') ('e[32m'))}
                  {(DQ (Lit_Other '\\') ('e[33m'))}
                  {(DQ (Lit_Other '\\') ('e[34m'))}
                  {(DQ (Lit_Other '\\') ('e[35m'))}
                  {(DQ (Lit_Other '\\') ('e[36m'))}
                  {(DQ (Lit_Other '\\') ('e[93m'))}
                ]
              )
            }
          spids: [1015]
        )
      ]
      spids: [1015]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:USER_COLOUR_INDEX) op:Equal rhs:{(3)} spids:[1075])]
      spids: [1075]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:C_PERCENT_GRAPH) op:Equal rhs:{(0)} spids:[1080])]
      spids: [1080]
    )
    (FuncDef
      name: Percent_To_Graph
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:input_value)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(echo)} {($ VSub_Number '$1')})
                                  (C {(cut)} {(-d.)} {(-f1)})
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [1107 1119]
                      )
                    }
                  spids: [1106]
                )
              ]
              spids: [1104]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_Great
                              left: (ArithWord w:{($ VSub_Name '$input_value')})
                              right: (ArithWord w:{(Lit_Digits 100)})
                            )
                          spids: [1129 1138]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:input_value)
                          op: Equal
                          rhs: {(100)}
                          spids: [1144]
                        )
                      ]
                      spids: [1144]
                    )
                  ]
                  spids: [16777215 1141]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_Less
                              left: (ArithWord w:{($ VSub_Name '$input_value')})
                              right: (ArithWord w:{(Lit_Digits 0)})
                            )
                          spids: [1150 1159]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:input_value)
                          op: Equal
                          rhs: {(0)}
                          spids: [1165]
                        )
                      ]
                      spids: [1165]
                    )
                  ]
                  spids: [1148 1162]
                )
              ]
              spids: [16777215 1169]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_GreatEqual
                              left: (ArithWord w:{($ VSub_Name '$input_value')})
                              right: (ArithWord w:{(Lit_Digits 95)})
                            )
                          spids: [1183 1192]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:C_PERCENT_GRAPH)
                          op: Equal
                          rhs: 
                            {
                              (DQ (' ') ($ VSub_Name '$input_value') ('% [') ($ VSub_Name '$C_REVERSE') 
                                (BracedVarSub
                                  token: <VSub_Name aCOLOUR>
                                  bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 1)}))
                                  spids: [1204 1209]
                                ) (------WARNING-----) ($ VSub_Name '$C_RESET') (']')
                              )
                            }
                          spids: [1198]
                        )
                      ]
                      spids: [1198]
                    )
                  ]
                  spids: [16777215 1195]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_GreatEqual
                              left: (ArithWord w:{($ VSub_Name '$input_value')})
                              right: (ArithWord w:{(Lit_Digits 90)})
                            )
                          spids: [1218 1227]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:C_PERCENT_GRAPH)
                          op: Equal
                          rhs: 
                            {
                              (DQ (' ') ($ VSub_Name '$input_value') ('% [') ($ VSub_Name '$C_REVERSE') 
                                (BracedVarSub
                                  token: <VSub_Name aCOLOUR>
                                  bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 1)}))
                                  spids: [1239 1244]
                                ) (-----------------) ($ VSub_Name '$C_RESET') ('-]')
                              )
                            }
                          spids: [1233]
                        )
                      ]
                      spids: [1233]
                    )
                  ]
                  spids: [1216 1230]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_GreatEqual
                              left: (ArithWord w:{($ VSub_Name '$input_value')})
                              right: (ArithWord w:{(Lit_Digits 88)})
                            )
                          spids: [1253 1262]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:C_PERCENT_GRAPH)
                          op: Equal
                          rhs: 
                            {
                              (DQ (' ') ($ VSub_Name '$input_value') ('% [') ($ VSub_Name '$C_REVERSE') 
                                (BracedVarSub
                                  token: <VSub_Name aCOLOUR>
                                  bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 1)}))
                                  spids: [1274 1279]
                                ) (----------------) ($ VSub_Name '$C_RESET') ('--]')
                              )
                            }
                          spids: [1268]
                        )
                      ]
                      spids: [1268]
                    )
                  ]
                  spids: [1251 1265]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_GreatEqual
                              left: (ArithWord w:{($ VSub_Name '$input_value')})
                              right: (ArithWord w:{(Lit_Digits 82)})
                            )
                          spids: [1288 1297]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:C_PERCENT_GRAPH)
                          op: Equal
                          rhs: 
                            {
                              (DQ (' ') ($ VSub_Name '$input_value') ('% [') ($ VSub_Name '$C_REVERSE') 
                                (BracedVarSub
                                  token: <VSub_Name aCOLOUR>
                                  bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 1)}))
                                  spids: [1309 1314]
                                ) (---------------) ($ VSub_Name '$C_RESET') ('---]')
                              )
                            }
                          spids: [1303]
                        )
                      ]
                      spids: [1303]
                    )
                  ]
                  spids: [1286 1300]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_GreatEqual
                              left: (ArithWord w:{($ VSub_Name '$input_value')})
                              right: (ArithWord w:{(Lit_Digits 76)})
                            )
                          spids: [1323 1332]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:C_PERCENT_GRAPH)
                          op: Equal
                          rhs: 
                            {
                              (DQ (' ') ($ VSub_Name '$input_value') ('% [') ($ VSub_Name '$C_REVERSE') 
                                (BracedVarSub
                                  token: <VSub_Name aCOLOUR>
                                  bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 3)}))
                                  spids: [1344 1349]
                                ) (--------------) ($ VSub_Name '$C_RESET') ('----]')
                              )
                            }
                          spids: [1338]
                        )
                      ]
                      spids: [1338]
                    )
                  ]
                  spids: [1321 1335]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_GreatEqual
                              left: (ArithWord w:{($ VSub_Name '$input_value')})
                              right: (ArithWord w:{(Lit_Digits 70)})
                            )
                          spids: [1358 1367]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:C_PERCENT_GRAPH)
                          op: Equal
                          rhs: 
                            {
                              (DQ (' ') ($ VSub_Name '$input_value') ('% [') ($ VSub_Name '$C_REVERSE') 
                                (BracedVarSub
                                  token: <VSub_Name aCOLOUR>
                                  bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 3)}))
                                  spids: [1379 1384]
                                ) (-------------) ($ VSub_Name '$C_RESET') ('-----]')
                              )
                            }
                          spids: [1373]
                        )
                      ]
                      spids: [1373]
                    )
                  ]
                  spids: [1356 1370]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_GreatEqual
                              left: (ArithWord w:{($ VSub_Name '$input_value')})
                              right: (ArithWord w:{(Lit_Digits 64)})
                            )
                          spids: [1393 1402]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:C_PERCENT_GRAPH)
                          op: Equal
                          rhs: 
                            {
                              (DQ (' ') ($ VSub_Name '$input_value') ('% [') ($ VSub_Name '$C_REVERSE') 
                                (BracedVarSub
                                  token: <VSub_Name aCOLOUR>
                                  bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 3)}))
                                  spids: [1414 1419]
                                ) (------------) ($ VSub_Name '$C_RESET') ('------]')
                              )
                            }
                          spids: [1408]
                        )
                      ]
                      spids: [1408]
                    )
                  ]
                  spids: [1391 1405]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_GreatEqual
                              left: (ArithWord w:{($ VSub_Name '$input_value')})
                              right: (ArithWord w:{(Lit_Digits 56)})
                            )
                          spids: [1428 1437]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:C_PERCENT_GRAPH)
                          op: Equal
                          rhs: 
                            {
                              (DQ (' ') ($ VSub_Name '$input_value') ('% [') ($ VSub_Name '$C_REVERSE') 
                                (BracedVarSub
                                  token: <VSub_Name aCOLOUR>
                                  bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 3)}))
                                  spids: [1449 1454]
                                ) (-----------) ($ VSub_Name '$C_RESET') ('-------]')
                              )
                            }
                          spids: [1443]
                        )
                      ]
                      spids: [1443]
                    )
                  ]
                  spids: [1426 1440]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_GreatEqual
                              left: (ArithWord w:{($ VSub_Name '$input_value')})
                              right: (ArithWord w:{(Lit_Digits 50)})
                            )
                          spids: [1463 1472]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:C_PERCENT_GRAPH)
                          op: Equal
                          rhs: 
                            {
                              (DQ (' ') ($ VSub_Name '$input_value') ('% [') ($ VSub_Name '$C_REVERSE') 
                                (BracedVarSub
                                  token: <VSub_Name aCOLOUR>
                                  bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 3)}))
                                  spids: [1484 1489]
                                ) (----------) ($ VSub_Name '$C_RESET') ('--------]')
                              )
                            }
                          spids: [1478]
                        )
                      ]
                      spids: [1478]
                    )
                  ]
                  spids: [1461 1475]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_GreatEqual
                              left: (ArithWord w:{($ VSub_Name '$input_value')})
                              right: (ArithWord w:{(Lit_Digits 44)})
                            )
                          spids: [1498 1507]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:C_PERCENT_GRAPH)
                          op: Equal
                          rhs: 
                            {
                              (DQ (' ') ($ VSub_Name '$input_value') ('% [') ($ VSub_Name '$C_REVERSE') 
                                (BracedVarSub
                                  token: <VSub_Name aCOLOUR>
                                  bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 3)}))
                                  spids: [1519 1524]
                                ) (---------) ($ VSub_Name '$C_RESET') ('---------]')
                              )
                            }
                          spids: [1513]
                        )
                      ]
                      spids: [1513]
                    )
                  ]
                  spids: [1496 1510]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_GreatEqual
                              left: (ArithWord w:{($ VSub_Name '$input_value')})
                              right: (ArithWord w:{(Lit_Digits 38)})
                            )
                          spids: [1533 1542]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:C_PERCENT_GRAPH)
                          op: Equal
                          rhs: 
                            {
                              (DQ (' ') ($ VSub_Name '$input_value') ('% [') ($ VSub_Name '$C_REVERSE') 
                                (BracedVarSub
                                  token: <VSub_Name aCOLOUR>
                                  bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 2)}))
                                  spids: [1554 1559]
                                ) (--------) ($ VSub_Name '$C_RESET') ('----------]')
                              )
                            }
                          spids: [1548]
                        )
                      ]
                      spids: [1548]
                    )
                  ]
                  spids: [1531 1545]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_GreatEqual
                              left: (ArithWord w:{($ VSub_Name '$input_value')})
                              right: (ArithWord w:{(Lit_Digits 32)})
                            )
                          spids: [1568 1577]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:C_PERCENT_GRAPH)
                          op: Equal
                          rhs: 
                            {
                              (DQ (' ') ($ VSub_Name '$input_value') ('% [') ($ VSub_Name '$C_REVERSE') 
                                (BracedVarSub
                                  token: <VSub_Name aCOLOUR>
                                  bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 2)}))
                                  spids: [1589 1594]
                                ) (-------) ($ VSub_Name '$C_RESET') ('-----------]')
                              )
                            }
                          spids: [1583]
                        )
                      ]
                      spids: [1583]
                    )
                  ]
                  spids: [1566 1580]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_GreatEqual
                              left: (ArithWord w:{($ VSub_Name '$input_value')})
                              right: (ArithWord w:{(Lit_Digits 26)})
                            )
                          spids: [1603 1612]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:C_PERCENT_GRAPH)
                          op: Equal
                          rhs: 
                            {
                              (DQ (' ') ($ VSub_Name '$input_value') ('% [') ($ VSub_Name '$C_REVERSE') 
                                (BracedVarSub
                                  token: <VSub_Name aCOLOUR>
                                  bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 2)}))
                                  spids: [1624 1629]
                                ) (------) ($ VSub_Name '$C_RESET') ('------------]')
                              )
                            }
                          spids: [1618]
                        )
                      ]
                      spids: [1618]
                    )
                  ]
                  spids: [1601 1615]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_GreatEqual
                              left: (ArithWord w:{($ VSub_Name '$input_value')})
                              right: (ArithWord w:{(Lit_Digits 20)})
                            )
                          spids: [1638 1647]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:C_PERCENT_GRAPH)
                          op: Equal
                          rhs: 
                            {
                              (DQ (' ') ($ VSub_Name '$input_value') ('% [') ($ VSub_Name '$C_REVERSE') 
                                (BracedVarSub
                                  token: <VSub_Name aCOLOUR>
                                  bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 2)}))
                                  spids: [1659 1664]
                                ) (-----) ($ VSub_Name '$C_RESET') ('-------------]')
                              )
                            }
                          spids: [1653]
                        )
                      ]
                      spids: [1653]
                    )
                  ]
                  spids: [1636 1650]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_GreatEqual
                              left: (ArithWord w:{($ VSub_Name '$input_value')})
                              right: (ArithWord w:{(Lit_Digits 15)})
                            )
                          spids: [1673 1682]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:C_PERCENT_GRAPH)
                          op: Equal
                          rhs: 
                            {
                              (DQ (' ') ($ VSub_Name '$input_value') ('% [') ($ VSub_Name '$C_REVERSE') 
                                (BracedVarSub
                                  token: <VSub_Name aCOLOUR>
                                  bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 2)}))
                                  spids: [1694 1699]
                                ) (----) ($ VSub_Name '$C_RESET') ('--------------]')
                              )
                            }
                          spids: [1688]
                        )
                      ]
                      spids: [1688]
                    )
                  ]
                  spids: [1671 1685]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_GreatEqual
                              left: (ArithWord w:{($ VSub_Name '$input_value')})
                              right: (ArithWord w:{(Lit_Digits 10)})
                            )
                          spids: [1708 1717]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:C_PERCENT_GRAPH)
                          op: Equal
                          rhs: 
                            {
                              (DQ (' ') ($ VSub_Name '$input_value') ('% [') ($ VSub_Name '$C_REVERSE') 
                                (BracedVarSub
                                  token: <VSub_Name aCOLOUR>
                                  bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 2)}))
                                  spids: [1729 1734]
                                ) (---) ($ VSub_Name '$C_RESET') ('---------------]')
                              )
                            }
                          spids: [1723]
                        )
                      ]
                      spids: [1723]
                    )
                  ]
                  spids: [1706 1720]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_GreatEqual
                              left: (ArithWord w:{($ VSub_Name '$input_value')})
                              right: (ArithWord w:{(Lit_Digits 5)})
                            )
                          spids: [1743 1752]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:C_PERCENT_GRAPH)
                          op: Equal
                          rhs: 
                            {
                              (DQ (' ') ($ VSub_Name '$input_value') ('%  [') ($ VSub_Name '$C_REVERSE') 
                                (BracedVarSub
                                  token: <VSub_Name aCOLOUR>
                                  bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 2)}))
                                  spids: [1764 1769]
                                ) (--) ($ VSub_Name '$C_RESET') ('----------------]')
                              )
                            }
                          spids: [1758]
                        )
                      ]
                      spids: [1758]
                    )
                  ]
                  spids: [1741 1755]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:C_PERCENT_GRAPH)
                      op: Equal
                      rhs: 
                        {
                          (DQ (' ') ($ VSub_Name '$input_value') ('%  [') ($ VSub_Name '$C_REVERSE') 
                            (BracedVarSub
                              token: <VSub_Name aCOLOUR>
                              bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 2)}))
                              spids: [1785 1790]
                            ) (-) ($ VSub_Name '$C_RESET') ('-----------------]')
                          )
                        }
                      spids: [1779]
                    )
                  ]
                  spids: [1779]
                )
              ]
              spids: [1776 1797]
            )
          ]
          spids: [1087]
        )
      spids: [1084 1087]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:TEMPERATURE_CONVERSION_VALUE)
          op: Equal
          rhs: {(0)}
          spids: [1817]
        )
      ]
      spids: [1817]
    )
    (FuncDef
      name: Obtain_Temperature_Conversion
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$TEMPERATURE_OUTPUT_TYPE')})
                              right: (ArithWord w:{(Lit_Digits 0)})
                            )
                          spids: [1830 1839]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:TEMPERATURE_CONVERSION_VALUE)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (C {(awk)} 
                                        {
                                          (DQ ('BEGIN {printf ') 
                                            (EscapedLiteralPart
                                              token: <Lit_EscapedChar '\\"'>
                                            ) ('%.0f') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (',') 
                                            ($ VSub_Name '$TEMPERATURE_CONVERSION_VALUE') (' * 1.8 + 32')
                                          ) (Lit_RBrace '}')
                                        }
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [1846 1859]
                              )
                            }
                          spids: [1845]
                        )
                      ]
                      spids: [1845]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:TEMPERATURE_CONVERSION_VALUE)
                          op: PlusEqual
                          rhs: {(DQ ("'f"))}
                          spids: [1862]
                        )
                      ]
                      spids: [1862]
                    )
                  ]
                  spids: [16777215 1842]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:TEMPERATURE_CONVERSION_VALUE)
                      op: PlusEqual
                      rhs: {(DQ ("'c"))}
                      spids: [1871]
                    )
                  ]
                  spids: [1871]
                )
              ]
              spids: [1868 1877]
            )
          ]
          spids: [1824]
        )
      spids: [1821 1824]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:DATE_TIME) op:Equal rhs:{(0)} spids:[1885])]
      spids: [1885]
    )
    (FuncDef
      name: Obtain_DATE_TIME
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:DATE_TIME)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(date)} {(Lit_Other '+') (DQ ('%a %x - %R'))})]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [1897 1904]
                      )
                    }
                  spids: [1896]
                )
              ]
              spids: [1896]
            )
          ]
          spids: [1892]
        )
      spids: [1889 1892]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:UPTIME) op:Equal rhs:{(0)} spids:[1912])]
      spids: [1912]
    )
    (FuncDef
      name: Obtain_UPTIME
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:fSeconds)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [(C {(cat)} {(/proc/uptime)}) (C {(awk)} {(SQ <'{print $1}'>)})]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [1926 1938]
                      )
                    }
                  spids: [1925]
                )
              ]
              spids: [1923]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:seconds)
                  op: Equal
                  rhs: 
                    {
                      (BracedVarSub
                        token: <VSub_Name fSeconds>
                        suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{('.*')})
                        spids: [1945 1949]
                      )
                    }
                  spids: [1944]
                )
              ]
              spids: [1942]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:minutes) op:Equal rhs:{(0)} spids:[1954])]
              spids: [1952]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:hours) op:Equal rhs:{(0)} spids:[1960])]
              spids: [1958]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:days) op:Equal rhs:{(0)} spids:[1966])]
              spids: [1964]
            )
            (WhileUntil
              keyword: <KW_While while>
              cond: [
                (Sentence
                  child: 
                    (DParen
                      child: 
                        (ArithBinary
                          op_id: Arith_GreatEqual
                          left: (ArithWord w:{($ VSub_Name '$seconds')})
                          right: (ArithWord w:{(Lit_Digits 60)})
                        )
                      spids: [1973 1982]
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              body: 
                (DoGroup
                  children: [
                    (DParen
                      child: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:minutes))
                      spids: [1988 1992]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:seconds)
                          op: Equal
                          rhs: 
                            {
                              (ArithSubPart
                                anode: 
                                  (ArithBinary
                                    op_id: Arith_Minus
                                    left: (ArithWord w:{($ VSub_Name '$seconds')})
                                    right: (ArithWord w:{(Lit_Digits 60)})
                                  )
                                spids: [1996 2005]
                              )
                            }
                          spids: [1995]
                        )
                      ]
                      spids: [1995]
                    )
                  ]
                  spids: [1985 2008]
                )
            )
            (WhileUntil
              keyword: <KW_While while>
              cond: [
                (Sentence
                  child: 
                    (DParen
                      child: 
                        (ArithBinary
                          op_id: Arith_GreatEqual
                          left: (ArithWord w:{($ VSub_Name '$minutes')})
                          right: (ArithWord w:{(Lit_Digits 60)})
                        )
                      spids: [2014 2023]
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              body: 
                (DoGroup
                  children: [
                    (DParen
                      child: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:hours))
                      spids: [2029 2033]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:minutes)
                          op: Equal
                          rhs: 
                            {
                              (ArithSubPart
                                anode: 
                                  (ArithBinary
                                    op_id: Arith_Minus
                                    left: (ArithWord w:{($ VSub_Name '$minutes')})
                                    right: (ArithWord w:{(Lit_Digits 60)})
                                  )
                                spids: [2037 2046]
                              )
                            }
                          spids: [2036]
                        )
                      ]
                      spids: [2036]
                    )
                  ]
                  spids: [2026 2049]
                )
            )
            (WhileUntil
              keyword: <KW_While while>
              cond: [
                (Sentence
                  child: 
                    (DParen
                      child: 
                        (ArithBinary
                          op_id: Arith_GreatEqual
                          left: (ArithWord w:{($ VSub_Name '$hours')})
                          right: (ArithWord w:{(Lit_Digits 24)})
                        )
                      spids: [2055 2064]
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              body: 
                (DoGroup
                  children: [
                    (DParen
                      child: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:days))
                      spids: [2070 2074]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:hours)
                          op: Equal
                          rhs: 
                            {
                              (ArithSubPart
                                anode: 
                                  (ArithBinary
                                    op_id: Arith_Minus
                                    left: (ArithWord w:{($ VSub_Name '$hours')})
                                    right: (ArithWord w:{(Lit_Digits 24)})
                                  )
                                spids: [2078 2087]
                              )
                            }
                          spids: [2077]
                        )
                      ]
                      spids: [2077]
                    )
                  ]
                  spids: [2067 2090]
                )
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:UPTIME)
                  op: Equal
                  rhs: 
                    {
                      (DQ ('Uptime: ') ($ VSub_Name '$days') (' Day, ') ($ VSub_Name '$hours') (' Hour'))
                    }
                  spids: [2094]
                )
              ]
              spids: [2094]
            )
          ]
          spids: [1919]
        )
      spids: [1916 1919]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:CPU_GOV) op:Equal rhs:{(0)} spids:[2113])]
      spids: [2113]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:CPU_TEMP) op:Equal rhs:{(0)} spids:[2117])]
      spids: [2117]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:C_CPUTEMP) op:Equal rhs:{(0)} spids:[2121])]
      spids: [2121]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:CPU_FREQ_1) op:Equal rhs:{(0)} spids:[2125])]
      spids: [2125]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:CPU_FREQ_2) op:Equal rhs:{(0)} spids:[2129])]
      spids: [2129]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:CPU_USAGE) op:Equal rhs:{(0)} spids:[2133])]
      spids: [2133]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:CPU_TOTALPROCESSES) op:Equal rhs:{(0)} spids:[2137])]
      spids: [2137]
    )
    (FuncDef
      name: Obtain_CPU
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:CPU_TOTALPROCESSES)
                  op: Equal
                  rhs: 
                    {
                      (ArithSubPart
                        anode: 
                          (ArithBinary
                            op_id: Arith_Minus
                            left: 
                              (ArithWord
                                w: 
                                  {
                                    (CommandSubPart
                                      command_list: 
                                        (CommandList
                                          children: [
                                            (Pipeline
                                              children: [
                                                (C {(ps)} {(--ppid)} {(2)} {(-p)} {(2)} {(--deselect)})
                                                (C {(wc)} {(-l)})
                                              ]
                                              negated: F
                                            )
                                          ]
                                        )
                                      left_token: <Left_CommandSub '$('>
                                      spids: [2151 2169]
                                    )
                                  }
                              )
                            right: (ArithWord w:{(Lit_Digits 2)})
                          )
                        spids: [2149 2176]
                      )
                    }
                  spids: [2148]
                )
              ]
              spids: [2148]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:CPU_GOV)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {(cat)} {(/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor)})
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [2183 2187]
                      )
                    }
                  spids: [2182]
                )
              ]
              spids: [2182]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:CPU_TEMP)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: (CommandList children:[(C {(G_OBTAIN_CPU_TEMP)})])
                        left_token: <Left_CommandSub '$('>
                        spids: [2191 2193]
                      )
                    }
                  spids: [2190]
                )
              ]
              spids: [2190]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_EqualTilde
                              left: {($ VSub_Name '$CPU_TEMP')}
                              right: 
                                {(Lit_Other '^') (-) (Lit_Other '?') (Lit_Other '[') (0-9) 
                                  (Lit_Other ']') (Lit_Other '+') (Lit_Other '$')
                                }
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_GreatEqual
                                      left: (ArithWord w:{($ VSub_Name '$CPU_TEMP')})
                                      right: (ArithWord w:{(Lit_Digits 65)})
                                    )
                                  spids: [2227 2236]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:C_CPUTEMP)
                                  op: Equal
                                  rhs: 
                                    {
                                      (BracedVarSub
                                        token: <VSub_Name aCOLOUR>
                                        bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 1)}))
                                        spids: [2244 2249]
                                      )
                                    }
                                  spids: [2243]
                                )
                              ]
                              spids: [2243]
                            )
                          ]
                          spids: [16777215 2239]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_GreatEqual
                                      left: (ArithWord w:{($ VSub_Name '$CPU_TEMP')})
                                      right: (ArithWord w:{(Lit_Digits 50)})
                                    )
                                  spids: [2255 2264]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:C_CPUTEMP)
                                  op: Equal
                                  rhs: 
                                    {
                                      (BracedVarSub
                                        token: <VSub_Name aCOLOUR>
                                        bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 3)}))
                                        spids: [2272 2277]
                                      )
                                    }
                                  spids: [2271]
                                )
                              ]
                              spids: [2271]
                            )
                          ]
                          spids: [2253 2267]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_GreatEqual
                                      left: (ArithWord w:{($ VSub_Name '$CPU_TEMP')})
                                      right: (ArithWord w:{(Lit_Digits 35)})
                                    )
                                  spids: [2283 2292]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:C_CPUTEMP)
                                  op: Equal
                                  rhs: 
                                    {
                                      (BracedVarSub
                                        token: <VSub_Name aCOLOUR>
                                        bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 2)}))
                                        spids: [2300 2305]
                                      )
                                    }
                                  spids: [2299]
                                )
                              ]
                              spids: [2299]
                            )
                          ]
                          spids: [2281 2295]
                        )
                      ]
                      else_action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:C_CPUTEMP)
                              op: Equal
                              rhs: 
                                {
                                  (BracedVarSub
                                    token: <VSub_Name aCOLOUR>
                                    bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 4)}))
                                    spids: [2314 2319]
                                  )
                                }
                              spids: [2313]
                            )
                          ]
                          spids: [2313]
                        )
                      ]
                      spids: [2309 2323]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:TEMPERATURE_CONVERSION_VALUE)
                          op: Equal
                          rhs: {($ VSub_Name '$CPU_TEMP')}
                          spids: [2331]
                        )
                      ]
                      spids: [2331]
                    )
                    (C {(Obtain_Temperature_Conversion)})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:CPU_TEMP)
                          op: Equal
                          rhs: {($ VSub_Name '$TEMPERATURE_CONVERSION_VALUE')}
                          spids: [2338]
                        )
                      ]
                      spids: [2338]
                    )
                  ]
                  spids: [16777215 2217]
                )
              ]
              spids: [16777215 2343]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:CPU_FREQ_1)
                  op: Equal
                  rhs: 
                    {
                      (ArithSubPart
                        anode: 
                          (ArithBinary
                            op_id: Arith_Slash
                            left: 
                              (ArithWord
                                w: 
                                  {
                                    (CommandSubPart
                                      command_list: 
                                        (CommandList
                                          children: [
                                            (C {(cat)} 
                                              {
                                                (
/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
                                                )
                                              }
                                            )
                                          ]
                                        )
                                      left_token: <Left_CommandSub '$('>
                                      spids: [2350 2354]
                                    )
                                  }
                              )
                            right: (ArithWord w:{(Lit_Digits 1000)})
                          )
                        spids: [2348 2361]
                      )
                    }
                  spids: [2347]
                )
              ]
              spids: [2347]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:CPU_FREQ_2)
                  op: Equal
                  rhs: {(DQ (N/A))}
                  spids: [2364]
                )
              ]
              spids: [2364]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$G_HW_MODEL')})
                              right: (ArithWord w:{(Lit_Digits 11)})
                            )
                          spids: [2377 2386]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:CPU_FREQ_2)
                          op: Equal
                          rhs: 
                            {
                              (ArithSubPart
                                anode: 
                                  (ArithBinary
                                    op_id: Arith_Slash
                                    left: 
                                      (ArithWord
                                        w: 
                                          {
                                            (CommandSubPart
                                              command_list: 
                                                (CommandList
                                                  children: [
                                                    (C {(cat)} 
                                                      {
                                                        (
/sys/devices/system/cpu/cpu4/cpufreq/scaling_cur_freq
                                                        )
                                                      }
                                                    )
                                                  ]
                                                )
                                              left_token: <Left_CommandSub '$('>
                                              spids: [2396 2400]
                                            )
                                          }
                                      )
                                    right: (ArithWord w:{(Lit_Digits 1000)})
                                  )
                                spids: [2394 2407]
                              )
                            }
                          spids: [2393]
                        )
                      ]
                      spids: [2393]
                    )
                  ]
                  spids: [16777215 2389]
                )
              ]
              spids: [16777215 2411]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:CPU_USAGE) op:Equal rhs:{(0)} spids:[2415])]
              spids: [2415]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:FP_TEMP)
                  op: Equal
                  rhs: {(DQ (/tmp/.cpu_usage))}
                  spids: [2419]
                )
              ]
              spids: [2419]
            )
            (Pipeline
              children: [
                (C {(ps)} {(-axo)} {(Lit_Other '%') (cpu)})
                (C {(sed)} {(SQ <1d>)})
                (SimpleCommand
                  words: [{(sed)} {(SQ <'s/ //'>)}]
                  redirects: [
                    (Redir
                      op: <Redir_Great '>'>
                      fd: 16777215
                      arg_word: {(DQ ($ VSub_Name '$FP_TEMP'))}
                    )
                  ]
                )
              ]
              negated: F
            )
            (WhileUntil
              keyword: <KW_While while>
              cond: [(C {(read)} {(-r)} {(line)})]
              body: 
                (DoGroup
                  children: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:CPU_USAGE)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(echo)} 
                                            {
                                              (DQ ('scale=1;') ($ VSub_Name '$CPU_USAGE') (' + ') 
                                                ($ VSub_Name '$line')
                                              )
                                            }
                                          )
                                          (C {(bc)} {(-l)})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [2474 2491]
                              )
                            }
                          spids: [2473]
                        )
                      ]
                      spids: [2473]
                    )
                  ]
                  spids: [2469 2495]
                )
              redirects: [(Redir op:<Redir_Less '<'> fd:16777215 arg_word:{($ VSub_Name '$FP_TEMP')})]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:CPU_USAGE)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(echo)} 
                                    {
                                      (DQ ('scale=0;') ($ VSub_Name '$CPU_USAGE') (' / ') 
                                        ($ VSub_Name '$G_HW_CPU_CORES')
                                      )
                                    }
                                  )
                                  (C {(bc)} {(-l)})
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [2508 2524]
                      )
                    }
                  spids: [2507]
                )
              ]
              spids: [2507]
            )
            (C {(Percent_To_Graph)} {($ VSub_Name '$CPU_USAGE')})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:CPU_USAGE)
                  op: Equal
                  rhs: {($ VSub_Name '$C_PERCENT_GRAPH')}
                  spids: [2550]
                )
              ]
              spids: [2550]
            )
          ]
          spids: [2144]
        )
      spids: [2141 2144]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:MAX_STORAGE) op:Equal rhs:{(6)} spids:[2567])]
      spids: [2567]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:STORAGE_TOTAL)
          op: Equal
          rhs: {(ArrayLiteralPart)}
          spids: [2571]
        )
      ]
      spids: [2571]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:STORAGE_USED)
          op: Equal
          rhs: {(ArrayLiteralPart)}
          spids: [2576]
        )
      ]
      spids: [2576]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:STORAGE_FREE)
          op: Equal
          rhs: {(ArrayLiteralPart)}
          spids: [2581]
        )
      ]
      spids: [2581]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:STORAGE_PERCENT)
          op: Equal
          rhs: {(ArrayLiteralPart)}
          spids: [2586]
        )
      ]
      spids: [2586]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:STORAGE_PATH)
          op: Equal
          rhs: {(ArrayLiteralPart)}
          spids: [2591]
        )
      ]
      spids: [2591]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:STORAGE_NAME)
          op: Equal
          rhs: {(ArrayLiteralPart)}
          spids: [2596]
        )
      ]
      spids: [2596]
    )
    (FuncDef
      name: Init_STORAGE
      body: 
        (BraceGroup
          children: [
            (ForExpr
              init: 
                (BinaryAssign
                  op_id: Arith_Equal
                  left: (LhsName name:i)
                  right: (ArithWord w:{(Lit_Digits 0)})
                )
              cond: 
                (ArithBinary
                  op_id: Arith_Less
                  left: (ArithVarRef name:i)
                  right: (ArithWord w:{($ VSub_Name '$MAX_STORAGE')})
                )
              update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i))
              body: 
                (DoGroup
                  children: [
                    (C 
                      {(STORAGE_TOTAL) (Lit_Other '[') ($ VSub_Name '$i') (Lit_Other ']') 
                        (Lit_Other '=') (SQ <N/A>)
                      }
                    )
                    (C 
                      {(STORAGE_USED) (Lit_Other '[') ($ VSub_Name '$i') (Lit_Other ']') 
                        (Lit_Other '=') (SQ <N/A>)
                      }
                    )
                    (C 
                      {(STORAGE_FREE) (Lit_Other '[') ($ VSub_Name '$i') (Lit_Other ']') 
                        (Lit_Other '=') (SQ <N/A>)
                      }
                    )
                    (C 
                      {(STORAGE_PERCENT) (Lit_Other '[') ($ VSub_Name '$i') (Lit_Other ']') 
                        (Lit_Other '=') (SQ <' Not installed'>)
                      }
                    )
                    (C 
                      {(STORAGE_NAME) (Lit_Other '[') ($ VSub_Name '$i') (Lit_Other ']') 
                        (Lit_Other '=') (0)
                      }
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: (ArithWord w:{($ VSub_Name '$i')})
                                      right: (ArithWord w:{(Lit_Digits 0)})
                                    )
                                  spids: [2686 2695]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C 
                              {(STORAGE_PATH) (Lit_Other '[') ($ VSub_Name '$i') (Lit_Other ']') 
                                (Lit_Other '=') (SQ </>)
                              }
                            )
                            (C 
                              {(STORAGE_NAME) (Lit_Other '[') ($ VSub_Name '$i') (Lit_Other ']') 
                                (Lit_Other '=') (SQ <'Flash/RootFS Storage:    '>)
                              }
                            )
                          ]
                          spids: [16777215 2698]
                        )
                      ]
                      else_action: [
                        (C 
                          {(STORAGE_PATH) (Lit_Other '[') ($ VSub_Name '$i') (Lit_Other ']') 
                            (Lit_Other '=') (DQ (/mnt/usb_) ($ VSub_Name '$i'))
                          }
                        )
                        (C 
                          {(STORAGE_NAME) (Lit_Other '[') ($ VSub_Name '$i') (Lit_Other ']') 
                            (Lit_Other '=') (DQ ('Storage ') ($ VSub_Name '$i') (':               '))
                          }
                        )
                      ]
                      spids: [2723 2751]
                    )
                  ]
                  spids: [2628 2755]
                )
            )
          ]
          spids: [2605]
        )
      spids: [2602 2605]
    )
    (FuncDef
      name: Destroy_STORAGE
      body: 
        (BraceGroup
          children: [
            (C {(unset)} {(STORAGE_TOTAL)})
            (C {(unset)} {(STORAGE_USED)})
            (C {(unset)} {(STORAGE_FREE)})
            (C {(unset)} {(STORAGE_PERCENT)})
            (C {(unset)} {(STORAGE_PATH)})
            (C {(unset)} {(STORAGE_NAME)})
          ]
          spids: [2766]
        )
      spids: [2763 2766]
    )
    (FuncDef
      name: Obtain_STORAGE
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:index_start)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [2818]
                )
              ]
              spids: [2816]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:index_end)
                  op: Equal
                  rhs: {($ VSub_Number '$2')}
                  spids: [2824]
                )
              ]
              spids: [2822]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:FP_TEMP)
                  op: Equal
                  rhs: {(DQ (/tmp/.df))}
                  spids: [2829]
                )
              ]
              spids: [2829]
            )
            (C {(rm)} {(DQ ($ VSub_Name '$FP_TEMP'))})
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:df_failed) op:Equal rhs:{(0)} spids:[2853])]
              spids: [2851]
            )
            (Sentence
              child: 
                (SimpleCommand
                  words: [{(df)} {(-Ph)}]
                  redirects: [
                    (Redir
                      op: <Redir_Great '>'>
                      fd: 16777215
                      arg_word: {($ VSub_Name '$FP_TEMP')}
                    )
                  ]
                )
              terminator: <Op_Amp '&'>
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pid)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: (CommandList children:[(C {(echo)} {($ VSub_Bang '$!')})])
                        left_token: <Left_CommandSub '$('>
                        spids: [2871 2875]
                      )
                    }
                  spids: [2870]
                )
              ]
              spids: [2868]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:max_seconds) op:Equal rhs:{(4)} spids:[2885])]
              spids: [2883]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:current_seconds)
                  op: Equal
                  rhs: {(0)}
                  spids: [2891]
                )
              ]
              spids: [2889]
            )
            (WhileUntil
              keyword: <KW_While while>
              cond: [
                (DParen
                  child: 
                    (ArithWord
                      w: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (Pipeline
                                    children: [
                                      (C {(ps)} {(aux)})
                                      (C {(awk)} {(SQ <'{print $2}'>)})
                                      (C {(grep)} {(-ci)} {(-m1)} 
                                        {(DQ ($ VSub_Name '$pid') (Lit_Other '$'))}
                                      )
                                    ]
                                    negated: F
                                  )
                                ]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [2899 2924]
                          )
                        }
                    )
                  spids: [2897 2927]
                )
              ]
              body: 
                (DoGroup
                  children: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_GreatEqual
                                      left: (ArithWord w:{($ VSub_Name '$current_seconds')})
                                      right: (ArithWord w:{($ VSub_Name '$max_seconds')})
                                    )
                                  spids: [2939 2948]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(G_DIETPI-NOTIFY)} {(1)} 
                              {(DQ ('DF failed, unable to obtain drive data'))}
                            )
                            (C {(sleep)} {(2)})
                            (C {(kill)} {($ VSub_Name '$pid')})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:df_failed)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [2981]
                                )
                              ]
                              spids: [2981]
                            )
                            (SimpleCommand
                              words: [
                                {(echo)}
                                {(-e)}
                                {
                                  (DQ 
                                    (CommandSubPart
                                      command_list: (CommandList children:[(C {(date)})])
                                      left_token: <Left_CommandSub '$('>
                                      spids: [2991 2993]
                                    ) (' | df failed to respond')
                                  )
                                }
                              ]
                              redirects: [
                                (Redir
                                  op: <Redir_DGreat '>>'>
                                  fd: 16777215
                                  arg_word: {(/var/log/dietpi-cloudshell.log)}
                                )
                              ]
                            )
                            (ControlFlow token:<ControlFlow_Break break>)
                          ]
                          spids: [16777215 2951]
                        )
                      ]
                      else_action: [
                        (C {(sleep)} {(1)})
                        (DParen
                          child: 
                            (UnaryAssign
                              op_id: Node_PostDPlus
                              child: (LhsName name:current_seconds)
                            )
                          spids: [3016 3020]
                        )
                      ]
                      spids: [3007 3024]
                    )
                  ]
                  spids: [2933 3028]
                )
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: (ArithWord w:{($ VSub_Name '$df_failed')})
                          spids: [3034 3039]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (ForExpr
                      init: 
                        (BinaryAssign
                          op_id: Arith_Equal
                          left: (LhsName name:i)
                          right: (ArithWord w:{($ VSub_Name '$index_start')})
                        )
                      cond: 
                        (ArithBinary
                          op_id: Arith_LessEqual
                          left: (ArithVarRef name:i)
                          right: (ArithWord w:{($ VSub_Name '$index_end')})
                        )
                      update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i))
                      body: 
                        (DoGroup
                          children: [
                            (C 
                              {(STORAGE_PERCENT) (Lit_Other '[') ($ VSub_Name '$i') (Lit_Other ']') 
                                (Lit_Other '=') 
                                (DQ 
                                  (BracedVarSub
                                    token: <VSub_Name STORAGE_PATH>
                                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$i')}))
                                    spids: [3075 3080]
                                  )
                                )
                              }
                            )
                            (C 
                              {(STORAGE_FREE) (Lit_Other '[') ($ VSub_Name '$i') (Lit_Other ']') 
                                (Lit_Other '=') (SQ <'DF failed'>)
                              }
                            )
                          ]
                          spids: [3065 3095]
                        )
                    )
                  ]
                  spids: [16777215 3042]
                )
              ]
              else_action: [
                (ForExpr
                  init: 
                    (BinaryAssign
                      op_id: Arith_Equal
                      left: (LhsName name:i)
                      right: (ArithWord w:{($ VSub_Name '$index_start')})
                    )
                  cond: 
                    (ArithBinary
                      op_id: Arith_LessEqual
                      left: (ArithVarRef name:i)
                      right: (ArithWord w:{($ VSub_Name '$index_end')})
                    )
                  update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i))
                  body: 
                    (DoGroup
                      children: [
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (DParen
                                      child: 
                                        (ArithWord
                                          w: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (C {(cat)} {($ VSub_Name '$FP_TEMP')})
                                                          (C {(grep)} {(-ci)} {(-m1)} 
                                                            {
                                                              (DQ 
                                                                (BracedVarSub
                                                                  token: <VSub_Name STORAGE_PATH>
                                                                  bracket_op: 
                                                                    (ArrayIndex
                                                                      expr: 
                                                                        (ArithWord
                                                                          w: {($ VSub_Name '$i')}
                                                                        )
                                                                    )
                                                                  spids: [3144 3149]
                                                                ) (Lit_Other '$')
                                                              )
                                                            }
                                                          )
                                                        ]
                                                        negated: F
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_CommandSub '$('>
                                                spids: [3130 3152]
                                              )
                                            }
                                        )
                                      spids: [3128 3155]
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (Sentence
                                  child: 
                                    (C 
                                      {(STORAGE_TOTAL) (Lit_Other '[') ($ VSub_Name '$i') 
                                        (Lit_Other ']') (Lit_Other '=') 
                                        (CommandSubPart
                                          command_list: 
                                            (CommandList
                                              children: [
                                                (Pipeline
                                                  children: [
                                                    (C {(cat)} {($ VSub_Name '$FP_TEMP')})
                                                    (C {(grep)} {(-m1)} 
                                                      {
                                                        (DQ 
                                                          (BracedVarSub
                                                            token: <VSub_Name STORAGE_PATH>
                                                            bracket_op: 
                                                              (ArrayIndex
                                                                expr: 
                                                                  (ArithWord
                                                                    w: {($ VSub_Name '$i')}
                                                                  )
                                                              )
                                                            spids: [3179 3184]
                                                          ) (Lit_Other '$')
                                                        )
                                                      }
                                                    )
                                                    (C {(awk)} {(SQ <'{print $2}'>)})
                                                  ]
                                                  negated: F
                                                )
                                              ]
                                            )
                                          left_token: <Left_CommandSub '$('>
                                          spids: [3167 3195]
                                        )
                                      }
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                                (C 
                                  {(STORAGE_TOTAL) (Lit_Other '[') ($ VSub_Name '$i') (Lit_Other ']') 
                                    (Lit_Other '+') (Lit_Other '=') (SQ <B>)
                                  }
                                )
                                (Sentence
                                  child: 
                                    (C 
                                      {(STORAGE_USED) (Lit_Other '[') ($ VSub_Name '$i') 
                                        (Lit_Other ']') (Lit_Other '=') 
                                        (CommandSubPart
                                          command_list: 
                                            (CommandList
                                              children: [
                                                (Pipeline
                                                  children: [
                                                    (C {(cat)} {($ VSub_Name '$FP_TEMP')})
                                                    (C {(grep)} {(-m1)} 
                                                      {
                                                        (DQ 
                                                          (BracedVarSub
                                                            token: <VSub_Name STORAGE_PATH>
                                                            bracket_op: 
                                                              (ArrayIndex
                                                                expr: 
                                                                  (ArithWord
                                                                    w: {($ VSub_Name '$i')}
                                                                  )
                                                              )
                                                            spids: [3226 3231]
                                                          ) (Lit_Other '$')
                                                        )
                                                      }
                                                    )
                                                    (C {(awk)} {(SQ <'{print $3}'>)})
                                                  ]
                                                  negated: F
                                                )
                                              ]
                                            )
                                          left_token: <Left_CommandSub '$('>
                                          spids: [3214 3242]
                                        )
                                      }
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                                (C 
                                  {(STORAGE_USED) (Lit_Other '[') ($ VSub_Name '$i') (Lit_Other ']') 
                                    (Lit_Other '+') (Lit_Other '=') (SQ <B>)
                                  }
                                )
                                (Sentence
                                  child: 
                                    (C 
                                      {(STORAGE_FREE) (Lit_Other '[') ($ VSub_Name '$i') 
                                        (Lit_Other ']') (Lit_Other '=') 
                                        (CommandSubPart
                                          command_list: 
                                            (CommandList
                                              children: [
                                                (Pipeline
                                                  children: [
                                                    (C {(cat)} {($ VSub_Name '$FP_TEMP')})
                                                    (C {(grep)} {(-m1)} 
                                                      {
                                                        (DQ 
                                                          (BracedVarSub
                                                            token: <VSub_Name STORAGE_PATH>
                                                            bracket_op: 
                                                              (ArrayIndex
                                                                expr: 
                                                                  (ArithWord
                                                                    w: {($ VSub_Name '$i')}
                                                                  )
                                                              )
                                                            spids: [3273 3278]
                                                          ) (Lit_Other '$')
                                                        )
                                                      }
                                                    )
                                                    (C {(awk)} {(SQ <'{print $4}'>)})
                                                  ]
                                                  negated: F
                                                )
                                              ]
                                            )
                                          left_token: <Left_CommandSub '$('>
                                          spids: [3261 3289]
                                        )
                                      }
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                                (C 
                                  {(STORAGE_FREE) (Lit_Other '[') ($ VSub_Name '$i') (Lit_Other ']') 
                                    (Lit_Other '+') (Lit_Other '=') (SQ <B>)
                                  }
                                )
                                (C 
                                  {(STORAGE_PERCENT) (Lit_Other '[') ($ VSub_Name '$i') 
                                    (Lit_Other ']') (Lit_Other '=') 
                                    (CommandSubPart
                                      command_list: 
                                        (CommandList
                                          children: [
                                            (Pipeline
                                              children: [
                                                (C {(cat)} {($ VSub_Name '$FP_TEMP')})
                                                (C {(grep)} {(-m1)} 
                                                  {
                                                    (DQ 
                                                      (BracedVarSub
                                                        token: <VSub_Name STORAGE_PATH>
                                                        bracket_op: 
                                                          (ArrayIndex
                                                            expr: (ArithWord w:{($ VSub_Name '$i')})
                                                          )
                                                        spids: [3320 3325]
                                                      ) (Lit_Other '$')
                                                    )
                                                  }
                                                )
                                                (C {(awk)} {(SQ <'{print $5}'>)})
                                                (C {(sed)} {(SQ <'s/%//g'>)})
                                              ]
                                              negated: F
                                            )
                                          ]
                                        )
                                      left_token: <Left_CommandSub '$('>
                                      spids: [3308 3344]
                                    )
                                  }
                                )
                                (C {(Percent_To_Graph)} 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name STORAGE_PERCENT>
                                      bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$i')}))
                                      spids: [3350 3355]
                                    )
                                  }
                                )
                                (C 
                                  {(STORAGE_PERCENT) (Lit_Other '[') ($ VSub_Name '$i') 
                                    (Lit_Other ']') (Lit_Other '=') ($ VSub_Name '$C_PERCENT_GRAPH')
                                  }
                                )
                                (SimpleCommand
                                  words: [
                                    {(echo)}
                                    {(-e)}
                                    {(DQ ('Results success:') (Lit_Other '\\') (n))}
                                  ]
                                  redirects: [
                                    (Redir
                                      op: <Redir_DGreat '>>'>
                                      fd: 16777215
                                      arg_word: {(/var/log/dietpi-cloudshell.log)}
                                    )
                                  ]
                                )
                                (SimpleCommand
                                  words: [{(echo)} {(-e)} {(DQ (' - Index = ') ($ VSub_Name '$i'))}]
                                  redirects: [
                                    (Redir
                                      op: <Redir_DGreat '>>'>
                                      fd: 16777215
                                      arg_word: {(/var/log/dietpi-cloudshell.log)}
                                    )
                                  ]
                                )
                                (SimpleCommand
                                  words: [
                                    {(echo)}
                                    {(-e)}
                                    {
                                      (DQ (' - Path  = ') 
                                        (BracedVarSub
                                          token: <VSub_Name STORAGE_PATH>
                                          bracket_op: 
                                            (ArrayIndex
                                              expr: (ArithWord w:{($ VSub_Name '$i')})
                                            )
                                          spids: [3406 3411]
                                        )
                                      )
                                    }
                                  ]
                                  redirects: [
                                    (Redir
                                      op: <Redir_DGreat '>>'>
                                      fd: 16777215
                                      arg_word: {(/var/log/dietpi-cloudshell.log)}
                                    )
                                  ]
                                )
                                (SimpleCommand
                                  words: [
                                    {(echo)}
                                    {(-e)}
                                    {
                                      (DQ (' - Total = ') 
                                        (BracedVarSub
                                          token: <VSub_Name STORAGE_TOTAL>
                                          bracket_op: 
                                            (ArrayIndex
                                              expr: (ArithWord w:{($ VSub_Name '$i')})
                                            )
                                          spids: [3425 3430]
                                        )
                                      )
                                    }
                                  ]
                                  redirects: [
                                    (Redir
                                      op: <Redir_DGreat '>>'>
                                      fd: 16777215
                                      arg_word: {(/var/log/dietpi-cloudshell.log)}
                                    )
                                  ]
                                )
                              ]
                              spids: [16777215 3158]
                            )
                          ]
                          else_action: [
                            (C 
                              {(STORAGE_PERCENT) (Lit_Other '[') ($ VSub_Name '$i') (Lit_Other ']') 
                                (Lit_Other '=') 
                                (DQ 
                                  (BracedVarSub
                                    token: <VSub_Name STORAGE_PATH>
                                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$i')}))
                                    spids: [3449 3454]
                                  )
                                )
                              }
                            )
                            (C 
                              {(STORAGE_FREE) (Lit_Other '[') ($ VSub_Name '$i') (Lit_Other ']') 
                                (Lit_Other '=') (SQ <'Mount not active'>)
                              }
                            )
                            (SimpleCommand
                              words: [
                                {(echo)}
                                {(-e)}
                                {
                                  (DQ 
                                    (CommandSubPart
                                      command_list: (CommandList children:[(C {(date)})])
                                      left_token: <Left_CommandSub '$('>
                                      spids: [3478 3480]
                                    ) (' | Mount not found:') (Lit_Other '\\') (n)
                                  )
                                }
                              ]
                              redirects: [
                                (Redir
                                  op: <Redir_DGreat '>>'>
                                  fd: 16777215
                                  arg_word: {(/var/log/dietpi-cloudshell.log)}
                                )
                              ]
                            )
                            (SimpleCommand
                              words: [{(echo)} {(-e)} {(DQ (' - Index = ') ($ VSub_Name '$i'))}]
                              redirects: [
                                (Redir
                                  op: <Redir_DGreat '>>'>
                                  fd: 16777215
                                  arg_word: {(/var/log/dietpi-cloudshell.log)}
                                )
                              ]
                            )
                            (SimpleCommand
                              words: [
                                {(echo)}
                                {(-e)}
                                {
                                  (DQ (' - Path  = ') 
                                    (BracedVarSub
                                      token: <VSub_Name STORAGE_PATH>
                                      bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$i')}))
                                      spids: [3511 3516]
                                    ) (Lit_Other '\\') (n)
                                  )
                                }
                              ]
                              redirects: [
                                (Redir
                                  op: <Redir_DGreat '>>'>
                                  fd: 16777215
                                  arg_word: {(/var/log/dietpi-cloudshell.log)}
                                )
                              ]
                            )
                            (SimpleCommand
                              words: [{(cat)} {(DQ ($ VSub_Name '$FP_TEMP'))}]
                              redirects: [
                                (Redir
                                  op: <Redir_DGreat '>>'>
                                  fd: 16777215
                                  arg_word: {(/var/log/dietpi-cloudshell.log)}
                                )
                              ]
                            )
                            (SimpleCommand
                              words: [{(echo)} {(-e)} {(DQ (Lit_Other '\\') (n))}]
                              redirects: [
                                (Redir
                                  op: <Redir_DGreat '>>'>
                                  fd: 16777215
                                  arg_word: {(/var/log/dietpi-cloudshell.log)}
                                )
                              ]
                            )
                          ]
                          spids: [3439 3552]
                        )
                      ]
                      spids: [3122 3556]
                    )
                )
              ]
              spids: [3099 3560]
            )
          ]
          spids: [2812]
        )
      spids: [2809 2812]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:DIETPI_VERSION_CURRENT) op:Equal rhs:{(0)} spids:[3572])]
      spids: [3572]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:DIETPI_UPDATE_AVAILABLE)
          op: Equal
          rhs: {(0)}
          spids: [3576]
        )
      ]
      spids: [3576]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:DIETPI_WEBSITE)
          op: Equal
          rhs: {(SQ <dietpi.com>)}
          spids: [3580]
        )
      ]
      spids: [3580]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:DIETPI_TWITTER)
          op: Equal
          rhs: {(DQ ('@dietpi_'))}
          spids: [3586]
        )
      ]
      spids: [3586]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:DIETPI_HW_DESCRIPTION)
          op: Equal
          rhs: {(DQ (N/A))}
          spids: [3592]
        )
      ]
      spids: [3592]
    )
    (FuncDef
      name: Obtain_DIETPIINFO
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:DIETPI_VERSION_CURRENT)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Name aCOLOUR>
                          bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 2)}))
                          spids: [3611 3616]
                        ) 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [(C {(sed)} {(-n)} {(1p)} {(/DietPi/dietpi/.version)})]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [3617 3625]
                        ) (.) 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [(C {(sed)} {(-n)} {(2p)} {(/DietPi/dietpi/.version)})]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [3627 3635]
                        ) ($ VSub_Name '$C_RESET')
                      )
                    }
                  spids: [3609]
                )
              ]
              spids: [3609]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:DIETPI_HW_DESCRIPTION)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(sed)} {(-n)} {(2p)} {(/DietPi/dietpi/.hw_model)})]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [3646 3654]
                      )
                    }
                  spids: [3645]
                )
              ]
              spids: [3645]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:DIETPI_UPDATE_AVAILABLE)
                  op: Equal
                  rhs: {(DQ (N/A))}
                  spids: [3662]
                )
              ]
              spids: [3662]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-f)} {(/DietPi/dietpi/.update_available)} 
                          {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:DIETPI_VERSION_CURRENT)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (BracedVarSub
                                  token: <VSub_Name aCOLOUR>
                                  bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 1)}))
                                  spids: [3689 3694]
                                ) 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [(C {(sed)} {(-n)} {(1p)} {(/DietPi/dietpi/.version)})]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [3695 3703]
                                ) (.) 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [(C {(sed)} {(-n)} {(2p)} {(/DietPi/dietpi/.version)})]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [3705 3713]
                                ) ($ VSub_Name '$C_RESET')
                              )
                            }
                          spids: [3687]
                        )
                      ]
                      spids: [3687]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:update_version)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [(C {(cat)} {(/DietPi/dietpi/.update_available)})]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [3722 3726]
                              )
                            }
                          spids: [3721]
                        )
                      ]
                      spids: [3719]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$update_version'))} 
                                  {(Lit_Other '=')} {(SQ <-1>)} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:DIETPI_UPDATE_AVAILABLE)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          token: <VSub_Name aCOLOUR>
                                          bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 2)}))
                                          spids: [3752 3757]
                                        ) ('New Image') ($ VSub_Name '$C_RESET')
                                      )
                                    }
                                  spids: [3750]
                                )
                              ]
                              spids: [3750]
                            )
                          ]
                          spids: [16777215 3746]
                        )
                      ]
                      else_action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:DIETPI_UPDATE_AVAILABLE)
                              op: Equal
                              rhs: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name aCOLOUR>
                                      bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 2)}))
                                      spids: [3770 3775]
                                    ) ($ VSub_Name '$update_version') ($ VSub_Name '$C_RESET')
                                  )
                                }
                              spids: [3768]
                            )
                          ]
                          spids: [3768]
                        )
                      ]
                      spids: [3764 3782]
                    )
                  ]
                  spids: [16777215 3679]
                )
              ]
              spids: [16777215 3786]
            )
          ]
          spids: [3601]
        )
      spids: [3598 3601]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:NETWORK_DETAILS_ADAPTER)
          op: Equal
          rhs: {(SQ <eth0>)}
          spids: [3798]
        )
      ]
      spids: [3798]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:NETWORK_DETAILS_IP_INT) op:Equal rhs:{(0)} spids:[3804])]
      spids: [3804]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:NETWORK_DETAILS_MAC_ADDRESS)
          op: Equal
          rhs: {(0)}
          spids: [3808]
        )
      ]
      spids: [3808]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:NETWORK_DETAILS_SIGNAL_STRENGTH)
          op: Equal
          rhs: {(0)}
          spids: [3812]
        )
      ]
      spids: [3812]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:NETWORK_DETAILS_DUPLEXSPEED)
          op: Equal
          rhs: {(0)}
          spids: [3816]
        )
      ]
      spids: [3816]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:NETWORK_DETAILS_HOSTNAME)
          op: Equal
          rhs: {(0)}
          spids: [3820]
        )
      ]
      spids: [3820]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:NETWORK_DETAILS_MODE) op:Equal rhs:{(0)} spids:[3824])]
      spids: [3824]
    )
    (FuncDef
      name: Obtain_NETWORK_DETAILS
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:FP_TEMP)
                  op: Equal
                  rhs: {(DQ (/tmp/.ifconfig))}
                  spids: [3838]
                )
              ]
              spids: [3838]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:NETWORK_DETAILS_HOSTNAME)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: (CommandList children:[(C {(hostname)})])
                        left_token: <Left_CommandSub '$('>
                        spids: [3850 3852]
                      )
                    }
                  spids: [3849]
                )
              ]
              spids: [3849]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:NETWORK_DETAILS_ADAPTER)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(sed)} {(-n)} {(3p)} {(/DietPi/dietpi/.network)})]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [3861 3869]
                      )
                    }
                  spids: [3860]
                )
              ]
              spids: [3860]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithWord
                              w: 
                                {
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [
                                          (Pipeline
                                            children: [
                                              (C {(cat)} {(/etc/network/interfaces)})
                                              (C {(grep)} {(-ci)} {(-m1)} 
                                                {
                                                  (DQ ('iface ') 
                                                    ($ VSub_Name '$NETWORK_DETAILS_ADAPTER') (' inet dhcp')
                                                  )
                                                }
                                              )
                                            ]
                                            negated: F
                                          )
                                        ]
                                      )
                                    left_token: <Left_CommandSub '$('>
                                    spids: [3881 3899]
                                  )
                                }
                            )
                          spids: [3879 3902]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:NETWORK_DETAILS_MODE)
                          op: Equal
                          rhs: {(DQ (Dhcp))}
                          spids: [3908]
                        )
                      ]
                      spids: [3908]
                    )
                  ]
                  spids: [16777215 3905]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:NETWORK_DETAILS_MODE)
                      op: Equal
                      rhs: {(DQ (Static))}
                      spids: [3917]
                    )
                  ]
                  spids: [3917]
                )
              ]
              spids: [3914 3923]
            )
            (SimpleCommand
              words: [{(ifconfig)} {($ VSub_Name '$NETWORK_DETAILS_ADAPTER')}]
              redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{($ VSub_Name '$FP_TEMP')})]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:NETWORK_DETAILS_IP_INT)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(cat)} {(DQ ($ VSub_Name '$FP_TEMP'))})
                                  (C {(grep)} {(-m1)} {(SQ <'inet '>)})
                                  (C {(cut)} {(-d) (Lit_Other ':')} {(-f2)})
                                  (C {(awk)} {(SQ <'{ print $1}'>)})
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [3946 3978]
                      )
                    }
                  spids: [3945]
                )
              ]
              spids: [3945]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:NETWORK_DETAILS_MAC_ADDRESS)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {(cat)} 
                                {(/sys/class/net/) ($ VSub_Name '$NETWORK_DETAILS_ADAPTER') 
                                  (/address)
                                }
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [3982 3988]
                      )
                    }
                  spids: [3981]
                )
              ]
              spids: [3981]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: 
                                (ArithWord
                                  w: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {(echo)} 
                                                    {($ VSub_Name '$NETWORK_DETAILS_ADAPTER')}
                                                  )
                                                  (C {(grep)} {(-ci)} {(-m1)} {(SQ <wlan>)})
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [4004 4020]
                                      )
                                    }
                                )
                              right: (ArithWord w:{(Lit_Digits 1)})
                            )
                          spids: [4002 4027]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:NETWORK_DETAILS_SIGNAL_STRENGTH)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (Pipeline
                                          children: [
                                            (C {(iwconfig)} {($ VSub_Name '$NETWORK_DETAILS_ADAPTER')})
                                            (C {(grep)} {(-m1)} {(SQ <'Signal level='>)})
                                            (C {(awk)} {(SQ <'{ print $4 }'>)})
                                            (C {(sed)} {(SQ <'s/level=//g'>)})
                                            (C {(cut)} {(-f1)} {(-d)} {(DQ (/))})
                                          ]
                                          negated: F
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [4035 4077]
                                ) ('%')
                              )
                            }
                          spids: [4033]
                        )
                      ]
                      spids: [4033]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:NETWORK_DETAILS_DUPLEXSPEED)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (Pipeline
                                          children: [
                                            (C {(iwconfig)} {($ VSub_Name '$NETWORK_DETAILS_ADAPTER')})
                                            (C {(grep)} {(-m1)} {(SQ <'Bit Rate:'>)})
                                            (C {(awk)} {(SQ <'{ print $2 }'>)})
                                            (C {(sed)} {(SQ <'s/Rate://g'>)})
                                          ]
                                          negated: F
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [4084 4114]
                                ) (Mbit)
                              )
                            }
                          spids: [4082]
                        )
                      ]
                      spids: [4082]
                    )
                  ]
                  spids: [16777215 4030]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:NETWORK_DETAILS_DUPLEXSPEED)
                      op: Equal
                      rhs: 
                        {
                          (DQ 
                            (CommandSubPart
                              command_list: 
                                (CommandList
                                  children: [
                                    (C {(cat)} 
                                      {(/sys/class/net/) ($ VSub_Name '$NETWORK_DETAILS_ADAPTER') 
                                        (/speed)
                                      }
                                    )
                                  ]
                                )
                              left_token: <Left_CommandSub '$('>
                              spids: [4128 4134]
                            ) (' Mbit')
                          )
                        }
                      spids: [4126]
                    )
                  ]
                  spids: [4126]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:NETWORK_DETAILS_SIGNAL_STRENGTH)
                      op: Equal
                      rhs: {(DQ (N/A))}
                      spids: [4143]
                    )
                  ]
                  spids: [4143]
                )
              ]
              spids: [4123 4149]
            )
          ]
          spids: [3834]
        )
      spids: [3831 3834]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:NETWORK_USAGE_TOTAL_CURRENT_SENT)
          op: Equal
          rhs: {(0)}
          spids: [4161]
        )
      ]
      spids: [4161]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:NETWORK_USAGE_TOTAL_CURRENT_RECIEVED)
          op: Equal
          rhs: {(0)}
          spids: [4165]
        )
      ]
      spids: [4165]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:NETWORK_USAGE_NOW_CURRENT_SENT)
          op: Equal
          rhs: {(0)}
          spids: [4170]
        )
      ]
      spids: [4170]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:NETWORK_USAGE_NOW_CURRENT_RECIEVED)
          op: Equal
          rhs: {(0)}
          spids: [4174]
        )
      ]
      spids: [4174]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:NETWORK_USAGE_NOW_INIT) op:Equal rhs:{(0)} spids:[4178])]
      spids: [4178]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:NETWORK_USAGE_SECONDS_SINCE_LAST_UPDATE)
          op: Equal
          rhs: {(0)}
          spids: [4182]
        )
      ]
      spids: [4182]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:NETWORK_USAGE_DAY_CURRENT_SENT)
          op: Equal
          rhs: {(0)}
          spids: [4187]
        )
      ]
      spids: [4187]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:NETWORK_USAGE_DAY_CURRENT_RECIEVED)
          op: Equal
          rhs: {(0)}
          spids: [4191]
        )
      ]
      spids: [4191]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:NETWORK_USAGE_DAY_PREVIOUS_SENT)
          op: Equal
          rhs: {(0)}
          spids: [4195]
        )
      ]
      spids: [4195]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:NETWORK_USAGE_DAY_PREVIOUS_RECIEVED)
          op: Equal
          rhs: {(0)}
          spids: [4199]
        )
      ]
      spids: [4199]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:NETWORK_USAGE_DAY_OF_MONTH)
          op: Equal
          rhs: {(-1)}
          spids: [4203]
        )
      ]
      spids: [4203]
    )
    (FuncDef
      name: Obtain_NETWORK_USAGE
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:run_update) op:Equal rhs:{(1)} spids:[4221])]
              spids: [4219]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:mtu_size)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(netstat)} {(-N)} {(-i)})
                                  (C {(grep)} {(DQ ($ VSub_Name '$NETWORK_DETAILS_ADAPTER'))})
                                  (C {(awk)} {(SQ <'{print $2}'>)})
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [4229 4251]
                      )
                    }
                  spids: [4228]
                )
              ]
              spids: [4226]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (LogicalNot
                              child: 
                                (BoolBinary
                                  op_id: BoolBinary_EqualTilde
                                  left: {($ VSub_Name '$mtu_size')}
                                  right: 
                                    {(Lit_Other '^') (-) (Lit_Other '?') (Lit_Other '[') (0-9) 
                                      (Lit_Other ']') (Lit_Other '+') (Lit_Other '$')
                                    }
                                )
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:run_update)
                          op: Equal
                          rhs: {(0)}
                          spids: [4279]
                        )
                      ]
                      spids: [4279]
                    )
                  ]
                  spids: [16777215 4276]
                )
              ]
              spids: [16777215 4283]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:network_usage_current_recieved)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(netstat)} {(-N)} {(-i)})
                                  (C {(grep)} {(DQ ($ VSub_Name '$NETWORK_DETAILS_ADAPTER'))})
                                  (C {(awk)} {(SQ <'{print $4}'>)})
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [4290 4312]
                      )
                    }
                  spids: [4289]
                )
              ]
              spids: [4287]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (LogicalNot
                              child: 
                                (BoolBinary
                                  op_id: BoolBinary_EqualTilde
                                  left: {($ VSub_Name '$network_usage_current_recieved')}
                                  right: 
                                    {(Lit_Other '^') (-) (Lit_Other '?') (Lit_Other '[') (0-9) 
                                      (Lit_Other ']') (Lit_Other '+') (Lit_Other '$')
                                    }
                                )
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:run_update)
                          op: Equal
                          rhs: {(0)}
                          spids: [4340]
                        )
                      ]
                      spids: [4340]
                    )
                  ]
                  spids: [16777215 4337]
                )
              ]
              spids: [16777215 4344]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:network_usage_current_sent)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(netstat)} {(-N)} {(-i)})
                                  (C {(grep)} {(DQ ($ VSub_Name '$NETWORK_DETAILS_ADAPTER'))})
                                  (C {(awk)} {(SQ <'{print $8}'>)})
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [4351 4373]
                      )
                    }
                  spids: [4350]
                )
              ]
              spids: [4348]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (LogicalNot
                              child: 
                                (BoolBinary
                                  op_id: BoolBinary_EqualTilde
                                  left: {($ VSub_Name '$network_usage_current_sent')}
                                  right: 
                                    {(Lit_Other '^') (-) (Lit_Other '?') (Lit_Other '[') (0-9) 
                                      (Lit_Other ']') (Lit_Other '+') (Lit_Other '$')
                                    }
                                )
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:run_update)
                          op: Equal
                          rhs: {(0)}
                          spids: [4401]
                        )
                      ]
                      spids: [4401]
                    )
                  ]
                  spids: [16777215 4398]
                )
              ]
              spids: [16777215 4405]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$run_update')})
                              right: (ArithWord w:{(Lit_Digits 1)})
                            )
                          spids: [4412 4421]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:total_previous_sent)
                          op: Equal
                          rhs: {($ VSub_Name '$NETWORK_USAGE_TOTAL_CURRENT_SENT')}
                          spids: [4434]
                        )
                      ]
                      spids: [4432]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:total_previous_recieved)
                          op: Equal
                          rhs: {($ VSub_Name '$NETWORK_USAGE_TOTAL_CURRENT_RECIEVED')}
                          spids: [4440]
                        )
                      ]
                      spids: [4438]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:NETWORK_USAGE_TOTAL_CURRENT_RECIEVED)
                          op: Equal
                          rhs: 
                            {
                              (ArithSubPart
                                anode: 
                                  (ArithBinary
                                    op_id: Arith_Star
                                    left: 
                                      (ArithWord
                                        w: {($ VSub_Name '$network_usage_current_recieved')}
                                      )
                                    right: (ArithWord w:{($ VSub_Name '$mtu_size')})
                                  )
                                spids: [4450 4459]
                              )
                            }
                          spids: [4449]
                        )
                      ]
                      spids: [4449]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:NETWORK_USAGE_TOTAL_CURRENT_SENT)
                          op: Equal
                          rhs: 
                            {
                              (ArithSubPart
                                anode: 
                                  (ArithBinary
                                    op_id: Arith_Star
                                    left: (ArithWord w:{($ VSub_Name '$network_usage_current_sent')})
                                    right: (ArithWord w:{($ VSub_Name '$mtu_size')})
                                  )
                                spids: [4463 4472]
                              )
                            }
                          spids: [4462]
                        )
                      ]
                      spids: [4462]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:seconds_since_last_update)
                          op: Equal
                          rhs: 
                            {
                              (ArithSubPart
                                anode: 
                                  (ArithBinary
                                    op_id: Arith_Minus
                                    left: 
                                      (ArithWord
                                        w: 
                                          {
                                            (CommandSubPart
                                              command_list: 
                                                (CommandList
                                                  children: [
                                                    (C {(date)} {(Lit_Other '+') (Lit_Other '%') (s)})
                                                  ]
                                                )
                                              left_token: <Left_CommandSub '$('>
                                              spids: [4489 4495]
                                            )
                                          }
                                      )
                                    right: 
                                      (ArithWord
                                        w: {($ VSub_Name '$NETWORK_USAGE_SECONDS_SINCE_LAST_UPDATE')}
                                      )
                                  )
                                spids: [4487 4502]
                              )
                            }
                          spids: [4486]
                        )
                      ]
                      spids: [4484]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: (ArithWord w:{($ VSub_Name '$NETWORK_USAGE_NOW_INIT')})
                                      right: (ArithWord w:{(Lit_Digits 0)})
                                    )
                                  spids: [4512 4521]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:NETWORK_USAGE_NOW_CURRENT_SENT)
                                  op: Equal
                                  rhs: {(0)}
                                  spids: [4527]
                                )
                              ]
                              spids: [4527]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:NETWORK_USAGE_NOW_CURRENT_RECIEVED)
                                  op: Equal
                                  rhs: {(0)}
                                  spids: [4531]
                                )
                              ]
                              spids: [4531]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:NETWORK_USAGE_NOW_INIT)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [4536]
                                )
                              ]
                              spids: [4536]
                            )
                          ]
                          spids: [16777215 4524]
                        )
                      ]
                      else_action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:NETWORK_USAGE_NOW_CURRENT_SENT)
                              op: Equal
                              rhs: 
                                {
                                  (ArithSubPart
                                    anode: 
                                      (ArithBinary
                                        op_id: Arith_Slash
                                        left: 
                                          (ArithBinary
                                            op_id: Arith_Minus
                                            left: 
                                              (ArithWord
                                                w: {($ VSub_Name '$NETWORK_USAGE_TOTAL_CURRENT_SENT')}
                                              )
                                            right: (ArithWord w:{($ VSub_Name '$total_previous_sent')})
                                          )
                                        right: 
                                          (ArithWord
                                            w: {($ VSub_Name '$seconds_since_last_update')}
                                          )
                                      )
                                    spids: [4549 4566]
                                  )
                                }
                              spids: [4548]
                            )
                          ]
                          spids: [4548]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:NETWORK_USAGE_NOW_CURRENT_RECIEVED)
                              op: Equal
                              rhs: 
                                {
                                  (ArithSubPart
                                    anode: 
                                      (ArithBinary
                                        op_id: Arith_Slash
                                        left: 
                                          (ArithBinary
                                            op_id: Arith_Minus
                                            left: 
                                              (ArithWord
                                                w: 
                                                  {
                                                    ($ VSub_Name 
'$NETWORK_USAGE_TOTAL_CURRENT_RECIEVED'
                                                    )
                                                  }
                                              )
                                            right: 
                                              (ArithWord
                                                w: {($ VSub_Name '$total_previous_recieved')}
                                              )
                                          )
                                        right: 
                                          (ArithWord
                                            w: {($ VSub_Name '$seconds_since_last_update')}
                                          )
                                      )
                                    spids: [4570 4587]
                                  )
                                }
                              spids: [4569]
                            )
                          ]
                          spids: [4569]
                        )
                      ]
                      spids: [4545 4590]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:NETWORK_USAGE_SECONDS_SINCE_LAST_UPDATE)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [(C {(date)} {(Lit_Other '+') (Lit_Other '%') (s)})]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [4599 4605]
                              )
                            }
                          spids: [4598]
                        )
                      ]
                      spids: [4598]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:dayofmonth)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [(C {(date)} {(Lit_Other '+') (DQ ('%d'))})]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [4645 4652]
                              )
                            }
                          spids: [4644]
                        )
                      ]
                      spids: [4642]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$NETWORK_USAGE_DAY_OF_MONTH'))} 
                                  {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$dayofmonth'))} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:NETWORK_USAGE_DAY_PREVIOUS_SENT)
                                  op: Equal
                                  rhs: {($ VSub_Name '$NETWORK_USAGE_TOTAL_CURRENT_SENT')}
                                  spids: [4680]
                                )
                              ]
                              spids: [4680]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:NETWORK_USAGE_DAY_PREVIOUS_RECIEVED)
                                  op: Equal
                                  rhs: {($ VSub_Name '$NETWORK_USAGE_TOTAL_CURRENT_RECIEVED')}
                                  spids: [4684]
                                )
                              ]
                              spids: [4684]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:NETWORK_USAGE_DAY_OF_MONTH)
                                  op: Equal
                                  rhs: {($ VSub_Name '$dayofmonth')}
                                  spids: [4688]
                                )
                              ]
                              spids: [4688]
                            )
                          ]
                          spids: [16777215 4673]
                        )
                      ]
                      spids: [16777215 4693]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:NETWORK_USAGE_DAY_CURRENT_SENT)
                          op: Equal
                          rhs: 
                            {
                              (ArithSubPart
                                anode: 
                                  (ArithBinary
                                    op_id: Arith_Minus
                                    left: 
                                      (ArithWord
                                        w: {($ VSub_Name '$NETWORK_USAGE_TOTAL_CURRENT_SENT')}
                                      )
                                    right: 
                                      (ArithWord
                                        w: {($ VSub_Name '$NETWORK_USAGE_DAY_PREVIOUS_SENT')}
                                      )
                                  )
                                spids: [4702 4711]
                              )
                            }
                          spids: [4701]
                        )
                      ]
                      spids: [4701]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:NETWORK_USAGE_DAY_CURRENT_RECIEVED)
                          op: Equal
                          rhs: 
                            {
                              (ArithSubPart
                                anode: 
                                  (ArithBinary
                                    op_id: Arith_Minus
                                    left: 
                                      (ArithWord
                                        w: {($ VSub_Name '$NETWORK_USAGE_TOTAL_CURRENT_RECIEVED')}
                                      )
                                    right: 
                                      (ArithWord
                                        w: {($ VSub_Name '$NETWORK_USAGE_DAY_PREVIOUS_RECIEVED')}
                                      )
                                  )
                                spids: [4715 4724]
                              )
                            }
                          spids: [4714]
                        )
                      ]
                      spids: [4714]
                    )
                  ]
                  spids: [16777215 4424]
                )
              ]
              spids: [16777215 4728]
            )
          ]
          spids: [4211]
        )
      spids: [4208 4211]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:MEMORY_TOTAL) op:Equal rhs:{(0)} spids:[4740])]
      spids: [4740]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:MEMORY_FREE) op:Equal rhs:{(0)} spids:[4744])]
      spids: [4744]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:MEMORY_USED) op:Equal rhs:{(0)} spids:[4748])]
      spids: [4748]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:MEMORY_CACHED) op:Equal rhs:{(0)} spids:[4752])]
      spids: [4752]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:MEMORY_PERCENT) op:Equal rhs:{(0)} spids:[4756])]
      spids: [4756]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:MEMORY_SWAPTOTAL) op:Equal rhs:{(0)} spids:[4760])]
      spids: [4760]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:MEMORY_SWAPUSED) op:Equal rhs:{(0)} spids:[4764])]
      spids: [4764]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:MEMORY_SWAPFREE) op:Equal rhs:{(0)} spids:[4768])]
      spids: [4768]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:MEMORY_SWAPERCENT) op:Equal rhs:{(0)} spids:[4772])]
      spids: [4772]
    )
    (FuncDef
      name: Obtain_MEMORY
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:FP_TEMP)
                  op: Equal
                  rhs: {(DQ (/tmp/.mem))}
                  spids: [4787]
                )
              ]
              spids: [4787]
            )
            (SimpleCommand
              words: [{(free)} {(-m)}]
              redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{($ VSub_Name '$FP_TEMP')})]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:MEMORY_TOTAL)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(cat)} {($ VSub_Name '$FP_TEMP')})
                                  (C {(grep)} {(-m1)} {(SQ <'Mem: '>)})
                                  (C {(awk)} {(SQ <'{print $2}'>)})
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [4808 4830]
                      )
                    }
                  spids: [4807]
                )
              ]
              spids: [4807]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:MEMORY_CACHED)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(cat)} {($ VSub_Name '$FP_TEMP')})
                                  (C {(grep)} {(-m1)} {(SQ <'Mem: '>)})
                                  (C {(awk)} {(SQ <'{print $7}'>)})
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [4838 4860]
                      )
                    }
                  spids: [4837]
                )
              ]
              spids: [4837]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:MEMORY_USED)
                  op: Equal
                  rhs: 
                    {
                      (ArithSubPart
                        anode: 
                          (ArithBinary
                            op_id: Arith_Minus
                            left: 
                              (ArithWord
                                w: 
                                  {
                                    (CommandSubPart
                                      command_list: 
                                        (CommandList
                                          children: [
                                            (Pipeline
                                              children: [
                                                (C {(cat)} {($ VSub_Name '$FP_TEMP')})
                                                (C {(grep)} {(-m1)} {(SQ <'Mem: '>)})
                                                (C {(awk)} {(SQ <'{print $3}'>)})
                                              ]
                                              negated: F
                                            )
                                          ]
                                        )
                                      left_token: <Left_CommandSub '$('>
                                      spids: [4866 4888]
                                    )
                                  }
                              )
                            right: (ArithWord w:{($ VSub_Name '$MEMORY_CACHED')})
                          )
                        spids: [4864 4895]
                      )
                    }
                  spids: [4863]
                )
              ]
              spids: [4863]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:MEMORY_FREE)
                  op: Equal
                  rhs: 
                    {
                      (ArithSubPart
                        anode: 
                          (ArithBinary
                            op_id: Arith_Plus
                            left: 
                              (ArithWord
                                w: 
                                  {
                                    (CommandSubPart
                                      command_list: 
                                        (CommandList
                                          children: [
                                            (Pipeline
                                              children: [
                                                (C {(cat)} {($ VSub_Name '$FP_TEMP')})
                                                (C {(grep)} {(-m1)} {(SQ <'Mem: '>)})
                                                (C {(awk)} {(SQ <'{print $4}'>)})
                                              ]
                                              negated: F
                                            )
                                          ]
                                        )
                                      left_token: <Left_CommandSub '$('>
                                      spids: [4901 4923]
                                    )
                                  }
                              )
                            right: (ArithWord w:{($ VSub_Name '$MEMORY_CACHED')})
                          )
                        spids: [4899 4930]
                      )
                    }
                  spids: [4898]
                )
              ]
              spids: [4898]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:MEMORY_PERCENT)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(echo)})
                                  (C {(awk)} 
                                    {
                                      (DQ ('{print ') ($ VSub_Name '$MEMORY_USED') (' / ') 
                                        ($ VSub_Name '$MEMORY_TOTAL') (' * 100}')
                                      )
                                    }
                                  )
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [4934 4948]
                      )
                    }
                  spids: [4933]
                )
              ]
              spids: [4933]
            )
            (C {(Percent_To_Graph)} {($ VSub_Name '$MEMORY_PERCENT')})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:MEMORY_PERCENT)
                  op: Equal
                  rhs: {($ VSub_Name '$C_PERCENT_GRAPH')}
                  spids: [4961]
                )
              ]
              spids: [4961]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:MEMORY_SWAPTOTAL)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(cat)} {($ VSub_Name '$FP_TEMP')})
                                  (C {(grep)} {(-m1)} {(SQ <'Swap: '>)})
                                  (C {(awk)} {(SQ <'{print $2}'>)})
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [4971 4993]
                      )
                    }
                  spids: [4970]
                )
              ]
              spids: [4970]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_Great
                              left: (ArithWord w:{($ VSub_Name '$MEMORY_SWAPTOTAL')})
                              right: (ArithWord w:{(Lit_Digits 0)})
                            )
                          spids: [5002 5011]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:MEMORY_SWAPUSED)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(cat)} {($ VSub_Name '$FP_TEMP')})
                                          (C {(grep)} {(-m1)} {(SQ <'Swap: '>)})
                                          (C {(awk)} {(SQ <'{print $3}'>)})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [5018 5040]
                              )
                            }
                          spids: [5017]
                        )
                      ]
                      spids: [5017]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:MEMORY_SWAPFREE)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(cat)} {($ VSub_Name '$FP_TEMP')})
                                          (C {(grep)} {(-m1)} {(SQ <'Swap: '>)})
                                          (C {(awk)} {(SQ <'{print $4}'>)})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [5044 5066]
                              )
                            }
                          spids: [5043]
                        )
                      ]
                      spids: [5043]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:MEMORY_SWAPERCENT)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(echo)})
                                          (C {(awk)} 
                                            {
                                              (DQ ('{print ') ($ VSub_Name '$MEMORY_SWAPUSED') (' / ') 
                                                ($ VSub_Name '$MEMORY_SWAPTOTAL') (' * 100}')
                                              )
                                            }
                                          )
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [5070 5085]
                              )
                            }
                          spids: [5069]
                        )
                      ]
                      spids: [5069]
                    )
                    (C {(Percent_To_Graph)} {($ VSub_Name '$MEMORY_SWAPERCENT')})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:MEMORY_SWAPERCENT)
                          op: Equal
                          rhs: {($ VSub_Name '$C_PERCENT_GRAPH')}
                          spids: [5098]
                        )
                      ]
                      spids: [5098]
                    )
                  ]
                  spids: [16777215 5014]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:MEMORY_SWAPERCENT)
                      op: Equal
                      rhs: {(DQ (' Disabled'))}
                      spids: [5105]
                    )
                  ]
                  spids: [5105]
                )
              ]
              spids: [5102 5112]
            )
          ]
          spids: [4779]
        )
      spids: [4776 4779]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:PIHOLE_QUERY_COUNT) op:Equal rhs:{(0)} spids:[5125])]
      spids: [5125]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:PIHOLE_TOTAL_ADS) op:Equal rhs:{(0)} spids:[5129])]
      spids: [5129]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:PIHOLE_PERCENT_ADS) op:Equal rhs:{(0)} spids:[5133])]
      spids: [5133]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:PIHOLE_TOTAL_DOMAINS) op:Equal rhs:{(0)} spids:[5137])]
      spids: [5137]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:PIHOLE_LAST_DOMAIN_BLOCKED)
          op: Equal
          rhs: {(0)}
          spids: [5141]
        )
      ]
      spids: [5141]
    )
    (FuncDef
      name: Obtain_PIHOLE
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pihole_log_file)
                  op: Equal
                  rhs: {(DQ (/var/log/pihole.log))}
                  spids: [5154]
                )
              ]
              spids: [5152]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$PIHOLE_TOTAL_DOMAINS')})
                              right: (ArithWord w:{(Lit_Digits 0)})
                            )
                          spids: [5167 5176]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(-f)} {(/etc/pihole/gravity.list)} 
                                  {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:PIHOLE_TOTAL_DOMAINS)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {(wc)} {(-l)} {(/etc/pihole/gravity.list)})
                                                  (C {(awk)} {(SQ <'{print $1}'>)})
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [5197 5211]
                                      )
                                    }
                                  spids: [5196]
                                )
                              ]
                              spids: [5196]
                            )
                          ]
                          spids: [16777215 5193]
                        )
                      ]
                      else_action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:PIHOLE_TOTAL_DOMAINS)
                              op: Equal
                              rhs: {(DQ ('Not Installed'))}
                              spids: [5217]
                            )
                          ]
                          spids: [5217]
                        )
                      ]
                      spids: [5214 5223]
                    )
                  ]
                  spids: [16777215 5179]
                )
              ]
              spids: [16777215 5227]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:today)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(date)} {(Lit_Other '+') (SQ <'%b %e'>)})]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [5234 5241]
                      )
                    }
                  spids: [5233]
                )
              ]
              spids: [5231]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:PIHOLE_QUERY_COUNT)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(cat)} {(DQ ($ VSub_Name '$pihole_log_file'))})
                                  (C {(grep)} {(DQ ($ VSub_Name '$today'))})
                                  (C {(awk)} {(SQ <'/query/ {print $7}'>)})
                                  (C {(wc)} {(-l)})
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [5246 5274]
                      )
                    }
                  spids: [5245]
                )
              ]
              spids: [5245]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_LessEqual
                              left: (ArithWord w:{($ VSub_Name '$PIHOLE_QUERY_COUNT')})
                              right: (ArithWord w:{(Lit_Digits 0)})
                            )
                          spids: [5283 5292]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:PIHOLE_QUERY_COUNT)
                          op: Equal
                          rhs: {(1)}
                          spids: [5298]
                        )
                      ]
                      spids: [5298]
                    )
                  ]
                  spids: [16777215 5295]
                )
              ]
              spids: [16777215 5302]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:PIHOLE_TOTAL_ADS)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(cat)} {(DQ ($ VSub_Name '$pihole_log_file'))})
                                  (C {(grep)} {(DQ ($ VSub_Name '$today'))})
                                  (C {(awk)} {(SQ <'/\\/etc\\/pihole\\/gravity.list/ {print $7}'>)})
                                  (C {(wc)} {(-l)})
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [5307 5335]
                      )
                    }
                  spids: [5306]
                )
              ]
              spids: [5306]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:PIHOLE_PERCENT_ADS)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(echo)})
                                  (C {(awk)} 
                                    {
                                      (DQ ('{print ') ($ VSub_Name '$PIHOLE_TOTAL_ADS') (' / ') 
                                        ($ VSub_Name '$PIHOLE_QUERY_COUNT') (' * 100}')
                                      )
                                    }
                                  )
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [5339 5353]
                      )
                    }
                  spids: [5338]
                )
              ]
              spids: [5338]
            )
            (C {(Percent_To_Graph)} {($ VSub_Name '$PIHOLE_PERCENT_ADS')})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:PIHOLE_PERCENT_ADS)
                  op: Equal
                  rhs: {($ VSub_Name '$C_PERCENT_GRAPH')}
                  spids: [5366]
                )
              ]
              spids: [5366]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$PIHOLE_TOTAL_ADS')})
                              right: (ArithWord w:{(Lit_Digits 0)})
                            )
                          spids: [5377 5386]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:PIHOLE_LAST_DOMAIN_BLOCKED)
                          op: Equal
                          rhs: {(DQ (None))}
                          spids: [5392]
                        )
                      ]
                      spids: [5392]
                    )
                  ]
                  spids: [16777215 5389]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:PIHOLE_LAST_DOMAIN_BLOCKED)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (Pipeline
                                    children: [
                                      (C {(tac)} {(/var/log/pihole.log)})
                                      (C {(grep)} {(-m1)} {(SQ <gravity.list>)})
                                      (C {(awk)} {(SQ <'{print $6}'>)})
                                      (C {(cut)} {(-c)} {(1-24)})
                                    ]
                                    negated: F
                                  )
                                ]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [5402 5433]
                          )
                        }
                      spids: [5401]
                    )
                  ]
                  spids: [5401]
                )
              ]
              spids: [5398 5436]
            )
          ]
          spids: [5148]
        )
      spids: [5145 5148]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:RUN_INTRO) op:Equal rhs:{(0)} spids:[5456])]
      spids: [5456]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (DParen
                  child: 
                    (ArithBinary
                      op_id: Arith_DEqual
                      left: (ArithWord w:{($ VSub_Name '$INPUT')})
                      right: (ArithWord w:{(Lit_Digits 1)})
                    )
                  spids: [5462 5471]
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:RUN_INTRO) op:Equal rhs:{(1)} spids:[5477])]
              spids: [5477]
            )
          ]
          spids: [16777215 5474]
        )
      ]
      spids: [16777215 5481]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:SCENE_CURRENT) op:Equal rhs:{(2)} spids:[5489])]
      spids: [5489]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:MAX_SCENES) op:Equal rhs:{(9)} spids:[5493])]
      spids: [5493]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:REFRESH_RATE) op:Equal rhs:{(5)} spids:[5502])]
      spids: [5502]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:TEMPERATURE_OUTPUT_TYPE)
          op: Equal
          rhs: {(1)}
          spids: [5511]
        )
      ]
      spids: [5511]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:NETWORK_USAGE_CURRENT_OUTPUT_TYPE)
          op: Equal
          rhs: {(0)}
          spids: [5520]
        )
      ]
      spids: [5520]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:aEnabledScenes)
          op: Equal
          rhs: {(ArrayLiteralPart)}
          spids: [5529]
        )
      ]
      spids: [5529]
    )
    (ForExpr
      init: (BinaryAssign op_id:Arith_Equal left:(LhsName name:i) right:(ArithWord w:{(Lit_Digits 0)}))
      cond: 
        (ArithBinary
          op_id: Arith_Less
          left: (ArithVarRef name:i)
          right: (ArithWord w:{($ VSub_Name '$MAX_SCENES')})
        )
      update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i))
      body: 
        (DoGroup
          children: [
            (C 
              {(aEnabledScenes) (Lit_Other '[') ($ VSub_Name '$i') (Lit_Other ']') (Lit_Other '=') (1)}
            )
          ]
          spids: [5553 5564]
        )
    )
    (FuncDef
      name: Run_Intro
      body: 
        (BraceGroup
          children: [
            (C {(clear)})
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:aAnimation)
                  op: Equal
                  rhs: 
                    {
                      (ArrayLiteralPart
                        words: [
                          {(SQ <'                          '>)}
                          {(SQ <'i         -              c'>)}
                          {(SQ <'P  i      -            c l'>)}
                          {(SQ <'t  P  i   -          c l o'>)}
                          {(SQ <'e  t  P  i-        c l o u'>)}
                          {(SQ <'i  e  t Pi-    c l o u d s'>)}
                          {(SQ <'D  i  etPi-  c l o u d s h'>)}
                          {(SQ <'  D  ietPi-c l o u d s h e'>)}
                          {(SQ <'    DietPi-cl o u d s h e '>)}
                          {(SQ <'    DietPi-clou d s h e l '>)}
                          {(SQ <'    DietPi-clouds h e l l '>)}
                          {(SQ <'    DietPi-cloudshe l l   '>)}
                          {(SQ <'    DietPi-cloudshell     '>)}
                        ]
                      )
                    }
                  spids: [5598]
                )
              ]
              spids: [5596]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:aBar)
                  op: Equal
                  rhs: 
                    {
                      (ArrayLiteralPart
                        words: [
                          {(SQ <' '>)}
                          {(SQ <'  '>)}
                          {(SQ <'    '>)}
                          {(SQ <'       '>)}
                          {(SQ <'         '>)}
                          {(SQ <'            '>)}
                          {(SQ <'               '>)}
                          {(SQ <'                 '>)}
                          {(SQ <'                    '>)}
                          {(SQ <'                      '>)}
                          {(SQ <'                        '>)}
                          {(SQ <'                         '>)}
                          {(SQ <'                          '>)}
                        ]
                      )
                    }
                  spids: [5673]
                )
              ]
              spids: [5671]
            )
            (ForExpr
              init: 
                (BinaryAssign
                  op_id: Arith_Equal
                  left: (LhsName name:i)
                  right: (ArithWord w:{(Lit_Digits 0)})
                )
              cond: 
                (ArithBinary
                  op_id: Arith_Less
                  left: (ArithVarRef name:i)
                  right: 
                    (ArithWord
                      w: 
                        {
                          (BracedVarSub
                            token: <VSub_Name aAnimation>
                            prefix_op: VSub_Pound
                            bracket_op: (WholeArray op_id:Lit_At)
                            spids: [5757 5763]
                          )
                        }
                    )
                )
              update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i))
              body: 
                (DoGroup
                  children: [
                    (C {(clear)})
                    (C {(echo)} {(-e)} {(DQ ($ VSub_Name '$C_RESET'))})
                    (C {(echo)} {(-e)} {(DQ )})
                    (C {(echo)} {(-e)} {(DQ )})
                    (C {(echo)} {(-e)} {(DQ )})
                    (C {(echo)} {(-e)} 
                      {
                        (DQ ($ VSub_Name '$C_RESET') 
                          (BracedVarSub
                            token: <VSub_Name aCOLOUR>
                            bracket_op: 
                              (ArrayIndex
                                expr: (ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')})
                              )
                            spids: [5818 5823]
                          ) 
                          (BracedVarSub
                            token: <VSub_Name aAnimation>
                            bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$i')}))
                            spids: [5824 5829]
                          )
                        )
                      }
                    )
                    (C {(echo)} {(-e)} 
                      {
                        (DQ ($ VSub_Name '$C_RESET') ('          v') 
                          ($ VSub_Name '$DIETPI_CLOUDSHELL_VERSION')
                        )
                      }
                    )
                    (C {(echo)} {(-e)} {(DQ )})
                    (C {(echo)} {(-e)} {(DQ ('       Loading...'))})
                    (C {(echo)} {(-e)} 
                      {
                        (DQ ($ VSub_Name '$C_RESET') 
                          (BracedVarSub
                            token: <VSub_Name aCOLOUR>
                            bracket_op: 
                              (ArrayIndex
                                expr: (ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')})
                              )
                            spids: [5867 5872]
                          ) ($ VSub_Name '$C_REVERSE') 
                          (BracedVarSub
                            token: <VSub_Name aBar>
                            bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$i')}))
                            spids: [5874 5879]
                          )
                        )
                      }
                    )
                    (C {(sleep)} {(0.2)})
                  ]
                  spids: [5772 5889]
                )
            )
            (C {(unset)} {(aAnimation)})
            (C {(unset)} {(aBar)})
            (C {(sleep)} {(0.1)})
          ]
          spids: [5584]
        )
      spids: [5581 5584]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:BANNER_PRINT) op:Equal rhs:{(0)} spids:[5922])]
      spids: [5922]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:BANNER_MODE) op:Equal rhs:{(0)} spids:[5926])]
      spids: [5926]
    )
    (FuncDef
      name: Update_Banner
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$BANNER_MODE')})
                              right: (ArithWord w:{(Lit_Digits 0)})
                            )
                          spids: [5943 5952]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:BANNER_PRINT)
                          op: Equal
                          rhs: 
                            {
                              (DQ ('DietPi - Cloudshell v') ($ VSub_Name '$DIETPI_CLOUDSHELL_VERSION'))
                            }
                          spids: [5958]
                        )
                      ]
                      spids: [5958]
                    )
                  ]
                  spids: [16777215 5955]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$BANNER_MODE')})
                              right: (ArithWord w:{(Lit_Digits 1)})
                            )
                          spids: [5967 5976]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(Obtain_DATE_TIME)})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:BANNER_PRINT)
                          op: Equal
                          rhs: {($ VSub_Name '$DATE_TIME')}
                          spids: [5985]
                        )
                      ]
                      spids: [5985]
                    )
                  ]
                  spids: [5965 5979]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$BANNER_MODE')})
                              right: (ArithWord w:{(Lit_Digits 2)})
                            )
                          spids: [5991 6000]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(Obtain_UPTIME)})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:BANNER_PRINT)
                          op: Equal
                          rhs: {($ VSub_Name '$UPTIME')}
                          spids: [6009]
                        )
                      ]
                      spids: [6009]
                    )
                  ]
                  spids: [5989 6003]
                )
              ]
              spids: [16777215 6013]
            )
            (DParen
              child: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:BANNER_MODE))
              spids: [6021 6025]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_GreatEqual
                              left: (ArithWord w:{($ VSub_Name '$BANNER_MODE')})
                              right: (ArithWord w:{(Lit_Digits 3)})
                            )
                          spids: [6035 6044]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:BANNER_MODE)
                          op: Equal
                          rhs: {(0)}
                          spids: [6050]
                        )
                      ]
                      spids: [6050]
                    )
                  ]
                  spids: [16777215 6047]
                )
              ]
              spids: [16777215 6054]
            )
          ]
          spids: [5933]
        )
      spids: [5930 5933]
    )
    (FuncDef
      name: Update_Scene_0
      body: 
        (BraceGroup
          children: [
            (C {(Obtain_CPU)})
            (C {(clear)})
            (C {(echo)} {(-e)} {(DQ ($ VSub_Name '$C_RESET') (' ') ($ VSub_Name '$BANNER_PRINT'))})
            (C {(echo)} {(-e)} 
              {
                (DQ ($ VSub_Name '$C_RESET') 
                  (BracedVarSub
                    token: <VSub_Name aCOLOUR>
                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                    spids: [6114 6119]
                  ) ($ VSub_Name '$C_REVERSE') (' CPU Usage:               ')
                )
              }
            )
            (C {(echo)} {(-e)} {(DQ ($ VSub_Name '$C_RESET') ($ VSub_Name '$CPU_USAGE'))})
            (C {(echo)} {(-e)} 
              {
                (DQ ($ VSub_Name '$C_RESET') 
                  (BracedVarSub
                    token: <VSub_Name aCOLOUR>
                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                    spids: [6141 6146]
                  ) ($ VSub_Name '$C_REVERSE') (' CPU Stats:               ')
                )
              }
            )
            (C {(echo)} {(-e)} 
              {
                (DQ ($ VSub_Name '$C_RESET') 
                  (BracedVarSub
                    token: <VSub_Name aCOLOUR>
                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                    spids: [6158 6163]
                  ) (' Temp      ') 
                  (BracedVarSub
                    token: <VSub_Name aCOLOUR>
                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                    spids: [6165 6170]
                  ) (':') ($ VSub_Name '$C_RESET') ('  ') ($ VSub_Name '$C_CPUTEMP') ($ VSub_Name '$CPU_TEMP')
                )
              }
            )
            (C {(echo)} {(-e)} 
              {
                (DQ ($ VSub_Name '$C_RESET') 
                  (BracedVarSub
                    token: <VSub_Name aCOLOUR>
                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                    spids: [6185 6190]
                  ) (' Processes ') 
                  (BracedVarSub
                    token: <VSub_Name aCOLOUR>
                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                    spids: [6192 6197]
                  ) (':') ($ VSub_Name '$C_RESET') ('  ') ($ VSub_Name '$CPU_TOTALPROCESSES')
                )
              }
            )
            (C {(echo)} {(-e)} 
              {
                (DQ ($ VSub_Name '$C_RESET') 
                  (BracedVarSub
                    token: <VSub_Name aCOLOUR>
                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                    spids: [6211 6216]
                  ) (' Governor  ') 
                  (BracedVarSub
                    token: <VSub_Name aCOLOUR>
                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                    spids: [6218 6223]
                  ) (':') ($ VSub_Name '$C_RESET') ('  ') ($ VSub_Name '$CPU_GOV')
                )
              }
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$G_HW_MODEL')})
                              right: (ArithWord w:{(Lit_Digits 11)})
                            )
                          spids: [6238 6247]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(echo)} {(-e)} 
                      {
                        (DQ ($ VSub_Name '$C_RESET') 
                          (BracedVarSub
                            token: <VSub_Name aCOLOUR>
                            bracket_op: 
                              (ArrayIndex
                                expr: (ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')})
                              )
                            spids: [6259 6264]
                          ) (' Freq 0-3  ') 
                          (BracedVarSub
                            token: <VSub_Name aCOLOUR>
                            bracket_op: 
                              (ArrayIndex
                                expr: (ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')})
                              )
                            spids: [6266 6271]
                          ) (':') ($ VSub_Name '$C_RESET') ('  ') ($ VSub_Name '$CPU_FREQ_1') (' mhz')
                        )
                      }
                    )
                    (C {(echo)} {(-e)} 
                      {
                        (DQ ($ VSub_Name '$C_RESET') 
                          (BracedVarSub
                            token: <VSub_Name aCOLOUR>
                            bracket_op: 
                              (ArrayIndex
                                expr: (ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')})
                              )
                            spids: [6286 6291]
                          ) (' Freq 4-7  ') 
                          (BracedVarSub
                            token: <VSub_Name aCOLOUR>
                            bracket_op: 
                              (ArrayIndex
                                expr: (ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')})
                              )
                            spids: [6293 6298]
                          ) (':') ($ VSub_Name '$C_RESET') ('  ') ($ VSub_Name '$CPU_FREQ_2') (' mhz')
                        )
                      }
                    )
                  ]
                  spids: [16777215 6250]
                )
              ]
              else_action: [
                (C {(echo)} {(-e)} 
                  {
                    (DQ ($ VSub_Name '$C_RESET') 
                      (BracedVarSub
                        token: <VSub_Name aCOLOUR>
                        bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                        spids: [6321 6326]
                      ) (' Freq      ') 
                      (BracedVarSub
                        token: <VSub_Name aCOLOUR>
                        bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                        spids: [6328 6333]
                      ) (':') ($ VSub_Name '$C_RESET') ('  ') ($ VSub_Name '$CPU_FREQ_1') (' mhz')
                    )
                  }
                )
              ]
              spids: [6312 6342]
            )
          ]
          spids: [6069]
        )
      spids: [6066 6069]
    )
    (FuncDef
      name: Update_Scene_1
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:index_1)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [6363]
                )
              ]
              spids: [6361]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:index_2)
                  op: Equal
                  rhs: {($ VSub_Number '$2')}
                  spids: [6369]
                )
              ]
              spids: [6367]
            )
            (C {(Obtain_STORAGE)} {($ VSub_Name '$index_1')} {($ VSub_Name '$index_2')})
            (C {(clear)})
            (C {(echo)} {(-e)} {(DQ ($ VSub_Name '$C_RESET') (' ') ($ VSub_Name '$BANNER_PRINT'))})
            (C {(echo)} {(-e)} 
              {
                (DQ ($ VSub_Name '$C_RESET') 
                  (BracedVarSub
                    token: <VSub_Name aCOLOUR>
                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                    spids: [6419 6424]
                  ) ($ VSub_Name '$C_REVERSE') (' ') 
                  (BracedVarSub
                    token: <VSub_Name STORAGE_NAME>
                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$index_1')}))
                    spids: [6427 6432]
                  )
                )
              }
            )
            (C {(echo)} {(-e)} 
              {
                (DQ ($ VSub_Name '$C_RESET') 
                  (BracedVarSub
                    token: <VSub_Name STORAGE_PERCENT>
                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$index_1')}))
                    spids: [6442 6447]
                  )
                )
              }
            )
            (C {(echo)} {(-e)} 
              {
                (DQ ($ VSub_Name '$C_RESET') 
                  (BracedVarSub
                    token: <VSub_Name aCOLOUR>
                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                    spids: [6457 6462]
                  ) (' Used: ') ($ VSub_Name '$C_RESET') 
                  (BracedVarSub
                    token: <VSub_Name STORAGE_USED>
                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$index_1')}))
                    spids: [6465 6470]
                  ) (' / ') 
                  (BracedVarSub
                    token: <VSub_Name STORAGE_TOTAL>
                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$index_1')}))
                    spids: [6472 6477]
                  )
                )
              }
            )
            (C {(echo)} {(-e)} 
              {
                (DQ ($ VSub_Name '$C_RESET') 
                  (BracedVarSub
                    token: <VSub_Name aCOLOUR>
                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                    spids: [6487 6492]
                  ) (' Free: ') ($ VSub_Name '$C_RESET') 
                  (BracedVarSub
                    token: <VSub_Name STORAGE_FREE>
                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$index_1')}))
                    spids: [6495 6500]
                  )
                )
              }
            )
            (C {(echo)} {(-e)} 
              {
                (DQ ($ VSub_Name '$C_RESET') 
                  (BracedVarSub
                    token: <VSub_Name aCOLOUR>
                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                    spids: [6510 6515]
                  ) ($ VSub_Name '$C_REVERSE') (' ') 
                  (BracedVarSub
                    token: <VSub_Name STORAGE_NAME>
                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$index_2')}))
                    spids: [6518 6523]
                  )
                )
              }
            )
            (C {(echo)} {(-e)} 
              {
                (DQ ($ VSub_Name '$C_RESET') 
                  (BracedVarSub
                    token: <VSub_Name STORAGE_PERCENT>
                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$index_2')}))
                    spids: [6533 6538]
                  )
                )
              }
            )
            (C {(echo)} {(-e)} 
              {
                (DQ ($ VSub_Name '$C_RESET') 
                  (BracedVarSub
                    token: <VSub_Name aCOLOUR>
                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                    spids: [6548 6553]
                  ) (' Used: ') ($ VSub_Name '$C_RESET') 
                  (BracedVarSub
                    token: <VSub_Name STORAGE_USED>
                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$index_2')}))
                    spids: [6556 6561]
                  ) (' / ') 
                  (BracedVarSub
                    token: <VSub_Name STORAGE_TOTAL>
                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$index_2')}))
                    spids: [6563 6568]
                  )
                )
              }
            )
            (C {(echo)} {(-e)} 
              {
                (DQ ($ VSub_Name '$C_RESET') 
                  (BracedVarSub
                    token: <VSub_Name aCOLOUR>
                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                    spids: [6578 6583]
                  ) (' Free: ') ($ VSub_Name '$C_RESET') 
                  (BracedVarSub
                    token: <VSub_Name STORAGE_FREE>
                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$index_2')}))
                    spids: [6586 6591]
                  )
                )
              }
            )
          ]
          spids: [6357]
        )
      spids: [6354 6357]
    )
    (FuncDef
      name: Update_Scene_4
      body: 
        (BraceGroup
          children: [
            (C {(Obtain_DIETPIINFO)})
            (C {(clear)})
            (C {(echo)} {(-e)} {(DQ ($ VSub_Name '$C_RESET') (' ') ($ VSub_Name '$BANNER_PRINT'))})
            (C {(echo)} {(-e)} 
              {
                (DQ ($ VSub_Name '$C_RESET') 
                  (BracedVarSub
                    token: <VSub_Name aCOLOUR>
                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                    spids: [6652 6657]
                  ) ($ VSub_Name '$C_REVERSE') (' DietPi:                  ')
                )
              }
            )
            (C {(echo)} {(-e)} 
              {
                (DQ ($ VSub_Name '$C_RESET') 
                  (BracedVarSub
                    token: <VSub_Name aCOLOUR>
                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                    spids: [6669 6674]
                  ) (' Version   ') 
                  (BracedVarSub
                    token: <VSub_Name aCOLOUR>
                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                    spids: [6676 6681]
                  ) (':') ($ VSub_Name '$C_RESET') ('  ') ($ VSub_Name '$DIETPI_VERSION_CURRENT')
                )
              }
            )
            (C {(echo)} {(-e)} 
              {
                (DQ ($ VSub_Name '$C_RESET') 
                  (BracedVarSub
                    token: <VSub_Name aCOLOUR>
                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                    spids: [6695 6700]
                  ) (' Updates   ') 
                  (BracedVarSub
                    token: <VSub_Name aCOLOUR>
                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                    spids: [6702 6707]
                  ) (':') ($ VSub_Name '$C_RESET') ('  ') ($ VSub_Name '$DIETPI_UPDATE_AVAILABLE')
                )
              }
            )
            (C {(echo)} {(-e)} 
              {
                (DQ ($ VSub_Name '$C_RESET') 
                  (BracedVarSub
                    token: <VSub_Name aCOLOUR>
                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                    spids: [6721 6726]
                  ) (' Web       ') 
                  (BracedVarSub
                    token: <VSub_Name aCOLOUR>
                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                    spids: [6728 6733]
                  ) (':') ($ VSub_Name '$C_RESET') ('  ') ($ VSub_Name '$DIETPI_WEBSITE')
                )
              }
            )
            (C {(echo)} {(-e)} 
              {
                (DQ ($ VSub_Name '$C_RESET') 
                  (BracedVarSub
                    token: <VSub_Name aCOLOUR>
                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                    spids: [6747 6752]
                  ) (' Twitter   ') 
                  (BracedVarSub
                    token: <VSub_Name aCOLOUR>
                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                    spids: [6754 6759]
                  ) (':') ($ VSub_Name '$C_RESET') ('  ') ($ VSub_Name '$DIETPI_TWITTER')
                )
              }
            )
            (C {(echo)} {(-e)} 
              {
                (DQ ($ VSub_Name '$C_RESET') 
                  (BracedVarSub
                    token: <VSub_Name aCOLOUR>
                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                    spids: [6773 6778]
                  ) ($ VSub_Name '$C_REVERSE') (' Device:                  ')
                )
              }
            )
            (C {(echo)} {(-e)} 
              {(DQ ($ VSub_Name '$C_RESET') (' ') ($ VSub_Name '$DIETPI_HW_DESCRIPTION'))}
            )
          ]
          spids: [6607]
        )
      spids: [6604 6607]
    )
    (FuncDef
      name: Update_Scene_5
      body: 
        (BraceGroup
          children: [
            (C {(Obtain_NETWORK_DETAILS)})
            (C {(clear)})
            (C {(echo)} {(-e)} {(DQ ($ VSub_Name '$C_RESET') (' ') ($ VSub_Name '$BANNER_PRINT'))})
            (C {(echo)} {(-e)} 
              {
                (DQ ($ VSub_Name '$C_RESET') 
                  (BracedVarSub
                    token: <VSub_Name aCOLOUR>
                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                    spids: [6852 6857]
                  ) ($ VSub_Name '$C_REVERSE') (' Network Details:         ')
                )
              }
            )
            (C {(echo)} {(-e)} 
              {
                (DQ ($ VSub_Name '$C_RESET') 
                  (BracedVarSub
                    token: <VSub_Name aCOLOUR>
                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                    spids: [6869 6874]
                  ) (' IP      : ') ($ VSub_Name '$C_RESET') ($ VSub_Name '$NETWORK_DETAILS_IP_INT')
                )
              }
            )
            (C {(echo)} {(-e)} 
              {
                (DQ ($ VSub_Name '$C_RESET') 
                  (BracedVarSub
                    token: <VSub_Name aCOLOUR>
                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                    spids: [6887 6892]
                  ) (' Mode    : ') ($ VSub_Name '$C_RESET') ($ VSub_Name '$NETWORK_DETAILS_MODE')
                )
              }
            )
            (C {(echo)} {(-e)} 
              {
                (DQ ($ VSub_Name '$C_RESET') 
                  (BracedVarSub
                    token: <VSub_Name aCOLOUR>
                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                    spids: [6905 6910]
                  ) (' Adapter : ') ($ VSub_Name '$C_RESET') ($ VSub_Name '$NETWORK_DETAILS_ADAPTER')
                )
              }
            )
            (C {(echo)} {(-e)} 
              {
                (DQ ($ VSub_Name '$C_RESET') 
                  (BracedVarSub
                    token: <VSub_Name aCOLOUR>
                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                    spids: [6923 6928]
                  ) (' Duplex  : ') ($ VSub_Name '$C_RESET') ($ VSub_Name '$NETWORK_DETAILS_DUPLEXSPEED')
                )
              }
            )
            (C {(echo)} {(-e)} 
              {
                (DQ ($ VSub_Name '$C_RESET') 
                  (BracedVarSub
                    token: <VSub_Name aCOLOUR>
                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                    spids: [6941 6946]
                  ) (' Signal  : ') ($ VSub_Name '$C_RESET') ($ VSub_Name '$NETWORK_DETAILS_SIGNAL_STRENGTH')
                )
              }
            )
            (C {(echo)} {(-e)} 
              {
                (DQ ($ VSub_Name '$C_RESET') 
                  (BracedVarSub
                    token: <VSub_Name aCOLOUR>
                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                    spids: [6959 6964]
                  ) (' Hostname: ') ($ VSub_Name '$C_RESET') ($ VSub_Name '$NETWORK_DETAILS_HOSTNAME')
                )
              }
            )
            (C {(echo)} {(-e)} 
              {
                (DQ ($ VSub_Name '$C_RESET') 
                  (BracedVarSub
                    token: <VSub_Name aCOLOUR>
                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                    spids: [6977 6982]
                  ) (' MAC: ') ($ VSub_Name '$C_RESET') ($ VSub_Name '$NETWORK_DETAILS_MAC_ADDRESS')
                )
              }
            )
          ]
          spids: [6807]
        )
      spids: [6804 6807]
    )
    (FuncDef
      name: Update_Scene_6
      body: 
        (BraceGroup
          children: [
            (C {(Obtain_NETWORK_USAGE)})
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:total_sent_output)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {(BYTE_PRINT_CONVERSION)} 
                                {($ VSub_Name '$NETWORK_USAGE_TOTAL_CURRENT_SENT')}
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [7020 7026]
                      )
                    }
                  spids: [7019]
                )
              ]
              spids: [7017]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:total_recieved_output)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {(BYTE_PRINT_CONVERSION)} 
                                {($ VSub_Name '$NETWORK_USAGE_TOTAL_CURRENT_RECIEVED')}
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [7032 7038]
                      )
                    }
                  spids: [7031]
                )
              ]
              spids: [7029]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:today_sent_output)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {(BYTE_PRINT_CONVERSION)} 
                                {($ VSub_Name '$NETWORK_USAGE_DAY_CURRENT_SENT')}
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [7045 7051]
                      )
                    }
                  spids: [7044]
                )
              ]
              spids: [7042]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:today_recieved_output)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {(BYTE_PRINT_CONVERSION)} 
                                {($ VSub_Name '$NETWORK_USAGE_DAY_CURRENT_RECIEVED')}
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [7057 7063]
                      )
                    }
                  spids: [7056]
                )
              ]
              spids: [7054]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:now_sent_output)
                  op: Equal
                  rhs: {(0)}
                  spids: [7069]
                )
              ]
              spids: [7067]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:now_recieved_output0) op:Equal spids:[7075])]
              spids: [7073]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$NETWORK_USAGE_CURRENT_OUTPUT_TYPE')})
                              right: (ArithWord w:{(Lit_Digits 0)})
                            )
                          spids: [7080 7089]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:now_sent_output)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (C {(BIT_PRINT_CONVERSION)} 
                                        {($ VSub_Name '$NETWORK_USAGE_NOW_CURRENT_SENT')}
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [7096 7102]
                              )
                            }
                          spids: [7095]
                        )
                      ]
                      spids: [7095]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:now_recieved_output)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (C {(BIT_PRINT_CONVERSION)} 
                                        {($ VSub_Name '$NETWORK_USAGE_NOW_CURRENT_RECIEVED')}
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [7106 7112]
                              )
                            }
                          spids: [7105]
                        )
                      ]
                      spids: [7105]
                    )
                  ]
                  spids: [16777215 7092]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:now_sent_output)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (C {(BYTE_PRINT_CONVERSION)} 
                                    {($ VSub_Name '$NETWORK_USAGE_NOW_CURRENT_SENT')}
                                  )
                                ]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [7119 7125]
                          )
                        }
                      spids: [7118]
                    )
                  ]
                  spids: [7118]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:now_recieved_output)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (C {(BYTE_PRINT_CONVERSION)} 
                                    {($ VSub_Name '$NETWORK_USAGE_NOW_CURRENT_RECIEVED')}
                                  )
                                ]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [7129 7135]
                          )
                        }
                      spids: [7128]
                    )
                  ]
                  spids: [7128]
                )
              ]
              spids: [7115 7138]
            )
            (C {(clear)})
            (C {(echo)} {(-e)} 
              {
                (DQ ($ VSub_Name '$C_RESET') 
                  (BracedVarSub
                    token: <VSub_Name aCOLOUR>
                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                    spids: [7175 7180]
                  ) ($ VSub_Name '$C_REVERSE') (' Network Usage (TOTAL):   ')
                )
              }
            )
            (C {(echo)} {(-e)} 
              {
                (DQ ($ VSub_Name '$C_RESET') 
                  (BracedVarSub
                    token: <VSub_Name aCOLOUR>
                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                    spids: [7192 7197]
                  ) (' Sent     : ') ($ VSub_Name '$C_RESET') ($ VSub_Name '$total_sent_output')
                )
              }
            )
            (C {(echo)} {(-e)} 
              {
                (DQ ($ VSub_Name '$C_RESET') 
                  (BracedVarSub
                    token: <VSub_Name aCOLOUR>
                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                    spids: [7210 7215]
                  ) (' Recieved : ') ($ VSub_Name '$C_RESET') ($ VSub_Name '$total_recieved_output')
                )
              }
            )
            (C {(echo)} {(-e)} 
              {
                (DQ ($ VSub_Name '$C_RESET') 
                  (BracedVarSub
                    token: <VSub_Name aCOLOUR>
                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                    spids: [7229 7234]
                  ) ($ VSub_Name '$C_REVERSE') (' Network Usage (TODAY):   ')
                )
              }
            )
            (C {(echo)} {(-e)} 
              {
                (DQ ($ VSub_Name '$C_RESET') 
                  (BracedVarSub
                    token: <VSub_Name aCOLOUR>
                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                    spids: [7246 7251]
                  ) (' Sent     : ') ($ VSub_Name '$C_RESET') ($ VSub_Name '$today_sent_output')
                )
              }
            )
            (C {(echo)} {(-e)} 
              {
                (DQ ($ VSub_Name '$C_RESET') 
                  (BracedVarSub
                    token: <VSub_Name aCOLOUR>
                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                    spids: [7264 7269]
                  ) (' Recieved : ') ($ VSub_Name '$C_RESET') ($ VSub_Name '$today_recieved_output')
                )
              }
            )
            (C {(echo)} {(-e)} 
              {
                (DQ ($ VSub_Name '$C_RESET') 
                  (BracedVarSub
                    token: <VSub_Name aCOLOUR>
                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                    spids: [7283 7288]
                  ) ($ VSub_Name '$C_REVERSE') (' Network Usage (CURRENT): ')
                )
              }
            )
            (C {(echo)} {(-e)} 
              {
                (DQ ($ VSub_Name '$C_RESET') 
                  (BracedVarSub
                    token: <VSub_Name aCOLOUR>
                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                    spids: [7300 7305]
                  ) (' Sent     : ') ($ VSub_Name '$C_RESET') ($ VSub_Name '$now_sent_output') (/s)
                )
              }
            )
            (C {(echo)} {(-e)} 
              {
                (DQ ($ VSub_Name '$C_RESET') 
                  (BracedVarSub
                    token: <VSub_Name aCOLOUR>
                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                    spids: [7319 7324]
                  ) (' Recieved : ') ($ VSub_Name '$C_RESET') ($ VSub_Name '$now_recieved_output') (/s)
                )
              }
            )
          ]
          spids: [7001]
        )
      spids: [6998 7001]
    )
    (FuncDef
      name: Update_Scene_7
      body: 
        (BraceGroup
          children: [
            (C {(Obtain_MEMORY)})
            (C {(clear)})
            (C {(echo)} {(-e)} {(DQ ($ VSub_Name '$C_RESET') (' ') ($ VSub_Name '$BANNER_PRINT'))})
            (C {(echo)} {(-e)} 
              {
                (DQ ($ VSub_Name '$C_RESET') 
                  (BracedVarSub
                    token: <VSub_Name aCOLOUR>
                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                    spids: [7389 7394]
                  ) ($ VSub_Name '$C_REVERSE') (' Memory Usage (RAM):      ')
                )
              }
            )
            (C {(echo)} {(-e)} {(DQ ($ VSub_Name '$C_RESET') ($ VSub_Name '$MEMORY_PERCENT'))})
            (C {(echo)} {(-e)} 
              {
                (DQ ($ VSub_Name '$C_RESET') 
                  (BracedVarSub
                    token: <VSub_Name aCOLOUR>
                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                    spids: [7416 7421]
                  ) (' Used: ') ($ VSub_Name '$C_RESET') ($ VSub_Name '$MEMORY_USED') (' MB / ') 
                  ($ VSub_Name '$MEMORY_TOTAL') (' MB')
                )
              }
            )
            (C {(echo)} {(-e)} 
              {
                (DQ ($ VSub_Name '$C_RESET') 
                  (BracedVarSub
                    token: <VSub_Name aCOLOUR>
                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                    spids: [7437 7442]
                  ) (' Free: ') ($ VSub_Name '$C_RESET') ($ VSub_Name '$MEMORY_FREE') (' MB')
                )
              }
            )
            (C {(echo)} {(-e)} 
              {
                (DQ ($ VSub_Name '$C_RESET') 
                  (BracedVarSub
                    token: <VSub_Name aCOLOUR>
                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                    spids: [7456 7461]
                  ) ($ VSub_Name '$C_REVERSE') (' Memory Usage (SWAP):     ')
                )
              }
            )
            (C {(echo)} {(-e)} {(DQ ($ VSub_Name '$C_RESET') ($ VSub_Name '$MEMORY_SWAPERCENT'))})
            (C {(echo)} {(-e)} 
              {
                (DQ ($ VSub_Name '$C_RESET') 
                  (BracedVarSub
                    token: <VSub_Name aCOLOUR>
                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                    spids: [7483 7488]
                  ) (' Used: ') ($ VSub_Name '$C_RESET') ($ VSub_Name '$MEMORY_SWAPUSED') (' MB / ') 
                  ($ VSub_Name '$MEMORY_SWAPTOTAL') (' MB')
                )
              }
            )
            (C {(echo)} {(-e)} 
              {
                (DQ ($ VSub_Name '$C_RESET') 
                  (BracedVarSub
                    token: <VSub_Name aCOLOUR>
                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                    spids: [7504 7509]
                  ) (' Free: ') ($ VSub_Name '$C_RESET') ($ VSub_Name '$MEMORY_SWAPFREE') (' MB')
                )
              }
            )
          ]
          spids: [7344]
        )
      spids: [7341 7344]
    )
    (FuncDef
      name: Update_Scene_8
      body: 
        (BraceGroup
          children: [
            (C {(Obtain_PIHOLE)})
            (C {(clear)})
            (C {(echo)} {(-e)} {(DQ ($ VSub_Name '$C_RESET') (' ') ($ VSub_Name '$BANNER_PRINT'))})
            (C {(echo)} {(-e)} 
              {
                (DQ ($ VSub_Name '$C_RESET') 
                  (BracedVarSub
                    token: <VSub_Name aCOLOUR>
                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                    spids: [7574 7579]
                  ) ($ VSub_Name '$C_REVERSE') (' Pi-hole stats (TODAY):   ')
                )
              }
            )
            (C {(echo)} {(-e)} 
              {
                (DQ ($ VSub_Name '$C_RESET') 
                  (BracedVarSub
                    token: <VSub_Name aCOLOUR>
                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                    spids: [7591 7596]
                  ) (' Ads Blocked: ') ($ VSub_Name '$C_RESET') ($ VSub_Name '$PIHOLE_TOTAL_ADS')
                )
              }
            )
            (C {(echo)} {(-e)} 
              {
                (DQ ($ VSub_Name '$C_RESET') 
                  (BracedVarSub
                    token: <VSub_Name aCOLOUR>
                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                    spids: [7609 7614]
                  ) (' DNS Queries: ') ($ VSub_Name '$C_RESET') ($ VSub_Name '$PIHOLE_QUERY_COUNT')
                )
              }
            )
            (C {(echo)} {(-e)} 
              {
                (DQ ($ VSub_Name '$C_RESET') 
                  (BracedVarSub
                    token: <VSub_Name aCOLOUR>
                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                    spids: [7627 7632]
                  ) (' Blocked Domains: ') ($ VSub_Name '$C_RESET') ($ VSub_Name '$PIHOLE_TOTAL_DOMAINS')
                )
              }
            )
            (C {(echo)} {(-e)} 
              {
                (DQ ($ VSub_Name '$C_RESET') 
                  (BracedVarSub
                    token: <VSub_Name aCOLOUR>
                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                    spids: [7645 7650]
                  ) ($ VSub_Name '$C_REVERSE') (' % of traffic = Ads:      ')
                )
              }
            )
            (C {(echo)} {(-e)} {(DQ ($ VSub_Name '$C_RESET') ($ VSub_Name '$PIHOLE_PERCENT_ADS'))})
            (C {(echo)} {(-e)} 
              {
                (DQ ($ VSub_Name '$C_RESET') 
                  (BracedVarSub
                    token: <VSub_Name aCOLOUR>
                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                    spids: [7672 7677]
                  ) ($ VSub_Name '$C_REVERSE') (' Last domain blocked:     ')
                )
              }
            )
            (C {(echo)} {(-e)} 
              {(DQ ($ VSub_Name '$C_RESET') (' ') ($ VSub_Name '$PIHOLE_LAST_DOMAIN_BLOCKED'))}
            )
          ]
          spids: [7529]
        )
      spids: [7526 7529]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:FILEPATH_SETTINGS)
          op: Equal
          rhs: {(DQ (/DietPi/dietpi/.dietpi-cloudshell))}
          spids: [7715]
        )
      ]
      spids: [7715]
    )
    (FuncDef
      name: Read_Settings_File
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-f)} {(DQ ($ VSub_Name '$FILEPATH_SETTINGS'))} 
                          {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(.)} {(DQ ($ VSub_Name '$FILEPATH_SETTINGS'))})]
                  spids: [16777215 7742]
                )
              ]
              spids: [16777215 7754]
            )
          ]
          spids: [7725]
        )
      spids: [7722 7725]
    )
    (FuncDef
      name: Write_Settings_File
      body: 
        (BraceGroup
          children: [
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op: <Redir_DLess '<<'>
                  fd: 16777215
                  here_begin: {(_EOF_)}
                  here_end_span_id: 7809
                  stdin_parts: [
                    ('REFRESH_RATE=')
                    ($ VSub_Name '$REFRESH_RATE')
                    ('\n')
                    ('USER_COLOUR_INDEX=')
                    ($ VSub_Name '$USER_COLOUR_INDEX')
                    ('\n')
                    ('TEMPERATURE_OUTPUT_TYPE=')
                    ($ VSub_Name '$TEMPERATURE_OUTPUT_TYPE')
                    ('\n')
                    ('OUTPUT_DISPLAY_INDEX=')
                    ($ VSub_Name '$OUTPUT_DISPLAY_INDEX')
                    ('\n')
                    ('\n')
                    ('NETWORK_USAGE_CURRENT_OUTPUT_TYPE=')
                    ($ VSub_Name '$NETWORK_USAGE_CURRENT_OUTPUT_TYPE')
                    ('\n')
                    ('\n')
                    ('BLANK_SCREEN_AT_SPECIFIC_TIME_ENABLED=')
                    ($ VSub_Name '$BLANK_SCREEN_AT_SPECIFIC_TIME_ENABLED')
                    ('\n')
                    ('BLANK_SCREEN_TIME_HOUR_START=')
                    ($ VSub_Name '$BLANK_SCREEN_TIME_HOUR_START')
                    ('\n')
                    ('BLANK_SCREEN_TIME_HOUR_END=')
                    ($ VSub_Name '$BLANK_SCREEN_TIME_HOUR_END')
                    ('\n')
                    ('\n')
                  ]
                )
                (Redir
                  op: <Redir_Great '>'>
                  fd: 16777215
                  arg_word: {(DQ ($ VSub_Name '$FILEPATH_SETTINGS'))}
                )
              ]
            )
            (ForExpr
              init: 
                (BinaryAssign
                  op_id: Arith_Equal
                  left: (LhsName name:i)
                  right: (ArithWord w:{(Lit_Digits 0)})
                )
              cond: 
                (ArithBinary
                  op_id: Arith_Less
                  left: (ArithVarRef name:i)
                  right: (ArithWord w:{($ VSub_Name '$MAX_SCENES')})
                )
              update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i))
              body: 
                (DoGroup
                  children: [
                    (SimpleCommand
                      words: [
                        {(echo)}
                        {(-e)}
                        {
                          (DQ ('aEnabledScenes[') ($ VSub_Name '$i') (']=') 
                            (BracedVarSub
                              token: <VSub_Name aEnabledScenes>
                              bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$i')}))
                              spids: [7847 7852]
                            )
                          )
                        }
                      ]
                      redirects: [
                        (Redir
                          op: <Redir_DGreat '>>'>
                          fd: 16777215
                          arg_word: {($ VSub_Name '$FILEPATH_SETTINGS')}
                        )
                      ]
                    )
                  ]
                  spids: [7835 7861]
                )
            )
            (ForExpr
              init: 
                (BinaryAssign
                  op_id: Arith_Equal
                  left: (LhsName name:i)
                  right: (ArithWord w:{(Lit_Digits 0)})
                )
              cond: 
                (ArithBinary
                  op_id: Arith_Less
                  left: (ArithVarRef name:i)
                  right: (ArithWord w:{($ VSub_Name '$MAX_STORAGE')})
                )
              update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i))
              body: 
                (DoGroup
                  children: [
                    (SimpleCommand
                      words: [
                        {(echo)}
                        {(-e)}
                        {
                          (DQ ('STORAGE_PATH[') ($ VSub_Name '$i') ("]='") 
                            (BracedVarSub
                              token: <VSub_Name STORAGE_PATH>
                              bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$i')}))
                              spids: [7900 7905]
                            ) ("'")
                          )
                        }
                      ]
                      redirects: [
                        (Redir
                          op: <Redir_DGreat '>>'>
                          fd: 16777215
                          arg_word: {($ VSub_Name '$FILEPATH_SETTINGS')}
                        )
                      ]
                    )
                    (SimpleCommand
                      words: [
                        {(echo)}
                        {(-e)}
                        {
                          (DQ ('STORAGE_NAME[') ($ VSub_Name '$i') ("]='") 
                            (BracedVarSub
                              token: <VSub_Name STORAGE_NAME>
                              bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$i')}))
                              spids: [7922 7927]
                            ) ("'")
                          )
                        }
                      ]
                      redirects: [
                        (Redir
                          op: <Redir_DGreat '>>'>
                          fd: 16777215
                          arg_word: {($ VSub_Name '$FILEPATH_SETTINGS')}
                        )
                      ]
                    )
                  ]
                  spids: [7888 7937]
                )
            )
          ]
          spids: [7765]
        )
      spids: [7762 7765]
    )
    (FuncDef
      name: Init
      body: 
        (BraceGroup
          children: [
            (C {(Init_STORAGE)})
            (C {(Read_Settings_File)})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$G_HW_MODEL')})
                              right: (ArithWord w:{(Lit_Digits 20)})
                            )
                          spids: [7998 8007]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(aEnabledScenes) (Lit_Other '[') (0) (Lit_Other ']') (Lit_Other '=') (0)})
                  ]
                  spids: [16777215 8010]
                )
              ]
              spids: [16777215 8021]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(KW_Bang '!')} {(-f)} {(/etc/pihole/gravity.list)} 
                          {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(aEnabledScenes) (Lit_Other '[') (8) (Lit_Other ']') (Lit_Other '=') (0)})
                  ]
                  spids: [16777215 8050]
                )
              ]
              spids: [16777215 8063]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:enabled_scene) op:Equal rhs:{(0)} spids:[8077])]
              spids: [8075]
            )
            (ForExpr
              init: 
                (BinaryAssign
                  op_id: Arith_Equal
                  left: (LhsName name:i)
                  right: (ArithWord w:{(Lit_Digits 0)})
                )
              cond: 
                (ArithBinary
                  op_id: Arith_Less
                  left: (ArithVarRef name:i)
                  right: (ArithWord w:{($ VSub_Name '$MAX_SCENES')})
                )
              update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i))
              body: 
                (DoGroup
                  children: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithWord
                                      w: 
                                        {
                                          (BracedVarSub
                                            token: <VSub_Name aEnabledScenes>
                                            bracket_op: 
                                              (ArrayIndex
                                                expr: (ArithWord w:{($ VSub_Name '$i')})
                                              )
                                            spids: [8107 8112]
                                          )
                                        }
                                    )
                                  spids: [8105 8115]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:enabled_scene)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [8121]
                                )
                              ]
                              spids: [8121]
                            )
                            (ControlFlow token:<ControlFlow_Break break>)
                          ]
                          spids: [16777215 8118]
                        )
                      ]
                      spids: [16777215 8128]
                    )
                  ]
                  spids: [8100 8131]
                )
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$enabled_scene')})
                              right: (ArithWord w:{(Lit_Digits 0)})
                            )
                          spids: [8141 8150]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(aEnabledScenes) (Lit_Other '[') (4) (Lit_Other ']') (Lit_Other '=') (1)})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:SCENE_CURRENT)
                          op: Equal
                          rhs: {(4)}
                          spids: [8165]
                        )
                      ]
                      spids: [8165]
                    )
                  ]
                  spids: [16777215 8153]
                )
              ]
              spids: [16777215 8170]
            )
            (C {(/DietPi/dietpi/func/obtain_network_details)})
          ]
          spids: [7960]
        )
      spids: [7957 7960]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:OUTPUT_DISPLAY_INDEX) op:Equal rhs:{(0)} spids:[8205])]
      spids: [8205]
    )
    (FuncDef
      name: Stop
      body: 
        (BraceGroup
          children: [
            (C {(systemctl)} {(stop)} {(dietpi-cloudshell)})
            (Pipeline
              children: [
                (C {(ps)} {(ax)})
                (C {(grep)} {(SQ <'[d]ietpi-cloudshell [1-9]'>)})
                (SimpleCommand
                  words: [{(awk)} {(SQ <'{print $1}'>)}]
                  redirects: [
                    (Redir
                      op: <Redir_Great '>'>
                      fd: 16777215
                      arg_word: {(DQ ($ VSub_Name '$FP_TEMP'))}
                    )
                  ]
                )
              ]
              negated: F
            )
            (WhileUntil
              keyword: <KW_While while>
              cond: [(C {(read)} {(-r)} {(line)})]
              body: 
                (DoGroup
                  children: [
                    (SimpleCommand
                      words: [{(kill)} {($ VSub_Name '$line')}]
                      redirects: [(Redir op:<Redir_AndGreat '&>'> fd:16777215 arg_word:{(/dev/null)})]
                    )
                  ]
                  spids: [8269 8281]
                )
              redirects: [(Redir op:<Redir_Less '<'> fd:16777215 arg_word:{($ VSub_Name '$FP_TEMP')})]
            )
          ]
          spids: [8213]
        )
      spids: [8210 8213]
    )
    (FuncDef
      name: Start
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:output_current_screen)
                  op: Equal
                  rhs: {(0)}
                  spids: [8306]
                )
              ]
              spids: [8304]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} 
                          {
                            (DQ 
                              (CommandSubPart
                                command_list: (CommandList children:[(C {(tty)})])
                                left_token: <Left_CommandSub '$('>
                                spids: [8315 8317]
                              )
                            )
                          } {(Lit_Other '=')} {(DQ (/dev/tty1))} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:output_current_screen)
                          op: Equal
                          rhs: {(1)}
                          spids: [8332]
                        )
                      ]
                      spids: [8332]
                    )
                  ]
                  spids: [16777215 8329]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$OUTPUT_DISPLAY_INDEX')})
                              right: (ArithWord w:{(Lit_Digits 1)})
                            )
                          spids: [8338 8347]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:output_current_screen)
                          op: Equal
                          rhs: {(1)}
                          spids: [8353]
                        )
                      ]
                      spids: [8353]
                    )
                  ]
                  spids: [8336 8350]
                )
              ]
              spids: [16777215 8357]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$output_current_screen')})
                              right: (ArithWord w:{(Lit_Digits 1)})
                            )
                          spids: [8367 8376]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(clear)})
                    (C {(echo)} {(-e)} {(DQ ($ VSub_Name '$C_RESET'))})
                    (C {(read)} {(-p)} 
                      {
                        (DQ ('Use CTRL+C to exit. Press any key to launch ') 
                          ($ VSub_Name '$PROGRAM_NAME') (...)
                        )
                      }
                    )
                  ]
                  spids: [16777215 8379]
                )
              ]
              spids: [16777215 8405]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$output_current_screen')})
                              right: (ArithWord w:{(Lit_Digits 1)})
                            )
                          spids: [8415 8424]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(/DietPi/dietpi/dietpi-cloudshell)} {(1)})]
                  spids: [16777215 8427]
                )
              ]
              else_action: [(C {(systemctl)} {(start)} {(dietpi-cloudshell)})]
              spids: [8441 8453]
            )
            (C {(sleep)} {(0.1)})
          ]
          spids: [8296]
        )
      spids: [8293 8296]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:WHIP_BACKTITLE) op:Equal rhs:{(0)} spids:[8479])]
      spids: [8479]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:WHIP_TITLE) op:Equal rhs:{(0)} spids:[8483])]
      spids: [8483]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:WHIP_QUESTION) op:Equal rhs:{(0)} spids:[8487])]
      spids: [8487]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:CHOICE) op:Equal rhs:{(0)} spids:[8491])]
      spids: [8491]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:TARGETMENUID) op:Equal rhs:{(0)} spids:[8495])]
      spids: [8495]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:LASTSELECTED_ITEM) op:Equal rhs:{(DQ )} spids:[8499])]
      spids: [8499]
    )
    (FuncDef
      name: Menu_Exit
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:WHIP_TITLE)
                  op: Equal
                  rhs: {(DQ ('Exit ') ($ VSub_Name '$PROGRAM_NAME'))}
                  spids: [8512]
                )
              ]
              spids: [8512]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:WHIP_QUESTION)
                  op: Equal
                  rhs: {(DQ ('Exit ') ($ VSub_Name '$PROGRAM_NAME') (' configuration tool?'))}
                  spids: [8519]
                )
              ]
              spids: [8519]
            )
            (C {(whiptail)} {(--title)} {(DQ ($ VSub_Name '$WHIP_TITLE'))} {(--yesno)} 
              {(DQ ($ VSub_Name '$WHIP_QUESTION'))} {(--backtitle)} {(DQ ($ VSub_Name '$WHIP_TITLE'))} {(--yes-button)} {(DQ (Ok))} {(--no-button)} 
              {(DQ (Back))} {(--defaultno)} {(9)} {(55)}
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:CHOICE)
                  op: Equal
                  rhs: {($ VSub_QMark '$?')}
                  spids: [8566]
                )
              ]
              spids: [8566]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$CHOICE')})
                              right: (ArithWord w:{(Lit_Digits 0)})
                            )
                          spids: [8572 8581]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(Write_Settings_File)})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:TARGETMENUID)
                          op: Equal
                          rhs: {(-1)}
                          spids: [8600]
                        )
                      ]
                      spids: [8600]
                    )
                  ]
                  spids: [16777215 8584]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:TARGETMENUID)
                      op: Equal
                      rhs: {(0)}
                      spids: [8613]
                    )
                  ]
                  spids: [8613]
                )
              ]
              spids: [8605 8618]
            )
          ]
          spids: [8508]
        )
      spids: [8505 8508]
    )
    (FuncDef
      name: Menu_Main
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:TARGETMENUID) op:Equal rhs:{(0)} spids:[8637])]
              spids: [8637]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:WHIP_BACKTITLE)
                  op: Equal
                  rhs: 
                    {
                      (DQ ('- ') ($ VSub_Name '$PROGRAM_NAME') (' v') 
                        ($ VSub_Name '$DIETPI_CLOUDSHELL_VERSION') (' -')
                      )
                    }
                  spids: [8641]
                )
              ]
              spids: [8641]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:WHIP_TITLE)
                  op: Equal
                  rhs: {(DQ ('- ') ($ VSub_Name '$PROGRAM_NAME') (' -'))}
                  spids: [8651]
                )
              ]
              spids: [8651]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:temp_output_text)
                  op: Equal
                  rhs: {(DQ (Fahrenheit))}
                  spids: [8662]
                )
              ]
              spids: [8660]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$TEMPERATURE_OUTPUT_TYPE')})
                              right: (ArithWord w:{(Lit_Digits 1)})
                            )
                          spids: [8670 8679]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:temp_output_text)
                          op: Equal
                          rhs: {(DQ (Celsius))}
                          spids: [8685]
                        )
                      ]
                      spids: [8685]
                    )
                  ]
                  spids: [16777215 8682]
                )
              ]
              spids: [16777215 8691]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:target_output_text)
                  op: Equal
                  rhs: {(DQ ('Main Screen (tty1)'))}
                  spids: [8697]
                )
              ]
              spids: [8695]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$OUTPUT_DISPLAY_INDEX')})
                              right: (ArithWord w:{(Lit_Digits 1)})
                            )
                          spids: [8705 8714]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:target_output_text)
                          op: Equal
                          rhs: {(DQ ('Current screen or terminal'))}
                          spids: [8720]
                        )
                      ]
                      spids: [8720]
                    )
                  ]
                  spids: [16777215 8717]
                )
              ]
              spids: [16777215 8726]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:bitbyte_output_text)
                  op: Equal
                  rhs: {(DQ ('Bit (Kbit, Mbit, Gbit)'))}
                  spids: [8732]
                )
              ]
              spids: [8730]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$NETWORK_USAGE_CURRENT_OUTPUT_TYPE')})
                              right: (ArithWord w:{(Lit_Digits 1)})
                            )
                          spids: [8740 8749]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:bitbyte_output_text)
                          op: Equal
                          rhs: {(DQ ('Byte (KB, MB, GB)'))}
                          spids: [8755]
                        )
                      ]
                      spids: [8755]
                    )
                  ]
                  spids: [16777215 8752]
                )
              ]
              spids: [16777215 8761]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:autoscreenoff)
                  op: Equal
                  rhs: {(DQ (Disabled))}
                  spids: [8767]
                )
              ]
              spids: [8765]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: (ArithWord w:{($ VSub_Name '$BLANK_SCREEN_AT_SPECIFIC_TIME_ENABLED')})
                          spids: [8775 8780]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:autoscreenoff)
                          op: Equal
                          rhs: {(DQ (Enabled))}
                          spids: [8786]
                        )
                      ]
                      spids: [8786]
                    )
                  ]
                  spids: [16777215 8783]
                )
              ]
              spids: [16777215 8792]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:OPTION)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (SimpleCommand
                                words: [
                                  {(whiptail)}
                                  {(--title)}
                                  {(DQ ($ VSub_Name '$WHIP_TITLE'))}
                                  {(--backtitle)}
                                  {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))}
                                  {(--menu)}
                                  {(DQ )}
                                  {(--cancel-button)}
                                  {(DQ (Exit))}
                                  {(--default-item)}
                                  {(DQ ($ VSub_Name '$LASTSELECTED_ITEM'))}
                                  {(17)}
                                  {(75)}
                                  {(10)}
                                  {(DQ (Colour))}
                                  {(DQ ('Setting: Change the colour scheme.'))}
                                  {(DQ ('Update Rate'))}
                                  {(DQ ('Setting: Control the time between screen updates.'))}
                                  {(DQ (Scenes))}
                                  {(DQ ('Setting: Toggle which scenes are shown.'))}
                                  {(DQ (Storage))}
                                  {(DQ ('Setting: Set mount locations used for storage stats'))}
                                  {(DQ (Temperature))}
                                  {(DQ ('Setting: Output = ') ($ VSub_Name '$temp_output_text'))}
                                  {(DQ ('Net Usage Current'))}
                                  {(DQ ('Setting: Output = ') ($ VSub_Name '$bitbyte_output_text'))}
                                  {(DQ ('Output Display'))}
                                  {(DQ ('Setting: ') ($ VSub_Name '$target_output_text') (.))}
                                  {(DQ ('Auto screen off'))}
                                  {
                                    (DQ ('Setting: ') ($ VSub_Name '$autoscreenoff') (' | Start ') 
                                      ($ VSub_Name '$BLANK_SCREEN_TIME_HOUR_START') (' h | End ') ($ VSub_Name '$BLANK_SCREEN_TIME_HOUR_END') (' h')
                                    )
                                  }
                                  {(DQ ('Start / Restart'))}
                                  {
                                    (DQ ('Apply settings. Launch on ') 
                                      ($ VSub_Name '$target_output_text') (.)
                                    )
                                  }
                                  {(DQ (Stop))}
                                  {(DQ ('Stops ') ($ VSub_Name '$PROGRAM_NAME') (.))}
                                ]
                                redirects: [
                                  (Redir
                                    op: <Redir_GreatAnd '3>&'>
                                    fd: 3
                                    arg_word: {(1)}
                                  )
                                  (Redir
                                    op: <Redir_GreatAnd '1>&'>
                                    fd: 1
                                    arg_word: {(2)}
                                  )
                                  (Redir
                                    op: <Redir_GreatAnd '2>&'>
                                    fd: 2
                                    arg_word: {(3)}
                                  )
                                ]
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [8797 8957]
                      )
                    }
                  spids: [8796]
                )
              ]
              spids: [8796]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:CHOICE)
                  op: Equal
                  rhs: {($ VSub_QMark '$?')}
                  spids: [8961]
                )
              ]
              spids: [8961]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$CHOICE')})
                              right: (ArithWord w:{(Lit_Digits 0)})
                            )
                          spids: [8967 8976]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:LASTSELECTED_ITEM)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$OPTION'))}
                          spids: [8983]
                        )
                      ]
                      spids: [8983]
                    )
                    (Case
                      to_match: {(DQ ($ VSub_Name '$OPTION'))}
                      arms: [
                        (case_arm
                          pat_list: [{(DQ (Storage))}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(5)}
                                  spids: [9006]
                                )
                              ]
                              spids: [9006]
                            )
                          ]
                          spids: [9000 9003 9010 16777215]
                        )
                        (case_arm
                          pat_list: [{(DQ ('Auto screen off'))}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(4)}
                                  spids: [9019]
                                )
                              ]
                              spids: [9019]
                            )
                          ]
                          spids: [9013 9016 9023 16777215]
                        )
                        (case_arm
                          pat_list: [{(DQ ('Net Usage Current'))}]
                          action: [
                            (DParen
                              child: 
                                (UnaryAssign
                                  op_id: Node_PostDPlus
                                  child: (LhsName name:NETWORK_USAGE_CURRENT_OUTPUT_TYPE)
                                )
                              spids: [9032 9036]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DParen
                                          child: 
                                            (ArithBinary
                                              op_id: Arith_Great
                                              left: 
                                                (ArithWord
                                                  w: 
                                                    {
                                                      ($ VSub_Name 
'$NETWORK_USAGE_CURRENT_OUTPUT_TYPE'
                                                      )
                                                    }
                                                )
                                              right: (ArithWord w:{(Lit_Digits 1)})
                                            )
                                          spids: [9041 9050]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:NETWORK_USAGE_CURRENT_OUTPUT_TYPE)
                                          op: Equal
                                          rhs: {(0)}
                                          spids: [9056]
                                        )
                                      ]
                                      spids: [9056]
                                    )
                                  ]
                                  spids: [16777215 9053]
                                )
                              ]
                              spids: [16777215 9060]
                            )
                          ]
                          spids: [9026 9029 9063 16777215]
                        )
                        (case_arm
                          pat_list: [{(Temperature)}]
                          action: [
                            (DParen
                              child: 
                                (UnaryAssign
                                  op_id: Node_PostDPlus
                                  child: (LhsName name:TEMPERATURE_OUTPUT_TYPE)
                                )
                              spids: [9070 9074]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DParen
                                          child: 
                                            (ArithBinary
                                              op_id: Arith_Great
                                              left: 
                                                (ArithWord
                                                  w: {($ VSub_Name '$TEMPERATURE_OUTPUT_TYPE')}
                                                )
                                              right: (ArithWord w:{(Lit_Digits 1)})
                                            )
                                          spids: [9079 9088]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:TEMPERATURE_OUTPUT_TYPE)
                                          op: Equal
                                          rhs: {(0)}
                                          spids: [9094]
                                        )
                                      ]
                                      spids: [9094]
                                    )
                                  ]
                                  spids: [16777215 9091]
                                )
                              ]
                              spids: [16777215 9098]
                            )
                          ]
                          spids: [9066 9067 9101 16777215]
                        )
                        (case_arm
                          pat_list: [{(DQ ('Output Display'))}]
                          action: [
                            (DParen
                              child: 
                                (UnaryAssign
                                  op_id: Node_PostDPlus
                                  child: (LhsName name:OUTPUT_DISPLAY_INDEX)
                                )
                              spids: [9110 9114]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DParen
                                          child: 
                                            (ArithBinary
                                              op_id: Arith_Great
                                              left: 
                                                (ArithWord
                                                  w: {($ VSub_Name '$OUTPUT_DISPLAY_INDEX')}
                                                )
                                              right: (ArithWord w:{(Lit_Digits 1)})
                                            )
                                          spids: [9119 9128]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:OUTPUT_DISPLAY_INDEX)
                                          op: Equal
                                          rhs: {(0)}
                                          spids: [9134]
                                        )
                                      ]
                                      spids: [9134]
                                    )
                                  ]
                                  spids: [16777215 9131]
                                )
                              ]
                              spids: [16777215 9138]
                            )
                          ]
                          spids: [9104 9107 9141 16777215]
                        )
                        (case_arm
                          pat_list: [{(DQ ('Start / Restart'))}]
                          action: [(C {(Write_Settings_File)}) (C {(Stop)}) (C {(Start)})]
                          spids: [9144 9147 9159 16777215]
                        )
                        (case_arm
                          pat_list: [{(DQ (Stop))}]
                          action: [(C {(Stop)})]
                          spids: [9162 9165 9171 16777215]
                        )
                        (case_arm
                          pat_list: [{(Colour)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [9178]
                                )
                              ]
                              spids: [9178]
                            )
                          ]
                          spids: [9174 9175 9182 16777215]
                        )
                        (case_arm
                          pat_list: [{(DQ ('Update Rate'))}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(2)}
                                  spids: [9191]
                                )
                              ]
                              spids: [9191]
                            )
                          ]
                          spids: [9185 9188 9195 16777215]
                        )
                        (case_arm
                          pat_list: [{(Scenes)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(3)}
                                  spids: [9202]
                                )
                              ]
                              spids: [9202]
                            )
                          ]
                          spids: [9198 9199 9206 16777215]
                        )
                      ]
                      spids: [8990 8996 9209]
                    )
                  ]
                  spids: [16777215 8979]
                )
              ]
              else_action: [(C {(Menu_Exit)})]
              spids: [9212 9218]
            )
          ]
          spids: [8633]
        )
      spids: [8630 8633]
    )
    (FuncDef
      name: Menu_Colour
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:TARGETMENUID) op:Equal rhs:{(0)} spids:[9241])]
              spids: [9241]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:WHIP_TITLE)
                  op: Equal
                  rhs: {(SQ <'- Options : Colour -'>)}
                  spids: [9278]
                )
              ]
              spids: [9278]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:WHIP_QUESTION)
                  op: Equal
                  rhs: {(SQ <'Select your colour scheme.'>)}
                  spids: [9284]
                )
              ]
              spids: [9284]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:OPTION)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (SimpleCommand
                                words: [
                                  {(whiptail)}
                                  {(--title)}
                                  {(DQ ($ VSub_Name '$WHIP_TITLE'))}
                                  {(--backtitle)}
                                  {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))}
                                  {(--menu)}
                                  {(DQ ($ VSub_Name '$WHIP_QUESTION'))}
                                  {(--cancel-button)}
                                  {(DQ (Back))}
                                  {(--default-item)}
                                  {(DQ ($ VSub_Name '$USER_COLOUR_INDEX'))}
                                  {(15)}
                                  {(45)}
                                  {(7)}
                                  {(DQ (0))}
                                  {(DQ (White))}
                                  {(DQ (1))}
                                  {(DQ (Red))}
                                  {(DQ (2))}
                                  {(DQ (Green))}
                                  {(DQ (3))}
                                  {(DQ ('Yellow (Default)'))}
                                  {(DQ (4))}
                                  {(DQ (Blue))}
                                  {(DQ (5))}
                                  {(DQ (Purple))}
                                  {(DQ (6))}
                                  {(DQ (Cyan))}
                                ]
                                redirects: [
                                  (Redir
                                    op: <Redir_GreatAnd '3>&'>
                                    fd: 3
                                    arg_word: {(1)}
                                  )
                                  (Redir
                                    op: <Redir_GreatAnd '1>&'>
                                    fd: 1
                                    arg_word: {(2)}
                                  )
                                  (Redir
                                    op: <Redir_GreatAnd '2>&'>
                                    fd: 2
                                    arg_word: {(3)}
                                  )
                                ]
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [9291 9408]
                      )
                    }
                  spids: [9290]
                )
              ]
              spids: [9290]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:CHOICE)
                  op: Equal
                  rhs: {($ VSub_QMark '$?')}
                  spids: [9412]
                )
              ]
              spids: [9412]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$CHOICE')})
                              right: (ArithWord w:{(Lit_Digits 0)})
                            )
                          spids: [9418 9427]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:USER_COLOUR_INDEX)
                          op: Equal
                          rhs: {($ VSub_Name '$OPTION')}
                          spids: [9434]
                        )
                      ]
                      spids: [9434]
                    )
                  ]
                  spids: [16777215 9430]
                )
              ]
              spids: [16777215 9439]
            )
          ]
          spids: [9233]
        )
      spids: [9230 9233]
    )
    (FuncDef
      name: Menu_UpdateRate
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:TARGETMENUID) op:Equal rhs:{(0)} spids:[9462])]
              spids: [9462]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:WHIP_TITLE)
                  op: Equal
                  rhs: {(SQ <'- Options : Update Rate -'>)}
                  spids: [9467]
                )
              ]
              spids: [9467]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:WHIP_QUESTION)
                  op: Equal
                  rhs: {(SQ <'Change the delay between scene changes and updates.'>)}
                  spids: [9473]
                )
              ]
              spids: [9473]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:OPTION)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (SimpleCommand
                                words: [
                                  {(whiptail)}
                                  {(--title)}
                                  {(DQ ($ VSub_Name '$WHIP_TITLE'))}
                                  {(--backtitle)}
                                  {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))}
                                  {(--menu)}
                                  {(DQ ($ VSub_Name '$WHIP_QUESTION'))}
                                  {(--cancel-button)}
                                  {(DQ (Back))}
                                  {(--default-item)}
                                  {(DQ ($ VSub_Name '$REFRESH_RATE'))}
                                  {(15)}
                                  {(55)}
                                  {(7)}
                                  {(DQ (1))}
                                  {(DQ (Second))}
                                  {(DQ (3))}
                                  {(DQ (Seconds))}
                                  {(DQ (5))}
                                  {(DQ ('Seconds (Default)'))}
                                  {(DQ (10))}
                                  {(DQ (Seconds))}
                                  {(DQ (15))}
                                  {(DQ (Seconds))}
                                  {(DQ (20))}
                                  {(DQ (Seconds))}
                                  {(DQ (30))}
                                  {(DQ (Seconds))}
                                  {(DQ (45))}
                                  {(DQ (Seconds))}
                                  {(DQ (60))}
                                  {(DQ (Seconds))}
                                ]
                                redirects: [
                                  (Redir
                                    op: <Redir_GreatAnd '3>&'>
                                    fd: 3
                                    arg_word: {(1)}
                                  )
                                  (Redir
                                    op: <Redir_GreatAnd '1>&'>
                                    fd: 1
                                    arg_word: {(2)}
                                  )
                                  (Redir
                                    op: <Redir_GreatAnd '2>&'>
                                    fd: 2
                                    arg_word: {(3)}
                                  )
                                ]
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [9480 9617]
                      )
                    }
                  spids: [9479]
                )
              ]
              spids: [9479]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:CHOICE)
                  op: Equal
                  rhs: {($ VSub_QMark '$?')}
                  spids: [9621]
                )
              ]
              spids: [9621]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$CHOICE')})
                              right: (ArithWord w:{(Lit_Digits 0)})
                            )
                          spids: [9627 9636]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:REFRESH_RATE)
                          op: Equal
                          rhs: {($ VSub_Name '$OPTION')}
                          spids: [9643]
                        )
                      ]
                      spids: [9643]
                    )
                  ]
                  spids: [16777215 9639]
                )
              ]
              spids: [16777215 9648]
            )
          ]
          spids: [9454]
        )
      spids: [9451 9454]
    )
    (FuncDef
      name: Menu_SceneSelection
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:TARGETMENUID) op:Equal rhs:{(0)} spids:[9671])]
              spids: [9671]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:FP_TEMP)
                  op: Equal
                  rhs: {(DQ (/tmp/.dietpi-cloudshell_scenelist))}
                  spids: [9676]
                )
              ]
              spids: [9676]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:aWhiptailArray)
                  op: Equal
                  rhs: {(ArrayLiteralPart)}
                  spids: [9689]
                )
              ]
              spids: [9687]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:aWhip_OnOff_Status)
                  op: Equal
                  rhs: {(ArrayLiteralPart)}
                  spids: [9696]
                )
              ]
              spids: [9694]
            )
            (ForExpr
              init: 
                (BinaryAssign
                  op_id: Arith_Equal
                  left: (LhsName name:i)
                  right: (ArithWord w:{(Lit_Digits 0)})
                )
              cond: 
                (ArithBinary
                  op_id: Arith_Less
                  left: (ArithVarRef name:i)
                  right: (ArithWord w:{($ VSub_Name '$MAX_SCENES')})
                )
              update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i))
              body: 
                (DoGroup
                  children: [
                    (C 
                      {(aWhip_OnOff_Status) (Lit_Other '[') ($ VSub_Name '$i') (Lit_Other ']') 
                        (Lit_Other '=') (SQ <on>)
                      }
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithUnary
                                      op_id: Arith_Bang
                                      child: 
                                        (ArithWord
                                          w: 
                                            {
                                              (BracedVarSub
                                                token: <VSub_Name aEnabledScenes>
                                                bracket_op: 
                                                  (ArrayIndex
                                                    expr: (ArithWord w:{($ VSub_Name '$i')})
                                                  )
                                                spids: [9743 9748]
                                              )
                                            }
                                        )
                                    )
                                  spids: [9739 9751]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C 
                              {(aWhip_OnOff_Status) (Lit_Other '[') ($ VSub_Name '$i') (Lit_Other ']') 
                                (Lit_Other '=') (SQ <off>)
                              }
                            )
                          ]
                          spids: [16777215 9754]
                        )
                      ]
                      spids: [16777215 9769]
                    )
                  ]
                  spids: [9720 9773]
                )
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:index) op:Equal rhs:{(0)} spids:[9783])]
              spids: [9781]
            )
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_None
                  pairs: [(assign_pair lhs:(LhsName name:index) op:Equal rhs:{(0)} spids:[9787])]
                  spids: [9787]
                )
              terminator: <Op_Semi ';'>
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:aWhiptailArray)
                  op: PlusEqual
                  rhs: 
                    {
                      (ArrayLiteralPart
                        words: [
                          {(DQ ($ VSub_Name '$index'))}
                          {(DQ ('CPU: Temperatures, Usage, frequency and more.'))}
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name aWhip_OnOff_Status>
                                bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$index')}))
                                spids: [9801 9806]
                              )
                            )
                          }
                        ]
                      )
                    }
                  spids: [9790]
                )
              ]
              spids: [9790]
            )
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_None
                  pairs: [(assign_pair lhs:(LhsName name:index) op:Equal rhs:{(1)} spids:[9811])]
                  spids: [9811]
                )
              terminator: <Op_Semi ';'>
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:aWhiptailArray)
                  op: PlusEqual
                  rhs: 
                    {
                      (ArrayLiteralPart
                        words: [
                          {(DQ ($ VSub_Name '$index'))}
                          {(DQ ('Storage: Usage information for Flash and USB drives'))}
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name aWhip_OnOff_Status>
                                bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$index')}))
                                spids: [9825 9830]
                              )
                            )
                          }
                        ]
                      )
                    }
                  spids: [9814]
                )
              ]
              spids: [9814]
            )
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_None
                  pairs: [(assign_pair lhs:(LhsName name:index) op:Equal rhs:{(2)} spids:[9835])]
                  spids: [9835]
                )
              terminator: <Op_Semi ';'>
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:aWhiptailArray)
                  op: PlusEqual
                  rhs: 
                    {
                      (ArrayLiteralPart
                        words: [
                          {(DQ ($ VSub_Name '$index'))}
                          {(DQ (' - Additional Storage (USB_2/3)'))}
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name aWhip_OnOff_Status>
                                bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$index')}))
                                spids: [9849 9854]
                              )
                            )
                          }
                        ]
                      )
                    }
                  spids: [9838]
                )
              ]
              spids: [9838]
            )
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_None
                  pairs: [(assign_pair lhs:(LhsName name:index) op:Equal rhs:{(3)} spids:[9859])]
                  spids: [9859]
                )
              terminator: <Op_Semi ';'>
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:aWhiptailArray)
                  op: PlusEqual
                  rhs: 
                    {
                      (ArrayLiteralPart
                        words: [
                          {(DQ ($ VSub_Name '$index'))}
                          {(DQ (' - Additional Storage (USB_4/5)'))}
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name aWhip_OnOff_Status>
                                bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$index')}))
                                spids: [9873 9878]
                              )
                            )
                          }
                        ]
                      )
                    }
                  spids: [9862]
                )
              ]
              spids: [9862]
            )
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_None
                  pairs: [(assign_pair lhs:(LhsName name:index) op:Equal rhs:{(4)} spids:[9883])]
                  spids: [9883]
                )
              terminator: <Op_Semi ';'>
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:aWhiptailArray)
                  op: PlusEqual
                  rhs: 
                    {
                      (ArrayLiteralPart
                        words: [
                          {(DQ ($ VSub_Name '$index'))}
                          {(DQ ('DietPi: Information, stats and updates for DietPi.'))}
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name aWhip_OnOff_Status>
                                bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$index')}))
                                spids: [9897 9902]
                              )
                            )
                          }
                        ]
                      )
                    }
                  spids: [9886]
                )
              ]
              spids: [9886]
            )
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_None
                  pairs: [(assign_pair lhs:(LhsName name:index) op:Equal rhs:{(5)} spids:[9907])]
                  spids: [9907]
                )
              terminator: <Op_Semi ';'>
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:aWhiptailArray)
                  op: PlusEqual
                  rhs: 
                    {
                      (ArrayLiteralPart
                        words: [
                          {(DQ ($ VSub_Name '$index'))}
                          {(DQ ('Network Details: Ip address, Speeds, Signal and more.'))}
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name aWhip_OnOff_Status>
                                bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$index')}))
                                spids: [9921 9926]
                              )
                            )
                          }
                        ]
                      )
                    }
                  spids: [9910]
                )
              ]
              spids: [9910]
            )
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_None
                  pairs: [(assign_pair lhs:(LhsName name:index) op:Equal rhs:{(6)} spids:[9931])]
                  spids: [9931]
                )
              terminator: <Op_Semi ';'>
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:aWhiptailArray)
                  op: PlusEqual
                  rhs: 
                    {
                      (ArrayLiteralPart
                        words: [
                          {(DQ ($ VSub_Name '$index'))}
                          {(DQ ('Network Usage: Bandwidth usage (sent / recieved).'))}
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name aWhip_OnOff_Status>
                                bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$index')}))
                                spids: [9945 9950]
                              )
                            )
                          }
                        ]
                      )
                    }
                  spids: [9934]
                )
              ]
              spids: [9934]
            )
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_None
                  pairs: [(assign_pair lhs:(LhsName name:index) op:Equal rhs:{(7)} spids:[9955])]
                  spids: [9955]
                )
              terminator: <Op_Semi ';'>
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:aWhiptailArray)
                  op: PlusEqual
                  rhs: 
                    {
                      (ArrayLiteralPart
                        words: [
                          {(DQ ($ VSub_Name '$index'))}
                          {(DQ ('Memory: Stats for RAM and Swapfile usage.'))}
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name aWhip_OnOff_Status>
                                bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$index')}))
                                spids: [9969 9974]
                              )
                            )
                          }
                        ]
                      )
                    }
                  spids: [9958]
                )
              ]
              spids: [9958]
            )
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_None
                  pairs: [(assign_pair lhs:(LhsName name:index) op:Equal rhs:{(8)} spids:[9979])]
                  spids: [9979]
                )
              terminator: <Op_Semi ';'>
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:aWhiptailArray)
                  op: PlusEqual
                  rhs: 
                    {
                      (ArrayLiteralPart
                        words: [
                          {(DQ ($ VSub_Name '$index'))}
                          {(DQ ('Pi-hole: Stats for Pi-hole. Total Ads blocked etc.'))}
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name aWhip_OnOff_Status>
                                bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$index')}))
                                spids: [9993 9998]
                              )
                            )
                          }
                        ]
                      )
                    }
                  spids: [9982]
                )
              ]
              spids: [9982]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:WHIP_TITLE)
                  op: Equal
                  rhs: {(SQ <'- Options : Scene Selection -'>)}
                  spids: [10004]
                )
              ]
              spids: [10004]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:WHIP_QUESTION)
                  op: Equal
                  rhs: {(SQ <'Please use the spacebar to toggle which scenes are active.'>)}
                  spids: [10010]
                )
              ]
              spids: [10010]
            )
            (SimpleCommand
              words: [
                {(whiptail)}
                {(--title)}
                {(DQ ($ VSub_Name '$WHIP_TITLE'))}
                {(--checklist)}
                {(DQ ($ VSub_Name '$WHIP_QUESTION'))}
                {(--backtitle)}
                {(DQ ($ VSub_Name '$WHIP_TITLE'))}
                {(--separate-output)}
                {(16)}
                {(75)}
                {(9)}
                {
                  (DQ 
                    (BracedVarSub
                      token: <VSub_Name aWhiptailArray>
                      bracket_op: (WholeArray op_id:Lit_At)
                      spids: [10045 10050]
                    )
                  )
                }
              ]
              redirects: [(Redir op:<Redir_Great '2>'> fd:2 arg_word:{(DQ ($ VSub_Name '$FP_TEMP'))})]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:CHOICE)
                  op: Equal
                  rhs: {($ VSub_QMark '$?')}
                  spids: [10060]
                )
              ]
              spids: [10060]
            )
            (C {(unset)} {(aWhiptailArray)})
            (C {(unset)} {(aWhip_OnOff_Status)})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$CHOICE')})
                              right: (ArithWord w:{(Lit_Digits 0)})
                            )
                          spids: [10086 10095]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (ForExpr
                      init: 
                        (BinaryAssign
                          op_id: Arith_Equal
                          left: (LhsName name:i)
                          right: (ArithWord w:{(Lit_Digits 0)})
                        )
                      cond: 
                        (ArithBinary
                          op_id: Arith_Less
                          left: (ArithVarRef name:i)
                          right: (ArithWord w:{($ VSub_Name '$MAX_SCENES')})
                        )
                      update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i))
                      body: 
                        (DoGroup
                          children: [
                            (C 
                              {(aEnabledScenes) (Lit_Other '[') ($ VSub_Name '$i') (Lit_Other ']') 
                                (Lit_Other '=') (0)
                              }
                            )
                          ]
                          spids: [10121 10133]
                        )
                    )
                  ]
                  spids: [16777215 10098]
                )
              ]
              spids: [16777215 10137]
            )
            (WhileUntil
              keyword: <KW_While while>
              cond: [(C {(read)} {(-r)} {(line)})]
              body: 
                (DoGroup
                  children: [
                    (C 
                      {(aEnabledScenes) (Lit_Other '[') ($ VSub_Name '$line') (Lit_Other ']') 
                        (Lit_Other '=') (1)
                      }
                    )
                  ]
                  spids: [10154 10167]
                )
              redirects: [
                (Redir
                  op: <Redir_Less '<'>
                  fd: 16777215
                  arg_word: {(DQ ($ VSub_Name '$FP_TEMP'))}
                )
              ]
            )
          ]
          spids: [9663]
        )
      spids: [9660 9663]
    )
    (FuncDef
      name: Menu_BlankScreenAtTime
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:TARGETMENUID) op:Equal rhs:{(0)} spids:[10196])]
              spids: [10196]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:aWhipHour)
                  op: Equal
                  rhs: {(ArrayLiteralPart)}
                  spids: [10207]
                )
              ]
              spids: [10205]
            )
            (ForExpr
              init: 
                (BinaryAssign
                  op_id: Arith_Equal
                  left: (LhsName name:i)
                  right: (ArithWord w:{(Lit_Digits 0)})
                )
              cond: 
                (ArithBinary
                  op_id: Arith_Less
                  left: (ArithVarRef name:i)
                  right: (ArithWord w:{(Lit_Digits 24)})
                )
              update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i))
              body: 
                (DoGroup
                  children: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:aWhipHour)
                          op: PlusEqual
                          rhs: {(ArrayLiteralPart words:[{(DQ ($ VSub_Name '$i'))} {(DQ (Hour))}])}
                          spids: [10234]
                        )
                      ]
                      spids: [10234]
                    )
                  ]
                  spids: [10231 10247]
                )
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:blank_screen_at_specific_time_enabled_text)
                  op: Equal
                  rhs: {(SQ <Disabled>)}
                  spids: [10253]
                )
              ]
              spids: [10251]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: (ArithWord w:{($ VSub_Name '$BLANK_SCREEN_AT_SPECIFIC_TIME_ENABLED')})
                          spids: [10261 10266]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:blank_screen_at_specific_time_enabled_text)
                          op: Equal
                          rhs: {(SQ <Enabled>)}
                          spids: [10272]
                        )
                      ]
                      spids: [10272]
                    )
                  ]
                  spids: [16777215 10269]
                )
              ]
              spids: [16777215 10278]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:WHIP_TITLE)
                  op: Equal
                  rhs: {(SQ <'- Options : Auto screen off -'>)}
                  spids: [10282]
                )
              ]
              spids: [10282]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:WHIP_QUESTION)
                  op: Equal
                  rhs: 
                    {
                      (SQ 
                        <
'Automatically power down the screen and disable DietPi-Cloudshell processing during a specific time.\\n\\nNB: This feature will only work if DietPi-Cloudshell was launched with the DietPi-Autostart option, or, launched from the main screen (tty1).'
                        >
                      )
                    }
                  spids: [10288]
                )
              ]
              spids: [10288]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:OPTION)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (SimpleCommand
                                words: [
                                  {(whiptail)}
                                  {(--title)}
                                  {(DQ ($ VSub_Name '$WHIP_TITLE'))}
                                  {(--backtitle)}
                                  {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))}
                                  {(--menu)}
                                  {(DQ ($ VSub_Name '$WHIP_QUESTION'))}
                                  {(--cancel-button)}
                                  {(DQ (Back))}
                                  {(--default-item)}
                                  {(DQ ($ VSub_Name '$REFRESH_RATE'))}
                                  {(16)}
                                  {(60)}
                                  {(3)}
                                  {(DQ (Toggle))}
                                  {(DQ ($ VSub_Name '$blank_screen_at_specific_time_enabled_text'))}
                                  {(DQ ('Start time'))}
                                  {
                                    (DQ ('Set which hour to power off screen (') 
                                      ($ VSub_Name '$BLANK_SCREEN_TIME_HOUR_START') (').')
                                    )
                                  }
                                  {(DQ ('End time'))}
                                  {
                                    (DQ ('Set which hour to power on screen (') 
                                      ($ VSub_Name '$BLANK_SCREEN_TIME_HOUR_END') (').')
                                    )
                                  }
                                ]
                                redirects: [
                                  (Redir
                                    op: <Redir_GreatAnd '3>&'>
                                    fd: 3
                                    arg_word: {(1)}
                                  )
                                  (Redir
                                    op: <Redir_GreatAnd '1>&'>
                                    fd: 1
                                    arg_word: {(2)}
                                  )
                                  (Redir
                                    op: <Redir_GreatAnd '2>&'>
                                    fd: 2
                                    arg_word: {(3)}
                                  )
                                ]
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [10295 10376]
                      )
                    }
                  spids: [10294]
                )
              ]
              spids: [10294]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:CHOICE)
                  op: Equal
                  rhs: {($ VSub_QMark '$?')}
                  spids: [10380]
                )
              ]
              spids: [10380]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$CHOICE')})
                              right: (ArithWord w:{(Lit_Digits 0)})
                            )
                          spids: [10386 10395]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$OPTION'))} {(Lit_Other '=')} 
                                  {(DQ (Toggle))} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (DParen
                              child: 
                                (UnaryAssign
                                  op_id: Node_PostDPlus
                                  child: (LhsName name:BLANK_SCREEN_AT_SPECIFIC_TIME_ENABLED)
                                )
                              spids: [10422 10426]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DParen
                                          child: 
                                            (ArithBinary
                                              op_id: Arith_Great
                                              left: 
                                                (ArithWord
                                                  w: 
                                                    {
                                                      ($ VSub_Name 
'$BLANK_SCREEN_AT_SPECIFIC_TIME_ENABLED'
                                                      )
                                                    }
                                                )
                                              right: (ArithWord w:{(Lit_Digits 1)})
                                            )
                                          spids: [10431 10440]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:BLANK_SCREEN_AT_SPECIFIC_TIME_ENABLED)
                                          op: Equal
                                          rhs: {(0)}
                                          spids: [10446]
                                        )
                                      ]
                                      spids: [10446]
                                    )
                                  ]
                                  spids: [16777215 10443]
                                )
                              ]
                              spids: [16777215 10450]
                            )
                          ]
                          spids: [16777215 10418]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$OPTION'))} {(Lit_Other '=')} 
                                  {(DQ ('Start time'))} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:WHIP_QUESTION)
                                  op: Equal
                                  rhs: 
                                    {
                                      (SQ 
                                        <
'Please select which hour (24h) you would like the screen to power off.'
                                        >
                                      )
                                    }
                                  spids: [10474]
                                )
                              ]
                              spids: [10474]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:OPTION)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (SimpleCommand
                                                words: [
                                                  {(whiptail)}
                                                  {(--title)}
                                                  {(DQ ($ VSub_Name '$WHIP_TITLE'))}
                                                  {(--menu)}
                                                  {(DQ ($ VSub_Name '$WHIP_QUESTION'))}
                                                  {(--default-item)}
                                                  {
                                                    (DQ ($ VSub_Name '$BLANK_SCREEN_TIME_HOUR_START'))
                                                  }
                                                  {(--backtitle)}
                                                  {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))}
                                                  {(16)}
                                                  {(55)}
                                                  {(7)}
                                                  {
                                                    (DQ 
                                                      (BracedVarSub
                                                        token: <VSub_Name aWhipHour>
                                                        bracket_op: (WholeArray op_id:Lit_At)
                                                        spids: [10515 10520]
                                                      )
                                                    )
                                                  }
                                                ]
                                                redirects: [
                                                  (Redir
                                                    op: <Redir_GreatAnd '3>&'>
                                                    fd: 3
                                                    arg_word: {(1)}
                                                  )
                                                  (Redir
                                                    op: <Redir_GreatAnd '1>&'>
                                                    fd: 1
                                                    arg_word: {(2)}
                                                  )
                                                  (Redir
                                                    op: <Redir_GreatAnd '2>&'>
                                                    fd: 2
                                                    arg_word: {(3)}
                                                  )
                                                ]
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [10481 10531]
                                      )
                                    }
                                  spids: [10480]
                                )
                              ]
                              spids: [10480]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:CHOICE)
                                  op: Equal
                                  rhs: {($ VSub_QMark '$?')}
                                  spids: [10534]
                                )
                              ]
                              spids: [10534]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DParen
                                          child: 
                                            (ArithBinary
                                              op_id: Arith_DEqual
                                              left: (ArithWord w:{($ VSub_Name '$CHOICE')})
                                              right: (ArithWord w:{(Lit_Digits 0)})
                                            )
                                          spids: [10540 10549]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:BLANK_SCREEN_TIME_HOUR_START)
                                          op: Equal
                                          rhs: {($ VSub_Name '$OPTION')}
                                          spids: [10555]
                                        )
                                      ]
                                      spids: [10555]
                                    )
                                  ]
                                  spids: [16777215 10552]
                                )
                              ]
                              spids: [16777215 10559]
                            )
                          ]
                          spids: [10454 10470]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$OPTION'))} {(Lit_Other '=')} 
                                  {(DQ ('End time'))} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:WHIP_QUESTION)
                                  op: Equal
                                  rhs: 
                                    {
                                      (SQ 
                                        <
'Please select which hour (24h) you would like the screen to power on.'
                                        >
                                      )
                                    }
                                  spids: [10583]
                                )
                              ]
                              spids: [10583]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:OPTION)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (SimpleCommand
                                                words: [
                                                  {(whiptail)}
                                                  {(--title)}
                                                  {(DQ ($ VSub_Name '$WHIP_TITLE'))}
                                                  {(--menu)}
                                                  {(DQ ($ VSub_Name '$WHIP_QUESTION'))}
                                                  {(--default-item)}
                                                  {(DQ ($ VSub_Name '$BLANK_SCREEN_TIME_HOUR_END'))}
                                                  {(--backtitle)}
                                                  {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))}
                                                  {(16)}
                                                  {(55)}
                                                  {(7)}
                                                  {
                                                    (DQ 
                                                      (BracedVarSub
                                                        token: <VSub_Name aWhipHour>
                                                        bracket_op: (WholeArray op_id:Lit_At)
                                                        spids: [10624 10629]
                                                      )
                                                    )
                                                  }
                                                ]
                                                redirects: [
                                                  (Redir
                                                    op: <Redir_GreatAnd '3>&'>
                                                    fd: 3
                                                    arg_word: {(1)}
                                                  )
                                                  (Redir
                                                    op: <Redir_GreatAnd '1>&'>
                                                    fd: 1
                                                    arg_word: {(2)}
                                                  )
                                                  (Redir
                                                    op: <Redir_GreatAnd '2>&'>
                                                    fd: 2
                                                    arg_word: {(3)}
                                                  )
                                                ]
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [10590 10640]
                                      )
                                    }
                                  spids: [10589]
                                )
                              ]
                              spids: [10589]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:CHOICE)
                                  op: Equal
                                  rhs: {($ VSub_QMark '$?')}
                                  spids: [10643]
                                )
                              ]
                              spids: [10643]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DParen
                                          child: 
                                            (ArithBinary
                                              op_id: Arith_DEqual
                                              left: (ArithWord w:{($ VSub_Name '$CHOICE')})
                                              right: (ArithWord w:{(Lit_Digits 0)})
                                            )
                                          spids: [10649 10658]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:BLANK_SCREEN_TIME_HOUR_END)
                                          op: Equal
                                          rhs: {($ VSub_Name '$OPTION')}
                                          spids: [10664]
                                        )
                                      ]
                                      spids: [10664]
                                    )
                                  ]
                                  spids: [16777215 10661]
                                )
                              ]
                              spids: [16777215 10668]
                            )
                          ]
                          spids: [10563 10579]
                        )
                      ]
                      spids: [16777215 10672]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:TARGETMENUID)
                          op: Equal
                          rhs: {(4)}
                          spids: [10676]
                        )
                      ]
                      spids: [10676]
                    )
                  ]
                  spids: [16777215 10398]
                )
              ]
              spids: [16777215 10681]
            )
            (C {(unset)} {(aWhipHour)})
          ]
          spids: [10188]
        )
      spids: [10185 10188]
    )
    (FuncDef
      name: Menu_Storage
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:TARGETMENUID) op:Equal rhs:{(0)} spids:[10710])]
              spids: [10710]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:aWhiptailArray)
                  op: Equal
                  rhs: {(ArrayLiteralPart)}
                  spids: [10717]
                )
              ]
              spids: [10715]
            )
            (ForExpr
              init: 
                (BinaryAssign
                  op_id: Arith_Equal
                  left: (LhsName name:i)
                  right: (ArithWord w:{(Lit_Digits 1)})
                )
              cond: 
                (ArithBinary
                  op_id: Arith_Less
                  left: (ArithVarRef name:i)
                  right: (ArithWord w:{($ VSub_Name '$MAX_STORAGE')})
                )
              update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i))
              body: 
                (DoGroup
                  children: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:aWhiptailArray)
                          op: PlusEqual
                          rhs: 
                            {
                              (ArrayLiteralPart
                                words: [
                                  {(DQ ($ VSub_Name '$i'))}
                                  {
                                    (DQ (': Drive ') ($ VSub_Name '$i') (' | ') 
                                      (BracedVarSub
                                        token: <VSub_Name STORAGE_PATH>
                                        bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$i')}))
                                        spids: [10760 10765]
                                      )
                                    )
                                  }
                                ]
                              )
                            }
                          spids: [10750]
                        )
                      ]
                      spids: [10750]
                    )
                  ]
                  spids: [10742 10771]
                )
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:WHIP_TITLE)
                  op: Equal
                  rhs: {(SQ <'- Options : Storage Device Mount Location -'>)}
                  spids: [10775]
                )
              ]
              spids: [10775]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:WHIP_QUESTION)
                  op: Equal
                  rhs: 
                    {
                      (SQ 
                        <
'DietPi-Cloudshell pulls the storage stats from the drive mount location. If you have custom drives/mounts, please set them here to be displayed during storage scene updates.\\n\\n - Drive 1 = Displayed during main storage scene\\n - Drive 2/3 = Displayed during additional storage scene\\n - Drive 4/5 = Displayed during additional storage scene'
                        >
                      )
                    }
                  spids: [10781]
                )
              ]
              spids: [10781]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:OPTION)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (SimpleCommand
                                words: [
                                  {(whiptail)}
                                  {(--title)}
                                  {(DQ ($ VSub_Name '$WHIP_TITLE'))}
                                  {(--backtitle)}
                                  {(DQ ($ VSub_Name '$PROGRAM_NAME'))}
                                  {(--menu)}
                                  {(DQ ($ VSub_Name '$WHIP_QUESTION'))}
                                  {(--cancel-button)}
                                  {(DQ (Back))}
                                  {(19)}
                                  {(75)}
                                  {(5)}
                                  {
                                    (DQ 
                                      (BracedVarSub
                                        token: <VSub_Name aWhiptailArray>
                                        bracket_op: (WholeArray op_id:Lit_At)
                                        spids: [10822 10827]
                                      )
                                    )
                                  }
                                ]
                                redirects: [
                                  (Redir
                                    op: <Redir_GreatAnd '3>&'>
                                    fd: 3
                                    arg_word: {(1)}
                                  )
                                  (Redir
                                    op: <Redir_GreatAnd '1>&'>
                                    fd: 1
                                    arg_word: {(2)}
                                  )
                                  (Redir
                                    op: <Redir_GreatAnd '2>&'>
                                    fd: 2
                                    arg_word: {(3)}
                                  )
                                ]
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [10788 10838]
                      )
                    }
                  spids: [10787]
                )
              ]
              spids: [10787]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:CHOICE)
                  op: Equal
                  rhs: {($ VSub_QMark '$?')}
                  spids: [10842]
                )
              ]
              spids: [10842]
            )
            (C {(unset)} {(aWhiptailArray)})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$CHOICE')})
                              right: (ArithWord w:{(Lit_Digits 0)})
                            )
                          spids: [10855 10864]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:index)
                          op: Equal
                          rhs: {($ VSub_Name '$OPTION')}
                          spids: [10873]
                        )
                      ]
                      spids: [10871]
                    )
                    (C {(/DietPi/dietpi/dietpi-drive_manager)} {(1)})
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:return_string)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [(C {(cat)} {(/tmp/dietpi-drive_manager_selmnt)})]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [10887 10891]
                                )
                              )
                            }
                          spids: [10885]
                        )
                      ]
                      spids: [10883]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_Name '$return_string'))} 
                                  {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C 
                              {(STORAGE_PATH) (Lit_Other '[') ($ VSub_Name '$index') (Lit_Other ']') 
                                (Lit_Other '=') (DQ ($ VSub_Name '$return_string'))
                              }
                            )
                          ]
                          spids: [16777215 10908]
                        )
                      ]
                      spids: [16777215 10923]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:TARGETMENUID)
                          op: Equal
                          rhs: {(5)}
                          spids: [10927]
                        )
                      ]
                      spids: [10927]
                    )
                  ]
                  spids: [16777215 10867]
                )
              ]
              spids: [16777215 10932]
            )
          ]
          spids: [10702]
        )
      spids: [10699 10702]
    )
    (C {(Init)})
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (DParen
                  child: 
                    (ArithBinary
                      op_id: Arith_DEqual
                      left: (ArithWord w:{($ VSub_Name '$INPUT')})
                      right: (ArithWord w:{(Lit_Digits 0)})
                    )
                  spids: [10974 10983]
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (WhileUntil
              keyword: <KW_While while>
              cond: [
                (Sentence
                  child: 
                    (DParen
                      child: 
                        (ArithBinary
                          op_id: Arith_GreatEqual
                          left: (ArithWord w:{($ VSub_Name '$TARGETMENUID')})
                          right: (ArithWord w:{(Lit_Digits 0)})
                        )
                      spids: [10996 11005]
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              body: 
                (DoGroup
                  children: [
                    (C {(clear)})
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: (ArithWord w:{($ VSub_Name '$TARGETMENUID')})
                                      right: (ArithWord w:{(Lit_Digits 0)})
                                    )
                                  spids: [11018 11027]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(Menu_Main)})]
                          spids: [16777215 11030]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: (ArithWord w:{($ VSub_Name '$TARGETMENUID')})
                                      right: (ArithWord w:{(Lit_Digits 1)})
                                    )
                                  spids: [11038 11047]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(Menu_Colour)})]
                          spids: [11036 11050]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: (ArithWord w:{($ VSub_Name '$TARGETMENUID')})
                                      right: (ArithWord w:{(Lit_Digits 2)})
                                    )
                                  spids: [11058 11067]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(Menu_UpdateRate)})]
                          spids: [11056 11070]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: (ArithWord w:{($ VSub_Name '$TARGETMENUID')})
                                      right: (ArithWord w:{(Lit_Digits 3)})
                                    )
                                  spids: [11078 11087]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(Menu_SceneSelection)})]
                          spids: [11076 11090]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: (ArithWord w:{($ VSub_Name '$TARGETMENUID')})
                                      right: (ArithWord w:{(Lit_Digits 4)})
                                    )
                                  spids: [11098 11107]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(Menu_BlankScreenAtTime)})]
                          spids: [11096 11110]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: (ArithWord w:{($ VSub_Name '$TARGETMENUID')})
                                      right: (ArithWord w:{(Lit_Digits 5)})
                                    )
                                  spids: [11118 11127]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(Menu_Storage)})]
                          spids: [11116 11130]
                        )
                      ]
                      spids: [16777215 11136]
                    )
                  ]
                  spids: [11008 11140]
                )
            )
          ]
          spids: [16777215 10986]
        )
        (if_arm
          cond: [
            (Sentence
              child: 
                (DParen
                  child: 
                    (ArithBinary
                      op_id: Arith_GreatEqual
                      left: (ArithWord w:{($ VSub_Name '$INPUT')})
                      right: (ArithWord w:{(Lit_Digits 1)})
                    )
                  spids: [11154 11163]
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {(Enable_Term_Options)})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: (ArithWord w:{($ VSub_Name '$RUN_INTRO')})
                          spids: [11180 11185]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(Run_Intro)})]
                  spids: [16777215 11188]
                )
              ]
              spids: [16777215 11194]
            )
            (SimpleCommand
              words: [{(renice)} {(-n)} {(10)} {($ VSub_Dollar '$$')}]
              redirects: [(Redir op:<Redir_AndGreat '&>'> fd:16777215 arg_word:{(/dev/null)})]
            )
            (WhileUntil
              keyword: <KW_While while>
              cond: [(C {(true)})]
              body: 
                (DoGroup
                  children: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithWord
                                      w: {($ VSub_Name '$BLANK_SCREEN_AT_SPECIFIC_TIME_ENABLED')}
                                    )
                                  spids: [11231 11236]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(RUN_BLANK_SCREEN_AT_SPECIFIC_TIME)})]
                          spids: [16777215 11239]
                        )
                      ]
                      spids: [16777215 11247]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: (ArithWord w:{($ VSub_Name '$BLANK_SCREEN_ACTIVE')})
                                  spids: [11257 11262]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(sleep)} {(60)})]
                          spids: [16777215 11265]
                        )
                      ]
                      else_action: [
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (DParen
                                      child: 
                                        (ArithWord
                                          w: 
                                            {
                                              (BracedVarSub
                                                token: <VSub_Name aEnabledScenes>
                                                bracket_op: 
                                                  (ArrayIndex
                                                    expr: 
                                                      (ArithWord
                                                        w: {($ VSub_Name '$SCENE_CURRENT')}
                                                      )
                                                  )
                                                spids: [11287 11292]
                                              )
                                            }
                                        )
                                      spids: [11285 11295]
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (C {(Update_Banner)})
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (DParen
                                              child: 
                                                (ArithBinary
                                                  op_id: Arith_DEqual
                                                  left: (ArithWord w:{($ VSub_Name '$SCENE_CURRENT')})
                                                  right: (ArithWord w:{(Lit_Digits 1)})
                                                )
                                              spids: [11312 11321]
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [(C {(Update_Scene_1)} {(0)} {(1)})]
                                      spids: [16777215 11324]
                                    )
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (DParen
                                              child: 
                                                (ArithBinary
                                                  op_id: Arith_DEqual
                                                  left: (ArithWord w:{($ VSub_Name '$SCENE_CURRENT')})
                                                  right: (ArithWord w:{(Lit_Digits 2)})
                                                )
                                              spids: [11342 11351]
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [(C {(Update_Scene_1)} {(2)} {(3)})]
                                      spids: [11340 11354]
                                    )
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (DParen
                                              child: 
                                                (ArithBinary
                                                  op_id: Arith_DEqual
                                                  left: (ArithWord w:{($ VSub_Name '$SCENE_CURRENT')})
                                                  right: (ArithWord w:{(Lit_Digits 3)})
                                                )
                                              spids: [11372 11381]
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [(C {(Update_Scene_1)} {(4)} {(5)})]
                                      spids: [11370 11384]
                                    )
                                  ]
                                  else_action: [(C {(Update_Scene_) ($ VSub_Name '$SCENE_CURRENT')})]
                                  spids: [11400 11409]
                                )
                                (C {(sleep)} {($ VSub_Name '$REFRESH_RATE')})
                              ]
                              spids: [16777215 11298]
                            )
                          ]
                          spids: [16777215 11423]
                        )
                        (DParen
                          child: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:SCENE_CURRENT))
                          spids: [11431 11435]
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (DParen
                                      child: 
                                        (ArithBinary
                                          op_id: Arith_GreatEqual
                                          left: (ArithWord w:{($ VSub_Name '$SCENE_CURRENT')})
                                          right: (ArithWord w:{($ VSub_Name '$MAX_SCENES')})
                                        )
                                      spids: [11445 11454]
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:SCENE_CURRENT)
                                      op: Equal
                                      rhs: {(0)}
                                      spids: [11460]
                                    )
                                  ]
                                  spids: [11460]
                                )
                              ]
                              spids: [16777215 11457]
                            )
                          ]
                          spids: [16777215 11464]
                        )
                      ]
                      spids: [11279 11469]
                    )
                  ]
                  spids: [11225 11473]
                )
            )
          ]
          spids: [11152 11166]
        )
      ]
      spids: [16777215 11476]
    )
    (SimpleCommand
      words: [{(rm)} {(DQ ($ VSub_Name '$FP_TEMP'))}]
      redirects: [(Redir op:<Redir_AndGreat '&>'> fd:16777215 arg_word:{(/dev/null)})]
    )
    (C {(unset)} {(aCOLOUR)})
    (C {(unset)} {(aEnabledScenes)})
    (C {(Destroy_STORAGE)})
    (ControlFlow token:<ControlFlow_Exit exit>)
  ]
  spids: [3]
)