From 740ed2302e26fc21038d4599482b2c6c9836dbc9 Mon Sep 17 00:00:00 2001 From: migatu Date: Fri, 24 Jul 2026 16:20:52 +0200 Subject: [PATCH 1/2] =?UTF-8?q?fix(prezentacja):=20offset=20wzgledem=20GMT?= =?UTF-8?q?=20+=20nazwa=20lokalizacji=20po=20=E2=80=9ETu=20i=20teraz?= =?UTF-8?q?=E2=80=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Dwie pierwsze wskazowki od partnerow biznesowych; pozostale piec zapisane jako wymagania (PRE-21..PRE-24) do zrobienia w kolejnych krokach. PRE-19 — offset wzgledem GMT. Etykieta mowila „Strefa (offset h)”, czyli nie bylo jasne, wzgledem czego liczymy przesuniecie. Teraz „Offset wzgledem GMT (h)” z podpowiedzia. Krok juz byl 15-minutowy (0,25 h) — dolozony zakres −12…+14, zeby nie dalo sie wpisac strefy, ktora nie istnieje. Zmiana w trzech zakladkach, ktore maja to pole (Horoskop, Interpretacje, Kalendarz). PRE-20 — po „Tu i teraz” wspolrzedne i pineska skakaly na biezace polozenie, ale w polu tekstowym zostawala STARA, wczesniej wpisana nazwa. Formularz pokazywal jedno miejsce, a liczyl dla innego — cicha pomylka, nic sie nie wywalalo. Handler zdarzenia astrololo:coords odswieza teraz nazwe przez reverseName. Przy okazji druga strona tego samego bledu: reverseName czysci pole ZANIM wysle zapytanie. Gdyby /reverse nie odpowiedzialo (brak sieci), zostalaby stara nazwa — lepiej puste pole i poprawne wspolrzedne niz nazwa, ktora klamie. Wymagania: PRE-19/20 (zrobione), PRE-21 wspolne dane miedzy zakladkami wraz z polem imie i nazwisko, PRE-22 wiele predykcji okresowych w pamieci sesji, PRE-23 zakladka „Skompiluj”, PRE-24 raport PDF przez LaTeX. Dolozone pytanie otwarte Q-14 o lancuch LaTeX→PDF (gdzie postawic TeX Live, silnik unicode owy pod glify, konwersja SVG) — decyzja wplywa na deploy i rozmiar obrazow. Testy: 12 nowych, strukturalnych na zrodle (JS-a nie uruchomimy, a obie regresje sa ciche). Sprawdzone sabotazem — po cofnieciu kazdej poprawki czerwienieja. Calosc: prezentacja 45 passed. Co-Authored-By: Claude Opus 4.8 --- docs/astrololo_wymagania.xlsx | Bin 34908 -> 36953 bytes services/presentation/app/static/geo.js | 12 ++- .../presentation/app/templates/chart.html | 5 +- .../presentation/app/templates/interpret.html | 5 +- .../presentation/app/templates/timeline.html | 5 +- services/presentation/tests/test_static_js.py | 86 ++++++++++++++++++ 6 files changed, 106 insertions(+), 7 deletions(-) create mode 100644 services/presentation/tests/test_static_js.py diff --git a/docs/astrololo_wymagania.xlsx b/docs/astrololo_wymagania.xlsx index b9258897793b5b5a42f1d647b883368c42edc0a8..7d529d9b9fe6d5e488c3fb76d2bed5e3ad78bd4a 100644 GIT binary patch delta 12229 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

