From 7839768f42d7d5df80406cb088669f7d150bab2c Mon Sep 17 00:00:00 2001 From: ISO53 <102249575+ISO53@users.noreply.github.com> Date: Mon, 8 Apr 2024 16:04:27 +0300 Subject: [PATCH] created website --- docs/index.css | 291 +++++++++++++++++++++++ docs/index.html | 87 ++++++- docs/index.js | 87 +++++++ docs/res/coding.svg | 461 +++++++++++++++++++++++++++++++++++++ docs/res/example_video.mp4 | Bin 0 -> 2111966 bytes 5 files changed, 922 insertions(+), 4 deletions(-) create mode 100644 docs/index.css create mode 100644 docs/index.js create mode 100644 docs/res/coding.svg create mode 100644 docs/res/example_video.mp4 diff --git a/docs/index.css b/docs/index.css new file mode 100644 index 0000000..11025ae --- /dev/null +++ b/docs/index.css @@ -0,0 +1,291 @@ +:root { + --background-color-dark: #000000; + --background-color-light: #101010; + --white-accent-dark: #1f1f1f; + --white-accent-mid: #939393; + --white-accent-light: #fafafa; + --main-color-one: #f8e8ff; + --main-color-two: #eabdff; + --main-color-three: #e738ff; + --main-color-four: #bf38fe; + --main-color-five: #410060; +} + +body { + font-family: 'Montserrat', sans-serif; + margin: 0; + background-color: var(--background-color-light); +} + +html { + scroll-behavior: smooth +} + +::-webkit-scrollbar { + width: 12px; +} + +::-webkit-scrollbar:hover ::-webkit-scrollbar-thumb { + background-color: var(--white-accent-light); +} + +::-webkit-scrollbar-thumb { + background-color: var(--white-accent-dark); + border-radius: 12px; +} + +::-webkit-scrollbar-track { + background-color: transparent; +} + +.background { + color: #ffffff; + text-align: center; + width: 100%; + margin: 0; + overflow-x: hidden; +} + +.top_bar { + position: fixed; + width: 90%; + padding: 0 5% 0 5%; + display: flex; + flex-direction: row; + justify-content: right; + align-items: center; + backdrop-filter: blur(5px); + z-index: 5; + transition: background-color 250ms ease, box-shadow 250ms ease; +} + +.darken { + background-color: rgba(0, 0, 0, 0.50); + box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.5); +} + +.top_bar a { + color: var(--white-accent-light); + text-decoration: none; + margin: 30px; + font-size: 0.9rem; + text-wrap: nowrap; + transition: color 250ms ease; +} + +.top_bar a:hover { + color: var(--main-color-three); +} + +#app_name { + margin-right: auto; + display: flex; + justify-self: center; + align-items: center; +} + +.app_logo { + width: 20px; + height: 20px; + margin-right: 10px; +} + +.video { + width: 100%; + border-radius: 25px +} + +.section { + display: flex; + flex-direction: row; + justify-content: center; + align-items: center; + width: 90%; + height: 100vh; + padding: 0 5% 0 5%; + background: radial-gradient(circle at center left, var(--main-color-five), var(--background-color-dark)); +} + +.part { + width: 50%; + min-width: 40%; + height: 100%; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + padding: 0 5% 0 5%; + text-align: center; +} + +.long_part { + width: 75%; +} + +.part h1 { + font-size: 3rem; + text-align: left; + color: var(--white-accent-light); +} + +.part h2 { + font-size: 1.5rem; + text-align: left; + width: 100%; + color: var(--white-accent-light); +} + +.part p { + color: var(--white-accent-mid); + font-size: 1.2rem; +} + +.part a { + padding: 20px 100px 20px 100px; + border-radius: 50px; + border: 1px solid var(--main-color-three); + text-decoration: none; + color: var(--main-color-three); + margin-top: 20px; + font-weight: 600; + letter-spacing: 5px; + text-wrap: nowrap; + transition: color 250ms ease, background-color 250ms ease; +} + +.part .filled { + border: 1px solid var(--main-color-three); + color: var(--background-color-dark); + background-color: var(--main-color-three); +} + +.part .filled:hover { + background-color: transparent; + color: var(--main-color-three); +} + +.part .short { + padding: 20px 50px 20px 50px; +} + +.part a:hover { + background-color: var(--main-color-three); + color: var(--background-color-dark); +} + +.text_left { + text-align: left; +} + +.svg { + width: 100%; + height: 100%; + overflow: hidden; +} + +#top_bar_open_menu_button { + position: absolute; + top: 15px; + right: 25px; + width: 20px; + height: 20px; + font-size: 1.2rem; + background-color: transparent; + border: none; + color: var(--white-accent-light); + display: none; +} + +.code-container { + border-radius: 10px; + text-align: left; + padding: 1px 16px 1px 16px; + text-wrap: wrap; + overflow-x: auto; + overflow-y: hidden; + backdrop-filter: brightness(150%); +} + +.code { + font-family: 'Courier New', Courier, monospace; + color: var(--main-color-one); + white-space: pre; +} + +.xml-tag { + color: var(--main-color-three); +} + +.java-keyword { + color: var(--main-color-three); +} + +.java-variable { + color: var(--white-accent-mid); +} + +@media only screen and (max-width: 970px) { + .section { + flex-direction: column; + width: 90%; + height: auto; + padding: 0 5% 10% 5%; + overflow: hidden; + } + + .part { + width: 100%; + height: auto; + padding: 0 5% 0 5%; + margin-bottom: 50px; + } + + .part h1 { + font-size: 2rem; + font-weight: 600; + text-align: left; + margin-top: 60px; + } + + .part p { + font-size: 1rem; + text-align: left; + } + + .part a { + padding: 10px 50px 10px 50px; + font-size: 0.8rem; + } + + .part .short { + padding: 10px 20px 10px 20px; + } + + .slide p { + text-align: center; + } + + .slide h2 { + font-size: 1.2rem; + } + + .top_bar { + flex-direction: column; + align-items: center; + max-height: 60px; + overflow: hidden; + transition: max-height 250ms ease; + } + + .open { + max-height: 100%; + } + + .top_bar a { + margin: 20px; + } + + #top_bar_open_menu_button { + display: block; + } +} \ No newline at end of file diff --git a/docs/index.html b/docs/index.html index fb7e435..9ec526a 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,11 +1,90 @@ +
- - -InteractiveImagePanel is a Java library that provides an interactive image panel that can be zoomed + and moved. The image can be zoomed in and out with the mouse wheel, and moved by clicking and + dragging.
+Add the Maven dependency into your pom.xml and integrate the provided code snippet for smooth implementation. And that's it!
+ +Excited to explore the inner workings of the Interactive Image Panel? You're in luck! I believe + in transparent collaboration and empowered communities, so i've made the entire source code openly + available on GitHub. Dive deep, tinker and contribute! +
+ EXPLORE IT ON GITHUB +xlEZt2bzQ)A!eHdzajWf_DVrkdCe51=RSu(T?5>iJZmt1fyRTV5q`T(u zOtG8BWU_ID+&4~@E}&6Ca>fU%Eb{t(e8|N^*F#Llca!a46Quw%U~GaO7P#RnEi#pu z*HX8ml~{4Q_;`pSHk@;oT?H14$l*b^$useF94WbP#{afZ4klQzudm77(|wQTdp!Jp zhh{LMQ&)k?1;P|ufSG()M1+7kFvlQ>?mofW*ZRmeaIr<#2b}a#71J$C9;$?)o~`cc zZ#EV$jSZD)ex&f?b|4tUYT(q$c$!^j)&>ZhG* zuF&)zIqqK5Q(y7Xw3or6sL;7F^~*#NdV;TQAUnj%Bm}m+XBQ(hv0lo~{d)3p2PMfSL}1!d*=&@Z4%?50 ze{UWRl|5F_qV4g%9G0FSi# laqiCK9hM yy&Effx zeLTY0qGYSv9g!WzX(1!&tOaAw9dE_X(@W*#ULtD(oF#gUb!(njBI1gQcgU$1ESAMp z`VWF $Jp=vD^)p*IU5;1b_WfQQV$VM?V zo@);aq{f;z;MH9KU2+7VH+KxeLF{^nq!~xt$d+DaiXwewo9jhccKcWQ&K%NntJ$>S z+=C|Hx6XKjMgfYl0O>4Z8z>cL;;N_vf-s^E6!O3FlS>c@dTxd1%$4xhq%63Lu|Suy zwu`LDdz_^vomlrb04hwXYC))!Q``6A-WH^}WiX^@WGlM)|BiQ@p%hk{rRwf^ekP(Z z6(w3Fy7Dp$)jm7dDV?KbRQNhzJ^NlLH%`# 6lT; zb`~F|@C54?c9YGU8pPTIL>zPX>#udVNi~ OKr ztWmB_WutCHn(jLfs9p!GX^BLkWyZvCAvFgxdz>pgipO=7!{xwCk@s`LDS-C$)C$u$ z#@A=%3O+4#_x>Wu5Qb$368F0R`wtn&REhACkHFjy@s=IPgt|YOefP-@y_dTFY=+(_ zHw>LLiSbfi-#$(sY!OSP{jKtR-ZkIrTIN3f5?bQoGVhUh!9a;1##;~1f>T7i_q!S{ z6fJk;3+cSMri$~OAv0g`TAfQ1SDN0Md@P8GtN0Oy?n}gWdS{0HXQmioI~OiTQhKU^ z{c+u1vkGX<8%C&+?GnKRQn4C4sRe~{4%z}E<49+B2ET+*XKwUFRA-aMr7v2RHe`=# z!Z{R2=vvWYhnH-gGu gmF#VT>5C*mZ0X1VnX zM}_lLTyBMMu1zS$?bG;RbS;+ $k>>n&|!D08JvI| b9R~=+I9SM-=_^K*;K->mf+1Nf= zFHt7*zIq|;m5rsexk^*iCcW2@_ZC~Aiz0ZPQ}9FLb1n@*ej5r_tNynIp9qDtV~ZBb zz(!$>acwMCy7fCtg@h7lCn(-0T7(YIk>;KA8ZRaq#01WxJZZ>20Lje|9N|-eWHY54 z*leYg9sBCsojB5<@G(3RmjmT9as>8?)c_BTqbh*Rf?zU7Sm39zxf#apiSum=wvsDe zI`|rpyAHClppQWX_(*blvvD2K?dz8i6q(Jwx^<9KsIRI${lz?R(PXBqVbzv4Oj6_l zx6Pr6-cMlC&lRgrtMoF7a2Tx;%!}kKsQ*dG%0y%>*eZo8uK8z_>S5LPk_nSMl4$!E z1U`3=%-&z_f~pjha~Zp3=G~LcLG;_Npm{j+To?w7e60q4-V85J3dD6uRFr>&6&dRS zo^XL>(}zc9G{S>B$xlA|7S)nIBKnyNoZMlzpkgr;wklMFiZ7ubw#@=0V1N*vrD _E>J z>?AI669CKNNXdTT)HHG*g1BG3t|RFfuv( zC$A{|irpfxlYSMitjGIpzohm4rj -?xd`0Le7Az@ z@E0Ux`XF^Gl9zP` BaIVg^)wBQ _F-ZrYrZqXq7kB=By&HZ(8uZ21wHbV@Jv1 zss2tmcc3LtxAAXl3<;>NNB6R`B*}l !4kFY(U?`93X+j6 zYiA_Vh(wt)xn1EH( zN;shia^0DJ
<))fbI=o1Ok*0%`!0W0a1o6u-j4cETiE_Cci`$>#@qQI%6@&`r( zbTo(dk*N1JzekB_V9;yEMnrbNH!MPnLsM1IgxG1cLQAu0s3m=bd-fiqv+RnEu1ik= z2dweKBh+N8dr#SmC37aVyV9xzsHoS>E^ #y&zcHZcP!`ELIUyoQ zvo-0@93xF@i|hIWGbsMl8KUXhn%u*rTIwj1Iq&d@Jbf3D9cTg@L&OEdl???kF2n*} zdm8sVO$-Do^3m_dL~Dy6hdi5b9}D|A=5g`%SMtm%zwZqW^w~3n{peryNMJb QXn!&Y#$s&H{PZrj2BVem}F}F$9tra R*2DJfgDKk}9V+y*51(4X78-0Pm3&(#R!575{zc6`oS?`&Q z8zPJl4N6kJpN|F4m2K{r |O z`HH7mdZz(PS8f+gOjadK^Rud |YP1q7JBZ2m6hyRPt!$mVsSOtj^pvm~2+q zia1N*<{21U*b2 FnU!#BG)T6WXtdJTl>4D=4T@yD-%-74x`m%10P zf+kxc=BiK dD*Me*9t(?LOa7hq5fPc9n SucyWNNHebU^<{8qx;K1(D;DCHKop?TE$lVs7*!H`oFEUl$qd6EO3Of9G_6 zs%T=R(=p{ZF_Y1d_BD@4c;i@+ecRCEm^KbYmT3)HRdop-LtFV? Lr3RnYn>9q?5L>y4UF-$lrix)5O$uV>y1S? zjY6u+3cpW>nS4#Hjz4 rTh&P|&DJT8}$4=rAdofKN@Odpy&pz6|su-LOKVda$E4drK&$On9P-79norlMo# z0$LBi)H+HJ0OmNS2 @~V`d}l_#EV7sRQ}(gI#t8zw$@(ynWLD8 z=U(luLy3z?`m$hkXFC`ivwxRe_LSc$^y6wf24P*RhRsQru<@wBQ5 `S>CWl|7`qdbGwI|6H>rd$Sj?l6=LFBOGN2qfqo)Rs}L zyWmc6GFHO`v8+m_nBlSY M2%tIb62cav*qbPspVxY}e`yZ!#dK+9!C5o4}sg8}+ znnj%>kPcrdI>Zg7!#n3?z}&xuR+65F#Xg*fh;5c-?*(?T6XjJ#?uh>#Qh_47fjwav zhndZ2$*0mAZ9%)-`x90tb~q}hoUfxIwihj}r~nSzu*$96k8C?#TY5~)kqW|Pm)0_D zhK7)0A7xRpP XZTo1Y`bx??!iH{FY z^8v8bpqvZgw @%TP=c$=uT`l@2RebPw=_lk|DJT zDViMO@pvBNo!P64hXH8ewxlHSY +FBWN{ zzIM+*m+A7TAxf6?a4tcFb{rauGH=eE!C243ywpi{_R+$f6@^7}x}xi(VuHiPe8jmA zGtJJR3zY7pWv;%Js&J_*N_toNC<15);3+*S0(@vBO=F3kiWg9gE4)g|7L@rXQ^v(O zoaPf}voef@q7jZ#@TKplMAu-L8dj>VA7j)^GJ!%PmZQPaz11=}6O_r?6$gg;IsvT> z24!+=R*R0 ?vk7C`n5z7e zm$Pj!n<=ntwA3cLD=cOZ0~-l?L}ve7x ZTQ46n-oB7 zH@saN4C77iyng;XIRy8B`Zp-6G9ldb6d3%#t?aNyIzIjTp!$}OK{xrQ>c%c^feWu2 zhZ`-5dNpgn`^WD|vgM;OF%?WTI@{1GHNXEvSOOWUPSgEAm=%BugQL=ZwYjg$GJ8ZW zp8u*@`Y5^9glu)Mb$UC!&w`4O L z$?2M!Wt7DS;pF9+6(u(RvCA@#SD9=PJq*VMnc<%63Aq#~yAJ=K2)|kL&GZ3^(2v=q z4#KJi-^LhiF+C f^u`&7Y~fl{B`_SyuC!dVRNGEy)3@L*OJz7`17q~ zzGy4GvHnEP)yHluUL+f0F11Cm3#WMZGgRpGw|V|s2+I8lTNRrGOtYn$&sLGm1eQbm z6))^t|L&P>&`fmcWXi7_66zHje*+KIF~hqm``uo|GW~tBo+v#jXGZZKt*SE{FLyw~ z2)sdXc&xzu$xM`tY?&0?%iYWl2kFwPTeLXLf0VI+k1_=S$cj+?lJmCtIXV?8MN*jO za?nufVtD4M)0OH$F9x|GD1dY5TT2O)>wo6RMIqS0c%9dU=>h=6OsP)$Dt9_t*G(e* z& C#*kR5l>==1V3NI5_bKtjB$-RsmoYXG*?tzjmkKrZ z?o*v)1=nPG?=L{!B7sy|Asr_+>l^|a2L)nfL6W(g!s*6nA32;@^Z$6deYAY;?UkZa z^HJq lywoe8t)@YQ*MvG1=qST7_|cZ+TM z^Ij0QawIXtAX+GmCt~nkar}-`PaNw^LC7exr!bss_CPSojpU8hT ZXDx&Vh8l?p$;x76oVN>(tux(p4xi#h>Br{WpOpYj;yWVB%JrDL z37OZI#zv&(B_WyJ;uU;$k50{E!+D{ *;YKs4z#lx7SmGOiT8SaMBo^p_Xi5w0Z#` zq!v_&H2)3>Wsd=Q&p@qv^uzise}(`HI-Q+Jojvq2Dhi21U_aNWCLD{Vy-xK|!>5zC z?2_p0dj;nASP|Bin0SL0Ee}nrF?%dUkC(`QZoGXd;OoreI2%5LA>bGnawGJ _e6XE=%Q$!=QPvz&`vN+s?JzxJ%&L`%We7-Wvb7;{8(pk^ zAadz$_7!&*H<~0kpU|mtV8;+~4409JonLR(S_(BjtW0r|<@W?2R7f2_jNiFF?J(vN zufv_QL8y3LC%lEOD&ewwJJ(9V)LxSR7-qTflqnP>x|gQsgec|@Ex0`#p_7hTnUO+g zd9F8d(${h2gxXhIQqK%WPAGj__3pQmzWdN7ULu{};C#awc1~%h%@F4FC8iWr;)kCn zjKpbSpm%RZ#7bv!(N(f6tazDgSA|XVv0RrxcQ81Cx`zM{I`+m?{i+{-9P%9|YpHw- z?lVaZoOWBG |9j0g;RvVBSN zJ&e8=q*!Dv6$*(lPbHCb1RST6uvwMfR7l6J05-GhrLmzeC@{#Y&yU 070&bZo7t{72h! +5JO9nLBS zn&>h>SW83+j1&%qxrd&E{In@Tx5sJ3vN4>pqz6@qF?;~tort$Oe}S@`T-&{FS#W|v zR)Ux5t(-sfI+j=9t5%7S4K|ih_uJ~-y^rY`%Lx009t80!dtCXra4BP8Z9>j{`>-Pw zox>9_9WeSkYp8K%p=L|$s)bR>Hu){Fy+=Kil;M23<~ue5$WExV^}J U{ttin@X)OSD$mk|5>N$)fcK$huu?O7L`7$U6S?Oy-|J+jwfh66S%V9 zLI=fifbjY8}s6SDi_lfuE%X`+Hf>c= ~LL#b^1)X z@XvItG_PB#^8K<`i5e?(0dR8TZ?5zQElezIZ#7NsmO^Ipr4-AD OQd9fo?l=?3W|8063t;kKJY^*!Ve@lxVk`pa7@xiibTh-lkzia;c?s=}3BuzBZ# zsNS8em9npOWt%Di%UBDHp-{ojsbYe;We5M`hVmMPUWF(@5e>n5%mihX*d-R#>~t8Z z>e5XV$e2wWg~!FDTr`RYLq1tK+VlI#>-8+G(J}+0Cs@9anU&s2g9a@Y6rr;@T86r>D z%eo9DV>1X}uWI`9uB8T%l?Lc9aMqn7Lad&ZkPQI7rs~3>pqQN38u-KmmwV<53t37B z{dksc>hl*&XN}dHl~GhwgnR(z7N1BYp@0MjpuIz&>2u!^t7iLpzVA__fp;iGV~Ep@ z3xAjl2SI(I& *HsQUztWiCiY58Bi_Z%^e|& z<5Y}$o*+`z>%QI_(n8I e5BnRrZCV^IHaq_b;^X+mc9tDYeK&)t{?z#vGd{ zZeu6-xDdj;+v L$U1#EQC@5pG>3uKVRpr z!y@s^lW V>+cu-nOvAIr78(q2GUO&g zdwfj P2! #lg~ndjC&q>XsYa>^{~!`YM~vKIe(&0W(;^>ypM7%V>#Hn4A=<4 zu4Z(~AfRabLu+3svSg `-_g>ve|-WHL+7C_DO`Q-F5*$G_5@@lAQ) z1hmTBb7x2Po^+jHh&f3#<^%Hc9`grcD*ecv%#br~Tk}>z#2xqe^)Igg4iFCj&!3eE zB&>P5+T@~d9G4w~Gsw+Vl&A7P``YDrX2+Yz+Awh~*>P^Vc9~8r?r@Jh^k$owYmgK1 zBeKG~@bV;-l%hO8nS%`0J%6&Jb#NveL0D#Q+p0twV{i>#wYK5RKaWCzYrd#v>7=b% zs|2xKUmcxrzgLj )R_h7)it6 z1n4 u4$Zi#PK9H8*e4*c;Fmacu~&K2p8^sEV~e^L@%vPD1bEq2(ki%kAuGOAXa%Z z7glDy)?tf0wsL|vV gbuBG1preO}{NxebvQKZ}(t<_0KEk;AKZQaOx6#M@v4? kplw`7u0a(kYEPl;S|-BjQajuU!z0wp)LSx?`nsK%rooXq`NmW$;QWo?sl#OP z{%-q+!OM~w!%csz9F=rbwQ?dS90ELIJsR4Mv%>PVtf}12WK~(qu`#J1>di02qqR0< zbS`IA^WLt`r`P@ (3jXmph&>{u>O$T2w=jFI zmdt9+ia2_hXJ%=dP`{>t5i50r2zD4@#sLMGi{9vD+Ok3S50O;EIaR#qZ7yWz@vUg_ zPw_Y}nl+y%wbrDk>BM(YyW8qu-e<%kH7wVs`
^dIlTx$=YvS$GvTvx!S5mTDs%;p;8x`%p?w5WG(0r zaRUeujsily7>1x?08$Z{MB8^QT>l%;{G``ZJZY7G-mxYg_3PCHA4wda5;m6lx4t-= zMRA%Rns@u&c5q<8OT#LDcEtLQF85Nv1m)&%x>OisAZRR@GuN{~$o!}N_kP)FZ@u(B z$WPSLiXl^U2gGc=A&y7YWowtfn2p)WK4Lk`$9e LXl`iNl5aA9#Ex;KK_lO)1>X`IYQLDv3tbH5I6SAqd1g2dd8yr& z?Pxm!E2I(7q;hB07{>dPHXRjj%k@>IpL)DflmY+H>2~mZVt%A-U>w+P6-yHqmf(wE zwA@43>`owZWKa5l#by=e+2paD^Ul`y;R#(9y0!W9`ZudidLRIs!E7JW!Ci785(BB9 zZ4~Vp_D=!9Wm?rHP$M`FzSfA6RUw6g!~de`F9?9*0k=@(&oEKdF4AMAK`b&~@O8;2 z;lW>58B>>Y8gWS0J5^e{Ov+Fo70|OE)65PS9O7a$A|X{(2IKrOt!hP(WOP7-VFIo* z!Ij2RmGlhF>6MzPMD;UkzK%o*+4{RKTBI^Br8?UlzJ$q2AcmF;2NtQ`{iOL(*qg2} zYz{1SxN$=^&{9({=0q{PxcIopG{dhXWBS!X`}2k@OzC1nd_4D~)(UYB9Dn`0NWb3P zS&6hfyDkz^P3tpFnCgF1cIAlt5B-{3YWc1qFXw*yvOWFv*fHa5i0b)tIY%lrpZIc| z)sLvqeGGJR#(XyiuFZn9%#{aJzA#ZXk|Wme0*{yFG^gF>O4xO`1;p`{CFzL8ol#u# z5vV76-5qbZUa! Bcv-6iXJ z!XrbE2YM8{%)_bH?obmT&8dzFj$FoZWd^v9(!P(nmDQL0t TcS1qQrT zDrI_Z{^Xh{Ljh>e7nk5+QqiB}&Ke$AytyX}!-2e{o5`bL*;8~6rk9d)(@)E+XVS;8 z;5?TcVF_ VI7zuX_e8y-gSLm97HrfoEwOFuIf zT29X3w|qXHKNy3(r3=*;?02DAq^Z9sf^G(+sKqYaJnkl^F3?IVDjmvPs><9n67k8D zn2<41INXvt-fl_>stzpo2+)gkb>1Rk>1gUbC7JWe=GwW)%o;x@b|Q*`y;(qY=&0-Q zNA%4T0Yg(^oEA9+{?m8Dntiy^wd2*i6-O*y{03A<5{`m7J7)&jRdk3OD#z}0<#M7k zvmVBM8$lTzpX~mH349zwF}r>)IKN!RNV@pP6`dB9A7rhv9o|df#vcR60ucD) uTgR z{2WDw!@6^4)2Z$_OVZ{?d!@#ymb_Eq*n^Im?LA+DVv };F