(command.CommandList
  children: [
    (C {(.)} {(./build.conf)})
    (C {(export)} {(MKFLG)})
    (C {(export)} 
      {(Lit_VarLike 'MWD=') 
        (word_part.CommandSubPart
          command_list: (command.CommandList children:[(C {(pwd)})])
          left_token: <Left_Backtick '`'>
          spids: [21 23]
        )
      }
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:ARCH_LIST spids:[26])
          op: Equal
          rhs: {(DQ ('default i686 x86_64 arm'))}
          spids: [26]
        )
      ]
      spids: [26]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:ARCH_LIST_EX spids:[34])
          op: Equal
          rhs: 
            {
              (DQ 
                (
'i486 i586 i686 x86_64 armv4l armv4tl armv5l armv6l m68k mips mips64 mipsel powerpc powerpc-440fp sh2eb sh2elf sh4 sparc'
                )
              )
            }
          spids: [34]
        )
      ]
      spids: [34]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:DEFAULT_x86 spids:[40])
          op: Equal
          rhs: {(i686)}
          spids: [40]
        )
      ]
      spids: [40]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:DEFAULT_ARM spids:[43])
          op: Equal
          rhs: {(armv6l)}
          spids: [43]
        )
      ]
      spids: [43]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:PREBUILT_BINARIES spids:[50])
          op: Equal
          rhs: {(DQ ('http://01micko.com/wdlkmpx/woof-CE/initrd_progs-20170322-static.tar.xz'))}
          spids: [50]
        )
      ]
      spids: [50]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:ARCH spids:[56])
          op: Equal
          rhs: 
            {
              (word_part.CommandSubPart
                command_list: (command.CommandList children:[(C {(uname)} {(-m)})])
                left_token: <Left_Backtick '`'>
                spids: [57 61]
              )
            }
          spids: [56]
        )
      ]
      spids: [56]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:OS_ARCH spids:[63])
          op: Equal
          rhs: {($ VSub_DollarName '$ARCH')}
          spids: [63]
        )
      ]
      spids: [63]
    )
    (command.FuncDef
      name: get_initrd_progs
      body: 
        (command.BraceGroup
          children: [
            (command.Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:var spids:[78])
                  op: Equal
                  rhs: {(INITRD_PROGS)}
                  spids: [78]
                )
              ]
              spids: [76]
            )
            (command.AndOr
              ops: [Op_DAmp]
              children: [
                (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(Lit_Other '=')} {(DQ (-pkg))} 
                  {(Lit_Other ']')}
                )
                (command.BraceGroup
                  children: [
                    (command.Sentence
                      child: 
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:var spids:[100])
                              op: Equal
                              rhs: {(PACKAGES)}
                              spids: [100]
                            )
                          ]
                          spids: [100]
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (command.Sentence
                      child: (C {(shift)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  spids: [98]
                )
              ]
            )
            (command.Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:arch spids:[114])
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [114]
                )
              ]
              spids: [112]
            )
            (command.AndOr
              ops: [Op_DAmp]
              children: [
                (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$arch'))} {(Lit_Other '=')} {(DQ )} 
                  {(Lit_Other ']')}
                )
                (command.Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (lhs_expr.LhsName name:arch spids:[133])
                      op: Equal
                      rhs: 
                        {
                          (word_part.CommandSubPart
                            command_list: (command.CommandList children:[(C {(uname)} {(-m)})])
                            left_token: <Left_Backtick '`'>
                            spids: [134 138]
                          )
                        }
                      spids: [133]
                    )
                  ]
                  spids: [133]
                )
              ]
            )
            (command.Case
              to_match: {(DQ ($ VSub_DollarName '$arch'))}
              arms: [
                (case_arm
                  pat_list: [{(i) (Lit_Other '?') (86)}]
                  action: [
                    (command.Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (lhs_expr.LhsName name:arch spids:[154])
                          op: Equal
                          rhs: {(DQ (x86))}
                          spids: [154]
                        )
                      ]
                      spids: [154]
                    )
                  ]
                  spids: [149 152 159 16777215]
                )
              ]
              spids: [141 147 161]
            )
            (command.Case
              to_match: {(DQ ($ VSub_DollarName '$arch'))}
              arms: [
                (case_arm
                  pat_list: [{(arm) (Lit_Other '*')}]
                  action: [
                    (command.Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (lhs_expr.LhsName name:arch spids:[176])
                          op: Equal
                          rhs: {(SQ <arm>)}
                          spids: [176]
                        )
                      ]
                      spids: [176]
                    )
                  ]
                  spids: [172 174 181 16777215]
                )
              ]
              spids: [164 170 183]
            )
            (C {(eval)} {(echo)} 
              {(word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) 
                ($ VSub_DollarName '$var')
              } 
              {(word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (${ VSub_Name var) (_) 
                (${ VSub_Name arch)
              }
            )
          ]
          spids: [73]
        )
      spids: [67 72]
    )
    (command.Case
      to_match: {(DQ ($ VSub_Number '$1'))}
      arms: [
        (case_arm
          pat_list: [{(release)} {(tarball)}]
          action: [
            (C {(echo)} 
              {(DQ ("If you made changes then don't forget to remove all 00_* directories first"))}
            )
            (C {(sleep)} {(4)})
            (command.ForEach
              iter_name: a
              iter_words: [
                {
                  (word_part.BracedVarSub
                    token: <VSub_Name ARCH_LIST>
                    suffix_op: (suffix_op.StringUnary op_id:VOp1_Pound arg_word:{('default ')})
                    spids: [243 247]
                  )
                }
              ]
              do_arg_iter: F
              body: 
                (command.DoGroup
                  children: [
                    (command.Sentence
                      child: 
                        (C {($ VSub_Number '$0')} {(-nord)} {(-auto)} {(-arch)} {($ VSub_DollarName '$a')})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  spids: [251 265]
                )
              spids: [242 249]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:pkgx spids:[268])
                  op: Equal
                  rhs: 
                    {(initrd_progs-) 
                      (word_part.CommandSubPart
                        command_list: 
                          (command.CommandList
                            children: [(C {(date)} {(DQ ('+%Y%m%d'))})]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [270 276]
                      ) (-static.tar.xz)
                    }
                  spids: [268]
                )
              ]
              spids: [268]
            )
            (C {(echo)} {(-e)} 
              {
                (DQ (Lit_Other '\\') (n) (Lit_Other '\\') (n) (Lit_Other '\\') ('n*** Creating ') 
                  ($ VSub_DollarName '$pkgx')
                )
              }
            )
            (command.WhileUntil
              keyword: <KW_While while>
              cond: [(command.Sentence child:(C {(read)} {(ARCH)}) terminator:<Op_Semi ';'>)]
              body: 
                (command.DoGroup
                  children: [
                    (command.ForEach
                      iter_name: PROG
                      iter_words: [
                        {
                          (word_part.CommandSubPart
                            command_list: 
                              (command.CommandList
                                children: [
                                  (C {(get_initrd_progs)} 
                                    {
                                      (word_part.BracedVarSub
                                        token: <VSub_Name ARCH>
                                        suffix_op: 
                                          (suffix_op.StringUnary
                                            op_id: VOp1_Pound
                                            arg_word: {(00_)}
                                          )
                                        spids: [315 319]
                                      )
                                    }
                                  )
                                ]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [312 320]
                          )
                        }
                      ]
                      do_arg_iter: F
                      body: 
                        (command.DoGroup
                          children: [
                            (command.Case
                              to_match: {($ VSub_DollarName '$PROG')}
                              arms: [
                                (case_arm
                                  pat_list: [{(DQ )} {(SQ <'#'>) (Lit_Other '*')}]
                                  action: [(command.ControlFlow token:<ControlFlow_Continue continue>)]
                                  spids: [333 340 344 16777215]
                                )
                              ]
                              spids: [327 331 346]
                            )
                            (command.Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (lhs_expr.LhsName name:progs2tar spids:[349])
                                  op: PlusEqual
                                  rhs: {(DQ (' ') (${ VSub_Name ARCH) (/bin/) (${ VSub_Name PROG))}
                                  spids: [349]
                                )
                              ]
                              spids: [349]
                            )
                          ]
                          spids: [324 362]
                        )
                      spids: [311 322]
                    )
                  ]
                  spids: [303 365]
                )
              redirects: [
                (redir.Redir
                  op: <Redir_TLess '<<<'>
                  fd: 16777215
                  arg_word: 
                    {
                      (DQ 
                        (word_part.CommandSubPart
                          command_list: 
                            (command.CommandList
                              children: [(C {(ls)} {(-d)} {(00_) (Lit_Other '*')})]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [370 377]
                        )
                      )
                    }
                )
              ]
            )
            (C {(tar)} {(-Jcf)} {($ VSub_DollarName '$pkgx')} {(${ VSub_Name progs2tar)})
            (C {(echo)} {(DQ (Done.))})
            (command.ControlFlow token:<ControlFlow_Exit exit>)
          ]
          spids: [216 219 16777215 401]
        )
      ]
      spids: [208 214 401]
    )
    (command.Case
      to_match: {(DQ ($ VSub_Number '$1'))}
      arms: [
        (case_arm
          pat_list: [{(w)} {(w_apps)} {(c)}]
          action: [
            (command.ForEach
              iter_name: a
              iter_words: [
                {
                  (word_part.BracedVarSub
                    token: <VSub_Name ARCH_LIST>
                    suffix_op: (suffix_op.StringUnary op_id:VOp1_Pound arg_word:{('default ')})
                    spids: [426 430]
                  )
                }
              ]
              do_arg_iter: F
              body: 
                (command.DoGroup
                  children: [
                    (command.Sentence
                      child: 
                        (C {($ VSub_Number '$0')} {(-nord)} {(-auto)} {(-arch)} {($ VSub_DollarName '$a')} 
                          {(-pkg)} {(w_apps)}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  spids: [434 452]
                )
              spids: [425 432]
            )
            (command.ControlFlow token:<ControlFlow_Exit exit>)
          ]
          spids: [412 417 16777215 457]
        )
      ]
      spids: [404 410 457]
    )
    (command.FuncDef
      name: fatal_error
      body: 
        (command.BraceGroup
          children: [
            (command.Sentence
              child: (C {(echo)} {(-e)} {(DQ ($ VSub_At '$@'))})
              terminator: <Op_Semi ';'>
            )
            (command.Sentence
              child: (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
              terminator: <Op_Semi ';'>
            )
          ]
          spids: [470]
        )
      spids: [464 469]
    )
    (command.FuncDef
      name: help_msg
      body: 
        (command.BraceGroup
          children: [
            (C {(echo)} 
              {
                (DQ ('Build static apps in the queue defined in build.conf\n') ('\n') ('Usage:\n') 
                  ('  ') ($ VSub_Number '$0') (' [options]\n') ('\n') ('Options:\n') 
                  ('  -pkg pkg    : compile specific pkg only\n') ('  -all        : force building all *_static pkgs\n') ('  -arch target: compile for target arch\n') 
                  ('  -sysgcc     : use system gcc\n') ('  -cross      : use the cross compilers from Aboriginal Linux\n') 
                  ('  -download   : download pkgs only, this overrides other options\n') ('  -specs file : DISTRO_SPECS file to use\n') ('  -prebuilt   : use prebuilt binaries\n') 
                  ('  -lang locale: set locale\n') ('  -keymap km  : set keyboard layout\n') ("  -auto       : don't prompt for input\n") 
                  ('  -gz|-xz     : compression method for the initrd\n') ('  -help       : show help and exit\n') ('\n') ('  Valid <targets> for -arch:\n') ('      ') 
                  ($ VSub_DollarName '$ARCH_LIST_EX') ('\n') ('\n') ('  The most relevant <targets> for Puppy are:\n') ('      ') 
                  (word_part.BracedVarSub
                    token: <VSub_Name ARCH_LIST>
                    suffix_op: (suffix_op.StringUnary op_id:VOp1_Pound arg_word:{('default ')})
                    spids: [530 534]
                  ) ('\n') ('\n') ('  Note that one target not yet supported by musl is aarch64 (arm64)\n')
                )
              }
            )
          ]
          spids: [495]
        )
      spids: [491 494]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:USE_SYS_GCC spids:[546])
          op: Equal
          rhs: {(no)}
          spids: [546]
        )
      ]
      spids: [546]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:CROSS_COMPILE spids:[549])
          op: Equal
          rhs: {(no)}
          spids: [549]
        )
      ]
      spids: [549]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:FORCE_BUILD_ALL spids:[552])
          op: Equal
          rhs: {(no)}
          spids: [552]
        )
      ]
      spids: [552]
    )
    (C {(export)} {(Lit_VarLike 'DLD_ONLY=') (no)})
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:INITRD_CREATE spids:[560])
          op: Equal
          rhs: {(yes)}
          spids: [560]
        )
      ]
      spids: [560]
    )
    (command.Case
      to_match: {(${ VSub_Name INITRD_COMP)}
      arms: [
        (case_arm
          pat_list: [{(gz)} {(xz)}]
          action: [
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:ok spids:[577])
                  op: Equal
                  rhs: {(yes)}
                  spids: [577]
                )
              ]
              spids: [577]
            )
          ]
          spids: [572 575 580 16777215]
        )
        (case_arm
          pat_list: [{(Lit_Other '*')}]
          action: [
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:INITRD_COMP spids:[586])
                  op: Equal
                  rhs: {(DQ (gz))}
                  spids: [586]
                )
              ]
              spids: [586]
            )
          ]
          spids: [583 584 591 16777215]
        )
      ]
      spids: [563 569 593]
    )
    (command.WhileUntil
      keyword: <KW_While while>
      cond: [
        (command.Sentence
          child: (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(Lit_Other ']')})
          terminator: <Op_Semi ';'>
        )
      ]
      body: 
        (command.DoGroup
          children: [
            (command.Case
              to_match: {($ VSub_Number '$1')}
              arms: [
                (case_arm
                  pat_list: [{(-sysgcc)}]
                  action: [
                    (command.Sentence
                      child: 
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:USE_SYS_GCC spids:[624])
                              op: Equal
                              rhs: {(yes)}
                              spids: [624]
                            )
                          ]
                          spids: [624]
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (command.Sentence
                      child: 
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:USE_PREBUILT spids:[629])
                              op: Equal
                              rhs: {(no)}
                              spids: [629]
                            )
                          ]
                          spids: [629]
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (C {(shift)})
                  ]
                  spids: [621 622 635 16777215]
                )
                (case_arm
                  pat_list: [{(-cross)}]
                  action: [
                    (command.Sentence
                      child: 
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:CROSS_COMPILE spids:[641])
                              op: Equal
                              rhs: {(yes)}
                              spids: [641]
                            )
                          ]
                          spids: [641]
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (command.Sentence
                      child: 
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:USE_PREBUILT spids:[646])
                              op: Equal
                              rhs: {(no)}
                              spids: [646]
                            )
                          ]
                          spids: [646]
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (C {(shift)})
                  ]
                  spids: [638 639 652 16777215]
                )
                (case_arm
                  pat_list: [{(-all)}]
                  action: [
                    (command.Sentence
                      child: 
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:FORCE_BUILD_ALL spids:[658])
                              op: Equal
                              rhs: {(yes)}
                              spids: [658]
                            )
                          ]
                          spids: [658]
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (C {(shift)})
                  ]
                  spids: [655 656 665 16777215]
                )
                (case_arm
                  pat_list: [{(-gz)} {(-xz)} {(gz)} {(xz)}]
                  action: [
                    (command.Sentence
                      child: 
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:INITRD_COMP spids:[677])
                              op: Equal
                              rhs: 
                                {
                                  (word_part.BracedVarSub
                                    token: <VSub_Number 1>
                                    suffix_op: (suffix_op.StringUnary op_id:VOp1_Pound arg_word:{(-)})
                                    spids: [678 682]
                                  )
                                }
                              spids: [677]
                            )
                          ]
                          spids: [677]
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (C {(shift)})
                  ]
                  spids: [668 675 688 16777215]
                )
                (case_arm
                  pat_list: [{(-download)}]
                  action: [
                    (command.Sentence
                      child: 
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:DLD_ONLY spids:[694])
                              op: Equal
                              rhs: {(yes)}
                              spids: [694]
                            )
                          ]
                          spids: [694]
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (C {(shift)})
                  ]
                  spids: [691 692 701 16777215]
                )
                (case_arm
                  pat_list: [{(-prebuilt)}]
                  action: [
                    (command.Sentence
                      child: 
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:USE_PREBUILT spids:[707])
                              op: Equal
                              rhs: {(yes)}
                              spids: [707]
                            )
                          ]
                          spids: [707]
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (C {(shift)})
                  ]
                  spids: [704 705 714 16777215]
                )
                (case_arm
                  pat_list: [{(-nord)}]
                  action: [
                    (command.Sentence
                      child: 
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:INITRD_CREATE spids:[720])
                              op: Equal
                              rhs: {(no)}
                              spids: [720]
                            )
                          ]
                          spids: [720]
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (C {(shift)})
                  ]
                  spids: [717 718 727 16777215]
                )
                (case_arm
                  pat_list: [{(-auto)}]
                  action: [
                    (command.Sentence
                      child: 
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:PROMPT spids:[733])
                              op: Equal
                              rhs: {(no)}
                              spids: [733]
                            )
                          ]
                          spids: [733]
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (C {(shift)})
                  ]
                  spids: [730 731 740 16777215]
                )
                (case_arm
                  pat_list: [{(-v)}]
                  action: [
                    (command.Sentence
                      child: 
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:V spids:[746])
                              op: Equal
                              rhs: {(-v)}
                              spids: [746]
                            )
                          ]
                          spids: [746]
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (C {(shift)})
                  ]
                  spids: [743 744 753 16777215]
                )
                (case_arm
                  pat_list: [{(-lang)}]
                  action: [
                    (command.Sentence
                      child: 
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:LOCALE spids:[759])
                              op: Equal
                              rhs: {(DQ ($ VSub_Number '$2'))}
                              spids: [759]
                            )
                          ]
                          spids: [759]
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (C {(shift)} {(2)})
                    (command.AndOr
                      ops: [Op_DAmp]
                      children: [
                        (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$LOCALE'))} {(Lit_Other '=')} {(DQ )} 
                          {(Lit_Other ']')}
                        )
                        (C {(fatal_error)} {(DQ ($ VSub_Number '$0') (' -locale: No locale specified'))})
                      ]
                    )
                  ]
                  spids: [756 757 793 16777215]
                )
                (case_arm
                  pat_list: [{(-keymap)}]
                  action: [
                    (command.Sentence
                      child: 
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:KEYMAP spids:[799])
                              op: Equal
                              rhs: {(DQ ($ VSub_Number '$2'))}
                              spids: [799]
                            )
                          ]
                          spids: [799]
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (C {(shift)} {(2)})
                    (command.AndOr
                      ops: [Op_DAmp]
                      children: [
                        (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$KEYMAP'))} {(Lit_Other '=')} {(DQ )} 
                          {(Lit_Other ']')}
                        )
                        (C {(fatal_error)} {(DQ ($ VSub_Number '$0') (' -locale: No keymap specified'))})
                      ]
                    )
                  ]
                  spids: [796 797 833 16777215]
                )
                (case_arm
                  pat_list: [{(-pkg)}]
                  action: [
                    (command.Sentence
                      child: 
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:BUILD_PKG spids:[839])
                              op: Equal
                              rhs: {(DQ ($ VSub_Number '$2'))}
                              spids: [839]
                            )
                          ]
                          spids: [839]
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (C {(shift)} {(2)})
                    (command.AndOr
                      ops: [Op_DAmp]
                      children: [
                        (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$BUILD_PKG'))} {(Lit_Other '=')} {(DQ )} 
                          {(Lit_Other ']')}
                        )
                        (C {(fatal_error)} 
                          {(DQ ($ VSub_Number '$0') (' -pkg: Specify a pkg to compile'))}
                        )
                      ]
                    )
                  ]
                  spids: [836 837 873 16777215]
                )
                (case_arm
                  pat_list: [{(-arch)}]
                  action: [
                    (command.Sentence
                      child: 
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:TARGET_ARCH spids:[879])
                              op: Equal
                              rhs: {(DQ ($ VSub_Number '$2'))}
                              spids: [879]
                            )
                          ]
                          spids: [879]
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (C {(shift)} {(2)})
                    (command.AndOr
                      ops: [Op_DAmp]
                      children: [
                        (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$TARGET_ARCH'))} {(Lit_Other '=')} {(DQ )} 
                          {(Lit_Other ']')}
                        )
                        (C {(fatal_error)} {(DQ ($ VSub_Number '$0') (' -arch: Specify a target arch'))})
                      ]
                    )
                  ]
                  spids: [876 877 913 16777215]
                )
                (case_arm
                  pat_list: [{(-specs)}]
                  action: [
                    (command.Sentence
                      child: 
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:DISTRO_SPECS spids:[919])
                              op: Equal
                              rhs: {(DQ ($ VSub_Number '$2'))}
                              spids: [919]
                            )
                          ]
                          spids: [919]
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (C {(shift)} {(2)})
                    (command.AndOr
                      ops: [Op_DAmp]
                      children: [
                        (C {(Lit_Other '[')} {(KW_Bang '!')} {(-f)} 
                          {(DQ ($ VSub_DollarName '$DISTRO_SPECS'))} {(Lit_Other ']')}
                        )
                        (C {(fatal_error)} 
                          {
                            (DQ ($ VSub_Number '$0') (" -specs: '") (${ VSub_Name DISTRO_SPECS) 
                              ("' is not a regular file")
                            )
                          }
                        )
                      ]
                    )
                  ]
                  spids: [916 917 956 16777215]
                )
                (case_arm
                  pat_list: [{(-h)} {(-help)} {(--help)}]
                  action: [
                    (command.Sentence
                      child: (C {(help_msg)})
                      terminator: <Op_Semi ';'>
                    )
                    (command.ControlFlow token:<ControlFlow_Exit exit>)
                  ]
                  spids: [959 964 972 16777215]
                )
                (case_arm
                  pat_list: [{(-clean)}]
                  action: [
                    (command.Sentence
                      child: 
                        (C {(echo)} {(-e)} 
                          {
                            (DQ 
                              (
'Press P and hit enter to proceed, any other combination to cancel..'
                              )
                            )
                          }
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (C {(read)} {(zz)})
                    (command.Case
                      to_match: {($ VSub_DollarName '$zz')}
                      arms: [
                        (case_arm
                          pat_list: [{(p)} {(P)}]
                          action: [
                            (C {(echo)} {(rm)} {(-rf)} 
                              {(initrd.) (Lit_Other '[') (gx) (Lit_Other ']') (z)} {(initrd_progs-) (Lit_Other '*') (.tar.) (Lit_Other '*')} {(ZZ_initrd-expanded)} {(00_) (Lit_Other '*')} 
                              {(0sources)} {(cross-compiler) (Lit_Other '*')}
                            )
                          ]
                          spids: [1000 1003 1032 16777215]
                        )
                      ]
                      spids: [994 998 1034]
                    )
                    (command.ControlFlow token:<ControlFlow_Exit exit>)
                  ]
                  spids: [975 976 1040 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (C {(echo)} {(DQ ('Unrecognized option: ') ($ VSub_Number '$1'))})
                    (C {(shift)})
                  ]
                  spids: [1043 1044 1058 16777215]
                )
              ]
              spids: [614 618 1061]
            )
          ]
          spids: [611 1063]
        )
    )
    (command.FuncDef
      name: use_prebuilt_binaries
      body: 
        (command.BraceGroup
          children: [
            (command.AndOr
              ops: [Op_DAmp]
              children: [
                (C {(Lit_Other '[')} {(KW_Bang '!')} {(DQ ($ VSub_DollarName '$PREBUILT_BINARIES'))} 
                  {(Lit_Other ']')}
                )
                (command.BraceGroup
                  children: [
                    (command.Sentence
                      child: (C {(echo)} {(DQ (ERROR))})
                      terminator: <Op_Semi ';'>
                    )
                    (command.Sentence
                      child: (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  spids: [1091]
                )
              ]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:zfile spids:[1109])
                  op: Equal
                  rhs: 
                    {(0sources/) 
                      (word_part.BracedVarSub
                        token: <VSub_Name PREBUILT_BINARIES>
                        suffix_op: 
                          (suffix_op.StringUnary
                            op_id: VOp1_DPound
                            arg_word: {('*') (Lit_Slash /)}
                          )
                        spids: [1111 1116]
                      )
                    }
                  spids: [1109]
                )
              ]
              spids: [1109]
            )
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-f)} {(DQ ($ VSub_DollarName '$zfile'))} {(Lit_Other ']')})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (command.AndOr
                      ops: [Op_DPipe]
                      children: [
                        (command.SimpleCommand
                          words: [{(tar)} {(-taf)} {(DQ ($ VSub_DollarName '$zfile'))}]
                          redirects: [
                            (redir.Redir
                              op: <Redir_AndGreat '&>'>
                              fd: 16777215
                              arg_word: {(/dev/null)}
                            )
                          ]
                        )
                        (C {(rm)} {(-f)} {(DQ ($ VSub_DollarName '$zfile'))})
                      ]
                    )
                  ]
                  spids: [16777215 1133]
                )
              ]
              spids: [16777215 1162]
            )
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (C {(Lit_Other '[')} {(KW_Bang '!')} {(-f)} {(DQ ($ VSub_DollarName '$zfile'))} 
                          {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(mkdir)} {(-p)} {(0sources)})
                    (C {(wget)} {(-P)} {(0sources)} {(--no-check-certificate)} 
                      {(DQ ($ VSub_DollarName '$PREBUILT_BINARIES'))}
                    )
                    (command.AndOr
                      ops: [Op_DPipe]
                      children: [
                        (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(-eq)} {(0)} {(Lit_Other ']')})
                        (command.BraceGroup
                          children: [
                            (command.Sentence
                              child: (C {(rm)} {(-f)} {(DQ ($ VSub_DollarName '$zfile'))})
                              terminator: <Op_Semi ';'>
                            )
                            (command.Sentence
                              child: (C {(echo)} {(DQ (ERROR))})
                              terminator: <Op_Semi ';'>
                            )
                            (command.Sentence
                              child: (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          spids: [1216]
                        )
                      ]
                    )
                  ]
                  spids: [16777215 1181]
                )
              ]
              spids: [16777215 1243]
            )
            (C {(echo)} 
              {
                (DQ ('* Extracting ') 
                  (word_part.BracedVarSub
                    token: <VSub_Name zfile>
                    suffix_op: (suffix_op.StringUnary op_id:VOp1_DPound arg_word:{('*') (Lit_Slash /)})
                    spids: [1250 1255]
                  ) (...)
                )
              }
            )
            (command.AndOr
              ops: [Op_DPipe]
              children: [
                (C {(tar)} {(-xaf)} {(DQ ($ VSub_DollarName '$zfile'))})
                (command.BraceGroup
                  children: [
                    (command.Sentence
                      child: (C {(rm)} {(-f)} {(DQ ($ VSub_DollarName '$zfile'))})
                      terminator: <Op_Semi ';'>
                    )
                    (command.Sentence
                      child: (C {(echo)} {(DQ (ERROR))})
                      terminator: <Op_Semi ';'>
                    )
                    (command.Sentence
                      child: (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  spids: [1270]
                )
              ]
            )
          ]
          spids: [1076]
        )
      spids: [1070 1075]
    )
    (command.FuncDef
      name: set_compiler
      body: 
        (command.BraceGroup
          children: [
            (command.AndOr
              ops: [Op_DPipe]
              children: [
                (command.SimpleCommand
                  words: [{(which)} {(make)}]
                  redirects: [(redir.Redir op:<Redir_AndGreat '&>'> fd:16777215 arg_word:{(/dev/null)})]
                )
                (C {(fatal_error)} {(echo)} 
                  {(DQ ('It looks like development tools are not installed.. stopping'))}
                )
              ]
            )
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$USE_SYS_GCC'))} {(Lit_Other '=')} 
                          {(DQ (no))} {(-a)} {(DQ ($ VSub_DollarName '$CROSS_COMPILE'))} {(Lit_Other '=')} {(DQ (no))} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (command.Case
                      to_match: {($ VSub_DollarName '$ARCH')}
                      arms: [
                        (case_arm
                          pat_list: [{(i) (Lit_Other '?') (86)} {(x86_64)}]
                          action: [
                            (command.Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (lhs_expr.LhsName name:CROSS_COMPILE spids:[1393])
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [1393]
                                )
                              ]
                              spids: [1393]
                            )
                          ]
                          spids: [1386 1391 1396 16777215]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (command.Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (lhs_expr.LhsName name:USE_SYS_GCC spids:[1402])
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [1402]
                                )
                              ]
                              spids: [1402]
                            )
                          ]
                          spids: [1399 1400 1405 16777215]
                        )
                      ]
                      spids: [1379 1383 1408]
                    )
                  ]
                  spids: [16777215 1360]
                )
              ]
              spids: [16777215 1411]
            )
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$USE_SYS_GCC'))} {(Lit_Other '=')} 
                          {(DQ (yes))} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (command.AndOr
                      ops: [Op_DPipe]
                      children: [
                        (command.SimpleCommand
                          words: [{(which)} {(gcc)}]
                          redirects: [
                            (redir.Redir
                              op: <Redir_AndGreat '&>'>
                              fd: 16777215
                              arg_word: {(/dev/null)}
                            )
                          ]
                        )
                        (C {(fatal_error)} {(DQ ('No gcc, aborting...'))})
                      ]
                    )
                    (C {(echo)} {(-e)} 
                      {(DQ (Lit_Other '\\') ('nBuilding in: ') ($ VSub_DollarName '$ARCH'))}
                    )
                    (C {(echo)} {(-e)} 
                      {(DQ (Lit_Other '\\') ('n* Using system gcc') (Lit_Other '\\') (n))}
                    )
                    (C {(sleep)} {(1.5)})
                  ]
                  spids: [16777215 1432]
                )
              ]
              else_action: [
                (command.Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (lhs_expr.LhsName name:CROSS_COMPILE spids:[1486])
                      op: Equal
                      rhs: {(yes)}
                      spids: [1486]
                    )
                  ]
                  spids: [1486]
                )
                (command.Case
                  to_match: {($ VSub_DollarName '$ARCH')}
                  arms: [
                    (case_arm
                      pat_list: [{(i) (Lit_Other '?') (86)} {(x86_64)}]
                      action: [
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:ok spids:[1507])
                              op: Equal
                              rhs: {(yes)}
                              spids: [1507]
                            )
                          ]
                          spids: [1507]
                        )
                      ]
                      spids: [1500 1505 1510 16777215]
                    )
                    (case_arm
                      pat_list: [{(Lit_Other '*')}]
                      action: [
                        (C {(fatal_error)} 
                          {
                            (DQ ('*** Only use x86 systems to cross-compile') (Lit_Other '\\') 
                              ('n* Run ') ($ VSub_Number '$0') (' -sysgcc to use the system gcc ... ') (Lit_Other '\\') (n)
                            )
                          }
                        )
                      ]
                      spids: [1513 1514 1528 16777215]
                    )
                  ]
                  spids: [1493 1497 1531]
                )
              ]
              spids: [1479 1534]
            )
          ]
          spids: [1309]
        )
      spids: [1303 1308]
    )
    (command.FuncDef
      name: select_target_arch
      body: 
        (command.BraceGroup
          children: [
            (command.AndOr
              ops: [Op_DAmp]
              children: [
                (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$CROSS_COMPILE'))} {(Lit_Other '=')} 
                  {(DQ (no))} {(-a)} {(DQ ($ VSub_DollarName '$USE_PREBUILT'))} {(Lit_Other '=')} {(DQ (no))} {(Lit_Other ']')}
                )
                (command.ControlFlow token:<ControlFlow_Return return>)
              ]
            )
            (command.Case
              to_match: {($ VSub_DollarName '$TARGET_ARCH')}
              arms: [
                (case_arm
                  pat_list: [{(default)}]
                  action: [
                    (command.Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (lhs_expr.LhsName name:TARGET_ARCH spids:[1597])
                          op: Equal
                          rhs: {(${ VSub_Name ARCH)}
                          spids: [1597]
                        )
                      ]
                      spids: [1597]
                    )
                  ]
                  spids: [1594 1595 1602 16777215]
                )
                (case_arm
                  pat_list: [{(x86)}]
                  action: [
                    (command.Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (lhs_expr.LhsName name:TARGET_ARCH spids:[1608])
                          op: Equal
                          rhs: {(${ VSub_Name DEFAULT_x86)}
                          spids: [1608]
                        )
                      ]
                      spids: [1608]
                    )
                  ]
                  spids: [1605 1606 1613 16777215]
                )
                (case_arm
                  pat_list: [{(arm)}]
                  action: [
                    (command.Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (lhs_expr.LhsName name:TARGET_ARCH spids:[1619])
                          op: Equal
                          rhs: {(${ VSub_Name DEFAULT_ARM)}
                          spids: [1619]
                        )
                      ]
                      spids: [1619]
                    )
                  ]
                  spids: [1616 1617 1624 16777215]
                )
              ]
              spids: [1587 1591 1631]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:VALID_TARGET_ARCH spids:[1634])
                  op: Equal
                  rhs: {(no)}
                  spids: [1634]
                )
              ]
              spids: [1634]
            )
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$TARGET_ARCH'))} 
                          {(KW_Bang '!') (Lit_Other '=')} {(DQ )} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (command.ForEach
                      iter_name: a
                      iter_words: [{($ VSub_DollarName '$ARCH_LIST_EX')}]
                      do_arg_iter: F
                      body: 
                        (command.DoGroup
                          children: [
                            (command.AndOr
                              ops: [Op_DAmp Op_DAmp]
                              children: [
                                (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$TARGET_ARCH'))} 
                                  {(Lit_Other '=')} {(DQ ($ VSub_DollarName '$a'))} {(Lit_Other ']')}
                                )
                                (command.Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (lhs_expr.LhsName name:VALID_TARGET_ARCH spids:[1691])
                                      op: Equal
                                      rhs: {(yes)}
                                      spids: [1691]
                                    )
                                  ]
                                  spids: [1691]
                                )
                                (command.ControlFlow
                                  token: <ControlFlow_Break break>
                                )
                              ]
                            )
                          ]
                          spids: [1672 1699]
                        )
                      spids: [1667 1670]
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: [
                            (command.Sentence
                              child: 
                                (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$VALID_TARGET_ARCH'))} 
                                  {(Lit_Other '=')} {(DQ (no))} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(echo)} 
                              {(DQ ('Invalid target arch: ') ($ VSub_DollarName '$TARGET_ARCH'))}
                            )
                            (command.ControlFlow
                              token: <ControlFlow_Exit exit>
                              arg_word: {(1)}
                            )
                          ]
                          spids: [16777215 1720]
                        )
                      ]
                      else_action: [
                        (command.AndOr
                          ops: [Op_DAmp]
                          children: [
                            (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$TARGET_ARCH'))} 
                              {(KW_Bang '!') (Lit_Other '=')} {(DQ (default))} {(Lit_Other ']')}
                            )
                            (command.Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (lhs_expr.LhsName name:ARCH spids:[1756])
                                  op: Equal
                                  rhs: {(${ VSub_Name TARGET_ARCH)}
                                  spids: [1756]
                                )
                              ]
                              spids: [1756]
                            )
                          ]
                        )
                      ]
                      spids: [1736 1762]
                    )
                  ]
                  spids: [16777215 1656]
                )
              ]
              spids: [16777215 1765]
            )
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$VALID_TARGET_ARCH'))} 
                          {(Lit_Other '=')} {(DQ (no))} {(-a)} {(DQ ($ VSub_DollarName '$PROMPT'))} {(Lit_Other '=')} {(DQ (yes))} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(echo)} {(-e)} 
                      {(DQ (Lit_Other '\\') ("nWe're going to compile apps for the init ram disk"))}
                    )
                    (C {(echo)} {(-e)} 
                      {(DQ ('Select the arch you want to compile to') (Lit_Other '\\') (n))}
                    )
                    (command.Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (lhs_expr.LhsName name:x spids:[1826])
                          op: Equal
                          rhs: {(1)}
                          spids: [1826]
                        )
                      ]
                      spids: [1826]
                    )
                    (command.ForEach
                      iter_name: a
                      iter_words: [{($ VSub_DollarName '$ARCH_LIST')}]
                      do_arg_iter: F
                      body: 
                        (command.DoGroup
                          children: [
                            (command.Case
                              to_match: {($ VSub_DollarName '$a')}
                              arms: [
                                (case_arm
                                  pat_list: [{(default)}]
                                  action: [
                                    (C {(echo)} 
                                      {
                                        (DQ ('\t') (${ VSub_Name x) (') default [') (${ VSub_Name ARCH) 
                                          (']')
                                        )
                                      }
                                    )
                                  ]
                                  spids: [1850 1851 1867 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (C {(echo)} 
                                      {(DQ ('\t') (${ VSub_Name x) (') ') ($ VSub_DollarName '$a'))}
                                    )
                                  ]
                                  spids: [1870 1871 1884 16777215]
                                )
                              ]
                              spids: [1843 1847 1887]
                            )
                            (C {(let)} {(x) (Lit_Other '+') (Lit_Other '+')})
                          ]
                          spids: [1840 1897]
                        )
                      spids: [1835 1838]
                    )
                    (C {(echo)} {(DQ ('\t*) default [') (${ VSub_Name ARCH) (']'))})
                    (command.Sentence
                      child: (C {(echo)} {(-en)} {(DQ (Lit_Other '\\') ('nEnter your choice: '))})
                      terminator: <Op_Semi ';'>
                    )
                    (C {(read)} {(choice)})
                    (C {(echo)})
                    (command.Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (lhs_expr.LhsName name:x spids:[1930])
                          op: Equal
                          rhs: {(1)}
                          spids: [1930]
                        )
                      ]
                      spids: [1930]
                    )
                    (command.ForEach
                      iter_name: a
                      iter_words: [{($ VSub_DollarName '$ARCH_LIST')}]
                      do_arg_iter: F
                      body: 
                        (command.DoGroup
                          children: [
                            (command.Sentence
                              child: 
                                (command.AndOr
                                  ops: [Op_DAmp Op_DAmp]
                                  children: [
                                    (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$x'))} 
                                      {(Lit_Other '=')} {(DQ ($ VSub_DollarName '$choice'))} {(Lit_Other ']')}
                                    )
                                    (command.Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (lhs_expr.LhsName name:selected_arch spids:[1962])
                                          op: Equal
                                          rhs: {($ VSub_DollarName '$a')}
                                          spids: [1962]
                                        )
                                      ]
                                      spids: [1962]
                                    )
                                    (command.ControlFlow
                                      token: <ControlFlow_Break break>
                                    )
                                  ]
                                )
                              terminator: <Op_Semi ';'>
                            )
                            (command.Sentence
                              child: (C {(let)} {(x) (Lit_Other '+') (Lit_Other '+')})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          spids: [1944 1979]
                        )
                      spids: [1939 1942]
                    )
                    (command.ForEach
                      iter_name: a
                      iter_words: [{($ VSub_DollarName '$ARCH_LIST_EX')}]
                      do_arg_iter: F
                      body: 
                        (command.DoGroup
                          children: [
                            (command.Sentence
                              child: 
                                (command.AndOr
                                  ops: [Op_DAmp]
                                  children: [
                                    (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$a'))} 
                                      {(Lit_Other '=')} {(DQ ($ VSub_DollarName '$choice'))} {(Lit_Other ']')}
                                    )
                                    (command.Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (lhs_expr.LhsName name:selected_arch spids:[2010])
                                          op: Equal
                                          rhs: {($ VSub_DollarName '$a')}
                                          spids: [2010]
                                        )
                                      ]
                                      spids: [2010]
                                    )
                                  ]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          spids: [1992 2015]
                        )
                      spids: [1987 1990]
                    )
                    (command.Case
                      to_match: {($ VSub_DollarName '$selected_arch')}
                      arms: [
                        (case_arm
                          pat_list: [{(default)} {(DQ )}]
                          action: [
                            (command.Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (lhs_expr.LhsName name:ok spids:[2030])
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [2030]
                                )
                              ]
                              spids: [2030]
                            )
                          ]
                          spids: [2025 2029 2033 16777215]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (command.Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (lhs_expr.LhsName name:ARCH spids:[2039])
                                  op: Equal
                                  rhs: {($ VSub_DollarName '$selected_arch')}
                                  spids: [2039]
                                )
                              ]
                              spids: [2039]
                            )
                          ]
                          spids: [2036 2037 2042 16777215]
                        )
                      ]
                      spids: [2018 2022 2045]
                    )
                  ]
                  spids: [16777215 1802]
                )
              ]
              spids: [16777215 2048]
            )
            (command.AndOr
              ops: [Op_DAmp Op_DAmp]
              children: [
                (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$USE_PREBUILT'))} {(Lit_Other '=')} 
                  {(DQ (yes))} {(Lit_Other ']')}
                )
                (C {(echo)} {(DQ ('Arch: ') ($ VSub_DollarName '$ARCH'))})
                (command.ControlFlow token:<ControlFlow_Return return>)
              ]
            )
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$DLD_ONLY'))} {(Lit_Other '=')} 
                          {(DQ (no))} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (command.Case
                      to_match: {($ VSub_DollarName '$OS_ARCH')}
                      arms: [
                        (case_arm
                          pat_list: [{(Lit_Other '*') (64)}]
                          action: [
                            (command.Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (lhs_expr.LhsName name:ok spids:[2119])
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [2119]
                                )
                              ]
                              spids: [2119]
                            )
                          ]
                          spids: [2115 2117 2122 16777215]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (command.Case
                              to_match: {($ VSub_DollarName '$ARCH')}
                              arms: [
                                (case_arm
                                  pat_list: [{(Lit_Other '*') (64)}]
                                  action: [
                                    (C {(fatal_error)} 
                                      {
                                        (DQ (Lit_Other '\\') 
                                          (
'n*** Trying to compile for a 64bit arch in a 32bit system?'
                                          ) (Lit_Other '\\') ("n*** That's not possible.. exiting..")
                                        )
                                      }
                                    )
                                  ]
                                  spids: [2134 2136 2147 16777215]
                                )
                              ]
                              spids: [2128 2132 2149]
                            )
                          ]
                          spids: [2125 2126 2151 16777215]
                        )
                      ]
                      spids: [2108 2112 2154]
                    )
                  ]
                  spids: [16777215 2105]
                )
              ]
              spids: [16777215 2157]
            )
            (C {(echo)} {(DQ ('Arch: ') ($ VSub_DollarName '$ARCH'))})
            (C {(sleep)} {(1.5)})
          ]
          spids: [1549]
        )
      spids: [1543 1548]
    )
    (command.FuncDef
      name: setup_cross_compiler
      body: 
        (command.BraceGroup
          children: [
            (command.AndOr
              ops: [Op_DAmp]
              children: [
                (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$CROSS_COMPILE'))} {(Lit_Other '=')} 
                  {(DQ (no))} {(Lit_Other ']')}
                )
                (command.ControlFlow token:<ControlFlow_Return return>)
              ]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:CCOMP_DIR spids:[2211])
                  op: Equal
                  rhs: {(cross-compiler-) (${ VSub_Name ARCH)}
                  spids: [2211]
                )
              ]
              spids: [2211]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:URL spids:[2218])
                  op: Equal
                  rhs: {(http) (Lit_Other ':') (//landley.net/aboriginal/downloads/binaries)}
                  spids: [2218]
                )
              ]
              spids: [2218]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:PACKAGE spids:[2224])
                  op: Equal
                  rhs: {(${ VSub_Name CCOMP_DIR) (.tar.gz)}
                  spids: [2224]
                )
              ]
              spids: [2224]
            )
            (C {(echo)})
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (C {(Lit_Other '[')} {(KW_Bang '!')} {(-f)} 
                          {(DQ (0sources/) (${ VSub_Name PACKAGE))} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(echo)} {(DQ ('Download cross compiler from Aboriginal Linux'))})
                    (command.AndOr
                      ops: [Op_DAmp Op_DAmp]
                      children: [
                        (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$PROMPT'))} {(Lit_Other '=')} 
                          {(DQ (yes))} {(Lit_Other ']')}
                        )
                        (C {(echo)} {(-n)} {(DQ ('Press enter to continue, CTRL-C to cancel...'))})
                        (C {(read)} {(zzz)})
                      ]
                    )
                    (C {(wget)} {(-c)} {(-P)} {(0sources)} {(${ VSub_Name URL) (/) (${ VSub_Name PACKAGE)})
                    (command.If
                      arms: [
                        (if_arm
                          cond: [
                            (command.Sentence
                              child: 
                                (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(-ne)} {(0)} {(Lit_Other ']')})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(rm)} {(-rf)} {(${ VSub_Name CCOMP_DIR)})
                            (C {(echo)} {(DQ ('failed to download ') (${ VSub_Name PACKAGE))})
                            (command.ControlFlow
                              token: <ControlFlow_Exit exit>
                              arg_word: {(1)}
                            )
                          ]
                          spids: [16777215 2327]
                        )
                      ]
                      spids: [16777215 2354]
                    )
                  ]
                  spids: [16777215 2255]
                )
              ]
              else_action: [
                (command.AndOr
                  ops: [Op_DAmp]
                  children: [
                    (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$DLD_ONLY'))} {(Lit_Other '=')} 
                      {(DQ (yes))} {(Lit_Other ']')}
                    )
                    (C {(echo)} {(DQ ('Already downloaded ') (${ VSub_Name PACKAGE))})
                  ]
                )
              ]
              spids: [2357 2386]
            )
            (command.AndOr
              ops: [Op_DAmp]
              children: [
                (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$DLD_ONLY'))} {(Lit_Other '=')} {(DQ (yes))} 
                  {(Lit_Other ']')}
                )
                (command.ControlFlow token:<ControlFlow_Return return>)
              ]
            )
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (C {(Lit_Other '[')} {(KW_Bang '!')} {(-d)} 
                          {(DQ ($ VSub_DollarName '$CCOMP_DIR'))} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(tar)} {(--directory) (Lit_Other '=') ($ VSub_DollarName '$PWD')} {(-xaf)} 
                      {(0sources/) (${ VSub_Name PACKAGE)}
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: [
                            (command.Sentence
                              child: 
                                (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(-ne)} {(0)} {(Lit_Other ']')})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(rm)} {(-rf)} {(${ VSub_Name CCOMP_DIR)})
                            (C {(rm)} {(-fv)} {(0sources/) (${ VSub_Name PACKAGE)})
                            (C {(echo)} {(DQ ('failed to extract ') (${ VSub_Name PACKAGE))})
                            (command.ControlFlow
                              token: <ControlFlow_Exit exit>
                              arg_word: {(1)}
                            )
                          ]
                          spids: [16777215 2459]
                        )
                      ]
                      spids: [16777215 2496]
                    )
                  ]
                  spids: [16777215 2428]
                )
              ]
              spids: [16777215 2499]
            )
            (command.AndOr
              ops: [Op_DAmp]
              children: [
                (C {(Lit_Other '[')} {(KW_Bang '!')} {(-d)} {(DQ ($ VSub_DollarName '$CCOMP_DIR'))} 
                  {(Lit_Other ']')}
                )
                (command.BraceGroup
                  children: [
                    (command.Sentence
                      child: (C {(echo)} {(DQ ($ VSub_DollarName '$CCOMP_DIR') (' not found'))})
                      terminator: <Op_Semi ';'>
                    )
                    (command.Sentence
                      child: (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  spids: [2520]
                )
              ]
            )
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-d)} {(cross-compiler-) (${ VSub_Name ARCH) (/cc/lib)} 
                          {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(cp)} {(cross-compiler-) (${ VSub_Name ARCH) (/cc/lib/) (Lit_Other '*')} 
                      {(cross-compiler-) (${ VSub_Name ARCH) (/lib)}
                    )
                  ]
                  spids: [16777215 2554]
                )
              ]
              spids: [16777215 2573]
            )
            (C {(echo)} {(-e)} 
              {
                (DQ (Lit_Other '\\') ('nUsing cross compiler from Aboriginal Linux') (Lit_Other '\\') 
                  (n)
                )
              }
            )
            (C {(export)} {(Lit_VarLike 'OVERRIDE_ARCH=') (${ VSub_Name ARCH)})
            (C {(export)} {(Lit_VarLike 'XPATH=') (${ VSub_Name PWD) (/) (${ VSub_Name CCOMP_DIR)})
          ]
          spids: [2185]
        )
      spids: [2179 2184]
    )
    (command.FuncDef
      name: check_bin
      body: 
        (command.BraceGroup
          children: [
            (command.Case
              to_match: {($ VSub_DollarName '$init_pkg')}
              arms: [
                (case_arm
                  pat_list: [{(DQ )} {(SQ <'#'>) (Lit_Other '*')}]
                  action: [(command.ControlFlow token:<ControlFlow_Continue continue>)]
                  spids: [2636 2643 2647 16777215]
                )
                (case_arm
                  pat_list: [{(coreutils_static)}]
                  action: [
                    (command.Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (lhs_expr.LhsName name:static_bins spids:[2653])
                          op: Equal
                          rhs: {(SQ <cp>)}
                          spids: [2653]
                        )
                      ]
                      spids: [2653]
                    )
                  ]
                  spids: [2650 2651 2658 16777215]
                )
                (case_arm
                  pat_list: [{(dosfstools_static)}]
                  action: [
                    (command.Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (lhs_expr.LhsName name:static_bins spids:[2664])
                          op: Equal
                          rhs: {(SQ <fsck.fat>)}
                          spids: [2664]
                        )
                      ]
                      spids: [2664]
                    )
                  ]
                  spids: [2661 2662 2669 16777215]
                )
                (case_arm
                  pat_list: [{(e2fsprogs_static)}]
                  action: [
                    (command.Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (lhs_expr.LhsName name:static_bins spids:[2675])
                          op: Equal
                          rhs: {(SQ <'e2fsck resize2fs'>)}
                          spids: [2675]
                        )
                      ]
                      spids: [2675]
                    )
                  ]
                  spids: [2672 2673 2680 16777215]
                )
                (case_arm
                  pat_list: [{(exfat-utils_static)}]
                  action: [
                    (command.Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (lhs_expr.LhsName name:static_bins spids:[2686])
                          op: Equal
                          rhs: {(SQ <exfatfsck>)}
                          spids: [2686]
                        )
                      ]
                      spids: [2686]
                    )
                  ]
                  spids: [2683 2684 2691 16777215]
                )
                (case_arm
                  pat_list: [{(fuse-exfat_static)}]
                  action: [
                    (command.Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (lhs_expr.LhsName name:static_bins spids:[2697])
                          op: Equal
                          rhs: {(SQ <mount.exfat-fuse>)}
                          spids: [2697]
                        )
                      ]
                      spids: [2697]
                    )
                  ]
                  spids: [2694 2695 2702 16777215]
                )
                (case_arm
                  pat_list: [{(findutils_static)}]
                  action: [
                    (command.Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (lhs_expr.LhsName name:static_bins spids:[2708])
                          op: Equal
                          rhs: {(SQ <find>)}
                          spids: [2708]
                        )
                      ]
                      spids: [2708]
                    )
                  ]
                  spids: [2705 2706 2713 16777215]
                )
                (case_arm
                  pat_list: [{(util-linux_static)}]
                  action: [
                    (command.Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (lhs_expr.LhsName name:static_bins spids:[2719])
                          op: Equal
                          rhs: {(SQ <losetup>)}
                          spids: [2719]
                        )
                      ]
                      spids: [2719]
                    )
                  ]
                  spids: [2716 2717 2724 16777215]
                )
                (case_arm
                  pat_list: [{(util-linux-222_static)}]
                  action: [
                    (command.Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (lhs_expr.LhsName name:static_bins spids:[2730])
                          op: Equal
                          rhs: {(SQ <losetup-222>)}
                          spids: [2730]
                        )
                      ]
                      spids: [2730]
                    )
                  ]
                  spids: [2727 2728 2735 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (command.Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (lhs_expr.LhsName name:static_bins spids:[2741])
                          op: Equal
                          rhs: 
                            {
                              (word_part.BracedVarSub
                                token: <VSub_Name init_pkg>
                                suffix_op: (suffix_op.StringUnary op_id:VOp1_Percent arg_word:{('_*')})
                                spids: [2742 2746]
                              )
                            }
                          spids: [2741]
                        )
                      ]
                      spids: [2741]
                    )
                  ]
                  spids: [2738 2739 2748 16777215]
                )
              ]
              spids: [2629 2633 2751]
            )
            (command.ForEach
              iter_name: sbin
              iter_words: [{(${ VSub_Name static_bins)}]
              do_arg_iter: F
              body: 
                (command.DoGroup
                  children: [
                    (command.AndOr
                      ops: [Op_DPipe]
                      children: [
                        (C {(Lit_Other '[')} {(-f)} 
                          {(./00_) (${ VSub_Name ARCH) (/bin/) (${ VSub_Name sbin)} {(Lit_Other ']')}
                        )
                        (command.ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(1)}
                        )
                      ]
                    )
                  ]
                  spids: [2766 2791]
                )
              spids: [2759 2764]
            )
          ]
          spids: [2626]
        )
      spids: [2620 2625]
    )
    (command.FuncDef
      name: build_pkgs
      body: 
        (command.BraceGroup
          children: [
            (C {(rm)} {(-f)} {(.fatal)})
            (C {(mkdir)} {(-p)} {(00_) (${ VSub_Name ARCH) (/bin)} {(00_) (${ VSub_Name ARCH) (/log)} 
              {(0sources)}
            )
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$DLD_ONLY'))} {(Lit_Other '=')} 
                          {(DQ (no))} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(echo)} 
                      {
                        (DQ 
                          (
'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'
                          )
                        )
                      }
                    )
                    (C {(echo)} {(-e)} 
                      {
                        (DQ (Lit_Other '\\') ('nbuilding packages for the initial ram disk') 
                          (Lit_Other '\\') (n)
                        )
                      }
                    )
                    (C {(sleep)} {(1)})
                  ]
                  spids: [16777215 2849]
                )
              ]
              spids: [16777215 2876]
            )
            (command.AndOr
              ops: [Op_DAmp]
              children: [
                (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$BUILD_PKG'))} 
                  {(KW_Bang '!') (Lit_Other '=')} {(DQ )} {(Lit_Other ']')}
                )
                (command.Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (lhs_expr.LhsName name:PACKAGES spids:[2899])
                      op: Equal
                      rhs: {(DQ ($ VSub_DollarName '$BUILD_PKG'))}
                      spids: [2899]
                    )
                  ]
                  spids: [2899]
                )
              ]
            )
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$FORCE_BUILD_ALL'))} 
                          {(Lit_Other '=')} {(DQ (yes))} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (command.Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (lhs_expr.LhsName name:PACKAGES spids:[2926])
                          op: Equal
                          rhs: 
                            {
                              (word_part.CommandSubPart
                                command_list: 
                                  (command.CommandList
                                    children: [
                                      (command.Pipeline
                                        children: [
                                          (C {(find)} {(pkg)} {(-maxdepth)} {(1)} {(-type)} {(d)} {(-name)} 
                                            {(SQ <'*_static'>)}
                                          )
                                          (C {(sed)} {(SQ <'s|.*/||'>)})
                                          (C {(sort)})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [2927 2957]
                              )
                            }
                          spids: [2926]
                        )
                      ]
                      spids: [2926]
                    )
                  ]
                  spids: [16777215 2923]
                )
              ]
              else_action: [
                (command.Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (lhs_expr.LhsName name:PACKAGES spids:[2963])
                      op: Equal
                      rhs: 
                        {
                          (word_part.CommandSubPart
                            command_list: 
                              (command.CommandList
                                children: [
                                  (C {(get_initrd_progs)} {(-pkg)} {($ VSub_DollarName '$ARCH')})
                                ]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [2964 2970]
                          )
                        }
                      spids: [2963]
                    )
                  ]
                  spids: [2963]
                )
              ]
              spids: [2960 2973]
            )
            (command.ForEach
              iter_name: init_pkg
              iter_words: [{(${ VSub_Name PACKAGES)}]
              do_arg_iter: F
              body: 
                (command.DoGroup
                  children: [
                    (command.Case
                      to_match: {($ VSub_DollarName '$init_pkg')}
                      arms: [
                        (case_arm
                          pat_list: [{(DQ )} {(SQ <'#'>) (Lit_Other '*')}]
                          action: [(command.ControlFlow token:<ControlFlow_Continue continue>)]
                          spids: [3001 3008 3012 16777215]
                        )
                      ]
                      spids: [2995 2999 3014]
                    )
                    (command.AndOr
                      ops: [Op_DAmp]
                      children: [
                        (C {(Lit_Other '[')} {(-f)} {(.fatal)} {(Lit_Other ']')})
                        (command.BraceGroup
                          children: [
                            (command.Sentence
                              child: (C {(echo)} {(DQ (Exiting..))})
                              terminator: <Op_Semi ';'>
                            )
                            (command.Sentence
                              child: (C {(rm)} {(-f)} {(.fatal)})
                              terminator: <Op_Semi ';'>
                            )
                            (command.Sentence
                              child: (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          spids: [3027]
                        )
                      ]
                    )
                    (command.AndOr
                      ops: [Op_DAmp]
                      children: [
                        (C {(Lit_Other '[')} {(-d)} {(pkg/) (DQ (${ VSub_Name init_pkg) (_static))} 
                          {(Lit_Other ']')}
                        )
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:init_pkg spids:[3070])
                              op: Equal
                              rhs: {(${ VSub_Name init_pkg) (_static)}
                              spids: [3070]
                            )
                          ]
                          spids: [3070]
                        )
                      ]
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: [
                            (command.Sentence
                              child: 
                                (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$DLD_ONLY'))} 
                                  {(Lit_Other '=')} {(DQ (no))} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(check_bin)} {($ VSub_DollarName '$init_pkg')})
                            (command.AndOr
                              ops: [Op_DAmp]
                              children: [
                                (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(-eq)} {(0)} {(Lit_Other ']')})
                                (command.BraceGroup
                                  children: [
                                    (command.Sentence
                                      child: 
                                        (C {(echo)} 
                                          {
                                            (DQ ($ VSub_DollarName '$init_pkg') 
                                              (' exists ... skipping')
                                            )
                                          }
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                    (command.Sentence
                                      child: 
                                        (command.ControlFlow
                                          token: <ControlFlow_Continue continue>
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  spids: [3115]
                                )
                              ]
                            )
                            (C {(echo)} {(-e)} 
                              {
                                (DQ (Lit_Other '\\') 
                                  (
'n+=============================================================================+'
                                  )
                                )
                              }
                            )
                            (C {(echo)} {(-e)} 
                              {(DQ (Lit_Other '\\') ('nbuilding ') ($ VSub_DollarName '$init_pkg'))}
                            )
                            (C {(sleep)} {(1)})
                          ]
                          spids: [16777215 3095]
                        )
                      ]
                      spids: [16777215 3159]
                    )
                    (C {(cd)} {(pkg/) (${ VSub_Name init_pkg)})
                    (C {(mkdir)} {(-p)} {(${ VSub_Name MWD) (/00_) (${ VSub_Name ARCH) (/log)})
                    (command.Pipeline
                      children: [
                        (command.SimpleCommand
                          words: [{(sh)} {(${ VSub_Name init_pkg) (.petbuild)}]
                          redirects: [(redir.Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)})]
                        )
                        (C {(tee)} 
                          {(${ VSub_Name MWD) (/00_) (${ VSub_Name ARCH) (/log/) 
                            (${ VSub_Name init_pkg) (build.log)
                          }
                        )
                      ]
                      negated: F
                    )
                    (C {(cd)} {(${ VSub_Name MWD)})
                    (command.AndOr
                      ops: [Op_DAmp]
                      children: [
                        (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$DLD_ONLY'))} {(Lit_Other '=')} 
                          {(DQ (yes))} {(Lit_Other ']')}
                        )
                        (command.ControlFlow
                          token: <ControlFlow_Continue continue>
                        )
                      ]
                    )
                    (C {(check_bin)} {($ VSub_DollarName '$init_pkg')})
                    (command.AndOr
                      ops: [Op_DAmp]
                      children: [
                        (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(-ne)} {(0)} {(Lit_Other ']')})
                        (command.BraceGroup
                          children: [
                            (command.Sentence
                              child: (C {(echo)} {(DQ ('target binary does not exist...'))})
                              terminator: <Op_Semi ';'>
                            )
                            (command.Sentence
                              child: (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          spids: [3259]
                        )
                      ]
                    )
                  ]
                  spids: [2992 3276]
                )
              spids: [2985 2990]
            )
            (C {(rm)} {(-f)} {(.fatal)})
          ]
          spids: [2802]
        )
      spids: [2796 2801]
    )
    (command.FuncDef
      name: set_lang
      body: 
        (command.BraceGroup
          children: [
            (command.AndOr
              ops: [Op_DAmp]
              children: [
                (C {(Lit_Other '[')} 
                  {
                    (DQ 
                      (word_part.BracedVarSub
                        token: <VSub_Name LOCALE>
                        suffix_op: (suffix_op.StringUnary op_id:VOp1_Percent arg_word:{('_*')})
                        spids: [3307 3311]
                      )
                    )
                  } {(Lit_Other '=')} {(DQ (en))} {(Lit_Other ']')}
                )
                (command.Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (lhs_expr.LhsName name:LOCALE spids:[3324])
                      op: Equal
                      rhs: {(DQ )}
                      spids: [3324]
                    )
                  ]
                  spids: [3324]
                )
              ]
            )
            (command.AndOr
              ops: [Op_DAmp]
              children: [
                (C {(Lit_Other '[')} {(KW_Bang '!')} {(DQ ($ VSub_DollarName '$LOCALE'))} 
                  {(Lit_Other ']')}
                )
                (command.BraceGroup
                  children: [
                    (command.Sentence
                      child: (C {(echo)} {(-e)} {(DQ (Lit_Other '\\') ('n* Using default locale'))})
                      terminator: <Op_Semi ';'>
                    )
                    (command.Sentence
                      child: (C {(rm)} {(-f)} {(ZZ_initrd-expanded/PUPPYLANG)})
                      terminator: <Op_Semi ';'>
                    )
                    (command.Sentence
                      child: (command.ControlFlow token:<ControlFlow_Return return>)
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  spids: [3341]
                )
              ]
            )
            (C {(echo)} {(-e)} 
              {(DQ ('* LANG set to: ') ($ VSub_DollarName '$LOCALE') (Lit_Other '\\') (n))}
            )
            (command.SimpleCommand
              words: [{(echo)} {(-n)} {(DQ ($ VSub_DollarName '$LOCALE'))}]
              redirects: [
                (redir.Redir
                  op: <Redir_Great '>'>
                  fd: 16777215
                  arg_word: {(ZZ_initrd-expanded/PUPPYLANG)}
                )
              ]
            )
          ]
          spids: [3298]
        )
      spids: [3292 3297]
    )
    (command.FuncDef
      name: set_keymap
      body: 
        (command.BraceGroup
          children: [
            (command.AndOr
              ops: [Op_DAmp]
              children: [
                (C {(Lit_Other '[')} {(KW_Bang '!')} {(-f)} 
                  {(0initrd/lib/keymaps/) (${ VSub_Name KEYMAP) (.gz)} {(Lit_Other ']')}
                )
                (command.Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (lhs_expr.LhsName name:KEYMAP spids:[3423])
                      op: Equal
                      rhs: {(DQ )}
                      spids: [3423]
                    )
                  ]
                  spids: [3423]
                )
              ]
            )
            (command.Case
              to_match: {($ VSub_DollarName '$KEYMAP')}
              arms: [
                (case_arm
                  pat_list: [{(default)} {(en)} {(us)} {(DQ )}]
                  action: [
                    (command.Sentence
                      child: (C {(echo)} {(DQ ('* Using default keymap'))})
                      terminator: <Op_Semi ';'>
                    )
                    (command.Sentence
                      child: (C {(rm)} {(-f)} {(ZZ_initrd-expanded/PUPPYKEYMAP)})
                      terminator: <Op_Semi ';'>
                    )
                    (command.ControlFlow token:<ControlFlow_Return return>)
                  ]
                  spids: [3434 3442 3461 16777215]
                )
              ]
              spids: [3428 3432 3463]
            )
            (C {(echo)} {(-e)} {(DQ ("* Keymap set to: '") (${ VSub_Name KEYMAP) ("'"))})
            (command.SimpleCommand
              words: [{(echo)} {(-n)} {(DQ ($ VSub_DollarName '$KEYMAP'))}]
              redirects: [
                (redir.Redir
                  op: <Redir_Great '>'>
                  fd: 16777215
                  arg_word: {(ZZ_initrd-expanded/PUPPYKEYMAP)}
                )
              ]
            )
          ]
          spids: [3401]
        )
      spids: [3395 3400]
    )
    (command.FuncDef
      name: generate_initrd
      body: 
        (command.BraceGroup
          children: [
            (command.AndOr
              ops: [Op_DAmp]
              children: [
                (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$DLD_ONLY'))} {(Lit_Other '=')} {(DQ (yes))} 
                  {(Lit_Other ']')}
                )
                (command.ControlFlow token:<ControlFlow_Return return>)
              ]
            )
            (command.AndOr
              ops: [Op_DAmp]
              children: [
                (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$INITRD_CREATE'))} {(Lit_Other '=')} 
                  {(DQ (no))} {(Lit_Other ']')}
                )
                (command.ControlFlow token:<ControlFlow_Return return>)
              ]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:INITRD_FILE spids:[3541])
                  op: Equal
                  rhs: {(DQ (initrd.) (${ VSub_Name INITRD_COMP))}
                  spids: [3541]
                )
              ]
              spids: [3541]
            )
            (command.AndOr
              ops: [Op_DAmp]
              children: [
                (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$INITRD_GZ'))} {(Lit_Other '=')} 
                  {(DQ (yes))} {(Lit_Other ']')}
                )
                (command.Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (lhs_expr.LhsName name:INITRD_FILE spids:[3566])
                      op: Equal
                      rhs: {(DQ (initrd.gz))}
                      spids: [3566]
                    )
                  ]
                  spids: [3566]
                )
              ]
            )
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$USE_PREBUILT'))} 
                          {(Lit_Other '=')} {(DQ (no))} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (command.AndOr
                      ops: [Op_DAmp Op_DAmp]
                      children: [
                        (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$PROMPT'))} {(Lit_Other '=')} 
                          {(DQ (yes))} {(Lit_Other ']')}
                        )
                        (C {(echo)} {(-en)} 
                          {
                            (DQ (Lit_Other '\\') ('nPress enter to create ') (${ VSub_Name INITRD_FILE) 
                              (', CTRL-C to end here..')
                            )
                          }
                        )
                        (C {(read)} {(zzz)})
                      ]
                    )
                    (C {(echo)} {(-e)} 
                      {(DQ (Lit_Other '\\') ('n============================================'))}
                    )
                    (C {(echo)} 
                      {(DQ ('Now creating the initial ramdisk (') (${ VSub_Name INITRD_FILE) (')'))}
                    )
                    (C {(echo)} {(-e)} 
                      {(DQ ('=============================================') (Lit_Other '\\') (n))}
                    )
                  ]
                  spids: [16777215 3591]
                )
              ]
              spids: [16777215 3662]
            )
            (C {(rm)} {(-rf)} {(ZZ_initrd-expanded)})
            (C {(mkdir)} {(-p)} {(ZZ_initrd-expanded)})
            (C {(cp)} {(-rf)} {(0initrd/) (Lit_Other '*')} {(ZZ_initrd-expanded)})
            (C {(find)} {(ZZ_initrd-expanded)} {(-type)} {(f)} {(-name)} {(SQ <'*MARKER'>)} {(-delete)})
            (C {(set_lang)})
            (C {(set_keymap)})
            (C {(cd)} {(ZZ_initrd-expanded)})
            (command.ForEach
              iter_name: PROG
              iter_words: [
                {
                  (word_part.CommandSubPart
                    command_list: 
                      (command.CommandList
                        children: [(C {(get_initrd_progs)} {(${ VSub_Name ARCH)})]
                      )
                    left_token: <Left_CommandSub '$('>
                    spids: [3733 3739]
                  )
                }
              ]
              do_arg_iter: F
              body: 
                (command.DoGroup
                  children: [
                    (command.Case
                      to_match: {($ VSub_DollarName '$PROG')}
                      arms: [
                        (case_arm
                          pat_list: [{(DQ )} {(SQ <'#'>) (Lit_Other '*')}]
                          action: [(command.ControlFlow token:<ControlFlow_Continue continue>)]
                          spids: [3752 3759 3763 16777215]
                        )
                      ]
                      spids: [3746 3750 3765]
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: [
                            (command.Sentence
                              child: 
                                (C {(Lit_Other '[')} {(-f)} 
                                  {(../00_) (${ VSub_Name ARCH) (/bin/) (${ VSub_Name PROG)} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (command.AndOr
                              ops: [Op_DAmp]
                              children: [
                                (command.Pipeline
                                  children: [
                                    (C {(file)} 
                                      {(../00_) (${ VSub_Name ARCH) (/bin/) (${ VSub_Name PROG)}
                                    )
                                    (C {(grep)} {(-E)} {(SQ <'dynamically|shared'>)})
                                  ]
                                  negated: F
                                )
                                (command.ControlFlow
                                  token: <ControlFlow_Exit exit>
                                  arg_word: {(1)}
                                )
                              ]
                            )
                            (C {(cp)} {(-a)} {(${ VSub_Name V)} {(--remove-destination)} 
                              {(../00_) (${ VSub_Name ARCH) (/bin/) (${ VSub_Name PROG)} {(bin)}
                            )
                          ]
                          spids: [16777215 3787]
                        )
                      ]
                      else_action: [
                        (C {(echo)} 
                          {(DQ (00_) (${ VSub_Name ARCH) (/bin/) (${ VSub_Name PROG) (' not found'))}
                        )
                        (command.ControlFlow
                          token: <ControlFlow_Exit exit>
                          arg_word: {(1)}
                        )
                      ]
                      spids: [3840 3863]
                    )
                  ]
                  spids: [3743 3866]
                )
              spids: [3732 3741]
            )
            (command.AndOr
              ops: [Op_DAmp]
              children: [
                (C {(Lit_Other '[')} {(KW_Bang '!')} {(-f)} {(bin/nano)} {(Lit_Other ']')})
                (C {(rm)} {(-rf)} {(usr)} {(lib/terminfo)})
              ]
            )
            (C {(echo)})
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (C {(Lit_Other '[')} {(KW_Bang '!')} {(-f)} 
                          {(DQ ($ VSub_DollarName '$DISTRO_SPECS'))} {(-a)} {(-f)} {(../DISTRO_SPECS)} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (command.Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (lhs_expr.LhsName name:DISTRO_SPECS spids:[3920])
                          op: Equal
                          rhs: {(SQ <../DISTRO_SPECS>)}
                          spids: [3920]
                        )
                      ]
                      spids: [3920]
                    )
                  ]
                  spids: [16777215 3917]
                )
              ]
              spids: [16777215 3926]
            )
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (C {(Lit_Other '[')} {(KW_Bang '!')} {(-f)} 
                          {(DQ ($ VSub_DollarName '$DISTRO_SPECS'))} {(-a)} {(KW_Bang '!')} {(-f)} {(../0initrd/DISTRO_SPECS)} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (command.AndOr
                      ops: [Op_DAmp]
                      children: [
                        (C {(Lit_Other '[')} {(-f)} {(/etc/DISTRO_SPECS)} {(Lit_Other ']')})
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:DISTRO_SPECS spids:[3966])
                              op: Equal
                              rhs: {(SQ </etc/DISTRO_SPECS>)}
                              spids: [3966]
                            )
                          ]
                          spids: [3966]
                        )
                      ]
                    )
                    (command.AndOr
                      ops: [Op_DAmp]
                      children: [
                        (C {(Lit_Other '[')} {(-f)} {(/initrd/DISTRO_SPECS)} {(Lit_Other ']')})
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:DISTRO_SPECS spids:[3982])
                              op: Equal
                              rhs: {(SQ </initrd/DISTRO_SPECS>)}
                              spids: [3982]
                            )
                          ]
                          spids: [3982]
                        )
                      ]
                    )
                  ]
                  spids: [16777215 3953]
                )
              ]
              spids: [16777215 3988]
            )
            (command.AndOr
              ops: [Op_DAmp]
              children: [
                (C {(Lit_Other '[')} {(-f)} {(DQ ($ VSub_DollarName '$DISTRO_SPECS'))} {(Lit_Other ']')})
                (C {(cp)} {(-f)} {(${ VSub_Name V)} {(DQ (${ VSub_Name DISTRO_SPECS))} {(.)})
              ]
            )
            (command.AndOr
              ops: [Op_DAmp]
              children: [
                (C {(Lit_Other '[')} {(-x)} {(../init)} {(Lit_Other ']')})
                (C {(cp)} {(-f)} {(${ VSub_Name V)} {(../init)} {(.)})
              ]
            )
            (C {(.)} {(./DISTRO_SPECS)})
            (C {(cp)} {(-f)} {(${ VSub_Name V)} {(../pkg/busybox_static/bb-) (Lit_Other '*') (-symlinks)} 
              {(bin)}
            )
            (command.Subshell
              child: 
                (command.CommandList
                  children: [
                    (command.Sentence
                      child: (C {(cd)} {(bin)})
                      terminator: <Op_Semi ';'>
                    )
                    (command.SimpleCommand
                      words: [{(sh)} {(bb-create-symlinks)}]
                      redirects: [(redir.Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})]
                    )
                  ]
                )
              spids: [4068 4083]
            )
            (C {(sed)} {(-i)} {(SQ <'s|^PUPDESKFLG=.*|PUPDESKFLG=0|'>)} {(init)})
            (command.Pipeline
              children: [
                (C {(find)} {(.)})
                (command.SimpleCommand
                  words: [{(cpio)} {(-o)} {(-H)} {(newc)}]
                  redirects: [
                    (redir.Redir
                      op: <Redir_Great '>'>
                      fd: 16777215
                      arg_word: {(../initrd)}
                    )
                    (redir.Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})
                  ]
                )
              ]
              negated: F
            )
            (C {(cd)} {(..)})
            (command.AndOr
              ops: [Op_DAmp]
              children: [
                (C {(Lit_Other '[')} {(-f)} {(initrd.) (Lit_Other '[') (gx) (Lit_Other ']') (z)} 
                  {(Lit_Other ']')}
                )
                (C {(rm)} {(-f)} {(initrd.) (Lit_Other '[') (gx) (Lit_Other ']') (z)})
              ]
            )
            (command.Case
              to_match: {(${ VSub_Name INITRD_COMP)}
              arms: [
                (case_arm
                  pat_list: [{(gz)}]
                  action: [(C {(gzip)} {(-f)} {(initrd)})]
                  spids: [4159 4160 4168 16777215]
                )
                (case_arm
                  pat_list: [{(xz)}]
                  action: [(C {(xz)} {(--check) (Lit_Other '=') (crc32)} {(--lzma2)} {(initrd)})]
                  spids: [4171 4172 4184 16777215]
                )
              ]
              spids: [4150 4156 4187]
            )
            (command.AndOr
              ops: [Op_DPipe]
              children: [
                (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(-eq)} {(0)} {(Lit_Other ']')})
                (command.BraceGroup
                  children: [
                    (command.Sentence
                      child: (C {(echo)} {(DQ (ERROR))})
                      terminator: <Op_Semi ';'>
                    )
                    (command.Sentence
                      child: (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  spids: [4202]
                )
              ]
            )
            (command.AndOr
              ops: [Op_DAmp]
              children: [
                (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$INITRD_GZ'))} {(Lit_Other '=')} 
                  {(DQ (yes))} {(-a)} {(-f)} {(initrd.xz)} {(Lit_Other ']')}
                )
                (C {(mv)} {(-f)} {(initrd.xz)} {(initrd.gz)})
              ]
            )
            (C {(echo)} {(-e)} 
              {
                (DQ (Lit_Other '\\') ('n***        INITRD: ') (${ VSub_Name INITRD_FILE) (' [') 
                  (${ VSub_Name ARCH) (']')
                )
              }
            )
            (C {(echo)} {(-e)} 
              {
                (DQ ('*** /DISTRO_SPECS: ') (${ VSub_Name DISTRO_NAME) (' ') 
                  (${ VSub_Name DISTRO_VERSION) (' ') (${ VSub_Name DISTRO_TARGETARCH)
                )
              }
            )
            (command.AndOr
              ops: [Op_DAmp]
              children: [
                (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$USE_PREBUILT'))} {(Lit_Other '=')} 
                  {(DQ (yes))} {(Lit_Other ']')}
                )
                (command.ControlFlow token:<ControlFlow_Return return>)
              ]
            )
            (C {(echo)} {(-e)} 
              {
                (DQ (Lit_Other '\\') 
                  ('n@@ -- You can inspect ZZ_initrd-expanded to see the final results -- @@')
                )
              }
            )
            (C {(echo)} {(-e)} {(DQ (Finished.) (Lit_Other '\\') (n))})
          ]
          spids: [3500]
        )
      spids: [3494 3499]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$USE_PREBUILT'))} {(Lit_Other '=')} 
                  {(DQ (yes))} {(Lit_Other ']')}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [(C {(use_prebuilt_binaries)}) (C {(select_target_arch)})]
          spids: [16777215 4362]
        )
      ]
      else_action: [
        (command.Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (lhs_expr.LhsName name:V spids:[4373])
              op: Equal
              rhs: {(DQ (-v))}
              spids: [4373]
            )
          ]
          spids: [4373]
        )
        (C {(set_compiler)})
        (C {(select_target_arch)})
        (C {(setup_cross_compiler)})
        (C {(build_pkgs)})
        (C {(cd)} {(${ VSub_Name MWD)})
      ]
      spids: [4370 4397]
    )
    (C {(generate_initrd)})
  ]
)