From 9e2644c2937456a22ca0403a94563322b1b7868a Mon Sep 17 00:00:00 2001 From: Fabio Belavenuto Date: Thu, 8 Dec 2022 11:16:18 -0300 Subject: [PATCH] Adding support to boot kernel v5.x --- ...age_template.gz => bzImage-template-v4.gz} | Bin .../overlayfs/opt/arpl/bzImage-template-v5.gz | Bin 0 -> 45564 bytes files/board/arpl/overlayfs/opt/arpl/menu.sh | 6 +- .../overlayfs/opt/arpl/vmlinux-to-bzImage.sh | 61 ++++++++++++------ 4 files changed, 43 insertions(+), 24 deletions(-) rename files/board/arpl/overlayfs/opt/arpl/{zImage_template.gz => bzImage-template-v4.gz} (100%) create mode 100644 files/board/arpl/overlayfs/opt/arpl/bzImage-template-v5.gz diff --git a/files/board/arpl/overlayfs/opt/arpl/zImage_template.gz b/files/board/arpl/overlayfs/opt/arpl/bzImage-template-v4.gz similarity index 100% rename from files/board/arpl/overlayfs/opt/arpl/zImage_template.gz rename to files/board/arpl/overlayfs/opt/arpl/bzImage-template-v4.gz diff --git a/files/board/arpl/overlayfs/opt/arpl/bzImage-template-v5.gz b/files/board/arpl/overlayfs/opt/arpl/bzImage-template-v5.gz new file mode 100644 index 0000000000000000000000000000000000000000..bfb0c0a6be7decf2e26729444b09f6698cf187b2 GIT binary patch literal 45564 zcmeF(Q+FNC*8t$ANyEmC(Z;rIH&(;b*v^U3G`4YK+qP}nPELGczQ6yMc&|EFb2YQ( znTwgV_g?#ZI6OSgS*+0~XhRPf8v`>F2Ify^X`XIs3mp$jKPfd~U1HF>RhGAvL>MV? z4L|!)lE?J?l@t-LUywFMo{71ltZS*K#-vgXLOZpv+G1V`@46Zmrd}5AP1`vq zyYvJ+@yY}WzGIA5htre1K0JQ`R8>A$1xAT?8ej^A%PTdpdvu`+oiUc^mV+FrUW!yT zRUAe%7oRiC4~Hcg*EqfMLizz(S4#NZmmh|E-9Ma^Zg=jBjw{=ynHpol^p+iev@y7i zC$FZrZR@TpwQU_0%K=x))&lZIGkt#8pZ!Ij^CGEj5VNcz1QXQN_PiICXFB-|Zgc@U z*Kw~?hpk5eKjw5Oy%$zZgy;YXIpsZ~!-HZhw|KlFciwoNDOfl)FNVIDHNkqvL8_c_U)A1*=0#YSX~bNk(0bd7x)TYj7|CpU+uFMC zCP+5rAKE0xZoOIEesWTl@k^vrF%M}`dvT3Y5@Tv5pVBAvJeXuN-1j53G8xQ?;Jxmu zaf>isdAr}2T%nK5u2XeM#nDsZwX3Y*sm|@n#XYg!{=mW!l&LwtZqhuK6}u}{v2(AP zD!x6g?WJbQ(Ml#ahBQ)Hi*nY)jjVa?MZE~ojD+GkIQpUE5a0iuz>y+B4H9ziv2|8) zRaN)vK(Fi7cvaoc&&5eAq_Oz<466D2yCb8o_wxah0|SXNoF4dG=R&vykI>ajKudI`7z_y#^*z z*Cbwxu;tZA1q~MaEfYn8>;_)#v^*!dF5_zZTY-P)yCdw1?ie1Rur;g_^1R4 z<{CC#3h9%IUEXZO?xBuO6L{h5RAZ}`fLOdn67C=LT*cLJ?xH6)Zive=5cKhWI+WaO z<-vAP_AZG4r`FoHceysQ(3UGp28Ult&FTe>fwRcG>SRpDoxiXypC{gx*=&{@ zpPyitbgYv)_03URp66GGt47?7o&_=v8P#mc_en?J^op4<(-Rmqf6P8y!#56#Y7y;d zRV;W&Pj|yEneWKmTtuN8z>P8bdzRcGl-{8ZU#g(m`}>kJy7p(VKKgy_WQ5L=OxqkD z7?B~dtn`<>XMXtnFd%5@K1vRvg7)UzvVX3BVYNbe#IDH)vATtp-q;eWIxXXlldL$x zF#&dJ680&1guq1SCoYz|2B7aQD%0?`lpNd495W}ZJ_J#9&LB(eO{Vi%&%d63FSkmP z5|1vC2_t!4*5J%>X%a>);|mx#dn0_5B|hGvRspQxZ%;9-L;_?$R)-2URt?eka7s<^NZqcPEO3FDv|=YBa5sySa6E`4 ztWz$i>vQ)#Qzw@k_Jj-aO>PN+{Y!JZK>02@#tr@!<&-AcP z+a^Ehf1r}~9>)rJy5(Ilgivx)0u(Hd6NVYR@`{&k&gmb!%0@qosJ$8E$NFgIC*%%B zlhuyv#43W$gcy!Sx+V0=yxB>Q#<~j(v@7yy((*O@S31x+)cg93sgqn7G*qn=ZVB^W zN1)jslW&`JVIRhBHB`3DPS!eZLGMB3HsOaB4^vNCloO%sX&l?G=TR?Og%fQL2kqw~LIaJyINa$B`SjiYFT&_75E~1s*?SL5npyf^`rpTBuGu zJ;B}thX__XMZ5&5NZ?jEU6KuqT*!_rysugaMr9Rs{NTjdmP`fvQhV4+=!5sE|N)#l4Y|dDLqg`yXQw?WEDL7Kj3YWyl z`=%q-15N?e`+DWkstBF^GycA&*_5C6VRUn<7jzuXtr;mTq;|@FEV`V?IE~mgtsn7` z+Nod9JEaNkye8!m@sReHuB%J4*NK$}J$UK)AiK$MWiqYe0E?5yB%a>Stl@At>ASvK1kj;X;Ww_kQY|MFw&6h+r z)@F@m3UVU(cTg?A!=K${8G_FvRmAKbIr_2F4bOvdasja$Z+e9SJbjXP z*4YLgzlw5VCaBb=`1^?5n5w?&s9M*`Fq}^u@zA>I2l=r6s(9n%IZZDY^bw?dKCk}j zMR;^)hnvAX@Jo`(-bWf3M2*CljmCrDUVU>Ff?G& zP@GTlX=%%euTte#L~DeaAHbO$W2?IpXeuD`f_;+x8yihOU{qN!T71P$l5rzq93-|BkW2- zwo0VNKm<#?d4mv^MiY!S#&ZE`#hx4IiaH_3?}Vi+jsaXsCpdELpP{{wV;%Lcc<)pR z4boxc{@*jNY-#NWl*SF$5KbF9_-FU=hZpk@+Raqbe_A)F#cC{Mven*KPmOpF-1tIB zA4V7-J_Q;9k8_^B-P;~nq4FzC{7k@a%6aec!ya3RMk^;PNKX~T4|T|2EUf^OhrE* zE!PfsEQVz@_kYpH&<~XxNvb)M89Qqn|60q@GR@p(bd_6 z-EgX?k8U~kq?J@}5l*UHNL&A$Ct|^bnWU~5D*!$dtEa4$`qX!YYvg~{lzsm@5C}cW zLGjCNu(n{mHs@Fam`p~Hl;ZlO)&S(5Oh<6hr5^OIrz(hys_xwItB{s2{kM8yaKaLZ zbeuQ*20K<@S|H0%p6vx6YV)iSW?1<}r1nAA&nk2xT!xK&S^5ACgj=T|yDNV_tL_uv}Wr-`xlGS2jS!3$wvYeg= zOxJij5x#^q0yRU6Dy4^UY#u8qT(Jo|o_rUFd}%D^5MtC9|TujPPYp6~J_GyJ3dIdhNqpQa{n}cHDgfAc;BkLN zxt(TWTLB)aIm0`T3*VnCIWugb&eR0n2-BFe!XX#@(Esd>K$uTxt8P$PBHIa;KOzC) zjK|+!{eW0~t~d)H=ZzrIeYvY2sixmqvHVL*_4lS|npcwaG1pd-c&bZeGk=InIe6Cc zm=FsnYO1`;(MFRP?>MP_d?UasE%Br#S(VN|AR+(Vay_5(YR++%xE7vR?)Ji^|9Jmv z)^_!3JXpq+tbLC@E}n5#L1k{2ESWo~9SfUJ>(Mr9G)p+s4!N4pRjhxi7IU%PjvnekTYcCC}sCAbW-&m*n0Z>ok zCEj{YH_+%jV~eI#>D*|EWlwUia%?f>(IbE>$#Re<8Qqh_~=q|7b9k2{U1;CF@G2&G(+?&Ev+~yUY-FS)#_z%9NEb`J%#_SvJ`OTQ*!R*kDnw-EWEpVU3#}V+18S@#;dmMeDg-klPnI^IUjYU zjQ8l&zvUT!jhy5!nHS~QIKAj;>z#Y{G+ZtLyBX#779D0G$x@(gyhr-IA=Zx)x`@V| z+~J(NAZT^cnlbRSC8b$|ifKO-^nypYO@S9fcilNr(uiZ?A zD`dlP&L=fp>J`9nYhfAa67wM}TFIWi&g;ZE=AJ&g)u!;0vvG0hZN3M83aB`QPO}Jq z@=Uhi@ITWVk{J;M>|7F63b-#zQg%bx_1`(;GjWbGo*=HY9}!j>8=LOY{j^UmRf@kbCcUgWeJg)MCrmJ2F z4AV;rhAi-g09P+X8c-R!*46F@-c}4J=j8YBUm^~*M`(d6N`vrN^Y_Otr3-r$s#?AADHD|^u zpE#St9`pTBLtS|$)Jwq}+JrKRR7`4>i7J@1q$Oa0#ZnmP2c*r1LXD_ZOXZRBZi1M2 zVx}C81I}D$z5W*i!;b8#J5J!3v1%L*Dyp(l2FrDr+MpE{6M~DLmv8)k9ODPW4?Golf_VX7p-n9OG3@mUbp3-GhUs?1y8Hi+<7SBqqHW z*Ze#Vi(+({V$9M+t*rykg8YV}E&|Hf?XyFc7Qt3Dc=yG>)&s{($@X1}qq8KXt7mdRqdypL`Q#Yvgj6uwPA#8WyIG=FjJ%D!fCjf~Spr^8=v~t?PNUhRAyqUle7Bz1bpzC-!U3*ld%kYOoLT@oX;- zpYj2oz$bjL`y?+}JW`e&71;_uJxiyEkK&b$wrzYQm`2Ky9j-t=&TqrzDU}D+%?5L( z4F;mH#uE_TZgGT&rDMj_B!P3wp@8S6T10NAGAzLQQdXKaAunm^%WZg~GG#VRi^-hk%uj=J5k^JHFD%lO8Qq!|%W`};Fgy5P~Zgu)mC*Wn+&vj>8U~O?)dtK7h#7c!=`|*y7w%DC+~6Q8SX`$ z-88;B7E{^7HK$qS9{VfK#N^qN+NwulXrm6w+aKfcZRJC9_j<=zB|TIL<2@Xzl>d(5jiC6Uk_~YV-(VERGuLZ zciK;I9)(L~uQK1$GA%aMweIg}H6KSu-yI{MpPIXEC{P*d*m*>Pw8yDJ4%u3#C8MVG z1*u)5l-=z*U!9{oC|`w4jy+BPVuQS=&61lS2tVnwpgIWjAh7j9w7%n?V#kZJn~3UG zv(~0FMvy@de=oxCPO0(%J9RWKgXZyCf;kwO0svqZDb6nr4nizgBI<;>-_Qh7tnDG%?O7R#eP7 z#E~Z&_sT&7LGgHC30|P_A>Qp<;#;k)G`{!R(Vlw;O#>B#E18u+=7q{ZVSB(K_=%6A`S=-}}z*e$AXRgFq_TxaEt^s8JA7V~|>Y3$Vk@MW~ zj@ybCI*pSfg^a)~_2<+ttwWE@RL(&{ALsBRMGNz57W$}*mf8V#5xbe) zqK^eo#LQ9%Gz5lq`Z7_zIM z6}dNRgZ(kPVj*6 zBynXw#cn=#;^UF5?&+OSvymx~snz|d)2{jB&P&?sh>XD$^(tiXh6IK2KSc zx2N^#>jGDL7NTJGs7IV4e)7nHUS+sQrd!Tzzh9k#R-qq{Dq^4pnRTsgs=m3TWrJC9 zalH1#k=pB+k-0`GLJ6mf6KsZ&tAeRnGcnyk{QlW^LhsPw42G~1*9#h-YOuMX_9mhG zx)-hQak2IhcmI9kdeXR=9}TQDo&m>C(_f&(#LayQY3ss1W?o z4lFy@m&GWer%I~6Pmdk%ApSLk*}lM^Un-|MhzwF**$==&ShPsVeAC=A&-Atp23CHI z!fFzhgeOK>KM(8WD|z+`De;)wAjafiD<4M3XK^`K#w$&xPbHaI(k@_q!$Xo6{=~U-)%J{Os(9Qlkt24r(|0j5qwfLUXYYM ze<2A{jBhwXQnZ6T&J77J{TK$j^;BMdlHP( zz34>?d#rbNt#fO8idr)I8}p`uQhQV1ZR<{=l3uhYDXX|X2WPfW8g zj2FWuihH0~m6yNua1PyC9stk#IUCD{Esw1-;vz(Hj&cYUd3UceV#|lwuycN%Nk&~Q zE=N;F1@cgKqpP0iG@W=2c`mbj$F!NIGH)i>Dj@h^A?Rwq8Nxj%3KpzwFaIwv_ogs5 z*er62Ata?2H_~1-29%mNc{DqXJKg54Q=284J?I!Rb|UZ=Fah0<<-(yVW<|-mS75DN z^_YzDP-SLGLi!9g6RSK*F5wcQV7+8>p0xe%5ufyt@d8gLNeE^UJAf>zHrm@>>G%6` z{6aeI=$hx1$M^gaLF{sfO)H5!7SO~xAYjB}w=6nYWhmG)3+GnDXJDHcZn~7I_X6Vjp3&}Uu@IlJ#%HO-!x*= z_ETNj+WK`K^jIfGu57cv>;P9MM*6dUc0y~lUau}z90pM^&QQKpS`$yN9bW&c557Di zR%p@4hQ8FlNH2oBKQDYYy?Fwi@ToN+tu9G=JnRo5C?|Vp=5YNorYbT**y7%Qt>hy+ zW#0~~Y_oLP@c2vHe$TMHw)vKpxi)c$k}kIoABW^>ZM4YONwD&RPwIUkEw&tGm9;7( z2+%1uI*v+~=xIPprwEu)$8X^;tS5{=Ng&=?BCDqoLQfk~0-Yi+#mty>N_s5BRHc&u zX1AB{Egh4ak4g?8P;07iBq_?ORA1Li${;?dQ%4Blu(+1 zosL1^8i!ByR4}9wlY?Qf0>DMQxh?KQFMFzD=XCWu!CFCG=K_jH6ImuFT?!>6%Xq;u ze7Plmq3-9zA>>W0{%(44u|lfJ#b(3qMNytmW-Hm}$D950$ZZJay%g_~iHX9*I9dUw zY%S|RTw;OxGg;=SqasNE7oud>P z*gzsaeo7mSR#R3=8yKRa_wxaPZqY=!P4mAjFIm5IOO%nMxM24p7 zmmXy$0o}z&8~FZ96VBxPk)~SZZ<(;0!;^vo-4e#Junu(@QI&|`vCj0Qxr77_EFrZ+ z8c-obkwgPW6T2$6QS+2bGJb1V$n7e@iL_(6sH%#Y_Aad9z{A91fo$)62lbn5*_XDJ zXCc{#sco7{dY!J;+WPf}km4J)B<$qSdSLI7PS>yUV(O|=Y6yH@^K3GQx8!QVY#7aH zcq_?cMmof$?CXZ?B$08aQD<&$e>}M?KPukl`^5+yKzVd;sOyf|mylJWs`Qt{o=rm4 zRiZ`$PIBV&BDgGU35@D~TRW>>kk2wt;hL5qu~F!w$*K;}JESR`2RkbbOj>bT?R*&ha~|?3iq!##2~Jxy&1i7yN4=3`5o4kHg%*Ty;HmE)RlGQ*&0*XWox zwX(+fAa9MkHR{MG+bU`s@JJ} z|I+flXl_gsfy2UpoEk-Cg^)V(;g?G>niT38O#w)8rV8Lvt<` z18~jaHm^ODLh?YH)DgHw_L&?Xg8Wc_ zmd_1t8@MQF$rwlb#Dnn>46_YAvJ*oewCY?mdj z>ab?85mJ&86lZ}1D%G6peM0!U9V7DjqjTQlriyDdRs9F|MvH&N#q)|+)V=-Rw#_Lq zxsh_mq*jYR@zA98ZQ*f(^qB>J@NDR{-=cu?>y+>3Mpl~R19cZiOkPuZ-`x}j-cmT0 z1ftADamM#(;F@c;ocaDuDoWn|HeOo|6hUak6KMv78O0CNurWUIe>p+<)j@3` z{A&rs`b51&Yu!DP={C%gV+Iq=IKu#2h^% za!?aPbeEZJ^ZLi=o0Mg=BqWa-B$RT-$HJt={0kH!n@k0f@28{NGP!;IxfVn@9TPI z4cID*cZZ%>xI6bco;=ni21F)%ubddE9Z1&7nM zz7*Y`N9WaG9n6h!S)W}3G%}lw_JT6sD{o373y@v!To3mGgjc4Aa`(kq)$A%F6g$ig z3sI9lTu5beb7qo8OB&@zHl;-Cyf&$d)&(d|xVK7PPl*o9wV#ZA&bwH$W*hfwD!q2o z!r~#Q@}lRjHzTjBUB`x9S8NUZu>iU6Cu^J36PtWgVQHZ}vE)PsEJj1bww%O1Zr9sa zT{v0e;Hcd5NQMoI2K$NI>IN`@1#t4@np?IBwNS>@fS*YNmPv+=%xw1YcPdbRBF#of zn>JtW-Rt2Xu{W(kHP?+B)Wn`1zhl~dyZxICx089el%4ObjT+IfRL6|7Qo0U&6nv~> z7NE)j4yCp%e-_n7R$owOn|qW_t*}I9IIJYNXqy(QXrIwOe|5ku(q6`^v}geLT&e2J z6?-$vx)8}Mb!816?dF|4=iNyO;sX*6c>#;b!DYG%YB*N9#5$mVi{SvI1%wmo(Y+`(TrvBjPS`!kUf#lUSvB#Ds zY&+2STrV_IaBV|)EyMuj7Wpl&`bv7U`In7F6;R57#md6P!ggc8#{%eX<#B$~;_BP( zF|}a95E-m*gX}PSHn?c)3ZAyAnA<{Ok?O)We+D9Km(fwuA z0BNvL?FGAAzPuEy#cj;N!pd2B)?V+<*-XHQH@qM&>7{;k4wAW5gWa<>)T;F~*^A7Y zx&%}|=#qsEGJ>t5RPiF^*tS-*&R=Khy<8D}6$n>!!%dvSy{SSYSRC+u_l`Kpu280Q)-KhS`fJ}Ni ze2Zq>xX$3_!|SqdcLAgaB4=jG6K=%^U>juQ9QDiX4M9}vFBW%pM%s-r-760j4=uH~ zCixZXApG8R{U{?gf=rPvW>o?3d8k3&&(YAhlUtcl{6ZEkE(>!@@||dGFSQr+pCNewe4MjRT*w zTHW5mt-`H5YMllao)l2Q_c1CNS%IA3n|+-|P;Gm?mV;D=f})?zh<7s^!}pMn611-7E}rh%5hzMxZj2l{^)r)M!e+E=0a}kkXeJL_f>PBXr*)p+ z3i-A%&NrQJtvyZuKOO{*l16?H|$L^>^R}A2(P9`T%nrmb%Ux+FO+s$nl+Vg zzAu#!9pSa9D=(44{~?{pi|+bDP{~m?FB1I=2h9=;=d?~gg%+>sGqFCYOt+QkKdPfF z{X0ux%IZ)^IglY$x`czP+b-#~0=|E(RG_qI>tXz5XDMrZpQe;Q*pn|L)$Byz7<+AX z{LkEJ@^~&r`5LYE8l52QS*fDo5Te!C)~{y$WhFViA|RsG?b7cz;^~-4cK_;Uq8PO# z+m_%HHjc%O@ixz|Wj=pmc^Paj1T(I5-+;`KXKykB#kg+Gr*JCMj(eSbHz(d1nM2UF ziNTaqA`NiWOY3>N60e_s& ziJ-YBNqPt`9Ay(sGoZ=&;IO%%f=Y?O1^dIYCJln_4@x4l4;>A5^4Me-Lh7<- zx;f(#c^S|q>~2+qd>6M0T_G=52wEETf{?d;P93Gp`i$H4r->|TrCkbWsBfg9-{fy6 znT}icc%hXkL&I@26N9Ot2uDt>1JB%6%>tXy$~#TjzVN9#7i4&juF-}3_*cg|hMv#( z6IpQwj?&T2Bd2~Io@Xy?(TW!JP>4J8(=NRF`ci0g((1k5_$c4*KA%K1BQz!VB68!e zh&jmSAB_B-Bh=qz?&SlwpE#dhA^zy7RWoEURVY*WcnVLxo=p?`$CUli5Yt$N|uU7&=flAS?-NikV&#;aV!%_>Wi^V zt}Os1TFzW|5mMiOSd#`VJnSV-Q#8~*<%=9ocTuPoe1~+R@SwH{JY2v1MoAq^#xG0p zt6&bZ8lIb$w(*=~7qxg~T2RfYp(P$w?~_++C6rldkK+B%5zh3xTj0nhz7R&ZQd$4p zrz&5qzRKtRho9x9d;(QYc3jsAQ$lEMKj!an2HJ~TVNW=3#nRhpwVRNv^f9XYYZ=9-Mp_(uJz{JN4 zq1WEkDhk!J))hi5%R9-;5y8GlkopsAC6;+>v3m*Vx%=$%qecq(Zt^ONpR)ksg`7&w zWgTUaClebSk?T;$aBZ*DP%;gB%2O-Jcpyb`jD49$tUWj>=BX&lH6ljuGpe@&`#DHg z`i8P$_$T~uL|bf2N1%R|V2S#kl0PMd_>`wE$CNPpXZZl*J_$W(PGdv@;9(g;aH7G^ zr+w~`aj!1MZ*Y2n$9-D(F??|FT~^br(C9z%7Dhch`GkVVolyA4f&ql?D6f>=Rk$$5 z^q+gbxkcz0IK|}9W?A}>JVg6^%qaFSG zDwIXoX!KO>OG}8J(ehNy3tvGStNYllitN&ThpQHpI(Q;kkER(RQq!!+r2eoL5Aa7#(0$*LP^tKH8- zdGhRH`PMZJ!?8Vckuddxc#Hc>^_ad^!_d9)Vgmxmk`mRQr$^J}&!Jjf35xIteM{LeRUG7xm2iX2aYHu!1tN?^@Q4cegKpa_MdUDA zrw(tvhvyf?AKh!Q6M|S0i#?01Bs#%sZqj zpROw#p$u_bR^qh9nU^tQOH};F_lK>Z>L?f}hk3fq-qCa1Buw>$Q{6!&^Pdf~;Mg9m zo^Y9!CJc;CbS7L0@oF0+U%$*DP=Hds_|ZOXG$5p{e6tP;iE6l8N7@jcQ@ouc(^OFW z*?-n=UWbu>50H{lc!?-38$MMNj4Rg=N7q_u%uYuc1&>kOMNmgyUP!4;Hd}<^4n$oB)L-4S zs)BUk^`7-%wHrNYJvKT#avEXHq7CMJ`G$=qkk`sAsbO6R5@58i$npM>v7=pWYAv*dN_qWC+6^@_Fj4`D6#Pj&}CP|%112vfXg9*|Gf(4smS1jzS@ zg$I701eM9S9q1tU(w5Mju&a$GYYiEQc;ZbXS|zljepDeYuhxkr=TeMIstjI$cj(32%TOU9l=&t?(GW*J)^cwS^o> z@{w1G6HjWhV~%nZAM4)%_$Lp0n}%_C}IyX}R=M zZ`f|V$q&$}@OZx-o#@MruH^xiukU)Zc1*!l`_5Jyc$$aL_H( z4J#aMuwJkP)ctviQ1PL!4_M~?F*mzCV(a=aSox~8^L&y?vXI*r*yMS(a()%pp_TI& zAo@1u8Hmg^-_U|>^BKlzp@U{tRcVW|=_xqIH-)180E?4;w+0z*>xZ?Ca~aJ=<}#Mp zfs5P;EQcg7XL0kItfX9P-9@sZqYl)yY2-M!Tkf3q! zED#b4Qg&%U$B$eMXbb`%3<1n;(xyf8az*v<80&2_@V-1Q^4da8`wLVppS5vK+sRZt zUl?0tUvhdC4`gV&-NBO2IlUNk6Yf4xqWe$x++D&F+n@0c#dsWetp^&o275_*Aew$U zT-q4cRP?(+Spok%jY-;tIr!6o5s~~kLrtedpbFZkiBCfT{Q$e@l}0(qnJP`LDy4p@ zr|G#W+KuXUG@Qw5E#GgsxuFNhJvV!ppo7ln^;r`fOH1wZhk}nhuev8C)?;vCA^*;o z=e04A^NGDukP+=b@vuiX{3h^plZ6pFZJv@?V87KiK~Dq`&C>1%0odvXjGSv>d*8L- z&^wT)aT}G9<cvq7n49bdKF(J&hfG+fQK*gDwka!pss@ zb$Tf)$DXX+`{I=5a}BsFn3le9zC^D+y4Z^0PA5BD{#9S}bfg^TzfdDePN#kn63!OQ z_*Ahy3^uH8L7sDue4f19ITuiVFEMydpIjqFxHY1$1$rc$Ex_6&==kr`l&^fUJ0SXV zL`{I+dI@w>LfsVUZo+t<_YKq>v-n!>y(RFLTxofJ~AYS)fi;u>Bf_k0BZ*0x@Q#xFHvq~EV z1)YFU92$}9NswTBy@7rR(6xIaCYt<$(ju1NNhCZ8IoP=9`~0U`*!laZXwrDx1C#@5 zH9C*?Cr;v{C->||5n5Tc3PMUl6@;M*-LJi#)yM9H#UiQ5@&zCb!jW&B5yNq=1qDbA zWYx*@HYzgJuejZWsPF_|BV6QwRTcvB?qkJZf`-qTp-bpUj%>^}*mi_~p%kFU|GNCyVUy)v$Z3hVp;3pBTQ?hGk03 zk4jscFmwaDO%{nA7`|d_BcO@pfT)RyV-=xH|3t@YfATQ^(#+TBq-7HS*73}MPWjHW z2s>%Wkg5{vzX~S6{Ov&1vh<(_ND-_l)A1J`3P#_5#sUw!CLuaCo`#=@5`jj_tE&&4 z3=6lZ16Mhlr*6JMI(yJ>7591+=$`HU@QdaqL)fLaibBZ;<3moN9dS6<nDcl)k@>_m@Zcsydhuc^IYu%xXckxO{k`^dE;XQb4I?H%4S<<7j3X(T z!Tg@6yv7hYTztV+(XO7>58gJx$7@i+ezxyWX%v3bdATt2@%X;oD#9-Glm}*ek*Ix?l@kt226p2!AP2 zhOoGZdBGf8LItA^5TnV}YN|r{B z6x4z))J^EjgAQ2%EbS>oZ@54~=!|2SWT%~hX}53QDsUd^-kLP$ZAkyM4|-?0h86GA zv8|q1Ma|}Lm$eb-Rw3P9@$Y;+rtp5`XKuL8RW3oSEf& zaIISZ;G3CcT)Yby=WzpM2p%yjg|iFqO}PhPX_pR-XPLgixJ?*+R`MbVDYb%8?E~x; zK;^bU%9(3-wz&X;7M+I>svQd4vL*XUa6sfQ$N7yxQP-&r(Q`&dn9qmksm(ud?Y1M8 zUZifw_Zgq+ucTTA;?ZN^CItGOZj{hJP`Z%b3yo;!M%gFQgAB!v_Sz)fr=hRF0;Zqj zoqkk1H z8>Dhd24s^~{PV~+1Kc##9lxTmR(QwFt29=D%IvUwEoL+iu}i$WyXyTI8@nmlC%!8X z)cy4u|BmIx^h(M~QET6^!N!)_i{nUF42gG{vflh0<~<}cl}r5yplZr2Kf-sv;5vHV z?l==*<6Ypm?3BU2qPx*c8U0#y_MNZ#VJ^)@@Em{N!Dc^t*;-B%zu%rpiM zS>cXhss)y0X3>^YY>BKd>J9~Sa>fk|e8yNm^lYPYG$^;U{2dPyEZ>RC5E>v*I7$8s zim8!CYymjh0XV6w3{tEC$WXCD4O&B|{UStnXIkTZ)GP$miyhPzH>ssr^LRt8hQe39 zk;m@BQ#=RpNhn|4q^CRABTT9WYE{286P%VwLCK!$fq+s0tMnKFTO~T5n!?_30GP)> z5D8B$kAFm9JoD9EwwwBk#NUS&o!HhrJl(QV3wm5+&SJ=FyD@T zGL8yuM$->EhN7y%ib3~7LJl1xb|mh=4w>L9F?Xen92BM?%qiJd?nLY+hj{ zRk~M9Y8JgGZ+4(zccyZn=skQhcp#!DEozoWH^3=YHPdJ*>0K!!LXRRlFyMIz7X=FHy8K^I7}>k)M13US!E}4!OeM zuMX*VW$2DCP?qIOuZVK1XBH1Y=$uIn@}PIHAMh*FyC`^NK zfRVmm6lUyqr|&t)b9us=rI-sW?{<2U--2>MJG!O?GbU&PJ3&jPnMLab;h9Nf2JJ_L zU;xi)?Gm0b(YlQO%pvULE3nD@*G1~j2BXuef*+~?F#A@Vaw^$|S)TZ7aSiepUYK_q z{Mb!x(kECnOa2)AMjJS?@~2SE)du?Au>!o5hSR;86SeU`qjlN>S+3AK1}}}7YuyUgK&^@qQQ zV(JS$0q}2Jjs<9<3&4ULpG1hiH}@oBJ!(|v6S&*-3ckC`YDccUBle_kpC%PaLC`I zj_pG={^bdjz8Fi62Evf`2^);nytEe+MZ$%`KpUTCmAfSUuFBI84%99@qZ#Q*2Q z^_b6%uIME#qJrBN$iH>>@xpT_(6Bjc`;g^bx0JYXCaG91Y-2z?O<)_e4NpQ+)L=I3m&SmMa zblc=F37pKNOKKMeUO^*!ZAy%ME~#ajXGo&8`RVIv--R3lBXhW$b=F2nXZ5Z+iHQ-0 zx1>t!c%*c97Nb$J?AwBK%l!4dS!edH?!T(vNCEzPyMu@f_1yOyLL>*{e zgZhdehvqaJgbh~DqW7zN$FEEWjrvJB4zNSa8}g#ap9vfe??>@=#$EA0I5G4qJJA+7 zC{e@!nGE){AxBLhYY;mUxd7^@DA`O}@B5^duhwu}t&jPG9gT&qWK*f53(K zZtGZ5(Wfj2)!!Va#TjWpGm>i#AG89VUP&dK@>sJv^cXV-hm*dYWOm5kIpsdIEiTYj zkTiI*-C^w$YA`|r`+smF6UxgF-=0#l zakU++D_py1RR5?_YC)WTEE``FFKmbg(V|Nm>pBgb@&Y<}BHvU!m2-JfVxb^t!gdVU z4zTow>uNio7%)88iH3IReQhg=B_h6nBy%Ctassz&e6Ph!2c(U3U4wyX3YmO>%#HC2 zmDpj>j#8Z9b{h$+*i7X2-Dnue$1Dde-7u>L3@*Kgl3}m=G@mw7uzfTThhSvM`z>vjpncquN%f&~m)pO-u)n;_{*>GVmd7415bP%E2izTTGhKo5#Mq&sdM$3L ziK+t)WZx?)*NAfRsr_gI4K4qi=altJ(OyY92DYBEwt*;Y=x6)!#WoTto zDWy7rVire1H=Pk5cf zLvHH;X*kj;aE5jNiu<$%p$L2F`VN4VV!CZm@e5`0SD%63+U@EPl}8gqT(eSQz!r8GsMq) zofgmXq}O1b*G`btWUhegobEsXspf7_x!~G(eM3p3oIB035WRMgJAG#>=KsvjC z7y_T-`wpS5kJj>&{hwm;NhUAr57C=8q4q=+PFgQ`YG4(pFRBRrpt6TKZd$W0737Oi zl-o%>+)$|5LkoCHJ7s4Y-K{GZ1t&l{2Vu(N8>G$mcdAuqfc_zgY zPah&Og{8m!G}-a!`(+%UPJAP zh~kfwv;9mdq$~b@nCVBP%vBs)fd-2P%*-dvspkJm5|D)@UuA6;# zhwBL&p24RmE}I0;Z3qp90(I5!|1<9TP7njU>wq%oy$%?7o2y+^-ri3;Me5s0LYxMX zss7~@&iAW3K~M^{pRyj`-OO|T|3-NKYdOk4kRZNcmqm+cz2Pt_7l(Y>A-6i-M}5O_ zT>;1D0PeDdE77{6@}9``$97zw_Nv#8!VEblh&08}?X7kQnP#bbgJ7upQ`U=N z!0Otd(@(?^pSq9ou0f75Al)1TQGmc8khHhrCCWPuCo(CWGlovx#%97waSX6Fz0@f8h|%v!LuchY`)y}k-@c1H9b z8;v{OM!;mBad^gV6Y0!`YTQdWqDxd)vCy(I%-v+i_6|b}LT6w~#e&?l! zHx=W4PgcN(1;(=i2DOmXbcZnyfsGjOahL-OO*FJ&Sd zD~@Q@n1*bg+qzZ?U$$^M?@Jc=rYFS!5$%)THyplm{Hm-Y=p(~&l2f+?pQ`aFm#Mmwe zcvTMTSHc>Mw*bAFS^mujA;C0aJ2iF^+EahHKrFN8GL|U>c^W3S>&4jiP^*{%jU=dr%`nyowdh{zlB0DSfBl3DC!_PP9-L&YZ!6hNMMZe@D=HCdW{lPv1 zt3bdgLw`fTJ^e^j?H!Ua5+by6fv*zP&*FV*vzHi>ZK^BbF9Bhp!e{Z+W7@z zO}JNelsK&4wUgrdL#IUJ`8dMQssmz88*{2i?~&ne-BD34dKBa(m^4uyzVclh&(2_( znw?a`a}O0=uI}%|e%3O}s1bMMY6St)I4&=r$;Cl*tx?ExmUK zlv!|znF}tql09P?=Kmf-dqbHV%gS|Nxn!+e6;8{iWY13a?V$JX;QK*LG}ihzht~)BK$*Wn}R`oV>97wHJ1C`W@hXHADvTEw$O_w@I@`Xz$%}q3G8_ZJ};rl`X6op z%1CO$mDk?)>Fqe6TlHSn^n+OP7hhw%0?KYGWgb1odHCTk!%xJD_5zH9>0gA0w8%G4 z^b9YiFbIZ)_2pFcTMR-?JU~gsQKEd3N*2n)%$N)eCMO8Uz|ukR@OhaEpsX{2%s0vp zm<^bU5Tn*%mIFWh=2B(>EPgN;-(IwE?wo8}wr!4Wu5I2t5PTr~7TOl!Dh8mXN__y+ zXqEu;gAjOdv2C&Ke%pPvoSgga|M?P(eu;Z7vk$M#XYJ`9U$yjK&nHPMr%!&H=5l-i zAnyE^B*u)mFVKs}KE()Y^ii|{9jI;K+u?vkVjgm$%1_j3x@R&R^K48c~gPo2WdMn_F2N+3s#iYH__tzKcx9khh@45~<0sG%PB z={sfpN2U1FOdC|vpKqa^DNebCcBJTNM+(^De<`K-K=pellW30#+&#|j4D3!~cSd$s z%I*@_T@kx8vAc)ZT_U@CfZe6AyM^p7mEC2ty9{Cez)m%S1T}G@}+V46Q?`LquzrP*>H5`45Cb z--ls8nX*#s@*&}mULR1%N4Rg)_wA)C{Hh0+GMad^g9*UnSY)Ga)O8r=**Ij>HSp{0 zjPoAWi7$zH9c143VeS*(HGtbh#3M}iig<2U6t^N*v^G{gfHDdu+V}dUaK0H1MFAiE zaRY7-5^IiP2~mlGv55+83KHdK=qITc1}Y|f3cd}X#(OLpGbRti^fNnX6jhWPeKRjb z+9M$6ep5n=S%T>Rc&<_*@W7(&$SqGB$OwX7vYQXqGy!>=~Q0SBPuVlq5QgwwwXhp z&=a+747Ck5mNNM`*tx#@!s|W#>?sp2uHc>?&y0W#voX(SS^{|Ff&*8wO3X$_eM<80 z{A-i<4Hn=3?e*OH(RX{ZL{CXef@9O8YSG%$NA?YNY}qoBt8PhKTjRfn;2eO-3QlDS z=zblO@Du|ULHH#&tqoFo#B-+^O!$0!-YQKN-7N{ATY%h7Ns}{cJ6!LI3NI>;8tlq_ zM*lyx{A6W;!C_r!aBa$xzxIE$9*i=$pJ8x$;T|NQ3Eag90}00C_eIJ(w!S!g!Qa6o zRr1P#1*CYV+^H=wVm!tjTnLZ%uL5~V>)(>gU1iX@&WN5Oqv-DGk_trkQ$|jx9g1Z= z@1w*E3Bd`C$C@&I~r;M8^u9MfNZ6P{9f#u=v z{tapB?~yIv_#oq_f0I$Pez{^J@=TkJokwAuYzB+_(7O};CXHD58cJ$s3)lKXy+@iF#( zJH8*(N6){)dN06p-(vP42Mg}|l)0$*vV~oD;Pv~TMvABPK;53?d*SNY{n^hpWIx-U zjeIUoGK15i!}V4>rb610^F+@B<{<(f4ff7g%g`1w3LA%ZE<<-}qyAI)&4xF)jG8U( zM9u=4xA?hzi=S&+{MGci_3k=MF!2?70q*#2|vg2ULcR zpX@RSDS^-AmR^Cs4g{dES=9?8J6Z95XH;4m1g`yI;{s|!#Wr?kSEt7=BhRiEH_#}0 zJKRY(h)Tv%9A~Db4P1ASV}bR!ol40_6TK%*xbLAY_KZ{hRH>@6G^qOlt>61E;d&KK z^E_PP_DtS<9~<&N?!&O^9}Agd*+l_@Pug*s<{6;J4tOC?(}5y2$G0xO zIUD{iNWeS1iKl~Ls1B4jvhu^AgdtRZh^66vT+^)oZ_7=KANp0tU~L&~*P?~uR(75! zSFNq34ZWX?X1h5>tbguq?$x&9im7;;D%LxuIZX5Jn>WA3ZZ@-+QIu<0b$Vw3A?g!c z*G-Xb0!g{l>CxW=%>>rJM6YlqOUm@$Zc{STDA#b%r2vV^>y1mnRWIo_ zpt=i-(W+D>Ja0!nioCImf?;}Z0ZN^m41XNlyazW*jtS6te|&Y|L$aAXxOLsV0}S>3 zvVJ0(mM=^sPC2wV2#xD?3W!^}H)9QT_ij9XF5jHExrEs9T~vn-&lWTOsu_E*-*gAG zRA_6dHRCp9o?U{&$svzOW;5OQ!To~2*_vz3MyNSLEgQ=Gbv!f0HAIv@B?wh{B6&!o z1DI7(Yi6m=stHp9H6L+VCe&{!2cavWPjt zWrGCK8Y2ne8TS3=8Z5U@8FX_#dFZ!6Yj(w*f;!?|TIZB^h)JzZ+3VyR#B-mEBU(ka zS@K11T?a0H?{y7klAiApy@$t%*7g;5ii(m$>gh>ystwo6aL<|gVmhJxkM{>rF4SEb zgp>aJJZ;k7r#x?WIM2I9{ezJW#DGMQfJgV;Pef3LA!L{zgRfx_GEFnK;VOkmc@M4> zWh_pYyA>wl1@o&kgYVICBkJu51Vv#46f5yCC8d^?gKiS>crq+3yN7A>AiHsGSNuilup{)<~vXW{utdLPLY<#=7L1hsfP- z#2-9~3z3J*b2+%J9h=XnJt5r&uCvpKj$?e%@2j)E~ezp+7ut(kK9q zh5t`*ymtOFIE1>mXvRZ1*e`Tg#5%-di{P%DSjQO0xnw69w-eZsLl17U42BX1X;0y`P(}nWFmg(1<@R-LZu7y99AibvF zMj$UGvrlhX%H|b!^{x$KC|ksCeGAE9hK^uDuO;jT%ZvOp4jrE1oOntBM>H8ZF3My;E-m?zK1!W_siKe%!^3o$d7m+i+=)P z<}fj_YH5q$;KM&$!NISfp%2rc?|YE7t#Q-~Brx zCI+ey_vKroH2Qy#4rd8c3ghS{KhO-gK7azsgLr=$ArK zTQ(qq*#2-N+gJ4$VA%Llr}8Is;r#Iqmh2`OK*fNg=Q^eFKFubc7fF)=tZyRLHyPL| zYDg1|9m|m&P2yBgd@IKii&Zj+c0Ukiu`r4lixpE5sDk1@MpPzw{n5pamC!ip_S z`*0eL@md-dWD1NS05-+2tnd#-I~I)c`vISrqHp z7+Nw6xXH*a7sZP$408(8Y%n(b$?{|w9dc%ZG;R@43E4tU`Mhn8Z4&}Q&>SY~gz8?Md1y!9+h zbYf$?H-^9$>M)7V_d|rN!;V>}&>!KCb?y}!#^oXgVC)+d!%A`0w z8HorC>$*Hh{9{6*6t~~vO0cIYL%jizNx{BfAg1K8X5X(Em&V*5rsKE!)3LuI*c8Cm zl99&bxR{6#v}88WV}mLWRUS;omFTD4$EX}wtttUntqSbZ z$^V!E_{42es{aF~l2F^BKTsYrRYLk3UV+YdmY66ckv(>%IjTZudBRN!DwIi~V?0r@ zgwFAVo1D-=o*p*~f@>!UEBaS*@b(opH$lZ9jhu@Zw{+O%WXW{A00t02pk=3`Rg9W$ z6qLoi7o4R7xVl#3YQjMx;9yV}^Udmma@}FwCMDop*O}1v-V&`n_YIC>VyPVSa6oW+ zvJEx8IO3H9EGK-pkJ0WaT1!Sq)*~l|I56%~*CyQouy-zE7#pT} z3Z^57TP8F9vPd%se_U9Yphk%{q$`BR_*0sg!_+amd;)#LgrGHsz66`TK@$KA>g-r% z3fGw_EcP+wMUtM*1l+kXCWa{!qUZf~TD)j*dM2;1bKJRiTWNLRUL&TuV}#_9)*&{x z*J!gg3blVgU=+-?v@0*SQ_$y-$r<~3ro7KCy!A3xb@HFvl^bpD3)ieHnkj4;c5@am z?&!>^IY!rrETzbhrKD!@r<_wCGq?bQjs$2S-ofw6!u;$z*&Mh8JY?fhyLDGZ32hv3 zDmFu)(J2qW3U~&9yJd)7UUCuZit_C5ZGlFc+c(6A8QQFg70ca?)h#m&ILt>nhKMb= z-HwwN#)l)C(p|Vo2u}_W<#zu`q#IBAt}GH%uk*|;WOu(NOY%uf{soKyUS5C<&ux&fJ(3W;g=w(6cZS8QR6P8!6Cfo9RO zgtyBLmbTi4#|D639Ps*o5IuAHM0ao0$_ilvOt2#WbHA@=+Pe8S@PMA~#s=4Y-p&|d zLx&^K7~7s@-MjJ|r)MD#n$O6syi0DZIn4ENTumS2?si3m-b{2ifv>ah88x->5uPc)8qbB~)APqj`jWW4 zC5o{O%YiG89ezbED^JtRYBGJ2|QS<|8NdG zKD8_SxXpq2sehk?vP1uSe7koSZ6zDftbbt+2B)-wzrzOq6?#`SC)BHF@^A6oZ|EH$ z51mo{czBQd)_i~K3xi#SJMOv4>#iVN)kG0G*}xY1^PM?wL*W^Y67|zDlWqCT*>W_8f|eK)K?FIJUE$ zQu*eJc{jT+=!Mly@bnzt-5Cf7b-3Zofx9bgASe9r{{>!HjXJv!1iITFMF-B;b-0cq zX}d2(3#;isjExJTGS<1cjCD`(h3?+y6_uiOUqz|==qi!_L`>S3QQf!7)t=GU;@T-} zoTI~>C+l|Cy<*)#$`%v_yIP%oZZ_&CG}}`|oWbwlo>x~~z_jWE^lm6-Scs@Mn)R*p zHs=EJ#d6Lj4>RYm;WjmC!BN^wmYA_FdD?7d2^oWKie8zS0`}WXJjpp;v*>1~;*(*> zAn_Q;OdufvT(068G#*MF&rX}!t70um5dMH%2@qgT&!9_FC{F=qD&F&0Kz`C3j|hL6 zkQ3$fOp7W63BNMA5DiU48QjK6tKjcQm)_mY`>(-sI$~)rO{S1}+!om8Pb*C444F4} z6prF9&h+FDiH7_AuG{JYt{9v9c(i|1p#sgqOL+c;>l(K&3Ti=DxcU-rtGS5sXqCY! zH~I=G#DiP>^JXIYGUemy@Ln=kGeK&SfHI>0dvBz><;eS_zXip_lU=i%0HZ^~66(aa zl+1{(f!T>?;1P#7@_w+(heXfNZ^2AfkKT!5bc~ZWPk=hcq)JVuM&|Sa`N`+BDYRv) zf4(ssx_yDvOdlvKTi{ce+GSax)rH$|XQqN|^4l!t3e_&;!$C3N6(1_8>h$$lXb|hw zdBgB6e&Py;Ucf3zKMUKBzQB5wW9{ScuczUkRO-;{%e0$wOFv3OU9x%SJd+>xR6R==^gFMx#+>>By$9FEwj;!j|8=Zt2BfqZMoyY@K7IjvY}powW0cNjvVHFk$JYh*dt7| z^cOg1zX=5HkB~NCmf>`s3w^$b^kiyv`lfpr^u6#a#feHzxm_tL@()mQ>~N7$o&M52 zD4jhR3AynECjGd-y(qf3CuCZWKQ*5%a780;8ns1zEQqH7(n5~5ZM0jc{TVHd>?5wf2EUh-etZ^r zxZA-#!nECbZ$nJRyBF`uKvqh{xF87-xW!Mh)c3QfDZpG z^v}X`aXzrVp5~%C7zj)Dy}^h5mOfy-G{$&ExIA{4?YD$-i+w+^!0b!2n757T>>!bH zoaA^Sp=s-J!KQ_}*_v@}T14S`Ee=Y7A#_2PYH`p9(f^&r9OG0prm*ecG9WpL7%fr{ z1z{2D9u784Vl&gyW@!ta@QC1~P}mgeym#n|XrWtE#3{6p2cDYx$qfu@Y#2{zV+W;U z!_-!F`hyNm>rT39Aq;~2T$D%1Q${x66#tDu2w3NB82`{frqiymPu%c2MD<~ZTlt_* z`z8?>o&YDxQ$dU_oQ5A@`aTfwq0Q(iNc{p2Wek_^BHiz5?4c~ts8@cOtr!oMXWpFy2;nfM|$^4 zkr|#A`rfA5U0`JE;G3ulu%eN|479&@E;zX)(6TjwMw3^?2=v@cjX)o1ieqQ2z`&U( z%+3i4+=q~^78o3~l4NPaj}%qI1nL;=Pr~ltd52o@b$GL60&D-*(EcMkLB>onQ}fsl zQE95ftD0ci@A^7yP#@uF_@WYT4qEDq5Iz`%Q5r)7l5twX7W+~SM4S}~&1eHBCHogc z4^VK(Ru;eWhE4c1=<%bkLW|qG{10T3{3RAWBZBzFVX{%1m8W#{@Fcp&tdf7MW6QPL z3}DUSxb8h87*PvhuAD_has2oa22W$QWBlu@E3Lu^VOMipC9h&;DqA+DPhHGRK{=a> zgEwJjRU)QQrNG5}w5FCKG+Aimyohmm_ZG7WiA1PfgSWuA^HEgi$otf%e_#gGd=^g+ zMaA}l(Z>OxJT-Y^gXILtaCyI2lW#WioRRy@x$|Pc36Jb%JMMNu>50a2j$O$&&sQEW z+q2}8HtQF{bN{U^5sD$az_ zEwm}lOipeF$Ju>;yz6WKH)38R27EdJ!kR|(2tk<0&DKU~5>^;*_dLq8N`>dVUk9X{ zp+|KFN$zET{oB}#cyWc*a<#9VPtbv9~+Y9+okP6gda{LX!G!x<9`wN1*Ds>k0P@6 zj;SxbiKnj6c_oR^ff!u^uRL2c)R36^ISUFoTTpPo|FE8Pr z%sxPb8&5M)1jJygC`&{+fsqvSes_3gsM2`$Cj3x&j}Z}g*YI9V0z~@b93KP~vsklD zrEQRr2cW!datESZW>N0KoR3(rMq)q3Y>(JaB|+{Mg%6qo4QEAROLtON6Gg)C8_IY< z3GF8E|3$MhX|Gqs8d(ix##yXx^U@PSD7B`tZ;eJ?5$)6UurIT>0o2H$34Ajos=gV_m=XAB2uK z#}PJ9szd(F^cMS`XBAI}#8jtN33aDY+;7d`gV11fAynmqAG_4G9a6 zq{7110SuIt_lLk(2w(sN{wUl4j03cCu5m4T5xek8hq3*jeXjFrr zUc@8Td=FC$=TV+!yxKZe+J-xKtu!^N?-Bu(gwbqxq#nQ_^ZVBsYda)Eb?;c005YLP ze+#sRn$bT6kAl(a{)5$pN9m7X-QQnc*F<%{xr+tTM7hcL6~-b1O?b4=KDb;L4HR+8 z*Lo=saXLzqws|ug0;xHUY++wFIqfb|5KrNcOx8W>o?!Y;CZ1XPBXLROztO(9xT|E& zocknX)I91_W2uLmpock>9C;ve0exvGzk;oz_p=IPG3MUKBa!8ZH?~j!ki&8=+HgCTqJK60^7N90pM-70@z9I^B_d=T?h{VMtcvwx z%ii5L=aY{I!y`&miCDFxB%I&Q(6Z5G`og9@4f>EW!y5L$<>@xA>zHg(GC+J~7~ECy zQBP-zf$jJ~M5C+PhyIIQG5^)?#t$rpl`%D?rJ4NUW0t?rN=+#l@z9X}UmA!-Ovftv zf2KvIr1pb@G=0D2F0JKEt>pn|M=kYVhoQ>4p9feFa;a}V9;&@1=u1!>^Hcm>lKw&H z3qRadi-`a$uXFeC(lB>Vlu&z#!w(z8;9H$gI}E7RR~5quD#oE?CirzWB{SZxEY&GP zhe0ED>tUg`8;@sUWvq=Af?o%JZ^xZhcfb@a&|(spWVMzHr-#@A3)t8aDFK8~fyZDr z1cw?-1FX5Sz+<@d(Gi52_0LD3*I8wBx=I zwd!5FGAbMD`o`(mNUw1ySqXL}S0^eqgMXk+$%@B2xM81TRdN!Ps(5g!Xm^598GbF) zw&v(ucPqmO(xt&QNzv=@vPII>H9U5kechn*7*oW}OD$UF3!Otc<9r}sOZ5u1|AeOs zZ#l@4Otg>qC0HLYn}k{;u2@*Vap}P7Jpm9B#=uy>u%6tCl;%VBNe$t2R1k^yj^UJW zNwGXa=)ev}IsYK+DK;2Rv5|f2%0?c8QL*XJO@L9u4;Tk};}nLTe~;XE_JWKC`5h%Z zkNeu8!^Elj(^fod;x2YSX{!EPx*taed3|xR_I))`x!i2H)xj?_jyU92~BKu z!0CORvnSKOmgs-$c z8orKkA%S2sD#h_)B*GFI!i)@I=vt@U`BM<~)o%O>b(Az|)s3P@|AYlo1i*@)?!Lss zeVGNVQ}-p@5#h3+{WbJq{1Gx6Egk-wnX3S%rHMW^rq0Jtnrvu?!cB>w;7srg+TN55 zzjK9qciT4Kj_wYyyIsiq)Q+Js`729L$SiFZUU7Hq;s0_%H%`sW6~ z##Vf$)YFlc4eHKa`0)os-4G-IyLG9~H5#u(CEMViN8|v{q-iicI=g(BrcC`6)*`2Y z9^vE~g2BsQHGm0q4M6rM3-vII!RGoKac;K3);v=vS7zx7ZSw4Em01S-9YPd{%GnRX zI>Ts_XC|Qa55H3+z0E!Qj;KOg%ghNpr%a1iW|=_8xgN7CbB8F88?!u1ZgY56jf!#d(`f;bUzmElkIYgdK6Db7Bk+a`sRevp`t#bMR8Ki{los@;3A%+k+CkhWn#qAo7lo760gk!cWn{wRuR3OdfG3E zcX((4E|$=$$#jFZCN=b^)kuV2lxQ$fkK1Gx0pnPEU#Y^Vuh_;+n9Gg<73tHJ zo<*4C_n;*rqSGjPkHuG~a|l8xpJ*vY)v{AqJ`s*`ucbq&GFuvazScmXDV&zwZ!xI| zxM5QY^D44&LmVBjmL1N}MykZHE5Pu13gemt#x>f00%@{su9m9pkU#%PsoJh_{yCvE zZ3mvh7?Gwuwe_-v7wI8NgM1B*&CNj<0FCmo9G$*ZyAHFsEdXF@3KyBhJs;1F3$8Hr z&)*hClVpAy&yKi9vtkoy{Ro;lJzjIy`Yj}(U-^fYaQ^nr@i@8rL;2gL{vMu$Mdc5VM}u~agVCS+!D;PUS&R8RqHht;f_bT&)K0Pz*T|r?>m~Cd8=b7oA|vwY z$fV@JLdqKU|4eyW%Lb;eHfb5m>bPdj8hRWL#i@DHd_4!g-g1^v>lnwl{FdaKq$7f8A{p)z!XgOSWdIK4B(VPaVYqY z?HT~*wNvO4p`4S-!Psa;H3gp7Nm#=ZieF@4GGA(NJv6wur{-d(Z}w4sgHXGQcA~_8 z6`ZUrxeMn@ZtFKy(yb!!Zhzd*NhaKj*8MC0T=lzllm>+9vbF<^2{`CJ8#Xm>;7@N z`iCdjR#8P?jvch<%t1ZF25-K~;QNIFzX@d{faVL1^SCz@3cS)4d5^9-leji`p6m+WiWMZY(ZL1YL^-oW|>E^;>Zr-V5~W`dQ8C-wfQV9Ka!lHG~=2}xJ7y^ z?c^4wofHE*F&C(2C$q_##K10x{FTFdGG3DzA(@>bo;&Tdb_%OEaP)n_k3{~o+d3dP z6LS)r)-%F0|3x=8gXldRFY=AF=?eP6zkyaUR>g%p;tzg5SUoEX!2TP}=EF9c5pZgl zMS|8RC>1Sgo)}zf9ZoEAn%SUHAsckt*5GQZD~__-9r6Ib!4cTzOAfGA$ON`0EQR)j z!Fa;C9ZpJ=eDpR3&O7k?ALQhstu&2Q{nx!BXOo?FSJ#c}R@P5x8iijs28BXwJMQ(u zGtY&(Hkz>ul#+{?j}Fi5fK%S?RPJ=h-{Xm00zozGHpIp*CTjy;wB@VQx8i}CSGUWo#d2#qI_6n=hZ!QDM&pMW^Ug&l7vyl-ax=V3Qr3rRgXEE z>J!gnLwF)gbib9sE53`sa02#v>?j)1tWlbDB!%d~PwxPm@~EW}aj$a@E_Qf^-g6xq zpQ2~b$m?j~IXo#Tm^ztCHY}98^*UPMyLc^*km8@1z#TTY!EBGCoI)QSVn=L&Uv^>} zUACH;`4bfaNJ^X&hN0zJ4Th(${kJgu;aY+rCj`T|Et;k97mhxugr9-Kjlpmk#S671 znqdMx>#+OiFg_Ih?Pi1meUlvAS>zdddawpX>)E=u z^y&!{%RTf=9tV)9>KcqJZ-+6IE7Ma^KiRC!u6&25#2k)IgpKxJ-i7PxI_q9(xGk_f(|U5{`${H0? zSwKzkl=}#i@rJ4YF4^9zrESCGps&qRAjy`xqdvS!_QY^PzwRS2$eilHN2v)P)2U@x`JhuNH&_m0ZelwoeB6q;T8fsP zYp?}&1Diz|)xwLKB8oQBU0%M*zw=jDsC1ej> zv+)Xt!_sE^XPn$s+`TIvPv%Xr%dOs%g78+eP3}r+TsvO~h=DfIeg2Z`fX&^IVqZJ+ zVv|iilU3aD+4kj=9NuGNY{iX6Fe#Fn)wd}@za6l4gRnL9Mc|cY%vunHt%KdiQt-3f z*FDkzEI)@AWhge-V>h<@zizTLRG+`ym59+Q`3B{BcklR>gXDHRA~$-5QNG>}X3`9> zT7kIbg$9KSrwBOYA7J!kmZNZ>uTJIAR{*qc?V_%1Ir}=7$Jy5EZb50B&Et|i)U2-JM@e7$ZvTU`n6T^atb(o$T4dl&Ej#Jx-BZ+Gu9_;->CjXN^buka&)jdcx=>CYX2 z)-t-c8>MLXw|xYM!@V<5ojT5Crt*OXwi<^Uz5dciAEq}r^Y&-f9jpq~aJL0A)}_ej z+}~Zus16jlZo%}H3}NeT%7M(7QqH^Laleb(XVSbx_yaXEs{3+;+HM|Cv-@4zP+^UV zIewn>`v>9?lOV-)Yec>$(CPlx=ssVf&{q}m%_CiD?w;{0jWD?lFf~py8JYfTkSf7w zW-G-R3U7NK&$}&TAu;sNNBS^K@e}KkYu-i&_^-vPtHDVJIAGk5#juu9X1V*Yu`YMB z0rQ0@%M%+T>%H87_ZdzF<&x_roBKkH(=%!o9vtM+ue%Whmyp%zt3i;?m$;tHsNPkb zB_Fl~9M%gf@(XQBTwz_Cw79V5d^K2z6;YWtc3T?YE-*m&bwj2{iivXMH9I}J)GTXL z#iYWTL)=Ap%k6iW;DK~2G%zbF^z;i?oXsFOL67(=7^HExxaQ8fl1m7T>!Xcvc49{Xy_tRX?Qx#o~AUgmS`0 zi$Ck9l-pqOkNPPzZLzc=cBPTvqdYc1JonWBiOv;IZw!**pC*6QKgR@ih;oc&&_&usP`h2ewC0GIBgCf^y3J*M3q1EGvpHG&%>Z0ts-0RzFs z4X+Nx58NC#WeOX=w|S2nfzXDmb(*i^n{CD0)<@y0>U?uN-ZfW)HOV*Ao+?{$UjjG` zw&L&4fj-TAr2BTh?~y0Xh8VsNrPw4W){Pk)#ov3t`pzsqawE^|&=fo04KF{(m!3&F zd^A?wc^semqe|nkqLt0w0N9 zHQIf2fV(-xwsw-)e-z)000wb-^n-A-DwWW=zY{Xo#i!b0PiL-;H~SBulLR&;l+zdp zr3vtwXl=F&)Aj?>GbA%&*ENtmbw%3(O^9??9MpJP?>-gQ6B*F;g?Z}$xOnO*)gsTqs~!D&@1^|of+08DxFt92ci=+6m`Gccoh%}HlOzNxlN zibsv3v#pK41+)qS0iR&STT(>NblzdzzG9H9x;sto)*Rbf`z^faZi>pvJLt52U3qOp z*+7#cu+#6$sQ$Lv_I@>>!IduZU;FU;rZ!A2+tSy;1(Sdfas4dihwgT_RRd&`#K3OXahpMBrmux#&4IRcIx|oRYHEz2STDF# zmgN z3-&K~a$)dDLhdU6GPM8EQ^Qab%IBpVeOZe>Vu8Qwwcl5@-?z12JVpa8YdpRIBil!` zUp##P8NjFg9@BnN0AOFowfocX=Lz`5GaqQ5@F4c?@!ziEhSUs-!mso8L|qMP4ff{) zfn50Csr?53pRfI9M?AA%Rz|$+{{Qm-|7-t-;J-xtXSm|utH%ESbfJIR0~`J0ukw$* zpGNiOcfxOo{e_hl+DcO;B*cI7{*!N!pcZLdpb7ip7#L)-?0p1*VdGQzHIOD=u|O z#U+)d!mDe~HV5|NFO){r3l#&gkT(|9wOHe&d(Qt@Gf$#JQj^teJmBfA~HR-dDiyG$>KV zN&VjEetksQ@ym|Ee;dSgz7##?*>^CpraKT=bD{tLS9^y4{{o&*jCeQY2lnfXcy?EJ zSiYoKCQO_(`HnkNt+r{??U^&2^ULtebCL})_;KOVf~xX@JgFexlsS6_S6o`|l9uG> zO1V=^DOK8SNkJ*ymANFijkpZGd8DACw4h{(R3_z?EU7GhynvpT78K+c1xqGQc&M1QWG|?cic5)}Ou6~_6$O=*CaJ8s4;3Uc!cDmdr;SvC`bY$~oa<&{-bxXL9iJGX*rWIAV1`FqPu6$K?_ zd8{J_8NJ9Zr~pD-j%C9ID(O{zS!uzzxM^i&626s+3QTOA_=XI4_aIE-!klvN$idBs6|_QC?nA zR$ft@D-}Rmp@8|y0@K6^ z$v{z&a||R}S)5M=*^ovc^6!}R)5_UalojXW_{+;A=)D-Ae$3=5t;{Vfpvf-L(6hW? zd0zQriAf{4xH!&~oNSu+Sfy03+*FiX0_4HS0VbqWdW5SifQc#LB6|zL{@gK% z%ho87TgXU+;}|6Q#g(}a!Te1zjn=vvZ35KgEzd`89>@KM`IVNJFVV^d>3?oPc>xs4 z2dq{WNG1ewzH^!h0X3n(!0E8e91-Fd+e2j)$Zr5|S;b=}7)C{LL8YlO4-`)#JSqU% zh094MHvV*=+hvtWSJp2`oscpfMz59A8mKHOla?T*gI02tltk2Xlrl=bf=Ba;$|?&= zLj|#g$|Z#bQeM%LirmutvgL_Mrb0r>h`XUs5VNMs5n5Vis&o}gco!U8MZq#4%n{Ts zP$#0Ie3`TaI1L3#Zbe?v_^Q-9#yL^$MO?MMYV~ z6pgZ%go+^TE-5Z8mO@a*aYQ7^cWGTMDJv|5nIRc{*_)6+Ul3LvSR}bH7r1i@7e}3% zrkCYIF)nWU+zC`VZmuI684uWQMFCRE5)|O{YMxX^AOTI6mQ5~MQNk^%CE8OSzQ1&C`7A6GIaWLQOkR9NOJ%^yeafb|NC zm$7%1kuT@YvzxN#&ovR=Bm4i6j_BWy_l9%D>f=N$DbEG%S2>R3CuYu_JA3XFQfbi%v_Q^clP|*(`P&5u2wO`YM^<5cBnRXW@4R1)IomNWL|-$ zio*1H)wZDt5UXY7qzdTYmM@z_R%! zc$<9JiUMG|ivLh3zhFgi{$*%co?BdcRa_KQ6$8BkIwRlGd`qr}fUp;50pFp#k}6!K z2y*^|aonS>;sObXnBfKGEZpQ3xk?{_-xaw`STE7oe+j9FC5V#z<+)%~Jmgx&0fYr* zSh4V-DI7m(k!|k1j(cZLF)f}^T(Nv52r1Jv*Rltvn4EzA*=%}H?SdEs*p?viESa4> z-!c1MQ+`2ZUPW=aL}>Z(h8B>a#G1-2v7;dcaxmAlvaI5f+zKS+IBwLq+e<3LsF_{{ z!V^dwB|3Ia1{*NUlrSz3@uR>#dQ2)n^0@=SEeO(!sSu{aI2MTon~)>`^t7DH$HQN?nyqJ5p0w2;r!SF4L&IQF%B*u%ldL$c=JUjdCTA zsvI>grKkv6jLRlPom=`C$l=Ejg&_LD2zC{i5&_dIbHNU@q=5MWkMk>&A_lXdlsXI| z9cqsa)|rnE z>QMOr&;9@Z{{MeJ`Y%Wx^gT}YHQCVf(f_92fPVGD@s|J1zoP@^&-?!X{f$x7fRTUz DEJv(j literal 0 HcmV?d00001 diff --git a/files/board/arpl/overlayfs/opt/arpl/menu.sh b/files/board/arpl/overlayfs/opt/arpl/menu.sh index 523d386e..ee7e09eb 100755 --- a/files/board/arpl/overlayfs/opt/arpl/menu.sh +++ b/files/board/arpl/overlayfs/opt/arpl/menu.sh @@ -1187,9 +1187,9 @@ while true; do s) serialMenu; NEXT="a" ;; a) addonMenu; NEXT="x" ;; x) cmdlineMenu; NEXT="i" ;; - i) synoinfoMenu; NEXT="d" ;; - d) make; NEXT="v" ;; - v) advancedMenu; NEXT="b" ;; + i) synoinfoMenu; NEXT="v" ;; + v) advancedMenu; NEXT="d" ;; + d) make; NEXT="b" ;; b) boot ;; k) keymapMenu ;; c) dialog --backtitle "`backtitle`" --title "Cleaning" --aspect 18 \ diff --git a/files/board/arpl/overlayfs/opt/arpl/vmlinux-to-bzImage.sh b/files/board/arpl/overlayfs/opt/arpl/vmlinux-to-bzImage.sh index d1b463b7..6b1bd679 100755 --- a/files/board/arpl/overlayfs/opt/arpl/vmlinux-to-bzImage.sh +++ b/files/board/arpl/overlayfs/opt/arpl/vmlinux-to-bzImage.sh @@ -1,21 +1,11 @@ #!/bin/sh +# Based on code and ideas from @jumkey . /opt/arpl/include/functions.sh -#zImage_head 16494 -#payload( -# vmlinux.bin x -# padding 0xf00000-x -# vmlinux.bin size 4 -#) 0xf00004 -#zImage_tail( -# unknown 72 -# run_size 4 -# unknown 30 -# vmlinux.bin size 4 -# unknown 114460 -#) 114570 -#crc32 4 +MODEL="`readConfigKey "model" "${USER_CONFIG_FILE}"`" +BUILD="`readConfigKey "build" "${USER_CONFIG_FILE}"`" +KVER="`readModelKey "${MODEL}" "builds.${BUILD}.kver"`" # Adapted from: scripts/Makefile.lib # Usage: size_append FILE [FILE2] [FILEn]... @@ -51,12 +41,41 @@ size_le () { SCRIPT_DIR=`dirname $0` VMLINUX_MOD=${1} ZIMAGE_MOD=${2} -gzip -cd "${SCRIPT_DIR}/zImage_template.gz" > "${ZIMAGE_MOD}" +if [ ${KVER:0:1} -eq 4 ]; then + # Kernel version 4.x + #zImage_head 16494 + #payload( + # vmlinux.bin x + # padding 0xf00000-x + # vmlinux.bin size 4 + #) 0xf00004 + #zImage_tail( + # unknown 72 + # run_size 4 + # unknown 30 + # vmlinux.bin size 4 + # unknown 114460 + #) 114570 + #crc32 4 + gzip -cd "${SCRIPT_DIR}/bzImage-template-v4.gz" > "${ZIMAGE_MOD}" -dd if="${VMLINUX_MOD}" of="${ZIMAGE_MOD}" bs=16494 seek=1 conv=notrunc >"${LOG_FILE}" 2>&1 || dieLog -file_size_le "${VMLINUX_MOD}" | dd of="${ZIMAGE_MOD}" bs=15745134 seek=1 conv=notrunc >"${LOG_FILE}" 2>&1 || dieLog + dd if="${VMLINUX_MOD}" of="${ZIMAGE_MOD}" bs=16494 seek=1 conv=notrunc >"${LOG_FILE}" 2>&1 || dieLog + file_size_le "${VMLINUX_MOD}" | dd of="${ZIMAGE_MOD}" bs=15745134 seek=1 conv=notrunc >"${LOG_FILE}" 2>&1 || dieLog + file_size_le "${VMLINUX_MOD}" | dd of="${ZIMAGE_MOD}" bs=15745244 seek=1 conv=notrunc >"${LOG_FILE}" 2>&1 || dieLog -RUN_SIZE=`objdump -h ${VMLINUX_MOD} | sh "${SCRIPT_DIR}/calc_run_size.sh"` -size_le $RUN_SIZE | dd of=$ZIMAGE_MOD bs=15745210 seek=1 conv=notrunc >"${LOG_FILE}" 2>&1 || dieLog -file_size_le "${VMLINUX_MOD}" | dd of="${ZIMAGE_MOD}" bs=15745244 seek=1 conv=notrunc >"${LOG_FILE}" 2>&1 || dieLog -size_le $(($((16#`crc32 "${ZIMAGE_MOD}" | awk '{print$1}'`)) ^ 0xFFFFFFFF)) | dd of="${ZIMAGE_MOD}" conv=notrunc oflag=append >"${LOG_FILE}" 2>&1 || dieLog + RUN_SIZE=`objdump -h ${VMLINUX_MOD} | sh "${SCRIPT_DIR}/calc_run_size.sh"` + size_le ${RUN_SIZE} | dd of=${ZIMAGE_MOD} bs=15745210 seek=1 conv=notrunc >"${LOG_FILE}" 2>&1 || dieLog + size_le $(($((16#`crc32 "${ZIMAGE_MOD}" | awk '{print$1}'`)) ^ 0xFFFFFFFF)) | dd of="${ZIMAGE_MOD}" conv=notrunc oflag=append >"${LOG_FILE}" 2>&1 || dieLog +else + # Kernel version 5.x + gzip -cd "${SCRIPT_DIR}/bzImage-template-v5.gz" > "${ZIMAGE_MOD}" + + lzma -9c ${VMLINUX_MOD} > ${TMP_PATH}/vmlinux-mod.lzma + dd if="${TMP_PATH}/vmlinux-mod.lzma" of="${ZIMAGE_MOD}" bs=15377 seek=1 conv=notrunc >"${LOG_FILE}" 2>&1 || dieLog + file_size_le "${VMLINUX_MOD}" | dd of="${ZIMAGE_MOD}" bs=8377991 seek=1 conv=notrunc >"${LOG_FILE}" 2>&1 || dieLog + file_size_le "${VMLINUX_MOD}" | dd of="${ZIMAGE_MOD}" bs=8420412 seek=1 conv=notrunc >"${LOG_FILE}" 2>&1 || dieLog + + RUN_SIZE=`objdump -h ${VMLINUX_MOD} | sh "${SCRIPT_DIR}/calc_run_size.sh"` + size_le ${RUN_SIZE} | dd of=${ZIMAGE_MOD} bs=8420408 seek=1 conv=notrunc >"${LOG_FILE}" 2>&1 || dieLog + size_le $(($((16#`crc32 "${ZIMAGE_MOD}" | awk '{print$1}'`)) ^ 0xFFFFFFFF)) | dd of="${ZIMAGE_MOD}" conv=notrunc oflag=append >"${LOG_FILE}" 2>&1 || dieLog +fi