From 23fc74a1198769d99d24c14def4e4391371a2055 Mon Sep 17 00:00:00 2001 From: Eoin Clerkin <e.clerkin@gsi.de> Date: Mon, 22 Apr 2024 14:23:56 +0000 Subject: [PATCH] make psd reproducible - provide psd_v24f Changes default macros to output reproducible binaries. Provides psd_v24f which coincides with pipe_v21f and fsd_v23f, i.e. no magnetic field. --- macro/psd/fair/create_psdgeo.C | 4 ++-- macro/psd/fair/create_psdgeo_46modules.C | 4 ++-- macro/psd/fair/create_psdgeo_52modules.C | 4 ++-- macro/psd/fair/create_psdgeo_ideal.C | 4 ++-- macro/psd/fair/create_psdgeo_with_hole.C | 15 ++++++++++++--- psd/psd_v24f.geo.info | 23 +++++++++++++++++++++++ psd/psd_v24f.geo.root | Bin 0 -> 15734 bytes 7 files changed, 43 insertions(+), 11 deletions(-) create mode 100644 psd/psd_v24f.geo.info create mode 100644 psd/psd_v24f.geo.root diff --git a/macro/psd/fair/create_psdgeo.C b/macro/psd/fair/create_psdgeo.C index c2c736b..1c14850 100644 --- a/macro/psd/fair/create_psdgeo.C +++ b/macro/psd/fair/create_psdgeo.C @@ -228,7 +228,7 @@ void create_psdgeo() // ----- Write PSD volume and placement matrix to geometry file --------- cout << endl; TString geoFileName = "psd_"; - geoFileName = geoFileName + geoTag + ".geo.root"; + geoFileName = geoFileName + geoTag + ".geo.root?reproducible"; psd->Export(geoFileName); TFile* geoFile = new TFile(geoFileName, "UPDATE"); psdTrans->Write(); @@ -242,7 +242,7 @@ void create_psdgeo() // ----- Write entire TGeoManager to file ------------------------------- TString geoManFileName = "psd_"; - geoManFileName = geoManFileName + geoTag + ".geoman.root"; + geoManFileName = geoManFileName + geoTag + ".geoman.root?reproducible"; TFile* geoManFile = new TFile(geoManFileName, "RECREATE"); gGeoManager->Write(); geoManFile->Close(); diff --git a/macro/psd/fair/create_psdgeo_46modules.C b/macro/psd/fair/create_psdgeo_46modules.C index 4149414..af29695 100644 --- a/macro/psd/fair/create_psdgeo_46modules.C +++ b/macro/psd/fair/create_psdgeo_46modules.C @@ -292,7 +292,7 @@ void create_psdgeo_46modules() // ----- Write PSD volume and placement matrix to geometry file --------- cout << endl; TString geoFileName = "psd_"; - geoFileName = geoFileName + geoTag + ".geo.root"; + geoFileName = geoFileName + geoTag + ".geo.root?reproducible"; psd->Export(geoFileName); TFile* geoFile = new TFile(geoFileName, "UPDATE"); psdTrans->Write(); @@ -306,7 +306,7 @@ void create_psdgeo_46modules() // ----- Write entire TGeoManager to file ------------------------------- TString geoManFileName = "psd_"; - geoManFileName = geoManFileName + geoTag + ".geoman.root"; + geoManFileName = geoManFileName + geoTag + ".geoman.root?reproducible"; TFile* geoManFile = new TFile(geoManFileName, "RECREATE"); gGeoManager->Write(); geoManFile->Close(); diff --git a/macro/psd/fair/create_psdgeo_52modules.C b/macro/psd/fair/create_psdgeo_52modules.C index fc6e63b..e1d76e2 100644 --- a/macro/psd/fair/create_psdgeo_52modules.C +++ b/macro/psd/fair/create_psdgeo_52modules.C @@ -294,7 +294,7 @@ void create_psdgeo_52modules() // ----- Write PSD volume and placement matrix to geometry file --------- cout << endl; TString geoFileName = "psd_"; - geoFileName = geoFileName + geoTag + ".geo.root"; + geoFileName = geoFileName + geoTag + ".geo.root?reproducible"; psd->Export(geoFileName); TFile* geoFile = new TFile(geoFileName, "UPDATE"); psdTrans->Write(); @@ -308,7 +308,7 @@ void create_psdgeo_52modules() // ----- Write entire TGeoManager to file ------------------------------- TString geoManFileName = "psd_"; - geoManFileName = geoManFileName + geoTag + ".geoman.root"; + geoManFileName = geoManFileName + geoTag + ".geoman.root?reproducible"; TFile* geoManFile = new TFile(geoManFileName, "RECREATE"); gGeoManager->Write(); geoManFile->Close(); diff --git a/macro/psd/fair/create_psdgeo_ideal.C b/macro/psd/fair/create_psdgeo_ideal.C index 63eb667..96f9bcd 100644 --- a/macro/psd/fair/create_psdgeo_ideal.C +++ b/macro/psd/fair/create_psdgeo_ideal.C @@ -240,7 +240,7 @@ void create_psdgeo_ideal(TString geoTag = "v22a") // ----- Write PSD volume and placement matrix to geometry file --------- cout << endl; TString geoFileName = "psd_"; - geoFileName = geoFileName + geoTag + ".geo.root"; + geoFileName = geoFileName + geoTag + ".geo.root?reproducible"; psd->Export(geoFileName); TFile* geoFile = new TFile(geoFileName, "UPDATE"); psdTrans->Write(); @@ -254,7 +254,7 @@ void create_psdgeo_ideal(TString geoTag = "v22a") // ----- Write entire TGeoManager to file ------------------------------- TString geoManFileName = "psd_"; - geoManFileName = geoManFileName + geoTag + ".geoman.root"; + geoManFileName = geoManFileName + geoTag + ".geoman.root?reproducible"; TFile* geoManFile = new TFile(geoManFileName, "RECREATE"); gGeoManager->Write(); geoManFile->Close(); diff --git a/macro/psd/fair/create_psdgeo_with_hole.C b/macro/psd/fair/create_psdgeo_with_hole.C index fbae74e..7f4e8b4 100644 --- a/macro/psd/fair/create_psdgeo_with_hole.C +++ b/macro/psd/fair/create_psdgeo_with_hole.C @@ -37,7 +37,7 @@ TGeoVolume* ConstructShield(const char* name, Double_t sizeXY, Double_t holesize // ====== Main function ===== // ============================================================================ -void create_psdgeo_with_hole(TString geoTag = "v23a") +void create_psdgeo_with_hole(TString geoTag = "v24f") { // ----- Steering variables --------------------------------------------- @@ -70,9 +70,18 @@ void create_psdgeo_with_hole(TString geoTag = "v23a") psdZ = 1756; psdRotY = 0.0; holeSize = 20.; + comment = "This is the PSD parking position for no magnetic field. Or very large beam enery."; + } + else if (geoTag == "v24f") { + psdX = -2.47; + psdY = 0; + psdZ = 1010; + psdRotY = 0.0; + holeSize = 20.; comment = "This is the PSD parking position for an out-of-the-way position to be used in hadron and muon setuos."; } + const Double_t bigModuleSize = 20.; // Module size (cm) const Int_t nModulesX = 8; // Number of modules in a row (x direction) const Int_t nModulesY = 6; // Number of modules in a row (x direction) @@ -304,7 +313,7 @@ void create_psdgeo_with_hole(TString geoTag = "v23a") // ----- Write PSD volume and placement matrix to geometry file --------- cout << endl; TString geoFileName = "psd_"; - geoFileName = geoFileName + geoTag + ".geo.root"; + geoFileName = geoFileName + geoTag + ".geo.root?reproducible"; psd->Export(geoFileName); TFile* geoFile = new TFile(geoFileName, "UPDATE"); psdTrans->Write(); @@ -318,7 +327,7 @@ void create_psdgeo_with_hole(TString geoTag = "v23a") // ----- Write entire TGeoManager to file ------------------------------- TString geoManFileName = "psd_"; - geoManFileName = geoManFileName + geoTag + ".geoman.root"; + geoManFileName = geoManFileName + geoTag + ".geoman.root?reproducible"; TFile* geoManFile = new TFile(geoManFileName, "RECREATE"); gGeoManager->Write(); geoManFile->Close(); diff --git a/psd/psd_v24f.geo.info b/psd/psd_v24f.geo.info new file mode 100644 index 0000000..04ac307 --- /dev/null +++ b/psd/psd_v24f.geo.info @@ -0,0 +1,23 @@ +PSD geometry v24f created with create_psdgeo_with_hole.C + +This is the PSD parking position for an out-of-the-way position to be used in hadron and muon setuos. + +Number of modules: 8 x 6 +Big module size: 20 cm x 20 cm +PSD front plane center coordinates: (-2.47, 0, 1010) cm +PSD rotation around y axis: 0 rad +Side length of the square shaped hole in PSD center: 20 cm + +Parameters of module module2060: +Size: 20 cm x 20 cm +Number of layers: 60 +Thickness of lead layers: 1.6 cm +Thickness of scintillators: 0.4 cm +Thickness of Tyvek wrap: 0.02 cm +Thickness of iron box: (0.15 / 0.05 / 2) cm +Height of fibre channel: 0.2 cm +Distance of channel from edges: left 0.5 cm, right 2 cm + +PSD size is 160 cm x 120 cm x 140.8 cm +PSD contains 44 modules. +PSD volume center coordinates: (-2.47, 0, 1080.4) cm diff --git a/psd/psd_v24f.geo.root b/psd/psd_v24f.geo.root new file mode 100644 index 0000000000000000000000000000000000000000..411847223bf99a43d1affe0d76fcfdf84299a208 GIT binary patch literal 15734 zcmbW;1yCH%+9>=5LU4B{KyY`r5FCQLySuw<aCZytuEE{i-Q9!Bx8%J4bKbY=-uvCU zQ?<j;)BW_*JyW~0zv{KKwsrsjZhry*00RJk#|Z#H3IQIA0AHZMm+&Xx&JX|~D+d73 zh5#VI|NfsgKfp(zAL)XKAONPnVSv2>0N@J3rWS@sHueVEPK?Y(w8n<kw00jE{V$3D z;2*93MgRa(fQ^NLufI_M0K|*`ztj++J~A-0|J$DJZ|(h$_Q(n%hSo~f7LJyN0`~TX zmU<ShkpH9uP?LllLIBts0$f1m(%qv``|t+5xmxd|*&vI^t5zv+!`9c<zxerDwm~9; zBXo&i72oJ2+1SyY!}s(=EB2aDQhG<rO);wUQbvS{bt1>cr<+iMr;69f<r?bwp<ZR^ z{Jc>1>NroyJZrXGI`2nit>?0@ongv)yQ}P&nVA9ew}5bgt)Y<_1_%qnzUzire<Hs) z9cR`|E7692kf5+6pa(1rckQ_MJt!eWMs@g_H$?~-?Ib0mYqdS3rf6!8l`?1>;q|@} z`-w)>=|s20UvP4*FjNx9Wvr~u%+-XkPGs-QdV%7DVfIb<w+>t}WtS7z*07|NaI_W_ z3x6qD!^1tUiJVWcRDG$w)745x*#lu^JjB4~ACd;YR+`Fm8J43K)$%Q=906JF&Tb)7 zgRMY*yVP9Og`mZdxjW|AtR{ChZ{V1TFEKst(d2==@d|Ag&#MBwc58U*R+7VVnbP4S z=#ueZ1!lk}WA+|w!9(I?eXm+K-(>Kak|PFSwi&3}ySq2k6IR~qMBcdF+pfnM3a@g@ z3@u`~s(vxx{&Kd2rLf_8;3xyjkFwPzba~0e4Rgx@vnc?A+}S^O6~FF?kw0dE|6Ysl zO%3ef4*VcJZLF@$qNlbW|G*ed9biObeL6mBrn;Jt-xDt!)%SvO%1iAPN;?w~e!%;F z?w<v|lJ^*Ow*kA!qgs}z$U_x_)A)+F{osiZzvZmLN!Q`<5Kiy_km>H9(DvGirsFjx zZnc)mTD(+vx_r_-b6#B@9H(1iuR5z?TYM40c-fz(3114+m7o|~z1c2oQ`Fyo=>-G{ zLRAvOit?eYhIF_xIOQ&WJsZK&SNwW^cB08g?aBUlyLL~Yfho~ZtGmLaoS0b9$mc!s zI_K>+&S%ghx=9)M$xCl#&*(GZn31lsy}Pry{SOHdE>otAg-4Y)Ph_LKQN&8X;fBAW zHdQLfsaFQ8ewmWhf$!J1+(nvqk;ulPYm6hry|hmKspvCRPfI7)t~&)UaHIY^?e)PG zc^5C{(l^&7NQLT+MRdVEb+krt?jQ&uFi~z$q?x_FZUWXVcoRTqmdsr*9Po-;-Nz>0 zW%@ORswQLEqA(FPH8p!{HSjiREbun@KuMW+AXdZSS!Up^(eNyRkEC)@*!+HL`+4$s zuW^aVucm}#gx@_ebdTP)W8<%FXuNGEZjm9(a#SgA;9`K8fY8=)a92uNGu)vxCGJ*9 z56^AZ)l1kwyQxuSXZu6>2AR)KPXdb0$&nWmY;d>J9W+VV_Tg%C%gu!W^!7d)?LGIn zI*0O{yXLaX6|{A=dcX73vS$Im`Ii1G`D?ml!|%fUVA?a8E*NL%cld~}q5ZKP3y&P+ zSi$bzj`A>=f23#{cp$D&&0b}81B&n-Z$Y6oG=gJ0`417q2eN;3B>MN-o<gouiwC#| zuBSijyD@3<QjA~8BfBxpuMw5a{NW&frJ-H8ZqXd;!0FTn#4&&w`m=jV9iEO;Yj|2t z4)<w4!tqpDj1ptF*jOk%{_rXm=Nnmh7UERO=>_l(3oIdP;O`?^?`PpRdQDg_KGB8= zh8z&On62~^_GMC<a9%42+^m0<JQFo6pzP$tinu1o3C+1)+Ec-${z2j?pO#FHG-9o1 z>vTLqaQbR8_?eYRwOLPcXZ4oLC9uftor1OXe&-tkLWN<H<XHTIx68?U$MennbXIxt z%>~5~&r&^GyT=dbU+`7%w&B49r{|?>S*9FYT@?5;J&*T<SW9T0@Buh(2N{#rZU^%i zSe;`W>!v=q6ZbTiHfhT=6DMWNbJO`<7Zo7|<Ekz=1z8p<`|zITJ;@m`^o>{&CG_DC z@s}p7)EICs=raTiz#>gubSv`)YK%lnoc8@rT>ZqSZt7fB_2X;2D7B%Pe(E@wS{Z8f zg(>hXXREah>mY`ar9jo*3<CTyQY|BIW&(fbB!-drZfe7#uzK3s^}OdKH~mC==-T+! zs`Pg{*tMl7>{>~hQM+`Qkw)#pR-c)ey~Om(mXqcMDF}o{U4$g<KHueI!oHJhh}`SZ z3W9SJO))r#`@Ea=iJ!X6<0~8B`)$fjdJmB-!BZ+10F2}mI@u_rT8^Ln?hq}VRUMOS zGotpG5s&b8zG55Zs#4hZc&DIDo^kn%*w1*|p!Vlc)flx|{pE0J4gKE1EuE5Mvgepg zK~tEQ^qjblIb(sQ!{WyaULnnJ2~+HsSG{^LOs*VGm-`)-uyNDumo^y5Ek?NLs`it( z!aJSB8aifl2v1u^bMe4)q8Q1w4>Wsg`@<%<51%lSXDAHTTZTUB>Ahef7|*2k%SYKi zK?Ab`%i7JA1i$OOUtKqV&$Hc>rKK;N^z6!%+NZ~c;9UYYVkh|A(*M!2u&Fct=4#<& zRF@f^dl|&&UbjVRX~_guzR-4)0iNCz#6A)@bl(BaPI_6XjF0BhEuA5N@#G#8T$gm1 zpC-$VDZs;~ZgAn`b;XbK6%M{gN&c*Vvp5DNrj2L&sQbW-fjJe}H1pBtj;4;#fmz2# zT(YLl5UT?a{baWYFy-dX5ctQmj~M7t8kaWc8B|8@rE-<Fn=_j6DNo<rFrV_98G-rt zfD5m#C#HR55DW9O>54%2V~k9iI=#`5ymO3gzsnccFI8#j^{NI1v4C+~J41BqT1SEN zZ4&|W6H`Yr^&{hXaADZrZ>yL_HT}Nwz{)Z$!ym~x0uSrF(ms;wo8{n6AKT;S?k{2r z23{-!48!gNE~6c$I2L%11{leQ%@IUk3waHlUX(7L(OF+IbKD1949u&dThNc;|8Vq0 znuyK<-bn11z~NunydwXdl@m~6BRrX4Zu?#e2Uq!Dwla7V%g(7%NKC%UPcy^I4^1ys zFUFowoL~v0(%SKU#fAf$9!Vla@-2u5Gdmhj7RnO#RB(M8L&mQ`f!8u5TI4S@>5BW+ ziT<}bO_4OCx?gM&y}8Gzl7G{9Zq9rMb7EGgoh_TA(?DHuQYdV@WZJ?AZT-y0ba_MJ z<tK#F6BgpvruxbV-MhwErQ^y#m(jHUDR@GiF@)wOZ}S*bc5*r}E|9@h;0$6!pB}nl zH=DEzTA7;;;tgHN<EQ4s9m@%?S92^B1PE&)f>?!=H)})7R^bHqxEb%u9vDxf=6k&Y z_h;g=K7=*wup@ycL0NU7tZZkmNT(pJFl;r_M^O7Do{XKS%MmXTMb!pq?s?<$vzkN; z^UvBtgBJ~3?WUul_l}10*{C-G@@j01<QI20h*^wSX*i!VDWcI99$M)`wGS@42MDiV ze%fepLpz8oSaD094&y>ZXbNUm3v5;&wo%$nla@3=QgKJ69N{|<7{eVz?(73U1H*d3 zC0(k@E}Fw#sFDHrRxk)~G2g<~zRkd;s#f*lb#Tr-)%V|14p>h^@HxUU5>QdX?w-Gi zSGp+uGz?wXYihY-Dx!XCr9CcV(JmN|oS#E-{2ffsRB~cDS1Pg8PU`rWQ-A#Q{U<ul zLz=+p*NxH4ow=g+O@F3*oEYwvS_?<>1|Es#-gqJn4ku3<rBpCp-6xn3CZF<`8g%s0 z9=4=h@SZinJgPpi3^Z?Ehd+|6dh|RIEi|vRJZGH{<8aUKRj#ve&b6*d9cpV$c~?c) znr#zYG?Ls&{cgpSIl)Od)4@k#c<rG!%fCH7i%`FkdJEPwzy1P9ZjdFa@R;R7{SYZ# zqF=JmskR1DzFy=&<4(K?a2cP3sz*xgU27-O4d6WzIi&SU%uzw4gpU5!pQheol3|^l zpwC9Rg~CVq4u+cGd|3nw<1ae|<Ifiu19>`H@XcKWfp1WFhQuGNb_OQ1i2Zgr#PifT z$`b2o+1q<!J!7H$CJ;iKXE}yEQvp;W_g8W<W*Yx1S*WN1%Nqh5!Hud?_3a62iXy?U z`zduIbNFA@sGeZe>g#Ne5OcT@CBtgO=IKtmrUO$a>^H4u$<HDj3}_d@+`{AF2#uy2 zkctD`E_|^vpWuy{1+M7ye~WPgNIzG7A(Qdylr8WJULmTy`J@Sr7N9+;Az;BG8?5z< z6f-fo>eJ`cPf0FZQVNL0p)eukq{ooavjN=;Dsfoc@>&ZsB+~yr!5=?MqMJK}s~xVB zg6hqb*O2EYDy6{>j5W~ni<Go>+8vB0eOm}TCbh|D(JU8!L`+KDRZ(9GV~5O_R2skZ zpV}f2`J}lLmIa|{10{rVC>V(9QnLc$#ZYSpXlK=4>GXyFEwFe#>A;c+a$OF|gvBDC ztiUf)T0+;<)pQiReB29iG&e<R+zRuOF#@lyn#oOqKM7A;g@^o5puZ}~+4eq-aE>#= zaVxpdgAMo+k;tK8Ae$@B;{Q_U+hvJd=TFc{`IIRGf}*H^TpR`yT2E<4AXmajNWM@< zbj||G@}%V<sUR!%i;|XPzNF~4Xz?&Vj3Ts#*MBQ~1r`$GDEcLfU5|E-szr+vDcXLi zR{DM>Cax%{^#{r$u(`SX--Qz5ioHIV^G*!y$Pb}ul$4<geSy7dX!UFqiVUug#cVQt z<>1ACvs70ky1*7wlw4<lR-l-yX0cg;{HJmfp(0in+)NpG^P{-<*O-!~XqD33JLF%K z#Bd5R$_8ZGp=}VP|CPm8QAO!0*}frVxqtead(5ZIqgJrJMN1GW*%s6*4?BL5ONg^n zur(L>r;elKw-UW;{M4UFZ2z8_<Dwu1!#c6DPhQB>aon}KQGEHaqKX=#7K)*5DP)RR z`g!7$X|-}+1^<}<VAqmbNU&<rZGtPsxqs`HDNfxg3w5c;-V4Z~6{0H?{#U82I~1c* zKgd_3g0Q%i`F~9S@G{B56^jRkQu<<dF%B`|v{+{RGmm(4(IpDYMcea!|GsWfawSBx zWMxh0sJ$U8ETaFO7V><`Le<`|o&Q<1^FM}LFG8W1q65r7HkP}#c%|gu7l2zru|!f~ zYWxeEt2p|Xe`XpO5(U`aZpH1N8C=ebFPZe{%XPQ)Dr;)C-1T($ue%ADmEJWcC(M6p z#}*FX`(xxic%$*vwsNgBs7S79f5HdbtkmB0z7{>%@(zR1?PkM859?Uu_U6cX=Tk}R z@q8-lGa>!v)!qDQ;2oN6^qqjsX1WOYl|SV#MHu~uB7k@Rgn<7oMF39%CFK9f4}eWq z|Mph>w>PQ}b|9Vl=nejZ9llvx>X|Co=~~$Xi$2Wd!$?s7lh|L0`9CBEjD|D;j5zrb zm&eJOB_8npe*7k5f67tFs^&x$VBI0^k3MxqPK)+rbC!kqEtKeW?SlIiWOgijmZg|0 zvx8fsbP2A)Ipt{^(etN&!7)QJ(u(uL%0V&0f-yz-2^bAM(XdpuVj-f%cd<&HOe}&d zda7%<Hx550r?!@Zvu{&$HN-u}Q9Ce`q5`m(ueZZYu&=s|HaujL_uq3CnpY>vp~r5+ zq&Y4%CW?`!=*KnLTk$!JNC4Ei5>mss{hqO~8WWI_Sbay%WNq2I7PI^yd@=}_heG?s zq*LIlG)N1PN;ingg96i|x~^x!S0_!@XYsKhI!41I3`S5FWY~&GilMNmHu(fmbv_{` zlb#Kyn#Ejs15QU3vwIxlEmGtueM^59Rp_4AC6_2twK%Fm_EQZ;x6h+}Pj38L>B3sa z@vcC<Mb=>?Lkbm`UpwKC+g<DBsF0_O(vLuzZ@iaLjiw2pnJ&z9eN!5x(j6;s%j3mm z#46<q-YM|j(3cO?th3Qw#IufeDN4kA!BJIeLP}<XOZ7IR>aodk;ZV*JFHF6e&)NuP zPX%@M8PrAvhweP%wVcx52QEA)o(zj#JhN$U`U>QtC&aUy8g&FTP!k=9v+0?_Da%Nb zIJr>a_ppFLt%f%Lq?#cv82~Q*$h+Q@$U;Qn=DCJ3tBv|t{8i~oXbSL!QBo^SBGSHq z{b=yv!H3{Fq2V-Y=1p=ogFT2(=SYSipu`C_R4Om>@RYHe&*U?u%y>>59I(g{;9Vj0 z>Ml+%jX$;@ue#u}f0Xmje3*5n%QNjEa{FC;d!8W8kW+G)5d|uNJ_Yls`1qWA9+WWm zkEIWnar$sN$}IMN8zA-j0NrexnT&32<LN`+$Sd&1_?B=YlJsOQbtLz0cr;ysPIMSX z7;BYBz(PIi)BmTVqn65oIaz`(rxW>HIiJd&D1}TNPJV<9FWKjXL5+LEfr@2@Rh2Gm z**5w4;V7FT$cc{<uMdl>&e+@&!-+~C$+Ny#^uaIsvLsqZL~M|OE!cna7py{8*1ZSa zMM7J)?PM?e-Tu{3-3Vb3wu}9G?pQ-_9az&(4;~xTDRICX@gB6nB+=LFt-=fU9iiQr zT!og@;e&u-sGRFJ@&qsx$y{Y8)|;<>c$N$=FK*`#CJ!kWUt)CyN>jrKzy(r~e}Roe zOS|MxpLsA?_F|NFzHYWcXn~2JgmmwvL0hS9O2e%FmTmGnU)&jB<?*sWLk%Dbr-Af< zlvNqbifrz%4P}#7rdQZ{y}F>pYSKc#B#7{B)u%3Zw}kg!qz}2&LGuVepckJM`KpBM zSOBuxihsg!8{>2A6G)#g=8r2a3A}@obsERm1^%qn);i6p9^9Z!kk_j{%P180ob@bA zJSPoy&eYWrzy#Z!QxqP~9kABYxq(zignkJ$76+;K9SA5HS0R{E;l*;1>v{Ms%e%jd zqSbsjd)H(K13??LM<g5-wblI%G(q`1H+g&pQ$@PGOwHf{gXM)A%cX=CLw}q{S=B}y zGk9e4Cc&+FFk>Q5h!VSj{3Psd8C7EjpA->#SP+Dp=FR4IYqVK^TLXXEXwlg$Qxlp8 zz73YEDfR%O%wSpWu%xsFhbk}_%u5F9behKw&em5k!;%o*SguZ0&uoSt-7zU|%Zd6Y zj>81|xoj2NqME%%;eI^KY0nk)7iUV``H&4O${$aq+fJN<x`wG@Y0~(|bb0K-mUNC! z>64x<sh0<X{MBMHilf`R8gs|O4f|C)RzsP(V}~@;;72LK@}d(ONYfW46rV&*m&~X8 zF?$V!WiyHEwxpL+R7b-lQtu8|^^4}Hhs&IoUWn(*X6M6+`6o##);swgPu)7l70ht6 z3VYdcn8hQzFCU4q+qW<ee(TYf(pOv$++yk|8ClEQdK+V$*FF=SrNM?Dx|2_&-b`ey zVzh4&MDD+RXS{UKVm|0%zi*b>dfRWXKh^w1;VbkBDI0$efIr0~#nKcB9mSal-g^~$ zSIXURE^N9#87U2)g9v~5vQ)7BNMTy3UlOR>cYYfm(PZL_|GF7BAPaRC_Dki$*{K1? z&TFoC9)M$L^|F4KE*=;LDQnb?$zEqGX>scEe$oC%eu}Ppv8yVCx8U~((Um-*TvT6? z&9CXaSDRmk8=i~laUu=7$h?;%-8_oEft4v<JqYRe8fA43fb_HHn*y7LixsiuGOiyj z1cY@LROASmcfY5GW^lKv-uUi}SnDDa^e*_R_#JY75w~!V#g+0bH|z6iQ@A+!U=1tM zB`2^WiK37DqU&`-gqA4C<IXo>vmF=d_2Y+;snwfGQzZF`^c1b4AnVDh#)kIi8qHP( zZjA&9<}Xi9fzdD0<cFdm?n*q*7^vW08QFRgE_?BP9`-11Ddz#J9ObHy)imr_iDH5q zUeFh4FSGrw_c9T!dnFWCofW2s(6WPlG6fU%GrU|Bb}LtT@`g=HR?)97)h4~z9r7S- z){tS0-A6F!++ajOKr+ReHR1P5(9h!xnij+_unh$;xAj@}<Jp0{3NBb^iwd+b)+*@K z4~kNT1F;ME)IM_@thG1!huGm9+;;J4r`+9WHJ8tm3XD$E)9ZQVygB`!?+x}!<Z-sL z-IF|oRwE`Xs5n3qUD1d06{$a|<f<qSR=EfS1iF(zH;wa{K6in%2ZVE4M9z6s$WTBu zC>!}M@7+;4P}-cI4;9#D4hXs6#T08r7f4p65qeMs-ZMwC<_qlDVBqjE%Bg0*cze0y zAsJFLHso=~cP#>f1oQzt7`PhzFae3wTIPZ0hlUOQvTv|88}S@Fk?;c)Gtx?zh69t@ z?--R`4UsZnz?)W29%@&0yU-SCkVm$Y_kMA=K+JxgwmDc_+Ev((vmuO1t^Z9gAO4R} zoGGAyRccMc=SXVC9KuDq_7E5AFiP!e5ywz=9Iw)qNz0X|;Fr;NUgRlFc8>2|%R@E$ z?x&O7ev3@nCX}VuYO#t?;L>W5pDA66I+gm)6-WfC*U`GV>-JZ$K>Hl*n$6&fz~iR2 zeGX}-QRCNRM-S(-lIG`Xlt-5;l*{eS^nRNWK!veL!NBDe_uhCSO<V^m)K>{c9A_*{ z`NQsB8y9t5Kjuk4h8zIHUUL+3unT{NbQ9mTH&&>8UY**`mi`iPN0f$2ykDnTd+_o{ zv7JLjN2lvD#1-Y>jNP^OlE<m8TwF0&t=2$A$Tf$j;gDmHp}lO$qO!#C8&i=@Hr+;! zqJsKTfMx7gCQV=Br&B)W?{GEV#AcIP&tT<do@45e$1K6pG}IA!jw+X@3$oyD(XaW^ zJcuWzNC~n!P|iu=#AvB~e`FLOaq<i-FwzL_a@|RXpC|9%(uhP%uIx?L=JcY3iy7w2 zod>!d#7Wv=Is{8!*_D50vloJrknB38_iBE(GfSakMZ$3?JV2em7b3wR(wJSx|I+V( zX&mqlcI|Fkap-P0d~XA}fN><DAVf$BZrekJ!sc-k^6Wa+Ocx6xhw+_CkKxkCef`SF z2<*MupnonM*$(?AQng&MM1^$wj~dfPCm?!u4{m$Qm?b3(nQ_kUWvl2~4_gl+f#coR zfO77%%a~W3;rI)uwm@A+{?HTJmlL$Db%*#eu2p+!U248_cqZGzjMUVg-*k8hMrbFX z^x*<r2{!%@kFu6?*n&-T0nV_=JDgLGI#fMK@Nm>~<BC+g5Cga==4;>*H0f0E$)cHH zf%cr1$?~Q>4I(}%;aJ4eN}q+l-W$lDYMgs!I9b7TruaDvY+s_24acVIQ1c%-i^S-u zHkBKWb1YN?oNQr}`rAp%L09qS?0fLmNt7r9_<PErsLZ~t3>BDUftmkYudk2#nI!p{ zE=D&Ht8y{Z59B`Ce^hgFG4eN`hc=gztp4{}f@%+oaUOk)ADnwMEUh8=gyY0zhAnZs zn)(vs9HKmcaaJ)SJ4Uw%(b7AUJg%+LE+t($>9Hjr#nDTqKfl1m+;G$0U|R~!BQL-V zvP<}GgQ|)Q<%xTUC_|S{Fe!|y^9D_$P}g;K0S0q1HEh^CJXgK8qxsTD(bB1(w6Y_t z9O~&CmPiIrpmqf>x~M_f>V*c2NyodZy&X5TXYz?4ZjD;NI;9xzk{LFCI9p8e42v~k zP~JQfe<@p@B^-(0>ev85B3Q`i5DxmzOjq`<6CVPi?4C{zx4h@zhC8MrzGc@NbC{Td zMc1DQs@R^j79{bxA}OF^5&8Txx#r+whNFQo0vaAkc(or++#r&m9-i@n{#vgXi7id8 zxzw^Z{=JDX`@VZ4A)DHrKWiD5f8R1{T@7v-6oKZLmTAdS;DVu3PV@J-*I+M#wXLPV zyOt$GEoVgV^{-maatP<Z_jaKl;Up`jq|v5LGdO*rCgt7ArSRrFU80Oq3_ZF{`YQ_f zSv(@mTI3vNJA!Hfu2P;Uu;DDBg~mUG1|Uc=Gqs_z!`@_YC|<-F)o>%~pA(&~9R!H8 z(01j;JaE>@$A7P}K0ETZ;#+QbsUiR$ZIswAem)ipI4j(n!$cwOYcEnUM{!aSf7cU_ ze+9>jd8fv5X(7#U<s9yZJGa3f8D>qa_tct0$e~TGc@LUWm&bnPI~|5Km$|6zM&vgN zbTjc~mK^v>61tqRh`$1|{zbNAbkF&O>!(h60c&0=?P@d0g*&29>`nMs&S!S|luOGC zul6e8u{jARiQ096CQu5iXEph<@rKHfIa86SOTn}y=V4yldh4KdFN+&Ul?aBahyzHK zg~bMoq(^rdpL+ez;E6UJ;LpQx^L~2f`)z3<Y}V%rkE~jdEu1H4MpCV6H2Jryc*X6C zXM*#1V|1tHg#%%kRO)6`!O1sdPH;`6L>*!?T9+<YROOnYfvcjv+>Y|m81jTa?!!)x zWtSX>pif|H@GOF%mzFdJ?Wy<@5?krR8Q=1ZuC|JDhKY8XY?N^dSm3fg6`gR^bbEZ8 z!WJ`;XM?e1fQneNuk`FGLX{R)Hu3)DA2;4DLqwJVemdHunjAqgN^w)5M@y<JU5UkH zx{X`w;(5N<ohdXwKGHsne=3DtCX76fnmFKsZ~)h@CfS{Ojt7IqJT-9$16LjBoH_3{ zxDOt|Rr2J|t~p>dk@NFT+QEug8lKE`z5jkO2W(E+@#O}JkvenMz%~Ld$O|Jy&*f79 zuU^wK7k1*A^O<2e0}gh-v^M<90<%;W3D^%xwD+AUkmUpE{d-LvJ|`qqsZkGx=CEY0 zNvtcwS#`)nwD%^~k^)r4h)*R2i>DpmO0doI%+zG-llkXv;j+ybd`nK${IbxYN?wL- z6#P`3Jq)&x4iy5w7fG_88%<RZJNxASJaoe9AmK75{W3JGZa^qp_giTiTM&DM0nb#P zCoYj>L_tFxby_9)NHpy{rH;h6y#o9x43c^43>)(Hp}T7jRB`;IK#U1Z6E25}cC5l- z4O6xt*If26EWCzFlTA1>Yr)P#ao6Sh=&PuM&i?8S?zSYpA35I7F&R6|w6HpxfMFQR zxB~37-^a;u%#1VBtY7N{(y3-x>y?&cgN)Rc3j$d~91NEW7R1%37bWeI2ttM(I`L2# zr0i<q;H=!Ql{-s~w2(&fWNq&#$Aq}jQcEauptnzj6VMGN6uu5Iuqe(5qJ3J5prq-} zELPL>qZ~t2KTHbH(6yu6g}AC0#5==uy^kJU6d2uM=U6{+Tb*|cZlO0{aG?@R)W81p z1M5IhxuhVOGNckm(L!cHbnY1WRD6zE9{kENFKp}xyI74>pp4Qml5I}7j962tl+@)L z--SnK+7{jG$N?|>18m7!keN#P@GUVvMm5$01c6=SZXmN-w`b;)jpAB_r9{HLVGKvN zJL3Haemd5lFuz@&S@TaSNx)B(ii_Y2&o}Qzxm`%-Js%;jaQOmaaNx7LtcI|Kc(8?5 ztNqF+Img-bf#bX~&h_ub&bZUs%z<&Y1KmRbG?vrK(<DrR*14aPMYAppa&1uGA9M>J zR0ZJu24R{u$krIu@35GMOG8BF@IyNV#1ZIBjlB0O-!eiR1Kz+`n%&>$mwwBLgppST zfD)kN$?_3jWugOgdD0goTn8>lGXr$S*$=MJabJv=avDE1wnv$Pk``R!n>grU_jIM* zxmX*)*uf_&D~Q842;R6env8ZgZ$EXMn&Jq2wer2Mo3dt3z;Bx~6v`++$T2@|M1T7; zO3()WX&=4Du)91vPCbW_(DTbGC)Fx8nx~cZR{^S65LmIUn``|oYv&H!*M>flNy`^4 z`9oGO`9rHl*cX?P7Boal4^T%!y}Tu{Th5?rtD{^NWH_QdliaPGB351Eww=$dv*U`? zsP^c^0oJ43qx`x`NNqKBeI}u~1pEiFi9`A@_^;<!>v9cTpF`J1Yt08f4df@$TV?Z~ z>2sl<?fKjy2mRTCC&nIK7HHy~fVne2Y+t@C)EWeRB4eQ;Kv7eGKNgBdZ+jok0B4B$ zMOdKRFI23n`8-m9?Xq!{+nIN5&nDpC{%%ed8H4SpEsWP7yTFCUj_XL5+ldVQ68(bt zl<;U6-HHAnb)@W`2PwKb{8{d{`VSNK#zSFaB}$AhG@63Y0V7jJ#>qF3eU)lgb6A^c z{v#J8?Y%fweWv^uY*BY&!a)sJNh@Ws`a|o`%gr*~fYEKQ6j+ULJz9M}i)j0$+Mj&> z3z$_gaq^;1crHvA><?ootqS}~h}Km|+<4MckgF(B)X#86M;jvzFyj|t;tk#j!?|!T zcF#@j1zNG?G#0nsn&SHQ!q1Iq?YMaSmEaG7xx^2yP%oe|`C3%$B9BRSk+8N&j$w|2 zu&2vEQAl1P=p3&upmDKUE)R1CXyK1oBVhv_ALK#2P6j7MMr-WR9B|!YUpc(0b}*eB zC%F0$=Bh!!q!+I4&)5*s_&5xZUkM0v5#xa_Y4ukpx&EV*q@=*o|AS5fK2-Aml}&m6 z_6Ggmdi%)X|IpiCS^W@D;P!uOuKWN%IRFH>NBz5p2PO;*0|0=1j115T)*Yom{-@{T z_+#Ub-bw*(sr&$d^E+_+5L`KH2VDnKYbyY-Q15>kisYjy-{r^tf4}|Tp9ikN10u1s z)!&KX|48>^W!}fcNSfL^z{)$=8R}XZ+KE{iStAQsI|5g;5n7m9nHw4a|JXYK*R%Pc z0j#8f>)FmU%q?&i9C^7kY{huWf@wysCG`90h7$2sEK`?bn0}EgIFQK2n56t7Qm<`g z+8rEOn;WO@Gt_WTE3iq$4B5eSOs|WG%Z=)^%&0TP$wt6@iD8ACOp?u}fJU{Hy}cq6 zg{k{4!~8nl>}+J5Si4J2GbB9q#mLCm_2PA$=U~--{P)4Q8nbOCt8AnVrbk!xMD8k^ zmyiCj!lcb9cp-z9qdAbTC411PSb%)}*#<8?l|Pj6_3VQC4#?LzvrKZ%H7;ItQ&s93 z7u;|pUp`|(NU@;M>o;6nHvX6bR7A<+FRT#L6H!X$C>Elg3W-%3WTvO5Gn#+!br6$n zn@dj`#E$mvfbb8zK8)-bzfbf}M~VlSPs9eBZfe=q5#OxsnzOjjQjZcc%r=`dX9#m; z(-*c*T~U)`097I5^%VDrz~|FVH#wV8_VH}4J#aMR($CNjzE7R}WOh*vq2rrYp-oOA zW8XBsK!`B~@6}`UX?J-VH^##PnB+5m&`Y@R&6R`~Q5t0XP`x&>ffD8F-d~kC=N$bc zXqI-)r<f3%xBNE5J)Su*Z!~wmUn0G9TjKk@Zjw|V-#HjoBMW(zYo{q~m4WWk8RK_n zfD5JJ48m#lQ5uGM1S68=Knh+o*L$I*F6nCy{Y^h4%xIh0alHMOO}U(}xLZBttMgut zb*^W{A4)Ud!rK(9%-mE|6+vIL@FHojCd$umqO<HsmMO<|9`*-$rWmi;x=En5AyayZ zlnobow<SBF-Vb*Z{T;9g-hkP?_DLn^Yt^Hfbx8EyK3y?3P-y#`qHb}!iq>yiGMV3e z(N4l(wJOU$$4Gq!OoSkxMsW%VnN?}2_l2;SS743$%i=NoVMv|ykTPGz#d4_uKlLS9 zq_AFMC>;yTozY=0+@|j2evnxrp{_NP+QadQt-X5@Q$Jc|`_5|=@cHpH^@*X-sYS_@ zmOZcif*O^I#_dvmgCnW{F8pw>VY(Hgr7xf)*O?c(4ES9F<yT3oz4s@6p)@YQ!URV> zIGIV^=ywq2kw|Sbmp|G4M%Hsz5(f|>+uA{tY$3F8tjoaVN;lK_CqzP%Xx~WI`U%Zc zia;W8JiMKi7ftAsK1R1nC$5Yx#E2jQC%>BpFDdYbNt0>aQXgcRR)%4C#y-mRcw{9H zd*-FU`IE`kWCHzzuZ@vBo6AKX+M+LWqjd(v$m!Wc{5O+<e64-!QF*A?mhIRWYI{nv z9cQX6Aj5Ns-e#C)8EOh)gVkrWNuHYkcyTXf86+h7dbd?*<@qOOk+`qefhFMwbb`F# zo~12ia6z(A<*~(q1T5FO-oxWw_te!T)5bTF9zUgeG(K@ZW@1qYr7t|&ij)hNeRW9M zWnlOI7q~7^<Woq&R1IjWWt|y_P3qe={;SmxkrwWogPi1$-xG=di?5}dI>dl{J^L@d z=EQ2s#JD7o_Gv|-E?2ksU-9*qRd@WffAh6e50I~8d`|*&oJT+STK>jqZE5!}Uu*q` zuMdEHT~?O`84P`HTX@QX(E#LY?0@m~FrYs0Uwl3H4`18zqOXdynJt;FZVuDnHgPA8 zVDj(=!5}~>XtjpxasJTJ;fN?Pi`mMWy9_tjEN)l(34ZTjIaI8JTj57HpE}3r+#Z6Q zVzQW1Mzwq*bNTa*-d9Ej4SLh`Dp((2+?9cNV3)+&(>`-~Dt>6YX}H*>$jztobtX|z zS#x1c1&bT^(qBzS*(%XI1g7lC1ICs;E_V!BJ`KF4tQ8lb5k+^k%6-}v!T)#Hc+d_f zT%npCL8LKMGt*X;@QahW>$EmT;|v-!)r{n_!?lbzejkU0d&SB@!1>Hv0H4_BFsbk| zWc0$#5~ao(mS8+*sykeBVec4P(TVzHLAP_iXfMlOh=gBj7JfxAgbYRGaf_Jbt<^Er zCSx2hpItQ%h|W?ETR8pYYZli3#@DW$<FnYfS;oEWXmynT#n-!-KV0^7v~)Fgqm~#t z%U0VPw%;=GSB>w#FSB8xPdUqGvK(Z!G}C$X@ZpZV)*5UcK~1G|#jYN(20pKFjaPdk z8GJ%U>h*bw2Xhf3Fe~kHRB@TDrzVU{s?*-9c0>_p3U+d~hYYmwIf!aRn~0Kd*OaG$ zrE)49u<ZRV;jjTgz#ArRqD<1~)=}8H7JYLfT_3baZokv$u&+R=AQZxg(chU9p|6KB z@a%p6C+nv-Qa^mq_gjWD&BV|w&=@x&;XvX9{Ig)<@~3m2eLwD+uSu7_WJu>%*wh|9 zx9VP-w_AGo`Cyx;omq{6wO||KGe&E!)31OWFl|BCONY%lt4wsr;6LxxY_(rF=fi%3 zl>@E<V=E5#>m)0zCdct^9@U0w!A50h-MZR(L-}iL;J=4Z5RjC}N!hCGn5{PDiDSBx zXPV44fahyK<HP0IX^Vz@Hxwhq4^Or2K@Xx+7q54d5JBkFX^j7>#2-y}HW909+nYA< z=g#HXACo*h;i+OAwyoiinbIla^_*~=n%tVi&qH-5tnVS~OV4&FsXia}0KO9$%e<#C zDwc8HU%sCH;A>64z91l9x56Bx&hGug*9Iko1*>e!!&+X7!hbSDXoVnqrW}0RuW!c1 z>gau-C-Okkh84HqM*P4#DvD3lu3JE0bfhB3PW8UF_v=MQ;_Z{RM%e^Xzwk0A{LE;m zbJm_En_b+-FV%Fw*2i_wCL=&{-eFo1kMuFj475{4g8@k-p9g28)<V?X!Vd$pvWr^s zvhktY%7stUXUU?PEAc&3RLyp(uZ7NlN^f;9D^EW_Lef$;D8cwefpPj3a$|UtC!)vF zbke0LID!DDlt%VyqoY1F#10)x`7d9C{x`l>`iHMucV4iJIw<V>*EA#L3o^<!OCw`C zo)EPBBmTwL7V1#Dw%dhbNP}axognvvw+*KD>lIB9RML*pAAD`D*574U4h7_ERe({$ zn1+_ml4UIpgo|A5A@jfZ8pBw&E5pLYUdxdQ$k$RpzK-}eUvGc#wSAT~Rq3@{>i^_x zrT^mVvi%h?AYWV5o52->$6Z}V|K;no*wLf;tk@5}?q0G|`rzx@559)`;Op|ge0}_v zugjnQRAxhP4DL<H`0w3_tX(5b=>MkLwO6yZ@q<OYEgC#{YSKbz+S$|15X8O^VZ{<2 zg=*EMdq_L+u&?Uu^xHzZ!5%laxenQK-#%1HXo0WaAF2uo6Li;`vQO6cP_1olshEcw z%kKAW_Xt*!wX{TOkV+hN0FOMp@!mjZ8GNrV5->hPs4MxyVohPfip$wv#~3=V+jV1| z4Sh@aKC<RUI6p&FlG_P=PKzNz$sBdk)r8p4Kh&gV;k6jPo<e@nv+?>P3@@jTF56K# zoCiOjRHbn#19FC<`hoTZx*UF6gUN3@9XdKXdc_mg8EvT8u)SBvVlhKghPxFkMkB;V z$=y8wvsO19=?!7<qOZB&f`WXb=gTU88J#VXZxL*7M1|Dq;U4ih2J=BX|7TH6^m5VO z&Tr=^k!)-P5BG&k6<Z3?Gb#?FZh1-rj7XIWseS05eSXo>AtCUU4!y)j7borzgi+BI zd~uRdzqI~QC^v@hv7d*U$D4b@BJ`}DTBeOsqlI`r)<4uT&vO<}8Wwj>j^f;HTEwyX zTqA2bUrh_B#dMH^N(#y1%PCirfV>a9tN^iBAmh9UVZ_~<?36nb{Jn2)GaA!8uUR$Q z-MsG;y2l~Ylsyv!p1^wQ@+rAFfPu);P)7k8p|NiqZGFM=zzL8};etT|Uuly|JqASz z8ZY3COOcpgN@PFY9Qm~>T)&C>j>Qsfv!E#x=lqbhTJFmyY$GWZc^pn@)^E?aD*Crp zWu69Y28=F|uvDWiU+++1n?-O9&i&@+7N2|WBlHtkl(?T`1_#hr<D4Fo<=3XFMpU4; zxx0l6xJ=hss&_SfW`XaMu?D1Md2AtdR#6Qt^5dWuXm{Jp=`<>Ruzd2`YS9G)p+^%{ z?zvkJy!=7OPv5*DN7Pv17^!o^l7Cmk*g<oJrH_kl!3o3j&*M=%Z%@tmBjERG95=xq z{Sw;*Uq0+thCxY_g659lr@b{AC9;v12uL^ErpA3%hInI9r?eBbF5m*JGV4cSfxS5l z1g-U?2e`L1H1VN#mq@|YNMgM`TOwZBu00wLR)wGk{vr5@!mw)=g;FTcnr;=9hb4if z5y_6c#>lj@)GL=gd|$g_Gt~JfeKJ9%dkr)nhNGh}^z^i=#@~QJ$p!_PLrAo2=hW3A zl{1K>;`^;++8v*-J2!Fq<!`QNobo3Dh<V9QJxgdcRXEmwsEU2My1CQt6Nc8wRigI> z|Bk5h%Tq!3wHL}tuAiV6$dz2>5cfcF%pDMl&0t0uWL{k=-xjJ<+A4JnuFur@l~NF} zMZX%VNf|YfnYT=>h+A*_g{nKZpj|wuFSU237Gh@y3<Y+g5?tmx5KB?LzGBft_H%lU zaJq8l#r%M}zG7~VutGanH%)ux%;JfPwC1aX@QQ(@N_QrGnXTfgc&_&sfxMwRMN1XQ zsE^TO_&WTS8#(A53CqnxoZ(76-cNIGg7hE19{=mtc@z<E1WtxQEJg3Cx{!pmf;@Hn z*abVtvAt)~dQoSH7tuwt=wa@E@Pw<TWYT1%FwQk%?>!-j#vZ@!%Y4I4mV9h*#?e;E zLr+EHnl5WZs^AZ6ZJ$Ojtv!*@bL5;NZku$v%cwyRIZMl7yV&6UtfUWny3GMP&*D_R zZ1{$cs&kh7@jzYK*?wJDpWU0vaY4F0mgcU|9)aOUJMNzEI#aPgg~j8nTw<-+8tps~ zF5&Dnt#3GyK*O^5ZS)bP6+{CiW~0uO&b93!VUE^7(8`cMvzdBu1S{J3`McAfqSI!B zK*!HZ@D1vLrxvuk9K$~h_h?6Rf4(=VwvkyCT@SL;t}Xh87HrJ`96d#plIbYasNgL3 z?Q&=ebE@6X8?7-Dx`!U1&k!7Kr&Y1V_I}j{WMC!1)FuRR=xZsB?lF%p!RZ%BrK6x* zcV?)xd`YMeuc@p-aE}8oO$cJ~-(y(saSg3boT)N;9uWL2b<6Z7_)Tvsqp%*o##P{C zx#f*edZBvBo;>e2M8-;3T#s00;}wtXA^)H6c<&y5u;FAZt{N!*x|81vF!4chqA)AQ zBZCy5HJ??@M}vc^SCYWqze>%J4Rywe_r05V_`o;K^l?p85pac<ks7rpYxIrc9sYb| zJf{0J67Ic<smK&oq6DqTWO27as#qQ&%TijTCY@t;hb&W{E;vW^k6)W;__;dUSsZB{ zDn$Itua~TdKK%Lt=+{JC#sy!7M*rp4veRlGevM-a{Dngz>4>C;Iy%s=mqgRf((0If z+snY8{2-b4KK%M{daV?^Bz?g!&WN-{O;A}bmFK91Id@cOp=L4x)$m6PZ3He~;od{; z;FVwUbM-?fb(083ZwfD@EGK4K&MrMGn&}o~0>*NI6btL~90Qr9fl<Dtu!%qWLV=}G zUR^%iSXtc|v?b!va^09!d_!Gz%04Y0V$xAG*B8CieFHL_)$!fR0OheZ#zc{w?NjB{ zVkcH6MJ7SC-lcF#n!)yB@i={>5~Dy$$QleqwE$1~`u0zXsb8um>7bgYZ+Qn1w!{CM zUxR)4wW|i&?{Au^jW}&+UnUq_!wMy@OUM+NB++^o!YNscaDJJ2Lf!o`ODy(#aFgxZ zckovzk0n$}uoGD^Bc9K}FIALp%gJ))-5k3-czZMk`ZaEeX5fck!x8-tzwYvk`3&@H zDT{ymb>k3zI>-O;>r9|uyB~Wy$({bkufGEQT1i7#@58SP?OQ+mTBG-`UyG)E_;uaC z{5t+0zpl*r@aq$!55IOPlz%BBboL))YTBS&V<dit#oklw?J<iI+9b>mPGY{{drjIP z*2By3{w8(4-r?j-HygtUU6$P`A|x_9A=*X;N>~<r<3@4uu+|@kIEsbAz3%7#UdDNw zxOw>8M5?1ldEwhnRse<DW*T*G<V1Mj<NCdPTZf9dgUr95I^DeDeI&DiL17!+<p<8I zk@`{B36Jn>u@O>BftUG~w)9)q3BQij7j@EA=$2+QO0a2+?sEC=a@(ncaV6wBBCO76 zRPIXN#5bdhn=5N#QeUf``(?q#E61GH8OF;vniD1dx+|zz-;f9=wy8AC{+8VEc~Rz& z_?^(8*6rnhh|5SEjY6jiy`1D)Q8W*IbluP5H({Ig`82{3sILIdqz1`Ml}k*AAJ>UB zzoA4=jWRdbN!e+C2iSsvn-Q$UxX=avN}?~jcfgv`S%>fb<EmA)!GAv&#P>%KeUh)( z^f7rd*G?v?*R<=oa#a=4-ukoNlc8if_I!Qgve~9*YcOck$i&(wny0q~d=5dgSx+R# zMd9Dm<(*qa?&#o3GMjkU`iIKr%KV_}n+w0RGa`rxZOL#%rv?s<ncJVDtlI^JK2y%h zAZ3h<IXYVbz?1d&?h+U}O~LX{zI!D6SdJWvzcwe#i0~n_KVxvM7cc4amI#0_1|v4W zzrQiqR71B<dC>Lu8_6`h{^k+^g2TZP_-n(LEj-eHgS(pQs{#1cXPmB?E!2oko<D=N z8#=n4zsm#uloFLmtKrvI>IrVqhOeUz;5p2wYwsjTFHYf_V@W`(71+Q=Ad4U4DSbN` z4wCmNHCd4(1^e+M?7`}yhQ=i=YiIh*1x2ba6cXdHe!0x*`B%k&6&KsQlAn83@E=H+ z8Jvx0Is!!MhIbg*ODDEdtWoBsq;9E5KZ3p?cO4hhK`qSHJmAl?;9fH<xVB&6EOge7 zUntYQt3M3jk*>v!g;|_|f*rB_VrC_C^lCi~xBb$Ax{1*OzjdH^38PYPl(&n!uN}t8 z+)XTI&49@O*2-}3$@INTBI2bLJ6L#p)%o(RmbfM28?i3ln}Xn~lgVzL(OfemCp_=y o6}4B@KIFQYio-C0l^z(fpY%Y7eaB<;;|?+D)H`T;TAcO&2Y{_^P5=M^ literal 0 HcmV?d00001 -- GitLab