(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgname) op:Equal rhs:{(edk2)} spids:[7])]
      spids: [7]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(0.0.20161115)} spids:[10])]
      spids: [10]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_commitid)
          op: Equal
          rhs: {(e242cdfb307a6dfe2c0f75c4719f5c1f6b418625)}
          spids: [13]
        )
      ]
      spids: [13]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(1)} spids:[16])]
      spids: [16]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pkgdesc)
          op: Equal
          rhs: {(DQ ('EFI Development Kit II'))}
          spids: [19]
        )
      ]
      spids: [19]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:url)
          op: Equal
          rhs: {(DQ ('http://www.tianocore.org/edk2/'))}
          spids: [24]
        )
      ]
      spids: [24]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:arch) op:Equal rhs:{(DQ (x86_64))} spids:[29])]
      spids: [29]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ (BSD))} spids:[34])]
      spids: [34]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:depends) op:Equal rhs:{(DQ )} spids:[39])]
      spids: [39]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:makedepends)
          op: Equal
          rhs: {(DQ ('bash python2 iasl nasm util-linux-dev'))}
          spids: [43]
        )
      ]
      spids: [43]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:install) op:Equal rhs:{(DQ )} spids:[48])]
      spids: [48]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:subpackages) op:Equal rhs:{(DQ (ovmf))} spids:[52])]
      spids: [52]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:source)
          op: Equal
          rhs: 
            {
              (DQ ($ VSub_Name '$pkgname') (-) ($ VSub_Name '$pkgver') 
                ('.tar.gz::https://github.com/tianocore/') ($ VSub_Name '$pkgname') (/archive/) ($ VSub_Name '$_commitid') ('.tar.gz\n') ('\tbuild-hack.patch')
              )
            }
          spids: [57]
        )
      ]
      spids: [57]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:builddir)
          op: Equal
          rhs: 
            {
              (DQ ($ VSub_Name '$srcdir') (/) ($ VSub_Name '$pkgname') (-) ($ VSub_Name '$_commitid'))
            }
          spids: [70]
        )
      ]
      spids: [70]
    )
    (Case
      to_match: {(DQ ($ VSub_Name '$CARCH'))}
      arms: [
        (case_arm
          pat_list: [{(x86)}]
          action: [
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:TARGET_ARCH)
                      op: Equal
                      rhs: {(IA32)}
                      spids: [91]
                    )
                  ]
                  spids: [91]
                )
              terminator: <Op_Semi ';'>
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:OVMFPKG)
                  op: Equal
                  rhs: {(OvmfPkgIa32.dsc)}
                  spids: [95]
                )
              ]
              spids: [95]
            )
          ]
          spids: [88 89 97 -1]
        )
        (case_arm
          pat_list: [{(x86_64)}]
          action: [
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:TARGET_ARCH)
                      op: Equal
                      rhs: {(X64)}
                      spids: [102]
                    )
                  ]
                  spids: [102]
                )
              terminator: <Op_Semi ';'>
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:OVMFPKG)
                  op: Equal
                  rhs: {(OvmfPkgX64.dsc)}
                  spids: [106]
                )
              ]
              spids: [106]
            )
          ]
          spids: [99 100 108 -1]
        )
      ]
      spids: [80 86 110]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:TOOLCHAIN) op:Equal rhs:{(GCC49)} spids:[116])]
      spids: [116]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:RELEASE) op:Equal rhs:{(DEBUG)} spids:[119])]
      spids: [119]
    )
    (FuncDef
      name: prepare
      body: 
        (BraceGroup
          children: [
            (C {(cd)} {(DQ ($ VSub_Name '$builddir'))})
            (C {(sed)} {(-e)} {(SQ <'s/\\r$//'>)} {(-i)} 
              {(BaseTools/Source/C/VfrCompile/VfrUtilityLib.cpp)} {(BaseTools/Source/C/VolInfo/VolInfo.c)}
            )
            (C {(default_prepare)})
          ]
          spids: [127]
        )
      spids: [123 126]
    )
    (FuncDef
      name: build
      body: 
        (BraceGroup
          children: [
            (C {(cd)} {(DQ ($ VSub_Name '$builddir'))})
            (AndOr
              children: [
                (C {(bash)} {(-c)} {(DQ ('. edksetup.sh'))})
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (AndOr
              children: [
                (C {(make)} {(-j1)} {(-C)} {(BaseTools)})
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (C {(export)} {(Lit_VarLike 'WORKSPACE=') ($ VSub_Name '$PWD')})
            (C {(export)} {(Lit_VarLike 'PACKAGES_PATH=') ($ VSub_Name '$PWD')})
            (C {(export)} {(Lit_VarLike 'EDK_TOOLS_PATH=') ($ VSub_Name '$PWD') (/BaseTools/)})
            (C {(export)} 
              {(Lit_VarLike 'PATH=') ($ VSub_Name '$PWD') (/BaseTools/BinWrappers/PosixLike/) 
                (Lit_Other ':') ($ VSub_Name '$PATH')
              }
            )
            (C {(msg)} {(DQ ('Building OVMF'))})
            (AndOr
              children: [
                (C {(command)} {(build)} {(-b)} {(${ VSub_Name RELEASE)} {(-a)} 
                  {(${ VSub_Name TARGET_ARCH)} {(-p)} {(OvmfPkg/) (${ VSub_Name OVMFPKG)} {(-t)} {(${ VSub_Name TOOLCHAIN)} {(-n)} 
                  {
                    (BracedVarSub
                      token: <VSub_Name JOBS>
                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(2)})
                      spids: [273 277]
                    )
                  }
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
          ]
          spids: [165]
        )
      spids: [161 164]
    )
    (FuncDef
      name: package
      body: 
        (BraceGroup
          children: [
            (C {(cd)} {(DQ ($ VSub_Name '$builddir'))})
            (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name '$pkgdir')) (/usr/bin)} 
              {(DQ ($ VSub_Name '$pkgdir')) (/usr/share/) ($ VSub_Name '$pkgname') (/Conf)} {(DQ ($ VSub_Name '$pkgdir')) (/usr/share/) ($ VSub_Name '$pkgname') (/Scripts)}
            )
            (C {(install)} {(BaseTools/Source/C/bin/) (Lit_Other '*')} 
              {(BaseTools/BinWrappers/PosixLike/LzmaF86Compress)} {(DQ ($ VSub_Name '$pkgdir')) (/usr/bin)}
            )
            (C {(install)} {(BaseTools/BuildEnv)} 
              {(DQ ($ VSub_Name '$pkgdir')) (/usr/share/) ($ VSub_Name '$pkgname') (/)}
            )
            (C {(install)} {(BaseTools/Conf/) (Lit_Other '*') (.template)} 
              {(DQ ($ VSub_Name '$pkgdir')) (/usr/share/) ($ VSub_Name '$pkgname') (/Conf)}
            )
            (C {(install)} {(BaseTools/Scripts/GccBase.lds)} 
              {(DQ ($ VSub_Name '$pkgdir')) (/usr/share/) ($ VSub_Name '$pkgname') (/Scripts)}
            )
            (C {(cp)} {(-R)} {(BaseTools/Source/Python)} 
              {(DQ ($ VSub_Name '$pkgdir')) (/usr/share/) ($ VSub_Name '$pkgname') (/Python)}
            )
            (ForEach
              iter_name: i
              iter_words: [
                {(build)}
                {(BPDG)}
                {(Ecc)}
                {(GenDepex)}
                {(GenFds)}
                {(GenPatchPcdTable)}
                {(PatchPcdValue)}
                {(TargetTool)}
                {(Trim)}
                {(UPT)}
              ]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (SimpleCommand
                      words: [
                        {(echo)}
                        {
                          (SQ <'#!/bin/sh\n'> <'export PYTHONPATH=/usr/share/$pkgname/Python\n'> 
                            <'exec python '>
                          ) (/usr/share/) ($ VSub_Name '$pkgname') (/Python/) ($ VSub_Name '$i') (/) ($ VSub_Name '$i') (.py) 
                          (SQ <' "$@"'>)
                        }
                      ]
                      redirects: [
                        (Redir
                          op_id: Redir_Great
                          fd: -1
                          arg_word: {(DQ ($ VSub_Name '$pkgdir')) (/usr/bin/) ($ VSub_Name '$i')}
                          spids: [447]
                        )
                      ]
                    )
                    (C {(chmod)} {(Lit_Other '+') (x)} 
                      {(DQ ($ VSub_Name '$pkgdir')) (/usr/bin/) ($ VSub_Name '$i')}
                    )
                  ]
                  spids: [426 468]
                )
              spids: [404 424]
            )
          ]
          spids: [292]
        )
      spids: [288 291]
    )
    (FuncDef
      name: ovmf
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pkgdesc)
                  op: Equal
                  rhs: {(DQ ('Open Virtual Machine Firmware (OVMF) BIOS'))}
                  spids: [480]
                )
              ]
              spids: [480]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:license)
                  op: Equal
                  rhs: {(DQ ('BSD MIT'))}
                  spids: [486]
                )
              ]
              spids: [486]
            )
            (C {(cd)} {(DQ ($ VSub_Name '$builddir'))})
            (C {(mkdir)} {(-p)} 
              {(DQ ($ VSub_Name '$subpkgdir')) (/usr/share/) ($ VSub_Name '$subpkgname') (/)}
            )
            (C {(install)} 
              {(Build/Ovmf) (${ VSub_Name TARGET_ARCH) (/) (${ VSub_Name RELEASE) (_) 
                (${ VSub_Name TOOLCHAIN) (/FV/OVMF.fd)
              } {(DQ ($ VSub_Name '$subpkgdir')) (/usr/share/) ($ VSub_Name '$subpkgname') (/bios.bin)}
            )
          ]
          spids: [477]
        )
      spids: [473 476]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:md5sums)
          op: Equal
          rhs: 
            {
              (DQ ('6e6a28fbdcc4062108da9df348d69240  edk2-0.0.20161115.tar.gz\n') 
                ('63def07e68b1fad4062c99406bde7c0a  build-hack.patch')
              )
            }
          spids: [538]
        )
      ]
      spids: [538]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sha256sums)
          op: Equal
          rhs: 
            {
              (DQ 
                (
'e71586a0f335412a834b6720d88ec9d0a5d33621bbb6d87decdc2ee84b8d6e0e  edk2-0.0.20161115.tar.gz\n'
                ) ('d493fd3d711a96229b9fba8de81ba42c236af14e508f8090d3e9dd74d90e2371  build-hack.patch')
              )
            }
          spids: [544]
        )
      ]
      spids: [544]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sha512sums)
          op: Equal
          rhs: 
            {
              (DQ 
                (
'7b1de6c5aa08ba6ab0897b59c5f0eab654062c01c0a9bcdf182a5fd695eb8639b8cc418b2d2e0ebb35855b2bf7294947335d49c0c790fa05830f783ddaea6414  edk2-0.0.20161115.tar.gz\n'
                ) 
                (
'29158db1d54922f32215892bec0542176d64de4501fcdb1535508bb48b25e1f364ccd57b58aca07f2415c4654f76409dd64e40f5066db3fb9284a7217bbc2230  build-hack.patch'
                )
              )
            }
          spids: [550]
        )
      ]
      spids: [550]
    )
  ]
)