From 80c867d544627d1fc0a4c2c60931da0af7a0cd63 Mon Sep 17 00:00:00 2001 From: fllu Date: Wed, 25 Mar 2026 15:29:39 +0100 Subject: [PATCH] spiOverJtag: Add support for xcau10p --- spiOverJtag/Makefile | 1 + spiOverJtag/build.py | 3 +++ spiOverJtag/spiOverJtag_xcau10p-ffvb676.bit.gz | Bin 0 -> 48895 bytes 3 files changed, 4 insertions(+) create mode 100644 spiOverJtag/spiOverJtag_xcau10p-ffvb676.bit.gz diff --git a/spiOverJtag/Makefile b/spiOverJtag/Makefile index 46638ef..f34c4bf 100644 --- a/spiOverJtag/Makefile +++ b/spiOverJtag/Makefile @@ -14,6 +14,7 @@ XILINX_PARTS := xc3s500evq100 \ xcku040-ffva1156 xcku060-ffva1156 \ xcku5p-ffvb676 \ xcvu9p-flga2104 xcvu37p-fsvh2892 \ + xcau10p-ffvb676 \ xcau15p-ffvb676 XILINX_BIT_FILES := $(addsuffix .bit.gz,$(addprefix spiOverJtag_, $(XILINX_PARTS))) diff --git a/spiOverJtag/build.py b/spiOverJtag/build.py index 5445f1a..7a42fb8 100755 --- a/spiOverJtag/build.py +++ b/spiOverJtag/build.py @@ -151,6 +151,7 @@ if tool in ["ise", "vivado"]: "xcvu37p-fsvh2892" : "xcvu37p_fsvh2892", "xcku3p-ffva676" : "xcku3p_ffva676", "xcku5p-ffvb676" : "xcku5p_ffvb676", + "xcau10p-ffvb676" : "xcau10p_ffvb676", "xcau15p-ffvb676" : "xcau15p_ffvb676", }.get(part, pkg_name) if tool == "ise": @@ -212,6 +213,8 @@ if tool in ["ise", "vivado"]: 'paramtype': 'vlogdefine', 'description': 'secondary flash', 'default': 1} + elif part == "xcau10p-ffvb676": + tool_options = {'part': part + '-1-e'} elif part == "xcau15p-ffvb676": tool_options = {'part': part + '-2-e'} else: diff --git a/spiOverJtag/spiOverJtag_xcau10p-ffvb676.bit.gz b/spiOverJtag/spiOverJtag_xcau10p-ffvb676.bit.gz new file mode 100644 index 0000000000000000000000000000000000000000..b1932339dfea4b605f1a3e6aeb11ff629b9f82db GIT binary patch literal 48895 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٢x&lV47kEJSk?ymE{v zo~XXRYp7u1yU8b0$dzksL zcE5O{X66`;BYRKO&#`tVyFIN%akKxfp}(}H8Xe0r$iaY8Q8&}rGhdIJ3!t^JTEiS#JjkF` zRs-r4us3cnL2kbnw$S}3V68rrO*;(3sBW!xC_q?Na|MglYFxk2sJH22k88w}zNP!j zdlOa`MpKrKJHz&fjH>nCM5o@Lr>(fi8V0dfYwHAWi~iW>f627Zs`wAz4mj z#bE{HY=Rf3WTXTDjQ}jsQrr(qoQf6f&nCDJz!Ky8VTl{t$hkz;2CQIDHo=8cVkrTr zqr58B2T?yP(QE*gXwNAbHvmhl=!Ye?M6$ZD0`qKuKPs`100>f7rRt!FOd_&y1NcL9 zKmHIv<@)i5!hZZ=!T|nodTO^RgOGX!gSkbx}581_g-E>&qbVyYF9 zox%`=@*rbbj2T>-inLZ}WFjh#m!FQ95!sVuZbvjM-iVi5bv3I$E$usXXuhhuC9%)* z&{?}%-(s7eev{s9b;0SfSk1}WgkI(A5Smajb(3Jvhpr{we|(uTi>(PX%Mbf_khQvL z2Y#!5iTaI8HzxOGmO#fS$b9Q(X&Le1J^q(7avFJ`&HZ@4w?&z|>o~VM(Rs4*Sof4H zny~O?pgy{i4yoH+I^M*)28Qgs5xrCWW#yiGtFPa0-tbmVD=?GLf)266Vzb9P(rg;u z)AOFG*iW9A2|`|u7q13?dgGo)PoTnSVUco_=c7!h@O~wIx27H58 z6wd9;e{-Mu=%$25vf*7RUX_|Kp3)_`wG3W(IM-xIB%f2xi7vgeStF7LS_+{N8MRcwF-3EW}U*5{u*TEO)JUPy{4sP@((751;7^pe9Ru)Perixx0h90HHP4y4QL^11*;@CPeyEv$~b>t8@!53b37SWfsB2{ z3A^+7V$)WG{=1}0oI@vPYAeRm^!OJ%BB}ngk2zm72TDrY`|ftoH>;-H$jU!`zcWe` zOSav7@k!r9%bYUW+#6!TI(rvtTg>%Nw)}HW-=lZmnx7!@@Go~7I??xfDtHUD#V#%z zTiHJ92OZh&QEoTZr+P{prseO6IiUIK?&si|?%nZj(@QCTFLJ(Y9;$58i8dvimJ*Ie zIE`@GlIw+MraoUcIsEkGfKyH(&(7mEFH)SQV3s@rcmC0iXXw)!)a0X?lBSYO4>9UDU?w-13uIv?= zarfc-*X|KN=-Uhr>B*VXE10aD^L*2e!!{d26Zx4@T>0^E^Bu1?G}HILo_FUfZ)nc! zRUWL+2Qi-vh!=_G=Q7Qf`)YLyuFg03b%SQYXEM3)o8@JL7dkPzbN}r*8&^CzJywFz zoA>UE%HdR$(MVOWa>>r<=cr$-M=Wq+Ogje`<4=+FW?SuOM8Dh0A9|MD;=OX?j@;#& zEzU2rPSKW?6+1m&FvaNnDU}-$-*Gm4GM2jMRrgqTqH^YP+c*CA+jdxcoiVhqUK2aw zc7e;K;UVRx3iWS9h#vJ=uruOvH=dnq)jg$c)*<_eGxfea+y3~&5^L5Z`NM?t`0-N? z+=xF0KT6n@5pntjzUh3EZ9H|yBXDqWlf%b&kuN^&RPESRt>0pHRPc6dPjUR!zs`8B zS7jCTsc?Jwh6nCroI}p0Og{h9{z?AJh0i?ha?@{}95ZDkzT@%Xm?>1>6Sroow|#yW zFG4N0n!5Tvj(g%<%VCPmE^nPY=Hzf|>hN~*w!ZblTy(#xz{vIjnLkx|ipBDL>Xq(f3L6 z%-$vkXBY$-ja65H+tc2x>|DPBZ*=+G(-{CcdM ze40OeDCzLZpPun&?^?V?7e!^~&+`kN^6Lcbh+xajn)ke4jNMc2*yxVjYh080Am`xZ zqwVZp3`RM{?`V7_pZ)4k@@K9N>o0r{2WIrDvSO%~oheR!XX$bz{M1i#&vK9plNV@| zPUL;K%2GGzaA5T6y?W0ch+2mPGrl^l>15MnuHoko zJ-YRoOUEHeC(fdDa!*T98Cp4#uI+LeaUI|JhBbNhT7H8QNntw9b?*=($aMGI#MkmA zi{5N4$Qoo&Rphpa{sy>`Mq^8{?ZfQjSm_TLECHX*1YM5E|#K$VjbNM1yo}c z(>r?b59{X?u6}7UQaVQ+?AtfDNYZ6ApF$?Mor-d45!OZ2o`lgsND89%$ySGV~z^4van&MMo&^&bo|Q<~n53%=-j^WMA1+R4Jy zJ}rG-{LNh-MomWES+`~v^8{QZJ$9+c@up9-bIQE<{kSgQ9-DTLwckF8O>d|(?paQ- z3f`|tygqrD&TDY)ReE(JRdH)% z^*vCOIP&F|pMu&Wmp*duePjK}aMPo+FCO1p1wP;fQq$ziH@@~+qW!wR#%I`7xjs#O z&tCoL4Zq`ZP~13bd(O(aqEdBDtd!^H3SJbY1LEKhlX6O|# z(R}S;*!@InM@}-iC-&6uA%*z*o(lP#TK_hFpF!k>vk&U-%Je)td-^gui@$N=E~oZk zU(~HR91(EXaU8$+VRT?%$vCY$e$L*#PFL<_KB5|}Sz4AuTd{3+=XldD*Up=F8uxaM z2|n{xeM(%LKJn+G#m}}i8)d$d-ddl)J3Q{`vbt?|DYi+w*P4wuT138dm>eDDn1R3Z zzh#kByfu7TZ`~f9Q~4 zCvu$)v?9FuXjol|pqAg0&`>-oFpCi58z!TH2%DS1ZYgXjpV%V=q%Qu8xJS1D_ z?yi!5dzfV?j@(zDoKZgPNNmWlchQ|I{IZ=nl&2B9FEA}c;hBrumflI%qB0*%$~9a$ zr4zUPN^~>GB<}h4wM9QJw%V;*Il5p4_o?x{qx-Y{%(N3iUbE*Js^bS>$+*hs=QCg#4}5Bcn7`?8Fv;Yt-aDR*KX(Nk#>m$ z?Pia>-7~hj$#4IBJ!)JkixWB@on|mM@0)4L$4n3NUzGE|Lh7VU@~5Mh8|BKeYjZIV z&wjI->pkc3*cyJ2`!*f=O<0OaQ+af+%06EAYW;|$?whODv%NH^b8dQ@{qK*NPa@Ht zEm7AoUS1r!>u3LjQAx*Zy=N3G3c>4_z3-4xL;V@;4%3yivV+gx<=!)VxF$PGnYbP1I{$G>KuAvFKOf=qUzziwmn-yNJ`BE84G2!Wx*_O9_rc{dupG_sYWU8ls%{S=z9c8Ax#g&EA` z1FQ4R7Wn+~LRqx$3%((UJ%84@6XD-pa`sD{8V=6!xfj(@Jo#9lJAYQkvh^!Jvy2m` z*y&7GTI=>cz5cTEr{^dhV+J{Vm-p30#SzDzVAW|Mq5$Gyc7=KH&iE@v+ke?ewNa#< zVE?-QTDSV(;zhRQSLm%8!$6m1{Mety67FRXr-odbm#CA+ zb^1E3F7oM^6BYVN8&0u&j)t@tS3kL_B^)(6lMlW66kWf3!Ljgj2Uq6T?4EbSZKM9% z4+W9kZ_0ejeMb~W7#~d=e~Pz1l9)E-=SSn&Gvdyv56qYyPK~RxQPD$RFLIyS7q(!$ z!QE7qUyXfh$z- zyP6XGB#@iXcWr-9iyQa#>5<#cK`Nh*PcRLsA5|BXr>U8hw0F)kSt}mud>yd_)_&#G z**8X&*68Co%%~K)K*g$#tOQn8b?vYuO ztiEwPU6?tfllAB3zq}G>Xdd)V-n`NJrQ^d@Uc0J89ayk2dHXKgyXd--?AwAgCI$5p zdT_ovgtE{nxbAbj&A37n@~_G+pJ+qjp=)f%-MgD^naHxlc8vE=FRpj7oWHjIt!t!n zbD`rwyTX>d_6AWFkDD<1rE4{PXyB$^`mHq!kAF!RJ-=tiJ9W@8e(~f91x;_}IqA=n zhn3{H7JlJdP|5qJ#w~ zXTvU6+g1b*^Au3b$M&8c_NMGS&iVEJiu&LU0XI2w%$Ztg$)w>=$Bn>lnfd<9m+%>r z&hPTaybBTeqTZRh=3UC#UM#Qg-aa?$>Z%Xf4Vlr8F&$##McGT{X6#Bcz{f+cf=x?a zPJM6KarjFHV^~f-#e8Y*vd`fso(wUX5qWFUh?zOY2ZyBPEO%sPHk&k#p@(4luA`k_ zZY|k`_6)qR(3Etm^Umfq4$lL2p^b=ZVE04{vu-d*91lbuXn@9G`aUwQ|4UYGWJ6ZRMVF zug703V@xjG6wMfUc|w-#*TphFNrZW_;0( zg3cI$Va2?KzkbqE>PL(+nEX+gfSgY`l#sCK-JZ7m&Shm$%~PWU#trRuggZm*?N7aM zYyDP*N)Q%8XUbMk>KDfS`sQio1D!sMq=_`{5K6(#O)VFsHoIci6#uiVehp(Gy9j zyxCSxL?WMy-rdGJe5etb+lM~0bbFuP9OJ#ZgN+}?oAqQw-}PdPK4qo36`~G3+v4kE zU_bI%cD4Hc@<&{a#!=7LY@fZ5m+&le8J}XGy5KAn;om_CnTuhsT6QgdgZf*W$iFK0 zv7{qA_UK~wz3Ib0M?7UJN?%xz0(=h&e9k2i;|;%+CAce>6x25o+Kq-nAg;HHq;^G zX145n&XpWn8TpLct+zKCg^$l1&#^5SA}U&NFXxw*X|;Z(vnvy|8@XM6q>M%K+f-fj z1y?vb@y+GS_mf^v+wFpIPlxF zI`ul&mwTLjdHt+!yLU-<+`X@Xu6zq7ty^&*w!5b9`sI>!c~91tS1jDU)#(J?TR+OD zH((`BN3rL6W0o|NjP&h`CG|8n8}Pr4KAai+mM50X>bNj1#bVrZ&&JDpvmm^^(sG~M zdBVMJwfy?cxeGY?4_0jrwLE@>^-{kl58Ly1ut*UJ`w6H~AF8>ij^kUed7f&L zU@~;7d9?Ss&$-L;&+12PP^&Aq?(`g!^OEiQjuESjtUEPK^}b=@bZ9^RfpXI=;s)Y| zan$*p7E7q7=hh(PQTj!SR-F*Ag zOaW!YP15!!&rIiRZFXm*jJPOq-aAi2=Wd-IvDD}RMY*Y?(LN3^wXB8b5HEPv`-(i`gv|jeSEJOA+aR2>D1}tqG|-AJ-%^6*NRyq zwaiV`y+-*&s|h=u(iY@fFVH{cKh-epv;XM8nQ3EtuWren&vi(#ZmP4M_i=Qj=Zs%d z9g0!rr{Au7cWjoEN1CU~HZY5{>dBm&r#k&+L=36gLOL&f8xi@*DvM%j)WI^huQZyl z-2{zs+f^Uajv#H@>y)VwC?e%gLHPV&=IQ zw+>!No^+%5>%H5hui6@#sZ(RiFXUagu`%(9;cfE<|8sAaQI6|Q)C_aBB*qtB5Wmyc zzTUUO`xiY{z0>(SmQ-`ELl$1M&zFR3FxzwLkz|e0nq?xB>pQ0HZ7Y6mVpDF>(Z<~T z8AU(&ZHm{*Oxe;I(+_=ozCL(-$djc{aLzNFP=@zp6VHG6iM@4HMyU*G-!vUpl#wZ3 z+VkL@-FVBBlh+5~*Bl&Ubbs4^)G>Nh=J=eHhr3VpMND|FkMq3|#W^F~>5=k&@eT8G ztFzplIZ;;F_Vw#Agxadct!|==iq+eTEA&01!kjBv>mRLu9P3G)5`~%|{kpilrRBx2 zfDZOf|MVGSG7p(YT=dYx-z;Tae){|-E4lg8ECcGW%mmD}n-LjzU#+~0%HQ#M!l9=d zV>UUCna<IMv*~CWX;M=pAvq4QSr{CGO<>XcKU$v!}=ZLZp>eE(bTVl#j3fL zydt8gvHr8^#+7|nGKb|(Ok>%!>{QWbA8#RCedJ4h`i{DH?VX7;w}tb){E|0RK04ZA zcQS%h2UTneS-W6lN!!MsK6-0gd&UP{->4Yp>@@vcclxMIw^8H9`t&)Pq)wO}-VthY z0+}nHWnA}eWmN97i!*pk_U)PHqfY<2^3qaIZHBG4 z774qde`kYjU2u@gVuSK$mOV3OZ&tKTn+Zb1wEuC}4+1(;t zcP`>W)Yx#Z-E)uK>nSyFFzCqd+bQ-O)#=v{ZpL`(Ad!dB6%xH3jn~kI}+&0J# z`vPnK%ggq#jDk0~=SLU4f62+)I&IzdRfZ1Z>I1Hn8rQnEJwDLe6ZPe8%Io-*OVba( zMAeR&7hR`aGQqR%Bkyx;>%{UUOAh2ry}a|f_T<~*9ojRI{9bR}$#R#+4KJFRwYtp4 zoXvH|lpn{uD0PzV-RD<^nQ&&NPxQp{8?$#vRlTDsr$?(SZgNf0?_CP-^wHFNKJ&Vc zW(bSK_bs&FuJ5Si%AP^gEwi=!J?g**&7Yrf&N^>oSAR^nYWrv>R}i!lp=nn(Qzdi8 z`a+{0b+nB-{cEV}^?GZZQ(?;M=6lhhTJVN%#G2zIA6s&(-ugxdKB`drNwISE0qvu_ z;im6xK0D9S28`KtEpAEbu#ggHjWgPHoK^Rl!y)Z#zF>*`ojT4r(zfgWz8-(P) zXTUiJg7P4pT~BWS54K=yaHQ&7eP^iaYp7r+U1i1Dv@cL=q|NB-Wz#j#7u`6dZ1uc0Yuovh?iVaQhmQ#5;N6{oeMf8 z(gia?r%p){LI9^0ZD8m&inIZVe`^$*OTd{G>2g;gvpUWul0PlmA4{0WX*nVv4-R9A zYa#LvW|!!L<5=QKiTr)pB}S62nmB~Wr)C>ln%#Il@v8|2sA@bK|$CyfN>*5@U z{N>p(#*$05abZOM=Ij`A$)&nDDq*KU#`(q)@RcNFG`}UI+lvJ@ zAx&kbV?;R82&l<7mKy|q0%A13D5E>44E*TMdj@Kw*lSZN66_*N_?N~o@Jm5RsE|62 zfge!!2wCG9`2#9JsI_5$gL1)vx&3PYc^BY7u)%vq?!YHwgWo^^zanSyf3puFd1(bDn$7KQ{;A zJU6-Lo_qhlUzv#yqXgyfC9yN=QZE8WCW^|rYk(*h z+Mm~gZYB|-FZP3?u%sBh80g~5B~p;ZRe(NKp<k1~Td+;vOHnIEU(%}?(G#tEom~+tyn0uG{ zcRw2budy@Et&@>?Ok1#OIk%1n5mZ%Xa*9&p3Rh>KUD` zezfnT&;Qr^B%tX5c0d`~cR^;~l)-$zrZf&TaX{nM zL7o?&ctK=@puAu)5&@AHvep5|tAp%p0P{k=`u!0>P)0V&%!a%;l#z`xvmq}I^5lA& zX~2hu#^+x7aNqwMh=-g`3J*5QrIAb`Y~b0%g za9R9aG!WiR8b}WSNH-0n7uEb$2*@nVKu3IY=};ySHgLk~N<8*==N#h}Bp!#XCk@VI zoStDx$h+>Wa;oUqR08aIfvcWVffn%Q@tSzL!#dvy97uhs0Ve>#iF^XU7pcU_hIFs* zN4uoJLxDj7=~o-|X*9o-{(md+R6O5|aKUz&hlQcB1 z`<>j?I_~P?Vxd8IbH1`UIbipQ&AB3YY`+$Mc6OQ5v9D|QY$U#xMIW4UZS@-({nwdOZ z!iNnK>aCO)_hVMVyo4g_0x>r?di1>!QZ~J=iHZmd{t(9wFiLQC5rI$-2uoncMyDIl zFGiDbSj&qzL0Qm;o6h6%Jz<&hxXaK7O;3fiSkofoHi~_IgFaqp! zsc!v2&<+J=N}^k^9z0nCV{>RsM<#ODHF*BvVzLUrl*q*v8`nqh&Tn1R+gZ^L!9 z>V=oiyBLG(F~34jc`2>g0{w9@<OMjvC%No(|S1vzZofi}QfB3gR$ujdusR zs^)vEfFBL48_1wVa3bogPBbvE>J+_;%uf|H@kAFzT3Bvc%z0tODaY^P2SfoU*IDgt zX`h}-oNlP@@X0%+a@Z`#d=z@V-@7P?v0M*WUC6Wtay?*m@zBZT7P($9AWNcUwK?~I zc1=T*lx1>hKV})4q;x{eNZ@nb4lxT&32<=Qg5`R$plJ`}dS|d{?>4y}Ea=11KDVTb zMW9gTGLNd%t)&ird3xGgkl6X+TSJEoNr!FX%YU4--TB!+G8>ms)8Ah;Cy>2s?%Zb= z%3Br=etCsyM+{qYI^A_?{Z=9UEVVy-7k#`+S=S(F_9S@Q2l>@4>~HFrFF^MC~6(5`fPU7Wd4zl%gVcgY%(pI zO$^%N=)K1^!%JX^VF6&>YJtHDFz_y6+)qFS7FvL}TbOgLBjA=~v%?A;!KAW$S-nO* zfOciT4O^J#j({7J@KgwVA0?G7m%)QHo7lzoQN}zPCJS!3gO^=$DP?if7j5OOxy9(PJo))6|G#&lLDZzD58 z=XW@Z$qfGuxP3N)J(JPIlkL%!)mX2U)(EWX-?AU)XX?y;zVF60Qo%~Sjh<(`UYe5n z{Oziif?doxS?wNy{Ntu_q=GAzBNbd0R>4JM65U^c9yr#b*ev>Tj$RtR}|7eKCkT8Ajt9TtY|;) z{8mDX+&X(ExvUT*Xz+Ai=>|_`1v11{%aI{YQAj_B4RP7n5a&dOxQv

