From 0e8b8c5c7a1cd9cf970aab6fb143b17f4a3ae7c3 Mon Sep 17 00:00:00 2001
From: Pierre-Antoine Rouby <pierre-antoine.rouby@inrae.fr>
Date: Mon, 6 Mar 2023 11:42:05 +0100
Subject: [PATCH] PamHyr: Add model scheme and set application icon.

---
 src/model/Serializable.py        |  17 +++++++++++++++++
 src/model/Study.py               |  26 ++++++++++++++++++++++++++
 src/pamhyr.py                    |  12 ++++++++----
 src/view/MainWindow.py           |  19 ++++++++++++++++++-
 src/view/ui/resources/M_icon.png | Bin 0 -> 16354 bytes
 5 files changed, 69 insertions(+), 5 deletions(-)
 create mode 100644 src/model/Serializable.py
 create mode 100644 src/model/Study.py
 create mode 100644 src/view/ui/resources/M_icon.png

diff --git a/src/model/Serializable.py b/src/model/Serializable.py
new file mode 100644
index 00000000..e3b65cd7
--- /dev/null
+++ b/src/model/Serializable.py
@@ -0,0 +1,17 @@
+# -*- coding: utf-8 -*-
+
+import pickle
+
+class Serializable():
+    def __init__(self, filename):
+        self.filename = filename
+
+    @classmethod
+    def open(cls, filename):
+        with open(filename, 'rb') as in_file:
+            me = pickle.load(in_file)
+        return me
+
+    def save(self):
+        with open(self.filename, 'wb') as out_file:
+            pickle.dump(self, out_file)
diff --git a/src/model/Study.py b/src/model/Study.py
new file mode 100644
index 00000000..5379ed96
--- /dev/null
+++ b/src/model/Study.py
@@ -0,0 +1,26 @@
+# -*- coding: utf-8 -*-
+
+import os
+from datetime import datetime
+from model.Serializable import Serializable
+
+class Study(Serializable):
+    def __init__(self, name, filename, data):
+        # Serialization information
+        super(Study, self).__init__(filename)
+        self.filename = filename
+
+        # Study general information
+        self.name = name
+        self.comment = ""
+
+        self.creation_date = datetime.now()
+        self.last_modification_date = datetime.now()
+        self.last_save_date = datetime.now()
+
+        # Study data
+        self.data = data
+
+    @classmethod
+    def new(cls, name, filename):
+        return cls(name, filename, {})
diff --git a/src/pamhyr.py b/src/pamhyr.py
index 206755c7..7c755d88 100755
--- a/src/pamhyr.py
+++ b/src/pamhyr.py
@@ -3,14 +3,18 @@
 
 import sys
 
-from PyQt5.QtWidgets import (
-    QMainWindow, QApplication,
-)
+from PyQt5.QtWidgets import QApplication
 from view.MainWindow import ApplicationWindow
+from model.Study import Study
+
+class Application(ApplicationWindow):
+    def __init__(self):
+        super(Application, self).__init__()
+        self.study = Study.new("dummy", "dummy.pkl")
 
 def main():
     app = QApplication(sys.argv)
-    application = ApplicationWindow()
+    application = Application()
     application.show()
     sys.exit(app.exec_())
 
