(command.CommandList
  children: [
    (command.ShFunction
      name: pause
      body: 
        (command.BraceGroup
          children: [(C {<echo>} {<-n>} {(DQ <'Press enter to continue...'>)}) (C {<read>} {<zzz>})]
        )
    )
    (command.ShFunction
      name: log_ver
      body: 
        (command.BraceGroup
          children: [
            (C {<touch>} {(${ Id.VSub_Name BUILD_LOG)})
            (command.Pipeline
              children: [
                (command.Subshell
                  command_list: 
                    (command.CommandList
                      children: [
                        (command.If
                          arms: [
                            (if_arm
                              cond: [
                                (command.Sentence
                                  child: 
                                    (C {<Id.Lit_LBracket '['>} {<-f>} {</etc/DISTRO_SPECS>} 
                                      {<Id.Lit_RBracket ']'>}
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                              action: [
                                (C {<.>} {</etc/DISTRO_SPECS>})
                                (C {<echo>} 
                                  {
                                    (DQ ($ Id.VSub_DollarName '$DISTRO_NAME') <' '> 
                                      ($ Id.VSub_DollarName '$DISTRO_VERSION') <' ['> 
                                      (command_sub
                                        left_token: <Id.Left_DollarParen '$('>
                                        command_list: 
                                          (command.CommandList
                                            children: [(C {<uname>} {<-m>})]
                                          )
                                      ) <']'>
                                    )
                                  }
                                )
                              ]
                              spids: [54 66]
                            )
                          ]
                        )
                        (command.Pipeline
                          children: [(C {<gcc>} {<--version>}) (C {<head>} {<-1>})]
                          negated: F
                        )
                        (command.Pipeline
                          children: [(C {<git>} {<--version>}) (C {<head>} {<-1>})]
                          negated: F
                        )
                        (command.Pipeline
                          children: [(C {<mksquashfs>} {<-version>}) (C {<head>} {<-1>})]
                          negated: F
                        )
                        (C {<echo>})
                      ]
                    )
                )
                (C {<tee>} {<-a>} {(${ Id.VSub_Name BUILD_LOG)})
              ]
              negated: F
            )
          ]
        )
    )
    (command.ShFunction
      name: config_is_set
      body: 
        (command.BraceGroup
          children: [
            (command.AndOr
              ops: [Id.Op_DAmp]
              children: [
                (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {(DQ ($ Id.VSub_Number '$1'))} {<-o>} 
                  {<Id.KW_Bang '!'>} {(DQ ($ Id.VSub_Number '$2'))} {<Id.Lit_RBracket ']'>}
                )
                (command.ControlFlow token:<Id.ControlFlow_Return return>)
              ]
            )
            (C {<local>} {<Id.Lit_VarLike 'opt='> ($ Id.VSub_Number '$1')} 
              {<Id.Lit_VarLike 'file='> ($ Id.VSub_Number '$2')}
            )
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (C {<grep>} {<-q>} {<-E>} 
                          {(DQ <'^'> (${ Id.VSub_Name opt) <'=y|^'> (${ Id.VSub_Name opt) <'=m'>)} {(DQ ($ Id.VSub_DollarName '$file'))}
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  action: [(command.ControlFlow token:<Id.ControlFlow_Return return> arg_word:{<0>})]
                  spids: [189 215]
                )
              ]
              else_action: [(command.ControlFlow token:<Id.ControlFlow_Return return> arg_word:{<1>})]
            )
          ]
        )
    )
    (command.ShFunction
      name: config_set
      body: 
        (command.BraceGroup
          children: [
            (command.AndOr
              ops: [Id.Op_DAmp]
              children: [
                (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {(DQ ($ Id.VSub_Number '$1'))} {<-o>} 
                  {<Id.KW_Bang '!'>} {(DQ ($ Id.VSub_Number '$2'))} {<-o>} {<Id.KW_Bang '!'>} {(DQ ($ Id.VSub_Number '$3'))} 
                  {<Id.Lit_RBracket ']'>}
                )
                (command.ControlFlow
                  token: <Id.ControlFlow_Return return>
                  arg_word: {<1>}
                )
              ]
            )
            (C {<local>} {<Id.Lit_VarLike 'type='> ($ Id.VSub_Number '$1')} 
              {<Id.Lit_VarLike 'opt='> ($ Id.VSub_Number '$2')} {<Id.Lit_VarLike 'file='> ($ Id.VSub_Number '$3')} {<t>}
            )
            (command.Case
              to_match: {($ Id.VSub_DollarName '$type')}
              arms: [
                (case_arm
                  pat_list: [{<builtin>}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:t)
                          op: assign_op.Equal
                          rhs: {(SQ <y>)}
                          spids: [311]
                        )
                      ]
                    )
                  ]
                  spids: [308 309 316 -1]
                )
                (case_arm
                  pat_list: [{<custom>}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:t)
                          op: assign_op.Equal
                          rhs: {(SQ <c>)}
                          spids: [322]
                        )
                      ]
                    )
                  ]
                  spids: [319 320 327 -1]
                )
                (case_arm
                  pat_list: [{<Id.Lit_Star '*'>}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:t)
                          op: assign_op.Equal
                          rhs: {(SQ <m>)}
                          spids: [336]
                        )
                      ]
                    )
                  ]
                  spids: [333 334 341 -1]
                )
              ]
            )
            (C {<sed>} {<-i>} {<-e>} 
              {
                (DQ <'s|# '> ($ Id.VSub_DollarName '$opt') <' .*|'> (${ Id.VSub_Name opt) <'='> 
                  (${ Id.VSub_Name t) <'|'>
                )
              } {<-e>} 
              {
                (DQ <'s|^'> ($ Id.VSub_DollarName '$opt') <'=.*|'> (${ Id.VSub_Name opt) <'='> 
                  (${ Id.VSub_Name t) <'|'>
                )
              } {(DQ ($ Id.VSub_DollarName '$file'))}
            )
          ]
        )
    )
    (command.ShFunction
      name: config_unset
      body: 
        (command.BraceGroup
          children: [
            (command.AndOr
              ops: [Id.Op_DAmp]
              children: [
                (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {(DQ ($ Id.VSub_Number '$1'))} {<-o>} 
                  {<Id.KW_Bang '!'>} {(DQ ($ Id.VSub_Number '$2'))} {<Id.Lit_RBracket ']'>}
                )
                (command.ControlFlow token:<Id.ControlFlow_Return return>)
              ]
            )
            (C {<local>} {<Id.Lit_VarLike 'opt='> ($ Id.VSub_Number '$1')} 
              {<Id.Lit_VarLike 'file='> ($ Id.VSub_Number '$2')}
            )
            (C {<sed>} {<-i>} {<-e>} 
              {
                (DQ <'s|^'> (${ Id.VSub_Name opt) <'=y|# '> ($ Id.VSub_DollarName '$opt') 
                  <' is not set|'>
                )
              } {<-e>} {(DQ <'s|^'> (${ Id.VSub_Name opt) <'=m|# '> ($ Id.VSub_DollarName '$opt') <' is not set|'>)} 
              {(DQ ($ Id.VSub_DollarName '$file'))}
            )
          ]
        )
    )
    (command.ShFunction
      name: config_toggle
      body: 
        (command.BraceGroup
          children: [
            (command.AndOr
              ops: [Id.Op_DAmp]
              children: [
                (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {(DQ ($ Id.VSub_Number '$1'))} {<-o>} 
                  {<Id.KW_Bang '!'>} {(DQ ($ Id.VSub_Number '$2'))} {<Id.Lit_RBracket ']'>}
                )
                (command.ControlFlow token:<Id.ControlFlow_Return return>)
              ]
            )
            (C {<local>} {<Id.Lit_VarLike 'opt='> ($ Id.VSub_Number '$1')} 
              {<Id.Lit_VarLike 'file='> ($ Id.VSub_Number '$2')}
            )
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (C {<config_is_set>} {($ Id.VSub_DollarName '$opt')} 
                          {(DQ ($ Id.VSub_DollarName '$file'))}
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  action: [
                    (C {<config_unset>} {($ Id.VSub_DollarName '$opt')} 
                      {(DQ ($ Id.VSub_DollarName '$file'))}
                    )
                  ]
                  spids: [514 526]
                )
              ]
              else_action: [
                (C {<config_set>} {<module>} {($ Id.VSub_DollarName '$opt')} 
                  {(DQ ($ Id.VSub_DollarName '$file'))}
                )
              ]
            )
          ]
        )
    )
    (command.ShFunction
      name: config_delete
      body: 
        (command.BraceGroup
          children: [
            (command.AndOr
              ops: [Id.Op_DAmp]
              children: [
                (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {(DQ ($ Id.VSub_Number '$1'))} {<-o>} 
                  {<Id.KW_Bang '!'>} {(DQ ($ Id.VSub_Number '$2'))} {<Id.Lit_RBracket ']'>}
                )
                (command.ControlFlow token:<Id.ControlFlow_Return return>)
              ]
            )
            (C {<local>} {<Id.Lit_VarLike 'opt='> ($ Id.VSub_Number '$1')} 
              {<Id.Lit_VarLike 'file='> ($ Id.VSub_Number '$2')}
            )
            (C {<sed>} {<-i>} {<-e>} {(DQ <'/^'> (${ Id.VSub_Name opt) <'=y/d'>)} {<-e>} 
              {(DQ <'/ '> (${ Id.VSub_Name opt) <' /d'>)} {(DQ ($ Id.VSub_DollarName '$file'))}
            )
          ]
        )
    )
    (command.ShFunction
      name: config_get_builtin
      body: 
        (command.BraceGroup
          children: [
            (command.Sentence
              child: 
                (command.Pipeline
                  children: [
                    (C {<grep>} {(SQ <'=y'>)} {(DQ ($ Id.VSub_Number '$1'))})
                    (C {<cut>} {<-f1>} {<-d>} {(SQ <'='>)})
                  ]
                  negated: F
                )
              terminator: <Id.Op_Semi _>
            )
          ]
        )
    )
    (command.ShFunction
      name: config_get_module
      body: 
        (command.BraceGroup
          children: [
            (command.Sentence
              child: 
                (command.Pipeline
                  children: [
                    (C {<grep>} {(SQ <'=m'>)} {(DQ ($ Id.VSub_Number '$1'))})
                    (C {<cut>} {<-f1>} {<-d>} {(SQ <'='>)})
                  ]
                  negated: F
                )
              terminator: <Id.Op_Semi _>
            )
          ]
        )
    )
    (command.ShFunction
      name: config_get_set
      body: 
        (command.BraceGroup
          children: [
            (command.Sentence
              child: 
                (command.Pipeline
                  children: [
                    (C {<grep>} {<-E>} {(SQ <'=m|=y'>)} {(DQ ($ Id.VSub_Number '$1'))})
                    (C {<cut>} {<-f1>} {<-d>} {(SQ <'='>)})
                  ]
                  negated: F
                )
              terminator: <Id.Op_Semi _>
            )
          ]
        )
    )
    (command.ShFunction
      name: config_get_unset
      body: 
        (command.BraceGroup
          children: [
            (command.Sentence
              child: 
                (command.Pipeline
                  children: [
                    (C {<grep>} {(SQ <'not set'>)} {(DQ ($ Id.VSub_Number '$1'))})
                    (C {<cut>} {<-f2>} {<-d>} {(SQ <' '>)})
                  ]
                  negated: F
                )
              terminator: <Id.Op_Semi _>
            )
          ]
        )
    )
    (command.ShFunction
      name: fix_config
      body: 
        (command.BraceGroup
          children: [
            (command.AndOr
              ops: [Id.Op_DAmp]
              children: [
                (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {(DQ ($ Id.VSub_Number '$1'))} {<-o>} 
                  {<Id.KW_Bang '!'>} {(DQ ($ Id.VSub_Number '$2'))} {<Id.Lit_RBracket ']'>}
                )
                (command.ControlFlow token:<Id.ControlFlow_Return return>)
              ]
            )
            (C {<local>} {<Id.Lit_VarLike 'file='> ($ Id.VSub_Number '$1')} 
              {<Id.Lit_VarLike 'fixed_opts='> ($ Id.VSub_Number '$2')}
            )
            (command.Subshell
              command_list: 
                (command.CommandList
                  children: [
                    (command.Pipeline
                      children: [
                        (C {<cat>} {($ Id.VSub_DollarName '$fixed_opts')})
                        (C {<sed>} {<-e>} {(SQ <'s| is not set||'>)} {<-e>} {(SQ <'/^$/d'>)} {<-e>} 
                          {(SQ <'/##/d'>)}
                        )
                        (command.WhileUntil
                          keyword: <Id.KW_While while>
                          cond: [
                            (command.Sentence
                              child: (C {<read>} {<line>})
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                          body: 
                            (command.DoGroup
                              children: [
                                (command.Case
                                  to_match: {($ Id.VSub_DollarName '$line')}
                                  arms: [
                                    (case_arm
                                      pat_list: [{<Id.Lit_Star '*'> (SQ <'=m'>)}]
                                      action: [
                                        (command.Sentence
                                          child: 
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:C_OPT)
                                                  op: assign_op.Equal
                                                  rhs: 
                                                    {
                                                      (braced_var_sub
                                                        token: <Id.VSub_Name line>
                                                        suffix_op: 
                                                          (suffix_op.Unary
                                                            op_id: Id.VOp1_Percent
                                                            arg_word: {<'=*'>}
                                                          )
                                                      )
                                                    }
                                                  spids: [875]
                                                )
                                              ]
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                        (C {<echo>} 
                                          {
                                            (DQ <'s%.*'> (${ Id.VSub_Name C_OPT) <'.*%'> 
                                              (${ Id.VSub_Name C_OPT) <'=m%'>
                                            )
                                          }
                                        )
                                      ]
                                      spids: [869 873 898 -1]
                                    )
                                    (case_arm
                                      pat_list: [{<Id.Lit_Star '*'> (SQ <'=y'>)}]
                                      action: [
                                        (command.Sentence
                                          child: 
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:C_OPT)
                                                  op: assign_op.Equal
                                                  rhs: 
                                                    {
                                                      (braced_var_sub
                                                        token: <Id.VSub_Name line>
                                                        suffix_op: 
                                                          (suffix_op.Unary
                                                            op_id: Id.VOp1_Percent
                                                            arg_word: {<'=*'>}
                                                          )
                                                      )
                                                    }
                                                  spids: [907]
                                                )
                                              ]
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                        (C {<echo>} 
                                          {
                                            (DQ <'s%.*'> (${ Id.VSub_Name C_OPT) <'.*%'> 
                                              (${ Id.VSub_Name C_OPT) <'=y%'>
                                            )
                                          }
                                        )
                                      ]
                                      spids: [901 905 930 -1]
                                    )
                                    (case_arm
                                      pat_list: [{<Id.Lit_Star '*'>}]
                                      action: [
                                        (command.Sentence
                                          child: 
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:C_OPT)
                                                  op: assign_op.Equal
                                                  rhs: 
                                                    {
                                                      (braced_var_sub
                                                        token: <Id.VSub_Name line>
                                                        suffix_op: 
                                                          (suffix_op.Slice
                                                            begin: 
                                                              (arith_expr.ArithWord
                                                                w: {<Id.Lit_Digits 2>}
                                                              )
                                                          )
                                                      )
                                                    }
                                                  spids: [936]
                                                )
                                              ]
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                        (C {<echo>} 
                                          {
                                            (DQ <'s%.*'> (${ Id.VSub_Name C_OPT) <'.*%# '> 
                                              (${ Id.VSub_Name C_OPT) <' is not set%'>
                                            )
                                          }
                                        )
                                      ]
                                      spids: [933 934 959 -1]
                                    )
                                  ]
                                )
                              ]
                            )
                        )
                      ]
                      negated: F
                    )
                  ]
                )
              redirects: [(redir.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{</tmp/ksed.file>})]
            )
            (C {<cp>} {(DQ ($ Id.VSub_Number '$1'))} {(DQ ($ Id.VSub_Number '$1')) <.orig>})
            (C {<sed>} {<-i>} {<-f>} {</tmp/ksed.file>} {(DQ ($ Id.VSub_Number '$1'))})
          ]
        )
    )
    (command.ShFunction
      name: set_pae
      body: 
        (command.BraceGroup
          children: [
            (C {<config_set>} {<builtin>} {<CONFIG_X86_PAE>} {($ Id.VSub_Number '$1')})
            (C {<config_set>} {<builtin>} {<CONFIG_HIGHMEM64G>} {($ Id.VSub_Number '$1')})
            (C {<config_unset>} {<CONFIG_HIGHMEM4G>} {($ Id.VSub_Number '$1')})
          ]
        )
    )
    (command.ShFunction
      name: unset_pae
      body: 
        (command.BraceGroup
          children: [
            (C {<config_delete>} {<CONFIG_X86_PAE>} {($ Id.VSub_Number '$1')})
            (C {<config_unset>} {<CONFIG_HIGHMEM64G>} {($ Id.VSub_Number '$1')})
            (C {<config_set>} {<builtin>} {<CONFIG_HIGHMEM4G>} {($ Id.VSub_Number '$1')})
          ]
        )
    )
    (command.ShFunction
      name: set_i486
      body: 
        (command.BraceGroup
          children: [
            (C {<config_set>} {<builtin>} {<CONFIG_M486>} {($ Id.VSub_Number '$1')})
            (command.ForEach
              iter_name: i
              iter_words: [
                {<CONFIG_M386>}
                {<CONFIG_M686>}
                {<CONFIG_M586>}
                {<CONFIG_M586TSC>}
                {<CONFIG_M586MMX>}
                {<CONFIG_MPENTIUMII>}
                {<CONFIG_MPENTIUMIII>}
                {<CONFIG_MPENTIUMM>}
                {<CONFIG_MPENTIUM4>}
                {<CONFIG_MK6>}
                {<CONFIG_MK7>}
                {<CONFIG_MK8>}
                {<CONFIG_MCRUSOE>}
                {<CONFIG_MEFFICEON>}
                {<CONFIG_MWINCHIPC6>}
                {<CONFIG_MWINCHIP3D>}
                {<CONFIG_MELAN>}
                {<CONFIG_MGEODEGX1>}
                {<CONFIG_MGEODE_LX>}
                {<CONFIG_MCYRIXIII>}
                {<CONFIG_MVIAC3_2>}
                {<CONFIG_MVIAC7>}
                {<CONFIG_MCORE2>}
                {<CONFIG_MATOM>}
              ]
              do_arg_iter: F
              body: 
                (command.DoGroup
                  children: [
                    (C {<config_unset>} {($ Id.VSub_DollarName '$i')} {($ Id.VSub_Number '$1')})
                  ]
                )
            )
          ]
        )
    )
    (command.ShFunction
      name: set_i686
      body: 
        (command.BraceGroup
          children: [
            (C {<config_set>} {<builtin>} {<CONFIG_M686>} {($ Id.VSub_Number '$1')})
            (command.ForEach
              iter_name: i
              iter_words: [
                {<CONFIG_M386>}
                {<CONFIG_M486>}
                {<CONFIG_M586>}
                {<CONFIG_M586TSC>}
                {<CONFIG_M586MMX>}
                {<CONFIG_MPENTIUMII>}
                {<CONFIG_MPENTIUMIII>}
                {<CONFIG_MPENTIUMM>}
                {<CONFIG_MPENTIUM4>}
                {<CONFIG_MK6>}
                {<CONFIG_MK7>}
                {<CONFIG_MK8>}
                {<CONFIG_MCRUSOE>}
                {<CONFIG_MEFFICEON>}
                {<CONFIG_MWINCHIPC6>}
                {<CONFIG_MWINCHIP3D>}
                {<CONFIG_MELAN>}
                {<CONFIG_MGEODEGX1>}
                {<CONFIG_MGEODE_LX>}
                {<CONFIG_MCYRIXIII>}
                {<CONFIG_MVIAC3_2>}
                {<CONFIG_MVIAC7>}
                {<CONFIG_MCORE2>}
                {<CONFIG_MATOM>}
              ]
              do_arg_iter: F
              body: 
                (command.DoGroup
                  children: [
                    (C {<config_unset>} {($ Id.VSub_DollarName '$i')} {($ Id.VSub_Number '$1')})
                  ]
                )
            )
          ]
        )
    )
    (command.ShFunction
      name: i386_specific_stuff
      body: 
        (command.BraceGroup
          children: [
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$HOST_ARCH'))} 
                          {<Id.Lit_Equals '='>} {(DQ <x86>)} {<Id.Lit_RBracket ']'>}
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  action: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: [
                            (command.Sentence
                              child: 
                                (C {<Id.Lit_LBracket '['>} 
                                  {(DQ ($ Id.VSub_DollarName '$x86_disable_pae'))} {<Id.Lit_Equals '='>} {(DQ <yes>)} {<Id.Lit_RBracket ']'>}
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                          action: [
                            (command.If
                              arms: [
                                (if_arm
                                  cond: [
                                    (command.Sentence
                                      child: (C {<grep>} {(SQ <'CONFIG_X86_PAE=y'>)} {<.config>})
                                      terminator: <Id.Op_Semi _>
                                    )
                                  ]
                                  action: [
                                    (C {<log_msg>} {(DQ <'Disabling PAE...'>)})
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:MAKEOLDCONFIG)
                                          op: assign_op.Equal
                                          rhs: {<1>}
                                          spids: [1360]
                                        )
                                      ]
                                    )
                                    (C {<unset_pae>} {<.config>})
                                  ]
                                  spids: [1335 1347]
                                )
                              ]
                            )
                          ]
                          spids: [1314 1332]
                        )
                      ]
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: [
                            (command.Sentence
                              child: 
                                (C {<Id.Lit_LBracket '['>} 
                                  {(DQ ($ Id.VSub_DollarName '$x86_enable_pae'))} {<Id.Lit_Equals '='>} {(DQ <yes>)} {<Id.Lit_RBracket ']'>}
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                          action: [
                            (command.If
                              arms: [
                                (if_arm
                                  cond: [
                                    (command.Sentence
                                      child: 
                                        (command.Pipeline
                                          children: [
                                            (C {<grep>} {(SQ <'CONFIG_X86_PAE=y'>)} {<.config>})
                                          ]
                                          negated: T
                                        )
                                      terminator: <Id.Op_Semi _>
                                    )
                                  ]
                                  action: [
                                    (C {<log_msg>} {(DQ <'Enabling PAE...'>)})
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:MAKEOLDCONFIG)
                                          op: assign_op.Equal
                                          rhs: {<1>}
                                          spids: [1420]
                                        )
                                      ]
                                    )
                                    (C {<set_pae>} {<.config>})
                                  ]
                                  spids: [1396 1410]
                                )
                              ]
                            )
                          ]
                          spids: [1375 1393]
                        )
                      ]
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: [
                            (command.Sentence
                              child: 
                                (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$x86_set_i486'))} 
                                  {<Id.Lit_Equals '='>} {(DQ <yes>)} {<Id.Lit_RBracket ']'>}
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                          action: [
                            (command.If
                              arms: [
                                (if_arm
                                  cond: [
                                    (command.Sentence
                                      child: 
                                        (C {<grep>} {<-q>} {(SQ <'CONFIG_OUTPUT_FORMAT="elf32-i386"'>)} 
                                          {<.config>}
                                        )
                                      terminator: <Id.Op_Semi _>
                                    )
                                  ]
                                  action: [
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (command.Sentence
                                              child: 
                                                (command.Pipeline
                                                  children: [
                                                    (C {<grep>} {<-q>} {(SQ <'CONFIG_M486=y'>)} 
                                                      {<.config>}
                                                    )
                                                  ]
                                                  negated: T
                                                )
                                              terminator: <Id.Op_Semi _>
                                            )
                                          ]
                                          action: [
                                            (C {<log_msg>} {(DQ <'Forcing i486...'>)})
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:MAKEOLDCONFIG)
                                                  op: assign_op.Equal
                                                  rhs: {<1>}
                                                  spids: [1499]
                                                )
                                              ]
                                            )
                                            (C {<set_i486>} {<.config>})
                                          ]
                                          spids: [1473 1489]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [1456 1470]
                                )
                              ]
                            )
                          ]
                          spids: [1435 1453]
                        )
                      ]
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: [
                            (command.Sentence
                              child: 
                                (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$x86_set_i686'))} 
                                  {<Id.Lit_Equals '='>} {(DQ <yes>)} {<Id.Lit_RBracket ']'>}
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                          action: [
                            (command.If
                              arms: [
                                (if_arm
                                  cond: [
                                    (command.Sentence
                                      child: 
                                        (C {<grep>} {<-q>} {(SQ <'CONFIG_OUTPUT_FORMAT="elf32-i386"'>)} 
                                          {<.config>}
                                        )
                                      terminator: <Id.Op_Semi _>
                                    )
                                  ]
                                  action: [
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (command.Sentence
                                              child: 
                                                (command.Pipeline
                                                  children: [
                                                    (C {<grep>} {<-q>} {(SQ <'CONFIG_M686=y'>)} 
                                                      {<.config>}
                                                    )
                                                  ]
                                                  negated: T
                                                )
                                              terminator: <Id.Op_Semi _>
                                            )
                                          ]
                                          action: [
                                            (C {<log_msg>} {(DQ <'Forcing i686...'>)})
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:MAKEOLDCONFIG)
                                                  op: assign_op.Equal
                                                  rhs: {<1>}
                                                  spids: [1581]
                                                )
                                              ]
                                            )
                                            (C {<set_i686>} {<.config>})
                                          ]
                                          spids: [1555 1571]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [1538 1552]
                                )
                              ]
                            )
                          ]
                          spids: [1517 1535]
                        )
                      ]
                    )
                    (command.AndOr
                      ops: [Id.Op_DAmp]
                      children: [
                        (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$MAKEOLDCONFIG'))} 
                          {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ )} {<Id.Lit_RBracket ']'>}
                        )
                        (C {<make>} {<silentoldconfig>})
                      ]
                    )
                  ]
                  spids: [1293 1311]
                )
              ]
            )
          ]
        )
    )
  ]
)