From b873a4064a219dbc89c109ad7006702b0b7af4d1 Mon Sep 17 00:00:00 2001 From: hadeshyp Date: Fri, 22 Oct 2010 13:49:42 +0000 Subject: [PATCH] fifo 19x16 obuf --- xilinx/virtex4/{fifo => }/fifo_19x16_obuf.vhd | 18 +++------ xilinx/virtex4/xilinx_fifo_19x16_obuf.ngc | 3 ++ ...16_obuf.vhd => xilinx_fifo_19x16_obuf.vhd} | 40 +++++++++---------- ...16_obuf.xco => xilinx_fifo_19x16_obuf.xco} | 24 +++++------ 4 files changed, 41 insertions(+), 44 deletions(-) rename xilinx/virtex4/{fifo => }/fifo_19x16_obuf.vhd (83%) create mode 100644 xilinx/virtex4/xilinx_fifo_19x16_obuf.ngc rename xilinx/virtex4/{fifo/xilinx_19x16_obuf.vhd => xilinx_fifo_19x16_obuf.vhd} (84%) rename xilinx/virtex4/{fifo/xilinx_19x16_obuf.xco => xilinx_fifo_19x16_obuf.xco} (83%) diff --git a/xilinx/virtex4/fifo/fifo_19x16_obuf.vhd b/xilinx/virtex4/fifo_19x16_obuf.vhd similarity index 83% rename from xilinx/virtex4/fifo/fifo_19x16_obuf.vhd rename to xilinx/virtex4/fifo_19x16_obuf.vhd index 7aa1f2a..254e1ef 100644 --- a/xilinx/virtex4/fifo/fifo_19x16_obuf.vhd +++ b/xilinx/virtex4/fifo_19x16_obuf.vhd @@ -1,9 +1,5 @@ LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; -USE IEEE.numeric_std.all; - -library work; - entity fifo_19x16_obuf is @@ -30,7 +26,7 @@ architecture fifo_19x16_obuf_arch of fifo_19x16_obuf is -component xilinx_19x16_obuf IS +component xilinx_fifo_19x16_obuf IS port ( clk: IN std_logic; din: IN std_logic_VECTOR(18 downto 0); @@ -38,20 +34,20 @@ port ( rd_en: IN std_logic; rst: IN std_logic; wr_en: IN std_logic; - data_count: OUT std_logic_VECTOR(3 downto 0); + data_count: OUT std_logic_VECTOR(4 downto 0); dout: OUT std_logic_VECTOR(18 downto 0); empty: OUT std_logic; full: OUT std_logic; prog_full: OUT std_logic ); -END component; +end component; begin -the_FIFO: xilinx_19x16_obuf +the_xilinx_fifo_19x16_obuf: xilinx_fifo_19x16_obuf port map( clk => Clock, din => Data, @@ -59,13 +55,11 @@ port map( rd_en => RdEn, rst => Reset, wr_en => WrEn, - data_count => WCNT(3 downto 0), + data_count => WCNT, dout => Q, empty => Empty, full => Full, prog_full => AlmostFull ); -WCNT(4) <= '0'; - -end architecture; \ No newline at end of file +end architecture; diff --git a/xilinx/virtex4/xilinx_fifo_19x16_obuf.ngc b/xilinx/virtex4/xilinx_fifo_19x16_obuf.ngc new file mode 100644 index 0000000..a015847 --- /dev/null +++ b/xilinx/virtex4/xilinx_fifo_19x16_obuf.ngc @@ -0,0 +1,3 @@ +XILINX-XDB 0.1 STUB 0.1 ASCII +XILINX-XDM V1.4e +$27`41<,[o}e~g`n;"2*447&;:%>-*>;1;8456789:;<9>40123456789:;<=>?0123456789:;<=>?0123456789:;<=>?0123456789:;<=>?2:2;0>6?89>0<5ON1:30?4(79=1:97GAPTV9EABUI5;?6=0>4:36>LHW]]0JHI\M<0694;753831EC^ZT;fjj97?294:86?6:NWWTPR=lf0<650?6867D59;18>7GAPTV9@LG;;80;2<<4338JJUSS2MCI0>?50?30?64=G\^[YY4KO@>05?699:18>7AZTQWW>AIE4:;1<3?440380?OIX\^1HD^N<283:47<<3CE\XZ5DHRA86<768:087GAPTV9S@G;;3:5==5;:HLSQQe:69MKVR\3zycjQjmqvz[qnumzb7?7>12497>LHW]]0{~biPelrw}ZrozlycSl}|esv?7?69:<1?6D@_UU8svjaXmdzuRzgrdqk[kc`i}o7?7>11e97>LHW]]0{~biPftno[qnumzb7?7>12597>LHW]]0{~biPftno[qnumzbTm~}jru>0>585<2>1EC^ZT;rqkbYa}efTxe|jsi]mabgsm591<3?=;58LQQVR\3ND\L2<:1<26>2=G\^[YY4KOQ@?7?69n2>}`u:?fg320=+68;1>895:5572<>3=G\^[YY4kauc\gjsi|5>1<3?m;48LQQVR\3xoSio{a^alqkr;<3:5=o5::NWWTPR={UomyoPcnwmp92=87;0:?592595==?53?K?7;ONA395A1=1NO<:7::479G20>1ANL>04?M<4::;3=7<1=12<=>;;823=1=>>:I97L<=;@;7?DG1111JHI\N<1<:?DBCZH6:<374AEFQE976601JHI\N<00==>GCL[K7=>0m;@FGVD:6<3:556OKDSC?518?3HNO^L2>>99B@ATF4;437LJKR@>0:==FLMXJ0907;@FGVD:2611JHI\N<7<;?DBCZH6<255NDEPB8=8?3HNO^L26>99B@ATE49427LJKRC>24;?>89B@ATE488556OKDS@?568e3HNO^O2>4;2==>GCL[H7=907;@FGVG:6611JHI\M<3<;?DBCZK68255NDEPA818?3HNO^O2:>99B@ATE4?437LJKRC>4:==FLMXI0507;@FGVG:>6=1JJ?=6;@QZJFYUMN>0NL;B68GD>Fi2IJ_NOKEHLBe>EF[JKOID@Mb:ABWFGCMF__Mo5LARAB@@IR\K80OH<4CH68GIMF<2IGGO=4CMP:?FIJE@^_II94CSGBP@B63M>0H=:?2:FJ2>BNI5:5;6JFA=33:2=CAH6:=394DHC?57803MCJ0<=17:FJE9736>1OEL2>5?58@LG;9?4<7IGN<05=3>BNI5;32:5KI@>2=;01OEL2=3?58@LG;:=4<7IGN<37=3>BNI58=2:5KI@>13;1508;EKB87?9>2NBM1<17:FJE957601OEL2<1;2=3>BNI59:2;5KI@>0:3=CAH6?2;5KI@>6:3=CAH6=2;5KI@>4:3=CAH632;5KI@>::3=CAK6;2:5KIC>24;169GMG:6<7=0HDL314<4?AOE48<5;6JFB=34:2=CAK6:4394DH@?5<813MCI0<08;EKA8769?2NBN1<>>69GMG:5:7=0HDL322<4?AOE4;>5;6JFB=06:2=CAK69:394DH@?62803MCI0?617:FJF94>6?1OEO2=>69GMG:48730HDL33083:2=CAK68=384DH@?7;089GMUG;;3:5;6JFP@>0:2=CAYH7<394DHRA84803MC[N1<19:FJTG:4294<7IG_B=1=2>BHI5:5;6J@A=33:2=CGH6:=394DNC?57803MEJ0<=17:FLE9736>1OCL2>5?58@JG;9?4<7IAN<05=3>BHI5;32:5KO@>2=;01OCL2=3?58@JG;:=4<7IAN<37=3>BHI58=2:5KO@>13;1508;EMB87?9>2NDM1<17:FLE957601OCL2<1;2=3>BHI59:2;5KO@>0:3=CGH6?2;5KO@>6:3=CGH6=2;5KO@>4:3=CGH632;5KO@>::2=CGHUYIJ84DN@?4;169GKG:6;7=0HBL315<4?AIE48?5;6J@B=35:2=CGK6:;394DN@?5=803MEI0<716:FLF979?2NDN169GKG:597=0HBL323<4?AIE4;95;6J@B=07:2=CGK699394DN@?63803MEI0?917:FLF94?6>1OCO2=9?48@JD;:7=0HBL331<:?AIE4:;1<394DN@?74813MEI0>09;EMA81813MEI0809;EMA83813MEI0:09;EMA8=813MEI0408;EMA[WC@?2ND\L2?>69GKUG;97=0HB^N<3<:?AIWI591<394DNRB86803ME[N1>17:FLTG:66>1OC]L32?;8@JVE4:0;2:5KOQ@?7;5=1MJ5>;;GDE20=Aieyn=6I<;FLG5>O53@:97D?=;H01?L5?3@DBX]Q?099JJLRWW9;37D@FTQ]36==NF@^[S==7;HLJPUY7<11BBDZ__17;?LHN\YU;:55FNHVS[51>3@DBX^ZNTD58MKOSW9:<7D@FT^223>OIA]U;>:5FNHV\461=0ECG[_1:4?LHN\V:2;6GAIU]3E2=NF@^TK7:KMMQY7M>1BBDZP0G58MKOSW8:<7D@FT^323>OIA]U:>:5FNHV\561669JJLRX9>=0ECG[_0:4?LHN\V;2;6GAIU]2E2=NF@^T=O94IOKW[4E03@DBXR?K7:KMMQY6M>1BBDZP1G58MKOSW;:<7D@FT^023>OIA]U9>:5FNHV\661=0ECG[_3:4?LHN\V82;6GAIU]1E2=NF@^T>O94IOKW[7E03@DBXR1BBDZP2G58MKOSW::<7D@FT^123>OIA]U8>:5FNHV\761:8;HLJPZ52?2CEEYQ<669JJLRX;>=0ECG[_2:4?LHN\V92;6GAIU]0E2=NF@^T?O94IOKW[6E03@DBXR=K7:KMMQY4M>1BBDZP3G48MKOSWH<0ECG[_C;8MKOSWOCGI>5FNW31?LHQM[^TOAEPDNC\V@A6:2CEZH\[_BNH[AIEW[OL?6G@B39OM7=KG?1GCLJJD69OKBODIE>0@XZ=6:NVP7YC<2F^X>:4LTV72>JR\=UG46CZLU]BJA3Kfbfx]i}fooa8Ilhhz_oydaa2:L27>H68:1E=<=4N000?K74;2D:8>5A1418J4043G;829M5<4<;O027>H5::1E>>=4N361?K543G9<86@<7718J6>33G93<95A3907?K5?<=1E?5;;;O1;21=I;1=?7C=7829M7<55A6318J3543G5A7518J2343G==?6@8729M3=5397C6<;O:37>H?9:1E4?=4N910?K>3;2D3;?5A9g9MFZDR[YCES]\@PR58J@RPG[A?7CAAE09L6>IL92Z?7]O]T`9SMKYE]ZCOTo5_IO]AQVHFEL90\_K>;P48VDKE9?l0^LCPEYVFJVOHFVKm7_OB_DZWAKUNGGUIo6\JAE]TMAROWHi0^HOK_VKGPMYE>2XNKNKN6:PFCFCE92Y37^OYEECWE45<[@GTOBBCIRKLJZEOMJA=7^AZRBG4?VTQIEUJ;6]]V@N\F1=T[[K?7^]]B59W]UC5l2_;#j|i.sd,ci6)zm%l~< hdbd-`f)ck&Ghcx`{_bmvjq75m2_;#j|i.sd,ci6)zm%l~< hdbd-`f)ck&Ghcx`{_bmvjq77:l1^<"i}f/pe+bj7&{n$k?!geae*ae(lj%Fob{at^alqkr6;;n0Y=!hrg,qb*ak8'xo#j|>.ff`b+bd'mi$Anaznu]`kphs<;n0Y=!hrg,qb*ak8'xo#j|>.ff`b+bd'mi$Anaznu]`kphs?:h0Y=!hrg,qb*ak8'xo#j|>.ff`b+bd'mi$Anaznu]`kphsWqey0=0>1^KMRZ64=2_;#j|i.sd,ci6)zm%l~< hdbd-`f)ck&Ghcx`{_bmvjqYg{6:2!re-dv4(`ljl%hn!kc.O`kphsWje~byQwos>1:474>2_;#j|i.sd,ci6)zm%l~< hdbd-`f)ck&Ghcx`{_bmvjqYg{682349V4*aun'xm#jb?.sf,cw7)omim"im db-Ngjsi|VidyczPxnp?7;75;?1^<"i}f/pe+bj7&{n$k?!geae*ae(lj%Fob{at^alqkrXpfx783?>1278Q5)`zo$yj"ic0/pg+bt6&nnhj#jl/ea,Ifirf}Uhcx`{_ymq8186:;=0Y=!hrg,qb*ak8'xo#j|>.ff`b+bd'mi$ob{at^213>S7'nxm"h gm2-va)`z8$lhnh!db-gg*eh}g~T=?94U1-dvc(un&mg<#|k/fp2*bbdn'nh#im cnwmpZ45?2_;#j|i.sd,ci6)zm%l~< hdbd-`f)ck&idyczP3358Q5)`zo$yj"ic0/pg+bt6&nnhj#jl/ea,gjsi|V>9h6[?/fpe*w`(oe:%~i!hr0,d`f`)lj%oo"m`uov\jjr789;9i6[?/fpe*w`(oe:%~i!hr0,d`f`)lj%oo"m`uov\jjr789;:>l5Z0.eqb+ta'nf;"j gs3-vcqa|&XJAR\K_DL\BR@S9;30Y=!hrg,qb*ak8'xo#j|>.sdtbq)UIDUYIJAZT^GM57`<]9%l~k }f.eo4+tc'nx:"hxfu-`qwtXn~lS~zntd]EBa74:2_;#j|i.sd,ci6)zm%l~< }fvdw+fsuzVl|jyQ|t`vf[C@c9$Ce?>5Z0.eqb+ta'nf;"j gs3-vcqa|&i~~Qiwgv\wqgsmVLMh<#Fn00e?P6(o{l%~k!hl1,q`*au9'xm{kz ctpq[cqa|VymykPFGf177=R8&myj#|i/fn3*wb(o{;%~kyit.avvwYao~Tyo{e^DE`7+Nf:90Y=!hrg,qb*ak8'xo#j|>.sdtbq)d}{xTjzh{_rvbp`YANm8&Ec?=8:W3+bta&{l$ka>!re-dv4(un~l#hctx]escrXnk8<7X> gsd-vc)`d9$yh"i}1/pescr(mdzuRhxfu]j6`=R8&myj#|i/fn3*wb(o{;%~kyit.gntqXn~lSdQ`r12347`<]9%l~k }f.eo4+tc'nx:"hxfu-fiur~Wo}mxRgPos234575=2_;#j|i.sd,ci6)zm%l~< }fvdw+pubzV|j`dj=9:W3+bta&{l$ka>!re-dvvu)zz~x#ob_dosp|YajVc8=6[?/fpe*w`(oe:%~i!hrrq-vvrt'{kfShctx]efZoXe|r;<=><4:W3+bta&{l$ka>!re-dvvu)zz~x#ob_dosp|YajVcTc>?01122=5?3\:$kh!rg-dh5(ul&my~ }suq,vdkXmdzuRhm_h]lv5678:;=4R]X02:8Q5)`zo$yj"ic0/pg+btt{'xxx~!}al]fiur~WohTeRa}0123740?WZ]:??5Z0.eqb+ta'nf;"j gsqp*wus{&xjaRkbpu{\bgYnWfx;<=><2208Q5)`zo$yj"ic0/pg+btt{'xxx~!}al]fiur~WohTeRa}012327553\:$kh!rg-dh5(ul&my~ }suq,vdkXmdzuRhm_h]lv5678><8>6[?/fpe*w`(oe:%~i!hrrq-vvrt'{kfShctx]efZoXg{:;<=67379V4*aun'xm#jb?.sf,cwut&{y"|nm^gntqXnkUbSb|?012\idv6;:<0Y=!hrg,qb*ak8'xo#j||s/pppv)uidUna}zv_g`\mZiu89:;S`o2715?P6(o{l%~k!hl1,q`*au{z$yy} r`o\ahvsqVliSdQ`r1234Zkfx;29?6[?/fpe*w`(oe:%~i!}povq+Heh}g~Tob{at368Q5)`zo$yj"ic0/pg+wvi|{%Fob{at^alqkr4:=1^<"i}f/pe+bj7&{n$~}`{r.O`kphsWje~by8=4:W3+bta&{l$ka>!re-qtkru'DidyczPcnwmp<553\:$kh!rg-dh5(ul&x{by| MbmvjqYdg|dSua}<1<25ZOI^V:9o6[?/fpe*w`(oe:%~i!}povq+Heh}g~Tob{at^zlv979988h7X> gsd-vc)`d9$yh"|nup,Ifirf}Uhcx`{_ymq87869;i0Y=!hrg,qb*ak8'xo#~ats-Ngjsi|VidyczPxnp?7;769o1^<"i}f/pe+bj7&{n$~}`{r.alqkr;87;m7X> gsd-vc)`d9$yh"|nup,gjsi|5;5=k5Z0.eqb+ta'nf;"j rqlwv*eh}g~7>3?i;T2,cw`)zo%l`= }d.psjqt(kfex1=11d9V4*aun'xm#jb?.sf,vuhsz&idyczP00g8Q5)`zo$yj"ic0/pg+wvi|{%hcx`{_03f?P6(o{l%~k!hl1,q`*twf}x$ob{at^02a>S7'nxm"h gm2-va)uxg~y#naznu]067=R8&myj#|i/fn3*wb(zyd~"m`uov\`4:76;80Y=!hrg,qb*ak8'xo#~ats-`kphsWm;7=3<=;T2,cw`)zo%l`= }d.psjqt(kfexRj><3<16>S7'nxm"h gm2-va)uxg~y#naznu]g5959:81^<"i}f/pe+bj7&{n$~}`{r.alqkrXl8U;><5Z0.eqb+ta'nf;"j rqlwv*eh}g~Th209V4*aun'xm#jb?.sf,vuhsz&idyczPd0]164=R8&myj#|i/fn3*wb(zyd~"m`uov\`4Y4:=1^<"i}f/pe+bj7&{n$~}`{r.alqkrXff~;<=?!ws-dsvu)oyl%{~i/Lcg`ZbnnoU{by|Pp`f\eab789:Tot2?>2d8Q5)`zo$yj"ic0/uq+bqt{'m{j#y}pg-NeabXl`lmS}`{r^rb`Zgcl9:;S7'nxm"h gm2-sw)`zy%k}h!wsre+HgclVnbjkQnup\tdbXimn;<=>Pcx>1:6`<]9%l~k }f.eo4+qu'n}x#if/uqtc)JimnThdhi_qlwvZvflVkoh=>?0^az868382_;#j|i.sd,ci6){%l{~}!gqd-swva'DkohRjffg]sjqtXxhnTmij?012\hpr;97>;7X> gsd-vc)`d9$|~"ixsr,dtc(pzyl$Aljk_ekebZvi|{U{miQnde2345Yk}}6929>4U1-dvc(un&mg<#y}/fupw+awn'}y|k!Baef\`l`aWyd~R~nd^cg`5678Vf~x1=1419V4*aun'xm#jb?.vp,crut&nzm"z|f.Ob`aYcaolT|cz}_qcg[dbc89:;Sa{{<5<74>S7'nxm"h gm2-sw)`zy%k}h!wsre+HgclVnbjkQnup\tdbXimn;<=>Pxnp?5;273\:$kh!rg-dh5(pz&m|~ hpg,tvu`(EhnoSigif^rmpwYwimUjhi>?01]{kw:56=:0Y=!hrg,qb*ak8'}y#jy|s/esb+quxo%FmijPdhde[uhszVzjhRokd1234Z~hz5958=5Z0.eqb+ta'nf;"z| gvqp*bva&~x{j"Cnde]gmc`Xxg~yS}ok_`fg4567Wqey090;5:W3+bta&{l$ka>!ws-dsvu)oyl%{~i/LqvfZvugnUmyabPtipfwmYt}kU{bQwos>1:473=2_;#j|i.sd,ci6){%l{~}!gqd-swva'Dy~nR~}of]eqijX|axneQ|uc]wsjYg{682!ws-dsvu)oyl%{~i/O615>S7'nxm"h gm2-sw)`zy%k}h!wsre+K3592_;#j|i.sd,ci6){%l{~}!gqd-swva'G<9=6[?/fpe*w`(oe:%{!hwrq-cu`){zm#C9=f:W3+bta&{l$ka>!ws-dsvu)oyl%{~i/ekebZvi|{U{mi2>>3d8Q5)`zo$yj"ic0/uq+bqt{'m{j#y}pg-gmc`Xxg~yS}ok<3<1b>S7'nxm"h gm2-sw)`zy%k}h!wsre+aoanVzexQae>0:7`<]9%l~k }f.eo4+qu'n}x#if/uqtc)caolT|cz}_qcg8185m2_;#j|i.sd,ci6){%l{~}!gqd-swva'mcmjR~ats]seaY6:l1^<"i}f/pe+bj7&~x$kz}|.fre*rtwn&nbjkQnup\tdbX:;o0Y=!hrg,qb*ak8'}y#jy|s/esb+quxo%oekhPpovq[ugcW:8n7X> gsd-vc)`d9$|~"ixsr,dtc(pzyl$hdhi_qlwvZvflV>8;6[?/fpe*w`(oe:%{!hwrq-cu`){zm#igif^rmpwYwimUjhi>?01>2:61<]9%l~k }f.eo4+qu'n}x#if/uqtc)caolT|cz}_qcg[dbc89:;0?0<7:W3+bta&{l$ka>!ws-dsvu)oyl%{~i/ekebZvi|{U{miQnde2345:46:=0Y=!hrg,qb*ak8'}y#jy|s/esb+quxo%oekhPpovq[ugcWhno<=>?<5<1e>S7'nxm"h gm2-sw)`zy%k}h!wsre+uthoVl~`aQf379V4*aun'xm#jb?.vp,crut&nzm"z|f.rqkbYa}efTeRmbp^ew45679:80Y=!hrg,qb*ak8'}y#jy|s/esb+quxo%{~biPftno[lYj}q:;<;=:;T2,cw`)zo%l`= xr.etwv(`xo$|~}h psmd[cskdVcTaxv?014245523\:$kh!rg-dh5(pz&m|~ hpg,tvu`(x{elSk{cl^k\ip~789<:>?=:;T2,cw`)zo%l`= xr.etwv(`xo$|~}h psmd[cskdVcTaxv?014204533\:$kh!rg-dh5(pz&m|~ hpg,tvu`(x{elSk{cl^k\ip~789<=<>:4U1-dvc(un&mg<#y}/fupw+awn'}y|k!rne\bpjkW`Ufyu>?07:;7==R8&myj#|i/fn3*rt(o~yx"j~i.vpsb*vugnUmyabPi^ov|567>12T_Z><8:W3+bta&{l$ka>!ws-dsvu)oyl%{~i/qplcZ`rdeUbS`{w0125[hgw:<937X> gsd-vc)`d9$|~"ixsr,dtc(pzyl$|ah_gwohZoXe|r;<=8Pm`r1<6><]9%l~k }f.eo4+qu'n}x#if/uqtc)wzfmTjxbc_h]nq}678?Ufm}=?399V4*aun'xm#jb?.vp,crut&nzm"z|f.rqkbYa}efTeRczx1232Zkfx:=8>6[?/fpe*w`(oe:%{!hwrq-cu`){zm#}|`g^dvhiYnWge<=>>329V4*aun'xm#jb?.vp,crut&nzm"z|f.rqkbYa}efTeR``t123545f3\:$kh!rg-dh5(pz&m|~ hpg,tvu`(x{elSk{cl^vkv`uoWziSyy`<3<0e>S7'nxm"h gm2-sw)`zy%k}h!wsre+uthoVl~`aQ{hsgplZurjV~|c1=12`9V4*aun'xm#jb?.vp,crut&nzm"z|f.pbiZtcWldTe?o4U1-dvc(un&mg<#y}/fupw+awn'}y|k!}al]tvZciW`927X> gsd-vc)`d9$|~"ixsr,dtc(pzyl$~iQnup\swYnfU{mi2?>^obja5f3\:$kh!rg-dh5(pz&m|~ hpg,tvu`(zmU{by|Pws]jjsYwim6;2Rcnne30g>S7'nxm"h gm2-sw)`zy%k}h!wsre+rtXxg~yS}bzs0]seaY7Whdo<=>?1005?P6(o{l%~k!hl1,tv*ap{z$|y} c0-gkprXa8=9:6[?/fpe*w`(oe:%{!hwrq-svrt'j;$hb{{_h7063=R8&myj#|i/fn3*rt(o~yx"z}{s.a2+air|Vc>9?o4U1-dvc(un&mg<#y}/fupw+qt|z%h="j`uu]j[hgw:8827X> gsd-vc)`d9$|~"ixsr,twqu(k8%ocxzPi^obt<473\:$kh!rg-dh5(pz&m|~ xsuq,gjkw9;=0Y=!hrg,qb*ak8'}y#jy|s/uppv)uidUjjxbc_g`1a>S7'nxm"h gm2-sw)`zy%{~z|/scn[d`rdeUmnRa}012374=R8&myj#|i/fn3*rt(o~yx"z}{s.pbiZga}efTjoQ`r1234463;:1^<"i}f/pe+bj7&~x$kz}|.vqww*tfeVkmyabPfc]lv56788:?SK=<;T2,cw`)zo%l`= xr.etwv(p{}y$~lcPagwohZ`eWfx;<=>>05]D75=R8&myj#|i/fn3*rt(o~yx"z}{s.pbiZga}efTjoQ`r123445482_;#j|i.sd,ci6){%l{~}!wrvp+wgjWhl~`aQib^mq4567<19;7X> gsd-vc)`d9$|~"ixsr,twqu(zhgTmk{cl^da[jt789:<4>:4U1-dvc(un&mg<#y}/fupw+qt|z%ym`Qnftno[cdXg{:;<=Qbaq3;71=R8&myj#|i/fn3*rt(o~yx"z}{s.pbiZga}efTjoQ`r1234Zkfx:;8?6[?/fpe*w`(oe:%{!hwrq-svrt'{kfSlhzlm]efZiu89:;S`o63:8Q5)`zo$yj"ic0/uq+bqt{'}xx~!}al]eqijXkfgi>l5Z0.eqb+ta'nf;"z| gvqp*rus{&xjaRhzlm]`khdXN;k0Y=!hrg,qb*ak8'}y#jy|s/uppv)uidUmyabPcnoa[B4?3\:$kh!rg-dh5(pz&m|~ xsuq,vdkXn|fgSklPi378Q5)`zo$yj"ic0/uq+bqt{'}xx~!}al]eqijXa;>0Y=!hrg,qb*ak8'}y#jy|s/uppv)pzVxxxRj>1e9V4*aun'xm#jb?.vp,vdkX{UnbRg>229V4*aun'xm#jb?.vp,suhsz&Ghcx`{_bmvjq433\:$kh!rg-dh5(pz&}{by| MbmvjqYdg|d??:4U1-dvc(un&mg<#y}/vrmpw)JkfexRm`uov561=R8&myj#|i/fn3*rt(yd~"Clotlw[firf}38>6[?/fpe*w`(oe:%{!xpovq+Heh}g~Tob{at^zlv96998UBB[Q?2b9V4*aun'xm#jb?.vp,suhsz&Ghcx`{_bmvjqYg{6:2!ws-ttkru'DidyczPcnwmpZ~hz585=<f:W3+bta&{l$ka>!ws-ttkru'je~by2>>0d8Q5)`zo$yj"ic0/uq+rvi|{%hcx`{<3<2b>S7'nxm"h gm2-sw)pxg~y#naznu>0:4c<]9%l~k }f.eo4+qu'~zex!lotlw[57b3\:$kh!rg-dh5(pz&}{by| cnwmpZ76m2_;#j|i.sd,ci6){%||cz}/bmvjqY59l1^<"i}f/pe+bj7&~x${}`{r.alqkrX;;80Y=!hrg,qb*ak8'}y#z~ats-`kphsWm;7<3<=;T2,cw`)zo%l`= xr.usjqt(kfexRj><0<16>S7'nxm"h gm2-sw)pxg~y#naznu]g5949:;1^<"i}f/pe+bj7&~x${}`{r.alqkrXl8682??4U1-dvc(un&mg<#y}/vrmpw)dg|dSi?P0338Q5)`zo$yj"ic0/uq+rvi|{%hcx`{_e3\577<]9%l~k }f.eo4+qu'~zex!lotlw[a7X:;;0Y=!hrg,qb*ak8'}y#z~ats-`kphsWm;T??<4U1-dvc(un&mg<#y}/vrmpw)dg|dSi<30?01?P6(o{l%~k!hl1,tv*qwf}x$ob{at^f18485:2_;#j|i.sd,ci6){%||cz}/bmvjqYc:585>?5Z0.eqb+ta'nf;"z| wqlwv*eh}g~Th?2<>338Q5)`zo$yj"ic0/uq+rvi|{%hcx`{_e0\477<]9%l~k }f.eo4+qu'~zex!lotlw[a4X9;;0Y=!hrg,qb*ak8'}y#z~ats-`kphsWm8T>??4U1-dvc(un&mg<#y}/vrmpw)dg|dSio1^<"i}f/pe+hcj'nhf"jlbg/eaibd)fnoho#lbg.`ooZkbeVmnbh|ntnp,rdjnl'ixx!}alnlku]7U'xja#| v5,qeh)TLY$XECICE^RQMH(TLY;<7X> gsd-vc)uidUyijazt^gm5a=R8&myj#|i/sqwfim(zmUyyQnssgd65=R8&myj#|i/sqwfim(zmUyyQnssgd[a7582_;#j|i.sd,vvredb%yhR||t^cpv`aXl;;h7X> gsd-vc)u{}hgg"|k_sqw[fijj8n0Y=!hrg,qb*tt|kf`#jPrrv\gjke98o0Y=!hrg,qb*tt|kf`#jPrrv\v`a;:7;o7X> gsd-vc)u{}hgg"|k_sqw[wc`W;;o7X> gsd-vc)u{}hgg"y}_sqw[duumn8;7X> gsd-vc)u{}hgg"y}_sqw[duumnUo=?>4U1-dvc(un&xxxobd/vp\vvrXizxnkRj=1b9V4*aun'xm#}{bmi,swYu{}Uhc`l>d:W3+bta&{l$~~zmlj-tvZtt|Vidao?>e:W3+bta&{l$~~zmlj-tvZtt|Vxnk1?11e9V4*aun'xm#}{bmi,swYu{}UyijQ>a:WPAWYFD@KXo6[\ES]UMVOEDL90ZNM6;WKFSZR^XL<0[HO30?48S@G;97<0[HO32?:8S@G;;3:5:6YJA=1=2>QBJ5:5:6YJB=3=2>QBJ58546YJB=194;0<_LH7?3l4WSKWAZ@NZZ^h7Z\FTD]NKACXIj1\^DZJ_LMGAZDc3^XBXHQXIEVK[Db<_[C_IRYFDUJ\F4b^T\VMEH:5WSU]UGFd^XKFXNSD@IO^NJWQ00:ZgiZKfbfx]i}foo33?]bjWDcecXjrrkljf=fddexxRkbpu{a?djjgz~Tjxbc6:`bgnswl2hjof{_lcqo`t43jf`h6jnt`]`kphs 9#o7io{a^alqkr/9 n0hlzn_bmvjq.5!m1omyoPcnwmp-5.l2njxlQlotlw,1/c3mkmRm`uov?4;b2:a=ci}kTob{at=0=`>bf|hUhcx`{<2bf|hUhcx`{<5<4?adn|lxy:6jfn)2*2>bnf!;";6jfn)33-2=cag":=$94dhl+57/03mce$<=&7:fjj-73!>1oec&>5(58`lh/9?#<7iga(05*3>bnf!;3%;5kio*1-3=cag"8%;5kio*7-3=cag">%;5kio*5-3=cag"<%;5kio*;-3=cag"2%;5kio>3:2=cag6:<394dhl?54803mce0<<17:fjj9746>1oec2>4?58`lh;9<4<7iga<04=3>bnf5;<245kio>279gmk:66?1oec2=>79gmk:46?1oec2;>79gmk:26?1oec29>79gmk:06?1oec27>79gmk:>6>1ocxz'0(58`jss 8#37iazt)33-==cg|~#=<'7;emvp-75!11ocxz'12+;?air|!;?%55kotv+50/?3me~x%?9)99gkpr/9>#37iazt)3;-2=cg|~#>$94dnww,6/03me~x%:&7:flqq.2!>1ocxz'6(58`jss >#<7iazt):*3>bh}}"2%:5kotv?4;>18:flqq:69720hb{{<00=<>bh}}6:?364dnww842902ndyy2>5?:8`jss48<546j`uu>23;g2:2=cg|~7>394dnww86803me~x1:17:flqq:26>1ocxz36?58`jss4>4<7iazt=:=3>bh}}62255jdhd1jbb23lg{xt<7;gkekZabflxjxb|Pv5]1(%Ehzlmnb-7!2/27mZow:=1myab8;hlw[fjl02dloo{fle:8kscunee|m6~}of]fiur~9=1{~biPelrw}Zrozlyc$='>4:rqkbYbey~rSyf}erj+5,733yxdkRkbpu{\pmtb{a"9%<:4psmd[`kw|pUdk|h)1*53=wzfmTi`~{y^vkv`uo4:0;2vugnUna}zv_ujqavnXflmjxh&>)0`8twi`Wlg{xtQ{hsgplZhboh~n$?'>b:rqkbYbey~rSyf}erj\j`af|l"8%5rne\bpjkW}byi~f32?36?uthoVl~`aQ{hsgpl95=87;87}|`g^dvhiYs`{oxd1=11`9svjaXn|fgSyf}erj\evubz}";%vugnUmyabPtipfwmYimnki%>&1`9svjaXn|fgSyf}erj\j`af|l":%4re]geqgXkfex1>1139q`Zbf|hUhcx`{<583:0=ulVoe:6|k_sqw7>tt|>1xndzjrs68wwus:;1a}!Pcf-{mioipVlbjbQ>9y35[jdrn'dlc45znegqbiip=2|j`dj9;vp\efm13~xToae>0:uq[agsiVidycz'0(33?rtXlh~jSnaznu*2-46<{UomyoPcnwmp-4.991|~Rjnt`]`kphs :#:<6y}_ecweZeh}g~#8$?=;vp\`drfWje~by2;:1<6?rtXmg<0{Q}su35?}okagrTjdh`_0;{53Yhj|l8<6vflhl{[coagV;2t<8Pocwe[coagVmnbh|ntnp\r1Y5WqySFGp:>o6K4;:0yP2<<49<036<==b6;f>4be1oqe>o:51:l1f0<33-8i>74be1o1X=;h530c94?74:k=2i7?kbb:8W3>=;8k1<7?<2c5:a?7cjjk0h>;n:182>4}T>008=847:011f2?b28ni5k5+2c29741<~];o<7>51;39e3}T>008=847:011f2?b28ni5k5+28`9526<^;h86?uz16;95>s6?h0;7p*>c082b>d4=h0;6>853;15M4>12P>o7:t1`8`>g<5:3w/=i;534c8 7d72:;<7W6;29?l5483:1(3:1(07b!7d;39;m6`>c3825>=h:lo1<7*>c2804d=i9j81=?54i3f2>5<#9j91>h=4n0a1>5=5<#9j91>h=4n0a1>7=54i3ag>5<#9j91>h=4n0a1>1=5<#9j91>h=4n0a1>3=5<#9j91>h=4n0a1>==5<#9j91>h=4n0a1>d=5<#9j91>h=4n0a1>f=6=4+1b196`55<#9j91>h=4n0a1>`=5<#9j91>h=4n0a1>46<3`8h47>5$0a0>7c43g;h>7?>;:k1g2<72-;h?7oh50;&2g6<5k=1e=n<50:9l6gc=83.:o>4=c59m5f4=921d>oj50;&2g6<5k=1e=n<52:9l6ge=83.:o>4=c59m5f4=;21d>ol50;&2g6<5k=1e=n<54:9a6tH3;:?!7c=382m6a>c183>>{e98=1<7?50;2xL7?>3-;o97?>7:m253<722wi9o4?:7793=rB9545U5b822~7028h1>>4>8;07>4g=k3h1=n4=2;3:>74=:=0h6?=5198a>4e=9k0:m7?6:059y!7c=39>n6*>6b8250=#:k:1?<94$0`a>4da3f8i:7>5;h17=?6=3`99<7>5$0a0>6463g;h>7>4;h12b?6=,8i86><>;o3`6?7<3`9:i7>5$0a0>6463g;h>7<4;h12`?6=,8i86><>;o3`6?5<3f99o7>5;h17g?6=3f9?j7>5;h10=?6=,8i86>=n;o3`6?6<3`9847>5$0a0>65f3g;h>7?4;h103?6=,8i86>=n;o3`6?4<3`98:7>5$0a0>65f3g;h>7=4;h175;n12f?6=3`8i57>5;n171?6=,8i86>:8;o3`6?6<3f9?87>5$0a0>6203g;h>7?4;n177?6=,8i86>:8;o3`6?4<3f9?>7>5$0a0>6203g;h>7=4;n175?6=,8i86>:8;o3`6?2<3`9997>5$0a0>6413g;h>7>4;h110?6=,8i86><9;o3`6?7<3`99?7>5$0a0>6413g;h>7<4;h116?6=,8i86><9;o3`6?5<3`9>47>5;n162?6=,8i86>;8;o3`6?6<3f9>97>5$0a0>6303g;h>7?4;n160?6=,8i86>;8;o3`6?4<3f9>?7>5$0a0>6303g;h>7=4;n166?6=,8i86>;8;o3`6?2<3f9:47>5;n122?6=3`9>=7>5;h104?6=,8i86>=;;o3`6?6<3`99j7>5$0a0>6533g;h>7?4;h11a?6=,8i86>=;;o3`6?4<3`99h7>5$0a0>6533g;h>7=4;h12=?6=3`8im7>5;h16=?6=3f9?n7>5;n164?6=3f9?i7>5;h17e?6=3f8m47>5$0a0>66f3g;h>7>4;n0e3?6=,8i86>>n;o3`6?7<3f8m:7>5$0a0>66f3g;h>7<4;n0e1?6=,8i86>>n;o3`6?5<3f8m87>5$0a0>66f3g;h>7:4;n0e7?6=,8i86>>n;o3`6?3<3f8m>7>5$0a0>66f3g;h>784;n0e5?6=,8i86>>n;o3`6?1<3f8m<7>5$0a0>66f3g;h>764;n134?6=,8i86>>n;o3`6??<3f8mj7>5$0a0>66f3g;h>7o4;n0ea?6=,8i86>>n;o3`6?d<3f8mh7>5$0a0>66f3g;h>7m4;n0eg?6=,8i86>>n;o3`6?b<3f8mn7>5$0a0>66f3g;h>7k4;n0ee?6=,8i86>>n;o3`6?`<3f8m57>5$0a0>66f3g;h>7??;:m1ac<72-;h?7=?a:l2g7<6921d>hk50;&2g6<48h1e=n<51398m7b6290/=n=52d18j4e52910e?j?:18'5f5=:l90b290/=n=52d18j4e52110e?j6:18'5f5=:l90bo5k>0;6)?l3;0f7>h6k;0:>65`2c594?=n:k21<75f32g94?"6k:08?k5a1b094>=n;:n1<7*>c2807c=i9j81=65f32a94?"6k:08?k5a1b096>=n;:h1<7*>c2807c=i9j81?65`2cd94?"6k:09o95a1b094>=h:ko1<7*>c281g1=i9j81=65`2cf94?"6k:09o95a1b096>=h:ki1<7*>c281g1=i9j81?65`2c`94?"6k:09o95a1b090>=h:j<1<75f33c94?"6k:08>o5a1b094>=n;;31<7*>c2806g=i9j81=65f33:94?"6k:08>o5a1b096>=n;;=1<7*>c2806g=i9j81?65f35294?=e:ho1<7?50;2x 4b228;<7E5<6290;w)?k5;0:e>N5im1C>474o0a3>5<53;294~"6l<0:3A?27)?=5;38m0b=831b:l4?::m2g0<722wi>4=50;194?6|,8n>6<>l;I0b`>N5101C945+13795>o2l3:17d8n:188k4e22900qo<7b;297?6=8r.:h84>0b9K6db<@;327E;6;%311?7>i6k<0;66sm28394?3=83:p(h7>5;h40>5<5<4290;w)?k5;33g>N5im1C>474H4;8 442281b9i4?::k5e?6=3f;h97>5;|`1"6:<0:7d;k:188m35=831b:l4?::k2g1<722e:o84?::a6<6=83>1<7>t$0f6>46a3A8jh6F=989'573=92c>h7>5;h4b>5<5<54;294~"6l<0:3-;997?4i4f94?=n>h0;66g>c583>>i6k<0;66sm1g494?2=83:p(o2l3:17d8n:188m4e32900c3:197>50z&2`0<68l1C>lj4H3;:?!75=3;0e8j50;9j26<722c=;7>5;h4b>5<6=44}c023?6==3:1d4824`=O:hn0D?76;%311?7>o1?3:17d8n:188k4e22900qo<>8;291?6=8r.:h84>0d9K6db<@;327)?=5;38m0b=831b:>4?::k53?6=3`5<55;294~"6l<0:3-;997?4i4f94?=n>:0;66g97;29?l0f2900c50z&2`0<68l1C>lj4H3;:?!75=3;0e8j50;9j26<722c=;7>5;h4b>5<6=44}c0;0?6==3:1d4824`=O:hn0D?76;%311?7>o1?3:17d8n:188k4e22900qo<75;291?6=8r.:h84>0d9K6db<@;327)?=5;38m0b=831b:>4?::k53?6=3`5<55;294~"6l<0:3-;997?4i4f94?=n>:0;66g97;29?l0f2900c50z&2`0<68l1C>lj4H3;:?!75=3;0e8j50;9j26<722c=;7>5;h4b>5<6=44}c04`?6==3:1d4824`=O:hn0D?76;%311?7>o1?3:17d8n:188k4e22900qo<8c;291?6=8r.:h84>0d9K6db<@;327)?=5;38m0b=831b:>4?::k53?6=3`5<55;294~"6l<0:==5G2`f8L7?>3-;99794i4f94?=n>:0;66g9a;29?l7d<3:17b?l5;29?xd5?=0;684?:1y'5a3=98:0D?ok;I0:=>"6:<0<7d;k:188m35=831b:l4?::k2g1<722e:o84?::a5`4=83?1<7>t$0f6>46b3A8jh6F=989'573=92c>h7>5;h40>5<>i6k<0;66sm1d194?3=83:p(o2l3:17d8<:188m31=831b:l4?::m2g0<722wi=h:50;794?6|,8n>6<>j;I0b`>N5101/=?;51:k6`?6=3`<86=44i7594?=n>h0;66a>c483>>{e9l?1<7;50;2x 4b228:n7Et$0f6>46b3A8jh6F=989'573=92c>h7>5;h40>5<>i6k<0;66sm26194?3=83:p(o2l3:17d8<:188m31=831b:l4?::m2g0<722wi>:;50;794?6|,8n>6<>j;I0b`>N5101/=?;51:k6`?6=3`<86=44i7594?=n>h0;66a>c483>>{e:><1<7;50;2x 4b228:n7Et$0f6>4773A8jh6F=989'573=?2c>h7>5;h40>5<5<2290;w)?k5;33a>N5im1C>474$006>4=n=m0;66g93;29?l002900e;o50;9l5f3=831vn?>i:186>5<7s-;o97??e:J1ea=O:030(<<::09j1a<722c=?7>5;h44>5<6<5f5e83>>o1;3:17d88:188m3g=831d=n;50;9~f732290?6=4?{%3g1?77n2B9mi5G28;8 442281b9i4?::k5e?6=3`;h87>5;n3`1?6=3th9:84?:583>5}#9m?1==h4H3cg?M4>12.:>848;h7g>5<5<3290;w)?k5;33b>N5im1C>474$006>4=n=m0;66g9a;29?l7d<3:17b?l5;29?xd5>=0;694?:1y'5a3=99l0D?ok;I0:=>"6:<0:7d;k:188m3g=831b=n:50;9l5f3=831vn5<7s-;o97??d:J1ea=O:030(<<::09j1a<722c=;7>5;h4b>5<6=44}c3fa?6=<3:1d4824a=O:hn0D?76;%311?7>o1i3:17b?l5;29?xd6n<0;694?:1y'5a3=99n0D?ok;I0:=>"6:<0:7d;k:188m31=831b:l4?::m2g0<722wi=k<50;694?6|,8n>6<>i;I0b`>N5101/=?;57:k6`?6=3`5<6=44}c3e5?6=<3:1d4824c=O:hn0D?76;%311?1>o6k=0;66a>c483>>{e:;<1<7=50;2x 4b22;kh7E=0;66g>6e83>>i6jl0;66sm23794?5=83:p(>o6>m0;66a>bd83>>{e:8o1<7:50;2x 4b228=<7E=0;66g9c;29?l7dl3:17b?me;29?xd5:=0;6>4?:1y'5a3=:hi0D?ok;I0:=>o1<3:17d?9d;29?j7em3:17pl=1e83>1<729q/=i;51658L7gc3A8256g94;29?l0d2900e50z&2`0<6?>1C>lj4H3;:?l032900e;m50;9j5fb=831d=ok50;9~f77e290?6=4?{%3g1?70?2B9mi5G28;8m32=831b:n4?::k2ga<722e:nh4?::a61e=8391<7>t$0f6>4113A8jh6F=989j54?=831b=5<7s-;o97??d:J1ea=O:030(<<::09j1a<722c=;7>5;h4b>5<6=44}c007?6=<3:1d4824a=O:hn0D?76;%311?7>o1i3:17b?l5;29?xd5;;0;694?:1y'5a3=99n0D?ok;I0:=>"6:<0:7d;k:188m31=831b:l4?::m2g0<722wi>>?50;694?6|,8n>6<>k;I0b`>N5101/=?;51:k6`?6=3`<<6=44i7c94?=h9j?1<75rb31:>5<2290;w)?k5;324>N5im1C>474$006>4=n=m0;66g93;29?l0f2900e0e9K6db<@;327)?=5;38m0b=831b::4?::k5e?6=3f;h97>5;|`10g<72=0;6=u+1e7955b<@;ko7E<69:&260<63`?o6=44i7594?=n>h0;66a>c483>>{e:0?1<7=50;2x 4b228=:7E6<<4i03:>5<5<53;294~"6l<0:;<5G2`f8L7?>3-;997=>;h32=?6=3`;:m7>5;n3aa?6=3th9>54?:583>5}#9m?1=:=4H3cg?M4>12.:>84<6:k25<<722c:=l4?::k25g<722e:nh4?::a63e=8391<7>t$0f6>4163A8jh6F=989'573=:<1b=<750;9j54g=831d=ok50;9~f76029086=4?{%3g1?7092B9mi5G28;8 4422;?0e50z&2`0<6?:1C>lj4H3;:?!75=38j7d?>9;29?l76i3:17d?>b;29?j7em3:17pl=6e83>1<729q/=i;51618L7gc3A8256*>2481<>o6900;66g>1`83>>o69k0;66a>bd83>>{e:921<7:50;2x 4b228=87E55f10;94?=n98k1<75f10`94?=h9ko1<75rb0d7>5<2290;w)?k5;340>N5im1C>474$006>0c5<5<d48231=O:hn0D?76;%311?4>3`;:57>5;h32e?6=3`;:n7>5;h32g?6=3f;ii7>5;|`14<<72<0;6=u+1e79522<@;ko7E<69:&260<512c:=44?::k25d<722c:=o4?::k25f<722e:nh4?::a5c6=83?1<7>t$0f6>4133A8jh6F=989'573=:>1b=<750;9j54g=831b=709K6db<@;327)?=5;4b?l7613:17d?>a;29?j7em3:17pl>de83>0<729q/=i;51668L7gc3A8256*>2481`>o6900;66g>1`83>>o69k0;66g>1b83>>i6jl0;66sm1ed94?5=83:p(5<2290;w)?k5;340>N5im1C>474$006>615<5<d48234=O:hn0D?76;%311?753`;:57>5;h32e?6=3f;ii7>5;|`2``<72<0;6=u+1e79522<@;ko7E<69:&260<5m2c:=44?::k25d<722c:=o4?::k25f<722e:nh4?::a5cd=83?1<7>t$0f6>4133A8jh6F=989'573=;:1b=<750;9j54g=831b=6=4?{%3g1?70<2B9mi5G28;8 4422:90e50z&2`0<6?:1C>lj4H3;:?!75=39>7d?>9;29?l76i3:17d?>b;29?j7em3:17pl=5c83>0<729q/=i;51668L7gc3A8256*>24807>o6900;66g>1`83>>o69k0;66g>1b83>>i6jl0;66sm24a94?3=83:p(5<4290;w)?k5;345>N5im1C>474$006>675<d48231=O:hn0D?76;%311?463`;:57>5;h32e?6=3`;:n7>5;h32g?6=3f;ii7>5;|`17c<72<0;6=u+1e79522<@;ko7E<69:&260<5n2c:=44?::k25d<722c:=o4?::k25f<722e:nh4?::a66b=83?1<7>t$0f6>4133A8jh6F=989'573=>k1b=<750;9j54g=831b=759K6db<@;327)?=5;33e>o6900;66g>1`83>>o69k0;66g>1b83>>i6jl0;66sm24394?3=83:p(5<2290;w)?k5;340>N5im1C>474$006>4763`;:57>5;h32e?6=3`;:n7>5;h32g?6=3f;ii7>5;|`2bd<72:0;6=u+1e79527<@;ko7E<69:&260<5=2c:=44?::k25d<722e:nh4?::a5c>=83?1<7>t$0f6>4133A8jh6F=989'573=98>0e50z&2`0<6?81C>lj4H3;:?!75=39:7d?>9;29?l76i3:17b?me;29?xd5:90;6>4?:1y'5a3=9>;0D?ok;I0:=>"6:<08=6g>1883>>o69h0;66a>bd83>>{e:;;1<7=50;2x 4b228=:7E:6=4::183!7c=3;<86F=ae9K66<>6;h32=?6=3`;:m7>5;h32f?6=3`;:o7>5;n3aa?6=3th9>?4?:283>5}#9m?1=:?4H3cg?M4>12.:>84<1:k25<<722c:=l4?::m2f`<722wi=h650;794?6|,8n>6<9;;I0b`>N5101/=?;5319j54?=831b=5<7s-;o97?84:J1ea=O:030(<<::268m47>2900e759K6db<@;327)?=5;326>o6900;66g>1`83>>o69k0;66g>1b83>>i6jl0;66sm24594?2=83:p(5<2290;w)?k5;340>N5im1C>474$006>4743`;:57>5;h32e?6=3`;:n7>5;h32g?6=3f;ii7>5;|`11<<72<0;6=u+1e79522<@;ko7E<69:&260<13`;:57>5;h32e?6=3`;:n7>5;h32g?6=3f;ii7>5;|`125<72=0;6=u+1e7952><@;ko7E<69:k25<<722c:=l4?::k2ga<722e:nh4?::a637=83>1<7>t$0f6>4143A8jh6F=989'573=<2c:=44?::k25d<722c:=o4?::m2f`<722wi>;<50;794?6|,8n>6<9;;I0b`>N5101/=?;5599j54?=831b=5<7s-;o97?99:J1ea=O:030e689K6db<@;327d?>8;29?j7em3:17pl>dc83>7<729q/=i;517;8L7gc3A8256g>1983>>i6jl0;66sm29:94?e5290;w)?k5;3`2>N5im1C>474Z4a9g~?=i3o1j7?<:06950<6>3;;62080?!75:390(<8n:02a?!71j3;;n6*>c682fa=#9j21=oj4n0a:>724dc3-;9?7=4$007>6=#:h=1>l84$3c;>7g13g8j57<;;o0be?433-;8?7=4$017>6=#9:?1?6*>3780?!74?390(<=7:29'56?=;2.:?l4<;%30f?5<,89h6>5+12f97>"6;l087)?6=#9=?1?6*>4780?!73?390(<:7:29'51?=;2.:8l4<;%37f?5<,8>h6>5+15f97>"6?7=4$077>6=#95780?!72?390(<;7:29'50?=;2.:9l4<;%36f?5<,8?h6>5+14f97>"6=l087)?:f;18 4072:1/=;?53:&227<43-;=?7=4$047>6=#9??1?6*>6982fa=#9?<1>6*>6681?!76l390(4nga95>"6kl0:"6:?087)?=7;18 44?2:1/=?753:&26d<43-;9n7=4$00`>6=#9;n1?6*>2d80?!75n390(<=?:29'567=;2.:??4<;%3g6?4>o1=3:17d89:188m4602900e7:188m4b42900ej4n0a1>5=c280`>h6k;0:76g45$0a0>6bc386?>o3>3:1(j4n0a1>==c280`>h6k;0276g;2;29 4e42:n0b45$0a0>6bc38g?>o403:1(4=c287`>h6k;0976g;a;29 4e42=n0b4;d:l2g7<332c>;7>5$0a0>1bc385?>o2=3:1(10e8:50;&2g6<3l2d:o?47;:k67?6=,8i869j4n0a1><=c287`>h6k;0j76g:1;29 4e42=n0b4;d:l2g75$0a0>1bc38f?>o?>3:1(;:k;6?6=,8i865;4n0a1>7=c28;1>h6k;0876g70;29 4e421?0b475:l2g7<232c5$0a0>=3c384?>o0k3:1(d=31<7*>c28;1>h6k;0i76g87;29 4e421?0b475:l2g75$0a0>=3c38e?>o0;3:1(475:l2g7<6:21b;=4?:%3`7?>23g;h>7?<;:k5b?6=,8i865;4n0a1>42<3`c3822>=n0j0;6)?l3;:6?k7d:3;<76g7b;29 4e421?0bf290/=n=5849m5f4=9010e5750;&2g6a:9j<=<72-;h?76:;o3`6?7e32c3;7>5$0a0>=35<#9j91485a1b095a=21<7*>c28;1>h6k;0:i65f6e83>!7d;32>7c?l2;3e?>of?3:1(2d:o?4>;:kb7?6=,8i86l84n0a1>7=c28b2>h6k;0876gn1;29 4e42h<0b4n6:l2g7<232c2j7>5$0a0>d0c384?>o>l3:1(2d:o?46;:k:f?6=,8i86l84n0a1>d=c28b2>h6k;0i76g68;29 4e42h<0b4n6:l2g75$0a0>d0c38e?>o><3:1(4n6:l2g7<6:21b5<4?:%3`7?g13g;h>7?<;:k:4?6=,8i86l84n0a1>42<3`2m6=4+1b19e3=i9j81=854i`g94?"6k:0j:6`>c3822>=nim0;6)?l3;c5?k7d:3;<76gnc;29 4e42h<0b2d:o?4>a:9je<<72-;h?7o9;o3`6?7e32cj47>5$0a0>d05<#9j91m;5a1b095a=c28b2>h6k;0:i65f8d83>!7d;3k=7c?l2;3e?>oe;3:1(;:ka4?6=,8i86o<4n0a1>7=c28a6>h6k;0876gm8;29 4e42k=0b4m7:l2g7<632ci97>5$0a0>g1c380?>o5i90;6)?l3;0:b>h6k;0;76g=9d83>!7d;382j6`>c382?>o51m0;6)?l3;0:b>h6k;0976g=9b83>!7d;382j6`>c380?>o5i<0;6)?l3;0b0>h6k;0;76g=a283>!7d;38j86`>c382?>o5i;0;6)?l3;0b0>h6k;0976g=a083>!7d;38j86`>c380?>ic:3:1(50;&2g6;:m`a?6=,8i86i?4n0a1>7=c28g5>h6k;0876alc;29 4e42m;0b4k1:l2g7<232ehm7>5$0a0>a7c384?>id03:1(d=c28g5>h6k;0i76al3;29 4e42m;0b4k1:l2g75$0a0>a7c38e?>ien3:1(4k1:l2g7<6:21dnn4?:%3`7?b63g;h>7?<;:maf?6=,8i86i?4n0a1>42<3fhj6=4+1b19`4=i9j81=854oe;94?"6k:0o=6`>c3822>=hl10;6)?l3;f2?k7d:3;<76ak7;29 4e42m;0ba:9l`1<72-;h?7j>;o3`6?7e32eo?7>5$0a0>a75<#9j91h<5a1b095a=1<7*>c28g5>h6k;0:i65`b883>!7d;3n:7c?l2;3e?>ia<3:1(;:me4?6=,8i86k=4n0a1>7=c28e7>h6k;0876aje;29 4e42o90b4i3:l2g7<232eno7>5$0a0>c5c384?>ibi3:1(d=c28e7>h6k;0i76aj5;29 4e42o90b4i3:l2g75$0a0>c5c38e?>ib93:1(4i3:l2g7<6:21dhh4?:%3`7?`43g;h>7?<;:mg`?6=,8i86k=4n0a1>42<3fnh6=4+1b19b6=i9j81=854og`94?"6k:0m?6`>c3822>=hnh0;6)?l3;d0?k7d:3;<76ai9;29 4e42o90ba:9lb3<72-;h?7h<;o3`6?7e32em97>5$0a0>c55<#9j91j>5a1b095a=c28e7>h6k;0:i65`dc83>!7d;3l87c?l2;3e?>i6880;6)?l3;334>h6k;0;76aif;29 4e428:;7c?l2;38?j`b290/=n=51128j4e52;10ckj50;&2g6<6891e=n<53:9l550=83.:o>4>049m5f4=821d==:50;&2g6<68<1e=n<51:9l555=83.:o>4>049m5f4=:21d==<50;&2g6<68<1e=n<53:9~f4c7290?6=4?{%3g1?70:2B9mi5G28;8 4422;i0e749K6db<@;327)?=5;10?l7613:17d?>a;29?l76j3:17d?>c;29?j71m3:17pl=3`83>0<729q/=i;51678L7gc3A8256*>2486e>o6900;66g>1`83>>o69k0;66g>1b83>>i6>l0;66sm1gf94?3=83:p(o6900;66g>1`83>>o69k0;66g>1b83>>i6>l0;66sm1g;94?3=83:p(5<2290;w)?k5;341>N5im1C>474$006>a=n9831<75f10c94?=n98h1<75f10a94?=h9?o1<75rs3`b>5<4=rT9nl5229a91a=::0919i5229`91a=::0;19i5228091a=::1k19i5228291a=::0=19i521g491a=::8<19i5220591a=::8219i5220;91a=::1919i5229691a=::1?19i5229491a=::>o19i5226f91a=::>i19i5226`91a=::>>19i521d091a=:9l919i521d691a=:9l?19i521d491a=::>919i5226791a=::><19i5221g91a=::8;19i5221d91a=::8:19i5224791a=::??19i5227191a=::?>19i521d`91a=:9lo19i521g791a=:9o819i521g391a=:::>19i5222191a=:::819i5222391a=:::319i5225c91a=::=h19i5229:920=::121:;5rs26;>5ee825g=:9o>1=47d34;nm7?>b:?2a<<69h16>9k510;894c?28;j70?kc;32g>;6m90:=45rs265>5<1lrT9o;5Q2c58Z6373W9?i6P=b79]71d;:;_160>X4=:1U?8<4^266?[53<2T88>5Q3508Z626348ji7?>6:?1=4<1i2794l49a:?1=5<1i2795:49a:?120<1i279=o4>ce9>6=>==o16>565619>6=>=9m901?67:0f7?84?039n70<78;1`?84?039i70<78;1b?84?039270<78;64?84?03>970<78;62?84?03>;70<78;1e?84?039370<78;6f?84?03>h70<78;6a?84?03>j70<78;6:?84?03?<70<78;71?84?03?:70<78;73?84?03>m70<78;6;?84?032=70<78;:7?84?032970<78;:2?84?03=h70<78;5a?84?03=j70<78;50?84?03=970<78;52?84?032i70<78;:b?84?032270<78;c4?84?03k>70<78;c0?84?03k970<78;c2?84?03k;70<78;;e?84?033n70<78;;g?84?033h70<78;;a?84?033j70<78;;;?84?033<70<78;;5?84?033>70<78;;7?84?033870<78;;1?84?033:70<78;;3?84?032m70<78;cf?84?03ko70<78;c`?84?03ki70<78;cb?84?03k270<78;c;?84?03k?70<78;;:?84?032n70<78;`0?84?03h:70<78;`3?84?03km70<78;`;?84?03h=70<78;`6?84?03h?70<78;0b1>;50109m>5229:96d4<5;236?o>;|q00d<72:qU?9o4=3;2>4e33483m7?l4:p740=838pR>?9;<3e6?7d=2wx?8650;7xZ63?348=:7?>a:?2a=<69k16>87510c8970628;27p}<1983>7}Y;8201?8;:0a6?xu4:j0;6?uQ33a8975>28i>7p}=c483>6}Y:kl01;6lo0:=l521d3954g7>54z\1fa=:9l>1=n;4=0fg>47e34;oi7?>b:p6f7=83?pR?ll;<3f7?7d=27:hi4>1`9>5ac=98k0170?kd;32=>;6ll0:=4521ea954d<58ni6k64=3:;>`c52z\1b2=::121ii5rs22;>5<5sW8m:63=898fg>{t;9=1<77}Y:o>01?67:d58yv57=3:1>vP=f29>6=>=m<1v>>;:181[4a:279454j4:p755=838pR?h>;<0;;5010oh6s|30094?4|V;ln70<78;f`?xu4980;6?uQ2gf897>?2oh0q~=>0;296~X5nj16>565f`9~w66a2909wS2wx?=k50;0xZ7`f348347h:;|q04a<72;qU>k74=3:;>c752z\1ac=::121i;5rs222>5<5sW8ni63=898gf>{t:l>1<77}Y:m:01?67:6d8yv4b93:1>vP=cg9>6=>=?l1v?k?:181[4dm2794548d:p6a`=838pR?mk;<0;3ty9hh4?:3y]6fe<5;236:94}r0g`?6=:rT9oo5229:933=z{;nh6=4={_0`e>;5010<96s|2e`94?4|V;i270<78;57?xu5mm0;6?uQ2e;897>?2>:0q~5656g9~w7ce2909wSho50;0xZ7b13483476k;|q1a<<72;qU>i;4=3:;>=e52z\1`1=::121455rs3g4>5<5sW8o?63=898;3>{t:l<1<77}Y:j201?67:6:8yv4ci3:1>vP=c69>6=>=>m1v>=::180[548279>54>189>66e=9830q~=<3;290~X4:o16>?9510;8974?28;j70<{t;:81<78t^20f?845?3;:m63=29825g=::=;1=47e3488m7?>9:p767=839pR>1`9~w41e290?w0;59k0=863=898242=::121=nl4}r0;f?6=;r794n49a:?15o5629~w7>d2909w0<7c;3`1>;50l0:=45rs3;1>5<4s482?78n;<0:5?043482>7?l5:p6<5=838p1?7<:0a6?84>=3;:56s|29c94?5|5;2i6;o4=3:b>4e23483i7?>a:p6<7=839p1?7>:0a6?84>:3{t:1n1<74e33483i7?me:p6=`=83;?w0<60;3`1>;6n?0:o952204922=::8=1::5220:922=::831::521d0922=:9l91::521d6922=:9l?1::521d4922=::9o1=n:4=332>31<5;:m6;94=333>31<58oi6;94=0gf>31<58l>6;94=0d1>4e334;m=7?l4:p6<2=838p1?78:0a7?84>=3;ii6s|28494?7fs482;7?l5:?1<6<1?27949497:?1<0<1?2794;497:?13`<1?279;i497:?13f<1?279;o4>c59>622=9j>01?9<:75897122?=01?99:758973228i?70<95;3`0>;5>:0:o95227695f2<5;9?6;94=310>31<5;996;94=312>31<5;9261b9~w4`02909w0?i6;4b?87am3;ii6s|1g494?3|58l=6189>5cc=98301?:j:03`?xu59h0;6ku2204926=::8=1:>5220:926=::831:>5221g926=::8;1:>5221d926=::8:1:>5225c92d=:9l31=ok4=374>4ec348==7?>b:?127<69k16>56511:894`c28;h7p}=0`83>2}::8<1:l5221g95f3<5;:<61c9>5cd=98301?>9:03;?xu59;0;6;u220495f3<5;?i61`9>64`=98k01?67:418yv47j3:1:v3=1685e>;58o0:o852215954?<5;:361c9~w774290=w0<>7;3`1>;5=j0:=n52243954g<58l3670;5800:=n521ga954d56z?15=<6k<16>8m510c8974628;j70<78;76?84283;:o63>f8825<=z{;:o6=4;{<02=?0f348:=7?l5:?14<<69016=km510;8yv46=3:1:v3=1882g0=::47f348347;9;<064?76i27:j44>1c9~w7>0290::v3=82857>;50=0=?63=84857>;50?0=?63=7d857>;5?m0=?63=7b857>;5?k0=?63=75857>;5?:0=?63=74857>;5??0=?63=4b825<=::=h1:l5227495gc<58ln66=>=:0o01?67:3;g?84?0382o63>fe825g=z{;=<6=4:{<0;7?0f348189>64`=9830q~<8f;290~;50:0:o8521g`954g<58lj66=2=>h16>:m51b78977c2?i01?;>:03:?84583;:56s|29294?2|5;2?6189>6=>=<=1v?96:18684?=3;59l0=o63=20825<=::<:1=c49>5ce=98i01?67:57894`>28;j7p}=7`83>1}::1<1:l5226g95f3<5;8965<50;6x97>128i>70?ic;32e>;5010?:63>f8825f=z{;=96=4;{<04a?0f348<:7?l5:?12`<69016>8l510`8yv4093:19v3=7e85e>;5?<0:o85227f954?<5;:>50;4x971d2?k01?9;:0a6?841k3;:563=6e825d=::?o1=47e3ty9:k4?:6y>62d=>h16>:=51b78970d28;j70<9d;32f>;5>l0:=l5224`954?<5;::56`9>63e=9ko0q~?j7;292~;6m;0=?63>e2857>;6m=0=?63>e4857>;6m?0=?63>e982f`=z{8n=6=4={<3f6?0f34;on7?me:p5a?=838p1d`83>7}:9l>1:l521ef95gc52z?2a0<1i27:hk4>bd9~w4b?2909w0?j6;4b?87b93;ii6s|27594?4|5;=86;o4=34a>4db3ty9:44?:3y>623=>h16>;j51cg8yv41i3:1>v3=7785e>;5>l0:nh5rs321>5<5s48;i78n;<032?7em2wx>=;50;0x97762?k01?>6:0`f?xu58:0;6?u221d92d=::9=1=ok4}r030?6=:r79==49a:?14=<6jl1v?;9:181842=3{t:4e2348?;7?>9:?11d<6901v?8::186841=3;h963=46825d=::47>348=>7?>a:p636=839p1?8<:7c897032?k01?8?:0`f?xu5>:0;68u227195f3<5;<=61c9>636=9jn0q~?jc;297~;6mk0=m63>f485e>;6mm0:nh5rs0ga>5<0s4;nn7?l5:?2aa<69016=k:510c894`728;i70?ja;32e>;6m00:=o5225g954g52z?2a`<1i27:j=4>bd9~w4cb290;6mm0:=l521g6954d<58l;61b9>61c=98h0q~?i5;290~;6n<0:o8521d:954?<58nh6:7c894`328hn7p}>f083>7}:9o;1=n;4=0d7>47>3ty9=h4?:3y>670=>=16>v3=27822a=::;81=ok4}r00;4>bd9>662=>h1v??k:180845=3e;47?846l3;ii6s|23`94?5|5;8>6<8k;<02a?7dl279><4>bd9~w7502909w0<=5;3aa>;5;:0=m6s|20a94?5|5;8?6;:4=33g>32<5;;h6?:517f8977c28io70<=0;3aa>{t::<1<74db3488>78n;|q15g<72:q6>?=5659>64e=>=16>4db3ty9?84?:3y>675=9ko01?=>:7c8yv43l3:1>v3=1c85g>;55<5s48?o7?>a:?10`<6jl1v?=?:180844<3;h963=3b825f=::=:1=<74}r01b?6=;r79?>4>c49>66`=98h01?=k:03b?xu5:l0;6>u222095f3<5;>:6?j50;1x975628i>70<;1;32=>;5;h0:=o5rs365>5<5s488578<;<073?7em2wx>>l50;0x975>2?k01?=j:0`f?xu59l51b78975a28;27p}=4983>6}::;=1=ok4=31e>47f3488h7?>9:p61?=838p1?<7:0`f?84383;:m6s|29;94?4|58oj6;6m90:nh5rs05f>5<4s4;oj7?>9:?2a4<69j16=ik51cg8yv7>>3:1>v3>dd825f=:9l:1=;k4}r3eb?6=:r7:jo4>bd9>5cb=98k0q~j7>53z?11d<6jl16>86510a8973>28;27p}=5e83>7}::47>3ty99h4?:3y>60e=9ko01?;7:03a?xu5=:0;6?u225d95gc<5;?:6>h51cg8972728;i7p}=4583>7}:::n1=4db3ty9?l4?:3y>66b=98i01?=n:04f?xu5<<0;6?u222f95gc<5;9n6>k510c89727287}:9oo1=40b3ty:4>4?:2y>5cc=98i018:50;1x973628hn70<:9;32g>;5>80:=l5rs0;3>5<5s4;mm7?me:?2b=<69j1v<6j:18187a03;:n63>f8822`=z{83:6=4={<075?7em2798=4>1b9~w4?52909w0<:7;32=>;5=10:nh5rs0;0>5<5s48>;7?>a:?11<<6jl1v<7;:18184183;:563=6082f`=z{83>6=4={<054?76i279:?4>bd9~yv4ei3:1>vP=b`9>1g<5jh1/>4651948yv4b<3:1>vP=d09>1g<5l81/>46518f8yv4b:3:1>vP=d19>1g<5l91/>4651`:8yv4b93:1>vP=cg9>1g<5ko1/>4651c18yv4b83:1>vP=cd9>1g<5kl1/>4651cc8yv4cn3:1>vP=ce9>1g<5km1/>46516a8yv4cm3:1>vP=cb9>1g<5kj1/>46516f8yv4cl3:1>vP=cc9>1g<5kk1/>46516g8yv4ck3:1>vP=c`9>1g<5kh1/>46516d8yv4cj3:1>vP=c89>1g<5k01/>4651928yv4bl3:1>vP=d89>1g<5l01/>4651938yv4bk3:1>vP=d99>1g<5l11/>4651908yv4bj3:1>vP=d69>1g<5l>1/>4651918yv4bi3:1>vP=d79>1g<5l?1/>4651968yv4b13:1>vP=d49>1g<5l<1/>4651978yv4b03:1>vP=d59>1g<5l=1/>4651958yv4b?3:1>vP=d29>1g<5l:1/>46519:8yv4b>3:1>vP=d39>1g<5l;1/>46519;8yv4b=3:1>vP=c99>1g<5k11/>46519c8yv4ci3:1>vP=c69>1g<5k>1/>46519`8yv54=3:1>vP<319>1g<4;91/>46519f8yv54;3:1>vP<2g9>1g<4:o1/>46519d8yv54:3:1>vP<2d9>1g<4:l1/>4651858yv5493:1>vP<2e9>1g<4:m1/>46518:8yv5303:1>vP<499>1g<4<11/>46518;8yv53i3:1>vP<4`9>1g<4

46518c8yv5203:1>vP<599>1g<4=11/>46518`8yv4d=3:1>vP=bg9>1g<5jo1/>46518a8yv4d;3:1>vP=bd9>1g<5jl1/>46518g8yv4d:3:1>vP=be9>1g<5jm1/>46518d8yv4d93:1>vP=bb9>1g<5jj1/>4651`28yv4d83:1>vP=bc9>1g<5jk1/>4651`38yv57j3:1>vP=f99>1g<5n11/>4651`08yv5713:1>vP=f69>1g<5n>1/>4651`18yv5703:1>vP=f79>1g<5n?1/>4651`68yv57?3:1>vP=f49>1g<5n<1/>4651`78yv57>3:1>vP=f59>1g<5n=1/>4651`48yv57=3:1>vP=f29>1g<5n:1/>4651`58yv57<3:1>vP=f39>1g<5n;1/>4651`;8yv57;3:1>vP=f09>1g<5n81/>4651`c8yv57:3:1>vP=f19>1g<5n91/>4651``8yv56<3:1>vP<019>1g<4891/>4651`a8yv56;3:1>vP=fg9>1g<5no1/>4651`f8yv56:3:1>vP=fd9>1g<5nl1/>4651`g8yv5693:1>vP=fe9>1g<5nm1/>4651`d8yv5683:1>vP=fb9>1g<5nj1/>4651c28yv57n3:1>vP=fc9>1g<5nk1/>4651c38yv57m3:1>vP=f`9>1g<5nh1/>4651c08yv57l3:1>vP=f89>1g<5n01/>4651c68yv57k3:1>vP=eg9>1g<5mo1/>4651c78yv5793:1>vP=ed9>1g<5ml1/>4651c48yv56>3:1>vP<179>1g<49?1/>4651c58yv5603:1>vP<199>1g<4911/>4651c:8yv55k3:1>vP<2b9>1g<4:j1/>4651c;8yxh3?l0;6?uG28;8yk20n3:1>vF=989~j1>72909wE<69:m0=7=838pD?76;|l7<7<72;qC>474}o6;7?6=:rB9545rn5:7>5<5sA8256sa49794?4|@;327p`;8783>7}O:030qc:77;296~N5101vb967:181M4>12we85750;0xL7?>3td?4l4?:3yK63n7>52zJ1=<=zf=2h6=4={I0:=>{i<1n1<7vF=989~j1?72909wE<69:m0<7=838pD?76;|l7=7<72;qC>474}o6:7?6=:rB9545rn5;7>5<5sA8256sa48794?4|@;327p`;9783>7}O:030qc:67;296~N5101vb977:181M4>12we84750;0xL7?>3td?5l4?:3yK62n7>52zJ1=<=zf=3h6=4={I0:=>{i<0n1<7n3:1>vF=989~j1g72909wE<69:m0d7=838pD?76;|l7e7<72;qC>474}o6b7?6=:rB9545rn5c7>5<5sA8256sa4`794?4|@;327p`;a783>7}O:030qc:n7;296~N5101vb9o7:181M4>12we8l750;0xL7?>3td?ml4?:3yK6jn7>52zJ1=<=zf=kh6=4={I0:=>{ivF=989~j1d72909wE<69:m0g7=838pD?76;|l7f7<72;qC>474}o6a7?6=:rB9545rn2fb>5<6sA8256sa41d94?7|@;327p`;1183>4}O:030qc:>1;295~N5101vb9?=:182M4>12we8<=50;3xL7?>3td?=94?:0yK6:97>51zJ1=<=zf=;=6=4>{I0:=>{i<8=1<7?tH3;:?xh3910;6474}o62`?6=9rB9545rn53f>5<6sA8256sa40d94?7|@;327p`;2183>4}O:030qc:=1;295~N5101vb9<=:182M4>12we8?=50;3xL7?>3td?>94?:0yK6997>51zJ1=<=zf=8=6=4>{I0:=>{i<;=1<7?tH3;:?xh3:10;6474}o61`?6=9rB9545rn50f>5<6sA8256sa43d94?7|@;327p`;3183>4}O:030qc:<1;295~N5101vb9==:182M4>12we8>=50;3xL7?>3td??94?:0yK6897>51zJ1=<=zf=9=6=4>{I0:=>{i<:=1<7?tH3;:?xh3;10;6474}o60`?6=9rB9545rn51f>5<6sA8256sa42d94?7|@;327p`;4183>4}O:030qc:;1;295~N5101vb9:=:182M4>12we89=50;3xL7?>3td?894?:0yK6?97>51zJ1=<=zf=>=6=4>{I0:=>{i<==1<7?tH3;:?xh3<10;6474}o67`?6=9rB9545rn56f>5<6sA8256sa45d94?7|@;327p`;5183>4}O:030qc::1;295~N5101vb9;=:182M4>12we88=50;3xL7?>3td?994?:0yK6>97>51zJ1=<=zf=?=6=4>{I0:=>{i<<=1<7?tH3;:?xh3=10;6474}o66`?6=9rB9545rn57f>5<6sA8256sa44d94?7|@;327p`;6183>4}O:030qc:91;295~N5101vb98=:182M4>12we8;=50;3xL7?>3td?:94?:0yK6=97>51zJ1=<=zf=<=6=4>{I0:=>{i10;6474}o65`?6=9rB9545rn54f>5<6sA8256sa47d94?7|@;327p`;7183>4}O:030qc:81;295~N5101vb99=:182M4>12we8:=50;3xL7?>3td?;94?:0yK6<97>51zJ1=<=zf===6=4>{I0:=>{i<>=1<7?tH3;:?xh3?10;6474}o64`?6=9rB9545r}|CDF}2=h0mm:mkd1f~DED|8tJK\vsO@ \ No newline at end of file diff --git a/xilinx/virtex4/fifo/xilinx_19x16_obuf.vhd b/xilinx/virtex4/xilinx_fifo_19x16_obuf.vhd similarity index 84% rename from xilinx/virtex4/fifo/xilinx_19x16_obuf.vhd rename to xilinx/virtex4/xilinx_fifo_19x16_obuf.vhd index fcdf2c0..089db83 100644 --- a/xilinx/virtex4/fifo/xilinx_19x16_obuf.vhd +++ b/xilinx/virtex4/xilinx_fifo_19x16_obuf.vhd @@ -26,8 +26,8 @@ -- (c) Copyright 1995-2007 Xilinx, Inc. -- -- All rights reserved. -- -------------------------------------------------------------------------------- --- You must compile the wrapper file xilinx_19x16_obuf.vhd when simulating --- the core, xilinx_19x16_obuf. When compiling the wrapper file, be sure to +-- You must compile the wrapper file xilinx_fifo_19x16_obuf.vhd when simulating +-- the core, xilinx_fifo_19x16_obuf. When compiling the wrapper file, be sure to -- reference the XilinxCoreLib VHDL simulation library. For detailed -- instructions, please refer to the "CORE Generator Help". @@ -40,7 +40,7 @@ USE ieee.std_logic_1164.ALL; -- synthesis translate_off Library XilinxCoreLib; -- synthesis translate_on -ENTITY xilinx_19x16_obuf IS +ENTITY xilinx_fifo_19x16_obuf IS port ( clk: IN std_logic; din: IN std_logic_VECTOR(18 downto 0); @@ -48,16 +48,16 @@ ENTITY xilinx_19x16_obuf IS rd_en: IN std_logic; rst: IN std_logic; wr_en: IN std_logic; - data_count: OUT std_logic_VECTOR(3 downto 0); + data_count: OUT std_logic_VECTOR(4 downto 0); dout: OUT std_logic_VECTOR(18 downto 0); empty: OUT std_logic; full: OUT std_logic; prog_full: OUT std_logic); -END xilinx_19x16_obuf; +END xilinx_fifo_19x16_obuf; -ARCHITECTURE xilinx_19x16_obuf_a OF xilinx_19x16_obuf IS +ARCHITECTURE xilinx_fifo_19x16_obuf_a OF xilinx_fifo_19x16_obuf IS -- synthesis translate_off -component wrapped_xilinx_19x16_obuf +component wrapped_xilinx_fifo_19x16_obuf port ( clk: IN std_logic; din: IN std_logic_VECTOR(18 downto 0); @@ -65,7 +65,7 @@ component wrapped_xilinx_19x16_obuf rd_en: IN std_logic; rst: IN std_logic; wr_en: IN std_logic; - data_count: OUT std_logic_VECTOR(3 downto 0); + data_count: OUT std_logic_VECTOR(4 downto 0); dout: OUT std_logic_VECTOR(18 downto 0); empty: OUT std_logic; full: OUT std_logic; @@ -73,7 +73,7 @@ component wrapped_xilinx_19x16_obuf end component; -- Configuration specification - for all : wrapped_xilinx_19x16_obuf use entity XilinxCoreLib.fifo_generator_v4_2(behavioral) + for all : wrapped_xilinx_fifo_19x16_obuf use entity XilinxCoreLib.fifo_generator_v4_2(behavioral) generic map( c_has_int_clk => 0, c_rd_freq => 1, @@ -92,7 +92,7 @@ end component; c_underflow_low => 0, c_has_meminit_file => 0, c_has_overflow => 0, - c_preload_latency => 2, + c_preload_latency => 0, c_dout_width => 19, c_rd_depth => 16, c_default_value => "BlankString", @@ -101,31 +101,31 @@ end component; c_has_rd_rst => 0, c_has_almost_full => 0, c_has_rst => 1, - c_data_count_width => 4, + c_data_count_width => 5, c_has_wr_ack => 0, c_use_ecc => 0, c_wr_ack_low => 0, c_common_clock => 1, c_rd_pntr_width => 4, - c_use_fwft_data_count => 0, + c_use_fwft_data_count => 1, c_has_almost_empty => 0, - c_rd_data_count_width => 4, + c_rd_data_count_width => 5, c_enable_rlocs => 0, c_wr_pntr_width => 4, c_overflow_low => 0, c_prog_empty_type => 0, c_optimization_mode => 0, - c_wr_data_count_width => 4, + c_wr_data_count_width => 5, c_preload_regs => 1, c_dout_rst_val => "0", c_has_data_count => 1, - c_prog_full_thresh_negate_val => 13, + c_prog_full_thresh_negate_val => 14, c_wr_depth => 16, - c_prog_empty_thresh_negate_val => 3, - c_prog_empty_thresh_assert_val => 2, + c_prog_empty_thresh_negate_val => 5, + c_prog_empty_thresh_assert_val => 4, c_has_valid => 0, c_init_wr_pntr_val => 0, - c_prog_full_thresh_assert_val => 14, + c_prog_full_thresh_assert_val => 15, c_use_fifo16_flags => 0, c_has_backup => 0, c_valid_low => 0, @@ -136,7 +136,7 @@ end component; -- synthesis translate_on BEGIN -- synthesis translate_off -U0 : wrapped_xilinx_19x16_obuf +U0 : wrapped_xilinx_fifo_19x16_obuf port map ( clk => clk, din => din, @@ -151,5 +151,5 @@ U0 : wrapped_xilinx_19x16_obuf prog_full => prog_full); -- synthesis translate_on -END xilinx_19x16_obuf_a; +END xilinx_fifo_19x16_obuf_a; diff --git a/xilinx/virtex4/fifo/xilinx_19x16_obuf.xco b/xilinx/virtex4/xilinx_fifo_19x16_obuf.xco similarity index 83% rename from xilinx/virtex4/fifo/xilinx_19x16_obuf.xco rename to xilinx/virtex4/xilinx_fifo_19x16_obuf.xco index d3c4a38..9e6c0dd 100644 --- a/xilinx/virtex4/fifo/xilinx_19x16_obuf.xco +++ b/xilinx/virtex4/xilinx_fifo_19x16_obuf.xco @@ -1,7 +1,7 @@ ############################################################## # # Xilinx Core Generator version J.40 -# Date: Tue Oct 19 14:19:54 2010 +# Date: Fri Oct 22 12:18:02 2010 # ############################################################## # @@ -37,45 +37,45 @@ SELECT Fifo_Generator family Xilinx,_Inc. 4.2 # BEGIN Parameters CSET almost_empty_flag=false CSET almost_full_flag=false -CSET component_name=xilinx_19x16_obuf +CSET component_name=xilinx_fifo_19x16_obuf CSET data_count=true -CSET data_count_width=4 +CSET data_count_width=5 CSET dout_reset_value=0 -CSET empty_threshold_assert_value=2 -CSET empty_threshold_negate_value=3 +CSET empty_threshold_assert_value=4 +CSET empty_threshold_negate_value=5 CSET enable_ecc=false CSET enable_int_clk=false CSET fifo_implementation=Common_Clock_Block_RAM CSET full_flags_reset_value=1 -CSET full_threshold_assert_value=14 -CSET full_threshold_negate_value=13 +CSET full_threshold_assert_value=15 +CSET full_threshold_negate_value=14 CSET input_data_width=19 CSET input_depth=16 CSET output_data_width=19 CSET output_depth=16 CSET overflow_flag=false CSET overflow_sense=Active_High -CSET performance_options=Standard_FIFO +CSET performance_options=First_Word_Fall_Through CSET programmable_empty_type=No_Programmable_Empty_Threshold CSET programmable_full_type=Single_Programmable_Full_Threshold_Input_Port CSET read_clock_frequency=1 CSET read_data_count=false -CSET read_data_count_width=4 +CSET read_data_count_width=5 CSET reset_pin=true CSET reset_type=Asynchronous_Reset CSET underflow_flag=false CSET underflow_sense=Active_High CSET use_dout_reset=false CSET use_embedded_registers=true -CSET use_extra_logic=false +CSET use_extra_logic=true CSET valid_flag=false CSET valid_sense=Active_High CSET write_acknowledge_flag=false CSET write_acknowledge_sense=Active_High CSET write_clock_frequency=1 CSET write_data_count=false -CSET write_data_count_width=4 +CSET write_data_count_width=5 # END Parameters GENERATE -# CRC: e6f9f439 +# CRC: 9158f11f -- 2.43.0