From 8ceb0045fac6ed2ed81c0cbeb90678fca0d74e9c Mon Sep 17 00:00:00 2001 From: Pete Batard Date: Tue, 27 Jul 2021 18:10:29 +0100 Subject: [PATCH] [grub] update embedded GRUB to 2.06 * Also enable NTFS and ext# as GRUB2 compatible file systems. --- res/appstore/Package.appxmanifest | 2 +- res/grub2/core.img | Bin 31998 -> 38399 bytes res/grub2/grub2_version.h | 2 +- res/grub2/readme.txt | 13 +++++-------- src/drive.c | 6 ++++-- src/format.c | 7 +++++-- src/rufus.c | 6 +++++- src/rufus.rc | 10 +++++----- 8 files changed, 26 insertions(+), 20 deletions(-) diff --git a/res/appstore/Package.appxmanifest b/res/appstore/Package.appxmanifest index 7da5e7ed..29a0e7fc 100644 --- a/res/appstore/Package.appxmanifest +++ b/res/appstore/Package.appxmanifest @@ -11,7 +11,7 @@ + Version="3.15.1804.0" /> Rufus diff --git a/res/grub2/core.img b/res/grub2/core.img index f94e063461012cdf71b2ca0f793b4500a2535b2b..9c65bf2e42be6868e63941fafa869e7b406d6b16 100644 GIT binary patch delta 35316 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

