From 0b49a31522912957d239fa5ec5c686e8b7243ee7 Mon Sep 17 00:00:00 2001 From: Jean Sirmai Date: Wed, 8 May 2024 11:13:33 +0200 Subject: [PATCH] S P A C E P A G E S S P E C I F I C A T I O N S --- cold.h | 83 +++++++++++++++++++++------------------------------- myprogram | Bin 38592 -> 43664 bytes pages.c | 11 +++---- pages.h | 83 +++++++++++++++++++++------------------------------- pages.o | Bin 26288 -> 26496 bytes widgets.c | 79 ++++++++++++++++++++++++++++++++++++++++++++++++- widgets.h | 86 +++++++++++++++++++++++------------------------------- widgets.o | Bin 22840 -> 28152 bytes 8 files changed, 189 insertions(+), 153 deletions(-) diff --git a/cold.h b/cold.h index 7873533..c69bb3b 100644 --- a/cold.h +++ b/cold.h @@ -7,54 +7,39 @@ /* */ /******************************************************************************/ -/*------------------------------------------------------------------------------ - * Dans : [space_page - mode run] doivent être visibles : - * - * -(1) les commandes de mouvement - * (run/stop, slow down/speed up, step by step, do/undo/redo) - * + le buffer [elapsed time] qui montre le temps de simulation écoulé - * - * -(2) les commandes qui modifient l'orientation (X,Y,Z) de l'espace, - * + le zoom, la perspective - * - * -(3) les commandes qui modifient les apparences des objets - * + des situations d'intérêt - * (+/- transparents, colorés, etc.) - * - * -(4) les commandes qui modifient les apparences des grilles et des flèches - * - * -(0) aucune commande ne doit permettre l'édition de l'espace - * - * ----------------------------------------------------------------------------- - * Dans : [space_page - mode edit] : - * - * -(0) les commandes de mouvement ainsi que le buffer [elapsed time] - * NE doivent PAS être accessibles / visibles - * - * -(1) les commandes qui modifient l'orientation (X,Y,Z) de l'espace global, - * et qui donnent accès à la partie de cet espace à éditer - * (zoom, perspective, distances oeil-écran, écran-matrice) - * deviennent prioritaires, suivies par : - * - * -(2) les commandes qui modifient les apparences des objets - * + des situations d'intérêt - * (+/- transparents, colorés, etc.) - * - * -(3) les commandes qui modifient les apparences des grilles et des flèches - * - * -(4) les commandes d'édition locales (drag and drop une flèche) - * ("faire de la place" pour insérer) - * (sélectionner pour déplacer ou enlever...) - * NB ces commandes doivent être graphiques et/ou accessibles en ligne - * - * -(5) les commandes d'édition globales - * (ex: introduire aléatoirement (n) objets dans l'espace) - * (ou retirer, transformer ...) - * - * ----------------------------------------------------------------------------- - * - * Tous ces widgets doivent être organisées de façon aussi ergonomique que possible. - * i.e : chaque utilisateur devrait disposer de "préférences" - * et avoir la possiblité de faire des choix ergonomiques. +/* +>>> Dans : [space_page - mode RUN] doivent être : ------------------------------------------------------ + +(1) les commandes de mouvement: + - run/stop, slow down/speed up, step by step, do/undo/redo + + le buffer [elapsed time] qui montre le temps de simulation écoulé +(2) les commandes qui modifient la perception de l'espace (la caméra) + - son orientation (X,Y,Z), + + le zoom, + + les paramètres qui définissent la perspective (distances oeil/écran, écran/objet virtuel) +(3) les commandes qui modifient les apparences des objets et des situations d'intérêt + (+/- transparents, colorés, etc.) +(4) les commandes qui modifient l'apparence de l'espace (grilles, +/- surfaces, aspect des flèches, etc.) +(0) NB >>> AUCUNE COMMANDE NE DOIT PERMETTRE D'ÉDITER L'ESPACE ! <<< +>>> Dans : [space_page - mode EDIT] doivent être : ------------------------------------------------------ +(1) les commandes qui modifient la perception de l'espace (la caméra) + - son orientation (X,Y,Z), + + le zoom, + + les paramètres qui définissent la perspective (distances oeil/écran, écran/objet virtuel) +(2) les commandes qui modifient les apparences des objets et des situations d'intérêt + (+/- transparents, colorés, etc.) +(3) les commandes qui modifient l'apparence de l'espace (grilles, +/- surfaces, aspect des flèches, etc.) +(4) les commandes d'édition locales (drag and drop une flèche) + ('faire de la place' pour insérer) + (sélectionner pour déplacer ou enlever...) + NB ces commandes doivent être graphiques et/ou accessibles par raccourcis ou en ligne +(5) les commandes d'édition globales + (ex: introduire, retirer, transformer +/-aléatoirement (n) objets dans l'espace) + NB une action effectuée sur une zone d'intérêt devrait pouvoir être automatiquement appliquée + à d'autres zones d'intérêt identifiées comme similaires +(0) NB >>> AUCUNE COMMANDE NE DOIT PERMETTRE D'EXÉCUTER UN RUN ! <<< +>>> L'objectif est que l'utilisateur ait accès à une organsisation aussi ergonomique que possible ----- + i.e : chaque utilisateur devrait disposer de 'préférences' + c'est-à-dire avoir la possiblité de faire des choix ergonomiques personnalisés. */ diff --git a/myprogram b/myprogram index b566847749912dd198712dc1cf29fd34edce2594..a58487486d5e10a975d9fefbbf5bbe48cc150dd8 100755 GIT binary patch literal 43664 zcmeFa2|QHM`!GJ%v{;f#rHm~q`>x2?cUdbWh8YYqX3UH|McNRBLK31yi&CORAxfJ{ zQb~z6p+qGq#s8c;cbL??-{1Rt-~apneBOVj?mYK-&U2pgoacGYx#wK>-m}TV-jbJx z2g6Rhn3Wia)ym-z66+U(5j%*WC`}(DjKN_RV-zrgfWi+B9FhYe>x>Osd0823D1`Fy z0SL=U!V?7IeuGX3hQY8QTSEw8xru~BPgxKv$wJu>BgVpEIRSWzg+Cx+aR^|;PqSDk z8*-LI>OM?48q2X!_CY4T9BZuk+ zMTG@N#OP8C0to~IhJhZ96hRL2577&XVHg;w1d>U9{wkWPS~_arOpQ!XA(KMGqg0~w zbyak=RT)%OO~g0qKzSI0R*vo%-grzcY#X~i9t;nHPemKZi{k8j$P3#9aabNEcC28* zxdJ$Jz`>ao0Yn=m$N(q~4h?XqfP-yUaEc@m@H+<_P{;WQh4nKJ0A&|7Ke+kF}!$UtzPEgOk(RXv9mjgrojsF^GMxx!A3k3x6;dJ(qLg596ZG02etgxbR=)B0rmpoMl|(eBoj@Z7y=Ox$wgn z|C@iOa4?eol5ZuAd!g(oksF!hSSj;DjmrP#Zy?BctUVEgGnKVGFjCFl^FhX zDw*tur;k(os8QqRWV|1d%))#qczQ@U&4)%Og)#$thzx%`jYvT1WN|TwOq2)c8$c(r zs^rXz@`)r7m_a`NL3lc2Qprd}AjmRL9fpzeHs0}9SWROAw$wVJ8 z3nBVYs05Zuuz|qB#88&@G&(hqPGm5AIF0Zd5w?s;jAA0H{E@>5qDD?+gBAt?c36Z# ziXr;YiDBVH23iy!N+gWiHh>P?G6{pl{DVkjR5OGh5rqWN-*P}JI7+a*2`Y&sg%W^T zNRW+td4djQQb?gN?wBwd5WgVJn=D~6XAqGT7{qE0G>K0H34|cK8ic~c2l^ns_?_$* z9uPpBh%$r~rNKJJ?K>eAl35&xW`T6lgz*pr&t&5LgOE(Wa3+)0sX$vmh#?_>1A|blXqvu8 zuzG-YjDBD!Eig17Bvg~E9;kx25|~s+T~$MSa%uHojleJpJ|dVx(2I7M!ko-bI)m7O3Rnb?~QdOT^oS+^?3f3cNXljIn(SksW$=V_Q`i$sM3Ry2gKa`{b zqCsUm8niW4HU1Ex>92tg4h@RX3kcFv*9eQo2N4+Rf%*|zIvRlyQQCeg>?qXG{j+|J zpui9YK3Y2@$}a#PsOulCp%oOSLDJ9&BZSiZ^`lidLP|qjRd=%f0U;Dx2mv3V8AFND z2+`9t&^PcS1kwof0KC5*Jw^jrmx6H8)Bm&XXp(wpgr9D-fuFw?BQi>x9;r*BXp*(H zb#)>&8QNhg6e0t!qNxS!ra8IZ|3lR5_- zOku~9J_nt1O^xHA!}T^hS#!|YYiF3}#6f4@D}wa39CY>?8`6C_=x|NVPC*=WxRz%p z8V8+oeILa^=UnHBpPhDa(AhqMdAm92aBa^{IUICxHW9!=4mx^E56Lazpu>9y z>{P}i8G-cMntS`IqA7r{<9Iq2;B4=}HZgAVV(uv04so%23TCkGwgpJAtN z4m!L)!%hPnba*d>orXE+@cz+w3d13%Fh=0L5q1*dpkvuY0L3`yG8}YC4!SG{9m_$N zKt@<|Aw9PIq2}76g%NK=!$G2fYuyz_B|_@?ZiQ6-vfg5wH$QzJupc3 z<)Fj+M(h;CL1*7bgLyO#x(b^az$gwnywAi=@f>u{duls4=;~}{0C#iHH96=x9CR%X zdLaj$eb101``_t53;eUdKMVY`z&{K8v%vpF7O+nIAY`2)(6Wp6R!!? zkGF74=M~5rQ+NY@MWu1z4B|mBzo&ByB!xDJ!=+456M{EG94=vcY7zW4#NpDVrwqaC zAP$!-J%tE<3F2_6(z6@E&q5q7QF`JL{5Ztnw6lkX;6)IJOOhU61kZ&yT#EEKA$SJF z;S!_=hv3N&hf9whbp+oGak%8@!6JAJ#Nkq-M-0K~5Qj^-9t?s9LtGT%1EYYT;0JNI z)adC%a8HQCB}PvZg1bOm9OAVIZVT~Q5HCY;Q;5T*L{A}tFNZi>LiFrLa7~EAr9)3V zf-i+QTr%{~5L_1GaH-Jai{SGi4wnc$P6#dzakw<-!6EoGh{Gj8k2-?$LL4pydawxo z!x7+c3D6^k;GZE5r~W+{1n-47obvY!{DSR&1#v9II}yAM;&6)J(}dv75QkIyo>~OI z4RJW7?>D1V0XOIA!mlA$SqQ;Z(iH7r}EO z4yWinP6(a>aX2;a!6A4u#Nm{@M;*a8LmW=Ud$0%|193P7?-4_AI>c2WjzREXh^s+- z;3wjLh{LINPbY$VLL4sfdzt|5Zk_bj#N8(8tHzLtn@Q5o8h#uO;|hCO_XCh^p>fMX zqgLaVbyEE$j0O%_E@__B>1DFc z#M`?*Kvh(F3#bovNQ_3GP11w))=96d6Wj$IE znd1_spb{pR|025RN4$}d1E?r`7Bp6O3@~bgz%oGL@vi@)KFI$*c|r&G8Z2V5x82Ra zMm4?w=~e=UttkX&-aQM!DTl@ZyWIms`};nNiY=TDLI%Lu5C(`Uy#>cza9oEfSd9Py za0v6ZPHO1s0ayUr#O~F+fUW_&0o-ch#`5HLz@af_1H1$4t3Gar!_;&mYSnAhcHaUt z;5?foAiJSE1*mDC)ZbmtqE^F^r`r+`t6_!E*;9eEFQQ@s2_VQJJ`Zq0JPgJ6u}W$T zbxQ+Iz=4$P&Opd7?33Pg>%njVF=9UvBjfsO3?a(16u4I4gSi19q`}a;J-7@ zKNaxXCk-J11Y_bDf`3HuhVFd`-i6}VyOUV_py`l17Ff|f=_7PJ4LL;y03u@BR;0(9 ztOtF5+@BowaC7bcH9UsIp#`u>wU7zoSU8-p%A=7o%rf*PIA~Vmz@@Z13#ee7gv8DW z$YjNhcRd(SV3%aY%4fjCDN>x}ZdULe{zIf0B9a|K<3rT%@#6^8tr=naA0TZ1193Go z>_J~{oFL*M5etduCy4ftr~!#Z6GS~ow1mXe38E|{dO>2;1W_0et&>nK;e6(I{Z4%Y zWkNw2*gs4riaiF6tHA;Db}LU1uR`J$Si#&0;z>x%fkfU3Vm2h6hQvNl0ovxxkQfAI zwoVW!fH+A%fWHL;Pxt2`z~6xCb{!y>4B^N$1l$eds2&IbgU?RnI`R&7s)K-H&$^z> z0lL&QK?QdHQ81ZR@XJKOpoxN406WkJ#376haJ}G&50HgK6R;HwIdN8dt26j8m~H`9 zxjzP!-R?EJktjuj?AKSI*ad`A-`#{1>VUexy7R=K<7)~N-|d6 z4w?xJ0#zCVOsECUu>>LwnYfw+?Cx0x1aMq2dKOH=r%%F1Kt&w<6ZUuoGJq+74!{>J-T5y+~MaA3t=IIs)5yhii51UO0rL%v0TuiJ@( zi4|0=df>Aem~KMjapQxRw(j|m&j9jaCip;=&<`wmNIO{ZX9D?J2RYiuVgbAe z7pv+UT)g+&_;MC7)z|}hu&-?eBDu6T2J(5pdVMFD{-U1?}>htvrSABYcm1+`TJxzdV!p{?4V%e(>@QruniSc{f-)E707%$z()$gzI z62~b78LwdcuQ6d=3Xy4LFkoR#Mw&izDn0HPFhhVQ)&zVtsZj47fUjmRII{tLBo-jx zYS=9Yvh9<;0Y`#~OE(cT%|2-q##s2-pMEG^zhk028oS7cz{qEyiJa zei+f#ET*dj3G;Mo z0E>(V!1(oh!v9DC*j^$`6VKLo6T!BiOFbXWf;_CuU1Bw@L3Y*}A_Ga-_v-tGb4uujX_$G{(#p2ubcX`mM zEP0{7n-q;7WW5FF=1C(+k7(_Op$Ml`@WPlp0IZ8dADmgS)=)jOfuQm0+3)?y6O@J> zA_I}~t-2FLH|#&AP!60ked~VmX>6?fEWnY;7=t za0WZGHBfhaWLp4;8n-l>Ssit}n*!5xi$OkQWE=W8K9azZmgO>JSOW#RyMYd1t%^<{ zlVN?Wus$)gzE+UWYMls(Y>iv!n9w}#d01KTZ$d0U(QaSx!?q~2cp=b&WzkA-23i6v z+K9}NLERlt6A@T9V$nS;j_!4Au}J<$C;_o26U{gLE&m?ON37|F=0p1;Z9~eRg87Io zwbA^apvH;(G?{C!(fu6cvosY4BgS9a4%dQ55g|X&X}=99sxj6r-iJ=;qH`a-R=m z)q}qDFa5K?KMVY`z&{K8v%o(K{IkG63;eUdKMVZ-(*iu;S!OCdP!&9*uS$%D;8g-FgBeXG8p%@q z$RzN7lI%(ahM^kFScx%IQBlESy;v{acw@0j3=$=rjJ&gk1uy&%Lm8w9B9=*_5SL)F zfOjPtE?6uUJe^LV!gpA(R9gKpI)G$gK`Mg?@~|iy2AtBVOqM)CI2IHjhSRYDWbj4| znG9YeL6`xzD-G{Y#43T;->_;}B7wwQf@RQ%{-gl(1v&;QaN5e1D}hXNd?*9E9P0%d z;ZH=~ufeJS;RGVq#of^xOP~U+Lz&q6<4jP)a!>%M{@+N`rYUKFc9V$=U|b3XA4&jc zpb`o-Jc0;ctXn<}$VL*dB2XT_I!{xE1O}NJ3G|2rBpQ)Oz=oq_CXt5qiv}JcvIqpK zS~z%lON~w>P{)NWgLPtAPQiK+$#@zAh=5-3#)gHHK>eYxVStB8q|gwRIQ&+B%%2)g zu0IB}*Zf0!R&fF_EHn@qkEIdm{zMw$N6<2|A`!7Ehy;-5kEa07;+Kpo23pC04yVJ? zEUzl9RrXN!T%tVA!%{wmN~KJqF|af|cnhw+1nAB{+Civ47C;ImG2k0cs4md!pc{f% zAdtYzl%f8Bl}aR$)j+H0_)ujm3#!4Fl9<>C5}g@NBrm~&wrc&SwgO4ug)BUshzNzQ zM1(M~KoG>h8(HB5!Rf7RG?gl0B>KhrvpE4HK!U%^ixj+n$*a=ZPfLveV9|Vc)%G5z+ zj;7<9vbqcwYvOL^?r4EETjk(j;%IJx1?T3gY}~L;7A_7JZf-6BRjf}kw{f#@!P+ZY zxH_4bSzxg;h#W&h!)eq0W9PE~h5ujfegF5y?|8h$=C_ptqx+fgl zIIb(dU9^yw;NaC74o_-82;LvCGf3dAXJj13(g6V|>rVp17_0&dU!Nv|p+@JAp@zeH zfn=&5G#^`!-wdNfj9LyF&!kfc;o#D&jHMHq0MeCN!&?BAP66!$0}&ovUGPjQ$b%O_ ztWxL__E1WI7iRY81qMD=JxFVzhu{c%*4hAo-*B>LoAr0|e3>9Q^47*@xi=g94 zOlZysP!oDB$A>ei6fj5w!yr|IQ4`K-fTX{+=(px^BK3u!G9V0IiD1>g4f$9S0W=F- zB7s|NdZ{!GC8_zrKWl1r33Q1#?+od6*CFiw_5pf+f-esi9N~v=t%)ymO4i53~a^ z8A827Qbp!S;5~iF$ypEE2jEf+3IpGRzM@D2SGEAyKj39l@i(*kgV_U9rM^&w073(c zNBjo+7OP?sxS~P{>~0548$=~Vaq0;|n@9&U4Dgi%66jS7)oB>0EwGb{tJ^9k%qmBV zX|8S-P8iQss~nK3K|`h~AybxV3?@C?pQ*Y8#1G3}v|(C9guh6v4n?v99B@ z7mPKSTT?-&4FY2W_>VLKdE=fvD<3dsoq6C8SQ`nUF@?&S)G{!v*$hwtJ%v4=H8aAn zB9nocm@Hvjh+yKwL`G)@#*9j*g9$4PLk7kof=UMQ1W#?irw8cZWp>uAk%2KMG5lea z!n`1;FV+}CVk$C#Z?G~LQYg@#2wVWZJ^*Hop+pSgVhlYTj9nNC5f6q9Z~~5SGEfqX zSuEjD6b-fsT@8V0Ec`$Kj4BG4X2QM!KcE5D4-q5+)>ReDUM(qOHPzJ(mSA`m@U4K~ z;F19{gqp|3Xy9D`(b!lHfF%H`1K0}SIskJXkB!v=coV=*0EM1_KRAIu0^bBs2|%G% z@MkFitpS8jhVKAy2Y@+G$HvM490srj=C_TF4FcE=Ap9=ej%Q@`FDbD*-48U=V=%0Iq!j^aZdRz<7vvjEx-v zFbBYE00wn}@{s;=Y)nD`wDT1x2VggVz5v3+eg~8%#s$L@CC0O0#uTC5JX6Hr1L5$Y zYFf+Km@H%j>F>O(cZne{6Yv6aAxR$m!iS1?Hv!v%Hef`=EJY-3MW;s!#bb=;uUM)j zkBEhQYr&E8aBR#UK#Ylq*fw4>VL{VWKC7Ml4v7N1)<7jhmw1rf1nQ6*=d%_TbceYt zT?+y11o?X7`ToL!cC36@Pc5VaAD@R1smE4W&?c2{CqJmAXhKdm$j$+LTH}0H!h#lw zd_=$k+bIMZdEtMMuLSa8Ed8xK)WaI&4}<(E&{%9etkU>W`F9E=3i1v@O|T#f#%L#q zL2qzA&S$ohFOi?u5%NG?_5dC!5SNzYJivB9*A0LH3uxy+zCFm#8_#F8g*OdKz##Rs z0v;IK|0ABCfX5ufdCIsP3t>T)E(vU1uprjU01xuMCEJfcmtepEb;W`Frr+{`|4_R^ zyZD0q0g!J#UI%CkQU`1eB(h=+_BBb+$IuW)-eu1NG>J(x*cZhn(XIj73=SI93x3N{ z2+#~+1srjV!D@c4qU0J)LGQ4g;- ziwEjL06ZrF&);-W0{QTJWsM;JHfKE!yZF-hQw4SkCQjkKFi~F_;H7~v2gWmJyLewr z@U#FPLonXh0snIH@R{%+OwcdGfCr8_D>&tV{%Hw24s-h`e%WE7Wij@e-`*>fqxeGXMukf_&;KSLU|lg4-JKI+6NN@%-vvO;|Y^+ z_V>Nn`Nt>aS53m3C*j?b@S#cgbaXP$mcL*Ut~Lo@J_)y*gu`!K!319fhA9-q;p>V> z!r~ABUzCQaTMLIk_P2?!6c*0@_7I%o!o>bYkrJ8@=j<@C^U-EuZt~#}`q$AhDm>8_ zVBx457^i70To7i0v=+^WFM7j-M+L$cybFam|!P?&|nBPgsyVFL;uqp%BwLnsuKVYPb>3KyeL7loE6 zT#dp26h@$M8w#^fcm#!&C~QFCV-$9wa0rEhvS|G%T#Q0p6k4KiH3|bz7=glVD9l3P z5foOUumOdSQP_pTAruPA;V>}GLE&N)>Y~sRg$NVJkCmC(a`23Uqx%x9h6en)A%>HJ ze5;Xz`_EGzK;p-I8k?L0KTU8$ay-f1}HBp~DyR|HiMug|5ei z4#!BJAeS?7cRyjS;)ODaP|bDBc$JcdJ(z^_$WONp|i(D zUf@VEFxtTP@j25}K!@@>6pV)v zeBvTUgb(tIU2%7tEm&_Vywz#&?` z1MP&VnhXC!l;0QazwG|?mJ9!Pl)n&-w-lCmj64Y7zqJd;h3Lz z45eG5@>96TDda-0R~ew|0H!LZ1cY@PgSUmenp)3}zl8 zpN&mGRX~URW%9TO=efwZhmK3|`T-N1@BU36_#M~3(Sy0rH*ulobD`fv=pvXhw7;9P z)WJMP>Da|Mgu;%W*IeWb13Db%Cy$2$U_uPrTc*g8gZ%9SNSqJoVwicD+DYSyG|I0& zX76`z4->oE$Fnqo{nbNqW|C;eX79 zKFEbWeahecz7(O0VALm#&&FK%-MG;GQ8~5hIK*to-vYo{C>Q>1fR05tfB)Ibh5s-Y z`dKb?j6a>Jp-KgxPsjU_z=!GsG4R{zs{R<(m-`v;3{R&30G`<+01!lFf?xQ>c9`em z1E!ij7S=wNE+!5ZKGxSAncHa%?!@<3nIjeS*Lb=-2G*TJ9}-$VjYhouEF zXdqAaz&4DRU|Vz|>R8*-uq@*P!sIWTo4`UoK5h|mQ0 zE_=fKZTpwMZ`|^?{aOCg_=9d%0<;l@b}lv zdnWDi!`9=^ZVf%l>2kJnCqjvW|8uJyq{N?lv;2>?vjHlM`y!C+1D<6En-l#Ovn>B3 zL^xuy0ux+Gk>CU5ET+kP*9sENcloFTB+R|DvDfsIGyJ;eL^ z`ubsbMAYXMe!v{boL9!Tu&yCS^JjK?oZ2(jjcO= z(e$wNT`l)w>FlGt#z&6w8y}CIT|cjHhvpsP&PB1)U+%o9YH>^V>w}%`za-N6*FJl@ z{AP}~adF`MZx?b(8u(jo%(9jiiE8~S_bceir`|m}V#fWi9vK{!+c=b2*|s-gL{q(D zhFO%aB1VPh0=6-S-W0m2muBd9x?n{gB zkeDwxb1ZSqGSjXg?}I)MEe{-<^|5YSQP%8(S!dR(#HMaknSLPf(b*c`$9&yyzlh5} zF~ZAK7~Lr8tG?cQu&%9QWpAVAw)B-p{8A6fq}~mFYFj5@<$6QA@d8OpuiYPE`XXRq z(fMzYuL@p`2;ZH1EV`cDLF-MA+oztioTYixLbvFV!))XVxIQ>x!Z50&CMqd zR-1LnZmzl7hA)?{=rH$6$yt~bu&gbh@#l_>qql>4_nVPEP);78ek?9HzqTsjX<~O| zSww<|E&T<)Z(IH{p^wpen^rP?PYrBXi@95$KRVE2rEpqo@tOzKR{ft}O)q&jlJ>G- z{vk$x^kb{11f$qbZDI?B@yQY5!y$4iLWhm`hGwSQ@HbPBt|6RCdpY%Z(c$j0^ig$n z$=y7UUgNZkHaQ9CEU?~wt2cJt+RI%JdwEW7v7MWBLq6t21EnmzsABV?{eyaE+&6C- z2wgU|uk9+Pf^lW#qi1>ZN6Egt!4e_%pXxdm(kb-?Q7LWt>zm4NN6yIlEcK|Yj`8hMj*r-~pLdskIJkZ|CP#3_ zj}6xEw_SO1?oGk&$FryL-)1J-P1l~DxXt?8!&O(!%1qp*x9Dw2Do)gBtTw!sIuyT= z=T6blmAuv4W|t9K;}mF@>R0PaKZ`ond;Q2o*Z4;PQNr|fX##bZkC?xc4GQ07TIY}5 zBqmpT$+mcu{Aht>`5Nbi)9asnp`BFSrBj$-T5Az~AuUzWdgUIoVY{Y>!3XhBZPLez> z?tG6cGc$?rWE0=zdD?$<#6-Q~Id=8Sj1MF!MTf7tFW)`ritds<7rnAagePR*hODnM z@|`wrRZMq!-tlmmtoUtNrulj$Z2K$6^|hhGDVIC_9;}r8T&GaT{9GsGlzdrzv-2gn zZdvsU=l6C@3!WqSTtZSeVSd6@hXkHPCH&=f3CS1RPuC@qN4pDf>3-O_l&MPwE~u}$ zpLzU;UT=WP)+c9GueYt1%{(*q_}KDS31{{$4{%=M=hf}NC$j{fuEX0}@M4a~{+x`4 zXE`Cyn#szMANou~2vbamsb`Pz?wI;G)gw;(8o%Bl$qMH2GoD%N(Ik| z@N$Y6Qb@KkBQS#J{y6?oTsBUJr)*Xa*7{;@)9CGt?Itm^t$(TLPIK8*fjz+2{4B^q z(6;y2Y(B>ZzfC+%U$vQKhh7B6pGurxg)wrl(RTBUmTGcsiP$92U2$!;>N1yGfujk# zY4e-1Z^oxzvNVXVwx*mH6?tJUnDSWXHb0}t8PZ( z;4Xz+k*(Od745z>z0KO>AH%{9ALGx_gR>jP&U#v>bP!f$+N7+y8J!@uHTl!ZV+*Ap z5#$c_)k)NLF4~^=F5w*I<*M`#yYCKaDAQIge(Qgy-B@VHsD9-P-JP$z_}b@e;fe6i zd{f?eq2NtGMRL(BZ@z=nEiYs5&*m5Hm>Vi!dtP-*l-Rqv@_Hkes}Ev%7Wpw6tf!1Q zjp^?u6IRS}{c?qmCThIAb--TB_8q@)rLgi8LV?+b=tZgy{Ohd+MpnBTubqhtoa?mq zmu}P zDoir9#Vn#wB5Q|QA~MfDZI6rP8O<~4O;6!l$VfBTLS9`xtL45y=%PcFy8zqlYG61M@$ntG+np%sj%o^?B62>{rWV zpLOZ%!Zp{uX_9Vk`g%$0{b@$wi|^*KIXrsVU#=0}DcC-EeN*!k@B9&KF@C$L!(zO@ z<}?omNu~TS=nduVmPjAfN`5r9INay3;;>-$-0NrCuC8cZaJBt%V(Ot^iIHVbe`HAP zb?J7CarJ!BQEz!{59!LLrCsOqB;J|qC3@~9`sG@#YNlTiUEpV^7~ErDEMxdx^mDUd zf9bS2UzQypXY4&?98}B4Q}*(GkY0d`b>;WuyK_lBN=9wo>*RIY!@Mj`SI19xJ|`e0 z-0!v6Dn&zrG0*B-=HAA6Rbm+zxy=eg|uox5ksx0gNME|n_g`hM@v(#rUP zyPgWeOBAOzA8Yz~T=~%k+Ibg#qg_+u%;jW`oH4iBc)Q2U{DAdg5vTWi4m}Py`1nSe z=f}^7JY(;lS{2U}FnJZ#xtFZSYKOF^#%&iz_p8Wr#OgeIHQ#dp=6 zuy=i#{T^3Y`zy=N1!%1~x2>*W%L;PXiPZ3utM5J7dZ5N6tDqhE3;#3m?UZxZDlPr0Jp5wq$|&^KBX;Bw`AP%v zXEprKlme@a<Xw=tptG5v)fb(N2v zx68QG^R)0>-toPiQxux>s+Dc-^_*bb?Fq7>JJuY%Ycocl0pH7vQ%1OFLQDZZZyV9-Tjx|9G6jFh z?eTN!6T0ydtG9T@^YCg#@guTQM@8)V*7q~dJDhTT^wQ>o=tB2!^QE7xFP;c8P`Gtw z<(TNM@H5)0-`(64aq`6Xwfc&pNv%Vrb@TT*-drI6#%-QK>h4U1H!kyRY}~81%bodH zY5r!<^o!HwKLjpmCF$R`X+6i+Eq5r|YDFERTS)vl92zttYk>M zWR{nkR`_pi zAcDVf2g;=z=#mb3ScJeDac4fIN3 zP{Ue0_ggHNlG*$tqVr&&TFa$fEy1-dKa%oi4QgNfo|TmBDONWn>oB#`>{R2uqXs%} znu^1vdY4{5JYz)tD&D95;p*JgV^P6`i`Kc1^%IKk)?FRe_nz~ve0E}4>y@hp3wL&& z8$K7OlV90Tv0r~qM|}ZJx$`_je`P^U_Qe)Yi~V=ghu;hl4_XX}JILv)s$G0;lplS>rKyZPASbB5SqP=I#t?T{hB@wC#5MCaw8hZwJnZJzQ(( zy64rRp#4KPR;;PH>1_O1bR@m!;$FG1c>~N!{hCKfUk4Uhy$*gEm#}DQQ*^9?wpppT zQnE*K+}(D8f);CP^os-eMHu);`AB!k@;+J9>u6-?jxT)E7VTAkI>gu zoWAWo^6IIx@6O^{+^O1QW2bnhO9^ZX6G(0!n=Nq8&?_N3sZ7JwS7Hs06fn{wBpIetkllK}{+B$&W%ayduI-$Zf8X?baN4tbf9~O-4D3X6Kcp>&n zYi=z0t_4_mO|@Bq-C$}Qwi*|;eZ5Cfy!wKL&NzLC0~?OUiz$SkwcvSar+Z)78HYQz zv||ajWwVQfSa2UN@2N<0o`Z@d2YBnQ6wVRgpHW0e;jI(z&3RfBA76Eqz{6uY!;QzN zZ-0Fm-i_xjzvD}j=N9|jS3b8^f+so`3yysVSYUxG_t?J6xgM9)D7Gwb7uKE1LmIeRTpTqSwI!8u!(AD!Vo{dNb=Ab-Y8Rg$N`?XaNi$hmu7+M0Om z3@^_sOBYezc`e)dS=`opC$JAPVrF58?qYl7H|RZxJhCYz+_=KK>ZwCt#H#`6%6u`g zCuBiY`2zD1ekbFI_T(ozlIoX4{Js4OzbF)zkkv)@t0b>@v(`dnxiRn7XKSv1D;J$! zr|G?!@7|jE9|SLWVXi&ccWCWpt&r@*58g*Cj7vsJAKlt}{P`TeL7&(C{qaxLg+t}u zp0(Xv`04fKIiKrZ{TTeJ?1?b<9O3qFlsMfP{d5Z zs1Cu-DzyfTPaEdBTR^#Ubp_AOs5yLj`1m6wj>F8mKKI445;Z7aemITps1$aaSJykV z!FhDYV&3dS3C_w@+oKp5nc| zKOV%}c^uoYTE;Ln*K=O}VkoR<;R00K9^thc0Rjqy_szEwjjNx%(+MJ zMYLDfe#@HDXE(OXxqE46JYV*alSp5GSAS6r^z@kU5^=Z8Y+xAJ8dBXT1gVz!2V$)~7>DzXt(;eio4ryWX!@mXA9wEZSD|-iNef6n zT}jHXMw0IBQskG;_)*^#+?ZXPq_PY#7$sWf54rJ?op&%lYD~ z_y(?rxC~d$I(4zLzTl2gbF!=}kS9I!)Xpf|+9#S@ckLUTc2#kH-Jz5x(HCt#eR38U zsur(WdBIY%XHTwMrsIn3HWlRRvRCrdDsOz#lagN&zf9BAJ-oL^iuLb0+9K2a`n0i? ztjF3{x}yeX3J390?a2{Yy7`g28J-?CCRd(PdipXBRhu@?v1)FY`ZfPR?YXTPhvv=8 z$g;~=Eo4Jop7EGIcuPMtS;3}CQ=YO{e&Otlh~*hCUU#p$rPlT?<4}&8ck`2sL&0Gd zH8-Btw;#`JTw~K1*Y~S-Wn`?oqJ_Pm~** z>eRkDz{hv5^!9v_2E2a&_F_%u+@}@EmFcry=A1EI?Dr(~G+kLliF(NQj8i0C`Cf|8 z5fR)ii;*qGVYNTk;O;TB`|ISSQjBAqZx>v>wC~mGGv61;+*)N`7&4OH&cx2;QhF#DeG$@F>B zZ_ep^c-^<#NwPnS-;+mGy18Ch`o4Xul-2ArLSn;DWhHCpT(!tC;KqOPgH#6)yvU40|tbr-=CfFw#!{!=k(0C@r%-CJzg!ZBQ0)Bt$nO( zS9D~$GoO@mti1CAO^aJ$&LgJc6?Qx3_q2Wqv~kPL>D_bTQR)o$Yp>?iyfo}y8%WW; z%_KZt+_*e6Z)oQ6ML~-_0zJwPExO#+`RMh%J?lfWTKqj9e=jX}5U*IbV=2vi;coLQ z+2Q$O7DZ{cMQK9L#5ASzgad0Um5(nsb6cy)thn%i`hJJ4b&+6TK}R4(-udB{634Xr zf_aYu=Phw2b=~-Mn5XJyt)5rOtkO>2*tvs60jjwl$1-a{o$$TQ*oQ&TffXRkzTpd+l0T1Gy$)$d{*b`_ zJ3AECc;A$Ze>@|vldp={zi&8vTkQqK>b3>GAMy=& z;$zKL+6gw@I=J_zJ?2t%`1^$iqMB=~2rsV~etxQ_Ike|YapJd>b*Fw1XD;XQ*PQWf zw=!P`T@3##WQnGdQIEO4i1eo^qsiCaDHW}VT!PcT?!8p`wb4fVip$=)R*}t87hQy3 zd`=hYNFFo1hRGB=Z*nc~t6yBQnN&K-)9oWqW645!x%|2`O?izu^us$OG_u9J^4zKw zYAhD?&nxb1Ad&V>`?Tz-_)*oQC(DGxp8wjjL9sO3ie_kZ zu;}rLVx5Y*O6LRon3j6VzOLodGKS6s9f*5an(=VStsY(X&K|=nuiUI2W^8rsP`{D8 zUBBt!(0hKtU4`N^?w8GfbY|KKY}z-c`xX~+a-*@A7l#WSjZq1BG~_h>wVV{QAj2pt zp~&#IzHOAb@kalp68D7@ixzCYx|Nqoa$0xH{eu2GQu`KX%cb$B2gKqUYD7OsY{L6I z%^a*DM2Tzf*)Ds`;Dy`GgX&(f61x8J0qa#<6Px-aUyeOFG1bNBdu7qrXmy8ar<1z# zbt5&UVbWwNy+N$pbHkG1FORpAuOS%oNE6L%5=ei3W2lmBQGw$W>`yNnpMma_KS?S#XUVc3s1EHO!qEpJQw9$G?w%hFRh3L6M2) zyQ$G+jUfr0FrvvbtYb3|Y$hn3%iPlD*!Rw6&}BqRK8^RVRbQaZas0Exg??2b5{5fA zrk9$P$HgUJj#jq?1VoU^_dRIX_b6cYCf@Hs7apD*)K0^G*QnL^ou)oLN_ar9)4Nu- zlTo`Sz8_PA3FY~iJ!9%NoZxP=NTJ8O<5uTNZO6)+l#^r zF~KG^7U|2S=zH4hD}Qc`UzaU4GKIcUBk> zA<`$AN~wdARl+On&gfmOkD*;1DdRoz>hMKdB8BqO_M&IB?J?1pORncjWxGVvZTEb- zIqy-Jmi6P}on0}V_AchXge*N=-jIQYTHaIL4JlDUNWi5cZ;xG<4)D= zx>+q1xLX>%KlV}52arBFNH&|m{-!uPI(+vb9iyev+F*+pfk%*SxH9PA#<7N+@{>aIX(t)XLA;Y zJU<%twRDq6)v7O1N#AyIeMh_jn1=?RWdfO!ZgeE4;-Ye&kE{ zM$9mOf@-maN0#|}6S*V}Wr2HYR=@Ih9J;ecldJ-H+={vm<2@GxuuT zxh+{><#K%0yVqX9F9;ObD_>ood)Zxxj=C!!HZ$n`0kItR||dP8-3;SxJ4dIFj-vQ{M5&#gm#Ig?z)JzDCUh(w&%c z*@&Av(vJ5MT28vVbwuZTx}EjL<*Mg2Ct4WoS7@k}&wU;Ay?Nv5dWk*#_m%f~S(C3E z=rb)2p7Q2NmebE~P8$iso)&r^dpmyp*n9lY346~Y=aTlmpl|%}qhZjc)G~K;>5A0b zUwgvDPN@3KG+i*J;eFq1lm3l{w98KkhHG@HuRQqT(f9rI;@4X4ub=J{ZrJ3hu6kE{ ze#hCJpJGe*_8fA#ooI9_+)=4OCV*ixvVhWVr{OD!!51j(JGy!^^cG5E%SI>B-C;+ zE5@(yk!K;e6Ou#j1ojnwupd&uhpPPj)&OZ-S}da+w5 zf_GVKO4b*TOZI-B^;7zbX?%(W`JIYMSz(e=Nj3**?lhiV69m+ltZ-A0SA z?sJoScSkrW;91nD>2OrT{i~Kr)G~) z>K`$czKg}#LU)L z$<9xwz5XnzHFT0 zJU#{u1-zlE8;kenC}*^uaVk>ymNO6azv?d5-_P z!Hof;OSDbZG)^SUFUOX~&#AxIi)Jv zXHVVC=hFy?TT}3Wr*-C*hZfEkPH1{$D_qkLOMjwRRC}D)C~-!`v3J)Pakx9PwwdxJ zs-}Nfb4S8AbJQ;5t2oo|J7%d%=i>SNZtKn~IpApTj^oYAs2 zLoTrL#{prJ>s!s4H*TvAY3U^;#F4Td49#Gi5z8qRR92o6<@-80=4$R{>6N18f$g$6 zmxJwA$Z1b0#3u8!AEq7He___hG2fO^f)1*s9irfYno2bn%H0lFg% zU$SG=zRsFLyPejlo?EK>(#R%zm5fX0^|Y#vO_yI4$sC(2aOdJ;Qil0~&ufm9I7h1o z5Uj-c1C^s3G8EqhW^TiM-`W}3-*#R?fc)c#JZ<5pj-~MZpd3ND{?L9cJ! zF@?0*JX<4*1wIIp71|H2R@4fZYnFk8|7*{36W=JUo!j=Y-Iu=UN*S$*x*8tWZae@v~y=EaAp&zlux zlt4PwCcfvv({(3G!w&LB38W9T^DmTM`_#8}+WuSzxl%_ zRT6kwjBva}Qs;CwpH@MgcgB%hvrMZ8=1ECz%^nQRXSO((k|J==TAys(dxoMrL({U( zkym>5;*~|Q+p;RmQ$3$AuzYFOmYvLeAs*?~{(VCwCI`zm^K$*Y9TkEwPfqs&%wJbY=ONto4>xhQYn}k9PF0IP$YrbL$rS`Eyg_Lt-Pp zHAp=>|Kz-5iBbmtM*D98r%!$yqJ(cK4c3+M`jSh!--jKjx&C<6fwqn6HoaZIAg;Jj zEd_QRi~KKN>S-ImcDY(K{GG)%~ogprY*(aTX@Lj zrlCNH^Uk&u^;52&Ect`&wDE0cLwA2Rs0serX5I9ZIDLEQ)ZL9@1@DX+tnQL@_U??x zTv)zf_j7`P=xY0eqS|pOu9u&0@N!qU@}hA{ohtvAU3c%_h~-Z>WO?_(TD)H|eYw?>Nw`0^r z)@AeB<3S>sGb?6w-S4|CDwm zKv5h~bPS7vK<#>jBL%v60EuK>K?w0&B&dK0(Fh7CEQcq&R*-TcK{LVN?YFgG0vcLP+<*wWTWnZ0|;e9G#UWwtZMzfY7uV*%HUlwG&Ik4owq}8s2c;Y_cyi^-*J1>;AIVI%EC5@uzl7eYp6^sLFQl7hAnv zoP1%~6_BH^j+oHp9@8?pEop&$Xzl4Q{6d<`N7+7bF0LIuVg9JmQKgyYV>ES!E`R>e znSDDhuprYr)LFT!!r7=gV{Y-|*dHtWj6DA~OttA9SXN;4^oi))lLG;*4#C!{jNq#u zeAa8~8u&7GvWdt2=t))q=kG7{UUK_dsn_+Zj@1dZnp=Ntz#i+|PfAN8 zbG*(*=Xf<=(;hpV-L6@^Xr$YMkzSEa2Xp?p)gF>PcB4mmy59=3ITfF$wl_^KRU5B* zZh0l`S&*Ssl%j2pv1asT3j-sQW>wROVdnGV)ysk&=9QQvpL5&c6xiT@#Ir$rCNDWQ zOYfHf=`-~#F3X~t=3II?=3M?p_X(a=MaEx0iVw>e>0bY8r+!56nc_SfRbG+J*}eCY z_D)LoOe*YLVHa3$=hpY7fkQ5IzFZE`?4LuS5vmFT|B(fDY);h zZEb#cLi4o?*46c$i|tCF$m&@o`MORm~8WAlogz8AGPIyE&hp-u+S5gY7NbRJm3uu2#pk zRvtdSbLFL1c>!9v_TZRl#r~!btL(;$JAR(DHFs!pf``X%1>amRwAeNb9wL3pUNGoQ zk|^ITdTp3CSd=-qY%oKzJ26^xUfd`a-4NdtGonZ09Ks{tNfLIc^)2!=XBT1fy@i(8(^$k>hYGIsB=j7_eP0W&U1rjbRc zVAH!2w)m^U0gD!gfSuE7C5(z7P=|(DZZC>M9z^61^Y+74?pmcp&}l6LwpB=69joeIP1;#R`Zq&EO-%Zw4P37q+j<$CZK;gkbnWFNe;x5i~wtDpjy`QYl+7 zEVn7AvPW3!`jt6g@$tCC`i|z}auL9pkZams^1$Tdk*B7^k&83zAI{D--&F(#!Q=cR z&j6zUCx|)yy@Rvf%pcksQ22P{p)e;mHVEO=<%@9sjzT3LFZWTf;c_1iwMqcM>&MkH zObsYxi1cw~ke5eF6N82EXk*y`STPTeyghdR5#Iz@a_?aO$hRS<_!>H~^v^%K`wy>U z8(_)#BfdLU0T%F_2D8Om*Bi%;WjloN@j70Q5Du>)l{`TlmXDy0kH>s#jgkZ5II#)D zq5TvT;=}P{9&{DO3*!aDVV(n)_~h{63*yJ{ouDHgOFd9nUC>cg0tXBc;00mK(D&fY z6FJ~~Txe-KLOkIYc~}2&*&N`2?!n@0A>RHycXQpy@CM!x3RIk|7Mb8^4!fh2&PgF*nM;u#*aJ#frz4gJI$L`p##kLb~o z`-TWkAmMR~fkOx!xXwXszfb|e2o6zju zz;P5Dpx_}yAUgsRs0EJ(>LZ{y4|BNrLBNxW4-QIjaDfA!M;>sHfrA$uwBUdXJ2(Wv zApiqVIQ9jC0Z3uE4jm&rj;w;-5;8+~2~o)Npk{+)grtdXAirbT79tkp5)@3#46PAK zA%n4;Au$V52wMvxmWH~CC6Q?`LV993b&?`v4@65M39*n$LAInUP&_FLsfyLDk+L8O zAs%AMDn+uNcm$WcT^*q#9^6zu?ly4U#?Hsb&cUT>h;oVms;0Y$-XAU!fkZ5VSwFb? z>iZAC?!ZHA;8tSIMjdMiZy9(o4$96U9$vhI!eXnAtrCMXZZ}{t_aPn+W^nx@gbpd- zX+J1Zhxo(0Lh%q!cwh{q`XL@3>_I^t;^9FZ6tv+X1-w-biuoZP7eiQ;?I9lC3kSvJ z5Kn$U0_k~(r#Qs>?ek~^JQ{eD9h9I$4X6)DAnzXH50(j5#~dr&G4@o*3xl)6JaE(Kv#Erzu|!8)l!JT7-(nAVlDSi zs6#xQXa9>o!$S&e*4np6m>=Rra2zab5AkqPJ}54ScsThU6wgCEoPZCCAH^YsWYsrW z2hs#?67&fK0u|QcgSR(;3T-E8JFrIV9h(8Fy`!JOnVL%-)L`ra>oHS%pd9@GV>shr z2C#S##&|Gp!QvhmM02u88Cj<-)mhgrR z;GBy=V6hvF;lzMh`vZuh_ArJM0%i(}Eny5N0?Ysw8^ah*0GJjm)`c00LKJju?URez{YrDF)xhafX3KjF&m8GIK~)aF&&KI z_{FGWF&T{ExW!0eF&>QJc*SsI@lQ20AmBj7&|r!0Y5>FWi9ulTB8<6UytWI^zzmGJ zVLXM!A7Bi}A!Y!J2Vo4yAEpJ1dtl55;|eTpg)tm%m~1R=K*IzaXP9^_Q3+!>zA!;p zTnuA4t}vchoC9Mxo-nppoCae!j4*~+oB(4ud@$-*90g-IY%o$-90Ftb;}gRT@Oczu z%*U$81FBlm-CEKu(%q=YwuUuHbwm?`x;g?C`D(!tOoV>q;;G0vROIBs2rvawBeH$r z$R3o-Cr5(d1Hr*)qXJFx@hZiG7(=PTXCL}H&GRBVd+dQ^aULK;OKyTB>w`&aG+YFB0Dikzahq>-01g!l-|<; z*I^BOHN|PDBbpbmm)s`ZvVZ{`xJ;c$;GlCM8uY6l`E_A-pKXF;Xu%YaO|VyZS}cIK zb!r;IM_@0(SO-|b_&yHT@3)lRTJQjtz=9atbfFS@epHr<6CPkX7y+34g-6iuqcT(z zKLM4GqwF9R0U7E{m}`OiM`|JS|)*w2Hoa@NFkuml58A6T#e4fG?ou+t4s?hhMGfaL2+JA#r3Vq$|Xa&fEdlK6P;Iz#2>; zyfVJxj_4kigT0l5vD;VkuGk_jef{*nqXDGHPQe@R}LRENpB0}@&h;&J%1 z4R{m4!>bg0pz2&00X;XX!(+JomwXA6uCNoczho&)-hxTZzhp8@Cc>on4&)_FkH@kD zg$wheHR0|`aNRKi(4c}qAf&fIOu|!z4?KX48iS3_d3Y|SfsOutl*$8Ta}DhC~exc;|c(cgxYpo)qdwbHl%35(ET$Izq>K7zm{!?{3af7ne4_z1+pdEgq@qN1&L zy4(K7wR1e?IWRjE>6ns#@WX#_^gs9}4r}331)K>?P@&5t3-&7GE zcS{d~DbT1ph({6FZWW#Y+byU`l$`<(CVs$#B1|yT;(=xhAHd}{lb!@D%@#x@#!g-d z6SOd~0I5kaL1I#5coEx>nHZm}H>_d@DtP&mHvgYpE5mleunSL!QjCLw4#x5@Mr}fB z;>X?b!r26WycHIf-Z=2GI+zhHLiWq26p>H zh7t^7%KxWB4Koc>jq@7k_GeZE==byC)H?K9oZap_=)CzV+(XJbsQH4L4%h0zK(R{()0p1GWmb>EuE)ux)4od!;D|yN4zh41lsZ2zENO4(Um- z;`wbt&Jz3*_P`sMSFkTfvE!W7s0Yo!y8gGS(t``)zzA3r{DP+udLuzdO0v%c??9g< z*hyxAbD;kSAtkvp!LQo;Jz2YCIKe!e37W` zx9@}sB{@i0_QCz12R)OlgG&P~mZ5Kw93-#zLBzq9AuZS^Y_^~iQe33B_t7?t7@Khmf_(r-P(I6l-tgSJ_-}m;YxlSPv z@P@&y-hwA+2d_vGw*7Wf3vTsMu!qPAut*CTpxr_Wz)kSx!(|W>fSVKGwV;A6(b(x{ z0BHdg`9VJtn^H_+lN8uw893ixAQ|jO*@1-|Y>^3D^!#Tr1v1)SA9S!qA#4E;aNoxh zkYfK@tO35cTpczE2UU1KQGo&f7Y5RRgd==E*8kfP@D3Y+onym*Vhv)EVMjj!1o*as zz3%yiAlP#~?3fAXI1_Gg5FanU9**LJ?9mB3cK#nfilFtvNpL!tKR5?ef!6!;R}X4n z)L=iL-++&DZ2yyBoC`>}f9(7v@0%=e9r(rSr(qY^*}H+$?|~M7+rtCgpF1<0e)50x zk6?W{e0>W0dh|l`{}=?r2G|K;#yQCPAH5x5rS}$eS8<;b*kq6W*7ItC5$M3~gTMG# zf+}`Ozb@DSQ$RJPfrwtnS%JYe*tH9Vz{EQdCK?s30rV zO(B+Ja+o;i@_K>7jc zGP}2z4P+OP?Xdpy-ri>*>wqM|2fs3FkRKAm71wes6CF$Q>Zr!B0Myg}ps>Ad7&s1=0_*w-*ERi{Ju)tXl%@fZPG{ zHvuGaR)ENGVsDQZ0jli$`}fMgcQV8|K!WST7C0)@_SgcBsR@YJPyo+w64Eu~ z#7mik+<>T?gra~LorH>ku4M`uG~~tmJq2w6QfwMhHsT~21w$)>tGsypGtfmNUUWQ| za5>;{zo(OwL|UQvZlE*xH>5h4@Cu-Ze*nV;=FS1G^dAoXNnP|07YMk#f4F$SWgp_W z5#WAT9w5_aAWLITqApN%nT2i}bLuXG>N~LZm*9S}le9lHJnO#`MFWLxE&t%&fAGhDFnntmF7S_Xxa?su#Ceg8u2e=HOC8*} z1NZlJFLEKRA-9VXGD3v=%7g9HMY@lPuuVY7;`9eMQoj>JJr^ZuZ1=6;xrd7)L~6rL zOQ((nAj4scIvu2JBZ;Jg+-x}U8)(%b9+vC)-~k2n6pyir#nuH0)#A}q)!A_)?GK(y z;94S#K?Mn(CmcM^IN+_YJh-!g>;HiF0u?%N+uKuI9ZO-i6sSew_-rvq+2J(O5DIpX zl;#%MH#)dvJg^C9z(Wi8NA=-C3V7IQJT&cKgS3S-9JSeOCH8Ifa2p2#PPjqaAUi0> zQ9{R7Y+sGt{lM1*&V{Y$J|71-xNPJ23L$kYPRE|XqYE&haF+;()k#}e{hxuNfR+}I z1#$PEfu4sSO(3trXV!3>hc#S}*jNSLvtX_C3!K&y=XnO#?+DD}Q6mnv3XVp6#QOY! z)lwm{`P8urFnDaC#Xj)h!=AB^Hjrnr^-I`u5PW962f`G-BKY12T(IE^WHMF@e+a-@ z8Ub}!iIByf!53ewb`YmE6jsOb(Kzictd(X3I~?2gpE-m>7v@_8_gkIDwbFyUz~dQP z?AaGSvnGSZgDnpp+VSEn0ZklOa@A0^V zgZ;n&O}}INC4(NhFe7QPX94V43qG@Y;6^fVbic2Ic?g8H==(qmZ_uEB);$x~%2sf{ zl{IdNRakpgM9M$*bvS#&fA-ZNjvv5{`5Dg7ES5(=g)X$xTR0orf7()lL_vdK{Xg@- z3h}rxBcpK>EWa)Zo5kHm*G+?kQ|*fV$4TX!40Dy^$3NC@(H0BL&qL+?DNpjNMCsMVVj z5~5&-=&$8NwbumD-Py~Cf&|tIe2$8rsh6cTNkwQjt<0a6BqK}E;)DuZC4u+kZvS|u z_=RV+8w&0gbm80x?EJaktL3dri&sCV?>gLg?O$GUwb*Lg^pn-~$&a%ma(Y8oV*d;hr=>lJdk~Qs z^k8RxaOJ%6E=#5b(Qcgzp1zU@0RoH9&)f-AnZ({O?l zQE4gesceB*^&2vqyIWc;IcgEo*H1pbbjGYY8iikF=E(LTEU$2kCN<1g zvPCegQ?vbu-*o}U2VPVgqG-1vRL0uaWg)j8yzeSG-|A)M+hkE^oLI^?vm4>VeA%Ys zAHUUa>~>SFu=ZxLM>duFGak!rgAwz=S0jODgYhHu0T}!{dJjH@s~h;vILD3+bdCVDW2XfcCVjy*|Beior%t?WgzXRF?iQXaEj;ggj&0= zgH(8dPW81RONX`e*^QXu51puV}t0kXe`rU8uGF9q)WXziWPA z&9|$C zU(EaS_XsTc)0b=K((~xcHWB{WzR#w~8W(&k(2*^;@5lmU{c!sl!SLHbwEk$<1tJO} zNA+Fu?9|N3g@iOp$5zKO6$!D6zs~-QFegot5Q}r&7%5||xbN%}&UvK&%BYCzowciy z$2C@}xofH#Z-25fh*cMm(ol^$RzNsK>|q`!GemT{t(#W$1GVhP_no_HLuGH;WNwkO zKe#%jO5S7PAZ^yGDOX{t5yFVhL$-}vBM`36%=Hc3WPJOkf6~5Ub81|>xv6OUjtEg} zT(kD(?z^pdJ1>G_U&C=(mVl9;CnEAyve?Y0$2=NRY-mLBzNl^+Nd_wE;}cyY&D-pl z5Ec1DG59(d@1^k&-C)QUy8#*u@rH?~!eyFcA!TB&GYdyq=035v$8rWWp(%TF3MGkc zmdMOymO07NF%^swFXfxew(W=dAlpXv^0)VTpQ@+4uU;r4vE0p#U(=4C45PKRF6$?$ zT@;UbT;pzQx8qHFZ!_s>Ae#`ug>!e7Mjb;wYbf1m776%pQQp6@K-+4#Fb(to=~TjAaO zIQO`HF0y0JqI*tBzB=N=H%^wO1q94xl>U~ZRC~fse z+-=7<*87}FdRaEU!1?`}iA%J~5b>4!XMdh-Q5MK@Qq|*6gx2`!qUPNL!kjegi8)f4 z$xzQyAm$3IP#MWO^J?ne7oHMA884(b6J;c0E+uA?2$@THnn;ohT zbVZlSYC0RjU8=37t|J#oA!^Z4;y{>Zg!o8@_x-bi4FAoi-KA|j}x8silzuw zI8CQ)Xz_w3k58Sg$bwG?|9S#Lbob)vXl3*CU(GBPqBW{ZNL8Jag^cq}WD9YI4o9*z z=om#F|0Wp-VjjaA2%I5Hu02lW!pR?aT7270IU&r0{1UHqdOKcP%NDb|x1UCx3~jnJ z*OXqH)cu>p-6S!jXbK|IYI)@F?>3#-mKKDvfx2qf=h)DkPa##vv3Z*325hQjB6VW4 z%Qh$1&z6wntP2@>)|eW)^6;?)XB2Qd>XL@NPmq7~5<_x*&Ti_W?bMZa`b8GS)u2>m zR`I+uMNz_-rf8qFI8tYaR~MMg`cLw|WOVIfntM>!;gFpXy6LpyMKV_Uo7lB_ zfq9F^jmw+V#l0UbS|nO2RmOFJ>f4D5_FvLRUWwT`sAV@xO1HbQ6!&OQI%fXBx9GTe zh9TpvI?vADoZk9b^wHs=625r34)5>@y_1(VE{)iHR=+jm^6r;R#VFN-?_J}O#20%s zm@GOsnPP9D1xQwpPJPU03v4cZqvhD$4JmUc~O-GEw+BxI8xqNYsF~h=-PVe0xSrK$o$Ryl|T=0=SD!yA2 zmbtBS%Q08?Om4@E#I@A%g|N+UJe{{tMxyWe-hKF7RAXUOQaE4jc7>jw%fVtZO z@Qkw3yzSk~##{HGp3tn3`}MCYjL(+83pC_gO20diPesh}%hzoAS4qxK;3D{J1;@2f zBH_!{fnK%u$;PF+ozY6+Y=spD#-nMBwd4F&1#P~Kty}S}zE!PTm5!n}Mpq3-Crm~y z8ET<~GL1_A_ac|?S+NQKxj?H?{PAMn+glvZR4AXt2!upR)0~6!bTOnW^od=Soe?>q z`YQe9%Qoe%$DMaIX?T((&qr=p_Wz1jS1Vq<-R{YBT^H5O>>7=Zvv-aHnI9)HHjCjHy_gx>xc1a-aOAVUT*2OB-nlp$~$)C>~Ir$@aIwo--`+(ZKbD4 zuPU6Ic|wS4ov#E?B)W|cUA|eRbslvV*>WXGt42JLVS|v0c6B%YuIKUe_Mt{03nk-{ zu#qcf1tabp3B#5w0vu>lIt_&aQ%2RJ#$~Je;^&B8hg(J{w+}Z+r5BC7rShsNxD#ec zecUZ$*^{kiYk;OkzwEflJ2wMnpZB+UiyYjnQEvzhOVZRiQZ3Dft{r`6nOn4}m0)>< zvBvO}vs;A9n6~^%1}4zj03AjH)$cn@-U05{c!7$`9HQQ~iC(in`Qca?5ZbLUOQ&rX>U%DMdS^<*XJ`0L!%&;bd(1f&v=zw%RP40$l2 zE?hp#AN#dYt^2)hu@Xux^6B$|jMgWYlsG4;<8JVM&8vzDem?IUkP{Iph%eS@`ZCmW z=fd(NX~c&vv@E;xR|ba;G1>vSvXeC1f)5`{lKZW&Z|0`n*_2UzNQkC;KiKEDJz5)&E@rRy!SP6jmfhNYB!5#9o&`$ zrQ@}RuU;o!w>tND=DHQh)3ui!L%D3>l(V7H)|+I<@QZvt)cl!Pj;2{G^?kLx*H(D4 zzjd4G`HOjXq4gQ}J4YzW>>46AJsz_<)l3SN?>c91Eq%&<_*FOO#)j`*eXbuG)s)Y& z7M$IVyd?@iKeX&@E6NKjdf2>}L$SPMY8+QZ*37KglFSlclggP2}RueM04zmA=>FFu}zzy3Dqz|T8PX!L18rB z7h9QAb#+BdiJ=1$OOnEENePwsBmH8nrvv6}^j9`g-}zF@Xnj+%OutE)Eu{ARRc_)) z^i_r6OM%Z!#y1sAgZ$$a@w5Y}b?&+&@vS~X3tvNa&dsOYdoRS)%WPkIP26V!-zP>` zQPGNGxX&D|#iaZyNRz{GorBx%{>@vpdfqKREGHZg+ms=S@`((39*!$A@hgs&3@1NH z-fFat>?z~!Y$<9XA?^$BKBCd%#84P4a2MZdfLvk9#3haC)JzOf(8D)K#p8r59b{B3 zjmJWf@}7u$U3NsHJxIm$a28ty;;9*CyP$1FM1GGCTD~WlJt$`0A;^X$o8-E8vnzqO zxT_Ki^zeOzW?;2d#Ylqb{JIv8nkA!(0%;5z+C_iLIEb9Xlj7K)0d@H~IXyPP@FAn> z5LQ3w?9sfmuOg+Toh{DlKOYLS2{&{!@!B|2l7>!s+#7vi;F#cvf25QpOLMb+)uY&- zVbX0)2>qn|qmDuk-4?C)RUY=}IMU}B;r_PQSyo}xj&;9gCrOrb37!j6UfoUQ93A1* z%C>4XS1RJvrsbNaS)d{k$tV8RGNEzJ)o!A^@TwU<6UF5b&+9&8LJZo${>rQ(+u$Xm zEEnSJzNnI~=57}>CYPMuV(jdvw?E>+^Q@~J>e#NAC;W54b4X(A$54t-qX+?+AV zD31hMfTMAXta^w=;GN}f<(``8yN*1Rf#gK!lkqL9o!UA0S+NhUPfvK8&*rJObw?+D zSfOF>ikLZuccb^d;(UYKY>qt2=wv!;by;k*E}coq-M8OgB~+>sJ{>AzSg*gLSa$KN zBX51y9J&&3-L>@moGi*H$C&A)_Ho?{KgM;7uDz}Fy)>wEK_qynW$-x4Qr>dn8R>S4 zaFbbMUd)-mvvjMsx+6+&Z`-_#c(AS2dPRWqw`9x@FJ2q+>Dvzick-H+8FmJ~KjHi6 zJL8WG46w$VjJ?xK&rP|P=5v<$!^trhe-FWrS7*iu(M|G^fd+RDk#5{<&EGHh{ zxf$&@fw1{Xpmvg;oR=g2%0;VV?-$$Ts!nm!Jcxag6I!&JXIAe!MfP4Op5#Y)_u`5% zhWA>wI#(g3Lkt~<mMlVb=^VTZ!It%eis5X*Z^DUcsKkhzz+d9#(S8Mnz>*dfB9p%(y z8{IUdABtjr7x3OKX*_>_qwK_3dFSmgC3ckaZEd?JRA~O^gNnscSy`>Wb6W$ibC2CT zT_o{3(4Fks8SC^P_tm4?iW%oJg!?`*%<%;?m{A(1Sif|fo5qW#_@v9^aBNlt*=hHP zN64Mk?P$YA*#dH2c6te;Nb|-uf#43LgDD=9-Ud~0hyT|pWE#-kdqA6kVjm*)M(mLKmX& z)V)ooEbb?w=38o~1}C+--I)?e9Oo$BzO?JFv+{{&NE>>c!qWGPK%C04lPS#WmWYE& z+4XmQ%!K0id^?HBW?!D`JhON=f>4|)E!>FXQXlE#m>RTjaRAVlo=$C5luI(|Z*eZm z<{<8TL^eBfu2VV5D=)jlf22;sF7Rm5)7&0ENagc1UF~T*eS2fd+%GS5N$nH^Rq7M2 z1r~Q}1;xK%dP!1Ca)#%QJ#F9Pb4)K=bvu&XMQ3xPlvgp#$RFR|0{onz^OZ3xePDgF zvGjl$8G80a>!mfP4CmW6tP1h>AC+c?bg^F0jPVa)N~XyzZ1pn|anKHXdjd7^Cx_{m z!Q_Q@%Atr^)NAJtcVeZ!E|N)$zxt!tHg>b?&#jc*Yu3NpZNG9SXY{LQ6j|X9=qC)u z1^+Z+PLjLH8T{HQ+vpt!6^*7nnkem*b>fM>enu}FG~2iqF|E{z#ZxWRqBF9b3W6nfXkcfxDiZ@Nd>syy&`{+>a=3@!5@& zh|R2SlbQz>V$4}@oVmKJ!0x!ga88l@Ml`AQyz-@K+Mb_K@GqZB(_L2LeeL(r`udQtd2h8&x=T(|Bu+LbWkgaHzMXwsHPt`o z-Qg|UJDY|UJoe^Vdc_NsC;m$tvXi=|qB(!GO>gLN7)c7{Jke*&@6>Wg=5@QzFx>HU zo>uEzLQ2D(y7Q;P-Fjyp6d7`Qmxemjt48*HxMy*R(E?pSIFf2oV1CKV;zArMd|=iy zH+`_7vW`<#_VwiqK?bAdwRjXMyEFW7;<>;y?K4S?2WN;4%3f>zz5XHQ>~05+|-O~s)ncZ zl#cW>MRrZ!MH6YZ4+I+X4l1?g39L)3rtl~pZ>Lp`oz_~X@1AzJi$~MrR{Nzi3H6{L zX;#8=RKtS966uRku)k=g`0lG?q;iXFb!KLJnsWZCB3kR?nb|7iMTC|vd!y)5pL_9X z+RZx*jOF+jvhOOJaAYHt9Amgwzw|ly)zZjRP zqFy#n>P3T@rg*KZyz^D|_pcM8TaI?rmN`vBVQj|~EtcuhOPj8#`xs98OIuNXNhA_! zrZG1fwM%w2_=SG6b2RmzyW-bzPX_)i$8H<( zc)2_;xl&X3#geqP-)nUE zzOWe_X?VLvp=A_*-5#;`Adrb-YLTD}^F~;mMyY&a(4dHdmpghP-LJjr{?pu8GXcM6 zU0;^?W*0hQ9!v3}PgQR4zS0Pfy_(onw~==QGm38I+KKLcgDh0oW>uHzv=$I=Q@!04 z^TOJ9X1k~FRzA_!cJ*+Nd^D#?kWt8Zimb;mn~Wg>Vn;USqzDAP8*w-4RYfkv5CeI= z?x}D;V>;)Mb4@(W{ztf2a;HXIr&Gwj=?$OZnz9gnm#kUShdzJ4QGV|HS(Ah!v$QFx z9mU-Uj1suahkxQtpEcHUxb5HdoDvo^keoD;RFXP$$v7m39iLll&;l;4kX?g;+=)%6;~ zyp?pz^iRlis_}*7WSPf}VD~+edPv6aINAVt(&AUkUKz`A)W|IRyccjx+HLORNX1CK z7%j!+s0z}Bd$OHZ>HGVF#!IT0SQ7+46zn=ECEezD5*(uUnF<{g`J5!j%wAS*^xNDO zmeeaOX0%!FlKHN`r9rhZXU-V6-5*|m{!nrKiq+g^hq>HJTV+og6gQ=ME~K2qlUC}j zK)Y5%&SL8|r6GHpJ6~T%p_)Es)l6i?9(5|&o-c5<@Evw;@V>g++dOw|?|b==95!CF zMnB;nNWU*5Bx@fm(6@GoX_y*r{P)DZmi*smI5nncUD(gFXDUcG&x?%}+`r=c9PKPW z)L$FlFs_@Y<4U)g(+*|FXO!tu%b%xVpvS+MHX2zyrKLqcEfBy^x!4~XupTcyDiX3{ zbXg=|Fl~m(*b+T?v+Cie(e_TXy)Alu;^Eg{yAQXUlDWitd3&GE?Fip7|2h^H(V{Q; zdH9wJ=gg$ap2V8u8_A0^S>oTfRzI08eI=)9dKv9uCsB3(#LM4A*Er^wVjQeY&G0%y zg`Yn1I^s$q>TDIJU9B)CiV~o^i7MiZYSgxmw|^7w$7V{za5FTI?OI@zXeZh_XGglP zB<4)IaPpOhCg>-<=W6TDJ5|?Lnx5}|6(1*mqgXfj8-KzHDp^8V@@qtM;wjs9YT*{) zKiKAO9-*?m-MPWmC(hF2H7!V_KkX`UTt}%Ux*f>$mma*u(;03$C$y3pRKF+6 zwwT|ZINNkK^IF(%X>a@&Th`T~7tlvV63;L1KJU6o79%Drqvlj7yzaD#Jblk3{8MLE zejoAFqm_^EW!SE;9g%pqzHCgo-RISi`*Jb-vOfcL&zMZo)xUcD6@8;q zCFW|M;>#N6OUj*zzIfi71v%ApFF8*0mn7ci{6yxK#Wz9!1ubu%_QHh1AF3L`eDSHY z`!r@I%MgG%ud_O>E%{|)qSQr1V(p0FchyJ$P@#N`aM<`gZJ%JL8@GW_g)L7TFHisi=(bAq2mTbF%4 znS4FD-W?$oR>jK3c8t%rgn&p!;#_QGRoVi6{i)lhR4O%8DpTvsQmM6whsU!y+c5#e zcDL3uBo<%Pv?lVdh+WN>!XwLN)N1FazM;ABNtlPQl~Lx-mpy^`o7ReNo%N>2HQu9Tw8;BO9E)-q@Jp|&`&shV zWgwV{iE8RDMsm7lrCV!#QzEso=CZT%AH^~AIJwzPYI4BvPsCWRZWasHdgc`|XQVQ`*oYf^MGm{yECYW)FMKo|(^$ zi;1l9-QjczzldnMY?~y%J%9XKT}cdu%k^KUe5-$#==`im>o8NIcX7P74bzxu9OvHTm+8v>EFQ~qe`6RvcHwEmB%G>6T27{rc< zQkCa@PSJhg84zE}%UJV7CgPT<{HKfFYbzCr+e3~^LPyVgh)@vRwlhwoDT?o7$@vk? zWDr3xIxb{qM7VZ1iaaP`>~^HHSy=>wua+`& zm8Z&U3)nG7mOW7}KK@0siN+yyMZY|Ispy?}3W0snOjv$VcA6EFrpd5R_*q+zoa>c{ z8HprcG`WGoz)a}nl%wKz?PjV`3Cq%T6WXq7W0R+|p90l|12&2UP>N& zQQWh8IrCO#zlPR&0h90TfzrA4T4YpR_?@pszV&F7>lV!w`ELfFRivg%mpDt znfBB6Zq`|`tJhfW7};OMr_9OD2%&Ae_Q;8w2F=^9YmQ`mv3l-WNTFh2Tuy17mWfeS z)Nzvl^nif@H6Gh+=GTX^M2O>2K3f(Pt7)1F#+vsaL#JywM5S&6vRwlW0cUcmwX0R^ zMC3e|jr;dj>X28zH@ntGY6v!Q4MedAfIo$jYxNZ}ux(MhWU20mwtYd&6SQL2fcIO& zmc?xuHgA#x0<%S1nCS`He=|59KpUNLv!==ilrwM&Yl zB4HRYhFP8V%j2BGd?CCiPF{GHtcdoJ$yv?g@)pfD4w^C_zY&4&GOL_CO}A+Gt4VUU zbBV;hD)d`#)iI{st4W@|>4A^0KA&gKWY*>>93Ea?K7#rr?I!SCu>XVbDVoyH=g2x- zKP9qDqjz_H-0{3kKvuxf9NJ+*RPq^*-q*{pg8cP)R>ReYr@iOK--OrRQ%lx*9+CU5 z?bu?FR=0g)>{S=eN$tB*LXnDWuLQmso2Ol}kU_bws2fbZ{J0o=S}5e&_e7`dTj^Ig zHB2rF-;R3}dYbi}d~tf~4~g4t1TP=2(8Zt3omSrmM{=BPZFJ56j(HfUE{R%3~oBw_M;o`^}TDDs^_@BG9B~l7W zT3s)B%FXburTdr=iIEQ3C4uK%Oaff~H@2wE@TIwf(8uwIbji`YoK}+^19n4|A^4Mj z7?zKPwk_$Sr>MgDdVS~`j*VUr&0aB~t-Dmy927B?FQs)!!n*DC!)yuq7e_p4e#k0$ zkMTOvEqexMh8j&y+&a6f^{lL7*NZl0*9k#i_qx`HzI@diCFIYw-9v|8(O6P)RzpR5 z!bb@4iFoJH;LEOIlWTJqvn2ZP?tHb#ytLi5CBm)fO@x+w)V4uo?J!a~bGO#DXqW8i zdo_VnnQ3BK$1pxRf3-FOJKCX0@^BrWhjID#3KO+!SFX>m`}6yJh||fkT%$-H`~oiO zx;%eNil6%J4Vx^YD8cWPag&;-kJ@aDsoX9x*8X(~UF$RQb58=ndVy5Y`}2vl;`TCZ zP6jC&jje=%SKi=qkhA^L%M$t%9!gOJt!utiuQJ#o^&XvFRpq;E$G$hh#M3{-?C^aE zQ&z>i@#wx9KP6LQ$xb-s1n+S^MN@@kRKTlysJwKQTXd&1z0w#c3uoWI3fEDnJf+6F zR6}XmlHWLHmAk$2Yr2tM<}P{^fAW=8RnqC}^{A6PwE_hC-_@=?sn6SohGuZC*!7TFcX zdK;ILO2cFGCXpsYNCHw!X74vV=LhBtLu9x;2_#9~=NcJek++OuJ=_4yIb$Op22kes>4MfO+XzopOzZ@|Ij@6tFW zdgzTCGIU;pu6a0IynQd(F$~poi+4gcRO`iZZs3uuwUy^|A2DIKPlKPv&Ecy^>Ii zj&(50A*;Pzoaxs602ZMgawZ+rb}$MWVLECM<9N<{TyQKoUQUym7TQi z<#WrV%kF1?(@2CSqUd#^t>2~)#%Lyl$KR2?m;c%?>83Av)TyZW>C*B064_kRf4(R^ zUqL~EX?dPWC!g(+ez7^HOREry&G(9sgYYyQyKnT*qyPg z>B#7a@3H2NJMyR}8sa)n@*a3wpRJiUkkAt^I;SUIa!#+T=&Ja2vrX&J%Xc5S-_1YA zZl;^@jpci_2nc>5B$}woa0_cZoJvf^nFtlqdj$7m2qXW%;oZ@O(WpWDrQLYJ{F7B1?PKxhlMP7<+vNC& zOh>)Vd`ErFNM-GmOR7`lca@ko4WfP)sHvlgUDegxlu=Gbk8Dj(-OI@wnpDu*CCtiB z(O*;PP?9V?oql4Cke58LJGv_C@tcrOUU^>wv+`~=3A|{ct~W^NKS8PxBeYs{R98>O zx=_E&eKIZK-FQTv$31(wLg%#BYei!Wr>uJMD#c#lXRWA5-aAX`*6!wsksf(!*1TUyxQWLzQ?g7=0)YH@i^VEx=`kOkK zh9H6_iUvWDPVnxvO1%Eoh>Q!{joeL3;ZrWD9T{P6!5yDA-7_I{}1J4-E#l{ diff --git a/pages.c b/pages.c index 5dfb5e5..4baef39 100644 --- a/pages.c +++ b/pages.c @@ -27,8 +27,9 @@ GtkWidget *get_edit_discuss_page_new(){ } GtkWidget *get_edit_help_page_new(){ - GtkWidget *xxx_grid = gtk_grid_new(); - return xxx_grid; + GtkWidget *edit_help_grid = gtk_grid_new(); + gtk_grid_attach (GTK_GRID(edit_help_grid), GTK_WIDGET(get_frame_with_label()), 0, 0, 1, 1); + return edit_help_grid; } GtkWidget *get_run_measures_page_new(){ @@ -57,9 +58,9 @@ GtkWidget *get_run_discuss_page_new(){ } GtkWidget *get_run_help_page_new(){ - GtkWidget *help_grid = gtk_grid_new(); - gtk_grid_attach (GTK_GRID (help_grid), gtk_button_new_with_label ("Can I help you ?"), 0, 0, 1, 1); - return help_grid; + GtkWidget *run_help_grid = gtk_grid_new(); + gtk_grid_attach (GTK_GRID(run_help_grid), GTK_WIDGET(get_frame_with_label()), 0, 0, 1, 1); + return run_help_grid; } diff --git a/pages.h b/pages.h index 399e482..295a1c4 100644 --- a/pages.h +++ b/pages.h @@ -33,54 +33,39 @@ GtkWidget *get_edit_help_page_new(); -/*------------------------------------------------------------------------------ - * Dans : [space_page - mode run] doivent être visibles : - * - * -(1) les commandes de mouvement - * (run/stop, slow down/speed up, step by step, do/undo/redo) - * + le buffer [elapsed time] qui montre le temps de simulation écoulé - * - * -(2) les commandes qui modifient l'orientation (X,Y,Z) de l'espace, - * + le zoom, la perspective - * - * -(3) les commandes qui modifient les apparences des objets - * + des situations d'intérêt - * (+/- transparents, colorés, etc.) - * - * -(4) les commandes qui modifient les apparences des grilles et des flèches - * - * -(0) aucune commande ne doit permettre l'édition de l'espace - * - * ----------------------------------------------------------------------------- - * Dans : [space_page - mode edit] : - * - * -(0) les commandes de mouvement ainsi que le buffer [elapsed time] - * NE doivent PAS être accessibles / visibles - * - * -(1) les commandes qui modifient l'orientation (X,Y,Z) de l'espace global, - * et qui donnent accès à la partie de cet espace à éditer - * (zoom, perspective, distances oeil-écran, écran-matrice) - * deviennent prioritaires, suivies par : - * - * -(2) les commandes qui modifient les apparences des objets - * + des situations d'intérêt - * (+/- transparents, colorés, etc.) - * - * -(3) les commandes qui modifient les apparences des grilles et des flèches - * - * -(4) les commandes d'édition locales (drag and drop une flèche) - * ("faire de la place" pour insérer) - * (sélectionner pour déplacer ou enlever...) - * NB ces commandes doivent être graphiques et/ou accessibles en ligne - * - * -(5) les commandes d'édition globales - * (ex: introduire aléatoirement (n) objets dans l'espace) - * (ou retirer, transformer ...) - * - * ----------------------------------------------------------------------------- - * - * Tous ces widgets doivent être organisées de façon aussi ergonomique que possible. - * i.e : chaque utilisateur devrait disposer de "préférences" - * et avoir la possiblité de faire des choix ergonomiques. +/* +>>> Dans : [space_page - mode RUN] doivent être : ------------------------------------------------------ + +(1) les commandes de mouvement: + - run/stop, slow down/speed up, step by step, do/undo/redo + + le buffer [elapsed time] qui montre le temps de simulation écoulé +(2) les commandes qui modifient la perception de l'espace (la caméra) + - son orientation (X,Y,Z), + + le zoom, + + les paramètres qui définissent la perspective (distances oeil/écran, écran/objet virtuel) +(3) les commandes qui modifient les apparences des objets et des situations d'intérêt + (+/- transparents, colorés, etc.) +(4) les commandes qui modifient l'apparence de l'espace (grilles, +/- surfaces, aspect des flèches, etc.) +(0) NB >>> AUCUNE COMMANDE NE DOIT PERMETTRE D'ÉDITER L'ESPACE ! <<< +>>> Dans : [space_page - mode EDIT] doivent être : ------------------------------------------------------ +(1) les commandes qui modifient la perception de l'espace (la caméra) + - son orientation (X,Y,Z), + + le zoom, + + les paramètres qui définissent la perspective (distances oeil/écran, écran/objet virtuel) +(2) les commandes qui modifient les apparences des objets et des situations d'intérêt + (+/- transparents, colorés, etc.) +(3) les commandes qui modifient l'apparence de l'espace (grilles, +/- surfaces, aspect des flèches, etc.) +(4) les commandes d'édition locales (drag and drop une flèche) + ('faire de la place' pour insérer) + (sélectionner pour déplacer ou enlever...) + NB ces commandes doivent être graphiques et/ou accessibles par raccourcis ou en ligne +(5) les commandes d'édition globales + (ex: introduire, retirer, transformer +/-aléatoirement (n) objets dans l'espace) + NB une action effectuée sur une zone d'intérêt devrait pouvoir être automatiquement appliquée + à d'autres zones d'intérêt identifiées comme similaires +(0) NB >>> AUCUNE COMMANDE NE DOIT PERMETTRE D'EXÉCUTER UN RUN ! <<< +>>> L'objectif est que l'utilisateur ait accès à une organsisation aussi ergonomique que possible ----- + i.e : chaque utilisateur devrait disposer de 'préférences' + c'est-à-dire avoir la possiblité de faire des choix ergonomiques personnalisés. */ diff --git a/pages.o b/pages.o index ecb9d2c4c3080085de1237c9bedf25a2976a7152..fba8725c274da9e0f82424ade05227a6b2f1e49a 100644 GIT binary patch literal 26496 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 aggcqP=rBP^*nJIfVcYSKL7@a){(k_xl+1Sk diff --git a/widgets.c b/widgets.c index 570e2d4..2b9ab7b 100644 --- a/widgets.c +++ b/widgets.c @@ -151,7 +151,9 @@ GtkWidget *get_objects_and_situations_horizontal_pane(){ gtk_paned_set_start_child (GTK_PANED(objects_and_situations_horizontal_pane), GTK_WIDGET (get_frame_objects())); gtk_paned_set_end_child (GTK_PANED(objects_and_situations_horizontal_pane), GTK_WIDGET (get_frame_situations())); return objects_and_situations_horizontal_pane; -}GtkScrolledWindow *get_scrolled_gl_area(){ +} + +GtkScrolledWindow *get_scrolled_gl_area(){ GtkScrolledWindow *scrolled = GTK_SCROLLED_WINDOW(gtk_scrolled_window_new()); gtk_scrolled_window_set_min_content_width (scrolled, W_IMAGE); gtk_scrolled_window_set_min_content_height (scrolled, H_IMAGE); @@ -164,3 +166,78 @@ GtkWidget *get_objects_and_situations_horizontal_pane(){ return scrolled; } +GtkFrame *get_frame_with_label(){ // EN ATTENDANT DE SAVOIR UTILISER : GtkTextTagTable et GtkTextBuffer + char *text = "\n\ +>>> Dans : [space_page - mode RUN] doivent être : ------------------------------------------------------\n\ +\n\ +(1) les commandes de mouvement:\n\ + - run/stop, slow down/speed up, step by step, do/undo/redo\n\ + + le buffer [elapsed time] qui montre le temps de simulation écoulé\n\ +\n\ +(2) les commandes qui modifient la perception de l'espace (la caméra)\n\ + - son orientation (X,Y,Z),\n\ + + le zoom,\n\ + + les paramètres qui définissent la perspective (distances oeil/écran, écran/objet virtuel) \n\ +\n\ +(3) les commandes qui modifient les apparences des objets et des situations d'intérêt\n\ + (+/- transparents, colorés, etc.)\n\ +\n\ +(4) les commandes qui modifient l'apparence de l'espace (grilles, +/- surfaces, aspect des flèches, etc.)\n\ +\n\ +(0) NB >>> AUCUNE COMMANDE NE DOIT PERMETTRE D'ÉDITER L'ESPACE ! <<<\n\ +\n\ +\n\ +>>> Dans : [space_page - mode EDIT] doivent être : ------------------------------------------------------\n\ +\n\ +(1) les commandes qui modifient la perception de l'espace (la caméra)\n\ + - son orientation (X,Y,Z),\n\ + + le zoom,\n\ + + les paramètres qui définissent la perspective (distances oeil/écran, écran/objet virtuel) \n\ +\n\ +(2) les commandes qui modifient les apparences des objets et des situations d'intérêt\n\ + (+/- transparents, colorés, etc.)\n\ +\n\ +(3) les commandes qui modifient l'apparence de l'espace (grilles, +/- surfaces, aspect des flèches, etc.)\n\ +\n\ +(4) les commandes d'édition locales (drag and drop une flèche)\n\ + ('faire de la place' pour insérer)\n\ + (sélectionner pour déplacer ou enlever...)\n\ + NB ces commandes doivent être graphiques et/ou accessibles par raccourcis ou en ligne\n\ +\n\ +(5) les commandes d'édition globales\n\ + (ex: introduire, retirer, transformer +/-aléatoirement (n) objets dans l'espace)\n\ +\n\ +\n\ + NB une action effectuée sur une zone d'intérêt devrait pouvoir être automatiquement appliquée\n\ + à d'autres zones d'intérêt identifiées comme similaires\n\ +\n\ +(0) NB >>> AUCUNE COMMANDE NE DOIT PERMETTRE D'EXÉCUTER UN RUN ! <<<\n\ +\n\ +\n\ +>>> L'objectif est que l'utilisateur ait accès à une organsisation aussi ergonomique que possible -----\n\ +\n\ + i.e : chaque utilisateur devrait disposer de 'préférences'\n\ + c'est-à-dire avoir la possiblité de faire des choix ergonomiques personnalisés.\n\ +"; + GtkFrame *space_specif = GTK_FRAME(gtk_frame_new ("Space (run / edit) specifications")); + GtkWidget *any_Label = GTK_WIDGET (gtk_label_new (text)); + gtk_frame_set_child (GTK_FRAME (space_specif), GTK_WIDGET (any_Label)); + return space_specif; +} + +//GtkFrame *space_specif = gtk_frame_new (char* const "Space (run / edit) specifications"); + +GtkWidget *get_text_view(){ // WTF ?!& @Grr #~! https://docs.gtk.org/gtk4/section-text-widget.html + GtkWidget *my_view = gtk_text_view_new (); + GtkTextTagTable *my_table = gtk_text_tag_table_new (); + GtkTextBuffer *my_buffer = gtk_text_buffer_new (my_table); + + gtk_text_buffer_set_text (my_buffer, "Hello, this is some text", -1); + gtk_text_view_set_buffer (GTK_TEXT_VIEW (my_view), my_buffer); + + /* Now you might put the view in a container and display it on the + * screen; when the user edits the text, signals on the buffer + * will be emitted, such as "changed", "insert_text", and so on. + */ + return my_view; +} diff --git a/widgets.h b/widgets.h index 38cf808..3011234 100644 --- a/widgets.h +++ b/widgets.h @@ -8,6 +8,8 @@ /******************************************************************************/ GtkWidget *get_test_image(); +GtkWidget *get_text_view(); +GtkFrame *get_frame_with_label(); GtkScrolledWindow *get_scrolled_gl_area(); GtkBox *get_RUN_STOP_box(); GtkBox *get_STEP_by_STEP_box(); @@ -21,55 +23,41 @@ GtkWidget *get_objects_and_situations_horizontal_pane(); GtkBox *get_ELAPSED_TIME_box(); GtkProgressBar *get_simulation_time_extent_buffer(); +// https://docs.gtk.org/gtk4/section-text-widget.html -/*------------------------------------------------------------------------------ - * Dans : [space_page - mode run] doivent être visibles : - * - * -(1) les commandes de mouvement - * (run/stop, slow down/speed up, step by step, do/undo/redo) - * + le buffer [elapsed time] qui montre le temps de simulation écoulé - * - * -(2) les commandes qui modifient l'orientation (X,Y,Z) de l'espace, - * + le zoom, la perspective - * - * -(3) les commandes qui modifient les apparences des objets - * + des situations d'intérêt - * (+/- transparents, colorés, etc.) - * - * -(4) les commandes qui modifient les apparences des grilles et des flèches - * - * -(0) aucune commande ne doit permettre l'édition de l'espace - * - * ----------------------------------------------------------------------------- - * Dans : [space_page - mode edit] : - * - * -(0) les commandes de mouvement ainsi que le buffer [elapsed time] - * NE doivent PAS être accessibles / visibles - * - * -(1) les commandes qui modifient l'orientation (X,Y,Z) de l'espace global, - * et qui donnent accès à la partie de cet espace à éditer - * (zoom, perspective, distances oeil-écran, écran-matrice) - * deviennent prioritaires, suivies par : - * - * -(2) les commandes qui modifient les apparences des objets - * + des situations d'intérêt - * (+/- transparents, colorés, etc.) - * - * -(3) les commandes qui modifient les apparences des grilles et des flèches - * - * -(4) les commandes d'édition locales (drag and drop une flèche) - * ("faire de la place" pour insérer) - * (sélectionner pour déplacer ou enlever...) - * NB ces commandes doivent être graphiques et/ou accessibles en ligne - * - * -(5) les commandes d'édition globales - * (ex: introduire aléatoirement (n) objets dans l'espace) - * (ou retirer, transformer ...) - * - * ----------------------------------------------------------------------------- - * - * Tous ces widgets doivent être organisées de façon aussi ergonomique que possible. - * i.e : chaque utilisateur devrait disposer de "préférences" - * et avoir la possiblité de faire des choix ergonomiques. +/* +>>> Dans : [space_page - mode RUN] doivent être : ------------------------------------------------------ + +(1) les commandes de mouvement: + - run/stop, slow down/speed up, step by step, do/undo/redo + + le buffer [elapsed time] qui montre le temps de simulation écoulé +(2) les commandes qui modifient la perception de l'espace (la caméra) + - son orientation (X,Y,Z), + + le zoom, + + les paramètres qui définissent la perspective (distances oeil/écran, écran/objet virtuel) +(3) les commandes qui modifient les apparences des objets et des situations d'intérêt + (+/- transparents, colorés, etc.) +(4) les commandes qui modifient l'apparence de l'espace (grilles, +/- surfaces, aspect des flèches, etc.) +(0) NB >>> AUCUNE COMMANDE NE DOIT PERMETTRE D'ÉDITER L'ESPACE ! <<< +>>> Dans : [space_page - mode EDIT] doivent être : ------------------------------------------------------ +(1) les commandes qui modifient la perception de l'espace (la caméra) + - son orientation (X,Y,Z), + + le zoom, + + les paramètres qui définissent la perspective (distances oeil/écran, écran/objet virtuel) +(2) les commandes qui modifient les apparences des objets et des situations d'intérêt + (+/- transparents, colorés, etc.) +(3) les commandes qui modifient l'apparence de l'espace (grilles, +/- surfaces, aspect des flèches, etc.) +(4) les commandes d'édition locales (drag and drop une flèche) + ('faire de la place' pour insérer) + (sélectionner pour déplacer ou enlever...) + NB ces commandes doivent être graphiques et/ou accessibles par raccourcis ou en ligne +(5) les commandes d'édition globales + (ex: introduire, retirer, transformer +/-aléatoirement (n) objets dans l'espace) + NB une action effectuée sur une zone d'intérêt devrait pouvoir être automatiquement appliquée + à d'autres zones d'intérêt identifiées comme similaires +(0) NB >>> AUCUNE COMMANDE NE DOIT PERMETTRE D'EXÉCUTER UN RUN ! <<< +>>> L'objectif est que l'utilisateur ait accès à une organsisation aussi ergonomique que possible ----- + i.e : chaque utilisateur devrait disposer de 'préférences' + c'est-à-dire avoir la possiblité de faire des choix ergonomiques personnalisés. */ diff --git a/widgets.o b/widgets.o index 21880e64d2b8943dc979f96f033993a612b06c6b..e5349fa7b868cdfe0da0870abd8bf61d38b4208d 100644 GIT binary patch literal 28152 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 Ra21s&OY3Vg6__mVe*r#TN