(CommandList
  children: [
    (BraceGroup
      children: [
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:GIT_BRANCH)
              op: Equal
              rhs: 
                {
                  (BracedVarSub
                    token: <VSub_Name GIT_BRANCH>
                    suffix_op: (StringUnary op_id:VTest_ColonEquals arg_word:{(master)})
                    spids: [40 44]
                  )
                }
              spids: [39]
            )
          ]
          spids: [39]
        )
        (C {(echo)} {(-e)} {(DQ ('Git Branch: ') ($ VSub_Name '$GIT_BRANCH'))})
        (C {(cd)} {(DQ ($ VSub_Name '$HOME'))})
        (If
          arms: [
            (if_arm
              cond: [
                (Sentence
                  child: 
                    (DParen
                      child: 
                        (ArithBinary
                          op_id: Arith_NEqual
                          left: (ArithWord w:{($ VSub_Name '$UID')})
                          right: (ArithWord w:{(Lit_Digits 0)})
                        )
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [
                (C {(echo)} {(-e)} 
                  {
                    (SQ 
                      <
'Error: Root privileges required. Please run the command with "sudo"\\nIn case install the "sudo" package with root privileges: #apt-get install sudo\\n'
                      >
                    )
                  }
                )
                (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
              ]
              spids: [16777215 100]
            )
          ]
          spids: [16777215 119]
        )
        (SimpleCommand
          words: [{(echo)} {(SQ <'Acquire::ForceIPv4 "true";'>)}]
          redirects: [
            (Redir
              op_id: Redir_Great
              fd: 16777215
              arg_word: {(/etc/apt/apt.conf.d/99-dietpi-force-ipv4)}
              spids: [133]
            )
          ]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:a_MIN_APT_PREREQS)
              op: Equal
              rhs: 
                {(ArrayLiteralPart words:[{(SQ <wget>)} {(SQ <ca-certificates>)} {(SQ <locales>)}])}
              spids: [143]
            )
          ]
          spids: [143]
        )
        (Sentence
          child: (C {(rm)} {(/etc/apt/sources.list.d/deb-multimedia.list)})
          terminator: <Op_Amp '&'>
        )
        (SimpleCommand
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[177])]
        )
        (C {(apt-get)} {(clean)})
        (C {(apt-get)} {(update)})
        (ForExpr
          init: 
            (BinaryAssign
              op_id: Arith_Equal
              left: (LhsName name:i)
              right: (ArithWord w:{(Lit_Digits 0)})
            )
          cond: 
            (ArithBinary
              op_id: Arith_Less
              left: (ArithVarRef name:i)
              right: 
                (ArithWord
                  w: 
                    {
                      (BracedVarSub
                        token: <VSub_Name a_MIN_APT_PREREQS>
                        prefix_op: VSub_Pound
                        bracket_op: (WholeArray op_id:Lit_At)
                        spids: [204 210]
                      )
                    }
                )
            )
          update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i))
          body: 
            (DoGroup
              children: [
                (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)} 
                                                        {
                                                          (DQ ('^') 
                                                            (BracedVarSub
                                                              token: <VSub_Name a_MIN_APT_PREREQS>
                                                              bracket_op: 
                                                                (ArrayIndex
                                                                  expr: 
                                                                    (ArithWord
                                                                      w: {($ VSub_Name '$i')}
                                                                    )
                                                                )
                                                              spids: [244 249]
                                                            ) ('[[:space:]]')
                                                          )
                                                        }
                                                      )
                                                    ]
                                                    negated: F
                                                  )
                                                ]
                                              )
                                            left_token: <Left_CommandSub '$('>
                                            spids: [229 252]
                                          )
                                        }
                                    )
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (C {(apt-get)} {(install)} {(-y)} 
                          {
                            (BracedVarSub
                              token: <VSub_Name a_MIN_APT_PREREQS>
                              bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$i')}))
                              spids: [268 273]
                            )
                          }
                        )
                        (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)})
                                        )
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (C {(echo)} {(-e)} 
                                  {
                                    (DQ ('Error: Unable to install ') 
                                      (BracedVarSub
                                        token: <VSub_Name a_MIN_APT_PREREQS>
                                        bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$i')}))
                                        spids: [300 305]
                                      ) (', please try to install it manually with') (Lit_Other '\\') ('n - apt-get install -y ') 
                                      (BracedVarSub
                                        token: <VSub_Name a_MIN_APT_PREREQS>
                                        bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$i')}))
                                        spids: [309 314]
                                      )
                                    )
                                  }
                                )
                                (ControlFlow
                                  token: <ControlFlow_Exit exit>
                                  arg_word: {(1)}
                                )
                              ]
                              spids: [16777215 290]
                            )
                          ]
                          spids: [16777215 324]
                        )
                      ]
                      spids: [16777215 258]
                    )
                  ]
                  spids: [16777215 328]
                )
              ]
              spids: [219 332]
            )
        )
        (C {(unset)} {(a_MIN_APT_PREREQS)})
        (AndOr
          ops: [Op_DAmp Op_DPipe Op_DAmp Op_DPipe]
          children: [
            (C {(grep)} {(-q)} {(SQ <'^[[:blank:]]*prefer-family ='>)} {(/etc/wgetrc)})
            (C {(sed)} {(-i)} {(SQ <'/^[[:blank:]]*prefer-family =/c\\prefer-family = IPv4'>)} 
              {(/etc/wgetrc)}
            )
            (C {(grep)} {(-q)} {(SQ <'^[[:blank:]#;]*prefer-family ='>)} {(/etc/wgetrc)})
            (C {(sed)} {(-i)} {(SQ <'/^[[:blank:]#;]*prefer-family =/c\\prefer-family = IPv4'>)} 
              {(/etc/wgetrc)}
            )
            (SimpleCommand
              words: [{(echo)} {(SQ <'prefer-family = IPv4'>)}]
              redirects: [(Redir op_id:Redir_DGreat fd:16777215 arg_word:{(/etc/wgetrc)} spids:[404])]
            )
          ]
        )
        (SimpleCommand
          words: [{(echo)} {(SQ <'en_GB.UTF-8 UTF-8'>)}]
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(/etc/locale.gen)} spids:[424])]
        )
        (C {(dpkg-reconfigure)} {(-f)} {(noninteractive)} {(locales)})
        (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)})
                        )
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [
                (C {(echo)} {(-e)} {(SQ <'Error: Locale generation failed. Aborting...\\n'>)})
                (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
              ]
              spids: [16777215 464]
            )
          ]
          spids: [16777215 483]
        )
        (SimpleCommand
          words: [{(cat)}]
          redirects: [
            (HereDoc
              op_id: Redir_DLess
              fd: 16777215
              body: 
                {
                  (DQ 
                    (
'# Force locale on remote access, especially via dropbear, where overwriting server locale by SSH client cannot be suppressed:\n'
                    ) ('export LANG=en_GB.UTF-8\n') ('export LC_ALL=en_GB.UTF-8\n') ('export LANGUAGE=en_GB:en\n')
                  )
                }
              do_expansion: True
              here_end: _EOF_
              was_filled: T
              spids: [489]
            )
            (Redir
              op_id: Redir_Great
              fd: 16777215
              arg_word: {(/etc/profile.d/99-dietpi-force-locale.sh)}
              spids: [493]
            )
          ]
        )
        (C {(chmod)} {(Lit_Other '+') (x)} {(/etc/profile.d/99-dietpi-force-locale.sh)})
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:LANG) op:Equal rhs:{(en_GB.UTF-8)} spids:[516])]
          spids: [516]
        )
        (C {(wget)} 
          {(https) (Lit_Other ':') (//raw.githubusercontent.com/Fourdee/DietPi/) 
            ($ VSub_Name '$GIT_BRANCH') (/dietpi/func/dietpi-globals)
          } {(-O)} {(dietpi-globals)}
        )
        (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)})
                        )
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [
                (C {(echo)} {(-e)} {(SQ <'Error: Unable to download dietpi-globals. Aborting...\\n'>)})
                (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
              ]
              spids: [16777215 568]
            )
          ]
          spids: [16777215 587]
        )
        (C {(chmod)} {(Lit_Other '+') (x)} {(dietpi-globals)})
        (C {(.)} {(./dietpi-globals)})
        (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)})
                        )
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [
                (C {(echo)} {(-e)} {(SQ <'Error: Unable to load dietpi-globals. Aborting...\\n'>)})
                (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
              ]
              spids: [16777215 622]
            )
          ]
          spids: [16777215 641]
        )
        (C {(export)} {(Lit_VarLike 'G_PROGRAM_NAME=') (SQ <DietPi-PREP_SYSTEM_FOR_DIETPI>)})
        (C {(export)} {(Lit_VarLike 'G_DISTRO=') (0)})
        (C {(export)} {(Lit_VarLike 'G_DISTRO_NAME=') (SQ <NULL>)})
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:DISTRO_TARGET) op:Equal rhs:{(0)} spids:[673])]
          spids: [673]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:DISTRO_TARGET_NAME)
              op: Equal
              rhs: {(SQ )}
              spids: [677]
            )
          ]
          spids: [677]
        )
        (If
          arms: [
            (if_arm
              cond: [
                (Sentence
                  child: (C {(grep)} {(-q)} {(SQ <wheezy>)} {(/etc/os-release)})
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [(assign_pair lhs:(LhsName name:G_DISTRO) op:Equal rhs:{(2)} spids:[699])]
                  spids: [699]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:G_DISTRO_NAME)
                      op: Equal
                      rhs: {(SQ <wheezy>)}
                      spids: [703]
                    )
                  ]
                  spids: [703]
                )
              ]
              spids: [16777215 695]
            )
            (if_arm
              cond: [
                (Sentence
                  child: (C {(grep)} {(-q)} {(SQ <jessie>)} {(/etc/os-release)})
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [(assign_pair lhs:(LhsName name:G_DISTRO) op:Equal rhs:{(3)} spids:[727])]
                  spids: [727]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:G_DISTRO_NAME)
                      op: Equal
                      rhs: {(SQ <jessie>)}
                      spids: [731]
                    )
                  ]
                  spids: [731]
                )
              ]
              spids: [710 723]
            )
            (if_arm
              cond: [
                (Sentence
                  child: (C {(grep)} {(-q)} {(SQ <stretch>)} {(/etc/os-release)})
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [(assign_pair lhs:(LhsName name:G_DISTRO) op:Equal rhs:{(4)} spids:[755])]
                  spids: [755]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:G_DISTRO_NAME)
                      op: Equal
                      rhs: {(SQ <stretch>)}
                      spids: [759]
                    )
                  ]
                  spids: [759]
                )
              ]
              spids: [738 751]
            )
            (if_arm
              cond: [
                (Sentence
                  child: (C {(grep)} {(-q)} {(SQ <buster>)} {(/etc/os-release)})
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [(assign_pair lhs:(LhsName name:G_DISTRO) op:Equal rhs:{(5)} spids:[783])]
                  spids: [783]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:G_DISTRO_NAME)
                      op: Equal
                      rhs: {(SQ <buster>)}
                      spids: [787]
                    )
                  ]
                  spids: [787]
                )
              ]
              spids: [766 779]
            )
          ]
          else_action: [
            (C {(echo)} {(-e)} 
              {(SQ <'Error: Unknown or unsupported distribution version. Aborting...\\n'>)}
            )
            (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
          ]
          spids: [794 813]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:G_HW_ARCH_DESCRIPTION)
              op: Equal
              rhs: 
                {
                  (CommandSubPart
                    command_list: (CommandList children:[(C {(uname)} {(-m)})])
                    left_token: <Left_CommandSub '$('>
                    spids: [826 830]
                  )
                }
              spids: [825]
            )
          ]
          spids: [825]
        )
        (If
          arms: [
            (if_arm
              cond: [
                (Sentence
                  child: 
                    (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$G_HW_ARCH_DESCRIPTION'))} {(Lit_Other '=')} 
                      {(DQ (armv6l))} {(Lit_Other ']')}
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [(assign_pair lhs:(LhsName name:G_HW_ARCH) op:Equal rhs:{(1)} spids:[854])]
                  spids: [854]
                )
              ]
              spids: [16777215 850]
            )
            (if_arm
              cond: [
                (Sentence
                  child: 
                    (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$G_HW_ARCH_DESCRIPTION'))} {(Lit_Other '=')} 
                      {(DQ (armv7l))} {(Lit_Other ']')}
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [(assign_pair lhs:(LhsName name:G_HW_ARCH) op:Equal rhs:{(2)} spids:[880])]
                  spids: [880]
                )
              ]
              spids: [859 876]
            )
            (if_arm
              cond: [
                (Sentence
                  child: 
                    (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$G_HW_ARCH_DESCRIPTION'))} {(Lit_Other '=')} 
                      {(DQ (aarch64))} {(Lit_Other ']')}
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [(assign_pair lhs:(LhsName name:G_HW_ARCH) op:Equal rhs:{(3)} spids:[906])]
                  spids: [906]
                )
              ]
              spids: [885 902]
            )
            (if_arm
              cond: [
                (Sentence
                  child: 
                    (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$G_HW_ARCH_DESCRIPTION'))} {(Lit_Other '=')} 
                      {(DQ (x86_64))} {(Lit_Other ']')}
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [(assign_pair lhs:(LhsName name:G_HW_ARCH) op:Equal rhs:{(10)} spids:[932])]
                  spids: [932]
                )
              ]
              spids: [911 928]
            )
          ]
          else_action: [
            (C {(echo)} {(-e)} 
              {
                (DQ ('Error: Unknown or unsupported CPU architecture ') 
                  ($ VSub_Name '$G_HW_ARCH_DESCRIPTION') ('. Aborting...')
                )
              }
            )
            (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
          ]
          spids: [937 958]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:INTERNET_ADDRESS) op:Equal rhs:{(SQ )} spids:[966])]
          spids: [966]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:WHIP_BACKTITLE)
              op: Equal
              rhs: {(SQ <DietPi-Prep>)}
              spids: [976]
            )
          ]
          spids: [976]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:WHIP_TITLE) op:Equal rhs:{(0)} spids:[982])]
          spids: [982]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:WHIP_DESC) op:Equal rhs:{(0)} spids:[986])]
          spids: [986]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:WHIP_MENU_ARRAY) op:Equal rhs:{(0)} spids:[990])]
          spids: [990]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:WHIP_RETURN_VALUE) op:Equal rhs:{(0)} spids:[994])]
          spids: [994]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:WHIP_DEFAULT_ITEM) op:Equal rhs:{(0)} spids:[998])]
          spids: [998]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:WHIP_OPTION) op:Equal rhs:{(0)} spids:[1002])]
          spids: [1002]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:WHIP_CHOICE) op:Equal rhs:{(0)} spids:[1006])]
          spids: [1006]
        )
        (FuncDef
          name: Run_Whiptail
          body: 
            (BraceGroup
              children: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:WHIP_OPTION)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (SimpleCommand
                                    words: [
                                      {(whiptail)}
                                      {(--title)}
                                      {(DQ ($ VSub_Name '$WHIP_TITLE'))}
                                      {(--menu)}
                                      {(DQ ($ VSub_Name '$WHIP_DESC'))}
                                      {(--default-item)}
                                      {(DQ ($ VSub_Name '$WHIP_DEFAULT_ITEM'))}
                                      {(--backtitle)}
                                      {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))}
                                      {(24)}
                                      {(85)}
                                      {(12)}
                                      {
                                        (DQ 
                                          (BracedVarSub
                                            token: <VSub_Name WHIP_MENU_ARRAY>
                                            bracket_op: (WholeArray op_id:Lit_At)
                                            spids: [1052 1057]
                                          )
                                        )
                                      }
                                    ]
                                    redirects: [
                                      (Redir
                                        op_id: Redir_GreatAnd
                                        fd: 3
                                        arg_word: {(1)}
                                        spids: [1060]
                                      )
                                      (Redir
                                        op_id: Redir_GreatAnd
                                        fd: 1
                                        arg_word: {(2)}
                                        spids: [1063]
                                      )
                                      (Redir
                                        op_id: Redir_GreatAnd
                                        fd: 2
                                        arg_word: {(3)}
                                        spids: [1066]
                                      )
                                    ]
                                  )
                                ]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [1018 1068]
                          )
                        }
                      spids: [1017]
                    )
                  ]
                  spids: [1017]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:WHIP_CHOICE)
                      op: Equal
                      rhs: {($ VSub_QMark '$?')}
                      spids: [1071]
                    )
                  ]
                  spids: [1071]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (AndOr
                              ops: [Op_DAmp]
                              children: [
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: (ArithWord w:{($ VSub_Name '$WHIP_CHOICE')})
                                      right: (ArithWord w:{(Lit_Digits 0)})
                                    )
                                )
                                (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_Name '$WHIP_OPTION'))} 
                                  {(Lit_Other ']')}
                                )
                              ]
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:WHIP_RETURN_VALUE)
                              op: Equal
                              rhs: {($ VSub_Name '$WHIP_OPTION')}
                              spids: [1106]
                            )
                          ]
                          spids: [1106]
                        )
                      ]
                      spids: [16777215 1102]
                    )
                  ]
                  else_action: [
                    (C {(G_DIETPI-NOTIFY)} {(1)} {(SQ <'No choices detected, aborting...'>)})
                    (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)})
                  ]
                  spids: [1111 1130]
                )
                (C {(unset)} {(WHIP_MENU_ARRAY)})
              ]
              spids: [1013]
            )
          spids: [1010 1013]
        )
        (C {(echo)} {(-e)} {(SQ )})
        (C {(G_DIETPI-NOTIFY)} {(2)} 
          {
            (SQ <----------------------------------------------------------------------------------->)
          }
        )
        (C {(G_DIETPI-NOTIFY)} {(0)} {(SQ <'Step 0: Detecting existing DietPi system:'>)})
        (C {(G_DIETPI-NOTIFY)} {(2)} 
          {
            (SQ <----------------------------------------------------------------------------------->)
          }
        )
        (If
          arms: [
            (if_arm
              cond: [
                (Sentence
                  child: 
                    (DParen
                      child: 
                        (ArithWord
                          w: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(systemctl)} {(is-active)} {(dietpi-ramdisk)})
                                          (C {(grep)} {(-ci)} {(-m1)} {(SQ <'^active'>)})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [1224 1242]
                              )
                            }
                        )
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [
                (C {(G_DIETPI-NOTIFY)} {(2)} {(SQ <'DietPi system found, running pre-prep'>)})
                (C {(/DietPi/dietpi/dietpi-services)} {(stop)})
                (C {(G_RUN_CMD)} {(systemctl)} {(stop)} {(dietpi-ramlog)})
                (C {(G_RUN_CMD)} {(systemctl)} {(stop)} {(dietpi-ramdisk)})
                (C {(rm)} {(-R)} {(/DietPi/) (Lit_Other '*')})
                (C {(rm)} {(-R)} {(/boot/dietpi)})
                (Sentence
                  child: (C {(rm)} {(-R)} {(/mnt/dietpi-backup)})
                  terminator: <Op_Amp '&'>
                )
                (SimpleCommand
                  redirects: [
                    (Redir
                      op_id: Redir_Great
                      fd: 16777215
                      arg_word: {(/dev/null)}
                      spids: [1318]
                    )
                  ]
                )
                (Sentence
                  child: (C {(rm)} {(-R)} {(/mnt/dietpi-sync)})
                  terminator: <Op_Amp '&'>
                )
                (SimpleCommand
                  redirects: [
                    (Redir
                      op_id: Redir_Great
                      fd: 16777215
                      arg_word: {(/dev/null)}
                      spids: [1330]
                    )
                  ]
                )
                (Sentence
                  child: (C {(rm)} {(-R)} {(/mnt/dietpi_userdata)})
                  terminator: <Op_Amp '&'>
                )
                (SimpleCommand
                  redirects: [
                    (Redir
                      op_id: Redir_Great
                      fd: 16777215
                      arg_word: {(/dev/null)}
                      spids: [1342]
                    )
                  ]
                )
                (Sentence
                  child: (C {(rm)} {(-R)} {(/etc/dietpi)})
                  terminator: <Op_Amp '&'>
                )
                (SimpleCommand
                  redirects: [
                    (Redir
                      op_id: Redir_Great
                      fd: 16777215
                      arg_word: {(/dev/null)}
                      spids: [1355]
                    )
                  ]
                )
                (Sentence
                  child: (C {(rm)} {(-R)} {(/var/lib/dietpi)})
                  terminator: <Op_Amp '&'>
                )
                (SimpleCommand
                  redirects: [
                    (Redir
                      op_id: Redir_Great
                      fd: 16777215
                      arg_word: {(/dev/null)}
                      spids: [1370]
                    )
                  ]
                )
                (Sentence
                  child: (C {(rm)} {(-R)} {(/var/tmp/dietpi)})
                  terminator: <Op_Amp '&'>
                )
                (SimpleCommand
                  redirects: [
                    (Redir
                      op_id: Redir_Great
                      fd: 16777215
                      arg_word: {(/dev/null)}
                      spids: [1382]
                    )
                  ]
                )
                (Sentence
                  child: (C {(rm)} {(/root/DietPi-Automation.log)})
                  terminator: <Op_Amp '&'>
                )
                (SimpleCommand
                  redirects: [
                    (Redir
                      op_id: Redir_Great
                      fd: 16777215
                      arg_word: {(/dev/null)}
                      spids: [1393]
                    )
                  ]
                )
                (Sentence
                  child: (C {(rm)} {(/boot/Automation_Format_My_Usb_Drive)})
                  terminator: <Op_Amp '&'>
                )
                (SimpleCommand
                  redirects: [
                    (Redir
                      op_id: Redir_Great
                      fd: 16777215
                      arg_word: {(/dev/null)}
                      spids: [1403]
                    )
                  ]
                )
              ]
              spids: [16777215 1248]
            )
          ]
          else_action: [(C {(G_DIETPI-NOTIFY)} {(2)} {(SQ <'Non-DietPi system'>)})]
          spids: [1409 1423]
        )
        (C {(echo)} {(-e)} {(SQ )})
        (C {(G_DIETPI-NOTIFY)} {(2)} 
          {
            (SQ <----------------------------------------------------------------------------------->)
          }
        )
        (C {(G_DIETPI-NOTIFY)} {(0)} {(SQ <'Step 1: Initial prep to allow this script to function:'>)})
        (C {(G_DIETPI-NOTIFY)} {(2)} 
          {
            (SQ <----------------------------------------------------------------------------------->)
          }
        )
        (C {(G_DIETPI-NOTIFY)} {(2)} {(SQ <'Updating APT:'>)})
        (C {(G_RUN_CMD)} {(mkdir)} {(-p)} {(/var/tmp/dietpi/logs)})
        (C {(G_DIETPI-NOTIFY)} {(2)} 
          {(SQ <'Installing core packages, required for next stage of this script:'>)}
        )
        (C {(G_AGI)} {(apt-transport-https)} {(unzip)} {(whiptail)})
        (C {(echo)} {(-e)} {(SQ )})
        (C {(G_DIETPI-NOTIFY)} {(2)} 
          {
            (SQ <----------------------------------------------------------------------------------->)
          }
        )
        (C {(G_DIETPI-NOTIFY)} {(0)} {(SQ <'Step 2: Hardware selection:'>)})
        (C {(G_DIETPI-NOTIFY)} {(2)} 
          {
            (SQ <----------------------------------------------------------------------------------->)
          }
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:WHIP_TITLE)
              op: Equal
              rhs: {(SQ <'Hardware selection:'>)}
              spids: [1558]
            )
          ]
          spids: [1558]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:WHIP_DESC)
              op: Equal
              rhs: 
                {
                  (SQ 
                    <
'Please select the current device this is being installed on:\\n - NB: Select "Generic device" if not listed.'
                    >
                  )
                }
              spids: [1564]
            )
          ]
          spids: [1564]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:WHIP_DEFAULT_ITEM) op:Equal rhs:{(22)} spids:[1570])]
          spids: [1570]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:WHIP_MENU_ARRAY)
              op: Equal
              rhs: 
                {
                  (ArrayLiteralPart
                    words: [
                      {(SQ )}
                      {
                        (SQ 
                          <
'\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80Other\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'
                          >
                        )
                      }
                      {(SQ <22>)}
                      {(SQ <'Generic device (unknown to DietPi)'>)}
                      {(SQ )}
                      {
                        (SQ 
                          <
'\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80SBC\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'
                          >
                        )
                      }
                      {(SQ <52>)}
                      {(SQ <'Asus Tinker Board'>)}
                      {(SQ <51>)}
                      {(SQ <'BananaPi Pro (Lemaker)'>)}
                      {(SQ <50>)}
                      {(SQ <'BananaPi M2+ (sinovoip)'>)}
                      {(SQ <71>)}
                      {(SQ <'Beagle Bone Black'>)}
                      {(SQ <66>)}
                      {(SQ <'NanoPi M1 Plus'>)}
                      {(SQ <65>)}
                      {(SQ <'NanoPi NEO 2'>)}
                      {(SQ <64>)}
                      {(SQ <'NanoPi NEO Air'>)}
                      {(SQ <63>)}
                      {(SQ <'NanoPi M1/T1'>)}
                      {(SQ <62>)}
                      {(SQ <'NanoPi M3/T3'>)}
                      {(SQ <61>)}
                      {(SQ <'NanoPi M2/T2'>)}
                      {(SQ <60>)}
                      {(SQ <'NanoPi Neo'>)}
                      {(SQ <13>)}
                      {(SQ <'Odroid U3'>)}
                      {(SQ <12>)}
                      {(SQ <'Odroid C2'>)}
                      {(SQ <11>)}
                      {(SQ <'Odroid XU3/4/HC1'>)}
                      {(SQ <10>)}
                      {(SQ <'Odroid C1'>)}
                      {(SQ <38>)}
                      {(SQ <'OrangePi PC 2'>)}
                      {(SQ <37>)}
                      {(SQ <'OrangePi Prime'>)}
                      {(SQ <36>)}
                      {(SQ <'OrangePi Win'>)}
                      {(SQ <35>)}
                      {(SQ <'OrangePi Zero Plus 2 (H3/H5)'>)}
                      {(SQ <34>)}
                      {(SQ <'OrangePi Plus'>)}
                      {(SQ <33>)}
                      {(SQ <'OrangePi Lite'>)}
                      {(SQ <32>)}
                      {(SQ <'OrangePi Zero (H2+)'>)}
                      {(SQ <31>)}
                      {(SQ <'OrangePi One'>)}
                      {(SQ <30>)}
                      {(SQ <'OrangePi PC'>)}
                      {(SQ <40>)}
                      {(SQ <'Pine A64'>)}
                      {(SQ <3>)}
                      {(SQ <'Raspberry Pi 3'>)}
                      {(SQ <2>)}
                      {(SQ <'Raspberry Pi 2'>)}
                      {(SQ <1>)}
                      {(SQ <'Raspberry Pi 1/Zero (512mb)'>)}
                      {(SQ <0>)}
                      {(SQ <'Raspberry Pi 1 (256mb)'>)}
                      {(SQ <43>)}
                      {(SQ <Rock64>)}
                      {(SQ <70>)}
                      {(SQ <'Sparky SBC'>)}
                      {(SQ )}
                      {
                        (SQ 
                          <
'\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80PC\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'
                          >
                        )
                      }
                      {(SQ <21>)}
                      {(SQ <'x86_64 Native PC'>)}
                      {(SQ <20>)}
                      {(SQ <'x86_64 VMware/VirtualBox'>)}
                    ]
                  )
                }
              spids: [1574]
            )
          ]
          spids: [1574]
        )
        (C {(Run_Whiptail)})
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:G_HW_MODEL)
              op: Equal
              rhs: {($ VSub_Name '$WHIP_RETURN_VALUE')}
              spids: [1917]
            )
          ]
          spids: [1917]
        )
        (C {(G_DIETPI-NOTIFY)} {(2)} {(DQ ('Setting G_HW_MODEL index of: ') ($ VSub_Name '$G_HW_MODEL'))})
        (C {(G_DIETPI-NOTIFY)} {(2)} 
          {
            (DQ ('CPU ARCH = ') ($ VSub_Name '$G_HW_ARCH') (' : ') 
              ($ VSub_Name '$G_HW_ARCH_DESCRIPTION')
            )
          }
        )
        (SimpleCommand
          words: [{(echo)} {(-e)} {(DQ ($ VSub_Name '$G_HW_MODEL'))}]
          redirects: [
            (Redir
              op_id: Redir_Great
              fd: 16777215
              arg_word: {(/etc/.dietpi_hw_model_identifier)}
              spids: [1953]
            )
          ]
        )
        (C {(echo)} {(-e)} {(SQ )})
        (C {(G_DIETPI-NOTIFY)} {(2)} 
          {
            (SQ <----------------------------------------------------------------------------------->)
          }
        )
        (C {(G_DIETPI-NOTIFY)} {(0)} {(SQ <'Step 3: Distro selection:'>)})
        (C {(G_DIETPI-NOTIFY)} {(2)} 
          {
            (SQ <----------------------------------------------------------------------------------->)
          }
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:WHIP_TITLE)
              op: Equal
              rhs: {(SQ <'Distro selection:'>)}
              spids: [2003]
            )
          ]
          spids: [2003]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:WHIP_DESC)
              op: Equal
              rhs: 
                {
                  (DQ 
                    (
'Please select a distro to install on this system. Selecting a distro that is older than the current installed on system, is not supported.'
                    ) (Lit_Other '\\') (n) (Lit_Other '\\') ('nCurrently installed:') (Lit_Other '\\') ('n - ') 
                    ($ VSub_Name '$G_DISTRO') (' ') ($ VSub_Name '$G_DISTRO_NAME')
                  )
                }
              spids: [2009]
            )
          ]
          spids: [2009]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:WHIP_DEFAULT_ITEM)
              op: Equal
              rhs: {($ VSub_Name '$G_DISTRO')}
              spids: [2024]
            )
          ]
          spids: [2024]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:DISTRO_LIST_ARRAY)
              op: Equal
              rhs: 
                {
                  (ArrayLiteralPart
                    words: [
                      {(SQ <3>)}
                      {
                        (SQ 
                          <
'Jessie (oldstable, just if you need to avoid upgrade to current release)'
                          >
                        )
                      }
                      {(SQ <4>)}
                      {(SQ <'Stretch (current stable release, recommended)'>)}
                      {(SQ <5>)}
                      {(SQ <'Buster (testing only, not officially supported)'>)}
                    ]
                  )
                }
              spids: [2028]
            )
          ]
          spids: [2028]
        )
        (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: 
                    {
                      (ArithSubPart
                        anode: 
                          (ArithBinary
                            op_id: Arith_Slash
                            left: 
                              (ArithWord
                                w: 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name DISTRO_LIST_ARRAY>
                                      prefix_op: VSub_Pound
                                      bracket_op: (WholeArray op_id:Lit_At)
                                      spids: [2083 2089]
                                    )
                                  }
                              )
                            right: (ArithWord w:{(Lit_Digits 2)})
                          )
                        spids: [2081 2096]
                      )
                    }
                )
            )
          update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i))
          body: 
            (DoGroup
              children: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:temp_distro_available)
                      op: Equal
                      rhs: {(1)}
                      spids: [2108]
                    )
                  ]
                  spids: [2108]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:temp_distro_index)
                      op: Equal
                      rhs: 
                        {
                          (ArithSubPart
                            anode: 
                              (ArithBinary
                                op_id: Arith_Plus
                                left: (ArithWord w:{($ VSub_Name '$i')})
                                right: (ArithWord w:{(Lit_Digits 3)})
                              )
                            spids: [2113 2122]
                          )
                        }
                      spids: [2112]
                    )
                  ]
                  spids: [2112]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_Less
                                  left: (ArithWord w:{($ VSub_Name '$temp_distro_index')})
                                  right: (ArithWord w:{($ VSub_Name '$G_DISTRO')})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (C {(G_DIETPI-NOTIFY)} {(2)} 
                          {
                            (DQ ('Disabled Distro downgrade: index ') 
                              ($ VSub_Name '$temp_distro_index')
                            )
                          }
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:temp_distro_available)
                              op: Equal
                              rhs: {(0)}
                              spids: [2158]
                            )
                          ]
                          spids: [2158]
                        )
                      ]
                      spids: [16777215 2144]
                    )
                  ]
                  spids: [16777215 2163]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: (DParen child:(ArithWord w:{($ VSub_Name '$temp_distro_available')}))
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:WHIP_MENU_ARRAY)
                              op: PlusEqual
                              rhs: 
                                {
                                  (ArrayLiteralPart
                                    words: [
                                      {
                                        (DQ 
                                          (BracedVarSub
                                            token: <VSub_Name DISTRO_LIST_ARRAY>
                                            bracket_op: 
                                              (ArrayIndex
                                                expr: 
                                                  (ArithWord
                                                    w: 
                                                      {
                                                        (ArithSubPart
                                                          anode: 
                                                            (ArithBinary
                                                              op_id: Arith_Star
                                                              left: (ArithWord w:{($ VSub_Name '$i')})
                                                              right: (ArithWord w:{(Lit_Digits 2)})
                                                            )
                                                          spids: [2192 2201]
                                                        )
                                                      }
                                                  )
                                              )
                                            spids: [2189 2203]
                                          )
                                        )
                                      }
                                      {
                                        (DQ 
                                          (BracedVarSub
                                            token: <VSub_Name DISTRO_LIST_ARRAY>
                                            bracket_op: 
                                              (ArrayIndex
                                                expr: 
                                                  (ArithWord
                                                    w: 
                                                      {
                                                        (ArithSubPart
                                                          anode: 
                                                            (ArithBinary
                                                              op_id: Arith_Plus
                                                              left: 
                                                                (ArithBinary
                                                                  op_id: Arith_Star
                                                                  left: 
                                                                    (ArithWord
                                                                      w: {($ VSub_Name '$i')}
                                                                    )
                                                                  right: (ArithWord w:{(Lit_Digits 2)})
                                                                )
                                                              right: (ArithWord w:{(Lit_Digits 1)})
                                                            )
                                                          spids: [2210 2225]
                                                        )
                                                      }
                                                  )
                                              )
                                            spids: [2207 2227]
                                          )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [2185]
                            )
                          ]
                          spids: [2185]
                        )
                      ]
                      spids: [16777215 2181]
                    )
                  ]
                  spids: [16777215 2234]
                )
              ]
              spids: [2105 2238]
            )
        )
        (C {(unset)} {(DISTRO_LIST_ARRAY)})
        (If
          arms: [
            (if_arm
              cond: [
                (Sentence
                  child: 
                    (C {(Lit_Other '[')} {(-z)} 
                      {
                        (BracedVarSub
                          token: <VSub_Name WHIP_MENU_ARRAY>
                          suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(x)})
                          spids: [2258 2262]
                        )
                      } {(Lit_Other ']')}
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [
                (C {(G_DIETPI-NOTIFY)} {(1)} 
                  {(SQ <'Error: No available Distros for this system. Aborting...'>)}
                )
                (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
              ]
              spids: [16777215 2267]
            )
          ]
          spids: [16777215 2286]
        )
        (C {(Run_Whiptail)})
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:DISTRO_TARGET)
              op: Equal
              rhs: {($ VSub_Name '$WHIP_RETURN_VALUE')}
              spids: [2293]
            )
          ]
          spids: [2293]
        )
        (If
          arms: [
            (if_arm
              cond: [
                (Sentence
                  child: 
                    (DParen
                      child: 
                        (ArithBinary
                          op_id: Arith_DEqual
                          left: (ArithWord w:{($ VSub_Name '$DISTRO_TARGET')})
                          right: (ArithWord w:{(Lit_Digits 3)})
                        )
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:DISTRO_TARGET_NAME)
                      op: Equal
                      rhs: {(SQ <jessie>)}
                      spids: [2315]
                    )
                  ]
                  spids: [2315]
                )
              ]
              spids: [16777215 2311]
            )
            (if_arm
              cond: [
                (Sentence
                  child: 
                    (DParen
                      child: 
                        (ArithBinary
                          op_id: Arith_DEqual
                          left: (ArithWord w:{($ VSub_Name '$DISTRO_TARGET')})
                          right: (ArithWord w:{(Lit_Digits 4)})
                        )
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:DISTRO_TARGET_NAME)
                      op: Equal
                      rhs: {(SQ <stretch>)}
                      spids: [2340]
                    )
                  ]
                  spids: [2340]
                )
              ]
              spids: [2322 2336]
            )
            (if_arm
              cond: [
                (Sentence
                  child: 
                    (DParen
                      child: 
                        (ArithBinary
                          op_id: Arith_DEqual
                          left: (ArithWord w:{($ VSub_Name '$DISTRO_TARGET')})
                          right: (ArithWord w:{(Lit_Digits 5)})
                        )
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:DISTRO_TARGET_NAME)
                      op: Equal
                      rhs: {(SQ <buster>)}
                      spids: [2365]
                    )
                  ]
                  spids: [2365]
                )
              ]
              spids: [2347 2361]
            )
          ]
          spids: [16777215 2372]
        )
        (C {(echo)} {(-e)} {(SQ )})
        (C {(G_DIETPI-NOTIFY)} {(2)} 
          {
            (SQ <----------------------------------------------------------------------------------->)
          }
        )
        (C {(G_DIETPI-NOTIFY)} {(0)} {(SQ <'Step 4: APT configuration:'>)})
        (C {(G_DIETPI-NOTIFY)} {(2)} 
          {
            (SQ <----------------------------------------------------------------------------------->)
          }
        )
        (C {(G_DIETPI-NOTIFY)} {(2)} {(SQ <'Removing conflicting apt sources.list.d'>)})
        (Sentence
          child: (C {(rm)} {(/etc/apt/sources.list.d/deb-multimedia.list)})
          terminator: <Op_Amp '&'>
        )
        (SimpleCommand
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[2444])]
        )
        (C {(G_DIETPI-NOTIFY)} {(2)} 
          {
            (DQ ('Setting APT sources.list: ') ($ VSub_Name '$DISTRO_TARGET_NAME') (' ') 
              ($ VSub_Name '$DISTRO_TARGET')
            )
          }
        )
        (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)})
                        )
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [
                (SimpleCommand
                  words: [{(cat)}]
                  redirects: [
                    (HereDoc
                      op_id: Redir_DLess
                      fd: 16777215
                      body: 
                        {
                          (DQ 
                            (
'deb https://www.mirrorservice.org/sites/archive.raspbian.org/raspbian '
                            ) ($ VSub_Name '$DISTRO_TARGET_NAME') (' main contrib non-free rpi\n')
                          )
                        }
                      do_expansion: True
                      here_end: _EOF_
                      was_filled: T
                      spids: [2494]
                    )
                    (Redir
                      op_id: Redir_Great
                      fd: 16777215
                      arg_word: {(/etc/apt/sources.list)}
                      spids: [2498]
                    )
                  ]
                )
                (SimpleCommand
                  words: [{(cat)}]
                  redirects: [
                    (HereDoc
                      op_id: Redir_DLess
                      fd: 16777215
                      body: 
                        {
                          (DQ ('deb https://archive.raspberrypi.org/debian/ ') 
                            ($ VSub_Name '$DISTRO_TARGET_NAME') (' main ui\n')
                          )
                        }
                      do_expansion: True
                      here_end: _EOF_
                      was_filled: T
                      spids: [2510]
                    )
                    (Redir
                      op_id: Redir_Great
                      fd: 16777215
                      arg_word: {(/etc/apt/sources.list.d/raspi.list)}
                      spids: [2514]
                    )
                  ]
                )
                (AndOr
                  ops: [Op_DAmp]
                  children: [
                    (DParen
                      child: 
                        (ArithBinary
                          op_id: Arith_Great
                          left: (ArithWord w:{($ VSub_Name '$DISTRO_TARGET')})
                          right: (ArithWord w:{(Lit_Digits 4)})
                        )
                    )
                    (C {(sed)} {(-i)} {(DQ (s/) ($ VSub_Name '$DISTRO_TARGET_NAME') (/stretch/))} 
                      {(/etc/apt/sources.list.d/raspi.list)}
                    )
                  ]
                )
              ]
              spids: [16777215 2488]
            )
          ]
          else_action: [
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: 16777215
                  body: 
                    {
                      (DQ ('deb https://deb.debian.org/debian/ ') ($ VSub_Name '$DISTRO_TARGET_NAME') 
                        (' main contrib non-free\n') ('deb https://deb.debian.org/debian/ ') ($ VSub_Name '$DISTRO_TARGET_NAME') 
                        ('-updates main contrib non-free\n') ('deb https://deb.debian.org/debian-security/ ') ($ VSub_Name '$DISTRO_TARGET_NAME') 
                        ('/updates main contrib non-free\n') ('deb https://deb.debian.org/debian/ ') ($ VSub_Name '$DISTRO_TARGET_NAME') 
                        ('-backports main contrib non-free\n')
                      )
                    }
                  do_expansion: True
                  here_end: _EOF_
                  was_filled: T
                  spids: [2565]
                )
                (Redir
                  op_id: Redir_Great
                  fd: 16777215
                  arg_word: {(/etc/apt/sources.list)}
                  spids: [2569]
                )
              ]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_Less
                              left: (ArithWord w:{($ VSub_Name '$G_DISTRO')})
                              right: (ArithWord w:{(Lit_Digits 4)})
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(sed)} {(-i)} {(SQ <'s/https:/http:/g'>)} {(/etc/apt/sources.list)})]
                  spids: [16777215 2606]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_Great
                              left: (ArithWord w:{($ VSub_Name '$DISTRO_TARGET')})
                              right: (ArithWord w:{(Lit_Digits 4)})
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(sed)} {(-i)} {(SQ </backports/d>)} {(/etc/apt/sources.list)})]
                  spids: [2626 2640]
                )
              ]
              spids: [16777215 2656]
            )
          ]
          spids: [2559 2660]
        )
        (C {(G_DIETPI-NOTIFY)} {(2)} 
          {(DQ ('Updating APT for ') ($ VSub_Name '$DISTRO_TARGET_NAME') (':'))}
        )
        (C {(G_RUN_CMD)} {(apt-get)} {(clean)})
        (C {(G_AGUP)})
        (C {(G_DIETPI-NOTIFY)} {(2)} 
          {
            (DQ 
              (
'Marking all packages as auto installed first, to allow effective autoremove afterwards'
              )
            )
          }
        )
        (C {(G_RUN_CMD)} {(apt-mark)} {(auto)} 
          {
            (CommandSubPart
              command_list: (CommandList children:[(C {(apt-mark)} {(showmanual)})])
              left_token: <Left_CommandSub '$('>
              spids: [2708 2712]
            )
          }
        )
        (C {(G_DIETPI-NOTIFY)} {(2)} 
          {
            (DQ 
              (
'Temporary disable automatic recommends/suggests installation and allow them to be autoremoved:'
              )
            )
          }
        )
        (C {(export)} 
          {(Lit_VarLike 'G_ERROR_HANDLER_COMMAND=') (SQ </etc/apt/apt.conf.d/99-dietpi-norecommends>)}
        )
        (SimpleCommand
          words: [{(cat)}]
          redirects: [
            (HereDoc
              op_id: Redir_DLess
              fd: 16777215
              body: 
                {
                  (DQ ('APT::Install-Recommends ') (Right_DoubleQuote '"') (false) 
                    (Right_DoubleQuote '"') (';\n') ('APT::Install-Suggests ') (Right_DoubleQuote '"') (false) (Right_DoubleQuote '"') (';\n') 
                    ('APT::AutoRemove::RecommendsImportant ') (Right_DoubleQuote '"') (false) (Right_DoubleQuote '"') (';\n') ('APT::AutoRemove::SuggestsImportant ') 
                    (Right_DoubleQuote '"') (false) (Right_DoubleQuote '"') (';\n')
                  )
                }
              do_expansion: True
              here_end: _EOF_
              was_filled: T
              spids: [2740]
            )
            (Redir
              op_id: Redir_Great
              fd: 16777215
              arg_word: {($ VSub_Name '$G_ERROR_HANDLER_COMMAND')}
              spids: [2744]
            )
          ]
        )
        (C {(export)} {(Lit_VarLike 'G_ERROR_HANDLER_EXITCODE=') ($ VSub_QMark '$?')})
        (C {(G_ERROR_HANDLER)})
        (C {(G_DIETPI-NOTIFY)} {(2)} {(DQ ('Forcing use of modified apt configs'))})
        (C {(export)} 
          {(Lit_VarLike 'G_ERROR_HANDLER_COMMAND=') (SQ </etc/apt/apt.conf.d/99-dietpi-forceconf>)}
        )
        (SimpleCommand
          words: [{(cat)}]
          redirects: [
            (HereDoc
              op_id: Redir_DLess
              fd: 16777215
              body: 
                {
                  (DQ ('Dpkg::options {\n') ('   ') (Right_DoubleQuote '"') (--force-confdef) 
                    (Right_DoubleQuote '"') (';\n') ('   ') (Right_DoubleQuote '"') (--force-confold) (Right_DoubleQuote '"') (';\n') ('}\n')
                  )
                }
              do_expansion: True
              here_end: _EOF_
              was_filled: T
              spids: [2800]
            )
            (Redir
              op_id: Redir_Great
              fd: 16777215
              arg_word: {($ VSub_Name '$G_ERROR_HANDLER_COMMAND')}
              spids: [2804]
            )
          ]
        )
        (C {(export)} {(Lit_VarLike 'G_ERROR_HANDLER_EXITCODE=') ($ VSub_QMark '$?')})
        (C {(G_ERROR_HANDLER)})
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:aPACKAGES_REQUIRED_INSTALL)
              op: Equal
              rhs: 
                {
                  (ArrayLiteralPart
                    words: [
                      {(SQ <apt-transport-https>)}
                      {(SQ <apt-utils>)}
                      {(SQ <bash-completion>)}
                      {(SQ <bc>)}
                      {(SQ <bzip2>)}
                      {(SQ <ca-certificates>)}
                      {(SQ <console-setup>)}
                      {(SQ <cron>)}
                      {(SQ <curl>)}
                      {(SQ <dbus>)}
                      {(SQ <debconf>)}
                      {(SQ <dosfstools>)}
                      {(SQ <dphys-swapfile>)}
                      {(SQ <ethtool>)}
                      {(SQ <fake-hwclock>)}
                      {(SQ <fbset>)}
                      {(SQ <gnupg>)}
                      {(SQ <hfsplus>)}
                      {(SQ <htop>)}
                      {(SQ <initramfs-tools>)}
                      {(SQ <iputils-ping>)}
                      {(SQ <isc-dhcp-client>)}
                      {(SQ <locales>)}
                      {(SQ <nano>)}
                      {(SQ <net-tools>)}
                      {(SQ <ntfs-3g>)}
                      {(SQ <ntp>)}
                      {(SQ <p7zip-full>)}
                      {(SQ <parted>)}
                      {(SQ <psmisc>)}
                      {(SQ <resolvconf>)}
                      {(SQ <sudo>)}
                      {(SQ <systemd-sysv>)}
                      {(SQ <tzdata>)}
                      {(SQ <unzip>)}
                      {(SQ <usbutils>)}
                      {(SQ <wget>)}
                      {(SQ <whiptail>)}
                      {(SQ <wput>)}
                      {(SQ <zip>)}
                    ]
                  )
                }
              spids: [2836]
            )
          ]
          spids: [2836]
        )
        (If
          arms: [
            (if_arm
              cond: [
                (Sentence
                  child: 
                    (DParen
                      child: 
                        (ArithBinary
                          op_id: Arith_Less
                          left: (ArithWord w:{($ VSub_Name '$G_DISTRO')})
                          right: (ArithWord w:{(Lit_Digits 4)})
                        )
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:aPACKAGES_REQUIRED_INSTALL)
                      op: PlusEqual
                      rhs: {(ArrayLiteralPart words:[{(SQ <dropbear>)}])}
                      spids: [3188]
                    )
                  ]
                  spids: [3188]
                )
              ]
              spids: [16777215 3184]
            )
          ]
          else_action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:aPACKAGES_REQUIRED_INSTALL)
                  op: PlusEqual
                  rhs: {(ArrayLiteralPart words:[{(SQ <dropbear-run>)}])}
                  spids: [3204]
                )
              ]
              spids: [3204]
            )
          ]
          spids: [3200 3216]
        )
        (If
          arms: [
            (if_arm
              cond: [
                (Sentence
                  child: 
                    (DParen
                      child: 
                        (ArithBinary
                          op_id: Arith_GreatEqual
                          left: (ArithWord w:{($ VSub_Name '$G_HW_MODEL')})
                          right: (ArithWord w:{(Lit_Digits 10)})
                        )
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [(C {(G_AGI)} {(debian-archive-keyring)})]
              spids: [16777215 3242]
            )
          ]
          else_action: [(C {(G_AGI)} {(raspbian-archive-keyring)})]
          spids: [3252 3262]
        )
        (If
          arms: [
            (if_arm
              cond: [
                (Sentence
                  child: 
                    (DParen
                      child: 
                        (ArithBinary
                          op_id: Arith_NEqual
                          left: (ArithWord w:{($ VSub_Name '$G_HW_MODEL')})
                          right: (ArithWord w:{(Lit_Digits 20)})
                        )
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [
                (C {(G_AGI)} {(firmware-realtek)})
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:aPACKAGES_REQUIRED_INSTALL)
                      op: PlusEqual
                      rhs: {(ArrayLiteralPart words:[{(SQ <hdparm>)}])}
                      spids: [3300]
                    )
                  ]
                  spids: [3300]
                )
              ]
              spids: [16777215 3288]
            )
          ]
          spids: [16777215 3312]
        )
        (If
          arms: [
            (if_arm
              cond: [
                (Sentence
                  child: 
                    (DParen
                      child: 
                        (ArithBinary
                          op_id: Arith_DEqual
                          left: (ArithWord w:{($ VSub_Name '$G_HW_ARCH')})
                          right: (ArithWord w:{(Lit_Digits 10)})
                        )
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [
                (C {(G_AGI)} {(linux-image-amd64)})
                (AndOr
                  ops: [Op_DAmp]
                  children: [
                    (DParen
                      child: 
                        (ArithBinary
                          op_id: Arith_NEqual
                          left: (ArithWord w:{($ VSub_Name '$G_HW_MODEL')})
                          right: (ArithWord w:{(Lit_Digits 20)})
                        )
                    )
                    (C {(G_AGI)} {(firmware-linux-nonfree)})
                  ]
                )
                (AndOr
                  ops: [Op_DAmp]
                  children: [
                    (Pipeline
                      children: [
                        (C {(grep)} {(SQ <vendor_id>)} {(/proc/cpuinfo)})
                        (C {(grep)} {(-qi)} {(SQ <intel>)})
                      ]
                      negated: F
                    )
                    (C {(G_AGI)} {(intel-microcode)})
                  ]
                )
                (AndOr
                  ops: [Op_DAmp]
                  children: [
                    (Pipeline
                      children: [
                        (C {(grep)} {(SQ <vendor_id>)} {(/proc/cpuinfo)})
                        (C {(grep)} {(-qi)} {(SQ <amd>)})
                      ]
                      negated: F
                    )
                    (C {(G_AGI)} {(amd64-microcode)})
                  ]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (AndOr
                              ops: [Op_DPipe]
                              children: [
                                (DParen
                                  child: 
                                    (ArithWord
                                      w: 
                                        {
                                          (CommandSubPart
                                            command_list: 
                                              (CommandList
                                                children: [
                                                  (Pipeline
                                                    children: [
                                                      (C {(dpkg)} {(--get-selections)})
                                                      (C {(grep)} {(-ci)} {(-m1)} 
                                                        {(SQ <'^grub-efi-amd64[[:space:]]'>)}
                                                      )
                                                    ]
                                                    negated: F
                                                  )
                                                ]
                                              )
                                            left_token: <Left_CommandSub '$('>
                                            spids: [3448 3464]
                                          )
                                        }
                                    )
                                )
                                (C {(Lit_Other '[')} {(-d)} {(/boot/efi)} {(Lit_Other ']')})
                              ]
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [(C {(G_AGI)} {(grub-efi-amd64)})]
                      spids: [16777215 3481]
                    )
                  ]
                  else_action: [(C {(G_AGI)} {(grub-pc)})]
                  spids: [3495 3505]
                )
              ]
              spids: [16777215 3350]
            )
            (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)})
                        )
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [
                (C {(apt-mark)} {(unhold)} {(libraspberrypi-bin)} {(libraspberrypi0)} 
                  {(raspberrypi-bootloader)} {(raspberrypi-kernel)} {(raspberrypi-sys-mods)} {(raspi-copies-and-fills)}
                )
                (C {(rm)} {(-R)} {(/lib/modules/) (Lit_Other '*')})
                (C {(G_AGI)} {(libraspberrypi-bin)} {(libraspberrypi0)} {(raspberrypi-bootloader)} 
                  {(raspberrypi-kernel)} {(raspberrypi-sys-mods)} {(raspi-copies-and-fills)} {(--reinstall)}
                )
              ]
              spids: [3517 3531]
            )
            (if_arm
              cond: [
                (Sentence
                  child: 
                    (DParen
                      child: 
                        (ArithBinary
                          op_id: Arith_DEqual
                          left: (ArithWord w:{($ VSub_Name '$G_HW_MODEL')})
                          right: (ArithWord w:{(Lit_Digits 12)})
                        )
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [(C {(G_AGI)} {(linux-image-arm64-odroid-c2)})]
              spids: [3583 3597]
            )
            (if_arm
              cond: [
                (Sentence
                  child: 
                    (DParen
                      child: 
                        (ArithBinary
                          op_id: Arith_DEqual
                          left: (ArithWord w:{($ VSub_Name '$G_HW_MODEL')})
                          right: (ArithWord w:{(Lit_Digits 11)})
                        )
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [
                (C {(G_AGI)} 
                  {
                    (CommandSubPart
                      command_list: 
                        (CommandList
                          children: [
                            (Pipeline
                              children: [
                                (C {(dpkg)} {(--get-selections)})
                                (C {(grep)} {(SQ <'^linux-image'>)})
                                (C {(awk)} {(SQ <'{print $1}'>)})
                              ]
                              negated: F
                            )
                          ]
                        )
                      left_token: <Left_CommandSub '$('>
                      spids: [3635 3655]
                    )
                  }
                )
                (AndOr
                  ops: [Op_DPipe]
                  children: [
                    (DParen
                      child: 
                        (ArithWord
                          w: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(dpkg)} {(--get-selections)})
                                          (C {(grep)} {(-ci)} {(-m1)} {(SQ <'^linux-image'>)})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [3660 3676]
                              )
                            }
                        )
                    )
                    (C {(G_AGI)} {(linux-image-armhf-odroid-xu3)})
                  ]
                )
              ]
              spids: [3611 3625]
            )
            (if_arm
              cond: [
                (Sentence
                  child: 
                    (DParen
                      child: 
                        (ArithBinary
                          op_id: Arith_DEqual
                          left: (ArithWord w:{($ VSub_Name '$G_HW_MODEL')})
                          right: (ArithWord w:{(Lit_Digits 10)})
                        )
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [(C {(G_AGI)} {(linux-image-armhf-odroid-c1)})]
              spids: [3693 3707]
            )
            (if_arm
              cond: [
                (Sentence
                  child: 
                    (DParen
                      child: 
                        (ArithBinary
                          op_id: Arith_DEqual
                          left: (ArithWord w:{($ VSub_Name '$G_HW_MODEL')})
                          right: (ArithWord w:{(Lit_Digits 43)})
                        )
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [(C {(G_AGI)} {(linux-rock64-package)})]
              spids: [3721 3735]
            )
            (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 71)})
                        )
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [(C {(G_AGI)} {(device-tree-compiler)})]
              spids: [3749 3763]
            )
          ]
          else_action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:AUTO_DETECT_KERN_PKG)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(dpkg)} {(--get-selections)})
                                  (C {(grep)} {(SQ <'^linux-image'>)})
                                  (C {(awk)} {(SQ <'{print $1}'>)})
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [3786 3806]
                      )
                    }
                  spids: [3785]
                )
              ]
              spids: [3785]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_Name '$AUTO_DETECT_KERN_PKG'))} 
                          {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(G_AGI)} {($ VSub_Name '$AUTO_DETECT_KERN_PKG')})]
                  spids: [16777215 3822]
                )
              ]
              else_action: [
                (C {(G_DIETPI-NOTIFY)} {(2)} 
                  {
                    (SQ 
                      <
'Unable to find kernel packages for installation. Assuming non-APT/.deb kernel installation.'
                      >
                    )
                  }
                )
              ]
              spids: [3832 3846]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:AUTO_DETECT_DTB_PKG)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(dpkg)} {(--get-selections)})
                                  (C {(grep)} {(SQ <'^linux-dtb-'>)})
                                  (C {(awk)} {(SQ <'{print $1}'>)})
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [3855 3875]
                      )
                    }
                  spids: [3854]
                )
              ]
              spids: [3854]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_Name '$AUTO_DETECT_DTB_PKG'))} 
                          {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(G_AGI)} {($ VSub_Name '$AUTO_DETECT_DTB_PKG')})]
                  spids: [16777215 3891]
                )
              ]
              spids: [16777215 3901]
            )
          ]
          spids: [3781 3949]
        )
        (C {(G_DIETPI-NOTIFY)} {(2)} {(DQ ('WiFi selection'))})
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:WHIP_TITLE)
              op: Equal
              rhs: {(SQ <'WiFi required?'>)}
              spids: [3963]
            )
          ]
          spids: [3963]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:WHIP_DESC)
              op: Equal
              rhs: {(SQ <'Please select an option'>)}
              spids: [3969]
            )
          ]
          spids: [3969]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:WHIP_DEFAULT_ITEM) op:Equal rhs:{(1)} spids:[3975])]
          spids: [3975]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:WHIP_MENU_ARRAY)
              op: Equal
              rhs: 
                {
                  (ArrayLiteralPart
                    words: [
                      {(SQ <0>)}
                      {(DQ ("I don't require WiFi, do not install."))}
                      {(SQ <1>)}
                      {(SQ <'I require WiFi functionality, keep/install related packages.'>)}
                    ]
                  )
                }
              spids: [3979]
            )
          ]
          spids: [3979]
        )
        (C {(Run_Whiptail)})
        (If
          arms: [
            (if_arm
              cond: [
                (Sentence
                  child: 
                    (DParen
                      child: 
                        (ArithBinary
                          op_id: Arith_DEqual
                          left: (ArithWord w:{($ VSub_Name '$WHIP_RETURN_VALUE')})
                          right: (ArithWord w:{(Lit_Digits 1)})
                        )
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [
                (C {(G_DIETPI-NOTIFY)} {(2)} {(DQ ('Marking WiFi as needed'))})
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:aPACKAGES_REQUIRED_INSTALL)
                      op: PlusEqual
                      rhs: {(ArrayLiteralPart words:[{(SQ <crda>)}])}
                      spids: [4038]
                    )
                  ]
                  spids: [4038]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:aPACKAGES_REQUIRED_INSTALL)
                      op: PlusEqual
                      rhs: {(ArrayLiteralPart words:[{(SQ <firmware-atheros>)}])}
                      spids: [4049]
                    )
                  ]
                  spids: [4049]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:aPACKAGES_REQUIRED_INSTALL)
                      op: PlusEqual
                      rhs: {(ArrayLiteralPart words:[{(SQ <firmware-brcm80211>)}])}
                      spids: [4060]
                    )
                  ]
                  spids: [4060]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:aPACKAGES_REQUIRED_INSTALL)
                      op: PlusEqual
                      rhs: {(ArrayLiteralPart words:[{(SQ <firmware-ralink>)}])}
                      spids: [4071]
                    )
                  ]
                  spids: [4071]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:aPACKAGES_REQUIRED_INSTALL)
                      op: PlusEqual
                      rhs: {(ArrayLiteralPart words:[{(SQ <iw>)}])}
                      spids: [4082]
                    )
                  ]
                  spids: [4082]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:aPACKAGES_REQUIRED_INSTALL)
                      op: PlusEqual
                      rhs: {(ArrayLiteralPart words:[{(SQ <rfkill>)}])}
                      spids: [4093]
                    )
                  ]
                  spids: [4093]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:aPACKAGES_REQUIRED_INSTALL)
                      op: PlusEqual
                      rhs: {(ArrayLiteralPart words:[{(SQ <wireless-tools>)}])}
                      spids: [4104]
                    )
                  ]
                  spids: [4104]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:aPACKAGES_REQUIRED_INSTALL)
                      op: PlusEqual
                      rhs: {(ArrayLiteralPart words:[{(SQ <wpasupplicant>)}])}
                      spids: [4115]
                    )
                  ]
                  spids: [4115]
                )
              ]
              spids: [16777215 4024]
            )
          ]
          spids: [16777215 4127]
        )
        (C {(G_DIETPI-NOTIFY)} {(2)} 
          {(DQ ('Generating list of minimal packages, required for DietPi installation:'))}
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:INSTALL_PACKAGES) op:Equal rhs:{(SQ )} spids:[4141])]
          spids: [4141]
        )
        (ForExpr
          init: 
            (BinaryAssign
              op_id: Arith_Equal
              left: (LhsName name:i)
              right: (ArithWord w:{(Lit_Digits 0)})
            )
          cond: 
            (ArithBinary
              op_id: Arith_Less
              left: (ArithVarRef name:i)
              right: 
                (ArithWord
                  w: 
                    {
                      (BracedVarSub
                        token: <VSub_Name aPACKAGES_REQUIRED_INSTALL>
                        prefix_op: VSub_Pound
                        bracket_op: (WholeArray op_id:Lit_At)
                        spids: [4156 4162]
                      )
                    }
                )
            )
          update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i))
          body: 
            (DoGroup
              children: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:INSTALL_PACKAGES)
                      op: PlusEqual
                      rhs: 
                        {
                          (DQ 
                            (BracedVarSub
                              token: <VSub_Name aPACKAGES_REQUIRED_INSTALL>
                              bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$i')}))
                              spids: [4181 4186]
                            ) (' ')
                          )
                        }
                      spids: [4179]
                    )
                  ]
                  spids: [4179]
                )
              ]
              spids: [4171 4192]
            )
        )
        (C {(unset)} {(aPACKAGES_REQUIRED_INSTALL)})
        (C {(G_DIETPI-NOTIFY)} {(2)} {(DQ ('Marking required packages as manually installed:'))})
        (C {(G_RUN_CMD)} {(apt-mark)} {(manual)} {($ VSub_Name '$INSTALL_PACKAGES')})
        (C {(G_DIETPI-NOTIFY)} {(2)} {(DQ ('Purging APT with autoremoval:'))})
        (C {(G_AGA)})
        (C {(echo)} {(-e)} {(SQ )})
        (C {(G_DIETPI-NOTIFY)} {(2)} 
          {
            (SQ <----------------------------------------------------------------------------------->)
          }
        )
        (C {(G_DIETPI-NOTIFY)} {(0)} {(SQ <'Step 5: APT installations:'>)})
        (C {(G_DIETPI-NOTIFY)} {(2)} 
          {
            (SQ <----------------------------------------------------------------------------------->)
          }
        )
        (C {(G_DIETPI-NOTIFY)} {(2)} {(DQ ('Upgrading existing APT installed packages:'))})
        (C {(G_AGDUG)})
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:G_DISTRO)
              op: Equal
              rhs: {($ VSub_Name '$DISTRO_TARGET')}
              spids: [4303]
            )
          ]
          spids: [4303]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:G_DISTRO_NAME)
              op: Equal
              rhs: {($ VSub_Name '$DISTRO_TARGET_NAME')}
              spids: [4307]
            )
          ]
          spids: [4307]
        )
        (C {(G_DIETPI-NOTIFY)} {(2)} 
          {(DQ ('Disabling swapfile generation for dphys-swapfile during install'))}
        )
        (SimpleCommand
          words: [{(G_RUN_CMD)} {(echo)} {(-e)} {(DQ ('CONF_SWAPSIZE=0'))}]
          redirects: [
            (Redir
              op_id: Redir_Great
              fd: 16777215
              arg_word: {(/etc/dphys-swapfile)}
              spids: [4332]
            )
          ]
        )
        (C {(G_DIETPI-NOTIFY)} {(2)} {(DQ ('Installing core DietPi pre-req APT packages'))})
        (C {(G_AGI)} {($ VSub_Name '$INSTALL_PACKAGES')})
        (C {(G_DIETPI-NOTIFY)} {(2)} {(DQ ('Returning installation of recommends back to default'))})
        (C {(G_RUN_CMD)} {(rm)} {(/etc/apt/apt.conf.d/99-dietpi-norecommends)})
        (C {(G_DIETPI-NOTIFY)} {(2)} 
          {(DQ ('Purging APT with autoremoval (in case of DISTRO upgrade/downgrade):'))}
        )
        (C {(G_AGA)})
        (If
          arms: [
            (if_arm
              cond: [
                (Sentence
                  child: 
                    (DParen
                      child: 
                        (ArithBinary
                          op_id: Arith_DAmp
                          left: 
                            (ArithBinary
                              op_id: Arith_Great
                              left: (ArithWord w:{($ VSub_Name '$G_DISTRO')})
                              right: (ArithWord w:{(Lit_Digits 3)})
                            )
                          right: 
                            (ArithBinary
                              op_id: Arith_Great
                              left: (ArithWord w:{($ VSub_Name '$G_HW_MODEL')})
                              right: (ArithWord w:{(Lit_Digits 9)})
                            )
                        )
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [(C {(sed)} {(-i)} {(SQ <'s/http:/https:/g'>)} {(/etc/apt/sources.list)})]
              spids: [16777215 4416]
            )
          ]
          spids: [16777215 4432]
        )
        (C {(echo)} {(-e)} {(SQ )})
        (C {(G_DIETPI-NOTIFY)} {(2)} 
          {
            (SQ <----------------------------------------------------------------------------------->)
          }
        )
        (C {(G_DIETPI-NOTIFY)} {(0)} {(SQ <'Step 6: Downloading and installing DietPi sourcecode'>)})
        (C {(G_DIETPI-NOTIFY)} {(2)} 
          {
            (SQ <----------------------------------------------------------------------------------->)
          }
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:INTERNET_ADDRESS)
              op: Equal
              rhs: 
                {
                  (DQ ('https://github.com/Fourdee/DietPi/archive/') ($ VSub_Name '$GIT_BRANCH') (.zip))
                }
              spids: [4480]
            )
          ]
          spids: [4480]
        )
        (C {(G_DIETPI-NOTIFY)} {(2)} {(DQ ('Checking connection to ') ($ VSub_Name '$INTERNET_ADDRESS'))})
        (C {(G_CHECK_URL)} {(DQ ($ VSub_Name '$INTERNET_ADDRESS'))})
        (C {(G_RUN_CMD)} {(wget)} {(DQ ($ VSub_Name '$INTERNET_ADDRESS'))} {(-O)} {(package.zip)})
        (C {(G_DIETPI-NOTIFY)} {(2)} {(DQ ('Extracting DietPi sourcecode'))})
        (C {(G_RUN_CMD)} {(unzip)} {(-o)} {(package.zip)})
        (C {(rm)} {(package.zip)})
        (C {(G_DIETPI-NOTIFY)} {(2)} {(DQ ('Removing files not required'))})
        (C {(rm)} {(DietPi-) (Lit_Other '*') (/CHANGELOG.txt)})
        (C {(rm)} {(DietPi-) (Lit_Other '*') (/PREP_SYSTEM_FOR_DIETPI.sh)})
        (C {(rm)} {(DietPi-) (Lit_Other '*') (/TESTING-BRANCH.md)})
        (C {(rm)} {(DietPi-) (Lit_Other '*') (/uEnv.txt)})
        (C {(G_DIETPI-NOTIFY)} {(2)} {(DQ ('Creating /boot'))})
        (C {(G_RUN_CMD)} {(mkdir)} {(-p)} {(/boot)})
        (C {(G_DIETPI-NOTIFY)} {(2)} {(DQ ('Moving to /boot'))})
        (If
          arms: [
            (if_arm
              cond: [
                (Sentence
                  child: 
                    (DParen
                      child: 
                        (ArithBinary
                          op_id: Arith_DEqual
                          left: (ArithWord w:{($ VSub_Name '$G_HW_MODEL')})
                          right: (ArithWord w:{(Lit_Digits 10)})
                        )
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [
                (C {(G_RUN_CMD)} {(mv)} {(DietPi-) (Lit_Other '*') (/boot_c1.ini)} {(/boot/boot.ini)})
              ]
              spids: [16777215 4643]
            )
            (if_arm
              cond: [
                (Sentence
                  child: 
                    (DParen
                      child: 
                        (ArithBinary
                          op_id: Arith_DEqual
                          left: (ArithWord w:{($ VSub_Name '$G_HW_MODEL')})
                          right: (ArithWord w:{(Lit_Digits 11)})
                        )
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [
                (C {(G_RUN_CMD)} {(mv)} {(DietPi-) (Lit_Other '*') (/boot_xu4.ini)} {(/boot/boot.ini)})
              ]
              spids: [4659 4673]
            )
            (if_arm
              cond: [
                (Sentence
                  child: 
                    (DParen
                      child: 
                        (ArithBinary
                          op_id: Arith_DEqual
                          left: (ArithWord w:{($ VSub_Name '$G_HW_MODEL')})
                          right: (ArithWord w:{(Lit_Digits 12)})
                        )
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [
                (C {(G_RUN_CMD)} {(mv)} {(DietPi-) (Lit_Other '*') (/boot_c2.ini)} {(/boot/boot.ini)})
              ]
              spids: [4689 4703]
            )
          ]
          spids: [16777215 4719]
        )
        (C {(rm)} {(DietPi-) (Lit_Other '*') (/) (Lit_Other '*') (.ini)})
        (C {(G_RUN_CMD)} {(cp)} {(-R)} {(DietPi-) (Lit_Other '*') (/) (Lit_Other '*')} {(/boot/)})
        (C {(G_DIETPI-NOTIFY)} {(2)} {(DQ ('Cleaning up extracted files'))})
        (C {(G_RUN_CMD)} {(rm)} {(-R)} {(DietPi-) (Lit_Other '*')})
        (C {(G_DIETPI-NOTIFY)} {(2)} {(DQ ('Setting execute permissions for /boot/dietpi'))})
        (C {(G_RUN_CMD)} {(chmod)} {(-R)} {(Lit_Other '+') (x)} {(/boot/dietpi)})
        (C {(echo)} {(-e)} {(SQ )})
        (C {(G_DIETPI-NOTIFY)} {(2)} 
          {
            (SQ <----------------------------------------------------------------------------------->)
          }
        )
        (C {(G_DIETPI-NOTIFY)} {(0)} {(DQ ('Step 7: Prep system for DietPi ENV:'))})
        (C {(G_DIETPI-NOTIFY)} {(2)} 
          {
            (SQ <----------------------------------------------------------------------------------->)
          }
        )
        (C {(G_DIETPI-NOTIFY)} {(2)} {(DQ ('Deleting list of known users, not required by DietPi'))})
        (Sentence child:(C {(userdel)} {(-f)} {(pi)}) terminator:<Op_Amp '&'>)
        (SimpleCommand
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[4852])]
        )
        (Sentence child:(C {(userdel)} {(-f)} {(test)}) terminator:<Op_Amp '&'>)
        (SimpleCommand
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[4864])]
        )
        (Sentence child:(C {(userdel)} {(-f)} {(odroid)}) terminator:<Op_Amp '&'>)
        (SimpleCommand
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[4879])]
        )
        (Sentence child:(C {(userdel)} {(-f)} {(rock64)}) terminator:<Op_Amp '&'>)
        (SimpleCommand
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[4891])]
        )
        (Sentence child:(C {(userdel)} {(-f)} {(linaro)}) terminator:<Op_Amp '&'>)
        (SimpleCommand
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[4903])]
        )
        (Sentence child:(C {(userdel)} {(-f)} {(dietpi)}) terminator:<Op_Amp '&'>)
        (SimpleCommand
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[4918])]
        )
        (Sentence child:(C {(userdel)} {(-f)} {(debian)}) terminator:<Op_Amp '&'>)
        (SimpleCommand
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[4930])]
        )
        (C {(G_DIETPI-NOTIFY)} {(2)} 
          {(DQ ('Removing misc files/folders/services, not required by DietPi'))}
        )
        (Sentence child:(C {(rm)} {(-R)} {(/home)}) terminator:<Op_Amp '&'>)
        (SimpleCommand
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[4956])]
        )
        (Sentence child:(C {(rm)} {(-R)} {(/media)}) terminator:<Op_Amp '&'>)
        (SimpleCommand
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[4968])]
        )
        (Sentence child:(C {(rm)} {(-R)} {(/selinux)}) terminator:<Op_Amp '&'>)
        (SimpleCommand
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[4980])]
        )
        (Sentence
          child: (C {(rm)} {(-R)} {(/var/www/) (Lit_Other '*')})
          terminator: <Op_Amp '&'>
        )
        (SimpleCommand
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[4998])]
        )
        (Sentence
          child: (C {(rm)} {(-R)} {(/usr/src/) (Lit_Other '*')})
          terminator: <Op_Amp '&'>
        )
        (SimpleCommand
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[5016])]
        )
        (Sentence
          child: (C {(rm)} {(-R)} {(/root/.cache/) (Lit_Other '*')})
          terminator: <Op_Amp '&'>
        )
        (SimpleCommand
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[5034])]
        )
        (Sentence
          child: (C {(rm)} {(-R)} {(/root/.local/) (Lit_Other '*')})
          terminator: <Op_Amp '&'>
        )
        (SimpleCommand
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[5047])]
        )
        (Sentence
          child: (C {(rm)} {(-R)} {(/root/.config/) (Lit_Other '*')})
          terminator: <Op_Amp '&'>
        )
        (SimpleCommand
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[5060])]
        )
        (Sentence child:(C {(rm)} {(-R)} {(/usr/share/man)}) terminator:<Op_Amp '&'>)
        (SimpleCommand
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[5077])]
        )
        (Sentence child:(C {(rm)} {(-R)} {(/usr/share/doc)}) terminator:<Op_Amp '&'>)
        (SimpleCommand
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[5089])]
        )
        (Sentence child:(C {(rm)} {(-R)} {(/usr/share/doc-base)}) terminator:<Op_Amp '&'>)
        (SimpleCommand
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[5101])]
        )
        (Sentence child:(C {(rm)} {(-R)} {(/usr/share/calendar)}) terminator:<Op_Amp '&'>)
        (SimpleCommand
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[5113])]
        )
        (Sentence
          child: (C {(rm)} {(/var/cache/debconf/) (Lit_Other '*') (-old)})
          terminator: <Op_Amp '&'>
        )
        (SimpleCommand
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[5130])]
        )
        (Sentence
          child: (C {(rm)} {(-R)} {(/usr/share/fonts/) (Lit_Other '*')})
          terminator: <Op_Amp '&'>
        )
        (SimpleCommand
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[5148])]
        )
        (Sentence
          child: (C {(rm)} {(-R)} {(/usr/share/icons/) (Lit_Other '*')})
          terminator: <Op_Amp '&'>
        )
        (SimpleCommand
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[5161])]
        )
        (Sentence child:(C {(rm)} {(/etc/init.d/resize2fs)}) terminator:<Op_Amp '&'>)
        (SimpleCommand
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[5172])]
        )
        (Sentence
          child: (C {(rm)} {(/etc/update-motd.d/) (Lit_Other '*')})
          terminator: <Op_Amp '&'>
        )
        (SimpleCommand
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[5183])]
        )
        (Sentence child:(C {(systemctl)} {(disable)} {(firstrun)}) terminator:<Op_Amp '&'>)
        (SimpleCommand
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[5199])]
        )
        (Sentence child:(C {(rm)} {(/etc/init.d/firstrun)}) terminator:<Op_Amp '&'>)
        (SimpleCommand
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[5209])]
        )
        (Sentence
          child: (C {(systemctl)} {(disable)} {(log2ram.service)})
          terminator: <Op_Amp '&'>
        )
        (SimpleCommand
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[5229])]
        )
        (Sentence
          child: (C {(systemctl)} {(stop)} {(log2ram.service)})
          terminator: <Op_Amp '&'>
        )
        (SimpleCommand
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[5241])]
        )
        (Sentence child:(C {(rm)} {(/usr/local/sbin/log2ram)}) terminator:<Op_Amp '&'>)
        (SimpleCommand
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[5251])]
        )
        (Sentence
          child: (C {(rm)} {(/etc/systemd/system/log2ram.service)})
          terminator: <Op_Amp '&'>
        )
        (SimpleCommand
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[5261])]
        )
        (Sentence child:(C {(systemctl)} {(daemon-reload)}) terminator:<Op_Amp '&'>)
        (SimpleCommand
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[5271])]
        )
        (Sentence child:(C {(rm)} {(/etc/cron.hourly/log2ram)}) terminator:<Op_Amp '&'>)
        (SimpleCommand
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[5281])]
        )
        (Sentence child:(C {(rm)} {(/etc/init.d/cpu_governor)}) terminator:<Op_Amp '&'>)
        (SimpleCommand
          words: [{(Meveric)}]
          redirects: [
            (Redir
              op_id: Redir_Great
              fd: 16777215
              arg_word: {(/dev/null) (Lit_Pound '#')}
              spids: [5292]
            )
          ]
        )
        (Sentence
          child: (C {(rm)} {(/etc/systemd/system/cpu_governor.service)})
          terminator: <Op_Amp '&'>
        )
        (SimpleCommand
          words: [{(Meveric)}]
          redirects: [
            (Redir
              op_id: Redir_Great
              fd: 16777215
              arg_word: {(/dev/null) (Lit_Pound '#')}
              spids: [5305]
            )
          ]
        )
        (Sentence child:(C {(systemctl)} {(disable)} {(resize2fs)}) terminator:<Op_Amp '&'>)
        (SimpleCommand
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[5325])]
        )
        (Sentence
          child: (C {(rm)} {(/etc/systemd/system/resize2fs.service)})
          terminator: <Op_Amp '&'>
        )
        (SimpleCommand
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[5335])]
        )
        (Sentence
          child: (C {(rm)} {(/etc/profile.d/check_first_login_reboot.sh)})
          terminator: <Op_Amp '&'>
        )
        (SimpleCommand
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[5350])]
        )
        (C {(G_DIETPI-NOTIFY)} {(2)} {(DQ ('Creating DietPi core environment'))})
        (C {(G_RUN_CMD)} {(/boot/dietpi/func/dietpi-set_core_environment)})
        (SimpleCommand
          words: [
            {(echo)}
            {(-e)}
            {
              (DQ ('Samba client can be installed and setup by DietPi-Config.') (Lit_Other '\\') 
                ('nSimply run: dietpi-config and select the Networking option: NAS/Misc menu')
              )
            }
          ]
          redirects: [
            (Redir
              op_id: Redir_Great
              fd: 16777215
              arg_word: {(/mnt/samba/readme.txt)}
              spids: [5382]
            )
          ]
        )
        (SimpleCommand
          words: [
            {(echo)}
            {(-e)}
            {
              (DQ ('FTP client mount can be installed and setup by DietPi-Config.') (Lit_Other '\\') 
                ('nSimply run: dietpi-config and select the Networking option: NAS/Misc menu')
              )
            }
          ]
          redirects: [
            (Redir
              op_id: Redir_Great
              fd: 16777215
              arg_word: {(/mnt/ftp_client/readme.txt)}
              spids: [5397]
            )
          ]
        )
        (SimpleCommand
          words: [
            {(echo)}
            {(-e)}
            {
              (DQ ('NFS client can be installed and setup by DietPi-Config.') (Lit_Other '\\') 
                ('nSimply run: dietpi-config and select the Networking option: NAS/Misc menu')
              )
            }
          ]
          redirects: [
            (Redir
              op_id: Redir_Great
              fd: 16777215
              arg_word: {(/mnt/nfs_client/readme.txt)}
              spids: [5412]
            )
          ]
        )
        (C {(G_DIETPI-NOTIFY)} {(2)} {(DQ ('Deleting all log files /var/log'))})
        (Sentence child:(C {(/boot/dietpi/dietpi-logclear)} {(2)}) terminator:<Op_Amp '&'>)
        (SimpleCommand
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[5433])]
        )
        (C {(G_DIETPI-NOTIFY)} {(2)} {(DQ ('Generating DietPi /etc/fstab'))})
        (C {(G_RUN_CMD)} {(/boot/dietpi/dietpi-drive_manager)} {(4)})
        (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)})
                        )
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:PARTUUID_CURRENT)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (C {(blkid)} {(/dev/mmcblk0p1)} {(-s)} {(PARTUUID)} {(-o)} {(value)})
                                ]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [5487 5499]
                          )
                        }
                      spids: [5486]
                    )
                  ]
                  spids: [5486]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:UUID_CURRENT)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (C {(blkid)} {(/dev/mmcblk0p1)} {(-s)} {(UUID)} {(-o)} {(value)})
                                ]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [5503 5515]
                          )
                        }
                      spids: [5502]
                    )
                  ]
                  spids: [5502]
                )
                (C {(sed)} {(-i)} 
                  {
                    (DQ ('s#^UUID=') ($ VSub_Name '$UUID_CURRENT') ('#PARTUUID=') 
                      ($ VSub_Name '$PARTUUID_CURRENT') ('#g')
                    )
                  } {(/etc/fstab)}
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:PARTUUID_CURRENT)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (C {(blkid)} {(/dev/mmcblk0p2)} {(-s)} {(PARTUUID)} {(-o)} {(value)})
                                ]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [5535 5547]
                          )
                        }
                      spids: [5534]
                    )
                  ]
                  spids: [5534]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:UUID_CURRENT)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (C {(blkid)} {(/dev/mmcblk0p2)} {(-s)} {(UUID)} {(-o)} {(value)})
                                ]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [5551 5563]
                          )
                        }
                      spids: [5550]
                    )
                  ]
                  spids: [5550]
                )
                (C {(sed)} {(-i)} 
                  {
                    (DQ ('s#^UUID=') ($ VSub_Name '$UUID_CURRENT') ('#PARTUUID=') 
                      ($ VSub_Name '$PARTUUID_CURRENT') ('#g')
                    )
                  } {(/etc/fstab)}
                )
                (C {(systemctl)} {(daemon-reload)})
              ]
              spids: [16777215 5482]
            )
          ]
          spids: [16777215 5588]
        )
        (C {(G_DIETPI-NOTIFY)} {(2)} {(DQ ('Starting DietPi-RAMdisk service'))})
        (C {(G_RUN_CMD)} {(systemctl)} {(start)} {(dietpi-ramdisk.service)})
        (C {(G_DIETPI-NOTIFY)} {(2)} {(DQ ('Starting DietPi-RAMlog service'))})
        (C {(G_RUN_CMD)} {(systemctl)} {(start)} {(dietpi-ramlog.service)})
        (C {(G_DIETPI-NOTIFY)} {(2)} {(SQ <'Updating DietPi HW_INFO'>)})
        (C {(/DietPi/dietpi/dietpi-obtain_hw_model)})
        (C {(G_DIETPI-NOTIFY)} {(2)} {(DQ ('Configuring Network:'))})
        (Sentence child:(C {(rm)} {(-R)} {(/etc/network/interfaces)}) terminator:<Op_Amp '&'>)
        (SimpleCommand
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[5663])]
        )
        (C {(G_RUN_CMD)} {(cp)} {(/boot/dietpi/conf/network_interfaces)} {(/etc/network/interfaces)})
        (Sentence
          child: (C {(rm)} {(/etc/udev/rules.d/70-persistent-net.rules)})
          terminator: <Op_Amp '&'>
        )
        (SimpleCommand
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[5691])]
        )
        (Sentence
          child: (C {(rm)} {(/etc/udev/rules.d/70-persistant-net.rules)})
          terminator: <Op_Amp '&'>
        )
        (SimpleCommand
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[5701])]
        )
        (If
          arms: [
            (if_arm
              cond: [
                (Sentence
                  child: 
                    (DParen
                      child: 
                        (ArithBinary
                          op_id: Arith_DEqual
                          left: (ArithWord w:{($ VSub_Name '$G_HW_MODEL')})
                          right: (ArithWord w:{(Lit_Digits 32)})
                        )
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [
                (C {(sed)} {(-i)} 
                  {
                    (SQ 
                      <
'/iface wlan0 inet dhcp/apre-up modprobe xradio_wlan\\npre-up iwconfig wlan0 power on'
                      >
                    )
                  } {(/etc/network/interfaces)}
                )
              ]
              spids: [16777215 5725]
            )
          ]
          spids: [16777215 5741]
        )
        (C {(G_DIETPI-NOTIFY)} {(2)} {(DQ ('Tweaking DHCP timeout:'))})
        (C {(sed)} {(-i)} {(SQ <'/^#timeout /d'>)} {(/etc/dhcp/dhclient.conf)})
        (C {(sed)} {(-i)} {(SQ <'/^#retry /d'>)} {(/etc/dhcp/dhclient.conf)})
        (C {(sed)} {(-i)} {(SQ <'/^timeout /d'>)} {(/etc/dhcp/dhclient.conf)})
        (C {(sed)} {(-i)} {(SQ <'/^retry /d'>)} {(/etc/dhcp/dhclient.conf)})
        (SimpleCommand
          words: [{(cat)}]
          redirects: [
            (HereDoc
              op_id: Redir_DLess
              fd: 16777215
              body: {(DQ ('timeout 10;\n') ('retry 4;\n'))}
              do_expansion: True
              here_end: _EOF_
              was_filled: T
              spids: [5805]
            )
            (Redir
              op_id: Redir_DGreat
              fd: 16777215
              arg_word: {(/etc/dhcp/dhclient.conf)}
              spids: [5809]
            )
          ]
        )
        (C {(G_DIETPI-NOTIFY)} {(2)} {(DQ ('Configuring hosts:'))})
        (C {(export)} {(Lit_VarLike 'G_ERROR_HANDLER_COMMAND=') (SQ </etc/hosts>)})
        (SimpleCommand
          words: [{(cat)}]
          redirects: [
            (HereDoc
              op_id: Redir_DLess
              fd: 16777215
              body: 
                {
                  (DQ ('127.0.0.1    localhost\n') ('127.0.1.1    DietPi\n') 
                    ('::1          localhost ip6-localhost ip6-loopback\n') ('ff02::1      ip6-allnodes\n') ('ff02::2      ip6-allrouters\n')
                  )
                }
              do_expansion: True
              here_end: _EOF_
              was_filled: T
              spids: [5838]
            )
            (Redir
              op_id: Redir_Great
              fd: 16777215
              arg_word: {($ VSub_Name '$G_ERROR_HANDLER_COMMAND')}
              spids: [5842]
            )
          ]
        )
        (C {(export)} {(Lit_VarLike 'G_ERROR_HANDLER_EXITCODE=') ($ VSub_QMark '$?')})
        (C {(G_ERROR_HANDLER)})
        (C {(export)} {(Lit_VarLike 'G_ERROR_HANDLER_COMMAND=') (SQ </etc/hostname>)})
        (SimpleCommand
          words: [{(cat)}]
          redirects: [
            (HereDoc
              op_id: Redir_DLess
              fd: 16777215
              body: {(DQ ('DietPi\n'))}
              do_expansion: True
              here_end: _EOF_
              was_filled: T
              spids: [5873]
            )
            (Redir
              op_id: Redir_Great
              fd: 16777215
              arg_word: {($ VSub_Name '$G_ERROR_HANDLER_COMMAND')}
              spids: [5877]
            )
          ]
        )
        (C {(export)} {(Lit_VarLike 'G_ERROR_HANDLER_EXITCODE=') ($ VSub_QMark '$?')})
        (C {(G_ERROR_HANDLER)})
        (C {(G_DIETPI-NOTIFY)} {(2)} {(DQ ('Configuring htop:'))})
        (C {(mkdir)} {(-p)} {(/root/.config/htop)})
        (C {(cp)} {(/DietPi/dietpi/conf/htoprc)} {(/root/.config/htop/htoprc)})
        (C {(G_DIETPI-NOTIFY)} {(2)} {(DQ ('Configuring hdparm:'))})
        (C {(export)} {(Lit_VarLike 'G_ERROR_HANDLER_COMMAND=') (SQ </etc/hdparm.conf>)})
        (SimpleCommand
          words: [{(cat)}]
          redirects: [
            (HereDoc
              op_id: Redir_DLess
              fd: 16777215
              body: 
                {
                  (DQ ('\n') ('#DietPi external USB drive. Power management settings.\n') 
                    ('/dev/sda {\n') ('        #10 mins\n') ('        spindown_time = 120\n') ('\n') ('        #\n') ('        apm = 254\n') 
                    ('}\n')
                  )
                }
              do_expansion: True
              here_end: _EOF_
              was_filled: T
              spids: [5939]
            )
            (Redir
              op_id: Redir_DGreat
              fd: 16777215
              arg_word: {($ VSub_Name '$G_ERROR_HANDLER_COMMAND')}
              spids: [5943]
            )
          ]
        )
        (C {(export)} {(Lit_VarLike 'G_ERROR_HANDLER_EXITCODE=') ($ VSub_QMark '$?')})
        (C {(G_ERROR_HANDLER)})
        (C {(G_DIETPI-NOTIFY)} {(2)} {(DQ ('Configuring fakehwclock:'))})
        (C {(sed)} {(-i)} {(DQ ('/FORCE=/c') (Lit_Other '\\') ('FORCE=force'))} 
          {(/etc/default/fake-hwclock)}
        )
        (C {(G_DIETPI-NOTIFY)} {(2)} {(DQ ('Configuring serial consoles:'))})
        (C {(/DietPi/dietpi/func/dietpi-set_hardware)} {(serialconsole)} {(disable)})
        (C {(G_DIETPI-NOTIFY)} {(2)} {(DQ ('Configuring ntpd:'))})
        (C {(systemctl)} {(disable)} {(systemd-timesyncd)})
        (Sentence child:(C {(rm)} {(/etc/init.d/ntp)}) terminator:<Op_Amp '&'>)
        (SimpleCommand
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[6040])]
        )
        (AndOr
          ops: [Op_DAmp]
          children: [
            (DParen
              child: 
                (ArithBinary
                  op_id: Arith_Great
                  left: (ArithWord w:{($ VSub_Name '$G_DISTRO')})
                  right: (ArithWord w:{(Lit_Digits 4)})
                )
            )
            (C {(systemctl)} {(mask)} {(ntp)})
          ]
        )
        (C {(G_DIETPI-NOTIFY)} {(2)} {(DQ ('Configuring regional settings (TZdata):'))})
        (Sentence child:(C {(rm)} {(/etc/timezone)}) terminator:<Op_Amp '&'>)
        (SimpleCommand
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[6081])]
        )
        (C {(rm)} {(/etc/localtime)})
        (C {(ln)} {(-fs)} {(/usr/share/zoneinfo/Europe/London)} {(/etc/localtime)})
        (C {(G_RUN_CMD)} {(dpkg-reconfigure)} {(-f)} {(noninteractive)} {(tzdata)})
        (C {(G_DIETPI-NOTIFY)} {(2)} {(DQ ('Configuring regional settings (Keyboard):'))})
        (C {(dpkg-reconfigure)} {(-f)} {(noninteractive)} {(keyboard-configuration)})
        (C {(G_DIETPI-NOTIFY)} {(2)} {(DQ ('Applying G_HW_ARCH specific tweaks:'))})
        (If
          arms: [
            (if_arm
              cond: [
                (Sentence
                  child: 
                    (DParen
                      child: 
                        (ArithBinary
                          op_id: Arith_DEqual
                          left: (ArithWord w:{($ VSub_Name '$G_HW_ARCH')})
                          right: (ArithWord w:{(Lit_Digits 10)})
                        )
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [
                (C {(dpkg)} {(--add-architecture)} {(i386)})
                (C {(G_AGUP)})
                (SimpleCommand
                  words: [{(cat)}]
                  redirects: [
                    (HereDoc
                      op_id: Redir_DLess
                      fd: 16777215
                      body: 
                        {
                          (DQ ('blacklist nouveau\n') ('blacklist lbm-nouveau\n') 
                            ('options nouveau modeset=0\n') ('alias nouveau off\n') ('alias lbm-nouveau off\n')
                          )
                        }
                      do_expansion: True
                      here_end: _EOF_
                      was_filled: T
                      spids: [6198]
                    )
                    (Redir
                      op_id: Redir_Great
                      fd: 16777215
                      arg_word: {(/etc/modprobe.d/blacklist-nouveau.conf)}
                      spids: [6202]
                    )
                  ]
                )
                (SimpleCommand
                  words: [{(echo)} {(-e)} {(DQ ('options nouveau modeset=0'))}]
                  redirects: [
                    (Redir
                      op_id: Redir_Great
                      fd: 16777215
                      arg_word: {(/etc/modprobe.d/nouveau-kms.conf)}
                      spids: [6221]
                    )
                  ]
                )
                (C {(update-initramfs)} {(-u)})
              ]
              spids: [16777215 6173]
            )
          ]
          spids: [16777215 6232]
        )
        (C {(G_DIETPI-NOTIFY)} {(2)} {(DQ ('Appling G_HW_MODEL specific tweaks:'))})
        (If
          arms: [
            (if_arm
              cond: [
                (Sentence
                  child: 
                    (DParen
                      child: 
                        (ArithBinary
                          op_id: Arith_DEqual
                          left: (ArithWord w:{($ VSub_Name '$G_HW_MODEL')})
                          right: (ArithWord w:{(Lit_Digits 35)})
                        )
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [
                (SimpleCommand
                  words: [{(echo)} {(-e)} {(DQ ('blacklist bmp085'))}]
                  redirects: [
                    (Redir
                      op_id: Redir_Great
                      fd: 16777215
                      arg_word: {(/etc/modprobe.d/bmp085.conf)}
                      spids: [6280]
                    )
                  ]
                )
              ]
              spids: [16777215 6268]
            )
            (if_arm
              cond: [
                (Sentence
                  child: 
                    (DParen
                      child: 
                        (ArithBinary
                          op_id: Arith_DEqual
                          left: (ArithWord w:{($ VSub_Name '$G_HW_MODEL')})
                          right: (ArithWord w:{(Lit_Digits 70)})
                        )
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [
                (C {(wget)} 
                  {(https) (Lit_Other ':') 
                    (
//raw.githubusercontent.com/sparky-sbc/sparky-test/master/dragon_fly_check/uImage
                    )
                  } {(-O)} {(/boot/uImage)}
                )
                (C {(wget)} 
                  {(https) (Lit_Other ':') 
                    (
//raw.githubusercontent.com/sparky-sbc/sparky-test/master/dragon_fly_check/3.10.38.bz2
                    )
                  } {(-O)} {(package.tar)}
                )
                (C {(tar)} {(xvf)} {(package.tar)} {(-C)} {(/lib/modules/)})
                (C {(rm)} {(package.tar)})
                (SimpleCommand
                  words: [{(cat)}]
                  redirects: [
                    (HereDoc
                      op_id: Redir_DLess
                      fd: 16777215
                      body: 
                        {
                          (DQ ('uenvcmd=setenv os_type linux;\n') 
                            (
'bootargs=earlyprintk clk_ignore_unused selinux=0 scandelay console=tty0 loglevel=1 real_rootflag=rw root=/dev/mmcblk0p2 rootwait init=/lib/systemd/systemd aotg.urb_fix=1 aotg.aotg1_speed=0\n'
                            )
                          )
                        }
                      do_expansion: True
                      here_end: _EOF_
                      was_filled: T
                      spids: [6353]
                    )
                    (Redir
                      op_id: Redir_Great
                      fd: 16777215
                      arg_word: {(/DietPi/uEnv.txt)}
                      spids: [6357]
                    )
                  ]
                )
                (SimpleCommand
                  words: [{(cat)}]
                  redirects: [
                    (HereDoc
                      op_id: Redir_DLess
                      fd: 16777215
                      body: 
                        {
                          (DQ ('blacklist owl_camera\n') ('blacklist gsensor_stk8313\n') 
                            ('blacklist ctp_ft5x06\n') ('blacklist ctp_gsl3680\n') ('blacklist gsensor_bma222\n') ('blacklist gsensor_mir3da\n')
                          )
                        }
                      do_expansion: True
                      here_end: _EOF_
                      was_filled: T
                      spids: [6372]
                    )
                    (Redir
                      op_id: Redir_Great
                      fd: 16777215
                      arg_word: {(/etc/modprobe.d/disable_sparkysbc_touchscreen.conf)}
                      spids: [6376]
                    )
                  ]
                )
                (SimpleCommand
                  words: [{(cat)}]
                  redirects: [
                    (HereDoc
                      op_id: Redir_DLess
                      fd: 16777215
                      body: 
                        {
                          (DQ ('blacklist pvrsrvkm\n') ('blacklist drm\n') 
                            ('blacklist videobuf2_vmalloc\n') ('blacklist bc_example\n')
                          )
                        }
                      do_expansion: True
                      here_end: _EOF_
                      was_filled: T
                      spids: [6391]
                    )
                    (Redir
                      op_id: Redir_Great
                      fd: 16777215
                      arg_word: {(/etc/modprobe.d/disable_sparkysbc_gpu.conf)}
                      spids: [6395]
                    )
                  ]
                )
                (C {(sed)} {(-i)} 
                  {
                    (DQ ('/^CONFIG_CPU_GOVERNOR=/c') (Lit_Other '\\') 
                      ('CONFIG_CPU_GOVERNOR=performance')
                    )
                  } {(/DietPi/dietpi.txt)}
                )
                (C {(/DietPi/dietpi/dietpi-cpu_set)})
              ]
              spids: [6290 6304]
            )
            (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)})
                        )
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [
                (SimpleCommand
                  words: [{(cat)}]
                  redirects: [
                    (HereDoc
                      op_id: Redir_DLess
                      fd: 16777215
                      body: 
                        {
                          (DQ ('ACTION==') (Right_DoubleQuote '"') (add) (Right_DoubleQuote '"') 
                            (', SUBSYSTEM==') (Right_DoubleQuote '"') (leds) (Right_DoubleQuote '"') (', ENV{DEVPATH}==') (Right_DoubleQuote '"') 
                            ('*/input*::scrolllock') (Right_DoubleQuote '"') (', ATTR{trigger}=') (Right_DoubleQuote '"') (kbd-scrollock) 
                            (Right_DoubleQuote '"') ('\n')
                          )
                        }
                      do_expansion: True
                      here_end: _EOF_
                      was_filled: T
                      spids: [6451]
                    )
                    (Redir
                      op_id: Redir_Great
                      fd: 16777215
                      arg_word: {(/etc/udev/rules.d/50-leds.rules)}
                      spids: [6455]
                    )
                  ]
                )
              ]
              spids: [6431 6445]
            )
            (if_arm
              cond: [
                (Sentence
                  child: 
                    (DParen
                      child: 
                        (ArithBinary
                          op_id: Arith_DEqual
                          left: (ArithWord w:{($ VSub_Name '$G_HW_MODEL')})
                          right: (ArithWord w:{(Lit_Digits 40)})
                        )
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [
                (SimpleCommand
                  words: [{(cat)}]
                  redirects: [
                    (HereDoc
                      op_id: Redir_DLess
                      fd: 16777215
                      body: 
                        {
                          (DQ ('infocmp > terminfo.txt\n') 
                            ("sed -i -e 's/?0c/?112c/g' -e 's/?8c/?48;0;64c/g' terminfo.txt\n") ('tic terminfo.txt\n') ('tput cnorm\n')
                          )
                        }
                      do_expansion: True
                      here_end: _EOF_
                      was_filled: T
                      spids: [6503]
                    )
                    (Redir
                      op_id: Redir_DGreat
                      fd: 16777215
                      arg_word: {(DQ ($ VSub_Name '$HOME')) (/.bashrc)}
                      spids: [6507]
                    )
                  ]
                )
              ]
              spids: [6483 6497]
            )
            (if_arm
              cond: [
                (Sentence
                  child: 
                    (DParen
                      child: 
                        (ArithBinary
                          op_id: Arith_DEqual
                          left: (ArithWord w:{($ VSub_Name '$G_HW_MODEL')})
                          right: (ArithWord w:{(Lit_Digits 11)})
                        )
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [
                (SimpleCommand
                  words: [{(cat)}]
                  redirects: [
                    (HereDoc
                      op_id: Redir_DLess
                      fd: 16777215
                      body: 
                        {
                          (DQ ('Package: *\n') ('Pin: release a=jessie-backports\n') ('Pin: origin ') 
                            (Right_DoubleQuote '"') (fuzon.co.uk) (Right_DoubleQuote '"') ('\n') ('Pin-Priority: 99\n')
                          )
                        }
                      do_expansion: True
                      here_end: _EOF_
                      was_filled: T
                      spids: [6545]
                    )
                    (Redir
                      op_id: Redir_Great
                      fd: 16777215
                      arg_word: {(/etc/apt/preferences.d/backports)}
                      spids: [6549]
                    )
                  ]
                )
              ]
              spids: [6525 6539]
            )
          ]
          spids: [16777215 6564]
        )
        (Sentence
          child: (C {(sed)} {(-i)} {(SQ <'/verbosity=/c\\verbosity=7'>)} {(/boot/armbianEnv.txt)})
          terminator: <Op_Amp '&'>
        )
        (SimpleCommand
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[6583])]
        )
        (C {(echo)} {(-e)} {(SQ )})
        (C {(G_DIETPI-NOTIFY)} {(2)} 
          {
            (SQ <----------------------------------------------------------------------------------->)
          }
        )
        (C {(G_DIETPI-NOTIFY)} {(0)} {(DQ ('Step 8: Finalise system for first run of DietPi:'))})
        (C {(G_DIETPI-NOTIFY)} {(2)} 
          {
            (SQ <----------------------------------------------------------------------------------->)
          }
        )
        (C {(G_DIETPI-NOTIFY)} {(2)} {(SQ <'Configuring Dropbear:'>)})
        (C {(sed)} {(-i)} {(SQ <'/NO_START=1/c\\NO_START=0'>)} {(/etc/default/dropbear)})
        (C {(G_DIETPI-NOTIFY)} {(2)} {(SQ <'Configuring Services'>)})
        (C {(/DietPi/dietpi/dietpi-services)} {(stop)})
        (C {(/DietPi/dietpi/dietpi-services)} {(dietpi_controlled)})
        (C {(G_DIETPI-NOTIFY)} {(2)} {(SQ <'Running general cleanup of misc files'>)})
        (Sentence child:(C {(rm)} {(-R)} {(/tmp/) (Lit_Other '*')}) terminator:<Op_Amp '&'>)
        (SimpleCommand
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[6703])]
        )
        (Sentence
          child: (C {(rm)} {(TildeSubPart prefix:'') (/.bash_history)})
          terminator: <Op_Amp '&'>
        )
        (SimpleCommand
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[6719])]
        )
        (Sentence
          child: (C {(rm)} {(TildeSubPart prefix:'') (/.nano_history)})
          terminator: <Op_Amp '&'>
        )
        (SimpleCommand
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[6735])]
        )
        (C {(G_DIETPI-NOTIFY)} {(2)} {(SQ <'Disabling swapfile'>)})
        (C {(/DietPi/dietpi/func/dietpi-set_dphys-swapfile)} {(0)} {(/var/swap)})
        (Sentence child:(C {(rm)} {(/var/swap)}) terminator:<Op_Amp '&'>)
        (SimpleCommand
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[6763])]
        )
        (If
          arms: [
            (if_arm
              cond: [
                (Sentence
                  child: 
                    (DParen
                      child: 
                        (ArithBinary
                          op_id: Arith_DEqual
                          left: (ArithWord w:{($ VSub_Name '$G_HW_MODEL')})
                          right: (ArithWord w:{(Lit_Digits 71)})
                        )
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [
                (C {(sed)} {(-i)} {(SQ <'/AUTO_SETUP_SWAPFILE_SIZE=/c\\AUTO_SETUP_SWAPFILE_SIZE=0'>)} 
                  {(/DietPi/dietpi.txt)}
                )
              ]
              spids: [16777215 6790]
            )
          ]
          spids: [16777215 6806]
        )
        (C {(G_DIETPI-NOTIFY)} {(2)} {(SQ <'Resetting boot.ini, config.txt, cmdline.txt etc'>)})
        (If
          arms: [
            (if_arm
              cond: [
                (Sentence
                  child: 
                    (DParen
                      child: 
                        (ArithBinary
                          op_id: Arith_DEqual
                          left: (ArithWord w:{($ VSub_Name '$G_HW_MODEL')})
                          right: (ArithWord w:{(Lit_Digits 40)})
                        )
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [(C {(sed)} {(-i)} {(SQ <'/^ethaddr/ d'>)} {(/boot/uEnv.txt)})]
              spids: [16777215 6838]
            )
          ]
          spids: [16777215 6854]
        )
        (AndOr
          ops: [Op_DAmp]
          children: [
            (C {(Lit_Other '[')} {(-f)} {(/boot/cmdline.txt)} {(Lit_Other ']')})
            (C {(sed)} {(-i)} {(DQ ('s/ rootdelay=10//g'))} {(/boot/cmdline.txt)})
          ]
        )
        (C {(G_DIETPI-NOTIFY)} {(2)} {(SQ <'Generating default wpa_supplicant.conf'>)})
        (C {(/DietPi/dietpi/func/dietpi-set_hardware)} {(wificreds)} {(set)})
        (C {(G_DIETPI-NOTIFY)} {(2)} {(SQ <'Disabling generic WiFi/BT by default'>)})
        (C {(/DietPi/dietpi/func/dietpi-set_hardware)} {(bluetooth)} {(disable)})
        (C {(/DietPi/dietpi/func/dietpi-set_hardware)} {(wifimodules)} {(disable)})
        (C {(G_DIETPI-NOTIFY)} {(2)} {(SQ <'Enabling onboard WiFi modules by default'>)})
        (C {(/DietPi/dietpi/func/dietpi-set_hardware)} {(wifimodules)} {(onboard_enable)})
        (C {(G_DIETPI-NOTIFY)} {(2)} {(SQ <'Disabling soundcards by default'>)})
        (C {(/DietPi/dietpi/func/dietpi-set_hardware)} {(soundcard)} {(none)})
        (C {(G_AGP)} {(alsa-utils)})
        (C {(G_AGA)})
        (C {(G_DIETPI-NOTIFY)} {(2)} {(SQ <'Setting default CPU gov'>)})
        (C {(/DietPi/dietpi/dietpi-cpu_set)})
        (C {(G_DIETPI-NOTIFY)} {(2)} {(SQ <'Clearing log files'>)})
        (C {(/DietPi/dietpi/dietpi-logclear)} {(2)})
        (C {(G_DIETPI-NOTIFY)} {(2)} {(SQ <'Deleting DietPi-RAMlog storage'>)})
        (Sentence
          child: (C {(rm)} {(-R)} {(/var/lib/dietpi/dietpi-ramlog/storage/) (Lit_Other '*')})
          terminator: <Op_Amp '&'>
        )
        (SimpleCommand
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[7033])]
        )
        (C {(G_DIETPI-NOTIFY)} {(2)} {(SQ <'Deleting NTP drift file'>)})
        (Sentence child:(C {(rm)} {(/var/lib/ntp/ntp.drift)}) terminator:<Op_Amp '&'>)
        (SimpleCommand
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[7054])]
        )
        (C {(G_DIETPI-NOTIFY)} {(2)} {(SQ <'Resetting DietPi generated globals/files'>)})
        (C {(rm)} {(/DietPi/dietpi/.) (Lit_Other '?') (Lit_Other '?') (Lit_Other '*')})
        (C {(G_DIETPI-NOTIFY)} {(2)} {(SQ <'Setting DietPi-Autostart to console'>)})
        (SimpleCommand
          words: [{(echo)} {(0)}]
          redirects: [
            (Redir
              op_id: Redir_Great
              fd: 16777215
              arg_word: {(/DietPi/dietpi/.dietpi-autostart_index)}
              spids: [7093]
            )
          ]
        )
        (C {(G_DIETPI-NOTIFY)} {(2)} 
          {(SQ <'Creating our update file (used on 1st run to check for DietPi updates)'>)}
        )
        (SimpleCommand
          words: [{(echo)} {(-1)}]
          redirects: [
            (Redir
              op_id: Redir_Great
              fd: 16777215
              arg_word: {(/DietPi/dietpi/.update_stage)}
              spids: [7113]
            )
          ]
        )
        (C {(G_DIETPI-NOTIFY)} {(2)} {(SQ <'Set Init .install_stage to -1 (first boot)'>)})
        (SimpleCommand
          words: [{(echo)} {(-1)}]
          redirects: [
            (Redir
              op_id: Redir_Great
              fd: 16777215
              arg_word: {(/DietPi/dietpi/.install_stage)}
              spids: [7133]
            )
          ]
        )
        (C {(G_DIETPI-NOTIFY)} {(2)} 
          {(SQ <'Remove server_version / patch_file (downloads fresh from dietpi-update)'>)}
        )
        (Sentence child:(C {(rm)} {(/DietPi/dietpi/patch_file)}) terminator:<Op_Amp '&'>)
        (SimpleCommand
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[7154])]
        )
        (Sentence
          child: (C {(rm)} {(/DietPi/dietpi/server_version) (Lit_Other '*')})
          terminator: <Op_Amp '&'>
        )
        (SimpleCommand
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[7165])]
        )
        (C {(G_DIETPI-NOTIFY)} {(2)} {(SQ <'Clearing APT cache'>)})
        (C {(G_RUN_CMD)} {(apt-get)} {(clean)})
        (C {(rm)} {(-R)} {(/var/lib/apt/lists/) (Lit_Other '*')} {(-vf)})
        (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)})
                        )
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [(C {(rm)} {(/etc/.dietpi_hw_model_identifier)})]
              spids: [16777215 7232]
            )
          ]
          spids: [16777215 7242]
        )
        (C {(G_DIETPI-NOTIFY)} {(2)} {(SQ <'Generating dietpi-fs_partition_resize for first boot'>)})
        (SimpleCommand
          words: [{(cat)}]
          redirects: [
            (HereDoc
              op_id: Redir_DLess
              fd: 16777215
              body: 
                {
                  (DQ ('[Unit]\n') ('Description=dietpi-fs_partition_resize\n') 
                    ('Before=dietpi-ramdisk.service\n') ('\n') ('[Service]\n') ('Type=oneshot\n') ('RemainAfterExit=no\n') 
                    (
"ExecStart=/bin/bash -c '/var/lib/dietpi/fs_partition_resize.sh | tee /var/tmp/dietpi/logs/fs_partition_resize.log'\n"
                    ) ('StandardOutput=tty\n') ('\n') ('[Install]\n') ('WantedBy=local-fs.target\n')
                  )
                }
              do_expansion: True
              here_end: _EOF_
              was_filled: T
              spids: [7262]
            )
            (Redir
              op_id: Redir_Great
              fd: 16777215
              arg_word: {(/etc/systemd/system/dietpi-fs_partition_resize.service)}
              spids: [7266]
            )
          ]
        )
        (C {(systemctl)} {(daemon-reload)})
        (C {(G_RUN_CMD)} {(systemctl)} {(enable)} {(dietpi-fs_partition_resize.service)})
        (SimpleCommand
          words: [{(cat)}]
          redirects: [
            (HereDoc
              op_id: Redir_DLess
              fd: 16777215
              body: 
                {
                  (DQ ('#!/bin/bash\n') ('\n') 
                    ('systemctl disable dietpi-fs_partition_resize.service\n') ('systemctl enable dietpi-fs_expand.service\n') ('systemctl daemon-reload\n') ('\n') ('sync\n') ('\n') 
                    ('TARGET_PARTITION=0\n') ('TARGET_DEV=') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('(findmnt / -o source -n)\n') ('\n') 
                    ('# - MMCBLK[0-9]p[0-9] scrape\n') ('if [[ ') (Right_DoubleQuote '"') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (TARGET_DEV) 
                    (Right_DoubleQuote '"') (' = *') (Right_DoubleQuote '"') (mmcblk) (Right_DoubleQuote '"') ('* ]]; then\n') ('\n') 
                    ('    TARGET_DEV=') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ("(findmnt / -o source -n | sed 's/p[0-9]") 
                    (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ("//')\n") ('\tTARGET_PARTITION=') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) 
                    ("(findmnt / -o source -n | sed 's/.*p//')\n") ('\n') ('# - Everything else scrape (eg: /dev/sdX[0-9])\n') ('else\n') ('\n') ('    TARGET_DEV=') 
                    (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ("(findmnt / -o source -n | sed 's/[0-9]") (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) 
                    ("//')\n") ('\tTARGET_PARTITION=') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) 
                    ("(findmnt / -o source -n | sed 's|/dev/sd.||')\n") ('\n') ('fi\n') ('\n') ('cat << _EOF_1 | fdisk ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) 
                    ('TARGET_DEV\n') ('p\n') ('d\n') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('TARGET_PARTITION\n') ('n\n') ('p\n') 
                    (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('TARGET_PARTITION\n') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('(parted ') 
                    (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ("TARGET_DEV -ms unit s p | grep ':ext4::;' | sed 's/:/ /g' | sed 's/s//g' | awk '{ print ") 
                    (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ("2 }')\n") ('\n') ('p\n') ('w\n') ('\n') ('_EOF_1\n') ('\n') ('reboot\n') ('\n')
                  )
                }
              do_expansion: True
              here_end: _EOF_
              was_filled: T
              spids: [7301]
            )
            (Redir
              op_id: Redir_Great
              fd: 16777215
              arg_word: {(/var/lib/dietpi/fs_partition_resize.sh)}
              spids: [7305]
            )
          ]
        )
        (C {(G_RUN_CMD)} {(chmod)} {(Lit_Other '+') (x)} {(/var/lib/dietpi/fs_partition_resize.sh)})
        (C {(G_DIETPI-NOTIFY)} {(2)} {(SQ <'Generating dietpi-fs_partition_expand for subsequent boot'>)})
        (SimpleCommand
          words: [{(cat)}]
          redirects: [
            (HereDoc
              op_id: Redir_DLess
              fd: 16777215
              body: 
                {
                  (DQ ('[Unit]\n') ('Description=dietpi-fs_expand\n') 
                    ('Before=dietpi-ramdisk.service\n') ('\n') ('[Service]\n') ('Type=oneshot\n') ('RemainAfterExit=no\n') ('ExecStart=/bin/bash -c ') 
                    (Right_DoubleQuote '"') ('resize2fs ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) 
                    (
'(findmnt / -o source -n) &> /var/tmp/dietpi/logs/fs_expand.log; systemctl disable dietpi-fs_expand.service; systemctl daemon-reload'
                    ) (Right_DoubleQuote '"') ('\n') ('StandardOutput=tty\n') ('\n') ('[Install]\n') 
                    ('WantedBy=local-fs.target\n')
                  )
                }
              do_expansion: True
              here_end: _EOF_
              was_filled: T
              spids: [7407]
            )
            (Redir
              op_id: Redir_Great
              fd: 16777215
              arg_word: {(/etc/systemd/system/dietpi-fs_expand.service)}
              spids: [7411]
            )
          ]
        )
        (C {(systemctl)} {(daemon-reload)})
        (C {(G_DIETPI-NOTIFY)} {(2)} {(SQ <'Storing DietPi version ID'>)})
        (C {(G_RUN_CMD)} {(wget)} 
          {(https) (Lit_Other ':') (//raw.githubusercontent.com/Fourdee/DietPi/) 
            ($ VSub_Name '$GIT_BRANCH') (/dietpi/.version)
          } {(-O)} {(/DietPi/dietpi/.version)}
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:CORE_VERSION)
              op: Equal
              rhs: 
                {
                  (CommandSubPart
                    command_list: 
                      (CommandList
                        children: [(C {(sed)} {(-n)} {(1p)} {(/DietPi/dietpi/.version)})]
                      )
                    left_token: <Left_CommandSub '$('>
                    spids: [7489 7497]
                  )
                }
              spids: [7488]
            )
          ]
          spids: [7488]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:SUB_VERSION)
              op: Equal
              rhs: 
                {
                  (CommandSubPart
                    command_list: 
                      (CommandList
                        children: [(C {(sed)} {(-n)} {(2p)} {(/DietPi/dietpi/.version)})]
                      )
                    left_token: <Left_CommandSub '$('>
                    spids: [7501 7509]
                  )
                }
              spids: [7500]
            )
          ]
          spids: [7500]
        )
        (DParen child:(UnaryAssign op_id:Node_PostDMinus child:(LhsName name:SUB_VERSION)))
        (SimpleCommand
          words: [{(cat)}]
          redirects: [
            (HereDoc
              op_id: Redir_DLess
              fd: 16777215
              body: {(DQ ($ VSub_Name '$CORE_VERSION') ('\n') ($ VSub_Name '$SUB_VERSION') ('\n'))}
              do_expansion: True
              here_end: _EOF_
              was_filled: T
              spids: [7521]
            )
            (Redir
              op_id: Redir_Great
              fd: 16777215
              arg_word: {(/DietPi/dietpi/.version)}
              spids: [7525]
            )
          ]
        )
        (C {(G_RUN_CMD)} {(cp)} {(/DietPi/dietpi/.version)} {(/var/lib/dietpi/.dietpi_image_version)})
        (If
          arms: [
            (if_arm
              cond: [
                (Sentence
                  child: 
                    (AndOr
                      ops: [Op_DAmp]
                      children: [
                        (DParen
                          child: 
                            (ArithWord
                              w: 
                                {
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [
                                          (Pipeline
                                            children: [
                                              (C {(dpkg)} {(--get-selections)})
                                              (C {(grep)} {(-ci)} {(-m1)} 
                                                {(SQ <'^grub-efi-amd64[[:space:]]'>)}
                                              )
                                            ]
                                            negated: F
                                          )
                                        ]
                                      )
                                    left_token: <Left_CommandSub '$('>
                                    spids: [7554 7570]
                                  )
                                }
                            )
                        )
                        (C {(Lit_Other '[')} {(-d)} {(/boot/efi)} {(Lit_Other ']')})
                      ]
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [
                (C {(G_DIETPI-NOTIFY)} {(2)} {(SQ <'Recreating GRUB-EFI'>)})
                (C {(G_RUN_CMD)} {(grub-install)} {(--target) (Lit_Other '=') (x86_64-efi)} 
                  {(--efi-directory) (Lit_Other '=') (/boot/efi)} {(--bootloader-id) (Lit_Other '=') (arch_grub)} {(--recheck)}
                )
              ]
              spids: [16777215 7587]
            )
          ]
          spids: [16777215 7621]
        )
        (C {(G_DIETPI-NOTIFY)} {(2)} 
          {(SQ <'Sync changes to disk. Please wait, this may take some time...'>)}
        )
        (C {(G_RUN_CMD)} {(systemctl)} {(stop)} {(dietpi-ramlog)})
        (C {(G_RUN_CMD)} {(systemctl)} {(stop)} {(dietpi-ramdisk)})
        (C {(sync)})
        (C {(G_DIETPI-NOTIFY)} {(2)} 
          {(SQ <'Please check and delete all non-required folders in /root/.xxxxxx'>)}
        )
        (C {(G_DIETPI-NOTIFY)} {(2)} {(SQ <'Please delete outdated modules'>)})
        (C {(ls)} {(-lha)} {(/lib/modules)})
        (C {(G_DIETPI-NOTIFY)} {(0)} 
          {
            (DQ 
              (
'Completed, disk can now be saved to .img for later use, or, reboot system to start first run of DietPi:'
              )
            )
          }
        )
        (C {(rm)} {(dietpi-globals)})
        (C {(rm)} {(PREP_SYSTEM_FOR_DIETPI.sh)})
      ]
      spids: [3]
    )
  ]
)