From 0f74c6d90f450cbd480783f9337ab432c7e3ed61 Mon Sep 17 00:00:00 2001 From: mpabi Date: Wed, 3 Jul 2024 16:57:26 +0000 Subject: [PATCH] dodano extern "C" {} do stub_stdlib.c --- makefile | 89 +++++------ src/latex/main.pdf | Bin 0 -> 149865 bytes src/latex/main.tex | 329 ++++++++++++++++++++++++++++++++++++++++ src/main.c-kopia | 65 ++++++++ src/stub_stdlib.c | 66 ++++++++ src/stub_stdlib.c-rvddt | 148 ++++++++++++++++++ 6 files changed, 653 insertions(+), 44 deletions(-) create mode 100644 src/latex/main.pdf create mode 100644 src/latex/main.tex create mode 100644 src/main.c-kopia create mode 100644 src/stub_stdlib.c create mode 100644 src/stub_stdlib.c-rvddt diff --git a/makefile b/makefile index 551c235..0785463 100644 --- a/makefile +++ b/makefile @@ -3,10 +3,10 @@ DEBUG=no BENCH=no MULDIV=no -SRCS = $(wildcard src/*.c) \ - $(wildcard src/*.cpp) \ - $(wildcard src/*.S) \ - src/stub_stdlib.c +SRCS = $(wildcard src/*.c) \ + $(wildcard src/*.cpp) \ + $(wildcard src/*.S) \ + src/stub_stdlib.c OBJDIR = build @@ -15,77 +15,78 @@ LIBS = LIBSINC = -L$(OBJDIR) LDSCRIPT = ./src/linker.ld -#include ../../../resources/gcc.mk # Set it to yes if you are using the sifive precompiled GCC pack -SIFIVE_GCC_PACK ?= yes +GCC_PACK ?= yes -ifeq ($(SIFIVE_GCC_PACK),yes) +ifeq ($(GCC_PACK),yes) RISCV_NAME ?= riscv32-unknown-elf - RISCV_PATH ?= /home/user/riscv/opt/rv32im/ -else - RISCV_NAME ?= riscv32-unknown-elf - ifeq ($(MULDIV),yes) - RISCV_PATH ?= /opt/riscv32im/ - else - RISCV_PATH ?= /opt/riscv32i/ - endif + RISCV_PATH ?= /home/user/riscv/opt/rv32im/ endif MABI=ilp32 MARCH := rv32i_zicsr ifeq ($(MULDIV),yes) - MARCH := $(MARCH)m -endif -ifeq ($(COMPRESSED),yes) - MARCH := $(MARCH)ac + MARCH := $(MARCH)m endif -CFLAGS += -march=$(MARCH) -mabi=$(MABI) -DNDEBUG -std=c++11 -fno-pic -ffreestanding -LDFLAGS += -march=$(MARCH) -mabi=$(MABI) -lc -lgcc -nostdlib -nostartfiles -nostartfiles - - - -#include ../../../resources/subproject.mk - +#CFLAGS += -march=$(MARCH) -mabi=$(MABI) -DNDEBUG +#LDFLAGS += -march=$(MARCH) -mabi=$(MABI) ifeq ($(DEBUG),yes) - CFLAGS += -g3 -O0 + CFLAGS += -g3 -O0 endif ifeq ($(DEBUG),no) - CFLAGS += -g -Os + CFLAGS += -g -Os endif ifeq ($(BENCH),yes) - CFLAGS += -fno-inline + CFLAGS += -fno-inline endif ifeq ($(SIFIVE_GCC_PACK),yes) - RISCV_CLIB=$(RISCV_PATH)/$(RISCV_NAME)/lib/$(MARCH)/$(MABI)/ + RISCV_CLIB=$(RISCV_PATH)/$(RISCV_NAME)/lib/$(MARCH)/$(MABI)/ else - RISCV_CLIB=$(RISCV_PATH)/$(RISCV_NAME)/lib/ + RISCV_CLIB=$(RISCV_PATH)/$(RISCV_NAME)/lib/ endif - - - - RISCV_OBJCOPY = $(RISCV_PATH)/bin/$(RISCV_NAME)-objcopy RISCV_OBJDUMP = $(RISCV_PATH)/bin/$(RISCV_NAME)-objdump RISCV_CC=$(RISCV_PATH)/bin/$(RISCV_NAME)-g++ +#RISCV_CC=$(RISCV_PATH)/bin/$(RISCV_NAME)-gcc -CFLAGS += -MD -fstrict-volatile-bitfields -fno-strict-aliasing -LDFLAGS += -nostdlib -lgcc -mcmodel=medany -nostartfiles -ffreestanding -Wl,-Bstatic,-T,$(LDSCRIPT),-Map,$(OBJDIR)/$(PROJ_NAME).map,--print-memory-usage -#LDFLAGS += -lgcc -lc -lg -nostdlib -lgcc -msave-restore --strip-debug, +#CFLAGS += -MD -fstrict-volatile-bitfields -fno-strict-aliasing +#LDFLAGS += -nostdlib -lgcc -mcmodel=medany -nostartfiles -ffreestanding -Wl,-Bstatic,-T,$(LDSCRIPT),-Map,$(OBJDIR)/$(PROJ_NAME).map,--print-memory-usage + +#CFLAGS += -march=$(MARCH) -mabi=$(MABI) -DNDEBUG -std=c++11 -fno-pic -ffreestanding -MD -fstrict-volatile-bitfields -fno-strict-aliasing +#LDFLAGS += -march=$(MARCH) -mabi=$(MABI) -lc -lgcc -nostdlib -nostartfiles -mcmodel=medany -ffreestanding -Wl,-Bstatic,-T,$(LDSCRIPT),-Map,$(OBJDIR)/$(PROJ_NAME).map + +CFLAGS += -march=$(MARCH) \ + -mabi=$(MABI) \ + -DNDEBUG \ + -fno-pic \ + -ffreestanding \ + -MD \ + -fstrict-volatile-bitfields \ + -fno-strict-aliasing \ + -std=c++11 + +LDFLAGS += -march=$(MARCH) \ + -mabi=$(MABI) \ + -lc \ + -lgcc \ + -nostdlib \ + -nostartfiles \ + -mcmodel=medany \ + -ffreestanding \ + -Wl,-Bstatic,-T,$(LDSCRIPT),-Map,$(OBJDIR)/$(PROJ_NAME).map OBJS := $(SRCS) OBJS := $(OBJS:.c=.o) OBJS := $(OBJS:.cpp=.o) OBJS := $(OBJS:.S=.o) -OBJS := $(OBJS:..=miaou) OBJS := $(addprefix $(OBJDIR)/,$(OBJS)) - all: $(OBJDIR)/$(PROJ_NAME).elf $(OBJDIR)/$(PROJ_NAME).hex $(OBJDIR)/$(PROJ_NAME).asm $(OBJDIR)/$(PROJ_NAME).v $(OBJDIR)/%.elf: $(OBJS) | $(OBJDIR) @@ -105,12 +106,11 @@ $(OBJDIR)/%.elf: $(OBJS) | $(OBJDIR) $(OBJDIR)/%.o: %.c mkdir -p $(dir $@) - $(RISCV_CC) -c $(CFLAGS) $(INC) -o $@ $^ - $(RISCV_CC) -S $(CFLAGS) $(INC) -o $@.disasm $^ + $(RISCV_CC) -c $(CFLAGS) $(INC) -o $@ $^ $(OBJDIR)/%.o: %.cpp mkdir -p $(dir $@) - $(RISCV_CC) -c $(CFLAGS) $(INC) -o $@ $^ + $(RISCV_CC) -c $(CFLAGS) $(INC) -o $@ $^ $(OBJDIR)/%.o: %.S mkdir -p $(dir $@) @@ -130,6 +130,7 @@ clean: find $(OBJDIR) -type f -name '*.o' -print0 | xargs -0 -r rm find $(OBJDIR) -type f -name '*.d' -print0 | xargs -0 -r rm -clean-all : clean +clean-all: clean .SECONDARY: $(OBJS) + diff --git a/src/latex/main.pdf b/src/latex/main.pdf new file mode 100644 index 0000000000000000000000000000000000000000..48f89f0ce611c6a4ec70ff2b716c35d207db58cb GIT binary patch literal 149865 zcma%hV^pT$8ty1em~7j&C!3RPPfd1Bwr$sB+jh-l+qS-N-r8rKKWG2g{c5$o-sjeZ z`}tlHIUx}m23i&{Tu&}vgD`l$F8^h_>j?fojrD4JL~WhrzXy~ zTU749o=$gX@H};Q!hZES3!AVxG4Y$^l*&u@9q&5cT3lGooGw08KhL?(m8(=#s4Ai0 z&4RRA%&&vV)iv&Irpk9m_+AeR=e#-|;QWV;q4IO$!TV~cB%+8XbyvCf-Gqxyc|M@E zs;(u!I_?r`FVoFs?n?e>bny^2s#10+?kPVQMY)rMu>P<#uprVRgd4jjQp|qj@+-R2g*IvmIR}rNI;=~aYPP1Z_ zD(Z1X=38>+L)P&#s%dj#*T(*H3R(KkX13kTjj{zSl@7iBvpcOC9Q92;C9@3ks(=Cg z(fVMD=F|Fu-l(>N#WBIDvBdi8D?#Y9-7f96Pt{m47U)WJKlXM<<)*avuLe;MW?Q?9 zNoshrYfe2Ke&&3J|Q1`hv$|ee2VGoJoov9L$)HVMBUDsoSgglK!zK8v1LhZwv z#DlJmC-?$R5IkL#FuQ`B8yF9<@M{bizQ_bhQ_xDy=$Gk;K!IkXU5GIp8NTaTh4DsL zLz3*_awQn0TICx^p_wDFF|jb8>TpJB1y#~qIb^@2uZqx8%zi?3jGgn#pujm5pFh{k z-6OA~o^3Iz$a57H=0S$DAXIXjvPds^UQB`hp@BGAg^qQ`i_9rdg@X+Gpv4{vK3c+x|X0IIKKq*!|fLt$*RDPBE&m~Sth*HS;9(HzdTXaTxXp#|*R;Q6qLb!|0wC`EZpZlu zrvXYR50|vX#KQADW$Gq?xRvYQ$D5AY6$AAXx9z;_~2 zdid0O+uQI%U?mpeSaQRBpYCBUI&*+fZ}+vgy78RUD77EKmP8L|0^3y+X!ov_EZdHq z+oZ{pJ|wp}U0f_opW7^xCOfcE$yZ==U^QUxEX3^5&C@ktCl&r?kQ6*W?vww63zu>d zz5A#v+<$8?EE~U_;aI6XI>ad>?#_6_@1r3d*7xDMkH~pZw0-BIS{aNsB>9#p50tjo zdIfbhaX>38!Sdj=NvI^3h?PinSHVcXDmMGpde>e}^5kK;jk!z-muwzB8Tq9)A%2P! zSmzI(ou$+gNO}6Dv5&$0mucRm&2Nmkxv5l6eAu$t<+tq2SeIB=vx`&+b~6W3Rl0z5 zp(D3qo)xV{uY?t{m5T@)6SeyaOtrkP;ygw#Z^zw>$DT3#m{1{mSeem=XzL=Zps=&DqIBx!Yf}-c4%31cWRbT$kt zvmlXj#?>}>;;6Mss461AN}~DA8M~Z?#9il;D0ryee&ccswpTTG*9)Ge75^q#FoSf!TZCZVPq;!x*9d9_844hQcfsWK*g#mXp`^w&D=`TZ3HjYz zycDgRF3z;sw2{18Jz057=qkCNaQnLH{8VyoI6dxIq7j25M*TD^&wTk))^`4jG_ zfjg2m^?^v#p2cbswr%rE8bR2WGYGQ$Z+vCEqSD1Pno<`OcCS)ZaSTF*gpy&gpG9~@ zbK{`O$}M}~9xHOpBGH0dX&J@RX}Voat<1(@HrIY5S^igB`5zfZ{-3^HECKji=7a;cH~$FY5#l$Z^Kaq@e}E z6zV872g=KZW`_J_B+#+NnUTbI=}vzX&dh3o1SRN+ZXcy0L#$1K5~-g&e3}Yv*+aVm zP>wmOF8d(c5!&GIO7TDI#(ZUutpbSr9ogW-qO)6)L+2xmCf_DtZiTw2`P1B*pGLhS zQoHv;BdYN(Zd+4x?}G4FoQB)Ws_p)>nwPa1&LX&%H50!U@E68^Ygj!oiG!+azqj~Bbj!(Jz^0o#EQ4}kw?DK*IU5IO)3y3Cq4LY8+*YI zPD~1gat8kV*1t^+rS46nx(04e@myjWVzM09lCFkInm2h?+(nF3m+i>fg6(J9`%mdk z&(DeqRN_a7M++h{AuN5B!}Lq<^0Ue^*+`k8N6x5fdj z?qjIT>FFa;p(Q)7x^}61x71gDOEMQh8GpkTSGWwNrZsHVuitG^gPi0_tAFcsoEdYPlYiw>qSaMnEzE}V+$;8=h9O(d1EQff4~T|Z z?z?DUvWm+q#XxH^)#;UJvR%dQMKn323#hgFKb1-5r+b*SQZ-bSC)YWSDdvcNhhf+b zymlT6-HrMsQ@{{ddT(`@&NTzZ<)pB}{54}dB3xRwoX~T-0jb zW2XBp>8aH3@Y;1Jp?3PM*@2uR?z_|QHd3>vfD@Rfz3j|@4@DToZ_iLqaKIYM&9%(mCUQ^oS@ z(l1(T5cZb0C+ZTs z`h~iEXcJA@J`E@7|<>SzW@nC0bu&vUAV#-6UB zd?%H)d=a?xreL(`MH|O=w@$kXi%S6mkq5X+M)XP+SB622P{9aG*5$mY8W(8N5zwTl8=y&_ z{?jD2M8x)aJ-_EXI1-iZ;zqt=!oOSuf4L5D4ii~n=Zo#0szX#8PQC$-Wh^@>Ggw55 zp`_rTUs0(6m-*Cs9j`Lf0h>xcBvVTIza-i(pq#Ha{i^PMzS8>-2kF#Sj@VXQ2N@Kp- zd8@X|rUQ_E0x&T83Y2&K6-ZDj^&QeL13}k1oFq3Kbg_>bi~JI_tNfTWX;S#fXGqz& z?!~`=qCoEf{>G09h)U?)amuiBh$y}K%ejsp#fq`=SB!qKGYTWp4ms8{X>%p)88`Pk ztUVhGuB-vnmG{^ZFdhL=c|8xmW|0ku6~F#)ZQ(^6OIb9X_1HG$<7WAyAJ8<(t6F#N zt5k#3RqQ})6yS%rLRGBOaiYG$T`O^S6@nUivt_(+jOo_w_V;5omYwaAC7M9&~GVRG~Cz)y&iAQCDPq z|C$qXDlfHPt~Txzo4|%BBql(ct8nX4~dCHhnr(mP1gIV~YmbRbAYj&WC zMUi`DkD${777Fz?pCYn~^$9LJchw_kOM<^rCZ4m6?7lcra%S zr3Tp|V5Nit0V|dBW~GqQ|DTm=aEXHqp*LO=tGvSGMg_^aIZd!e7WDmyb*&IW{I2%2 z3HI{x=>cwn_hZxVryuI3S)K+dYU}E5@~EkvSSg|7HT9BuvD7Zojj+n|%8&mh(P-5< z1JStU)9inIt-&i>6Lft&p30d5i$^S~%7l~*8%FDrhnryiuq@zt&=wf~Tz-IjU}1m0`;8@}`G z4*bO990`dqa;huwCSTcvOS!yX6nN2up>cZzxA-YTZ<}`9WefrJz5l;$e~^TbSm4H= zv}z(-%HmD33aq*lt{;9wUx~vFh^w2rVD^h_QK68jje*rBs+!x+F(z8-z%)+`Ve3#V zLO6)eLewlA-66L(KKx5L>_N0MTHS*q1w$rFzHuPefm35eE0cb^sX1G7tf$G7sNHNz zPi_NKM$+@mX~5lTft&uVGrN>qOS!D-=OTy(*Z8{b#ajtAv2*L5r~#8J_$Xh-Wso4Y zQ;nZA4WdtL3Kuaolwj7C;DDnH*;O@u7=A#_3B$$u4-`p2&5bbtH8&pu)Ewbm&5N|q zMg0;7Htl6gwEY~3W>?nFmSvch>}CTab774lbG39N8?=5tc^kp)c-nLIE^Htrxwmol z)|}j2um3P&LZ?t=1-uSHD&Td#P`-PeYH^NY;wJp>j6V!q)x+;7nJ2ijMz#HQT4Vf| zO7Kt0Z)j&fhxq&~?_$-_kKd7B!lo+nBTT4r;_WPyFb5*cdvmP{fNKp_d2_9VB=K=U zF^4`uk6meHZR0He@X#j%J7C(jvIkb2pB$*J0=5N^Jga#(mfKrK~nna&AWA{+N zuGDT3z&=sGqx)Sp?o>BRZUc9Uz}M1*(4H>xATB~A1nIb0KrzHXuQhUzrRdr0_{Cy9 zd`a!^K&h59m$!!X#5pB%PX33_<^3~k^!=XD2e5IizE5?BLP#m(?lBa_hF1ZYf06v@ z(8(3=`|Stu-IF0#LZvu?c0%M$*F>@aJKq zG4;7Ua72~QrZHx0-WWGT1?%oOhF$XF)f^r$`@xLZFvyfW2Aqab8&ZC!By{PM|HR}O zslVtyi}uL|`pq&*d0;qZuDcx@L^i>lVt9p?NrGZD#JsL0WKyOdtG{FIEPTgWC3*ls zib+SsSvvMf2!|df@fF6*ynckCZ;632vNHU?*T}$cZ&%O^|LrcC3Ak$eAMc{aw6yH7 zn&Lg~Ds*>@4vHbC?#(|GNfh_X821lJ%~~{>TUf-{ng+)ti6ILrRPktl*3cTi=Y9+! z1^YcW?)!Jl`0il$A5X)Djm^a6-8IT(hwFHK(J|` zM48Dwlepl6if3V2{9`!lyZH{eJQM7(7twoV5S<8R{c9Q&3`mra3-c$}(v4jF?V1`4 z?s2Bc?HS&nUe|c4M~IvvOo%Ek-_(lz%ac^{K_HCjou;gMT{*(8>C!45*Z(nz0JpZa)F z=U+y|1^M46mUDtLX30MYn;_K_25Lt~vy4i_4bmPhn*tb3&yd`m!FCXbI|L8t8iN)a z@KEJe1AoAY)w{(Qo`9Z*+mGtpC}AfI?$|0bp&Qgorr~=jZG^0q%qirm_<^dMouaQ0gt9)QgsHrFOWL#W>)?IMyLx z1%J5C_rSV2Ez`4bw3zpT-J!vD`TcA$uhZFXG4*w8$-drU@8hVP_>FbHsI;J)r6tDW zT^{Is()x7DK&2LLu1HNTrxotPjYs|&cZQtIf;Z=A9FJ+y`y=Gl9dKfHI-kZ=F zyIM4!wMGk0iR?ZCiBnO6C1?ylFSlr_#juWhT%;DWi{ zcDg~XXwIYcNs&jO?I38ECqWzOUZgF7DE`nP5b8^tel$|pMkeJ3R ziPn*~A&65H%pklCjgt=aqWKp)O8R5G;A7L;_m(eoAPNQ3vrmxgKi6iq2d5WeE~fXx zy8E^NfGwNMwzzSyC9Y>UiLMH!Somt5!b2pG<={hlUN%W3LYbfqOzL&iV1%pL`=q+I z5lhwJ^W0un4LGpIIj4sc(B6jcbqw+P>-CSY_iwOzxiUAy6(Wc6H2Y$vM1reFf-eSx z7uSOy=Jm57`ul0)fp)nAF9u(|F9!Jp51PYM1_<2D$|SS1K7~F zd_QqcVe!=}h(h-%tNi3M2Iu}G8WqAv>+fqiR9PU!X48yDFE~)3&nL@~V{vKDuhPx9 zx#A`(@p+~;AHKSmyo5xD+$8?+&gLVo&NW?JC=V>2%H02&NU$0aT=6$=%g6o`O#zL! zb=|9eo<3-zsI$@w_~5_y0-L0x zoOiRA+Lss(kRDJYwE7Khdt6XcpWAu5YtFQ|!ww0q!M02Al?M_c1!~mhG)Yc~4@g$C z9wFC?*MO)#?g3Gu15vfUM1(6M*zJ_gbDpA1b6|%V~J-f z(amHb*|70s=ViA#VTzWo94P3wkwT8li|>aX>tGRrqO(`B`K+rnu5%VJOWE8maxFCWxKF!~$N2t4B- z3K2>uE$|F`;2HU~?+D_YiOvZ8!{Etm?_Y4jk?Z3)TX`0L`Sn)kJIA3U$)kd@4g`1` zi$I~I1$IbW%C87iorKPYkXrO2)jS|SLSaHK%98XG*FT)mw{dbP{aqYp{lZ`4CLC1_nFtav=65=7u)!%xBV21gzJ6&} z+6TB=02o1dPJpY^-+}veC8o3){#Sp8KxgRot*E`}M;&0Op8+yh@&ZuuOcae1UjH5e z2yN7=`=VgWusA7d;&Ffwp*vjY06-Rv~=9 zETahd&pd+>x9&X&c1|vxnQ=2_(KrRiK#l-1E??4q07Ey}g!b@H)HQ@`;*25Dd*f6( zVM?~gFeu~_0O`!L#&6JoS!3)mLqFPsAaW!pQq25&PT^0Jun~D)7VtJa_dsz2fZ?f~ zeIFi}OxqlYmbtGIzzW0;u;>3baYP$zd5%DEU;9zNsYJM#s&AIS=yqkW~tadQ)OZz{r zM51`tJse8-RwmR1UrC;KG_9(kyZQM$bN|CBGL`I)xk%3n)awqKKt3=*r!)Be4_?#$ zq%f*c9Mr8d(53UMF~yf|)Tr&EFo3FjeV!-o2p_~#-j)8?Ar1Q>8{>dN{kQI?HOfJt zO#Hiwx{!#$$A5C(tNEpf1c6aVIH+5W*qFpzk?`MqcJl(00*3K@uJ+5ERCyRqyI`|ifij%$0T+OKk04<*&WifGQ@~Xa*O!8vMLvdh6XWr~ z8rVi=mbHfz(-`nXv3f9uF4xqVlrE@swceCDO(h`t8OusXb}@ zH_RF^2n`_R;9)YkokG6_)mPIiNggtuRYZRPR63L*l(&+=Upr!$yOFM~5b%W(m*pHJ9(n^(U2plq}tD>e%xlUMdaU^LWXQT|vRpgX?qU;-etl zS)$iLW22|)M13e|C&C(+TIuiC{8?gRy9q~QcJ8I*k$z%9x)s^07SIhDwE5bHmjK7T z8#|f8s~dd>CY=eZ=c+cRQfB*dl7l88w(D))_<->`Va`_YnU8{A-7^EQZ5s&Sf^@st z=JM9%u0C@!964<5)uG-JYx5j%kaU*BIk|Q3TK8CAuViC<{4?!izzxH2fFBEkfq7(X z7$nvHHFltSpxz>Z(mlIWNzW(cE&8(67E^&*H@<)eIjac;;0_?_ikEI{_}>5tQ9VtzID`%Jglvn3CF(1!G^i*q9H%c;57R`GAWx{h6!v*mh}#L2x?!)z3d!H*})zF2gEFEr!NPpX~|TL+OhjBBSoF(ra+Qx)9*)%BE`vJbhB(TM2Z;vE}A&AOO882xBN&U zFKAZqn!eqCX<{WvTjrz5mrdK1Ez`4zJW$FHUCZtV=%5XdNeJ*bIcz`&N#Ar(i8A8H z#xa5(&3<3>GW-xPD~nFdO!(40L8Vu88b2+B~!0l zZJrc>Z*f30Q|$rK6bD4}r1DKPC1MN0$T4ydujg>cf7EX{e|y;9i;DDw2EkRXu|sYr zA{^@<6@8TwL`o76jt+QsBcGG=G*6`+tmX)&Qf)E6F}+k+>J?o~|3&<_GiRuo>jYk7 z4uJqH!yxQ@ETRgzXqmxSF^gRU*g33cN8kEka7@iYns>ygDrh+zcr$=>`mL6H1_|x{ zcNHsG37Fb49LVZ{w1vbTh6T=*!JtF9WH4+$+?EEMQpsZcvyW?Vo3OECJ2$ifA2y2f-M^^;}u# z->K|ZYp&#yad1XeHsq2{g&4z}!lW_<=m)N~^XXsOXWm?0%P_#6D!_r)*6)U=Nx~@d zi|A0huCl;v%Y(NmLK)Dyg}2su0Igd9TKBW=-S5<#ksxpj<;!`-;1ZK^R8?Rw$Kq~i zNH+t^Pacqi6eh6z1in8qxi)TA4ep0ruZpas*vcWPS_9+2zH$Ul*YNT6mqbS@3&AK&np0}()}yr-yqqz&V~%Pjr_l{*lNgnV=QQ#^D3hj z6Yp=}7K5-ust0IiI_Y!Ov1vu#r+3RN&CSsV=(n%O7*AiL!qE&9dRsF; z+2$$qtYv@dI|5iBu{@Nw}fLR@~bQD zTDbutW!J#M-EAu8&&^FDo=w`?@Wo7`H;SEVM1lO)gd%L{)4;Kx{^KLZlv?%oLDj~2 zTH}UL9p23JU$(oaGGp6e92$_%U#zWB>*G6@-7j~>EL|8nt}|J$puhXTh3@p7^z3k_ zHMS*#(nlT~>l%B|_Hszbeu2E{gG~D5?C2H8duz4*%PcCs>;Bg<|(h^Q2rb2++&p)@M zXF4*~gtO~eRQ^9p-O7u{0XeE<>w1S$_WHbU9cHy8ATV_G)}p z3FTMnbOtYWC(3rGqT$r=lyC%su;{)Tt9V9Hsewj2U~bd0Jh>7mB}?aocG4NYeXbmH zcXYCl?#8O(TU*hypy8U&1a;eS;$`ac>bTN4ubxmec|VJOm%`O}7#P2F2S?O81>?L~ zgOZ$G(Iv8brBCI48lJT*jYU|58m7x{CzFqJ*nWk3oZJTgFL$M^|Nnct%nS_d|La|8 zTl$FY7AtDNohQ`Hv{d{u3Q?o)pgCpYP(EYm!7Z)0^bq4uDjLZMV%dhPYr9_`e6p6T zpnpgE>jfodZqvDcfyDi8@5qx|b0%wg|9bNo>7 z6Sf>jP8N(hbhNA=N3xo3G&E@vN^TA-+5KSe;6R^~{En1UXY}e+D_&qorM@|TZer2S z)&Q<SylXm{qza$0rYvxJ0Nn}Fn^UHS2RV<$jI(FRnyp)p=6T?&r0_DA>i`!;`&Bzi?5!~()Sx(WhxM}TJICqp!KjjBX5>Omc5N8R58`5a4J_pH zbmvmcUXki1`JC~KZOX^gYJ)vS46_(^_e^FZPZxrTsTXs2`5O*{ayQg+Oec=gFvoIb zwurhxbKmtRg+EY%J2-pgGXANYicY_B`E*~jVsvyp10N<^48DuocKR%wMfQZdeDY7N zL1~U71iz!_>EqRF-_u!A$G{WKZnj#t5nJGGzTQ;_2g&Yj0NmeuL(NUb;uUbI#RtBP z&czdC_*rL4%pn!Ami`}#&dsNc#qa^(3E+M4evU%jaEd`ZdvglI;>_V;^+$)C(Y=OCX=ID-J*!tni)eFU?8j$(Fn8&#=iE+W<} zHXaSXtQ$3=GGbz@%K@_sAC1VGZqcGu8pLMtbDZ?e)6tDM7)&cU`cs1Q+32N7`l~4P z57f+~ytLOIzL6E(_@+xd&-{?)U9$F_%BP*he>@4@GNn+=MkEYl8T%qP5~J1rwiKz4 ze?L@GBm>To2?t*o*pMZCx&hNHLDQrs-m|P;5Wa?S-Fsu9k?u2Qk z=JYCl2+^;=w9B_Av|Hv|J{2g}u2)1aAf&zxGZexxXLrC|!^#EZqv&_IP0T5+5PU3~ zDb;5^gDNQGT(Lq`COMG@b-C*JYW`&Pf1lz+j0YyQ-pfT^K*Xu2bbH^w4vytJPsG?! z5<)E(u%%QRK`j>X16^$$xfazw8%*^0+18T3k0K0=Y6{}fP)ZSVv3I>-d{oNp9?^8a z`^BY>@4ga~VE2#;kNm0*&S4SvHgIM0l(sa{KvN1*+Z!9aqVpAx?G)qFA_)v0>H2IK z-1RwyP)DAy<2@f&4bH|dTa)E@=!5{xuep05PYgnnFbSW$$4Xa(S-(z#j&mn3bJAYy zE=0VEZDfJpu(UXYe(mQ+`noY4s#}Z70ylUnXh)TIE3Q??1C4YIL${O}ofzQ6{JCMO z6ouK!Q|S2T<_&FuJuvd(C1b?1kZY@L*c$ephZz&7PQ3Q}E%3{?>wN7u5PvqcFvXiY ze&21g`?pGN$&@k2?FY5#?6z$pgRjMVo}sSN+@=dRA-XDWza zs2Y49mf5iA^BY^eB`_pddGON+V$ZdZD^5lIaV|z zJayfF{rjqMCF!)vl!gN8g!4AuoH4Ls*p;m3HkQz%YkHogJTSAkuGKrfN7gy<{9Fp? z0%kSs^Fr+j@xY;~z@b_B(F;{kb8jOK8CIDWTTE&?&{$cIu6wxk(=o}(dYc2f@fsc1 z4o6VX!}92_{gFY9l-?Jr_<8T0wP!b*Kk-(TCeT~Ie%(1M>ZH;zytaQ6vkHnCdvr&7 zP{*%{ul7y@Mr}~USTyADjr70}g}4%M9BM?>d3zJ_0A4|mUV)DOhUso%h0_0b{{c&i zB#+YN^^D|nvt+2bAuPthFU2vuQ@$NF4+uC42>3%05b*VX0**P-Hs<7t3(&<8tZXN6 z_#!u_GL(uyKRkyRRTd}R32?%fH?m)PujyCaFtNT!Xa|>SN`_@667}wy>Ev4!iGfN1 zZ-`7LAwL3I%qg};A$?v&s*wDdkUtg5eh!gVV}t{U4-$Va<88BD4TV4dQBUTHI){3r zJpo}1YQ}{ws)_!{69(rUD@3aLf!n3VV;hjPth$X7yFYt%v@^t87I1EEKI zzXdb=3o!wya<36R@k`+jS(WZRDP(SnAe*uSr-UfmBHCUHS?RCVpwT9j&kVG8$ z#%R4D#jr|lTuEHyWN!#5c^!ir_3I1}$4<_d$5VPAIh24S`bUm9cCzZ&O#7WCJ!|XO zi(L>grb}usnL)$qU$wabo3);xGmm2m74e3QvkHTiC-b1?u&pPn=f>ua(ok7+i7<0k zIo9Y3Fcu98tZ9JczyCCJ%qv+vu`Obh3&$T0xT_DtfjfM(({k7Qjg6lJAI+AOn1q+n zcTDAU@fEf&U&|kD#)4rOWw^j}QxH065giBGvu>(S!sv^cI6B^^kbCGa6eKzw*0P<6 z%NNF7e8KKNHzt&aX`caQM1BSMNI~O`k1#$;AeQx5Xpl-AMwx(aH4DG=1uOuQQ6Pwu zqto&&I;~SH7eg%9oknayVgX;e%=DuIQH{Ytg;R@WF${5$*gim=`60b2DhFds?RapG zlSre*^oVKp^=jDiggT+}fEJ4YC+faw@$I`7_lS|}_tNX+apLAJ<*{WA)LPMMcG1Wm zNHK(qR1yzRV0UdI!<;~gR$^D(jS#6)$`B+}XyR$(R`v5M*z3ak3NW>{r@^RA=?yME zn3453liy#b!9D9Zr+SQhzU0+p zRPvl(+Uj`(zJ_-7*l=XkGvV{SEfky*u(O#vgIm&Kp33}qpO`^F-NDXdcV(>e(@F32 zSj($%?dPVaO3TSf*19{CMpKt>Ce8?HMkX1EC7{ygW8x#)@`so$mU@21CHdQk9Jd2!FhFZoxuge1kzR zDKVHOqgUl#1-G3)Z{>%p3fEUwlT!`L09nO~d@>bstc+kdnt3w=d+M_p88j*spB`lQ zntIcyMR^0hh3Fq-O8*4Gga*576dZ`6Ep!Jxm=;nztd6^2gL zvYu={E_kzhfrki*!c1wdYgfKEog>0~l6m$usPI?0$$5OZV@ zkQ~p@qxQ!HS2%*dx!>OVV1P3uj4+H1OD}eCP9Y9po__%IAhQ6>^Zd>{6pWq0#slFD zk|Oi>4d>8!Lk>7PZ~U0`!GHIU*g{x^#o%Zs zz1nmduQFe>1GANdN{j`0fXH9~T4i{n)gFLW9p7oS7rtHFY>eUa$}lC<;)4!W*KZ?r z?jqwXVY6<_8UnUpcN!W1Dz#E&ru>osR1n^w5`}7XfhHA+*>$U#U+1N1=71xUIHhO8 z=BOLk#e!aAtu@*{!q+fHOI`Fy(p=xUM*9@tvQmJ{D&J_h1mLoO_w>4A63AD0SQ5$_ z#h?Wnt!`JDqAO@7f%Al2&4oh=SAf2Kd+!_6k$%jkb>3_k#gF+TZmEtYi2`{Ik|~Gs z*gCIoQ{@g);~o8ub6l2AO>zH-bPAPch?n7~tooOMV_Se@kKZV?95^=qokA;-;`Z6~ zP9=$YYlE%bY0pg{?rhKtdT&v|$pk%Pw{>>VL@~H!f*qOGNiXY?45^F^7y(B|3OG8W zmUl{%V(-CY<*`DaC-c?qjvf7!X=r*$yj2)JD;E2;C;4v3eiD@TO@nw!T!ptyj=bdL z@o$bRjYN~c0T>h1VCM9{iMKQD`omK1n zEg1HqHxj=9*VmN{xV|*N_4T!_9_Z&Y{vsb(`@&;&K95jV%d*>$w5I=Z%A#(TPEx<( zSD))jg0~>hpalW?!X%fR}*8BxMM?jHAQS%(kw>if9N4_UankWQMj@Zo6=0u=N!)dEno8608Q)oeX;_MhZ!|VvZl9)b5 z>RcB6waVIiE&q2`_FrxpIR48m0}I3d{6(55#-{$@dhIuaF+1mCm1UiO{%(7ikb zM82w7qizY%-Zq4iS-jltvGH{v=xMaWLoYGW_I6_oG~R_Cf!J)?4BO7oc&3!;ZcF+C z*R-g>^W8U2jhw4_y}pc9yyiU#1XfT_Z$1b5?@0CcTyHEj_JLCS z*0?t4ULIcP9t8bymbSKHp%+Q3>IIA>zosJoO^X*d`R@B>3cX1FSR07DXabZqq*>V_#6DEbrsN zrP})kq`L+_$Elzt3V=@8!jqhhdmtRunTn2)u`+CGD)-k*kNam)P43S zAvwiQqo@3PLTr-#Z-xFHv~w4tmF1wNTLJsX4G4|=xdS(~B@et44@m15Un-n$?5(e? z?B&i4E7|i6i;SSxPEVUOk=wGO(? zLhYjZjjLWLp8&Y{1rEb=s|Lv#R(C~H)f<9gj$S?Uht}zH1OnZy2HDgXPE9;WRo69t zq=q8{=z*)#BxRm%P)nnP{arR#UNZ@Gg`Nw<2n#iyF2-E~s&YPQY`B76lMjm<`C0Z8 zxVrA;@ElAVkuZ=PY;u>A6u76wnFPlvpak5)|E^!?g42=HxH4z!O#tblO zl_`#0FGE2U1dop6Z?0G+nj5P7)6`054NoPneyH*OYT`|p%ZaPboZys=vup2~?|w(I zZpf)a%~4yVXrsIjI&D!&M*enxvc=HDv4uNKMGm2?#a{SieHb7%>ggIVb@0i8!%^z~ zuYzXJ5JCILK*$j#Uhl>Y!%N5=t=0Yjq>oT;8$ES-#66xd1Nu5;is8>dG{-chEP4#dtgv7A&Nvj6iaQUbLT`*#Za^3mW%B6ciY8Qn{XzG z?8^rLlL!E&@eMH8?|`8d@GF_gw$RLMN|;787spGPu9CT`+^*~&I7M5Xn~kqp`&?XH z^fQf;MWr@e>mMsF6|ZK#@nZ%B|15*fAQ45GN^$;mFv^!Wg=C%_2k?fad`ya+n6FIs zT^NS>yG`CA1wL%V%)A@T%+wnKjGM8m@!gp<)lBUs+INQN(wC}X#qq@qDH{CV2+<21 zw->+&)aeo!*bzqn|?bu=V&W{KA?{LcA%dB7?q*Mk2uL}ENc_w*rHX;kmpe; za)>-xUT>`0Z5x}o%s)ooUKOzO`84fpU5k>pniDlrJ=>hqm{+co-@yKxY3j5ifJ!d=Dp6_8OQdoikqr{O$ z1widmfZ9z1we!V!uN}KG(*oSXXFB7LU-8;oGe|}rD$be8T{1GG2{o;L2M>LijokxB z9xxk)4T73%?qB|mbnD5(_Td7-_WSJPF9Gc+NDx;I{URgNx54pCpQk7^X5t(_mbLsZ zsn2`Yj62!icjcmgBd$89RtNNdiKD9t@L^I9-m4C%rKd9ZWS#k!e!5#&_Dk!iN`80 zCQ;a4sySYYZSsAs*Y?azNx2taysyy1HkwiSCUwLPf1n}`m`}7 zBIRNcV=FK) zMj_)p_JNia+L@p*s1iS3g8#$VHwIVQMP0_WZQHhO+qP|69ox2T+v=!;PRC{^bKjo& ze$7nP{K`$$Q}vv?*4lfYyVrq#dDAnqsHYB2caQZ;%th3zRQxE7m)CDx(>CoQ`QIs8g@Aj3>KcY3&qh;Fk{{&CZiUY#2L zyelo$QP$)oUWC_waV4sg**Kk>lyYw_ZhU9~+POo#59>^K9S+#aFUHldOn~B|?lY+v zj6?O7mEX(|Gtm0P0Mr*=;SLk>Dhy6S*?oHd~ z@IA)5p0GE+9@e3189SnePxrf3$^;2u4Dq*sv=atMJG+Pfpvly=ICkA)QiQtJ7Al*> zqw0neMB5Rv7c^#LpI@jKLs$tP2q5Pq9brX~H7Emt%<%FI2D?%Z4mg zGic#(zVtJjGMoG}4W(N-Gmi+Qe{s98$Gj4|vK*3s)^!u0`RM9L=b-rtHzV4;)ZVMl z_(OH=O-n5!x+W)zDCy6^b0kzn5GD)3f`kg_V?iv%EzET1bA?NUbhmaFj5l4(n#>y2 zd|jbX^5o?#;@*`}NIBD}1pOtG?6@b>*4>B8ZjPp9R2Sq*my3H|WnIRe?wzbyKP zKZWJH6&SyU;CD0A-ce63epvKs!Sh1nS*as{f!D~;>&O<=o)Dy;9&4va*d*tjj^AC~beX!?_; z$h82~IssH0B4%Of@L!c}BeoKOUq>We63ID27FtSw%cuKW zl{68eQl|z#4G@4*)a?9HyeA;z!lV6Utr)+ge8ZtqeSQOFgDDyTp zU@&~@5*G$4EW-m|S9_(zDJpU~y8Hnx)rrIjyk#10o$KePpn(DRhz{ z5%VbGs}xmkQNBrc(p0$`K)*GBei;A|um6%(M9K;=+(eGj+c_x?oCF(IoD~xuum%(5 z?HkqZ;s)Dgj?fNZibW0{Fl9!&Mt+x{h2D zpM4tHx?zAS3ovsV(zIB%@~@#q?^V>h#IZh z+|n#0Oq^BRd{LrDw{}%Lv3V92VP~15cBJ(2cU-&fkw8(P( z%2b3TW50HS(Ay6mQ4TR3KpX*pw6FpIDFy&?^B<7o%3Qhllm|af2bN8d&UP-RmJR+N z03szwv%^`)?5O?ltD6wA0#>Z>X?l5!bB9JWR9J@hSGd;Qkr%yPHlSOKj9T zdjybu4b$m0$y!tfxxROp$(*3wJ>i9RuVn#1BP&Z+cnA)F#^Qfyu(OP0t^eZtlM;kY z9T8)pt0sD`F$GVT(fAowBIPTQ!NpN!iVdi)5>|lfD$FKvRw>E*vvxHi5qf_Nev4ja z%>#&WrSs7KI$h>%qW+B8)6gmT>#kG$vqPG;<9tosr;ToJ=HqI)#(2hE=Pk(qe`P>j zr%SQn3v#01es-B3p)_d%MGH_84*(ev0#FivAN*GmN0X4KnM*fjw>bds>}js*ReiQ{XyijN|h<;)jW z&geo~D{vKZkC%w`Yt#srS!tz2vH|%A;lKRT7VhRJv+x>c{j}ZK3qP=|q^UO)b_kg% z@(FZ8SlAnJFRCmsv%)!yE*B-zeECC!AXXaiE(*ZAn21?;Cpi9voZL~W(=5|=rJrf4 z4YWLs0bA9w91~MRz)esI+r}oB=xkAERiO4PQmC!OQwX5!%yL(eDpzAvlUrYd0!xWW zBn~Bd0s=3(*no8jv5K}@QkV=T3U07?K!?08hUOdsJOOidg}=f?MKVN{UJZ7B7ZSuN zDvn?T|HiFF1(oYAnau_3WfgB{Z;pYQ(HmN4PE-$<; z`j*yw{!n=v?@LSXM?fq(R)d*AqZfgFx9jQ+YV{3V)iAX8e|CFVSpLs$4-4D>f465X z7qF&e96jR22ZpX_y0YR1^X5qAh$e$`%F43GE+HzbD3-(;2q0JEm)aPkNe@#PaW;b~{5rsG?wf5~ZDguR0h zXC@2J1NFd8&$Y)Pz^<+L>+SjDyzl_A-kFYzAwp1Us&%6gqJv+5pKB=~Vm17E|FvY~ z5sKRJWrLF>^BMlLvG}C(l+wXS*lMf(_T^Ue53%m(-~Qo;fqjACq<=l1MeTl!B0v{4 zEL}s1NX+aR?d6|&PckYjN*=Zf3x&-}42I^lS05Z6L`?*&EkTS$LByvcm{oBRq?{j& zh0SF7reg%?i3e-z2m=H1ifYiGR$aZ|6kCJdS8a%-(5B5z4nx9-S;gfKcW?jKNEIOZ(*+-m z*mF?AmF{gckJD@leX4FmCTiU*K`gMx&&+`m{c$!V-p4cW&X-rF4SpWMqrs(|7-oR#2 zV69jYI_4tM(n>~ciP0+^7Z6PsZMGw+$!SYkcW2V(l8|4g=16S_rv~s>4&aXoIg1}z z>7QpOx6X8K9wOZzAa&1=Ann0L_VytwnsSs2nb`-?_+)p*K&%;_6&!mtNwF|{Y|A{O zF+FYvc)f*~g`(X*(>x-J*~xuHs9d?reErNjs|<+35i%1lQtgL;_|A%n)U)M7jpzI^`Jwh4gE_$1W~N_ROloSl8Tx|v ztuqyT##k{{a8;_pDgRT56an3xa4y}45v^BbM}i@s1SD+wh&KA4xAkL*h-i1kDZyD? z{>Qg9_Aq=)gag_mogu6oz}I4yrKL(DX7P=A{O4#?9_F7XQ5<6xaI0^jC!VbmnTD8? zB*{-^O=*&(Hl)SQlF~vY6|wlnJ-~JX{Q9ssXru@mybrhx{13m~U^{0R*Qd>jyL4`8 zj%V)F25|}iNm&4rCXurE$Graq+2reBocs^gne(%4uG-${X$R(Cc&X{N^sK23Wq`+X zvH_0+dNlmuKL0%)zUoBbg>&3`MDp+*?>-CO3_O(I_Opx%;$0KW<4dV;F z6RgmeH?G6h_P#OUL0Ikna)~@=?x#3lynCBNDB%AHu})Mh8O!~3In}!MDprv}P@sWz z;rrLFeBPO3?!Y(~nsbd<(LFrpPL8@6n~(Kvn^(A99;aZeLZtQ`wv)+jub=#k z2)}C7v^Fu#+!1$Qz~!&Z>8?%6`=FUf?Px9SZR$>lTsxUXxqgg&K*0KCXeb@Xnmv!| z{p04<2HMcNay@%`dEPa&O);F7Y+c6r7Gs&fm0-M0SXdo` zf{U<8C>k4H0h}RhK^Yb+Bk}--2O2O^?v?pP@CPzO{JAcfx5M7X5VCyhS%FC7e|d`- zex52>!k})39_6&fGa`+b4rLr2SI*O&)0g-*2L`ZhpPmTd-38Ir6#|7#UQ$>8v+h8} zs7@sX46?I~Lh;|YJj>snM;=*_1bvyKWN%nrjk8k@R+28n3E0^6m`bL~9{~~G1qh-SWhN~)|0r)CIm+oG9TCkNyW=hefe6PV0id^G|Mb^*_7mbG+mer z;y<5PQK1gA3!< zwlWvP!2-kGr*Ao5-bc<=?OzHYfHGIZ?;ixo`FdV%^<+M6tW@<3r1$#|{AI2G)ZJ*{ z*jZ`LFX+#~1&)6{Yzo8W*89VTdiK0xVReIJMepg!A66BVIoeNUZRg8%9f|+hr0r>4 zqps)NF(7Ey(;u4^XxF{qZ2e6f@KVs-dD!4JI556j(7C*GE&tgx9y*4K$MG5FE5nlW zvwXj{-FdF+f)K%R9DPK?-;+-O?>+O$x=lB9*6En=aB?5c5|I+t&lY|k#Do_;a=#xp z_m|V-j)Qv`{{VKtF!$9ub6^W@0@Cx(v3=b^RF4k9(HSN?AGsQik+*%%bEoC+5C6|= zkBZ1nVh@q1=LK72OrK7ZO#e%bi@AE1sHQ~wJK@)3hKlazA!snMxIDZP}q{+zv&7V>LslwW#1|{Y8MugR39b{zI!U)Zd zu8%Ga;t<`KSlJtcCABlLG`X`Bfn{!UgVcVv0AX!y;pl$GrlS5FfZpuR=HmGlon2j; zhae&?rX!-Etbs#9F4n{V!P>+DEgk#ba=5r0eL~zGom~8DxUvM4`%T%*@mer>8(92Z z#nb&wSsZF?28N}J#SIE4KTBt4{QJ8sC#TW-?}qcT)aA+psiTHzsyl00{Oq=-M$EAloscI#->L{V++m9PC^)&{W1e~ zVrhE+WbBq;NJyY)pZ`w(TcG{b^VN|jC$}pfXSA+)8P^#~zoH{D<1Y?#Ml)D-X7Q+A zsfiV=S>fx@nnWKl8~=pR;B@`N`Kxp2Z~+4A{@UPLYL^ogcQk7dUr|9EHTiGYMQ?x*^TN%9K$qjo$=x~q~vyj zp{`#mddX^$(A4T@1nX8sy+k%EB6TOnvF}e^NazpLR#;Ebh&oFHB?6;BtnxR@@1;V} zUw*07ncEOns|+dHB_;g6-N&9~P`8S&36IzB8U$qZCRp6G%6~p}M%VTu+ifldv(Lr0 zxzs!@mC0ed2NtB*)ykM$6j58tx^|zPHKf|hb|16>JDSFa(RkzJF(X}UH)#FZJCHq2qXq8pBC)#s?%*~z23o}pg(jv@yg7l#P6&ULayvRQfe6rJ?(vQUxd~NRgEPVeC-uS*i?s< zoX=TS0c6|)a13S|DYda!ke@}{=GPdcj{LD!GsV=+bsqNWWiHs8E&ntz>5=chKXLva9M z!sUz;b7niQ|6cJMiObJoYRg*r;Y+@)G{hYtt2;Eb+e$x2`TSZhFIOvb$5D=4ko%ji za5aq9NJTE*Yli>o09I|RB|H0!y%$DA_LRw&ndrt|6Zyx?qJqCOZ_kChK1$@xcDO^8 zY|v%WXJ-R_KYK-i+h_)O&qVjdBI@{SVV)%;X_DPQ3quQfH7}~I9PSly5KG_;++;tM z%JeLBU`i4O>>=ljS~kdLSb@^-kebjfgU~;=%l&ueYO};mRtE?98&1b2&l%U~g%UCuGJo2XeFFdiCeVoS(zUY<3{Znydg# zJM6P_|HPhz5AI#pA1X|abGPLJiz#zR$_@*8?8HRhJ$PlZxPYyEVZlh9a1V(1^IC;` z1+y{-8k!siS!vhh-f%{e!-EtN3*1BO*Fk*m+Q7Vlo4+xd=pnKO1A7-l`zOJRF|}m3 ze-p)o?CRL%c$RXzJJZ&psGY?yp?}~J>?Nk+`Sa{;gM*dl_W{{Y%P(^&@*GA0{b`$y zz?b?xlF9V&EIOeeZ07aAoYt!?1)Y9%yI|P|N@DwrK#!VAwKbx&^}`<)!Ni5* zUk#+5wbop3Y)9O`4fDqO5_(uvrb9B|3a*_;d12oV7KVmTZn+Zo-v z(9}vJU0IO)aZTSB9p?uCV};A%B$hh{ES9C5T`Gfo?)$$ zauQC4J#j;R0^(pSF4OqT25(`&i{P)D{cE@ALh5@?R;NUn(dKuR!rj2z-ZWDq(Xg2+ z1a2`vOOzCUo2h@@-R=NwW?Bv_(fR6e6GPeRiK(TVar+|5fYPxIJ9O#G*#A1?Z~6B0 zN%TkV4qV3RP(G^uPm&N6o8B;1RgL{UQy1P-m-S@I3b~+%d_F5XN98&G+%;H}+#GfvV8rBi+`w$R+9ym># z`dne(RC>K_-s4S2F*~m_t*d#tR|ge@YendOk{l?+@r0ZN+)*#%sDT@Zw)y;SiJq5k zDp1S3Y;hf0IwCu0B# zGGHG%qs^4|dc2k}5o|Oep`VdO-@>_lqLJ9XOY4t6(REEtGhrXLdqK%#eMBcxQ$Ejb z2lo98Iln{|@!VB|1^gPYx*^(nB(@~b7VD^5Hqj9;5}-HZR*I-s{JEK7p`(!jzj!q# z4C$BSM6SLFl5OJflhOZDWE~%F)27f{XPvce_fVh9eq>`{Q|Ju*wJ!2>+ET-yBob1U z(;n(DI+VuMm@v}=vf-hnB!MS}rn9YA%=px&Q3AI< zjEH86AySpLTVKe6db23OIninJa%Fb(IUzY@h9$09@587&sP#R^8GU0o%o?3K6=rU} zM}t<^*hbw+=BW$$j_WAFzJWi+_0EYn2Qy6rfDTlpp?*(ul`EJU>J2wQGFV5I+&4q> zb90~fzo{JPa z1koD@&;FtZXX_*pdOfkX`aH_enwq{8AxN%J-s=;@nLp#NfS)$eSG=*Q_hKWhV$M{G z1{N;n%$Bg#{wt+}Q=?LnQrPcC_+mEW)znqXP!kZ)TcU?JWy$y#B;X+lJND*xM0Xh< z!pJ)BR?zPo)IIAkMA}R8m{#;sN}Ws9nW6=V7L8U2g`tNaQ@?QjAs!B{FY_X{@nK#c zb5MD}q|(84a7cZEH4*c&Z<*W%;pbPFqNW+eIFXTrpBEJnF*idCLAm;T{6!Q7_eZ|# zGoL;F!AM#IjU>}O(_(2wEcuuyZA8oF&3bBPejlkLQ}w3d!zi zL3uP%F9U~;_h17_QU!sP+nZQhxc5)AH-p*ByRao-p9qlDLV)W`{S!zW6wZ#=nqhfl ziK&_x*v!#3hOA9x^{QED?3YtZSdzub2sBs5R_T@=;~h)I-S$ldF&{x+;l^mVQXgno zse+Fe7(5A%>!04qp5E0BH$UyX0%*Yv6BoqDTYbO!C+yNwOh@y;!Ox;wXH01yn}eKE z_oeLj9W@DV6$}zP*E>C7A7i^DZ3u-f_qXn5tE?C1Ym0rcLG-U$?YaD913v%B=nLfa zGqw#;?z5|M3$1fC_Mv3G$}xnTIY+YqDf?KayUy)8zV^-Vx!*Xhi{1Ey2xy90sxS;! z`c3B;D&_U1c**xSiAcJQvYH(<0|L?}^ht8I6SHV-ouP~K+$_dMUVD=ceVtXW905+V zbKBBCp8xLKt+aaQ4SfdipKxt!xq#&MHBDYeIXvNbtI{O{el}lmrrLZoqd2P6X>GCg znshKb>45NQ97;>ac8AKTp6Q__H7iH1=M-*`GeOO@^b@(dvn^kKFpOZ_frUx&2F#Kx zBc<|AZf_aYP!@V)Lo>5tkLrLbZw6=}6;F_3Fnh%yT$~3*ala*baN;OQi@UTWqSezT ze#S5C;MnHuky=b~ZiX!yuz}uNFfi@W?qT9yIecZzzw{b_9v=g@!A57gcIjIau*h2d zg(s;T0nwk0b?DE(k#UprGnq$+nckga>@CU7?(lKpXiXef@6pbdZ+~}(Q&-vuMul4z zhc#1Dni>eqaOmHsgM-UJ1lJ+z_gCkl2!td`C{G>=3cHL49St2nF_`gC-XIY ze@VKr#}h}MGmYhguM;v_($&!1fY8K;tAQTD_K&&ePVq50edV}!~Agk%h7s0D5EDEx;WZt zV~$$xXxSKTV2r$ADr>9T`%>oudRAU%E{|4hq%u?*T;;3lwO&SkR(Y)> zhffMRxvjx4k&!?wi7yIvsc|dK84+P80lTSgMT`NspPict>kQ9_3x{xw_Mx%!HoaL`>~;!vm^4#5C?9OrDfFuG z7>XKkK(q@&sz|$nOA@+4(LM`=rIA08n53AK-?Z9=#s~NIu21Ic=Pc4k{tTa5j!|HZ zHANF4G4?L|M5s^cM^E8XUlE(#sArVr@%?P(fk`?lP-a|=ij$d?_d!a+3@GAMt^*VM zT0q_xQ`SCA;E}(t7KX=_-#)^y zZ(TPa&7Be#a$eY~;w1XTgu2qLjyG!QCYH+88FBrJdz|eewBu>As0B zCI7KhWcMM^eOZaoLfGx%W#$SHV7^`qCKZDL&tn%arl+_~vF<+>?4Rms2Fc$he6!5+ zBf>?9=fMG{_KW)F^oX2i4_Tv#U`J)l5i30ZVmUaKmd!jlI|KYiLYLZNt!qeU|}Y} zM5?haE?s7yS3CN&EXI^+@^lo2mKsRb*-$8%9iHbHvGgItjmQswPoo9KIto9cD+C&J z`%kIv88}6eK)vYUC07LH1V1tKWPTqXxB=E<%@Erl2%^P( zP)1Mn*vCD|s^A)lKKkeYg}A=lg07+GdJzN($=3fo4JfvyKn@8jbCd%yuYrrpIhJTJ z0yApRm}Q_*mxdnBG;uP0^;l~RPH9m+_{dS)YHTC&xHtTIRWbedV$h7w6)fb8v%>MP zmT1KeH^uCx&iS@}jlIV@a*YP#(~t_99Fct;wfA09x>Ot9XBv2A=1TLu!u5-RnU)*+ zE5@)P7z*tQ;V7MTgY-R0$JAIo+!48dM!Lz4XQvWs-_6icLlX41DP39s$4Rh`y;pB5 zDb}x`R*2!yL)B?&*)JMyJ4=&925|U|%JM#x;WM7P~-%(@oA=|yn0+;!_&PKQS#C9=^`WD zdPRBb^SY41i{A9!R$x0fSW@SU9r|B{95-D@;QWPbvm$b&FDvzaL&P{0hVEw}c$Z|$ zk6oS*xEdV7lr{t3HU16z{^<7=HBT)2*F-k^|h@3tvD zM5D*+S&#hM76qH2NPMdA)X9G}VE!bflLv%v@yB8ltt+~vX1}=X1frI+EM?-SY+$!<6r7cyGSYZ6oq}Va{;05p+ZT+Z|{uyW8I{ODB=<$7qT~RMVLfEFJ6@ zcuvP(x331A^T}&aw4DjqIE5|3iG@y?++!I#K}FlTVW*zRox0`D)FSa9L10m5#_1~I zjvFhINhG3(Iw8PfdMzfd<6j{tN5)Kj7ANBl;h*4qw{>6SH{-_0CTGwlI!yDuuVi$0 zDT;>}msO>eZdRn2Tp<;qB6Bsn!uPy}&KXdL_$ek^)(4GahQdCX=pKlt4HtbcfQ=hM zL=O3Vy2xD0tbgNnxktcrB8S8{OE1pM{0{oBRako!K`HV+mK<2Ve(l9st}V}D3tRw} z2A5a&6P95av%i~C((VQLFaEmb_v1cbbjiNmzVhFc25i4pzwMcs?b$*M%6CxLI=sMk zbzwC3OR=tI?V48o^KPmw;A{=-TB~tU-5CsV?4fw(oBkkaN*hj6%OM`go}I3^O``6@ zT{$T|P}ZA%HF zyD=`8=5d2WkYIIoRi|t$aAhWJRbc|>6fWl9d#4NyO) z!j{-{1Fuc%BzYP_V$HQ>gXGKgap}y1D76VEpT!N+!x5)_CVZJVt?Q$mdiOC{#x8pk zwa!1x-)wCH-NGJz>~cXO^lO4UYCUg#O$Jo0S`V+ojvzj7)}DCWamWw97Lh2muzz02 zl}N~KZ0DycS3Z*c`WW?qMYC&rF`$yJn6eU5cHP&JGg89xD89|qlEzbTpgU6?l4YM{ z*Qg}M6rPJ}WRED4OFYPEz6Hj@QILkLjS!w^Fg5YAWxqI$W3sAziY74Dt@~ycn==M2 zGw_!rb^rBV8V#IUTzAB3t?9%+$m5PN8VnI0JY0-iY)T#7qZ$IlN zZ3;8VY(Hc}Way)o6-WeDh|U<}#o}NV`GgpL4+SUB0FIxiNQyK(^iEn*6Xd?!%*T@- z)y|GMhhL^dNz_~NmZgX%q>LBR#`*ZWJ=T+EVjGUW=wyTj+z-`!n|A%9th1L0xKGPH z_j~)aHY*PYGy+8h$gx#x_<0D~sL6!<2m@CnTKh_$dshNzn^+YBIlq# zfrDiUsYR9AWx&S3+VC!58>p3u&)uniC*FXiSi(Yby0_L_aU$Yukrq6|)^PHenS^q7 z@tr@WEd2h_VnuO17YwrLC~s52D>IR63c`uEp?9CatCufwnHN)aK9#xD-a6>QoET%px4<->({;*V{fd-vxD-%z;pR3< zEZgeTXyN|#c$yY5aU;MH=_tO3bxYxGF4c34_am74ar?1FC?RE)*l7@&PleRge3_>s z8Q&4^4nfZay; zlFsnaMIM3gb>VcM-Y{uFAoW)pYX!y`!UP2o^p#hnfh?soXnQw9F6Hg=eo-;ZS_vtL z73z7*G@6tSdZd{o$fIak3=&r*+S8~UsmRlU4L{A*R8CQuVKu2FSFCQMp_vNZHlLho ziYYQmAUF|p^9(;ZgTF%iVGA+H5egKZ{{Vb_@7Tqj2HW=ZG%)Hh{-lCZD;m@$%?V-WKavMaUG$dO8v$4YAzBy8hp>rbc|DQ$M8M&^+75wX5Rb zgYSkAF?tH2W$E~6Dfjai5DPv=Fa_Fy9~XD(nZcW3v$_9iDe^N}bF5dMCEyx572 z9JGPq_7MxVpLHj#*&34tYVruxo49d1AqO;2(}chsA>xBk^wRsvFv8l8s5?uz>7IKO zU+pmEs!2@x%Va68_E1`eqxy8$4LZHZerI#6H9mfSqVpzR3MVT$aGTXEhvKRSADHw) zyA9KbEPM=YW(682tgw)1(>5ul><4CX{wJtu<1=NacN9R z;+AcHXRlc00U27H)y0yM)tzdyZx>hp-D`?)MM`2{bl)H(`omg$nMeGUL-T#G5PYSY z0CNdMW3X@|AN%?{;)`g##MT^=6P;3Fp+Ij^U-(^(dU}w*v2eTeN!kQiCyA>ox=wVH zs?L_pU$3l5WaPwQHlUGJ88jc80W_jHR)3;dEn5Srf*7bG6>R-scL<^bUE%#XJZq2t zRD{xUlylsFuM6`$B-5&ur=(!BLrxP2Jc^X&i!*s`T(!gXBiu(>t6=33e_W5EQ!wwef&DMP8NNYE5)D)w#&rgHo2(9 zoXVDFkb2GQ@d#;&?W8}4NtH=oxQDG{hmV!|-Tw;vYl{CCB5UqsA6wG%g!NS)q<4l2 z09-fd(%0XPm7T$otg22r|M}cpf_qq5SzL&wujgi#731!F&1f(TzuSJYg`S{H)B%Hd z_k)ydTh|w;UeUfGq3hhP@urV&m@gf@1f34GUq2s%hJtLQjo0RQa;U-c>EW>nDz=2i z1Uv98W-u;hm`9yEW}gZC2ZgQAnzDZWmEexo`+f96l-H~!-XXGIoPV_^zwQsHUCLr| zG{j2@ivSYJzlXRb(F~jwXi6FAww06hG{V&>!|c_G64dP>H7bGPcJA}*7mLym@qqbq%0lO$Id{{>w|pN@&8J*=AKe!>b` z^_86zM>uTWG{tYVbLz75UhZk3Nw)99Ym#S|!ywP4;x?Z!c6#{=POBXFsFNoOVM4Db z8g`^Z1ct!SMYlA*6Ac@nlRuuJ!{|F(7i~nGo?hI1j^dh(jRF-QIv)HiZvCrLA+@Zf zQ2i4NJ|x;H0a3<9K!wJ)hjMhIw{>p3SYwln4yVUaMl4L=L3wMomjQ0SU7Qqub$)!k z@vqJWq8gEbRkt5YHLsB#K?qecaoRK42Rk3s7*u~-@zP@K5SK`|K|Pu*RnJ7%vsK6L zUGey$8fZ&TO{@5Pkro59^J-`EA3Lejk_>A^zL6Tk=mBJ^hrC1_$WP+&)kaBkdJ;1( zQ|q;_p62)_HD_&_MP>FS*$CAnvI*tECcMj@5)kSN5;oA|Q?nF&spHK@q?YAx$b zuZ}f!Z-Q#`Y<3^kDr2+6+|38hMwsKYb~sY63|L4+`#@G}ld_m(meJZT46`>rOWnDo zIrOz~B%ajiKZQ_Yb;ib6 z-D0-|uJ5fv1#r6R2;Ex}NuYT;sVfY!iaPLeV3y&!%CH|Esa+ZfA)mNhsc3II(#r7Q zq{*(KOsYMLnQ}dDVE3jD%u1gKhvBABcqFJKMm;eCN<7DHD|yE^sK!{o;?Gs9CZ!JO zoZ~LQ2x_-B!uPj`l9DATTarbYzM?-ABH*uJFa^tHvcuE?cU_&!`_K0DBTK=QKW6}s z`K}Mm)v~l*9)J!PV~$gSLM)9lkwXpKy{=`?A?2Bs(9C2NG{Oq#Y6p8j7_5RdU90UF z6*+&_%?0;j;%GpzHY!GD)fr(T>OdAQqQ`OauSg`-zS7506EnXgz(n^GDA!9_#W^`n zFCmnzFHA}4UjTxocgU~VmMeExP+BVGOQW~K%R1`@A>78cJ`RLLflaN3v%iBuZ%%5n z9D%qQijwTWCM6lvh0zc^EsY%aI;T4%?#gRcRq`~>n|0+3=1(K;ggokkB#p^DgsaZs zUw6{=KmGLaDKZZA=%pg~az`-)VAA?|8zNr6iwRR_?Gl7mO;O)rG&^-Ldp}zB zf92hUY`zD&I{(UJ6_UhCNQaoM8?$9pbTCzV9n3?RpwI4tzn-EYtB{M0Iy5hGsMp)F zeU@1h^NJnJH|ad;(h7aO2o=p6K#U22djjQs{UIvWd`{=~qTRigt$qu%Vb>{|a1@_{ zUmWD;5o5S%zs7#XFgNXeSK?5C;`4DG%X9xaSQkPC4Vokh>Xg&8Gw@5VAgHm-bxnNp ziX~Tkg`UU}UT;lsztBPS)M_lvU{%?~TB~@77As#T(ua>An40aF<(inU@pAaOO8M!k zb?ok0m#s8Da2s=bgWE;7=~pxLx~D_{#3MSn1?-jc5SAE{Dy~5{yW<{mUCM97RWE7g z*YLnL+qUC@LxTB1Tu6-GXpjh^_%JN+cPb9l;aiPaUJxm4xSyS-aL&?p?_-C4*M)b- zX$uiHUgME)-^+3pCF@5Y_G2(>&RCVI5{kia8K1|&5cz8-@RnXmby_3!t@74EBB1)^ zYpu?NYHs1=UH8((w7Y{#wAkW{Tr#M7I8)U$St#i6fi4GDQg3M(cQ~I4x_6EGGqM@> zV#8|>Vzu0!`i90XUpS-qxb)c-Rx)=vg3CuC5=uPb!6Caj!crndiAXObRZ#&}p`Uow zQ398Qza)Ai25o&-8|E!e ze=hM+I@j%Mnyf-v!)VH8N&&&P|4w0T%Y2gCDU{z&G6DsCk{F+V)8E@dF(H-9zNK;s z-;=TgPP0T0>7W@|vCxJoZ&{sUo9N@`jssdv8U+sH%s9r>70ou#wb!DARd3M&M4) zp77Onkoc8)1RUth!Gu>lC{y3u>X7lBt zTp_;kwia$A5E{aOa~`G`B;e>jXv^^sFz`~UCN?{3-3YYNO1w?*LXlc_YH$I(n;jx-O0pB;CwZ{Tt`BWf z-&PUWCGwH|oDl3=u3)|`S`YWZ@ttRM5c601DJh!s>!&R2PdSmy>DC{fP%>cgV!XR+_&xlWAA zcE;APt8Dc!L}_V0=F+(v3u3J%+z(wfnQ=VZeQwD3B`emZ!nY48Na9TMDPf5ef{~%*U#}gHE$XTu7o9TSz+EpJJR^RF2!Q zqG&^2-OyK1IP;6@cLVz$AG@jJ8n%L>_kPZjR|RnWv-G%~fH_Bte~AqkuHYTa62#g=~_KN(>Rg(5mqk9_kZGLosryjkof-8ixP( z5N1n-G7fkHmGm#Dt;8~ht`>(GyIAm!t>_%_C2B}p)n9BXaPXk7Cs6gljR!Y~UntA| z?UkJ6zjE|s)oKE6i3^ij?sirCPwl+g@J~n%5zD^a7o_0Wp&0D_>or3qos=D1uVrOQBV=E8fk+DDGlBa&v#Ta?nM)t|CHoJi7SeyeGjW&eA?* zSkOfM(-cFU^O6uufPCl>IAtikyjP=Iio>vwoV^k%7lOUTi8H3w_Y5~$Dt^8XM$dCV zXp_=2?<{$S!Yb0hqH5( zl{@mlH5qig5cDzV!*RQf#~S7^E|@w49)VnFB-;658%>S*;P6j zp;CtEXl{1mq?ciW?Nrw9Y`IPFO&Xwmx6i=b+(ZNl3^II(6btSr5*rEaI~4y@egE(# zfzn2DqDA#n%E`vc=xg*S$gFQr))%lEAqe)6HQM=ojSp;;u6={Ft+)_hhvnbhWCEhN zs)Dw@ov{{ctlSMR%N#Cdq`sVj0d|OV>~s2cKXf)d~S!9!CfQy4M|>&ziNI+hN$)viC$klwKr+phN`4hPp==6s6G&cYTT6cUOC zR-q6={gOG>iNy8sq7Sf+Q<8B@q=2n~5NAU3tZY2vI{=*(UvXitN0OjF@NJJcV%|WI zX!=uLGwm!2QOV{Pm#F76CTxFx1$*crSlzvh&T~_#wM}0RMc11f@I+M!G4#j*A0hZl zI=oqxxjg$3)92x)4nO8SEJgfEbFI$cxAM1pHu5S>6>Xn$qBq|$0y@)OuWvcIjhFut zk&j(*N~ykpt0SNRYs{j!?js^>(=YM3&P(WGI19E>AaRWR{PIt`klQA0jjVb5<}%y zf*UjlRlw=aSVCzB&|U$ZbUy0Fietu#$^CA3&HL2nN$M#=8V)CugWU1%Z#KUlDugdy z+lu9P6hm}L)o9QY;|HCcr+b|V(%o)$Q@4ou~K6YxG(&qri& zUAAq7NDP0y9HjHpqPsJ@d5}fXLXTs_wS-cFPPpDfc6sF#t`jP_;WKn^VB*_IRfWo! zUp>q$)oKfzA@&5{&59p*)Wf(X*t#9I=apMaxV_hCHyV=$s?TI4K5WyO7^bh8ur855 zQKwr=?12*|!t6$Q2E1alFEL`x87=NGl>#ZAir<|RR%Poybyu)>OGv}`jCbKEr$ zsz@O8B9Z&a1;e@bb=fF{k6>0Cg>K}aPlOLQa!I+xjvpgJo4&|Ndut`y1mjOph|M_% zF?rC33)xXwe0;u5k}yi!Wc}(zVD**D$aZWs~_8JXq+P zbUv)k`W(94xxabGAVkVD&2qAn zeIA6Rdp#_dVIShHMCDI00jd#T#KYu zUh0vQPpCU2xu0dHKe*A=zQ;(eLT7&3kVWsk#*_nr2WChNbhdpYd~aN6QKJ5rnZ5Qe zaM!!?Z>F~G>MHA28V=7-R;h;gEO%K8=J9}79cJz>AHuMkYlqZ#Id)rxg~x;<3qQ%3 z#GK~b2SVzT4L>&bh60q`|anD?XzY~-CMyRy5$vcqH(#zth)LhwFrt!3hMF-to z;u4Ey2AQlPG}LDUML6kcOHbfd1)jfqc|IFr7E8VHSnM1W<)(M;tae zA?GwXB6E(hjz%LFA%==7u;O7qbnHSnZs5!PWJs4wKUWO6uZq@9@U*Eu=Fi;P(UY># ziLO%m7tocu>OmP_uP^)vTFXE@h<_ERB~Y+}TL6A2&eoortK(Z|Wv}=oMkgSUfF5Oe zy?hYo#hq+(mzLW8^sI6ucH)wAu5!;gf>SPsR)j_jVsp*FB$gg@F~qY_W!Qb3QNJ3H zw+Xci-LSAs=h&TJtSIa0huS%c4e;%-p}pl%_^ufI`V1>9{)T7@DPlZG#dKr&|fv10=WA z#4)yVo-1($n-)MkcQti{Z0|_4=GYv=cx3g<lc(61j;QBG?UJ zj#`vt1m9g{s70QB?hJhpcfmIKG^A_<)D)a?MtfF!z13!s3K*jm^QrE(o;;^8WF1&h zaLpLz&A%DvQ5xPBxw45b(|0GHvx0&v74&XAXU5{4`@m%gOUA)mcfmbZ<>Xz(jWA@!Iw?KOkZ*{&M}a2tJe+HW~}#l@f8 zEexC=E)~}rLm|k7*Px{QkbV3^t&y(e7wK!IOZV;XhTn`Y4aQ^kA3G0hWF!LiADjpg zaR&~>wy~0x`@ip3dhpf;0#PFYID*jHd!uJi4O7}t4ceA$_F`J7!la8r8c8{@egg-?p@uTD z(1vmalS9*Bof<;dIfpu?#)SJ%UNMHhYMfNjLgsATUFr{ei{6fH$4!GG-OOP1*w9;n zym%fU^^i|3N~=_c#}4XCf7WUl=&+XXHd-~GB)1)d)uo~X_VjYfKDhqw3rE%l8(Jqo zRf3pSVVcA2Fww zuU}zSU9<7&WpYXL4A_udX-=>{XaQ|=zg!WE$+hJ*{u#j`OS?T7Izr^IrvmG((2q(Z4w8=ejs@)G&1207|atY<_V5_b(nK}al zguo^#T*l6u3e4L<7w-;j??Xkm@89V>3f^aznZ~DBmpBD0hNZrCD6ATZNTWS#Ez=;>P&K<2K3!z56PU3XE>pH}>dL2B3`0~t>EZR<0aQh+bC&-RZ8=%|P$H)nX0bY{wT z4vtCRmBPkaUjaR^`jincd$A3NiS6%ZweAFw%ZVSajUW~Oisi>C)~?E7~lPAYQQ^}NOZWO%;<*5_QD?gj->?FITf zX&{{(pTzTL4Y7Ya;TaeE?h*Zs{?;5pI(Vo++B$7GxK|uEJim2==)fbhL|_SeiyfiG zr*`H#9{VWxaWez|{&LajWZfQ(HJ&r1>8pO( zitc7NwS6bTPvF#qsK_1nJ1zh2lo`~i3Bps$UcD4#EHkR3jsFn6$Qq4`-aQ2?CQVjn zm)%o{J67Rxki)6;=xU(2`858s7lhnU$6cFKRNKNxt}gPzyHrX%Bzacjv$YQW=Tojs zYRDpBMYmzEP@jSh|A>$%!9*e;NPd}7MDc*N@Qx2xu_OtRQLG>Rn4;^A+(PdGX3eH^ zU)g!UDV2xb>v5u_^u+UBHwJbY`i;>OHyZ)>87cl+514>7$p)n`QbebnHkuuukP^{$ zkr|2)rRK#HEcq%lM7q(cof6> zBT<&1GCccKv)&ubT^1Rq?%z;AZq4J?%W-son3$q#nki4uLrfb|t3moRI+%t!acg8r z?DW-{y=w`Ns1V%C)#`Mm5(;F^w|)4}+ySmQI9sFy%Gb{3ol^M!QSB&Gw-+sg z+d^hPKD|*MHRA^IquB1Px`lfAl&H-)sgs7$mB9v&N}4MXoY5c$k&nO?1H3YrSf|)(-7A#54cfeNS-~>~accJ&MLn(O9fQgJQ;N=;iQsb7 z0eX@|*}*D#9Pc`oFboYpWz8*^g`M(@D=E*55|s z?-sf{+Kll&WHbpgJ7A%-%|OHjL?=UWWnMJ#oa|=KOepsvNKvzeJlvFJh~PqSTw9F; zSE1vk#iO{pk=PVDaZE7H0av1`8mXOslc5v3wgE{;0Z0DcgmzRsiDnn58P8lAbrmJ; z)g({;dflncOywy)c;{EK-ZkHNIH|42VcnBFlofBH8i08*O8*Wk3o z!Lpzc+Xoc(Rq~K@7dvRg&r!0WGJ&2ZXL>|a<`%7i!Tg+L@MS@Tv3Vj~7`Vmn^iFR?LlKCbWEj#Z=JRs;heULKEk z6p#)GkZM_N&JQ~1#5aRPs~z{7?i2s3|U0hSO35=@k*Kt zHv<;bY)x+wJ^)m(iJu$xhDHn+Sjcdu;ZvJ0%ZG<)r`}ion%#%4mo_X~*>%`w;((`y zq%3-{;<2Yqn%GhGXs!lP3mc8;K-x(u=ui!oVR6H@6-LFKrY8#Ao|lC>_8)t%M$X-8TWwr!e1pMlHrARe$JJ`fjazKI<<|R_<2={lTHUMVPc~Y^ zdFpXm^+F@1L<#PV?kbOvkeZkp846!OMp`yAIWPcZU}z*>P=ewPgw>_Nxh{>-1@Hl& zCBPhjg#cn;3f$1x&_JXBG>j{dC#Qy%MhAeUyy*`PnAJLJrsk$52OtZs4bD!jEFBP# zot+(#-AtXFT#c~AFKQ(~&_99%!O+$O3N)OW;y+F$1#D4*$_lV3;9Zd1NGq_hGQ2v8 zLSSzS)#47e2sDkG1JL^C2v7$1YNqygcs%`V5ABt&^^t6@=7=B^H&g9Muzv76$iNg$Un9E?w>aCSMz6@%kyi@NZ8N>G+iU3 z3qU3SP3;YG>VH9IZGQ`}|0%ydjrzQ|%pa2TcK}}SAug;HfI0t--%?#$Thxe)AV7R; z0Pf@p$OVXkGaVrJ3cv{d9}-^@4n4mMWAUor(wLiCd-g~F`$u4+8}qjyyu5pe532c# z+~kzj^azkeson8S+|ki^!>{ziT?hI-_wil5;9vD;3HpAfGlO$&%ljukc;e?zrSZ`YFzzyJ?~%n?OqO0^S7qX;O6+> z6X#6~Kh}~Ozc1fwi+_C-jEvy$_F`;mcmTxQ)aU`J(aEs=Q<| z1nsKiQx} zsGBjS62GO9_fNC>5e?l1wk6b3KEhMqO#t(L8FIU~J&xS77g*X1J-F);KV6OYfwb-= z#Co-EY4d>@oocMqgV^x48I1CZb+7sc4Ez+xs+O%%yfSUR)+kLPLp+=ZcajB?V1`uS zIYu-;y+6z@yuUWnd9!9_GTzdm*m;`r&b{?@7>HZ>zB4LOeKd(Su_|}Fiv!>~V zkp1(?FmV=-{3YIG^@&MzE655vUt~fPo1=_QB{U^oZdU$2@PwLgG3~8mu&^6f5nQAp z4$UHrzD2lsKQPt^)F0Wn&3gk}Z@YBfsN(i0fx3f_Rl;$h!7h9wHCGo;*}ogx0`R3Y zevBaA@KYRZsj;dR+cmwPZKeu+E8Hq%l?JOralk2o3qRdZxhctJWEGr6B|&g7gQd~n zx0+14IE$f<5xW~7Vc=lD8k`y0Auwy?oOojFO|Jw3RXse8W2j{3UA+gck>jSg9{RH_ z{LpN-O%vLN8id*JU(}=L<_CEs<}lAW=3Y(pF1r7%l~|lxXFe~Z!MZyMLQ3z(#KI*O zl*v8k-BHelKe9dWB(fc~!EY;i?)|Fmi@H5{2dT#}iyxYC7m6hnb5Bo2$Q03OthYd; zN;$USqJ!D!DZgKZ)lVHYMfAhU(|tDzBOAUej%Y^oj;XRfPhv=o`l4ktaCdn z(^CBS_Ec~$f^lt-{kFXtY)eXx&8iYN?S3Y<``f;7C5b2=x^nAm;&7UWD~)dT>e%)> z>i#{&Hmb&aWw-vUjt+l(-zBT(2UMRn*X>u54*XkZ@cpO@mP-md%7%%ayV43#Gf$(m zP1)-pp7cX0lb4>C2)A2%-BPw}|Ms`3c)vtE z!KAdqcOpMB-qbqwc`TV!2d|Vl13AQ+ads7Par^O*u@{n_Kr01VTIurje)D5kEgoc1CG!7}ahU$2MhINy%` zRpSJ9*MiadO!aNBZfT=)xO7ssZGAJFNv-boq$k1dXah1MpVOc?cHX}RF<{Ee<}zJS zlP5=PhJ}2gFB8)@uim5Q+LC@IHj*o|`kGw={$#|K?PY%df&Mz;6We)lujTfdhC{;1 zqJuM!C2I6zTaYOGH-@u@sKH}My{_x<*ht5N#&{p{z#4Z_$=OI+sPv2)DQU zH{P`t^Ol9N=CY!E0SB#i;Y9RQLZ``Rf=pm=uBxT{<=Z%W&0gHSH+VPJbcFAIHG z!r2gMG5!hNzJggQp`y+Y*?LS~{BLLDdS*iKJ=CU-{bvo+N1KujjSMHj3pyW3ut5sb ziK}&)O+s=qvxSifn%re*hp~s|O_-gj7d{34=4#Iz-rb3bYWORIhX2qi7@x)(sP zOx(MEM4Pm!Ie}FLxnPhmPOp{*oQI1?T3(2|;XLTlM< zITA`Vm4ww>WZ?;YnSy#7NoC3(xlmR2Z%Z*t`u}`=|Mf6>)Ay71{r^!O7S*HYR8U!l zB}a&Xn}u#9dLrXhSdU7`aouC=b@vvMV%hp%B1+#qDti$Y0Xd_JM}HOm_eBMatP-~v zV#*Ze^CoA+deE-$zsL7QRx->)afiRHODA#{0U&iLNrvrBqhp8Ok&Cl;-n?X#U#ScZ z0+bZ)f(&m@`fcgU9N?#*w`v4wmns|}6K_RLX&;ENl`(o?V^{{^urM7QGVj@ULveVp zvp@wSm}QSTb641tVXq1HVZImJ1fxvO#TrdKk#w^dUb7%TDBu-Z`e;2SxqdxI5t7==8j5S2`ORqI+u=sNU(70W2AJ7w^%>KZ7`o4s}%cST=(V-wvPL zD)q~Nk*zJnR4-MK**?x6;w~Qv^kQT8H*VgH+rh? za_3h~bKu(!ejKRmMV3(Ugj1LQ2Cul@^-Pw0fP;y4krZ-NgBkv8Q+jkw-zTJ1Oox zXkzWImiG&#J?h@tNqsYVbCr!|aG9*oO(zd85~7Au|w3dfr2_@H_HE=cwEByP@fH&N8(w& zjl9dOGM)TP2E}_&1xU)b3ut{hX(Mn3_C5kZk1(_Cn^V>w#!J3$d-HlyAcXz4%&ALl zIkIk@awX>;nS-~WS-2{+vOW3XH*}`aEPO;;z^2`2j~a^a(#E__iy{5=8{A)4x*wW~ zV!0i}e|j^G07O{=nNJYIe_t=bStk;Evw{>S!F@6G(NKG^-5@&RM3j80l5x@MY10~N zO*Kbl3tr0gy%i9=u5EvB7LYP0|A0k&7z%KVl}AQ3sGKKaScL6Yb1G7&s)Ae+;G7ZZ z_v^LJ^c3qGq}x1Zsz4Fj3Ao+eC-<*#aiEbWkXLUE%sf-$iAmBrf=%zx0#f3l&kIS?dN1o<^` zr%J|a_u{(@zg3CVhZ|^-hgl+jTC)}8K;$|qWY4(_dyZ{X?7EJku{B$QVVH)j+LVPa z{df_{d-f{o_bS*(LKe(QpZT7uop)2tzD5W)=)0Y_#jVP^#Aw=Xqpx=Ba6tlRX59{F z^RWJBlg$4+MJexEo1i*16OUG`q0mcsAn=3z2#9<{M4#r>a7LvJvD^i7%;I!7@p4-t zR2;k4YJtmvNyX?mI*tfgT>4NhWMA`+l9nf*WmS?GgkL-CFcQuM6(3sK8)oqaEmQsC zuYk)CFNK4{8@WD5TCZ4v7&U;R|45u1r3y-aMG5csMb!Agax#BZL~}Wk&xWpi7CMd+ zyY3I)jd6@i=vvbQN%#q1nWKV&ErR|~FX^YC|4CjP&caMy&H1mj)WGlMEmbvoh&{ro zjj%kjF$bLeFD^DLoDuB>d|31*N1`_ku}%qf>~(Y2)}gi;p3DJmh`5u{!^OZEPmf z;`#+6^>Wsd^;=r0hJz>>;CB#FU4AMuScf92ZVc4xy1^tFdG5tg zD_-*lUEnCYJ#|<(t0bC!8=$(j$w~8-HhgE~)P1nK&nV|I-!{iCso}__g!>{;7IdB? zJn&$N$Z~=((fgQp^fogX zO~kWzzr~zD`{I_@2`tK1J?1o5g6qnRJLJo-5pg6E;GnR|;XM{ulQtT_8Y@#^RpV5= zxqcsxk@fjkm7wf!zfJSL-xxD!tY2Z3R8JA_=I9X=qFxR+n-;i{Cmg_k5b+fiO}QaG zlTk;yOVt^`Y#EbyvCNz37C_h3vQ%1K$#JLN^}~@YxELhoor}|#cGkU>Z$z9fE=6H= z`{_(>3g!#|x0lI&XaG%Ry$1l`uo`{6a-x3c->w1*GkPC$g4lx=NtJXJqTfOgLgv#! zB&H4SL#O@0aEl*Gi3Bp3u&r)?eABF_D#VUUs=#>{M#zA=?V%V-Gw$pl_`y0)1%H<8 z-4X?XfTrCz3*ni}xBEg$B_T+8r6iO=CQMA#MUgRNIPKou8~|#eQxQKzWqW%H4i^)7 zp0r+w{~j1C`@}`ulb9FDY|+7Fa~dFS~tU_aIDaesrBjT_UeB?!_b_J z0Y0i9U&Jw}2P(7zPqk!pcLKc@Nr1F*4dpGoq;dVA$Bij`IK?O9=DDeU^1oaz44z5o z6a4Kz7-1o)yL_q0!8EU_o4UW0m(1pZOt+j{W&y(7dZ=GJ;-~U0=H5UyLes2#MNbkB zY#>|Tt$=?byh$iJ(VIVn4g7~OU}q1X5mdtkQ?F`fw0csp`3@a@f+bD3Mnk^xsYe(=tgC(YOt)m+w#A0}J6i#jobr zyVbkhuLNYKk4)iAR9vRUc@@KlN83O-*$`r*o92A;jrhV9|)-W(ifyAwI zsUsSRmQ=yq*YY;z86zA#p2pY7Jntypa@PH#ZalOav5XR<8}BOwH!*yx%Lj^Xc?Z7! z)27fV;D#TF`nMwo47(j8X~wt>GL;If_xvhA z0?&1=The3J)K5;JLyNrJntCR${UohYF<=bw4p= zWw&L%4qnuWrI#|9l;&NKToy^>HHv*M&9IJO-;e%K&fi=DOPtEx4*CH<#X<;AGdDTn zQr3$@BR+#6Xvov;8rk!qK_J%Nwq~E*Y%Hp(Vjdcvf!TOp3@3kMwvUu*s~y z7N})+0gGwpN2DsN0pT79>#I`;0ruBR&_SD*<1?K0GV|}~%(gB(L{GwWPeGmqAK-bl zt1VU|JbQREQdnlH2PlMXL< zM*n%Agz@tp4^YSu8~e)Y^-AF9^^QLAg^u`*bdtK>Vr%iF{7VVPEr%e3i3BMo%hNl0 zFIs-7N@iv-e5tVbrfkw1;zIEQZC1JeJCm9^^Z2{7E35>iC}NS!fwpX{8=sWY!v!`P z6r#RmtIJz&*F*>AT|fWMOeR-J_|2^xP_uG6rM7E0a&BPOu(X_bW0(}#2{UJ5KsrI#b)xjD+U}YEfyCMRrhb2a#I|s0 z7ouK!#nYj`Qve9ymR zoIip7cYd*zUrqa4e;s<0+ld4!w*L=K{YUVjjZ2SVCE=$5|+)X0E2Kr7jik$W=TJweHgcDV*Q@f4{@ek!kJ3BsC_A6qG5J7!Q zo6!Vd4buR~He~J`pKdW4z>ry+{#?u^WnrTf;NvyG1rFa14d1SDL`V40b6bo1fE9@Z zm(!Xe(Krl~v1?>tdmZdk_nzgdRW)}m>&fIo=R3mLmi?rmJwRjdtvkI6B#XiHD~<5I zWb@h8-Yb%;=?5i&GaC>-`l|n3Aa_W>C5e!;3}tJQsk_ou7HcOJuFmcC8j#c!$($%54R&5ZCW1R{10QwW{6zc*E znO5&0p`i(fqDkdXIsxC`_s1F{!^U6Ohqj~a2?IXToZfTD`u1`~nKY=~cpSSL&U5-@ z`i7Ka_TO6>5Lellc^xz-x_m2T2c0@C@oWlY*cmo;nQcR;!`iHJOv&%SL&IBj6h>AV zqwiKnk%wuzx5R8gpwHb2Oai2@Y2w*`Qh&ywD8)By9$UKm8Y~o!$zTqI@pigSSw8J& zUIY=QPjQ;cRU|x3C1cD~P0bpnSN^$hJ9F3$nJXJrgy(Day5doj&aaoJ+lVT$i(_t8P^a4| z>U;*q}H?I=3a)~brUaW^(Lh}mn^q*x96NYut= zxf6^^d3d{Fdwk~q)XZrsPAyMUFUgBjoT+x0Sls-w-J|z#&3I_cBURNL3y(1uUwq={ zUtY(cHA*pv2ie_+^i^o&2AUnwNaeRPpA9$5Mbfww4va1uo{Zg(!YN-1i zAYMeDgV;F*^jPyVi1!CB%$mXyo!raAaQF6bE6f-K|hisOClhMfoT z8B)92sOv~S&*}3&ip?jZ5()VX@q=?p(5=`aT6x)Lx=~+h#j%~XTpocB-(G8_1eWW@ z4MsbNdr)4=w&WkFhxe@MV}G@lBv!qI7S?-t%p7s>!jkwZSTXlb7j7NNhmfvz z+^8z&S>&!B*=R+3o{$S?SwpkNL~FY=)sQ9v|9;vd>@R*Kr9+^!jbNBD&X1vnAa0Wv z$BpIt>E;{uoG3Y-0 zQ|6DzO>%#l8?*l!Hh(o!b>kI@5<=$8-Lks}B`Z>$KV7WWOAt+3UpmP78TzXGw)WVC{>|?0D0@ z2&>%~{}S#)~j(|S58!` zHx`bj8YO-dALR;v;BUoaQmx#uhwUBNhuXD-F2tv&JCR zr^)hL#XK<~TdB&$vxO=n`87t{n-s5`e_V5yfozKB2TfD!f@ino;cfEGQ^Xx^o}6|b*}88rxF*8EGC^bOf+JL!Y2!z<#Y4Ulo-~b+(Q`7kMo|oA)zpt z5?ssd>$2Dka^$*gQ+WUCIZXNXsw{(%3W4whyE;xez!~q4itQi!Dpx(X8veF%B0Fd^ zkwv*9{5R9`e@D7TlGVjD1<-0TQDt%-fzv#%w7@0h2!C6pEH;S&Y*9GYIY|d6%q2sD zQ^86gwiM=xe{ijq{379q(IgdAd0lsu0a5HLIPJ_1;~))4OEG2k%LSL((RX$;C&~8N z#~+pM4jyq_H}y?NsX16D%37_}oJ6!OLy_az{86V@mbeIzzZZb4n|N$Ggp?T&2*AL6 z4UFh=|2h6w#4EZI^Zm&G4Y6N}YM|fzMYwbTEHiw48sg)_7uG(q^`~bn=u|;iMAY>R zRHZK;Sdz!#-idnf!)MHGl@A}&Kxu5WF-dKV?viPv$|?*P7@`@b`PzKTq#lwq2>Sdf zOq5P3W0^m;)Q+zzQ?ftddFvdKzds|WTfDgWDd-9g;5V>V4QssV;slJrwQ8lsMTGvc zIt`)ZO39lXWOs@M_vrB;SJ8_Q4JER`@Scr)6nNrlRWl32%1Fe<2b+GN0JiLdL6Gwc zcvfH_e@K0d-Yi+|KpJ>DY^qVY8>xqDlm29FO+^-H41-O1+5>k1mT)L~Rcp~q@y5LE z^=1&7F1ahUk>oMB^VRaPswkftFde>{Po=4UbtK1OL6j?RY-8&|3X`Hqs6)x2uGzi4 zay8;*U&+=$*o8n}M=+2h9-Y6-ZFa5^f_Go)qugvMtn6miKzG)}18->}1Y}!7m>6JC zE%zbODDsDP?n1Xbc!X7S-I!I93RDxVecLi>X2xC%?bEvBw`<3R@EJd@WxD2n(j3HBd-;e9fl@@zl=h8g%0 z=u43gBjU0n%NruplHD(>ZTs>!8^4sG^bSp!Vq{WRrS@3A}>-F_d z4Te|6t*ZGqal#MsU*T)$6|v(q4IgxMX+Fk^74Jp=%j4^hAlvJ{H(+SW+<=Gp_A3lH zXE~GiHBvK`p&;l%ZsC-`*9WOMKmpn;k6+4HM~g)l_`Dg;O7TX!KCt^E~8$tz(=y; zY@P9b9K`jV|6IKCDoft}xEc8fv$q6;E=zgBc6bTjanH%>kXg*lMRvz02d5Us@)(X8 z%7M(3PO3(OmkyR(Mh^E%Z$D(G_2|LZ5_-PTG5pM3R=gVW{+~dxARPfE+ z?rN&ah4}6~V0eJ#79hJRMQ-+`J)*2P@?ala&-1abDdZ2qn+kG<5Zz8V0Bc2>kC`C@ zL6nC=uucb)0Ka{=ZOpgfmxCx&NH8^HuE?gQYt@gu$eck1w#V z`*7Jg1<7GIodIQ!z%QRZLq!{W;O6gr$j2+0yqP#H4keaCi9Ieu%$n@9S+g3cn--8` zCbBJDpU@N;OZUux_4ypQlgtP4N6*HRKaw9G)zCW9n*T-ow7T4qU2Oe&Cd|d)R?3|V zd%VALC(Hcw#^W{QzE|=_?b)gZ=gv+KzZR)+YKbc-}>C;?;PF&r%Qr(?E`+a;0_ z{)6>E3iMR&(`D&?ZWGzdD++uidpY;}dHp5%CZLHb~?bz>kkQ_-=Co-1Mpj1p=)xMUxwn1X(MhD?RSDKw-Fl`s zBZ<8ySk4u-sW9%qGD}gQkxx(LL1pHn>(1?C$PU*L(mw%Xsiz0UMNX`qP*yAX4js)R2@)Uqhu*xsEDEQ`!NL1n}633 zkWO3+La}EywR~X3%4N7j>10N`^Cx~>1B1YXTFdKBT0pssGSr-LYD99#l(Dt+=*}{~ zDm3{CERCR_M<>q=!Rfd?&vFmZl^*yAlg~R8AGD)%&pU z7UMDgu+Pl{MvRnWTC&`!4+3jLrs*x_dk$X$tyMjFn$N)l_(gU3ogQ|e5AThe60%@iZb}VS(BL)+t$IDQz)7jm5MLvk1A+`Hh(hVu zXbC#!pC~cElhzjqnOIZkVEi1M)X@Y;1aTe9)aN%J1kqkxh)?PuY|mNFo*?fc1ajS) znXFWQBTol;oOTE1gm$iuR*uUQNXxlxJ97pnRy94D4mgVSUbxxUS$=QQf~2^Z$|-|b z6_HRjB*3rUyJaag-dJSqA;aiIsMu4YfDbp6lkMl#p#Hs)&5IV+2mAg;Igw5%gW`mL zS>ho*>ahz@477(K#cVE-&ft@g&8b8M0rx1BfHNX84Ny0a|4VjJsNXy-F!N`Q9gY_G z`4sY7);QE3#9H-z=6ADkpF%)J!n**=T5Y#L<~s%st;dyn>pA$2r7| zg>_C-#R~rql%%rg?pKi{`sdn1eqS_aLr4g6VRvC^VFU2 z;4y;;R~z#7VEW&h>oH8hlivk9W_d2m9*CuvMS&p*s3p%z6bvYqDhqn?k!04AR8OgG zJW+BU8rFSFL*uWB@`q9Z>rkrv-&Ac=E^Su>aCL^@Kh6i(U@XLqCQk(1{D&#N$yy;U z5OcxJ8t9H?;k9ktgMf3L#FsY5aFIPcn_wlBw;g$x2a^0;SSn*$kqp$^%UXNk9udlQ z)8lL7wy_&5r%&%fUVke<+Q{)e&bDlk$&fS!wS!Nq7z@2{M1~v2q|E7XQp6^(OMh;EMt#vNVE~o^O zE%!F`-C0F>fZ`M+Zrxg$ly3)T9054= z(_ni+lIBDR;{Ktk%73Rv3`T3lO6aCDNUJU>7f5;vdv$(u^Yd7pb-wCGx-5Y*=wA3= z5{pHMSHUKuljm^X6(1ls`u_c=Kz$!l;qdcD56wS{HO|HhsRWJBhDxPn(saQT6w})m zR%N?X?S2-~VduFfFWyNKR4zY_hWK+v&@=%;*PzO3dlM6G?KMGKA0||kSm6Uxi!@e~ z&@YB>Me%n8j4)UAc5py^KUD@mgd58L2~oQ3J<^q<3OHJ6PJorh%vIu0oOJ(z-ElF) zn*x}sTm36H<)Twdz+N$0^OMUB>@fw`>U5s)Y0uebdS$sZR_rCLP8OdyyHViVMA`ib zLu8?wLnr!$HqG?$)Khu>7ALhQ5tJG0DiW^)g-VgFpWx5V#mfHv_Bw*Qh{(KrMIu>j zPhQA4n*ePtk4iVF@(SO=4Ic9u0+PGaRsD5ARJm^myzFiq=tG>vWnG-2M+XT?u`=Ba z5+-^Ln0dNX<`FS*LiUB$yI{3l28$s!xRZ+j{`lH6wou#1C@j8@DDFD{k@2Y8_BuFU z0D;JVsX|`NsF)q%0B+Yk=tN<@#}FMk)PaFJdd_PlA(wky5}t#Q>d~}F`NnGP>D4lZ zSb>H6$@3@4%Wc!y6E!I4kT1<>T?pqDT%L?js!Dx=OH|u+$^R7Cxf8i-&Fq59cv!O?a?3Azyh{-aWLrB8Sj7*TU^8t34M zdy?i*Mq!;&1GT!*Z27vs-RNF|^J-#=l->zCbp)B?aBuC!4^=RsHHAKA<_OcU#=aMa zuaT>-64+o=^s2hZ6d{iPQ&AH@ifF_WZN0q5Pxm4Lpxs2u3)d@q->;0b?wsw1KiwUI z8UwdSvdOJeINkvXprPGPo3!eCOYx_3#?qj_f!i9Br89aIfHYed~pn zL;b*DD=-B-H*9l-teItLwQ|;OmA%Y0(3eJ>5?W`wv_eE3u6Oninbwtk#S+~qrJx-nzo?*o=0@FcZ;p5LD(F{T1s~*&);4#2?YL|; zW%2n6_VZjiV=$Qd<|!p~G~a6P1>R+jbD8=^)RkSZU)ET=c62-uAIFleRD|_nCSBUI zl^Z}wO$(wJOFP&HK6Far3zM33p57y=e-Ntk2aO2IvH&kQ9Ll9&fzi;1 z>cB4`v_4G|!#*Ba#HReyB*A6=^;62zd)nMGm@Mhx&*zLR*~m!3zOMf=0fk)uAI8oh zNYr3kvt`@1ZQHhO+qP}nwr#sk*|uGEs_LB^@oq;Cde9L$${hdkXYRe%x0XXAy6ZhZ z06<*=@!>dTV(wnS{P?6@qH}~WUYaG7=mudUio9&DFNR;fXRURg=^u2u{h*0FJLZgq z4EQl-^Q=>3aW^G+dY+ZQ8Hsu-#<(Rz=VLMVxek|WJ!WY(ix$iht^d+ZLy134 zbe%oXtQ~f*xj}q_hO5_b9==}56bd{UDj6;hbO@mI4;Ffue58nJf?Dy%osd#`zd`^@ zt>ecpnk$z^b!gLlbUhc7<;~wz%yxta5Sn4%Au)NnaW%q#9#a>xoJ=cj>2q(Ks8nxCJ-E4#D6xXLB1!!-(Xea&05 zAok=T$Q94AF|>w^N9hef8Jdv=Wk>OLra^EhK&1kS>*s3b*%mi;|1T}cjzv!1G+Kli zBn={5=O~<~a`kaooqbon&d7SEIa~4^SGX8JK~KBi@4L+jU6p<2c47i!o@(e?hjp>0 z*UmB-8Tn1E1>f5Ht3i{|Np42ZmRg}H>y>vUW7pk(Fwd$o- zTX+>LC?;RLYUxG#K{Hl0FA;w5vG>roWB(7J!4+Q8jRKFv^oW4IG<;c~+| zwrT`gJHh^b%y{-LRn>`9vYyu@={&wFom(=V_L{AowYNmQ*@~1NN~lC|u^{18^cXJS z`~}3_bgl2cr(RC<c$J8i)euPGCx>do8kXI*zac_xvx0 z=hY{Zk?n@G4mb1CPH^Hp;#UJ}Hrp$0F;Lyy*ukLXq5ODj>?4qWsW`m$z#ncw43R;HiMw0=ihxW9ZY|f-Kyoy zBpBblGm|2ZlP5pTrf~vyVpPw$_A1*nU8&H|+PsMu42=q~@PCjStb3(Q&}WD-)F_cd zlzTx_)?dMs045h(Att3q|6BeWwm+bOIA8dvsvvR70`3B?W0OKzDfPL=M5e2W@R5l$E zXuf~$A{i7S)AN-x=Dgn>OyG5XuzJvBQd&4=UzX12pd^%f{517 z7^LvU%=>P?O+MQ~I**iBU{_fsEj}yn;4XE&Rt;=LBCUwwiLvr7thFP0vq}iuX?kBt z*2H5r3xMTet5nug6T5q-mZi<8Y&+A6=Y7yLudg;mb05ye>k!)7(}Dgxdk~-(4C_0p z6QGXZh~*lC?2--JRB~srInGJi=hX>nE-UO11A~PGWNQ{cx6trHJd7zzF$p?-r?BqW z6f;&IA%9OZp@TpLfpf?dU@AasG{~4$e>R`e{DNK841?|~P@bJbz<>Wic9qyZ?XG8q zY(m(z5Ud~BVpWM4^D53rYQ;z(R4@T0ws}yj5wQ0*_20bTlImr(tbMiT6kCV6N>1oe zz1yP2a_>w?puaWX2Csp^lP{Ew`EaZ{gJ)Z`Z%K5a>8b>&pBR75PD)!3qzXEB!i=_f zj2m?zJ*UzLg5!BC4tIoGvBTW0b-zvmn?&FnQ?rlAiL)B4x14h>nc!ONpDhu7G16y( zAjQa=2)(xbxm4<_6Ci#jh)2{<>+R7<9?s9HoXXUjzj`h3BOPNby9<#}5V^>~l3}%q z%W%FDP2(soFwM%Th_DrV-8n*~?8ziS?-{CPTJrC(_<$j7m%MJl z&bUyZ_-efge}Z9??Q;{DM^hc&@2AV~g|lZV%&lFdG*?b?-trCt`!9&R3rG+=zkfYP z$lJukF0@j`-e&jOA_D24ffB2am>HmRs{sT1$?2W9TczFJcZvF@B{68Eg z69E$&2Q%k?&;D<$lZl;~iRu4Ssch3_+(4n*MB8O!O#jcNyw&#F^dG14f7a@^+}ll` zqh3!1estBs-x#s!B!-ZvLfrLZ|jtoo= zjg4&xY>o`a!-`DIL#oX6JtoEj=EVhOfy8~N&CND0&CE>h{bVe~59)||D-%OoLz}~Z zdTVQwYa;{G_?erds3@rB}k?}y2M#f71KjFFf9 z7v|K|n!r}c-j9XaR^8_0$l%_Y{yCK4*xsYsR>9bQ1u-?WH9CKP4}botlqdJ`aY1Zm zeiY+=_6VWH6`|Sxqf##SFJWVC_!KYlAN{9N-a*GiHikC8@~>zA5Rdogva+!@KKb!) z|63m8Z!1AgNK8;(AoH>Z_^z%sGB&ZgJ~RfSKY4*q3yTx;i~VnNci?bu`3axtHjGFgFx5KR9#c%YTv8 z$<2YG(eX2V|M$-${;z(piP52%5lCyFk@X1bGkYs($+mcjLmg0xm7SP=s8uMSgKO8B z8uX&k#J0xWIo6XPCi6ThnEC2ng87}5`e9+_0>LWCsfiO+6oHI6=u>S*#n4Q-*_SZk zZ!e$B8<+^{@TLUXG27o=N?&7Mfjp-uPUf>Bv8BEgaK#uxss5T`d=x`+JKKjzu^6Fn z7)s$M@Ui27DlEe}o{s&ofA%u^Xd+qH$VHOE0# z;U%S%$775mj^pBv<0BKL)%vw{8yaxtR!U$u=u(FOE7KkX#1uc2le{Svx-PZDXR&ye z-{hm@e`!UzRr(gStH9*H1mAq?JAw##-(@^k;m0h6+8>i$>5Ki*Uq|263aba9NUWip{ld&dOS;4SXCNVt9pRRI@&frks(lNkAFygHH6+x0gq ze=Np)Hb2J-OI+zr<&Tys3u-52cpj`&)FI;FQKEl-rB4XU2o93tF-rq|-5cBwSN`Q( z5!ZeJ&O5Q^K7EwVHz@s6FD5=AvR zI6;Z4a1Zksg5zoyz=L<(tG0->;r)6h2@?{Tu`2a&FJX?gt`oH=(EAkX);AvHI9~CX zjU^uAvLal&B~vCc^pB?;k(*J;@JGK4UCG#M$91emi_C1Zez$yRDogwOo(a7*?Rad{ zln0YDv`Wsd94)Q-l@<0Kddk$&dd70temVxh8LF$bZA+NnK`1ObFT zOj!)JA<=N{wszuX{!S4H*frpBp!bnz5YNw3q<;8PUfUCJYvI9*>Gr)jkPTcor81?2 zUDUr_@y_x2WuJ?&SAGHQLuR^z$QW^Zj|5n>c>f3fy_WMyh(r3ZeI-)22`et#fxb~h z5Y@~ef$XO6LUQrJNV|v0uB7-gbG5^j43gQIAH8r~iO=2VhVtA!*{4;*&wl#b0Z6oZ z^`~h@ZwZSlG2`N_N^alRgF6R{HIz!2{pb%#Ii5$GnF5w!0v&XIh^MiWl*t5Ok0IBJ z3i<=VxzLlKIq=!#(FHPn`=wmnPryAst z$D?i41H*#`!@on@HYH3(6V};?x#geX}YJhxDG3% z4IcjIHalO1C}Fhs(FiMt&FThaDKh}tmo80_^_zo3oj>+}?;pZg$wR*nz2(H0s0)cnyNQUIXB%CZ!*k#gxgV%ib z(ajs{m}BiM@4P2}MTA;=ArvcduO@)oaF@2YP+@UuOtQF>*`{a4%W_t5PWjL(s4#pX zKB5mkSzJSXLE!B+&%Zi!$~Ls4*I3YKf^7WY-#m|NU@*Z*)%iQ@GE?l+tArk6Ib-X$l|*(i?uI;EOH+Gy6I__nBxakegL z32N9pf!)cH6d*Q<84qckx?jww={~UQooWSSeDVYY-ceP|{srq(!I6}r!xR}q4N`FP z9~pmg+kLN~0(G$DZ8C{))8C#EL%>kWb(JBLX`UZn5JLYNNo%j=Tj}xL<%27a%;+*7 zbswIkbe}tO6bbC0oa5yMR8Uv| zAf74u3oI84GL1SoY5L-Bzhf_PgZd*f8RzsSi76e?vh}E>@8pm#QL|XMCU=}HWSoU1J?D&aPF>oscAljmT|)9uLT^GKk2i_5 z%O7B05o3*VOk)TVqL;z!Dl18%p+iw}6b}inJq4(DF_4|`ipF8&FMNk5mW9sa;t|iQ zEnK}v%wTUMUI^4LQ#k+8|G;vQn(-AW!xaagYe%$|rS8Jy1shxHatP-kC+(yBy8X1q zgX9HQPCsFb{GRaxT>$wG|#{|2%h~hSLc z4e?CHFLMdC8r#l0HIVg|r!F~OuHOy{30l`_$eYna*&H&rv@UW(!+2Eq@g#ux;5j!0 zUpS&x94LGANzFCJU!E9s+4cCgSv5S#$ z0x*n*&hE`J-U0!jeZ6RQxU+1Akx(z?64$rIM85+TbRgEoBLb@cs(Vq?vAYTJDg!Z~ zn)ZF)Y93gvA>>I%3V~Ar&(WAVe-l~As*hWO!*7Wz7AgW@1+uyU2R?rpkoAGkl zFzpHHg!VX@yq4#@6{FPJJjquOfzmzv4EE2zUijzHa|5QID5js5ZR<+l6m=5k)+7T# zme^-O6mCJfEcZGwhZi?8=80M{yF%E-7Dhp(6AJSyrRzars~Bw8eoJ`^s_mw3^P*Ldb#!(hVEGY!}A()f>6Yd6P>LAcL2r!=QI zO=m8I1-@(a{ra%__*Zsn2w66qoJN0LlN?V0mw}i1Gftz=?jz+h8dgN`SXpkP|*aQoZ zMsPV|@1E=>STHW2O7f&v_k-MFY2f;>;XsZvTKp`aIT9L?62B|p8lb}rS*Y-eFaeBm zI8iq2p1!`)b3~!X?+Z6HfwEJKCibl~nrvrmV9l3-SeE)~2JZk-uD1C@DOl{DP2!_y z>|>JafJ1+pnVv1=8>sCd`1N?i1wTwqhWIYV%|Nh^u-OhsesyZNl-9~61pr$j)BRL= zB}@du9>sUC=<36!%O9F~5TjQ(*e!$QJ39=FpjzM(-k=l~f0%chWRoBw%8yG;tf0M| zG4Zr3Q>%d~w+vBn_>gp6Y1+q*QdHZ?6ov0s^*u)LQQUggWJ7Fs4cA551`sC%IjxJ> zHMA{SgwE&Kzo==jB^7v^N>;O`TEuVIIwC1`0y542+j#4YS26;4oveaN2a${MzAy1c zNrrvjAsv0xXEHh65U?cGE>=mfZhdA$J1u##`t{(>%Wvdv=D)O$$9$==6fvsKtC`M%v5h{X zG}>#Sb4gK4jD+sRHJy=W*PfX->>Fl9dFS5ze!ri&HSKjFduboSwGb&!zh zddo)IGs~!y#+R`@!&;cTrvvsutu4@R1CMeLBF}VF6SYs(^&;bkM1`xW%2v zp^UjI2^7V)<-&5V%_Y{&cfw;bP#{c8o>Frp7A4{0Wrt|o4tLj14bR=ANQodpf zuwEKA>t~v7-=8)FAnu3r5ivjlpG@257*=r>^Wa1WlgqxEp^H(uUPI_gLT8P49KDri z+&PeJ0-7ILHe%-QR6d>p9DC%}5WGp&QnX%Ej@Oi?1kbCA^Uf0MquSctC;7QomNK>{ z8Le!3wRk4+5z_(i00X}fRjo0^;&gIPfz5XCsJ$6gRKTE&iaXYE5`o7x-LStnh{M%E z;wCu>b3B5_cWLMZf^F2#Vc^J<0HlP#xGJx?*52vHLb35uJ|2J}T0ye}dNP#=6` zYZlnkiq3>j=J~{KuZ6V@tWh*kWM!-4jp*Mfr&+vCLPI^-4B1ztI;RYJN4|JNr>jrR zS{JbMxPMCDE<(a^nN0SAaF;YNfI$)N@oZBgf-ydaXcuMc(MD;d@bRup)@Y)Oqu73) zS*g4~ZfjojfWZ7kcUsV)!yE`uX11dM0wo!o$C%ziR;JJ_QNN!c+1y#2XsYuVfcQCn zivhYQZenDQEig1&nusK@OM+-xq2sG)u|>R6`p-)`lMbpbV@sg1CZBXWKQ)MP@2)yU z2zjD5#xJC?;8Yi3i1RGeWRE-am&$cEgIWI|olA735-ssz-i#$Zb%uNQC43wHu~wjD z?@SXvb$~dpU34V);pOh$-AohrgTvu8irA5i?djiEJJW(39 zB5x#uQzQT*A8ls?IPIL^>ZbIsuf7S|%YiHEipTimxVVk4+e-=cYk`i|4R6v4l{4Ni zOz!<^f7EN5;{{VLEcfblvTZ;ZcPQEsQyUvyE+63tFjtiiz>d(NM3NLfdtEK_@c`fR z>bANSpobm1kkb;NEl-L8Ov$wxg`<7V?%01FqUe^eC=qO+S>in)jdfcWWC)4M?7usS z5w>~vW+&^%oeCY;NZZwyubpEvvM7{juEVIdJ=KjZN`!a^T;DNzibl6sTOIJeH09J1 zUE1IAocr_a_QT<&p|1&kclhLar^sP)qbni^3auk}eR-Q@d;v=v6Ur-tMMc(4LM7+hNg&mw0+1>XP~Gp~red zT*kF=Jo~s2Ba(%sp(uxRi!$HY7hyEF99!m$=lD2AU)v(Rp%4Pzn8Tzw-~=2D z+z~P?lAC`Yy}JJk+TMwIjy-lwWuobU$Xsck!@Vbj<*b|`;T4xOkr^v8Jx8`{$IC1; zk0JFc#LwP6-wFY`gPjgN#y8^OmC6K8-R22|sW4P6wMrECBL>lSC{e<>l;|UE?xfbB zPfeUy+_IJ3wN3{pu|8`Y04j!pe;G>c?%UJWh3$8be90JbIVwoopokcc8cC~Pd}+k=Q>gv4zL z7bKp}-c5B#6yOZfnuW4Lkze984<*1p#>3i{efoxN_666ya$a!azxFA^Q<=t+9A!Z3 zq2ZNlH!F@M+7oP2fdMF@V#=n#L;no3cw3J}Ti2G(koM}DmKk+}ar8>&HNZ{d7lCu3qb!0ITdy{8qi`~c&(2s zjzI9PFS=?IG?Oi3xi~CV_|TWYly-gmkjqC3;+G$rW#v9yFN=5@h=b}C)=7S-lyC|I zob1+VJLeWjs3d1%MM>Qf>*njl5$jZv-Pobg3QNEbwkUv>?|JIFjHs)onV5?q6O@r@ z-|T&%LzZX=3ND{qfROW<%8!gw!co01Of=q2ql?ec0;wF$RCkM}r7Wru0hv;^S(nvz zT`@<7iTz$;zaNJhf9#`?hCeR!&BpUo8BAk3;d3=F=?w4nP9{)T)b^vPa%qW&LB2;H<6@68H<|W(<+Bu(}DhcO7lPqAB`y=z*U|Zo)W|a z)zCfYpqwjH3*Z_14lZpy5#yowmrmgRzt(-v{EncgP-*XiitR4c^C zK!%=rRZN~F_rN3-kz`zWhRjJo02p^CrlTXlxoUQ#?u`XA@f$&jn1m|qUTa1szRNoX zm&DzR+Pm8zKK}{O$gKW7=xew#^}?kS7jnv%%9|a%Ik#;2Z>&a8Kbi>j@7VlrR|> z#7v0B5<)`S-4OmC!199j#NYtVi46Z*i4I}skdkGFvvhwg$FyOlP{*kgqv=ZZNmtuF zuyVb`Q=kX>O{4iFR6wo;AQkDvIHOfNS!CJgVE(I>(P>W7<$hm+&*IQCGskv!rjYZg zIOwKdPPqHyD(xzmM2f(G0^Hu=h|ralqR~T9a=T>%-maQ08{&$Jj#yM4jVdCX1E*$o zn0h5L^X(Ybk#w*CfAkD;%iXCFeTWp!WF+Mf^S|a}O+fK*a)V8128O*E{e}!Yug4g) zn_w06?vSCz-uI4N-loSJTU^yfEU$G~5t@KRcnfze8hZ%1^T1x*pCzwR`jOw>W1CIf ztzXZY@GHy!*gU`JR=1d1fgnZmV+Rn=JK99@7~h1bP2p4~I&mA(m?8>hYyzLj;y?+N zshSm>tU6abe=K6gZina8hU>Cej^~nke~>B z2kRXg9s*I!m>lZRM8#M+x?I8Id!ya_#)&ebONs~U?EeTC^`c@DRN96pK49tBL{rS$8(h`8bas!)N{Dyj|eRYBw)2 z8QWe{@L;qE$@}GAGP*Q}3OBJNoivye;{Zk)NH}0LQ&jvqsFrz90&{r+c){lL>FIntp!JauZ~Mc z;qdRyVz=U(NaqqBq5m{)a^(W8#SXCl9dJr*N0d;QUzPxMaBrBNnq?{-;rhmY(sCr$ zQussIDnhs@(HBK{2xR#9eUB5PRu=Zbc~ao+QJB}pvyW9RVnZKW77kn6S3@UDKwPAv z<#YPWt}BOAC1yS7;r!FkZh!upAOI)$mgJF)cI8XIzpML|LXeg3BNKHYRXRT2*#K&8 zON_+@I4oTWbtDs0U_!zAI7Xt~Zv<}`VZ^$(xz;Vycp{k>|;y$2?uIm2diPmr6U+22sK-KzD-jJJ20pG5I}V33wEsA9h*MVYRVSWl z4h*+WR}4RxrXUxpPs`8&T*^}&+7{w2Q`p8jwT=Ql82y zZxGbFupHfbWYh>SLfA8CRkcy1ke&MRdkK4ba z&!>=#09s_HubhXAn%02my>RTmM(Yk3AK}`vn5+>F`4!VnN6oNFkWs|2a;> zI~LH9we`b{tyD-sQN~iLno4PM0_;pcGujPH!r35U(m`j2k-f>vP&e@fA_P2}j#0_L<&6;;2fc^@RU?hzXi+)AP3vdAZeIx?%$RgAE0A#;7VzxX8E zJp;hTC}>(0*jVXcWz4=2my5Mp)Z~$2E*TU~i9zQnt(j2Zb4l z+fl6W$vX>&q6A=a!FdNR=~jb|HEWfcJ(y1`c9pepSmUVEV{dD{8OATLdeG*GrgggH zqsRw$pp~Y^(8J`@Wd0Hhd7KD(Aiujbc{P%ecAvBPLv??bzN1eB!;v9F!y#341%xU^ z1W5JG$B$3b&aniZ!`IQ&(t)&dX zmrB_+sjgsFA^SB4E858pH!sks+}q5QeJ%>lnO%;g)%h*9sclJjb!#Bq-~3US`AZW`znBap8ClG-XocUgZHn9egR+u94 zx%yV46l_Q#waS!{0&e(Nq5!rFL@*#@4dn@B|GMoV_ok%#k>)7dMrX_Clos!2z*C%> z{~@s`JUN8@y&X{h5DLjOu;oEG_kc!pgsfLrw{)kVHCo|&)u*Z~s98B4IX;LG<9fTT zi9%}ik#hN47r*6%bv;K2mL0}2cnEgs4%o?L;_fAXD*m#M-s-Y3Naie)?J0h-3Es@i zZ}{^4x*P(xI9Cs~%)bo1jMGZua$Vd(Csh4dM8=(0Kt;*a;CEoRc{L-lJ&hiofj#sG z4~r_V{J~tr1-RmopG{L^+s5JWO{?T(5HFKa10e`maXg}ut8LS`etTSv_*yilao6Eu zGDmGAn~EK~7=1_~E6j*q_=if=<|^#;aC^2hDt%F;%3>EJ_7ly;aAT+)=24$8=Y@7S zZWaD0b$ijX+RAm&0&t|dZ!lg>ISn-vK%y1h@(;;1K3K@)3lku)Qg58@ehD!sV0Re7 zA0@r7;J{LbaXWEJhHB`LzOLt?w>j1>S((c;495&mYXxkRyFCWf5iw-e%lm+dm_)#q z^cC;!NtVmaS=@wdb^fdiCeZDD#uBp1vVl@$8Mv{*pD{i@t-6pU2%H38kmp&0e4~H& z%6$c<^l(ZYn7OVhMY)uNGc9 zRc&S-)7p>(lnq**bQMK9#S6g33$8sI(W>l)vEt={LkW!_&G#cSzWmG%;FG8sihPQ; zJ@1IWGp`AJAx4h#?WripWYs!$H9qE!7-x(_X)UF7feX^R(g;I=js41a^w)vS}gbR$fsZG-M|qtFvQ{!{jLVXNFLjokTj*! zk4-JlSlJ(l0868eRuwcoz3cK9Z=X?2U{*46LGQTG!d+52z?`pGOX73E4s;Sz^h|60 zC+^My6`oED!=t)S9%2)RiCslL&sQfIUs78pB;ECd8NR4@kh>u~R#CK?kpNO;n=|%u zV?cneT5A>;Klx60j!~2yGs&TDrm7IzsB1Zp=hY7Od4Mahljnt&Uicb#CL2O;+Qy%o z%U`JeBK!bQkJXPOEV9q{KVsyj+)%V4`AgC5CxlkA*@hspFK3SoeJ;4-! z?!o}CJs#eCx}?=sQk6zI;LBrWLq_8_)d`SS_|u~C6irXqMm4?EY^5h@6=44P*R3CZ zDLy;|kHYCxFfD&7d5ALgllMOOywfAq|5{ateG8@|jK^1-UQ?E8rz4V@u1U4>!EuiZ zaOw4BFSOC@9ql8M5H|G%3}M3!Ghbj6CHLUAa8RYXaz?OEs2v%`#?QZeV+6~X&U9Z0 z0uMt)T383D@3wY?KyBvG6OIp8QW}cYu%m<10|v36XB;w4S~Vbpt}GeU1&4Dx)(7Jmlsl#IIZh1L8kC$m)mSo5w1sTBU)dl!GvuCIhpSL4odKxa~yNhIwnT*?SS8 zW#$cM@L25^2G^5G(W7-@zEa48Z#ATL^=ty3v20mzd!rN9g_zo8V{Tq+gsMHr}I9)L5q`GsmKWw~TSq$}1A)!45^^vK`r!kG$45+(hoL_s2 zDC+=(BQ0zT+-R;q(L%V@n2RJ@`|z!wXV86y2zNdthFjFKHNfau*N z67bbjUwaMaLAi$Y*o84%Rbm(I?Z(;lSN|^y7h0+~T&km{MUgLS;`|bov?%!m zKE0h0(sYiH=fZX!MeD1$WiP1Q{kqy(F(o~M9i2gB2KDPk7G8x7=<|2?+ky)e)k$(( z7#n9&b{!72m>b$3{!Xp&=gvAgp(#jTruY$C}g?9GhsF z=Z%p?lkn3%v6P2|ZyzIMRjQ4bOzMl0NT>Po86%q)sZw&HWWtOsFH8B@#U6Dm;1M6m znsdS5^mM8D&rv7U5G2z6EQj$F1)iGVA^_K8pNK!rm`r`wEm7Dr6#2(&l%5y891x|i zB$h6RFd$?e*sjl@U@{-Q+SZTIQLkv#ROrwZLo2GmQ62DP3q3w^2z@oW8jj+8l##Db z$V{H-0n>0+{N>H4Vvf9106w6nfuK4_y^UHFqn~Anhbu}Dh(Q>jh!neLsN1<$pp*~c zfvzfL@-n?s(ECw9RMAsrb7(N*48`8{j}$j)gleQ4$b$acF2U-1NbUtjhl-nni9gzM zD12e>TSDGCk=rMVr&wn`kFb^xnIs=~OwaC8en518jF7A^c6N0>bigO1FkF&$PN!4P z8h!DfmPMq2%l;K6=HOTsZ;N%97Qs}iL4O-!G&~|I2g5YD1*EWKIu~RJYC6GmM^2r*zTZOUwRQI%K&1a zx!`gPiM0Mv@3gyzb?$(>O5)` zH*I7eiq`v3wwWW&i74W>FJ@)Q>obyytjdf#&cKcohOL-SEbvWmB9!q@mS8Pm9u0dP z7h9#U-Ysg!^{O;f4XTz>zFf}iN^<4aD!@I+=&G&4oV}E%28n^j!WMLwp?jG39;y|< zU`{DPsHY;4Q~LCv+PTJF&_89-g(!YFD8X7@7b_8I?o_ft2|IZ?>l6gI^xd6{CWfx7 z8KnC%AFqGkz8E-F`z40tWWP3RSH zi)(~=vb8NuYeg}w7gyr-iDU1Sm=Y0_EWvtK&W}F3ul$E^*p?&pP8`G>_A3JkW%w;s zt9|4I2L*A&KBLj{+uS4?lgT=>2MQqYKXPT6g_2zcYoSj=s$bRP%M~ZG>6oQMP#8hW zj@>HyS2_{D1(G($>9};j)$@D!)A)aN2fwp2;VOnuE5E%shUmGlv5z0d`y~+^QOJH% zhVi@PnQH@{k!U)_EFf~qgx**nl(g6SpvSL6-1+|f9Rni2XAU;@2(uEGSY&qy&rkzI z6OxTE7?@yK55TQk_)@XV0(ZkV-8}ELPB_sa2DF!|SIg9)LK!^u?n#gsxEgio`Wpch zoEHT4aQY_R9O*5P^u>Hh()rhrra{A_(YA;S$>P*S68j5y1stG%t-^H#AHQ%L?z(PM z=|nN8n_7?-)nO^^wH0&2^j})uyKxu@6I>+q5XTKZJ<=!?&EYrpA!p}Wp9hBix}_+= zX*kg((r*D}HkEmx$vxgg8dk{x^I*O3)kAoErmCDV#YJ|S&+q*L4`KsCcq0ao?QTEcz5CKzJRBMG%RLpV)8rDaLI)orhI{_YLL8{@NJft zM-+`h5|G&pyaX5xdw3k_`m6vCvk{h-_9@x}=8bV&88H>9{L87PsgH_`_xGHueL1;A z+so}v8qzTMqQk{vMjh_Wp^Ym~VA$|X?KTEFA8q8!3mC|Xkf%@$VHYG4)Y_4?Z*1ey3|g|~CH>-|tIpcGTYm-nQGkOC_VE>jK zd>YeH+=nMYpXaW``_mY%at=Qmj{M#}eq_%?imxtk8=FEiY;dh;6U99MKh`EtW|yUX z-TOvAcLbFeMM-4NLucw{%k-s)eSk-<3~%#`QRmL?N`2=fO2K%oil~ZwJj@{ zd9qO*FvfC5b7no0t0A9mSlu%KOn zSmcc%V=+JQ$f&x>WI*#$j97IsyMzQd7dBQ~q&tzC;Xs}Wxax*`kSS77Wf_!uuoAVD ztzByGcOIKQV+C>OSri3tvV)3Dn)a&fzt=!Up=;lHf?p1QB;^g%xju8`D+e2nkg1fx zOt%N;e1f;zgJogCzolo*k})F;+s)gdNYsSjy|cOQyopyAB-)#Hz4e)3@6ryx$BxV% zz996pzwM?=jKsUUGNQsOU`U_wrli8-qfm zpC!Tvz~0}o``2yAWZzQpe2lBkW=9U?Y%SJ@;Y&x^A=OyF;iHdrB`rMu1^m3((}kBx zxQ9XP{qYivkSKs%07&zBz5h?>WBaN z+SnnEU=Dq7Q%=;4e^Nz%P&YO53fXH=a2PUL&Z+1Tex+z z$G&hfmf~IS5k5W!H$M{ANY8S* za>I%&uhB%*=SHo4#Ck$B8Mjd)ZU72=Yu3Lg0oIfUi^$Q`Bbil5zRL(I+UrM_&Y42( z?vfN*;u&(5kWbt|c9Y`&j(IfftQerpJ)JyQVfH4=OSzh!mr0}(%4dVNIFVXpmntKv zleV<*Ka8DIvnV>4D3@*9wr$(CZQHhOTYK5IZQC~PdAN^LHS-^mRK8TY8yahekEd}$ z1XjnP{C+!xz1FZIyut+q?88@Uj4&+idE45gfgO*mEI({lP03l9N3FrX6pFVzH|s)T zlkm(5hpwF$-#fl1q;^q7=s3#26~0C*vASr5mT@j*mN!kEO+7eEHFOk4lB+-}a~Z5F z()<>(okq((!CFi7y$1D6;g6xS%e%%NjlL16&>(RE>wK>7Z^bc^%NZHae@8$0> zE*(YT0$m;Bt_aIgKi%= z5eDgHjga7Aos z`H+wll2-YtVTW;wF-O0H6edSN#Qe{E*G2>TXD(Nk>@C7V+Ti1cZaYAbEG#jCfGza4 zMQ~ID8SiA4M9~A=Gj1YGvJJ6~B^KeWdXE<+pA`l+FTFgqFqsEPOB59=-HxHvg+EJngTo;*(BYU)Pn#(;DU zohrq);n6wThZ%lj1kM4O?qOENEKqY=GIrc8r;j^px2f=*;v)XcLFC+_X$s<($TN^? z_nkz=%2{tiU_p59v7Y2I^OqUd9B3z~K~-`b`ve zeQmx5xS_}R|8B}n(*8~HMH5OZp3JCOa;6X&RxTMORPj0L>f@E-uy`Q7WlOHWb@ukA z;>yd!F0<|b8oq`8J+ZqzM`x!8x^DeI_#}NERHHBAh))aC#8S) zrU$>97WGNEHeh&+`#>8WuoBOp$@H5sw*BV-{5F3iTBmYQFMAwrag_m9{N{JhpT8%Q ze0Aa4Q|XJiZXn&4j%~ImE9WSp;O%(%m(=D&IJUe(9buHI$;&e3Zr#awQxdO#1+NTE zxKE{d7Pu!|1L-*16;Zdakq+dnRA5sxqf{pK@x7M^u-;mPa3u;N0+aRA7yGK4c~P1P zwQ|-}U|A3kCU-k-ZyLfRV1mqN&Mg?Bn??Gou1H2vDpIUKg$a%1UM~2Bhj8Ix0JwW^ z()-V-g~7&gfg&6S|Fd|K{!T4Sp5v8T67rkF+m&%!d)ZtDRU7l!*ekyS{JzxQVvQx$ zB`EKZ3erG7lSIoBt|?qWiwl5attNDFAZqA!r5N};tpqeZNeFhv$sYodHk>{dUwFft zNx%Odz+(y^>A!p2mnQqd&V(C0%~(z|h(LOv+?kT3|yoMIfC3)LMd2S7T0(NG9| z8#(esDbg|YL7YSBb%078`)mOkJqPpB0vY#9%VNCmHH2{6SJ4cl25Drq{+H5r?Wa3 zd{>x=Bn2klujWz4`0Qe$u9Y?cXV->Ygvz{HJJSvBCCg2s>TarqH+G`_`dpy~3uAIe zY;>ry$;xAm{&LF#MmMmw!!OhZA^Lv`{~oKrobGVd#VEZql|sj|?r9f>8OVB*9aU04 zIubI}O0Cnnb`!0!sjw87})N{F$mXL1ZZ6)U1B#V%32SKO>SsJiyxA& zbD-Z{soBJxD%#Z-l3xv08t&&+1@BF0NnM zduT~n68w)U}&$gG_^V_Q4cXPeZ0OB!$86yg#$B z9Ktf(pCkr7V~rT*-0px%yTh|f*Y~$qqH6YWg(ki&NzxwRPMjaOF2YKPinO?y!h+a) zA7r8dqaxcS>Tpt$K+EL0bgfVj8XAV;WPS)}nTRogP%e6r&w!}S9##_N zkM(+!z-Wc1To#!~S^t};Edh`&n7kcY992cMwk~U+zZrDNd{%AcI_*!qI&whwJ!DMt zrK{!a4N!pJ)SNjSa{|QWFxNv96Caek>g`t=k24|AN5dyC6en!;NZ_6jHacJJ@LsDn zOpC6t!4vnp&6_21%x9$pSw~yX5_}~ur zI#Q^ZCT{w~HMOJKDa3+*!1p`&TN>eHRUZV9U}g8ZMP zz_`sSzt{H;e_q#BPTBRm8Liu}H@vxJdJg|Sisj~*(sPTkbM;H;;R_^@WicG#FBA~b zYtzJaH*@ZC+=yNG?lWO}d1(RG?7uC*xl3_7cqHC z$5ERxR0d0RlziYaZ{w8tvL9PC-YLi>etw#E(U@3QYT z(^i!9ti`x3l}?zFQhrE~rUXm?c$zWRKSK8Q@7kM5FY-*wh#*yFiKw|VWHQ79Ej!ja z9=s;yMxer{Vce5|yO0)xrX$&pB4+)sZgi_Ku>Oj^4l6T)CZhaTyV0}Z#P@h(FQy$h z5ZHlo#SyXFgVU)oV%a12Dbj1w;iTMQjvdVsBGJ@o7%LXzR=% z3In%?@`)u^y;gk%++UbMvDO0(E1ZI*Aocm|rb7l`6`mL8?=`DP5PxlML;}FNPqCL3kG2RPmVk4F2^QPpbHq(fZl@3qF3_>MoOQj&& zEH@6#B~R3-C@DM#XLTWLRYvILxfcTRKPd--Xei|DvZ^>WN&7~poI!@WcCxfc8RL;M zEs^mS`}=J(r&!5R6Iu2^5GgF%)VXu6!5*;X99E4wacLx97x6*3VBF8IV;nB9q>-vV?{ZaP+;COf{x*Q98{zXc8vmFH)H}WDtN(!sh3Xj4uiz3 zXb+Q4EGSkyFE@19HNS9bVF?W4e^q1vBcSQ}{4 z7kL`!k>T4~(wyMT<7zLuO%hKKN(!=rgwqC+0#~`UP5$QE4ON^rJ1kI8@i9NWG1IpD z6@b#$3zJ4SmPvyc`YQ3m<-gKNv|cO^g0KR@8sRF@vxWRJCGTh2s5LZ4Ko{67mddCB z5FREq3Et6Cek+NzxE3luejiQm=MNuum)Abdl~;7^kNqEpTD>U>No&u};l+PWw-!5< zv;M%D#1!h*72>u|-V%AV?T!B(WMrEr4C`U5N@c4TV|5O_EfHSF@OX{iNeGt~P+RdM z&6VVAh37FoFak{`K^t+D9p4oX^&=NO%usyz?Ylp0a>Qg2t?m}}Hr!&|1jvS3rf46f z6CZ?Jxh03RA6>B~ZR76}X+ED0454<6vbJeHs?xeWUO&8^7sq7>xkN1 z<=x^?o&Wqdi{7o&bbL&A*%<)?$_18`1Y1o=fQj7hoXX~D%zGWy%ySW=`u9y47Rl~{ zCI)kWDpiq;s!un`8jNliT7f8U03c&p+ORH&kVJw@Y!L_6L`t*WaE|?M5Nnsp= zxoannb*m^p6dp1v4T71uE2Lop^AGiz$f&`Y3N-9KjOEXd{!_cfcIfqK=Wy(Ey{V%` z1F$0@QZ-C`yj=yGRZQ55n4@X`w`$;dz+Uop8 z*K$g|Z94~;ws%ZutvKkB8KZSRKQJfJMxNs>k&+7G{YNBf4^57TzmEtxWF7~QAEaL) z4ei45q~w-}=(l(-;(-Syu|CaLa#VL=Q6NBsF-MWE2}JbTu_q2a>iA)!r5TQoKI^G~ ziEGmVQ@Js8dKNC370U|9`Qkl(6KSP3|2HbU9-Y423>k#+tVR6c8Dijz82k-FMP$v3 zehk^TAsSUht7UI#vzza2qK|gT?s}Y`=lzFN5F0V{V3rzYbv*oYA5R)l1JIwYL4tz} zsl|qFlW0^SPr+i(C#bkTjY#mkf!pPQ4+-^L;IF0Cf@=>6$?pZDDHYW#RRP{JNgzP+ zpmO~OVOeeA@ZV3>5WC}b&8Qup`Ww5P)*I2j#|MHl($s9*AjNX9avEc;BKBQfzD~ z;X7CIO7sv+-9XO7V~#`akF{SDUti}^V-^xxz;B{rXH?`+VE3K$StI*;;$l}HzDP#) z7)AIgg) zL@+6yc5*^+Rt)Dg$H!#^7*$4uf5#8c2JL25KpmOt>-rR=OWnG$TPR{In1+;V)nL+b zvV2R`t>}TNa#>1TGIk@~$*!gg#;TRIMctO>-mQ2M{F!YaRWVpta3U>Xmc%3Y*n&T5 z^z?A)Sk2NR47qrAtI-m1PHjMyNy9c{_T5aH;|+q_toW<@Uxx$HPb+cp2PvMkqiLtxTf8HeD}|M5m>4Gvfr(TK+O)m4u( zUpgApugEklDmZM=CX?%6rd{D571&bf#7l{gDU;_DXeJ{hy-6s6xx%pSw$yo&?f&7i zrx(9KwB#^c;>0FlzXxf~eZ(?{Qs!wwgE6@P!K^;6{Fn zBXAO4C8(E&`JWXKM9b8XOy|;)?K7buVLun2y0tIo*7qKRZ;P*~`2d@5ksXE{1IKeo z$=c3y=56ZQk5^Pd?-$GeOA>H{)GFN;&3rV1p+nw!MnRD6BAuQBlY8Zh8r=o!^2^yj zR%U)!>;5kI3j!nDBZpj=E8PjwJpDyLn;vGcn#M>G+&%~i;H+?W$>1{@T_*;s&B~Se zMf4gw^f1ic4;=+Xkq?N9fkeS40)e*2{a3TRZ-uQ>@R(pz76o0I=(p~$0WZJouATG* z()riIYk){z3iaR&2RCD^Vz3!pVrJRJrEZHJdL_))bVe*mSo{ne>hm{aS(^L~?+fd- z*eR&Sd9Xdz?&KwfC2P|0J>@n5Y0gb9EaQx%PDrJH7Tsw5MVgR=bDUw?YygHF*oxR1 zx+_!O*MCyZ=<{7g9Djt1?rdxN)`xp$ZPy?^6Yy&{t4M+%sVo-+&c66f>K^$sFkYbU zvI_iuRvoQm@a@cipPxSEwIkxIAT-G^Sq$kxgB^tgtQ8H&ci{R%fE&j>*i%P;ZRLtDZ zC$#a`EILezoi4=^dwhtgF)}c4xK_iJ}+epDHCF5^?cQX)DPUV)2ecTJONZWNL zoSu*s!f4!9ivI{@eG|@iG4GHu`YtPcPr3}h{H0ReyFws8IDOgN2#dg4= zt@kjJ)-N(S7(s5Ct0sG3^CUvWayVNMClNuKu(-g7hq@+vPN$L;znqsQTq@sxO#}U+ z#9+Si!pm%rf}l8j#z(-L3`hhqJw4RZo_Ua4gXBF=+1r{8b_oQ$Kk|xV3a0ScX&(N_e+EnxNIW_Ihu-kR*KrP;kdXKghFrrVf(s1%mzjNpD-W7jHlFpb{koW910T&hm{O9h zXbZ}dFgUsqnZ*!+q2TH1uFqmCJc*BQSWvJ82y4Rnb8#!Z;f2k-+ebjBNV2AxR>`Re z8^?~h1sP+DM5LANkXRVFOjn2(C>4r7(Z><{4?BcME4s&+zG9wP`JnJ22L4yAcg!ql z26GGGLYXsNe8`{lh)3$l4mHFk!{=erP?V%`Bl>lOxF5YIK5-B=Xlc>V#a2rm;jNlW z=_(F7zJb|>K6vwEY)~X@m9#b!AbjB`>F}u`0+ch9e9sHtI=ZUEm%25C`pHsAEw6Po zJQ<@`luFIj8@|}iViZZRt@vN%OxaobGI|T*SMwgQkgp?9ReC3?MhXAPVa0|QicDN>+eN8X3R|lvgE`eQl|;S7`iSWgJ^ClkX8}I|F6U>4 z-P2An=-pA3gOZc`R!H%NUkhb?G`^vG%>mXw+JJvLQXbP-{#Gj*2$ak&;lv0M`Y?p8 ztlOvL0+^~t&lRn6(7WG#V7U7;_Y29&kre!D z#}4JKn0V(O$F&ri-(QsVRQwG#6HH)yu%^7@s?d4A6Ym=vC{xMfh8qj52bKvqjO7*$69+D%n3*0< z0kgCn)YD#XZwRYrUv72ylM5m2;q_T&ctlw{=Q60M1DHQHso^(~Rljkrpv|5I3|`9e zyvLg?k{v6OZ&)1@!|k-Wu}0l?L^I3Cx)Gcm$pf2H4pzaGOzd(%;EZ4ppgk;KLO=h! zh&Jmnhn+kp!QF>q=_^W?#L4&fIt;+4#2J&I5v)_HkyV@9B~U4YmzrYyS3X;Rw7kw% zZQCh?6Xu)1tMw>$IApeEQ&T{cYvIR)R-Pmh8$gv>LwRp~4MCV;j#~F%ROI@r{h%2* z0@o!nEPpa*{6b#;i*4FH?jl0patK>7ySSYoJWJc;X#^0JdfQ0@+45sOOa;#3w}NFe zPTpID$lZGN>KPFn9>b`{s`E2L7pn1R*;hogGKN-MDesqUO!7q%Wa7wfo-mFj?x-H$ zU--6I*kPkOc?>W@Ydz>HG49U7mn5ftaby6Ig<^5sjm+DdeH#M~A2apLYjr=d;DE+B z31jmOrEfGwX4iWH>O&?1i?kGHIY*NN&tqP#PUT_ArP}8tTj*qTUOZ6j*O0;DCS*im z3RBor`Ko<6?_jhIP{mgSe*)JhMT9>2SlDx&-1OR7XQ`aHxvoZBT}dH zd-8Zb2`$JYDstmtRiaD8bzRPM`Roro+dW11NWPih`53n^*E(P;AKA4`9h*$&iK*aa zEHk1os3m<6#-j-;>?DKMC@EH*45mS4@URT-?MqtpD3ST z5v<2j7#Gg=fWc}dlC()+v3$CoDtCKVPnud5nap&*%&(`2SiKH&V1U1Uc%iD;%KS%w zq5BDqhGN6x_=fqyAhEYMuUq?R$0oS@n9AxAJ!=@Ee`lfbWVpVuM?|)AY${&4Iw}M5 zzbs=q8nEK1{EIsI-eNy-j~gK7D!$^GzdvXrkO6)u^YBY$O&r1)X^qtExF8}QypD5# z7y|2o)D*F3(+>yE?QswYdZHsjAec);;{RRN16rKB|Yne`HzQ2nHZ7`&I<<3HnCcRZ5 zQAT1*E8X>15Ua$m>+bf?wHkXObTgQ5TpptD0PX4}rhj?ZH?&v23~JbbBn0ZdY{uhZ ztV6-joIy1?PKf`utH5!eT6DAjd>oY$C{n zmh#RLR7}N^gg?H27M{$n9qc_wsiz>3x_XIf6SWsbR=Nc*foS#DnwE3j3(6q6t=CkM zeyo6{V0ZkxX8xEiw!KUQbf#)k1}VlY85ft(51> z69ujCz#vaxf7{Nly_=U^jo=WhxUO1;mq2GIh< zQ&?Ot7d)FbP$=eUXGgyJ5iFI|t{HTae2W4e-a~+zc&uw{0b&`gK=To;ouh{D; z)1}s@RFma6vynaC6~r?8&(P!u*X*rxfgdJLy{nboOCe2#`R5S|n}yAjrt!@>6R$^M zd72HW(QW|AN&tydNn8E5&)4AjA**5KIQS!j&8WjqV?GlF)L91-pO>rE-H8B{ z3sLGGT<&EbVD7Vs?@qHOzGh13tQdr(HXuHbQWoC(!KttMkxZDycWwO)_$T zw)@s45e>YlW-S%YBer~)*s3f4$1 zt)0OkwmZ?nxkj-SDc_u31OzPybv~zpuVGP_d{bi^B2n%*!;+algQURCIfR+rw>nJz)~g+iG8`x;;n{IATxmLQ~aio;HO?W}r)ycGQnFQ*nxD{O?4R%Y9w zs^5NNAmLico-8~9|Bo3cI}#_o%T!_zs~N5Vcwz31Kmw$Ubz{)w0qyQ4p*mDi3PPaZH}AVWS>kn zZb42LpK~VCR~nkN%u<9WbezIPF!%N5FKnD{#uU^z&;*2?#)OIqLw38&^sPHQ)#h&) z?>TWIYVb<)()%QH*BYy6fWN^+i04PPiPloUNav*jF)KHr8kxid3OaMnT+e2Q!$d6# z`Pf%2^KeNV$m_-#xQ)A8N?8f2Q?QcMV5Z(P_wvy&9+gWE_Q084*Ig`_8kuaps8Agq ze;QjaG|MBdE#&xw9)(9p2__oumSIhV!9|5)=1Kwjc?<=skx_PIW8)eBEKP5WpSO$U zgM~WC-eBqCjjaW6TjJ0EXHm8{rb{z$c)fd=r@mNP7f!Xf@|akB;7luDqcyV*sU!Y^ zN7IxZ@vh0UfG^1{ELk#|6^x5($zkHBgQ^sN4{7gQTwqkokfRq)Gr?xn=`VD^$+RBX znr8!=Z|U2(RCnc9=H~II%`^{b$*#FrHe7PmHZ9a!?46;aGN{BP?FR|6on*^c>IjP- zuJvW^)E$Ig#~f|>?o7dnI6$aXX~k-s-xRZJ*?Z^Sxh55LW8=az<hX1p3sHXX zA@u4qD!5Oqw*JtdfMwhW8Bl$K zhjfCyZxYv+hP2%s;sako74q>1MP9+QCDR2t%Z|&eA+|%Xw3DVrPs~1)hwIKy(Za9b zQ>^DU$c}9SD*F=4GrbuJT|UOSRmP~hJKZQ*0+pki$2ry(;Gor5vbWV zQTihZVPGEjrNMoLRO^IsrwI8Gt)we!7!$^fm7;*u1h}n1!y?*UT}xozg}U{(hZZ6E z;>tnsQs;~t#r52kk%9(FQB@mhpQ58ZX>gBt4ht2Ycmx@3XPbg{* z&_baHeX0kH&U`V!oyDA4^LBwCRgPwZg0_BhDXJ*_c0~jO=upzCL*QX%q?*Po#;~&{NOq#3o2{$a!5D&2UuM^c-20Qe)tft~e@Sbfu zv?Zq1=W@;-dk=F84deu{T6fV<*?V$Fl^-&{##=s($pSr8qMIzq+Mm$IJ4%-Y!~W%U zW%?U!N)-S;+-~U}4IQY)8?6!WXX3x7>Y8L*V?Fi8bn>_wtnqJHAI06=qS+uOE2Lm_;5p9qS8;3?1k z-Ue>Yyy1VK6F6M+-#(iG^G_s^f8RBInE?mzXa&ZCI8-%VH$Tt^Cq^r9pm8Oz7FuVr z4_4w7-|oV6U2}`VoTf}8d5=Rff|6lV9m@k^$DKsTRhIpF=)q#6w)VJTtj$5F0bg>kA`Cab zuAIJC+m;rUzYE+&kOT5%MS42Zm6=eqOv?Hc3o6?HOFvobHp&h~%}BVkWDD!55>5Z_;hQMJEp`$m?gGIA=1T z1aK2|R4`*X^wO?4fUuVKA7k+|iUg%Dt+SId0p07*oX`E&&MHjUB^(N;W#{3{U_cND zCZDtgPstz}fSeus@1fIss3!W^8{tghFRcyOc-rDyh2_bdxRb%RJ29vo6jq|PZ5)z6 zz<&bQ?(#Qa^KK_iUFWI>fKJUXRL%}iJ``0Edvv%q2WMtmj_Z#vt&R9D(KPn1`B71y z^q^Cwdv|zjwbjt+(G*$6iaGD-(TnL`A&S^T<^uR8nycG{=A`>wp2+0tqYLEWyA1e3 zdBpcv9@jE~uGh1|9ygOO^h-neWMX}U2QTAS z49|)uH%2!wGJ-}rg}=8EjY=PyxfC$O{jiG)?R`d%(<{S}rhQx&yV*Qi!k_#2u^ME@ zBp9vNUHz4b@wa5kDYOuYI%RML7(x5oon0X`(gdZdNV^zTN-#y$_d?J=R4Vn|yBCm*-6lcB2-`YY`?Axmd z4U=+vIGU!LJcNUM4PfYWx0MAy7}pXo%YY}t)#oL_(vb)D;Bh0cl7CA-KUi}9qMlkI znN{|sJkizqv-FStYYGFoxpM1JN#13U<9U`oO=m7ghC zWEm<1QK2ByceE7MSsu2d21Lq(ro`ssNn(pl#_m`;ZdXIR-7SCC*n~$OVFp"vKN zMfAy1{c}UmlP(htK4H;>j`Mks)(-VRdKHPN4Cdw#3lu|^ovV&S_4ztwME!ZrE(!2} zsRq}N%^xK5q4S=pC4NG`t-JqX0N_OH_Qe8NS?l=OMy#o6?m=QO?vk7{&u3KPS~!GP zS0ndDZjH#L8jvxd|E>|;llrI#!(`4X+e`Jh3zOPSNV(fG&Q2@N&WO2VkOKrNSR7!Y;gT{WLlPfoB&T|N3Qf z1fZOABf2BkffZ)6-Q)6&1y;nl#%wXV{gT?1}e;Tkn z=eW*`1W34)M!;*bd>S`@yP0n%M7pCtQ#2hFsF1h+HZwir+x6UGN1OY zYIU<7$$(>10}zd^(KF@gS1yqe%2iRr0K@_9v2ZKkXvWy8ou=n9(AJN>K^vEhZ>Az~@Y*FPA4V8lP4BdL(V$)@m+%zH>Jw8%LP zz4^eCm^!NxX>Fp|n(e9hr=`9&U7!DSJPT0&Wy%~HSyvmB_0kP#0cd~w;@0p195AG3!lrJI^JzqDrI7RO?$hnqNWA;OLda@UFqe| z^sJ$!$QmJG5ZhT%(OKYiZo>htLF&BS&HbW(((#h@lWX*7LNJwd_x*K*395^zW$^%P z9}n*G}(fieJUpg~D}?b}t8trIUsbIiW8Ge)|xYg*>k>zl(@u`DF~gGfrK z;2DOr7Lu~S+}@h#3V;haaHxJW>5AT4kSkVx?dHrN&U*W3d+-yEI<3m;BpNSZj-dcz zX}YGmf(3H}=taXC=U=WO<&!pTwXU6pMw5^5Jh8)TyFKIygTHY!|3v4d2wGn;H*?5@ zP^~`RVorZ8+r{X%5TmL1;a=HRi3?+XfSQqY7@d7aQ~()AzGl?oB>Mt+gq70g?6mdh z2kzWkU#sRfZi?rBj~CH={x_s%3BUVXzsE4MbPH~o&gsW{Dsix~yIHQTen$sP(ppfd z)0Z>kM-%Y}X)&c+PZ*7m`SadD(0Gfre?%!EzRGeKZ)ZU7{QX6=dR%WnjYu#F5F?LQ z+xh{`g2D)c*cM#a;qo_(*f1QO4AJ|t0ksPvL#fOrOi_wSE!^I;m|+K+zoSRbvMStW z^)TD@U*Atgpi*5H;&ZVAbyDNA4kX9JI)@VstomH(GOrQuhqsP3=25Ys!XIT~R?*$? zFon+qW{(9JsM(?seei}ok^dYCDJ=Q5_8Vv-fD5+hJ>^D_sd(=Y567TeXYCbm_5 z(hD4(15nWK7ag;)Ily64wM_s4C-1sT?br!GvUj)Vgz{Me=k7dgk7tGXL0m3XD8Hzs zR;vFhIZIZ>jzqODw(avg{H5()bUd6Kl&s-yH}ZZ}x}z>5Ixb4405Csi3FA0*dm2`Y z$bfwUMX5M^4h+`Os8khM7-X&SxttlwoRV=K-mh8WU8@ob8nwrm8BnLpqt@(E{{q^1&Eg6&v%8~!Vm{?j@z5uF@8{GuL!Fo0DOSvv zC~|RD4jfURjpI-a+!)%}AS8wBz%TR2`Ws>49XcG734ZPheHYQx`?BPuX9{Nw;ZfdD zJe~em0Yp*$v?-+d>j)xandL_g>)v;R1^%w*1Dx}#TZFF7pBVmxdktl|gEUi=5SO;= zn$3n~bsJ+89zwWu<)ZJR3E;KDwpFF}Sqv9fHyPjU9Ffi6;Rl}EGLoDte5%4!*g-D^ zX&120Q8%QT{W{BG)dyKOKiXzIY233EQH{j~(WS}#9&^?+*;Y`0WXecNSSaD<60-W| zr9Qxe@m#LWcL=^_(aTbjM1mB_!9P=08`l1g5$s>ojR-^0*ajVfeVQ~nrQ_L5zp=Fj z2x5f-i9K8Vhho`}rC9wYON9B=px>=I1y|{o<7C&|S|Aiw?bh&eUHexT%?Bh09hsksrqM8vabVR@IWd8MZN!ieJ-=0d2 zyJ=@O*i-9zV6)_B8!NGg{HCicF}WvvC&j#|$-$M4XJEYUavIW1X|{<(OveNQ_ou zL(67mnCGJldCG0pbS{eH$^_b%P`QXWB2Aq=oz=nz#-1gY!1>Ebuk4!?aJ^c<%t4C? zMx}R?N#haZB!Iyh(E|Auy6ij(eBy+PjE)j=`a{ddS4dAy+)_HIwhsXnhT9q^9$HS! z4Te+R>uc#d=U!^l{oQqvyZ0=HV zC)q=ajly6R9uWl(iGtHtVLS7bK2ScfLM^5Kb~x$_-k}KH1bxri759CPA$Pg`{;XDt zSejWSErMZ%Hc;Wu0^jH5ZmT)HX1I5_i7r`2BGDlFNcFxMW2Rw_9X7gY&f{SF)ocjy zH1+{c@-FzRF3JX6_>mMOi8W*UL2o%J^969pb}$4uknmeg0ufSd&%QiXKJ4WhMr-75 z0B0?>vbL)Q9;eTs;eP-A#YqkGI-Gkd--ckVRa+HuR9%SylG581;71XFVe3nIE|W1y zGy`v}YYgT^I>VoZdm?`cMI*NeSIhl-nu%c@ubK6Vi7I`&-OFho-1VC4mW|Ie3N zfX(IwzKR9q)<71(>@}_()sVhE*!g=K!a}lx3}ke~9CgR8>p+Ye@9gA*rt`Z2EVPVF z<84D~1VEnu&E&IoqiHF&lx>3S%o9;DlQqFG1Vy5?{s-u~Im-V(1hZKGw_p|{Ckrdv z{}{|-U|{0-zXr2Bj1%Z|S4}tA?0HT9e<`cgHoMJcPrLP|%CqnGA}=E{^826bVNK8M z#^yF;Mi<5tpo;7) zfd9g)05LKEWME)o7)k*RJ;CM4r5&Nr0fQNj`ho#jv4xSPwWY`cGrOa^GmGm${YR&# zWc#PrQfJ4L;%{?Arpn3z(V>+6(~F}h1T^&pl$7Lf1qkWNpb^=dnOvBg04O@KHZ-w- zOlhNKZnI@60L%X{cj;`tH< zdTN8KqbrdGR(FS&C*TT9?5!={@~MQirLpJ!?05d^5?mO+!@&i)pZqh7-`&R-HK!Mc zmPG~@Pw=Z|U~GR2&-EQ$m;CdiYbqm4t8e<&vVVuh_{pt|?9Gop`u?kB#r{{zs{ijj ziI!OIM<4K;n%2tP#@@)%98SUQBV1aTJoyjoH&uE+ zp8oIQkCa4N8D7~qBUaVh_!go1xwS!xf8p?h%Hi@u6Ik_9RcyZ{vlrXeWC{@)`Dcha z$NRsR8h4KG4guobohjUjFEyee59Riw$_tD^h#l3OHKju;=f2MWSjbTOSVXTi1FQAc zQ6~fTM0dK(Y-~X&l_i=D&ofu0xRdVj!x%;|RNdfx34i3(biA8kO4kX+rsm!QnYT*o z#8Xz_5!c03_*mvUYAd0t9yuTuiT5rFwn}vg~<;2+_S_>%Tv@mt!M#=Zpo7ILT zl9L;JK_p&n3(bUIq*skxYCnhd%+Ul94P+>K4)8Hy7}=*vdc}oPOGhj_f{(52ThOX) zBdS0(%3tU2N<9k>+IKpFbbU1I!MKWHnV44Ow*hrD?Nt`coGNXaPvXCv0!8~Ag%g0n zy1lTgrdDUy4+QCsmxTaYl{yO_js4!3NCrVx5Z~&?nN+6R5fEjVue}{reV0^DyCYfj76M=MKEoYT?V9yD91oS)`EJWao(y0lDFvpxxLcAG z<0i}(!t!cQ$ZH34o^QFGe^>HDvmMN5Eg$D%oOY)_c|47U4SScMHb3PXgP_5_Ctx?c zs`zGs2}=MgjULo^mM~-3khwLZPCS4zL067!!3o1lrY+mRmCDEfX9+RY zohJ8N?><*!52$jIJX;!0677)iifdFI<+&JI`kO`e$1*{FNr$L(bPcZqb$m%&0DdAh{tzrsVQHnG-&KkTwuoo#$5~GHTv$Nk~%oc zXr&}7`^DobD*S2ahg=wj2j=*Ct(essp7ukF?KB#mY4T$}V&t|o3>QQGcq1q5`MW=% zg3uz+vysfbv;vv9?S}hw4D3Ol;(ySPc)CmCJm~Vx=*@k?Cs9{&gsP1XxL>0fOG?|Y z^g)iorV}3R(_r{g2z#~Xt*F!#bsDI1)D=+!fvxL_sMa<(c?x6mBkn{vBrbM;ly=tg zyf^Y&_2ha@U%2ms=f`}`m9j3KPeWnZ5flF#5X6ODJ2Eu!M6*?p(6j`8pK4WDESxvc zkY}eOKgKEUZp+}<>3{=E-8YJzye~|#%l5Tr3}7EVs}i3t`H&9e*H78~wxKchx2&^k zy~VG<8{^FH#mgFUgr_)e;P3EYhLtWoZEBsS(QZHVpK=Gv#-M^oEj=liXkFnCb!OUd7rX=s2 zls&)v7Smd>3z}JWR-a@kD9GEx}2gw2P z%`OAjLM=%-{?; z^Ax8+#32?rU z1krI`K&IuePvLb&saN>dy|SewC65*4qm>~}{kKutxdprk%Ac3*H7mc+rhqanFwRg6uqQh z3~@R`s`Go7n);Sx&NUK)AV|cRY}cq(3W!S2crSr)TV7-&%mfBHY7@Y!euWD5Jbm!i zwZZVhl=Y-uT3d(h@3GhG67@x>>6bUmPcdfDuwe-nbE3xiMGRRVPpvBZAKdMt0t;Ds z1djv*Idnm!En~9xtZ8CW`!+sjk=Dffo>d>~k8zwi;(2cLu6j?l&11R1bNtPd&NEe{6ltjW|}j!(sp>|6>I@{Uf}@ zk;iVm_Z+MYqOC+^QN*#%gb#Q8QCGqrn>ff$uq{-I`}iV@22D zC#KlM|BQqlo|L4EOoU@J3R-KxH#Vlq>}tcrBHXRj0HKTOALEkGLHlFiO?`gv7t((Z z_Xg(+h|rrCqN*W1V|Mr>-_%qg7(h{zm$nVCvOlgRv)o0lX ztqI!nC^-V|ecy=SlQxU79p9@-5aOjz{dA&ZY z)z%+~Pqa6A*HA5hq}vtVS;z`67S-T;{PL?s)Tx={>blMUDXWs5h{}o z)k1+1otJD*@$R?7yarc_vZ&CcB0&+x=s`u1%fWLLglwL=uhImQPVAi933j28b8r_o zyg-$NYYxCBXEiPX)z}$zVK0w*Ho}Stk`$A(C0;CQ&axV>wn%Wn>~9(Dj=SVXi*T4v zeL7k)@w?Umo7Caja6vexod&CnsiIaU;@v(~L^Wpn{OI5q7?J4)T*=oK8gS3lG+JJbMB^ zjr7#1Om}-~N(jfjE7gxb7r}HnngWHZ zM6(x*tebTw`aUfgRH3`&L6fbb1ogVYN_O5ezxFZ>C9#7A9M1<;vskpS8lM?r3-am|G4qK@#*RGmngIC4m` z!p<>G&KFnpL0ca2hQf{q)13j1E$ztt*iXkNuLIk%$msnX?sQ?&-8O$@^P4g_RHwar zI}}Ibjg-YemvQ6kp?GS|U|#ZM*;)$Z6pY)0EUq^noh&;U?$2JcD!@|@+2CYUhBfxJ zy8Hjq6I--7%8uGn`)~cs%m8GpRJ}5IT=~;JFUZfrtuY>D0#}B_K_L6K8(D1*e&P%! z=p_pAkbX~=6YK7jjoauw_v=HIvhy&s?iL84kGe_A`I@%g{&~2m2FEVGxj=$8z#)S3 zUz7ti_7=@t&M`sr8vl2Flh9}Ce9MNQ!o>nx`fsj1But_+9~o- zY8CdGKwuyI-i~E}8&lPgoOuZq1j4%Jfb|Eacf>7x?Mg2g^Z;HgOWl;K90*1fG^Sy)$&g)PMX^_oV| zy{HDAtaMgQ@dQKk<;rjTYMQUGZhDP4zWWlGwU7x7iD^&!eBSTKrvm(O9v!*77XFqD zegc(+NC{%O@-`n^p+@17R4QPek(r3FbUDwbHb#RBpA&oBx!c~Msa`|kzyNZu*V7&j zR5(;M-1ecuT<=Rs#p~n)4h786+cRPVe-cE2+ZXlJpZ@beg?E$7c&u=(fadUi=U6-# zMnvJvu9cBHAD&yWP0`6P2+|_)a83)vA$8j?v%&Qp2%0W6BQfgV)&f`?BtzM2!0&`R zK4*{okeJq^9I7xkUksNY$IER21rlzlN!q@R7#RvpNR!Gyt3j7)eqy@AD9hO+Hvko) z8&MDq9CW+v`ScGJ-&C6qk~oXF2!?`hDLThZs|G=w=65^p)h9BhDd9 zXV-+!&LU~zLDUar`8Vc9$aOz>2HU#hM>NAWt-X{)CsALAb8pUP7%GAvJ$E-$+b&SR z?XG*;hD_;I(x007sdrOcmXO-DGg|}u?kl!HzXR1gk+2A_Q%f>$4)p-}2&cs*=ZNk= z5&|;u8H&!gvl^WYaO{UB8szRNR`GbFHKV%f4Ug0kz@0C^Zh(&oH0jAQlvJaj6y3(P z?As9L{9}eYJ?ZAk`ADK5$mvBRl0YsVPZ`qZf`4;-mw`L3n>|9ok`Ux6> zlB`wF-}U4jD%R5MXC(}SCXpy3ExwETz4S^&>#k)~i5k7YFKIAi5q2WoArB_`eN?*LE^?r zk;|j_Z-IXaN^|E={~ckS3cWuPFH$$#!>nLYyNqH9V$Xe#lx4HI#u*Z9Wd|5`#@do# ztr3=J&JDSCsRav2C*-#O5QfKRFMESS+AU^v0if?U%`wH4iVE%ld$t_{gXGj|T{rwk zKq%30AY*{ZhsByO-24l=h31{4M_}d08VXH%kLh)2(fak+-o1)PI8cN2o5F2(=%uRZ zV$cCp6+HilkjzOaDOvskgcP$TCf@NUla>tj&ht=RSVpPg-EN3a zN&!S-o)iF!@ddBZIFd7qMPYUUr%J$|55i*{v`ZiA*te!)vIy;>TqmO%ffN)Y(OQjX z5QO(mTj%{e3TmlpHZb~gEu+`7t-J;q>kjGU8Veic;0rmC_)oVXmR?9i3f{O`+}No2 zh~f5=`ahHQ@`5t4o{HP!{r(S9QQ7-_ff2i}Wa@Z5r&Xr3q|r?3LTwmI!}?alefu(* z_-XX=h-O+1B?l3;Yfba5vU2+Y7Wn48@KiO@5Ai;SC+xG0t7w$WehZ^$bWcpH>TDKs z*E`5cp?*$1&T{~;eKQMcxdJYY$MDmAw9XG$FY55j&9jWwbK6~E#5GDz^fo_3$-4CUD|Dp9yqR%H8E&Cz0sm0Me$c&Sa0n1c{Z|(51OmZ zf{;{6>Saa95q}MWRDtQ7!B$$rPmjcNJ1W|K_$Rpqm}e_Fdr16hC)zDGI+7usJseJ@ z*=bQAqNJ-|_@co(0`8c;1Dx&*T%jTl={3Ep!~H<`PmfSph>EDhVr=#4&s51 z#c$%)LMo&fjz#zH5#PM%dIOnCPk1{r-HvoLQTHZ=L#m9!h%<*w0lD;AnNlTXpaWH< zh03}b)^T-i5rHn>9P~Vmx0hgEuJ)KTJ2N!PbWr4N6E_Gpi`d7OOd0HV_REtc8)}~M z{aS^xgppz<-DZ@VLJ$dt<5KP)Hj_;VCC}o?;uF>1Uvu?PtsKDlHZ}V&skWkQIQo+a zI;bqfF2|%Y7zy$Y5+@Ft;yxn&{-a@Qv!k#rg6cH?k02itXm)o4!uZ^CUJJDi@)%5Z z$N=y2vn5Hg(+jGmYRtFP3nHfhFbyzMIsrt!Z%o+#i!^(yTPwb-r;z0N*y3i8UAMvs)MBmMBDId;o` zzs9@dEjQDE;x(+yu)*L{W@oymdg4fxk-B7Up;|FnJcT{t(uR$oo#rqWVE86C@u;)F zb!d)3L07)SiT1HThuOmy=U2y@+Bm>`i9HygN?s7{=L)mIKifR~@|Gq4e0P--x^+uB z7_K96G#TdrmW}%Ik-C1n5>W@+1i@Jq=3l03OQ&e8$u!Xh7mK18Q#g1Yj)O4YGzW=J zYiuxsFn-_Pw;i@9gAQs3;muWwpVtQn+?D$~yAwc)0pV*#l=6TD|9y?~)m3Pl$b-)5%3n9SX$-PrGeVT#bAnr3Icx7P z%dimXcYIJ8KuA4@C5K;LJt02%l_DEI( z;V3>w_$!^0sh>f}ejg1~EQ%k=EsJ4t$x^j}ttJqn5|{-d8TIXZeo-123iU?y*PZS{ z9pgsjocAP$rOWNDqB`cDFX5>9v`HTh+m1Pro%3X_!GjzUsqv_1jEJp>v(UJ+)#q~2 z4{0gcm=mpHd_~}3#5hAGnlqe7Kd(mAf^-dg%pP`6H6bzXQ!V=r zT(4op%2WSm#pG%)-SD3z^-&XrKGWPrWx zA1RHXMe3lK^Kno_GhiZ?1cIW?+a*z*-UUZ&SOrS`!DRJ&iUNnr zDapW&e15)ryxV_{+@XW+Xw|mBRVth3Z0!vh-;+XaK6s*;l2OeLZpo?wJr7znKl|wn zNirM1Fx6GB%;}is(~ogoaJ7$PTDB75>Jzs1tMHQFredSUhq%0zkjK4=2NaWD{j zkrpfF3d!vg6Dof~igqn?&cpP-uEI-TX9O^SOQ>HmjWJ8;2FTpg?^~Kcz9l0n7@hio zQ)UW#n-U(8Kk&=sw}zWdavKsKK{oavX=SCSVv|~jcI8Lfe1pJ;&1=*P(!x}?3vae=lF}oOPhj zR7dv}eN1(AXBFl3P*r35iQ&k_MBB_hN<^u!>kKv}7g9hLYpL0B#vdwT2!-o06BKg~ z;d9)dYv`j-;}Szza5&vk8o^o@#^p z$Ec5`DAw!chLof7nnDkIMpS0P&&BtMZIbABTmXkhOSpsL++1}8JD1rWMXL|DWN}Y1qERq#h}UbbTw4%#NDNoMHABOw zN{}ZMh!LRNYJ;4^fzW9I4|?NV;bDRK~O<#0*owN_XGERx+7&%uDZJ!O(nmQoXm({Ob|Iq1(bY>gMT|sk0U(L%ca=yR zhPEW-p*3^PURIwqh#N7@0o6M8D~ePiGA)f!kAGOPx+(+7aJvL=DM4v1@<72u-D7*Z z;_T!4c^%)tJ;3vIr@DZYUIEQTileh;qR_n35Ctl-07E*8_LDziY+gYm^=$J>Sr3i- zF8{HXQ|_Q=7SBTV3A1lpO$W9gYUk9DH`r)rz$jfnp#bDuGrR|<@*yTWRysz-I4Iie zRL@iE{2@(LkQqCLs0~QxfQa+(h>S5&N~b!k2#q~<{jiv$qk&lO(U23y5lm8pZI`b= zj)|^Fa^J^tveGIMfxbzi4HLi}u0)g+<<9@L>W=bhDLfe*8As*`n~g9gQ;o2cnoDn{ zS(%3u6{ffrN)~U%en0ouNb~#EI??#MwK8_1=iWWJ_NB3(nd8A5L>WZg%O55iV-`AysTLIOkK`3&E5(1^Uw8TPzb%|+fUaRC-yM{<3)dP;2%vD z@y^`^Sq!skWkYJfk?CK5RR_6V{@&eLZQeu7ISjHJJa}JogjX?MelPB-2^ZiR+=gF= zC#WoN$gm;uMEZ^398VW6pj>k&)4hVit5o6qX8WHxVyq^%jJyElCstudwPnX}LFgIr z9-t#aGT!7^VG$AVpC^W^SN|z0gjq1=lNHjrSEEx^iqxp^R$C9S7CWIN=J>sw;CV zLoyJQ*=OP1KNwMHL5NWB+Lx(JWlEX|s68{=Z82kR!NaE6f+vV~@yy>UC$fV~G|-q_ z#Lp(wHbVdaB@B*d&@;g-fz-&Tiw4mWO=_0Wdrk!j3!vF=De%oi$_zDG+O;1wW<-r|vB%J)_fRkfSs%*lu#fqX;(_>=NFu46Iqq$~Hu^_z;C3#0 z?L*HfP3<;lmh2p^pQ;M0u$n-}Q3l+uqRExJ{C!%yVOVorE%IJIM=A(?* zaqHX(EzMfa-@f?xA|A*?EhmBcye~YitUFjOB8>#Bwa>mt{gqS25mDUtfTWLZ>puMwAjQF>)uCdxIp35H7 ze#R1;s?R;e!Qv3f)k8z9=E38jpHADk^?MUh2}E5XUT)UEDh@R5ayR)tt|%`hCyo8h zlrYDP4Nr{|u z1Msp({5WwZGnNzN+1QRru}4Fs5vQjbiyR@jcKXewKeGm2_;MV>8WPnkbXSsESf+e< z@mjqX%Wflc0DnfvVOvat={^%7_*&@89p4kjr7X6YU1H`Lw8&(|=WI8jb;j_Fh*)Ok zFE$L-M=Lo}X8LgyUXgzL{%6c_QijXNf!D1s$=<_8)~rSTxk|+3H#${nn=J0)#JxOn zmr+v?CEK0Ax*f71i@-jWW8Gbi984I$C*nc#R?qi#%7h{?#Z*BN73r^q4%A0P+AqqQ zmwndK96>$0@AnNAKL=hkhUvXr4NFNlp-s`B9%XD z(~05~Z%c5F3Z~FU<8*sNqplWE)l9bQZIMeYczJj{xPl^u>POSJFl_W_IdLr~+lqQ4 z>@JJa_s3tU;*4uvuqB@7JXZ7BUmD+wi* z)Q_Dy1r0bgaKBBZ=`RBi7Ucyckd-&!FBvt>!TsOX&nu7yi*E(3Z5ZOE*ho|j^+UoN znGEvoMv6uBaQik9z3Xa-SqyT+9mYw?bOja8Zi3%M2cWjD76W3Nm&7DNl*piA>#%%? zuYfl-EcR^DdQ>da$wbaZc?=r4TFO8KmEpfDYXL*0cGKISdy?OhY+bI&v&zTt%~em* z?gj(>3webstodTHOWGm=v7f#=_e}KFU>?|uIh_v&G3EW;z!8y?zc0lT%7ApONJxM< z`?UtsEe+sq#7a&w{H~{=;>=an6S~srnWpvYG!;!qV>neE%weozqA-CBP}95MzQHNH zLEKwf$oo8rfnHkiB7R+bB>m_Nae^AUSdks}CRyrEU%HL9PdzF4NySo}^zMApc{)F+ zVIhy&dUQs}R86VTKJ()IBCd+cDI3VncEAIiB9E9g6&9C&3@&WIKCWS3W@Y8{#j0rtI%yzZ2=cRQf zgen~6zL-;HHe%xs-0`Ur#|#~j`z}W_mu#rXR@9k#l{gLzy~XVWl1d{V)bw44!bKEG zt%PPXO!SAVE*2Y_Ce;DFNppwB#3@NBki$h7Di;$HeMdQaw{@yo& zX*#nF_2)vJy=Gnc#Jdd}uq`XiHsY!Yb+mk5ckcd{pv_%9`B_6h&HNpX3<$L%4{=YP z0PBiRKhppt_?w?T?E-?4tr6gfOtyp=L*nJ;`aCj0;%^>UL2B0lP6RR@u(;9^=Nl4C z>h*68vQTHQ%hV8t+SpXw`DyKxbWoFxJ(Kzs<7w=uv|Yx&^;upcdWgsDoX&qwX=?o1 zR2;!DR4I3o+k4Ap+xX#hzOXU7@oV9Luk?Sh|Mv$JNokDZp0DF!XyCoYE&Lyh*$(7b z?5`A%sBK17roJE_DPn5EeQJq51bea4MEUIex*-Z}vu7Ar;^W3CWW2XS6Ge zYwcLk2K5MioZ$`ZUpPIBbYx&^{*&?9N(@xt3Oszmpb%Hh`-k>dERD+9c z#N!c!Clt;^EQz6S3>BW&yIs+X&{Bvyz;Kg=!>4w*<86&vqPI?TO;&*mZoi{?BQmY0 zGJC{TKY?D$W80jSl3vZ^?{^GIV9hH&R=>!yBRZm~5RLw$u*qrtv3^Z>jR%p2u3fqjFL(AL6G+*$}5uzw# zJD<*|yzY^lN71+Ul1BA;$P8A9!pt#yq&wv6^6^+tPGr+(OVIo$R*Mj z|7v+r`f!N^s&5rhlNmbJmkAQ08M9xxgN_%{3y8;UpLQ|USWHfiLAkBOIc}_?%2>-k zMKh3_V<2JGYnfCF5BDcs5GdzKM}gRG+?*%FZXO2y2@MyjJ?6@&fs@K2MrAL5 ze5p3=v86vH2xgdp!CCU~@#iV$u4(O>Xzrj(Lgy!8|MdY+bp91KekCB2L2dnUh@D#; zAMVkc8egB8)4Uw5&y<#$YvE;-c|hP3lpQ-1W2cV|F;YH!)kM9-;01UI|J0D_C$0F< z1zS*Ce#}hY-lNp$awhkt0{`}+=?;!_0Q)l26s69cNG$|aeOmV?ICrpblOYqjOW zcJX>^`RT2zIoZ`!?AS#><+i7z@^?wqej>RWKNGZo^|%6}?FxsfG@19E_sFTea_uX?GB167uh!WNN7kxnbWymgE~!3b2L!8y1|^zh(u`7-Rtp z@Gn}wg%4Y4#I7S+nc%=9Wv*RL5N|PkC02fkx!FO7RH%?~FL~xylD)tClyIeFpOW2- zOh!fccChA)PHCT?Gmis9enk9&9}}L2{3f!iqDZ(8YFH0Fq{tRh!@+)#w9Jvc225ca zl~PZ<_h;=0=p8X;ThfD79_nq}4K{asYX00YFUxjPV;Y8>B;e76p3N?5O3Y=Eg2>Y7l5&;+Nob?k z>9PJ5u+1YN#Zv8_0H{ilONA_eNldAB)B1|lX_P%l^jWxmz4e2Omas{B9N`SKt+{eX zmmy%M4{H1iLUT_^jXt0Ei3Lrr$65=?kzD+@TZG?P%H1WIuWjtaYbl;hVjOhc-~dRo zQKFJ*?RATX(QG65+^L6>oOL#bBUci${8;v`r~O)AmhX5Xn&-$K0kI!?G7TDNEGE5X zElxmMaU}#Vf&^9Zg1SchJ?Wk`^KaWZR!uN#qW%~KJ~Q<|D&nZh?hgN=TVGI5$fsxl zLnug(fQ4FA#^h|&XHAlePEDoslq!-)vJCtndz9xiReU#0&%tb`NPy>D7f{*;p*}dF)>=MF4Z$wn;uQ z)2|xdI}|?-0owcll#m8q3}&=2;Tf?NxC7PkJ_ch#^4?xk_k8V$T??WIj=*s9NfwHU zI)>lbe?YMIchxnA1gGApq;+oyG72b@5SM8V^7D1rR<10hK~k^_3+0fl#>F5}bjsQ_ z^Q2gJz1Afa2?U@Asx=eC6k49n+7`_2N6*-5+$>~k!Y$ZYq_IGOHx_rRgUjGy9B^`V zYE%!H9y9{wKFg&N(Cx`bGNn~ZjXFBFI8hB z=$Egkly~{}YCDc9e$ABBs!HtLof&NDV0B^B4ZiO8UloyaS3J}mhobukfUPs_$$qwP z)kS6W`zpIpk3#)?>&oDvMu_@6+H|1pF%ALO#lg?J$l+i~iR0KW_YN-_)b zW}=u@XzHw_ULu6uk!_}n_##~qnExZGb-~YQK1~?Q5(a;mlHK(Nsljgz3d3DoF9ily zBNcdPHit>xpzKME;)u{Ar>|zwgY?3TirAUie`)`8yaR}|qBD;E8t8ES;^|2X9=X1V zly+hlbfu}Mjy+yj&cZ`2Gv7wxqf%y@PcOw#QYwhCy4}AqK^9Wlu2cBirb1)C<9m0a zRzBEfsK`y;CP3^U0wb-m_SP-)7h4g2TioHUftnE8<*6=auaBVvs(4-?%BMu6)_g$) z%%?F=BrCh0z1j7|QXICFghsBIZ#nM;;s>vMd#^x^Laiva!tK_b*J^lBo6zR6sl+Uq#9G|Uzx z48@?oFxI+mi>ssFm!g%K$PMFnYl}CMtrF^q>n* zS%_oQl$Y>^RQiTb5nikQS3vRgAf^D1fydWj?-iv1hsjXAi=8fiw~}t~O2qJUhmLO( z6dlz2jnq)4%nZel=%j^XsXoOY(x0yi{D4q=TEGkNf`V8!WJD+BZ;*)CS=B@}G$6Lmvi7ZB?o7(tPN z_-YJ@3&iC{)eNCQtfWA3td5Taj6BhHu)%pz1W*C;5U`&|-q`Ius-SGB(tgNc+TDr} zdUQ||plwa7S`a3~j=>WFYN(X7FYD&>V`|woA2ru8zj@DjA#h;DsvG*XC`bz_*=7np z-hIyo5&gh&WtovJ=o3B@Emw{Orm0!o%%9cO$KM`RbL^Ot7B5-t^`AY;h^7-^#J3lN z;BP^w5^3-@o)1RAMfw6JuXN2uNb!7@m1!e}Ls?;%@s&LzfV)|A2xuab&nqq%k@A3( zxxcM(BPgJ|QhTE?aOrJ9BP;|@WckS76qc9MI@Z@30H)*2KaQSI*iv|XW@}oIvtsu>z7D3eH#!u=##2fcPph}UL@(NVSxti!EdI+%=iSe`$R&F=B}PV z8I;FrIk<+>+bo_lXRk5RsD#%1%jVBttFncowIb1JFo!qKM^ zwE`~+s2%3)r11BEz&(c{K|x1;y;@B zC5EL`)|WZto2voH*16)Nvow}(SiQphp!6~~lZcnAbrIUa`Ma9}ae%Oah039{JC8C` zmkmh1gWTAF+N}s1xg*F@V`Sr7c3PYG5;!hCG>P&bhCz^u%fiH+3k$zto3z&Hu%I3G zMc|#OK~iae^JLb%iU-s5vUzz^v)}WRovTLcMaO$RV3NW1=18O6`BWS|Vj)>BV4Eri zc!*?Z@?pgFdmV^Q1Vk7njaS{GXsJAk%lBbumqLc3sB ztlEqI#9yvg&7F0>2OoCzvL7?ZOh|>5j+%rG!}!@Z3;~iBBA3pn8QC`2Vp?2LFWJD5 z)oE^2=2kGknP$gncHHt^SPE{LyVy(67o-3a)3CMG7)6NM~Euw&G>-u@?*W zRTUSqcU%pMPs{U5co-+vT|3RysZ*LqSJNseAAwltTp}nnrI1hQA%lvzwS6r-VHB%* zL#il^RF4n3`~l3GV(o9|Q?xQe_hP%2DQ$q?H3oyF*@i*V0E`Zr7lIlolGB^N9d`tYbp3PH@Dhlm{ zWucLe>(YiP{OO*?{*4a5%p){;WYJ>5xv+_MJ1qXg0CYDxNW<=6UAY6#)pdcjoW;g2 zM#r!*PF5}L;fq~q)z@8thJ4hlokt<^v7kDEr21jnx@OUeTmNxDnN2S@qw-2&awGVQ zi;%B31*8LUiYk}1!a?~lw5I61{~vOS1-sKZc&18C-C`pq_}MOpm_N?YYJ3dN!>{8V zdpnUBcoikmBzpG-6P0wV_HY9JvV6ZWC}rPNe7Ti-Z^lD5x);XHH=aA~2=1pu_P!;u zkN?V0)MmFXFh3;HL+jPt{(d-zELT-y5y*v;&X6nYCtEzl8;Pv!{QjeRzd3 zw}Ig+B=dK4QyW~~ABF=`aG!}KVjtakg=AiR)-sG@vme)KP~||Sf>QVta9J{=`VS_p zN$9H8C(K>BvZP;>4B9D9%4@ltMUbH!fvX%+UgV?VN*>yW$ljCdQFywYR>X?BsD$+s zCmvZSHkb*r2IL*H}T*_1uCnbWl9}q{P~IV74=K| zW0GsZ88z$HHrV#(t3px}wibB;O(?U|H=T}Yy^NT~ z3%LsA4W?{z1|2C=H*2N87nsR+PAwvEIeHy|=D$;omlCfFjyjNs5`%IdBIw?GL{mjz?qJ zpM9meD#^M~TXCgCi07)$fkAG)+brZNU&P7>YkMb1Z&aSoCn8B<|#Eigk;)z7yE9X~d zybiuhF`?D}KBKi0rZ>11K_eZPxUjxGZfhyZP+f^=@qmcCfQG^L7^Jd$yQx*G$qWk3 zmhlT{tHa|xK*o`ou4&9LCO!e)SBYy=Rk3AlR{YYIXZcPLo^}XakkZ|*6dfP$nvH5B zUFlMHTQfR*VJy_{E1bJ$AGD}2S%TO#1wY2mRO5RYmdS*fFlfmSV-$Mvtel{+XVvWD zrWXX4&f7-ubG4`DM0j)Yw&HQeKG28CVkpMXZZ07DMCC$d+ISklsHYW6o5BCgiI1I* z=3LZJ;ilIX__ywqJKy3FV>{DxSKr0{_g}PojP7AvWTuIHA3dTOy-p`R>%OY>=8?@0 zDQH48EDUHE$Q*99--iM2*}SrS97+O#cYogU5^lMcb{yZ6ODq!B!aMR+01DyhnMj@ zh;_@hACkb%85rP&lS#nOcPmd&o}bj8)hjTP;u}sgS$)*BI8RU>$^z7?^{2Gh4lQr` zV`HWfdOy}{c&CaCCN+Re$b)T8>m{-h9o0054Jp?AXV#r16^Kl;EjtYU58%`@WnAMV zz1TV3qUD3?mqsE$+5z~_*+HW~#-L!Eb=vA5RO&)g8MH1J^BbAU1`*ywn=r96NmrE@ zdIS*W7^Bghife>y_o+7@U_2_TVn-29TN)`OLwW$Za;RiOh${GyR4omr_7fE$A;0?+ z@n|p#C;lcVi~vdKsFu1{;efoh3ez#aaB;##rf)D*?`Y{a#H2p^eRISYBX-MP8W%H} zg3~TkDYkt(ZfqbG$Nn;h3F^e|uFB?>h4ht_U&{bMdulu*c6k<{K@1dI;>XNMly`Mk zg+6@M7VaJXr%1R%}f(Pf^`ZoV6ni=Ccq(~ZwLiDa}V0%$D{Cf7mgl>bXguz@9NXa3gE z!~YNx*l)n=7PRRD!yb_hf-LRT`DkP5_0osGMxmfDMU1-?H2D{^e(=zverZcqoWSEG z>YqC*)n1C({rC#q#^X;3z(OZ8G1h-#^7bi3?YoZst2!tJ7L%sQhT0l@KNMzCR*Zez z%BLd)RMUl00`JgK>Qt&0Sj^Z(eVD3U=QG|=epQ+1K8ZlF;Pw>ZXLu%~lsMooE9{95 z7Li29^UB_<$dP6KpSUfoyPC=savnqf^35h}9G+~tnw@rp%seDK4Ag!zjNieM2{smu zS9hMSiTPeKYRf3wPCp%6sZt=ygT0@tquFc5^d;j9L^GyBu8p-wiZCBaW)pSi>~M6Z z3<_f&F~hPu<`}~AcHN3)ln!9UzE@z{!KsP$NKFt5jAmgvZaS~N zg^1NJ@M>%hVhxc7XVWM^X)OzX7IzgG&Q*9MMkD8)a< z`9jb7c{UUcj$;eo*cn@l&GAt?<6&0k{h6b?88zh?YXD+{TQm>_xeg^xM81||$glC} zVfUEnig-EfgaQrWOtc3((X-rJIkBYaANMeb3sXbNirJ`dUb%mV|5o(deTg+r^hMXq zUkvJu7zI`Gb@Mb_9QG=7#eHyC760ki6zCw=V`9YNMU}NgCu@N}Wb)23jfFZ2g5mt+ zCI2WRr@(Zrqq9_dfyjpWXzU_5;mbns-Z>(mHDh#}+Psf)nQ8|8)o*`t! zw`11OS6IN|u?pFo<74ckVgvo6GSWEj;JB5G1&_r%y<|Sy4Ic!S4{Fikhga}-Xm?|v zq)qvX$&lTxEr=v>Ilki@xghyp0hA4E^5|S?8tp=mC39g@rT$Pqphy##)OXv+R+Fyc zM4$Lj@m%9k^Q&GPq{^k_xV~V9HN5({@o62tSv|r%%lT`QEY;9Vn7nA*_)1-f^#?RNI$c>P^;= z<~^w{&W6f7jD?iMF1-7zwPPVKbYPLPBI;7`-e2fwi>)|TCU)>cu9kn2X;(p368&BsQZ^?6EKC0U5lkmoV@bu!9+^xBkfe)3mp0G26Ev7FISK z_D~Xix#-xN8T{NqUr}o#A{#d3LLgl51EKqwOiB%5J{3U|MP-|JwLj|W$*XFP$d%tY z2ZggX{PdDh?HA9^te+V^5YY7Y#05X~`WEd6)4K+|e1w;V*NKY83CTF92_0~BK!k+6 zERf+lDHCyoxIfWNhxXxz%pb+N_MGE<`u*F8sh)Z}DViJ{+u*JLI~1?lNNuo(QM+Vp zUoviMbwlx3=RU|3kdqRjTyX(V5X>4+mN(qlPp5MS%N*2VNP?3H|q5X=U0A3I3&+DbtxZP*2A@ z=?EQ;%brO0&SmrVIRU#_?B*KDg+5T=FSH~h{zp)K7H^4hjPgE1@XLjtk1h9Nn&|(;7Y$sUs*P9Tu~t-Lae<8(`+v&qME#|?aOHg{6aelx zD1lWKu;C7-e5}W|R<^%$pWML6S@m0I4ft0%pI;*-|H`s#z>2j;Brq1dOhETyO0SYF zrwi7~D#gV9fVO@7KS1@6{GeY}=;ZFdMVh&f340%0TPp^O&f$YX8rTF3m2P|= z!WG|VRcz-;7anzAZ=LM*SXaOxLf&10zj%+3|o1D2LV&;2aeU->cG8%~ z<*{WQJ(eMLh*h9`HFw-r|@0G_^IJzlS9lnCr%iClXFt< zVPBD46jpKw%_8U0z<>#>MG;z|t8SiNPK$MCYI9qZZ~SqT0cF}{P=t>cxFtej8hbO` z;brb7?94nabgTZ(DDVJ6DyMi9pxQVB2@p4GAMHhxxQH*6@Stl$Dgquv{~4ZqfCIRm zCb{a3T&u!rKcmVEgN%)o8`;BgPTA;CFI@u?`;ItqI_h@~j+N6MBlW+4qO^q4#3EH_ z>l15vi{L708E5+^){HbYI!a-~qq{{BdQMQ7f-+n$5%qAIB|;LZ2k$lRa04E;wgt^j zHh&v*unmLN@e?RfR@7jxW@&Dr0EjoxG;bE73d7nmO$5;SbGvde`LLi9s>v&oD29O} zHos=oaGkhP3Id}-ahI)yg9Eebg4f96ay4)qI0p)A6Ps)PeThFno}7Lb&jYFJX{GZ; zUj~X_D}fB9;xTnH?tvMH8OL_iB>=7^D&Nblpbl@cG=!BWs zkYrup)GreOI(27D;H(9XvFik*33R3@{?T}*v=tdWi>OmAmN9%R)|sx$>L?3Qb$*G> zlzxab%-Gq%^hThILhg1W`4V-N;A;He8KB*pYvz!5LyX@kgq@3TYJ?I4shvLy9|&Pr zgkN%!_=qm2DE);yn5N_#IcHEJ43aB^E>h3e>{$)(#eA09!-A`_X`=HzRp<--M~#GA zm3u?)*hDfM*dhBpPwsDn8nY1!`)N-LAce%^RJm?@+-5v- zr-oVu^k@bwOfK3uYUys$Wxr)HTC+S`nWBD?Z(d=Z-jc4kFYT% zwm6)896>RvLRr^=BrxE8K%yex+Jf?9lqgOb@FLhCsc85AqSHBJE9n&!Sa&v6wbW@V zplJUESnbfkKRS?yXlT_G+J;Hp0F^7nuHmN|7CvW>?mvP8?IVc?e4nXD%vzAKIxXvYbH|v8mRPYa>zZ>M2Nig;&OnlJZ+Hz&) z8RzG}I#^5LePP;q zQF`)T{vDJR)55TXx8t}+{N3@GHXw~`U7TPjL^ukN)h!f(Le*hu+%n6JlE{=0n3vp53^R6HofR*q$vqFEfG(XJqrP9 z$|*nzxQT71CX z25dmJr2sU6+wwtSd(Ve-*7O+t`>ofu<2gb9&+Ll_b9^RKKDY2(=T4;a9-_(Tx$Zx$ zMOw@D91qAyg(8(Ur6Rh@0Rj6ZEw=_0gwczPokNf=JlD0`w%vW&wrv}yZQHhO+qP}n zwr!mD{Xdg;_6`0~l1T=sRH|0?+SiitDXjV|1CetgCM;TKpUy#xzsFQB1%f lNhi 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 AUH||9 literal 0 HcmV?d00001 diff --git a/src/latex/main.tex b/src/latex/main.tex new file mode 100644 index 0000000..7aa9c92 --- /dev/null +++ b/src/latex/main.tex @@ -0,0 +1,329 @@ +\documentclass{article} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage[polish]{babel} +\usepackage{listings} +\usepackage{xcolor} +\usepackage{geometry} +\geometry{a4paper, margin=1in} + +% Define custom colors for listings +\definecolor{codegreen}{rgb}{0,0.6,0} +\definecolor{codegray}{rgb}{0.5,0.5,0.5} +\definecolor{codepurple}{rgb}{0.58,0,0.82} +\definecolor{backcolour}{rgb}{0.95,0.95,0.92} + +\lstdefinestyle{mystyle}{ + backgroundcolor=\color{backcolour}, + commentstyle=\color{red}, + keywordstyle=\color{blue}, + numberstyle=\tiny\color{codegray}, + stringstyle=\color{codepurple}, + basicstyle=\footnotesize\ttfamily, + breakatwhitespace=false, + breaklines=true, + captionpos=b, + keepspaces=true, + numbers=left, + numbersep=5pt, + showspaces=false, + showstringspaces=false, + showtabs=false, + tabsize=2, + frame=single +} + +\lstset{style=mystyle} + +\begin{document} + +\section*{Initialization Routine in SpinalHDL} + +The initialization of the global pointer and stack pointer is not directly shown in SpinalHDL, as these are typically managed by the compiler and startup assembly code. However, SpinalHDL configures the core and its peripherals which indirectly affect these initializations. + +\begin{lstlisting}[language=Scala, caption={SpinalHDL Configuration for CSR and Interrupt Setup}] +// Configuration for the CSR plugin, which includes interrupt management +val csrPluginConfig = CsrPluginConfig.small.copy( + mtvecInit = 0x00000020, // Initial value for mtvec, the trap handler base address + mieInit = 0x880, // Initial machine interrupt-enable setup + mstatusInit = 0x1808 // Machine status register initial setup +) + +cpuPlugins += new CsrPlugin(csrPluginConfig) +\end{lstlisting} + +\section*{Timer and External Interrupt Setup in SpinalHDL} + +Configuring interrupts such as timers and UART in the Murax SoC involves setting up corresponding plugins within the VexRiscv core configuration. + +\begin{lstlisting}[language=Scala, caption={Timer and UART Interrupt Setup}] +// Timer configuration to generate periodic interrupts +cpuPlugins += new TimerPlugin( + config = TimerConfig( + tickCount = 10, // Number of ticks for the timer to fire an interrupt + baseAddress = 0x10000000 // Base address for timer configuration registers + ) +) + +// Adding UART with interrupt capability +cpuPlugins += new UartCtrlPlugin( + uartConfig = UartCtrlMemoryMappedConfig( + txFifoDepth = 16, // Transmit FIFO depth + rxFifoDepth = 16, // Receive FIFO depth + interruptConfig = InterruptConfig( + txFull = true, // Interrupt when TX is full + rxNotEmpty = true // Interrupt when RX is not empty + ) + ), + baseAddress = 0x11000000 +) +\end{lstlisting} + +This completes the description and configuration for hardware as defined in SpinalHDL, directly related to the initialization and interrupt handling described in the assembly `boot.S` script. + + +\section*{SpinalHDL Configurations for Assembly Initialization} + +This section provides an overview of how the Murax SoC, implemented in SpinalHDL, configures the hardware to support the software initialization routines written in assembly. + +\subsection*{Processor Configuration and Interrupt Setup} + +\begin{lstlisting}[language=Scala, caption={SpinalHDL Processor and Interrupt Configuration}] +// Define a VexRiscv processor with specific plugins for interrupt handling +val cpuConfig = VexRiscvConfig( + plugins = List( + new PcManagerSimplePlugin(0x80000000l, false), + new IBusSimplePlugin( + resetVector = 0x80000000l, + cmdForkOnSecondStage = true, + cmdForkPersistence = false, + prediction = STATIC, + catchAccessFault = true, + compressedGen = true + ), + new DBusSimplePlugin( + catchAccessFault = true, + earlyInjection = false + ), + new CsrPlugin(CsrPluginConfig.all), + new DecoderSimplePlugin( + catchIllegalInstruction = true + ), + new RegFilePlugin( + regFileReadyKind = plugin.SYNC, + zeroBoot = true + ), + new IntAluPlugin, + new SrcPlugin( + separatedAddSub = false, + executeInsertion = false + ), + new LightShifterPlugin, + new BranchPlugin( + earlyBranch = false, + catchAddressMisaligned = true + ), + new YamlPlugin("cpu0.yaml") + ) +) + +// Specific configuration for handling machine interrupts +cpuConfig.plugins.foreach{ + case p: CsrPlugin => p.externalInterrupt := Global_ExternalInterrupt + case p: TimerPlugin => p.tick := Global_TimerTick + case _ => +} +\end{lstlisting} + +\subsection*{Memory and Peripheral Configuration} + +\begin{lstlisting}[language=Scala, caption={SpinalHDL Memory and Peripheral Initialization}] +// Configuration for on-chip RAM +val onChipRamConfig = OnChipRamConfig( + ramSize = 8192, // 8 KB + ramHexFile = "path_to_hex_file.hex", + addressWidth = 32 +) + +// Setup the memory mapping for RAM +val ram = new Ram( + config = onChipRamConfig, + initialContent = LoadHex("path_to_hex_file.hex") +) + +// Mapping RAM to the processor bus +val busConfig = new BusConfig( + master = cpu.dBus, + slaves = List( + ram -> (0x80000000l, 8192) + ) +) +\end{lstlisting} + +This enhanced section includes the details on how the processor configuration and memory initialization in SpinalHDL correspond to the assembly startup sequences in the `boot.S` file. This setup ensures that the hardware is appropriately configured to support the initial software routines, facilitating a seamless interaction between the processor's software and hardware components. + + + +\section*{Introduction} +This document details the assembly and SpinalHDL configuration for the Murax SoC, providing insights into how the hardware and software are co-designed to facilitate system initialization and handling of basic functionalities like interrupts and memory management. + +\section*{Initialization and Jump to crtInit} + +\begin{lstlisting}[caption={Bootstrapping and Jump to Initialization}] +.global crtStart +.section .start_jump,"ax",@progbits +crtStart: + // Long jump to allow crtInit to be anywhere + // Do it always in 12 bytes + lui x2, %hi(crtInit) + addi x2, x2, %lo(crtInit) + jalr x1, x2 + nop +\end{lstlisting} + +This section configures an initial jump to the crtInit function, facilitating flexible placement of initialization routines in memory. + +\section*{Trap Entry Routine} + +\begin{lstlisting}[caption={Trap Entry Handling}] +.global trap_entry +.align 5 +trap_entry: + // Store registers on the stack + sw x1, -1*4(sp) + ... + sw x31, -16*4(sp) + addi sp, sp, -16*4 + call irqCallback + // Restore registers from the stack + lw x1, 15*4(sp) + ... + lw x31, 0*4(sp) + addi sp, sp, 16*4 + mret +\end{lstlisting} + +This routine handles interrupts by saving registers on the stack, executing an interrupt callback, and restoring the registers before returning from the trap. + +\section*{Initialization Routine} + +\begin{lstlisting}[caption={Initialization Code}] +.section .text +.global crtInit +crtInit: + .option push + .option norelax + la gp, __global_pointer$ + .option pop + la sp, _stack_start + + // Initialize BSS section + bss_init: + la a0, _bss_start + la a1, _bss_end + bss_loop: + beq a0, a1, bss_done + sw zero, 0(a0) + add a0, a0, 4 + j bss_loop + bss_done: +\end{lstlisting} + +This code initializes the global pointer and stack pointer, and clears the BSS segment, which is used for zero-initialized variables. + +\section*{Main Routine and Infinite Loop} + +\begin{lstlisting}[caption={Main Entry and Infinite Loop}] + // Set up machine interrupt enable register + li a0, 0x880 // Enable timer + external interrupts + csrw mie, a0 + li a0, 0x1808 // Enable interrupts + csrw mstatus, a0 + + call main + infinitLoop: + j infinitLoop +\end{lstlisting} + +This final part sets up the machine interrupt system, calls the main program, and then enters an infinite loop to prevent the processor from executing beyond the program's end. + +\section*{Detailed Description of crt.S} + +\begin{lstlisting}[caption={crt.S Assembly Details}] +.global crtStart +.global main +.global irqCallback + +.section .start_jump,"ax",@progbits +crtStart: + // Long jump to allow crtInit to be anywhere + // Always executed in 12 bytes + lui x2, %hi(crtInit) + addi x2, x2, %lo(crtInit) + jalr x1, x2 + nop + +.section .text + +.global trap_entry +.align 5 +trap_entry: + sw x1, - 1*4(sp) + ... + sw x31, -16*4(sp) + addi sp,sp,-16*4 + call irqCallback + lw x1 , 15*4(sp) + ... + lw x31, 0*4(sp) + addi sp,sp,16*4 + mret + +crtInit: + .option push + .option norelax + la gp, __global_pointer$ + .option pop + la sp, _stack_start + + bss_init: + la a0, _bss_start + la a1, _bss_end + bss_loop: + beq a0, a1, bss_done + sw zero, 0(a0) + add a0, a0, 4 + j bss_loop + bss_done: + + ctors_init: + la a0, _ctors_start + addi sp,sp,-4 + ctors_loop: + la a1, _ctors_end + beq a0, a1, ctors_done + lw a3,0(a0) + add a0, a0, 4 + sw a0, 0(sp) + jalr a3 + lw a0, 0(sp) + j ctors_loop + ctors_done: + addi sp,sp,4 + + li a0, 0x880 // 880 enable timer + external interrupts + csrw mie, a0 + li a0, 0x1808 // 1808 enable interrupts + csrw mstatus, a0 + + call main + infinitLoop: + j infinitLoop +\end{lstlisting} + +This section provides a complete view of the `crt.S` file, detailing how initial setup, interrupt handling, BSS clearing, and infinite looping are implemented to ensure system readiness for application execution. + +\end{document} + + + diff --git a/src/main.c-kopia b/src/main.c-kopia new file mode 100644 index 0000000..ce5fe59 --- /dev/null +++ b/src/main.c-kopia @@ -0,0 +1,65 @@ +//#include "stddefs.h" +#include + +#include "murax.h" + +void print(const char*str){ + while(*str){ +// uart_write(UART,*str); + str++; + } +} +void println(const char*str){ + print(str); +// uart_write(UART,'\n'); +} + +void delay(uint32_t loops){ + for(int i=0;iOUTPUT; + } +} + +volatile int mati = 0; + +class TimeR { + private: + static const Timer_Reg* ptr ; +}; + +//TimeR::ptr = 0xF0020040; + +int main() { + + GPIO_A->OUTPUT_ENABLE = 0x0000000F; + GPIO_A->OUTPUT = 0x00000001; + println("hello world arty a7 v1"); + + const int nleds = 4; + const int nloops = 10; + + interruptCtrl_init(TIMER_INTERRUPT); + prescaler_init(TIMER_PRESCALER); + timer_init(TIMER_A); + + TIMER_PRESCALER->LIMIT = 0x10;; + + TIMER_A->LIMIT = 0x100; + TIMER_A->CLEARS_TICKS = 0x10002; + + TIMER_INTERRUPT->PENDINGS = 0xF; + TIMER_INTERRUPT->MASKS = 0x1; + + while(1){ + + ++mati; + } +} + +void irqCallback(){ + +static volatile int count = 0; + ++count; + TIMER_INTERRUPT->PENDINGS = 1; + +} diff --git a/src/stub_stdlib.c b/src/stub_stdlib.c new file mode 100644 index 0000000..db81061 --- /dev/null +++ b/src/stub_stdlib.c @@ -0,0 +1,66 @@ +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include + +#undef errno +extern int errno; + +void _exit(int i) { + asm volatile ("ebreak"); +} + +int _kill(int pid, int sig) { + asm volatile ("ebreak"); + return -1; +} + +int _getpid(void) { + return 1; +} + +int _close(int file) { + errno = EBADF; + return -1; +} + +int _fstat(int file, struct stat *st) { + st->st_mode = S_IFCHR; + return 0; +} + +int _isatty(int file) { + return 1; +} + +int _lseek(int file, int ptr, int dir) { + return 0; +} + +int _open(const char *name, int flags, int mode) { + errno = ENFILE; + return -1; +} + +int _read(int file, char *ptr, int len) { + return 0; +} + +int _write(int file, const char *ptr, int len) { + return len; +} + +char *_sbrk(int delta) { + extern char _end[]; + static char *end_of_data = _end; + char *ptr = end_of_data; + end_of_data += delta; + return ptr; +} + +#ifdef __cplusplus +} +#endif + diff --git a/src/stub_stdlib.c-rvddt b/src/stub_stdlib.c-rvddt new file mode 100644 index 0000000..5f3c656 --- /dev/null +++ b/src/stub_stdlib.c-rvddt @@ -0,0 +1,148 @@ +#include +#include + + +#include +#undef errno +extern int errno; + + +/** +* This will execute an ebreak instruction and assume that the +* CPU will halt or simulation environment will terminate. +*****************************************************************/ +void _exit(int i) +{ + asm volatile (" ebreak "); +} + +/** +* It is assumed that there is exactly only process running and that +* it does not support signals. Therefore calling this is effectively +* illegal and will therefore execute an ebreak instruction. +*****************************************************************/ +void _kill(int pid) +{ +#if 1 + asm volatile (" ebreak "); +#else + return; // arguably, this might also be acceptable +#endif +} + +/** +* This returns the process ID of the runnung program. +* This library assumes that there is only process that +* can ever run. +* +* @return 1 +*****************************************************************/ +int _getpid(void) +{ + return 1; +} + + +/** +* This library does not support any file I/O of any kind. +* +* @return -1 Indicating that file could not be closed. +*****************************************************************/ +int _close(int file) +{ + errno = EBADF; + return -1; +} + +/** +* This library does not support any file I/O of any kind. +* This call will return a status indicating that the file +* in question is a character device. +* +* @return 0 Indicating that the call has succeeded. +*****************************************************************/ +int _fstat(int file, struct stat *st) +{ + st->st_mode = S_IFCHR; + return 0; +} + +/** +* This library does not support any file I/O of any kind. +* +* @return 1 Indicating that file is a tty device (a terminal.) +*****************************************************************/ +int _isatty(int file) +{ + return 1; +} + +/** +* This library does not support any file I/O of any kind. +* +* @return 0 Indicating that the request has succeeded. +*****************************************************************/ +int _lseek(int file, int ptr, int dir) +{ + return 0; +} + +/** +* This library does not support any file I/O of any kind. +* +* @return -1 (error codition.) +*****************************************************************/ +int _open(const char *name, int flags, int mode) +{ + errno = ENFILE; // The system-wide limit (0) on total open files has been reached. + return -1; +} + +/** +* This library does not support any file I/O of any kind. +* +* @return EOF. +*****************************************************************/ +int _read(int file, char *ptr, int len) +{ + return 0; +} + +/** +* This function should satify the caller by simply returning len +* indicating that the write has succeeded as requested in spite +* of the fact that the data is simply ignored/discarded. +* +* @return len +*****************************************************************/ +int _write(int file, char *ptr, int len) +{ + return len; +} + +/** +* Adjust the brk pointer up or down as requested. +* +* The initial brk address is set to _end (the end of the BSS). +* Any requests to adjust the brk will be performed without any +* error checking. +* +* @param delta The number of bytes to raise or lower the brk. +* +* @return The address that brk was set to before adjusting it by +* delta. Note that when delta is positive, this will return the +* address of the newly allocated region of memory. +* +* @bug It is possible that an errant program could call this and +* reduce the brk such that it points below _end or increase the +* brk to the point that it overlaps the stack. +*****************************************************************/ +char *_sbrk (int delta) +{ + extern char _end[]; + static char *end_of_data = _end; + + char *ptr = end_of_data; + end_of_data += delta; + return ptr; +}