From 1d3c9fd4f422683a3625c5a1e8d65afbdb614ddc Mon Sep 17 00:00:00 2001 From: Dasha Date: Mon, 9 Dec 2024 03:31:50 +0400 Subject: [PATCH] lab7 test --- .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 544 -> 4304 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 442 -> 2271 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 721 -> 7215 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 1031 -> 15498 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 1443 -> 29501 bytes assets/logo.jpg | Bin 0 -> 151694 bytes assets/svg/ru.svg | 19 ++ assets/svg/uk.svg | 23 ++ devtools_options.yaml | 3 + l10n.yaml | 6 + l10n/app_en.arb | 11 + l10n/app_ru.arb | 11 + lib/components/extensions/context_x.dart | 6 + lib/components/locale/l10n/app_locale.dart | 165 +++++++++++++ lib/components/locale/l10n/app_locale_en.dart | 26 ++ lib/components/locale/l10n/app_locale_ru.dart | 26 ++ lib/components/resources.g.dart | 10 + lib/components/utils/debounce.dart | 10 +- lib/const/resource.dart | 6 + lib/data/dtos/cats_dto.dart | 2 +- lib/data/dtos/cats_dto.g.dart | 18 +- lib/data/mappers/cats_mapper.dart | 24 +- lib/data/repositories/api_interface.dart | 2 +- lib/data/repositories/cats_repository.dart | 8 +- lib/data/repositories/mock_repository.dart | 11 +- lib/domain/models/card.dart | 14 +- lib/domain/models/home.dart | 6 +- lib/main.dart | 59 ++++- lib/presentation/common/svg_objects.dart | 34 +++ .../details_page/details_page.dart | 38 ++- lib/presentation/home_page/bloc/bloc.dart | 36 ++- lib/presentation/home_page/bloc/events.dart | 6 +- lib/presentation/home_page/bloc/state.dart | 14 +- lib/presentation/home_page/bloc/state.g.dart | 3 +- lib/presentation/home_page/card.dart | 142 ++++++++--- lib/presentation/home_page/home_page.dart | 203 +++++++++++++--- lib/presentation/like_bloc/like_bloc.dart | 35 +++ lib/presentation/like_bloc/like_event.dart | 13 + lib/presentation/like_bloc/like_state.dart | 14 ++ lib/presentation/like_bloc/like_state.g.dart | 56 +++++ lib/presentation/locale_bloc/locale_bloc.dart | 17 ++ .../locale_bloc/locale_events.dart | 7 + .../locale_bloc/locale_state.dart | 15 ++ .../locale_bloc/locale_state.g.dart | 56 +++++ makefile | 19 ++ pubspec.lock | 228 +++++++++++++++++- pubspec.yaml | 27 ++- 47 files changed, 1253 insertions(+), 176 deletions(-) create mode 100644 assets/logo.jpg create mode 100644 assets/svg/ru.svg create mode 100644 assets/svg/uk.svg create mode 100644 devtools_options.yaml create mode 100644 l10n.yaml create mode 100644 l10n/app_en.arb create mode 100644 l10n/app_ru.arb create mode 100644 lib/components/extensions/context_x.dart create mode 100644 lib/components/locale/l10n/app_locale.dart create mode 100644 lib/components/locale/l10n/app_locale_en.dart create mode 100644 lib/components/locale/l10n/app_locale_ru.dart create mode 100644 lib/components/resources.g.dart create mode 100644 lib/const/resource.dart create mode 100644 lib/presentation/common/svg_objects.dart create mode 100644 lib/presentation/like_bloc/like_bloc.dart create mode 100644 lib/presentation/like_bloc/like_event.dart create mode 100644 lib/presentation/like_bloc/like_state.dart create mode 100644 lib/presentation/like_bloc/like_state.g.dart create mode 100644 lib/presentation/locale_bloc/locale_bloc.dart create mode 100644 lib/presentation/locale_bloc/locale_events.dart create mode 100644 lib/presentation/locale_bloc/locale_state.dart create mode 100644 lib/presentation/locale_bloc/locale_state.g.dart create mode 100644 makefile diff --git a/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/android/app/src/main/res/mipmap-hdpi/ic_launcher.png index db77bb4b7b0906d62b1847e87f15cdcacf6a4f29..318aec9953a7d67644ee688f58c666e1a428ad69 100644 GIT binary patch literal 4304 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 AQ2+n{ diff --git a/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/android/app/src/main/res/mipmap-mdpi/ic_launcher.png index 17987b79bb8a35cc66c3c1fd44f5a5526c1b78be..610643e6aec5dfd0aa37585e8a2f43958bd797ac 100644 GIT binary patch delta 2270 zcmV<42qE{n1K$yl8Gix*007uvZqNV#2&PFyK~#7F%~^YJRMiVPt%&1W$41ZwTX(tvGNNs5m?N|uH#0OPS zOhz$eVNnbjvgBcf#5^R~-Fy7b`OZ1_u{XQ4GadPsBzMpK&VTp)&iB3-i!nwnC9-~K z0DijU0f7f?oB3AsH6@f0`IXs8YM7df^D#y_8Nf%F;KfZuUj&n3@NL0>l1aP2e-K3n zg%?WKI^t50fC-lZm3x;`BsPIw<~kuoh?L~!X6X&7E(11d2r;(t7a zFp+DIyrB(r7I=%WyYMs-BX-RV3 zmNJRU`#RcK1`Fw2Kxi0vj{CG4W-}iW=HPdXAuyvQm?sfbqEY`oKOpW|gMvEBs5`8A zh={{brJ8!f5fe`(J(?55fd5_AW?VQwvkP0sEaO~`k))w1<_S~rM3qtnhUq9l9*zUu zZ%gwa0)J5(h>gA%zs&R&68a#{Y*}js2pQo*f`}jd(Y9f_-027uh!~=hAt*DHYS2ua zJVV;Mk136ePL!d;urn|TlV92@*`?W-t?RXLjDd%-Wl*!E&Eet!;g8`>v*DVn3_%e< z+|FVf#X8QLoytVv8Xa4*71|mu)^t$?4TH)}+<(1HDae>*Slw0hBd>IqM!=X>ξS zruzWe2D>a0EE~#Yq68QeI;O0+1~t7V3aHd5lzT$dXxZ3QpVvvQnMah;0OQi>FK_6{?D?*BTdV60|>Mb4+Hol6E=7_WKlv@KM*RgtnmWl zEPqO;QEE~{`+>@jkZMvBHnp^#Ubbw>XP1Rm%PzY0Q#h`WkgiIp(L>Tn; z_Wk--_r+o{p4GR|BwPQzZdHFT`Kq{{= ztT+@yn9opwjRi&+M`RmJG+SE4M4F{U@qcM+ zi!FO-+28*9_kw~#(2mVgrjg;~6RsMg z00Mb!ZD*3ngmMkkYcA=;iRjX$zuCU6Hvh75229hu+sQ=K-31BTg`A8SIp5v$*s4bo ziA1WdZ+m)tD?xxL?d-`hyV1)n$bCVhH2`wcA6W}Gc%%LL-EAA zbx)mcZIJ?rXDA;W92EJG29QYCcznpWQ;VyA=iMjQJpRH9)j2t1EyQH-7QnFR*|s_r zw@o~r++MqF*FSbD)2XRI3AC~GW^frLM|@y?x)lx~{G+M~}#|>`|lo`g%Rv^|c&9>6pAcs%G}# zEkwweoSf3KDPMjOWkjbAWq)4D@pyc1-QK#oIz5rOEdcJ5Xk0*?;Z79uP{^8CFo_Y8 z)@5P`u+Eu#69AG^l&96Yl~8qNs%K_3csaA1Hi(V@WWBPuBsVwLYoK8)1pd0?j`_9Q zx4P`@M-vFn6R~QH^WJa{Hgi^m2thSp3Z}X<5f2&5IY^`*l~RzMGvrN*4Ka zS;o{;D`7X@IOh+;pntjfmRnY@USpc!;*#>df$!F=UjAPF{#3RV%U8Ym=Ii_S*KK?C zFV|0>{`9)46^|^{cW2C)NmJfu1U_|8jIw!iZVH9N@u49fM^RDHy0y=)T={S$64|g} z<30EM;@yAO3L3 z;-$VVsq+va>d_kqv{XR*54=6TU?MbE2w0elLDL(%clyv|Wo3b3Hf`DnwRr5MjEQAsrl&0k-EJH zT3cHe{c=IzP^JkU9DEOD0f2PJ0V*si{;$v=H61UwuY2&R?3^jZ+2&*5BVd zVuS~SA6HN)1XeV#Uf=%HpS=9%EzUzTWBP$wy&#iK-t!jBeJ5aMacIiqvckd%M*3%a s!!>hHE-i(B!^->r&?WzW9X~jI4>3^1FN8OjjQ{`u07*qoM6N<$g6~>dJpcdz literal 442 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 xW_s{T|Esiv0;Z||& literal 721 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD3?#3*wSy!iOI#yLg7ec#$`gxH85~pclTsBt za}(23gHjVyDhp4h+5i=O3-AeX1=1l$e`s#|#^}+&7(N@w0CIr{$Oe+Uk^K-ZP~83C zcc@hG6rikF&NPT(23>y!y&wkt5C($~2D>~)O*cj@FGjOCM)M>_ixfudOh)?xMu#Fs z#}Y=@YDTwOM)x{K_j*Q;dPdJ?Mz0n|pLRx{4n|)f>SXlmV)XB04CrSJn#dS5nK2lM zrZ9#~WelCp7&e13Y$jvaEXHskn$2V!!DN-nWS__6T*l;H&Fopn?A6HZ-6WRLFP=R` zqG+CE#d4|IbyAI+rJJ`&x9*T`+a=p|0O(+s{UBcyZdkhj=yS1>AirP+0R;mf2uMgM zC}@~JfByORAh4SyRgi&!(cja>F(l*O+nd+@4m$|6K6KDn_&uvCpV23&>G9HJp{xgg zoq1^2_p9@|WEo z*X_Uko@K)qYYv~>43eQGMdbiGbo>E~Q& zrYBH{QP^@Sti!`2)uG{irBBq@y*$B zi#&(U-*=fp74j)RyIw49+0MRPMRU)+a2r*PJ$L5roHt2$UjExCTZSbq%V!HeS7J$N zdG@vOZB4v_lF7Plrx+hxo7(fCV&}fHq)$ diff --git a/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png index d5f1c8d34e7a88e3f88bea192c3a370d44689c3c..e127bb46ffacbda97c7b83e62459bac2bd03d994 100644 GIT binary patch literal 15498 zcma)DW3Mp0w%mHQZQHhO+qP}nwr$(CZQHhS-}?_vlTJT1ZQ5qFGqV~YFDnKEi3te+ z001K)F0A-p8~^_m9OyqZCw9350N_@T5Ef8&2fXotNY@d`a8=3aa(3g?azh=24TuN9 zW<@Yb5SZV;jV9upy^lMhhYXC(Cwz(n0s=0a4xi?`{dxor48#gzj06P_(8o8x01vJX zzV@2}Q{cJSv0{EFk{ zdX2QM`@cXlQN8LoLXFE6cI0Yhi_?xoXUrFyXJKg72`r|cTV7aLjO$-Jj7^&um5mUS zBaFHGe;p)CPB&3E!*Wgrp!xVAoioRWKVKc19ARAcy5yKlWQu0DsH;@KqFFg9%yZtk z_MJY^yaQV@O3eoGG+_Q2G%f##LyFWuO``jCyr6X|ZS(y6TNdn0`x3UokT+L`Ztq`o?*j^TX20k76{f@yt7*Szi_{5WnNJ!~uPcaK!1 zrk=40oeK3isRO1ce3r`iQgGQTD@N1I8dtsVpl^S!Q4vvuQL<-~v(kN>v_I;Bj&^i= z3T%28#?gdv^N$@!Ps}YqwdBp9oi7J5Y&`(`DRSvS8T{F3T`?~e5z}IrhEX?dX@uzk zb!L8x5j_F^QL~O0JrZ*V5{KdgDfl-B&^YTsSrcvOLfW9Phf>K=-mRVg0II)b?3r=$ zRUp`3kA*HXa}=(Jg|ioyjNt3f8h?%`k7>7!FHlF1K_Tzl;K*8B@4yT`Tiu`2?^nr^ z(E`S44bCaRh>DjUkYX<7r-_IH6D&d`C}fO=6oPb3pIh=E`YXsQ)O7!0%*lhRMze`i zj7b>t#R(iVg0S{oB2v*fiIv=8sujeA0o=E7{@{DR14H8ml7c?_=sD0Zz?ZmP29#IV z4)HrFZL$e^5&PfP(%%^Rmw=P#yw*&7&kduK2%xJdM94jJLisQ=O!L15p2eRne78+% zp^re))J7c-x=M%^k68cUNO&0#>qI--?2iTF4(p=ZnK660c4Fk}6Pbm@CU_2|73%lX z6fti%Nr&3#zmWwlEH`fBM{~a0KuACNvrkYk68-5Jj_9_Flq-~nBlq8{-GLJRQ#&SB zC^+y9C9Vk?2!1d;8+t|m?RSC~4G+~)rAYy(RT%hQc(*uzw?NDo>}d!7<{+otOnNHQ zRlcTM?+Tb^y!(hwsIQm@R9pr-%MRFYVosvx7+i?$Z(Lqooc?li$L*lwnOr<6z-4F%=}&C5TYcgE=^`w*FG z58?KpALuNXfouN7UNZ&F{tX&Vv_YYEP1perHdq9IGcZK_-k98P%Lq%zuC6qp2$mU! z+P9~M0*8gRV2tIx_v{IJmu3$L1@D301>R9 z=+|)UJfQB z0hp}OG{tSQ4+%`IDy5umytBY*WMEQpFo!Z_YjP!YjDm#QzNjjG7->a3hoTYFLlm#1 zeyHWhEF(l9>dN>F+XHY~X~wa~FKy@SMz15#P*^9}I`c{YZILYRzSa!-!k}9?*P;ID z*Q|xsa|+=V5r%}S3?Bpk*$K*gx~VhCIrP9jH3?Pp8=-Mw|3}ytMKl#8J(^2YK};fm#3!v$a9qEgO|oo4V0n7A z0bI;D3O5-5T;Ne;^(Yt05szfB_Q0CJV7%u?evwm03=@8G1S53ZK?JG9V2F7~JOTw0 z$GDoR{;hxpsAM*vJ_`I;+)*FQfY|W?^AS&kPB;;A5egy=Xl1lOSZN2mZ zIr+?CfSDb}eub6rXoo_$vhICoh}6N1;G+&i1mJhBm`G~;;Y80c!!9+`cehB3(Q{745b1GYk>B2JwM`8f1Zl`yWbJjmzp zP$T#L5p|J&F^UzL*R=GYz<9mJ4@c?3KWr-wfg$Nd%UM|a^Mz1)@&;p*Y6OaSb@&`J zd}$euAW{%xrz4X9T>&0^;z?LO5mGsd9Yt^}BhMF!hC6YqjUW~4m0 zRhaPwv*!rbiW&M+({pBaT|+G5A1G@~Dm;2!-*raw@SsRuM}i4`O(ZoeAfu|mXyE97 z)Ul5;=p^BIk=l87xn}@~|5!_Nmf0Q2Vbwtnpcx;`^U)_=K)N@q_Yr^s6_f>a{RK+M z(N8nRTMXe%+^$dj$3eG%ZpaWogC*L8Ca1&~1b$`H%ezxPo@f zF^yyN_sCN*_%J~tKB%Em3@zK^sUyiHMids{Fu2&WsYM(m8_9T+Y;v5usYa7c0*%YH zGP`MZgLNpyanyy$Y9w1UsZsAi=vg4|Mv2k4wD`kqAgGO#`9CJm8MHx;Y35dmNu=y` z>2Z(7_n|_TpTJ-t5_Qp)(=k!I2^$Ln8WCw=P8;9ZjXBs?7NfsuM(9DxBhN*N@KJ}d zX2h`)+QTer`@1Kqs}>t}%@xdpj_dA1XpxcLcQ7Z}gqutbn@J*CObm)sfu5TOyCdJx zY2t+)f(Ho-GK6wJk(?N&#VI02BJYmq3M7mjb%zV}L6+Io!cnUyL=bc*(9;QwA0l{9 z?=l&pU`D~L0c4`c9embLra5YrDNw^s667%@M5hIJz$6NrmWyPciFbDry2_Zkjl^qE z{bY?HH}2EHqmP4-N>V?7?-zJ+6okRj;pqomc2NKbSEDEO>!Ia{1|;Cs0Bo5Q#k`88 zF$M|uCFxBB9a2v-Ce9A%L3$IP0WQ$)mcoMowd)=X!nvyGmOyCFAY8P#l$Nu(mR(HlyJU8%uVcvtTnY6yi<-!RmA zw@E7^ao!a9De~A8!h#AFMH&U)C2B|T7g{0Dq?9O#Jk=w)62dzWXl+s19%V2C)5^v9?#!bBCL#F-_GRDTg2 zC?)S!vPrq9PJZ7GX`h-pP1T`wwmUhL@n1+T#>+$*l2IBvQFRIHLvte+xxCY$UB2l* z7G(5G|-@c0yCmKL4uS35^XERJ2{J17(#AT z1q&Wm>z+9pOO|HX;su{AdKjb7Ng@Kht_YnqbbxTb$7=FKsr@PdXH8Id?!U_~&`>DW z0n9-LT>^boeh+epQ;Y><_H7CPE7L8BG-&tvXnOoo;d$m)BYcsAuKGv95%_8ufuJpB zXy>G1_NT|}IzcNt_`hI*NM%-Jvcv3qcP(Isvy5c1p^LHfaqy29}A2L8rw5K%z0QT8Y$ zVO-PnYNYlu<7nz3MAE|1;$>ztMPo`Jl#M&1AqFT1OI+6q(4Nc|mY;N9*KJV}4kupC}2cc#U6F z_FzsK?$0u8%nU)<7?o1+Ky!k2agAogIm*IjkQ3%DCCMe+edrA~3h)}`mzjND86`#t z!T0nd2avPMenXL|0-e*J!DBgH}F-KrG>c7 zP`xQqL(peW4-^0tikh)*FLA0JI*F;HRjm^sFR1sF=uZ1JhLn`1e3o7Cb;0^*5(jEYzW{@Pn61<%4a8r~E$lZ{bAr_JWrNMDmKHRT6 z>0|JMZvvo$SOGGc#>1@j(PKWGH1Wz>`;74{|RoCQ~;$MKXuGix#cx zEc}=!4k7lF#g(924cwbitQa0evoK1!I{^%&BcXNeqz`rR!^9?S#HvN&E)bHc+|MPhV<;~D#xG1@ zFfKJ0=12we9Us;&4c~(wstV2~1tS&e|DfB3Ho`Apt!m#@To|S>YXN9vQc;Rl1;|pE zH4fS%S!E|QKq%%Xir_T^pp@YJR7(e4>c%CqH*#m1e(s20;P+-!d@!>p95gImHXuwD zO^i=Y_Ku6?+N{c)Broh|WR`73Zz^m|v@=$Rhs0yfD~eYkriFQ#IhU^@&?X$1m7fTj z41b9xx0@k|AfA}taKs6+%ZEKCr~nFhklw7b&lOh|T339g5ZD!fpCTFyY`+gx6HTfP?PN0c^b*x?}K#uQ$S#(Z6Y%)4*RF=_B zoxK;7Nnr!O-IyWI-6xR62r4~8VCP*R%BVDk5fv~Xe-5$8jM+(CY6aP{hm8Q4UKlqF zKnB89rh{C^C|-(mVq<1E{Sts+%CsGYPTpWuw!Fu)oYwC-!PFJ$q!ET1(u@7j=S+uW zfSR3+3ZhYxXC9HorNC!iRfW8Fr}5WE2h7fAJ+D>Fvt#F)M32KaWoFh9LXD$ll9Npo z#UD00jj)cF#2}wd0Fw>4W}D`)$W+URG|gOg)=!KSHDN(-T6xz`tI-%S90CzC{G_6# zKlYD4jSx`(B8^~xNqMKkiTp!%C&$Hnpd9nb7=q3(aoCI(*fXQ+5op^_y+E>M6dt#CWOmp&}CC~0C^7lvR0ou-{lr>b7# zM;FhuAh)}ZkP74glxB%GIF#;}4TH`g2s1$i{jzdg*L}prN!Onoe&?LbVMsw(M$^g;dz^9{4A}nzfB8Ox#tc_HmPwa$&74T3=AnS%sCYkwCV{ ztV2i9ZfY%II_812l7pYm27pB!)L9%~@3u1FE)RK4*zE&vBq$P^iVTZcdSNS)qu&zy zx(@vq3w`z>@7=mjHcdZ@3R%y;qGLH~FMyW?DMmFSodC;Y41|!bF(_Id5{Lt2+>HFi z7|U-@da_zRq%2uI-@pFgxG53!4owk&>SV%YG@v1$L)?kI!E6bwOeVfbY8*322r8wX zjc!A8#XKNrZ;)_?$P~o{h05JgmLF45QnA#hSdmT)v7O;)YG(#2R#7rw=hTsKNWn7& z8Rr~j$R8&FiR2z2L2QGHB8I2xc>f6k&Q#&TFK#_BXEHoiU=$ib)7CS$<9+M;Ypf8uu=p)Ytd;U z8!QvQ$dAna66wf$%!*v&U-CV<2&8N$m63$HGt@|?7<@bA~xBD^(HD$F@ zNr5cKeQ`Xe<1n+$(e!f+6GSdO9ev7Jt){IHnF4bSQ4_geU9Wt;Qn5)t6bS~8Et_m1 z0#%qkr~nQAuB)(8L`o?8i;7E9f00=xTJQ;hYpg78n=cWX4;ZQ*u z^NW!Uo>sJUsG+M4T=s>@#y&@fDAgoc;yI?n_t8eTUGK3ZDr!bqql%|--yg>N9FX_( zT#NB_bGI)_L4n9Hu`*M%soup9Z8dK)kR;eF#}SQeqAnD&nTZvw3vW+EC%cmQz``Lr z3hNFjH=#9|D*>zd4^zJ3X;@{yfy*TSKr8SdBA>7B9SVfhi*#7>cwiwdADO9DduT38UMhKBdsroK3Zqh4 zPrczgF;4G&c#+ILzfb@Q<721qcjfEvvIpk`77h(T4-+Zx3lb_C+^MFcJ;1|XdS%ht z+}!@42yX9fuWzf~K&PYVsr@LD5MO=O}8{BRJdknp)b!OxWp!K2%(n zvk0?Nx%Z)_Zs)lK%W4HP*L`iy_V0A9?^7;K+i^B)m$SBND}sgrLJ2~5wL@HiTQpv0v9(iavMhQ`DCA%MwLeQRK|>gn}85>i^L zVj3T7pqaI*L@H0)^C|6b=fhz{cEYF6btZF)_haH~_j@bO_c<|x$t+C@Cj`hCZ(Eiy znc77Xs;U4&^S-|zYtmTU!W$bf|kpSqBWaxC1nyGZGvL8w*dj2fRYFbp-0(r#d$yo zj<@lipafaz2xz2X#qz85Morh@q-l=(D*=j+(dF{DwTddB(zFj5#r;Y;-Tkr{xx|8% z^_%`*AwO!L)TzuwuqY6!wtDnbkV8W@u?0ybI3H6u63R?h;EE%n00+444g7b1|2|r; z`^=ADcb=d^azvt0vT%~-#b4iTN!lkUC}~;6-!k|IH!F}5yPH`F&~jYi6u0kl(cO_h z>+9(CkMH*p9-W`Th8dsJNkJI40=aYYBuN;t%AtjdwtFdIpui<&!!h%KCA%I|fHYW4 z*n*-&HL25BA8t)*zRfEoK2!mIVNnZS2*Plw&%3tT18sFzH9J{XM zZkhS7O2W+3Fi^-e&X!wplt{YhSRmz8CIc#vkPM42k(#vcPS9GdpThvKpE4wc)+l!( z!$vj`jduI_qhIg0Qr`Ewg4k>hyG3PVPOGpWu%xO|POCoDd%}6S{)(k8?C80cf{I9} z?lfV3nI|c4z@wpSvasRgI;EqmG+I)}gkh9^HE-xj`Ta%Zs`Yp8o2&wEyWj8pe0<`oNT!sMhDVa0;YE_(_h5|P z``{VZsLK%h6%cZ)!+0A;tuCNwoEy8K-B^I6IqafzQN1B#6l%B=+N+3_rY2d5oO+Py zzdrfnL*!ggy$$fYgF^bhGAXt%Fi^YS#~8X=oib(W8gCFI<8d~8p{qN*^$shu7R`oM zB#ODz>#7@!Gk_!l&1X1R8qH?%XAKDU*2upkP^u8+c;CYbGhVkD7q-1;yc0u;DM<@W zrOy4qBr<%5H3*oYYCPD)gHFRAO%{Lz^_%vl3^2K$>xap0(u2(mvb<* zD6LYqpNILvFyGInJjE>JgEjoj`?z(IIRJkyou=22BGZ`$<^!^%k|J!IPT^x)ch3=6 z<*?u8cZ88lVgc4^d2ikv}T}RPA1w{^$S)xW``1nBQ~t%RiW2l z(QF@Fe-Pc*pe0oGYb3acX##s#ScAmtxP?H%fzsh9it_b2%NFaSQklGt?<9+wQt)Rd zctoDaUxmn;71PYJ1F%oZeGz*+O{wkybJJB)mJp$$jpbIGomPXLC<4!=LWYR`V}ce; z(2(k$vs|yPuDagK$*QT@amGF-c(h}1zjApneTSe@4u}e^;epf~s3KO$d!=s9e|~2W z_=QF5metCjNih3$7<0n?X&A)rDFkW#+HIyUmG|6}*iHsrzVr1J)QV(|m6K$SO(jJ# z$>koXP_C@wx|(l_nUjs!5|n}k)T(XEAqo-D9y3x_b-kaHnCwIOga*#w_!B}`pmMV}cXwiG z;xu+NF1B2u7J+i|FTJ)ekbwLD&9>Z=6eaeuNVy$=@D@g|yJ1vQK zrk4N6^lMe&=ie8fKq)n;43v2xvo2UxKcYy1DX_$74*pP3*k*I;%Nv}o(@CH8cDuxs zARCS?#wb~&=%P+lhlc(0%N=2xQ1)Yb0BmLyKOw#hRm$Y7PS=$S4PG62VpA`YW|G~3 z6|xjL!)~HWga!sGqo8za`a8uYYxtWbBCC!qkp=@OOA)Zfl$Ck|PO}N1 zO3>tcV_jSKI&L((lZ}+Y>+$NA@BP=_4i@xkXsty=0QsXo7vT%EV?)XSq&(L%CRC;n zI@J6CGo(x%yOMf`BL^caLv#xN+-K+KYRKYuONfX{G!lk=jMhr;6H0?JyX!LZ317oUU@$v%A zaJ5-rN98hAz)>p}c6R5Bk~Hr#tv&9;@ghY&jpONR|EgY^z<&vyh2}&0xVFR*@dcP_ zpeUM4kBpMz#tN96f(AU)ZAd;KghFK!T5Wbcr3uv3LE#EF85j+|V_ukX?<2Isafid?nyc;6#$dsX`@Yj)-wb$WINy)klykDv z&!@f37aSohMYf{&U}=yHSzP{ArdaX5K1lWcywu6$uolTvqeFv>jWbX0+>OegCB;$W@JP!;^?zruJ?AZB5G1RHYsZhQ~aqRa~ znveu97eLnkA@79-mh@d$ig9k{IGk3hy)`>F6csf^ap9+DW>QJZ!G}9zr6`KsbA&6> zX}x}vr1>6}X7w_gZ2oq#9*53nI2uB69_%85VV52_*po+1CM(ZdNqHfPnDZQ=hQ2(7 z)|d6c#6M&-(SR}MdV5}+@w$mM1)fX(&oJE`e>oYnCSr7j8< zC_TX51v={!X_eKBw-ndEr9RdvPMi0gXh!13?k=V*R;|f<({iK2TQ457ifvPtFPIn_3YH9YJqvdPjWN-F(3T?4cwcF|Rc&pV3N{LKz>d?N$ zVzGWQX-MaIxeKXO4fTDv>auPB-TdwS)fb{f%re~|cL+7)U;NH4g=_$t-MCY*M4Ury zQBMdL%UVw6*DOP$ZI;evjtD3sPTam^=Zht%4yGE}P$6!DzsnD^p!qp~v+eQw4UD4g zyuWTbLxD^ora*}jG0JuzKZ>fgQr8Zb+w62%DincAqxSKhIEu>ieVoYYa(z5KRYmu^ z^s8{b9{|g1ZPM$kdNmSOOPsNk#|;jztjMPxE~Y(^onO8aiXzA%88nGS+eDs+n6!YtS{zsQ-X$~hD;fG5JM#I|(w ztJCiIRLc82JCbXE>F)cu|gu&^lDKepf|Gi0^hu)njr` zHY0uw_9OORrA#@Qi!gP!`H`167L~KYn0)VJt=@CLvf-OJFzyxR zH@!9=KQ#LIH-`nyAQ^gSNcDi^oVk+VPECT8nsJ&Pl+YbA*uJb@x%*T0Ajp*KZ*ySo z!~nwG|E^{mpv@_Hq9Hb;0RR+5BlQ`OHV_Sl6f=*-0E88>@koBI?m5KWEi8kQgK8KH z-PDhp*pVuZS_qYNo51*wK%`9>yR?Yc@hf9Cm0V0u)Mr>b!8{DOY?^%kkk?dfEc%Y~NYn&~nkdUL`UL}0noAz&Z zKJ-O6L?I0_gA={pK(E$*X9%|OHSy)~pr zr!)vJhE zv?^TQ+8j}2mVV0r7vI(D8ltFmA#UAbJbw8jObC{vy=nOZz_r-Si2KMo;`J4d0wswk zj@xl?Sc0p~u8xaC5WQmoK_u31C@I;W3FljiUV z3bqjrkbRi1*UY@kUDY;go5laA^JqT^4r`4kce~g2SS}O$Mk~D#{>G1UDVMv$?6pew zW&G!@%ACE>eH3$sfO6EXp=S6&koKsdK+mYk_*ZJH99{XL$wog~S(y7ue>jnTf{>(e zvfP0Cwd3MYT<0>r99C~iFnye1Jj3a9`eka#z-Jvd=3@#z{Zt*;PV9~vb&vZFhrIp( z0zVgvFh+Xx2?FsDi$yQc0oG6)9SNyADFYU`+~{S@4yMN<#Kbh91Mxws%DJAmpwOzfhEiL^y%0E^wJkY+r(fVyN&$M z1c$}S(^QJ7zt0KKL0_5U6->JU!4UIFM0nmv)+83QU?tl3(rRN z*ANc;aCYstV7RF>rIntwzvM;!q?l-c( z;FNK~-l|4WLS;8s(8;mZkUgiA9h=@WlhH)7LtAueCh9*bKT}CzQ7_%yIffP)QlaE| zHsiIWgyHs4i~9KH8lgB3|A0Zf-w>ugJOj+yNtK>OF*g&Z0c&UuL`6 zjp0hnBC}Hev0#f!N=_-*4qJvA72W*f1kO{rbZGFKN*kwb zC~vw|4(QUWcFj9ma!H&MB+iK&)6EG94yy5K16oZ|s1jDE$)PK{g8WTL2#_T=HF8|e z;WUYJLNJ$kCW|+~C1#``cN)7KPI@@^hcOuUU6Yk(chnnVC*}t)GK!!@vv+g7byJ1$ zzJiB7sYzV6nWK9E@q&-y`?i$4OMyi8VvFsruxakJo-c0D-!23 z{riR2{!oJU5NwJ-u6XIWv_(``+kw%L!t8B$WcA=cOf`$}^j=uj_I8{k%i;K1{bPpB zZY${KQr>FtRC+R%=l5RlVWn0(&C&(C$b13Ss|SH5fAkGmQ)fwlVddtN4ogXJ91}R> zqs_U#w6(M!X@G+cx-QCz&TxjJ;M^Obz=}<0kWrmIGape`c*WT@*7H@j>$GW6CUcR) z(BWojH;0_Y{XzG`+kA055U}@ss>ZhG{_{$sxu1oZt#+3pM~}BHFSa3ui?HzwIlfM{y(v9CU<9RYiVPHgIRr}-eYL; zgesNi$vS3D=roV3`iJ$;M)x>zO!oGs=e!7y>o%Ql%Wjl_C&_En#qB`05c2g^rm4BB z>8Z!>p?5=Uw&U68uibZtvr{8B!*)AyB8lun(Dc-vTFs-`vAHJ-fT|=>d-*Ss9f~U5 zD2}UPVdJHsi$if7Z#zk_;C^$h=XRQDE}PZovOU&e#4$`F(wFacnv<=?^rw@{&-Lq2 z4E0t(<+PqvQr^+iZy=1${V2msE^~c}$H8y`1GT#qJXP;YkRffTIHE=3V%_NXn$Pz4 z^yBPr1~$FId>%@t4{VG842KkVezCB*p_!g`oH$Wy0u}7Ok%p|X!zpgHyP$BAjnpiy zhC6C5o8IB@1MhRJqbct4Hg|ntV@2bZGGz>fvop~U@NGBuzXcVW=KSp1`<~m|{fXMf z$t?G70y}URpB|F+`?>1s9CdSz+3NKfd+Ysb2}9%IcDa21dvWvo%RG{!OpSz`T<(6C z+_>Hl({q0y$?JQa49%%g!>>8Rc4CH)XmrC6Y-a$*F(?em!JZ8sqIys!U|=%6W_wFl z<7sh@s9~bQvaW(KuZA;w-#VU1qU-v8G&-HeV5{9CE}5OZjg74}?9dj6#ITgfbV-fe z!O=m}^}c8{%hTxa)@TBO4Gd$`}z$(+x^<|`hDW- zb$s1;`mPk}TZyGbmafqDKGVzf8oO!Z{<~%>SWsBe<96jyD$V{lv+JihPXE{eE}K8i z?bDZUrZCy}!bfo6Z_uXBb6D*z%T-Urs^;XG@+-pfmKHNpTQjR`e{`wisZqYPKl@K= z{M@!OUFeJ!u~PuzP)gS^L-!L&a{5OYc9 zOcZ?h+kF*ENadmo5?a%Bo3WDP9Z53+z&JOwOf*H}?ArUeecQ3$QR&FNGypYQQ4pJ< z{89lb@MXrM73J83Pd`zseUyb=_lnsL(xca)M4jch%C6ge9!Z_n4$IsJy`e&;?Ydqn z%l58B(rVHC*<9=Oo~mhky}5Nd%M$*(@i_B&_0!XF1hX#6Soz+}Z#wNc@!I?T@E^r+#+SH>dbDboX~(&DQ;}tTan*(RW*? zEZx}5-D5TiLDus+z_*KL@8u+9=Zc(|$mO*4dQ+uVR~lFNTdUqNXz)Wl1NjXqWp<+E zRVI_oZ1EHdL$v2{0!3G?+0|+0NLRsC4YxwGwLV2Lcpx}UzbA`FT(1&Nkq$~lpbU~H z#>L6W#d|;S^dF-eDSi*a^A0N+VFRrG>)PA-+Dwvb`DFpD04|qcxFAo9`rLmc+ z%1W|C)5~|Gai^an29f}kxBLEX?n}R8JE7l})&*pJT+C}K=3YmaL9o~p#+#|`YY!N1 zrVd&Kb0=R#{BAaj=S$p-gSOpnqs1tty;Ohd_x$!!)PycQa4N-;lt!J$=dxK_cR{l6 z(T~^u5BQGfZ9BGBqAbsI^C${!L~ka8=WQPt&cBCZUnNzdKvjlHNNDeGS54FVkV%eD z=V2>QV`EONOJ>+;YGqTt zfK|SVRqN4pIlF__lY!^dc~sd(wZ@cVX|*PlmP55p^JVAG=d5nd=Wn8p>n4`#&fVe$ z^ZP#!(C_^|EV90tD&!?-r9kpe{{(BV-Q(Bit;PN6&NAK>wSDMnt~(A&~5F0%-8$2yVrMxb9bHN8a~+=1k3pxa+XGsg7veT zo6DBt(YiOo=wLte`SZ2Sr@{FL*EjP~!nxYGVDwTi=j(e$*Lt_<@!z#Lm%)Yg@3i{W z=Z?>9b$ZD4cJsiOj-tov>@*~f`hB*o?_vFLOe+T;u*COv!^{ki0Sc?cCds;C;ek=L zZhlF*f13N|{=NwA3nTb+?b8qQ(-TAK-F4_QMoq`-h6L~H{a9jYHuo*nF28>mB&OrI zaf`8=!q945W^`(XDAb=pt9Tcx9@`7q?n_WhfM zR`YhV!)xhu=0BIg#lQE0e#M27GuQXDqOJGjrk9ZPpsei_Y3l@$fj@}AOxak@$$mxC zX5uK00*k~FCa$~LdZ+xMO^(*%vT=&m>uPJywSOQ?cEhf3=4#F8Zz>1J&+qrcEXM(K zRlB&}Os$2{c?+j)`}-v8^YimHpGkH-WY8cC=k~D@25Z$0_);g99TDyoj`y7(dG2uV z7~ziZTfNCtMzabLVqvix632!SN4rASP6l5RAvIjB>VoO-sd(~cc!T*PjVNusa+^b| z)!OM}wU{Ew&3Y@q4BPd+z|L!IYtC~Bqs#RU8yi!z$8=^%j_+kTNeY!(z24>ORT~}q zwc4=Zd9|(YCqD?z^S9$9tJT(x$Ypps!;bqa=If4)h{EL==D90t`}-~rZ@Aklcwfvv z3U~k)mo~biI$$lNao6QcQtjcy~`-=;$*YGNA*%sJ;UfU;_Xy+vC*S}b|-YdG@r?k6^|H?I{9`y(3 z?C?8|Rl$R=-;8A@3gS~~)9KHd4BPU@=;+&6pXQMK0|T?NgGR6FJ0~|+DynJG<%E}H;ZI`Zo4R`s;DD>;gig)iFT#@vZYzt4?xYZUsh34)MV6TILziu}o70es4 zcvWo#j8=8nMkJ2wV7VB7Ze=Qr`uZ&Jd}*S>zO9?+6TD$nmWgR1s3Eewqp+jZFH)jTV0V7#H@*6FH2u0TGp zp#NW!k@)W-)kwh0iNNSg!2VVsMYO+SQ1c@u8{*%pHF73QOeG%gLZZnWZ=dzX(`}Ft zEZ=kN)-Csc!StsVA=DDv^=|Ve4)3$yX)2Y?_7D7Ym)Mxqma@IjvE!QJ5kzk=<6?C; zxoESQUIYq^hOU@YD6mM~aZ||=G*9brJS=sm8PnCV-P*Z`&n8E|89%EV5k!%18+(4I z@`TFvXMzSz$G#zNFtnz>vgP`$@4X`lwZ+3->eBw)UQIxxo2c{O>||Hxn3Z=!AT=b; zMWcOl8vB^klK^G?kt(Fj1$jzW*VvJ;P&0X6Xxvk*Inze>D~zA=5ucM9%UelnMW4>& zx)Jct&xvE$p0nJ=PS>Yx$BWnt=;pk_6#TMZ^4ZQ+r>GNP^WDhv#S%=nb*!GmqBnx} zuX$Uk(6fXDW2t>MGlTmil*zEoo@#+c;+_@mW9d?>%Q3xKz)p?zpivvYu?oFdr$vlbdD7C z%LwZ&Dz!Wq?fRXu^ZGOyu3xh**pcWI!GabGcJinjy6a}R+KAYG4bPeLM;YJC#+}U&Fl_PL#uBb0jps1y)HZU82|{L?TDMV4 zP9}?4ZEuyvV;snR*R_Mk7^}29>nFV}Y(+3+Y&A)rG=yS3$x$I>ohekh< zHmUWF`N9#`)}*kIl0k4g_h*WX)y|@A27|@ooUPVH_oq)E7H)rmxpM9zSUUAkHfXxA zIv5LkW=5fnp8OSggkxrFzY|m%>)~?Nf-bDRnXtN#B~~VyIsMxXsc0a;yKR1{%I_$@ z{N!@YiccM#j;iiU&U9qDp2k3f_9O*#r49o~#c_z{1%~RYYn04XKGA`a-$~M;`FB{F z958+k28e5_Y>mD;%2f8~7^&g1(Gjb4(B{@hu$(4*1Q zn6_+kxVeHWUklfl`?yQmI;c_t@L2WIy~^ot-FM$NbG;fE)lx)1CG|PR&;Js18MjF> zGQn9-Xr}sdh-*|RS8%#qYup`f=I8Nq3f}cJ!X}7@HwfYN^8k>TD`1x3}|tWPSWgMA}`hII>Z^IKSSkZ7t{aZ(~kQ zNHsij-m&VqZ(x#j zmfbdMj?dDEIb9fX39T#QeSX2K?wTw$0$eJmU^z+U`{Xl5MOW`LmX7-c h(wc_zKfoWH2y5M|6m?_Ye}9YtBt&F|YX$WK{|}NSOY#5! literal 1031 zcmeAS@N?(olHy`uVBq!ia0vp^6F``Q8Ax83A=Cw=BuiW)N`mv#O3D+9QW+dm@{>{( zJaZG%Q-e|yQz{EjrrIztFa`(sgt!6~Yi|1%a`XoT0ojZ}lNrNjb9xjc(B0U1_% zz5^97Xt*%oq$rQy4?0GKNfJ44uvxI)gC`h-NZ|&0-7(qS@?b!5r36oQ}zyZrNO3 zMO=Or+<~>+A&uN&E!^Sl+>xE!QC-|oJv`ApDhqC^EWD|@=#J`=d#Xzxs4ah}w&Jnc z$|q_opQ^2TrnVZ0o~wh<3t%W&flvYGe#$xqda2bR_R zvPYgMcHgjZ5nSA^lJr%;<&0do;O^tDDh~=pIxA#coaCY>&N%M2^tq^U%3DB@ynvKo}b?yu-bFc-u0JHzced$sg7S3zqI(2 z#Km{dPr7I=pQ5>FuK#)QwK?Y`E`B?nP+}U)I#c1+FM*1kNvWG|a(TpksZQ3B@sD~b zpQ2)*V*TdwjFOtHvV|;OsiDqHi=6%)o4b!)x$)%9pGTsE z-JL={-Ffv+T87W(Xpooq<`r*VzWQcgBN$$`u}f>-ZQI1BB8ykN*=e4rIsJx9>z}*o zo~|9I;xof diff --git a/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png index 4d6372eebdb28e45604e46eeda8dd24651419bc0..afb2aad639cd7e1f58865264318784bf81075bc1 100644 GIT binary patch literal 29501 zcmV)IK)k<+P)aG6iY;@DitM) zW%FnyWkUg>*8oXS2m}(+HzcILNp9brZm%`xo8$k-m}~8Q&bhfK*q@lcQIU_Zd2Hh8?^j+FxJOVU3yXY|Fd0ga&kbZR`%77Pzw{f>;4l+OTA)h|VeDFt1 zS~@@YB3*^UEuVOtpFWm9^ObQkyfFR{^DOZqxOxnO#n~cVt0-Ji6-C({Bafd#mI+)S z#wPtLU-u9rxkwC6&GSRk;7MXprlaTN8Pod}(IhH{fb06sOX>6K<3Wt{N%2LeZxbNm z{GvWThECrRr>p$s!IvjVtHQ_57&)iczz;zlFppLGwY`a4M~APj>!S42(-W(j`tb-* z2%Nq&@-hUJiS(+W4nB2H8A8@KGN~cRSmSqjwsfzu zbt11-*is64AqA`)S3ACr&vGwf znngy2rS=V_KfO+ROsq{l3q(hTtf3@v?PVqEO&?>mqhgwJyoQgo<8e37R_rNEUg z@U$Rbaix5#tV+&wfe9-`F8Ly*nJ}F;&nLuD%9^2?Dfj>ZV=pf#7cTN+n?T}=g(~R+ zXHrf|o@RrX#3JyC1I;c~B<04bVuP?m2qtx2x_hAl;hP2*NG}p0+#zsTgwT{_H4rsZ z;xDr3L#&g)HR{x{Et!@Q zFYMHWILeUBw@sm34YSNom5^T_w*zt>Ds}H4xvxD>umkrg2D?uF#99S&!{=%KFhKkXxm%h#87_ zJql)3waCQVMfght8p1Nshs?zHvydb}pva(|%>mb-7%fknWC?c)2!;2RN zHZkb1gD^KDLl7@aq$zp%zs6+C$q!}_J?@h9N|4!wVHGVEV103ZfNH=rLEH;(_rhsd z{2q$42nr)S)lWe)SQPqQ2o`T4Q{@a4s->3imPHv9@yO_vRCqF}dM5OXnHX7hqAX=t zu_WpsrV4rm08vDtOmggHRK>g|;Y_M1jZc$iq>wjOyOwTVdXA>UI;2XDsv=i?j7NZ= z1{1=NA0sd(RS?BRJReL+CBMo{6qu3{|6(Qz0|Z$7W$B=JJJWA?_j;PNWB`BJd(jOs4*Q|t|^6q-_>M?Od=@Ye|G2h9 z0QrE{gsL`O?SLHvAcrC}f``JdO8vNT2@nNDeN;#|!K|)A%%w~ZfP|wnE$`)JRXKAO zh=uw5wtP!?KxuSK{90fn5*jjn9=QYy082tBK_M7>ul6vO6i}{gFXGNmBj5*wK*YL? zB~gVza(rF2L?o1^RPs%;a9{*%DC8Xly)~*|Wr7OxNu3EjO(#@KqvjFN2wFt6uHJ{w z58dPSTQYEBu#A`>%IVl)zK*_H8k%4Zs)2fWuD}(G&-BWIU6ta$~EbtsgIe7y1Lh*ZOJ+s28cRfdJV7^c4bq^_j&75L9Ora@4or!Ny>k{SYEI$3!U zMc0rB3F?MKvokJhVlpvN`4~Fhie5#=+TWcyLW<@Upl7bnDfNLVJb0tP}^Pn#WG9ID%O z)YU8z0g#IEW|E3RY15$B$?r^^Pe7v%yy!d{2%SngAZlJAuN?Y7t)77tz&oT_{-RTr zpufYnnqUGb{|vA~bizoRDo<^+g;`P$cZ*i6b+FR)P5ud!8fp)YQlUQyC)g3{5^)#}}gsMUe=K_C+*Go?AUVF(4V8}f>05HZzjw)_$ObF$r# zA$mDPs|D#RJs)PhJkUU4dyGc|HPHoCvv92NN}}_HdMP?kKkEihrw00z;IX8mMEMsH zj4|`ITqH`tkqm4Rv_WrZtOi6%TCzDP!99%ge7+;|N5y*gu=b;7fpjsMjgi%16V=2%^n^yMO z*~C&bfX%PN9C!@{s$LHU^L`oqfgIWtm9xGA*{k%H!PZTvN=7Y3n$r4#EB`Q-~Zmgl0go%Dk#S zl3p%7x)|(+JfpAchSX{kgtHdwUVv6cKmb@t?4xMivf#xb1d3IuGXP>eNIy)!qi#^u zMOL>g6l)hH$rbXFO4|`zDeNHWU@mpn(4@aMcpf@>P90#epK37o123B2pMc@RzGrSgRDQM*igtaTw zy-*zV2n&#tSZ}cPPBs>(F3sy8NeSH+dA)R6RTd3wK{|O*HzZ3Oh&N)2@I<;bI()wlcCtDJh|)=*)*YAVd(<8=_b= z3PICpz4U2N7PwJvUG82~Vz{eH!!>d*UL-0`wuPabS?EUe7=2^Nk02?u);wlIV^Kyb zB!uJ$rp;w*1QoTsb`)d~l{kv3un}dpRh)!%)#3Otg))jVNrQkis89hkAj`eXH{t;B zVrcI(_@y~2l#Ew=r*KDXoF^(bCk{gZ$qQUWV3JxZgM=NK$T~2GfeSr0I{E zt77;M3ji`2RqL21M$G`?GAR)fu%h#l0#RH91`g2P8|X}*Vko#gJeUX-K8F3duA@Ai zMDywp`^u6$;zXj@0^{`L^?>d*V@&y0xBv{bFxVafvwIo~2dWR;q$z=K+Z2Kp2X&#r z1Jck)QiCvws)%rJVcJTj-~>m`hB#fmRh4wU)lK845vK{OT_||TOPPAe>pVHNL`W9! z>a;rsDN8b(GQXmwN`{=8bh&!a6yTKc_ac%ja*%a}P@XtO7ZpL9hDas0+5k;b8i+B| z0}E(FjbVuKqIvkPK5ZnX4>_1r^XFp~1id_F_b!hjXwt{Xp;6 zMa_nBs-Y2+*FX@KUN9Qaz(oGnD~H5@IloG&r3#Vh*Vqe_kl+RfTr!CZ-a>(^s9pjV zA|8PB%z+_#Kt?+%`6C`k5%oz#I%Oz}5@B8Ve4_SL6I0-VhR+}`OxaLh4;Y%6eTqmu z@8b21qd99JpKxnO17EIs_QwOF1HGF%z`7@(QxR2=zv3dxG3|nSh#3f6i^zmgSICp> z*QkV?i`64hET=gMQIp8XS?e-Vh7b!;ku?x^guoV-k`Wa-6bZH$mUYAjBRoi!P+ccd zIE_Xb5pXEf02YkJmdZC4N=rJpa3QowOOPfME8u(SR3Ra1TN}R;H_Tr!yZ9pcE zGHwAyUMSqoCdnuyx{&JG1tY1C zWujb_;b#K7v=E9?e0yDyt3SpSObvlZ60>BwG7UO`0`+?OP2hGd8X=Tk;?ENP6E>qs z{*^fD@WO-SofWm5o{$YjM6#efv+S4+REhQyf1}d4dgWk4nM}$wGlz5$jW!bJh?IC` zcO#>hN-(PVP$q)tBH>DnS_5JW!Ue??1)K`9X}El9QFSE}xYRqVV5yPVRWdwI%SpbJ ze52^rva*w5zEyJzwsXvXYLxJdW^x&3Hg%&0nV&~$SyHy5P=wv6NbOJ)kvNS^XrcCs zgT_?=@6IxlR&|WWgr$j-Y{P`)lm5UwiJR)+);3t6bjnJY75o$*&@zv>0RTXG?i z(f}(%nAz(&rukORM3gfvK|-*XNkx|#r@JUh3my%ChK{X9MZB?Ak^}0%P{mlQF$H3y zDWQ*SY$v1NjfzE*OMnJq6evj1g;iA&`*{SnORdweD6sRnZi1&VI!2wLQ4!!joGMRS zBeyVwb^#End1aE25~eB~a4;CjS%_LqxVy(hKTYzKAD}67#-j{xSuhIg(wLAlYfD#iHy@4C89f;8zWfp2^d-*c{5J*d^hmTZ6t~^36 z&9R}fsHH4KNi)Q%+FUUX`mYnK;v6BOsneFk zTY$Fu`4-U>7zF2396d2%0{@x6Kwpw5O`QN`WMg+$VcPI&UfohyI;J4X-JNT5#_NT} zs^3!!NED^lm&+>+Z2?pz4OSyV<4WgnM4-@_E=1+JDAZKE%nE|@8tHI~<&xyxgd0T8 zYEfDUBc!pYM5zYHwB<&ZT|@SdIFeo)UcJ#kCbJDSTMDyOLMtc@C~~YxCYnJ^S#xdl zo{9W9VF!6l4LKW2W5pZP4g5q4BM2a?U~1*p!Jq*V8dS?BDZyjFWLqvTq6*HSeF<^` zZ-LuI;vUVyzzB1q>2bw6=9C8yioqO|(rd01&Xnnx=((UW0j}P>RIe<&1`Zsd!9gMt z`OXY#$;v2{_)pIanp?>s1`xpaLm>_vey>T) zj84#12^0?J)OZ0IYjzg(fzr;1TM$!6wSXF9Q642QI3<6V`8Kh}dx>(YVe*ucNOneI zG8N%4=D=0Giu53Jx659|WIrE`Rc9t4V^Gkh$<#LXrmC%?>zF&L4{zpMU!}yuLT9)j zBj#(=JQhy1yb1&s26GObSHW}!1r@N8&2<`^e53^koQ3dpy`&D17grckAzl;VkjIQY zLA5Aa=%v3DFnI{dRKOFEt@MJGI3pqZ#tdCZ+ACuff*S~DCEzddkj4d#>B>mK8)CGX zw6mk<;#9EH(rm~iQ$IDDBnq7F)oCZ5sDN{YkE{xHyhDW*Uu5Eru6|@PiAYCaRGGdy z0_M(mXLWbrCu zNW@~JA`FV$70TGsSu+z%uR}fw9eehO36R%vTV%oqf&I*7DJ(R{fB<-U;88rKw?Z&V zo3~UfBuA(JFxjkOg$5aofj|VR=!QPIM+Jhce#k@&NJtmUh}=cXID<0+ z8LhLf1cRgR>B-t#GLyhZWF>G-I)ZVhv9vNLloQ>P>Gkkha)=sQO{QbDF4!0Z$g8N3 z1JwK;Sw;>ydvFkHM4llfjb`Kk1=lrQO3Y13px}u{E6omJ#jV8fDF{gQjqvz@uo%D0 zF-Lf|NJ`ZDS8|r>DpSd^E>;$=x;PZj2CSxrPA!y~v!tEEEpgTy^96cj)e${Ornz6~ z>qGIv@S$EEj86&nkEAiC4AV(wETVS+-G4=B(4ml8Qk_A$DZ~Ryl=oYX5cBGlk9Ir} zGQ`*P8rZPdg^W{@@5YLUp>mMrLX4;pokviBc!(~kL$6n5+?dMQkuu)z2f8b-2@wS7XYijuURjQb!#3O@*BHRvQO zeIOoH6BPy_bmc(yBXakavR3#$}v~+3Z zRI;7|qUcb%A~gu<*Mpjo7Q96v6k1Wq)WThG@cC6gYfhPrWW6}h)KxZz03xy|br4Kg zlt_<}D}arYLvWJUEX_u9v^5(MPp%OjK=p$XjmJteqSG<}qo!LRbfmfEQF$+Bo|j4v zA!nSx39$>ls#kb{h1AqFQ}qZzxSAwN`fro1?J&_u|&7E=rBRwB%xP9x47c`nISQ_&9}1HonmCDF`FYyd<^Rh6<#qZXpGuw0oK3vQ!yx8&2qplC%s zVN(RCVs;qQ^`*y;78W9)1JeR4pfHkoXh8$*j7~&tlL92qYyqufC+=ZrTAXv=pe9nh zbof(P3&`vVq@t)xlu6>9*yDmRHC0+zD}c#lzl_zflxpTJF*c!mK}i*m6A6Ha(lP@G zOe(4>gfAd=6hXmt#BHD`(D8HTzRNq;NK-*>lPkC|nC(G74NeAJ4r?CqNDB~;1YMd? ztI=UWfh4$P!djfiQ2>RIf;SkPQs5RFqU?Xr0_% zjWnhR7ZW@op|4VN+0UmbBGhGgq;Oj0uKG#Mk(QrQdw{_gpdj%grn4E8_N2ru$-^sw zqye(BqW{6rTU6H=uSESis3o!38QXCXiA1=>Sousawg`)7W<@O2A@XcaBiycYtjeGz zMvS~HER|8ILYc)hU&OOatBAGKAlD*!jvNeVy#}yHGhK|M7R!P#S>$P&s)tYmqbnIn z>d+$|i*`G#57rzb1XlwAds_Ov!uUzHF%T=6Y^LN-C%vQiH7O z_YoE#`Z8F5P#Ey8(QpsMKL!!_z`>hsxFXdt!KY@?V8w&Pv4v$p7NYW^fz%h0i_%OW z9fm%t#j&x5kx32KF?eGd(*QPzK3c7-ViZs~q5^Yi3uhFigYr@}Oqg|SDVv&sr_w1O z9WCO9G>k^VVUR;X$IMNxiqaZAfv*I4T_vzw3q%%IABr=w--KhOYAhI56Jo3y$Ypz) z<*30AaGM&LW-J7YQ*yjP@l%;1>qDZm6^Ia)a)Y#Nxac+ApfY-i7Gu>^(8K3}SSJhj zRR*h~^JQr|4ynON-vM7y!FMQ?r*{|~t}UR(wB}g0P|&P7b?A{n$M6U<$^v~&7DNLL zRKNuyuNYQLAutyC0tUY#69fw8JaDLyFF@-hY%)Tq?2|%V50ny|#oD~Hc6!;JbU^vq ztVwJH|K5 z>ZtLtbJq^@&IoVIf}Aj7W7Zc7Io(PJ1Z@|Rp!A?9djw?8Av+2MB1&E}0WImc+OiDz zbtFaM3*OTO;sa zH;i;P8m2{RisaNv-(Y!hF-EYtNui3+l)y1j6H=2A(FASeqJSI~*i=bXNiEq2Y<~vx zAvPT;u#QrMXe*V6zJqhhQxNpPW{DS7_3*$&4CYTM0fA^Mk}eB+h4fa9!D0gx*Qq=> z2m&-1)X6r9(TOauO0!s@MVD*4qQZYAn?eL?j&TFWs6za!VCrwbs-z8|*mH1$0I;5X ziS&;yE5&;n@L($;4ltQxq{#{=%U&3v27?zR_sB6d-J&pBa1*VD5K?F~1hXa(chshi zKyvBVsuxi2(ZjRRv6l!J0v$ByV!Nx#%CfY=hU6!c8w;f91`+xSymNqwXBs{t98`_b z74~|x$O1Z1g~y0tA+g~as2U)!)YTGkcJM$y3Jrb&ds^42w2Ylrdr2+; zi$2BY2Mf%&EZAWp0}f+hqN810qFN5iG$OWiN^3z|Db24H##Y5l0#XCnQS%f@1Zbu; zjFxurl#|p_XkiIPN|cvYeHR-y8#KkSXzair%$9Elc+)v*}&5j@J*~6M$`fzT#|bsSO-3|AuHGd z+zH!eX(XNz8wS7;MNu9SnoizNlP;X~^9zjS^TnaMkQ`Oel)!>8&6*Mnc#DQgoZ8&E zE?AigE{+$H;xjnpNpC@c34$hoXR-qlv*_Cwg$0~dh_Dt|NF;?1$UkOaE`$gmq=x zjWYL-VmYZ~Au_O~EOiMxDEO%`P6Ar0D(R~uc~Nq~$meQb`pP-$|Lstfmq2f1j4?K> zxR!OugbJj|va2@|LKqea> zZ6re;PCQr=Ue21;6K-ovm8su8hs(UP)M%dhNW1YG0o9NUBmnTw+DTfmu((akzf~9* zn6v9OanV^KWr&uD6Ip_8rGS(ZQpG5mmW(hu@?>v4!<+={qzpypK;oLHeGZuu!E$2< z*>KEeM2j;9Oqi)1iLy$fegq+ddS{Hy%VO79J=^#Z<~Ag=nFSAXD5wkNagwn}U%9}d zLi&LW8cXHnjH*=YESFK6>no?BH#RUy-(O5l9J3CzU_)M6vP9shM(aYOO(PhJ0VHa~ zEwyfyIryx3R;!Q2kFl_jZnEb-5b%qe+=ha=h|oGL7G{_!YF;|gYmtjP8SX(NcQlUR z$_t1dGmjkBDj0j?wPe`C38EfMmIB>wtr|V%bcQCfU`s?zbdWeN1v(5#LkAI-CL!?} z`aq0L&93j-vrHmKRXJc@Wn_mM`B!3RNW4dCD-2~>k=iI2#IRthSG*r`ML@w)d9n_o zz@RJ{$w0U_T8RbiPWo<-eLUE#-V%D?CpJuT31mcLV25pZYKReQ+FBt9T8x@!Mpj@d z^}!OLf+?*|yNPL59;-r~HbAlXvq(G2wyn5W>7sU<8MK4ZthAV2;%w=18#$vzoKo|l z&HaS-s@cOEAF~?)(_dJ}$uh9gTp(un59q}eVu#DvJy+@e*m^G2{rTIoUtA%axY z<}#8HAD~)@j#29_fJVj|1u^NSeUM6C%agGx*c^i03uMC4XFeddtR2uisjr5)8JY=> zzr%G+mZ*n$mo_xiwTJ;uDC$ccmGUPR2M{iQ$L0MXPHt?L#2`VPZ7)IhG zoGk63VW2${9_S`N(gMUoS+1bTh{X14dLr|u!5K;D z3k^QAIF5Owjm4(49|Hl5tu0}D2SBwBoh2iBw!=(_1MJashT0H52-a|~D%iKEVzvWY z!IWYOVPPf1u*j?);@5;GIT^v}W+0w)Ho{iyoh9=N(HAsLVe0jIK{!1mR5d7OLI{tf zIbt>f^_;URGVU%@`g*|n>jrtkLa3qX0(?3PcQ6+v1O;j|!BN93@aYu7ihOFMaP`NS zOqgTWFy=mK-bwC1N}31maiNXtk*ixU;}b1*^7+A<%rUWwUN>4*uz9vcA9U{(hE|KH z5mSXz_|-v;Cs`4uNoKADlw0hP#%O(hLKXVD5?OXy%f|ht(lq} zG!H}t37j&-eaPA|t&1s5zCzwzV2+M;#-!dhKQp#lj6`ly=D^>mAU4YKG0T%iB$9mc z>bSBUxOQP}YVG@60O{0&LBZsIq!=R~O&D>c`StLth$~uxN>YlWgXy(LqET7YZDpMq z`AE9CLHS6*)+Ej&5hiVrQ1nD|47a1k&C-}z@E@bv0`HB3XwvGbdOgTK zNk>V=M|-?NkaHzeS?LIv1bsfz0>mR|W&^j#i^^z54Yq?jFEnSFJ2e$7^JUxS$d0F8 zbD7y|2jXP=+{7GOz+W3g(}E_zNGwAW)}olmT7uh!_Ndd`WQXeX&;}%RcQRNz!drGG zKyNt*j;gVWN9GP-Vfi7woZ>ejl88j3NvDfb*ufC_=C6G|1{e)wc{R6Q(jxY-W z3C$sNwjiT25n2%tb0z{1A(4X8Wr!~$c!Cxbu(pBJXw(M)u9s)-3HOFBGYBa<>}*6P z_93JrjzNGd=fP-Yb~Z}thuv6VBkcw z=y94+rZ+5(IEFEEWCx%LA)QJBa>uMtg=_K_ z==vZbc_kybcS-0cD8qJlF6wNFLsw|Jl1!nDhE(=gR|bdEEMl*%Tb#cBM+jDu_7NDv%BQk+XWbc zqseStM$LdUv_Ve81hhhXr?b_lxhet_*yV{CI>dU2b5(S}NaIW157u(20VewD-uleD z$P`G2t#=BIsAK&hiA!bCmD<~oO#`6=(L)0+IvU+eb&e1`^mz$HqUOxA1(NllhLaDH z5m`#Oe!t&CL&cIrWcsy{rdtK`q+#G7S{0!)(dN>XnPL?D^A6>%*--o$%jI6tvVuD@C>?XauUHm zlEn~t4X#HbM`lcbe_s;TwDBdfS4&irB3lFLY-q#ixTj}O*E;E)x<_Qno&Z5z3cjOe zVrmLr)F>)*lPt2BM;K#)G&;I}l3(Y0J?lHm=9>Yn;zHQ7XK!y};`ZBaz44YC_U_re zccFgrQ=W3#DNmT0ne@zd5pT9+d7r?!&`&n$oj*g$z7Y3s%LdBT=&R6ferlI$VhE49K+s0=B6Q#>Bl|ciSK;dyPkf|(l5`_PbyU1nzVc(A>EmFnNywbGC0nkQpqTBUe~3#RHiP=uhR4B3PE%NU*3p zm=$)*K<^IiaW5g13h)agc1G+dY4$0*P$*iC+R2u@T9UF}Rp#!94UkS6 z?Je83{Mn!X&(D7PQ~UPqV-ltsW|6OO^L5v~?sdQPfe-xU^PltliOH!n$jN}_?j;0X zYBg3PMGs$q^dYI<9oaKjiK^F+)^HQ+xKzKZ1-ZifR!9uR`4u0(wElriC+eZ^0^zE2 zTB;26UNEggIlbJnuE(N5kNW^!1+A`&IRp!h#q6b`(C9z`G7)w1RY1Q1adDMiiu9DY zUx(mO7Tz!<2iSy^zo=Q^+>x0*K`U;M5+~?{O_jB!k84ufO&!=e^Xs-By_k#{@am2bNIB!Pxs_AU$gbvdu}LVIipZ`HPUn~j z8-v9fVbmI7-DnhmRXnmV7y2mg)#9zsrbGW%B>acMQk=+3mIe+TR!iBdq=`Um7U%25 z#rZFN>7xJk-+piV_8m$B;K;OGi)y^T@rE03xc#zS9&`v*8Rwk+ zw8@ENm!};1g{M&-umh%+=rS5Fp+9cz&ggq(u0D4CL|h#rU9yXwRPHfNLhMST>^`Xu zq=^-!*Sz;KScj!RRfd+21>4+lZwhPig^Uy>4t1@2l3|YSK%m(uC|gvpw7HS>{5j*6 z8Fpo%?O?RMzZP8k!jf4{WWYZuLo5E)V9@N?vEz4t_idm1>}Q+>A$$pN;DaL}S2VwJl_nv?Ld6#_cl1@az{oVii z;2CE=`7LjK`>9Vnecjr1TGgOI9+#hj37+tiegtVTEaTecNV9lM-yosoG z3Y*wxb4$sI(E z`v_`5sRFwJ1+xOkgk;gDMtr$?m9UPsK`s+$lu9TX&27?cqd4;=C~0Lnorm6S$btpk zQwCa7cf*iI{S@}7jzT0?Nsy>48WthSfS5X`4IuDOvAD3XXYam0df&Uh@cGZ___w@K z%r8z16tj;LnSd9YL4EaASDtwMCb@o4{*VmCL2K{AyrsNn3`K<8`~b|&?Cjj9KJ%$> zKzjIvY@P{|7Z(PfyXXr)xb+8bd)wPjJ@qNm(=(I($uxe!TPiWeLvW8Kg9NHwF9}-EvN42(!d3IAXMokAQCJA2GYK@htp9`IT2MGAE@wZt3D3 z0~!D{By2qUo<-&lMea4z1bX1`2a&Q^YUN|0VF=2qxP}alBV*QfT#$}G&0^jB(_(e8i+PSiH z^9u_*ckTR}4}QQjtaANMV?Ava#P!$R_^ZGAYj1eN8-D61e>%PE#KaTp zwvut035jm32tTE}_9A_C_CAZHZhK2TVjXdleiO~4je?o@95X*2=sIclMXD~eu!uQ# z&RdKYw4bj3$j#?CEVd7o5-m(QW&xe|^cRC9&p;nU1tI7J8*W0^i?;pPBJ(pd2$y?s?woRK(S~Ih*YS>IOA>}{r_C=O*dh_(fRNnx>Rk+HB- z(;RZEd)YS;)*ah+ znyyfI<5a;|))fRa=q7}*8&ZQ3a&xnD196KR=wD=VP(8U-E1|J5(IvLzLBjwgc_o$! zRQT1ee0lGlJ!I$%kh-XQ%j662kJ+2>Tet3b_q+e#?e7?zdFHuCA8|}F15*>zRlgLu zNT`PnOQF`j1ZChg!4!Qez3yBQ(FLO_)TMVwp3-*bc>ZA7Ug!hCwtO|WMnp}GxNzLC z%|SX@0LP8)RH&k~cV%dlR1*_`Bz?VN!&*M4;2tgB$AlpuW0muC9?2cU@9^0rkvlgF z3k#q4hY#O!!!3%4b)eM2%e0|4o9eTBrI^7O0q3`G-`TJFk-%Cvjt=f2q|}c?fN)dB zM5F8~g0em2nxKKw{Nmu!OTWq&z+7o4+yeFbi5pd(@@sm}-+%WXz2hBkI_=amk2>nu zG#9>@Ec+8MsO(*R9SLgItH-d3OP;M0$vGV)`}YR z50n3pI4z{5*BuuNR=`upjGks!X4MI*rCghc=(P!vbI!KEG^aAKxt#GnEHN&vwFBzC zLV_$e-F)pwKJuZchKpmQ4n+oG`QKK0OlWAwIbFMUY@eT-bsG;SekBTdXmvf~(LnSN znAu*K{seX6?%jOPHQ&3cJ=YpSj$WeUm&su~*sk5Xe*fL?ecO3&c=oe@7?8GN#!ye} zMunnoOTI>as_uuyQC8%tm5Ry$hoGGhS`4i5sA&86r7!nh zZ)KxVH2`+vkp_Dr=9P6Q^R1fE)Rc&Ad91SxS|jR0lO{sw1k*_Aci6st#|J<7ms_`N zC6e;i4T2UocI=clqv!13!Yp+*c6;{j-Meq!{Os)XBy#W=*Jdl)?T9kV!dO~pex z5iKyiHo|hC659R6b=%F7+NrR<5#X$KCs!775u7Q-sxF@F#+@E!c6R>rU%coGpZjbE z%PJpP6H!t#2FghuJ{!5%{(z2V+qT|+%1I|VuUUu%wUj8K)uly0YymQoHL`dQ4_Vo6 zx{JwvUGg<&Y^W0IbOqFFRJWvq^IF&!jji6hXWx7O@K26A_QZ3}dD=w3AJDF{@wM)R ziw?OM2;b-y$vOcZ{Vb6IVpaphGE?8#v|0mCfuI|0JW!IZ?YhOwN2L)Pga@St9QOg% z;x%WAP=2tYHZqX1AESkGp{}su3vV5C2Ld+T<)As;h!}ApJb1kSfz9vx@9(XfU@=jp zvRh}%fKOp6B-76}O|BCrlY!l`^}fY{xbniB#nNlp=0Vaxx^%3vkxo`xd39{Axbj;r z>sNDOvkRSpg3CZCy6nN`&`kPaetzMd=fCq~ANj-yC!8n+@={p^e+(gHKDF-3;4uBXJF0FNQZ23DGGksXzsrjBlHH3Gw<6|7+DU$E ztnV|o#X$KsyMm~(Zn(1nE7%)Eo+Y=k*t2KP+s^y#UE6o)$m;(>OF%hOsaf3&&5izR z{dDxyxw)FT)n3y9B6~bM($RQMJM(p7(9J%gMa%EodjIX;zgbsI26xe@tzpW``@CvK zqk24H^X4tT{u{sgfe-xIi6=Z^P%oCfNu;%xOa$O&@*pTt#VmJhl!yvS${}G{^EkY1 zW?Se?sBKWz)~jLATn?sMv$1!`xQbOMa-Oz7XJ)SD^G9x#(ioA$j^^xEgWh{QpahB#=78mls*b$Y0^ zdPJ*DqVd)_A2eFG8d8K5wP@+rERpQwG&&I2iE+!!Q$esJ$wG@FFz11 zwZjsl%%6(tdbhk<*S8&+C1Vu%haJ0jFDxuNWn7~{r-KHfwa`c_k$0-av5fr*7~oPCz@v$i zm9-m@(}qN%IX*6OuQ3yTO*~bc7u8ua?Wp^Rdu#ixcsx39SqyT1jeZNC_~%c2?xN3T z6zB4y>e6N%n4Ed24jP=sZ+_>Se|>=&FRPT|+r%8y%TlA3treKq zl^x%eE=8be`;lPja1XEFJWGSJfcf|xG_j|5I%FeEdWg^QqM+PLGbvoB2t`%NU z^;4tm>^vF{Yf^IAZez$MPP$26p|43x=rm6h2?u!L&aOYW7lXce>m5e#E9^p-zP@wU z&iB3NcW3v_x=v8N9Sshg5+d0uwc6Wt7flu$f*sG)Sn+D3?I~176UEi5p@;8F`|jJ!Gup+V?@Zsp8BAyq&+xTf2VkqeZ^I>8{(=wu^`5=Ee&@H|GU0r` zKOq+>*r-c7bI~{dnSokl~%F{axzkMT&@E|i4tk(Y~WfO z=QRnSFaYPBcGg#~i0efC)`%)ZG>K{Ao;`ct``+KZ?z-!6AK$WNgzh%#Ljx7vu&BkD z$)YYk(4Pe#F3c}rla7#cS&N*T`$)R+St&re*@%uAo^J2Hy?5VzJLMy2UZ}wYqt(5M zzTzHl5@}e^nj|Y{)<(h|eW~!_4}Buk?stCYJSQ#X2ff~8#Di42gs zY+S8vQnXVkU)p3eg(vl)gYuOvpXhT&)DxLXU-QiNoeDmyh7Zr zMqXQ5b^G@1`^-iE{OM19(&gxtxv(wGm+3S-dF$YHK@vXjBMQvf_nn_#m>Wn#S5-r7 zkm3#sh&BmO3OOS0N!mtNUU^<;l}T#Oy98L&R)H<%U`gYOI)jwo`%1M`c#n>{`&Y7F-+QrsMO&1;Tfj|Gt6E|&o$%}pj^}>Xjk;5)kU{+GL%1= zh_&^T^+I)j-;*M3Nlq)(iPvYQd-bKb(ei3S`Yvz1?JB!XG?~uJB4MKy`82#tT_Z~L zt^klkZ}ZH0ADxi!59r`d;>Y>?$ID)+rJoGj-?v*{<&xl!;nZb2yatnh3YZTIWYZXH zFXr!4fMu=1>T=FIx6=pO8`}lbUbUVWpI|yrj<8HWWL=iw0g7e1C^kh(QX*U^sp3s} zbc^ryQlbijGOzorMM62DeoO|4#r-tZs)Dszo!H%YT z%iibvHn)D8+yuQMUdPsZWWSa%FzkqoJT$l*ELRb+(;~~TB)!prh_0Tlpc77Z5y+WyvqLuqX<2;12I;r#0)g7Cf-Wl zzUDBE{BeUi76J&gH$5?V+OMCTBoiykUBX(=6<(z9y)eb1@nEfzbamc&`Mx(bnf{{) z1Y+!MFKtUdcf4&Yf8aw{6!YgmD@R!o?Ar#HaZ8ol)&HV}{Adf| zC5s33K7a3!g24HyX+WUuBF}Oo;yM<0^I|wT%Ma<19{DB5mx}F^DT@7v5&Y9;vob^B zJWcX*gTs+E_t@cp9oigAUISH8<`Q$1F896Swe^W2>N?o~a{(#0}cIRhI-i!F763R)ymHby>O7;_$vQ7f} zy3$OKGF_SNvRFlx$Bl25!5qA!f{FYcr78UF;nm+wUVJo^?F?{iBzwvB7eC!_TWt`0 zbZ*zbx!ic-bMAX`+u@ysgWF14+5qWNbCef#Y~8xJ_z!eU91{6l4ga!k*NVK&XlHv- zuEM%}uB4Pt&q2b(!6js^**fj>B|5q;T3+)D#wmF3a{dv(oLBAgCe|q^a-Q&oFx(3t z@h8#B&PsLQY+}4A%X^Kcs$=itZ(5Zf23#}EoFI6Y<;%nu#p&*J%QB8?di(VYDuGDs&HM&B;FkNCn3u zQRKs2C5y14bKA#O8U!gz6IpHl_tHC$=Bj|JRqdAtd2uPq&MHDWADP!76`YST?m|Qo ze_l|v@~cM3P)nFuvaurY3a02n$`c0uGC$f27W-fzEG%vMhr-ll+k6C^R^tH(4rlZng%O$_f`SgcZyO2+sORs{75kFD;q%V=)59QrCIw(x%)Eb7F zYwC;_h3|p%SE3BkGeMpcx7`2L;8_r;k~;3H_AKFUdT`i&ZvV~O^L6w+Bz6S?5nEgS z%!WKQ{%Y@L_lb>Vf-nZ5BVr}dTqz{wgq zRQ^{{?veKH&dyF)EDf>rRKBDOJ&R<&GI^q=rj2z+4H}ini~Vm z8U{s3M#er*zrgTSvteg1_4-}8(~Kje8fng)6r=qk3EZ}JG7`;MjNECj&eCrO0q@*74psN~xAwWQrui2=cTJH(!n%C8@KX3W!BgjeD9Idp{w&Vq1wW1gVdv=GlU5 z*?D~u;yjX>BiGgb!~TxuzS$G5ygr5apeJuHCY^v6_>~_hLh(5YoNwNeJJn}&xmKkc z>b0NTjhkYdxIxHsNE^m)UDd%dVoWds66g{x(-6eD&$8lu(gA6^;=f1X{NW6~JBgFP zqx8eWds%q5)v>Cg#r)p1w!Fx1&pS+Ilcw)l!D!bc7|uz(VqfCeAyZ}|_U(E}kcMEL zJqG7nOzxys!=uq?t+=6108v}8)ByQs&&IKuOJt`PPc%4n{qT#5aor$%`r=~u7f*B% zFiVxcs{b9;Z^FrmiGVGJyF&=>)HEBNX^SAI{{P)6=4Z3;dZI!kRh7((Un5w45_YpPQyDywCNWgp(h6-63%EX6M3#thiES~ zglFyYQuvhSd78tWCxC;nYw;*cUwqp@UT|x+a*Hy9g52Z%lkBWrL9iq`DTIi8Z$HcN zsl;UE=utkZTTDz@p4XsygyzBD^LnN_8bYTOFI_TQb(X-=R5RF}e6)_tT!iUJW!kW~SRS&? z&jnV4VJBn`vjoRy6~9k-P1Nk4qTgjneW#aQvj!rlPYiUBIUoO=q9PmDSWC4N!0Atl zrKhAXo3~w{sClIB*vHfT1ND zi1oh{XkO9nhLdVYnD{FI(uQ?SI^M(%#x`AX&e9E*v3BrIW%%3@OY-7>fw#Ao8lc1l zUEpf3+T|-y35~hi@!m(v@~M-@dSw&a@^xn}aw-O@o8tINXfD}_fjTPD&oK{DF9jvWTA`@Z-j zPe@cXpB!6NpT?M)4daP_cERr4>R{KGqf&)kbq) zYkOTEOp(2WMaj_4v(ufY^Tq-r=%jKCM}<6Hjmg(u49AbAe}%emn^~ltniNINhLp$N zE?A2cwC`Q(^aqju*jtP0H`<*7+!}iB}yKSjV9>~^e%*=O&=Wxm6|4rO+MT2l&z&IQdiz`1H2{;RfZ~QR(_wHvy)i^s2nEx~ZsM zdLt9(-s1K68Qwv9;SNC7Z6tNE9>I(Id>Al(^cW;xOz=Dg5gFAx&j9H80QNGyo1Q*- zsa|cfUtj6q*dERyqstm|w*lv0zbgg?Tqkio5#EJ4TyJWNWQNXY`O7WRf;GG=PT zd1aw#s6)6y&F7u3XZ$x0ZvP%1<67x${ZcfnhW^FAlknb(WYxR?*7DLfbpc%Dj3WpV|mpiPMrJen}Q=O6b?qOhf{&#$U!TblRTBC|)&x?6ByI9}CC084V&!7p7g0GEYs=%;i zF)WLWjiq7r^uYA8z@OJm#l3QwWSWC~y?g>2HMnkH?3^vV%vz^8>uV2 zo23-(#2IYsnq9&7Csl3D)m^5LyBOPkn=d-n!hta+gR;-)H8aASN7T5%Ce zP9`e&DNj{&u$sem<;A%Ev-3p?>|aYFh=fHQI%Q&r0~fC<1su`0McsU5rYUWL*`txc}%~T!HaBD!IP`#D)UL}0Sl$#WcLZG%Cl``^A3)P zCU!I0`-j$kNaYcAl+H_WL9TN=F1OY@=6K5}r{i_~kJQ z)xIe!72E${YZ?AZN7u%(1i2PmS@X-%Um4}2hbVA#j97h+u@;?T4?JT9VS2y;b|3)c zm`G7!Xw)#R_^;nd*8^5DUf9S;juUh`u{Pmex?3yuvv>8VDSu>WLs1)!LQYn`%WMzv=4;fBaZXX`vwH3L9i++5 ztTdt52D3eD6%YS|AxlY&3S@<{mwYS{KQ*@B|v_Y+A>pRDHE z)Eax*W*oDD7N-}JnxeDMtMe(Z(AF~T*d+b(*W?aL&$mc~?J2|BE<>DZ6e9g_AKkac)iTK=w}#uU}Q<yhY4OXkcGazNh@+UUbs~IsFwAJsu z=LS<-Jw$SOtXRkffT`Yvj@2Bcpp&FQ2=Fwea{=3^t00W)jIl8h8x(yc<^T<&SYcy9 z=qazGRTSkpJOrgn_rmX7fR&Q0xSHelM5@;bFsi*wgJ>a7&70iAbXp-$yroY(0J)-% zYR+S89Ae|3J9w9KP=lbU;;lyz8GLMZabG>J?q*dq`%J%g32v2HnMF1XL}4w36X4Dv}cIjmP6! z)U{C1MFH~=kEqwYzAfZ@wg}=sq8#qJBEnnOn4}&O-O^lbyT5kq+KQa60-@8{q2fFr zTW$yt831yVQ6kQ(>W)%K%;%q-SQB8(hUrPqi1`mJt>wR-Yxv)Ar?h4L=3mAt1s8Q} zPw?n`uLrEFX2R4~i^)c9iqz}A;$Ym~!2R^=2<)G25?^Od6(P!1IFxzGj>?<+D|a6L zd-BI%Rr26nJCBF?1%da)8J&>Qeh^OY;XajN(gf;F_X@Ab(5IP7>(C_Y!M~@ni@y&CJ=LB0-qR@&f@-LGe9J@zl1Wzw zKED{>k06s!2!CV>gQTUWrW<8uz^bg{#cMyNjOo~Z7Z|O)S>z*`-2%Jty?dj%Sp+NB zhXMksSPdKDt95>`O5+@t%(=0%*{NrG?kTTzY!4>f4rvZ_`KI`J1yPJu{{7JqY=n7YG+BylL5I?~k!aI@xoIVW;S650tyI7EN_D^Q!%9hZ zyA-O`zs}aSY1g=I53B>R8AqXun%GgORrz6fu%0T!>Tp}~DAiIGab)`Ba5Q^TEaGkJ zW7S2~yrDKqaceo1!$RYW(lyd-9|QJJYgQ~=!B%1ts3@1w|N8$Z?t>4_C!}uR44`hp zI8n^OaLHl)$UQTtMVn(xUEgE2LPEYhL)B%Y5^lU#aEF?AqcG@MmD_^y8Zn>VWiYdQ z;!GtU)zv4|Cdcyk+42`%lbnxQoasp<37v`z-m)S51Gmj-)^El4 zrN85n1EFw7^k!JtA8~5Rxy`{uRmsbwL0C>22j9c)>uuRFHot3{iA{!ae3{LlkBqlN z6g^IVKDY!;&keIm19pxXiJ=l~^exWWv(L`u61LEXkeikwh#xXNtppS(_HG_DccQ7L zJtsE>N$NWbVW5!JM*+qWX=47^PD--3ug_|xuj2*)y5z_CqrE$`k{9{2QJE>w3$m|=i$JpJGlJJS1g2HJ7_Va! zoS|#W-VuA^>bT`phqYgxwcLApw+k&AA(!|85~tXOLKa_&tCWg{Y2GjmR2+3sSMp6@ z+q;4sH`@<+&ZVGJ*&@i1`xgsQ?B;l|BVuvd10HPMf$~?=(70Qf#KHL?=rKWl{+X}* z*tKu^C|1@Y7S^IshuSv|4!OTrPHRkuIv>;6%)<{5=ulWE@_ycc9*L)bgEF+arn&wd z(SrkSx96Sp#CdrIB}LQV^Nk4N+i7m--aTH}FM-_6;?NiOhDqtW15L2#(E-!?aHjHj zND3lvbh?1K`7nR5eUBm#9UORPTM6ME9&0L>39(hZITft~5BpSa**29wvZeN<6ykMEyyZTlClJ|A9M9PN3~b zs1y#(EnVN!(CKD8tpvqnxMEPI zcP($7qln>p)Jl_gM({h9!EFsuYsAhHh|f@-mvT1nVr?CInSNYXlvH@O4h0;ZKyT=9 z*nksLMy)^io=<-l8h6w_w-#N5_|KIE-Z4nuO(6`M+{bMOZ`X^3`LDY&M>S+l2u)u#Zqi@ z^ythLJ6I%rZVyRG3&2L-Pga_@voOdNe4mh&X}O$0isY(|$g!vh@7&S!Zd)3)3B7SF znr|2PbQ|s}t$?Jbiy;^C5j+SMWhHLHo9wDmnQaZY<1M0oPY%<*Aw zsiGnGoC`B;E8Rc>H&teV=PhVUuxFvuA%WxUCYV}5Wgt*{b9C9Y4K>MqJ)_EfbJdT2 zDz-FCiZ0QG9x(wA&8#_BO z;)Q^ThU0mr*~~An75GXx?#`9ko=Fme5-7gsri2jCWgT$tkBUvqQSL<|)&Za)g!H+K z4&1r-xwP4Q0mm(jSnvo7H+k%5TY~p=h@IbnmqEmSUC)3qdD8Kv2QGM-3|k>F#8K1i z`a+|=Tcnz%_e~CIEUv&EqIH%=O_MFrhT*Hxae6qPeR-d-eMbShY#>c^jE|kYnIK#D z@1+U!*pD+t2iMWUo`lM{)=Hyx_$Tz+K)u-^+TwV* z`s|UgZZ|3$4+irv)A!GUq`63 zNHS`kNS&R6aVw4>H^i9OAt`-2NrnxJd3t8*O0`R`eGvp53+M6foReCS{fm)tSCa4R z*)q$qzZ?d>XFKOBa09X{w%MIL&CN)8#ZanJzaMvAy-*J1-l1+X(VmtkWa2wB>vM>8swQJ-u zFd-39V&ol#AN_VoH3Fyk9(jJ+uJybdV~=vVndh{>OSokkPEE~B3W!X(QJFfCcY!7| zE#sq7Rt8$_fgKJxCaI>W%T2bEe;XKf9_}B%`mIy7ASkOig08ck(9`GrYyF?VA`$ zt?Bc z)MUqZG5`cU@`EoJ{{Ah{TBUNR1dncM3Ba9cGMMMs82%UV7H_ES*tOYZbI?ReRPgWx z_RAG52X_p3mn=d)^0<}!v#nAHUZqcOXzSf{|Ii0RjZ+M{Ib1Vq?*gjfmV9d(=*~9| zGRT>s5rVJPxgIw<%bL6NwBxqE^ z5zaO`#n{TQ0$7ILEmLIUGAYox-j|}2{t=oPYUCH~d5I&0ST7DXppT1!5qwQGpp z)krP<^Lv9R=(biB+IUN+Nbk5aIc0oW;rbM=S&#QkUHKBRWNn%~u`B0VU?>1zyAq+KlD%dTBI$$_c0(7IIhNag?q7h*ev+M`Pi&C!Ee)y|{k zLdQj6DiF+tbcQ*Pr*FL9yn|#_7YaNqR3C(%4VofkQO%^9qKKHf$~$CJvXn38^6ULZ z4XY`(ZmZdl?1veFlX|r+;EqPu2y+r)^-)}m$B|2;-sd6W3j;!HYjy5)eBx| zcEPr$KYEDpo3_-(gG2nh zw!1x=37_e-e6uG}Zqc4ikUv{dgCcw+0qkP8iH<1SYy-qjg9zoy8J1?XSdi*>HaxCD z$VJqn5=VErJ^d;WZb`wSebK%zRh4dZo{)04fPxum6O$`u-xe!MA7$-lNlOZT*fJJD z20ahzV=jWRc4vSc|$$68-!QCBVzU6 z?GSBR&-S{*T=ffnd+h{d2on~BC=M!A{qj|+aCPe%Y%b-K>wm*Z8bRk5)CvBWkq^{?7qB zg0Fn+IMx?Fxa)fS*?PjsY}itOTY>tX-#e$nIFdXZYL<$(2@Z-F)ns)z0xO?>B`B*x zuL%mTyU%D1(l(%xD>+jPpqCL$!eT%sZs1ufPc;!!We6Mg~3u&sb6W*Nx z!^|m8i>(1e`8KLkyfcXKHSFJ#A_(Bfz725Fe7AJmbh5y!B(*ViK`eP1S>=OfXTUWN zs%xr+=4KkFwr%cZ-0cMsB3rf_r$(iQJ_qsxU~0NRF}h|QB|@4Gt(8V+c0fPAUC}i2 zPkJ|^ko`yl!g2|)sFl{wc-hX+m=5|`n5iFUEjWB_p4jotNqMfNh^a@5cpK8)P{oR4 zjBCwnc@^Di(g-Zyqqqd!)lsOcYr@xByiedO*sFDKnDG^Su>*!N^}?&kTR0Q&EGQ}m zatHRan_|CK89+CyBZmdG=ZNKh|LePuGv)JDf!w_pACp%$l(wEBosdAln>tY_VN*Zt zF|K{k%XO6seo=#u?-7Q!&v{4EVoiLG8#$vAhEQ{ddkbU3aRPg|r^zB+xmlT0`;7(N(E%_TRk#h7KB?Hp?c**S z{$>&vg1*tWa>*EJjdR?LjWU2-+<16-LlH&#WMj&HY=b`k85piW$YjFYv=~Dk$d5lZ zL^5Dng}+<=aSKUhAei;sJU$>(z;%9GTGEV%JWX+&)Bm=5lj*Y+3B5E0VYLP&fi^Za z7VauSS)?u$Ph8`}n3%qhb_S8FQ1V8mh;LqRg9B#skRAKT$1z6k>=@)p-ek>EZyV6< zozRQc7)49O%a|b(_n3DDf;PJJinG}+UBQc)Q`w=-9!&+`W7z15f-T4@7q2K$3Ym_+ z`@aZ@Bq?@XidWP;gb{>Er*kDpWXWUz(gQ4V8*wY(cHe_=*2~rcadTjm@UaSp)dN6z^5ps3o$DB zWm*kCHFJI^-9a9^t+ft6agFN8rRhV{kM9BO^6xMsA**f|ZN@9{;J9x9oXFX4EY$9* zO_3qs+v52dj*N_0c;3sdgOuH=lHKo?pkY=C#R^*R$L-xL1z4rD!0)nI0e1+HH@-Er z{bIr4*AJz?4eC#l97lEhV%{bF>J_etCM4kfm_B@$dh6-}IC;*de;Ji!svt#k_CY~$ zksG~z_sm+_-s)rPGbDwO-|Y&Ex=t7+Hp2kuxxr;P_^PUm{pX8 z3Aw+1r}zBrG}BhHsg&vCd&7;soVUh&woSN=WYZgzY0K$e#&M{@Nj?0W+q-Cr)%5*$ zOh%J4>|3cq$!!ebO~8j({;-LCthkQ<@^3J&kNH#lzTyBDbkZvt$;=<`21CHLb|;kQ z;$C9@3Rpj>Ye z!nXr7tQb;@Mgq?HbF+bG(b4-I2=B^{Ju%ziPWH&X|F#8N*>vV3FlOwKcsKJZ(|6pp zvoX+D&2wF{@qc(F6v`nC^!XioCuH?3 zz_z`O-WC3~&zfxc`DT)2)-Mky$r$=Wgv>eg4pU`r4CyD>GuQdDt!kJaGjb zuS3z}qbOh9xYJ$OiGoscF4a-0o#5K)3B8hvIR?2i>xs|$3;dIdZn_5bmS-wXc;4QT z@at|`GtN6^N%yfhzuDK`UwFB6_Q&P!Wl>b*ahv>#V6Fk$&ksg(3f^@auDz`^V{e-@ zgCLh1PQ>r`G$VS!YSDeVdIqs_%;bB|?x%7nONwopqVcAl)Q`kK;VJ5X+_(!O`&zZ- zWmB8^@_zaOw$30z9a;fllOjQkhR9HDzW9g9?(WYX8FAuMUM3CWg&qjn0f{{0#&q9l zXUEcK0p+_&c}Q8}thO;<)r4@dD1h&;sP)#{3~rw_V(yoCTk$ynA2*k3-{Z#+T#x)H zub#2N&%j~sb*$`_qijh0FRNZt246i8MWkKKw#eI@snhd zbUJ_I-zUnTMsz#3Vpt{RsU5UC6du(FgFzRr49zEZ*020hoDM$LO(fR82H#G_Kd&%b zkz^iV&!7MF)$eQ|R`JmTGT)}hntvNHmi{?Ju%l&MQ^)aPMIPSPWv8^SuliC%zKW8Z zEP+5i3CSC&=k=w16hjYBKdZ?1Q+$e`q4?MxN@^tX_MOPLFU36%U&*X|nPYJnf&@6u zUyk_>fl^vHzpFLsz%LUedr(b4vU7qNAE@n^&aV`51kZzG>Qa;Fq zo;v2{5p0Z^s|9&E>?l5wm>E19{`eDSiD<-G;V!eTq?*0<7aL+tq@_hTI&Y7n!P1!O zrR5~H?p7Up{gCz0cUC?je0`E(4!_Ew?X~cW#Ln^*n$530)`XZ_p6!7mzTsrxI|$+0;0ucxrKyB>T2HfD{tfQx~rI?dV<(T z*{KKFG6B4?{A@J}-%?+=^Agcsn*PPRs0??~2}j)=)6hUAt|Oy#K?t5m4iVS_DOD|* zf_iQS(T{P0w`#m*I(qeHBrWd+yu%|CO}#}$t_(VL&M~nX`@2Id8rfssmW0x5N6@5r~i9?@L%vdA{aYstslmxP9IR`EqKfV+U7I{Vp&cBcdgz zpYvInuoot!wLo|r`9${<4N-wc@rQYJr~j;v^m(?i-7BBOPs8IFHbKS)fouC=myVNd zTn4(^%jHEZJb#NHJS-0230C7_r@Hlj8`$y$%X|^&cK&ez9aT^C_NaOw4IM>t@CxqX z|5-1Jyxu)nXhGXj;^(war8!~pXF7<<_J?AHaoVcqx;|f)N>#jJ4_E{*6ZG1DOd1** z3ks1-kDQHFhIyn>vQuKLW{ zT9}pmseAF$dyD?DcrX8Cf<-2)sQ?ksLd5j9&1%=Vf$R?%ty?DRuK=SD4-S4v3$XC- z8Tf0+GyyZiodozPDIuwA{4bvH8g;$>8AMu==4Jj=BtzCCwg><6OdOct zi?-2*h)~e$aAUGC%3Okj+-srfe%nV*aqD%DH7Sm{Ul+-EI(l<--mO4$afF- zCv5B2KKHl3pL;!{FQEDoHoAHI`bMxQC^$y5l3bfiHm@kTTaLC)rjCZJrV@%f;NgD# z*Dbq^=|SQ0ak6Ql#5&@Dx7Ev%IMTHtsa3!1kuA@7`BU z(zsXiKA$Dt^gX;)ERA@Wv{UeeoM8PyWysIN(9EfgmZ{fAGTnVrDZ{Dp7XG0hRY%xE z%-)EZ(R~@a-x-lk&@4x7Un-Lk6$t9R?b-N*G=Hd!QPz{W5yydUVUyzPTwEMk85t0W zDdiZ^4KoMga&K=kmLkQngi6r@3e#G$^o4zu{nUK?N8j5D$Xv(GIbMYtL7jR^AdCT6pC_+8cCf0dU=FsaxtOIUJtnVF5vzSaGgSxl3V!r zR@V;4>ft_LN$(Z;R@=okntVxjmbB7Bvv%Ag}B<@k}r*ZX@**9E$>}~KAU?s@wA-TKQy1S zUYuTG8=ALFycM4e(0A6gZq^yEV)EJ}>8UwujH_TiH|u8k!(l`Rx_Y#5_7t>fXMHSs+hp{mzr7HpjBj#PFv>8wXj0GzJ>y=AtOPZE7V**(fw=%Zwot7Y=DUNNbl zha2R$5GC$xH7oL?yjZUIIjQ8AyyVKq4qPhgNsnc8faA|e`z^jvNT)pRKcH|FqH~v0 z78etgbjBlzVR&pgKJo06jAD}1`)+*Y-?Y!a8IkL1*f80HG&EKd!h!yzeb!TNLceqB z5uT#zOKL-hE!k(a_+=FT&ZK%VE@s9s<@!!|8V6wZ}5(X(D_N(?!*n3`|_r0Hc?=PQw&*vnU?QTFY zB_MsH|!j$PP;I}?dppoE_gA(4uc!jV&0!l7_;&p2^pxNo>PEcNJv za5_RT$o2Mf!<+r?&EbHH6nMoTsDOa;mN(wv8RNsHpG)`^ymG-S5By8=l9iVXzN_eG%Xg2@Xeq76tTZ*dGh~Lo9vl;Zfs+W#BydUw zCkZ$o1LqWQO$FC9aKlLl*7x9^0q%0}$OMlp@Kk_jHXOjofdePND+j!A{q!8~Jn+s3 z?~~w@4?egS02}8NuulUA=L~QQfm;MzCGd)XhiftT;+zFO&JVyp2mBww?;QByS_1w! zrQlx%{^cMj0|Bo1FjwY@Q8?Hx0cIPF*@-ZRFpPc#bBw{5@tD(5%sClzIfl8WU~V#u zm5Q;_F!wa$BSpqhN>W@2De?TKWR*!ujY;Yylk_X5#~V!L*Gw~;$%4Q8~Mad z@`-kG?yb$a9cHIApZDVZ^U6Xkp<*4rU82O7%}0jjHlK{id@?-wpN*fCHXyXh(bLt* zPc}H-x0e4E&nQ>y%B-(EL=9}RyC%MyX=upHuFhAk&MLbsF0LP-q`XnH78@fT+pKPW zu72MW`|?8ht^tz$iC}ZwLp4tB;Q49K!QCF3@!iB1qOI=?w z7In!}F~ij(18UYUjnbmC!qKhPo%24?8U1x{7o(+?^Zu0Hx81|FuS?bJ0jgBhEMzf< zCgUq7r2OCB(`XkKcN-TL>u5y#dD6D!)5W?`O5)V^>jb)P)GBdy%t$uUMpf$SNV31$ zb||OojAbvMP?T@$h_ZiFLFVHDmbyMhJF|-_)HX3%m=CDI+ID$0^C>kzxprBW)hw(v zr!Gmda);ICoQyhV_oP5+C%?jcG8v+D@9f?Dk*!BxY}dazmrT@64UrP3hlslANK)bq z$67n83eh}OeW&SV@HG95P|bjfqJ7gw$e+`Hxo!4cx`jdK1bJ>YDSpGKLPZ^1cv$ek zIB?0S<#tX?SJCLWdMd{-ME?$hc7A$zBOdIJ)4!KcAwb=VMov)nK;9z>x~rfT1>dS+ zZ6#`2v@`jgbqq)P22H)Tx2CpmM^o1$B+xT6`(v%5xJ(?j#>Q$+rx_R|7TzDZe{J6q zG1*EcU%tE?!kO%^M;3aM6JN*LAKUVb^xz8-Pxo#jR5(-KBeLJvA@-gxNHx0M-ZJLl z;#JwQoh~9V?`UVo#}{6ka@II>++D@%KqGpMdlQ}?9E*wFcf5(#XQnP$Dk5~%iX^>f z%$y;?M0BLp{O3a(-4A?ewryHrrD%cx#Q^%KY1H zNre$ve+vceSLZcNY4U(RBX&)oZn*Py()h)XkE?PL$!bNb{N5FVI2Y%LKEm%yvpyTP z(1P?z~7YxD~Rf<(a@_y` diff --git a/assets/logo.jpg b/assets/logo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..52222ab0ca2fe196c5e72f45b72563561b81230c GIT binary patch literal 151694 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

Cmef_j1`owaGwD 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

88=N-%~d-zO>9QP^DCf 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 literal 0 HcmV?d00001 diff --git a/assets/svg/ru.svg b/assets/svg/ru.svg new file mode 100644 index 0000000..ae12982 --- /dev/null +++ b/assets/svg/ru.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/assets/svg/uk.svg b/assets/svg/uk.svg new file mode 100644 index 0000000..88e2211 --- /dev/null +++ b/assets/svg/uk.svg @@ -0,0 +1,23 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/devtools_options.yaml b/devtools_options.yaml new file mode 100644 index 0000000..7e9e947 --- /dev/null +++ b/devtools_options.yaml @@ -0,0 +1,3 @@ +description: This file stores settings for Dart & Flutter DevTools. +documentation: https://docs.flutter.dev/tools/devtools/extensions#configure-extension-enablement-states +extensions: \ No newline at end of file diff --git a/l10n.yaml b/l10n.yaml new file mode 100644 index 0000000..d26d702 --- /dev/null +++ b/l10n.yaml @@ -0,0 +1,6 @@ +arb-dir: l10n +template-arb-file: app_ru.arb +output-localization-file: app_locale.dart +output-dir: lib/components/locale/l10n +output-class: AppLocale +synthetic-package: false \ No newline at end of file diff --git a/l10n/app_en.arb b/l10n/app_en.arb new file mode 100644 index 0000000..6460b3a --- /dev/null +++ b/l10n/app_en.arb @@ -0,0 +1,11 @@ +{ + "@@locale": "en", + + "search": "Search", + "liked": "liked", + "disliked": "disliked", + "previous": "previous", + "next": "next", + + "arbEnding": "Чтобы не забыть про отсутствие запятой :)" +} \ No newline at end of file diff --git a/l10n/app_ru.arb b/l10n/app_ru.arb new file mode 100644 index 0000000..d784413 --- /dev/null +++ b/l10n/app_ru.arb @@ -0,0 +1,11 @@ +{ + "@@locale": "ru", + + "search": "Поиск", + "liked": "поставлен лайк", + "disliked": "убран лайк", + "previous": "назад", + "next": "вперёд", + + "arbEnding": "Чтобы не забыть про отсутствие запятой :)" +} \ No newline at end of file diff --git a/lib/components/extensions/context_x.dart b/lib/components/extensions/context_x.dart new file mode 100644 index 0000000..8e4a7af --- /dev/null +++ b/lib/components/extensions/context_x.dart @@ -0,0 +1,6 @@ +import 'package:flutter/widgets.dart'; +import '../locale/l10n/app_locale.dart'; + +extension LocalContextX on BuildContext { + AppLocale get locale => AppLocale.of(this)!; +} diff --git a/lib/components/locale/l10n/app_locale.dart b/lib/components/locale/l10n/app_locale.dart new file mode 100644 index 0000000..b9cad0b --- /dev/null +++ b/lib/components/locale/l10n/app_locale.dart @@ -0,0 +1,165 @@ +import 'dart:async'; + +import 'package:flutter/foundation.dart'; +import 'package:flutter/widgets.dart'; +import 'package:flutter_localizations/flutter_localizations.dart'; +import 'package:intl/intl.dart' as intl; + +import 'app_locale_en.dart'; +import 'app_locale_ru.dart'; + +// ignore_for_file: type=lint + +/// Callers can lookup localized strings with an instance of AppLocale +/// returned by `AppLocale.of(context)`. +/// +/// Applications need to include `AppLocale.delegate()` in their app's +/// `localizationDelegates` list, and the locales they support in the app's +/// `supportedLocales` list. For example: +/// +/// ```dart +/// import 'l10n/app_locale.dart'; +/// +/// return MaterialApp( +/// localizationsDelegates: AppLocale.localizationsDelegates, +/// supportedLocales: AppLocale.supportedLocales, +/// home: MyApplicationHome(), +/// ); +/// ``` +/// +/// ## Update pubspec.yaml +/// +/// Please make sure to update your pubspec.yaml to include the following +/// packages: +/// +/// ```yaml +/// dependencies: +/// # Internationalization support. +/// flutter_localizations: +/// sdk: flutter +/// intl: any # Use the pinned version from flutter_localizations +/// +/// # Rest of dependencies +/// ``` +/// +/// ## iOS Applications +/// +/// iOS applications define key application metadata, including supported +/// locales, in an Info.plist file that is built into the application bundle. +/// To configure the locales supported by your app, you’ll need to edit this +/// file. +/// +/// First, open your project’s ios/Runner.xcworkspace Xcode workspace file. +/// Then, in the Project Navigator, open the Info.plist file under the Runner +/// project’s Runner folder. +/// +/// Next, select the Information Property List item, select Add Item from the +/// Editor menu, then select Localizations from the pop-up menu. +/// +/// Select and expand the newly-created Localizations item then, for each +/// locale your application supports, add a new item and select the locale +/// you wish to add from the pop-up menu in the Value field. This list should +/// be consistent with the languages listed in the AppLocale.supportedLocales +/// property. +abstract class AppLocale { + AppLocale(String locale) : localeName = intl.Intl.canonicalizedLocale(locale.toString()); + + final String localeName; + + static AppLocale? of(BuildContext context) { + return Localizations.of(context, AppLocale); + } + + static const LocalizationsDelegate delegate = _AppLocaleDelegate(); + + /// A list of this localizations delegate along with the default localizations + /// delegates. + /// + /// Returns a list of localizations delegates containing this delegate along with + /// GlobalMaterialLocalizations.delegate, GlobalCupertinoLocalizations.delegate, + /// and GlobalWidgetsLocalizations.delegate. + /// + /// Additional delegates can be added by appending to this list in + /// MaterialApp. This list does not have to be used at all if a custom list + /// of delegates is preferred or required. + static const List> localizationsDelegates = >[ + delegate, + GlobalMaterialLocalizations.delegate, + GlobalCupertinoLocalizations.delegate, + GlobalWidgetsLocalizations.delegate, + ]; + + /// A list of this localizations delegate's supported locales. + static const List supportedLocales = [ + Locale('en'), + Locale('ru') + ]; + + /// No description provided for @search. + /// + /// In ru, this message translates to: + /// **'Поиск'** + String get search; + + /// No description provided for @liked. + /// + /// In ru, this message translates to: + /// **'поставлен лайк'** + String get liked; + + /// No description provided for @disliked. + /// + /// In ru, this message translates to: + /// **'убран лайк'** + String get disliked; + + /// No description provided for @previous. + /// + /// In ru, this message translates to: + /// **'назад'** + String get previous; + + /// No description provided for @next. + /// + /// In ru, this message translates to: + /// **'вперёд'** + String get next; + + /// No description provided for @arbEnding. + /// + /// In ru, this message translates to: + /// **'Чтобы не забыть про отсутствие запятой :)'** + String get arbEnding; +} + +class _AppLocaleDelegate extends LocalizationsDelegate { + const _AppLocaleDelegate(); + + @override + Future load(Locale locale) { + return SynchronousFuture(lookupAppLocale(locale)); + } + + @override + bool isSupported(Locale locale) => ['en', 'ru'].contains(locale.languageCode); + + @override + bool shouldReload(_AppLocaleDelegate old) => false; +} + +AppLocale lookupAppLocale(Locale locale) { + + + // Lookup logic when only language code is specified. + switch (locale.languageCode) { + case 'en': return AppLocaleEn(); + case 'ru': return AppLocaleRu(); + } + + throw FlutterError( + 'AppLocale.delegate failed to load unsupported locale "$locale". This is likely ' + 'an issue with the localizations generation tool. Please file an issue ' + 'on GitHub with a reproducible sample app and the gen-l10n configuration ' + 'that was used.' + ); +} diff --git a/lib/components/locale/l10n/app_locale_en.dart b/lib/components/locale/l10n/app_locale_en.dart new file mode 100644 index 0000000..1da8092 --- /dev/null +++ b/lib/components/locale/l10n/app_locale_en.dart @@ -0,0 +1,26 @@ +import 'app_locale.dart'; + +// ignore_for_file: type=lint + +/// The translations for English (`en`). +class AppLocaleEn extends AppLocale { + AppLocaleEn([String locale = 'en']) : super(locale); + + @override + String get search => 'Search'; + + @override + String get liked => 'liked'; + + @override + String get disliked => 'disliked'; + + @override + String get previous => 'previous'; + + @override + String get next => 'next'; + + @override + String get arbEnding => 'Чтобы не забыть про отсутствие запятой :)'; +} diff --git a/lib/components/locale/l10n/app_locale_ru.dart b/lib/components/locale/l10n/app_locale_ru.dart new file mode 100644 index 0000000..300b102 --- /dev/null +++ b/lib/components/locale/l10n/app_locale_ru.dart @@ -0,0 +1,26 @@ +import 'app_locale.dart'; + +// ignore_for_file: type=lint + +/// The translations for Russian (`ru`). +class AppLocaleRu extends AppLocale { + AppLocaleRu([String locale = 'ru']) : super(locale); + + @override + String get search => 'Поиск'; + + @override + String get liked => 'поставлен лайк'; + + @override + String get disliked => 'убран лайк'; + + @override + String get previous => 'назад'; + + @override + String get next => 'вперёд'; + + @override + String get arbEnding => 'Чтобы не забыть про отсутствие запятой :)'; +} diff --git a/lib/components/resources.g.dart b/lib/components/resources.g.dart new file mode 100644 index 0000000..9645894 --- /dev/null +++ b/lib/components/resources.g.dart @@ -0,0 +1,10 @@ +/// Generate by [asset_generator](https://github.com/fluttercandies/flutter_asset_generator) library. +/// PLEASE DO NOT EDIT MANUALLY. +// ignore_for_file: constant_identifier_names +class R { + const R._(); + + static const String ASSETS_SVG_RU_SVG = 'assets/svg/ru.svg'; + + static const String ASSETS_SVG_UK_SVG = 'assets/svg/uk.svg'; +} diff --git a/lib/components/utils/debounce.dart b/lib/components/utils/debounce.dart index 6b10be1..197c25f 100644 --- a/lib/components/utils/debounce.dart +++ b/lib/components/utils/debounce.dart @@ -10,11 +10,11 @@ class Debounce { static Timer? _timer; - static void run ( - VoidCallback action, { - Duration delay = const Duration(milliseconds: 2000), - }) { + static void run( + VoidCallback action, { + Duration delay = const Duration(milliseconds: 2000), + }) { _timer?.cancel(); _timer = Timer(delay, action); } -} \ No newline at end of file +} diff --git a/lib/const/resource.dart b/lib/const/resource.dart new file mode 100644 index 0000000..51c9249 --- /dev/null +++ b/lib/const/resource.dart @@ -0,0 +1,6 @@ +/// Generate by [asset_generator](https://github.com/fluttercandies/flutter_asset_generator) library. +/// PLEASE DO NOT EDIT MANUALLY. +// ignore_for_file: constant_identifier_names +class R { + const R._(); +} diff --git a/lib/data/dtos/cats_dto.dart b/lib/data/dtos/cats_dto.dart index 2c8fff2..a086a7e 100644 --- a/lib/data/dtos/cats_dto.dart +++ b/lib/data/dtos/cats_dto.dart @@ -22,4 +22,4 @@ class CatDataDto { const CatDataDto({this.imageLink, this.name, this.origin, this.length}); factory CatDataDto.fromJson(Map json) => _$CatDataDtoFromJson(json); -} \ No newline at end of file +} diff --git a/lib/data/dtos/cats_dto.g.dart b/lib/data/dtos/cats_dto.g.dart index a9c1a94..1a18577 100644 --- a/lib/data/dtos/cats_dto.g.dart +++ b/lib/data/dtos/cats_dto.g.dart @@ -7,14 +7,14 @@ part of 'cats_dto.dart'; // ************************************************************************** CatsDto _$CatsDtoFromJson(List json) => CatsDto( - data: (json as List?) - ?.map((e) => CatDataDto.fromJson(e as Map)) - .toList(), -); + data: (json as List?) + ?.map((e) => CatDataDto.fromJson(e as Map)) + .toList(), + ); CatDataDto _$CatDataDtoFromJson(Map json) => CatDataDto( - imageLink: json['image_link'] as String?, - name: json['name'] as String?, - origin: json['origin'] as String?, - length: json['length'] as String?, -); \ No newline at end of file + imageLink: json['image_link'] as String?, + name: json['name'] as String?, + origin: json['origin'] as String?, + length: json['length'] as String?, + ); diff --git a/lib/data/mappers/cats_mapper.dart b/lib/data/mappers/cats_mapper.dart index 2dccbd2..f340bd1 100644 --- a/lib/data/mappers/cats_mapper.dart +++ b/lib/data/mappers/cats_mapper.dart @@ -7,25 +7,25 @@ const _imagePlaceholder = extension CatsDtoToModel on CatsDto { HomeData toDomain() => HomeData( - data: data?.map((e) => e.toDomain()).toList(), - ); + data: data?.map((e) => e.toDomain()).toList(), + nextPage: data != null && data!.isNotEmpty ? 20 : null, + ); } extension CatDataDtoToModel on CatDataDto { CardData toDomain() => CardData( - name ?? 'UNKNOWN', - imageUrl: imageLink ?? _imagePlaceholder, - descriptionText: - _makeDescriptionText(origin, length), - ); + name ?? 'UNKNOWN', + imageUrl: imageLink ?? _imagePlaceholder, + descriptionText: _makeDescriptionText(origin, length), + ); String _makeDescriptionText(String? origin, String? length) { return origin != null || length != null ? 'Origin: $origin \nLength: $length' : origin != null - ? 'Origin: $origin' - : length != null - ? 'Length: $length' - : ''; + ? 'Origin: $origin' + : length != null + ? 'Length: $length' + : ''; } -} \ No newline at end of file +} diff --git a/lib/data/repositories/api_interface.dart b/lib/data/repositories/api_interface.dart index 3e0e205..9b212ec 100644 --- a/lib/data/repositories/api_interface.dart +++ b/lib/data/repositories/api_interface.dart @@ -4,4 +4,4 @@ typedef OnErrorCallback = void Function(String? error); abstract class ApiInterface { Future loadData({OnErrorCallback? onError}); -} \ No newline at end of file +} diff --git a/lib/data/repositories/cats_repository.dart b/lib/data/repositories/cats_repository.dart index c50ba3f..b64ea6b 100644 --- a/lib/data/repositories/cats_repository.dart +++ b/lib/data/repositories/cats_repository.dart @@ -2,10 +2,8 @@ import 'package:dio/dio.dart'; import 'package:pmu/data/dtos/cats_dto.dart'; import 'package:pmu/data/mappers/cats_mapper.dart'; import 'package:pmu/data/repositories/api_interface.dart'; -import 'package:pmu/domain/models/card.dart'; import 'package:pretty_dio_logger/pretty_dio_logger.dart'; import 'package:pmu/domain/models/home.dart'; -import 'package:pmu/presentation/home_page/bloc/events.dart'; class CatsRepository extends ApiInterface { static final Dio _dio = Dio(BaseOptions( @@ -22,7 +20,7 @@ class CatsRepository extends ApiInterface { OnErrorCallback? onError, String? q, int offset = 0, - int pageSize = 20, + //int minWeight=1, }) async { try { const String url = '/v1/cats?min_weight=1'; @@ -30,9 +28,9 @@ class CatsRepository extends ApiInterface { final Response response = await _dio.get( url, queryParameters: { + //'min_weight': minWeight, 'name': q, 'offset': offset, - 'limit': pageSize, }, ); @@ -45,4 +43,4 @@ class CatsRepository extends ApiInterface { return null; } } -} \ No newline at end of file +} diff --git a/lib/data/repositories/mock_repository.dart b/lib/data/repositories/mock_repository.dart index 37434dc..eb3a25f 100644 --- a/lib/data/repositories/mock_repository.dart +++ b/lib/data/repositories/mock_repository.dart @@ -11,23 +11,22 @@ class MockRepository extends ApiInterface { CardData( 'Абиссинская', descriptionText: 'Эфиопия', - imageUrl: - 'https://ajo-pet.ru/u/ckupload/files/abissinskaya-koshka-sorrel.jpg', + imageUrl: 'https://ajo-pet.ru/u/ckupload/files/abissinskaya-koshka-sorrel.jpg', ), CardData( 'Британская', descriptionText: 'Великобритания', icon: Icons.hail, - imageUrl: - 'https://zoopt.ru/upload/iblock/ce2/britan.png', + imageUrl: 'https://zoopt.ru/upload/iblock/ce2/britan.png', ), CardData( 'Невская Маскарадная', descriptionText: 'СССР', icon: Icons.warning_amber, - imageUrl: 'https://wikipet.ru/wp-content/uploads/2018-10/1539243031_1491312430_nev_mask_info.jpg', + imageUrl: + 'https://wikipet.ru/wp-content/uploads/2018-10/1539243031_1491312430_nev_mask_info.jpg', ), ], ); } -} \ No newline at end of file +} diff --git a/lib/domain/models/card.dart b/lib/domain/models/card.dart index 39e24b7..4cd7e71 100644 --- a/lib/domain/models/card.dart +++ b/lib/domain/models/card.dart @@ -5,11 +5,13 @@ class CardData { final String descriptionText; final IconData icon; final String? imageUrl; + final String? id; CardData( - this.text, { - required this.descriptionText, - this.icon = Icons.ac_unit_outlined, - this.imageUrl, - }); -} \ No newline at end of file + this.text, { + required this.descriptionText, + this.icon = Icons.ac_unit_outlined, + this.imageUrl, + this.id, + }); +} diff --git a/lib/domain/models/home.dart b/lib/domain/models/home.dart index 12a9508..2f0ba57 100644 --- a/lib/domain/models/home.dart +++ b/lib/domain/models/home.dart @@ -2,7 +2,7 @@ import 'card.dart'; class HomeData { final List? data; - final int? offset; + final int? nextPage; - HomeData({this.data, this.offset}); -} \ No newline at end of file + HomeData({this.data, this.nextPage}); +} diff --git a/lib/main.dart b/lib/main.dart index ddb4135..d3ec840 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +/*import 'package:flutter/material.dart'; import 'package:pmu/data/repositories/cats_repository.dart'; import 'package:pmu/presentation/home_page/home_page.dart'; import 'package:pmu/presentation/home_page/bloc/bloc.dart'; @@ -31,4 +31,59 @@ class MyApp extends StatelessWidget { ), ); } -} \ No newline at end of file +}*/ +import 'dart:io'; + +import 'package:flutter/material.dart'; +import 'package:pmu/components/locale/l10n/app_locale.dart'; +import 'package:pmu/data/repositories/cats_repository.dart'; +import 'package:pmu/presentation/home_page/bloc/bloc.dart'; +import 'package:pmu/presentation/home_page/home_page.dart'; +import 'package:pmu/presentation/like_bloc/like_bloc.dart'; +import 'package:pmu/presentation/locale_bloc/locale_bloc.dart'; +import 'package:pmu/presentation/locale_bloc/locale_state.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; + +void main() { + runApp(const MyApp()); +} + +class MyApp extends StatelessWidget { + const MyApp({super.key}); + + @override + Widget build(BuildContext context) { + return BlocProvider( + lazy: false, + create: (context) => LocaleBloc(Locale(Platform.localeName)), + child: BlocBuilder( + builder: (context, state) { + return MaterialApp( + title: 'Flutter Demo', + locale: state.currentLocale, + localizationsDelegates: AppLocale.localizationsDelegates, + supportedLocales: AppLocale.supportedLocales, + debugShowCheckedModeBanner: false, + theme: ThemeData( + colorScheme: ColorScheme.fromSeed(seedColor: Colors.orangeAccent), + useMaterial3: true, + ), + home: RepositoryProvider( + lazy: true, + create: (_) => CatsRepository(), + child: BlocProvider( + lazy: false, + create: (context) => LikeBloc(), + child: BlocProvider( + lazy: false, + create: (context) => HomeBloc(context.read()), + child: const MyHomePage(), + ), + ), + ), + ); + }, + ), + ); + } +} diff --git a/lib/presentation/common/svg_objects.dart b/lib/presentation/common/svg_objects.dart new file mode 100644 index 0000000..9a41074 --- /dev/null +++ b/lib/presentation/common/svg_objects.dart @@ -0,0 +1,34 @@ +import 'package:flutter/widgets.dart'; +import 'package:flutter_svg/flutter_svg.dart'; +import '../../components/resources.g.dart'; + +abstract class SvgObjects { + static void init() { + final pics = [ + R.ASSETS_SVG_RU_SVG, + R.ASSETS_SVG_UK_SVG, + ]; + for (final String p in pics) { + final loader = SvgAssetLoader(p); + svg.cache.putIfAbsent(loader.cacheKey(null), () => loader.loadBytes(null)); + } + } +} + +class SvgRu extends StatelessWidget { + const SvgRu({super.key}); + + @override + Widget build(BuildContext context) { + return SvgPicture.asset(R.ASSETS_SVG_RU_SVG); + } +} + +class SvgUk extends StatelessWidget { + const SvgUk({super.key}); + + @override + Widget build(BuildContext context) { + return SvgPicture.asset(R.ASSETS_SVG_UK_SVG); + } +} diff --git a/lib/presentation/details_page/details_page.dart b/lib/presentation/details_page/details_page.dart index c24f52f..d0d6285 100644 --- a/lib/presentation/details_page/details_page.dart +++ b/lib/presentation/details_page/details_page.dart @@ -10,28 +10,24 @@ class DetailsPage extends StatelessWidget { Widget build(BuildContext context) { return Scaffold( appBar: AppBar(), - body: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Padding( - padding: const EdgeInsets.only(bottom: 16.0), - child: Image.network( - data.imageUrl ?? '', + body: Padding( + padding: const EdgeInsets.all(20), + child: Column( + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + Center( + child: Image.network( + data.imageUrl ?? '', + ), ), - ), - Padding( - padding: const EdgeInsets.only(bottom: 4.0), - child: Text( - data.text, - style: TextStyle(fontSize: 23), - ), - ), - Text( - data.descriptionText, - style: TextStyle(fontSize: 19), - ) - ], + const SizedBox(height: 20), + Text(data.text, style: const TextStyle(fontSize: 24, fontWeight: FontWeight.bold)), + const SizedBox(height: 10), + Text(data.descriptionText, style: const TextStyle(fontSize: 22, color: Colors.black87)), + // Add more details here as needed + ], + ), ), ); } -} \ No newline at end of file +} diff --git a/lib/presentation/home_page/bloc/bloc.dart b/lib/presentation/home_page/bloc/bloc.dart index d7c5051..1c7f1a4 100644 --- a/lib/presentation/home_page/bloc/bloc.dart +++ b/lib/presentation/home_page/bloc/bloc.dart @@ -2,6 +2,7 @@ import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:pmu/data/repositories/cats_repository.dart'; import 'package:pmu/presentation/home_page/bloc/events.dart'; import 'package:pmu/presentation/home_page/bloc/state.dart'; +import '../../../domain/models/home.dart'; class HomeBloc extends Bloc { final CatsRepository repo; @@ -11,7 +12,7 @@ class HomeBloc extends Bloc { } Future _onLoadData(HomeLoadDataEvent event, Emitter emit) async { - if (event.offset == 0) { + if (event.nextPage == 0) { emit(state.copyWith(isLoading: true)); } else { emit(state.copyWith(isPaginationLoading: true)); @@ -21,27 +22,22 @@ class HomeBloc extends Bloc { final data = await repo.loadData( q: event.search, + offset: event.nextPage ?? 0, onError: (e) => error = e, - offset: event.offset, ); - if (data != null) { - final updatedData = (event.offset == 0 - ? data.data - : [...state.data?.data ?? [], ...data.data ?? []]); + final updatedData = event.nextPage != null && data != null + ? HomeData( + data: [...state.data?.data ?? [], ...data.data!], + nextPage: (event.nextPage! + 1), + ) + : data; - emit(state.copyWith( - isLoading: false, - isPaginationLoading: false, - data: HomeData(data: updatedData), - error: error, - )); - } else { - emit(state.copyWith( - isLoading: false, - isPaginationLoading: false, - error: error, - )); - } + emit(state.copyWith( + isLoading: false, + isPaginationLoading: false, + data: updatedData, + error: error, + )); } -} \ No newline at end of file +} diff --git a/lib/presentation/home_page/bloc/events.dart b/lib/presentation/home_page/bloc/events.dart index 49e56e6..cefba70 100644 --- a/lib/presentation/home_page/bloc/events.dart +++ b/lib/presentation/home_page/bloc/events.dart @@ -4,7 +4,7 @@ abstract class HomeEvent { class HomeLoadDataEvent extends HomeEvent { final String? search; - final int offset; + final int? nextPage; - const HomeLoadDataEvent({this.search, this.offset = 0}); -} \ No newline at end of file + const HomeLoadDataEvent({this.search, this.nextPage}); +} diff --git a/lib/presentation/home_page/bloc/state.dart b/lib/presentation/home_page/bloc/state.dart index 8446dd9..a9ede65 100644 --- a/lib/presentation/home_page/bloc/state.dart +++ b/lib/presentation/home_page/bloc/state.dart @@ -22,10 +22,10 @@ class HomeState extends Equatable { @override List get props => [ - data, - offset, - isLoading, - isPaginationLoading, - error, - ]; -} \ No newline at end of file + data, + offset, + isLoading, + isPaginationLoading, + error, + ]; +} diff --git a/lib/presentation/home_page/bloc/state.g.dart b/lib/presentation/home_page/bloc/state.g.dart index 2cf8db1..dee4848 100644 --- a/lib/presentation/home_page/bloc/state.g.dart +++ b/lib/presentation/home_page/bloc/state.g.dart @@ -83,8 +83,7 @@ class _$HomeStateCWProxyImpl implements _$HomeStateCWProxy { // ignore: cast_nullable_to_non_nullable : isLoading as bool, isPaginationLoading: - isPaginationLoading == const $CopyWithPlaceholder() || - isPaginationLoading == null + isPaginationLoading == const $CopyWithPlaceholder() || isPaginationLoading == null ? _value.isPaginationLoading // ignore: cast_nullable_to_non_nullable : isPaginationLoading as bool, diff --git a/lib/presentation/home_page/card.dart b/lib/presentation/home_page/card.dart index d041f50..1cf4d98 100644 --- a/lib/presentation/home_page/card.dart +++ b/lib/presentation/home_page/card.dart @@ -1,29 +1,34 @@ part of 'home_page.dart'; -typedef OnLikeCallback = void Function(String title, bool isLiked)?; +typedef OnLikeCallback = void Function(String? id, String title, bool isLiked)?; -class _Card extends StatefulWidget { +class _Card extends StatelessWidget { final String text; final String descriptionText; final IconData icon; final String? imageUrl; final OnLikeCallback onLike; final VoidCallback? onTap; + final String? id; + final bool isLiked; const _Card( - this.text, { - this.icon = Icons.abc, - required this.descriptionText, - this.imageUrl, - this.onLike, - this.onTap, - }); + this.text, { + this.icon = Icons.abc, + required this.descriptionText, + this.imageUrl, + this.onLike, + this.onTap, + this.id, + this.isLiked = false, + }); factory _Card.fromData( - CardData data, { - OnLikeCallback onLike, - VoidCallback? onTap, - }) => + CardData data, { + OnLikeCallback onLike, + VoidCallback? onTap, + bool isLiked = false, + }) => _Card( data.text, descriptionText: data.descriptionText, @@ -31,18 +36,97 @@ class _Card extends StatefulWidget { imageUrl: data.imageUrl, onLike: onLike, onTap: onTap, + isLiked: isLiked, + id: data.id, ); - @override - State<_Card> createState() => _CardState(); -} - -class _CardState extends State<_Card> { - bool isLiked = false; @override Widget build(BuildContext context) { return GestureDetector( - onTap: widget.onTap, + onTap: onTap, + child: Container( + margin: const EdgeInsets.all(16), + constraints: const BoxConstraints(minHeight: 240), + decoration: BoxDecoration( + color: Colors.grey, + borderRadius: BorderRadius.circular(20), + boxShadow: [ + BoxShadow( + color: Colors.grey.withOpacity(.5), + spreadRadius: 4, + offset: const Offset(0, 5), + blurRadius: 8, + ), + ], + ), + child: Column( + children: [ + Align( + alignment: Alignment.bottomRight, + child: Padding( + padding: const EdgeInsets.only( + left: 8, right: 16, bottom: 16, top: 10), + child: GestureDetector( + onTap: () => onLike?.call(id, text, isLiked), + child: AnimatedSwitcher( + duration: const Duration(milliseconds: 200), + child: isLiked + ? const Icon( + Icons.favorite, + color: Colors.redAccent, + key: ValueKey(0), + ) + : const Icon( + Icons.favorite_border, + key: ValueKey(1), + ), + ), + ), + ), + ), + ClipRRect( + borderRadius: const BorderRadius.only( + topLeft: Radius.circular(20), + topRight: Radius.circular(20), + ), + child: SizedBox( + height: 160, + width: double.infinity, + child: Stack( + children: [ + Positioned.fill( + child: Image.network( + imageUrl ?? '', + fit: BoxFit.contain, + errorBuilder: (_, __, ___) => const Placeholder(), + ), + ), + ], + ), + ), + ), + Padding( + padding: + const EdgeInsets.symmetric(vertical: 8.0, horizontal: 16.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + Text( + text, + style: Theme.of(context).textTheme.headlineSmall, + textAlign: TextAlign.center, + ), + ], + ), + ), + ], + ), + ), + ); + } + /*Widget build(BuildContext context) { + return GestureDetector( + onTap: onTap, child: Container( margin: const EdgeInsets.all(16), constraints: const BoxConstraints(minHeight: 140), @@ -115,14 +199,14 @@ class _CardState extends State<_Card> { duration: const Duration(milliseconds: 300), child: isLiked ? const Icon( - Icons.favorite, - color: Colors.purpleAccent, - key: ValueKey(0), - ) + Icons.favorite, + color: Colors.purpleAccent, + key: ValueKey(0), + ) : const Icon( - Icons.favorite_border, - key: ValueKey(1), - ), + Icons.favorite_border, + key: ValueKey(1), + ), ), ), ), @@ -132,5 +216,5 @@ class _CardState extends State<_Card> { ), ), ); - } -} \ No newline at end of file + }*/ +} diff --git a/lib/presentation/home_page/home_page.dart b/lib/presentation/home_page/home_page.dart index 7cd86c2..073c35b 100644 --- a/lib/presentation/home_page/home_page.dart +++ b/lib/presentation/home_page/home_page.dart @@ -1,21 +1,27 @@ import 'package:flutter/cupertino.dart'; +import 'package:pmu/presentation/common/svg_objects.dart'; import 'package:flutter/material.dart'; import 'package:pmu/components/utils/debounce.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:pmu/domain/models/card.dart'; -import 'package:pmu/data/repositories/cats_repository.dart'; import 'package:pmu/presentation/details_page/details_page.dart'; import 'package:pmu/presentation/home_page/bloc/bloc.dart'; import 'package:pmu/presentation/home_page/bloc/events.dart'; import 'package:pmu/presentation/home_page/bloc/state.dart'; +import 'package:pmu/presentation/locale_bloc/locale_bloc.dart'; +import 'package:pmu/presentation/locale_bloc/locale_events.dart'; +import 'package:pmu/presentation/locale_bloc/locale_state.dart'; +import 'package:pmu/presentation/like_bloc/like_bloc.dart'; +import 'package:pmu/presentation/like_bloc/like_event.dart'; +import 'package:pmu/presentation/like_bloc/like_state.dart'; +import 'package:pmu/components/extensions/context_x.dart'; part 'card.dart'; - class MyHomePage extends StatefulWidget { - const MyHomePage({super.key, required this.title}); + const MyHomePage({super.key}); - final String title; + //final String title; @override State createState() => _MyHomePageState(); @@ -24,30 +30,32 @@ class MyHomePage extends StatefulWidget { class _MyHomePageState extends State { @override Widget build(BuildContext context) { - return Scaffold(body: Body()); + return const Scaffold(body: _Body()); } } -class Body extends StatefulWidget { - const Body(); +class _Body extends StatefulWidget { + const _Body(); @override - State createState() => _BodyState(); + State<_Body> createState() => _BodyState(); } -class _BodyState extends State { +class _BodyState extends State<_Body> { final searchController = TextEditingController(); final scrollController = ScrollController(); @override void initState() { + super.initState(); + SvgObjects.init(); + WidgetsBinding.instance.addPostFrameCallback((_) { context.read().add(const HomeLoadDataEvent()); + context.read().add(const LoadLikesEvent()); }); scrollController.addListener(_onNextPageListener); - - super.initState(); } void _onNextPageListener() { @@ -71,6 +79,115 @@ class _BodyState extends State { @override Widget build(BuildContext context) { + return Padding( + padding: EdgeInsets.only(top: MediaQuery.of(context).padding.top), + child: Column( + children: [ + Row( + children: [ + Expanded( + flex: 4, + child: Padding( + padding: const EdgeInsets.all(12), + child: CupertinoSearchTextField( + controller: searchController, + placeholder: context.locale.search, + onChanged: (search) { + Debounce.run( + () => context.read().add(HomeLoadDataEvent(search: search))); + }, + ), + ), + ), + GestureDetector( + onTap: () => context.read().add(const ChangeLocaleEvent()), + child: SizedBox.square( + dimension: 50, + child: Padding( + padding: const EdgeInsets.only(right: 12), + child: BlocBuilder( + builder: (context, state) { + return state.currentLocale.languageCode == 'ru' + ? const SvgRu() + : const SvgUk(); + }, + ), + ), + ), + ), + ], + ), + BlocBuilder( + builder: (context, state) { + if (state.error != null) { + return Text( + state.error ?? '', + style: Theme.of(context).textTheme.headlineSmall?.copyWith(color: Colors.red), + ); + } + + if (state.isLoading) { + return const CircularProgressIndicator(); + } + + return BlocBuilder( + builder: (context, likeState) { + return Expanded( + child: RefreshIndicator( + onRefresh: _onRefresh, + child: ListView.builder( + controller: scrollController, + padding: EdgeInsets.zero, + itemCount: state.data?.data?.length ?? 0, + itemBuilder: (context, index) { + final data = state.data?.data?[index]; + return data != null + ? _Card.fromData( + data, + onLike: _onLike, + isLiked: likeState.likedIds?.contains(data.id) == true, + onTap: () => _navToDetails(context, data), + ) + : const SizedBox.shrink(); + }, + ), + ), + ); + }, + ); + }, + ), + BlocBuilder( + builder: (context, state) { + if (state.isPaginationLoading) { + return const CircularProgressIndicator(); + } + + final nextPage = state.data?.nextPage; + final hasNextPage = nextPage != null && nextPage > 0; + + return Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + if (hasNextPage) + ElevatedButton( + onPressed: () { + context.read().add(HomeLoadDataEvent( + search: searchController.text, + nextPage: nextPage, + )); + }, + child: Text(context.locale.next), + ), + ], + ); + }, + ), + ], + ), + ); + } + /*Widget build(BuildContext context) { return Padding( padding: EdgeInsets.only(top: MediaQuery.of(context).padding.top), child: Column( @@ -87,32 +204,32 @@ class _BodyState extends State { BlocBuilder( builder: (context, state) => state.error != null ? Text( - state.error ?? '', - style: Theme.of(context).textTheme.headlineSmall?.copyWith(color: Colors.red), - ) + state.error ?? '', + style: Theme.of(context).textTheme.headlineSmall?.copyWith(color: Colors.red), + ) : state.isLoading - ? const CircularProgressIndicator() - : Expanded( - child: RefreshIndicator( - onRefresh: _onRefresh, - child: ListView.builder( - controller: scrollController, - padding: EdgeInsets.zero, - itemCount: state.data?.data?.length ?? 0, - itemBuilder: (context, index) { - final data = state.data?.data?[index]; - return data != null - ? _Card.fromData( - data, - onLike: (title, isLiked) => - _showSnackBar(context, title, isLiked), - onTap: () => _navToDetails(context, data), - ) - : const SizedBox.shrink(); - }, - ), - ), - ), + ? const CircularProgressIndicator() + : Expanded( + child: RefreshIndicator( + onRefresh: _onRefresh, + child: ListView.builder( + controller: scrollController, + padding: EdgeInsets.zero, + itemCount: state.data?.data?.length ?? 0, + itemBuilder: (context, index) { + final data = state.data?.data?[index]; + return data != null + ? _Card.fromData( + data, + onLike: (title, isLiked) => + _showSnackBar(context, title, isLiked), + onTap: () => _navToDetails(context, data), + ) + : const SizedBox.shrink(); + }, + ), + ), + ), ), BlocBuilder( builder: (context, state) => state.isPaginationLoading @@ -122,7 +239,7 @@ class _BodyState extends State { ], ), ); - } + }*/ Future _onRefresh() { context.read().add(HomeLoadDataEvent(search: searchController.text)); @@ -136,6 +253,13 @@ class _BodyState extends State { ); } + void _onLike(String? id, String title, bool isLiked) { + if (id != null) { + context.read().add(ChangeLikeEvent(id)); + _showSnackBar(context, title, !isLiked); + } + } + void _showSnackBar(BuildContext context, String title, bool isLiked) { WidgetsBinding.instance.addPostFrameCallback((_) { ScaffoldMessenger.of(context).showSnackBar(SnackBar( @@ -143,8 +267,9 @@ class _BodyState extends State { 'You ${isLiked ? 'like!' : 'disliked :('} $title ', style: Theme.of(context).textTheme.bodyLarge, ), - backgroundColor: Colors.deepPurple.shade600, + backgroundColor: Colors.red, duration: const Duration(seconds: 1), )); }); - }} \ No newline at end of file + } +} diff --git a/lib/presentation/like_bloc/like_bloc.dart b/lib/presentation/like_bloc/like_bloc.dart new file mode 100644 index 0000000..468cc80 --- /dev/null +++ b/lib/presentation/like_bloc/like_bloc.dart @@ -0,0 +1,35 @@ +import 'package:pmu/presentation/like_bloc/like_event.dart'; +import 'package:pmu/presentation/like_bloc/like_state.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:shared_preferences/shared_preferences.dart'; + +const String _likedPrefsKey = 'liked'; + +class LikeBloc extends Bloc { + LikeBloc() : super(const LikeState(likedIds: [])) { + on(_onChangeLike); + on(_onLoadLikes); + } + + Future _onLoadLikes(LoadLikesEvent event, Emitter emit) async { + final prefs = await SharedPreferences.getInstance(); + final data = prefs.getStringList(_likedPrefsKey); + + emit(state.copyWith(likedIds: data)); + } + + Future _onChangeLike(ChangeLikeEvent event, Emitter emit) async { + final updatedList = List.from(state.likedIds ?? []); + + if (updatedList.contains(event.id)) { + updatedList.remove(event.id); + } else { + updatedList.add(event.id); + } + + final prefs = await SharedPreferences.getInstance(); + prefs.setStringList(_likedPrefsKey, updatedList); + + emit(state.copyWith(likedIds: updatedList)); + } +} diff --git a/lib/presentation/like_bloc/like_event.dart b/lib/presentation/like_bloc/like_event.dart new file mode 100644 index 0000000..d0326d8 --- /dev/null +++ b/lib/presentation/like_bloc/like_event.dart @@ -0,0 +1,13 @@ +abstract class LikeEvent { + const LikeEvent(); +} + +class LoadLikesEvent extends LikeEvent { + const LoadLikesEvent(); +} + +class ChangeLikeEvent extends LikeEvent { + final String id; + + const ChangeLikeEvent(this.id); +} diff --git a/lib/presentation/like_bloc/like_state.dart b/lib/presentation/like_bloc/like_state.dart new file mode 100644 index 0000000..5f0959f --- /dev/null +++ b/lib/presentation/like_bloc/like_state.dart @@ -0,0 +1,14 @@ +import 'package:copy_with_extension/copy_with_extension.dart'; +import 'package:equatable/equatable.dart'; + +part 'like_state.g.dart'; + +@CopyWith() +class LikeState extends Equatable { + final List? likedIds; + + const LikeState({required this.likedIds}); + + @override + List get props => [likedIds]; +} diff --git a/lib/presentation/like_bloc/like_state.g.dart b/lib/presentation/like_bloc/like_state.g.dart new file mode 100644 index 0000000..0888cf2 --- /dev/null +++ b/lib/presentation/like_bloc/like_state.g.dart @@ -0,0 +1,56 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'like_state.dart'; + +// ************************************************************************** +// CopyWithGenerator +// ************************************************************************** + +abstract class _$LikeStateCWProxy { + LikeState likedIds(List? likedIds); + + /// This function **does support** nullification of nullable fields. All `null` values passed to `non-nullable` fields will be ignored. You can also use `LikeState(...).copyWith.fieldName(...)` to override fields one at a time with nullification support. + /// + /// Usage + /// ```dart + /// LikeState(...).copyWith(id: 12, name: "My name") + /// ```` + LikeState call({ + List? likedIds, + }); +} + +/// Proxy class for `copyWith` functionality. This is a callable class and can be used as follows: `instanceOfLikeState.copyWith(...)`. Additionally contains functions for specific fields e.g. `instanceOfLikeState.copyWith.fieldName(...)` +class _$LikeStateCWProxyImpl implements _$LikeStateCWProxy { + const _$LikeStateCWProxyImpl(this._value); + + final LikeState _value; + + @override + LikeState likedIds(List? likedIds) => this(likedIds: likedIds); + + @override + + /// This function **does support** nullification of nullable fields. All `null` values passed to `non-nullable` fields will be ignored. You can also use `LikeState(...).copyWith.fieldName(...)` to override fields one at a time with nullification support. + /// + /// Usage + /// ```dart + /// LikeState(...).copyWith(id: 12, name: "My name") + /// ```` + LikeState call({ + Object? likedIds = const $CopyWithPlaceholder(), + }) { + return LikeState( + likedIds: likedIds == const $CopyWithPlaceholder() + ? _value.likedIds + // ignore: cast_nullable_to_non_nullable + : likedIds as List?, + ); + } +} + +extension $LikeStateCopyWith on LikeState { + /// Returns a callable class that can be used as follows: `instanceOfLikeState.copyWith(...)` or like so:`instanceOfLikeState.copyWith.fieldName(...)`. + // ignore: library_private_types_in_public_api + _$LikeStateCWProxy get copyWith => _$LikeStateCWProxyImpl(this); +} diff --git a/lib/presentation/locale_bloc/locale_bloc.dart b/lib/presentation/locale_bloc/locale_bloc.dart new file mode 100644 index 0000000..882982b --- /dev/null +++ b/lib/presentation/locale_bloc/locale_bloc.dart @@ -0,0 +1,17 @@ +import 'package:flutter/material.dart'; +import 'package:pmu/components/locale/l10n/app_locale.dart'; +import 'package:pmu/presentation/locale_bloc/locale_events.dart'; +import 'package:pmu/presentation/locale_bloc/locale_state.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; + +class LocaleBloc extends Bloc { + LocaleBloc(Locale defaultLocale) : super(LocaleState(currentLocale: defaultLocale)) { + on(_onChangeLocale); + } + + Future _onChangeLocale(ChangeLocaleEvent event, Emitter emit) async { + final toChange = AppLocale.supportedLocales + .firstWhere((e) => e.languageCode != state.currentLocale.languageCode); + emit(state.copyWith(currentLocale: toChange)); + } +} diff --git a/lib/presentation/locale_bloc/locale_events.dart b/lib/presentation/locale_bloc/locale_events.dart new file mode 100644 index 0000000..c08cd1b --- /dev/null +++ b/lib/presentation/locale_bloc/locale_events.dart @@ -0,0 +1,7 @@ +abstract class LocaleEvent { + const LocaleEvent(); +} + +class ChangeLocaleEvent extends LocaleEvent { + const ChangeLocaleEvent(); +} diff --git a/lib/presentation/locale_bloc/locale_state.dart b/lib/presentation/locale_bloc/locale_state.dart new file mode 100644 index 0000000..b9221ca --- /dev/null +++ b/lib/presentation/locale_bloc/locale_state.dart @@ -0,0 +1,15 @@ +import 'package:copy_with_extension/copy_with_extension.dart'; +import 'package:equatable/equatable.dart'; +import 'package:flutter/material.dart'; + +part 'locale_state.g.dart'; + +@CopyWith() +class LocaleState extends Equatable { + final Locale currentLocale; + + const LocaleState({required this.currentLocale}); + + @override + List get props => [currentLocale]; +} diff --git a/lib/presentation/locale_bloc/locale_state.g.dart b/lib/presentation/locale_bloc/locale_state.g.dart new file mode 100644 index 0000000..23ee063 --- /dev/null +++ b/lib/presentation/locale_bloc/locale_state.g.dart @@ -0,0 +1,56 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'locale_state.dart'; + +// ************************************************************************** +// CopyWithGenerator +// ************************************************************************** + +abstract class _$LocaleStateCWProxy { + LocaleState currentLocale(Locale currentLocale); + + /// This function **does support** nullification of nullable fields. All `null` values passed to `non-nullable` fields will be ignored. You can also use `LocaleState(...).copyWith.fieldName(...)` to override fields one at a time with nullification support. + /// + /// Usage + /// ```dart + /// LocaleState(...).copyWith(id: 12, name: "My name") + /// ```` + LocaleState call({ + Locale? currentLocale, + }); +} + +/// Proxy class for `copyWith` functionality. This is a callable class and can be used as follows: `instanceOfLocaleState.copyWith(...)`. Additionally contains functions for specific fields e.g. `instanceOfLocaleState.copyWith.fieldName(...)` +class _$LocaleStateCWProxyImpl implements _$LocaleStateCWProxy { + const _$LocaleStateCWProxyImpl(this._value); + + final LocaleState _value; + + @override + LocaleState currentLocale(Locale currentLocale) => this(currentLocale: currentLocale); + + @override + + /// This function **does support** nullification of nullable fields. All `null` values passed to `non-nullable` fields will be ignored. You can also use `LocaleState(...).copyWith.fieldName(...)` to override fields one at a time with nullification support. + /// + /// Usage + /// ```dart + /// LocaleState(...).copyWith(id: 12, name: "My name") + /// ```` + LocaleState call({ + Object? currentLocale = const $CopyWithPlaceholder(), + }) { + return LocaleState( + currentLocale: currentLocale == const $CopyWithPlaceholder() || currentLocale == null + ? _value.currentLocale + // ignore: cast_nullable_to_non_nullable + : currentLocale as Locale, + ); + } +} + +extension $LocaleStateCopyWith on LocaleState { + /// Returns a callable class that can be used as follows: `instanceOfLocaleState.copyWith(...)` or like so:`instanceOfLocaleState.copyWith.fieldName(...)`. + // ignore: library_private_types_in_public_api + _$LocaleStateCWProxy get copyWith => _$LocaleStateCWProxyImpl(this); +} diff --git a/makefile b/makefile new file mode 100644 index 0000000..f1d40dc --- /dev/null +++ b/makefile @@ -0,0 +1,19 @@ +gen: + flutter pub run build_runner build --delete-conflicting-outputs + +icon: + flutter pub run flutter_launcher_icons:main + +init_res: + dart pub global activate flutter_asset_generator + +format: + dart format . --line-length 100 + +res: + fgen --output lib/components/resources.g.dart --no-watch --no-preview; \ + make format + +loc: + flutter gen-l10n; \ + make format \ No newline at end of file diff --git a/pubspec.lock b/pubspec.lock index aca533f..810c7e8 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -22,6 +22,14 @@ packages: url: "https://pub.dev" source: hosted version: "6.7.0" + archive: + dependency: transitive + description: + name: archive + sha256: cb6a278ef2dbb298455e1a713bda08524a175630ec643a242c399c932a0a1f7d + url: "https://pub.dev" + source: hosted + version: "3.6.1" args: dependency: transitive description: @@ -134,6 +142,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.0.3" + cli_util: + dependency: transitive + description: + name: cli_util + sha256: ff6785f7e9e3c38ac98b2fb035701789de90154024a75b6cb926445e83197d1c + url: "https://pub.dev" + source: hosted + version: "0.4.2" clock: dependency: transitive description: @@ -238,6 +254,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.3.1" + ffi: + dependency: transitive + description: + name: ffi + sha256: "16ed7b077ef01ad6170a3d0c57caa4a112a38d7a2ed5602e0aca9ca6f3d98da6" + url: "https://pub.dev" + source: hosted + version: "2.1.3" file: dependency: transitive description: @@ -267,6 +291,14 @@ packages: url: "https://pub.dev" source: hosted version: "8.1.6" + flutter_launcher_icons: + dependency: "direct dev" + description: + name: flutter_launcher_icons + sha256: "526faf84284b86a4cb36d20a5e45147747b7563d921373d4ee0559c54fcdbcea" + url: "https://pub.dev" + source: hosted + version: "0.13.1" flutter_lints: dependency: "direct dev" description: @@ -275,11 +307,29 @@ packages: url: "https://pub.dev" source: hosted version: "4.0.0" + flutter_localizations: + dependency: "direct main" + description: flutter + source: sdk + version: "0.0.0" + flutter_svg: + dependency: "direct main" + description: + name: flutter_svg + sha256: "8c5d68a82add3ca76d792f058b186a0599414f279f00ece4830b9b231b570338" + url: "https://pub.dev" + source: hosted + version: "2.0.7" flutter_test: dependency: "direct dev" description: flutter source: sdk version: "0.0.0" + flutter_web_plugins: + dependency: transitive + description: flutter + source: sdk + version: "0.0.0" frontend_server_client: dependency: transitive description: @@ -304,6 +354,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.3.2" + http: + dependency: transitive + description: + name: http + sha256: b9c29a161230ee03d3ccf545097fccd9b87a5264228c5d348202e0f0c28f9010 + url: "https://pub.dev" + source: hosted + version: "1.2.2" http_multi_server: dependency: transitive description: @@ -320,6 +378,22 @@ packages: url: "https://pub.dev" source: hosted version: "4.0.2" + image: + dependency: transitive + description: + name: image + sha256: f31d52537dc417fdcde36088fdf11d191026fd5e4fae742491ebd40e5a8bea7d + url: "https://pub.dev" + source: hosted + version: "4.3.0" + intl: + dependency: "direct main" + description: + name: intl + sha256: d6f56758b7d3014a48af9701c085700aac781a92a87a62b1333b46d8879661cf + url: "https://pub.dev" + source: hosted + version: "0.19.0" io: dependency: transitive description: @@ -456,6 +530,62 @@ packages: url: "https://pub.dev" source: hosted version: "1.9.0" + path_parsing: + dependency: transitive + description: + name: path_parsing + sha256: "883402936929eac138ee0a45da5b0f2c80f89913e6dc3bf77eb65b84b409c6ca" + url: "https://pub.dev" + source: hosted + version: "1.1.0" + path_provider_linux: + dependency: transitive + description: + name: path_provider_linux + sha256: f7a1fe3a634fe7734c8d3f2766ad746ae2a2884abe22e241a8b301bf5cac3279 + url: "https://pub.dev" + source: hosted + version: "2.2.1" + path_provider_platform_interface: + dependency: transitive + description: + name: path_provider_platform_interface + sha256: "88f5779f72ba699763fa3a3b06aa4bf6de76c8e5de842cf6f29e2e06476c2334" + url: "https://pub.dev" + source: hosted + version: "2.1.2" + path_provider_windows: + dependency: transitive + description: + name: path_provider_windows + sha256: bd6f00dbd873bfb70d0761682da2b3a2c2fccc2b9e84c495821639601d81afe7 + url: "https://pub.dev" + source: hosted + version: "2.3.0" + petitparser: + dependency: transitive + description: + name: petitparser + sha256: c15605cd28af66339f8eb6fbe0e541bfe2d1b72d5825efc6598f3e0a31b9ad27 + url: "https://pub.dev" + source: hosted + version: "6.0.2" + platform: + dependency: transitive + description: + name: platform + sha256: "5d6b1b0036a5f331ebc77c850ebc8506cbc1e9416c27e59b439f917a902a4984" + url: "https://pub.dev" + source: hosted + version: "3.1.6" + plugin_platform_interface: + dependency: transitive + description: + name: plugin_platform_interface + sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02" + url: "https://pub.dev" + source: hosted + version: "2.1.8" pool: dependency: transitive description: @@ -496,6 +626,62 @@ packages: url: "https://pub.dev" source: hosted version: "1.3.0" + shared_preferences: + dependency: "direct main" + description: + name: shared_preferences + sha256: d3bbe5553a986e83980916ded2f0b435ef2e1893dfaa29d5a7a790d0eca12180 + url: "https://pub.dev" + source: hosted + version: "2.2.3" + shared_preferences_android: + dependency: transitive + description: + name: shared_preferences_android + sha256: "7f172d1b06de5da47b6264c2692ee2ead20bbbc246690427cdb4fc301cd0c549" + url: "https://pub.dev" + source: hosted + version: "2.3.4" + shared_preferences_foundation: + dependency: transitive + description: + name: shared_preferences_foundation + sha256: "07e050c7cd39bad516f8d64c455f04508d09df104be326d8c02551590a0d513d" + url: "https://pub.dev" + source: hosted + version: "2.5.3" + shared_preferences_linux: + dependency: transitive + description: + name: shared_preferences_linux + sha256: "580abfd40f415611503cae30adf626e6656dfb2f0cee8f465ece7b6defb40f2f" + url: "https://pub.dev" + source: hosted + version: "2.4.1" + shared_preferences_platform_interface: + dependency: transitive + description: + name: shared_preferences_platform_interface + sha256: "57cbf196c486bc2cf1f02b85784932c6094376284b3ad5779d1b1c6c6a816b80" + url: "https://pub.dev" + source: hosted + version: "2.4.1" + shared_preferences_web: + dependency: transitive + description: + name: shared_preferences_web + sha256: d2ca4132d3946fec2184261726b355836a82c33d7d5b67af32692aff18a4684e + url: "https://pub.dev" + source: hosted + version: "2.4.2" + shared_preferences_windows: + dependency: transitive + description: + name: shared_preferences_windows + sha256: "94ef0f72b2d71bc3e700e025db3710911bd51a71cefb65cc609dd0d9a982e3c1" + url: "https://pub.dev" + source: hosted + version: "2.4.1" shelf: dependency: transitive description: @@ -605,6 +791,30 @@ packages: url: "https://pub.dev" source: hosted version: "1.4.0" + vector_graphics: + dependency: transitive + description: + name: vector_graphics + sha256: "27d5fefe86fb9aace4a9f8375b56b3c292b64d8c04510df230f849850d912cb7" + url: "https://pub.dev" + source: hosted + version: "1.1.15" + vector_graphics_codec: + dependency: transitive + description: + name: vector_graphics_codec + sha256: "2430b973a4ca3c4dbc9999b62b8c719a160100dcbae5c819bae0cacce32c9cdb" + url: "https://pub.dev" + source: hosted + version: "1.1.12" + vector_graphics_compiler: + dependency: transitive + description: + name: vector_graphics_compiler + sha256: "1b4b9e706a10294258727674a340ae0d6e64a7231980f9f9a3d12e4b42407aad" + url: "https://pub.dev" + source: hosted + version: "1.1.16" vector_math: dependency: transitive description: @@ -653,6 +863,22 @@ packages: url: "https://pub.dev" source: hosted version: "3.0.1" + xdg_directories: + dependency: transitive + description: + name: xdg_directories + sha256: "7a3f37b05d989967cdddcbb571f1ea834867ae2faa29725fd085180e0883aa15" + url: "https://pub.dev" + source: hosted + version: "1.1.0" + xml: + dependency: transitive + description: + name: xml + sha256: b015a8ad1c488f66851d762d3090a21c600e479dc75e68328c52774040cf9226 + url: "https://pub.dev" + source: hosted + version: "6.5.0" yaml: dependency: transitive description: @@ -663,4 +889,4 @@ packages: version: "3.1.2" sdks: dart: ">=3.5.2 <4.0.0" - flutter: ">=3.18.0-18.0.pre.54" + flutter: ">=3.24.0" diff --git a/pubspec.yaml b/pubspec.yaml index 29bdde8..e45f1f9 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -34,17 +34,25 @@ dependencies: # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons. - cupertino_icons: ^1.0.8 + # Виджеты + cupertino_icons: ^1.0.2 + flutter_svg: 2.0.7 + # Сетевое взаимодействие json_annotation: ^4.8.1 dio: ^5.4.2+1 pretty_dio_logger: ^1.3.1 - # BLoC equatable: ^2.0.5 flutter_bloc: ^8.1.5 - copy_with_extension_gen: ^5.0.4 + # Localization + flutter_localizations: + sdk: flutter + intl: ^0.19.0 + + shared_preferences: 2.2.3 + dev_dependencies: flutter_test: sdk: flutter @@ -59,17 +67,28 @@ dev_dependencies: flutter_lints: ^4.0.0 + #Иконки + flutter_launcher_icons: 0.13.1 + +flutter_icons: + android: "ic_launcher" + image_path: "assets/logo.jpg" + min_sdk_android: 21 + # For information on the generic Dart part of this file, see the # following page: https://dart.dev/tools/pub/pubspec # The following section is specific to Flutter packages. flutter: - + generate: true # The following line ensures that the Material Icons font is # included with your application, so that you can use the icons in # the material Icons class. uses-material-design: true + assets: + - assets/svg/ + # To add assets to your application, add an assets section, like this: # assets: # - images/a_dot_burr.jpeg