J^-*t>< z++R!E@d8@#?ZFUxS6N&qj?*lgd2UwxVLs)Vl$Mrelor*_-4(3}@`Bezuk=zSoqzY; zIIS=ogmHRJqH`c6y5(5Jio}Mxq2uBE#+szNN)*OUBzUPvPzZ5|%(_c(Xhf#Qe1xF9%Y zd?pX81i{3vwr^dw!ohshuwr@1tH%tq; z6|rkEI@9;9;ZMKe4xBL7R4;#o^ra@%BVdf3GEp7W1~M1f0M>T3iRJM&+_4;9@+d6B#nOQ z6p4FX!h81Gh&f^hcmCEY;H)+~3ay=M%GOPib`CoFf9B@OQsnaI#{B$d0*i>u(O`TQ z8wA+X$kGeXPMr(PIJ>bP_tbhM*Uc9y6n6u_-6^jowt=aUNIUUDod<|)_~ciG+lKSK zf+I^38J*R2q3}xs0B~qVg(+7&3yaus{bGhpna{;!2C~)N zelCdM2BV&AM^P%7#w%RPT$>_d=?)6aySw}nGx>hbOjO$pvZ11mk*vet@kq3?>0wOY z!miMw>>9J4-tfd4q23xx!xRfr&LQ47!sQq$%FZa}Qy(`U$bS-wQryy>#a|LeTg^n$ zS$4^hSloS_O_-F5SKtC6CaR882K#Wy1&LGmKb1a|!cy&TRC&|yQAv0<^(2{_`{e&I z$~GVYNytZ7=ql$iOgb6;nj7*XLT8HLYUkLu#~Bsu@oiWX^mFto1FBkrSp-1`S#U~S~r0q8&2lmvhh-YlJA`HGs; zKNooDm4(;u=G_h$6gB?R$&@iBVXHq(B@)}mp6rr6p-K7(Z?d?j_`y>r=SVZ4t8zmI zJ^9h4Y?U5^xM%`LPY#kGt$LG=2!$8+vXIb+DzmWP5r2Rk`Q{m{i&+d{D<#%Ed`<|0 zPvo3gU6te@YewNB&grzR*D~C89BM$zs;kS234wqRT{{?0_Z&b78lEUS%&1d(qO0XD z`4nc@HIGI&g?e~Us=@H?G4LBYUBehZC(+G4DsJ56y5XYGG{?Y)p1{M4M(fKuLS-0i zv6ePv#(%pV8fyl#W|mCrpbGEot8-hkKT#`@p=yY1nyYxKrq4~gFFRuW&6 zGkk<&gHhQGY{&q?10(L6FA-}f*YH#cvVI4fZ&zMRjAjnuH7e8;<%nMlfZyq67lLt@ z$xwh$Lq%ns1l zRgyrh__9m0N!D7t`GlWAP$4sX#!R)}+tq`Lfd9nR)A{`I-ez?)13Y+;x34dwS zt5ndp^tl!`zQS#J$6!S7JjR8}Nx@~6(xp7G?mGZ=2w>Y$K@S*u zA3ZyB;~r?o(?3^$9cu72!8kf*D1fXYrEkhM2Pkir%pI|Vg!Oj!Kk{YTxRsrsibwNZ zTn=${aZL_e+%Iu6NOshHv~5Ru?0@yJtR8E-dv^CfJVK9gVnzVV>}D(d(61|5HW`F| zUxLG!5%sS*fCuTH?y)TF!L}b28|uKerTr-sYVM4^Ddvs&ws{*-BwE=#8mGqm>D@P&3_DpTTHmx z<|WBqvc|?`uYtzx-TpQ%nf9hQy6Nz}`t?(GsLv_#D19ea9NZN-pGNu4a6Z&5JS>@grCX~K1I^KFa z1`+>JiG&1ELpW1OjQVvOGk?P#rmR4YjiF30+owt1fmJ?G5({w_0)#hkrR~+nvea_1F%4FfK{~sDm{Jh;Mz8d=->>Y%nb~tuw|is!M|?q5>3c$>EJGpG3&lQ|2Ic? zKh9ISlJFXh2@g#Z*nj=;K_t__DW5`x`NPrx!@f8SthM3=so&@Sp!&$=0bIiWUuL_= zWD>uB;Pn7^^zvTiF@GElnr2v70D`GX<_I!|PN@A7v&I>Hjhio(v28#U4*0fq@pZ}d z@nj!9R39VzTJg}V^ieGKaP58v_tz@o(9fN_ca)fkBWI?r1K;{@UxG=I+SWL3guVkg z!_r+eO}u#?3#2ejKc%B2c!Ok3XfubG*~NP^ES(@2+Qm~+S$|46!r@`Sf9O=O@j*6I ztU&6z4Yq`@!JSU(b7eHVA|`S!tu+jb3E1}PA5C4e)LP_a6J$=AVNr~dusSe#hsnip zY!!|1C%IAHAT5smn6P(y!;RCl`5Flgx#F4CzCIo8aC)X$pUNirHmqbip?^Dm1^$8Y z^U!gm{%;I9>3@5cVT6V-;Xeg4w{wPiDR6}%pnDq2T^o2;u~iMgfbO#o%%?Cd{W!>T$F*R? zA2$k7FfSka>ps}rjo4uJsX*6pdL!gnpW9jjebQ}c3V&B}X35LFA5{|}+arO%6W*-d zCs$L=&VKQ&$K$H`<=fy_E~|J@%;rTJ!?n(2 zBB;yPgfyXj>k!X&D*G8N#Cr2q4U0OUsu4Ar04Q=yIEWJA{~%Bq)%sfuy8jf>ozWiV zujGrJDu11Pu{o|DRuRSW;eQpZlbW+QtJv8uSr5Ps&1d} zI+iWlS=_-nA`Nfs=|F|A-t*DfOS(EeL33!F`mvlc!%YeQO}kHG&244^S5eKEtt2;j zH6u@ydmo_@t1;gYF4?1{2IiDvR5|(Bv6$xzMpfb__W^OeZjDO3BHpsV^NB z6t{U=a8lf%VsTsr2JD^w(pl-rT>)5e$aa;FDAgA2ve{UT+jF0%V3L*gE{lRWtH3?b zQI7D_(_$t^cEI3Mr1jXQ#|Q`_9UeX|>woujYX|_Kz!Z&IgcT zmq-S21&fCPtw0-)!<*2DL44DZ`HU29Z8WCB8k=0I{ui_mWzx!if!{n5<($L)pC4&fAAhrA z-ev~li+rXd1pUj?Cqq@|&zsJD#aYw5mBi`y!i9kac?gT2OS0Zk0 zxIv+4OfeAdP6tliX5+XDP`*gTc1>vdTwPmfndKu`$yEz7B`obYDSecd95? zGtYxD^^Y=w4&X=gz=TVHXFKio!y_n?4PJqvA&mMrpMk}i=AZy01e^IC$70-nd=Cj! zP_}@m>`Xy*x+roGeC~GC(S-6NbrMaBUgMYa2NDX2fZ9sQ9fr{6A3k9c{eQfu>*E-~ zgJiW(%gClBUZx=Yu-p?847iU@aI$y5&+*+aN4LTfpa@BevOIIXh;d^ zJaVC@QnM-kZ~edTBFDYDQjL@Y3g;H1qTT4h+bt$3_6Js-dhBCp1&- zi+tQty8SWnWudH;s$@vR`q<3_i}Xm7nfwCUvIczR) zO5QVau_ndD(QBm8y3vD79mAB;+WbWbl6uGMuw*ipt8c>lOzX1W>3>8WDS>l3%^jAfNE8-|8(owEIpS<_;%V`cEXi<6uhR+>Vpgt;mH ziD$=`{q-}yg^0s_>{+UpZJq@4!pC(s`6kZzEZQ|;Q0Z!tejFXY3=!yt-7Rj$$28{N zUL|M~?w+5^Y>#m1XAy#d2aqo&YH7=%Z_iGMW6?zj-MINC}NzGh2) zXwfu11!$KQ1}SK9j&42gI?$;BNgM}m6!qXb$;0d7O>sIav-g+T`=>HcT4ZWmfnf@B zN9F|SCId^&m_VPgzI57T_=DoWj4S*FO#9qHhlP|O>oJO6L_vs`R~`6pmBnJNxyPtb z;i?F7G-IW+GJjp1`-1ZiY?Y?75TtC4T+!wm`48%q_a~bmx+kDVnzNE(@6D;dx-}@&e;Yp zUGdtE(iRmPj%#iy*3@qb`tG)l>iqKdl!4Jm! zp(3H=d*=&6l0DPEYW;(ST?aG^=zb73Mg%=963_3MJeLp$bsc8Si(LqhhmR%UbhMx- z0GIW>{(m}b*`*}S-v!f5Pn=|cv~CH+ap$+fJD_iXHpqi#xy=Q^5-XI2sY3MtGeOvt zY5_Tx(Lk%ebT)zud;53>`ki?>(zJur$y#H{?x0SA8zCqpI(Rb`kj9^(`&e#hAUMkC z@!*Pjhg&tjDeeNDBgk?ovs510iO1pcPlZpLaewe$8T6P$foA=l>(=x5{H@!sNCF`B zr$0~5b;KJ1iT-83RAla1_E=w`p%-T%Ux3=J$_$@QUvZ8nXIixV#XNyw313L%Z0UG?dDaty2{mxXa&v} zBY#h-I{Zr!@k!ltwIJV40O>rWZ5%t9*X219Fz26FxI9kWuv1&pG+`As#5vQyTvSVO zvtl);FluVeEys4+hd{m@j`({H72|?D)Kf4`+cGL;6pfKt^Y-b9NWfJOSV7yszZNv* zI*3`X#~JQr?Dc{0_bI0btZNm^Rz5g@q<^CtX-NlmtozZ%iWmXCfb@|WYd=9U+)Tnf ztz4|_q7eI&9=n7QYnDdPJ4_#WQ54ekWZlQdT!0{jjqpa>`YyG=8h+G?JJmLe*@=+M z@cRQ~?ptKTNbYCDCu9^((D-RPTLCKVPUd6&*ri5lZ$JE-&tj391`JAnRH&WYKP+cMwd>eokf@{&CE~1efmSaK>-{MTzM@*UBhh6k4TNlsKo`A z*4?q}so$`h)L3vDpJVqmd@_-$PAH$*N~}b#MGX|J1cUHFut;ucsm(RF1Ap<3gS@Xn z{MOrt8PZ99tf|_f28)Fn);g6(w@fP5_E=Eb;l8kv^8utRbX!H=8ZgeGjsqkud03DNPbs zT}_VV6GtvYgT=cdfsw;xJkc?fFF+>iPOu-XSZ1(%2{?lg+$*MMihrF1wNTv=%iV_9 zL;rsrU($C)%whB#}9`a90kP8L8-sYG9s?~sOQoLNM70^@bQ=(dOM>u77 z-h5qp^{jUH-N;isseh?@o<2dzFM5O~BQ~bpNc*iK?l(%RPz@-2h5WG7QM;Pnuu>me z6X0^iUKua6DE`Rf&Pj11na{vH92L-WN5YP$DeZT|CW#`UcbZ-%IeHXU-y2|9Qoe1z7Mv5sKypjIx;IsOOkxXBsKs;$-5x{mq3&!UY#LkS{w)fg; z3;^b5sr{07o_{OriM5H?l2SeH&bMpx!mED}$3>({xPwW?CA?wPSXcexD77op^2pK( zVujdIIp#sN{1HD8kLQ3fb>TbW88=P9)$ckP2Zm|^(YYAkzHpmiBmcx{hKT6Wq|CB< z4vRFm-#eU-WqK=CS@+~~Sp0KxDp{Z7*gFg!>qom zad__{jG%2ka1GA;v>>aXcmtv_h&W-)ikJ4M=fL704S>&%6I`Z_mxQ)?~9~xX=_6 zxJg{YgU>RXi}+k;GR>Kl2W_UQ*YD-US@#IhH^ODf$%97F1mI0+UyxZGL`YA4+yINC3(f=Fje6`j0wGxRWTCtmoYKtj$|A*@_c z+NpN4npyg>3b)ib4oflIdZJUm1@|YU_(a3ijdt@3K`&wuU>yi%2((&XzW@ydqyfg0 zHuFRXY+6rC?}3`Mg73hDx}<1p#(&WDO?<7VC1U{CIdG;G`YJc}(=~bApx{?H3ESac zpM3WY#doE@g{huH<%(HqF80pN3il{z3)|q;mfYd2a4)WmS(GV)SOZwMv&MxOy%@gS zEBN3<3v8FbMy=(_fitCHwD)(Y(4KX2NNTO+)m9bYYZJGr!S(H+s9;T?pnus>s`r3X z;fvPhBv?0#N8W=3Y7KBqb%PNGfg74Xxx-s=#7ZHdBhzmkY+@_P=NvpfmN({mU?Q$y z(R6q;MaQ$hvafjDBpxU;BQZ}J3=_+o&mT3$UDNP*A;_*(`9ajd@e1l}pR=K?I0Rl( zC|2wp19NBB+o_w(cNW5(NPlGMxnqwf!E+v;Wgw?Ob!1B`PsxK9DSIT2L#3+pn$Kiy4+lYsgjl$}Kr_`6MNHl3Pqb#C_oY$B^X7O3e3dD4*%M(tm3b}K z#J!3gEfS2X-1_M%Q?0guSXKAi{NN1c9^0-ha`~Q*`4+U@07*jBWq$@|si}&QO!unK zb4g`)UYSSNYc;R^CC9As7&SA7%>;vZU%Gz_JXGKVh^OMx3?gJH9T$-|F^~m2CVkYe z$a*|@AY!NH3+V{qMb6JJ<{r8YHXY65*@BUDs#%RF z@=TIeF(m7=R-o~wt$!ypG&z|018&+oXNvd>Fy!uA;P@8!6Wb>>t4i?*uV9MCD zfx!WWJ@w>N!M_2@c;B2BMFDKuUQ^+jXba%iIOe} zip&Ib2RB8auz&7X&q`R}n?{jMH*7-E)QG7VLGMf#bsLtd%bz0v3U+}^tQWk290xq* zyxM+4$`Ji=sdOsFlU#~YlEK0fQb7%b{!i{wmw__*)|K&O!KBf%XPZBWUeqDI1Q|D_ z|HHyBs!rX_Wvy@*0Zfv-ffJ%R^c*R?XLR_^INT%zX(9&Tso^{ zcZfF%tquf8$nmCQbUN?EIR%l_Z;1hv`-6kGG!)#5mndNMD535`(`#3()=*@i8Ju28 zZ+@k9t$*_z$OA&q9ZDc*`M87G|2N^Ob}A(06Ju3w7YPXX|KqQC8Ie7XPp|~=;V}P< zQc$mjyzW5|dg(K6tpXZ?C7HyuI(3_T@Q?!r4*Z$s9o3rb@c_9mHn4Lz!G3EDZ`lVb z&zQkfx3jn;%#BHqV)hn*p<#D5oBj?WCb@zW{C`LxzrF>NMgy$!8W%j!pO3+~yYI(1 zwG58|9IqvrBOEui|9NapiDX)X6Z*$oNyw?j^QXgc13!zfOkhH9E8N(wQ9E^hlS+oV!+>fPnJCL#*72Xi>lHIBR zrhhv2{*>u8=6oPA7-9-y4-xiqLK+>kZ#+F)s*4TCVvh@eakkfD$4i&?(tcd%;i(5#Ci(svw;TNpHaeu@pk9Dawwp!Bcy3DdXT37ef-!2FtajgSk zMI)|tdQvi?YDST3tHpGP)XjYaIZeq#3RH2wX?w30X$M_rnRNna=jci3cYmxT zmEoa*N%f2R*{<~;%rv7L zDiU@~pUd>}Iv%ZbSBr7!M9Cb{4{PLet5E0@q$z230_?Q)@_deOgnTEcCDQMiVK1+IwOWeB!6_@lT88n zizlBN8;yVWyk2GL(ZRoCu^gKGTXPNr;a5I75iR>v2;G=l7+&&-ytes9NsN~9Tn#Bk z2aC59TaunRO@l(ou4Ua_w{?EFf=SJi6dGin4q0}HIiCId-x|!_+%{lS;wn6W|GU<| zb);H3krlkeajxd@V zDm(M|w~(t*eezFu3<<1MD682i$5b~<{22Jse#$~TCD6dhEd@`MtwPT;PCjqPEuiYj z1GKsOxX?AQL+XyTbp9v-y`X>K3+#V{NVmA2K}5ISiK^TGmX`eK{(m9r?ygB@KJ2yZ z054y7*jV5@pBkWjuG5ItMxI0K0Tq~KvIybj-YT!u49Le-hZ)(O|ciP%~8fxH!IVIx}7WdZuUWPNg1tg!ZxlH^@sSf8ibk_(S0s#&E3*!c`M z?NVaT$16Y3o-Rfbv)@|0T&Nme$GJxfGK{QI|&5b02t_im01g%!w7@W~*b#e2k(y$BDTxag80sej6dJw-tRIe_dmSB?lS zSl~^q+^EbviJo)$MuiFfVUa0(oYpV}=eb;02pk68cy8HETwHi!ZAj6}daZEuMQPBz zEsh9d`jrRquQ+$!5s~pZTksPX0cXd;7&yt)bC!%Mo!R#NDS^-nH6-D-z*+L>J@#!T z=`6PQf}2X&_kX7W8ONO16rq8>&?KOS=3>wS%+6C#d?qv+N~5{p@9=DUTY+o?gSyBY zj`Roc^=IBKytmwh*hIh#!YA>Dj~Rq-Y^80Db2h?R(6@uZ)!ZZF;x^ch0!T10F(uUQ zhn&c0QD%E3Vksj`*vf2IR((hks%-tBBwE9Z*Eb21I)8d;@8v)ltdHmS>5-2Ib{EaJ zr89Lm^-&XP+85!F;A+{(hZ-O*Vcxzpz2JDt{LMS@nv(71E;1f$7qu*&uzcc+d$8nQ z_>IYqWsI#$iX1F(mz{QdtY2x03GI=i=AD1)DE%=A*|SH;9#RTI8^yv49+6&Y_w7u& zvRLO|h<^*c1V%7E^k-VxA2fw=$CCyzy_V|iKxMmNZV3~-^= z_R_e+;o&_=M(%zvBCDzU?%6uasXLy5 z=H4*E72T9;gc|f`RA-IXu=*>6kdftKwhp#$3V)Sgn^BZSbIQq&rTNKqei z;NgyNVFx4?DscbH+&)gPaa?ou`DI-DM9dv7@>^3RV=dX9^$OT-Pbnln(0 zNbs=Yi|wX4%C(*-sK9P)GL2$9x`P<&Ax;5gPwi{zb_8PICQYc%-Vztd+4mxFHPH7#`#_Yr-MXvU+|F;GUyBdQfc#S?b4eRZ1a6cyARNsW zIyY28$8_7Bb);K7;~AE`Rg*Yr?m*?=a#`RT3`U=aOU|!SfG>$9!!At~*2PW7RMX{Fb zvDzbY=jMN?fI2NOs*|iX47D*=GJvD?nIqHYnTpEAs<|gKv<;HVE#pRk|FQ{}YkyiV zYaw2m@yl1n;++E>v8gf{HD`lvFU-&M1Q>_6^eu1h zZApMfh=F+NB0&n75tEMAuz$tRkQaag?b%mwO7qxpg4Pq3{W2mY6-!V_^39axy5gR^ z-4!l{tMf;5gDV~`Fw7A8Y>3x5`wTUrJKv)jD?@FjFF&G`Y^Zh(^ncHAH|b;3cT z@>ViDP6)UXBxTu>|LEi*-PGumkg~?XB9FTzHV(>7W&2nNb&-vR)`?voPCXT10LFN?e zMieX(7EYUzdCt{u-eXNd65$EuR4+sD=(?4(-h-0meSB6if*B?U$zvVcP6(TU$)Y!pEw8?!4opbVnO@GunbRx|mb*bBdpTwsuXWDG7 zm>zdg$co7wkKc9X1b^2+fE|ca-AQL1JM?Gd=JE#zC?@P}Dj3Lxt`;aD9}nVGLc8?t z6S}c==w#67l-cKn>f?|L zw3oJ+@{kLP!G9SvI>TiIe4GTvf8FR+rNy6~a$78aN|!1@?S&*`NDk9LLz5od_yy9r2kWamGHp~FXKxTi>7RZ}p|EOEBnTwz$S0Mo)Ov_(4a|e4C5iBL_ z)*0KbnV$QzI~P`3tZX9Rt%lrE@pml02%5sFGAj6BpMMzWaMdx@Wb1wBsAS7C>ARC{ z`x#K>^}zN0+wTVU$uM953WtNK3m@wX&7-Fg`$>5m?>Y7;x$pZt;VI>HjkDpoEs%G%CL^s3${Yd~?-EL&v(&@iWU`9qs`rH{{AT zgB5-R=zl0Rr=Rqi_fj3Hh(h1@jH*6+0`h$}Z~(Zl^Zo=+2He`;-aA<;|Ee{3oJTaq zUA`UTB&~D?Lw^nnYP)Wo2bs7K^-gy1_lZ#a{^1MCbe0Im2l6@bcfco`VD#ugd4ISvYl80gA9n0h+<5kE&^^9(LCh3t z47TxZaQ#=J99{pd8@UR_E38tIkEQST8J- zaOM6fE=nuF+@0-UxS>ay0Z0QMOi%|9eG~g6x=(|CAn>Df5IyM4TdGq#lA(y@KNW#w zjej#!;-VL-ysKIQOyh-0n}CqyTKT?&7&}zGXqBAN4~O2%>6rDoe+<@(x4pDxt1Bi+ z!h!+tm4m`4eT#3qi=B0QEfMvyrHB-KpM-*IX`Cl9Ipv7|oPz(q&o`w1$7gWC&3?Zl zzLXq4#D`tf$&{U6rL zgz;z&JA1XCuhJAPZHsDcBhp9RRe|r^t0!*HTVF5p z;Fi{uil(&FiOZF+<1IE{hO~CrJ9{?_4BsF=~A&?9_RCMeBG%*K^?g_cP&d zU8Z=lf1@l8e~G;tIKUrY*DGiT#ee-NaD=Wl$k$rI_ZIsXwD`NLWGy8C(#cOI;Dd!u4aJa5_1mXwNx$Zt)d zIB=M+lEr(*oSpIk-{z)XN_`xLpw10gas>Uyb z(J`mvQ)`Vm?BK!)PS)rbzx#fVk%&HfeV|Ybb(^*PGft+et;?DKDjRXLGzZv1?7!Os zFoKn>*Yp`9X4Vg{zDP&`YP20_`GTU=!y=1Xl_grm)?y*ZwGft06p~QFjx2IV?OoXPKIu9525VRveEBpf_#v zdGoygb@?+C39jE!XgoJBhmmLfF1ha&?hl|dzp!KTI1Ap{JfyLNiGSoFNi%6-jb__W zVsGQ9b15fl7_8R-j^W_Ee#ATrM1)4sVZIcFYVr_e+xTO~5>ppITNtRfz<)s}5~Bm; znLNb8nJsF)qEnTNCr&+aj8+B=m{Uey5kXPDWa5l!4AQLLn9L;8&EC^!!CtXtj&s-< zq^CC6<&x95Qt7kTIDZ_-mVSx}&y|5w@2@a}a z;MJbhh1i3auw&Y#A0_LN@8blHXVvUbYy>)6q&FR3Ny|{ju0br8<-qog6XFeUF!~u{ z&O|KQUs0?p_nGblK3z-9i-{8}BxW*p-^JG3Og`zdAup?ex8=+tr{fdSA8SS4)r-M4+-%3BJ$Y zEB?iADU2T|**BXj`tV{K%w-d?#Vn(YH&k)mmf3^Qqdz?xlLBCi>W`hk@`Bm|jt{Z> z@3hqLP@*yyVSgpt>4uhiV-=vrb&&7yod#{$j>{!Yl;w539>BgU^)6C)bH~|YFcT9$ z;;B`)Awk$aeh>kQhIf6|aAyjGERMDnARVrPRTK0Pe7YFc)9|H#*T_nxyPg+Bv`{1~ z>@pI$a6iEl&;pZfthuL$^(u3h5Y2UIbBxF?7)vjcmVeHx;c9Tkqrr;es&{4F0&=R- zyKql%2ll%41UV{yaL<;T8vN?2O>M;C)WK9B2zp#;GLc<*w3k?RN-ns^Jr{F-5!};y zsSLC;gS9ds7wm5MVp1s~tE1yhxf0?Q9W(M_Eq|1Bd~zh=SIlQN?D4LZ{zIW`SVQ0m z`+ks$D9ChwJa0yT~|603`aMYc?Ps**ACHxU>fDPm4fjf*CK$O^%0$x=fuZ>;I zX@4}8v%?|9o$2Pa1^eEd@h4tbXtc^q*6YSYX~OXye!t}XVX7p49Rut+y4@Aq5IBa^W)O>!*Lt5k|x`WUpqe!x5sscd4>jbGT^9STGE z7uB~jV7_oVq=u@0kdRY-5~3>JGzd;Tzkh6QLe_3v%JoTV!erzvjIJk=qK$+&O{co@3Tt#>VVY zjj8mCU*gS%hHa{c9tS!RR~xkOcYn74UhT^uN1y6v;+I#KT~OC~31C0!|1BO>%!Z;P z?v{FXl50Z)ejZ*=8lq_{=+A*y>h%HQUMQ8{BZ}mvY}n_S8NlQJg1=^ncUwG!x}~Sm znqK>Gx_lqmi80*P>(q{Jjet+b5W zvU+q#J6RH?kBOw5P+55lAQ4xY<{5t*jTGb1eUxuFSqfKM^V)3ETj5{av-(WQ$h>v0 zz6-+_YmTKEa#QL1XATea@`=99dvb`WFu+du7~m| zBZ^9;T!q7GJH73K?6qKAKNfYk?n>;7awEol3bruIWHo=DT`!+AAM%VG#)N+nK@@Gr zgm2-05Bvw(`vI?(pLJ+lx6}3z&%1bs)bs=%U5BZ5eL@~1OJcd(Q3p*C<&f};r&m{> zE`6OzmX_^N!Sxn)pxn)89d)T&T?KawxccSx<5FH# z2If>eL^A&+as~np9tEnaw4!LPW*r=S0WB8<)ILy$ZXPf>M?fxbY#EE8k@j!7hpd z(Um2a)lEHIQ7TRrnXAn&8lk(xQJjMr*&zNj~yw1G-X8p&G<5YiXoq%|yZbq9=I6uwuMZdvQCb<6+A0}i=_3kC~*4JDe__(Q3 zG4o;P2K0)iKO`&dTN$bPZ6n!)abgq*^hHC(huQ};M#WiN`Ji!37@-kEG(|9#P*>y! zQ4%=hX>$r-cNb2ENlHmXYbt9$s;{G?x}#cF&)E&Os$5Yptcriv#9XXOnNDc5BpZ3< z20y+=a-bE!!#|TWD*l6jB*j-EbV^C&h_pn-r6%b+31*?Mn^!al!79WQ{X++1x`N7? z*XAPqf5c!F!f=_ztkx=Af205oTpKN+kkjvIZxanp%m$J#(g3!_=!q-lBb9_eMF}lKirZfI`J|n1q{l#B zFkOEY0LTe4*m-smgI9IYpy~UN_OG(b0f9^Q5oYK|Zgh^GGlEEsX3a)U=`1f{V{e^w zg~>P_1F+-B=Rb?Pck|?I)tJ0WR*w1VZUpPr@GFX4kHH=Ww4}h!I!!yP zP0|}Y2jRmsTmvJIi&TbOx;*#GRS}k>-5j`=W&TqDESdE3Lu7ae z|F}2(Rs@`pP7XnVD(JV7^PkaKtvm#_BP*SaOGR9{#5GuhFA^mUkPa7kvA%9#!U%t; zL%vS;g&7t#0a@28HQ@1$u8CgDrG|SkYGd?$mU@gABtO}r zKJ*tkKteCP3Pcg>$40lVOO=C>YOsH%D%ch<1?OMeA{B;BXcE*0je-awIdtuKu}OuMEr17qf=?v2!6^20F&Z<+#VOQ;8o5C_4Hq z(}6XTuwJanhPy2+RdM8CVb}7j$e}{L@)NTCcPB5~ zObn9(z+tz{&T?MgA4{(A=w_w57Lm;^>}3lO_+7{l%K@mp1iNn%bVGl_nkM#FB3P`I zJr`xt6LKpTElRB(aq6R;b}#xFaY5=~u9V2+%}mF9_RI<@$|r0JxJy$8(VpH-8ebJ- zxvKgZYHN8raE1TH#qL8t0V#Q=U80LqFg|s%-IL85NJR4CJreujIzSBT*zAcEyDoUQ^`NP4#jUUd9uc-LEnB2IxrU~W+HQv zBDDM*Ooy4x82+P*UEeLlNpBS$Rg}CmD=PNy@whyh6!218e=dKhT5&67mVU@z@L8?B zO<6>IlrJh3cl?53%?ths``qU89!LyA zFFscKtqPAD7BgX(Z!Dbb?U(noKPijEXppzn@DZnfEA@DpJvxD8ymxkkAc7yN8f#F5 zmp+GCannrkLt=k72`$Ap5GyvBRK)kGbo<%2nt1;3?4f|4MHUFR*~G$*c-s@&&5pYn zjG}f9$6H_UpDPWDkz~o?;@>E;5tmPUMhIp-j3J9q0dGJ5N4MFCdtiKlg-z!?L||?! z^_-nV@`zr{tkqD_1aIT#663Jc{E!4Jnh1d2X8eZp9B_YT!>;D;jrwf+GNbJ|x#04- z+7lY0bR;p5QvpCXuLlDbYSK3!23Ym%?BeJ>{OJ%A&)NED``l*sW=C(ZvK`Dd-^yRT zvBS^^ycOdCOFqfj^9BIu9-Tiv-5{lP8{YG{EGJVeLwTQ0zHWDCvkpGoZUrV`=2)^_ zz|-BpF4TX8@-AA)U$w&of`m%Vh~RS?mvOlVY0c6R!`#!gp7HFSt*GJ`9W~g?8Ah;B z$o1$Jx%Rb-47C#V^Tzh-`ns(v)dq#bF-ch;X8@Rqfj- zMF5XAy<-81v06@}pP*`C70+?C^B7gv&@+b`znAbJe}pYVaJ#__W#W0=y^bN}uTT{$?@ z^?bgP`atS41HhskgOoj&vpl(g50p3gnOuLaM&oa)jzVlp!GuNsXfvU_9Imt-leAe{ zn!4CYRNO{xG5pMn%!*%d3&A(olk!tFPmg~`E^8`v6P-k>OkrNQIG`g#g!!616xNLA-)TaH)n z?l_k9O>TV0H<4ag{^0@xg+9%jjDjwohD{Jd3dD#nr}-L3_xOijn!k-A~+bw*M-`&vw4pLyn$P7X1>-h6B!`7PU046tpkD|13xn4UqvNA zUbrGLZizR`O-Zv&luZtt2PL$b3o1Bar^uFQ+}?$PysgKAnm;D77K&m0sMZ640=Kdw zIx+O!sRgRb@-*AXvZ5~ReVl(EyAAP2j0k5CLseKkuS1if@PKyZcL)X5kp-F@YuKZK zrt_&NgpFR>kTOAxY=a7TnNwCjfMvU_w9VkggS|VHq3`?Gf4W%V2=i*dpI*6r5x!@k z8S@AS^XugB3oV>>u_RzYQ4<0UU+N~RE&q=w=%{OnxVV4b{xGqY?5V6G>$E3kg-vEryzp z=fNVnC@N7fl2_qrG?2=x}R-b4GHQ! zz|xrDLOR$Oc&`%*@s{@%oAs$w|E^C-bHO1sc`Lstw3VF+V+g}B!b$7}Fn*X;wO{)a zj_Qh(*gKX2m^WhlWX(CTh%2qB&%W#?HaLHIFuf~TIXu?xC+dfo z4Gc=Y$6^T<&rnp(d{Ob8C=0F0iC{(P>!puJEpU^<*Q4alEu83N=Z#9D6BvU`J`iRQ;kdxuO_dQ5Z5o+!Qv(p*+%GPRj5Rd)x8tZ$)U5e6KK)3!ARYZSZ5wxyk14>XH|rH zVKU&&&`5%vybVzV19<<5K-@1zkbu3uk&c?EiVE=dE@nfx! z-e*e>q(^_WACuOMeku`wY=+*=<^z^~TABXva1GCZ$zM zHtzeYdu2XiY1p+bpA}g5HUOPF+m{nqejbnBop67F*;jBZAlfoQlaVCY_ug8?A~_x& z!G9k`|N31O0^Lg1UPsdE)v9q<7x)hzx_$+&k#4$zFS5YBjGwm$q(jTstmlJvJ6sLv zWU4V8t8t|?%w^ix?$i|8277WO&`m)+u+#~+4TSJamL*41)r8dEui{(_X(`yp;E@DP zQ*M8Z$Ko3u9xn<*RU1^Lnyaa{Py;AM_Z(+gUd)4K7jz6hM&D@FZ7p8E6yJ z^-1Syw@;N{x0oUIsQVp;4DHs@)tQ2LraFJ}lllEWXSc#z%Pky7W$kfcIyiCh<(kUU zfv*oDtO)Y_c9f=sJuMm7NIAR>R-*8h59K$jqa*xJIKqW7mvvxx(B9PO(lVy;S(8jt zWB%A8I74y|a+5vcK1aY@FLNQzItSCP{c&h)z*U?I@-dD74ap0fV~|ORMW&P3#?61p zUkgat;lS(!l^jP5S4q3jM9M;~+!E=Hj37p=Y{!?GaWqlB(&ke%x}V{CNYD54mN$#L zl(*n;uCxaR)GMdL*LKTy@Gje34#H79Ya&3Es%5m9Ls3J7#l3vXQl7%lsNnF^9P7-E zHm$risnilO#&N+IszgVEG=v?>0%?E3uqS|tb^RIka6b~GO38H#Egd@Yp%+J(3X=$9 z)#gruZRkH`!ExH+ETusDrrSB4s&PP-$&yaTTUvMh+GbAuDK6p zMvOG|6uVh%=)=~%C{BRSvD)M2D*Eq)J0W&s9T&02aejzA35rJ(_kJl3v!21LG$CBY zLFDpniI*0GSh2#Q{hi` zv|Z3$bakHj)0D)u{-MD&I&xq_ItvMOV}Iu43|_THxqmc-W-vITZkY_7%boiIx1w0v zIU|QJz}Vc?kCfDl;Do4uNGSiQtWBp{5*i>iK4K-=j|{`SPTzk7O~9(kdt;$#3TL=& z!+sds9!ssyAX719Zqz%q(}(t;;zz>8E(6*Bo3AYnJ+BZ9-ywyjf$ed}N87R9Mson8 z02bu-<^giEP^AT6$3uFsB?3l{ghVOjb|~-SId_FlGTCKZu~{8qfVp5mHG*Fe z5F&<$%@{sjRKjJ@t;Vw8LsX;*#f&o50=QAV5f%MwhK+QOG>bW_qY?67J+(pJ9W{_Q zE4XkUcq;dUZjESFN{W=eY8=vOCb|S-&`NhHNj7E!WT^u;P55xBs574Cxx(AzNbyrt zy<)r%mgj%t*3OhyN{oa}WxhBBDrbkyUkzyc>W?^Tf7Uoi0b?T*A)MuQ9A{P(wpD~m zj@16|VSaQdMOn<*4`rDoSvB1L$)9rtUI>rdyjecupa6z*ag3;udyvFh2Q*YxJ3DZJ zl$NXv=G`YAPpzWk=A!jhQOQBYblOUwtEF&D6k>m^Ip3akeme#035e}m?$$zQd-lHk zyfff*KGvWH4Z1evR4ff_B*pp;n@Ft+5(+k}TYTZyQlJwToIap-xB?}2I26`9M;m)O zZ78k=Xo2~$00}AbiT$cnGDKIr&J7hca_A`H)w966=(>90!R4J1e>;= zE8dPzs)ZGx&+Ozi`*s;&#l=jYaTLbpKvGKwp)Eo#sg&I`&B6p^yU2UlYtnF^;1W33 zjpmnR$gNe+jE%O+!dhZxCWjy!3$YP6v{!%ULTiZl4t{Fh(V|+G9VI6}5Ag%1_dfG? zKIIvpZ^FZz4HH8~y^qSpbG_N=GOp|!q^&s;YoTQ7 zckMT2@;69#;AU6~n|oDiZ?r$l;$?H`_mHnF;kk9zMU z`Vdo%&g@GF-0#HRAV#zio$`M;8N+|6X31LU*Q|pUq`Ou8=Cu1VAXMxe;d|oNOMI%9 zGMDDnuLMT1gB4OdjskTN9EV7z-wKbH5bO%jSLX{dFKi=R(Fq3zW0e%j!aBjwQ*}R- zs$(rlv2norHQ}1qU8u7{VrHvQZcyGe_^n^vYfk9dH$ik)qAEPZrOIeK))oO3=5M1lLmQLJMpCB0@hyL@VbE%S{Vf2!6{Ft&fj+BV00 zEToQIv2)dKfBG)SW#Efn$#RKj1Seri+}~?N8N+mmz%+WSVPHT4=PM|6%_o#5{BJZp zgl0D%E_KH298q@T$B2IzIDO&)JqC#+<6p)UUg(Oh$8A>EHPQ{7?yvfAJ|u`o;cLO- zCNkB(x4SRiyGzlNp5MYil71pRoMEX1Eb?JR+u79~uB}oYmEt-g_w`_!T1bWL4;{2e zDskndA#4#df3LPA9;xs^cBiZ(89A^%3AN){2WSm}ncQ#6Z@GUNUj#=0$+qH5e_vQUQf zS0q?W&BS>rQ^{%z6KxhWw!;JGmb&2GToAU#KGygc8TcXuZ!IL1CB%Ykqs6g+qw*xo z)+8KP4$}F0NY{S{Yd^)Y%nw#=z?0Zr$Zgx>W+=2}Cy2|p+1hB`JsaJmFI*Dq(uWj{ zpxo>R1kLM{8}}C`+5{I*C@a|hwtn-;-$s*M)A+Ry2i zq2tCyPN%jWOgga4407h~Afu(@6tX8x+0w&eox^HxERTOqrXaQ*iUz%3q58BoV^Gwq z5vyo}m;hD``VHDr<=5B@7i`s!051g`Bax-xNWtQeJzGvgy5_kqZ+N@GFgB(M`^CsjiY{OSuM(%C* z1qDSX0;PZQ6A&T|cwBuPdW7%~zvYqw8DBPoBWV&NRh9DY9I37Km!S?@v?|ZQ1??8} z5Pmf`d+5g+T>`GS^7ojIw*#4IA@5{gAuP!Jqw9f_3wH^;N`B(0pgYJH&A+&3P#FS> z^Fn0mp_K;%qE+Sp-)HoE(&DFD*eV<@(d@rEze;}y2mZk?pCuG=1G2;8EjUYwQb_7j z%^oHyL@@B~9$G->1~L_vk-CsWL7;rKO1dF_g6k_rq2g-bj^|32rK~7V$BX@gwgHGF z$y}ay3A1tD1=W6!xIb|6r9WADRbxN*w;qu5%EAW=pyF^V_3igCi#|8}LSagA$wdG@ z(_?>nJDumTjG2oz!g^vXt*=U*V5(t%UyEK6+W`o-Zwo?2R6_A#3dZCima&EpS|VOX z<6`Yry~DNC_rC-=>k1o62ZexE`j)7s*!+yuuPwq>Wl=2`=}^C5{e==Spb8DLef6{7 z-SuFWyPKNLc?jU_P+wD5QnU2GBiBAsE1Z8a4#XCW=>avZ2?SP%<_v@S+pChHjRYCi zN$GqH`qA}u$mM{8`>>pAfkdl-sIO}}|MEk$S4ioe+IcG35uBnPBSID=#8fbMiWZU^ z9Q6`BeOAu9^G8Zu1LWU!IPD&;~c^%wK=u>Vt=9Ki1s~EKHg2^zU#GFnxedR?L*aV-l&Y z*y?%ulpjT~Lyo0A2ic-okvh-+F?sYlN8hdUy-riTQ-<>P>6NW+6#EVKhw%J{4CAL`=R7Gj?Su{7#_Pl0Q zzD9(P!i21LErS^iPM^6e|C;$DfB8q3U;CESqt}+N@p#;{pWUY!^~g1l;WGhw@&I1; z651l}-y{x(X8f-)^iF@$TS@wG9-r+$j!M`Wk`V*)w1N!VWB)3~ZKyQi?!|-8;XZjq zC7lxn)ePsFXp4n>v6R8{La&`*MQb@dws@zXa+{@fl5yVF`C3gz+f{UzKmC_D<9GxsW(2Mtf?Pg z4?k-KQ-AIkjv;^eMM&Z(|G!@_ZHBviZ>r*QYrDf9iU{69XIhG<=cWz}gyB0;2Jwy* zgQn&DpCM=9>JfgF5ui0cY)WQyx!O(in=hdohzl*e51c0!hnmR9Zf~~GkKM7tUugzWs`F&Wx*Ql@LWk<4v#+enq=nNemN5!Ml$YUn z!~+1J!oZQ|J|lYvTL?B*0{Z!iWhGb*l1;|Jvo$z4RE?i`KI!*N;wr?HNsGz1c2pG^ zwt3-~$0L7yL2yu3i}Hk190(8iT@(&f?jgx>2m%&)C5GqzWVTcfXjbGy_8GC4J+*Sk zcJvr+ntkowJ7MC2P#ejZk0ox|R+{@0Pz*Na zHnOCS^B-$+L&la~sIWn*8J8_HtuagTMce+|=EQ&7TVb|!b+_JCw7aLj`6AC(r|wC1 z(vptxg$NoD^z{F=ZK62=gx*36m4vR8zCR6_RnMq`pj~suq9L4@uyR>RCW!KsZr?8$bM7MK zJWC@$P=K5SMT>}{nt|Fhz=dlXx96tbx>0{pj}T7j!&CWz*=;MQ7~m{T7X6cn5mYfs z^>L+3{cyy&v;s&XQ@akpU5$kr=oqu(@N06@k3lJn_6`7(QE3SBcIv44G+awVQnZ}r zpq?!VS%HifVO-EVFu&u+CjbxcHoD4sp<1MZZ8m>^LsQ0a6vEtdC>sNHVnZTElw zhX^kAQl5sRbyKhY_CiOt^&LAvB>Z0Lt%0l9a$7+g(Fh1X!Zq-QCyOW|7lanuImm%j zWMiyad^IN{9X2F;rDNI`%IR>4q@8GT-8`kHl}F9agZ~s=d@W;ee<;o0 ze=uxh@o{!AQn9r9;mcs9Z04iyu`0H;y(ICid}Q@)1M z3njDERT1QqWUuV^-*kv(x|~^j2bLAyC+prv$vfkUI@(p#po@=kl3S5N+SP z!KL;S>x+MHZwv}gF0TiWaG!^MPDifo>=YCyQJTYH29iZyem>(HBf>XM0#k{L-Y*V~ z4ozFcR@ykWC&a|~C_L`QJp(&)lchm^06k>G%%{p>a0=N`fl6cP2=jmBAef41N_Tmz zCSMk|hg3wnw9rAe{a7LT>Mz7YEpOT{f^@)fMQ~01HY}JhG-jq48p=bv11V{99eHo! zDz~KW19$ax--ay)fa=1d({wTfyM!Op8!Gr~@&cg%Hy(ZW6C2cyG0>}n zVVTBiVn>*`_DxLD>aO=&x#%=5MR*Ty)RV~iD)Qm8Ve9P3uK~q%*RhyGGp!flbUQw4 zbm*34K!c&!MipN+z;o7TM;> z{^{Lb z9se2z`4$IXQe!B+<~DSDTN-#t@}Gh8NK?S;?tUR*ps_gU9PO$5mihBs z!m=5^5&Ow1Ht6Rr{x221KkjSkSP@Ve&0!Ws^7o`Ho4$V|Vu&fr@*K1HS>!Skr4iI; zH;SSe=HQcha$)Y~Qq>@})fT6q3Nw4zN!%&g>FJK7OlNCoz&%p8CkUuaPQ`Vj< zUBma%M_LNa+DJDbA~^nB)F9rV>P8*Roeo?rIed~K_)_lP_ezqyQgX;jJ6g)Va(V8! z$q3<{J{^AqN@b+*Jl$of!uKtN(U7Sop96$AFsAcX;7v@N4l8&>^u7?7#ekP) z@b*E)CJ;e)Hi)o4C3qJ)5!}A|a=yg5mg(jkFI*L)y8e z3XiIfP2^3-b>PD)4#mTCQSp|B3&V%*HO4Is-;Pl$k>fLH z-fPMnW3TgXxxz3qBWfNq;xVEuawlmW$oidZ-Z4IfHAdS{dX7aHF-ij?n_t`%u`Z}Z zSZ05*nS=ww4+$Em_ z21(y9EV$n2W3?3s84$L8;61;&x293JTH6Nl((_Vz!G^#Ck~T}Zj46XZ z{m4zU^K;le;o>yVWATU`-6hH7)%|}NPd6b0Ad?QLBP&nmDU~BVF2GFz8K-`fh0PQ% zk8MCREq(mwFPFG|c1eW>{_J;Gwu9pp6|Nh!josCuu!Mk*ImfIub@sn2?$CRN1TQ@i zyEO%F$F=A!c6AKfO#IZg)xbVTl}VKf#`9u9r}nhlatI871utNW3yN^jh9G~~$U5S@ zLIw1Tz6bRd;tpWHfXZIpNEU@~sgXAs(J??YMHKKjmXwIDUI7~~u`3<_h2W?bj~u{; zrz_X{*LzWj=c!r#XK|?#4WUHjV~l&X@TN7cB}QFX#Zne1yH!7X?eDQ*<}_OZW8qdG zpYh#u)@HLe#!fw5Px?<*X3l>`{Q15qoOrL?fQzW^6<*B98y(dwzho7J0a!kQr|?ue zqdbe^CcBd-(mCU@QHtE`--B*;AQxnL@oGrygqVsyoT*we&Y{$=XeSPQPb6v);YA!+ z@Hi(b-Dm=n{LHDK+rp9jzM*u?*y0zW4?di{@=6%i7jEy`$9M2w+s%Ik4O+6PnLtkH z-d&&zvB6}_q4TLEY(1x47O;aRil5mTHx^SYUOA4PZZf&IsQ)Jt;3a5^<}_S-19_%rmClh2vQ4Pc|UO<^HG?eCJy>G|3u}Zvp%JVftc+b7MN8REw@7bI2WuRkfi@j!@nC=ciL}3OXZ*&#>vD04u4BE;_S7{Nb%A14*Q z*$8Z^ZJ!3Ey|Dnh`3PW_IqS*VMqhon7jW`rtt=|UGM;}}5DegjxK|3c*VFf@sO`T> zdeptfREWb_$CYO(XH)pt<*3EwZ6>zM2KvKf_$ri9jmZST+NekjtQM03?YCr2LP4X}E zFib5qM0M2LF@^kn#m2}ax=EK)r2BmCg=iTL8 z(UF8dsNS~&MxyASCx+L956x$IoxvHTe}@Vhw%nMW0A}uB^9?=7EJ${V1*29k%X@B( z;d`9lQ7gNPa}rj(z*q+FYkX>&9j8se*-2B2A(?;msJ7ue*Qq<(znp%JHa(LRycNcR zkJ_#a@o|XJj9>`4+$FBDj*}#u>clUpo{HfY(%{Q(VH5#E+pB}4B*efW0@iU9@}*|S z^!7%Q684^JB?h=RYi&FBoj=7$lTNZAA!IG+McO<4E@3h9vM10jOn?<21RjwdRL8`J z2$X-ThYt@ttq%f|Ye5ceN_&%34D8(L@-afuWfVSv|UQBAE~38 z><(iuZVQmUmwSu_BCe>x!~zLBCc%GRyN@bn;bmTN0l>GCUdz8d#SaK!4Tu2hS?m!D z>>d_jXa_RRV{Iy9&t7kD5>oymaiBGWGJ+c}uq)B1g?VJCDI7YvCRtl2#V|Uw?U~SU zX@m?&3w3Fn+F~LC0kgxp5G=KJNdBn>DPJenpqO%m$X>L~h(28hgtcN1=AwTR{Y>x2 zg<(OnfDS1B8i0elmKU5v-Gk_|>0RBKlT^YNX& z9J$8~S7Zjh8!K)8DXFwRq8;X#wm!L`xTW^~{BMN&nHMU8J$DT5!NYMoAPp37sSS2b z7zG$Wajrg4%~&bUiUo4cxGaBRi~GCVX_OF>C_0l_=Rl&}y?v?Okr0}3BIY( zkIh>!x|r?DFF9I$-SN($vu~(vp}EW9TeqA2K*e7+S(L~z6h6@$eN2f4J8cEMq4c!A3N{V83j_=TtkkjsLJ*e=DTw=#_8$6%Z$u9}fhe18UN3-7pW$jw80vkF!1 z*?Ctz1sL_ZaraZhC;BEyQ1-JWfYT1&5{C~LN)X-L0~|agp+d`UU&&a7l_VCY&3`%5 zs!LDnSO*qZFod*b11oZtW%fDJ z(Db%TU6c?6)y&HETdwZy=mL^WtyX9ab!{1+NeVP9P9bwq=w$v3NlOd*pn$2TG8JQS z6XXJn-{wwK$8TwD1*yp_MG>BJlfZ!_=+TV_`b zcE-1k4)5KHgo;9q(3Ho(+U(wZYkJNvV?D=DM0OzIzQTA2)6095=t+q+Rj?>V&oqT_#l=7EJ#Vs!Kl|#u5^HxGigK(~7gbuxVlpYHYK(91qtF{&>3v@VkIci6$nKc@-G^gOmzcR1B z8PF&*u*>5_V*gEPldcetR)<(r(}*4uz`-ni*fn-17}YYqCyI^bp#bM3dA9zdD}QOrucoI{ahrY)`8(5GZc8zEx9Hh zlOQD}qJMvod)*1@+#%1?0$7MS#z)&C`1ZMp;uSeGbs^TO5G6fhvhy}>7ud|-FHIAD zGdFvF#C_oqF&g3ztUUXW+U?kys`IRfxkT^KGv1o1h5h z!i9%qd*vdF*nY)7yg^{(i10=_*H&5sixtOynxlVWCKbMTRY?>76;Q%9Z7xeAeZ)m$ z>qVR~6q_7=gVTuCd>DB*Z+KK@pxtIXycWa%V5R#c!D*%O5{|G&y6D_M#4W~r#~o7G z{oZb--T*L8y9MT%YO_!{8-Iak;u~B2%%qv{-$yVNUnZG(Gak`rfGsuenug*n7n&zX zbg6%(t&e}3b9T@Z$^*_?%eY1=B;s|oZ9mRpG=uuS0S^dLh>KZ-;bW`(7W1Zk0xGa4 zAo7Jg4sx)Hz)yytUOVBUSfZ6q#_grDIf3Hz-;LK~#OrD<)9g;|2h!!+!}!&Nuq=P- z^07mCd3b~2luEE!8Lx8S*}x!ctMsL%EMzptqo0wS)+cE;#Bf&X?I-SF)rrlIwUHGX zK49Rd5s{ck8J6L_{BbC-b>l#&xKUQc!i~-#V-fahT!1%F1E^q^@5ANVaDQRBWD1f_ zrLOVNs#(K*i@P}Xo1;R@ok-EJ5;K4Qc=yW~Vy)NWwDY2dTEC5{7Rl6kiY4eH%j#LT zBIiRk;~2e5zr69=?i8&m5Vp+0BJNap{KrQZ3Xx=3;(j{Lqa1Wh+_nx=%Z-_X?e6Dd*b#gSRD<1P;qYg>$H1g$qs)Ey)b*D5;lzVrSo#I6=rVcP`q2-+Y;@@56ibEe;{9!f!K+4pC-HGVW)Eh`jx}8 zNo1Wm4zqqHQjsw#iINoO=1_HUCBVw-J9QS+?|NEjXW6+I9yrX2sINp+14qyaut=3^XQU_1+o@ zBo8r5%IsXWyNY5vbg&=_B*t}PD^5sv63BCN6MH#i(Ne$S7%B#-x zVU?tW2C`v2&EtZkjed$cy_~ z#}O{pYx|3Q$(*Gq$pv!&N`qFWC-+2~Za{a`$@SwSZ6BN9LkJ77tjuQzP{TSWEHa(f z?uL&bOuNPaf%Ww_WRrpnmTg)S5UzpH<++w;?^%kqSR8o?tFufR(Jf`9PvH6vft}L9o4oU|D60(N z?j@ai8^ay5!FdmCu1EU!?kN+eBFCzr^)bi(dApE@da1Pl1o_U-ub5lHyzQyQC;NF^ zPhALU1IO0Nb_nDym6t&RmM9Bml0jz-EIuI*{V{&zVRe5-g1s|iG#adnHGJ}%{p+=x z%httbXX5%SFBHJA{!c69z;+=|Z6rWgZ8*;?3TP5-Dle!O)GQOKA+WxW=pOi$I|tMLJ*k3eVj(?qo9TNoJMZ(^MQvljNKZPh1dhQlJl*1;s(rMs)IM`}YNe``ri&`%iU2m=EN z%z49qB^+nyLX?j+7f4o1D9SPQ+~0PXEJB3@U;(}DD-Uu~KJz;El?}k(j01PxW*m36 zhmct&A!yHz2U||abzETh09!ib9xkLObI_88UP$NY1D^A(yK*wrVBEFg1=s9-+4!A9t3Q`gBu!nfCJwWzgMH5RVRHZI!TCg~vsR)@)$h>wu*hQQQa2{mS zI51>8^)2lhx^qGRJD2dBExOcr6+cFQQ4(Zal$S>&mw?razk0D^8g}AA1AEBlk4Sbd zI!PeLl(MxNqKX@-d;getX>zBuK1z3VLg5*TebTNQ3EWACW<1F9q_yO}QAmN5wyuRCCDoj=nt9xd)3b0f|5}wweMrxtkYTk?qfSALhu#7&^F<#2 z1?fwfGb7VRQbBTr^CFD)c902gRTd?5_oHXNaHH1ofaXJZb}-xICKkbeKfiNoDd-fm zbB1euY_EmM1go{*%WbXYe_)UXzHi3Gk+hEZ0epW__c}u0qkKrB?~a<@=2w1#rmJ?y zTD#`Yr~VYD?Eu_;B9i*y`;Us7)OBX`_-NB=w}F5dzp-P1%nuxa%+;RHKm!I?-+zI;rs08_caaNmgI}wK+82a+) z^(!aoym@3O4z)vlV)=@&2tnpR1I3&DNQpV`PqT?1AqeDz6TrST%;A4JY{Cn2&9e;t&R=~a2adPh%AZ8wNEN!jVm^|t9$S26PR zzT;apMs689LtZCluJI?dEBo0kCk0=tFaEnTNjm){d&Rr_EsyxH@M>3e_VNBhGDhgB)gqwD%~_% z<#n5((ccQn8iw<{ZvWq1sbVxveE&&7qvKV4izQ_yI+S(UiIttY#HsUxP;YZ*AvjUW zv8@kR67*hwiAIKw7|30p8WJnj8QZ9A3~9H+gtGJc9VtaJC4fWO+CxP6J0eqaqV(dO zMMicUy3p9}G)J$*TBYZ=1&1WLaZbgZsyi5qEkFXf`izUz!Rw6HS7@DSyHj2zk7M{&E~h!@;v+QJ^a9tENR z^bhd@Yj>VA$OyYkO|a)HQP|1CeoUP6kpC9A1z!)v&AYvm{qxkB%c3d6_NPQ1<*43B zG2vhk`P|CzWI#1Crs_r5E4k*X3Mu}qJ6Mu4j?ob^u-Fu4oHvBv^~}5xuiBq_VJs=t z_=BW>J1eB1N9el87~xD$yt$*cJzz-$RI+U z#Z_B3;Z#6^{5o(Tns^L?5hW`w&ca2m!47DeVFg<;EGxX3G*XI~Zk(QghL_JGLhR5U zEu>riVK>md0jS#~$~jY(lBYUuKnlJ_ajjPdagxgo}Qq4M%IJe(rB zsyYX7GFR7(Hp?GATIHA1^F)ccxYla^RllaTGf>$V)W&^fMA>gnls;O^qPV;@6Lkmk zJZiHa&&Mli${pvHND<30vd?vYc?~%mPTHD6Jwxcd^R3YA5H_F%8zH`5c}1JuMy=^is3Ejqr{}H4W`3(a*Z{rNXAzmVIP+mh~HF4x4rOrz5a-D0+j!EZQ$P zGjTMaBVX^io^M3Tvnw98;5cQ1KyE94Zbl5qvI715CKvCb`}A!sjndykGYlp;&CLEf zvX`xs=VT~~Wu(l(-JnEKpG1FNlcv638$9l4P%hHS`|l}xkzi+CBHdm(e`?IeFxt8pcmWEZH^dS^xk5 delta 28865 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[i].StartingOffset.QuadPart; SelectedDrive.PartitionSize[i] = DriveLayout->PartitionEntry[i].PartitionLength.QuadPart; } - // NB: MinGW's gcc 4.9.2 broke "%lld" printout on XP so we use the inttypes.h "PRI##" qualifiers - suprintf(" Type: %s (0x%02x)\r\n Size: %s (%" PRIi64 " bytes)\r\n Start Sector: %" PRIi64 ", Boot: %s", + suprintf(" Type: %s (0x%02x)\r\n Size: %s (%lld bytes)\r\n Start Sector: %lld, Boot: %s", ((part_type == 0x07 || super_floppy_disk) && (FileSystemName[0] != 0)) ? FileSystemName : GetMBRPartitionType(part_type), super_floppy_disk ? 0: part_type, SizeToHumanReadable(DriveLayout->PartitionEntry[i].PartitionLength.QuadPart, TRUE, FALSE), @@ -2041,6 +2040,9 @@ BOOL CreatePartition(HANDLE hDrive, int partition_style, int file_system, BOOL m ClusterSize = 0x200; DriveLayoutEx.PartitionEntry[pn].StartingOffset.QuadPart = ((bytes_per_track + (ClusterSize - 1)) / ClusterSize) * ClusterSize; + // GRUB2 no longer fits in the usual 31½ KB that the above computation provides + // so just unconditionally double that size and get on with it. + DriveLayoutEx.PartitionEntry[pn].StartingOffset.QuadPart *= 2; } // Having the ESP up front may help (and is the Microsoft recommended way) but this diff --git a/src/format.c b/src/format.c index 16d76b44..a0b6ed65 100644 --- a/src/format.c +++ b/src/format.c @@ -961,8 +961,7 @@ static BOOL WriteSBR(HANDLE hPhysicalDrive) } // Ensure that we have sufficient space for the SBR - max_size = IsChecked(IDC_OLD_BIOS_FIXES) ? - (DWORD)(SelectedDrive.SectorsPerTrack * SelectedDrive.SectorSize) : 1 * MB; + max_size = (DWORD)SelectedDrive.PartitionOffset[0]; if (br_size + size > max_size) { uprintf(" SBR size is too large - You may need to uncheck 'Add fixes for old BIOSes'."); if (sub_type == BT_MAX) @@ -1060,6 +1059,10 @@ BOOL WritePBR(HANDLE hLogicalVolume) // and also go through a forced remount, so that shouldn't be an issue. // But with NTFS, if you don't remount, you don't boot! return TRUE; + case FS_EXT2: + case FS_EXT3: + case FS_EXT4: + return TRUE; default: uprintf("Unsupported FS for FS BR processing - aborting\n"); break; diff --git a/src/rufus.c b/src/rufus.c index a46c4a9d..79eb7ed2 100755 --- a/src/rufus.c +++ b/src/rufus.c @@ -188,13 +188,17 @@ static void SetAllowedFileSystems(void) } } break; + case BT_GRUB2: + allowed_filesystem[FS_EXT2] = TRUE; + allowed_filesystem[FS_EXT3] = TRUE; + allowed_filesystem[FS_EXT4] = TRUE; + // Fall through case BT_SYSLINUX_V6: case BT_GRUB4DOS: allowed_filesystem[FS_NTFS] = TRUE; // Fall through case BT_SYSLINUX_V4: case BT_REACTOS: - case BT_GRUB2: allowed_filesystem[FS_FAT16] = TRUE; allowed_filesystem[FS_FAT32] = TRUE; break; diff --git a/src/rufus.rc b/src/rufus.rc index 71c7bbea..10196c34 100644 --- a/src/rufus.rc +++ b/src/rufus.rc @@ -33,7 +33,7 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL IDD_DIALOG DIALOGEX 12, 12, 232, 326 STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU EXSTYLE WS_EX_ACCEPTFILES -CAPTION "Rufus 3.15.1803" +CAPTION "Rufus 3.15.1804" FONT 9, "Segoe UI Symbol", 400, 0, 0x0 BEGIN LTEXT "Drive Properties",IDS_DRIVE_PROPERTIES_TXT,8,6,53,12,NOT WS_GROUP @@ -395,8 +395,8 @@ END // VS_VERSION_INFO VERSIONINFO - FILEVERSION 3,15,1803,0 - PRODUCTVERSION 3,15,1803,0 + FILEVERSION 3,15,1804,0 + PRODUCTVERSION 3,15,1804,0 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L @@ -414,13 +414,13 @@ BEGIN VALUE "Comments", "https://rufus.ie" VALUE "CompanyName", "Akeo Consulting" VALUE "FileDescription", "Rufus" - VALUE "FileVersion", "3.15.1803" + VALUE "FileVersion", "3.15.1804" VALUE "InternalName", "Rufus" VALUE "LegalCopyright", "© 2011-2021 Pete Batard (GPL v3)" VALUE "LegalTrademarks", "https://www.gnu.org/licenses/gpl-3.0.html" VALUE "OriginalFilename", "rufus-3.15.exe" VALUE "ProductName", "Rufus" - VALUE "ProductVersion", "3.15.1803" + VALUE "ProductVersion", "3.15.1804" END END BLOCK "VarFileInfo"