O%S^z@?&{ za;h1*RW*~;6w;~Z;R!y~?>)lu_R&stzTBENlU!OzKXo3S=2LC(2v4;a)vE^-%CbF4 zYpjXqnV}7;T+ixyHT=;24H@<7;x*RlndGR343|2-P!{F!Uw`IjrCQ&}4~s<=p8CDI zs$GPy!(PQ54fwd_+fp_BBCo#6e?0?qb8~&%(592jT9-=IY_WJ9scMv&2{&$KEdNkJ~X^CUCZrCQ!>IqG#htEOjJm3_$4Ep+BdCfTJ*Z?^3B zI;N}X=d8*ovNV^rpJcLJDrK{!)awwc=~OEdL8`XU!jsHsmug$Cf_r>8AcK226nG-gA9tnS8<~f8d>)7X`1i%z;O9SGJO=&khhF&VviYnp2aV0M z|Ajj|jyojd4$E-|7w$mg@kxFWci4hE48t8J;SR6j4kp|oXFK{I_~Y>Z@KfADk2@sb z4zq9vE$$F~7X3=&{(w5j#-k3&KgS*ZfICdY9VEEJpKynC+~E}JFxHloXMRayn&ciK zwmXd(k&4-dtjV?{y?L3$^rZVevAxxp(MK`Wkdv5Dz>|g8BvN=hO8vp zLA_ZaF(tdd65BhBH4%zOAutiD|NXhS+|^SQDwpFl0@&t=5}YOH4`bzl!Z` z#+p6~fgx+6?OL8WQ(~IxUMsd!#+oRF%8d9l6SSQ?>-Gf+RWW#*Y@OO%t{$zuCuV`-!!-9SyTW$MkVB+4ZB zA+i02v9ymO#XwE4+4Ia966I8Pme_vHSQ@2J8mMHOU2j%NlzcZOw)>5$2t}-c8fz2g znbRc9B==~s-DOloD&`re$u^Zm=+AMkIbO|%Xy+~|tG^(N$ zG6R)lv*^uA36t!0i0!PAjZp9m)Hs_a&pc1UOm?S=?F~jYQXw@^Q*9c(StenU+*Yxj zF|vIWA_Fzi=Fc-rC4g4y*Q$$ZC$fFy^8wiyE@c}R|0x&q4HtenJSHJ?K*-ANePSXa z2A!GPUoXe_i9KA(b?(god4Y@X(1|(O zRWAHuctAqrU`XiD!EwBYQ(oo5&G0yUmj?lJsdVW(5fM-HH!$a7oRgBB$y<{RTXw!W zdQ0|?$8LN6@5I|a@}ZOgKC+-i5iMG!Di#VoJYqC2W!*a8i5Tv6E9Yc1(odc`@KLyg zN8mql1QMqmAg?61>f+kb=k28c{Uc7foh$v6%lw85zZ@QufA;~wyjvpJ-6!JrOP=_n zG9Z-pd!qiIm}NiMoE+XAo{onvMMC*9Y>=OTOU?_N;5rv>hR5OI90XO4gdIPKI4&7% zk$n(<>Xn7%nLo^YafsmHtie$$eljNeLo^5Yu8Wu8yBY^+ziL~g`oAk8tuQsKx!Ic& zAE;1s6*OyoW9e(N!zDZd|CuAO_%-5Ocp4tQG%({(Rw_cjHHN9o% zA?Mgx&&N(MupL9GIcb0o86q?OC*+`G>o6EDT=D&$k ze*M}J`n~_oBQ*2A*phd-(0)CcW&SeZXoZKKp(7 literal 0 HcmV?d00001