_g&4d zYSVnWWhlFp3`tnHW{N}|^(O3y@oh{$g;R4q6@bm_oN~o>IM6h8fM|S#8pAz&{=!Ku z5Oc*4HFU%RyEA{qtT@p!B!1#yxsr|0%H(@)0_0zz$Vd8{neSv zu=&*i^$^BvZ4MU==SH(THy4A+;bud8GLwH&RK0+Y3wHrs)*~5Baxp2qYC9fDNGyeD z45;=j6ju;F?6YXj3(ojK+#qBGH&_-$aTN68~enU5Rr^%>4P; z#|Z!lDMsJ_J7@(8Aw<1Mz)z*o@+X{C?j&aKG;m49*Jnp9AOE5HM|ry6TKNv95w=o( zx_&c0e_&G9db-*-!y?`5?BmbMjRD70Y`3WCZzChlj67%XS$Dy05I#Rx#ry@VlNQK{ zdM~(zY8oM*#Vx3Rxps2BeI7r%eC^-AQBT=;ann?0cHiF;Ih2sm`s1Zb;HtW?EPBO- zyL{mst^b(N6#cF#;mx8wJt;;VKaSz&fvw~4xcl%juyS@4qYzX5>E}3HiUbIvs(fto z&e3t(6!iA>s1f|=Jd17|W`(3u8pXu7107e-`&P_?QxAp^bQ#I8S5=&X>LYB4s6z!) z$nLgnhxhdJ&mBZ9WpT=|pOZ{uZ!z&euCYmx8c|sk;x)<&H^z%t(PMF777=mX>Mu_m zxlNdpyTZ-%AD5O+W**ii7ZK1vNAcE*3oRuBc#;}WhwP{vmOjQ_i|2jWj}i!xZv`Q;D?K35?U2y{uSp=DxDK&{Cd7B`{U-k4&NC+NKT& z_SO4~y!J%U>uHwB1%`uhp`A+O!6b&SA2|pb;1!JqU5HW%%blu#EKd26+^m?m2in%R z28u#i@uA!BF%5Je#RfoP)hx0H_E@dlV1h-q(O&_l*nm$40&|j1?#`rO_#@g$uP_x7 zZGTfw!pZ|;2b0%z-BgENHXKxXRpiS$LhZUX!@Jf~U%-@8)(rBpV_YPi`4&&#i&!}X zu~0A_fA{b!{BVt)!AsE90LPoL`Vy0CFKssT0XbVa;cv~G*B)@aNo`mCn})9;D1h#i zI1mhT_Eh_0Vc18yZNyqt$P3?~7R%u0b9B})=OfEc|Jc~wOTG3=8#XelGec%ABZp+~ z_?h%*ie&g8F^|t@*+o1Ca18d`@}$2}viUn6DdMP3e%ReS64liA@2~3hbF7T9Rc?Wx zPS*#RspwIdq1b@7MO1V#nptuc+Fzl*)5$bqm5x3GZHN;Sb;{%psp{#KwHkp(Y6i02 zTKDI>FX06b%)1VOMq{|(*5yiYhXIog<%+e#m|&UThb-iS`wK;uFhg925hLgjQjTF! zWg~RkaK0d;z5;1hE#TPEFzx}NIQB_3N(?~Ez1A5zb@H~{ z{QBCv6v@PxaBtB*20_tw$wd>X%!&JBS5w{?=+Q?JFZ#gW6x);U(NA92+n*@!6(F9u z6h{XuCCKQe789nG#%;*HoX+6C)JOTSS5g~GXYQMnB58!`0tfYOSX)MVJ?|YEt~D3M zKnQc<@}U4cb1^Oex4C{T&!)FF2T3{eX|^i)d`6@C}l zbk`kTGPVSNQmwGhR#*R4>YpdTtlhsD&6ehum z2=ew*o(S8PPaby9-Pi2(@t^cJBIv|Am-#eWlqW|{bp`!mwu~QA@BKe1P z_y6(&5RktNz5g`-fK9sul2AmO7? zt`lSe0ubR}?f5`^E&U)65DyzhXBST!Gv|MDkN@4VS@JBR`>%E^Fc6TxY07_^KPWvA z1jN9}%*L7V`#;zJ0Vc!%@xd^{5-Na%|0)~*I~0ycFbpJM_@9-!NW0QEjG!PO!B8L| Y=>Jgw0^$!U8JWNwMhR6C_0R180laxxhyVZp delta 10154 zcmZ8{Wl&ws674~Qb8y$-!GpU8ch}(Va3I*m-QC@t0Kp-+1rP27cL>4d<@?^N`|95L zGd;6stzFYKRo&IAm-C_5;-OKM2(5 zO$nF83W;LlV~8v#JneIQHQ+*hLdp`!3nQGxksMMCUQsCJ#YA*>#!LZ3cj znmSBb=SkDp{Nr4RX0h(IaT-#(vGB&aF+^E&ue-6EXpT3Ol+U;|)swRM|J(!rfBn;V z3nc`P`j3Y?Ximt7;XokrBvAxPz+qJi?3Yrbh`SYuDf5Ey74%6AliS&5KpK_`A(FE# zmF|_XLq8KkDP*SUt}u-}EkIWjT_3h_QIL4`T(f7q02akL>U>LbXRMyhy)qNFLoV&ZkPtsBV=f*1kdTC=iC!5S*B@7I zeO8g_#LRT~kCPLE^wK3vQX@Y`1IXRQ*?y;G2Q0va`9zvdmZJ+F0w*j$;ULX-IpTJF z$>`dMVJtUn<*@tkMwYxqdJ8rs>vn4;4z%)MM-qf+;v!y~AuH)&BKBvq4>(B> zyj}CI$LO^~a2-xHfG7MCI$5zeQ*ZZZ%40KTMk)l@o-d_bxGql8u?h9ptSBZ_Fqlh* zztH%81ykE%+W8Ylb_IKnvI$5r8)L6IV}9@J>&}YU29GCU@J0U2LbqH|xA1!6mTzqA z8g$p;O3}&1!)g*m9wRohBtrX1ZI@Rq-u`0Np_$t+FfJS-02F4?R#PMMB%WJLs%qYgx&$nhS(`1BWb=5nfGXPYMn2%$!?Y*R8B1| z)0kFfbp<;21ul|tq`AupiI%yGd=BraTZVc1&7YhLI04mQ!7Pa{HIatx)_RAiMOyXj z)V*+an5Y>10uM8twyARI3qZ4U#DUZi% zQUBM0Q0W|xNVga=#YOFmTC)0g()CPFE(QxjW7U6Fl;`2li7iJ$cH%o0GQY2?sO;*N z+;B=0E(3n;PhIPx(vC%VJjKqCI}9$+_XIEIaMa88G~Wh|3ofK39I7QWFQ^R5=_b}w zIxz;d<79{j8JPCO=UAO{@r3kzt82`fQdluvVLX!0DHOYLA5#ON%dK24?4=aq1yEuX zA1I@`H>&awaPZ8$V_=ku7`%sPoZ8DZj2cod1lUk;2pc6#{a`YquFX`CN2^6JTLQAI z9XVzkj=?u_u)frRLF<)V4n`S~x$HPWZ}Z#r!CZFL-_tjJqi?;^czAp^N&M=FDuZkt z)xF3nJnnQW6}UP`bxb*I(VA>aIW>PvRoN_Ru#u$652My%?+MnbCkS=c6$Ywk*q(nl z0G>+!{3-Le=NasDj`J8|)AhJI8nt0!hDe9&g84jO@?s&JAgA zcE5WEJ4AVxegONF{9Va%LU^Z#%E&z_J7L23D0ao!haiF{ ziNT_x_1VE5=zQ{do(@mf^NTMWN!@5XmBpD-JtEuQ)*jy{Ec&C6jC6Q{2M8Gy4i5&V zSjy0yp)|?H4wMLijl(VNYS_-LA3iw;u6FBX(bZ^3Y?_{D+UmEMrj|gQo6D;p_WneI`@(OO0uTk z{$qYw-;ZbWkS>DA>uZ#`3LxZaO?v1yrN`E-hpN80S`AC}h$ zC-6+C0Vg+cX4X*ysjT6IQjR-kjqkNA2dA0Kqq&!=`7p5+`aSPl0yEOT5O1t^=f#wW z#aN)WDrBiI;su>X43jbPuC*i4mc_$Pb@nt&9v>DTo)TlU4X>h~@GHFQ%VK*KRV!vy zk=H4nx@;+(wgpbWKKtP8H^;{ZE#TGAeMHDZLA!zVu8Q0;D58An8B3{*VRF$CjT4$f z*T=4zb?K|Aus-K4a5TrC^^2K~2bN{P?lo%B+8^dayX-YjIL_1cFC#Si*vH5U8M-c{ zk*!nN5(Z@T>xadi@wm5Txa8LYrP<0GGu-LR1IHy~$m@;U8&l{?e^8;zs~o}zE9qf& z7@MV#z72E!PIi)CNYyCF`P?f&9y8Ufa_8%<-RgpXOJT=T)EcK z4Qi&KPwR4x8HI0PqtqslsYvek6men0EM>l~ofX5;&s6miiQ6lp+pA^*Vz;hXeHFXeICxx5_s~IQjkyo~Dr_FQ*QYaaF zx+#}g?wF}TET)EZZP>VM*Xu)U-FbG)-RAQ#CYrLz2L7y8@3Wu@y-^=G^V{6a>%-yU z{hvnQe4tsppvvhCeA3@6?#5Y5QYp+9s@Lb9uJm~VpxT48XQ7cuj-kJ#nIku*7H=I> z4=5+Mop<3%?+H6%h-A^IT3|O>Q<9`9tb-Xqjo!3n^Si*EX}8T$A`bM$?^!%~{A9xb zb69Zy{NdS`9ti@~1(YLyd0`u2@WYC=Qw}KA+~a$?E(09dV(o>JxY_+`s8-44gs*VID0@f$wp zL*@R;!$WX~|MHjVv$84TuT>OFb-7xA%`1KKpM{@wg=h){MK_}7e#mW4E#db32Jx;4 zx8mo1J#S3G1XGw8R=R~|4AciFeVL}6Y53$gf3&HIBz#I|F%Xzu4X-#<8*UcvtbBZQ z7E7g!V~IR_V|yaPOND(>N>P)G*PY3?%{P(e`-)W z#sjmY*oe0t4=A#({Ef#yT?dfpzkidQJ(viVS+535?oh>{GCnH5=1V>V>A@~M8PItk z+!j6e+C!fN-drUP3yh61``@7hC2A?sQ%*lqYtfFkd92jKKOX!Yi6lB z*tkWaNvpz*2^P(nPhpgrrjrzhkuLu{A6KiBn)SMhF`s^Dg&$u#+`rp5H*5&pFUpd9 z-FY;XY_`~m>-tRW$b5X3)q>!T&L4G-Cc}^n!Cm8i>SAp~#yM3DxopawwY&AU3&5ab zUz#wmNF+D27qwLA20Q^}cVk=9eFEBd*f0rdk=TyOZ8@mrT<$Lgg|d!=Xm>`N1dbkM zi_9d|Ch>~vyzz&L+{&kw3_@>N&5mQl(}IBpnkh;7wIYm1@uxd#IGKDQ4FffD8g0_I z(9RWCA0fkoR~EEjl0>|{2NL126W&s&<%RJ*8~=|d6X2>(9ihV?D{(?=6p?Ls;UJ1^MQ zgPZ3khXKCiX3PdOURo29Yr$}LtKWsiF7VpNY?c7H4ap80pD4fi)<&bf#8Ws&;OSR(6NR?uqY7M~t_r0M8cm#8~g8t-Gh9Mha@#rAhRVum+xW z0W(@H0j$>F(Xo8f2>~;rky?}`-RY%)-TZ77SgH)gS6_fglFS;}BZumU)KzLrq}rrf zXbQBpOS?+qkkKm1IDhKq+J?QhqyEAU&TdI>+qLBl7nxh=%^9*U6h2fdew}%(@OwJc24yLJ428j?hO`^BU^9- zNFX6{y`Cno$MPplXqyh(AS~@jxI(T;rN~1)7ZFBUd(IPU3!c3VaEI~RBY_hy5;Q+bVp9~aLr5~0_%9Fz8IBnqWJBvbo1m5^ftYG5A zNriiEZmJwoyz3wP12L8v$)3wsr3*d*c9eihP@hf1dSA3r(2y08YI9MB7kacpEKVhT zj(p`M3G)4Ol96iM#FDaK&0`jn-Ap_2W}ye~`KduW)#kIQ<>9fTGgP1xgTlm+G#jI& zB(K_Nx!O607%uTo)pV$rHI1YLVW;t5~B)Xxs?SSVZ!@I6H%Qo=wt&&O9xOq zpoDO78_%)EnSkf$iu)s=Zgsr(ONb778XgW4PipEqg1tR0df1J8?ZGsro)0DI=8QXb zs$zPGI(1DA9W%b&t-eA$DuW(H(>xj~}dKj5{DD0PR0l&WyT%8Ahd17Vn{Znkdg zY3@d2N5wewO(EZxo%rxc=cH*~C~DbDzVdQYgJqb&CE^e=xk_>Q@_drClOar7Im=TrsYod49*5COUR)icv3DT8PLT z`$?r4ipSxVw4d}vqKPSUp)bZ9zACIu13dRcn>Tbg$MojM*RaZ`>Lr7oii z)+gwMWV@PKsDz>JMDLo?Zn!lv(;>gi;W_(ggZ!NbV9jRhDXP2ExA~Wpn2A3AO0Wiy z;t*&rhs!5T^uJ4;0HrnRPX$)cK92r|O?$&FhvRYlPuI*c9{%T!Sb5@CI(^$oD_>32 z;Gohf%X4LKIS*uNOx=Zdrmw=0k3M*}PseiD-@?W>4w4SS~%Q1JKu;VzZL$A~yU`U>_)( zWq<9+I_c+2pvYGq)gli!0Ptr6^5Mlad<(-NcYI!I3ua>P6vp*>3WSYAPINZ)BMsJ3 zw!4cTg+fKOOO3RqwdDyqONkSx#iA)tC*xrV!?*BmThWCGUxgKkMEe8jwdYkA z$-q)C?hHfUfTYShXjce>xbECQtwoJyz{K~@-0UCh*VCYDC_;Z?_baPQ_30-GRBgQ} zZ2QzptH)ThXkw3(Y@H+8qm6D%@5jGniRlU7D5d(m`+``;iU|sp?lM*U#CdQL#;wx% zouS*`O17i+FgUqVsT_(jJA`tJ9-b`=<&6upz+c!31;FsfH_$exeO3_(U{wqWLvO9) z?qrJfkG|NX>~znCa+VRoz!5n%?h`g|KYX0&6%`z)#K_Id%gc_LjGJT>t$(-wgLEQE z8NN!@2P1^lS#PXcZNN>V4kk?Swke2G?O{$2^F^`+K)GI{!eu9YKWPHCt z0Bq`2Fm|#0unh0*+VEz#xqmQrUNM#z%#i=93J4@IByTqe)X8L2qtdB`5-J*rv{sAV z!RR8tW)R*qS1U+;l(K-Hi>I@UG%%_E(KwYBcliFN3fS?X@WDBBv^+d3!zMi<1(mai zAE~s;1ZI1DT&-6CNA112m13NinT9S+SEdizQ7#z;$1EMu>G$+lkmd)YG~@iGT^g5w zU?857dQC{OQ0pWha{k-WA_*DEMgzMMWaN+3r?Bc~=sP^*=!R}C&5h+_8ykV16#n_k z79yT`JD2)y>bw9s?Va@jCb=<7lZZw8de=_Ht)qq3CWV#_5$=_73oK&TWT$%($p#eW zx>|%)vRQKGRq>^!B(BSXAGwt_sm;uJ3qb04YyWA)F08S)CjW6vdDJhdUwYZxgdVxv zE;1W5g|~T;Ul1?081n#zBW>tgt}L!efI|IpjRlpU42_M8sR+j9IFL@%YJ-s9Bjr6h ziIPw*!qjmysVAEqOm6S%=x9&&XMlBNI1J3iUNrn zpGyB>F%BXNk_*D2pVd-MX=BX@M}6%cIVt|jI6_9{gTjw%(J2dv4_k+Xv7b3g6t@~N zW;8{#erMrsq!)aUKmNNNe)C3&ejvh?s-*U5azJI}I#;90UJLxONro5hB7?eJ8%|{~ z@K%V?HHd_3>SO9$KG_d>q{#$o4tfmK1SMmEVgpd>Rh?K!Xu3bgyRS<`Kb9WT6*z#7Dj|qJ}o?snkFx)3I4pTpLYuas5G<+zy3V~08e$ITg z!tjvXs3-fb-zl8(4EAv2?;_r-9b-j`WCVNMG@A-` zI$YlwNAJ@9c61xRLR^jtR{;Aec785zMOp>JmfKa;G}USM?GGYzVRcZ_B) z{J)+S*E@A2NXH+5cs9TIyz4Y#AlWmeK=IBSuztyWU<)roCW@nrhk|40v1`b-};*TO6A z9xW{eO!hw!2;;yQ8(M(B+gsMsCPzrSR;ZQ^9*Wv_v@|d3HB;WEXsISY#Mq|BX|&au zdxnoTq&Y;*yoSn3-rSQHQ)DvZR1=yt*lB)NhtNq`d;$j8_77X|(W8B6W3N_%7L*B! zFuh`%i5yrtW-D>68&NQjJEP$&-hM-h%u7=sufOfEYEBepzd9Hio$WU?bN^u5ZCg^g zvL(p83R;kg3NaaoTFNfJre$l~&eXs!=V|GwwlmzYYsepI$j)HhS1?<7{(YzQt%qXT zs7JC;I0-leSQ<9EBu&g|8m_CTH7zl#Hs!!uiV@8j5{)m4jeu>Jfx~_OlWvOq>f)&E zVpi5FYAtx02shh;5@kGD-{Ug}shkxDIy&US1H~f0Ly;BBYZt>S;F1lkjU;Z(+1!%> z?gVs{UrC!C5^2tmt)Klakstfq3%h%=)KUY{7tobJ+Qz>AyffQ)F!S-H<@J#_JGa8o zoS*gg+QLhl%u~$Q3B6>&p4GFq=wpo4g1R=KE4}HId+F3<7A) z$@f$s&Bm9schxxz@2_!6*)#C4dexKr9(8kUaY4-k@2P0PXhVuO0&}@*;hjw1;Ma*xWm(j}k}V;;QkQG8{Y>q|ZQpm+ z<%RmaWW8^7c5q@VhrFem)8Bj?^AiV8pR@tb=8^g!BGWGros{91gspqQoNxkVH61V( zEluE-Kp0u#!He2=Lak)|ISPtR;K09%`5`WPM3zmkKLtr{0w#U7wjXhQhm&J8iQ~OW z@F1hDes&RazmAoWVzj`JHLI@wPrz2}k```5OEHXi!x};}qA6b*CQhsm%Zg$0F z^OYnnJV_*nfw%q}k}-MJ)y{ic7zrTg6C0(~5gHiLmi`bvE!Z?&wmq{Z2-8AQ2ep-N z`?`8RLiW>j(=xKjX;yC1D+|w@gQG~(&^_%= zR`oN#a_~A?txcW^PLV8vg&8xwR1kxrlW>rO*7Lkx8L#Z}9e*9lF}C=`2T7o~S7y!J z_6pNMLdn5R)SM`H#x7h2d!&<@QU`O>IdHcjp@n8WE68n%Na}<+UciKwg_H&MaKpsX zcO2&CL+V*Vsq{8dDBd?Pg}|Ue(Ru6x|29Y0r-zd@{cOwW)b%b0Y{kxrfNWqmu*&j~2V4R@t32Fd&y#XtE@He`RavXjaq*S@Q9$nJM>#?M7 z0Cn|~XH$hY@4|5oN(dzA?=A3(CwQf^Hd>dQ0(LRH$KNx#xUl0%WdXU^4&8nW&=K_b zW$cL~Sl<>>f0%$AV23`q2_-0k1jamYK7B%mHZl&CM~{@si&Oyh1A{V zZ#dDq6WD?GchYDH4%57`TecCb3~tb~dZ!Iq_S|`Yit)%`W~_=VsLN|;Th0hXOL-G` zXp$IlN2_t%7VS5yhsVg-L(3(neeUhZguXm%8@bKsIm7I*g#z5Pe`=@Dyf*rSa(`cb zr}aRQLrYK*Q#44!iXODTUt`caz3XzglOm~DPC7dRAa}QU0nAXw*ku>cd5u_#xL zv+UV)!5;w>bUtgXjE3KfbRKAM<{6cFCkYq3(kGUm5|YCST7R zivwCBL)2tV#e8qxcWV{WNco|KD)2Zp(am}0l zv@yuf^W_$DxwCtg^->fR)zho+R@;76fCHz}nuHQx4USbscUjjM5BXetL4wkh zulR-fb%_?%Q0Hr87$1^+0^*ITNZeNo@52II3`ryX^JFq;k? zwVSgDko5D+hkSWZiiA!kCjm}Gav>ST#}{ZJtKUKEB9w6E=o}WCcKP>AM3LO`)aXUR#As=0%Y{+byY-< z@EmWM50^dvmB2NA@w!0xSMs(E8iV=ANa6|G|968T{BJkWKVrCIBn;HQhI*9Izedux zXnur$)bW3M$&wzTx&Os|j1l^u_9?#@-haQe$B6$kC&r5ZucodN%R~MT(f>~)L7=~K z{C|djK($p;LJZD7i6x`5927J*%zql%^lj&eKXf91Ko)-y{|$0<`4x?>|~TokV{B3&Dj3fsp?T$_ykq z#S#2_zvwt3XgvRGodzina (lokalna) -