From b303ea726e1c8ed240dad2bce54821318567eab3 Mon Sep 17 00:00:00 2001 From: lgao4 Date: Mon, 9 Nov 2009 11:47:35 +0000 Subject: [PATCH] Sync tool code to BuildTools project r1739. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9397 6f19259b-4bc3-4df7-8a09-765794883524 --- BaseTools/Bin/Win32/BootSectImage.exe | Bin 393216 -> 393216 bytes BaseTools/Bin/Win32/EfiLdrImage.exe | Bin 421888 -> 421888 bytes BaseTools/Bin/Win32/EfiRom.exe | Bin 446464 -> 446464 bytes BaseTools/Bin/Win32/Fpd2Dsc.exe | Bin 1428685 -> 1428686 bytes BaseTools/Bin/Win32/GenBootSector.exe | Bin 425984 -> 425984 bytes BaseTools/Bin/Win32/GenCrc32.exe | Bin 425984 -> 425984 bytes BaseTools/Bin/Win32/GenDepex.exe | Bin 609936 -> 610196 bytes BaseTools/Bin/Win32/GenFds.exe | Bin 1443923 -> 1451625 bytes BaseTools/Bin/Win32/GenFfs.exe | Bin 430080 -> 430080 bytes BaseTools/Bin/Win32/GenFv.exe | Bin 475136 -> 479232 bytes BaseTools/Bin/Win32/GenFw.exe | Bin 466944 -> 462848 bytes BaseTools/Bin/Win32/GenPage.exe | Bin 421888 -> 421888 bytes BaseTools/Bin/Win32/GenSec.exe | Bin 446464 -> 446464 bytes BaseTools/Bin/Win32/GenVtf.exe | Bin 442368 -> 446464 bytes BaseTools/Bin/Win32/LzmaCompress.exe | Bin 397312 -> 397312 bytes BaseTools/Bin/Win32/MigrationMsa2Inf.exe | Bin 1374302 -> 1374303 bytes BaseTools/Bin/Win32/Spd2Dec.exe | Bin 1382264 -> 1382526 bytes BaseTools/Bin/Win32/Split.exe | Bin 425984 -> 425984 bytes BaseTools/Bin/Win32/TargetTool.exe | Bin 579151 -> 579152 bytes BaseTools/Bin/Win32/TianoCompress.exe | Bin 434176 -> 434176 bytes BaseTools/Bin/Win32/Trim.exe | Bin 671727 -> 671989 bytes BaseTools/Bin/Win32/VfrCompile.exe | Bin 1146880 -> 1146880 bytes BaseTools/Bin/Win32/VolInfo.exe | Bin 471040 -> 471040 bytes BaseTools/Bin/Win32/build.exe | Bin 1704037 -> 1722689 bytes BaseTools/Conf/build_rule.template | 47 +- BaseTools/Conf/tools_def.template | 279 ++++++---- .../Source/C/Common/FirmwareVolumeBuffer.c | 4 +- BaseTools/Source/C/Common/FvLib.c | 6 +- BaseTools/Source/C/GenFfs/GenFfs.c | 2 + BaseTools/Source/C/GenFv/GenFvInternalLib.c | 204 ++++--- BaseTools/Source/C/GenFv/GenFvInternalLib.h | 14 +- BaseTools/Source/C/GenFw/GenFw.c | 522 +++++++++++++----- BaseTools/Source/C/GenVtf/GenVtf.c | 22 +- BaseTools/Source/C/GenVtf/GenVtf.h | 4 +- .../Source/C/Include/Common/PiFirmwareFile.h | 3 + .../Common/UefiInternalFormRepresentation.h | 10 +- .../C/Include/IndustryStandard/PeImage.h | 53 ++ BaseTools/Source/C/VfrCompile/VfrCompiler.cpp | 28 +- BaseTools/Source/C/VfrCompile/VfrFormPkg.cpp | 4 +- BaseTools/Source/C/VfrCompile/VfrFormPkg.h | 8 +- BaseTools/Source/C/VfrCompile/VfrSyntax.g | 34 +- BaseTools/Source/C/VolInfo/VolInfo.c | 83 +-- BaseTools/Source/Python/AutoGen/AutoGen.py | 404 +++++++++++++- BaseTools/Source/Python/AutoGen/GenC.py | 118 ++-- BaseTools/Source/Python/AutoGen/GenDepex.py | 2 +- BaseTools/Source/Python/AutoGen/StrGather.py | 106 ++-- .../Source/Python/AutoGen/UniClassObject.py | 10 + BaseTools/Source/Python/Common/DataType.py | 4 +- .../Source/Python/Common/FdfParserLite.py | 10 +- .../Source/Python/Common/InfClassObject.py | 2 - BaseTools/Source/Python/Common/Misc.py | 38 +- .../Python/CommonDataClass/CommonClass.py | 6 +- .../Python/CommonDataClass/ModuleClass.py | 2 +- .../Python/CommonDataClass/PackageClass.py | 2 +- .../Source/Python/GenFds/DepexSection.py | 32 +- BaseTools/Source/Python/GenFds/Fd.py | 27 + BaseTools/Source/Python/GenFds/FdfParser.py | 123 ++++- BaseTools/Source/Python/GenFds/Ffs.py | 4 +- .../Source/Python/GenFds/FfsInfStatement.py | 47 +- BaseTools/Source/Python/GenFds/Fv.py | 83 ++- .../Python/GenFds/GenFdsGlobalVariable.py | 12 +- BaseTools/Source/Python/GenFds/Section.py | 2 +- .../Source/Python/Workspace/MetaFileParser.py | 5 +- .../Python/Workspace/WorkspaceDatabase.py | 30 +- BaseTools/Source/Python/build/build.py | 27 +- 65 files changed, 1840 insertions(+), 583 deletions(-) diff --git a/BaseTools/Bin/Win32/BootSectImage.exe b/BaseTools/Bin/Win32/BootSectImage.exe index b239a9da5bf77cb86abdc85b417bf6512ee261a0..a20f3a32ab6913f7cd1a6a74e6beb29c908fcb00 100755 GIT binary patch delta 61 zcmZo@kZ5R-nDBtvH|lHSnA2V-#%<>T|w*C4;7T!Gq;f^WlX6ZA0<{hid PS2-4{u>H$iR-PmPhY%b@ delta 61 zcmZo@kZ5R-nDBsE^3#gO$E}YUTOTvEK4#wfnB^l_Z2R?xEWCRJI9q-ti+{P`zHlAS QT1GRDl4^4^&0h)pFH04XgW*Z=?k diff --git a/BaseTools/Bin/Win32/Fpd2Dsc.exe b/BaseTools/Bin/Win32/Fpd2Dsc.exe index 0908d2cd8f3b3d2850607cd7492c610aab78f9bc..59212c57bc11b12a8c3cc4b4d470fdc99dec6914 100755 GIT binary patch delta 974 zcmZ9KZETZO6vyxF)4g2!ly0R**(MuAv3pTAZJbOhSsg>cp_7r+ln(_djzw09GuytH zO!t@(O=MHUKa1ial+7{8w*n@-6;$^LmRA*HPE6s#hoDe{A0; z9xN-zR#xAH1!H&2FJt+8?F}sVt3&7=P)=93RrqSf{$kNnCjw6jLx}ygV#}};ynXc| z;1s?F5vUcur$nGi_?{MlIwS|w5$O!=8dS{|j1Q|HWoxL*P>;$I#hto#>&( zW0kSWLv3g5x1TL7P@kMUcpB~{d!xp{Bf%v*YgH(?4?tKi*f?@XXz!GfhR&+Wfq4cv{}B5RD@c& zZ)uda%O-S1$y3@KwhDiTw-Yy~sRHMtRISRcTE(Gv`+5e^nIH#laZXml7UR1Y&>7=O zi#QTvtR`G3B$r{2Q?vXA+u}?&is3l(R3Q~7xBL#~1fP5rTNC6i?snTm@O^Y7Xf-Ai zTy_YN1U)BHxRYS&71)p@m-h9j4L^+9*5Jb=)ysaIN^+COkxw$w4K&TMcP6}32x&~s zG2iFN&vEAoIOoZ2@trCcgS`hE`}Pi^Da%j{V8*BOR4J{PnkSETBUcX3&*fDpN>PJ6 zj%QNznjFJWiu=5RSc+@e@mGpA>aK3P@cVoB_5}TY?1`}(_ujLY{m1V-f(x{^=Hb`4 zwn2!3Y97AFzp(+Q7pOzF1AU9e3@1;ZJHsaf zn9T4!FY*~4sSM665BMt%Wch{jn94GWX*Z#IH$8GR$5!1!LypbX(VOG*7jYs-Yl}ZS HOFYCss@YJh delta 1035 zcmZ8gT}+c#7(RzW*N=W}Y3YkYrx25E1>8WL4kj9lWkdoQun1ed=!gYj5in!JE?G9k zPPQzIbzVF%OO2Rim~5gOa}C-S`UCydi!CvkOG$cRyfG|ZAQ!rymt|(lzMLl~dB68O z?|Gj0J-5#F+&tHF+$+5WUX8cVTjbSxpYrN{P@Wkx7)}-LI<$JnnrjduhpI7U6W;f$ z2E9=Tv6nG=QI9h#g)Lb9Uek%yG398H`#IsXq5qg-tLw9g!$#q(5`9`RSS{So3$GA; zRl;#n3SQ0{;kF6q7U8ZE&KHDx10u(i)6y2`^e8*^#$x7wy}jM#=-S`i+=WvomFvH#+vx;tgvD6k=q$(}4 z9FuvY6~)gQjHsJdEEA4tg;C7VGgO9wVPu#XB@A=GF>QIUO}A#p!*6b1#qPYN7I%E6 zvWfA$g;5$9&s!h=@;|>myFp#D5=%G8F2_(Aq?hF_yb+`ZIe{;N^op#<%^=mw1hgUA zCs)uKqU}e-5a zK0P8~+AYuH&oDK~6q@GfRhh=8bF@eHAvs5Txvnx#t%bE;83cNRhElvePc^z7A%k$W z^>iRVL*@8!o;E3_pAF*Z$mpO4oiVcF0mtM#dhs$xUyBW)I7Q2M43v8>zk+m&} zsRfpP2FnX<`FYqDsZsytw`SoPI#N5@>%rCx>-=Pqxm8Rpl3lZuHRHS6<_*v$s77<) zo*ChL=FR9%a3vp3B)C!wq6ua*<8gxO)oq6@!sQz39UOMK&>LZk9=&5J`A;+MVOXI!SHPfk#Ph{19GB@iaK#N%6p(z||Bv&9}LuVjKP!x#J&gBfoBeN1IokvvGKI7nsqV38-qkY%mEVM~@9pvQ2Q RPtD>|mMXQMUs-!he*yO1U$FoH diff --git a/BaseTools/Bin/Win32/GenBootSector.exe b/BaseTools/Bin/Win32/GenBootSector.exe index bee5b511edab617ff457b4b3aecf238d48c9a4b8..406f903c9a319ae2cfbca595a9e41c2dd87ba15c 100755 GIT binary patch delta 64 zcmZo@kZNd(D7}*1h)xGNt{}j9(gi TZ?G+UQOa>?)AlU}Y(D+~=UyHX delta 64 zcmZo@kZNd(2m?@b>3{tb6YXNFNuU|44j~ U@8X-5)2F}W(%HVnfX&Ar0R3+syZ`_I diff --git a/BaseTools/Bin/Win32/GenCrc32.exe b/BaseTools/Bin/Win32/GenCrc32.exe index 2ae3c80f42defdc5454264e8913adf2a0b61ba85..d8185c55de09aac83451073b1928545a84472814 100755 GIT binary patch delta 64 zcmZo@kZNdDE0)}s#uF4{7kQOQ*G TnArcSN4dq}^7b`GY$3h?@rWKY delta 64 zcmZo@kZNdH?$e6K&#j*sTR$_ker9g{%(C?}>%#z$@b>G0tVbUR7$hpKu0I*< U-X=ExrT)AHt=rcav4!{o0Qwsqk^lez diff --git a/BaseTools/Bin/Win32/GenDepex.exe b/BaseTools/Bin/Win32/GenDepex.exe index d27b507f0a11cc8f4090a1b5d242f6a180610c4e..ba0bc6c3f7bede809179e10d84810d0abf7aaeb3 100755 GIT binary patch delta 5881 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 delta 5644 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 P0{Z{X#n`=53~K!^ub?y6 diff --git a/BaseTools/Bin/Win32/GenFds.exe b/BaseTools/Bin/Win32/GenFds.exe index 0d10d130a5696cc94d55bfe938931083eae4ff0a..96572b8fce0d7fa5f84b30b73f69f9dfdbf63cb1 100755 GIT binary patch delta 32318 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 delta 25375 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 MbyR}^m&x7#Kjh0EGXMYp diff --git a/BaseTools/Bin/Win32/GenFfs.exe b/BaseTools/Bin/Win32/GenFfs.exe index 3ef968b47eae5f6da16f3f8f71668e3656a912a0..a479bd8d77130923c93b4e64d747ae906d9e656b 100755 GIT binary patch delta 26636 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 BPa*&S delta 26607 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

7kCf|Ge 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 arJ1?Zy7-AZ-oMH8Y{RDMf9Qje=kcGhPhhqH delta 86622 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 LwmU4kZwLGb@#j;i diff --git a/BaseTools/Bin/Win32/GenFw.exe b/BaseTools/Bin/Win32/GenFw.exe index a88916e43ff9621bd15f4757a713a126cdd50c0b..cb6f95fec2ac0d1cbb3e4a4c8c21ec38f89fb128 100755 GIT binary patch delta 147079 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 Jyc7%a{|9zO5heft delta 154185 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 M)a6d0Fpn9dA9YbbP>Ks%g9a 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 PpK1~m%a)s(%rgByFwtKu diff --git a/BaseTools/Bin/Win32/GenPage.exe b/BaseTools/Bin/Win32/GenPage.exe index 72d8c9d26f44470d1537fabceaf5d3f56bc5fb9d..6b64ebc740cc5d0cf1527f6d17ec615a230ca90e 100755 GIT binary patch delta 64 zcmZp8AldLha>4`Vu&A$%k6RxzwmxQReazhYm}To@){g-o;qBK0S@%8=kZoUl)?(f@ Uul0FS4f$&xIc#5I#1>-<030MAS^xk5 delta 64 zcmZp8AldLha>4^<#ZN05AGbbcY<-<03Eg;aR2}S diff --git a/BaseTools/Bin/Win32/GenSec.exe b/BaseTools/Bin/Win32/GenSec.exe index d042527366a1424a4dcc9b28e76d1b9a1f62c5d4..c19a2fddc53ee0112f678dae97b5dc80695a285c 100755 GIT binary patch delta 64 zcmZozAlQ}A&y?^_ZBDS1Z00+7s;Q#;t delta 64 zcmZozAlrfUKg40fJ&#T4_$GWeR4cfi4v5N@1go z_3~99R#cXlCZwilC|IUwRG3y+mV;2zD@rtq&-2`wT^8~6dVl};!ej2-x#!0{_uO;O z{W-H)Sw2|>KKaVbdH4P?Q>Xpa>71B5bJgkcU39tx##0ln<7U8BfHYl{8ppFUp6JhZ z*ELCF*(m3iyXbv2kOw|cW#6k`bU4faVQ+(}s4PWKOS0^gZJV0<~i>V?nr3560 z6GRW7a@a!YHN#-<&yZK@y$h}Jt)ZVQBOfO8lxV~-;vX5G)lNV0yOkY`Nq8KqP1f+Tjf|3)4gDtu9BaBh-T z^o&M9_w@8;e@In5gTu~D)0vMki{1l~hEkPDNG~wih|<}a`~;30Dm+vs;Zk6)86GzA z9x3!Kke==pDEK`j74{0tEM36Gv6x!S>sxf`cUj|G60OG6Z=g*fL3!mq4z=nj!F0n_m8zNH&M-JhSVZz@?k$PgTQ9W9^ZojL&n11Rgo%p4sID zcNIebFXU=~P4%&Zb6!Lqs(#GJoh@8ZX-o`v#IE10G0X6@rnpva%mNAPji4bBsFNH~ zk4o7Ge%G|XoA2ESfd55xUb~I6!AvCzu_iRPO=B_EAFIw=r`P72V z6$Uh;D8#AFLYdOgzN0eXf#|Q&#Z`+HE`kyq>cTt`&F!M9`#8v9H$>%Pu1#dGN*8C4 z1Id9=nunN7_%_o}-nHY8xA_OR%tCSs+-ImFs62=p{oU3)%#j?BK1E#IK@uT{Byr6t z&j`GY!Y-|tg?yA5DcmT{k-W5?*-e?qL`?4>=7DS*vzR-m80Nv9S%UIUGUwGPL-J%v zO2RE_M$Re+@>toF6FEO+9DFE1+y!RpEE~w_sSeP5kUPMP0dON(5K7!ZL6N6c@%nK@ z=-n`fOJL0`Bff8QW9csYp7E2q9U0I-dJq=i0_ zy(r5H3aYzm`92`+@fpA^B_mL*C6Mb*M|eOOW#?4}akA>?pa!i*>eOL#WwVC8~UU((h0v6Y^D_2f0kYk zL!;*Fg(^BHZSJ2S7`95^^&igWNNxkd-9Tej{H^-1Gt#U9^YvGgRBT^hzbkz(V45R> z;Qw0p#zfwqn=68Vv1i}={;q7mfh|-ngX%Lb4TR6ANKn~$11VSfa$xLyo{zz*kEO^3 z^yau*_>l&m%gDpWsCRp_Wbf4*L8>(Cy453fXR+)H!$tLNG z!FNwSsEy~uIB?>f6U-w)nZA?Ci{a%J^ZF~gjG^cRHXO48lqk*uBK70wTlY!}0tT`v z(z5}P1Bg83N|I8KZpK^@kme??MN(dl7n)9jB1zu_^kccw9|428y6e5E%B4YpA-zU! zA_5P}CmpUGEDlQ#2KMstj_1{&4nv=T;2SEMAOIvkBfS{-pZR;y62xqtt?P#4)TbsX zS6|n}t}w5!&}9s<_qJkgyVOa+gydCbq}I3$T&(dGiOQvE45`iu%J0%QLsl*Xx_Fub zdm}Fiav(c};S-o!bI~#CLeE>`uUJwPtLaLD@)XPqe6)eNtr5RM`0-Z~(P%JGSHh&X zhmK(%NEe4j7}vZ(1cuO47Skn5e4RC=B1!p=G(0F~Fe-3({1vM)84;fp#S-6SNoj8A zQ%D9g+;oKuNXie&9EC^oEtWA0jjSjE4`@3UJrO~hPASz^lhVsn<7A9OiUpxGIe5ZA z4sEs=$ygz`ld0Mouk?zqadIJ3Ey7&n<=~;CNdaL+j#`KuqH2M=vbm@a^ZHiZdN);> z)1+U5N13W~;dM>BEGfm-_+9St#p!`!9Pvo+!06LJ2Sz`l_Fz#4Yl@P@wRl>3aM&Z6 zrYVHuYK=df8|}&GIWQ2YFJALrCMAKCitzvp0J0>h!(x;lX-!E=pcm15Q-d=^wd@Z-w(@DyAv4rGdHB}{~MWr!o{OLsHX{pzUhY1aqlP zR8AF=N-Hce5*yd=$fdXu^_DBUMfymSwk zE5cB`9I1B9Vj2Y5yELx`txIb}U*9k=O~{LH1du#aQXx621m(ADDoT8#CB9j#;PSdA zDYqnEA83~3UNZVqTNSGS)mliJA1^)kIt_DZ9AZuJNP=0qP;LAom5=qB9`_vKIHQgt zQasXC7MF;H!27Pgjw}RQxdK8_u4mzPXgon(dyM20n$Z=qTF1fL%ArBwU?B#)=~x#L zzU|V~e~ikt8WU*5lG0kpZ61oH!N-lzfhwcqGtz*tpmD@wRtHA=eA*c`gj{%DqugA|%6P`zCIaD72ArDAzg$=|4%Bip!G;Ze=AoUyPOWBd8rO0u914|%S znm2VoElElSpMHC!8S+fEXcR4piqq55Gvgl29LoVx7J$@hYD`c<$7_Cd=F0>|&)sZZ-)vaZRkf~Xtntpx ziOK`g>k|U!Rc#{_gT>UORL113Cd-R_J}4j>mnt4TJ;ox>r&G(Xe0yUvl(rwm_F2T z(nI4%b)F?_6sA@_iEO9_TjW_XQLU5Hwm<3P@S*G*>8Eh3J84X9Bri$NOdJZsDw;Tv zPj4E!o^M*NI z^&$tm97YNW?rDFGHe`2mY@5<>10B22Cs?$%6r zg=xBoc#rhu;$f2SN{5oBd2#)D9xzgNG)^2Zwh%^mF#@|nrmARS0;O*4018q;N)`q@ zs;;`y*udnUp!|(Co(Y30BJ0$Q70N0mdfnRy?7F&wISREs=sT;viV7U>Ph$%sQKHq1 zQ`KkkcXFYWB659JUSKOP@P<#h{`AysSa=r#2LxCDUE2T*;LvD!Pl3^Z2W9JvAkB&U z`Q=jKq)9zNrArSfq_J)2sl)^fDD?JbIzwfT1dlfbGdgB-K|`1GtGLa_cMP(_JN36k~9IxQhDTH zS0urCi{D5Mk-jWNa-AH=&PpRE2WO%@g_K!>;)BsOcXE6sJ0nyRLJXrKtJAXF9$eS( zVthu`oTR)wgHoJTkG6_y&S{k9_WHfZVeo0Fj`$`B$;UOyLyu89#z8F!Y13I6M&WRS zX9_404iGLD>*yGc!{r6@?g$Q!=SMy8P&L0wQ!8o>rqZf9x+uwS${4tld!`J``~@~7 z#zAOnyjP;~&vV2V<8ZZ9=vL}alaZx(CFSLmV8t~-X&A*(#95%p%cHbJc5xl$09Pt#9Vt8Ok5*Gkf(_I(1BC=EXhphUU5P>`) zALDtfAPB8BM{*90Yc&SYZ=D(!SAvnag93ZQ`Vij2&hRD~J}GFA^jK7%ZX_XTb&vEy zRPW5S8bg9F*BDk2uS*>mMmsXh;Vr2pQFKNmZ(AcK+eymVFip~ot|xOSNhdaeMIMi1 z(_klo(Ti#Y(W!aGSh2RQH1qDuS#*5|8PB4?UXoMY9ZI6-B|!`Pk#lp#o++N2m{K>+fta+4{Xx&B#NqJLp>i$MHVmiq|${kw7 z#n#LtFXu289uxBNs<7UYC}wkMQEsMU)$1j%n87Sx3Xcg%*&Y+6BlVGP`%jJ15o3z? zMVyL2@g9g1D~fkRoVZim330MVir)ku5{@Q}jnYRkj}IXqpe{)vasd+>41b%T8LWO_ z5|6aW&VLuMu{M~6!(7Ehlit@3 z{%)i;y`^!VuBGbUlg`E(N4y7Eg$?GT!OAK1eOs!Fmg@Yz)Wc-#^FCl3ZLkaK5{{Vt zz7%PSVDC#$nG$I!5ew(!0O_yNMWh6ZnM(N0CC--MGE0k@*SoR|4<#J+2WQd?{f=0L zj4)oY#yKY{i~db2p+?{>o_=2%Hf=DnnmsKF;fvFJ5WYKYQWxNh-g~59run3z#+c`U zltXaseLN4C+N|*&*5nP?8Y7`jnhxn2dUQx83G2gPx#H+O)Y+>PUK^5>SLbQV=jr}p z*dA%o^r$Yt5SQgx-UYvI3I*V;xaf&)gGxZZU7RF@#Jsg#Cu6B z^ZNbh+aO#U6>e6(bE4Qt9CalK?5%f27b>uK{bX!C*Z%?Q6}Gc`DMq5~+HI4=a%xXZU(?xT!6K<(k^+7Z5nCMDm?U;P9CP zFq}-Cc~>Th5l2A-hFH8$4u=fp3g7x}m<5<4d5t~U%^XRU*li6;65ob)Z;jpLoFFbD z!gUnbOLB{-P?FEU&PF|Cm5u&MA6uH1VsKg2?W9XGcrzNlCVwLhyxZ7?IF^)1lkN`W zQKdv$diNk6_1!DIc=w=5dw~!~fj!^8JYTQ+Yl04Xb73ev%%?j_6r}tcdrvT@hKU%~ z>CQ;M-0e-nLKus&kcx+)0u?S%c}T^>I6+6`=hJ(N3n-Jt2$Ur@po_qHXGCa&MDtCS z(Ob3ubReqspM_Y1o0__rr_!3lcEsw*IXhcnno{nppl}$dQ_3#SBZ9eQRC*6}yx;gT=5!DqFr}%=C49YW7b)fWt*vlnU=!evVJV;I0 z-Vn=)Z;Z<@BKC&1IRUnL0ji=*ZpUxjD;CN=|G4ER7A zIlIq;A0R4HVBadF{u8}(!+dcirSGO-CpuVerlJO%B$iQnZ3oJ`HQ)ei{Qg9-j$mH< zq&H^=-%CYPCH38R2T3O(QMo|2%L~Ts0A5IW#1#umVl1HIEJAq>&(N?k8+UbOGF=M3 zXTX?sD3xvbu^RC@I2oYmjw5bciY!IETua|AJ$2879&=|$>GE;Chif&iPo-n`jHIzB zM2#^=79*xh_p$1?BjTjrfiOZ(iEFwlsqmc*E6tGw9LH!i5>AAX9s#|Jph<<4W-ez% z+s{awlLq={Q3<|4LqRjwMuFJY0*GA#(&HGX@bsk$Q@=E z?`6UCHwEi(82!OdV>s)YRJawH!_4w=OB8cSJfH6WL%tb_LukhPf6G_f6%ssTj@$)o zT{^VGb!VhUXy+h7V+$#bv_tp*FY@J+eA2IpqcaiFtul~zT#KmZ8khRbsB6z7E-!%9 z|1F&-<$wQwlkPY42@O+jlg`(!J*@ml|4!<`_DOq^#&$>cPkOF$#|$?@zjmK=Jt+VH zuQ@X@o?kd;EaETC$wb&QIS^rZvLC{^$rC+E%u|?zFF-`B+b6x2>t4!@8*g2T_J z_f_G|`y^w^Kp$k4m(zq%Rf4jtfNaRn;7uz$qVs+!F=h0G{m{-(82}pGJo_SHV8O*( zm)_56@=g#91n+8tKcK=z@BLC)%0wT6mC{NN(RNp1YV%qwdCUz7Ts}8S*Mfnb4#u$) zaT0^#I}oo$oSIs`bpPCCv@#9rvgo&-k#g)XWV80YUFUSPE`#(|FXi}_=z%C*?;Q6jY z#0Db_z!TBdC~A%*pl+33H5}>Syku09XX*&HUy4lai|%<|>Ii*VYI{*Dq%Em_9vz8N zV>>3e&7a)YR%o(s+MYF%lQ;=$lpdVlTWv8JPjAw{h}5iOESE>D+*i<6G>;S#Ewu*D zgL@f%*o!#9z3p!C#WSm0diOu$%i76BI%@Q)0YFvZmj{{o;%%qHND52Y>le#JhN z#QWw#ok#EM-G!2yKa?)s*RRU~M8gkAf8Ez_Fhy4)P-drdPUiIM>W~I^#i~PEj68}^=L3+6p^JOP|BA%s^M7zE+=4inRIe-2HPr4S`wn)v826h#rrarR5Dg3 zMK1M2c;C`6g!xOO5uRWAIKmilDf>uzM|=rk*k3Pt{d<53JKa$w8 zRY*@?Hk2m>9Fz)|1$Kd;;_`#i>1FGo&@g@MF6fJGk%Bl_F!8 z_MLx%2?5AEL-_rZde)@Voz9Bf4SUzoQ5JRSAq~xF_nCb+Ru?eu=OLy4W6`?Bg{Ti* zg1Mr6&fIy0O*kT%G2N|*i!nhgDSBy5usfc_T@;iTNnvXOHE1}X(!-A6>>^3FgC`RB zq$7B7k#uX#Ha$jo7SrK|u9c?4%28>@lMB?8GD;~!ip$ziO-pwZiJfHc`u3@D2zxzU)45z%v~smQ9XgWKu_mRkn!JO;Cc2a%k}+PH zilrDZ94LCdK?O&}!+dmaNQ<5^P9zfiHF#Q$gw0(HMG9RHQ9)|WksgS&(XxAOgr4FV z49+p?nDqWL{_L1^_L;tHmsJ0ZZly`sU zi;o1*8xBdH&-Q1Bq><0QrB}5TM2!vF`r+9Scch5n6ePSM_08O;VdOfg7#A{CjC{h_ z^@e1~n$Wqvnzi~`n01zK2&|cFHS!9(#wPMAK!r`i_}Q_-vQ!aJd4lrIyW|PHur7~^ zsN_|wRiK_%ARYRph!q-zhEkOF8Z;>pE)F#~O?q#`K&rwGeOa+ozrnZ5TUr%v9F97j zuyMAno~#=OKqc=Yd`tRl<0L)ssGHFg<7JN1zsXaMXep1Ht&dQ>k}MhwGdCNhW5WpJaT(tj;^jMB>A3NC<)eJ^xEDLk` zP6o_oblu6eP?nS?OQLgwE7qRC0MGH*-y(no$xX8TTYW^IiAl4>VbzENCaCl&FJS<@?;`kUM#JB{%j}mMpv8R<%-nG?&K)m z$5_|V?mkiZb5+Ica!^$VyK{6LlE0-7Y9ib+fW0fFT857}MlCazMszf$^WcXeT$9qA z+Kf>EVQz!`0!72Ss^yhfMrp=%MJrmPB{B3JUf636!u+z+K^W{Pkd6I-RniZkMWa@8qw;JOze?lvU|vWjIh%E)zvakB*+PSM zxQD8?`f!?GN0M*R-O0&RqOm$w_F9!Euk8Ey65{{uWYU}!$>Rlotm>1&hM$_7_wzR zm)&YKaf|OvHA-fq{wwcaC1qoQo_ujbjJUlM#^w$f{^D|tUFnt)Fq5CQEcPO`q}0&p zpk^_Es`cLg(lGXpl=~9-w)b8d!`_y@e`)MMprX^d!slHBFu~$`DH*{yz-2z>j}?@6 zrLj^B+Fgbef^eslr2lwJlfh%g_k%Md=eT!Uh!3@q zDkO`o2$X0(XZ31WO`bz)+2)I?Fur`4_wJMS0LyESbm`@O?4oqz<>Y~1z>BmQT`?$Y z=+j`N0$lT_m0({0d)6se%*Xwc+Ke9R&>Zh}T(QO(uq>vf zSDcY97K{VO9)%(z2Di7EI)f^i*10d;XV4U%4y|36afS5f_JlkH*hzJHhDLVQ6E731L>LF z5#%gwt<4$nj;$@R@bnq!>)ri_b!v1?of@5@^}Yk%3v}Dhjb*X8b-y(Gy3dCW#2yG{iiUCmDcSEWzAB_9&bO_5?W!;bKZ+pW!!V|nD31s z7MCdfv?mC7-Ae*vnh7xY+@>zMUCk%iv3kK=$;>xhSLOcxMq9u(g67T8HQ-i@s~T4o zu5w&uxJqypOBp3Iya>_SM!9+5^2P-NJYTXnBL4#d+_(T4q7Vf$Yvn-D4 z^HPrwX7o}sEx>azt}>VhbtQ>qF_2eS@(7`9%+^P>=rc$Ap>p=A0fm}ebF`J-;1 z`lwiw>|O#7Kd6G26L|B7(!zsp^{IiYpp^*66?1V>rQ~;LVvnE~P4;z&#yDDpSbAux z+W}tG2Skqp(*8ri?sybiiJ|`iNja3N<+qT)GY>m}i$C1=?BQA`TZZiR3|Exj+qs;z znhk$nZYyV)IO~99JfX}D62#f-?~+VaL} zN;!>`H;>zvHzpE`ACEiafaQ%opKR<}=N_$7`u{EEKQqntnS`J93Pu|^GLYto$RXN42l-KS3;_^~y zZDp`K9>oO|tSgmvSI*N+Z3%((RSsZOL3CA+M*RqZS382eOZUB1<;L`!yI4%Z0p-Z4 z9a;*_ekf(>ry)Gc0?M+yRC?{xIt`;*!?1qV0b}3s&$`*zHft!gr#qlXo}X{;TxQ$i z)6vhPFZe^VJR6_dj>`Bzry6Wlfr@`EVg8a{S4#LK4HQNQT8F}jV~SYU5ivvJhAV)FFja0t?q>M$5&I@X^Sg} z7CD%{4sOSatB{`hI;;JeQw@=Z)%LvuWpeH9l)=*8+Wzg-wVz1e)XuyE<+uwDl#4!* z9=(uq8y1!QtRq(KamneMhuV2(9hX*q6Vk42(nTRuvHKebRRkS}D!h+NKYbI_PPy`! zWL<2LAcVn9hQpwylHw6ry#H6GY{-wB#q1buH1NJAUOSTQ3$) z;8TuZ^kRSi^rG5}RZyQ*fj;Y%pS51BoKnh>B3!lgVll*G%2kIP7VX@(`f4`w-t^xF z6YT@VF{10|(&YMJ_s=0&t5&pC^|_k#4-nY-nhN$N97rF2?G3oQ@2(w1_*%ndgjtQ_ zGBJX6m>edWBXz&ffCKYr9>Ki0p_iKIMaKgu(Tf~;4h3OgjYF8ug_Ml-?k#*zu&D78 zEn`xs%b4Oolj}%h)e}+AL}krwRMNCxM$zIu&C`sHm!!;J#`?j#nETE`cGCqD zI`a<$mYol>I_K40l+OI((@VwBWf%zKvP4cf5YwdrGQozoljBk~VP_xGRm6b%y(Bbp8x04c&N zkUC|-Zl)`$#mg#9Gy9=f7GpKS!qc=`VAWUPhBG?lUr6`;mUj;xxcu6_bjfYc`)_+L zyY2a~!?QWE?u<0yKc}=Uwv}S?=aSp+s%cFk(}Lws{(XqH^^`&2#~i`fpxgQTuX?^g zC%#Avo z8Ru(s-T$;@{1|~J|LFh@-??wqpFaz3XL#ps606Qg58VuQ$D>$G0gCnV%?J$~N8pQ& z;OsM!=dE=bcs7Bz-EyFwbw)aMYe1--n>S*4bf$F>6KItRZ=3F*)_}Kq(&m8LmaFo) z@7VLf&66z>uEG+$?8+)0J z!=9+QiiMt<=yCQTfbIbNqGu*OHj6RTIj(V?(%muVMLSEM>dv+>*Ik36 zF&o{MUE0&YUKd<_2h(FtbLmGtS)!hOTI%l4W(a=!dqnF@hG^X*xb8!IChkjc--YX_ z{KOzOC$O<+wC+Y9Q2Rvd-tQf)yNdhocplO#TK6HIC*z(h*AHS7^e8$6J3zh>Dj6}D zjbUfyg@f6B>}=_w!E6PiZ30_sPApW;$P)rtIuyD)kX84FcfeawGE#inWmS?A=kVQh#S;%Hcl2tnz9P*pAa4rfEy zMS1FQwh6a0!AiPYz)d0?3Nua2j(nB3OCDtND0YTu)C8nIiT(P$Sjy zD`@(vzfg&{jOsvqUjAtm zo7$d7_<5kUoRh;xGZ}(ck7iRGCIe4W3-Kl~b>AS^egQ%ANqN*5mfFjn+ENSsV>Ynk zsQl^}mZ`@hHN={4aR{qc9x|5opN=HFIOSO?p!@9!w;^Cmk#iadjpZsb#a#(29#}na z;uP>IqsD8_S*#){%#^=K%&x9d@K z#A49b@~5F}1g|@;z>vMN5XQ!G_49=Mub|QJujJS;nCX}DvM^SFTJRVLHL9H?_l|47 zk++Y7kD@wQL_uSre12RKBqYDK}e64pSXw38PYTM4TZ*Dl=PfC-_k+V;j&km!98&&E`ws&BCBaJJkPY4pBPn=!dS zek6&_`2Ul6kR$UhbJ%DRdEbBBS*M;wq?3(SJqe2qC{rZk7cQra3BS#_h@wflMyss=uU4tGP1~{?TBrl!2HY{dmB}aPvZ3Aimb|MqPK4R4ERg@2 zi?L0mJY*i5Glr_w)T%V%EU>Mt9gN)8BG-!}F|ifHFUs%Cb5vOko}jWD^Ds^+kcXzS zsLnGwZBawcOl1|UN{*e+CTW{@eKxGGOE@NPp3m-gqb*6l4ePIDos@r{&mPX?6_7}y z=ZxTvttq|lfAb!$v=?lvPO34+Pc1vQRnw_uWgpprR$+M4#m1Fv+tzfoGZ1aYp1l35 zhn3Nu+l=c9&oy%(?noz&78 zpiXqN`N&aCMZM51}Y5raEr0}sQmi^ z7KBdF_kI=!;wASp6Z>9%_kMVi@8r|>Gjx$Mdw|Wr)7=lS0eD*W0Go-Y1GtU-j=J!Q z-|z}z3U*H8u^YP`NeR}RDx@XMOKjVA8WEfbqV3l%ZN}^ZdF(J7G{p6F|jpHWg3k~Ghl^Jh^j+NWps2LKSlJGkRy zzjdyMco=AjVm?CiwSXis7m>VY{pX2m5fMjw&|_XXG7`P(JB!%zd*76NkcVW^=RqYu3^g+?8PeywK_j%%SXvKiqcn~nYeJhEBu#czI1Jkh0* z-vSkW8*v4<9WT0g1H}r*?7{EOMF!mSaCFm`o^$Hp#PHGzP#OLU37A>rfk!MmA;ep3 z<@mlI2SbZ`nzmZR}H95b4-Wl4E70{tGQ8^kc4I^)s&dK&Hq&=}r;e;0O7#$cFl0P+I9yi_jnCqGPn#=Ho$@ zl7UyksNVMvS zAI>OQc*KFJ)wILvkps^7;OR$b%kIlqU-XcH%h+n%URlQOL1O(fIG6(2Z8_WT0X}FE z+fjj`<9SAa^Z>|L4b9lCNdH4!8U=T7CzUM11X%U3YlHfgZv@uR$R1r+@wblggcrnQX~Xi^7dzsFelz{Qlezql25 zWiUR=0Gq_1(~}O3xT0llT`d3e81o~q`8Z~@2j#TK+53HACpL>pOmkLpu-^{4!qMmD zF)NubJ1@^(iMmFXsOx#6|BrIcN;VqF2UbEA=jE?gvL$27(U>ygA@s8I-W!gGgC&-B zEM6xJ0ARF6hi~Is#R429#>?bZ=PwQA@?%f1-mF~Cd4fd+0ZW%21#M@kEOHq zPn4wSA$cWIP%p9cN~$xDkPGK z8{O?7TFbz*mqtc$a|q?B zu0NFES*KA^98{)tSbxC4I6*AFBEPu~>koF-VEy5{by$C}Cm60kgI9i({nw**f0U=M zXO9O{W#A8n4l~9H!GcbW$~Nr%em&NXuX6tpEqYv)yFUw~!L!&z72|(Zj(L`az>FV% zmQBKK_p@wiAJv+7qfTuft@Nf>P~>5mZ18^tF3x13oh@8Dts(Ep#Q5)`d`rEVve-dt z8@$cPT{p0o=?RT=cY*xI1~$^0I@62@KIae`hSOoVjDB2%h7BwRUBJkVELCeN4;d(}q}O3WiZd)vzOSR(Sa$BSdUL=c8Q3;do7QzE0;XadS`O{{u+MT6tPJ~Ug(JI zs2HqDsOsoiSdIcV;A?igH{tz-xzWRhYiGIC#?s?XEInxHVHTw1T|#0m>+7cQwzv{x za(XTc9!zz&8Hr*U0%gMvUJ6jvp?%Z*T3>!qF3-gz>Y`ki%cAt0Ui=79Vll$PLWbB` zxDtyK|I%1A42Ahwj8qPsvPMs3!KO$(WiR4*D<}UJy`XKlhr;h4OA6C0#u$hR6GZ>0@28F`5->*aqo zvEBoymhP0npIQc?Ru+;;rQ}pp`O48(cqvse^-z@67)vh#^aw3?7;lJC(0zLYqz<}> z4A&e7kRp~u zl!78?FDgc5c5Vg9fImBAQ{2?7dVD=gL(Gkvs#4=663-(sQ{f))(QOV)bTBh#$1Ma1a8m2~TxXp1{^`wSnr@Wj{R?-z^fhIis z(?p(yx!jA^D3O?`JYG!0U%Z<~BxZWqm?BowY}W`E!dL@u;cBkO#|2Q}cAaCqR>TFz zCoH+{Y&EHk*UXLKa|^i?s_JFwB{m!F;)j>mWIo$T!P3>02$zbB@(79dYWL!^q_;t~ zOBgv{l<`ihiCrvhlh_I;FNl<3#1{-BT&Tt}aBcz>mL;MymyGZ`IrGZ zz|t{^?VuubL+51XJr1dOC6N&66V()Pl$cy*t5^{Y#iPzO_ln_R|LttZ5K=ylzenRs zV6En-@tQMU!N(bS1OK+0<_$v%w{K_Vte|xME3ALl-Y5u+kH*S{ z-1h45wL=souRyiEGE}?G_7t_U+@m#{v&6XadPIg+BN10-Z?V~)4X`P3D!yN1d&*6m zYBL^KUfk52Q&6I2md@t7f7A>t(b%vL*_`TLH6u?8=H>B!@7h+4MUmS zq|C>>h99G4YZMSRm&9oklz>-MJL9HlrWeL@Udr_y* z*P-)~KQ3g!u!XCIti+i#t4r@M?!G7&yvdB2ctm%o6f9xbPA!BB+KfP9*yg}Q5tYd| zpj=Q<4b#Qy*JE_bpWFG=Ps}CcY(n0JY=DdvDbCwZq`UGD&Q|b_Hr)erJA4@pT^-Wf z-4`F)$zgA?t#GBM-eMy#=eY3}8`l?wOH$nH{-LRArAv)gRvauL@KAYqG3!qKUXt?h z_ZkkJIiWv%9j^+}1f@uY&;gqYBqS;?*%OSrAVrdL`EByAI2N(i#)K&8uhNA`=ug=V zq$0vEq*pcIK-R*B;edvY-4MxB;E~gPC>MIdXUc56Y(T4#V(8_uFg*Ni=G%EJWE+Al ze4F`)BVXp3y`KxA&;w$dOop9T5a%BTz;B$8IEl*d#aw)hU-89*i*o7PEPOIm$ZlRC zWC#_mVil#7Q_4$f3ic+bXc>dk+LY_{q&(QMe>#400z0}R-eKcV1rOsk0G*d@e@L}} z0pez)!3>}T><^W`!&juQzQbPj%z6uFnxB4?%TpAG_2zfkYueUT5k_31QZG-~jSiGL z#3~A~Nskxa@6an21B%Z3O^vDuR3q(F1XS)>+o@OFjS|^=MOnX_`DvNc&(=`pL*LUf zZ`Cq?;JyEm`6n8c1S+06r{b9}e6myKbdc$enSZOX>GQspxz{zd6{74L7)4E%W|+@09ss zKw)s<8r7V=TIQUJfXeHuJ7r$?-!f0q*nAB(Jo5@I^X?zqDf3-w=5sZwsUNVA1hP<0 zML=cGs!o|-a?D&^<-zngs?!w9=2nh=fOXH4@(&-dG5zUnvl)B>8Hiy-yEnr=(G~0y zjoHWg^Z||~MpXS7-esiUSm4fU;Xany*?HLxaGl-9=CEt>;Qj0YPt`->AmODAPm5ri zzn=xssUZ3~LEK97Wx+FN1iX=i_xP-cK?v~ z2@^lWCcr1M_#qoJwE|O?ukB7%^Txgo&e(u1fIDAh?RnlgfS-kXXZpA~FUqA4vAT0i zc0RyjdZfPS@WM&}URaUm9bm(Kpk(^P_Sioe!Idt}cqUieW~?fZ|9yZ3xZ4vd3gpvB zfZzP>09%UHqWPsPg`JT1l(KoabuGir#0fdM3g99zwhN@qJp?5jmrD;JuY>ZXL(ChD{y4<8IMFgS zeR$??#SdR@fk&@&DZVJbdX)L}07RSIQD0lO{i1yGDE75JE4_Xc(y`Cv>Brb3u#WeS zu`GQfZwjBHm||0d9C4gwVQJy;apvPkm51T%M>M+9r5iBmvTmd}EC}6N{|eSmz}@f( z^Kk;Ie7TevA=reJ$ti15_~Y z=S--#a}NX%%*P7A1^3=`|E+@c?rf{J7BS!i8#D+nWTs=qzs~&ha$QDjnul`l`>O8L zuh15zR>}{bV5d-m5hvL~wpPwNi2|IIkDX-0^uKUT(T9miQ!OXa+8fYrcOzY_{Y4&C ziNWYEC($Y5D#ulWi$?hLr!Hqz-QHep-z?~~alIij61i}5ET09 z6mOU_<~hIFM%~I zi^Ho4zUX>sNe$*ppnu{kwglDr^;c-f4RY$&Z2kzcB7CFXz2^o2|OHn zDx*IJ>R5xI4hc2!-Ph~_GAOHM59^!w*l$_6hc!2-K@PgW0t{sGK}Z){DC6Yo@`4NO z@jhsx7$1j*mTSz+8nYiRu<>@FEhqej8P93dH|$9}&_*d~z>mMV1LbxN=ys7k0bQ)S z$X?(At^EzMjHV#yx6*!>u$J2AGB>Z^RRRDwN^z6C`dhYyD~>0mHpxGJ%W`;v^Y1|0 z{+qn|JN6t;Nc|HDS%1jR-(!d24>{?37T2C$(k#F6J&SEmP=1%2zsFHaQV^%~{$0Mi zjy=H>nmMaK<;ptvlRxFZ>fqM@l!skrL2frl(6n&Ta6?{jna$OnWAR*i_%eHy>0y{~ z^t9=tkAr{uk%e_`S+*W|&yUzfx+wqlBO9bKiV?Toko~T(Fn44mW>Zj%oUX7tzN>Z# z@2aJ$5=|w-q7H6#FubiM`~1Y>wAa;U6W)rS*yC<3yd=x%`RAY5a084&ok_N- z-+Gb<{>+K*{Tcg(7v;4-;{Zn|r=l$qm+twQmEFPT*w+6u6&9C?7dJffn$eoz(hK?9 z9+UF1PVgl?t_g}ft)2}s5~fE!1~29xg!F+LwY(8 z>-C1)t80{)+#>56QC-lc7)t@FYgXg`SzV)vQ0hR4>N?-ZHSYck8>dy*U4%FD7q-NR zVS?w8#AI@wUi@He5N&~10M&~(=k#v&MR2|@um6>A437PkP1LG-w79sXG~-u>zmH3w zypDr0T@!wb=Dw}6i5(1B@E;r(!)aL5B$QZx3_+!d)@X6Nln)@hVCfsbu}=hcL4LHE z4NAJnO(<4Orih^I45ymWKGVWy!u`c?6~|=5dA1{t7k)wlX9YN)X~2=cZDu<)c^{%@ z%OBV&0uNCk<+irSAOFGb>lXGGjmPqIf0YjW6JA-*ZCN}8QHkcO8|a-JY4j~PP|zaJ zYGI=_R5CiwzU4O5@)m4(x5(eNU{u>8yWixui8t9yjqq2EF#qOlgq1g0goe|i;dtJ1 z#3^r)r`=-X`R^am7shJN$j{wkGsn#NGg_C5tMW#)PR4Zr*FCs~<64bt8(`nzazXqc z?qAF7FZM|1rfBcq|6Q@rZ^kSM9^gEx69NPy+Maxtx$LQIfsv0nQx@p z=n|EMR&}(m$yDi_4|#MA_ymZ?3(cQCC!=nl+XU_TH=a(_ z;|FPSlU<$hn@jPo{MA2v=g0o)pIp#Ypf2r5S79ox%X=OnK0icd+$A%2q1OPOL~n&x z;nj|gymHz9)Zdb#{ZPs`6%Z;}V8-BWsXXbQ9umJJ3xi!zt6p-B3-H@=iB_ z_6dG-<0>$^bG=MeZ%?=ji_{+YH2=*uAI|NvJ7+V@L-3;&;oMmQN_3lyb${Ja#*H4r zRCitwZdOrpLRZ14mW(S6CyqKRO?K7`S9!_27^dNlC40F$ujz>H!d#T$rS1Z~#B#8^ zKqpczbQjLJ!JIKLnjo&dCGYhVg5Aly7gLabOa94In57{^5<-N*5n@pSok4`B!9J_~ya zn4rsRd-9rilWw=0Gn>WMv6y5+8=GkI(otvEb;j{ysuABa*r-T zFR)7W5@xBaia9GJ9rF?fs~qvcDv@*i%}W^4mw5Ds#%=uE5a-vdM{`#Z8tSUvj;L@s`+Ez6=-`Ld*_HM+ z)R}TZCl73!JGS)}9#rkR&b+=3Uy|i^y|Rz6jT-PK)74zGGgJ_7qqPog6u?=AfUL_| z_?f>9jFkqmBg#Re&ny3JdlT#(4S? zQb3L?Zut4R8u?KlVGu3GH9T7wUL#9*>PAn=_n|F(;g_jS$?JUuzpkgSYatd_$%VecL+q67>?cfcoy4=v3zMh%3B&Y6 zfFEck;+9+T(|$q-wT41ub(iq$2OlB-8EcB-xysv?vv$uKf%XkjbDuJ8M#}3 zp?~Mrup_G~d!dk6B&02xx`)dVCMM0@R`ToKy{h${75GGte zN)7-0<(fi&BssYRoRX&w6y7!#4~WtE`p4*gz`YIE30(KeY>*J;1-xaaJe=Y^CdRj} z7U*Y`Lr%#lgM`tL@wq|5V`Cws&NGL8R!K~5r41bgR$wtzo7Y$CGU(vOKO|ZlKvq*V z3={i0Lk0`}nV=KHDK(`U2Am8c{4ml;8h|?&%_3lc0|^0hG++XN@D-_IITdj`1^IaS zFfU$7RG!G?3=)*u)ihG`Hm_F%*vdK}wdaGMwZ$g-r358RJ3#O@Xtds#;$as&p+^2W0KICB>=r2GyZz0(qDREkzvW$l=xOjQ#!^uB zw_F=21ZW6L38BjnM+E=B<-3Lmck$QD+^u-MOkO`kh;@S|p|M8^|FaJG)va>d5Mi>0 zkVXj8hdMIc-YP#cR5+{W9K;u>mVq-b2v%m7YI$qv3qe8*({s7S$yDD!`ZicYs@6pJ z8YTp2I8!tn(=bOINWX4a2kDOv6JoWz`6(r^H4JwoK>?-@7ba^sbY6tAeyIZv%5ZA9 z@Rx@3h=y}6#F5YPR@rrgaL%obYsyL#y{p{{Q6-Ozf{*w|_74|=G^${tIx)(T zD()Zo<|tvQh7d*wX`_X`TK@EwVZa#9CUFedaLuR15tez35NxoEeFYF@)$j7_69r$n zc8t*9p#W`TgiZDWD{ZngRuiCx$Wh?Ru|kvsz9Ce2(BZMY{QnNMmw$i=M#n=P8KL}t zh6*dSk_;z=m0`kr9rQ8SZSf>(upS@zbHxmGC&8i5$%LLgPAd`@j2G#N>r^D0p+g-n zj~7-_ZGonzDC(xk&x{v>+;#9H$rPY8?~fN^?qH@>8}iFJm97sxFDG7h?j_$dQP5M1 zg80KYkEIhGd0hEhes!WSMH8QD|A&dfv-a{TDDSenG=dtfyszEWp}eTQ!E*NqhoTZy zScD@Lin=sH$hni2dTt%Z3w+R@BtH+y%jMsw1w>A=OWt23mMN1QSwiyMNy3!&(x06q z#C7fyZ6{nuMGArRtvKi*Tol*TE?s?w?xppevawq2a1bNpLi$3NZET3=4UKWwN1;81OJK&1$X!gB2Up2aCShz31DK>! z;7UQ0=QP=D!kEgQyxo(!(H&L)kFak6i?aCsfA_s0Dl4F%sEDATsHmu@D4^UHQ9%L4 zTWYA7tD$0nw^UF-MWiq$x#42le~Ev0_`k&WV;$oEL;OJa>`o9zH^jF$v2!8@ZhLE-aYlUKA6ZnQIH4hWyi*)| zHBlVa5S>>s<@}#Su}1@9t%Bidls=#KbTUWj^La)_IuqnL_QoiE#}nYqJKpyW*pU*j z1u2esj}`+&^!}L9VsUe18XrhYKA>G2tqo{fsVMv0Sc@bvS~o_1wng$|OOqOntffi% zSQuHqOcGb>VqyC9V=I!yrhF>+zXsH!$$Cl{Q12u+8c^G_q!cmDo@tu?j;3glWOp^w zcTyZO&6A%rMwe-dl{-cs3zQicK~4#bMSf8mo_sS?~B*F}opd zSgP3l|2yk#OV!grQ7@!A%z7TL4qGHkpUXu#e{<^*v)tbZnmbaSB3L~%B5JiIVb9D_j1uam@BgOR6W z4k5M?lp-f%_MlXbkx}l>7EKn1=$iHTWN~Xlp{GueGP)+yp3jb5rouh&#Py%Kje zbE^1)rV?WnjeQqeGUMaGX^G_akO7q#v5#XH6#uc3Ezod^9dOJoEvFtAXBwRL{T_p7 zF4@XyVq0eZK@4HbrirP>Ry?YavHDFfeD)-rf3npw1|(-&_@hy#kR~4BN{5`+6=K+i!n%xk)5u^sMfNxC*7W9zHUI4 zTg=qsAUmd+VkEM&8kW`=RNtS^#1>K#i+nEQijw zeU|u=(@FnW!Mc-eFrz}_r=i!JWb4ghv?fTJZZ7e#l$*t;3`P%L$EDOfB_3@29C3wu zg}RzVNvk1B`u!a7)knD$+t&X}Pl}C>R-xF>gBdfhdk@m)SID5Vx(xCEceEN$5jQ$S zq_esVzSG-$u6^Tw4B<_gi%ni=S(+=xG~-2>^E7$?HCIdb6s23~!9wTpEw`!j#D2~A z*8QAk2=9e?dOU2#U*&jP=JV1-&le+`V~!yWuH7l_^A|H1-s7_1)_h{Iv^e2TWlEGbWk9SsesfXcF`!KIX1 zUVB<>qXzKZVFaAX;sL*BA%N?YDoCftYu+bQ$Zo~At~xFh6GQ5AbMZK^kx* zQ%xcNQ^j8wV$UxWC;HpVR}F>@xUP^KMlZkyL``98U6s1e?z%{vfNebUBJl~W>kKtJ zd$RIH;@qZS)#z3_xWZA3MW0@mX_IZzoX5;{)E=T457P_QXAGR1givmwTs#>lBncG0 zc``PR7K`E7NceiO_?Xd?_rYT7gCIV1iMR|+du)j~ThlhygzhVhZO!^F#jZtbG;Aap zkjTwgDl#t=q_DsZ`W8qWk8D++j+?4ar|&c37!}1uLm``^Y<6MO2I6|wfoH@Xng+6_ zT1vk>qfaUAW#+$3jM9cX7Y*mBWqKS8cYBtJyFe~!IkrhXS;2Dbb6;l%my4N3WEW## zp%yWCg+8KpYc^+v_`0*ldfH*zTxV&UBN`1&!&PVCdQ0zI9BVl5=I-JQHhZP`HJI3_ zRpL2VE_oO}&#x3*g1BmKpY6I zK3!IetCjvgEsqu|S40b~a-xN`fGdC-0RP-*;qjHx!gTzf3m6Yb04xRMu^UBVn^q-2 zi3Q3u*rQ=jS{cpei*ldAzvf2^JK%ABRkUzyb+ix%+o>R0H~_!xaM$KV3;)1=2k<+> z_P{;^c(stt`%WBe*|#3WeRTY>ZBD-QtZ35;8fsqKnq7GoGbr^AGa0lpZ5;-L zLC@(C&}ws^6ASr}XF5Ye-Wd#eQi-Uk2DK>*Wf>(HKwjp{xhP8Kea(Aa07=gd6TtCxYc-DKGfnfVz zXa8TEYDErfOPOht7(<#c@EZI5OVA(m9^14@oQ3hWZWA{BO4-oOVzRo!Tthp|HGGG; z#=gUBd1JFUz|eRf`6}N>zPm;2Psepawqi{PgiZ?+T|E%W%0FX6n3xEyUF#Wk+rOmk zSuTB%%_U9<3CCNXu@9LT10<)dV&~pK!tmDOxZ5uXW ztJseoFiW!T`BjTl4k!H}c7Gbo2nlKIxW?YzDs~#DW%AW7_4S`98CQVEAGkN0G4ztq z$!^pecUZqiJd${bAnm0>R+}=iU5`6sw+9OJ$WfT8@&M+`tjjjcwryDUHgR-Q6abPB zyH0({KHY|6p)W1BwuvjGL`o|=xZcwZEv9Mmfe^Kl34h9Cl_$+obndd4B(BI?q#Q(W z1lNK;$U*Og;ULDXj2(JWoJp^E*ko>e=1eo!wPD?N;=H1ajoeAoG0WU3cItuT@GQlx zlXhZamQkgO?S8tlh`n`A)wztlzY`2|8|MBJ_VuY_ovgy$r8-=9vf^ornj~uzH@sJnd=e21>uHaYA}36tV*SOuPvn&k$?vJ#Q*}B( zE{r=Ks^Z71_^u8S;@7YfFJaa=&hEa1mBU#!yj1K1>zPt#dN0y{aU}$Pc(a$bUBECrEET<)p^9;;zw(#GSD0^^*uI?~I@DcX81ZBT zlHo!3Oc9=1Cic)aGeXb{Z=%}FE_VEV9VyaJth7uV)za=83g0;rlq7C>Sq#dtdmr%u zG703{h~qwPzkM|3xg=S;^FaezSIzu>PeT%Jh=ryo^7xbrf?KI-#t`@ZUM=pOyHs9m zdHX^*tDN?L7NdmLMYy$*cZ$9FGUjkZwduzUIcxdhWpORt4b6B}{8rCMxOHRWU&Gwk z4J7Uc!T=+&;Wcr)s&y~@p2|p&jj3SB>!PN%G))U28v!R@7j0@wInw~DEqCjwVopfd zjbj0HBb1jj4ZwNP0jIjm^7U>J_upqTpEocO&$f(v16L-D$Q9z?S$Qb@?#6Q8bf6o^ z-g{Hb)o{`@oMC(PI3a;-_eU#F!?3=yfuNn@2Ee>QW_UUoFx>{Q87oRW~yKqAM#wn0iAJ8M^ zc3~$EfKUL(snrrYc2JK~6TtpFD1O*9gy*lo_dCl6hp_r}E>+#>tnXoQr$*sTMXj)J z4(lnD2Cz03@r;JESHr2c=yBWvSeGN>Lk;J=hSTR=Jr3wR`7Y@A^W1)};Y7Zt$64#o zmcA$cpwanL!=aGB_1_)=GA*v!`bk$9w)Oi zJO8oxilH;h{6svak@KP#zmVjh(|S~pd-}B4Un9p~1q04Ir^P~Wy+hAn@o|nVJ0lJS z^Ly-!m}9HrEgG@-bB&0tI){4b#PhaY!x?{GkF&TF+i)HujoO(HXgJF*=y8y#!xumY zqb0uY!x~P}r+S=9Klbsb;vJ37Z4Kw-XL=madGMLNU4GMWKL1>ggRa>0qIg-OnB{pF^g0?XjDTMO z{9@tm^Fg$59`*u2J#ePOUIU0`bH5YAI{bb;T4?=Ev@jSj6|f5M8sGuooaN*1#G?jn zag%A@+KsKdfmI33YguGqadZ3zb|Co<9QH?mAb+n%!1i0{_oBN&UAMG&$bzSdBc1p% zA=?1w*K=ZPrCc87r-xc)b>1Bd_U%)e+jD{ks>gzoH}o7jOXVc*;o zLv>qTK0n&2^P>|`f96MhOzdkN_))(FcmGFmrIsI0aFmpvf}gY)X9P6|8fW81l$E*_HyEUnQC!2|Z=ICG~5SIHh?HwCMyg4t>hTSBt&_ z>>gfFkYAj5IoY}qYQ>1>wEpr2XU5R(bhX%=Wkeib zV_BDXDyV9hYw-Vv9;gu&XoMijp4}_hTfd9#a(FxP+G+J*L2O1+Gb8HViR!Z~`mPw-1<246l2{jJtf4G4Q7zBPmHLHWbE7Soo2-N*4cBVQh^sIxq#J7wrMVQ=0*+u`L<`^bd z;z56^daR5fZwg=5v53c6`3t$!_+=dXq+u7?JU4gGvSs%%w_#*L{~2fw3SuAL$J`c# zA0UJgLRhUHp{56$Un^#52tx_swgbYU9u~j9#AAkLs7u-ztlM+J z^78{R+0YF1LDSz{8pNXO#BQA^y?inb!LS|-qygJQRaOM`F3x50IaXXJ_R!+>qkK%@bf)4|Z*wo`CfJ5l1)c#p4a7ct0T? zubi6{Pw2(kJrqMU!m)%f;h`SkNKdx@AuimhDVqr4G7$VJvz$UMrR>*5mok+5QdcWE z$NcKW{@||1*NZ-V&NUFKgnn+Tep%;^7X_f5(MGW+A7%5z^`Qx0Tz1Y}ltzG~=W88SU zI&w>v8Xj%5_F@AREjQ(q8{flhjv`IBKidd|uN)9|zhi0UB)Q18bQ?e1$a*%DCV7<* zDg7lN`|(;cDOh9hLd@R1Sw%CX-W%9;lsXtZV{>Vjp_1)yE_DRw@`Y;s)*LsqE19bc z_w21&qg|vB4^(%GHOs^~3Q|8L7nh!6%tgv>2BPTG!_2|GS!<(o4%=%tjM4@iM?Kv_ zx+y=JL;E&!E6MgiYOpydnC)zZ90ntE-eh2F02%qDnhWFmBIWA zk%lxwB$Q?eAuMep^^CP6lq1Bt$jJLGZMycxEvI^H8eu?|H(y5eRCS=C+NFU0tGALM zP5_Ozm(Q`PHj>H6lUARI1n~$jDVV1o*;h?{v6tkNLu8UwGLwxARg(iqE?Y|{UUZ=f_v7im7N$wmm#wAa zF5NXKoDwW9LGFC#v7T)uFYJiLwUsUffGDXfptC>MXLn&-$2jgo<9In$*4lwELI<*l zc2d_S_+RhoRmPrdC$;MXM^W((?8;%Q(F?4ZxpsgW3?6aw#S>gxHTUH1*P z=H@N+^Fw*?ykr(>CFOT;8=};PAc2|?mhLSDHYB^7d_5}J4sU6)A%y(}8Vy8|$$=g8 znY8KUT-HJA-hdVvf}8l#+y;+*{a802scSeP(y&SQ5P&(o~;kw`Jw zTRsv=TKRXBmcn|eqeMazr#edg+_d5hK`ZBlqerkNzEV&x_<}v96I)^xJc_B8l7y|X zxS;%V=u=ml#1_V;`AQucGKc0Y^p!H2APy;SVs*Y!n3L8sBK&yI80RN_<=8W}sXgNl zd(ViBpxO*)$(_(M!iki38O!N}o&iTu@unQ!GrXy1WN5*>XP`xKP{aMb-=m&^Xy-af zvv~eEQR*3;wMyq67sHSg9%EVA89f94sb`dczWEH_Q*{HYsrFWmT|1b4)miHq++*ut z=H~C%Guk*ti64vvVh6Kyf30Vzga*Oa`#rY9A3b9b`wKK2GC43npGn(`G0Ot9p22CX z9mMtrNP`;U)r7Kp0a6_A85|=x6sh2$pOIZ0d&Z(Jyk~6f!h42mSKc$$b>%%{Z&#^b z5H5>QZTBU`D&#UFxEp#uH0SI8A!!aYA3V4Cx_FlpdXvY|<@z zdr2?g=zU~wDFUZOg}o(jOdPNEmLBhq^@fn`n->w!|HNCVKNOtYMb50jpC}2i4OL1R zxy?I}AygX#K?Vm)Nrnhk6fAw_j86}qA*F0uA8EDb3W8WuA1T3v(?|Zq094Tv{VX>e z9VOQF`_#HP>YsWVzRPM*o#Tr7Zz3wE6~aQB3H4uL3@%8cPb_c<%k3+5Z~}taYY5xb zSLzfv1aa!WEUGPlV4ArWxguA2!L_VO#lmn7esJ8ygagezxV=MbfL159|?uQ7atfHUPd4MV$-pd?|tfSW3~u5kk7WBpikz(T zy*YQYYitE${iTs8-VgnyfvAu61Ejh~`;7KRwx#z#DZoJMU7M6p>`=-FwbUb0LZJw< zO9`zGm3(O{;}I#L=(cJ`CR1QzDWL!@Fb#p=R3@1HLDMXdVV4qe=fXjxl@G7VG)M{E z!5QbBG zz91#^^&lzCg)mhqp~)4@XRzeurp48ygwiTl++e9Q;?Ef@O~ZG1VX)NC5W6Kz^6EGt zEQU^*#)iiTC9uokEHT5_1UM2Fv+?J>U8LCXn2m1xI>*8mN;-eB&S`CvyiW`t+!FIn z8}j~geroL>ui~Bzh2qiqFj#>AUw{|D4d4tA0JR{vXy33_gj!TjX-)>10n3{5Edd z-<8|P_xJWE98lQ=YX{&Jz#hOMz%jrnz}IYAgf!ekO}YjiwE*WKF@pCHc059w=(Pb| zz+o+5+vMpzM4C-!lu6e5R=lZk%wA+Hy~f@gBCRkCW!;BL{b8jIm4<6b)?7K1IYootr>=I9jJreGV0bj)L%}9! zL5-GrYS>AHU53CQJ9Z}iS;v0Q$1A?-zQx7-Cd0cZu^RIrhVVb5r9K*kaYUg{j6|xm z5@V!xZ5;_&Zg4_;g3OJPy0=E|>pg?O&xDz3vYM$BF@&Csk;1@B*TqOrf{-~@8e)iK zug6MHz-nOvFAz!JG8w*+EXE{lMQvO+NfTiWh?Azn+7>5eMu57I9f4{PAfI}f&}mAb zyBZ-#5|;{ai6R$BG*2|TM3IXRZ5Woq2<4X^;4T^_?Z;3T5if0n^>w`T46HH3rAQ>V zX}B~7IkgU#R>GPyLh6dJ=SRS^jQuo1Duk6e65o9(+dfk21?%icX{#}cGvOl5P34hn zUV?OOB+qhaG1OmbS)OC4_YAk^HvivqOWv4mF*fmkbW0;2nM#yiLc$@Vz~5A`iK8SF z5`JlvM7N!TM)P@WFRLJo$9~sU&Uy`|WxMh2iw5zFM1RF9* z8Vqa6BxyLTk0wd=ULeXJo`jZM`kM?T2++ZC@jScwnA8Wka+xf(r^iK*N>5_dRr-tk z%-$n-#nFbD*?9yTK3SsozOpAvcZPrv?HJSgPE4|%?@s;AnRxbOIgBThu!t zS_0L)@^IvJv6|OYl-KkTZ0|Il*K5d*o3~5=Lk*Gzy zVQoF(NohbV>EfK}X19?nAzf-WPz^MgbJ07kgWB=$w$OBD&J)1k@w6ZxThPflW{Uh` zx|DAywRD;(`HSs&qBBqdtv=1SiY=Jokf zHV=qR2BtNMP0o}iHh64JVka}Pkf#JWMraa?Tc8o=9+jinn+v3=4HzY(na5Moga(hu z(QJ`}hjkRY>fli_ibXuFj}kh{Qu;Kw31bTXo=B~;IWUo3%)*j@vJww}b6N^(k}dVu zaOP?_!?X1`{wXXsTM9FxaNw3RHJmdJICaUaK3mGya5iW-B@3k+nip-kQ}QboN#``L zA2qMk#ro9JlG*yj(mZG1wZuFWoMhq>sh=^Gr`>@Tp&$~yM2m45{^pugwq%JkL&NE! z;oNGB7=EyGYvQcG@L=tIO13`p8?Zg9LqD5ts(urOpjz8%la-y zhE$vt8qUkh^*EVhSw#cRY7J-jibgoOE2NdiF+8me8cvHGJx=WyX3CMC&;7sInx@$Pc9B^tUvOgMddTTgQ>-BWjPGpPMOG7m} zTyrw=bIJk7Ya;u5z0}?L0#1!x3ie!JJ&UDm<9MF(FpcWoVm;N&@s^*8rS}ZZ>6`g5 z5XyExhuQQ9JN+CujWbLvk-jmEXO$(`s2{&&gH&uB$ElsrsBPaMeWH1Nu6fOUUaHr; zsx_}A8>NSum#3muWd0^8znlNY7{Rz9M%Y>sBV2nfMraK?3vdij2^fp8WZ3;#pUu+v z4iA80fU^m}NZx>OKr|qpy}DTn^l8L?;XKmW+P?S0dhAA*)t+Zno29AE+^7U|yhtE^ z%oZ^9B&6^E7@89jiEFkXyM0FnPgK^z=iaeGCd85`n}Dhd3quJE?cEn zbQd|k+zM{-A$z!0vZ)*3viZT=^kg8hm%dH1$*I%x#(TC&8KU8orR@%|%Ll@tLDtaYG*bVndxT{~r@(}KoaBqYA zW4M0<&Lp^>f_o?2=iu%K_ei)G!MzJ^7r6c5PJ(+G+&{h)Bm4uuZg8if3v+2pKVKle0GPG>U?NL^d2MWW;Fgkll`aIOk9Pe^B_2e4QuV;>)orWj_h z&IcuWoiyPfRsv;~RR_TwKe{Tlou~bJNE(1uF*JetH7|XapB)F8Gt*hhJLn!%H)&*) zzROm>BmJkmTDTgqCq?|!A!7Ku%y1ahh}HFB$(u$ytP50`t7-6Wb%dvALPUHdqIJ{4 zf9f|L|J>Vh=CIU8Y5~vU#FN%PX$IJ|!E*au$we}xvj@k({-iUX_oc@S>6WGMOYe)1 z7Es$^vy46|1&UtJqYw^z2q#sg0+#1Kl&t>}tR3cAp8Hsu@ZZ6#{cwLeb40y5j61wsQ%fU-h zy1{E>k@~kOI%E6uV0qdqGdJpSEH^-!yhGP+vwbT zMG7*`XT=H%3z{6n+%B7EtPw>3S#JeKhs0uAz9_jKE zY;lFu+qwKlK53m~dn=?hT8yq*jF_wX7@MA8ORq}5YB<9+oQ2o)IH3C0HEb_@$-cfO zS@Hdzye@Sj`A65|Ty@?<_Q6f54SB4En{U6keuE-G-1!>}P|zg?7fIo)gC3# z#$5X9P!$`#m$qmvw^H@8g!~{aGl2a5o9Jgy!*>&V=hv9ij~I8ZvEDyoujCq=`lIAW z;+I^{nyH31`>_%DeFfMezypBO)fk~AAeg=SqqHdC?He%yL9hn&f9dxsRO3IvQWo`- zbfp;@5}k68Ie!-O{TZE-8a9KBt+UwJpQZj9!eBz!=zuVGmgV%%(kqgNF~odk7R#>E zNbJ){{IAMRVkjY49S}gmyIQI?7-Ct|J5qX!ggY@h1)=PjJJP}c^2>IEvfrWgn>5YH2WoR6eR8068U>Cg`eT-%pxDgTd2N+h&4OoWS#6k)kaBvFt(I3*Q5Z0W17c;9T+j&>&iEYIT zccmid#bPXNN2ggHzbCbT9E9pzZ^`}>yX?*`5``9AWc%)ewLHU~t(DHe8vhsi{TX)k zFKKV1i~3t0=yQjQ`WGKa*Komp&)>;OPGaJ*rM0y+w8>LNMX;w{Nx|1!AS#^d?2 z9H3p&8ElR>vz@ZstvNM^KN%1cy(G&vG0`wW5EVTF8f1VXzuknZDVXt)J+ndV)+EUl z;+p+52bZ^(9=b*;rVLDryy$(%-c zKk^S-+(dTJwf33=0<@J~Z6e$5UX!l1_Rey&Uf0?zXFWlvDtp0McF?u%frU)S6r_Yp2~bR%7B z>s|C@QGkzJD1*r;-)p36ZCDFE4s@-pXd%BvjIFEO_@gd!mDP_rpGty{ z`kJfU_@nOTrpG}an&BqD3Q@17?lMHZSd_aQs7Z0npp_hi7#6zgV?c^)pSwI<^zvnY zyUXjGlYIHN9cn3VDdWputUA*zyIRTp4bC^YbMtOi=^C2eK;@=v#wpKUC1F}TpMm-~X@M-bo7`Aj z@BMCi95nR(ZZff|vEAh>&gBz%JD;@p^^hMC#fuEm$Al=}(jfWwMxuC2dg^f?ig&Q5 z{D>%Cm)?3Lh~lO71|d~Cr&jBaj|b~`Gs} zAEFXiO#2Y%&`Tw{KmNrm+8X|O;2g+as)r^HYsTpfENRJD8iG%F)!Zn(yFrgkCrRQSf^f-{7TM>s(RBa`j^qhH^9tW9v zc^K&U@wJOhdTwdF9;ece9g3G5OV8~cuEznLTf^<`Vw0ZxV1ynA(rSN?kQ+f13HV6 z>~w6>bEA{>IQYD9h}p04P=0ot9tlIaG+y3gc*U}ByzJFjdhW^uJ+7}GbDbzp8?dN* ztZ)v{zDKOE7qGfltgsm{u@8p&zOlkW_^koV1dIi|0C=MZ^YN8ixB3D&yMVI=_957x z^i{|GF!!Ocf^)xEp*S>Fm>wG|l=qJng5c*5zaDVAhQ|u;z@7kj131HB&jUn^1%dCx zL2Z8+A1gGO0A#>uz|(-!0A?wkBu}A5UDac9C+$&~p5_Z?)@HKYEtn>RV`T703%)&5 zN30ySp`xH!04tjM>}J+?>+9-wk%PQg=46@PY%ZBBw|R7lW4pj{VzRuXv$pAVH!mU! zk%g=UxU2JNobV8;B___L({b~s?6E0w$5?n`iR+=BEeERTqN>uo63#Z8=o3-Nf zo+0$})AZ<}tt|D^OLEq2Ny6bgH8=RVVx~wS;lEGusol>$@r9rZ) zH0b+uSyLJ$XeeZ>N`nMdY0&hUvV+nfq_lmeJ|)QiU!M60PuS@RJq~!n$xq0;470b) z;w)k4tVdYFxwG^Uz$v^wOCD}G#eSP5JLnZc`t!_sR0#I(Hp{O!ty@U5b@9!GEbX2Y z#x~BDFE#aF#QoeBS?0~b+~{1w-34RW?k8nZE|i-glX9Vvb7fL4w12Mbpj-$^rO(qR zg$ZisJozdnmL>B!?^riqrd4ClOnCrZCxr^@@9WskI;p2+Yo`1}lVASm7F+?dHY`e`UrB1sSn|34XuB?`yaR&WjZWFMu2WgMo7kwgUGLmMM$m zv$A`6!xm#+wKqwJ3|uDfd-PMW-9xQkhE?Yr-fc&jC(L2JmZRIkZH^}+V-B0XT<)uV z2BQgKrvpOmY<6k6{KTLyaq)yc+#T3oQgxNzqwkxvrF6=R;73|dYB)gI;FKCEVJBKB&l*j#dvL{x`FKEe5pq)A-J8PAe>{?{U zyeEV0TqQ?pI8!y8DhC{M2J4h3uja|}NI@CwV4l1fmsf)F<^P48$5x|7hCpGWOXm-& z67j^tWvb6$s7b|Ja4BW^FfkU^;W}+Ggo1FlDeW|CS|GpFY%Xs?llg82J5Ycoq#Ru! z!(}e}sQ?=X?i^tlA+%ntNAPlIBUZ~FVF+unM(zr0z#92iSY6i2FTnb6t(--V2?*I8 zD6yf1a=wu#W~MV7B6qP6)j&xl!QY%Ymo-@@+f)bAT0Uu=tW!~~6v-Q%kJ=P?mlnz4 z8o9PqV<2~{NKejpF7sV4@6-08R#B4P^Vm1*fin-O31nc1@+g*VH?r4gIKztdIJl9$ zqFA18&Nq7kAJf{JftOI`iOYj@Md-(xmL-ScJppOZUC*zef5@?J-% zDE#d?dAfFh*x9^z9-C5v%B0AX$-n{Ph7wtSfLLB4>kklzY>>mXqrvVJJ%58fI?fJ{ zY>?m85MqH~dFFY!)L=Nuyf?{D>dp{LHpz5`cytp+W3KGle3;4&iZz?Ga`Oz~7_sYS z`7Ez-BdJWU-7MeWV$Iq8uz`s~IJ(D|!H6r|oajO;TRmI`g{RkPCmH$ReO%rq8a&IA6OvmTjiy36z|_Nxar?BNZx7&`M<2Dc@di`*soh~xeXs3v@LDp zJ^sgSd4fk1l19** zsDfbXOLCxwFoO`*I3VEFoueT&htRt5KL&YR^(QA-v^)017t<0m$f5 z5rp7drl$}*pN%b(??Kzoh?nIKMm!OMp_zZpK+Sp?J(kkR*Ajd4W%Ozlhwi))xk?8d zq}OH_aCmy=d<`dIm!1xi%-ba&Y>tkBw(A2`)fFu26*+d2@CrB!&jj8;br4KTvd(;q zxMz9SR^Wc3?4TZ|YShAQ;AGds+y^uuQcoDk)+;JL3AlkjRcTQ?_T4LTu3?VzK{8A=NoblSm#vF?r(C>QEzh3rEhY~tE%V2H|4hfJ(Km`BWE;wgP&i7 znB`3N>K=Lequ91H$Bu8I%hI7o+g9qkJw7;l=8;3q@tG|DEjgrlCfY8944g`T^p@Q9 z-wr?M?KJIFdJsi)d0QV5r_v+emLr>i2s#k%ZEMzJBcE4Qs-zCjCAWzmZFwmTt$$mV59!#a0 zOvc(w*7hJc;A<@TpnW+ui13yl)Z^j&Xa7N2JDBH>i5c!+ZGY+h)xuQW`OjdASnCiG z=RZM*sIJ+}Ltwe==kS@V?2v4Rce8geN?l_;-;uL}z-I9?$(1)CYgUh2uKZynXWhd{ z>KkFVAhE;xc#0lfc?`U;WX#3af~&UTp>0Mq+~xV@$rrCLWf3 zn-B(`9pjIV5xI4-&HVjyU2u!zKZyBPW!uPo1_Ge->tUH5YierYOVMr?d7*IuwYd5w z9;#%IMGopl)oq5qITwaCZZ2QisOS=<+!UnB*_{<>_`_W8@IpHbx?Gdy%kq;*W zi^-Pn%ByLvcvntS<%n;R9Pv%a5j(vnf2ew0C$H<)6P7FQ$*Bg_?;`nKgx|np@;e5N zt?)JHKE?igUrQp5k^o!L{kWXK=l>S`F`As?vPokTIurh9$MyK&Bg7N(dkwSxsS|QP zunV;(b% zD?KOs>wK`?aq*noIuyGP^;w?UW=NJx8Er>^@u4IByohuj+FJedFw0nEBp*n2T*jm5 z=jF}X`F4ak{Au?7d6WPtntjQ@5&3WDF?rHKFFn%&gy0K$gt4<&`UN1UEc{SH*yVr# zE$m-kke%s``pQq`Kw?**jx=xiU0i;H1o=fD=sg0vG53mPl<(RnFp8Fp%;hI5x>q&>t`>Uhsv^Zjcq&tDj>- zq?EP1h>5V2m0rX-R+(kg7xHWoY{HQ*}xsR$Wu0dhf-1EUwkbuw2@CNm%Beo&6bhp%H^v(akG|qR)xIlQFL44y{}@W zrwT!)n|Ehf%CCZp)vHI}oyDeHmo@e1RvKKa7+kE^WrJ;S;qNj1@eR5cU3zrMMwv0V zbp2KvT-2AYpw``wz4)zcyXDBAV*2n~eI$%9e|{@FK4?G-lEzOlefpg~7DgCDCDu>s z6G8kbrn!~!Zf#vdi$$Lsd|fmA1{hZL5g+~((=#{pWH7Aky&*Tegk$;hhI~ni*Y+(h z=SA$J-Ug8+Rb0ttp?5&2+`iNyq<`t)`zn~*Px3^&$P(O7|0MqcE@JA>;36v6hM(nm zVDhb)dQg3sytrO5-)u{WRW_0+M)WP5XO^;4x8wj=zo@Q^Ut~Yfc=i|hO0$K$qYgD! zXS2CgC>XWEMKa`ttgH%OI;T4)k`O8#5cXso%I!n6GV(o5(S;&Ep5MYmx)38| z_w08G&*A+*D9 zvI(Ixe!~p7kg?yu#o8-1a3TBZH+d48xzF#I#(alPAg>7@3cZ8^n=KF-Us1@#tVd*T36_KhW?nmcHJa9(F3ZO@aGey8YcWnFUW@; zLW6E%*5bbGW1>LU{7ax$Mp?nt+PuGpW)FitYVL|QyqP0&*n<1AcMBfDJ@3KL?8iWhy>MUd;{?B5mn+z%`*J$T1FAQ7-Bs!-#fddm z_X5mrF2($Kp~jjAS6&1!Yj$4>zO)P;Ck?x(&=^7v!74IVRR7ORG$I$-__Uin#FlYVr{Y&_l;0`=ORxEU3pIM6@)_kXFL9qeWt+6^*GgpYe5$O zAmG8@K!B}Qr5c<)vW%+J^>{oamWO6X@OqtzK8AYLLP*gz>Wf!Df2O>GwRs> zxJd1sWzQTviNLSiuai5|NS&wUZ-1RUu)j7B+_V)V z?^ZDCeDUDC<#kPSLL3T&I>812Mz#vp;U75=$;AC5bG3h{C0!y{A|(Sz z)n0)6Ft8=$u)K$IFPq;h zn%{|s*xssOH9+?OeQS5@tspn9xVNs>K&N^+sVzd#xP`^uw61h$`=WZ;zjam<+-LRQ zJOP$kJytxgQNcd0msiYCqZXXa_9#xhnSy1ZwX2yvf9G2tI?>RKaL1llm{>_id|Okj zQ~8qt&ZxjzYYKfirb>{dGSymtU%>O(oeIDCHD!_uPbaw^+K@t*GZ%x>j&uUL9_K#Z z%lQs@t+g}0t6Q6Kf5YCd3O9S8OuB5a$p*!LlCv|FsNgb6)TntOK8iA|pRbl-5z*om z;(9!~9_p9QASrz6wbt#=AgRAGD>e#dR}D&gHMd#>W)PKN!!p)aRCDn4XT_rObV8#zl=|?c4GD|LR*;&l8f&mVps>J&8kBe2Jgy|8f+a{wKZDtl zOIA}*&Qsg+n5=l~YLqg^+hxIG6!Q`~wys9yMm5?(Q3Ck)Nb?B#MTDYw;lm%ND6wkK z5(^9Jpbx|`BL@|wU)y}%4x5+3;%$VHsUGTs+*Yu9Me%IMORo9gD5N-XpY=*Q?^Udq zlj85i!!dzGX1h9e+c{2(53*3`q+}YFvjt0~?>j)M;?b5^{0t!fQ-+F9|_26_yZK3a8A;Tw(D z7*wvlY4l!iZ>HeODCN()%dFww7Q&T0{K2*Ere~PKZ*1KuAcFjKuAJ@ai zY7_+1L`T=dp0_KQrKu8xy1v;|iS)BI2qq$Wx7eXkFvg*Cn3^fUA>l^){E7o%*%F|M z|MBc;wyH=LXi@YY zqg&5xZW3Mu>}zHceu3TJ1%1Q7+}De3Sy!Xt2lU}arGwgCQIkWn`#I8FVN_E6ZFQHN z-5Td6n`q?M55;Qr-8U+o>7ay9puw)|iA}cE85n>;uFsXi2a}$VHB9RS_{4i}D>Q8? zOx^03YFZ1Wdk0QSLs?sxy514x^%hEOD_h3U0oGA+^o>7kq4?Svu&8ANscC~;@zGVV zk*-QNDvWK|zeNm&J&*bp-Ri1T5?9I@i)da#d}&N8>Rx&L!1d>7rv<_`t;0xhuZBPHY@)5$B!@H)qgT zO5Lx}bPW0%D%fZ4N{}bq#RbIs@1h_GUlmf2YfGi0t`GHhY^u1H%6QcN&X&s4r1wZ0 z@6m~P8a8hI7^esxlv50CrT9i`oKra}3!f}fyKCJrMgSv!8)OXROnIEX4A%m08*iy` zf-c$s!M3+jx)XOyE%ZxpVQS6dU>t%q)tbsyVMU2G$-IoWTPa>MfsU74iW6^IZ>MOC z0?6k5H6h!tQInd_a7O2*)qghH)gPH`Xd!>B6|}BGBZz+%-n-{Khc;@?@!);3&_jtr z<(!9$b4aE=`1-FWn-Ar%`yNUs)o+L0udAmL)d?BwkyxGgmtlnu4mhZ))kL7Wb? z$U0A@J;=W1sr2utRil;XZJqPl#73Od15c$>gl{{}N!7LGYRi(WZudFwP3+Q2$>B?m z%vSrMt@6wlbJ)bzN_WF@OMYwc6G--*Hp&2Z8YU8*lZ!V~cS)fF)wNOl8+&icVST)m z3PToa-c~8((~8Q^vYl;}UVa}SKjT}Qa7WoB+yuPZ#w1*X{l1q;SPl4&-EOOlcYgwC zLjcbL_(N4)--=5phYhA z=eyQl$AV|A%(ZOtSGtIZd9;htgHV6&s=N!UERZbAW8D-yGns42@21_^xGE!Ef3jR6vXD9Q>8rdR3%Yzv@^>vTq4hp7-B+nSl2~EtnY`s^Qe4;k zO<#=ZjO*dGYX|WuFpV|sr(_3lO38-22T2a|8roLho8hFf_l&5Tyrc08|wO8 z5&77-A`BB8UCjj>GeGHSsI{ydpbQsjq~lZJAiN0em;+?)A7l=CQ>o5=3spLsuJ<(w z-vX9uwpp{2VZRb$65i}*53&0G>0qlc+mjT4{O&g@NXPJW(XSQsR5**=# zfR2E*fR_M*BuEDI27^Ho4;-%TxWaA?QaW|!g`kCZhP_n^ zP1O$NVZ8=(jy7?y5{VDs*}=*z@c|iN!u3fi4h8|W4A;oVeOFxd+(st&6^=K&Stg2z|X29ly-g?G-!~s z9uMT48!@i)9LaSZqAUTqvLT9>^QlP6VZlE3!4Rb*D(l7&rMI4wZa366L(>=MpA|+` zGJ2>IHiR){RFQG6J8hNbVBXND@?oC`h4*T=Vq zD(!Vn_ef>F``sZXVeU|q&79#Kx`*+qL|=8y-vWPLX*Ao@CQZ#^C_4tT(5+E%=;^Z}B}i z-$p5uXtTi@g3$qF(t36XfJk19VhZ57pbu@9nid~A zCS`YZs0?;HM(J%>$vVVhwq42MW0l}8wur9zz3r>?b>dpneaDzPW0gKRfx~&{5MY^4 zp}wd`FA2pk*#v`{`IzQ2i+t|ki!&e5d{W7WYpma=`NWXV7lgB0^XWrAC&;H%^XUj5 z^H$B#7atBAWm4LBBg5<5*QWmJdf4VNc6}*$%P{2yYzy>_SNiniv~OB}N6pdWi=?yI?5}zL6O05s(GT+~ z$-5?(mBcHN0nJP%!5h#E5D7>DEC8ef@&L~RZm@gtO6P97M8 z0i@!8I^YtE8m@#H7Y{QD698KQ->|~rN@wK+|GR&<67Rt~p?hKK1+@y)LB=>j@ybaX z$w$0MSXxWlb}P-zR`IdZddOG(_K#4t3-F}1aeZGD@JVwmFK@NAhMbelHJbAVITOt{ zHRmOA4l!TWoF9?1x3#)0y4))xl$NM(%Lrv+hqMtUAs?_2@G{_Yz<$6Jj=D#v_3o+zM3pg#71yyZV@CwBEQ6zmv4iU#{&f5vVlD4j5hx+E%H=quz5;(%r9ZUtZ93|isK$Hh^JO2=Uu z#xDb)xK`J!7=4%5b<2KCZB5X?EZ^6b>%3bLqye7K)VAsLP@NFnq)(9tQ+3fxoeA~ogd{bXG_K?3HJR$ z|3-Wf`(}*dqh}G6u}ZY=$fG&7vU!_Dj8nYWg0V^vA)__9XVEyNz2(EP%992+Dy6#e z)OdA7h;4-1RX1rK9j9CbBes6LLi&f_7|)mR;sm9$x*|ZuXS>W1ixW>-8D_nz-u4Et z6_6iFu;dBK+lEzJCStX;%F=D3Qg6_GW3H&}yyb2}))af}yxIxbqa8@lAmL)|-Nw#% zsiVfTuG9+7w<=NR;G|PsQp{Fj#!Svh*68NEmr?Ks)FchPVPbYbb6uBW2Od+x4XfC% zkD*7cV(lj@NhoZ_WMvr^v$rNIO$^BOZ&Q>X4S}dX;&bY9X#=Yp%qZ|VxCu|qYiAM7 z>8seo$9YwaOH-27cA}2#n$K@zWUgZGrYYXK_FJuW8TNCUGK7?E^RLoz4^f?{o4fNG zXxNgaBOs$WV-=e;jknR_X^O9X6NdJkd9iJ~>-(l*rMrryPFI5d8)@5gz9o2cy0Q-S z5H|yJ6%^9KqSMQ~N|}wEp|n%~JL~?t@&7>m38+ng8jy>jH)DpWBO|H9=}OPeI18w9rDu5X7De$%xNz!a*T;*)O;BY{GnKBu z?=@4&#@O-7Ol7nT`|fOIgG}>Q0MR|g3*Y|H^;?#j~SOKZP?Ifl+y@lvP_vL!Cshy+C+q{xym=N7OvzS z9Ba**s-5T;Jv?c-G2No2M*CmtzYHlnt<)S7SX{VHvPmNv4jtc8!7y z9jn-uwKzLi#hMfE3F6fD1QCnMZv9T_dj#@Zu&tzEK}Q zZ{XGk_;WLmn?c+R=4J>tL%A8w%}8#>ax=a(hax9%M-n&3a&rPVCv!86o9Wy%b2EdR zncU3c=3;Ix<7O^5^SQZ}o9nq*!p%+G+{(=zrKTJtU&$oYDQLWHp%Jl)x z+$5QS`T%+-8co1WdM>0sfS!gx6L8a?n}OU6;$|>6NhflBKqxm!<8XaIBsXKpOb&?W zjs$KdadRv;CvbBzH`BP8&P_8nGq{<_%`9#%=H{|8_WiR;H$x$Fc@7`ZdKOMr3Cnm6 z-{3~JiL6cR7(AUfVtg4qz2v zJ75ps2;dChGTws#2_=1z*2Jis{0R{s`044yY1Lgsi0@eez16~6h0DK6z z3it)^C%|ckli&sDyCcU*h{m4@fTsZK0IvX!1Iht+0P>3{A)pgr2w*HA9gqcB4cH2J z18@xR8Q@z$4Zvxqli&>q1`Gj=0;B^L0#*aI0^Z1h(fC(W9Vxg?juQ5rh!Qe;L-$f- zjIa*^3$|a$=_tYNe5??8C(`C6RO-UXbNr-xBgn=YQ%DA+~3r`7ig=s<- zMt;^J+NlM5cuR4zxIM2JhAN-O2@^iIwEjYA)hw0HjM%m*puSpg`3~b!XC}u0Xr@w zT3F9*=mg?+f?($M7-0hJSW{Gv5X=9dO}U*Q_;P!U;0D_?YPcZ49zJ%AaCZtyFgiu3 z)a(n~9wi)toisLDD1~hrGe#)kcC?Vo?F1o%+oOdE+=db&ZbKZM+c|N97yn}tWNr@= zY9%ixWa& z$C}0nA>==5m=H{M4%#A!d!!2fuv5oG3Er@WMW+ZJuw&v!2`*$$LIySeyN{{i)v!k; z#0r(L<3|n?E|Yswf^bo@Pr;`6M>Km6?4*?8!Yi=Hj2kIzf<0tX6a*OXXC$h2F>G>Y zXzmHH$BrG%b4(eEhnwtB*p$)W$(9ExPTLK5*gi&>J}upM=HeMMGqYyTpNDVcP+pvn z_I`{YykR*o)~QMJ;rVfb?`yHbGT5cB}SIc1%v>C0d!j=5a12)0(b!204@M$fDFhHVAL&(6KVl>0X2YXfE92PPzksW zC9_NgZ(<%%DT3#NIEcwP-PB zYBC``EZ6~41>_7ryo9rYLc#A?4uA#_ z1b&bY@<3J~r&idJxw{*UfG{`=sz5%-1U4{PgT}!CI0t$`C#VAfPzDNs7c2pHtKkoh zgCHmZPGAR<7_|Y=3EsQjv!+yj+nkG8aW>&LkIp%srFwig1|~twKCJjYO%vu%S8RTyV_oaW7i~}V9kP?ZLatA} zgmJ_M7D;?iA4PebZFQR6hF{6tCGVfjewpwWG=G;|xZbWW=1>JJ=d!`Zc1|}CvesZ{ z-^Wlc&~3b2t8$&ujYGLLV>4`v!gCKHLv`HaQz)Nfn{JP~toC@d(T`&th@I4ZxXiHv z104e*u?{uX`YnSSdpQxB#cp~sLwU~fXM{U1(~ovZYlgvZM<9? zgw;kj4sF7s5kn|>Wnv zPYpH>4WQg$2o3Aa8vQtS6tTTCVh2$kF~p8)v5&K#V}~O0rWDcgDHLDl$^DyIEN!-k z$3O$<2BRRl#lqE#SU*l<45&u@al-a*D7#WVplqX(N|~(er$&|!>DLg`eGPQ6QZ81m z&`mBzHPdq_n&Mh$Srs(u08MbY=tVll+H_FU6^Ar?`7hM6GD8fm@nw>Z_`^gL&V{4RQmGi$0{bc-`FwJu7l zLgwHe-MOt!cW$oNExV8DnU~){6r8R0(=K%=@(e=}Xqq+@Hsv(+2V}C@H0Yvt&=l5N zc?RpVo>Cx*e|%T%ICoxLynHX;^{&>2x$k4W9}j(^^>vi(y3VzB zkn$`VOH$lw59bXnbgNbKpNa+esrpKpVD7iM)d5j%QzLul+TFCfUM{A$xpXYWtqujM zoL!4@zFVuy^xAg1_^e!P-qxyxoAUqc_sHbUpPkm~ zaq<}nQm9pXV5=K?32?IU5giFttD9pC@-4c*`VVC0vQE6L2z{RSe7{!d6VT#*5B-3R zPY-Cu%JX>B{&^3*UWqMv{4I}|pp8Gnj`7)`M|?%)oP7nSPsgd1vuCbIZ*@uTb zVjT^0_AIh*soD6PVUO4Zoajs>;a9Qt$|d)=<*55FAMutTuRt@}awxf5##7l|X)`;o zdbHi7@qIn>^C>+uV)1IbQu>o#ZC?ob@IW}ykYT2mADA)I1$CI|HB?@QnVz6l7B`)Q zn4@3wYFph=nqu=EnqM!ItuLI>Y87~(F>-ne!-9j@|F7r&x7YK^k)A*Am#-{{6{!`D zfFreHjspoo&FwO^r?*``8M`QiGeBSmaUcfhiH3VEDU{bGS0!qiOke}Ntq13{Z8SZ| z|MsGL?AUFTMIYglHSj3lZww4QgBuNKJoqaYJPUhHoRsgFm42%Ejr=m&i?@NH5)b{d zTl&1}y#akCSpJ(brSFw-l-?ufF2hT3BIzYJPCdSxBRbaNY6SM+1#M?%&FjxW$NFh$ zuiQQ#9p>NiwSSx~^5b(vZaf|BmCdzD2t!?A=xk^UbPn{69Tz#!OHkb87l)w>pjFU? z&|D}!HxqGCe5NV>nwTRNK~F&wp#i8J`Y3cUGy|Fp9a@C$LSKTWKp*Nzz<~;xwKiO@ zKr^A$(4|m(J73tKccF1mJ`hLQ=r3nv*Q$$HJrGHbI=olvYoQBgWm@gS_rf@wN3b2! z<;}&_3&;YQAOoa>Z2OolKU=)miA#e!{f&p+2gh4N;?Z%%F zI1CN|4rl^(AOOlhF~|pbAQ!9!Szsx!1AfAgkLjFv+E+japbfwOTGB+Vo(2)Xm2hyR zGGs+v5k@HF6=A$zBaFi}UUm|eM{C){i^6!P2&Wa_asAL=UAEO%vg0SEPUn9t!%YBR z;g$-&v%+75#na+=8ON3sMV3xq?(^*^-QnBm_m}uef4psLAu1tXpIneMqkZp&E!($l mC@tEG2GHFX`lL0%(7m$4;w?MxEq=34CgN2hAN0uwP5%P+v(LW( delta 76471 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�?y(N{iw#*Ija!VKOV+C5NM(FYS^C8YY_? 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 q`Pz-^mY0>RLj`DVXh_V!Z diff --git a/BaseTools/Bin/Win32/MigrationMsa2Inf.exe b/BaseTools/Bin/Win32/MigrationMsa2Inf.exe index b360966037b4bbfc205ba671a5ee14f9000d1638..089252d4e592d888fab49a37cf2cceab48bfc64f 100755 GIT binary patch delta 923 zcmY+BUuaWj7{^HD_@}k)w$^kCj*7Nk#e$?snsk~rw&`3^ z%E}Ha=*2FkJg`Z(-b_TXxOPNA1f_@~A_!iH&=!q_ByD<I~)ZO)E zlPBUi(jWG35BGb=G8WUs-P8duw^x>h?+r}vpDN^j^LlLk(J+XXfD*?2fKt9AU=i*L z;WvuTEyDMO(1h?;h^C*V;LBYpeC5KuRro4|dz0fqkMt~ajKS;kO|r& zU!pESwd(n4lQ`w~9PjaW;Chw_=Mz*cH)AwGF5}@Ns_5=TI>mK!l8O!O<0=Nm)eX3x zATtgoX_K5lC`om)8JCmvt-OKxBz+~nL)9$pl|LXnOJ7SnMrWx(#-Pu#j0Bu>T%5qk zIjUt*SLe9*J?8SoL2OI$NDN&mE?&WCigwEu%%oUw6H4dFB_G2#PxaD=k$GxVmw&g4 zkjLBCbHa(i7c8^vZ!4*s^`}*WQk~W9M4L{#)}DT56+usL5O-$CfvY-gGTx3`MPJ`X z>oJ|JAHuTEd%r_Nn)a$UKeLIBu8=3<4I=%L|38xE84b76to;&}_+jX}V8hu9wqhL2 zP^GL!e`ZDPScYXTL(j0Gf8bo8MuTRz<1f3NaCU(w>+tUa)yOua7Wjh_RAlKJIfY=B zgV=~mS?=w_be3GEjSq`Nz#r)jM{p;@A_A|9Z2vLoM%yAa$)gxqq+O=xMu+I>@YXn; zu;&xWF0$e&6y~`1+c}5etWI>c!xN)*@a9$=59C;Yf*UzD{uFO=e1bEmUSi>I(Z9q8 Z8ON>s+iJXD;>j`8yrxp)&?Irn9{?#AP=x>h delta 890 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 G^#5OFq9hmq delta 6628 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 k+*T3xJRs=IZvGiETsgs$D82R@DarzQx7jH@YJ| TdhTU??`-&6zFo$N?TIY_`)(gr delta 64 zcmZo@kZNdH_0x*R&#j*sTR$_ker9g{%(C?}>&FC;@b>44tf~(L%mUv8KU5I& T+c1AqP2PrB_w6!HY)@A*GxW9YPfqPfyIxBOX_sU!j zy*8iH(dB2?2Aq}e8|xXOb$m;kj@I{!+n27>enr(eW#+jTJ7by{$1*0-e=|x>l8TmY zb&-3V%0$H^4LxAe<#dyqAg71iBssn0#>wd;w+nYN<}oKcn>DEjF6Yf#&UuX&Oe=?* zbpF`LhdF3g$tlLwtY_VxeSGvpXfD zG$@UVRl?p*Nk*std)sJ53LM~NMNab=zEmX5rx06HEn|31GF-s@y0$Q1*9vy)TEGck z8#Zvm*WFXR@FmAZZ2FQm6t`%P+oR|Yq?>11$O$IoOyEQq_OL$k4tlgRrD$Rg>X+guh#3K4d`}G@rpQYXY I`5+qX0R+30wEzGB delta 540 zcmYk1PiPZC6vp3VveTEwhPJdcrq)YAH?9AQwrNt4R1zd&XkCfmdPqxlDV{dC1ra<1 z3<`qi?FpXLYmdT$Xa&)Wmb%?+#8!%@D0pp~UJ7vnh4wK&K4#|Qd+)hR!{3*ND^*qv zyydHjuC7PHsnYI7-)0hElYS-m@qvw7$-niDVpT!Ia7s& z26|{<0Mo8%s6BoGLT0f1w#e>6c};PPlGW?c9K71s>4%!A{^!oFj zPdsi~ToRNh5+Uhunil5gsPYYip@UUtUDTLIZ(JN_8m+sSVCSi4P0AO_tzj~JJrxA2 zyjY&UYtz{p_R}^h-C;S>el_TWw6PW1ZObx^c{1rYEqL;>%V~>9a5YE>WxfxI^hWPBB3b>Uf!bqK|bXOjh3G;p8Tr`GLp8 J-dB`c{RaWprYQgb diff --git a/BaseTools/Bin/Win32/TianoCompress.exe b/BaseTools/Bin/Win32/TianoCompress.exe index b8862c0a4497361ba6a27f5aca983ccfa252a7fb..65e7b6502de80789dc2dcf55ae900893009c5578 100755 GIT binary patch delta 64 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 IRk#5EKY{S+x&QzG delta 5446 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 delta 110631 zcmZ@h2Urw1vm{Fsr1xE97X(BR1sez`prRB}P_frL3t~l4uwy|%Tot1Z_TJ83v5URe zvz})?%i6JfiuxwWuAuk7`|e{mlSwi&nVC!`$(ohbI4i61be*E+o7MTxDiB*%j$ET- zc5l5;T3T1SR^8NS{1M~4gp$1cy`$xj<(B4y%~0W z>GbNXzg;&Hz%JND(P!0|gZ((SUe!#Eu!rMOZ3%Xfms~RbkZY<@3!Tl@4fY9y5LV*g zN_AD4v*SFP7sNJKa5ixad#9_;&N=$ih5}&90gwHei&M1qVt-SkE}h38vBjZh`mFKtcyz|?Npg9aT!MM`!RRdhID}+>*kth5$}imJnVGH z*ogIUsm+RACt6IbBtfo5EYLNOZF1{GU->c{Ru3!j zVN?}H5BRVMRUWCqPOIFAD|@Jlr)Rub4fnb<-<$PwZ%(qKJ5!;uyBXp= ztIbs-X&?$c+A**ExTKUAj#ZV}d8oWDcwtA;3Czs!fd&Ii5gjp=->{y!Mb#cG#=BhlK|coA5lBqu0f}`vq9d$ zek~C*F(rrdpW}&*iXw6Jk|Z>gJen8N==()3iFYW}i{43Af2oiFR6cW~GiT1QMHM5d zR>jhMdJ%7S!>1-KRx)ef;L3$c-sN82<#XglbQxX3yF~+O(CGUG+2wR4>+hRL>azpB zUbY=@KG70(7L86aLW0Y)*S;D%|DS<>yD_gy741Ia{Gb6EP*=OL)|GtdK@YA&u3U$D zxS1NI65R$=bmX5~TuV2$w$f2L#gz^6t3lhkvXy>nlEFMHyQnyGDp#&6=HoLXjnb>2 zHiTS8(i>Ocvu*R#1r?2JU?vB;V;hxq5yB8Mg+t!C3#BPQ5Dw;ugK1q@TIH$ek*cVy z?l}vvIfAb`GruaENk#Tom74UG6SMJG6Khu8U*)pJ3A;nbG`y`*Iv?o-@AsCH_iH_t z*S$-*%t70goTBpW5TqZf8QbW;fi7}nU8>fgeHP08Hp&*nl{*FI)TEcs1?Iwu* z>>xTdzk;A@%qBo(bqOK*K94)F;D9We?aCEe_`=HUazGFb763=?18&-5`{+;DfHQX1 zo&{B#NV8qaHmHUT1VA>h`>BB)3#y*u))0Z{H;+e`pkpr69~w>d%FaOnLLub*y|cyk zsCVUAnv*lD6c}u^5Fv>v>o^C0I1O6v@SaDC?_^|56vu$nRqL8%1wZu~*lB;9(+ zBi9Enb~7+E@v)6yngjmEuhOfcV&i|wdC!xOF#a_c)fS!6?%UtLa~-)$(#vxL(e1M4 z1RCc>mq;4t*svZ!%SlaUQR5T+Y_-+6=1yapWzF^nE6aPA`=JJI>_KovTARb29l5)> zVUGQr_>PowLQb2rnjtjTl6t!ETp-M@|PBl zqJ=U0HzdU2v>BH)Up%o5Uu|}qu|{=c9S0!%SxxR0&683tTt!(fD9@JERXRjr1zON# z)FJ&S)wiCjYe5{nO|gXw=U+H!?q8$W^H8PYgNZ4)!vUQ@72^@h=o3f45rl{8>`>Qy5S>}fqe+c;dlQ8GvcH?6-Z z^Qym{_^|8sE77lnk%$Dkfox5TuqSk`5xY^}mku&QXa%+=(v3UK$VrMV-%VITl#8MO zKYK-0RrJQs*-<-;H+?fPVgsu?u^tUFXt9RfZs1Sfer1*oQ{4-jq4d!K#<^-8$KnL% zCRRlP_>$l6E6Z<~Y~%dZq>RFvv-b_VIIk`-F?wc(QhOyQo6qLV5|-Mihf@Hr`dMmm zuIxpq8~y%;eQ#9X>cAHhgP^y4VR6wB?t>8`6(G7K&pgi_C#iu(Oli9>Y(;cH(<+FN z8(sX&?09ssupf+Zc!b0I;gnkN4jy(o%vJb*>2v7!@86}$-Tllw8b{KFpIO(&!R|di zi-C3PzoEXP>Lr`!+Ua#5j%{sR+tCpb^nh|4myZE^txbYi%_fQVxt~mavWnjSvRO?$ zX;B*6*`#HhU6P5>vFH*s$>OmGHzBdQG4%ulS2Bbg(IDh(Cjn6i$cadVd}%Ep7ziTH zbq;ybmLT=btwWm0?#c{VRSsE( ztk2G!yinHcA6oQUMyQbu=uz} zwBLuV`EkyKB(v4=73_lFBa&??Ql+g|#Ws0@>5x!jCsz?bU^u#q*r}t-i<|?a^>P1&yWvx?}6Ux4%uA=R)u;qO^ z(Jz;oqHiEQd70JjTbs_f%=-3qqZyakq`r*_#<+b8NC@lIuTI5RQ;d!Do_I3GNZN$U zy1w&_jq*T|JgHD1}~r&z=qnrPtpx-@zKX z<1C9A>`B>K)@N`l`t=<_Ne#qs+kTwUIsL_whlbo2gF80BVn{mw4#a-`=^ zvg#R)>7vxY5xkSXSm$ z`ehJnJ1mX9eaTJ_i>B*dGW+5F^uS9NG2Er|%46I^E!HNi*3El~gGcA&CFIC0Qchk2 zxjv0U96?^?YaC-fA5m3@A<+lGf?{Pb$Ln!Y^B zY)7~gBNi~il@=b|+GKJc_`WH`a_b>u>-J(MZ2c&I9e zSDPI+F_P-&J{r~04~tSATcJ8WJ;WSGFC|S`;pj|z?UP?LWF(6k6Hf;oWK+j9HuF1Z zV)Ue?F^ggj?By6&MV$}EY{_N^dbfyqWHqJ*MXYC50*PhYvRcp`kD2+{V7l)yiyG@d zPdsL=#|El~9{8csVegHN67_ykxA2q#_1lqcAKL_3{5rNCJ+z;NkBgvV_p?#sn$zNk z?A*9e<-3P`e%qpICgq*UU6F}jw8>Li=t>?kuknGZKlc6TeZbo?y59Fq-2@fQ*~^Ab@S{`rvc(gWq`}rb6FO7+&n~8#r1Cnp zOZX;ll-VBqTDtJ?NDBRL!C=;QQbvUrcYhJ#-w5E09*>@2#Db1E&dBkm*LR|Ft5{Ty zJL$qY=QO5mce0f^aRm1SIbn4A9hSeeB1_8kp%V*d%yebbbM0t{JIsHk#Jm}`_EFsTNQMla%Y#vfK+Gjgsd57r(tx`_o$SJ7>oSlo0!#qLddPWx|S)2Htsfvib>ro-2(zcBjz zD!Y`QL~m?hJ~QGKQ#P2unB@u;n>xeIEO`Uk2*z+x_w?@Wayk6(NNi%!htkH)CdH`sZaKfz9jm5@@@ROMp&W#|F%dq0#Gb zvNi0+Ogp9h<^L@PW&LI~_J~C^TvTXEPR@T9 z6?84LDl2NN)eGm*AIx?3emXLpU7wv{-|ylt(&@;$K||VhjhOg@;7;#cV0R#zUSG|8 z3*zXM)q-(tftuQ05R6|e@S&!w`Sjb)v7ElXEL8LRacJe7SmUDx zKlJ)b8q*<*1b@qyxYLqjtV>Qs_Hc<8eZP>ETN+2#EEGHrT&l)Ear)9&T5%ztz_&~7 z=%=HcKZ~mi^!$xtfy-R!wgoJ1Sqx2GAe498GCQ~6qyL-52zGl}sM~}2Ke%i6XBqCw zv!LZpbjN%av%E3wKc7usuA)iv+4|*viZ=5lbHtLpS$>3e9m005$gtNQ`Y(4Yk-NE) zyOqe@LCM`p|HG|aJNRx-nIf3w;I_iknF8S z_KN;r_EsZ%P|Du9pV?c3>;a2egX{sDz6RL?wtfw=2c_(-IYQSVdw(E%`~J(`T4ZmQ zWN$69w^y>a7TKH0%B@58W=i(f3HH_@dou-l>yW)Yl09Z%Z@FZTvAFff9+T{?NA~vo zzwE6?_GXl_ck*ZUHXwU5Sj+}wZw8yb0oj|u)^9-eW|XqG;Rwb(g&Q+9+MU00hk(+M zwLfdVDHfxgIh$gsa=PI7`z8!83z=qf44pZRrEZR+G1COM7dNZvnH}s6Rvenj*=@DO zj=~PsYm3HW$W%SM?ksNRj?8weo8O~@y4HJGMr+2pM%RU7ROL7X`(1;KY^x-kVJC?S}5+S-y{nZhb>^PtenpZo6=--n>5A}Ab6^ke7afa4Q@fjz7Hr@icXk{roeh_1eIl&x=lVvm|$ zS;wC2sYkD_V}5%zZrdj4wc_*)g%Ku@a-z(&3G;Oe*0FATHOdi&+8Ku0a@vIHy6)=~ z@M1buCpR$Ew=>jR@Tu`%$CcNH`Fgs_>t}WAS{A=gqsliRtTrH6>1R2EP2A_{o@}V^YpA!@PkPu|I2lGX7H$TN zK=xvvioP4iEcP#;$>Z3X{VLo}AKgF7!#m`zAI7)#>?05-K%n6q;S)zoH;Fk_2D zY6V-VfU`BI7i)INhvtsv4JF?6Luwu&9K!Bauos77=XM&?n4@cl0KE{kBe}iCNPyVB59EMg2@p=8I|ukmfN%nQ z7o~GztB)@sgIU~(SlT<2%{mdR2+TBrv8QnN{^W$3zRO@1Cu8ZF43>N{STQg|U$y3> zn%2r-8&9j)L;U(_C^J13Ob-lY5vM{)LpJS;AWeou$-Br&I%WvrQ0z&>J4;T){7ku_fi zvxXNv@$j(6#RyFdR%o+7p&cjYX)oi4t`0|?is>QjWcXlq}>?|8fbakU&b zNsqgoLxlae&_kASNWx6r+S%McoWS&Vp8RXe{evj$(*?QxxxUIVZ_Q?7FFDigz~)@4 zSYCsP1k8SG6LNI5*@;V@UJe2^0kh%b6hGQb1x}67nYXi;<)0eoi~WQJJlAEGLBk;M z&v@JcY5#0WEB0dtuBh0DKh^YcU*>YTzI_Igi|U7dL+Dz;Oa%;Zp>8bevT5+pzSx~s zJCh6L)J%m@&7ySr>~qgN?HMiseZ_0pfr-A@Vvd5nKIy=-7?+#TTYZ@4mFAd~NW0RM zM6mr=!ia)>z7k=lkgaUBTA|U~X0W)cn&26!V!#wW;3IUJKL#w41B!}KKL!-V+qeMp z0b|(qtBE!rd!w>+6MkW)?rA=Ayr!`@fiO(mJja9b`qv`y5O2)2=A;@sf6cQ_c|%pr zFaj{YEH!&J} zWFT^aZg^kMtxT_-2tZeK_~BUS4~fKWwq`G)BLW&*XP_-WA=FU-B^WXR};9XrY_9# zo|<0j!m8eDPR6p=_Z--?dpoyANR z>kjv0^X{uiV^(-SHld^w&iNda6lx}qiIOlb(`UjjVv5>k$A#=mHrZX!_O)6b=IKu3 z8i3NkARtS3Ae)=1IfD6Ou{oP1{Nraa340W&zG`gDKkn7L@uI$MZEVY{^aGggz*vyS zfdMJp>mfEL>&gUH`GKb8 zR$j%sZ=Z(4>PcvZBp6uLgZfC06#C*BEIwI{9*lQ2U;^jx9TK2l4j*_XMi}~iG?26N zE-$;76KI>K6`%TyryIvIj8w|={q1_5pY)VGzaG!59%|_M4nhZ-7h-Za?x8!K-GQY% z?1ra|ryjavM*Q)^Mwno(`bb5$w`Z}BUeNu+SjgkyV=Tu0q^vo*f3toltMqO<2`F6= zuSr1Zig-){N>{|~5+K6jrhLwqOMnQABRPOcfLR!~^I9A-PD0E%z>fpcB%mAzxN|^P z39!&=uX9gf$NK7`ag(}57e;K@OP#0ni#B2^MQv0T%m3;~Pq$$;pESn&8Sw$F*W3pDSt4R;=K8b9!Y2d-6Pzua)#7XnlXYzVm+tigp{K;JPo=dm{F(H;X;!L~^qq@K9%# z_$#(T;+uXeG$*FiE=I9|pTg{t5Q09~U`mHZu)Uuy(1A_Z)PGfWEt~vQd1N@-{qIJ4 zxUpOsPc7g}qq|%h`!(L0|9KX{<-bzNi2BODKlzdZT{#387QQLEFMUKwY_79(FJuXw zW;i$Qa~bSzNi>B%tkTy|#k@WW=nzBQ9Oco@u!e#Gfq1qLH*C^|E&1lic7LrzZ>F+; zzQ)jt4OqapP&%st>-{a5c5DDIDXwMvzNrb`nETd&9*JV1-p&pC^qMNFxS=ZVYE1MmNf|_+aQV%hgltok77im2~4@8P|jM2PT_m6SqDfAeIEhk z2nnWpBOuC}I6yKXm1tH3jOM^50;qyZgs2sk5wbN{Q*1u1Cse1{KD$2BtAd#bBeAfJ zk`Q7GFDMDCeYqa4UD-Snf{V{{ozp(Pc4X=H^$_#SwF%eCjiSUiynLBk(gQjvh?m7E zY$_UgL#~3jTedNjza_yYL}*Y&56~Z~`{x=PhSJYNZ(Qnlk3{s(bxqh?d89_0jCq-I z;Al)j0yl-rf%N^{%aa<7C-2X7mzxNU4&)5zd-a5o*vd8rTcJJ}=Dar?F($uNyBa3q zvdI4#m+ivJGEM#(2(3&=BrOON+GxE9Gh{#Z%MDh|`9rR7K%z0;ZJaYE@ook3+mG}Z^}2s02kPF=+Mwx|wtu|Q?52y-n+ zEOo2Hm1?#nu~R)mFPxigg#C#LvvYTLL*D!;<2RmPxEL$M$RMNsd%nC z8YzYtP#dOMk|T>j6Ueb5ft4E7l;i83q0(^8)hpEBqskD{rM@uva`4WI#M6B> zxWR?eu{B_nH4c~69u``Y%6?bMHc6?6YCMadzqil})mI-PTEi=A;-YYFk7+hWok49w zG(r1CO*`y z3aC{?HQR+K>HW&!?n1)p^2*TOg{U->Dwi>l0$pY`gNf{PK_2E*hVv@oLK7>)1{boL z_8$RlUD00OHiy%$q$fRH32M3_;i;8iCVmo}cQ>STwJ)?*k|gTX3_UF`#{RV3Uz)kk<8bLi?qoJay}QjrR@i;p0UIKyKV*+`F$ zfC6`t;k7>gC-a@Jn~wl)zWROpzV;AQfkczWkWqnzkvP~|fp}W^RYVf>7$f0c1sui{ zK2|^$ws}FE2Z>PBjFZqGmtr5) zG)^w3`d!B;(5Q(@anREQzV{(YXsagfwmFDjhR#@+pe9X75MX}D-Olmn$}4T*Urg^P zEU^c1bK`&pA~d9sDBz=p46#o{3)Nrzkrd)u=ZTZvK#dt-2RQFZDk)6WCUClnLJ1CD zxU8LmyIyGc>bD9LXo>(uzK6^bLyi}5C$6x<3mr)Xjuk>4z`=@$ym6hv9BNl2cGY%7 z|36c^pn`sC8`Tg#!(5k_Ebk@^sQ~x9&?(KYNW4in?=XxSRS@LeN+sst=8gX1h&zOO z;~JgkE-FSQ;($}Vksfy1l`ojdQu)wb80Z#>aSpAFzs@T4I)`4Elcag~1X{(<_z zue6j0g^N_s#fLQZXoDDd2CPZR)c!X)848DeNM#ZUFMJ3lgq2|7OXkyoBVn~K$p~B! z^^=IF=%ygRuuNp>M#~bq8*%vXY8W)HM0(N2ZXy!^e^x^7Eb!v4{*DmX_#t3wBn0}Q zH=f}7BbNZP{D>WC4XgZ!C#eM|{fN6FI8q)vz&AhQX!Cixbb#WJ<(8*p@VE;ES0)KG z(*-70Ce7*N`f#l>_I%5k=M6&X5@+aCg(RXY*-!!_cKC6%FHRpL%r zIOJ6&Rc+qm6*Yb84#9^CWK;s-nU%)neX6s=yH&1H`(mAMY$;c)=+{mc$3RwK#g6YRyr6Nsu! zoMJ6C7bNN`%*I0}o4b>wRQTmZ z-CA#F5c%YZ6b3 zFXi>KK*6#WQ7S&xQoxb|^q}=?5qq1C*<}V@go=W@{DjDAzUyo=4HY@a#*w&F- z9oP7j2dGC{aZZa9Q>;7Z$~Oj6bQAp{6Px&U=S|8CJQM3vbiBN zxbkQ$DQ^~MgxBgLy=w5P9!^S42(3?4QO8>v(ja4{ZJ8?UbCu#*r zyRGzFY`*UnXgO72c6}0{8I~l~j^6~<^);aJU|1MLDEw2ORI|2hQwGZe)Daj;RfA~} zDEb<3Is%;|?#Lo=QLW`Hg?ifvG?6^sNrLc564&uj0&btgIq!e@8jd8C;p7wFsiBVR ze)Hp;6mU+ol20VDpQWA?ktj^gYM~2*`;kau)#hbLRD(wpj{cw$ghr7-AN#~Ibw@35 zU#qRk1*e_GH_BoHHafzzC=yQ^z|AP)QKcawr99_zB;r`1Fx7F!Q;NmB{b;6gl!kir z8@zr@RM4scYECSqHy}~8i7))sj%eI{zTxO)`bl;`{g5|aE#Pef;_0CK$}zHeuVT7f z9pox~=qrRbByn`;S6H$Zv)Ng9&0$$XTo68c10MLr(-$RR*N9Z52fQJo5z$yKD8Y{S zOg6Ft_aqVk(1_Ss&$QzM3cHE*R=|M<3UzcPj#-ANHi(n*>1U;E$YCWMR!Um+(!L&4 z1Z6bp_n|MMD^9(T(;HiCX7mr&?;moyZ7b!J^96=RlLS&1jzp9C79c>qp$Q4G_H^SYMM7prO`u&9Ql(t(Cu4r!{#iI|{+GJI zvL-mC7>zU`L(LCk6-F$Pa^YI}3EIYx7IfSvNb7;Y)PWdcM(PwEkHO`En1M?i$!r*a zD`S~haEi_y0cAX$ES2$e6@K+}72pzfL_R~=XQvnf%QYhI4`Fhyqu zADR-+P7nEY*1QB;Avss9OEJgkly3-&b!G_Q&j9%o7lh?eE_d#w#9M0u>&Ng$z$<4Q~q}Jl!g^c z`Q1#!Tdb&6iNw?L*(=dcv2KPDH@`5ehsH>{w7j`4&^?K0G?@}d%62W*r#P08?ObDF zC!`VVN+QkZ`Ki@0=`T|HxRLdJL zgj$y4Z^3X4)?%?Gd5;lwuT~^;%q{dnrHUyJFis*&ubc9ib*BUf_3V!Jty?7lVj&iX zj)|&Wdz<1$>{TaMMT? zYw=V+SG_+`qnzjmPdtUo$$bR^*!vh7v?HyEFF-rg zbxhK=Lmj33ZZbDTxA#!g0h0@NAAv`E(n=9$t$@uNFdWTmkNd6|*xnvvR^LZ@Y%93i zo~Q_clJ+=aA8645SGe9*Vg;~h@=%Y}84h$HuEYnfcOa=`I5g~tmeTJ5v^Hr0?u_Jk-xu0=a!q@hzAAo`0JJc zL<)dVurmU{Pqg^~A;;tggyK_wK==p0h|G^Oc`J-s<)^+P z17SgD;zjB~QD>4$XOx@q(ghlJ!F@{hJx;R&OzDCPQ|vuS^Mx)*^I3Cv-37TSy88pe z9NKlonhAF$+AJ*a$g(Sm@-{W+oM~`8tyU=cdvs*E+3o@$%;13;D7&G@J9G!ayJ3vK z;tsUK&w!jeg4DeRQa`<+MtQcm$q(e~oU$s?=?*OEhDv~*y&J9u=Wa{N8vcf~w=l&c zDi;|48>vO2Vdrlo0Fy@45c+%!g!CdA5muzE55n9* ziO~-Sgjd^M%91z+nV`EXOPCTDj_0180@4)J0Z0n6GSdjEq@aT=FoK>bL}N4bx{#2- zJY^)KsaDtFj}#2_Ro5YDAkNEX>StbeebGXN;{uXt~z40rWpP3Ewu=!zoV)Q!+qSEtB{>fVUwxC1#b00 zB%>?5y$am=5w- zD?UTJ{zOx2{3RhS9u(`Yp*O==k>5fPpw+{CQ$eJa;SC|Ov`xDO^)nrRi z&HW(v$D-gPnq5Yb>DtR?cu#18?%Th!FsT-7k(ZNB%5m_lPEf!%J$xece5}QyR=b)LRE+)@ zYpjr1?Di1OGTxiP{NV&0rX2@hlHkDwL7qSkLH{qi5yjppbFAW)K=J{0<(+HvMvLI&=$*8{XJuR~| zqgkv&01hGE%}v)WlqF1Vi6waqR2xjf6)oOVaT^xK4<;2At+CYS8C6@?Ix9F4m^tr- zHe&iNEgchx-v^@-&VENBB1qv35$PmIG3AUg>$Xz~+H_1?bcRLg#8Vl5275qXF!rE$ zIaokSAa34rIaU0Obp)}{BE+yU<)kKFIt^8akcK<}9YX4>JU$4fcocxP zUW`(flQ3O}iMAm)3HGN&A0b@xdcGCNC}dHD5Bf>Cc}f~Y{h^qaTnaabqB#v2N@57c z!U(eSIwiz!kky}N@N6i0J1fv+po2Pi66$4;lXQO;m}g?Dsb29f0QLRl`W4+j|iOmT=8G z^;)k?7_Ps33AV%0SDiT~nu>Z2cFLnw+dmM9Q;viSco_UPoFrRBBb2-4ujk?5aMHPJI5m>^mM>pglLjRtNlkk883c{O-d6If<+3+R_-zy!NpGKl zyQ4@hWly2cXzaBw{+fy&v6-&v#3G+9PFXBchSwA#QEkxz1c8sfN`<()A3Vm91l#=mxMsE# z@n(T;!XpZijfk7Myd3k}ewaUwXza7>-KR>5#VF)B@+=u!UL0))QxS`$Z5|dDy5*9=gbv&RQzv61wD!q3kQd%^lQ~GEJZ#hui=~ZB3O`LI>4Z+- z2K}dy>a@!?STu#GJQ{2>G`c$l8~u*O(ndao*Qa2-OV4kC>Qgaqux<;qm`Y~gzWL!) z5*Yq?v)G4`l$crn&4`}DN=Z%IY1r{IES7e>esf{cG}4sNE}LM{bevaAPfsV)>DrCZ zGM`ir8@^HWtoffkcfv~9^O1b)c{CPFdyXvJmyc(g^x=ANW2A1xAM1Hf;#6LChQEGb zTPATk8S7_t>>K5sA*QM@m) zvGGXW_@Bpc8vAbgaiw6Frbu>welY(RR-&sgv>Abprpz6Qy=%XrdGa3uNS}+sxU~|J z=3?ZWzY_Y*C2Q!QvEVunBZL6-f~A{xOx(C5zz`v1>8xc57Y{+E8urh_;vUIP`8N!MzUCk2|#{Fam3 zbn#d)UqRCNmSF|%|6d-03oGzI5%=mVh^wV;u3qlnSA%*bPV26@5WSLgP;|s(Q`#{+ zg5I|h(}lQaUrFlKe>_L97WqGQ_Y_wCP}Tz7o`pY@brll#_Z(xmpu#IFY!38UMb^?b zSz-~Rspy~LjH$f9vx*lu7nB?U)FMOXNc~Ne_ z!r>Wmtd_hmS=7i(?=%G9;=OSL=3mGRIf~Op+=>3V3;Z`?c(FNOuN7@q@*O@V_{FbS zus`&!o3KB->C!08H{+mJra|S+q&*!r4YD`m`3auN zZpJ*r+o=-AcMIYaV!?2H@f!k27>wJ3YhN`uzlHRsN3;;Sm3Yw0m!SPtqACyXek4st z!q~0Evr2odFxB#W>Nji`;Z-C2j$XMc2jv~*5fU2sb_)9&DcpSImc)*?;-SsXCBoqd z+>#?4cZ%-aHr$6Q{Uqikehkhrhn2y+#WAJ+ZP^A*w-JrUbdEP!+Y$#&(vKa0D}rb` zvj8Sf1ycd}k+$UD0LMJjq|RpxNN_4Izm>xcbPXq;?Y@XM|jwtaK1Kb( zt&;V2uzWl5)CBV?&h+g?LOlFVx30lqj+3QRZl&<=Q-!+jr^$M(MP;!5ImG9{aM4S2 z-c=5cw8^o~L%kiC2}_?0lXs9rQ!ni1$qbf1j=yX*hmsw53E@F5C=1Cre7Xq>3o*Bd z_pA!ZZ`3wdddf4>Qy$4F4Bbik5}G{@R`0^gPs=udYBwgh@p98{Qq`y12A*4;z?p6> zzGh*X3h!mv@|#)uORJc}+fAI+z7zGl)SJm;<`ewx^Z0wFBHLGG1{DVr@3O&S4{1l| zWJ8ZVB;2C|9?SC+pOg~?|IM`5hXZ@?E>vQ++{_nuqGrUn@ZUXnqE1(ghj#lg%uF8- zllKu1k5+g`S+49C_Mx*Jg2mD>D;SRL!{G1Xcxbzy=OJ{b;Ro?z zXXCu zeP5Uc^^alNV%c!$a11xLErv@Dj~_$s@gm+aNFm3cNwDZs?KECe;$dz)0)$`-WUy$?7E%79*(3# z=ovhNtqGIQkfsXXblK6{Gr0b}p9kg6l0dt|c$EgdAKs!BrEeVsH+u@I4f+M=@%#8UqjZNnE&rm+-3vo5knVWd`L7GaGmZ@8y=wV+fiAg# z8fEQkz|n_TrHr_ZzUcl%(H$l&jQOgnN1U>cBR13{4&{iuE<*H0QmfYCy~6)tsa19PgJJze)G%8(dy(|uF<7ljMB}--zaXrL6IL?&KjYldSTeFYIGI1%d+8y8Z&AO+~Jt#ITrnMk+v zfu>i;RKAzJLQ?3iREWNcSHvS>)K%2XnyJ!DJ-SNN)*pNG%Qf!Y`##U7;7^S)%Iyuc zu8~Zd*c&!n!$|pa3K(BU_jWKvHf(zx-CH&mxOMm-pZNg`w|1JwSDn+~L`Pn`npk zyMz1RWWSqT2&jNOTU7FUA-#pU0=lUiG`oXOFd8fup;U=(O+OfN zhxnU!>?YP;0+BC?lSc%WO4T{t?DSwidfMea~Sjh)7yCA>H#{-nusM%g#JMw{n`P@L)_FK>;Uy1qN7~i0op$# z?y4OfxOmF`gdqMLUu6G*+KcXs6%KJmwjNc5)|k;V~*4 zW)vRds+6Av0XkH%Np0m;jQ;>b!e7$g@u8O%~V)Py_O3$%`)-{Vm z@t2k5o6tm=My=eIlaejA39#6TxK=aa5S&>3i`d3n#jWIGomF>XgB%lsda=)cx>5#% zN7_K>6VivaX#=aCpxS?J4df|lY`VQQMzb9u-_zI;x;@3bQ!q??ibopeV}4y`7E5E)$t@uLC5G#*v*FWAk`a|K>=(reM?k6KRFkFB zU3~=!Kz_Mn)qPtGn_giyXHzCv7o!4i%Y?XMJPnz_@9ODs9%bsYLjx0GYBApVwSkw# z#J7pAxtLroH({y;?a*_`UoosVSwF3{I#Q$Y`#6eGdQ)!C43X+)b3l4H-z_Z5fDW(m zq+%rROrB-j>j2uFm;h#Pabt992()@jf;F2LmpLx(-UcO@ z9f%}ird>$M3)a5H2UacN)LRljkG6(?-x77*Bdg0ay4ITSGzIqj1;S;Gzem#tr?@}T zzW}|=jfTHSJDUzk?=ZK7&k^3Cr0bXMC8@PASKOK(dWT`;lX!4?j}clyyxhl+eUBcg zBNhz%_Gg^*aGCENq(rlg66 zc+M+|`_kdwM+}zmG@oC51KUr;+xA3^undFp#X_S`7>2ZrfwiCT>PMZQYYPkD+9%SG z+Q&%Css1l9qsN*QhWtyO6M8)we7_KH%ljCwAX_E6lSz>Lh4_b!jMgs$Z5RCaFrW)o z%GK-07c{LbEK1Yrh&~yg<9#9X==yAETS78CU-bFKvi?Rusb!t(1H~nzrD7PaM)Nj# zLCRO+Lk7UquXr4v&=BRqwYGZ_SA`*O!z7^Ed`fa#SL}7kSdPu4-hC_fc?L)hV z!(3w;N3Z`5kBn&yJr^d8Dc*#tEoX#DzcBfC3bz+3)HEdwW}DDB+?d@np-s##hvFKu zOu>Kr6dIUPZ#p|vuASpeshYMAm07?8Sirp89a9=YAJ!ELFK&9)GDD=^-QZw1Or`fV zqd~MwU6}pDJgKg31=OAuXySG@@KBnNLcu zQ#jdzE+zCrEvQx=C!$M+-j0t&Lfi7xKWtbnp;(bA|I3a$Vx_d>6XhEi=|*9(Gz!II z$nrFYcAf|^Rx}NtgYCAWt>}jKU~5hNeGj%rC6}419pdZ%h(Z_CkWuKw8v40d5cwaI zn_OR-T&o)Jhc)d$KL&xB4GlNn6(r~;a3_R1Y35_8Os-yA$B?UEZi94h2$E*PQ&#l1 zAee7M|DZP~L5wZU81ogEp`T8dp7V7{fBz&)cUzW94dtu^l)lc`D*>hX`n3`ua!(?{ znkxY!_rxPFU9JT1&}odkJRA1e(F*(_fE`YrwlxIVQ@nZG8v5B&jrD+P zLT~5uwukj=CO(O@$7w$j0HF?O?jgy1>+b@#i)eXR<3N3AwE$`O&m2(S-c*%_|Fjjw zb1XE*6IG#(Beok^6~;Nz1b%4hNITK<{xWcGzKWVa6DLHR?XUL$ywKiXUSv4H3%6Uq zT_^M~m#fG%ubwllL<_3G=89;I8RT4{@BdE|1ZrJ)|Wmorn01dpa)Wa&IM_- zsVu3taK*x(e$sz6#sUH8=7tyfH2k1u46p4hYUN4B9uBzQ9R7Bt@$^b1>BOSk5IDb* zbYi1;p)1z#QxkClw1Yz`Rg&Yq;e}_ua=dCvENt|ZrzX94VW_B)V=Y5~;xn#MK`W^b z;P09E&=)>@#9+G3M-J9Qg>5o@V4@1eT@5Swpkj)2yym^P9Msz#3%k7K6m`V{-XqO& z#|a2T7>`PDhRop!$9h*$PLods#L9%|3W(LGqQnx@w4nlZRD{MORcoj^$hD%FCmz&^ zd5Q_ac}f)X#9?BdY9UPj*!4*qICmHBw;S8Z7M6l$o7Q z9FnDxW6j}(Mu^ML=dSRAxkip??TLl+>e3P85TIz;gyJ}(NC)t}iQq~CicvDSan!AuPzb+&uXGsuFPAf4v94015i!iNL z_$!S2ys4+X=9gB9cvG6+8vU%2#0wj8_dya5swDAkc_CXRr8binVpURVXL-R^)JUB! z=Zk=u4WNoIQa(v3MKz5BnqrP(sZ9AB>VNTr7CV7Q73yJK+)Au+9y~1GRv+T3P>uTxXFj3Yu1KQp z5qdvd1#R@jN-(hsZEjWxF`lUL2e>g#dsPLaqBZp>c$lGvR`tiICqWBcWDgvTvPJBwx-|*DHGk>bKed8!%9{gE6 zA+O&Hl~t()3ApYcLILv>-9moh=I1QI9;`%?3~j37b6)y{zQJ3e{1H?0Y8Vl$v@dL1 zjlLv!XRk>h&Gh^l{A)yjfHDz5Fx(A91G#4-*SU}&obeS{Fzgo75um6XOj-3@4eSWQ z#Yv5i6u2K0HuRa}|6>iR8t7^Nu$G++sDZ%#STJ<5mIL0@hBGzLuys~t+6UFdnsrvt zq9!h*U9DvMT^#6*1w;Gy9H1*-wp}gWt~|7;MH6VJ^01^9ZB7uO7V>hzvQ)WaYa{us zYEtI8*%`*x#%MZD)=Kiv*QO1^p4H%67#`f@$-g4;E6Rp*91FeXYLxsAqj^vM!=DAZ zEj6HN9jZ}JH&j1%!;r7Ah;Q8r?ZPgMjO6KqL6BF6da4r*NUH?W3H-NYYzk@E!O@tV z$kO2r%R1CoX~~gfMq{8eW~vR3>D~r`WiZuPUM#04M2D%yVBA_P4T6rr)JHXfSICAK zP8dDO6AxOlbiW5t_HD46tvoG{GBj@sN3j)NCw>-8eXX9E|7e`(Bpui(bHJr2fsQbT z@gcMozhe?Y-SKqgeF&{hQHO=bMbt%&+hJB1Qt$TtF%09|XILza%h#JgQW(vqU31`i7zXBpAub%r!TSv1w5lSg zDuvO=<3_X}h5Y&m#ynKkQe2#QY*dKDkx-AD%8qf^STRy*- z>=^`&M&Bl zx16b_!UzMxB@0Z#O7nSEmt%CRNcj(WxH(Imi!dOzE{89rvg6p2`%YB(1valmx;{pu z4&VFCiB~~LW8?(iHE@bWppuRNoVuBfkrTCq>%C5641e)Aq^+9J%8Fy26gs}7Zgz6K z<^Sqg`aiaoR6j5V-(?Owav zi(UH@`~A+$bG`Sv{(bkea-XR)XU>^(=FFLj%SPSmGG9Y4no*Y(aj7Zdm4vL!1PPgi zNu>}^jA(U130qUK4R-XsF1o=3FLDiLh4b&u_)*SVloQ*)M7d>N)HWC*IYFe0`SrCd zG$|Mex2EO6tca_hx!f!bIyvX=ZtlS7B zv(o1JU_Z9%)@RCJte}Jg43)|4f(wlTgI8PT>>%CUmA*h=r0jirkm4%c{|iJWoW}iKdC4B zi98U?8s|KNeMRYyfs$xK`qm9{!KulV!=h%2d%0fIls*rh(-AF~i^C7%s#*Q?;39HI+3YG#5IFWF%2`k7m zA#~S(b(jaQ!4W-YB^RZO54@&oA*_?3Gc5>VMe0_OS){L7_Pg|t29pbYYH^*PlfD?> zLKp66n<4cD(HC`O8wSP%Vn!;y>-I7gNV|L&LRcpqYumL#gDzw__X6Vx8UzoMpBN4GZ4`pr+!0Vq| zsI@-LSv992c|_;iBKoPkK|vz^J*%22LHjpnb=kdVjJD*e9RK-St!=s;s--E#c7`hEm9BV*1J;qLwU7 z_`8tm@G#vfH81(JVzt=*blL6f+UxGF^t9Mk7^K+6H}teM>%ulYp+;?3p=_=-^Z|Cs zI~vo5m9TB`M0V;x+8D(0dQ?V8ji=AsV5n(>pxIxI@uCe|#=6H)bXzu%9m-Ch+d`K5 zQ!yJX)P#zT@V_3O+E*Xey%Hij~9O6da8`I=dHl!Mv3+e*NSbcLywc3a8hhRoEY zEAwIrNbCxs#HBS|A(U@#k$pEdoproLDc#UPuWIzT8>{BF8lwg1t1p(0&L+hMhwyOM zu|_q*n3u2K`aRw45^a#}@L z_-a*zg|AjcU?-=KptKv|A?2!uPSmjvRy}Yas}EK^f-XtU$P6>T$}S_Ufj+E1+jx;0 z_XYP0(VV`pxbk0AJ>`2}^pxBGsGf59Gx_vGPucPh)$a#YAN~)`>Ics!)=2xY5O(Z> zDihitT`vBDS$!uU0=ho6KLBUGV4=Np{|W7V3L{L+q>WO03mqO=$KzL|& zp0Q|Fr$O*7#r%&(2Vj@}v_UMhbI&t+edBJL>$_h})hEsn4Pt?8*T2LEv%mr|8L}&w zHy&ekQ6HOxDQ=weFLfUbD}4BA$;~gInepVmvP|X#b?)#>1}!eg^RvLy7Gid7Fh-v& zD1?4y>LxyvX$ZRIkW&;pgn2kLKV_9Vl(r9HU0JSEO8=glf*IeDlWCQQvQvg^8OKGh zNDED9v6jkwHn?UxSXdXW^h;D>I4e9)X!(Zdx+}Uj4nVW{t#(%=uU7F>0hbB0qmIQl%cH#qA)_vySSNPrdY? zp=$0wa;RcqM``Xz)>60-Mq+}v=?FC%#j3KwM<{L-b7d`$(5g|)jfEev7=|#18pXD< z)^Rj@G~_uI3fyWKnvV#xJWo|2vpkPg5oUSrt0K(u+)hQ97-dfb$3UKQ()uwNzj8mP zc@XIAhhz_sy|*?_j0!vK>>(;M7L(l0hiKtg2P;`8S|vplU45$_(;$wt&iy=L^t1Fou5xnn@R6yxX+SFcCT~Q{^Ieo{61*!5c2So}tQJAR-K8Z4*f>~3?%b~D*0ur)Yel$Id2EL{Id8;n7OSsV0MA+t8sCdqoWY2msO_w$>m)HK#9XUHzuMP=GW2f5OWqZS*cL6+Di zCB{y8Zi*e*C`SZ&Cs{K@@cLH`^h9F?h!Wxa58P-Wch?f(GlH8i5hLd74LTXK>@`=^ zAg3-1e{Y~FN$AtVHc)gDYr-F0HqfFRaD=^1g4gxNdL<#%r(+#;(R!hJB8-GA^BOR5 ze)=3<=N-D9Vy3eWDDq@FtIZNGQR!qB=-u(EB%FDkRtf{C#XPM)O-p9p?hR8VW#sBi z3KTtPjd_|3p1-Pw!n~=n;cA+u&42{lTqnD@iRxdok>3m!R;nkWrI$c5|0m6&`g$Mz=Fl!vsmG*_b~~Pa#4)l&w^asTrF#G2v^<9`a;Hi zNL1ru7(p)XB4{2Lm#n7t#O7ir>jz?ku)nPLYz&Lv&eHzb7#AJS{Sb@H^79vB@nWSC zi_0r@e!kfHAF;T;S&7B6mDF|)CZX8&ItO#0hbt)mT-Jugte~NDAten~=;Hk=DZwGJ zxsZ~;6&6zRemP~G$JVh;3ABA4HY_ASty&G5V-R5>CMskhCMv=_Xf{+4=0P(+MVL1% z6ju@E4GTDFAgZv~uwbiV%o`RyoHX}2xnbe4iZE|jxTGS?8y0YwK|nQcSlFy0%o`S# zsEA)}SZJ^Sa|(A#SpZr0K53x-xghJ`m&hJ1mxr32RI+|+33)GMu`F~6r7mRk`QOJ4 zl=Cb^23r>V*sjG&%sVcE!(}|SLW%)?I89yzhf9maw0aQ+c-%C-2+oiLDO4>5lkjdS z#mtRLEXFskuv-kvJ$w<}TMvtSlZb;7TnuYq;}OcS zgf%cMCGVwxGeBc@G;9fT3KLg=_Q7*4>N<~X!WLZt zq92^2a$&1NAr>=7RhhUF8Q}U{i4JpqzacsDN?7aRSPWlBl4BQ5Q?Z-tz_DP-F%c&h!;c~E$FlD8#pdLY2$*+6Z3BkV1Qmt@bgTQ{A%@zD=BLWj=DZ)(`fd;e8ggYZ5 z&hDXCYtYvY(#Ewck788wwP;Zcby51{K+oEkL?QO+4W@A2H7{NrlP>&^u6j1P zt>m-Fc7M8RYNhoEte7q;aizfs@ZviSRIDI6-_G?|ii5L!J*4Sg(hp`8<=uA}=%vUp zegl}=I>~}v2R2}5Nl~QtEd&Y6lqC7}WAj3V72sDx$*&)q7rYUtkB67H8)y&8<=T>H zUGCv>#j&Z0795M-2+Ug~s%9J(0hdHc#aWy1eQTN^VkNe0nwfq>k-&Y@3{;{Bkl(!t z$h#u>hirWo1@BM&K|fon^cR@6f`T@KTN_=lnP>naSU;IXTtA0|JaqRjtUmvnpqS>p z85wpbm@Dmo2yw<{GkSJ8#Q&)6fyntO-l8_oEr{70Pk~!l72j@O#32H?g)Bth%CP^i z!E!6Z;unH);bPw1a*Khg6=R+S%g2Lq!pU|6H>jA(d7_-|C(nb7$Gd|cvoVwl0JaSGvE=Lo&qak>+ff^KNp6*2iEPW5dC@4$} zH>NEOyH3!%t*mjDU9p&J>3bU5ZNow+HZN^sK?Sp6h(~twW`^tAO-7X5%;5T$L2hPn z{}?0dC@(w;js7y#A%o*!P79C1!5Br$CTXmw!(`+KVAGa_o@tZQ#5RV$(YpCOdj-tr zpDd^*NVF*9OMA9s8^h!&%1#j57!3Ythjy@c26hK_!Y($PC9EUA-K;uGm?%ale-=7X z;jn)<`b6G|7LuXu0ducKiC&VMD(`{LOo>vX+DMTS79|Tx<9Dlw@QJc0{6@q)pFp|x zido$Rz1&_=Zh}QQ5#ckzvYd!{9!a_OiCJAFb=imQ2sk*q4<@_=b=lAI$OTQi{mhNi zDgzD3hatQAepZ0ZkFWqUc0a2aP;Zqm;UePjzr43E!t^|aFE-uCK38|D!3K+3(FU=H zU>l3da1xscW*c$FVm~$!7{?=@aw<29H`t`xz#S@*&#k1=2bfpk^&(yL-M-qqu``YTz31gUrp#898ANLey|r2yZJzebw(&@i_!TxcE3_ zW6!`!AZCcS$EJB5Vhs&EaSX0T_Gj+dHVRjsn0-!(COV7_!Tw`(Gh24UpEe%2BT<>z zwtoY9bp*}RPh6vLn8jd+z?8q)Aa-a8eg0dmlN`amgGgKe@@=^xpM5xpnk8=K`D;j8!&9t=fejo?38$H>ee=QG2ItEPAr0%C zr{N#vvZI>X#N9}hG^t$G$vvkWpp6*oa0ADC9*EbD5p?LI)w2gq=i z<+Tq+NQYf5ZT~q|(SX_Uhx5SoQhzFTfw_8a?{9+I_X40^Lr~!=pw8=`*6jkrTT@uH z`iJ?}c-mJ0R~t#LuKKS#@dVNpKU-e}uxALGfu;7P(2Lke5;m2tUc@Gge#ur7kNHNt z%PW);j_(W*ntm(|xWwv++59D#SXq+|wAJ0$w@E{HMl$)51G>A8d zZ5K|(!gPr}H$o2F603_x6;|K6&AJ7}|5rDKO3zyWHLM#&--76S)6HA(O5Es51#d%f z#doDaw^=YwLhZWEs=NOKMGJE2OJd6tP0WrkrpFkPb3F2NJK9B3K{{$(V`Xl*9b~W} zh2DXaIkAgspYYGc+<~LM6^a0;iRvS0>mAmNz3)s}?=n}%E1j)UGY(V5yI2G}*jchU zIq-27Hmoy6-^FIY>@@ry8;u-=;Z%EW z^Q^n+x~?;`$nOPs-0mTKFO!gjx?wR%;42PL^h4%f${*42y?BNDtog6y;BH-}I=y-b z4}({G(d7K>Vmm7Si0#Jlu_uqv+zu0dZtk;vrsjS{bEiECC{1l8QvZOqNB zH9_@?Gi}KC3A)9EHmbe!1m)^b+7tL)-n6FdM!0|0wx(uA*2tlKYs>a_oUYn?(g<$m zMUq8(E7Aue3utnpm079%s>N%NZc*yw9@!>vLk^Jf?M(yZvUI4t)K-cRU0TtCbhd*n zokp#nLfO3-`-2ifp7E|aA^;W2uCrilKYINX@|-x9NIt%V{+-sfQcvF23qIha4VImJB(^KlO1ITjIaHzThX=qO3esNV}{#*9&P zhcPGCo+`AzGBzdSCH(r zAldMrNrngu=pfl^L9*dg`i&sjaGhjLEJ!w7Cm9T;H-cnMbdtRlBx_6+-wKj7rnt9? zWN!t@8j;sKL9#~F@0}po5IXWskPOG_%p`j+NT%>Hk!-XD$%g18YiL2TA=V^={Q*(V9F)J+ zNOBVq7Ue;>|FJ(<%s{H}0fb8!NCQ8hul1>CCfvS(O3&cQ$Pb{!*I+VaAnSo(s+Pf; z<>(s>^kBXYnfLAcv(?F7!(1pW10q=jXFoy0D|M;pM-+>#OG7@g{@B*};3K@sIIH>z z-jqRg%u06UC+6vzS)r%X@ha#9-!g`29H*yypO|;OPk5sXJx^?=GB)mSBBKnBM_F~b zlfENp;Q*N~e2oAwzyjEoeuiX+JuZ#Z8TaW5rrbsJxSt883_1yz`^AM(|6Rdphhi3_ z97CHvv%1)V`tdXL%adAGiMCYu3r79hwbZCD&yY{AMSZ`pr|c+r^;Phy_s_gSghd75 z)mOo*-c;e6;8ky(S2Zno)%yppz6o9hk>R`GRS;GCE_fBB^J<2fSKk${z6)Lj&MeBo zs=%2;cproN%)7jU*t%-q*t%N7%&2A98s}=KaMKxe15`6H3i}rf+`Hb_>SjiT_B0Vy zGHL?KS}|&IFH1%Zwg8sa!;(=m6->#Q^d2UdGMHb${684g5ydR%IG)xsUe`7YV#Uxl z>kEvur`4>oWTOI{7i0ITS+HwnHR{Fr3rrPTX?%qDi*8ojns2;`2vv(TS-~xhLnU>i z!28(PR67&*)N2;f-CI?L1)x|@ajutHT71>9|6re3W~MQnKrYnnvIZ29oKWAVni zu3Yq+I~y!As9QvP+wnr;q76G9z{_?rP-q&qQ#w?VsErY_8`epo_OhZx4R(i&ZbBYe zc>r5lk=kYD9*$AgsSg)YY*y~ZCRfz?62YZ&A}g+^*v-2wAAboc3=J}|ssZ7-zD3iIIsf>65^H^D` zn1g?1$Ni{6PL4elev*m~;TfsILbAS-bvzRFJry|tDFs1QyMWZyFKvEKG=R17rR5I1 zgz(`zp!%G?rb2lfQOFlTbD_6o$lj5UV*8RP+K~_U-P7_150si)hX}!IHC0%sLMEg2 zRT7oS1(q~zX`s7yn5!n_;x4=;Lb!q)mz6-vLz)gW(Y&_pg^yZYCx4U zgpGN)BM(4{lS2)rhiqI*>Ro?-pn0Njc$z}-WeIY~%j>fxB@|-A^8#d#5;Qw6Z-!&$ z&-3!y>|}8&myb7MV~W#+d_0)F4W(20cr~{}%_X_?slv?GCOsBmycSA@ow%1~g5GrP~IkO`AT)9AYk*gc`K&h8HR!S2Zj zNp^=7F|&JnV@1oFMJ(8TF+T`tS42_O!4-kig~`tq>`p4I*gZ)^wk~XD_W?xkn+K80Jql_pr#%?*ieAxdGP9P?;2V%`|l7lv+e3DW9)wN>fe4`s81S@riMm5^#&FioubtuD|`|}fZl+z=}Di4XGRPbNwD6UQRpb-Ul zh`3Ox01xDwYeVD4VLN+)g1m_P#9#?m4%PFGEkOe{RL?igMLzM$tNRFd3A2{a%%^J0 z?C3)>2zyT&r$NYKfgSE3D9G!Ue(EN*pB5gxLAZddA5c1tM2jL*n^RyRj43$wDK_+z zbbX9)qsfK%Ms{gBRW1ywWdGwQs(h(wMV0Jyt}uqxjWyMewtc@SK^iMFxIr*7<%s)K?nWp0#9ErgglC3w1tgR6oXDw5S1*+y_~wZ0E`%B zM-(*=v!|jYJco)%v}jWnx?GgkWp|v((+8U1ptDtKauhZ2L5p`ds}{>qw4XC2`S9h~ z*jcFfz7a9I%YiHwjVMFk{2)MSIg}ChO97gT zM2jN32GiiO=uSyFRwrXw*Rnux zub$XiC1QeA8U5nLS-j11^*_au4 zT9u2ZRez$U8zKZY%CO3zLgu|NUrWhk^IjPFv?{FNVf4Wt;s7NRAe2lgv7ON?XO~Q} z`SL=Jt)&d|u@Y7zlNu>;YdkLM4*=CO<7I5&hs|9TffJfqFK;3OQ#CaLM~grU%{&4h z77^D<(4(p_bI#%|vL9=&b*mv|78elp{f|-AxT7JQW>(|gPIWji5^C>-laz6Z+Q0!y zkX&^*|EtCevHLi%DUhmEoqO7?U?4C`b)-(!dE=rvVYgs@E(>q|6DwLX#b(K-aq=jd zDPiZI3Thsvu`Us!+S|8ynAA#l7IQ3T^ zHkM)imdO|!K^1u<9+zk&jeuI-h*aUi3qt34^No^PVvgv8 zmq!glDYzzY<2Jg8XhJxepxpg&cA~XI#7K@Kz%{vd6_0N^=)$=rZ&cmcFN#-gnqt}v zTD}(x%ys(89*k$7Wa%e`$>|U7Rr&9)D6VI5L1q8fEPDa+K|ZiQT0--nKmXvp#A|tf z@D^-pA@Z%o8w5pSeP8sJm3c zUexBz*z-^1_$SY8w@%sKDWB3h*5Pvv>@cHGb$J)IID^zat; zO=D}PA#7_b7_KLbqNTySq~KdHW^@i2OrHkksfQVzAA)K|CoU~}_kpt210(-!gUBI`l22Hs-4_aJFi~N91|oY^68h7jf2o z0w0_3LVS_4A=!IqKI#?A?Wtx6FU)7Y1}4H5n;3##?Lx~!c*E@N!FKcmO?Wo2_#48# zYu|n)c`ohVvZw_80dlX_2QR4XCeyiGNztLC`I=E&?;QX%-$|Lfc}FQwGQ$~YJFz5) z<*`uiU8I&s5t&=*N1! zq?t`IT>tq}_A1+lYM~r=2{+}t*~pnRyBQxIn3~6mUh&5Hh%k>cQ&q@3&Wu$Nn1V{# z@t`Knc~$P0#~|+!UDllY8H&>7=DZ=h{)`H>;B|6Ne})6kQM!_xl$%DjfSafrBGEhv zBP}bL>iTp6MIT`Lw1O2G;Yj0J!LaU_uG2P?qOGiaWP3$S*cGi{b38GU z<1kcPwlz8fp2utr3$=?;)F;o)yRdQ&^gI#wk~kW5VBsGmqa-lEY6HqYenQS|(4f>O z6xxPYW8d1U@uu|?TG58rBO|ju`{~Csk^$UHbO{Cyvy{tLJWee z`CVGm88aM#SKMLry$=8l?g9s1zdMxF1yc~5NkLE?P3^+nU5nfi zdhw^bb_bv-w{DYnS3XHRBC@KhXi6s0l>Aho8#Kz&TZ{&7M8gJmLw&t(sXn|x1WMmh zefSvyhPU)449)Tqw__CwL+TD3c@(2*=P_!WM5}e>u|L6-FFJT%&}i399V7pZbNpx zc#WJFq4{EJM<}*Exv$ukME80LArTw)CiO!5T3=Ck9zZ}`G0_X2pu3lKL9W;vIaXd) z6c{7|eJ<0@elR%Jia=SJB1O)Yo*>5XKYG&#;Pdyv(6i@~kOhB3q=?HyiG6rcF&XK@ zD+^lnK|SX#>IAIQ7trXUg-VzpV%lA#rF}umoHE6gvi3vdKmRCp)j@#MKRTx4MN-Fq z6sEfnfH&txKj_``3zWA%Y{f+vs8fGlg@s+9x&66+Ri6uT5OWA$_1AxW64{VwF{pjH zY#P+c|A|4(ogDrIQ_i2KQh#Dd3!p21@)5cEW#BqHtc~M8JuI(CD2 z{w&wdKv}QMB9CWP8w6u}-WdzpjT;17bUH(e20^sl5LtLqsm9SFvg=7zH#&tar6ESF1P(>{7bk?y^yiyS=v|}xFk~Nbf+i2+ zU3nhF9#{w|X2TJC{TGMo=)myeOp2#8$7F<~HAVs($Hycb3w zZ?GBv}(6QTd8!@^gIYi`~@rtsJ<^I*SACi3*Co?zyx6jT) z;*UPN${2sl)Mr<5XujzDP9Phzqrc<%;JlHPo z0II-q^9l56B6lYm&%K>%Ar4l6#B_GWA4vD3bK`lS=kxs%DZIb-3#88Or!o;xX!rI@ zvQcNO#ju(CsaFJFz^=_A+ei=%`&}b>Pj=}srALBjC->6kDHweo)9mrw%VpwTbM40R zKWg7ofs!Vufp-G9g?*G0xI6RSYf;aoJya};FEC`KqfvZ>VJrns#AH7&t(wT|*=5_U z8X8BV#&dVW16i5#;a%p+Dwq3FS#}DU!~;G0A{BPhz6C{ZI@N!5wu@W zdD?dRGa6K0yxm+kYq6bHM}x}aiGpMJ@Z4W-Tj{6y#^<-`LJS{=M^!>&flk+LG(VOX z1UL4_VkYXkO`;lUgP56wAy3-ySHFfH7o@RdH^rdw!TJm1OEiNX{3@G`fq|Ag-;M3_w8 zMB`o+5+*NR65e>7a!losLjI;=Nfg%eR4Ax#*Je#a54yQYVkKs@#{IscDe`lsA61!# zrj((n(@+N2J4^#NFprpqmfYSb%g9;bU-07S6T~THs8S-z_)&Z!%D{$BL>cIaM99hA z4YG`lsArj+T*%LnR6dEf5bvWTp$INENdjux6>>Yz^LwacbobZGk{87Udlu#*3F?XE zK2&x(4`*H1)BNdJRKValod>aU>lM{-q>@uI|Bi+`&A=d3>f%pC!%d_!_;^15 z9~(KLsxp)NvFU3ir&+&$=s+y@a&E9z)-L%gCNVmz^U(2`n3ONPKwh&TmNW3mBv{S< zyg>WnP^!@ySxPcERF;yTMd;`(7{ZTMlM8{>$5vBC0;|ugwqW&y)ij2{>VdPV@@#a? z?B{;M`pa25I2&CP8$jlumknB}5N?Ercm={GR$3qoU-J)y)8~ND*bO%qg@&w9_%=DC z@GXU>*GyBjP+3UF_sLuyV*B@UC12!8m>R5FPA%sF>-Ebmu?-bc;TYZXvm9!Lo zg?*e&+ZSWRNH{`%OZY$-=}VWODtLjH2ruvg@?Q!OAH0C#@GGpZrRWCd=ToU=h>n;~ zDRmwlG{E>p&frbEj-q z3t}UCW8sU#RYc3VcaHWdPgRlUTtQmDoabY+3(=9~+~4!dT**p9`1Y+BC2LzRr{0;1 zXBnX?-^{h(?DDzPW(7ZuTZW3R#6aPmma-B~AijE^4F%n2xLa~Hq-GIOr`0?kpMu!2 z*mYU7J4rl+NoP#=65I0a;~b+78ZdmuIOsbhH+jQFDPDcNx|-+5K=f`kujYAbmPF9& zmk4f{MNQTK!2@^~5nd*WSOX~^I*Ve~@I9>E91315M(y2nU@Z^gJ9pbqk{y=tT-Raa z$i^8=y=c;79W0jNGib^>Z~}(aI#4%#mmFq_9!-{5%fY;z2e7VfA7>kN0LKaJW8l=2 z@da^9uy_}nB_z|pRLny{lPNV78VCzTsTkwx;L${Zn;gwQO($(VpU&dv(CqcVEp-Pu zZUAn*cj&nF*#O)+h^5&A7R`{TjCiZVERs zPNA$=iP?zO-kV15n?SaA(=1S1IW4W#Cit$|jH%T7FRVY*rEP!ll2!9h)q99fny{m+ zPx5|EFuCD;Hp6i8Kwk64in|GE9-A?P<8$Mf+D9^aD|Zg)6(<3*@LvIJh(xu$)E;5g*yNn_7IPS(Q|GO=p?x*EOKxS1j1*-O5^e%hV>L?L$4d$GZXfW#fyaH^ zKX2EZ2JwzoAwfw!--eu2W9Kt$t!KB(H4X0Qpm9JI_kTolHWe=YF8Z*0&+z`PhgsqY^PI=s-4?@Yn&_Bq7a0$)RgWNmYo3T2$-~q$fiaEF#tz#$+SDKqHs z-Y=rqLqODHtOEG?5D;CmjNA@`xGBr1%yXV!zr1qX7#;AXIE80xLtMUaDtsS}Qeee#@*_Mj z$2^38v_A*^d4yMFtwzzxBYX+lJdzq5#fUy@B!wU4<5}&IO5%;m>GyF&TBc*LmZ1-) z9OomN?OFJf#IHkyS>hL}kXhmrRD@aL$EXOi#KR|h0+X{6H2nmG8K%n#K7_3ss<__o zB)H>C2`8bxF`}GAYjX|NTia_QbveUbou1=;ny5X(LbK?oSLRdEQ_zE3k%%5DFH;#w zxc#UUA3fiOiuJ=L?KVSb`6*r{U?G#8w5sZ)GV3!$VVH|!QTq)TtYZvlA{K;XS`BXM zxR2(M%W2Se>0pVH>bUu+=V|n>z`?2o*G{859G**`PGfL9HkT@%;a=HR4AR^1HBz?0 zE&>svBaEO)XV4KU%5=RWte!!a&Y&awGf;JeI%h$XR@CDxdMtGMSodc|MXMtQuA`LhK6;RLC zNY#oAntheKxf=n&%3MPK!HDLIE@tdY=dXhPmwO5%+_D}U@Kr8{ZJb7pukqSBdiAs* zM@d?I4YoSY)m?*|^zKyhxQ;Ay@PG?+nL@Zd4ZIF;6?;ftn7(0(O?OKhvKYM5Zr$W|26kZ{8E^4Xx!T5Bsgv2p zdNkxVT6$;)&AW|-mWMHP{WfNl*Sk=mJG>nm+l3wpcDM0M6jYL!R&a8Ckn9}FR3H-yASm{q$9=N=RSN?M<$(T^vp;S z4*)wn!OrN5kyQK%42Zwl=#*|l&7Z&&oz#X#KEXaH48l*uG`}?+cm&BVZ-l;C-I`h$ zc{efDHKOyrY();~klqf|Ih_ZUZ#Q0WH5gV!T!Q>7xhlVOu2yL!E`$~0q|ZaJDxJ=~ zb7z+E!f4Us{~bqmPq}ZdLoF3@re|f(7?Ka1&CM3Jq|Q&_q`|wgPoc3OXHU6zu7@r3 zmOSeX=EvZ%!ep-(dDz|-6!?r+u$_YB^g5c2B*BblSh=c)7z(N#&(nh?7$3%DyGT!jv zxf%_#l8E`nsucN_*Wh1<%89ubJ$TED^0#6w~oSj3mXx4-oG*2nCja^I<s|fL-4rTeo7qRvWXw@gojTiJI@6VVUx9z9Tjd7oSLDmsA z0cOBCYD?6m`y%9?4UJC&Ni+4M)nayBi(J3Jua$aF)lRjj=NHV5+tpIzAIaJ=*ZKnA zMo29=ve~9UCZMEoQ0ohv=pz@>?5~&`r}nnu2KHefLf6rluT51Uv!y&%MVKw+zAD0O zDYsJ*=DBfw6=9wmS5XmJa6>Rn{f6bxhrQ_fHyEDAUX<@UbjXn)*>-24WQx-t-+8G* z@x26_)`=lh{goY8hV?CLy@P1RcOKwS3Wd>tEc(N!{prqkcp#(0F*2-R`DQlK3i`%} z3t%a7JeGf@=9XV3V1W_?`6A@)J2O+XlH4~O7RMDF)}8rEtLkvRhN%{rrvTxlh8EZ~ zkz~*UFcmm$(7bcxKpx1Bm?0ad-=QxCtt7kHgNifFi~Uud8Zs@waj1F~2H47Mm+#PQ zrZs2hy39E5T-Wq8`Y_hE<|yJ78Z0xfS*jX75YN{C{Pqeukk%`k_6KJnWodm55FK-h9Ga)+cR!OOtx(QdHb$?qmX5Uhe&m)@ zi)CvT(yE*qv_)(3cF>?LTAQ?mgXYIWe02qR#6k1K9iERJw5sfSE2`tCc@^1SM$$p* zka*DHCx@<#Z+=Q0XP;O@+RE<_T3xt}Gw~Iiii3uSWflyHsLM{p+7lBY? z9ibv-gm&YR_+RmC;yE3mA{3EdA(USslwTlJ#1f&xl-m_N>%WLrxeA^&ByTr?Q9~0( zZUUo1CXCz^Ms5P51`?y}+Y6d8a-&dp&51o+t0Pd5BHR@M?g{~Sfj~h^1PV}Y4U+a>=Tk~?b;R%d|aK9~OV-sC_3f)_T+e_5EFnen?_`5nbc$~=73(wUFozY&5IggG>ouS1xngTOWM&a_o0-7t^cAV~YLEnt< zpm7DXIv$l#O3pZqJN~*FzwC>QaF&c9C2S%dkTPLzFrg^XnPE@iOFnZ`@fzfOy>QPKfWFaY(QA`o3 zxIn4838mr!B|LngP%0r%%1f0>2$ZVnDCISywEMuXQJQ%02TG#o+dO1nQV=N*6)P!- zl*a<4d3n;hmDG;HCytFIL2pPMUo?aqsHd;iL@bi}LJt1TNp^lfZhIxw zu30(F?fSI)*X=sEM@eVZ%$-WA@K(zA3K053St+0* z;#Xv)))m2t?KpLV?rOJ8nXrAcrcJM?)iH=&_La1j?6fWURn{u7S+*2j8La7UOLHn~ zt{%a*Cf3}n4A%5QP_af_LREq;RMwWUmnk%&3iRUX()6YZ^kQsjoiz>o!J3H7dedk5 zLoZ^n%^ywtUna5*(3-I2nW#+wSQB1Ku*SP^CNpQAZuvE5{@SW~9JULJlIJukT@~%z ztWkriXy@OW1#3oXG^whV1hI6g2C>9OkZR~UPmAmLJ*x)%?lK*}iq*lIm5f?d2VyN5 zt-`N(WS~0q__1QD>#Q)C5p4U{uMsS;S#_Ph2AW<2T?dwI4RjrG#spobu)zYqYc^Ck z5M8I;V%i=E3MLdKzaXtPI_~fw=y5Ds1!O`}?P}Tr#~WoH~?1}OBhTJK-=2r9S!jqndT~X%hb|VvzW!S zsdv*`PrylxFr92|)SYYCtXfCI2_ub0Hr7h9%Wr8_V{M1;vl%)i zfcpEG+8H>55*q$6y#f4~8BLAVB%SQzYG*_pwg<*9-lQcp(Q+C}RSf~3v%E1t3q&2x zgOro6O^rx|H_E0K(m!DQ7vCXir$e+thEnmND6{RADkIuI3g4>XBHIikn~J1_rg=2g zoD8MTHAR_0FI5>gl&OesbD671HkEnUl)5(4V%WV9deKZPi2Xs1&9#js+cyV<$Ilf6 zaV_2&e48PJA=w0B0KI6g^)2~clxVD%a6pM%dI<*`f#(+_zem$FeB08b7FwUu@hwmy z?U|}Wlo*X~QHO(#q{a-Siz4vt+N87~kCs|l%x^L` zp)Jh1o=eiUqdJ~>Vh7ZBn(lVc@{gbJzyv!Ra>gUY1i4+uS~gepTAJefl>Xfa-}~_m zkD*OXe9zEpsfuq=yWm(Qe2dAN$Ws#EA$p!7_!ho9k;fa~mGkJC@*!ZaX9Bt%wO(xI z63XbPy$nw51Z)r7`adk%(8MNvJ1$m^QPK`CT!n+rNZ@ zJ8P{CH)(Nat*~Jm9qp`*b*lX6XNebm7@DICG^~M!chP1TBGc@ z)Uco4D^dOk`6P zX{PEo%P>f^hR9$$+N^wbLGYTToiO&I=-!oR=pZ&nZbUr+5+na<&;|It-hf7Idf zsC*RyqH;kTp=QF7A?yHx~AWJ7^E>@2!=|(XX^v60ldGBIs*x?NE;S zrSv#kV7P(K^wBB=#9Y+1i(YH5OD3$;;1!A?Rg7aX*gFLbuiv#1LoLb&UZVAXYc7VR zWE`gXQA}U0zU^uNL#q!_wgXx*|9^ghtP<70h+*+($aj7~zDU(?O31DIX}jQ}%hO-$ z6yS2f8r(;Ol|=p$(cZUB;Lcs3Gp?BgqR0AcyV%F`I3=QW^k03>8eYu#-@^NJ(*&GmC5p^#;e7L8eC;vlUAKY$gi zy#ZcyySL_;qaR!wmdqLicFv{b!P*}=9)llIhi&mcXbzKLu=YJ*^-1e$Vov=Y^(#M6 zKSke8fU-L3y@qP_@su_#>aBShR?_96TCp4*;M4el$^gnfOq-nR<8kZyuAQLe!|;~* z#uGGknF-uzHqu){VjqszFmDdI0?!F7CW&Lfz{)RqqGA zdUY9%7@@^v9SuODtDQPUH~MNmj%~1PhK~6|da6*ZkGyWWsJ7b_TNJa9rEn2HFsQn z&>Ch8y&sEyfES<81{cF}syq&Eg-vv7oYu;}*8%Iy^-%aX2<$vp4Hu>(S{s|Jp@JMZR_Bnu~hzuDcuXS1>|Ghs! zRyqDJp+0fq2jqP;?x2D^3F>0b1g)3tC;$`SsqJjdi;72S^#WY>Si}E_@NbCG`?v}I zxjnQ#3VpJtH(e3GrM)RAS<3^@{d2rw>oQR*Y4|{OCThiV##i|I9pcnmOThfVxR=I@ z$Yy$^Ljo*j<0RUSNJCqZ=0aa4YI#^mFFXpR6=$zKCEUCMZjs$4*H3k)MD z(`2n+Lg>dwO^s9rmizLrq^a9~91hf|+UF-iLVB}V7@NKsJ7W|0=Ch)%7l;&PR;c?nRcG+HODy%TZYby(f z#beODvPIfQ(m011B!=3)h<}fvR>SuQ`Zr#y?$~CtH3m=)36MvJEp$5#4DK1HRieEK zS~$$KqEod}_CCmO>i6UuucZ{3F%^}q{OdoJ%}2bcvQ<;5$TY2Az{ic&wO!lv+xFJq zV`}flO=_HYGEG~+GB#4?$yx`;)f=p#L6;;7U9wTB@|9FMN&6ccW4|R~nWq{BPS={{ z`j~26=GuB%J{=z3&|H)_0~UIbT(oP3Rv>c%Hh>vlP+&58TS01@tTi;OqO{4-l-H8A zK4O|W0}hMzG;Ic?A&Pe5hqZQ~#{xzv2XdSVLDL+_f2LN#aD{rz1YQes3i)uhySP?0 z+LrFE(aQO+u|_CHPnDD8|JnkdwwXxMc`Y80)C#BlF$;4*c6B9%llFl5ttR(@T45SA zTbsh7R?+9VT4gFXM+?OJIYZ`XWeTOQu&(d;N^2HiN^VO>=V%Yv`4yBp7wwLsPjj`A z%nnZ{&CyC1N?-O9faU)IP??U-({8Zq%V^nrENw2JyYscdj#ZXg7j&Vp1zKH}ltoZJ zFCAQ<6yeea)d#{B znEJq`Kee&}Rpwjc~SWv#pwQjjS&b0=2Z5}OO zj@mcQBabBHUajmimlZHfUFJzl4$-{pFihwCR1koEqweajFyXOru2Rf^yh0mo>!Ql( zKxh916qWoA=<**x=P11lpexavv(F*F`lg}F9cp4Xl3miwzw1(FP@P7mE#9|XX-&s=e z8rCQl%~^|u>S^?HEe4BvGpu12Lmj_?IXA@w(`Kepp0rMjW*ufo4E^nrt)ZnO{2OR( z7nz{JTus%gun}u0BNfXOEpYk8b8UCj28?l@|XPPz0k)&;c6&pgO#Lp9Ixe1DRH$~#dY2fT{!j8$gZ9lHk zDl861!g8rSP*@G&YuK@n2eQ7Mul#YqX+HHB5OGoJI+A=e(+6?-Kz4=0hiJDWs zxd|4u)}5?Z!K}^N2HQ*VGVPGC#RI8Kf6bmgZ_!!@REe`Du8Yd|f7!0FWa8KBI4Zpd z8fC5ES4FzLRhyF43BVMyY0-79uw#rh>}#>Ke49{4v1*d=WE*;A_E=iH6N6#2b>8DB z`e@Zmf-FcEy>+6)x=(QW|*)x&e>;udwYnUTZ$8TUhoo0d=GEph? zbrie@D5ge{;Q+u*um;x);C}<|I*$A(H5nMCRJo2~%wC|lU;;TF1k6Zlm~BwUZ(yEC zFv0Ylpw#&~3f~756C%m`5Wq!PgR2MdzX7*1-UQAoQfcyaG-5x%jg26`!vHtl8eA2C z{|&e`aVBsM5lWG#>b{TzXmP*s6!bS>juv;!!Nur6|K4^Hj@69{!8U)!8L?m`%->X3)iJ(Dj zwYRjPR7$KxLTHhMw3bn8TC}v5AY8j3NKmyFtrji%zG8`%Hn!&fJLkR;>Gyq}=bz^} zncti_Gjrz5%(-*t&b_b82OTFLG?{&n$HbC_<;u()SRj3p?qN2|f*dIOVj_E())Pt! z??&d=G`>z!QO)@M1@=L%*0ef-*4&%GKFDKy$uc*{3n!pJ;so8pY?i(!p#XkFi9Af} z_>#h3AoFV!u+1n^Aa1GY@$7><#+57%w^XN4_mFtq!)$SRnD3$O{&Bj8 z8Cx>PWR&n41@25QQXqPq?qRmbh|^GD(^%cZd{nZy5h(sO#r-s`sJM`^x`%P8IQIvA zKkEnMyLb#9ea851n=4~V7QH*}wMEyNT2ypeobG70NXuE{YTHGWqpO77=gRW*S=?QY zmLBJfgKbQWt54^2&(b%+Xo$EDIAH+uc>*@xT2cH9MdESw)Mzxx>rrMbgO7B~VG zyhin(a8TTJ0UWM-udRBA%)M%SNBwM=+tx;CCkKk{*A`-Aohc@=I=20_XG81+kldybCLBm)j!2K za(ze)8K^tJZL;M}v}XSR_NN~GOBRRwoLi_ldVucUw&~+%@-67PslVu7zDJm{2#^r*x%gc9R@yap!TBk?J@~-rJZF!vs7nPUMQ};lby2UHpN0UqS z)Ni}Gmn<_Eb-YH$)`N=5Oz)vPpnvY8PhND_XLoeT!gizZ*A!M~U{PUd-E{|)DJ}VE z@4aZ*=&rFxn+F)>d)u=vMPR;2FH zcIe~LT43x=59tbw@0QICFIgs5zy+{DVuWE~)lOAql_$o2bsu9Re`N1i2v;Nb~QASGQl#Ji)c?vBV#B{jwJ>#4C{or4>p+)!P)BX?Li>_GJc zV&(28huzgrlYK2OJvG+G5iY|sqnG-}4(a<0>%J$E^5`>Tgkg&;{TxpjhReRsjX`Q~ zh)j5n5#cSrd5+^V`_zS^Wi0ro(bCu%+Q9r@X+~OJ6Bp7-!M5_kZ!`2wqzM z*I22%S4Svia16ry!MQwoN(bqGjc-(X%ok919Ex)t669lW^i&;B*8at#gORd)p>g|L zJKNJItzCIHAVU4@PKWvar=@Io-c-U;b3;m6YDD|R7e)2OEk$zK+&4=mZCHFkL>O?G zz#tw~{kR<`CQY*_@dHs}w8N^84t&2L+L4M+M2W_gE20EC(3jlnd2$DjXh&xjvE+3_ zd)vtbi1?pGIkE3i*W1mXMtN2hUWO?AMxtnCSRt#q30y|yG&kW} z{*O0aHdTL`IccX{?)nYQd*qQ);(_6W++JENvNmh1D`#1lzRp{{zf;DR5yK4W z^7}IA(*d%qhZv;3SRz025MAIe4tR(<)0K^uGklFUyL?Wp_6yIRLN}2HWnvl-baCfUH(dv@!YzW7vjFF?y>J z8r~CySF0<(Du?NTVOUNyd-Hvi^Z(&k>zAw*jgWw~J!JPpdeL)le44;pv{e5nB`}@# zNz^H|H|XUBAS1}N|5Zug8y3>rPc+5Lh*5qbM*SsFe(5Ln;IlOYDr1(_mWwKj>9 z^?EJJ!c&d#j!_j+7w6UAts*)YKXpUbeAm)cQ68xx2IGWC^{Qe>khL23qpsCmM5wPU z`T=m)j2f~_uCFSFsY|QM(*7`cbTwJUAcAC1f3ej*$-k(fr{sca!rMO4R5b4Ju(O)z zqdu-G=T;MbcAu9C-{a??;MT^-(gFCDlEhtFtpK4KJUd|Td)MB8Fy#m?b2J@yg8 zs-_6^&u5k;X_~JRAClb5w}+$KD?;Zg%eys2jk4eBQoKB(mZKMIi4b#bUv8rGSa0%? zGissodp`2ZTEfe63@Owe`RfRyul%u=80cF&j)ZZR{`v6`cWRn`X~MXwEhbcb1{1(q zbHiv6gmqfdw0vc}nwP+){1qQst}W`Q=RTC~bwn@x81p-I#K`hlUYrLf_2>4YY|)O* z@>(4+kq!XW6`!iVR*={0iU7kN=~fR@dbq4r4-;#N46i3v+m?71ji818<-9aeUyL>2 zE25Jcup9lQf#_%GEn5WR0*IfI3>I%2R>_0GqFTF@V075=veaRNaRq7ez2hhBQ_aZs z$LSeZW*Sm-zvG(siy(g&y{RBQJy=$0D5l}7-zyr5it3ML=UJl|E1y-}EQ9T<{|QO;;2rW-0R zX)G#wsB^gw^0w->?roAK?XySxvCM z7$~!vhz^+GZcX9EZhRu&Xo~1cnb=e`H@v55O~pz>LQ8l?bZD&KU$nNuDSi#}45bw{ z&%ZgE*Tnux^E%K)1E%)%2JY*^U4WxM zc)!c=58s#Pn~Un|ce`XkbGRw22V2049+O%N(Nq2N6Y1VkRHJuGT8iW4KDBUFuBAO4 zbkWSM#2kZRpqAEJ>~pgy?VxIZH+-#fg78Xs7yBwRvd>@yLroLB8>#83xI-5U1h2bv zxdBXvr%A`lz$w5Xz~_MJ@HFv{0v8>gJ_uZNczO>o9qw)jnM`2%0t%JC1-QW}MCd&I zcZj6BPJOQhj(6cz!1U#qK*%g@r+L2#XNQ-Lg4>Hv@v&vCz38Iuc9V@-2v1p|gGg0> z{8z5;ps!jx;;z z?^5s5slcC^WpVaH(~_pSE91RzrxhKW&%Fr68V=Iu;iazB zF<2#2$4o&IiaVkoCSL?;vYUd$^v<$Ml$ej7A>0%tDjN>VlTpGCFMc?p#2Wf`aTgI! zH(p)EWP_@G+*Mc%K~{YF2xFPuAFW}Xi0it->+0*j*xmZ(^O?erpHOWnW zqLQq1(rl9>x{EUMP&BNXC`)x0PPlAad9_=XnQy%OghS0jXr)cZd@Sa`_-+7e3&l((A_~kk;b@^^N zrza-hjfe7=o??N)LmM32ox>3z9(VVw9D=#JM1*;^4Nv980^MMO~ziCH<`>%$PGH*&TL*|HzpAWjn_T4w!FHo5NbpZy_|`k|+8 z=gG_cM00h~+tTB0;f+sQ)qESbklr#Jf&Fj333qqmcz`VXw(x56qt3`1i#zTzS_d^c z6`jX--xwylU5ULgUCU_Q)gGx~p4gtjZMU(9V}(5QHl`t-WFu(zjxPFgy)hP_3!*;o zR6g$)rfdV91N{jq^LCh04-^S{4>SWLV^@n75ZK1kZ;g*?NEoEI&vWdZ}3HTZ(+R5_>c! zF|-GWaito)l4pms3`D_c%zCxp`@9{cPc(cD07CYzy3j~>M@Knjpcsim>bC}pZdiOY z9fUq=A$t$PGXId=HwZoVaJRfXNObk-^P56Hlr}qeyg9?*Ov8{L>FJnxTb^A8=N>&+ z%*87lKMfY&VTt<55K)u9D>6hhbX#>@R~jFp{$~j853!RzRP-wUJKiVZvr%PcZPbe@ zD>n`mkNr>T!wAQl%o$!zT9!7>auy)S`x^Sb_)Q*qM;uWLevzNND`sOg;XVx4k&d$S zFj1uxy<1e|Q}9`aVYs2d4^$09lQem3nAn6vhw;P380c_wxCmDt#>o2bi9vYfAmu&r zG46gW?~5TeSsdg(?*bH^&j6iX_@YV-SdU`c;Dlm#Wf<`K7NW?7W<@kybTE&s#xxspB z6kWR(?;0hmjuPklFGbX`1MgnETovZvRxl}>exB?@uyqGQrKLl1BT8!zyb-wl*s((= z_lzG)>zvIWgehNwc7WbR+DMQhhaR-nms3WId1^tlG<}FAT8vivLoCP8f6K>+y6WFo zWX>4Tt<~*rY^K>+WoDN~RU@Mvi}0luSbuKVh2&lr=Jv`5Yeo_4Omf&6EVseJ?-j)1 zb)OhHB2Ki&x7@x%pq{xb@5hP0t#;z73fohmSgcW@!}M27=7!}Y_sW^u>n2#;i&)vo zVcB!Tu7idBwU1C}p#0(^l=j;tdG#X^f(?qwW5op3d0H+WD~7wxJgqDo=;159#$hL- zv+Oud^z{Dw6ziOKlGpV&lf!OCJAOMQH;xni%1!)U@0ORB-6-i3FM8nPawFqm7koE0 zUc9O1pV3aoi{%EB{{-|(J2_^8@TuD=fK~@B(FAmf^Mu|d9%OZ}lv z7V3r5^3DX&!x#ct-1vLT-V<@HS|jI86wT;!ToXlAk6-Ya7Z|5WmhNJ3mp&19tXIy+ zUXw&?JpE6b1am#C){xzzgjtrJDst&tJ5xms!*s21swgldq)$gx z8HZmPmPaa(8SrWrnc+R8P`w_C35@j+&cw(J0rp4;Q%1S44R{DJtym4fF)sW9@)0il z4{%!-&IgX`G-5cugE=8VoW|Q7VTod@0e8!ZqIboc*fr(xG~UP;-lIjYm1DbchUigg z(tpw~Q99l1UOOmP&k(JAL$OH+4qZ6P_K2PJly>d0{aat=&k!L#chSSxL#Ma5V{?kq zF13{5Gcin(;BA@JCs?LSYKk$-Fp+A;iOkzV}}rzR=JgRu6|FC zcfFECpLUbHs780bZnWa-#!mE3kN_Lq(k^-@B_o#t_6wH9w_5W#d11rQ6PQBv;qa&o8zj#nzma0I!A=IX1QLj za_9~G=gFQks`q*{zTd0DO?81+S=fV`D*|eA{wEmMq(@l6q3gmeEI-fU9Eq-bkESNQ zpMOQu*3A_|4eIng(vpll0(=TL8JhyWa$T|*Ya6~pp9w~|+fbXAY@ULdT1~D<5w#6c z9!r5?u?v(clGL?(l-&?2{h6WH>B}C-50XVo$y#z?E34@X zv5EDAwt1mQQ`LgSGGvKpS>^EJFy$oZHt2#YBuw43=1t;44Q`B!)kd zXwtw9ulSTWG~nec@#T?1KEx-O|Y|~#fDO36zU6h@{!*ArK)!3ii^@W)16NMC1NjLEH zr{9p}?~xJ9L|lc?z#=1>cbQRf-o(7KBRw4VzNJ;t4E(G`&*eg^FmtUw3+VM8?@h%z zEtAz(h?*W_nZ&PU3w~?^R-EtB_T&PZ_)kKwVDz zL)D*Bd2}n0`&ChoyDmEskflzyLa`Wmc9m#Us?N8?wQrVXR%7BWkPTMj`iSAaT68FL zKV27KJDmNJ?63(df&S^ZP4|`)(?y6X*6B;Y@6*L-+_Sg&QuMFfd0_7S_m=gDfcV+u=J@|v-;q)$f`_2LlxDv9u` z+EEv9c}3d)`SKN^Ah~p%sM6cyDy3Dd@*FpP@4q6Er@vT0`+@KWz3$HKZj3cTh#jY~ zyW=Fw;)4!&3!CQm$IEro;<=-&S4*_07rBgeV!vio;&s1TB?OW*<2LgFtp&FRGSJd``u>=bhItO4t(HKM2d5 zwo*w2XBJo(de-ZOpLY3+Y)-=3W_*DTY;p4bTm9!!F0R zBzu0T$CJBWPK`0(lNr^P%I`BpmEaX5W{C}9bLK=l3@%0lWs3PvrVCP5+<{EYw!}tr zrc=?5Oc$dsWitOK)2C9tk4%+ZGDA4inP|uRIsG79c@-R)V+$1VDJjZ-XY#dt(eR9^tm_)e( z|C4KNn!H1~X1jzEITt!*mWwfma$VBjLU>tMpETKGv#9LX(j}C}xzH;ubOw3_9~Ijn z`r?xDgn|#W9y_U10^|o8I%VV>Zc9<8T-9Kv33LBzrk9;k7fG*l%1wwDnM&*`?v&@6 zoU%*Y!G(DEZakI7Z^iD0%fmO7cjH!ZkgU2#?52-%?Gcqi=6s@;Nc(30<0+-%r?39A z(=uW<>&q^JcI_f%)4d|NZ0-NBag=>8w$5@fme5l#r8hu~)W?dT)FETd3jax_!d=Pr zdx~J+5LY^$DYvKV8_h7(iKo!}MCVe|Q@C(;tav4GpYSVti&?q@BS~yP?h{cJa}7mq z+ElbJ1+9>d9oYS%c{yuRNj05Ga`ArAAR%{VN&W`N>H6tc#Q$tdO}X(OW6k|f{t>Uw z|I;5O^Oti({-*#unLQvHmswJY^zzl);G8KJ9}pkX1CN6u4>wWy2l3n?K-#lJbHBXD zMlu?<{3^g{ADclBObomIzr=5>C(40Y7>JsjkcCALei=MVbfV`JS)xT{dr`Ld*0IB0 z&^jF#EcayhwC;}lN3z`^Q9-@ZQzk z?J#OtC|e)K2+WlI4vR{DyZ&-%72iDe3>8lcRCg>;dpK}%;xN>oDZe``YWwwlMeq>` zb}gV!;Tz{g25hJ8;@#d$uF|8!GeL7EgULdlvsCE1XtQMMIRv; zp))MB65>Hh*G}BF9u*xu^zBe%GR{che(LT_+2NR|UjDe=uWtBq5}HmQ#ll0fV|0%x zS05Aj03{DdOKj6ZGR~uD$6uTQ_h)qO=1~vF?=xlIG2EOd$kN9}1zRtu;hH$S((ZIz z)b-dqL)R@owk?Xmshb(cvDx;i&V8k7A$J`|)v(BMQ9B@;(=D;XimKkOGhSA`M%Kv@ z^aG6Da$r?FO3%U8Po}J$E2>(WPGUWd$TPX3ft;QzOqE+E>I0+e^BITej+k~XXB<{l zeAU;1-=)YEULM}MNYOnj_ONnAyUM!~{}m0SMr zxrM7*f&MFjnM z#I>T$hX8GFMPPJ22aXs%Do&Ax=jZr_{%;B>r@m z%s(c)D)eyld6kJVo0MgXcAT3a@17Px{p>Ey+QWcOdYHsDlQ!6^&hPF>=FFDZ2(=56 z@_RVu=?qqy6vU_jH{K=Ig~aeA%<--q`GcrduDy#NU6j3{TnT=^(k^}s@u{8{)C2HR zy`Co>He$a3McmO@v3-kVuDq0SHJinbxVTixKZ^7@BdYlPfjbPi;XMDmDv-f<|L~2z z?)WTrmouWJhb4~9jw2=X6y;8wTy#b(#5Y%JofTCZU&Pf6J(br#uOFH?Z;rd(MEHS^ zS3JdWEZ6I_#=O>fE#dRJJJ!m{XGPySQJl}0eyRDnqP>}OVuXJM6c0UUksiC$t&0+S3janbBds9Ck!O|F&%@CjlYP#M2=$lI`j-BV z^Vr-uiXX|rzQzL~gAta^`GxDqtC;7@YVDH4FNh}U%~5jM1<|}K9_lF0Tlg27W+aPa z^3Z(k?)bfs@>$^QNa67{*$41cj$H)Fkp@kxZEE(g?urs$ z1%5BtxR@f*u^C)E?2?1pXeOQF63M@yR|}$d$I=zSw106Vo; zOSa%6Jw8&9MQ`F^R$ir%_zAV=jsoB^JMm`lc$;qS<6!8wHY-2SXQ$@#BkmIMd4i*t zL_nE!*xI8n#22D*pQ-JRq-@_)m3;v1k2)baOCokdMr!V1I`TR2WfV1QqSH!5YJyBNj z?0qOicP(w@o-3kx>Ch`-3YF|jGwzD^?-eo4q&~VPr(G9ygPvatQws2Sls+ie_`2)B z18_ay%h;pGm{a_<@2`s|2JCYk|4q~{9r0UnmYCl(^>?f_z4LQ%m07OaGuHA|cf1Oo z@5qztEpb6zx=&udh0{ML_sNLcA`V|n+kG34yh7!b+pv;nO=_&52pMqwewNGeYI zrqYl;jQGpRU~`=36o8Kw?v&vU zJfZ(r{@}oaiGQTYDVo-q*^o*#Mkn`jB&+mU&1hrcIh>AhFq zDYoI`b3S)Oi?XMyQ|c~yNj$aduI`Ria_}ATZnYE53Jd4>;_B{PilOdYh=0k8hrwAV zP3fYHFXLz}f4_qZ!hQUHl$fj<>uKNS;hDepEq|0Yo6ant>+v5y-jwCYkX`SI=9MSc zq)wa!rt?SGK55!MWrCU)LK3Cx$n<-{+xtDvPJ2MFWN#!--4m@;AAf1SFRE7m5#~ys z9S51b<_>37st-f-)eQJ`sB%>dQX8sbHuvtLw z(x=j@=KZ2V=p}nAezt7g13aI4F018>@%3xe=3?@?zp=LM(vP_!v)sio_~KXRXEcl4DDdys3;{i$I_JrVpG|BTVlY#xDNORHwiBY{ zs>%xZ_$jTbPy3SLEqQ+Px_V%tfCmBa-;=eQ!c@^veh?B7Z`Iy1wj!-MY>qBkS+hwP z(0(6_saKC)GRjBuc~?y9CuS`1O2#D zDbp5pRF+&{+BCIpgeWY;FHeZnu=Q{YIgVI2JlbeGpevkTPIt%KOZ5-cr*>VBV{~to zF||;$v*esIrnbQ?^^9;p`ALUD9kul+ekKsnKu1MAN~;#E#vFE`{Z+;^PF0_0X|d%@ zb`_6y<2_Bkz#=`oOfiO9+BaUNG6uEpA-T)jbYES5NUrxWZB~Cgr1kYRO&2)Ida1JM zhPS7QEQQx8=l}tojmOTcV$x1mF)ek&cb47{Fx5n7EC?_K<96U+0DcE6_OSG=Zfb8F zm;Y~}JhTem4m#DqR9Yrhhb1-wdZue=m#hyf#~#rl zP@O?tb42zHHqBRG9MK%Xrd0+AeA>uVOC3^IZf#`Rp~hxwv5ifQ4Ibt2z;Slg1aCMp zGV2lfZ4*vPy|d(`)~4zn|Fr5y7H^P&pyYl;a(D0+-mxk9i3bdwGq1iTy&0>0}yc zQKOe>+q;=!Rpj#PZfc~eaox1HdYbB)!I=8C$)TDPCx{LM|By%X`S9 z15NeYbJ}=Zim(D3c!bZyctn$z!S4gYU&rR3K;B;ece;nxWRNKb8!g)N!KT5a`hel4 zEjTBvxsNivMf?GyO+Vn6uU2oYsSGLEHr_M_e7SMFX_gu@Nozd8bWW{xZ+s`^BxnO@ z7Koodxc<>Yh<{_1ce^UFC}y%=?9?fyx2U*NQ%yfmH7lm;)jv-%4J@&Ibshma>wdJG|7pp4#x{DAZv{y>Qz5HAquI;YkGO6OAQ0cFK#J3dEWsnZr} zzKcu|23T_FVpCRCza^c>Y;z5}aHFF*58>bOu*>AOkB422UZRC8F>P^EW0uK>UzmKV z#D38UXC6|AE$gJDA#@;`HVOaMg772FHI|ublI&Z{Oo1I@NT~YRd8Rq$q+^CdPBrPc zA?b-_?3};W;n)PF;)XE_K}%3WP%V%@$QR@R!VlCfGevrmWO5-@ISMohl(I~gTW%UQ zFn>9v{Bs4GqywV3Jz(Xwz4&Y0bEucUT%KQ!DU0yMa#O<~%8l~ZBG?GZ1nmQ5gHC}ifc{u6d#o@; zl-IRVR-geOUr;@{X@v>L*)+eErmDCt*V?9=9`N8=XWBvo{^~~40vZ*gwwNAJIAEKp zkkSWerb3b*u-7z(;-?Opuw%98n0Df*X^Nrj_+y=vcR_)mT}L}9ep;{NrdtMe*7sW5 zTvLHDVRddNMLW?+`Tb-k#r=C25Aig__aW{$)k*1&_z1)oBYp_+I*4~b{6oZ-A?}8F zCB(xKABXtWoKDIk@ca?)g7^-^zeoHDWP%W%kNDS!pF{lLlby8fr{Q6t_w#e6A9&PX zG?k&rcJ(KdYEly?%j?%o{#AK0o3XmU-Jt7r8uIlto$)1h4_WnwsTvLnw!dNei8A~B zVOmXv?Q`nkfV(c^dD{n#<6XyjsEh7CeEh=WkA+39kqBs!>eaSk2s;=FT4h=7DN@fYzzH`66ZZt6>ht zA!4md19Kw2xrg5^4>s=!>>3=dM1cH3O+iKOL3a(cV#zhgjSbBUkh5(g^BAZvH#Rln zoRPM%nfXmT{MGKhV|Ey8c?3qd&j0bg_pXq_POrw{XRdQ$+Vl6h5z>8xxrI5SL4*>U zURCQn!aS5(wsEAnlA(x;PZ^u3g6AKYSCeB~G1{D=t{*MCeQ17H%@{4We`uabVT&>5 z7>K2eVKJ@VN9L;33tc9dZ=2Pr$y(Ft=79!lW^yr~9E~p}KbvZP} z>{GrWl5c_xpa-C*iQ%%$7F(m%3uc8YZD)ilQ)h-N13n2?ZUcV}UJrz=5nq}VuB=4Z z3-mc;x*&`Nh0T?#u9;hF4O7jvc~JIWXpY9<)HW?NziGggN4vkstf_Pf`bL_!5u^W7 z^L>Na<9A$Ss{A8|EHp=9e6Cn#K1fy`u)-Ygre0qu&#g9Rfxj@_j3+3t{+H&eJkHjb zw~z&=ZqUbD%D3ius-dOkv&kG~v_8rpL(RUPAwSq^4l1`F(QMF3&^geR4DG9}=HHBJ z{to%cPIC|qn4RV=RIO&F;V)P0G0#`i_RD&E&D|^m_H$_w+RVM?D+cRSj;6-%m&5j( z7nQrXCtRts7Zw32py_+1?SQ$WY3IIhW$!*&=YY8y3hZ*g`~X4QgXZqm_(NRYfJ54n zgXRgUx8ne8eK1@J0KEwkpk)WOfWzk9XrjD&+&o2%%aMI^%uVcZIpIp4`FPmPxEyUs zj(M5c5U4deV;*F%4fvHxO%44Ozqs_3t+hOV)_l%7OJ~OYs%<`p5oFEh`0UJIHRpMA zo~^~KAE5A=aAhl~=Gky19+U_=0{ZtH8iddedW`ftpbEeNXT#-SKf71?h7kCTgh2N| zPtNIssMY)*!<9DY!<8u)!j*oP!%i-Qum$4sA{vOW2Ph3PkqC!_I%+GgnbYiQ zjGq>qXWnG6ruaoro8tYnTX)S(Ox8?}&rbK#s{LgiVX*pFru5l2{j`OT%*i#>zLhoq zN|u|37BlXIE1UAr2GHks!{~4~V{|j1yHxd*9Y5|%KO1qmQAhlA2QUf#v)L9FvV)>fJ_^GOvYdqGgS@^;>ptgmVIrZvV z-XtG9D%et$(o-5*#)Kh!KHd^&&{uQE|1Eg|@WATz)z#cL|93i;G7~M8>3Whl(Ncvb zYC1xA>4Ot3$ME~hpG>l>qZwCky5$JgGBf4F85WI zvgR^V4Y!z?5i)w2sd^~D>sB*JrPU0AmY{~9S|ERrFUSLAK}p&&Q@9tEg!K&mj{;2s zr68&Na?`tm@{=e@U(f*lUke&!p#=>j(v0|53lt4{{emVbLS9&Is_BMo^55mA;2M;l zmNW=9f-*t-K-r*EpbMZsAlq|=DZD(%CKoER&ImO(J8`)tcRcQy8?w)8X0 z0iiBEs`ZtY>gA9!b%TX3tarb&yhV<$?Pkk!H%t6Z);>fF*=ETwHd?qfLRktjZ;wze zZHrL;1}y-60NM_^h_osQ!$41gePlJwf^+d&ie_o0s%g8mmExZWuyKOm0@vBZtAq~*0 zd6oq{VDl|y=(;|&z;Zv-nh_OAlQud^8~27awe-M>i2vO=QW^C|q_VGFq!QFVQaJ^> z)iF}(6^0+Z=oG2+43AXaii}h$K<)(SXxm7|6SBkJj8vwFL@M(;L@I3{pAs6Wtbu%f zM5Hne@_yRDF4pa4>!ZG0XHH*PA;wx6$3I)dSX--o`)T81tU}b!>>a7BjEPigfj;ON zseBDG0(Sw$fo_6sfOoV{B#yEiI&Lj5&m6ZJ<-UH_wpHdK;WLl~tt27PDbP94<(``N z+g5+OdS;l`a=7)9QB516l^tpQ)1W5eFu*A561rVlG1f}AMVfoOwY<%4oK3necFaPN z)sn2`wKt|)w;SwBnLT?L0%=%k_0l{Nt=9}{!EEi}4C`>!;`s?@bJqsVvbHu` z`2w_mdZh9@=qgA}h*ajFSTtd_wYoer+v+ZF&bBse7KMaSpk&ZCQ07dSE-_NM2iy+f zF3^6^V(|MUMJf}yknW#YYswJKVv&#2F9 zVd}1V+Wk4!DXRD5Igv{Jxsgf;!YK%kf)s=7K3Y`JWU}?K#hM|xO({}ayvTY>H5lc` z(t0SMJJ^3Lj8vY1;ul3K%@#*0LlAad5~+BD#z;A6skL{xzkyGKsz6@H+Oeh9<38$z zopM2j^*5`p#v0}ClvB1^4_T*jboMAs3*BbjsH$@`?axf>=W5ufj7a4}kj)hqY|-O4 z5H{V0p|=%76yYhP{|>5wcmcvP2t&Z%xt)xDR_5XU=Uu< zbE5|&27{X#nu#6*P1u27SlJn=)CE-ly$R|G8opC|dzZC`YQ3;Wx9J|aV~=%vMKhv) zphlohp#GpZP|_YOUaa33EHMX2es+j#wBP#Bx{+gxmmZLH4_J?uowYAgc>y{ES_P^l z4F|2^WmQN`+aIZX1v&<*Kv(|W86<^$7IA2>j|szI7crZ(<)_K z#~LhMI6k|rTzu3z*cz{=jykTrIBM-^sIlyDq_Poo0CWcQ8^~}ZQh9{1Ji-9bN7?ed zo_U{HHdG-y6#a;=BdStsPs6V_SQjVCzk z+7t5r32Ubs+jAooqQfpai|{_zi@Mu}&J*na078QCh>Hwk~G%?kG7u*0u-ftwz``xp~hV z(pi}gS_b+Wv<-A-h^#T%HX*26Y-fe&%=R%xRb*l=%>%P`D z*w*4;dS~S}sKS?>l?9-yAP1=KSDlsj)^t{4fyaRcf_i{vfaZPKnOC~ymO`jA2_fu- zaOfIYdW)@b8~<-QD{ByUuI;ScUEf*hiLfPj8h9rVul;prrQwFo$}QmMNV|%#0CerU z&a@zGukG7nD`#|rZRCyXrmEH0NdM&<*cwQ~725&pdY!l8R}H)@W4omnJ1cMg*jaf2 z`sfl`cNs0c(pmWwH0r0$N@>tR(5au%deD!M%LaW9a{MTd{c3AxZGb#Mpb%N=n(a+n zb!4pwYIa4IzGizvTX@YDfq|`EEwu6Kp{=mLu&9$N$u_0!^Q;+_qG%v4t)!hUZ7*f8 zUe@E;m9(2>>`e`pP(MmvY|;G7+Aa3xsimTnOwb>ofu*CAZ$UdjPe9E*KnUA|>Vo`1 zZ-M%jmV^B4-sRsb6Qxun8H7Oy8+kdhA<)f5wU}$Bdl>J^&N&rH$XO!{@c*_wl zC>NzD-lz!pB+@n^%mr=sjiPRRLu**s-jkL~vufBcT3Ytv7Wr#KYua0zEJHZDxQn)? zzI`Odr5;V|rFjS2uLK&5T7FM^mZABjpeUtIjVR?~P??%h%I(@w%45*(dT308DCI}+ z{{S5YWrCi8Y&G?UHL4$_xIyM`$a*5I(ZJQPk6K45v0&V55~Un|GfHXMC`w5IZx(pT zh>vLzrFexzDZ7AeO{0_z2v37nzQqk|Rk35wDCK=nGH46vJg8<&l=4qc?R0PZ8@y=g zYafHQYg32Xm$|70M>XH!cE3`sCarpehcNjw4sFC%qVwCDPxV*^#a4K_V%h$PZEos{ z<%A%XAxDq3*R1PXB75f&+1r-L-c24HYY)OF`frW32iVq~e}w0%>CTnsW!Z7|YLQbo zp5h$KVWM*+g{kxu)j62q0D>_L`x1;~7(=if!)Ss{&dZO-*#m8*h}CteQ=FF@P<-%j z=O~`y{E5R^&T|NpyCynMP&{=iWj#o&RDQIZDW8n92i2O-!YR&AI81a-FBTqGEF61I zc8a$L*6QGrZtaq8Tr6F)SlaKL{2bCX|30fLbf3dS=WPmgMScc!DRM@B7H=;v^W*L1 zYJTg=@s%sbvf>;IigV1;bF>|g9D`grdb@ITE6&leI7dr8#~jL0&XvRF%ApqL_~*<^ zt?tT0v*6TT}JPA6gfg7X9vKgE?}tSiUJ;v9pEbHwO5Mj^)= z4O}^DxN=nC96T(_Go)weP76bNg6@3r1F1<*Z=HY2y%X#~38%nG?YhF5&0(5zABVG? znH1{%y@4U;U&U|;`P1?v|qH`@va67)xg-NgZ4B0|S4B0}H7_x;% zGh`!glTnk=p>2tSHaF!IZgXvhY?vwxxy|Jna+@s-xdUIEB2Brg{$$8C{=pE(5el7G z8Tt`C%aA@t;q3H`+Pd-I!h}NSUS_W+b_T<>1lKX7PgFRUFleJjEVtn?s3k(1|BygOBai5(aX7sk0Y{DbB7G zrt&;cUrJdkIJbBn4HQMt;XCy;(9X|M=T1Rc808+>_^> zL8F`GI2u)cCQpBCuV6ij#MG{7&iyj~V_Za*xuTz+kbYC`)tZgr_zLIy6!NbgJL|D- zY>)2D<)PMzArGpb<=CnApbB2Dtfe?yR<@30ili9RgFL%0ibN0E)%GdGrC^ISOz zc@sP+6?rWjCOQ?C<}x1VkX9^xhavavHHO@`7XXt}jZ|DNLxtc07I;nrY&&xw5nRs@ zXA26QD_Oun@N*x=^zN|pQVPpsg+ZSlf#gWwx8iJ;%;NeWq!kubFW~?o%0#P zrX>3bLms6cGxQ^F97DF=aE5HMw;3iBP=nuM%+?8Ic$c`X7_y-nFl0MbXUKN)Wq6fj zOEF~MqB6Wd+<%Ty<7nJF?=s9Gc!Oa!!5_UDXAwTha2LTWc`pIBSw^|o(%{h<5 zS0Iy-ny@zD8}A#1)G(2|d0GM5K&K^~ROM(zr3aw;3S!%;bEhCMLAj|F-79OCQ|)Fu;idBiQ3 z+fZHP#caL0?>S6#9;GmqB~BQqS{^A|nCnYLtYzp)@C$~41RLZ@|Cv~k#u5vzYe=^2 zHWU8z4UVTcn{k-vtj}3^rUWqLnc~B602SoUkj-mg$QPZzkC0Z}n|TbmH?K3~-n__= zd-DWCcPcEwTTl~tOvc8S*d-WXQc#fg#Vl(hPa#xiRFvE;vk$V0+$U$TROZh8W%N7dkI7&LkaAF=TZQ zF~l{w(7BT#Tjx85Y@Kw5Y@Njn**fzWvUL&|vUTDQ%ht2(P1H9J%Q3U;KBa1KQY;l- z>9AZl%ih46cSyI(@AAYfdw?~Iqv>?TL^NVCM^l`s940zvQ>YJ^r*^V7w`vS?xf6yl zv`~NaW5~k@-yfZgnOuuF814QXCOUmtg2zWGhHTHz-Kk*qGXG>zb=;$O0h9F!aDyRF zfFBw1Ts_IM>}9eT=1?+o)*~3e z(4U|WL)OHdA!}{m>QmVP{e6HMlTS9yW5~m9NNMV;dc?iR+*$-rFbpJkkfA@pOoo00 zH!$=ixQd}C!G#Px2+m>XK9KM<#ukEO85#+`&rl&afZ=l-;&gUrNXN^aofr-wfxH6p z1`gsjWNuU99+h+E*n=7u?$^h|KO81HA5f^@L)~P^*1p1!eZy&a4f$;ASw78~zF(G} zYp>R18pl(d<2g)pj^-R}{&yJi@aV&^E!n)we)-N^jH?=)A;npR!$hYyi*T*>V(E}F zWNGe-$NNab0&2q@hK~qdW5^@@0z)2cBjnAwP<9P*Fs_#GljY~xt3^!Wc#1QQ!$fB+ z=ZGM+R(eoH-2Xk8%jJYKgcK?0keS4Rf>ZX$rYZJngZgkh#rYP8iOz7&!3wrz$fIYdC#k~Dr3P~? zWWq`extlx~ayJQvo+PkLZbzNg3%m6?Pstl8_JD*998Gb4$zh`N3kvmKo6nGKlEjd0 zGKnGkmeCCL!Of6;OCN^pTe>jxr`p>yWJQ`YWTopSFlL+hGi0-RF z7pca+nEl!61B>O8vKZ55OvTw;@$i8JiL-sA(80x;|8^-KgRxo7W@)<*gO8bN% z`<9OxvTuoFID`be{(9+K-exZQmIrdseDrc{;-HtS?UJeU?Sa;3njZg4?wM~7Xm*C9 zE1WqL>i2f3yl`Rvu#LHF*l!rJx!cOJ3$P5Gz*$qAA99%Je2*n!$ll3pH#U7VbA5>$ z#*llVHA5cT*s4KkK33+8BDn@WWc6VLp(Q1Lzmv4%#6OD@HTgFZn|(%!nEG>BXb5H7 ztoIwiam?kKVi`6i?h6^6hO8}IS%ZtS#&G#OfGQMcEnS>-jrhHUH`a@6M-B$bGR(#ms~=(Mv0mzKd*b7_ya zlZss09fn-mHHKVTyu5FSe0#Tv@q_FEjkXT+VP+o?Qs#b`l3o-OMRG zBF>j1c^*tlnahnyWys?&;EJrb$R5~ifGclIao)*nY|h)RIB%2Uyg73AB3$`YSJtOn zsrp3cpA_mn`UgX9-&KZO+Cy$c7I}_i%-u(DFT)Ii84NcPT*r_vjdlE}Eo+IpfVnvY z0}YpDoyEA^4I&==Oz*9-?_z8kHR1RQXI+-%{_$tX{o}=uZ930E9mrjkAU7|z2gO{; z&<%N(!$fB;g?ft)FpQvKx27uT<4JHmb3F*IWav)tbA}dzpJvFKOQ7UXVqy2KUxw_p z#9qzToa1TE1{pGu;&xZuEkk~XxZm|Hx+a%7oaH=2p}t3QR63SmDy?P?E3}AVG}Tx8 zM;RpTfu-JMRy?u#Zjrr-)wq~dbBp{GEO$dO>u;$^dyxB?%`aPwdcg5tO&pAT$ti5k z6ozch8JlJOrS`y1{asQ$IZSg#aX8D_kws5YhqYwLeOI4hHgN+O@|f`1EG5dS`f!t8 zqmx2?g8j;nYdkN1S_-u`xrEjg3oR=aTCho0{lXsDWQ0pjZbpN6T@EUdWtUWSlt+8xq_v8?LYi)$KzZY^%S;DgJa96w1(#U@M07PN1`NE19^$ z-XP)M4U}Py^KT0E375w(j!M1Ga1zyikzqW+6S@GwgA7Lz%w))8&Dxr5dzrYU+Yn?c z_H0Wqk+_aGp6Hw8vi?eY%{qN4E9P7@7r{mhW5}bgHAB`1OPH0o3|n3DhGO}@*OUG% zpU05p&&cl~@3V(F+)rB=@{n9Bt*bC3rxORAI)TGP=ZD3@?=ob4`ZDBB?aDBk?9+iE z56Kn`uaa%+G4v&Yk2}z9Ll_=P>@&o^^9?m;5!q^R7;#S# z_X2ZciQBIeadU`!fVpjn+cTWF*~DGXTwVlsjUa9oaX)A7O@hZmxDRB#)%L2ThBBWm z)cYIRcQvMV!(vv@H*zjm?uB2IRxI^M?p_W5dAgW$MBV|X)XHMc=U+>|bX?y@5epU` z#z`?`mwpV{hTRylW%130bQDpUIb2P-ujL99;eL1B%bIVn9xl^L00aXU~Lp{9h!6B5o$&#FcWAvp%_Ao3C$vOlu#z2$AoSY z3fckWxdW&dp-@7z3B?oIL1-h29h7>OOACkLv|+b$mN=SE5io&b)&XGAZHlF8iF8 zgYS`>3Z!D9&NpyargaowyOiT`G6%hEBB>YTkS74^;!4<9_=J zy!^jzzkLj*rPl#U?IR}~u+PT_A;dxZV0_4X_(A(TL!DCaV98zA;=OdIS_DI#|MYZm zhdJ*8;uUx2O@wm zC+rEPzZyI#9C&1VcXfu?dB(ofkTB$Ul#&R_09^;=gZ}&Hkpn)+1D{awKNh7#gAzd* zpz9zHDi|*7(Q4V!d(szX8o9K9lrFQ3r%9)7~Md?aDUYX3w z>#U@QL$K&?QgM2dKi6yF=j@w|rnG^0v2~z)`lCHSO&h3Hxn$pCRkONkKV7%m>!J)96{>W(-bFbxI#gMKFl0=qau=b;N1;mF8;Hk;Dk%u_$A>Cc5hhLyRqFlL z1+N8#DpL_&|2R}Rg)n4VsN(lK(x-fP{nc^g7ZR^Aqdk_LX}+z^XG>u9)F$cO3oLji>srhoJz% ztRqn1PgpD)3Lw0G6bc~BKL!QW_UwHQcsv{QzkmcDA%TlX01W#K34n2*cT>8~VF#Q329zc4-+`Ypx>(=KEDKT&@L=4JjX!4A^|Y{77_q6 zZzBOP_YM;H3lqPK1VGzwNB~s#k-!TK_y7rjVKyWH#yvy=FEPOHNC0$ygap9c$4KCB z#Cd`QK>yNis%v|4dSG;M%6!^QmF%L}2S&Zu(ktN+JPKdD1lb^WhX@r4#X$*{2&Mk+ zhGz|RQ^ip33v5?VQPu;aQS$^enHL~mg#RgjwEd5+^z?zzvbjG-`S0!(?Lu@d;qLIW zk4VF9_!L%2vmISk z?+De+F-8^lF1Yi^$gk2o?I^;aB7Gp{ISAi(g=7C?m~TA3!*v8QgK{Bj0_sMC1)u+A zJaA6+FU5M?MxXl;D(ohF9)Pw8RfuC7q;BC$P9I?%A45;j_9xn)+)6RZ1}gaYL)KnYMLR17K9`$HoW zNBd8hJSuU*82?F$6UV5u$}!4{_KJO0qprAGq{;ycJ%s^fbSz;x6{ zwjb8FU(B%NQPU?+o-l3LsHxLO&<{>-UKHx)=HAj)2Vd6U8>vcskOgRk+-oBm6vjlm zjgP^zh*(@Jl8$wE>t9gh<`(MUX?+EW2VxS=SRSxAkX);})pK%hU_Wlk$6*ca$9=21 zb+%ZW(#ooC3mifVysEi#eYSKRMy z4XnFkv`T=|pm$&=RKhV-2o=LluZ&~J2Gwzc?G&wYp<<_k>u1~+`MQTW4w*8q+lKHp zlU@wocjya`g6ZG8{na$peT|cfTkE9M=qf6AVilEs#90+iF_h<2L$!rQL7zjz+%g-$or9HhWZ5ZUSX)d&?%_NO2mP_f$Fcq0MKP<&T2#Lh8)%yY9_Q3 z`U-jhby#bt8L9Y@1APa%5-Ooo=r)8u{;DZZ5%d%aUT3JG&@!k9+P2FT(0#}+3xhyQpaalX&|@fM ztD(k0YoJ2NVVj|vL4%;h&|&BnR4W^&1WJK&pv#c+cI+i63Ce(qpi(Gk2hRVX9S8s& zhHgQ%b|L_j0_8xLA?F+ffRdmLs0b>Bf_5PRXfbpcx&_tRjs8#ylmlIcocEwVlmul! zMNlaev^Nz2_96gu7`g@3+J^v83X}s~hMe~!0F(q}Kt)g~6m$Unp~cW)=oVBf7yY3W zCIp?82lmul!MNlael$wtK&|>H?bPKBWAp$@tP!4n%az2OvP!f~@6+xv?&`0PG zErx!DY8^6EPbdY-f$l@K3J?!UfpVbBkn>^0gHjXlBMsUEIUm6Wgp!~Q&_(DW6nGRt zp?Od?bOEwK-p35p5lVp$LN=($aqJ%`1G)$`J7K7`P!UuL1)W5~&{F8ZNu2+nQ>cIz zLl+^ZLPJe}&O(1dL8s9UZGip-IiEr1P!f~@6+xv?hmTPQZG&Dw9nQjrGN2;J2DzU@ zUnmL6fQrr~p)(G+WOl*p)c;fV4){?F|No!p3lH5QJZ*~kOU`1Dzg1~1h_9$r*&u&C zQ9g)YiT^GEx!eNT?+M6$l_=a(hphF~mB{L;gS_6DYWfWY11qocVV~7>$y3*+gz9jz z`Qb;gr}mGYC!UKyj<_6T@3kP0oF&{VED)XnIitHEmp`Ub`|3KjvG+97t_O0whQg-8 z*1~YgtFA)=$HU|@RjOwR7YN^d$bTghS$isUI zeT5BZO${CLYOJ^okm`8hSm6|q*R3)_IMXFB?H9NnRa~};%Wh%5@Wga#>V*t$ir;;y zeO{_ zrY2I4fXO8WWcU8koB(p_Z-Jb8GRUdV7cLW$aH}v^cvAS8@QUz;&}Pz8J(min6mtL% z3aF(+x^#odr5DI~^#get!$8h!oN%geu5ht%RSGSyrGrzC!{%}puHM z$M#<$_6m@PT?g{8*}?*%`CTT#hnH^@ongPg=skk9Hl zkdr7DUKQRHJ{0~nm*VSUQVr&r@m>WvUR#jkbp<(IEXeT&gM3+y2Klm@4Duas7RZ;? zLXa=3bdY!Y2G9U^fNo%(@VM|3lhNucsrX)aOZbQIrO+kS3{*qtCkz(8Mt$nxHW&|+ z%UF=-GYRDRB!fJkc_7bciEy=Wi*UE_BVi%P^SKD}eEuc%KZ1O6c);fEk!O4mRx zzkuBDf$&)xo%hqR(XY%m+e1KZZwYeT4j`u$DeNO0CL9NH{B)2@#(awR*RiR`#QqrM zco#vA_ch4zu7kYRw?W=JkA!~-+$a#JHKt7^y;7iyPmMIu$Az2 zlc_3ND*6i(gl`Fxh4Y2WgzJSl!b8H-!Y_qaK%TjN$2OO1CUoV7UVKu5iPHetu#~Y`5?z%0&+epK#so=19;Z>1uTx6;=jZ>8%X-#>1H2KWf%J^eR`uT)pA@AgzxK`*cxE_vl|9;gsuYhk#s zmvEqPq;R4zMfkRGxp18@TX;ZtRCvx#Os)7`y52wsM?6IZ7l*~>O1OZ$5+1@j!bTvk zWE{w45LmW1ThWw;<_otoSsQBq;MwBzHpt7n6y%_*gqwxC7Sqv&INe{t=5hsO|DUA& z4#=nDG03MwEiq{by@dh7CLkx-ALKH833YCyW80^Ry%^;9=^*Em0do9p!u`S{!m~^0 zd?UPk-h<8MG06R2fZV_GduD%kkn^hz@^)zm@^)!1>?n*9_7x5nCJCp3oc~6UOE!o_ zrpZCNN9re1`6b9nd<$|CKY%=mJ0K_V7~~|>QZord=q(HoHW9WFb`i#aoJ2CnWgdtm zob0!u`jptX>^<7B#=8FCEb-a}a#ndDXLSVRtj>a*)tAC6!W%-H@Hxn%)?a3h+JwGq ztb3>S7IPrT;YWZRejLc*r-B@QF36K!4D!ma0{KGS4DyA#3*-y+AjlW$DbN5ffPA5T z1M-Dh0`i4=7qnlfPs{`5@V>o5xe03u1BI^&+X}l1V}*l-qlJ@&vxEzU>B0?m*1%gU z9Pq+?33B=NeQF<~gI!*TU703^=-$CW%gyFckQb^g$P3j~7%LpSoNl6fp9QeFya%%X zN@-sY^1^Nx<_eDq&x4%K1CYy~AosUWViO(W5%Pgq-4f*L&a|lsvKuGWlcjnF$k{Cr zzAw!9fV^MDoA%SNxqJ$8m`l=rP57(u_YY`1{5#c7H~n7$**^s2_^pNE!d}9GAm6=s zi~L3buWG+eX{h3|7~~M?;<`b&LzpK#4srOGl9XqG(}Lyr5g9Iz_6}K%U8Bkk891;b!43;lUMDwV4iX_dRSbH$V=159I!j z#ZRp?;}}A3VE|2Oh8OB+m|XgT+nqK}g-OC`AP>Wr{^jyvf;Xa` zOE$>;_lkdk@Qm>DRpf*x%%(np&E+M?{!XhUEs$5=2jtsLeUMLlGhusSgfLDxR5(^R z1>}>z9^|qWdmze|MAk9ikstg^qjbT4str*2up-_g-=$KZwnpV*Kds( zwh_qw%|H&_2ITa+fSi7eaFB46a1zMr5y)i=o^y=2u4lx)u!b(MeNXJiYv?6xpIU28 ze}9n24HAY@cuO7PIarz#g%j4&yp}rHYmL~Oz_L}yriU%HpX+&P`eH5JgsbbHV*kCC zd|Tn}7ewZWc=%&09nxU1n28`K@TPD&$dP%{)9G}pvX?IVpN0!tY5&2Sq~~_&u@B@W z`v~MEJ0UC*el5HX@={gFFcYZ;^2jxXfz<9b9pc+ln%|J>p~A5lH19RMGxwy{>rC5^+O@`?X}XIUw~i*Ex#mo<=YwS{yt?(jFGJ7W z(w;9ov5u~{#{1)&V&4aOR!=}q>m|sm;Y$$9l z>i-tHZZi9MfjsHX zAeTsCpH1|#9d^Miu@`_m&U+xwV^)p(O4Ix-^6spIb+)+h3_DUlXYFUXkVTWwM8%!(4{94b>!7;s zTg|D~68eK>aSQF8>h_SPKEh!YT<~--#C2VWDlYGDrO4NDdUC}+yp?9b_Pr|h&mgCB z7v%l-WGkISyNlm8GmA#_@O2$xiQ7i?!gR1DZ5u^1bGK14s7v6+$=S~t%@5Ol`1t7O zVLAjK7<~#@tl88s9FCdU<&M3mc{rwCoK5r4gwIj!3fCbzbbGl+vE4%_RH*vP?3BKp znsz|~h1+Qe)3%)!f%vp)UKh@D2VLjtv>oKymGj&|twCL~qdfR93h!#q^Zl;&JdXg{ zy0hG&#O|OoD^$5rRyR(0Cw1;-Px;Mm=o?CF0G*Ii-uJlan4UxT;bRm2GlwEU zq&X#m)7(XyxjJnZT>y3NuJQ;r>Jy>;bV-G(I+Pb_&p0O1p7Bh;V%<$UB6($Zm-ofK zgQKN*H@!p?RpmLWgVWqs-gg;I>A`94qmyVtnzy+_ zD0xM5n)}NgagjuGn)_)|G^e?r)`Qws!3CEDT(GbY(b*Drfa>++j1N#WGxq=`gSzBE zdC-kCzo)rRd)m`{3RtYU)UX$)nOp9NecFrD%%yo~;(gi+`Gw|{dtjf!Lnl3P&NhEvX?Axv8yEdqI;#&Dkbbe*fy^2s%p^USB#pf1TT4~~5rYwpund!9!CZT+y^ z0s9mVIpB{@9&w*hg#!SgZv!_6{XU^N2%&S1UYq-+B0t)rLmxcK`RDglFjJ^;5qP^ z8G58};xT##FV9tCZx-%4My&_w;JROmeMNW!EPKhqE*_-)JdERJNN-^P?Hj}!>^NOP z1WWpHavF^DP>ANTSu`P!!T6;jtu20KOBk&E18ivIQVQ~#suQN|EOe)=!8)Wxf|yAl zyII9f5vB>3g1q#FC+H={w%ATk@DTgn?>__!8h5fh72Ga|;8diYr2Rwi8I@c#aXAd~ z2!&!735!9F>`x7ba->t`k#J8Lib>hxbS2MBd>E9=!J+2XPCG@*hw5lAE9$v>ZiRl= zxSyY^4OLv8pCa#J_6st6m~I&yT4+|c1v#OvAn&$Vkl&9C26?xQE~L%FbnD=B*jzF| z_TL7w|9+7DkAR#(Ng=)DVf?A_a6Vh7X~1xtrL@!K6T;FA*M44wsN!-_nmAgHy$Ki4 zkLc_XhtJ(|=@xI!Hk9hd>)v>^m>92X*UUsKkC+0dy(?PGBt zV|T)%9cPY2%)jwaY4&L~t=xwn7|d<0QtWM()icew$7h+0pKI10oV}3Ko8~l*gk3qb@9#@FB@`-)0Y9pW8 zEA0#S+S5q#8>xL<>fxzmT*9dFSl!GqT}M&vk-BcRr5;iC`k`QwM-=@qTKiN>u3=Wr zs2-)>sgBA-?N#NMns``K%_zExC9d*EEj*a1Rus)f>?&FKNcLVIF^>2}sq=nfbn=f< z(f(o_h4G0P-jM-O>J2E&KDzm1P9Uuxr^hpJdh zWhP&{a~m^H?jGE_{McwCp8ZD2LF1$-+JN~wUVKw(u8o(Pya`e>b)vn-r*hzAJZOs6 zy{T(gIbp?9tE}R%HaUu(kJ3KIxQ%!u8iZosagL=~X0U3*vhj2%TqxZ1X|{dkd>lX6 zg#e>;T^F~#c$gMSC@mSUI~Y-iqErkdVZ188fZ<5D$79yZj!AkQPGZnRWPYd6K5HMN zCLY$+9FlH6j%j|~?I+Xm{wv+hSsriPov!k9Bb(p=y{mL>*1f#L>!GMcLXNK`%fXOT z^PpzTB0K^JCE;B8wYh9Uh1<(HIypgisd9f;dAus?_mmrszwa}LbSydCo%cswhpse# zBBpfkYDl`qsB5ZgzkVY& zu0*-x@hYBX)$WdK9eSF5Z#ng}pH_!@bjhk~S8b5kQ}u^9jP2aJ&#W4%3RNq3W_5RZ xj_0+KWrD{%+;8Vk@EC^&JKUb&;pf;uc_GFBO9ii5J!a!sdqD-elRXBw{1+i|wrKzW diff --git a/BaseTools/Bin/Win32/VolInfo.exe b/BaseTools/Bin/Win32/VolInfo.exe index 389d913ac42051ae927537beccd1535a795ceb69..116efbdc5b120e9f84d7d9289a19b9b309e22168 100755 GIT binary patch delta 43025 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 delta 42897 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 z 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 Tools flags of current module # $(MODULE_NAME) Current module name # $(MODULE_TYPE) Current module type +# $(MODULE_GUID) Current module guid # $(ARCH) Architecture of current module # $(TOOLCHAIN) Toolchain used to build current module # $(TARGET) Target of current module (DEBUG/RELEASE) @@ -209,7 +210,7 @@ "$(SLINK)" $(SLINK_FLAGS) /OUT:${dst} @$(OBJECT_FILES_LIST) - "$(SLINK)" -cr ${dst} $(SLINK_FLAGS) @"$(OBJECT_FILES_LIST)" + "$(SLINK)" -cr ${dst} $(SLINK_FLAGS) @$(OBJECT_FILES_LIST) "$(SLINK)" $(SLINK_FLAGS) ${dst} --via $(OBJECT_FILES_LIST) @@ -235,7 +236,7 @@ "$(DLINK)" /OUT:${dst} $(DLINK_FLAGS) $(DLINK_SPATH) @$(STATIC_LIBRARY_FILES_LIST) - "$(DLINK)" -o ${dst} $(DLINK_FLAGS) -\( $(DLINK_SPATH) @"$(STATIC_LIBRARY_FILES_LIST)" -\) $(DLINK2_FLAGS) + "$(DLINK)" -o ${dst} $(DLINK_FLAGS) -\( $(DLINK_SPATH) @$(STATIC_LIBRARY_FILES_LIST) -\) $(DLINK2_FLAGS) "$(OBJCOPY)" $(OBJCOPY_FLAGS) ${dst} @@ -456,3 +457,45 @@ $(OPTROM) -i $(PCI_DEVICE_ID) -f $(PCI_VENDOR_ID) -l $(PCI_CLASS_CODE) -r $(PCI_REVISION) -o $dst $(OPTROM_FLAGS) $src +[Unicode-Text-File.UEFI_HII] + + *.uni, *.Uni, *.UNI + + + $(OUTPUT_DIR)(+)$(MODULE_NAME)StrDefs.hpk + $(DEBUG_DIR)(+)$(MODULE_NAME)StrDefs.h + + + +[Visual-Form-Representation-File.UEFI_HII] + + ?.vfr + ?.Vfr + ?.VFR + + + $(MAKE_FILE) + + + $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.hpk + + + -$(MD) $(OUTPUT_DIR)(+)${s_dir} > NUL 2>&1 + "$(VFRPP)" $(VFRPP_FLAGS) $(INC) ${src} > $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.i + -$(MD) $(OUTPUT_DIR)(+)${s_dir} > NUL 2>&1 + "$(VFR)" $(VFR_FLAGS) --create-ifr-package --output-directory $(OUTPUT_DIR)(+)${s_dir} $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.i + +[Hii-Binary-Package.UEFI_HII] + + *.hpk + + + $(OUTPUT_DIR)(+)$(MODULE_NAME)hii.lib + + + GenFw -o $(OUTPUT_DIR)(+)$(MODULE_NAME)hii.rc -g $(MODULE_GUID) --hiipackage $(HII_BINARY_PACKAGES) + "$(RC)" /Fo${dst} $(OUTPUT_DIR)(+)$(MODULE_NAME)hii.rc + + + GenFw -o $(OUTPUT_DIR)(+)$(MODULE_NAME)hii.rc -g $(MODULE_GUID) --hiipackage $(HII_BINARY_PACKAGES) + "$(RC)" (RC_FLAGS) $(OUTPUT_DIR)(+)$(MODULE_NAME)hii.rc ${dst} diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template index b3132a08fe..cbff0b1666 100644 --- a/BaseTools/Conf/tools_def.template +++ b/BaseTools/Conf/tools_def.template @@ -27,6 +27,16 @@ DEFINE VS2005x86_DLL = C:\Program Files (x86)\Microsoft Visual Studio 8\Commo DEFINE VS2005x86_BINX64 = DEF(VS2005x86_BIN)\x86_amd64 DEFINE VS2005x86_BIN64 = DEF(VS2005x86_BIN)\x86_ia64 + +# These defines are needed for certain Microsoft Visual Studio tools that +# are used by other toolchains. An example is that ICC on Windows normally +# uses Microsoft's nmake.exe. + +# Some MS_VS_BIN options: DEF(VS2003_BIN), DEF(VS2005_BIN), DEF(VS2005x86_BIN) +DEFINE MS_VS_BIN = DEF(VS2005_BIN) +# Some MS_VS_DLL options: DEF(VS2003_DLL), DEF(VS2005_DLL), DEF(VS2005x86_DLL) +DEFINE MS_VS_DLL = DEF(VS2005_DLL) + DEFINE WINDDK_BIN16 = C:\WINDDK\3790.1830\bin\bin16 DEFINE WINDDK_BIN32 = C:\WINDDK\3790.1830\bin\x86 DEFINE WINDDK_BINX64 = C:\WINDDK\3790.1830\bin\win64\x86\amd64 @@ -80,7 +90,7 @@ DEFINE UNIXGCC_IPF_PETOOLS_PREFIX = /opt/tiano/ia64-pc-elf/ia64-pc-elf/bin/ # DEFINE CYGWIN_BIN = c:/cygwin/bin -DEFINE CYGWIN_BIN32 = c:/cygwin/opt/tiano/i386-tiano-pe/i386-tiano-pe/bin/ +DEFINE CYGWIN_BINIA32 = c:/cygwin/opt/tiano/i386-tiano-pe/i386-tiano-pe/bin/ DEFINE CYGWIN_BINX64 = c:/cygwin/opt/tiano/x86_64-pc-mingw64/x86_64-pc-mingw64/bin/ DEFINE CYGWIN_BINIPF = c:/cygwin/opt/tiano/gcc/ipf/bin/ia64-pc-elf- @@ -237,7 +247,7 @@ DEFINE ARMGCC_BIN = / *_VS2003_IA32_ASLCC_PATH = DEF(VS2003_BIN)\cl.exe *_VS2003_IA32_ASLPP_PATH = DEF(VS2003_BIN)\cl.exe *_VS2003_IA32_ASLDLINK_PATH = DEF(VS2003_BIN)\link.exe - +*_VS2003_IA32_RC_PATH = DEF(VS2003_BIN)\rc.exe *_VS2003_IA32_MAKE_FLAGS = /nologo *_VS2003_IA32_APP_FLAGS = /nologo /E /TC @@ -248,8 +258,8 @@ RELEASE_VS2003_IA32_CC_FLAGS = /nologo /c /WX /W4 /Gs8192 /Gy /D UNICODE DEBUG_VS2003_IA32_ASM_FLAGS = /nologo /c /WX /W3 /coff /Cx /Zd /Zi RELEASE_VS2003_IA32_ASM_FLAGS = /nologo /c /WX /W3 /coff /Cx /Zd *_VS2003_IA32_SLINK_FLAGS = /nologo /LTCG - DEBUG_VS2003_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /MACHINE:I386 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /DEBUG -RELEASE_VS2003_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /MACHINE:I386 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text + DEBUG_VS2003_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:I386 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /DEBUG +RELEASE_VS2003_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:I386 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text *_VS2003_IA32_ASMLINK_FLAGS = /nologo /tiny ################## @@ -263,6 +273,7 @@ RELEASE_VS2003_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:RE *_VS2003_EBC_CC_PATH = DEF(EBC_BIN)\iec.exe *_VS2003_EBC_SLINK_PATH = DEF(EBC_BIN)\link.exe *_VS2003_EBC_DLINK_PATH = DEF(EBC_BIN)\link.exe +*_VS2003_EBC_RC_PATH = DEF(VS2003_BIN)\rc.exe *_VS2003_EBC_MAKE_FLAGS = /nologo *_VS2003_EBC_PP_FLAGS = /nologo /E /TC /FIAutoGen.h @@ -306,6 +317,7 @@ RELEASE_VS2003_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:RE *_VS2003xASL_IA32_ASLCC_PATH = DEF(VS2003_BIN)\cl.exe *_VS2003xASL_IA32_ASLPP_PATH = DEF(VS2003_BIN)\cl.exe *_VS2003xASL_IA32_ASLDLINK_PATH = DEF(VS2003_BIN)\link.exe +*_VS2003xASL_IA32_RC_PATH = DEF(VS2003_BIN)\rc.exe *_VS2003xASL_IA32_MAKE_FLAGS = /nologo @@ -317,8 +329,8 @@ RELEASE_VS2003xASL_IA32_CC_FLAGS = /nologo /c /WX /W4 /Gs8192 /Gy /D UNIC DEBUG_VS2003xASL_IA32_ASM_FLAGS = /nologo /c /WX /W3 /coff /Cx /Zd /Zi RELEASE_VS2003xASL_IA32_ASM_FLAGS = /nologo /c /WX /W3 /coff /Cx /Zd *_VS2003xASL_IA32_SLINK_FLAGS = /nologo /LTCG - DEBUG_VS2003xASL_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /MACHINE:I386 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /DEBUG -RELEASE_VS2003xASL_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /MACHINE:I386 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text + DEBUG_VS2003xASL_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:I386 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /DEBUG +RELEASE_VS2003xASL_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:I386 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text *_VS2003xASL_IA32_ASMLINK_FLAGS = /nologo /tiny ################## @@ -332,6 +344,7 @@ RELEASE_VS2003xASL_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OP *_VS2003xASL_EBC_CC_PATH = DEF(EBC_BIN)\iec.exe *_VS2003xASL_EBC_SLINK_PATH = DEF(EBC_BIN)\link.exe *_VS2003xASL_EBC_DLINK_PATH = DEF(EBC_BIN)\link.exe +*_VS2003xASL_EBC_RC_PATH = DEF(VS2003_BIN)\rc.exe *_VS2003xASL_EBC_MAKE_FLAGS = /nologo *_VS2003xASL_EBC_PP_FLAGS = /nologo /E /TC /FIAutoGen.h @@ -352,6 +365,7 @@ RELEASE_VS2003xASL_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OP *_VS2005_*_MAKE_PATH = DEF(VS2005_BIN)\nmake.exe *_VS2005_*_MAKE_FLAGS = /nologo +*_VS2005_*_RC_PATH = DEF(VS2005_BIN)\rc.exe *_VS2005_*_SLINK_FLAGS = /NOLOGO /LTCG *_VS2005_*_APP_FLAGS = /nologo /E /TC @@ -391,8 +405,8 @@ RELEASE_VS2003xASL_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OP RELEASE_VS2005_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs8192 /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF DEBUG_VS2005_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd /Zi RELEASE_VS2005_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd - DEBUG_VS2005_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /MACHINE:I386 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /DEBUG -RELEASE_VS2005_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /MACHINE:I386 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text + DEBUG_VS2005_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:I386 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /DEBUG +RELEASE_VS2005_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:I386 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text *_VS2005_IA32_ASMLINK_FLAGS = /nologo /tiny ################## @@ -416,8 +430,8 @@ RELEASE_VS2005_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF RELEASE_VS2005_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs8192 /D UNICODE /O1ib2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF DEBUG_VS2005_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi RELEASE_VS2005_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd - DEBUG_VS2005_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /Machine:AMD64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /DEBUG -RELEASE_VS2005_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /Machine:AMD64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text + DEBUG_VS2005_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:AMD64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /DEBUG +RELEASE_VS2005_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:AMD64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text ################## # IPF definitions @@ -439,8 +453,8 @@ RELEASE_VS2005_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /O RELEASE_VS2005_IPF_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /EHs-c- /GR- /Gy /Os /GL /FIAutoGen.h /QIPF_fr32 DEBUG_VS2005_IPF_ASM_FLAGS = -N us -X explicit -M ilp64 -N so -W4 -d debug RELEASE_VS2005_IPF_ASM_FLAGS = -N us -X explicit -M ilp64 -N so -W4 - DEBUG_VS2005_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4086 /MAP /ALIGN:32 /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEBUG_DIR)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb /DEBUG -RELEASE_VS2005_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF.ICF /IGNORE:4086 /MAP /ALIGN:32 /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEBUG_DIR)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb + DEBUG_VS2005_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4086 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEBUG_DIR)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb /DEBUG +RELEASE_VS2005_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF.ICF /IGNORE:4086 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEBUG_DIR)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb ################## # EBC definitions @@ -473,6 +487,7 @@ RELEASE_VS2005_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF.ICF *_VS2005xASL_*_MAKE_PATH = DEF(VS2005_BIN)\nmake.exe *_VS2005xASL_*_MAKE_FLAG = /nologo +*_VS2005xASL_*_RC_PATH = DEF(VS2005_BIN)\rc.exe *_VS2005xASL_*_SLINK_FLAGS = /NOLOGO /LTCG *_VS2005xASL_*_APP_FLAGS = /nologo /E /TC @@ -512,8 +527,8 @@ RELEASE_VS2005_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF.ICF RELEASE_VS2005xASL_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs8192 /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF DEBUG_VS2005xASL_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd /Zi RELEASE_VS2005xASL_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd - DEBUG_VS2005xASL_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /MACHINE:I386 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /DEBUG -RELEASE_VS2005xASL_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /MACHINE:I386 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text + DEBUG_VS2005xASL_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:I386 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /DEBUG +RELEASE_VS2005xASL_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:I386 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text *_VS2005xASL_IA32_ASMLINK_FLAGS= /nologo /tiny ################## @@ -537,8 +552,8 @@ RELEASE_VS2005xASL_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:RE RELEASE_VS2005xASL_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs8192 /D UNICODE /O1ib2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF DEBUG_VS2005xASL_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi RELEASE_VS2005xASL_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd - DEBUG_VS2005xASL_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /Machine:AMD64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /DEBUG -RELEASE_VS2005xASL_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /Machine:AMD64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text + DEBUG_VS2005xASL_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:AMD64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /DEBUG +RELEASE_VS2005xASL_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:AMD64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text ################## # IPF definitions @@ -560,8 +575,8 @@ RELEASE_VS2005xASL_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:RE RELEASE_VS2005xASL_IPF_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /EHs-c- /GR- /Gy /Os /GL /FIAutoGen.h /QIPF_fr32 DEBUG_VS2005xASL_IPF_ASM_FLAGS = -N us -X explicit -M ilp64 -N so -W4 -d debug RELEASE_VS2005xASL_IPF_ASM_FLAGS = -N us -X explicit -M ilp64 -N so -W4 - DEBUG_VS2005xASL_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4086 /MAP /ALIGN:32 /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEBUG_DIR)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb /DEBUG -RELEASE_VS2005xASL_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF.ICF /IGNORE:4086 /MAP /ALIGN:32 /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEBUG_DIR)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb + DEBUG_VS2005xASL_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4086 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEBUG_DIR)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb /DEBUG +RELEASE_VS2005xASL_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF.ICF /IGNORE:4086 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEBUG_DIR)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb ################## # EBC definitions @@ -594,6 +609,7 @@ RELEASE_VS2005xASL_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF. *_VS2005x86_*_MAKE_PATH = DEF(VS2005x86_BIN)\nmake.exe *_VS2005x86_*_MAKE_FLAGS = /nologo +*_VS2005x86_*_RC_PATH = DEF(VS2005x86_BIN)\rc.exe *_VS2005x86_*_SLINK_FLAGS = /NOLOGO /LTCG *_VS2005x86_*_APP_FLAGS = /nologo /E /TC @@ -633,8 +649,8 @@ RELEASE_VS2005xASL_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF. RELEASE_VS2005x86_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs8192 /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF DEBUG_VS2005x86_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd /Zi RELEASE_VS2005x86_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd - DEBUG_VS2005x86_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /MACHINE:I386 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /DEBUG -RELEASE_VS2005x86_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /MACHINE:I386 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text + DEBUG_VS2005x86_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:I386 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /DEBUG +RELEASE_VS2005x86_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:I386 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text *_VS2005x86_IA32_ASMLINK_FLAGS= /nologo /tiny ################## @@ -658,8 +674,8 @@ RELEASE_VS2005x86_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF RELEASE_VS2005x86_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs8192 /D UNICODE /O1ib2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF DEBUG_VS2005x86_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi RELEASE_VS2005x86_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd - DEBUG_VS2005x86_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /Machine:AMD64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /DEBUG -RELEASE_VS2005x86_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /Machine:AMD64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text + DEBUG_VS2005x86_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:AMD64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /DEBUG +RELEASE_VS2005x86_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:AMD64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text ################## # IPF definitions @@ -681,8 +697,8 @@ RELEASE_VS2005x86_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF RELEASE_VS2005x86_IPF_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /EHs-c- /GR- /Gy /Os /GL /FIAutoGen.h /QIPF_fr32 DEBUG_VS2005x86_IPF_ASM_FLAGS = -N us -X explicit -M ilp64 -N so -W4 -d debug RELEASE_VS2005x86_IPF_ASM_FLAGS = -N us -X explicit -M ilp64 -N so -W4 - DEBUG_VS2005x86_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4086 /MAP /ALIGN:32 /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEBUG_DIR)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb /DEBUG -RELEASE_VS2005x86_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF.ICF /IGNORE:4086 /MAP /ALIGN:32 /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEBUG_DIR)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb + DEBUG_VS2005x86_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4086 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEBUG_DIR)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb /DEBUG +RELEASE_VS2005x86_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF.ICF /IGNORE:4086 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEBUG_DIR)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb ################## # EBC definitions @@ -715,6 +731,7 @@ RELEASE_VS2005x86_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF.I *_VS2005x86xASL_*_MAKE_PATH = DEF(VS2005x86_BIN)\nmake.exe *_VS2005x86xASL_*_MAKE_FLAGS = /nologo +*_VS2005x86xASL_*_RC_PATH = DEF(VS2005x86_BIN)\rc.exe *_VS2005x86xASL_*_SLINK_FLAGS = /NOLOGO /LTCG *_VS2005x86xASL_*_APP_FLAGS = /nologo /E /TC @@ -754,8 +771,8 @@ RELEASE_VS2005x86_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF.I RELEASE_VS2005x86xASL_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs8192 /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF DEBUG_VS2005x86xASL_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd /Zi RELEASE_VS2005x86xASL_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd - DEBUG_VS2005x86xASL_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /MACHINE:I386 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /DEBUG -RELEASE_VS2005x86xASL_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /MACHINE:I386 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text + DEBUG_VS2005x86xASL_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:I386 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /DEBUG +RELEASE_VS2005x86xASL_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:I386 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text *_VS2005x86xASL_IA32_ASMLINK_FLAGS= /nologo /tiny ################## @@ -779,8 +796,8 @@ RELEASE_VS2005x86xASL_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT RELEASE_VS2005x86xASL_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs8192 /D UNICODE /O1ib2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF DEBUG_VS2005x86xASL_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi RELEASE_VS2005x86xASL_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd - DEBUG_VS2005x86xASL_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /Machine:AMD64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /DEBUG -RELEASE_VS2005x86xASL_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /Machine:AMD64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text + DEBUG_VS2005x86xASL_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:AMD64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /DEBUG +RELEASE_VS2005x86xASL_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:AMD64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text ################## # IPF definitions @@ -802,8 +819,8 @@ RELEASE_VS2005x86xASL_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT RELEASE_VS2005x86xASL_IPF_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /EHs-c- /GR- /Gy /Os /GL /FIAutoGen.h /QIPF_fr32 DEBUG_VS2005x86xASL_IPF_ASM_FLAGS = -N us -X explicit -M ilp64 -N so -W4 -d debug RELEASE_VS2005x86xASL_IPF_ASM_FLAGS = -N us -X explicit -M ilp64 -N so -W4 - DEBUG_VS2005x86xASL_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4086 /MAP /ALIGN:32 /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEBUG_DIR)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb /DEBUG -RELEASE_VS2005x86xASL_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF.ICF /IGNORE:4086 /MAP /ALIGN:32 /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEBUG_DIR)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb + DEBUG_VS2005x86xASL_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4086 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEBUG_DIR)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb /DEBUG +RELEASE_VS2005x86xASL_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF.ICF /IGNORE:4086 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEBUG_DIR)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb ################## # EBC definitions @@ -836,6 +853,7 @@ RELEASE_VS2005x86xASL_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:R *_DDK3790_*_MAKE_PATH = DEF(WINDDK_BIN32)\nmake.exe *_DDK3790_*_MAKE_FLAGS = /nologo +*_DDK3790_*_RC_PATH = DEF(WINDDK_BIN32)\rc.exe *_DDK3790_*_PP_FLAGS = /nologo /E /TC /FIAutoGen.h *_DDK3790_*_APP_FLAGS = /nologo /E /TC @@ -871,8 +889,8 @@ RELEASE_VS2005x86xASL_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:R RELEASE_DDK3790_IA32_CC_FLAGS = /nologo /c /WX /W4 /Gy /Gs8192 /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF DEBUG_DDK3790_IA32_ASM_FLAGS = /nologo /c /WX /W3 /coff /Cx /Zd /Zi RELEASE_DDK3790_IA32_ASM_FLAGS = /nologo /c /WX /W3 /coff /Cx /Zd - DEBUG_DDK3790_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /MACHINE:I386 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /DEBUG -RELEASE_DDK3790_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /MACHINE:I386 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text + DEBUG_DDK3790_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:I386 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /DEBUG +RELEASE_DDK3790_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:I386 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text *_DDK3790_IA32_ASMLINK_FLAGS = /nologo /tiny ################## @@ -893,8 +911,8 @@ RELEASE_DDK3790_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF / RELEASE_DDK3790_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs8192 /D UNICODE /O1ib2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF DEBUG_DDK3790_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi RELEASE_DDK3790_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd - DEBUG_DDK3790_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /Machine:AMD64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /DEBUG -RELEASE_DDK3790_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /Machine:AMD64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text + DEBUG_DDK3790_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:AMD64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /DEBUG +RELEASE_DDK3790_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:AMD64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text ################## # IPF definitions @@ -915,8 +933,8 @@ RELEASE_DDK3790_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF / RELEASE_DDK3790_IPF_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /EHs-c- /GR- /Gy /Os /GL /FIAutoGen.h /QIPF_fr32 DEBUG_DDK3790_IPF_ASM_FLAGS = -N us -X explicit -M ilp64 -N so -W4 -d debug RELEASE_DDK3790_IPF_ASM_FLAGS = -N us -X explicit -M ilp64 -N so -W4 - DEBUG_DDK3790_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4086 /MAP /ALIGN:32 /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEST_DIR_DEBUG)/$(BASE_NAME).map /PDB:$(DEST_DIR_DEBUG)/$(BASE_NAME).pdb /DEBUG -RELEASE_DDK3790_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF.ICF /IGNORE:4086 /MAP /ALIGN:32 /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEST_DIR_DEBUG)/$(BASE_NAME).map /PDB:$(DEST_DIR_DEBUG)/$(BASE_NAME).pdb + DEBUG_DDK3790_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4086 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEST_DIR_DEBUG)/$(BASE_NAME).map /PDB:$(DEST_DIR_DEBUG)/$(BASE_NAME).pdb /DEBUG +RELEASE_DDK3790_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF.ICF /IGNORE:4086 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEST_DIR_DEBUG)/$(BASE_NAME).map /PDB:$(DEST_DIR_DEBUG)/$(BASE_NAME).pdb ################## # EBC definitions @@ -945,6 +963,7 @@ RELEASE_DDK3790_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF.ICF *_DDK3790xASL_*_MAKE_PATH = DEF(WINDDK_BIN32)\nmake.exe *_DDK3790xASL_*_MAKE_FLAGS = /nologo +*_DDK3790xASL_*_RC_PATH = DEF(WINDDK_BIN32)\rc.exe *_DDK3790xASL_*_PP_FLAGS = /nologo /E /TC /FIAutoGen.h *_DDK3790xASL_*_APP_FLAGS = /nologo /E /TC @@ -980,8 +999,8 @@ RELEASE_DDK3790_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF.ICF RELEASE_DDK3790xASL_IA32_CC_FLAGS = /nologo /c /WX /W4 /Gy /Gs8192 /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF DEBUG_DDK3790xASL_IA32_ASM_FLAGS = /nologo /c /WX /W3 /coff /Cx /Zd /Zi RELEASE_DDK3790xASL_IA32_ASM_FLAGS = /nologo /c /WX /W3 /coff /Cx /Zd - DEBUG_DDK3790xASL_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /MACHINE:I386 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /DEBUG -RELEASE_DDK3790xASL_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /MACHINE:I386 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text + DEBUG_DDK3790xASL_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:I386 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /DEBUG +RELEASE_DDK3790xASL_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:I386 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text *_DDK3790xASL_IA32_ASMLINK_FLAGS = /nologo /tiny ################## @@ -1002,8 +1021,8 @@ RELEASE_DDK3790xASL_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:R RELEASE_DDK3790xASL_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs8192 /D UNICODE /O1ib2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF DEBUG_DDK3790xASL_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi RELEASE_DDK3790xASL_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd - DEBUG_DDK3790xASL_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /Machine:AMD64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /DEBUG -RELEASE_DDK3790xASL_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /Machine:AMD64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text + DEBUG_DDK3790xASL_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:AMD64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /DEBUG +RELEASE_DDK3790xASL_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:AMD64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text ################## # IPF definitions @@ -1024,8 +1043,8 @@ RELEASE_DDK3790xASL_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:R RELEASE_DDK3790xASL_IPF_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /EHs-c- /GR- /Gy /Os /GL /FIAutoGen.h /QIPF_fr32 DEBUG_DDK3790xASL_IPF_ASM_FLAGS = -N us -X explicit -M ilp64 -N so -W4 -d debug RELEASE_DDK3790xASL_IPF_ASM_FLAGS = -N us -X explicit -M ilp64 -N so -W4 - DEBUG_DDK3790xASL_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4086 /MAP /ALIGN:32 /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEST_DIR_DEBUG)/$(BASE_NAME).map /PDB:$(DEST_DIR_DEBUG)/$(BASE_NAME).pdb /DEBUG -RELEASE_DDK3790xASL_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF.ICF /IGNORE:4086 /MAP /ALIGN:32 /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEST_DIR_DEBUG)/$(BASE_NAME).map /PDB:$(DEST_DIR_DEBUG)/$(BASE_NAME).pdb + DEBUG_DDK3790xASL_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4086 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEST_DIR_DEBUG)/$(BASE_NAME).map /PDB:$(DEST_DIR_DEBUG)/$(BASE_NAME).pdb /DEBUG +RELEASE_DDK3790xASL_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF.ICF /IGNORE:4086 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEST_DIR_DEBUG)/$(BASE_NAME).map /PDB:$(DEST_DIR_DEBUG)/$(BASE_NAME).pdb ################## # EBC definitions @@ -1104,8 +1123,10 @@ DEFINE UNIXGCC_DLINK_FLAGS_COMMON = -nostdlib -s --pie *_UNIXGCC_IA32_ASLDLINK_PATH = DEF(UNIXGCC_IA32_PETOOLS_PREFIX)ld *_UNIXGCC_IA32_ASM_PATH = DEF(UNIXGCC_IA32_PETOOLS_PREFIX)gcc *_UNIXGCC_IA32_VFRPP_PATH = DEF(UNIXGCC_IA32_PETOOLS_PREFIX)gcc +*_UNIXGCC_IA32_RC_PATH = DEF(UNIXGCC_IA32_PETOOLS_PREFIX)windres *_UNIXGCC_IA32_CC_FLAGS = -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-missing-braces -Wno-array-bounds -c -include AutoGen.h -m32 -malign-double -freorder-blocks -freorder-blocks-and-partition +*_UNIXGCC_IA32_RC_FLAGS = -J rc -O coff ################## # X64 definitions @@ -1119,8 +1140,10 @@ DEFINE UNIXGCC_DLINK_FLAGS_COMMON = -nostdlib -s --pie *_UNIXGCC_X64_PP_PATH = DEF(UNIXGCC_X64_PETOOLS_PREFIX)gcc *_UNIXGCC_X64_ASLPP_PATH = DEF(UNIXGCC_X64_PETOOLS_PREFIX)gcc *_UNIXGCC_X64_VFRPP_PATH = DEF(UNIXGCC_X64_PETOOLS_PREFIX)gcc +*_UNIXGCC_X64_RC_PATH = DEF(UNIXGCC_X64_PETOOLS_PREFIX)windres *_UNIXGCC_X64_CC_FLAGS = -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-missing-braces -Wno-array-bounds -c -include AutoGen.h -mno-red-zone -Wno-address +*_UNIXGCC_X64_RC_FLAGS = -J rc -O coff ################## # IPF definitions @@ -1136,11 +1159,13 @@ DEFINE UNIXGCC_DLINK_FLAGS_COMMON = -nostdlib -s --pie *_UNIXGCC_IPF_VFRPP_PATH = DEF(UNIXGCC_IPF_PETOOLS_PREFIX)gcc *_UNIXGCC_IPF_OBJCOPY_PATH = DEF(UNIXGCC_IPF_PETOOLS_PREFIX)objcopy *_UNIXGCC_IPF_SYMRENAME_PATH = DEF(UNIXGCC_IPF_PETOOLS_PREFIX)objcopy +*_UNIXGCC_IPF_RC_PATH = DEF(UNIXGCC_IPF_PETOOLS_PREFIX)objcopy *_UNIXGCC_IPF_CC_FLAGS = -Os -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-missing-braces -Wno-array-bounds -c -include AutoGen.h -minline-int-divide-min-latency *_UNIXGCC_IPF_DLINK_FLAGS = -nostdlib -O2 --gc-sections --dll -static --entry $(IMAGE_ENTRY_POINT) --undefined $(IMAGE_ENTRY_POINT) -Map $(DEST_DIR_DEBUG)/$(BASE_NAME).map *_UNIXGCC_IPF_OBJCOPY_FLAGS = -I elf64-ia64-little -O efi-bsdrv-ia64 *_UNIXGCC_IPF_SYMRENAME_FLAGS = --redefine-sym memcpy=CopyMem +*_UNIXGCC_IPF_RC_FLAGS = -I binary -O elf64-ia64 --rename-section .data=.hii #################################################################################### # @@ -1152,7 +1177,7 @@ DEFINE UNIXGCC_DLINK_FLAGS_COMMON = -nostdlib -s --pie *_CYGGCC_*_*_FAMILY = GCC *_CYGGCC_*_*_DLL = DEF(CYGWIN_BIN) -*_CYGGCC_*_MAKE_PATH = DEF(VS2003_BIN)\nmake.exe +*_CYGGCC_*_MAKE_PATH = DEF(MS_VS_BIN)\nmake.exe *_CYGGCC_*_MAKE_FLAGS = /nologo *_CYGGCC_*_PP_FLAGS = -E -x assembler-with-cpp -include AutoGen.h @@ -1174,18 +1199,20 @@ DEFINE UNIXGCC_DLINK_FLAGS_COMMON = -nostdlib -s --pie ################## # IA32 definitions ################## -*_CYGGCC_IA32_CC_PATH = DEF(CYGWIN_BIN32)gcc -*_CYGGCC_IA32_SLINK_PATH = DEF(CYGWIN_BIN32)ar -*_CYGGCC_IA32_DLINK_PATH = DEF(CYGWIN_BIN32)ld -*_CYGGCC_IA32_ASM_PATH = DEF(CYGWIN_BIN32)gcc -*_CYGGCC_IA32_PP_PATH = DEF(CYGWIN_BIN32)gcc -*_CYGGCC_IA32_APP_PATH = DEF(CYGWIN_BIN32)gcc -*_CYGGCC_IA32_VFRPP_PATH = DEF(CYGWIN_BIN32)gcc -*_CYGGCC_IA32_ASLCC_PATH = DEF(CYGWIN_BIN32)gcc -*_CYGGCC_IA32_ASLPP_PATH = DEF(CYGWIN_BIN32)gcc -*_CYGGCC_IA32_ASLDLINK_PATH = DEF(CYGWIN_BIN32)ld +*_CYGGCC_IA32_CC_PATH = DEF(CYGWIN_BINIA32)gcc +*_CYGGCC_IA32_SLINK_PATH = DEF(CYGWIN_BINIA32)ar +*_CYGGCC_IA32_DLINK_PATH = DEF(CYGWIN_BINIA32)ld +*_CYGGCC_IA32_ASM_PATH = DEF(CYGWIN_BINIA32)gcc +*_CYGGCC_IA32_PP_PATH = DEF(CYGWIN_BINIA32)gcc +*_CYGGCC_IA32_APP_PATH = DEF(CYGWIN_BINIA32)gcc +*_CYGGCC_IA32_VFRPP_PATH = DEF(CYGWIN_BINIA32)gcc +*_CYGGCC_IA32_ASLCC_PATH = DEF(CYGWIN_BINIA32)gcc +*_CYGGCC_IA32_ASLPP_PATH = DEF(CYGWIN_BINIA32)gcc +*_CYGGCC_IA32_ASLDLINK_PATH = DEF(CYGWIN_BINIA32)ld +*_CYGGCC_IA32_RC_PATH = DEF(CYGWIN_BINIA32)windres *_CYGGCC_IA32_CC_FLAGS = -Os -fshort-wchar -fno-strict-aliasing -Wall -Werror -c -include AutoGen.h +*_CYGGCC_IA32_RC_FLAGS = -J rc -O coff ################## # X64 definitions @@ -1200,8 +1227,10 @@ DEFINE UNIXGCC_DLINK_FLAGS_COMMON = -nostdlib -s --pie *_CYGGCC_X64_ASLCC_PATH = DEF(CYGWIN_BINX64)gcc *_CYGGCC_X64_ASLPP_PATH = DEF(CYGWIN_BINX64)gcc *_CYGGCC_X64_ASLDLINK_PATH = DEF(CYGWIN_BINX64)ld +*_CYGGCC_X64_RC_PATH = DEF(CYGWIN_BINX64)windres *_CYGGCC_X64_CC_FLAGS = -Os -fshort-wchar -fno-strict-aliasing -mno-red-zone -Wall -Werror -c -include AutoGen.h -D_EFI_P64 +*_CYGGCC_X64_RC_FLAGS = -J rc -O coff ################## # IPF definitions @@ -1217,11 +1246,13 @@ DEFINE UNIXGCC_DLINK_FLAGS_COMMON = -nostdlib -s --pie *_CYGGCC_IPF_ASLPP_PATH = DEF(CYGWIN_BINIPF)gcc *_CYGGCC_IPF_OBJCOPY_PATH = DEF(CYGWIN_BINIPF)objcopy *_CYGGCC_IPF_SYMRENAME_PATH = DEF(CYGWIN_BINIPF)objcopy +*_CYGGCC_IPF_RC_PATH = DEF(CYGWIN_BINIPF)objcopy *_CYGGCC_IPF_CC_FLAGS = -Os -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-missing-braces -Wno-array-bounds -c -include AutoGen.h -minline-int-divide-min-latency *_CYGGCC_IPF_DLINK_FLAGS = -nostdlib -O2 --gc-sections --dll -static --entry $(IMAGE_ENTRY_POINT) --undefined $(IMAGE_ENTRY_POINT) -Map $(DEST_DIR_DEBUG)/$(BASE_NAME).map *_CYGGCC_IPF_OBJCOPY_FLAGS = -I elf64-ia64-little -O efi-bsdrv-ia64 *_CYGGCC_IPF_SYMRENAME_FLAGS = --redefine-sym memcpy=CopyMem +*_CYGGCC_IPF_RC_FLAGS = -I binary -O elf64-ia64 --rename-section .data=.hii ################## # EBC definitions @@ -1233,6 +1264,7 @@ DEFINE UNIXGCC_DLINK_FLAGS_COMMON = -nostdlib -s --pie *_CYGGCC_EBC_DLINK_PATH = DEF(EBC_BIN)\link.exe *_CYGGCC_EBC_SLINK_PATH = DEF(EBC_BIN)\link.exe *_CYGGCC_EBC_VFRPP_PATH = DEF(EBC_BIN)\iec.exe +*_CYGGCC_EBC_RC_PATH = DEF(MS_VS_BIN)\rc.exe *_CYGGCC_EBC_CC_FLAGS = /nologo /c /WX /W3 /FIAutoGen.h /D$(MODULE_ENTRY_POINT)=$(ARCH_ENTRY_POINT) *_CYGGCC_EBC_SLINK_FLAGS = /lib /NOLOGO /MACHINE:EBC @@ -1248,7 +1280,7 @@ DEFINE UNIXGCC_DLINK_FLAGS_COMMON = -nostdlib -s --pie *_CYGGCCxASL_*_*_FAMILY = GCC *_CYGGCCxASL_*_*_DLL = DEF(CYGWIN_BIN) -*_CYGGCCxASL_*_MAKE_PATH = DEF(VS2003_BIN)\nmake.exe +*_CYGGCCxASL_*_MAKE_PATH = DEF(MS_VS_BIN)\nmake.exe *_CYGGCCxASL_*_MAKE_FLAGS = /nologo *_CYGGCCxASL_*_PP_FLAGS = -E -x assembler-with-cpp -include AutoGen.h @@ -1270,18 +1302,20 @@ DEFINE UNIXGCC_DLINK_FLAGS_COMMON = -nostdlib -s --pie ################## # IA32 definitions ################## -*_CYGGCCxASL_IA32_CC_PATH = DEF(CYGWIN_BIN32)gcc -*_CYGGCCxASL_IA32_SLINK_PATH = DEF(CYGWIN_BIN32)ar -*_CYGGCCxASL_IA32_DLINK_PATH = DEF(CYGWIN_BIN32)ld -*_CYGGCCxASL_IA32_ASM_PATH = DEF(CYGWIN_BIN32)gcc -*_CYGGCCxASL_IA32_PP_PATH = DEF(CYGWIN_BIN32)gcc -*_CYGGCCxASL_IA32_APP_PATH = DEF(CYGWIN_BIN32)gcc -*_CYGGCCxASL_IA32_VFRPP_PATH = DEF(CYGWIN_BIN32)gcc -*_CYGGCCxASL_IA32_ASLCC_PATH = DEF(CYGWIN_BIN32)gcc -*_CYGGCCxASL_IA32_ASLPP_PATH = DEF(CYGWIN_BIN32)gcc -*_CYGGCCxASL_IA32_ASLDLINK_PATH = DEF(CYGWIN_BIN32)ld +*_CYGGCCxASL_IA32_CC_PATH = DEF(CYGWIN_BINIA32)gcc +*_CYGGCCxASL_IA32_SLINK_PATH = DEF(CYGWIN_BINIA32)ar +*_CYGGCCxASL_IA32_DLINK_PATH = DEF(CYGWIN_BINIA32)ld +*_CYGGCCxASL_IA32_ASM_PATH = DEF(CYGWIN_BINIA32)gcc +*_CYGGCCxASL_IA32_PP_PATH = DEF(CYGWIN_BINIA32)gcc +*_CYGGCCxASL_IA32_APP_PATH = DEF(CYGWIN_BINIA32)gcc +*_CYGGCCxASL_IA32_VFRPP_PATH = DEF(CYGWIN_BINIA32)gcc +*_CYGGCCxASL_IA32_ASLCC_PATH = DEF(CYGWIN_BINIA32)gcc +*_CYGGCCxASL_IA32_ASLPP_PATH = DEF(CYGWIN_BINIA32)gcc +*_CYGGCCxASL_IA32_ASLDLINK_PATH = DEF(CYGWIN_BINIA32)ld +*_CYGGCCxASL_IA32_RC_PATH = DEF(CYGWIN_BINIA32)windres *_CYGGCCxASL_IA32_CC_FLAGS = -Os -fshort-wchar -fno-strict-aliasing -Wall -Werror -c -include AutoGen.h +*_CYGGCCxASL_IA32_RC_FLAGS = -J rc -O coff ################## # X64 definitions @@ -1296,8 +1330,10 @@ DEFINE UNIXGCC_DLINK_FLAGS_COMMON = -nostdlib -s --pie *_CYGGCCxASL_X64_ASLCC_PATH = DEF(CYGWIN_BINX64)gcc *_CYGGCCxASL_X64_ASLPP_PATH = DEF(CYGWIN_BINX64)gcc *_CYGGCCxASL_X64_ASLDLINK_PATH = DEF(CYGWIN_BINX64)ld +*_CYGGCCxASL_X64_RC_PATH = DEF(CYGWIN_BINX64)windres *_CYGGCCxASL_X64_CC_FLAGS = -Os -fshort-wchar -fno-strict-aliasing -mno-red-zone -Wall -Werror -c -include AutoGen.h -D_EFI_P64 +*_CYGGCCxASL_X64_RC_FLAGS = -J rc -O coff ################## # IPF definitions @@ -1313,11 +1349,13 @@ DEFINE UNIXGCC_DLINK_FLAGS_COMMON = -nostdlib -s --pie *_CYGGCCxASL_IPF_ASLPP_PATH = DEF(CYGWIN_BINIPF)gcc *_CYGGCCxASL_IPF_OBJCOPY_PATH = DEF(CYGWIN_BINIPF)objcopy *_CYGGCCxASL_IPF_SYMRENAME_PATH = DEF(CYGWIN_BINIPF)objcopy +*_CYGGCCxASL_IPF_RC_PATH = DEF(CYGWIN_BINIPF)objcopy *_CYGGCCxASL_IPF_CC_FLAGS = -Os -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-missing-braces -Wno-array-bounds -c -include AutoGen.h -minline-int-divide-min-latency *_CYGGCCxASL_IPF_DLINK_FLAGS = -nostdlib -O2 --gc-sections --dll -static --entry $(IMAGE_ENTRY_POINT) --undefined $(IMAGE_ENTRY_POINT) -Map $(DEST_DIR_DEBUG)/$(BASE_NAME).map *_CYGGCCxASL_IPF_OBJCOPY_FLAGS = -I elf64-ia64-little -O efi-bsdrv-ia64 *_CYGGCCxASL_IPF_SYMRENAME_FLAGS = --redefine-sym memcpy=CopyMem +*_CYGGCCxASL_IPF_RC_FLAGS = -I binary -O elf64-ia64 --rename-section .data=.hii ################## # EBC definitions @@ -1329,6 +1367,7 @@ DEFINE UNIXGCC_DLINK_FLAGS_COMMON = -nostdlib -s --pie *_CYGGCCxASL_EBC_DLINK_PATH = DEF(EBC_BIN)\link.exe *_CYGGCCxASL_EBC_SLINK_PATH = DEF(EBC_BIN)\link.exe *_CYGGCCxASL_EBC_VFRPP_PATH = DEF(EBC_BIN)\iec.exe +*_CYGGCCxASL_EBC_RC_PATH = DEF(MS_VS_BIN)\rc.exe *_CYGGCCxASL_EBC_CC_FLAGS = /nologo /c /WX /W3 /FIAutoGen.h /D$(MODULE_ENTRY_POINT)=$(ARCH_ENTRY_POINT) *_CYGGCCxASL_EBC_SLINK_FLAGS = /lib /NOLOGO /MACHINE:EBC @@ -1369,6 +1408,7 @@ DEFINE UNIXGCC_DLINK_FLAGS_COMMON = -nostdlib -s --pie *_ELFGCC32_IA32_ASLCC_PATH = DEF(ELFGCC_BIN)/gcc *_ELFGCC32_IA32_ASLPP_PATH = DEF(ELFGCC_BIN)/gcc *_ELFGCC32_IA32_ASLDLINK_PATH = DEF(ELFGCC_BIN)/ld +*_ELFGCC_IA32_RC_PATH = DEF(ELFGCC_BIN)/objcopy *_ELFGCC_IA32_CC_FLAGS = -m32 -g -fshort-wchar -fno-strict-aliasing -Wall -malign-double -c -include $(DEST_DIR_DEBUG)/AutoGen.h -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings *_ELFGCC_IA32_SLINK_FLAGS = @@ -1377,6 +1417,7 @@ DEFINE UNIXGCC_DLINK_FLAGS_COMMON = -nostdlib -s --pie *_ELFGCC_IA32_ASM_FLAGS = -c -x assembler -imacros $(DEST_DIR_DEBUG)/AutoGen.h *_ELFGCC_IA32_PP_FLAGS = -m32 -E -x assembler-with-cpp -include $(DEST_DIR_DEBUG)/AutoGen.h *_ELFGCC_IA32_VFRPP_FLAGS = -x c -E -P -DVFRCOMPILE --include $(DEST_DIR_DEBUG)/$(MODULE_NAME)StrDefs.h +*_ELFGCC_IA32_RC_FLAGS = -I binary -O elf32-i386 -B i386 --rename-section .data=.hii ################## # X64 definitions @@ -1390,6 +1431,7 @@ DEFINE UNIXGCC_DLINK_FLAGS_COMMON = -nostdlib -s --pie *_ELFGCC_X64_PP_PATH = DEF(ELFGCC_BIN)/gcc *_ELFGCC_X64_ASLPP_PATH = DEF(ELFGCC_BIN)/gcc *_ELFGCC_X64_VFRPP_PATH = DEF(ELFGCC_BIN)/gcc +*_ELFGCC_X64_RC_PATH = DEF(ELFGCC_BIN)/objcopy *_ELFGCC_X64_CC_FLAGS = -Os -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-missing-braces -Wno-address -Wno-array-bounds -c -include AutoGen.h -D_EFI_P64 *_ELFGCC_X64_DLINK_FLAGS = -nostdlib --shared --entry $(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) @@ -1397,6 +1439,7 @@ DEFINE UNIXGCC_DLINK_FLAGS_COMMON = -nostdlib -s --pie *_ELFGCC_X64_ASM_FLAGS = -c -x assembler -imacros $(DEST_DIR_DEBUG)/AutoGen.h *_ELFGCC_X64_PP_FLAGS = -E -x assembler-with-cpp -include $(DEST_DIR_DEBUG)/AutoGen.h *_ELFGCC_X64_VFRPP_FLAGS = -x c -E -P -DVFRCOMPILE --include $(DEST_DIR_DEBUG)/$(MODULE_NAME)StrDefs.h +*_ELFGCC_X64_RC_FLAGS = -I binary -O elf64-x86-64 -B i386 --rename-section .data=.hii ################## # IPF definitions @@ -1410,6 +1453,7 @@ DEFINE UNIXGCC_DLINK_FLAGS_COMMON = -nostdlib -s --pie *_ELFGCC_IPF_PP_PATH = DEF(ELFGCC_BIN)/gcc *_ELFGCC_IPF_ASLPP_PATH = DEF(ELFGCC_BIN)/gcc *_ELFGCC_IPF_VFRPP_PATH = DEF(ELFGCC_BIN)/gcc +*_ELFGCC_IPF_RC_PATH = DEF(ELFGCC_BIN)/objcopy *_ELFGCC_IPF_CC_FLAGS = -Os -fshort-wchar -Wall -Werror -c -include AutoGen.h -D_EFI_P64 *_ELFGCC_IPF_DLINK_FLAGS = -nostdlib --shared --entry $(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) @@ -1417,6 +1461,7 @@ DEFINE UNIXGCC_DLINK_FLAGS_COMMON = -nostdlib -s --pie *_ELFGCC_IPF_ASM_FLAGS = -c -x assembler -imacros $(DEST_DIR_DEBUG)/AutoGen.h *_ELFGCC_IPF_PP_FLAGS = -E -x assembler-with-cpp -include $(DEST_DIR_DEBUG)/AutoGen.h *_ELFGCC_IPF_VFRPP_FLAGS = -x c -E -P -DVFRCOMPILE --include $(DEST_DIR_DEBUG)/$(MODULE_NAME)StrDefs.h +*_ELFGCC_IPF_RC_FLAGS = -I binary -O elf64-ia64-little -B ia64 --rename-section .data=.hii #################################################################################### # @@ -1429,7 +1474,8 @@ DEFINE UNIXGCC_DLINK_FLAGS_COMMON = -nostdlib -s --pie # ICC - Intel C Compiler V9.1 *_ICC_*_*_FAMILY = INTEL -*_ICC_*_MAKE_PATH = DEF(VS2005_BIN)\nmake.exe +*_ICC_*_MAKE_PATH = DEF(MS_VS_BIN)\nmake.exe +*_ICC_*_RC_PATH = DEF(MS_VS_BIN)\rc.exe *_ICC_*_MAKE_FLAGS = /nologo *_ICC_*_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h @@ -1452,14 +1498,14 @@ DEFINE UNIXGCC_DLINK_FLAGS_COMMON = -nostdlib -s --pie *_ICC_IA32_CC_PATH = DEF(ICC_BIN32)\icl.exe *_ICC_IA32_SLINK_PATH = DEF(ICC_BIN32)\xilib.exe # xilib.exe needs lib.exe from Visual Studio -*_ICC_IA32_SLINK_DLL = DEF(VS2005_BIN) +*_ICC_IA32_SLINK_DLL = DEF(MS_VS_BIN) *_ICC_IA32_DLINK_PATH = DEF(ICC_BIN32)\xilink.exe *_ICC_IA32_ASMLINK_PATH = DEF(WINDDK_BIN16)\link16.exe *_ICC_IA32_PP_PATH = DEF(ICC_BIN32)\icl.exe *_ICC_IA32_VFRPP_PATH = DEF(ICC_BIN32)\icl.exe *_ICC_IA32_APP_PATH = DEF(ICC_BIN32)\icl.exe -*_ICC_IA32_ASM_PATH = DEF(VS2005_BIN)\ml.exe -*_ICC_IA32_ASM_DLL = DEF(VS2005_DLL) +*_ICC_IA32_ASM_PATH = DEF(MS_VS_BIN)\ml.exe +*_ICC_IA32_ASM_DLL = DEF(MS_VS_DLL) *_ICC_IA32_ASLCC_PATH = DEF(ICC_BIN32)\icl.exe *_ICC_IA32_ASLPP_PATH = DEF(ICC_BIN32)\icl.exe *_ICC_IA32_ASLDLINK_PATH = DEF(ICC_BIN32)\xilink.exe @@ -1469,8 +1515,8 @@ RELEASE_ICC_IA32_CC_FLAGS = /nologo /c /WX /W4 /Gy /Gs8192 /D UNI DEBUG_ICC_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Zd /Zi RELEASE_ICC_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Zd *_ICC_IA32_SLINK_FLAGS = /nologo - DEBUG_ICC_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /MACHINE:I386 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /DEBUG -RELEASE_ICC_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /MACHINE:I386 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text + DEBUG_ICC_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:I386 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /DEBUG +RELEASE_ICC_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:I386 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text *_ICC_IA32_ASMLINK_FLAGS = /nologo /tiny ################## @@ -1479,13 +1525,13 @@ RELEASE_ICC_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /O *_ICC_X64_CC_PATH = DEF(ICC_BINX64)\icl.exe *_ICC_X64_SLINK_PATH = DEF(ICC_BINX64)\xilib.exe # xilib.exe needs lib.exe from Visual Studio -*_ICC_X64_SLINK_DLL = DEF(VS2005_BIN) +*_ICC_X64_SLINK_DLL = DEF(MS_VS_BIN) *_ICC_X64_DLINK_PATH = DEF(ICC_BINX64)\xilink.exe *_ICC_X64_PP_PATH = DEF(ICC_BINX64)\icl.exe *_ICC_X64_VFRPP_PATH = DEF(ICC_BINX64)\icl.exe *_ICC_X64_APP_PATH = DEF(ICC_BINX64)\icl.exe *_ICC_X64_ASM_PATH = DEF(WINDDK_BINX64)\ml64.exe -*_ICC_X64_ASM_DLL = DEF(VS2005_DLL) +*_ICC_X64_ASM_DLL = DEF(MS_VS_DLL) *_ICC_X64_ASLCC_PATH = DEF(ICC_BINX64)\icl.exe *_ICC_X64_ASLPP_PATH = DEF(ICC_BINX64)\icl.exe *_ICC_X64_ASLDLINK_PATH = DEF(ICC_BINX64)\xilink.exe @@ -1494,8 +1540,8 @@ RELEASE_ICC_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /O RELEASE_ICC_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs8192 /D UNICODE /O1ib2s /GL /Gy /FI$(DEST_DIR_DEBUG)/AutoGen.h /EHs-c- /GF DEBUG_ICC_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi RELEASE_ICC_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd - DEBUG_ICC_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /Machine:AMD64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /DEBUG -RELEASE_ICC_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /Machine:AMD64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text + DEBUG_ICC_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:AMD64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /DEBUG +RELEASE_ICC_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:AMD64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text *_ICC_X64_SLINK_FLAGS = /nologo /LTCG @@ -1504,10 +1550,10 @@ RELEASE_ICC_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /O ################## *_ICC_IPF_CC_PATH = DEF(ICC_BIN64)\icl.exe # icl.exe needs cl.exe from Visual Studio -*_ICC_IPF_CC_DLL = DEF(VS2005_BIN) +*_ICC_IPF_CC_DLL = DEF(MS_VS_BIN) *_ICC_IPF_SLINK_PATH = DEF(ICC_BIN64)\xilib.exe # xilib.exe needs lib.exe from Visual Studio -*_ICC_IPF_SLINK_DLL = DEF(VS2005_BIN);DEF(VS2005_DLL) +*_ICC_IPF_SLINK_DLL = DEF(MS_VS_BIN);DEF(MS_VS_DLL) *_ICC_IPF_DLINK_PATH = DEF(ICC_BIN64)\xilink.exe *_ICC_IPF_PP_PATH = DEF(ICC_BIN64)\icl.exe *_ICC_IPF_VFRPP_PATH = DEF(ICC_BIN64)\icl.exe @@ -1521,8 +1567,8 @@ RELEASE_ICC_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /O RELEASE_ICC_IPF_CC_FLAGS = /nologo /c /WX /W4 /GX /Gy /Od /FI$(DEST_DIR_DEBUG)/AutoGen.h /QIA64_fr32 /GF DEBUG_ICC_IPF_ASM_FLAGS = -N us -X explicit -M ilp64 -N so -W3 -d debug -F COFF32 RELEASE_ICC_IPF_ASM_FLAGS = -N us -X explicit -M ilp64 -N so -W3 -F COFF32 - DEBUG_ICC_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4086 /MAP /ALIGN:64 /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEST_DIR_DEBUG)/$(BASE_NAME).map /PDB:$(DEST_DIR_DEBUG)/$(BASE_NAME).pdb /DEBUG -RELEASE_ICC_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4086 /MAP /ALIGN:64 /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEST_DIR_DEBUG)/$(BASE_NAME).map /PDB:$(DEST_DIR_DEBUG)/$(BASE_NAME).pdb + DEBUG_ICC_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4086 /MAP /ALIGN:64 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEST_DIR_DEBUG)/$(BASE_NAME).map /PDB:$(DEST_DIR_DEBUG)/$(BASE_NAME).pdb /DEBUG +RELEASE_ICC_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4086 /MAP /ALIGN:64 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEST_DIR_DEBUG)/$(BASE_NAME).map /PDB:$(DEST_DIR_DEBUG)/$(BASE_NAME).pdb *_ICC_IPF_SLINK_FLAGS = /nologo ################## @@ -1530,7 +1576,7 @@ RELEASE_ICC_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT ################## *_ICC_EBC_*_FAMILY = INTEL -*_ICC_EBC_MAKE_PATH = DEF(VS2005_BIN)\nmake.exe +*_ICC_EBC_MAKE_PATH = DEF(MS_VS_BIN)\nmake.exe *_ICC_EBC_PP_PATH = DEF(EBC_BIN)\iec.exe *_ICC_EBC_VFRPP_PATH = DEF(EBC_BIN)\iec.exe *_ICC_EBC_CC_PATH = DEF(EBC_BIN)\iec.exe @@ -1555,7 +1601,8 @@ RELEASE_ICC_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT # ICCxASL - Intel C Compiler V9.1 *_ICCxASL_*_*_FAMILY = INTEL -*_ICCxASL_*_MAKE_PATH = DEF(VS2005_BIN)\nmake.exe +*_ICCxASL_*_MAKE_PATH = DEF(MS_VS_BIN)\nmake.exe +*_ICCxASL_*_RC_PATH = DEF(MS_VS_BIN)\rc.exe *_ICCxASL_*_MAKE_FLAGS = /nologo *_ICCxASL_*_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h @@ -1578,14 +1625,14 @@ RELEASE_ICC_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT *_ICCxASL_IA32_CC_PATH = DEF(ICC_BIN32)\icl.exe *_ICCxASL_IA32_SLINK_PATH = DEF(ICC_BIN32)\xilib.exe # xilib.exe needs lib.exe from Visual Studio -*_ICCxASL_IA32_SLINK_DLL = DEF(VS2005_BIN) +*_ICCxASL_IA32_SLINK_DLL = DEF(MS_VS_BIN) *_ICCxASL_IA32_DLINK_PATH = DEF(ICC_BIN32)\xilink.exe *_ICCxASL_IA32_ASMLINK_PATH = DEF(WINDDK_BIN16)\link16.exe *_ICCxASL_IA32_PP_PATH = DEF(ICC_BIN32)\icl.exe *_ICCxASL_IA32_VFRPP_PATH = DEF(ICC_BIN32)\icl.exe *_ICCxASL_IA32_APP_PATH = DEF(ICC_BIN32)\icl.exe -*_ICCxASL_IA32_ASM_PATH = DEF(VS2005_BIN)\ml.exe -*_ICCxASL_IA32_ASM_DLL = DEF(VS2005_DLL) +*_ICCxASL_IA32_ASM_PATH = DEF(MS_VS_BIN)\ml.exe +*_ICCxASL_IA32_ASM_DLL = DEF(MS_VS_DLL) *_ICCxASL_IA32_ASLCC_PATH = DEF(ICC_BIN32)\icl.exe *_ICCxASL_IA32_ASLPP_PATH = DEF(ICC_BIN32)\icl.exe *_ICCxASL_IA32_ASLDLINK_PATH = DEF(ICC_BIN32)\xilink.exe @@ -1595,8 +1642,8 @@ RELEASE_ICCxASL_IA32_CC_FLAGS = /nologo /c /WX /W4 /Gy /Gs8192 /D DEBUG_ICCxASL_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Zd /Zi RELEASE_ICCxASL_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Zd *_ICCxASL_IA32_SLINK_FLAGS = /nologo - DEBUG_ICCxASL_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /MACHINE:I386 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /DEBUG -RELEASE_ICCxASL_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /MACHINE:I386 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text + DEBUG_ICCxASL_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:I386 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /DEBUG +RELEASE_ICCxASL_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:I386 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text *_ICCxASL_IA32_ASMLINK_FLAGS = /nologo /tiny ################## @@ -1605,13 +1652,13 @@ RELEASE_ICCxASL_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:408 *_ICCxASL_X64_CC_PATH = DEF(ICC_BINX64)\icl.exe *_ICCxASL_X64_SLINK_PATH = DEF(ICC_BINX64)\xilib.exe # xilib.exe needs lib.exe from Visual Studio -*_ICCxASL_X64_SLINK_DLL = DEF(VS2005_BIN) +*_ICCxASL_X64_SLINK_DLL = DEF(MS_VS_BIN) *_ICCxASL_X64_DLINK_PATH = DEF(ICC_BINX64)\xilink.exe *_ICCxASL_X64_PP_PATH = DEF(ICC_BINX64)\icl.exe *_ICCxASL_X64_VFRPP_PATH = DEF(ICC_BINX64)\icl.exe *_ICCxASL_X64_APP_PATH = DEF(ICC_BINX64)\icl.exe *_ICCxASL_X64_ASM_PATH = DEF(WINDDK_BINX64)\ml64.exe -*_ICCxASL_X64_ASM_DLL = DEF(VS2005_DLL) +*_ICCxASL_X64_ASM_DLL = DEF(MS_VS_DLL) *_ICCxASL_X64_ASLCC_PATH = DEF(ICC_BINX64)\icl.exe *_ICCxASL_X64_ASLPP_PATH = DEF(ICC_BINX64)\icl.exe *_ICCxASL_X64_ASLDLINK_PATH = DEF(ICC_BINX64)\xilink.exe @@ -1620,8 +1667,8 @@ RELEASE_ICCxASL_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:408 RELEASE_ICCxASL_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs8192 /D UNICODE /O1ib2s /GL /Gy /FI$(DEST_DIR_DEBUG)/AutoGen.h /EHs-c- /GF DEBUG_ICCxASL_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi RELEASE_ICCxASL_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd - DEBUG_ICCxASL_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /Machine:AMD64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /DEBUG -RELEASE_ICCxASL_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /Machine:AMD64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text + DEBUG_ICCxASL_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:AMD64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /DEBUG +RELEASE_ICCxASL_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:AMD64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text *_ICCxASL_X64_SLINK_FLAGS = /nologo /LTCG @@ -1630,10 +1677,10 @@ RELEASE_ICCxASL_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:408 ################## *_ICCxASL_IPF_CC_PATH = DEF(ICC_BIN64)\icl.exe # icl.exe needs cl.exe from Visual Studio -*_ICCxASL_IPF_CC_DLL = DEF(VS2005_BIN) +*_ICCxASL_IPF_CC_DLL = DEF(MS_VS_BIN) *_ICCxASL_IPF_SLINK_PATH = DEF(ICC_BIN64)\xilib.exe # xilib.exe needs lib.exe from Visual Studio -*_ICCxASL_IPF_SLINK_DLL = DEF(VS2005_BIN);DEF(VS2005_DLL) +*_ICCxASL_IPF_SLINK_DLL = DEF(MS_VS_BIN);DEF(MS_VS_DLL) *_ICCxASL_IPF_DLINK_PATH = DEF(ICC_BIN64)\xilink.exe *_ICCxASL_IPF_PP_PATH = DEF(ICC_BIN64)\icl.exe *_ICCxASL_IPF_VFRPP_PATH = DEF(ICC_BIN64)\icl.exe @@ -1647,8 +1694,8 @@ RELEASE_ICCxASL_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:408 RELEASE_ICCxASL_IPF_CC_FLAGS = /nologo /c /WX /W4 /GX /Gy /Od /FI$(DEST_DIR_DEBUG)/AutoGen.h /QIA64_fr32 /GF DEBUG_ICCxASL_IPF_ASM_FLAGS = -N us -X explicit -M ilp64 -N so -W3 -d debug -F COFF32 RELEASE_ICCxASL_IPF_ASM_FLAGS = -N us -X explicit -M ilp64 -N so -W3 -F COFF32 - DEBUG_ICCxASL_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4086 /MAP /ALIGN:64 /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEST_DIR_DEBUG)/$(BASE_NAME).map /PDB:$(DEST_DIR_DEBUG)/$(BASE_NAME).pdb /DEBUG -RELEASE_ICCxASL_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4086 /MAP /ALIGN:64 /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEST_DIR_DEBUG)/$(BASE_NAME).map /PDB:$(DEST_DIR_DEBUG)/$(BASE_NAME).pdb + DEBUG_ICCxASL_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4086 /MAP /ALIGN:64 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEST_DIR_DEBUG)/$(BASE_NAME).map /PDB:$(DEST_DIR_DEBUG)/$(BASE_NAME).pdb /DEBUG +RELEASE_ICCxASL_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4086 /MAP /ALIGN:64 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEST_DIR_DEBUG)/$(BASE_NAME).map /PDB:$(DEST_DIR_DEBUG)/$(BASE_NAME).pdb *_ICCxASL_IPF_SLINK_FLAGS = /nologo ################## @@ -1656,7 +1703,7 @@ RELEASE_ICCxASL_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL ################## *_ICCxASL_EBC_*_FAMILY = INTEL -*_ICCxASL_EBC_MAKE_PATH = DEF(VS2005_BIN)\nmake.exe +*_ICCxASL_EBC_MAKE_PATH = DEF(MS_VS_BIN)\nmake.exe *_ICCxASL_EBC_PP_PATH = DEF(EBC_BIN)\iec.exe *_ICCxASL_EBC_VFRPP_PATH = DEF(EBC_BIN)\iec.exe *_ICCxASL_EBC_CC_PATH = DEF(EBC_BIN)\iec.exe @@ -1683,6 +1730,7 @@ RELEASE_ICCxASL_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL *_ICCx86_*_*_FAMILY = INTEL *_ICCx86_*_MAKE_PATH = DEF(VS2005x86_BIN)\nmake.exe +*_ICCx86_*_RC_PATH = DEF(VS2005x86_BIN)\rc.exe *_ICCx86_*_MAKE_FLAGS = /nologo *_ICCx86_*_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h @@ -1722,8 +1770,8 @@ RELEASE_ICCx86_IA32_CC_FLAGS = /nologo /c /WX /W4 /Gy /Gs8192 /D DEBUG_ICCx86_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Zd /Zi RELEASE_ICCx86_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Zd *_ICCx86_IA32_SLINK_FLAGS = /nologo - DEBUG_ICCx86_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /MACHINE:I386 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /DEBUG -RELEASE_ICCx86_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /MACHINE:I386 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text + DEBUG_ICCx86_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:I386 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /DEBUG +RELEASE_ICCx86_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:I386 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text *_ICCx86_IA32_ASMLINK_FLAGS = /nologo /tiny ################## @@ -1747,8 +1795,8 @@ RELEASE_ICCx86_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 RELEASE_ICCx86_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs8192 /D UNICODE /O1ib2s /GL /Gy /FI$(DEST_DIR_DEBUG)/AutoGen.h /EHs-c- /GF DEBUG_ICCx86_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi RELEASE_ICCx86_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd - DEBUG_ICCx86_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /Machine:AMD64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /DEBUG -RELEASE_ICCx86_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /Machine:AMD64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text + DEBUG_ICCx86_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:AMD64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /DEBUG +RELEASE_ICCx86_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:AMD64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text *_ICCx86_X64_SLINK_FLAGS = /nologo /LTCG @@ -1774,8 +1822,8 @@ RELEASE_ICCx86_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 RELEASE_ICCx86_IPF_CC_FLAGS = /nologo /c /WX /W4 /GX /Gy /Od /FI$(DEST_DIR_DEBUG)/AutoGen.h /QIA64_fr32 /GF DEBUG_ICCx86_IPF_ASM_FLAGS = -N us -X explicit -M ilp64 -N so -W3 -d debug -F COFF32 RELEASE_ICCx86_IPF_ASM_FLAGS = -N us -X explicit -M ilp64 -N so -W3 -F COFF32 - DEBUG_ICCx86_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4086 /MAP /ALIGN:64 /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEST_DIR_DEBUG)/$(BASE_NAME).map /PDB:$(DEST_DIR_DEBUG)/$(BASE_NAME).pdb /DEBUG -RELEASE_ICCx86_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4086 /MAP /ALIGN:64 /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEST_DIR_DEBUG)/$(BASE_NAME).map /PDB:$(DEST_DIR_DEBUG)/$(BASE_NAME).pdb + DEBUG_ICCx86_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4086 /MAP /ALIGN:64 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEST_DIR_DEBUG)/$(BASE_NAME).map /PDB:$(DEST_DIR_DEBUG)/$(BASE_NAME).pdb /DEBUG +RELEASE_ICCx86_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4086 /MAP /ALIGN:64 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEST_DIR_DEBUG)/$(BASE_NAME).map /PDB:$(DEST_DIR_DEBUG)/$(BASE_NAME).pdb *_ICCx86_IPF_SLINK_FLAGS = /nologo ################## @@ -1810,6 +1858,7 @@ RELEASE_ICCx86_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL / *_ICCx86xASL_*_*_FAMILY = INTEL *_ICCx86xASL_*_MAKE_PATH = DEF(VS2005x86_BIN)\nmake.exe +*_ICCx86xASL_*_RC_PATH = DEF(VS2005x86_BIN)\rc.exe *_ICCx86xASL_*_MAKE_FLAGS = /nologo *_ICCx86xASL_*_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h @@ -1849,8 +1898,8 @@ RELEASE_ICCx86xASL_IA32_CC_FLAGS = /nologo /c /WX /W4 /Gy /Gs8192 DEBUG_ICCx86xASL_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Zd /Zi RELEASE_ICCx86xASL_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Zd *_ICCx86xASL_IA32_SLINK_FLAGS = /nologo - DEBUG_ICCx86xASL_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /MACHINE:I386 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /DEBUG -RELEASE_ICCx86xASL_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /MACHINE:I386 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text + DEBUG_ICCx86xASL_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:I386 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /DEBUG +RELEASE_ICCx86xASL_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:I386 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text *_ICCx86xASL_IA32_ASMLINK_FLAGS = /nologo /tiny ################## @@ -1874,8 +1923,8 @@ RELEASE_ICCx86xASL_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE: RELEASE_ICCx86xASL_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs8192 /D UNICODE /O1ib2s /GL /Gy /FI$(DEST_DIR_DEBUG)/AutoGen.h /EHs-c- /GF DEBUG_ICCx86xASL_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi RELEASE_ICCx86xASL_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd - DEBUG_ICCx86xASL_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /Machine:AMD64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /DEBUG -RELEASE_ICCx86xASL_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /Machine:AMD64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text + DEBUG_ICCx86xASL_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:AMD64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /DEBUG +RELEASE_ICCx86xASL_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:AMD64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text *_ICCx86xASL_X64_SLINK_FLAGS = /nologo /LTCG @@ -1901,8 +1950,8 @@ RELEASE_ICCx86xASL_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE: RELEASE_ICCx86xASL_IPF_CC_FLAGS = /nologo /c /WX /W4 /GX /Gy /Od /FI$(DEST_DIR_DEBUG)/AutoGen.h /QIA64_fr32 /GF DEBUG_ICCx86xASL_IPF_ASM_FLAGS = -N us -X explicit -M ilp64 -N so -W3 -d debug -F COFF32 RELEASE_ICCx86xASL_IPF_ASM_FLAGS = -N us -X explicit -M ilp64 -N so -W3 -F COFF32 - DEBUG_ICCx86xASL_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4086 /MAP /ALIGN:64 /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEST_DIR_DEBUG)/$(BASE_NAME).map /PDB:$(DEST_DIR_DEBUG)/$(BASE_NAME).pdb /DEBUG -RELEASE_ICCx86xASL_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4086 /MAP /ALIGN:64 /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEST_DIR_DEBUG)/$(BASE_NAME).map /PDB:$(DEST_DIR_DEBUG)/$(BASE_NAME).pdb + DEBUG_ICCx86xASL_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4086 /MAP /ALIGN:64 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEST_DIR_DEBUG)/$(BASE_NAME).map /PDB:$(DEST_DIR_DEBUG)/$(BASE_NAME).pdb /DEBUG +RELEASE_ICCx86xASL_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4086 /MAP /ALIGN:64 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEST_DIR_DEBUG)/$(BASE_NAME).map /PDB:$(DEST_DIR_DEBUG)/$(BASE_NAME).pdb *_ICCx86xASL_IPF_SLINK_FLAGS = /nologo ################## @@ -1971,13 +2020,14 @@ RELEASE_ICCx86xASL_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /D *_MYTOOLS_IA32_ASLCC_PATH = DEF(VS2005_BIN)\cl.exe *_MYTOOLS_IA32_ASLPP_PATH = DEF(VS2005_BIN)\cl.exe *_MYTOOLS_IA32_ASLDLINK_PATH = DEF(VS2005_BIN)\link.exe +*_MYTOOLS_IA32_RC_PATH = DEF(VS2005_BIN)\rc.exe DEBUG_MYTOOLS_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs8192 /Gy /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm RELEASE_MYTOOLS_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs8192 /Gy /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF DEBUG_MYTOOLS_IA32_ASM_FLAGS = /nologo /c /WX /W3 /coff /Cx /Zd /Zi RELEASE_MYTOOLS_IA32_ASM_FLAGS = /nologo /c /WX /W3 /coff /Cx /Zd - DEBUG_MYTOOLS_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /MACHINE:I386 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /DEBUG /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb -RELEASE_MYTOOLS_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /MACHINE:I386 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb + DEBUG_MYTOOLS_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:I386 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /DEBUG /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb +RELEASE_MYTOOLS_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:I386 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb *_MYTOOLS_IA32_ASMLINK_FLAGS = /nologo /tiny ################## @@ -1996,13 +2046,14 @@ RELEASE_MYTOOLS_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /O *_MYTOOLS_X64_ASLCC_PATH = DEF(VS2005_BINX64)\cl.exe *_MYTOOLS_X64_ASLPP_PATH = DEF(VS2005_BINX64)\cl.exe *_MYTOOLS_X64_ASLDLINK_PATH = DEF(VS2005_BINX64)\link.exe +*_MYTOOLS_X64_RC_PATH = DEF(VS2005_BIN)\rc.exe DEBUG_MYTOOLS_X64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs8192 /Gy /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm RELEASE_MYTOOLS_X64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs8192 /Gy /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF DEBUG_MYTOOLS_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi RELEASE_MYTOOLS_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd - DEBUG_MYTOOLS_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /Machine:AMD64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /DEBUG -RELEASE_MYTOOLS_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /Machine:AMD64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text + DEBUG_MYTOOLS_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:AMD64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /DEBUG +RELEASE_MYTOOLS_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:AMD64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text ################## # IPF definitions @@ -2018,14 +2069,15 @@ RELEASE_MYTOOLS_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /O *_MYTOOLS_IPF_ASLCC_PATH = DEF(WINDDK_BIN64)\cl.exe *_MYTOOLS_IPF_ASLPP_PATH = DEF(WINDDK_BIN64)\cl.exe *_MYTOOLS_IPF_ASLDLINK_PATH = DEF(WINDDK_BIN64)\link.exe - *_MYTOOLS_IPF_ASM_OUTPUT = "-o " +*_MYTOOLS_IPF_RC_PATH = DEF(WINDDK_BIN32)\rc.exe + *_MYTOOLS_IPF_ASM_OUTPUT = "-o " DEBUG_MYTOOLS_IPF_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gy /Ox /GL /FIAutoGen.h /EHs-c- /GR- /GF /Zx /QIPF_fr32 /Zi RELEASE_MYTOOLS_IPF_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gy /Ox /GL /FIAutoGen.h /EHs-c- /GR- /GF /Zx /QIPF_fr32 DEBUG_MYTOOLS_IPF_ASM_FLAGS = -N us -X explicit -M ilp64 -N so -W4 -d debug RELEASE_MYTOOLS_IPF_ASM_FLAGS = -N us -X explicit -M ilp64 -N so -W4 - DEBUG_MYTOOLS_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF /OPT:ICF=10 /IGNORE:4086 /MAP /ALIGN:32 /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEST_DIR_DEBUG)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb /DEBUG -RELEASE_MYTOOLS_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF /OPT:ICF=10 /IGNORE:4086 /MAP /ALIGN:32 /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEST_DIR_DEBUG)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb + DEBUG_MYTOOLS_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF /OPT:ICF=10 /IGNORE:4086 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEST_DIR_DEBUG)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb /DEBUG +RELEASE_MYTOOLS_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF /OPT:ICF=10 /IGNORE:4086 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEST_DIR_DEBUG)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb *_MYTOOLS_IPF_SLINK_FLAGS = /nologo /LTCG ################## @@ -2039,6 +2091,7 @@ RELEASE_MYTOOLS_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT *_MYTOOLS_EBC_CC_PATH = DEF(EBC_BIN)\iec.exe *_MYTOOLS_EBC_SLINK_PATH = DEF(EBC_BIN)\link.exe *_MYTOOLS_EBC_DLINK_PATH = DEF(EBC_BIN)\link.exe +*_MYTOOLS_EBC_RC_PATH = DEF(VS2005_BIN)\rc.exe *_MYTOOLS_EBC_MAKE_FLAGS = /nologo *_MYTOOLS_EBC_PP_FLAGS = /nologo /E /TC /FIAutoGen.h diff --git a/BaseTools/Source/C/Common/FirmwareVolumeBuffer.c b/BaseTools/Source/C/Common/FirmwareVolumeBuffer.c index d51e359043..2d3b1353cb 100644 --- a/BaseTools/Source/C/Common/FirmwareVolumeBuffer.c +++ b/BaseTools/Source/C/Common/FirmwareVolumeBuffer.c @@ -236,8 +236,8 @@ Returns: if (File->Attributes & FFS_ATTRIB_CHECKSUM) { File->IntegrityCheck.Checksum.File = FvBufCalculateChecksum8 ( - (VOID*)File, - FileSize + (VOID*)(File + 1), + FileSize - sizeof (EFI_FFS_FILE_HEADER) ); } else { File->IntegrityCheck.Checksum.File = FFS_FIXED_CHECKSUM; diff --git a/BaseTools/Source/C/Common/FvLib.c b/BaseTools/Source/C/Common/FvLib.c index 292b077f34..dc50e877e6 100644 --- a/BaseTools/Source/C/Common/FvLib.c +++ b/BaseTools/Source/C/Common/FvLib.c @@ -703,8 +703,8 @@ Returns: // Verify file data checksum // FileLength = GetLength (FfsHeader->Size); - Checksum = CalculateSum8 ((UINT8 *) FfsHeader, FileLength); - Checksum = (UINT8) (Checksum - FfsHeader->State); + Checksum = CalculateSum8 ((UINT8 *) (FfsHeader + 1), FileLength - sizeof (EFI_FFS_FILE_HEADER)); + Checksum = Checksum + FfsHeader->IntegrityCheck.Checksum.File; if (Checksum != 0) { Error (NULL, 0, 0006, "invalid FFS file checksum", "Ffs file with Guid %s", FileGuidString); return EFI_ABORTED; @@ -712,7 +712,7 @@ Returns: } else { // // File does not have a checksum - // Verify contents are 0x5A as spec'd + // Verify contents are 0xAA as spec'd // if (FfsHeader->IntegrityCheck.Checksum.File != FFS_FIXED_CHECKSUM) { Error (NULL, 0, 0006, "invalid fixed FFS file header checksum", "Ffs file with Guid %s", FileGuidString); diff --git a/BaseTools/Source/C/GenFfs/GenFfs.c b/BaseTools/Source/C/GenFfs/GenFfs.c index 12a3b2f18c..324490a707 100644 --- a/BaseTools/Source/C/GenFfs/GenFfs.c +++ b/BaseTools/Source/C/GenFfs/GenFfs.c @@ -134,6 +134,8 @@ Returns: EFI_FV_FILETYPE_PEI_CORE, EFI_FV_FILETYPE_DXE_CORE,\n\ EFI_FV_FILETYPE_DRIVER, EFI_FV_FILETYPE_APPLICATION,\n\ EFI_FV_FILETYPE_COMBINED_PEIM_DRIVER,\n\ + EFI_FV_FILETYPE_SMM, EFI_FV_FILETYPE_SMM_CORE,\n\ + EFI_FV_FILETYPE_COMBINED_SMM_DXE, \n\ EFI_FV_FILETYPE_FIRMWARE_VOLUME_IMAGE.\n"); fprintf (stdout, " -g FileGuid, --fileguid FileGuid\n\ FileGuid is one module guid.\n\ diff --git a/BaseTools/Source/C/GenFv/GenFvInternalLib.c b/BaseTools/Source/C/GenFv/GenFvInternalLib.c index 917baa11e8..6b5d6bda2a 100644 --- a/BaseTools/Source/C/GenFv/GenFvInternalLib.c +++ b/BaseTools/Source/C/GenFv/GenFvInternalLib.c @@ -229,22 +229,11 @@ Returns: } // - // Read the FV Name Guid + // Read the FV Extension Header File Name // - if (!FvInfo->FvNameGuidSet) { - Status = FindToken (InfFile, ATTRIBUTES_SECTION_STRING, EFI_FV_NAMEGUID_STRING, 0, Value); - if (Status == EFI_SUCCESS) { - // - // Get the guid value - // - Status = StringToGuid (Value, &GuidValue); - if (EFI_ERROR (Status)) { - Error (NULL, 0, 2000, "Invalid parameter", "%s = %s", EFI_FV_NAMEGUID_STRING, Value); - return EFI_ABORTED; - } - memcpy (&FvInfo->FvNameGuid, &GuidValue, sizeof (EFI_GUID)); - FvInfo->FvNameGuidSet = TRUE; - } + Status = FindToken (InfFile, ATTRIBUTES_SECTION_STRING, EFI_FV_EXT_HEADER_FILE_NAME, 0, Value); + if (Status == EFI_SUCCESS) { + strcpy (FvInfo->FvExtHeaderFile, Value); } // @@ -1272,6 +1261,7 @@ Returns: EFI_FFS_FILE_STATE SavedState; UINT64 FitAddress; FIT_TABLE *FitTablePtr; + BOOLEAN Vtf0Detected; // // Verify input parameters @@ -1292,11 +1282,32 @@ Returns: return EFI_INVALID_PARAMETER; } + if ( + (((UINTN)FvImage->Eof - (UINTN)FvImage->FileImage) >= + IA32_X64_VTF_SIGNATURE_OFFSET) && + (*(UINT32 *)(VOID*)((UINTN) FvImage->Eof - + IA32_X64_VTF_SIGNATURE_OFFSET) == + IA32_X64_VTF0_SIGNATURE) + ) { + Vtf0Detected = TRUE; + } else { + Vtf0Detected = FALSE; + } + // // Find the Sec Core // Status = GetFileByType (EFI_FV_FILETYPE_SECURITY_CORE, 1, &SecCoreFile); if (EFI_ERROR (Status) || SecCoreFile == NULL) { + if (Vtf0Detected) { + // + // If the SEC core file is not found, but the VTF-0 signature + // is found, we'll treat it as a VTF-0 'Volume Top File'. + // This means no modifications are required to the VTF. + // + return EFI_SUCCESS; + } + Error (NULL, 0, 3000, "Invalid", "could not find the SEC core file in the FV."); return EFI_ABORTED; } @@ -1325,6 +1336,19 @@ Returns: return EFI_ABORTED; } + if ( + Vtf0Detected && + (MachineType == EFI_IMAGE_MACHINE_IA32 || + MachineType == EFI_IMAGE_MACHINE_X64) + ) { + // + // If the SEC core code is IA32 or X64 and the VTF-0 signature + // is found, we'll treat it as a VTF-0 'Volume Top File'. + // This means no modifications are required to the VTF. + // + return EFI_SUCCESS; + } + // // Physical address is FV base + offset of PE32 + offset of the entry point // @@ -1428,16 +1452,6 @@ Returns: SecCoreEntryAddressPtr = (EFI_PHYSICAL_ADDRESS *) ((UINTN) FvImage->Eof - IPF_SALE_ENTRY_ADDRESS_OFFSET); *SecCoreEntryAddressPtr = SecCorePhysicalAddress; - } else if ( - (MachineType == EFI_IMAGE_MACHINE_IA32 || - MachineType == EFI_IMAGE_MACHINE_X64) && - (((UINTN)FvImage->Eof - (UINTN)FvImage->FileImage) >= IA32_X64_VTF_SIGNATURE_OFFSET) && - (*(UINT32 *)(VOID*)((UINTN) FvImage->Eof - IA32_X64_VTF_SIGNATURE_OFFSET) == - IA32_X64_VTF0_SIGNATURE) - ) { - // - // If VTF-0 signature is found, then no modifications are needed. - // } else if (MachineType == EFI_IMAGE_MACHINE_IA32 || MachineType == EFI_IMAGE_MACHINE_X64) { // // Get the location to update @@ -1545,8 +1559,8 @@ Returns: VtfFile->State = 0; if (VtfFile->Attributes & FFS_ATTRIB_CHECKSUM) { VtfFile->IntegrityCheck.Checksum.File = CalculateChecksum8 ( - (UINT8 *) VtfFile, - GetLength (VtfFile->Size) + (UINT8 *) (VtfFile + 1), + GetLength (VtfFile->Size) - sizeof (EFI_FFS_FILE_HEADER) ); } else { VtfFile->IntegrityCheck.Checksum.File = FFS_FIXED_CHECKSUM; @@ -1938,19 +1952,21 @@ Returns: --*/ { - EFI_STATUS Status; - MEMORY_FILE InfMemoryFile; - MEMORY_FILE FvImageMemoryFile; - UINTN Index; - EFI_FIRMWARE_VOLUME_HEADER *FvHeader; - EFI_FFS_FILE_HEADER *VtfFileImage; - UINT8 *FvBufferHeader; // to make sure fvimage header 8 type alignment. - UINT8 *FvImage; - UINTN FvImageSize; - FILE *FvFile; - CHAR8 FvMapName [_MAX_PATH]; - FILE *FvMapFile; - EFI_FIRMWARE_VOLUME_EXT_HEADER FvExtHeader; + EFI_STATUS Status; + MEMORY_FILE InfMemoryFile; + MEMORY_FILE FvImageMemoryFile; + UINTN Index; + EFI_FIRMWARE_VOLUME_HEADER *FvHeader; + EFI_FFS_FILE_HEADER *VtfFileImage; + UINT8 *FvBufferHeader; // to make sure fvimage header 8 type alignment. + UINT8 *FvImage; + UINTN FvImageSize; + FILE *FvFile; + CHAR8 FvMapName [_MAX_PATH]; + FILE *FvMapFile; + EFI_FIRMWARE_VOLUME_EXT_HEADER *FvExtHeader; + FILE *FvExtHeaderFile; + UINTN FileSize; FvBufferHeader = NULL; FvFile = NULL; @@ -2008,6 +2024,58 @@ Returns: mFvDataInfo.FvFileSystemGuid.Data4[6], mFvDataInfo.FvFileSystemGuid.Data4[7]); } + + // + // Add PI FV extension header + // + FvExtHeader = NULL; + FvExtHeaderFile = NULL; + if (mFvDataInfo.FvExtHeaderFile[0] != 0) { + // + // Open the FV Extension Header file + // + FvExtHeaderFile = fopen (mFvDataInfo.FvExtHeaderFile, "rb"); + + // + // Get the file size + // + FileSize = _filelength (fileno (FvExtHeaderFile)); + + // + // Allocate a buffer for the FV Extension Header + // + FvExtHeader = malloc(FileSize); + if (FvExtHeader == NULL) { + fclose (FvExtHeaderFile); + return EFI_OUT_OF_RESOURCES; + } + + // + // Read the FV Extension Header + // + fread (FvExtHeader, sizeof (UINT8), FileSize, FvExtHeaderFile); + fclose (FvExtHeaderFile); + + // + // See if there is an override for the FV Name GUID + // + if (mFvDataInfo.FvNameGuidSet) { + memcpy (&FvExtHeader->FvName, &mFvDataInfo.FvNameGuid, sizeof (EFI_GUID)); + } + memcpy (&mFvDataInfo.FvNameGuid, &FvExtHeader->FvName, sizeof (EFI_GUID)); + mFvDataInfo.FvNameGuidSet = TRUE; + } else if (mFvDataInfo.FvNameGuidSet) { + // + // Allocate a buffer for the FV Extension Header + // + FvExtHeader = malloc(sizeof (EFI_FIRMWARE_VOLUME_EXT_HEADER)); + if (FvExtHeader == NULL) { + return EFI_OUT_OF_RESOURCES; + } + memcpy (&FvExtHeader->FvName, &mFvDataInfo.FvNameGuid, sizeof (EFI_GUID)); + FvExtHeader->ExtHeaderSize = sizeof (EFI_FIRMWARE_VOLUME_EXT_HEADER); + } + // // Debug message Fv Name Guid // @@ -2173,12 +2241,14 @@ Returns: } // - // Set PI FV extension header + // Add PI FV extension header // - if (mFvDataInfo.FvNameGuidSet) { - memcpy (&FvExtHeader.FvName, &mFvDataInfo.FvNameGuid, sizeof (EFI_GUID)); - FvExtHeader.ExtHeaderSize = sizeof (EFI_FIRMWARE_VOLUME_EXT_HEADER); - AddPadFile (&FvImageMemoryFile, 4, VtfFileImage, &FvExtHeader); + if (FvExtHeader != NULL) { + // + // Add FV Extended Header contents to the FV as a PAD file + // + AddPadFile (&FvImageMemoryFile, 4, VtfFileImage, FvExtHeader); + // // Fv Extension header change update Fv Header Check sum // @@ -2282,6 +2352,10 @@ Finish: if (FvBufferHeader != NULL) { free (FvBufferHeader); } + + if (FvExtHeader != NULL) { + free (FvExtHeader); + } if (FvFile != NULL) { fclose (FvFile); @@ -2385,11 +2459,13 @@ Returns: UINTN Index; FILE *fpin; UINTN FfsFileSize; + UINTN FvExtendHeaderSize; UINT32 FfsAlignment; EFI_FFS_FILE_HEADER FfsHeader; BOOLEAN VtfFileFlag; UINTN VtfFileSize; + FvExtendHeaderSize = 0; VtfFileSize = 0; VtfFileFlag = FALSE; fpin = NULL; @@ -2418,7 +2494,17 @@ Returns: // // Calculate PI extension header // - if (CompareGuid (&mFvDataInfo.FvNameGuid, &mZeroGuid) != 0) { + if (mFvDataInfo.FvExtHeaderFile[0] != '\0') { + fpin = fopen (mFvDataInfo.FvExtHeaderFile, "rb"); + if (fpin == NULL) { + Error (NULL, 0, 0001, "Error opening file", mFvDataInfo.FvExtHeaderFile); + return EFI_ABORTED; + } + FvExtendHeaderSize = _filelength (fileno (fpin)); + fclose (fpin); + CurrentOffset += sizeof (EFI_FFS_FILE_HEADER) + FvExtendHeaderSize; + CurrentOffset = (CurrentOffset + 7) & (~7); + } else if (mFvDataInfo.FvNameGuidSet) { CurrentOffset += sizeof (EFI_FFS_FILE_HEADER) + sizeof (EFI_FIRMWARE_VOLUME_EXT_HEADER); CurrentOffset = (CurrentOffset + 7) & (~7); } @@ -2959,15 +3045,10 @@ Returns: SavedState = FfsFile->State; FfsFile->IntegrityCheck.Checksum.File = 0; FfsFile->State = 0; - if (FfsFile->Attributes & FFS_ATTRIB_CHECKSUM) { - FfsFile->IntegrityCheck.Checksum.File = CalculateChecksum8 ( - (UINT8 *) FfsFile, - GetLength (FfsFile->Size) - ); - } else { - FfsFile->IntegrityCheck.Checksum.File = FFS_FIXED_CHECKSUM; - } - + FfsFile->IntegrityCheck.Checksum.File = CalculateChecksum8 ( + (UINT8 *) (FfsFile + 1), + GetLength (FfsFile->Size) - sizeof (EFI_FFS_FILE_HEADER) + ); FfsFile->State = SavedState; } @@ -3189,15 +3270,10 @@ WritePeMap: SavedState = FfsFile->State; FfsFile->IntegrityCheck.Checksum.File = 0; FfsFile->State = 0; - if (FfsFile->Attributes & FFS_ATTRIB_CHECKSUM) { - FfsFile->IntegrityCheck.Checksum.File = CalculateChecksum8 ( - (UINT8 *) FfsFile, - GetLength (FfsFile->Size) - ); - } else { - FfsFile->IntegrityCheck.Checksum.File = FFS_FIXED_CHECKSUM; - } - + FfsFile->IntegrityCheck.Checksum.File = CalculateChecksum8 ( + (UINT8 *)(FfsFile + 1), + GetLength (FfsFile->Size) - sizeof (EFI_FFS_FILE_HEADER) + ); FfsFile->State = SavedState; } // diff --git a/BaseTools/Source/C/GenFv/GenFvInternalLib.h b/BaseTools/Source/C/GenFv/GenFvInternalLib.h index d6b3ad7fc1..3c0e9336bd 100644 --- a/BaseTools/Source/C/GenFv/GenFvInternalLib.h +++ b/BaseTools/Source/C/GenFv/GenFvInternalLib.h @@ -61,13 +61,12 @@ Abstract: #define MAX_NUMBER_OF_FILES_IN_FV 1000 #define MAX_NUMBER_OF_FILES_IN_CAP 1000 #define EFI_FFS_FILE_HEADER_ALIGNMENT 8 - // // INF file strings // -#define OPTIONS_SECTION_STRING "[options]" -#define ATTRIBUTES_SECTION_STRING "[attributes]" -#define FILES_SECTION_STRING "[files]" +#define OPTIONS_SECTION_STRING "[options]" +#define ATTRIBUTES_SECTION_STRING "[attributes]" +#define FILES_SECTION_STRING "[files]" // // Options section @@ -157,6 +156,12 @@ Abstract: #define FALSE_STRING "FALSE" #define NULL_STRING "NULL" +// +// +// +#define EFI_FV_EXT_HEADER_FILE_NAME "EFI_FV_EXT_HEADER_FILE_NAME" + + // // VTF (Firmware Volume Top File) signatures // @@ -229,6 +234,7 @@ typedef struct { BOOLEAN FvFileSystemGuidSet; EFI_GUID FvNameGuid; BOOLEAN FvNameGuidSet; + CHAR8 FvExtHeaderFile[_MAX_PATH]; UINTN Size; EFI_FVB_ATTRIBUTES FvAttributes; CHAR8 FvName[_MAX_PATH]; diff --git a/BaseTools/Source/C/GenFw/GenFw.c b/BaseTools/Source/C/GenFw/GenFw.c index 8c648eb407..e72f052869 100644 --- a/BaseTools/Source/C/GenFw/GenFw.c +++ b/BaseTools/Source/C/GenFw/GenFw.c @@ -33,6 +33,7 @@ Abstract: #include #include +#include // // Acpi Table definition @@ -60,6 +61,8 @@ Abstract: #define UTILITY_MAJOR_VERSION 0 #define UTILITY_MINOR_VERSION 2 +#define HII_RESOURCE_SECTION_INDEX 1 +#define HII_RESOURCE_SECTION_NAME "HII" // // Action for this tool. // @@ -73,6 +76,7 @@ Abstract: #define FW_MCI_IMAGE 7 #define FW_MERGE_IMAGE 8 #define FW_RELOC_STRIPEED_IMAGE 9 +#define FW_HII_PACKAGE_LIST_RCIMAGE 10 #define DUMP_TE_HEADER 0x11 @@ -100,6 +104,15 @@ typedef struct { UINT32 Reserved[3]; } MICROCODE_IMAGE_HEADER; +static EFI_GUID mZeroGuid = {0x0, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}; + +static const char *gHiiPackageRCFileHeader[] = { + "//", + "// DO NOT EDIT -- auto-generated file", + "//", + NULL +}; + STATIC CHAR8 *mInImageName; STATIC @@ -258,6 +271,16 @@ Returns: fprintf (stdout, " -r, --replace Overwrite the input file with the output content.\n\ If more input files are specified,\n\ the last input file will be as the output file.\n"); + fprintf (stdout, " -g HiiPackageListGuid, --hiiguid HiiPackageListGuid\n\ + HiiListPackageGuidGuid is from the module guid.\n\ + Its format is xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\n\ + If not specified, the first Form FormSet guid is used.\n"); + fprintf (stdout, " --hiipackage Combine all input binary hii pacakges into \n\ + a single package list as the text resource data(RC).\n\ + It can't be combined with other action options\n\ + except for -o option. It is a action option.\n\ + If it is combined with other action options, the later\n\ + input action option will override the previous one.\n"); fprintf (stdout, " -v, --verbose Turn on verbose output with informational messages.\n"); fprintf (stdout, " -q, --quiet Disable all messages except key message and fatal error\n"); fprintf (stdout, " -d, --debug level Enable debug messages, at input debug level.\n"); @@ -440,7 +463,7 @@ typedef Elf32_Dyn Elf_Dyn; #define ELFCLASS ELFCLASS32 #define ELF_R_TYPE(r) ELF32_R_TYPE(r) #define ELF_R_SYM(r) ELF32_R_SYM(r) - +#define ELF_HII_SECTION_NAME ".hii" // // Well known ELF structures. // @@ -452,7 +475,7 @@ Elf_Phdr *gPhdrBase; // PE section alignment. // const UINT32 CoffAlignment = 0x20; -const UINT16 CoffNbrSections = 4; +const UINT16 CoffNbrSections = 5; // // Current offset in coff file. @@ -475,8 +498,15 @@ UINT32 NtHdrOffset; UINT32 TableOffset; UINT32 TextOffset; UINT32 DataOffset; +UINT32 HiiRsrcOffset; UINT32 RelocOffset; +// +// HiiBinData +// +UINT8* HiiBinData = NULL; +UINT32 HiiBinSize = 0; + EFI_IMAGE_BASE_RELOCATION *CoffBaseRel; UINT16 *CoffEntryRel; @@ -547,11 +577,28 @@ IsTextShdr( return (Shdr->sh_flags & (SHF_WRITE | SHF_ALLOC)) == SHF_ALLOC; } +int +IsHiiRsrcShdr( + Elf_Shdr *Shdr + ) +{ + Elf_Shdr *Namedr = GetShdrByIndex(Ehdr->e_shstrndx); + + if (strcmp((CHAR8*)Ehdr + Namedr->sh_offset + Shdr->sh_name, ELF_HII_SECTION_NAME) == 0) { + return 1; + } + + return 0; +} + int IsDataShdr( Elf_Shdr *Shdr ) { + if (IsHiiRsrcShdr(Shdr)) { + return 0; + } return (Shdr->sh_flags & (SHF_WRITE | SHF_ALLOC)) == (SHF_ALLOC | SHF_WRITE); } @@ -580,6 +627,128 @@ CreateSectionHeader( TableOffset += sizeof (EFI_IMAGE_SECTION_HEADER); } +VOID +GetBinaryHiiData ( + CHAR8 *RcString, + UINT32 Size, + UINT32 OffsetToFile + ) +{ + unsigned Data16; + UINT32 HiiBinOffset; + UINT32 Index; + EFI_IMAGE_RESOURCE_DIRECTORY *ResourceDirectory; + EFI_IMAGE_RESOURCE_DIRECTORY_ENTRY *ResourceDirectoryEntry; + EFI_IMAGE_RESOURCE_DIRECTORY_STRING *ResourceDirectoryString; + EFI_IMAGE_RESOURCE_DATA_ENTRY *ResourceDataEntry; + + Index = 0; + while (Index < Size && *RcString != '\0' && *RcString != '{') { + RcString ++; + Index ++; + } + + if (*RcString == '\0' || Index == Size) { + return; + } + + // + // Skip '{' character + // Skip space and ',' character + // + RcString ++; + Index ++; + while (Index < Size && *RcString != '\0' && (isspace (*RcString) || *RcString == ',')){ + RcString ++; + Index ++; + } + + // + // '}' end character + // + if (*RcString == '}' || Index == Size) { + return; + } + + HiiBinOffset = 0; + HiiBinSize = 0x1000; + HiiBinData = (UINT8 *) malloc (HiiBinSize); + if (HiiBinData == NULL) { + return; + } + memset (HiiBinData, 0, HiiBinSize); + // + // Fill Resource section entry + // + ResourceDirectory = (EFI_IMAGE_RESOURCE_DIRECTORY *) (HiiBinData + HiiBinOffset); + HiiBinOffset += sizeof (EFI_IMAGE_RESOURCE_DIRECTORY); + ResourceDirectory->NumberOfNamedEntries = 1; + + ResourceDirectoryEntry = (EFI_IMAGE_RESOURCE_DIRECTORY_ENTRY *) (HiiBinData + HiiBinOffset); + HiiBinOffset += sizeof (EFI_IMAGE_RESOURCE_DIRECTORY_ENTRY); + ResourceDirectoryEntry->u1.s.NameIsString = 1; + ResourceDirectoryEntry->u1.s.NameOffset = HiiBinOffset; + + ResourceDirectoryString = (EFI_IMAGE_RESOURCE_DIRECTORY_STRING *) (HiiBinData + HiiBinOffset); + ResourceDirectoryString->Length = 3; + ResourceDirectoryString->String[0] =L'H'; + ResourceDirectoryString->String[1] =L'I'; + ResourceDirectoryString->String[2] =L'I'; + HiiBinOffset = HiiBinOffset + sizeof (ResourceDirectoryString->Length) + ResourceDirectoryString->Length * sizeof (ResourceDirectoryString->String[0]); + + ResourceDirectoryEntry->u2.OffsetToData = HiiBinOffset; + ResourceDataEntry = (EFI_IMAGE_RESOURCE_DATA_ENTRY *) (HiiBinData + HiiBinOffset); + HiiBinOffset += sizeof (EFI_IMAGE_RESOURCE_DATA_ENTRY); + ResourceDataEntry->OffsetToData = OffsetToFile + HiiBinOffset; + + while (sscanf (RcString, "0x%X", &Data16) != EOF) { + // + // Convert the string data to the binary data. + // + *(UINT16 *)(HiiBinData + HiiBinOffset) = (UINT16) Data16; + HiiBinOffset += 2; + // + // Jump to the next data. + // + RcString = RcString + 2 + 4; + Index = Index + 2 + 4; + // + // Skip space and ',' character + // + while (Index < Size && *RcString != '\0' && (isspace (*RcString) || *RcString == ',')){ + RcString ++; + Index ++; + } + // + // '}' end character + // + if (*RcString == '}'|| Index == Size) { + break; + } + // + // Check BinBuffer size + // + if (HiiBinOffset >= HiiBinSize) { + HiiBinSize += 0x1000; + HiiBinData = (UINT8 *) realloc (HiiBinData, HiiBinSize); + // + // Memory allocation is failure. + // + if (HiiBinData == NULL) { + HiiBinSize = 0; + break; + } + } + } + + if (HiiBinData != NULL) { + HiiBinSize = HiiBinOffset; + ResourceDataEntry->Size = HiiBinSize + OffsetToFile - ResourceDataEntry->OffsetToData; + } + + return; +} + VOID ScanSections( VOID @@ -605,11 +774,11 @@ ScanSections( break; case EM_X86_64: case EM_IA_64: - CoffOffset += sizeof (EFI_IMAGE_NT_HEADERS64); + CoffOffset += sizeof (EFI_IMAGE_NT_HEADERS64); break; default: VerboseMsg ("%s unknown e_machine type. Assume IA-32", (UINTN)Ehdr->e_machine); - CoffOffset += sizeof (EFI_IMAGE_NT_HEADERS32); + CoffOffset += sizeof (EFI_IMAGE_NT_HEADERS32); break; } @@ -672,13 +841,41 @@ ScanSections( Error (NULL, 0, 3000, "Invalid", "Unsupported section alignment."); } } - CoffSectionsOffset[i] = CoffOffset; CoffOffset += shdr->sh_size; } } CoffOffset = CoffAlign(CoffOffset); + // + // The HII resource sections. + // + HiiRsrcOffset = CoffOffset; + for (i = 0; i < Ehdr->e_shnum; i++) { + Elf_Shdr *shdr = GetShdrByIndex(i); + if (IsHiiRsrcShdr(shdr)) { + if ((shdr->sh_addralign != 0) && (shdr->sh_addralign != 1)) { + // the alignment field is valid + if ((shdr->sh_addr & (shdr->sh_addralign - 1)) == 0) { + // if the section address is aligned we must align PE/COFF + CoffOffset = (CoffOffset + shdr->sh_addralign - 1) & ~(shdr->sh_addralign - 1); + } else if ((shdr->sh_addr % shdr->sh_addralign) != (CoffOffset % shdr->sh_addralign)) { + // ARM RVCT tools have behavior outside of the ELF specification to try + // and make images smaller. If sh_addr is not aligned to sh_addralign + // then the section needs to preserve sh_addr MOD sh_addralign. + // Normally doing nothing here works great. + Error (NULL, 0, 3000, "Invalid", "Unsupported section alignment."); + } + } + GetBinaryHiiData ((CHAR8*)Ehdr + shdr->sh_offset, shdr->sh_size, HiiRsrcOffset); + if (HiiBinSize != 0) { + CoffOffset += HiiBinSize; + CoffOffset = CoffAlign(CoffOffset); + } + break; + } + } + RelocOffset = CoffOffset; // @@ -760,8 +957,8 @@ ScanSections( NtHdr->Pe32.FileHeader.NumberOfSections--; } - if ((RelocOffset - TextOffset) > 0) { - CreateSectionHeader (".data", DataOffset, RelocOffset - DataOffset, + if ((HiiRsrcOffset - DataOffset) > 0) { + CreateSectionHeader (".data", DataOffset, HiiRsrcOffset - DataOffset, EFI_IMAGE_SCN_CNT_INITIALIZED_DATA | EFI_IMAGE_SCN_MEM_WRITE | EFI_IMAGE_SCN_MEM_READ); @@ -769,6 +966,24 @@ ScanSections( // Don't make a section of size 0. NtHdr->Pe32.FileHeader.NumberOfSections--; } + + if ((RelocOffset - HiiRsrcOffset) > 0) { + CreateSectionHeader (".rsrc", HiiRsrcOffset, RelocOffset - HiiRsrcOffset, + EFI_IMAGE_SCN_CNT_INITIALIZED_DATA + | EFI_IMAGE_SCN_MEM_READ); + + NtHdr->Pe32.OptionalHeader.DataDirectory[EFI_IMAGE_DIRECTORY_ENTRY_RESOURCE].Size = HiiBinSize; + NtHdr->Pe32.OptionalHeader.DataDirectory[EFI_IMAGE_DIRECTORY_ENTRY_RESOURCE].VirtualAddress = HiiRsrcOffset; + + memcpy(CoffFile + HiiRsrcOffset, HiiBinData, HiiBinSize); + free (HiiBinData); + HiiBinData = NULL; + HiiBinSize = 0; + } else { + // Don't make a section of size 0. + NtHdr->Pe32.FileHeader.NumberOfSections--; + } + } VOID @@ -1215,141 +1430,6 @@ ConvertElf ( } } -void -ZeroXdataSection ( - IN CHAR8 *ImageName, - IN OUT UINT8 *FileBuffer, - IN EFI_IMAGE_SECTION_HEADER *SectionHeader, - IN UINT32 SectionTotalNumber - ) -{ - FILE *fpMapFile; - CHAR8 MapFileName[_MAX_PATH]; - CHAR8 Line [MAX_LINE_LEN]; - CHAR8 KeyWord [MAX_LINE_LEN]; - CHAR8 SectionName [MAX_LINE_LEN]; - UINT32 FunctionType = 0; - unsigned SectionOffset = 0; - unsigned SectionLength = 0; - unsigned SectionNumber = 0; - CHAR8 *PdbPointer; - INT32 Index; - UINT32 Index2; - - for (Index2 = 0; Index2 < SectionTotalNumber; Index2++) { - if (stricmp ((char *)SectionHeader[Index2].Name, ".zdata") == 0) { - // - // try to zero the customized .zdata section, which is mapped to .xdata - // - memset (FileBuffer + SectionHeader[Index2].PointerToRawData, 0, SectionHeader[Index2].SizeOfRawData); - DebugMsg (NULL, 0, 9, NULL, "Zero the .xdata section for PE image at Offset 0x%x and Length 0x%x", (unsigned) SectionHeader[Index2].PointerToRawData, (unsigned) SectionHeader[Index2].SizeOfRawData); - return; - } - } - // - // Try to get PDB file name - // - PdbPointer = (CHAR8 *) PeCoffLoaderGetPdbPointer (FileBuffer); - if (PdbPointer != NULL) { - strcpy (MapFileName, PdbPointer); - } else { - strcpy (MapFileName, ImageName); - } - - // - // Construct map file name - // - Index = strlen (MapFileName) - 1; - while (Index >= 0 && MapFileName[Index] != '.') { - Index --; - } - if (Index < 0) { - // - // don't know how to costruct map file - // - return; - } - - // - // fill map file postfix - // - MapFileName[Index + 1] = 'm'; - MapFileName[Index + 2] = 'a'; - MapFileName[Index + 3] = 'p'; - MapFileName[Index + 4] = '\0'; - - // - // try opening Map File - // - fpMapFile = fopen (MapFileName, "r"); - if (fpMapFile == NULL) { - // - // Can't open Map file. Maybe it doesn't exist. - // - return; - } - - // - // Output Functions information into Fv Map file - // - while (fgets (Line, MAX_LINE_LEN, fpMapFile) != NULL) { - // - // Skip blank line - // - if (Line[0] == 0x0a) { - if (FunctionType != 0) { - // - // read all section table data - // - FunctionType = 0; - break; - } - FunctionType = 0; - continue; - } - - // - // By Start keyword - // - if (FunctionType == 0) { - sscanf (Line, "%s", KeyWord); - if (stricmp (KeyWord, "Start") == 0) { - // - // function list - // - FunctionType = 1; - } - continue; - } - // - // Printf Function Information - // - if (FunctionType == 1) { - sscanf (Line, "%x:%x %xH %s", &SectionNumber, &SectionOffset, &SectionLength, SectionName); - if (stricmp (SectionName, ".xdata") == 0) { - FunctionType = 2; - break; - } - } - } - - if (FunctionType != 2) { - // - // no .xdata section is found - // - fclose (fpMapFile); - return; - } - - // - // Zero .xdata Section data - // - memset (FileBuffer + SectionHeader[SectionNumber-1].PointerToRawData + SectionOffset, 0, SectionLength); - DebugMsg (NULL, 0, 9, NULL, "Zero the .xdata section for PE image at Offset 0x%x and Length 0x%x", (unsigned) SectionHeader[SectionNumber-1].PointerToRawData + SectionOffset, SectionLength); - fclose (fpMapFile); - return; -} - int main ( int argc, @@ -1413,6 +1493,14 @@ Returns: EFI_IMAGE_OPTIONAL_HEADER64 *Optional64; EFI_IMAGE_DOS_HEADER BackupDosHdr; MICROCODE_IMAGE_HEADER *MciHeader; + UINT8 *HiiPackageListBuffer; + UINT8 *HiiPackageDataPointer; + EFI_GUID HiiPackageListGuid; + EFI_HII_PACKAGE_LIST_HEADER HiiPackageListHeader; + EFI_HII_PACKAGE_HEADER HiiPackageHeader; + EFI_IFR_FORM_SET IfrFormSet; + UINT8 NumberOfFormPacakge; + EFI_HII_PACKAGE_HEADER EndPackage; SetUtilityName (UTILITY_NAME); @@ -1445,6 +1533,12 @@ Returns: Optional64 = NULL; KeepExceptionTableFlag = FALSE; KeepZeroPendingFlag = FALSE; + NumberOfFormPacakge = 0; + HiiPackageListBuffer = NULL; + HiiPackageDataPointer = NULL; + EndPackage.Length = sizeof (EFI_HII_PACKAGE_HEADER); + EndPackage.Type = EFI_HII_PACKAGE_END; + memset (&HiiPackageListGuid, 0, sizeof (HiiPackageListGuid)); if (argc == 1) { Error (NULL, 0, 1001, "Missing options", "No input options."); @@ -1636,6 +1730,24 @@ Returns: continue; } + if ((stricmp (argv[0], "-g") == 0) || (stricmp (argv[0], "--hiiguid") == 0)) { + Status = StringToGuid (argv[1], &HiiPackageListGuid); + if (EFI_ERROR (Status)) { + Error (NULL, 0, 1003, "Invalid option value", "%s = %s", argv[0], argv[1]); + goto Finish; + } + argc -= 2; + argv += 2; + continue; + } + + if (stricmp (argv[0], "--hiipackage") == 0) { + OutImageType = FW_HII_PACKAGE_LIST_RCIMAGE; + argc --; + argv ++; + continue; + } + if (argv[0][0] == '-') { Error (NULL, 0, 1000, "Unknown option", argv[0]); goto Finish; @@ -1699,6 +1811,14 @@ Returns: goto Finish; } + // + // Combine HiiBinary packages to a single package list + // + if ((OutImageType == FW_HII_PACKAGE_LIST_RCIMAGE) && ReplaceFlag) { + Error (NULL, 0, 1002, "Conflicting option", "-r replace option cannot be used with --hiipackage merge files option."); + goto Finish; + } + // // Input image file // @@ -1739,6 +1859,9 @@ Returns: case FW_MERGE_IMAGE: VerboseMsg ("Combine the input multi microcode bin files to one bin file."); break; + case FW_HII_PACKAGE_LIST_RCIMAGE: + VerboseMsg ("Combine the input multi hii bin packages to one text pacakge list RC file."); + break; default: break; } @@ -1779,6 +1902,107 @@ Returns: } } + // + // Combine multi binary HII package files to a single text package list RC file. + // + if (OutImageType == FW_HII_PACKAGE_LIST_RCIMAGE) { + // + // Get hii package list lenght + // + HiiPackageListHeader.PackageLength = sizeof (EFI_HII_PACKAGE_LIST_HEADER); + for (Index = 0; Index < InputFileNum; Index ++) { + fpIn = fopen (InputFileName [Index], "rb"); + if (!fpIn) { + Error (NULL, 0, 0001, "Error opening file", InputFileName [Index]); + goto Finish; + } + FileLength = _filelength (fileno (fpIn)); + fread (&HiiPackageHeader, 1, sizeof (HiiPackageHeader), fpIn); + if (HiiPackageHeader.Type == EFI_HII_PACKAGE_FORM) { + if (HiiPackageHeader.Length != FileLength) { + Error (NULL, 0, 3000, "Invalid", "The wrong package size is in HII package file %s", InputFileName [Index]); + fclose (fpIn); + goto Finish; + } + if (memcmp (&HiiPackageListGuid, &mZeroGuid, sizeof (EFI_GUID)) == 0) { + fread (&IfrFormSet, 1, sizeof (IfrFormSet), fpIn); + memcpy (&HiiPackageListGuid, &IfrFormSet.Guid, sizeof (EFI_GUID)); + } + NumberOfFormPacakge ++; + } + HiiPackageListHeader.PackageLength += FileLength; + fclose (fpIn); + } + HiiPackageListHeader.PackageLength += sizeof (EndPackage); + // + // Check whether hii packages are valid + // + if (NumberOfFormPacakge > 1) { + Error (NULL, 0, 3000, "Invalid", "The input hii packages contains more than one hii form package"); + goto Finish; + } + if (memcmp (&HiiPackageListGuid, &mZeroGuid, sizeof (EFI_GUID)) == 0) { + Error (NULL, 0, 3000, "Invalid", "HII pacakge list guid is not specified!"); + goto Finish; + } + memcpy (&HiiPackageListHeader.PackageListGuid, &HiiPackageListGuid, sizeof (EFI_GUID)); + // + // read hii packages + // + HiiPackageListBuffer = malloc (HiiPackageListHeader.PackageLength); + if (HiiPackageListBuffer == NULL) { + Error (NULL, 0, 4001, "Resource", "memory cannot be allocated!"); + goto Finish; + } + memcpy (HiiPackageListBuffer, &HiiPackageListHeader, sizeof (HiiPackageListHeader)); + HiiPackageDataPointer = HiiPackageListBuffer + sizeof (HiiPackageListHeader); + for (Index = 0; Index < InputFileNum; Index ++) { + fpIn = fopen (InputFileName [Index], "rb"); + if (!fpIn) { + Error (NULL, 0, 0001, "Error opening file", InputFileName [Index]); + free (HiiPackageListBuffer); + goto Finish; + } + + FileLength = _filelength (fileno (fpIn)); + fread (HiiPackageDataPointer, 1, FileLength, fpIn); + fclose (fpIn); + HiiPackageDataPointer = HiiPackageDataPointer + FileLength; + } + memcpy (HiiPackageDataPointer, &EndPackage, sizeof (EndPackage)); + // + // write the hii package into the text package list rc file. + // + for (Index = 0; gHiiPackageRCFileHeader[Index] != NULL; Index++) { + fprintf (fpOut, "%s\n", gHiiPackageRCFileHeader[Index]); + } + fprintf (fpOut, "\n%d %s\n{", HII_RESOURCE_SECTION_INDEX, HII_RESOURCE_SECTION_NAME); + + HiiPackageDataPointer = HiiPackageListBuffer; + for (Index = 0; Index + 2 < HiiPackageListHeader.PackageLength; Index += 2) { + if (Index % 16 == 0) { + fprintf (fpOut, "\n "); + } + fprintf (fpOut, " 0x%04X,", *(UINT16 *) HiiPackageDataPointer); + HiiPackageDataPointer += 2; + } + + if (Index % 16 == 0) { + fprintf (fpOut, "\n "); + } + if ((Index + 2) == HiiPackageListHeader.PackageLength) { + fprintf (fpOut, " 0x%04X\n}\n", *(UINT16 *) HiiPackageDataPointer); + } + if ((Index + 1) == HiiPackageListHeader.PackageLength) { + fprintf (fpOut, " 0x%04X\n}\n", *(UINT8 *) HiiPackageDataPointer); + } + free (HiiPackageListBuffer); + // + // Done successfully + // + goto Finish; + } + // // Combine MciBinary files to one file // @@ -2471,12 +2695,13 @@ Returns: for (Index1 = 0; Index1 < Optional64->DataDirectory[EFI_IMAGE_DIRECTORY_ENTRY_EXCEPTION].Size / sizeof (RUNTIME_FUNCTION); Index1++, RuntimeFunction++) { SectionHeader = (EFI_IMAGE_SECTION_HEADER *) ((UINT8 *) &(PeHdr->Pe32.OptionalHeader) + PeHdr->Pe32.FileHeader.SizeOfOptionalHeader); for (Index2 = 0; Index2 < PeHdr->Pe32.FileHeader.NumberOfSections; Index2++, SectionHeader++) { - if (RuntimeFunction->UnwindInfoAddress > SectionHeader->VirtualAddress && RuntimeFunction->UnwindInfoAddress < (SectionHeader->VirtualAddress + SectionHeader->SizeOfRawData)) { + if (RuntimeFunction->UnwindInfoAddress >= SectionHeader->VirtualAddress && RuntimeFunction->UnwindInfoAddress < (SectionHeader->VirtualAddress + SectionHeader->SizeOfRawData)) { UnwindInfo = (UNWIND_INFO *)(FileBuffer + SectionHeader->PointerToRawData + (RuntimeFunction->UnwindInfoAddress - SectionHeader->VirtualAddress)); if (UnwindInfo->Version == 1) { memset (UnwindInfo + 1, 0, UnwindInfo->CountOfUnwindCodes * sizeof (UINT16)); memset (UnwindInfo, 0, sizeof (UNWIND_INFO)); } + break; } } memset (RuntimeFunction, 0, sizeof (RUNTIME_FUNCTION)); @@ -2552,7 +2777,16 @@ Returns: // if (!KeepExceptionTableFlag) { SectionHeader = (EFI_IMAGE_SECTION_HEADER *) ((UINT8 *) &(PeHdr->Pe32.OptionalHeader) + PeHdr->Pe32.FileHeader.SizeOfOptionalHeader); - ZeroXdataSection(mInImageName, FileBuffer, SectionHeader, PeHdr->Pe32.FileHeader.NumberOfSections); + for (Index = 0; Index < PeHdr->Pe32.FileHeader.NumberOfSections; Index++) { + if (stricmp ((char *)SectionHeader[Index].Name, ".xdata") == 0) { + // + // zero .xdata section + // + memset (FileBuffer + SectionHeader[Index].PointerToRawData, 0, SectionHeader[Index].SizeOfRawData); + DebugMsg (NULL, 0, 9, NULL, "Zero the .xdata section for PE image at Offset 0x%x and Length 0x%x", (unsigned) SectionHeader[Index].PointerToRawData, (unsigned) SectionHeader[Index].SizeOfRawData); + break; + } + } } // diff --git a/BaseTools/Source/C/GenVtf/GenVtf.c b/BaseTools/Source/C/GenVtf/GenVtf.c index eafbcbf002..890cfd98fd 100644 --- a/BaseTools/Source/C/GenVtf/GenVtf.c +++ b/BaseTools/Source/C/GenVtf/GenVtf.c @@ -1267,7 +1267,7 @@ Returns: // // Update the SYM file for this component based on it's start address. // - Status = UpdateSymFile (CompStartAddress, SymFileName, VtfInfo->CompSymName); + Status = UpdateSymFile (CompStartAddress, SymFileName, VtfInfo->CompSymName, FileSize); if (EFI_ERROR (Status)) { // @@ -1406,7 +1406,7 @@ Returns: // // Update the SYM file for this component based on it's start address. // - Status = UpdateSymFile (PalStartAddress, SymFileName, VtfInfo->CompSymName); + Status = UpdateSymFile (PalStartAddress, SymFileName, VtfInfo->CompSymName, FileSize); if (EFI_ERROR (Status)) { // @@ -1688,7 +1688,7 @@ Returns: FileHeader->IntegrityCheck.Checksum.File = 0; FileHeader->State = 0; FileHeader->IntegrityCheck.Checksum.Header = CalculateChecksum8 ((UINT8 *) FileHeader, sizeof (EFI_FFS_FILE_HEADER)); - FileHeader->IntegrityCheck.Checksum.File = CalculateChecksum8 ((UINT8 *) FileHeader, TotalVtfSize); + FileHeader->IntegrityCheck.Checksum.File = CalculateChecksum8 ((UINT8 *) (FileHeader + 1), TotalVtfSize - sizeof (EFI_FFS_FILE_HEADER)); FileHeader->State = EFI_FILE_HEADER_CONSTRUCTION | EFI_FILE_HEADER_VALID | EFI_FILE_DATA_VALID; return EFI_SUCCESS; @@ -2153,7 +2153,9 @@ EFI_STATUS UpdateSymFile ( IN UINT64 BaseAddress, IN CHAR8 *DestFileName, - IN CHAR8 *SourceFileName + IN CHAR8 *SourceFileName, + IN UINT64 FileSize + ) /*++ @@ -2167,6 +2169,7 @@ Arguments: BaseAddress - The base address for the new SYM tokens. DestFileName - The destination file. SourceFileName - The source file. + FileSize - Size of bin file. Returns: @@ -2185,7 +2188,7 @@ Returns: CHAR8 Token[_MAX_PATH]; CHAR8 BaseToken[_MAX_PATH]; UINT64 TokenAddress; - long StartLocation; + long StartLocation; // // Verify input parameters. @@ -2275,13 +2278,20 @@ Returns: // Get the token address // AsciiStringToUint64 (Address, TRUE, &TokenAddress); + if (TokenAddress > FileSize) { + // + // Symbol offset larger than FileSize. This Symbol can't be in Bin file. Don't print them. + // + break; + } // // Add the base address, the size of the FFS file header and the size of the peim header. // TokenAddress += BaseAddress &~IPF_CACHE_BIT; - fprintf (DestFile, "%s | %016llX | %s | %s%s\n", Type, (unsigned long long) TokenAddress, Section, BaseToken, Token); + fprintf (DestFile, "%s | %016llX | ", Type, (unsigned long long) TokenAddress); + fprintf (DestFile, "%s | %s\n %s\n", Section, Token, BaseToken); } } diff --git a/BaseTools/Source/C/GenVtf/GenVtf.h b/BaseTools/Source/C/GenVtf/GenVtf.h index eab14f3aa6..012ebb672a 100644 --- a/BaseTools/Source/C/GenVtf/GenVtf.h +++ b/BaseTools/Source/C/GenVtf/GenVtf.h @@ -205,7 +205,8 @@ EFI_STATUS UpdateSymFile ( IN UINT64 BaseAddress, IN CHAR8 *DestFileName, - IN CHAR8 *SourceFileName + IN CHAR8 *SourceFileName, + IN UINT64 FileSize ) /*++ @@ -219,6 +220,7 @@ Arguments: BaseAddress - The base address for the new SYM tokens. DestFileName - The destination file. SourceFileName - The source file. + FileSize - Size of bin file. Returns: diff --git a/BaseTools/Source/C/Include/Common/PiFirmwareFile.h b/BaseTools/Source/C/Include/Common/PiFirmwareFile.h index 158e672970..33b5645b12 100644 --- a/BaseTools/Source/C/Include/Common/PiFirmwareFile.h +++ b/BaseTools/Source/C/Include/Common/PiFirmwareFile.h @@ -50,7 +50,10 @@ typedef UINT8 EFI_FFS_FILE_STATE; #define EFI_FV_FILETYPE_DRIVER 0x07 #define EFI_FV_FILETYPE_COMBINED_PEIM_DRIVER 0x08 #define EFI_FV_FILETYPE_APPLICATION 0x09 +#define EFI_FV_FILETYPE_SMM 0x0A #define EFI_FV_FILETYPE_FIRMWARE_VOLUME_IMAGE 0x0B +#define EFI_FV_FILETYPE_COMBINED_SMM_DXE 0x0C +#define EFI_FV_FILETYPE_SMM_CORE 0x0D #define EFI_FV_FILETYPE_OEM_MIN 0xc0 #define EFI_FV_FILETYPE_OEM_MAX 0xdf #define EFI_FV_FILETYPE_DEBUG_MIN 0xe0 diff --git a/BaseTools/Source/C/Include/Common/UefiInternalFormRepresentation.h b/BaseTools/Source/C/Include/Common/UefiInternalFormRepresentation.h index f54614abf2..5e926ac08d 100644 --- a/BaseTools/Source/C/Include/Common/UefiInternalFormRepresentation.h +++ b/BaseTools/Source/C/Include/Common/UefiInternalFormRepresentation.h @@ -3,7 +3,7 @@ IFR is primarily consumed by the EFI presentation engine, and produced by EFI internal application and drivers as well as all add-in card option-ROM drivers - Copyright (c) 2006 - 2008, Intel Corporation All rights reserved. + Copyright (c) 2006 - 2009, Intel Corporation All rights reserved. This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this @@ -268,8 +268,8 @@ typedef struct _EFI_HII_GUID_PACKAGE_HDR { // String Package // -#define UEFI_CONFIG_LANG L"x-UEFI" -#define UEFI_CONFIG_LANG2 L"x-i-UEFI" // BUGBUG, spec need to be updated. +#define UEFI_CONFIG_LANG "x-UEFI" +#define UEFI_CONFIG_LANG2 "x-i-UEFI" typedef struct _EFI_HII_STRING_PACKAGE_HDR { EFI_HII_PACKAGE_HEADER Header; @@ -1034,12 +1034,12 @@ typedef struct _EFI_IFR_EQ_ID_VAL { UINT16 Value; } EFI_IFR_EQ_ID_VAL; -typedef struct _EFI_IFR_EQ_ID_LIST { +typedef struct _EFI_IFR_EQ_ID_VAL_LIST { EFI_IFR_OP_HEADER Header; EFI_QUESTION_ID QuestionId; UINT16 ListLength; UINT16 ValueList[1]; -} EFI_IFR_EQ_ID_LIST; +} EFI_IFR_EQ_ID_VAL_LIST; typedef struct _EFI_IFR_QUESTION_REF1 { EFI_IFR_OP_HEADER Header; diff --git a/BaseTools/Source/C/Include/IndustryStandard/PeImage.h b/BaseTools/Source/C/Include/IndustryStandard/PeImage.h index 1595a987e1..57cbc2366b 100644 --- a/BaseTools/Source/C/Include/IndustryStandard/PeImage.h +++ b/BaseTools/Source/C/Include/IndustryStandard/PeImage.h @@ -656,6 +656,59 @@ typedef struct { UINT8 FrameRegisterOffset:4; } UNWIND_INFO; +/// +/// Resource format. +/// +typedef struct { + UINT32 Characteristics; + UINT32 TimeDateStamp; + UINT16 MajorVersion; + UINT16 MinorVersion; + UINT16 NumberOfNamedEntries; + UINT16 NumberOfIdEntries; + // + // Array of EFI_IMAGE_RESOURCE_DIRECTORY_ENTRY entries goes here. + // +} EFI_IMAGE_RESOURCE_DIRECTORY; + +/// +/// Resource directory entry format. +/// +typedef struct { + union { + struct { + UINT32 NameOffset:31; + UINT32 NameIsString:1; + } s; + UINT32 Id; + } u1; + union { + UINT32 OffsetToData; + struct { + UINT32 OffsetToDirectory:31; + UINT32 DataIsDirectory:1; + } s; + } u2; +} EFI_IMAGE_RESOURCE_DIRECTORY_ENTRY; + +/// +/// Resource directory entry for string. +/// +typedef struct { + UINT16 Length; + CHAR16 String[1]; +} EFI_IMAGE_RESOURCE_DIRECTORY_STRING; + +/// +/// Resource directory entry for data array. +/// +typedef struct { + UINT32 OffsetToData; + UINT32 Size; + UINT32 CodePage; + UINT32 Reserved; +} EFI_IMAGE_RESOURCE_DATA_ENTRY; + /// /// Header format for TE images /// diff --git a/BaseTools/Source/C/VfrCompile/VfrCompiler.cpp b/BaseTools/Source/C/VfrCompile/VfrCompiler.cpp index 195727c2eb..e3c150cd3d 100644 --- a/BaseTools/Source/C/VfrCompile/VfrCompiler.cpp +++ b/BaseTools/Source/C/VfrCompile/VfrCompiler.cpp @@ -628,23 +628,27 @@ CVfrCompiler::GenCFile ( if (!IS_RUN_STATUS(STATUS_GENBINARY)) { goto Fail; } + + if (!mOptions.CreateIfrPkgFile || mOptions.CompatibleMode) { + if ((pFile = fopen (mOptions.COutputFileName, "w")) == NULL) { + Error (NULL, 0, 0001, "Error opening output C file", mOptions.COutputFileName); + goto Fail; + } - if ((pFile = fopen (mOptions.COutputFileName, "w")) == NULL) { - Error (NULL, 0, 0001, "Error opening output C file", mOptions.COutputFileName); - goto Fail; - } - - for (Index = 0; gSourceFileHeader[Index] != NULL; Index++) { - fprintf (pFile, "%s\n", gSourceFileHeader[Index]); - } + for (Index = 0; gSourceFileHeader[Index] != NULL; Index++) { + fprintf (pFile, "%s\n", gSourceFileHeader[Index]); + } - gCVfrBufferConfig.OutputCFile (pFile, mOptions.VfrBaseFileName); + if (mOptions.CompatibleMode) { + gCVfrBufferConfig.OutputCFile (pFile, mOptions.VfrBaseFileName); + } - if (gCFormPkg.GenCFile (mOptions.VfrBaseFileName, pFile, &gRBuffer) != VFR_RETURN_SUCCESS) { + if (gCFormPkg.GenCFile (mOptions.VfrBaseFileName, pFile, &gRBuffer) != VFR_RETURN_SUCCESS) { + fclose (pFile); + goto Fail; + } fclose (pFile); - goto Fail; } - fclose (pFile); SET_RUN_STATUS (STATUS_FINISHED); return; diff --git a/BaseTools/Source/C/VfrCompile/VfrFormPkg.cpp b/BaseTools/Source/C/VfrCompile/VfrFormPkg.cpp index 298eb0289b..87da95af71 100644 --- a/BaseTools/Source/C/VfrCompile/VfrFormPkg.cpp +++ b/BaseTools/Source/C/VfrCompile/VfrFormPkg.cpp @@ -2,7 +2,7 @@ The definition of CFormPkg's member function -Copyright (c) 2004 - 2008, Intel Corporation +Copyright (c) 2004 - 2009, Intel Corporation All rights reserved. This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this distribution. The full text of the license may be found at @@ -1228,7 +1228,7 @@ static struct { { sizeof (EFI_IFR_INCONSISTENT_IF), 1 }, // EFI_IFR_INCONSISTENT_IF_OP { sizeof (EFI_IFR_EQ_ID_VAL), 0 }, // EFI_IFR_EQ_ID_VAL_OP { sizeof (EFI_IFR_EQ_ID_ID), 0 }, // EFI_IFR_EQ_ID_ID_OP - { sizeof (EFI_IFR_EQ_ID_LIST), 0 }, // EFI_IFR_EQ_ID_LIST_OP - 0x14 + { sizeof (EFI_IFR_EQ_ID_VAL_LIST), 0 }, // EFI_IFR_EQ_ID_LIST_OP - 0x14 { sizeof (EFI_IFR_AND), 0 }, // EFI_IFR_AND_OP { sizeof (EFI_IFR_OR), 0 }, // EFI_IFR_OR_OP { sizeof (EFI_IFR_NOT), 0 }, // EFI_IFR_NOT_OP diff --git a/BaseTools/Source/C/VfrCompile/VfrFormPkg.h b/BaseTools/Source/C/VfrCompile/VfrFormPkg.h index fa671c1b1e..324078a148 100644 --- a/BaseTools/Source/C/VfrCompile/VfrFormPkg.h +++ b/BaseTools/Source/C/VfrCompile/VfrFormPkg.h @@ -2,7 +2,7 @@ The definition of CFormPkg's member function -Copyright (c) 2004 - 2008, Intel Corporation +Copyright (c) 2004 - 2009, Intel Corporation All rights reserved. This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this distribution. The full text of the license may be found at @@ -1568,12 +1568,12 @@ public: class CIfrEqIdList : public CIfrObj, public CIfrOpHeader { private: - EFI_IFR_EQ_ID_LIST *mEqIdVList; + EFI_IFR_EQ_ID_VAL_LIST *mEqIdVList; public: CIfrEqIdList ( IN UINT32 LineNo - ) : CIfrObj (EFI_IFR_EQ_ID_LIST_OP, (CHAR8 **)&mEqIdVList, sizeof (EFI_IFR_EQ_ID_LIST), TRUE), + ) : CIfrObj (EFI_IFR_EQ_ID_LIST_OP, (CHAR8 **)&mEqIdVList, sizeof (EFI_IFR_EQ_ID_VAL_LIST), TRUE), CIfrOpHeader (EFI_IFR_EQ_ID_LIST_OP, &mEqIdVList->Header) { SetLineNo (LineNo); mEqIdVList->QuestionId = EFI_QUESTION_ID_INVALID; @@ -1584,7 +1584,7 @@ public: VOID UpdateIfrBuffer ( ) { _EMIT_PENDING_OBJ(); - mEqIdVList = (EFI_IFR_EQ_ID_LIST *) GetObjBinAddr(); + mEqIdVList = (EFI_IFR_EQ_ID_VAL_LIST *) GetObjBinAddr(); UpdateHeader (&mEqIdVList->Header); } diff --git a/BaseTools/Source/C/VfrCompile/VfrSyntax.g b/BaseTools/Source/C/VfrCompile/VfrSyntax.g index c01f16e5d5..ea529a5e15 100644 --- a/BaseTools/Source/C/VfrCompile/VfrSyntax.g +++ b/BaseTools/Source/C/VfrCompile/VfrSyntax.g @@ -1911,7 +1911,7 @@ vfrStatementOrderedList : >> L:OrderedList << OLObj.SetLineNo(L->getLine()); >> vfrQuestionHeader[OLObj] "," - << OLObj.SetMaxContainers ((UINT8)_GET_CURRQEST_VARSIZE()); >> + << OLObj.SetMaxContainers ((UINT8) _GET_CURRQEST_ARRAY_SIZE()); >> { MaxContainers "=" M:Number "," << OLObj.SetMaxContainers (_STOU8(M->getText())); >> } @@ -3179,6 +3179,7 @@ private: UINT8 _GET_CURRQEST_DATATYPE (); UINT32 _GET_CURRQEST_VARSIZE (); + UINT32 _GET_CURRQEST_ARRAY_SIZE(); public: VOID _PCATCH (IN INTN, IN INTN, IN ANTLRTokenPtr, IN CHAR8 *); @@ -3286,6 +3287,37 @@ EfiVfrParser::_GET_CURRQEST_VARTINFO ( return mCurrQestVarInfo; } +UINT32 +EfiVfrParser::_GET_CURRQEST_ARRAY_SIZE ( + VOID + ) +{ + UINT8 Size = 1; + + switch (mCurrQestVarInfo.mVarType) { + case EFI_IFR_TYPE_NUM_SIZE_8: + Size = 1; + break; + + case EFI_IFR_TYPE_NUM_SIZE_16: + Size = 2; + break; + + case EFI_IFR_TYPE_NUM_SIZE_32: + Size = 4; + break; + + case EFI_IFR_TYPE_NUM_SIZE_64: + Size = 8; + break; + + default: + break; + } + + return (mCurrQestVarInfo.mVarTotalSize / Size); +} + UINT8 EfiVfrParser::_GET_CURRQEST_DATATYPE ( VOID diff --git a/BaseTools/Source/C/VolInfo/VolInfo.c b/BaseTools/Source/C/VolInfo/VolInfo.c index b7237b08e8..ff61c9bd63 100644 --- a/BaseTools/Source/C/VolInfo/VolInfo.c +++ b/BaseTools/Source/C/VolInfo/VolInfo.c @@ -437,122 +437,126 @@ Returns: { CHAR8 *SectionStr; CHAR8 *SectionTypeStringTable[] = { - "EFI_SECTION_ALL", // // 0X00 // - "EFI_SECTION_COMPRESSION", + "EFI_SECTION_ALL", // // 0x01 // - "EFI_SECTION_GUID_DEFINED", + "EFI_SECTION_COMPRESSION", // // 0x02 // - "Unknown section type - Reserved 0x03", + "EFI_SECTION_GUID_DEFINED", // // 0x03 // - "Unknown section type - Reserved 0x04", + "Unknown section type - Reserved 0x03", // // 0x04 // - "Unknown section type - Reserved 0x05", + "Unknown section type - Reserved 0x04", // // 0x05 // - "Unknown section type - Reserved 0x06", + "Unknown section type - Reserved 0x05", // // 0x06 // - "Unknown section type - Reserved 0x07", + "Unknown section type - Reserved 0x06", // // 0x07 // - "Unknown section type - Reserved 0x08", + "Unknown section type - Reserved 0x07", // // 0x08 // - "Unknown section type - Reserved 0x09", + "Unknown section type - Reserved 0x08", // // 0x09 // - "Unknown section type - Reserved 0x0A", + "Unknown section type - Reserved 0x09", // // 0x0A // - "Unknown section type - Reserved 0x0B", + "Unknown section type - Reserved 0x0A", // // 0x0B // - "Unknown section type - Reserved 0x0C", + "Unknown section type - Reserved 0x0B", // // 0x0C // - "Unknown section type - Reserved 0x0D", + "Unknown section type - Reserved 0x0C", // // 0x0D // - "Unknown section type - Reserved 0x0E", + "Unknown section type - Reserved 0x0D", // // 0x0E // - "Unknown section type - Reserved 0x0F", + "Unknown section type - Reserved 0x0E", // // 0x0F // - "EFI_SECTION_PE32", + "Unknown section type - Reserved 0x0E", // // 0x10 // - "EFI_SECTION_PIC", + "EFI_SECTION_PE32", // // 0x11 // - "EFI_SECTION_TE", + "EFI_SECTION_PIC", // // 0x12 // - "EFI_SECTION_DXE_DEPEX", + "EFI_SECTION_TE", // // 0x13 // - "EFI_SECTION_VERSION", + "EFI_SECTION_DXE_DEPEX", // // 0x14 // - "EFI_SECTION_USER_INTERFACE", + "EFI_SECTION_VERSION", // // 0x15 // - "EFI_SECTION_COMPATIBILITY16", + "EFI_SECTION_USER_INTERFACE", // // 0x16 // - "EFI_SECTION_FIRMWARE_VOLUME_IMAGE ", + "EFI_SECTION_COMPATIBILITY16", // // 0x17 // - "EFI_SECTION_FREEFORM_SUBTYPE_GUID ", + "EFI_SECTION_FIRMWARE_VOLUME_IMAGE ", // // 0x18 // - "EFI_SECTION_RAW", + "EFI_SECTION_FREEFORM_SUBTYPE_GUID ", // // 0x19 // - "Unknown section type - 0x1A", + "EFI_SECTION_RAW", // // 0x1A // - "EFI_SECTION_PEI_DEPEX", + "Unknown section type - 0x1A", // // 0x1B // - "Unknown section type - Reserved - beyond last defined section" + "EFI_SECTION_PEI_DEPEX", + // + // 0x1C + // + "EFI_SECTION_SMM_DEPEX", // // 0x1C+ // + "Unknown section type - Reserved - beyond last defined section" }; if (Type > EFI_SECTION_LAST_SECTION_TYPE) { @@ -1055,15 +1059,15 @@ Returns: // // Calculate file checksum // - Checksum = CalculateSum8 ((UINT8 *) FileHeader, FileLength); - Checksum = (UINT8) (Checksum - FileHeader->State); + Checksum = CalculateSum8 ((UINT8 *) (FileHeader + 1), FileLength - sizeof (EFI_FFS_FILE_HEADER)); + Checksum = Checksum + FileHeader->IntegrityCheck.Checksum.File; if (Checksum != 0) { Error (NULL, 0, 0003, "error parsing FFS file", "FFS file with Guid %s has invalid file checksum", GuidBuffer); return EFI_ABORTED; } } else { if (FileHeader->IntegrityCheck.Checksum.File != FFS_FIXED_CHECKSUM) { - Error (NULL, 0, 0003, "error parsing FFS file", "FFS file with Guid %s has invalid header checksum -- not set to fixed value of 0x5A", GuidBuffer); + Error (NULL, 0, 0003, "error parsing FFS file", "FFS file with Guid %s has invalid header checksum -- not set to fixed value of 0xAA", GuidBuffer); return EFI_ABORTED; } } @@ -1130,10 +1134,22 @@ Returns: printf ("EFI_FV_FILETYPE_APPLICATION\n"); break; + case EFI_FV_FILETYPE_SMM: + printf ("EFI_FV_FILETYPE_SMM\n"); + break; + case EFI_FV_FILETYPE_FIRMWARE_VOLUME_IMAGE: printf ("EFI_FV_FILETYPE_FIRMWARE_VOLUME_IMAGE\n"); break; + case EFI_FV_FILETYPE_COMBINED_SMM_DXE: + printf ("EFI_FV_FILETYPE_COMBINED_SMM_DXE\n"); + break; + + case EFI_FV_FILETYPE_SMM_CORE: + printf ("EFI_FV_FILETYPE_SMM_CORE\n"); + break; + case EFI_FV_FILETYPE_FFS_PAD: printf ("EFI_FV_FILETYPE_FFS_PAD\n"); break; @@ -1273,8 +1289,9 @@ Returns: // break; - case EFI_SECTION_DXE_DEPEX: case EFI_SECTION_PEI_DEPEX: + case EFI_SECTION_DXE_DEPEX: + case EFI_SECTION_SMM_DEPEX: DumpDepexSection (Ptr, SectionLength); break; diff --git a/BaseTools/Source/Python/AutoGen/AutoGen.py b/BaseTools/Source/Python/AutoGen/AutoGen.py index 647e1d0052..9594ef0cae 100644 --- a/BaseTools/Source/Python/AutoGen/AutoGen.py +++ b/BaseTools/Source/Python/AutoGen/AutoGen.py @@ -21,6 +21,7 @@ import copy import GenC import GenMake import GenDepex +from StringIO import StringIO from StrGather import * from BuildEngine import BuildRule @@ -48,8 +49,8 @@ gBuildRuleFile = 'Conf/build_rule.txt' gAutoGenCodeFileName = "AutoGen.c" gAutoGenHeaderFileName = "AutoGen.h" gAutoGenStringFileName = "%(module_name)sStrDefs.h" +gAutoGenStringFormFileName = "%(module_name)sStrDefs.hpk" gAutoGenDepexFileName = "%(module_name)s.depex" -gAutoGenSmmDepexFileName = "%(module_name)s.smm" ## Base class for AutoGen # @@ -137,7 +138,8 @@ class WorkspaceAutoGen(AutoGen): # @param SkuId SKU id from command line # def _Init(self, WorkspaceDir, ActivePlatform, Target, Toolchain, ArchList, MetaFileDb, - BuildConfig, ToolDefinition, FlashDefinitionFile='', Fds=[], Fvs=[], SkuId=''): + BuildConfig, ToolDefinition, FlashDefinitionFile='', Fds=[], Fvs=[], SkuId='', + ReportFile=None, ReportType=None): self.MetaFile = ActivePlatform.MetaFile self.WorkspaceDir = WorkspaceDir self.Platform = ActivePlatform @@ -145,6 +147,8 @@ class WorkspaceAutoGen(AutoGen): self.ToolChain = Toolchain self.ArchList = ArchList self.SkuId = SkuId + self.ReportFile = ReportFile + self.ReportType = ReportType self.BuildDatabase = MetaFileDb self.TargetTxt = BuildConfig @@ -181,6 +185,325 @@ class WorkspaceAutoGen(AutoGen): Pa.CollectPlatformDynamicPcds() self.AutoGenObjectList.append(Pa) + AllPcds = {} + MaxLen = 0 + for Pcd in Pa._DynaPcdList_ + Pa._NonDynaPcdList_: + if Pcd.TokenSpaceGuidCName not in AllPcds: + AllPcds[Pcd.TokenSpaceGuidCName] = {} + if Pcd.Type not in AllPcds[Pcd.TokenSpaceGuidCName]: + AllPcds[Pcd.TokenSpaceGuidCName][Pcd.Type] = [] + AllPcds[Pcd.TokenSpaceGuidCName][Pcd.Type] += [Pcd] + if len(Pcd.TokenCName) > MaxLen: + MaxLen = len(Pcd.TokenCName) + + if self.ReportFile <> None: + try: + if os.path.exists(self.ReportFile): + os.remove(self.ReportFile) + + Fd = open(self.ReportFile, "w") + + Fd.write ('===============================================================================\n') + Fd.write ('Platform Configuration Database Report\n') + Fd.write ('===============================================================================\n') + Fd.write (' *P - Platform scoped PCD override in DSC file\n') + Fd.write (' *F - Platform scoped PCD override in FDF file\n') + Fd.write (' *M - Module scoped PCD override in DSC file\n') + Fd.write (' *C - Library has a constructor\n') + Fd.write (' *D - Library has a destructor\n') + Fd.write (' *CD - Library has both a constructor and a destructor\n') + Fd.write ('===============================================================================\n') + Fd.write ('\n') + Fd.write ('===============================================================================\n') + Fd.write ('PLATFORM: %s\n' % (ActivePlatform.MetaFile)) + Fd.write ('===============================================================================\n') + for Key in AllPcds: + Fd.write ('%s\n' % (Key)) + for Type in AllPcds[Key]: + TypeName = '' + DecType = Type + if Type == 'FixedAtBuild': + TypeName = 'FIXED' + if Type == 'PatchableInModule': + TypeName = 'PATCH' + if Type == 'FeatureFlag': + TypeName = 'FLAG' + if Type == 'Dynamic': + TypeName = 'DYN' + if Type == 'DynamicHii': + TypeName = 'DYNHII' + DecType = 'Dynamic' + if Type == 'DynamicVpd': + TypeName = 'DYNVPD' + DecType = 'Dynamic' + if Type == 'DynamicEx': + TypeName = 'DEX' + DecType = 'Dynamic' + if Type == 'DynamicExHii': + TypeName = 'DEXHII' + DecType = 'Dynamic' + if Type == 'DynamicExVpd': + TypeName = 'DEXVPD' + DecType = 'Dynamic' + for Pcd in AllPcds[Key][Type]: + + DecDefaultValue = None + for F in Pa.Platform.Modules.keys(): + for Package in Pa.Platform.Modules[F].M.Module.Packages: + if (Pcd.TokenCName, Pcd.TokenSpaceGuidCName, DecType) in Package.Pcds: + if DecDefaultValue == None: + DecDefaultValue = Package.Pcds[Pcd.TokenCName, Pcd.TokenSpaceGuidCName, DecType].DefaultValue + + DscDefaultValue = None + if (Pcd.TokenCName, Pcd.TokenSpaceGuidCName) in self.BuildDatabase.WorkspaceDb.PlatformList[0].Pcds: + DscDefaultValue = self.BuildDatabase.WorkspaceDb.PlatformList[0].Pcds[(Pcd.TokenCName, Pcd.TokenSpaceGuidCName)].DefaultValue + + if Pcd.DatumType in ('UINT8', 'UINT16', 'UINT32', 'UINT64'): + if Pcd.DefaultValue.strip()[0:2].upper() == '0X': + PcdDefaultValueNumber = int(Pcd.DefaultValue.strip(), 16) + else: + PcdDefaultValueNumber = int(Pcd.DefaultValue.strip()) + + if DecDefaultValue == None: + DecMatch = True + else: + if DecDefaultValue.strip()[0:2].upper() == '0X': + DecDefaultValueNumber = int(DecDefaultValue.strip(), 16) + else: + DecDefaultValueNumber = int(DecDefaultValue.strip()) + DecMatch = (DecDefaultValueNumber == PcdDefaultValueNumber) + + if DscDefaultValue == None: + DscMatch = True + else: + if DscDefaultValue.strip()[0:2].upper() == '0X': + DscDefaultValueNumber = int(DscDefaultValue.strip(), 16) + else: + DscDefaultValueNumber = int(DscDefaultValue.strip()) + DscMatch = (DscDefaultValueNumber == PcdDefaultValueNumber) + else: + if DecDefaultValue == None: + DecMatch = True + else: + DecMatch = (DecDefaultValue == Pcd.DefaultValue) + + if DscDefaultValue == None: + DscMatch = True + else: + DscMatch = (DscDefaultValue == Pcd.DefaultValue) + + if DecMatch: + Fd.write (' %-*s: %6s %10s = %-22s\n' % (MaxLen + 2, Pcd.TokenCName, TypeName, '('+Pcd.DatumType+')', Pcd.DefaultValue)) + else: + if DscMatch: + if (Pcd.TokenCName, Key) in PcdSet: + Fd.write (' *F %-*s: %6s %10s = %-22s\n' % (MaxLen + 2, Pcd.TokenCName, TypeName, '('+Pcd.DatumType+')', Pcd.DefaultValue)) + else: + Fd.write (' *P %-*s: %6s %10s = %-22s\n' % (MaxLen + 2, Pcd.TokenCName, TypeName, '('+Pcd.DatumType+')', Pcd.DefaultValue)) + + for F in Pa.Platform.Modules.keys(): + for ModulePcd in Pa.Platform.Modules[F].M.ModulePcdList + Pa.Platform.Modules[F].M.LibraryPcdList: + if ModulePcd.TokenSpaceGuidCName <> Pcd.TokenSpaceGuidCName: + continue + if ModulePcd.TokenCName <> Pcd.TokenCName: + continue + if Pcd.DatumType in ('UINT8', 'UINT16', 'UINT32', 'UINT64'): + if ModulePcd.DefaultValue.strip()[0:2].upper() == '0X': + ModulePcdDefaultValueNumber = int(ModulePcd.DefaultValue.strip(), 16) + else: + ModulePcdDefaultValueNumber = int(ModulePcd.DefaultValue.strip()) + Match = (ModulePcdDefaultValueNumber == PcdDefaultValueNumber) + else: + Match = (ModulePcd.DefaultValue == Pcd.DefaultValue) + if Match: + continue + Fd.write (' *M %*s = %s\n' % (MaxLen + 21, str(F).split('\\')[-1], ModulePcd.DefaultValue)) + + if not DecMatch and DscMatch and DecDefaultValue <> None: + Fd.write (' %*s = %s\n' % (MaxLen + 21, 'DEC DEFAULT', DecDefaultValue)) + + Fd.write ('\n') + + Fd.write ('===============================================================================\n') + Fd.write ('===============================================================================\n') + + for F in Pa.Platform.Modules.keys(): + Fd.write ('\n') + Fd.write ('===============================================================================\n') + Fd.write ('MODULE: %s\n' % (F)) + Fd.write ('===============================================================================\n') + + Fd.write ('PLATFORM CONFIGURATION DATABASE\n') + Fd.write ('-------------------------------------------------------------------------------\n') + ModuleFirst = True + for Key in AllPcds: + First = True + for Type in AllPcds[Key]: + TypeName = '' + DecType = Type + if Type == 'FixedAtBuild': + TypeName = 'FIXED' + if Type == 'PatchableInModule': + TypeName = 'PATCH' + if Type == 'FeatureFlag': + TypeName = 'FLAG' + if Type == 'Dynamic': + TypeName = 'DYN' + if Type == 'DynamicHii': + TypeName = 'DYNHII' + DecType = 'Dynamic' + if Type == 'DynamicVpd': + TypeName = 'DYNVPD' + DecType = 'Dynamic' + if Type == 'DynamicEx': + TypeName = 'DEX' + DecType = 'Dynamic' + if Type == 'DynamicExHii': + TypeName = 'DEXHII' + DecType = 'Dynamic' + if Type == 'DynamicExVpd': + TypeName = 'DEXVPD' + DecType = 'Dynamic' + for Pcd in AllPcds[Key][Type]: + for ModulePcd in Pa.Platform.Modules[F].M.ModulePcdList + Pa.Platform.Modules[F].M.LibraryPcdList: + if ModulePcd.TokenSpaceGuidCName <> Pcd.TokenSpaceGuidCName: + continue + if ModulePcd.TokenCName <> Pcd.TokenCName: + continue + if ModulePcd.Type <> Pcd.Type: + continue + if First: + if ModuleFirst: + ModuleFirst = False + else: + Fd.write ('\n') + Fd.write ('%s\n' % (Key)) + First = False + + InfDefaultValue = ModulePcd.InfDefaultValue + if InfDefaultValue == '': + InfDefaultValue = None + + DecDefaultValue = None + for Package in Pa.Platform.Modules[F].M.Module.Packages: + if (Pcd.TokenCName, Pcd.TokenSpaceGuidCName, DecType) in Package.Pcds: + if DecDefaultValue == None: + DecDefaultValue = Package.Pcds[Pcd.TokenCName, Pcd.TokenSpaceGuidCName, DecType].DefaultValue + + DscDefaultValue = None + if (Pcd.TokenCName, Pcd.TokenSpaceGuidCName) in self.BuildDatabase.WorkspaceDb.PlatformList[0].Pcds: + DscDefaultValue = self.BuildDatabase.WorkspaceDb.PlatformList[0].Pcds[(Pcd.TokenCName, Pcd.TokenSpaceGuidCName)].DefaultValue + + DscModuleOverrideDefaultValue = None + if F in self.BuildDatabase.WorkspaceDb.PlatformList[0].Modules: + if (Pcd.TokenCName, Pcd.TokenSpaceGuidCName) in self.BuildDatabase.WorkspaceDb.PlatformList[0].Modules[F].Pcds: + DscModuleOverrideDefaultValue = self.BuildDatabase.WorkspaceDb.PlatformList[0].Modules[F].Pcds[(Pcd.TokenCName, Pcd.TokenSpaceGuidCName)].DefaultValue + + if Pcd.DatumType in ('UINT8', 'UINT16', 'UINT32', 'UINT64'): + if ModulePcd.DefaultValue.strip()[0:2].upper() == '0X': + ModulePcdDefaultValueNumber = int(ModulePcd.DefaultValue.strip(), 16) + else: + ModulePcdDefaultValueNumber = int(ModulePcd.DefaultValue.strip()) + + if DecDefaultValue == None: + DecMatch = True + else: + if DecDefaultValue.strip()[0:2].upper() == '0X': + DecDefaultValueNumber = int(DecDefaultValue.strip(), 16) + else: + DecDefaultValueNumber = int(DecDefaultValue.strip()) + DecMatch = (DecDefaultValueNumber == ModulePcdDefaultValueNumber) + + if InfDefaultValue == None: + InfMatch = True + else: + if InfDefaultValue.strip()[0:2].upper() == '0X': + InfDefaultValueNumber = int(InfDefaultValue.strip(), 16) + else: + InfDefaultValueNumber = int(InfDefaultValue.strip()) + InfMatch = (InfDefaultValueNumber == ModulePcdDefaultValueNumber) + + if DscDefaultValue == None: + DscMatch = True + else: + if DscDefaultValue.strip()[0:2].upper() == '0X': + DscDefaultValueNumber = int(DscDefaultValue.strip(), 16) + else: + DscDefaultValueNumber = int(DscDefaultValue.strip()) + DscMatch = (DscDefaultValueNumber == ModulePcdDefaultValueNumber) + else: + if DecDefaultValue == None: + DecMatch = True + else: + DecMatch = (DecDefaultValue == ModulePcd.DefaultValue) + + if InfDefaultValue == None: + InfMatch = True + else: + InfMatch = (InfDefaultValue == ModulePcd.DefaultValue) + + if DscDefaultValue == None: + DscMatch = True + else: + DscMatch = (DscDefaultValue == ModulePcd.DefaultValue) + + if DecMatch and InfMatch: + Fd.write (' %-*s: %6s %10s = %-22s\n' % (MaxLen, Pcd.TokenCName, TypeName, '('+Pcd.DatumType+')', ModulePcd.DefaultValue)) + else: + if DscMatch and DscModuleOverrideDefaultValue == None: + if (Pcd.TokenCName, Key) in PcdSet: + Fd.write (' *F %-*s: %6s %10s = %-22s\n' % (MaxLen, Pcd.TokenCName, TypeName, '('+Pcd.DatumType+')', ModulePcd.DefaultValue)) + else: + Fd.write (' *P %-*s: %6s %10s = %-22s\n' % (MaxLen, Pcd.TokenCName, TypeName, '('+Pcd.DatumType+')', ModulePcd.DefaultValue)) + else: + Fd.write (' *M %-*s: %6s %10s = %-22s\n' % (MaxLen, Pcd.TokenCName, TypeName, '('+Pcd.DatumType+')', ModulePcd.DefaultValue)) + if DscDefaultValue <> None: + Fd.write (' %*s = %s\n' % (MaxLen + 19, 'DSC DEFAULT', DscDefaultValue)) + if InfDefaultValue <> None: + Fd.write (' %*s = %s\n' % (MaxLen + 19, 'INF DEFAULT', InfDefaultValue)) + if DecDefaultValue <> None and not DecMatch: + Fd.write (' %*s = %s\n' % (MaxLen + 19, 'DEC DEFAULT', DecDefaultValue)) + Fd.write ('-------------------------------------------------------------------------------\n') + Fd.write ('LIBRARIES\n') + Fd.write ('-------------------------------------------------------------------------------\n') + for Lib in Pa.Platform.Modules[F].M.DependentLibraryList: + if len(Lib.ConstructorList) > 0: + if len(Lib.DestructorList) > 0: + Fd.write (' *CD') + else: + Fd.write (' *C ') + else: + if len(Lib.DestructorList) > 0: + Fd.write (' *D ') + else: + Fd.write (' ') + Fd.write (' %s\n' % (Lib)) + for Depex in Lib.DepexExpression[Pa.Platform.Modules[F].M.Arch, Pa.Platform.Modules[F].M.ModuleType]: + Fd.write (' DEPEX = %s\n' % (Depex)) + Fd.write ('-------------------------------------------------------------------------------\n') + + Fd.write ('MODULE DEPENDENCY EXPRESSION\n') + if len(Pa.Platform.Modules[F].M.Module.DepexExpression[Pa.Platform.Modules[F].M.Arch, Pa.Platform.Modules[F].M.ModuleType]) == 0: + Fd.write (' NONE\n') + else: + for Depex in Pa.Platform.Modules[F].M.Module.DepexExpression[Pa.Platform.Modules[F].M.Arch, Pa.Platform.Modules[F].M.ModuleType]: + Fd.write (' %s\n' % (Depex)) + Fd.write ('-------------------------------------------------------------------------------\n') + + Fd.write ('MODULE + LIBRARY DEPENDENCY EXPRESSION\n') + if Pa.Platform.Modules[F].M.ModuleType in Pa.Platform.Modules[F].M.DepexExpressionList: + if Pa.Platform.Modules[F].M.DepexExpressionList[Pa.Platform.Modules[F].M.ModuleType] == '': + Fd.write (' NONE\n') + else: + Fd.write (' %s\n' % (Pa.Platform.Modules[F].M.DepexExpressionList[Pa.Platform.Modules[F].M.ModuleType])) + else: + Fd.write (' NONE\n') + Fd.write ('-------------------------------------------------------------------------------\n') + + Fd.close() + except: + EdkLogger.error(None, FILE_OPEN_FAILURE, ExtraData=self.ReportFile) + self._BuildDir = None self._FvDir = None self._MakeFileDir = None @@ -421,6 +744,9 @@ class PlatformAutoGen(AutoGen): for F in self.Platform.Modules.keys(): M = ModuleAutoGen(self.Workspace, F, self.BuildTarget, self.ToolChain, self.Arch, self.MetaFile) #GuidValue.update(M.Guids) + + self.Platform.Modules[F].M = M + for PcdFromModule in M.ModulePcdList+M.LibraryPcdList: # make sure that the "VOID*" kind of datum has MaxDatumSize set if PcdFromModule.DatumType == "VOID*" and PcdFromModule.MaxDatumSize == None: @@ -1260,6 +1586,7 @@ class ModuleAutoGen(AutoGen): self._ProtocolList = None self._PpiList = None self._DepexList = None + self._DepexExpressionList = None self._BuildOption = None self._BuildTargets = None self._IntroBuildTargetList = None @@ -1433,11 +1760,7 @@ class ModuleAutoGen(AutoGen): if self.IsLibrary or TAB_DEPENDENCY_EXPRESSION_FILE in self.FileTypes: return self._DepexList - if self.ModuleType == "DXE_SMM_DRIVER": - self._DepexList["DXE_DRIVER"] = [] - self._DepexList["SMM_DRIVER"] = [] - else: - self._DepexList[self.ModuleType] = [] + self._DepexList[self.ModuleType] = [] for ModuleType in self._DepexList: DepexList = self._DepexList[ModuleType] @@ -1463,6 +1786,42 @@ class ModuleAutoGen(AutoGen): EdkLogger.verbose('') return self._DepexList + ## Merge dependency expression + # + # @retval list The token list of the dependency expression after parsed + # + def _GetDepexExpressionTokenList(self): + if self._DepexExpressionList == None: + self._DepexExpressionList = {} + if self.IsLibrary or TAB_DEPENDENCY_EXPRESSION_FILE in self.FileTypes: + return self._DepexExpressionList + + self._DepexExpressionList[self.ModuleType] = '' + + for ModuleType in self._DepexExpressionList: + DepexExpressionList = self._DepexExpressionList[ModuleType] + # + # Append depex from dependent libraries, if not "BEFORE", "AFTER" expresion + # + for M in [self.Module] + self.DependentLibraryList: + Inherited = False + for D in M.DepexExpression[self.Arch, ModuleType]: + if DepexExpressionList != '': + DepexExpressionList += ' AND ' + DepexExpressionList += '(' + DepexExpressionList += D + DepexExpressionList = DepexExpressionList.rstrip('END').strip() + DepexExpressionList += ')' + Inherited = True + if Inherited: + EdkLogger.verbose("DEPEX[%s] (+%s) = %s" % (self.Name, M.BaseName, DepexExpressionList)) + if 'BEFORE' in DepexExpressionList or 'AFTER' in DepexExpressionList: + break + if len(DepexExpressionList) > 0: + EdkLogger.verbose('') + self._DepexExpressionList[ModuleType] = DepexExpressionList + return self._DepexExpressionList + ## Return the list of specification version required for the module # # @retval list The list of specification defined in module file @@ -1580,12 +1939,12 @@ class ModuleAutoGen(AutoGen): if Source != File: CreateDirectory(Source.Dir) - if FileType in self.BuildRules: + if File.IsBinary and File == Source: + RuleObject = self.BuildRules[TAB_DEFAULT_BINARY_FILE] + elif FileType in self.BuildRules: RuleObject = self.BuildRules[FileType] elif Source.Ext in self.BuildRules: RuleObject = self.BuildRules[Source.Ext] - elif File.IsBinary and File == Source: - RuleObject = self.BuildRules[TAB_DEFAULT_BINARY_FILE] else: # stop at no more rules if LastTarget: @@ -1599,7 +1958,8 @@ class ModuleAutoGen(AutoGen): # stop at STATIC_LIBRARY for library if self.IsLibrary and FileType == TAB_STATIC_LIBRARY: - self._FinalBuildTargetList.add(LastTarget) + if LastTarget: + self._FinalBuildTargetList.add(LastTarget) break Target = RuleObject.Apply(Source) @@ -1668,12 +2028,17 @@ class ModuleAutoGen(AutoGen): # @retval list The list of auto-generated file # def _GetAutoGenFileList(self): + UniStringAutoGenC = True + UniStringBinBuffer = None + if self.BuildType == 'UEFI_HII': + UniStringBinBuffer = StringIO() + UniStringAutoGenC = False if self._AutoGenFileList == None: self._AutoGenFileList = {} AutoGenC = TemplateString() AutoGenH = TemplateString() StringH = TemplateString() - GenC.CreateCode(self, AutoGenC, AutoGenH, StringH) + GenC.CreateCode(self, AutoGenC, AutoGenH, StringH, UniStringAutoGenC, UniStringBinBuffer) if str(AutoGenC) != "" and TAB_C_CODE_FILE in self.FileTypes: AutoFile = PathClass(gAutoGenCodeFileName, self.DebugDir) self._AutoGenFileList[AutoFile] = str(AutoGenC) @@ -1686,6 +2051,13 @@ class ModuleAutoGen(AutoGen): AutoFile = PathClass(gAutoGenStringFileName % {"module_name":self.Name}, self.DebugDir) self._AutoGenFileList[AutoFile] = str(StringH) self._ApplyBuildRule(AutoFile, TAB_UNKNOWN_FILE) + if UniStringBinBuffer != None and UniStringBinBuffer.getvalue() != "": + AutoFile = PathClass(gAutoGenStringFormFileName % {"module_name":self.Name}, self.OutputDir) + self._AutoGenFileList[AutoFile] = UniStringBinBuffer.getvalue() + AutoFile.IsBinary = True + self._ApplyBuildRule(AutoFile, TAB_UNKNOWN_FILE) + if UniStringBinBuffer != None: + UniStringBinBuffer.close() return self._AutoGenFileList ## Return the list of library modules explicitly or implicityly used by this module @@ -1838,7 +2210,7 @@ class ModuleAutoGen(AutoGen): IgoredAutoGenList = [] for File in self.AutoGenFileList: - if GenC.Generate(File.Path, self.AutoGenFileList[File]): + if GenC.Generate(File.Path, self.AutoGenFileList[File], File.IsBinary): #Ignore R8 AutoGen.c if self.AutoGenVersion < 0x00010005 and File.Name == 'AutoGen.c': continue @@ -1855,10 +2227,7 @@ class ModuleAutoGen(AutoGen): if len(self.DepexList[ModuleType]) == 0: continue Dpx = GenDepex.DependencyExpression(self.DepexList[ModuleType], ModuleType, True) - if ModuleType == 'SMM_DRIVER': - DpxFile = gAutoGenSmmDepexFileName % {"module_name" : self.Name} - else: - DpxFile = gAutoGenDepexFileName % {"module_name" : self.Name} + DpxFile = gAutoGenDepexFileName % {"module_name" : self.Name} if Dpx.Generate(path.join(self.OutputDir, DpxFile)): AutoGenList.append(str(DpxFile)) @@ -1947,6 +2316,7 @@ class ModuleAutoGen(AutoGen): ProtocolList = property(_GetProtocolList) PpiList = property(_GetPpiList) DepexList = property(_GetDepexTokenList) + DepexExpressionList = property(_GetDepexExpressionTokenList) BuildOption = property(_GetModuleBuildOption) BuildCommand = property(_GetBuildCommand) diff --git a/BaseTools/Source/Python/AutoGen/GenC.py b/BaseTools/Source/Python/AutoGen/GenC.py index b62a12708b..0a2bb623d8 100644 --- a/BaseTools/Source/Python/AutoGen/GenC.py +++ b/BaseTools/Source/Python/AutoGen/GenC.py @@ -383,28 +383,6 @@ ${Function} ( ${END} """) -## SMM_CORE Entry Point Templates -gSmmCoreEntryPointString = TemplateString(""" -const UINT32 _gUefiDriverRevision = 0; -${BEGIN} -EFI_STATUS -${Function} ( - IN EFI_HANDLE ImageHandle, - IN EFI_SYSTEM_TABLE *SystemTable - ); - -EFI_STATUS -EFIAPI -ProcessModuleEntryPointList ( - IN EFI_HANDLE ImageHandle, - IN EFI_SYSTEM_TABLE *SystemTable - ) -{ - return ${Function} (ImageHandle, SystemTable); -} -${END} -""") - gPeimEntryPointString = [ TemplateString(""" GLOBAL_REMOVE_IF_UNREFERENCED const UINT32 _gPeimRevision = ${PiSpecVersion}; @@ -461,6 +439,35 @@ ${END} """) ] +## SMM_CORE Entry Point Templates +gSmmCoreEntryPointPrototype = TemplateString(""" +${BEGIN} +EFI_STATUS +EFIAPI +${Function} ( + IN EFI_HANDLE ImageHandle, + IN EFI_SYSTEM_TABLE *SystemTable + ); +${END} +""") + +gSmmCoreEntryPointString = TemplateString(""" +${BEGIN} +const UINT32 _gUefiDriverRevision = ${EfiSpecVersion}; +const UINT32 _gDxeRevision = ${PiSpecVersion}; + +EFI_STATUS +EFIAPI +ProcessModuleEntryPointList ( + IN EFI_HANDLE ImageHandle, + IN EFI_SYSTEM_TABLE *SystemTable + ) +{ + return ${Function} (ImageHandle, SystemTable); +} +${END} +""") + ## DXE SMM Entry Point Templates gDxeSmmEntryPointPrototype = TemplateString(""" ${BEGIN} @@ -890,8 +897,7 @@ gModuleTypeHeaderFile = { "DXE_SAL_DRIVER" : ["PiDxe.h", "Library/BaseLib.h", "Library/DebugLib.h", "Library/UefiBootServicesTableLib.h", "Library/UefiDriverEntryPoint.h"], "UEFI_DRIVER" : ["Uefi.h", "Library/BaseLib.h", "Library/DebugLib.h", "Library/UefiBootServicesTableLib.h", "Library/UefiDriverEntryPoint.h"], "UEFI_APPLICATION" : ["Uefi.h", "Library/BaseLib.h", "Library/DebugLib.h", "Library/UefiBootServicesTableLib.h", "Library/UefiApplicationEntryPoint.h"], - "SMM_DRIVER" : ["PiDxe.h", "Library/BaseLib.h", "Library/DebugLib.h", "Library/SmmDriverEntryPoint.h"], - "SMM_CORE" : ["PiDxe.h", "Library/DebugLib.h"], + "SMM_CORE" : ["PiDxe.h", "Library/BaseLib.h", "Library/DebugLib.h", "Library/UefiDriverEntryPoint.h"], "USER_DEFINED" : [gBasicHeaderFile] } @@ -1504,7 +1510,7 @@ def CreateLibraryConstructorCode(Info, AutoGenC, AutoGenH): ConstructorPrototypeString.Append(gLibraryStructorPrototype['PEI'].Replace(Dict)) ConstructorCallingString.Append(gLibraryStructorCall['PEI'].Replace(Dict)) elif Lib.ModuleType in ['DXE_CORE','DXE_DRIVER','DXE_SMM_DRIVER','DXE_RUNTIME_DRIVER', - 'DXE_SAL_DRIVER','UEFI_DRIVER','UEFI_APPLICATION', 'SMM_DRIVER', 'SMM_CORE']: + 'DXE_SAL_DRIVER','UEFI_DRIVER','UEFI_APPLICATION','SMM_CORE']: ConstructorPrototypeString.Append(gLibraryStructorPrototype['DXE'].Replace(Dict)) ConstructorCallingString.Append(gLibraryStructorCall['DXE'].Replace(Dict)) @@ -1530,7 +1536,7 @@ def CreateLibraryConstructorCode(Info, AutoGenC, AutoGenH): elif Info.ModuleType in ['PEI_CORE','PEIM']: AutoGenC.Append(gLibraryString['PEI'].Replace(Dict)) elif Info.ModuleType in ['DXE_CORE','DXE_DRIVER','DXE_SMM_DRIVER','DXE_RUNTIME_DRIVER', - 'DXE_SAL_DRIVER','UEFI_DRIVER','UEFI_APPLICATION', 'SMM_DRIVER', 'SMM_CORE']: + 'DXE_SAL_DRIVER','UEFI_DRIVER','UEFI_APPLICATION','SMM_CORE']: AutoGenC.Append(gLibraryString['DXE'].Replace(Dict)) ## Create code for library destructor @@ -1561,7 +1567,7 @@ def CreateLibraryDestructorCode(Info, AutoGenC, AutoGenH): DestructorPrototypeString.Append(gLibraryStructorPrototype['PEI'].Replace(Dict)) DestructorCallingString.Append(gLibraryStructorCall['PEI'].Replace(Dict)) elif Lib.ModuleType in ['DXE_CORE','DXE_DRIVER','DXE_SMM_DRIVER','DXE_RUNTIME_DRIVER', - 'DXE_SAL_DRIVER','UEFI_DRIVER','UEFI_APPLICATION', 'SMM_DRIVER', 'SMM_CORE']: + 'DXE_SAL_DRIVER','UEFI_DRIVER','UEFI_APPLICATION', 'SMM_CORE']: DestructorPrototypeString.Append(gLibraryStructorPrototype['DXE'].Replace(Dict)) DestructorCallingString.Append(gLibraryStructorCall['DXE'].Replace(Dict)) @@ -1587,7 +1593,7 @@ def CreateLibraryDestructorCode(Info, AutoGenC, AutoGenH): elif Info.ModuleType in ['PEI_CORE','PEIM']: AutoGenC.Append(gLibraryString['PEI'].Replace(Dict)) elif Info.ModuleType in ['DXE_CORE','DXE_DRIVER','DXE_SMM_DRIVER','DXE_RUNTIME_DRIVER', - 'DXE_SAL_DRIVER','UEFI_DRIVER','UEFI_APPLICATION', 'SMM_DRIVER', 'SMM_CORE']: + 'DXE_SAL_DRIVER','UEFI_DRIVER','UEFI_APPLICATION','SMM_CORE']: AutoGenC.Append(gLibraryString['DXE'].Replace(Dict)) @@ -1635,26 +1641,25 @@ def CreateModuleEntryPointCode(Info, AutoGenC, AutoGenH): AutoGenH.Append(gDxeCoreEntryPointPrototype.Replace(Dict)) elif Info.ModuleType == 'SMM_CORE': AutoGenC.Append(gSmmCoreEntryPointString.Replace(Dict)) + AutoGenH.Append(gSmmCoreEntryPointPrototype.Replace(Dict)) elif Info.ModuleType == 'PEIM': if NumEntryPoints < 2: AutoGenC.Append(gPeimEntryPointString[NumEntryPoints].Replace(Dict)) else: AutoGenC.Append(gPeimEntryPointString[2].Replace(Dict)) AutoGenH.Append(gPeimEntryPointPrototype.Replace(Dict)) - elif Info.ModuleType in ['DXE_RUNTIME_DRIVER','DXE_DRIVER','DXE_SMM_DRIVER', - 'DXE_SAL_DRIVER','UEFI_DRIVER', 'SMM_DRIVER']: - if Info.ModuleType in ['DXE_SMM_DRIVER', 'SMM_DRIVER']: - if NumEntryPoints == 0: - AutoGenC.Append(gDxeSmmEntryPointString[0].Replace(Dict)) - else: - AutoGenC.Append(gDxeSmmEntryPointString[1].Replace(Dict)) - AutoGenH.Append(gDxeSmmEntryPointPrototype.Replace(Dict)) + elif Info.ModuleType in ['DXE_RUNTIME_DRIVER','DXE_DRIVER','DXE_SAL_DRIVER','UEFI_DRIVER']: + if NumEntryPoints < 2: + AutoGenC.Append(gUefiDriverEntryPointString[NumEntryPoints].Replace(Dict)) else: - if NumEntryPoints < 2: - AutoGenC.Append(gUefiDriverEntryPointString[NumEntryPoints].Replace(Dict)) - else: - AutoGenC.Append(gUefiDriverEntryPointString[2].Replace(Dict)) - AutoGenH.Append(gUefiDriverEntryPointPrototype.Replace(Dict)) + AutoGenC.Append(gUefiDriverEntryPointString[2].Replace(Dict)) + AutoGenH.Append(gUefiDriverEntryPointPrototype.Replace(Dict)) + elif Info.ModuleType == 'DXE_SMM_DRIVER': + if NumEntryPoints == 0: + AutoGenC.Append(gDxeSmmEntryPointString[0].Replace(Dict)) + else: + AutoGenC.Append(gDxeSmmEntryPointString[1].Replace(Dict)) + AutoGenH.Append(gDxeSmmEntryPointPrototype.Replace(Dict)) elif Info.ModuleType == 'UEFI_APPLICATION': if NumEntryPoints < 2: AutoGenC.Append(gUefiApplicationEntryPointString[NumEntryPoints].Replace(Dict)) @@ -1782,8 +1787,10 @@ def CreatePcdCode(Info, AutoGenC, AutoGenH): # @param Info The ModuleAutoGen object # @param AutoGenC The TemplateString object for C code # @param AutoGenH The TemplateString object for header file +# @param UniGenCFlag UniString is generated into AutoGen C file when it is set to True +# @param UniGenBinBuffer Buffer to store uni string package data # -def CreateUnicodeStringCode(Info, AutoGenC, AutoGenH): +def CreateUnicodeStringCode(Info, AutoGenC, AutoGenH, UniGenCFlag, UniGenBinBuffer): WorkingDir = os.getcwd() os.chdir(Info.WorkspaceDir) @@ -1823,13 +1830,15 @@ def CreateUnicodeStringCode(Info, AutoGenC, AutoGenH): else: ShellMode = False - Header, Code = GetStringFiles(Info.UnicodeFileList, SrcList, IncList, ['.uni', '.inf'], Info.Name, CompatibleMode, ShellMode) - AutoGenC.Append("\n//\n//Unicode String Pack Definition\n//\n") - AutoGenC.Append(Code) - AutoGenC.Append("\n") + Header, Code = GetStringFiles(Info.UnicodeFileList, SrcList, IncList, ['.uni', '.inf'], Info.Name, CompatibleMode, ShellMode, UniGenCFlag, UniGenBinBuffer) + if CompatibleMode or UniGenCFlag: + AutoGenC.Append("\n//\n//Unicode String Pack Definition\n//\n") + AutoGenC.Append(Code) + AutoGenC.Append("\n") AutoGenH.Append("\n//\n//Unicode String ID\n//\n") AutoGenH.Append(Header) - AutoGenH.Append("\n#define STRING_ARRAY_NAME %sStrings\n" % Info.Name) + if CompatibleMode or UniGenCFlag: + AutoGenH.Append("\n#define STRING_ARRAY_NAME %sStrings\n" % Info.Name) os.chdir(WorkingDir) ## Create common code @@ -1890,8 +1899,10 @@ def CreateFooterCode(Info, AutoGenC, AutoGenH): # @param Info The ModuleAutoGen object # @param AutoGenC The TemplateString object for C code # @param AutoGenH The TemplateString object for header file +# @param UniGenCFlag UniString is generated into AutoGen C file when it is set to True +# @param UniGenBinBuffer Buffer to store uni string package data # -def CreateCode(Info, AutoGenC, AutoGenH, StringH): +def CreateCode(Info, AutoGenC, AutoGenH, StringH, UniGenCFlag, UniGenBinBuffer): CreateHeaderCode(Info, AutoGenC, AutoGenH) if Info.AutoGenVersion >= 0x00010005: @@ -1908,7 +1919,7 @@ def CreateCode(Info, AutoGenC, AutoGenH, StringH): FileName = "%sStrDefs.h" % Info.Name StringH.Append(gAutoGenHeaderString.Replace({'FileName':FileName})) StringH.Append(gAutoGenHPrologueString.Replace({'File':'STRDEFS', 'Guid':Info.Guid.replace('-','_')})) - CreateUnicodeStringCode(Info, AutoGenC, StringH) + CreateUnicodeStringCode(Info, AutoGenC, StringH, UniGenCFlag, UniGenBinBuffer) StringH.Append("\n#endif\n") AutoGenH.Append('#include "%s"\n' % FileName) @@ -1920,12 +1931,13 @@ def CreateCode(Info, AutoGenC, AutoGenH, StringH): ## Create the code file # -# @param FilePath The path of code file -# @param Content The content of code file +# @param FilePath The path of code file +# @param Content The content of code file +# @param IsBinaryFile The flag indicating if the file is binary file or not # # @retval True If file content is changed or file doesn't exist # @retval False If the file exists and the content is not changed # -def Generate(FilePath, Content): - return SaveFileOnChange(FilePath, Content, False) +def Generate(FilePath, Content, IsBinaryFile): + return SaveFileOnChange(FilePath, Content, IsBinaryFile) diff --git a/BaseTools/Source/Python/AutoGen/GenDepex.py b/BaseTools/Source/Python/AutoGen/GenDepex.py index a3d07b83f2..9ee615cdc8 100644 --- a/BaseTools/Source/Python/AutoGen/GenDepex.py +++ b/BaseTools/Source/Python/AutoGen/GenDepex.py @@ -41,7 +41,7 @@ gType2Phase = { "DXE_SAL_DRIVER" : "DXE", "UEFI_DRIVER" : "DXE", "UEFI_APPLICATION" : "DXE", - "SMM_DRIVER" : "DXE", + "SMM_CORE" : "DXE", } ## Convert dependency expression string into EFI internal representation diff --git a/BaseTools/Source/Python/AutoGen/StrGather.py b/BaseTools/Source/Python/AutoGen/StrGather.py index 0f644445dc..903ac3cd0d 100644 --- a/BaseTools/Source/Python/AutoGen/StrGather.py +++ b/BaseTools/Source/Python/AutoGen/StrGather.py @@ -18,6 +18,8 @@ import re import Common.EdkLogger as EdkLogger from Common.BuildToolError import * from UniClassObject import * +from StringIO import StringIO +from struct import pack ## # Static definitions @@ -60,6 +62,7 @@ OFFSET = 'offset' STRING = 'string' TO = 'to' STRING_TOKEN = re.compile('STRING_TOKEN *\(([A-Z0-9_]+) *\)', re.MULTILINE | re.UNICODE) +COMPATIBLE_STRING_TOKEN = re.compile('STRING_TOKEN *\(([A-Za-z0-9_]+) *\)', re.MULTILINE | re.UNICODE) EFI_HII_ARRAY_SIZE_LENGTH = 4 EFI_HII_PACKAGE_HEADER_LENGTH = 4 @@ -151,12 +154,14 @@ def CreateHFileHeader(BaseName): # # Create content of .h file # -# @param BaseName: The basename of strings -# @param UniObjectClass: A UniObjectClass instance +# @param BaseName: The basename of strings +# @param UniObjectClass A UniObjectClass instance +# @param IsCompatibleMode Compatible mode +# @param UniGenCFlag UniString is generated into AutoGen C file when it is set to True # # @retval Str: A string of .h file content # -def CreateHFileContent(BaseName, UniObjectClass): +def CreateHFileContent(BaseName, UniObjectClass, IsCompatibleMode, UniGenCFlag): Str = '' ValueStartPtr = 60 Line = COMMENT_DEFINE_STR + ' ' + LANGUAGE_NAME_STRING_NAME + ' ' * (ValueStartPtr - len(DEFINE_STR + LANGUAGE_NAME_STRING_NAME)) + DecToHexStr(0, 4) + COMMENT_NOT_REFERENCED @@ -182,21 +187,24 @@ def CreateHFileContent(BaseName, UniObjectClass): Line = COMMENT_DEFINE_STR + ' ' + Name + ' ' * (ValueStartPtr - len(DEFINE_STR + Name)) + DecToHexStr(Token, 4) + COMMENT_NOT_REFERENCED Str = WriteLine(Str, Line) - Str = WriteLine(Str, '') - Str = WriteLine(Str, 'extern unsigned char ' + BaseName + 'Strings[];') + Str = WriteLine(Str, '') + if IsCompatibleMode or UniGenCFlag: + Str = WriteLine(Str, 'extern unsigned char ' + BaseName + 'Strings[];') return Str ## Create a complete .h file # # Create a complet .h file with file header and file content # -# @param BaseName: The basename of strings -# @param UniObjectClass: A UniObjectClass instance +# @param BaseName: The basename of strings +# @param UniObjectClass A UniObjectClass instance +# @param IsCompatibleMode Compatible mode +# @param UniGenCFlag UniString is generated into AutoGen C file when it is set to True # # @retval Str: A string of complete .h file # -def CreateHFile(BaseName, UniObjectClass): - HFile = WriteLine('', CreateHFileContent(BaseName, UniObjectClass)) +def CreateHFile(BaseName, UniObjectClass, IsCompatibleMode, UniGenCFlag): + HFile = WriteLine('', CreateHFileContent(BaseName, UniObjectClass, IsCompatibleMode, UniGenCFlag)) return HFile @@ -213,6 +221,15 @@ def CreateCFileHeader(): return Str +## Create a buffer to store all items in an array +# +# @param BinBuffer Buffer to contain Binary data. +# @param Array: The array need to be formatted +# +def CreateBinBuffer(BinBuffer, Array): + for Item in Array: + BinBuffer.write(pack("B", int(Item,16))) + ## Create a formatted string all items in an array # # Use ',' to join each item in an array, and break an new line when reaching the width (default is 16) @@ -260,12 +277,14 @@ def CreateCFileStringValue(Value): # # Create content of .c file # -# @param BaseName: The basename of strings -# @param UniObjectClass: A UniObjectClass instance +# @param BaseName: The basename of strings +# @param UniObjectClass A UniObjectClass instance +# @param IsCompatibleMode Compatible mode +# @param UniBinBuffer UniBinBuffer to contain UniBinary data. # # @retval Str: A string of .c file content # -def CreateCFileContent(BaseName, UniObjectClass, IsCompatibleMode): +def CreateCFileContent(BaseName, UniObjectClass, IsCompatibleMode, UniBinBuffer=None): # # Init array length # @@ -280,9 +299,10 @@ def CreateCFileContent(BaseName, UniObjectClass, IsCompatibleMode): Language = UniObjectClass.LanguageDef[IndexI][0] LangPrintName = UniObjectClass.LanguageDef[IndexI][1] + StringBuffer = StringIO() StrStringValue = '' ArrayLength = 0 - NumberOfUseOhterLangDef = 0 + NumberOfUseOtherLangDef = 0 Index = 0 for IndexJ in range(1, len(UniObjectClass.OrderedStringList[UniObjectClass.LanguageDef[IndexI][0]])): Item = UniObjectClass.FindByToken(IndexJ, Language) @@ -294,18 +314,19 @@ def CreateCFileContent(BaseName, UniObjectClass, IsCompatibleMode): UseOtherLangDef = Item.UseOtherLangDef if UseOtherLangDef != '' and Referenced: - NumberOfUseOhterLangDef = NumberOfUseOhterLangDef + 1 + NumberOfUseOtherLangDef = NumberOfUseOtherLangDef + 1 Index = Index + 1 else: - if NumberOfUseOhterLangDef > 0: - StrStringValue = WriteLine(StrStringValue, CreateArrayItem([StringSkipType] + DecToHexList(NumberOfUseOhterLangDef, 4))) - NumberOfUseOhterLangDef = 0 + if NumberOfUseOtherLangDef > 0: + StrStringValue = WriteLine(StrStringValue, CreateArrayItem([StringSkipType] + DecToHexList(NumberOfUseOtherLangDef, 4))) + CreateBinBuffer (StringBuffer, ([StringSkipType] + DecToHexList(NumberOfUseOtherLangDef, 4))) + NumberOfUseOtherLangDef = 0 ArrayLength = ArrayLength + 3 if Referenced and Item.Token > 0: Index = Index + 1 StrStringValue = WriteLine(StrStringValue, "// %s: %s:%s" % (DecToHexStr(Index, 4), Name, DecToHexStr(Token, 4))) StrStringValue = Write(StrStringValue, CreateCFileStringValue(Value)) - Offset = Offset + Length + CreateBinBuffer (StringBuffer, [StringBlockType] + Value) ArrayLength = ArrayLength + Item.Length + 1 # 1 is for the length of string type # @@ -340,6 +361,15 @@ def CreateCFileContent(BaseName, UniObjectClass, IsCompatibleMode): # Add an EFI_HII_SIBT_END at last # Str = WriteLine(Str, ' ' + EFI_HII_SIBT_END + ",") + + # + # Create binary UNI string + # + if UniBinBuffer: + CreateBinBuffer (UniBinBuffer, List) + UniBinBuffer.write (StringBuffer.getvalue()) + UniBinBuffer.write (pack("B", int(EFI_HII_SIBT_END,16))) + StringBuffer.close() # # Create line for string variable name @@ -347,19 +377,18 @@ def CreateCFileContent(BaseName, UniObjectClass, IsCompatibleMode): # AllStr = WriteLine('', CHAR_ARRAY_DEFIN + ' ' + BaseName + COMMON_FILE_NAME + '[] = {\n' ) - # - # Create FRAMEWORK_EFI_HII_PACK_HEADER in compatible mode - # if IsCompatibleMode: + # + # Create FRAMEWORK_EFI_HII_PACK_HEADER in compatible mode + # AllStr = WriteLine(AllStr, '// FRAMEWORK PACKAGE HEADER Length') AllStr = WriteLine(AllStr, CreateArrayItem(DecToHexList(TotalLength + 2)) + '\n') AllStr = WriteLine(AllStr, '// FRAMEWORK PACKAGE HEADER Type') AllStr = WriteLine(AllStr, CreateArrayItem(DecToHexList(2, 4)) + '\n') - - # - # Create whole array length in UEFI mode - # - if not IsCompatibleMode: + else: + # + # Create whole array length in UEFI mode + # AllStr = WriteLine(AllStr, '// STRGATHER_OUTPUT_HEADER') AllStr = WriteLine(AllStr, CreateArrayItem(DecToHexList(TotalLength)) + '\n') @@ -384,8 +413,9 @@ def CreateCFileEnd(): # # Create a complete .c file # -# @param BaseName: The basename of strings -# @param UniObjectClass: A UniObjectClass instance +# @param BaseName: The basename of strings +# @param UniObjectClass A UniObjectClass instance +# @param IsCompatibleMode Compatible Mode # # @retval CFile: A string of complete .c file # @@ -447,10 +477,11 @@ def GetFileList(SourceFileList, IncludeList, SkipList): # # @param UniObjectClass: Input UniObjectClass # @param FileList: Search path list +# @param IsCompatibleMode Compatible Mode # # @retval UniObjectClass: UniObjectClass after searched # -def SearchString(UniObjectClass, FileList): +def SearchString(UniObjectClass, FileList, IsCompatibleMode): if FileList == []: return UniObjectClass @@ -458,7 +489,10 @@ def SearchString(UniObjectClass, FileList): if os.path.isfile(File): Lines = open(File, 'r') for Line in Lines: - StringTokenList = STRING_TOKEN.findall(Line) + if not IsCompatibleMode: + StringTokenList = STRING_TOKEN.findall(Line) + else: + StringTokenList = COMPATIBLE_STRING_TOKEN.findall(Line) for StrName in StringTokenList: EdkLogger.debug(EdkLogger.DEBUG_5, "Found string identifier: " + StrName) UniObjectClass.SetStringReferenced(StrName) @@ -472,7 +506,7 @@ def SearchString(UniObjectClass, FileList): # This function is used for UEFI2.1 spec # # -def GetStringFiles(UniFilList, SourceFileList, IncludeList, SkipList, BaseName, IsCompatibleMode = False, ShellMode = False): +def GetStringFiles(UniFilList, SourceFileList, IncludeList, SkipList, BaseName, IsCompatibleMode = False, ShellMode = False, UniGenCFlag = True, UniGenBinBuffer = None): Status = True ErrorMessage = '' @@ -489,10 +523,14 @@ def GetStringFiles(UniFilList, SourceFileList, IncludeList, SkipList, BaseName, FileList = GetFileList(SourceFileList, IncludeList, SkipList) - Uni = SearchString(Uni, FileList) + Uni = SearchString(Uni, FileList, IsCompatibleMode) - HFile = CreateHFile(BaseName, Uni) - CFile = CreateCFile(BaseName, Uni, IsCompatibleMode) + HFile = CreateHFile(BaseName, Uni, IsCompatibleMode, UniGenCFlag) + CFile = None + if IsCompatibleMode or UniGenCFlag: + CFile = CreateCFile(BaseName, Uni, IsCompatibleMode) + if UniGenBinBuffer: + CreateCFileContent(BaseName, Uni, IsCompatibleMode, UniGenBinBuffer) return HFile, CFile diff --git a/BaseTools/Source/Python/AutoGen/UniClassObject.py b/BaseTools/Source/Python/AutoGen/UniClassObject.py index 412fa72df0..dcfa264025 100644 --- a/BaseTools/Source/Python/AutoGen/UniClassObject.py +++ b/BaseTools/Source/Python/AutoGen/UniClassObject.py @@ -234,6 +234,11 @@ class UniFileClassObject(object): Value = '' Name = Item.split()[1] + # Check the string name is the upper character + if not self.IsCompatibleMode and Name != '': + MatchString = re.match('[A-Z0-9_]+', Name, re.UNICODE) + if MatchString == None or MatchString.end(0) != len(Name): + EdkLogger.error('Unicode File Parser', FORMAT_INVALID, 'The string token name %s defined in UNI file %s contains the invalid lower case character.' %(Name, self.File)) LanguageList = Item.split(u'#language ') for IndexI in range(len(LanguageList)): if IndexI == 0: @@ -365,6 +370,11 @@ class UniFileClassObject(object): break # Value = Value.replace(u'\r\n', u'') Language = GetLanguageCode(Language, self.IsCompatibleMode, self.File) + # Check the string name is the upper character + if not self.IsCompatibleMode and Name != '': + MatchString = re.match('[A-Z0-9_]+', Name, re.UNICODE) + if MatchString == None or MatchString.end(0) != len(Name): + EdkLogger.error('Unicode File Parser', FORMAT_INVALID, 'The string token name %s defined in UNI file %s contains the invalid lower case character.' %(Name, self.File)) self.AddStringToList(Name, Language, Value) continue diff --git a/BaseTools/Source/Python/Common/DataType.py b/BaseTools/Source/Python/Common/DataType.py index 8b6c4e4921..c2da992059 100644 --- a/BaseTools/Source/Python/Common/DataType.py +++ b/BaseTools/Source/Python/Common/DataType.py @@ -56,12 +56,11 @@ SUP_MODULE_DXE_SMM_DRIVER = 'DXE_SMM_DRIVER' SUP_MODULE_UEFI_DRIVER = 'UEFI_DRIVER' SUP_MODULE_UEFI_APPLICATION = 'UEFI_APPLICATION' SUP_MODULE_USER_DEFINED = 'USER_DEFINED' -SUP_MODULE_SMM_DRIVER = 'SMM_DRIVER' SUP_MODULE_SMM_CORE = 'SMM_CORE' SUP_MODULE_LIST = [SUP_MODULE_BASE, SUP_MODULE_SEC, SUP_MODULE_PEI_CORE, SUP_MODULE_PEIM, SUP_MODULE_DXE_CORE, SUP_MODULE_DXE_DRIVER, \ SUP_MODULE_DXE_RUNTIME_DRIVER, SUP_MODULE_DXE_SAL_DRIVER, SUP_MODULE_DXE_SMM_DRIVER, SUP_MODULE_UEFI_DRIVER, \ - SUP_MODULE_UEFI_APPLICATION, SUP_MODULE_USER_DEFINED, SUP_MODULE_SMM_DRIVER, SUP_MODULE_SMM_CORE] + SUP_MODULE_UEFI_APPLICATION, SUP_MODULE_USER_DEFINED, SUP_MODULE_SMM_CORE] SUP_MODULE_LIST_STRING = TAB_VALUE_SPLIT.join(l for l in SUP_MODULE_LIST) EDK_COMPONENT_TYPE_LIBRARY = 'LIBRARY' @@ -86,6 +85,7 @@ BINARY_FILE_TYPE_PE32 = 'PE32' BINARY_FILE_TYPE_PIC = 'PIC' BINARY_FILE_TYPE_PEI_DEPEX = 'PEI_DEPEX' BINARY_FILE_TYPE_DXE_DEPEX = 'DXE_DEPEX' +BINARY_FILE_TYPE_SMM_DEPEX = 'SMM_DEPEX' BINARY_FILE_TYPE_TE = 'TE' BINARY_FILE_TYPE_VER = 'VER' BINARY_FILE_TYPE_UI = 'UI' diff --git a/BaseTools/Source/Python/Common/FdfParserLite.py b/BaseTools/Source/Python/Common/FdfParserLite.py index 5099ed611c..b397b16b42 100644 --- a/BaseTools/Source/Python/Common/FdfParserLite.py +++ b/BaseTools/Source/Python/Common/FdfParserLite.py @@ -2408,7 +2408,7 @@ class FdfParser(object): Obj.SectionList.append(FvImageSectionObj) - elif self.__IsKeyword("PEI_DEPEX_EXP") or self.__IsKeyword("DXE_DEPEX_EXP"): + elif self.__IsKeyword("PEI_DEPEX_EXP") or self.__IsKeyword("DXE_DEPEX_EXP") or self.__IsKeyword("SMM_DEPEX_EXP"): DepexSectionObj = CommonDataClass.FdfClass.DepexSectionClassObject() DepexSectionObj.Alignment = AlignValue DepexSectionObj.DepexType = self.__Token @@ -2798,7 +2798,7 @@ class FdfParser(object): "DXE_SMM_DRIVER", "DXE_RUNTIME_DRIVER", \ "UEFI_DRIVER", "UEFI_APPLICATION", "USER_DEFINED", "DEFAULT", "BASE", \ "SECURITY_CORE", "COMBINED_PEIM_DRIVER", "PIC_PEIM", "RELOCATABLE_PEIM", \ - "PE32_PEIM", "BS_DRIVER", "RT_DRIVER", "SAL_RT_DRIVER", "APPLICATION", "ACPITABLE", "SMM_DRIVER", "SMM_CORE"): + "PE32_PEIM", "BS_DRIVER", "RT_DRIVER", "SAL_RT_DRIVER", "APPLICATION", "ACPITABLE", "SMM_CORE"): raise Warning("Unknown Module type At line ", self.FileName, self.CurrentLineNumber) return self.__Token @@ -2842,7 +2842,7 @@ class FdfParser(object): Type = self.__Token.strip().upper() if Type not in ("RAW", "FREEFORM", "SEC", "PEI_CORE", "PEIM",\ - "PEI_DXE_COMBO", "DRIVER", "DXE_CORE", "APPLICATION", "FV_IMAGE", "SMM_DXE_COMBO", "SMM", "SMM_CORE"): + "PEI_DXE_COMBO", "DRIVER", "DXE_CORE", "APPLICATION", "FV_IMAGE", "SMM", "SMM_CORE"): raise Warning("Unknown FV type At line ", self.FileName, self.CurrentLineNumber) if not self.__IsToken("="): @@ -3221,8 +3221,8 @@ class FdfParser(object): elif SectionType == "RAW": if FileType not in ("BIN", "SEC_BIN", "RAW", "ASL", "ACPI"): raise Warning("Incorrect section file type At Line ", self.FileName, self.CurrentLineNumber) - elif SectionType == "DXE_DEPEX": - if FileType not in ("DXE_DEPEX", "SEC_DXE_DEPEX"): + elif SectionType == "DXE_DEPEX" or SectionType == "SMM_DEPEX": + if FileType not in ("DXE_DEPEX", "SEC_DXE_DEPEX", "SMM_DEPEX"): raise Warning("Incorrect section file type At Line ", self.FileName, self.CurrentLineNumber) elif SectionType == "UI": if FileType not in ("UI", "SEC_UI"): diff --git a/BaseTools/Source/Python/Common/InfClassObject.py b/BaseTools/Source/Python/Common/InfClassObject.py index a772840227..27e67f3a1d 100644 --- a/BaseTools/Source/Python/Common/InfClassObject.py +++ b/BaseTools/Source/Python/Common/InfClassObject.py @@ -66,8 +66,6 @@ gComponentType2ModuleType = { "BS_DRIVER" : "DXE_DRIVER", "RT_DRIVER" : "DXE_RUNTIME_DRIVER", "SAL_RT_DRIVER" : "DXE_SAL_DRIVER", -# "BS_DRIVER" : "DXE_SMM_DRIVER", -# "BS_DRIVER" : "UEFI_DRIVER", "APPLICATION" : "UEFI_APPLICATION", "LOGO" : "BASE", } diff --git a/BaseTools/Source/Python/Common/Misc.py b/BaseTools/Source/Python/Common/Misc.py index 2c1041c55b..76dfbb665e 100644 --- a/BaseTools/Source/Python/Common/Misc.py +++ b/BaseTools/Source/Python/Common/Misc.py @@ -316,12 +316,14 @@ def DataRestore(File): # @retval None If path doesn't exist # class DirCache: - _CACHE_ = {} + _CACHE_ = set() + _UPPER_CACHE_ = {} def __init__(self, Root): self._Root = Root for F in os.listdir(Root): - self._CACHE_[F.upper()] = F + self._CACHE_.add(F) + self._UPPER_CACHE_[F.upper()] = F # =[] operator def __getitem__(self, Path): @@ -330,16 +332,18 @@ class DirCache: return self._Root if Path and Path[0] == os.path.sep: Path = Path[1:] - Path = Path.upper() if Path in self._CACHE_: - return os.path.join(self._Root, self._CACHE_[Path]) + return os.path.join(self._Root, Path) + UpperPath = Path.upper() + if UpperPath in self._UPPER_CACHE_: + return os.path.join(self._Root, self._UPPER_CACHE_[UpperPath]) IndexList = [] LastSepIndex = -1 SepIndex = Path.find(os.path.sep) while SepIndex > -1: - Parent = Path[:SepIndex] - if Parent not in self._CACHE_: + Parent = UpperPath[:SepIndex] + if Parent not in self._UPPER_CACHE_: break LastSepIndex = SepIndex SepIndex = Path.find(os.path.sep, LastSepIndex + 1) @@ -351,22 +355,29 @@ class DirCache: os.chdir(self._Root) SepIndex = LastSepIndex while SepIndex > -1: - ParentKey = Path[:SepIndex] - if ParentKey not in self._CACHE_: + Parent = Path[:SepIndex] + ParentKey = UpperPath[:SepIndex] + if ParentKey not in self._UPPER_CACHE_: os.chdir(Cwd) return None - ParentDir = self._CACHE_[ParentKey] + if Parent in self._CACHE_: + ParentDir = Parent + else: + ParentDir = self._UPPER_CACHE_[ParentKey] for F in os.listdir(ParentDir): Dir = os.path.join(ParentDir, F) - self._CACHE_[Dir.upper()] = Dir + self._CACHE_.add(Dir) + self._UPPER_CACHE_[Dir.upper()] = Dir SepIndex = Path.find(os.path.sep, SepIndex + 1) os.chdir(Cwd) - if Path not in self._CACHE_: - return None - return os.path.join(self._Root, self._CACHE_[Path]) + if Path in self._CACHE_: + return os.path.join(self._Root, Path) + elif UpperPath in self._UPPER_CACHE_: + return os.path.join(self._Root, self._UPPER_CACHE_[UpperPath]) + return None ## Get all files of a directory # @@ -683,6 +694,7 @@ class TemplateString(object): ## Constructor def __init__(self, Template=None): self.String = '' + self.IsBinary = False self._Template = Template self._TemplateSectionList = self._Parse(Template) diff --git a/BaseTools/Source/Python/CommonDataClass/CommonClass.py b/BaseTools/Source/Python/CommonDataClass/CommonClass.py index 763550fe47..e226f1b0d6 100644 --- a/BaseTools/Source/Python/CommonDataClass/CommonClass.py +++ b/BaseTools/Source/Python/CommonDataClass/CommonClass.py @@ -174,7 +174,7 @@ class IncludeStatementClass(object): # @var GuidTypeList: To store value for GuidTypeList, selection scope is in below list # DATA_HUB_RECORD | EFI_EVENT | EFI_SYSTEM_CONFIGURATION_TABLE | EFI_VARIABLE | GUID | HII_PACKAGE_LIST | HOB | TOKEN_SPACE_GUID # @var SupModuleList: To store value for SupModuleList, selection scope is in below list -# BASE | SEC | PEI_CORE | PEIM | DXE_CORE | DXE_DRIVER | DXE_RUNTIME_DRIVER | DXE_SAL_DRIVER | DXE_SMM_DRIVER | UEFI_DRIVER | UEFI_APPLICATION | USER_DEFINED +# BASE | SEC | PEI_CORE | PEIM | DXE_CORE | DXE_DRIVER | DXE_RUNTIME_DRIVER | DXE_SAL_DRIVER | DXE_SMM_DRIVER | UEFI_DRIVER | UEFI_APPLICATION | USER_DEFINED | SMM_CORE # class GuidProtocolPpiCommonClass(CommonClass): def __init__(self): @@ -202,7 +202,7 @@ class GuidProtocolPpiCommonClass(CommonClass): # @var RecommendedInstance: To store value for RecommendedInstance, selection scope is in below list # DATA_HUB_RECORD | EFI_EVENT | EFI_SYSTEM_CONFIGURATION_TABLE | EFI_VARIABLE | GUID | HII_PACKAGE_LIST | HOB | TOKEN_SPACE_GUID # @var SupModuleList: To store value for SupModuleList, selection scope is in below list -# BASE | SEC | PEI_CORE | PEIM | DXE_CORE | DXE_DRIVER | DXE_RUNTIME_DRIVER | DXE_SAL_DRIVER | DXE_SMM_DRIVER | UEFI_DRIVER | UEFI_APPLICATION | USER_DEFINED +# BASE | SEC | PEI_CORE | PEIM | DXE_CORE | DXE_DRIVER | DXE_RUNTIME_DRIVER | DXE_SAL_DRIVER | DXE_SMM_DRIVER | UEFI_DRIVER | UEFI_APPLICATION | USER_DEFINED | SMM_CORE # class LibraryClassClass(CommonClass, DefineClass): def __init__(self): @@ -353,7 +353,7 @@ class PcdErrorClass(object): # @var SkuInfoList: To store value for SkuInfoList # It is a set structure as { [SkuIdName] : SkuInfoClass } # @var SupModuleList: To store value for SupModuleList, selection scope is in below list -# BASE | SEC | PEI_CORE | PEIM | DXE_CORE | DXE_DRIVER | DXE_RUNTIME_DRIVER | DXE_SAL_DRIVER | DXE_SMM_DRIVER | UEFI_DRIVER | UEFI_APPLICATION | USER_DEFINED +# BASE | SEC | PEI_CORE | PEIM | DXE_CORE | DXE_DRIVER | DXE_RUNTIME_DRIVER | DXE_SAL_DRIVER | DXE_SMM_DRIVER | UEFI_DRIVER | UEFI_APPLICATION | USER_DEFINED | SMM_CORE # class PcdClass(CommonClass): def __init__(self, CName = '', Token = '', TokenSpaceGuidCName = '', DatumType = '', MaxDatumSize = '', DefaultValue = '', ItemType = '', ValidUsage = None, SkuInfoList = None, SupModuleList = None): diff --git a/BaseTools/Source/Python/CommonDataClass/ModuleClass.py b/BaseTools/Source/Python/CommonDataClass/ModuleClass.py index 9d780725b9..49d052dc45 100644 --- a/BaseTools/Source/Python/CommonDataClass/ModuleClass.py +++ b/BaseTools/Source/Python/CommonDataClass/ModuleClass.py @@ -121,7 +121,7 @@ class ModuleSourceFileClass(CommonClass): # # @var BinaryFile: To store value for BinaryFile # @var FileType: To store value for FileType, selection scope is in below list -# FW | GUID | PREEFORM | UEFI_APP | UNI_UI | UNI_VER | LIB | PE32 | PIC | PEI_DEPEX | DXE_DEPEX | TE | VER | UI | BIN | FV +# FW | GUID | PREEFORM | UEFI_APP | UNI_UI | UNI_VER | LIB | PE32 | PIC | PEI_DEPEX | DXE_DEPEX | SMM_DEPEX| TE | VER | UI | BIN | FV # @var Target: To store value for Target # @var ToolChainFamily: To store value for ToolChainFamily # diff --git a/BaseTools/Source/Python/CommonDataClass/PackageClass.py b/BaseTools/Source/Python/CommonDataClass/PackageClass.py index c064f25ddb..1382b80839 100644 --- a/BaseTools/Source/Python/CommonDataClass/PackageClass.py +++ b/BaseTools/Source/Python/CommonDataClass/PackageClass.py @@ -62,7 +62,7 @@ class PackageIndustryStdHeaderClass(CommonClass): # # @var IncludeHeader: To store value for IncludeHeader # @var ModuleType: To store value for ModuleType, it is a set structure as -# BASE | SEC | PEI_CORE | PEIM | DXE_CORE | DXE_DRIVER | DXE_RUNTIME_DRIVER | DXE_SAL_DRIVER | DXE_SMM_DRIVER | TOOL | UEFI_DRIVER | UEFI_APPLICATION | USER_DEFINED +# BASE | SEC | PEI_CORE | PEIM | DXE_CORE | DXE_DRIVER | DXE_RUNTIME_DRIVER | DXE_SAL_DRIVER | DXE_SMM_DRIVER | TOOL | UEFI_DRIVER | UEFI_APPLICATION | USER_DEFINED | SMM_CORE # class PackageIncludePkgHeaderClass(object): def __init__(self): diff --git a/BaseTools/Source/Python/GenFds/DepexSection.py b/BaseTools/Source/Python/GenFds/DepexSection.py index 1c8c82a72e..a0a1905dfa 100644 --- a/BaseTools/Source/Python/GenFds/DepexSection.py +++ b/BaseTools/Source/Python/GenFds/DepexSection.py @@ -80,23 +80,27 @@ class DepexSection (DepexSectionClassObject): self.Expression = self.Expression.replace(Item, ExpGuidDict[Item]) self.Expression = self.Expression.strip() - ModuleType = (self.DepexType.startswith('PEI') and ['PEIM'] or ['DXE_DRIVER'])[0] - if self.DepexType.startswith('SMM'): - ModuleType = 'SMM_DRIVER' - InputFile = os.path.join (OutputPath, ModuleName + 'SEC' + SecNum + '.dpx') - InputFile = os.path.normpath(InputFile) + if self.DepexType == 'PEI_DEPEX_EXP': + ModuleType = 'PEIM' + SecType = 'PEI_DEPEX' + elif self.DepexType == 'DXE_DEPEX_EXP': + ModuleType = 'DXE_DRIVER' + SecType = 'DXE_DEPEX' + elif self.DepexType == 'SMM_DEPEX_EXP': + ModuleType = 'DXE_SMM_DRIVER' + SecType = 'SMM_DEPEX' + else: + EdkLogger.error("GenFds", FORMAT_INVALID, + "Depex type %s is not valid for module %s" % (self.DepexType, ModuleName)) - Dpx = DependencyExpression(self.Expression, ModuleType) - Dpx.Generate(InputFile) + InputFile = os.path.join (OutputPath, ModuleName + 'SEC' + SecNum + '.depex') + InputFile = os.path.normpath(InputFile) + Depex = DependencyExpression(self.Expression, ModuleType) + Depex.Generate(InputFile) - OutputFile = os.path.join (OutputPath, ModuleName + 'SEC' + SecNum + '.depex') - if self.DepexType.startswith('SMM'): - OutputFile = os.path.join (OutputPath, ModuleName + 'SEC' + SecNum + '.smm') + OutputFile = os.path.join (OutputPath, ModuleName + 'SEC' + SecNum + '.dpx') OutputFile = os.path.normpath(OutputFile) - SecType = (self.DepexType.startswith('PEI') and ['PEI_DEPEX'] or ['DXE_DEPEX'])[0] - if self.DepexType.startswith('SMM'): - SecType = 'SMM_DEPEX' - + GenFdsGlobalVariable.GenerateSection(OutputFile, [InputFile], Section.Section.SectionType.get (SecType)) FileList = [OutputFile] return FileList, self.Alignment diff --git a/BaseTools/Source/Python/GenFds/Fd.py b/BaseTools/Source/Python/GenFds/Fd.py index 370008c918..26de500d9b 100644 --- a/BaseTools/Source/Python/GenFds/Fd.py +++ b/BaseTools/Source/Python/GenFds/Fd.py @@ -65,6 +65,33 @@ class FD(FDClassObject): GenFdsGlobalVariable.VerboseLogger('################### Gen VTF ####################') self.GenVtfFile() + TempFdBuffer = StringIO.StringIO('') + PreviousRegionStart = -1 + PreviousRegionSize = 1 + + for RegionObj in self.RegionList : + if RegionObj.RegionType == 'CAPSULE': + continue + if RegionObj.Offset + RegionObj.Size <= PreviousRegionStart: + pass + elif RegionObj.Offset <= PreviousRegionStart or (RegionObj.Offset >=PreviousRegionStart and RegionObj.Offset < PreviousRegionStart + PreviousRegionSize): + pass + elif RegionObj.Offset > PreviousRegionStart + PreviousRegionSize: + GenFdsGlobalVariable.InfLogger('Padding region starting from offset 0x%X, with size 0x%X' %(PreviousRegionStart + PreviousRegionSize, RegionObj.Offset - (PreviousRegionStart + PreviousRegionSize))) + PadRegion = Region.Region() + PadRegion.Offset = PreviousRegionStart + PreviousRegionSize + PadRegion.Size = RegionObj.Offset - PadRegion.Offset + PadRegion.AddToBuffer(TempFdBuffer, self.BaseAddress, self.BlockSizeList, self.ErasePolarity, GenFds.ImageBinDict, self.vtfRawDict, self.DefineVarDict) + PreviousRegionStart = RegionObj.Offset + PreviousRegionSize = RegionObj.Size + # + # Call each region's AddToBuffer function + # + if PreviousRegionSize > self.Size: + pass + GenFdsGlobalVariable.VerboseLogger('Call each region\'s AddToBuffer function') + RegionObj.AddToBuffer (TempFdBuffer, self.BaseAddress, self.BlockSizeList, self.ErasePolarity, GenFds.ImageBinDict, self.vtfRawDict, self.DefineVarDict) + FdBuffer = StringIO.StringIO('') PreviousRegionStart = -1 PreviousRegionSize = 1 diff --git a/BaseTools/Source/Python/GenFds/FdfParser.py b/BaseTools/Source/Python/GenFds/FdfParser.py index 07de92610a..24732a0d5e 100644 --- a/BaseTools/Source/Python/GenFds/FdfParser.py +++ b/BaseTools/Source/Python/GenFds/FdfParser.py @@ -1877,6 +1877,14 @@ class FdfParser: self.__GetFvNameGuid(FvObj) + FvObj.FvExtEntryTypeValue = [] + FvObj.FvExtEntryType = [] + FvObj.FvExtEntryData = [] + while True: + isFvExtEntry = self.__GetFvExtEntryStatement(FvObj) + if not isFvExtEntry: + break + self.__GetAprioriSection(FvObj, FvObj.DefineVarDict.copy()) self.__GetAprioriSection(FvObj, FvObj.DefineVarDict.copy()) @@ -1970,6 +1978,79 @@ class FdfParser: return + def __GetFvExtEntryStatement(self, FvObj): + + if not self.__IsKeyword( "FV_EXT_ENTRY"): + return False + + if not self.__IsKeyword ("TYPE"): + raise Warning("expected 'TYPE'", self.FileName, self.CurrentLineNumber) + + if not self.__IsToken( "="): + raise Warning("expected '='", self.FileName, self.CurrentLineNumber) + + if not self.__GetNextHexNumber() and not self.__GetNextDecimalNumber(): + raise Warning("expected Hex FV extension entry type value At Line ", self.FileName, self.CurrentLineNumber) + + FvObj.FvExtEntryTypeValue += [self.__Token] + + if not self.__IsToken( "{"): + raise Warning("expected '{'", self.FileName, self.CurrentLineNumber) + + if not self.__IsKeyword ("FILE") and not self.__IsKeyword ("DATA"): + raise Warning("expected 'FILE' or 'DATA'", self.FileName, self.CurrentLineNumber) + + FvObj.FvExtEntryType += [self.__Token] + + if self.__Token == 'DATA': + + if not self.__IsToken( "="): + raise Warning("expected '='", self.FileName, self.CurrentLineNumber) + + if not self.__IsToken( "{"): + raise Warning("expected '{'", self.FileName, self.CurrentLineNumber) + + if not self.__GetNextHexNumber(): + raise Warning("expected Hex byte", self.FileName, self.CurrentLineNumber) + + if len(self.__Token) > 4: + raise Warning("Hex byte(must be 2 digits) too long", self.FileName, self.CurrentLineNumber) + + DataString = self.__Token + DataString += "," + + while self.__IsToken(","): + if not self.__GetNextHexNumber(): + raise Warning("Invalid Hex number", self.FileName, self.CurrentLineNumber) + if len(self.__Token) > 4: + raise Warning("Hex byte(must be 2 digits) too long", self.FileName, self.CurrentLineNumber) + DataString += self.__Token + DataString += "," + + if not self.__IsToken( "}"): + raise Warning("expected '}'", self.FileName, self.CurrentLineNumber) + + if not self.__IsToken( "}"): + raise Warning("expected '}'", self.FileName, self.CurrentLineNumber) + + DataString = DataString.rstrip(",") + FvObj.FvExtEntryData += [DataString] + + if self.__Token == 'FILE': + + if not self.__IsToken( "="): + raise Warning("expected '='", self.FileName, self.CurrentLineNumber) + + if not self.__GetNextToken(): + raise Warning("expected FV Extension Entry file path At Line ", self.FileName, self.CurrentLineNumber) + + FvObj.FvExtEntryData += [self.__Token] + + if not self.__IsToken( "}"): + raise Warning("expected '}'", self.FileName, self.CurrentLineNumber) + + return True + ## __GetAprioriSection() method # # Get token statements @@ -2683,15 +2764,31 @@ class FdfParser: # @param Obj for whom token statements are got # def __GetCapsuleTokens(self, Obj): - - if not self.__IsKeyword("CAPSULE_GUID"): - raise Warning("expected 'CAPSULE_GUID'", self.FileName, self.CurrentLineNumber) - - while self.__CurrentLine().find("=") != -1: - NameValue = self.__CurrentLine().split("=") - Obj.TokensDict[NameValue[0].strip()] = NameValue[1].strip() - self.CurrentLineNumber += 1 - self.CurrentOffsetWithinLine = 0 + if not self.__GetNextToken(): + return False + while self.__Token in ("CAPSULE_GUID", "CAPSULE_HEADER_SIZE", "CAPSULE_FLAGS"): + Name = self.__Token.strip() + if not self.__IsToken("="): + raise Warning("expected '='", self.FileName, self.CurrentLineNumber) + if not self.__GetNextToken(): + raise Warning("expected value", self.FileName, self.CurrentLineNumber) + if Name == 'CAPSULE_FLAGS': + if not self.__Token in ("PersistAcrossReset", "PopulateSystemTable", "InitiateReset"): + raise Warning("expected PersistAcrossReset, PopulateSystemTable, or InitiateReset", self.FileName, self.CurrentLineNumber) + Value = self.__Token.strip() + while self.__IsToken(","): + Value += ',' + if not self.__GetNextToken(): + raise Warning("expected value", self.FileName, self.CurrentLineNumber) + if not self.__Token in ("PersistAcrossReset", "PopulateSystemTable", "InitiateReset"): + raise Warning("expected PersistAcrossReset, PopulateSystemTable, or InitiateReset", self.FileName, self.CurrentLineNumber) + Value += self.__Token.strip() + else: + Value = self.__Token.strip() + Obj.TokensDict[Name] = Value + if not self.__GetNextToken(): + return False + self.__UndoToken() ## __GetCapsuleData() method # @@ -2815,7 +2912,7 @@ class FdfParser: "DXE_SMM_DRIVER", "DXE_RUNTIME_DRIVER", \ "UEFI_DRIVER", "UEFI_APPLICATION", "USER_DEFINED", "DEFAULT", "BASE", \ "SECURITY_CORE", "COMBINED_PEIM_DRIVER", "PIC_PEIM", "RELOCATABLE_PEIM", \ - "PE32_PEIM", "BS_DRIVER", "RT_DRIVER", "SAL_RT_DRIVER", "APPLICATION", "ACPITABLE", "SMM_DRIVER", "SMM_CORE"): + "PE32_PEIM", "BS_DRIVER", "RT_DRIVER", "SAL_RT_DRIVER", "APPLICATION", "ACPITABLE", "SMM_CORE"): raise Warning("Unknown Module type '%s'" % self.__Token, self.FileName, self.CurrentLineNumber) return self.__Token @@ -2859,7 +2956,7 @@ class FdfParser: Type = self.__Token.strip().upper() if Type not in ("RAW", "FREEFORM", "SEC", "PEI_CORE", "PEIM",\ - "PEI_DXE_COMBO", "DRIVER", "DXE_CORE", "APPLICATION", "FV_IMAGE", "SMM_DXE_COMBO", "SMM", "SMM_CORE"): + "PEI_DXE_COMBO", "DRIVER", "DXE_CORE", "APPLICATION", "FV_IMAGE", "SMM", "SMM_CORE"): raise Warning("Unknown FV type '%s'" % self.__Token, self.FileName, self.CurrentLineNumber) if not self.__IsToken("="): @@ -3238,8 +3335,8 @@ class FdfParser: elif SectionType == "RAW": if FileType not in ("BIN", "SEC_BIN", "RAW", "ASL", "ACPI"): raise Warning("Incorrect section file type '%s'" % FileType, self.FileName, self.CurrentLineNumber) - elif SectionType == "DXE_DEPEX": - if FileType not in ("DXE_DEPEX", "SEC_DXE_DEPEX"): + elif SectionType == "DXE_DEPEX" or SectionType == "SMM_DEPEX": + if FileType not in ("DXE_DEPEX", "SEC_DXE_DEPEX", "SMM_DEPEX"): raise Warning("Incorrect section file type '%s'" % FileType, self.FileName, self.CurrentLineNumber) elif SectionType == "UI": if FileType not in ("UI", "SEC_UI"): diff --git a/BaseTools/Source/Python/GenFds/Ffs.py b/BaseTools/Source/Python/GenFds/Ffs.py index aaa791763b..438bd186dc 100644 --- a/BaseTools/Source/Python/GenFds/Ffs.py +++ b/BaseTools/Source/Python/GenFds/Ffs.py @@ -34,7 +34,6 @@ class Ffs(FDClassObject): 'DXE_RUNTIME_DRIVER': 'EFI_FV_FILETYPE_DRIVER', 'UEFI_DRIVER' : 'EFI_FV_FILETYPE_DRIVER', 'UEFI_APPLICATION' : 'EFI_FV_FILETYPE_APPLICATION', - 'SMM_DRIVER' : 'EFI_FV_FILETYPE_SMM', 'SMM_CORE' : 'EFI_FV_FILETYPE_SMM_CORE' } @@ -50,7 +49,6 @@ class Ffs(FDClassObject): 'FV_IMAGE' : 'EFI_FV_FILETYPE_FIRMWARE_VOLUME_IMAGE', 'RAW' : 'EFI_FV_FILETYPE_RAW', 'PEI_DXE_COMBO' : 'EFI_FV_FILETYPE_COMBINED_PEIM_DRIVER', - 'SMM_DXE_COMBO' : 'EFI_FV_FILETYPE_COMBINED_SMM_DXE', 'SMM' : 'EFI_FV_FILETYPE_SMM', 'SMM_CORE' : 'EFI_FV_FILETYPE_SMM_CORE' } @@ -70,7 +68,7 @@ class Ffs(FDClassObject): 'COMPRESS' : '.com', 'GUIDED' : '.guided', 'PEI_DEPEX' : '.dpx', - 'SMM_DEPEX' : '.smm' + 'SMM_DEPEX' : '.dpx' } ## The constructor diff --git a/BaseTools/Source/Python/GenFds/FfsInfStatement.py b/BaseTools/Source/Python/GenFds/FfsInfStatement.py index 0dcd96da2e..ac13e4d7d9 100644 --- a/BaseTools/Source/Python/GenFds/FfsInfStatement.py +++ b/BaseTools/Source/Python/GenFds/FfsInfStatement.py @@ -47,6 +47,7 @@ class FfsInfStatement(FfsInfStatementClassObject): self.KeepRelocFromRule = None self.InDsc = True self.OptRomDefs = {} + self.PiSpecVersion = 0 ## __InfParse() method # @@ -89,6 +90,8 @@ class FfsInfStatement(FfsInfStatementClassObject): self.BaseName = Inf.BaseName self.ModuleGuid = Inf.Guid self.ModuleType = Inf.ModuleType + if Inf.Specification != None and 'PI_SPECIFICATION_VERSION' in Inf.Specification: + self.PiSpecVersion = Inf.Specification['PI_SPECIFICATION_VERSION'] if Inf.AutoGenVersion < 0x00010005: self.ModuleType = Inf.ComponentType self.VersionString = Inf.Version @@ -102,6 +105,8 @@ class FfsInfStatement(FfsInfStatementClassObject): self.BaseName = Inf.BaseName self.ModuleGuid = Inf.Guid self.ModuleType = Inf.ModuleType + if Inf.Specification != None and 'PI_SPECIFICATION_VERSION' in Inf.Specification: + self.PiSpecVersion = Inf.Specification['PI_SPECIFICATION_VERSION'] self.VersionString = Inf.Version self.BinFileList = Inf.Binaries self.SourceFileList = Inf.Sources @@ -113,6 +118,9 @@ class FfsInfStatement(FfsInfStatementClassObject): if len(self.SourceFileList) != 0 and not self.InDsc: EdkLogger.warn("GenFds", GENFDS_ERROR, "Module %s NOT found in DSC file; Is it really a binary module?" % (self.InfFileName)) + if self.ModuleType == 'SMM_CORE' and self.PiSpecVersion < 0x0001000A: + EdkLogger.error("GenFds", FORMAT_NOT_SUPPORTED, "SMM_CORE module type can't be used in the module with PI_SPECIFICATION_VERSION less than 0x0001000A", File=self.InfFileName) + if Inf._Defs != None and len(Inf._Defs) > 0: self.OptRomDefs.update(Inf._Defs) @@ -153,7 +161,18 @@ class FfsInfStatement(FfsInfStatementClassObject): # Rule = self.__GetRule__() GenFdsGlobalVariable.VerboseLogger( "Packing binaries from inf file : %s" %self.InfFileName) - #FileType = Ffs.Ffs.ModuleTypeToFileType[Rule.ModuleType] + # + # Convert Fv File Type for PI1.1 SMM driver. + # + if self.ModuleType == 'DXE_SMM_DRIVER' and self.PiSpecVersion >= 0x0001000A: + if Rule.FvFileType == 'DRIVER': + Rule.FvFileType = 'SMM' + # + # Framework SMM Driver has no SMM FV file type + # + if self.ModuleType == 'DXE_SMM_DRIVER' and self.PiSpecVersion < 0x0001000A: + if Rule.FvFileType == 'SMM' or Rule.FvFileType == 'SMM_CORE': + EdkLogger.error("GenFds", FORMAT_NOT_SUPPORTED, "Framework SMM module doesn't support SMM or SMM_CORE FV file type", File=self.InfFileName) # # For the rule only has simpleFile # @@ -380,7 +399,19 @@ class FfsInfStatement(FfsInfStatementClassObject): FileList, IsSect = Section.Section.GetFileList(self, '', Rule.FileExtension) Index = 1 - SectionType = Rule.SectionType + SectionType = Rule.SectionType + # + # Convert Fv Section Type for PI1.1 SMM driver. + # + if self.ModuleType == 'DXE_SMM_DRIVER' and self.PiSpecVersion >= 0x0001000A: + if SectionType == 'DXE_DEPEX': + SectionType = 'SMM_DEPEX' + # + # Framework SMM Driver has no SMM_DEPEX section type + # + if self.ModuleType == 'DXE_SMM_DRIVER' and self.PiSpecVersion < 0x0001000A: + if SectionType == 'SMM_DEPEX': + EdkLogger.error("GenFds", FORMAT_NOT_SUPPORTED, "Framework SMM module doesn't support SMM_DEPEX section type", File=self.InfFileName) NoStrip = True if self.ModuleType in ('SEC', 'PEI_CORE', 'PEIM'): if self.KeepReloc != None: @@ -517,6 +548,18 @@ class FfsInfStatement(FfsInfStatementClassObject): for Sect in Rule.SectionList: SecIndex = '%d' %Index SectList = [] + # + # Convert Fv Section Type for PI1.1 SMM driver. + # + if self.ModuleType == 'DXE_SMM_DRIVER' and self.PiSpecVersion >= 0x0001000A: + if Sect.SectionType == 'DXE_DEPEX': + Sect.SectionType = 'SMM_DEPEX' + # + # Framework SMM Driver has no SMM_DEPEX section type + # + if self.ModuleType == 'DXE_SMM_DRIVER' and self.PiSpecVersion < 0x0001000A: + if Sect.SectionType == 'SMM_DEPEX': + EdkLogger.error("GenFds", FORMAT_NOT_SUPPORTED, "Framework SMM module doesn't support SMM_DEPEX section type", File=self.InfFileName) if Rule.KeyStringList != []: SectList, Align = Sect.GenSection(self.OutputPath , self.ModuleGuid, SecIndex, Rule.KeyStringList, self) else : diff --git a/BaseTools/Source/Python/GenFds/Fv.py b/BaseTools/Source/Python/GenFds/Fv.py index 23ec58200b..a9ff26e597 100644 --- a/BaseTools/Source/Python/GenFds/Fv.py +++ b/BaseTools/Source/Python/GenFds/Fv.py @@ -19,6 +19,7 @@ import os import shutil import subprocess import StringIO +from struct import * import Ffs import AprioriSection @@ -70,8 +71,8 @@ class FV (FvClassObject): # If yes, return error. Doesn't support FV in Capsule image is also in FD flash region. # if self.CapsuleName != None: - for FdName in GenFdsGlobalVariable.FdfParser.Profile.FdDict.keys(): - FdObj = GenFdsGlobalVariable.FdfParser.Profile.FdDict[FdName] + for FdName in GenFdsGlobalVariable.FdfParser.Profile.FdDict.keys(): + FdObj = GenFdsGlobalVariable.FdfParser.Profile.FdDict[FdName] for RegionObj in FdObj.RegionList: if RegionObj.RegionType == 'FV': for RegionData in RegionObj.RegionDataList: @@ -215,19 +216,81 @@ class FV (FvClassObject): self.FvAlignment.strip() + \ " = TRUE" + \ T_CHAR_LF) - - if self.FvNameGuid != None: - self.FvInfFile.writelines("EFI_FVNAME_GUID" + \ - " = %s" % self.FvNameGuid + \ - T_CHAR_LF) + # - # Add [Files] + # Generate FV extension header file # + if self.FvNameGuid == None or self.FvNameGuid == '': + if len(self.FvExtEntryType) > 0: + GenFdsGlobalVariable.ErrorLogger("FV Extension Header Entries declared for %s with no FvNameGuid declaration." % (self.UiFvName)) + + if self.FvNameGuid <> None and self.FvNameGuid <> '': + TotalSize = 16 + 4 + Buffer = '' + for Index in range (0, len(self.FvExtEntryType)): + if self.FvExtEntryType[Index] == 'FILE': + # check if the path is absolute or relative + if os.path.isabs(self.FvExtEntryData[Index]): + FileFullPath = os.path.normpath(self.FvExtEntryData[Index]) + else: + FileFullPath = os.path.normpath(os.path.join(GenFdsGlobalVariable.WorkSpaceDir, self.FvExtEntryData[Index])) + # check if the file path exists or not + if not os.path.isfile(FileFullPath): + GenFdsGlobalVariable.ErrorLogger("Error opening FV Extension Header Entry file %s." % (self.FvExtEntryData[Index])) + FvExtFile = open (FileFullPath,'rb') + FvExtFile.seek(0,2) + Size = FvExtFile.tell() + if Size >= 0x10000: + GenFdsGlobalVariable.ErrorLogger("The size of FV Extension Header Entry file %s exceeds 0x10000." % (self.FvExtEntryData[Index])) + TotalSize += (Size + 4) + FvExtFile.seek(0) + Buffer += pack('HH', (Size + 4), int(self.FvExtEntryTypeValue[Index], 16)) + Buffer += FvExtFile.read() + FvExtFile.close() + if self.FvExtEntryType[Index] == 'DATA': + ByteList = self.FvExtEntryData[Index].split(',') + Size = len (ByteList) + if Size >= 0x10000: + GenFdsGlobalVariable.ErrorLogger("The size of FV Extension Header Entry data %s exceeds 0x10000." % (self.FvExtEntryData[Index])) + TotalSize += (Size + 4) + Buffer += pack('HH', (Size + 4), int(self.FvExtEntryTypeValue[Index], 16)) + for Index1 in range (0, Size): + Buffer += pack('B', int(ByteList[Index1], 16)) + + Guid = self.FvNameGuid.split('-') + Buffer = pack('LHHBBBBBBBBL', + int(Guid[0], 16), + int(Guid[1], 16), + int(Guid[2], 16), + int(Guid[3][-4:-2], 16), + int(Guid[3][-2:], 16), + int(Guid[4][-12:-10], 16), + int(Guid[4][-10:-8], 16), + int(Guid[4][-8:-6], 16), + int(Guid[4][-6:-4], 16), + int(Guid[4][-4:-2], 16), + int(Guid[4][-2:], 16), + TotalSize + ) + Buffer + + # + # Generate FV extension header file if the total size is not zero + # + if TotalSize > 0: + FvExtHeaderFileName = os.path.join(GenFdsGlobalVariable.FvDir, self.UiFvName + '.ext') + FvExtHeaderFile = open (FvExtHeaderFileName,'wb') + FvExtHeaderFile.write(Buffer) + FvExtHeaderFile.close() + self.FvInfFile.writelines("EFI_FV_EXT_HEADER_FILE_NAME = " + \ + FvExtHeaderFileName + \ + T_CHAR_LF) + + # + # Add [Files] + # self.FvInfFile.writelines("[files]" + T_CHAR_LF) if VtfDict != None and self.UiFvName in VtfDict.keys(): self.FvInfFile.writelines("EFI_FILE_NAME = " + \ VtfDict.get(self.UiFvName) + \ T_CHAR_LF) - - diff --git a/BaseTools/Source/Python/GenFds/GenFdsGlobalVariable.py b/BaseTools/Source/Python/GenFds/GenFdsGlobalVariable.py index 77c8821a05..b54e8c88e2 100644 --- a/BaseTools/Source/Python/GenFds/GenFdsGlobalVariable.py +++ b/BaseTools/Source/Python/GenFds/GenFdsGlobalVariable.py @@ -294,10 +294,7 @@ class GenFdsGlobalVariable: @staticmethod def GenerateOptionRom(Output, EfiInput, BinaryInput, Compress=False, ClassCode=None, Revision=None, DeviceId=None, VendorId=None): -# if not GenFdsGlobalVariable.NeedsUpdate(Output, Input): -# return -# GenFdsGlobalVariable.DebugLogger(EdkLogger.DEBUG_5, "%s needs update because of newer %s" % (Output, Input)) - + InputList = [] Cmd = ["EfiRom"] if len(EfiInput) > 0: @@ -308,11 +305,18 @@ class GenFdsGlobalVariable: for EfiFile in EfiInput: Cmd += [EfiFile] + InputList.append (EfiFile) if len(BinaryInput) > 0: Cmd += ["-b"] for BinFile in BinaryInput: Cmd += [BinFile] + InputList.append (BinFile) + + # Check List + if not GenFdsGlobalVariable.NeedsUpdate(Output, InputList): + return + GenFdsGlobalVariable.DebugLogger(EdkLogger.DEBUG_5, "%s needs update because of newer %s" % (Output, InputList)) if ClassCode != None: Cmd += ["-l", ClassCode] diff --git a/BaseTools/Source/Python/GenFds/Section.py b/BaseTools/Source/Python/GenFds/Section.py index ffca3a11fe..1905935ebf 100644 --- a/BaseTools/Source/Python/GenFds/Section.py +++ b/BaseTools/Source/Python/GenFds/Section.py @@ -129,7 +129,7 @@ class Section (SectionClassObject): if FileType != None: for File in FfsInf.BinFileList: if File.Arch == "COMMON" or FfsInf.CurrentArch == File.Arch: - if File.Type == FileType: + if File.Type == FileType or (FfsInf.PiSpecVersion >= 0x0001000A and FileType == 'DXE_DPEX'and File.Type == 'SMM_DEPEX'): if '*' in FfsInf.TargetOverrideList or File.Target == '*' or File.Target in FfsInf.TargetOverrideList or FfsInf.TargetOverrideList == []: FileList.append(File.Path) else: diff --git a/BaseTools/Source/Python/Workspace/MetaFileParser.py b/BaseTools/Source/Python/Workspace/MetaFileParser.py index 40eb82656d..cf165ff507 100644 --- a/BaseTools/Source/Python/Workspace/MetaFileParser.py +++ b/BaseTools/Source/Python/Workspace/MetaFileParser.py @@ -824,7 +824,7 @@ class DscParser(MetaFileParser): # [PcdsDynamicHii] # def _PcdParser(self): - TokenList = GetSplitValueList(self._CurrentLine, TAB_VALUE_SPLIT, 1) + TokenList = GetSplitValueList(ReplaceMacro(self._CurrentLine, self._Macros), TAB_VALUE_SPLIT, 1) self._ValueList[0:1] = GetSplitValueList(TokenList[0], TAB_SPLIT) if len(TokenList) == 2: self._ValueList[2] = TokenList[1] @@ -1109,7 +1109,8 @@ class DecParser(MetaFileParser): if not IsValid: EdkLogger.error('Parser', FORMAT_INVALID, Cause, ExtraData=self._CurrentLine, File=self.MetaFile, Line=self._LineIndex+1) - self._ValueList[2] = TokenList[1] + + self._ValueList[2] = ValueList[0].strip() + '|' + ValueList[1].strip() + '|' + ValueList[2].strip() _SectionParser = { MODEL_META_DATA_HEADER : MetaFileParser._DefineParser, diff --git a/BaseTools/Source/Python/Workspace/WorkspaceDatabase.py b/BaseTools/Source/Python/Workspace/WorkspaceDatabase.py index 348d219aa9..2f2e8126c8 100644 --- a/BaseTools/Source/Python/Workspace/WorkspaceDatabase.py +++ b/BaseTools/Source/Python/Workspace/WorkspaceDatabase.py @@ -1111,7 +1111,7 @@ class InfBuildData(ModuleBuildClassObject): "BS_DRIVER" : "DXE_DRIVER", "RT_DRIVER" : "DXE_RUNTIME_DRIVER", "SAL_RT_DRIVER" : "DXE_SAL_DRIVER", - "SMM_DRIVER" : "SMM_DRIVER", + # "SMM_DRIVER" : "DXE_SMM_DRIVER", # "BS_DRIVER" : "DXE_SMM_DRIVER", # "BS_DRIVER" : "UEFI_DRIVER", "APPLICATION" : "UEFI_APPLICATION", @@ -1198,6 +1198,7 @@ class InfBuildData(ModuleBuildClassObject): self._Pcds = None self._BuildOptions = None self._Depex = None + self._DepexExpression = None #self._SourceOverridePath = None ## Get architecture @@ -1317,9 +1318,15 @@ class InfBuildData(ModuleBuildClassObject): if not self._ModuleType: EdkLogger.error("build", ATTRIBUTE_NOT_AVAILABLE, "MODULE_TYPE is not given", File=self.MetaFile) + if (self._Specification == None) or (not 'PI_SPECIFICATION_VERSION' in self._Specification) or (self._Specification['PI_SPECIFICATION_VERSION'] < 0x0001000A): + if self._ModuleType == SUP_MODULE_SMM_CORE: + EdkLogger.error("build", FORMAT_NOT_SUPPORTED, "SMM_CORE module type can't be used in the module with PI_SPECIFICATION_VERSION less than 0x0001000A", File=self.MetaFile) if self._Defs and 'PCI_DEVICE_ID' in self._Defs and 'PCI_VENDOR_ID' in self._Defs \ and 'PCI_CLASS_CODE' in self._Defs: self._BuildType = 'UEFI_OPTIONROM' + elif self._Defs and 'UEFI_HII_RESOURCE_SECTION' in self._Defs \ + and self._Defs['UEFI_HII_RESOURCE_SECTION'] == 'TRUE': + self._BuildType = 'UEFI_HII' else: self._BuildType = self._ModuleType.upper() else: @@ -1824,6 +1831,25 @@ class InfBuildData(ModuleBuildClassObject): self._Depex[Arch, ModuleType] = Depex[Arch, ModuleType] return self._Depex + ## Retrieve depedency expression + def _GetDepexExpression(self): + if self._DepexExpression == None: + self._DepexExpression = tdict(False, 2) + RecordList = self._RawData[MODEL_EFI_DEPEX, self._Arch] + DepexExpression = {} + for Record in RecordList: + Record = ReplaceMacros(Record, GlobalData.gEdkGlobal, False) + Arch = Record[3] + ModuleType = Record[4] + TokenList = Record[0].split() + if (Arch, ModuleType) not in DepexExpression: + DepexExpression[Arch, ModuleType] = '' + for Token in TokenList: + DepexExpression[Arch, ModuleType] = DepexExpression[Arch, ModuleType] + Token.strip() + ' ' + for Arch, ModuleType in DepexExpression: + self._DepexExpression[Arch, ModuleType] = DepexExpression[Arch, ModuleType] + return self._DepexExpression + ## Retrieve PCD for given type def _GetPcd(self, Type): Pcds = {} @@ -1889,6 +1915,7 @@ class InfBuildData(ModuleBuildClassObject): Pcd.TokenValue = PcdInPackage.TokenValue Pcd.DatumType = PcdInPackage.DatumType Pcd.MaxDatumSize = PcdInPackage.MaxDatumSize + Pcd.InfDefaultValue = Pcd.DefaultValue if Pcd.DefaultValue in [None, '']: Pcd.DefaultValue = PcdInPackage.DefaultValue break @@ -1936,6 +1963,7 @@ class InfBuildData(ModuleBuildClassObject): Pcds = property(_GetPcds) BuildOptions = property(_GetBuildOptions) Depex = property(_GetDepex) + DepexExpression = property(_GetDepexExpression) ## Database # diff --git a/BaseTools/Source/Python/build/build.py b/BaseTools/Source/Python/build/build.py index 7d14e15420..5f470de926 100644 --- a/BaseTools/Source/Python/build/build.py +++ b/BaseTools/Source/Python/build/build.py @@ -676,7 +676,8 @@ class Build(): def __init__(self, Target, WorkspaceDir, Platform, Module, Arch, ToolChain, BuildTarget, FlashDefinition, FdList=[], FvList=[], MakefileType="nmake", SilentMode=False, ThreadNumber=2, - SkipAutoGen=False, Reparse=False, SkuId=None): + SkipAutoGen=False, Reparse=False, SkuId=None, + ReportFile=None, ReportType=None): self.WorkspaceDir = WorkspaceDir self.Target = Target @@ -695,6 +696,11 @@ class Build(): self.Reparse = Reparse self.SkuId = SkuId self.SpawnMode = True + self.ReportFile = ReportFile + if ReportType == None: + self.ReportType = ['ALL'] + else: + self.ReportType = ReportType self.TargetTxt = TargetTxtClassObject() self.ToolDef = ToolDefClassObject() @@ -954,7 +960,9 @@ class Build(): self.Fdf, self.FdList, self.FvList, - self.SkuId + self.SkuId, + self.ReportFile, + self.ReportType ) self.Progress.Stop("done!") self._Build(self.Target, Wa) @@ -980,7 +988,9 @@ class Build(): self.Fdf, self.FdList, self.FvList, - self.SkuId + self.SkuId, + self.ReportFile, + self.ReportType ) Wa.CreateMakeFile(False) self.Progress.Stop("done!") @@ -1018,7 +1028,9 @@ class Build(): self.Fdf, self.FdList, self.FvList, - self.SkuId + self.SkuId, + self.ReportFile, + self.ReportType ) Wa.CreateMakeFile(False) @@ -1253,6 +1265,10 @@ def MyOptionParser(): Parser.add_option("-d", "--debug", action="store", type="int", help="Enable debug messages at specified level.") Parser.add_option("-D", "--define", action="append", type="string", dest="Macros", help="Macro: \"Name [= Value]\".") + Parser.add_option("-y", "--report-file", action="store", dest="ReportFile", help="Put build report in specified file.") + Parser.add_option("-Y", "--report-type", action="append", type="choice", choices=['ALL','PCD',], dest="ReportType", + help="Flags that control the type of build report to generate. Must be one of [ALL, PCD]. To specify more flags, please repeat this option.") + (Opt, Args)=Parser.parse_args() return (Opt, Args) @@ -1358,7 +1374,8 @@ def Main(): Option.TargetArch, Option.ToolChain, Option.BuildTarget, Option.FdfFile, Option.RomImage, Option.FvImage, None, Option.SilentMode, Option.ThreadNumber, - Option.SkipAutoGen, Option.Reparse, Option.SkuId) + Option.SkipAutoGen, Option.Reparse, Option.SkuId, + Option.ReportFile, Option.ReportType) MyBuild.Launch() #MyBuild.DumpBuildData() except FatalError, X: -- 2.30.2