diff --git a/src/view/MainWindow.py b/src/view/MainWindow.py
index 0466c4e5..399d4d5e 100644
--- a/src/view/MainWindow.py
+++ b/src/view/MainWindow.py
@@ -1,3 +1,7 @@
+# -*- coding: utf-8 -*-
+
+import os
+
 from PyQt5 import QtGui
 from PyQt5.QtWidgets import (
     QMainWindow, QApplication,
@@ -7,5 +11,18 @@ from PyQt5.uic import loadUi
 class ApplicationWindow(QMainWindow):
     def __init__(self):
         super(ApplicationWindow, self).__init__()
-        self.ui = loadUi("view/ui/MainWindow.ui", self)
+        self.ui = loadUi(
+            os.path.join(os.path.dirname(__file__), "ui", "MainWindow.ui"),
+            self
+        )
+        self.set_icon()
         self.showMaximized()
+
+    def set_icon(self):
+        """
+        Returns: Add icon to application window
+        """
+        icon = QtGui.QIcon()
+        _path= os.path.join(os.path.dirname(__file__), "ui", "resources", "M_icon.png")
+        icon.addPixmap(QtGui.QPixmap(f"{_path}"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.setWindowIcon(icon)
diff --git a/src/view/ui/resources/M_icon.png b/src/view/ui/resources/M_icon.png
new file mode 100644
index 0000000000000000000000000000000000000000..9927c06efd799b96507e826240a908242cdaf98b
GIT binary patch
literal 16354
zcmdUWhd<TP8~+EP5LqEaGP4Qk3fVHVWoCq|tc#4RLAH>Ut{IZO_b9Sw_Pp8i+I!vK
zx!>>i_xk+}Kd+bMIQKcvdCs%m&v{OWrn=%yqB}$o1l?3tlGB19T<~99=sE%Tao{z4
z27X*~lTp^W4!(S^TLpvPZ@f`5bb}zLTI@H@=xhlM7^HKTH*nW>e&z1@($yOB^z`Jj
zbFz1{eEG(j&)L-`c}wCB1TjO(a!+-<zM*HlzcK0}F_``uT@UB&nd75b<abI@I#Cbk
z=}Rj{MMWwP_SIF-YgPo;tf^iui|u>Z31<da$QeuDQo;@WoI-wUz@>Tj6U%vqL#Yj_
zHdg&@UDehLl+@!JhHtkUkF`BE4t*uoqX*p28i(Qv-=ZGtu3-88|KLlyIH^-|E+ebE
zLF*dMLu!fr6{-5oO`CGJw1<4gwHLSV?;THy2Uye|{dHrPXjgnjeQl>KnCn|15{J#>
zD;$!h$A@l_M^Vby8owD)`$QK_ie?B9C4!h)+Jq4$)jrlbFv8IOP`T<!yzBT7t@Zbx
zxqOG}Xj)F3eoY8UhajIFS^`eDnVF`NC%fu@`*2Qh@S*WP`(8E%%Wv)V8(L_!bC7sD
zctlWfShS_oVFbN>g=JbWNdo4b2`AL7t`N@X#=>F0BE3u7hIuywhVF*jRFkEtn!Fw1
z9bs{;hm$t*gV9+|$oc_wCz4fx0WfH$2?aDH-sd}8E)_*nCHkbiIb|BB1Pd$v+EX9t
z3t%z7U>YaJ{{E3te&RG|`{Kt4t+*D9@E->iWR937)O;o69p*>0`2iQ&>`ug|;cZxA
zM$;z3j7M;e6mg)oe@PM?;jX{0NjLk0#SJ8aaJv53G*-;tB2Ov;+o30d1PB(AwCn2X
zPER@U@bA~36Sg(ukkW=lw~n3_R@t>TGwcw7rAWXx!`&fV!rA#aZeDV?P_UgSK+#Kr
zkCD*C!er0Z^7~W3mLiyEyxjU{hC6eTOTg_m8!0Uf5O-Ac&-ky=o`9T#7nTzE#>H=0
z2zctz`8O^ug_ejxfE2KT(?aC>Zt3fy8SQ;RtaP430XMwbV9WFNP6b1K@8~!MuE<nB
z;zFv;!6j~|o63{o0)B1(cP#tXoE(L~3SxspZT<$OI1XhR1jX)ElM9&hbRyZ?XaT`g
zKv0?1lC)_xxqGtQ&HN6@5C%6E9KJUBoJ%va;9U)8=s&;8;#?07YpS`B7A(~SyYdA5
zJ|NlV{J`S8d%`3@4Ss#SY_=1TOg2jTuG3o;L#%oOA4+8Do_CRM+SuBPr0xIq6Nz^n
z7wk#??lI1ZsWUpGDlGaVoRs-GkQx<Tw012JdD5<M%ZZeLE<;a1u29Tsfyn_JO-q})
zON$}Q4h7pJF2g+=nV9K*(3(hD;RZc@iUVbTXvgu(tJPD#6-|U@kk$kWw6;@E$=|qq
zXEgEnUX&|=D$tii0!vkEK79-ynt>K?0n=O#rr8Nekgmd3crTyJgrB;B&wj>!c8?SC
z*S>ee6|_Jnz<bdQ4J|YJT*Zxz+2=GTOXy+nvLgT=34(g9k;w0ic+M7A2=g<r0}{DJ
zmp(DR+VwU*%buseFw=k(g<Jd}$vJtRE?NORAfi{KFw9g{rTwRXU~on~!0Zz5b$7c_
zODC_;&AlcOxDVzmKicIy->h<$?4q?B?Zdf74kih1NsQ@zzJ3m-1Nq4+^wjtJ+W)yX
zDgHZr1@kT`6N1V#|G7wugw^RQM0C_)1tX6Gz4{g0?gu^lx~{cNbzc|DQ3jYekNi6`
z)7u|SP}Dp^V}AS58=NwWd7}+7bLz+V3P8-SfZ_CL{j#J@8&;sP+>0CmJkS9i*cNsl
zndch952ys&fHU~-n8xDAu%a6FY~+2_@VPxH0VA-1_;A6v8sp2la<`A6?F$Lb4nW1k
ze+fwE8v8C4?6-Cpl>_#GB`y<);l?Y?_C2o*5I28zYC+?NuvTkjOwzx#Ms@#_k42xr
zJd)KSBdZ6eN4&p##Wkso{_5~O4w`dm>vvW+!a+_l9f_Ant#Kw_?<3b!)EZVFUDh*s
z^lq$@$FTIf=FjW!TvH{v#mW8@5grzP^t3-O3+i%M%qc&@u+J>a3u6(!BO&s>leRlj
z?;8(`r@i70oWe@xVu{_YL!#M{f|fA<I;&1D@m?Ob23&z8;--pC*|rV}a<?z=+vc?r
z{pVL62}qw3c%<vmTAq_Q3k8=1aEFPa{pS%SEM^zK*leUS7_AdxOmPx>urm|9W@l*p
zeNIt#1kI?UTgruTw5`2tUbySAB5GHPj(M9uO6=YhPVwEH?C!g)fXDltZnH~U)^G4V
zsmk$wGZH=D*)G4Ri&kp>Lc4F1dfFDjI4Rhb)PB%(on-s;J%^2{=UPqs`R*eBd^>LO
zPz;+2(U>W`Ps2@Qt;(CF>h%gv_U|wQV|>n-{i3GXU5Ra0G()qMM1S3EDPh#<ob}3u
zF|1q8SLB*NJUw4EGZ#y0z3ti_$|uFxGF)Kc&P8{Joy<#KBA*}gj|5F4;H2gfDJxm^
zN{hdlOyBkqp?S3DrnsSVY%D4iOQ~0sP=0NL)3!jjg~xfjzxaaxqI<u7E|^*z{mJYR
z>=p+i8lr~CqwO)L-%xkBd^`483y}D<VdTQwL;9!=9*;l&1h2?Yu21@5LmHkZ8uDpG
z0l^()eCNZLDIJFM-YMV+c(VV!p*D~7Tc;Nr4c(0#>ciP=-<Rm8>N}g0LaZYyGFA2e
zVL!DRLB0G6>@`t>Pq)9~S+{s+@b2XkmFxH2_C3r_hM!Dwy<+){FD=LFSc;kV{tM1<
zJVDUa6(lX@h{}uLUBpTBin7_H6-FM`u8M!e>@k#u8Ru`S(}NKfOHpnYtUZ1KlNaAL
zxT5j5s<(HpJzzSou<X$>Ck_Z!Y7M)#9z^`{lVH#}wA^uuYOI){b*l!#GkYpUh+hkh
z>&*$GNtz#VLT;^ld%pa0D*qifcI&Kxl?y|bLd&gXbqTt*?VN;d`_&g@W<+P=oCEk!
zY#k7^YWgj^rIOB=ydU|yvssK8s=#}(q(L8>$uOs}4Hh5SbX0gO602WTN}d;3e+m^u
z0vF&ahjaZ#zwoiW&Gmb2g*Lg;A-JJIxVI?C(;?1BXKwoZ_5-BkR(BUL(u3C;Au1vg
zM-BPP(Mv{q&M%3AdhGlh_U+ey{^8bt!Qu)6o;gpT%v0F!eEdcz|3!t~Tc4`X4Oge+
zj+->bpC8UY$w%J*NK25I-sW+?{f^~2u=~1drx$1Eo*ie0$%}_$W47%{70vwxCY)4O
z=H^NS1VOBKBA)sAMGTLQ23s3W4*GUTFxO{3;B70m;bFOlnf2Zaq7|2hDI_lKd(+V=
zD+`I&g8!kF+#c-cLq}gat-co(ndue0;7Ard>>3zQGBnOk;!e^3CmBE?%<{>!*j?PS
zq(6XT*6g*7=8@DS&hNH;3FR!~iCT}ke3QDTvtE`34ikSlWMx~dJ@;t1K5#>pyAm2f
zpA@aUyyU_KwG0jKiHMA7nV7IuGR|`2@wV8ftmhe3o3yr8lzmjTa;N=w8_n?4bxpTQ
zCx;aQ5*)P@{c2QVM^1&?mpTVgj!r8r1qH2`XEo_>hYa-ep*En(tg&2c=$Qw3dIfPF
z8=}t;7}8Fw(#gSRPMtAq`2E7~jLIIbhOf9VH9w3{nww!^|A~~1SXs&xmCF0`&pRbN
zoHeV+IXU03%v7()l%t_x%F2qB?q_V1QW9`H!5i6sJcddgr{E=yDi651vr0>4e*S#W
z>cW8blD7$;=4U}<BJW#qLPJy`UO8d3Xxh*o$}wZtzR0k6zA;j*+d@e_TO}7dUDg)E
zNExh%yO*qOZ4H8gg5>2|E73F7X{DuF3^^B#PxMUhc6{=rlKUixOuZZ}m2E;y)bQIW
z-uV0m1$CTY@)upbm9w;BRBK~Yvsn|m?G*R2_Fyf&GJFYBMYlE|;OXj8TTK1J!2Pz(
z`n)fJgV&=I3@Zmxbvk$e;hPgl`i=1N&M!rg9O6UlTVLZHM7eXn)cJJ35}(tM-|4rN
z2dr7Wd1F98s7U;7;Sr4Zmo3-z^_zjO4*t0|!XpJHYWSMT%H6I#ZKYDDwEXRR#`OB`
zi=7|v>ryH?!am5I?p@MLtu#ngRx~;8-Mf4e5|WT$rHAWE*4BYKIyy@7@~Rnw=F_tO
zLXHE-WpOy~^~c826dBtce)G7k_*2<SL7i-W!mRbYH-;@|=Qf<9f1eepuJRym*6%mj
zRPWnAGB}BWs_fiJJ;{O06oM3Ce^_saJp)871QGG?!x#M-sdLO_cBq0uo_90Eqcc-}
z(FM)pZzHkoeq$Fu;62UOE=J}T<(S|8Ov6TYja`uva2Y=|ci@=J88(WL&F9w@5F`GR
z|FTsuB^ZDhQpuw;bw7OU={touA<F81^kPgrZ9D^g>76l3KiV++r@u`(F5Dlt+-Q>H
zgyi)&sn~h&>q4LAs=VWHZAyo}Oxm%y1_IfX<tzQzzB-m0HTId9D6(Av&U~LWw)5Fz
zB>5O)!}ruqt8&Z0+xXJIyt2&u^RAT`<o}4e_crkNB|F9GSVjYMWGScqsLsdmPbk|;
zZ7c$=lvFHrwG!7`hZ!t6@9E=hI6tnhJ0>Fv(4Zm;oFP`<v@j$O`D0N>{8V1vz3;BP
zdxmUNzx9SzTVj{^>HEac(DfJMPv!gz7+a%2ws_xf9!ar$BOv_7@&Y1I=H>B?Sr0{x
zqx!OADWZU=rG3jdT$Kk8GJL2%BuPY`H1zxN`3+XZU#iQ^3V(_gyy1M{B2Cmx`_{fT
zQuLl_&TmRCtNKm6Npber{*~j$gE>QVov&KND&C5xLDzZ;m$(!aj(G8X$e2`fsc5~W
zIUzRd#M@rJ(Ql$KVJlDkhO9B;MU0jjHOA`3p8YB(cAZOJF%`y|P*<}pmr_@UlIwB1
z!&Hm`kLWH_c*o`Mg>tr~5QfW|yabW|y8E(|h#ThzO$yt)O)}}sNve9K6Pu<BN2d~m
z!LAB8oZ2<Urmi)MA5-1XEB&Vnfhzh3boYDNLaE;>u*PsFYRfIE1C4RTqKCo+iF>V4
z7?tnL@{AaMDv8cliW+-$>PJbc>ZKDr!fSz4_{=@wyNgEM2woPZp-2k$*;N5xWMp*C
zCvui7vBsqj%u>AW`?ZXa^`C8crC62K_^Iz@Ho30dJ<otXevAHn$wE#f&E<WsY4{02
z|3|+Il*D-1Vm=p2RO(D!vI?b~BL7B!kt*Qx#s=!@VxYPBQRMwfN0o<<&+-=PPknj>
z?>pC+ukH11@ISHn0H<o&kr02<lYp`QwuFf79QNN{Et_EI|7)rK#+|GtrJLXH!Y}pm
zMVrUa^XLPA42rg_?$)Eovi_n<ITjuc0ZLd7exp3>6O-?<5BHr0_c`=S|Es2dOYIC8
zRPjr<+)QSm<DU(N{kaml?~06K=oz(pwtV}<Do~gz9{X>u|E|Gn7AeF5W@TZ~>Y!2=
zd1-nzwl8Xo>0fF1!H72}ixV*Ze8p5byNw5m?OfT9>0kNd(cbvh+%SH;k}cj^?Zl^>
zXeRF3GTwM+@QuThCYpf>%q?FkC^)2}qAd{v8(RoXSyARoh&6WFqmNbSma*yzytf*z
z)E=l`bW*m#Cw{ImX*lfd`c~ZZlAnqwraR*HVgsTVeTWjN7@4XlWBCU72V$7nxk8*x
zYO==`jC2XSxUE1IymraYzG*Y2`$5UdeQN)h($8V6{j!;=en^gW82?|H{!Hl)b0R|9
zmBio`Z!JzL)>M9_^y2O12$u||C%-f*G>zsji#rhb=Bj|%;9yFR6cBp0NBabI>w@mS
zdO#tl{eYw`aVE8H<G4-k=+whKnXi9eohEv_|AhZJ0a5hDT3N$s|9<_9QF`&lao`hw
zsjGI+%ce_>P3M$<VczWxlo9OP)qAC-CRa393OE75!Q+*FpMtMtLp`IbPo?--+=Ruu
z3MmBio{m@XY(Aijqb?cxpHtPdwXyB|UdBYLoDFa4p2d7@IBsu$oJ45YQ-b+{#F>-F
zQcEo736twNCdMx!QM3%(?v0J@&{2`s)wTARs_g<Ubl2k5K5xHpi`msy?o{R3>&xVr
zQpX%c7~b!0rVr_wV{V68xduF=c>uj=ap|i{V)Q4)%YEOj@jAO{J5|6*d832LbAzvx
zV1&QJa06x>rp_ARK>{Enh*3Un0aLw9uNrcPuiR8V%Jbab*f89ic!_4X&QAov%NTuX
z;6cSMLu;9RTc&#HNLkqjNoPs}?K?Itm1sl$E4&^8e5kIV{(|_}0M1%2_T5e?%Q)|+
zq-zE|QmgLdtG$KOgG*5~!&ip(7ujIH3OLQC8S3s8V11XF^2O4mWBV1(3Ww~Yk6$)|
zj@YfbBNw-;FNi%sxuyC!RGjc*L4emTge`WB%+`jp!j}*8t|U8(lsHuMA^<m_VLaXs
z3D{Gv%f;iXpXYEvGh}^H&FUNIOY01owB*AOf1$vKd}=O3`=#h39v6b}smwm4uzA2W
zDgJEfH@829M$Qo7>y?4UN26pQO{Ic1+g%*u*?H4JR8CS|mIc$=)KfvQPe;D#a@ib4
zo1OnAo)m|OpreIxQZbG=gRb6sMVM@EbyAOF=|rb~FpvJA!GSlLBmiJy%V1rdt2gXn
zQ|8NBTvdnj+|I}xWG0oC@-csfu&t}Zc@tQZg$fFvYggf0k5EA3pc!7qJj-HrUQr+G
zd+xA;u=(@e{qax+QZ`Ib;ipCP1^~p^`7JKrI4XocDodJuj@Ee%pqoY5;@-A0dkgH+
z`QfsIQORNqBjA#p2x@z&h@2`H{-`$Ddl3i^vQS~ywxL!?P$kJqT#)#Q#2F974G{cO
zr8jdYBymT5xR5!{)t<k4J-emcjVfY=ZmhRn1s23U6<RpZ2W`sWG$%S$&%JkecxUGO
ze|1fwzg{1vSYqro5_-R-;i5>ldLgv`G6!VTG+^<iM@P<p&yW@Gm}l%51u$`uXyW*j
z_ZiAS-o1df@aHcnPKZ{2IC3^0dC%eR+QDF$eqlLSTK2)xRm4i*@x{vcDBdJpz?0{Y
zK;cx;$;D-*^(W7^+xVT|>FrGy?q(t_3wgIp={$gbmb=-yW(?X_2tz&@kh#nt(aKFU
z$;%jZ8`fkEgeI)r*uGHtZtAnzNMH|xKah==_NhJ!0Q+zdLF`sWqu@wBstF}M)`qnh
ztJnxLVUt(E;YX1z)0iDb>=Z?k1YQ-MrEIbWtF^9YXa+Z~B-I8p*a!CZlI_1hI>54S
z%(yIB7d?t(oXwr0s^%K&@@nCDy^_dHW9DXW@)#WiKQ*%q9~Z1q2g?HMVy6z1PaWyI
z#XjMnuAsHnG}0%izjykZtJCUnd7jE2i@u{&z8Z%-EX<;URJ$tCFf5Ogy<d7iO1H?i
zFm<o&0~W_C_p9Lq<~-Ob(OvWgcdN^%%VC)MEU9O}VG<W6i|Ya=r%L?ukvO!VfD~Jc
z?h31H&lvQ_YMW{;yI%0Mt5)w{f0vMJ?vKm6F)#F5W2^cxxmZ{Ph=x#BFbx4F0YVDW
z-fAy*>v;hXj84~xdOG{<u!0Tojr^TRMDrLYlt|INEc7b3Cbvg<lJ1qg73*P%rUqtX
zylJox3jc%~kn4SZ0pke^RDIUzF_TT)<gxFIW+;nRuW7fp8L(31y^Hza3=W#@i48K&
z^V|4az~6kWUFS-}vE52yZdhZ(#m<-H!oj}uKb6QHG{)tItj!KD5tQ8%;woPDMWR18
zI(k^K!mUSVQVqe0?6Ymxq>K<pfU^OG#Q?4{h84w0y5H<bWu_eD%WSRO1C*`J0F_6+
z53oYYbjZBxZR6GHCx&*S?NC0V=`TipzjVbIvyqmywRH%~I=kcRXoeTzf-EJWOtvc!
zJ1~ZFIpk^{AjyjCQ{qcLFNR01P3kqBRqF^b&MqMsZPIKyZN%*VH`k!jFBR*mvi`o~
zhGg&OMlHFDqiJ7%`?3EWoSqO6beJPgJRzT;82WC7*U~c;Si5_*({d5;6s4Jcj=%^y
zH6a0BPv3=@k&++68Cd)4EFY?NS~Ng2XnPDE>yK9F9>@S5S;!Z#77ePDi6r>Y&?{IU
z6Yv1oxUC~ZooM%tc<WzoA#k?i6k%<mvu|4Pr+J7`#Aq_ESAFnJ%y8c=QKtuti7M;&
zTXI1*iw~G|$i~P^gVh~9PN&tPuXp1m#B97Gt^cnbXh*BtXp91n8#&pN@J>1nGM{v6
zT*uIdDp>k~!d|P#Oox(x>v0&K$w9BRW9}FFNg$i{uEL8mHlXo1s`&Vj@cj7beIUs1
znw&~P;(IsH46&V7WlV2o%Hbp;gSMO0pthic#pXV9H+E$tW`F!~`9_UB%Y|%>p+146
z@ATi2sl$F%=KE9#r=1X;e#`gcJK2x`pQt~mGwW#aH0Ex|Gw{s(vQ>St@2S9YyEpIS
zw0rjD|7;|9<JD|B@+t7KJc@}|RpHco-iF5)3wr~OsJH|K1~uvOigyQFSrIQ*yE@5>
z+iNuu>yGT*C|~&aLC`dxrB)9hc~B5g?K^>c|I;w@TQHiw#gEx|bTq(d))bDXN%w$i
zuXHPrV=;ZIFgoGxS=M*Opz`~@H;iD-#*-!9NC}s*-oK@*n&KxXLs>r?pTo2a-FVK&
zxT5z#?J*E|&pULdAA>LCVBH3PTPC7jmCgBGJh>eqS%AcG>*l7iYEkL$_?d&?-r7ln
ze-qc&!#7Wu)#X=4ttVu852pY17=~q~J2t|<mr|8{+xUp9skP?5jGUxvi*^4{_3D>#
zslz!OO_E4&n$ApbcJ-lt_rUoN<DG#>?T6Na*8~7k`hFZC)k*0&!xMG6saSeiu~K9B
zCi2kuv?hmPigcS7MWmIh+H#6AERlw_H{J$lGHYn9rNYfNL@r$Hp#?9f?@x4QYnLuZ
zk#%n)&YpPh{_^QMTjbZu21s0FyzY65&%dU{k@a)yEAs8neJzo<IrP#Q^LQSWtg1{H
zZxsM7Vu|fkf<HPWCqIpZ$3OX_pEFw`x)kJjiZXE6f1;0w6k^c)U?kRgwvzf;t>_6y
z;H?4+x=`HWFqjZ$k>pW8{qFFGzy2LYSqr?*ac866lO?#lKwIR1EMy9kU+_qBL%Gp&
zP5mn^K7qXJ<EmGb0)aB7mGxH{`94=JbmOI_u*gtN>Hw3yn*4mkuCgI!K32<+CgJEq
z)R)Q+Q8DWTPItcX<p{x%ba$>|R=g*l%e1K3%oZYFnyrPO>rc`>6pwd{g%hYoz$7>~
z%zU*(FV^fjzyEG1wi8!fm9()*sa=NK!A>~sV5`?dbmQ8GRF5%lln0M@=~B<nq#q-5
zxsNu?zc?C|t_I*M8lMNcnGW=^u()0wj_Es|X=5}E^r3QI*l{<LZw+S)6XJBu>FXiG
z8mjo&=o3u!L4m*F^3F|_wEpz;dR&2&UyW))<5kM0ev1g!*&3xuGD)o$w=a{%2NU5B
z&D=7MhJbol0p}YHiX>id7BRscO?Ecq<hyW#oSdOG&6EpyxeV&Tv2tN^hnA_zj%@wZ
z*xsTi`teb_y|?krNdQK`oQZu$T+;95pk_IGiOHgYoMPJW36)tb?ArGkr(CygMaNdS
zeGEzN^Og41f)s)jB<Ys#F;7(@(vdjMuAd03_U-#Sv4rQYOwo@T6>t*e?xn`^7Bz7i
znIfKlGYBld>s4LO==;5Os;)fqR6*Cl{M5YF*of2XT_eM7)+F~cUhI8e0*|=-W&Dym
z`@R#J<f}!Sz-3WsesT=2b3JpinV)*4v&H+rxf$4E3A*cyCN<`eUy_Yl<nS+ihy1Vq
z&U3BU>*)0y7M4<rPKx6X3C4rT&uR)L4S%yNWutiu@@BbMnudB@c16TQns(2YU-g0|
zp4%)|ayRV+fmHLsqU+zfW$THHuCh{(8T+1nAv~%8I@eExR)@k(2_yX%ra#x|vuZYO
z*{wg8n@1D3%Ka8&SRWtV)?z_`RGx<@@I6Ts2}0`&ar1!r^8F-L1>yG(rd+PlkoQzw
zlgb@T&VL>hyj4CMZG3R*;Dtf=;uAG9D3LnEiu6me*r)i(ZQ82dSz&tk;`(g{R(1I}
zczsMUkA0FR^y~q$?<xyUAQne@xYrbESv1_IxiuaAbj|3n6zGcbnONa6@`@n?>M1d1
z=LG_P3M}D0t>yPdkCcZVj4Zt-pS~Pw{_5i9zx?APRmYmzPhG82DmPtT_wQn(sHk@C
zJ#oxyI-w-Xa#JHCR*QOr%I1BHyudW7&P^>L!K&Cf7XGbN9*2{qf8VNo*`w5Q|FJi^
z#7srrvEd;<E#m_vcfK#dx~8ZrgNKz5l2jN$uF3OvEuZTkxrrhgCSnQ-Lsbk1ZS;BF
zmcPU4f)z6Tq)gBH=TekkMS7)hz(fn;8b|n*x7QQcM5;|-TAW|T=sH%W({T)se^X-J
zaBC@}au3Y>xB+iTVD~fH;5h6$ewy5W^9NLz77i@~!<m(2>X?_E*&BxQduWoU@eHd8
zS2y#l&f7*x9WOUxJhUgHWj^7iv8HxE!+Kfg!{_#a)eyv_jqL^KW)XT!JXe_hzIK^(
z$z9k|{+qr0B8be`WK@0F$MIOTVC?9_4@(rtdX=<3Ol2V!UQaZ>j5}~P=3R@vhgM40
zC+&Akm?2>u?0TT=ewR67pX^JUH{rAVT6mjT9+fuE_Sz-pphAZ|);jkOMTi2Uq1Vnu
zHj}aMQKeR+6R7wvCZ!XJ#gVKK1;jfpVb0IZxX$Q*Fl*p%lHLqY*%2#@0h{^5$k(0a
zf#*lML=-?~t))D1F}aWR?ecQp*#~(-yfdwtX9wBh(I`u&hwJs9JFTKd`^ayDa*hI=
z6{9Ct$iKAV^fLwVZK`gz33DrqXZexDc~jIu$H11#*(JT6@@v~qa8}j#xVNB|OFyA$
z6o-APpAJhr+f7H}?=G|N{yxG;=Q_R~imamPF5RX8WtbamvAI#oAwb*zb=0J%T#bcX
zRlx}ylNNXSJWnz?E*7Pm06|K8W^<y``U7VJHn2)(UeptToEChyUvirp5rP=<<yhHV
zYvGz0nnG3fOi99b*-8&7YS$3Lxr?iv{tFL)m@C3J$A2>3D5F~44MRQ}+DvC3tUq6u
zmi0-v*p5g@@MTKfJ?*Z_nQ@oRH51F{>5eJ<u*_e372~F#Fn@>z!6hE&+0m-(-?*X2
zgSLA#s7nhEE>o5Ly8*znpp*4fFhPSZ7jsvV1)To3SKT=Ep{}07x%VQlPs9)99M40_
zzsp{dmVDVet!MQF)-89{KvhKJQo2pN(P<{fddDMWq)%Y1UgoJn<#Fe~(LuIBPlp%x
zWv41_+hwAkLtO?>*XSIlD*Yd@Pz6vtt4R{hlEY_?yCYslRkWZV$#}|-CMlbvCISNI
z{@_P%{bqxmZheXsd|v5ZQDZUdvvAx1@v#B3{RJGKRd$eXB30Ra<kn2N-DGl2yPa9c
z?++%reSk;iK3Lornr@OOI2Y|47{$hm=RsA6&(d$r-uSkY?fOXCjjXv<=V+Hu5^+i}
zrbg(dkO>L3b=2eUUtKIC&Oh0No<7E2NLvi8_fC~gylFJb50<Z*b?c>3sl3>A-@@Ts
zbQK!@5B)Ap6g%B?t#Z)0kD)|PH7-^oq0rwUlVr6{XWReFfS$4UQ%3jS-uDoaP15*y
zxX8~!5g|@yZ*z+dsqAjMu{^WAP6$}-IFg)OqgN%whvZ+<ohyLbpf8%DvECXbX7`cm
zsk)nEptGbTKH*HnZ6cfm&5*}5?fqM0YrL)VZrSbCZW`FGwt!%T-$i5pg`#Le|8pS~
zRz31wCKF6yD4U8p*QC*bFn^83qa;_Az3bmlax8jt`cfyQylr1L6SZ|wt89eN9(N08
za}2Bu3`ll;m=DvFGs8kBJ2A_Gum;!HB>-TcjQ!J+`#$brcaRrc$hQPe{bQ_DXb5gV
zMu{W$!BAHG3s+Wer;^5_oqx?zR5HG@hQpN@Q0x&%;Dk8uOm%o*6Nt(J9}_KE7;PEP
zJJrYMTN!?6)uV6=KQwc&LT?2C3pM{$?>tpi52mpy_eH|DVhVC{EaWN=Htu`}Ddx|0
zN-bR!XWZe9+@Bgs@@fsV+N2l;5AjHJFDxT#If$4~sc((uNW!g+Eg@&fiTw*Vq>vfu
zgYs<B$=&(OfV$uvAmnu#ka^DbxK{M$fzu`xITzKQP^o1yFfW9$u!SKuKl)iaXrVds
zdEA7`V#MRi2d=JHZtN9Y=VC0b8^-=K`+S(Wy3wq%bcxfj;797%vPrXXCY1JLJ^95p
zbu=;idA*Dz|NW_|u8yNieOh{6!jKvLn?K>EBEh<2&&o?*d`oPj7sj~G9B^1g5;u1Q
z`<T*xdb2kX{ykP!OLq=j1QQDYSjzdcYw~N6oWsg{89vxTk>Cr`Gb^j}@x16HC6LGH
zQWWIRI=i)<Bw8mN(@!|CA4k?)eO*)CDhEHlf_x9;>a0kH$%U~wF^rFul2GTpPHSO`
z5=Qa4%$3<6NV-J(r8g!bzRoJyihfLDy)fo7k4ySS@r@Ui!gkN!Sj1U~M;gH0kBeU9
zajPd-8@j$xwCO%>^qT#akE#XDOYUA%+_}bl8{Nr4Zb{{fLWNdCg^Pc|zqywf7&6A)
z)$6!ZGC^76bVICHin-2XhJKLcikkiRZZB#$s;KN2HAH1nZ~1G(XspTQ2Rss+p?(j7
zE4{XDFTeT*5DmwJc(m%Cy?fJMu~|~FqhNHf97}v+Fk7^eoNDWx%S4g0lBC(=&;2Xb
z$uQT#U|%-{GjpcrYnKD=>Q?{|fHWB3DXKl^tMw(f7}UaXpsy)WV1txRzgYv)?0#yu
z^1W30CrLKOomtv-8e28tMh7`66pqBEQ?*+W8I1&K?|@$CsXQ#Y70nGw2k|T3FqEVE
z<;;SEJWD*Sed_z-yoUysz78uZ6}*p6hJ+OH|J9%_*HNO4M>&EZSYG(AbWV1!bZ@!z
z*DjA*1I@NbgVI(>f5hdb<mETA#NHW<q<93l{Qfy%jc@j=GO0(eZqOm(Y+>#)d9-gN
zf%uDoZbUt1TsA@Slo-tlt}08^s!wI6etn7xzB*=+OWsvK*_mk9a5)a&82*#G8Ez0y
zb|v}PsQs5BY5$SWBb9X&UgeD{>HQ_OC!A8d@sU!tHrHu12&xYK?JCWzH^Aj#;DvjU
z)R(BB%03QIN&r`6(#peaMn!)ClAiJrOBI+Z5*)8$8y>>6C4c1`>w~CN(wJV3bL}L&
z4DAs+udYqc6)3gLbKd(>*HufvFH$`7wU-E95m9iO?r0=)s*qk;GP3^*g<ME(!awuM
zzKo*3_jkO;ybhF5m2Ykdv?EV<qxuf|n>NCmd~(Rt171@wnz#u?;r`Q4znoK88xixo
zzyPrPs<>!7_0^dTA;FoAAKBB-BIV_m&tQ0(pl1F>)x>e0n`d47#bpEi?BgM+x=hcZ
z{Ox<!e+FBtsAcdD<6pmyi*A>`Xgqx;J9Y7G6`>(hCQhw8JO3xl=3#`Ryc+VYe?fuE
zY(^5lsbJM`6O99<)4Mim=!;Ih<E#R<4CfJB`fB|A!W}a$h-f&$RJVNi6HIkIq!K?5
zD>4NjGLeTBs9aD6ggc;NHnoUX)rhI^ZAMN)k6vE4+HXSG{<AMSCLWGeOSZiEx7ESv
zGCo90m07ot|LLH(HrVw#*Sr1YJF`06>v(8E<|gOHq56Mm<*NuYnKHx51>}L}ikO<q
zafh-^s>w@5?qN53M_5k55%J+R;nYW?G#7k`jm9|{QwpToxl$@LFm@i7>wmS=_6yN#
zJ#C?|SK-xNZv%MElE#tl9BE5-!WK&KjH-NXyHcl6=b%KtTQ@03JfwG@s%tKNv)L?&
zOUP_%!N8*+;V#|ZNb);33y`ObMxv^Ar`vLh`jv=<ubO<+rj*V{K~=}6YZ2t_Vu<~v
zU5}p^2V{)*{tlNY`6P{K(yh)|Ay0m3Fo;g9G%U2FCRX|FpZy1c-GR|K4fR1^i148Y
z>qanxR}~*6ikLrqz*AvAm+)+FMtB8+8pPD}Q2?AEO@|ZGd`|B?FPKL$HCVO#rBl+z
zd?WrijwOsKDVS}97p;m38@PUO@<%;9TCJz*yqbMbi*{@K(6P}~duCuUVsrfQ%Qdq7
zy{3@Jz|*UUyi3uGU%&z3`dtt$kv+b+H#k_K3zJO*uK#r;Y++%cu|?_%k4frYJ_mw4
z+Uxv61lX+>5t<Bk@W*J9&Y8F57o#6WXbUsdc-WoQGcR`7>sV!H13e4Dg+xX?Zkmab
ztH2a~kT^{E_EckvoQGg4Nq;oH8Dy0!O^t!>i>&_yH`@EjiABdQ8JXO`_1)x6le5qj
ziMdM`8Z3BzIju81?ETUNr}(hBMGGL9l4r1X+DDD2$wg5`v2#R_&Y!8}0&MAZZLyeP
zf6T_De7il$8)di>^q<tidBay7n8s@==*LfI2NSGX2A!Q>xuBwMI-$<!B6$1<Kie9D
z`Z=cvpp|4W)HF3ngr-gZ+hn(pe(vvZzI^kOz18lA^&o}qK_7n^a`{zFC~ZC0$61N}
zF-?%?nmGQHSV0J~{3PS63C8bY{!iSLSm6yvV*5>F09o*W*MvNFEBk1$RerwY_+RhT
z>JkXmo%{X7d%7{BVxAJ<?r1<7C!qGsYY2q<->=N=w^3VXm*xnRqDYyoP;~IHNSo{v
z49;)vfhd8^R!bpD;#SGR9|gw%2LVROoy|T^HQE*2r`TFTETD<^06T~K|MfBRCy(zI
zLd`UHV0FLGNxr@ZN;}?;^gjB%&?n*ZGBE+8R?crw1lFgRWb!>xsn6OUyvhIM{4M}E
zbJTl#<1^fPb}Iv;1Jk3KVA5}D=tRaNV@;}DnAv#KHgI^jf@iP~$M(kmw2epLyt*)#
zSE|}WIE#vH(6u?;X`7y37nIGf0gE8++4bOIaG0ZyK$<j6(%rhdTj?#~AF7!NHH*DY
zet|IpcVL-?C5LsBbdVYqbfTb}F{eTvcCPi@H_pRlJH*GoR0c+v2J{N$RlX8`bN9$w
z9L>Oqh(LxVy5puR;sg}2PA-4C8hl7)R$p-mupYLv*f*;(7u`Ndr#TCHWf+~eK>MOC
zSW$oaMa|#bAAcj?3F)E!8hRb{Eop%AZuxWQA2<KeffWUkSbI`jvvHo0SoF0G1a7Dx
zR7h31R2~v%DKEVSZ3CE;N`sm`*C}~XgM9&eR^rcd^YX1Pm_7$+SXNVNTdVVYKCk{M
z`CN(gfKUi_kyo?v*&X#&|3SH%DjrrE2ZEv8&`y?I`)@|To&TLFnAvC_bOK7Kjl%<z
zZEll^ZXRlmW7x&t<3eVyZEa00RMUzIf7v{Ey}q>TgLvBjx_kM%=B{_sPPF3IMQs>8
z-p6a8=gdu{M1E@Yc+;YS$RFzyRKq5C#qIj!Ko8m}z;^6xq)&sZ+$A!QI6IU;KzW5F
zOLx&EoMdgZxhfBN!GWHDHrYnqWF_A}rHr8W8qY%w9r$UxHjW##OLIay1)tu=9|EJZ
zsc>UH!BVsbJO%+CRm%Cj)L?k;iyCVp=2*>{z#+acvE1(khwTuLR#KC=vIgzFC{5^}
zec0=zbzAESILS4G48NyG=_%Hrzzl&lkLIzrZ{O~zA&C{s-I%NA8TZY=jl&6OIBnEN
z{XGqb6I|0b(e94Gia!HtK3@O&6$Ix1^HANfuGr&Q7tjUR9EJNNVoqH(PQ1i*yj^Q%
zK!<jsq=M&)58NZjM&6m+=_>P>6o2*ZKQTD5l^VJxV`-z`1So6N7cATWY6Ci&Z(YC1
z%Lpzz0{-O|IG@$R37U&Iq3a*lz2>{we@p3uAgi5x-0?)}$_(tt%tcO~Sz@n@nqQ>c
zeHlpQ5s=DTaC_wsf}wfq)NODM0sn%<sxUGzyni-S&@}}U?Tvn5MYJsOyt=&+X4p=4
z(9rts<)7sEadlM~0WR~Pq}2HiTFiO)e}CH5>A#7$8(CNmCp|Hf^%>g$B52Blm^CR1
zko@*G0hkdn(IRlQcftthXibf~e}EI57=g^1^apiz6ahQ=svU`^#m}CQxE9G-mHgUK
zl_(Os_5ckJ2KUyEwy~6=!9GDn;8u;&qKb@hr2jqi;G5r!auF%_kN~x5Y?Cx@PI?yd
zbVjgnvTc+b?CvQDpZ|tM9-4se{wtkW+ugf$=X&fAZZ`A40u4-1K@=<h^IYX}DgXz&
z_qKzQjNY`C_}Ql-GC<!V!~Dsz^E*ib5Ut;RSzTQR0T5$nYj@6sCc*Yg-%`5S>j+u`
z1DZgNt0VRh@f=2YiwcNN%i3gKB|12Z5l`~(fTYxMN57M4Cg|cO0t~K|)amCt*(N7|
z&P$A~Lu%6t7~U;b@FBf=$Ez1;lAWl@>`^A5uJ6GuQu9yy*EPUFU;N7bK~Xho3_5qO
zQvf2|dd_~mk)XdZfb3zPQKD~24hNP#_D>swDJeP`mg#v&yfYwn#Bd*U?Iz$q-gd+H
zDGcvGSFF7Fj7b1^uWK(H>(|aF>C*CQ(>s0U8&juq0gbQH|MLy`3`e^kAK25^4-b%{
zX*Em#?POLJ_|4_AqZ#C}Z~)iO7XW8m{=o^6G$hX3J1-vl0|$Ja1v@r7eH9ERSQQ{w
zSzo75yrN0O0i#7f(_KQqsI4u!N6LMy0Q5yc?}Nc6eJ)Z`C0>k8gCg_0zhPCv^sEBf
zAo~hzJ1XP_e&_9Ow&<%5*It3CrJAVWGZo+ncwu_?C>$@of;RXc0CEvm92S^`8dSnb
zzGzymupDC}-)lfU6ntc-4(2>g<!s~qPaveqLox^OC`1HxDbyEifE!y*<fPn!CrGrO
z0y~)a;q3JC$;sy*KQ+8GrhVESLFXqkK#0CQQD$p8I(9kIH&`Fv7CIIdPyzf!<TzE|
zOI|fj{M+|#KCG(p2?&zc9|O|QG6Fs3x{=@xeZ#0R1IYA0gN_-eQ(!m7hXwn4QL_!-
zIG_MSq64iUSP6LM(Djl@Lq*pw<1@o5*$fKCL+U$KH`;jh=@V!N|8o65zSt#*8{&jb
zGwaR1Hk!m}gM5J$>>PHJ7Y**U0_KY|1#^G?!2E=hrZH$jn(*~I>rJnLGwylG0J5mH
zPYD10&;R#tcN@<urG`a3izVLBg;seq0>(LMz>c!yY{o$Poal2Hvdm;_19bsUZ=DN#
z@5&^dKo!u1#a**$msmgs^k-?tXNXjol{hHE2$nT1OvkW^-#6@VO7+I5<L(hY9hxB#
z782iw0?OP4+_g3LpyakL_T~q8apiJfT^OOJI@p4dM@ak<SU_z3D~u>=y5<60$VrQ*
zLun4YKjZQ;bwwrx1qlBe6`(Gl%GP-~IUK0rK@lL@GJVwW+XS%kG+24`&I?#7@U#;p
z-+t({(i;N3vjn@U_<GhVRv~N-r$7@6MIB8KgZC<&V%R^lBV5k?Mt0fbb#4}WO<g1a
zhp~j!va#`+H_32<9%B>Bp+k^Mg6?1Gi9F}m=VpNWq|o)p-g^m8dN5>E;AM|>QDxy0
zH*mOz%&)(ViC{&k&p`eB=<d~NFTYrMU$^~A^8xU=lAs-hQ=ba@D3jrL^%l@+{MxpR
z0PyTfo-|EBRf;zpIKykQAQmBB+cX~xi&W9vt=ky=1oF=XasOR!;PlJLS8;FA(Ve}=
zPPDeR2tl`&TbkdwGgVg!4vRfzqU8R-N*bWHXpTt&0gZ$VbFrN6rKtY`Mwne#Sc8@X
z6%RQDf=WMWSc}88N{FH9q`oz1%v1ur1A2cSoDLh{>uWGtN#1QC0W3^8u`?N_NZ?J&
zT#TQ#eVCAPcWYZ@Qv4Q!$jt~<PRd&$m8TQ!PE8^App(frh@v&0%Pi2c`>|^ZvnQ*c
z6ucC2eQJ^ZNb|W#PJ`5Vb}^&trZRtc9c7EWpINb5J($pNc|caSti)A+SWY%;EB^ct
zc{lB*&#J`YkEequ4u@EW_Il4<>xHe>H_uTt4zbShl!vo#CzHk^>SzRgJ~f^D9V>XP
zNX^{zd33=)>(jKlO<8%P5&-bAnHk3MxlZxyMzC(BJkJzteo^>s+f;O7IyS4EtCvMJ
zn)nvS;#I#S+dlc%u0ek3_gnPWsLM{Y?85f1f#)bDhoPz3$Vb`R)nvZ;9-A{EcHUEK
zOr|e%Q#pgl;11Gao0*j*aR?2`SyI?;LsOFZabU#Rm3i`&UaT$O#i@_vUYy`DCp&z6
z{?Fijb;(SQ!NE9crp=xJ=kfOU_oHTb&dviJzoAda{4Wk}z|F>gY?D<cIjilHsWzd9
z$@UHgbr?LCCx}t5(_9+6kqC9M&4rFwDX*~AZJJ8KN~FHc4*MZs`MjX8<_TgvWcxBT
z_BMavgfrQv89^K0gUqnV$4(z8^K?+pt*c)$ZC`Zc)K(`Ar%v_d346t!Nxn?3E6Avv
zg`F_wNcc?CAv`lqq?I}Tif{Fl(Y#F>t`nZ<nVPoR8&5AtMol)^IjX(3C8Ru~B126H
zvOcaWy`&!<pA;{y%2a>i_NNTvb1Xh7?%O&<8ZaNMJMzrYQYBk-w!EVD-mY<e?J{4E
zf}X_WQ0(8nN{++PR=v^WP`s$qu(9mu=z?oTt)&f~z9&q}YV|A6)GyC}w~2;1%1GFU
zY5r7shypg_6IRvV{ltGI0^5!B@+poq=b!Zg?oES0ILYR{+0nxwI03UN$a}IBecoz?
z^aU2eN$YbPbC+&|7@Y`W^ox+uz7=5oI{!&C;<&L?K*_{*gzZifhy|GxNR!T#loZf(
z{vR?0?b}A)D%OrI-#xoBPUd;{4YV0K1&JUTUJ&PiakGd-sG&d#^AR|r^wELIQy)-n
z&<C(OrFx~(2TNQQNBRc<?D3#(Q`gp4h;5}1$bguK?>212w{Lu%G7M07ZsK;1?K8rT
zAKaOuDTX2_C`(vx7hPrmHp0Pf8bI~Q3{c4PnyR0Um8y%NgK+SH^Dvdy9Z6uhO^o+C
z*ptTq8*jM*Z`&n4PACfJWYFD1uE5iEZ52GBVxibh?6+Q}aI=VuDXePD24M(HWoGdR
z(Yu|&RU)_YdpPXL6X2tz4W2^~xp=X9BY6P;8{`i{M!m6F!$*+p-HHaH@wG73*Mcb~
z4zqu4!lqfm;N_xreUj(*EReXaKJiC6J^^u30KBGxjfjZy0+@Rnz^5tTOkaZMO7ORv
zv#D459<ujAABVJw_PH|%w%9)$eYQ1gh7GX@1Mny+>Zc5HCpdTpMRv0QP4?P`)AJ@a
zPF^_tQ31q@0db!nh0d#@ZQxCZeaO-22A~3-<@tCYY)z%)Ij{AAzCIg|klR~VguVa>
zZQh@4G>?S`xmqi7vuX`q=%N`wM|ZRT`qvj*;QFx;ocfmb@oe))l>jpE{KHSDjlSu%
z_;WO^HP_(eX+4|($^_FT@1kpRr3OV)<zI)U@y#AQL6blV;8~X7Lx3XWVX`&3`C&d$
z7+1DDK3qxgq^?af!M4^AjN5G*JOW8kb21=8n{u|Dl4pqxV_nZ=?ax7r8sr6DX3{EJ
zu4KGKlPvwFz3*}J<_y3V^#C}AXQpRea)IHD#;mfPotdgj@ES5e46N#+^C!769hq+2
zI<?{qRM6ZRh>JmE)@O>}e!iE7OoH&v*C~HsGT5h~&DQ{)uC%kc{<u5j+4uCMT|~1D
zc69yg6ruomZxvhs4{01uH{TBk0MAwfZs_Qa_)f^32qs0e9eHD$n9LCj69G3Q;3y3<
zM_Xk3UUQk|)UYoSNakEv`-H*iy^NsR5-RN{9_HesZjsdGdElh@`yUzErqgpcsO^Ot
zZ!Tm%tDTg!Q$ywyAix9k_B1YW?9aH=KaksjA(wL$+Ex{&z|8g)b{F6$a|i4&+0g+>
z`xH%fh1<2~9`$RW-3bcEz8id+Q4kB8$jNQ2$=n(5M_eSrNg+$16xz+m&7p)<gJMG%
zUcfF85|`IrBh2Z?kKCb1a!wDm0x1w-%|TPKc_@$vL51+OKx>#5fQ|A%sQ;P&(|OBE
z!Y35SLx}8<X9HyA|DC>mXWneA?-mtEWQss^6#za!Kt5{re2CDV-YALAiD-RZO$sX~
z3srm)$9G@ZD>r^viWPYuh3KIf{BP&|jB|J8)I9gVWx(9B0#kb8YO^cN>}+;`Q;?Sh
z`%;Yr`;yJC-2D$yXc?P#WSr)?aSZ}*27@@ZO&bf-{ruHopHfFg+ncb5x(JT%A=~6i
z!D!z<{R%b5+05gsgQq~R*?}=-=ZemrQKCuwN5%&$<bf=5feRS=;uLJW)%u{q@<hwT
ztsAr)LW$s&x`5jMs~%jiTTD=BuwE4bd1}jow~x%Tf3fP{6jIgOFF9WJo*H@=0PIXy
zb1Jb~0rmmaIz>~D<z^Vjn$By!F-{8DfUwH+U2us4nvWp?4<PFxP!b0I?SkcnAur)@
kR~1Ml{{Q$2*f~LzOd^-qLWsdzZU|DASC=c4F@OJm0J(!Lod5s;

literal 0
HcmV?d00001

-- 
GitLab