(BraceGroup
  children: [
    (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:TARGETMENUID)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [102]
                )
              ]
              spids: [102]
            )
          ]
          spids: [16777215 99]
        )
      ]
      spids: [16777215 106]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (DBracket
                  expr: 
                    (BoolBinary
                      op_id: BoolBinary_EqualTilde
                      left: {($ VSub_Number '$2')}
                      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:EXITONBACK)
                  op: Equal
                  rhs: {($ VSub_Number '$2')}
                  spids: [136]
                )
              ]
              spids: [136]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:TEXT_MENU_BACK)
                  op: Equal
                  rhs: {(DQ (Exit))}
                  spids: [140]
                )
              ]
              spids: [140]
            )
          ]
          spids: [16777215 133]
        )
      ]
      spids: [16777215 146]
    )
    (C {(.)} {(/DietPi/dietpi/func/dietpi-globals)})
    (C {(G_CHECK_ROOT_USER)})
    (C {(G_CHECK_ROOTFS_RW)})
    (C {(export)} {(Lit_VarLike 'G_PROGRAM_NAME=') (SQ <DietPi-Config>)})
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:HW_ONBOARD_WIFI)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [(C {(sed)} {(-n)} {(10p)} {(/DietPi/dietpi/.hw_model)})]
                  )
                left_token: <Left_CommandSub '$('>
                spids: [191 199]
              )
            }
          spids: [190]
        )
      ]
      spids: [190]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:FP_CPU_SCALING_GOV)
          op: Equal
          rhs: {(SQ </sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors>)}
          spids: [202]
        )
      ]
      spids: [202]
    )
    (FuncDef
      name: Load_Installed_Software
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-f)} {(/DietPi/dietpi/.installed)} {(Lit_Other ']')})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(.)} {(/DietPi/dietpi/.installed)})]
                  spids: [16777215 239]
                )
              ]
              spids: [16777215 247]
            )
          ]
          spids: [224]
        )
      spids: [221 224]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:HW_MSG_NOTSUPPORTED)
          op: Equal
          rhs: {(DQ ('Not Supported'))}
          spids: [267]
        )
      ]
      spids: [267]
    )
    (FuncDef
      name: Info_HW_OptionNotSupported
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:WHIP_QUESTION)
                  op: Equal
                  rhs: 
                    {
                      (DQ ('This option is not available for ') 
                        ($ VSub_Name '$G_HW_MODEL_DESCRIPTION')
                      )
                    }
                  spids: [280]
                )
              ]
              spids: [280]
            )
            (C {(whiptail)} {(--title)} {(DQ ($ VSub_Name '$WHIP_TITLE'))} {(--msgbox)} 
              {(DQ ($ VSub_Name '$WHIP_QUESTION'))} {(--backtitle)} {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))} {(8)} {(65)}
            )
          ]
          spids: [276]
        )
      spids: [273 276]
    )
    (FuncDef
      name: Info_Input_Not_Valid_Integer
      body: 
        (BraceGroup
          children: [
            (C {(whiptail)} {(--title)} {(DQ ('Invalid Value'))} {(--msgbox)} 
              {(DQ ($ VSub_Name '$OPTION') (' is an invalid value. No changes have been applied'))} {(--backtitle)} {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))} {(10)} {(60)}
            )
          ]
          spids: [320]
        )
      spids: [317 320]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:TARGETMENUID) op:Equal rhs:{(0)} spids:[365])]
      spids: [365]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:EXITONBACK) op:Equal rhs:{(0)} spids:[369])]
      spids: [369]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:TEXT_MENU_BACK) op:Equal rhs:{(DQ (Back))} spids:[374])]
      spids: [374]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:WHIP_BACKTITLE)
          op: Equal
          rhs: {(SQ <DietPi-Config>)}
          spids: [381]
        )
      ]
      spids: [381]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:WHIP_TITLE)
          op: Equal
          rhs: {(SQ <DietPi-Config>)}
          spids: [387]
        )
      ]
      spids: [387]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:WHIP_QUESTION)
          op: Equal
          rhs: {(SQ <DietPi-Config>)}
          spids: [393]
        )
      ]
      spids: [393]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:CHOICE) op:Equal rhs:{(0)} spids:[399])]
      spids: [399]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:OPTION) op:Equal rhs:{(0)} spids:[403])]
      spids: [403]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:WHIP_SELECTION_PREVIOUS)
          op: Equal
          rhs: {(SQ )}
          spids: [408]
        )
      ]
      spids: [408]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:WHIP_OPTIONS_MAX_DISPLAY)
          op: Equal
          rhs: {(9)}
          spids: [418]
        )
      ]
      spids: [418]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:REBOOT_REQUIRED) op:Equal rhs:{(0)} spids:[423])]
      spids: [423]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:MIN_VALUE) op:Equal rhs:{(0)} spids:[432])]
      spids: [432]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:MAX_VALUE) op:Equal rhs:{(0)} spids:[436])]
      spids: [436]
    )
    (FuncDef
      name: Menu_Main
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:WHIP_TITLE)
                  op: Equal
                  rhs: {(SQ <DietPi-Config>)}
                  spids: [452]
                )
              ]
              spids: [452]
            )
            (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 (' Hardware : ') ($ VSub_Name '$G_HW_MODEL_DESCRIPTION'))}
                                  {(--cancel-button)}
                                  {(DQ (Exit))}
                                  {(--backtitle)}
                                  {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))}
                                  {(18)}
                                  {(50)}
                                  {(10)}
                                  {(DQ (1))}
                                  {(DQ ('Display Options'))}
                                  {(DQ (2))}
                                  {(DQ ('Audio Options'))}
                                  {(DQ (3))}
                                  {(DQ ('Performance Options'))}
                                  {(DQ (4))}
                                  {(DQ ('Advanced Options'))}
                                  {(DQ (5))}
                                  {(DQ ('Language/Regional Options'))}
                                  {(DQ (6))}
                                  {(DQ ('Security Options'))}
                                  {(DQ (7))}
                                  {(DQ ('Network Options: Adapters'))}
                                  {(DQ (8))}
                                  {(DQ ('Network Options: NAS/Misc'))}
                                  {(DQ (9))}
                                  {(DQ ('AutoStart Options'))}
                                  {(DQ (10))}
                                  {(DQ (Tools))}
                                ]
                                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: [459 601]
                      )
                    }
                  spids: [458]
                )
              ]
              spids: [458]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:CHOICE)
                  op: Equal
                  rhs: {($ VSub_QMark '$?')}
                  spids: [605]
                )
              ]
              spids: [605]
            )
            (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: [611 620]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: (ArithWord w:{($ VSub_Name '$OPTION')})
                                      right: (ArithWord w:{(Lit_Digits 1)})
                                    )
                                  spids: [629 638]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [645]
                                )
                              ]
                              spids: [645]
                            )
                            (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: [652 661]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:TARGETMENUID)
                                          op: Equal
                                          rhs: {(0)}
                                          spids: [668]
                                        )
                                      ]
                                      spids: [668]
                                    )
                                    (C {(Info_HW_OptionNotSupported)})
                                  ]
                                  spids: [16777215 664]
                                )
                              ]
                              spids: [16777215 676]
                            )
                          ]
                          spids: [16777215 641]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: (ArithWord w:{($ VSub_Name '$OPTION')})
                                      right: (ArithWord w:{(Lit_Digits 2)})
                                    )
                                  spids: [682 691]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(14)}
                                  spids: [698]
                                )
                              ]
                              spids: [698]
                            )
                            (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: [705 714]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:TARGETMENUID)
                                          op: Equal
                                          rhs: {(0)}
                                          spids: [721]
                                        )
                                      ]
                                      spids: [721]
                                    )
                                    (C {(Info_HW_OptionNotSupported)})
                                  ]
                                  spids: [16777215 717]
                                )
                              ]
                              spids: [16777215 729]
                            )
                          ]
                          spids: [680 694]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: (ArithWord w:{($ VSub_Name '$OPTION')})
                                      right: (ArithWord w:{(Lit_Digits 3)})
                                    )
                                  spids: [735 744]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(4)}
                                  spids: [751]
                                )
                              ]
                              spids: [751]
                            )
                            (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: [758 767]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:TARGETMENUID)
                                          op: Equal
                                          rhs: {(0)}
                                          spids: [774]
                                        )
                                      ]
                                      spids: [774]
                                    )
                                    (C {(Info_HW_OptionNotSupported)})
                                  ]
                                  spids: [16777215 770]
                                )
                              ]
                              spids: [16777215 782]
                            )
                          ]
                          spids: [733 747]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: (ArithWord w:{($ VSub_Name '$OPTION')})
                                      right: (ArithWord w:{(Lit_Digits 4)})
                                    )
                                  spids: [788 797]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(3)}
                                  spids: [804]
                                )
                              ]
                              spids: [804]
                            )
                          ]
                          spids: [786 800]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: (ArithWord w:{($ VSub_Name '$OPTION')})
                                      right: (ArithWord w:{(Lit_Digits 5)})
                                    )
                                  spids: [811 820]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(7)}
                                  spids: [827]
                                )
                              ]
                              spids: [827]
                            )
                          ]
                          spids: [809 823]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: (ArithWord w:{($ VSub_Name '$OPTION')})
                                      right: (ArithWord w:{(Lit_Digits 6)})
                                    )
                                  spids: [834 843]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(5)}
                                  spids: [850]
                                )
                              ]
                              spids: [850]
                            )
                          ]
                          spids: [832 846]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: (ArithWord w:{($ VSub_Name '$OPTION')})
                                      right: (ArithWord w:{(Lit_Digits 7)})
                                    )
                                  spids: [857 866]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(8)}
                                  spids: [873]
                                )
                              ]
                              spids: [873]
                            )
                          ]
                          spids: [855 869]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: (ArithWord w:{($ VSub_Name '$OPTION')})
                                      right: (ArithWord w:{(Lit_Digits 8)})
                                    )
                                  spids: [880 889]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(16)}
                                  spids: [896]
                                )
                              ]
                              spids: [896]
                            )
                          ]
                          spids: [878 892]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: (ArithWord w:{($ VSub_Name '$OPTION')})
                                      right: (ArithWord w:{(Lit_Digits 9)})
                                    )
                                  spids: [903 912]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(/DietPi/dietpi/dietpi-autostart)})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:REBOOT_REQUIRED)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [922]
                                )
                              ]
                              spids: [922]
                            )
                          ]
                          spids: [901 915]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: (ArithWord w:{($ VSub_Name '$OPTION')})
                                      right: (ArithWord w:{(Lit_Digits 10)})
                                    )
                                  spids: [929 938]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(11)}
                                  spids: [945]
                                )
                              ]
                              spids: [945]
                            )
                          ]
                          spids: [927 941]
                        )
                      ]
                      else_action: [(C {(Menu_Exit)})]
                      spids: [950 958]
                    )
                  ]
                  spids: [16777215 623]
                )
              ]
              else_action: [(C {(Menu_Exit)})]
              spids: [962 970]
            )
          ]
          spids: [448]
        )
      spids: [445 448]
    )
    (FuncDef
      name: Menu_Exit
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:WHIP_TITLE)
                  op: Equal
                  rhs: {(SQ <' Exit DietPi-Config? '>)}
                  spids: [994]
                )
              ]
              spids: [994]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:WHIP_QUESTION)
                  op: Equal
                  rhs: {(SQ <' Exit DietPi-Config? '>)}
                  spids: [1000]
                )
              ]
              spids: [1000]
            )
            (C {(whiptail)} {(--title)} {(DQ ($ VSub_Name '$WHIP_TITLE'))} {(--yesno)} 
              {(DQ ($ VSub_Name '$WHIP_QUESTION'))} {(--yes-button)} {(DQ (Ok))} {(--no-button)} {(DQ (Back))} {(--defaultno)} {(--backtitle)} 
              {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))} {(10)} {(50)}
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:CHOICE)
                  op: Equal
                  rhs: {($ VSub_QMark '$?')}
                  spids: [1045]
                )
              ]
              spids: [1045]
            )
            (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: [1056 1065]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:TARGETMENUID)
                          op: Equal
                          rhs: {(-1)}
                          spids: [1071]
                        )
                      ]
                      spids: [1071]
                    )
                    (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 {(ps)} {(aux)})
                                                          (C {(grep)} {(-ci)} {(-m1)} 
                                                            {
                                                              (SQ 
                                                                <
'/DietPi/dietpi/[d]ietpi-software'
                                                                >
                                                              )
                                                            }
                                                          )
                                                        ]
                                                        negated: F
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_CommandSub '$('>
                                                spids: [1084 1100]
                                              )
                                            }
                                        )
                                      right: (ArithWord w:{(Lit_Digits 1)})
                                    )
                                  spids: [1082 1107]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:REBOOT_REQUIRED)
                                  op: Equal
                                  rhs: {(0)}
                                  spids: [1113]
                                )
                              ]
                              spids: [1113]
                            )
                          ]
                          spids: [16777215 1110]
                        )
                      ]
                      spids: [16777215 1117]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: (ArithWord w:{($ VSub_Name '$REBOOT_REQUIRED')})
                                      right: (ArithWord w:{(Lit_Digits 1)})
                                    )
                                  spids: [1126 1135]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:WHIP_TITLE)
                                  op: Equal
                                  rhs: {(SQ <'Changes Made - Reboot Now?'>)}
                                  spids: [1141]
                                )
                              ]
                              spids: [1141]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:WHIP_QUESTION)
                                  op: Equal
                                  rhs: 
                                    {
                                      (SQ 
                                        <
' A reboot is required to apply your new settings.\\n Would you like to reboot now?'
                                        >
                                      )
                                    }
                                  spids: [1147]
                                )
                              ]
                              spids: [1147]
                            )
                            (C {(whiptail)} {(--title)} {(DQ ($ VSub_Name '$WHIP_TITLE'))} {(--yesno)} 
                              {(DQ ($ VSub_Name '$WHIP_QUESTION'))} {(--defaultno)} {(--backtitle)} {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))} {(9)} {(65)}
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:CHOICE)
                                  op: Equal
                                  rhs: {($ VSub_QMark '$?')}
                                  spids: [1180]
                                )
                              ]
                              spids: [1180]
                            )
                            (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: [1186 1195]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [(C {(reboot)})]
                                  spids: [16777215 1198]
                                )
                              ]
                              spids: [16777215 1208]
                            )
                          ]
                          spids: [16777215 1138]
                        )
                      ]
                      spids: [16777215 1211]
                    )
                  ]
                  spids: [16777215 1068]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$EXITONBACK')})
                              right: (ArithWord w:{(Lit_Digits 0)})
                            )
                          spids: [1220 1229]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:TARGETMENUID)
                          op: Equal
                          rhs: {(0)}
                          spids: [1235]
                        )
                      ]
                      spids: [1235]
                    )
                  ]
                  spids: [1218 1232]
                )
              ]
              spids: [16777215 1239]
            )
          ]
          spids: [981]
        )
      spids: [978 981]
    )
    (FuncDef
      name: Display_Rotation_Calc_XY_Invert
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:input)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [1255]
                )
              ]
              spids: [1253]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_Less
                              left: (ArithWord w:{($ VSub_Name '$G_HW_MODEL')})
                              right: (ArithWord w:{(Lit_Digits 10)})
                            )
                          spids: [1262 1271]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:framebuffer_x)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(cat)} {(/DietPi/config.txt)})
                                          (C {(grep)} {(-m1)} 
                                            {(SQ <framebuffer>) (Lit_VarLike '_width=')}
                                          )
                                          (C {(sed)} {(SQ <'s/.*=//'>)})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [1281 1304]
                              )
                            }
                          spids: [1280]
                        )
                      ]
                      spids: [1278]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:framebuffer_y)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(cat)} {(/DietPi/config.txt)})
                                          (C {(grep)} {(-m1)} 
                                            {(SQ <framebuffer>) (Lit_VarLike '_height=')}
                                          )
                                          (C {(sed)} {(SQ <'s/.*=//'>)})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [1310 1333]
                              )
                            }
                          spids: [1309]
                        )
                      ]
                      spids: [1307]
                    )
                    (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: [1343 1352]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DParen
                                          child: 
                                            (ArithBinary
                                              op_id: Arith_Less
                                              left: (ArithWord w:{($ VSub_Name '$framebuffer_x')})
                                              right: (ArithWord w:{($ VSub_Name '$framebuffer_y')})
                                            )
                                          spids: [1361 1370]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_Local
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:temp)
                                          op: Equal
                                          rhs: {($ VSub_Name '$framebuffer_x')}
                                          spids: [1379]
                                        )
                                      ]
                                      spids: [1377]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:framebuffer_x)
                                          op: Equal
                                          rhs: {($ VSub_Name '$framebuffer_y')}
                                          spids: [1383]
                                        )
                                      ]
                                      spids: [1383]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:framebuffer_y)
                                          op: Equal
                                          rhs: {($ VSub_Name '$temp')}
                                          spids: [1387]
                                        )
                                      ]
                                      spids: [1387]
                                    )
                                    (C {(sed)} {(-i)} 
                                      {
                                        (DQ ('/framebuffer_width=/c') (Lit_Other '\\') 
                                          ('framebuffer_width=') ($ VSub_Name '$framebuffer_x')
                                        )
                                      } {(/DietPi/config.txt)}
                                    )
                                    (C {(sed)} {(-i)} 
                                      {
                                        (DQ ('/framebuffer_height=/c') (Lit_Other '\\') 
                                          ('framebuffer_height=') ($ VSub_Name '$framebuffer_y')
                                        )
                                      } {(/DietPi/config.txt)}
                                    )
                                  ]
                                  spids: [16777215 1373]
                                )
                              ]
                              spids: [16777215 1421]
                            )
                          ]
                          spids: [16777215 1355]
                        )
                        (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: [1431 1440]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DParen
                                          child: 
                                            (ArithBinary
                                              op_id: Arith_Great
                                              left: (ArithWord w:{($ VSub_Name '$framebuffer_x')})
                                              right: (ArithWord w:{($ VSub_Name '$framebuffer_y')})
                                            )
                                          spids: [1449 1458]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_Local
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:temp)
                                          op: Equal
                                          rhs: {($ VSub_Name '$framebuffer_x')}
                                          spids: [1467]
                                        )
                                      ]
                                      spids: [1465]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:framebuffer_x)
                                          op: Equal
                                          rhs: {($ VSub_Name '$framebuffer_y')}
                                          spids: [1471]
                                        )
                                      ]
                                      spids: [1471]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:framebuffer_y)
                                          op: Equal
                                          rhs: {($ VSub_Name '$temp')}
                                          spids: [1475]
                                        )
                                      ]
                                      spids: [1475]
                                    )
                                    (C {(sed)} {(-i)} 
                                      {
                                        (DQ ('/framebuffer_width=/c') (Lit_Other '\\') 
                                          ('framebuffer_width=') ($ VSub_Name '$framebuffer_x')
                                        )
                                      } {(/DietPi/config.txt)}
                                    )
                                    (C {(sed)} {(-i)} 
                                      {
                                        (DQ ('/framebuffer_height=/c') (Lit_Other '\\') 
                                          ('framebuffer_height=') ($ VSub_Name '$framebuffer_y')
                                        )
                                      } {(/DietPi/config.txt)}
                                    )
                                  ]
                                  spids: [16777215 1461]
                                )
                              ]
                              spids: [16777215 1509]
                            )
                          ]
                          spids: [1429 1443]
                        )
                      ]
                      spids: [16777215 1513]
                    )
                  ]
                  spids: [16777215 1274]
                )
              ]
              spids: [16777215 1517]
            )
          ]
          spids: [1249]
        )
      spids: [1246 1249]
    )
    (FuncDef
      name: Menu_DisplayOptions
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:TARGETMENUID) op:Equal rhs:{(0)} spids:[1536])]
              spids: [1536]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:whiptail_menu_array)
                  op: Equal
                  rhs: {(ArrayLiteralPart)}
                  spids: [1543]
                )
              ]
              spids: [1541]
            )
            (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 21)})
                            )
                          spids: [1551 1560]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:whiptail_menu_array)
                          op: PlusEqual
                          rhs: {(ArrayLiteralPart words:[{(DQ (1))} {(DQ ('Display Driver'))}])}
                          spids: [1567]
                        )
                      ]
                      spids: [1567]
                    )
                  ]
                  spids: [16777215 1563]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:whiptail_menu_array)
                      op: PlusEqual
                      rhs: {(ArrayLiteralPart words:[{(DQ (1))} {(DQ ('Change Resolution'))}])}
                      spids: [1584]
                    )
                  ]
                  spids: [1584]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:whiptail_menu_array)
                      op: PlusEqual
                      rhs: {(ArrayLiteralPart words:[{(DQ (2))} {(DQ ('GPU/RAM Memory Split'))}])}
                      spids: [1596]
                    )
                  ]
                  spids: [1596]
                )
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:lcdpanel_text)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (Pipeline
                                    children: [
                                      (C {(cat)} {(/DietPi/dietpi.txt)})
                                      (C {(grep)} {(-m1)} {(SQ <'^CONFIG_LCDPANEL='>)})
                                      (C {(sed)} {(SQ <'s/.*=//'>)})
                                    ]
                                    negated: F
                                  )
                                ]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [1612 1634]
                          )
                        }
                      spids: [1611]
                    )
                  ]
                  spids: [1609]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:whiptail_menu_array)
                      op: PlusEqual
                      rhs: 
                        {
                          (ArrayLiteralPart
                            words: [
                              {(DQ (3))}
                              {(DQ ('LCD Panel addon: ') ($ VSub_Name '$lcdpanel_text'))}
                            ]
                          )
                        }
                      spids: [1637]
                    )
                  ]
                  spids: [1637]
                )
              ]
              spids: [1580 1651]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:whiptail_menu_array)
                  op: PlusEqual
                  rhs: {(ArrayLiteralPart words:[{(DQ (14))} {(DQ ('LED Control'))}])}
                  spids: [1655]
                )
              ]
              spids: [1655]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_Less
                              left: (ArithWord w:{($ VSub_Name '$G_HW_MODEL')})
                              right: (ArithWord w:{(Lit_Digits 10)})
                            )
                          spids: [1674 1683]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:overscan_enabled)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(cat)} {(/DietPi/config.txt)})
                                          (C {(grep)} {(-ci)} {(-m1)} {(SQ <'disable_overscan=0'>)})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [1697 1713]
                              )
                            }
                          spids: [1696]
                        )
                      ]
                      spids: [1694]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:overscan_text)
                          op: Equal
                          rhs: {(SQ <Disabled>)}
                          spids: [1718]
                        )
                      ]
                      spids: [1716]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: (ArithWord w:{($ VSub_Name '$overscan_enabled')})
                                  spids: [1726 1731]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:overscan_text)
                                  op: Equal
                                  rhs: {(SQ <Enabled>)}
                                  spids: [1737]
                                )
                              ]
                              spids: [1737]
                            )
                          ]
                          spids: [16777215 1734]
                        )
                      ]
                      spids: [16777215 1743]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:hdmi_boost_disabled)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(cat)} {(/DietPi/config.txt)})
                                          (C {(grep)} {(-ci)} {(-m1)} {(SQ <'#config_hdmi_boost='>)})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [1750 1766]
                              )
                            }
                          spids: [1749]
                        )
                      ]
                      spids: [1747]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:hdmi_boost_text)
                          op: Equal
                          rhs: {(SQ <Enabled>)}
                          spids: [1771]
                        )
                      ]
                      spids: [1769]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: (ArithWord w:{($ VSub_Name '$hdmi_boost_disabled')})
                                  spids: [1779 1784]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:hdmi_boost_text)
                                  op: Equal
                                  rhs: {(SQ <Disabled>)}
                                  spids: [1790]
                                )
                              ]
                              spids: [1790]
                            )
                          ]
                          spids: [16777215 1787]
                        )
                      ]
                      spids: [16777215 1796]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:rpi_camera_module_enabled)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(cat)} {(/DietPi/config.txt)})
                                          (C {(grep)} {(-ci)} {(-m1)} {(SQ <'start_x=1'>)})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [1803 1819]
                              )
                            }
                          spids: [1802]
                        )
                      ]
                      spids: [1800]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:rpi_camera_module_text)
                          op: Equal
                          rhs: {(SQ <Disabled>)}
                          spids: [1824]
                        )
                      ]
                      spids: [1822]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: (ArithWord w:{($ VSub_Name '$rpi_camera_module_enabled')})
                                      right: (ArithWord w:{(Lit_Digits 1)})
                                    )
                                  spids: [1832 1841]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:rpi_camera_module_text)
                                  op: Equal
                                  rhs: {(SQ <Enabled>)}
                                  spids: [1847]
                                )
                              ]
                              spids: [1847]
                            )
                          ]
                          spids: [16777215 1844]
                        )
                      ]
                      spids: [16777215 1853]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:rpi_camera_led_enabled)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(cat)} {(/DietPi/config.txt)})
                                          (C {(grep)} {(-ci)} {(-m1)} {(SQ <'disable_camera_led=0'>)})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [1860 1876]
                              )
                            }
                          spids: [1859]
                        )
                      ]
                      spids: [1857]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:rpi_camera_led_text)
                          op: Equal
                          rhs: {(SQ <Disabled>)}
                          spids: [1881]
                        )
                      ]
                      spids: [1879]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: (ArithWord w:{($ VSub_Name '$rpi_camera_led_enabled')})
                                      right: (ArithWord w:{(Lit_Digits 1)})
                                    )
                                  spids: [1889 1898]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:rpi_camera_led_text)
                                  op: Equal
                                  rhs: {(SQ <Enabled>)}
                                  spids: [1904]
                                )
                              ]
                              spids: [1904]
                            )
                          ]
                          spids: [16777215 1901]
                        )
                      ]
                      spids: [16777215 1910]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:rotation_hdmi_current)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(cat)} {(/DietPi/config.txt)})
                                          (C {(grep)} {(-m1)} {(SQ <'^display_rotate='>)})
                                          (C {(sed)} {(SQ <'s/.*=//'>)})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [1917 1939]
                              )
                            }
                          spids: [1916]
                        )
                      ]
                      spids: [1914]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:rotation_lcd_current)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(cat)} {(/DietPi/config.txt)})
                                          (C {(grep)} {(-m1)} {(SQ <'^lcd_rotate='>)})
                                          (C {(sed)} {(SQ <'s/.*=//'>)})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [1945 1967]
                              )
                            }
                          spids: [1944]
                        )
                      ]
                      spids: [1942]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:vc1_key_current)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(cat)} {(/DietPi/config.txt)})
                                          (C {(grep)} {(-m1)} {(SQ <'^decode_WVC1='>)})
                                          (C {(sed)} {(SQ <'s/.*=//'>)})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [1974 1996]
                              )
                            }
                          spids: [1973]
                        )
                      ]
                      spids: [1971]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:mpeg2_key_current)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(cat)} {(/DietPi/config.txt)})
                                          (C {(grep)} {(-m1)} {(SQ <'^decode_MPG2='>)})
                                          (C {(sed)} {(SQ <'s/.*=//'>)})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [2002 2024]
                              )
                            }
                          spids: [2001]
                        )
                      ]
                      spids: [1999]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:justboom_ir_remote_text)
                          op: Equal
                          rhs: {(SQ <Disabled>)}
                          spids: [2034]
                        )
                      ]
                      spids: [2032]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:justboom_ir_remote_enabled)
                          op: Equal
                          rhs: {(0)}
                          spids: [2042]
                        )
                      ]
                      spids: [2040]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(-f)} 
                                  {(/etc/systemd/system/justboom-ir-mpd.service)} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:justboom_ir_remote_text)
                                  op: Equal
                                  rhs: {(SQ <Enabled>)}
                                  spids: [2061]
                                )
                              ]
                              spids: [2061]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:justboom_ir_remote_enabled)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [2067]
                                )
                              ]
                              spids: [2067]
                            )
                          ]
                          spids: [16777215 2057]
                        )
                      ]
                      spids: [16777215 2072]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:whiptail_menu_array)
                          op: PlusEqual
                          rhs: 
                            {
                              (ArrayLiteralPart
                                words: [
                                  {(DQ (4))}
                                  {
                                    (DQ ('Rotation (HDMI)       : ') 
                                      ($ VSub_Name '$rotation_hdmi_current')
                                    )
                                  }
                                ]
                              )
                            }
                          spids: [2076]
                        )
                      ]
                      spids: [2076]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:whiptail_menu_array)
                          op: PlusEqual
                          rhs: 
                            {
                              (ArrayLiteralPart
                                words: [
                                  {(DQ (5))}
                                  {
                                    (DQ ('Rotation (LCD)        : ') 
                                      ($ VSub_Name '$rotation_lcd_current')
                                    )
                                  }
                                ]
                              )
                            }
                          spids: [2089]
                        )
                      ]
                      spids: [2089]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:whiptail_menu_array)
                          op: PlusEqual
                          rhs: 
                            {
                              (ArrayLiteralPart
                                words: [
                                  {(DQ (6))}
                                  {(DQ ('Overscan              : ') ($ VSub_Name '$overscan_text'))}
                                ]
                              )
                            }
                          spids: [2102]
                        )
                      ]
                      spids: [2102]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: (ArithWord w:{($ VSub_Name '$overscan_enabled')})
                                  spids: [2117 2122]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:overscan_options)
                                  op: Equal
                                  rhs: 
                                    {
                                      (ArrayLiteralPart
                                        words: [
                                          {(SQ <overscan_left>)}
                                          {(SQ <overscan_right>)}
                                          {(SQ <overscan_top>)}
                                          {(SQ <overscan_bottom>)}
                                        ]
                                      )
                                    }
                                  spids: [2131]
                                )
                              ]
                              spids: [2129]
                            )
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:overscan_left)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {(cat)} {(/DietPi/config.txt)})
                                                  (C {(grep)} {(-m1)} {(SQ <'overscan_left='>)})
                                                  (C {(sed)} {(SQ <'s/.*=//'>)})
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [2162 2184]
                                      )
                                    }
                                  spids: [2161]
                                )
                              ]
                              spids: [2159]
                            )
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:overscan_right)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {(cat)} {(/DietPi/config.txt)})
                                                  (C {(grep)} {(-m1)} {(SQ <'overscan_right='>)})
                                                  (C {(sed)} {(SQ <'s/.*=//'>)})
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [2190 2212]
                                      )
                                    }
                                  spids: [2189]
                                )
                              ]
                              spids: [2187]
                            )
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:overscan_top)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {(cat)} {(/DietPi/config.txt)})
                                                  (C {(grep)} {(-m1)} {(SQ <'overscan_top='>)})
                                                  (C {(sed)} {(SQ <'s/.*=//'>)})
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [2218 2240]
                                      )
                                    }
                                  spids: [2217]
                                )
                              ]
                              spids: [2215]
                            )
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:overscan_bottom)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {(cat)} {(/DietPi/config.txt)})
                                                  (C {(grep)} {(-m1)} {(SQ <'overscan_bottom='>)})
                                                  (C {(sed)} {(SQ <'s/.*=//'>)})
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [2246 2268]
                                      )
                                    }
                                  spids: [2245]
                                )
                              ]
                              spids: [2243]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:whiptail_menu_array)
                                  op: PlusEqual
                                  rhs: 
                                    {
                                      (ArrayLiteralPart
                                        words: [
                                          {(DQ (15))}
                                          {
                                            (DQ ('Overscan Compensation : L:') 
                                              ($ VSub_Name '$overscan_left') (' R:') ($ VSub_Name '$overscan_right') (' T:') ($ VSub_Name '$overscan_top') (' B:') 
                                              ($ VSub_Name '$overscan_bottom')
                                            )
                                          }
                                        ]
                                      )
                                    }
                                  spids: [2271]
                                )
                              ]
                              spids: [2271]
                            )
                          ]
                          spids: [16777215 2125]
                        )
                      ]
                      spids: [16777215 2291]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:whiptail_menu_array)
                          op: PlusEqual
                          rhs: 
                            {
                              (ArrayLiteralPart
                                words: [
                                  {(DQ (7))}
                                  {
                                    (DQ ('HDMI Boost            : ') ($ VSub_Name '$hdmi_boost_text'))
                                  }
                                ]
                              )
                            }
                          spids: [2295]
                        )
                      ]
                      spids: [2295]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:whiptail_menu_array)
                          op: PlusEqual
                          rhs: 
                            {
                              (ArrayLiteralPart
                                words: [
                                  {(DQ (8))}
                                  {
                                    (DQ ('RPi Camera            : ') 
                                      ($ VSub_Name '$rpi_camera_module_text')
                                    )
                                  }
                                ]
                              )
                            }
                          spids: [2308]
                        )
                      ]
                      spids: [2308]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:whiptail_menu_array)
                          op: PlusEqual
                          rhs: 
                            {
                              (ArrayLiteralPart
                                words: [
                                  {(DQ (9))}
                                  {
                                    (DQ ('RPI Camera led        : ') 
                                      ($ VSub_Name '$rpi_camera_led_text')
                                    )
                                  }
                                ]
                              )
                            }
                          spids: [2321]
                        )
                      ]
                      spids: [2321]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:whiptail_menu_array)
                          op: PlusEqual
                          rhs: 
                            {
                              (ArrayLiteralPart
                                words: [
                                  {(DQ (11))}
                                  {
                                    (DQ ('JustBoom IR remote    : ') 
                                      ($ VSub_Name '$justboom_ir_remote_text')
                                    )
                                  }
                                ]
                              )
                            }
                          spids: [2334]
                        )
                      ]
                      spids: [2334]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:whiptail_menu_array)
                          op: PlusEqual
                          rhs: 
                            {
                              (ArrayLiteralPart
                                words: [
                                  {(DQ (12))}
                                  {
                                    (DQ ('VC1 Key               : ') ($ VSub_Name '$vc1_key_current'))
                                  }
                                ]
                              )
                            }
                          spids: [2347]
                        )
                      ]
                      spids: [2347]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:whiptail_menu_array)
                          op: PlusEqual
                          rhs: 
                            {
                              (ArrayLiteralPart
                                words: [
                                  {(DQ (13))}
                                  {
                                    (DQ ('MPEG2 Key             : ') 
                                      ($ VSub_Name '$mpeg2_key_current')
                                    )
                                  }
                                ]
                              )
                            }
                          spids: [2360]
                        )
                      ]
                      spids: [2360]
                    )
                  ]
                  spids: [16777215 1686]
                )
              ]
              spids: [16777215 2374]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DAmp
                              left: 
                                (ArithBinary
                                  op_id: Arith_GreatEqual
                                  left: (ArithWord w:{($ VSub_Name '$G_HW_MODEL')})
                                  right: (ArithWord w:{(Lit_Digits 10)})
                                )
                              right: 
                                (ArithBinary
                                  op_id: Arith_LessEqual
                                  left: (ArithWord w:{($ VSub_Name '$G_HW_MODEL')})
                                  right: (ArithWord w:{(Lit_Digits 12)})
                                )
                            )
                          spids: [2384 2401]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:odroid_remote_text)
                          op: Equal
                          rhs: {(SQ <Disabled>)}
                          spids: [2410]
                        )
                      ]
                      spids: [2408]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:odroid_remote_enabled)
                          op: Equal
                          rhs: {(0)}
                          spids: [2418]
                        )
                      ]
                      spids: [2416]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(-f)} 
                                  {(/etc/systemd/system/odroid-remote.service)} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:odroid_remote_text)
                                  op: Equal
                                  rhs: {(SQ <Enabled>)}
                                  spids: [2437]
                                )
                              ]
                              spids: [2437]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:odroid_remote_enabled)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [2443]
                                )
                              ]
                              spids: [2443]
                            )
                          ]
                          spids: [16777215 2433]
                        )
                      ]
                      spids: [16777215 2448]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:whiptail_menu_array)
                          op: PlusEqual
                          rhs: 
                            {
                              (ArrayLiteralPart
                                words: [
                                  {(DQ (10))}
                                  {(DQ ('Odroid remote  : ') ($ VSub_Name '$odroid_remote_text'))}
                                ]
                              )
                            }
                          spids: [2452]
                        )
                      ]
                      spids: [2452]
                    )
                  ]
                  spids: [16777215 2404]
                )
              ]
              spids: [16777215 2466]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:WHIP_TITLE)
                  op: Equal
                  rhs: {(SQ <'DietPi - Display Options'>)}
                  spids: [2470]
                )
              ]
              spids: [2470]
            )
            (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 ('Please select an option:'))}
                                  {(--cancel-button)}
                                  {(DQ ($ VSub_Name '$TEXT_MENU_BACK'))}
                                  {(--default-item)}
                                  {(DQ ($ VSub_Name '$WHIP_SELECTION_PREVIOUS'))}
                                  {(--backtitle)}
                                  {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))}
                                  {(18)}
                                  {(70)}
                                  {(10)}
                                  {
                                    (DQ 
                                      (BracedVarSub
                                        token: <VSub_Name whiptail_menu_array>
                                        bracket_op: (WholeArray op_id:Lit_At)
                                        spids: [2517 2522]
                                      )
                                    )
                                  }
                                ]
                                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: [2477 2533]
                      )
                    }
                  spids: [2476]
                )
              ]
              spids: [2476]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:CHOICE)
                  op: Equal
                  rhs: {($ VSub_QMark '$?')}
                  spids: [2536]
                )
              ]
              spids: [2536]
            )
            (C {(unset)} {(whiptail_menu_array)})
            (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: [2548 2557]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:WHIP_SELECTION_PREVIOUS)
                          op: Equal
                          rhs: {($ VSub_Name '$OPTION')}
                          spids: [2564]
                        )
                      ]
                      spids: [2564]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: (ArithWord w:{($ VSub_Name '$OPTION')})
                                      right: (ArithWord w:{(Lit_Digits 15)})
                                    )
                                  spids: [2571 2580]
                                )
                              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: 
                                        {
                                          (BracedVarSub
                                            token: <VSub_Name overscan_options>
                                            prefix_op: VSub_Pound
                                            bracket_op: (WholeArray op_id:Lit_At)
                                            spids: [2597 2603]
                                          )
                                        }
                                    )
                                )
                              update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i))
                              body: 
                                (DoGroup
                                  children: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:WHIP_TITLE)
                                          op: Equal
                                          rhs: {(SQ <'DietPi - Overscan Compensation'>)}
                                          spids: [2615]
                                        )
                                      ]
                                      spids: [2615]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:OPTION)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (SimpleCommand
                                                        words: [
                                                          {(whiptail)}
                                                          {(--inputbox)}
                                                          {
                                                            (DQ 
                                                              (
'Please enter a value (pixel count) for '
                                                              ) 
                                                              (BracedVarSub
                                                                token: <VSub_Name overscan_options>
                                                                bracket_op: 
                                                                  (ArrayIndex
                                                                    expr: 
                                                                      (ArithWord
                                                                        w: {($ VSub_Name '$i')}
                                                                      )
                                                                  )
                                                                spids: [2629 2634]
                                                              ) ('.:') (Lit_Other '\\') ('n - EG: 16')
                                                            )
                                                          }
                                                          {(10)}
                                                          {(60)}
                                                          {
                                                            (DQ 
                                                              (BracedVarSub
                                                                token: <VSub_Name overscan_options>
                                                                prefix_op: VSub_Bang
                                                                bracket_op: 
                                                                  (ArrayIndex
                                                                    expr: 
                                                                      (ArithWord
                                                                        w: {($ VSub_Name '$i')}
                                                                      )
                                                                  )
                                                                spids: [2645 2651]
                                                              )
                                                            )
                                                          }
                                                          {(--title)}
                                                          {(DQ ($ VSub_Name '$WHIP_TITLE'))}
                                                        ]
                                                        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: [2622 2668]
                                              )
                                            }
                                          spids: [2621]
                                        )
                                      ]
                                      spids: [2621]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:CHOICE)
                                          op: Equal
                                          rhs: {($ VSub_QMark '$?')}
                                          spids: [2671]
                                        )
                                      ]
                                      spids: [2671]
                                    )
                                    (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: [2677 2686]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(sed)} {(-i)} 
                                              {
                                                (DQ (/) 
                                                  (BracedVarSub
                                                    token: <VSub_Name overscan_options>
                                                    bracket_op: 
                                                      (ArrayIndex
                                                        expr: (ArithWord w:{($ VSub_Name '$i')})
                                                      )
                                                    spids: [2699 2704]
                                                  ) ('=/c ') 
                                                  (BracedVarSub
                                                    token: <VSub_Name overscan_options>
                                                    bracket_op: 
                                                      (ArrayIndex
                                                        expr: (ArithWord w:{($ VSub_Name '$i')})
                                                      )
                                                    spids: [2706 2711]
                                                  ) ('=') ($ VSub_Name '$OPTION')
                                                )
                                              } {(/DietPi/config.txt)}
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:REBOOT_REQUIRED)
                                                  op: Equal
                                                  rhs: {(1)}
                                                  spids: [2719]
                                                )
                                              ]
                                              spids: [2719]
                                            )
                                          ]
                                          spids: [16777215 2689]
                                        )
                                      ]
                                      else_action: [(ControlFlow token:<ControlFlow_Break break>)]
                                      spids: [2724 2732]
                                    )
                                  ]
                                  spids: [2612 2736]
                                )
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [2740]
                                )
                              ]
                              spids: [2740]
                            )
                          ]
                          spids: [16777215 2583]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: (ArithWord w:{($ VSub_Name '$OPTION')})
                                      right: (ArithWord w:{(Lit_Digits 1)})
                                    )
                                  spids: [2747 2756]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(2)}
                                  spids: [2763]
                                )
                              ]
                              spids: [2763]
                            )
                          ]
                          spids: [2745 2759]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: (ArithWord w:{($ VSub_Name '$OPTION')})
                                      right: (ArithWord w:{(Lit_Digits 3)})
                                    )
                                  spids: [2770 2779]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DParen
                                          child: 
                                            (ArithBinary
                                              op_id: Arith_DPipe
                                              left: 
                                                (ArithBinary
                                                  op_id: Arith_DPipe
                                                  left: 
                                                    (ArithBinary
                                                      op_id: Arith_DPipe
                                                      left: 
                                                        (ArithBinary
                                                          op_id: Arith_Less
                                                          left: 
                                                            (ArithWord
                                                              w: {($ VSub_Name '$G_HW_MODEL')}
                                                            )
                                                          right: (ArithWord w:{(Lit_Digits 10)})
                                                        )
                                                      right: 
                                                        (ArithBinary
                                                          op_id: Arith_DEqual
                                                          left: 
                                                            (ArithWord
                                                              w: {($ VSub_Name '$G_HW_MODEL')}
                                                            )
                                                          right: (ArithWord w:{(Lit_Digits 10)})
                                                        )
                                                    )
                                                  right: 
                                                    (ArithBinary
                                                      op_id: Arith_DEqual
                                                      left: (ArithWord w:{($ VSub_Name '$G_HW_MODEL')})
                                                      right: (ArithWord w:{(Lit_Digits 11)})
                                                    )
                                                )
                                              right: 
                                                (ArithBinary
                                                  op_id: Arith_DEqual
                                                  left: (ArithWord w:{($ VSub_Name '$G_HW_MODEL')})
                                                  right: (ArithWord w:{(Lit_Digits 12)})
                                                )
                                            )
                                          spids: [2788 2824]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_Local
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:whiptail_menu_array)
                                          op: Equal
                                          rhs: {(ArrayLiteralPart)}
                                          spids: [2833]
                                        )
                                      ]
                                      spids: [2831]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:whiptail_menu_array)
                                          op: PlusEqual
                                          rhs: 
                                            {
                                              (ArrayLiteralPart
                                                words: [{(DQ (none))} {(DQ ('Uninstall all panels'))}]
                                              )
                                            }
                                          spids: [2839]
                                        )
                                      ]
                                      spids: [2839]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:whiptail_menu_array)
                                          op: PlusEqual
                                          rhs: 
                                            {
                                              (ArrayLiteralPart
                                                words: [
                                                  {(DQ (waveshare32))}
                                                  {(DQ ('320x240 panel with touch input'))}
                                                ]
                                              )
                                            }
                                          spids: [2851]
                                        )
                                      ]
                                      spids: [2851]
                                    )
                                    (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: [2866 2875]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:whiptail_menu_array)
                                                  op: PlusEqual
                                                  rhs: 
                                                    {
                                                      (ArrayLiteralPart
                                                        words: [
                                                          {(DQ (odroid-cloudshell))}
                                                          {(DQ ('320x240 panel'))}
                                                        ]
                                                      )
                                                    }
                                                  spids: [2882]
                                                )
                                              ]
                                              spids: [2882]
                                            )
                                          ]
                                          spids: [16777215 2878]
                                        )
                                      ]
                                      spids: [16777215 2895]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (DParen
                                                  child: 
                                                    (ArithBinary
                                                      op_id: Arith_DAmp
                                                      left: 
                                                        (ArithBinary
                                                          op_id: Arith_GreatEqual
                                                          left: 
                                                            (ArithWord
                                                              w: {($ VSub_Name '$G_HW_MODEL')}
                                                            )
                                                          right: (ArithWord w:{(Lit_Digits 10)})
                                                        )
                                                      right: 
                                                        (ArithBinary
                                                          op_id: Arith_Less
                                                          left: 
                                                            (ArithWord
                                                              w: {($ VSub_Name '$G_HW_MODEL')}
                                                            )
                                                          right: (ArithWord w:{(Lit_Digits 20)})
                                                        )
                                                    )
                                                  spids: [2901 2918]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:whiptail_menu_array)
                                                  op: PlusEqual
                                                  rhs: 
                                                    {
                                                      (ArrayLiteralPart
                                                        words: [
                                                          {(DQ (odroid-lcd35))}
                                                          {(DQ ('480x320 panel with touch input'))}
                                                        ]
                                                      )
                                                    }
                                                  spids: [2925]
                                                )
                                              ]
                                              spids: [2925]
                                            )
                                          ]
                                          spids: [16777215 2921]
                                        )
                                      ]
                                      spids: [16777215 2938]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:WHIP_TITLE)
                                          op: Equal
                                          rhs: {(SQ <'DietPi - LCD Panel'>)}
                                          spids: [2942]
                                        )
                                      ]
                                      spids: [2942]
                                    )
                                    (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 ('Please select an option:'))}
                                                          {(--default-item)}
                                                          {(DQ ($ VSub_Name '$lcdpanel_text'))}
                                                          {(--cancel-button)}
                                                          {(DQ ($ VSub_Name '$TEXT_MENU_BACK'))}
                                                          {(14)}
                                                          {(60)}
                                                          {(5)}
                                                          {
                                                            (DQ 
                                                              (BracedVarSub
                                                                token: 
                                                                  <VSub_Name whiptail_menu_array>
                                                                bracket_op: (WholeArray op_id:Lit_At)
                                                                spids: [2983 2988]
                                                              )
                                                            )
                                                          }
                                                        ]
                                                        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: [2949 2999]
                                              )
                                            }
                                          spids: [2948]
                                        )
                                      ]
                                      spids: [2948]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:CHOICE)
                                          op: Equal
                                          rhs: {($ VSub_QMark '$?')}
                                          spids: [3003]
                                        )
                                      ]
                                      spids: [3003]
                                    )
                                    (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: [3009 3018]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(/DietPi/dietpi/func/dietpi-set_hardware)} {(lcdpanel)} 
                                              {(DQ ($ VSub_Name '$OPTION'))}
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:REBOOT_REQUIRED)
                                                  op: Equal
                                                  rhs: {(1)}
                                                  spids: [3034]
                                                )
                                              ]
                                              spids: [3034]
                                            )
                                          ]
                                          spids: [16777215 3021]
                                        )
                                      ]
                                      spids: [16777215 3039]
                                    )
                                    (C {(unset)} {(whiptail_menu_array)})
                                  ]
                                  spids: [16777215 2827]
                                )
                              ]
                              else_action: [(C {(Info_HW_OptionNotSupported)})]
                              spids: [3049 3057]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [3065]
                                )
                              ]
                              spids: [3065]
                            )
                          ]
                          spids: [2768 2782]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: (ArithWord w:{($ VSub_Name '$OPTION')})
                                      right: (ArithWord w:{(Lit_Digits 2)})
                                    )
                                  spids: [3072 3081]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DParen
                                          child: 
                                            (ArithBinary
                                              op_id: Arith_DPipe
                                              left: 
                                                (ArithBinary
                                                  op_id: Arith_DPipe
                                                  left: 
                                                    (ArithBinary
                                                      op_id: Arith_Less
                                                      left: (ArithWord w:{($ VSub_Name '$G_HW_MODEL')})
                                                      right: (ArithWord w:{(Lit_Digits 10)})
                                                    )
                                                  right: 
                                                    (ArithBinary
                                                      op_id: Arith_DEqual
                                                      left: (ArithWord w:{($ VSub_Name '$G_HW_MODEL')})
                                                      right: (ArithWord w:{(Lit_Digits 10)})
                                                    )
                                                )
                                              right: 
                                                (ArithBinary
                                                  op_id: Arith_DEqual
                                                  left: (ArithWord w:{($ VSub_Name '$G_HW_MODEL')})
                                                  right: (ArithWord w:{(Lit_Digits 12)})
                                                )
                                            )
                                          spids: [3090 3115]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:WHIP_QUESTION)
                                          op: Equal
                                          rhs: 
                                            {
                                              (SQ 
                                                <
'GPU/RAM Memory splits are pre-configured and applied during DietPi-Software setup. \\n \\nThe split value is optimized based on your software installs, however, feel free to tweak them.'
                                                >
                                              )
                                            }
                                          spids: [3122]
                                        )
                                      ]
                                      spids: [3122]
                                    )
                                    (C {(whiptail)} {(--title)} {(DQ ($ VSub_Name '$WHIP_TITLE'))} 
                                      {(--msgbox)} {(DQ ($ VSub_Name '$WHIP_QUESTION'))} {(--backtitle)} {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))} {(12)} {(60)}
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:TARGETMENUID)
                                          op: Equal
                                          rhs: {(6)}
                                          spids: [3153]
                                        )
                                      ]
                                      spids: [3153]
                                    )
                                  ]
                                  spids: [16777215 3118]
                                )
                              ]
                              else_action: [
                                (C {(Info_HW_OptionNotSupported)})
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:TARGETMENUID)
                                      op: Equal
                                      rhs: {(1)}
                                      spids: [3170]
                                    )
                                  ]
                                  spids: [3170]
                                )
                              ]
                              spids: [3158 3175]
                            )
                          ]
                          spids: [3070 3084]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: (ArithWord w:{($ VSub_Name '$OPTION')})
                                      right: (ArithWord w:{(Lit_Digits 6)})
                                    )
                                  spids: [3181 3190]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DParen
                                          child: 
                                            (ArithBinary
                                              op_id: Arith_Less
                                              left: (ArithWord w:{($ VSub_Name '$G_HW_MODEL')})
                                              right: (ArithWord w:{(Lit_Digits 10)})
                                            )
                                          spids: [3203 3212]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (DParen
                                                  child: 
                                                    (ArithWord
                                                      w: {($ VSub_Name '$overscan_enabled')}
                                                    )
                                                  spids: [3221 3226]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(sed)} {(-i)} 
                                              {(SQ <'/disable_overscan=/c\\disable_overscan=1'>)} {(/DietPi/config.txt)}
                                            )
                                            (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 overscan_options>
                                                            prefix_op: VSub_Pound
                                                            bracket_op: (WholeArray op_id:Lit_At)
                                                            spids: [3254 3260]
                                                          )
                                                        }
                                                    )
                                                )
                                              update: 
                                                (UnaryAssign
                                                  op_id: Node_PostDPlus
                                                  child: (LhsName name:i)
                                                )
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (C {(sed)} {(-i)} 
                                                      {
                                                        (DQ (/) 
                                                          (BracedVarSub
                                                            token: <VSub_Name overscan_options>
                                                            bracket_op: 
                                                              (ArrayIndex
                                                                expr: 
                                                                  (ArithWord
                                                                    w: {($ VSub_Name '$i')}
                                                                  )
                                                              )
                                                            spids: [3279 3284]
                                                          ) ('=/c ') 
                                                          (BracedVarSub
                                                            token: <VSub_Name overscan_options>
                                                            bracket_op: 
                                                              (ArrayIndex
                                                                expr: 
                                                                  (ArithWord
                                                                    w: {($ VSub_Name '$i')}
                                                                  )
                                                              )
                                                            spids: [3286 3291]
                                                          ) ('=0')
                                                        )
                                                      } {(/DietPi/config.txt)}
                                                    )
                                                  ]
                                                  spids: [3269 3299]
                                                )
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:REBOOT_REQUIRED)
                                                  op: Equal
                                                  rhs: {(1)}
                                                  spids: [3303]
                                                )
                                              ]
                                              spids: [3303]
                                            )
                                          ]
                                          spids: [16777215 3229]
                                        )
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (DParen
                                                  child: 
                                                    (ArithUnary
                                                      op_id: Arith_Bang
                                                      child: 
                                                        (ArithWord
                                                          w: {($ VSub_Name '$overscan_enabled')}
                                                        )
                                                    )
                                                  spids: [3310 3317]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(sed)} {(-i)} 
                                              {(SQ <'/disable_overscan=/c\\disable_overscan=0'>)} {(/DietPi/config.txt)}
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:REBOOT_REQUIRED)
                                                  op: Equal
                                                  rhs: {(1)}
                                                  spids: [3335]
                                                )
                                              ]
                                              spids: [3335]
                                            )
                                          ]
                                          spids: [3308 3320]
                                        )
                                      ]
                                      spids: [16777215 3340]
                                    )
                                  ]
                                  spids: [16777215 3215]
                                )
                              ]
                              else_action: [(C {(Info_HW_OptionNotSupported)})]
                              spids: [3344 3352]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [3360]
                                )
                              ]
                              spids: [3360]
                            )
                          ]
                          spids: [3179 3193]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: (ArithWord w:{($ VSub_Name '$OPTION')})
                                      right: (ArithWord w:{(Lit_Digits 7)})
                                    )
                                  spids: [3367 3376]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DParen
                                          child: 
                                            (ArithBinary
                                              op_id: Arith_Less
                                              left: (ArithWord w:{($ VSub_Name '$G_HW_MODEL')})
                                              right: (ArithWord w:{(Lit_Digits 10)})
                                            )
                                          spids: [3389 3398]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(Lit_Other '[')} 
                                                  {(DQ ($ VSub_Name '$hdmi_boost_disabled'))} {(Lit_Other '=')} {(0)} {(Lit_Other ']')}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:WHIP_QUESTION)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ (' Current setting: ') 
                                                        ($ VSub_Name '$hdmi_boost_text') (' ') (Lit_Other '\\') ('n Would you like to disable HDMI Signal Boost?')
                                                      )
                                                    }
                                                  spids: [3428]
                                                )
                                              ]
                                              spids: [3428]
                                            )
                                            (C {(whiptail)} {(--title)} 
                                              {(DQ ($ VSub_Name '$WHIP_TITLE'))} {(--yesno)} {(DQ ($ VSub_Name '$WHIP_QUESTION'))} {(--yes-button)} {(DQ (Ok))} {(--no-button)} {(DQ (Back))} 
                                              {(--defaultno)} {(--backtitle)} {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))} {(12)} {(60)}
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:CHOICE)
                                                  op: Equal
                                                  rhs: {($ VSub_QMark '$?')}
                                                  spids: [3477]
                                                )
                                              ]
                                              spids: [3477]
                                            )
                                            (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: [3483 3492]
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(sed)} {(-i)} 
                                                      {
                                                        (SQ 
                                                          <
'/config_hdmi_boost=/c\\#config_hdmi_boost=4'
                                                          >
                                                        )
                                                      } {(/DietPi/config.txt)}
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:REBOOT_REQUIRED)
                                                          op: Equal
                                                          rhs: {(1)}
                                                          spids: [3510]
                                                        )
                                                      ]
                                                      spids: [3510]
                                                    )
                                                  ]
                                                  spids: [16777215 3495]
                                                )
                                              ]
                                              spids: [16777215 3515]
                                            )
                                          ]
                                          spids: [16777215 3424]
                                        )
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(Lit_Other '[')} 
                                                  {(DQ ($ VSub_Name '$hdmi_boost_disabled'))} {(Lit_Other '=')} {(1)} {(Lit_Other ']')}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:WHIP_QUESTION)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ (' Current setting: ') 
                                                        ($ VSub_Name '$hdmi_boost_text') (' ') (Lit_Other '\\') ('n Would you like to enable HDMI Signal Boost? ') (Lit_Other '\\') ('n ') 
                                                        (Lit_Other '\\') ('n If you have no display output, or, blinking, selecting Enable may resolve it ')
                                                      )
                                                    }
                                                  spids: [3542]
                                                )
                                              ]
                                              spids: [3542]
                                            )
                                            (C {(whiptail)} {(--title)} 
                                              {(DQ ($ VSub_Name '$WHIP_TITLE'))} {(--yesno)} {(DQ ($ VSub_Name '$WHIP_QUESTION'))} {(--yes-button)} {(DQ (Ok))} {(--no-button)} {(DQ (Back))} 
                                              {(--defaultno)} {(--backtitle)} {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))} {(12)} {(60)}
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:CHOICE)
                                                  op: Equal
                                                  rhs: {($ VSub_QMark '$?')}
                                                  spids: [3595]
                                                )
                                              ]
                                              spids: [3595]
                                            )
                                            (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: [3601 3610]
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(sed)} {(-i)} 
                                                      {
                                                        (SQ 
                                                          <
'/config_hdmi_boost=/c\\config_hdmi_boost=4'
                                                          >
                                                        )
                                                      } {(/DietPi/config.txt)}
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:REBOOT_REQUIRED)
                                                          op: Equal
                                                          rhs: {(1)}
                                                          spids: [3628]
                                                        )
                                                      ]
                                                      spids: [3628]
                                                    )
                                                  ]
                                                  spids: [16777215 3613]
                                                )
                                              ]
                                              spids: [16777215 3633]
                                            )
                                          ]
                                          spids: [3523 3538]
                                        )
                                      ]
                                      spids: [16777215 3637]
                                    )
                                  ]
                                  spids: [16777215 3401]
                                )
                              ]
                              else_action: [(C {(Info_HW_OptionNotSupported)})]
                              spids: [3641 3649]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [3657]
                                )
                              ]
                              spids: [3657]
                            )
                          ]
                          spids: [3365 3379]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: (ArithWord w:{($ VSub_Name '$OPTION')})
                                      right: (ArithWord w:{(Lit_Digits 8)})
                                    )
                                  spids: [3664 3673]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DParen
                                          child: 
                                            (ArithBinary
                                              op_id: Arith_Less
                                              left: (ArithWord w:{($ VSub_Name '$G_HW_MODEL')})
                                              right: (ArithWord w:{(Lit_Digits 10)})
                                            )
                                          spids: [3686 3695]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (DParen
                                                  child: 
                                                    (ArithUnary
                                                      op_id: Arith_Bang
                                                      child: 
                                                        (ArithWord
                                                          w: 
                                                            {
                                                              ($ VSub_Name 
'$rpi_camera_module_enabled'
                                                              )
                                                            }
                                                        )
                                                    )
                                                  spids: [3704 3711]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(/DietPi/dietpi/func/dietpi-set_hardware)} 
                                              {(rpi-camera)} {(enable)}
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:REBOOT_REQUIRED)
                                                  op: Equal
                                                  rhs: {(1)}
                                                  spids: [3725]
                                                )
                                              ]
                                              spids: [3725]
                                            )
                                          ]
                                          spids: [16777215 3714]
                                        )
                                      ]
                                      else_action: [
                                        (C {(/DietPi/dietpi/func/dietpi-set_hardware)} {(rpi-camera)} 
                                          {(disable)}
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:REBOOT_REQUIRED)
                                              op: Equal
                                              rhs: {(1)}
                                              spids: [3741]
                                            )
                                          ]
                                          spids: [3741]
                                        )
                                      ]
                                      spids: [3730 3746]
                                    )
                                  ]
                                  spids: [16777215 3698]
                                )
                              ]
                              else_action: [(C {(Info_HW_OptionNotSupported)})]
                              spids: [3750 3758]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [3766]
                                )
                              ]
                              spids: [3766]
                            )
                          ]
                          spids: [3662 3676]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: (ArithWord w:{($ VSub_Name '$OPTION')})
                                      right: (ArithWord w:{(Lit_Digits 9)})
                                    )
                                  spids: [3773 3782]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DParen
                                          child: 
                                            (ArithBinary
                                              op_id: Arith_Less
                                              left: (ArithWord w:{($ VSub_Name '$G_HW_MODEL')})
                                              right: (ArithWord w:{(Lit_Digits 10)})
                                            )
                                          spids: [3795 3804]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (DParen
                                                  child: 
                                                    (ArithUnary
                                                      op_id: Arith_Bang
                                                      child: 
                                                        (ArithWord
                                                          w: {($ VSub_Name '$rpi_camera_led_enabled')}
                                                        )
                                                    )
                                                  spids: [3813 3820]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(sed)} {(-i)} 
                                              {(SQ <'/disable_camera_led=/c\\disable_camera_led=0'>)} {(/DietPi/config.txt)}
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:REBOOT_REQUIRED)
                                                  op: Equal
                                                  rhs: {(1)}
                                                  spids: [3842]
                                                )
                                              ]
                                              spids: [3842]
                                            )
                                          ]
                                          spids: [16777215 3823]
                                        )
                                      ]
                                      else_action: [
                                        (C {(sed)} {(-i)} 
                                          {(SQ <'/disable_camera_led=/c\\disable_camera_led=1'>)} {(/DietPi/config.txt)}
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:REBOOT_REQUIRED)
                                              op: Equal
                                              rhs: {(1)}
                                              spids: [3866]
                                            )
                                          ]
                                          spids: [3866]
                                        )
                                      ]
                                      spids: [3847 3871]
                                    )
                                  ]
                                  spids: [16777215 3807]
                                )
                              ]
                              else_action: [(C {(Info_HW_OptionNotSupported)})]
                              spids: [3875 3883]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [3891]
                                )
                              ]
                              spids: [3891]
                            )
                          ]
                          spids: [3771 3785]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: (ArithWord w:{($ VSub_Name '$OPTION')})
                                      right: (ArithWord w:{(Lit_Digits 10)})
                                    )
                                  spids: [3898 3907]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DParen
                                          child: 
                                            (ArithUnary
                                              op_id: Arith_Bang
                                              child: 
                                                (ArithWord
                                                  w: {($ VSub_Name '$odroid_remote_enabled')}
                                                )
                                            )
                                          spids: [3920 3927]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(whiptail)} {(--title)} {(DQ ('Odroid Remote'))} {(--yesno)} 
                                      {
                                        (DQ 
                                          (
'This will enable the IR modules, setup Lirc and the Odroid Remote for Odroid C1, C2 and XU4 Cloudshell.'
                                          ) (Lit_Other '\\') (n) (Lit_Other '\\') 
                                          (
"nNB: Other remotes can be configured by running 'irrecord' and applying the codes to '/etc/lirc/lircd.conf'"
                                          ) (Lit_Other '\\') (n) (Lit_Other '\\') ('nDo you wish to continue?')
                                        )
                                      } {(--yes-button)} {(DQ (Ok))} {(--no-button)} {(DQ (Back))} {(--defaultno)} {(--backtitle)} 
                                      {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))} {(14)} {(70)}
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:CHOICE)
                                          op: Equal
                                          rhs: {($ VSub_QMark '$?')}
                                          spids: [3981]
                                        )
                                      ]
                                      spids: [3981]
                                    )
                                    (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: [3987 3996]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(/DietPi/dietpi/func/dietpi-set_hardware)} {(remoteir)} 
                                              {(odroid_remote)}
                                            )
                                          ]
                                          spids: [16777215 3999]
                                        )
                                      ]
                                      spids: [16777215 4011]
                                    )
                                  ]
                                  spids: [16777215 3930]
                                )
                              ]
                              else_action: [
                                (C {(/DietPi/dietpi/func/dietpi-set_hardware)} {(remoteir)} {(none)})
                              ]
                              spids: [4015 4027]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:REBOOT_REQUIRED)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [4031]
                                )
                              ]
                              spids: [4031]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [4040]
                                )
                              ]
                              spids: [4040]
                            )
                          ]
                          spids: [3896 3910]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: (ArithWord w:{($ VSub_Name '$OPTION')})
                                      right: (ArithWord w:{(Lit_Digits 11)})
                                    )
                                  spids: [4047 4056]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DParen
                                          child: 
                                            (ArithUnary
                                              op_id: Arith_Bang
                                              child: 
                                                (ArithWord
                                                  w: {($ VSub_Name '$justboom_ir_remote_enabled')}
                                                )
                                            )
                                          spids: [4069 4076]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(whiptail)} {(--title)} {(DQ ('JustBoom IR Remote'))} {(--yesno)} 
                                      {
                                        (DQ ('Got a JustBoom IR Remote? Excellent!') (Lit_Other '\\') 
                                          (n) (Lit_Other '\\') 
                                          (
'nDietPi will enable the IR modules, setup Lirc and enable support for MPD controls by default:'
                                          ) (Lit_Other '\\') (n) (Lit_Other '\\') ('nDo you wish to continue?')
                                        )
                                      } {(--yes-button)} {(DQ (Ok))} {(--no-button)} {(DQ (Back))} {(--defaultno)} {(--backtitle)} 
                                      {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))} {(14)} {(70)}
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:CHOICE)
                                          op: Equal
                                          rhs: {($ VSub_QMark '$?')}
                                          spids: [4130]
                                        )
                                      ]
                                      spids: [4130]
                                    )
                                    (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: [4136 4145]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(/DietPi/dietpi/func/dietpi-set_hardware)} {(remoteir)} 
                                              {(justboom_ir_remote)}
                                            )
                                          ]
                                          spids: [16777215 4148]
                                        )
                                      ]
                                      spids: [16777215 4160]
                                    )
                                  ]
                                  spids: [16777215 4079]
                                )
                              ]
                              else_action: [
                                (C {(/DietPi/dietpi/func/dietpi-set_hardware)} {(remoteir)} {(none)})
                              ]
                              spids: [4164 4176]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:REBOOT_REQUIRED)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [4180]
                                )
                              ]
                              spids: [4180]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [4189]
                                )
                              ]
                              spids: [4189]
                            )
                          ]
                          spids: [4045 4059]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: (ArithWord w:{($ VSub_Name '$OPTION')})
                                      right: (ArithWord w:{(Lit_Digits 12)})
                                    )
                                  spids: [4196 4205]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:WHIP_TITLE)
                                  op: Equal
                                  rhs: {(SQ <'DietPi - VC1 Key'>)}
                                  spids: [4212]
                                )
                              ]
                              spids: [4212]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:OPTION)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (SimpleCommand
                                                words: [
                                                  {(whiptail)}
                                                  {(--inputbox)}
                                                  {
                                                    (DQ ('Please enter your key for VC1:') 
                                                      (Lit_Other '\\') ('n - EG: 0x00000000')
                                                    )
                                                  }
                                                  {(12)}
                                                  {(60)}
                                                  {(DQ ($ VSub_Name '$vc1_key_current'))}
                                                  {(--title)}
                                                  {(DQ ($ VSub_Name '$WHIP_TITLE'))}
                                                ]
                                                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: [4219 4252]
                                      )
                                    }
                                  spids: [4218]
                                )
                              ]
                              spids: [4218]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:CHOICE)
                                  op: Equal
                                  rhs: {($ VSub_QMark '$?')}
                                  spids: [4255]
                                )
                              ]
                              spids: [4255]
                            )
                            (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: [4261 4270]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (DParen
                                                  child: 
                                                    (ArithUnary
                                                      op_id: Arith_Bang
                                                      child: 
                                                        (ArithWord
                                                          w: 
                                                            {
                                                              (CommandSubPart
                                                                command_list: 
                                                                  (CommandList
                                                                    children: [
                                                                      (Pipeline
                                                                        children: [
                                                                          (C {(cat)} 
                                                                            {(/DietPi/config.txt)}
                                                                          )
                                                                          (C {(grep)} {(-ci)} {(-m1)} 
                                                                            {(SQ <'decode_WVC1='>)}
                                                                          )
                                                                        ]
                                                                        negated: F
                                                                      )
                                                                    ]
                                                                  )
                                                                left_token: <Left_CommandSub '$('>
                                                                spids: [4283 4299]
                                                              )
                                                            }
                                                        )
                                                    )
                                                  spids: [4279 4302]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (SimpleCommand
                                              words: [
                                                {(echo)}
                                                {(-e)}
                                                {(DQ (Lit_Other '\\') ('ndecode_WVC1=0x00000000'))}
                                              ]
                                              redirects: [
                                                (Redir
                                                  op: <Redir_DGreat '>>'>
                                                  fd: 16777215
                                                  arg_word: {(/DietPi/config.txt)}
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [16777215 4305]
                                        )
                                      ]
                                      spids: [16777215 4324]
                                    )
                                    (C {(sed)} {(-i)} 
                                      {
                                        (DQ ('/decode_WVC1=/c') (Lit_Other '\\') ('decode_WVC1=') 
                                          ($ VSub_Name '$OPTION')
                                        )
                                      } {(/DietPi/config.txt)}
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:REBOOT_REQUIRED)
                                          op: Equal
                                          rhs: {(1)}
                                          spids: [4342]
                                        )
                                      ]
                                      spids: [4342]
                                    )
                                  ]
                                  spids: [16777215 4273]
                                )
                              ]
                              spids: [16777215 4347]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [4355]
                                )
                              ]
                              spids: [4355]
                            )
                          ]
                          spids: [4194 4208]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: (ArithWord w:{($ VSub_Name '$OPTION')})
                                      right: (ArithWord w:{(Lit_Digits 13)})
                                    )
                                  spids: [4362 4371]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:WHIP_TITLE)
                                  op: Equal
                                  rhs: {(SQ <'DietPi - MPEG2 Key'>)}
                                  spids: [4378]
                                )
                              ]
                              spids: [4378]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:OPTION)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (SimpleCommand
                                                words: [
                                                  {(whiptail)}
                                                  {(--inputbox)}
                                                  {
                                                    (DQ ('Please enter your key for MPEG2:') 
                                                      (Lit_Other '\\') ('n - EG: 0x00000000')
                                                    )
                                                  }
                                                  {(12)}
                                                  {(60)}
                                                  {(DQ ($ VSub_Name '$mpeg2_key_current'))}
                                                  {(--title)}
                                                  {(DQ ($ VSub_Name '$WHIP_TITLE'))}
                                                ]
                                                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: [4385 4418]
                                      )
                                    }
                                  spids: [4384]
                                )
                              ]
                              spids: [4384]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:CHOICE)
                                  op: Equal
                                  rhs: {($ VSub_QMark '$?')}
                                  spids: [4421]
                                )
                              ]
                              spids: [4421]
                            )
                            (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: [4427 4436]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (DParen
                                                  child: 
                                                    (ArithUnary
                                                      op_id: Arith_Bang
                                                      child: 
                                                        (ArithWord
                                                          w: 
                                                            {
                                                              (CommandSubPart
                                                                command_list: 
                                                                  (CommandList
                                                                    children: [
                                                                      (Pipeline
                                                                        children: [
                                                                          (C {(cat)} 
                                                                            {(/DietPi/config.txt)}
                                                                          )
                                                                          (C {(grep)} {(-ci)} {(-m1)} 
                                                                            {(SQ <'decode_MPG2='>)}
                                                                          )
                                                                        ]
                                                                        negated: F
                                                                      )
                                                                    ]
                                                                  )
                                                                left_token: <Left_CommandSub '$('>
                                                                spids: [4449 4465]
                                                              )
                                                            }
                                                        )
                                                    )
                                                  spids: [4445 4468]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (SimpleCommand
                                              words: [
                                                {(echo)}
                                                {(-e)}
                                                {(DQ (Lit_Other '\\') ('ndecode_MPG2=0x00000000'))}
                                              ]
                                              redirects: [
                                                (Redir
                                                  op: <Redir_DGreat '>>'>
                                                  fd: 16777215
                                                  arg_word: {(/DietPi/config.txt)}
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [16777215 4471]
                                        )
                                      ]
                                      spids: [16777215 4490]
                                    )
                                    (C {(sed)} {(-i)} 
                                      {
                                        (DQ ('/decode_MPG2=/c') (Lit_Other '\\') ('decode_MPG2=') 
                                          ($ VSub_Name '$OPTION')
                                        )
                                      } {(/DietPi/config.txt)}
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:REBOOT_REQUIRED)
                                          op: Equal
                                          rhs: {(1)}
                                          spids: [4508]
                                        )
                                      ]
                                      spids: [4508]
                                    )
                                  ]
                                  spids: [16777215 4439]
                                )
                              ]
                              spids: [16777215 4513]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:REBOOT_REQUIRED)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [4517]
                                )
                              ]
                              spids: [4517]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [4526]
                                )
                              ]
                              spids: [4526]
                            )
                          ]
                          spids: [4360 4374]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: (ArithWord w:{($ VSub_Name '$OPTION')})
                                      right: (ArithWord w:{(Lit_Digits 4)})
                                    )
                                  spids: [4533 4542]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:whiptail_menu_array)
                                  op: Equal
                                  rhs: {(ArrayLiteralPart)}
                                  spids: [4551]
                                )
                              ]
                              spids: [4549]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:whiptail_menu_array)
                                  op: PlusEqual
                                  rhs: 
                                    {
                                      (ArrayLiteralPart
                                        words: [{(DQ (0))} {(DQ ('Disabled (default)'))}]
                                      )
                                    }
                                  spids: [4557]
                                )
                              ]
                              spids: [4557]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:whiptail_menu_array)
                                  op: PlusEqual
                                  rhs: {(ArrayLiteralPart words:[{(DQ (1))} {(DQ ('90 degrees'))}])}
                                  spids: [4569]
                                )
                              ]
                              spids: [4569]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:whiptail_menu_array)
                                  op: PlusEqual
                                  rhs: {(ArrayLiteralPart words:[{(DQ (2))} {(DQ ('180 degrees'))}])}
                                  spids: [4581]
                                )
                              ]
                              spids: [4581]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:whiptail_menu_array)
                                  op: PlusEqual
                                  rhs: {(ArrayLiteralPart words:[{(DQ (3))} {(DQ ('270 degrees'))}])}
                                  spids: [4593]
                                )
                              ]
                              spids: [4593]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:whiptail_menu_array)
                                  op: PlusEqual
                                  rhs: 
                                    {
                                      (ArrayLiteralPart
                                        words: [{(DQ (0x10000))} {(DQ ('Horizontal flip'))}]
                                      )
                                    }
                                  spids: [4605]
                                )
                              ]
                              spids: [4605]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:whiptail_menu_array)
                                  op: PlusEqual
                                  rhs: 
                                    {
                                      (ArrayLiteralPart
                                        words: [{(DQ (0x20000))} {(DQ ('Vertical flip'))}]
                                      )
                                    }
                                  spids: [4617]
                                )
                              ]
                              spids: [4617]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:WHIP_TITLE)
                                  op: Equal
                                  rhs: {(SQ <'DietPi - Display Rotation (HDMI)'>)}
                                  spids: [4630]
                                )
                              ]
                              spids: [4630]
                            )
                            (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 ('Please select an option:') (Lit_Other '\\') 
                                                      (n) (Lit_Other '\\') 
                                                      (
'nNB: If you have the RPi touchscreen, please set this to 0 and use LCD rotation option.'
                                                      )
                                                    )
                                                  }
                                                  {(--default-item)}
                                                  {(DQ ($ VSub_Name '$rotation_hdmi_current'))}
                                                  {(--cancel-button)}
                                                  {(DQ ($ VSub_Name '$TEXT_MENU_BACK'))}
                                                  {(18)}
                                                  {(60)}
                                                  {(6)}
                                                  {
                                                    (DQ 
                                                      (BracedVarSub
                                                        token: <VSub_Name whiptail_menu_array>
                                                        bracket_op: (WholeArray op_id:Lit_At)
                                                        spids: [4675 4680]
                                                      )
                                                    )
                                                  }
                                                ]
                                                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: [4637 4691]
                                      )
                                    }
                                  spids: [4636]
                                )
                              ]
                              spids: [4636]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:CHOICE)
                                  op: Equal
                                  rhs: {($ VSub_QMark '$?')}
                                  spids: [4695]
                                )
                              ]
                              spids: [4695]
                            )
                            (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: [4701 4710]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(sed)} {(-i)} 
                                      {
                                        (DQ ('/display_rotate=/c') (Lit_Other '\\') ('display_rotate=') 
                                          ($ VSub_Name '$OPTION')
                                        )
                                      } {(/DietPi/config.txt)}
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  ops: [Op_DPipe]
                                                  children: [
                                                    (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$OPTION'))} 
                                                      {(Lit_Other '=')} {(DQ (1))} {(Lit_Other ']')}
                                                    )
                                                    (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$OPTION'))} 
                                                      {(Lit_Other '=')} {(DQ (3))} {(Lit_Other ']')}
                                                    )
                                                  ]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [(C {(Display_Rotation_Calc_XY_Invert)} {(1)})]
                                          spids: [16777215 4769]
                                        )
                                      ]
                                      else_action: [(C {(Display_Rotation_Calc_XY_Invert)} {(0)})]
                                      spids: [4783 4793]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:REBOOT_REQUIRED)
                                          op: Equal
                                          rhs: {(1)}
                                          spids: [4798]
                                        )
                                      ]
                                      spids: [4798]
                                    )
                                  ]
                                  spids: [16777215 4713]
                                )
                              ]
                              spids: [16777215 4803]
                            )
                            (C {(unset)} {(whiptail_menu_array)})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:REBOOT_REQUIRED)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [4813]
                                )
                              ]
                              spids: [4813]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [4822]
                                )
                              ]
                              spids: [4822]
                            )
                          ]
                          spids: [4531 4545]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: (ArithWord w:{($ VSub_Name '$OPTION')})
                                      right: (ArithWord w:{(Lit_Digits 5)})
                                    )
                                  spids: [4829 4838]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:whiptail_menu_array)
                                  op: Equal
                                  rhs: {(ArrayLiteralPart)}
                                  spids: [4847]
                                )
                              ]
                              spids: [4845]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:whiptail_menu_array)
                                  op: PlusEqual
                                  rhs: 
                                    {
                                      (ArrayLiteralPart
                                        words: [{(DQ (0))} {(DQ ('Disabled (default)'))}]
                                      )
                                    }
                                  spids: [4853]
                                )
                              ]
                              spids: [4853]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:whiptail_menu_array)
                                  op: PlusEqual
                                  rhs: {(ArrayLiteralPart words:[{(DQ (2))} {(DQ ('180 degrees'))}])}
                                  spids: [4865]
                                )
                              ]
                              spids: [4865]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:WHIP_TITLE)
                                  op: Equal
                                  rhs: {(SQ <'DietPi - Display Rotation (LCD)'>)}
                                  spids: [4878]
                                )
                              ]
                              spids: [4878]
                            )
                            (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 ('Please select an option:') (Lit_Other '\\') 
                                                      (n) (Lit_Other '\\') ('nNB: This option is for RPi touchscreen.')
                                                    )
                                                  }
                                                  {(--default-item)}
                                                  {(DQ ($ VSub_Name '$rotation_lcd_current'))}
                                                  {(--cancel-button)}
                                                  {(DQ ($ VSub_Name '$TEXT_MENU_BACK'))}
                                                  {(14)}
                                                  {(60)}
                                                  {(2)}
                                                  {
                                                    (DQ 
                                                      (BracedVarSub
                                                        token: <VSub_Name whiptail_menu_array>
                                                        bracket_op: (WholeArray op_id:Lit_At)
                                                        spids: [4923 4928]
                                                      )
                                                    )
                                                  }
                                                ]
                                                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: [4885 4939]
                                      )
                                    }
                                  spids: [4884]
                                )
                              ]
                              spids: [4884]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:CHOICE)
                                  op: Equal
                                  rhs: {($ VSub_QMark '$?')}
                                  spids: [4943]
                                )
                              ]
                              spids: [4943]
                            )
                            (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: [4949 4958]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(sed)} {(-i)} 
                                      {
                                        (DQ ('/lcd_rotate=/c') (Lit_Other '\\') ('lcd_rotate=') 
                                          ($ VSub_Name '$OPTION')
                                        )
                                      } {(/DietPi/config.txt)}
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:REBOOT_REQUIRED)
                                          op: Equal
                                          rhs: {(1)}
                                          spids: [4980]
                                        )
                                      ]
                                      spids: [4980]
                                    )
                                  ]
                                  spids: [16777215 4961]
                                )
                              ]
                              spids: [16777215 4985]
                            )
                            (C {(unset)} {(whiptail_menu_array)})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:REBOOT_REQUIRED)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [4995]
                                )
                              ]
                              spids: [4995]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [5004]
                                )
                              ]
                              spids: [5004]
                            )
                          ]
                          spids: [4827 4841]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: (ArithWord w:{($ VSub_Name '$OPTION')})
                                      right: (ArithWord w:{(Lit_Digits 14)})
                                    )
                                  spids: [5011 5020]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(/DietPi/dietpi/func/dietpi-led_control)})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [5030]
                                )
                              ]
                              spids: [5030]
                            )
                          ]
                          spids: [5009 5023]
                        )
                      ]
                      spids: [16777215 5035]
                    )
                  ]
                  spids: [16777215 2560]
                )
              ]
              spids: [16777215 5039]
            )
            (C {(unset)} {(overscan_options)})
          ]
          spids: [1532]
        )
      spids: [1529 1532]
    )
    (FuncDef
      name: Menu_DisplayOptions_Driver_Resolution
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:TARGETMENUID) op:Equal rhs:{(1)} spids:[5068])]
              spids: [5068]
            )
            (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 21)})
                            )
                          spids: [5079 5088]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:whiptail_menu_array)
                          op: Equal
                          rhs: {(ArrayLiteralPart)}
                          spids: [5097]
                        )
                      ]
                      spids: [5095]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:nvidia_installed)
                          op: Equal
                          rhs: {(0)}
                          spids: [5105]
                        )
                      ]
                      spids: [5103]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:nvidia_text)
                          op: Equal
                          rhs: {(SQ <'Install GPU driver'>)}
                          spids: [5111]
                        )
                      ]
                      spids: [5109]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithWord
                                      w: 
                                        {
                                          (CommandSubPart
                                            command_list: 
                                              (CommandList
                                                children: [
                                                  (Pipeline
                                                    children: [
                                                      (C {(dpkg)} {(--get-selections)})
                                                      (C {(grep)} {(-ci)} {(-m1)} 
                                                        {(SQ <'^nvidia-driver'>)}
                                                      )
                                                    ]
                                                    negated: F
                                                  )
                                                ]
                                              )
                                            left_token: <Left_CommandSub '$('>
                                            spids: [5121 5137]
                                          )
                                        }
                                    )
                                  spids: [5119 5140]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:nvidia_installed)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [5147]
                                )
                              ]
                              spids: [5147]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:nvidia_text)
                                  op: Equal
                                  rhs: {(SQ <'Uninstall GPU driver'>)}
                                  spids: [5151]
                                )
                              ]
                              spids: [5151]
                            )
                          ]
                          spids: [16777215 5143]
                        )
                      ]
                      spids: [16777215 5158]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:whiptail_menu_array)
                          op: PlusEqual
                          rhs: 
                            {
                              (ArrayLiteralPart
                                words: [{(SQ <Nvidia>)} {(DQ (' : ') ($ VSub_Name '$nvidia_text'))}]
                              )
                            }
                          spids: [5162]
                        )
                      ]
                      spids: [5162]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:radeon_installed)
                          op: Equal
                          rhs: {(0)}
                          spids: [5178]
                        )
                      ]
                      spids: [5176]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:intel_installed)
                          op: Equal
                          rhs: {(0)}
                          spids: [5184]
                        )
                      ]
                      spids: [5182]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:WHIP_TITLE)
                          op: Equal
                          rhs: {(SQ <'DietPi - Display Driver'>)}
                          spids: [5212]
                        )
                      ]
                      spids: [5212]
                    )
                    (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 ('Please select an option:'))}
                                          {(--cancel-button)}
                                          {(DQ ($ VSub_Name '$TEXT_MENU_BACK'))}
                                          {(--default-item)}
                                          {(DQ ($ VSub_Name '$WHIP_SELECTION_PREVIOUS'))}
                                          {(--backtitle)}
                                          {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))}
                                          {(14)}
                                          {(70)}
                                          {(4)}
                                          {
                                            (DQ 
                                              (BracedVarSub
                                                token: <VSub_Name whiptail_menu_array>
                                                bracket_op: (WholeArray op_id:Lit_At)
                                                spids: [5259 5264]
                                              )
                                            )
                                          }
                                        ]
                                        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: [5219 5275]
                              )
                            }
                          spids: [5218]
                        )
                      ]
                      spids: [5218]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:CHOICE)
                          op: Equal
                          rhs: {($ VSub_QMark '$?')}
                          spids: [5278]
                        )
                      ]
                      spids: [5278]
                    )
                    (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: [5284 5293]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(2)}
                                  spids: [5300]
                                )
                              ]
                              spids: [5300]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$OPTION'))} 
                                          {(Lit_Other '=')} {(SQ <Nvidia>)} {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (DParen
                                                  child: 
                                                    (ArithUnary
                                                      op_id: Arith_Bang
                                                      child: 
                                                        (ArithWord
                                                          w: {($ VSub_Name '$nvidia_installed')}
                                                        )
                                                    )
                                                  spids: [5328 5335]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(/DietPi/dietpi/dietpi-software)} {(install)} {(151)})
                                          ]
                                          spids: [16777215 5338]
                                        )
                                      ]
                                      else_action: [
                                        (C {(/DietPi/dietpi/dietpi-software)} {(uninstall)} {(151)})
                                      ]
                                      spids: [5350 5362]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:REBOOT_REQUIRED)
                                          op: Equal
                                          rhs: {(1)}
                                          spids: [5366]
                                        )
                                      ]
                                      spids: [5366]
                                    )
                                  ]
                                  spids: [16777215 5322]
                                )
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$OPTION'))} 
                                          {(Lit_Other '=')} {(SQ <'Xorg Configuration'>)} {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(whiptail)} {(--title)} {(DQ ('Info: Xorg Configuration'))} 
                                      {(--msgbox)} 
                                      {
                                        (DQ 
                                          (
'NB: This feature will only work if no X server is currently running.'
                                          ) (Lit_Other '\\') (n) (Lit_Other '\\') ('nPlease ensure:') (Lit_Other '\\') 
                                          ('n - No current X server (desktop) is running') (Lit_Other '\\') (n) (Lit_Other '\\') 
                                          (
"nIf a desktop is running, please set 'dietpi-autostart' to 'Console', reboot system, then rerun this option."
                                          )
                                        )
                                      } {(--backtitle)} {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))} {(16)} {(65)}
                                    )
                                    (C {(X)} {(-configure)})
                                  ]
                                  spids: [5371 5388]
                                )
                              ]
                              spids: [16777215 5433]
                            )
                          ]
                          spids: [16777215 5296]
                        )
                      ]
                      spids: [16777215 5437]
                    )
                  ]
                  spids: [16777215 5091]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_Less
                              left: (ArithWord w:{($ VSub_Name '$G_HW_MODEL')})
                              right: (ArithWord w:{(Lit_Digits 10)})
                            )
                          spids: [5447 5456]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:framebuffer_x)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(cat)} {(/DietPi/config.txt)})
                                          (C {(grep)} {(-m1)} 
                                            {(SQ <framebuffer>) (Lit_VarLike '_width=')}
                                          )
                                          (C {(sed)} {(SQ <'s/.*=//'>)})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [5470 5493]
                              )
                            }
                          spids: [5469]
                        )
                      ]
                      spids: [5467]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:framebuffer_y)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(cat)} {(/DietPi/config.txt)})
                                          (C {(grep)} {(-m1)} 
                                            {(SQ <framebuffer>) (Lit_VarLike '_height=')}
                                          )
                                          (C {(sed)} {(SQ <'s/.*=//'>)})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [5499 5522]
                              )
                            }
                          spids: [5498]
                        )
                      ]
                      spids: [5496]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:display_output_text)
                          op: Equal
                          rhs: 
                            {
                              (DQ ($ VSub_Name '$framebuffer_x') (' X ') ($ VSub_Name '$framebuffer_y'))
                            }
                          spids: [5527]
                        )
                      ]
                      spids: [5525]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithWord
                                      w: 
                                        {
                                          (CommandSubPart
                                            command_list: 
                                              (CommandList
                                                children: [
                                                  (Pipeline
                                                    children: [
                                                      (C {(cat)} {(/DietPi/config.txt)})
                                                      (C {(grep)} {(-ci)} {(-m1)} 
                                                        {(SQ <'^dtoverlay=vc4-kms-v3d'>)}
                                                      )
                                                    ]
                                                    negated: F
                                                  )
                                                ]
                                              )
                                            left_token: <Left_CommandSub '$('>
                                            spids: [5544 5560]
                                          )
                                        }
                                    )
                                  spids: [5542 5563]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:display_output_text)
                                  op: Equal
                                  rhs: {(SQ <'OpenGL 1080p'>)}
                                  spids: [5570]
                                )
                              ]
                              spids: [5570]
                            )
                          ]
                          spids: [16777215 5566]
                        )
                      ]
                      spids: [16777215 5577]
                    )
                    (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 {(cat)} {(/DietPi/dietpi.txt)})
                                                          (C {(grep)} {(-ci)} {(-m1)} 
                                                            {(SQ <'CONFIG_HDMI_OUTPUT=0'>)}
                                                          )
                                                        ]
                                                        negated: F
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_CommandSub '$('>
                                                spids: [5588 5604]
                                              )
                                            }
                                        )
                                      right: (ArithWord w:{(Lit_Digits 1)})
                                    )
                                  spids: [5587 5610]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:display_output_text)
                                  op: Equal
                                  rhs: {(DQ (Headless))}
                                  spids: [5617]
                                )
                              ]
                              spids: [5617]
                            )
                          ]
                          spids: [16777215 5613]
                        )
                      ]
                      spids: [16777215 5624]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:WHIP_TITLE)
                          op: Equal
                          rhs: {(SQ <'DietPi - Resolution'>)}
                          spids: [5628]
                        )
                      ]
                      spids: [5628]
                    )
                    (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 (' Hardware : ') 
                                              ($ VSub_Name '$G_HW_MODEL_DESCRIPTION') (' ') (Lit_Other '\\') ('n Current: ') ($ VSub_Name '$display_output_text')
                                            )
                                          }
                                          {(--cancel-button)}
                                          {(DQ ($ VSub_Name '$TEXT_MENU_BACK'))}
                                          {(19)}
                                          {(60)}
                                          {(9)}
                                          {(SQ <OpenGL>)}
                                          {(SQ <'1920 x 1080'>)}
                                          {(SQ <1080p>)}
                                          {(SQ <'1920 x 1080'>)}
                                          {(SQ <720p>)}
                                          {(SQ <'1280 x 720'>)}
                                          {(SQ <480p>)}
                                          {(SQ <'854 x 480'>)}
                                          {(SQ <'RPi Touchscreen'>)}
                                          {(SQ <'800 x 480'>)}
                                          {(SQ <PC1>)}
                                          {(SQ <'1024 x 768'>)}
                                          {(SQ <PC2>)}
                                          {(SQ <'800 x 640'>)}
                                          {(SQ <PC3>)}
                                          {(SQ <'640 x 480'>)}
                                          {(SQ <DietPi-Cloudshell>)}
                                          {(SQ <'320 x 240'>)}
                                          {(SQ <'sdtv_mode=0'>)}
                                          {(SQ <'Composite NTSC'>)}
                                          {(SQ <'sdtv_mode=1'>)}
                                          {(SQ <'Composite Japanese NTSC'>)}
                                          {(SQ <'sdtv_mode=2'>)}
                                          {(SQ <'Composite PAL'>)}
                                          {(SQ <'sdtv_mode=3'>)}
                                          {(SQ <'Composite Brazilian PAL'>)}
                                          {(SQ <Headless>)}
                                          {(SQ <'Disables HDMI & Composite Output'>)}
                                        ]
                                        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: [5635 5815]
                              )
                            }
                          spids: [5634]
                        )
                      ]
                      spids: [5634]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:CHOICE)
                          op: Equal
                          rhs: {($ VSub_QMark '$?')}
                          spids: [5819]
                        )
                      ]
                      spids: [5819]
                    )
                    (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: [5825 5834]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:REBOOT_REQUIRED)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [5841]
                                )
                              ]
                              spids: [5841]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(2)}
                                  spids: [5850]
                                )
                              ]
                              spids: [5850]
                            )
                            (C {(sed)} {(-i)} 
                              {
                                (DQ ('/CONFIG_HDMI_OUTPUT=/c') (Lit_Other '\\') 
                                  ('CONFIG_HDMI_OUTPUT=1')
                                )
                              } {(/DietPi/dietpi.txt)}
                            )
                            (C {(sed)} {(-i)} {(SQ <'/sdtv_mode=/c\\#sdtv_mode=0'>)} 
                              {(/DietPi/config.txt)}
                            )
                            (C {(/DietPi/dietpi/func/dietpi-set_hardware)} {(rpi-opengl)} {(disable)})
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$OPTION'))} 
                                          {(Lit_Other '=')} {(DQ (OpenGL))} {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(/DietPi/dietpi/func/dietpi-set_hardware)} {(rpi-opengl)} 
                                      {(enable)}
                                    )
                                    (C {(sed)} {(-i)} 
                                      {(SQ <'/framebuffer_width=/c\\framebuffer_width=1920'>)} {(/DietPi/config.txt)}
                                    )
                                    (C {(sed)} {(-i)} 
                                      {(SQ <'/framebuffer_height=/c\\framebuffer_height=1080'>)} {(/DietPi/config.txt)}
                                    )
                                  ]
                                  spids: [16777215 5918]
                                )
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DBracket
                                          expr: 
                                            (BoolBinary
                                              op_id: BoolBinary_GlobEqual
                                              left: {(DQ ($ VSub_Name '$OPTION'))}
                                              right: {(DQ (sdtv_mode)) (Lit_Other '*')}
                                            )
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(echo)} {($ VSub_Name '$OPTION')})
                                    (C {(sed)} {(-i)} {(DQ ('/sdtv_mode=/c ') ($ VSub_Name '$OPTION'))} 
                                      {(/DietPi/config.txt)}
                                    )
                                    (C {(sed)} {(-i)} 
                                      {(SQ <'/framebuffer_width=/c\\framebuffer_width=720'>)} {(/DietPi/config.txt)}
                                    )
                                    (C {(sed)} {(-i)} 
                                      {(SQ <'/framebuffer_height=/c\\framebuffer_height=576'>)} {(/DietPi/config.txt)}
                                    )
                                  ]
                                  spids: [5957 5975]
                                )
                              ]
                              else_action: [
                                (Case
                                  to_match: {(DQ ($ VSub_Name '$OPTION'))}
                                  arms: [
                                    (case_arm
                                      pat_list: [{(DQ (DietPi-Cloudshell))}]
                                      action: [
                                        (C {(sed)} {(-i)} 
                                          {(SQ <'/framebuffer_width=/c\\framebuffer_width=320'>)} {(/DietPi/config.txt)}
                                        )
                                        (C {(sed)} {(-i)} 
                                          {(SQ <'/framebuffer_height=/c\\framebuffer_height=240'>)} {(/DietPi/config.txt)}
                                        )
                                      ]
                                      spids: [6033 6036 6061 16777215]
                                    )
                                    (case_arm
                                      pat_list: [{(1080p)}]
                                      action: [
                                        (C {(sed)} {(-i)} 
                                          {(SQ <'/framebuffer_width=/c\\framebuffer_width=1920'>)} {(/DietPi/config.txt)}
                                        )
                                        (C {(sed)} {(-i)} 
                                          {(SQ <'/framebuffer_height=/c\\framebuffer_height=1080'>)} {(/DietPi/config.txt)}
                                        )
                                      ]
                                      spids: [6064 6065 6090 16777215]
                                    )
                                    (case_arm
                                      pat_list: [{(720p)}]
                                      action: [
                                        (C {(sed)} {(-i)} 
                                          {(SQ <'/framebuffer_width=/c\\framebuffer_width=1280'>)} {(/DietPi/config.txt)}
                                        )
                                        (C {(sed)} {(-i)} 
                                          {(SQ <'/framebuffer_height=/c\\framebuffer_height=720'>)} {(/DietPi/config.txt)}
                                        )
                                      ]
                                      spids: [6093 6094 6119 16777215]
                                    )
                                    (case_arm
                                      pat_list: [{(480p)}]
                                      action: [
                                        (C {(sed)} {(-i)} 
                                          {(SQ <'/framebuffer_width=/c\\framebuffer_width=854'>)} {(/DietPi/config.txt)}
                                        )
                                        (C {(sed)} {(-i)} 
                                          {(SQ <'/framebuffer_height=/c\\framebuffer_height=480'>)} {(/DietPi/config.txt)}
                                        )
                                      ]
                                      spids: [6122 6123 6148 16777215]
                                    )
                                    (case_arm
                                      pat_list: [{(DQ ('RPi Touchscreen'))}]
                                      action: [
                                        (C {(sed)} {(-i)} 
                                          {(SQ <'/framebuffer_width=/c\\framebuffer_width=800'>)} {(/DietPi/config.txt)}
                                        )
                                        (C {(sed)} {(-i)} 
                                          {(SQ <'/framebuffer_height=/c\\framebuffer_height=480'>)} {(/DietPi/config.txt)}
                                        )
                                      ]
                                      spids: [6151 6154 6179 16777215]
                                    )
                                    (case_arm
                                      pat_list: [{(PC1)}]
                                      action: [
                                        (C {(sed)} {(-i)} 
                                          {(SQ <'/framebuffer_width=/c\\framebuffer_width=1024'>)} {(/DietPi/config.txt)}
                                        )
                                        (C {(sed)} {(-i)} 
                                          {(SQ <'/framebuffer_height=/c\\framebuffer_height=768'>)} {(/DietPi/config.txt)}
                                        )
                                      ]
                                      spids: [6182 6183 6208 16777215]
                                    )
                                    (case_arm
                                      pat_list: [{(PC2)}]
                                      action: [
                                        (C {(sed)} {(-i)} 
                                          {(SQ <'/framebuffer_width=/c\\framebuffer_width=800'>)} {(/DietPi/config.txt)}
                                        )
                                        (C {(sed)} {(-i)} 
                                          {(SQ <'/framebuffer_height=/c\\framebuffer_height=640'>)} {(/DietPi/config.txt)}
                                        )
                                      ]
                                      spids: [6211 6212 6237 16777215]
                                    )
                                    (case_arm
                                      pat_list: [{(PC3)}]
                                      action: [
                                        (C {(sed)} {(-i)} 
                                          {(SQ <'/framebuffer_width=/c\\framebuffer_width=640'>)} {(/DietPi/config.txt)}
                                        )
                                        (C {(sed)} {(-i)} 
                                          {(SQ <'/framebuffer_height=/c\\framebuffer_height=480'>)} {(/DietPi/config.txt)}
                                        )
                                      ]
                                      spids: [6240 6241 6266 16777215]
                                    )
                                    (case_arm
                                      pat_list: [{(Headless)}]
                                      action: [
                                        (C {(whiptail)} {(--title)} {(DQ ($ VSub_Name '$WHIP_TITLE'))} 
                                          {(--msgbox)} 
                                          {
                                            (DQ (' Using the Headless option will: ') (Lit_Other '\\') 
                                              ('n - Disable HDMI output ') (Lit_Other '\\') ('n - Lower energy consumption by 0.1+ Watts ') (Lit_Other '\\') 
                                              ('n - Set framebuffer to 16x16xD8 ') (Lit_Other '\\') ('n - Improve RAM performance by 1-5% (VideoCore shares RAM bandwidth) ') 
                                              (Lit_Other '\\') ('n - More info here : https://www.raspberrypi.org/forums/viewtopic.php?p=105008#p105008')
                                            )
                                          } {(--backtitle)} {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))} {(14)} {(75)}
                                        )
                                        (C {(sed)} {(-i)} 
                                          {
                                            (DQ ('/CONFIG_HDMI_OUTPUT=/c') (Lit_Other '\\') 
                                              ('CONFIG_HDMI_OUTPUT=0')
                                            )
                                          } {(/DietPi/dietpi.txt)}
                                        )
                                      ]
                                      spids: [6269 6270 6321 16777215]
                                    )
                                  ]
                                  spids: [6023 6029 6325]
                                )
                              ]
                              spids: [6019 6329]
                            )
                          ]
                          spids: [16777215 5837]
                        )
                      ]
                      spids: [16777215 6333]
                    )
                  ]
                  spids: [5445 5459]
                )
                (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 10)})
                            )
                          spids: [6343 6352]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:current_resolution)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(cat)} {(/DietPi/boot.ini)})
                                          (C {(grep)} {(-m1)} {(SQ <'setenv m "'>)})
                                          (C {(awk)} {(-F)} {(SQ <'"'>)} {(SQ <'{print $2}'>)})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [6366 6394]
                              )
                            }
                          spids: [6365]
                        )
                      ]
                      spids: [6363]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:WHIP_TITLE)
                          op: Equal
                          rhs: {(SQ <'DietPi - Resolution'>)}
                          spids: [6398]
                        )
                      ]
                      spids: [6398]
                    )
                    (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 (' Hardware : ') 
                                              ($ VSub_Name '$G_HW_MODEL_DESCRIPTION') (' ') (Lit_Other '\\') ('n Current: ') ($ VSub_Name '$current_resolution')
                                            )
                                          }
                                          {(--cancel-button)}
                                          {(DQ ($ VSub_Name '$TEXT_MENU_BACK'))}
                                          {(16)}
                                          {(60)}
                                          {(6)}
                                          {(DQ (1080p))}
                                          {(DQ ('1920 x 1080'))}
                                          {(DQ (720p))}
                                          {(DQ ('1280 x 720'))}
                                          {(DQ (480p))}
                                          {(DQ ('720 x 480'))}
                                          {(DQ ('VU7+'))}
                                          {(DQ ('1024 x 600'))}
                                          {(DQ (PC1))}
                                          {(DQ ('1024 x 768'))}
                                        ]
                                        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: [6405 6495]
                              )
                            }
                          spids: [6404]
                        )
                      ]
                      spids: [6404]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:CHOICE)
                          op: Equal
                          rhs: {($ VSub_QMark '$?')}
                          spids: [6499]
                        )
                      ]
                      spids: [6499]
                    )
                    (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: [6505 6514]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:REBOOT_REQUIRED)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [6521]
                                )
                              ]
                              spids: [6521]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(2)}
                                  spids: [6530]
                                )
                              ]
                              spids: [6530]
                            )
                            (C {(sed)} {(-i)} {(SQ <'/setenv vout_mode /c\\setenv vout_mode "hdmi"'>)} 
                              {(/DietPi/boot.ini)}
                            )
                            (Case
                              to_match: {(DQ ($ VSub_Name '$OPTION'))}
                              arms: [
                                (case_arm
                                  pat_list: [{(1080p)}]
                                  action: [
                                    (C {(sed)} {(-i)} {(SQ <'/setenv m /c\\setenv m "1080p"'>)} 
                                      {(/DietPi/boot.ini)}
                                    )
                                  ]
                                  spids: [6561 6562 6576 16777215]
                                )
                                (case_arm
                                  pat_list: [{(720p)}]
                                  action: [
                                    (C {(sed)} {(-i)} {(SQ <'/setenv m /c\\setenv m "720p"'>)} 
                                      {(/DietPi/boot.ini)}
                                    )
                                  ]
                                  spids: [6579 6580 6594 16777215]
                                )
                                (case_arm
                                  pat_list: [{(480p)}]
                                  action: [
                                    (C {(sed)} {(-i)} {(SQ <'/setenv m /c\\setenv m "480p"'>)} 
                                      {(/DietPi/boot.ini)}
                                    )
                                  ]
                                  spids: [6597 6598 6612 16777215]
                                )
                                (case_arm
                                  pat_list: [{(PC1)}]
                                  action: [
                                    (C {(sed)} {(-i)} {(SQ <'/setenv m /c\\setenv m "1024x768"'>)} 
                                      {(/DietPi/boot.ini)}
                                    )
                                  ]
                                  spids: [6615 6616 6630 16777215]
                                )
                                (case_arm
                                  pat_list: [{(DQ ('VU7+'))}]
                                  action: [
                                    (C {(sed)} {(-i)} {(SQ <'/setenv m /c\\setenv m "1024x600"'>)} 
                                      {(/DietPi/boot.ini)}
                                    )
                                    (C {(sed)} {(-i)} 
                                      {(SQ <'/setenv vout_mode /c\\setenv vout_mode "dvi"'>)} {(/DietPi/boot.ini)}
                                    )
                                  ]
                                  spids: [6633 6636 6661 16777215]
                                )
                              ]
                              spids: [6551 6557 6665]
                            )
                          ]
                          spids: [16777215 6517]
                        )
                      ]
                      spids: [16777215 6669]
                    )
                  ]
                  spids: [6341 6355]
                )
                (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: [6679 6688]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:current_resolution)
                          op: Equal
                          rhs: {(DQ )}
                          spids: [6701]
                        )
                      ]
                      spids: [6699]
                    )
                    (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 {(cat)} {(/DietPi/boot.ini)})
                                                          (C {(grep)} {(-m1)} 
                                                            {(SQ <'setenv videoconfig "'>)}
                                                          )
                                                          (C {(grep)} {(-ci)} {(-m1)} {(1920x1080)})
                                                        ]
                                                        negated: F
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_CommandSub '$('>
                                                spids: [6710 6734]
                                              )
                                            }
                                        )
                                      right: (ArithWord w:{(Lit_Digits 1)})
                                    )
                                  spids: [6708 6741]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:current_resolution)
                                  op: Equal
                                  rhs: {(DQ (1080p))}
                                  spids: [6747]
                                )
                              ]
                              spids: [6747]
                            )
                          ]
                          spids: [16777215 6744]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: 
                                        (ArithWord
                                          w: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (C {(cat)} {(/DietPi/boot.ini)})
                                                          (C {(grep)} {(-m1)} 
                                                            {(SQ <'setenv videoconfig "'>)}
                                                          )
                                                          (C {(grep)} {(-ci)} {(-m1)} {(1280x720)})
                                                        ]
                                                        negated: F
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_CommandSub '$('>
                                                spids: [6757 6781]
                                              )
                                            }
                                        )
                                      right: (ArithWord w:{(Lit_Digits 1)})
                                    )
                                  spids: [6755 6788]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:current_resolution)
                                  op: Equal
                                  rhs: {(DQ (720p))}
                                  spids: [6794]
                                )
                              ]
                              spids: [6794]
                            )
                          ]
                          spids: [6753 6791]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: 
                                        (ArithWord
                                          w: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (C {(cat)} {(/DietPi/boot.ini)})
                                                          (C {(grep)} {(-m1)} 
                                                            {(SQ <'setenv videoconfig "'>)}
                                                          )
                                                          (C {(grep)} {(-ci)} {(-m1)} {(720x480)})
                                                        ]
                                                        negated: F
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_CommandSub '$('>
                                                spids: [6804 6828]
                                              )
                                            }
                                        )
                                      right: (ArithWord w:{(Lit_Digits 1)})
                                    )
                                  spids: [6802 6835]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:current_resolution)
                                  op: Equal
                                  rhs: {(DQ (480p))}
                                  spids: [6841]
                                )
                              ]
                              spids: [6841]
                            )
                          ]
                          spids: [6800 6838]
                        )
                      ]
                      spids: [16777215 6847]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:WHIP_TITLE)
                          op: Equal
                          rhs: {(SQ <'DietPi - Resolution'>)}
                          spids: [6851]
                        )
                      ]
                      spids: [6851]
                    )
                    (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 (' Hardware : ') 
                                              ($ VSub_Name '$G_HW_MODEL_DESCRIPTION') (' ') (Lit_Other '\\') ('n Current: ') ($ VSub_Name '$current_resolution')
                                            )
                                          }
                                          {(--cancel-button)}
                                          {(DQ ($ VSub_Name '$TEXT_MENU_BACK'))}
                                          {(14)}
                                          {(60)}
                                          {(4)}
                                          {(DQ (1080p))}
                                          {(DQ ('1920 x 1080'))}
                                          {(DQ (720p))}
                                          {(DQ ('1280 x 720'))}
                                          {(DQ (480p))}
                                          {(DQ ('720 x 480'))}
                                          {(DQ ('VU7+'))}
                                          {(DQ ('1024 x 600'))}
                                        ]
                                        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: [6858 6938]
                              )
                            }
                          spids: [6857]
                        )
                      ]
                      spids: [6857]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:CHOICE)
                          op: Equal
                          rhs: {($ VSub_QMark '$?')}
                          spids: [6942]
                        )
                      ]
                      spids: [6942]
                    )
                    (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: [6948 6957]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:REBOOT_REQUIRED)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [6964]
                                )
                              ]
                              spids: [6964]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(2)}
                                  spids: [6973]
                                )
                              ]
                              spids: [6973]
                            )
                            (C {(sed)} {(-i)} {(SQ <'/setenv vout /c\\setenv vout "hdmi"'>)} 
                              {(/DietPi/boot.ini)}
                            )
                            (Case
                              to_match: {(DQ ($ VSub_Name '$OPTION'))}
                              arms: [
                                (case_arm
                                  pat_list: [{(1080p)}]
                                  action: [
                                    (C {(sed)} {(-i)} 
                                      {
                                        (SQ 
                                          <
'/setenv videoconfig /c\\setenv videoconfig "drm_kms_helper.edid_firmware=edid/1920x1080.bin"'
                                          >
                                        )
                                      } {(/DietPi/boot.ini)}
                                    )
                                  ]
                                  spids: [7004 7005 7019 16777215]
                                )
                                (case_arm
                                  pat_list: [{(720p)}]
                                  action: [
                                    (C {(sed)} {(-i)} 
                                      {
                                        (SQ 
                                          <
'/setenv videoconfig /c\\setenv videoconfig "drm_kms_helper.edid_firmware=edid/1280x720.bin"'
                                          >
                                        )
                                      } {(/DietPi/boot.ini)}
                                    )
                                  ]
                                  spids: [7022 7023 7037 16777215]
                                )
                                (case_arm
                                  pat_list: [{(480p)}]
                                  action: [
                                    (C {(sed)} {(-i)} 
                                      {
                                        (SQ 
                                          <
'/setenv videoconfig /c\\setenv videoconfig "drm_kms_helper.edid_firmware=edid/720x480.bin"'
                                          >
                                        )
                                      } {(/DietPi/boot.ini)}
                                    )
                                  ]
                                  spids: [7040 7041 7055 16777215]
                                )
                                (case_arm
                                  pat_list: [{(DQ ('VU7+'))}]
                                  action: [
                                    (C {(sed)} {(-i)} 
                                      {
                                        (SQ 
                                          <
'/setenv videoconfig /c\\setenv videoconfig "drm_kms_helper.edid_firmware=edid/1024x600.bin"'
                                          >
                                        )
                                      } {(/DietPi/boot.ini)}
                                    )
                                    (C {(sed)} {(-i)} {(SQ <'/setenv vout /c\\setenv vout "dvi"'>)} 
                                      {(/DietPi/boot.ini)}
                                    )
                                  ]
                                  spids: [7058 7061 7086 16777215]
                                )
                              ]
                              spids: [6994 7000 7090]
                            )
                          ]
                          spids: [16777215 6960]
                        )
                      ]
                      spids: [16777215 7094]
                    )
                  ]
                  spids: [6677 6691]
                )
                (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 12)})
                            )
                          spids: [7104 7113]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:current_resolution)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(cat)} {(/DietPi/boot.ini)})
                                          (C {(grep)} {(-m1)} {(SQ <'setenv m "'>)})
                                          (C {(awk)} {(-F)} {(SQ <'"'>)} {(SQ <'{print $2}'>)})
                                          (C {(sed)} {(SQ <'s/p/p /'>)})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [7127 7163]
                              )
                            }
                          spids: [7126]
                        )
                      ]
                      spids: [7124]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:WHIP_TITLE)
                          op: Equal
                          rhs: {(SQ <'DietPi - Resolution'>)}
                          spids: [7172]
                        )
                      ]
                      spids: [7172]
                    )
                    (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 (' Hardware : ') 
                                              ($ VSub_Name '$G_HW_MODEL_DESCRIPTION') (' ') (Lit_Other '\\') ('n Current: ') ($ VSub_Name '$current_resolution')
                                            )
                                          }
                                          {(--default-item)}
                                          {(DQ ($ VSub_Name '$current_resolution'))}
                                          {(--cancel-button)}
                                          {(DQ ($ VSub_Name '$TEXT_MENU_BACK'))}
                                          {(18)}
                                          {(60)}
                                          {(9)}
                                          {(DQ ('2160p 60hz'))}
                                          {(DQ ('4K (Recommended)'))}
                                          {(DQ ('2160p 50hz'))}
                                          {(DQ (4K))}
                                          {(DQ ('2160p 30hz'))}
                                          {(DQ (4K))}
                                          {(DQ ('2160p 25hz'))}
                                          {(DQ (4K))}
                                          {(DQ ('2160p 24hz'))}
                                          {(DQ (4K))}
                                          {(DQ ('1080p 60hz'))}
                                          {(DQ ('1080p (Recommended)'))}
                                          {(DQ ('1080p 50hz'))}
                                          {(DQ (1080p))}
                                          {(DQ ('1080p 24hz'))}
                                          {(DQ (1080p))}
                                          {(DQ ('720p 60hz'))}
                                          {(DQ ('720p (Recommended)'))}
                                          {(DQ ('720p 50hz'))}
                                          {(DQ (720p))}
                                          {(DQ ('480p 60hz'))}
                                          {(DQ (480p))}
                                          {(DQ ('1024x600p 60hz'))}
                                          {(DQ ('VU7+'))}
                                          {(DQ ('1024x768p 60hz'))}
                                          {(DQ ('4:3'))}
                                          {(DQ ('800x600p 60hz'))}
                                          {(DQ ('4:3'))}
                                        ]
                                        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: [7179 7365]
                              )
                            }
                          spids: [7178]
                        )
                      ]
                      spids: [7178]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:CHOICE)
                          op: Equal
                          rhs: {($ VSub_QMark '$?')}
                          spids: [7369]
                        )
                      ]
                      spids: [7369]
                    )
                    (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: [7375 7384]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$current_resolution'))} 
                                          {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$OPTION'))} {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:REBOOT_REQUIRED)
                                          op: Equal
                                          rhs: {(1)}
                                          spids: [7413]
                                        )
                                      ]
                                      spids: [7413]
                                    )
                                  ]
                                  spids: [16777215 7409]
                                )
                              ]
                              spids: [16777215 7418]
                            )
                            (C {(sed)} {(-i)} {(SQ <'/setenv vout "dvi"/c\\# setenv vout "dvi"'>)} 
                              {(/DietPi/boot.ini)}
                            )
                            (C {(sed)} {(-i)} {(SQ <'/setenv vout "vga"/c\\# setenv vout "vga"'>)} 
                              {(/DietPi/boot.ini)}
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$OPTION'))} 
                                          {(Lit_Other '=')} {(DQ ('1024x600p 60hz'))} {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(sed)} {(-i)} {(SQ <'/setenv vout "dvi"/c\\setenv vout "dvi"'>)} 
                                      {(/DietPi/boot.ini)}
                                    )
                                  ]
                                  spids: [16777215 7470]
                                )
                              ]
                              spids: [16777215 7490]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:OPTION)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {(echo)} {(-e)} {(DQ ($ VSub_Name '$OPTION'))})
                                                  (C {(tr)} {(-d)} {(SQ <'[:blank:]'>)})
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [7499 7517]
                                      )
                                    }
                                  spids: [7498]
                                )
                              ]
                              spids: [7498]
                            )
                            (C {(sed)} {(-i)} 
                              {
                                (DQ ('/setenv m /c') (Lit_Other '\\') ('setenv m ') 
                                  (EscapedLiteralPart
                                    token: <Lit_EscapedChar '\\"'>
                                  ) ($ VSub_Name '$OPTION') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                )
                              } {(/DietPi/boot.ini)}
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(2)}
                                  spids: [7542]
                                )
                              ]
                              spids: [7542]
                            )
                          ]
                          spids: [16777215 7387]
                        )
                      ]
                      spids: [16777215 7547]
                    )
                  ]
                  spids: [7102 7116]
                )
                (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 40)})
                            )
                          spids: [7557 7566]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:current_resolution)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(cat)} {(/DietPi/uEnv.txt)})
                                          (C {(grep)} {(-m1)} 
                                            {(SQ <'optargs=disp.screen0_output_mode='>)}
                                          )
                                          (C {(sed)} {(SQ <'s/.*=//'>)})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [7580 7602]
                              )
                            }
                          spids: [7579]
                        )
                      ]
                      spids: [7577]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:WHIP_TITLE)
                          op: Equal
                          rhs: {(SQ <'DietPi - Resolution'>)}
                          spids: [7606]
                        )
                      ]
                      spids: [7606]
                    )
                    (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 (' Hardware : ') 
                                              ($ VSub_Name '$G_HW_MODEL_DESCRIPTION') (' ') (Lit_Other '\\') ('n Current: ') ($ VSub_Name '$current_resolution')
                                            )
                                          }
                                          {(--default-item)}
                                          {(DQ ($ VSub_Name '$current_resolution'))}
                                          {(--cancel-button)}
                                          {(DQ ($ VSub_Name '$TEXT_MENU_BACK'))}
                                          {(18)}
                                          {(55)}
                                          {(9)}
                                          {(DQ (720p50))}
                                          {(DQ )}
                                          {(DQ (720p60))}
                                          {(DQ (720p))}
                                          {(DQ (1080i50))}
                                          {(DQ )}
                                          {(DQ (1080i60))}
                                          {(DQ (1080i))}
                                          {(DQ (1080p24))}
                                          {(DQ )}
                                          {(DQ (1080p50))}
                                          {(DQ )}
                                          {(DQ (1080p60))}
                                          {(DQ (1080p))}
                                          {(DQ (2160p24))}
                                          {(DQ )}
                                          {(DQ (2160p25))}
                                          {(DQ )}
                                          {(DQ (2160p30))}
                                          {(DQ (4K))}
                                        ]
                                        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: [7613 7753]
                              )
                            }
                          spids: [7612]
                        )
                      ]
                      spids: [7612]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:CHOICE)
                          op: Equal
                          rhs: {($ VSub_QMark '$?')}
                          spids: [7757]
                        )
                      ]
                      spids: [7757]
                    )
                    (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: [7763 7772]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$current_resolution'))} 
                                          {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$OPTION'))} {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(sed)} {(-i)} 
                                      {
                                        (DQ ('/^optargs=disp.screen0_output_mode=/c') (Lit_Other '\\') 
                                          ('optargs=disp.screen0_output_mode=') ($ VSub_Name '$OPTION')
                                        )
                                      } {(/DietPi/uEnv.txt)}
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:REBOOT_REQUIRED)
                                          op: Equal
                                          rhs: {(1)}
                                          spids: [7815]
                                        )
                                      ]
                                      spids: [7815]
                                    )
                                  ]
                                  spids: [16777215 7797]
                                )
                              ]
                              spids: [16777215 7820]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(2)}
                                  spids: [7828]
                                )
                              ]
                              spids: [7828]
                            )
                          ]
                          spids: [16777215 7775]
                        )
                      ]
                      spids: [16777215 7833]
                    )
                  ]
                  spids: [7555 7569]
                )
              ]
              else_action: [(C {(Info_HW_OptionNotSupported)})]
              spids: [7837 7843]
            )
          ]
          spids: [5060]
        )
      spids: [5057 5060]
    )
    (FuncDef
      name: Menu_AdvancedOptions
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:TARGETMENUID) op:Equal rhs:{(0)} spids:[7862])]
              spids: [7862]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:whiptail_menu_array)
                  op: Equal
                  rhs: {(ArrayLiteralPart)}
                  spids: [7869]
                )
              ]
              spids: [7867]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:swap_size)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(grep)} {(-m1)} {(SQ <'^CONF_SWAPSIZE='>)} {(/etc/dphys-swapfile)})
                                  (C {(sed)} {(SQ <'s/.*=//'>)})
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [7882 7900]
                      )
                    }
                  spids: [7881]
                )
              ]
              spids: [7879]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:swap_text)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$swap_size') (' MB'))}
                  spids: [7905]
                )
              ]
              spids: [7903]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$swap_size')})
                              right: (ArithWord w:{(Lit_Digits 0)})
                            )
                          spids: [7914 7923]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:swap_text)
                          op: Equal
                          rhs: {(DQ (Disabled))}
                          spids: [7929]
                        )
                      ]
                      spids: [7929]
                    )
                  ]
                  spids: [16777215 7926]
                )
              ]
              spids: [16777215 7935]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:whiptail_menu_array)
                  op: PlusEqual
                  rhs: 
                    {
                      (ArrayLiteralPart
                        words: [{(DQ ('Swapfile size'))} {(DQ (': ') ($ VSub_Name '$swap_text'))}]
                      )
                    }
                  spids: [7938]
                )
              ]
              spids: [7938]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:ntpd_mode_current)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(grep)} {(-m1)} {(SQ <'^CONFIG_NTP_MODE='>)} {(/DietPi/dietpi.txt)})
                                  (C {(sed)} {(SQ <'s/.*=//'>)})
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [7959 7977]
                      )
                    }
                  spids: [7958]
                )
              ]
              spids: [7956]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:ntpd_mode_text)
                  op: Equal
                  rhs: {(DQ )}
                  spids: [7982]
                )
              ]
              spids: [7980]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$ntpd_mode_current')})
                              right: (ArithWord w:{(Lit_Digits 0)})
                            )
                          spids: [7989 7998]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:ntpd_mode_text)
                          op: Equal
                          rhs: {(DQ (Disabled))}
                          spids: [8004]
                        )
                      ]
                      spids: [8004]
                    )
                  ]
                  spids: [16777215 8001]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$ntpd_mode_current')})
                              right: (ArithWord w:{(Lit_Digits 1)})
                            )
                          spids: [8012 8021]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:ntpd_mode_text)
                          op: Equal
                          rhs: {(DQ ('Boot Only'))}
                          spids: [8027]
                        )
                      ]
                      spids: [8027]
                    )
                  ]
                  spids: [8010 8024]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$ntpd_mode_current')})
                              right: (ArithWord w:{(Lit_Digits 2)})
                            )
                          spids: [8035 8044]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:ntpd_mode_text)
                          op: Equal
                          rhs: {(DQ ('Boot + Daily'))}
                          spids: [8050]
                        )
                      ]
                      spids: [8050]
                    )
                  ]
                  spids: [8033 8047]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$ntpd_mode_current')})
                              right: (ArithWord w:{(Lit_Digits 3)})
                            )
                          spids: [8058 8067]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:ntpd_mode_text)
                          op: Equal
                          rhs: {(DQ ('Boot + Hourly'))}
                          spids: [8073]
                        )
                      ]
                      spids: [8073]
                    )
                  ]
                  spids: [8056 8070]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$ntpd_mode_current')})
                              right: (ArithWord w:{(Lit_Digits 4)})
                            )
                          spids: [8081 8090]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:ntpd_mode_text)
                          op: Equal
                          rhs: {(DQ ('Daemon + Drift'))}
                          spids: [8096]
                        )
                      ]
                      spids: [8096]
                    )
                  ]
                  spids: [8079 8093]
                )
              ]
              spids: [16777215 8102]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:whiptail_menu_array)
                  op: PlusEqual
                  rhs: 
                    {
                      (ArrayLiteralPart
                        words: [{(DQ ('Time sync mode'))} {(DQ (': ') ($ VSub_Name '$ntpd_mode_text'))}]
                      )
                    }
                  spids: [8105]
                )
              ]
              spids: [8105]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:serialconsole_state)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(cat)} {(/DietPi/dietpi.txt)})
                                  (C {(grep)} {(-m1)} {(SQ <'^CONFIG_SERIAL_CONSOLE_ENABLE='>)})
                                  (C {(sed)} {(SQ <'s/.*=//'>)})
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [8120 8142]
                      )
                    }
                  spids: [8119]
                )
              ]
              spids: [8119]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:serialconsole_text)
                  op: Equal
                  rhs: {(SQ <Disabled>)}
                  spids: [8145]
                )
              ]
              spids: [8145]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$serialconsole_state')})
                              right: (ArithWord w:{(Lit_Digits 1)})
                            )
                          spids: [8153 8162]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:serialconsole_text)
                          op: Equal
                          rhs: {(SQ <Enabled>)}
                          spids: [8168]
                        )
                      ]
                      spids: [8168]
                    )
                  ]
                  spids: [16777215 8165]
                )
              ]
              spids: [16777215 8174]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:whiptail_menu_array)
                  op: PlusEqual
                  rhs: {(ArrayLiteralPart words:[{(DQ ('Update firmware'))} {(DQ )}])}
                  spids: [8178]
                )
              ]
              spids: [8178]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:bluetooth_state_text)
                  op: Equal
                  rhs: {(SQ <Enabled>)}
                  spids: [8192]
                )
              ]
              spids: [8190]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:bluetooth_state)
                  op: Equal
                  rhs: {(1)}
                  spids: [8200]
                )
              ]
              spids: [8198]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-f)} {(/etc/modprobe.d/disable_bt.conf)} {(Lit_Other ']')})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:bluetooth_state)
                          op: Equal
                          rhs: {(0)}
                          spids: [8218]
                        )
                      ]
                      spids: [8218]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:bluetooth_state_text)
                          op: Equal
                          rhs: {(SQ <Disabled>)}
                          spids: [8222]
                        )
                      ]
                      spids: [8222]
                    )
                  ]
                  spids: [16777215 8215]
                )
              ]
              spids: [16777215 8228]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_NEqual
                              left: (ArithWord w:{($ VSub_Name '$G_HW_MODEL')})
                              right: (ArithWord w:{(Lit_Digits 20)})
                            )
                          spids: [8237 8246]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:whiptail_menu_array)
                          op: PlusEqual
                          rhs: 
                            {
                              (ArrayLiteralPart
                                words: [
                                  {(DQ (Bluetooth))}
                                  {(DQ (': ') ($ VSub_Name '$bluetooth_state_text'))}
                                ]
                              )
                            }
                          spids: [8252]
                        )
                      ]
                      spids: [8252]
                    )
                  ]
                  spids: [16777215 8249]
                )
              ]
              spids: [16777215 8265]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_NEqual
                              left: (ArithWord w:{($ VSub_Name '$G_HW_MODEL')})
                              right: (ArithWord w:{(Lit_Digits 20)})
                            )
                          spids: [8275 8284]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:whiptail_menu_array)
                          op: PlusEqual
                          rhs: 
                            {
                              (ArrayLiteralPart
                                words: [
                                  {(DQ ('Serial console'))}
                                  {(DQ (': ') ($ VSub_Name '$serialconsole_text'))}
                                ]
                              )
                            }
                          spids: [8290]
                        )
                      ]
                      spids: [8290]
                    )
                  ]
                  spids: [16777215 8287]
                )
              ]
              spids: [16777215 8303]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_Less
                              left: (ArithWord w:{($ VSub_Name '$G_HW_MODEL')})
                              right: (ArithWord w:{(Lit_Digits 10)})
                            )
                          spids: [8313 8322]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:rpi_i2c_enabled)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(cat)} {(/DietPi/config.txt)})
                                          (C {(grep)} {(-ci)} {(-m1)} {(SQ <'dtparam=i2c_arm=on'>)})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [8332 8348]
                              )
                            }
                          spids: [8331]
                        )
                      ]
                      spids: [8329]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:rpi_i2c_text)
                          op: Equal
                          rhs: {(SQ <Disabled>)}
                          spids: [8353]
                        )
                      ]
                      spids: [8351]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: (ArithWord w:{($ VSub_Name '$rpi_i2c_enabled')})
                                      right: (ArithWord w:{(Lit_Digits 1)})
                                    )
                                  spids: [8361 8370]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:rpi_i2c_text)
                                  op: Equal
                                  rhs: {(SQ <Enabled>)}
                                  spids: [8376]
                                )
                              ]
                              spids: [8376]
                            )
                          ]
                          spids: [16777215 8373]
                        )
                      ]
                      spids: [16777215 8382]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:rpi_i2cbaudrate_hz)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (ArithSubPart
                                  anode: 
                                    (ArithBinary
                                      op_id: Arith_Slash
                                      left: 
                                        (ArithWord
                                          w: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (C {(cat)} {(/DietPi/config.txt)})
                                                          (C {(grep)} {(-m1)} 
                                                            {(SQ <'i2c_arm_baudrate='>)}
                                                          )
                                                          (C {(sed)} {(SQ <'s/.*=//'>)})
                                                        ]
                                                        negated: F
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_CommandSub '$('>
                                                spids: [8392 8414]
                                              )
                                            }
                                        )
                                      right: (ArithWord w:{(Lit_Digits 1000)})
                                    )
                                  spids: [8390 8421]
                                ) (' kHz')
                              )
                            }
                          spids: [8388]
                        )
                      ]
                      spids: [8386]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:usb_max_current_enabled)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(cat)} {(/DietPi/config.txt)})
                                          (C {(grep)} {(-ci)} {(-m1)} {(SQ <'max_usb_current=1'>)})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [8429 8445]
                              )
                            }
                          spids: [8428]
                        )
                      ]
                      spids: [8426]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:rpi_usbmaxcurrent_text)
                          op: Equal
                          rhs: {(SQ <Disabled>)}
                          spids: [8450]
                        )
                      ]
                      spids: [8448]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$usb_max_current_enabled'))} 
                                  {(Lit_Other '=')} {(1)} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:rpi_usbmaxcurrent_text)
                                  op: Equal
                                  rhs: {(SQ <Enabled>)}
                                  spids: [8474]
                                )
                              ]
                              spids: [8474]
                            )
                          ]
                          spids: [16777215 8471]
                        )
                      ]
                      spids: [16777215 8480]
                    )
                    (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 3)})
                                    )
                                  spids: [8486 8495]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:rpi3_usb_boot_bit_enabled)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {(vcgencmd)} {(otp_dump)})
                                                  (C {(grep)} {(-m1)} {(SQ <'17:'>)})
                                                  (C {(grep)} {(-ci)} {(-m1)} {(SQ <3020000a>)})
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [8505 8531]
                                      )
                                    }
                                  spids: [8504]
                                )
                              ]
                              spids: [8502]
                            )
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:rpi3_usb_boot_bit_enabled_text)
                                  op: Equal
                                  rhs: {(SQ <Disabled>)}
                                  spids: [8536]
                                )
                              ]
                              spids: [8534]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DParen
                                          child: 
                                            (ArithWord
                                              w: {($ VSub_Name '$rpi3_usb_boot_bit_enabled')}
                                            )
                                          spids: [8544 8549]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:rpi3_usb_boot_bit_enabled_text)
                                          op: Equal
                                          rhs: {(SQ <Enabled>)}
                                          spids: [8556]
                                        )
                                      ]
                                      spids: [8556]
                                    )
                                  ]
                                  spids: [16777215 8552]
                                )
                              ]
                              spids: [16777215 8563]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:whiptail_menu_array)
                                  op: PlusEqual
                                  rhs: 
                                    {
                                      (ArrayLiteralPart
                                        words: [
                                          {(DQ ('USB boot support'))}
                                          {
                                            (DQ (': ') ($ VSub_Name '$rpi3_usb_boot_bit_enabled_text'))
                                          }
                                        ]
                                      )
                                    }
                                  spids: [8567]
                                )
                              ]
                              spids: [8567]
                            )
                          ]
                          spids: [16777215 8498]
                        )
                      ]
                      spids: [16777215 8581]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:whiptail_menu_array)
                          op: PlusEqual
                          rhs: 
                            {
                              (ArrayLiteralPart
                                words: [
                                  {(DQ ('Max USB current'))}
                                  {(DQ (': ') ($ VSub_Name '$rpi_usbmaxcurrent_text'))}
                                ]
                              )
                            }
                          spids: [8585]
                        )
                      ]
                      spids: [8585]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:whiptail_menu_array)
                          op: PlusEqual
                          rhs: 
                            {
                              (ArrayLiteralPart
                                words: [{(DQ ('I2c state'))} {(DQ (': ') ($ VSub_Name '$rpi_i2c_text'))}]
                              )
                            }
                          spids: [8598]
                        )
                      ]
                      spids: [8598]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:whiptail_menu_array)
                          op: PlusEqual
                          rhs: 
                            {
                              (ArrayLiteralPart
                                words: [
                                  {(DQ ('I2c frequency'))}
                                  {(DQ (': ') ($ VSub_Name '$rpi_i2cbaudrate_hz'))}
                                ]
                              )
                            }
                          spids: [8611]
                        )
                      ]
                      spids: [8611]
                    )
                  ]
                  spids: [16777215 8325]
                )
              ]
              spids: [16777215 8625]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:WHIP_TITLE)
                  op: Equal
                  rhs: {(SQ <'DietPi - Advanced Options'>)}
                  spids: [8630]
                )
              ]
              spids: [8630]
            )
            (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 ('Please select an option:'))}
                                  {(--cancel-button)}
                                  {(DQ ($ VSub_Name '$TEXT_MENU_BACK'))}
                                  {(16)}
                                  {(60)}
                                  {(8)}
                                  {
                                    (DQ 
                                      (BracedVarSub
                                        token: <VSub_Name whiptail_menu_array>
                                        bracket_op: (WholeArray op_id:Lit_At)
                                        spids: [8665 8670]
                                      )
                                    )
                                  }
                                ]
                                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: [8637 8681]
                      )
                    }
                  spids: [8636]
                )
              ]
              spids: [8636]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:CHOICE)
                  op: Equal
                  rhs: {($ VSub_QMark '$?')}
                  spids: [8685]
                )
              ]
              spids: [8685]
            )
            (C {(unset)} {(whiptail_menu_array)})
            (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: [8698 8707]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$OPTION'))} {(Lit_Other '=')} 
                                  {(DQ ('Swapfile size'))} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:MIN_VALUE)
                                  op: Equal
                                  rhs: {(0)}
                                  spids: [8735]
                                )
                              ]
                              spids: [8735]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:MAX_VALUE)
                                  op: Equal
                                  rhs: {(2000)}
                                  spids: [8739]
                                )
                              ]
                              spids: [8739]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:OPTION)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (SimpleCommand
                                                words: [
                                                  {(whiptail)}
                                                  {(--inputbox)}
                                                  {
                                                    (DQ 
                                                      (
'This will set the size of your swap file in MB:'
                                                      ) (Lit_Other '\\') (n) (Lit_Other '\\') 
                                                      (
'nSwapfile has a swapiness setting of 1. Swapfile is used only to prevent out of memory errors.'
                                                      ) (Lit_Other '\\') (n) (Lit_Other '\\') ('n - Recommended value = 1 (auto)') (Lit_Other '\\') 
                                                      ('n - 0 = Disable swapfile') (Lit_Other '\\') ('n - 1 = Auto size swapfile (2GB - RAM = size)') (Lit_Other '\\') ('n - 2 - ') 
                                                      ($ VSub_Name '$MAX_VALUE') (' = Manual size')
                                                    )
                                                  }
                                                  {(16)}
                                                  {(75)}
                                                  {(DQ ($ VSub_Name '$swap_size'))}
                                                  {(--title)}
                                                  {(DQ ('SwapFile Size (MB)'))}
                                                ]
                                                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: [8744 8791]
                                      )
                                    }
                                  spids: [8743]
                                )
                              ]
                              spids: [8743]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:CHOICE)
                                  op: Equal
                                  rhs: {($ VSub_QMark '$?')}
                                  spids: [8794]
                                )
                              ]
                              spids: [8794]
                            )
                            (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: [8800 8809]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  ops: [Op_DAmp Op_DAmp]
                                                  children: [
                                                    (DBracket
                                                      expr: 
                                                        (BoolBinary
                                                          op_id: BoolBinary_EqualTilde
                                                          left: {($ VSub_Name '$OPTION')}
                                                          right: 
                                                            {(Lit_Other '^') (-) (Lit_Other '?') 
                                                              (Lit_Other '[') (0-9) (Lit_Other ']') (Lit_Other '+') (Lit_Other '$')
                                                            }
                                                        )
                                                    )
                                                    (DParen
                                                      child: 
                                                        (ArithBinary
                                                          op_id: Arith_GreatEqual
                                                          left: (ArithWord w:{($ VSub_Name '$OPTION')})
                                                          right: 
                                                            (ArithWord
                                                              w: {($ VSub_Name '$MIN_VALUE')}
                                                            )
                                                        )
                                                      spids: [8838 8847]
                                                    )
                                                    (DParen
                                                      child: 
                                                        (ArithBinary
                                                          op_id: Arith_LessEqual
                                                          left: (ArithWord w:{($ VSub_Name '$OPTION')})
                                                          right: 
                                                            (ArithWord
                                                              w: {($ VSub_Name '$MAX_VALUE')}
                                                            )
                                                        )
                                                      spids: [8851 8860]
                                                    )
                                                  ]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (DParen
                                                          child: 
                                                            (ArithBinary
                                                              op_id: Arith_NEqual
                                                              left: 
                                                                (ArithWord
                                                                  w: {($ VSub_Name '$OPTION')}
                                                                )
                                                              right: 
                                                                (ArithWord
                                                                  w: {($ VSub_Name '$swap_size')}
                                                                )
                                                            )
                                                          spids: [8873 8882]
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (C 
                                                      {
                                                        (
/DietPi/dietpi/func/dietpi-set_dphys-swapfile
                                                        )
                                                      } {($ VSub_Name '$OPTION')}
                                                    )
                                                  ]
                                                  spids: [16777215 8885]
                                                )
                                              ]
                                              spids: [16777215 8895]
                                            )
                                          ]
                                          spids: [16777215 8863]
                                        )
                                      ]
                                      else_action: [(C {(Info_Input_Not_Valid_Integer)})]
                                      spids: [8899 8907]
                                    )
                                  ]
                                  spids: [16777215 8812]
                                )
                              ]
                              spids: [16777215 8911]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(3)}
                                  spids: [8919]
                                )
                              ]
                              spids: [8919]
                            )
                          ]
                          spids: [16777215 8731]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$OPTION'))} {(Lit_Other '=')} 
                                  {(DQ ('Time sync mode'))} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:OPTION)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (SimpleCommand
                                                words: [
                                                  {(whiptail)}
                                                  {(--title)}
                                                  {(DQ ('Time Sync (NTP)'))}
                                                  {(--menu)}
                                                  {
                                                    (DQ 
                                                      (
'Here you can adjust the frequency of NTP time syncs.'
                                                      ) (Lit_Other '\\') (n) (Lit_Other '\\') ('n - Modes 1-3:') (Lit_Other '\\') 
                                                      (
'nDietPi will launch NTPD as a program, rather than a daemon. Once the time has been updated on your system, NTPD will exit to reduce resource usage.'
                                                      ) (Lit_Other '\\') (n) (Lit_Other '\\') ('n - Mode 4:') (Lit_Other '\\') 
                                                      (
'nsystemd-timesyncd will run as a background daemon/service. Differences in time will be gradually adjusted over time, rather than instantly.'
                                                      )
                                                    )
                                                  }
                                                  {(--cancel-button)}
                                                  {(DQ ($ VSub_Name '$TEXT_MENU_BACK'))}
                                                  {(--default-item)}
                                                  {(DQ ($ VSub_Name '$ntpd_mode_current'))}
                                                  {(23)}
                                                  {(70)}
                                                  {(5)}
                                                  {(DQ (0))}
                                                  {(DQ (Disabled))}
                                                  {(DQ (1))}
                                                  {(DQ ('Boot Only'))}
                                                  {(DQ (2))}
                                                  {(DQ ('Boot + Daily (Recommended)'))}
                                                  {(DQ (3))}
                                                  {(DQ ('Boot + Hourly'))}
                                                  {(DQ (4))}
                                                  {(DQ ('Daemon + Drift'))}
                                                ]
                                                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: [8946 9049]
                                      )
                                    }
                                  spids: [8945]
                                )
                              ]
                              spids: [8945]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:CHOICE)
                                  op: Equal
                                  rhs: {($ VSub_QMark '$?')}
                                  spids: [9053]
                                )
                              ]
                              spids: [9053]
                            )
                            (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: [9059 9068]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(/DietPi/dietpi/func/dietpi-set_software)} {(ntpd-mode)} 
                                      {($ VSub_Name '$OPTION')}
                                    )
                                  ]
                                  spids: [16777215 9071]
                                )
                              ]
                              spids: [16777215 9083]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(3)}
                                  spids: [9091]
                                )
                              ]
                              spids: [9091]
                            )
                          ]
                          spids: [8924 8941]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$OPTION'))} {(Lit_Other '=')} 
                                  {(DQ ('Update firmware'))} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DParen
                                          child: 
                                            (ArithBinary
                                              op_id: Arith_Less
                                              left: (ArithWord w:{($ VSub_Name '$G_HW_MODEL')})
                                              right: (ArithWord w:{(Lit_Digits 10)})
                                            )
                                          spids: [9123 9132]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:WHIP_QUESTION)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ 
                                                (
'Would you like to update the firmware/kernel for '
                                                ) ($ VSub_Name '$G_HW_MODEL_DESCRIPTION') ('?') (Lit_Other '\\') ('n - This will run G_RPI_UPDATE')
                                              )
                                            }
                                          spids: [9139]
                                        )
                                      ]
                                      spids: [9139]
                                    )
                                    (C {(whiptail)} {(--title)} {(DQ ($ VSub_Name '$WHIP_TITLE'))} 
                                      {(--yesno)} {(DQ ($ VSub_Name '$WHIP_QUESTION'))} {(--yes-button)} {(DQ (Ok))} {(--no-button)} {(DQ (Back))} 
                                      {(--defaultno)} {(--backtitle)} {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))} {(14)} {(70)}
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:CHOICE)
                                          op: Equal
                                          rhs: {($ VSub_QMark '$?')}
                                          spids: [9188]
                                        )
                                      ]
                                      spids: [9188]
                                    )
                                    (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: [9194 9203]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(G_RPI_UPDATE)})
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:REBOOT_REQUIRED)
                                                  op: Equal
                                                  rhs: {(1)}
                                                  spids: [9213]
                                                )
                                              ]
                                              spids: [9213]
                                            )
                                          ]
                                          spids: [16777215 9206]
                                        )
                                      ]
                                      spids: [16777215 9218]
                                    )
                                  ]
                                  spids: [16777215 9135]
                                )
                                (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 40)})
                                            )
                                          spids: [9228 9237]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:WHIP_QUESTION)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ 
                                                (
'Would you like to update the firmware/kernel for '
                                                ) ($ VSub_Name '$G_HW_MODEL_DESCRIPTION') ('?') (Lit_Other '\\') 
                                                (
"n - This will run longsleep's update scripts to update the U-Boot and kernel."
                                                )
                                              )
                                            }
                                          spids: [9244]
                                        )
                                      ]
                                      spids: [9244]
                                    )
                                    (C {(whiptail)} {(--title)} {(DQ ($ VSub_Name '$WHIP_TITLE'))} 
                                      {(--yesno)} {(DQ ($ VSub_Name '$WHIP_QUESTION'))} {(--yes-button)} {(DQ (Ok))} {(--no-button)} {(DQ (Back))} 
                                      {(--defaultno)} {(--backtitle)} {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))} {(14)} {(70)}
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:CHOICE)
                                          op: Equal
                                          rhs: {($ VSub_QMark '$?')}
                                          spids: [9293]
                                        )
                                      ]
                                      spids: [9293]
                                    )
                                    (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: [9299 9308]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(/usr/local/sbin/pine64_update_uboot.sh)})
                                            (C {(/usr/local/sbin/pine64_update_kernel.sh)})
                                          ]
                                          spids: [16777215 9311]
                                        )
                                      ]
                                      spids: [16777215 9322]
                                    )
                                  ]
                                  spids: [9226 9240]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:WHIP_QUESTION)
                                      op: Equal
                                      rhs: 
                                        {
                                          (DQ ('Would you like to update the firmware/kernel for ') 
                                            ($ VSub_Name '$G_HW_MODEL_DESCRIPTION') ('?') (Lit_Other '\\') ('n - This will run G_AGDUG') (Lit_Other '\\') 
                                            (
'n - Most (but not all) devices allow APT based firmware updates'
                                            ) (Lit_Other '\\') (n) (Lit_Other '\\') 
                                            (
'nNB: If requested to overwrite the current kernel, press TAB and then ENTER (to confirm).'
                                            )
                                          )
                                        }
                                      spids: [9334]
                                    )
                                  ]
                                  spids: [9334]
                                )
                                (C {(whiptail)} {(--title)} {(DQ ($ VSub_Name '$WHIP_TITLE'))} 
                                  {(--yesno)} {(DQ ($ VSub_Name '$WHIP_QUESTION'))} {(--yes-button)} {(DQ (Ok))} {(--no-button)} {(DQ (Back))} 
                                  {(--defaultno)} {(--backtitle)} {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))} {(16)} {(70)}
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:CHOICE)
                                      op: Equal
                                      rhs: {($ VSub_QMark '$?')}
                                      spids: [9389]
                                    )
                                  ]
                                  spids: [9389]
                                )
                                (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: [9395 9404]
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [(C {(G_AGUP)}) (C {(G_AGDUG)})]
                                      spids: [16777215 9407]
                                    )
                                  ]
                                  spids: [16777215 9418]
                                )
                              ]
                              spids: [9330 9422]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(3)}
                                  spids: [9430]
                                )
                              ]
                              spids: [9430]
                            )
                          ]
                          spids: [9096 9113]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$OPTION'))} {(Lit_Other '=')} 
                                  {(DQ ('Max USB current'))} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DParen
                                          child: 
                                            (ArithBinary
                                              op_id: Arith_DEqual
                                              left: 
                                                (ArithWord
                                                  w: {($ VSub_Name '$usb_max_current_enabled')}
                                                )
                                              right: (ArithWord w:{(Lit_Digits 1)})
                                            )
                                          spids: [9462 9471]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:WHIP_QUESTION)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ (' Current setting: ') 
                                                ($ VSub_Name '$rpi_usbmaxcurrent_text') (' (1.2AMP) ') (Lit_Other '\\') ('n Would you like to disable this setting ? ') (Lit_Other '\\') ('n ') 
                                                (Lit_Other '\\') ('n Once Disabled: ') (Lit_Other '\\') ('n - Max USB current will be limited to 0.6AMP.') 
                                                (Lit_Other '\\') ('n - Shared by all USB ports.')
                                              )
                                            }
                                          spids: [9477]
                                        )
                                      ]
                                      spids: [9477]
                                    )
                                    (C {(whiptail)} {(--title)} {(DQ ($ VSub_Name '$WHIP_TITLE'))} 
                                      {(--yesno)} {(DQ ($ VSub_Name '$WHIP_QUESTION'))} {(--yes-button)} {(DQ (Ok))} {(--no-button)} {(DQ (Back))} 
                                      {(--defaultno)} {(--backtitle)} {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))} {(12)} {(70)}
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:CHOICE)
                                          op: Equal
                                          rhs: {($ VSub_QMark '$?')}
                                          spids: [9534]
                                        )
                                      ]
                                      spids: [9534]
                                    )
                                    (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: [9540 9549]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(sed)} {(-i)} 
                                              {(SQ <'/max_usb_current=/c\\max_usb_current=0'>)} {(/DietPi/config.txt)}
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:REBOOT_REQUIRED)
                                                  op: Equal
                                                  rhs: {(1)}
                                                  spids: [9566]
                                                )
                                              ]
                                              spids: [9566]
                                            )
                                          ]
                                          spids: [16777215 9552]
                                        )
                                      ]
                                      spids: [16777215 9570]
                                    )
                                  ]
                                  spids: [16777215 9474]
                                )
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DParen
                                          child: 
                                            (ArithBinary
                                              op_id: Arith_DEqual
                                              left: 
                                                (ArithWord
                                                  w: {($ VSub_Name '$usb_max_current_enabled')}
                                                )
                                              right: (ArithWord w:{(Lit_Digits 0)})
                                            )
                                          spids: [9579 9588]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:WHIP_QUESTION)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ (' Current setting: ') 
                                                ($ VSub_Name '$rpi_usbmaxcurrent_text') (' (0.6AMP) ') (Lit_Other '\\') ('n Would you like to enable this setting ? ') (Lit_Other '\\') ('n ') 
                                                (Lit_Other '\\') ('n Once Enabled: ') (Lit_Other '\\') ('n - Max USB current will be set to 1.2AMP.') (Lit_Other '\\') 
                                                ('n - Shared by all USB ports.')
                                              )
                                            }
                                          spids: [9594]
                                        )
                                      ]
                                      spids: [9594]
                                    )
                                    (C {(whiptail)} {(--title)} {(DQ ($ VSub_Name '$WHIP_TITLE'))} 
                                      {(--yesno)} {(DQ ($ VSub_Name '$WHIP_QUESTION'))} {(--yes-button)} {(DQ (Ok))} {(--no-button)} {(DQ (Back))} 
                                      {(--defaultno)} {(--backtitle)} {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))} {(14)} {(70)}
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:CHOICE)
                                          op: Equal
                                          rhs: {($ VSub_QMark '$?')}
                                          spids: [9651]
                                        )
                                      ]
                                      spids: [9651]
                                    )
                                    (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: [9657 9666]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(sed)} {(-i)} 
                                              {(SQ <'/max_usb_current=/c\\max_usb_current=1'>)} {(/DietPi/config.txt)}
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:REBOOT_REQUIRED)
                                                  op: Equal
                                                  rhs: {(1)}
                                                  spids: [9683]
                                                )
                                              ]
                                              spids: [9683]
                                            )
                                          ]
                                          spids: [16777215 9669]
                                        )
                                      ]
                                      spids: [16777215 9687]
                                    )
                                  ]
                                  spids: [9577 9591]
                                )
                              ]
                              spids: [16777215 9690]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(3)}
                                  spids: [9698]
                                )
                              ]
                              spids: [9698]
                            )
                          ]
                          spids: [9435 9452]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$OPTION'))} {(Lit_Other '=')} 
                                  {(DQ ('I2c state'))} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DParen
                                          child: 
                                            (ArithBinary
                                              op_id: Arith_DEqual
                                              left: (ArithWord w:{($ VSub_Name '$rpi_i2c_enabled')})
                                              right: (ArithWord w:{(Lit_Digits 0)})
                                            )
                                          spids: [9726 9735]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(/DietPi/dietpi/func/dietpi-set_hardware)} {(i2c)} {(enable)})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:REBOOT_REQUIRED)
                                          op: Equal
                                          rhs: {(1)}
                                          spids: [9748]
                                        )
                                      ]
                                      spids: [9748]
                                    )
                                  ]
                                  spids: [16777215 9738]
                                )
                              ]
                              else_action: [
                                (C {(/DietPi/dietpi/func/dietpi-set_hardware)} {(i2c)} {(disable)})
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:REBOOT_REQUIRED)
                                      op: Equal
                                      rhs: {(1)}
                                      spids: [9762]
                                    )
                                  ]
                                  spids: [9762]
                                )
                              ]
                              spids: [9752 9766]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(3)}
                                  spids: [9774]
                                )
                              ]
                              spids: [9774]
                            )
                          ]
                          spids: [9703 9720]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$OPTION'))} {(Lit_Other '=')} 
                                  {(DQ ('I2c frequency'))} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:rpi_i2cbaudrate_hz)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {(echo)} {(-e)} 
                                                    {(DQ ($ VSub_Name '$rpi_i2cbaudrate_hz'))}
                                                  )
                                                  (C {(tr)} {(-d)} {(SQ <' kHz'>)})
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [9805 9823]
                                      )
                                    }
                                  spids: [9804]
                                )
                              ]
                              spids: [9804]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:OPTION)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (SimpleCommand
                                                words: [
                                                  {(whiptail)}
                                                  {(--inputbox)}
                                                  {
                                                    (DQ 
                                                      (
'Please enter the required i2c baudrate frequency (kHz).'
                                                      )
                                                    )
                                                  }
                                                  {(8)}
                                                  {(60)}
                                                  {(DQ ($ VSub_Name '$rpi_i2cbaudrate_hz'))}
                                                  {(--title)}
                                                  {(DQ ('i2c baudrate frequency (kHz)'))}
                                                ]
                                                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: [9827 9858]
                                      )
                                    }
                                  spids: [9826]
                                )
                              ]
                              spids: [9826]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:CHOICE)
                                  op: Equal
                                  rhs: {($ VSub_QMark '$?')}
                                  spids: [9861]
                                )
                              ]
                              spids: [9861]
                            )
                            (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: [9867 9876]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (DBracket
                                                  expr: 
                                                    (BoolBinary
                                                      op_id: BoolBinary_EqualTilde
                                                      left: {($ VSub_Name '$OPTION')}
                                                      right: 
                                                        {(Lit_Other '^') (-) (Lit_Other '?') 
                                                          (Lit_Other '[') (0-9) (Lit_Other ']') (Lit_Other '+') (Lit_Other '$')
                                                        }
                                                    )
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(/DietPi/dietpi/func/dietpi-set_hardware)} {(i2c)} 
                                              {(DQ ($ VSub_Name '$OPTION'))}
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:REBOOT_REQUIRED)
                                                  op: Equal
                                                  rhs: {(1)}
                                                  spids: [9918]
                                                )
                                              ]
                                              spids: [9918]
                                            )
                                          ]
                                          spids: [16777215 9906]
                                        )
                                      ]
                                      else_action: [(C {(Info_Input_Not_Valid_Integer)})]
                                      spids: [9922 9928]
                                    )
                                  ]
                                  spids: [16777215 9879]
                                )
                              ]
                              spids: [16777215 9931]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(3)}
                                  spids: [9940]
                                )
                              ]
                              spids: [9940]
                            )
                          ]
                          spids: [9779 9796]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$OPTION'))} {(Lit_Other '=')} 
                                  {(DQ ('Serial console'))} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DParen
                                          child: 
                                            (ArithBinary
                                              op_id: Arith_DEqual
                                              left: 
                                                (ArithWord
                                                  w: {($ VSub_Name '$serialconsole_state')}
                                                )
                                              right: (ArithWord w:{(Lit_Digits 0)})
                                            )
                                          spids: [9968 9977]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(/DietPi/dietpi/func/dietpi-set_hardware)} {(serialconsole)} 
                                      {(enable)}
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:REBOOT_REQUIRED)
                                          op: Equal
                                          rhs: {(1)}
                                          spids: [9991]
                                        )
                                      ]
                                      spids: [9991]
                                    )
                                  ]
                                  spids: [16777215 9980]
                                )
                              ]
                              else_action: [
                                (C {(/DietPi/dietpi/func/dietpi-set_hardware)} {(serialconsole)} 
                                  {(disable)}
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:REBOOT_REQUIRED)
                                      op: Equal
                                      rhs: {(1)}
                                      spids: [10007]
                                    )
                                  ]
                                  spids: [10007]
                                )
                              ]
                              spids: [9996 10012]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(3)}
                                  spids: [10020]
                                )
                              ]
                              spids: [10020]
                            )
                          ]
                          spids: [9945 9962]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$OPTION'))} {(Lit_Other '=')} 
                                  {(DQ (Bluetooth))} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DParen
                                          child: (ArithWord w:{($ VSub_Name '$bluetooth_state')})
                                          spids: [10048 10053]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(/DietPi/dietpi/func/dietpi-set_hardware)} {(bluetooth)} 
                                      {(disable)}
                                    )
                                  ]
                                  spids: [16777215 10056]
                                )
                              ]
                              else_action: [
                                (C {(/DietPi/dietpi/func/dietpi-set_hardware)} {(bluetooth)} {(enable)})
                              ]
                              spids: [10066 10076]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(3)}
                                  spids: [10084]
                                )
                              ]
                              spids: [10084]
                            )
                          ]
                          spids: [10025 10042]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$OPTION'))} {(Lit_Other '=')} 
                                  {(DQ ('USB boot support'))} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DParen
                                          child: 
                                            (ArithUnary
                                              op_id: Arith_Bang
                                              child: 
                                                (ArithWord
                                                  w: {($ VSub_Name '$rpi3_usb_boot_bit_enabled')}
                                                )
                                            )
                                          spids: [10112 10119]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:WHIP_QUESTION)
                                          op: Equal
                                          rhs: 
                                            {
                                              (SQ 
                                                <
'The following will enable the RPi 3 to boot from USB mass storage devices. A hardware bit "17:3020000a", specific to the device is set to enable the feature.\\n\\nNB:\\n - Not all USB mass storage devices are supported\\n - The HW bit which enables this setting is non-reversible\\n\\nDo you wish to enable USB mass storage boot support?'
                                                >
                                              )
                                            }
                                          spids: [10126]
                                        )
                                      ]
                                      spids: [10126]
                                    )
                                    (C {(whiptail)} {(--title)} {(DQ ($ VSub_Name '$WHIP_TITLE'))} 
                                      {(--yesno)} {(DQ ($ VSub_Name '$WHIP_QUESTION'))} {(--yes-button)} {(DQ (Ok))} {(--no-button)} {(DQ (Back))} 
                                      {(--defaultno)} {(--backtitle)} {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))} {(16)} {(70)}
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:CHOICE)
                                          op: Equal
                                          rhs: {($ VSub_QMark '$?')}
                                          spids: [10171]
                                        )
                                      ]
                                      spids: [10171]
                                    )
                                    (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: [10177 10186]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(/DietPi/dietpi/func/dietpi-set_hardware)} 
                                              {(rpi3_usb_boot)} {(enable)}
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:REBOOT_REQUIRED)
                                                  op: Equal
                                                  rhs: {(1)}
                                                  spids: [10200]
                                                )
                                              ]
                                              spids: [10200]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:WHIP_QUESTION)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (SQ 
                                                        <
'A reboot is required to apply this setting.\\n\\nPlease reboot this system once, the HW bit which allows USB boot support will then be set. After which, USB mass storage devices can be used for booting.\\n\\nWould you like to reboot the system now?'
                                                        >
                                                      )
                                                    }
                                                  spids: [10209]
                                                )
                                              ]
                                              spids: [10209]
                                            )
                                            (C {(whiptail)} {(--title)} 
                                              {(DQ ($ VSub_Name '$WHIP_TITLE'))} {(--yesno)} {(DQ ($ VSub_Name '$WHIP_QUESTION'))} {(--defaultno)} {(--backtitle)} 
                                              {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))} {(14)} {(75)}
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:CHOICE)
                                                  op: Equal
                                                  rhs: {($ VSub_QMark '$?')}
                                                  spids: [10242]
                                                )
                                              ]
                                              spids: [10242]
                                            )
                                            (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: [10248 10257]
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [(C {(reboot)})]
                                                  spids: [16777215 10260]
                                                )
                                              ]
                                              spids: [16777215 10268]
                                            )
                                          ]
                                          spids: [16777215 10189]
                                        )
                                      ]
                                      spids: [16777215 10272]
                                    )
                                  ]
                                  spids: [16777215 10122]
                                )
                              ]
                              spids: [16777215 10276]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(3)}
                                  spids: [10284]
                                )
                              ]
                              spids: [10284]
                            )
                          ]
                          spids: [10089 10106]
                        )
                      ]
                      spids: [16777215 10289]
                    )
                  ]
                  spids: [16777215 8710]
                )
              ]
              spids: [16777215 10293]
            )
          ]
          spids: [7858]
        )
      spids: [7855 7858]
    )
    (FuncDef
      name: Menu_PerformanceOptions
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:TARGETMENUID) op:Equal rhs:{(0)} spids:[10312])]
              spids: [10312]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:current_cpu_governor)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(grep)} {(-m1)} {(SQ <'^CONFIG_CPU_GOVERNOR='>)} 
                                    {(/DietPi/dietpi.txt)}
                                  )
                                  (C {(sed)} {(SQ <'s/.*=//'>)})
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [10324 10342]
                      )
                    }
                  spids: [10323]
                )
              ]
              spids: [10321]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:frequency_min_cpu_governor)
                  op: Equal
                  rhs: {(1)}
                  spids: [10348]
                )
              ]
              spids: [10346]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:fp_frequency_min_cpu_governor)
                  op: Equal
                  rhs: {(SQ </sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq>)}
                  spids: [10354]
                )
              ]
              spids: [10352]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-f)} {(DQ ($ VSub_Name '$fp_frequency_min_cpu_governor'))} 
                          {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:frequency_min_cpu_governor)
                          op: Equal
                          rhs: 
                            {
                              (ArithSubPart
                                anode: 
                                  (ArithBinary
                                    op_id: Arith_Slash
                                    left: 
                                      (ArithWord
                                        w: 
                                          {
                                            (CommandSubPart
                                              command_list: 
                                                (CommandList
                                                  children: [
                                                    (C {(cat)} 
                                                      {
                                                        (DQ 
                                                          ($ VSub_Name 
'$fp_frequency_min_cpu_governor'
                                                          )
                                                        )
                                                      }
                                                    )
                                                  ]
                                                )
                                              left_token: <Left_CommandSub '$('>
                                              spids: [10380 10386]
                                            )
                                          }
                                      )
                                    right: (ArithWord w:{(Lit_Digits 1000)})
                                  )
                                spids: [10378 10393]
                              )
                            }
                          spids: [10377]
                        )
                      ]
                      spids: [10377]
                    )
                  ]
                  spids: [16777215 10373]
                )
              ]
              spids: [16777215 10397]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:frequency_max_cpu_governor)
                  op: Equal
                  rhs: {(2)}
                  spids: [10403]
                )
              ]
              spids: [10401]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:fp_frequency_max_cpu_governor)
                  op: Equal
                  rhs: {(SQ </sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq>)}
                  spids: [10409]
                )
              ]
              spids: [10407]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-f)} {(DQ ($ VSub_Name '$fp_frequency_max_cpu_governor'))} 
                          {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:frequency_max_cpu_governor)
                          op: Equal
                          rhs: 
                            {
                              (ArithSubPart
                                anode: 
                                  (ArithBinary
                                    op_id: Arith_Slash
                                    left: 
                                      (ArithWord
                                        w: 
                                          {
                                            (CommandSubPart
                                              command_list: 
                                                (CommandList
                                                  children: [
                                                    (C {(cat)} 
                                                      {
                                                        (DQ 
                                                          ($ VSub_Name 
'$fp_frequency_max_cpu_governor'
                                                          )
                                                        )
                                                      }
                                                    )
                                                  ]
                                                )
                                              left_token: <Left_CommandSub '$('>
                                              spids: [10435 10441]
                                            )
                                          }
                                      )
                                    right: (ArithWord w:{(Lit_Digits 1000)})
                                  )
                                spids: [10433 10448]
                              )
                            }
                          spids: [10432]
                        )
                      ]
                      spids: [10432]
                    )
                  ]
                  spids: [16777215 10428]
                )
              ]
              spids: [16777215 10452]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:arm_temp)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: (CommandList children:[(C {(G_OBTAIN_CPU_TEMP)})])
                        left_token: <Left_CommandSub '$('>
                        spids: [10459 10461]
                      )
                    }
                  spids: [10458]
                )
              ]
              spids: [10456]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:arm_temp_f)
                  op: Equal
                  rhs: {(SQ <Unknown>)}
                  spids: [10466]
                )
              ]
              spids: [10464]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_EqualTilde
                              left: {($ VSub_Name '$arm_temp')}
                              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:arm_temp_f)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (ArithSubPart
                                  anode: 
                                    (ArithBinary
                                      op_id: Arith_Plus
                                      left: 
                                        (ArithBinary
                                          op_id: Arith_Slash
                                          left: 
                                            (ArithBinary
                                              op_id: Arith_Star
                                              left: (ArithWord w:{($ VSub_Name '$arm_temp')})
                                              right: (ArithWord w:{(Lit_Digits 9)})
                                            )
                                          right: (ArithWord w:{(Lit_Digits 5)})
                                        )
                                      right: (ArithWord w:{(Lit_Digits 32)})
                                    )
                                  spids: [10498 10519]
                                ) ("'f")
                              )
                            }
                          spids: [10496]
                        )
                      ]
                      spids: [10496]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:arm_temp)
                          op: PlusEqual
                          rhs: {(DQ ("'c"))}
                          spids: [10524]
                        )
                      ]
                      spids: [10524]
                    )
                  ]
                  spids: [16777215 10492]
                )
              ]
              spids: [16777215 10531]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:memory_total)
                  op: Equal
                  rhs: 
                    {
                      (ArithSubPart
                        anode: 
                          (ArithBinary
                            op_id: Arith_Slash
                            left: 
                              (ArithWord
                                w: 
                                  {
                                    (CommandSubPart
                                      command_list: 
                                        (CommandList
                                          children: [
                                            (Pipeline
                                              children: [
                                                (C {(cat)} {(/proc/meminfo)})
                                                (C {(grep)} {(-m1)} {(SQ <'MemTotal:'>)})
                                                (C {(awk)} {(SQ <'{print $2}'>)})
                                              ]
                                              negated: F
                                            )
                                          ]
                                        )
                                      left_token: <Left_CommandSub '$('>
                                      spids: [10540 10562]
                                    )
                                  }
                              )
                            right: (ArithWord w:{(Lit_Digits 1000)})
                          )
                        spids: [10538 10569]
                      )
                    }
                  spids: [10537]
                )
              ]
              spids: [10535]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:memory_free)
                  op: Equal
                  rhs: 
                    {
                      (ArithSubPart
                        anode: 
                          (ArithBinary
                            op_id: Arith_Slash
                            left: 
                              (ArithWord
                                w: 
                                  {
                                    (CommandSubPart
                                      command_list: 
                                        (CommandList
                                          children: [
                                            (Pipeline
                                              children: [
                                                (C {(cat)} {(/proc/meminfo)})
                                                (C {(grep)} {(-m1)} {(SQ <'MemFree:'>)})
                                                (C {(awk)} {(SQ <'{print $2}'>)})
                                              ]
                                              negated: F
                                            )
                                          ]
                                        )
                                      left_token: <Left_CommandSub '$('>
                                      spids: [10577 10599]
                                    )
                                  }
                              )
                            right: (ArithWord w:{(Lit_Digits 1000)})
                          )
                        spids: [10575 10606]
                      )
                    }
                  spids: [10574]
                )
              ]
              spids: [10572]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:memory_usage)
                  op: Equal
                  rhs: 
                    {
                      (ArithSubPart
                        anode: 
                          (ArithBinary
                            op_id: Arith_Minus
                            left: (ArithWord w:{($ VSub_Name '$memory_total')})
                            right: (ArithWord w:{($ VSub_Name '$memory_free')})
                          )
                        spids: [10612 10619]
                      )
                    }
                  spids: [10611]
                )
              ]
              spids: [10609]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:whiptail_menu_array)
                  op: Equal
                  rhs: {(ArrayLiteralPart)}
                  spids: [10633]
                )
              ]
              spids: [10631]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_Less
                              left: (ArithWord w:{($ VSub_Name '$G_HW_MODEL')})
                              right: (ArithWord w:{(Lit_Digits 10)})
                            )
                          spids: [10645 10654]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:whiptail_menu_array)
                          op: PlusEqual
                          rhs: 
                            {
                              (ArrayLiteralPart
                                words: [{(DQ (Overclocking))} {(DQ ('Set Profile'))}]
                              )
                            }
                          spids: [10660]
                        )
                      ]
                      spids: [10660]
                    )
                  ]
                  spids: [16777215 10657]
                )
              ]
              spids: [16777215 10672]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:whiptail_menu_array)
                  op: PlusEqual
                  rhs: 
                    {
                      (ArrayLiteralPart
                        words: [
                          {(DQ ('Change CPU Governor'))}
                          {(DQ (': ') ($ VSub_Name '$current_cpu_governor'))}
                        ]
                      )
                    }
                  spids: [10680]
                )
              ]
              spids: [10680]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          ops: [Op_DPipe Op_DPipe]
                          children: [
                            (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$current_cpu_governor'))} 
                              {(Lit_Other '=')} {(DQ (ondemand))} {(Lit_Other ']')}
                            )
                            (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$current_cpu_governor'))} 
                              {(Lit_Other '=')} {(DQ (conservative))} {(Lit_Other ']')}
                            )
                            (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$current_cpu_governor'))} 
                              {(Lit_Other '=')} {(DQ (interactive))} {(Lit_Other ']')}
                            )
                          ]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:current_cpu_throttle_up)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(cat)} {(/DietPi/dietpi.txt)})
                                          (C {(grep)} {(-m1)} {(SQ <'^CONFIG_CPU_USAGE_THROTTLE_UP='>)})
                                          (C {(sed)} {(SQ <'s/.*=//'>)})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [10756 10778]
                              )
                            }
                          spids: [10755]
                        )
                      ]
                      spids: [10753]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:whiptail_menu_array)
                          op: PlusEqual
                          rhs: 
                            {
                              (ArrayLiteralPart
                                words: [
                                  {(DQ ('CPU Throttle Up'))}
                                  {(DQ (': ') ($ VSub_Name '$current_cpu_throttle_up') ('%'))}
                                ]
                              )
                            }
                          spids: [10781]
                        )
                      ]
                      spids: [10781]
                    )
                  ]
                  spids: [16777215 10749]
                )
              ]
              spids: [16777215 10796]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$current_cpu_governor'))} 
                          {(Lit_Other '=')} {(ondemand)} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:current_cpu_sample_rate)
                          op: Equal
                          rhs: 
                            {
                              (ArithSubPart
                                anode: 
                                  (ArithBinary
                                    op_id: Arith_Slash
                                    left: 
                                      (ArithWord
                                        w: 
                                          {
                                            (CommandSubPart
                                              command_list: 
                                                (CommandList
                                                  children: [
                                                    (Pipeline
                                                      children: [
                                                        (C {(cat)} {(/DietPi/dietpi.txt)})
                                                        (C {(grep)} {(-m1)} 
                                                          {
                                                            (SQ <'^CONFIG_CPU_ONDEMAND_SAMPLE_RATE='>)
                                                          }
                                                        )
                                                        (C {(sed)} {(SQ <'s/.*=//'>)})
                                                      ]
                                                      negated: F
                                                    )
                                                  ]
                                                )
                                              left_token: <Left_CommandSub '$('>
                                              spids: [10829 10851]
                                            )
                                          }
                                      )
                                    right: (ArithWord w:{(Lit_Digits 1000)})
                                  )
                                spids: [10827 10858]
                              )
                            }
                          spids: [10826]
                        )
                      ]
                      spids: [10824]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:whiptail_menu_array)
                          op: PlusEqual
                          rhs: 
                            {
                              (ArrayLiteralPart
                                words: [
                                  {(DQ ('Ondemand Sample Rate'))}
                                  {(DQ (': ') ($ VSub_Name '$current_cpu_sample_rate') (' ms'))}
                                ]
                              )
                            }
                          spids: [10864]
                        )
                      ]
                      spids: [10864]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:current_cpu_down_factor)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(grep)} {(-m1)} 
                                            {(SQ <'^CONFIG_CPU_ONDEMAND_SAMPLE_DOWNFACTOR='>)} {(/DietPi/dietpi.txt)}
                                          )
                                          (C {(sed)} {(SQ <'s/.*=//'>)})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [10882 10900]
                              )
                            }
                          spids: [10881]
                        )
                      ]
                      spids: [10879]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:current_cpu_down_factor_ms)
                          op: Equal
                          rhs: 
                            {
                              (ArithSubPart
                                anode: 
                                  (ArithBinary
                                    op_id: Arith_Star
                                    left: (ArithWord w:{($ VSub_Name '$current_cpu_down_factor')})
                                    right: (ArithWord w:{($ VSub_Name '$current_cpu_sample_rate')})
                                  )
                                spids: [10906 10915]
                              )
                            }
                          spids: [10905]
                        )
                      ]
                      spids: [10903]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:whiptail_menu_array)
                          op: PlusEqual
                          rhs: 
                            {
                              (ArrayLiteralPart
                                words: [
                                  {(DQ ('Ondemand Down Factor'))}
                                  {
                                    (DQ (': ') ($ VSub_Name '$current_cpu_down_factor') (' (') 
                                      ($ VSub_Name '$current_cpu_down_factor_ms') (' ms)')
                                    )
                                  }
                                ]
                              )
                            }
                          spids: [10918]
                        )
                      ]
                      spids: [10918]
                    )
                  ]
                  spids: [16777215 10820]
                )
              ]
              spids: [16777215 10935]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:user_frequency_max_current)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(cat)} {(/DietPi/dietpi.txt)})
                                  (C {(grep)} {(-m1)} {(SQ <'^CONFIG_CPU_MAX_FREQ='>)})
                                  (C {(sed)} {(SQ <'s/.*=//'>)})
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [10947 10969]
                      )
                    }
                  spids: [10946]
                )
              ]
              spids: [10944]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:user_frequency_max_text)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$user_frequency_max_current') (' MHz'))}
                  spids: [10974]
                )
              ]
              spids: [10972]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithUnary
                              op_id: Arith_Bang
                              child: (ArithWord w:{($ VSub_Name '$user_frequency_max_current')})
                            )
                          spids: [10983 10990]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:user_frequency_max_text)
                          op: Equal
                          rhs: {(DQ (Disabled))}
                          spids: [10996]
                        )
                      ]
                      spids: [10996]
                    )
                  ]
                  spids: [16777215 10993]
                )
              ]
              spids: [16777215 11002]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:whiptail_menu_array)
                  op: PlusEqual
                  rhs: 
                    {
                      (ArrayLiteralPart
                        words: [
                          {(DQ ('CPU Max Freq Limit'))}
                          {(DQ (': ') ($ VSub_Name '$user_frequency_max_text'))}
                        ]
                      )
                    }
                  spids: [11006]
                )
              ]
              spids: [11006]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:user_frequency_min_current)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(cat)} {(/DietPi/dietpi.txt)})
                                  (C {(grep)} {(-m1)} {(SQ <'^CONFIG_CPU_MIN_FREQ='>)})
                                  (C {(sed)} {(SQ <'s/.*=//'>)})
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [11027 11049]
                      )
                    }
                  spids: [11026]
                )
              ]
              spids: [11024]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:user_frequency_min_text)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$user_frequency_min_current') (' MHz'))}
                  spids: [11054]
                )
              ]
              spids: [11052]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithUnary
                              op_id: Arith_Bang
                              child: (ArithWord w:{($ VSub_Name '$user_frequency_min_current')})
                            )
                          spids: [11063 11070]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:user_frequency_min_text)
                          op: Equal
                          rhs: {(DQ (Disabled))}
                          spids: [11076]
                        )
                      ]
                      spids: [11076]
                    )
                  ]
                  spids: [16777215 11073]
                )
              ]
              spids: [16777215 11082]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:whiptail_menu_array)
                  op: PlusEqual
                  rhs: 
                    {
                      (ArrayLiteralPart
                        words: [
                          {(DQ ('CPU Min Freq Limit'))}
                          {(DQ (': ') ($ VSub_Name '$user_frequency_min_text'))}
                        ]
                      )
                    }
                  spids: [11086]
                )
              ]
              spids: [11086]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_Less
                              left: (ArithWord w:{($ VSub_Name '$G_HW_MODEL')})
                              right: (ArithWord w:{(Lit_Digits 10)})
                            )
                          spids: [11106 11115]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:current_arm_temp_limit)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(cat)} {(/DietPi/config.txt)})
                                          (C {(grep)} {(-m1)} {(SQ <temp_limit>)})
                                          (C {(sed)} {(SQ <'s/.*=//'>)})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [11125 11147]
                              )
                            }
                          spids: [11124]
                        )
                      ]
                      spids: [11122]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:current_initial_turbo)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(cat)} {(/DietPi/config.txt)})
                                          (C {(grep)} {(-m1)} {(SQ <initial_turbo>)})
                                          (C {(sed)} {(SQ <'s/.*=//'>)})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [11153 11175]
                              )
                            }
                          spids: [11152]
                        )
                      ]
                      spids: [11150]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:text_current_initial_turbo)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$current_initial_turbo') (' seconds'))}
                          spids: [11181]
                        )
                      ]
                      spids: [11179]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: (ArithWord w:{($ VSub_Name '$current_initial_turbo')})
                                      right: (ArithWord w:{(Lit_Digits 0)})
                                    )
                                  spids: [11190 11199]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:text_current_initial_turbo)
                                  op: Equal
                                  rhs: {(DQ (Disabled))}
                                  spids: [11205]
                                )
                              ]
                              spids: [11205]
                            )
                          ]
                          spids: [16777215 11202]
                        )
                      ]
                      spids: [16777215 11211]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:whiptail_menu_array)
                          op: PlusEqual
                          rhs: 
                            {
                              (ArrayLiteralPart
                                words: [
                                  {(DQ ('ARM Initial Turbo'))}
                                  {(DQ (': ') ($ VSub_Name '$text_current_initial_turbo'))}
                                ]
                              )
                            }
                          spids: [11214]
                        )
                      ]
                      spids: [11214]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:whiptail_menu_array)
                          op: PlusEqual
                          rhs: 
                            {
                              (ArrayLiteralPart
                                words: [
                                  {(DQ ('ARM Temp Limit   '))}
                                  {(DQ (': ') ($ VSub_Name '$current_arm_temp_limit') (" 'c"))}
                                ]
                              )
                            }
                          spids: [11227]
                        )
                      ]
                      spids: [11227]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:rpi_freq_min_enabled)
                          op: Equal
                          rhs: {(1)}
                          spids: [11248]
                        )
                      ]
                      spids: [11246]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:rpi_freq_min_text)
                          op: Equal
                          rhs: {(DQ (Enabled))}
                          spids: [11254]
                        )
                      ]
                      spids: [11252]
                    )
                    (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 {(cat)} {(/DietPi/config.txt)})
                                                          (C {(grep)} {(-ci)} {(-m1)} 
                                                            {(SQ <'#arm_freq_min='>)}
                                                          )
                                                        ]
                                                        negated: F
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_CommandSub '$('>
                                                spids: [11264 11280]
                                              )
                                            }
                                        )
                                      right: (ArithWord w:{(Lit_Digits 1)})
                                    )
                                  spids: [11262 11287]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:rpi_freq_min_enabled)
                                  op: Equal
                                  rhs: {(0)}
                                  spids: [11293]
                                )
                              ]
                              spids: [11293]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:rpi_freq_min_text)
                                  op: Equal
                                  rhs: {(DQ (Disabled))}
                                  spids: [11297]
                                )
                              ]
                              spids: [11297]
                            )
                          ]
                          spids: [16777215 11290]
                        )
                      ]
                      spids: [16777215 11303]
                    )
                  ]
                  spids: [16777215 11118]
                )
              ]
              spids: [16777215 11316]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:WHIP_TITLE)
                  op: Equal
                  rhs: {(SQ <'DietPi - Performance Options'>)}
                  spids: [11320]
                )
              ]
              spids: [11320]
            )
            (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 (' Hardware : ') ($ VSub_Name '$G_HW_MODEL_DESCRIPTION') (' ') 
                                      (Lit_Other '\\') ('n ARM Temp: ') ($ VSub_Name '$arm_temp') (' : ') ($ VSub_Name '$arm_temp_f') (Lit_Other '\\') 
                                      ('n RAM: ') ($ VSub_Name '$memory_total') (' MB | Used: ') ($ VSub_Name '$memory_usage') (' MB | Free: ') 
                                      ($ VSub_Name '$memory_free') (' MB')
                                    )
                                  }
                                  {(--cancel-button)}
                                  {(DQ ($ VSub_Name '$TEXT_MENU_BACK'))}
                                  {(--backtitle)}
                                  {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))}
                                  {(18)}
                                  {(60)}
                                  {(8)}
                                  {
                                    (DQ 
                                      (BracedVarSub
                                        token: <VSub_Name whiptail_menu_array>
                                        bracket_op: (WholeArray op_id:Lit_At)
                                        spids: [11376 11381]
                                      )
                                    )
                                  }
                                ]
                                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: [11327 11392]
                      )
                    }
                  spids: [11326]
                )
              ]
              spids: [11326]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:CHOICE)
                  op: Equal
                  rhs: {($ VSub_QMark '$?')}
                  spids: [11396]
                )
              ]
              spids: [11396]
            )
            (C {(unset)} {(whiptail_menu_array)})
            (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: [11413 11422]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Case
                      to_match: {(DQ ($ VSub_Name '$OPTION'))}
                      arms: [
                        (case_arm
                          pat_list: [{(DQ ('Ondemand Down Factor')) (Lit_Other '*')}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:MIN_VALUE)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [11447]
                                )
                              ]
                              spids: [11447]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:MAX_VALUE)
                                  op: Equal
                                  rhs: {(200)}
                                  spids: [11451]
                                )
                              ]
                              spids: [11451]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:OPTION)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (SimpleCommand
                                                words: [
                                                  {(whiptail)}
                                                  {(--inputbox)}
                                                  {
                                                    (DQ 
                                                      (
'After Ondemand throttles up, how long before the next sample to check if CPU clocks can be reduced.'
                                                      ) (Lit_Other '\\') (n) (Lit_Other '\\') ("n - This value * 'Ondemand Sample Rate' = total miliseconds") 
                                                      (Lit_Other '\\') 
                                                      (
'n - Lower values may help reduce power consumption, however, a 500-1000ms value is recommended to prevent excessive sampling.'
                                                      ) (Lit_Other '\\') ('n - Valid range: ') ($ VSub_Name '$MIN_VALUE') (' - ') ($ VSub_Name '$MAX_VALUE') 
                                                      (Lit_Other '\\') (n) (Lit_Other '\\') 
                                                      (
"nIf unsure, set any value, 'Ondemand Down Factor' option on the next screen will list the calculated miliseconds."
                                                      )
                                                    )
                                                  }
                                                  {(17)}
                                                  {(70)}
                                                  {(DQ ($ VSub_Name '$current_cpu_down_factor'))}
                                                  {(--title)}
                                                  {(DQ ($ VSub_Name '$OPTION'))}
                                                ]
                                                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: [11456 11502]
                                      )
                                    }
                                  spids: [11455]
                                )
                              ]
                              spids: [11455]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:CHOICE)
                                  op: Equal
                                  rhs: {($ VSub_QMark '$?')}
                                  spids: [11505]
                                )
                              ]
                              spids: [11505]
                            )
                            (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: [11511 11520]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  ops: [Op_DAmp Op_DAmp]
                                                  children: [
                                                    (DBracket
                                                      expr: 
                                                        (BoolBinary
                                                          op_id: BoolBinary_EqualTilde
                                                          left: {($ VSub_Name '$OPTION')}
                                                          right: 
                                                            {(Lit_Other '^') (-) (Lit_Other '?') 
                                                              (Lit_Other '[') (0-9) (Lit_Other ']') (Lit_Other '+') (Lit_Other '$')
                                                            }
                                                        )
                                                    )
                                                    (DParen
                                                      child: 
                                                        (ArithBinary
                                                          op_id: Arith_LessEqual
                                                          left: (ArithWord w:{($ VSub_Name '$OPTION')})
                                                          right: 
                                                            (ArithWord
                                                              w: {($ VSub_Name '$MAX_VALUE')}
                                                            )
                                                        )
                                                      spids: [11548 11555]
                                                    )
                                                    (DParen
                                                      child: 
                                                        (ArithBinary
                                                          op_id: Arith_GreatEqual
                                                          left: (ArithWord w:{($ VSub_Name '$OPTION')})
                                                          right: 
                                                            (ArithWord
                                                              w: {($ VSub_Name '$MIN_VALUE')}
                                                            )
                                                        )
                                                      spids: [11559 11566]
                                                    )
                                                  ]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(sed)} {(-i)} 
                                              {
                                                (DQ ('/CONFIG_CPU_ONDEMAND_SAMPLE_DOWNFACTOR=/c') 
                                                  (Lit_Other '\\') ('CONFIG_CPU_ONDEMAND_SAMPLE_DOWNFACTOR=') ($ VSub_Name '$OPTION')
                                                )
                                              } {(/DietPi/dietpi.txt)}
                                            )
                                            (C {(/DietPi/dietpi/dietpi-cpu_set)})
                                          ]
                                          spids: [16777215 11569]
                                        )
                                      ]
                                      else_action: [(C {(Info_Input_Not_Valid_Integer)})]
                                      spids: [11595 11603]
                                    )
                                  ]
                                  spids: [16777215 11523]
                                )
                              ]
                              spids: [16777215 11607]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(4)}
                                  spids: [11615]
                                )
                              ]
                              spids: [11615]
                            )
                          ]
                          spids: [11439 11443 11619 16777215]
                        )
                        (case_arm
                          pat_list: [{(DQ ('Ondemand Sample Rate')) (Lit_Other '*')}]
                          action: [
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:index)
                                  op: Equal
                                  rhs: {(0)}
                                  spids: [11633]
                                )
                              ]
                              spids: [11631]
                            )
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:input_fp)
                                  op: Equal
                                  rhs: 
                                    {
                                      (ArrayLiteralPart
                                        words: [
                                          {
                                            (SQ 
                                              <
/sys/devices/system/cpu/cpufreq/ondemand/sampling_rate_min
                                              >
                                            )
                                          }
                                          {
                                            (SQ 
                                              <
/sys/devices/system/cpu/cpufreq/ondemand/min_sampling_rate
                                              >
                                            )
                                          }
                                          {
                                            (SQ 
                                              <
/sys/devices/system/cpu/cpu0/cpufreq/ondemand/sampling_rate_min
                                              >
                                            )
                                          }
                                          {
                                            (SQ 
                                              <
/sys/devices/system/cpu/cpu0/cpufreq/ondemand/min_sampling_rate
                                              >
                                            )
                                          }
                                        ]
                                      )
                                    }
                                  spids: [11639]
                                )
                              ]
                              spids: [11637]
                            )
                            (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 input_fp>
                                            prefix_op: VSub_Pound
                                            bracket_op: (WholeArray op_id:Lit_At)
                                            spids: [11677 11683]
                                          )
                                        }
                                    )
                                )
                              update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i))
                              body: 
                                (DoGroup
                                  children: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(Lit_Other '[')} {(-f)} 
                                                  {
                                                    (DQ 
                                                      (BracedVarSub
                                                        token: <VSub_Name input_fp>
                                                        bracket_op: 
                                                          (ArrayIndex
                                                            expr: (ArithWord w:{($ VSub_Name '$i')})
                                                          )
                                                        spids: [11703 11708]
                                                      )
                                                    )
                                                  } {(Lit_Other ']')}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:index)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$i')}
                                                  spids: [11718]
                                                )
                                              ]
                                              spids: [11718]
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Break break>
                                            )
                                          ]
                                          spids: [16777215 11714]
                                        )
                                      ]
                                      spids: [16777215 11726]
                                    )
                                  ]
                                  spids: [11692 11730]
                                )
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:MIN_VALUE)
                                  op: Equal
                                  rhs: 
                                    {
                                      (ArithSubPart
                                        anode: 
                                          (ArithBinary
                                            op_id: Arith_Slash
                                            left: 
                                              (ArithWord
                                                w: 
                                                  {
                                                    (CommandSubPart
                                                      command_list: 
                                                        (CommandList
                                                          children: [
                                                            (C {(cat)} 
                                                              {
                                                                (DQ 
                                                                  (BracedVarSub
                                                                    token: <VSub_Name input_fp>
                                                                    bracket_op: 
                                                                      (ArrayIndex
                                                                        expr: 
                                                                          (ArithWord
                                                                            w: 
                                                                              {
                                                                                ($ VSub_Name '$index')
                                                                              }
                                                                          )
                                                                      )
                                                                    spids: [11741 11746]
                                                                  )
                                                                )
                                                              }
                                                            )
                                                          ]
                                                        )
                                                      left_token: <Left_CommandSub '$('>
                                                      spids: [11737 11748]
                                                    )
                                                  }
                                              )
                                            right: (ArithWord w:{(Lit_Digits 1000)})
                                          )
                                        spids: [11735 11755]
                                      )
                                    }
                                  spids: [11734]
                                )
                              ]
                              spids: [11734]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:MAX_VALUE)
                                  op: Equal
                                  rhs: {(300)}
                                  spids: [11758]
                                )
                              ]
                              spids: [11758]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:OPTION)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (SimpleCommand
                                                words: [
                                                  {(whiptail)}
                                                  {(--inputbox)}
                                                  {
                                                    (DQ 
                                                      (
'Sample rate in miliseconds, for Ondemand to check if it needs to increase CPU clocks.'
                                                      ) (Lit_Other '\\') ('nA lower value will make the system more responsive.') (Lit_Other '\\') 
                                                      ('n - valid range: ') ($ VSub_Name '$MIN_VALUE') (' - ') ($ VSub_Name '$MAX_VALUE')
                                                    )
                                                  }
                                                  {(10)}
                                                  {(70)}
                                                  {(DQ ($ VSub_Name '$current_cpu_sample_rate'))}
                                                  {(--title)}
                                                  {(DQ ($ VSub_Name '$OPTION') (' (ms)'))}
                                                ]
                                                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: [11763 11802]
                                      )
                                    }
                                  spids: [11762]
                                )
                              ]
                              spids: [11762]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:CHOICE)
                                  op: Equal
                                  rhs: {($ VSub_QMark '$?')}
                                  spids: [11805]
                                )
                              ]
                              spids: [11805]
                            )
                            (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: [11811 11820]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  ops: [Op_DAmp Op_DAmp]
                                                  children: [
                                                    (DBracket
                                                      expr: 
                                                        (BoolBinary
                                                          op_id: BoolBinary_EqualTilde
                                                          left: {($ VSub_Name '$OPTION')}
                                                          right: 
                                                            {(Lit_Other '^') (-) (Lit_Other '?') 
                                                              (Lit_Other '[') (0-9) (Lit_Other ']') (Lit_Other '+') (Lit_Other '$')
                                                            }
                                                        )
                                                    )
                                                    (DParen
                                                      child: 
                                                        (ArithBinary
                                                          op_id: Arith_LessEqual
                                                          left: (ArithWord w:{($ VSub_Name '$OPTION')})
                                                          right: 
                                                            (ArithWord
                                                              w: {($ VSub_Name '$MAX_VALUE')}
                                                            )
                                                        )
                                                      spids: [11848 11855]
                                                    )
                                                    (DParen
                                                      child: 
                                                        (ArithBinary
                                                          op_id: Arith_GreatEqual
                                                          left: (ArithWord w:{($ VSub_Name '$OPTION')})
                                                          right: 
                                                            (ArithWord
                                                              w: {($ VSub_Name '$MIN_VALUE')}
                                                            )
                                                        )
                                                      spids: [11859 11866]
                                                    )
                                                  ]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(sed)} {(-i)} 
                                              {
                                                (DQ ('/CONFIG_CPU_ONDEMAND_SAMPLE_RATE=/c') 
                                                  (Lit_Other '\\') ('CONFIG_CPU_ONDEMAND_SAMPLE_RATE=') 
                                                  (ArithSubPart
                                                    anode: 
                                                      (ArithBinary
                                                        op_id: Arith_Star
                                                        left: (ArithWord w:{($ VSub_Name '$OPTION')})
                                                        right: (ArithWord w:{(Lit_Digits 1000)})
                                                      )
                                                    spids: [11881 11888]
                                                  )
                                                )
                                              } {(/DietPi/dietpi.txt)}
                                            )
                                            (C {(/DietPi/dietpi/dietpi-cpu_set)})
                                          ]
                                          spids: [16777215 11869]
                                        )
                                      ]
                                      else_action: [(C {(Info_Input_Not_Valid_Integer)})]
                                      spids: [11902 11910]
                                    )
                                  ]
                                  spids: [16777215 11823]
                                )
                              ]
                              spids: [16777215 11914]
                            )
                            (C {(unset)} {(input_fp)})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(4)}
                                  spids: [11928]
                                )
                              ]
                              spids: [11928]
                            )
                          ]
                          spids: [11623 11627 11932 16777215]
                        )
                        (case_arm
                          pat_list: [{(DQ ('Lower Idle Frequencies')) (Lit_Other '*')}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:WHIP_QUESTION)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ 
                                        (
'Toggle the use of lower idle frequencies for CPU, CORE and RAM.'
                                        ) (Lit_Other '\\') (n) (Lit_Other '\\') 
                                        (
'nAs the lower frequencies are active only when the device is idle, enabling this feature allows for potential power saving without impacting performance.'
                                        ) (Lit_Other '\\') (n) (Lit_Other '\\') ('nCurrent Setting: ') ($ VSub_Name '$rpi_freq_min_text') 
                                        (Lit_Other '\\') (n) (Lit_Other '\\') ('nEnable: (Allows for potential power saving)') (Lit_Other '\\') 
                                        (
'nSets arm_freq_min=100, core_freq_min=75 and sdram_freq_min=200.'
                                        ) (Lit_Other '\\') (n) (Lit_Other '\\') ('nDisable: (Default)') (Lit_Other '\\') 
                                        (
'nSets arm_freq_min=700, core_freq_min=250 and sdram_freq_min=400.'
                                        )
                                      )
                                    }
                                  spids: [11944]
                                )
                              ]
                              spids: [11944]
                            )
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:whiptail_menu_array)
                                  op: Equal
                                  rhs: {(ArrayLiteralPart)}
                                  spids: [11973]
                                )
                              ]
                              spids: [11971]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:whiptail_menu_array)
                                  op: PlusEqual
                                  rhs: 
                                    {
                                      (ArrayLiteralPart
                                        words: [
                                          {(DQ (Enable))}
                                          {(DQ ('Lowers the idle frequencies for CPU, CORE, RAM.'))}
                                        ]
                                      )
                                    }
                                  spids: [11978]
                                )
                              ]
                              spids: [11978]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:whiptail_menu_array)
                                  op: PlusEqual
                                  rhs: 
                                    {
                                      (ArrayLiteralPart
                                        words: [
                                          {(DQ (Disable))}
                                          {(DQ ('Returns the idle frequencies to defaults.'))}
                                        ]
                                      )
                                    }
                                  spids: [11990]
                                )
                              ]
                              spids: [11990]
                            )
                            (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'))}
                                                  {(--cancel-button)}
                                                  {(DQ ($ VSub_Name '$TEXT_MENU_BACK'))}
                                                  {(--backtitle)}
                                                  {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))}
                                                  {(22)}
                                                  {(75)}
                                                  {(2)}
                                                  {
                                                    (DQ 
                                                      (BracedVarSub
                                                        token: <VSub_Name whiptail_menu_array>
                                                        bracket_op: (WholeArray op_id:Lit_At)
                                                        spids: [12038 12043]
                                                      )
                                                    )
                                                  }
                                                ]
                                                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: [12004 12054]
                                      )
                                    }
                                  spids: [12003]
                                )
                              ]
                              spids: [12003]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:CHOICE)
                                  op: Equal
                                  rhs: {($ VSub_QMark '$?')}
                                  spids: [12057]
                                )
                              ]
                              spids: [12057]
                            )
                            (C {(unset)} {(whiptail_menu_array)})
                            (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: [12074 12083]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$OPTION'))} 
                                                  {(Lit_Other '=')} {(DQ (Enable))} {(Lit_Other ']')}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(sed)} {(-i)} 
                                              {
                                                (DQ ('/arm_freq_min=/c') (Lit_Other '\\') 
                                                  ('arm_freq_min=100')
                                                )
                                              } {(/DietPi/config.txt)}
                                            )
                                            (C {(sed)} {(-i)} 
                                              {
                                                (DQ ('/core_freq_min=/c') (Lit_Other '\\') 
                                                  ('core_freq_min=75')
                                                )
                                              } {(/DietPi/config.txt)}
                                            )
                                            (C {(sed)} {(-i)} 
                                              {
                                                (DQ ('/sdram_freq_min=/c') (Lit_Other '\\') 
                                                  ('sdram_freq_min=200')
                                                )
                                              } {(/DietPi/config.txt)}
                                            )
                                          ]
                                          spids: [16777215 12107]
                                        )
                                      ]
                                      else_action: [
                                        (C {(sed)} {(-i)} 
                                          {
                                            (DQ ('/arm_freq_min=/c') (Lit_Other '\\') 
                                              ('#arm_freq_min=700')
                                            )
                                          } {(/DietPi/config.txt)}
                                        )
                                        (C {(sed)} {(-i)} 
                                          {
                                            (DQ ('/core_freq_min=/c') (Lit_Other '\\') 
                                              ('#core_freq_min=250')
                                            )
                                          } {(/DietPi/config.txt)}
                                        )
                                        (C {(sed)} {(-i)} 
                                          {
                                            (DQ ('/sdram_freq_min=/c') (Lit_Other '\\') 
                                              ('#sdram_freq_min=400')
                                            )
                                          } {(/DietPi/config.txt)}
                                        )
                                      ]
                                      spids: [12151 12195]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:REBOOT_REQUIRED)
                                          op: Equal
                                          rhs: {(1)}
                                          spids: [12199]
                                        )
                                      ]
                                      spids: [12199]
                                    )
                                  ]
                                  spids: [16777215 12086]
                                )
                              ]
                              spids: [16777215 12204]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(4)}
                                  spids: [12212]
                                )
                              ]
                              spids: [12212]
                            )
                          ]
                          spids: [11936 11940 12216 16777215]
                        )
                        (case_arm
                          pat_list: [{(DQ ('CPU Max Freq Limit')) (Lit_Other '*')}]
                          action: [
                            (C {(/DietPi/dietpi/dietpi-cpuinfo)} {(2)})
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(KW_Bang '!')} {(-f)} 
                                          {(/tmp/dietpi-available_cpu_freqs)} {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(whiptail)} {(--title)} {(DQ ('Not Available'))} {(--msgbox)} 
                                      {
                                        (DQ 
                                          (
'Your processor / kernel, does not support this feature.'
                                          ) (Lit_Other '\\') (n) (Lit_Other '\\') ('n(Info): Scaling_available_frequencies does not exist.')
                                        )
                                      } {(--backtitle)} {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))} {(10)} {(65)}
                                    )
                                  ]
                                  spids: [16777215 12247]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_Local
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:whiptail_menu_list)
                                      op: Equal
                                      rhs: {(ArrayLiteralPart)}
                                      spids: [12287]
                                    )
                                  ]
                                  spids: [12285]
                                )
                                (Assignment
                                  keyword: Assign_Local
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:max_clock)
                                      op: Equal
                                      rhs: {(0)}
                                      spids: [12294]
                                    )
                                  ]
                                  spids: [12292]
                                )
                                (Assignment
                                  keyword: Assign_Local
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:available_frequency_array)
                                      op: Equal
                                      rhs: {(ArrayLiteralPart)}
                                      spids: [12300]
                                    )
                                  ]
                                  spids: [12298]
                                )
                                (SimpleCommand
                                  words: [{(readarray)} {(available_frequency_array)}]
                                  redirects: [
                                    (Redir
                                      op: <Redir_Less '<'>
                                      fd: 16777215
                                      arg_word: {(/tmp/dietpi-available_cpu_freqs)}
                                    )
                                  ]
                                )
                                (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 available_frequency_array>
                                                prefix_op: VSub_Pound
                                                bracket_op: (WholeArray op_id:Lit_At)
                                                spids: [12326 12332]
                                              )
                                            }
                                        )
                                    )
                                  update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i))
                                  body: 
                                    (DoGroup
                                      children: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:whiptail_menu_list)
                                              op: PlusEqual
                                              rhs: 
                                                {
                                                  (ArrayLiteralPart
                                                    words: [
                                                      {
                                                        (DQ 
                                                          (ArithSubPart
                                                            anode: 
                                                              (ArithBinary
                                                                op_id: Arith_Slash
                                                                left: 
                                                                  (ArithWord
                                                                    w: 
                                                                      {
                                                                        (BracedVarSub
                                                                          token: 
                                                                            <VSub_Name 
available_frequency_array
                                                                            >
                                                                          bracket_op: 
                                                                            (ArrayIndex
                                                                              expr: 
                                                                                (ArithWord
                                                                                  w: 
                                                                                    {
                                                                                      ($ VSub_Name 
'$i'
                                                                                      )
                                                                                    }
                                                                                )
                                                                            )
                                                                          spids: [12350 12355]
                                                                        )
                                                                      }
                                                                  )
                                                                right: 
                                                                  (ArithWord
                                                                    w: {(Lit_Digits 1000)}
                                                                  )
                                                              )
                                                            spids: [12348 12362]
                                                          )
                                                        )
                                                      }
                                                      {(DQ (MHz))}
                                                    ]
                                                  )
                                                }
                                              spids: [12345]
                                            )
                                          ]
                                          spids: [12345]
                                        )
                                        (If
                                          arms: [
                                            (if_arm
                                              cond: [
                                                (Sentence
                                                  child: 
                                                    (DParen
                                                      child: 
                                                        (ArithBinary
                                                          op_id: Arith_Great
                                                          left: 
                                                            (ArithWord
                                                              w: 
                                                                {
                                                                  (BracedVarSub
                                                                    token: 
                                                                      <VSub_Name 
available_frequency_array
                                                                      >
                                                                    bracket_op: 
                                                                      (ArrayIndex
                                                                        expr: 
                                                                          (ArithWord
                                                                            w: {($ VSub_Name '$i')}
                                                                          )
                                                                      )
                                                                    spids: [12375 12380]
                                                                  )
                                                                }
                                                            )
                                                          right: 
                                                            (ArithWord
                                                              w: {($ VSub_Name '$max_clock')}
                                                            )
                                                        )
                                                      spids: [12373 12387]
                                                    )
                                                  terminator: <Op_Semi ';'>
                                                )
                                              ]
                                              action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:max_clock)
                                                      op: Equal
                                                      rhs: 
                                                        {
                                                          (ArithSubPart
                                                            anode: 
                                                              (ArithBinary
                                                                op_id: Arith_Slash
                                                                left: 
                                                                  (ArithWord
                                                                    w: 
                                                                      {
                                                                        (BracedVarSub
                                                                          token: 
                                                                            <VSub_Name 
available_frequency_array
                                                                            >
                                                                          bracket_op: 
                                                                            (ArrayIndex
                                                                              expr: 
                                                                                (ArithWord
                                                                                  w: 
                                                                                    {
                                                                                      ($ VSub_Name 
'$i'
                                                                                      )
                                                                                    }
                                                                                )
                                                                            )
                                                                          spids: [12397 12402]
                                                                        )
                                                                      }
                                                                  )
                                                                right: 
                                                                  (ArithWord
                                                                    w: {(Lit_Digits 1000)}
                                                                  )
                                                              )
                                                            spids: [12395 12409]
                                                          )
                                                        }
                                                      spids: [12394]
                                                    )
                                                  ]
                                                  spids: [12394]
                                                )
                                              ]
                                              spids: [16777215 12390]
                                            )
                                          ]
                                          spids: [16777215 12413]
                                        )
                                      ]
                                      spids: [12341 12417]
                                    )
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:whiptail_menu_list)
                                      op: PlusEqual
                                      rhs: 
                                        {
                                          (ArrayLiteralPart
                                            words: [
                                              {(DQ (Disabled))}
                                              {(DQ ('Returns clocks to default'))}
                                            ]
                                          )
                                        }
                                      spids: [12425]
                                    )
                                  ]
                                  spids: [12425]
                                )
                                (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 
                                                          (
'Limit the maximum frequency that your processor can reach.'
                                                          ) (Lit_Other '\\') ('nThis can be useful for lowering temperature and saving power.') (Lit_Other '\\') (n) 
                                                          (Lit_Other '\\') ('nCurrent setting: ') ($ VSub_Name '$user_frequency_max_text')
                                                        )
                                                      }
                                                      {(--cancel-button)}
                                                      {(DQ (Back))}
                                                      {(--backtitle)}
                                                      {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))}
                                                      {(--default-item)}
                                                      {
                                                        (DQ 
                                                          ($ VSub_Name '$user_frequency_max_current')
                                                        )
                                                      }
                                                      {(18)}
                                                      {(65)}
                                                      {(7)}
                                                      {
                                                        (DQ 
                                                          (BracedVarSub
                                                            token: <VSub_Name whiptail_menu_list>
                                                            bracket_op: (WholeArray op_id:Lit_At)
                                                            spids: [12490 12495]
                                                          )
                                                        )
                                                      }
                                                    ]
                                                    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: [12443 12506]
                                          )
                                        }
                                      spids: [12442]
                                    )
                                  ]
                                  spids: [12442]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:CHOICE)
                                      op: Equal
                                      rhs: {($ VSub_QMark '$?')}
                                      spids: [12509]
                                    )
                                  ]
                                  spids: [12509]
                                )
                                (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: [12515 12524]
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (If
                                          arms: [
                                            (if_arm
                                              cond: [
                                                (Sentence
                                                  child: 
                                                    (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$OPTION'))} 
                                                      {(Lit_Other '=')} {(DQ (Disabled))} {(Lit_Other ']')}
                                                    )
                                                  terminator: <Op_Semi ';'>
                                                )
                                              ]
                                              action: [
                                                (C {(sed)} {(-i)} 
                                                  {
                                                    (DQ ('/CONFIG_CPU_MAX_FREQ=/c') (Lit_Other '\\') 
                                                      ('CONFIG_CPU_MAX_FREQ=') ($ VSub_Name '$max_clock')
                                                    )
                                                  } {(/DietPi/dietpi.txt)}
                                                )
                                                (C {(/DietPi/dietpi/dietpi-cpu_set)})
                                              ]
                                              spids: [16777215 12552]
                                            )
                                          ]
                                          spids: [16777215 12574]
                                        )
                                        (C {(sed)} {(-i)} 
                                          {
                                            (DQ ('/CONFIG_CPU_MAX_FREQ=/c') (Lit_Other '\\') 
                                              ('CONFIG_CPU_MAX_FREQ=') ($ VSub_Name '$OPTION')
                                            )
                                          } {(/DietPi/dietpi.txt)}
                                        )
                                        (C {(/DietPi/dietpi/dietpi-cpu_set)})
                                      ]
                                      spids: [16777215 12527]
                                    )
                                  ]
                                  spids: [16777215 12596]
                                )
                                (C {(unset)} {(whiptail_menu_list)})
                                (C {(unset)} {(available_frequency_array)})
                              ]
                              spids: [12281 12615]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(4)}
                                  spids: [12623]
                                )
                              ]
                              spids: [12623]
                            )
                          ]
                          spids: [12220 12224 12628 16777215]
                        )
                        (case_arm
                          pat_list: [{(DQ ('CPU Min Freq Limit')) (Lit_Other '*')}]
                          action: [
                            (C {(/DietPi/dietpi/dietpi-cpuinfo)} {(2)})
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(KW_Bang '!')} {(-f)} 
                                          {(/tmp/dietpi-available_cpu_freqs)} {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(whiptail)} {(--title)} {(DQ ('Not Available'))} {(--msgbox)} 
                                      {
                                        (DQ 
                                          (
'Your processor / kernel, does not support this feature.'
                                          ) (Lit_Other '\\') (n) (Lit_Other '\\') ('n(Info): Scaling_available_frequencies does not exist.')
                                        )
                                      } {(--backtitle)} {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))} {(10)} {(65)}
                                    )
                                  ]
                                  spids: [16777215 12659]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_Local
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:whiptail_menu_list)
                                      op: Equal
                                      rhs: {(ArrayLiteralPart)}
                                      spids: [12699]
                                    )
                                  ]
                                  spids: [12697]
                                )
                                (Assignment
                                  keyword: Assign_Local
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:min_clock)
                                      op: Equal
                                      rhs: {(0)}
                                      spids: [12706]
                                    )
                                  ]
                                  spids: [12704]
                                )
                                (Assignment
                                  keyword: Assign_Local
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:available_frequency_array)
                                      op: Equal
                                      rhs: {(ArrayLiteralPart)}
                                      spids: [12712]
                                    )
                                  ]
                                  spids: [12710]
                                )
                                (SimpleCommand
                                  words: [{(readarray)} {(available_frequency_array)}]
                                  redirects: [
                                    (Redir
                                      op: <Redir_Less '<'>
                                      fd: 16777215
                                      arg_word: {(/tmp/dietpi-available_cpu_freqs)}
                                    )
                                  ]
                                )
                                (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 available_frequency_array>
                                                prefix_op: VSub_Pound
                                                bracket_op: (WholeArray op_id:Lit_At)
                                                spids: [12738 12744]
                                              )
                                            }
                                        )
                                    )
                                  update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i))
                                  body: 
                                    (DoGroup
                                      children: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:whiptail_menu_list)
                                              op: PlusEqual
                                              rhs: 
                                                {
                                                  (ArrayLiteralPart
                                                    words: [
                                                      {
                                                        (DQ 
                                                          (ArithSubPart
                                                            anode: 
                                                              (ArithBinary
                                                                op_id: Arith_Slash
                                                                left: 
                                                                  (ArithWord
                                                                    w: 
                                                                      {
                                                                        (BracedVarSub
                                                                          token: 
                                                                            <VSub_Name 
available_frequency_array
                                                                            >
                                                                          bracket_op: 
                                                                            (ArrayIndex
                                                                              expr: 
                                                                                (ArithWord
                                                                                  w: 
                                                                                    {
                                                                                      ($ VSub_Name 
'$i'
                                                                                      )
                                                                                    }
                                                                                )
                                                                            )
                                                                          spids: [12762 12767]
                                                                        )
                                                                      }
                                                                  )
                                                                right: 
                                                                  (ArithWord
                                                                    w: {(Lit_Digits 1000)}
                                                                  )
                                                              )
                                                            spids: [12760 12774]
                                                          )
                                                        )
                                                      }
                                                      {(DQ (MHz))}
                                                    ]
                                                  )
                                                }
                                              spids: [12757]
                                            )
                                          ]
                                          spids: [12757]
                                        )
                                      ]
                                      spids: [12753 12784]
                                    )
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:min_clock)
                                      op: Equal
                                      rhs: 
                                        {
                                          (ArithSubPart
                                            anode: 
                                              (ArithBinary
                                                op_id: Arith_Slash
                                                left: 
                                                  (ArithWord
                                                    w: 
                                                      {
                                                        (BracedVarSub
                                                          token: 
                                                            <VSub_Name available_frequency_array>
                                                          bracket_op: 
                                                            (ArrayIndex
                                                              expr: (ArithWord w:{(Lit_Digits 0)})
                                                            )
                                                          spids: [12791 12796]
                                                        )
                                                      }
                                                  )
                                                right: (ArithWord w:{(Lit_Digits 1000)})
                                              )
                                            spids: [12789 12803]
                                          )
                                        }
                                      spids: [12788]
                                    )
                                  ]
                                  spids: [12788]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:whiptail_menu_list)
                                      op: PlusEqual
                                      rhs: 
                                        {
                                          (ArrayLiteralPart
                                            words: [
                                              {(DQ (Disabled))}
                                              {(DQ ('Returns clocks to default'))}
                                            ]
                                          )
                                        }
                                      spids: [12811]
                                    )
                                  ]
                                  spids: [12811]
                                )
                                (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 
                                                          (
'Limit the minimum frequency that your processor can reach.'
                                                          ) (Lit_Other '\\') 
                                                          (
"nThis can be useful for some timing critical stuff (eg. 1-wire below 480 Mhz won't work)."
                                                          ) (Lit_Other '\\') (n) (Lit_Other '\\') ('nCurrent setting: ') ($ VSub_Name '$user_frequency_min_text')
                                                        )
                                                      }
                                                      {(--cancel-button)}
                                                      {(DQ (Back))}
                                                      {(--backtitle)}
                                                      {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))}
                                                      {(--default-item)}
                                                      {
                                                        (DQ 
                                                          ($ VSub_Name '$user_frequency_min_current')
                                                        )
                                                      }
                                                      {(18)}
                                                      {(65)}
                                                      {(7)}
                                                      {
                                                        (DQ 
                                                          (BracedVarSub
                                                            token: <VSub_Name whiptail_menu_list>
                                                            bracket_op: (WholeArray op_id:Lit_At)
                                                            spids: [12876 12881]
                                                          )
                                                        )
                                                      }
                                                    ]
                                                    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: [12829 12892]
                                          )
                                        }
                                      spids: [12828]
                                    )
                                  ]
                                  spids: [12828]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:CHOICE)
                                      op: Equal
                                      rhs: {($ VSub_QMark '$?')}
                                      spids: [12895]
                                    )
                                  ]
                                  spids: [12895]
                                )
                                (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: [12901 12910]
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (If
                                          arms: [
                                            (if_arm
                                              cond: [
                                                (Sentence
                                                  child: 
                                                    (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$OPTION'))} 
                                                      {(Lit_Other '=')} {(DQ (Disabled))} {(Lit_Other ']')}
                                                    )
                                                  terminator: <Op_Semi ';'>
                                                )
                                              ]
                                              action: [
                                                (C {(sed)} {(-i)} 
                                                  {
                                                    (DQ ('/CONFIG_CPU_MIN_FREQ=/c') (Lit_Other '\\') 
                                                      ('CONFIG_CPU_MIN_FREQ=') ($ VSub_Name '$min_clock')
                                                    )
                                                  } {(/DietPi/dietpi.txt)}
                                                )
                                                (C {(/DietPi/dietpi/dietpi-cpu_set)})
                                              ]
                                              spids: [16777215 12938]
                                            )
                                          ]
                                          spids: [16777215 12960]
                                        )
                                        (C {(sed)} {(-i)} 
                                          {
                                            (DQ ('/CONFIG_CPU_MIN_FREQ=/c') (Lit_Other '\\') 
                                              ('CONFIG_CPU_MIN_FREQ=') ($ VSub_Name '$OPTION')
                                            )
                                          } {(/DietPi/dietpi.txt)}
                                        )
                                        (C {(/DietPi/dietpi/dietpi-cpu_set)})
                                      ]
                                      spids: [16777215 12913]
                                    )
                                  ]
                                  spids: [16777215 12982]
                                )
                                (C {(unset)} {(whiptail_menu_list)})
                                (C {(unset)} {(available_frequency_array)})
                              ]
                              spids: [12693 13001]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(4)}
                                  spids: [13009]
                                )
                              ]
                              spids: [13009]
                            )
                          ]
                          spids: [12632 12636 13014 16777215]
                        )
                        (case_arm
                          pat_list: [{(DQ (Overclocking)) (Lit_Other '*')}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(13)}
                                  spids: [13026]
                                )
                              ]
                              spids: [13026]
                            )
                          ]
                          spids: [13018 13022 13030 16777215]
                        )
                        (case_arm
                          pat_list: [{(DQ ('Change CPU Governor')) (Lit_Other '*')}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(KW_Bang '!')} {(-f)} 
                                          {(DQ ($ VSub_Name '$FP_CPU_SCALING_GOV'))} {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(whiptail)} {(--title)} {(DQ ('Not Available'))} {(--msgbox)} 
                                      {
                                        (DQ 
                                          (
'Your processor, or kernel, does not support this feature.'
                                          ) (Lit_Other '\\') (n) (Lit_Other '\\') ('n(Info): scaling_available_governors does not exist.')
                                        )
                                      } {(--backtitle)} {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))} {(10)} {(65)}
                                    )
                                  ]
                                  spids: [16777215 13061]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_Local
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:Description)
                                      op: Equal
                                      rhs: {(DQ ('Change CPU Governor:'))}
                                      spids: [13105]
                                    )
                                  ]
                                  spids: [13103]
                                )
                                (Assignment
                                  keyword: Assign_Local
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:whiptail_menu_array)
                                      op: Equal
                                      rhs: {(ArrayLiteralPart)}
                                      spids: [13113]
                                    )
                                  ]
                                  spids: [13111]
                                )
                                (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 {(cat)} 
                                                                        {
                                                                          (DQ 
                                                                            ($ VSub_Name 
'$FP_CPU_SCALING_GOV'
                                                                            )
                                                                          )
                                                                        }
                                                                      )
                                                                      (C {(grep)} {(-ci)} {(-m1)} 
                                                                        {(SQ <ondemand>)}
                                                                      )
                                                                    ]
                                                                    negated: F
                                                                  )
                                                                ]
                                                              )
                                                            left_token: <Left_CommandSub '$('>
                                                            spids: [13123 13141]
                                                          )
                                                        }
                                                    )
                                                  right: (ArithWord w:{(Lit_Digits 1)})
                                                )
                                              spids: [13121 13148]
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:whiptail_menu_array)
                                              op: PlusEqual
                                              rhs: 
                                                {
                                                  (ArrayLiteralPart
                                                    words: [
                                                      {(DQ (ondemand))}
                                                      {
                                                        (DQ ('Scales CPU frequency between ') 
                                                          ($ VSub_Name '$frequency_min_cpu_governor') (' MHz and ') ($ VSub_Name '$frequency_max_cpu_governor') (' MHz.')
                                                        )
                                                      }
                                                    ]
                                                  )
                                                }
                                              spids: [13155]
                                            )
                                          ]
                                          spids: [13155]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:Description)
                                              op: PlusEqual
                                              rhs: 
                                                {
                                                  (DQ (Lit_Other '\\') 
                                                    (
'nOndemand     | Dynamic CPU frequency based on usage (recommended).'
                                                    )
                                                  )
                                                }
                                              spids: [13171]
                                            )
                                          ]
                                          spids: [13171]
                                        )
                                      ]
                                      spids: [16777215 13151]
                                    )
                                  ]
                                  spids: [16777215 13179]
                                )
                                (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 {(cat)} 
                                                                        {
                                                                          (DQ 
                                                                            ($ VSub_Name 
'$FP_CPU_SCALING_GOV'
                                                                            )
                                                                          )
                                                                        }
                                                                      )
                                                                      (C {(grep)} {(-ci)} {(-m1)} 
                                                                        {(SQ <interactive>)}
                                                                      )
                                                                    ]
                                                                    negated: F
                                                                  )
                                                                ]
                                                              )
                                                            left_token: <Left_CommandSub '$('>
                                                            spids: [13187 13205]
                                                          )
                                                        }
                                                    )
                                                  right: (ArithWord w:{(Lit_Digits 1)})
                                                )
                                              spids: [13185 13212]
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:whiptail_menu_array)
                                              op: PlusEqual
                                              rhs: 
                                                {
                                                  (ArrayLiteralPart
                                                    words: [
                                                      {(DQ (interactive))}
                                                      {
                                                        (DQ ('Scales CPU frequency between ') 
                                                          ($ VSub_Name '$frequency_min_cpu_governor') (' MHz and ') ($ VSub_Name '$frequency_max_cpu_governor') (' MHz.')
                                                        )
                                                      }
                                                    ]
                                                  )
                                                }
                                              spids: [13219]
                                            )
                                          ]
                                          spids: [13219]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:Description)
                                              op: PlusEqual
                                              rhs: 
                                                {
                                                  (DQ (Lit_Other '\\') 
                                                    (
'nInteractive  | Dynamic CPU frequency based on usage.'
                                                    )
                                                  )
                                                }
                                              spids: [13235]
                                            )
                                          ]
                                          spids: [13235]
                                        )
                                      ]
                                      spids: [16777215 13215]
                                    )
                                  ]
                                  spids: [16777215 13243]
                                )
                                (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 {(cat)} 
                                                                        {
                                                                          (DQ 
                                                                            ($ VSub_Name 
'$FP_CPU_SCALING_GOV'
                                                                            )
                                                                          )
                                                                        }
                                                                      )
                                                                      (C {(grep)} {(-ci)} {(-m1)} 
                                                                        {(SQ <conservative>)}
                                                                      )
                                                                    ]
                                                                    negated: F
                                                                  )
                                                                ]
                                                              )
                                                            left_token: <Left_CommandSub '$('>
                                                            spids: [13251 13269]
                                                          )
                                                        }
                                                    )
                                                  right: (ArithWord w:{(Lit_Digits 1)})
                                                )
                                              spids: [13249 13276]
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:whiptail_menu_array)
                                              op: PlusEqual
                                              rhs: 
                                                {
                                                  (ArrayLiteralPart
                                                    words: [
                                                      {(DQ (conservative))}
                                                      {
                                                        (DQ ('Scales CPU frequency between ') 
                                                          ($ VSub_Name '$frequency_min_cpu_governor') (' MHz and ') ($ VSub_Name '$frequency_max_cpu_governor') (' MHz.')
                                                        )
                                                      }
                                                    ]
                                                  )
                                                }
                                              spids: [13283]
                                            )
                                          ]
                                          spids: [13283]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:Description)
                                              op: PlusEqual
                                              rhs: 
                                                {
                                                  (DQ (Lit_Other '\\') 
                                                    (
'nConservative | Same as ondemand. Bias towards powersaving, slower scaling. '
                                                    )
                                                  )
                                                }
                                              spids: [13299]
                                            )
                                          ]
                                          spids: [13299]
                                        )
                                      ]
                                      spids: [16777215 13279]
                                    )
                                  ]
                                  spids: [16777215 13307]
                                )
                                (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 {(cat)} 
                                                                        {
                                                                          (DQ 
                                                                            ($ VSub_Name 
'$FP_CPU_SCALING_GOV'
                                                                            )
                                                                          )
                                                                        }
                                                                      )
                                                                      (C {(grep)} {(-ci)} {(-m1)} 
                                                                        {(SQ <powersave>)}
                                                                      )
                                                                    ]
                                                                    negated: F
                                                                  )
                                                                ]
                                                              )
                                                            left_token: <Left_CommandSub '$('>
                                                            spids: [13315 13333]
                                                          )
                                                        }
                                                    )
                                                  right: (ArithWord w:{(Lit_Digits 1)})
                                                )
                                              spids: [13313 13340]
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:whiptail_menu_array)
                                              op: PlusEqual
                                              rhs: 
                                                {
                                                  (ArrayLiteralPart
                                                    words: [
                                                      {(DQ (powersave))}
                                                      {
                                                        (DQ ('Limits CPU frequency to ') 
                                                          ($ VSub_Name '$frequency_min_cpu_governor') (' MHz.')
                                                        )
                                                      }
                                                    ]
                                                  )
                                                }
                                              spids: [13347]
                                            )
                                          ]
                                          spids: [13347]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:Description)
                                              op: PlusEqual
                                              rhs: 
                                                {
                                                  (DQ (Lit_Other '\\') 
                                                    (
'nPowersave    | Static. Reduces energy consumption, heat, performance.'
                                                    )
                                                  )
                                                }
                                              spids: [13361]
                                            )
                                          ]
                                          spids: [13361]
                                        )
                                      ]
                                      spids: [16777215 13343]
                                    )
                                  ]
                                  spids: [16777215 13369]
                                )
                                (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 {(cat)} 
                                                                        {
                                                                          (DQ 
                                                                            ($ VSub_Name 
'$FP_CPU_SCALING_GOV'
                                                                            )
                                                                          )
                                                                        }
                                                                      )
                                                                      (C {(grep)} {(-ci)} {(-m1)} 
                                                                        {(SQ <performance>)}
                                                                      )
                                                                    ]
                                                                    negated: F
                                                                  )
                                                                ]
                                                              )
                                                            left_token: <Left_CommandSub '$('>
                                                            spids: [13377 13395]
                                                          )
                                                        }
                                                    )
                                                  right: (ArithWord w:{(Lit_Digits 1)})
                                                )
                                              spids: [13375 13402]
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:whiptail_menu_array)
                                              op: PlusEqual
                                              rhs: 
                                                {
                                                  (ArrayLiteralPart
                                                    words: [
                                                      {(DQ (performance))}
                                                      {
                                                        (DQ ('Forces CPU frequency to ') 
                                                          ($ VSub_Name '$frequency_max_cpu_governor') (' MHz.')
                                                        )
                                                      }
                                                    ]
                                                  )
                                                }
                                              spids: [13409]
                                            )
                                          ]
                                          spids: [13409]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:Description)
                                              op: PlusEqual
                                              rhs: 
                                                {
                                                  (DQ (Lit_Other '\\') 
                                                    (
'nPerformance  | Static. Increases energy consumption, heat, performance.'
                                                    )
                                                  )
                                                }
                                              spids: [13423]
                                            )
                                          ]
                                          spids: [13423]
                                        )
                                      ]
                                      spids: [16777215 13405]
                                    )
                                  ]
                                  spids: [16777215 13431]
                                )
                                (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 '$Description'))}
                                                      {(--cancel-button)}
                                                      {(DQ ($ VSub_Name '$TEXT_MENU_BACK'))}
                                                      {(--backtitle)}
                                                      {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))}
                                                      {(--default-item)}
                                                      {(DQ ($ VSub_Name '$current_cpu_governor'))}
                                                      {(18)}
                                                      {(80)}
                                                      {(5)}
                                                      {
                                                        (DQ 
                                                          (BracedVarSub
                                                            token: <VSub_Name whiptail_menu_array>
                                                            bracket_op: (WholeArray op_id:Lit_At)
                                                            spids: [13476 13481]
                                                          )
                                                        )
                                                      }
                                                    ]
                                                    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: [13436 13492]
                                          )
                                        }
                                      spids: [13435]
                                    )
                                  ]
                                  spids: [13435]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:CHOICE)
                                      op: Equal
                                      rhs: {($ VSub_QMark '$?')}
                                      spids: [13495]
                                    )
                                  ]
                                  spids: [13495]
                                )
                                (C {(unset)} {(whiptail_menu_array)})
                                (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: [13512 13521]
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (C {(sed)} {(-i)} 
                                          {
                                            (DQ ('/CONFIG_CPU_GOVERNOR=/c') (Lit_Other '\\') 
                                              ('CONFIG_CPU_GOVERNOR=') ($ VSub_Name '$OPTION')
                                            )
                                          } {(/DietPi/dietpi.txt)}
                                        )
                                        (C {(/DietPi/dietpi/dietpi-cpu_set)})
                                      ]
                                      spids: [16777215 13524]
                                    )
                                  ]
                                  spids: [16777215 13546]
                                )
                              ]
                              spids: [13099 13550]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(4)}
                                  spids: [13558]
                                )
                              ]
                              spids: [13558]
                            )
                          ]
                          spids: [13034 13038 13563 16777215]
                        )
                        (case_arm
                          pat_list: [{(DQ ('CPU Throttle Up')) (Lit_Other '*')}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:MIN_VALUE)
                                  op: Equal
                                  rhs: {(30)}
                                  spids: [13574]
                                )
                              ]
                              spids: [13574]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:MAX_VALUE)
                                  op: Equal
                                  rhs: {(95)}
                                  spids: [13578]
                                )
                              ]
                              spids: [13578]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:OPTION)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (SimpleCommand
                                                words: [
                                                  {(whiptail)}
                                                  {(--inputbox)}
                                                  {
                                                    (DQ 
                                                      (
'When the CPU usage (%) is greater than this value, the CPU frequency will increase from '
                                                      ) ($ VSub_Name '$frequency_min_cpu_governor') (' MHz to ') ($ VSub_Name '$frequency_max_cpu_governor') 
                                                      (' MHz.') (Lit_Other '\\') ('n - Valid range ') ($ VSub_Name '$MIN_VALUE') (' - ') ($ VSub_Name '$MAX_VALUE') 
                                                      (Lit_Other '\\') ('n - Recommended settings: Desktop = 50%, Server = 85%')
                                                    )
                                                  }
                                                  {(10)}
                                                  {(70)}
                                                  {(DQ ($ VSub_Name '$current_cpu_throttle_up'))}
                                                  {(--title)}
                                                  {(DQ ('CPU Throttle Up %'))}
                                                ]
                                                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: [13583 13625]
                                      )
                                    }
                                  spids: [13582]
                                )
                              ]
                              spids: [13582]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:CHOICE)
                                  op: Equal
                                  rhs: {($ VSub_QMark '$?')}
                                  spids: [13628]
                                )
                              ]
                              spids: [13628]
                            )
                            (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: [13634 13643]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  ops: [Op_DAmp Op_DAmp]
                                                  children: [
                                                    (DBracket
                                                      expr: 
                                                        (BoolBinary
                                                          op_id: BoolBinary_EqualTilde
                                                          left: {($ VSub_Name '$OPTION')}
                                                          right: 
                                                            {(Lit_Other '^') (-) (Lit_Other '?') 
                                                              (Lit_Other '[') (0-9) (Lit_Other ']') (Lit_Other '+') (Lit_Other '$')
                                                            }
                                                        )
                                                    )
                                                    (DParen
                                                      child: 
                                                        (ArithBinary
                                                          op_id: Arith_LessEqual
                                                          left: (ArithWord w:{($ VSub_Name '$OPTION')})
                                                          right: 
                                                            (ArithWord
                                                              w: {($ VSub_Name '$MAX_VALUE')}
                                                            )
                                                        )
                                                      spids: [13671 13678]
                                                    )
                                                    (DParen
                                                      child: 
                                                        (ArithBinary
                                                          op_id: Arith_GreatEqual
                                                          left: (ArithWord w:{($ VSub_Name '$OPTION')})
                                                          right: 
                                                            (ArithWord
                                                              w: {($ VSub_Name '$MIN_VALUE')}
                                                            )
                                                        )
                                                      spids: [13682 13689]
                                                    )
                                                  ]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(sed)} {(-i)} 
                                              {
                                                (DQ ('/CONFIG_CPU_USAGE_THROTTLE_UP=/c') 
                                                  (Lit_Other '\\') ('CONFIG_CPU_USAGE_THROTTLE_UP=') ($ VSub_Name '$OPTION')
                                                )
                                              } {(/DietPi/dietpi.txt)}
                                            )
                                            (C {(/DietPi/dietpi/dietpi-cpu_set)})
                                          ]
                                          spids: [16777215 13692]
                                        )
                                      ]
                                      else_action: [(C {(Info_Input_Not_Valid_Integer)})]
                                      spids: [13718 13726]
                                    )
                                  ]
                                  spids: [16777215 13646]
                                )
                              ]
                              spids: [16777215 13730]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(4)}
                                  spids: [13738]
                                )
                              ]
                              spids: [13738]
                            )
                          ]
                          spids: [13566 13570 13742 16777215]
                        )
                        (case_arm
                          pat_list: [{(DQ ('ARM Initial Turbo')) (Lit_Other '*')}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:MIN_VALUE)
                                  op: Equal
                                  rhs: {(0)}
                                  spids: [13754]
                                )
                              ]
                              spids: [13754]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:MAX_VALUE)
                                  op: Equal
                                  rhs: {(60)}
                                  spids: [13758]
                                )
                              ]
                              spids: [13758]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:OPTION)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (SimpleCommand
                                                words: [
                                                  {(whiptail)}
                                                  {(--inputbox)}
                                                  {
                                                    (DQ ('Activates turbo mode during boot (') 
                                                      ($ VSub_Name '$frequency_max_cpu_governor') (' MHz), for the duration of value in seconds. ') (Lit_Other '\\') ('n - Recommended value is 20 ') 
                                                      (Lit_Other '\\') ('n - Valid range ') ($ VSub_Name '$MIN_VALUE') (' (disabled) - ') ($ VSub_Name '$MAX_VALUE')
                                                    )
                                                  }
                                                  {(12)}
                                                  {(60)}
                                                  {(DQ ($ VSub_Name '$current_initial_turbo'))}
                                                  {(--title)}
                                                  {(DQ ('ARM Initial Turbo Duration'))}
                                                ]
                                                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: [13763 13803]
                                      )
                                    }
                                  spids: [13762]
                                )
                              ]
                              spids: [13762]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:CHOICE)
                                  op: Equal
                                  rhs: {($ VSub_QMark '$?')}
                                  spids: [13806]
                                )
                              ]
                              spids: [13806]
                            )
                            (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: [13812 13821]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  ops: [Op_DAmp Op_DAmp]
                                                  children: [
                                                    (DBracket
                                                      expr: 
                                                        (BoolBinary
                                                          op_id: BoolBinary_EqualTilde
                                                          left: {($ VSub_Name '$OPTION')}
                                                          right: 
                                                            {(Lit_Other '^') (-) (Lit_Other '?') 
                                                              (Lit_Other '[') (0-9) (Lit_Other ']') (Lit_Other '+') (Lit_Other '$')
                                                            }
                                                        )
                                                    )
                                                    (DParen
                                                      child: 
                                                        (ArithBinary
                                                          op_id: Arith_LessEqual
                                                          left: (ArithWord w:{($ VSub_Name '$OPTION')})
                                                          right: 
                                                            (ArithWord
                                                              w: {($ VSub_Name '$MAX_VALUE')}
                                                            )
                                                        )
                                                      spids: [13849 13856]
                                                    )
                                                    (DParen
                                                      child: 
                                                        (ArithBinary
                                                          op_id: Arith_GreatEqual
                                                          left: (ArithWord w:{($ VSub_Name '$OPTION')})
                                                          right: 
                                                            (ArithWord
                                                              w: {($ VSub_Name '$MIN_VALUE')}
                                                            )
                                                        )
                                                      spids: [13860 13867]
                                                    )
                                                  ]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(sed)} {(-i)} 
                                              {
                                                (DQ ('/initial_turbo=/c') (Lit_Other '\\') 
                                                  ('initial_turbo=') ($ VSub_Name '$OPTION')
                                                )
                                              } {(/DietPi/config.txt)}
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:REBOOT_REQUIRED)
                                                  op: Equal
                                                  rhs: {(1)}
                                                  spids: [13887]
                                                )
                                              ]
                                              spids: [13887]
                                            )
                                          ]
                                          spids: [16777215 13870]
                                        )
                                      ]
                                      else_action: [(C {(Info_Input_Not_Valid_Integer)})]
                                      spids: [13892 13900]
                                    )
                                  ]
                                  spids: [16777215 13824]
                                )
                              ]
                              spids: [16777215 13904]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(4)}
                                  spids: [13912]
                                )
                              ]
                              spids: [13912]
                            )
                          ]
                          spids: [13746 13750 13916 16777215]
                        )
                        (case_arm
                          pat_list: [{(DQ ('ARM Temp Limit')) (Lit_Other '*')}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:MIN_VALUE)
                                  op: Equal
                                  rhs: {(45)}
                                  spids: [13928]
                                )
                              ]
                              spids: [13928]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:MAX_VALUE)
                                  op: Equal
                                  rhs: {(85)}
                                  spids: [13932]
                                )
                              ]
                              spids: [13932]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:OPTION)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (SimpleCommand
                                                words: [
                                                  {(whiptail)}
                                                  {(--inputbox)}
                                                  {
                                                    (DQ 
                                                      (
"When the ARM temperature ('c) reaches this value, the ARM will underclock to reduce heat. "
                                                      ) (Lit_Other '\\') ('n - Recommended value is 65  ') (Lit_Other '\\') ('n - Valid range ') 
                                                      ($ VSub_Name '$MIN_VALUE') (' - ') ($ VSub_Name '$MAX_VALUE')
                                                    )
                                                  }
                                                  {(11)}
                                                  {(60)}
                                                  {(DQ ($ VSub_Name '$current_arm_temp_limit'))}
                                                  {(--title)}
                                                  {(DQ ('ARM Temprature Limit'))}
                                                ]
                                                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: [13937 13975]
                                      )
                                    }
                                  spids: [13936]
                                )
                              ]
                              spids: [13936]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:CHOICE)
                                  op: Equal
                                  rhs: {($ VSub_QMark '$?')}
                                  spids: [13978]
                                )
                              ]
                              spids: [13978]
                            )
                            (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: [13984 13993]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  ops: [Op_DAmp Op_DAmp]
                                                  children: [
                                                    (DBracket
                                                      expr: 
                                                        (BoolBinary
                                                          op_id: BoolBinary_EqualTilde
                                                          left: {($ VSub_Name '$OPTION')}
                                                          right: 
                                                            {(Lit_Other '^') (-) (Lit_Other '?') 
                                                              (Lit_Other '[') (0-9) (Lit_Other ']') (Lit_Other '+') (Lit_Other '$')
                                                            }
                                                        )
                                                    )
                                                    (DParen
                                                      child: 
                                                        (ArithBinary
                                                          op_id: Arith_LessEqual
                                                          left: (ArithWord w:{($ VSub_Name '$OPTION')})
                                                          right: 
                                                            (ArithWord
                                                              w: {($ VSub_Name '$MAX_VALUE')}
                                                            )
                                                        )
                                                      spids: [14021 14028]
                                                    )
                                                    (DParen
                                                      child: 
                                                        (ArithBinary
                                                          op_id: Arith_GreatEqual
                                                          left: (ArithWord w:{($ VSub_Name '$OPTION')})
                                                          right: 
                                                            (ArithWord
                                                              w: {($ VSub_Name '$MIN_VALUE')}
                                                            )
                                                        )
                                                      spids: [14032 14039]
                                                    )
                                                  ]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (DParen
                                                          child: 
                                                            (ArithBinary
                                                              op_id: Arith_Great
                                                              left: 
                                                                (ArithWord
                                                                  w: {($ VSub_Name '$OPTION')}
                                                                )
                                                              right: (ArithWord w:{(Lit_Digits 65)})
                                                            )
                                                          spids: [14048 14057]
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(whiptail)} {(--title)} 
                                                      {
                                                        (DQ ('Warning: ') ($ VSub_Name '$OPTION') 
                                                          (" 'c")
                                                        )
                                                      } {(--msgbox)} 
                                                      {
                                                        (DQ 
                                                          (
'Higher operating temperatures will reduce the life of your ARM SoC. Heat also dissipates through the PCB into other components, decreasing the lifespan of the whole device. Use at your own risk.'
                                                          ) (Lit_Other '\\') (n) (Lit_Other '\\') ("nDietPi recommends 65'c as a safe value (75'c for RPi 3).") 
                                                          (Lit_Other '\\') (n) (Lit_Other '\\') ('nMore info: https://github.com/Fourdee/DietPi/issues/356')
                                                        )
                                                      } {(14)} {(70)}
                                                    )
                                                  ]
                                                  spids: [16777215 14060]
                                                )
                                              ]
                                              spids: [16777215 14094]
                                            )
                                            (C {(sed)} {(-i)} 
                                              {
                                                (DQ ('/temp_limit=/c') (Lit_Other '\\') ('temp_limit=') 
                                                  ($ VSub_Name '$OPTION')
                                                )
                                              } {(/DietPi/config.txt)}
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:REBOOT_REQUIRED)
                                                  op: Equal
                                                  rhs: {(1)}
                                                  spids: [14112]
                                                )
                                              ]
                                              spids: [14112]
                                            )
                                          ]
                                          spids: [16777215 14042]
                                        )
                                      ]
                                      else_action: [(C {(Info_Input_Not_Valid_Integer)})]
                                      spids: [14117 14125]
                                    )
                                  ]
                                  spids: [16777215 13996]
                                )
                              ]
                              spids: [16777215 14129]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(4)}
                                  spids: [14137]
                                )
                              ]
                              spids: [14137]
                            )
                          ]
                          spids: [13920 13924 14141 16777215]
                        )
                      ]
                      spids: [11429 11435 14145]
                    )
                  ]
                  spids: [16777215 11425]
                )
              ]
              spids: [16777215 14149]
            )
          ]
          spids: [10308]
        )
      spids: [10305 10308]
    )
    (FuncDef
      name: Change_Password
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:PasswordRecieved)
                  op: Equal
                  rhs: {(0)}
                  spids: [14166]
                )
              ]
              spids: [14164]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:passw1)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (SimpleCommand
                                words: [
                                  {(whiptail)}
                                  {(--passwordbox)}
                                  {(DQ ('Please Enter Your New Password'))}
                                  {(8)}
                                  {(60)}
                                  {(--title)}
                                  {(DQ ('Change PW'))}
                                ]
                                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: [14178 14205]
                      )
                    }
                  spids: [14177]
                )
              ]
              spids: [14175]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:CHOICE)
                  op: Equal
                  rhs: {($ VSub_QMark '$?')}
                  spids: [14208]
                )
              ]
              spids: [14208]
            )
            (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: [14214 14223]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (DParen
                      child: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:PasswordRecieved))
                      spids: [14230 14234]
                    )
                  ]
                  spids: [16777215 14226]
                )
              ]
              spids: [16777215 14238]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:passw2)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (SimpleCommand
                                words: [
                                  {(whiptail)}
                                  {(--passwordbox)}
                                  {(DQ ('Please Confirm Your New Password'))}
                                  {(8)}
                                  {(60)}
                                  {(--title)}
                                  {(DQ ('Confirm PW'))}
                                ]
                                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: [14249 14276]
                      )
                    }
                  spids: [14248]
                )
              ]
              spids: [14246]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:CHOICE)
                  op: Equal
                  rhs: {($ VSub_QMark '$?')}
                  spids: [14279]
                )
              ]
              spids: [14279]
            )
            (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: [14285 14294]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (DParen
                      child: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:PasswordRecieved))
                      spids: [14301 14305]
                    )
                  ]
                  spids: [16777215 14297]
                )
              ]
              spids: [16777215 14309]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$passw1'))} 
                          {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$passw2'))} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:WHIP_TITLE)
                          op: Equal
                          rhs: {(SQ <'Error - Password Mismatch'>)}
                          spids: [14339]
                        )
                      ]
                      spids: [14339]
                    )
                    (C {(whiptail)} {(--title)} {(DQ ($ VSub_Name '$WHIP_TITLE'))} {(--msgbox)} 
                      {
                        (DQ 
                          (
' The Passwords you have entered do not match, therefor, no changes have been applied. Please try again'
                          )
                        )
                      } {(8)} {(60)}
                    )
                  ]
                  spids: [16777215 14335]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$PasswordRecieved')})
                              right: (ArithWord w:{(Lit_Digits 2)})
                            )
                          spids: [14371 14380]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Pipeline
                      children: [
                        (C {(echo)} {(-e)} 
                          {(DQ ($ VSub_Name '$passw1') (Lit_Other '\\') (n) ($ VSub_Name '$passw1'))}
                        )
                        (C {(passwd)} {(-q)} {(root)})
                      ]
                      negated: F
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:WHIP_TITLE)
                          op: Equal
                          rhs: {(SQ <'Password Applied'>)}
                          spids: [14407]
                        )
                      ]
                      spids: [14407]
                    )
                    (C {(whiptail)} {(--title)} {(DQ ($ VSub_Name '$WHIP_TITLE'))} {(--msgbox)} 
                      {(DQ (' Your new password has successfully been applied.'))} {(8)} {(60)}
                    )
                  ]
                  spids: [14369 14383]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:WHIP_TITLE)
                      op: Equal
                      rhs: {(SQ <'Password Aborted'>)}
                      spids: [14441]
                    )
                  ]
                  spids: [14441]
                )
                (C {(whiptail)} {(--title)} {(DQ ($ VSub_Name '$WHIP_TITLE'))} {(--msgbox)} 
                  {(DQ (' Password change has been aborted. No changes have been applied'))} {(8)} {(60)}
                )
              ]
              spids: [14437 14467]
            )
          ]
          spids: [14160]
        )
      spids: [14157 14160]
    )
    (FuncDef
      name: Change_Hostname
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:hostname_existing)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: (CommandList children:[(C {(cat)} {(/etc/hostname)})])
                        left_token: <Left_CommandSub '$('>
                        spids: [14489 14493]
                      )
                    }
                  spids: [14488]
                )
              ]
              spids: [14486]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:OPTION)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (SimpleCommand
                                words: [
                                  {(whiptail)}
                                  {(--inputbox)}
                                  {(DQ ('Enter Your New Hostname'))}
                                  {(8)}
                                  {(60)}
                                  {(DQ ($ VSub_Name '$hostname_existing'))}
                                  {(--title)}
                                  {(DQ ('Change Hostname'))}
                                  {(--backtitle)}
                                  {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))}
                                ]
                                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: [14497 14534]
                      )
                    }
                  spids: [14496]
                )
              ]
              spids: [14496]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:CHOICE)
                  op: Equal
                  rhs: {($ VSub_QMark '$?')}
                  spids: [14537]
                )
              ]
              spids: [14537]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          ops: [Op_DAmp]
                          children: [
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_DEqual
                                  left: (ArithWord w:{($ VSub_Name '$CHOICE')})
                                  right: (ArithWord w:{(Lit_Digits 0)})
                                )
                              spids: [14543 14552]
                            )
                            (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$hostname_existing'))} 
                              {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$OPTION'))} {(Lit_Other ']')}
                            )
                          ]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(/DietPi/dietpi/func/change_hostname)} {(DQ ($ VSub_Name '$OPTION'))})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:REBOOT_REQUIRED)
                          op: Equal
                          rhs: {(1)}
                          spids: [14583]
                        )
                      ]
                      spids: [14583]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:WHIP_TITLE)
                          op: Equal
                          rhs: {(SQ <'Hostname Change Completed'>)}
                          spids: [14587]
                        )
                      ]
                      spids: [14587]
                    )
                    (C {(whiptail)} {(--title)} {(DQ ($ VSub_Name '$WHIP_TITLE'))} {(--yesno)} 
                      {
                        (DQ ('Your Hostname has been changed: ') (Lit_Other '\\') ('n - From ') 
                          ($ VSub_Name '$hostname_existing') (' ') (Lit_Other '\\') ('n - To ') ($ VSub_Name '$OPTION') (Lit_Other '\\') (n) (Lit_Other '\\') 
                          (
'nA reboot now is highly recommended for hostname change, and, before continuing with any further changes.'
                          ) (Lit_Other '\\') (n) (Lit_Other '\\') ('nWould you like to reboot now?')
                        )
                      } {(--defaultno)} {(--backtitle)} {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))} {(14)} {(75)}
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:CHOICE)
                          op: Equal
                          rhs: {($ VSub_QMark '$?')}
                          spids: [14640]
                        )
                      ]
                      spids: [14640]
                    )
                    (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: [14646 14655]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(reboot)})]
                          spids: [16777215 14658]
                        )
                      ]
                      spids: [16777215 14666]
                    )
                  ]
                  spids: [16777215 14572]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:WHIP_TITLE)
                      op: Equal
                      rhs: {(SQ <'Hostname Change Aborted'>)}
                      spids: [14678]
                    )
                  ]
                  spids: [14678]
                )
                (C {(whiptail)} {(--title)} {(DQ ($ VSub_Name '$WHIP_TITLE'))} {(--msgbox)} 
                  {(DQ ('Hostname change has been aborted. No changes have been applied.'))} {(8)} {(60)}
                )
              ]
              spids: [14674 14704]
            )
          ]
          spids: [14478]
        )
      spids: [14475 14478]
    )
    (FuncDef
      name: Menu_SecurityOptions
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:TARGETMENUID) op:Equal rhs:{(0)} spids:[14722])]
              spids: [14722]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:WHIP_TITLE)
                  op: Equal
                  rhs: {(SQ <'DietPi - Security Options'>)}
                  spids: [14727]
                )
              ]
              spids: [14727]
            )
            (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 (' Lock down your DietPi Install'))}
                                  {(--cancel-button)}
                                  {(DQ ($ VSub_Name '$TEXT_MENU_BACK'))}
                                  {(--backtitle)}
                                  {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))}
                                  {(12)}
                                  {(60)}
                                  {(2)}
                                  {(DQ (1))}
                                  {(DQ ('Change Root Password'))}
                                  {(DQ (2))}
                                  {(DQ ('Change Hostname'))}
                                ]
                                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: [14734 14795]
                      )
                    }
                  spids: [14733]
                )
              ]
              spids: [14733]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:CHOICE)
                  op: Equal
                  rhs: {($ VSub_QMark '$?')}
                  spids: [14799]
                )
              ]
              spids: [14799]
            )
            (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: [14805 14814]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: (ArithWord w:{($ VSub_Name '$OPTION')})
                                      right: (ArithWord w:{(Lit_Digits 1)})
                                    )
                                  spids: [14822 14831]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(Change_Password)})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(5)}
                                  spids: [14840]
                                )
                              ]
                              spids: [14840]
                            )
                          ]
                          spids: [16777215 14834]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: (ArithWord w:{($ VSub_Name '$OPTION')})
                                      right: (ArithWord w:{(Lit_Digits 2)})
                                    )
                                  spids: [14846 14855]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(Change_Hostname)})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(5)}
                                  spids: [14864]
                                )
                              ]
                              spids: [14864]
                            )
                          ]
                          spids: [14844 14858]
                        )
                      ]
                      spids: [16777215 14868]
                    )
                  ]
                  spids: [16777215 14817]
                )
              ]
              spids: [16777215 14871]
            )
          ]
          spids: [14718]
        )
      spids: [14715 14718]
    )
    (FuncDef
      name: Menu_GpumemoryOptions
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:TARGETMENUID) op:Equal rhs:{(1)} spids:[14889])]
              spids: [14889]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:gpu_mem_current)
                  op: Equal
                  rhs: {(0)}
                  spids: [14900]
                )
              ]
              spids: [14898]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:ram_mem_current)
                  op: Equal
                  rhs: {(0)}
                  spids: [14906]
                )
              ]
              spids: [14904]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:ram_mem_total) op:Equal rhs:{(0)} spids:[14912])]
              spids: [14910]
            )
            (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 0)})
                            )
                          spids: [14919 14928]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:gpu_mem_current)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(grep)} {(-m1)} {(SQ <'gpu_mem_256='>)} 
                                            {(/DietPi/config.txt)}
                                          )
                                          (C {(sed)} {(SQ <'s/.*=//'>)})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [14935 14953]
                              )
                            }
                          spids: [14934]
                        )
                      ]
                      spids: [14934]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:ram_mem_current)
                          op: Equal
                          rhs: 
                            {
                              (ArithSubPart
                                anode: 
                                  (ArithBinary
                                    op_id: Arith_Minus
                                    left: (ArithWord w:{(Lit_Digits 256)})
                                    right: (ArithVarRef name:gpu_mem_current)
                                  )
                                spids: [14957 14962]
                              )
                            }
                          spids: [14956]
                        )
                      ]
                      spids: [14956]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:ram_mem_total)
                          op: Equal
                          rhs: {(256)}
                          spids: [14965]
                        )
                      ]
                      spids: [14965]
                    )
                  ]
                  spids: [16777215 14931]
                )
                (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 1)})
                            )
                          spids: [14971 14980]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:gpu_mem_current)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(grep)} {(-m1)} {(SQ <'gpu_mem_512='>)} 
                                            {(/DietPi/config.txt)}
                                          )
                                          (C {(sed)} {(SQ <'s/.*=//'>)})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [14987 15005]
                              )
                            }
                          spids: [14986]
                        )
                      ]
                      spids: [14986]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:ram_mem_current)
                          op: Equal
                          rhs: 
                            {
                              (ArithSubPart
                                anode: 
                                  (ArithBinary
                                    op_id: Arith_Minus
                                    left: (ArithWord w:{(Lit_Digits 512)})
                                    right: (ArithVarRef name:gpu_mem_current)
                                  )
                                spids: [15009 15014]
                              )
                            }
                          spids: [15008]
                        )
                      ]
                      spids: [15008]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:ram_mem_total)
                          op: Equal
                          rhs: {(512)}
                          spids: [15017]
                        )
                      ]
                      spids: [15017]
                    )
                  ]
                  spids: [14969 14983]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          ops: [Op_DPipe]
                          children: [
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_DEqual
                                  left: (ArithWord w:{($ VSub_Name '$G_HW_MODEL')})
                                  right: (ArithWord w:{(Lit_Digits 2)})
                                )
                              spids: [15023 15032]
                            )
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_DEqual
                                  left: (ArithWord w:{($ VSub_Name '$G_HW_MODEL')})
                                  right: (ArithWord w:{(Lit_Digits 3)})
                                )
                              spids: [15036 15045]
                            )
                          ]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:gpu_mem_current)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(grep)} {(-m1)} {(SQ <'gpu_mem_1024='>)} 
                                            {(/DietPi/config.txt)}
                                          )
                                          (C {(sed)} {(SQ <'s/.*=//'>)})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [15052 15070]
                              )
                            }
                          spids: [15051]
                        )
                      ]
                      spids: [15051]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:ram_mem_current)
                          op: Equal
                          rhs: 
                            {
                              (ArithSubPart
                                anode: 
                                  (ArithBinary
                                    op_id: Arith_Minus
                                    left: (ArithWord w:{(Lit_Digits 1024)})
                                    right: (ArithVarRef name:gpu_mem_current)
                                  )
                                spids: [15074 15079]
                              )
                            }
                          spids: [15073]
                        )
                      ]
                      spids: [15073]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:ram_mem_total)
                          op: Equal
                          rhs: {(1024)}
                          spids: [15082]
                        )
                      ]
                      spids: [15082]
                    )
                  ]
                  spids: [15021 15048]
                )
                (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 10)})
                            )
                          spids: [15088 15097]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:ram_mem_current)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(free)} {(-m)})
                                          (C {(grep)} {(-m1)} {(SQ <'Mem:'>)})
                                          (C {(awk)} {(SQ <'{print $2}'>)})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [15104 15126]
                              )
                            }
                          spids: [15103]
                        )
                      ]
                      spids: [15103]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:gpu_mem_current)
                          op: Equal
                          rhs: 
                            {
                              (ArithSubPart
                                anode: 
                                  (ArithBinary
                                    op_id: Arith_Minus
                                    left: (ArithWord w:{(Lit_Digits 1024)})
                                    right: (ArithVarRef name:ram_mem_current)
                                  )
                                spids: [15130 15135]
                              )
                            }
                          spids: [15129]
                        )
                      ]
                      spids: [15129]
                    )
                  ]
                  spids: [15086 15100]
                )
                (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 12)})
                            )
                          spids: [15140 15149]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:ram_mem_current)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(free)} {(-m)})
                                          (C {(grep)} {(-m1)} {(SQ <'Mem:'>)})
                                          (C {(awk)} {(SQ <'{print $2}'>)})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [15156 15178]
                              )
                            }
                          spids: [15155]
                        )
                      ]
                      spids: [15155]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:gpu_mem_current)
                          op: Equal
                          rhs: 
                            {
                              (ArithSubPart
                                anode: 
                                  (ArithBinary
                                    op_id: Arith_Minus
                                    left: (ArithWord w:{(Lit_Digits 2048)})
                                    right: (ArithVarRef name:ram_mem_current)
                                  )
                                spids: [15182 15187]
                              )
                            }
                          spids: [15181]
                        )
                      ]
                      spids: [15181]
                    )
                  ]
                  spids: [15138 15152]
                )
              ]
              spids: [16777215 15190]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:WHIP_TITLE)
                  op: Equal
                  rhs: {(SQ <'DietPi - GPU/RAM Split'>)}
                  spids: [15194]
                )
              ]
              spids: [15194]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_Less
                              left: (ArithWord w:{($ VSub_Name '$G_HW_MODEL')})
                              right: (ArithWord w:{(Lit_Digits 10)})
                            )
                          spids: [15207 15216]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_Local
                      flags: [-a]
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:option_name)
                          op: Equal
                          rhs: 
                            {
                              (ArrayLiteralPart
                                words: [{(DQ (Server))} {(DQ (Desktop))} {(DQ (Kodi))} {(DQ (Gaming))}]
                              )
                            }
                          spids: [15231]
                        )
                      ]
                      spids: [15227]
                    )
                    (Assignment
                      keyword: Assign_Local
                      flags: [-i]
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:available_gpu_values)
                          op: Equal
                          rhs: {(ArrayLiteralPart words:[{(16)} {(64)} {(128)} {(128)}])}
                          spids: [15267]
                        )
                      ]
                      spids: [15263]
                    )
                    (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 0)})
                                    )
                                  spids: [15289 15298]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (SimpleCommand
                              words: [
                                {(echo)}
                                {(-e)}
                                {(DQ ('As above, array is defaulted to RPi1 - 256mb'))}
                              ]
                              redirects: [
                                (Redir
                                  op: <Redir_AndGreat '&>'>
                                  fd: 16777215
                                  arg_word: {(/dev/null)}
                                )
                              ]
                            )
                          ]
                          spids: [16777215 15301]
                        )
                        (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 1)})
                                    )
                                  spids: [15319 15328]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C 
                              {(available_gpu_values) (Lit_Other '[') (2) (Lit_Other ']') 
                                (Lit_Other '=') (128)
                              }
                            )
                            (C 
                              {(available_gpu_values) (Lit_Other '[') (3) (Lit_Other ']') 
                                (Lit_Other '=') (192)
                              }
                            )
                          ]
                          spids: [15317 15331]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  ops: [Op_DPipe]
                                  children: [
                                    (DParen
                                      child: 
                                        (ArithBinary
                                          op_id: Arith_DEqual
                                          left: (ArithWord w:{($ VSub_Name '$G_HW_MODEL')})
                                          right: (ArithWord w:{(Lit_Digits 2)})
                                        )
                                      spids: [15352 15361]
                                    )
                                    (DParen
                                      child: 
                                        (ArithBinary
                                          op_id: Arith_DEqual
                                          left: (ArithWord w:{($ VSub_Name '$G_HW_MODEL')})
                                          right: (ArithWord w:{(Lit_Digits 3)})
                                        )
                                      spids: [15365 15374]
                                    )
                                  ]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C 
                              {(available_gpu_values) (Lit_Other '[') (1) (Lit_Other ']') 
                                (Lit_Other '=') (128)
                              }
                            )
                            (C 
                              {(available_gpu_values) (Lit_Other '[') (2) (Lit_Other ']') 
                                (Lit_Other '=') (192)
                              }
                            )
                            (C 
                              {(available_gpu_values) (Lit_Other '[') (3) (Lit_Other ']') 
                                (Lit_Other '=') (256)
                              }
                            )
                          ]
                          spids: [15350 15377]
                        )
                      ]
                      spids: [16777215 15404]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:option_output_text)
                          op: Equal
                          rhs: {(ArrayLiteralPart)}
                          spids: [15414]
                        )
                      ]
                      spids: [15412]
                    )
                    (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 option_name>
                                    prefix_op: VSub_Pound
                                    bracket_op: (WholeArray op_id:Lit_At)
                                    spids: [15429 15435]
                                  )
                                }
                            )
                        )
                      update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i))
                      body: 
                        (DoGroup
                          children: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:option_output_text)
                                  op: PlusEqual
                                  rhs: 
                                    {
                                      (ArrayLiteralPart
                                        words: [
                                          {
                                            (DQ 
                                              (BracedVarSub
                                                token: <VSub_Name option_name>
                                                bracket_op: 
                                                  (ArrayIndex
                                                    expr: (ArithWord w:{($ VSub_Name '$i')})
                                                  )
                                                spids: [15450 15455]
                                              )
                                            )
                                          }
                                          {
                                            (DQ 
                                              (BracedVarSub
                                                token: <VSub_Name available_gpu_values>
                                                bracket_op: 
                                                  (ArrayIndex
                                                    expr: (ArithWord w:{($ VSub_Name '$i')})
                                                  )
                                                spids: [15459 15464]
                                              ) (' MB GPU | ') 
                                              (ArithSubPart
                                                anode: 
                                                  (ArithBinary
                                                    op_id: Arith_Minus
                                                    left: (ArithVarRef name:ram_mem_total)
                                                    right: 
                                                      (ArithWord
                                                        w: 
                                                          {
                                                            (BracedVarSub
                                                              token: <VSub_Name available_gpu_values>
                                                              bracket_op: 
                                                                (ArrayIndex
                                                                  expr: 
                                                                    (ArithWord
                                                                      w: {($ VSub_Name '$i')}
                                                                    )
                                                                )
                                                              spids: [15471 15476]
                                                            )
                                                          }
                                                      )
                                                  )
                                                spids: [15466 15478]
                                              ) (' MB RAM')
                                            )
                                          }
                                        ]
                                      )
                                    }
                                  spids: [15447]
                                )
                              ]
                              spids: [15447]
                            )
                          ]
                          spids: [15444 15484]
                        )
                    )
                    (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 (' Hardware : ') 
                                              ($ VSub_Name '$G_HW_MODEL_DESCRIPTION') (' ') (Lit_Other '\\') ('n Current: ') ($ VSub_Name '$gpu_mem_current') (' MB GPU | ') 
                                              ($ VSub_Name '$ram_mem_current') (' MB RAM')
                                            )
                                          }
                                          {(--cancel-button)}
                                          {(DQ ($ VSub_Name '$TEXT_MENU_BACK'))}
                                          {(--backtitle)}
                                          {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))}
                                          {(14)}
                                          {(75)}
                                          {(4)}
                                          {
                                            (DQ 
                                              (BracedVarSub
                                                token: <VSub_Name option_output_text>
                                                bracket_op: (WholeArray op_id:Lit_At)
                                                spids: [15531 15536]
                                              )
                                            )
                                          }
                                        ]
                                        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: [15489 15547]
                              )
                            }
                          spids: [15488]
                        )
                      ]
                      spids: [15488]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:CHOICE)
                          op: Equal
                          rhs: {($ VSub_QMark '$?')}
                          spids: [15550]
                        )
                      ]
                      spids: [15550]
                    )
                    (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: [15556 15565]
                                )
                              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: 
                                        {
                                          (BracedVarSub
                                            token: <VSub_Name option_name>
                                            prefix_op: VSub_Pound
                                            bracket_op: (WholeArray op_id:Lit_At)
                                            spids: [15586 15592]
                                          )
                                        }
                                    )
                                )
                              update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i))
                              body: 
                                (DoGroup
                                  children: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$OPTION'))} 
                                                  {(Lit_Other '=')} 
                                                  {
                                                    (DQ 
                                                      (BracedVarSub
                                                        token: <VSub_Name option_name>
                                                        bracket_op: 
                                                          (ArrayIndex
                                                            expr: (ArithWord w:{($ VSub_Name '$i')})
                                                          )
                                                        spids: [15615 15620]
                                                      )
                                                    )
                                                  } {(Lit_Other ']')}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_Local
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:temp_index)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$i')}
                                                  spids: [15631]
                                                )
                                              ]
                                              spids: [15629]
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Break break>
                                            )
                                          ]
                                          spids: [16777215 15626]
                                        )
                                      ]
                                      spids: [16777215 15638]
                                    )
                                  ]
                                  spids: [15601 15641]
                                )
                            )
                            (C {(/DietPi/dietpi/func/dietpi-set_hardware)} {(gpumemsplit)} 
                              {
                                (BracedVarSub
                                  token: <VSub_Name available_gpu_values>
                                  bracket_op: 
                                    (ArrayIndex
                                      expr: (ArithWord w:{($ VSub_Name '$temp_index')})
                                    )
                                  spids: [15653 15658]
                                )
                              }
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:REBOOT_REQUIRED)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [15663]
                                )
                              ]
                              spids: [15663]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(6)}
                                  spids: [15671]
                                )
                              ]
                              spids: [15671]
                            )
                          ]
                          spids: [16777215 15568]
                        )
                      ]
                      spids: [16777215 15675]
                    )
                    (C {(unset)} {(option_output_text)})
                    (C {(unset)} {(option_name)})
                    (C {(unset)} {(available_gpu_values)})
                  ]
                  spids: [16777215 15219]
                )
                (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 10)})
                            )
                          spids: [15705 15714]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:display_output_enabled)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(cat)} {(/DietPi/boot.ini)})
                                          (C {(grep)} {(-ci)} {(-m1)} {(SQ <'^setenv hdmioutput "1"'>)})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [15728 15744]
                              )
                            }
                          spids: [15727]
                        )
                      ]
                      spids: [15725]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:display_vpu_enabled)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(cat)} {(/DietPi/boot.ini)})
                                          (C {(grep)} {(-ci)} {(-m1)} {(SQ <'^setenv vpu "1"'>)})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [15750 15766]
                              )
                            }
                          spids: [15749]
                        )
                      ]
                      spids: [15747]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:display_output_text)
                          op: Equal
                          rhs: {(DQ (Enabled))}
                          spids: [15771]
                        )
                      ]
                      spids: [15769]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:display_vpu_text)
                          op: Equal
                          rhs: {(DQ (Enabled))}
                          spids: [15779]
                        )
                      ]
                      spids: [15777]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: (ArithWord w:{($ VSub_Name '$display_output_enabled')})
                                      right: (ArithWord w:{(Lit_Digits 0)})
                                    )
                                  spids: [15788 15797]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:display_output_text)
                                  op: Equal
                                  rhs: {(DQ (Disabled))}
                                  spids: [15803]
                                )
                              ]
                              spids: [15803]
                            )
                          ]
                          spids: [16777215 15800]
                        )
                      ]
                      spids: [16777215 15809]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: (ArithWord w:{($ VSub_Name '$display_vpu_enabled')})
                                      right: (ArithWord w:{(Lit_Digits 0)})
                                    )
                                  spids: [15814 15823]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:display_vpu_text)
                                  op: Equal
                                  rhs: {(DQ (Disabled))}
                                  spids: [15829]
                                )
                              ]
                              spids: [15829]
                            )
                          ]
                          spids: [16777215 15826]
                        )
                      ]
                      spids: [16777215 15835]
                    )
                    (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 (' Hardware : ') 
                                              ($ VSub_Name '$G_HW_MODEL_DESCRIPTION') (' ') (Lit_Other '\\') ('n Current  : HDMI: ') ($ VSub_Name '$display_output_text') (' | VPU: ') 
                                              ($ VSub_Name '$display_vpu_text') (' ') (Lit_Other '\\') ('n Memory   : ') ($ VSub_Name '$gpu_mem_current') (' MB GPU | ') 
                                              ($ VSub_Name '$ram_mem_current') (' MB RAM ') (Lit_Other '\\') ('n NB: GPU/RAM figures require a reboot after a change is made.')
                                            )
                                          }
                                          {(--cancel-button)}
                                          {(DQ ($ VSub_Name '$TEXT_MENU_BACK'))}
                                          {(--backtitle)}
                                          {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))}
                                          {(15)}
                                          {(70)}
                                          {(3)}
                                          {(DQ (Headless))}
                                          {(DQ ('HDMI: Disabled | VPU: Disabled'))}
                                          {(DQ (Server))}
                                          {(DQ ('HDMI: Enabled  | VPU: Disabled'))}
                                          {(DQ (Desktop))}
                                          {(DQ ('HDMI: Enabled  | VPU: Enabled'))}
                                        ]
                                        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: [15840 15927]
                              )
                            }
                          spids: [15839]
                        )
                      ]
                      spids: [15839]
                    )
                    (Case
                      to_match: {(DQ ($ VSub_Name '$OPTION'))}
                      arms: [
                        (case_arm
                          pat_list: [{(Headless)}]
                          action: [
                            (C {(sed)} {(-i)} {(SQ <'/setenv hdmioutput /c\\setenv hdmioutput "0"'>)} 
                              {(/DietPi/boot.ini)}
                            )
                            (C {(sed)} {(-i)} {(SQ <'/setenv vpu /c\\setenv vpu "0"'>)} 
                              {(/DietPi/boot.ini)}
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:REBOOT_REQUIRED)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [15966]
                                )
                              ]
                              spids: [15966]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(6)}
                                  spids: [15974]
                                )
                              ]
                              spids: [15974]
                            )
                          ]
                          spids: [15940 15941 15978 16777215]
                        )
                        (case_arm
                          pat_list: [{(Server)}]
                          action: [
                            (C {(sed)} {(-i)} {(SQ <'/setenv hdmioutput /c\\setenv hdmioutput "1"'>)} 
                              {(/DietPi/boot.ini)}
                            )
                            (C {(sed)} {(-i)} {(SQ <'/setenv vpu /c\\setenv vpu "0"'>)} 
                              {(/DietPi/boot.ini)}
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:REBOOT_REQUIRED)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [16007]
                                )
                              ]
                              spids: [16007]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(6)}
                                  spids: [16015]
                                )
                              ]
                              spids: [16015]
                            )
                          ]
                          spids: [15981 15982 16019 16777215]
                        )
                        (case_arm
                          pat_list: [{(Desktop)}]
                          action: [
                            (C {(sed)} {(-i)} {(SQ <'/setenv hdmioutput /c\\setenv hdmioutput "1"'>)} 
                              {(/DietPi/boot.ini)}
                            )
                            (C {(sed)} {(-i)} {(SQ <'/setenv vpu /c\\setenv vpu "1"'>)} 
                              {(/DietPi/boot.ini)}
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:REBOOT_REQUIRED)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [16048]
                                )
                              ]
                              spids: [16048]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(6)}
                                  spids: [16056]
                                )
                              ]
                              spids: [16056]
                            )
                          ]
                          spids: [16022 16023 16060 16777215]
                        )
                      ]
                      spids: [15931 15937 16063]
                    )
                  ]
                  spids: [15703 15717]
                )
                (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 12)})
                            )
                          spids: [16073 16082]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:display_output_enabled)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(cat)} {(/DietPi/boot.ini)})
                                          (C {(grep)} {(-ci)} {(-m1)} {(SQ <'^setenv nographics "0"'>)})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [16096 16112]
                              )
                            }
                          spids: [16095]
                        )
                      ]
                      spids: [16093]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:display_output_text)
                          op: Equal
                          rhs: {(DQ (Enabled))}
                          spids: [16117]
                        )
                      ]
                      spids: [16115]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: (ArithWord w:{($ VSub_Name '$display_output_enabled')})
                                      right: (ArithWord w:{(Lit_Digits 0)})
                                    )
                                  spids: [16126 16135]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:display_output_text)
                                  op: Equal
                                  rhs: {(DQ (Disabled))}
                                  spids: [16141]
                                )
                              ]
                              spids: [16141]
                            )
                          ]
                          spids: [16777215 16138]
                        )
                      ]
                      spids: [16777215 16147]
                    )
                    (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 (' Hardware : ') 
                                              ($ VSub_Name '$G_HW_MODEL_DESCRIPTION') (' ') (Lit_Other '\\') ('n Current  : HDMI: ') ($ VSub_Name '$display_output_text') (' | VPU: ') 
                                              ($ VSub_Name '$display_output_text') (' ') (Lit_Other '\\') ('n Memory   : ') ($ VSub_Name '$gpu_mem_current') (' MB GPU | ') 
                                              ($ VSub_Name '$ram_mem_current') (' MB RAM ') (Lit_Other '\\') ('n NB: GPU/RAM figures require a reboot after a change is made.')
                                            )
                                          }
                                          {(--cancel-button)}
                                          {(DQ ($ VSub_Name '$TEXT_MENU_BACK'))}
                                          {(--backtitle)}
                                          {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))}
                                          {(14)}
                                          {(70)}
                                          {(2)}
                                          {(DQ (Headless))}
                                          {(DQ ('HDMI: Disabled | VPU: Disabled | +300MB RAM'))}
                                          {(DQ (Default))}
                                          {(DQ ('HDMI: Enabled  | VPU: Enabled | -300MB RAM'))}
                                        ]
                                        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: [16152 16229]
                              )
                            }
                          spids: [16151]
                        )
                      ]
                      spids: [16151]
                    )
                    (Case
                      to_match: {(DQ ($ VSub_Name '$OPTION'))}
                      arms: [
                        (case_arm
                          pat_list: [{(Headless)}]
                          action: [
                            (C {(sed)} {(-i)} {(SQ <'/setenv nographics /c\\setenv nographics "1"'>)} 
                              {(/DietPi/boot.ini)}
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:REBOOT_REQUIRED)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [16257]
                                )
                              ]
                              spids: [16257]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(6)}
                                  spids: [16265]
                                )
                              ]
                              spids: [16265]
                            )
                          ]
                          spids: [16242 16243 16269 16777215]
                        )
                        (case_arm
                          pat_list: [{(Default)}]
                          action: [
                            (C {(sed)} {(-i)} {(SQ <'/setenv nographics /c\\setenv nographics "0"'>)} 
                              {(/DietPi/boot.ini)}
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:REBOOT_REQUIRED)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [16287]
                                )
                              ]
                              spids: [16287]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(6)}
                                  spids: [16295]
                                )
                              ]
                              spids: [16295]
                            )
                          ]
                          spids: [16272 16273 16299 16777215]
                        )
                      ]
                      spids: [16233 16239 16302]
                    )
                  ]
                  spids: [16071 16085]
                )
              ]
              else_action: [(C {(Info_HW_OptionNotSupported)})]
              spids: [16306 16312]
            )
          ]
          spids: [14885]
        )
      spids: [14882 14885]
    )
    (FuncDef
      name: Menu_LanguageOptions
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:TARGETMENUID) op:Equal rhs:{(0)} spids:[16330])]
              spids: [16330]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:WHIP_TITLE)
                  op: Equal
                  rhs: {(SQ <'DietPi - Language and Regional Options'>)}
                  spids: [16335]
                )
              ]
              spids: [16335]
            )
            (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 ('Please select an option:'))}
                                  {(--cancel-button)}
                                  {(DQ ($ VSub_Name '$TEXT_MENU_BACK'))}
                                  {(--backtitle)}
                                  {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))}
                                  {(12)}
                                  {(60)}
                                  {(3)}
                                  {(DQ (Locale))}
                                  {(DQ ('Change Language and Regional Settings'))}
                                  {(DQ (Timezone))}
                                  {(DQ ('Change Timezone Location Setting'))}
                                  {(DQ (Keyboard))}
                                  {(DQ ('Change Keyboard Layout Setting'))}
                                ]
                                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: [16342 16413]
                      )
                    }
                  spids: [16341]
                )
              ]
              spids: [16341]
            )
            (Case
              to_match: {(DQ ($ VSub_Name '$OPTION'))}
              arms: [
                (case_arm
                  pat_list: [{(Locale)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:REBOOT_REQUIRED)
                          op: Equal
                          rhs: {(1)}
                          spids: [16431]
                        )
                      ]
                      spids: [16431]
                    )
                    (C {(dpkg-reconfigure)} {(locales)})
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:locale_new)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(grep)} {(-m1)} {(SQ <'^LANG='>)} {(/etc/default/locale)})
                                          (C {(sed)} {(SQ <'s/.*=//'>)})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [16445 16463]
                              )
                            }
                          spids: [16444]
                        )
                      ]
                      spids: [16442]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$locale_new'))} 
                                  {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:locale_new)
                                  op: Equal
                                  rhs: {(SQ <en_GB.UTF-8>)}
                                  spids: [16488]
                                )
                              ]
                              spids: [16488]
                            )
                          ]
                          spids: [16777215 16484]
                        )
                      ]
                      spids: [16777215 16495]
                    )
                    (C {(/DietPi/dietpi/func/dietpi-set_software)} {(locale)} 
                      {(DQ ($ VSub_Name '$locale_new'))}
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:TARGETMENUID)
                          op: Equal
                          rhs: {(7)}
                          spids: [16517]
                        )
                      ]
                      spids: [16517]
                    )
                  ]
                  spids: [16426 16427 16522 16777215]
                )
                (case_arm
                  pat_list: [{(Timezone)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:REBOOT_REQUIRED)
                          op: Equal
                          rhs: {(1)}
                          spids: [16531]
                        )
                      ]
                      spids: [16531]
                    )
                    (C {(dpkg-reconfigure)} {(tzdata)})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:TARGETMENUID)
                          op: Equal
                          rhs: {(7)}
                          spids: [16545]
                        )
                      ]
                      spids: [16545]
                    )
                  ]
                  spids: [16526 16527 16550 16777215]
                )
                (case_arm
                  pat_list: [{(Keyboard)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:REBOOT_REQUIRED)
                          op: Equal
                          rhs: {(1)}
                          spids: [16559]
                        )
                      ]
                      spids: [16559]
                    )
                    (C {(whiptail)} {(--title)} {(DQ ('DietPi keyboard-configuration'))} {(--msgbox)} 
                      {
                        (DQ 
                          (
'NB: A keyboard must be physically plugged into the system, before its configuration can be changed.'
                          ) (Lit_Other '\\') (n) (Lit_Other '\\') 
                          (
'nIf a keyboard is plugged in, please ignore this message. If not, plug one in ;)'
                          )
                        )
                      } {(--backtitle)} {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))} {(12)} {(65)}
                    )
                    (C {(dpkg-reconfigure)} {(keyboard-configuration)})
                    (C {(invoke-rc.d)} {(keyboard-setup)} {(start)})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:TARGETMENUID)
                          op: Equal
                          rhs: {(7)}
                          spids: [16614]
                        )
                      ]
                      spids: [16614]
                    )
                  ]
                  spids: [16554 16555 16619 16777215]
                )
              ]
              spids: [16417 16423 16623]
            )
          ]
          spids: [16326]
        )
      spids: [16323 16326]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:ETH_IP_STATIC)
          op: Equal
          rhs: {(DQ (0.0.0.0))}
          spids: [16631]
        )
      ]
      spids: [16631]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:ETH_GATEWAY_STATIC)
          op: Equal
          rhs: {(DQ (0.0.0.0))}
          spids: [16637]
        )
      ]
      spids: [16637]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:ETH_MASK_STATIC)
          op: Equal
          rhs: {(DQ (0.0.0.0))}
          spids: [16643]
        )
      ]
      spids: [16643]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:ETH_DNS_STATIC)
          op: Equal
          rhs: {(DQ (0.0.0.0))}
          spids: [16649]
        )
      ]
      spids: [16649]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:ETH_INDEX) op:Equal rhs:{(0)} spids:[16656])]
      spids: [16656]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:ETH_DISABLED) op:Equal rhs:{(0)} spids:[16660])]
      spids: [16660]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:ETH_HARDWARE) op:Equal rhs:{(0)} spids:[16664])]
      spids: [16664]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:ETH_CONNECTED) op:Equal rhs:{(0)} spids:[16668])]
      spids: [16668]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:ETH_IP) op:Equal rhs:{(DQ (0.0.0.0))} spids:[16672])]
      spids: [16672]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:ETH_GATEWAY)
          op: Equal
          rhs: {(DQ (0.0.0.0))}
          spids: [16678]
        )
      ]
      spids: [16678]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:ETH_MASK) op:Equal rhs:{(DQ (0.0.0.0))} spids:[16684])]
      spids: [16684]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:ETH_DNS) op:Equal rhs:{(DQ (0.0.0.0))} spids:[16690])]
      spids: [16690]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:ETH_MODE) op:Equal rhs:{(1)} spids:[16696])]
      spids: [16696]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:ETH_MODE_TARGET) op:Equal rhs:{(0)} spids:[16703])]
      spids: [16703]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:WIFI_IP_STATIC)
          op: Equal
          rhs: {(DQ (0.0.0.0))}
          spids: [16708]
        )
      ]
      spids: [16708]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:WIFI_GATEWAY_STATIC)
          op: Equal
          rhs: {(DQ (0.0.0.0))}
          spids: [16714]
        )
      ]
      spids: [16714]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:WIFI_MASK_STATIC)
          op: Equal
          rhs: {(DQ (0.0.0.0))}
          spids: [16720]
        )
      ]
      spids: [16720]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:WIFI_DNS_STATIC)
          op: Equal
          rhs: {(DQ (0.0.0.0))}
          spids: [16726]
        )
      ]
      spids: [16726]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:WIFI_INDEX) op:Equal rhs:{(0)} spids:[16733])]
      spids: [16733]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:WIFI_DISABLED) op:Equal rhs:{(0)} spids:[16737])]
      spids: [16737]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:WIFI_HARDWARE) op:Equal rhs:{(0)} spids:[16741])]
      spids: [16741]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:WIFI_CONNECTED) op:Equal rhs:{(0)} spids:[16745])]
      spids: [16745]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:WIFI_IP) op:Equal rhs:{(DQ (0.0.0.0))} spids:[16749])]
      spids: [16749]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:WIFI_GATEWAY)
          op: Equal
          rhs: {(DQ (0.0.0.0))}
          spids: [16755]
        )
      ]
      spids: [16755]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:WIFI_MASK) op:Equal rhs:{(DQ (0.0.0.0))} spids:[16761])]
      spids: [16761]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:WIFI_DNS) op:Equal rhs:{(DQ (0.0.0.0))} spids:[16767])]
      spids: [16767]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:WIFI_MODE) op:Equal rhs:{(1)} spids:[16773])]
      spids: [16773]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:WIFI_MODE_TARGET) op:Equal rhs:{(0)} spids:[16780])]
      spids: [16780]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:WIFI_SSID) op:Equal rhs:{(DQ (WifiSSID))} spids:[16784])]
      spids: [16784]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:WIFI_KEY) op:Equal rhs:{(DQ (WifiKey))} spids:[16790])]
      spids: [16790]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:WIFI_BITRATE) op:Equal rhs:{(0)} spids:[16796])]
      spids: [16796]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:WIFI_SIGNALSTRENGTH) op:Equal rhs:{(0)} spids:[16800])]
      spids: [16800]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:WIFI_HOTSPOT) op:Equal rhs:{(0)} spids:[16804])]
      spids: [16804]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:WIFI_COUNTRYCODE)
          op: Equal
          rhs: {(DQ (Unknown))}
          spids: [16808]
        )
      ]
      spids: [16808]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:WIFI_AUTO_RECONNECT_ACTIVE)
          op: Equal
          rhs: {(0)}
          spids: [16814]
        )
      ]
      spids: [16814]
    )
    (FuncDef
      name: Network_ETH_CopyCurrentToStatic
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$ETH_CONNECTED')})
                              right: (ArithWord w:{(Lit_Digits 1)})
                            )
                          spids: [16832 16841]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:ETH_IP_STATIC)
                          op: Equal
                          rhs: {($ VSub_Name '$ETH_IP')}
                          spids: [16847]
                        )
                      ]
                      spids: [16847]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:ETH_GATEWAY_STATIC)
                          op: Equal
                          rhs: {($ VSub_Name '$ETH_GATEWAY')}
                          spids: [16851]
                        )
                      ]
                      spids: [16851]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:ETH_MASK_STATIC)
                          op: Equal
                          rhs: {($ VSub_Name '$ETH_MASK')}
                          spids: [16855]
                        )
                      ]
                      spids: [16855]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:ETH_DNS_STATIC)
                          op: Equal
                          rhs: {($ VSub_Name '$ETH_DNS')}
                          spids: [16859]
                        )
                      ]
                      spids: [16859]
                    )
                  ]
                  spids: [16777215 16844]
                )
              ]
              spids: [16777215 16863]
            )
          ]
          spids: [16822]
        )
      spids: [16819 16822]
    )
    (FuncDef
      name: Network_WIFI_CopyCurrentToStatic
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$WIFI_CONNECTED')})
                              right: (ArithWord w:{(Lit_Digits 1)})
                            )
                          spids: [16883 16892]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:WIFI_IP_STATIC)
                          op: Equal
                          rhs: {($ VSub_Name '$WIFI_IP')}
                          spids: [16898]
                        )
                      ]
                      spids: [16898]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:WIFI_GATEWAY_STATIC)
                          op: Equal
                          rhs: {($ VSub_Name '$WIFI_GATEWAY')}
                          spids: [16902]
                        )
                      ]
                      spids: [16902]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:WIFI_MASK_STATIC)
                          op: Equal
                          rhs: {($ VSub_Name '$WIFI_MASK')}
                          spids: [16906]
                        )
                      ]
                      spids: [16906]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:WIFI_DNS_STATIC)
                          op: Equal
                          rhs: {($ VSub_Name '$WIFI_DNS')}
                          spids: [16910]
                        )
                      ]
                      spids: [16910]
                    )
                  ]
                  spids: [16777215 16895]
                )
              ]
              spids: [16777215 16914]
            )
          ]
          spids: [16873]
        )
      spids: [16870 16873]
    )
    (FuncDef
      name: Network_Restart
      body: 
        (BraceGroup
          children: [
            (C {(/DietPi/dietpi/dietpi-services)} {(stop)})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$WIFI_DISABLED')})
                              right: (ArithWord w:{(Lit_Digits 0)})
                            )
                          spids: [16948 16957]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(/DietPi/dietpi/func/dietpi-set_hardware)} {(wifimodules)} {(enable)})]
                  spids: [16777215 16960]
                )
              ]
              else_action: [(C {(/DietPi/dietpi/func/dietpi-set_hardware)} {(wifimodules)} {(disable)})]
              spids: [16976 16988]
            )
            (C {(G_DIETPI-NOTIFY)} {(2)} {(DQ ('Dropping connections, please wait...'))})
            (SimpleCommand
              words: [{(ifdown)} {(eth) ($ VSub_Name '$ETH_INDEX')}]
              redirects: [(Redir op:<Redir_AndGreat '&>'> fd:16777215 arg_word:{(/dev/null)})]
            )
            (SimpleCommand
              words: [{(ifdown)} {(wlan) ($ VSub_Name '$WIFI_INDEX')}]
              redirects: [(Redir op:<Redir_AndGreat '&>'> fd:16777215 arg_word:{(/dev/null)})]
            )
            (SimpleCommand
              words: [{(killall)} {(dhclient)}]
              redirects: [(Redir op:<Redir_AndGreat '&>'> fd:16777215 arg_word:{(/dev/null)})]
            )
            (C {(G_DIETPI-NOTIFY)} {(2)} {(SQ <'Restarting networking services, please wait...'>)})
            (C {(systemctl)} {(daemon-reload)})
            (C {(systemctl)} {(restart)} {(networking)})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$ETH_DISABLED')})
                              right: (ArithWord w:{(Lit_Digits 0)})
                            )
                          spids: [17081 17090]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(ifup)} {(eth) ($ VSub_Name '$ETH_INDEX')})]
                  spids: [16777215 17093]
                )
              ]
              spids: [16777215 17104]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$WIFI_DISABLED')})
                              right: (ArithWord w:{(Lit_Digits 0)})
                            )
                          spids: [17110 17119]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(ifup)} {(wlan) ($ VSub_Name '$WIFI_INDEX')})
                    (C {(systemctl)} {(restart)} {(wifi_disable_powersave)})
                  ]
                  spids: [16777215 17122]
                )
              ]
              spids: [16777215 17145]
            )
            (C {(/DietPi/dietpi/dietpi-services)} {(start)})
            (C {(Network_GetData)})
          ]
          spids: [16924]
        )
      spids: [16921 16924]
    )
    (FuncDef
      name: Network_ApplyChanges
      body: 
        (BraceGroup
          children: [
            (C {(sed)} {(-i)} 
              {
                (DQ ('/allow-hotplug eth/c') (Lit_Other '\\') ('#allow-hotplug eth') 
                  ($ VSub_Name '$ETH_INDEX')
                )
              } {(/etc/network/interfaces)}
            )
            (C {(sed)} {(-i)} 
              {
                (DQ ('/allow-hotplug wlan/c') (Lit_Other '\\') ('#allow-hotplug wlan') 
                  ($ VSub_Name '$WIFI_INDEX')
                )
              } {(/etc/network/interfaces)}
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$ETH_DISABLED')})
                              right: (ArithWord w:{(Lit_Digits 0)})
                            )
                          spids: [17217 17226]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(sed)} {(-i)} 
                      {
                        (DQ ('/allow-hotplug eth/c') (Lit_Other '\\') ('allow-hotplug eth') 
                          ($ VSub_Name '$ETH_INDEX')
                        )
                      } {(/etc/network/interfaces)}
                    )
                  ]
                  spids: [16777215 17229]
                )
              ]
              spids: [16777215 17248]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$WIFI_DISABLED')})
                              right: (ArithWord w:{(Lit_Digits 0)})
                            )
                          spids: [17254 17263]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(sed)} {(-i)} 
                      {
                        (DQ ('/allow-hotplug wlan/c') (Lit_Other '\\') ('allow-hotplug wlan') 
                          ($ VSub_Name '$WIFI_INDEX')
                        )
                      } {(/etc/network/interfaces)}
                    )
                  ]
                  spids: [16777215 17266]
                )
              ]
              spids: [16777215 17285]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$ETH_MODE_TARGET')})
                              right: (ArithWord w:{(Lit_Digits 0)})
                            )
                          spids: [17299 17308]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(sed)} {(-i)} 
                      {
                        (DQ ('/iface eth/c') (Lit_Other '\\') ('iface eth') ($ VSub_Name '$ETH_INDEX') 
                          (' inet static')
                        )
                      } {(/etc/network/interfaces)}
                    )
                  ]
                  spids: [16777215 17311]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$ETH_MODE_TARGET')})
                              right: (ArithWord w:{(Lit_Digits 1)})
                            )
                          spids: [17337 17346]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(sed)} {(-i)} 
                      {
                        (DQ ('/iface eth/c') (Lit_Other '\\') ('iface eth') ($ VSub_Name '$ETH_INDEX') 
                          (' inet dhcp')
                        )
                      } {(/etc/network/interfaces)}
                    )
                  ]
                  spids: [17335 17349]
                )
              ]
              spids: [16777215 17373]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:ETH_MODE)
                  op: Equal
                  rhs: {($ VSub_Name '$ETH_MODE_TARGET')}
                  spids: [17380]
                )
              ]
              spids: [17380]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$WIFI_MODE_TARGET')})
                              right: (ArithWord w:{(Lit_Digits 0)})
                            )
                          spids: [17391 17400]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(sed)} {(-i)} 
                      {
                        (DQ ('/iface wlan/c') (Lit_Other '\\') ('iface wlan') 
                          ($ VSub_Name '$WIFI_INDEX') (' inet static')
                        )
                      } {(/etc/network/interfaces)}
                    )
                  ]
                  spids: [16777215 17403]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$WIFI_MODE_TARGET')})
                              right: (ArithWord w:{(Lit_Digits 1)})
                            )
                          spids: [17429 17438]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(sed)} {(-i)} 
                      {
                        (DQ ('/iface wlan/c') (Lit_Other '\\') ('iface wlan') 
                          ($ VSub_Name '$WIFI_INDEX') (' inet dhcp')
                        )
                      } {(/etc/network/interfaces)}
                    )
                  ]
                  spids: [17427 17441]
                )
              ]
              spids: [16777215 17465]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:WIFI_MODE)
                  op: Equal
                  rhs: {($ VSub_Name '$WIFI_MODE_TARGET')}
                  spids: [17473]
                )
              ]
              spids: [17473]
            )
            (C {(sed)} {(-i)} {(SQ <'s/^dns-nameservers/#dns-nameservers/g'>)} 
              {(/etc/network/interfaces)}
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          ops: [Op_DAmp]
                          children: [
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_DEqual
                                  left: (ArithWord w:{($ VSub_Name '$ETH_DISABLED')})
                                  right: (ArithWord w:{(Lit_Digits 0)})
                                )
                              spids: [17503 17512]
                            )
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_DEqual
                                  left: (ArithWord w:{($ VSub_Name '$ETH_MODE')})
                                  right: (ArithWord w:{(Lit_Digits 0)})
                                )
                              spids: [17516 17525]
                            )
                          ]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(sed)} {(-i)} 
                      {
                        (DQ 
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (Pipeline
                                    children: [
                                      (C {(cat)} {(-n)} {(/etc/network/interfaces)})
                                      (C {(grep)} {(SQ <'dns-nameservers '>)})
                                      (C {(sed)} {(-n)} {(1p)})
                                      (C {(awk)} {(SQ <'{print $1}'>)})
                                    ]
                                    negated: F
                                  )
                                ]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [17537 17567]
                          ) ('s/^#dns-nameservers/dns-nameservers/g')
                        )
                      } {(/etc/network/interfaces)}
                    )
                  ]
                  spids: [16777215 17528]
                )
              ]
              spids: [16777215 17575]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          ops: [Op_DAmp]
                          children: [
                            (DParen
                              child: 
                                (ArithUnary
                                  op_id: Arith_Bang
                                  child: (ArithWord w:{($ VSub_Name '$WIFI_DISABLED')})
                                )
                              spids: [17584 17591]
                            )
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_DEqual
                                  left: (ArithWord w:{($ VSub_Name '$WIFI_MODE')})
                                  right: (ArithWord w:{(Lit_Digits 0)})
                                )
                              spids: [17595 17604]
                            )
                          ]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(sed)} {(-i)} 
                      {
                        (DQ 
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (Pipeline
                                    children: [
                                      (C {(cat)} {(-n)} {(/etc/network/interfaces)})
                                      (C {(grep)} {(SQ <'dns-nameservers '>)})
                                      (C {(sed)} {(-n)} {(2p)})
                                      (C {(awk)} {(SQ <'{print $1}'>)})
                                    ]
                                    negated: F
                                  )
                                ]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [17616 17646]
                          ) ('s/^#dns-nameservers/dns-nameservers/g')
                        )
                      } {(/etc/network/interfaces)}
                    )
                  ]
                  spids: [16777215 17607]
                )
              ]
              spids: [16777215 17654]
            )
            (C {(sed)} {(-i)} 
              {
                (DQ 
                  (CommandSubPart
                    command_list: 
                      (CommandList
                        children: [
                          (Pipeline
                            children: [
                              (C {(cat)} {(-n)} {(/etc/network/interfaces)})
                              (C {(grep)} {(SQ <'address '>)})
                              (C {(sed)} {(-n)} {(1p)})
                              (C {(awk)} {(SQ <'{print $1}'>)})
                            ]
                            negated: F
                          )
                        ]
                      )
                    left_token: <Left_CommandSub '$('>
                    spids: [17671 17701]
                  ) ('s/address.*/address ') ($ VSub_Name '$ETH_IP_STATIC') (/)
                )
              } {(/etc/network/interfaces)}
            )
            (C {(sed)} {(-i)} 
              {
                (DQ 
                  (CommandSubPart
                    command_list: 
                      (CommandList
                        children: [
                          (Pipeline
                            children: [
                              (C {(cat)} {(-n)} {(/etc/network/interfaces)})
                              (C {(grep)} {(SQ <'gateway '>)})
                              (C {(sed)} {(-n)} {(1p)})
                              (C {(awk)} {(SQ <'{print $1}'>)})
                            ]
                            negated: F
                          )
                        ]
                      )
                    left_token: <Left_CommandSub '$('>
                    spids: [17715 17745]
                  ) ('s/gateway.*/gateway ') ($ VSub_Name '$ETH_GATEWAY_STATIC') (/)
                )
              } {(/etc/network/interfaces)}
            )
            (C {(sed)} {(-i)} 
              {
                (DQ 
                  (CommandSubPart
                    command_list: 
                      (CommandList
                        children: [
                          (Pipeline
                            children: [
                              (C {(cat)} {(-n)} {(/etc/network/interfaces)})
                              (C {(grep)} {(SQ <'netmask '>)})
                              (C {(sed)} {(-n)} {(1p)})
                              (C {(awk)} {(SQ <'{print $1}'>)})
                            ]
                            negated: F
                          )
                        ]
                      )
                    left_token: <Left_CommandSub '$('>
                    spids: [17759 17789]
                  ) ('s/netmask.*/netmask ') ($ VSub_Name '$ETH_MASK_STATIC') (/)
                )
              } {(/etc/network/interfaces)}
            )
            (C {(sed)} {(-i)} 
              {
                (DQ 
                  (CommandSubPart
                    command_list: 
                      (CommandList
                        children: [
                          (Pipeline
                            children: [
                              (C {(cat)} {(-n)} {(/etc/network/interfaces)})
                              (C {(grep)} {(SQ <'dns-nameservers '>)})
                              (C {(sed)} {(-n)} {(1p)})
                              (C {(awk)} {(SQ <'{print $1}'>)})
                            ]
                            negated: F
                          )
                        ]
                      )
                    left_token: <Left_CommandSub '$('>
                    spids: [17803 17833]
                  ) ('s/dns-nameservers.*/dns-nameservers ') ($ VSub_Name '$ETH_DNS_STATIC') (/)
                )
              } {(/etc/network/interfaces)}
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$WIFI_HOTSPOT')})
                              right: (ArithWord w:{(Lit_Digits 0)})
                            )
                          spids: [17848 17857]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(sed)} {(-i)} 
                      {
                        (DQ 
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (Pipeline
                                    children: [
                                      (C {(cat)} {(-n)} {(/etc/network/interfaces)})
                                      (C {(grep)} {(SQ <'address '>)})
                                      (C {(sed)} {(-n)} {(2p)})
                                      (C {(awk)} {(SQ <'{print $1}'>)})
                                    ]
                                    negated: F
                                  )
                                ]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [17869 17899]
                          ) ('s/address.*/address ') ($ VSub_Name '$WIFI_IP_STATIC') (/)
                        )
                      } {(/etc/network/interfaces)}
                    )
                    (C {(sed)} {(-i)} 
                      {
                        (DQ 
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (Pipeline
                                    children: [
                                      (C {(cat)} {(-n)} {(/etc/network/interfaces)})
                                      (C {(grep)} {(SQ <'gateway '>)})
                                      (C {(sed)} {(-n)} {(2p)})
                                      (C {(awk)} {(SQ <'{print $1}'>)})
                                    ]
                                    negated: F
                                  )
                                ]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [17913 17943]
                          ) ('s/gateway.*/gateway ') ($ VSub_Name '$WIFI_GATEWAY_STATIC') (/)
                        )
                      } {(/etc/network/interfaces)}
                    )
                    (C {(sed)} {(-i)} 
                      {
                        (DQ 
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (Pipeline
                                    children: [
                                      (C {(cat)} {(-n)} {(/etc/network/interfaces)})
                                      (C {(grep)} {(SQ <'netmask '>)})
                                      (C {(sed)} {(-n)} {(2p)})
                                      (C {(awk)} {(SQ <'{print $1}'>)})
                                    ]
                                    negated: F
                                  )
                                ]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [17957 17987]
                          ) ('s/netmask.*/netmask ') ($ VSub_Name '$WIFI_MASK_STATIC') (/)
                        )
                      } {(/etc/network/interfaces)}
                    )
                    (C {(sed)} {(-i)} 
                      {
                        (DQ 
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (Pipeline
                                    children: [
                                      (C {(cat)} {(-n)} {(/etc/network/interfaces)})
                                      (C {(grep)} {(SQ <'dns-nameservers '>)})
                                      (C {(sed)} {(-n)} {(2p)})
                                      (C {(awk)} {(SQ <'{print $1}'>)})
                                    ]
                                    negated: F
                                  )
                                ]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [18001 18031]
                          ) ('s/dns-nameservers.*/dns-nameservers ') ($ VSub_Name '$WIFI_DNS_STATIC') (/)
                        )
                      } {(/etc/network/interfaces)}
                    )
                  ]
                  spids: [16777215 17860]
                )
              ]
              spids: [16777215 18041]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$WIFI_HOTSPOT')})
                              right: (ArithWord w:{(Lit_Digits 0)})
                            )
                          spids: [18051 18060]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(sed)} {(-i)} 
                      {
                        (DQ ('/^AUTO_SETUP_NET_WIFI_SSID=/c') (Lit_Other '\\') 
                          ('AUTO_SETUP_NET_WIFI_SSID=') ($ VSub_Name '$WIFI_SSID')
                        )
                      } {(/DietPi/dietpi.txt)}
                    )
                    (C {(sed)} {(-i)} 
                      {
                        (DQ ('/^AUTO_SETUP_NET_WIFI_KEY=/c') (Lit_Other '\\') 
                          ('AUTO_SETUP_NET_WIFI_KEY=') ($ VSub_Name '$WIFI_KEY')
                        )
                      } {(/DietPi/dietpi.txt)}
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$WIFI_KEY'))} 
                                  {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(sed)} {(-i)} 
                              {
                                (SQ 
                                  <
'/AUTO_SETUP_NET_WIFI_KEYMGR=/c\\AUTO_SETUP_NET_WIFI_KEYMGR=NONE'
                                  >
                                )
                              } {(/DietPi/dietpi.txt)}
                            )
                          ]
                          spids: [16777215 18117]
                        )
                      ]
                      else_action: [
                        (C {(sed)} {(-i)} 
                          {
                            (SQ 
                              <
'/AUTO_SETUP_NET_WIFI_KEYMGR=/c\\AUTO_SETUP_NET_WIFI_KEYMGR=WPA-PSK'
                              >
                            )
                          } {(/DietPi/dietpi.txt)}
                        )
                      ]
                      spids: [18146 18162]
                    )
                    (C {(/DietPi/dietpi/func/dietpi-set_hardware)} {(wificreds)} {(set)})
                  ]
                  spids: [16777215 18063]
                )
              ]
              spids: [16777215 18178]
            )
            (C {(Network_Restart)})
          ]
          spids: [17174]
        )
      spids: [17171 17174]
    )
    (FuncDef
      name: Change_StaticIp
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Number '$1')})
                              right: (ArithWord w:{(Lit_Digits 0)})
                            )
                          spids: [18207 18216]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:OPTION)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (SimpleCommand
                                        words: [
                                          {(whiptail)}
                                          {(--inputbox)}
                                          {(DQ ('Enter Your New Ip Address'))}
                                          {(8)}
                                          {(60)}
                                          {(DQ ($ VSub_Name '$ETH_IP_STATIC'))}
                                          {(--title)}
                                          {(DQ ('Set Static Ip Address'))}
                                        ]
                                        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: [18223 18254]
                              )
                            }
                          spids: [18222]
                        )
                      ]
                      spids: [18222]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:CHOICE)
                          op: Equal
                          rhs: {($ VSub_QMark '$?')}
                          spids: [18257]
                        )
                      ]
                      spids: [18257]
                    )
                    (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: [18263 18272]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:ETH_IP_STATIC)
                                  op: Equal
                                  rhs: {($ VSub_Name '$OPTION')}
                                  spids: [18278]
                                )
                              ]
                              spids: [18278]
                            )
                          ]
                          spids: [16777215 18275]
                        )
                      ]
                      spids: [16777215 18282]
                    )
                  ]
                  spids: [16777215 18219]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Number '$1')})
                              right: (ArithWord w:{(Lit_Digits 1)})
                            )
                          spids: [18291 18300]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:OPTION)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (SimpleCommand
                                        words: [
                                          {(whiptail)}
                                          {(--inputbox)}
                                          {(DQ ('Enter Your New Ip Address'))}
                                          {(8)}
                                          {(60)}
                                          {(DQ ($ VSub_Name '$WIFI_IP_STATIC'))}
                                          {(--title)}
                                          {(DQ ('Set Static Ip Address'))}
                                        ]
                                        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: [18307 18338]
                              )
                            }
                          spids: [18306]
                        )
                      ]
                      spids: [18306]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:CHOICE)
                          op: Equal
                          rhs: {($ VSub_QMark '$?')}
                          spids: [18341]
                        )
                      ]
                      spids: [18341]
                    )
                    (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: [18347 18356]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:WIFI_IP_STATIC)
                                  op: Equal
                                  rhs: {($ VSub_Name '$OPTION')}
                                  spids: [18362]
                                )
                              ]
                              spids: [18362]
                            )
                          ]
                          spids: [16777215 18359]
                        )
                      ]
                      spids: [16777215 18366]
                    )
                  ]
                  spids: [18289 18303]
                )
              ]
              spids: [16777215 18369]
            )
          ]
          spids: [18197]
        )
      spids: [18194 18197]
    )
    (FuncDef
      name: Change_StaticGateway
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Number '$1')})
                              right: (ArithWord w:{(Lit_Digits 0)})
                            )
                          spids: [18388 18397]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:OPTION)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (SimpleCommand
                                        words: [
                                          {(whiptail)}
                                          {(--inputbox)}
                                          {(DQ ('Enter Your New Gateway Address'))}
                                          {(8)}
                                          {(60)}
                                          {(DQ ($ VSub_Name '$ETH_GATEWAY_STATIC'))}
                                          {(--title)}
                                          {(DQ ('Set Static Gateway Address'))}
                                        ]
                                        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: [18404 18435]
                              )
                            }
                          spids: [18403]
                        )
                      ]
                      spids: [18403]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:CHOICE)
                          op: Equal
                          rhs: {($ VSub_QMark '$?')}
                          spids: [18438]
                        )
                      ]
                      spids: [18438]
                    )
                    (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: [18444 18453]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:ETH_GATEWAY_STATIC)
                                  op: Equal
                                  rhs: {($ VSub_Name '$OPTION')}
                                  spids: [18459]
                                )
                              ]
                              spids: [18459]
                            )
                          ]
                          spids: [16777215 18456]
                        )
                      ]
                      spids: [16777215 18463]
                    )
                  ]
                  spids: [16777215 18400]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Number '$1')})
                              right: (ArithWord w:{(Lit_Digits 1)})
                            )
                          spids: [18472 18481]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:OPTION)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (SimpleCommand
                                        words: [
                                          {(whiptail)}
                                          {(--inputbox)}
                                          {(DQ ('Enter Your New Gateway Address'))}
                                          {(8)}
                                          {(60)}
                                          {(DQ ($ VSub_Name '$WIFI_GATEWAY_STATIC'))}
                                          {(--title)}
                                          {(DQ ('Set Static Gateway Address'))}
                                        ]
                                        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: [18488 18519]
                              )
                            }
                          spids: [18487]
                        )
                      ]
                      spids: [18487]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:CHOICE)
                          op: Equal
                          rhs: {($ VSub_QMark '$?')}
                          spids: [18522]
                        )
                      ]
                      spids: [18522]
                    )
                    (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: [18528 18537]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:WIFI_GATEWAY_STATIC)
                                  op: Equal
                                  rhs: {($ VSub_Name '$OPTION')}
                                  spids: [18543]
                                )
                              ]
                              spids: [18543]
                            )
                          ]
                          spids: [16777215 18540]
                        )
                      ]
                      spids: [16777215 18547]
                    )
                  ]
                  spids: [18470 18484]
                )
              ]
              spids: [16777215 18550]
            )
          ]
          spids: [18379]
        )
      spids: [18376 18379]
    )
    (FuncDef
      name: Change_StaticMask
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Number '$1')})
                              right: (ArithWord w:{(Lit_Digits 0)})
                            )
                          spids: [18569 18578]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:OPTION)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (SimpleCommand
                                        words: [
                                          {(whiptail)}
                                          {(--inputbox)}
                                          {(DQ ('Enter Your New Mask Address'))}
                                          {(8)}
                                          {(60)}
                                          {(DQ ($ VSub_Name '$ETH_MASK_STATIC'))}
                                          {(--title)}
                                          {(DQ ('Set Static Mask Address'))}
                                        ]
                                        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: [18585 18616]
                              )
                            }
                          spids: [18584]
                        )
                      ]
                      spids: [18584]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:CHOICE)
                          op: Equal
                          rhs: {($ VSub_QMark '$?')}
                          spids: [18619]
                        )
                      ]
                      spids: [18619]
                    )
                    (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: [18625 18634]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:ETH_MASK_STATIC)
                                  op: Equal
                                  rhs: {($ VSub_Name '$OPTION')}
                                  spids: [18640]
                                )
                              ]
                              spids: [18640]
                            )
                          ]
                          spids: [16777215 18637]
                        )
                      ]
                      spids: [16777215 18644]
                    )
                  ]
                  spids: [16777215 18581]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Number '$1')})
                              right: (ArithWord w:{(Lit_Digits 1)})
                            )
                          spids: [18653 18662]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:OPTION)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (SimpleCommand
                                        words: [
                                          {(whiptail)}
                                          {(--inputbox)}
                                          {(DQ ('Enter Your New Mask Address'))}
                                          {(8)}
                                          {(60)}
                                          {(DQ ($ VSub_Name '$WIFI_MASK_STATIC'))}
                                          {(--title)}
                                          {(DQ ('Set Static Mask Address'))}
                                        ]
                                        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: [18669 18700]
                              )
                            }
                          spids: [18668]
                        )
                      ]
                      spids: [18668]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:CHOICE)
                          op: Equal
                          rhs: {($ VSub_QMark '$?')}
                          spids: [18703]
                        )
                      ]
                      spids: [18703]
                    )
                    (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: [18709 18718]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:WIFI_MASK_STATIC)
                                  op: Equal
                                  rhs: {($ VSub_Name '$OPTION')}
                                  spids: [18724]
                                )
                              ]
                              spids: [18724]
                            )
                          ]
                          spids: [16777215 18721]
                        )
                      ]
                      spids: [16777215 18728]
                    )
                  ]
                  spids: [18651 18665]
                )
              ]
              spids: [16777215 18731]
            )
          ]
          spids: [18560]
        )
      spids: [18557 18560]
    )
    (FuncDef
      name: Change_StaticDns
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:current_value) op:Equal rhs:{(0)} spids:[18756])]
              spids: [18754]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Number '$1')})
                              right: (ArithWord w:{(Lit_Digits 0)})
                            )
                          spids: [18767 18776]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:current_value)
                          op: Equal
                          rhs: {($ VSub_Name '$ETH_DNS_STATIC')}
                          spids: [18782]
                        )
                      ]
                      spids: [18782]
                    )
                  ]
                  spids: [16777215 18779]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Number '$1')})
                              right: (ArithWord w:{(Lit_Digits 1)})
                            )
                          spids: [18792 18801]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:current_value)
                          op: Equal
                          rhs: {($ VSub_Name '$WIFI_DNS_STATIC')}
                          spids: [18807]
                        )
                      ]
                      spids: [18807]
                    )
                  ]
                  spids: [18790 18804]
                )
              ]
              spids: [16777215 18811]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:return_value)
                  op: Equal
                  rhs: {($ VSub_Name '$current_value')}
                  spids: [18817]
                )
              ]
              spids: [18815]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:whiptail_menu_array)
                  op: Equal
                  rhs: 
                    {
                      (ArrayLiteralPart
                        words: [
                          {(DQ (Custom))}
                          {(DQ ('Manually enter your DNS server'))}
                          {(DQ ('8.8.8.8 8.8.4.4'))}
                          {(DQ (': Google'))}
                          {(DQ ('208.67.222.222 208.67.220.220'))}
                          {(DQ (': OpenDNS'))}
                          {(DQ ('209.244.0.3 209.244.0.4'))}
                          {(DQ (': Level3'))}
                          {(DQ ('216.146.35.35 216.146.36.36'))}
                          {(DQ (': Dyn'))}
                          {(DQ ('37.235.1.174 37.235.1.177'))}
                          {(DQ (': FreeDNS'))}
                          {(DQ ('64.6.64.6 64.6.65.6'))}
                          {(DQ (': Verisign'))}
                          {(DQ ('84.200.69.80 84.200.70.40'))}
                          {(DQ (': DNS Watch'))}
                        ]
                      )
                    }
                  spids: [18828]
                )
              ]
              spids: [18826]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:OPTION)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (SimpleCommand
                                words: [
                                  {(whiptail)}
                                  {(--title)}
                                  {(DQ ('Choose DNS server'))}
                                  {(--menu)}
                                  {
                                    (DQ 
                                      (
'Please select a DNS server, or choose custom for manual entry.'
                                      )
                                    )
                                  }
                                  {(--default-item)}
                                  {(DQ ($ VSub_Name '$current_value'))}
                                  {(--cancel-button)}
                                  {(DQ ($ VSub_Name '$TEXT_MENU_BACK'))}
                                  {(--backtitle)}
                                  {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))}
                                  {(16)}
                                  {(70)}
                                  {(8)}
                                  {
                                    (DQ 
                                      (BracedVarSub
                                        token: <VSub_Name whiptail_menu_array>
                                        bracket_op: (WholeArray op_id:Lit_At)
                                        spids: [18949 18954]
                                      )
                                    )
                                  }
                                ]
                                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: [18909 18965]
                      )
                    }
                  spids: [18908]
                )
              ]
              spids: [18908]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:CHOICE)
                  op: Equal
                  rhs: {($ VSub_QMark '$?')}
                  spids: [18968]
                )
              ]
              spids: [18968]
            )
            (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: [18974 18983]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Case
                      to_match: {($ VSub_Name '$OPTION')}
                      arms: [
                        (case_arm
                          pat_list: [{(Custom)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:OPTION)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (SimpleCommand
                                                words: [
                                                  {(whiptail)}
                                                  {(--inputbox)}
                                                  {
                                                    (DQ ('Enter Your DNS Server Address') 
                                                      (Lit_Other '\\') ('n - 2 maximum, seperated by a space.') (Lit_Other '\\') ('n - eg: 8.8.8.8 8.8.4.4')
                                                    )
                                                  }
                                                  {(10)}
                                                  {(60)}
                                                  {(DQ ($ VSub_Name '$current_value'))}
                                                  {(--title)}
                                                  {(DQ ('Set Static DNS Address'))}
                                                ]
                                                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: [19001 19036]
                                      )
                                    }
                                  spids: [19000]
                                )
                              ]
                              spids: [19000]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:CHOICE)
                                  op: Equal
                                  rhs: {($ VSub_QMark '$?')}
                                  spids: [19039]
                                )
                              ]
                              spids: [19039]
                            )
                            (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: [19045 19054]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:return_value)
                                          op: Equal
                                          rhs: {($ VSub_Name '$OPTION')}
                                          spids: [19060]
                                        )
                                      ]
                                      spids: [19060]
                                    )
                                  ]
                                  spids: [16777215 19057]
                                )
                              ]
                              spids: [16777215 19064]
                            )
                          ]
                          spids: [18996 18997 19067 16777215]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:return_value)
                                  op: Equal
                                  rhs: {($ VSub_Name '$OPTION')}
                                  spids: [19074]
                                )
                              ]
                              spids: [19074]
                            )
                          ]
                          spids: [19070 19071 19078 16777215]
                        )
                      ]
                      spids: [18989 18993 19081]
                    )
                  ]
                  spids: [16777215 18986]
                )
              ]
              spids: [16777215 19084]
            )
            (C {(unset)} {(whiptail_menu_array)})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Number '$1')})
                              right: (ArithWord w:{(Lit_Digits 0)})
                            )
                          spids: [19108 19117]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:ETH_DNS_STATIC)
                          op: Equal
                          rhs: {($ VSub_Name '$return_value')}
                          spids: [19123]
                        )
                      ]
                      spids: [19123]
                    )
                  ]
                  spids: [16777215 19120]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Number '$1')})
                              right: (ArithWord w:{(Lit_Digits 1)})
                            )
                          spids: [19133 19142]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:WIFI_DNS_STATIC)
                          op: Equal
                          rhs: {($ VSub_Name '$return_value')}
                          spids: [19148]
                        )
                      ]
                      spids: [19148]
                    )
                  ]
                  spids: [19131 19145]
                )
              ]
              spids: [16777215 19152]
            )
          ]
          spids: [18741]
        )
      spids: [18738 18741]
    )
    (FuncDef
      name: Change_WifiSsid
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:OPTION)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (SimpleCommand
                                words: [
                                  {(whiptail)}
                                  {(--inputbox)}
                                  {(DQ ('Enter the SSID name to connect to.'))}
                                  {(8)}
                                  {(60)}
                                  {(DQ ($ VSub_Name '$WIFI_SSID'))}
                                  {(--title)}
                                  {(DQ ('Set Your SSID'))}
                                ]
                                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: [19167 19198]
                      )
                    }
                  spids: [19166]
                )
              ]
              spids: [19166]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:CHOICE)
                  op: Equal
                  rhs: {($ VSub_QMark '$?')}
                  spids: [19201]
                )
              ]
              spids: [19201]
            )
            (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: [19207 19216]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:WIFI_SSID)
                          op: Equal
                          rhs: {($ VSub_Name '$OPTION')}
                          spids: [19222]
                        )
                      ]
                      spids: [19222]
                    )
                  ]
                  spids: [16777215 19219]
                )
              ]
              spids: [16777215 19226]
            )
          ]
          spids: [19163]
        )
      spids: [19160 19163]
    )
    (FuncDef
      name: Change_WifiKey
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:OPTION)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (SimpleCommand
                                words: [
                                  {(whiptail)}
                                  {(--inputbox)}
                                  {(DQ ('Enter the Access Key (WPA/WEP).'))}
                                  {(8)}
                                  {(60)}
                                  {(DQ ($ VSub_Name '$WIFI_KEY'))}
                                  {(--title)}
                                  {(DQ ('Set Your Access Key'))}
                                ]
                                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: [19240 19271]
                      )
                    }
                  spids: [19239]
                )
              ]
              spids: [19239]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:CHOICE)
                  op: Equal
                  rhs: {($ VSub_QMark '$?')}
                  spids: [19274]
                )
              ]
              spids: [19274]
            )
            (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: [19280 19289]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:WIFI_KEY)
                          op: Equal
                          rhs: {($ VSub_Name '$OPTION')}
                          spids: [19295]
                        )
                      ]
                      spids: [19295]
                    )
                  ]
                  spids: [16777215 19292]
                )
              ]
              spids: [16777215 19299]
            )
          ]
          spids: [19236]
        )
      spids: [19233 19236]
    )
    (FuncDef
      name: Change_WifiCountryCode
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:wifi_country_code_target)
                  op: Equal
                  rhs: {($ VSub_Name '$WIFI_COUNTRYCODE')}
                  spids: [19315]
                )
              ]
              spids: [19313]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:whiptail_menu_array)
                  op: Equal
                  rhs: {(ArrayLiteralPart)}
                  spids: [19322]
                )
              ]
              spids: [19320]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:whiptail_menu_array)
                  op: PlusEqual
                  rhs: {(ArrayLiteralPart words:[{(DQ (GB))} {(DQ ('Europe / Great Britain'))}])}
                  spids: [19327]
                )
              ]
              spids: [19327]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:whiptail_menu_array)
                  op: PlusEqual
                  rhs: {(ArrayLiteralPart words:[{(DQ (US))} {(DQ ('United States'))}])}
                  spids: [19339]
                )
              ]
              spids: [19339]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:whiptail_menu_array)
                  op: PlusEqual
                  rhs: {(ArrayLiteralPart words:[{(DQ (JP))} {(DQ (Japan))}])}
                  spids: [19351]
                )
              ]
              spids: [19351]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:whiptail_menu_array)
                  op: PlusEqual
                  rhs: {(ArrayLiteralPart words:[{(DQ (CN))} {(DQ (China))}])}
                  spids: [19363]
                )
              ]
              spids: [19363]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:whiptail_menu_array)
                  op: PlusEqual
                  rhs: 
                    {
                      (ArrayLiteralPart
                        words: [{(DQ (Manual))} {(DQ ('Enter a custom country code'))}]
                      )
                    }
                  spids: [19375]
                )
              ]
              spids: [19375]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:description_text)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (
'Choose a country, to enable WiFi channels and power ratings allowed in your country.'
                        )
                      )
                    }
                  spids: [19390]
                )
              ]
              spids: [19388]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:WHIP_TITLE)
                  op: Equal
                  rhs: {(SQ <'Change WiFi country code'>)}
                  spids: [19397]
                )
              ]
              spids: [19397]
            )
            (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 '$description_text'))}
                                  {(--cancel-button)}
                                  {(DQ ($ VSub_Name '$TEXT_MENU_BACK'))}
                                  {(--backtitle)}
                                  {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))}
                                  {(--default-item)}
                                  {(DQ ($ VSub_Name '$WIFI_COUNTRYCODE'))}
                                  {(15)}
                                  {(60)}
                                  {(5)}
                                  {
                                    (DQ 
                                      (BracedVarSub
                                        token: <VSub_Name whiptail_menu_array>
                                        bracket_op: (WholeArray op_id:Lit_At)
                                        spids: [19445 19450]
                                      )
                                    )
                                  }
                                ]
                                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: [19405 19461]
                      )
                    }
                  spids: [19404]
                )
              ]
              spids: [19404]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:CHOICE)
                  op: Equal
                  rhs: {($ VSub_QMark '$?')}
                  spids: [19464]
                )
              ]
              spids: [19464]
            )
            (C {(unset)} {(whiptail_menu_array)})
            (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: [19481 19490]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Case
                      to_match: {(DQ ($ VSub_Name '$OPTION'))}
                      arms: [
                        (case_arm
                          pat_list: [{(Manual)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:OPTION)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (SimpleCommand
                                                words: [
                                                  {(whiptail)}
                                                  {(--inputbox)}
                                                  {
                                                    (DQ 
                                                      (
'Please enter a 2 character country code: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2'
                                                      )
                                                    )
                                                  }
                                                  {(8)}
                                                  {(60)}
                                                  {(DQ ($ VSub_Name '$WIFI_COUNTRYCODE'))}
                                                  {(--title)}
                                                  {(DQ ('WiFi Country Code'))}
                                                ]
                                                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: [19511 19542]
                                      )
                                    }
                                  spids: [19510]
                                )
                              ]
                              spids: [19510]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:CHOICE)
                                  op: Equal
                                  rhs: {($ VSub_QMark '$?')}
                                  spids: [19545]
                                )
                              ]
                              spids: [19545]
                            )
                            (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: [19551 19560]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:wifi_country_code_target)
                                          op: Equal
                                          rhs: {($ VSub_Name '$OPTION')}
                                          spids: [19566]
                                        )
                                      ]
                                      spids: [19566]
                                    )
                                  ]
                                  spids: [16777215 19563]
                                )
                              ]
                              spids: [16777215 19570]
                            )
                          ]
                          spids: [19506 19507 19573 16777215]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:wifi_country_code_target)
                                  op: Equal
                                  rhs: {($ VSub_Name '$OPTION')}
                                  spids: [19580]
                                )
                              ]
                              spids: [19580]
                            )
                          ]
                          spids: [19576 19577 19584 16777215]
                        )
                      ]
                      spids: [19497 19503 19587]
                    )
                    (C {(/DietPi/dietpi/func/dietpi-set_hardware)} {(wificountrycode)} 
                      {(DQ ($ VSub_Name '$wifi_country_code_target'))}
                    )
                    (C {(Network_Restart)})
                    (C {(iw)} {(reg)} {(set)} {($ VSub_Name '$wifi_country_code_target')})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:WIFI_COUNTRYCODE)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(iw)} {(reg)} {(get)})
                                          (C {(grep)} {(-m1)} {(SQ <country>)})
                                          (C {(awk)} {(SQ <'{print $2}'>)})
                                          (C {(tr)} {(-d)} {(SQ <':'>)})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [19636 19670]
                              )
                            }
                          spids: [19635]
                        )
                      ]
                      spids: [19635]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$WIFI_COUNTRYCODE'))} 
                                  {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$wifi_country_code_target'))} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(whiptail)} {(--title)} {(DQ ('Error: Country Code'))} {(--msgbox)} 
                              {
                                (DQ ('Country code (') ($ VSub_Name '$wifi_country_code_target') 
                                  (
') could not been applied. Please check the country code and try again.'
                                  )
                                )
                              } {(--backtitle)} {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))} {(8)} {(55)}
                            )
                          ]
                          spids: [16777215 19691]
                        )
                      ]
                      spids: [16777215 19723]
                    )
                  ]
                  spids: [16777215 19493]
                )
              ]
              spids: [16777215 19727]
            )
          ]
          spids: [19309]
        )
      spids: [19306 19309]
    )
    (FuncDef
      name: Scan_Wifi
      body: 
        (BraceGroup
          children: [
            (C {(ifup)} {(wlan) ($ VSub_Name '$WIFI_INDEX')})
            (C {(clear)})
            (C {(echo)} {(-e)} {(DQ ('Scanning SSIDS, please wait....'))})
            (C {(echo)} {(-e)} {(DQ (-------------------------------))})
            (Pipeline
              children: [
                (C {(iwlist)} {(wlan) ($ VSub_Name '$WIFI_INDEX')} {(scan)})
                (C {(grep)} {(ESSID) (Lit_Other ':')})
                (SimpleCommand
                  words: [{(sed)} {(SQ <'s/[ \\t]*ESSID:"\\(.*\\)"/\\1/'>)}]
                  redirects: [
                    (Redir
                      op: <Redir_Great '>'>
                      fd: 16777215
                      arg_word: {(/tmp/dietpi-config_temp)}
                    )
                  ]
                )
              ]
              negated: F
            )
            (SimpleCommand
              words: [{(readarray)} {(wifi_ssid_array)}]
              redirects: [(Redir op:<Redir_Less '<'> fd:16777215 arg_word:{(/tmp/dietpi-config_temp)})]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:wifi_ssid_list)
                  op: Equal
                  rhs: {(ArrayLiteralPart)}
                  spids: [19825]
                )
              ]
              spids: [19823]
            )
            (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 wifi_ssid_array>
                            prefix_op: VSub_Pound
                            bracket_op: (WholeArray op_id:Lit_At)
                            spids: [19840 19846]
                          )
                        }
                    )
                )
              update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i))
              body: 
                (DoGroup
                  children: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:wifi_ssid_list)
                          op: PlusEqual
                          rhs: 
                            {
                              (ArrayLiteralPart
                                words: [
                                  {(DQ ($ VSub_Name '$i'))}
                                  {
                                    (DQ 
                                      (BracedVarSub
                                        token: <VSub_Name wifi_ssid_array>
                                        bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$i')}))
                                        spids: [19865 19870]
                                      )
                                    )
                                  }
                                ]
                              )
                            }
                          spids: [19858]
                        )
                      ]
                      spids: [19858]
                    )
                  ]
                  spids: [19855 19875]
                )
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:WHIP_TITLE)
                  op: Equal
                  rhs: {(SQ <'DietPi-Config - Wifi SSID Scan'>)}
                  spids: [19879]
                )
              ]
              spids: [19879]
            )
            (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 ('Please select a Wifi SSID'))}
                                  {(--cancel-button)}
                                  {(DQ ($ VSub_Name '$TEXT_MENU_BACK'))}
                                  {(--backtitle)}
                                  {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))}
                                  {(14)}
                                  {(60)}
                                  {(6)}
                                  {
                                    (DQ 
                                      (BracedVarSub
                                        token: <VSub_Name wifi_ssid_list>
                                        bracket_op: (WholeArray op_id:Lit_At)
                                        spids: [19920 19925]
                                      )
                                    )
                                  }
                                ]
                                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: [19886 19936]
                      )
                    }
                  spids: [19885]
                )
              ]
              spids: [19885]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:CHOICE)
                  op: Equal
                  rhs: {($ VSub_QMark '$?')}
                  spids: [19940]
                )
              ]
              spids: [19940]
            )
            (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: [19946 19955]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:WIFI_SSID)
                          op: Equal
                          rhs: 
                            {
                              (BracedVarSub
                                token: <VSub_Name wifi_ssid_array>
                                bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$OPTION')}))
                                spids: [19962 19967]
                              )
                            }
                          spids: [19961]
                        )
                      ]
                      spids: [19961]
                    )
                    (C {(Change_WifiKey)})
                    (C {(Wifi_Reconnect)})
                  ]
                  spids: [16777215 19958]
                )
              ]
              spids: [16777215 19976]
            )
            (SimpleCommand
              words: [{(rm)} {(/tmp/dietpi-config_temp)}]
              redirects: [(Redir op:<Redir_AndGreat '&>'> fd:16777215 arg_word:{(/dev/null)})]
            )
            (C {(unset)} {(wifi_ssid_array)})
            (C {(unset)} {(wifi_ssid_list)})
          ]
          spids: [19738]
        )
      spids: [19735 19738]
    )
    (FuncDef
      name: Wifi_Reconnect
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:WHIP_QUESTION)
                  op: Equal
                  rhs: 
                    {
                      (DQ ('SSID: ') ($ VSub_Name '$WIFI_SSID') (' ') (Lit_Other '\\') ('nKEY: ') 
                        ($ VSub_Name '$WIFI_KEY') (' ') (Lit_Other '\\') (n) (Lit_Other '\\') ('nConnect now? ') (Lit_Other '\\') (n) (Lit_Other '\\') 
                        ('n(NOTICE) All WiFi connections will be dropped!')
                      )
                    }
                  spids: [20019]
                )
              ]
              spids: [20019]
            )
            (C {(whiptail)} {(--title)} {(DQ ($ VSub_Name '$WHIP_TITLE'))} {(--yesno)} 
              {(DQ ($ VSub_Name '$WHIP_QUESTION'))} {(--yes-button)} {(DQ (Ok))} {(--no-button)} {(DQ (Back))} {(--defaultno)} {(--backtitle)} 
              {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))} {(14)} {(60)}
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:CHOICE)
                  op: Equal
                  rhs: {($ VSub_QMark '$?')}
                  spids: [20078]
                )
              ]
              spids: [20078]
            )
            (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: [20084 20093]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(clear)})
                    (C {(echo)} {(-e)} 
                      {(DQ ('Connecting to ') ($ VSub_Name '$WIFI_SSID') (' , please wait'))}
                    )
                    (C {(Network_ApplyChanges)})
                  ]
                  spids: [16777215 20096]
                )
              ]
              spids: [16777215 20120]
            )
          ]
          spids: [20016]
        )
      spids: [20013 20016]
    )
    (FuncDef
      name: Ethernet_Reconnect
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:WHIP_QUESTION)
                  op: Equal
                  rhs: 
                    {
                      (DQ ('Do you wish to apply settings and reconnect network now? ') 
                        (Lit_Other '\\') (n) (Lit_Other '\\') ('n(NOTICE) All Ethernet connections will be dropped!')
                      )
                    }
                  spids: [20133]
                )
              ]
              spids: [20133]
            )
            (C {(whiptail)} {(--title)} {(DQ ($ VSub_Name '$WHIP_TITLE'))} {(--yesno)} 
              {(DQ ($ VSub_Name '$WHIP_QUESTION'))} {(--yes-button)} {(DQ (Ok))} {(--no-button)} {(DQ (Back))} {(--defaultno)} {(--backtitle)} 
              {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))} {(12)} {(60)}
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:CHOICE)
                  op: Equal
                  rhs: {($ VSub_QMark '$?')}
                  spids: [20182]
                )
              ]
              spids: [20182]
            )
            (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: [20188 20197]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(clear)})
                    (C {(echo)} {(-e)} {(DQ ('Reconnecting Ethernet , please wait'))})
                    (C {(Network_ApplyChanges)})
                  ]
                  spids: [16777215 20200]
                )
              ]
              spids: [16777215 20222]
            )
          ]
          spids: [20130]
        )
      spids: [20127 20130]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:INTERNET_ONLINE) op:Equal rhs:{(0)} spids:[20230])]
      spids: [20230]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:INTERNET_URL)
          op: Equal
          rhs: {(SQ <'http://mirrordirector.raspbian.org'>)}
          spids: [20237]
        )
      ]
      spids: [20237]
    )
    (FuncDef
      name: Network_CheckInternetConnection
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:INTERNET_ONLINE)
                  op: Equal
                  rhs: {(0)}
                  spids: [20251]
                )
              ]
              spids: [20251]
            )
            (C {(wget)} {(--spider)} {(--timeout) (Lit_Other '=') (10)} {(--tries) (Lit_Other '=') (2)} 
              {(DQ ($ VSub_Name '$INTERNET_URL'))}
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_QMark '$?')})
                              right: (ArithWord w:{(Lit_Digits 0)})
                            )
                          spids: [20282 20291]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:INTERNET_ONLINE)
                          op: Equal
                          rhs: {(2)}
                          spids: [20297]
                        )
                      ]
                      spids: [20297]
                    )
                  ]
                  spids: [16777215 20294]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:INTERNET_ONLINE)
                      op: Equal
                      rhs: {(1)}
                      spids: [20307]
                    )
                  ]
                  spids: [20307]
                )
              ]
              spids: [20304 20314]
            )
          ]
          spids: [20247]
        )
      spids: [20244 20247]
    )
    (FuncDef
      name: Network_GetData
      body: 
        (BraceGroup
          children: [
            (C {(/DietPi/dietpi/func/obtain_network_details)})
            (C {(cp)} {(/etc/network/interfaces)} {(/tmp/net_interfaces)})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:ETH_IP_STATIC)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(cat)} {(-n)} {(/tmp/net_interfaces)})
                                  (C {(grep)} {(SQ <'address '>)})
                                  (C {(sed)} {(-n)} {(1p)})
                                  (C {(awk)} {(SQ <'{print $3}'>)})
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [20353 20383]
                      )
                    }
                  spids: [20352]
                )
              ]
              spids: [20352]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:ETH_GATEWAY_STATIC)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(cat)} {(-n)} {(/tmp/net_interfaces)})
                                  (C {(grep)} {(SQ <'gateway '>)})
                                  (C {(sed)} {(-n)} {(1p)})
                                  (C {(awk)} {(SQ <'{print $3}'>)})
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [20387 20417]
                      )
                    }
                  spids: [20386]
                )
              ]
              spids: [20386]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:ETH_MASK_STATIC)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(cat)} {(-n)} {(/tmp/net_interfaces)})
                                  (C {(grep)} {(SQ <'netmask '>)})
                                  (C {(sed)} {(-n)} {(1p)})
                                  (C {(awk)} {(SQ <'{print $3}'>)})
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [20421 20451]
                      )
                    }
                  spids: [20420]
                )
              ]
              spids: [20420]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:ETH_DNS_STATIC)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(cat)} {(-n)} {(/tmp/net_interfaces)})
                                  (C {(grep)} {(SQ <'dns-nameservers '>)})
                                  (C {(sed)} {(-n)} {(1p)})
                                  (C {(awk)} {(SQ <'{print $3,$4}'>)})
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [20455 20485]
                      )
                    }
                  spids: [20454]
                )
              ]
              spids: [20454]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:ETH_INDEX)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(sed)} {(-n)} {(1p)} {(/DietPi/dietpi/.network)})]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [20490 20498]
                      )
                    }
                  spids: [20489]
                )
              ]
              spids: [20489]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:ETH_DISABLED)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(cat)} {(/tmp/net_interfaces)})
                                  (C {(grep)} {(-ci)} {(-m1)} 
                                    {(DQ ('#allow-hotplug eth') ($ VSub_Name '$ETH_INDEX'))}
                                  )
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [20502 20519]
                      )
                    }
                  spids: [20501]
                )
              ]
              spids: [20501]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:ETH_HARDWARE) op:Equal rhs:{(0)} spids:[20522])]
              spids: [20522]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:ETH_CONNECTED) op:Equal rhs:{(0)} spids:[20526])]
              spids: [20526]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:ETH_IP)
                  op: Equal
                  rhs: {(SQ <0.0.0.0>)}
                  spids: [20530]
                )
              ]
              spids: [20530]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:ETH_GATEWAY)
                  op: Equal
                  rhs: {(SQ <0.0.0.0>)}
                  spids: [20536]
                )
              ]
              spids: [20536]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:ETH_MASK)
                  op: Equal
                  rhs: {(SQ <0.0.0.0>)}
                  spids: [20542]
                )
              ]
              spids: [20542]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:ETH_DNS)
                  op: Equal
                  rhs: {(SQ <0.0.0.0>)}
                  spids: [20548]
                )
              ]
              spids: [20548]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:ETH_MODE) op:Equal rhs:{(1)} spids:[20554])]
              spids: [20554]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:ETH_MODE_TARGET)
                  op: Equal
                  rhs: {($ VSub_Name '$ETH_MODE')}
                  spids: [20558]
                )
              ]
              spids: [20558]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:WIFI_IP_STATIC)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(cat)} {(-n)} {(/tmp/net_interfaces)})
                                  (C {(grep)} {(SQ <'address '>)})
                                  (C {(sed)} {(-n)} {(2p)})
                                  (C {(awk)} {(SQ <'{print $3}'>)})
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [20564 20594]
                      )
                    }
                  spids: [20563]
                )
              ]
              spids: [20563]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:WIFI_GATEWAY_STATIC)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(cat)} {(-n)} {(/tmp/net_interfaces)})
                                  (C {(grep)} {(SQ <'gateway '>)})
                                  (C {(sed)} {(-n)} {(2p)})
                                  (C {(awk)} {(SQ <'{print $3}'>)})
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [20598 20628]
                      )
                    }
                  spids: [20597]
                )
              ]
              spids: [20597]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:WIFI_MASK_STATIC)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(cat)} {(-n)} {(/tmp/net_interfaces)})
                                  (C {(grep)} {(SQ <'netmask '>)})
                                  (C {(sed)} {(-n)} {(2p)})
                                  (C {(awk)} {(SQ <'{print $3}'>)})
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [20632 20662]
                      )
                    }
                  spids: [20631]
                )
              ]
              spids: [20631]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:WIFI_DNS_STATIC)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(cat)} {(-n)} {(/tmp/net_interfaces)})
                                  (C {(grep)} {(SQ <'dns-nameservers '>)})
                                  (C {(sed)} {(-n)} {(2p)})
                                  (C {(awk)} {(SQ <'{print $3,$4}'>)})
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [20666 20696]
                      )
                    }
                  spids: [20665]
                )
              ]
              spids: [20665]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:WIFI_INDEX)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(sed)} {(-n)} {(2p)} {(/DietPi/dietpi/.network)})]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [20701 20709]
                      )
                    }
                  spids: [20700]
                )
              ]
              spids: [20700]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:WIFI_DISABLED)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(cat)} {(/tmp/net_interfaces)})
                                  (C {(grep)} {(-ci)} {(-m1)} 
                                    {(DQ ('#allow-hotplug wlan') ($ VSub_Name '$WIFI_INDEX'))}
                                  )
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [20713 20730]
                      )
                    }
                  spids: [20712]
                )
              ]
              spids: [20712]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:WIFI_HARDWARE) op:Equal rhs:{(0)} spids:[20733])]
              spids: [20733]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:WIFI_CONNECTED)
                  op: Equal
                  rhs: {(0)}
                  spids: [20737]
                )
              ]
              spids: [20737]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:WIFI_IP)
                  op: Equal
                  rhs: {(SQ <0.0.0.0>)}
                  spids: [20741]
                )
              ]
              spids: [20741]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:WIFI_GATEWAY)
                  op: Equal
                  rhs: {(SQ <0.0.0.0>)}
                  spids: [20747]
                )
              ]
              spids: [20747]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:WIFI_MASK)
                  op: Equal
                  rhs: {(SQ <0.0.0.0>)}
                  spids: [20753]
                )
              ]
              spids: [20753]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:WIFI_DNS)
                  op: Equal
                  rhs: {(SQ <0.0.0.0>)}
                  spids: [20759]
                )
              ]
              spids: [20759]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:WIFI_MODE) op:Equal rhs:{(1)} spids:[20765])]
              spids: [20765]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:WIFI_MODE_TARGET)
                  op: Equal
                  rhs: {($ VSub_Name '$WIFI_MODE')}
                  spids: [20769]
                )
              ]
              spids: [20769]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:WIFI_SSID)
                  op: Equal
                  rhs: {(SQ <MySuperDooperWiFi>)}
                  spids: [20773]
                )
              ]
              spids: [20773]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:WIFI_KEY)
                  op: Equal
                  rhs: {(SQ <0123456789>)}
                  spids: [20779]
                )
              ]
              spids: [20779]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:WIFI_BITRATE) op:Equal rhs:{(0)} spids:[20789])]
              spids: [20789]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:WIFI_SIGNALSTRENGTH)
                  op: Equal
                  rhs: {(0)}
                  spids: [20793]
                )
              ]
              spids: [20793]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:WIFI_HOTSPOT) op:Equal rhs:{(0)} spids:[20801])]
              spids: [20801]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(Lit_Other '[')} {(-f)} {(/usr/sbin/hostapd)} {(Lit_Other ']')})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:WIFI_HOTSPOT)
                          op: Equal
                          rhs: {(1)}
                          spids: [20819]
                        )
                      ]
                      spids: [20819]
                    )
                  ]
                  spids: [16777215 20816]
                )
              ]
              spids: [16777215 20823]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:WIFI_COUNTRYCODE)
                  op: Equal
                  rhs: {(SQ <GB>)}
                  spids: [20848]
                )
              ]
              spids: [20848]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-n)} 
                          {
                            (DQ 
                              (CommandSubPart
                                command_list: (CommandList children:[(C {(which)} {(iw)})])
                                left_token: <Left_CommandSub '$('>
                                spids: [20861 20865]
                              )
                            )
                          } {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:WIFI_COUNTRYCODE)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(iw)} {(reg)} {(get)})
                                          (C {(grep)} {(-m1)} {(SQ <country>)})
                                          (C {(awk)} {(SQ <'{print $2}'>)})
                                          (C {(tr)} {(-d)} {(SQ <':'>)})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [20876 20910]
                              )
                            }
                          spids: [20875]
                        )
                      ]
                      spids: [20875]
                    )
                  ]
                  spids: [16777215 20871]
                )
              ]
              spids: [16777215 20914]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-d)} {(/sys/class/net/eth) ($ VSub_Name '$ETH_INDEX')} 
                          {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:ETH_HARDWARE)
                          op: Equal
                          rhs: {(1)}
                          spids: [20947]
                        )
                      ]
                      spids: [20947]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:ETH_MODE)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(cat)} {(/tmp/net_interfaces)})
                                          (C {(grep)} {(-ci)} {(-m1)} 
                                            {
                                              (DQ ('iface eth') ($ VSub_Name '$ETH_INDEX') 
                                                (' inet dhcp')
                                              )
                                            }
                                          )
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [20957 20975]
                              )
                            }
                          spids: [20956]
                        )
                      ]
                      spids: [20956]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:ETH_MODE_TARGET)
                          op: Equal
                          rhs: {($ VSub_Name '$ETH_MODE')}
                          spids: [20978]
                        )
                      ]
                      spids: [20978]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:ETH_CONNECTED)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(ip)} {(r)})
                                          (C {(grep)} {(-ci)} {(-m1)} 
                                            {(DQ (eth) ($ VSub_Name '$ETH_INDEX'))}
                                          )
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [20988 21005]
                              )
                            }
                          spids: [20987]
                        )
                      ]
                      spids: [20987]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  ops: [Op_DAmp]
                                  children: [
                                    (DParen
                                      child: 
                                        (ArithBinary
                                          op_id: Arith_DEqual
                                          left: (ArithWord w:{($ VSub_Name '$ETH_DISABLED')})
                                          right: (ArithWord w:{(Lit_Digits 0)})
                                        )
                                      spids: [21015 21024]
                                    )
                                    (DParen
                                      child: 
                                        (ArithBinary
                                          op_id: Arith_DEqual
                                          left: (ArithWord w:{($ VSub_Name '$ETH_CONNECTED')})
                                          right: (ArithWord w:{(Lit_Digits 1)})
                                        )
                                      spids: [21028 21037]
                                    )
                                  ]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:ETH_IP)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {(ifconfig)} {(eth) ($ VSub_Name '$ETH_INDEX')})
                                                  (C {(grep)} {(-m1)} {(SQ <inet>)})
                                                  (C {(awk)} {(SQ <'{ print $2 }'>)})
                                                  (C {(sed)} {(SQ <'s/addr://g'>)})
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [21045 21076]
                                      )
                                    }
                                  spids: [21044]
                                )
                              ]
                              spids: [21044]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:ETH_GATEWAY)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {(ip)} {(r)})
                                                  (C {(grep)} {(-m1)} {(SQ <default>)})
                                                  (C {(awk)} {(SQ <'{ print $3 }'>)})
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [21080 21102]
                                      )
                                    }
                                  spids: [21079]
                                )
                              ]
                              spids: [21079]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:ETH_MASK)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {(ifconfig)} {(eth) ($ VSub_Name '$ETH_INDEX')})
                                                  (C {(grep)} {(-m1)} {(SQ <inet>)})
                                                  (C {(awk)} {(SQ <'{ print $4 }'>)})
                                                  (C {(sed)} {(SQ <'s/Mask://g'>)})
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [21106 21137]
                                      )
                                    }
                                  spids: [21105]
                                )
                              ]
                              spids: [21105]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:ETH_DNS)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {(grep)} {(-m1)} {(SQ <nameserver>)} 
                                                    {(/etc/resolv.conf)}
                                                  )
                                                  (C {(awk)} {(SQ <'{print $2}'>)})
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [21141 21159]
                                      )
                                    }
                                  spids: [21140]
                                )
                              ]
                              spids: [21140]
                            )
                          ]
                          spids: [16777215 21040]
                        )
                      ]
                      spids: [16777215 21163]
                    )
                  ]
                  spids: [16777215 20939]
                )
              ]
              spids: [16777215 21167]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-d)} {(/sys/class/net/wlan) ($ VSub_Name '$WIFI_INDEX')} 
                          {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:WIFI_HARDWARE)
                          op: Equal
                          rhs: {(1)}
                          spids: [21191]
                        )
                      ]
                      spids: [21191]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:WIFI_MODE)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(cat)} {(/tmp/net_interfaces)})
                                          (C {(grep)} {(-ci)} {(-m1)} 
                                            {
                                              (DQ ('iface wlan') ($ VSub_Name '$WIFI_INDEX') 
                                                (' inet dhcp')
                                              )
                                            }
                                          )
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [21201 21219]
                              )
                            }
                          spids: [21200]
                        )
                      ]
                      spids: [21200]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:WIFI_MODE_TARGET)
                          op: Equal
                          rhs: {($ VSub_Name '$WIFI_MODE')}
                          spids: [21222]
                        )
                      ]
                      spids: [21222]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:WIFI_CONNECTED)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(ip)} {(r)})
                                          (C {(grep)} {(-ci)} {(-m1)} 
                                            {(DQ (wlan) ($ VSub_Name '$WIFI_INDEX'))}
                                          )
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [21232 21249]
                              )
                            }
                          spids: [21231]
                        )
                      ]
                      spids: [21231]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:WIFI_SSID)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (Pipeline
                                          children: [
                                            (C {(grep)} {(-m1)} {(SQ <'^AUTO_SETUP_NET_WIFI_SSID='>)} 
                                              {(/DietPi/dietpi.txt)}
                                            )
                                            (C {(sed)} {(SQ <'s/.*=//'>)})
                                          ]
                                          negated: F
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [21259 21277]
                                )
                              )
                            }
                          spids: [21257]
                        )
                      ]
                      spids: [21257]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:WIFI_KEY)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (Pipeline
                                          children: [
                                            (C {(grep)} {(-m1)} {(SQ <'^AUTO_SETUP_NET_WIFI_KEY='>)} 
                                              {(/DietPi/dietpi.txt)}
                                            )
                                            (C {(sed)} {(SQ <'s/.*=//'>)})
                                          ]
                                          negated: F
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [21283 21301]
                                )
                              )
                            }
                          spids: [21281]
                        )
                      ]
                      spids: [21281]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  ops: [Op_DAmp]
                                  children: [
                                    (DParen
                                      child: 
                                        (ArithBinary
                                          op_id: Arith_DEqual
                                          left: (ArithWord w:{($ VSub_Name '$WIFI_DISABLED')})
                                          right: (ArithWord w:{(Lit_Digits 0)})
                                        )
                                      spids: [21312 21321]
                                    )
                                    (DParen
                                      child: 
                                        (ArithBinary
                                          op_id: Arith_DEqual
                                          left: (ArithWord w:{($ VSub_Name '$WIFI_CONNECTED')})
                                          right: (ArithWord w:{(Lit_Digits 1)})
                                        )
                                      spids: [21325 21334]
                                    )
                                  ]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:WIFI_IP)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {(ifconfig)} {(wlan) ($ VSub_Name '$WIFI_INDEX')})
                                                  (C {(grep)} {(-m1)} {(SQ <inet>)})
                                                  (C {(awk)} {(SQ <'{ print $2 }'>)})
                                                  (C {(sed)} {(SQ <'s/addr://g'>)})
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [21342 21373]
                                      )
                                    }
                                  spids: [21341]
                                )
                              ]
                              spids: [21341]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:WIFI_GATEWAY)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {(ip)} {(r)})
                                                  (C {(grep)} {(-m1)} {(SQ <default>)})
                                                  (C {(awk)} {(SQ <'{ print $3 }'>)})
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [21377 21399]
                                      )
                                    }
                                  spids: [21376]
                                )
                              ]
                              spids: [21376]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:WIFI_MASK)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {(ifconfig)} {(wlan) ($ VSub_Name '$WIFI_INDEX')})
                                                  (C {(grep)} {(-m1)} {(SQ <inet>)})
                                                  (C {(awk)} {(SQ <'{ print $4 }'>)})
                                                  (C {(sed)} {(SQ <'s/Mask://g'>)})
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [21403 21434]
                                      )
                                    }
                                  spids: [21402]
                                )
                              ]
                              spids: [21402]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:WIFI_DNS)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {(cat)} {(/etc/resolv.conf)})
                                                  (C {(grep)} {(-m1)} {(nameserver)})
                                                  (C {(awk)} {(SQ <'{print $2}'>)})
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [21438 21458]
                                      )
                                    }
                                  spids: [21437]
                                )
                              ]
                              spids: [21437]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:WIFI_BITRATE)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {(iwconfig)} {(wlan) ($ VSub_Name '$WIFI_INDEX')})
                                                  (C {(grep)} {(-m1)} {(SQ <'Bit Rate'>)})
                                                  (C {(awk)} {(SQ <'{ print $2 }'>)})
                                                  (C {(sed)} {(SQ <'s/Rate[:=]//g'>)})
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [21467 21498]
                                      )
                                    }
                                  spids: [21466]
                                )
                              ]
                              spids: [21466]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:WIFI_SIGNALSTRENGTH)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {(iwconfig)} {(wlan) ($ VSub_Name '$WIFI_INDEX')})
                                                  (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: [21502 21545]
                                      )
                                    }
                                  spids: [21501]
                                )
                              ]
                              spids: [21501]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          ops: [Op_DAmp]
                                          children: [
                                            (DBracket
                                              expr: 
                                                (BoolBinary
                                                  op_id: BoolBinary_EqualTilde
                                                  left: {($ VSub_Name '$WIFI_SIGNALSTRENGTH')}
                                                  right: 
                                                    {(Lit_Other '^') (-) (Lit_Other '?') 
                                                      (Lit_Other '[') (0-9) (Lit_Other ']') (Lit_Other '+') (Lit_Other '$')
                                                    }
                                                )
                                            )
                                            (DParen
                                              child: 
                                                (ArithBinary
                                                  op_id: Arith_Less
                                                  left: 
                                                    (ArithWord
                                                      w: {($ VSub_Name '$WIFI_SIGNALSTRENGTH')}
                                                    )
                                                  right: (ArithWord w:{(Lit_Digits 0)})
                                                )
                                              spids: [21575 21584]
                                            )
                                          ]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:WIFI_SIGNALSTRENGTH)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name '$WIFI_SIGNALSTRENGTH') (' dBm'))}
                                          spids: [21591]
                                        )
                                      ]
                                      spids: [21591]
                                    )
                                  ]
                                  spids: [16777215 21587]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:WIFI_SIGNALSTRENGTH)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Name '$WIFI_SIGNALSTRENGTH') (' %'))}
                                      spids: [21603]
                                    )
                                  ]
                                  spids: [21603]
                                )
                              ]
                              spids: [21599 21611]
                            )
                          ]
                          spids: [16777215 21337]
                        )
                      ]
                      spids: [16777215 21615]
                    )
                  ]
                  spids: [16777215 21183]
                )
              ]
              spids: [16777215 21619]
            )
            (SimpleCommand
              words: [{(rm)} {(/tmp/net_interfaces)}]
              redirects: [(Redir op:<Redir_AndGreat '&>'> fd:16777215 arg_word:{(/dev/null)})]
            )
          ]
          spids: [20324]
        )
      spids: [20321 20324]
    )
    (FuncDef
      name: Menu_NetworkAdapters
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:TARGETMENUID) op:Equal rhs:{(0)} spids:[21652])]
              spids: [21652]
            )
            (C {(Network_GetData)})
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:whiptail_menu_array)
                  op: Equal
                  rhs: {(ArrayLiteralPart)}
                  spids: [21667]
                )
              ]
              spids: [21665]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:eth_disabled_text)
                  op: Equal
                  rhs: {(SQ <Enabled>)}
                  spids: [21679]
                )
              ]
              spids: [21677]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$ETH_DISABLED')})
                              right: (ArithWord w:{(Lit_Digits 1)})
                            )
                          spids: [21687 21696]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:eth_disabled_text)
                          op: Equal
                          rhs: {(SQ <Disabled>)}
                          spids: [21702]
                        )
                      ]
                      spids: [21702]
                    )
                  ]
                  spids: [16777215 21699]
                )
              ]
              spids: [16777215 21708]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:wlan_disabled_text)
                  op: Equal
                  rhs: {(SQ <Enabled>)}
                  spids: [21714]
                )
              ]
              spids: [21712]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$WIFI_DISABLED')})
                              right: (ArithWord w:{(Lit_Digits 1)})
                            )
                          spids: [21722 21731]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:wlan_disabled_text)
                          op: Equal
                          rhs: {(SQ <Disabled>)}
                          spids: [21737]
                        )
                      ]
                      spids: [21737]
                    )
                  ]
                  spids: [16777215 21734]
                )
              ]
              spids: [16777215 21743]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:eth_hardware_text)
                  op: Equal
                  rhs: {(SQ <Available>)}
                  spids: [21753]
                )
              ]
              spids: [21751]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithUnary
                              op_id: Arith_Bang
                              child: (ArithWord w:{($ VSub_Name '$ETH_HARDWARE')})
                            )
                          spids: [21761 21768]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:eth_hardware_text)
                          op: Equal
                          rhs: {(SQ <'Not Found'>)}
                          spids: [21774]
                        )
                      ]
                      spids: [21774]
                    )
                  ]
                  spids: [16777215 21771]
                )
              ]
              spids: [16777215 21780]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:wlan_hardware_text)
                  op: Equal
                  rhs: {(SQ <Available>)}
                  spids: [21786]
                )
              ]
              spids: [21784]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithUnary
                              op_id: Arith_Bang
                              child: (ArithWord w:{($ VSub_Name '$WIFI_HARDWARE')})
                            )
                          spids: [21794 21801]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:wlan_hardware_text)
                          op: Equal
                          rhs: {(SQ <'Not Found'>)}
                          spids: [21807]
                        )
                      ]
                      spids: [21807]
                    )
                  ]
                  spids: [16777215 21804]
                )
              ]
              spids: [16777215 21813]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:eth_connected_text)
                  op: Equal
                  rhs: {(SQ <Disconnected>)}
                  spids: [21823]
                )
              ]
              spids: [21821]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$ETH_CONNECTED')})
                              right: (ArithWord w:{(Lit_Digits 1)})
                            )
                          spids: [21831 21840]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:eth_connected_text)
                          op: Equal
                          rhs: {(SQ <Connected>)}
                          spids: [21846]
                        )
                      ]
                      spids: [21846]
                    )
                  ]
                  spids: [16777215 21843]
                )
              ]
              spids: [16777215 21852]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:wlan_connected_text)
                  op: Equal
                  rhs: {(SQ <Disconnected>)}
                  spids: [21858]
                )
              ]
              spids: [21856]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$WIFI_CONNECTED')})
                              right: (ArithWord w:{(Lit_Digits 1)})
                            )
                          spids: [21866 21875]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:wlan_connected_text)
                          op: Equal
                          rhs: {(SQ <Connected>)}
                          spids: [21881]
                        )
                      ]
                      spids: [21881]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: (ArithWord w:{($ VSub_Name '$WIFI_HOTSPOT')})
                                      right: (ArithWord w:{(Lit_Digits 1)})
                                    )
                                  spids: [21889 21898]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:wlan_connected_text)
                                  op: Equal
                                  rhs: {(DQ ('Wifi Hotspot Mode'))}
                                  spids: [21904]
                                )
                              ]
                              spids: [21904]
                            )
                          ]
                          spids: [16777215 21901]
                        )
                      ]
                      spids: [16777215 21910]
                    )
                  ]
                  spids: [16777215 21878]
                )
              ]
              spids: [16777215 21913]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:Internet_connected_text)
                  op: Equal
                  rhs: {(SQ <'Please run Internet Test'>)}
                  spids: [21923]
                )
              ]
              spids: [21921]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$INTERNET_ONLINE')})
                              right: (ArithWord w:{(Lit_Digits 2)})
                            )
                          spids: [21931 21940]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:Internet_connected_text)
                          op: Equal
                          rhs: {(SQ <Online>)}
                          spids: [21946]
                        )
                      ]
                      spids: [21946]
                    )
                  ]
                  spids: [16777215 21943]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$INTERNET_ONLINE')})
                              right: (ArithWord w:{(Lit_Digits 1)})
                            )
                          spids: [21954 21963]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:Internet_connected_text)
                          op: Equal
                          rhs: {(SQ <'Offline / Failed'>)}
                          spids: [21969]
                        )
                      ]
                      spids: [21969]
                    )
                  ]
                  spids: [21952 21966]
                )
              ]
              spids: [16777215 21975]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:INTERNET_ONLINE)
                  op: Equal
                  rhs: {(0)}
                  spids: [21983]
                )
              ]
              spids: [21983]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:ipv6_enabled) op:Equal rhs:{(1)} spids:[21994])]
              spids: [21992]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:ipv6_status_text)
                  op: Equal
                  rhs: {(SQ <Enabled>)}
                  spids: [22000]
                )
              ]
              spids: [21998]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(KW_Bang '!')} {(-d)} {(/proc/sys/net/ipv6)} 
                          {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:ipv6_enabled)
                          op: Equal
                          rhs: {(0)}
                          spids: [22022]
                        )
                      ]
                      spids: [22022]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:ipv6_status_text)
                          op: Equal
                          rhs: {(SQ <Disabled>)}
                          spids: [22026]
                        )
                      ]
                      spids: [22026]
                    )
                  ]
                  spids: [16777215 22019]
                )
              ]
              spids: [16777215 22032]
            )
            (C {(Load_Proxy_Vars)})
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:proxy_state_text)
                  op: Equal
                  rhs: {(SQ <Disabled>)}
                  spids: [22046]
                )
              ]
              spids: [22044]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$PROXY_ENABLED')})
                              right: (ArithWord w:{(Lit_Digits 1)})
                            )
                          spids: [22054 22063]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:proxy_state_text)
                          op: Equal
                          rhs: 
                            {
                              (DQ ('Enabled | ') ($ VSub_Name '$PROXY_ADDRESS') (':') 
                                ($ VSub_Name '$PROXY_PORT')
                              )
                            }
                          spids: [22069]
                        )
                      ]
                      spids: [22069]
                    )
                  ]
                  spids: [16777215 22066]
                )
              ]
              spids: [16777215 22078]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:PROXY_ENABLED)
                  op: Equal
                  rhs: {(-1)}
                  spids: [22085]
                )
              ]
              spids: [22085]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:whiptail_menu_array)
                  op: PlusEqual
                  rhs: 
                    {
                      (ArrayLiteralPart
                        words: [{(DQ (Ethernet))} {(DQ ('Change Wired Network Settings'))}]
                      )
                    }
                  spids: [22090]
                )
              ]
              spids: [22090]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:whiptail_menu_array)
                  op: PlusEqual
                  rhs: 
                    {
                      (ArrayLiteralPart
                        words: [{(DQ (WiFi))} {(DQ ('Change Wireless Network Settings'))}]
                      )
                    }
                  spids: [22102]
                )
              ]
              spids: [22102]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:onboard_wifi_enabled)
                  op: Equal
                  rhs: {(1)}
                  spids: [22121]
                )
              ]
              spids: [22119]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$HW_ONBOARD_WIFI')})
                              right: (ArithWord w:{(Lit_Digits 1)})
                            )
                          spids: [22131 22140]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(-f)} 
                                  {(/etc/modprobe.d/disable_wifi_rpi3_onboard.conf)} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:onboard_wifi_enabled)
                                  op: Equal
                                  rhs: {(0)}
                                  spids: [22162]
                                )
                              ]
                              spids: [22162]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:whiptail_menu_array)
                                  op: PlusEqual
                                  rhs: 
                                    {
                                      (ArrayLiteralPart
                                        words: [
                                          {(DQ ('Onboard WiFi'))}
                                          {(DQ ('Disabled | select to toggle'))}
                                        ]
                                      )
                                    }
                                  spids: [22166]
                                )
                              ]
                              spids: [22166]
                            )
                          ]
                          spids: [16777215 22158]
                        )
                      ]
                      else_action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:whiptail_menu_array)
                              op: PlusEqual
                              rhs: 
                                {
                                  (ArrayLiteralPart
                                    words: [
                                      {(DQ ('Onboard WiFi'))}
                                      {(DQ ('Enabled | select to toggle'))}
                                    ]
                                  )
                                }
                              spids: [22183]
                            )
                          ]
                          spids: [22183]
                        )
                      ]
                      spids: [22179 22196]
                    )
                  ]
                  spids: [16777215 22143]
                )
              ]
              spids: [16777215 22200]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:whiptail_menu_array)
                  op: PlusEqual
                  rhs: {(ArrayLiteralPart words:[{(DQ (IPv6))} {(DQ ('Toggle IPv6 Support'))}])}
                  spids: [22204]
                )
              ]
              spids: [22204]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:whiptail_menu_array)
                  op: PlusEqual
                  rhs: 
                    {
                      (ArrayLiteralPart
                        words: [{(DQ (Test))} {(DQ ('Run the Internet Connection Test'))}]
                      )
                    }
                  spids: [22216]
                )
              ]
              spids: [22216]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:whiptail_menu_array)
                  op: PlusEqual
                  rhs: {(ArrayLiteralPart words:[{(DQ (Proxy))} {(DQ ('Configure proxy settings'))}])}
                  spids: [22228]
                )
              ]
              spids: [22228]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:WHIP_TITLE)
                  op: Equal
                  rhs: {(SQ <'DietPi - Network Options: Adapters'>)}
                  spids: [22241]
                )
              ]
              spids: [22241]
            )
            (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 (' ') (Lit_Other '\\') ('n Ethernet     : ') 
                                      ($ VSub_Name '$eth_hardware_text') (' | ') ($ VSub_Name '$eth_disabled_text') (' | ') ($ VSub_Name '$eth_connected_text') (' ') 
                                      (Lit_Other '\\') ('n Wifi         : ') ($ VSub_Name '$wlan_hardware_text') (' | ') ($ VSub_Name '$wlan_disabled_text') 
                                      (' | ') ($ VSub_Name '$wlan_connected_text') (Lit_Other '\\') ('n IPv6         : ') 
                                      ($ VSub_Name '$ipv6_status_text') (Lit_Other '\\') ('n Internet     : ') ($ VSub_Name '$Internet_connected_text') (Lit_Other '\\') 
                                      ('n Proxy        : ') ($ VSub_Name '$proxy_state_text')
                                    )
                                  }
                                  {(--cancel-button)}
                                  {(DQ ($ VSub_Name '$TEXT_MENU_BACK'))}
                                  {(--backtitle)}
                                  {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))}
                                  {(19)}
                                  {(65)}
                                  {(6)}
                                  {
                                    (DQ 
                                      (BracedVarSub
                                        token: <VSub_Name whiptail_menu_array>
                                        bracket_op: (WholeArray op_id:Lit_At)
                                        spids: [22306 22311]
                                      )
                                    )
                                  }
                                ]
                                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: [22248 22322]
                      )
                    }
                  spids: [22247]
                )
              ]
              spids: [22247]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:CHOICE)
                  op: Equal
                  rhs: {($ VSub_QMark '$?')}
                  spids: [22325]
                )
              ]
              spids: [22325]
            )
            (C {(unset)} {(whiptail_menu_array)})
            (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: [22338 22347]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Case
                      to_match: {(DQ ($ VSub_Name '$OPTION'))}
                      arms: [
                        (case_arm
                          pat_list: [{(DQ ('Onboard WiFi'))}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DParen
                                          child: (ArithWord w:{($ VSub_Name '$onboard_wifi_enabled')})
                                          spids: [22373 22378]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(/DietPi/dietpi/func/dietpi-set_hardware)} {(wifimodules)} 
                                      {(onboard_disable)}
                                    )
                                  ]
                                  spids: [16777215 22381]
                                )
                              ]
                              else_action: [
                                (C {(/DietPi/dietpi/func/dietpi-set_hardware)} {(wifimodules)} 
                                  {(onboard_enable)}
                                )
                              ]
                              spids: [22393 22405]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:REBOOT_REQUIRED)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [22409]
                                )
                              ]
                              spids: [22409]
                            )
                            (C {(whiptail)} {(--title)} {(DQ ('Reboot required'))} {(--msgbox)} 
                              {(DQ ('NB: A reboot is required for the changes to take effect.'))} {(--backtitle)} {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))} {(8)} {(65)}
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(8)}
                                  spids: [22444]
                                )
                              ]
                              spids: [22444]
                            )
                          ]
                          spids: [22364 22367 22449 16777215]
                        )
                        (case_arm
                          pat_list: [{(IPv6)}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DParen
                                          child: (ArithWord w:{($ VSub_Name '$ipv6_enabled')})
                                          spids: [22464 22469]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(whiptail)} {(--title)} {(DQ ('Disable IPv6?'))} {(--yesno)} 
                                      {
                                        (DQ 
                                          (
'IPv6 is currently enabled. Would you like to disable it?'
                                          ) (Lit_Other '\\') (n) (Lit_Other '\\') ('n - A system restart is required for settings to take effect.') 
                                          (Lit_Other '\\') ('n - Disabling IPv6 may break certain programs that rely on it.')
                                        )
                                      } {(--yes-button)} {(DQ (Ok))} {(--no-button)} {(DQ (Back))} {(--defaultno)} {(--backtitle)} 
                                      {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))} {(11)} {(70)}
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:CHOICE)
                                          op: Equal
                                          rhs: {($ VSub_QMark '$?')}
                                          spids: [22521]
                                        )
                                      ]
                                      spids: [22521]
                                    )
                                    (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: [22528 22537]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (DParen
                                                          child: 
                                                            (ArithBinary
                                                              op_id: Arith_DEqual
                                                              left: (ArithVarRef name:G_HW_ARCH)
                                                              right: (ArithWord w:{(Lit_Digits 10)})
                                                            )
                                                          spids: [22546 22555]
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (DParen
                                                                  child: 
                                                                    (ArithUnary
                                                                      op_id: Arith_Bang
                                                                      child: 
                                                                        (ArithWord
                                                                          w: 
                                                                            {
                                                                              (CommandSubPart
                                                                                command_list: 
                                                                                  (CommandList
                                                                                    children: [
                                                                                      (C {(grep)} 
                                                                                        {(-ci)} {(-m1)} {(SQ <'ipv6.disable=1'>)} {(/etc/default/grub)}
                                                                                      )
                                                                                    ]
                                                                                  )
                                                                                left_token: 
                                                                                  <Left_CommandSub 
'$('
                                                                                  >
                                                                                spids: [22572 22584]
                                                                              )
                                                                            }
                                                                        )
                                                                    )
                                                                  spids: [22568 22587]
                                                                )
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                          ]
                                                          action: [
                                                            (C {(sed)} {(-i)} 
                                                              {
                                                                (SQ 
                                                                  <
's/GRUB_CMDLINE_LINUX_DEFAULT=\\"/GRUB_CMDLINE_LINUX_DEFAULT=\\"ipv6.disable=1 /g'
                                                                  >
                                                                )
                                                              } {(/etc/default/grub)}
                                                            )
                                                            (C {(update-grub)})
                                                          ]
                                                          spids: [16777215 22590]
                                                        )
                                                      ]
                                                      spids: [16777215 22609]
                                                    )
                                                  ]
                                                  spids: [16777215 22558]
                                                )
                                              ]
                                              else_action: [
                                                (SimpleCommand
                                                  words: [{(echo)} {(SQ <'blacklist ipv6'>)}]
                                                  redirects: [
                                                    (Redir
                                                      op: <Redir_Great '>'>
                                                      fd: 16777215
                                                      arg_word: 
                                                        {
                                                          (
/etc/modprobe.d/99-dietpi-blacklist-ipv6.conf
                                                          )
                                                        }
                                                    )
                                                  ]
                                                )
                                              ]
                                              spids: [22613 22633]
                                            )
                                            (SimpleCommand
                                              words: [{(echo)} {(SQ <'Acquire::ForceIPv4 "true";'>)}]
                                              redirects: [
                                                (Redir
                                                  op: <Redir_Great '>'>
                                                  fd: 16777215
                                                  arg_word: 
                                                    {(/etc/apt/apt.conf.d/99-dietpi-force-ipv4)}
                                                )
                                              ]
                                            )
                                            (AndOr
                                              ops: [Op_DAmp Op_DPipe Op_DAmp Op_DPipe]
                                              children: [
                                                (C {(grep)} {(-q)} 
                                                  {(SQ <'^[[:blank:]]*prefer-family ='>)} {(/etc/wgetrc)}
                                                )
                                                (C {(sed)} {(-i)} 
                                                  {
                                                    (SQ 
                                                      <
'/^[[:blank:]]*prefer-family =/c\\prefer-family = IPv4'
                                                      >
                                                    )
                                                  } {(/etc/wgetrc)}
                                                )
                                                (C {(grep)} {(-q)} 
                                                  {(SQ <'^[[:blank:]#;]*prefer-family ='>)} {(/etc/wgetrc)}
                                                )
                                                (C {(sed)} {(-i)} 
                                                  {
                                                    (SQ 
                                                      <
'/^[[:blank:]#;]*prefer-family =/c\\prefer-family = IPv4'
                                                      >
                                                    )
                                                  } {(/etc/wgetrc)}
                                                )
                                                (SimpleCommand
                                                  words: [{(echo)} {(SQ <'prefer-family = IPv4'>)}]
                                                  redirects: [
                                                    (Redir
                                                      op: <Redir_DGreat '>>'>
                                                      fd: 16777215
                                                      arg_word: {(/etc/wgetrc)}
                                                    )
                                                  ]
                                                )
                                              ]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:REBOOT_REQUIRED)
                                                  op: Equal
                                                  rhs: {(1)}
                                                  spids: [22718]
                                                )
                                              ]
                                              spids: [22718]
                                            )
                                          ]
                                          spids: [16777215 22540]
                                        )
                                      ]
                                      spids: [16777215 22723]
                                    )
                                  ]
                                  spids: [16777215 22472]
                                )
                              ]
                              else_action: [
                                (C {(whiptail)} {(--title)} {(DQ ('Enable IPv6?'))} {(--yesno)} 
                                  {
                                    (DQ ('IPv6 is currently disabled. Would you like to enable it?') 
                                      (Lit_Other '\\') (n) (Lit_Other '\\') ('n - NB: A system restart is required for settings to take effect.')
                                    )
                                  } {(--yes-button)} {(DQ (Ok))} {(--no-button)} {(DQ (Back))} {(--defaultno)} {(--backtitle)} 
                                  {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))} {(10)} {(70)}
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:CHOICE)
                                      op: Equal
                                      rhs: {($ VSub_QMark '$?')}
                                      spids: [22778]
                                    )
                                  ]
                                  spids: [22778]
                                )
                                (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: [22785 22794]
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (If
                                          arms: [
                                            (if_arm
                                              cond: [
                                                (Sentence
                                                  child: 
                                                    (DParen
                                                      child: 
                                                        (ArithBinary
                                                          op_id: Arith_DEqual
                                                          left: (ArithVarRef name:G_HW_ARCH)
                                                          right: (ArithWord w:{(Lit_Digits 10)})
                                                        )
                                                      spids: [22803 22812]
                                                    )
                                                  terminator: <Op_Semi ';'>
                                                )
                                              ]
                                              action: [
                                                (C {(sed)} {(-i)} {(SQ <'s/ipv6.disable=1 //g'>)} 
                                                  {(/etc/default/grub)}
                                                )
                                                (C {(update-grub)})
                                              ]
                                              spids: [16777215 22815]
                                            )
                                          ]
                                          else_action: [
                                            (SimpleCommand
                                              words: [
                                                {(rm)}
                                                {(/etc/modprobe.d/99-dietpi-blacklist-ipv6.conf)}
                                              ]
                                              redirects: [
                                                (Redir
                                                  op: <Redir_AndGreat '&>'>
                                                  fd: 16777215
                                                  arg_word: {(/dev/null)}
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [22834 22848]
                                        )
                                        (SimpleCommand
                                          words: [{(rm)} {(/etc/apt/apt.conf.d/99-dietpi-force-ipv4)}]
                                          redirects: [
                                            (Redir
                                              op: <Redir_AndGreat '&>'>
                                              fd: 16777215
                                              arg_word: {(/dev/null)}
                                            )
                                          ]
                                        )
                                        (AndOr
                                          ops: [Op_DAmp Op_DPipe Op_DAmp Op_DPipe]
                                          children: [
                                            (C {(grep)} {(-q)} {(SQ <'^[[:blank:]]*prefer-family ='>)} 
                                              {(/etc/wgetrc)}
                                            )
                                            (C {(sed)} {(-i)} 
                                              {
                                                (SQ 
                                                  <
'/^[[:blank:]]*prefer-family =/c\\prefer-family = IPv6'
                                                  >
                                                )
                                              } {(/etc/wgetrc)}
                                            )
                                            (C {(grep)} {(-q)} {(SQ <'^[[:blank:]#;]*prefer-family ='>)} 
                                              {(/etc/wgetrc)}
                                            )
                                            (C {(sed)} {(-i)} 
                                              {
                                                (SQ 
                                                  <
'/^[[:blank:]#;]*prefer-family =/c\\prefer-family = IPv6'
                                                  >
                                                )
                                              } {(/etc/wgetrc)}
                                            )
                                            (SimpleCommand
                                              words: [{(echo)} {(SQ <'prefer-family = IPv6'>)}]
                                              redirects: [
                                                (Redir
                                                  op: <Redir_DGreat '>>'>
                                                  fd: 16777215
                                                  arg_word: {(/etc/wgetrc)}
                                                )
                                              ]
                                            )
                                          ]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:REBOOT_REQUIRED)
                                              op: Equal
                                              rhs: {(1)}
                                              spids: [22931]
                                            )
                                          ]
                                          spids: [22931]
                                        )
                                      ]
                                      spids: [16777215 22797]
                                    )
                                  ]
                                  spids: [16777215 22936]
                                )
                              ]
                              spids: [22731 22940]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(8)}
                                  spids: [22948]
                                )
                              ]
                              spids: [22948]
                            )
                          ]
                          spids: [22453 22454 22953 16777215]
                        )
                        (case_arm
                          pat_list: [{(Ethernet)}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DParen
                                          child: 
                                            (ArithUnary
                                              op_id: Arith_Bang
                                              child: (ArithWord w:{($ VSub_Name '$ETH_HARDWARE')})
                                            )
                                          spids: [22968 22975]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:WHIP_TITLE)
                                          op: Equal
                                          rhs: {(SQ <' Error: No Ethernet Hardware was found.'>)}
                                          spids: [22982]
                                        )
                                      ]
                                      spids: [22982]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:WHIP_QUESTION)
                                          op: Equal
                                          rhs: 
                                            {
                                              (SQ 
                                                <
' No Ethernet Hardware was found. You are most likely running a Pi Model A.'
                                                >
                                              )
                                            }
                                          spids: [22988]
                                        )
                                      ]
                                      spids: [22988]
                                    )
                                    (C {(whiptail)} {(--title)} {(DQ ($ VSub_Name '$WHIP_TITLE'))} 
                                      {(--msgbox)} {(DQ ($ VSub_Name '$WHIP_QUESTION'))} {(--backtitle)} {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))} {(12)} {(60)}
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:TARGETMENUID)
                                          op: Equal
                                          rhs: {(8)}
                                          spids: [23024]
                                        )
                                      ]
                                      spids: [23024]
                                    )
                                  ]
                                  spids: [16777215 22978]
                                )
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DParen
                                          child: (ArithWord w:{($ VSub_Name '$ETH_DISABLED')})
                                          spids: [23035 23040]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(whiptail)} {(--title)} {(DQ ('Ethernet is Disabled'))} 
                                      {(--yesno)} 
                                      {
                                        (DQ 
                                          (
'Ethernet must be enabled before settings can be changed.'
                                          ) (Lit_Other '\\') (n) (Lit_Other '\\') ('nWould you like to enable Ethernet now?') (Lit_Other '\\') 
                                          ('n - (NOTICE) Connections may drop!')
                                        )
                                      } {(--yes-button)} {(DQ (Ok))} {(--no-button)} {(DQ (Back))} {(--defaultno)} {(--backtitle)} 
                                      {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))} {(12)} {(60)}
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:CHOICE)
                                          op: Equal
                                          rhs: {($ VSub_QMark '$?')}
                                          spids: [23092]
                                        )
                                      ]
                                      spids: [23092]
                                    )
                                    (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: [23103 23112]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:ETH_DISABLED)
                                                  op: Equal
                                                  rhs: {(0)}
                                                  spids: [23119]
                                                )
                                              ]
                                              spids: [23119]
                                            )
                                            (C {(Network_ApplyChanges)})
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:TARGETMENUID)
                                                  op: Equal
                                                  rhs: {(9)}
                                                  spids: [23126]
                                                )
                                              ]
                                              spids: [23126]
                                            )
                                          ]
                                          spids: [16777215 23115]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:TARGETMENUID)
                                              op: Equal
                                              rhs: {(8)}
                                              spids: [23139]
                                            )
                                          ]
                                          spids: [23139]
                                        )
                                      ]
                                      spids: [23131 23144]
                                    )
                                  ]
                                  spids: [23033 23043]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:TARGETMENUID)
                                      op: Equal
                                      rhs: {(9)}
                                      spids: [23152]
                                    )
                                  ]
                                  spids: [23152]
                                )
                              ]
                              spids: [23148 23157]
                            )
                          ]
                          spids: [22957 22958 23161 16777215]
                        )
                        (case_arm
                          pat_list: [{(WiFi)}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DParen
                                          child: (ArithWord w:{($ VSub_Name '$WIFI_DISABLED')})
                                          spids: [23176 23181]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(whiptail)} {(--title)} {(DQ ('WiFi is Disabled'))} {(--yesno)} 
                                      {
                                        (DQ ('WiFi must be enabled before settings can be changed.') 
                                          (Lit_Other '\\') (n) (Lit_Other '\\') ('nWould you like to enable WiFi now? ') (Lit_Other '\\') 
                                          ('n - (NOTICE) Connections may drop!')
                                        )
                                      } {(--yes-button)} {(DQ (Ok))} {(--no-button)} {(DQ (Back))} {(--defaultno)} {(--backtitle)} 
                                      {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))} {(12)} {(60)}
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:CHOICE)
                                          op: Equal
                                          rhs: {($ VSub_QMark '$?')}
                                          spids: [23233]
                                        )
                                      ]
                                      spids: [23233]
                                    )
                                    (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: [23240 23249]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:WIFI_DISABLED)
                                                  op: Equal
                                                  rhs: {(0)}
                                                  spids: [23256]
                                                )
                                              ]
                                              spids: [23256]
                                            )
                                            (C {(Network_ApplyChanges)})
                                          ]
                                          spids: [16777215 23252]
                                        )
                                      ]
                                      spids: [16777215 23264]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:TARGETMENUID)
                                          op: Equal
                                          rhs: {(8)}
                                          spids: [23272]
                                        )
                                      ]
                                      spids: [23272]
                                    )
                                  ]
                                  spids: [16777215 23184]
                                )
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DParen
                                          child: 
                                            (ArithUnary
                                              op_id: Arith_Bang
                                              child: (ArithWord w:{($ VSub_Name '$WIFI_HARDWARE')})
                                            )
                                          spids: [23283 23290]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:WHIP_TITLE)
                                          op: Equal
                                          rhs: {(SQ <' Error: No Wifi Hardware was found. '>)}
                                          spids: [23297]
                                        )
                                      ]
                                      spids: [23297]
                                    )
                                    (C {(whiptail)} {(--title)} {(DQ ($ VSub_Name '$WHIP_TITLE'))} 
                                      {(--yesno)} 
                                      {
                                        (DQ ('No supported Wifi Hardware was found.') (Lit_Other '\\') 
                                          (n) (Lit_Other '\\') ('nWould you like to disable WiFi? ') (Lit_Other '\\') 
                                          ('n - (NOTICE) Connections may drop!')
                                        )
                                      } {(--yes-button)} {(DQ (Ok))} {(--no-button)} {(DQ (Back))} {(--defaultno)} {(--backtitle)} 
                                      {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))} {(12)} {(60)}
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:CHOICE)
                                          op: Equal
                                          rhs: {($ VSub_QMark '$?')}
                                          spids: [23348]
                                        )
                                      ]
                                      spids: [23348]
                                    )
                                    (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: [23355 23364]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:WIFI_DISABLED)
                                                  op: Equal
                                                  rhs: {(1)}
                                                  spids: [23371]
                                                )
                                              ]
                                              spids: [23371]
                                            )
                                            (C {(Network_ApplyChanges)})
                                          ]
                                          spids: [16777215 23367]
                                        )
                                      ]
                                      spids: [16777215 23379]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:TARGETMENUID)
                                          op: Equal
                                          rhs: {(8)}
                                          spids: [23387]
                                        )
                                      ]
                                      spids: [23387]
                                    )
                                  ]
                                  spids: [23281 23293]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:TARGETMENUID)
                                      op: Equal
                                      rhs: {(10)}
                                      spids: [23396]
                                    )
                                  ]
                                  spids: [23396]
                                )
                              ]
                              spids: [23392 23401]
                            )
                          ]
                          spids: [23165 23166 23405 16777215]
                        )
                        (case_arm
                          pat_list: [{(Test)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:OPTION)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (SimpleCommand
                                                words: [
                                                  {(whiptail)}
                                                  {(--inputbox)}
                                                  {
                                                    (DQ 
                                                      (
'Press enter a URL address to test (eg: http://google.com)'
                                                      )
                                                    )
                                                  }
                                                  {(8)}
                                                  {(60)}
                                                  {(DQ ($ VSub_Name '$INTERNET_URL'))}
                                                  {(--title)}
                                                  {(DQ ('Internet Connection Test'))}
                                                ]
                                                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: [23419 23450]
                                      )
                                    }
                                  spids: [23418]
                                )
                              ]
                              spids: [23418]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:CHOICE)
                                  op: Equal
                                  rhs: {($ VSub_QMark '$?')}
                                  spids: [23453]
                                )
                              ]
                              spids: [23453]
                            )
                            (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: [23459 23468]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:INTERNET_URL)
                                          op: Equal
                                          rhs: {($ VSub_Name '$OPTION')}
                                          spids: [23475]
                                        )
                                      ]
                                      spids: [23475]
                                    )
                                    (C {(Network_CheckInternetConnection)})
                                  ]
                                  spids: [16777215 23471]
                                )
                              ]
                              spids: [16777215 23483]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(8)}
                                  spids: [23491]
                                )
                              ]
                              spids: [23491]
                            )
                          ]
                          spids: [23409 23410 23496 16777215]
                        )
                        (case_arm
                          pat_list: [{(Proxy)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(17)}
                                  spids: [23505]
                                )
                              ]
                              spids: [23505]
                            )
                          ]
                          spids: [23500 23501 23510 16777215]
                        )
                      ]
                      spids: [22354 22360 23514]
                    )
                  ]
                  spids: [16777215 22350]
                )
              ]
              else_action: [
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_DEqual
                                  left: (ArithWord w:{($ VSub_Name '$EXITONBACK')})
                                  right: (ArithWord w:{(Lit_Digits 1)})
                                )
                              spids: [23532 23541]
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:TARGETMENUID)
                              op: Equal
                              rhs: {(8)}
                              spids: [23552]
                            )
                          ]
                          spids: [23552]
                        )
                        (C {(Menu_Exit)})
                      ]
                      spids: [16777215 23544]
                    )
                  ]
                  spids: [16777215 23560]
                )
              ]
              spids: [23522 23564]
            )
          ]
          spids: [21648]
        )
      spids: [21645 21648]
    )
    (FuncDef
      name: Menu_NetworkAdapters_Ethernet
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:TARGETMENUID) op:Equal rhs:{(8)} spids:[23583])]
              spids: [23583]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:mode_current)
                  op: Equal
                  rhs: {(SQ <DHCP>)}
                  spids: [23594]
                )
              ]
              spids: [23592]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$ETH_MODE')})
                              right: (ArithWord w:{(Lit_Digits 0)})
                            )
                          spids: [23602 23611]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:mode_current)
                          op: Equal
                          rhs: {(SQ <STATIC>)}
                          spids: [23617]
                        )
                      ]
                      spids: [23617]
                    )
                  ]
                  spids: [16777215 23614]
                )
              ]
              spids: [16777215 23623]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:mode_target)
                  op: Equal
                  rhs: {(SQ <DHCP>)}
                  spids: [23633]
                )
              ]
              spids: [23631]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$ETH_MODE_TARGET')})
                              right: (ArithWord w:{(Lit_Digits 0)})
                            )
                          spids: [23641 23650]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:mode_target)
                          op: Equal
                          rhs: {(SQ <STATIC>)}
                          spids: [23656]
                        )
                      ]
                      spids: [23656]
                    )
                  ]
                  spids: [16777215 23653]
                )
              ]
              spids: [16777215 23662]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:whip_options_total)
                  op: Equal
                  rhs: {(0)}
                  spids: [23668]
                )
              ]
              spids: [23666]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:description_text)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [23674]
                )
              ]
              spids: [23672]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:whiptail_menu_array)
                  op: Equal
                  rhs: {(ArrayLiteralPart)}
                  spids: [23681]
                )
              ]
              spids: [23679]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:WHIP_TITLE)
                  op: Equal
                  rhs: {(SQ <'DietPi - Ethernet Network Options'>)}
                  spids: [23687]
                )
              ]
              spids: [23687]
            )
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:whiptail_menu_array)
                      op: PlusEqual
                      rhs: 
                        {
                          (ArrayLiteralPart
                            words: [{(DQ ('Change Mode'))} {(DQ ($ VSub_Name '$mode_target'))}]
                          )
                        }
                      spids: [23694]
                    )
                  ]
                  spids: [23694]
                )
              terminator: <Op_Semi ';'>
            )
            (DParen
              child: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:whip_options_total))
              spids: [23706 23710]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$ETH_MODE_TARGET')})
                              right: (ArithWord w:{(Lit_Digits 0)})
                            )
                          spids: [23719 23728]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Sentence
                      child: 
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:whiptail_menu_array)
                              op: PlusEqual
                              rhs: 
                                {
                                  (ArrayLiteralPart
                                    words: [{(DQ (Copy))} {(DQ ('Copy Current address to Static'))}]
                                  )
                                }
                              spids: [23734]
                            )
                          ]
                          spids: [23734]
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (DParen
                      child: 
                        (UnaryAssign
                          op_id: Node_PostDPlus
                          child: (LhsName name:whip_options_total)
                        )
                      spids: [23746 23750]
                    )
                    (Sentence
                      child: 
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:whiptail_menu_array)
                              op: PlusEqual
                              rhs: 
                                {
                                  (ArrayLiteralPart
                                    words: [{(DQ ('Static Ip'))} {(DQ ($ VSub_Name '$ETH_IP_STATIC'))}]
                                  )
                                }
                              spids: [23753]
                            )
                          ]
                          spids: [23753]
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (DParen
                      child: 
                        (UnaryAssign
                          op_id: Node_PostDPlus
                          child: (LhsName name:whip_options_total)
                        )
                      spids: [23765 23769]
                    )
                    (Sentence
                      child: 
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:whiptail_menu_array)
                              op: PlusEqual
                              rhs: 
                                {
                                  (ArrayLiteralPart
                                    words: [
                                      {(DQ ('Static Mask'))}
                                      {(DQ ($ VSub_Name '$ETH_MASK_STATIC'))}
                                    ]
                                  )
                                }
                              spids: [23772]
                            )
                          ]
                          spids: [23772]
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (DParen
                      child: 
                        (UnaryAssign
                          op_id: Node_PostDPlus
                          child: (LhsName name:whip_options_total)
                        )
                      spids: [23784 23788]
                    )
                    (Sentence
                      child: 
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:whiptail_menu_array)
                              op: PlusEqual
                              rhs: 
                                {
                                  (ArrayLiteralPart
                                    words: [
                                      {(DQ ('Static Gateway'))}
                                      {(DQ ($ VSub_Name '$ETH_GATEWAY_STATIC'))}
                                    ]
                                  )
                                }
                              spids: [23791]
                            )
                          ]
                          spids: [23791]
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (DParen
                      child: 
                        (UnaryAssign
                          op_id: Node_PostDPlus
                          child: (LhsName name:whip_options_total)
                        )
                      spids: [23803 23807]
                    )
                    (Sentence
                      child: 
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:whiptail_menu_array)
                              op: PlusEqual
                              rhs: 
                                {
                                  (ArrayLiteralPart
                                    words: [{(DQ ('Static DNS'))} {(DQ ($ VSub_Name '$ETH_DNS_STATIC'))}]
                                  )
                                }
                              spids: [23810]
                            )
                          ]
                          spids: [23810]
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (DParen
                      child: 
                        (UnaryAssign
                          op_id: Node_PostDPlus
                          child: (LhsName name:whip_options_total)
                        )
                      spids: [23822 23826]
                    )
                  ]
                  spids: [16777215 23731]
                )
              ]
              spids: [16777215 23829]
            )
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:whiptail_menu_array)
                      op: PlusEqual
                      rhs: 
                        {
                          (ArrayLiteralPart
                            words: [{(DQ (Disable))} {(DQ ('Disable Ethernet adapter'))}]
                          )
                        }
                      spids: [23832]
                    )
                  ]
                  spids: [23832]
                )
              terminator: <Op_Semi ';'>
            )
            (DParen
              child: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:whip_options_total))
              spids: [23844 23848]
            )
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:whiptail_menu_array)
                      op: PlusEqual
                      rhs: 
                        {
                          (ArrayLiteralPart
                            words: [{(DQ (Apply))} {(DQ ('Save Changes (Restart Networking)'))}]
                          )
                        }
                      spids: [23851]
                    )
                  ]
                  spids: [23851]
                )
              terminator: <Op_Semi ';'>
            )
            (DParen
              child: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:whip_options_total))
              spids: [23863 23867]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:description_text)
                  op: Equal
                  rhs: 
                    {
                      (DQ ('  Current Details: ') (Lit_Other '\\') ('n - Mode    = ') 
                        ($ VSub_Name '$mode_current') (' ') (Lit_Other '\\') ('n - Ip      = ') ($ VSub_Name '$ETH_IP') (' ') (Lit_Other '\\') ('n - Mask    = ') 
                        ($ VSub_Name '$ETH_MASK') (Lit_Other '\\') ('n - Gateway = ') ($ VSub_Name '$ETH_GATEWAY') (Lit_Other '\\') ('n - DNS     = ') 
                        ($ VSub_Name '$ETH_DNS')
                      )
                    }
                  spids: [23871]
                )
              ]
              spids: [23871]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_Great
                              left: (ArithWord w:{($ VSub_Name '$whip_options_total')})
                              right: (ArithWord w:{($ VSub_Name '$WHIP_OPTIONS_MAX_DISPLAY')})
                            )
                          spids: [23897 23906]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:whip_options_total)
                          op: Equal
                          rhs: {($ VSub_Name '$WHIP_OPTIONS_MAX_DISPLAY')}
                          spids: [23912]
                        )
                      ]
                      spids: [23912]
                    )
                  ]
                  spids: [16777215 23909]
                )
              ]
              spids: [16777215 23916]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:description_line_count)
                  op: Equal
                  rhs: 
                    {
                      (ArithSubPart
                        anode: 
                          (ArithBinary
                            op_id: Arith_Plus
                            left: (ArithWord w:{(Lit_Digits 7)})
                            right: 
                              (ArithWord
                                w: 
                                  {
                                    (CommandSubPart
                                      command_list: 
                                        (CommandList
                                          children: [
                                            (Pipeline
                                              children: [
                                                (C {(echo)} {(-e)} 
                                                  {(DQ ($ VSub_Name '$description_text'))}
                                                )
                                                (C {(wc)} {(-l)})
                                              ]
                                              negated: F
                                            )
                                          ]
                                        )
                                      left_token: <Left_CommandSub '$('>
                                      spids: [23929 23943]
                                    )
                                  }
                              )
                          )
                        spids: [23923 23946]
                      )
                    }
                  spids: [23922]
                )
              ]
              spids: [23920]
            )
            (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 '$description_text'))}
                                  {(--cancel-button)}
                                  {(DQ ($ VSub_Name '$TEXT_MENU_BACK'))}
                                  {(--backtitle)}
                                  {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))}
                                  {(--default-item)}
                                  {(DQ ($ VSub_Name '$WHIP_SELECTION_PREVIOUS'))}
                                  {
                                    (ArithSubPart
                                      anode: 
                                        (ArithBinary
                                          op_id: Arith_Plus
                                          left: (ArithWord w:{($ VSub_Name '$description_line_count')})
                                          right: (ArithWord w:{($ VSub_Name '$whip_options_total')})
                                        )
                                      spids: [23987 23996]
                                    )
                                  }
                                  {(65)}
                                  {($ VSub_Name '$whip_options_total')}
                                  {
                                    (DQ 
                                      (BracedVarSub
                                        token: <VSub_Name whiptail_menu_array>
                                        bracket_op: (WholeArray op_id:Lit_At)
                                        spids: [24003 24008]
                                      )
                                    )
                                  }
                                ]
                                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: [23954 24019]
                      )
                    }
                  spids: [23953]
                )
              ]
              spids: [23953]
            )
            (C {(unset)} {(whiptail_menu_array)})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:CHOICE)
                  op: Equal
                  rhs: {($ VSub_QMark '$?')}
                  spids: [24033]
                )
              ]
              spids: [24033]
            )
            (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: [24039 24048]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:WHIP_SELECTION_PREVIOUS)
                          op: Equal
                          rhs: {($ VSub_Name '$OPTION')}
                          spids: [24055]
                        )
                      ]
                      spids: [24055]
                    )
                    (Case
                      to_match: {(DQ ($ VSub_Name '$OPTION'))}
                      arms: [
                        (case_arm
                          pat_list: [{(DQ ('Change Mode'))}]
                          action: [
                            (DParen
                              child: 
                                (UnaryAssign
                                  op_id: Node_PostDPlus
                                  child: (LhsName name:ETH_MODE_TARGET)
                                )
                              spids: [24075 24079]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DParen
                                          child: 
                                            (ArithBinary
                                              op_id: Arith_GreatEqual
                                              left: (ArithWord w:{($ VSub_Name '$ETH_MODE_TARGET')})
                                              right: (ArithWord w:{(Lit_Digits 2)})
                                            )
                                          spids: [24084 24093]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:ETH_MODE_TARGET)
                                          op: Equal
                                          rhs: {(0)}
                                          spids: [24099]
                                        )
                                      ]
                                      spids: [24099]
                                    )
                                  ]
                                  spids: [16777215 24096]
                                )
                              ]
                              spids: [16777215 24103]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(9)}
                                  spids: [24110]
                                )
                              ]
                              spids: [24110]
                            )
                          ]
                          spids: [24069 24072 24114 16777215]
                        )
                        (case_arm
                          pat_list: [{(Disable)}]
                          action: [
                            (C {(whiptail)} {(--title)} {(DQ ('Ethernet is Enabled'))} {(--yesno)} 
                              {
                                (DQ ('Would you like to disable the Ethernet adapter?') 
                                  (Lit_Other '\\') ('n - (NOTICE) All Ethernet connections will be dropped.')
                                )
                              } {(--yes-button)} {(DQ (Ok))} {(--no-button)} {(DQ (Back))} {(--defaultno)} {(--backtitle)} 
                              {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))} {(10)} {(60)}
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:CHOICE)
                                  op: Equal
                                  rhs: {($ VSub_QMark '$?')}
                                  spids: [24162]
                                )
                              ]
                              spids: [24162]
                            )
                            (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: [24172 24181]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:ETH_DISABLED)
                                          op: Equal
                                          rhs: {(1)}
                                          spids: [24187]
                                        )
                                      ]
                                      spids: [24187]
                                    )
                                    (C {(Network_ApplyChanges)})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:TARGETMENUID)
                                          op: Equal
                                          rhs: {(8)}
                                          spids: [24194]
                                        )
                                      ]
                                      spids: [24194]
                                    )
                                  ]
                                  spids: [16777215 24184]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:TARGETMENUID)
                                      op: Equal
                                      rhs: {(9)}
                                      spids: [24205]
                                    )
                                  ]
                                  spids: [24205]
                                )
                              ]
                              spids: [24198 24209]
                            )
                          ]
                          spids: [24117 24118 24212 16777215]
                        )
                        (case_arm
                          pat_list: [{(Apply)}]
                          action: [
                            (C {(Ethernet_Reconnect)})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(9)}
                                  spids: [24227]
                                )
                              ]
                              spids: [24227]
                            )
                          ]
                          spids: [24215 24216 24231 16777215]
                        )
                        (case_arm
                          pat_list: [{(Copy)}]
                          action: [
                            (C {(Network_ETH_CopyCurrentToStatic)})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(9)}
                                  spids: [24245]
                                )
                              ]
                              spids: [24245]
                            )
                          ]
                          spids: [24234 24235 24249 16777215]
                        )
                        (case_arm
                          pat_list: [{(DQ ('Static Ip'))}]
                          action: [
                            (C {(Change_StaticIp)} {(0)})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(9)}
                                  spids: [24267]
                                )
                              ]
                              spids: [24267]
                            )
                          ]
                          spids: [24252 24255 24271 16777215]
                        )
                        (case_arm
                          pat_list: [{(DQ ('Static Gateway'))}]
                          action: [
                            (C {(Change_StaticGateway)} {(0)})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(9)}
                                  spids: [24289]
                                )
                              ]
                              spids: [24289]
                            )
                          ]
                          spids: [24274 24277 24293 16777215]
                        )
                        (case_arm
                          pat_list: [{(DQ ('Static Mask'))}]
                          action: [
                            (C {(Change_StaticMask)} {(0)})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(9)}
                                  spids: [24311]
                                )
                              ]
                              spids: [24311]
                            )
                          ]
                          spids: [24296 24299 24315 16777215]
                        )
                        (case_arm
                          pat_list: [{(DQ ('Static DNS'))}]
                          action: [
                            (C {(Change_StaticDns)} {(0)})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(9)}
                                  spids: [24333]
                                )
                              ]
                              spids: [24333]
                            )
                          ]
                          spids: [24318 24321 24337 16777215]
                        )
                      ]
                      spids: [24060 24066 24340]
                    )
                  ]
                  spids: [16777215 24051]
                )
              ]
              spids: [16777215 24344]
            )
          ]
          spids: [23579]
        )
      spids: [23576 23579]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:HOTSPOT_SSID) op:Equal rhs:{(DQ )} spids:[24352])]
      spids: [24352]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:HOTSPOT_CHANNEL) op:Equal rhs:{(DQ )} spids:[24357])]
      spids: [24357]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:HOTSPOT_KEY) op:Equal rhs:{(DQ )} spids:[24362])]
      spids: [24362]
    )
    (FuncDef
      name: WiFi_Monitor_Disable
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-f)} {(/etc/systemd/system/dietpi-wifi-monitor.service)} 
                          {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(systemctl)} {(stop)} {(dietpi-wifi-monitor.service)})
                    (C {(rm)} {(/etc/systemd/system/dietpi-wifi-monitor.service)})
                    (C {(rm)} {(/var/lib/dietpi/dietpi-wifi-monitor.sh)})
                    (C {(systemctl)} {(daemon-reload)})
                  ]
                  spids: [16777215 24386]
                )
              ]
              spids: [16777215 24413]
            )
          ]
          spids: [24371]
        )
      spids: [24368 24371]
    )
    (FuncDef
      name: WiFi_Monitor_Enable
      body: 
        (BraceGroup
          children: [
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op: <Redir_DLess '<<'>
                  fd: 16777215
                  here_begin: {(_EOF_)}
                  here_end_span_id: 24513
                  stdin_parts: [
                    ('#!/bin/bash\n')
                    ('{\n')
                    ('URL_PING=')
                    (Right_DoubleQuote '"')
                    ($ VSub_Name '$WIFI_GATEWAY')
                    (Right_DoubleQuote '"')
                    ('\n')
                    ('ADAPTER=')
                    (Right_DoubleQuote '"')
                    (wlan)
                    ($ VSub_Name '$WIFI_INDEX')
                    (Right_DoubleQuote '"')
                    ('\n')
                    ('TICKRATE=10\n')
                    ('while true\n')
                    ('do\n')
                    ('G_DIETPI-NOTIFY 2 ')
                    (Right_DoubleQuote '"')
                    ('Checking connnection for: ')
                    (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>)
                    (ADAPTER)
                    (Right_DoubleQuote '"')
                    ('\n')
                    ('ping -I ')
                    (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>)
                    ('ADAPTER -c 1 ')
                    (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>)
                    ('URL_PING\n')
                    ('if (( ')
                    (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>)
                    ('? != 0 )); then\n')
                    ('\n')
                    ('G_DIETPI-NOTIFY 2 ')
                    (Right_DoubleQuote '"')
                    ('Detected connection loss: ')
                    (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>)
                    ('ADAPTER. Reconnecting')
                    (Right_DoubleQuote '"')
                    ('\n')
                    ('ifdown ')
                    (Right_DoubleQuote '"')
                    (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>)
                    (ADAPTER)
                    (Right_DoubleQuote '"')
                    ('\n')
                    ('sleep 1\n')
                    ('ifup ')
                    (Right_DoubleQuote '"')
                    (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>)
                    (ADAPTER)
                    (Right_DoubleQuote '"')
                    ('\n')
                    ("G_DIETPI-NOTIFY 0 'Completed'\n")
                    ('\n')
                    ('else\n')
                    ('\n')
                    ('G_DIETPI-NOTIFY 0 ')
                    (Right_DoubleQuote '"')
                    ('Connection ')
                    (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>)
                    (ADAPTER)
                    (Right_DoubleQuote '"')
                    ('\n')
                    ('\n')
                    ('fi\n')
                    ('\n')
                    ('sleep ')
                    (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>)
                    ('TICKRATE\n')
                    ('\n')
                    ('done\n')
                    ('\n')
                    ('exit 0\n')
                    ('}\n')
                  ]
                )
                (Redir
                  op: <Redir_Great '>'>
                  fd: 16777215
                  arg_word: {(/var/lib/dietpi/dietpi-wifi-monitor.sh)}
                )
              ]
            )
            (C {(chmod)} {(Lit_Other '+') (x)} {(/var/lib/dietpi/dietpi-wifi-monitor.sh)})
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op: <Redir_DLess '<<'>
                  fd: 16777215
                  here_begin: {(_EOF_)}
                  here_end_span_id: 24544
                  stdin_parts: [
                    ('[Unit]\n')
                    ('Description=Monitors loss of WiFi connection and automatically reconnects\n')
                    ('After=network.target network-online.target\n')
                    ('[Service]\n')
                    ('Type=simple\n')
                    ('ExecStart=/bin/bash -c /var/lib/dietpi/dietpi-wifi-monitor.sh\n')
                    ('[Install]\n')
                    ('WantedBy=multi-user.target\n')
                  ]
                )
                (Redir
                  op: <Redir_Great '>'>
                  fd: 16777215
                  arg_word: {(/etc/systemd/system/dietpi-wifi-monitor.service)}
                )
              ]
            )
            (C {(systemctl)} {(daemon-reload)})
            (C {(systemctl)} {(enable)} {(dietpi-wifi-monitor.service)})
            (C {(systemctl)} {(start)} {(dietpi-wifi-monitor.service)})
          ]
          spids: [24424]
        )
      spids: [24421 24424]
    )
    (FuncDef
      name: Menu_NetworkAdapters_Wifi
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:TARGETMENUID) op:Equal rhs:{(8)} spids:[24581])]
              spids: [24581]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:whip_options_total)
                  op: Equal
                  rhs: {(0)}
                  spids: [24588]
                )
              ]
              spids: [24586]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:description_text)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [24594]
                )
              ]
              spids: [24592]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:whiptail_menu_array)
                  op: Equal
                  rhs: {(ArrayLiteralPart)}
                  spids: [24601]
                )
              ]
              spids: [24599]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$WIFI_HOTSPOT')})
                              right: (ArithWord w:{(Lit_Digits 1)})
                            )
                          spids: [24613 24622]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:WHIP_TITLE)
                          op: Equal
                          rhs: {(SQ <'DietPi - WiFi Hotspot'>)}
                          spids: [24629]
                        )
                      ]
                      spids: [24629]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$HOTSPOT_SSID'))} 
                                  {(Lit_Other '=')} {(DQ )} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:HOTSPOT_SSID)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {(cat)} {(/etc/hostapd/hostapd.conf)})
                                                  (C {(grep)} {(-m1)} {(SQ <'^ssid='>)})
                                                  (C {(sed)} {(SQ <'s/.*=//'>)})
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [24660 24682]
                                      )
                                    }
                                  spids: [24659]
                                )
                              ]
                              spids: [24659]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:HOTSPOT_CHANNEL)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {(cat)} {(/etc/hostapd/hostapd.conf)})
                                                  (C {(grep)} {(-m1)} {(SQ <'^channel='>)})
                                                  (C {(sed)} {(SQ <'s/.*=//'>)})
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [24686 24708]
                                      )
                                    }
                                  spids: [24685]
                                )
                              ]
                              spids: [24685]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:HOTSPOT_KEY)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {(cat)} {(/etc/hostapd/hostapd.conf)})
                                                  (C {(grep)} {(-m1)} {(SQ <'^wpa_passphrase='>)})
                                                  (C {(sed)} {(SQ <'s/.*=//'>)})
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [24712 24734]
                                      )
                                    }
                                  spids: [24711]
                                )
                              ]
                              spids: [24711]
                            )
                          ]
                          spids: [16777215 24656]
                        )
                      ]
                      spids: [16777215 24737]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:hotspot_active_state)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(systemctl)} {(is-active)} {(hostapd)})
                                          (C {(grep)} {(-ci)} {(-m1)} {(SQ <active>)})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [24748 24767]
                              )
                            }
                          spids: [24747]
                        )
                      ]
                      spids: [24745]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:hotspot_status_text)
                          op: Equal
                          rhs: {(SQ <Online>)}
                          spids: [24772]
                        )
                      ]
                      spids: [24770]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:hotspot_active_state_text)
                          op: Equal
                          rhs: {(SQ <': Enabled, select to turn off hotspot'>)}
                          spids: [24780]
                        )
                      ]
                      spids: [24778]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithUnary
                                      op_id: Arith_Bang
                                      child: (ArithWord w:{($ VSub_Name '$hotspot_active_state')})
                                    )
                                  spids: [24788 24795]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:hotspot_active_state_text)
                                  op: Equal
                                  rhs: {(SQ <': Disabled, select to turn on hotspot'>)}
                                  spids: [24802]
                                )
                              ]
                              spids: [24802]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:hotspot_status_text)
                                  op: Equal
                                  rhs: {(SQ <Offline>)}
                                  spids: [24808]
                                )
                              ]
                              spids: [24808]
                            )
                          ]
                          spids: [16777215 24798]
                        )
                      ]
                      spids: [16777215 24815]
                    )
                    (Sentence
                      child: 
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:whiptail_menu_array)
                              op: PlusEqual
                              rhs: 
                                {
                                  (ArrayLiteralPart
                                    words: [{(DQ (SSID))} {(DQ ('Change the wireless hotspot name'))}]
                                  )
                                }
                              spids: [24819]
                            )
                          ]
                          spids: [24819]
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (DParen
                      child: 
                        (UnaryAssign
                          op_id: Node_PostDPlus
                          child: (LhsName name:whip_options_total)
                        )
                      spids: [24831 24835]
                    )
                    (Sentence
                      child: 
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:whiptail_menu_array)
                              op: PlusEqual
                              rhs: 
                                {
                                  (ArrayLiteralPart
                                    words: [{(DQ (Channel))} {(DQ ('Change the wireless channel'))}]
                                  )
                                }
                              spids: [24838]
                            )
                          ]
                          spids: [24838]
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (DParen
                      child: 
                        (UnaryAssign
                          op_id: Node_PostDPlus
                          child: (LhsName name:whip_options_total)
                        )
                      spids: [24850 24854]
                    )
                    (Sentence
                      child: 
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:whiptail_menu_array)
                              op: PlusEqual
                              rhs: 
                                {
                                  (ArrayLiteralPart
                                    words: [
                                      {(DQ (Key))}
                                      {(DQ ('Change the access key required to connect'))}
                                    ]
                                  )
                                }
                              spids: [24857]
                            )
                          ]
                          spids: [24857]
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (DParen
                      child: 
                        (UnaryAssign
                          op_id: Node_PostDPlus
                          child: (LhsName name:whip_options_total)
                        )
                      spids: [24869 24873]
                    )
                    (Sentence
                      child: 
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:whiptail_menu_array)
                              op: PlusEqual
                              rhs: 
                                {
                                  (ArrayLiteralPart
                                    words: [
                                      {(DQ (State))}
                                      {(DQ (': ') ($ VSub_Name '$hotspot_active_state_text'))}
                                    ]
                                  )
                                }
                              spids: [24876]
                            )
                          ]
                          spids: [24876]
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (DParen
                      child: 
                        (UnaryAssign
                          op_id: Node_PostDPlus
                          child: (LhsName name:whip_options_total)
                        )
                      spids: [24889 24893]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:description_text)
                          op: Equal
                          rhs: 
                            {
                              (DQ ('SSID    : ') ($ VSub_Name '$HOTSPOT_SSID') (Lit_Other '\\') 
                                ('nChannel : ') ($ VSub_Name '$HOTSPOT_CHANNEL') (Lit_Other '\\') ('nKey     : ') ($ VSub_Name '$HOTSPOT_KEY') 
                                (Lit_Other '\\') ('nStatus  : ') ($ VSub_Name '$hotspot_status_text')
                              )
                            }
                          spids: [24897]
                        )
                      ]
                      spids: [24897]
                    )
                  ]
                  spids: [16777215 24625]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:WHIP_TITLE)
                      op: Equal
                      rhs: {(SQ <'DietPi - Wireless Network Options'>)}
                      spids: [24922]
                    )
                  ]
                  spids: [24922]
                )
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:mode_current)
                      op: Equal
                      rhs: {(SQ <DHCP>)}
                      spids: [24935]
                    )
                  ]
                  spids: [24933]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_DEqual
                                  left: (ArithWord w:{($ VSub_Name '$WIFI_MODE')})
                                  right: (ArithWord w:{(Lit_Digits 0)})
                                )
                              spids: [24943 24952]
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:mode_current)
                              op: Equal
                              rhs: {(SQ <STATIC>)}
                              spids: [24959]
                            )
                          ]
                          spids: [24959]
                        )
                      ]
                      spids: [16777215 24955]
                    )
                  ]
                  spids: [16777215 24966]
                )
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:mode_target)
                      op: Equal
                      rhs: {(SQ <DHCP>)}
                      spids: [24976]
                    )
                  ]
                  spids: [24974]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_DEqual
                                  left: (ArithWord w:{($ VSub_Name '$WIFI_MODE_TARGET')})
                                  right: (ArithWord w:{(Lit_Digits 0)})
                                )
                              spids: [24984 24993]
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:mode_target)
                              op: Equal
                              rhs: {(SQ <STATIC>)}
                              spids: [25000]
                            )
                          ]
                          spids: [25000]
                        )
                      ]
                      spids: [16777215 24996]
                    )
                  ]
                  spids: [16777215 25007]
                )
                (Sentence
                  child: 
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:whiptail_menu_array)
                          op: PlusEqual
                          rhs: {(ArrayLiteralPart words:[{(DQ (Scan))} {(DQ ('Scan and Connect'))}])}
                          spids: [25011]
                        )
                      ]
                      spids: [25011]
                    )
                  terminator: <Op_Semi ';'>
                )
                (DParen
                  child: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:whip_options_total))
                  spids: [25023 25027]
                )
                (Sentence
                  child: 
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:whiptail_menu_array)
                          op: PlusEqual
                          rhs: 
                            {
                              (ArrayLiteralPart
                                words: [{(DQ (Manual))} {(DQ ('Manually Set Wireless Details'))}]
                              )
                            }
                          spids: [25030]
                        )
                      ]
                      spids: [25030]
                    )
                  terminator: <Op_Semi ';'>
                )
                (DParen
                  child: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:whip_options_total))
                  spids: [25042 25046]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_DPipe
                                  left: (ArithWord w:{($ VSub_Name '$WIFI_CONNECTED')})
                                  right: 
                                    (ArithWord
                                      w: 
                                        {
                                          (CommandSubPart
                                            command_list: 
                                              (CommandList
                                                children: [
                                                  (Pipeline
                                                    children: [
                                                      (C {(systemctl)} {(is-active)} 
                                                        {(dietpi-wifi-monitor.service)}
                                                      )
                                                      (C {(grep)} {(-ci)} {(-m1)} {(SQ <'^active'>)})
                                                    ]
                                                    negated: F
                                                  )
                                                ]
                                              )
                                            left_token: <Left_CommandSub '$('>
                                            spids: [25059 25077]
                                          )
                                        }
                                    )
                                )
                              spids: [25052 25080]
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_Local
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:wifi_auto_reconnect_text)
                              op: Equal
                              rhs: {(SQ <Disabled>)}
                              spids: [25089]
                            )
                          ]
                          spids: [25087]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:WIFI_AUTO_RECONNECT_ACTIVE)
                              op: Equal
                              rhs: {(0)}
                              spids: [25095]
                            )
                          ]
                          spids: [25095]
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (DParen
                                      child: 
                                        (ArithWord
                                          w: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (C {(systemctl)} {(is-active)} 
                                                            {(dietpi-wifi-monitor.service)}
                                                          )
                                                          (C {(grep)} {(-ci)} {(-m1)} {(SQ <'^active'>)})
                                                        ]
                                                        negated: F
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_CommandSub '$('>
                                                spids: [25103 25121]
                                              )
                                            }
                                        )
                                      spids: [25101 25124]
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:WIFI_AUTO_RECONNECT_ACTIVE)
                                      op: Equal
                                      rhs: {(1)}
                                      spids: [25131]
                                    )
                                  ]
                                  spids: [25131]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:wifi_auto_reconnect_text)
                                      op: Equal
                                      rhs: {(SQ <Enabled>)}
                                      spids: [25135]
                                    )
                                  ]
                                  spids: [25135]
                                )
                              ]
                              spids: [16777215 25127]
                            )
                          ]
                          spids: [16777215 25142]
                        )
                        (Sentence
                          child: 
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:whiptail_menu_array)
                                  op: PlusEqual
                                  rhs: 
                                    {
                                      (ArrayLiteralPart
                                        words: [
                                          {(DQ ('Auto Reconnect'))}
                                          {(DQ (': ') ($ VSub_Name '$wifi_auto_reconnect_text'))}
                                        ]
                                      )
                                    }
                                  spids: [25146]
                                )
                              ]
                              spids: [25146]
                            )
                          terminator: <Op_Semi ';'>
                        )
                        (DParen
                          child: 
                            (UnaryAssign
                              op_id: Node_PostDPlus
                              child: (LhsName name:whip_options_total)
                            )
                          spids: [25159 25163]
                        )
                      ]
                      spids: [16777215 25083]
                    )
                  ]
                  spids: [16777215 25167]
                )
                (Sentence
                  child: 
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:whiptail_menu_array)
                          op: PlusEqual
                          rhs: 
                            {
                              (ArrayLiteralPart
                                words: [
                                  {(DQ ('Change Mode'))}
                                  {(DQ (': ') ($ VSub_Name '$mode_target'))}
                                ]
                              )
                            }
                          spids: [25171]
                        )
                      ]
                      spids: [25171]
                    )
                  terminator: <Op_Semi ';'>
                )
                (DParen
                  child: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:whip_options_total))
                  spids: [25184 25188]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_DEqual
                                  left: (ArithWord w:{($ VSub_Name '$WIFI_MODE_TARGET')})
                                  right: (ArithWord w:{(Lit_Digits 0)})
                                )
                              spids: [25198 25207]
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Sentence
                          child: 
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:whiptail_menu_array)
                                  op: PlusEqual
                                  rhs: 
                                    {
                                      (ArrayLiteralPart
                                        words: [{(DQ (Copy))} {(DQ ('Copy Current address to Static'))}]
                                      )
                                    }
                                  spids: [25214]
                                )
                              ]
                              spids: [25214]
                            )
                          terminator: <Op_Semi ';'>
                        )
                        (DParen
                          child: 
                            (UnaryAssign
                              op_id: Node_PostDPlus
                              child: (LhsName name:whip_options_total)
                            )
                          spids: [25226 25230]
                        )
                        (Sentence
                          child: 
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:whiptail_menu_array)
                                  op: PlusEqual
                                  rhs: 
                                    {
                                      (ArrayLiteralPart
                                        words: [
                                          {(DQ ('Static Ip'))}
                                          {(DQ (': ') ($ VSub_Name '$WIFI_IP_STATIC'))}
                                        ]
                                      )
                                    }
                                  spids: [25233]
                                )
                              ]
                              spids: [25233]
                            )
                          terminator: <Op_Semi ';'>
                        )
                        (DParen
                          child: 
                            (UnaryAssign
                              op_id: Node_PostDPlus
                              child: (LhsName name:whip_options_total)
                            )
                          spids: [25246 25250]
                        )
                        (Sentence
                          child: 
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:whiptail_menu_array)
                                  op: PlusEqual
                                  rhs: 
                                    {
                                      (ArrayLiteralPart
                                        words: [
                                          {(DQ ('Static Mask'))}
                                          {(DQ (': ') ($ VSub_Name '$WIFI_MASK_STATIC'))}
                                        ]
                                      )
                                    }
                                  spids: [25253]
                                )
                              ]
                              spids: [25253]
                            )
                          terminator: <Op_Semi ';'>
                        )
                        (DParen
                          child: 
                            (UnaryAssign
                              op_id: Node_PostDPlus
                              child: (LhsName name:whip_options_total)
                            )
                          spids: [25266 25270]
                        )
                        (Sentence
                          child: 
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:whiptail_menu_array)
                                  op: PlusEqual
                                  rhs: 
                                    {
                                      (ArrayLiteralPart
                                        words: [
                                          {(DQ ('Static Gateway'))}
                                          {(DQ (': ') ($ VSub_Name '$WIFI_GATEWAY_STATIC'))}
                                        ]
                                      )
                                    }
                                  spids: [25273]
                                )
                              ]
                              spids: [25273]
                            )
                          terminator: <Op_Semi ';'>
                        )
                        (DParen
                          child: 
                            (UnaryAssign
                              op_id: Node_PostDPlus
                              child: (LhsName name:whip_options_total)
                            )
                          spids: [25286 25290]
                        )
                        (Sentence
                          child: 
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:whiptail_menu_array)
                                  op: PlusEqual
                                  rhs: 
                                    {
                                      (ArrayLiteralPart
                                        words: [
                                          {(DQ ('Static DNS'))}
                                          {(DQ (': ') ($ VSub_Name '$WIFI_DNS_STATIC'))}
                                        ]
                                      )
                                    }
                                  spids: [25293]
                                )
                              ]
                              spids: [25293]
                            )
                          terminator: <Op_Semi ';'>
                        )
                        (DParen
                          child: 
                            (UnaryAssign
                              op_id: Node_PostDPlus
                              child: (LhsName name:whip_options_total)
                            )
                          spids: [25306 25310]
                        )
                      ]
                      spids: [16777215 25210]
                    )
                  ]
                  spids: [16777215 25314]
                )
                (Sentence
                  child: 
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:whiptail_menu_array)
                          op: PlusEqual
                          rhs: 
                            {
                              (ArrayLiteralPart
                                words: [{(DQ (Disable))} {(DQ ('Disable WiFi adapter'))}]
                              )
                            }
                          spids: [25318]
                        )
                      ]
                      spids: [25318]
                    )
                  terminator: <Op_Semi ';'>
                )
                (DParen
                  child: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:whip_options_total))
                  spids: [25330 25334]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:description_text)
                      op: Equal
                      rhs: 
                        {
                          (DQ (' Current Details: ') (Lit_Other '\\') ('n - SSID    = ') 
                            ($ VSub_Name '$WIFI_SSID') (' | ') ($ VSub_Name '$WIFI_BITRATE') (' Mbit | Strength: ') ($ VSub_Name '$WIFI_SIGNALSTRENGTH') 
                            (Lit_Other '\\') ('n - KEY     = ') ($ VSub_Name '$WIFI_KEY') (' ') (Lit_Other '\\') ('n - Mode    = ') 
                            ($ VSub_Name '$mode_current') (' ') (Lit_Other '\\') ('n - Ip      = ') ($ VSub_Name '$WIFI_IP') (Lit_Other '\\') ('n - Mask    = ') 
                            ($ VSub_Name '$WIFI_MASK') (Lit_Other '\\') ('n - DNS     = ') ($ VSub_Name '$WIFI_DNS')
                          )
                        }
                      spids: [25338]
                    )
                  ]
                  spids: [25338]
                )
              ]
              spids: [24918 25369]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$WIFI_COUNTRYCODE'))} {(Lit_Other '=')} 
                          {(DQ (00))} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Sentence
                      child: 
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:whiptail_menu_array)
                              op: PlusEqual
                              rhs: 
                                {
                                  (ArrayLiteralPart
                                    words: [
                                      {(DQ (Country))}
                                      {
                                        (DQ ('Not set, please configure (') 
                                          ($ VSub_Name '$WIFI_COUNTRYCODE') (')')
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [25397]
                            )
                          ]
                          spids: [25397]
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (DParen
                      child: 
                        (UnaryAssign
                          op_id: Node_PostDPlus
                          child: (LhsName name:whip_options_total)
                        )
                      spids: [25411 25415]
                    )
                  ]
                  spids: [16777215 25394]
                )
              ]
              else_action: [
                (Sentence
                  child: 
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:whiptail_menu_array)
                          op: PlusEqual
                          rhs: 
                            {
                              (ArrayLiteralPart
                                words: [{(DQ (Country))} {(DQ (': ') ($ VSub_Name '$WIFI_COUNTRYCODE'))}]
                              )
                            }
                          spids: [25421]
                        )
                      ]
                      spids: [25421]
                    )
                  terminator: <Op_Semi ';'>
                )
                (DParen
                  child: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:whip_options_total))
                  spids: [25434 25438]
                )
              ]
              spids: [25418 25441]
            )
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:whiptail_menu_array)
                      op: PlusEqual
                      rhs: 
                        {
                          (ArrayLiteralPart
                            words: [{(DQ (Apply))} {(DQ ('Save Changes (Restart Networking)'))}]
                          )
                        }
                      spids: [25445]
                    )
                  ]
                  spids: [25445]
                )
              terminator: <Op_Semi ';'>
            )
            (DParen
              child: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:whip_options_total))
              spids: [25457 25461]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_Great
                              left: (ArithWord w:{($ VSub_Name '$whip_options_total')})
                              right: (ArithWord w:{($ VSub_Name '$WHIP_OPTIONS_MAX_DISPLAY')})
                            )
                          spids: [25467 25476]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:whip_options_total)
                          op: Equal
                          rhs: {($ VSub_Name '$WHIP_OPTIONS_MAX_DISPLAY')}
                          spids: [25482]
                        )
                      ]
                      spids: [25482]
                    )
                  ]
                  spids: [16777215 25479]
                )
              ]
              spids: [16777215 25486]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:description_line_count)
                  op: Equal
                  rhs: 
                    {
                      (ArithSubPart
                        anode: 
                          (ArithBinary
                            op_id: Arith_Plus
                            left: (ArithWord w:{(Lit_Digits 7)})
                            right: 
                              (ArithWord
                                w: 
                                  {
                                    (CommandSubPart
                                      command_list: 
                                        (CommandList
                                          children: [
                                            (Pipeline
                                              children: [
                                                (C {(echo)} {(-e)} 
                                                  {(DQ ($ VSub_Name '$description_text'))}
                                                )
                                                (C {(wc)} {(-l)})
                                              ]
                                              negated: F
                                            )
                                          ]
                                        )
                                      left_token: <Left_CommandSub '$('>
                                      spids: [25499 25513]
                                    )
                                  }
                              )
                          )
                        spids: [25493 25516]
                      )
                    }
                  spids: [25492]
                )
              ]
              spids: [25490]
            )
            (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 '$description_text'))}
                                  {(--cancel-button)}
                                  {(DQ ($ VSub_Name '$TEXT_MENU_BACK'))}
                                  {(--backtitle)}
                                  {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))}
                                  {(--default-item)}
                                  {(DQ ($ VSub_Name '$WHIP_SELECTION_PREVIOUS'))}
                                  {
                                    (ArithSubPart
                                      anode: 
                                        (ArithBinary
                                          op_id: Arith_Plus
                                          left: (ArithWord w:{($ VSub_Name '$description_line_count')})
                                          right: (ArithWord w:{($ VSub_Name '$whip_options_total')})
                                        )
                                      spids: [25557 25566]
                                    )
                                  }
                                  {(65)}
                                  {($ VSub_Name '$whip_options_total')}
                                  {
                                    (DQ 
                                      (BracedVarSub
                                        token: <VSub_Name whiptail_menu_array>
                                        bracket_op: (WholeArray op_id:Lit_At)
                                        spids: [25573 25578]
                                      )
                                    )
                                  }
                                ]
                                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: [25524 25589]
                      )
                    }
                  spids: [25523]
                )
              ]
              spids: [25523]
            )
            (C {(unset)} {(whiptail_menu_array)})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:CHOICE)
                  op: Equal
                  rhs: {($ VSub_QMark '$?')}
                  spids: [25603]
                )
              ]
              spids: [25603]
            )
            (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: [25609 25618]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:WHIP_SELECTION_PREVIOUS)
                          op: Equal
                          rhs: {($ VSub_Name '$OPTION')}
                          spids: [25625]
                        )
                      ]
                      spids: [25625]
                    )
                    (Case
                      to_match: {(DQ ($ VSub_Name '$OPTION'))}
                      arms: [
                        (case_arm
                          pat_list: [{(SQ <'Auto Reconnect'>)}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DParen
                                          child: 
                                            (ArithUnary
                                              op_id: Arith_Bang
                                              child: 
                                                (ArithWord
                                                  w: {($ VSub_Name '$WIFI_AUTO_RECONNECT_ACTIVE')}
                                                )
                                            )
                                          spids: [25648 25655]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [(C {(WiFi_Monitor_Enable)})]
                                  spids: [16777215 25658]
                                )
                              ]
                              else_action: [(C {(WiFi_Monitor_Disable)})]
                              spids: [25666 25674]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(10)}
                                  spids: [25682]
                                )
                              ]
                              spids: [25682]
                            )
                          ]
                          spids: [25639 25642 25687 16777215]
                        )
                        (case_arm
                          pat_list: [{(Key)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:OPTION)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (SimpleCommand
                                                words: [
                                                  {(whiptail)}
                                                  {(--inputbox)}
                                                  {
                                                    (DQ 
                                                      (
'Please enter a key/password for the WiFi hotspot'
                                                      ) (Lit_Other '\\') ('n - NB: Minimum of 8 characters')
                                                    )
                                                  }
                                                  {(9)}
                                                  {(70)}
                                                  {(DQ ($ VSub_Name '$HOTSPOT_KEY'))}
                                                  {(--title)}
                                                  {(DQ ('Change Hotspot Access Key'))}
                                                ]
                                                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: [25695 25728]
                                      )
                                    }
                                  spids: [25694]
                                )
                              ]
                              spids: [25694]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:CHOICE)
                                  op: Equal
                                  rhs: {($ VSub_QMark '$?')}
                                  spids: [25731]
                                )
                              ]
                              spids: [25731]
                            )
                            (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: [25737 25746]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:HOTSPOT_KEY)
                                          op: Equal
                                          rhs: {($ VSub_Name '$OPTION')}
                                          spids: [25752]
                                        )
                                      ]
                                      spids: [25752]
                                    )
                                  ]
                                  spids: [16777215 25749]
                                )
                              ]
                              spids: [16777215 25756]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(10)}
                                  spids: [25763]
                                )
                              ]
                              spids: [25763]
                            )
                          ]
                          spids: [25690 25691 25767 16777215]
                        )
                        (case_arm
                          pat_list: [{(SSID)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:OPTION)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (SimpleCommand
                                                words: [
                                                  {(whiptail)}
                                                  {(--inputbox)}
                                                  {(DQ ('Please enter a SSID for the WiFi hotspot'))}
                                                  {(8)}
                                                  {(65)}
                                                  {(DQ ($ VSub_Name '$HOTSPOT_SSID'))}
                                                  {(--title)}
                                                  {(DQ ('Change Hotspot SSID'))}
                                                ]
                                                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: [25775 25806]
                                      )
                                    }
                                  spids: [25774]
                                )
                              ]
                              spids: [25774]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:CHOICE)
                                  op: Equal
                                  rhs: {($ VSub_QMark '$?')}
                                  spids: [25809]
                                )
                              ]
                              spids: [25809]
                            )
                            (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: [25815 25824]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:HOTSPOT_SSID)
                                          op: Equal
                                          rhs: {($ VSub_Name '$OPTION')}
                                          spids: [25830]
                                        )
                                      ]
                                      spids: [25830]
                                    )
                                  ]
                                  spids: [16777215 25827]
                                )
                              ]
                              spids: [16777215 25834]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(10)}
                                  spids: [25842]
                                )
                              ]
                              spids: [25842]
                            )
                          ]
                          spids: [25770 25771 25846 16777215]
                        )
                        (case_arm
                          pat_list: [{(Channel)}]
                          action: [
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:whiptail_menu_array)
                                  op: Equal
                                  rhs: {(ArrayLiteralPart)}
                                  spids: [25859]
                                )
                              ]
                              spids: [25857]
                            )
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:channel_mhz)
                                  op: Equal
                                  rhs: {(2412)}
                                  spids: [25866]
                                )
                              ]
                              spids: [25864]
                            )
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:channel_min)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [25872]
                                )
                              ]
                              spids: [25870]
                            )
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:channel_max)
                                  op: Equal
                                  rhs: {(13)}
                                  spids: [25878]
                                )
                              ]
                              spids: [25876]
                            )
                            (ForExpr
                              init: 
                                (BinaryAssign
                                  op_id: Arith_Equal
                                  left: (LhsName name:i)
                                  right: (ArithWord w:{($ VSub_Name '$channel_min')})
                                )
                              cond: 
                                (ArithBinary
                                  op_id: Arith_LessEqual
                                  left: (ArithVarRef name:i)
                                  right: (ArithWord w:{($ VSub_Name '$channel_max')})
                                )
                              update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i))
                              body: 
                                (DoGroup
                                  children: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:whiptail_menu_array)
                                          op: PlusEqual
                                          rhs: 
                                            {
                                              (ArrayLiteralPart
                                                words: [
                                                  {(DQ ($ VSub_Name '$i') (' '))}
                                                  {(DQ ($ VSub_Name '$channel_mhz') (' MHz'))}
                                                ]
                                              )
                                            }
                                          spids: [25904]
                                        )
                                      ]
                                      spids: [25904]
                                    )
                                    (DParen
                                      child: 
                                        (BinaryAssign
                                          op_id: Arith_PlusEqual
                                          left: (LhsName name:channel_mhz)
                                          right: (ArithWord w:{(Lit_Digits 5)})
                                        )
                                      spids: [25918 25926]
                                    )
                                  ]
                                  spids: [25901 25929]
                                )
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:OPTION)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (SimpleCommand
                                                words: [
                                                  {(whiptail)}
                                                  {(--title)}
                                                  {(DQ ('Change Hotspot Channel'))}
                                                  {(--menu)}
                                                  {
                                                    (DQ 
                                                      (
'Please select a WiFi channel for the hotspot.'
                                                      )
                                                    )
                                                  }
                                                  {(--cancel-button)}
                                                  {(DQ ($ VSub_Name '$TEXT_MENU_BACK'))}
                                                  {(--backtitle)}
                                                  {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))}
                                                  {(16)}
                                                  {(60)}
                                                  {(7)}
                                                  {
                                                    (DQ 
                                                      (BracedVarSub
                                                        token: <VSub_Name whiptail_menu_array>
                                                        bracket_op: (WholeArray op_id:Lit_At)
                                                        spids: [25968 25973]
                                                      )
                                                    )
                                                  }
                                                ]
                                                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: [25934 25984]
                                      )
                                    }
                                  spids: [25933]
                                )
                              ]
                              spids: [25933]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:CHOICE)
                                  op: Equal
                                  rhs: {($ VSub_QMark '$?')}
                                  spids: [25987]
                                )
                              ]
                              spids: [25987]
                            )
                            (C {(unset)} {(whiptail_menu_array)})
                            (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: [26000 26009]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:HOTSPOT_CHANNEL)
                                          op: Equal
                                          rhs: {($ VSub_Name '$OPTION')}
                                          spids: [26015]
                                        )
                                      ]
                                      spids: [26015]
                                    )
                                  ]
                                  spids: [16777215 26012]
                                )
                              ]
                              spids: [16777215 26019]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(10)}
                                  spids: [26027]
                                )
                              ]
                              spids: [26027]
                            )
                          ]
                          spids: [25849 25850 26031 16777215]
                        )
                        (case_arm
                          pat_list: [{(Country)}]
                          action: [
                            (C {(Change_WifiCountryCode)})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(10)}
                                  spids: [26045]
                                )
                              ]
                              spids: [26045]
                            )
                          ]
                          spids: [26034 26035 26049 16777215]
                        )
                        (case_arm
                          pat_list: [{(Disable)}]
                          action: [
                            (C {(whiptail)} {(--title)} {(DQ ('WiFi is Enabled'))} {(--yesno)} 
                              {
                                (DQ ('Would you like to disable the WiFi adapter?') (Lit_Other '\\') 
                                  ('n - (NOTICE) All WiFi connections will be dropped.')
                                )
                              } {(--yes-button)} {(DQ (Ok))} {(--no-button)} {(DQ (Back))} {(--defaultno)} {(--backtitle)} 
                              {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))} {(10)} {(60)}
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:CHOICE)
                                  op: Equal
                                  rhs: {($ VSub_QMark '$?')}
                                  spids: [26097]
                                )
                              ]
                              spids: [26097]
                            )
                            (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: [26107 26116]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:WIFI_DISABLED)
                                          op: Equal
                                          rhs: {(1)}
                                          spids: [26123]
                                        )
                                      ]
                                      spids: [26123]
                                    )
                                    (C {(WiFi_Monitor_Disable)})
                                    (C {(Network_ApplyChanges)})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:TARGETMENUID)
                                          op: Equal
                                          rhs: {(8)}
                                          spids: [26134]
                                        )
                                      ]
                                      spids: [26134]
                                    )
                                  ]
                                  spids: [16777215 26119]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:TARGETMENUID)
                                      op: Equal
                                      rhs: {(10)}
                                      spids: [26145]
                                    )
                                  ]
                                  spids: [26145]
                                )
                              ]
                              spids: [26138 26149]
                            )
                          ]
                          spids: [26052 26053 26152 16777215]
                        )
                        (case_arm
                          pat_list: [{(Scan)}]
                          action: [
                            (C {(Scan_Wifi)})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(10)}
                                  spids: [26166]
                                )
                              ]
                              spids: [26166]
                            )
                          ]
                          spids: [26155 26156 26170 16777215]
                        )
                        (case_arm
                          pat_list: [{(Manual)}]
                          action: [
                            (C {(Change_WifiSsid)})
                            (C {(Change_WifiKey)})
                            (C {(Wifi_Reconnect)})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(10)}
                                  spids: [26190]
                                )
                              ]
                              spids: [26190]
                            )
                          ]
                          spids: [26173 26174 26194 16777215]
                        )
                        (case_arm
                          pat_list: [{(DQ ('Change Mode'))}]
                          action: [
                            (DParen
                              child: 
                                (UnaryAssign
                                  op_id: Node_PostDPlus
                                  child: (LhsName name:WIFI_MODE_TARGET)
                                )
                              spids: [26203 26207]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DParen
                                          child: 
                                            (ArithBinary
                                              op_id: Arith_GreatEqual
                                              left: (ArithWord w:{($ VSub_Name '$WIFI_MODE_TARGET')})
                                              right: (ArithWord w:{(Lit_Digits 2)})
                                            )
                                          spids: [26212 26221]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:WIFI_MODE_TARGET)
                                          op: Equal
                                          rhs: {(0)}
                                          spids: [26227]
                                        )
                                      ]
                                      spids: [26227]
                                    )
                                  ]
                                  spids: [16777215 26224]
                                )
                              ]
                              spids: [16777215 26231]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(10)}
                                  spids: [26238]
                                )
                              ]
                              spids: [26238]
                            )
                          ]
                          spids: [26197 26200 26242 16777215]
                        )
                        (case_arm
                          pat_list: [{(Apply)}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DParen
                                          child: 
                                            (ArithBinary
                                              op_id: Arith_DEqual
                                              left: (ArithWord w:{($ VSub_Name '$WIFI_HOTSPOT')})
                                              right: (ArithWord w:{(Lit_Digits 1)})
                                            )
                                          spids: [26251 26260]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(sed)} {(-i)} 
                                      {
                                        (DQ ('/SOFTWARE_WIFI_HOTSPOT_SSID=/c') (Lit_Other '\\') 
                                          ('SOFTWARE_WIFI_HOTSPOT_SSID=') ($ VSub_Name '$HOTSPOT_SSID')
                                        )
                                      } {(/DietPi/dietpi.txt)}
                                    )
                                    (C {(sed)} {(-i)} 
                                      {
                                        (DQ ('/SOFTWARE_WIFI_HOTSPOT_CHANNEL=/c') (Lit_Other '\\') 
                                          ('SOFTWARE_WIFI_HOTSPOT_CHANNEL=') ($ VSub_Name '$HOTSPOT_CHANNEL')
                                        )
                                      } {(/DietPi/dietpi.txt)}
                                    )
                                    (C {(sed)} {(-i)} 
                                      {
                                        (DQ ('/SOFTWARE_WIFI_HOTSPOT_KEY=/c') (Lit_Other '\\') 
                                          ('SOFTWARE_WIFI_HOTSPOT_KEY=') ($ VSub_Name '$HOTSPOT_KEY')
                                        )
                                      } {(/DietPi/dietpi.txt)}
                                    )
                                    (C {(sed)} {(-i)} 
                                      {
                                        (DQ ('/ssid=/c') (Lit_Other '\\') ('ssid=') 
                                          ($ VSub_Name '$HOTSPOT_SSID')
                                        )
                                      } {(/etc/hostapd/hostapd.conf)}
                                    )
                                    (C {(sed)} {(-i)} 
                                      {
                                        (DQ ('/channel=/c') (Lit_Other '\\') ('channel=') 
                                          ($ VSub_Name '$HOTSPOT_CHANNEL')
                                        )
                                      } {(/etc/hostapd/hostapd.conf)}
                                    )
                                    (C {(sed)} {(-i)} 
                                      {
                                        (DQ ('/wpa_passphrase=/c') (Lit_Other '\\') ('wpa_passphrase=') 
                                          ($ VSub_Name '$HOTSPOT_KEY')
                                        )
                                      } {(/etc/hostapd/hostapd.conf)}
                                    )
                                    (C {(Network_ApplyChanges)})
                                  ]
                                  spids: [16777215 26263]
                                )
                              ]
                              else_action: [(C {(Wifi_Reconnect)})]
                              spids: [26368 26374]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(10)}
                                  spids: [26382]
                                )
                              ]
                              spids: [26382]
                            )
                          ]
                          spids: [26245 26246 26386 16777215]
                        )
                        (case_arm
                          pat_list: [{(Copy)}]
                          action: [
                            (C {(Network_WIFI_CopyCurrentToStatic)})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(10)}
                                  spids: [26400]
                                )
                              ]
                              spids: [26400]
                            )
                          ]
                          spids: [26389 26390 26404 16777215]
                        )
                        (case_arm
                          pat_list: [{(DQ ('Static Ip'))}]
                          action: [
                            (C {(Change_StaticIp)} {(1)})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(10)}
                                  spids: [26422]
                                )
                              ]
                              spids: [26422]
                            )
                          ]
                          spids: [26407 26410 26426 16777215]
                        )
                        (case_arm
                          pat_list: [{(DQ ('Static Gateway'))}]
                          action: [
                            (C {(Change_StaticGateway)} {(1)})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(10)}
                                  spids: [26444]
                                )
                              ]
                              spids: [26444]
                            )
                          ]
                          spids: [26429 26432 26448 16777215]
                        )
                        (case_arm
                          pat_list: [{(DQ ('Static Mask'))}]
                          action: [
                            (C {(Change_StaticMask)} {(1)})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(10)}
                                  spids: [26466]
                                )
                              ]
                              spids: [26466]
                            )
                          ]
                          spids: [26451 26454 26470 16777215]
                        )
                        (case_arm
                          pat_list: [{(DQ ('Static DNS'))}]
                          action: [
                            (C {(Change_StaticDns)} {(1)})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(10)}
                                  spids: [26488]
                                )
                              ]
                              spids: [26488]
                            )
                          ]
                          spids: [26473 26476 26492 16777215]
                        )
                        (case_arm
                          pat_list: [{(State)}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DParen
                                          child: (ArithWord w:{($ VSub_Name '$hotspot_active_state')})
                                          spids: [26502 26507]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [(C {(systemctl)} {(stop)} {(hostapd)})]
                                  spids: [16777215 26510]
                                )
                              ]
                              else_action: [(C {(systemctl)} {(start)} {(hostapd)})]
                              spids: [26522 26534]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(10)}
                                  spids: [26542]
                                )
                              ]
                              spids: [26542]
                            )
                          ]
                          spids: [26495 26496 26547 16777215]
                        )
                      ]
                      spids: [25630 25636 26550]
                    )
                  ]
                  spids: [16777215 25621]
                )
              ]
              spids: [16777215 26553]
            )
          ]
          spids: [24577]
        )
      spids: [24574 24577]
    )
    (FuncDef
      name: Menu_Tools
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:TARGETMENUID) op:Equal rhs:{(0)} spids:[26572])]
              spids: [26572]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:WHIP_TITLE)
                  op: Equal
                  rhs: {(SQ <'DietPi - Tools'>)}
                  spids: [26577]
                )
              ]
              spids: [26577]
            )
            (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 ('Please select an option:'))}
                                  {(--cancel-button)}
                                  {(DQ ($ VSub_Name '$TEXT_MENU_BACK'))}
                                  {(--backtitle)}
                                  {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))}
                                  {(10)}
                                  {(70)}
                                  {(2)}
                                  {(DQ (Benchmarks))}
                                  {(DQ ('Filesystem and RAM benchmarks.'))}
                                  {(DQ ('Stress Test'))}
                                  {(DQ ('CPU Burn and system stability tests (CPU/IO/RAM)'))}
                                ]
                                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: [26584 26645]
                      )
                    }
                  spids: [26583]
                )
              ]
              spids: [26583]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:CHOICE)
                  op: Equal
                  rhs: {($ VSub_QMark '$?')}
                  spids: [26648]
                )
              ]
              spids: [26648]
            )
            (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: [26654 26663]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Case
                      to_match: {(DQ ($ VSub_Name '$OPTION'))}
                      arms: [
                        (case_arm
                          pat_list: [{(Benchmarks)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(12)}
                                  spids: [26685]
                                )
                              ]
                              spids: [26685]
                            )
                          ]
                          spids: [26680 26681 26690 16777215]
                        )
                        (case_arm
                          pat_list: [{(SQ <'Stress Test'>)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(15)}
                                  spids: [26701]
                                )
                              ]
                              spids: [26701]
                            )
                          ]
                          spids: [26694 26697 26706 16777215]
                        )
                      ]
                      spids: [26670 26676 26710]
                    )
                  ]
                  spids: [16777215 26666]
                )
              ]
              spids: [16777215 26714]
            )
          ]
          spids: [26568]
        )
      spids: [26565 26568]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:CPUBENCH_TIME)
          op: Equal
          rhs: {(SQ <'Not Tested'>)}
          spids: [26726]
        )
      ]
      spids: [26726]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:CPUBENCH_INT_MAX)
          op: Equal
          rhs: {(1000000)}
          spids: [26732]
        )
      ]
      spids: [26732]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:SD_WRITE)
          op: Equal
          rhs: {(SQ <'Not Tested'>)}
          spids: [26736]
        )
      ]
      spids: [26736]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:SD_READ)
          op: Equal
          rhs: {(SQ <'Not Tested'>)}
          spids: [26742]
        )
      ]
      spids: [26742]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:USB_WRITE)
          op: Equal
          rhs: {(SQ <'Not Tested'>)}
          spids: [26748]
        )
      ]
      spids: [26748]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:USB_READ)
          op: Equal
          rhs: {(SQ <'Not Tested'>)}
          spids: [26754]
        )
      ]
      spids: [26754]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:RAM_WRITE)
          op: Equal
          rhs: {(SQ <'Not Tested'>)}
          spids: [26760]
        )
      ]
      spids: [26760]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:RAM_READ)
          op: Equal
          rhs: {(SQ <'Not Tested'>)}
          spids: [26766]
        )
      ]
      spids: [26766]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:CUSTOM_WRITE)
          op: Equal
          rhs: {(SQ <'Not Tested'>)}
          spids: [26772]
        )
      ]
      spids: [26772]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:CUSTOM_READ)
          op: Equal
          rhs: {(SQ <'Not Tested'>)}
          spids: [26778]
        )
      ]
      spids: [26778]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:FP_CUSTOM_MOUNT) op:Equal rhs:{(SQ )} spids:[26784])]
      spids: [26784]
    )
    (FuncDef
      name: Run_FilesystemBenchmark
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:device_index)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [26799]
                )
              ]
              spids: [26797]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:benchmark_temp_file)
                  op: Equal
                  rhs: {(DQ )}
                  spids: [26805]
                )
              ]
              spids: [26803]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:read_speed) op:Equal rhs:{(0)} spids:[26812])]
              spids: [26810]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:write_speed) op:Equal rhs:{(0)} spids:[26818])]
              spids: [26816]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:run_benchmark) op:Equal rhs:{(1)} spids:[26824])]
              spids: [26822]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:benchmark_filesize)
                  op: Equal
                  rhs: {(0)}
                  spids: [26830]
                )
              ]
              spids: [26828]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:benchmark_filesystem_freespace)
                  op: Equal
                  rhs: {(0)}
                  spids: [26836]
                )
              ]
              spids: [26834]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:benchmark_filesystem_offset)
                  op: Equal
                  rhs: {(10)}
                  spids: [26842]
                )
              ]
              spids: [26840]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:text_info_test_name)
                  op: Equal
                  rhs: {(DQ )}
                  spids: [26848]
                )
              ]
              spids: [26846]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:min_benchmark_size)
                  op: Equal
                  rhs: {(10)}
                  spids: [26855]
                )
              ]
              spids: [26853]
            )
            (C {(clear)})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$device_index')})
                              right: (ArithWord w:{(Lit_Digits 0)})
                            )
                          spids: [26870 26879]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:text_info_test_name)
                          op: Equal
                          rhs: {(SQ <RootFS>)}
                          spids: [26886]
                        )
                      ]
                      spids: [26886]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:benchmark_temp_file)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$HOME') (/benchmark.file))}
                          spids: [26892]
                        )
                      ]
                      spids: [26892]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:benchmark_filesystem_freespace)
                          op: Equal
                          rhs: 
                            {
                              (ArithSubPart
                                anode: 
                                  (ArithBinary
                                    op_id: Arith_Minus
                                    left: 
                                      (ArithWord
                                        w: 
                                          {
                                            (CommandSubPart
                                              command_list: 
                                                (CommandList
                                                  children: [
                                                    (Pipeline
                                                      children: [
                                                        (C {(df)} {(-m)})
                                                        (C {(grep)} {(-m1)} 
                                                          {
                                                            (DQ 
                                                              (CommandSubPart
                                                                command_list: 
                                                                  (CommandList
                                                                    children: [
                                                                      (C {(sed)} {(-n)} {(4p)} 
                                                                        {(/DietPi/dietpi/.hw_model)}
                                                                      )
                                                                    ]
                                                                  )
                                                                left_token: <Left_CommandSub '$('>
                                                                spids: [26914 26922]
                                                              )
                                                            )
                                                          }
                                                        )
                                                        (C {(awk)} {(SQ <'{print $4}'>)})
                                                      ]
                                                      negated: F
                                                    )
                                                  ]
                                                )
                                              left_token: <Left_CommandSub '$('>
                                              spids: [26902 26932]
                                            )
                                          }
                                      )
                                    right: (ArithWord w:{($ VSub_Name '$benchmark_filesystem_offset')})
                                  )
                                spids: [26900 26939]
                              )
                            }
                          spids: [26899]
                        )
                      ]
                      spids: [26899]
                    )
                  ]
                  spids: [16777215 26882]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$device_index')})
                              right: (ArithWord w:{(Lit_Digits 1)})
                            )
                          spids: [26945 26954]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:text_info_test_name)
                          op: Equal
                          rhs: {(SQ <'USB harddrive'>)}
                          spids: [26961]
                        )
                      ]
                      spids: [26961]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:benchmark_temp_file)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (Pipeline
                                          children: [
                                            (C {(df)} {(-P)})
                                            (C {(grep)} {(-m1)} {(SQ <'^/dev/sda1'>)})
                                            (C {(awk)} {(SQ <'{print $6}'>)})
                                          ]
                                          negated: F
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [26969 26991]
                                ) (/benchmark.file)
                              )
                            }
                          spids: [26967]
                        )
                      ]
                      spids: [26967]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:benchmark_filesystem_freespace)
                          op: Equal
                          rhs: 
                            {
                              (ArithSubPart
                                anode: 
                                  (ArithBinary
                                    op_id: Arith_Minus
                                    left: 
                                      (ArithWord
                                        w: 
                                          {
                                            (CommandSubPart
                                              command_list: 
                                                (CommandList
                                                  children: [
                                                    (Pipeline
                                                      children: [
                                                        (C {(df)} {(-m)})
                                                        (C {(grep)} {(-m1)} {(SQ <'^/dev/sda1'>)})
                                                        (C {(awk)} {(SQ <'{print $4}'>)})
                                                      ]
                                                      negated: F
                                                    )
                                                  ]
                                                )
                                              left_token: <Left_CommandSub '$('>
                                              spids: [26999 27021]
                                            )
                                          }
                                      )
                                    right: (ArithWord w:{($ VSub_Name '$benchmark_filesystem_offset')})
                                  )
                                spids: [26997 27028]
                              )
                            }
                          spids: [26996]
                        )
                      ]
                      spids: [26996]
                    )
                  ]
                  spids: [26943 26957]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$device_index')})
                              right: (ArithWord w:{(Lit_Digits 2)})
                            )
                          spids: [27034 27043]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:text_info_test_name)
                          op: Equal
                          rhs: {(SQ <RAM>)}
                          spids: [27050]
                        )
                      ]
                      spids: [27050]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:benchmark_temp_file)
                          op: Equal
                          rhs: {(SQ </tmp/benchmark.file>)}
                          spids: [27056]
                        )
                      ]
                      spids: [27056]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:benchmark_filesystem_freespace)
                          op: Equal
                          rhs: 
                            {
                              (ArithSubPart
                                anode: 
                                  (ArithBinary
                                    op_id: Arith_Minus
                                    left: 
                                      (ArithWord
                                        w: 
                                          {
                                            (CommandSubPart
                                              command_list: 
                                                (CommandList
                                                  children: [
                                                    (Pipeline
                                                      children: [
                                                        (C {(df)} {(-m)})
                                                        (C {(grep)} {(-m1)} {(SQ </tmp>)})
                                                        (C {(awk)} {(SQ <'{print $4}'>)})
                                                      ]
                                                      negated: F
                                                    )
                                                  ]
                                                )
                                              left_token: <Left_CommandSub '$('>
                                              spids: [27065 27087]
                                            )
                                          }
                                      )
                                    right: (ArithWord w:{($ VSub_Name '$benchmark_filesystem_offset')})
                                  )
                                spids: [27063 27094]
                              )
                            }
                          spids: [27062]
                        )
                      ]
                      spids: [27062]
                    )
                  ]
                  spids: [27032 27046]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$device_index')})
                              right: (ArithWord w:{(Lit_Digits 3)})
                            )
                          spids: [27100 27109]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:text_info_test_name)
                          op: Equal
                          rhs: {(SQ <Custom>)}
                          spids: [27116]
                        )
                      ]
                      spids: [27116]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:benchmark_temp_file)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$FP_CUSTOM_MOUNT') (/benchmark.file))}
                          spids: [27122]
                        )
                      ]
                      spids: [27122]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:benchmark_filesystem_freespace)
                          op: Equal
                          rhs: 
                            {
                              (ArithSubPart
                                anode: 
                                  (ArithBinary
                                    op_id: Arith_Minus
                                    left: 
                                      (ArithWord
                                        w: 
                                          {
                                            (CommandSubPart
                                              command_list: 
                                                (CommandList
                                                  children: [
                                                    (Pipeline
                                                      children: [
                                                        (C {(df)} {(-m)})
                                                        (C {(grep)} {(-m1)} 
                                                          {
                                                            (DQ ($ VSub_Name '$FP_CUSTOM_MOUNT') 
                                                              (Lit_Other '$')
                                                            )
                                                          }
                                                        )
                                                        (C {(awk)} {(SQ <'{print $4}'>)})
                                                      ]
                                                      negated: F
                                                    )
                                                  ]
                                                )
                                              left_token: <Left_CommandSub '$('>
                                              spids: [27132 27155]
                                            )
                                          }
                                      )
                                    right: (ArithWord w:{($ VSub_Name '$benchmark_filesystem_offset')})
                                  )
                                spids: [27130 27162]
                              )
                            }
                          spids: [27129]
                        )
                      ]
                      spids: [27129]
                    )
                  ]
                  spids: [27098 27112]
                )
              ]
              spids: [16777215 27166]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_Less
                              left: (ArithWord w:{($ VSub_Name '$benchmark_filesystem_freespace')})
                              right: (ArithWord w:{($ VSub_Name '$min_benchmark_size')})
                            )
                          spids: [27176 27185]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:run_benchmark)
                          op: Equal
                          rhs: {(0)}
                          spids: [27192]
                        )
                      ]
                      spids: [27192]
                    )
                    (C {(echo)} {(-e)} 
                      {
                        (DQ ('(EE): Insufficient space to run ') ($ VSub_Name '$text_info_test_name') 
                          (' filesystem benchmark.') (Lit_Other '\\') ('n - Available space: ') ($ VSub_Name '$benchmark_filesystem_freespace') (' MB') 
                          (Lit_Other '\\') ('n - Space required: ') ($ VSub_Name '$min_benchmark_size') (' MB')
                        )
                      }
                    )
                    (C {(echo)} {(-e)} {(DQ )})
                    (C {(read)} {(-p)} {(DQ ('Press any key to continue.....'))})
                  ]
                  spids: [16777215 27188]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:benchmark_filesize)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (SimpleCommand
                                    words: [
                                      {(whiptail)}
                                      {(--inputbox)}
                                      {
                                        (DQ 
                                          (
'Please enter a filesize test value (MB). A value of 100 is recommended.'
                                          ) (Lit_Other '\\') ('n- Minimum value: ') ($ VSub_Name '$min_benchmark_size') (Lit_Other '\\') 
                                          ('n- Maximum possible value: ') ($ VSub_Name '$benchmark_filesystem_freespace')
                                        )
                                      }
                                      {(10)}
                                      {(70)}
                                      {(DQ (100))}
                                      {(--title)}
                                      {(DQ ('Benchmark File Size (MB)'))}
                                    ]
                                    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: [27242 27279]
                          )
                        }
                      spids: [27241]
                    )
                  ]
                  spids: [27241]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:CHOICE)
                      op: Equal
                      rhs: {($ VSub_QMark '$?')}
                      spids: [27282]
                    )
                  ]
                  spids: [27282]
                )
                (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: [27288 27297]
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (AndOr
                                      ops: [Op_DAmp]
                                      children: [
                                        (DBracket
                                          expr: 
                                            (BoolBinary
                                              op_id: BoolBinary_EqualTilde
                                              left: {($ VSub_Name '$benchmark_filesize')}
                                              right: 
                                                {(Lit_Other '^') (-) (Lit_Other '?') (Lit_Other '[') 
                                                  (0-9) (Lit_Other ']') (Lit_Other '+') (Lit_Other '$')
                                                }
                                            )
                                        )
                                        (DParen
                                          child: 
                                            (ArithBinary
                                              op_id: Arith_Great
                                              left: (ArithWord w:{($ VSub_Name '$benchmark_filesize')})
                                              right: (ArithWord w:{(Lit_Digits 0)})
                                            )
                                          spids: [27329 27338]
                                        )
                                      ]
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (DParen
                                              child: 
                                                (ArithBinary
                                                  op_id: Arith_Less
                                                  left: 
                                                    (ArithWord
                                                      w: 
                                                        {
                                                          ($ VSub_Name 
'$benchmark_filesystem_freespace'
                                                          )
                                                        }
                                                    )
                                                  right: 
                                                    (ArithWord
                                                      w: {($ VSub_Name '$benchmark_filesize')}
                                                    )
                                                )
                                              spids: [27351 27360]
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:run_benchmark)
                                              op: Equal
                                              rhs: {(0)}
                                              spids: [27367]
                                            )
                                          ]
                                          spids: [27367]
                                        )
                                        (C {(echo)} {(-e)} 
                                          {
                                            (DQ ('(EE): Insufficient space to run ') 
                                              ($ VSub_Name '$text_info_test_name') (' filesystem benchmark.') (Lit_Other '\\') ('n - Requested benchmark size: ') 
                                              ($ VSub_Name '$benchmark_filesize') (' MB') (Lit_Other '\\') ('n - Available space for benchmark: ') 
                                              ($ VSub_Name '$benchmark_filesystem_freespace') (' MB')
                                            )
                                          }
                                        )
                                        (C {(echo)} {(-e)} {(DQ )})
                                        (C {(read)} {(-p)} {(DQ ('Press any key to continue.....'))})
                                      ]
                                      spids: [16777215 27363]
                                    )
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (DParen
                                              child: 
                                                (ArithBinary
                                                  op_id: Arith_Less
                                                  left: 
                                                    (ArithWord
                                                      w: {($ VSub_Name '$benchmark_filesize')}
                                                    )
                                                  right: 
                                                    (ArithWord
                                                      w: {($ VSub_Name '$min_benchmark_size')}
                                                    )
                                                )
                                              spids: [27414 27423]
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:run_benchmark)
                                              op: Equal
                                              rhs: {(0)}
                                              spids: [27430]
                                            )
                                          ]
                                          spids: [27430]
                                        )
                                        (C {(echo)} {(-e)} 
                                          {
                                            (DQ ('(EE): Your requested benchmark size of ') 
                                              ($ VSub_Name '$benchmark_filesize') (' MB is too small.')
                                            )
                                          }
                                        )
                                        (C {(echo)} {(-e)} {(DQ )})
                                        (C {(read)} {(-p)} {(DQ ('Press any key to continue.....'))})
                                      ]
                                      spids: [27412 27426]
                                    )
                                  ]
                                  spids: [16777215 27463]
                                )
                              ]
                              spids: [16777215 27341]
                            )
                          ]
                          else_action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:run_benchmark)
                                  op: Equal
                                  rhs: {(0)}
                                  spids: [27475]
                                )
                              ]
                              spids: [27475]
                            )
                          ]
                          spids: [27467 27480]
                        )
                      ]
                      spids: [16777215 27300]
                    )
                  ]
                  else_action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:run_benchmark)
                          op: Equal
                          rhs: {(0)}
                          spids: [27492]
                        )
                      ]
                      spids: [27492]
                    )
                  ]
                  spids: [27488 27497]
                )
              ]
              spids: [27237 27501]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$run_benchmark')})
                              right: (ArithWord w:{(Lit_Digits 1)})
                            )
                          spids: [27511 27520]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(G_DIETPI-NOTIFY)} {(2)} 
                      {
                        (DQ ('Performing ') ($ VSub_Name '$text_info_test_name') 
                          (' benchmark, please wait...')
                        )
                      }
                    )
                    (C {(G_DIETPI-NOTIFY)} {(2)} 
                      {
                        (DQ ('Testing Seq Write Speed (') ($ VSub_Name '$benchmark_filesize') (' MB)'))
                      }
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: (ArithWord w:{($ VSub_Name '$G_DISTRO')})
                                      right: (ArithWord w:{(Lit_Digits 3)})
                                    )
                                  spids: [27553 27562]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:write_speed)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (SimpleCommand
                                                    words: [
                                                      {(dd)}
                                                      {(Lit_VarLike 'bs=') (4K)}
                                                      {(Lit_VarLike 'count=') 
                                                        (ArithSubPart
                                                          anode: 
                                                            (ArithBinary
                                                              op_id: Arith_Slash
                                                              left: 
                                                                (ArithBinary
                                                                  op_id: Arith_Star
                                                                  left: 
                                                                    (ArithWord
                                                                      w: 
                                                                        {
                                                                          ($ VSub_Name 
'$benchmark_filesize'
                                                                          )
                                                                        }
                                                                    )
                                                                  right: 
                                                                    (ArithWord
                                                                      w: {(Lit_Digits 1024)}
                                                                    )
                                                                )
                                                              right: (ArithWord w:{(Lit_Digits 4)})
                                                            )
                                                          spids: [27577 27590]
                                                        )
                                                      }
                                                      {(Lit_VarLike 'if=') (/dev/zero)}
                                                      {(Lit_VarLike 'of=') 
                                                        ($ VSub_Name '$benchmark_temp_file')
                                                      }
                                                      {(Lit_VarLike 'conv=') (fdatasync)}
                                                    ]
                                                    redirects: [
                                                      (Redir
                                                        op: <Redir_GreatAnd '2>&'>
                                                        fd: 2
                                                        arg_word: {(1)}
                                                      )
                                                    ]
                                                  )
                                                  (C {(grep)} {(SQ <MB>)})
                                                  (C {(awk)} {(SQ <'{print $8, $9}'>)})
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [27570 27619]
                                      )
                                    }
                                  spids: [27569]
                                )
                              ]
                              spids: [27569]
                            )
                          ]
                          spids: [16777215 27565]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: (ArithWord w:{($ VSub_Name '$G_DISTRO')})
                                      right: (ArithWord w:{(Lit_Digits 4)})
                                    )
                                  spids: [27625 27634]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:write_speed)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (SimpleCommand
                                                    words: [
                                                      {(dd)}
                                                      {(Lit_VarLike 'bs=') (4K)}
                                                      {(Lit_VarLike 'count=') 
                                                        (ArithSubPart
                                                          anode: 
                                                            (ArithBinary
                                                              op_id: Arith_Slash
                                                              left: 
                                                                (ArithBinary
                                                                  op_id: Arith_Star
                                                                  left: 
                                                                    (ArithWord
                                                                      w: 
                                                                        {
                                                                          ($ VSub_Name 
'$benchmark_filesize'
                                                                          )
                                                                        }
                                                                    )
                                                                  right: 
                                                                    (ArithWord
                                                                      w: {(Lit_Digits 1024)}
                                                                    )
                                                                )
                                                              right: (ArithWord w:{(Lit_Digits 4)})
                                                            )
                                                          spids: [27649 27662]
                                                        )
                                                      }
                                                      {(Lit_VarLike 'if=') (/dev/zero)}
                                                      {(Lit_VarLike 'of=') 
                                                        ($ VSub_Name '$benchmark_temp_file')
                                                      }
                                                      {(Lit_VarLike 'conv=') (fdatasync)}
                                                    ]
                                                    redirects: [
                                                      (Redir
                                                        op: <Redir_GreatAnd '2>&'>
                                                        fd: 2
                                                        arg_word: {(1)}
                                                      )
                                                    ]
                                                  )
                                                  (C {(grep)} {(SQ <MB>)})
                                                  (C {(awk)} {(SQ <'{print $10, $11}'>)})
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [27642 27691]
                                      )
                                    }
                                  spids: [27641]
                                )
                              ]
                              spids: [27641]
                            )
                          ]
                          spids: [27623 27637]
                        )
                      ]
                      spids: [16777215 27695]
                    )
                    (C {(sync)})
                    (SimpleCommand
                      words: [{(echo)} {(3)}]
                      redirects: [
                        (Redir
                          op: <Redir_Great '>'>
                          fd: 16777215
                          arg_word: {(/proc/sys/vm/drop_caches)}
                        )
                      ]
                    )
                    (C {(G_DIETPI-NOTIFY)} {(2)} 
                      {
                        (DQ ('Testing Seq Read Speed (') ($ VSub_Name '$benchmark_filesize') (' MB)'))
                      }
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: (ArithWord w:{($ VSub_Name '$G_DISTRO')})
                                      right: (ArithWord w:{(Lit_Digits 3)})
                                    )
                                  spids: [27729 27738]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:read_speed)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (SimpleCommand
                                                    words: [
                                                      {(dd)}
                                                      {(Lit_VarLike 'bs=') (4K)}
                                                      {(Lit_VarLike 'count=') 
                                                        (ArithSubPart
                                                          anode: 
                                                            (ArithBinary
                                                              op_id: Arith_Slash
                                                              left: 
                                                                (ArithBinary
                                                                  op_id: Arith_Star
                                                                  left: 
                                                                    (ArithWord
                                                                      w: 
                                                                        {
                                                                          ($ VSub_Name 
'$benchmark_filesize'
                                                                          )
                                                                        }
                                                                    )
                                                                  right: 
                                                                    (ArithWord
                                                                      w: {(Lit_Digits 1024)}
                                                                    )
                                                                )
                                                              right: (ArithWord w:{(Lit_Digits 4)})
                                                            )
                                                          spids: [27753 27766]
                                                        )
                                                      }
                                                      {(Lit_VarLike 'if=') 
                                                        ($ VSub_Name '$benchmark_temp_file')
                                                      }
                                                      {(Lit_VarLike 'of=') (/dev/zero)}
                                                      {(Lit_VarLike 'conv=') (fdatasync)}
                                                    ]
                                                    redirects: [
                                                      (Redir
                                                        op: <Redir_GreatAnd '2>&'>
                                                        fd: 2
                                                        arg_word: {(1)}
                                                      )
                                                    ]
                                                  )
                                                  (C {(grep)} {(SQ <MB>)})
                                                  (C {(awk)} {(SQ <'{print $8, $9}'>)})
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [27746 27795]
                                      )
                                    }
                                  spids: [27745]
                                )
                              ]
                              spids: [27745]
                            )
                          ]
                          spids: [16777215 27741]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: (ArithWord w:{($ VSub_Name '$G_DISTRO')})
                                      right: (ArithWord w:{(Lit_Digits 4)})
                                    )
                                  spids: [27801 27810]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:read_speed)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (SimpleCommand
                                                    words: [
                                                      {(dd)}
                                                      {(Lit_VarLike 'bs=') (4K)}
                                                      {(Lit_VarLike 'count=') 
                                                        (ArithSubPart
                                                          anode: 
                                                            (ArithBinary
                                                              op_id: Arith_Slash
                                                              left: 
                                                                (ArithBinary
                                                                  op_id: Arith_Star
                                                                  left: 
                                                                    (ArithWord
                                                                      w: 
                                                                        {
                                                                          ($ VSub_Name 
'$benchmark_filesize'
                                                                          )
                                                                        }
                                                                    )
                                                                  right: 
                                                                    (ArithWord
                                                                      w: {(Lit_Digits 1024)}
                                                                    )
                                                                )
                                                              right: (ArithWord w:{(Lit_Digits 4)})
                                                            )
                                                          spids: [27825 27838]
                                                        )
                                                      }
                                                      {(Lit_VarLike 'if=') 
                                                        ($ VSub_Name '$benchmark_temp_file')
                                                      }
                                                      {(Lit_VarLike 'of=') (/dev/zero)}
                                                      {(Lit_VarLike 'conv=') (fdatasync)}
                                                    ]
                                                    redirects: [
                                                      (Redir
                                                        op: <Redir_GreatAnd '2>&'>
                                                        fd: 2
                                                        arg_word: {(1)}
                                                      )
                                                    ]
                                                  )
                                                  (C {(grep)} {(SQ <MB>)})
                                                  (C {(awk)} {(SQ <'{print $10, $11}'>)})
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [27818 27867]
                                      )
                                    }
                                  spids: [27817]
                                )
                              ]
                              spids: [27817]
                            )
                          ]
                          spids: [27799 27813]
                        )
                      ]
                      spids: [16777215 27871]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: (ArithWord w:{($ VSub_Name '$device_index')})
                                      right: (ArithWord w:{(Lit_Digits 0)})
                                    )
                                  spids: [27881 27890]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:SD_WRITE)
                                  op: Equal
                                  rhs: {($ VSub_Name '$write_speed')}
                                  spids: [27897]
                                )
                              ]
                              spids: [27897]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:SD_READ)
                                  op: Equal
                                  rhs: {($ VSub_Name '$read_speed')}
                                  spids: [27901]
                                )
                              ]
                              spids: [27901]
                            )
                          ]
                          spids: [16777215 27893]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: (ArithWord w:{($ VSub_Name '$device_index')})
                                      right: (ArithWord w:{(Lit_Digits 1)})
                                    )
                                  spids: [27908 27917]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:USB_WRITE)
                                  op: Equal
                                  rhs: {($ VSub_Name '$write_speed')}
                                  spids: [27924]
                                )
                              ]
                              spids: [27924]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:USB_READ)
                                  op: Equal
                                  rhs: {($ VSub_Name '$read_speed')}
                                  spids: [27928]
                                )
                              ]
                              spids: [27928]
                            )
                          ]
                          spids: [27906 27920]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: (ArithWord w:{($ VSub_Name '$device_index')})
                                      right: (ArithWord w:{(Lit_Digits 2)})
                                    )
                                  spids: [27935 27944]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:RAM_WRITE)
                                  op: Equal
                                  rhs: {($ VSub_Name '$write_speed')}
                                  spids: [27951]
                                )
                              ]
                              spids: [27951]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:RAM_READ)
                                  op: Equal
                                  rhs: {($ VSub_Name '$read_speed')}
                                  spids: [27955]
                                )
                              ]
                              spids: [27955]
                            )
                          ]
                          spids: [27933 27947]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: (ArithWord w:{($ VSub_Name '$device_index')})
                                      right: (ArithWord w:{(Lit_Digits 3)})
                                    )
                                  spids: [27962 27971]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:CUSTOM_WRITE)
                                  op: Equal
                                  rhs: {($ VSub_Name '$write_speed')}
                                  spids: [27978]
                                )
                              ]
                              spids: [27978]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:CUSTOM_READ)
                                  op: Equal
                                  rhs: {($ VSub_Name '$read_speed')}
                                  spids: [27982]
                                )
                              ]
                              spids: [27982]
                            )
                          ]
                          spids: [27960 27974]
                        )
                      ]
                      spids: [16777215 27987]
                    )
                  ]
                  spids: [16777215 27523]
                )
              ]
              spids: [16777215 27991]
            )
            (SimpleCommand
              words: [{(rm)} {(DQ ($ VSub_Name '$benchmark_temp_file'))}]
              redirects: [(Redir op:<Redir_AndGreat '&>'> fd:16777215 arg_word:{(/dev/null)})]
            )
          ]
          spids: [26793]
        )
      spids: [26790 26793]
    )
    (FuncDef
      name: Run_CPUBenchmark
      body: 
        (BraceGroup
          children: [
            (C {(/DietPi/dietpi/dietpi-services)} {(stop)})
            (C {(G_DIETPI-NOTIFY)} {(0)} 
              {
                (DQ ('Running DietPi-CPU Benchmark with max value of 1000000 over ') 
                  (CommandSubPart
                    command_list: (CommandList children:[(C {(nproc)} {(--all)})])
                    left_token: <Left_CommandSub '$('>
                    spids: [28082 28086]
                  ) (' cores, please wait...')
                )
              }
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op: <Redir_DLess '<<'>
                  fd: 16777215
                  here_begin: {(_EOF_)}
                  here_end_span_id: 28213
                  stdin_parts: [
                    ('#!/bin/bash\n')
                    ('target_max_int=')
                    ($ VSub_Name '$CPUBENCH_INT_MAX')
                    ('\n')
                    ('cores=')
                    (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>)
                    ('(nproc --all)\n')
                    ('int_split=')
                    (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>)
                    ('((')
                    (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>)
                    ('target_max_int / ')
                    (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>)
                    ('cores ))\n')
                    ('aStart_Int=()\n')
                    ('aEnd_Int=()\n')
                    ('\n')
                    ('#Split the max int target based on total cores\n')
                    ('for (( i=0; i<')
                    (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>)
                    ('cores; i++ ))\n')
                    ('do\n')
                    ('\n')
                    ('    aEnd_Int[')
                    (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>)
                    ('i]=')
                    (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>)
                    ('(( (')
                    (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>)
                    ('i + 1) * ')
                    (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>)
                    ('int_split ))\n')
                    ('    aStart_Int[')
                    (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>)
                    ('i]=')
                    (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>)
                    ('(( ')
                    (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>)
                    ('{aEnd_Int[')
                    (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>)
                    ('i]} - ')
                    (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>)
                    ('int_split ))\n')
                    ('\n')
                    ('    echo ')
                    (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>)
                    ('{aStart_Int[')
                    (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>)
                    ('i]} ')
                    (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>)
                    ('{aEnd_Int[')
                    (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>)
                    ('i]}\n')
                    ('\n')
                    ('done\n')
                    ('\n')
                    ('\n')
                    ('Run_Bench()\n')
                    ('{\n')
                    ('\n')
                    ('    while (( ')
                    (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>)
                    ('{aStart_Int[')
                    (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>)
                    ('1]} < ')
                    (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>)
                    ('{aEnd_Int[')
                    (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>)
                    ('1]} ))\n')
                    ('    do\n')
                    ('\n')
                    ('        ((aStart_Int[')
                    (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>)
                    ('1]++))\n')
                    ('\n')
                    ('    done\n')
                    ('\n')
                    ('}\n')
                    ('\n')
                    ('#Launch benchmark threads\n')
                    ('for (( i=0; i<')
                    (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>)
                    ('cores; i++ ))\n')
                    ('do\n')
                    ('\n')
                    ('    Run_Bench ')
                    (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>)
                    ('i &\n')
                    ('\n')
                    ('done\n')
                    ('\n')
                    ('#Wait for jobs to finish\n')
                    ('for job in ')
                    (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>)
                    ('jobs -p')
                    (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>)
                    ('\n')
                    ('do\n')
                    ('    echo ')
                    (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>)
                    ('job\n')
                    ('    wait ')
                    (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>)
                    ('job\n')
                    ('done\n')
                    ('\n')
                    ('#delete[]\n')
                    ('unset aStart_Int\n')
                    ('unset aEnd_Int\n')
                    ('\n')
                  ]
                )
                (Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(/tmp/dietpi-bench)})
              ]
            )
            (C {(chmod)} {(Lit_Other '+') (x)} {(/tmp/dietpi-bench)})
            (BraceGroup
              children: [
                (Sentence
                  child: (TimeBlock pipeline:(C {(-p)} {(/tmp/dietpi-bench)}))
                  terminator: <Op_Semi ';'>
                )
              ]
              redirects: [(Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/tmp/dietpi-bench_result)})]
              spids: [28224]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:CPUBENCH_TIME)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(grep)} {(-m1)} {(SQ <real>)} {(/tmp/dietpi-bench_result)})
                                  (C {(awk)} {(SQ <'{print $2}'>)})
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [28242 28262]
                      )
                    }
                  spids: [28241]
                )
              ]
              spids: [28241]
            )
            (C {(/DietPi/dietpi/dietpi-services)} {(start)})
          ]
          spids: [28018]
        )
      spids: [28015 28018]
    )
    (FuncDef
      name: Menu_FilesystemBenchmark
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:TARGETMENUID) op:Equal rhs:{(11)} spids:[28287])]
              spids: [28287]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:WHIP_TITLE)
                  op: Equal
                  rhs: {(SQ <'DietPi - Benchmarks'>)}
                  spids: [28292]
                )
              ]
              spids: [28292]
            )
            (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 ('CPU        : Total time ') ($ VSub_Name '$CPUBENCH_INT_MAX') 
                                      (' int = ') ($ VSub_Name '$CPUBENCH_TIME') (' seconds') (Lit_Other '\\') (n) ('RAM        : Write = ') 
                                      ($ VSub_Name '$RAM_WRITE') (' | Read = ') ($ VSub_Name '$RAM_READ') (Lit_Other '\\') (n) ('RootFS     : Write = ') 
                                      ($ VSub_Name '$SD_WRITE') (' | Read = ') ($ VSub_Name '$SD_READ') (' ') (Lit_Other '\\') (n) ('USB Drive  : Write = ') 
                                      ($ VSub_Name '$USB_WRITE') (' | Read = ') ($ VSub_Name '$USB_READ') (Lit_Other '\\') (n) ('Custom     : Write = ') 
                                      ($ VSub_Name '$CUSTOM_WRITE') (' | Read = ') ($ VSub_Name '$CUSTOM_READ')
                                    )
                                  }
                                  {(--cancel-button)}
                                  {(DQ ($ VSub_Name '$TEXT_MENU_BACK'))}
                                  {(--backtitle)}
                                  {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))}
                                  {(19)}
                                  {(70)}
                                  {(7)}
                                  {(DQ )}
                                  {
                                    (DQ 
                                      (
'\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80 Performance \xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80'
                                      )
                                    )
                                  }
                                  {(DQ (CPU))}
                                  {(DQ ('Benchmark CPU performance.'))}
                                  {(DQ (RAM))}
                                  {(DQ ('Benchmark RAM performance.'))}
                                  {(DQ )}
                                  {
                                    (DQ 
                                      (
'\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80 Filesystem \xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80'
                                      )
                                    )
                                  }
                                  {(DQ (RootFS))}
                                  {(DQ ('Benchmark SD/EMMC IO performance.'))}
                                  {(DQ ('USB Drive'))}
                                  {(DQ ('Benchmark USB drive IO performance.'))}
                                  {(DQ (Custom))}
                                  {(DQ ('Benchmark from a selection of mounted devices.'))}
                                ]
                                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: [28299 28443]
                      )
                    }
                  spids: [28298]
                )
              ]
              spids: [28298]
            )
            (Case
              to_match: {(DQ ($ VSub_Name '$OPTION'))}
              arms: [
                (case_arm
                  pat_list: [{(DQ (CPU))}]
                  action: [
                    (C {(Run_CPUBenchmark)})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:TARGETMENUID)
                          op: Equal
                          rhs: {(12)}
                          spids: [28472]
                        )
                      ]
                      spids: [28472]
                    )
                  ]
                  spids: [28457 28460 28477 16777215]
                )
                (case_arm
                  pat_list: [{(DQ (RootFS))}]
                  action: [
                    (C {(Run_FilesystemBenchmark)} {(0)})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:TARGETMENUID)
                          op: Equal
                          rhs: {(12)}
                          spids: [28498]
                        )
                      ]
                      spids: [28498]
                    )
                  ]
                  spids: [28481 28484 28503 16777215]
                )
                (case_arm
                  pat_list: [{(DQ ('USB Drive'))}]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithWord
                                      w: 
                                        {
                                          (CommandSubPart
                                            command_list: 
                                              (CommandList
                                                children: [
                                                  (Pipeline
                                                    children: [
                                                      (C {(df)} {(-P)})
                                                      (C {(grep)} {(-ci)} {(-m1)} {(SQ <'^/dev/sda1'>)})
                                                    ]
                                                    negated: F
                                                  )
                                                ]
                                              )
                                            left_token: <Left_CommandSub '$('>
                                            spids: [28522 28538]
                                          )
                                        }
                                    )
                                  spids: [28520 28541]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(Run_FilesystemBenchmark)} {(1)})]
                          spids: [16777215 28544]
                        )
                      ]
                      else_action: [
                        (C {(whiptail)} {(--title)} {(DQ ('No USB Drive was found'))} {(--msgbox)} 
                          {
                            (DQ ('No USB Drive was found, /dev/sda1 is not available.') 
                              (Lit_Other '\\') ('nThe test has been aborted.')
                            )
                          } {(--backtitle)} {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))} {(10)} {(60)}
                        )
                      ]
                      spids: [28558 28590]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:TARGETMENUID)
                          op: Equal
                          rhs: {(12)}
                          spids: [28598]
                        )
                      ]
                      spids: [28598]
                    )
                  ]
                  spids: [28507 28510 28603 16777215]
                )
                (case_arm
                  pat_list: [{(DQ (Custom))}]
                  action: [
                    (C {(/DietPi/dietpi/dietpi-drive_manager)} {(1)})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:FP_CUSTOM_MOUNT)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [(C {(cat)} {(/tmp/dietpi-drive_manager_selmnt)})]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [28621 28625]
                                )
                              )
                            }
                          spids: [28619]
                        )
                      ]
                      spids: [28619]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_Name '$FP_CUSTOM_MOUNT'))} 
                                  {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(Run_FilesystemBenchmark)} {(3)})]
                          spids: [16777215 28643]
                        )
                      ]
                      spids: [16777215 28653]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:TARGETMENUID)
                          op: Equal
                          rhs: {(12)}
                          spids: [28661]
                        )
                      ]
                      spids: [28661]
                    )
                  ]
                  spids: [28607 28610 28666 16777215]
                )
                (case_arm
                  pat_list: [{(DQ (RAM))}]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithWord
                                      w: 
                                        {
                                          (CommandSubPart
                                            command_list: 
                                              (CommandList
                                                children: [
                                                  (Pipeline
                                                    children: [
                                                      (C {(df)})
                                                      (C {(grep)} {(SQ <'[[:space:]]/tmp'>)})
                                                      (C {(grep)} {(-ci)} {(-m1)} 
                                                        {(SQ <'^tmpfs[[:space:]]'>)}
                                                      )
                                                    ]
                                                    negated: F
                                                  )
                                                ]
                                              )
                                            left_token: <Left_CommandSub '$('>
                                            spids: [28685 28707]
                                          )
                                        }
                                    )
                                  spids: [28683 28710]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(Run_FilesystemBenchmark)} {(2)})]
                          spids: [16777215 28713]
                        )
                      ]
                      else_action: [
                        (C {(whiptail)} {(--title)} {(DQ ($ VSub_Name '$WHIP_TITLE'))} {(--msgbox)} 
                          {
                            (DQ ('Unable to run RAM benchmark, as /tmp is not mounted as tmpfs.') 
                              (Lit_Other '\\') (n) (Lit_Other '\\') 
                              (
'nThis mount is disabled automatically on <=512MB devices to prevent out of memory errors, please see here for more info:'
                              ) (Lit_Other '\\') (n) (Lit_Other '\\') ('n - https://github.com/Fourdee/DietPi/issues/1027')
                            )
                          } {(--backtitle)} {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))} {(12)} {(70)}
                        )
                      ]
                      spids: [28723 28761]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:TARGETMENUID)
                          op: Equal
                          rhs: {(12)}
                          spids: [28769]
                        )
                      ]
                      spids: [28769]
                    )
                  ]
                  spids: [28670 28673 28774 16777215]
                )
              ]
              spids: [28447 28453 28778]
            )
          ]
          spids: [28283]
        )
      spids: [28280 28283]
    )
    (FuncDef
      name: Reset_Overclocking
      body: 
        (BraceGroup
          children: [
            (C {(sed)} {(-i)} {(SQ <'/over_voltage=/c\\#over_voltage=0'>)} {(/DietPi/config.txt)})
            (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 3)})
                            )
                          spids: [28806 28815]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(sed)} {(-i)} {(SQ <'/arm_freq=/c\\#arm_freq=1200'>)} {(/DietPi/config.txt)})
                    (C {(sed)} {(-i)} {(SQ <'/core_freq=/c\\#core_freq=400'>)} {(/DietPi/config.txt)})
                    (C {(sed)} {(-i)} {(SQ <'/sdram_freq=/c\\#sdram_freq=450'>)} {(/DietPi/config.txt)})
                  ]
                  spids: [16777215 28818]
                )
                (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 2)})
                            )
                          spids: [28858 28867]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(sed)} {(-i)} {(SQ <'/arm_freq=/c\\#arm_freq=900'>)} {(/DietPi/config.txt)})
                    (C {(sed)} {(-i)} {(SQ <'/core_freq=/c\\#core_freq=250'>)} {(/DietPi/config.txt)})
                    (C {(sed)} {(-i)} {(SQ <'/sdram_freq=/c\\#sdram_freq=450'>)} {(/DietPi/config.txt)})
                  ]
                  spids: [28856 28870]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_LessEqual
                              left: (ArithWord w:{($ VSub_Name '$G_HW_MODEL')})
                              right: (ArithWord w:{(Lit_Digits 1)})
                            )
                          spids: [28910 28919]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(sed)} {(-i)} {(SQ <'/arm_freq=/c\\#arm_freq=700'>)} {(/DietPi/config.txt)})
                    (C {(sed)} {(-i)} {(SQ <'/core_freq=/c\\#core_freq=250'>)} {(/DietPi/config.txt)})
                    (C {(sed)} {(-i)} {(SQ <'/sdram_freq=/c\\#sdram_freq=400'>)} {(/DietPi/config.txt)})
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithWord
                                      w: 
                                        {
                                          (CommandSubPart
                                            command_list: 
                                              (CommandList
                                                children: [
                                                  (Pipeline
                                                    children: [
                                                      (C {(cat)} {(/DietPi/dietpi/.hw_model)})
                                                      (C {(tr)} {(SQ <'[:upper:]'>)} {(SQ <'[:lower:]'>)})
                                                      (C {(grep)} {(-ci)} {(-m1)} {(SQ <'rpi zero'>)})
                                                    ]
                                                    negated: F
                                                  )
                                                ]
                                              )
                                            left_token: <Left_CommandSub '$('>
                                            spids: [28968 28996]
                                          )
                                        }
                                    )
                                  spids: [28966 28999]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(sed)} {(-i)} {(SQ <'/arm_freq=/c\\#arm_freq=1000'>)} 
                              {(/DietPi/config.txt)}
                            )
                            (C {(sed)} {(-i)} {(SQ <'/core_freq=/c\\#core_freq=400'>)} 
                              {(/DietPi/config.txt)}
                            )
                            (C {(sed)} {(-i)} {(SQ <'/sdram_freq=/c\\#sdram_freq=450'>)} 
                              {(/DietPi/config.txt)}
                            )
                          ]
                          spids: [16777215 29002]
                        )
                      ]
                      spids: [16777215 29040]
                    )
                  ]
                  spids: [28908 28922]
                )
              ]
              spids: [16777215 29044]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:REBOOT_REQUIRED)
                  op: Equal
                  rhs: {(1)}
                  spids: [29048]
                )
              ]
              spids: [29048]
            )
          ]
          spids: [28788]
        )
      spids: [28785 28788]
    )
    (FuncDef
      name: Warning_Overclocking
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:WHIP_TITLE)
                  op: Equal
                  rhs: {(SQ <'Warning! Continue with overclocking?'>)}
                  spids: [29063]
                )
              ]
              spids: [29063]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:WHIP_QUESTION)
                  op: Equal
                  rhs: 
                    {
                      (SQ 
                        <
'Your selected overclocking choice may void the warranty on this device. Do you wish to continue?\\n\\nUse of this tool is at your own risk. DietPi will not be held responsable for any damages due to overclocking.\\n\\nAlthough DietPi overclocks are tested for stability, results are not guaranteed and may differ from device.'
                        >
                      )
                    }
                  spids: [29069]
                )
              ]
              spids: [29069]
            )
            (C {(whiptail)} {(--title)} {(DQ ($ VSub_Name '$WHIP_TITLE'))} {(--yesno)} 
              {(DQ ($ VSub_Name '$WHIP_QUESTION'))} {(--yes-button)} {(DQ (Ok))} {(--no-button)} {(DQ (Back))} {(--defaultno)} {(--backtitle)} 
              {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))} {(14)} {(70)}
            )
          ]
          spids: [29059]
        )
      spids: [29056 29059]
    )
    (FuncDef
      name: Menu_Overclock
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:TARGETMENUID) op:Equal rhs:{(4)} spids:[29130])]
              spids: [29130]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:over_voltage_value)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(grep)} {(-m1)} {(SQ <'over_voltage='>)} {(/DietPi/config.txt)})
                                  (C {(tr)} {(-d)} {(SQ <'#over_voltage='>)})
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [29142 29162]
                      )
                    }
                  spids: [29141]
                )
              ]
              spids: [29139]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:arm_freq_value)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(grep)} {(-m1)} {(SQ <'arm_freq='>)} {(/DietPi/config.txt)})
                                  (C {(tr)} {(-d)} {(SQ <'#arm_freq='>)})
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [29168 29188]
                      )
                    }
                  spids: [29167]
                )
              ]
              spids: [29165]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:core_freq_value)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(grep)} {(-m1)} {(SQ <'core_freq='>)} {(/DietPi/config.txt)})
                                  (C {(tr)} {(-d)} {(SQ <'#core_freq='>)})
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [29194 29214]
                      )
                    }
                  spids: [29193]
                )
              ]
              spids: [29191]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:sdram_freq_value)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(grep)} {(-m1)} {(SQ <'sdram_freq='>)} {(/DietPi/config.txt)})
                                  (C {(tr)} {(-d)} {(SQ <'#sdram_freq='>)})
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [29220 29240]
                      )
                    }
                  spids: [29219]
                )
              ]
              spids: [29217]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:WHIP_TITLE)
                  op: Equal
                  rhs: {(SQ <'DietPi - Overclocking'>)}
                  spids: [29244]
                )
              ]
              spids: [29244]
            )
            (C {(echo)} {(-e)} {(DQ ($ VSub_Name '$G_HW_MODEL'))})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithWord
                              w: 
                                {
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [
                                          (Pipeline
                                            children: [
                                              (C {(cat)} {(/DietPi/dietpi/.hw_model)})
                                              (C {(tr)} {(SQ <'[:upper:]'>)} {(SQ <'[:lower:]'>)})
                                              (C {(grep)} {(-ci)} {(-m1)} {(SQ <'rpi zero'>)})
                                            ]
                                            negated: F
                                          )
                                        ]
                                      )
                                    left_token: <Left_CommandSub '$('>
                                    spids: [29272 29300]
                                  )
                                }
                            )
                          spids: [29270 29303]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (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 (' Hardware : ') 
                                              ($ VSub_Name '$G_HW_MODEL_DESCRIPTION') (' ') (Lit_Other '\\') ('n Current: ') ($ VSub_Name '$arm_freq_value') (' MHz ARM | ') 
                                              ($ VSub_Name '$core_freq_value') (' MHz core | ') ($ VSub_Name '$sdram_freq_value') (' MHz SDRAM | ') ($ VSub_Name '$over_voltage_value') 
                                              (' overvolt')
                                            )
                                          }
                                          {(--cancel-button)}
                                          {(DQ ($ VSub_Name '$TEXT_MENU_BACK'))}
                                          {(--backtitle)}
                                          {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))}
                                          {(13)}
                                          {(75)}
                                          {(4)}
                                          {(DQ (none))}
                                          {
                                            (DQ 
                                              (
' 1000 MHz ARM | 400 MHz core | 450 MHz SDRAM | 0 overvolt'
                                              )
                                            )
                                          }
                                        ]
                                        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: [29311 29374]
                              )
                            }
                          spids: [29310]
                        )
                      ]
                      spids: [29310]
                    )
                    (Case
                      to_match: {(DQ ($ VSub_Name '$OPTION'))}
                      arms: [
                        (case_arm
                          pat_list: [{(none)}]
                          action: [
                            (C {(Reset_Overclocking)})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(13)}
                                  spids: [29399]
                                )
                              ]
                              spids: [29399]
                            )
                          ]
                          spids: [29387 29388 29404 16777215]
                        )
                      ]
                      spids: [29378 29384 29407]
                    )
                  ]
                  spids: [16777215 29306]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_LessEqual
                              left: (ArithWord w:{($ VSub_Name '$G_HW_MODEL')})
                              right: (ArithWord w:{(Lit_Digits 1)})
                            )
                          spids: [29413 29422]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (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 (' Hardware : ') 
                                              ($ VSub_Name '$G_HW_MODEL_DESCRIPTION') (' ') (Lit_Other '\\') ('n Current: ') ($ VSub_Name '$arm_freq_value') (' MHz ARM | ') 
                                              ($ VSub_Name '$core_freq_value') (' MHz core | ') ($ VSub_Name '$sdram_freq_value') (' MHz SDRAM | ') ($ VSub_Name '$over_voltage_value') 
                                              (' overvolt')
                                            )
                                          }
                                          {(--cancel-button)}
                                          {(DQ ($ VSub_Name '$TEXT_MENU_BACK'))}
                                          {(--backtitle)}
                                          {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))}
                                          {(14)}
                                          {(70)}
                                          {(4)}
                                          {(DQ (none))}
                                          {
                                            (DQ 
                                              (
' 700 MHz ARM | 250 MHz core | 400 MHz SDRAM | 0 overvolt'
                                              )
                                            )
                                          }
                                          {(DQ (safe))}
                                          {
                                            (DQ 
                                              (
' 900 MHz ARM | 250 MHz core | 400 MHz SDRAM | 2 overvolt'
                                              )
                                            )
                                          }
                                          {(DQ (high))}
                                          {
                                            (DQ 
                                              (
' 900 MHz ARM | 500 MHz core | 400 MHz SDRAM | 4 overvolt'
                                              )
                                            )
                                          }
                                          {(DQ (extreme))}
                                          {
                                            (DQ 
                                              (
'1025 MHz ARM | 500 MHz core | 400 MHz SDRAM | 6 overvolt'
                                              )
                                            )
                                          }
                                        ]
                                        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: [29430 29523]
                              )
                            }
                          spids: [29429]
                        )
                      ]
                      spids: [29429]
                    )
                    (Case
                      to_match: {(DQ ($ VSub_Name '$OPTION'))}
                      arms: [
                        (case_arm
                          pat_list: [{(none)}]
                          action: [
                            (C {(Reset_Overclocking)})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(13)}
                                  spids: [29548]
                                )
                              ]
                              spids: [29548]
                            )
                          ]
                          spids: [29536 29537 29553 16777215]
                        )
                        (case_arm
                          pat_list: [{(safe)}]
                          action: [
                            (C {(Reset_Overclocking)})
                            (C {(sed)} {(-i)} {(SQ <'/over_voltage=/c\\over_voltage=2'>)} 
                              {(/DietPi/config.txt)}
                            )
                            (C {(sed)} {(-i)} {(SQ <'/arm_freq=/c\\arm_freq=900'>)} 
                              {(/DietPi/config.txt)}
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(13)}
                                  spids: [29590]
                                )
                              ]
                              spids: [29590]
                            )
                          ]
                          spids: [29556 29557 29595 16777215]
                        )
                        (case_arm
                          pat_list: [{(high)}]
                          action: [
                            (C {(Warning_Overclocking)})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:CHOICE)
                                  op: Equal
                                  rhs: {($ VSub_QMark '$?')}
                                  spids: [29605]
                                )
                              ]
                              spids: [29605]
                            )
                            (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: [29611 29620]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(Reset_Overclocking)})
                                    (C {(sed)} {(-i)} {(SQ <'/over_voltage=/c\\over_voltage=4'>)} 
                                      {(/DietPi/config.txt)}
                                    )
                                    (C {(sed)} {(-i)} {(SQ <'/arm_freq=/c\\arm_freq=900'>)} 
                                      {(/DietPi/config.txt)}
                                    )
                                    (C {(sed)} {(-i)} {(SQ <'/core_freq=/c\\core_freq=500'>)} 
                                      {(/DietPi/config.txt)}
                                    )
                                  ]
                                  spids: [16777215 29623]
                                )
                              ]
                              spids: [16777215 29662]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(13)}
                                  spids: [29670]
                                )
                              ]
                              spids: [29670]
                            )
                          ]
                          spids: [29598 29599 29675 16777215]
                        )
                        (case_arm
                          pat_list: [{(extreme)}]
                          action: [
                            (C {(Warning_Overclocking)})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:CHOICE)
                                  op: Equal
                                  rhs: {($ VSub_QMark '$?')}
                                  spids: [29685]
                                )
                              ]
                              spids: [29685]
                            )
                            (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: [29691 29700]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(Reset_Overclocking)})
                                    (C {(sed)} {(-i)} {(SQ <'/over_voltage=/c\\over_voltage=6'>)} 
                                      {(/DietPi/config.txt)}
                                    )
                                    (C {(sed)} {(-i)} {(SQ <'/arm_freq=/c\\arm_freq=1025'>)} 
                                      {(/DietPi/config.txt)}
                                    )
                                    (C {(sed)} {(-i)} {(SQ <'/core_freq=/c\\core_freq=500'>)} 
                                      {(/DietPi/config.txt)}
                                    )
                                  ]
                                  spids: [16777215 29703]
                                )
                              ]
                              spids: [16777215 29742]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(13)}
                                  spids: [29750]
                                )
                              ]
                              spids: [29750]
                            )
                          ]
                          spids: [29678 29679 29755 16777215]
                        )
                      ]
                      spids: [29527 29533 29758]
                    )
                  ]
                  spids: [29411 29425]
                )
                (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 2)})
                            )
                          spids: [29768 29777]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (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 (' Hardware : ') 
                                              ($ VSub_Name '$G_HW_MODEL_DESCRIPTION') (' ') (Lit_Other '\\') ('n Current: ') ($ VSub_Name '$arm_freq_value') (' MHz ARM | ') 
                                              ($ VSub_Name '$core_freq_value') (' MHz core | ') ($ VSub_Name '$sdram_freq_value') (' MHz SDRAM | ') ($ VSub_Name '$over_voltage_value') 
                                              (' overvolt')
                                            )
                                          }
                                          {(--cancel-button)}
                                          {(DQ ($ VSub_Name '$TEXT_MENU_BACK'))}
                                          {(--backtitle)}
                                          {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))}
                                          {(13)}
                                          {(75)}
                                          {(4)}
                                          {(DQ (none))}
                                          {
                                            (DQ 
                                              (
' 900 MHz ARM | 250 MHz core | 450 MHz SDRAM | 0 overvolt'
                                              )
                                            )
                                          }
                                          {(DQ (low))}
                                          {
                                            (DQ 
                                              (
'1000 MHz ARM | 250 MHz core | 450 MHz SDRAM | 3 overvolt'
                                              )
                                            )
                                          }
                                          {(DQ (med))}
                                          {
                                            (DQ 
                                              (
'1000 MHz ARM | 500 MHz core | 450 MHz SDRAM | 5 overvolt'
                                              )
                                            )
                                          }
                                          {(DQ (extreme))}
                                          {
                                            (DQ 
                                              (
'1050 MHz ARM | 500 MHz core | 450 MHz SDRAM | 6 overvolt'
                                              )
                                            )
                                          }
                                        ]
                                        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: [29785 29878]
                              )
                            }
                          spids: [29784]
                        )
                      ]
                      spids: [29784]
                    )
                    (Case
                      to_match: {(DQ ($ VSub_Name '$OPTION'))}
                      arms: [
                        (case_arm
                          pat_list: [{(none)}]
                          action: [
                            (C {(Reset_Overclocking)})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(13)}
                                  spids: [29903]
                                )
                              ]
                              spids: [29903]
                            )
                          ]
                          spids: [29891 29892 29908 16777215]
                        )
                        (case_arm
                          pat_list: [{(low)}]
                          action: [
                            (C {(Warning_Overclocking)})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:CHOICE)
                                  op: Equal
                                  rhs: {($ VSub_QMark '$?')}
                                  spids: [29918]
                                )
                              ]
                              spids: [29918]
                            )
                            (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: [29924 29933]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(Reset_Overclocking)})
                                    (C {(sed)} {(-i)} {(SQ <'/over_voltage=/c\\over_voltage=3'>)} 
                                      {(/DietPi/config.txt)}
                                    )
                                    (C {(sed)} {(-i)} {(SQ <'/arm_freq=/c\\arm_freq=1000'>)} 
                                      {(/DietPi/config.txt)}
                                    )
                                  ]
                                  spids: [16777215 29936]
                                )
                              ]
                              spids: [16777215 29964]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(13)}
                                  spids: [29972]
                                )
                              ]
                              spids: [29972]
                            )
                          ]
                          spids: [29911 29912 29977 16777215]
                        )
                        (case_arm
                          pat_list: [{(med)}]
                          action: [
                            (C {(Warning_Overclocking)})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:CHOICE)
                                  op: Equal
                                  rhs: {($ VSub_QMark '$?')}
                                  spids: [29987]
                                )
                              ]
                              spids: [29987]
                            )
                            (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: [29993 30002]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(Reset_Overclocking)})
                                    (C {(sed)} {(-i)} {(SQ <'/over_voltage=/c\\over_voltage=5'>)} 
                                      {(/DietPi/config.txt)}
                                    )
                                    (C {(sed)} {(-i)} {(SQ <'/arm_freq=/c\\arm_freq=1000'>)} 
                                      {(/DietPi/config.txt)}
                                    )
                                    (C {(sed)} {(-i)} {(SQ <'/core_freq=/c\\core_freq=500'>)} 
                                      {(/DietPi/config.txt)}
                                    )
                                  ]
                                  spids: [16777215 30005]
                                )
                              ]
                              spids: [16777215 30044]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(13)}
                                  spids: [30052]
                                )
                              ]
                              spids: [30052]
                            )
                          ]
                          spids: [29980 29981 30057 16777215]
                        )
                        (case_arm
                          pat_list: [{(extreme)}]
                          action: [
                            (C {(Warning_Overclocking)})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:CHOICE)
                                  op: Equal
                                  rhs: {($ VSub_QMark '$?')}
                                  spids: [30067]
                                )
                              ]
                              spids: [30067]
                            )
                            (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: [30073 30082]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(Reset_Overclocking)})
                                    (C {(sed)} {(-i)} {(SQ <'/over_voltage=/c\\over_voltage=6'>)} 
                                      {(/DietPi/config.txt)}
                                    )
                                    (C {(sed)} {(-i)} {(SQ <'/arm_freq=/c\\arm_freq=1050'>)} 
                                      {(/DietPi/config.txt)}
                                    )
                                    (C {(sed)} {(-i)} {(SQ <'/core_freq=/c\\core_freq=500'>)} 
                                      {(/DietPi/config.txt)}
                                    )
                                  ]
                                  spids: [16777215 30085]
                                )
                              ]
                              spids: [16777215 30124]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(13)}
                                  spids: [30132]
                                )
                              ]
                              spids: [30132]
                            )
                          ]
                          spids: [30060 30061 30137 16777215]
                        )
                      ]
                      spids: [29882 29888 30140]
                    )
                  ]
                  spids: [29766 29780]
                )
                (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 3)})
                            )
                          spids: [30150 30159]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (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 (' Hardware : ') 
                                              ($ VSub_Name '$G_HW_MODEL_DESCRIPTION') (' ') (Lit_Other '\\') ('n Current: ') ($ VSub_Name '$arm_freq_value') (' MHz ARM | ') 
                                              ($ VSub_Name '$core_freq_value') (' MHz core | ') ($ VSub_Name '$sdram_freq_value') (' MHz SDRAM | ') ($ VSub_Name '$over_voltage_value') 
                                              (' overvolt')
                                            )
                                          }
                                          {(--cancel-button)}
                                          {(DQ ($ VSub_Name '$TEXT_MENU_BACK'))}
                                          {(--backtitle)}
                                          {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))}
                                          {(13)}
                                          {(75)}
                                          {(4)}
                                          {(DQ (none))}
                                          {
                                            (DQ 
                                              (
'1200 MHz ARM | 400 MHz core | 450 MHz SDRAM | 0 overvolt'
                                              )
                                            )
                                          }
                                          {(DQ (low))}
                                          {
                                            (DQ 
                                              (
'1300 MHz ARM | 400 MHz core | 450 MHz SDRAM | 3 overvolt'
                                              )
                                            )
                                          }
                                          {(DQ (med))}
                                          {
                                            (DQ 
                                              (
'1325 MHz ARM | 400 MHz core | 450 MHz SDRAM | 4 overvolt'
                                              )
                                            )
                                          }
                                          {(DQ (high))}
                                          {
                                            (DQ 
                                              (
'1350 MHz ARM | 400 MHz core | 450 MHz SDRAM | 5 overvolt'
                                              )
                                            )
                                          }
                                        ]
                                        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: [30167 30260]
                              )
                            }
                          spids: [30166]
                        )
                      ]
                      spids: [30166]
                    )
                    (Case
                      to_match: {(DQ ($ VSub_Name '$OPTION'))}
                      arms: [
                        (case_arm
                          pat_list: [{(none)}]
                          action: [
                            (C {(Reset_Overclocking)})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(13)}
                                  spids: [30287]
                                )
                              ]
                              spids: [30287]
                            )
                          ]
                          spids: [30274 30275 30292 16777215]
                        )
                        (case_arm
                          pat_list: [{(low)}]
                          action: [
                            (C {(Warning_Overclocking)})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:CHOICE)
                                  op: Equal
                                  rhs: {($ VSub_QMark '$?')}
                                  spids: [30304]
                                )
                              ]
                              spids: [30304]
                            )
                            (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: [30310 30319]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(Reset_Overclocking)})
                                    (C {(sed)} {(-i)} {(SQ <'/arm_freq=/c\\arm_freq=1300'>)} 
                                      {(/DietPi/config.txt)}
                                    )
                                    (C {(sed)} {(-i)} {(SQ <'/over_voltage=/c\\over_voltage=3'>)} 
                                      {(/DietPi/config.txt)}
                                    )
                                    (C {(sed)} {(-i)} {(SQ <'/core_freq=/c\\core_freq=400'>)} 
                                      {(/DietPi/config.txt)}
                                    )
                                  ]
                                  spids: [16777215 30322]
                                )
                              ]
                              spids: [16777215 30361]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(13)}
                                  spids: [30369]
                                )
                              ]
                              spids: [30369]
                            )
                          ]
                          spids: [30296 30297 30374 16777215]
                        )
                        (case_arm
                          pat_list: [{(med)}]
                          action: [
                            (C {(Warning_Overclocking)})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:CHOICE)
                                  op: Equal
                                  rhs: {($ VSub_QMark '$?')}
                                  spids: [30386]
                                )
                              ]
                              spids: [30386]
                            )
                            (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: [30392 30401]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(Reset_Overclocking)})
                                    (C {(sed)} {(-i)} {(SQ <'/arm_freq=/c\\arm_freq=1325'>)} 
                                      {(/DietPi/config.txt)}
                                    )
                                    (C {(sed)} {(-i)} {(SQ <'/over_voltage=/c\\over_voltage=4'>)} 
                                      {(/DietPi/config.txt)}
                                    )
                                    (C {(sed)} {(-i)} {(SQ <'/core_freq=/c\\core_freq=400'>)} 
                                      {(/DietPi/config.txt)}
                                    )
                                  ]
                                  spids: [16777215 30404]
                                )
                              ]
                              spids: [16777215 30443]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(13)}
                                  spids: [30451]
                                )
                              ]
                              spids: [30451]
                            )
                          ]
                          spids: [30378 30379 30456 16777215]
                        )
                        (case_arm
                          pat_list: [{(high)}]
                          action: [
                            (C {(Warning_Overclocking)})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:CHOICE)
                                  op: Equal
                                  rhs: {($ VSub_QMark '$?')}
                                  spids: [30468]
                                )
                              ]
                              spids: [30468]
                            )
                            (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: [30474 30483]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(Reset_Overclocking)})
                                    (C {(sed)} {(-i)} {(SQ <'/over_voltage=/c\\over_voltage=5'>)} 
                                      {(/DietPi/config.txt)}
                                    )
                                    (C {(sed)} {(-i)} {(SQ <'/arm_freq=/c\\arm_freq=1350'>)} 
                                      {(/DietPi/config.txt)}
                                    )
                                    (C {(sed)} {(-i)} {(SQ <'/core_freq=/c\\core_freq=400'>)} 
                                      {(/DietPi/config.txt)}
                                    )
                                  ]
                                  spids: [16777215 30486]
                                )
                              ]
                              spids: [16777215 30525]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(13)}
                                  spids: [30533]
                                )
                              ]
                              spids: [30533]
                            )
                          ]
                          spids: [30460 30461 30538 16777215]
                        )
                      ]
                      spids: [30264 30270 30542]
                    )
                  ]
                  spids: [30148 30162]
                )
              ]
              spids: [16777215 30546]
            )
          ]
          spids: [29126]
        )
      spids: [29123 29126]
    )
    (FuncDef
      name: Menu_AudioOptions
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:TARGETMENUID) op:Equal rhs:{(0)} spids:[30564])]
              spids: [30564]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:soundcard_current)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(grep)} {(-m1)} {(SQ <'^CONFIG_SOUNDCARD='>)} 
                                    {(/DietPi/dietpi.txt)}
                                  )
                                  (C {(sed)} {(SQ <'s/.*=//'>)})
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [30572 30590]
                      )
                    }
                  spids: [30571]
                )
              ]
              spids: [30569]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:whiptail_menu_array)
                  op: Equal
                  rhs: {(ArrayLiteralPart)}
                  spids: [30596]
                )
              ]
              spids: [30594]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:whiptail_menu_array)
                  op: PlusEqual
                  rhs: 
                    {
                      (ArrayLiteralPart
                        words: [{(DQ (Soundcard))} {(DQ (': ') ($ VSub_Name '$soundcard_current'))}]
                      )
                    }
                  spids: [30602]
                )
              ]
              spids: [30602]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithWord
                              w: 
                                {
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [
                                          (Pipeline
                                            children: [
                                              (C {(dpkg)} {(--get-selections)})
                                              (C {(grep)} {(-ci)} {(-m1)} {(SQ <'^alsa-utils'>)})
                                            ]
                                            negated: F
                                          )
                                        ]
                                      )
                                    left_token: <Left_CommandSub '$('>
                                    spids: [30620 30636]
                                  )
                                }
                            )
                          spids: [30618 30639]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:whiptail_menu_array)
                          op: PlusEqual
                          rhs: 
                            {
                              (ArrayLiteralPart
                                words: [
                                  {(DQ (DietPi-JustBoom))}
                                  {(DQ (': Launches EQ and MPD audio options menu'))}
                                ]
                              )
                            }
                          spids: [30646]
                        )
                      ]
                      spids: [30646]
                    )
                  ]
                  spids: [16777215 30642]
                )
              ]
              spids: [16777215 30659]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_Less
                              left: (ArithWord w:{($ VSub_Name '$G_HW_MODEL')})
                              right: (ArithWord w:{(Lit_Digits 10)})
                            )
                          spids: [30669 30678]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:current_cpu_governor)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(cat)} {(/DietPi/dietpi.txt)})
                                          (C {(grep)} {(-m1)} {(SQ <'^CONFIG_CPU_GOVERNOR='>)})
                                          (C {(sed)} {(SQ <'s/.*=//'>)})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [30688 30710]
                              )
                            }
                          spids: [30687]
                        )
                      ]
                      spids: [30685]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:hdmi_output)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(cat)} {(/DietPi/dietpi.txt)})
                                          (C {(grep)} {(-m1)} {(SQ <'CONFIG_HDMI_OUTPUT='>)})
                                          (C {(sed)} {(SQ <'s/.*=//'>)})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [30716 30738]
                              )
                            }
                          spids: [30715]
                        )
                      ]
                      spids: [30713]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:psu_noise_reduction_enabled)
                          op: Equal
                          rhs: {(0)}
                          spids: [30743]
                        )
                      ]
                      spids: [30741]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  ops: [Op_DAmp]
                                  children: [
                                    (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$current_cpu_governor'))} 
                                      {(Lit_Other '=')} {(DQ (powersave))} {(Lit_Other ']')}
                                    )
                                    (DParen
                                      child: 
                                        (ArithUnary
                                          op_id: Arith_Bang
                                          child: (ArithWord w:{($ VSub_Name '$hdmi_output')})
                                        )
                                      spids: [30765 30772]
                                    )
                                  ]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:whiptail_menu_array)
                                  op: PlusEqual
                                  rhs: 
                                    {
                                      (ArrayLiteralPart
                                        words: [
                                          {(DQ ('PSU noise reduction'))}
                                          {(DQ (': Enabled | Select now to disable'))}
                                        ]
                                      )
                                    }
                                  spids: [30779]
                                )
                              ]
                              spids: [30779]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:psu_noise_reduction_enabled)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [30791]
                                )
                              ]
                              spids: [30791]
                            )
                          ]
                          spids: [16777215 30775]
                        )
                      ]
                      else_action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:whiptail_menu_array)
                              op: PlusEqual
                              rhs: 
                                {
                                  (ArrayLiteralPart
                                    words: [
                                      {(DQ ('PSU noise reduction'))}
                                      {(DQ (': Disabled | Select now to enable'))}
                                    ]
                                  )
                                }
                              spids: [30800]
                            )
                          ]
                          spids: [30800]
                        )
                      ]
                      spids: [30796 30813]
                    )
                  ]
                  spids: [16777215 30681]
                )
              ]
              spids: [16777215 30817]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:WHIP_TITLE)
                  op: Equal
                  rhs: {(SQ <'DietPi - Audio Options'>)}
                  spids: [30821]
                )
              ]
              spids: [30821]
            )
            (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 ('Please select an option:'))}
                                  {(--cancel-button)}
                                  {(DQ ($ VSub_Name '$TEXT_MENU_BACK'))}
                                  {(12)}
                                  {(75)}
                                  {(4)}
                                  {
                                    (DQ 
                                      (BracedVarSub
                                        token: <VSub_Name whiptail_menu_array>
                                        bracket_op: (WholeArray op_id:Lit_At)
                                        spids: [30856 30861]
                                      )
                                    )
                                  }
                                ]
                                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: [30828 30872]
                      )
                    }
                  spids: [30827]
                )
              ]
              spids: [30827]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:CHOICE)
                  op: Equal
                  rhs: {($ VSub_QMark '$?')}
                  spids: [30876]
                )
              ]
              spids: [30876]
            )
            (C {(unset)} {(whiptail_menu_array)})
            (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: [30889 30898]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$OPTION'))} {(Lit_Other '=')} 
                                  {(DQ ('PSU noise reduction'))} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DParen
                                          child: 
                                            (ArithUnary
                                              op_id: Arith_Bang
                                              child: 
                                                (ArithWord
                                                  w: {($ VSub_Name '$psu_noise_reduction_enabled')}
                                                )
                                            )
                                          spids: [30928 30935]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(whiptail)} {(--title)} {(DQ ('PSU noise reduction'))} 
                                      {(--msgbox)} 
                                      {
                                        (DQ 
                                          (
'This mode attempts to reduce power consumption on your SBC. In turn, this may reduce PSU inflicted noise, that may degrade audio output quality.'
                                          ) (Lit_Other '\\') (n) (Lit_Other '\\') ('nThe following has now been set:') (Lit_Other '\\') 
                                          ('n - CPU gov = Powersave') (Lit_Other '\\') ('n - HDMI output = Disabled')
                                        )
                                      } {(--backtitle)} {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))} {(14)} {(70)}
                                    )
                                    (C {(sed)} {(-i)} 
                                      {
                                        (DQ ('/CONFIG_CPU_GOVERNOR=/c') (Lit_Other '\\') 
                                          ('CONFIG_CPU_GOVERNOR=powersave')
                                        )
                                      } {(/DietPi/dietpi.txt)}
                                    )
                                    (C {(/DietPi/dietpi/dietpi-cpu_set)})
                                    (C {(sed)} {(-i)} 
                                      {
                                        (DQ ('/CONFIG_HDMI_OUTPUT=/c') (Lit_Other '\\') 
                                          ('CONFIG_HDMI_OUTPUT=0')
                                        )
                                      } {(/DietPi/dietpi.txt)}
                                    )
                                  ]
                                  spids: [16777215 30938]
                                )
                              ]
                              else_action: [
                                (C {(sed)} {(-i)} 
                                  {
                                    (DQ ('/CONFIG_CPU_GOVERNOR=/c') (Lit_Other '\\') 
                                      ('CONFIG_CPU_GOVERNOR=ondemand')
                                    )
                                  } {(/DietPi/dietpi.txt)}
                                )
                                (C {(/DietPi/dietpi/dietpi-cpu_set)})
                                (C {(sed)} {(-i)} 
                                  {
                                    (DQ ('/CONFIG_HDMI_OUTPUT=/c') (Lit_Other '\\') 
                                      ('CONFIG_HDMI_OUTPUT=1')
                                    )
                                  } {(/DietPi/dietpi.txt)}
                                )
                              ]
                              spids: [31007 31042]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(14)}
                                  spids: [31050]
                                )
                              ]
                              spids: [31050]
                            )
                          ]
                          spids: [16777215 30922]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$OPTION'))} {(Lit_Other '=')} 
                                  {(DQ (Soundcard))} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:WHIP_TITLE)
                                  op: Equal
                                  rhs: {(SQ <'DietPi - Soundcards'>)}
                                  spids: [31076]
                                )
                              ]
                              spids: [31076]
                            )
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:whiptail_menu_array)
                                  op: Equal
                                  rhs: {(ArrayLiteralPart)}
                                  spids: [31085]
                                )
                              ]
                              spids: [31083]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DParen
                                          child: 
                                            (ArithBinary
                                              op_id: Arith_Less
                                              left: (ArithWord w:{($ VSub_Name '$G_HW_MODEL')})
                                              right: (ArithWord w:{(Lit_Digits 10)})
                                            )
                                          spids: [31101 31110]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:whiptail_menu_array)
                                          op: PlusEqual
                                          rhs: 
                                            {
                                              (ArrayLiteralPart
                                                words: [
                                                  {(DQ (none))}
                                                  {(DQ ('Disables HDMI + 3.5mm Analogue'))}
                                                ]
                                              )
                                            }
                                          spids: [31117]
                                        )
                                      ]
                                      spids: [31117]
                                    )
                                  ]
                                  spids: [16777215 31113]
                                )
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DParen
                                          child: 
                                            (ArithBinary
                                              op_id: Arith_DPipe
                                              left: 
                                                (ArithBinary
                                                  op_id: Arith_DPipe
                                                  left: 
                                                    (ArithBinary
                                                      op_id: Arith_DPipe
                                                      left: 
                                                        (ArithBinary
                                                          op_id: Arith_DEqual
                                                          left: 
                                                            (ArithWord
                                                              w: {($ VSub_Name '$G_HW_MODEL')}
                                                            )
                                                          right: (ArithWord w:{(Lit_Digits 32)})
                                                        )
                                                      right: 
                                                        (ArithBinary
                                                          op_id: Arith_DEqual
                                                          left: 
                                                            (ArithWord
                                                              w: {($ VSub_Name '$G_HW_MODEL')}
                                                            )
                                                          right: (ArithWord w:{(Lit_Digits 51)})
                                                        )
                                                    )
                                                  right: 
                                                    (ArithBinary
                                                      op_id: Arith_DEqual
                                                      left: (ArithWord w:{($ VSub_Name '$G_HW_MODEL')})
                                                      right: (ArithWord w:{(Lit_Digits 61)})
                                                    )
                                                )
                                              right: 
                                                (ArithBinary
                                                  op_id: Arith_DEqual
                                                  left: (ArithWord w:{($ VSub_Name '$G_HW_MODEL')})
                                                  right: (ArithWord w:{(Lit_Digits 62)})
                                                )
                                            )
                                          spids: [31136 31169]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:whiptail_menu_array)
                                          op: PlusEqual
                                          rhs: 
                                            {
                                              (ArrayLiteralPart
                                                words: [{(DQ (default))} {(DQ ('3.5mm Analogue'))}]
                                              )
                                            }
                                          spids: [31176]
                                        )
                                      ]
                                      spids: [31176]
                                    )
                                  ]
                                  spids: [31134 31172]
                                )
                                (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 21)})
                                            )
                                          spids: [31195 31204]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:whiptail_menu_array)
                                          op: PlusEqual
                                          rhs: 
                                            {
                                              (ArrayLiteralPart
                                                words: [{(DQ (default))} {(DQ ('HW:0,0'))}]
                                              )
                                            }
                                          spids: [31211]
                                        )
                                      ]
                                      spids: [31211]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (DParen
                                                  child: 
                                                    (ArithUnary
                                                      op_id: Arith_Bang
                                                      child: 
                                                        (ArithWord
                                                          w: 
                                                            {
                                                              (CommandSubPart
                                                                command_list: 
                                                                  (CommandList
                                                                    children: [
                                                                      (Pipeline
                                                                        children: [
                                                                          (C {(dpkg)} 
                                                                            {(--get-selections)}
                                                                          )
                                                                          (C {(grep)} {(-ci)} {(-m1)} 
                                                                            {(SQ <'^alsa-utils'>)}
                                                                          )
                                                                        ]
                                                                        negated: F
                                                                      )
                                                                    ]
                                                                  )
                                                                left_token: <Left_CommandSub '$('>
                                                                spids: [31234 31250]
                                                              )
                                                            }
                                                        )
                                                    )
                                                  spids: [31230 31253]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(/DietPi/dietpi/func/dietpi-set_hardware)} 
                                              {(soundcard)} {(default)}
                                            )
                                          ]
                                          spids: [16777215 31256]
                                        )
                                      ]
                                      spids: [16777215 31268]
                                    )
                                    (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 10)})
                                        )
                                      update: 
                                        (UnaryAssign
                                          op_id: Node_PostDPlus
                                          child: (LhsName name:i)
                                        )
                                      body: 
                                        (DoGroup
                                          children: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(Lit_Other '[')} {(-f)} 
                                                          {(/proc/asound/card) ($ VSub_Name '$i') 
                                                            (/id)
                                                          } {(Lit_Other ']')}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (ForExpr
                                                      init: 
                                                        (BinaryAssign
                                                          op_id: Arith_Equal
                                                          left: (LhsName name:j)
                                                          right: (ArithWord w:{(Lit_Digits 0)})
                                                        )
                                                      cond: 
                                                        (ArithBinary
                                                          op_id: Arith_Less
                                                          left: (ArithVarRef name:j)
                                                          right: (ArithWord w:{(Lit_Digits 10)})
                                                        )
                                                      update: 
                                                        (UnaryAssign
                                                          op_id: Node_PostDPlus
                                                          child: (LhsName name:j)
                                                        )
                                                      body: 
                                                        (DoGroup
                                                          children: [
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (Sentence
                                                                      child: 
                                                                        (C {(Lit_Other '[')} {(-f)} 
                                                                          {(/proc/asound/card) 
                                                                            ($ VSub_Name '$i') (/pcm) (${ VSub_Name j) (p/info)
                                                                          } {(Lit_Other ']')}
                                                                        )
                                                                      terminator: <Op_Semi ';'>
                                                                    )
                                                                  ]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_Local
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (LhsName
                                                                              name: card_index
                                                                            )
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (CommandSubPart
                                                                                command_list: 
                                                                                  (CommandList
                                                                                    children: [
                                                                                      (Pipeline
                                                                                        children: [
                                                                                          (C {(cat)} 
                                                                                            {
                                                                                              (
/proc/asound/card
                                                                                              ) ($ VSub_Name '$i') (/pcm) (${ VSub_Name j) (p/info)
                                                                                            }
                                                                                          )
                                                                                          (C {(grep)} 
                                                                                            {(-m1)} {(SQ <'^card:'>)}
                                                                                          )
                                                                                          (C {(awk)} 
                                                                                            {
                                                                                              (SQ 
                                                                                                <
'{print $2}'
                                                                                                >
                                                                                              )
                                                                                            }
                                                                                          )
                                                                                        ]
                                                                                        negated: F
                                                                                      )
                                                                                    ]
                                                                                  )
                                                                                left_token: 
                                                                                  <Left_CommandSub 
'$('
                                                                                  >
                                                                                spids: [31359 31387]
                                                                              )
                                                                            }
                                                                          spids: [31358]
                                                                        )
                                                                      ]
                                                                      spids: [31356]
                                                                    )
                                                                    (Assignment
                                                                      keyword: Assign_Local
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (LhsName
                                                                              name: device_index
                                                                            )
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (CommandSubPart
                                                                                command_list: 
                                                                                  (CommandList
                                                                                    children: [
                                                                                      (Pipeline
                                                                                        children: [
                                                                                          (C {(cat)} 
                                                                                            {
                                                                                              (
/proc/asound/card
                                                                                              ) ($ VSub_Name '$i') (/pcm) (${ VSub_Name j) (p/info)
                                                                                            }
                                                                                          )
                                                                                          (C {(grep)} 
                                                                                            {(-m1)} {(SQ <'^device:'>)}
                                                                                          )
                                                                                          (C {(awk)} 
                                                                                            {
                                                                                              (SQ 
                                                                                                <
'{print $2}'
                                                                                                >
                                                                                              )
                                                                                            }
                                                                                          )
                                                                                        ]
                                                                                        negated: F
                                                                                      )
                                                                                    ]
                                                                                  )
                                                                                left_token: 
                                                                                  <Left_CommandSub 
'$('
                                                                                  >
                                                                                spids: [31393 31421]
                                                                              )
                                                                            }
                                                                          spids: [31392]
                                                                        )
                                                                      ]
                                                                      spids: [31390]
                                                                    )
                                                                    (Assignment
                                                                      keyword: Assign_Local
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (LhsName
                                                                              name: card_name
                                                                            )
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (CommandSubPart
                                                                                command_list: 
                                                                                  (CommandList
                                                                                    children: [
                                                                                      (C {(cat)} 
                                                                                        {
                                                                                          (
/proc/asound/card
                                                                                          ) ($ VSub_Name '$i') (/id)
                                                                                        }
                                                                                      )
                                                                                    ]
                                                                                  )
                                                                                left_token: 
                                                                                  <Left_CommandSub 
'$('
                                                                                  >
                                                                                spids: [31427 31433]
                                                                              )
                                                                            }
                                                                          spids: [31426]
                                                                        )
                                                                      ]
                                                                      spids: [31424]
                                                                    )
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (LhsName
                                                                              name: card_name
                                                                            )
                                                                          op: PlusEqual
                                                                          rhs: 
                                                                            {
                                                                              (CommandSubPart
                                                                                command_list: 
                                                                                  (CommandList
                                                                                    children: [
                                                                                      (Pipeline
                                                                                        children: [
                                                                                          (C {(cat)} 
                                                                                            {
                                                                                              (
/proc/asound/card
                                                                                              ) ($ VSub_Name '$i') (/pcm) (${ VSub_Name j) (p/info)
                                                                                            }
                                                                                          )
                                                                                          (C {(grep)} 
                                                                                            {(-m1)} {(SQ <'^name:'>)}
                                                                                          )
                                                                                          (C {(sed)} 
                                                                                            {
                                                                                              (SQ 
                                                                                                <
's/name://g'
                                                                                                >
                                                                                              )
                                                                                            }
                                                                                          )
                                                                                        ]
                                                                                        negated: F
                                                                                      )
                                                                                    ]
                                                                                  )
                                                                                left_token: 
                                                                                  <Left_CommandSub 
'$('
                                                                                  >
                                                                                spids: [31437 31465]
                                                                              )
                                                                            }
                                                                          spids: [31436]
                                                                        )
                                                                      ]
                                                                      spids: [31436]
                                                                    )
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (LhsName
                                                                              name: 
whiptail_menu_array
                                                                            )
                                                                          op: PlusEqual
                                                                          rhs: 
                                                                            {
                                                                              (ArrayLiteralPart
                                                                                words: [
                                                                                  {
                                                                                    (DQ ('hw:') 
                                                                                      ($ VSub_Name 
'$card_index'
                                                                                      ) (',') ($ VSub_Name '$device_index')
                                                                                    )
                                                                                  }
                                                                                  {
                                                                                    (DQ 
                                                                                      ($ VSub_Name 
'$card_name'
                                                                                      )
                                                                                    )
                                                                                  }
                                                                                ]
                                                                              )
                                                                            }
                                                                          spids: [31469]
                                                                        )
                                                                      ]
                                                                      spids: [31469]
                                                                    )
                                                                  ]
                                                                  spids: [16777215 31352]
                                                                )
                                                              ]
                                                              spids: [16777215 31487]
                                                            )
                                                          ]
                                                          spids: [31331 31491]
                                                        )
                                                    )
                                                  ]
                                                  spids: [16777215 31308]
                                                )
                                              ]
                                              spids: [16777215 31495]
                                            )
                                          ]
                                          spids: [31291 31499]
                                        )
                                    )
                                  ]
                                  spids: [31193 31207]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:whiptail_menu_array)
                                      op: PlusEqual
                                      rhs: {(ArrayLiteralPart words:[{(DQ (default))} {(DQ (HDMI))}])}
                                      spids: [31507]
                                    )
                                  ]
                                  spids: [31507]
                                )
                              ]
                              spids: [31503 31520]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DParen
                                          child: 
                                            (ArithBinary
                                              op_id: Arith_Less
                                              left: (ArithWord w:{($ VSub_Name '$G_HW_MODEL')})
                                              right: (ArithWord w:{(Lit_Digits 10)})
                                            )
                                          spids: [31530 31539]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:whiptail_menu_array)
                                          op: PlusEqual
                                          rhs: 
                                            {
                                              (ArrayLiteralPart
                                                words: [
                                                  {(DQ (rpi-bcm2835))}
                                                  {
                                                    (DQ ('Onboard: HDMI (if plugged in, else 3.5mm)'))
                                                  }
                                                ]
                                              )
                                            }
                                          spids: [31546]
                                        )
                                      ]
                                      spids: [31546]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:whiptail_menu_array)
                                          op: PlusEqual
                                          rhs: 
                                            {
                                              (ArrayLiteralPart
                                                words: [
                                                  {(DQ (rpi-bcm2835-3.5mm))}
                                                  {(DQ ('Onboard: 3.5mm forced output'))}
                                                ]
                                              )
                                            }
                                          spids: [31558]
                                        )
                                      ]
                                      spids: [31558]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:whiptail_menu_array)
                                          op: PlusEqual
                                          rhs: 
                                            {
                                              (ArrayLiteralPart
                                                words: [
                                                  {(DQ (rpi-bcm2835-ultrahq))}
                                                  {
                                                    (DQ 
                                                      (
'Onboard HQ: HDMI (if plugged in, else 3.5mm)'
                                                      )
                                                    )
                                                  }
                                                ]
                                              )
                                            }
                                          spids: [31570]
                                        )
                                      ]
                                      spids: [31570]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:whiptail_menu_array)
                                          op: PlusEqual
                                          rhs: 
                                            {
                                              (ArrayLiteralPart
                                                words: [
                                                  {(DQ (rpi-bcm2835-ultrahq-3.5mm))}
                                                  {(DQ ('Onboard HQ: 3.5mm forced output'))}
                                                ]
                                              )
                                            }
                                          spids: [31582]
                                        )
                                      ]
                                      spids: [31582]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:whiptail_menu_array)
                                          op: PlusEqual
                                          rhs: 
                                            {
                                              (ArrayLiteralPart
                                                words: [
                                                  {(DQ (allo-boss-dac-pcm512x-audio))}
                                                  {(DQ ('Allo Boss DAC'))}
                                                ]
                                              )
                                            }
                                          spids: [31594]
                                        )
                                      ]
                                      spids: [31594]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:whiptail_menu_array)
                                          op: PlusEqual
                                          rhs: 
                                            {
                                              (ArrayLiteralPart
                                                words: [
                                                  {(DQ (allo-boss-dac-pcm512x-audio))}
                                                  {(DQ ('Allo Mini Boss DAC'))}
                                                ]
                                              )
                                            }
                                          spids: [31606]
                                        )
                                      ]
                                      spids: [31606]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:whiptail_menu_array)
                                          op: PlusEqual
                                          rhs: 
                                            {
                                              (ArrayLiteralPart
                                                words: [{(DQ (allo-digione))} {(DQ ('Allo DigiOne'))}]
                                              )
                                            }
                                          spids: [31618]
                                        )
                                      ]
                                      spids: [31618]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:whiptail_menu_array)
                                          op: PlusEqual
                                          rhs: 
                                            {
                                              (ArrayLiteralPart
                                                words: [
                                                  {(DQ (allo-piano-dac-pcm512x-audio))}
                                                  {(DQ ('Allo Piano DAC'))}
                                                ]
                                              )
                                            }
                                          spids: [31630]
                                        )
                                      ]
                                      spids: [31630]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:whiptail_menu_array)
                                          op: PlusEqual
                                          rhs: 
                                            {
                                              (ArrayLiteralPart
                                                words: [
                                                  {(DQ (allo-piano-dac-pcm512x-audio))}
                                                  {(DQ ('Allo Piano DAC'))}
                                                ]
                                              )
                                            }
                                          spids: [31642]
                                        )
                                      ]
                                      spids: [31642]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:whiptail_menu_array)
                                          op: PlusEqual
                                          rhs: 
                                            {
                                              (ArrayLiteralPart
                                                words: [
                                                  {(DQ (dionaudio-loco))}
                                                  {(DQ ('Dion Audio LOCO'))}
                                                ]
                                              )
                                            }
                                          spids: [31654]
                                        )
                                      ]
                                      spids: [31654]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:whiptail_menu_array)
                                          op: PlusEqual
                                          rhs: 
                                            {
                                              (ArrayLiteralPart
                                                words: [
                                                  {(DQ (dionaudio-loco-v2))}
                                                  {(DQ ('Dion Audio LOCO V2'))}
                                                ]
                                              )
                                            }
                                          spids: [31666]
                                        )
                                      ]
                                      spids: [31666]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:whiptail_menu_array)
                                          op: PlusEqual
                                          rhs: 
                                            {
                                              (ArrayLiteralPart
                                                words: [
                                                  {(DQ (googlevoicehat-soundcard))}
                                                  {(DQ ('Google AIY voice kit'))}
                                                ]
                                              )
                                            }
                                          spids: [31678]
                                        )
                                      ]
                                      spids: [31678]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:whiptail_menu_array)
                                          op: PlusEqual
                                          rhs: 
                                            {
                                              (ArrayLiteralPart
                                                words: [
                                                  {(DQ (hifiberry-amp))}
                                                  {(DQ ('HifiBerry AMP / AMP+'))}
                                                ]
                                              )
                                            }
                                          spids: [31690]
                                        )
                                      ]
                                      spids: [31690]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:whiptail_menu_array)
                                          op: PlusEqual
                                          rhs: 
                                            {
                                              (ArrayLiteralPart
                                                words: [
                                                  {(DQ (hifiberry-dac))}
                                                  {(DQ ('HifiBerry DAC / MiniAMP'))}
                                                ]
                                              )
                                            }
                                          spids: [31702]
                                        )
                                      ]
                                      spids: [31702]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:whiptail_menu_array)
                                          op: PlusEqual
                                          rhs: 
                                            {
                                              (ArrayLiteralPart
                                                words: [
                                                  {(DQ (hifiberry-dacplus))}
                                                  {(DQ ('HifiBerry DAC+ / DAC+ Pro'))}
                                                ]
                                              )
                                            }
                                          spids: [31714]
                                        )
                                      ]
                                      spids: [31714]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:whiptail_menu_array)
                                          op: PlusEqual
                                          rhs: 
                                            {
                                              (ArrayLiteralPart
                                                words: [
                                                  {(DQ (hifiberry-digi))}
                                                  {(DQ ('HifiBerry DIGI / DIGI+'))}
                                                ]
                                              )
                                            }
                                          spids: [31726]
                                        )
                                      ]
                                      spids: [31726]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:whiptail_menu_array)
                                          op: PlusEqual
                                          rhs: 
                                            {
                                              (ArrayLiteralPart
                                                words: [
                                                  {(DQ (hifiberry-digi-pro))}
                                                  {(DQ ('HifiBerry DIGI Pro'))}
                                                ]
                                              )
                                            }
                                          spids: [31738]
                                        )
                                      ]
                                      spids: [31738]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:whiptail_menu_array)
                                          op: PlusEqual
                                          rhs: 
                                            {
                                              (ArrayLiteralPart
                                                words: [
                                                  {(DQ (i-sabre-k2m))}
                                                  {(DQ ('AudioPhonics I-Sabre ES9028 Q2M'))}
                                                ]
                                              )
                                            }
                                          spids: [31750]
                                        )
                                      ]
                                      spids: [31750]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:whiptail_menu_array)
                                          op: PlusEqual
                                          rhs: 
                                            {
                                              (ArrayLiteralPart
                                                words: [
                                                  {(DQ (iqaudio-dacplus))}
                                                  {
                                                    (DQ 
                                                      (
'Pi-DAC+, Pi-DACZero, Pi-DAC Pro, Pi-DigiAMP+'
                                                      )
                                                    )
                                                  }
                                                ]
                                              )
                                            }
                                          spids: [31762]
                                        )
                                      ]
                                      spids: [31762]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:whiptail_menu_array)
                                          op: PlusEqual
                                          rhs: 
                                            {
                                              (ArrayLiteralPart
                                                words: [
                                                  {(DQ (iqaudio-digi-wm8804-audio))}
                                                  {(DQ ('Pi-DIGI+'))}
                                                ]
                                              )
                                            }
                                          spids: [31774]
                                        )
                                      ]
                                      spids: [31774]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:whiptail_menu_array)
                                          op: PlusEqual
                                          rhs: 
                                            {
                                              (ArrayLiteralPart
                                                words: [
                                                  {(DQ ('iqaudio-dacplus,auto_mute_amp'))}
                                                  {(DQ ('Pi-DigiAMP+'))}
                                                ]
                                              )
                                            }
                                          spids: [31786]
                                        )
                                      ]
                                      spids: [31786]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:whiptail_menu_array)
                                          op: PlusEqual
                                          rhs: 
                                            {
                                              (ArrayLiteralPart
                                                words: [
                                                  {(DQ ('iqaudio-dacplus,unmute_amp'))}
                                                  {(DQ ('Pi-DigiAMP+'))}
                                                ]
                                              )
                                            }
                                          spids: [31798]
                                        )
                                      ]
                                      spids: [31798]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:whiptail_menu_array)
                                          op: PlusEqual
                                          rhs: 
                                            {
                                              (ArrayLiteralPart
                                                words: [
                                                  {(DQ (justboom-dac))}
                                                  {
                                                    (DQ 
                                                      (
'JustBoom: DAC HAT, Amp HAT, DAC Zero and Amp Zero'
                                                      )
                                                    )
                                                  }
                                                ]
                                              )
                                            }
                                          spids: [31810]
                                        )
                                      ]
                                      spids: [31810]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:whiptail_menu_array)
                                          op: PlusEqual
                                          rhs: 
                                            {
                                              (ArrayLiteralPart
                                                words: [
                                                  {(DQ (justboom-digi))}
                                                  {(DQ ('JustBoom: Digi HAT and Digi Zero'))}
                                                ]
                                              )
                                            }
                                          spids: [31822]
                                        )
                                      ]
                                      spids: [31822]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:whiptail_menu_array)
                                          op: PlusEqual
                                          rhs: 
                                            {
                                              (ArrayLiteralPart
                                                words: [
                                                  {(DQ (rpi-dac))}
                                                  {(DQ ('Soekris DAM1021 (pcm1794a)'))}
                                                ]
                                              )
                                            }
                                          spids: [31834]
                                        )
                                      ]
                                      spids: [31834]
                                    )
                                  ]
                                  spids: [16777215 31542]
                                )
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DParen
                                          child: 
                                            (ArithBinary
                                              op_id: Arith_DPipe
                                              left: 
                                                (ArithBinary
                                                  op_id: Arith_DEqual
                                                  left: (ArithWord w:{($ VSub_Name '$G_HW_MODEL')})
                                                  right: (ArithWord w:{(Lit_Digits 10)})
                                                )
                                              right: 
                                                (ArithBinary
                                                  op_id: Arith_DEqual
                                                  left: (ArithWord w:{($ VSub_Name '$G_HW_MODEL')})
                                                  right: (ArithWord w:{(Lit_Digits 12)})
                                                )
                                            )
                                          spids: [31853 31870]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:whiptail_menu_array)
                                          op: PlusEqual
                                          rhs: 
                                            {
                                              (ArrayLiteralPart
                                                words: [
                                                  {(DQ (odroid-hifishield-plus))}
                                                  {(DQ ('Odroid HiFi Shield 1/Plus'))}
                                                ]
                                              )
                                            }
                                          spids: [31877]
                                        )
                                      ]
                                      spids: [31877]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:whiptail_menu_array)
                                          op: PlusEqual
                                          rhs: 
                                            {
                                              (ArrayLiteralPart
                                                words: [
                                                  {(DQ (odroid-hifishield-2))}
                                                  {(DQ ('Odroid HiFi Shield 2'))}
                                                ]
                                              )
                                            }
                                          spids: [31889]
                                        )
                                      ]
                                      spids: [31889]
                                    )
                                  ]
                                  spids: [31851 31873]
                                )
                                (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 32)})
                                            )
                                          spids: [31908 31917]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:whiptail_menu_array)
                                          op: PlusEqual
                                          rhs: 
                                            {
                                              (ArrayLiteralPart
                                                words: [{(DQ (h2-hdmi))} {(DQ (HDMI))}]
                                              )
                                            }
                                          spids: [31924]
                                        )
                                      ]
                                      spids: [31924]
                                    )
                                  ]
                                  spids: [31906 31920]
                                )
                                (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 43)})
                                            )
                                          spids: [31943 31952]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:whiptail_menu_array)
                                          op: PlusEqual
                                          rhs: 
                                            {
                                              (ArrayLiteralPart
                                                words: [{(DQ (rock64-analogue))} {(DQ (3.5MM))}]
                                              )
                                            }
                                          spids: [31959]
                                        )
                                      ]
                                      spids: [31959]
                                    )
                                  ]
                                  spids: [31941 31955]
                                )
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DParen
                                          child: 
                                            (ArithBinary
                                              op_id: Arith_DPipe
                                              left: 
                                                (ArithBinary
                                                  op_id: Arith_DEqual
                                                  left: (ArithWord w:{($ VSub_Name '$G_HW_MODEL')})
                                                  right: (ArithWord w:{(Lit_Digits 61)})
                                                )
                                              right: 
                                                (ArithBinary
                                                  op_id: Arith_DEqual
                                                  left: (ArithWord w:{($ VSub_Name '$G_HW_MODEL')})
                                                  right: (ArithWord w:{(Lit_Digits 62)})
                                                )
                                            )
                                          spids: [31978 31995]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:whiptail_menu_array)
                                          op: PlusEqual
                                          rhs: 
                                            {
                                              (ArrayLiteralPart
                                                words: [{(DQ (s5pxx18-hdmi))} {(DQ (HDMI))}]
                                              )
                                            }
                                          spids: [32002]
                                        )
                                      ]
                                      spids: [32002]
                                    )
                                  ]
                                  spids: [31976 31998]
                                )
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DParen
                                          child: 
                                            (ArithBinary
                                              op_id: Arith_DEqual
                                              left: (ArithWord w:{($ VSub_Name '$G_HW_CPUID')})
                                              right: (ArithWord w:{(Lit_Digits 1)})
                                            )
                                          spids: [32021 32030]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:whiptail_menu_array)
                                          op: PlusEqual
                                          rhs: 
                                            {
                                              (ArrayLiteralPart
                                                words: [{(DQ (H3-analogue))} {(DQ ('3.5mm analogue'))}]
                                              )
                                            }
                                          spids: [32037]
                                        )
                                      ]
                                      spids: [32037]
                                    )
                                  ]
                                  spids: [32019 32033]
                                )
                                (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 70)})
                                            )
                                          spids: [32070 32079]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:whiptail_menu_array)
                                          op: PlusEqual
                                          rhs: 
                                            {
                                              (ArrayLiteralPart
                                                words: [
                                                  {(DQ (snd-soc-allo-piano-dac))}
                                                  {(DQ ('Allo Piano DAC'))}
                                                ]
                                              )
                                            }
                                          spids: [32086]
                                        )
                                      ]
                                      spids: [32086]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:whiptail_menu_array)
                                          op: PlusEqual
                                          rhs: 
                                            {
                                              (ArrayLiteralPart
                                                words: [
                                                  {(DQ (snd-soc-allo-piano-dac-plus))}
                                                  {(DQ ('Allo Piano DAC 2.1'))}
                                                ]
                                              )
                                            }
                                          spids: [32098]
                                        )
                                      ]
                                      spids: [32098]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:whiptail_menu_array)
                                          op: PlusEqual
                                          rhs: 
                                            {
                                              (ArrayLiteralPart
                                                words: [
                                                  {(DQ (allo-cheapo-analogue))}
                                                  {(DQ ('Allo Cheapo (3.5mm / RCA output)'))}
                                                ]
                                              )
                                            }
                                          spids: [32110]
                                        )
                                      ]
                                      spids: [32110]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:whiptail_menu_array)
                                          op: PlusEqual
                                          rhs: 
                                            {
                                              (ArrayLiteralPart
                                                words: [
                                                  {(DQ (allo-cheapo-optical))}
                                                  {(DQ ('Allo Cheapo (Optical output)'))}
                                                ]
                                              )
                                            }
                                          spids: [32122]
                                        )
                                      ]
                                      spids: [32122]
                                    )
                                  ]
                                  spids: [32068 32082]
                                )
                                (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 52)})
                                            )
                                          spids: [32141 32150]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:whiptail_menu_array)
                                          op: PlusEqual
                                          rhs: 
                                            {
                                              (ArrayLiteralPart
                                                words: [
                                                  {(DQ (asus-tb-analogue))}
                                                  {(DQ ('3.5mm analogue'))}
                                                ]
                                              )
                                            }
                                          spids: [32157]
                                        )
                                      ]
                                      spids: [32157]
                                    )
                                  ]
                                  spids: [32139 32153]
                                )
                              ]
                              spids: [16777215 32170]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:whiptail_menu_array)
                                  op: PlusEqual
                                  rhs: 
                                    {
                                      (ArrayLiteralPart
                                        words: [{(DQ (usb-dac))} {(DQ ('USB Audio DAC (any)'))}]
                                      )
                                    }
                                  spids: [32178]
                                )
                              ]
                              spids: [32178]
                            )
                            (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 ('Current : ') 
                                                      ($ VSub_Name '$soundcard_current')
                                                    )
                                                  }
                                                  {(--default-item)}
                                                  {(DQ ($ VSub_Name '$soundcard_current'))}
                                                  {(--cancel-button)}
                                                  {(DQ ($ VSub_Name '$TEXT_MENU_BACK'))}
                                                  {(18)}
                                                  {(90)}
                                                  {(10)}
                                                  {
                                                    (DQ 
                                                      (BracedVarSub
                                                        token: <VSub_Name whiptail_menu_array>
                                                        bracket_op: (WholeArray op_id:Lit_At)
                                                        spids: [32227 32232]
                                                      )
                                                    )
                                                  }
                                                ]
                                                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: [32192 32243]
                                      )
                                    }
                                  spids: [32191]
                                )
                              ]
                              spids: [32191]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:CHOICE)
                                  op: Equal
                                  rhs: {($ VSub_QMark '$?')}
                                  spids: [32246]
                                )
                              ]
                              spids: [32246]
                            )
                            (C {(unset)} {(whiptail_menu_array)})
                            (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: [32258 32267]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(/DietPi/dietpi/func/dietpi-set_hardware)} {(soundcard)} 
                                      {(DQ ($ VSub_Name '$OPTION'))}
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:REBOOT_REQUIRED)
                                          op: Equal
                                          rhs: {(1)}
                                          spids: [32283]
                                        )
                                      ]
                                      spids: [32283]
                                    )
                                  ]
                                  spids: [16777215 32270]
                                )
                              ]
                              spids: [16777215 32288]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(14)}
                                  spids: [32296]
                                )
                              ]
                              spids: [32296]
                            )
                          ]
                          spids: [31055 31072]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$OPTION'))} {(Lit_Other '=')} 
                                  {(DQ (DietPi-JustBoom))} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(/DietPi/dietpi/misc/dietpi-justboom)})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(14)}
                                  spids: [32330]
                                )
                              ]
                              spids: [32330]
                            )
                          ]
                          spids: [32301 32318]
                        )
                      ]
                      spids: [16777215 32335]
                    )
                  ]
                  spids: [16777215 30901]
                )
              ]
              spids: [16777215 32339]
            )
          ]
          spids: [30560]
        )
      spids: [30557 30560]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:STRESS_TEST_MODE) op:Equal rhs:{(0)} spids:[32351])]
      spids: [32351]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:STRESS_TEST_DURATION) op:Equal rhs:{(60)} spids:[32358])]
      spids: [32358]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:STRESS_TEST_RESULTS_TEMP_MIN)
          op: Equal
          rhs: {(0)}
          spids: [32362]
        )
      ]
      spids: [32362]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:STRESS_TEST_RESULTS_TEMP_MAX)
          op: Equal
          rhs: {(0)}
          spids: [32366]
        )
      ]
      spids: [32366]
    )
    (FuncDef
      name: Menu_StressTest
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:TARGETMENUID) op:Equal rhs:{(11)} spids:[32378])]
              spids: [32378]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:stress_test_mode_text)
                  op: Equal
                  rhs: {(SQ <'CPU Burn: (CPU only)'>)}
                  spids: [32385]
                )
              ]
              spids: [32383]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$STRESS_TEST_MODE')})
                              right: (ArithWord w:{(Lit_Digits 1)})
                            )
                          spids: [32393 32402]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:stress_test_mode_text)
                          op: Equal
                          rhs: {(SQ <'CPU & RAM: (CPU, RAM)'>)}
                          spids: [32409]
                        )
                      ]
                      spids: [32409]
                    )
                  ]
                  spids: [16777215 32405]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$STRESS_TEST_MODE')})
                              right: (ArithWord w:{(Lit_Digits 2)})
                            )
                          spids: [32418 32427]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:stress_test_mode_text)
                          op: Equal
                          rhs: {(SQ <'Full: (CPU, DISK, RAM)'>)}
                          spids: [32434]
                        )
                      ]
                      spids: [32434]
                    )
                  ]
                  spids: [32416 32430]
                )
              ]
              spids: [16777215 32441]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:WHIP_TITLE)
                  op: Equal
                  rhs: {(SQ <'DietPi - Stress Test'>)}
                  spids: [32445]
                )
              ]
              spids: [32445]
            )
            (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 ('Please select an option:'))}
                                  {(--cancel-button)}
                                  {(DQ ($ VSub_Name '$TEXT_MENU_BACK'))}
                                  {(--backtitle)}
                                  {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))}
                                  {(11)}
                                  {(60)}
                                  {(3)}
                                  {(DQ (Mode))}
                                  {(DQ ($ VSub_Name '$stress_test_mode_text'))}
                                  {(DQ (Duration))}
                                  {
                                    (DQ 
                                      (ArithSubPart
                                        anode: 
                                          (ArithBinary
                                            op_id: Arith_Slash
                                            left: (ArithWord w:{($ VSub_Name '$STRESS_TEST_DURATION')})
                                            right: (ArithWord w:{(Lit_Digits 60)})
                                          )
                                        spids: [32502 32511]
                                      ) (' Minutes')
                                    )
                                  }
                                  {(DQ (Start))}
                                  {(DQ ('Launch the stress test'))}
                                ]
                                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: [32452 32533]
                      )
                    }
                  spids: [32451]
                )
              ]
              spids: [32451]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:CHOICE)
                  op: Equal
                  rhs: {($ VSub_QMark '$?')}
                  spids: [32536]
                )
              ]
              spids: [32536]
            )
            (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: [32542 32551]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$OPTION'))} {(Lit_Other '=')} 
                                  {(DQ (Duration))} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (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 ('Please select a duration for the test'))}
                                                  {(--cancel-button)}
                                                  {(DQ ($ VSub_Name '$TEXT_MENU_BACK'))}
                                                  {(--default-item)}
                                                  {(DQ ($ VSub_Name '$STRESS_TEST_DURATION'))}
                                                  {(--backtitle)}
                                                  {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))}
                                                  {(13)}
                                                  {(60)}
                                                  {(5)}
                                                  {(DQ (60))}
                                                  {(DQ ('1 Minute'))}
                                                  {(DQ (300))}
                                                  {(DQ ('5 Minutes'))}
                                                  {(DQ (1800))}
                                                  {(DQ ('30 Minutes'))}
                                                  {(DQ (3600))}
                                                  {(DQ ('1 Hour'))}
                                                  {(DQ (21600))}
                                                  {(DQ ('6 Hours'))}
                                                ]
                                                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: [32580 32677]
                                      )
                                    }
                                  spids: [32579]
                                )
                              ]
                              spids: [32579]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:CHOICE)
                                  op: Equal
                                  rhs: {($ VSub_QMark '$?')}
                                  spids: [32680]
                                )
                              ]
                              spids: [32680]
                            )
                            (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: [32686 32695]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:STRESS_TEST_DURATION)
                                          op: Equal
                                          rhs: {($ VSub_Name '$OPTION')}
                                          spids: [32702]
                                        )
                                      ]
                                      spids: [32702]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:TARGETMENUID)
                                          op: Equal
                                          rhs: {(15)}
                                          spids: [32706]
                                        )
                                      ]
                                      spids: [32706]
                                    )
                                  ]
                                  spids: [16777215 32698]
                                )
                              ]
                              spids: [16777215 32711]
                            )
                          ]
                          spids: [16777215 32575]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$OPTION'))} {(Lit_Other '=')} 
                                  {(DQ (Mode))} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (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 ('Please select a stress test type'))}
                                                  {(--cancel-button)}
                                                  {(DQ ($ VSub_Name '$TEXT_MENU_BACK'))}
                                                  {(--default-item)}
                                                  {(DQ ($ VSub_Name '$STRESS_TEST_MODE'))}
                                                  {(--backtitle)}
                                                  {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))}
                                                  {(12)}
                                                  {(60)}
                                                  {(3)}
                                                  {(DQ (0))}
                                                  {(DQ ('CPU Burn: (CPU only)'))}
                                                  {(DQ (1))}
                                                  {(DQ ('CPU & RAM: (CPU, RAM)'))}
                                                  {(DQ (2))}
                                                  {(DQ ('Full: (CPU, DISK, RAM)'))}
                                                ]
                                                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: [32737 32814]
                                      )
                                    }
                                  spids: [32736]
                                )
                              ]
                              spids: [32736]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:CHOICE)
                                  op: Equal
                                  rhs: {($ VSub_QMark '$?')}
                                  spids: [32817]
                                )
                              ]
                              spids: [32817]
                            )
                            (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: [32823 32832]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:STRESS_TEST_MODE)
                                          op: Equal
                                          rhs: {($ VSub_Name '$OPTION')}
                                          spids: [32839]
                                        )
                                      ]
                                      spids: [32839]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:TARGETMENUID)
                                          op: Equal
                                          rhs: {(15)}
                                          spids: [32843]
                                        )
                                      ]
                                      spids: [32843]
                                    )
                                  ]
                                  spids: [16777215 32835]
                                )
                              ]
                              spids: [16777215 32848]
                            )
                          ]
                          spids: [32715 32732]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$OPTION'))} {(Lit_Other '=')} 
                                  {(DQ (Start))} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(G_AG_CHECK_INSTALL_PREREQ)} {(stress)})
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DParen
                                          child: 
                                            (ArithBinary
                                              op_id: Arith_NEqual
                                              left: (ArithWord w:{($ VSub_QMark '$?')})
                                              right: (ArithWord w:{(Lit_Digits 0)})
                                            )
                                          spids: [32880 32889]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [(ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})]
                                  spids: [16777215 32892]
                                )
                              ]
                              spids: [16777215 32902]
                            )
                            (C {(G_DIETPI-NOTIFY)} {(3)} {(Stress_Test)} 
                              {
                                (DQ ('Running stress test for ') ($ VSub_Name '$STRESS_TEST_DURATION') 
                                  (' seconds')
                                )
                              }
                            )
                            (C {(G_DIETPI-NOTIFY)} {(2)} {(SQ <'To terminate, type: killall -w stress'>)})
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:start_time)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: (CommandList children:[(C {(date)})])
                                        left_token: <Left_CommandSub '$('>
                                        spids: [32932 32934]
                                      )
                                    }
                                  spids: [32931]
                                )
                              ]
                              spids: [32929]
                            )
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:start_time_epoch)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (C {(date)} {(Lit_Other '+') (Lit_Other '%') (s)})
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [32940 32946]
                                      )
                                    }
                                  spids: [32939]
                                )
                              ]
                              spids: [32937]
                            )
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:cores)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [(C {(nproc)} {(--all)})]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [32952 32956]
                                      )
                                    }
                                  spids: [32951]
                                )
                              ]
                              spids: [32949]
                            )
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:memory_per_thread)
                                  op: Equal
                                  rhs: 
                                    {
                                      (ArithSubPart
                                        anode: 
                                          (ArithBinary
                                            op_id: Arith_Slash
                                            left: 
                                              (ArithWord
                                                w: 
                                                  {
                                                    (CommandSubPart
                                                      command_list: 
                                                        (CommandList
                                                          children: [
                                                            (Pipeline
                                                              children: [
                                                                (C {(free)} {(-m)})
                                                                (C {(awk)} {(SQ <'/^Mem:/{print $2}'>)})
                                                              ]
                                                              negated: F
                                                            )
                                                          ]
                                                        )
                                                      left_token: <Left_CommandSub '$('>
                                                      spids: [32967 32979]
                                                    )
                                                  }
                                              )
                                            right: 
                                              (ArithBinary
                                                op_id: Arith_Star
                                                left: (ArithWord w:{($ VSub_Name '$cores')})
                                                right: (ArithWord w:{(Lit_Digits 2)})
                                              )
                                          )
                                        spids: [32965 32994]
                                      )
                                    }
                                  spids: [32964]
                                )
                              ]
                              spids: [32962]
                            )
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:fp_log)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$HOME') (/dietpi-config_stress.log))}
                                  spids: [32999]
                                )
                              ]
                              spids: [32997]
                            )
                            (SimpleCommand
                              words: [{(rm)} {(DQ ($ VSub_Name '$fp_log'))}]
                              redirects: [
                                (Redir
                                  op: <Redir_AndGreat '&>'>
                                  fd: 16777215
                                  arg_word: {(/dev/null)}
                                )
                              ]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DParen
                                          child: 
                                            (ArithBinary
                                              op_id: Arith_DEqual
                                              left: (ArithWord w:{($ VSub_Name '$STRESS_TEST_MODE')})
                                              right: (ArithWord w:{(Lit_Digits 0)})
                                            )
                                          spids: [33020 33029]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Sentence
                                      child: 
                                        (C {(stress)} {(-c)} 
                                          {
                                            (ArithSubPart
                                              anode: 
                                                (ArithBinary
                                                  op_id: Arith_Star
                                                  left: (ArithWord w:{($ VSub_Name '$cores')})
                                                  right: (ArithWord w:{(Lit_Digits 2)})
                                                )
                                              spids: [33040 33049]
                                            )
                                          } {(-t)} {(DQ ($ VSub_Name '$STRESS_TEST_DURATION')) (s)}
                                        )
                                      terminator: <Op_Amp '&'>
                                    )
                                  ]
                                  spids: [16777215 33032]
                                )
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DParen
                                          child: 
                                            (ArithBinary
                                              op_id: Arith_DEqual
                                              left: (ArithWord w:{($ VSub_Name '$STRESS_TEST_MODE')})
                                              right: (ArithWord w:{(Lit_Digits 1)})
                                            )
                                          spids: [33064 33073]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Sentence
                                      child: 
                                        (C {(stress)} {(-c)} 
                                          {
                                            (ArithSubPart
                                              anode: 
                                                (ArithBinary
                                                  op_id: Arith_Star
                                                  left: (ArithWord w:{($ VSub_Name '$cores')})
                                                  right: (ArithWord w:{(Lit_Digits 2)})
                                                )
                                              spids: [33084 33093]
                                            )
                                          } {(-i)} {($ VSub_Name '$cores')} {(-m)} {($ VSub_Name '$cores')} {(--vm-bytes)} 
                                          {(DQ ($ VSub_Name '$memory_per_thread')) (M)} {(-t)} {(DQ ($ VSub_Name '$STRESS_TEST_DURATION')) (s)}
                                        )
                                      terminator: <Op_Amp '&'>
                                    )
                                  ]
                                  spids: [33062 33076]
                                )
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DParen
                                          child: 
                                            (ArithBinary
                                              op_id: Arith_DEqual
                                              left: (ArithWord w:{($ VSub_Name '$STRESS_TEST_MODE')})
                                              right: (ArithWord w:{(Lit_Digits 2)})
                                            )
                                          spids: [33123 33132]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Sentence
                                      child: 
                                        (C {(stress)} {(-c)} 
                                          {
                                            (ArithSubPart
                                              anode: 
                                                (ArithBinary
                                                  op_id: Arith_Star
                                                  left: (ArithWord w:{($ VSub_Name '$cores')})
                                                  right: (ArithWord w:{(Lit_Digits 2)})
                                                )
                                              spids: [33143 33152]
                                            )
                                          } {(-i)} {($ VSub_Name '$cores')} {(-m)} {($ VSub_Name '$cores')} {(--vm-bytes)} 
                                          {(DQ ($ VSub_Name '$memory_per_thread')) (M)} {(-d)} {(2)} {(-t)} {(DQ ($ VSub_Name '$STRESS_TEST_DURATION')) (s)}
                                        )
                                      terminator: <Op_Amp '&'>
                                    )
                                  ]
                                  spids: [33121 33135]
                                )
                              ]
                              spids: [16777215 33184]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:STRESS_TEST_RESULTS_TEMP_MIN)
                                  op: Equal
                                  rhs: {(1000)}
                                  spids: [33192]
                                )
                              ]
                              spids: [33192]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:STRESS_TEST_RESULTS_TEMP_MAX)
                                  op: Equal
                                  rhs: {(0)}
                                  spids: [33196]
                                )
                              ]
                              spids: [33196]
                            )
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:cpu_supports_temp)
                                  op: Equal
                                  rhs: {(0)}
                                  spids: [33207]
                                )
                              ]
                              spids: [33205]
                            )
                            (Assignment
                              keyword: Assign_Local
                              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: [33214 33216]
                                      )
                                    }
                                  spids: [33213]
                                )
                              ]
                              spids: [33211]
                            )
                            (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: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:cpu_supports_temp)
                                          op: Equal
                                          rhs: {(1)}
                                          spids: [33243]
                                        )
                                      ]
                                      spids: [33243]
                                    )
                                  ]
                                  spids: [16777215 33239]
                                )
                              ]
                              spids: [16777215 33248]
                            )
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:remaning_time)
                                  op: Equal
                                  rhs: {(0)}
                                  spids: [33258]
                                )
                              ]
                              spids: [33256]
                            )
                            (WhileUntil
                              keyword: <KW_While while>
                              cond: [
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: 
                                        (ArithWord
                                          w: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (C {(ps)} {(aux)})
                                                          (C {(grep)} {(-ci)} {(-m1)} {(SQ <'[s]tress'>)})
                                                        ]
                                                        negated: F
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_CommandSub '$('>
                                                spids: [33266 33282]
                                              )
                                            }
                                        )
                                      right: (ArithWord w:{(Lit_Digits 1)})
                                    )
                                  spids: [33264 33289]
                                )
                              ]
                              body: 
                                (DoGroup
                                  children: [
                                    (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: [33297 33299]
                                              )
                                            }
                                          spids: [33296]
                                        )
                                      ]
                                      spids: [33296]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:remaning_time)
                                          op: Equal
                                          rhs: 
                                            {
                                              (ArithSubPart
                                                anode: 
                                                  (ArithBinary
                                                    op_id: Arith_Plus
                                                    left: 
                                                      (ArithWord
                                                        w: {($ VSub_Name '$STRESS_TEST_DURATION')}
                                                      )
                                                    right: 
                                                      (ArithBinary
                                                        op_id: Arith_Minus
                                                        left: 
                                                          (ArithWord
                                                            w: {($ VSub_Name '$start_time_epoch')}
                                                          )
                                                        right: 
                                                          (ArithWord
                                                            w: 
                                                              {
                                                                (CommandSubPart
                                                                  command_list: 
                                                                    (CommandList
                                                                      children: [
                                                                        (C {(date)} 
                                                                          {(Lit_Other '+') 
                                                                            (Lit_Other '%') (s)
                                                                          }
                                                                        )
                                                                      ]
                                                                    )
                                                                  left_token: <Left_CommandSub '$('>
                                                                  spids: [33315 33321]
                                                                )
                                                              }
                                                          )
                                                      )
                                                  )
                                                spids: [33303 33326]
                                              )
                                            }
                                          spids: [33302]
                                        )
                                      ]
                                      spids: [33302]
                                    )
                                    (C {(echo)} {(-e)} 
                                      {
                                        (DQ 
                                          (CommandSubPart
                                            command_list: (CommandList children:[(C {(date)})])
                                            left_token: <Left_CommandSub '$('>
                                            spids: [33335 33337]
                                          ) (' | ') ($ VSub_Name '$cpu_temp') ("'c | ") ($ VSub_Name '$remaning_time') (' seconds remaining')
                                        )
                                      }
                                    )
                                    (SimpleCommand
                                      words: [
                                        {(echo)}
                                        {(-e)}
                                        {
                                          (DQ 
                                            (CommandSubPart
                                              command_list: (CommandList children:[(C {(date)})])
                                              left_token: <Left_CommandSub '$('>
                                              spids: [33351 33353]
                                            ) (' | ') ($ VSub_Name '$cpu_temp') ("'c")
                                          )
                                        }
                                      ]
                                      redirects: [
                                        (Redir
                                          op: <Redir_DGreat '>>'>
                                          fd: 16777215
                                          arg_word: {(DQ ($ VSub_Name '$fp_log'))}
                                        )
                                      ]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (DParen
                                                  child: 
                                                    (ArithWord
                                                      w: {($ VSub_Name '$cpu_supports_temp')}
                                                    )
                                                  spids: [33369 33374]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (DParen
                                                          child: 
                                                            (ArithBinary
                                                              op_id: Arith_Great
                                                              left: 
                                                                (ArithWord
                                                                  w: {($ VSub_Name '$cpu_temp')}
                                                                )
                                                              right: 
                                                                (ArithWord
                                                                  w: 
                                                                    {
                                                                      ($ VSub_Name 
'$STRESS_TEST_RESULTS_TEMP_MAX'
                                                                      )
                                                                    }
                                                                )
                                                            )
                                                          spids: [33383 33392]
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: 
                                                            (LhsName
                                                              name: STRESS_TEST_RESULTS_TEMP_MAX
                                                            )
                                                          op: Equal
                                                          rhs: {($ VSub_Name '$cpu_temp')}
                                                          spids: [33399]
                                                        )
                                                      ]
                                                      spids: [33399]
                                                    )
                                                  ]
                                                  spids: [16777215 33395]
                                                )
                                              ]
                                              spids: [16777215 33404]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (DParen
                                                          child: 
                                                            (ArithBinary
                                                              op_id: Arith_Less
                                                              left: 
                                                                (ArithWord
                                                                  w: {($ VSub_Name '$cpu_temp')}
                                                                )
                                                              right: 
                                                                (ArithWord
                                                                  w: 
                                                                    {
                                                                      ($ VSub_Name 
'$STRESS_TEST_RESULTS_TEMP_MIN'
                                                                      )
                                                                    }
                                                                )
                                                            )
                                                          spids: [33410 33419]
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: 
                                                            (LhsName
                                                              name: STRESS_TEST_RESULTS_TEMP_MIN
                                                            )
                                                          op: Equal
                                                          rhs: {($ VSub_Name '$cpu_temp')}
                                                          spids: [33426]
                                                        )
                                                      ]
                                                      spids: [33426]
                                                    )
                                                  ]
                                                  spids: [16777215 33422]
                                                )
                                              ]
                                              spids: [16777215 33431]
                                            )
                                          ]
                                          spids: [16777215 33377]
                                        )
                                      ]
                                      spids: [16777215 33435]
                                    )
                                    (C {(sleep)} {(1)})
                                    (DParen
                                      child: 
                                        (UnaryAssign
                                          op_id: Node_PostDPlus
                                          child: (LhsName name:time_since_start)
                                        )
                                      spids: [33444 33448]
                                    )
                                  ]
                                  spids: [33292 33452]
                                )
                            )
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:end_time)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: (CommandList children:[(C {(date)})])
                                        left_token: <Left_CommandSub '$('>
                                        spids: [33459 33461]
                                      )
                                    }
                                  spids: [33458]
                                )
                              ]
                              spids: [33456]
                            )
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:end_time_epoch)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (C {(date)} {(Lit_Other '+') (Lit_Other '%') (s)})
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [33467 33473]
                                      )
                                    }
                                  spids: [33466]
                                )
                              ]
                              spids: [33464]
                            )
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:duration_seconds)
                                  op: Equal
                                  rhs: 
                                    {
                                      (ArithSubPart
                                        anode: 
                                          (ArithBinary
                                            op_id: Arith_Minus
                                            left: (ArithWord w:{($ VSub_Name '$end_time_epoch')})
                                            right: (ArithWord w:{($ VSub_Name '$start_time_epoch')})
                                          )
                                        spids: [33479 33488]
                                      )
                                    }
                                  spids: [33478]
                                )
                              ]
                              spids: [33476]
                            )
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:output_string)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ (' - Start Time: ') ($ VSub_Name '$start_time') ('\n') 
                                        (' - End Time  : ') ($ VSub_Name '$end_time') ('\n') (' - Duration  : ') ($ VSub_Name '$duration_seconds') (' seconds\n') 
                                        (' - Min Temp  : ') ($ VSub_Name '$STRESS_TEST_RESULTS_TEMP_MIN') (" 'c\n") (' - Max Temp  : ') 
                                        ($ VSub_Name '$STRESS_TEST_RESULTS_TEMP_MAX') (" 'c\n") (' - log       : ') ($ VSub_Name '$fp_log')
                                      )
                                    }
                                  spids: [33494]
                                )
                              ]
                              spids: [33492]
                            )
                            (C {(G_DIETPI-NOTIFY)} {(0)} {(SQ <'Stress Test Completed'>)})
                            (C {(G_DIETPI-NOTIFY)} {(2)} {(DQ ($ VSub_Name '$output_string'))})
                            (C {(whiptail)} {(--title)} {(DQ ($ VSub_Name '$WHIP_TITLE'))} {(--msgbox)} 
                              {
                                (DQ ('Stress test results:') (Lit_Other '\\') (n) 
                                  ($ VSub_Name '$output_string')
                                )
                              } {(--backtitle)} {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))} {(14)} {(65)}
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(15)}
                                  spids: [33565]
                                )
                              ]
                              spids: [33565]
                            )
                          ]
                          spids: [32852 32869]
                        )
                      ]
                      spids: [16777215 33570]
                    )
                  ]
                  spids: [16777215 32554]
                )
              ]
              spids: [16777215 33574]
            )
          ]
          spids: [32374]
        )
      spids: [32371 32374]
    )
    (FuncDef
      name: Menu_Network_Nas_Misc
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:TARGETMENUID) op:Equal rhs:{(0)} spids:[33593])]
              spids: [33593]
            )
            (C {(Load_Installed_Software)})
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:sambaclient_installed)
                  op: Equal
                  rhs: {(0)}
                  spids: [33612]
                )
              ]
              spids: [33610]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:sambaclient_status)
                  op: Equal
                  rhs: {(DQ ('Not Installed'))}
                  spids: [33618]
                )
              ]
              spids: [33616]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:sambaclient_menutext)
                  op: Equal
                  rhs: {(DQ ('Install now to access Windows shares and NAS devices'))}
                  spids: [33626]
                )
              ]
              spids: [33624]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:sambaclient_mounted_size)
                  op: Equal
                  rhs: {(DQ (unknown))}
                  spids: [33634]
                )
              ]
              spids: [33632]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:sambaclient_mounted_used)
                  op: Equal
                  rhs: {(DQ (unknown))}
                  spids: [33642]
                )
              ]
              spids: [33640]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:sambaclient_mounted_free)
                  op: Equal
                  rhs: {(DQ (unknown))}
                  spids: [33650]
                )
              ]
              spids: [33648]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: 
                                (ArithWord
                                  w: 
                                    {
                                      (BracedVarSub
                                        token: <VSub_Name aSOFTWARE_INSTALL_STATE>
                                        bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 1)}))
                                        suffix_op: (StringUnary op_id:VTest_ColonEquals arg_word:{(0)})
                                        spids: [33660 33667]
                                      )
                                    }
                                )
                              right: (ArithWord w:{(Lit_Digits 2)})
                            )
                          spids: [33658 33674]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:sambaclient_installed)
                          op: Equal
                          rhs: {(1)}
                          spids: [33681]
                        )
                      ]
                      spids: [33681]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:sambaclient_status)
                          op: Equal
                          rhs: {(DQ ('Unable to connect and/or incorrect details'))}
                          spids: [33685]
                        )
                      ]
                      spids: [33685]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:sambaclient_menutext)
                          op: Equal
                          rhs: {(DQ ('Input/Modify Details'))}
                          spids: [33691]
                        )
                      ]
                      spids: [33691]
                    )
                    (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 {(df)} {(-h)})
                                                          (C {(grep)} {(-ci)} {(-m1)} {(SQ </mnt/samba>)})
                                                        ]
                                                        negated: F
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_CommandSub '$('>
                                                spids: [33706 33722]
                                              )
                                            }
                                        )
                                      right: (ArithWord w:{(Lit_Digits 1)})
                                    )
                                  spids: [33704 33729]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:sambaclient_mounted_size)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {(df)} {(-h)})
                                                  (C {(grep)} {(-m1)} {(SQ </mnt/samba>)})
                                                  (C {(awk)} {(SQ <'{print $(NF-4)}'>)})
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [33741 33763]
                                      )
                                    }
                                  spids: [33740]
                                )
                              ]
                              spids: [33740]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:sambaclient_mounted_used)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {(df)} {(-h)})
                                                  (C {(grep)} {(-m1)} {(SQ </mnt/samba>)})
                                                  (C {(awk)} {(SQ <'{print $(NF-3)}'>)})
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [33767 33789]
                                      )
                                    }
                                  spids: [33766]
                                )
                              ]
                              spids: [33766]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:sambaclient_mounted_free)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {(df)} {(-h)})
                                                  (C {(grep)} {(-m1)} {(SQ </mnt/samba>)})
                                                  (C {(awk)} {(SQ <'{print $(NF-2)}'>)})
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [33793 33815]
                                      )
                                    }
                                  spids: [33792]
                                )
                              ]
                              spids: [33792]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:sambaclient_status)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ('/mnt/samba | Size ') 
                                        ($ VSub_Name '$sambaclient_mounted_size') (' | Used ') ($ VSub_Name '$sambaclient_mounted_used') (' | Free ') 
                                        ($ VSub_Name '$sambaclient_mounted_free')
                                      )
                                    }
                                  spids: [33818]
                                )
                              ]
                              spids: [33818]
                            )
                          ]
                          spids: [16777215 33732]
                        )
                      ]
                      spids: [16777215 33830]
                    )
                  ]
                  spids: [16777215 33677]
                )
              ]
              spids: [16777215 33834]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:curlftpfs_installed)
                  op: Equal
                  rhs: {(0)}
                  spids: [33844]
                )
              ]
              spids: [33842]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:curlftpfs_status)
                  op: Equal
                  rhs: {(DQ ('Not Installed'))}
                  spids: [33850]
                )
              ]
              spids: [33848]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:curlftpfs_menutext)
                  op: Equal
                  rhs: {(DQ ('Install now to access FTP as filesystem mount'))}
                  spids: [33858]
                )
              ]
              spids: [33856]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: 
                                (ArithWord
                                  w: 
                                    {
                                      (BracedVarSub
                                        token: <VSub_Name aSOFTWARE_INSTALL_STATE>
                                        bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 2)}))
                                        suffix_op: (StringUnary op_id:VTest_ColonEquals arg_word:{(0)})
                                        spids: [33868 33875]
                                      )
                                    }
                                )
                              right: (ArithWord w:{(Lit_Digits 2)})
                            )
                          spids: [33866 33882]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:curlftpfs_installed)
                          op: Equal
                          rhs: {(1)}
                          spids: [33889]
                        )
                      ]
                      spids: [33889]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:curlftpfs_status)
                          op: Equal
                          rhs: {(DQ ('Unable to connect and/or incorrect details'))}
                          spids: [33893]
                        )
                      ]
                      spids: [33893]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:curlftpfs_menutext)
                          op: Equal
                          rhs: {(DQ ('Input/Modify Details'))}
                          spids: [33899]
                        )
                      ]
                      spids: [33899]
                    )
                    (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 {(df)} {(-h)})
                                                          (C {(grep)} {(-ci)} {(-m1)} 
                                                            {(SQ </mnt/ftp_client>)}
                                                          )
                                                        ]
                                                        negated: F
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_CommandSub '$('>
                                                spids: [33914 33930]
                                              )
                                            }
                                        )
                                      right: (ArithWord w:{(Lit_Digits 1)})
                                    )
                                  spids: [33912 33937]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:curlftpfs_status)
                                  op: Equal
                                  rhs: {(DQ ('/mnt/ftp_client | Connected'))}
                                  spids: [33948]
                                )
                              ]
                              spids: [33948]
                            )
                          ]
                          spids: [16777215 33940]
                        )
                      ]
                      spids: [16777215 33955]
                    )
                  ]
                  spids: [16777215 33885]
                )
              ]
              spids: [16777215 33959]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:noip_installed)
                  op: Equal
                  rhs: {(0)}
                  spids: [33969]
                )
              ]
              spids: [33967]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:noip_status)
                  op: Equal
                  rhs: {(DQ ('Not Installed'))}
                  spids: [33975]
                )
              ]
              spids: [33973]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:noip_menutext)
                  op: Equal
                  rhs: {(DQ ('Install No-Ip now'))}
                  spids: [33983]
                )
              ]
              spids: [33981]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: 
                                (ArithWord
                                  w: 
                                    {
                                      (BracedVarSub
                                        token: <VSub_Name aSOFTWARE_INSTALL_STATE>
                                        bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 67)}))
                                        suffix_op: (StringUnary op_id:VTest_ColonEquals arg_word:{(0)})
                                        spids: [33993 34000]
                                      )
                                    }
                                )
                              right: (ArithWord w:{(Lit_Digits 2)})
                            )
                          spids: [33991 34007]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:noip_installed)
                          op: Equal
                          rhs: {(1)}
                          spids: [34014]
                        )
                      ]
                      spids: [34014]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:noip_status)
                          op: Equal
                          rhs: {(DQ ('Offline - Please Enter No-Ip Details'))}
                          spids: [34018]
                        )
                      ]
                      spids: [34018]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:noip_menutext)
                          op: Equal
                          rhs: {(DQ ('Enter/Setup NoIp Details'))}
                          spids: [34024]
                        )
                      ]
                      spids: [34024]
                    )
                    (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 {(ps)} {(aux)})
                                                          (C {(grep)} {(-ci)} {(-m1)} 
                                                            {(SQ <'/usr/local/bin/[n]oip2'>)}
                                                          )
                                                        ]
                                                        negated: F
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_CommandSub '$('>
                                                spids: [34039 34055]
                                              )
                                            }
                                        )
                                      right: (ArithWord w:{(Lit_Digits 1)})
                                    )
                                  spids: [34037 34062]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:noip_status)
                                  op: Equal
                                  rhs: {(DQ ('Online / Active'))}
                                  spids: [34069]
                                )
                              ]
                              spids: [34069]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:noip_menutext)
                                  op: Equal
                                  rhs: {(DQ ('Change NoIp Details'))}
                                  spids: [34075]
                                )
                              ]
                              spids: [34075]
                            )
                          ]
                          spids: [16777215 34065]
                        )
                      ]
                      spids: [16777215 34082]
                    )
                  ]
                  spids: [16777215 34010]
                )
              ]
              spids: [16777215 34086]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:nfsclient_installed)
                  op: Equal
                  rhs: {(0)}
                  spids: [34096]
                )
              ]
              spids: [34094]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:nfsclient_status)
                  op: Equal
                  rhs: {(DQ ('Not Installed'))}
                  spids: [34102]
                )
              ]
              spids: [34100]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:nfsclient_menutext)
                  op: Equal
                  rhs: {(DQ ('Install now to access NFS shares'))}
                  spids: [34110]
                )
              ]
              spids: [34108]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:nfsclient_mounted_size)
                  op: Equal
                  rhs: {(DQ (unknown))}
                  spids: [34118]
                )
              ]
              spids: [34116]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:nfsclient_mounted_used)
                  op: Equal
                  rhs: {(DQ (unknown))}
                  spids: [34126]
                )
              ]
              spids: [34124]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:nfsclient_mounted_free)
                  op: Equal
                  rhs: {(DQ (unknown))}
                  spids: [34134]
                )
              ]
              spids: [34132]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: 
                                (ArithWord
                                  w: 
                                    {
                                      (BracedVarSub
                                        token: <VSub_Name aSOFTWARE_INSTALL_STATE>
                                        bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 110)}))
                                        suffix_op: (StringUnary op_id:VTest_ColonEquals arg_word:{(0)})
                                        spids: [34144 34151]
                                      )
                                    }
                                )
                              right: (ArithWord w:{(Lit_Digits 2)})
                            )
                          spids: [34142 34158]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:nfsclient_installed)
                          op: Equal
                          rhs: {(1)}
                          spids: [34165]
                        )
                      ]
                      spids: [34165]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:nfsclient_status)
                          op: Equal
                          rhs: {(DQ ('Unable to connect and/or incorrect details'))}
                          spids: [34169]
                        )
                      ]
                      spids: [34169]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:nfsclient_menutext)
                          op: Equal
                          rhs: {(DQ ('Input/Modify Details'))}
                          spids: [34175]
                        )
                      ]
                      spids: [34175]
                    )
                    (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 {(df)} {(-h)})
                                                          (C {(grep)} {(-ci)} {(-m1)} 
                                                            {(SQ </mnt/nfs_client>)}
                                                          )
                                                        ]
                                                        negated: F
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_CommandSub '$('>
                                                spids: [34190 34206]
                                              )
                                            }
                                        )
                                      right: (ArithWord w:{(Lit_Digits 1)})
                                    )
                                  spids: [34188 34213]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:nfsclient_mounted_size)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {(df)} {(-h)})
                                                  (C {(grep)} {(-m1)} {(SQ </mnt/nfs_client>)})
                                                  (C {(awk)} {(SQ <'{ print $2 }'>)})
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [34225 34247]
                                      )
                                    }
                                  spids: [34224]
                                )
                              ]
                              spids: [34224]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:nfsclient_mounted_used)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {(df)} {(-h)})
                                                  (C {(grep)} {(-m1)} {(SQ </mnt/nfs_client>)})
                                                  (C {(awk)} {(SQ <'{ print $3 }'>)})
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [34251 34273]
                                      )
                                    }
                                  spids: [34250]
                                )
                              ]
                              spids: [34250]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:nfsclient_mounted_free)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {(df)} {(-h)})
                                                  (C {(grep)} {(-m1)} {(SQ </mnt/nfs_client>)})
                                                  (C {(awk)} {(SQ <'{ print $4 }'>)})
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [34277 34299]
                                      )
                                    }
                                  spids: [34276]
                                )
                              ]
                              spids: [34276]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:nfsclient_status)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ('/mnt/nfs_client | Size ') 
                                        ($ VSub_Name '$nfsclient_mounted_size') (' | Used ') ($ VSub_Name '$nfsclient_mounted_used') (' | Free ') 
                                        ($ VSub_Name '$nfsclient_mounted_free')
                                      )
                                    }
                                  spids: [34302]
                                )
                              ]
                              spids: [34302]
                            )
                          ]
                          spids: [16777215 34216]
                        )
                      ]
                      spids: [16777215 34314]
                    )
                  ]
                  spids: [16777215 34161]
                )
              ]
              spids: [16777215 34318]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:apt_mirror_current)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(sed)} {(-n)} {(1p)} {(/etc/apt/sources.list)})
                                  (C {(awk)} {(SQ <'{print $2}'>)})
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [34329 34345]
                      )
                    }
                  spids: [34328]
                )
              ]
              spids: [34326]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(KW_Bang '!')} {(-n)} 
                          {(DQ ($ VSub_Name '$apt_mirror_current'))} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:apt_mirror_current)
                          op: Equal
                          rhs: {(SQ <'Unknown, no string from scrape'>)}
                          spids: [34367]
                        )
                      ]
                      spids: [34367]
                    )
                  ]
                  spids: [16777215 34363]
                )
              ]
              spids: [16777215 34374]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:ntpd_mirror_current)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(grep)} {(-m1)} {(SQ <'^CONFIG_NTP_MIRROR='>)} 
                                    {(/DietPi/dietpi.txt)}
                                  )
                                  (C {(sed)} {(SQ <'s/.*=//'>)})
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [34385 34403]
                      )
                    }
                  spids: [34384]
                )
              ]
              spids: [34382]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(KW_Bang '!')} {(-n)} 
                          {(DQ ($ VSub_Name '$ntpd_mirror_current'))} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:ntpd_mirror_current)
                          op: Equal
                          rhs: {(SQ <'Unknown, no string from scrape'>)}
                          spids: [34425]
                        )
                      ]
                      spids: [34425]
                    )
                  ]
                  spids: [16777215 34421]
                )
              ]
              spids: [16777215 34432]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:boot_wait_for_network)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(cat)} {(/DietPi/dietpi.txt)})
                                  (C {(grep)} {(-m1)} {(SQ <'^CONFIG_BOOT_WAIT_FOR_NETWORK='>)})
                                  (C {(sed)} {(SQ <'s/.*=//'>)})
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [34443 34465]
                      )
                    }
                  spids: [34442]
                )
              ]
              spids: [34440]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:boot_wait_for_network_text)
                  op: Equal
                  rhs: {(SQ <': '>)}
                  spids: [34470]
                )
              ]
              spids: [34468]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$boot_wait_for_network')})
                              right: (ArithWord w:{(Lit_Digits 0)})
                            )
                          spids: [34478 34487]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:boot_wait_for_network_text)
                          op: PlusEqual
                          rhs: {(SQ <Disabled>)}
                          spids: [34494]
                        )
                      ]
                      spids: [34494]
                    )
                  ]
                  spids: [16777215 34490]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$boot_wait_for_network')})
                              right: (ArithWord w:{(Lit_Digits 1)})
                            )
                          spids: [34503 34512]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:boot_wait_for_network_text)
                          op: PlusEqual
                          rhs: {(SQ <'10 Seconds MAX (default)'>)}
                          spids: [34519]
                        )
                      ]
                      spids: [34519]
                    )
                  ]
                  spids: [34501 34515]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$boot_wait_for_network')})
                              right: (ArithWord w:{(Lit_Digits 2)})
                            )
                          spids: [34528 34537]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:boot_wait_for_network_text)
                          op: PlusEqual
                          rhs: {(SQ <'Infinite wait'>)}
                          spids: [34544]
                        )
                      ]
                      spids: [34544]
                    )
                  ]
                  spids: [34526 34540]
                )
              ]
              spids: [16777215 34550]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:WHIP_TITLE)
                  op: Equal
                  rhs: {(SQ <'DietPi - Network Options: NAS/Misc'>)}
                  spids: [34554]
                )
              ]
              spids: [34554]
            )
            (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 (Lit_Other '\\') ('n Samba client : ') 
                                      ($ VSub_Name '$sambaclient_status') (Lit_Other '\\') ('n FTP client   : ') ($ VSub_Name '$curlftpfs_status') (Lit_Other '\\') 
                                      ('n NFS client   : ') ($ VSub_Name '$nfsclient_status') (Lit_Other '\\') ('n NoIp status  : ') ($ VSub_Name '$noip_status') 
                                      (Lit_Other '\\') ('n Apt mirror   : ') ($ VSub_Name '$apt_mirror_current') (Lit_Other '\\') ('n NTPD mirror  : ') 
                                      ($ VSub_Name '$ntpd_mirror_current')
                                    )
                                  }
                                  {(--cancel-button)}
                                  {(DQ ($ VSub_Name '$TEXT_MENU_BACK'))}
                                  {(--backtitle)}
                                  {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))}
                                  {(21)}
                                  {(100)}
                                  {(7)}
                                  {(DQ ('Samba Client'))}
                                  {(DQ ($ VSub_Name '$sambaclient_menutext'))}
                                  {(DQ ('FTP Client'))}
                                  {(DQ ($ VSub_Name '$curlftpfs_menutext'))}
                                  {(DQ ('NFS Client'))}
                                  {(DQ ($ VSub_Name '$nfsclient_menutext'))}
                                  {(DQ (NoIp))}
                                  {(DQ ($ VSub_Name '$noip_menutext'))}
                                  {(DQ ('Apt Mirror'))}
                                  {(DQ ('Select a different Apt mirror for sources.list'))}
                                  {(DQ ('NTPD Mirror'))}
                                  {(DQ ('Select a different NTPD mirror'))}
                                  {(DQ ('Boot Net Wait'))}
                                  {(DQ ($ VSub_Name '$boot_wait_for_network_text'))}
                                ]
                                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: [34561 34689]
                      )
                    }
                  spids: [34560]
                )
              ]
              spids: [34560]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:CHOICE)
                  op: Equal
                  rhs: {($ VSub_QMark '$?')}
                  spids: [34693]
                )
              ]
              spids: [34693]
            )
            (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: [34699 34708]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Case
                      to_match: {(DQ ($ VSub_Name '$OPTION'))}
                      arms: [
                        (case_arm
                          pat_list: [{(DQ ('Boot Net Wait'))}]
                          action: [
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:whiptail_menu_array)
                                  op: Equal
                                  rhs: {(ArrayLiteralPart)}
                                  spids: [34737]
                                )
                              ]
                              spids: [34735]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:whiptail_menu_array)
                                  op: PlusEqual
                                  rhs: {(ArrayLiteralPart words:[{(SQ <0>)} {(SQ <': Disabled'>)}])}
                                  spids: [34743]
                                )
                              ]
                              spids: [34743]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:whiptail_menu_array)
                                  op: PlusEqual
                                  rhs: 
                                    {
                                      (ArrayLiteralPart
                                        words: [
                                          {(SQ <1>)}
                                          {
                                            (SQ 
                                              <
': Wait 10 Seconds MAX for network, before continuing boot (default)'
                                              >
                                            )
                                          }
                                        ]
                                      )
                                    }
                                  spids: [34755]
                                )
                              ]
                              spids: [34755]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:whiptail_menu_array)
                                  op: PlusEqual
                                  rhs: 
                                    {
                                      (ArrayLiteralPart
                                        words: [
                                          {(SQ <2>)}
                                          {
                                            (SQ 
                                              <
': Infinite wait for network, before continuing boot'
                                              >
                                            )
                                          }
                                        ]
                                      )
                                    }
                                  spids: [34767]
                                )
                              ]
                              spids: [34767]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:OPTION)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (SimpleCommand
                                                words: [
                                                  {(whiptail)}
                                                  {(--title)}
                                                  {(DQ ('Wait for network during boot'))}
                                                  {(--menu)}
                                                  {
                                                    (DQ 
                                                      (
'The following options will allow you to delay boot, until a valid network connection is available:'
                                                      )
                                                    )
                                                  }
                                                  {(--default-item)}
                                                  {(DQ ($ VSub_Name '$boot_wait_for_network'))}
                                                  {(--cancel-button)}
                                                  {(DQ ($ VSub_Name '$TEXT_MENU_BACK'))}
                                                  {(--backtitle)}
                                                  {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))}
                                                  {(12)}
                                                  {(80)}
                                                  {(3)}
                                                  {
                                                    (DQ 
                                                      (BracedVarSub
                                                        token: <VSub_Name whiptail_menu_array>
                                                        bracket_op: (WholeArray op_id:Lit_At)
                                                        spids: [34821 34826]
                                                      )
                                                    )
                                                  }
                                                ]
                                                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: [34781 34837]
                                      )
                                    }
                                  spids: [34780]
                                )
                              ]
                              spids: [34780]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:CHOICE)
                                  op: Equal
                                  rhs: {($ VSub_QMark '$?')}
                                  spids: [34840]
                                )
                              ]
                              spids: [34840]
                            )
                            (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: [34846 34855]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(sed)} {(-i)} 
                                      {
                                        (DQ 
                                          (
'/^CONFIG_BOOT_WAIT_FOR_NETWORK=/c CONFIG_BOOT_WAIT_FOR_NETWORK='
                                          ) ($ VSub_Name '$OPTION')
                                        )
                                      } {(/DietPi/dietpi.txt)}
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:TARGETMENUID)
                                          op: Equal
                                          rhs: {(16)}
                                          spids: [34879]
                                        )
                                      ]
                                      spids: [34879]
                                    )
                                  ]
                                  spids: [16777215 34858]
                                )
                              ]
                              spids: [16777215 34884]
                            )
                            (C {(unset)} {(whiptail_menu_array)})
                          ]
                          spids: [34724 34727 34898 16777215]
                        )
                        (case_arm
                          pat_list: [{(DQ ('Apt Mirror'))}]
                          action: [
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:whiptail_menu_array)
                                  op: Equal
                                  rhs: 
                                    {
                                      (ArrayLiteralPart
                                        words: [{(DQ (Custom))} {(DQ ('Manually enter Apt mirror'))}]
                                      )
                                    }
                                  spids: [34915]
                                )
                              ]
                              spids: [34913]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DParen
                                          child: 
                                            (ArithBinary
                                              op_id: Arith_Less
                                              left: (ArithWord w:{($ VSub_Name '$G_HW_MODEL')})
                                              right: (ArithWord w:{(Lit_Digits 10)})
                                            )
                                          spids: [34938 34947]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:whiptail_menu_array)
                                          op: PlusEqual
                                          rhs: 
                                            {
                                              (ArrayLiteralPart
                                                words: [
                                                  {
                                                    (DQ 
                                                      (
'http://mirrordirector.raspbian.org/raspbian'
                                                      )
                                                    )
                                                  }
                                                  {(DQ (Global))}
                                                ]
                                              )
                                            }
                                          spids: [34954]
                                        )
                                      ]
                                      spids: [34954]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:whiptail_menu_array)
                                          op: PlusEqual
                                          rhs: 
                                            {
                                              (ArrayLiteralPart
                                                words: [
                                                  {
                                                    (DQ 
                                                      (
'https://www.mirrorservice.org/sites/archive.raspbian.org/raspbian'
                                                      )
                                                    )
                                                  }
                                                  {(DQ ('Global (https)'))}
                                                ]
                                              )
                                            }
                                          spids: [34966]
                                        )
                                      ]
                                      spids: [34966]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:whiptail_menu_array)
                                          op: PlusEqual
                                          rhs: 
                                            {
                                              (ArrayLiteralPart
                                                words: [
                                                  {
                                                    (DQ 
                                                      (
'http://mirror.ox.ac.uk/sites/archive.raspbian.org/archive/raspbian'
                                                      )
                                                    )
                                                  }
                                                  {(DQ (UK))}
                                                ]
                                              )
                                            }
                                          spids: [34978]
                                        )
                                      ]
                                      spids: [34978]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:whiptail_menu_array)
                                          op: PlusEqual
                                          rhs: 
                                            {
                                              (ArrayLiteralPart
                                                words: [
                                                  {
                                                    (DQ 
                                                      (
'ftp://ftp.fu-berlin.de/linux/raspbian/raspbian'
                                                      )
                                                    )
                                                  }
                                                  {(DQ (Germany))}
                                                ]
                                              )
                                            }
                                          spids: [34990]
                                        )
                                      ]
                                      spids: [34990]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:whiptail_menu_array)
                                          op: PlusEqual
                                          rhs: 
                                            {
                                              (ArrayLiteralPart
                                                words: [
                                                  {(DQ ('http://mirror.umd.edu/raspbian/raspbian'))}
                                                  {(DQ (US))}
                                                ]
                                              )
                                            }
                                          spids: [35002]
                                        )
                                      ]
                                      spids: [35002]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:whiptail_menu_array)
                                          op: PlusEqual
                                          rhs: 
                                            {
                                              (ArrayLiteralPart
                                                words: [
                                                  {
                                                    (DQ 
                                                      (
'http://mirrors.ustc.edu.cn/raspbian/raspbian'
                                                      )
                                                    )
                                                  }
                                                  {(DQ (China))}
                                                ]
                                              )
                                            }
                                          spids: [35014]
                                        )
                                      ]
                                      spids: [35014]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:whiptail_menu_array)
                                          op: PlusEqual
                                          rhs: 
                                            {
                                              (ArrayLiteralPart
                                                words: [
                                                  {
                                                    (DQ 
                                                      (
'http://raspbian.mirror.digitalpacific.com.au/raspbian'
                                                      )
                                                    )
                                                  }
                                                  {(DQ (Australia))}
                                                ]
                                              )
                                            }
                                          spids: [35026]
                                        )
                                      ]
                                      spids: [35026]
                                    )
                                  ]
                                  spids: [16777215 34950]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:whiptail_menu_array)
                                      op: PlusEqual
                                      rhs: 
                                        {
                                          (ArrayLiteralPart
                                            words: [
                                              {(DQ ('http://ftp.debian.org/debian/'))}
                                              {(DQ (Global))}
                                            ]
                                          )
                                        }
                                      spids: [35047]
                                    )
                                  ]
                                  spids: [35047]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:whiptail_menu_array)
                                      op: PlusEqual
                                      rhs: 
                                        {
                                          (ArrayLiteralPart
                                            words: [
                                              {(DQ ('http://ftp.uk.debian.org/debian/'))}
                                              {(DQ (UK))}
                                            ]
                                          )
                                        }
                                      spids: [35059]
                                    )
                                  ]
                                  spids: [35059]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:whiptail_menu_array)
                                      op: PlusEqual
                                      rhs: 
                                        {
                                          (ArrayLiteralPart
                                            words: [
                                              {(DQ ('http://ftp.us.debian.org/debian/'))}
                                              {(DQ (US))}
                                            ]
                                          )
                                        }
                                      spids: [35071]
                                    )
                                  ]
                                  spids: [35071]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:whiptail_menu_array)
                                      op: PlusEqual
                                      rhs: 
                                        {
                                          (ArrayLiteralPart
                                            words: [
                                              {(DQ ('http://ftp.cn.debian.org/debian/'))}
                                              {(DQ (China))}
                                            ]
                                          )
                                        }
                                      spids: [35083]
                                    )
                                  ]
                                  spids: [35083]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:whiptail_menu_array)
                                      op: PlusEqual
                                      rhs: 
                                        {
                                          (ArrayLiteralPart
                                            words: [
                                              {(DQ ('http://ftp.au.debian.org/debian/'))}
                                              {(DQ (Australia))}
                                            ]
                                          )
                                        }
                                      spids: [35095]
                                    )
                                  ]
                                  spids: [35095]
                                )
                              ]
                              spids: [35043 35108]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:OPTION)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (SimpleCommand
                                                words: [
                                                  {(whiptail)}
                                                  {(--title)}
                                                  {(DQ ('Choose Apt Mirror'))}
                                                  {(--menu)}
                                                  {
                                                    (DQ 
                                                      (
'Please select a Apt mirror, or choose custom for manual entry.'
                                                      )
                                                    )
                                                  }
                                                  {(--default-item)}
                                                  {(DQ ($ VSub_Name '$apt_mirror_current'))}
                                                  {(--cancel-button)}
                                                  {(DQ ($ VSub_Name '$TEXT_MENU_BACK'))}
                                                  {(--backtitle)}
                                                  {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))}
                                                  {(15)}
                                                  {(100)}
                                                  {(7)}
                                                  {
                                                    (DQ 
                                                      (BracedVarSub
                                                        token: <VSub_Name whiptail_menu_array>
                                                        bracket_op: (WholeArray op_id:Lit_At)
                                                        spids: [35153 35158]
                                                      )
                                                    )
                                                  }
                                                ]
                                                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: [35113 35169]
                                      )
                                    }
                                  spids: [35112]
                                )
                              ]
                              spids: [35112]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:CHOICE)
                                  op: Equal
                                  rhs: {($ VSub_QMark '$?')}
                                  spids: [35172]
                                )
                              ]
                              spids: [35172]
                            )
                            (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: [35178 35187]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Case
                                      to_match: {($ VSub_Name '$OPTION')}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(Custom)}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:OPTION)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (CommandSubPart
                                                        command_list: 
                                                          (CommandList
                                                            children: [
                                                              (SimpleCommand
                                                                words: [
                                                                  {(whiptail)}
                                                                  {(--inputbox)}
                                                                  {
                                                                    (DQ ('Enter Your Apt Mirror') 
                                                                      (Lit_Other '\\') ('n - eg: http://ftp.debian.org/debian')
                                                                    )
                                                                  }
                                                                  {(9)}
                                                                  {(100)}
                                                                  {
                                                                    (DQ 
                                                                      ($ VSub_Name 
'$apt_mirror_current'
                                                                      )
                                                                    )
                                                                  }
                                                                  {(--title)}
                                                                  {(DQ ('Set Apt Mirror'))}
                                                                ]
                                                                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: [35205 35238]
                                                      )
                                                    }
                                                  spids: [35204]
                                                )
                                              ]
                                              spids: [35204]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:CHOICE)
                                                  op: Equal
                                                  rhs: {($ VSub_QMark '$?')}
                                                  spids: [35241]
                                                )
                                              ]
                                              spids: [35241]
                                            )
                                            (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: [35247 35256]
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:return_value)
                                                          op: Equal
                                                          rhs: {($ VSub_Name '$OPTION')}
                                                          spids: [35262]
                                                        )
                                                      ]
                                                      spids: [35262]
                                                    )
                                                  ]
                                                  spids: [16777215 35259]
                                                )
                                              ]
                                              spids: [16777215 35266]
                                            )
                                          ]
                                          spids: [35200 35201 35269 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:return_value)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$OPTION')}
                                                  spids: [35276]
                                                )
                                              ]
                                              spids: [35276]
                                            )
                                          ]
                                          spids: [35272 35273 35280 16777215]
                                        )
                                      ]
                                      spids: [35193 35197 35283]
                                    )
                                    (C {(/DietPi/dietpi/func/dietpi-set_software)} {(apt-mirror)} 
                                      {($ VSub_Name '$OPTION')}
                                    )
                                    (C {(G_DIETPI-NOTIFY)} {(2)} {(DQ ('Updating Apt, please wait...'))})
                                    (C {(G_AGUP)})
                                    (Assignment
                                      keyword: Assign_Local
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:exit_code)
                                          op: Equal
                                          rhs: {($ VSub_QMark '$?')}
                                          spids: [35314]
                                        )
                                      ]
                                      spids: [35312]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (DParen
                                                  child: 
                                                    (ArithBinary
                                                      op_id: Arith_NEqual
                                                      left: (ArithWord w:{($ VSub_Name '$exit_code')})
                                                      right: (ArithWord w:{(Lit_Digits 0)})
                                                    )
                                                  spids: [35320 35329]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(whiptail)} {(--title)} {(DQ ('Apt Error:'))} 
                                              {(--msgbox)} 
                                              {
                                                (DQ ('Failed to update apt, exit code: ') 
                                                  ($ VSub_Name '$exit_code') (Lit_Other '\\') ('nPlease try another Apt mirror.')
                                                )
                                              } {(--backtitle)} {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))} {(8)} {(65)}
                                            )
                                          ]
                                          spids: [16777215 35332]
                                        )
                                      ]
                                      spids: [16777215 35365]
                                    )
                                  ]
                                  spids: [16777215 35190]
                                )
                              ]
                              spids: [16777215 35369]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(16)}
                                  spids: [35377]
                                )
                              ]
                              spids: [35377]
                            )
                            (C {(unset)} {(whiptail_menu_array)})
                          ]
                          spids: [34902 34905 35392 16777215]
                        )
                        (case_arm
                          pat_list: [{(DQ ('NTPD Mirror'))}]
                          action: [
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:whiptail_menu_array)
                                  op: Equal
                                  rhs: 
                                    {
                                      (ArrayLiteralPart
                                        words: [{(DQ (Custom))} {(DQ ('Manually enter NTPD mirror'))}]
                                      )
                                    }
                                  spids: [35409]
                                )
                              ]
                              spids: [35407]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:whiptail_menu_array)
                                  op: PlusEqual
                                  rhs: 
                                    {
                                      (ArrayLiteralPart
                                        words: [{(SQ <debian.pool.ntp.org>)} {(SQ <'Debian Global'>)}]
                                      )
                                    }
                                  spids: [35428]
                                )
                              ]
                              spids: [35428]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:whiptail_menu_array)
                                  op: PlusEqual
                                  rhs: 
                                    {
                                      (ArrayLiteralPart
                                        words: [{(SQ <pool.ntp.org>)} {(SQ <Global>)}]
                                      )
                                    }
                                  spids: [35440]
                                )
                              ]
                              spids: [35440]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:whiptail_menu_array)
                                  op: PlusEqual
                                  rhs: 
                                    {
                                      (ArrayLiteralPart
                                        words: [{(SQ <europe.pool.ntp.org>)} {(SQ <Europe>)}]
                                      )
                                    }
                                  spids: [35452]
                                )
                              ]
                              spids: [35452]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:whiptail_menu_array)
                                  op: PlusEqual
                                  rhs: 
                                    {
                                      (ArrayLiteralPart
                                        words: [
                                          {(SQ <north-america.pool.ntp.org>)}
                                          {(SQ <'North America'>)}
                                        ]
                                      )
                                    }
                                  spids: [35464]
                                )
                              ]
                              spids: [35464]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:whiptail_menu_array)
                                  op: PlusEqual
                                  rhs: 
                                    {
                                      (ArrayLiteralPart
                                        words: [
                                          {(SQ <south-america.pool.ntp.org>)}
                                          {(SQ <'South America'>)}
                                        ]
                                      )
                                    }
                                  spids: [35476]
                                )
                              ]
                              spids: [35476]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:whiptail_menu_array)
                                  op: PlusEqual
                                  rhs: 
                                    {
                                      (ArrayLiteralPart
                                        words: [{(SQ <africa.pool.ntp.org>)} {(SQ <Africa>)}]
                                      )
                                    }
                                  spids: [35488]
                                )
                              ]
                              spids: [35488]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:whiptail_menu_array)
                                  op: PlusEqual
                                  rhs: 
                                    {
                                      (ArrayLiteralPart
                                        words: [{(SQ <asia.pool.ntp.org>)} {(SQ <Asia>)}]
                                      )
                                    }
                                  spids: [35500]
                                )
                              ]
                              spids: [35500]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:whiptail_menu_array)
                                  op: PlusEqual
                                  rhs: 
                                    {
                                      (ArrayLiteralPart
                                        words: [{(SQ <oceania.pool.ntp.org>)} {(SQ <Oceania>)}]
                                      )
                                    }
                                  spids: [35512]
                                )
                              ]
                              spids: [35512]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:OPTION)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (SimpleCommand
                                                words: [
                                                  {(whiptail)}
                                                  {(--title)}
                                                  {(DQ ('Choose NTPD Mirror'))}
                                                  {(--menu)}
                                                  {
                                                    (DQ 
                                                      (
'Please select a NTPD mirror, or choose custom for manual entry.'
                                                      ) (Lit_Other '\\') ('n - Further information: ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                                                      ('http://www.pool.ntp.org/zone/@') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                                    )
                                                  }
                                                  {(--default-item)}
                                                  {(DQ ($ VSub_Name '$ntpd_mirror_current'))}
                                                  {(--cancel-button)}
                                                  {(DQ ($ VSub_Name '$TEXT_MENU_BACK'))}
                                                  {(--backtitle)}
                                                  {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))}
                                                  {(16)}
                                                  {(100)}
                                                  {(7)}
                                                  {
                                                    (DQ 
                                                      (BracedVarSub
                                                        token: <VSub_Name whiptail_menu_array>
                                                        bracket_op: (WholeArray op_id:Lit_At)
                                                        spids: [35571 35576]
                                                      )
                                                    )
                                                  }
                                                ]
                                                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: [35526 35587]
                                      )
                                    }
                                  spids: [35525]
                                )
                              ]
                              spids: [35525]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:CHOICE)
                                  op: Equal
                                  rhs: {($ VSub_QMark '$?')}
                                  spids: [35590]
                                )
                              ]
                              spids: [35590]
                            )
                            (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: [35596 35605]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:return_value)
                                          op: Equal
                                          rhs: {($ VSub_Name '$OPTION')}
                                          spids: [35612]
                                        )
                                      ]
                                      spids: [35612]
                                    )
                                    (Case
                                      to_match: {($ VSub_Name '$OPTION')}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(Custom)}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:OPTION)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (CommandSubPart
                                                        command_list: 
                                                          (CommandList
                                                            children: [
                                                              (SimpleCommand
                                                                words: [
                                                                  {(whiptail)}
                                                                  {(--inputbox)}
                                                                  {
                                                                    (DQ ('Enter Your NTPD Mirror') 
                                                                      (Lit_Other '\\') ('n - eg: debian.pool.ntp.org')
                                                                    )
                                                                  }
                                                                  {(9)}
                                                                  {(100)}
                                                                  {
                                                                    (DQ 
                                                                      ($ VSub_Name 
'$ntpd_mirror_current'
                                                                      )
                                                                    )
                                                                  }
                                                                  {(--title)}
                                                                  {(DQ ('Set NTPD Mirror'))}
                                                                ]
                                                                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: [35631 35664]
                                                      )
                                                    }
                                                  spids: [35630]
                                                )
                                              ]
                                              spids: [35630]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:CHOICE)
                                                  op: Equal
                                                  rhs: {($ VSub_QMark '$?')}
                                                  spids: [35667]
                                                )
                                              ]
                                              spids: [35667]
                                            )
                                            (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: [35673 35682]
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:return_value)
                                                          op: Equal
                                                          rhs: {($ VSub_Name '$OPTION')}
                                                          spids: [35689]
                                                        )
                                                      ]
                                                      spids: [35689]
                                                    )
                                                  ]
                                                  spids: [16777215 35685]
                                                )
                                              ]
                                              spids: [16777215 35694]
                                            )
                                          ]
                                          spids: [35625 35626 35698 16777215]
                                        )
                                      ]
                                      spids: [35617 35621 35702]
                                    )
                                    (C {(sed)} {(-i)} 
                                      {
                                        (DQ ('/CONFIG_NTP_MIRROR=/c') (Lit_Other '\\') 
                                          ('CONFIG_NTP_MIRROR=') ($ VSub_Name '$OPTION')
                                        )
                                      } {(/DietPi/dietpi.txt)}
                                    )
                                    (C {(/DietPi/dietpi/func/dietpi-set_software)} {(ntpd-mode)} 
                                      {
                                        (CommandSubPart
                                          command_list: 
                                            (CommandList
                                              children: [
                                                (Pipeline
                                                  children: [
                                                    (C {(grep)} {(-m1)} {(SQ <'^CONFIG_NTP_MODE='>)} 
                                                      {(/DietPi/dietpi.txt)}
                                                    )
                                                    (C {(sed)} {(SQ <'s/.*=//'>)})
                                                  ]
                                                  negated: F
                                                )
                                              ]
                                            )
                                          left_token: <Left_CommandSub '$('>
                                          spids: [35724 35742]
                                        )
                                      }
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:TARGETMENUID)
                                          op: Equal
                                          rhs: {(16)}
                                          spids: [35750]
                                        )
                                      ]
                                      spids: [35750]
                                    )
                                  ]
                                  spids: [16777215 35608]
                                )
                              ]
                              spids: [16777215 35755]
                            )
                            (C {(unset)} {(whiptail_menu_array)})
                          ]
                          spids: [35396 35399 35769 16777215]
                        )
                        (case_arm
                          pat_list: [{(DQ ('NFS Client'))}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DParen
                                          child: 
                                            (ArithUnary
                                              op_id: Arith_Bang
                                              child: 
                                                (ArithWord
                                                  w: {($ VSub_Name '$nfsclient_installed')}
                                                )
                                            )
                                          spids: [35786 35793]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(whiptail)} {(--title)} {(DQ ('Install NFS Client?'))} 
                                      {(--yesno)} 
                                      {
                                        (DQ 
                                          (
'NFS Client is not installed, would you like to install it now?'
                                          ) (Lit_Other '\\') (n) (Lit_Other '\\') ('nThis will allow you access NFS shares.')
                                        )
                                      } {(--yes-button)} {(DQ (Ok))} {(--no-button)} {(DQ (Back))} {(--defaultno)} {(--backtitle)} 
                                      {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))} {(12)} {(65)}
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:CHOICE)
                                          op: Equal
                                          rhs: {($ VSub_QMark '$?')}
                                          spids: [35843]
                                        )
                                      ]
                                      spids: [35843]
                                    )
                                    (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: [35849 35858]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(/DietPi/dietpi/dietpi-software)} {(install)} {(110)})
                                          ]
                                          spids: [16777215 35861]
                                        )
                                      ]
                                      spids: [16777215 35877]
                                    )
                                  ]
                                  spids: [16777215 35796]
                                )
                              ]
                              else_action: [(C {(/DietPi/dietpi/func/dietpi-set_nfsclient)})]
                              spids: [35881 35889]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(16)}
                                  spids: [35897]
                                )
                              ]
                              spids: [35897]
                            )
                          ]
                          spids: [35773 35776 35902 16777215]
                        )
                        (case_arm
                          pat_list: [{(Samba) (Lit_Other '*')}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DParen
                                          child: 
                                            (ArithUnary
                                              op_id: Arith_Bang
                                              child: 
                                                (ArithWord
                                                  w: {($ VSub_Name '$sambaclient_installed')}
                                                )
                                            )
                                          spids: [35917 35924]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(whiptail)} {(--title)} {(DQ ('Install Samba Client?'))} 
                                      {(--yesno)} 
                                      {
                                        (DQ 
                                          (
'Samba Client is not installed, would you like to install it now?'
                                          ) (Lit_Other '\\') (n) (Lit_Other '\\') 
                                          (
'nThis will allow you access Windows shared folders, NAS and CIFS capable devices.'
                                          )
                                        )
                                      } {(--yes-button)} {(DQ (Ok))} {(--no-button)} {(DQ (Back))} {(--defaultno)} {(--backtitle)} 
                                      {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))} {(12)} {(65)}
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:CHOICE)
                                          op: Equal
                                          rhs: {($ VSub_QMark '$?')}
                                          spids: [35974]
                                        )
                                      ]
                                      spids: [35974]
                                    )
                                    (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: [35980 35989]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(/DietPi/dietpi/dietpi-software)} {(install)} {(1)})
                                          ]
                                          spids: [16777215 35992]
                                        )
                                      ]
                                      spids: [16777215 36008]
                                    )
                                  ]
                                  spids: [16777215 35927]
                                )
                              ]
                              else_action: [(C {(/DietPi/dietpi/func/dietpi-set_smbclient)})]
                              spids: [36012 36020]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(16)}
                                  spids: [36028]
                                )
                              ]
                              spids: [36028]
                            )
                          ]
                          spids: [35906 35908 36032 16777215]
                        )
                        (case_arm
                          pat_list: [{(FTP) (Lit_Other '*')}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DParen
                                          child: 
                                            (ArithUnary
                                              op_id: Arith_Bang
                                              child: 
                                                (ArithWord
                                                  w: {($ VSub_Name '$curlftpfs_installed')}
                                                )
                                            )
                                          spids: [36046 36053]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(whiptail)} {(--title)} {(DQ ('Install FTP Client?'))} 
                                      {(--yesno)} 
                                      {
                                        (DQ 
                                          (
'FTP Client (curlftpfs) is not installed, would you like to install it now? '
                                          ) (Lit_Other '\\') ('n ') (Lit_Other '\\') 
                                          (
'n - This is required to mount an FTP connection to filesystem'
                                          )
                                        )
                                      } {(--yes-button)} {(DQ (Ok))} {(--no-button)} {(DQ (Back))} {(--defaultno)} {(--backtitle)} 
                                      {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))} {(12)} {(65)}
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:CHOICE)
                                          op: Equal
                                          rhs: {($ VSub_QMark '$?')}
                                          spids: [36103]
                                        )
                                      ]
                                      spids: [36103]
                                    )
                                    (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: [36109 36118]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(/DietPi/dietpi/dietpi-software)} {(install)} {(2)})
                                          ]
                                          spids: [16777215 36121]
                                        )
                                      ]
                                      spids: [16777215 36137]
                                    )
                                  ]
                                  spids: [16777215 36056]
                                )
                              ]
                              else_action: [(C {(/DietPi/dietpi/func/dietpi-set_curlftpfs)})]
                              spids: [36141 36149]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(16)}
                                  spids: [36157]
                                )
                              ]
                              spids: [36157]
                            )
                          ]
                          spids: [36035 36037 36161 16777215]
                        )
                        (case_arm
                          pat_list: [{(NoIp)}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DParen
                                          child: 
                                            (ArithUnary
                                              op_id: Arith_Bang
                                              child: (ArithWord w:{($ VSub_Name '$noip_installed')})
                                            )
                                          spids: [36174 36181]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_Local
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:noip_url_address)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [36190]
                                        )
                                      ]
                                      spids: [36188]
                                    )
                                    (C {(whiptail)} {(--title)} {(DQ ('Install NoIp Client?'))} 
                                      {(--yesno)} 
                                      {
                                        (DQ 
                                          (
'NoIp Client is not installed, would you like to install it now?'
                                          ) (Lit_Other '\\') (n) (Lit_Other '\\') 
                                          (
'n- NoIp will allow you to use a fixed web address, regardless of your internet IP'
                                          ) (Lit_Other '\\') ('neg: MySuperDooperWebsite.noip2.biz would point to this device!')
                                        )
                                      } {(--yes-button)} {(DQ (Ok))} {(--no-button)} {(DQ (Back))} {(--defaultno)} {(--backtitle)} 
                                      {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))} {(13)} {(70)}
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:CHOICE)
                                          op: Equal
                                          rhs: {($ VSub_QMark '$?')}
                                          spids: [36240]
                                        )
                                      ]
                                      spids: [36240]
                                    )
                                    (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: [36246 36255]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(/DietPi/dietpi/dietpi-software)} {(install)} {(67)})
                                          ]
                                          spids: [16777215 36258]
                                        )
                                      ]
                                      spids: [16777215 36274]
                                    )
                                  ]
                                  spids: [16777215 36184]
                                )
                              ]
                              else_action: [
                                (C {(clear)})
                                (C {(service)} {(noip2)} {(stop)})
                                (C {(noip2)} {(-C)})
                                (C {(read)} {(-p)} {(DQ ('Press any key to continue.....'))})
                                (C {(service)} {(noip2)} {(start)})
                              ]
                              spids: [36278 36314]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(16)}
                                  spids: [36322]
                                )
                              ]
                              spids: [36322]
                            )
                          ]
                          spids: [36164 36165 36326 16777215]
                        )
                      ]
                      spids: [34714 34720 36329]
                    )
                  ]
                  spids: [16777215 34711]
                )
              ]
              else_action: [
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_DEqual
                                  left: (ArithWord w:{($ VSub_Name '$EXITONBACK')})
                                  right: (ArithWord w:{(Lit_Digits 1)})
                                )
                              spids: [36347 36356]
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:TARGETMENUID)
                              op: Equal
                              rhs: {(16)}
                              spids: [36366]
                            )
                          ]
                          spids: [36366]
                        )
                        (C {(Menu_Exit)})
                      ]
                      spids: [16777215 36359]
                    )
                  ]
                  spids: [16777215 36373]
                )
              ]
              spids: [36337 36376]
            )
          ]
          spids: [33589]
        )
      spids: [33586 33589]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:PROXY_ENABLED) op:Equal rhs:{(-1)} spids:[36384])]
      spids: [36384]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:PROXY_ADDRESS) op:Equal rhs:{(SQ )} spids:[36388])]
      spids: [36388]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:PROXY_PORT) op:Equal rhs:{(SQ )} spids:[36393])]
      spids: [36393]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:PROXY_USERNAME) op:Equal rhs:{(SQ )} spids:[36398])]
      spids: [36398]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:PROXY_PASSWORD) op:Equal rhs:{(SQ )} spids:[36403])]
      spids: [36403]
    )
    (FuncDef
      name: Load_Proxy_Vars
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:PROXY_ENABLED)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(cat)} {(/DietPi/dietpi.txt)})
                                  (C {(grep)} {(-m1)} {(SQ <'^CONFIG_PROXY_ENABLED='>)})
                                  (C {(sed)} {(SQ <'s/.*=//'>)})
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [36421 36443]
                      )
                    }
                  spids: [36420]
                )
              ]
              spids: [36420]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:PROXY_ADDRESS)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(cat)} {(/DietPi/dietpi.txt)})
                                  (C {(grep)} {(-m1)} {(SQ <'^CONFIG_PROXY_ADDRESS='>)})
                                  (C {(sed)} {(SQ <'s/.*=//'>)})
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [36447 36469]
                      )
                    }
                  spids: [36446]
                )
              ]
              spids: [36446]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:PROXY_PORT)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(cat)} {(/DietPi/dietpi.txt)})
                                  (C {(grep)} {(-m1)} {(SQ <'^CONFIG_PROXY_PORT='>)})
                                  (C {(sed)} {(SQ <'s/.*=//'>)})
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [36473 36495]
                      )
                    }
                  spids: [36472]
                )
              ]
              spids: [36472]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:PROXY_USERNAME)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(cat)} {(/DietPi/dietpi.txt)})
                                  (C {(grep)} {(-m1)} {(SQ <'^CONFIG_PROXY_USERNAME='>)})
                                  (C {(sed)} {(SQ <'s/.*=//'>)})
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [36499 36521]
                      )
                    }
                  spids: [36498]
                )
              ]
              spids: [36498]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:PROXY_PASSWORD)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(cat)} {(/DietPi/dietpi.txt)})
                                  (C {(grep)} {(-m1)} {(SQ <'^CONFIG_PROXY_PASSWORD='>)})
                                  (C {(sed)} {(SQ <'s/.*=//'>)})
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [36525 36547]
                      )
                    }
                  spids: [36524]
                )
              ]
              spids: [36524]
            )
          ]
          spids: [36416]
        )
      spids: [36413 36416]
    )
    (FuncDef
      name: Menu_NetworkAdapters_Proxy
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:TARGETMENUID) op:Equal rhs:{(8)} spids:[36566])]
              spids: [36566]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$PROXY_ENABLED')})
                              right: 
                                (ArithUnary
                                  op_id: Node_UnaryMinus
                                  child: (ArithWord w:{(Lit_Digits 1)})
                                )
                            )
                          spids: [36577 36587]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(Load_Proxy_Vars)})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:proxy_state_text)
                          op: Equal
                          rhs: {(SQ <Disabled>)}
                          spids: [36598]
                        )
                      ]
                      spids: [36598]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: (ArithWord w:{($ VSub_Name '$PROXY_ENABLED')})
                                      right: (ArithWord w:{(Lit_Digits 1)})
                                    )
                                  spids: [36606 36615]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:proxy_state_text)
                                  op: Equal
                                  rhs: {(SQ <Enabled>)}
                                  spids: [36621]
                                )
                              ]
                              spids: [36621]
                            )
                          ]
                          spids: [16777215 36618]
                        )
                      ]
                      spids: [16777215 36627]
                    )
                  ]
                  spids: [16777215 36590]
                )
              ]
              spids: [16777215 36630]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:proxy_state_text_new)
                  op: Equal
                  rhs: {(SQ <No>)}
                  spids: [36634]
                )
              ]
              spids: [36634]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$PROXY_ENABLED')})
                              right: (ArithWord w:{(Lit_Digits 1)})
                            )
                          spids: [36642 36651]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:proxy_state_text_new)
                          op: Equal
                          rhs: {(SQ <Yes>)}
                          spids: [36657]
                        )
                      ]
                      spids: [36657]
                    )
                  ]
                  spids: [16777215 36654]
                )
              ]
              spids: [16777215 36663]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:WHIP_TITLE)
                  op: Equal
                  rhs: {(SQ <'DietPi - Proxy Network Options'>)}
                  spids: [36667]
                )
              ]
              spids: [36667]
            )
            (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 (Lit_Other '\\') ('n Current Details:') (Lit_Other '\\') 
                                      ('n - Status: ') ($ VSub_Name '$proxy_state_text') (Lit_Other '\\') ('n - Address: ') ($ VSub_Name '$PROXY_ADDRESS') 
                                      (Lit_Other '\\') ('n - Port: ') ($ VSub_Name '$PROXY_PORT') (Lit_Other '\\') ('n - Username: ') 
                                      ($ VSub_Name '$PROXY_USERNAME') (Lit_Other '\\') ('n - Password: ') ($ VSub_Name '$PROXY_PASSWORD')
                                    )
                                  }
                                  {(--cancel-button)}
                                  {(DQ ($ VSub_Name '$TEXT_MENU_BACK'))}
                                  {(--backtitle)}
                                  {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))}
                                  {(21)}
                                  {(60)}
                                  {(6)}
                                  {(DQ (Toggle))}
                                  {(DQ ('Use Proxy?: ') ($ VSub_Name '$proxy_state_text_new'))}
                                  {(DQ (Address))}
                                  {(DQ ('Enter Proxy server IP/URL'))}
                                  {(DQ (Port))}
                                  {(DQ ('Enter Proxy server port'))}
                                  {(DQ (Username))}
                                  {(DQ ('Enter Proxy server username'))}
                                  {(DQ (Password))}
                                  {(DQ ('Enter Proxy server password'))}
                                  {(DQ (Apply))}
                                  {(DQ ('Save Changes'))}
                                ]
                                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: [36674 36792]
                      )
                    }
                  spids: [36673]
                )
              ]
              spids: [36673]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:CHOICE)
                  op: Equal
                  rhs: {($ VSub_QMark '$?')}
                  spids: [36796]
                )
              ]
              spids: [36796]
            )
            (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: [36802 36811]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Case
                      to_match: {(DQ ($ VSub_Name '$OPTION'))}
                      arms: [
                        (case_arm
                          pat_list: [{(Toggle)}]
                          action: [
                            (DParen
                              child: 
                                (UnaryAssign
                                  op_id: Node_PostDPlus
                                  child: (LhsName name:PROXY_ENABLED)
                                )
                              spids: [36830 36834]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DParen
                                          child: 
                                            (ArithBinary
                                              op_id: Arith_GreatEqual
                                              left: (ArithWord w:{($ VSub_Name '$PROXY_ENABLED')})
                                              right: (ArithWord w:{(Lit_Digits 2)})
                                            )
                                          spids: [36839 36848]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:PROXY_ENABLED)
                                          op: Equal
                                          rhs: {(0)}
                                          spids: [36854]
                                        )
                                      ]
                                      spids: [36854]
                                    )
                                  ]
                                  spids: [16777215 36851]
                                )
                              ]
                              spids: [16777215 36858]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(17)}
                                  spids: [36866]
                                )
                              ]
                              spids: [36866]
                            )
                          ]
                          spids: [36826 36827 36870 16777215]
                        )
                        (case_arm
                          pat_list: [{(Address)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:OPTION)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (SimpleCommand
                                                words: [
                                                  {(whiptail)}
                                                  {(--inputbox)}
                                                  {
                                                    (DQ ('Please enter the proxy URL or IP address') 
                                                      (Lit_Other '\\') ('n - eg: MyProxy.com')
                                                    )
                                                  }
                                                  {(9)}
                                                  {(65)}
                                                  {(DQ ($ VSub_Name '$PROXY_ADDRESS'))}
                                                  {(--title)}
                                                  {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))}
                                                ]
                                                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: [36878 36911]
                                      )
                                    }
                                  spids: [36877]
                                )
                              ]
                              spids: [36877]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:CHOICE)
                                  op: Equal
                                  rhs: {($ VSub_QMark '$?')}
                                  spids: [36914]
                                )
                              ]
                              spids: [36914]
                            )
                            (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: [36920 36929]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:PROXY_ADDRESS)
                                          op: Equal
                                          rhs: {($ VSub_Name '$OPTION')}
                                          spids: [36935]
                                        )
                                      ]
                                      spids: [36935]
                                    )
                                  ]
                                  spids: [16777215 36932]
                                )
                              ]
                              spids: [16777215 36939]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(17)}
                                  spids: [36947]
                                )
                              ]
                              spids: [36947]
                            )
                          ]
                          spids: [36873 36874 36951 16777215]
                        )
                        (case_arm
                          pat_list: [{(Port)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:OPTION)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (SimpleCommand
                                                words: [
                                                  {(whiptail)}
                                                  {(--inputbox)}
                                                  {
                                                    (DQ ('Please enter the proxy port number') 
                                                      (Lit_Other '\\') ('n - eg: 1234')
                                                    )
                                                  }
                                                  {(9)}
                                                  {(65)}
                                                  {(DQ ($ VSub_Name '$PROXY_PORT'))}
                                                  {(--title)}
                                                  {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))}
                                                ]
                                                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: [36959 36992]
                                      )
                                    }
                                  spids: [36958]
                                )
                              ]
                              spids: [36958]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:CHOICE)
                                  op: Equal
                                  rhs: {($ VSub_QMark '$?')}
                                  spids: [36995]
                                )
                              ]
                              spids: [36995]
                            )
                            (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: [37001 37010]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:PROXY_PORT)
                                          op: Equal
                                          rhs: {($ VSub_Name '$OPTION')}
                                          spids: [37016]
                                        )
                                      ]
                                      spids: [37016]
                                    )
                                  ]
                                  spids: [16777215 37013]
                                )
                              ]
                              spids: [16777215 37020]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(17)}
                                  spids: [37028]
                                )
                              ]
                              spids: [37028]
                            )
                          ]
                          spids: [36954 36955 37032 16777215]
                        )
                        (case_arm
                          pat_list: [{(Username)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:OPTION)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (SimpleCommand
                                                words: [
                                                  {(whiptail)}
                                                  {(--inputbox)}
                                                  {
                                                    (DQ ('Please enter the proxy username') 
                                                      (Lit_Other '\\') ('n - eg: JoeBloggs') (Lit_Other '\\') ('n - Leave blank if not required')
                                                    )
                                                  }
                                                  {(10)}
                                                  {(65)}
                                                  {(DQ ($ VSub_Name '$PROXY_USERNAME'))}
                                                  {(--title)}
                                                  {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))}
                                                ]
                                                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: [37040 37075]
                                      )
                                    }
                                  spids: [37039]
                                )
                              ]
                              spids: [37039]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:CHOICE)
                                  op: Equal
                                  rhs: {($ VSub_QMark '$?')}
                                  spids: [37078]
                                )
                              ]
                              spids: [37078]
                            )
                            (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: [37084 37093]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:PROXY_USERNAME)
                                          op: Equal
                                          rhs: {($ VSub_Name '$OPTION')}
                                          spids: [37099]
                                        )
                                      ]
                                      spids: [37099]
                                    )
                                  ]
                                  spids: [16777215 37096]
                                )
                              ]
                              spids: [16777215 37103]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(17)}
                                  spids: [37111]
                                )
                              ]
                              spids: [37111]
                            )
                          ]
                          spids: [37035 37036 37115 16777215]
                        )
                        (case_arm
                          pat_list: [{(Password)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:OPTION)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (SimpleCommand
                                                words: [
                                                  {(whiptail)}
                                                  {(--inputbox)}
                                                  {
                                                    (DQ ('Please enter the proxy password') 
                                                      (Lit_Other '\\') ('n - eg: LetMeIn') (Lit_Other '\\') ('n - Leave blank if not required')
                                                    )
                                                  }
                                                  {(10)}
                                                  {(65)}
                                                  {(DQ ($ VSub_Name '$PROXY_PASSWORD'))}
                                                  {(--title)}
                                                  {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))}
                                                ]
                                                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: [37123 37158]
                                      )
                                    }
                                  spids: [37122]
                                )
                              ]
                              spids: [37122]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:CHOICE)
                                  op: Equal
                                  rhs: {($ VSub_QMark '$?')}
                                  spids: [37161]
                                )
                              ]
                              spids: [37161]
                            )
                            (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: [37167 37176]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:PROXY_PASSWORD)
                                          op: Equal
                                          rhs: {($ VSub_Name '$OPTION')}
                                          spids: [37182]
                                        )
                                      ]
                                      spids: [37182]
                                    )
                                  ]
                                  spids: [16777215 37179]
                                )
                              ]
                              spids: [16777215 37186]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(17)}
                                  spids: [37194]
                                )
                              ]
                              spids: [37194]
                            )
                          ]
                          spids: [37118 37119 37198 16777215]
                        )
                        (case_arm
                          pat_list: [{(Apply)}]
                          action: [
                            (C {(sed)} {(-i)} 
                              {
                                (DQ ('/^CONFIG_PROXY_ENABLED=/c') (Lit_Other '\\') 
                                  ('CONFIG_PROXY_ENABLED=') ($ VSub_Name '$PROXY_ENABLED')
                                )
                              } {(/DietPi/dietpi.txt)}
                            )
                            (C {(sed)} {(-i)} 
                              {
                                (DQ ('/^CONFIG_PROXY_ADDRESS=/c') (Lit_Other '\\') 
                                  ('CONFIG_PROXY_ADDRESS=') ($ VSub_Name '$PROXY_ADDRESS')
                                )
                              } {(/DietPi/dietpi.txt)}
                            )
                            (C {(sed)} {(-i)} 
                              {
                                (DQ ('/^CONFIG_PROXY_PORT=/c') (Lit_Other '\\') ('CONFIG_PROXY_PORT=') 
                                  ($ VSub_Name '$PROXY_PORT')
                                )
                              } {(/DietPi/dietpi.txt)}
                            )
                            (C {(sed)} {(-i)} 
                              {
                                (DQ ('/^CONFIG_PROXY_USERNAME=/c') (Lit_Other '\\') 
                                  ('CONFIG_PROXY_USERNAME=') ($ VSub_Name '$PROXY_USERNAME')
                                )
                              } {(/DietPi/dietpi.txt)}
                            )
                            (C {(sed)} {(-i)} 
                              {
                                (DQ ('/^CONFIG_PROXY_PASSWORD=/c') (Lit_Other '\\') 
                                  ('CONFIG_PROXY_PASSWORD=') ($ VSub_Name '$PROXY_PASSWORD')
                                )
                              } {(/DietPi/dietpi.txt)}
                            )
                            (C {(sed)} {(-i)} {(SQ <'/{http,https,ftp}_proxy=/d'>)} {(/etc/bash.bashrc)})
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DParen
                                          child: 
                                            (ArithBinary
                                              op_id: Arith_DEqual
                                              left: (ArithWord w:{($ VSub_Name '$PROXY_ENABLED')})
                                              right: (ArithWord w:{(Lit_Digits 1)})
                                            )
                                          spids: [37312 37321]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  ops: [Op_DAmp]
                                                  children: [
                                                    (C {(Lit_Other '[')} {(-n)} 
                                                      {(DQ ($ VSub_Name '$PROXY_USERNAME'))} {(Lit_Other ']')}
                                                    )
                                                    (C {(Lit_Other '[')} {(-n)} 
                                                      {(DQ ($ VSub_Name '$PROXY_PASSWORD'))} {(Lit_Other ']')}
                                                    )
                                                  ]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (SimpleCommand
                                              words: [{(cat)}]
                                              redirects: [
                                                (HereDoc
                                                  op: <Redir_DLess '<<'>
                                                  fd: 16777215
                                                  here_begin: {(_EOF_)}
                                                  here_end_span_id: 37379
                                                  stdin_parts: [
                                                    ('export {http,https,ftp}_proxy=')
                                                    (Right_DoubleQuote '"')
                                                    ('http://')
                                                    ($ VSub_Name '$PROXY_USERNAME')
                                                    (':')
                                                    ($ VSub_Name '$PROXY_PASSWORD')
                                                    ('@')
                                                    ($ VSub_Name '$PROXY_ADDRESS')
                                                    (':')
                                                    ($ VSub_Name '$PROXY_PORT')
                                                    (Right_DoubleQuote '"')
                                                    ('\n')
                                                  ]
                                                )
                                                (Redir
                                                  op: <Redir_DGreat '>>'>
                                                  fd: 16777215
                                                  arg_word: {(/etc/bash.bashrc)}
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [16777215 37353]
                                        )
                                      ]
                                      else_action: [
                                        (SimpleCommand
                                          words: [{(cat)}]
                                          redirects: [
                                            (HereDoc
                                              op: <Redir_DLess '<<'>
                                              fd: 16777215
                                              here_begin: {(_EOF_)}
                                              here_end_span_id: 37403
                                              stdin_parts: [
                                                ('export {http,https,ftp}_proxy=')
                                                (Right_DoubleQuote '"')
                                                ('http://')
                                                ($ VSub_Name '$PROXY_ADDRESS')
                                                (':')
                                                ($ VSub_Name '$PROXY_PORT')
                                                (Right_DoubleQuote '"')
                                                ('\n')
                                              ]
                                            )
                                            (Redir
                                              op: <Redir_DGreat '>>'>
                                              fd: 16777215
                                              arg_word: {(/etc/bash.bashrc)}
                                            )
                                          ]
                                        )
                                      ]
                                      spids: [37381 37405]
                                    )
                                  ]
                                  spids: [16777215 37324]
                                )
                              ]
                              spids: [16777215 37410]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:REBOOT_REQUIRED)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [37418]
                                )
                              ]
                              spids: [37418]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:WHIP_TITLE)
                                  op: Equal
                                  rhs: {(SQ <'Proxy: Reboot required'>)}
                                  spids: [37423]
                                )
                              ]
                              spids: [37423]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:WHIP_QUESTION)
                                  op: Equal
                                  rhs: 
                                    {
                                      (SQ 
                                        <
'Your proxy settings have been saved.\\n\\nNB: You must reboot your system, before the new proxy settings will take effect.\\n\\nReboot system now?'
                                        >
                                      )
                                    }
                                  spids: [37429]
                                )
                              ]
                              spids: [37429]
                            )
                            (C {(whiptail)} {(--title)} {(DQ ($ VSub_Name '$WHIP_TITLE'))} {(--yesno)} 
                              {(DQ ($ VSub_Name '$WHIP_QUESTION'))} {(--yes-button)} {(DQ (Ok))} {(--no-button)} {(DQ (Back))} {(--defaultno)} {(--backtitle)} 
                              {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))} {(13)} {(65)}
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:CHOICE)
                                  op: Equal
                                  rhs: {($ VSub_QMark '$?')}
                                  spids: [37474]
                                )
                              ]
                              spids: [37474]
                            )
                            (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: [37480 37489]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [(C {(reboot)})]
                                  spids: [16777215 37492]
                                )
                              ]
                              spids: [16777215 37498]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:PROXY_ENABLED)
                                  op: Equal
                                  rhs: {(-1)}
                                  spids: [37506]
                                )
                              ]
                              spids: [37506]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:TARGETMENUID)
                                  op: Equal
                                  rhs: {(17)}
                                  spids: [37515]
                                )
                              ]
                              spids: [37515]
                            )
                          ]
                          spids: [37201 37202 37519 16777215]
                        )
                      ]
                      spids: [36817 36823 37522]
                    )
                  ]
                  spids: [16777215 36814]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:PROXY_ENABLED)
                      op: Equal
                      rhs: {(-1)}
                      spids: [37533]
                    )
                  ]
                  spids: [37533]
                )
              ]
              spids: [37530 37537]
            )
          ]
          spids: [36562]
        )
      spids: [36559 36562]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (DParen
                  child: 
                    (ArithBinary
                      op_id: Arith_GreatEqual
                      left: (ArithWord w:{($ VSub_Name '$G_DIETPI_INSTALL_STAGE')})
                      right: (ArithWord w:{(Lit_Digits 0)})
                    )
                  spids: [37559 37568]
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (WhileUntil
              keyword: <KW_While while>
              cond: [
                (Sentence
                  child: 
                    (DParen
                      child: 
                        (ArithBinary
                          op_id: Arith_Great
                          left: (ArithWord w:{($ VSub_Name '$TARGETMENUID')})
                          right: (ArithUnary op_id:Node_UnaryMinus child:(ArithWord w:{(Lit_Digits 1)}))
                        )
                      spids: [37581 37591]
                    )
                  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: [37607 37616]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(Menu_Main)})]
                          spids: [16777215 37619]
                        )
                        (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: [37627 37636]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(Menu_DisplayOptions)})]
                          spids: [37625 37639]
                        )
                        (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: [37647 37656]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(Menu_DisplayOptions_Driver_Resolution)})]
                          spids: [37645 37659]
                        )
                        (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: [37667 37676]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(Menu_AdvancedOptions)})]
                          spids: [37665 37679]
                        )
                        (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: [37687 37696]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(Menu_PerformanceOptions)})]
                          spids: [37685 37699]
                        )
                        (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: [37707 37716]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(Menu_SecurityOptions)})]
                          spids: [37705 37719]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: (ArithWord w:{($ VSub_Name '$TARGETMENUID')})
                                      right: (ArithWord w:{(Lit_Digits 6)})
                                    )
                                  spids: [37727 37736]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(Menu_GpumemoryOptions)})]
                          spids: [37725 37739]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: (ArithWord w:{($ VSub_Name '$TARGETMENUID')})
                                      right: (ArithWord w:{(Lit_Digits 7)})
                                    )
                                  spids: [37747 37756]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(Menu_LanguageOptions)})]
                          spids: [37745 37759]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: (ArithWord w:{($ VSub_Name '$TARGETMENUID')})
                                      right: (ArithWord w:{(Lit_Digits 8)})
                                    )
                                  spids: [37767 37776]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(Menu_NetworkAdapters)})]
                          spids: [37765 37779]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: (ArithWord w:{($ VSub_Name '$TARGETMENUID')})
                                      right: (ArithWord w:{(Lit_Digits 9)})
                                    )
                                  spids: [37787 37796]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(Menu_NetworkAdapters_Ethernet)})]
                          spids: [37785 37799]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: (ArithWord w:{($ VSub_Name '$TARGETMENUID')})
                                      right: (ArithWord w:{(Lit_Digits 10)})
                                    )
                                  spids: [37807 37816]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(Menu_NetworkAdapters_Wifi)})]
                          spids: [37805 37819]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: (ArithWord w:{($ VSub_Name '$TARGETMENUID')})
                                      right: (ArithWord w:{(Lit_Digits 11)})
                                    )
                                  spids: [37827 37836]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(Menu_Tools)})]
                          spids: [37825 37839]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: (ArithWord w:{($ VSub_Name '$TARGETMENUID')})
                                      right: (ArithWord w:{(Lit_Digits 12)})
                                    )
                                  spids: [37847 37856]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(Menu_FilesystemBenchmark)})]
                          spids: [37845 37859]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: (ArithWord w:{($ VSub_Name '$TARGETMENUID')})
                                      right: (ArithWord w:{(Lit_Digits 13)})
                                    )
                                  spids: [37867 37876]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(Menu_Overclock)})]
                          spids: [37865 37879]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: (ArithWord w:{($ VSub_Name '$TARGETMENUID')})
                                      right: (ArithWord w:{(Lit_Digits 14)})
                                    )
                                  spids: [37887 37896]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(Menu_AudioOptions)})]
                          spids: [37885 37899]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: (ArithWord w:{($ VSub_Name '$TARGETMENUID')})
                                      right: (ArithWord w:{(Lit_Digits 15)})
                                    )
                                  spids: [37907 37916]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(Menu_StressTest)})]
                          spids: [37905 37919]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: (ArithWord w:{($ VSub_Name '$TARGETMENUID')})
                                      right: (ArithWord w:{(Lit_Digits 16)})
                                    )
                                  spids: [37927 37936]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(Menu_Network_Nas_Misc)})]
                          spids: [37925 37939]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: (ArithWord w:{($ VSub_Name '$TARGETMENUID')})
                                      right: (ArithWord w:{(Lit_Digits 17)})
                                    )
                                  spids: [37947 37956]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(Menu_NetworkAdapters_Proxy)})]
                          spids: [37945 37959]
                        )
                      ]
                      spids: [16777215 37965]
                    )
                  ]
                  spids: [37594 37968]
                )
            )
          ]
          spids: [16777215 37571]
        )
      ]
      else_action: [
        (C {(echo)} {(-e)} 
          {
            (DQ (' >> Filesystem prep has not yet completed: ') (Lit_Other '\\') 
              ('n Please wait for the system to reboot ')
            )
          }
        )
      ]
      spids: [37971 37985]
    )
    (ControlFlow token:<ControlFlow_Exit exit>)
  ]
  spids: [3]
)