From ba75ce8d6dc81ec5d8cbfd0877db30d6c4fdfb5b Mon Sep 17 00:00:00 2001 From: Denys Konovalov Date: Sun, 19 Dec 2021 22:20:56 +0100 Subject: [PATCH] ==1.0.0== - removed obsolete deps - fixed many issues - improved features - added: * favourites * account console * push notifications * background sync * improved settings --- .vscode/launch.json | 19 + android.zip | Bin 0 -> 434993 bytes android/.idea/gradle.xml | 12 +- android/.idea/jarRepositories.xml | 50 + android/.idea/libraries/Flutter_Plugins.xml | 7 - ...__androidx_activity_activity_1_0_0_aar.xml | 5 +- ...__androidx_annotation_annotation_1_1_0.xml | 13 - ...roidx_arch_core_core_runtime_2_0_0_aar.xml | 5 +- .../Gradle__androidx_core_core_1_1_0_aar.xml | 16 - ...droidx_customview_customview_1_0_0_aar.xml | 5 +- ...__androidx_fragment_fragment_1_1_0_aar.xml | 7 +- ...lifecycle_lifecycle_livedata_2_0_0_aar.xml | 5 +- ...ycle_lifecycle_livedata_core_2_0_0_aar.xml | 5 +- ..._lifecycle_lifecycle_runtime_2_2_0_aar.xml | 5 +- ...ifecycle_lifecycle_viewmodel_2_1_0_aar.xml | 5 +- ...adle__androidx_loader_loader_1_0_0_aar.xml | 5 +- ...droidx_savedstate_savedstate_1_0_0_aar.xml | 5 +- ...rcelable_versionedparcelable_1_1_0_aar.xml | 13 - ...androidx_viewpager_viewpager_1_0_0_aar.xml | 5 +- ...1c87ad800beeab545ab867354d4683d5bfb6ce.xml | 9 - ...1c87ad800beeab545ab867354d4683d5bfb6ce.xml | 9 - ...1c87ad800beeab545ab867354d4683d5bfb6ce.xml | 11 - ...1c87ad800beeab545ab867354d4683d5bfb6ce.xml | 9 - ...1c87ad800beeab545ab867354d4683d5bfb6ce.xml | 9 - android/.idea/misc.xml | 2 +- android/.idea/modules.xml | 9 +- .../-442492029/android.path_provider.iml | 96 - .../1049519328/android.shared_preferences.iml | 84 - android/.idea/modules/android.iml | 3 +- android/.idea/modules/app/android.app.iml | 56 +- android/.idea/runConfigurations.xml | 10 - android/app/build.gradle | 4 +- android/app/src/main/AndroidManifest.xml | 6 +- .../src/main/res/drawable-hdpi/app_icon.png | Bin 3498 -> 0 bytes .../src/main/res/drawable-mdpi/app_icon.png | Bin 2354 -> 0 bytes .../src/main/res/drawable-xhdpi/app_icon.png | Bin 4798 -> 0 bytes .../src/main/res/drawable-xxhdpi/app_icon.png | Bin 7449 -> 0 bytes .../main/res/drawable-xxxhdpi/app_icon.png | Bin 10019 -> 0 bytes .../app/src/main/res/drawable/app_icon.png | Bin 0 -> 70676 bytes android/build.gradle | 13 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- android/hs_err_pid12837.log | 2132 +++++++++++++++++ android/hs_err_pid6124.log | 1732 +++++++++++++ assets/images/meincantor-big-dark.png | Bin 0 -> 98125 bytes assets/images/meincantor-big-dark.svg | 136 ++ assets/images/meincantor-big.png | Bin 0 -> 81506 bytes assets/images/meincantor-big.svg | 136 ++ lib/Settings/Pages/appearance_settings.dart | 3 +- lib/Settings/Pages/dev_settings.dart | 150 +- lib/Settings/Pages/info_settings.dart | 204 +- lib/Settings/Pages/plan_settings.dart | 166 +- lib/Settings/Pages/service_settings.dart | 3 +- lib/Settings/Pages/user_settings.dart | 246 +- lib/Settings/dashboard.dart | 175 +- lib/background_fetch.dart | 258 ++ lib/cache_manager.dart | 6 +- lib/dashboard.dart | 1105 ++++++--- lib/login.dart | 40 +- lib/main.dart | 36 +- lib/networking.dart | 63 +- lib/news.dart | 343 +-- lib/notifications.dart | 1 - lib/presets/colors.dart | 8 + lib/presets/subjects.dart | 33 + lib/raumuebersicht.dart | 1 - lib/saved.dart | 198 ++ lib/schuelerzeitung.dart | 353 +-- lib/schulbibliothek.dart | 1 - lib/schulcomputer.dart | 1 - lib/timetable.dart | 25 +- pubspec.yaml | 8 +- 71 files changed, 6614 insertions(+), 1468 deletions(-) create mode 100644 .vscode/launch.json create mode 100644 android.zip delete mode 100644 android/.idea/libraries/Flutter_Plugins.xml delete mode 100644 android/.idea/libraries/Gradle__androidx_annotation_annotation_1_1_0.xml delete mode 100644 android/.idea/libraries/Gradle__androidx_core_core_1_1_0_aar.xml delete mode 100644 android/.idea/libraries/Gradle__androidx_versionedparcelable_versionedparcelable_1_1_0_aar.xml delete mode 100644 android/.idea/libraries/Gradle__io_flutter_arm64_v8a_debug_1_0_0_241c87ad800beeab545ab867354d4683d5bfb6ce.xml delete mode 100644 android/.idea/libraries/Gradle__io_flutter_armeabi_v7a_debug_1_0_0_241c87ad800beeab545ab867354d4683d5bfb6ce.xml delete mode 100644 android/.idea/libraries/Gradle__io_flutter_flutter_embedding_debug_1_0_0_241c87ad800beeab545ab867354d4683d5bfb6ce.xml delete mode 100644 android/.idea/libraries/Gradle__io_flutter_x86_64_debug_1_0_0_241c87ad800beeab545ab867354d4683d5bfb6ce.xml delete mode 100644 android/.idea/libraries/Gradle__io_flutter_x86_debug_1_0_0_241c87ad800beeab545ab867354d4683d5bfb6ce.xml delete mode 100644 android/.idea/modules/-442492029/android.path_provider.iml delete mode 100644 android/.idea/modules/1049519328/android.shared_preferences.iml delete mode 100644 android/.idea/runConfigurations.xml delete mode 100644 android/app/src/main/res/drawable-hdpi/app_icon.png delete mode 100644 android/app/src/main/res/drawable-mdpi/app_icon.png delete mode 100644 android/app/src/main/res/drawable-xhdpi/app_icon.png delete mode 100644 android/app/src/main/res/drawable-xxhdpi/app_icon.png delete mode 100644 android/app/src/main/res/drawable-xxxhdpi/app_icon.png create mode 100644 android/app/src/main/res/drawable/app_icon.png create mode 100644 android/hs_err_pid12837.log create mode 100644 android/hs_err_pid6124.log create mode 100644 assets/images/meincantor-big-dark.png create mode 100644 assets/images/meincantor-big-dark.svg create mode 100644 assets/images/meincantor-big.png create mode 100644 assets/images/meincantor-big.svg create mode 100644 lib/background_fetch.dart delete mode 100644 lib/notifications.dart create mode 100644 lib/saved.dart diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..32b90da --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,19 @@ +{ + // Verwendet IntelliSense zum Ermitteln möglicher Attribute. + // Zeigen Sie auf vorhandene Attribute, um die zugehörigen Beschreibungen anzuzeigen. + // Weitere Informationen finden Sie unter https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "name": "app", + "request": "launch", + "type": "dart" + }, + { + "name": "app (profile mode)", + "request": "launch", + "type": "dart", + "flutterMode": "profile" + } + ] +} \ No newline at end of file diff --git a/android.zip b/android.zip new file mode 100644 index 0000000000000000000000000000000000000000..dc964277d5c86af2ecbc4791e9d40bc2e9965b37 GIT binary patch literal 434993 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%0DnWwtpY&_Xal>jYN;oaY&io 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

mldZAi=+#z+GP^FSS$0>h_&V#5igL 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

dND_2k z<`Dd%ApN)@X(1v3Jcj|qk6}TnWPX&D_eFKO=6L+^+zE80caW)h~-eT##cP(7jWnpU2W_InegYvO>4yRKBD2Ci&(CI2 zUStJLzL~=MJ{GOByZ2DRUv3^olcfGgXqIBwxTSThG#G_;->AG1-0Y^IK5M23W5KaI zN~J@QWangnOWwV;*^W$z(QggdnR^$8(IpG}J>`9rTE^c32~xJDneuXo{HESO##ibS zg(Jd}uB8&{y?i@-mB#Y1!6!#(D996=#MHCmHO7SocfNEP-w+AaM=5Rg;lQ9ki`SGY)1ZZOs~6DiaP2^zK!heI zSsIv1f>>C;Y7vMeb`M)%@MZRN_^I*0aV1)igd4lzH86ic2i1!zSmyjJ4q-EBhv7>~ z52K2&alE~)hsEi|hdBV^HDXReL~XX=>%+>Z0&1jtfwKr_gQshk>NiWVo(q_2(v@-x z&RZhffK+t3-8A-YuzSL}3u=ZxXRjty>gXjVPaen(yIW|Jr5p;#w3FIoSpzKeDO1zK z7|sI$vW4uc7e+Lc3;|rOon0?(53Gm`a=`jHnUJcPX=6$M3&WDs98zMZZf`oCtC#DE z+e%>T0aWWou1Qq&;?_e?*R_6YMc4y_xR%(eZv6LhZQY;WFPz5r9;S+x>7tAX@g<~+ zZOy_EClJ(6k6b1|&bDcN-TQxR`5bFLINZHz$((XEd*}JzR~s*W^-&!9>gvL+rHQ%% zfl{?LXn^IthgG16dhsZO-P?e5S6X+J0XaVK_Gt>sPZO{`OE>A@>!Wz0ahuKw z)CRzywh;RQx%Oq!f~!y?;puWree@-aMsLD4o2yiJwz!1@oR@SwFJaeWe?3dlKIIPT zH~s>s0cXs;%@G8{$+31$4XmH@vw^^8PtB?@wd)`c1h_Nqa6+mE?ZdG?n@dz_ihU2o z!+-&0F4w@z5|h^u*G+1x#Rx^}oDF0oXxN#%mAb~0Jn_Yj9I=x9U(~%*kZxVF_gkxM+qP}nwr$(C zZQHi(T4meTDz92~>g~PviT-xIX3l@+7@1?_FUMFEMF7fiQ6>eS zSi-@6{78W^Ix}*3dIUM5HeqK5843tSr-&dgEUlAFZD{ zE47S8^`{&+?r)3|Q~#RWQ!t^^>~vb&4`p%kMmefu6QC9Q|>98@5e3MQ&@HDag% zQKZ!~S8ov3Prn;ND&T&5Vx)djPrD>AdR;@cf+twikxoUG+4}XzH;yY%#VZhb!*24ZawYjG;OH3A-14>E$_E8 zkz>&cd?!NGA4}cpXqYB*BwY_;ka4Ix=ibdXOdf(KD$ zNOK5ZC^9=iFxBgOw3D3Dz)*|AKA?VeW&O4d81=^)Of=1rkqhMWxLNy%)hl(Lv51K0 zeD35ie>PxC)~(X00pU*I-0bDKWGhNlwumX}?P2-qQzrG1;GzxRn=2PLR&y_31J@1P ze;eHCxU(z^(7&%pWRilI$V5kZ3{D5xXVu*NQal;u;Z()ic-SQB+1b40w#0JwEP{4b zQ27%+!uPbC_g)!E&8x0cf^kU*NpuJ}8YOD>;hJjD^aqRqk;}gfsv#4C;XxF5lbnuw z9<>q+<;nqXgzQ0@-^HC>3CGg=3RITi9Lr|S-e_7(FBHY7`ejZcbyszrJ@C@zXU&sq zMcE0c=yKg)&hF09X$~8+!!4idyJsaP-(htS=4f^O_<=D_tZyZ{ZLRAS6L4@$$TF?T zOdf_EZF5GqLE#?z(`poVhY8P*ArUvY3d#J0G+K7th*9H|(V#{<1e&TpPPo5&=7Pd1 zvSWvKiIUrC-G|FZtHqm`nt!?^ozD7$hT+|9u#3y*xx8PCJV?dyhspbJQ}-b~awC3> z9qTUd39XUkB+mwvpOj3M={9peZ7mu+48)0zbChs2%fV01vumkSreMI+{c+de37SP( z*_3>gqU`4vrHW-O4B$cFLalc7n4L4JuJCqgOi1PiyM6eJ76^THx* zqRNjJQKk!wfsj{5q<4OPdFxle*Kx@*=rHv|^3ysGX&e@GB$)<_AI&Pvi$q7K6(ix5 zEFt$@MzAy$ul60plLrfYw&tHttLJ-bJ4fbIYezY}4f^=HH8&*8T)iqJ)aTv4-&#nN z3CdMmw9mU=_j^eJ;d2dbp~dZm&3?wSN*o%zZ@GU2P^cR@tlIg0U#UqO2Hf6Qks(71 z#j)hTAX?s>e*ks~Q|)s@>$Wk_H5cAhy$uyX0DInU&>%qR5_7I1NSU07v~;Ev2|$e~ zf~TXNN+qRJn2SQIXCp|HQU)pM(Gk}{{rGCmEdhb>+oLE_y)};p;nU_z{#BMIK#`ne zC9cvuuG=K0{pxuDVbJ7QT%LBf3V9NextLD=1AE$-fySKnp=1;~F{{xB+(4o-3IB!T z%nDZs{Jiakq626GZM`jh!KB{A1P#2~abOf)nW!jLfLB(w3Fk6a4fvN@9WL*~JwusX zg!wW6$A){?LcTupORS%&{4zvcupH^tC03#TT3z375j+r-$-Kn80KiwD>3$8fr$nRc z>ROa{Lrh~%1D*k!97mxd%pU*T_k*&8tXN(y#HuHcytA^5i5A~xjRh(y__}c^8fZ{X zS-KwyOq`wlxV#$(P!TdrJTX$1f$8hu4k|x)WCz7mcbSZ@rk3Ki%o5#W1g@!-5bY95Y>*_S zT7XO7++m2FA@vfM%#^{BjU!*YBoB&No+?IG^H`|4z{E{)?ncaDlKDAR*HKAD^$13^ zwKV=FXB(|Y7vYk@AFmAC*AKulq@9q}A|A}`b-v1h4I+Jvp>>@*!c)WwfNr+lwf)TX zZl8LLy|xQgop2(8ay0t>iAW^(90+RG`oJHNP)>~~?OBsHKsf_xxe|+L9pq#D&<|GS ziUd|L77CE;=HXgrSYm*oBk)}BZTt<8%#_yZ#V!`h%J7`z?>hg`wqF| zBXT1B+8*)LJLv~-KHfTA>RB#3C;*lrc6CgEA1j3ap4!xgU&LI}rocIF=VmY7b`vuX z^G0XwAg}gYPye0)-k}nGcC`US1XNBKJwZm@QNzrQ2z4^Ur z&W^d_fFF{}T@f&tio=s9Hzw=y9bI=Qhsj|PcX6l(dv*v^8R+h7#d5G*vX__|mdtZ* z643+N(p`6~LdR}kK=U7>m3rOOB;qPQnEtdY!HQ?HN*BeEZ}wx&L@ z2PRh_-mx)J?fdoqS!*CN0nFP~eSs*v02hV(QYrlv+u>Acd?CZpChgll78H5P|7fg( zV6ENPR|sytEd^SyLeQgz$(RYRtl+;(u?nsiO0+4r+G zP4mgCwU6d2EnsshjB{gpeC?9sH(k!{=7tii6-OMDjwl6sntfHFOSiw4rU`nN#W2n2quW}G zG6zqman=yS;}SOL4yVT0zIs(L4yY+p${14pF<`B6Tcy4n@H;B74Q)6nLCpgAA606c zahb~S!Bq;@iMs*%nj$#J=Ih|?RwC?bwv0h7vaIrA95OyHa39i;y*Y28+RwUX?`>b; zIGJ@D!q$ldF5hdAry{ODq!Coi#)G!R@K3aprw5&OlF;(o%2xb(W}~>4B{WE~Q!(2K ziXUqWkEEEt0-t6Re&B*nELmJ(Je`LMK#4&$yn~|b49ep;+WF324uUl(Re96dS{`Gj zS17D5S~+SH$=JvkV*0L$N>2@|NLu^EEmWs`)*_i*p0rzZv?*&I4~`lJVpTDxuVvO@ z@uoIj5(BtU-Udk;VD!!~ql#l4-vTuzV8LOXRq5f#16w8a@*;@_MN}+nFGrWinL*{B zFNz29E}!5wuMw5yV3w)&`8Ce370ob_AImY0?4`ft=xm%jsTg==Ou}dj-0I~GEf@O4bU;}O(}yVuGVg+kA7rs?to>rXjax@knk&n` z#N=dNSGV*nJq}`XBhm2MHHX~N^2Q_KE#bg!U5}*mkQC#tR@>8c1XQ?L<043B)(qdE zLu`DXD4!Wtu@Q#xxHBGTSULgjRef%|ToEnNGd`eeU66D)rA)gj&@s=0#I8A^quP;o zhC7UUHWW|{*ZFBAMHMMqXlY(OlQ)M|ELO0xY*K|ho+p{!E|eseF@D;*Mk&cG7q<*1 zO;gp_D9(msRd`RCb3?S>;~@yd>~kA_#C6mE9`NnD74RO%{u{1!;WG;=nip#gk6#4 zV#+>=5TLQT`kL#A)5qQ1g zdtKN|buvXj0-V)%=AUs(*h-`scYA`j>4))ZmF2LO&LC;|aM1ic@nkwtrd8qfP#qKm z=ws^{$q+x*6+u-EiV_2Rkf~DYhCV|;m)AzkgOYsQFU(;1LJS!$I%k5UP(IaI;eS$9 z-M_@8f^l*@(saoev)COXmcw&W!|ZyRI;N)EbOj*Bp*f%AKB0xawk)zEs_*u^KkE?W zrQ?mA{?aJ8P>FaS73#xE0T^{Y%~v<(*jzcW201;&EdJ{!PI_MM7EoI=W3xFaaHiJq z!=9kw@ku@WD2qClD4X)i;K=F`ksl>0R5vWbqH0=@PPTDS<8;!c4g|r=iru3;6km|F z;8JL9I}4I3KkN9i_Z=y--54v~MGzcn%?gk13{rz>0|12f5PtP5iyfTGytPl3-IM2f z?`jzW%9+(=WpNygpy9~o1-C_9NImAw@QrJ7<@eoWEqHf84<2u;ZqB9>(y%c~bX~aM z5Tp38dqvO%))+^e`mj{M8>}N{CZ&;4!_8`3SjX<0l0n?zoFheD^xvG3c3s+^)^GwU zztE3!BJ;F7>Z*n9+k)r)Z!8v>d!2qOmQ7oY2so1va^)}Bt~i)~tw#<h^T&lO=oB>p@;)w(E1Q&+J^*)ALeaad!M1Me zbEoT|i{gmN`xu7D91*v|F}A^=CG-XgFeQK#=<6+WWu9vAP9Ib{?Z<2D=ESoa+2oN6 zg~E&UAYS_7=F{&bKT*CTj|8X}{Sr;vg&QqeEU9$jfI3a8TBp|zZCW>O?FK*92YeD) zfU^p1qnm2}F0uGHHo-CRR8;Y;qHW9@1$B&Hf28QxY?4%=Hjc)F-6O=%?%n}giwjW0 zVPP`kZg)22wRQUUd6+{z8jE+CWDKELTRnYz-<=rfe(9f7d{%}?Oq2oaIOlH~1W|Do zU{ehxVi{deY9cO+_tAMSdoCv6fxA^Ivi}GGT-r4|^*g=k!mJ~|?V~Q_SnA{iXxC%Y z?yoQ%#l;8k%p0(k{AzK`D|2!t3~<0K@Ef;Hl5P-j);qa9ufIR1WqwK)4|hw2n%fR4 zt>}k5mnYnlIB*6UX%`D99;I{o^m&be8erWhO3DmG#1%1B1uc3r=E#Kx zJ0y`i?MBxLwsd7V8=`K~OGqJ<*fHBDQU07rkC@TS(~`up`!YZJwYZJ7KtAHi5;!t| zC*JPIq_c3iM2d`>^8<2bI&mHtAT2A zk_*@)X9jqT@TEcW573+dr`1=9MLXsbp{6DWxesUZ>LIM0eCo|&zjUnk+ESI$mdc`6 zIdck^AYB@le5SRG{$i|4Hlhmo0#_&qGbK7^bcUPN-0VD){U@#ZMA%(!ck)ngMh4

5gicuVO%ZF|MmHj8{Q6Z5c?-=fxewj4%&Kk_gZB}S#s19`Jij7^QhL<7g<^}I zhN;e0nA(NnT|Ux;`%3KTwWE8(gv$>HmXE(rT6J<~NYSPq=e-#+dRRarBb;9fWwlhe ztz8s~--SvxRr^#9C%b?{)fy`R^fvOJSQCGoS|65b4pN7TfT5zj-Y@C(>f_0Jv|=Qa zXk(+$HQGBtmBr=Mw5?8%PU7uxqiyrAjkLUNnxhk2*1!UTbE~8eMqyf)2aaKOMy@<90=6#l1BK5)?Cm;l0P6r=v>5<3okY6f?9z|a)jI14VFcj0u(@*m34#~e1#fl zj44`FVDR}gZGLn&S8>X8{|JD}10r=HuvYaI+%>I8H98@i0fs-2iPn&K6!ZU{Peby^ zmuWAa+OOTBy`29Nc4^E-!;DVougM+pV6htvLBMFomM(Jym0x9JU9p>~ll~EI9lDTv zaV;_X+xtPt$Orz~SzYRszDy@3YrTTHe5mr(!EvH=MivEQ9x7~^6~?S+g5t96{`DHs zKzrt=(n^e7S`bKESGT_~S1)p0pIhP8kP&}5NX>_et z+=8p~?K89)LHf3+Q?W*aH&d3jjLy#6VC9HI^6a(~X6(?XWvqo{Ug1e8tDEihB6G77 zQkUB4nT-Y-C5yOB&ai1O`ZVfP(*$*Jts$fUD2P>u&=h%Cb_+5rfsG-GiUwGD$! z1^#B|YZe0+hos3bTCLl-mCfWq5V$3F=cVM~WVw48A?%zzxNecg!tW775^fa)T7y+x z;jO#j>cB2+D^+UfZy>&D#A3gW(j;=lMsNhtMbn6-QruPCkN}}yWM5(vU&ozvh_*!6 zHM@h0T6CdHT<=y=$h<-b2D;X>hnPLfKNa!$uqHOKdbq|7s=Wy^R`c9#=emk#L^Wty*@fD#DWJ=< zZM;auha9pk^a!&is|pCG{~@y`a5q1#RN#pp2F@NNU`Iw@`sJwZuoJ(JQ?2$>wCrRa zl>Pm&@jH#6X+rN#2oW}lCV&*PMMs3te^O>CX!lN-+LxP1i&ZG9=0>|#i9kN9cyvW^ z{R99DoObAs3dQ7hBI|E`M3d=$lF&WQdpmqoXL(|>Uw4-Myw~WtHMO6rcn@`w9_@ZX zHmkjW81cisP{YjJ%lJH;igem)C31s1vC0bTVG3h|QTGmYa*mn- zw|nB+XqeG9!uNh7$p|~NH}7l)G>s9d4(O#}XzBiu^}aUxBC>eW1y^M4j8xQ4VL`oD zdHpcpyz$~NL}bD#oO4)b*xJiR4$XWP17F<5hSQBB2U?bS=8Uh6dV#cdPcNy&^2o|b{fKhI5Y+s52 zXtB8ABvbC4RON2aZ())+@EA#52nt5l9;xigNL-p$=aEp6clnY!@>ms;Xf41b*3^26 zS_8%;96OVFb8JoZ#ITbI0$j7!|Mj=|V4}ke@%uN2eW|r%|izy*dq_wrH-*olv?$6%8OZ zevqNh_ckP|s7(9&v&sGNJ*`fq9tRt}%~Y`f=e|KK86A@*sf-8PRy*+9Ju+s!sa(NT zd(+WeyBUY$U4uId;-Py$)rivM0+~24hSrrMbD4f9u32U+8J}TZbbLDdqhJQhJdQss zi5c9z>;(QMev?FG%I`mgp5xR2ETq|5l|eTbPm&4hAPIZwU8bBQ4+J?U&W!bYPfqmc z+8L>d;3z!3NTEw-1V^b;j`ZFfN`%wQ$rs7P*h=#v*5fKARL-@cfM>4IspKf-*?3oK z?z!(~8W}uhrKb)fNO#^3thJ^#4y}W@-StRJ_d=@%mNQ{LyiHH-fTa^^e&s3jUH=lc z8_^Bo!Sk0X2M!FHT9dq9gfdVQ@2|Vp9d;>2&X`HAVl>Km|ChYPH&Kzi(u_Jh$w@bk z7%s^5p*-Icz27*^3fx@HF_@Jb*%i2z)aCS2+ySXB$sr|LBaQ*)qs;?^-bYrEs37Jz zvz>WA>N#hYuX-D4!Cq}rYSa|VeLCu%O4tNrtA0ZC*n2xU)_1vznwlZB((X=QD zEtpZ|q@mm7TJuq5c85)OSSXjbd?*hCNc`41M3aMk;hZaUM?oq15#bb^Ks(0*aU^=P zApUi~AYpO=W4ky7;s~^nkF-u=KErZ8$9P@>Gzzn;e-p2zIG-_mvUVvSY?fI)C83~e zW*QB^-V$bCIIxHi<9G@zS`@n>HzUUfhwd}!^~zC5@n$#^q&}q>EvWA{`1ax>&v#FT zbs>klwO-EE++oc}a}agf>^y~Jk#_Sg;wp#GQI(>np z{Cchkl0KCCgF<~Xo}B~*$(UZFRP=;xgavn+nRO-7(ujruqg-YRx~iyfY19xZ#2m|m z*5ymp(8s%VgWXwr-1DO*^x3W(p>WoaH0x!Zi_*2vQw&6=;=Gx!(QO;{5g8I>$D6Zg z6LqV1J}k^;yImsxm>HTb0|OY4)V@P>tKlLD!< zCAE}~QBP}SQ0TEf-^+8vclu-nLhI5CEPYAu=b^ppVMk#FrP5eSaH${Xob>f|E8G`3 z=tsGKtAY-f?7d6D-%RvNiQKE^YiS#%bh&TUQ$ANxAl#>9?SkWmP^tMty7-;eM~ z0v7j`eRaG%6jrh3Y>UX;`>2<4YPd3oTd@lKqa8sNAex~myk#yLWkH&(soK_$r6}I1 zPGgJrEeNH$_F*Bik;K)9L*42A{aGYRVc7}h$5#D_TV37jwG?K1yVl%x^r^qCFxv*a zKi|cs);_wq%M2mVDHVrTT4e`mPdh>?%~KjG`MqQxC6qIfnz{%)3c&iJ5ao`LZo?pZ zSxHlXlZA_zK>AYRdWZ1k_#`1I=&T%HQlP~zMf)B>byLQzTlT#=FEKJP&Ew_Zig+Q7 zh!e7>unoFbs<+KKPlaPjHrr4`rB!6a;KsCN8(Gni8x}d&F*es;ed6r-W%t>YKMbGr z9SrU^!FAndp`Yb)@`X4F0do@&Z?U#gyeK+MAf9-~4g#v)sM57b$lS~?ZpueZ$yYV6 z-BguW8?{8QT$}K?k!RPK4SBXTG(HSvn*K3=n6~Qw>`zwS07kKSerXrJRDE&!EY+k% zV|O&xNWDZNcyf$dC6I(DP_E}1qd2q!HTk%bL@2s9>%pG&4*X&=?5ML4#`e2;N)sK;3r#- zSub13ch|FeE#_?a{gs6@T-Yg0l#JJ5b6{my0KlXH`sxkw_YcPpu{GyF5f|Ix6Z>lZ zIGz&IFKbP9?W=X;yHeH~dhIS|tpL}b&gKY}H)yFj$X$uh+mN^tXl9}Xf4MPW{j#Ff zI5WO>oVZc|ILmG9cq{!C?PrC=TmE(c=NvLOum5~RF^Ohw*ovs12{<0N> zy+s_^yh9jbj;JBjYX=JHI=8BaudcJPjj>=G(?=ppwU#7v%%Dsrkd6`h0?;RmM*cpi z>y*C=@Os8yj=ufctPf~u^r%+rl(?Xe9ztUig}fUbXksIH3ODQ%VX}jG~LJvxSX`vWLBifU$x7ch8ZifswPF<9`fx zyw=ch+hj%bd8zBKge&OOq?B;eGaPF;WUoN1%Q32$IVTbpL_~~~hxpmpy6m@`@q<6G zxY+oyfedbDLPFS{o~fP5i2)#t54QntJw($6l0y$2Rp;0GVOSh)gPPN!@*S&UNj|%6^y3ZTtOWV|t!qG|o#PnU4I80>cK``ou(lrt_yr3J&tAsQw zgCIa_OB5y%%b z@it#x9x**kGG=S_D%Pyzr*)5fe5yzWR!6Wh2wM4y5=WLm>I`JduyPWJlt|)z;6uc) zA*%pwKwpPA{-a034--I3$e8Kk@ddCAN@0vWyh*Q{nsgAhtL4{|%<~Y+reu=61_V_x z%4Txnxg)=NeDP%F(W??l`M&m3c@utrh~!{rkb)Y^&*6kgh~%SlJhKSN2<%s6`G9-| zb#Ubi_kn>JK58?8`n6AoPcNaqw%53n-gptgY761qn{@3v<nAuym{DskIGM)-{bVjs;eMLcjSLVYq2 z=$>0kPjjWUVzR5a$rY27QL>pY*#~AUXf#A=?T+vomya8W z>9srN>YnV|Kg!aKxK zgacr1S#Fh)${5sZ1P5mbG+mDrBs?{enVYwXp|E?Z-x6sHE6SzVmTRU}V!nD%djz&$ zMM2+*v&M7y`#L-k=(~4C1=T(`sByO`bdI9#tDv@%{z{_oGti*(D$Vjp6su`}9wRq4 zR`nQ}5IQ@UC)#S~xz^87GK`yZ(0m1@-v+EweTM)1hvF-D#<#?n>Kw%xw_$AxD@_mNC@du!e~O-3u_k&-oUl&BE%B6mzl!hJzy{Z(1ryjFYDschY`BRN63_L(}l=lw7bG3ZZ_a zR74J8F|N$$oVsnq%%14fy7y3)DZ46=?f-?sV zu*e*?jkBhsm)fm`(}qcXnzG$!N(HHV!OQc@NGJmY_v!TkWnR(4wAo{&LiXo5h=jjUO z`43ugtyoR$<@KpObv&BDq0{ca-pdEll3bbiQszhA`BvD{E%I!<)Oc!rLb4h4H^PK~ zEJ2C{1U4~b8{dom!YQLOx-{wZ&utS?9cBl zJgM?6Q?9QcocRgXwsOA>yj=Gse`HS4b&A)dTtPe8`k>u@Q zw^fN%70n>Fy=HHf_BG=#Te&`&UeI;O^TX;wuvVnEgXGHd)bh1YZ_U$m1(neC;Ijp1 zq##Y1?!C^DZ9SCu9F&!Sv%{k+F2$*tcd7&@f9u4GEjR710HTQWG7F?S0hrh?=-WBw zr!5{H#d-w(EMOW%_;j6Xg+&+yW*S0kx92ON=1(nB0umtO1plzJU34qMX|rcYRM9rE zufKJYH_14*s(<4t3`zePYUY16UFH8$qrQ!uvC03zf%@;1fq&(V|9}2@VFPCqume@POQMd z;Tsk5qrcOrq3`E^ZWM3$7f!VPODraiPIk7!Ce8-`MdLDwACMiQhYr2TEf~{XqQxE=J#^jqSX;fQ+jx7d;GYa&%NWVE90GTv9`gGZ< z5ZD%-3>>-%i?&e|>*ADJ0nU?(6!`9#$+Fg8TLwAS15+JLM-s2Av#w(T8F#hSvNR{| zO<6Hj*vGOeJXP3BpzJGXm+}5mLEqCU3)wd=VDy_%^*^iNFOB^FN2mJ7V50x8Y>)p` z!QYbtgv-zq z7~-g`Fk9^24JEk3Rn4Rp`vEt*usO3~ya$p?h|QJ(kxk^q`%5`0Z|tfP-^xkneBT@5c)&^BrXsP{) ztqgy3HWsBxlLq|uLRO@lf1r&J)^tW>xtiSfOC*y%` z=MZwQ|KDty;oFko_HD7m z|Fr2p26~nL>)X`H*~8l8@2Q#peYe#AZ}SckwuW}@N`JkNgsrKaqs`wahJW)$pTz%K z%p@B(zCrHA9|niVK`eELN11{r+6+RDw2=kv`DtAq)O-%k${#qlTSf`9lrHHz!6+v-9za0 zVBl8KeF}&WC z#>yDK8k3?uBSsNow8_P?^OEh$Dib~VF9R@b6&|n(NbeFz@C2a)+%tBU>2;Hh`;lE> zE!XpgG_I{5Y&n}bDfM}G?ZN5_i;5^u^-%a3EqhW*!=~aE&+X)iCv!B+4)2jQ{8D0zLH0T5gfmgJKrNfFBj(y*&pL@iteTEq zw33oF$baail-b*%{gTZ9xLNLb2mMPKDM}z-l-~|H^-mpg_}@kuGA2$=24>#?_J632 zoCJmMj0|4*%PI1c8u0-H5?nGQ7yzO|TVEo3Wp6FPO{qn&hYO3%Vu2Zj@-32Oj*Dpr zanVlOQrxG2vBv<%TZFO=WvcFpLi2R}h*X4iCxOztl!oG(AQ7M_1K7T5ZZC$hg ziMR1WI0c6meb{7+HAAx^&LQ2;%4IR0zOwXRV{R>mvrknb%~rz2Ly9leJD>E&DYrrX7?Gj zS_`e8cAcc}FU2?o1;p}yE2i+DDrV&0Mls*9MBc*4*~Rf2?D-GY{gfmv%OQGX;jbP@ zA5!`50C;j)EpVFVJ!}4iTAUV7bP3R~#2z))SUk^WWRjS8%3ijfqvgl6!Y8fczobp9GJqxT~-5#Wf`SyD$`U)6|ShCzRgx~)IDbYZD`8IbB_ zMm`H5iBj6u9WE}TlcD8uZCQ!u>(-tb8;y2MIF8j?9_H0)@04LN&(3hLyKfiy-xV+B zboQ~N>VB=bkHL4Ev|asepwlSv!)oZa@XG#=q0Rq&ulet@hzXmR8n{^h<3-FTR={$I z|GP@(1WBU>?i2tIPJk?#HUpB3!GT+efguH&72mb$DuwT`odWFnb zK$Y_z$%Uns>aRVlm;$JoSja0ytXjuPf4F#gm$lr|~7Q6g}*lS$jU4 z4G1i%!mb#Cvw2GFL6_3(A>03}PdH>`{{p}l1`L6eT3+j<4TGJ;XycCTO(*Kn?CdO)li z!%ByO{L&Kj$}v>KXZdg2Y~YxY!N2P33*XQGZ2F$>U;q8eX#z%nk>&rElgUKO{8h^i z`L9~Gi9JCe7aaU%H0Wk&GX?T+SC+%^#phj*8bkM;z+dj6R55YpDR3XvX3UWYBO zA^D;~Skmhj>y%RJPr|y-&Vvf%7vBf3LIj)D$$1k2B#(hn>!&ugh?*R00CndIAVs9i zStpu9>UPaVWyhj<&U^E>F{(|67cU{-)~xua_AdX|xA$KM27fbcNW6m8Up30z4=P$- z6?B8!9HV-Oq=LaEJov@Un@(nmiI^mquaC^qa-(p%f(ee@p0cu(3#AqCN!G$)prWRM zC`qsz-WC-_tSRM$MCldx`8C8Ay2j|t6;4nKNwW%Wa0^Z&J4Czi>-B~tFN*O<6wbuV z-eXmxdogHf&1n^KPY-xs%U?Po2o z)S>Zj_1@mN1eQnKEAAG2Abp_4lynJ;x7tFA89)c|K}LO&Pdpc(NBH*lL{2sXy9CWPO(Zla)zg1z;4?>0K4>sb~8yvNO?=2;NAYQ{1?wg$!!N(9+U)kZ|1CD*XC7d?Ou8`}4d z603g$aQ(T79JY_@TWO$?UAeF0S~>66WC+yQUB1}m40O>vUbSDaHu%lCy3+7uM>V+) z@YX^-cWtK{aLBW*+;1O`dAY75tk6Em7OmGH`tFNn;%U<#_ z#x%#3dd^c`ptj%Ccz?5iZLF)E7LKROey{5}w|M=CmKq?DE)B%pDtig785UPK!Nu*V zV~tlGg!ZS);s{AHc8`F{KPOv*Jtx$GKK3NZ9VP71p&k--{uT6)y;vhv)n4gnlT!8( z20C`c)J}xsxolCt@c}6s$i^GA&DSPG6Evz{PIaFfBGv9UMJNqP&R!$|gqZ+TPB9qQ z_whepM`UV~N;mlEz6yIR1Qe6JQABi{eb8}nC0n!s&|*it*i((zAW+B|W!o!h@RL90nAJPMMJ0K`$prLcV83NLX(I^h56u15 zp!fs^CF8f8?m+q>=VD3jCrnrSd*@fD&RiQjapJev2zordVXnInz$PZ+)R5VGb7p>% z2*?j?)YUSizB;q}FT_R^-jxk7YQzL$eZeHggd+0=neYU9*~b+R3rv^YqL-S>w$+U{ zfdvvz;;`C#AI_Z)IEyS_o5pdYrH8l{?Atr#QG$VTfWdAA3=!^HbVH+Q+oDH8RI{3R zIwRu5QuIdb)QbN3zIRHpgN7%j-{r(U*(A~|?LEqGdFv1L5YBE9vx4p`Jh&Ak3aMb{%^z6h~NnY#pWLqt{(e?F2m9~)kjmb#nxAA zTkA28S%6<~L`;6*4j>I3mXemU5gJ-~Cp7p^&)N^ue`Q{D0YO;dAmgabv_z4P28d_B zHi5)E|0HH%$HpP#wbX$6fIf0>75mZk9D6XQ6E6G<{|bqb>{n3G*91?^*2qYwPN@4; zg)~mH*Fl|WcuUpMHer5bFDTRS&e6VkUW9+sIsIPEQ1X_|<5=YFsa>{kj0n!+-8*T- zX1r16&2x*+i9L1A8U?aK+_sELlz#>l?2TcA=H95KgFV~OGU486)DY9hF+g0gH!9Ol z^1P0F>dsEY{F@u>{+(b4cE~d7yB@hJ=Nwb!UoE*$_m}z-aPKET&0>OooFk`4HnZTl zj*u#$1yWJ)c5jr9V(oC4_t7bCF2hA#u$ax&*nyqYDMZ@HnY$&~d%)DQEx&4A^E21l z+t`$0>wUbs+~9w}-p!lb*-On&)iZ%JqyI1P7?4*h4V&_9;{4qv6D7qjDbG*<) zA^`Y*sC(z&PPc7cIJV7>ZM$RJwr!_lt7F@?Z5thTY&+@b%UWyib9U|T>{a*Py6fD1 z-l|_!s`AGebIkdUci@@NShEh7r5dSXtSLX!#QJXQKT4BCT)^Z{TB&6HVCN}7$inX{ zvqA#X`imtET>37|{oOKFu=uLJ(C`ZhJBP3|`M8TVO@Pk^*eydGP$2k614{U_bee8A z<#x9${pRvMi2L?#y376%1W^Qo=vR(gnUl#ZCOs|um)PBe(#%rTW<`|u=vqpG(ytc2 z7c%N-wl$oP8(Ln(A>&4o11Sf9F~mvt2TEMTKs#%(2ql&3VnKdpCK$*y0fosnx()D{ z)T7HTc)JT$j})v!8^zK?K-1GV@8t~NT6XqM@oP#jbfGvP^e0Nl86g~GC+Rw7Dw;+K z%ye!*a=@J9_fF$fO24l$XOb11F^eSzX3!H--E7!i^02IsMjoN$b%ZD7gWT*ng%ls~ z2G%;rk5MIJDKo)k165D5LE9FE8pvjgs)}AqxhE%5CvSf1jrYSMb(!-@i#jL0Vh&v; zZaN?tSGKgvKhnH)5`<2jyfu5{T3^sXmJ3&en9V4TVsE^I7!|@*4UCZz%tCPbBzHVS z9i|$T0kg-6_?l1V9y27!r!53avmP?n-S;(a8}=c&-A;tx$hC;n!5oht> zCdf7ahAjLf{)$B|qcl?c{MzIG8iYYyS!7I_FU{_WGH~N(b&53Bm1o{-&B~d}_H;pA zh<-n^cjvD|H#(bhCSpBGz@}w6IITwHSHE`a1vvf4jRHo?0RgYLcUBqT>&R*Q^)$FZ z@XkW)B9XahUrpL2O++BtHSDJ6_7(YAS)fL{B#P;LFS(5aBN*vNG2;?!&n2&=0`%kZ z_RREhJwFgbba1-k2tTP4@{PzRDI~KHRNn<5!3Hf!FFEGn6Sf0qjOudtsC7)pW14$B zx=0@+hd{kzbx$3}EH1-o(21~wzl*rK6QNIL*HLD&lc-%GKZ&|D8VqxT7FO*;m9JaB z|Lv?K7VX`g!7c~Zamhp89*qwAoQJ)^!D)r+=!ux;AvuP{qspb1MVwexj7c2ztutpQ zu}iMrgoyl&TDId4oen&TDI#*J&^O3@8$x!-HXSbsxets{ z`3R^vk(-3+WLx4PkvT?PplQYdS%C?Zuf67^p>9AIr(#@_yd33%8rJnVK3Odes$tg8 z)#!~G51jpalq9^+qN``AFZyw1o^QqBWLp`jQ{z#cYKtHXhH$4jn#3o%66x~}I+1dG zC!3ZW*kRZ4%!StFi9klY&&=lsGF(*p_v7%(t$1V~8W8AC(X68!O^hRR51`M3Jd$TY zb7WtjXvG*xTW-_hA4T(}Lz8*Urilfa23VhAA6CFJw+bVY!OAEVekDYs*V+ zd?V0SkjxBXFE!ZfYP>;t3u%fqtGs^KA>2r~sZl=Fv{;LGuYySTPz|El4g&n5kKDOS zOFo3zB7w$4i{eTK*IXl7=F^ohmTPT9B|R%tmAx?_fZpRpSGtvGWtzU|g)*;a$#393mC*CtO-8SQl zM0ox(`qmPWodG#k5->xtM9N1171)&WpjIBb$wldb<>?)fX?s`9g&g!n#n^DnF_s$G z+1B+i4}YTqD(=2j%ucji4Py^z>+K3yBjIXT=GE|=l&nA%OkRl9Ih6U$1Aw;kW=?Re z!G-nhDxE4wG&Fc_=hf{xMk5oCj!1TeM zy6Bv{6%o%ST0u+du~bC?#phIR7WEcedzTusnsLtH>phk!Z?|e4kGVJ8{*gSkKs3eS z37K1YYoDQ#b0Hq=#uX9npuReBP^Q& zf~j;nDz~2{;q{pSV3jmLx#ktQzLip>)?re^StYXruSnr=rzl@B>@_?-g_eG;VcEQ7 zLfBKI!l1lPCS9e=@^#DjaV}TY&L^fT@$AwN*Y0m5(YOTu&6YF$CB#T0Y6B~Al5qw~Q zu@H^wkIVX`R1{p>JT7PMBV;Oq2Hy~n94MX)R8G6bqGM1;2g#r8R-^(q&4OrhPk0>X ztvrXrO`G>kjmoKF*%a}-Misa>z#2u94B3Aw_XqkRh!h`e%w5TzoX&2Ty|eBQfy%xe zp|Q(r+4_h+=7z{<%bVnl>jv@-%t_mj8Q&HS7*sMgG%P|Xq46b(4A`*2X6vaZ>LWbT zsf76-UJ*anUh%F((=79}v|=CHC`?+g(4(5~oS}Y`bGs8oztQ zD$Rv8o5gK(KcDnx6ZP0khKtU3bvo@ivZTn<^QcJDCTMidvPS1~>u4-mH8;HuMuq0- zU*b_P$HnraLR)Y@jeIyO91CP{_Ezm^_R&+(LNrD{LYhZOR<6|6r=o?8q?mcw`X!L` zn6*jsXB8i~`kC#m=NH?)(?h)tnG95Uv9FCd&Fd8fl@lJD-_~SjzoGwDtZ87L-Wfpv z00=eyvtrG^^VqR}jr{z_n$4i;m4Geg4z+A0^eEFcl|BJ+ zg7K5TV2Zwo;^`2f(A>UNur1^+rZ4jjjHt?lzQdrtMJ1+wNAtT0KV>Ks(kXmkoXN23 z6BNxv1@I0A(kmS|a)TAk0Ve4Wri7GD5|^YsQ-47Oq?Do_)w{~-9Sk8>@_>{Az8C~2 zL1sz6F*xrj05Nv&AWWcA6jXocq8MMnA%-ZwcEImj$kAVEL|K15)Dtx;xC!Q`vrXya zw!GxG-;$6Dn2*>K8h;mP?!7Sfp)?*O6bR$0I=^aoxoxOpTNBXtFy>XE4<9yen|{%@ zYj|_^quK>9XNOz&e9$fKzZj%5A_aMO)Z@s+ZwM}!ZytB_SJ3xEBD;n}!rjzypE{0c zhdSeg3mwaN@}I_$2_MAuT3s8?M@Av8X7PeI-j1xV$hO*a?TGKJat<`USluQ@U6kf_ zeR1MuUb?dLnw*nwIJA;E&1{C2X=?VVBgx7sA=gePR(%5W?^!9i0*Df=0kj1kzE*xp zB4YM_4%XZ6WT*5Nc1Q(9(tQYp^2;~AOs8IbS1qJ|iBLYLfTkLP@JCrcl~i{$4>lO! zR}{qB>Xi9aT(~hUT?9;W%2JS-q2hudvRl2$$EKTzo93-?Kx}4wv{h;hWs#K|9gCGk z*%ti8d;5$Peez@JM*d6B#Vc;miY>qmJDtZ%-qB%?kid&1p(Xh*eSk^yaetM7MmyrI zTZP#?d4oan^mc4uxr23jrPVONih=|BkR8U)2q!kg++vu4r;n$SL>hJfr{(&_K#vpM z7jY$H#pIG&CSZ9g!Cu2!TYQ!=o*z^wxPk+}PG>+@qdcyypRQzPF)!vC3Hqbjf+*F; zu`c2syv*fM(y|_YI>S(6^Rfk1kTc_cRdrO^!Atqh918JEW$C!gW3zkaj z`@24sLb7Fk%6)p|lv|nYN3yng!NOZzhFN5^G2hD~4$EKz40HO!7E7p6!aWgalY@_ZT*14ui1ZNGcJIfrUk2k1_=-CZt|Na2z)`^HbFgtSq| zy4vF>r+|}|!s8T;fTooRrznkja6st5nW7lMp<$%5WhinDfKwdoO3dW0Vi! zPsX1<;Syv>f9B)r{{0Kmf1qoO|Ix2m$4JY3cB+FuJJodj;Ris7NYE~Fkfr+o7XviG z&+`)?sB)Ll$Z;kRlNLLdE0-&XlU!dQrR>`B6?0L3RlqmV-8A&(+~;2T!J@%^wM6Hv zYgG={hA9R3MGJZ%gVhNk8tY9Q9MgyQ#^lM|}W;J*HmA zEyv%4S+E&Lq|3O_c~uEe)MYJx_FazHtz9X*PtH)ZH75eqttcTN`*8TW`i-r!-yi$< z=Qoiy8C|4tF!UR?$0*?G?PLrs;r-swq#^ z={@@Z$fZ$1)$sDA#G}L*wt#jjruV<|1xV9SCIf#qe5C%?@cFO7yjlOoTl~j7`G4In z`F93)|DpTms81_neH&$`zhA)7j%@#9xT;r>I%V4)I3@AGSPw{hdYf`jRQW(GW$ruI zH-?@)%S^{h--{qzzxbc5%#^~TqfHsk(bRApp}&4`DbW$ERAea{M_z)5L1CnkcVW^5 zuV~_Wl3Y@!@6PnW)>A5=lrC1DuCaU8s7Nu*L))`-d_a? zE#P=(V9&reG9eGw)qAvEqbYa)B!~K=UuAQWNSpt8GTuLb|Jwfl&OnJj?62tL@Cm&8 zPxI46{v9YWNPSLy8gJ|UIF|}B!GE{Moe9zNY#)o>=E<5ae+o>Rd49l{Z%|JBj)PyYx z#J8t1x~*b>Xa?okzM#~MYv1FnurJq~pwC$@#q=y`(!ilI4tJuE+TdLnHPoW{4CfB> zXkNTRX+rtBI$g7>Aa{Vqk$m~lXe zcqAk_y>o!S$YZ3|VVVcKiwRfZ#=u9HBhp-8(@sd}!s=LNcl+hnO_JT6XflYt0_vew zQA>wmQp(2$Wf8l=sAOb{mSmCk02$Gu)Y>mC(Uq|byXr&1u*m_%aD8UqSL=~2-Kbk` zdF695ayO1v;7`|W8{or@NfJ4B)8c6A^mq~Kivb)3YFgs1NtToV*VxR5uuJGFAS9(D z#~Kl2XB|t|do6PvWQ&)hnia^pUljufQiKR3ab{l*uoAs38rbE@xv^;&aZAJ5{A|MySN=#ACp863z^aR(?~I0D{q7>SUa#_r@-HKXSXce zJUv)Bzi6#n;i2Swa&ZfCkZ#bco{VJ`rs@h|BdvN*VCO6a%qnrpk>(=Jh!71C4-Kg0 zV4wELwuY?FQt=9pga_i+$DRG`p3vDl^b7xvnzY`WmZgbGWtM6B zs0f4427Sn2OxT>%Bf>Z+S(@M^|1G?)K?ZI|#cIw*dPWn|)>*$9Y-PEC=4edd3Hxnj zAdR`qW=g{(k&EhQ<385FMv~<>Z>vaws$K(;Z}U5@3Tc$lg~0OZcKdefL~RUs5^FbD z0Nk$NG({%C(&HSpr;ZkVB{tElew=%PwO;{XsVfA7)q%ukzf6M_`{nG|=}|ai;BWPB z5^St^mK0AVvk+Zd3Mt_Ug!yYWsGN*BYa=U$8uWqk2!2?dl-tD0MZM!tv9UZ(KAxVc zZ8zU(8k*X?vBPj?Yre+kqd`CM4dy*xVQqh4MP2V!;3{}j%eE?bD;`ih8hA)-`p(Sd zI+N!;Tx`U5!q}TB1j~)n%fo)jdfZZEReh3M#{4GmldqozBLPWawX&_7#K_CSukGshTczd4MaMAjfQXgJqo5h65e+9p3k`-y@L|H{#PAY* z&XzFJ>fst&a)EtkzMi}BZO8@}Q5$8X%>=Q{Bi41v-BIbZkmvJio;`>fbJD{+gH-O; zpgtEryDQxG_zzI0)To4Zo>=^PIwr7x%l%1&6&qqc-Rf`I{r^l`i`Y6Cn||K!{Jc~4 zIn&+zZ#VaXl%#F37!W!yt5bCHgu^QCq(aj`V&oLXfXh50COnp9EYA|pg~c`AJ{UTJb7%hHz&Ald+T|*MMv(^AiZ47oXl4wlBVbir&^R&XTupU#HiL}ku=a(*|#Jx zr2Vh+^yVSvc)?QgSLA}hYo(|{#%je`a045Sn@Pm&sp(ruNM_DJ-VU&*Bt+vjF#2^b zMm_op$dlt3M~IuzhF0}1kd^WfK?n>=G9N$xQwIm}vepO(tI=9C=L)<+NpmtQCW*WgAid}dk)J>(8 zMq`3+-JLvc@OJ{&c&qljR>%pG1(qvJ$jqo`DzWPGj{I^MzmhN+qMJ=R52^+K04(cT zzil?v)vWE;Cf$BhATPeTG$y7c)WeQ*X}McjM;x@P7ZGoMpN3=wSUBj4>P>AaD*EjrP*q#8Z(ARa92m zH2VATo@1eS1pdqiF#Z&pJ}2C$e(#U z`~RLJVeI7e8LvCinmXtkSs7D}P18Y=k4;NR)6R}dPDm@)D9g!?Q_xU|(}Yit%F0ZH zO^?%!N{vg&P>)VbQ>h#Refn&02zQ+vJ*H268UECVJN~z<=#Pca+Bw+T89O+c8#|8E zNi0dyNl1-~FOE}=OH)hGH7!PsRMIoEu-@)VOh{6UO-s#E(a1Ol(i2%phD#`JBbB;` ziF1_dl#-;Hr#du3aq0c4A|LG!a{#zDl;B0PX^tU~$l<&1!qlf8yp^DU6 z#}!#%L4fH(?X2Kx=&d`S5{v8)P67#=(tvq+q-a8K;cK6F$|)%>E*7ne@P;rp_JU8! zO1xp{)d8C~uq zTZ6U`)dFixa8Vjbz1f`(+bnOaJYOt*;js_K)Cq=vM*@FvwD!wt`W3B#*XXyjSan`U zAZY9J>*4jKqIb=gFW|FWmk;YS>vv~pXCB{L{V$swv={9QledB<@a(pA9N`BH}5ip?x~c{Z=#HZt-B-|4!+&d{sC z1%`#$uJadLJK6ZMOl|Nlp7++%`GLAFlA}1+a}1j;}b5&Qh>e>;6N&^NUFBfQWx zF?KREqhX+>r)8r1Emr!krO5qXl=62zjDIan=`WDx=wSFK>r?-WBwFj6+x&@Goxf77 zg}#gapU5`&%VqyYaq_P>`Tyu+^e+zX-;dO9oBX@Ue_#7=@|_&?Z5+)VKlw==ZB3m1 zL>>447IXZQI)A%w^e1YC{l8S}Kdt?{m-t;x6aWYa2!Ma~LTUd_YKj^E7I!#0D(O2~ z{+^>ws!KYqu_JZ8sN%2k$f<*dbtadZWrR~xgpt;rHL|R%4kthpY9b+Zp@E#c6}@gY z16~2f<H|I@s|{3}EB*CKJN)f*$&(bn1*HZQuohnZQU(w+(+G3K5iQ>- zubv^9yI|aC3Gsl-*givy)E#Ml8o)fgp;kX}pqv}Vk`@lb=m(H*);F#Cv$ZF8=EX~R zX$0ijd|jr5{o>Pz#n*QD(m1O#t*&J+P~9I5x+^qHa#DeMkCG^Q>)NO8QED%(2v9bp z@u4qHdAw6`#2{!(#a9ImprNb?AlyIYLtVMSe)UpM+*e-{pa3GrO* znqTT;v?Tow@Uss;T3XY5w6v^LR*r_3!5VRqDV4uK7EP z#|OO{Z5&zPZyp4rDS0AJpS|9W4P2PsnAIx}#?u$~ykyP}6B_FJ-I4YPX2$oY@zAMA zdUQv&?z?&(e1XXnVJ8e4)#yma2YC;f<~Z$o3~4!_pR042&FrY>*u%=as#J8lNtwhz z^%nT}qK~g3zwIIw9IH!<8nW0CpK98dEsZb{*I!wX=6IW7jYb(Y6=Px6kb;Iv!MIL# z{!9wOgxTo8j+U;&oK^@1tJtaGMsEFdUvTA74!KltLwpEfszXFTeZP1wCjT z+aeiuCAREPsNyS_aAUcr1IGmb)#QEG#p6^On^V3v z;MSi+3cVy>_FyTF7$LHN)?HwYRjN5FO?YrrD?mrI286R$T0>iF~%dB7H3H zB=J}GH1z9Mn};h(D|QdkMuO>RPTueBhQhpOPJ2I{!hFd1xCy>5mcRi^S%k-ef$*aH zu_?JNR^JNC@SMjC@itN1HzUBB<31#ST@ADL}R?X;n}->bqthIY`c_NzR%`BTG_ ztOWA%kpLfu?k0^8xKbz5rf5Bo+;h_3b(|5 z=hCbq&vF35bm~kQJ%R0uLV855hlE7hvXPE%VeOVhp9$}`)#ntwz$JrgyM?zOiiPAw zO0vS8gM{Ri-(5>iBe-oaYC`}?r!7N)ftruVgh&TaNLHPr)BFaN)mz~O9m0*l`pd16 zqy_|jFh@{BUdI%Lu)?{`h9DP3R6*y8_>2>P#}$i|N3Nf9G-ch7h_rAZ^F}c*E3vq7 zC*5M1U!Xe-w-7GrSbB&C8Q_WsB;lnLTr4zx0aQjP7LTm8rgZK!=npJx#C}POENZ<2 z^WGSUZrczMrA=2dwh=CHDqwtuBvZ0o&NFirOc-t+WuqTmz{YnUt&gqq5*FwfVwcLX z78W&D8!#(h2CuHr7Yr9p`=r7QHAhWLDj3VyVkIN5b8H}8;}3!B?eW&sku1=HKIqps zZ2%bB(}!|BF=#cui|mmbTO+vPb<}=bE^$BTy7E2qNN=>6+quGx2U%4!ybiYfyJLtt zrUehA;gz2_S{I4t(Bg<+>z8;rIf@$I&X4H%koytwJK|>TUO3z zx#?8LG?_~}5#T3s!`DWPR8)+ssjo_N>~QmbinOwVuaM< zbi9r%?&`xdt#11CxUdX=s2}d?N%h?9bfRA-m{!$&ag;5Z^ukofWk4{EH1+PRH4sg^ zZeAVg^_=SAAaik7)v)_zr|MEA0+fG|mzRKRY68EBoesIV;@%JLJ}n+&dC4AL6#j2~ zr&u79Y4s2Q0JHf2Sk(FF(CfDj@Bgg?@P9du{(Ip1&k>@)eHIN8s?#8PWJ^f9ZvCkDd(5s@-be5%lD(8 zy-a4<*1faDJT%{ApOUIX*m-mx1k6Zm$kX^33l7x`fVpGxqSt{j6T`i8^vAy<03CcNxs2k5t3V*>*qaGTcHDb>Ouiy7_!^4fZ#4$r^c90L@7T$~nozgq%=| zJCk2wH#lFM{+$^bCF6LB@F!C2C)GOfmf!MpM7r@OAxKuV|GpV3j36J==(9t>6L#Mr zJCRPeAB`gdJ>*nbRBWj~q^2-PD?xQS=op-Kf7?chJ~`7^DuwByNP=_(!J%3UejYy@ zc7`u1$Fsq>yJZGifi01Gq2N(HWio|%l4L@v4VzyCKhhQn+ zWiQZ?XOZu^XQMA9%EhhQxLMY#xJnkQyjK@)6~;En_@qX`MY}>F{frE@{^?ii7;}G! zI7L760rdqgIT%hC1B?B0kSb=&SJM;`gvoTs1Lahl@=Ja$*K(=|K`!Mtf4lGXaTsVz z?(ob^p70|ti4Tv7-kClgwW;%CGN){p033G8%ITpi8h#e#$R1wlC^FemVRd&&vr?Yt zIJzlo3m}1>i}WYT=n$t7CO?(C^YPYSN*etdvnR4UIbncBv+39OgiwZ-Q;kjaEYmFv zc?0)thWT!*Q}*R5psQ8;;E1k~)$e~v7+p(YNU97_bFQ8``*!?78oZhY_%^f4s=$PF zMt!|_ml<=f41Pa~M-td?c}AxI52$ws^)En=V3?@xp~OJ2*ZGj>pJu8Du^&w0TW|Yk)qRc<_f}1g%To>}a|0 z3`?+kmYbgEQfxFGiBXi*#{(@xaZfyU;V~k?em~P=gU5-zG*VO%m1OjMY7rfYsr@oA(-Gl#Dz^02&Jm6smdoDrL-J0#pj9cG@cL&s%$M z8p}>Lr;{bJ&r?oSYk|{-Lr&x-Xqz^fREgmW9}>^v2tT?2>55A{7g}l2St>337co4{ z!c`2ky0a21+0~;O*I-2^okWJuXg;D0jO85`%F8l3222j0t9^(7{OU?4wxKJ#*B-z! z%Gxf5^)(lmfT`ysOXEVW*+(OEN4hx5&3)I*>9O%n#ON63;`2Txt%t6 zLu}42Z9VRQ!x)gFS&nU8a?kLG_I!%#88p{3YPKU1hFOR~ShP#P2gfnfyK&5cGf>>p zInZ|`|9l#5BYsfs5KR(K|0KX?BoRZxI%B9-XSiaGUm#S_4;4C5E}aQJ5!t!qVg;0)+TBn2*kBu_Ca77UU%a-S*3j|n~JIWN%*xfy1#-NcT1{8 z@j4>Gu-g;_8=UVW5x_$B^+SL>`c~|svOC;rzt*w|)!={mEemH~;`B$^X<~M9#|jlfdowf>5RMAN`F(s+Nl#lpvt9mK?r$ zrxh17t_na86{}T5N=ZLrGT89<7qfBuJ*B}o=da6k!Z)$szu$xx%XaXIIge&+k3pR_ z)N;B~Cnq|ZE&EGBNDr}N?v+lj0!dFCT(8MiQ|ID}xXn}a774jMq8 z(oqAolLGpgv-91OuQMJ)nDfqCESqTQg7-9YmJ%quen$|mQSk@qnIxkcD4 zWtDjPUU6PMVk{}r7Mgn0X(0Aba(n-A`6(`dxLawz`-U zTSksqZ$7c#k2Cf>^Fs>z#DX^bI8O1=3duy0iKDx_^#jT#Y$F$1QycTj2XNUAy2BVe zqiR#|62@HS?#E>zEYMrJWy{zTuNAx{g%wk94Wg4K{+@DvebLojI#7zH zZ%jl{G-`_YX!kU&H_?mVlU{T4#Wn$#g(*i&TJ0+V9s9x8Q!G{;hcb8;=8yC64@b~;^qPI^^_6NHxoBU#=$LS#ykOa{LFxzSS;E)c@&{e4ATaVcf_0L)g zDU=!sFj&%wHkM`%gO;#drCYe@L0&dsQ@n_Nk}djJ5~=e@r(Gs+s?w3g6mN3z|cz;6&@ zCse4cq#MPXd{xqVI9MyJb)tAhi_7!%KR45~Xz|Gis9;IX^8;3-_V+P@=0N2e7ZF&a zZ;|~HZ`HbL;~NfCbZW#XxuGFhVm_Zi!k_;2YA8D#m|fg9E@XvOkQW=n6Q6Aa*sDMk zs}`B5U06x0rZ16sS)Y!904u`Nsa?K~@uRuUAe!zprAv1AEA+7xh=^zr76@oHIy{rx z{jcv-!)9$dbW8Pj44Li@5rgjXc1D!7*2TO5T926_kdf z#+qnXM!)g~Nzkvvo1j!iA6T(WbP^*8n@MAjv*=LUzMcrCvOACn4+gUCsVE(SBk$g% z{A3u|o#1fohacLpODKFp0`((`b+D?tW@|kwb$XlYj_yy%xP9HnZgtz)$vfPT8<**r z6|?gJ+3YVb6d`F{qSnAw$HP6i`hF!!!b&ICXe*t1K!P(9 z+Vrhh5)RF~&MH;JAxKQ7~(PK3wiVZu;AUe|*qN>`mz= z7$#Kkz`p;^;dMk8aO3#d)A#)>?fh$prT>?``~SN*7RgCTsWI_;37X$PIy7}O6qM3I zc`#ma}TNgv|3ugmOXX1;CWgobQ0Sn^~LpX$|lN00V)kAAj3_2?+G0CJyd_TZ7 z<4bCZfaqN6Jj@Id>s0Twv-2%xDt_A`Z@hiYVOV@BtYDFg88U+4UX^l$@x7pqPfJ?Z#sHjJ;n(RFSWmF zw#Z9IX5xB|cW8>TL_LPZ>+2kPjma9tIHx86vC2{%Z5RFo^fQ@#M2#hOyEC<;EcmO+`PX=i*e-18wg0T@XOpSp2+} zhPoueFJ7iFuBfwxaE0-RUVX#U5nmtX&9H!Pjcnzx+Z=hsIYkQt)(PmnE#Z(FR|m?B zfk!>Gmf1Eq1J&pAxBm7Aj;EhFO-HjY3FyRU2kSG-sNdeHOE zfDDnPDd9yjR58)y768_{^(Aa%`uVy2xV0K1N02`lCQRbyPn#a>D?$6iVRaPTJR3sR zg*&xD*v3@kShU7LadPDe^gOwcXVjBYr#@n|sgjr4&C{Au2UM99yVM zqJ=&RE6dcL_K{~TqB0Q+v*|V=%TE8)RNc1xuFR};I~oUE*I7NMczuZ6lpAV^?YCh- z;&CO?+Td2XJlJj$Ob~9cFUKH^G+W;u4Ih8K?l^#O!)?1QpJzUtbG7xwS!yHuJ05sf z$~I-{d{{sBAMdlwVHCj`7W9LoL^g@YwkAhd0lr3$hi(cPfX^_D^nz{3F4=lsl>z_! zB0dQNF1sBqnrg=7(%J6-N$xzT3^R%Lx}l>&FMBnyHt`&?8>q0L`XzRu_|h24bD#`h?C^QrhpO|R-uJK*fC6`{2b(TMPdl|_JaCOFXSJB8x5*aKG=jy0=w>-Yy+6*(wA-5sZotJx{J1bT#X7A>dI3T`$x7@#v zTv3;oix*ovOBV$tNJE)0*L{m!w0L9oD9`h`Y8P$lcsjECnQAauGWSN6&c}MwLHOY` zOsOO&^4z+6*fJPjoq8lboJ-mPp9usH+!`Dh6%caX;m)delr8|Q&Eis3%-|@?D{pdET5)g}(?Au;?z9I)svx`toj)l~@PCK-nB^oMeh`vbj4%JL41biKN6$_s z9!58!KjyOO!>4#SKL0j*z>o1oIo3u3k`@IG54rI8K-C|g?a}LC)y{MV&;-HXZ`gh{ z_$mIF+oJrIrMs5T{hJ3Pd+V80ofs{`&kk1%{rITERv$1~ub_=$+T>HC!W3z!0Z=;k zx~s@(8>b_b1r;guguKM7L@FLAe0qN!Hqi_%#p;uEj21LwsKXhmnnMvV>XQAm5y zZ&KHpD8WjN%$Yq{Ouwf-hCRWNucLTDjl>l@I!04rhK!DFQGmgV5W|6#P)8ecGs)X3HFxQBPSpKM-NFh3o*w@|yU~%u zRf^dI-6G}coKTqC;|Ber%wDIaGK+3WlFm^DvTno(6*U=)#-w322clXZ3DB2;P5^%H zLZ%e{vLO!Fsz+qx=Iy=0g&7^ZQ9fl9o&Bv3oB@n{!0Kgh04ckO`)EveO@ z@%kRAsWlq&OlV5m^Z&M1L;lgZ0os z7#sGpm`oQTt=OkaKM!}RlwYhC{d6g$X*i!>w@x+Mc5kAeGJPCVumAqjxN-ljc-*B% zwfN;icV?y6J9GPGvtJKiEKEv4wT7gjHi2%`$l= zO>64o=u97=-|C!|a4=6#pLNa}ls}^L{~8bb*99Mcf(865Y8Zb+Jan!O`gWh#_CG=R zx&39~)_(~9Ll>IA>GBV0iXxn>wEPw2q#`{t03j6-G?gL~sA@6-C=oCba8<&@PF&tZ z!Cc(LD|hk0j*{jhz9>50($kFIQjQzEkFF{TDqt81X4AfK7$|6|@Gtx@gQ~I#|E;*! zJf*WV{W>*f!gOqn1jBTB1qC@A!@_Fa3=O5E)C`S^WSxYRxcIVU-Gr*|6)kFbgt?YQ zrX{8&=_&E~;0?jhzo$MaY<`X@pSC&r{Qc`}?yms5{?pd|ll3h09RfW-tw^P8O;{)X z<7pWswM|J)P5o(Cw++km`CNQ+wJv<`)UhR&Y%;Puz*K*Tv^M6Tw{t>3Ff&6yKtPQ7 z=;Y&nx9)uvghDzYgkcPilhVT<`^Xckq`#rOgD-xE&;2kJ21OLc6o+JS76Bav4;qDZ z=Kvex0O0^zJswRpQ9clE+Q@$q59Vc5gi>^3yyMlI20SniA!%biS3@xlAt~|!)2NqW zy41SV@_9{${kR?N`5+)uE&n)``%nkJ*mSPYlAbuHc^6e~@KL^ZV6k^;vU}^6vhi}B zw|!snIL?mHf4Yu>7!J%mW-cSOm9fAsKYD~zmrqu97 zo#yo_+Wx2zvG>0dNh4`1N$O=gH8*C;Q&`}R07}Kr}LBZ1Z;{W*3f|254)DLEl!t5*Q(q`+@1KbQK4OK$-kD957GsI2m)G_Ubh7}yGz;a~}T7>BY zP7i*F_NTwf_KW!|{M>3U>uE1LKx?C>OAB>E_m93g#klk}q`?Dfn)9WiGv~8U_%fPi zc#4<57&k}s^pi3IBdpk5&o*Vn+4x-*i&?ENEF4K#1vPQw>0SwiZf670nZJen;3gCxfYP%{f~Ew7;!bg!)l(Uptwe$5uqc=y*|2#yA{NWDXs=Gh(0=mC*kin-IR z{mhsSxv~r(cC+0&F2LAn-Dt&23p9(r(cbJ+90$EV@!Pj&zFdxE?Cq6_rnTf%UTH7k zKj+GL79eYqk$uZ@W~eOKms#z}LHla%VYajZxis4g@?^P1wrXMt!@-_3y)wcNWfGza z!W)Op2(tt;4zcy~R&UG!`EU71p!q&6gr#~Rp241f#W4oVc-@U-mVb(E#+$X!)`5(m zl;#q$Qc6eB2~qJxK7S6WV-QRz?M*}k2~WP3(cNkxOA7_7i!?+{mrK!n?P19$3C7k^59WV zlH88!^sk2KltbQ-9l1wU8eIAd@7*?Wlyu61c~~!TYl`NW+0W+*C6b!C?9 zjK$oRQ{MrUf_@N6aK}Lw@GmC{oh5}AmBfZ53XdH`@L(Va_%GRE+= z>7R@u{7;5p|NmfAc6IXh5%F-hws3T}F*9*@`u8M}s%GGXDuONmmNIN%~>VVZD!ZD}{3dq9F>i6p-O}lIM0K z;AQ!IQtu=Ll5)2yiOPeA=!&_F+HPY;fCpnw*^y&)XF6~rjs4w+qLpC(JQwhAR8{tK zsRNCzBs}s5lHT@pLG>_+*!*U6($FFppw>Siq$rgLNE_Bn0-$1x_?wZH7ncalVCPU* zCF_EUGJ*AM2fv2H@N9SNt92X`$?F4yw#XC7`~;F*Qg=uafEf}KD1 zXGC-hFBz!5J_()}wgzdGG!J%jJyPk)T4#MBF$^#z3n} zN4Ytf8G}7AZ8Cy+*|Zx&pQx-B@r}zlvqsJk6+%BGw%R;V@e}f29W3DvWf}<)1cVYF z1cc;&cCdf*rd%C3WAqgd0j2dVoLEUBP3Z>XThrf|@3?rs7~myQLBW%db;+BI?c-a> zY)m-FW~M=1^|<21_SqFSTU-PcO{o-hUyLpR7%+;LWekoB%U@g$$$|5nU!6AZ3PLvX z58Ht)x(?{&z^CJY>wuSDznPw!-lvnkx3d}0RT@TY>D|s?lWz6FZ7cH!owaWIY^}p{ zrqkD)V51=>n^y}kNJngMj6Ty{tvjE!&#aO+kF`%g@Wx#hU}y1G4>Id^19IS%0IV;1 zCwZceDO+gv4gxGFLMUm9XyP~;vNu$S<+l8lZSB(sK_WnB)Cl`k?lToofBI?%rgz6B z@+S!Q2SJeC?#=B>>nl{Z<1W#i1_7JvasHvAQ8Js+!tIP|W>Df(-}v#4`NK`q8`7G; z0q0*DjCUr2zYe?L-%_Jo?w|DlC*0NWba($~qy7WR(1ae^b!l}xZc@-rXk1cqc7xNb zibOR4qpgRDt#>-*IlKxJuKU~{gJE2SP>#8h=+;i_W$|dnWgKj*3lEgJVaSdfNn29K z`C&=}`{m)O&WLlmfN6Sy0 zjk{#Ev>RX0r(&~Fq14i93mb{Vn~SdcLS;`y*MG0QdZB_mSSOto!3G!Ff*hP zNF^k7u-Y8h(#=eq>@ItJ*PhI4oEh1Y%j@Vo4k0JMEiqe{`ky0r5gb-(VTEqX5Y>DZ zJZxJmJ94~i`kd|jCVpon7trj}e%CQp2JBCO$Ge(@Kz^Yvc+& zHXNyyMO{^vJ5w$@r!0NiA#YJwKRrFit@))D;4eWabY*(y2^13#D zFLghxWcNOnmtos0(Q9Mbfca+k0EeLE(j(54S)XV3sQFGeyAm!33H^d4S1~6aMs7i$ zIQjWe*Xz22?Vm@bNl8^5p;ge?pnG|!0}1zJd>69Z>eqOxaECgB-nru?^gD!1S$k>Y z+uDJa7MxNR%mI0PhVBA{6y5fG5c0vTwHRK^hnt~STex&iz9#2U9IuH8(R} zQxp8e94kYJYAt&_!F3v}Gr-g~sG|r^1^0|1HFuk$4fM9?+_HADO`Cm~?%^S*yA~SH z$gYe)Se3bQ(PhPy5yW40>|!a5GALaZ%~EJy+53cZX8UB`BSUcBiGYN2FWLz^(|Vd~ zj1T!nqfM(Qup%wAfU;98C=M3mD6#zpnmFmCy$@}_DZ_(9Q9AwdHuR;qly^-PoWndWg7G=3&khoC@A_3dXUFd2(XbK~;GCDlg{stL#|M$U6~rdykkVH{|=>e|Fj|Pr88# zmFp7Ki#r9sx!N?d7)p=vbeYdIL$u5M(z;dP^<_DmsoVcB=RI!^WY5ja_o@^l9q)jk zj5(c)G=W$P&+K#+*-k}r#gXiGOjC+GM$3K7wTfzi=T7bDWITMx$Rs*?P!n_HZeuU* zIIGiNXJ6Ihbf}aEy7+ba`SGrI3iN1wwH24x!5W!MH_0lR8df&&wzqWKw1xtcv(q6h z?ECL(e(OP^Ma#mM5zm-e;MSj(mC4M;B)fjLsuX)W`xaKN&u)jy;^ zOFFSinZs5Ll8J3BlpktBtt!2TMUgR!SwphY=4M=b0m4ei9Nh!+FllJoGm>QGo4Qex zA>{wwgC=s~(kuKe#e?A2P=nN)d6X$amCwm}x<9fUN$#bNNlypq&>63lD}zdBjGvcv zQ7?-q3RJ)-qcJ){an-0=C>ia&@(a;U5DO=DVzRi-Z|%-#X=k%wqVw~`X!V~_&VIhx zXA!-E<&ukuWKJ%FwvxAa0pF5v2WACQBPb$ z??Xeq&BIWlfC05V%2;nyBecDMVQdRN_DWNBW8@21OxR}1;3x)OyBbO$n{LoS5Z!6d zc;2K#&@B7JUmATWQwy4NBu7)fL{du8z*%D?HifWg6pn%wUC{&SCX?-ngK!%damCcO$g!did|qr_ta5UYyVBj{)q2>rn%#bu zQ4iN^UUiXGSogE#LF)`|_-x_AOV>LW39fX6YvLgH9UMb?;!&oUFRhETcSDy7=e1?fk~+Z~F@>@Z5xX43%DdkgdAwl5@`e220rZ4`cc$Lo3!?cTbf$g+m#r|W& z@2#;ugU_z$pf0S&6WO_4l40jMa&zFWm^y?63K1nm{+AER%pu#{H}F|vQ(*p$7L+OU z#-_Z6-Zu|WiQktVcLTlSNAR&9y-L)}6b2B;)`*?O&zC4;DKb4^p)*2hKppr#l~rSkdyrbk5d3WaLo zMi%M&gq?svu{6X=&FMm;=t?(P)u=Z{uFjp+_S z)B1y(TthXXP4+`2vYX18;Nb2yH0D8#NlhmA5B@`Xe7H$(Z|`_Q^_lLqM^ch?W@W&XpT-i(cpvoI!_h{*9$kn z*TE~yvuR92zPVBvkSh8(Ks7T7i}mOmy%?aK(ieWncF)J1biIlbh{ksB%suT{ascUQ z>F+e@mlGUR&`1@%kjoQqL?Sp%Z&D{=0H-uZc2i7yW0mv`^6TRa)#!$vwppz(@r7;u z&h7l26-QJnrM~)*NyVqN_m2QY(lp?vTvTkYS+)bJ#B~p9?HPOkX-tXPeoTp)f31S< z1-T(uoBy{GGiG_Z*`0Ez00U~&@YAz)H_Kwbn|r*1I+5Fao*|2 z@)?dn=PK3W%`76e^jJ0NwKCe&xe?+M+*T@fI%ze-LSfAB$M=*>h$}H<7pTw#Eo9-d zVGDwfxSqR#|D`+=7{QEU2nhmm1P21b_TS@`@HVseaI^8WkhHP45HU0R2eN{Rqlwjj zAWqfPb3;492^7?sU%%ksMC3*p<(L&`T@85@rtKn^>{lmtYjQaV6@yAE(&$UY`r$h4$HL7oZKZ)NLoEbl8w?>JMi@>O~F?`ld!YDb%ST1Xt?Y4s7QE!(&&$}&==!dkrb z;Lukeq(ES58&sXZArPQGW7k+F-f+F|6F1qZvy5&_F=5l|n zID=MJ68`ca3aCTVa#0xcK!C&TrI}UZ&lU2qsZr+lwAue$)!u^$-rmQ!s7m#q_u}M3 zc?I(E(a)y7Z0Z_!^rsvxmI_N5Yn5mrjo5(}5jRwx^CC2$LF6 zo0oy_`_#)1Ul(1Ct38d!JW|!-NYMrvj=7f6?`VD;oA75e+fe8|ey&~CIHeL~_8jXi zRXsM3)}`n8PW94`+DpZy$u?=?wdvbwzJq7A41fjCxub_)S)^_{w^Ty`lNo#*E3ZH1 z5t@7^TvA5&THi^dWvsBQ4N-l-47Q9z+gwSX=4P@M16Lm}BfR zL=zEQR|Yy+$Y55D=G%9+_x4+9!GrEk0*@$$;u2I$e6n(S!K2HG zChTa2TTC1m9UpU-c&g)&0O!Hqf%weK5n!N_cGi%+VNP)Tz3*WJwHt~$?~uK}Zg5`- z4M~&$IrH7YT1)-Ny-vGO?KZm{9G}QsI+x*`(@O?V`02@v&dfJUxlL!j!8-S)7}CwQ zmE>7R6rh>u0z2w0tW0R>HoH=Z#VZIozh#1{2qh?jGlHgmJ_AK& z4w+p>pZHW_(>PY5VBzeQG#2Oh_B28^RBb~uPjxhK^R7(*7k}`!l&m&OKiJi@5c3ag z^|5YUdBx0kb6GTVM8i};KG8+_D~+QVtc^J_^KS!qUSExw-A=7mglU&;1d@q6Vy}f1 z8@2q~U_NB94Iy!Rw0Z2 z-Y9zIP<|iRyLbAesn)xZ`mCw;#2B!GuYR;XSR1M^i0pHo4~)RRk6kni(}txd#CLT@ z+|{+N=!-8pWBm5;El?hTVK6p!Y4t({Q2$fn(!Vq-9li1=UpaH6)|*z}eJCv05Du1e#|0Js3~CPe3q^GYB7rh!Q@97Of{ztI9dX4?;@Q}7 zb7TPUf^wle`~$&S7UlPN3(xNBFsl@2b=Z&U)Q(#wg;LiWLUuSsxbB~3mbsbPt0oD8`#g~DIws(izFYdBARsE>|Ic2t)c+AR+$>zBog6IWot*4E zod3Potfr@gD}w$lnP{;5q*_DW3bfS&*IU!Q(pVUpsESmFCWcWm4}+;=>@wG}|J3Rs zx3!%g6?~N95ExXY`}3=7tYgZn*X?+6@4nA4${rO#l)@XgK&Z+cqUPN&w&2u5&9pHSv%FV$( z(NL{B?WWMxInKNlOJ~t^7LzxHCFkdxXkxw4h?i&L2Qg^ty5ASJ@&YHw-fp>G_L5jA zlt;}B&Y25K5mO?ceZyrJzBz>#j)@h(Z81oTT}Sij$-GODi2x8Ecd6E0;-JM`5$uxe znKp1JKO$sr@48s@9(Pg9@~{nPUq`XRj-~o!$ch6x=;kor>#o^)l^*7l=^dK}ldMOx z(IjbzGmGd8`ZUQz9HNMjcdItWU_d@uBK!zaxV>(y@cxB?@q%obahmrbxzIwpX#s7p zQ0*PTs+8!Vau%4=8rr(Zi5&&@#&N~Rlz8>{k9HHNOSMeqIiiomF!WhQ38A#re z3PL~N`XnaFrn+Jo#GB(mnpdK@(Vi!6Fy#Mni$Y=F@TCmP5Df*aNbv! zPNV0qrUi|`R1gYP`OUL@ zKe?&aze)dlEaKmr6WUPzXe&5>g%Sep-|TO*Fax4Ell)+WOdT zTlp}|`0t9#>#{v3tV z28I$fm2=L$% zHmEipT4xJOglEd@`Of3cAK-`)tBY^1ajb3=oSjeJReGvCUte6~PKu;Ygu6% zEprCHJt2sJ_9D84&R3B(mds_#;B%_}df#g&No6ng^_Nx}KHP?QuW8iQH8vQMj|E7n zy-ROG=S!a*97xi34{l$3c?$T_%M|;=e8bY$32ECmF&HStCK;7h{1M6pQu!y{0{XWk6Lt(!#U! z{ztkH30!k|CT`?17ry2^!iC*X<>$6C_C#16=Nl{LB39wsfxJwmHX}h20AqV)XNpaP zXTs_Slp+Pgm-#gInXJ}iLZa-3zHONWddj{FRDUH@RTAsGB_#&O`oa*)W9aXq9LKG( zyO^V&GF1fAL;GZ3l8X_sdOYme0lk!X7fd;n630dyR7DR*p}fY~dy5nMMIjD}pd9+q z7wj?nnh0&XmIzWVY+Z9rV{D^#0Xk+b_@eNSiR8;KzSZ#7l-&VklGMeYp zWofR?2%glkJq$Jw62q68^4f@h7Bd^K8dfUJXU#Y-Q8fKhW(1qe=$NgOPfSf zHj+f4CTTy!q$?>~O_65ie$Li~MQp&iVOmSM9LXCz z@n`Ugqp)PlUi8d`43`g;O;WV+kmt3Hy2ua>p*`+ut+Aou^-H82XCV@{Z$jMcNXf#i6+ydVu*Ct?qh0nKSDlH;PgJPt+vCQ9^JO+ z{?xPS#?Oru-FqhJn+IGxVPzs(Sh%X3lOK@Q#ZqM$)tUyEGA+(ThqH4~*qs8T@`P6e6dyLiKr>4HfCv$$nXN=-!yo_-`fbioHx2W-4djfq5 zYiIX-3X_7NozUGh@^0qavUQu2W-ebd2U0z=A(9>5Q@Zu7Rr)FUVE%CmU9_i!4xe_d`a zsnzgN9b0ttbkieLYo!ksrm>D3bmGgZ+7Q}T=Br`%i~u`366ZgwaIC|-x$*IAa)+yb z5)>@BZ!=VvS2IklmYObCI+Gv{*KrF04xrw~T>(sjvr+BSIY~Q7Zn=%=iE89rU?-I3 zC$6zA3Nzr>c?@H$K4+LF<32tzz0HuLs>d*I1I<0jGbI}^8^Z3B4LgJ*jWLAfeV9kd zd|K9egFi?c4$*iIyu+lJ5q)R9AzTxoY7N9ZL3PX&+ux%B_mE7TZt&-VR@Qo|H$IG| zsWUCxYX0|m*)R4-)dH_9sB`T!OyMIBC#RRf=-ZAG208tESDXP0KAo{FYv+~kVcsX# z10HUJhYvA`Zhue0R;atomiahMv$!lraKhig5X7{@Vpk!5hZ6%D@&|7@HmAgJUIu;q zQa`|aK47nrj<4usNDjdO7f+#~Bv5t*B`%=*B6vs0E2?9ETZ(N z(F^EWimM078CW)1L!X3tl-hl=7#;aJ$P)*b`qS-&R zq@7E_Z}LSkXs}w+z~#uV1`6s~qJ{0w$gA{H3q-BY&}}1{sH2B<79o9_N|uNoxs*t$ zx#aXFmX-F4G&w3b6;0Nh8|+~xIv_RWO^?7u)wDVAAC-)sz!~!fa9wq?hdXh)yhwg~ zFl=?lr7h1HAXG?@r4_?uHxlyAh4i?ubF2#Q*oTOm%IE_&8X&w1Fqj53b4F6Rqdhmg z4&s6$yoM0B$^1Fv=JG8vgky|YiIMJp@BrRY9zYz$bF}?TNQ21(0>S>Wjg_Y0Bkp6X zDpObI4xV6trT{bJo8dch%M3?dLhiV2CQwfIxQv_}Gl~y6;`=-v57Ey7cwkRx)*0Yi zdKV#C_rh$5l_jRaR8?~l>Go~0x|a1-}Bd(Vux{juT6 zGRQFMjW?*xw`7)k>gH1z~InZkW3y9z;^v4 z_k#24*lcUxq$_8ZF2hJ+4h{&z@lYd7mraj0o|CD;`iu0huicYNZMUj_xQ%~^^uK@Y z%KYmHjznxf>;N-7;P2$wF*-^&tl^XCU3WDsn27SDVH+!_EZ@1iU^W!d?{HMUR2=BB z^v|~k|1BaA%u~NpUufvSB035VCFtZc$`h^W6zVk-tT3Z-c0DWA&}K3c?JZN4luS)4 zB!LOP0G7szmr#+GPo1d?u>tMulu`hdYQy+#5i)=Sci`5HsY7<{IVHNCJm$OjSS?)G zSsAJ$6jOh~LC)i9_0j(3cM#aWBF(MFeqDqF0pUdYeu{lx!E5^yyVkfHt6QwPvYp zk9xFMWfBFt!$s}-d-UI*eeYVY6*pYX*<1E$(8oT{IXpZ5=`a2}d^LR^HIrdtXx-< z$aUg7Y(K{a3(OR_z$r~Sv!ELAsnAJ%u3Tm|Taf%4mur@a6L!s<;lMq7iH(s%im?CP zqH(=e)lg@Uf>M5o2W0U5m1g$lhrw8quBx9A>RJ76=;W&wt@1*s7J=9SVHsdC?K(L( zKACbxz)@C$xWz*=!7|uvZh$6fkq)aoD}^79VqdJ!Nz-8$IrV6N&|B<2BI;4Km2*--2Q9Gjgt1J&`SPY3aD%5S4~gYyUT@6j%;=OxZmBb< z)e-jY_^XB}kJsXuV!nx``V>2GxOgQX8Y62zq5m!FBr`6b!1Nnjx~sv=ad;xzMD|g4 zxh(=0&hPiwhGXWDp!xd(qu%g}JAZur1@>>p+^xws`e@q z#Ziv#s=dy*ov8es;6+0L`}Hy=MQK{f<)`U|Ejw?6K|J2Tcp>Z8;y9tbnaSPuhfodL zNXE#9ey_?`%I~6sdT+VWjs5$d_JLcf^iGh<{sm*LFvd7MxH8I%z*Q4bLT^CgY~scTV>_+s7tRRgP}J7 z(lEdID_>nZxAT_q!KZl$=Qp3xTGt3S3YY6_+Ahywu6XQkb~LlY2g^(YZ@LfX>$DHM zYzKB%4=X&Y*xq898Jrh-&Vk2)=gkdY)?v5-+2&x+>;ea)5#DtmmDV%^=C2k;YO&gI zdJVuLLN3cFaN>M(yRKmrH{k=~ez#VPu+qx@1wpV>QW7ofZL~{IwX=aegiho+sZq*+ z@RMN(b$rpp>F-X1UJO<~DjlXQ_C{5%0zdD3&(%!L^{}d|k@RoTs-JMdecteD`H%AL7 z?!pJ%EX_Wcv~D-_ysQDu5$39MI^t}VtMsOs>i(E_lN#3b%FSR%&M^ywF@Fu?d~dr^ zKA7PX>yhzj(3P&>gH~J#B86Yxr8U4iU3AHvyTAAb76zsevRb;}kn)1&Hwx-n`UWd68 z4EI`8?^07gt=>nZ)o`(TbM`eK<++z<42YouG`Cv!ip2P ze`E~fO2Ce21MdhIQFXbd5LbgsiJB?2+Mf?HtoMo2xVxsU9`OFWJ1WEEvdId!9#Zjg zYL97oujL`0l_y~HYESgRkAQG7b6cI%-{DJ)GC*7a5IV6-sG%!isDH+~rB>MXs`8&*{l@Mx?(omMwTN`1oplTPz<45@71GWa!euFPe zJY-Gg5bL`S2oj58N?P_EbN>D-l@5EzFLOj6wF7lsfk>%WO%qiD@+`4KEs?8H>P$kD z!#3v(`8d`QTHl-UD>Dv5z|9Eu9yNuE>`2#hV&SML0MaP2fh(=D=;j{vF>a|~vTKhU z<+KlJ^w%5sHc@x>5L5>2ZIH(B4EyWHf2nol!gUCfqk(`t(|~{w|BpHGKgMri{4tJN zg{WSRr>CYGAVk}1$WX@!J=v*olZYEhh)r0C_sPAIVm2wJbLCJkG>J5IuZld{FuW>C zHPlhrX@MRq>$^2#aX=#g1pxy)_f8!o3mgVDnLn&iJ{8%J2ElXwr_^!%o7j5#y0u zVA25r@AHf;LsgYW%R^a;@ZM0GMUu9{UUTjo!E@f z4+-vF8rf4}FGy^UIKwu?T4Fas@L`%z4iOXE*y6iZ(Q6rD?iGC`B{DJw?vOoxCt0Ju zZBC`jn$hII&nY@4jHE@6&029dY&SMy z&0T8=R|wXsdZ^j)-G2Omm}WmH>q$B*N>ZA;Sm5C4T`kSd{Pc*7=w~k+i@}?!)Xp|> zSY)9lly140o9eU}_v&15^2)s3lvkSG&$dRN4_{{xYm4<|vti5KtL(>ofeH7_$fc2M zn-cezsJw7zQ(@pl(Q2`ZXG_gvrm;r<;WuF~H}*nFH_pCILBw@=u7HQjQp)TnE0^AD zeb$tw9%G}bu3kTbtNv>1&J}xYsq3mwH-py59qZR9= zQDA(7Zie(ftD_%Jp?W)xNz;}Z&K+E^`ev>U8Ikd??Ip}al8{?=EF??%jk8|$p11xc z{i*Hbi7TV0=^3#A$HtF)utkICjvxR~0pNf-RK_6&`%VKjB7i_aZ=*JkGJa+c3gawJ z$tsO$+S!aXo7L94KbC{6eD6&Ttt5#c0L++qry5_g0=1N@4PUY~$IPv|iBFV;5MHz` z4D5JKuFSYRH7U{FdOzsr^@`o^0ljll9Z7_`dlv?O|OnFtLFNF?XTbJrgd1x zVm(`mXDXu$K4aqJwp{r9CwM(ul3fnsIf=%LVd&}$-FpeORYq+!KF~=H#aGAixGwOA z8P@l@lhf^v<@9DXaFPp;%wsJjCR~r8>OgIm9+TlobJd?Q%D4&+%?`c`wO3vK*|Y z7qr%wxYMD_lV^MAWMZ)t0S=WW230dE$knC;fB4*C*x!Vhrv0#1+CIj4MIlMajxw?o zz2nJiOu35CCv(&bz%knJDTEfkpBN>BZjQ63i(*0DH_uS{4D8)6_1#9eG=G6f-8U;wy|(M5)Fw|@k!kC%fQ(C4xqltX(maj$7bMPSDcV$KyCdHo&3-$Js@p+ z7g}5R+2X-gcXlTz-`uc9NuI4?gK(Cs)r_VK)zohJXqp`NYy-#k@Lr{C2LE8R;tA8K z5g73j+5cSq>99S~@|7W4;zQL>S~x724NfaGxuaskv{iin{Q03rcmRE{b>Q(PNpah{v0Z~k)W4QmVMV1ylz@FERC?}Fv3u4=zsEkTcE>U!RR z9l*KMyqQ<;p$9|X^1-g%spQ=uT`f;mODllb%0Z*c!3J}nT||bDmPnE1DAMB22_}i} zd3K~5o*H4(X{lFPvO2*~P$ka7&^5oPthQu5JhuO;th-o(pF+~cXLk4O?x1zR4Qt+_ zTP}>pR&Y-iG9slR_$Qv`vwd7C;sD7-2zb8NqGPAyn}4X73Ux}5iu907D@5V+>lWur zJ^|mB?cfX={gpp<>rESC8hRCBX}jafpb0Et!1!Q8+MD{Rw(Q6t&Kxfj|98_|d{wb|3wjB>mLH zULVt-TsE%urm_9YROFMS@o{~&C2=Whyndo(E#I(#C3T5HbuI$!eC&WaqSiNHaW*-G zO+m3AHQAY$bo$bnd9`@dA#w!$82Wo2rMVI%Qdow(dcWdI{TrpP@HSrK8>X-FUg?b? z=BeGHVBG0pMm;cmM*`to=cD40@4I85Px(ziWR&Uci$pHIa!&ml!+)|5^KugZD#n8> zs?BDNhR09(^ES90LT{Gn3@uDZ{f)~%cD(OsBT+BDhpOP2;5;!w>Z$GYP-#po&to(F zh;4CPwK$EPbKLD4#t^!|b_m6d{40{8wAcx}EH*2}VF7Dmliemff^&LvoYX3F7VFtv~Tvn*w8m8J7J9Q4DJj%KEl{_qiSB#I^{g>6qq7( z>TH4=Q6h1ho-&RwR+5-G)q*S>qXsDeQHq@#BA@c}$YOrbs@vU@k;r z#50SD=>i)mmF^!?Q3tG!C9Vs|bj=xUq{)k`0ZH!IU6U`xEI@?b8zjv0|E`E-?KNMT z$2(>e>-847)|)?O#f2NhA56#u__#8W{q(F8kR8=;Kg=F`FAPB-Jw@SuSUlMA3LX|e zRWBb!b4hVk(W;*q(7)@FO;P<{}u$QTEQf{?0KJkubp@q!MLdd;ljB4^Y zQGshJQdL zRUfoU*Bq|IiSX_Exs^GxdHgbD8t*##n{pVtIeB|VzmSmw3)NVm%bW6$EPWsOI+%hW zeQsuHHQkAUU}r}OpCb^A=Y_?Siqkn2*EG>lR^_^%HL2{ss)*k}rKUL;+hTI)&Llfw zP><$u9uYcm)J0oD9fJb`wDlz0<_Tu)As@SwuLo*6*pquB+du-~s=u^-xR!Uj&(8;A zPvJ}s*F$W=X}UcV%G%P9W@9XOSpSwpKDswhw$0`@r(0?Q+&*lMS%V7yUKa<|L7%+C z79Q3FNC{P)malQlx+-3P*lnx2#YFUH<6%Cc?Q7Ear?ZL89@ZQFKMYNc)4HY%N!R;6v**0;}h z&U^QrebH`ftF<}STI0{0qtEC)VvLAL>O4{I1pC7Z)SPZIfI#KRtiBCPdN}LVoP1UE zPE93kG3iau2SiG2Tz@9y4W%rbuh$&+G*}IuTG1PbTAg)l(Et=Rz}C>jyE zhJL7wMK3-^@@{lHD+_FvpXmb`Xeqc8tE8>M%0I&iD9QKl&uPZ`so7p)n6MYFzcqIz zF|wDsv@xE#B)Gy@xp2TQE(4|@^BHEf>Nq*=mhB9Vr7!jxK0+Nn%2ask3Kf9xyAJZn z!O@uLCqH_FCpg%c1R3vXb&w!7JMIZJs9`c=K`As|F6kwom8E0%l5eD@qrC7_CUw{JoODBYcZ}HvYZSN9rt69F+x?i zck@<}8}o8ESYH>~ls|S*=j+5bHLe`LabRvx@;`woCCe1K`D7&O{c#+>vV%LZZ%&_Y zQ)vgx(5mI$nW3!ry0fF7H*!TzUIR_m2=}hNy!++KKKR=Y3cgK<&gc#zgM(EUwDs$q ze@^R9Oa;5j+w1^CK)kvxeS{H{AQqi7E=j%&ByT5$Ee}G;gt6$HsY+Ys2}`Mo$zEE@qiD~u?A^RorLVQ*l*r&sue^Y z#KEn&y-z32HzZ>dBu8Elq8`MZPlS4uZFkUYzVKnpQ*zBuYg+-vdD@-!F!R}}pT4$Jklj7#xtiHIEN_G$^)1l08uNQ(++!2eVl019dfyP@)KnGO4)s>$7W zeKIxRn&t|T)8=?HDrDJ=kDGo-=C|ei|1&mxNb#1`A}wqGVv`@JH2iCItQs4c65@0w|0;6jCwF1JvU+R{J(q4W7+w%7 z9w75a=okBxVnKk+x@cf{V~x2xHqtljrv#5?k3{(R9d!zD1M(NA(|8UXc~{fF8aJS;9TDEUqWia+=}jA@qd4A*cbb(yYj=hKJXs5iJ*S2oD+u~p%hB+v1ywKQ|2(gf-U zS9C|&a7e*I3%=egzMG-*VNp@6_=ZwvYpqM!5E8pxPJ!ZOZUv$0kSe|2X-BNlDSd(> z&fS>kVmBNuf@OK22kZX1<6*%E~bz*rMcgf)5fG(>qH zRm1J~15a{4tzFp~!lOA3pB=z-CYJ|CfaUj!@|P`ws4NaPUTK1`wlHgqPdnqT5Dub} zWKp<;FfYa)^dWQ(%i!?$hr^qNZV^b^G;M@+ZDa%E%QL^6E`KqskF*kaFY2KB)*Otk zHkd}(g5+1W$=a5rX6aDAZgU>`-tN%6K?L=*M7L`wjNd2ppZwERwEf}$@$3hN# z2_FDUKfnr0I~cUtTph#DCKtz4`BpwhBAr}`jJ7Zfj zXEIp_6C+zuD;HO1D`PiTD~Ep_cT7>%k--&0`aaC{euFv5&^7<}q!bMCOsGYjxG3y!vlc(#qZ3nXs2%AaUSiT>ZwU zUyFziu$sM=!4E)wz1=b-@|hB~9`+(st-Om1={|e7m6{#1y^r5nYHTH=V^gIOfcKHB z=!J$r84zDW87ufRez0F?6ODplS2z9CVvXREQWCO5Bv(>P9#rCG>QUJ;PLJZRvy$-o zP5vua+3o)5Dw20ZhaH>JpsB!q?3^qcX_ccLNQ@T>$&jxP&m8n6{jovF(<316Vpv;B zbS*-F^H*aEDvVmw_#GQZ^?ly%t$>Q4C9fkIj)-7|Dcu@^0}A46_VL9Jymntk2^~_! z2VD6F?-1b!bFk;=a|8^!uneWi1+xW2I%1&+S~GJKI*ixgnCMg!(jxn20wc3(^m{qq z8PQ{^>@U)1TP2-=9dAQfNl#zOm2PPM4$zC82tJKf`j^Y!IhY?Pogn{?1mhPg+7k#M zAe?`c;P_u4;s4|ey&B*yBY!hUYHL;7(V6@(lr)n?B?hkC9JZ6&OQmf^0ZXPGk{8Bk z#yAg8Y5dh#pyAyicTLMT*ZJ(1w3M*%N8#S*yS#OKRZk{AoZ?mJdder0^FHT#GOO+T zYv%kL#1Y{;dY3m^B)N7(u}?fYk$MmwJ6A&~`BF|xlSZ2Px8bO~RxxH_y_vhQ;_kS+ z7$A$re#j9|huL-_;P|G2il1PR@@5Q+KNM5!tvPaL^kWrEe&2<~SAWP3-5`7~ika+2 z8O;FYka6M$o%um6p$B7V+3ZUkZ995ThuIf*8~K<~;&zj&hmz7j{nig%K+(~*v$+42tE)|!Xm%pvEx3!yDY(uIW(@gAeO)q#*dV7# zDob3JSTF@iTxRO2zVe@3JY999Osc~Qch|M%=#25BOe4lK8!?d&*cY=+4l{gPzy^F$ z`Foj+JMsRn@r}ku=hb>vm(E|z!{rJ^i$2QVnUyHB}pO zydGV22XpC|>es9c(RMZoMc}>7iO_d7^ZI(uJK}X4%4UKOI-x(jO2;ph{uT`~JZ*c;LG2v|(Ia^rjR6=-(;L3%iSmNN2;f$%EU#`cCJBmMSD2j(CmzfTl ze9wM_9Hk$eqMNcngwi_EZH#&(>8X?3H!IZ>iWVQqAddU|3SPBT4Uj|`4~8v??6x1J zp!G9=j~RuAFY;6!gmh9GqQ#-O5rJR6X$F)rRS`#7=^u2bvVTB%u<=6XXmnx^c@EJX z!Rrjhi5*kEP-Bl-zGPI3-@3r}BAuqS7wvrfsB>(%rA6;uVhYyUI@>rPrSUJ?ZF|Xy z+_rfE{VLy8cxeh^KwP1iG8>)}UUH5J%72TZir%XWvXtn*#mG?qGry8kr&-%!b@AHd zQK(9NgsMI!XIsyNTB=st4&BQp{`;vaI(=aK#sl8tHWN@O>Z`Hg#=$8F&%R-D7d$;2 zrD4R1JC@ZN8DQzDhr$%8x0Gx8WgJwJ!jvOAl|7Rz79gNKUxRMFmwxINe+3&$Q-Wa2Bw zDDI9K0+w)4b3(nVx2El`zOCQJr$Wi`?fU_{m(sNR*)~UW8Xxa9Fs8EU6%0Bdcc-mR z(OD5kvsiihoPjSSX?Ymjl#CE4oUG|NNotWmk<&C|rfX^>$vF>N-gJ2;MKe+*Zr zX?e&r%29HRxUA8=*CtoiT<1N7fDjFED=fyyBlq;th>zdZnHOX?!p`BRe|&+`bZk!u zWQuL^qUM@wV0d{lOxg|vetldCFI6j0Z;`VX=NIps>|+~+N4S61osB-ds|r6}m3u}W z%RDVeDC~(uSXlfj{lYZN6%}~f*SEibwwaD4Sz;ifGdPYs03uK#9O4D_nOl<7<8CNL z7D!G+!Gyi?!N^yU?NBzS*1U`~UIMU&nkfd%vx_nS+zV<)4Q6o=E=gLIMIbe_(Zlv7 zxLm`yRGpdu(^0$cog+`D!_TMQbBg8K`SGb<_vl!Du-nH zW`nSd>xOb67Khh&N20Q4XIqKx1rt8?U$c?l;GueK4W{1NEi}M;a-k_?-X)gr0w3_& z+TB5bZ(ZMHXX8cWb%sGYyRPuDiaPN9;_5~rDcr(&ZG1m{rSpUBd1n5C@@5W;yAg$a%@_e`$S&y$Cuht|;CVx)^Ep{R zAV-Ynm$9R6t9AXbMF)+0+!EsIPO`tQ+1rHI-_vJPU{RTG&L-V&%KZ)rXuT?cC4A&9 zU(oDVs~deiMS5whpm+Bk9TDjumg?^-;pf3y!#;!M(-<0rkE6uK#*#^QvWzZHTG?;j z8kJVqv_Z@@!n1Ya3RJ5zX45CRWz^dBklOhs&qWodn7=he53VE1?2Ky7apgU%;VC)U zKlL$W0CNFJMpQ#G{rw9TMB}!_BpM3<|1iiZ)*D= z#WHnNbkxwkIHb6U@y5H^Bz1~gLUfcFCCQs<(8$n1$e~K~&xo@r!T>INV^Y8lk8j!r zcot{D4hYj+(+g=#qtSlP5*6F>BnM05rj1W)Hhw;rExj$v@?UT7aRR_y;SPQ$L&ZVV zgl9~rgKo04>9_r)F%GZ!hU)Sp%D)PB?7&@Mj{GbKiZPYA86+F1hU5rU>7+cXktaOM zkZCnj_EI+vN-=HtH->*HcTo<#qr3@`UhRm0X9l?iwytQ~dU=0M@68R63_ZvmV8pm& zt@+U>&rOO_9jyQ|pkUeLw9JQRWi7;H%-jOspazsb8BmEFYF^Ixebd2#wLD}#@gG&k|znI z@Q-WR%ZYfcfy9XYW@t*4RVNrsW8i)~MR{h%H9Do*_u>2`JT5u}rmT$8wd)xE3C~Pw zWG%mB9(`)z;Ko$#2BEN}3__ohrYT5Y5@TnNR!6)3!EvtW1#Egg;R2J*?Vj?K zBI>zEO-mX)<|=C}0kZgPoIkEg#;zO4*t*_yqd!8E?)d{`QIG_}##GT*OMY#s^&-pn z>+#|%{c3bSZOb$BU{KRMzD};;bT!KCCUGRcW{oDFtVLFJ+X$*HgK%6$z}rll2Gv5~ z)~q#WvT~Q~6|hK>)>5T#YAy_-IS%#ClcYC;w(J2x!mi~^eh|U%iTEy&!Jg6$p*w9u zP*;!omX63&)8%WaTu z8}#VC?_&hsMPZ7|2(zLO6|F~j+E|6`VXX;%%>vld1^YlbAhQXe*%+Q7=c=7x!<+sd z2o`G}+^zxxH?s#Fc;3T&{)jDkf4C2x5A-Zf`TDpq)t|q(vAp3hUr!|BBOsl)1>Tqe zPHc0eh=gK44z)a;5T*_qQsCak3<$N(k1fKR!MJ0Ua4G4HP?{ojhp#hQP2+G%AUmaeeMnZ-M&r2>x(CV00F&1{I}Ve|4Mihaj-YH zvT$=Y`VUtyCdp0#RS0S1d;NGRm_O)eVIj#Sad!R=D>R}Svl<+_q_0S=V=C!k?1mou zt%?;1^KB?$AEH@yw@!Zb`fpCwCf57B&r99+_n8?3praeAFq!l*LyjoCXt*mUfsrX* z&gTxVzA0gxC@WsmKTmc7Hy7%h^?G4O^-h-lEbt>R(KS<#WpJTeZ;_`ua3$qsCOmdU zQtV~)&)uxSpn!rc)%(6|15I1^IIKB?i+xL!xWcUk*7b&9a)4(`>r}j^+jB*(!%FO9 ztItAX*Ry#Q>el5|MvmQl)2kL4YJcD*>jF;gGRInO$96;XOsfv9Lsyq#&6vZ?yR%AzcSBfHYKhY9JWbg?Lv6)HRc2V__fw^~#IHmP(N*M% zHj7 zZ%0>EF`RDj!K18j+5W^|w72YN@ym*PrIRrLV0f`DuE#uslv*BxJ@NBDYp_hfUtvJX z;kOZJLob&Fj8Fz>J!HPz51@wGc^6DM?o>0QapwYk56Tx{PTk2|LM+iLM%iB&r`)P~80%+ZSKQ4mVz(Y%A`y69PpSy6HJYQ&Wxujtk@zHSciCl^^u0fTNh?1n^tKk~+!8(c{#>R=_r0$CmC6#{4QVS`wjJl9Z zs=+5F3Z+Ul%|RBE30h0XH^V7w1f5v_b#0W-T=o+j2QlSY*!YC~cWkeHg#nNJHB3eY z0;2jKu`T9lX5#iAwM#W3d{F=LbZZjmytLp(vFe#4fIx*4nLXMQ(Qs8Z-W2I^t>=fe zWNdsQs?n>^ci60iy^Bxv)|!dC6}(594QJb-`3mH&-}%4e{d2s2RjV5pJlr2YZ*^rn zXYEf->U7`bVH!Zx<9{RUHXsoo?oY9t-H1Xdj6>~Z!$B+DPU{GJ+F&`r?q0Iw4*xJ^ z+rh?;a$*Sa7}tz+fhT)qAlRB3^m*Cw@$w{e*(Mx@^yHuUL3pqjHsG0hjCg;Oz?8fH z3euE!yeKjFf;B^Uyo+k&n|Q2ndvl7!k2-9z`g5k?<=E`vH|EOksIE7Xx*oLQwAGKg z`aTVj7n~Ubizim%E+P}eqjW#1Va^*lh;F)lm?N`fC-!IuDNF8+ECPbFOC0Pgd^{{d z>@!>ic=%Fp06>CV^i969Y;ig}Gw)1Rr!+T@hsa2(ErC(ndW)y@NIElQiRNdm$SDD$ zFgvT83M`vUPzqh6D$Q9rIX@Wm=)v&k9{^@RiL9VtaVi|-yL%O&SE4?1Aw5C;- ze&d6##rP)WJua=X!~@>ywx!IOIORNDMPPwuqnU|pCGNP(tv9@a3i{Fi=(l`h#yU3*-pg42B1d773ta(USNk2j+=~}&- z1jc8d>RucyS3zOsAM% z#x`Mtr6u-5O@odY`90u{xEOkSECRIwwJkM)P?<4Jjp2CWoCPlGLIw7d#-}(l)jSdx zru+!)b@iYqIQoyBB($A}GL_L#2;!F=Oy4qECyvfVIkN~qW9bd|vY=W$wR@G5&c}sX z_F6W+BDPuGOvf*=aqA>&YL6y~%U`s`%m(H46*)9YQWh0>!(?Cz>+w^`GXSf{^C6Nk zwd|C660gfd9VHbg9c+Vvw{Ja`gP=BX^5516c8!C?ZR(wwL2Ny8m7kHBUW~U))jMXo zMPIs3p5@7H57<*ROwdvzrIz5lJW|7=oDOvMvF7k3_W<<8Y2{PflFSN2czH(=nB5;R zJyF*U1J^3+9TR6tH#lAD{m5O~{Ynosp6OHgL+L?;J7L9?=hTY~E#=hhvA8fWMBo0u zGb_oIE7@yyM(A!~ShKn(ADX2dIj74@rcaZ+=qbk4LCd^0y{c~4e1 zciu(SQux?=#h3}s#XvB?xz$qutyEHfinxljzx?{vxi7mO9jK@L^`aLT>6iEkCQKHu zF=W^md6~1-RR3BdR4ekYV;z=fSk3bgrVz;h=cXX5(_VrF0%NO<%`J<)%%f8rL; zVr+z<#YFl+)uH}@$8rWH6qdY6y!8sn8#x1KixxlVlhNeuq{{7qDTyXu*3{ZikRZjF z#iEP`Tl=#+o8r0wBoN!ma7r`=ZfU`wFHX8kPu^vwQO}#(6(q^)1TF{7vIjCvnW)h~ z;-A4~#x`S8qA9L^%NDn2);w9XxTRxq-4fB=^0dYGwAGE4e!{!7nst6T1utB`xwUS2 zZHMBM#aQSj=-E5;#NWT=k&N8y9&r)3r^OqVzVCsVI@=!8wJIn8+-3squITEKxM1Ho z&iA_`uGWW9Kh7_`-#>d0nCBaa81FauMjYnJnhJ?CaG{1V*oY|Ev19hMU^SP2qNbDa z!Ym=*D%)L+*{Lr6)FoQJD4`g=SFlRZ+%8Mz(X7x99cuccS?;v*4Ruk`-Yowf0*C;_ zYD#?DA!*!+S^VGKT!EbNSDYy5`LD!#albm}jS)%e6GmITY7<%>xJ<4xj=5p z5*jRa>6zyyJh*QOE8`6dzS^ah{lPqzFe}tE zSzPnk_a!J%7+U+bQF>G z55#qQ3Onkwlb__j>nRMQn6mh$cvGylvWNws<{=oU z12Z4%=T%TuM1v%!QX6>s3{35FTWAA2N?b;kov!Kr3GfWMbCa(;(NWOs)4KCZm3~u- z95OlR-`AAWS^-c-d?!=JUe?n8;}c8Y#S_Cy5?d4Uk{`ZQjoXdZB9v;4x_R`KKW`@v zs@uh>V=sr7`y|>twYYh7k~*rN8ZaO5x9y+(&_4zQe~s||Rk;42LWurfLWutV7e0w`fu(LC=HkgNrtxbV|fG-Hga8gj{i<1?0r2bf7{F#(zVJ~icFMM!(F@WdLqpp@&_|aV% zoc89mBVZA5ew$=eHzhVAQZGt39Ch4qZMrbM>=e;U?6CXW-1W!^%UiX^BA6 zXtnX`**kSv$<%H8$FZ=plKD#ehZ%C9HvHZyKQfMgUo-dtmAcu=j>oDIVwAKhroGd=T8kdcjk-(>$bBr{s~NpcEy zHFfAYcVH`(l_`_HUxSxHXAkF}h7rfAQ=VM%u%OxtLo1HLaY$D}nwtIkNNcQ4VcBw6 z@p(d+tX_9D!X}MJJA*~3fj&FHq}y_eDD=BjI+x@g0Rna;XF3vKp^E}=NiG^XF)6wj z!g}GPAfF`+Ux55^z#}B$?y@}d^KH(!f0C(7m#g{JE0L&)RYc6=i$awKuVvxEM(d51 zOi=h_8<|*Us(@YU7mk)Vhk85EyO2DZhh+?;Ar5Ub#R#ybSmec~jASNV(R7VcZsEJQ zI_a-h*n~LD@LV)$Qp-?fr;wE`sN3s#7+O;yFX-xdf6{VQtYdi^YKNSy`o3QZ3L%9m zoDLOD5OKc6rM6dwtrnxXuvx{<=g2 zx-KH#Md8P|jR=X7yg!T$QQJtV2l!-vBuLDlhnHAXU!z9Hre zha61r)5u;qnurar>-ee-4%Ytq2_NI2mLuD4EB1ynims|kqq8ejTSmC{H_DY*I%J5;vD?YDsK;2V&B|(@S+W@ASkR!|ylSRmtlpdT(EV457DQ2bOPV^SlnwQ5+A1s=pl z#92125TRX_72jN|;?aE<2lTRj#PAiOH>x|mOJT7;4_Nw)WD(zzG&PKm-s8LeQf)e8` zJv(Y{tX;8p3-G-3eLCgvmal()hd8jd$3R#p%!&5af-CtxYt-*f;lb4B?B*`A$5`~i zsZ*-%mDfLLHSLO!0yNCKn{~xtV>hKE-^N6HBw*gwL{k#QaDNs5EDT2pD2!Z5QX1}o zk{brjjVvE67fv(E7x(yRjlLF?gT}_N#dgEHJM;m->fMfq8wb{|bR40Ce&S?2Nqb0^ zOgVQ~p1Hq|vrKkbXaC`i;k{F*T$?fF9()<|OnF8>2g6{$@GWK>BrRTKS4kuNMio^M zU@CrVxSX}|X2oQQFC!GdU6N-yqMD*40AAFR(Xr8>S1 zSgYTBz7X+tIb)dpthH(DEI%c0Y3LY1I!lR!%X@WG?!~^fe&&_~RP*#Mn8t-Ajy?Du z14z1G2I%|*bwR#S`#qQE-!PP**D5%XHDAClxbc0{3*Gw608H>(ZM8rQ`!GaMzHII9 zwl;bDKgPO(UsGpsq~5K1abQ0Xwrd0W0|nY>|4cyR`ww_#k2aV@zc<{omWJPjfgl7W2~!dAI^Bq$&kFPo z=OsY)M!mt5pe4sJnHeWE-Vh%W%e}ZmubK=Dk!li)MupEZ%AX8q4zL%3N6&{Df?Rjp z9Ql}Nl>LN9#dA^szQAqP=ye>I1=W7*8J(i$@ zmGn%i_SJUWuD?yJQ~)O{g_sD3=HJI@AYb@T^-hS6o3yrz!g_tenjZ>Ig5m4sJi6x2 z|C+y&71F=>jEp6(;&3}eP=Bmou9|zxEa9Ru(PM?HVzJmf!S?F@bvb>D){$4wx7qAq z1liOGKAAH(SrG|u<23KS%>Os)paheI!~SbkEdE**>i=<7{zeorN^&xTf=GVzOT!Cw zm6S6iY%t<=a@3MaXdp1qTWzPEwo;spo5^1sh+jYf$?b9lU`fK5sX1Ov*WE@($Is`u zeSFjSuK3v~*<>oPweSVouw}OWAIa3ay;!xYT!%u?KKKe=#vpYt$UJcqAptlU6&=B> zLAX){>0|7a8;j70(we5tsw7wtPI#VAD7ijHrJ;;$S;ZR)%BQ`|e8)*j99hil&?Rdf zP3QQ<96hx;!(nJ*>l*0B5z3Y)eLj>A5Kg_;ywy3%$%j0<3M?&enB*O^-q5<+wVELl zm(y8wAy)yg15@sM!5FX6v`wq3S%Q{^ZkhDLsPtKvtJP+=9C*0w^#-aNnbITb2#%V+ zZ4RJDhJ5b+Rywfxavpf_FNMhYpAV}1?fEMFKTyw6*YQC8i-jrRGuW`#P%P)2F=2|K z?H05JwS}nKtQjS3XvIRTSW1KEWz%Kb!y}*18Fz*_4~HNfp{vKW8S;E@EM7zwu4PM; zq$m;?2))hoCcd6Lp1z)}zCPZUw}HBTUK_6jf@3=jAq@!sXx%sdf#D>j=@7N+jCZ{w zji*r%X(T1i5X;MkeLYU~`;XG2HbyE#wT)62=KeBLQVLb1@d%oT6x?!X8#$m6PDflU z$Trn>lP;CqRbF4kp?o#626t6!iXi0=e-&nArCtLYw9mQ6NTrGhJw{_wYY8T7(a1?b zxq3lkA^K&5#6OR10?!5q+XT zKMQRM_@;g;)5hpbGt6pG$q_t#7VE=Bdq-m-#(k2vQkGK?m#>Lejj0v);?f-oiHWyT zTbz_+sqZeO?UZsFoSmzozOd)Uqz#E$NJecnoz+tI3Tntyw)JFHD#Ov0@o(2U)VcTW zs2_0nitEji#I}s*lV7 zdxl#ujP@t2Uqh;}p-C%#8bT~3rI7*)5Ldc&Je4iE$===`r2O#wR`Kt**ZSqqZAzM| zUW?VGWnlPhD#m%2sn{ppqB%Z2n#Ad zpHK|);4{KHk_!M?QwFu|tJzvYbErszoAMBymC9ez%a(t6(rF!6Fyiq1PL6s z2Z#0u9)9LF?*-vYIh=^N8GI?M329kGSbwW4FF-ZOq-o=WBIK^?lkJ;j+8c8j!8rb& zc-mhAci^KZ)gOfV6RjXh;m;G)?!(N=4OGHfWVV)=>cB$3TC+@hm>ruj%IE(4sR0s! zZs-6Z)ART1Iq~dT{9!w!QtXe2JW)#T*b( zlUdf^G&GF~glkD2kK}%^8Qs5%R-)^@TlSnvsj_X{nPS=&X@P(XvQZvoXpf)L65TWy zHy?&&xJAQp65K1;KuB2LLX?8Q^Er}x0@PLhha%si34z9HjciPn=IL`gfyY4CxKarB zB)U^6UpMw`iy*NB{ah+yU9JUi^>hV3#Lq9?geoDf7B> zL@MlCzi2sFD!G;0a;+?F8z;AyBAf^5I~4P5Ra* zavET_XLH8@lqK#nx&uwr*fX-Xt}B4R6{D{PQHly2_h#WuA$aHmg;ynv`$CN@<~_QR z$|n%FFX3)$9*(M4zeYAg9oPJnljZ@T&dwy~(3qz*wv*F=>kBeU-~|1hbDA$wBcxM4 zx2Olu9t?3UM`-%3{l3E=(S7tgIULo2*V5_DnCS_*Y%xYoADn~XvVO}~HeE*^|0VEQ z-B2=cD8k_y-?xwq{UMIb7RvfygM3jd{W5L3JnKY)w&M5tpR zZ})O~D-fwiM+V-XVJIrPosRtX0)*yU=bxS+qex*;BBCKDw)U+%b~WksqjKxgdRI16 zlveobZlu?VOxq{I*c#_&eVdEP#O5I-4JqZ-bm&pSi+jgjDaeB19@B#ov-rXWXE^7AN4_Akn@MSU!1gF(2@c^clW?3yiEF@NDpc0s)Of|CiqA zf4)~C^S@MuxRtYutBRZPzyAK`?GLG+%cCkGeNDI4*V8K^(QF~p2I{Y1i1v|aD>5i+ zOQwK*)0@@6nx)xd-lF>gZG)o1(?s0nMa1oiU>#pz&|!3j#=jg-W@m73XJq7L@CgJ2 zd_oWfnnBmZXIVwaSO(K2*p7x7ZJ;uf?C~#0OCd2c>;;BHL-Wf@$KOc)HbJHah@ZEp z!wg}2&jYmLVM`nJRS$iYlFDLg=*0{aY&tuO)5#ZQ6CXoLZI;LeZF_&c_F}Ypb`LOc z*AMLEa4e|-I2cARY-=ixT+C`D6JwhbG$LsuD{lR?P7beFTub$}D!Gd?$Z6Y})B&b9 zGv}Sw@|Y>gQsh-i8iXR0yNcO89|jYs$}0HKB2fj$bVJRJ>#61^B&FDE_*)&3$rwi6 z7YYtk4rm?aC*a%`8JYT$>M{@;e02j9guIbjI}ud_MT{0JPY0@EmaC1`OKl#ui6ps9 zKaK8%`MZ2Pp?`6Ov^n*Vy|Da7syxOEPG)tV?BXf9jf7TTg}ZxrnGKZj2m8aYS3$^{ zj?R2M!kf$d&~6rNw6U0g`BrLwaYmUe_-sWZP`k_HVVhvR{1_CfvJ+fJZS1y`tirk= zm!fl}4q(&*B)GJw@iB9Amb#;>@Da>gMHVzYL#O=mL0_Z;83{j=9XnoBre?z^qrtB& zVur|`-e_np>?*gtuW*tT#Mf1%2lR{+C+Mv!-Y@O0N+*PqM?jGrY2niU*3MJm}ybUI3q=7e6)oheIZ(k|4-U4A_a#yG3` zLK-r2Bi@@Y)aSuwZY=P}3CM|EIJ1;#UE+QVxLD2J18CctOqwL%LUFax<3Jh`(lpA_ z0^7BLPS|$Uo$^B0^*|n`ZC1wK@e08S1RP%i%3~MWG5M=8N(&|?5A8C2bvqsR)rdm{ zn1LWL3X6!#+{NgJ^|TmLOA}5LGlWy<37T1cioWh9S%=g^s)jJ35?JPmC`i$cLJe4A z@iVd?)R&};;W({fpye9v=ihX`=ll6u@jo;^eaGdQkV;AuC_5>=3EQ6yeYb|L~nMS5J)C?dqXHQR8QBq}|iLYpX z)Ov9$DA>6B1t70AM~8~4Aw`T*Qb}T!wjJO0=>fy&HnlG*az}M=sXrDm2pMsthTI^SstNYf z_s53v(UZHmUujsP@hzZ(Td%IX(a#I$bxhi)EYvYF#2~a@I}^kh+0bF(q8c9HZ?)U6 zMZ@NCPdUg3<`_ zquLDx$hFZkY#Qp<@UPtS=^stkE*_F9iU;&>n8x=9y>wB>Y6q$^C^Z!W0M}%lheTFzt86J>&PZ z(ezyR7b(FD;vkx3|DI#EW?>o7+#4N>ucsr8k^$BoMvqnaZ5nE#*2kYhyiYUILack- zPP|XSpTr#P7TXn##K8rF*M<#odHo>n8f!%2puMQNsN80wU8y{;Vq@N2i?i;v`NzIW zU8Ko5M1Ki>vuD!LZw>d0Vu0DfW5<~_3vMp6qlP&f2@qr6U9IJ@;2c9&(50nhlT}#~ zjEoaBZ7DVrr82#ibN(ry}l+XA3lpl7m z-U`ibu@P3mc9V^(#}LbD#GX#Od2D&f^(*16JF~JvoL#M%ezW|jlb&^J;g>HeWUsYa zsH@)B$$ADtuBbEQ6^I<{dufF~Xd8ZZr1;ac~q>)N{vcR6d~5#$UJldM&3xapK9y4eK4LkG1~ZE4?OE7ai12P+?H9i zi%iuK@fn*XH{l8=4*tGkmK0k7zqxpajsmR80c#HuQnR6Qs?&T$BTub)sZ3zq8QZEv ztWmr@Jj*4aVr+PUPQ;N>0QOKqd+6vzJutE{T+^ui#H;ub6oGBcN9d*G&2jhgOh_PP zBc4`4O=ex;BtP`E$iT5vW9!u0a<82T@YoZn*qbJ;PK#bM8_qB_d#HV~&p*@NklCs) zv#FdHzSl7$7+PJq3U|z7)tPbU?NDYFCnV04ei7D>0eOnOQg(&dt?C6?Qr0B?TxE45 zN1@tJ&3;ZZmU!BKzqKpfQsve@qK|x?*G4r+&E6?(3Fl>PU)5aDU)D{`ooq#aGE_n$m&gl-` zLUb|J7LIUVcj9~-YXInRjiFeXx8I$q9{C-+2NO%S3+#Cp5zefH`Bb4;@4kT$c`Z~o za-I!|wCm0nbFk!((^goMYnj*bC=vR8`ta<(jwik76Pg* zHncl5w|nSTR29OfSej;54}e-0)s8u{AOR8BmKXqr@0WcbWsISWM5fj0)(%o5x!@u} z-&(em?>Kmr!^Dg^hcL*jaK>uUymLY>9>sO-8wVR37sVy=Nn_=am^)ZDhEn3Mj52db zxA#CJuN1d~^xMS?evdhOh<+fn;#>D_7x>XY<}TphZAfn`bS2+k#JL0p1SI~yu^}Qx zE@o2pE@t*FR<2g=W-6}ER`wQuO>;DI{*T_$B`WLo^MXix=eipZVSr|MMOAI-{0=2f zKOrh5Fj3)1G+^b*9*4x3)$s<}^@aRG|1naOw*Q1AJ~9%MEn{OJ*|ZLsWq2Iz9}brPlTL z{a8C=m&sNeb>ej=sC}NJLZuI$EJR)LO#S>(&k0wLqc8TT%PcJKsivKW?=T-hJ3;WQ z6W(r%-PL;#O0K)!3=4f6qMZ?ftrd#4@|Z}YXxltL<(t#dj)to5UZ?Sz(V%&3Q48xOpYh$t!$-+W;(4$ej=Qy<4_;4 zENB=LwsTqqT(yY^WX#>|chBVZ3aJnrZWJ2x1$`dIpm!I}i2aDOu0r`6To&w-DE-hG z+*JLq=-kqRc?mJChYa$93hvpd{4A+d4xozhAC?Ydv+*UYH9;4wwTTX*K-I*EEwpR{ zTwbClWUIa{?t!8<@9@g&Du7zqLt#`u*GEoR=l_=qk*apBV=)-)(zIJnr_4(lW#J+ z9PTGxAis#e5T1m6Fqa2%*>RjQDs6W$v<}q$|CS2ppv&F64FLpHj|>FF_rC$CjJ<=0 z{Xdo6KYvkiHF7okCoVTNPyZ2k{O;zs3~}v4q0&^0o}1&?gbjjHml3OI2Br@}ZzIN@ z?{_VomR$>?rMdbMp1cSyrYmG81HK&Gj`s~ebNeDu{yZ%^M;_Sh`!JF9eD!PnebZ;# zZ|wTp_a6VJcr=6}xETceItUag4Kc<~L>d)>1LA2BPDC8U^^9*~XlMa%vJ+rB0P@dh z{an6_FfA}x4pwr|azR4Ick&A;Lw~#F+HlRg`0Z&LLbM6xEFWvc72*m<*4Xtn%hOY>Q)AK$$Q4htk=l<)3TxqEbG-#i2h}H zARD7lT7g9znD@sB)Y`z8RLucZ)}0l58gp+!8E0VT%ukV45(~gtvaoEb^6SIZ?bdZF z)yy;Zv{hH`2qKBy&?!pPj>_sp3bd%{KNuL-Z5LH-gITLa>wl@a1Zx1C>rmGgSV&h{ zNUqJoL%KnbUf#dsb2~b4bI_)7Eq4kM!YBw*@9Lw&Y+eb{gK%Ip%M#d%&ggNTOw zAH|K^9ickew=1iU^nX=96zGK! zq0?`Z?IFMjaS#>-IWfT&35j%_BG}UL+v6a(n4*rT8yUyutaJ5EG%l*2yoj3*b)bkI zal;!V_QKy0!cMtD_#nwnuw&#!xTEwz6d=ZEV5MAcai;o7k7bVHPcM4F0q4sc5e_QOwf~o#o8EV~}V;kS^G^ZQHhO+qP}r zwryLtZM$#Vwry*BW@2M^ZI#E$SPO7phPF3cYy9@>-_8IhC<4x4+3W}3QO!ms=1^B;0{uxc@v}RLCb#7G}t_ixGKX&Zy0Ql z!V;>T5H&Ksxg*?|Zoxc8VLBts|r3toCBlododva>7>F4WzbWsqV3Jp|aAs z(*`O>(b$@^%s@)5 zl)+!t2V@dx{FD{Tg_!zM!wn(Q#QPCE+_JhzP=pYWqX8^eQch5i+SQOu8-UK+X{ z-CTz7wdEJ_@$-kgP9#oF=_np$WPF24Tre}0F;j8PwPA|&zz5BDg zdIynBZ*%5urbQE2)!DwiSbYRv+R}*2iZ>Qu&nh@}z+>6Ns@;VeedM#YrqD(JWa{#HFGOY(apJ5w#2tn3p!neK|q{K@h`OUKxcaJI$p zJ!AI`{}!4-*pw=Y1%8vu1` zE%&&e6n1;{Q7`L;3)pu26Man~++hgS+7=Hqn1@Ady%%m1gDjSS-G&GxhekKAM;q4GkLC+!3C`=?FW_o! zAc}yd1AYoToc_+L*%F2glPu#gy6A1!bHL)w-cjl;x4|ObKKt%)2_jCk*W3tA4N+;k4rg8UA8`H7ZI z>uay^_!;Ublb2y;cn+xYkl2)D5xq?ahuYzFYU}psl7`r9A4Ao=T6P|O&rMn`I&xaJ zCTB}jbS3TaBPZt2dI5Z#JoByX6}<@W+&L0`(H1WfMcja2TV`L9o83_)RF%Ef!v$N5 zzkv2uVpXa6A4pOe2f6KHX&;CP{=If51jpMJ-KPXe=BS%MS+?;ifWC8AAEnv8zE~Y$ z3}S3U_NMuk9VR%G*+b}+O)BrUw1EpIvugL*7ZAVm zrpYvaIG_zuM9FqAaJEtJ#$EL#x;lnz#7VvZR~8NZSiN5B z2I|l98@<90-v-2thjd<|fG~|WQN5d^_6jhb&mnbEp=m&nMN9Lr`a;>N5RBDgal8JA zFp`mp=NJ*_hsNCh>JH^AhYhXdiL(!pwgoOO$pfV z%HLFA9j4$54UbKwtUEKp#$pGu zTkiaBz5wHHODz9x>w`U`uf+T~c&h`8C;4l$t5wphP5&EwsN=kRwLOcGlZMN+m_)(c|Q} z-F6Mg8cwO8birXk3#wIb`4_t{s}J1n>g`|!#^xZnE463 z=2y=AXs30o$j3C%MimA{aK&}Uow3DC0Xa2x4aj0_j`6Cr8q89sJv%pSggADnx_?R`il)zd2fLkC8QL`%$0oH?*ep`mN((lA6n~h8IR= zfmSYJZc%Aw_Mi#QhHRdr_x{#qyLj@0=vGERgZT>vpn1vN%RMS7`HE0ly$1Fo5g1e# zYdnc_%*}p@czYghhLNoGtv~i0ZgP)fw~#J!j2k3>)e059f)Ve_eVUFG*f`3vi4qLR zuz2ZwU3qeVg6H^@_jBaX-)oO^%d!gO*to9P_VK`K5ciIi{_?az5z_}2H^kp1YVB|l z0*q-+1uIfmI|TQ=8RuPO9V{zewqWllXS(`}W)~oveL#%=C79%PYNYnA|w?@z?Z4 z>hbQA?lJ(Oj*r3P!!a7>%GAtIH1Uq5U(?ki?1(%99Y7bneCnapuUwiZ513C%;#SL8 zi=LIb_7#7C7zCXdJUthCDZxX$Nhts%L7vz50@UU@;%oA#+LlA^NEi}q_c|n0r>;vJ zN>9goDbZHMuN8~{Uf^QCw{$v30+5a(ThjZ_{_BzUt|uM z%Pe`G$B5A6&Jpc%-KUdot`w+5S*moWV59O9lv$erF6YTmm%h=mrsr&RI_7)ZBp=Bh zy;iiZ{I(~DLPOXknxkY(wyX6ie};iIE&#{SfdI-LkrAUwv+~*6UZi|YMCQL1=xsa< zEp)YzTn5iFnrF5BedWw<%(@*ZdTV<}#)nLa$Rp|^=+GPUs=2@gxGDZU9Pgfm^bP@Z z>&qChBYT2h<7=L1)BgW3y{k7zByxv8MkRP5SY`UxP-R1i7x&m6qV8+d6~#^#(ugO3 zjknmoYZ?#!=E;nhHB&j+lm&1FO1{5`mf8yIGEnDe87q5=%0&=h8kk)SkEN{=88a6I z%zl^()eKqYH@xn$exAI{$G?-^amz{#b%T&|y3M5WO_p$jqSI{`z@ZQ(z!%E$6UE!= z=V#r|y?n47Ed<44QXp49WmhD|wm=N)d->YP5AWpf>KsPU;|Q}l9$`1a7G6iS_23NND5(=&CMIJ!5q}PgJm@h`f#AbtQe`D2zMDFrPJrI;2KS?Za5wc01F+o- z;!ardi|74!@P7Y!06t09m7C@`rD*T(DB%+>duv&7FGCjWm{A6+!90K)u7ED81Ulb!4gHd`V1HkZr)m$p60I@d+VN z{@NuR$mR}63< z1wY7yi21I4_bYm<_`=ime!UQoVyH=IP}>at%30!z^QIifu!R9W4&&1NIFfM8_z8rT zM32YW+)@zC48+R2ra&+(=Jf4%H-3p%P#RJ!@1MtDVLk-V_TDfHOM?S459=V8&eE+-t-5u_q8^bC8$Ikf-ntA&#yG9jtL!qKHd$62OCX>7d}~xf%jA`~ zQ5$*~Su}V7UW=okIVlax7AaXU84sKZ;bwN> z%s%=u?Jv=FI(XuNER;Q1-b|x1>xXm_XLB>MOB)b+IJ4e6%x8))&x}0< zuFQQpRE<%jf*Gp}^K{wCZ?AnX7Tu%pBQPHQFs$foS2oVm7P~WQ)(b)$1 zc(CLcv+#DLb^%XCTNGs`U32%*E(=EbThsf#J;+=!uq2!gd6A6(p33j=h}+|Q;0=QL z4C0WpY`3)~LM7|DtryG(xr1t_Uo$9V!N`AtA{WISVzd>QZ^a8Wfm?Q!Z zHIIuJWa~+4#XGMw1T-K&b%Qx0$%oxv#b2=S%Vj12G=S8a0ze&g#tTI1}i$-(T`j?lBq^xEVqo3_TGA%i6k< zbe5U!9MX~|e)UqjkaKlF% zf92mUe*G-4gC*_J>b0jq51=(F;OtBD;!C>{_;X&>$;5nHkcUkpWQV#|22~>@Z02i6 z_q(O>I3h<{M|nG`PXV1^&=w-64Q$Y!Q|~GXUmtm=b0XWM0!=p1mHt9MeN5kzcEfTY~`r z8NX3Szh9zS=11&1a_AdS#%2L#kCg%jD!Y1~R=}0tT^!B8f>4JTH?`4w4a_5tzsO3( zd%~_Dl(xNZy&0n=vq%pB5TY_{x;iJJ{{~N{!0P9vy*vv*7nbW($3_i;rgF!xW#%U#NG zxL_ga7kMY(60QJahi|P{eDA(4u_51O#UYFF1eq3$h~NiR5{SoF2u5}t#;AsE0y}%kCO8o7z>ta`Sm74>+m$0;HEb`0+QOK>ti+))AgrcU$Pq>$FaQW)Qvq+tI z0*|AnAp^@~^#ob8Cpe=QZQN6@3(k9YWvsJYbGhpuzglC}qN7DzdmEeHj?_3I) z+FvjEe1!2Am5+pR>sa+|%DcXx*rX=@e!@@OMmdfABkar*Zd>7mN(h*>skO zpp{0%Ml_TiD}fdh-V`K+@UdKzL(mp(L7b*3rQlfY^n3{8F5Mc1NAM_%(v0leKm|~i zRR>$x81_!E*C25jj+<-LTN^;Zf%ZSB?Mi+#s>tP2xKzbZ{j~{hVUV#I?uGmGLH{Je z4+`5HA%-HMp;i!BgDsuWBT!%AV1buOlb`FJTSgTPDHOi>6dPR#HS5}DELWZFN(Kud zkT|Zc>+|ckPh8&f;qQDo&iMc~UF4GjGy)Gx^3y8hO6JWrZtUco+B1?}_95AU9<((j z#cagUK1T0ytuM>H;~isonEFkT5ScC#PwhTElT$fgX#33psyJn)Mv+9&W@a|2J+++P z9lK)$Im@K)ku;jmO2(+FiC5WFnKESiogzH#)&w!?wXdJzd~(ccF3TY@;N47W!2!~prj9`3mMj2#iONrSI2yDs1ee}0^U-=+&haZT zSt4B_DmSwKf+Tmly5bg*kY;+KtTm)MSw|-a$y3FtFCQ55Vm8ub9u36Ynk~~h*{Ty^ zy10kqh%aAcW5BG<_Uhn0Fs`(9R&Ok^-YQ63lqzAM7>8T+WZ~w_z^r6;NKE`FS`7s@ z;fkIy%CapZ+DTXY#OPB|#3R`O5Nl<1%0_C<&dd9=b8g7;hjjrxx}x!~iA}ybMxoMf z26#>-QgYxv=OAF>p8u&Kuh|Z?n!SoE4;*oKZdQRA@ZiPATM9N#Fnmx!!4AFdN%Rp$ zn0Ya){hAYCm8IS)F$clhP?$hob%@+(^oi??8pOnwPT!-SdJO7&1wlHb{r7x0;~k~s zM4=m74sQZ>C@p0DNmLo% ze3yp!j(i#-B`|7CAQUGPV$HsL%uuX6^?XJQd1I35+Hf;Gbh#9c2X)4NyZK_aWkEt5 z0H~7eXUB=}n@{OmvtUwJ-?R3q%zZt#nwA!D>_dXW(9uYq0I6RT!vk&n<&>a1&;@QvLXJ-)D^AxckC>NKBZKDH8sOQ`DA zG6O9(iLIIZ;RE_NP^EjG%T+=@GdF(XKp2CdD0liigYbh(4e|G_3@$(x-Z`E6NeT+) zUIFwJrw~Q6p>`tp8U+O!gLW1{rP9fY!jN8;wJ%-ET&;q0OjZ=XjA}8^+GOOg$Z92D z#rGB7;2@bzjU*SVW=;5$t=l-%e|Sp@!l~@Kg^)6Guqaz~FZD85MYo4f6C>lrC zX~%q+tmdhinSs|@H>L^aGDCpbX}6<0nuiHup&I_Il6Bt6TG-UGt$v;G0y}KV(kdy)` zP(@ZWc_|suvi>!ix}d>r^l?SSKwgLzHe~9laGpJ9qP5HrFJeG3&RkUQGB`d}u7}rC zo3pG!Bw#y5t5i%BPsOe^w)!4BygSisk)?c0Hk5K>#vW^B-=DF#j9-h4737Y3ab1#9 z%4c_}IVT1Eqp5!&;ivW_3#-0+pR8O{faauM(JL=NABi0f-zC%j$Xpa=Ncbq5Q$LZx zM81)eR(h7Z5M-a36CBSZl`GZt6x`|;u5<(kA#|0#rVJ(;2JXM^;7Vtj2c(4BUdF|! zsS#qHMZ$DG*h9NUI-H>pA8CAoUJ|?-48~AuwOVwwM1HoJ?e0;9WOsNx z|Kzl89HOx(gi7_xP)eqXnyKC#jvKoi*GElWb`N-dp9XG5Ca7ISB=_urb&)fIK^_Z6 z8WLAEiG>^UpE!TG2HGC9>cDaHq)&}L2U+7X8;qaR2Mea0jmIWu45H%b>}*+8CGQq0 z#rR*as=XH*53QTglBF~?E2c(kF~Y_Z(_KUbgVcj*{UUw9TILNK97+a>{AN?EE}-q4 zL(j#qu<{Y_gx?#1ITdl--KxRptszgWb-hJ^ns0=6AEv6|;3=nVO?eD_(r+d&(2T6*GQuHIy+YCV7|qLP%~p<&gFb+0Sv*?q z=WX~L#gbFY%XOPpXH+Gjc(1Xb=0?6CMq-~33uUojhnecvx04{$4Fw^WOI3+y(gq!9 z=F#fy+On**uK67To@I8Hx+6v{?S)|+WMYTM4m1Dt5Bg*Dt_=UcFx z+%8GR6l3fV^G(-HooEOQu+<=+g=|M0s$UXiXM-$N6Z!_;_X!M{UFyJn*Yj)sN-$k& z{qzJ6sQ{OX{Y1W2IJ{GyZnRI;3v&lvD4>C=4-kzcrZ7_~U;f4or6%A?-%>?XX|BWg zh^)hxv!sFx6$dp8)B9+1*5TyUZ4J#}x|QH$N!~ErSa+uy<$+mAb)*^Rseo;kxJB+$ zy#ur>*Dvks8+-Rw>{4k(;%Z8wcW^FZ&ENDW*Bfae$4diE>(G`bk$lyKAd=^I;aunOn&`|v)2%kJ8^D;bXQG0TC(tQIX}(O4 zcekh=5Q&!=^L)$UDGmJa4dVFX;7K^&m0Coe`DZ5GeIiKXfyvsCMgu<%!iYlDkW5|k zvD3h%tN}!MJ>VG2VmIxo@Ep``c~mNu@QlbypCJ*kK<~-j4T1=^!FnXYzI?j;CFzvA zfx$TDNgml1=f<9+=IC>7*Jdwy#>b1)IRbC*wW9`13Y*%d19`I{xG+pD$J+%be2YSlEwx{@}(@cS>;v`~&8 zNYP#kd{$I%-(UsEs}VD{$9asl7j1v5+>31kQl&P-!dS7z3IAw$IXuis6)ECaK$FLK zG~CjCm9$-{c^iuuvX55KN8|kz$Gm;!o!lt==lZU^bEF>xj`iqm>j*>>G>Rn{51pkr z&7?}6+@TzPusZ_M+@qb5HLf1T}E<_#|kvh9zbljuu z6i;Qq>0gzRk6EYRV$W&%Zpz_d**$Wp`x9wvs;T{IJWZ)cs;cwd7!6g&70#o(qbzoc z!tPL^C@TbV3Qz$ZnG%B`*_+A6w4#v@TSD**|2B zkAeodq_ulmz+hw`C9}N4cOxE$Gs6+tbqk}jvf6U@3>KYoJ>Jypiq8xKuFZdKl zOMVI8+#3@?$g1SrNohSUZQaY5Gwly1zR_aKt3kw_o^e#Ic8Zo0WJuMT&spu1^60K3 zKFW5J+H?M9uCL?^AFpCewHmEe?t9u=_pjuhc|JQ<=G+)jimwFN>;elmo*{*$%lbA1 zK6Wr^WFNQMi+ORcjxSC&vI4Zv-K`_EvCR%+r$Af&t`(o>5sW;$%QfK=Qdg^znqc)< zf@80DVe!5`1%71Ns)dl*|G$1}qQe}!~=8z->hZldegmNES)W!e0=+{1zLs9eq z&5n#h&C(O#sEasfskQ|(!MYI!KN-T1^a}fE7tk<=D$EzcD84%F&$xv%_ifVd(lNn- zcFg%-6`b%4qeTMtu;*y&8pF+ir2U0g>W%hs%KWTlHEq%+SisArNxh3drJ@PwcEP>D zn!W`lq19}46QesLOyQC)?`)Kp(4}zlZ=-4|5lG|K&FREBs}6PSz*SCtst#)nG2*y9 zXcW!r%=Tjkbkfn@U5VFV^B>;L8H!pZ*u%z0PNVD@BZ$4=woIJExjuV?_hBMdg3KAHdw3dLH{l%jMCZLUe%(1wjY1x+;z9{qbi|0Eu$`F z(L!mp$-$&i9ABnnGfX&N_hClId-cdZrO6)R-To)2$Gg2S>*YZd0{fBVj}Zl8oT5yY z(5FBZ?BB3DI=bldWkv%gDLJy2*$?2L;X~T+qS!@);Xq)oOw}_7;OlL%6qTZWMq*0G zVBoc}VNsYbU;XNF%u*#sI4VYLraXjk)J^IOq3h3ibMN>$(|_@qlhUx9t~r*9CbqEx zsF|G5^x1$DY{CdtgKVV-)9qv}2MoZFJFz~>5%JzQU>f6$Q@87F8p$(FBqKb6ldi5b zMu{ztHYj9AXCxq*RelGMHh-;RydxBwt({5mlAF(=Ys;etc z3ECH_eLSaqJ=oST&uwYG1-l3_fxFh>h5|XE!-4B{J*Zjh9-j?=AnfCHidK`K0~5eK zo$gUx%S4?PAzW?>9lxX`VmqWJ=8>O5mR{r)D}l&gWtH2#sZer}Nl}Oha#94TS3&i# zI@vD%3=pbE9n5#nwmFeziOw&w+5yDS1)6BbLa0lS3X@cL9xy0AeUkrTk7?aG7qQqR z<>DuZvnve~W6pEd((Y_eT_bvqb9x>PZJQI>cR2UW!y2|xPTD8n!1iH2oRL}U{&61N zg_UlvI7QMxx6PeXi+>_iTP^BRrfw+Bc??{oxQ(P*3-4Loqu?7OxcS!O=un4hd&K_> zYaQI49ermIwzHuL75XHJZ;i9XhQMOP?1AR_ZIL3#SW`ukAPUJ_z+Knh1ipH3dOKPb zeESo6NenYlBj?dtF|VAJI7z%zk*JnAgQ%+D(5LS4Ky$1QmY!z4hHoS<-=ic&S9u?i z*nafUMLTWG4_F_~=f>8)#2IDdA68Okj|7w!XLG)m_rrZMbR5VkTjZ(#l;J7LSQY8o zXm@i`LG}q8Q4ySI?=?7^+ZrIgbnPcQ4vv&b83}AIL|!+TV$JPcwu#OfU*f)|jbF3p z0Y&A(n%0z)gC$MYJa#b6MB)5Pzz~!Qc`aEwu*ZGZ+vl(o06(h}@zKlnX zT!UuH=Q0j_^d96QBJj~udy>Unw!c2vJsxT_ZljDJmdVavZ*_BhsZ29mrAoLS3T*p0%88d;4G(|2gIcg;Rwj9j3*F>Tj9F0 zj|X5`@};!rxe_lM{m?r%Mci6;Efo>J1zv(7{4uuPv?WGg^^JIbP!4tPhn0jq5p^*$ z5o=X3qxFbYGfd^#_8`b|ov3402~+y@3LN6=Rzidth?1jNrL*y%77~;HWkFF<0m;fg zn?>GIoBTq@NSk%`X7)8)w5bH&>>CXvXWAR)8*^!#v>kBWGFj*Bd3$0V0{4{Zr%i}L zg&N)m$BAsIO1S0Uek|%Os0*x8XKnPVNoiqoP!(+Ho{Y#g6$K^`r$iCG`yEMPGn&tW z7$;ty`=WmufEcTvo6+KqtGGngqle|ub_AzMgy}uP{Y#09^aQV{hL_fOQp@RxgNsj_ z?TZi=$Klse*U}HoS}aIIaYu)(-MaO4+08hc?~(~Ds{imwQtnq!vmA2dDf2p*nluY0 zv)e>5=ES5K7Kn&5Qt%_5ip_D-eN3xeYgwb&3kOA=yrYb2dE|j0XS*MWZNb z>7o%oKa~K1ODPR?SQvI*Dm?puQZDJf4y4HsfUg&2IaA8q+D%0J1X#~ry-A5X9~h2 z&ahH4`=?}~=JxdEolzVZ1j!T+vb_}8nvK3HCX1$y8A~$X= zp+wdA0IbOSr)2gG5Yj^~x>CKK%qovydO}x=wgirr^9p)GDSv*LntHJ?P9>PdoMS)L ziGD|!lQX8}t(!&BUuyo46Wge{BX>F-Jcrsor_QAB6`s6~3gTxA@3dW8-12*~luL}~4r)F$kF{va%`w|5L{IiI3oc(OC%@4 z{J*PJ9#3X%e(VVG3EOd#_-8RQ z-1{4XlsfhITFnG(ufVX#u=4$GIhZEa!7#1;`~Di^$kO;Ui(`-FCTJrg`jwg|O=1;z z?0u1eYe;Tj-bjPt%_rs;k&)uqd~3=(cSz@pYOsbKAY5&ivOa3OHx5&o5GJRb9^%(W z15Hs6I_-oCnSJcn|Jp9b5uQcx3zU_kL|d;G5Fv`BsTBLJ;@|8feI^JJ3EE7!gf0{J zOc_#4vUst!>AvyCY3D#&%^9jP1$K2G+1^V%V1gvz45D1hisVS=P0t5si2L;wvfPNl~QFh$gr)OB&;yih|OYf<`I+tW1R)F(W-u z97Ru|RgN0rz|2TNhvLEM1!@S;6DY9DYz7~qJV9m?dAvCzLajFSn8278W;5{xL09f* zNHhvRnM4@EJJkZY6Rt&X71$%1^8wO!%;h0rkJSWkOF7(J;ZC>&0(l2lQ_vz*v-;JI zVb+=sTtTq2yZK#(Y&+po$lZO)leR=Q6AqP$F6FG8S0F>cV&W43-^-@^EZgBv|7}gC zy8gXUX>+op_3MlO#h>OYIs^w3&4PApX@tbLNcDNS%F*DIN$LnU$kQ$f?ht)?#r&(@ zy%}J#ORii!J1id>Dmx-ll}9QvAwH*KxDDC+!uv#rx~BhgnH@dedPzAmZtzK4x2jvX@P$ip_8 zwST>U8U<=NUT5V;^)I!QN$c}A=yN?t&>p65h(ASNJE+2c{D<4j}lWy9#dTp zTL%W;@3W_e96lh_KlNQ*K`ep21e?UZa^HFm9-$zvhL@w4fLK;a;Iw&B^0X>>H*ObD zt(^n?1qi&O)wqiwkr!h2$}7E~sg8B=i;$@d!t{#|afG!VU}($g1*9jIacJ|jjU8t{{I&)C2Iqu1Sa=Kf^rlEQI?^m%zXhtxI%`{l z#!r>n`Q&Gth#@+L*#bR;gank_THcnKVx8Zlq-{1uMbvMu!;nLz9Ru0|DN8wBKO>en zu!BAd*EqLV#EQC=C8Z<}K&>ulUAgnwmOAWQZgK5Q3B(7s#->3Dij2w0C0(_%nU&!^ zMF#-}E~crr?SqKhxx}F}P=UfH!<`+@Nuv3CfI%uLk_jFq))fgCIZ_HU2mR5sGVacd z|4&j5W8kV4$KsTl6WtX$B2-zm9pn0O>QN+3>Acny4&17!9z#vn^b1M38JWDnU?~VM zt>1kNs-ML3z)TOgIX&Fl)Slc{@+6Q3;fvsv&?L@ZO*=x_*AUf?+$0i|4t7YP8o z1Ecv+R}dr-{g5KqZF0H!xE>fIrggS@yWsHS(I#Q8PI%(w%#uhYJ`Yc4T*`j?kdqX^ zvE*yHZ02tx_Gs_R*~Y%U|8hxDV)y4*e^S&DTa4^Osxwg)O_0QZub@SJxkaSQy*S@l zTchKUL~&!#MWWUBtcSi3!Z^*YH0V1EQ$~;cH_nXB)$P@(*UM3kD-@p&N&%}=uGsFY zw{@}(qR$SZ-Mpm4!O^J3cj=tq-KHt?rt2ANh=aV`sK_w107w}^30I?yzNp#MC_NPC zEH!LCht6>(etIA5Z5elh+Ast|pUd<{k5PnZTT=riVkmL9c|Q|lNW%l39pXezu79K> zQVQgq#eVpcyM3kgz2XZ=8NjOaMPtV7a)3mI(%?3ARVVC8*p81J3o4lEG$@j%K1FKO z7CC=;=w<7J+Yd>x<>t|Nl9kkpp&-fA-QSvmk zMff-CPjdlSj?t;ofzyw=h|epoNfxPMl0IZy|CUJ1Vv?gC#Vc@R6e@u}2vlM8MVv9t zdSAyC*Fo{+8Ba?WIhOo`#W$Uj2!Y>v*>Ctt zr+>HJPMA);?T2RwzePVk^920AFu1feuopNoF)}n(xxc8BP+*USRuA1P9Wf;{xl%1l zcTDE`31dBwdx^W*yt~Q$w)|i4Fi+!Lmk0y5g~UWO1H^>XlCN!KS#8>NwT3&rX?W|+ zhk6cM9B`{`S#|>(`9Uf0mgX=Tg$(fiYX1B?I`PRZBzMbC?vrD(xe1z`GbwA6Llf=S zt@N=hbcs3uvS}Y#u__<{(%Tph_*RDYoqkUVSIsfd>)z4S(2+{Gk%nAPe=I`v!0Ma}Dd{i5zCO0sRj*JLxwJb<xpk#wu3& zmpqt&6z_7AzI+?dnDz<8@P{z4k^hD&U^++S##*|>#+oMQ#t-9@ZvJCl4ps2vZo8T;KM4QPDB*{&E+qf$Kbl9UFZ%j3jMSUjd=BgU z$Bm#Im>SwY@_gB#TmR%gxs>en$&o*I?hNZcF?aAAQQH?$9xBs-~V)9pK3q1x_fA@z)OCM<1K|sft9ghwWZU`1#{_@gt!6P5Y%S_^8j&@Wnq?)LY_P1^f-&?dGqF z`bm4Dt@vA1#PRzAsnK3@=U?l$P|}1y>GAvWthVGo{rLOWI1s8GED!3R7wFIJpB#)` zZE1Va0YAdoo1Zk3RqZT$*F3*KlG|RDKrid_8if)1Q_)ZN226X}ZdB4&(45mBrNZ4E zv_JMv{r-Z4*Zk8kKdq)CS&QrX4AP%7$hN=Q$Qpcu9vT1n4b;~LwtqPB6C}FoohZ-`3&-Y_Rl%JUtZmi3DCEg{;2Wg(Ekq5 znHV~`*cjTG)7d+j(;FEYTbn!CyV{xPo0+;8ThKDnG0-v78`_yT*;|^>+gKVo)Bk^y z)cl`C(%9bizaeY!Ka;GBlcAlnrL&8@le4{<%YVa#*Z+@PxH$h`hWbxC{U={201yxm z|HC|p{$I+Mt)ZK#9j&dYi=m03iy@tdt&MNIEL;!+g4j!TP+eL}`OvU}JK6OUfU$Nm zM2)5R!5uA>RJ7yUv2W5_;8VBtLe^b@W6M90>BdEkBNyX1)s`Jwvnm@}R+a6!ZjS-<{Y#ij%PcP<$4zf|=MbgXnN|INh6|KEVS|6wB2{wLRT zhK5db&K8D@p#6Y|00a=geNqfOWR8o1KM>#c6oYb)!k%e0?JS|@F^^z^giD|QVUh(o z{Y3I#ktlxKe=Je|@7|F2zq!!1CaltpEbQ!TQqs)Q%q;AzjSLcu%q)_!Qj84JY;uya z^(;WY;(yUy$n?$%qfCem8vnnuMv$3dK;QTL&mes&gnV7fC2a2x62Ub{# zNQXs7(^3(;O4((OFKw%Njyt6|z(_fcys;y()K7<20jX@G>)Tm)wbnvYq zpRu%?Hltt6?RZ{;2O8Ldy~Ad`Y1d7#; zOxrj*?8IGL5V`bvoG<+VvLOjTT$y=HK^JneE20RqgLURsGJ5PWCGM4Z8Uc zx18vfiHNA!QnqpQB&S(PA`Jxw76J+i3IYNG8d=d# zF}5o_{fws5V1{z~pK2d98IqPv18XD(TisBvA`956g$$L66@qmvJRo8+2?+%)Z=^LR z!v6z0K*hi0^!w46?wj{F;~9ysbFpSQM3*p{{acr>oU}4@{~%Gu^#}cWwYxFrT*~EEn8%5 zu}R7+Yt?ed4P3s>BU1kff6B-*Nh%2eeo-dz^2g8}p_m0}285VCAHC$*Dq|dI4iv&CK=hqfEBYrr3c#o>Ej*n7Z@>E6GAa zF#%P0f`R}6sel0iDg7((IDwG=kANrc?CjwDFW^g48dLybM$2VrhzTsB!s9bK5GHpr z;WFlun#;81gWA_mZ&GvDS#*!5P1-W(kXq1-s?ojsbFmhJBo6aapjuPh7= z0g3>Qhx)W(=)gv4`BOysAu^mAO_qx_D$c@{kDMy$JP4JIjCn=;=R{8aoUc`mHkn!8 zLd_{6V4_LeNnQz?mKyHf_gbyyNhs?1vaio#Ko>;!P!cr_>@hbQs%_C(Ud|z zjMGE4YPCFUJg^}3d}Q=XC!v5NsWW<=-edha?q*?zT}gsmC}+?5QY!eczhYb$E3fh1 zW;zc(Be#f#wKIJ%%@j`l>*= z<85s;@A+mD{6XO+X}-9Lv-6H1B3b^ zjg~TY!BSCaY3pBm8%!II+BWz0rO8*p*IsQD3M5;>$0@&4`_sIyT%QmFzvt$B$|Bg- zw9%uJE);?M(~LWC-$FLb^PYi-{V8m!rX}atl zR0Q%2gN91Qpp-9EpFu&qT_Qvs^ijG_Jfi^cc&|vhblbTul?3+<$=E$RJ8o|ok&>i(9X#7^#766)4e@@oq7db zs6qGgSIW-u^M$=dK3hTgpxvdIi#SR}gdIwd@~F>nz|8VnlH~tn1_;(YQiAmik9$1m z@$AwA6r%}l?-!~UI#>2vIf=erqGbS|mVyC0zI_owg*@VI~>;iEtIrH657tePR$eIR4}PUNM{hI4`ej zFqCkA+UqOl>8*Q8>Fdh6D*Fg-6@U3DPPjd0Kttk9P{qGroZ!fx;v-IitjL62s5LFa zCO%`jAj9INgIm9`gl(-iI6_RJ=un=u6@R~wZg+yvTqlSgwbCkdIqRK8HwFQ z=aNSyO3KzIeq6d8PYC<;jT3|E)HmU zalVg&h_N&KXgBdCGksF#^2%=ax{T{&r-(P7t;A|pROAytSW^aH*C#&0Qzf2H!mXsC zZ23y{&G3sSK>U<)Fm-*~j@8Y7FE{azUWDcEBU!E9d;Ih`V_)LVnh-Dhr0civ;&kXV zOmNesW-gSNl6019xE7(XD9@5^2E2sQ8m+22>Ar3i`0~TQ2HLVxQjVqGBzKVfwuIwq z%yi^h%PGv-uN<54G9x4-5*wou1L!p+YmF#bgqWE+zY%)14zx&K2AE@frcKQig|R_y zJ4(`M_V}wMD_Waj#VSo<)snB2t>wdgYHs|Q`*i*khQKWM$ z+D(*!c$6o-qr0}E6E~<48!l6sb$-)&Y`RutszewU_wi)pg>)cs%}7EyqrmWYDp_~p zcM|$O%zY+mPF5Klqf2Q(=tM=N_Gx|5>d_NfKrcqz^fZyBlJfkOEHo>u0cst@lJ#$Q z9TI4pG&7NkiKA%z0zzWYTr$9%7+0bGKpUnSNH!D182WnC`P;WSb21ECL1>{8^_vu1y{Si3qXi-^h|7M09bJyo4>Gcv{T zp26iPQl8YlB8ll}FVeD@%i|ca_?kL|x&&t;#TH`1^Oz3+d1^h}*a^(?V9}n&HrpIe z7umcUn@t?Q1U&h61#~x;cJ9GFihfCYA!N}ZNCGCuR*`QNLu=EJ8w*joowF%jv7ey3 zL{ICnKi$3|teHdlr4?~L>AyKtpSe?wApBDL%0t;%BbWr@PL-Q3}@Sv_(53>XKN7Q_^gpwEyN@nBf)01EB9Adr-d@~_$0J#n8a3BYt?hQ!)&_k=poI=f zyL*BtlZR2mTq%H7)??wJJ;8ffDJ_f1EuJ52;2%1xY^#fN%9oc>lfaE>eVY6qidUAOsl61CFP#ESu#W_`dYM-=qByp63Dy=8`KiMurRM>) zpN%PEQ5P%wNDk7~8+mh?Rle}DN0;!E)CAQr$44De9orzmxKKN!WnBqxEVh=0yH~nnUkHuUz}G74gkMw(1t+J;FVI0+ zgsJ8h))tI6@_HzlkQm*hOA?i({p7?@=u$@rgpzEkl{#uGWB~Z1-W0lTemxkdKgbnB z_M1xc1NfbW3P?yqqx|L-+bW4}qbvXH`S`XeQL%JK=&u2|I~#niGLXyWI{9mI?`KU0 zO6p@x$*Jj%#1FS*Gk>0x(TM!+O|3h(HtFW{2&kT}mg!0|5aNQdn)G)aBvJ}%8$E}t zSyCQc%~&&$-BqlsM5w}U7U1~XXbuK`7Z@o7jmLwS(OhgKOR1c%^kpi}oWrZYyi%f& zP<3+YM-9Q^*uuB!ty63Jc~4Lt$)xS4%EcK^M5uUxBu7-*C{jvgWNZXj00NMPy}S zL&5j?p!qjq<%{O(+DD;@RE=Qe)A0$gHW-mvPCd+VJQK-N!7|EX;Na7HOJzl=`Pgdn zAuK*r2YDL!)GW$8Nf?_?CP$CTaF-??_rMn6MtMjMosmEKG=t2{kPe^yKCmefy1fQYaA)%4c-vcsb5CqfOZL+e0Rc{$uY<{QuG+(EufDWsyFrArMpOt{o zitgVw%l&n8mLOW%@(r(U`&}b4F%4IaW3nALZ|Q5HiD)glSwq|SL$}$Rbqys4l;qbi zo6PyT(JU4xY-S%~*Ijs(vxsit8SG=nXcFm}WLk|K#U8GjgrBrz|BPNvkZQVbt2~v; z`?|IWLA*D^(J~wRqT}AsQjfeovWw+u_jKG3GO6mH^2pM2(*Kt7hpB$H_(~Ae^sqaA zXt(chh9_p0CBY6=jR%I*No!mF{WcmCLLne$N>b^q*69KpbAZiwWj5Dp8XC=WpEff= zV$*q=IGOE2*Ju(X3=21BJk!s@sH-MWNn*_G1--?$gZp`{m9!7vR!^lM7ni#D0cAB> z2d*e_Byuk6GnQ0Ey#lhwDyZ4B9Zby$wR3a{ttHNg@T|m8H+|rm#a8CM+uSoifPax! zO2opS0+0QS7~#HLap#7SfoKd_MtPT5f4fhdWjcI_xp044n?9!Z4%DDw;0At}o?tQJ zJ@wBya)(n?}F|BXW4-1OMqB^8v4R1@Ts%CouZAz1XwG=rxHv?F z&-HHmcmsOB&|4m-)g6B$rXfLGUJxnBmc*>O6{*tPCGnO@x)j!la)(ggw;%vWK3Y-G z7izl#v7!n|p<_QW@dx7*MG~mn;;FgZ{LEni7I^Tp-IH66dGH0G<@9+(^4+k!P+z9{ zCbT7jC8bs?WY3=3Gzjat-GOBJjv~OsV2&?rP){i_H##%nRjAcN)^NmAfsceLBb%hL z6*s7@TzO!;Bhkqjlpg+B^a_u>+~DSa<)GNlK(*GcAX}T+NmM-7!DP^{9KdK^0(n6w zeAS$Q#SLLV?OZ0_R(ps}+eZXVRbsE@RLc9=L7XT7E1mSy&#jw_og$dPdCFeuTZP??R& zK7;-Ub~)m2&}-ZY8x%c)#lSB~Hk=V=32ue7QgiINB#J{IC}qA3S&pc9B8uae``#;N zdoiNvCYC?!LNNVP4?-$NY}lV0O}sMSf-~Nx1Rlzl!($2TMw6sxnlCY)#t-!*{*m02 z6eeSu9jq{b7=!j?=2-yyXi!LrAANb3_H2)&(!?kmC<*U=j1Ac24n4N(9xy*FB+lVP zTa$ah(>HuPE2K2gbA04H*O@(GkZeD8et;&IDCUtrL`KjBJ)+sjXcfcVEvr#9QN%Fl zL_wil?vl=N%%c0^@Ehkgt#pZ`)PnyyZaGvfHnKgR6}_A&dZvnkt-CdkyNA~zC4Ce+ zuRvvj_Klwd%Or&ZLO973$)zHm_T1;mFCsoCP|>yxW}%8pE@i`7ktn##%2^5Gj`x^J9)1O{%&N2b zS}6-Ck8DjjL-%OCw!`q_rIp`gQU4##t z1+~9iGu0mWrCrZMW6C@Mesh99NP3Qu3?l>LR=)!O46)GgGH%D9-E@ z3BHH!qOh#Cw(G^Uq@58b$QfuvuPcJilUZM97K%AajPg*f#7P^R1+GdSZ2BCeg|t*_ zYi1}v&`EqJvv@zF53Ca{=_5G#K?u#lwIuCL;aKcWyxEP*!UgWl5C9VG0_-FNday3M z5xmXUM)tH5*Z5-HG-F!#0{q1ZOEHlhzk~nTF}hM-?c1jZTxiR@-jQ`>Sj_q16#(l? z<)4(g3f7lFc7(j#w>}X$gf!wQITc{J;uYu5DH@rs&gYz4Ji+1JDuaz1%rzeYm$5&| z<{m@zA$?{0hcu$R{dG9^Fi!8`H%Sl7Q!(dGVJzP@0hGly0wfe2oB>5{M+@iNfV}Zj zM3gN9E^>ra&TzcHAaEWy0;74F70Tt924&0})h$Bhf)`Jes~t{^A-Y8wXMft{U3w4g ze1apt$iF9xm%x2GC;J8DaYsh)r57d4E+Wn^G_da3t-QDOtAJXhbzRhI>3Bs}t)bMe z*|PU~?yKfU{G0f8#jMrPob2<=$ir7D7YM$VcogNFu51@m3IG z6a;sGad$uq+ma{i@-FB?22VjqvBe@`hO{||addza^QXjO5UGEKeIra?uTegvk2F)_ z;=FP}TXTr43ZCW1BTWAOf?+>@YI=c@59;uvRE|yhY=nX(<8T#@7Kpuy(B&X3tF^ls zudwh->hCh?ow~iL@F*nIHXz$JlH^k4F8@orNP=r3&IN6f&tWa>$P$i$aLX>E7m zvlrJs*%z*BUEl!tLQr$Aeo()6(7I&(0(GV<=rW0Bb5(tvSzJuPvh%ND2KSJI^_EzE zM=Z|SjQ%Ar=58I~4u~L#plIN0t=pOvRU{hUq(l}OFb>oh*yg=i!F_TrE4l=Kg`DS^UOLKHeQX7gR$3Nx@j0qT*Iua6T)6|ImVsvkkRm@por#Az^NW zYA#l*p;eh@NeQlZr@;*>IcxrsD=!LAE#?58RydeIXkHCgU*|ig(o2Yaj~8_nwSm|2 zv(Rj)82h;ye#+A|qdcIf=nvIn!5H>30FL2i2HU>zaG zLn#SGdXH)w&e?t;M4KiCP!_}1=ylpq0AuOoFpqMUeYX3x1Q zIBYijfW^2zSqJxz@)AVTl7@5ODUZ5cmadlh+Nvl*G^5&~^(gy#SBr!l1A z3?cBS41ro`oP{3b@VgQ5&k1I`UCkNvl=PC){7ql2*{Y_znRs1|DVn3|933$pYgwTv`RH* zG;!6@etJ<@$grtO14~z;(b|^VwEwY4%+!v?2%GS%d*g-vm~3M`_}B$ z1^a*)^_zP84TG#Mbg3%5)tUR0o$}V5(*1?r)meC2F1l2^9%|aZEFC!-^q07Cm>cS_ z%J~i*c=j}*_&5aUPByWlrUyUnLgBSta}F<9dw-G#=IO=7QkpH!>=i6Woa`ah=C%hV9*2 z$s_VFS-xWK@{5bHSn9{in#CTn?MAdRyKQH_MTS`%{|RcUj`{=D>1t1K3$-W1Jm6}r z0gGv&(bG4P(F`p#EE_&PbOUMDY%+??tX6t5j_@8*kFWVVqNg_uY zZC-~Cvy`}jv*PSJTms7DJI6WHIQgz8|5nF>xA1GqWM{n$BP#IWM?DMCJ>AbRYvIQw z66~a;EqktH(IYPCGr^&n$L#iOnkCY-M?LpKJUq!+q-~ir$GEYCVsG7t{<(ZFma=pOQ5J#YA-t9-nY|q$i31dU6pM6s zyhB-qc2qf$&Q|Lqm4!isME(+{xbwB!{jVI2?~QYW?CI7Qa|pk39Q!GsPBDy4W^{eB z1O5`&U2iLb@LuPf9Xmbr6j;^HsWUMo0U3wTcgIT#^4!rA9NYS$GKjoMg}>k;Es zM-CrgDrT`nY@i?A1&XebpBlxvJmAJpI5Y;`-cbdXWSr+6H*?NQ##<2vK4LlS+lf3P zc(DU1%N!higw$94cA3xy-Xgv=-=MyxvzWK5FY2cJW(t>;m>9W}0akNIYs zhAB`{>hKLxUGq@)AgFXa&+05e$VSo1%Fn;+8nC^{`uOp8(E=!bPX!+iFIk=>7J_Uz z^3ajr+o^;=(n*eE+$|TX7{l+GE6N|5tJFkj+zLMgu9dSB6`8MNb}ogv7Z-Zpg|h*4 z|2>G45rri4@Z>r8Hf`&(hkV-D*ppB4P8E(=xg|s@dH>CTK^H$^qOpa^u)B>2<8gjc z?i2N}P8)*$_?SMtEcW`BYALQudj6pcg4HjUya|Bz&8Blt&5~&-oWzD3z2Na3QG?~0 zCi1FOJ=~fLE5RSu775nXH~Bm&=uK(U-?7G+Ec_lj3`}rpM*~IOZj@>)q4{=@Ucd^P>-f?1eXFl!z%S-bzo=j(X-E`zXFUDHD2g}Oppj&LUM3Hz3 z3*hYf`_BulbsUxPm1Ve`7_{5@FV-*{#h3TAm4)KoNsy{5c7+{!r8cALA#LcNUA3gH zdV?q|nXY|!$>;*h)qL8xmPzYjDC?Io-}W~iGlYJ1rq!HTBLv=ZI6{R*Rh`-dV1eE| z=udlU^Q+Mu+1qj|(PPU?oTFWY!J`L=%IH3^7k^>a6zn1c2Xt%;+w|z|hcs+KQ_196 zJ{-movQr@XlRJ@~JJ&!PDCg?r`mXfF;J4-ZW1yI~#3`Y9hGCapY^Dkju8}WzTEs)E zo!)m6IPW!Ik#6dv`Y$TH7>J+L`Gvpy9+1a~!he4wNvPLTr*{{q{*5=^Ek-3gOZ$uj z_8kHfAdO*+{vt45kq){gYoWld8%r9t&o*0=Z7MuS%l0F?ru1TMaab!MEh=__ZbZh1 zOs5(Np%GVR*(fc+>Ou!_dCv)}z@Ec>ey}fW`cbI;Mg0%2JyslU^+17u9wGl5uSNf- zycRXGwf)aC|3Ys-JhMFrGm`kvfccC)P-!5pl28cjSrMDCh)8rQh?qmHwmWm1sgFws z8aGgch_-5ADvRngVcbssd&cD}Vj%Vh9JXl2K#g`4Q9|hcTQQ13u#FK+A3`15=%uOb z@0#^g3$sh1->YrzD)h3oP$3?~ieb&I>$?ha#ehOd&y<(x5Y({@0j<+(;=4T$k5440 z?{R@&P_?9@XMAHflUTdRR_eRQ{dJ-S4p>`nYo zB2o`hT4@d8SVYO-DM%QYJv|;Ne4e-4Z#%FtDs;;VdeyZW%H10qLd!5P#8Tkk;F}xg zwty_2!&uh%>lW6w_-ofC;qxEf*FJJsDkGjx{~n(|ou_|i+dun{@!sag{}56Zar>$i zzw(Vdb>n@0>id7|_WgYrq%~>B#-KpV!!KeENoxa<#08g+p!U>}X=)uNu zaBns^3>>3K>7IlNu)taA zsKkxUjY4OCW|yzta^+(OuR3X!xA#u65;Im8HBo;q8@t#DpRC^6g7IIbUw)p+(NN>m ztaWz51#7J2P;XOPS<+yruQfl&mNVoIp{CR=4t){bdvEop)x}7_Nz!7%XfI-}X4l6^ zh{E3}(y$<#vmX1pHk(R0L}v*<>1;fCsjvcD(b9;t%C^g$^<+{zX(#!fwOooFnX2;0 z{8n(ZV=3MY_D4141`Mi8kRh=Y%aPjLW3&bbvCwLqOdCh>!WECr;5(HCAHnp?1reql0)u+%N($8O04xztdEtNvu$W}g~(PE`h3#=?gb_rTZ26JYBQf!o&P+}R4 zZ~}lUe;Jl}`XB}69%^D}2yE%OQVVp6RYb|zyFgk3W0Z+!kigXJc_>}J@ZwhFuEaBH zn0A^ChGvO3nQ_=+jasTH2aHU<>b5F2BX9mfMJnD8n|P%T)1h{SWk+C%v$={L2{CG> zXrjl09m+{dibUr;5GIo?i;~vFo;YtZCxv0ubO$R`eBqETORkX+hPhe?mOqGB%i7n< z8Pj14PZmX@Vh-rWK0{lIY>;J~s5S=Gq$NVPk?bAky+XhJr>Hyta7KF<`7j}BITM(AHBeoJaXjwL_BWiD`iCoV>vASD*-MIKv-jb~Cd z>OY!CX3zn>6q1qDn3&-3i~BXm)<&50C4Oc2q@fntABZo++~onWwVw1lSoSZL@w_;; zEA$rD0#}Wb7`p@p53wu%@6bT!qLo@~DqP)P5)WAZ{n#<`^o)#}=q5^TMq}X70b}tG zOAO7X8EGLqr4FTv4FGyu9mt87B2aFVaXLfKB*7y!HpP@>?B^WX;NajSzqLPTSy?9t z5^R9kIa;1=$=6F)&h6qwfGcKjaez;uQ^YK%lUlihqg*-T96rvt+f9k2>j&Rg*6gNd zw}L_Wctcb(k|abbPClo0Ec;I3qe7o{xzBkF&+bq++js12 z_qzr_aLOl>1_DunTB3}xQ+*((qDy~*twMt*Al_l|-Tk{qL2-WZED|#9k403PVG1Kt zY~_1T)xw1@=WfV%se>o|EnGNAG6sd-<{vhW<7a)~aLrSn_n6-n`lMvFn+gsjn>oOM z+e1B`UK(>=dgpFaRq8Zs^n&jE{*wC)H~&CFvC5@)+RwyU#7BKV{9+1^porq-Csl9B zqsgZ_pdaGre)T?Rr_A6C&I2S+pk5CqY@0LeQ>RDrbo?BhOfH|3ylpjob1NJvEYKg7 zn~O+n_ap+sW_BH<+(QY{cjpO2b6;HIivQS-9f<_kVGG3xbO%^@&#tvdzdIyQcXyxC z)jQ5Vc&p;kqY%57?&J)`Y5c86zQH(xXe8RRQJO2VZFi|sXXPqn#!FCeknOTamgeGw zhKo6LtH|^|n}s&~BhS%KW$4t%zyKVtyA7AQ{#aAqd!V})pTL7bI$ZGQxDiBnNutwVc2!X3i^S+DV|8ad^bkvJ1oHgS<8k0@8P8vK$eSx^av zmrk+98Z1Ps6`ZD)a=8R7-B@n97EvWdRpTtbFBqU@Q}t#!!A*+z2)eEbDKHrQJ@kbAtU1F8Q$%ASM!aJwB?zcY}y37aV(cb3Ji@W*7Uce(ChO%X)c$cKX#AKVoE)<1%#+ zUR&43A#2$A=}a3z#Mm8J{-IqUq0JYVjNFQ3x$a*wP_gxlgLTibLm{{+yjXy{bY^hPlfF$1DsI}NwX^c z4SkaV@x-!R{KZDCAfLz_D%pbVMerCN@h%uD;Xw2VGjq8vtd)@43g ztNLAVN{=lob4ZLW7Uqm1+88Y*;JDB?_R#83A-26VuHB@E)UF5hFlTYB-LQw&?h`xK zqdd-G^sU+IkRK}`-d;A|fihtWWpA5Q6Y|1~a=Wx|TmH3zGXAgU$&?=0SzpOXpIk9@ z1VI5L^CS8+9cd>N13yXFo$Nc0y;DY&l;ah0=F&B9hwAbe(4q~ zTS-UG69LWx-m$T-5ORqYJ$SWQs^rvpHP$%?zMp*7fKi_0sB=QHX&uXgFcn^g;4)svDD4 znD3-YvZ*qDVk-o%Zm~O-9qM9xs>QMV3yKM!!fsppo`~)KQ2X}#`#Y((5VBNLQd^Y;m}eYWEoXi>RY*rAxWnc0MWrkKNqsT7 zD}QYft|h)5NUN~$18FcwB#7#IAy#@;!t!n*WooHAC4Ey)UktZ~gWiBg_`@*MB%drU z`^IX?{5N8nSD&OJkAOA^hDahM4PkKu)8bo+LerpYhE+;)F`?JRJ~+j zZh^hPG?(@?6sSTaEx)|#!()OnaSuQH&x3t71g-p3etfM3!eI81%7s><{GlV2KA_#B*fI09Eychn!1P6^0!?O5mg zFYZr%HPMLsv+z9*Ykz2Sdpb|j{*t;Qwm6qidUS4C{2*c*J%9g7l}otoWQfY*BNHAO z)+`#J>|(Vspj8?#S_|;%t6M8`guws5-Tt^JhT(a!aiHcpfQ<9p;m-C#ML@XcI_N}xT_N{*H#Qr58=ci z@W|WYofxKnz8IANsHHn-G^61O*>y4DqW_2Fp4ev_3@?^imG2SA={ro*x)!(Mj9IXC zayF`Ef6~(}uB+HPXNrC~LC^X(K$_daDp^8OuxJ9PL*h?>STh?BL_)vfq2`9?A1+x^ zrh8&Ngb%{N{Z<%V=42SJnaz?wO>Y zdeF2JGI?I{{R<#yu<<$K3U@4#VLc@aW;AVty^=lMG`050sH0J)g`|=$n&fezd7CtI zl+N)KqFFbU{3MvRXf*f5VP()V3+g$jT$(0ZAG}g=?3OwrSea9h zaqZ+|vCXvKdY6ss-bYo>(smXkBTx_w1*lL5n1x@mKnqijuU2ZUtW=Wq!4DBjQi4Ue z=dGq3A#>6*@ZSK zOVpXz>x$$l*|IaAZ1ja@WaM1Z<#>}U5h^6kOF;r70RV|y0GWT5zEk86LUYkC*y%p5 z;}r5X#X6}@a`*sAt4gwjd3P55HenPK@+PPA$`IBizw$ynlD27V|8g?_ zJVfnTSz5xJ8A$kIi!4FY9#!q6&<6~0h4miKQeQQycgXq$gY`(puaPVnD$n}MqEf3D z>p)_pU>lW}fwOD|97u&Y{-xBtrQAJFBxeT^;T;%yJKEL)OcEa0h=5oS&-gLW6jUsr zeY(_A+h4&A73Q4FP6)LYh;|~f>+!P=w1|aBh^4%qSlc1@erH;Q5{obJ1mb#p6xjL1 zYp?1fHEW&*3uAxr5|4zdhsIbJZ>te*~tn6>V4zDC;IAc`~xA9|+=e(BIc zaLW@k9$`CAEd_n1^Wef=UI0Q{`f@ndM(v_go8ro?GQHgwTN_FcHM$gPmeO|2bP-J` zD(#v%D$5uGR5`cbNU&8>9>2EH5|e#X9d)bbVA#st>k~QEyLD){O2KbLm%?YdD!-5? zXHYu3E9UlZeBs;|)0ZSQS37SQCaWEV+Y+yI_jr^^(lfQz{e74PQmF$5pME4HVe<0NI_H#=0^-o)p`oW-a+sl@S*6uzWfCN1acs zd6M;yzTP4AC7fQ!y`!*ac69|Fp2WRVF=>?bA;+(ax}MkNk)hpz+5H9mVk|zm+JDtQ zXw~_4TzYckZ;1xK;7ti4&>mRTgJ6VT+p)}w764)@@7zyoAuhX@QZ(ySckV1L?|s1b z!Qq{$)m68GW`1;jSS-(iHcw?12jeQOKjOs!;u8Y0r8vFM#Bo1?Ea^5+4m@Z7lp$Q$ zCjwV=^XIaRiwbcB`*2q;y)jK4PfNgQr0T+X3gSd`MJUg5yqHepRz11V9W?ZR-;)Pk zxF?3gS(|p%O#96O*-AF^PbI!TUx8u7GqF4p-?*oSDIh?>X zVwM=nap1)4E{~fkmp2{M2D;AMC%yxMU8rWv@$N$5%Nw&0AZ}?^e#G%TXUBZO4Cpiw z;?rL8qh^~4xQ`+Xx1(XcPg93Ilz?~7oqv%3V=W4tV?Q3C0s)QD{Woh-?0;x2iaOYv zTUn4X|7*XwR@Kg7kqOB^H@$3TDBF#xpa-66&ddb(K29DKnc0fO`C%bxn_eaS3N<9iYlrs``8`|gmjaNB}ZUu(kR2} zDAOT=0$d7zYo5r&yA~`5j^~ee(v3K#o_V75@GZB;5y&vhjQ3JP_^_f^?ihP+)*%;M zMUs$my;O3RhudmjfjXl}GFu`u>d85e%I(@1O3QGIF1}fTIM=@4tu>01){mp! zb=_o*jd^J3;FvhF1O#AR>=uc%vg4>GE2?A0mq7m`2R8hf7fD7KULL-xZv9QU79J-F z$NK}H@JlTnB7F4QOaA3*S9PA(cCOmga_E82Wdf+y_3+7){$umb(j%xO@hQ9Ut(wyC zdjp#8ht}FaW*lJ#-Wlv~quUjpynV5ecHi7SrgPvL;du?bQLKA5oqu}LOG+G-6ON$-GyD`G_jRaz_B zLt?H$H{kPY zlNE??KZ4`QSOg&j=7VXJxt541pVi2>&=BLCsqd(xSZGiU40~EUanu*gqmd}W2ah{m z92}6DJgfpX^(G?>MT=Jr({(R2h(qAaci=gF&mNM^AwQGH7J6ujAZjX!_2o6?+DgeF z>L8H`zPSKPt!Ua+IZ(c;@dj58xYuA`+*bV;B(ht_2^rOc>k&PmL4Hs@?-rl(xu*h}d&QQ9;*d`!iB zJlV5JsR_BKtriSCNRPLj0q!qiSB)5N3GoRsHSmq&*;%sHtlSxV(@{;3!_{YQ@qCg& zAxhNT)yAi-*m@#YyzFc0=NT0WIbOrgzi)F-(&;w(3X3BB(Qgm<(J>vR#o<8V^duYX zH`~_IOtI_w5p=?5N4KD{C8fjS<--g3Ab3J&ivyd7sFfKa3!>?M6^da z8!F)x%%hEp!i;k(&Lo6M`+GQ2yqu{1(CDhEUG3@6ylPbS256nUK#$i&-`?>LYtioD zpfL6KRUV)F7D*QQpfA>}*nY%4LtFdA9shB>7c^k6+6hOgFMe9F(rg9~GRE@qOI?bC z6PcKMjMkWNtgGlOC+bFa@ZVjC`dJoGJD=a&cj|JFE=RQ^pI>Cn#lhqd#eLbE;h$y;&#W;d>|pvmm>G3$N!|mgxfJ54pekH< zVBsdP$q1;LE7DBqZxD>*Z~o9zh+?}4B`F;4zza$DGmlsV{5`l{%AlPA;8~W>$k5zY zRzAsbDaSn|fGJ^`f_I3|8P5PWVS0e~{b@Z{K;%u@(SU&W%iT)T2=<+$z69>RmRKfz zVGKR#n1*9mt#LO00FKVE$qN+5ln-AW>W0;mA(AK?=@PqyQK}<4^}$kDMCypqq%fRI zhlB^8;5CTeh%b9}!bDZo-%!{5W)RZY8EXwjE*1%v^oAg|Qj>pXIKpPdL6us4 zeFKv)K$c|Nwr#t=wr$(CZQHhO+udK=wr#unW@2t{VqB7A5GZ z8#eRv$!bwlEDWVUqC(-}=^rIJ?#DY4u037eEGYYKeC7r#I_#A72fOaOp1Yp?uDyEB zUG1O0E>^37YcWtzPL&{2_OiI;OO(tXqH#<9ikrW{;L)yzT0KbPwG7HzKTYAaoHgJ~ zK>f_ah4%(c3iaJa45LiSI4NU9%;({agqm7E&0;+V{#}AfkBJ!YM8GtMNLgORje-G< zb_G#egxpH>vr6pX%sp^_LcF%xdXfghFv-vCOA>mw`Z$LIoXs>g)C9aBs+g@ZRx{PJ zopWXV9uA?LWuqWs1;cbo!snpqW8!mZ-Pt6vBi_9L5>YO>NBrBbw5exKvKXv<(jyR$ zUPAM}%|E3#rZwyu;)CTm=NLNZl~iQmMAB48AA)u7Q-1%3ZQ%cX|+d z3g5Rzv#{P&#d4he{VwTf$#*9(ad7bGUfB?`a1jo|p=KG0BDyByL6eR2xD`71Z>^y` zbzWkWCU=0_lb3~vv4jRYl9{HoPGtahEIxw&Bf%SL>rLWC0i=ntn&m6^x3lv?zpf`h1ygS-<5Tp^ty z#oiF5|16@3{VC79BcoIFi;NTNTT#>?x4~8~!C7uJndQZ0t}d7b_;eC*1E9U_yrnM> zBYm9GR{u%G;6TQYeMTbD}(CA)PRsZ^2n?bFjh z!8%!6_R&o-XFXGdl(cAJc_F4mMYpcWIZ5Ropa~d$dE;-rnj91P?8(-8$Q!11aB_sL z?VzrIfkd33{U6KF9v*i)i0uo9-f~*DSJP|9=T=3gr`6BYqTT9+?ur#FhM-3$ZqqR_%dgUff&-RG{NgNvkXxa+1FJc)z90fto?xT7o!#Z&b+J^y+(&k!<*i ztA2x~mGnDEndz;t=zM?Uuhd-!IF;=iKO)MCLRR)j$QCNQknD^oIygASv1fxMN;YLC zQ8JU66)7qsqcXChBv~0zk^J9NozHn+qw%HB|6JF(E`8T`p8NN^pXa&Pvs$mqJ&TaY z=zMwq0>^ZW)u;V$u7-^ga&=vLt0=-fIb3Nm=$J=-VsL{CMJT7pi9BxqZAL93eMb+f z>q$)IP;}~7vs>&m4$tgw#^uss;j_E((dT2dm_$G)`T5qfAMLhGe!)L$d8v#@ys*8e zzs;QIY(lS3p!W&ks$Qcwk%ZLXyL@tcV77!T+;|2#_*ErekT?_tuUZXuk0zb&BVeN9 zAu1brmKR!5nM5u`d4qf8c-Pya7UA~=3NS`gXp$dccccIQEc?I+_%vtPPT`&ym(9Ow%7PXX`!Z z3!@r)Z=9y1-%O>}gx~4Illa&tzBsCaM9cP(5PeV&JfDS=CWMCSiax_7s*e|%H9SX< zUT1_Z?`Potm|ab;t$UQoB4_(yM`o4yaNlqha<&IfsA~e6a}I{>J0e6pT9wyV3q=X! zkynYW^VgCZ-?sjU`o{=MNzHPc^UT#g1iIT_=E?`~K4*F`DbJ!ls6{WZ^Yyx|QOcTf zR(DZ}Dl~#MA$tw3_~-k^o&56ZS@BMX4`u;dh-6ODw%_i2!^beA;`}^wP|S~WGQFto z?1{;_0i`QRC+4IAYIP?zUVf{d6dUa)?U2j!mi|2IefV~x^?E}_vTyDUAAS5T%^_9} zPCafScZ5axcI9oEO3IR29V#lJQ8}FAF#X< zW(vja^0P19V&4&D$Q@&k`{KoWGQD8Ex%&%ti*5n&^vfr&&L$_q2&|H#y$=lg!#KTX zj`+CER#?g?6-IjuDj49LXEFDkc`D0tRQXN&xJbQ`W})GUJ$}+={j`3hN47}N%*LXq zIHJYorn(64F~p_%p+4K?awZp_2y}yaQ(ERyAXNOTG8hQcXf^p`3GZB%sOO9$I&?@Q zK(!|7uJj?8{nhxikJCkW=5Xt4*ci=m&!~q<$L=>Zh%OWMF6^{t5-dnBTBo2-Ji04? z;93j$Ic7wkiN(+<*p0d>#;`}O#M%Y7M!1}bFX$OcysUch^0v48vmxL1x0^My-tX^- zP~EWa*%RdRn){A7gidy!ySdRv`ub7n4Lv*pZE{uGHF=clvP7dB_nyidZ}ER7P^jNf zEPq1Jy)UAMB4>1D-?igWrzb{ZyWmFZcXqXf@W3=3}fn3bA-p)CqMBZLF z^mX)}OY$8hflm&Kjxsx4WsDbbx^#2{2adL|wOcwLP~ zad|JTy!&0UgLNB1-ddW{@^HxBqSsS@Vuet4yTHi10by`wT<&ZhK-vc=n_vGb5{~)fVuqKgiz8Qx(Ypg z*_6HIr&7=KdGv2FGfdKZJuWal_F875*Oh8~8aN2nyz|AOt+;Mvq}=$jrS77PlbPdu zlS#w=13rVJhqoP>-Ehr~i4~`?>(B-9%j}Am!y_}!nat*7(uuvVLiUZT`bLY3=p19) zyDnZRXT*p}nZfObP0Wq6qfYlpx7ymO-rRP4ck-k1+f4UK`-7VAs<++PZ>t=sK>E;r zTu>tK)W~#8#MLBo{ox>F7y;@Y!}SrEop)aMxlx1a;QsVYya^Z2Wrj!J&BD#)ZLl^~ zDsg8t-nug^nif9%ac5SSU>$!#t!s;fjsyRJ=BiMNstxOJo{lv3m#t6$u18>@ZJyS~ z>Dx@WPUZ;WNtv2aezLD_hZ>TT!R1o5fh1{zN+$uWy|u3D+47-4_|SUBo8?JumcViF zVX5+dp;J0xhFc?c0mV5b{R?ghjb&ld8Lk?x7SpE?SA{b}uM>AY>Km%19wjazOq9HnRwF%=YW zHMwkgriR7N>hzFz+Vu~?UF(>cS3T)u3k-k5(YB}>t8Qe9TYmno~fpiubXYjlKJegPNXtJOjL1Z zjMF(A5`&E1S9teQN^6gXXPEDE<*X2FJQ(uIyoWVBmuf(x%!{dljmosWdi;uf)1$UB z{4x3GH}M+Z;l=jh8Cr-{r`R5N;}`I*uPN@0;q6B6R-@dGJvr1zc=EG0ZZY7_@Qh`S z^ZR_n1#gN`gov4V=j?Pq-T82y8Va$VU0c6cmV|b?u5Y&57hh_9M5cgxxUN)^O_cC( z#Jz|{#;F_1h^r`(;@e_L~3`k^h1c0NP* zZZaT^^m4e3h3>be@Q3Src3T8r7?UE}EvM?lAwe4?fPdrC2F=St6&!3y4nk+@$V607 z?A5dCVUf9PouWSNFF%|03Jk5wr`lzZ+_pPRb34Bm`;o_cE=cHb+A*fes(X{lM$%Q2 zR{DCl%|3?7hwWu#4dtNDO`}&sa>Ik-*rl2WR$ z4VFLeEHo*p@Fs+AZ-&XC#Hz6`3Df!Bh|f=v{O)@!{i!5#BQ>g|otT4lHU?|c1S_rY zDJ*Ow=U`!Qw#rG8Z;MHdbRWDSiR`Jn$mQh`D?e52M_#g@?se4qIXzR{Zq!(XVpVjs z@G0E7^Y~_uj_W+SX5W=iU{ig0+P%Z&_PJxY0{3xW&Tw+`-U>1$vKV$Q(q!7>mfhu{ z?@cbJVR*QSzmU`3_(b6J6Si@&vVm84JNhm$vBS;h*$}){DW4US#>gvn+H)LL?n6p{ z=8H%=b`C#6R)r$=>efL#N!AaHiR*WhaZozfDO)P>SDPM?U=y+|E8`d1f3{9+_WAXK zY@FA_$8>o%7@Fbah+W$;h^KY-{^7vW7mJ$%M`F6fWjehch}yJEJth`to+1oN#+?}Q z(Vxi87z{J_W3~K3I*EL^Z?fe5X;~p}yhwBRU;|FL%ANsBRLSkr`*2UWg{>z+I`a@x6ws8+L)_u;^m(H<0bYlu0vSJS`6;2&m_mt)=3uD_$DrS)& zH+lmmSnb{eH1HmdXG+^fVMq4KDrnrJYwrtV@9du467Q8c7tu*jR=3U4OMz3%=>ZX;p0b`tnADxXxOL(Rzf1Euh=JMT8{uCE^2t|QUF zIC#FbSHckgbznYG{j-9DseVo-c zY(WhQ$@-duJ(0E5%shpUBr|GrqIxr`D(d{r_rN&3^(CJ8jWn|}UM0Q=i>c|NVxSvd zm$Hq`J~`4-V(MyF?``0{vM?6E!A!b|tJ_!%Z>bs_RcS7~@@Btwj@^Ze;Rn1o!DAB% zj?!^AXGm|-7$pxD)9KH2b$ZmqSjy}&JENa-A?_wZZ?@M;P3;NidSBCUkvmU)+j+%O zNeQVW?AQE~D03EmDev*cF}O*zn@LZGQEZ@z z_5q&5TBpvurQvGK)$e7_)_=f$D$VgM5iVi>*g;b*YGRXhbg$}AqqDmQQR#}w8rL+% zwKAS==tHy~zx_&mh;NIkxL}jUp!twN-Ozzs&zo^|yK9H41m&Mg+Rd6#r5+e!X%4L1 zBlx&4cJLrAZttxNjk+31uI-^};SZAet7vU9lI|w+?{t%kR=penKg6_Kgr<9aFzRiL zo^Brt#j%wA$u3Xn8q=PH9O7Dk=`3G$mC7|^4Qof5jJWLH%OS?LwpIz$mx)qu1i$h_ zrQJlSF&vmpHQV8MjsjQ*lAF^L1senwbSn=U`Ji<`vr^MXp&o8$MZR<-( z<#V?n+3;HMLzR!&!(8=~3U&vlJ^C-Vv!s?>zkehW)fipI zX(c){m@F!y?Y8f(a99(}g!z7$l)={8uCbITFDL)!E}c{l-{6+v7q2r8Dyk<_VtB)A z6s-FJ{^Hd0jdwyljhzxWTMnGs>`PYUD->`3WDm)B5AHSG?&EjNtGv3%N;)WxQ%`tq zBlIM&PcYIC#LXiQndUGSVUFxa^yaXZaX8CZy#FH3s-{58fBy1z8@Ly-6JPeRFnr-6 z$8l=$lhoEUZ9Z*A1=`+9UR`ff&OHm!T4zKP)|;-B$Pi8q1g!x)A#)S9ueB9!JBr9SD%_55&?U}Y(%DR z^Yk4ieXkYGO#8YiU)fHNQftH6q5EPolAkHcy{8>+=k*sqY5u~!g(}PHadV-`$@N{^ z-u2d(T}?kKK{9&NMQ``<)&s+_3?q_#9Ro-@I$M*3svO@_cDmay=lAndGYc1cM(SL! zFP>o=>gcU+QXSsUVw_9kxi3!h?!E+#9>Pxtt@9gTni^3fv+9=`_DQOn>{AJts}L2w zr#TQ1EJ9~;rcoaMes8(+;oy5M;luSN9l^|%+GW-c@#ym4sp`3L@60}2u1!}DW>%ta z;g%tpp*_l+TD!T+{8710^M-8+>#aUMYGpNN+^wBDQTyUuq^EjXPS}I}(uGPF)N^>d zzqFyocYnEP8IRBQB-+x_l{4M1vGMNNJm=zdJGaO_et)?B^4>#pOvC~&&CZ=_+f=td zuNo0vP*S+128QQLr}QXk@~T@?9A`-8shLQaTbGECmqfE!`g9@34jx&pJK!>P;bTuWF!FWGGG|mwrtC;!pvR}?@0dtRN!KDv zI}29=tU^(DYqj)y&g_hwRvVr^;2J=Wb4OCvZ)zQ#)A_swb}qQ@66~(Z{Y%de3uZn% zuVV2^r5$W|UrK>;qmQvt@ufWAI2j#jUeU>wf0bU#2tJU;v9!m@w1eHrZ^*wqzDCMRM zOSPjo^;x$om7x=|o^P{w2wQkuZq{pyz~7M-*lmh+Bob|pv3gYWmg9Bx;VN5Ir2&pJ zJnK*5uBR$K5lVA|vd56DG%td=WGnfOWBM149OBjK$bQ)SQiH_){Zow=slo}9%XeUt zS&6%jB)u?_%c{RF*&M)+8=6vWT>q*(uz6Z+EV@#@i7H|K#Gr$(xW^lbk+IYqE4nV2 z-7CHuQ(d_h9V6$(S)+;$L^_qoHJ7@!%qC{JIbL9XTzl>2Ee^?XHkTe9z0v! z3DQ4wx8+|U-Zv6`P;y^idB>Am9|s&YtxlGeSagfUG{w>HAkI!ZPtdZFSYT305OqrY zBOmg0y_8+#?Yk1Z7xgOSwo_lRA)|C7BM~O3EznnEl%HOIzGCn|0TInu_jII{EwQ>~ zBY|C4ndqZnuJc>RXbVT^jp!tG@l{`So_a8RdF#|EJ6mP1uJ@j=F6-ut;B;rw4CMwN z|714RO?IW)IKuY^Wx(_!EBo=>odO~OV|`9uyafJdTw79ERh;b0ZZZe@B}=IFY%@~U z-+Nnzd>@YN?q>>i1^Ty^aY4RO1 z*E}=VO`5VFri?$KDqy&?F)t-J8b@)v49$6Y9$ZbAVJ!z0_#C~<)S+> z{5OL#eQJRXWB8`CKBQXa9Vd@HO1GUX+t3i-=c=#AF>^S3H%_&ur&tt;*2lRArD+6K zk}|y$M|ZC`6wuW|mY%yA^9i^g^Y-(g$HANV^6vznV|*EsnLV)~o1d$zh3M&oagV@x zqWx-o6Z%)QUl@?u<Gx^WgbEZ@I+>mnot6_zJF32m_5-Io)vb=?f`EC^ zv;AYu(};Vx-gpY-k6m&f&e(W}Naup^PrtgPOiqu3_! z;&_?d*&Us+wEY6liv4yJm|OcJ9woVoZ@rm8@Q9X1uvI3~^OOdU_i27Dd|kp*M0hx@u+kJ0MHJ{C>EcDHa%hq|+G1H%rR6ZI!o^i)-s`&ACQ(n0}9uXR^jYzn#4%w?tU z^)9XJUAeUpl8Qw!x@X;`bdJztcP-R(wUYfwsK?hK3GkjFGM)){l2F!I z2nRXte`zR{$irXU{A7-UFZ~Uh5B@9BiN-B{xKC|owwkkik)1b4o^X!5`6lQ+vZI44 z8@Gh-P+gpASwaGeE9m^-sBsAFO87_|BcI!s8z#E#Njx)O2mo;lh#1$RG+-I+DFHa{oj8!DvUqBHLW3!K6Rp=`=Kbml4C(3TV^RA`CS^?e2?Dph<>74hsQvW zM|jZT&;98I2X5x=W4tqa*kP-S?P*@7W4N8X6lz*`3yN^kVzx?L+jBo*OLUPyi?p_T zqeC1Oo?1p5@ri9+@mrMp4~q+xNCpJgtrLZ5dW2rjT1WGK*O>o<-Pd=7Ba|67o_)Se0Ert?4Jy|W5eoaKpZwRZnc;~JA@Vt)j7f4(PRJeB#H>ywO z*$F%`#F;R6TMlFVFjTr+EWFG^#4b5iZOjk@!BhIw_~ z^e0Mo&Au+ZlkU3BV-M+uh7`s#uPY+0iph(JSW3(iH}kx4FmsiisP54*|M=1UEWzeP zoF*oL(=RX9Hp{%Mb0K4Ul>e~QzrwZDShcI5kMOC3Sk@Hd(Hqitc7&@uA(xzJiT4+k z-ea&O-MK~m3PRKVLD_}d9_-@;2+DQNn{Fms!_SCjcNy9rZ18{BDp_Q8(I!~t&aJ#u z@iMwY0WZC58um|wys6S{+Y_RKSLkdSLR358O_luVjz~LiXkXF80#Vr-3)Y)^T7z&! zS#xD6lW|lDnkb)hBoa)pLnDA*)ifc^)QuGg= z9N6+O2sSg=!BWVkZPjHkL?xf9sT1PCw@-mSzTPh1$7jfg__~n(+Yp!Z5%=o`C};_i(czFaq0_@4BrcpbUp^Prsjva^~;DMOvUkTXRNp(I_X z{gr1z-A~o`-U?5PAFvF|ztynIDsqH|{}tJlvCr0f{Gv)TPvMe~``H%W79a8`d0oIg zs-xR8HDX0_wD53cR;zfXiiOf9Sw-0>DK)w+26``*sB@o;YHw*WkZ$Ny_dBzB7s-no zAw|Y`24p3<(MJ^OZ4W#>q)S^$=32>gL<`uuYb?P1Tt3>7e29|$7Kgs+v0ZuQ!G!^p zwL8ym$k^R~#`wL{JwfT#?OT}V#z(HEioAVcN$Dq=9t}TbL=e1 z9wqnJE2$gtz-e>6`z3_Mtr>2-ayVW^^{6ABNU*>eS)fBId_1Dj^m%6enZCBtYj!-W zZQEUn3%y8G4Q)aiuFyw69n2e4qt!wMiOp6(+&VJW}f_?eS_u zZqhDt7|FH5%{6}Ng{}C6*Ywh4bO-hu9FH8|l-1#`NTb9o)+kO$&I_Mmy7%G)9+74Y zn{$9syTrr?eC=M1U6e;VT;JR(-Iz6s!;yr@^KF<-OfW1f6@ele;gia>s(4Xv_wQ$GmX5;qReHG@_*^)_@-PGA&dV!<&j~+L>kMz;vd0p;UDmGjl^`cdS$*(`v zu81K2Ok=z2^>8ixQr!dQd#@-p6DH_>?zP-=liemO`4(|9wRLS&k|U$EPg7qJ%hTAX zSml`z^&(A+QrIzt9p$$?TiW33ijG=$JD)tK&EQ(_=5fRUw+mb14obu!&cs#Ao+jOM z1*T%vWQKzArxQDaQHE=RhDe2j`t>={{~` z_LG>FW6kUm_zp5@PezFCNG0k{jp}VbR;j~Q`*0xtOG^33-3YCV5+yUA=+7wlb;o$U zG9`c|o_sbHquX3bG&%V0R-&*)#urt zW*@sLc|nkrZcvcLsvc)t?o2I3JR{9bmn|L_L)fD>55Gw*>r~KTm)kGGncC(uUO-=` z$t`6P>@%cyHrp+*?X^qf*#W)OGv^;_F|Q*^CnWOe&@;KoSadxvRauzD-!U+~ux-D+ z!HtwMyVeKdqPwoTBpEUW8coPJlk;8`A`T}Mx^~WjFQ1M)wt-zYv|YJLf$u0h%r!1kN5txuC-i0i%SF7^^}J%U;K&AI}SC?t={t%|Nl&>RYTT~*ASjYYmytYfuDa>OR%L}YNmnM>vNvf(qHSU@ zO3He_8d2BF+C>%>ulI%|emEaGYJPo3DSduxv4MlvuplP~-nxP>C0}^;dhQLy4Ay@3 z?jRA`bz99>M9ghit0-c-;b@$FgQfNy?Zb04fw)^$ga`1V({kXk!Xl53v6x3O-01e@ zq7a*V~{ziEI%GYYtu{7rzEU4n+(lH z@`sb1kz2JR)ocAPw4du#B8qJyh%L1I;FyKu8~Da5AO&?0ahS2DcL!sy&&3U@Qsham zdd&I#a(hkYvP7o#4{M(+RP|#ms>FTE(`G(+$i#fx(V*lm`~X&Bt)X6cvHrXL-X<|> zyWZozG0b=7aDpY*wIL@@@Xm&-e(cP-6X!>xIetWRKl16BN>3%v` zOPAeGCV2banYJSwtUR48eU{eE&9!xPPwOVRB=)^1ZM~Bvw~gYKl!m&jNepB30i594 zu}7x^$ES*4rTGMKUozik z;_kTiiPAKngtkK@laoPXz(r9&!G?v|HI?^z^3>fsZ$ciP*to~EKj~ChIx4i#Ow*=V za+gQ(x?EZovG+5hawo%#M}!Fu_cNU4;uft|Zq&_UjfxGLPhgTd%vn&NePHm5|6$j> zvqu`(FVu44?%6w3;w@62WAUbEmkgndDnNxlP@)a%Wr>)C+n99CT;4n}OEx#8h`o62naSNdQ>Y`GiHF+A z84@3gky-_JCNw@%Zlv(+JdLMTa-6(~kFNdb+aQhr_x-sq747F{CPnZ9;JRIV;Nk8~ zx|MAa>r43^PntAke|Y9fJ}qVUk>@md*iJ4r=^j63b?$(iE$lPzo3mM8wB1oTs;Kv# zjOG#j`b{799lammcw6Mv$9K0a?nqlj=84dR5UJP#U}~W zNQK3XPc=Ls6F;(x_HAzlk5Rxo6)UeeQC`zLx$FE}^Ar>@$V~j~;f$KU2^NPf5L3 zr>BEQH;LThH#Mi4=sCT!%6{0%nNg)L!`r$}oJu(5Ag4I@@w?le`aEDUCvO>+;I-K$ zpFTY{c84sk?f#IxiMZbMb5})r4HE-{Ko_q~1$~XiP48olKU<$Uajzxkeb{;yy_Sj$ zePg;cDd?Y!D;E8pizh+F^TXR3TD)lb73;M z4x6{~;gTQ|0M?gcW6kC)d!E;S(!;H1VVQfHcRiWE?QAxlfA3Bg%X-%R7j6v18a^P! zhn3*%--L`}nyepIb*jJIMRDD+|9#l4K6 zDAh7pQ#5C>9Tqr~5!zzN!4{uu-C_BZklZv=;Kb=UmnK$Elvt^wZJr_St7zT;s zU)yLc_TtrZZbZ)(;f9T5?gO*VEN3f`p}uY9lV;rpj(E|VCnv|qBCVSGV)K#r9}0eW zq+4D1%7}Vw%4*V0;!|jS@ZEQ_bK2qi6hA)goq8pG;@RzlRlUaH1Kt$#vb%BYSdMDY}iHp?3j_y_}2GL z*7a7mvZO6ON7iXDc0b-aJo`3bI-r}{Dch)XtA{6pu+}+7rtrC~4e>@@4ZDUPzQud( z)lHu|&DT$GQp%`Xe2{aX`4Qi#ySC@wv(FkB9_gr5>#>|L=*A1mQ#0DVYha3N{X_P>7p4k~+G}ra zQ8Bu^E2y=JGX?o6tE*=dNgdyGRR-+PO+)ec6r&b`nM3gn*WwR&ewncy*v*&{V%yj{ zWB!t0d-C}1ii&ycDua*8Vv2!|s@fOp3!`#+eeNTI{a7G(Ca=XhFBImY9 z!{*mLlB#K{JkLPgPHpLa!n6qrDQu~?+LK^8=W&{sN20^vivj7=PM*% zT<5){x8I$2?0(^SRSecs{$&1(*2I3zop;5oQedG!|k1g#VJE!ahmSMq&( za&yst|Nf|@ovjVzQA_KW8||gdfJZG$N*$)DRZJ4HvYlvI z{HJoqeJHiL&;Snkp)TK>Q3;h|BUVH0Bqu#exw78sP&#b*^4NmyhDCbH?x*+bt?tG> zVe-UKRcLp|?P%{R1&>p#|#< z*~v3up6)^fI5xPn;guf=XZT}pqKF4oCxl#mr5ZBvN{p?lALgDyHsI#H{Yc29_=WWX z+a)RWs;`gZGB*P6{{iDQ|LfzpIO_;u-(ILrIOhy{p&I>kBlu&3K%z|GDB!VW;N9AV zA8ri=KW)7U^eZmlUsykc+u4DByfXy+n#2;=CNyR1c{j!K+x$xja*p15eym% z*thp+>kt>T?z=xre!mU|vn7DR&@a|5d@6xIAyhDE&PR1*}#z~P>WD_+@KZ%ezHX?TPN!u zG`thkaPzMEJZcDS$+)Z>z%wwZyaX@8*8uWI-X8fg35ur_zMLBSo7&gkdN7sfYK zK}sN5C;zo9ETm|$n6Zc!i&Mn4!5k3h3w-rJV*CE2SQTJQ$e1`GU64-hJFT3s$wL(_ z3qsL^|8Eryoq=e1VNxQ;5r7;|;Hv?WCjiVzEOnuOj6DO36FXa_wci}KQ|Hvq1q0QepNiOBk05!P^Ll!=9rG2Fz;+`-lv zWr}_R8e3r>v%&UV03?@>^yd|Zp|*%twmFU$9zZDv`0fWaf9iLd{~;wlSFiyS2FaWT zeCW>%H1rs-LE72C?RYIr?T{c=A6+(T9iweHEDX$1G2kl)lAuWTdlHZ)M&Gz09Cq5F zfIIXS?4;a^lt!q2S)k2QlyHNt$9)E7=Lg^mrX&T#4!@|huM&QN5_nE!0CC1I3Upht zn;2PrGO7X7MgrIuc~Cda|E`E%ASDWtD8csYq?Tq?S6rlB21Jn-fL+)Jk`eUVGJb&; z*mRfk{|2q4dFiY&K)8JqvH~$^`~e<>8)bf8rVHHK8R5u_ zLYiARfoug@#5y^Ox;udN>jfs36sWt7{H_Q`CwFV$;dh8N&jSn-cKdwT|A6@dllo_M z_>IpZCW!|7#L56BF99avpvIs6dgEXY7*AO2v{CDc2fv^#(7YG$1&1jgf#Lp(92Wj} zBOpXELYmm3mT-s|@o3u~R@q371Vp<5UogvlU{o%&$G2>hg!UfaRcK;sZR@b8r=S*H z0uZ(E0nTgxw3zQs3XXCIY&sBEh=Mu|O{XC|BKtDXI6AffN7$r_|3(h>#DWY&(j0JD z0XBpz0E(a0A||ZhUD9RQ?D4(V3z&96AfQxV&>!%Z%WuoTqGe=e>wx$kIDL1?*y99S zIyic72GY{sV~81|&=6qbiW=oO@*DD&bePdsKA-6V+)5e=RHGihE#v1kiY*2zs+$urP4u^ zDuyKv2GffD9f3=0HN_QqqmmW|quB<7fr>z|)PEu6=hccW9~@bZ6#PER<@Cw~(JR<3 zu|D}NiAyWi)>^&`!3u-1asnL&>OPNuBj)EdiwyuA-5#6%7d)3!Z7-x|zysneMvL>) zmK;d#LCzQ5@V4H|szx ztG+`zazII2dm{{{50Vt}FC{4;PzVRO6T(#et7uJxInoim4(GHJ-Cfw#0Vrd35Do*z zA2J5s_;xl2ja+n-aUz97-9S?sK-dU2U!TP*p`XO*T2U|0w^|$&p zrdOcQ!I3p5^G`Rr40wzj^vXzF6i-J9pq?Zk9pc4;4p=Fc73BcH&7I*6ro0Z$=rj)a zC%Qv1O`}(Co=5uM-3&A>4Gb>87-N0Tur1p(be#m#AX+Dy?bNosKw~mM!3vDEpMBW| z7h+hW@73U)$ZrKi?4}J2hCS{A2)6-vnX!<4Y>#0Rc8Pbu>}~<-L_? zkBau{-~#SRu4SA1wm5{=q#eS+35jrAX@)R>KyKafgH}Nn47#kw0cuO@hi$n!0FLOp z&B7=V-KL^Mq<1vX)?45UE)qokberFl!24YUL>U-i=yiaeCYmz-QW(sq2|BkgbN@&g z7y=MsmT(7XN21Qjx4Z}F)C1!JtR|s>Wu-VGoScv-b4RS@K5XQdFHL#q0R=s)Eif3k z8;`$Tw#{!)U9s_@wO}iCwF1#_=DuwbK~>bu|YY8}<|f^W8DEY+E0xUcDTH@C6qh;(w{#uiBKeMVTSLIY&&llmwmy#l_$V zW8$}EEV$w2B!TV1!B0P>_U~H4X7f!FWZ@S|OAXW|ssCQsN-M!o;ow+`YUW=vg$iHr zY+uJEW*Vb$SQSMz3B}8K*Ks;3*ewR4#f;Euq6LZ^NXhl)WCrw)!CmD0=F~z$4nW0n=jxMV5t2A zZ;H^E`ziG=DP=Jus4Q8mJ^=>hzm{d|{B4B-V`Qo!Lkn!%Nxm$@%?|ElVFZL*E=W^I z2KETjAUN7o{kaDJ>5mnM6nMl&|7z1enh?7|svr2B=6`N#$bbaN%>R_m7gU7iu^?#i zkg9<62srCb_*HQ~;diA$geHDd0=Cb>j_09#_JgFU!`4AdHeVa!0}t5+^)2fmSCXj& zl9~6%WI_riP^uarv2-|piYivEV^Hj)X;l!! z$LSYZU9fT3y#x)+z)4c&Z?*p;S1JwSK#l+Nnpxlgc5^E+0y_kkKOk-KsDs)h@RCgX zZ^`@#&k9}<5g_;-MK0m+u(b(grVQ%4h(9Ir$0}6?37-42f`8y>bwIL_8~%`vo1n~j8;NNndTnn_yK2B10uIA1Rix;Os;x|Q7U z1jG$1fY90y{f;hw=!>CVLmu1)mGyAz4m6-|;Op3U#`diq3$DgZDE! z|60Qf3FS)I!71{i-xaZV3_+CyKI6hn`qN5U!ly<;^aNfbwE5+>m&;S39Hg;^Aq-aa zujKq#W8hsWtebvSW7w>|Nkg9nU1>0YP0ZOpB+&_B1qYV&tX34Q4N~pcpBC+iWg9R) z2;I95m9(z)fapDd4?=(-n2`M$egDHA17Rgc69pOA;H8O5@}GwEL+=7LjNr_YVe`L} zw0Lks<$)voQ-4Gr)Q_A`^9Pwz@FLaARV zMg6AKCA^X)M4jL$as1y2!ZzmEBL&J1Y{GRYe@~}NB$z)|EO-NV#h(@p$@ied^+48} zkLnK-Unb*&qBsUZaeWn0VDhY$27@&S4eQp`(+LI*VB;`{;J%tnjITxODTGVN`6+-% z9q_d$K*%!xGP0FiFmx7!*9mse{GJYf=#QZT3A}nA`X|NycqW6qChW_f7Y_B*$;ZH+ z2)yKIOS_EHT@l7ENQA4=_g$V#I_ry&ropS&#lPD0(*7C_5d!uxo9KQK|ALSoxomJX z(c<3;TJWOSMg__ZTurR~Qz93SN@Ivp!Hf37^uMjtpYYw_^V=c+TGn#z8_E&vLqGme zxj)u0c;1_B`?ng#X8lb%#EC=c8-UzG>*@f&>H96DNIc#2IM(GFb)aOmD3d~n9UqA&=)mE5{DBsd4JG4?V2Hr^k4 zcBlhFZ;M{|s51Xq$%`jBR6clNq-<5>L;brhWG5_m-;W^6GCIKcb!%G_xU~_=)(L5b zG=V!IZNH!7z-%wjgftI!zo&nv`2`n@Ju5XJg1{R(+y9*)sIP|#14p8}Sbsxl3#`z> zmiG5hvEWEF{!fZsJXoPU2`)(xvHdH~OZa`LJn)L8)gO_E?FF$16IAx01*-u3)%wR} z|5)4L99oI}PiPyP{Wk>ADl}9N#vnbEuObRlgd1@D%+?vaSrm!~oU2N4te#dD@O-y? zUk%@4yN7YYXrvS4Vx;YW#*6_c901bX^Zyv>O70k{V{qJSv;AM`_=heTDjn<+J61vZ zkLMnE$GjTXpVz=Q3{cmse@zV(_Tz)b&_e*nw`)nUEmvt0xUfzN`pwWkzrhY1F}_-# zSOz2ye4=IR4vaj^Z+F@`8}pjLO)S6*yM&Ntm_QIzS8B$>))6?C399I$fTN(;4S?g5 zfS+g$K)KTtSmv^Zqs({OI)G1{_{Xb*ng?g?9lz5&XfG_U;7;HMR}dqpNN`qCnU$-Sy9unq*4HwI4oyzz{Xf} z?<#O`LO6oYX+Z}p*y=r4H4MLK^`s)YUC994F6J@T132gPGq*hx$ z7)%(;vJy71)vNvM*jBW9Hp-T^z$P15Bw#gSKvu&PxEAA&yR)w|4l~H0N(2F2+G-pE zX6!$f1KaxD8#Ah42k@g$RvrQIkOc0I`LjG0-=46X4FfMxjrVxTnN{#UR*85*Q4;G*h)I@_`H6op_DmjtJln1m@Bv>><$@+5TA% z03-$EH{htzQDHR{^0P?}IM>oWuo_st-Nv!v7=eRkN&RZVz+7hn&3j%8odLdJ zw|i7&wUqHY8S637fHG8FRct>D;J_BK^Dm(JLGEe=QqNJf)mP6?Ca{hmVEum=*w4gs zXF&j6)&HvIFaTFRx`j4c=Y(r_S8s&Do-@H zN;Y=ZONMuX90~y_z?UlmVd_;7nOg>HgpAhL1IOwM=Zzt``f@QM*qDzPt`?miCcDQ# zdNngzRUp4;F#G-jnqM-Qh-0g-p5HQJV1~ccd;d?<~ zh4vNj1shBj<23?#k&Rh4ANFf)-NpY?(_^7B1$j-F?7MyQK z#lB|3{M^EzJO?Tcyd_5*@jL7x;+9H*(P9VJdybm}>@EOb&|)Gi;ZKTP`dUvk0Q|fl zvLImivf%>P<$~0F&g>8JhGx2$tQ!rXa+72{6Cj!a_=4BVqb>d*gm1YU6nBTJHJNjz;WVoWhBrKZ-B2o@Ll+@TmE?+U{I`>R$~v9 zTScr@i~uI|*>SLv46Objyd`csU2dR&SKwjRe-Z`cDMaWP1()os{

tsXSW#-JtLR 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 a6`D-W(uCf?E!D-<#npa6D0B^(59t^31XXST literal 0 HcmV?d00001 diff --git a/android/.idea/gradle.xml b/android/.idea/gradle.xml index 80f1a96..682acbf 100644 --- a/android/.idea/gradle.xml +++ b/android/.idea/gradle.xml @@ -4,15 +4,21 @@ \ No newline at end of file diff --git a/android/.idea/libraries/Flutter_Plugins.xml b/android/.idea/libraries/Flutter_Plugins.xml deleted file mode 100644 index b0f6971..0000000 --- a/android/.idea/libraries/Flutter_Plugins.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_activity_activity_1_0_0_aar.xml b/android/.idea/libraries/Gradle__androidx_activity_activity_1_0_0_aar.xml index 06d1f86..de662e1 100644 --- a/android/.idea/libraries/Gradle__androidx_activity_activity_1_0_0_aar.xml +++ b/android/.idea/libraries/Gradle__androidx_activity_activity_1_0_0_aar.xml @@ -1,9 +1,10 @@ - - + + + diff --git a/android/.idea/libraries/Gradle__androidx_annotation_annotation_1_1_0.xml b/android/.idea/libraries/Gradle__androidx_annotation_annotation_1_1_0.xml deleted file mode 100644 index b2158ac..0000000 --- a/android/.idea/libraries/Gradle__androidx_annotation_annotation_1_1_0.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_arch_core_core_runtime_2_0_0_aar.xml b/android/.idea/libraries/Gradle__androidx_arch_core_core_runtime_2_0_0_aar.xml index 2809833..1d30de5 100644 --- a/android/.idea/libraries/Gradle__androidx_arch_core_core_runtime_2_0_0_aar.xml +++ b/android/.idea/libraries/Gradle__androidx_arch_core_core_runtime_2_0_0_aar.xml @@ -1,9 +1,10 @@ - - + + + diff --git a/android/.idea/libraries/Gradle__androidx_core_core_1_1_0_aar.xml b/android/.idea/libraries/Gradle__androidx_core_core_1_1_0_aar.xml deleted file mode 100644 index b5d056e..0000000 --- a/android/.idea/libraries/Gradle__androidx_core_core_1_1_0_aar.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_customview_customview_1_0_0_aar.xml b/android/.idea/libraries/Gradle__androidx_customview_customview_1_0_0_aar.xml index cbcb46a..ae103ed 100644 --- a/android/.idea/libraries/Gradle__androidx_customview_customview_1_0_0_aar.xml +++ b/android/.idea/libraries/Gradle__androidx_customview_customview_1_0_0_aar.xml @@ -1,9 +1,10 @@ - - + + + diff --git a/android/.idea/libraries/Gradle__androidx_fragment_fragment_1_1_0_aar.xml b/android/.idea/libraries/Gradle__androidx_fragment_fragment_1_1_0_aar.xml index c1e4382..e2d579b 100644 --- a/android/.idea/libraries/Gradle__androidx_fragment_fragment_1_1_0_aar.xml +++ b/android/.idea/libraries/Gradle__androidx_fragment_fragment_1_1_0_aar.xml @@ -1,12 +1,13 @@ - + - - + + + diff --git a/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_2_0_0_aar.xml b/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_2_0_0_aar.xml index 15e56dd..1b458b8 100644 --- a/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_2_0_0_aar.xml +++ b/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_2_0_0_aar.xml @@ -1,9 +1,10 @@ - - + + + diff --git a/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_core_2_0_0_aar.xml b/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_core_2_0_0_aar.xml index 73bb1d5..2116e61 100644 --- a/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_core_2_0_0_aar.xml +++ b/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_core_2_0_0_aar.xml @@ -1,9 +1,10 @@ - - + + + diff --git a/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_runtime_2_2_0_aar.xml b/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_runtime_2_2_0_aar.xml index a05f202..d835567 100644 --- a/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_runtime_2_2_0_aar.xml +++ b/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_runtime_2_2_0_aar.xml @@ -1,9 +1,10 @@ - - + + + diff --git a/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_viewmodel_2_1_0_aar.xml b/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_viewmodel_2_1_0_aar.xml index bcfcd11..ae54ce2 100644 --- a/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_viewmodel_2_1_0_aar.xml +++ b/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_viewmodel_2_1_0_aar.xml @@ -1,9 +1,10 @@ - - + + + diff --git a/android/.idea/libraries/Gradle__androidx_loader_loader_1_0_0_aar.xml b/android/.idea/libraries/Gradle__androidx_loader_loader_1_0_0_aar.xml index 2f72bdd..2cea050 100644 --- a/android/.idea/libraries/Gradle__androidx_loader_loader_1_0_0_aar.xml +++ b/android/.idea/libraries/Gradle__androidx_loader_loader_1_0_0_aar.xml @@ -1,9 +1,10 @@ - - + + + diff --git a/android/.idea/libraries/Gradle__androidx_savedstate_savedstate_1_0_0_aar.xml b/android/.idea/libraries/Gradle__androidx_savedstate_savedstate_1_0_0_aar.xml index 811dc16..fcdc9b4 100644 --- a/android/.idea/libraries/Gradle__androidx_savedstate_savedstate_1_0_0_aar.xml +++ b/android/.idea/libraries/Gradle__androidx_savedstate_savedstate_1_0_0_aar.xml @@ -1,9 +1,10 @@ - - + + + diff --git a/android/.idea/libraries/Gradle__androidx_versionedparcelable_versionedparcelable_1_1_0_aar.xml b/android/.idea/libraries/Gradle__androidx_versionedparcelable_versionedparcelable_1_1_0_aar.xml deleted file mode 100644 index 944df01..0000000 --- a/android/.idea/libraries/Gradle__androidx_versionedparcelable_versionedparcelable_1_1_0_aar.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__androidx_viewpager_viewpager_1_0_0_aar.xml b/android/.idea/libraries/Gradle__androidx_viewpager_viewpager_1_0_0_aar.xml index 4f21492..2a6fc1e 100644 --- a/android/.idea/libraries/Gradle__androidx_viewpager_viewpager_1_0_0_aar.xml +++ b/android/.idea/libraries/Gradle__androidx_viewpager_viewpager_1_0_0_aar.xml @@ -1,9 +1,10 @@ - - + + + diff --git a/android/.idea/libraries/Gradle__io_flutter_arm64_v8a_debug_1_0_0_241c87ad800beeab545ab867354d4683d5bfb6ce.xml b/android/.idea/libraries/Gradle__io_flutter_arm64_v8a_debug_1_0_0_241c87ad800beeab545ab867354d4683d5bfb6ce.xml deleted file mode 100644 index 5eb1eaf..0000000 --- a/android/.idea/libraries/Gradle__io_flutter_arm64_v8a_debug_1_0_0_241c87ad800beeab545ab867354d4683d5bfb6ce.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__io_flutter_armeabi_v7a_debug_1_0_0_241c87ad800beeab545ab867354d4683d5bfb6ce.xml b/android/.idea/libraries/Gradle__io_flutter_armeabi_v7a_debug_1_0_0_241c87ad800beeab545ab867354d4683d5bfb6ce.xml deleted file mode 100644 index 466a0f8..0000000 --- a/android/.idea/libraries/Gradle__io_flutter_armeabi_v7a_debug_1_0_0_241c87ad800beeab545ab867354d4683d5bfb6ce.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__io_flutter_flutter_embedding_debug_1_0_0_241c87ad800beeab545ab867354d4683d5bfb6ce.xml b/android/.idea/libraries/Gradle__io_flutter_flutter_embedding_debug_1_0_0_241c87ad800beeab545ab867354d4683d5bfb6ce.xml deleted file mode 100644 index 05d5808..0000000 --- a/android/.idea/libraries/Gradle__io_flutter_flutter_embedding_debug_1_0_0_241c87ad800beeab545ab867354d4683d5bfb6ce.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__io_flutter_x86_64_debug_1_0_0_241c87ad800beeab545ab867354d4683d5bfb6ce.xml b/android/.idea/libraries/Gradle__io_flutter_x86_64_debug_1_0_0_241c87ad800beeab545ab867354d4683d5bfb6ce.xml deleted file mode 100644 index be9188f..0000000 --- a/android/.idea/libraries/Gradle__io_flutter_x86_64_debug_1_0_0_241c87ad800beeab545ab867354d4683d5bfb6ce.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/android/.idea/libraries/Gradle__io_flutter_x86_debug_1_0_0_241c87ad800beeab545ab867354d4683d5bfb6ce.xml b/android/.idea/libraries/Gradle__io_flutter_x86_debug_1_0_0_241c87ad800beeab545ab867354d4683d5bfb6ce.xml deleted file mode 100644 index 4d125f3..0000000 --- a/android/.idea/libraries/Gradle__io_flutter_x86_debug_1_0_0_241c87ad800beeab545ab867354d4683d5bfb6ce.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/android/.idea/misc.xml b/android/.idea/misc.xml index 5500d01..8401cbc 100644 --- a/android/.idea/misc.xml +++ b/android/.idea/misc.xml @@ -3,7 +3,7 @@ - + diff --git a/android/.idea/modules.xml b/android/.idea/modules.xml index 5333642..4cfe785 100644 --- a/android/.idea/modules.xml +++ b/android/.idea/modules.xml @@ -4,8 +4,13 @@ - - + + + + + + + \ No newline at end of file diff --git a/android/.idea/modules/-442492029/android.path_provider.iml b/android/.idea/modules/-442492029/android.path_provider.iml deleted file mode 100644 index 1b6d5cf..0000000 --- a/android/.idea/modules/-442492029/android.path_provider.iml +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/android/.idea/modules/1049519328/android.shared_preferences.iml b/android/.idea/modules/1049519328/android.shared_preferences.iml deleted file mode 100644 index 5a1a7ce..0000000 --- a/android/.idea/modules/1049519328/android.shared_preferences.iml +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/android/.idea/modules/android.iml b/android/.idea/modules/android.iml index 616d2d8..4e86d15 100644 --- a/android/.idea/modules/android.iml +++ b/android/.idea/modules/android.iml @@ -3,12 +3,11 @@ - - + diff --git a/android/.idea/modules/app/android.app.iml b/android/.idea/modules/app/android.app.iml index 7ddc274..bf05337 100644 --- a/android/.idea/modules/app/android.app.iml +++ b/android/.idea/modules/app/android.app.iml @@ -4,8 +4,8 @@ @@ -31,7 +31,7 @@ + + + + + + + + - - - - - + + + + + - + - + - - + + - - - + + + - - - - - - + + + + + + + + + + + + \ No newline at end of file diff --git a/android/.idea/runConfigurations.xml b/android/.idea/runConfigurations.xml deleted file mode 100644 index 797acea..0000000 --- a/android/.idea/runConfigurations.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/android/app/build.gradle b/android/app/build.gradle index cfa383a..3c0bd5e 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -26,7 +26,7 @@ apply plugin: 'kotlin-android' apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" android { - compileSdkVersion 30 + compileSdkVersion rootProject.ext.compileSdkVersion compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 @@ -45,7 +45,7 @@ android { // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). applicationId "de.cantorgymnasium.meincantor" minSdkVersion 20 - targetSdkVersion 30 + targetSdkVersion rootProject.ext.targetSdkVersion versionCode flutterVersionCode.toInteger() versionName flutterVersionName } diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index 729401f..de345fe 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -1,6 +1,9 @@ + android:showWhenLocked="true" android:turnScreenOn="true" + android:windowSoftInputMode="adjustResize"> + + + + + + + + + + + CG + + + + + + + + + + + + + + + diff --git a/assets/images/meincantor-big.png b/assets/images/meincantor-big.png new file mode 100644 index 0000000000000000000000000000000000000000..4830a8c4b22e95bed1226372dd20cbcdca525ed3 GIT binary patch literal 81506 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 z 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 literal 0 HcmV?d00001 diff --git a/assets/images/meincantor-big.svg b/assets/images/meincantor-big.svg new file mode 100644 index 0000000..43834c7 --- /dev/null +++ b/assets/images/meincantor-big.svg @@ -0,0 +1,136 @@ + + + + + + + + + + + + + CG + + + + + + + + + + + + + + + diff --git a/lib/Settings/Pages/appearance_settings.dart b/lib/Settings/Pages/appearance_settings.dart index a379840..9360819 100644 --- a/lib/Settings/Pages/appearance_settings.dart +++ b/lib/Settings/Pages/appearance_settings.dart @@ -1,4 +1,3 @@ -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; class AppearanceSettings extends StatelessWidget { @@ -13,7 +12,7 @@ class AppearanceSettings extends StatelessWidget { ), body: ListView( padding: const EdgeInsets.fromLTRB(5, 5, 5, 5), - children: [], + children: const [], )); } } diff --git a/lib/Settings/Pages/dev_settings.dart b/lib/Settings/Pages/dev_settings.dart index 4e40844..4883132 100644 --- a/lib/Settings/Pages/dev_settings.dart +++ b/lib/Settings/Pages/dev_settings.dart @@ -1,12 +1,29 @@ +import 'package:background_fetch/background_fetch.dart'; import 'package:flutter/material.dart'; import 'package:material_design_icons_flutter/material_design_icons_flutter.dart'; +import 'package:meincantor/background_fetch.dart'; import 'package:shared_preferences/shared_preferences.dart'; -import '../../login.dart'; +import 'package:meincantor/login.dart'; -class DevSettings extends StatelessWidget { +class DevSettings extends StatefulWidget { const DevSettings({Key? key}) : super(key: key); + @override + State createState() => _DevSettingsState(); +} + +class _DevSettingsState extends State { + int _status = 0; + + void _onClickStatus() async { + int status = await BackgroundFetch.status; + print('[BackgroundFetch] status: $status'); + setState(() { + _status = status; + }); + } + @override Widget build(BuildContext context) { return Scaffold( @@ -14,41 +31,98 @@ class DevSettings extends StatelessWidget { title: const Text("Entwickler-Einstellungen"), centerTitle: true, ), - body: ListView( - padding: const EdgeInsets.fromLTRB(20, 20, 20, 20), - children: [ - Padding( - padding: const EdgeInsets.fromLTRB(0, 0, 0, 0), - child: TextField( - decoration: const InputDecoration( - icon: Icon(MdiIcons.keyOutline), - border: OutlineInputBorder(), - labelText: 'MeinCantor API-Schlüssel', - ), - onSubmitted: (String value) async { - SharedPreferences prefs = - await SharedPreferences.getInstance(); - String apiKey = value; - await prefs.setString('api_key', apiKey); - final snackBar = SnackBar( - content: - Text('Neuer API-Schlüssel gesetzt: $apiKey')); - ScaffoldMessenger.of(context).showSnackBar(snackBar); - })), - const Divider(), - Padding( - padding: const EdgeInsets.fromLTRB(0, 0, 0, 0), - child: OutlinedButton( - onPressed: () async { - Navigator.push( - context, - MaterialPageRoute(builder: (context) => Login()), - ); - }, - child: const Text("Benutzerdaten neu laden"), - ) - ) - ], - )); + body: LayoutBuilder(builder: (context, constraints) { + double widgetWidth = constraints.maxWidth; + + int factor; + + if (widgetWidth <= 600) { + factor = 1; + } else if (widgetWidth <= 1400) { + factor = 2; + } else if (widgetWidth <= 2000) { + factor = 3; + } else { + factor = 1; + } + + return Center( + heightFactor: 1, + child: Container( + constraints: BoxConstraints( + maxWidth: MediaQuery.of(context).size.width / factor, + ), + child: ListView( + padding: const EdgeInsets.fromLTRB(20, 20, 20, 20), + children: [ + Padding( + padding: const EdgeInsets.fromLTRB(0, 0, 0, 0), + child: TextField( + decoration: const InputDecoration( + icon: Icon(MdiIcons.keyOutline), + border: OutlineInputBorder(), + labelText: 'MeinCantor API-Schlüssel', + ), + onSubmitted: (String value) async { + SharedPreferences prefs = + await SharedPreferences.getInstance(); + String apiKey = value; + await prefs.setString('api_key', apiKey); + final snackBar = SnackBar( + content: Text( + 'Neuer API-Schlüssel gesetzt: $apiKey')); + ScaffoldMessenger.of(context) + .showSnackBar(snackBar); + })), + const Divider(), + Padding( + padding: const EdgeInsets.fromLTRB(0, 0, 0, 0), + child: OutlinedButton( + onPressed: () async { + Navigator.push( + context, + MaterialPageRoute(builder: (context) => Login()), + ); + }, + child: const Text("Benutzerdaten neu laden"), + )), + const Divider(), + Padding( + padding: const EdgeInsets.fromLTRB(0, 0, 0, 0), + child: OutlinedButton( + onPressed: () { + _onClickStatus(); + }, + child: const Text( + "Status der Hintergrundoperation anzeigen"), + )), + const Divider(), + Padding( + padding: const EdgeInsets.fromLTRB(10, 10, 10, 10), + child: Text(_status.toString())), + const Divider(), + Padding( + padding: const EdgeInsets.fromLTRB(0, 0, 0, 0), + child: OutlinedButton( + onPressed: () async { + await backgroundFetchTimetable(); + }, + child: const Text( + "Stundenplan im Hintergrund neu laden"), + )), + const Divider(), + Padding( + padding: const EdgeInsets.fromLTRB(0, 0, 0, 0), + child: OutlinedButton( + onPressed: () async { + await backgroundFetchArticles(); + }, + child: const Text( + "Schülerzeitung im Hintergrund neu laden"), + )), + ], + )), + ); + })); } } diff --git a/lib/Settings/Pages/info_settings.dart b/lib/Settings/Pages/info_settings.dart index f82c1f8..730e44e 100644 --- a/lib/Settings/Pages/info_settings.dart +++ b/lib/Settings/Pages/info_settings.dart @@ -1,6 +1,3 @@ -import 'dart:io'; - -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter_linkify/flutter_linkify.dart'; import 'package:meincantor/const.dart'; @@ -17,79 +14,136 @@ class InfoSettings extends StatelessWidget { title: const Text("Informationen"), centerTitle: true, ), - body: ListView( - padding: const EdgeInsets.fromLTRB(5, 5, 5, 5), - children: [ - const ListTile( - leading: Icon(Icons.info_outlined), - title: Text("Version"), - subtitle: Text(version)), - ListTile( - leading: Icon(Icons.person_outlined), - title: Text("Autor"), - subtitle: Text(author), - onTap: () => launch("https://git.cantorgymnasium.de/denyskon"), - ), - ListTile( - leading: const Icon(Icons.source_outlined), - title: const Text("Quellcode"), - subtitle: Linkify( - onOpen: (link) async { - if (await canLaunch(link.url)) { - await launch(link.url); - } else { - throw 'Could not launch $link'; - } - }, - text: "https://git.cantorgymnasium.de/cantortechnik/meincantor-app", - linkStyle: const TextStyle(color: Palette.accent), + body: LayoutBuilder(builder: (context, constraints) { + double widgetWidth = constraints.maxWidth; + + int factor; + + if (widgetWidth <= 600) { + factor = 1; + } else if (widgetWidth <= 1400) { + factor = 2; + } else if (widgetWidth <= 2000) { + factor = 3; + } else { + factor = 1; + } + + return Center( + heightFactor: 1, + child: Container( + constraints: BoxConstraints( + maxWidth: MediaQuery.of(context).size.width / factor, ), - ), - ListTile( - leading: const Icon(Icons.settings_backup_restore_outlined), - title: const Text("Änderungsverlauf"), - subtitle: const Text("Was ist neu?"), - onTap: () { - showModalBottomSheet( - isScrollControlled: true, - context: context, - builder: (BuildContext context) { - return SizedBox( - height: 400, - child: Column( - children: [ - AppBar( - title: const Text("Änderungsverlauf"), - ), - const Padding( - padding: EdgeInsets.all(10), - child: Text("1.0 --\nErste Release-Version!"), - ), - ], + child: ListView( + padding: const EdgeInsets.fromLTRB(5, 5, 5, 5), + children: [ + const Padding( + padding: EdgeInsets.all(5), + child: ListTile( + leading: Icon(Icons.info_outlined), + title: Text("Version"), + subtitle: Text(version)), + ), + Padding( + padding: const EdgeInsets.all(5), + child: ListTile( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(15.0)), + leading: const Icon(Icons.person_outlined), + title: const Text("Autor"), + subtitle: const Text(author), + onTap: () => + launch("https://git.cantorgymnasium.de/denyskon"), ), - ); - }, - ); - }, - ), - ListTile( - leading: const Icon(Icons.copyright_outlined), - title: const Text("Lizenzen"), - onTap: () { - Navigator.push( - context, - MaterialPageRoute( - builder: (context) => LicensePage( - applicationIcon: Image.asset( - "assets/images/meincantor_r.png", - height: 64, - width: 64), - applicationVersion: version, - )), - ); - }, - ), - ], - )); + ), + Padding( + padding: const EdgeInsets.all(5), + child: ListTile( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(15.0)), + leading: const Icon(Icons.source_outlined), + title: const Text("Quellcode"), + subtitle: Linkify( + onOpen: (link) async { + if (await canLaunch(link.url)) { + await launch(link.url); + } else { + throw 'Could not launch $link'; + } + }, + text: + "https://git.cantorgymnasium.de/cantortechnik/meincantor-app", + linkStyle: const TextStyle(color: Palette.accent), + ), + onTap: () => launch( + "https://git.cantorgymnasium.de/cantortechnik/meincantor-app")), + ), + Padding( + padding: const EdgeInsets.all(5), + child: ListTile( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(15.0)), + leading: + const Icon(Icons.settings_backup_restore_outlined), + title: const Text("Änderungsverlauf"), + subtitle: const Text("Was ist neu?"), + onTap: () { + showModalBottomSheet( + isScrollControlled: true, + context: context, + builder: (BuildContext context) { + return SizedBox( + height: 400, + child: Column( + children: [ + AppBar( + title: const Text("Änderungsverlauf"), + ), + const Padding( + padding: EdgeInsets.all(10), + child: Text( + "1.0.0 --\nErste Release-Version!"), + ), + ], + ), + ); + }, + ); + }, + ), + ), + Padding( + padding: const EdgeInsets.all(5), + child: ListTile( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(15.0)), + leading: const Icon(Icons.copyright_outlined), + title: const Text("Lizenzen"), + onTap: () { + Navigator.push( + context, + MaterialPageRoute( + builder: (context) => LicensePage( + applicationIcon: Padding( + padding: const EdgeInsets.all(5), + child: MediaQuery.of(context).platformBrightness == Brightness.light + ? Image.asset( + "assets/images/meincantor-big.png", + width: 196) + : Image.asset( + "assets/images/meincantor-big-dark.png", + width: 196) + ), + applicationVersion: version, + )), + ); + }, + ), + ), + ], + )), + ); + })); } } diff --git a/lib/Settings/Pages/plan_settings.dart b/lib/Settings/Pages/plan_settings.dart index 0e34b7b..1b8c39e 100644 --- a/lib/Settings/Pages/plan_settings.dart +++ b/lib/Settings/Pages/plan_settings.dart @@ -1,9 +1,9 @@ import 'dart:convert'; import 'package:meincantor/main.dart'; -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:cyclop/cyclop.dart'; +import 'package:meincantor/networking.dart'; import 'package:shared_preferences/shared_preferences.dart'; @@ -12,52 +12,6 @@ import 'package:meincantor/presets/subjects.dart'; import 'package:meincantor/presets/teachers.dart'; -class PlanSettings extends StatelessWidget { - const PlanSettings({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Scaffold( - appBar: AppBar( - title: const Text("Plan"), - centerTitle: true, - ), - body: ListView( - padding: const EdgeInsets.fromLTRB(5, 5, 5, 5), - children: [ - ListTile( - leading: const Icon(Icons.list_alt_outlined, color: Colors.red), - trailing: const Icon(Icons.arrow_forward_ios, size: 16), - title: const Text("Kurse"), - subtitle: const Text("Konfiguration der Kurse (Whitelist)"), - onTap: () { - Navigator.push( - context, - MaterialPageRoute( - builder: (context) => const WhitelistSettings()), - ); - }, - ), - ListTile( - leading: - const Icon(Icons.color_lens_outlined, color: Colors.teal), - trailing: const Icon(Icons.arrow_forward_ios, size: 16), - title: const Text("Farben"), - subtitle: - const Text("Konfiguration der Farben für die Plankacheln"), - onTap: () { - Navigator.push( - context, - MaterialPageRoute( - builder: (context) => const PlanColorSettings()), - ); - }, - ), - ], - )); - } -} - class WhitelistSettings extends StatefulWidget { const WhitelistSettings({Key? key}) : super(key: key); @@ -77,7 +31,7 @@ class _WhitelistSettingsState extends State { Widget build(BuildContext context) { return Scaffold( appBar: AppBar( - title: const Text("Farben"), + title: const Text("Kurse"), centerTitle: true, ), body: ListView( @@ -106,11 +60,36 @@ class _WhitelistSettingsState extends State { snapshot.data! as List; final _blacklisted = _blacklist.contains(id); - return ListTile( - leading: Checkbox( - value: - _blacklisted ? false : true, - onChanged: (state) async { + return Padding( + padding: const EdgeInsets.all(5), + child: ListTile( + shape: RoundedRectangleBorder( + borderRadius: + BorderRadius.circular( + 15.0)), + leading: Checkbox( + value: _blacklisted + ? false + : true, + onChanged: (state) async { + SharedPreferences prefs = + await SharedPreferences + .getInstance(); + setState(() { + _blacklisted + ? _blacklist + .remove(id) + : _blacklist.add(id); + }); + prefs.setString("blacklist", + jsonEncode(_blacklist)); + }, + activeColor: color), + title: Text( + subjects[subject] ?? subject), + subtitle: Text( + teachers[teacher] ?? teacher), + onTap: () async { SharedPreferences prefs = await SharedPreferences .getInstance(); @@ -122,23 +101,7 @@ class _WhitelistSettingsState extends State { prefs.setString("blacklist", jsonEncode(_blacklist)); }, - activeColor: color), - title: Text(subjects[subject] ?? ""), - subtitle: - Text(teachers[teacher] ?? ""), - onTap: () async { - SharedPreferences prefs = - await SharedPreferences - .getInstance(); - setState(() { - _blacklisted - ? _blacklist.remove(id) - : _blacklist.add(id); - }); - prefs.setString("blacklist", - jsonEncode(_blacklist)); - }, - ); + )); } else { return const LinearProgressIndicator(); } @@ -187,8 +150,12 @@ Future buildPlanColors(String lesson) async { Future> buildLessonsList() async { SharedPreferences prefs = await SharedPreferences.getInstance(); - String lessonsJson = prefs.getString("lessons")!; - List lessons = jsonDecode(lessonsJson); + String? lessonsJson = prefs.getString("lessons"); + if (lessonsJson == null || lessonsJson.isEmpty) { + await fetchLessonList(); + lessonsJson = prefs.getString("lessons"); + } + List lessons = jsonDecode(lessonsJson!); return lessons; } @@ -235,30 +202,37 @@ class _PlanColorSettingsState extends State { builder: (context, snapshot) { if (snapshot.hasData) { Color color = snapshot.data as Color; - return ListTile( - leading: ColorButton( - key: const Key('c1'), - color: color, - config: const ColorPickerConfig( - enableEyePicker: false), - onSwatchesChanged: (Set value) { - swatches = value; - }, - size: 32, - swatches: swatches, - onColorChanged: (Color value) async { - setState(() { - color = value; - }); - SharedPreferences prefs = - await SharedPreferences - .getInstance(); - prefs.setInt( - "color$subject", value.value); - }), - title: Text(subjects[subject] ?? ""), - subtitle: Text(teachers[teacher] ?? ""), - ); + return Padding( + padding: const EdgeInsets.all(5), + child: ListTile( + shape: RoundedRectangleBorder( + borderRadius: + BorderRadius.circular(15.0)), + leading: ColorButton( + key: const Key('c1'), + color: color, + config: const ColorPickerConfig( + enableEyePicker: false), + onSwatchesChanged: + (Set value) { + swatches = value; + }, + size: 32, + swatches: swatches, + onColorChanged: (Color value) async { + setState(() { + color = value; + }); + SharedPreferences prefs = + await SharedPreferences + .getInstance(); + prefs.setInt( + "color$subject", value.value); + }), + title: Text(subjects[subject] ?? subject), + subtitle: + Text(teachers[teacher] ?? teacher), + )); } else { return (const LinearProgressIndicator()); } diff --git a/lib/Settings/Pages/service_settings.dart b/lib/Settings/Pages/service_settings.dart index d2d583f..6ca0056 100644 --- a/lib/Settings/Pages/service_settings.dart +++ b/lib/Settings/Pages/service_settings.dart @@ -1,4 +1,3 @@ -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; class ServiceSettings extends StatelessWidget { @@ -13,7 +12,7 @@ class ServiceSettings extends StatelessWidget { ), body: ListView( padding: const EdgeInsets.fromLTRB(5, 5, 5, 5), - children: [], + children: const [], )); } } diff --git a/lib/Settings/Pages/user_settings.dart b/lib/Settings/Pages/user_settings.dart index 3407fbf..717b0d9 100644 --- a/lib/Settings/Pages/user_settings.dart +++ b/lib/Settings/Pages/user_settings.dart @@ -1,14 +1,10 @@ -import 'package:cyclop/cyclop.dart'; -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:material_design_icons_flutter/material_design_icons_flutter.dart'; -import 'package:meincantor/Settings/Pages/plan_settings.dart'; import 'package:meincantor/networking.dart'; import 'package:shared_preferences/shared_preferences.dart'; -import 'package:webview_flutter/webview_flutter.dart'; -import 'dart:io' show Platform; -import '../../const.dart'; +import 'package:meincantor/const.dart'; +import 'package:webviewx/webviewx.dart'; Future getSettingsString(String key) async { SharedPreferences prefs = await SharedPreferences.getInstance(); @@ -30,104 +26,172 @@ class UserSettings extends StatelessWidget { title: const Text("Benutzereinstellungen"), centerTitle: true, ), - body: ListView( - padding: const EdgeInsets.fromLTRB(5, 5, 5, 5), - children: [ - Padding( - padding: const EdgeInsets.fromLTRB(10, 10, 10, 10), - child: FutureBuilder( - future: Future.sync(() async { - SharedPreferences prefs = await SharedPreferences.getInstance(); - String? user = prefs.getString("user"); - if (user == null || user.isEmpty) { - user = ""; - } - String? name = prefs.getString("name"); - if (name == null || name.isEmpty) { - name = ""; - } - Map data = {"user": user, "name": name }; - return data; - }), - builder: (context, snapshot) { - if (snapshot.hasData) { - // .svg?text=${(snapshot.data! as Map)['name'][0]} - String url = "$avatarUrl/${(snapshot.data! as Map)['user']}"; - return Container( - width: 120.0, - height: 120.0, - decoration: BoxDecoration( - shape: BoxShape.circle, - image: DecorationImage( - fit: BoxFit.scaleDown, - image: NetworkImage(url) - ) - ) - ); - } else { - return const CircularProgressIndicator(); - } - }, - ), - ), - FutureBuilder( - future: getSettingsString("name"), - builder: (context, snapshot) { - if (snapshot.hasData) { - return TextField( - decoration: const InputDecoration( - border: OutlineInputBorder(), - labelText: 'Name', + body: LayoutBuilder(builder: (context, constraints) { + double widgetWidth = constraints.maxWidth; + + int factor; + + if (widgetWidth <= 600) { + factor = 1; + } else if (widgetWidth <= 1400) { + factor = 2; + } else if (widgetWidth <= 2000) { + factor = 3; + } else { + factor = 1; + } + + return Center( + heightFactor: 1, + child: Container( + constraints: BoxConstraints( + maxWidth: MediaQuery.of(context).size.width / factor, + ), + child: ListView( + padding: const EdgeInsets.fromLTRB(5, 5, 5, 5), + children: [ + Padding( + padding: const EdgeInsets.fromLTRB(10, 10, 10, 10), + child: FutureBuilder( + future: Future.sync(() async { + SharedPreferences prefs = + await SharedPreferences.getInstance(); + String? user = prefs.getString("user"); + if (user == null || user.isEmpty) { + user = ""; + } + String? name = prefs.getString("name"); + if (name == null || name.isEmpty) { + name = ""; + } + Map data = {"user": user, "name": name}; + return data; + }), + builder: (context, snapshot) { + if (snapshot.hasData) { + String url = + "$avatarUrl/${(snapshot.data! as Map)['user']}"; + return Container( + width: 120.0, + height: 120.0, + decoration: BoxDecoration( + shape: BoxShape.circle, + image: DecorationImage( + fit: BoxFit.scaleDown, + image: NetworkImage(url)))); + } else { + return const CircularProgressIndicator(); + } + }, ), - readOnly: true, - controller: - TextEditingController(text: snapshot.data as String), - ); - } else { - return (const Center(child: CircularProgressIndicator())); - } - }), - Padding( - padding: const EdgeInsets.fromLTRB(5, 20, 5, 5), - child: buildClassesChooser()), - ListTile( - leading: const Icon(MdiIcons.accountSettingsOutline), - trailing: const Icon(Icons.link, size: 16), - title: const Text("Account-Konsole"), - subtitle: const Text("Konto-Einstellungen öffnen"), - onTap: () { - Navigator.push( - context, - MaterialPageRoute( - builder: (context) => AccountConsole()), - ); - }, - ), - ], - ) - ); + ), + Padding( + padding: const EdgeInsets.fromLTRB(5, 5, 5, 5), + child: FutureBuilder( + future: getSettingsString("name"), + builder: (context, snapshot) { + if (snapshot.hasData) { + return TextField( + decoration: const InputDecoration( + border: OutlineInputBorder(), + labelText: 'Name', + icon: Icon(MdiIcons.passport)), + readOnly: true, + controller: TextEditingController( + text: snapshot.data as String), + ); + } else { + return (const Center( + child: CircularProgressIndicator())); + } + }), + ), + const Divider(), + Padding( + padding: const EdgeInsets.fromLTRB(5, 5, 5, 5), + child: FutureBuilder( + future: getSettingsString("user"), + builder: (context, snapshot) { + if (snapshot.hasData) { + return TextField( + decoration: const InputDecoration( + border: OutlineInputBorder(), + labelText: 'Benutzername', + icon: Icon(MdiIcons.identifier)), + readOnly: true, + controller: TextEditingController( + text: snapshot.data as String), + ); + } else { + return (const Center( + child: CircularProgressIndicator())); + } + }), + ), + const Divider(), + Padding( + padding: const EdgeInsets.fromLTRB(5, 5, 5, 5), + child: FutureBuilder( + future: getSettingsString("email"), + builder: (context, snapshot) { + if (snapshot.hasData) { + return TextField( + decoration: const InputDecoration( + border: OutlineInputBorder(), + labelText: 'E-Mail-Adresse', + icon: Icon(Icons.email_outlined)), + readOnly: true, + controller: TextEditingController( + text: snapshot.data as String), + ); + } else { + return (const Center( + child: CircularProgressIndicator())); + } + }), + ), + Padding( + padding: const EdgeInsets.fromLTRB(5, 20, 5, 5), + child: buildClassesChooser()), + ListTile( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(15.0)), + leading: const Icon(MdiIcons.accountSettingsOutline), + trailing: const Icon(Icons.link, size: 16), + title: const Text("Account-Konsole"), + subtitle: const Text("Konto-Einstellungen öffnen"), + onTap: () { + Navigator.push( + context, + MaterialPageRoute( + builder: (context) => const AccountConsole()), + ); + }, + ), + ], + )), + ); + })); } } - class AccountConsole extends StatefulWidget { + const AccountConsole({Key? key}) : super(key: key); + @override AccountConsoleState createState() => AccountConsoleState(); } class AccountConsoleState extends State { - @override - void initState() { - super.initState(); - // Enable virtual display. - if (Platform.isAndroid) WebView.platform = AndroidWebView(); - } @override Widget build(BuildContext context) { - return const WebView( - initialUrl: 'https://mein.cantorgymnasium.de/auth/realms/GCG.MeinCantor/account/', + return WebViewX( + height: MediaQuery.of(context).size.height, + initialContent: 'https://mein.cantorgymnasium.de/auth/realms/GCG.MeinCantor/account/', + initialSourceType: SourceType.url, + javascriptMode: JavascriptMode.unrestricted, + width: MediaQuery.of(context).size.width ); } } - diff --git a/lib/Settings/dashboard.dart b/lib/Settings/dashboard.dart index 09672ac..0c83aba 100644 --- a/lib/Settings/dashboard.dart +++ b/lib/Settings/dashboard.dart @@ -1,13 +1,10 @@ -import 'package:meincantor/Settings/Pages/appearance_settings.dart'; -import 'package:meincantor/Settings/Pages/service_settings.dart'; -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:material_design_icons_flutter/material_design_icons_flutter.dart'; -import 'Pages/dev_settings.dart'; -import 'Pages/info_settings.dart'; -import 'Pages/plan_settings.dart'; -import 'Pages/user_settings.dart'; +import 'package:meincantor/Settings/Pages/dev_settings.dart'; +import 'package:meincantor/Settings/Pages/info_settings.dart'; +import 'package:meincantor/Settings/Pages/plan_settings.dart'; +import 'package:meincantor/Settings/Pages/user_settings.dart'; class Settings extends StatelessWidget { const Settings({Key? key}) : super(key: key); @@ -22,84 +19,100 @@ class Settings extends StatelessWidget { body: ListView( padding: const EdgeInsets.fromLTRB(5, 5, 5, 5), children: [ - ListTile( - leading: const Icon(MdiIcons.accountSettingsOutline, - color: Colors.cyan), - trailing: const Icon(Icons.arrow_forward_ios, size: 16), - title: const Text("Benutzer"), - subtitle: const Text("Profilbild, Klasse & mehr"), - onTap: () { - Navigator.push( - context, - MaterialPageRoute(builder: (context) => const UserSettings()), - ); - }, + Padding( + padding: const EdgeInsets.all(5), + child: ListTile( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(15.0)), + leading: const Icon(MdiIcons.accountSettingsOutline, + color: Colors.cyan), + trailing: const Icon(Icons.arrow_forward_ios, size: 16), + title: const Text("Benutzer"), + subtitle: const Text("Profilbild, Klasse & mehr"), + onTap: () { + Navigator.push( + context, + MaterialPageRoute( + builder: (context) => const UserSettings()), + ); + }, + ), ), - ListTile( - leading: - const Icon(MdiIcons.timetable, color: Colors.orangeAccent), - trailing: const Icon(Icons.arrow_forward_ios, size: 16), - title: const Text("Plan"), - subtitle: const Text("Kurse/Fächer, Farben & mehr"), - onTap: () { - Navigator.push( - context, - MaterialPageRoute(builder: (context) => const PlanSettings()), - ); - }, + Padding( + padding: const EdgeInsets.all(5), + child: ListTile( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(15.0)), + leading: const Icon(Icons.list_alt_outlined, color: Colors.red), + trailing: const Icon(Icons.arrow_forward_ios, size: 16), + title: const Text("Kurse"), + subtitle: const Text("Konfiguration der Kurse"), + onTap: () { + Navigator.push( + context, + MaterialPageRoute( + builder: (context) => const WhitelistSettings()), + ); + }, + ), ), - ListTile( - leading: const Icon(Icons.color_lens_outlined, - color: Colors.pinkAccent), - trailing: const Icon(Icons.arrow_forward_ios, size: 16), - title: const Text("Aussehen"), - subtitle: const Text("Widgets, Design & mehr"), - onTap: () { - Navigator.push( - context, - MaterialPageRoute( - builder: (context) => const AppearanceSettings()), - ); - }, + Padding( + padding: const EdgeInsets.all(5), + child: ListTile( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(15.0)), + leading: + const Icon(Icons.color_lens_outlined, color: Colors.teal), + trailing: const Icon(Icons.arrow_forward_ios, size: 16), + title: const Text("Farben"), + subtitle: + const Text("Konfiguration der Farben für die Plankacheln"), + onTap: () { + Navigator.push( + context, + MaterialPageRoute( + builder: (context) => const PlanColorSettings()), + ); + }, + ), ), - ListTile( - leading: const Icon(MdiIcons.server, color: Colors.lightGreen), - trailing: const Icon(Icons.arrow_forward_ios, size: 16), - title: const Text("Dienste"), - subtitle: const Text("Konten, Plattformen & mehr"), - onTap: () { - Navigator.push( - context, - MaterialPageRoute( - builder: (context) => const ServiceSettings()), - ); - }, + Padding( + padding: const EdgeInsets.all(5), + child: ListTile( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(15.0)), + leading: const Icon(Icons.developer_mode_outlined, + color: Colors.deepOrangeAccent), + trailing: const Icon(Icons.arrow_forward_ios, size: 16), + title: const Text("Entwickleroptionen"), + subtitle: const Text("API, Benutzerdaten & mehr"), + onTap: () { + Navigator.push( + context, + MaterialPageRoute( + builder: (context) => const DevSettings()), + ); + }, + ), ), - ListTile( - leading: const Icon(Icons.developer_mode_outlined, - color: Colors.deepOrangeAccent), - trailing: const Icon(Icons.arrow_forward_ios, size: 16), - title: const Text("Entwickleroptionen"), - subtitle: const Text("API, Benutzerdaten & mehr"), - onTap: () { - Navigator.push( - context, - MaterialPageRoute(builder: (context) => const DevSettings()), - ); - }, - ), - ListTile( - leading: - const Icon(Icons.info_outlined, color: Colors.greenAccent), - trailing: const Icon(Icons.arrow_forward_ios, size: 16), - title: const Text("Informationen"), - subtitle: const Text("Version, Lizenzen & mehr"), - onTap: () { - Navigator.push( - context, - MaterialPageRoute(builder: (context) => const InfoSettings()), - ); - }, + Padding( + padding: const EdgeInsets.all(5), + child: ListTile( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(15.0)), + leading: + const Icon(Icons.info_outlined, color: Colors.greenAccent), + trailing: const Icon(Icons.arrow_forward_ios, size: 16), + title: const Text("Informationen"), + subtitle: const Text("Version, Lizenzen & mehr"), + onTap: () { + Navigator.push( + context, + MaterialPageRoute( + builder: (context) => const InfoSettings()), + ); + }, + ), ), ], )); diff --git a/lib/background_fetch.dart b/lib/background_fetch.dart new file mode 100644 index 0000000..11b7da0 --- /dev/null +++ b/lib/background_fetch.dart @@ -0,0 +1,258 @@ +import 'dart:convert'; + +import 'package:flutter_local_notifications/flutter_local_notifications.dart'; +import 'package:intl/intl.dart'; +import 'package:meincantor/timetable.dart'; +import 'package:shared_preferences/shared_preferences.dart'; +import 'package:http/http.dart' as http; + +import 'package:meincantor/networking.dart'; + +Future backgroundFetchTimetable() async { + SharedPreferences prefs = await SharedPreferences.getInstance(); + + String? todayTimetable = prefs.getString("todayTimetable"); + String? tomorrowTimetable = prefs.getString("tomorrowTimetable"); + + http.Response todayResponse = await fetchClassTimetable( + "/${DateFormat("yyyyMMdd").format(DateTime.now())}", null); + + http.Response tomorrowResponse = await fetchClassTimetable( + "/${DateFormat("yyyyMMdd").format(DateTime.now().add(const Duration(days: 1)))}", + null); + + if (todayResponse.statusCode == 200) { + if (todayTimetable != todayResponse.body) { + FlutterLocalNotificationsPlugin flutterLocalNotificationsPlugin = + FlutterLocalNotificationsPlugin(); + const AndroidNotificationDetails + androidPlatformChannelSpecificsTodayPlan = AndroidNotificationDetails( + 'de.cantorgymnasium.meincantor.today.plan', + 'Vertretungsplan für heute', + channelDescription: '', + importance: Importance.max, + priority: Priority.high, + ticker: 'ticker'); + const NotificationDetails platformChannelSpecificsTodayPlan = + NotificationDetails( + android: androidPlatformChannelSpecificsTodayPlan); + + const AndroidNotificationDetails + androidPlatformChannelSpecificsTodayInfo = AndroidNotificationDetails( + 'de.cantorgymnasium.meincantor.today.info', + 'Informationen für heute', + channelDescription: '', + importance: Importance.max, + priority: Priority.high, + ticker: 'ticker'); + const NotificationDetails platformChannelSpecificsTodayInfo = + NotificationDetails( + android: androidPlatformChannelSpecificsTodayInfo); + + List lessonsList = + ClassTimetable.fromJson(jsonDecode(todayResponse.body)).timetable; + List changedLessons = []; + for (var element in lessonsList) { + if (element.info.isNotEmpty) { + changedLessons.add(element.count); + } + } + String subtitle; + if (changedLessons.isNotEmpty && changedLessons.length > 1) { + subtitle = "Änderungen in den Stunden "; + for (var i in changedLessons) { + subtitle += "$i"; + if (changedLessons.indexOf(i) != changedLessons.length - 1) { + subtitle += ", "; + } + } + } else if (changedLessons.isNotEmpty && changedLessons.length == 1) { + subtitle = "Änderungen in Stunde ${changedLessons[0]}"; + } else { + subtitle = "Keine Änderungen im Plan gefunden!"; + } + await flutterLocalNotificationsPlugin.show( + 0, + 'Neuer Vertretungsplan für heute geladen!', + subtitle, + platformChannelSpecificsTodayPlan, + payload: 'item x'); + if ((jsonDecode(todayResponse.body)["info"] as String).isNotEmpty) { + await flutterLocalNotificationsPlugin.show( + 1, + 'Informationen für heute', + (jsonDecode(todayResponse.body)["info"] as String), + platformChannelSpecificsTodayInfo, + payload: 'item x'); + } + prefs.setString("todayTimetable", todayResponse.body); + } + } + + if (tomorrowResponse.statusCode == 200) { + if (tomorrowTimetable != tomorrowResponse.body) { + FlutterLocalNotificationsPlugin flutterLocalNotificationsPlugin = + FlutterLocalNotificationsPlugin(); + const AndroidNotificationDetails + androidPlatformChannelSpecificsTomorrowPlan = + AndroidNotificationDetails( + 'de.cantorgymnasium.meincantor.tomorrow.plan', + 'Vertretungsplan für morgen', + channelDescription: '', + importance: Importance.max, + priority: Priority.high, + ticker: 'ticker'); + const NotificationDetails platformChannelSpecificsTomorrowPlan = + NotificationDetails( + android: androidPlatformChannelSpecificsTomorrowPlan); + + const AndroidNotificationDetails + androidPlatformChannelSpecificsTomorrowInfo = + AndroidNotificationDetails( + 'de.cantorgymnasium.meincantor.tomorrow.info', + 'Informationen für morgen', + channelDescription: '', + importance: Importance.max, + priority: Priority.high, + ticker: 'ticker'); + const NotificationDetails platformChannelSpecificsTomorrowInfo = + NotificationDetails( + android: androidPlatformChannelSpecificsTomorrowInfo); + + List lessonsList = + ClassTimetable.fromJson(jsonDecode(tomorrowResponse.body)).timetable; + List changedLessons = []; + for (var element in lessonsList) { + if (element.info.isNotEmpty) { + changedLessons.add(element.count); + } + } + String subtitle; + if (changedLessons.isNotEmpty && changedLessons.length > 1) { + subtitle = "Änderungen in den Stunden "; + for (var i in changedLessons) { + subtitle += "$i"; + if (changedLessons.indexOf(i) != changedLessons.length - 1) { + subtitle += ", "; + } + } + } else if (changedLessons.isNotEmpty && changedLessons.length == 1) { + subtitle = "Änderungen in Stunde ${changedLessons[0]}"; + } else { + subtitle = "Keine Änderungen im Plan gefunden!"; + } + await flutterLocalNotificationsPlugin.show( + 2, + 'Neuer Vertretungsplan für morgen geladen!', + subtitle, + platformChannelSpecificsTomorrowPlan, + payload: 'item x'); + if ((jsonDecode(tomorrowResponse.body)["info"] as String).isNotEmpty) { + await flutterLocalNotificationsPlugin.show( + 3, + 'Informationen für morgen', + (jsonDecode(tomorrowResponse.body)["info"] as String), + platformChannelSpecificsTomorrowInfo, + payload: 'item x'); + } + prefs.setString("tomorrowTimetable", tomorrowResponse.body); + } + } +} + +Future backgroundFetchArticles() async { + SharedPreferences prefs = await SharedPreferences.getInstance(); + + String? articles = prefs.getString("articles"); + String? news = prefs.getString("news"); + + http.Response fetchedArticles = await getArticles(); + + http.Response fetchedNews = await getNews(); + + if (fetchedArticles.statusCode == 200) { + if (articles != fetchedArticles.body) { + FlutterLocalNotificationsPlugin flutterLocalNotificationsPlugin = + FlutterLocalNotificationsPlugin(); + const AndroidNotificationDetails androidPlatformChannelSpecificsSZ = + AndroidNotificationDetails( + 'de.cantorgymnasium.meincantor.sz', 'Schülerzeitung', + channelDescription: '', + importance: Importance.max, + priority: Priority.high, + ticker: 'ticker'); + const NotificationDetails platformChannelSpecificsSZ = + NotificationDetails(android: androidPlatformChannelSpecificsSZ); + + String subtitle; + List listFetchedArticles = jsonDecode(fetchedArticles.body)["data"]; + if (articles != null && articles.isNotEmpty) { + List listSavedArticles = jsonDecode(articles)["data"]; + int diff = listFetchedArticles.length - listSavedArticles.length; + diff == 1 + ? subtitle = "1 neuer Artikel!" + : diff > 1 + ? subtitle = "$diff neue Artikel!" + : subtitle = "Fehler beim Ermitteln der Änderungen!"; + } else { + int len = listFetchedArticles.length; + len == 1 + ? subtitle = "1 neuer Artikel!" + : len > 1 + ? subtitle = "$len neue Artikel!" + : subtitle = "Fehler beim Ermitteln der Änderungen!"; + } + + await flutterLocalNotificationsPlugin.show( + 4, + 'Neuer Inhalt von der Schülerzeitung verfügbar!', + subtitle, + platformChannelSpecificsSZ, + payload: 'item x'); + prefs.setString("articles", fetchedArticles.body); + } + } + + if (fetchedNews.statusCode == 200) { + if (news != fetchedNews.body) { + FlutterLocalNotificationsPlugin flutterLocalNotificationsPlugin = + FlutterLocalNotificationsPlugin(); + const AndroidNotificationDetails androidPlatformChannelSpecificsNews = + AndroidNotificationDetails( + 'de.cantorgymnasium.meincantor.news', 'Aktuelles', + channelDescription: '', + importance: Importance.max, + priority: Priority.high, + ticker: 'ticker'); + const NotificationDetails platformChannelSpecificsNews = + NotificationDetails(android: androidPlatformChannelSpecificsNews); + + String subtitle; + List listFetchedNews = jsonDecode(fetchedNews.body)["data"]; + if (news != null && news.isNotEmpty) { + List listSavedNews = jsonDecode(news)["data"]; + int diff = listFetchedNews.length - listSavedNews.length; + diff == 1 + ? subtitle = "1 neuer Artikel!" + : diff > 1 + ? subtitle = "$diff neue Artikel!" + : subtitle = "Fehler beim Ermitteln der Änderungen!"; + } else { + int len = listFetchedNews.length; + len == 1 + ? subtitle = "1 neuer Artikel!" + : len > 1 + ? subtitle = "$len neue Artikel!" + : subtitle = "Fehler beim Ermitteln der Änderungen!"; + } + + await flutterLocalNotificationsPlugin.show( + 5, + 'Neue Informationen verfügbar!', + subtitle, + platformChannelSpecificsNews, + payload: 'item x'); + prefs.setString("news", fetchedNews.body); + } + } +} diff --git a/lib/cache_manager.dart b/lib/cache_manager.dart index 4f384b9..1ebb3b3 100644 --- a/lib/cache_manager.dart +++ b/lib/cache_manager.dart @@ -3,10 +3,12 @@ import 'dart:convert'; import 'package:flutter_cache_manager/flutter_cache_manager.dart'; import 'package:shared_preferences/shared_preferences.dart'; -Future getCachedTimetable(String ext) async { +Future getCachedTimetable(String ext, String? presetClassNum) async { SharedPreferences prefs = await SharedPreferences.getInstance(); String classNum; - if (prefs.getString('class_num') != null) { + if (presetClassNum != null) { + classNum = presetClassNum.replaceAll("/", "_"); + } else if (prefs.getString('class_num') != null) { classNum = prefs.getString('class_num')!.replaceAll("/", "_"); } else { classNum = '05_1'; diff --git a/lib/dashboard.dart b/lib/dashboard.dart index 486d737..5444e89 100644 --- a/lib/dashboard.dart +++ b/lib/dashboard.dart @@ -1,8 +1,9 @@ -import 'package:flutter_local_notifications/flutter_local_notifications.dart'; +import 'dart:convert'; +import 'dart:math'; + +import 'package:background_fetch/background_fetch.dart'; +import 'package:meincantor/background_fetch.dart'; import 'package:meincantor/const.dart'; -import 'package:meincantor/raumuebersicht.dart'; -import 'package:meincantor/schulbibliothek.dart'; -import 'package:meincantor/schulcomputer.dart'; import 'package:meincantor/schuelerzeitung.dart'; import 'package:meincantor/Settings/dashboard.dart'; @@ -16,17 +17,9 @@ import 'package:google_fonts/google_fonts.dart'; import 'package:intl/intl.dart'; import 'package:shared_preferences/shared_preferences.dart'; import 'package:material_design_icons_flutter/material_design_icons_flutter.dart'; +import 'package:http/http.dart' as http; -import 'news.dart'; - -class Dashboard extends StatefulWidget { - const Dashboard({Key? key, this.restorationId}) : super(key: key); - - final String? restorationId; - - @override - State createState() => _DashboardState(); -} +import 'package:meincantor/news.dart'; Future getSettingsString(String key) async { SharedPreferences prefs = await SharedPreferences.getInstance(); @@ -44,77 +37,262 @@ Widget buildSettingsString(String key, TextStyle? style) { if (snapshot.hasData) { return Text(snapshot.data as String, style: style); } else { - return (const Center(child: CircularProgressIndicator())); + return const SizedBox.shrink(); } }); } +Future> getFavClasses() async { + SharedPreferences prefs = await SharedPreferences.getInstance(); + List? listJson = prefs.getStringList("favClasses"); + if (listJson == null || listJson.isEmpty) { + return []; + } else { + return listJson; + } +} + +List buildFavClasses( + BuildContext context, List favClasses, Function removeFavClass) { + if (favClasses.isEmpty) { + return [const SizedBox.shrink()]; + } else { + List list = []; + for (var element in favClasses) { + var card = SizedBox( + width: 170, + child: GestureDetector( + onTap: () async { + Navigator.push( + context, + MaterialPageRoute( + builder: (context) => DefaultTabController( + initialIndex: 0, + length: 3, + child: Scaffold( + appBar: AppBar( + leading: null, + elevation: 0, + title: Text("Klasse $element"), + bottom: const TabBar( + indicatorColor: Palette.accent, + enableFeedback: true, + indicatorPadding: EdgeInsets.all(5), + indicatorSize: TabBarIndicatorSize.label, + tabs: [ + Tab( + text: "Heute", + icon: Icon(Icons.calendar_today_outlined), + ), + Tab( + text: "Morgen", + icon: Icon(MdiIcons.calendarToday), + ), + Tab( + text: "Neuster Plan", + icon: Icon(Icons.calendar_view_day_outlined), + ), + ], + ), + ), + body: TabBarView( + children: [ + LayoutBuilder(builder: (context, constraints) { + double widgetWidth = constraints.maxWidth; + + int factor; + + if (widgetWidth <= 600) { + factor = 1; + } else if (widgetWidth <= 1400) { + factor = 2; + } else if (widgetWidth <= 2000) { + factor = 3; + } else { + factor = 1; + } + + return Center( + heightFactor: 1, + child: Container( + constraints: BoxConstraints( + maxWidth: + MediaQuery.of(context).size.width / + factor, + ), + child: buildTimetable( + fetchClassTimetable( + "/${DateFormat("yyyyMMdd").format(DateTime.now())}", + element), + "Vertretungsplan für heute"), + )); + }), + LayoutBuilder(builder: (context, constraints) { + double widgetWidth = constraints.maxWidth; + + int factor; + + if (widgetWidth <= 600) { + factor = 1; + } else if (widgetWidth <= 1400) { + factor = 2; + } else if (widgetWidth <= 2000) { + factor = 3; + } else { + factor = 1; + } + + return Center( + heightFactor: 1, + child: Container( + constraints: BoxConstraints( + maxWidth: + MediaQuery.of(context).size.width / + factor, + ), + child: buildTimetable( + fetchClassTimetable( + "/${DateFormat("yyyyMMdd").format(DateTime.now().add(const Duration(days: 1)))}", + element), + "Vertretungsplan für morgen"), + )); + }), + LayoutBuilder(builder: (context, constraints) { + double widgetWidth = constraints.maxWidth; + + int factor; + + if (widgetWidth <= 600) { + factor = 1; + } else if (widgetWidth <= 1400) { + factor = 2; + } else if (widgetWidth <= 2000) { + factor = 3; + } else { + factor = 1; + } + + return Center( + heightFactor: 1, + child: Container( + constraints: BoxConstraints( + maxWidth: MediaQuery.of(context) + .size + .width / + factor, + ), + child: buildTimetable( + fetchClassTimetable( + "/latest", element), + "aktueller Vertretungsplan"))); + }), + ], + ), + )))); + }, + onLongPress: () async { + SharedPreferences prefs = await SharedPreferences.getInstance(); + List stringList = prefs.getStringList("favClasses")!; + stringList.remove(element); + prefs.setStringList("favClasses", stringList); + removeFavClass(element); + }, + child: Card( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(10), + ), + child: Container( + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(10), + gradient: LinearGradient( + begin: Alignment.topRight, + end: Alignment.bottomLeft, + colors: [ + Colors.primaries[ + Random().nextInt(Colors.primaries.length)], + Colors.primaries[ + Random().nextInt(Colors.primaries.length)], + ], + )), + child: Padding( + padding: const EdgeInsets.all(10), + child: Center( + child: Padding( + padding: const EdgeInsets.fromLTRB(15, 15, 15, 15), + child: Text( + element, + style: const TextStyle(color: Colors.white), + textScaleFactor: 2.0, + ), + ), + ), + )), + ), + ), + ); + list.add(card); + } + return (list); + } +} + +class Dashboard extends StatefulWidget { + const Dashboard({Key? key, this.restorationId}) : super(key: key); + + final String? restorationId; + + @override + State createState() => _DashboardState(); +} + class _DashboardState extends State with RestorationMixin { final RestorableInt _currentIndex = RestorableInt(0); + + @override + void initState() { + super.initState(); + initPlatformState(); + } + + Future initPlatformState() async { + // Configure BackgroundFetch. + int status = await BackgroundFetch.configure( + BackgroundFetchConfig( + minimumFetchInterval: 15, + stopOnTerminate: false, + enableHeadless: true, + startOnBoot: true, + requiresBatteryNotLow: false, + requiresCharging: false, + requiresStorageNotLow: false, + requiresDeviceIdle: false, + requiredNetworkType: NetworkType.ANY), (String taskId) async { + // <-- Event handler + // This is the fetch-event callback. + print("[BackgroundFetch] Event received $taskId"); + + await backgroundFetchTimetable(); + await backgroundFetchArticles(); + + // IMPORTANT: You must signal completion of your task or the OS can punish your app + // for taking too long in the background. + BackgroundFetch.finish(taskId); + }, (String taskId) async { + // <-- Task timeout handler. + // This task has exceeded its allowed running-time. You must stop what you're doing and immediately .finish(taskId) + print("[BackgroundFetch] TASK TIMEOUT taskId: $taskId"); + BackgroundFetch.finish(taskId); + }); + print('[BackgroundFetch] configure success: $status'); + + // If the widget was removed from the tree while the asynchronous platform + // message was in flight, we want to discard the reply rather than calling + // setState to update our non-existent appearance. + if (!mounted) return; + } + @override Widget build(BuildContext context) { - final drawerElements = ListView( - children: [ - UserAccountsDrawerHeader( - accountName: buildSettingsString('name', const TextStyle()), - accountEmail: buildSettingsString('user', const TextStyle()), - currentAccountPicture: FutureBuilder( - future: Future.sync(() async { - SharedPreferences prefs = await SharedPreferences.getInstance(); - String? user = prefs.getString("user"); - if (user == null || user.isEmpty) { - user = ""; - } - String? name = prefs.getString("name"); - if (name == null || name.isEmpty) { - name = ""; - } - Map data = {"user": user, "name": name }; - return data; - }), - builder: (context, snapshot) { - if (snapshot.hasData) { - // .svg?text=${(snapshot.data! as Map)['name'][0]} - String url = "$avatarUrl/${(snapshot.data! as Map)['user']}"; - return Container( - decoration: BoxDecoration( - shape: BoxShape.circle, - image: DecorationImage( - fit: BoxFit.scaleDown, - image: NetworkImage(url) - ) - ) - ); - } else { - return const CircularProgressIndicator(); - } - }, - ) - ), - ListTile( - title: const Text("Einstellungen"), - onTap: () { - Navigator.push( - context, - MaterialPageRoute(builder: (context) => const Settings()), - ); - }, - leading: const Icon(Icons.settings_outlined), - ), - ListTile( - title: const Text("Abmelden"), - onTap: () async { - SharedPreferences prefs = await SharedPreferences.getInstance(); - prefs.setString('api_key', ""); - Navigator.pushReplacement( - context, - MaterialPageRoute(builder: (context) => Login()), - ); - }, - leading: const Icon(Icons.exit_to_app_outlined), - ), - ], - ); var bottomNavBarItems = [ const BottomNavigationBarItem( icon: Icon(MdiIcons.homeOutline), @@ -122,19 +300,10 @@ class _DashboardState extends State with RestorationMixin { ), const BottomNavigationBarItem( icon: Icon(MdiIcons.timetable), label: "Vertretungsplan"), - const BottomNavigationBarItem( - icon: Icon(Icons.notifications_outlined), label: "Hinweise"), ]; return Scaffold( - appBar: AppBar( - title: const Text("GCG.MeinCantor"), - centerTitle: true, - ), body: _DashboardBottomNavView( key: UniqueKey(), item: bottomNavBarItems[_currentIndex.value]), - drawer: Drawer( - child: drawerElements, - ), bottomNavigationBar: BottomNavigationBar( showUnselectedLabels: false, items: bottomNavBarItems, @@ -157,67 +326,168 @@ class _DashboardState extends State with RestorationMixin { } } -class _DashboardBottomNavView extends StatelessWidget { +class _DashboardBottomNavView extends StatefulWidget { const _DashboardBottomNavView({Key? key, required this.item}) : super(key: key); final BottomNavigationBarItem item; + @override + // ignore: no_logic_in_create_state + State createState() => _DashboardBottomNavViewState(item); +} + +class _DashboardBottomNavViewState extends State<_DashboardBottomNavView> { + final BottomNavigationBarItem item; + _DashboardBottomNavViewState(this.item); + + List favClasses = []; + + void removeFavClass(String classNum) { + setState(() { + favClasses.remove(classNum); + }); + } + @override Widget build(BuildContext context) { + final drawerElements = ListView( + children: [ + UserAccountsDrawerHeader( + accountName: buildSettingsString('name', const TextStyle()), + accountEmail: buildSettingsString('email', const TextStyle()), + currentAccountPicture: FutureBuilder( + future: Future.sync(() async { + SharedPreferences prefs = await SharedPreferences.getInstance(); + String? user = prefs.getString("user"); + if (user == null || user.isEmpty) { + user = ""; + } + String? name = prefs.getString("name"); + if (name == null || name.isEmpty) { + name = ""; + } + Map data = {"user": user, "name": name}; + return data; + }), + builder: (context, snapshot) { + if (snapshot.hasData) { + String url = "$avatarUrl/${(snapshot.data! as Map)['user']}"; + return Container( + decoration: BoxDecoration( + shape: BoxShape.circle, + image: DecorationImage( + fit: BoxFit.scaleDown, + image: NetworkImage(url)))); + } else { + return const CircularProgressIndicator(); + } + }, + )), + Padding( + padding: const EdgeInsets.all(5), + child: ListTile( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(15.0)), + title: const Text("Einstellungen"), + onTap: () { + Navigator.push( + context, + MaterialPageRoute(builder: (context) => const Settings()), + ); + }, + leading: const Icon(Icons.settings_outlined), + ), + ), + Padding( + padding: const EdgeInsets.all(5), + child: ListTile( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(15.0)), + title: const Text("Abmelden"), + onTap: () async { + return showDialog( + context: context, + barrierDismissible: false, // user must tap button! + builder: (BuildContext context) { + return AlertDialog( + title: const Text('Abmelden'), + content: SingleChildScrollView( + child: ListBody( + children: const [ + Text( + 'Dabei werden alle persönlichen Enstellungen gelöscht!'), + ], + ), + ), + actions: [ + TextButton( + child: const Text('Bestätigen'), + onPressed: () async { + SharedPreferences prefs = + await SharedPreferences.getInstance(); + prefs.clear(); + Navigator.pushReplacement( + context, + MaterialPageRoute(builder: (context) => Login()), + ); + }, + ), + ], + ); + }, + ); + }, + leading: const Icon(Icons.exit_to_app_outlined), + ), + ), + ], + ); if (item.label == "Startseite") { double _timeOfDayToDouble(TimeOfDay tod) => tod.hour + tod.minute / 60.0; int lessonCount; - if (_timeOfDayToDouble(TimeOfDay.now()) <= - _timeOfDayToDouble(const TimeOfDay(hour: 7, minute: 30))) { - lessonCount = 1; - } else if (_timeOfDayToDouble(TimeOfDay.now()) > - _timeOfDayToDouble(const TimeOfDay(hour: 7, minute: 30)) && - _timeOfDayToDouble(TimeOfDay.now()) <= - _timeOfDayToDouble(const TimeOfDay(hour: 8, minute: 20))) { - lessonCount = 2; - } else if (_timeOfDayToDouble(TimeOfDay.now()) > - _timeOfDayToDouble(const TimeOfDay(hour: 8, minute: 20)) && - _timeOfDayToDouble(TimeOfDay.now()) <= - _timeOfDayToDouble(const TimeOfDay(hour: 9, minute: 25))) { - lessonCount = 3; - } else if (_timeOfDayToDouble(TimeOfDay.now()) > - _timeOfDayToDouble(const TimeOfDay(hour: 9, minute: 25)) && - _timeOfDayToDouble(TimeOfDay.now()) <= - _timeOfDayToDouble(const TimeOfDay(hour: 10, minute: 15))) { - lessonCount = 4; - } else if (_timeOfDayToDouble(TimeOfDay.now()) > - _timeOfDayToDouble(const TimeOfDay(hour: 10, minute: 15)) && - _timeOfDayToDouble(TimeOfDay.now()) <= - _timeOfDayToDouble(const TimeOfDay(hour: 11, minute: 30))) { - lessonCount = 5; - } else if (_timeOfDayToDouble(TimeOfDay.now()) > - _timeOfDayToDouble(const TimeOfDay(hour: 11, minute: 30)) && - _timeOfDayToDouble(TimeOfDay.now()) <= - _timeOfDayToDouble(const TimeOfDay(hour: 12, minute: 20))) { - lessonCount = 6; - } else if (_timeOfDayToDouble(TimeOfDay.now()) > - _timeOfDayToDouble(const TimeOfDay(hour: 12, minute: 20)) && - _timeOfDayToDouble(TimeOfDay.now()) <= - _timeOfDayToDouble(const TimeOfDay(hour: 13, minute: 30))) { - lessonCount = 7; - } else if (_timeOfDayToDouble(TimeOfDay.now()) > - _timeOfDayToDouble(const TimeOfDay(hour: 13, minute: 30)) && - _timeOfDayToDouble(TimeOfDay.now()) <= - _timeOfDayToDouble(const TimeOfDay(hour: 14, minute: 20))) { - lessonCount = 8; - } else if (_timeOfDayToDouble(TimeOfDay.now()) > - _timeOfDayToDouble(const TimeOfDay(hour: 14, minute: 20)) && - _timeOfDayToDouble(TimeOfDay.now()) <= - _timeOfDayToDouble(const TimeOfDay(hour: 15, minute: 10))) { - lessonCount = 9; - } else if (_timeOfDayToDouble(TimeOfDay.now()) > - _timeOfDayToDouble(const TimeOfDay(hour: 15, minute: 10)) && - _timeOfDayToDouble(TimeOfDay.now()) <= - _timeOfDayToDouble(const TimeOfDay(hour: 16, minute: 00))) { - lessonCount = 10; - } else { - lessonCount = -1; - } + _timeOfDayToDouble(TimeOfDay.now()) <= + _timeOfDayToDouble(const TimeOfDay(hour: 7, minute: 30)) + ? lessonCount = 1 + : _timeOfDayToDouble(TimeOfDay.now()) > _timeOfDayToDouble(const TimeOfDay(hour: 7, minute: 30)) && + _timeOfDayToDouble(TimeOfDay.now()) <= + _timeOfDayToDouble(const TimeOfDay(hour: 8, minute: 20)) + ? lessonCount = 2 + : _timeOfDayToDouble(TimeOfDay.now()) > _timeOfDayToDouble(const TimeOfDay(hour: 8, minute: 20)) && + _timeOfDayToDouble(TimeOfDay.now()) <= + _timeOfDayToDouble( + const TimeOfDay(hour: 9, minute: 25)) + ? lessonCount = 3 + : _timeOfDayToDouble(TimeOfDay.now()) > _timeOfDayToDouble(const TimeOfDay(hour: 9, minute: 25)) && + _timeOfDayToDouble(TimeOfDay.now()) <= + _timeOfDayToDouble( + const TimeOfDay(hour: 10, minute: 15)) + ? lessonCount = 4 + : _timeOfDayToDouble(TimeOfDay.now()) > + _timeOfDayToDouble( + const TimeOfDay(hour: 10, minute: 15)) && + _timeOfDayToDouble(TimeOfDay.now()) <= + _timeOfDayToDouble( + const TimeOfDay(hour: 11, minute: 30)) + ? lessonCount = 5 + : _timeOfDayToDouble(TimeOfDay.now()) > _timeOfDayToDouble(const TimeOfDay(hour: 11, minute: 30)) && + _timeOfDayToDouble(TimeOfDay.now()) <= + _timeOfDayToDouble( + const TimeOfDay(hour: 12, minute: 20)) + ? lessonCount = 6 + : _timeOfDayToDouble(TimeOfDay.now()) > _timeOfDayToDouble(const TimeOfDay(hour: 12, minute: 20)) && + _timeOfDayToDouble(TimeOfDay.now()) <= + _timeOfDayToDouble(const TimeOfDay( + hour: 13, minute: 30)) + ? lessonCount = 7 + : _timeOfDayToDouble(TimeOfDay.now()) > _timeOfDayToDouble(const TimeOfDay(hour: 13, minute: 30)) && + _timeOfDayToDouble(TimeOfDay.now()) <= + _timeOfDayToDouble(const TimeOfDay(hour: 14, minute: 20)) + ? lessonCount = 8 + : _timeOfDayToDouble(TimeOfDay.now()) > _timeOfDayToDouble(const TimeOfDay(hour: 14, minute: 20)) && _timeOfDayToDouble(TimeOfDay.now()) <= _timeOfDayToDouble(const TimeOfDay(hour: 15, minute: 10)) + ? lessonCount = 9 + : _timeOfDayToDouble(TimeOfDay.now()) > _timeOfDayToDouble(const TimeOfDay(hour: 15, minute: 10)) && _timeOfDayToDouble(TimeOfDay.now()) <= _timeOfDayToDouble(const TimeOfDay(hour: 16, minute: 00)) + ? lessonCount = 10 + : lessonCount = -1; var view = SingleChildScrollView( child: Column(children: [ @@ -274,152 +544,40 @@ class _DashboardBottomNavView extends StatelessWidget { child: Wrap( children: [ SizedBox( - child: GestureDetector( - onTap: () async { - Navigator.push( - context, - MaterialPageRoute(builder: (context) => const SZ()), - ); - }, - child: Card( - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(10), - ), - child: const Padding( - padding: EdgeInsets.all(10), - child: ListTile( - title: Padding( - padding: EdgeInsets.fromLTRB(0, 0, 0, 10), - child: Icon( - MdiIcons.newspaper, - color: Palette.accent, - size: 48, + width: 175, + child: GestureDetector( + onTap: () async { + Navigator.push( + context, + MaterialPageRoute(builder: (context) => const SZ()), + ); + }, + child: Card( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(10), + ), + child: const Padding( + padding: EdgeInsets.all(10), + child: ListTile( + title: Padding( + padding: EdgeInsets.fromLTRB(0, 0, 0, 10), + child: Icon( + MdiIcons.newspaper, + color: Palette.accent, + size: 48, + ), ), - ), - subtitle: Center( - child: Padding( - padding: EdgeInsets.fromLTRB(0, 10, 0, 0), - child: Text( - 'Schülerzeitung', + subtitle: Center( + child: Padding( + padding: EdgeInsets.fromLTRB(0, 10, 0, 0), + child: Text('Schülerzeitung'), ), ), ), - ), - )), - ), - width: 170, - ), + )), + )), SizedBox( - width: 170, - child: GestureDetector( - onTap: () async { - Navigator.push( - context, - MaterialPageRoute(builder: (context) => const SB()), - ); - }, - child: Card( - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(10), - ), - child: const Padding( - padding: EdgeInsets.all(10), - child: ListTile( - title: Padding( - padding: EdgeInsets.fromLTRB(0, 0, 0, 10), - child: Icon( - MdiIcons.libraryShelves, - color: Palette.accent, - size: 48, - ), - ), - subtitle: Center( - child: Padding( - padding: EdgeInsets.fromLTRB(0, 10, 0, 0), - child: Text( - 'Schulbibliothek', - ), - ), - ), - ), - )), - ), - ), - SizedBox( - width: 170, - child: GestureDetector( - onTap: () async { - Navigator.push( - context, - MaterialPageRoute(builder: (context) => const SC()), - ); - }, - child: Card( - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(10), - ), - child: const Padding( - padding: EdgeInsets.all(10), - child: ListTile( - title: Padding( - padding: EdgeInsets.fromLTRB(0, 0, 0, 10), - child: Icon( - MdiIcons.laptop, - color: Palette.accent, - size: 48, - ), - ), - subtitle: Center( - child: Padding( - padding: EdgeInsets.fromLTRB(0, 10, 0, 0), - child: Text( - 'Schulcomputer', - ), - ), - ), - ), - )), - ), - ), - SizedBox( - width: 170, - child: GestureDetector( - onTap: () async { - Navigator.push( - context, - MaterialPageRoute( - builder: (context) => const RoomOverview()), - ); - }, - child: Card( - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(10), - ), - child: const Padding( - padding: EdgeInsets.all(10), - child: ListTile( - title: Padding( - padding: EdgeInsets.fromLTRB(0, 0, 0, 10), - child: Icon( - MdiIcons.door, - color: Palette.accent, - size: 48, - ), - ), - subtitle: Center( - child: Padding( - padding: EdgeInsets.fromLTRB(0, 10, 0, 0), - child: Text( - 'Raumübersicht', - ), - ), - ), - ), - )), - ), - ), - SizedBox( - width: 170, + width: 175, child: GestureDetector( onTap: () async { Navigator.push( @@ -457,77 +615,342 @@ class _DashboardBottomNavView extends StatelessWidget { ], ), ), + Padding( + padding: const EdgeInsets.fromLTRB(20, 0, 20, 20), + child: Column( + children: [ + const ListTile(title: Text("Favorisierte Klassen")), + FutureBuilder( + future: getFavClasses(), + builder: (context, snapshot) { + if (snapshot.hasData) { + favClasses = snapshot.data! as List; + return Wrap(children: [ + ...(buildFavClasses( + context, favClasses, removeFavClass)), + SizedBox( + width: 170, + child: GestureDetector( + onTap: () async { + showModalBottomSheet( + isScrollControlled: true, + shape: const RoundedRectangleBorder( + borderRadius: BorderRadius.only( + topLeft: Radius.circular(25.0), + topRight: Radius.circular(25.0)), + ), + context: context, + builder: (BuildContext context) { + return SizedBox( + height: 400, + child: ListView( + children: [ + ListTile( + title: const Text( + "Klasse hinzufügen", + style: TextStyle( + fontWeight: + FontWeight.bold)), + leading: + const Icon(Icons.arrow_back), + onTap: () { + Navigator.of(context).pop(); + }, + ), + FutureBuilder( + future: fetchClassesList(), + builder: (context, snapshot) { + if (snapshot.hasData) { + if (snapshot + .data!.statusCode == + 200) { + List classesList = + []; + for (var classNum + in jsonDecode(snapshot + .data!.body)) { + classesList + .add(ListTile( + title: Text(classNum), + onTap: () async { + SharedPreferences + prefs = + await SharedPreferences + .getInstance(); + if (prefs + .getStringList( + "favClasses") != + null && + prefs + .getStringList( + "favClasses")! + .contains( + classNum)) { + const snackBar = SnackBar( + content: Text( + 'Klasse bereits in den Favoriten')); + ScaffoldMessenger + .of( + context) + .showSnackBar( + snackBar); + } else if (prefs + .getStringList( + "favClasses") == + null) { + List + stringList = [ + classNum + ]; + prefs.setStringList( + "favClasses", + stringList); + } else { + List + stringList = + prefs.getStringList( + "favClasses")!; + stringList.add( + classNum); + prefs.setStringList( + "favClasses", + stringList); + setState(() { + favClasses = + stringList; + }); + } + }, + )); + classesList.add( + const Divider()); + } + return Column( + children: + classesList); + } else if (snapshot + .data!.statusCode == + 500) { + return const Padding( + padding: + EdgeInsets.fromLTRB( + 10, 10, 10, 10), + child: Center( + child: Text( + "Serverfehler. Bitte wende dich an den MeinCantor-Support.")), + ); + } else if (snapshot + .data!.statusCode == + 404) { + return const Padding( + padding: + EdgeInsets.fromLTRB( + 10, 10, 10, 10), + child: Center( + child: Text( + "Keine Verbindung mit dem MeinCantor-Server möglich. Bitte prüfe deine Internetverbindung und deine DNS-Einstellungen oder wende dich an den MeinCantor-Support")), + ); + } else { + return const Center( + child: Text( + "Uups... etwas ist schief gelaufen...")); + } + } else if (snapshot + .hasError) { + return const Center( + child: Text( + "Uups... etwas ist schief gelaufen...")); + } else { + return const Center( + child: + CircularProgressIndicator()); + } + }) + ], + ), + ); + }, + ); + }, + child: Card( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(10), + ), + child: const Padding( + padding: EdgeInsets.all(6), + child: ListTile( + title: Center(child: Text("+")), + subtitle: Center( + child: Text( + 'Klasse hinzufügen', + textScaleFactor: 0.9, + ), + ), + ), + )), + ), + ) + ]); + } else if (snapshot.hasError) { + return const Center( + child: + Text("Uups... etwas ist schief gelaufen...")); + } else { + return const CircularProgressIndicator(); + } + }), + ], + )) ]), ); - return view; + return Scaffold( + appBar: AppBar( + title: const Text("GCG.MeinCantor"), + centerTitle: true, + ), + drawer: Drawer( + child: drawerElements, + ), + body: LayoutBuilder(builder: (context, constraints) { + double widgetWidth = constraints.maxWidth; + + int factor; + + if (widgetWidth <= 600) { + factor = 1; + } else if (widgetWidth <= 1400) { + factor = 2; + } else if (widgetWidth <= 2000) { + factor = 3; + } else { + factor = 1; + } + + return Center( + heightFactor: 1, + child: Container( + constraints: BoxConstraints( + maxWidth: MediaQuery.of(context).size.width / factor, + ), + child: view), + ); + }), + ); } else if (item.label == "Vertretungsplan") { - return LayoutBuilder(builder: (context, constraints) { - double widgetWidth = constraints.maxWidth; + List children = [ + LayoutBuilder(builder: (context, constraints) { + double widgetWidth = constraints.maxWidth; - int factor; + int factor; - if (widgetWidth <= 600) { - factor = 1; - } else if (widgetWidth <= 1400) { - factor = 2; - } else if (widgetWidth <= 2000) { - factor = 3; - } else { - factor = 1; - } + if (widgetWidth <= 600) { + factor = 1; + } else if (widgetWidth <= 1400) { + factor = 2; + } else if (widgetWidth <= 2000) { + factor = 3; + } else { + factor = 1; + } - // print(screenType); - return Center( - child: Container( - constraints: BoxConstraints( - // minHeight: 500, //minimum height - // minWidth: 300, // minimum width - //maximum height set to 100% of vertical height - maxWidth: MediaQuery.of(context).size.width / factor, - //maximum width set to 100% of width - ), - child: DefaultTabController( - initialIndex: 0, - length: 3, - child: Scaffold( - appBar: AppBar( - elevation: 0, - title: const TabBar( - tabs: [ - Tab( - text: "Heute", - icon: Icon(CupertinoIcons.calendar_today), - ), - Tab( - text: "Morgen", - icon: Icon(CupertinoIcons.calendar_today), - ), - Tab( - text: "Neuster Plan", - icon: Icon(CupertinoIcons.calendar), - ), - ], - ), - ), - body: TabBarView( - children: [ - buildTimetable( - fetchClassTimetable( - "/${DateFormat("yyyyMMdd").format(DateTime.now())}"), - "Vertretungsplan für heute"), - buildTimetable( - fetchClassTimetable( - "/${DateFormat("yyyyMMdd").format(DateTime.now().add(const Duration(days: 1)))}"), - "Vertretungsplan für morgen"), - buildTimetable(fetchClassTimetable("/latest"), - "aktueller Vertretungsplan") - ], - ), + return Center( + child: Container( + constraints: BoxConstraints( + maxWidth: MediaQuery.of(context).size.width / factor, ), + child: buildTimetable( + fetchClassTimetable( + "/${DateFormat("yyyyMMdd").format(DateTime.now())}", + null), + "Vertretungsplan für heute"), + ), + ); + }), + LayoutBuilder(builder: (context, constraints) { + double widgetWidth = constraints.maxWidth; + + int factor; + + if (widgetWidth <= 600) { + factor = 1; + } else if (widgetWidth <= 1400) { + factor = 2; + } else if (widgetWidth <= 2000) { + factor = 3; + } else { + factor = 1; + } + + return Center( + child: Container( + constraints: BoxConstraints( + maxWidth: MediaQuery.of(context).size.width / factor, + ), + child: buildTimetable( + fetchClassTimetable( + "/${DateFormat("yyyyMMdd").format(DateTime.now().add(const Duration(days: 1)))}", + null), + "Vertretungsplan für morgen"), + ), + ); + }), + LayoutBuilder(builder: (context, constraints) { + double widgetWidth = constraints.maxWidth; + + int factor; + + if (widgetWidth <= 600) { + factor = 1; + } else if (widgetWidth <= 1400) { + factor = 2; + } else if (widgetWidth <= 2000) { + factor = 3; + } else { + factor = 1; + } + + return Center( + child: Container( + constraints: BoxConstraints( + maxWidth: MediaQuery.of(context).size.width / factor, + ), + child: buildTimetable(fetchClassTimetable("/latest", null), + "aktueller Vertretungsplan")), + ); + }) + ]; + return DefaultTabController( + initialIndex: 0, + length: 3, + child: Scaffold( + appBar: AppBar( + title: const Text("GCG.MeinCantor"), + centerTitle: true, + bottom: const TabBar( + indicatorColor: Palette.accent, + enableFeedback: true, + indicatorPadding: EdgeInsets.all(5), + indicatorSize: TabBarIndicatorSize.label, + tabs: [ + Tab( + text: "Heute", + icon: Icon(Icons.calendar_today_outlined), + ), + Tab( + text: "Morgen", + icon: Icon(MdiIcons.calendarToday), + ), + Tab( + text: "Neuster Plan", + icon: Icon(Icons.calendar_view_day_outlined), + ), + ], ), ), - ); - }); + drawer: Drawer(child: drawerElements), + body: TabBarView(children: children), + ), + ); } else { return const Center(child: Text("Derzeit nichts hier...")); } diff --git a/lib/login.dart b/lib/login.dart index 434e9f7..a5c57c6 100644 --- a/lib/login.dart +++ b/lib/login.dart @@ -3,9 +3,10 @@ import 'dart:convert'; import 'package:flutter/material.dart'; import 'package:flutter/cupertino.dart'; import 'package:http/http.dart'; +import 'package:material_design_icons_flutter/material_design_icons_flutter.dart'; import 'package:shared_preferences/shared_preferences.dart'; -import 'networking.dart'; -import 'dashboard.dart'; +import 'package:meincantor/networking.dart'; +import 'package:meincantor/dashboard.dart'; Future checkKey() async { SharedPreferences prefs = await SharedPreferences.getInstance(); @@ -14,6 +15,7 @@ Future checkKey() async { } class Login extends StatelessWidget { + Login({Key? key}) : super(key: key); final userController = TextEditingController(); final passwordController = TextEditingController(); @@ -39,9 +41,6 @@ class Login extends StatelessWidget { } return Scaffold( - appBar: AppBar( - title: const Text("Anmelden"), - ), body: Center( child: SingleChildScrollView( child: Padding( @@ -54,8 +53,14 @@ class Login extends StatelessWidget { child: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ - Image.asset("assets/images/meincantor_r.png", - height: 192, width: 192), + MediaQuery.of(context).platformBrightness == + Brightness.light + ? Image.asset( + "assets/images/meincantor-big.png", + width: 256) + : Image.asset( + "assets/images/meincantor-big-dark.png", + width: 256), const Divider(), AutofillGroup( child: Column( @@ -65,7 +70,7 @@ class Login extends StatelessWidget { AutofillHints.username ], decoration: const InputDecoration( - icon: Icon(CupertinoIcons.person), + icon: Icon(MdiIcons.identifier), border: OutlineInputBorder(), labelText: 'Benutzername', ), @@ -77,7 +82,7 @@ class Login extends StatelessWidget { AutofillHints.password ], decoration: const InputDecoration( - icon: Icon(CupertinoIcons.lock), + icon: Icon(MdiIcons.lock), border: OutlineInputBorder(), labelText: 'Passwort', ), @@ -89,9 +94,9 @@ class Login extends StatelessWidget { const Divider(), TextField( decoration: const InputDecoration( - icon: Icon(CupertinoIcons.lock), + icon: Icon(MdiIcons.twoFactorAuthentication), border: OutlineInputBorder(), - labelText: '2F2-Code (OTP) [falls aktiviert]', + labelText: '2F2-Code', ), obscureText: true, controller: otpController, @@ -109,18 +114,21 @@ class Login extends StatelessWidget { if (loginResponse.statusCode == 200) { String apiKey = jsonDecode(utf8.decode( loginResponse.bodyBytes))['token']; - await prefs.setString('api_key', apiKey); + prefs.setString('api_key', apiKey); dynamic userinfo = jsonDecode( await getUserInfo( userController.text, passwordController.text, otpController.text, devIdController.text)); - await prefs.setString('user', + prefs.setString('user', userinfo['preferred_username']); - await prefs.setString( - 'name', userinfo['name']); - await prefs.setString( + prefs.setString('user', + userinfo['preferred_username']); + prefs.setString('name', userinfo['name']); + prefs.setString( + 'email', userinfo['email']); + prefs.setString( 'class_num', userinfo['groups'][0] .replaceAll("_", "/")); diff --git a/lib/main.dart b/lib/main.dart index 261669d..cdb3a93 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,32 +1,52 @@ import 'package:flutter/material.dart'; import 'package:flutter_local_notifications/flutter_local_notifications.dart'; import 'package:shared_preferences/shared_preferences.dart'; -import 'dashboard.dart'; -import 'login.dart'; +import 'package:meincantor/dashboard.dart'; +import 'package:meincantor/login.dart'; import 'dart:math'; +import 'package:background_fetch/background_fetch.dart'; + +void backgroundFetchHeadlessTask(HeadlessTask task) async { + String taskId = task.taskId; + bool isTimeout = task.timeout; + if (isTimeout) { + // This task has exceeded its allowed running-time. + // You must stop what you're doing and immediately .finish(taskId) + print("[BackgroundFetch] Headless task timed-out: $taskId"); + BackgroundFetch.finish(taskId); + return; + } + print('[BackgroundFetch] Headless event received.'); + // Do your work here... + BackgroundFetch.finish(taskId); +} void main() async { - WidgetsFlutterBinding.ensureInitialized(); + runApp(const App()); FlutterLocalNotificationsPlugin flutterLocalNotificationsPlugin = FlutterLocalNotificationsPlugin(); // initialise the plugin. app_icon needs to be a added as a drawable resource to the Android head project const AndroidInitializationSettings initializationSettingsAndroid = AndroidInitializationSettings('app_icon'); - final IOSInitializationSettings initializationSettingsIOS = + const IOSInitializationSettings initializationSettingsIOS = IOSInitializationSettings(); - final MacOSInitializationSettings initializationSettingsMacOS = + const MacOSInitializationSettings initializationSettingsMacOS = MacOSInitializationSettings(); - final InitializationSettings initializationSettings = InitializationSettings( + const InitializationSettings initializationSettings = InitializationSettings( android: initializationSettingsAndroid, iOS: initializationSettingsIOS, macOS: initializationSettingsMacOS); await flutterLocalNotificationsPlugin.initialize(initializationSettings); - runApp(const App()); + BackgroundFetch.registerHeadlessTask(backgroundFetchHeadlessTask); } -class App extends StatelessWidget { +class App extends StatefulWidget { const App({Key? key}) : super(key: key); + @override + _AppState createState() => _AppState(); +} +class _AppState extends State { MaterialColor generateMaterialColor(Color color) { return MaterialColor(color.value, { 50: tintColor(color, 0.5), diff --git a/lib/networking.dart b/lib/networking.dart index fff30a9..02d3867 100644 --- a/lib/networking.dart +++ b/lib/networking.dart @@ -1,10 +1,7 @@ import 'dart:convert'; import 'dart:io'; -import 'package:flutter_local_notifications/flutter_local_notifications.dart'; import 'package:meincantor/cache_manager.dart'; -import 'package:flutter/cupertino.dart'; -import 'package:flutter/painting.dart'; import 'package:flutter_cache_manager/flutter_cache_manager.dart'; import 'package:http/http.dart' as http; import 'package:flutter/material.dart'; @@ -16,14 +13,16 @@ import 'package:meincantor/login.dart'; import 'package:meincantor/main.dart'; Future getArticles() async { - var uri = Uri.https(szUrl["url"]!, "/articles"); - final response = await http.get(uri); + var uri = Uri.https(szUrl["url"]! as String, "/api/articles"); + final response = + await http.get(uri, headers: szUrl["headers"]! as Map); return (response); } Future getNews() async { - var uri = Uri.https(szUrl["url"]!, "/aktuelles"); - final response = await http.get(uri); + var uri = Uri.https(szUrl["url"]! as String, "/api/aktuelles"); + final response = + await http.get(uri, headers: szUrl["headers"]! as Map); return (response); } @@ -50,21 +49,9 @@ Future getUserInfo( } } -Future fetchClassTimetable(String ext) async { - FlutterLocalNotificationsPlugin flutterLocalNotificationsPlugin = FlutterLocalNotificationsPlugin(); - const AndroidNotificationDetails androidPlatformChannelSpecifics = - AndroidNotificationDetails('de.cantorgymnasium.meincantor', 'GCG.MeinCantor', - channelDescription: '', - importance: Importance.max, - priority: Priority.high, - ticker: 'ticker'); - const NotificationDetails platformChannelSpecifics = - NotificationDetails(android: androidPlatformChannelSpecifics); - await flutterLocalNotificationsPlugin.show( - 0, 'Neuer Vertretungsplan geladen!', 'Du hast folgende Vertretungen:\nSt. 8 Deutsch Frau Rinke, Raum 203\nSt. 4 Biologie Frau Borchert, Raum 107', platformChannelSpecifics, - payload: 'item x'); +Future fetchClassTimetable(String ext, String? classNum) async { try { - return (http.Response(await getCachedTimetable(ext), 200)); + return (http.Response(await getCachedTimetable(ext, classNum), 200)); } on HttpExceptionWithStatus catch (e) { return http.Response(e.message, e.statusCode); } on HttpException catch (e) { @@ -72,20 +59,6 @@ Future fetchClassTimetable(String ext) async { } on SocketException catch (e) { return http.Response(e.message, 404); } - /*SharedPreferences prefs = await SharedPreferences.getInstance(); - String classNum; - if (prefs.getString('class_num') != null) { - classNum = prefs.getString('class_num')!.replaceAll("/", "_"); - } else { - classNum = '05_1'; - } - var apiKey = prefs.getString('api_key'); - var uri = Uri.https("mein.cantorgymnasium.de", "/api/timetable/$classNum$ext"); - var headers = {"x-api-key": "$apiKey"}; - final response = http.get(uri, headers: headers).onError((error, stackTrace) { - return (http.Response("", 404)); - }); - return response;*/ } fetchLessonList() async { @@ -180,7 +153,7 @@ Widget buildTimetable(Future future, String info) { Widget buildTodayClassTimetableLesson(int count) { return FutureBuilder( future: fetchClassTimetable( - "/${DateFormat("yyyyMMdd").format(DateTime.now())}"), + "/${DateFormat("yyyyMMdd").format(DateTime.now())}", null), builder: (context, snapshot) { if (snapshot.hasData) { int statusCode = snapshot.data!.statusCode; @@ -281,7 +254,7 @@ Widget buildClassesChooser() { if (statusCode == 200) { List items = []; jsonDecode(utf8.decode(snapshot.data!.bodyBytes)).forEach((value) { - items.add(value..toString()); + items.add(value.toString()); }); return ClassesChooser(items: items); } else if (statusCode == 400) { @@ -322,7 +295,6 @@ class ClassesChooser extends StatefulWidget { class _ClassesChooserState extends State { final List items; - //final String dropdownValue; String? dropdownValue; _ClassesChooserState(this.items); @@ -348,12 +320,15 @@ class _ClassesChooserState extends State { border: OutlineInputBorder(), labelText: 'Klasse (05/1, 07/3, 10/2...)', ), - onChanged: (String? newValue) { - setState(() async { - dropdownValue = newValue!; - SharedPreferences prefs = await SharedPreferences.getInstance(); - String classNum = newValue; - await prefs.setString('class_num', classNum); + onChanged: (String? newValue) async { + SharedPreferences prefs = await SharedPreferences.getInstance(); + String classNum = newValue!; + prefs.setString('class_num', classNum); + prefs.remove("lessons"); + prefs.remove("todayTImetable"); + prefs.remove("tomorrowTimetable"); + setState(() { + dropdownValue = newValue; }); }, items: items.map>((String value) { diff --git a/lib/news.dart b/lib/news.dart index 0e3d141..e7e5189 100644 --- a/lib/news.dart +++ b/lib/news.dart @@ -30,162 +30,197 @@ class _NewsState extends State { @override Widget build(BuildContext context) { return Scaffold( - appBar: AppBar( - title: const Text("Aktuelles"), - centerTitle: true, - ), - body: FutureBuilder( - future: getNews(), - builder: (context, snapshot) { - if (snapshot.hasData) { - int statusCode = snapshot.data!.statusCode; - if (statusCode == 200) { - String data = utf8.decode(snapshot.data!.bodyBytes); - List articles = jsonDecode(data); - List articleTiles = []; - for (var element in articles) { - Color color = Colors.white70; - Widget card = FutureBuilder( - future: getNewsRead(), - builder: (context, snapshot) { - if (snapshot.hasData) { - List readList = snapshot.data! as List; - if (!readList.contains(element["id"])) { - return GestureDetector( - onTap: () async { - SharedPreferences prefs = - await SharedPreferences.getInstance(); - Navigator.push( - context, - MaterialPageRoute( - builder: (context) => Article.fromData( - element["title"], - element["content"], - element["author"], - element["published_at"]) - .widget), - ); - readList.add(element["id"]); - prefs.setString("newsRead", jsonEncode(readList)); - setState(() { - color = Colors.transparent; - }); - }, - child: Card( - color: color, - child: Padding( - padding: - const EdgeInsets.fromLTRB(10, 10, 10, 10), - child: FutureBuilder( - future: Future.delayed( - const Duration(seconds: 0)), - builder: (context, snapshot) { - if (element["summary"] != null && - (element["summary"] as String) - .isNotEmpty) { - return ListTile( - title: Text(element["title"], - style: const TextStyle( - fontWeight: FontWeight.bold)), - subtitle: Text( - element["summary"], - overflow: TextOverflow.ellipsis, - maxLines: 2, - softWrap: true, - ), - trailing: Text( - "${DateTime.parse(element["published_at"]).day.toString()}.${DateTime.parse(element["published_at"]).month.toString()}.${DateTime.parse(element["published_at"]).year.toString()}"), - ); - } else { - return ListTile( - title: Text(element["title"], - style: const TextStyle( - fontWeight: FontWeight.bold)), - trailing: Text( - "${DateTime.parse(element["published_at"]).day.toString()}.${DateTime.parse(element["published_at"]).month.toString()}.${DateTime.parse(element["published_at"]).year.toString()}"), - ); - } - }, - )), - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(15), - )), - ); - } else { - return GestureDetector( - onTap: () { - Navigator.push( - context, - MaterialPageRoute( - builder: (context) => Article.fromData( - element["title"], - element["content"], - element["author"], - element["published_at"]) - .widget), - ); - }, - child: Card( - child: Padding( - padding: - const EdgeInsets.fromLTRB(10, 10, 10, 10), - child: FutureBuilder( - future: Future.delayed( - const Duration(seconds: 0)), - builder: (context, snapshot) { - if (element["summary"] != null && - (element["summary"] as String) - .isNotEmpty) { - return ListTile( - title: Text(element["title"], - style: const TextStyle( - fontWeight: FontWeight.bold)), - subtitle: Text( - element["summary"], - overflow: TextOverflow.ellipsis, - maxLines: 2, - softWrap: true, - ), - trailing: Text( - "${DateTime.parse(element["published_at"]).day.toString()}.${DateTime.parse(element["published_at"]).month.toString()}.${DateTime.parse(element["published_at"]).year.toString()}"), - ); - } else { - return ListTile( - title: Text(element["title"], - style: const TextStyle( - fontWeight: FontWeight.bold) - ), - trailing: Text( - "${DateTime.parse(element["published_at"]).day.toString()}.${DateTime.parse(element["published_at"]).month.toString()}.${DateTime.parse(element["published_at"]).year.toString()}"), - ); - } - }, - )), - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(15), - )), - ); - } - } else { - return const LinearProgressIndicator(); - } - }, - ); - articleTiles.add(card); - } - return ListView( - children: articleTiles.reversed.toList(), - ); - } else { - return (const Center( - child: Text("Uups... Irgendwas ist schief gelaufen"))); - } + appBar: AppBar( + title: const Text("Aktuelles"), + centerTitle: true, + ), + body: LayoutBuilder(builder: (context, constraints) { + double widgetWidth = constraints.maxWidth; + + int factor; + + if (widgetWidth <= 600) { + factor = 1; + } else if (widgetWidth <= 1400) { + factor = 2; + } else if (widgetWidth <= 2000) { + factor = 3; } else { - return (const Center(child: CircularProgressIndicator())); + factor = 1; } - }, - ), - ); + + return Center( + heightFactor: 1, + child: Container( + constraints: BoxConstraints( + maxWidth: MediaQuery.of(context).size.width / factor, + ), + child: FutureBuilder( + future: getNews(), + builder: (context, snapshot) { + if (snapshot.hasData) { + int statusCode = snapshot.data!.statusCode; + if (statusCode == 200) { + String data = utf8.decode(snapshot.data!.bodyBytes); + List articles = jsonDecode(data)["data"]; + List articleTiles = []; + for (var element in articles) { + int id = element["id"]; + element = element["attributes"]; + Color color = Colors.white70; + Widget card = FutureBuilder( + future: getNewsRead(), + builder: (context, snapshot) { + if (snapshot.hasData) { + List readList = + snapshot.data! as List; + if (!readList.contains(id)) { + return GestureDetector( + onTap: () async { + SharedPreferences prefs = + await SharedPreferences.getInstance(); + Navigator.push( + context, + MaterialPageRoute( + builder: (context) => + Article.fromData( + element["title"], + element["content"], + element["author"], + element["publish_date"]) + .widget), + ); + readList.add(id); + prefs.setString( + "newsRead", jsonEncode(readList)); + setState(() { + color = Colors.transparent; + }); + }, + child: Card( + color: color, + child: Padding( + padding: const EdgeInsets.fromLTRB( + 10, 10, 10, 10), + child: FutureBuilder( + future: Future.delayed( + const Duration(seconds: 0)), + builder: (context, snapshot) { + if (element["summary"] != null && + (element["summary"] as String) + .isNotEmpty) { + return ListTile( + title: Text(element["title"], + style: const TextStyle( + fontWeight: + FontWeight.bold)), + subtitle: Text( + element["summary"], + overflow: + TextOverflow.ellipsis, + maxLines: 2, + softWrap: true, + ), + trailing: Text( + "${DateTime.parse(element["publish_date"]).day.toString()}.${DateTime.parse(element["publish_date"]).month.toString()}.${DateTime.parse(element["publish_date"]).year.toString()}"), + ); + } else { + return ListTile( + title: Text(element["title"], + style: const TextStyle( + fontWeight: + FontWeight.bold)), + trailing: Text( + "${DateTime.parse(element["publish_date"]).day.toString()}.${DateTime.parse(element["publish_date"]).month.toString()}.${DateTime.parse(element["publish_date"]).year.toString()}"), + ); + } + }, + )), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(15), + )), + ); + } else { + return GestureDetector( + onTap: () { + Navigator.push( + context, + MaterialPageRoute( + builder: (context) => + Article.fromData( + element["title"], + element["content"], + element["author"], + element["publish_date"]) + .widget), + ); + }, + child: Card( + child: Padding( + padding: const EdgeInsets.fromLTRB( + 10, 10, 10, 10), + child: FutureBuilder( + future: Future.delayed( + const Duration(seconds: 0)), + builder: (context, snapshot) { + if (element["summary"] != null && + (element["summary"] as String) + .isNotEmpty) { + return ListTile( + title: Text(element["title"], + style: const TextStyle( + fontWeight: + FontWeight.bold)), + subtitle: Text( + element["summary"], + overflow: + TextOverflow.ellipsis, + maxLines: 2, + softWrap: true, + ), + trailing: Text( + "${DateTime.parse(element["publish_date"]).day.toString()}.${DateTime.parse(element["publish_date"]).month.toString()}.${DateTime.parse(element["publish_date"]).year.toString()}"), + ); + } else { + return ListTile( + title: Text(element["title"], + style: const TextStyle( + fontWeight: + FontWeight.bold)), + trailing: Text( + "${DateTime.parse(element["publish_date"]).day.toString()}.${DateTime.parse(element["publish_date"]).month.toString()}.${DateTime.parse(element["publish_date"]).year.toString()}"), + ); + } + }, + )), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(15), + )), + ); + } + } else { + return const LinearProgressIndicator(); + } + }, + ); + articleTiles.add(card); + } + return ListView( + children: articleTiles.reversed.toList(), + ); + } else { + return (const Center( + child: + Text("Uups... Irgendwas ist schief gelaufen"))); + } + } else { + return (const Center(child: CircularProgressIndicator())); + } + }, + ), + ), + ); + })); } } diff --git a/lib/notifications.dart b/lib/notifications.dart deleted file mode 100644 index 8b13789..0000000 --- a/lib/notifications.dart +++ /dev/null @@ -1 +0,0 @@ - diff --git a/lib/presets/colors.dart b/lib/presets/colors.dart index 8704493..f34417c 100644 --- a/lib/presets/colors.dart +++ b/lib/presets/colors.dart @@ -2,6 +2,8 @@ import 'package:flutter/material.dart'; Map colors = { 'Bio': Colors.green, + 'bio1': Colors.green, + 'bioL1': Colors.green, 'Mat': Colors.indigo, 'matL1': Colors.indigo, 'matL2': Colors.indigo, @@ -10,20 +12,26 @@ Map colors = { 'deu1': Colors.red, 'deu2': Colors.red, 'deu3': Colors.red, + 'deuL1': Colors.red, 'Kun': Colors.deepPurple, 'kun1': Colors.deepPurple, 'kun2': Colors.deepPurple, 'kun3': Colors.deepPurple, 'Geo': Colors.brown, + 'geo1': Colors.brown, 'Lat': Colors.teal, 'lat1': Colors.teal, 'lat2': Colors.teal, 'lat3': Colors.teal, 'Che': Colors.lightGreen, + 'che1': Colors.lightGreen, + 'cheL1': Colors.lightGreen, 'Eng': Colors.amber, 'eng1': Colors.amber, 'eng2': Colors.amber, 'eng3': Colors.amber, + 'engL1': Colors.amber, + 'engL2': Colors.amber, 'Phy': Colors.cyan, 'phy1': Colors.cyan, 'phy2': Colors.cyan, diff --git a/lib/presets/subjects.dart b/lib/presets/subjects.dart index 0bd39d3..45283c5 100644 --- a/lib/presets/subjects.dart +++ b/lib/presets/subjects.dart @@ -1,30 +1,63 @@ dynamic subjects = { '---': '---', 'Bio': 'Biologie', + 'bio1': 'Biologie 1', + 'bioL1': 'Biologie Leistungskurs 1', 'Mat': 'Mathematik', 'matL1': 'Mathematik Leistungskurs 1', + 'matL2': 'Mathematik Leistungskurs 2', + 'matL3': 'Mathematik Leistungskurs 3', 'Kun': 'Kunst', + 'kun1': 'Kunst 1', 'Mus': 'Musik', + 'mus1': 'Musik 1', + 'mus2': 'Musik 2', 'Geo': 'Geographie', + 'geo1': 'Geographie 1', 'Ges': 'Geschichte', + 'ges1': 'Geschichte 1', + 'ges2': 'Geschichte 2', + 'ges3': 'Geschichte 3', 'Che': 'Chemie', + 'che1': 'Chemie 1', + 'cheL1': 'Chemie Leistungskurs 1', 'Lat': 'Latein', + 'lat1': 'Latein 1', 'Inf': 'Informatik', + 'inf1': 'Informatik 1', + 'inf2': 'Informatik 2', + 'infL1': 'Informatik Leistungskurs 1', 'Eng': 'Englisch', + 'eng1': 'Englisch 1', + 'eng2': 'Englisch 2', + 'engL1': 'Englisch Leistungskurs 1', + 'engL2': 'Englisch Leistungskurs 2', 'Frz': 'Französisch', 'frz1': 'Französisch 1', 'frz2': 'Französisch 2', 'frz3': 'Französisch 3', 'Phy': 'Physik', + 'phy1': 'Physik 1', + 'phyL1': 'Physik Leistungskurs 1', + 'phyL2': 'Physik Leistungskurs 2', + 'psy1': 'Psychologie 1', 'Spo': 'Sport', + 'spo1': 'Sport 1', + 'spo2': 'Sport 2', + 'spo3': 'Sport 3', 'Deu': 'Deutsch', 'deu1': 'Deutsch 1', 'deu2': 'Deutsch 2', 'deu3': 'Deutsch 3', + 'deuL1': 'Deutsch Leistungskurs 1', 'Lme': 'Lernmethoden', 'Eth': 'Ethik', + 'eth1': 'Ethik 1', 'EvR': 'Evangelische Religion', + 'evr1': 'Evangelische Religion 1', 'Soz': 'Sozialkunde', + 'soz1': 'Sozialkunde 1', + 'soz2': 'Sozialkunde 2', 'Ast': 'Astronomie', 'Spa': 'Spanisch', 'FK': 'Fachkurs', diff --git a/lib/raumuebersicht.dart b/lib/raumuebersicht.dart index 2cf97d9..0f5659b 100644 --- a/lib/raumuebersicht.dart +++ b/lib/raumuebersicht.dart @@ -1,4 +1,3 @@ -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; class RoomOverview extends StatelessWidget { diff --git a/lib/saved.dart b/lib/saved.dart new file mode 100644 index 0000000..01c82b4 --- /dev/null +++ b/lib/saved.dart @@ -0,0 +1,198 @@ +// SizedBox( + // width: 170, + // child: GestureDetector( + // onTap: () async { + // Navigator.push( + // context, + // MaterialPageRoute(builder: (context) => const SB()), + // ); + // }, + // child: Card( + // shape: RoundedRectangleBorder( + // borderRadius: BorderRadius.circular(10), + // ), + // child: const Padding( + // padding: EdgeInsets.all(10), + // child: ListTile( + // title: Padding( + // padding: EdgeInsets.fromLTRB(0, 0, 0, 10), + // child: Icon( + // MdiIcons.libraryShelves, + // color: Palette.accent, + // size: 48, + // ), + // ), + // subtitle: Center( + // child: Padding( + // padding: EdgeInsets.fromLTRB(0, 10, 0, 0), + // child: Text( + // 'Schulbibliothek', + // ), + // ), + // ), + // ), + // )), + // ), + // ), + // SizedBox( + // width: 170, + // child: GestureDetector( + // onTap: () async { + // Navigator.push( + // context, + // MaterialPageRoute(builder: (context) => const SC()), + // ); + // }, + // child: Card( + // shape: RoundedRectangleBorder( + // borderRadius: BorderRadius.circular(10), + // ), + // child: const Padding( + // padding: EdgeInsets.all(10), + // child: ListTile( + // title: Padding( + // padding: EdgeInsets.fromLTRB(0, 0, 0, 10), + // child: Icon( + // MdiIcons.laptop, + // color: Palette.accent, + // size: 48, + // ), + // ), + // subtitle: Center( + // child: Padding( + // padding: EdgeInsets.fromLTRB(0, 10, 0, 0), + // child: Text( + // 'Schulcomputer', + // ), + // ), + // ), + // ), + // )), + // ), + // ), + // SizedBox( + // width: 170, + // child: GestureDetector( + // onTap: () async { + // Navigator.push( + // context, + // MaterialPageRoute( + // builder: (context) => const RoomOverview()), + // ); + // }, + // child: Card( + // shape: RoundedRectangleBorder( + // borderRadius: BorderRadius.circular(10), + // ), + // child: const Padding( + // padding: EdgeInsets.all(10), + // child: ListTile( + // title: Padding( + // padding: EdgeInsets.fromLTRB(0, 0, 0, 10), + // child: Icon( + // MdiIcons.door, + // color: Palette.accent, + // size: 48, + // ), + // ), + // subtitle: Center( + // child: Padding( + // padding: EdgeInsets.fromLTRB(0, 10, 0, 0), + // child: Text( + // 'Raumübersicht', + // ), + // ), + // ), + // ), + // )), + // ), + // ), + + + + // ListTile( + // leading: + // const Icon(MdiIcons.timetable, color: Colors.orangeAccent), + // trailing: const Icon(Icons.arrow_forward_ios, size: 16), + // title: const Text("Plan"), + // subtitle: const Text("Kurse/Fächer, Farben & mehr"), + // onTap: () { + // Navigator.push( + // context, + // MaterialPageRoute(builder: (context) => const PlanSettings()), + // ); + // }, + // ), + // ListTile( + // leading: const Icon(Icons.color_lens_outlined, + // color: Colors.pinkAccent), + // trailing: const Icon(Icons.arrow_forward_ios, size: 16), + // title: const Text("Aussehen"), + // subtitle: const Text("Widgets, Design & mehr"), + // onTap: () { + // Navigator.push( + // context, + // MaterialPageRoute( + // builder: (context) => const AppearanceSettings()), + // ); + // }, + // ), + // ListTile( + // leading: const Icon(MdiIcons.server, color: Colors.lightGreen), + // trailing: const Icon(Icons.arrow_forward_ios, size: 16), + // title: const Text("Dienste"), + // subtitle: const Text("Konten, Plattformen & mehr"), + // onTap: () { + // Navigator.push( + // context, + // MaterialPageRoute( + // builder: (context) => const ServiceSettings()), + // ); + // }, + // ), + +// class PlanSettings extends StatelessWidget { +// const PlanSettings({Key? key}) : super(key: key); + +// @override +// Widget build(BuildContext context) { +// return Scaffold( +// appBar: AppBar( +// title: const Text("Plan"), +// centerTitle: true, +// ), +// body: ListView( +// padding: const EdgeInsets.fromLTRB(5, 5, 5, 5), +// children: [ +// ListTile( +// leading: const Icon(Icons.list_alt_outlined, color: Colors.red), +// trailing: const Icon(Icons.arrow_forward_ios, size: 16), +// title: const Text("Kurse"), +// subtitle: const Text("Konfiguration der Kurse"), +// onTap: () { +// Navigator.push( +// context, +// MaterialPageRoute( +// builder: (context) => const WhitelistSettings()), +// ); +// }, +// ), +// ListTile( +// leading: +// const Icon(Icons.color_lens_outlined, color: Colors.teal), +// trailing: const Icon(Icons.arrow_forward_ios, size: 16), +// title: const Text("Farben"), +// subtitle: +// const Text("Konfiguration der Farben für die Plankacheln"), +// onTap: () { +// Navigator.push( +// context, +// MaterialPageRoute( +// builder: (context) => const PlanColorSettings()), +// ); +// }, +// ), +// ], +// )); +// } +// } \ No newline at end of file diff --git a/lib/schuelerzeitung.dart b/lib/schuelerzeitung.dart index e211464..4de519f 100644 --- a/lib/schuelerzeitung.dart +++ b/lib/schuelerzeitung.dart @@ -5,6 +5,8 @@ import 'package:flutter_markdown/flutter_markdown.dart'; import 'package:http/http.dart' as http; import 'package:material_design_icons_flutter/material_design_icons_flutter.dart'; import 'package:shared_preferences/shared_preferences.dart'; +import 'package:url_launcher/url_launcher.dart'; +import 'package:markdown/markdown.dart' as md; Future getSZread() async { SharedPreferences prefs = await SharedPreferences.getInstance(); @@ -30,161 +32,197 @@ class _SZState extends State { @override Widget build(BuildContext context) { return Scaffold( - appBar: AppBar( - title: const Text("Schülerzeitung"), - centerTitle: true, - ), - body: FutureBuilder( - future: getArticles(), - builder: (context, snapshot) { - if (snapshot.hasData) { - int statusCode = snapshot.data!.statusCode; - if (statusCode == 200) { - String data = utf8.decode(snapshot.data!.bodyBytes); - List articles = jsonDecode(data); - List articleTiles = []; - for (var element in articles) { - Color color = Colors.white70; - Widget card = FutureBuilder( - future: getSZread(), - builder: (context, snapshot) { - if (snapshot.hasData) { - List readList = snapshot.data! as List; - if (!readList.contains(element["id"])) { - return GestureDetector( - onTap: () async { - SharedPreferences prefs = - await SharedPreferences.getInstance(); - Navigator.push( - context, - MaterialPageRoute( - builder: (context) => Article.fromData( - element["title"], - element["content"], - element["author"], - element["published_at"]) - .widget), - ); - readList.add(element["id"]); - prefs.setString("SZread", jsonEncode(readList)); - setState(() { - color = Colors.transparent; - }); - }, - child: Card( - color: color, - child: Padding( - padding: - const EdgeInsets.fromLTRB(10, 10, 10, 10), - child: FutureBuilder( - future: Future.delayed( - const Duration(seconds: 0)), - builder: (context, snapshot) { - if (element["summary"] != null && - (element["summary"] as String) - .isNotEmpty) { - return ListTile( - title: Text(element["title"], - style: const TextStyle( - fontWeight: FontWeight.bold)), - subtitle: Text( - element["summary"], - overflow: TextOverflow.ellipsis, - maxLines: 2, - softWrap: true, - ), - trailing: Text( - "${DateTime.parse(element["published_at"]).day.toString()}.${DateTime.parse(element["published_at"]).month.toString()}.${DateTime.parse(element["published_at"]).year.toString()}"), - ); - } else { - return ListTile( - title: Text(element["title"], - style: const TextStyle( - fontWeight: FontWeight.bold)), - trailing: Text( - "${DateTime.parse(element["published_at"]).day.toString()}.${DateTime.parse(element["published_at"]).month.toString()}.${DateTime.parse(element["published_at"]).year.toString()}"), - ); - } - }, - )), - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(15), - )), - ); - } else { - return GestureDetector( - onTap: () { - Navigator.push( - context, - MaterialPageRoute( - builder: (context) => Article.fromData( - element["title"], - element["content"], - element["author"], - element["published_at"]) - .widget), - ); - }, - child: Card( - child: Padding( - padding: - const EdgeInsets.fromLTRB(10, 10, 10, 10), - child: FutureBuilder( - future: Future.delayed( - const Duration(seconds: 0)), - builder: (context, snapshot) { - if (element["summary"] != null && - (element["summary"] as String) - .isNotEmpty) { - return ListTile( - title: Text(element["title"], - style: const TextStyle( - fontWeight: FontWeight.bold)), - subtitle: Text( - element["summary"], - overflow: TextOverflow.ellipsis, - maxLines: 2, - softWrap: true, - ), - trailing: Text( - "${DateTime.parse(element["published_at"]).day.toString()}.${DateTime.parse(element["published_at"]).month.toString()}.${DateTime.parse(element["published_at"]).year.toString()}"), - ); - } else { - return ListTile( - title: Text(element["title"], - style: const TextStyle( - fontWeight: FontWeight.bold)), - trailing: Text( - "${DateTime.parse(element["published_at"]).day.toString()}.${DateTime.parse(element["published_at"]).month.toString()}.${DateTime.parse(element["published_at"]).year.toString()}"), - ); - } - }, - )), - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(15), - )), - ); - } - } else { - return const LinearProgressIndicator(); - } - }, - ); - articleTiles.add(card); - } - return ListView( - children: articleTiles.reversed.toList(), - ); - } else { - return (const Center( - child: Text("Uups... Irgendwas ist schief gelaufen"))); - } + appBar: AppBar( + title: const Text("Schülerzeitung"), + centerTitle: true, + ), + body: LayoutBuilder(builder: (context, constraints) { + double widgetWidth = constraints.maxWidth; + + int factor; + + if (widgetWidth <= 600) { + factor = 1; + } else if (widgetWidth <= 1400) { + factor = 2; + } else if (widgetWidth <= 2000) { + factor = 3; } else { - return (const Center(child: CircularProgressIndicator())); + factor = 1; } - }, - ), - ); + + return Center( + heightFactor: 1, + child: Container( + constraints: BoxConstraints( + maxWidth: MediaQuery.of(context).size.width / factor, + ), + child: FutureBuilder( + future: getArticles(), + builder: (context, snapshot) { + if (snapshot.hasData) { + int statusCode = snapshot.data!.statusCode; + if (statusCode == 200) { + String data = utf8.decode(snapshot.data!.bodyBytes); + List articles = jsonDecode(data)["data"]; + List articleTiles = []; + for (var element in articles) { + int id = element["id"]; + element = element["attributes"]; + Color color = Colors.white70; + Widget card = FutureBuilder( + future: getSZread(), + builder: (context, snapshot) { + if (snapshot.hasData) { + List readList = + snapshot.data! as List; + if (!readList.contains(id)) { + return GestureDetector( + onTap: () async { + SharedPreferences prefs = + await SharedPreferences.getInstance(); + Navigator.push( + context, + MaterialPageRoute( + builder: (context) => + Article.fromData( + element["title"], + element["content"], + element["author"], + element["publish_date"]) + .widget), + ); + readList.add(id); + prefs.setString( + "SZread", jsonEncode(readList)); + setState(() { + color = Colors.transparent; + }); + }, + child: Card( + color: color, + child: Padding( + padding: const EdgeInsets.fromLTRB( + 10, 10, 10, 10), + child: FutureBuilder( + future: Future.delayed( + const Duration(seconds: 0)), + builder: (context, snapshot) { + if (element["summary"] != null && + (element["summary"] as String) + .isNotEmpty) { + return ListTile( + title: Text(element["title"], + style: const TextStyle( + fontWeight: + FontWeight.bold)), + subtitle: Text( + element["summary"], + overflow: + TextOverflow.ellipsis, + maxLines: 2, + softWrap: true, + ), + trailing: Text( + "${DateTime.parse(element["publish_date"]).day.toString()}.${DateTime.parse(element["publish_date"]).month.toString()}.${DateTime.parse(element["publish_date"]).year.toString()}"), + ); + } else { + return ListTile( + title: Text(element["title"], + style: const TextStyle( + fontWeight: + FontWeight.bold)), + trailing: Text( + "${DateTime.parse(element["publish_date"]).day.toString()}.${DateTime.parse(element["publish_date"]).month.toString()}.${DateTime.parse(element["publish_date"]).year.toString()}"), + ); + } + }, + )), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(15), + )), + ); + } else { + return GestureDetector( + onTap: () { + Navigator.push( + context, + MaterialPageRoute( + builder: (context) => + Article.fromData( + element["title"], + element["content"], + element["author"], + element["publish_date"]) + .widget), + ); + }, + child: Card( + child: Padding( + padding: const EdgeInsets.fromLTRB( + 10, 10, 10, 10), + child: FutureBuilder( + future: Future.delayed( + const Duration(seconds: 0)), + builder: (context, snapshot) { + if (element["summary"] != null && + (element["summary"] as String) + .isNotEmpty) { + return ListTile( + title: Text(element["title"], + style: const TextStyle( + fontWeight: + FontWeight.bold)), + subtitle: Text( + element["summary"], + overflow: + TextOverflow.ellipsis, + maxLines: 2, + softWrap: true, + ), + trailing: Text( + "${DateTime.parse(element["publish_date"]).day.toString()}.${DateTime.parse(element["publish_date"]).month.toString()}.${DateTime.parse(element["publish_date"]).year.toString()}"), + ); + } else { + return ListTile( + title: Text(element["title"], + style: const TextStyle( + fontWeight: + FontWeight.bold)), + trailing: Text( + "${DateTime.parse(element["publish_date"]).day.toString()}.${DateTime.parse(element["publish_date"]).month.toString()}.${DateTime.parse(element["publish_date"]).year.toString()}"), + ); + } + }, + )), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(15), + )), + ); + } + } else { + return const LinearProgressIndicator(); + } + }, + ); + articleTiles.add(card); + } + return ListView( + children: articleTiles.reversed.toList(), + ); + } else { + return (const Center( + child: + Text("Uups... Irgendwas ist schief gelaufen"))); + } + } else { + return (const Center(child: CircularProgressIndicator())); + } + }, + ), + ), + ); + })); } } @@ -216,7 +254,14 @@ class Article { title: Text( "${DateTime.parse(publishDate).day.toString()}.${DateTime.parse(publishDate).month.toString()}.${DateTime.parse(publishDate).year.toString()}"), ), - MarkdownBody(data: content) + MarkdownBody( + data: content, + onTapLink: (text, url, title) { + launch(url!); + }, + extensionSet: md.ExtensionSet.commonMark, + imageDirectory: "https://cms.mein.cantorgymnasium.de", + ) ], ))); } diff --git a/lib/schulbibliothek.dart b/lib/schulbibliothek.dart index 81c4912..5073a90 100644 --- a/lib/schulbibliothek.dart +++ b/lib/schulbibliothek.dart @@ -1,4 +1,3 @@ -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; class SB extends StatelessWidget { diff --git a/lib/schulcomputer.dart b/lib/schulcomputer.dart index e5d7f97..7f754c5 100644 --- a/lib/schulcomputer.dart +++ b/lib/schulcomputer.dart @@ -1,4 +1,3 @@ -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; class SC extends StatelessWidget { diff --git a/lib/timetable.dart b/lib/timetable.dart index 681c00b..b62c255 100644 --- a/lib/timetable.dart +++ b/lib/timetable.dart @@ -3,7 +3,6 @@ import 'package:meincantor/presets/subjects.dart'; import 'package:meincantor/presets/colors.dart'; import 'package:flutter/material.dart'; -import 'package:flutter/cupertino.dart'; import 'package:material_design_icons_flutter/material_design_icons_flutter.dart'; import 'package:shared_preferences/shared_preferences.dart'; @@ -25,8 +24,10 @@ class ClassTimetableBuilder { onTap: () { showModalBottomSheet( isScrollControlled: true, - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(25.0), + shape: const RoundedRectangleBorder( + borderRadius: BorderRadius.only( + topLeft: Radius.circular(25.0), + topRight: Radius.circular(25.0)), ), context: context, builder: (BuildContext context) { @@ -35,6 +36,8 @@ class ClassTimetableBuilder { child: ListView( children: [ ListTile( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(25.0)), title: const Text("Informationen", style: TextStyle(fontWeight: FontWeight.bold)), leading: const Icon(Icons.arrow_back), @@ -90,15 +93,15 @@ class LessonsListBuilder { title: Text(element.count.toString() + '.' + ' ' + element.name, style: TextStyle(color: element.fontColor)), subtitle: Row(children: [ - Icon(CupertinoIcons.person, color: element.fontColor), + Icon(Icons.person_outline, color: element.fontColor), const SizedBox(width: 5), Text(element.teacher, style: TextStyle(color: element.fontColor)), const Spacer(), - Icon(CupertinoIcons.home, color: element.fontColor), + Icon(MdiIcons.door, color: element.fontColor), const SizedBox(width: 5), Text(element.room, style: TextStyle(color: element.fontColor)) ]), - leading: Icon(CupertinoIcons.time, color: element.fontColor))); + leading: Icon(MdiIcons.clockOutline, color: element.fontColor))); if (element.info != '') { cardChildren.add(ListTile( title: Text(element.info, @@ -150,7 +153,7 @@ class TimetableInfo { } class ClassTimetable { - final List timetable; + final List timetable; ClassTimetable({required this.timetable}); factory ClassTimetable.fromJson(Map json) { List lessons = []; @@ -201,11 +204,10 @@ class ClassTimetable { lessons.add(TimetableLesson( value['St'], - value["Nr"], - subjects[subject] ?? subject.toString(), + value["Nr"] ?? 0, + subject == ' ' ? "---" : subjects[subject] ?? subject.toString(), teachers[teacher] ?? teacher.toString(), room.toString(), - value['If'].toString(), lessonColor, fontColor, info)); @@ -221,10 +223,9 @@ class TimetableLesson { final String name; final String teacher; final String room; - final String comment; final Future color; final Color fontColor; final String info; const TimetableLesson(this.count, this.id, this.name, this.teacher, this.room, - this.comment, this.color, this.fontColor, this.info); + this.color, this.fontColor, this.info); } diff --git a/pubspec.yaml b/pubspec.yaml index 4bd95bc..c183dfd 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -15,7 +15,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev # In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion. # Read more about iOS versioning at # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html -version: 0.8.0-dev +version: 1.0.0 environment: sdk: ">=2.12.0 <3.0.0" @@ -31,7 +31,7 @@ dependencies: sdk: flutter # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons. - cupertino_icons: ^1.0.2 + # cupertino_icons: ^1.0.2 shared_preferences: ^2.0.6 http: ^0.13.3 google_fonts: ^2.1.0 @@ -45,7 +45,7 @@ dependencies: url_launcher: ^6.0.17 flutter_linkify: ^5.0.2 flutter_svg: ^1.0.0 - webview_flutter: ^3.0.0 + webviewx: ^0.2.1 flutter_local_notifications: ^10.0.0-dev.1 background_fetch: ^1.0.3 @@ -83,6 +83,8 @@ flutter: # To add assets to your application, add an assets section, like this: assets: - assets/images/meincantor_r.png + - assets/images/meincantor-big.png + - assets/images/meincantor-big-dark.png # - images/a_dot_ham.jpeg # An image asset can refer to one or more resolution-specific "variants", see