(BraceGroup
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:INPUT) op:Equal rhs:{(0)} spids:[95])]
      spids: [95]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (DBracket
                  expr: 
                    (BoolBinary
                      op_id: BoolBinary_EqualTilde
                      left: {($ VSub_Number '$1')}
                      right: 
                        {(Lit_Other '^') (-) (Lit_Other '?') (Lit_Other '[') (0-9) (Lit_Other ']') 
                          (Lit_Other '+') (Lit_Other '$')
                        }
                    )
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:INPUT)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [122]
                )
              ]
              spids: [122]
            )
          ]
          spids: [16777215 119]
        )
      ]
      spids: [16777215 126]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other '[')} {(-f)} {(/DietPi/dietpi/func/dietpi-globals)} {(Lit_Other ']')})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {(.)} {(/DietPi/dietpi/func/dietpi-globals)})
            (C {(G_CHECK_ROOT_USER)})
            (C {(export)} {(Lit_VarLike 'G_PROGRAM_NAME=') (SQ <DietPi-Drive_Manager>)})
          ]
          spids: [16777215 145]
        )
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other '[')} {(-f)} {(DQ ($ VSub_Name '$HOME')) (/dietpi-globals)} 
                  {(Lit_Other ']')}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {(.)} {(DQ ($ VSub_Name '$HOME')) (/dietpi-globals)})
            (C {(G_CHECK_ROOT_USER)})
            (C {(export)} {(Lit_VarLike 'G_PROGRAM_NAME=') (SQ <DietPi-Drive_Manager>)})
          ]
          spids: [170 184]
        )
      ]
      spids: [16777215 208]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:EXIT_CODE) op:Equal rhs:{(0)} spids:[216])]
      spids: [216]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:PROGRAM_NAME)
          op: Equal
          rhs: {(SQ <'DietPi-Drive Manager'>)}
          spids: [221]
        )
      ]
      spids: [221]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:SERVICE_CONTROL) op:Equal rhs:{(1)} spids:[232])]
      spids: [232]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:FP_DRIVE_MANAGER_SELECTION)
          op: Equal
          rhs: {(SQ </tmp/dietpi-drive_manager_selmnt>)}
          spids: [241]
        )
      ]
      spids: [241]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:FP_TEMP_FSTAB)
          op: Equal
          rhs: {(SQ </tmp/.fstab>)}
          spids: [252]
        )
      ]
      spids: [252]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:FP_ROOTFS_SOURCE) op:Equal rhs:{(0)} spids:[259])]
      spids: [259]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:MAX_DRIVES) op:Equal rhs:{(0)} spids:[268])]
      spids: [268]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:FORMAT_GPT) op:Equal rhs:{(1)} spids:[272])]
      spids: [272]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:FORMAT_FILESYSTEM_TYPE) op:Equal rhs:{(0)} spids:[279])]
      spids: [279]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:FORMAT_RECREATE_PARTITION_TABLE)
          op: Equal
          rhs: {(1)}
          spids: [286]
        )
      ]
      spids: [286]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:FORMAT_COMPLETED) op:Equal rhs:{(0)} spids:[293])]
      spids: [293]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:FORMAT_PREVIOUS_MOUNT_SOURCE)
          op: Equal
          rhs: {(0)}
          spids: [297]
        )
      ]
      spids: [297]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:INDEX_DRIVE_BEING_EDITED)
          op: Equal
          rhs: {(0)}
          spids: [305]
        )
      ]
      spids: [305]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:ROOTFS_RW_CHECKED) op:Equal rhs:{(0)} spids:[310])]
      spids: [310]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:aDRIVE_UUID)
          op: Equal
          rhs: {(ArrayLiteralPart)}
          spids: [315]
        )
      ]
      spids: [315]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:aDRIVE_PART_UUID)
          op: Equal
          rhs: {(ArrayLiteralPart)}
          spids: [320]
        )
      ]
      spids: [320]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:aDRIVE_MOUNT_SOURCE)
          op: Equal
          rhs: {(ArrayLiteralPart)}
          spids: [325]
        )
      ]
      spids: [325]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:aDRIVE_MOUNT_TARGET)
          op: Equal
          rhs: {(ArrayLiteralPart)}
          spids: [330]
        )
      ]
      spids: [330]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:aDRIVE_FSTYPE)
          op: Equal
          rhs: {(ArrayLiteralPart)}
          spids: [335]
        )
      ]
      spids: [335]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:aDRIVE_SIZE_TOTAL)
          op: Equal
          rhs: {(ArrayLiteralPart)}
          spids: [340]
        )
      ]
      spids: [340]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:aDRIVE_SIZE_USED)
          op: Equal
          rhs: {(ArrayLiteralPart)}
          spids: [345]
        )
      ]
      spids: [345]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:aDRIVE_SIZE_PERCENTUSED)
          op: Equal
          rhs: {(ArrayLiteralPart)}
          spids: [350]
        )
      ]
      spids: [350]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:aDRIVE_SIZE_FREE)
          op: Equal
          rhs: {(ArrayLiteralPart)}
          spids: [355]
        )
      ]
      spids: [355]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:aDRIVE_ISAVAILABLE)
          op: Equal
          rhs: {(ArrayLiteralPart)}
          spids: [361]
        )
      ]
      spids: [361]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:aDRIVE_ISFILESYSTEM)
          op: Equal
          rhs: {(ArrayLiteralPart)}
          spids: [366]
        )
      ]
      spids: [366]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:aDRIVE_ISMOUNTED)
          op: Equal
          rhs: {(ArrayLiteralPart)}
          spids: [371]
        )
      ]
      spids: [371]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:aDRIVE_ISUUIDMOUNT)
          op: Equal
          rhs: {(ArrayLiteralPart)}
          spids: [376]
        )
      ]
      spids: [376]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:aDRIVE_ISREADONLY_FSTAB)
          op: Equal
          rhs: {(ArrayLiteralPart)}
          spids: [381]
        )
      ]
      spids: [381]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:aDRIVE_ISREADONLY_CURRENTLY)
          op: Equal
          rhs: {(ArrayLiteralPart)}
          spids: [386]
        )
      ]
      spids: [386]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:INIT_FSTAB_SLOTS_ENABLED)
          op: Equal
          rhs: {(0)}
          spids: [392]
        )
      ]
      spids: [392]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:FP_USERDATA_CURRENT) op:Equal rhs:{(0)} spids:[397])]
      spids: [397]
    )
    (FuncDef
      name: Destroy
      body: 
        (BraceGroup
          children: [
            (C {(unset)} {(aDRIVE_MOUNT_SOURCE)})
            (C {(unset)} {(aDRIVE_MOUNT_TARGET)})
            (C {(unset)} {(aDRIVE_FSTYPE)})
            (C {(unset)} {(aDRIVE_SIZE_TOTAL)})
            (C {(unset)} {(aDRIVE_SIZE_USED)})
            (C {(unset)} {(aDRIVE_SIZE_PERCENTUSED)})
            (C {(unset)} {(aDRIVE_SIZE_FREE)})
            (C {(unset)} {(aDRIVE_PART_UUID)})
            (C {(unset)} {(aDRIVE_UUID)})
            (C {(unset)} {(aDRIVE_ISMOUNTED)})
            (C {(unset)} {(aDRIVE_ISFILESYSTEM)})
            (C {(unset)} {(aDRIVE_ISAVAILABLE)})
            (C {(unset)} {(aDRIVE_ISUUIDMOUNT)})
            (C {(unset)} {(aDRIVE_ISREADONLY_FSTAB)})
            (C {(unset)} {(aDRIVE_ISREADONLY_CURRENTLY)})
          ]
          spids: [405]
        )
      spids: [402 405]
    )
    (FuncDef
      name: Init_Drives_and_Refresh
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:init) op:Equal rhs:{(1)} spids:[507])]
              spids: [505]
            )
            (WhileUntil
              keyword: <KW_While while>
              cond: [(DParen child:(ArithWord w:{($ VSub_Name '$init')}) spids:[514 519])]
              body: 
                (DoGroup
                  children: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:init) op:Equal rhs:{(0)} spids:[526])]
                      spids: [526]
                    )
                    (C {(G_DIETPI-NOTIFY)} {(2)} {(DQ ('Detecting drives, please wait...'))})
                    (C {(cp)} {(/etc/fstab)} {(DQ ($ VSub_Name '$FP_TEMP_FSTAB'))})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:MAX_DRIVES)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [(C {(blkid)} {(-o)} {(device)}) (C {(wc)} {(-l)})]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [560 572]
                              )
                            }
                          spids: [559]
                        )
                      ]
                      spids: [559]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:fp_temp)
                          op: Equal
                          rhs: {(SQ </tmp/.dietpi-drive_manager_devlist>)}
                          spids: [577]
                        )
                      ]
                      spids: [575]
                    )
                    (SimpleCommand
                      words: [{(blkid)} {(-o)} {(device)}]
                      redirects: [
                        (Redir
                          op: <Redir_Great '>'>
                          fd: 16777215
                          arg_word: {($ VSub_Name '$fp_temp')}
                        )
                      ]
                    )
                    (SimpleCommand
                      words: [{(readarray)} {(-t)} {(aDRIVE_MOUNT_SOURCE)}]
                      redirects: [
                        (Redir
                          op: <Redir_Less '<'>
                          fd: 16777215
                          arg_word: {($ VSub_Name '$fp_temp')}
                        )
                      ]
                    )
                    (SimpleCommand
                      words: [{(blkid)} {(-s)} {(UUID)} {(-o)} {(value)}]
                      redirects: [
                        (Redir
                          op: <Redir_Great '>'>
                          fd: 16777215
                          arg_word: {($ VSub_Name '$fp_temp')}
                        )
                      ]
                    )
                    (SimpleCommand
                      words: [{(readarray)} {(-t)} {(aDRIVE_UUID)}]
                      redirects: [
                        (Redir
                          op: <Redir_Less '<'>
                          fd: 16777215
                          arg_word: {($ VSub_Name '$fp_temp')}
                        )
                      ]
                    )
                    (SimpleCommand
                      words: [{(blkid)} {(-s)} {(PARTUUID)} {(-o)} {(value)}]
                      redirects: [
                        (Redir
                          op: <Redir_Great '>'>
                          fd: 16777215
                          arg_word: {($ VSub_Name '$fp_temp')}
                        )
                      ]
                    )
                    (SimpleCommand
                      words: [{(readarray)} {(-t)} {(aDRIVE_PART_UUID)}]
                      redirects: [
                        (Redir
                          op: <Redir_Less '<'>
                          fd: 16777215
                          arg_word: {($ VSub_Name '$fp_temp')}
                        )
                      ]
                    )
                    (SimpleCommand
                      words: [{(blkid)} {(-s)} {(TYPE)} {(-o)} {(value)}]
                      redirects: [
                        (Redir
                          op: <Redir_Great '>'>
                          fd: 16777215
                          arg_word: {($ VSub_Name '$fp_temp')}
                        )
                      ]
                    )
                    (SimpleCommand
                      words: [{(readarray)} {(-t)} {(aDRIVE_FSTYPE)}]
                      redirects: [
                        (Redir
                          op: <Redir_Less '<'>
                          fd: 16777215
                          arg_word: {($ VSub_Name '$fp_temp')}
                        )
                      ]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:mount_index)
                          op: Equal
                          rhs: {(1)}
                          spids: [705]
                        )
                      ]
                      spids: [703]
                    )
                    (ForExpr
                      init: 
                        (BinaryAssign
                          op_id: Arith_Equal
                          left: (LhsName name:i)
                          right: (ArithWord w:{(Lit_Digits 0)})
                        )
                      cond: 
                        (ArithBinary
                          op_id: Arith_Less
                          left: (ArithVarRef name:i)
                          right: (ArithWord w:{($ VSub_Name '$MAX_DRIVES')})
                        )
                      update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i))
                      body: 
                        (DoGroup
                          children: [
                            (C 
                              {(aDRIVE_ISAVAILABLE) (Lit_Other '[') ($ VSub_Name '$i') (Lit_Other ']') 
                                (Lit_Other '=') (0)
                              }
                            )
                            (C 
                              {(aDRIVE_ISUUIDMOUNT) (Lit_Other '[') ($ VSub_Name '$i') (Lit_Other ']') 
                                (Lit_Other '=') (0)
                              }
                            )
                            (C 
                              {(aDRIVE_MOUNT_TARGET) (Lit_Other '[') ($ VSub_Name '$i') 
                                (Lit_Other ']') (Lit_Other '=') (SQ <NULL>)
                              }
                            )
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:drive_mount_target_dev)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {(grep)} {(-m1)} 
                                                    {
                                                      (DQ 
                                                        (BracedVarSub
                                                          token: <VSub_Name aDRIVE_MOUNT_SOURCE>
                                                          bracket_op: 
                                                            (ArrayIndex
                                                              expr: (ArithWord w:{($ VSub_Name '$i')})
                                                            )
                                                          spids: [768 773]
                                                        ) ('[[:space:]]')
                                                      )
                                                    } {(DQ ($ VSub_Name '$FP_TEMP_FSTAB'))}
                                                  )
                                                  (C {(awk)} {(SQ <'{print $2}'>)})
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [762 788]
                                      )
                                    }
                                  spids: [761]
                                )
                              ]
                              spids: [759]
                            )
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:drive_mount_target_uuid)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {(grep)} {(-m1)} 
                                                    {
                                                      (DQ ('UUID=') 
                                                        (BracedVarSub
                                                          token: <VSub_Name aDRIVE_UUID>
                                                          bracket_op: 
                                                            (ArrayIndex
                                                              expr: (ArithWord w:{($ VSub_Name '$i')})
                                                            )
                                                          spids: [801 806]
                                                        ) ('[[:space:]]')
                                                      )
                                                    } {(DQ ($ VSub_Name '$FP_TEMP_FSTAB'))}
                                                  )
                                                  (C {(awk)} {(SQ <'{print $2}'>)})
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [794 821]
                                      )
                                    }
                                  spids: [793]
                                )
                              ]
                              spids: [791]
                            )
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:drive_mount_target_partuuid)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {(grep)} {(-m1)} 
                                                    {
                                                      (DQ ('PARTUUID=') 
                                                        (BracedVarSub
                                                          token: <VSub_Name aDRIVE_PART_UUID>
                                                          bracket_op: 
                                                            (ArrayIndex
                                                              expr: (ArithWord w:{($ VSub_Name '$i')})
                                                            )
                                                          spids: [834 839]
                                                        ) ('[[:space:]]')
                                                      )
                                                    } {(DQ ($ VSub_Name '$FP_TEMP_FSTAB'))}
                                                  )
                                                  (C {(awk)} {(SQ <'{print $2}'>)})
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [827 854]
                                      )
                                    }
                                  spids: [826]
                                )
                              ]
                              spids: [824]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(-n)} 
                                          {(DQ ($ VSub_Name '$drive_mount_target_dev'))} {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C 
                                      {(aDRIVE_MOUNT_TARGET) (Lit_Other '[') ($ VSub_Name '$i') 
                                        (Lit_Other ']') (Lit_Other '=') ($ VSub_Name '$drive_mount_target_dev')
                                      }
                                    )
                                    (C 
                                      {(aDRIVE_ISAVAILABLE) (Lit_Other '[') ($ VSub_Name '$i') 
                                        (Lit_Other ']') (Lit_Other '=') (1)
                                      }
                                    )
                                    (C {(G_DIETPI-NOTIFY)} {(2)} 
                                      {
                                        (DQ ('Detected /dev mount: ') 
                                          (BracedVarSub
                                            token: <VSub_Name aDRIVE_MOUNT_SOURCE>
                                            bracket_op: 
                                              (ArrayIndex
                                                expr: (ArithWord w:{($ VSub_Name '$i')})
                                              )
                                            spids: [902 907]
                                          ) (' > ') 
                                          (BracedVarSub
                                            token: <VSub_Name aDRIVE_MOUNT_TARGET>
                                            bracket_op: 
                                              (ArrayIndex
                                                expr: (ArithWord w:{($ VSub_Name '$i')})
                                              )
                                            spids: [909 914]
                                          )
                                        )
                                      }
                                    )
                                  ]
                                  spids: [16777215 875]
                                )
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(-n)} 
                                          {(DQ ($ VSub_Name '$drive_mount_target_uuid'))} {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C 
                                      {(aDRIVE_MOUNT_TARGET) (Lit_Other '[') ($ VSub_Name '$i') 
                                        (Lit_Other ']') (Lit_Other '=') ($ VSub_Name '$drive_mount_target_uuid')
                                      }
                                    )
                                    (C 
                                      {(aDRIVE_ISAVAILABLE) (Lit_Other '[') ($ VSub_Name '$i') 
                                        (Lit_Other ']') (Lit_Other '=') (1)
                                      }
                                    )
                                    (C 
                                      {(aDRIVE_ISUUIDMOUNT) (Lit_Other '[') ($ VSub_Name '$i') 
                                        (Lit_Other ']') (Lit_Other '=') (1)
                                      }
                                    )
                                    (C {(G_DIETPI-NOTIFY)} {(2)} 
                                      {
                                        (DQ ('Detected UUID mount: ') 
                                          (BracedVarSub
                                            token: <VSub_Name aDRIVE_MOUNT_SOURCE>
                                            bracket_op: 
                                              (ArrayIndex
                                                expr: (ArithWord w:{($ VSub_Name '$i')})
                                              )
                                            spids: [972 977]
                                          ) (' > ') 
                                          (BracedVarSub
                                            token: <VSub_Name aDRIVE_MOUNT_TARGET>
                                            bracket_op: 
                                              (ArrayIndex
                                                expr: (ArithWord w:{($ VSub_Name '$i')})
                                              )
                                            spids: [979 984]
                                          )
                                        )
                                      }
                                    )
                                  ]
                                  spids: [923 936]
                                )
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(-n)} 
                                          {(DQ ($ VSub_Name '$drive_mount_target_partuuid'))} {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C 
                                      {(aDRIVE_MOUNT_TARGET) (Lit_Other '[') ($ VSub_Name '$i') 
                                        (Lit_Other ']') (Lit_Other '=') ($ VSub_Name '$drive_mount_target_partuuid')
                                      }
                                    )
                                    (C 
                                      {(aDRIVE_ISAVAILABLE) (Lit_Other '[') ($ VSub_Name '$i') 
                                        (Lit_Other ']') (Lit_Other '=') (1)
                                      }
                                    )
                                    (C 
                                      {(aDRIVE_ISUUIDMOUNT) (Lit_Other '[') ($ VSub_Name '$i') 
                                        (Lit_Other ']') (Lit_Other '=') (1)
                                      }
                                    )
                                    (C {(G_DIETPI-NOTIFY)} {(2)} 
                                      {
                                        (DQ ('Detected PARTUUID mount: ') 
                                          (BracedVarSub
                                            token: <VSub_Name aDRIVE_MOUNT_SOURCE>
                                            bracket_op: 
                                              (ArrayIndex
                                                expr: (ArithWord w:{($ VSub_Name '$i')})
                                              )
                                            spids: [1042 1047]
                                          ) (' > ') 
                                          (BracedVarSub
                                            token: <VSub_Name aDRIVE_MOUNT_TARGET>
                                            bracket_op: 
                                              (ArrayIndex
                                                expr: (ArithWord w:{($ VSub_Name '$i')})
                                              )
                                            spids: [1049 1054]
                                          )
                                        )
                                      }
                                    )
                                  ]
                                  spids: [993 1006]
                                )
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(-n)} 
                                          {
                                            (DQ 
                                              (BracedVarSub
                                                token: <VSub_Name aDRIVE_UUID>
                                                bracket_op: 
                                                  (ArrayIndex
                                                    expr: (ArithWord w:{($ VSub_Name '$i')})
                                                  )
                                                spids: [1070 1075]
                                              )
                                            )
                                          } {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C 
                                      {(aDRIVE_MOUNT_TARGET) (Lit_Other '[') ($ VSub_Name '$i') 
                                        (Lit_Other ']') (Lit_Other '=') 
                                        (DQ (/mnt/) 
                                          (BracedVarSub
                                            token: <VSub_Name aDRIVE_UUID>
                                            bracket_op: 
                                              (ArrayIndex
                                                expr: (ArithWord w:{($ VSub_Name '$i')})
                                              )
                                            spids: [1095 1100]
                                          )
                                        )
                                      }
                                    )
                                    (C {(G_DIETPI-NOTIFY)} {(2)} 
                                      {
                                        (DQ ('Creating UUID fstab entry: ') 
                                          (BracedVarSub
                                            token: <VSub_Name aDRIVE_MOUNT_SOURCE>
                                            bracket_op: 
                                              (ArrayIndex
                                                expr: (ArithWord w:{($ VSub_Name '$i')})
                                              )
                                            spids: [1111 1116]
                                          )
                                        )
                                      }
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(Lit_Other '[')} 
                                                  {
                                                    (DQ 
                                                      (BracedVarSub
                                                        token: <VSub_Name aDRIVE_MOUNT_SOURCE>
                                                        bracket_op: 
                                                          (ArrayIndex
                                                            expr: (ArithWord w:{($ VSub_Name '$i')})
                                                          )
                                                        spids: [1134 1139]
                                                      )
                                                    )
                                                  } {(Lit_Other '=')} 
                                                  {
                                                    (DQ 
                                                      (CommandSubPart
                                                        command_list: 
                                                          (CommandList
                                                            children: [
                                                              (C {(findmnt)} {(/)} {(-o)} {(source)} 
                                                                {(-n)}
                                                              )
                                                            ]
                                                          )
                                                        left_token: <Left_CommandSub '$('>
                                                        spids: [1145 1155]
                                                      )
                                                    )
                                                  } {(Lit_Other ']')}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C 
                                              {(aDRIVE_MOUNT_TARGET) (Lit_Other '[') 
                                                ($ VSub_Name '$i') (Lit_Other ']') (Lit_Other '=') (SQ </>)
                                              }
                                            )
                                            (C {(G_DIETPI-NOTIFY)} {(2)} 
                                              {
                                                (DQ 
                                                  (
' - Drive is currently mounted, using existing mount location: '
                                                  ) 
                                                  (BracedVarSub
                                                    token: <VSub_Name aDRIVE_MOUNT_TARGET>
                                                    bracket_op: 
                                                      (ArrayIndex
                                                        expr: (ArithWord w:{($ VSub_Name '$i')})
                                                      )
                                                    spids: [1182 1187]
                                                  )
                                                )
                                              }
                                            )
                                          ]
                                          spids: [16777215 1161]
                                        )
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (DParen
                                                  child: 
                                                    (ArithWord
                                                      w: 
                                                        {
                                                          (CommandSubPart
                                                            command_list: 
                                                              (CommandList
                                                                children: [
                                                                  (Pipeline
                                                                    children: [
                                                                      (C {(df)} {(-P)})
                                                                      (C {(grep)} {(-ci)} {(-m1)} 
                                                                        {
                                                                          (DQ 
                                                                            (BracedVarSub
                                                                              token: 
                                                                                <VSub_Name 
aDRIVE_MOUNT_SOURCE
                                                                                >
                                                                              bracket_op: 
                                                                                (ArrayIndex
                                                                                  expr: 
                                                                                    (ArithWord
                                                                                      w: 
                                                                                        {
                                                                                          ($ 
VSub_Name '$i'
                                                                                          )
                                                                                        }
                                                                                    )
                                                                                )
                                                                              spids: [1214 1219]
                                                                            ) ('[[:space:]]')
                                                                          )
                                                                        }
                                                                      )
                                                                    ]
                                                                    negated: F
                                                                  )
                                                                ]
                                                              )
                                                            left_token: <Left_CommandSub '$('>
                                                            spids: [1200 1222]
                                                          )
                                                        }
                                                    )
                                                  spids: [1198 1225]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(G_DIETPI-NOTIFY)} {(2)} 
                                              {
                                                (DQ 
                                                  (
' - Drive is currently mounted, using existing mount location: '
                                                  ) 
                                                  (BracedVarSub
                                                    token: <VSub_Name aDRIVE_MOUNT_TARGET>
                                                    bracket_op: 
                                                      (ArrayIndex
                                                        expr: (ArithWord w:{($ VSub_Name '$i')})
                                                      )
                                                    spids: [1238 1243]
                                                  )
                                                )
                                              }
                                            )
                                            (C 
                                              {(aDRIVE_MOUNT_TARGET) (Lit_Other '[') 
                                                ($ VSub_Name '$i') (Lit_Other ']') (Lit_Other '=') 
                                                (CommandSubPart
                                                  command_list: 
                                                    (CommandList
                                                      children: [
                                                        (Pipeline
                                                          children: [
                                                            (C {(df)} {(-P)})
                                                            (C {(grep)} {(-m1)} 
                                                              {
                                                                (DQ 
                                                                  (BracedVarSub
                                                                    token: 
                                                                      <VSub_Name 
aDRIVE_MOUNT_SOURCE
                                                                      >
                                                                    bracket_op: 
                                                                      (ArrayIndex
                                                                        expr: 
                                                                          (ArithWord
                                                                            w: {($ VSub_Name '$i')}
                                                                          )
                                                                      )
                                                                    spids: [1265 1270]
                                                                  ) ('[[:space:]]')
                                                                )
                                                              }
                                                            )
                                                            (C {(awk)} {(SQ <'{print $NF}'>)})
                                                          ]
                                                          negated: F
                                                        )
                                                      ]
                                                    )
                                                  left_token: <Left_CommandSub '$('>
                                                  spids: [1253 1281]
                                                )
                                              }
                                            )
                                          ]
                                          spids: [1196 1228]
                                        )
                                      ]
                                      spids: [16777215 1285]
                                    )
                                    (C {(sed)} {(-i)} 
                                      {
                                        (DQ (Lit_Other '\\') ('@^') 
                                          (BracedVarSub
                                            token: <VSub_Name aDRIVE_MOUNT_SOURCE>
                                            bracket_op: 
                                              (ArrayIndex
                                                expr: (ArithWord w:{($ VSub_Name '$i')})
                                              )
                                            spids: [1300 1305]
                                          ) ('[[:space:]]@d')
                                        )
                                      } {(DQ ($ VSub_Name '$FP_TEMP_FSTAB'))}
                                    )
                                    (C {(sed)} {(-i)} 
                                      {
                                        (DQ (Lit_Other '\\') ('@^UUID=') 
                                          (BracedVarSub
                                            token: <VSub_Name aDRIVE_UUID>
                                            bracket_op: 
                                              (ArrayIndex
                                                expr: (ArithWord w:{($ VSub_Name '$i')})
                                              )
                                            spids: [1321 1326]
                                          ) ('[[:space:]]@d')
                                        )
                                      } {(DQ ($ VSub_Name '$FP_TEMP_FSTAB'))}
                                    )
                                    (Assignment
                                      keyword: Assign_Local
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:mount_options)
                                          op: Equal
                                          rhs: {(SQ <'defaults,noatime,nofail'>)}
                                          spids: [1338]
                                        )
                                      ]
                                      spids: [1336]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  ops: [Op_DAmp]
                                                  children: [
                                                    (C {(Lit_Other '[')} 
                                                      {
                                                        (DQ 
                                                          (BracedVarSub
                                                            token: <VSub_Name aDRIVE_MOUNT_TARGET>
                                                            bracket_op: 
                                                              (ArrayIndex
                                                                expr: 
                                                                  (ArithWord
                                                                    w: {($ VSub_Name '$i')}
                                                                  )
                                                              )
                                                            spids: [1362 1367]
                                                          )
                                                        )
                                                      } {(KW_Bang '!') (Lit_Other '=')} {(SQ </>)} {(Lit_Other ']')}
                                                    )
                                                    (C {(Lit_Other '[')} 
                                                      {
                                                        (DQ 
                                                          (BracedVarSub
                                                            token: <VSub_Name aDRIVE_MOUNT_TARGET>
                                                            bracket_op: 
                                                              (ArrayIndex
                                                                expr: 
                                                                  (ArithWord
                                                                    w: {($ VSub_Name '$i')}
                                                                  )
                                                              )
                                                            spids: [1385 1390]
                                                          )
                                                        )
                                                      } {(KW_Bang '!') (Lit_Other '=')} {(SQ </boot>)} {(Lit_Other ']')}
                                                    )
                                                  ]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:mount_options)
                                                  op: PlusEqual
                                                  rhs: {(SQ <',x-systemd.automount'>)}
                                                  spids: [1407]
                                                )
                                              ]
                                              spids: [1407]
                                            )
                                          ]
                                          spids: [16777215 1403]
                                        )
                                      ]
                                      spids: [16777215 1414]
                                    )
                                    (SimpleCommand
                                      words: [
                                        {(echo)}
                                        {(-e)}
                                        {
                                          (DQ ('UUID=') 
                                            (BracedVarSub
                                              token: <VSub_Name aDRIVE_UUID>
                                              bracket_op: 
                                                (ArrayIndex
                                                  expr: (ArithWord w:{($ VSub_Name '$i')})
                                                )
                                              spids: [1424 1429]
                                            ) ('    ') 
                                            (BracedVarSub
                                              token: <VSub_Name aDRIVE_MOUNT_TARGET>
                                              bracket_op: 
                                                (ArrayIndex
                                                  expr: (ArithWord w:{($ VSub_Name '$i')})
                                                )
                                              spids: [1431 1436]
                                            ) ('    auto    ') ($ VSub_Name '$mount_options') ('    0 0')
                                          )
                                        }
                                      ]
                                      redirects: [
                                        (Redir
                                          op: <Redir_DGreat '>>'>
                                          fd: 16777215
                                          arg_word: {(DQ ($ VSub_Name '$FP_TEMP_FSTAB'))}
                                        )
                                      ]
                                    )
                                    (C 
                                      {(aDRIVE_ISAVAILABLE) (Lit_Other '[') ($ VSub_Name '$i') 
                                        (Lit_Other ']') (Lit_Other '=') (1)
                                      }
                                    )
                                    (C 
                                      {(aDRIVE_ISUUIDMOUNT) (Lit_Other '[') ($ VSub_Name '$i') 
                                        (Lit_Other ']') (Lit_Other '=') (1)
                                      }
                                    )
                                  ]
                                  spids: [1063 1081]
                                )
                              ]
                              spids: [16777215 1467]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          ops: [Op_DAmp]
                                          children: [
                                            (DParen
                                              child: 
                                                (ArithWord
                                                  w: 
                                                    {
                                                      (BracedVarSub
                                                        token: <VSub_Name aDRIVE_ISAVAILABLE>
                                                        bracket_op: 
                                                          (ArrayIndex
                                                            expr: (ArithWord w:{($ VSub_Name '$i')})
                                                          )
                                                        spids: [1479 1484]
                                                      )
                                                    }
                                                )
                                              spids: [1477 1487]
                                            )
                                            (C {(Lit_Other '[')} {(KW_Bang '!')} {(-d)} 
                                              {
                                                (DQ 
                                                  (BracedVarSub
                                                    token: <VSub_Name aDRIVE_MOUNT_TARGET>
                                                    bracket_op: 
                                                      (ArrayIndex
                                                        expr: (ArithWord w:{($ VSub_Name '$i')})
                                                      )
                                                    spids: [1499 1504]
                                                  )
                                                )
                                              } {(Lit_Other ']')}
                                            )
                                          ]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(G_DIETPI-NOTIFY)} {(2)} 
                                      {
                                        (DQ ('Creating mount folder for ') 
                                          (BracedVarSub
                                            token: <VSub_Name aDRIVE_MOUNT_TARGET>
                                            bracket_op: 
                                              (ArrayIndex
                                                expr: (ArithWord w:{($ VSub_Name '$i')})
                                              )
                                            spids: [1520 1525]
                                          )
                                        )
                                      }
                                    )
                                    (C {(mkdir)} {(-p)} 
                                      {
                                        (DQ 
                                          (BracedVarSub
                                            token: <VSub_Name aDRIVE_MOUNT_TARGET>
                                            bracket_op: 
                                              (ArrayIndex
                                                expr: (ArithWord w:{($ VSub_Name '$i')})
                                              )
                                            spids: [1534 1539]
                                          )
                                        )
                                      }
                                    )
                                  ]
                                  spids: [16777215 1510]
                                )
                              ]
                              spids: [16777215 1544]
                            )
                          ]
                          spids: [728 1548]
                        )
                    )
                    (C {(cp)} {(DQ ($ VSub_Name '$FP_TEMP_FSTAB'))} {(/etc/fstab)})
                    (C {(systemctl)} {(daemon-reload)})
                    (C {(rm)} {(DQ ($ VSub_Name '$FP_TEMP_FSTAB'))})
                    (C {(mount)} {(-a)})
                    (C {(G_DIETPI-NOTIFY)} {(2)} {(DQ ('Processing drive information, please wait...'))})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:FP_ROOTFS_SOURCE)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(df)} {(-P)})
                                          (C {(grep)} {(-m1)} {(SQ <'[[:space:]]/$'>)})
                                          (C {(awk)} {(SQ <'{print $1}'>)})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [1601 1623]
                              )
                            }
                          spids: [1600]
                        )
                      ]
                      spids: [1600]
                    )
                    (ForExpr
                      init: 
                        (BinaryAssign
                          op_id: Arith_Equal
                          left: (LhsName name:i)
                          right: (ArithWord w:{(Lit_Digits 0)})
                        )
                      cond: 
                        (ArithBinary
                          op_id: Arith_Less
                          left: (ArithVarRef name:i)
                          right: (ArithWord w:{($ VSub_Name '$MAX_DRIVES')})
                        )
                      update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i))
                      body: 
                        (DoGroup
                          children: [
                            (C 
                              {(aDRIVE_FSTYPE) (Lit_Other '[') ($ VSub_Name '$i') (Lit_Other ']') 
                                (Lit_Other '=') (SQ <'No filesystem'>)
                              }
                            )
                            (C 
                              {(aDRIVE_SIZE_TOTAL) (Lit_Other '[') ($ VSub_Name '$i') (Lit_Other ']') 
                                (Lit_Other '=') (SQ <NULL>)
                              }
                            )
                            (C 
                              {(aDRIVE_SIZE_USED) (Lit_Other '[') ($ VSub_Name '$i') (Lit_Other ']') 
                                (Lit_Other '=') (SQ <NULL>)
                              }
                            )
                            (C 
                              {(aDRIVE_SIZE_FREE) (Lit_Other '[') ($ VSub_Name '$i') (Lit_Other ']') 
                                (Lit_Other '=') (SQ <NULL>)
                              }
                            )
                            (C 
                              {(aDRIVE_SIZE_PERCENTUSED) (Lit_Other '[') ($ VSub_Name '$i') 
                                (Lit_Other ']') (Lit_Other '=') (SQ <NULL>)
                              }
                            )
                            (C 
                              {(aDRIVE_ISMOUNTED) (Lit_Other '[') ($ VSub_Name '$i') (Lit_Other ']') 
                                (Lit_Other '=') (0)
                              }
                            )
                            (C 
                              {(aDRIVE_ISFILESYSTEM) (Lit_Other '[') ($ VSub_Name '$i') 
                                (Lit_Other ']') (Lit_Other '=') (0)
                              }
                            )
                            (C 
                              {(aDRIVE_ISREADONLY_FSTAB) (Lit_Other '[') ($ VSub_Name '$i') 
                                (Lit_Other ']') (Lit_Other '=') (0)
                              }
                            )
                            (C 
                              {(aDRIVE_ISREADONLY_CURRENTLY) (Lit_Other '[') ($ VSub_Name '$i') 
                                (Lit_Other ']') (Lit_Other '=') (0)
                              }
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:cmd_scrape_string)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (C {(blkid)} 
                                                {
                                                  (DQ 
                                                    (BracedVarSub
                                                      token: <VSub_Name aDRIVE_MOUNT_SOURCE>
                                                      bracket_op: 
                                                        (ArrayIndex
                                                          expr: (ArithWord w:{($ VSub_Name '$i')})
                                                        )
                                                      spids: [1746 1751]
                                                    )
                                                  )
                                                } {(-s)} {(TYPE)} {(-o)} {(value)}
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [1742 1761]
                                      )
                                    }
                                  spids: [1741]
                                )
                              ]
                              spids: [1741]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(-n)} 
                                          {(DQ ($ VSub_Name '$cmd_scrape_string'))} {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C 
                                      {(aDRIVE_ISFILESYSTEM) (Lit_Other '[') ($ VSub_Name '$i') 
                                        (Lit_Other ']') (Lit_Other '=') (1)
                                      }
                                    )
                                    (C 
                                      {(aDRIVE_FSTYPE) (Lit_Other '[') ($ VSub_Name '$i') 
                                        (Lit_Other ']') (Lit_Other '=') (DQ ($ VSub_Name '$cmd_scrape_string'))
                                      }
                                    )
                                  ]
                                  spids: [16777215 1777]
                                )
                              ]
                              spids: [16777215 1800]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:cmd_scrape_string)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {(df)} {(-Ph)})
                                                  (C {(grep)} {(-m1)} 
                                                    {
                                                      (DQ 
                                                        (BracedVarSub
                                                          token: <VSub_Name aDRIVE_MOUNT_TARGET>
                                                          bracket_op: 
                                                            (ArrayIndex
                                                              expr: (ArithWord w:{($ VSub_Name '$i')})
                                                            )
                                                          spids: [1821 1826]
                                                        ) (Lit_Other '$')
                                                      )
                                                    }
                                                  )
                                                  (C {(awk)} {(SQ <'{print $2}'>)})
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [1809 1837]
                                      )
                                    }
                                  spids: [1808]
                                )
                              ]
                              spids: [1808]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(-n)} 
                                          {(DQ ($ VSub_Name '$cmd_scrape_string'))} {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C 
                                      {(aDRIVE_SIZE_TOTAL) (Lit_Other '[') ($ VSub_Name '$i') 
                                        (Lit_Other ']') (Lit_Other '=') (DQ ($ VSub_Name '$cmd_scrape_string'))
                                      }
                                    )
                                    (C 
                                      {(aDRIVE_ISMOUNTED) (Lit_Other '[') ($ VSub_Name '$i') 
                                        (Lit_Other ']') (Lit_Other '=') (1)
                                      }
                                    )
                                  ]
                                  spids: [16777215 1853]
                                )
                              ]
                              spids: [16777215 1876]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:cmd_scrape_string)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {(df)} {(-Ph)})
                                                  (C {(grep)} {(-m1)} 
                                                    {
                                                      (DQ 
                                                        (BracedVarSub
                                                          token: <VSub_Name aDRIVE_MOUNT_TARGET>
                                                          bracket_op: 
                                                            (ArrayIndex
                                                              expr: (ArithWord w:{($ VSub_Name '$i')})
                                                            )
                                                          spids: [1893 1898]
                                                        ) (Lit_Other '$')
                                                      )
                                                    }
                                                  )
                                                  (C {(awk)} {(SQ <'{print $3}'>)})
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [1881 1909]
                                      )
                                    }
                                  spids: [1880]
                                )
                              ]
                              spids: [1880]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(-n)} 
                                          {(DQ ($ VSub_Name '$cmd_scrape_string'))} {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C 
                                      {(aDRIVE_SIZE_USED) (Lit_Other '[') ($ VSub_Name '$i') 
                                        (Lit_Other ']') (Lit_Other '=') (DQ ($ VSub_Name '$cmd_scrape_string'))
                                      }
                                    )
                                  ]
                                  spids: [16777215 1925]
                                )
                              ]
                              spids: [16777215 1940]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:cmd_scrape_string)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {(df)} {(-Ph)})
                                                  (C {(grep)} {(-m1)} 
                                                    {
                                                      (DQ 
                                                        (BracedVarSub
                                                          token: <VSub_Name aDRIVE_MOUNT_TARGET>
                                                          bracket_op: 
                                                            (ArrayIndex
                                                              expr: (ArithWord w:{($ VSub_Name '$i')})
                                                            )
                                                          spids: [1957 1962]
                                                        ) (Lit_Other '$')
                                                      )
                                                    }
                                                  )
                                                  (C {(awk)} {(SQ <'{print $4}'>)})
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [1945 1973]
                                      )
                                    }
                                  spids: [1944]
                                )
                              ]
                              spids: [1944]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(-n)} 
                                          {(DQ ($ VSub_Name '$cmd_scrape_string'))} {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C 
                                      {(aDRIVE_SIZE_FREE) (Lit_Other '[') ($ VSub_Name '$i') 
                                        (Lit_Other ']') (Lit_Other '=') (DQ ($ VSub_Name '$cmd_scrape_string'))
                                      }
                                    )
                                  ]
                                  spids: [16777215 1989]
                                )
                              ]
                              spids: [16777215 2004]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:cmd_scrape_string)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {(df)} {(-Ph)})
                                                  (C {(grep)} {(-m1)} 
                                                    {
                                                      (DQ 
                                                        (BracedVarSub
                                                          token: <VSub_Name aDRIVE_MOUNT_TARGET>
                                                          bracket_op: 
                                                            (ArrayIndex
                                                              expr: (ArithWord w:{($ VSub_Name '$i')})
                                                            )
                                                          spids: [2021 2026]
                                                        ) (Lit_Other '$')
                                                      )
                                                    }
                                                  )
                                                  (C {(awk)} {(SQ <'{print $5}'>)})
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [2009 2037]
                                      )
                                    }
                                  spids: [2008]
                                )
                              ]
                              spids: [2008]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(-n)} 
                                          {(DQ ($ VSub_Name '$cmd_scrape_string'))} {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C 
                                      {(aDRIVE_SIZE_PERCENTUSED) (Lit_Other '[') ($ VSub_Name '$i') 
                                        (Lit_Other ']') (Lit_Other '=') (DQ ($ VSub_Name '$cmd_scrape_string'))
                                      }
                                    )
                                  ]
                                  spids: [16777215 2053]
                                )
                              ]
                              spids: [16777215 2068]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:cmd_scrape_string)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {(grep)} {(-m1)} 
                                                    {
                                                      (DQ ('[[:space:]]') 
                                                        (BracedVarSub
                                                          token: <VSub_Name aDRIVE_MOUNT_TARGET>
                                                          bracket_op: 
                                                            (ArrayIndex
                                                              expr: (ArithWord w:{($ VSub_Name '$i')})
                                                            )
                                                          spids: [2080 2085]
                                                        ) ('[[:space:]]')
                                                      )
                                                    } {(/etc/fstab)}
                                                  )
                                                  (C {(grep)} {(-m1)} {(SQ <',ro,'>)})
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [2073 2100]
                                      )
                                    }
                                  spids: [2072]
                                )
                              ]
                              spids: [2072]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(-n)} 
                                          {(DQ ($ VSub_Name '$cmd_scrape_string'))} {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C 
                                      {(aDRIVE_ISREADONLY_FSTAB) (Lit_Other '[') ($ VSub_Name '$i') 
                                        (Lit_Other ']') (Lit_Other '=') (1)
                                      }
                                    )
                                  ]
                                  spids: [16777215 2116]
                                )
                              ]
                              spids: [16777215 2129]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:cmd_scrape_string)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {(grep)} 
                                                    {
                                                      (DQ ('[[:space:]]') 
                                                        (BracedVarSub
                                                          token: <VSub_Name aDRIVE_MOUNT_TARGET>
                                                          bracket_op: 
                                                            (ArrayIndex
                                                              expr: (ArithWord w:{($ VSub_Name '$i')})
                                                            )
                                                          spids: [2155 2160]
                                                        ) ('[[:space:]]')
                                                      )
                                                    } {(/proc/mounts)}
                                                  )
                                                  (C {(grep)} {(-m1)} {(SQ <'[[:space:]]ro,'>)})
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [2150 2175]
                                      )
                                    }
                                  spids: [2149]
                                )
                              ]
                              spids: [2149]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(-n)} 
                                          {(DQ ($ VSub_Name '$cmd_scrape_string'))} {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C 
                                      {(aDRIVE_ISREADONLY_CURRENTLY) (Lit_Other '[') 
                                        ($ VSub_Name '$i') (Lit_Other ']') (Lit_Other '=') (1)
                                      }
                                    )
                                  ]
                                  spids: [16777215 2191]
                                )
                              ]
                              spids: [16777215 2204]
                            )
                          ]
                          spids: [1650 2208]
                        )
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithUnary
                                      op_id: Arith_Bang
                                      child: (ArithWord w:{($ VSub_Name '$ROOTFS_RW_CHECKED')})
                                    )
                                  spids: [2218 2225]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:ROOTFS_RW_CHECKED)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [2232]
                                )
                              ]
                              spids: [2232]
                            )
                            (ForExpr
                              init: 
                                (BinaryAssign
                                  op_id: Arith_Equal
                                  left: (LhsName name:i)
                                  right: (ArithWord w:{(Lit_Digits 0)})
                                )
                              cond: 
                                (ArithBinary
                                  op_id: Arith_Less
                                  left: (ArithVarRef name:i)
                                  right: (ArithWord w:{($ VSub_Name '$MAX_DRIVES')})
                                )
                              update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i))
                              body: 
                                (DoGroup
                                  children: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  ops: [Op_DAmp]
                                                  children: [
                                                    (C {(Lit_Other '[')} 
                                                      {
                                                        (DQ 
                                                          (BracedVarSub
                                                            token: <VSub_Name aDRIVE_MOUNT_TARGET>
                                                            bracket_op: 
                                                              (ArrayIndex
                                                                expr: 
                                                                  (ArithWord
                                                                    w: {($ VSub_Name '$i')}
                                                                  )
                                                              )
                                                            spids: [2265 2270]
                                                          )
                                                        )
                                                      } {(Lit_Other '=')} {(DQ (/))} {(Lit_Other ']')}
                                                    )
                                                    (DParen
                                                      child: 
                                                        (ArithWord
                                                          w: 
                                                            {
                                                              (BracedVarSub
                                                                token: 
                                                                  <VSub_Name 
aDRIVE_ISREADONLY_CURRENTLY
                                                                  >
                                                                bracket_op: 
                                                                  (ArrayIndex
                                                                    expr: 
                                                                      (ArithWord
                                                                        w: {($ VSub_Name '$i')}
                                                                      )
                                                                  )
                                                                spids: [2286 2291]
                                                              )
                                                            }
                                                        )
                                                      spids: [2284 2294]
                                                    )
                                                  ]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:INDEX_DRIVE_BEING_EDITED)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$i')}
                                                  spids: [2301]
                                                )
                                              ]
                                              spids: [2301]
                                            )
                                            (C {(G_DIETPI-NOTIFY)} {(2)} 
                                              {
                                                (DQ ('RootFS is currently set to R/O. ') 
                                                  ($ VSub_Name '$PROGRAM_NAME') (' requires R/W access.')
                                                )
                                              }
                                            )
                                            (C {(whiptail)} {(--title)} {(DQ ('RootFS is R/O'))} 
                                              {(--yesno)} 
                                              {
                                                (DQ 
                                                  (
"RootFS is currently set to 'Read Only'. DietPi-Drive_Manager requires 'Read Write' access to function."
                                                  ) (Lit_Other '\\') (n) (Lit_Other '\\') ("nWould you like to renable 'Read Write' access on RootFS?")
                                                )
                                              } {(--backtitle)} {(DQ ($ VSub_Name '$PROGRAM_NAME'))} {(--defaultno)} {(14)} {(75)}
                                            )
                                            (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: [2351 2360]
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(Toggle_WriteMode)})
                                                    (C {(G_DIETPI-NOTIFY)} {(0)} 
                                                      {(DQ ('RootFS R/W now enabled.'))}
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:init)
                                                          op: Equal
                                                          rhs: {(1)}
                                                          spids: [2384]
                                                        )
                                                      ]
                                                      spids: [2384]
                                                    )
                                                  ]
                                                  spids: [16777215 2363]
                                                )
                                              ]
                                              else_action: [
                                                (C {(/DietPi/dietpi/dietpi-services)} {(start)})
                                                (C {(G_DIETPI-NOTIFY)} {(0)} 
                                                  {(DQ ('RootFS currently set to R/O.'))}
                                                )
                                                (C {(G_DIETPI-NOTIFY)} {(2)} 
                                                  {
                                                    (DQ 
                                                      (
"Please run 'dietpi-drive_manager' again, if you want to re-enable RootFS R/W."
                                                      )
                                                    )
                                                  }
                                                )
                                                (C {(Destroy)})
                                                (ControlFlow
                                                  token: <ControlFlow_Exit exit>
                                                )
                                              ]
                                              spids: [2389 2425]
                                            )
                                          ]
                                          spids: [16777215 2297]
                                        )
                                      ]
                                      spids: [16777215 2429]
                                    )
                                  ]
                                  spids: [2256 2433]
                                )
                            )
                          ]
                          spids: [16777215 2228]
                        )
                      ]
                      spids: [16777215 2437]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:FP_USERDATA_CURRENT)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (C {(readlink)} {(-f)} {($ VSub_Name '$G_FP_DIETPI_USERDATA')})
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [2446 2452]
                              )
                            }
                          spids: [2445]
                        )
                      ]
                      spids: [2445]
                    )
                  ]
                  spids: [522 2456]
                )
            )
          ]
          spids: [497]
        )
      spids: [494 497]
    )
    (FuncDef
      name: Return_Drive_Without_Partitions
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: {($ VSub_Number '$1')}
                              right: {(/dev/sd) (Lit_Other '*')}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Pipeline
                      children: [
                        (C {(echo)} {(-e)} {(DQ ($ VSub_Number '$1'))})
                        (C {(sed)} {(SQ <'s/[0-9]$//g'>)})
                      ]
                      negated: F
                    )
                  ]
                  spids: [16777215 2489]
                )
              ]
              else_action: [
                (Pipeline
                  children: [
                    (C {(echo)} {(-e)} {(DQ ($ VSub_Number '$1'))})
                    (C {(sed)} {(SQ <'s/p[0-9]$//g'>)})
                  ]
                  negated: F
                )
              ]
              spids: [2515 2537]
            )
          ]
          spids: [2467]
        )
      spids: [2464 2467]
    )
    (FuncDef
      name: Run_Format
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:drivepath_no_partitions)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {(Return_Drive_Without_Partitions)} 
                                {
                                  (BracedVarSub
                                    token: <VSub_Name aDRIVE_MOUNT_SOURCE>
                                    bracket_op: 
                                      (ArrayIndex
                                        expr: (ArithWord w:{($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')})
                                      )
                                    spids: [2558 2563]
                                  )
                                }
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [2555 2564]
                      )
                    }
                  spids: [2554]
                )
              ]
              spids: [2552]
            )
            (C {(umount)} 
              {
                (BracedVarSub
                  token: <VSub_Name aDRIVE_MOUNT_SOURCE>
                  bracket_op: 
                    (ArrayIndex
                      expr: (ArithWord w:{($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')})
                    )
                  spids: [2574 2579]
                )
              }
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: (ArithWord w:{($ VSub_Name '$FORMAT_RECREATE_PARTITION_TABLE')})
                          spids: [2585 2590]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(dd)} {(Lit_VarLike 'if=') (/dev/zero)} 
                      {(Lit_VarLike 'of=') ($ VSub_Name '$drivepath_no_partitions')} {(Lit_VarLike 'bs=') (5M)} {(Lit_VarLike 'count=') (1)}
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:parition_table_type)
                          op: Equal
                          rhs: {(SQ <msdos>)}
                          spids: [2623]
                        )
                      ]
                      spids: [2621]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: (ArithWord w:{($ VSub_Name '$FORMAT_GPT')})
                                  spids: [2631 2636]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:parition_table_type)
                                  op: Equal
                                  rhs: {(SQ <gpt>)}
                                  spids: [2643]
                                )
                              ]
                              spids: [2643]
                            )
                          ]
                          spids: [16777215 2639]
                        )
                      ]
                      spids: [16777215 2650]
                    )
                    (C {(G_DIETPI-NOTIFY)} {(2)} 
                      {(DQ ('Partition table target: ') ($ VSub_Name '$parition_table_type'))}
                    )
                    (C {(parted)} {(-s)} {(DQ ($ VSub_Name '$drivepath_no_partitions'))} {(mklabel)} 
                      {(DQ ($ VSub_Name '$parition_table_type'))}
                    )
                    (C {(parted)} {(-a)} {(optimal)} {(DQ ($ VSub_Name '$drivepath_no_partitions'))} 
                      {(mkpart)} {(primary)} {(0) (Lit_Other '%')} {(100) (Lit_Other '%')}
                    )
                    (C {(sleep)} {(1)})
                    (C {(umount)} 
                      {
                        (BracedVarSub
                          token: <VSub_Name aDRIVE_MOUNT_SOURCE>
                          bracket_op: 
                            (ArrayIndex
                              expr: (ArithWord w:{($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')})
                            )
                          spids: [2726 2731]
                        )
                      }
                    )
                  ]
                  spids: [16777215 2593]
                )
              ]
              else_action: [
                (C {(dd)} {(Lit_VarLike 'if=') (/dev/zero)} 
                  {(Lit_VarLike 'of=') 
                    (BracedVarSub
                      token: <VSub_Name aDRIVE_MOUNT_SOURCE>
                      bracket_op: 
                        (ArrayIndex
                          expr: (ArithWord w:{($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')})
                        )
                      spids: [2749 2754]
                    )
                  } {(Lit_VarLike 'bs=') (5M)} {(Lit_VarLike 'count=') (1)}
                )
              ]
              spids: [2735 2764]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$FORMAT_FILESYSTEM_TYPE')})
                              right: (ArithWord w:{(Lit_Digits 0)})
                            )
                          spids: [2774 2783]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(mkfs.ext4)} {(-F)} 
                      {
                        (BracedVarSub
                          token: <VSub_Name aDRIVE_MOUNT_SOURCE>
                          bracket_op: 
                            (ArrayIndex
                              expr: (ArithWord w:{($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')})
                            )
                          spids: [2798 2803]
                        )
                      }
                    )
                    (C {(resize2fs)} 
                      {
                        (BracedVarSub
                          token: <VSub_Name aDRIVE_MOUNT_SOURCE>
                          bracket_op: 
                            (ArrayIndex
                              expr: (ArithWord w:{($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')})
                            )
                          spids: [2808 2813]
                        )
                      }
                    )
                  ]
                  spids: [16777215 2786]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$FORMAT_FILESYSTEM_TYPE')})
                              right: (ArithWord w:{(Lit_Digits 1)})
                            )
                          spids: [2823 2832]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(mkfs.ntfs)} {(-f)} {(-I)} {(-F)} 
                      {
                        (BracedVarSub
                          token: <VSub_Name aDRIVE_MOUNT_SOURCE>
                          bracket_op: 
                            (ArrayIndex
                              expr: (ArithWord w:{($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')})
                            )
                          spids: [2851 2856]
                        )
                      }
                    )
                  ]
                  spids: [2821 2835]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$FORMAT_FILESYSTEM_TYPE')})
                              right: (ArithWord w:{(Lit_Digits 2)})
                            )
                          spids: [2866 2875]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(mkfs.vfat)} {(-I)} 
                      {
                        (BracedVarSub
                          token: <VSub_Name aDRIVE_MOUNT_SOURCE>
                          bracket_op: 
                            (ArrayIndex
                              expr: (ArithWord w:{($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')})
                            )
                          spids: [2890 2895]
                        )
                      }
                    )
                  ]
                  spids: [2864 2878]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$FORMAT_FILESYSTEM_TYPE')})
                              right: (ArithWord w:{(Lit_Digits 3)})
                            )
                          spids: [2905 2914]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(mkfs.hfsplus)} 
                      {
                        (BracedVarSub
                          token: <VSub_Name aDRIVE_MOUNT_SOURCE>
                          bracket_op: 
                            (ArrayIndex
                              expr: (ArithWord w:{($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')})
                            )
                          spids: [2923 2928]
                        )
                      }
                    )
                  ]
                  spids: [2903 2917]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$FORMAT_FILESYSTEM_TYPE')})
                              right: (ArithWord w:{(Lit_Digits 4)})
                            )
                          spids: [2938 2947]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(mkfs.btrfs)} {(-f)} 
                      {
                        (BracedVarSub
                          token: <VSub_Name aDRIVE_MOUNT_SOURCE>
                          bracket_op: 
                            (ArrayIndex
                              expr: (ArithWord w:{($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')})
                            )
                          spids: [2962 2967]
                        )
                      }
                    )
                  ]
                  spids: [2936 2950]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$FORMAT_FILESYSTEM_TYPE')})
                              right: (ArithWord w:{(Lit_Digits 5)})
                            )
                          spids: [2977 2986]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(mkfs.f2fs)} 
                      {
                        (BracedVarSub
                          token: <VSub_Name aDRIVE_MOUNT_SOURCE>
                          bracket_op: 
                            (ArrayIndex
                              expr: (ArithWord w:{($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')})
                            )
                          spids: [2995 3000]
                        )
                      }
                    )
                  ]
                  spids: [2975 2989]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$FORMAT_FILESYSTEM_TYPE')})
                              right: (ArithWord w:{(Lit_Digits 6)})
                            )
                          spids: [3010 3019]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(mkfs.exfat)} 
                      {
                        (BracedVarSub
                          token: <VSub_Name aDRIVE_MOUNT_SOURCE>
                          bracket_op: 
                            (ArrayIndex
                              expr: (ArithWord w:{($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')})
                            )
                          spids: [3028 3033]
                        )
                      }
                    )
                  ]
                  spids: [3008 3022]
                )
              ]
              spids: [16777215 3037]
            )
            (C {(rm)} {(-R)} 
              {
                (DQ 
                  (BracedVarSub
                    token: <VSub_Name aDRIVE_MOUNT_TARGET>
                    bracket_op: 
                      (ArrayIndex
                        expr: (ArithWord w:{($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')})
                      )
                    spids: [3050 3055]
                  )
                )
              }
            )
            (C {(sed)} {(-i)} 
              {
                (DQ (Lit_Other '\\') ('@') 
                  (BracedVarSub
                    token: <VSub_Name aDRIVE_MOUNT_TARGET>
                    bracket_op: 
                      (ArrayIndex
                        expr: (ArithWord w:{($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')})
                      )
                    spids: [3066 3071]
                  ) ('[[:space:]]@d')
                )
              } {(/etc/fstab)}
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:FORMAT_COMPLETED)
                  op: Equal
                  rhs: {(1)}
                  spids: [3079]
                )
              ]
              spids: [3079]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:FORMAT_PREVIOUS_MOUNT_SOURCE)
                  op: Equal
                  rhs: 
                    {
                      (BracedVarSub
                        token: <VSub_Name aDRIVE_MOUNT_SOURCE>
                        bracket_op: 
                          (ArrayIndex
                            expr: (ArithWord w:{($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')})
                          )
                        spids: [3084 3089]
                      )
                    }
                  spids: [3083]
                )
              ]
              spids: [3083]
            )
            (C {(Init_Drives_and_Refresh)})
          ]
          spids: [2548]
        )
      spids: [2545 2548]
    )
    (FuncDef
      name: RootFS_Move
      body: 
        (BraceGroup
          children: [
            (C {(cp)} {(/etc/fstab)} {(/etc/fstab.bak)})
            (ForExpr
              init: 
                (BinaryAssign
                  op_id: Arith_Equal
                  left: (LhsName name:i)
                  right: (ArithWord w:{(Lit_Digits 0)})
                )
              cond: 
                (ArithBinary
                  op_id: Arith_Less
                  left: (ArithVarRef name:i)
                  right: (ArithWord w:{($ VSub_Name '$MAX_DRIVES')})
                )
              update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i))
              body: 
                (DoGroup
                  children: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} 
                                  {
                                    (DQ 
                                      (BracedVarSub
                                        token: <VSub_Name aDRIVE_MOUNT_SOURCE>
                                        bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$i')}))
                                        spids: [3155 3160]
                                      )
                                    )
                                  } {(Lit_Other '=')} {(DQ ($ VSub_Name '$FORMAT_PREVIOUS_MOUNT_SOURCE'))} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:INDEX_DRIVE_BEING_EDITED)
                                  op: Equal
                                  rhs: {($ VSub_Name '$i')}
                                  spids: [3176]
                                )
                              ]
                              spids: [3176]
                            )
                            (ControlFlow token:<ControlFlow_Break break>)
                          ]
                          spids: [16777215 3172]
                        )
                      ]
                      spids: [16777215 3184]
                    )
                  ]
                  spids: [3146 3188]
                )
            )
            (C {(sed)} {(-i)} 
              {
                (DQ (Lit_Other '\\') ('@') 
                  (BracedVarSub
                    token: <VSub_Name aDRIVE_MOUNT_TARGET>
                    bracket_op: 
                      (ArrayIndex
                        expr: (ArithWord w:{($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')})
                      )
                    spids: [3203 3208]
                  ) ('[[:space:]]@d')
                )
              } {(/etc/fstab)}
            )
            (C {(sed)} {(-i)} 
              {
                (DQ (Lit_Other '\\') ('@[[:space:]]/[[:space:]]@c UUID=') 
                  (BracedVarSub
                    token: <VSub_Name aDRIVE_UUID>
                    bracket_op: 
                      (ArrayIndex
                        expr: (ArithWord w:{($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')})
                      )
                    spids: [3227 3232]
                  ) (' / auto defaults,noatime 0 1')
                )
              } {(/etc/fstab)}
            )
            (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 <'^rsync[[[:space:]]'>)}
                                                  )
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [3250 3266]
                                      )
                                    }
                                )
                            )
                          spids: [3246 3269]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(G_DIETPI-NOTIFY)} {(2)} 
                      {(DQ ('Installing Rsync, please wait...') (Lit_Other '\\') (n))}
                    )
                    (C {(sleep)} {(1)})
                    (C {(G_AGI)} {(rsync)})
                  ]
                  spids: [16777215 3272]
                )
              ]
              spids: [16777215 3299]
            )
            (C {(rsync)} {(-paxv)} {(--exclude)} {(SQ <'/lost+found'>)} {(/)} 
              {
                (DQ 
                  (BracedVarSub
                    token: <VSub_Name aDRIVE_MOUNT_TARGET>
                    bracket_op: 
                      (ArrayIndex
                        expr: (ArithWord w:{($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')})
                      )
                    spids: [3316 3321]
                  )
                ) (/)
              }
            )
            (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: [3328 3337]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(G_DIETPI-NOTIFY)} {(1)} 
                      {(SQ <'Rsync has failed, RootFS transfer has been aborted.'>)}
                    )
                    (C {(cp)} {(/etc/fstab.bak)} {(/etc/fstab)})
                    (C {(Destroy)})
                    (ControlFlow token:<ControlFlow_Exit exit>)
                  ]
                  spids: [16777215 3340]
                )
              ]
              spids: [16777215 3372]
            )
            (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: [3382 3391]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:rootfs_current)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(awk)} {(SQ <'{for(i=1;i<=NF;i++) {print $i} }'>)} 
                                            {(/boot/cmdline.txt)}
                                          )
                                          (C {(grep)} {(-m1)} {(SQ <'root='>)})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [3405 3423]
                              )
                            }
                          spids: [3404]
                        )
                      ]
                      spids: [3402]
                    )
                    (C {(sed)} {(-i)} 
                      {
                        (DQ ('s#') ($ VSub_Name '$rootfs_current') ('#root=PARTUUID=') 
                          (BracedVarSub
                            token: <VSub_Name aDRIVE_PART_UUID>
                            bracket_op: 
                              (ArrayIndex
                                expr: (ArithWord w:{($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')})
                              )
                            spids: [3434 3439]
                          ) ('#g')
                        )
                      } {(/boot/cmdline.txt)}
                    )
                    (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 <'[[:space:]]rootdelay='>)} {(/boot/cmdline.txt)}
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_CommandSub '$('>
                                                spids: [3457 3469]
                                              )
                                            }
                                        )
                                    )
                                  spids: [3453 3472]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(sed)} {(-i)} {(DQ ('s#console=tty1#console=tty1 rootdelay=10#g'))} 
                              {(/boot/cmdline.txt)}
                            )
                          ]
                          spids: [16777215 3475]
                        )
                      ]
                      spids: [16777215 3491]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:rootfstype_current)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(awk)} {(SQ <'{for(i=1;i<=NF;i++) {print $i} }'>)} 
                                            {(/boot/cmdline.txt)}
                                          )
                                          (C {(grep)} {(-m1)} {(SQ <'rootfstype='>)})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [3502 3520]
                              )
                            }
                          spids: [3501]
                        )
                      ]
                      spids: [3499]
                    )
                    (C {(sed)} {(-i)} 
                      {
                        (DQ ('s#') ($ VSub_Name '$rootfstype_current') ('#rootfstype=') 
                          (BracedVarSub
                            token: <VSub_Name aDRIVE_FSTYPE>
                            bracket_op: 
                              (ArrayIndex
                                expr: (ArithWord w:{($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')})
                              )
                            spids: [3531 3536]
                          ) ('#g')
                        )
                      } {(/boot/cmdline.txt)}
                    )
                  ]
                  spids: [16777215 3394]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (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 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: [3550 3575]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:rootfs_current)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(awk)} {(SQ <'{for(i=1;i<=NF;i++) {print $i} }'>)} 
                                            {(/DietPi/boot.ini)}
                                          )
                                          (C {(grep)} {(-m1)} {(SQ <'root='>)})
                                          (C {(sed)} {(SQ <'s/\\"//'>)})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [3589 3615]
                              )
                            }
                          spids: [3588]
                        )
                      ]
                      spids: [3586]
                    )
                    (C {(sed)} {(-i)} 
                      {
                        (DQ ('s#') ($ VSub_Name '$rootfs_current') ('#root=UUID=') 
                          (BracedVarSub
                            token: <VSub_Name aDRIVE_UUID>
                            bracket_op: 
                              (ArrayIndex
                                expr: (ArithWord w:{($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')})
                              )
                            spids: [3626 3631]
                          ) ('#g')
                        )
                      } {(/DietPi/boot.ini)}
                    )
                  ]
                  spids: [3548 3578]
                )
              ]
              spids: [16777215 3639]
            )
            (C {(systemctl)} {(daemon-reload)})
            (C {(whiptail)} {(--title)} {(DQ ('RootFS transfer completed'))} {(--msgbox)} 
              {(DQ ('RootFS transfer completed. Press enter to reboot system.'))} {(--backtitle)} {(DQ ($ VSub_Name '$PROGRAM_NAME'))} {(8)} {(60)}
            )
            (C {(reboot)})
          ]
          spids: [3104]
        )
      spids: [3101 3104]
    )
    (FuncDef
      name: RootFS_Low_Free_Space_Check
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:free_space_limit)
                  op: Equal
                  rhs: {(500)}
                  spids: [3696]
                )
              ]
              spids: [3694]
            )
            (C {(G_DIETPI-NOTIFY)} {(2)} 
              {(SQ <'Checking available free space on RootFS, please wait...'>)}
            )
            (ForExpr
              init: 
                (BinaryAssign
                  op_id: Arith_Equal
                  left: (LhsName name:i)
                  right: (ArithWord w:{(Lit_Digits 0)})
                )
              cond: 
                (ArithBinary
                  op_id: Arith_Less
                  left: (ArithVarRef name:i)
                  right: (ArithWord w:{($ VSub_Name '$MAX_DRIVES')})
                )
              update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i))
              body: 
                (DoGroup
                  children: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(DQ (/))} {(Lit_Other '=')} 
                                  {
                                    (DQ 
                                      (BracedVarSub
                                        token: <VSub_Name aDRIVE_MOUNT_TARGET>
                                        bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$i')}))
                                        spids: [3749 3754]
                                      )
                                    )
                                  } {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:INDEX_DRIVE_BEING_EDITED)
                                  op: Equal
                                  rhs: {($ VSub_Name '$i')}
                                  spids: [3764]
                                )
                              ]
                              spids: [3764]
                            )
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:free_space_current)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {(df)} {(-B)} {(M)})
                                                  (C {(grep)} {(-m1)} 
                                                    {
                                                      (DQ 
                                                        (BracedVarSub
                                                          token: <VSub_Name aDRIVE_MOUNT_TARGET>
                                                          bracket_op: 
                                                            (ArrayIndex
                                                              expr: (ArithWord w:{($ VSub_Name '$i')})
                                                            )
                                                          spids: [3790 3795]
                                                        ) (Lit_Other '$')
                                                      )
                                                    }
                                                  )
                                                  (C {(awk)} {(SQ <'{print $4}'>)})
                                                  (C {(sed)} {(SQ <'s/[^0-9]//g'>)})
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [3776 3814]
                                      )
                                    }
                                  spids: [3775]
                                )
                              ]
                              spids: [3773]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DParen
                                          child: 
                                            (ArithBinary
                                              op_id: Arith_Less
                                              left: (ArithWord w:{($ VSub_Name '$free_space_current')})
                                              right: (ArithWord w:{($ VSub_Name '$free_space_limit')})
                                            )
                                          spids: [3820 3829]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_Local
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:message)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ('Error:') (Lit_Other '\\') (n) (Lit_Other '\\') 
                                                ('nAvailable free space on RootFS is low (') ($ VSub_Name '$free_space_current') 
                                                (
' MB). To prevent potential issues due to running out of free space, this script will now be terminated.'
                                                ) (Lit_Other '\\') (n) (Lit_Other '\\') ('nPlease free up at least ') ($ VSub_Name '$free_space_limit') 
                                                (' MB of free space, then try again.')
                                              )
                                            }
                                          spids: [3838]
                                        )
                                      ]
                                      spids: [3836]
                                    )
                                    (C {(whiptail)} {(--title)} {(DQ ('Insufficient free space'))} 
                                      {(--msgbox)} {(DQ ($ VSub_Name '$message'))} {(--backtitle)} {(DQ ($ VSub_Name '$PROGRAM_NAME'))} {(14)} {(70)}
                                    )
                                    (C {(G_DIETPI-NOTIFY)} {(1)} 
                                      {
                                        (DQ ('Insufficient free space on RootFS. ') 
                                          ($ VSub_Name '$free_space_current') (' MB available, ') ($ VSub_Name '$free_space_limit') (' MB required')
                                        )
                                      }
                                    )
                                    (C {(G_DIETPI-NOTIFY)} {(1)} {(SQ <Aborting>)})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:EXIT_CODE)
                                          op: Equal
                                          rhs: {(1)}
                                          spids: [3910]
                                        )
                                      ]
                                      spids: [3910]
                                    )
                                  ]
                                  spids: [16777215 3832]
                                )
                              ]
                              else_action: [
                                (C {(G_DIETPI-NOTIFY)} {(0)} 
                                  {
                                    (DQ ($ VSub_Name '$free_space_current') (' MB available, ') 
                                      ($ VSub_Name '$free_space_limit') (' MB required')
                                    )
                                  }
                                )
                              ]
                              spids: [3915 3932]
                            )
                            (ControlFlow token:<ControlFlow_Break break>)
                          ]
                          spids: [16777215 3760]
                        )
                      ]
                      spids: [16777215 3940]
                    )
                  ]
                  spids: [3734 3944]
                )
            )
          ]
          spids: [3686]
        )
      spids: [3683 3686]
    )
    (FuncDef
      name: RootFS_RW_Check
      body: 
        (BraceGroup
          children: [
            (C {(G_DIETPI-NOTIFY)} {(2)} {(DQ ('Checking RootFS R/W access. Please wait...'))})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithWord
                              w: 
                                {
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [
                                          (Pipeline
                                            children: [
                                              (C {(mount)})
                                              (C {(grep)} {(-m1)} {(SQ <'[[:space:]]/[[:space:]]'>)})
                                              (C {(grep)} {(-ci)} {(-m1)} {(SQ <'(ro,'>)})
                                            ]
                                            negated: F
                                          )
                                        ]
                                      )
                                    left_token: <Left_CommandSub '$('>
                                    spids: [4009 4033]
                                  )
                                }
                            )
                          spids: [4007 4036]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(G_DIETPI-NOTIFY)} {(1)} {(DQ ('RootFS is currently set to R/O.'))})
                    (C {(G_DIETPI-NOTIFY)} {(2)} 
                      {
                        (DQ 
                          (
"DietPi requires RootFS R/W access. Please run 'dietpi-drive_manager' to re-enable."
                          ) (Lit_Other '\\') (n)
                        )
                      }
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:EXIT_CODE)
                          op: Equal
                          rhs: {(1)}
                          spids: [4063]
                        )
                      ]
                      spids: [4063]
                    )
                  ]
                  spids: [16777215 4039]
                )
              ]
              else_action: [
                (C {(G_DIETPI-NOTIFY)} {(0)} {(DQ ('RootFS R/W access.') (Lit_Other '\\') (n))})
              ]
              spids: [4068 4084]
            )
          ]
          spids: [3960]
        )
      spids: [3957 3960]
    )
    (FuncDef
      name: Toggle_WriteMode
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:line_number)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(grep)} {(-m1)} {(-n)} 
                                    {
                                      (DQ ('[[:space:]]') 
                                        (BracedVarSub
                                          token: <VSub_Name aDRIVE_MOUNT_TARGET>
                                          bracket_op: 
                                            (ArrayIndex
                                              expr: 
                                                (ArithWord
                                                  w: {($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')}
                                                )
                                            )
                                          spids: [4111 4116]
                                        ) ('[[:space:]]')
                                      )
                                    } {(/etc/fstab)}
                                  )
                                  (C {(cut)} {(-f1)} {(-d) (Lit_Other ':')})
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [4102 4129]
                      )
                    }
                  spids: [4101]
                )
              ]
              spids: [4099]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:exit_status) op:Equal rhs:{(0)} spids:[4134])]
              spids: [4132]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:message_result) op:Equal rhs:{(0)} spids:[4140])]
              spids: [4138]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DPipe
                              left: 
                                (ArithWord
                                  w: 
                                    {
                                      (BracedVarSub
                                        token: <VSub_Name aDRIVE_ISREADONLY_FSTAB>
                                        bracket_op: 
                                          (ArrayIndex
                                            expr: 
                                              (ArithWord
                                                w: {($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')}
                                              )
                                          )
                                        spids: [4148 4153]
                                      )
                                    }
                                )
                              right: 
                                (ArithWord
                                  w: 
                                    {
                                      (BracedVarSub
                                        token: <VSub_Name aDRIVE_ISREADONLY_CURRENTLY>
                                        bracket_op: 
                                          (ArrayIndex
                                            expr: 
                                              (ArithWord
                                                w: {($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')}
                                              )
                                          )
                                        spids: [4157 4162]
                                      )
                                    }
                                )
                            )
                          spids: [4146 4165]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:message_result)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (SimpleCommand
                                        words: [
                                          {(mount)}
                                          {(-v)}
                                          {(-o)}
                                          {(rw) (Lit_Comma ',') (remount)}
                                          {
                                            (DQ 
                                              (BracedVarSub
                                                token: <VSub_Name aDRIVE_MOUNT_SOURCE>
                                                bracket_op: 
                                                  (ArrayIndex
                                                    expr: 
                                                      (ArithWord
                                                        w: {($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')}
                                                      )
                                                  )
                                                spids: [4185 4190]
                                              )
                                            )
                                          }
                                        ]
                                        redirects: [
                                          (Redir
                                            op: <Redir_GreatAnd '2>&'>
                                            fd: 2
                                            arg_word: {(1)}
                                          )
                                        ]
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [4173 4195]
                              )
                            }
                          spids: [4172]
                        )
                      ]
                      spids: [4172]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:exit_status)
                          op: Equal
                          rhs: {($ VSub_QMark '$?')}
                          spids: [4198]
                        )
                      ]
                      spids: [4198]
                    )
                    (C {(sed)} {(-i)} 
                      {(DQ (${ VSub_Name line_number) ('s/[[:space:]]defaults,ro,/ defaults,/'))} {(/etc/fstab)}
                    )
                  ]
                  spids: [16777215 4168]
                )
              ]
              else_action: [
                (C {(sed)} {(-i)} 
                  {(DQ (${ VSub_Name line_number) ('s/[[:space:]]defaults,/ defaults,ro,/'))} {(/etc/fstab)}
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:message_result)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (SimpleCommand
                                    words: [
                                      {(mount)}
                                      {(-v)}
                                      {(-o)}
                                      {(ro) (Lit_Comma ',') (remount)}
                                      {
                                        (DQ 
                                          (BracedVarSub
                                            token: <VSub_Name aDRIVE_MOUNT_SOURCE>
                                            bracket_op: 
                                              (ArrayIndex
                                                expr: 
                                                  (ArithWord
                                                    w: {($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')}
                                                  )
                                              )
                                            spids: [4254 4259]
                                          )
                                        )
                                      }
                                    ]
                                    redirects: [(Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)})]
                                  )
                                ]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [4242 4264]
                          )
                        }
                      spids: [4241]
                    )
                  ]
                  spids: [4241]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:exit_status)
                      op: Equal
                      rhs: {($ VSub_QMark '$?')}
                      spids: [4267]
                    )
                  ]
                  spids: [4267]
                )
              ]
              spids: [4222 4272]
            )
            (C {(systemctl)} {(daemon-reload)})
            (C {(mount)} {(-a)})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_NEqual
                              left: (ArithWord w:{($ VSub_Name '$exit_status')})
                              right: (ArithWord w:{(Lit_Digits 0)})
                            )
                          spids: [4289 4298]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(whiptail)} {(--title)} {(DQ ('Failed to apply now'))} {(--msgbox)} 
                      {
                        (DQ ('Due to:') (Lit_Other '\\') ('n - ') ($ VSub_Name '$message_result') 
                          (Lit_Other '\\') (n) (Lit_Other '\\') ('nIf you have set to read only, this will be active on next reboot.')
                        )
                      } {(--backtitle)} {(DQ ($ VSub_Name '$PROGRAM_NAME'))} {(14)} {(70)}
                    )
                  ]
                  spids: [16777215 4301]
                )
              ]
              spids: [16777215 4338]
            )
          ]
          spids: [4095]
        )
      spids: [4092 4095]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:TARGETMENUID) op:Equal rhs:{(0)} spids:[4346])]
      spids: [4346]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:MENU_LASTITEM) op:Equal rhs:{(SQ )} spids:[4350])]
      spids: [4350]
    )
    (FuncDef
      name: Menu_Main_Drive_Manager
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:whiptail_menu_array)
                  op: Equal
                  rhs: {(ArrayLiteralPart)}
                  spids: [4369]
                )
              ]
              spids: [4367]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:drive_available)
                  op: Equal
                  rhs: {(0)}
                  spids: [4381]
                )
              ]
              spids: [4379]
            )
            (ForExpr
              init: 
                (BinaryAssign
                  op_id: Arith_Equal
                  left: (LhsName name:i)
                  right: (ArithWord w:{(Lit_Digits 0)})
                )
              cond: 
                (ArithBinary
                  op_id: Arith_Less
                  left: (ArithVarRef name:i)
                  right: (ArithWord w:{($ VSub_Name '$MAX_DRIVES')})
                )
              update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i))
              body: 
                (DoGroup
                  children: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:drive_available)
                          op: Equal
                          rhs: {(1)}
                          spids: [4408]
                        )
                      ]
                      spids: [4408]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithWord
                                      w: 
                                        {
                                          (BracedVarSub
                                            token: <VSub_Name aDRIVE_ISAVAILABLE>
                                            bracket_op: 
                                              (ArrayIndex
                                                expr: (ArithWord w:{($ VSub_Name '$i')})
                                              )
                                            spids: [4417 4422]
                                          )
                                        }
                                    )
                                  spids: [4415 4425]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DParen
                                          child: 
                                            (ArithWord
                                              w: 
                                                {
                                                  (CommandSubPart
                                                    command_list: 
                                                      (CommandList
                                                        children: [
                                                          (Pipeline
                                                            children: [
                                                              (C {(echo)} {(-e)} 
                                                                {
                                                                  (DQ 
                                                                    (BracedVarSub
                                                                      token: 
                                                                        <VSub_Name 
aDRIVE_MOUNT_SOURCE
                                                                        >
                                                                      bracket_op: 
                                                                        (ArrayIndex
                                                                          expr: 
                                                                            (ArithWord
                                                                              w: {($ VSub_Name '$i')}
                                                                            )
                                                                        )
                                                                      spids: [4446 4451]
                                                                    )
                                                                  )
                                                                }
                                                              )
                                                              (C {(grep)} {(-ci)} {(-m1)} {(SQ <'1$'>)})
                                                            ]
                                                            negated: F
                                                          )
                                                        ]
                                                      )
                                                    left_token: <Left_CommandSub '$('>
                                                    spids: [4440 4465]
                                                  )
                                                }
                                            )
                                          spids: [4438 4468]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_Local
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:drivepath_no_partitions)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (C {(Return_Drive_Without_Partitions)} 
                                                        {
                                                          (BracedVarSub
                                                            token: <VSub_Name aDRIVE_MOUNT_SOURCE>
                                                            bracket_op: 
                                                              (ArrayIndex
                                                                expr: 
                                                                  (ArithWord
                                                                    w: {($ VSub_Name '$i')}
                                                                  )
                                                              )
                                                            spids: [4481 4486]
                                                          )
                                                        }
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_CommandSub '$('>
                                                spids: [4478 4487]
                                              )
                                            }
                                          spids: [4477]
                                        )
                                      ]
                                      spids: [4475]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:whiptail_menu_array)
                                          op: PlusEqual
                                          rhs: 
                                            {
                                              (ArrayLiteralPart
                                                words: [
                                                  {(SQ )}
                                                  {
                                                    (DQ ('\xe2\x94\x80(') 
                                                      ($ VSub_Name '$drivepath_no_partitions') 
                                                      (
')\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\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'
                                                      )
                                                    )
                                                  }
                                                ]
                                              )
                                            }
                                          spids: [4490]
                                        )
                                      ]
                                      spids: [4490]
                                    )
                                  ]
                                  spids: [16777215 4471]
                                )
                              ]
                              spids: [16777215 4504]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DParen
                                          child: 
                                            (ArithWord
                                              w: 
                                                {
                                                  (BracedVarSub
                                                    token: <VSub_Name aDRIVE_ISMOUNTED>
                                                    bracket_op: 
                                                      (ArrayIndex
                                                        expr: (ArithWord w:{($ VSub_Name '$i')})
                                                      )
                                                    spids: [4516 4521]
                                                  )
                                                }
                                            )
                                          spids: [4514 4524]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:whiptail_menu_array)
                                          op: PlusEqual
                                          rhs: 
                                            {
                                              (ArrayLiteralPart
                                                words: [
                                                  {
                                                    (DQ 
                                                      (BracedVarSub
                                                        token: <VSub_Name aDRIVE_MOUNT_TARGET>
                                                        bracket_op: 
                                                          (ArrayIndex
                                                            expr: (ArithWord w:{($ VSub_Name '$i')})
                                                          )
                                                        spids: [4538 4543]
                                                      )
                                                    )
                                                  }
                                                  {
                                                    (DQ (': ') 
                                                      (BracedVarSub
                                                        token: <VSub_Name aDRIVE_MOUNT_SOURCE>
                                                        bracket_op: 
                                                          (ArrayIndex
                                                            expr: (ArithWord w:{($ VSub_Name '$i')})
                                                          )
                                                        spids: [4548 4553]
                                                      ) (' | ') 
                                                      (BracedVarSub
                                                        token: <VSub_Name aDRIVE_FSTYPE>
                                                        bracket_op: 
                                                          (ArrayIndex
                                                            expr: (ArithWord w:{($ VSub_Name '$i')})
                                                          )
                                                        spids: [4555 4560]
                                                      ) (' | Size: ') 
                                                      (BracedVarSub
                                                        token: <VSub_Name aDRIVE_SIZE_TOTAL>
                                                        bracket_op: 
                                                          (ArrayIndex
                                                            expr: (ArithWord w:{($ VSub_Name '$i')})
                                                          )
                                                        spids: [4562 4567]
                                                      ) (' | Used: ') 
                                                      (BracedVarSub
                                                        token: <VSub_Name aDRIVE_SIZE_USED>
                                                        bracket_op: 
                                                          (ArrayIndex
                                                            expr: (ArithWord w:{($ VSub_Name '$i')})
                                                          )
                                                        spids: [4569 4574]
                                                      ) (' (') 
                                                      (BracedVarSub
                                                        token: <VSub_Name aDRIVE_SIZE_PERCENTUSED>
                                                        bracket_op: 
                                                          (ArrayIndex
                                                            expr: (ArithWord w:{($ VSub_Name '$i')})
                                                          )
                                                        spids: [4576 4581]
                                                      ) (')')
                                                    )
                                                  }
                                                ]
                                              )
                                            }
                                          spids: [4535]
                                        )
                                      ]
                                      spids: [4535]
                                    )
                                  ]
                                  spids: [16777215 4527]
                                )
                              ]
                              else_action: [
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (DParen
                                              child: 
                                                (ArithUnary
                                                  op_id: Arith_Bang
                                                  child: 
                                                    (ArithWord
                                                      w: 
                                                        {
                                                          (BracedVarSub
                                                            token: <VSub_Name aDRIVE_ISFILESYSTEM>
                                                            bracket_op: 
                                                              (ArrayIndex
                                                                expr: 
                                                                  (ArithWord
                                                                    w: {($ VSub_Name '$i')}
                                                                  )
                                                              )
                                                            spids: [4606 4611]
                                                          )
                                                        }
                                                    )
                                                )
                                              spids: [4602 4614]
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:whiptail_menu_array)
                                              op: PlusEqual
                                              rhs: 
                                                {
                                                  (ArrayLiteralPart
                                                    words: [
                                                      {
                                                        (DQ 
                                                          (BracedVarSub
                                                            token: <VSub_Name aDRIVE_MOUNT_TARGET>
                                                            bracket_op: 
                                                              (ArrayIndex
                                                                expr: 
                                                                  (ArithWord
                                                                    w: {($ VSub_Name '$i')}
                                                                  )
                                                              )
                                                            spids: [4624 4629]
                                                          )
                                                        )
                                                      }
                                                      {
                                                        (DQ (': ') 
                                                          (BracedVarSub
                                                            token: <VSub_Name aDRIVE_MOUNT_SOURCE>
                                                            bracket_op: 
                                                              (ArrayIndex
                                                                expr: 
                                                                  (ArithWord
                                                                    w: {($ VSub_Name '$i')}
                                                                  )
                                                              )
                                                            spids: [4634 4639]
                                                          ) (' | No filesystem / format required')
                                                        )
                                                      }
                                                    ]
                                                  )
                                                }
                                              spids: [4621]
                                            )
                                          ]
                                          spids: [4621]
                                        )
                                      ]
                                      spids: [16777215 4617]
                                    )
                                  ]
                                  else_action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:whiptail_menu_array)
                                          op: PlusEqual
                                          rhs: 
                                            {
                                              (ArrayLiteralPart
                                                words: [
                                                  {
                                                    (DQ 
                                                      (BracedVarSub
                                                        token: <VSub_Name aDRIVE_MOUNT_TARGET>
                                                        bracket_op: 
                                                          (ArrayIndex
                                                            expr: (ArithWord w:{($ VSub_Name '$i')})
                                                          )
                                                        spids: [4657 4662]
                                                      )
                                                    )
                                                  }
                                                  {
                                                    (DQ (': ') 
                                                      (BracedVarSub
                                                        token: <VSub_Name aDRIVE_MOUNT_SOURCE>
                                                        bracket_op: 
                                                          (ArrayIndex
                                                            expr: (ArithWord w:{($ VSub_Name '$i')})
                                                          )
                                                        spids: [4667 4672]
                                                      ) (' | ') 
                                                      (BracedVarSub
                                                        token: <VSub_Name aDRIVE_FSTYPE>
                                                        bracket_op: 
                                                          (ArrayIndex
                                                            expr: (ArithWord w:{($ VSub_Name '$i')})
                                                          )
                                                        spids: [4674 4679]
                                                      ) (' | Not mounted')
                                                    )
                                                  }
                                                ]
                                              )
                                            }
                                          spids: [4654]
                                        )
                                      ]
                                      spids: [4654]
                                    )
                                  ]
                                  spids: [4650 4686]
                                )
                              ]
                              spids: [4592 4690]
                            )
                          ]
                          spids: [16777215 4428]
                        )
                      ]
                      spids: [16777215 4694]
                    )
                  ]
                  spids: [4404 4698]
                )
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:whiptail_menu_array)
                  op: PlusEqual
                  rhs: 
                    {
                      (ArrayLiteralPart
                        words: [
                          {(DQ )}
                          {
                            (DQ 
                              (
'\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\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'
                              )
                            )
                          }
                        ]
                      )
                    }
                  spids: [4702]
                )
              ]
              spids: [4702]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithUnary
                              op_id: Arith_Bang
                              child: (ArithWord w:{($ VSub_Name '$drive_available')})
                            )
                          spids: [4716 4723]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:whiptail_menu_array)
                          op: PlusEqual
                          rhs: 
                            {
                              (ArrayLiteralPart
                                words: [
                                  {(DQ (Refresh))}
                                  {(DQ (': No drives found. Insert a drive and select this option'))}
                                ]
                              )
                            }
                          spids: [4730]
                        )
                      ]
                      spids: [4730]
                    )
                  ]
                  spids: [16777215 4726]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:whiptail_menu_array)
                      op: PlusEqual
                      rhs: 
                        {
                          (ArrayLiteralPart
                            words: [{(DQ (Refresh))} {(DQ (': Scan for recently added/removed drives'))}]
                          )
                        }
                      spids: [4747]
                    )
                  ]
                  spids: [4747]
                )
              ]
              spids: [4743 4760]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:userdata_location_text)
                  op: Equal
                  rhs: {(DQ ('RootFS (') ($ VSub_Name '$FP_USERDATA_CURRENT') (')'))}
                  spids: [4770]
                )
              ]
              spids: [4768]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$FP_USERDATA_CURRENT'))} 
                          {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$G_FP_DIETPI_USERDATA'))} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:userdata_location_text)
                          op: Equal
                          rhs: {(DQ ('USB (') ($ VSub_Name '$FP_USERDATA_CURRENT') (')'))}
                          spids: [4801]
                        )
                      ]
                      spids: [4801]
                    )
                  ]
                  spids: [16777215 4797]
                )
              ]
              spids: [16777215 4810]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:WHIP_TITLE)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$PROGRAM_NAME'))}
                  spids: [4814]
                )
              ]
              spids: [4814]
            )
            (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 drive to see available options.') 
                                      (Lit_Other '\\') ('n - User data location: ') ($ VSub_Name '$userdata_location_text')
                                    )
                                  }
                                  {(--default-item)}
                                  {(DQ ($ VSub_Name '$MENU_LASTITEM'))}
                                  {(--cancel-button)}
                                  {(DQ (Exit))}
                                  {(--backtitle)}
                                  {(DQ ($ VSub_Name '$PROGRAM_NAME'))}
                                  {(20)}
                                  {(110)}
                                  {(11)}
                                  {
                                    (DQ 
                                      (BracedVarSub
                                        token: <VSub_Name whiptail_menu_array>
                                        bracket_op: (WholeArray op_id:Lit_At)
                                        spids: [4864 4869]
                                      )
                                    )
                                  }
                                ]
                                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: [4821 4880]
                      )
                    }
                  spids: [4820]
                )
              ]
              spids: [4820]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:CHOICE)
                  op: Equal
                  rhs: {($ VSub_QMark '$?')}
                  spids: [4884]
                )
              ]
              spids: [4884]
            )
            (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: [4897 4906]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:MENU_LASTITEM)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$OPTION'))}
                          spids: [4913]
                        )
                      ]
                      spids: [4913]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$OPTION'))} {(Lit_Other '=')} 
                                  {(DQ (Refresh))} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(Init_Drives_and_Refresh)})]
                          spids: [16777215 4941]
                        )
                      ]
                      else_action: [
                        (C {(Init_Drives_and_Refresh)})
                        (ForExpr
                          init: 
                            (BinaryAssign
                              op_id: Arith_Equal
                              left: (LhsName name:i)
                              right: (ArithWord w:{(Lit_Digits 0)})
                            )
                          cond: 
                            (ArithBinary
                              op_id: Arith_Less
                              left: (ArithVarRef name:i)
                              right: (ArithWord w:{($ VSub_Name '$MAX_DRIVES')})
                            )
                          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 aDRIVE_MOUNT_TARGET>
                                                    bracket_op: 
                                                      (ArrayIndex
                                                        expr: (ArithWord w:{($ VSub_Name '$i')})
                                                      )
                                                    spids: [4999 5004]
                                                  )
                                                )
                                              } {(Lit_Other ']')}
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (If
                                          arms: [
                                            (if_arm
                                              cond: [
                                                (Sentence
                                                  child: 
                                                    (DParen
                                                      child: 
                                                        (ArithWord
                                                          w: 
                                                            {
                                                              (BracedVarSub
                                                                token: <VSub_Name aDRIVE_ISAVAILABLE>
                                                                bracket_op: 
                                                                  (ArrayIndex
                                                                    expr: 
                                                                      (ArithWord
                                                                        w: {($ VSub_Name '$i')}
                                                                      )
                                                                  )
                                                                spids: [5022 5027]
                                                              )
                                                            }
                                                        )
                                                      spids: [5020 5030]
                                                    )
                                                  terminator: <Op_Semi ';'>
                                                )
                                              ]
                                              action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:INDEX_DRIVE_BEING_EDITED)
                                                      op: Equal
                                                      rhs: {($ VSub_Name '$i')}
                                                      spids: [5037]
                                                    )
                                                  ]
                                                  spids: [5037]
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:TARGETMENUID)
                                                      op: Equal
                                                      rhs: {(1)}
                                                      spids: [5041]
                                                    )
                                                  ]
                                                  spids: [5041]
                                                )
                                                (ControlFlow
                                                  token: <ControlFlow_Break break>
                                                )
                                              ]
                                              spids: [16777215 5033]
                                            )
                                            (if_arm
                                              cond: [
                                                (Sentence
                                                  child: 
                                                    (C {(Lit_Other '[')} {(-n)} 
                                                      {(DQ ($ VSub_Name '$OPTION'))} {(Lit_Other ']')}
                                                    )
                                                  terminator: <Op_Semi ';'>
                                                )
                                              ]
                                              action: [
                                                (C {(whiptail)} {(--title)} {(DQ ('Info: No drive'))} 
                                                  {(--msgbox)} {(DQ ('This drive is no longer available'))} {(--backtitle)} {(DQ ($ VSub_Name '$PROGRAM_NAME'))} {(8)} 
                                                  {(60)}
                                                )
                                                (ControlFlow
                                                  token: <ControlFlow_Break break>
                                                )
                                              ]
                                              spids: [5049 5062]
                                            )
                                          ]
                                          spids: [16777215 5095]
                                        )
                                      ]
                                      spids: [16777215 5010]
                                    )
                                  ]
                                  spids: [16777215 5099]
                                )
                              ]
                              spids: [4984 5103]
                            )
                        )
                      ]
                      spids: [4953 5107]
                    )
                  ]
                  spids: [16777215 4909]
                )
              ]
              else_action: [(C {(Menu_Exit)})]
              spids: [5115 5123]
            )
          ]
          spids: [4359]
        )
      spids: [4356 4359]
    )
    (FuncDef
      name: Menu_Drive_Manager_Edit_Drive
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:TARGETMENUID) op:Equal rhs:{(1)} spids:[5142])]
              spids: [5142]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:partition_contains_userdata)
                  op: Equal
                  rhs: {(0)}
                  spids: [5149]
                )
              ]
              spids: [5147]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:whiptail_desc)
                  op: Equal
                  rhs: {(ArrayLiteralPart)}
                  spids: [5160]
                )
              ]
              spids: [5158]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:whiptail_menu_array)
                  op: Equal
                  rhs: {(ArrayLiteralPart)}
                  spids: [5167]
                )
              ]
              spids: [5165]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:whiptail_desc)
                  op: PlusEqual
                  rhs: 
                    {
                      (DQ ('Mount target: ') 
                        (BracedVarSub
                          token: <VSub_Name aDRIVE_MOUNT_TARGET>
                          bracket_op: 
                            (ArrayIndex
                              expr: (ArithWord w:{($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')})
                            )
                          spids: [5176 5181]
                        ) (Lit_Other '\\') (n)
                      )
                    }
                  spids: [5173]
                )
              ]
              spids: [5173]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:whiptail_desc)
                  op: PlusEqual
                  rhs: 
                    {
                      (DQ ('Mount source: ') 
                        (BracedVarSub
                          token: <VSub_Name aDRIVE_MOUNT_SOURCE>
                          bracket_op: 
                            (ArrayIndex
                              expr: (ArithWord w:{($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')})
                            )
                          spids: [5190 5195]
                        ) (Lit_Other '\\') (n)
                      )
                    }
                  spids: [5187]
                )
              ]
              spids: [5187]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithUnary
                              op_id: Arith_Bang
                              child: 
                                (ArithWord
                                  w: 
                                    {
                                      (BracedVarSub
                                        token: <VSub_Name aDRIVE_ISFILESYSTEM>
                                        bracket_op: 
                                          (ArrayIndex
                                            expr: 
                                              (ArithWord
                                                w: {($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')}
                                              )
                                          )
                                        spids: [5212 5217]
                                      )
                                    }
                                )
                            )
                          spids: [5208 5220]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:whiptail_desc)
                          op: PlusEqual
                          rhs: {(DQ ('Status:       Drive has no filesystem and must be formatted'))}
                          spids: [5227]
                        )
                      ]
                      spids: [5227]
                    )
                  ]
                  spids: [16777215 5223]
                )
              ]
              else_action: [
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithWord
                                  w: 
                                    {
                                      (BracedVarSub
                                        token: <VSub_Name aDRIVE_ISUUIDMOUNT>
                                        bracket_op: 
                                          (ArrayIndex
                                            expr: 
                                              (ArithWord
                                                w: {($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')}
                                              )
                                          )
                                        spids: [5242 5247]
                                      )
                                    }
                                )
                              spids: [5240 5250]
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:whiptail_desc)
                              op: PlusEqual
                              rhs: 
                                {
                                  (DQ 
                                    (
"Mount method: UUID (Permanent: always mount to 'Mount Target')"
                                    ) (Lit_Other '\\') (n)
                                  )
                                }
                              spids: [5257]
                            )
                          ]
                          spids: [5257]
                        )
                      ]
                      spids: [16777215 5253]
                    )
                  ]
                  else_action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:whiptail_desc)
                          op: PlusEqual
                          rhs: 
                            {
                              (DQ 
                                (
'Mount method: /dev/sd (Warning: mount location not permanent, use UUID)'
                                ) (Lit_Other '\\') (n)
                              )
                            }
                          spids: [5270]
                        )
                      ]
                      spids: [5270]
                    )
                  ]
                  spids: [5266 5279]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:whiptail_desc)
                      op: PlusEqual
                      rhs: 
                        {
                          (DQ ('Filesystem:   ') 
                            (BracedVarSub
                              token: <VSub_Name aDRIVE_FSTYPE>
                              bracket_op: 
                                (ArrayIndex
                                  expr: (ArithWord w:{($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')})
                                )
                              spids: [5286 5291]
                            ) (Lit_Other '\\') (n)
                          )
                        }
                      spids: [5283]
                    )
                  ]
                  spids: [5283]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:whiptail_desc)
                      op: PlusEqual
                      rhs: 
                        {
                          (DQ ('UUID:         ') 
                            (BracedVarSub
                              token: <VSub_Name aDRIVE_UUID>
                              bracket_op: 
                                (ArrayIndex
                                  expr: (ArithWord w:{($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')})
                                )
                              spids: [5300 5305]
                            ) (Lit_Other '\\') (n)
                          )
                        }
                      spids: [5297]
                    )
                  ]
                  spids: [5297]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithWord
                                  w: 
                                    {
                                      (BracedVarSub
                                        token: <VSub_Name aDRIVE_ISMOUNTED>
                                        bracket_op: 
                                          (ArrayIndex
                                            expr: 
                                              (ArithWord
                                                w: {($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')}
                                              )
                                          )
                                        spids: [5316 5321]
                                      )
                                    }
                                )
                              spids: [5314 5324]
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:whiptail_desc)
                              op: PlusEqual
                              rhs: 
                                {
                                  (DQ ('Capacity:     ') 
                                    (BracedVarSub
                                      token: <VSub_Name aDRIVE_SIZE_TOTAL>
                                      bracket_op: 
                                        (ArrayIndex
                                          expr: 
                                            (ArithWord
                                              w: {($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')}
                                            )
                                        )
                                      spids: [5334 5339]
                                    ) (b) (Lit_Other '\\') (n)
                                  )
                                }
                              spids: [5331]
                            )
                          ]
                          spids: [5331]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:whiptail_desc)
                              op: PlusEqual
                              rhs: 
                                {
                                  (DQ ('Used:         ') 
                                    (BracedVarSub
                                      token: <VSub_Name aDRIVE_SIZE_USED>
                                      bracket_op: 
                                        (ArrayIndex
                                          expr: 
                                            (ArithWord
                                              w: {($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')}
                                            )
                                        )
                                      spids: [5349 5354]
                                    ) ('b (') 
                                    (BracedVarSub
                                      token: <VSub_Name aDRIVE_SIZE_PERCENTUSED>
                                      bracket_op: 
                                        (ArrayIndex
                                          expr: 
                                            (ArithWord
                                              w: {($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')}
                                            )
                                        )
                                      spids: [5356 5361]
                                    ) (')') (Lit_Other '\\') (n)
                                  )
                                }
                              spids: [5346]
                            )
                          ]
                          spids: [5346]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:whiptail_desc)
                              op: PlusEqual
                              rhs: {(DQ ('Status:       Drive is online and ready for use'))}
                              spids: [5368]
                            )
                          ]
                          spids: [5368]
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (AndOr
                                      ops: [Op_DAmp]
                                      children: [
                                        (C {(Lit_Other '[')} 
                                          {
                                            (DQ 
                                              (BracedVarSub
                                                token: <VSub_Name aDRIVE_MOUNT_TARGET>
                                                bracket_op: 
                                                  (ArrayIndex
                                                    expr: 
                                                      (ArithWord
                                                        w: {($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')}
                                                      )
                                                  )
                                                spids: [5384 5389]
                                              )
                                            )
                                          } {(KW_Bang '!') (Lit_Other '=')} {(DQ (/))} {(Lit_Other ']')}
                                        )
                                        (C {(Lit_Other '[')} 
                                          {
                                            (DQ 
                                              (BracedVarSub
                                                token: <VSub_Name aDRIVE_MOUNT_TARGET>
                                                bracket_op: 
                                                  (ArrayIndex
                                                    expr: 
                                                      (ArithWord
                                                        w: {($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')}
                                                      )
                                                  )
                                                spids: [5406 5411]
                                              )
                                            )
                                          } {(KW_Bang '!') (Lit_Other '=')} {(DQ (/boot))} {(Lit_Other ']')}
                                        )
                                      ]
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:whiptail_menu_array)
                                      op: PlusEqual
                                      rhs: 
                                        {
                                          (ArrayLiteralPart
                                            words: [
                                              {(DQ (Unmount))}
                                              {(DQ (': Allows you to physically remove the drive'))}
                                            ]
                                          )
                                        }
                                      spids: [5428]
                                    )
                                  ]
                                  spids: [5428]
                                )
                              ]
                              spids: [16777215 5424]
                            )
                          ]
                          spids: [16777215 5441]
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (AndOr
                                      ops: [Op_DPipe]
                                      children: [
                                        (Subshell
                                          child: 
                                            (AndOr
                                              ops: [Op_DAmp]
                                              children: [
                                                (C {(Lit_Other '[')} 
                                                  {
                                                    (DQ 
                                                      (BracedVarSub
                                                        token: <VSub_Name aDRIVE_MOUNT_TARGET>
                                                        bracket_op: 
                                                          (ArrayIndex
                                                            expr: 
                                                              (ArithWord
                                                                w: 
                                                                  {
                                                                    ($ VSub_Name 
'$INDEX_DRIVE_BEING_EDITED'
                                                                    )
                                                                  }
                                                              )
                                                          )
                                                        spids: [5452 5457]
                                                      )
                                                    )
                                                  } {(KW_Bang '!') (Lit_Other '=')} {(DQ (/))} {(Lit_Other ']')}
                                                )
                                                (DBracket
                                                  expr: 
                                                    (BoolBinary
                                                      op_id: BoolBinary_GlobDEqual
                                                      left: {($ VSub_Name '$FP_USERDATA_CURRENT')}
                                                      right: 
                                                        {
                                                          (DQ 
                                                            (BracedVarSub
                                                              token: <VSub_Name aDRIVE_MOUNT_TARGET>
                                                              bracket_op: 
                                                                (ArrayIndex
                                                                  expr: 
                                                                    (ArithWord
                                                                      w: 
                                                                        {
                                                                          ($ VSub_Name 
'$INDEX_DRIVE_BEING_EDITED'
                                                                          )
                                                                        }
                                                                    )
                                                                )
                                                              spids: [5478 5483]
                                                            )
                                                          ) (Lit_Other '*')
                                                        }
                                                    )
                                                )
                                              ]
                                            )
                                          spids: [5447 5489]
                                        )
                                        (Subshell
                                          child: 
                                            (AndOr
                                              ops: [Op_DAmp]
                                              children: [
                                                (C {(Lit_Other '[')} 
                                                  {
                                                    (DQ 
                                                      (BracedVarSub
                                                        token: <VSub_Name aDRIVE_MOUNT_TARGET>
                                                        bracket_op: 
                                                          (ArrayIndex
                                                            expr: 
                                                              (ArithWord
                                                                w: 
                                                                  {
                                                                    ($ VSub_Name 
'$INDEX_DRIVE_BEING_EDITED'
                                                                    )
                                                                  }
                                                              )
                                                          )
                                                        spids: [5502 5507]
                                                      )
                                                    )
                                                  } {(Lit_Other '=')} {(DQ (/))} {(Lit_Other ']')}
                                                )
                                                (C {(Lit_Other '[')} 
                                                  {(DQ ($ VSub_Name '$FP_USERDATA_CURRENT'))} {(Lit_Other '=')} {(DQ ($ VSub_Name '$G_FP_DIETPI_USERDATA'))} {(Lit_Other ']')}
                                                )
                                              ]
                                            )
                                          spids: [5497 5534]
                                        )
                                      ]
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:whiptail_menu_array)
                                      op: PlusEqual
                                      rhs: 
                                        {
                                          (ArrayLiteralPart
                                            words: [
                                              {(DQ ('User data'))}
                                              {
                                                (DQ 
                                                  (
': Your user data is currently located on this drive'
                                                  )
                                                )
                                              }
                                            ]
                                          )
                                        }
                                      spids: [5544]
                                    )
                                  ]
                                  spids: [5544]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:partition_contains_userdata)
                                      op: Equal
                                      rhs: {(1)}
                                      spids: [5556]
                                    )
                                  ]
                                  spids: [5556]
                                )
                              ]
                              spids: [16777215 5537]
                            )
                          ]
                          else_action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:whiptail_menu_array)
                                  op: PlusEqual
                                  rhs: 
                                    {
                                      (ArrayLiteralPart
                                        words: [
                                          {(DQ ('Move User data'))}
                                          {(DQ (': Move your DietPi user data to this drive'))}
                                        ]
                                      )
                                    }
                                  spids: [5565]
                                )
                              ]
                              spids: [5565]
                            )
                          ]
                          spids: [5561 5578]
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (DParen
                                      child: 
                                        (ArithWord
                                          w: 
                                            {
                                              (BracedVarSub
                                                token: <VSub_Name aDRIVE_ISUUIDMOUNT>
                                                bracket_op: 
                                                  (ArrayIndex
                                                    expr: 
                                                      (ArithWord
                                                        w: {($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')}
                                                      )
                                                  )
                                                spids: [5586 5591]
                                              )
                                            }
                                        )
                                      spids: [5584 5594]
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:whiptail_menu_array)
                                      op: PlusEqual
                                      rhs: 
                                        {
                                          (ArrayLiteralPart
                                            words: [
                                              {(DQ ('Mount Method'))}
                                              {(DQ (': Change from UUID to /dev/sd'))}
                                            ]
                                          )
                                        }
                                      spids: [5601]
                                    )
                                  ]
                                  spids: [5601]
                                )
                              ]
                              spids: [16777215 5597]
                            )
                          ]
                          else_action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:whiptail_menu_array)
                                  op: PlusEqual
                                  rhs: 
                                    {
                                      (ArrayLiteralPart
                                        words: [
                                          {(DQ ('Mount Method'))}
                                          {(DQ (': Change from /dev/sd to UUID'))}
                                        ]
                                      )
                                    }
                                  spids: [5618]
                                )
                              ]
                              spids: [5618]
                            )
                          ]
                          spids: [5614 5631]
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (DParen
                                      child: 
                                        (ArithBinary
                                          op_id: Arith_DPipe
                                          left: 
                                            (ArithWord
                                              w: 
                                                {
                                                  (BracedVarSub
                                                    token: <VSub_Name aDRIVE_ISREADONLY_FSTAB>
                                                    bracket_op: 
                                                      (ArrayIndex
                                                        expr: 
                                                          (ArithWord
                                                            w: 
                                                              {
                                                                ($ VSub_Name 
'$INDEX_DRIVE_BEING_EDITED'
                                                                )
                                                              }
                                                          )
                                                      )
                                                    spids: [5643 5648]
                                                  )
                                                }
                                            )
                                          right: 
                                            (ArithWord
                                              w: 
                                                {
                                                  (BracedVarSub
                                                    token: <VSub_Name aDRIVE_ISREADONLY_CURRENTLY>
                                                    bracket_op: 
                                                      (ArrayIndex
                                                        expr: 
                                                          (ArithWord
                                                            w: 
                                                              {
                                                                ($ VSub_Name 
'$INDEX_DRIVE_BEING_EDITED'
                                                                )
                                                              }
                                                          )
                                                      )
                                                    spids: [5652 5657]
                                                  )
                                                }
                                            )
                                        )
                                      spids: [5641 5660]
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:whiptail_menu_array)
                                      op: PlusEqual
                                      rhs: 
                                        {
                                          (ArrayLiteralPart
                                            words: [
                                              {(DQ ('Read Only'))}
                                              {(DQ (': Enabled | Select to allow R/W'))}
                                            ]
                                          )
                                        }
                                      spids: [5667]
                                    )
                                  ]
                                  spids: [5667]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:whiptail_desc)
                                      op: PlusEqual
                                      rhs: {(DQ (Lit_Other '\\') ('nRead only:    Enabled'))}
                                      spids: [5679]
                                    )
                                  ]
                                  spids: [5679]
                                )
                              ]
                              spids: [16777215 5663]
                            )
                          ]
                          else_action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:whiptail_menu_array)
                                  op: PlusEqual
                                  rhs: 
                                    {
                                      (ArrayLiteralPart
                                        words: [
                                          {(DQ ('Read Only'))}
                                          {(DQ (': Disabled | Select to set read only'))}
                                        ]
                                      )
                                    }
                                  spids: [5691]
                                )
                              ]
                              spids: [5691]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:whiptail_desc)
                                  op: PlusEqual
                                  rhs: {(DQ (Lit_Other '\\') ('nRead only:    Disabled'))}
                                  spids: [5703]
                                )
                              ]
                              spids: [5703]
                            )
                          ]
                          spids: [5687 5711]
                        )
                      ]
                      spids: [16777215 5327]
                    )
                  ]
                  else_action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:whiptail_desc)
                          op: PlusEqual
                          rhs: 
                            {
                              (DQ ('Status:       Drive is not mounted and can be unplugged') 
                                (Lit_Other '\\') (n)
                              )
                            }
                          spids: [5720]
                        )
                      ]
                      spids: [5720]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:whiptail_menu_array)
                          op: PlusEqual
                          rhs: 
                            {
                              (ArrayLiteralPart
                                words: [
                                  {(DQ (Mount))}
                                  {
                                    (DQ (': Mount the drive to ') 
                                      (BracedVarSub
                                        token: <VSub_Name aDRIVE_MOUNT_TARGET>
                                        bracket_op: 
                                          (ArrayIndex
                                            expr: 
                                              (ArithWord
                                                w: {($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')}
                                              )
                                          )
                                        spids: [5737 5742]
                                      )
                                    )
                                  }
                                ]
                              )
                            }
                          spids: [5729]
                        )
                      ]
                      spids: [5729]
                    )
                  ]
                  spids: [5716 5748]
                )
              ]
              spids: [5234 5752]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          ops: [Op_DAmp]
                          children: [
                            (C {(Lit_Other '[')} 
                              {
                                (DQ 
                                  (BracedVarSub
                                    token: <VSub_Name aDRIVE_MOUNT_TARGET>
                                    bracket_op: 
                                      (ArrayIndex
                                        expr: (ArithWord w:{($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')})
                                      )
                                    spids: [5765 5770]
                                  )
                                )
                              } {(KW_Bang '!') (Lit_Other '=')} {(DQ (/))} {(Lit_Other ']')}
                            )
                            (C {(Lit_Other '[')} 
                              {
                                (DQ 
                                  (BracedVarSub
                                    token: <VSub_Name aDRIVE_MOUNT_TARGET>
                                    bracket_op: 
                                      (ArrayIndex
                                        expr: (ArithWord w:{($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')})
                                      )
                                    spids: [5787 5792]
                                  )
                                )
                              } {(KW_Bang '!') (Lit_Other '=')} {(DQ (/boot))} {(Lit_Other ']')}
                            )
                          ]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:whiptail_menu_array)
                          op: PlusEqual
                          rhs: 
                            {
                              (ArrayLiteralPart
                                words: [
                                  {(DQ (Format))}
                                  {(DQ (': Wipe all data and format drive with ext4'))}
                                ]
                              )
                            }
                          spids: [5809]
                        )
                      ]
                      spids: [5809]
                    )
                  ]
                  spids: [16777215 5805]
                )
              ]
              spids: [16777215 5822]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          ops: [Op_DAmp]
                          children: [
                            (DBracket
                              expr: 
                                (BoolBinary
                                  op_id: BoolBinary_GlobNEqual
                                  left: 
                                    {
                                      (BracedVarSub
                                        token: <VSub_Name aDRIVE_MOUNT_SOURCE>
                                        bracket_op: 
                                          (ArrayIndex
                                            expr: 
                                              (ArithWord
                                                w: {($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')}
                                              )
                                          )
                                        spids: [5834 5839]
                                      )
                                    }
                                  right: {($ VSub_Name '$FP_ROOTFS_SOURCE')}
                                )
                            )
                            (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: [5850 5883]
                            )
                          ]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:whiptail_menu_array)
                          op: PlusEqual
                          rhs: 
                            {
                              (ArrayLiteralPart
                                words: [
                                  {(DQ ('Transfer RootFS'))}
                                  {(DQ (': Transfer RootFS to this drive'))}
                                ]
                              )
                            }
                          spids: [5890]
                        )
                      ]
                      spids: [5890]
                    )
                  ]
                  spids: [16777215 5886]
                )
              ]
              spids: [16777215 5903]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:WHIP_TITLE)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$PROGRAM_NAME'))}
                  spids: [5907]
                )
              ]
              spids: [5907]
            )
            (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 '$whiptail_desc'))}
                                  {(--default-item)}
                                  {(DQ ($ VSub_Name '$MENU_LASTITEM'))}
                                  {(--cancel-button)}
                                  {(DQ (Back))}
                                  {(--backtitle)}
                                  {(DQ ($ VSub_Name '$PROGRAM_NAME'))}
                                  {(22)}
                                  {(90)}
                                  {(6)}
                                  {
                                    (DQ 
                                      (BracedVarSub
                                        token: <VSub_Name whiptail_menu_array>
                                        bracket_op: (WholeArray op_id:Lit_At)
                                        spids: [5954 5959]
                                      )
                                    )
                                  }
                                ]
                                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: [5914 5970]
                      )
                    }
                  spids: [5913]
                )
              ]
              spids: [5913]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:CHOICE)
                  op: Equal
                  rhs: {($ VSub_QMark '$?')}
                  spids: [5974]
                )
              ]
              spids: [5974]
            )
            (C {(unset)} {(whiptail_desc)})
            (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: [5992 6001]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:MENU_LASTITEM)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$OPTION'))}
                          spids: [6008]
                        )
                      ]
                      spids: [6008]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$OPTION'))} {(Lit_Other '=')} 
                                  {(DQ (Mount))} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(sed)} {(-i)} {(-e)} 
                              {
                                (DQ (Lit_Other '\\') ('@') 
                                  (BracedVarSub
                                    token: <VSub_Name aDRIVE_MOUNT_TARGET>
                                    bracket_op: 
                                      (ArrayIndex
                                        expr: (ArithWord w:{($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')})
                                      )
                                    spids: [6049 6054]
                                  ) ('[[:space:]]@s@^#@@')
                                )
                              } {(/etc/fstab)}
                            )
                            (C {(systemctl)} {(daemon-reload)})
                            (C {(mount)} 
                              {
                                (DQ 
                                  (BracedVarSub
                                    token: <VSub_Name aDRIVE_MOUNT_TARGET>
                                    bracket_op: 
                                      (ArrayIndex
                                        expr: (ArithWord w:{($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')})
                                      )
                                    spids: [6070 6075]
                                  )
                                )
                              }
                            )
                          ]
                          spids: [16777215 6032]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$OPTION'))} {(Lit_Other '=')} 
                                  {(DQ (Unmount))} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DParen
                                          child: 
                                            (ArithWord
                                              w: {($ VSub_Name '$partition_contains_userdata')}
                                            )
                                          spids: [6107 6112]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(whiptail)} {(--title)} {(DQ ('Info: dismount prevented'))} 
                                      {(--msgbox)} 
                                      {
                                        (DQ 
                                          (
'Your DietPi user data is currently located on this drive:'
                                          ) (Lit_Other '\\') ('n - ') ($ VSub_Name '$FP_USERDATA_CURRENT') (Lit_Other '\\') (n) (Lit_Other '\\') 
                                          ('nDismounting the drive at this time is not possible.') (Lit_Other '\\') (n) (Lit_Other '\\') ('nPlease move your user data elsewhere, before trying again:') 
                                          (Lit_Other '\\') ('nhttp://dietpi.com/phpbb/viewtopic.php?f=8&t=478')
                                        )
                                      } {(--backtitle)} {(DQ ($ VSub_Name '$PROGRAM_NAME'))} {(13)} {(80)}
                                    )
                                  ]
                                  spids: [16777215 6115]
                                )
                              ]
                              else_action: [
                                (C {(umount)} 
                                  {
                                    (DQ 
                                      (BracedVarSub
                                        token: <VSub_Name aDRIVE_MOUNT_TARGET>
                                        bracket_op: 
                                          (ArrayIndex
                                            expr: 
                                              (ArithWord
                                                w: {($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')}
                                              )
                                          )
                                        spids: [6165 6170]
                                      )
                                    )
                                  }
                                )
                                (C {(sed)} {(-i)} {(-e)} 
                                  {
                                    (DQ (Lit_Other '\\') ('@') 
                                      (BracedVarSub
                                        token: <VSub_Name aDRIVE_MOUNT_TARGET>
                                        bracket_op: 
                                          (ArrayIndex
                                            expr: 
                                              (ArithWord
                                                w: {($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')}
                                              )
                                          )
                                        spids: [6188 6193]
                                      ) ('[[:space:]]@s@^#*@#@')
                                    )
                                  } {(/etc/fstab)}
                                )
                                (C {(systemctl)} {(daemon-reload)})
                              ]
                              spids: [6158 6206]
                            )
                          ]
                          spids: [6080 6097]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$OPTION'))} {(Lit_Other '=')} 
                                  {(DQ ('Mount Method'))} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} 
                                          {
                                            (DQ 
                                              (BracedVarSub
                                                token: <VSub_Name aDRIVE_UUID>
                                                bracket_op: 
                                                  (ArrayIndex
                                                    expr: 
                                                      (ArithWord
                                                        w: {($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')}
                                                      )
                                                  )
                                                spids: [6240 6245]
                                              )
                                            )
                                          } {(Lit_Other '=')} {(DQ (NULL))} {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(whiptail)} {(--title)} {(DQ ('Error: No UUID'))} {(--msgbox)} 
                                      {
                                        (DQ 
                                          (
'This drive does not have a UUID assigned. Unable to proceed.'
                                          )
                                        )
                                      } {(--backtitle)} {(DQ ($ VSub_Name '$PROGRAM_NAME'))} {(8)} {(60)}
                                    )
                                  ]
                                  spids: [16777215 6257]
                                )
                              ]
                              else_action: [
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (DParen
                                              child: 
                                                (ArithWord
                                                  w: 
                                                    {
                                                      (BracedVarSub
                                                        token: <VSub_Name aDRIVE_ISUUIDMOUNT>
                                                        bracket_op: 
                                                          (ArrayIndex
                                                            expr: 
                                                              (ArithWord
                                                                w: 
                                                                  {
                                                                    ($ VSub_Name 
'$INDEX_DRIVE_BEING_EDITED'
                                                                    )
                                                                  }
                                                              )
                                                          )
                                                        spids: [6295 6300]
                                                      )
                                                    }
                                                )
                                              spids: [6293 6303]
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (C {(sed)} {(-i)} 
                                          {
                                            (DQ ('s@^UUID=') 
                                              (BracedVarSub
                                                token: <VSub_Name aDRIVE_UUID>
                                                bracket_op: 
                                                  (ArrayIndex
                                                    expr: 
                                                      (ArithWord
                                                        w: {($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')}
                                                      )
                                                  )
                                                spids: [6316 6321]
                                              ) ('@') 
                                              (BracedVarSub
                                                token: <VSub_Name aDRIVE_MOUNT_SOURCE>
                                                bracket_op: 
                                                  (ArrayIndex
                                                    expr: 
                                                      (ArithWord
                                                        w: {($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')}
                                                      )
                                                  )
                                                spids: [6323 6328]
                                              ) ('@g')
                                            )
                                          } {(/etc/fstab)}
                                        )
                                      ]
                                      spids: [16777215 6306]
                                    )
                                  ]
                                  else_action: [
                                    (C {(sed)} {(-i)} 
                                      {
                                        (DQ ('s@^') 
                                          (BracedVarSub
                                            token: <VSub_Name aDRIVE_MOUNT_SOURCE>
                                            bracket_op: 
                                              (ArrayIndex
                                                expr: 
                                                  (ArithWord
                                                    w: {($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')}
                                                  )
                                              )
                                            spids: [6346 6351]
                                          ) ('@UUID=') 
                                          (BracedVarSub
                                            token: <VSub_Name aDRIVE_UUID>
                                            bracket_op: 
                                              (ArrayIndex
                                                expr: 
                                                  (ArithWord
                                                    w: {($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')}
                                                  )
                                              )
                                            spids: [6353 6358]
                                          ) ('@g')
                                        )
                                      } {(/etc/fstab)}
                                    )
                                  ]
                                  spids: [6336 6366]
                                )
                                (C {(systemctl)} {(daemon-reload)})
                              ]
                              spids: [6287 6380]
                            )
                          ]
                          spids: [6210 6227]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$OPTION'))} {(Lit_Other '=')} 
                                  {(DQ ('Move User data'))} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} 
                                          {
                                            (DQ 
                                              (BracedVarSub
                                                token: <VSub_Name aDRIVE_FSTYPE>
                                                bracket_op: 
                                                  (ArrayIndex
                                                    expr: 
                                                      (ArithWord
                                                        w: {($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')}
                                                      )
                                                  )
                                                spids: [6410 6415]
                                              )
                                            )
                                          } {(Lit_Other '=')} {(DQ (vfat))} {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(whiptail)} {(--title)} {(DQ ('Warning: FAT32'))} {(--msgbox)} 
                                      {
                                        (DQ ('Warning:') (Lit_Other '\\') (n) (Lit_Other '\\') 
                                          (
'nFAT32 does not support file and folder permissions. Some of the programs which use the DietPi user directory (eg: Owncloud data storage), rely on permissions to function correctly.'
                                          ) (Lit_Other '\\') (n) (Lit_Other '\\') 
                                          (
'nIf you continue with the DietPi user data move to this FAT32 drive, programs may have issues reading and writing data.'
                                          )
                                        )
                                      } {(--backtitle)} {(DQ ($ VSub_Name '$PROGRAM_NAME'))} {(14)} {(70)}
                                    )
                                  ]
                                  spids: [16777215 6427]
                                )
                              ]
                              spids: [16777215 6465]
                            )
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:target_userdata_dir)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          token: <VSub_Name aDRIVE_MOUNT_TARGET>
                                          bracket_op: 
                                            (ArrayIndex
                                              expr: 
                                                (ArithWord
                                                  w: {($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')}
                                                )
                                            )
                                          spids: [6473 6478]
                                        )
                                      )
                                    }
                                  spids: [6471]
                                )
                              ]
                              spids: [6469]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} 
                                          {
                                            (DQ 
                                              (BracedVarSub
                                                token: <VSub_Name aDRIVE_MOUNT_TARGET>
                                                bracket_op: 
                                                  (ArrayIndex
                                                    expr: 
                                                      (ArithWord
                                                        w: {($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')}
                                                      )
                                                  )
                                                spids: [6491 6496]
                                              )
                                            )
                                          } {(Lit_Other '=')} {(DQ (/))} {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:target_userdata_dir)
                                          op: Equal
                                          rhs: {(SQ </mnt>)}
                                          spids: [6512]
                                        )
                                      ]
                                      spids: [6512]
                                    )
                                  ]
                                  spids: [16777215 6508]
                                )
                              ]
                              spids: [16777215 6519]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:target_userdata_dir)
                                  op: PlusEqual
                                  rhs: {(SQ </dietpi_userdata>)}
                                  spids: [6523]
                                )
                              ]
                              spids: [6523]
                            )
                            (C {(whiptail)} {(--title)} {(DQ ('Move user data'))} {(--yesno)} 
                              {
                                (DQ ('Your user data will be moved:') (Lit_Other '\\') ('n - From: ') 
                                  ($ VSub_Name '$FP_USERDATA_CURRENT') (Lit_Other '\\') ('n - To: ') ($ VSub_Name '$target_userdata_dir') (Lit_Other '\\') (n) (Lit_Other '\\') 
                                  ('nDo you wish to continue?')
                                )
                              } {(--backtitle)} {(DQ ($ VSub_Name '$PROGRAM_NAME'))} {(--defaultno)} {(12)} {(70)}
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:CHOICE)
                                  op: Equal
                                  rhs: {($ VSub_QMark '$?')}
                                  spids: [6567]
                                )
                              ]
                              spids: [6567]
                            )
                            (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: [6573 6582]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(/DietPi/dietpi/func/dietpi-set_userdata)} 
                                      {(DQ ($ VSub_Name '$FP_USERDATA_CURRENT'))} {(DQ ($ VSub_Name '$target_userdata_dir'))}
                                    )
                                    (C {(sleep)} {(1)})
                                  ]
                                  spids: [16777215 6585]
                                )
                              ]
                              spids: [16777215 6606]
                            )
                          ]
                          spids: [6384 6401]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$OPTION'))} {(Lit_Other '=')} 
                                  {(DQ (Format))} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:FORMAT_RECREATE_PARTITION_TABLE)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [6631]
                                )
                              ]
                              spids: [6631]
                            )
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:drivepath_no_partitions)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (C {(Return_Drive_Without_Partitions)} 
                                                {
                                                  (BracedVarSub
                                                    token: <VSub_Name aDRIVE_MOUNT_SOURCE>
                                                    bracket_op: 
                                                      (ArrayIndex
                                                        expr: 
                                                          (ArithWord
                                                            w: 
                                                              {
                                                                ($ VSub_Name 
'$INDEX_DRIVE_BEING_EDITED'
                                                                )
                                                              }
                                                          )
                                                      )
                                                    spids: [6642 6647]
                                                  )
                                                }
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [6639 6648]
                                      )
                                    }
                                  spids: [6638]
                                )
                              ]
                              spids: [6636]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DParen
                                          child: 
                                            (ArithWord
                                              w: {($ VSub_Name '$partition_contains_userdata')}
                                            )
                                          spids: [6658 6663]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(whiptail)} {(--title)} {(DQ ('Info: format prevented'))} 
                                      {(--msgbox)} 
                                      {
                                        (DQ 
                                          (
'Your DietPi user data is currently located on this drive:'
                                          ) (Lit_Other '\\') ('n - ') ($ VSub_Name '$FP_USERDATA_CURRENT') (Lit_Other '\\') (n) (Lit_Other '\\') 
                                          ('nFormatting the drive at this time is not possible.') (Lit_Other '\\') (n) (Lit_Other '\\') ('nPlease move your user data elsewhere, before trying again:') 
                                          (Lit_Other '\\') ('nhttp://dietpi.com/phpbb/viewtopic.php?f=8&t=478')
                                        )
                                      } {(--backtitle)} {(DQ ($ VSub_Name '$PROGRAM_NAME'))} {(13)} {(80)}
                                    )
                                  ]
                                  spids: [16777215 6666]
                                )
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DParen
                                          child: 
                                            (ArithWord
                                              w: 
                                                {
                                                  (CommandSubPart
                                                    command_list: 
                                                      (CommandList
                                                        children: [
                                                          (Pipeline
                                                            children: [
                                                              (C {(df)} {(-Ph)})
                                                              (C {(grep)} {(-ci)} {(-m1)} 
                                                                {
                                                                  (DQ ('^') 
                                                                    ($ VSub_Name 
'$drivepath_no_partitions'
                                                                    )
                                                                  )
                                                                }
                                                              )
                                                            ]
                                                            negated: F
                                                          )
                                                        ]
                                                      )
                                                    left_token: <Left_CommandSub '$('>
                                                    spids: [6717 6735]
                                                  )
                                                }
                                            )
                                          spids: [6715 6738]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(whiptail)} {(--title)} {(DQ ('Notice:'))} {(--msgbox)} 
                                      {
                                        (DQ 
                                          (
'As DietPi will format the entire drive with 1 partition, you must unmount ALL partitions on this disk, before formatting is available.'
                                          )
                                        )
                                      } {(--backtitle)} {(DQ ($ VSub_Name '$PROGRAM_NAME'))} {(10)} {(70)}
                                    )
                                  ]
                                  spids: [6713 6741]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:TARGETMENUID)
                                      op: Equal
                                      rhs: {(2)}
                                      spids: [6775]
                                    )
                                  ]
                                  spids: [6775]
                                )
                              ]
                              spids: [6771 6780]
                            )
                          ]
                          spids: [6610 6627]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$OPTION'))} {(Lit_Other '=')} 
                                  {(DQ ('Transfer RootFS'))} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:FORMAT_RECREATE_PARTITION_TABLE)
                                  op: Equal
                                  rhs: {(0)}
                                  spids: [6809]
                                )
                              ]
                              spids: [6809]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DParen
                                          child: 
                                            (ArithWord
                                              w: 
                                                {
                                                  (CommandSubPart
                                                    command_list: 
                                                      (CommandList
                                                        children: [
                                                          (Pipeline
                                                            children: [
                                                              (C {(df)} {(-Ph)})
                                                              (C {(grep)} {(-ci)} {(-m1)} 
                                                                {
                                                                  (DQ ('^') 
                                                                    (BracedVarSub
                                                                      token: 
                                                                        <VSub_Name 
aDRIVE_MOUNT_SOURCE
                                                                        >
                                                                      bracket_op: 
                                                                        (ArrayIndex
                                                                          expr: 
                                                                            (ArithWord
                                                                              w: 
                                                                                {
                                                                                  ($ VSub_Name 
'$INDEX_DRIVE_BEING_EDITED'
                                                                                  )
                                                                                }
                                                                            )
                                                                        )
                                                                      spids: [6837 6842]
                                                                    )
                                                                  )
                                                                }
                                                              )
                                                            ]
                                                            negated: F
                                                          )
                                                        ]
                                                      )
                                                    left_token: <Left_CommandSub '$('>
                                                    spids: [6822 6844]
                                                  )
                                                }
                                            )
                                          spids: [6820 6847]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(whiptail)} {(--title)} {(DQ ('Notice:'))} {(--msgbox)} 
                                      {
                                        (DQ 
                                          (
'Partition must be unmounted, before format and RootFS transfer can begin.'
                                          ) (Lit_Other '\\') (n) (Lit_Other '\\') ('nPlease unmount the partition, then try again.')
                                        )
                                      } {(--backtitle)} {(DQ ($ VSub_Name '$PROGRAM_NAME'))} {(10)} {(70)}
                                    )
                                  ]
                                  spids: [16777215 6850]
                                )
                              ]
                              else_action: [
                                (C {(whiptail)} {(--title)} {(DQ ('Move RootFS'))} {(--yesno)} 
                                  {(--defaultno)} 
                                  {
                                    (DQ 
                                      (
'This process will move RootFS data to another location. This may increase filesystem performance when using a USB drive over SD card, however, there are some limitations:'
                                      ) (Lit_Other '\\') (n) (Lit_Other '\\') ('n - The SD/EMMC card is still required for the boot process') 
                                      (Lit_Other '\\') ('n - ALL data on the target PARTITION will be deleted') (Lit_Other '\\') (n) (Lit_Other '\\') 
                                      (
'nNB: As this feature is still in testing, we recommend you use this feature on a fresh installation only.'
                                      ) (Lit_Other '\\') (n) (Lit_Other '\\') ('nDo you wish to continue?')
                                    )
                                  } {(--backtitle)} {(DQ ($ VSub_Name '$PROGRAM_NAME'))} {(18)} {(77)}
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:CHOICE)
                                      op: Equal
                                      rhs: {($ VSub_QMark '$?')}
                                      spids: [6929]
                                    )
                                  ]
                                  spids: [6929]
                                )
                                (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: [6935 6944]
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (C {(whiptail)} {(--title)} {(DQ ('Info:'))} {(--msgbox)} 
                                          {
                                            (DQ 
                                              (
'On the next screen, you will be asked to format the target partition.'
                                              ) (Lit_Other '\\') (n) (Lit_Other '\\') 
                                              (
'nPlease see the following recommendations for RootFS target filesystem type:'
                                              ) (Lit_Other '\\') (n) (Lit_Other '\\') ('n - Odroid') (Lit_Other '\\') 
                                              ('nRootFS transfer supports ONLY EXT4 format') (Lit_Other '\\') (n) (Lit_Other '\\') ('n - RPi') (Lit_Other '\\') 
                                              ('nRootFS transfer supports EXT4, BTRFS and F2FS')
                                            )
                                          } {(--backtitle)} {(DQ ($ VSub_Name '$PROGRAM_NAME'))} {(16)} {(75)}
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:TARGETMENUID)
                                              op: Equal
                                              rhs: {(2)}
                                              spids: [6997]
                                            )
                                          ]
                                          spids: [6997]
                                        )
                                        (WhileUntil
                                          keyword: <KW_While while>
                                          cond: [
                                            (DParen
                                              child: 
                                                (ArithBinary
                                                  op_id: Arith_DEqual
                                                  left: (ArithWord w:{($ VSub_Name '$TARGETMENUID')})
                                                  right: (ArithWord w:{(Lit_Digits 2)})
                                                )
                                              spids: [7003 7012]
                                            )
                                          ]
                                          body: 
                                            (DoGroup
                                              children: [(C {(Menu_Format)})]
                                              spids: [7015 7023]
                                            )
                                        )
                                        (If
                                          arms: [
                                            (if_arm
                                              cond: [
                                                (Sentence
                                                  child: 
                                                    (DParen
                                                      child: 
                                                        (ArithWord
                                                          w: {($ VSub_Name '$FORMAT_COMPLETED')}
                                                        )
                                                      spids: [7029 7034]
                                                    )
                                                  terminator: <Op_Semi ';'>
                                                )
                                              ]
                                              action: [(C {(RootFS_Move)})]
                                              spids: [16777215 7037]
                                            )
                                          ]
                                          spids: [16777215 7045]
                                        )
                                      ]
                                      spids: [16777215 6947]
                                    )
                                  ]
                                  spids: [16777215 7049]
                                )
                              ]
                              spids: [6884 7053]
                            )
                          ]
                          spids: [6788 6805]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$OPTION'))} {(Lit_Other '=')} 
                                  {(DQ ('Read Only'))} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(Toggle_WriteMode)})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:ROOTFS_RW_CHECKED)
                                  op: Equal
                                  rhs: {(0)}
                                  spids: [7081]
                                )
                              ]
                              spids: [7081]
                            )
                          ]
                          spids: [7057 7074]
                        )
                      ]
                      spids: [16777215 7086]
                    )
                  ]
                  spids: [16777215 6004]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:TARGETMENUID)
                      op: Equal
                      rhs: {(0)}
                      spids: [7098]
                    )
                  ]
                  spids: [7098]
                )
              ]
              spids: [7094 7103]
            )
            (C {(Init_Drives_and_Refresh)})
          ]
          spids: [5134]
        )
      spids: [5131 5134]
    )
    (FuncDef
      name: Menu_Format
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:TARGETMENUID) op:Equal rhs:{(2)} spids:[7126])]
              spids: [7126]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:FORMAT_COMPLETED)
                  op: Equal
                  rhs: {(0)}
                  spids: [7131]
                )
              ]
              spids: [7131]
            )
            (C {(/DietPi/dietpi/func/dietpi-set_dphys-swapfile)} {(0)} {(/var/swap)})
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:partition_table_text)
                  op: Equal
                  rhs: {(SQ <MBR>)}
                  spids: [7150]
                )
              ]
              spids: [7148]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: (ArithWord w:{($ VSub_Name '$FORMAT_GPT')})
                          spids: [7158 7163]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:partition_table_text)
                          op: Equal
                          rhs: {(SQ <GPT>)}
                          spids: [7170]
                        )
                      ]
                      spids: [7170]
                    )
                  ]
                  spids: [16777215 7166]
                )
              ]
              spids: [16777215 7177]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:format_type_text)
                  op: Equal
                  rhs: {(SQ <EXT4>)}
                  spids: [7183]
                )
              ]
              spids: [7181]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$FORMAT_FILESYSTEM_TYPE')})
                              right: (ArithWord w:{(Lit_Digits 1)})
                            )
                          spids: [7191 7200]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:format_type_text)
                          op: Equal
                          rhs: {(SQ <NTFS>)}
                          spids: [7207]
                        )
                      ]
                      spids: [7207]
                    )
                  ]
                  spids: [16777215 7203]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$FORMAT_FILESYSTEM_TYPE')})
                              right: (ArithWord w:{(Lit_Digits 2)})
                            )
                          spids: [7216 7225]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:format_type_text)
                          op: Equal
                          rhs: {(SQ <FAT32>)}
                          spids: [7232]
                        )
                      ]
                      spids: [7232]
                    )
                  ]
                  spids: [7214 7228]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$FORMAT_FILESYSTEM_TYPE')})
                              right: (ArithWord w:{(Lit_Digits 3)})
                            )
                          spids: [7241 7250]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:format_type_text)
                          op: Equal
                          rhs: {(SQ <'HFS+'>)}
                          spids: [7257]
                        )
                      ]
                      spids: [7257]
                    )
                  ]
                  spids: [7239 7253]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$FORMAT_FILESYSTEM_TYPE')})
                              right: (ArithWord w:{(Lit_Digits 4)})
                            )
                          spids: [7266 7275]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:format_type_text)
                          op: Equal
                          rhs: {(SQ <BTRFS>)}
                          spids: [7282]
                        )
                      ]
                      spids: [7282]
                    )
                  ]
                  spids: [7264 7278]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$FORMAT_FILESYSTEM_TYPE')})
                              right: (ArithWord w:{(Lit_Digits 5)})
                            )
                          spids: [7291 7300]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:format_type_text)
                          op: Equal
                          rhs: {(SQ <F2FS>)}
                          spids: [7307]
                        )
                      ]
                      spids: [7307]
                    )
                  ]
                  spids: [7289 7303]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Name '$FORMAT_FILESYSTEM_TYPE')})
                              right: (ArithWord w:{(Lit_Digits 6)})
                            )
                          spids: [7316 7325]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:format_type_text)
                          op: Equal
                          rhs: {(SQ <EXFAT>)}
                          spids: [7332]
                        )
                      ]
                      spids: [7332]
                    )
                  ]
                  spids: [7314 7328]
                )
              ]
              spids: [16777215 7339]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:whiptail_menu_array)
                  op: Equal
                  rhs: {(ArrayLiteralPart)}
                  spids: [7345]
                )
              ]
              spids: [7343]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:whiptail_menu_array)
                  op: PlusEqual
                  rhs: 
                    {
                      (ArrayLiteralPart
                        words: [
                          {(DQ ('Partition Type'))}
                          {(DQ (': ') ($ VSub_Name '$partition_table_text'))}
                        ]
                      )
                    }
                  spids: [7351]
                )
              ]
              spids: [7351]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:whiptail_menu_array)
                  op: PlusEqual
                  rhs: 
                    {
                      (ArrayLiteralPart
                        words: [
                          {(DQ ('Filesystem Type'))}
                          {(DQ (': ') ($ VSub_Name '$format_type_text'))}
                        ]
                      )
                    }
                  spids: [7364]
                )
              ]
              spids: [7364]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:whiptail_menu_array)
                  op: PlusEqual
                  rhs: 
                    {
                      (ArrayLiteralPart
                        words: [
                          {(DQ (Format))}
                          {(DQ (': Wipe all data and format drive with current options'))}
                        ]
                      )
                    }
                  spids: [7377]
                )
              ]
              spids: [7377]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:WHIP_TITLE)
                  op: Equal
                  rhs: {(DQ ('Format Drive'))}
                  spids: [7390]
                )
              ]
              spids: [7390]
            )
            (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 formatting options:'))}
                                  {(--cancel-button)}
                                  {(DQ (Back))}
                                  {(--default-item)}
                                  {(DQ ($ VSub_Name '$MENU_LASTITEM'))}
                                  {(--backtitle)}
                                  {(DQ ($ VSub_Name '$PROGRAM_NAME'))}
                                  {(11)}
                                  {(75)}
                                  {(3)}
                                  {
                                    (DQ 
                                      (BracedVarSub
                                        token: <VSub_Name whiptail_menu_array>
                                        bracket_op: (WholeArray op_id:Lit_At)
                                        spids: [7437 7442]
                                      )
                                    )
                                  }
                                ]
                                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: [7397 7453]
                      )
                    }
                  spids: [7396]
                )
              ]
              spids: [7396]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:CHOICE)
                  op: Equal
                  rhs: {($ VSub_QMark '$?')}
                  spids: [7456]
                )
              ]
              spids: [7456]
            )
            (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: [7469 7478]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:MENU_LASTITEM)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$OPTION'))}
                          spids: [7485]
                        )
                      ]
                      spids: [7485]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$OPTION'))} {(Lit_Other '=')} 
                                  {(DQ ('Partition Type'))} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:WHIP_TITLE)
                                  op: Equal
                                  rhs: {(SQ <'Partition table?'>)}
                                  spids: [7513]
                                )
                              ]
                              spids: [7513]
                            )
                            (C {(whiptail)} {(--title)} {(DQ ($ VSub_Name '$WHIP_TITLE'))} {(--yesno)} 
                              {
                                (DQ ('Would you like to use GPT or MBR parition table?') 
                                  (Lit_Other '\\') ('n - GPT is required for 2TB+ drives') (Lit_Other '\\') ('n - MBR does NOT support 2TB+ drives') 
                                  (Lit_Other '\\') (n) (Lit_Other '\\') ('nIf unsure, select GPT (default)')
                                )
                              } {(--yes-button)} {(DQ (MBR))} {(--no-button)} {(DQ (GPT))} {(--backtitle)} 
                              {(DQ ($ VSub_Name '$PROGRAM_NAME'))} {(--defaultno)} {(12)} {(70)}
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:CHOICE)
                                  op: Equal
                                  rhs: {($ VSub_QMark '$?')}
                                  spids: [7566]
                                )
                              ]
                              spids: [7566]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:FORMAT_GPT)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [7570]
                                )
                              ]
                              spids: [7570]
                            )
                            (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: [7576 7585]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:FORMAT_GPT)
                                          op: Equal
                                          rhs: {(0)}
                                          spids: [7592]
                                        )
                                      ]
                                      spids: [7592]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:partition_table_text)
                                          op: Equal
                                          rhs: {(SQ <MBR>)}
                                          spids: [7596]
                                        )
                                      ]
                                      spids: [7596]
                                    )
                                  ]
                                  spids: [16777215 7588]
                                )
                              ]
                              spids: [16777215 7603]
                            )
                          ]
                          spids: [16777215 7509]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$OPTION'))} {(Lit_Other '=')} 
                                  {(DQ ('Filesystem Type'))} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:whiptail_menu_array)
                                  op: Equal
                                  rhs: {(ArrayLiteralPart)}
                                  spids: [7628]
                                )
                              ]
                              spids: [7628]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:whiptail_menu_array)
                                  op: PlusEqual
                                  rhs: 
                                    {
                                      (ArrayLiteralPart
                                        words: [{(DQ (0))} {(DQ (': EXT4   | Default (Recommended)'))}]
                                      )
                                    }
                                  spids: [7633]
                                )
                              ]
                              spids: [7633]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:whiptail_menu_array)
                                  op: PlusEqual
                                  rhs: 
                                    {
                                      (ArrayLiteralPart
                                        words: [
                                          {(DQ (1))}
                                          {(DQ (': NTFS   | Windows (High CPU usage)'))}
                                        ]
                                      )
                                    }
                                  spids: [7645]
                                )
                              ]
                              spids: [7645]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:whiptail_menu_array)
                                  op: PlusEqual
                                  rhs: 
                                    {
                                      (ArrayLiteralPart
                                        words: [
                                          {(DQ (2))}
                                          {(DQ (': FAT32  | All OS (4GB filesize limit)'))}
                                        ]
                                      )
                                    }
                                  spids: [7657]
                                )
                              ]
                              spids: [7657]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:whiptail_menu_array)
                                  op: PlusEqual
                                  rhs: 
                                    {
                                      (ArrayLiteralPart
                                        words: [
                                          {(DQ (3))}
                                          {
                                            (DQ 
                                              (
': HFS+   | Mac OS X (Intel Mac default file system)'
                                              )
                                            )
                                          }
                                        ]
                                      )
                                    }
                                  spids: [7669]
                                )
                              ]
                              spids: [7669]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:whiptail_menu_array)
                                  op: PlusEqual
                                  rhs: 
                                    {
                                      (ArrayLiteralPart
                                        words: [
                                          {(DQ (4))}
                                          {(DQ (': BTRFS  | Linux (Modern filesystem)'))}
                                        ]
                                      )
                                    }
                                  spids: [7681]
                                )
                              ]
                              spids: [7681]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:whiptail_menu_array)
                                  op: PlusEqual
                                  rhs: 
                                    {
                                      (ArrayLiteralPart
                                        words: [
                                          {(DQ (5))}
                                          {(DQ (': F2FS   | Linux (Flash filesystem)'))}
                                        ]
                                      )
                                    }
                                  spids: [7693]
                                )
                              ]
                              spids: [7693]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:whiptail_menu_array)
                                  op: PlusEqual
                                  rhs: 
                                    {
                                      (ArrayLiteralPart
                                        words: [
                                          {(DQ (6))}
                                          {(DQ (': exFAT  | Windows (Flash filesystem)'))}
                                        ]
                                      )
                                    }
                                  spids: [7705]
                                )
                              ]
                              spids: [7705]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:WHIP_TITLE)
                                  op: Equal
                                  rhs: {(SQ <'Filesystem Type?'>)}
                                  spids: [7718]
                                )
                              ]
                              spids: [7718]
                            )
                            (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 filesystem type for this format:'
                                                      ) (Lit_Other '\\') (n) (Lit_Other '\\') ('nEXT4:') (Lit_Other '\\') 
                                                      (
'nHighly recommended if you plan to use this drive solely on this system (dedicated drive).'
                                                      ) (Lit_Other '\\') (n) (Lit_Other '\\') ('nNTFS:') (Lit_Other '\\') 
                                                      (
'nRecommended if you plan to use this drive on a Windows system. High CPU usage during transfers.'
                                                      ) (Lit_Other '\\') (n) (Lit_Other '\\') ('nFull list of different filesystem types:') (Lit_Other '\\') 
                                                      (
'nhttp://dietpi.com/phpbb/viewtopic.php?f=8&t=673&p=2898#p2898'
                                                      )
                                                    )
                                                  }
                                                  {(--cancel-button)}
                                                  {(DQ (Back))}
                                                  {(--default-item)}
                                                  {(DQ ($ VSub_Name '$FORMAT_FILESYSTEM_TYPE'))}
                                                  {(--backtitle)}
                                                  {(DQ ($ VSub_Name '$PROGRAM_NAME'))}
                                                  {(24)}
                                                  {(70)}
                                                  {(5)}
                                                  {
                                                    (DQ 
                                                      (BracedVarSub
                                                        token: <VSub_Name whiptail_menu_array>
                                                        bracket_op: (WholeArray op_id:Lit_At)
                                                        spids: [7783 7788]
                                                      )
                                                    )
                                                  }
                                                ]
                                                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: [7725 7799]
                                      )
                                    }
                                  spids: [7724]
                                )
                              ]
                              spids: [7724]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:CHOICE)
                                  op: Equal
                                  rhs: {($ VSub_QMark '$?')}
                                  spids: [7802]
                                )
                              ]
                              spids: [7802]
                            )
                            (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: [7815 7824]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (DParen
                                                  child: 
                                                    (ArithBinary
                                                      op_id: Arith_DAmp
                                                      left: 
                                                        (ArithBinary
                                                          op_id: Arith_DEqual
                                                          left: (ArithWord w:{($ VSub_Name '$OPTION')})
                                                          right: (ArithWord w:{(Lit_Digits 3)})
                                                        )
                                                      right: 
                                                        (ArithUnary
                                                          op_id: Arith_Bang
                                                          child: 
                                                            (ArithWord
                                                              w: 
                                                                {
                                                                  (CommandSubPart
                                                                    command_list: 
                                                                      (CommandList
                                                                        children: [
                                                                          (Pipeline
                                                                            children: [
                                                                              (C {(dpkg)} 
                                                                                {(--get-selections)}
                                                                              )
                                                                              (C {(grep)} {(-ci)} 
                                                                                {(-m1)} {(SQ <'^hfsutils'>)}
                                                                              )
                                                                            ]
                                                                            negated: F
                                                                          )
                                                                        ]
                                                                      )
                                                                    left_token: 
                                                                      <Left_CommandSub '$('>
                                                                    spids: [7850 7866]
                                                                  )
                                                                }
                                                            )
                                                        )
                                                    )
                                                  spids: [7837 7869]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(G_DIETPI-NOTIFY)} {(2)} 
                                              {
                                                (DQ 
                                                  (
'Installing additional packages for HFS+ support, please wait...'
                                                  )
                                                )
                                              }
                                            )
                                            (C {(G_AGI)} {(hfsplus)} {(hfsprogs)} {(hfsutils)})
                                          ]
                                          spids: [16777215 7872]
                                        )
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (DParen
                                                  child: 
                                                    (ArithBinary
                                                      op_id: Arith_DAmp
                                                      left: 
                                                        (ArithBinary
                                                          op_id: Arith_DEqual
                                                          left: (ArithWord w:{($ VSub_Name '$OPTION')})
                                                          right: (ArithWord w:{(Lit_Digits 4)})
                                                        )
                                                      right: 
                                                        (ArithUnary
                                                          op_id: Arith_Bang
                                                          child: 
                                                            (ArithWord
                                                              w: 
                                                                {
                                                                  (CommandSubPart
                                                                    command_list: 
                                                                      (CommandList
                                                                        children: [
                                                                          (Pipeline
                                                                            children: [
                                                                              (C {(dpkg)} 
                                                                                {(--get-selections)}
                                                                              )
                                                                              (C {(grep)} {(-ci)} 
                                                                                {(-m1)} {(SQ <'^btrfs-tools'>)}
                                                                              )
                                                                            ]
                                                                            negated: F
                                                                          )
                                                                        ]
                                                                      )
                                                                    left_token: 
                                                                      <Left_CommandSub '$('>
                                                                    spids: [7914 7930]
                                                                  )
                                                                }
                                                            )
                                                        )
                                                    )
                                                  spids: [7901 7933]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(G_DIETPI-NOTIFY)} {(2)} 
                                              {
                                                (DQ 
                                                  (
'Installing additional packages for BTRFS support, please wait...'
                                                  )
                                                )
                                              }
                                            )
                                            (C {(G_AGI)} {(btrfs-tools)})
                                          ]
                                          spids: [7899 7936]
                                        )
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (DParen
                                                  child: 
                                                    (ArithBinary
                                                      op_id: Arith_DAmp
                                                      left: 
                                                        (ArithBinary
                                                          op_id: Arith_DEqual
                                                          left: (ArithWord w:{($ VSub_Name '$OPTION')})
                                                          right: (ArithWord w:{(Lit_Digits 5)})
                                                        )
                                                      right: 
                                                        (ArithUnary
                                                          op_id: Arith_Bang
                                                          child: 
                                                            (ArithWord
                                                              w: 
                                                                {
                                                                  (CommandSubPart
                                                                    command_list: 
                                                                      (CommandList
                                                                        children: [
                                                                          (Pipeline
                                                                            children: [
                                                                              (C {(dpkg)} 
                                                                                {(--get-selections)}
                                                                              )
                                                                              (C {(grep)} {(-ci)} 
                                                                                {(-m1)} {(SQ <'^f2fs-tools'>)}
                                                                              )
                                                                            ]
                                                                            negated: F
                                                                          )
                                                                        ]
                                                                      )
                                                                    left_token: 
                                                                      <Left_CommandSub '$('>
                                                                    spids: [7974 7990]
                                                                  )
                                                                }
                                                            )
                                                        )
                                                    )
                                                  spids: [7961 7993]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(G_DIETPI-NOTIFY)} {(2)} 
                                              {
                                                (DQ 
                                                  (
'Installing additional packages for F2FS support, please wait...'
                                                  )
                                                )
                                              }
                                            )
                                            (C {(G_AGI)} {(f2fs-tools)})
                                          ]
                                          spids: [7959 7996]
                                        )
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (DParen
                                                  child: 
                                                    (ArithBinary
                                                      op_id: Arith_DAmp
                                                      left: 
                                                        (ArithBinary
                                                          op_id: Arith_DEqual
                                                          left: (ArithWord w:{($ VSub_Name '$OPTION')})
                                                          right: (ArithWord w:{(Lit_Digits 6)})
                                                        )
                                                      right: 
                                                        (ArithUnary
                                                          op_id: Arith_Bang
                                                          child: 
                                                            (ArithWord
                                                              w: 
                                                                {
                                                                  (CommandSubPart
                                                                    command_list: 
                                                                      (CommandList
                                                                        children: [
                                                                          (Pipeline
                                                                            children: [
                                                                              (C {(dpkg)} 
                                                                                {(--get-selections)}
                                                                              )
                                                                              (C {(grep)} {(-ci)} 
                                                                                {(-m1)} {(SQ <'^exfat-utils'>)}
                                                                              )
                                                                            ]
                                                                            negated: F
                                                                          )
                                                                        ]
                                                                      )
                                                                    left_token: 
                                                                      <Left_CommandSub '$('>
                                                                    spids: [8034 8050]
                                                                  )
                                                                }
                                                            )
                                                        )
                                                    )
                                                  spids: [8021 8053]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(G_DIETPI-NOTIFY)} {(2)} 
                                              {
                                                (DQ 
                                                  (
'Installing additional packages for exFAT support, please wait...'
                                                  )
                                                )
                                              }
                                            )
                                            (C {(G_AGI)} {(exfat-utils)} {(exfat-fuse)})
                                          ]
                                          spids: [8019 8056]
                                        )
                                      ]
                                      spids: [16777215 8077]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:FORMAT_FILESYSTEM_TYPE)
                                          op: Equal
                                          rhs: {($ VSub_Name '$OPTION')}
                                          spids: [8081]
                                        )
                                      ]
                                      spids: [8081]
                                    )
                                  ]
                                  spids: [16777215 7827]
                                )
                              ]
                              spids: [16777215 8086]
                            )
                          ]
                          spids: [7607 7624]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$OPTION'))} {(Lit_Other '=')} 
                                  {(DQ (Format))} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:drivepath_no_partitions)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (C {(Return_Drive_Without_Partitions)} 
                                                {
                                                  (BracedVarSub
                                                    token: <VSub_Name aDRIVE_MOUNT_SOURCE>
                                                    bracket_op: 
                                                      (ArrayIndex
                                                        expr: 
                                                          (ArithWord
                                                            w: 
                                                              {
                                                                ($ VSub_Name 
'$INDEX_DRIVE_BEING_EDITED'
                                                                )
                                                              }
                                                          )
                                                      )
                                                    spids: [8117 8122]
                                                  )
                                                }
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [8114 8123]
                                      )
                                    }
                                  spids: [8113]
                                )
                              ]
                              spids: [8111]
                            )
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:text_desc)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ('Format Drive:') (Lit_Other '\\') ('n - ') 
                                        ($ VSub_Name '$drivepath_no_partitions') (Lit_Other '\\') ('n - UUID=') 
                                        (BracedVarSub
                                          token: <VSub_Name aDRIVE_UUID>
                                          bracket_op: 
                                            (ArrayIndex
                                              expr: 
                                                (ArithWord
                                                  w: {($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')}
                                                )
                                            )
                                          spids: [8136 8141]
                                        ) (Lit_Other '\\') ('n - Partition table: ') ($ VSub_Name '$partition_table_text') (Lit_Other '\\') 
                                        ('n - Filesystem type: ') ($ VSub_Name '$format_type_text') (Lit_Other '\\') (n) (Lit_Other '\\') 
                                        ('nALL DATA and PARTITIONS on this drive will be DELETED.') (Lit_Other '\\') ('nDo you wish to continue?')
                                      )
                                    }
                                  spids: [8128]
                                )
                              ]
                              spids: [8126]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DParen
                                          child: 
                                            (ArithUnary
                                              op_id: Arith_Bang
                                              child: 
                                                (ArithWord
                                                  w: 
                                                    {
                                                      ($ VSub_Name '$FORMAT_RECREATE_PARTITION_TABLE')
                                                    }
                                                )
                                            )
                                          spids: [8160 8167]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:text_desc)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ('Format partition:') (Lit_Other '\\') ('n - ') 
                                                (BracedVarSub
                                                  token: <VSub_Name aDRIVE_MOUNT_SOURCE>
                                                  bracket_op: 
                                                    (ArrayIndex
                                                      expr: 
                                                        (ArithWord
                                                          w: 
                                                            {
                                                              ($ VSub_Name 
'$INDEX_DRIVE_BEING_EDITED'
                                                              )
                                                            }
                                                        )
                                                    )
                                                  spids: [8179 8184]
                                                ) (Lit_Other '\\') ('n - UUID=') 
                                                (BracedVarSub
                                                  token: <VSub_Name aDRIVE_UUID>
                                                  bracket_op: 
                                                    (ArrayIndex
                                                      expr: 
                                                        (ArithWord
                                                          w: 
                                                            {
                                                              ($ VSub_Name 
'$INDEX_DRIVE_BEING_EDITED'
                                                              )
                                                            }
                                                        )
                                                    )
                                                  spids: [8187 8192]
                                                ) (Lit_Other '\\') ('n - Partition table: ') ($ VSub_Name '$partition_table_text') (Lit_Other '\\') 
                                                ('n - Filesystem type: ') ($ VSub_Name '$format_type_text') (Lit_Other '\\') (n) (Lit_Other '\\') 
                                                ('nALL DATA on this partition will be DELETED.') (Lit_Other '\\') ('nDo you wish to continue?')
                                              )
                                            }
                                          spids: [8174]
                                        )
                                      ]
                                      spids: [8174]
                                    )
                                  ]
                                  spids: [16777215 8170]
                                )
                              ]
                              spids: [16777215 8209]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:WHIP_TITLE)
                                  op: Equal
                                  rhs: {(SQ <'Start Format?'>)}
                                  spids: [8213]
                                )
                              ]
                              spids: [8213]
                            )
                            (C {(whiptail)} {(--title)} {(DQ ($ VSub_Name '$WHIP_TITLE'))} {(--yesno)} 
                              {(DQ ($ VSub_Name '$text_desc'))} {(--backtitle)} {(DQ ($ VSub_Name '$PROGRAM_NAME'))} {(--defaultno)} {(14)} {(75)}
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:CHOICE)
                                  op: Equal
                                  rhs: {($ VSub_QMark '$?')}
                                  spids: [8246]
                                )
                              ]
                              spids: [8246]
                            )
                            (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: [8252 8261]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(Run_Format)})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:TARGETMENUID)
                                          op: Equal
                                          rhs: {(0)}
                                          spids: [8272]
                                        )
                                      ]
                                      spids: [8272]
                                    )
                                  ]
                                  spids: [16777215 8264]
                                )
                              ]
                              spids: [16777215 8277]
                            )
                          ]
                          spids: [8090 8107]
                        )
                      ]
                      spids: [16777215 8281]
                    )
                  ]
                  spids: [16777215 7481]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:TARGETMENUID)
                      op: Equal
                      rhs: {(1)}
                      spids: [8289]
                    )
                  ]
                  spids: [8289]
                )
              ]
              spids: [8285 8294]
            )
          ]
          spids: [7122]
        )
      spids: [7119 7122]
    )
    (FuncDef
      name: Menu_Select_Mount_Location
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:whiptail_menu_array)
                  op: Equal
                  rhs: {(ArrayLiteralPart)}
                  spids: [8315]
                )
              ]
              spids: [8313]
            )
            (Pipeline
              children: [
                (C {(df)} {(-Ph)})
                (C {(tail)} {(-n)} {(Lit_Other '+') (2)})
                (C {(grep)} {(-v)} {(SQ <'tmpfs[[:space:]]'>)})
                (SimpleCommand
                  words: [{(grep)} {(-v)} {(SQ <'^udev'>)}]
                  redirects: [
                    (Redir
                      op: <Redir_Great '>'>
                      fd: 16777215
                      arg_word: {(/tmp/dietpi-drive_manager_selmnt)}
                    )
                  ]
                )
              ]
              negated: F
            )
            (WhileUntil
              keyword: <KW_While while>
              cond: [(C {(read)} {(line)})]
              body: 
                (DoGroup
                  children: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:whiptail_menu_array)
                          op: PlusEqual
                          rhs: 
                            {
                              (ArrayLiteralPart
                                words: [
                                  {
                                    (DQ 
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {(echo)} {(-e)} {($ VSub_Name '$line')})
                                                  (C {(awk)} {(SQ <'{print $6}'>)})
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [8374 8388]
                                      )
                                    )
                                  }
                                  {
                                    (DQ (': ') 
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {(echo)} {(-e)} {($ VSub_Name '$line')})
                                                  (C {(awk)} {(SQ <'{print $1}'>)})
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [8393 8407]
                                      ) (' | size: ') 
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {(echo)} {(-e)} {($ VSub_Name '$line')})
                                                  (C {(awk)} {(SQ <'{print $2}'>)})
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [8409 8423]
                                      ) (' | available: ') 
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {(echo)} {(-e)} {($ VSub_Name '$line')})
                                                  (C {(awk)} {(SQ <'{print $4}'>)})
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [8425 8439]
                                      )
                                    )
                                  }
                                ]
                              )
                            }
                          spids: [8371]
                        )
                      ]
                      spids: [8371]
                    )
                  ]
                  spids: [8367 8445]
                )
              redirects: [
                (Redir
                  op: <Redir_Less '<'>
                  fd: 16777215
                  arg_word: {(/tmp/dietpi-drive_manager_selmnt)}
                )
              ]
            )
            (C {(rm)} {(/tmp/dietpi-drive_manager_selmnt)})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:WHIP_TITLE)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$PROGRAM_NAME'))}
                  spids: [8459]
                )
              ]
              spids: [8459]
            )
            (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 mount location to use:'))}
                                  {(--default-item)}
                                  {(DQ ($ VSub_Name '$MENU_LASTITEM'))}
                                  {(--cancel-button)}
                                  {(DQ (Exit))}
                                  {(--backtitle)}
                                  {(DQ ($ VSub_Name '$PROGRAM_NAME'))}
                                  {(16)}
                                  {(110)}
                                  {(7)}
                                  {
                                    (DQ 
                                      (BracedVarSub
                                        token: <VSub_Name whiptail_menu_array>
                                        bracket_op: (WholeArray op_id:Lit_At)
                                        spids: [8506 8511]
                                      )
                                    )
                                  }
                                ]
                                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: [8466 8522]
                      )
                    }
                  spids: [8465]
                )
              ]
              spids: [8465]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:CHOICE)
                  op: Equal
                  rhs: {($ VSub_QMark '$?')}
                  spids: [8526]
                )
              ]
              spids: [8526]
            )
            (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: [8539 8548]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:drive_manager_selection)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$OPTION'))}
                          spids: [8557]
                        )
                      ]
                      spids: [8555]
                    )
                    (C {(G_DIETPI-NOTIFY)} {(0)} 
                      {(DQ ('Drive mount selected: ') ($ VSub_Name '$drive_manager_selection'))}
                    )
                    (SimpleCommand
                      words: [{(echo)} {(-e)} {(DQ ($ VSub_Name '$drive_manager_selection'))}]
                      redirects: [
                        (Redir
                          op: <Redir_Great '>'>
                          fd: 16777215
                          arg_word: {(DQ ($ VSub_Name '$FP_DRIVE_MANAGER_SELECTION'))}
                        )
                      ]
                    )
                  ]
                  spids: [16777215 8551]
                )
              ]
              spids: [16777215 8590]
            )
          ]
          spids: [8305]
        )
      spids: [8302 8305]
    )
    (FuncDef
      name: Menu_Exit
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:WHIP_TITLE)
                  op: Equal
                  rhs: {(DQ ('Exit ') ($ VSub_Name '$PROGRAM_NAME') ('?'))}
                  spids: [8605]
                )
              ]
              spids: [8605]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:WHIP_QUESTION)
                  op: Equal
                  rhs: {(DQ ('Exit ') ($ VSub_Name '$PROGRAM_NAME') ('?'))}
                  spids: [8613]
                )
              ]
              spids: [8613]
            )
            (C {(whiptail)} {(--title)} {(DQ ($ VSub_Name '$WHIP_TITLE'))} {(--yesno)} 
              {(DQ ($ VSub_Name '$WHIP_QUESTION'))} {(--backtitle)} {(DQ ($ VSub_Name '$PROGRAM_NAME'))} {(--yes-button)} {(DQ (Ok))} {(--no-button)} 
              {(DQ (Back))} {(--defaultno)} {(9)} {(55)}
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:CHOICE)
                  op: Equal
                  rhs: {($ VSub_QMark '$?')}
                  spids: [8660]
                )
              ]
              spids: [8660]
            )
            (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: [8666 8675]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:TARGETMENUID)
                          op: Equal
                          rhs: {(-1)}
                          spids: [8686]
                        )
                      ]
                      spids: [8686]
                    )
                  ]
                  spids: [16777215 8678]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:TARGETMENUID)
                      op: Equal
                      rhs: {(0)}
                      spids: [8699]
                    )
                  ]
                  spids: [8699]
                )
              ]
              spids: [8691 8704]
            )
          ]
          spids: [8601]
        )
      spids: [8598 8601]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (DParen
                  child: 
                    (ArithBinary
                      op_id: Arith_GreatEqual
                      left: (ArithWord w:{($ VSub_Name '$INPUT')})
                      right: (ArithWord w:{(Lit_Digits 1)})
                    )
                  spids: [8726 8735]
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:SERVICE_CONTROL)
                  op: Equal
                  rhs: {(0)}
                  spids: [8742]
                )
              ]
              spids: [8742]
            )
          ]
          spids: [16777215 8738]
        )
      ]
      spids: [16777215 8747]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (DParen
                  child: (ArithWord w:{($ VSub_Name '$SERVICE_CONTROL')})
                  spids: [8760 8765]
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [(C {(/DietPi/dietpi/dietpi-services)} {(stop)})]
          spids: [16777215 8768]
        )
      ]
      spids: [16777215 8778]
    )
    (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 4)})
                    )
                  spids: [8791 8800]
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op: <Redir_DLess '<<'>
                  fd: 16777215
                  here_begin: {(_EOF_)}
                  here_end_span_id: 8834
                  stdin_parts: [
                    ('#Samba Client------------------------------------------------------\n')
                    (
'#/mnt/samba . Please use dietpi-config and the Networking Options: NAS menu to setup this mount\n'
                    )
                    ('\n')
                    ('#FTP Client Mount--------------------------------------------------\n')
                    (
'#/mnt/ftp_client . Please use dietpi-config and the Networking Options: NAS menu to setup this mount\n'
                    )
                    ('\n')
                    ('#NFS Client Mount--------------------------------------------------\n')
                    (
'#/mnt/nfs_client . Please use dietpi-config and the Networking Options: NAS menu to setup this mount\n'
                    )
                    ('\n')
                    ('#TMPFS / MISC ------------------------------------------------------\n')
                    ('proc            /proc           proc    defaults\t\t\t\t\t\t\t\t\t\t\t0 0\n')
                    (
'tmpfs \t\t\t/tmp  \t\t\ttmpfs \tdefaults,noatime,nodev,nosuid,mode=1777\t\t\t\t0 0\n'
                    )
                    (
'tmpfs \t\t\t/var/log \t\ttmpfs \tdefaults,size=20m,noatime,nodev,nosuid,mode=1777\t0 0\n'
                    )
                    (
'tmpfs \t\t\t/DietPi \t\ttmpfs \tdefaults,size=10m,noatime,nodev,nosuid,mode=1777\t0 0\n'
                    )
                    ('\n')
                    ('#Internal Drives---------------------------------------------------\n')
                  ]
                )
                (Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(/etc/fstab)})
              ]
            )
            (C {(Init_Drives_and_Refresh)})
          ]
          spids: [16777215 8803]
        )
        (if_arm
          cond: [
            (Sentence
              child: 
                (DParen
                  child: 
                    (ArithBinary
                      op_id: Arith_DEqual
                      left: (ArithWord w:{($ VSub_Name '$INPUT')})
                      right: (ArithWord w:{(Lit_Digits 3)})
                    )
                  spids: [8847 8856]
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [(C {(RootFS_RW_Check)})]
          spids: [8845 8859]
        )
        (if_arm
          cond: [
            (Sentence
              child: 
                (DParen
                  child: 
                    (ArithBinary
                      op_id: Arith_DEqual
                      left: (ArithWord w:{($ VSub_Name '$INPUT')})
                      right: (ArithWord w:{(Lit_Digits 2)})
                    )
                  spids: [8873 8882]
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [(C {(Init_Drives_and_Refresh)}) (C {(RootFS_Low_Free_Space_Check)})]
          spids: [8871 8885]
        )
        (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: [8902 8911]
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [(C {(Init_Drives_and_Refresh)}) (C {(Menu_Select_Mount_Location)})]
          spids: [8900 8914]
        )
        (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: [8931 8940]
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {(G_DIETPI-NOTIFY)} {(1)} 
              {(DQ ($ VSub_Name '$PROGRAM_NAME') (' is not currently supported on VM images'))}
            )
          ]
          spids: [8929 8943]
        )
      ]
      else_action: [
        (C {(Init_Drives_and_Refresh)})
        (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: [8972 8982]
                )
              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: [8995 9004]
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [(C {(Menu_Main_Drive_Manager)})]
                      spids: [16777215 9007]
                    )
                    (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: [9017 9026]
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [(C {(Menu_Drive_Manager_Edit_Drive)})]
                      spids: [9015 9029]
                    )
                    (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: [9039 9048]
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [(C {(Menu_Format)})]
                      spids: [9037 9051]
                    )
                  ]
                  spids: [16777215 9059]
                )
              ]
              spids: [8985 9063]
            )
        )
      ]
      spids: [8962 9067]
    )
    (C {(Destroy)})
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (DParen
                  child: (ArithWord w:{($ VSub_Name '$SERVICE_CONTROL')})
                  spids: [9092 9097]
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [(C {(/DietPi/dietpi/dietpi-services)} {(start)})]
          spids: [16777215 9100]
        )
      ]
      spids: [16777215 9110]
    )
    (ControlFlow token:<ControlFlow_Exit exit> arg_word:{($ VSub_Name '$EXIT_CODE')})
  ]
  spids: [3]
)