From f390e4a401cf9a07fd7e8b9e0c50049c1993b967 Mon Sep 17 00:00:00 2001 From: fatedier Date: Wed, 5 Jun 2024 16:53:29 +0800 Subject: [PATCH 1/4] add sponsor (#4265) --- README.md | 12 +++++++++--- README_zh.md | 12 +++++++++--- doc/pic/sponsor_daytona.png | Bin 57279 -> 42315 bytes doc/pic/sponsor_terminusos.jpeg | Bin 0 -> 31450 bytes 4 files changed, 18 insertions(+), 6 deletions(-) create mode 100644 doc/pic/sponsor_terminusos.jpeg diff --git a/README.md b/README.md index 9122de1..97f1483 100644 --- a/README.md +++ b/README.md @@ -11,11 +11,17 @@

- + -   +

+

- + + +

+

+ +

diff --git a/README_zh.md b/README_zh.md index f71a579..a07e840 100644 --- a/README_zh.md +++ b/README_zh.md @@ -13,11 +13,17 @@ frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP

- + -   +

+

- + + +

+

+ +

diff --git a/doc/pic/sponsor_daytona.png b/doc/pic/sponsor_daytona.png index b00f93279005d3c31dae52bf1b720aaf71cf7d0f..a5271cc9502b575014fb52ba55cfa2ef0d41eb72 100644 GIT binary patch literal 42315 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∈g!Z5 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 literal 57279 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 RzS4fHqO8i_Su(f0{|~$1s=fdK diff --git a/doc/pic/sponsor_terminusos.jpeg b/doc/pic/sponsor_terminusos.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..798302abd076133b13773c60771d64bff8f2ac75 GIT binary patch literal 31450 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 literal 0 HcmV?d00001 From 939c4907689832b6f15f6ff163e15d2b3adad9ff Mon Sep 17 00:00:00 2001 From: fatedier Date: Wed, 12 Jun 2024 17:30:10 +0800 Subject: [PATCH 2/4] Add http2http client plugin with hostHeaderRewrite and requestHeaders support (#4275) --- Release.md | 10 +--- conf/frpc_full_example.toml | 10 ++++ pkg/config/v1/plugin.go | 10 ++++ pkg/plugin/client/http2http.go | 91 ++++++++++++++++++++++++++++++++++ test/e2e/v1/plugin/client.go | 73 +++++++++++++++++++++++++++ 5 files changed, 186 insertions(+), 8 deletions(-) create mode 100644 pkg/plugin/client/http2http.go diff --git a/Release.md b/Release.md index a1fa993..2dcfc56 100644 --- a/Release.md +++ b/Release.md @@ -1,9 +1,3 @@ -### Fixes +### Features -* Fixed an issue where HTTP/2 was not enabled for https2http and https2https plugins. -* Fixed the issue where the default values of INI configuration parameters are inconsistent with other configuration formats. - -### Changes - -* Updated the default value of `transport.tcpMuxKeepaliveInterval` from 60 to 30. -* On the Android platform, the Google DNS server is used only when the default DNS server cannot be obtained. +* Added a new plugin "http2http" which allows forwarding HTTP requests to another HTTP server, supporting options like local address binding, host header rewrite, and custom request headers. diff --git a/conf/frpc_full_example.toml b/conf/frpc_full_example.toml index c88087a..51b89c2 100644 --- a/conf/frpc_full_example.toml +++ b/conf/frpc_full_example.toml @@ -315,6 +315,16 @@ localAddr = "127.0.0.1:443" hostHeaderRewrite = "127.0.0.1" requestHeaders.set.x-from-where = "frp" +[[proxies]] +name = "plugin_http2http" +type = "tcp" +remotePort = 6007 +[proxies.plugin] +type = "http2http" +localAddr = "127.0.0.1:80" +hostHeaderRewrite = "127.0.0.1" +requestHeaders.set.x-from-where = "frp" + [[proxies]] name = "secret_tcp" # If the type is secret tcp, remotePort is useless diff --git a/pkg/config/v1/plugin.go b/pkg/config/v1/plugin.go index 3a7c834..333b020 100644 --- a/pkg/config/v1/plugin.go +++ b/pkg/config/v1/plugin.go @@ -76,6 +76,7 @@ const ( PluginSocks5 = "socks5" PluginStaticFile = "static_file" PluginUnixDomainSocket = "unix_domain_socket" + PluginHTTP2HTTP = "http2http" ) var clientPluginOptionsTypeMap = map[string]reflect.Type{ @@ -86,6 +87,7 @@ var clientPluginOptionsTypeMap = map[string]reflect.Type{ PluginSocks5: reflect.TypeOf(Socks5PluginOptions{}), PluginStaticFile: reflect.TypeOf(StaticFilePluginOptions{}), PluginUnixDomainSocket: reflect.TypeOf(UnixDomainSocketPluginOptions{}), + PluginHTTP2HTTP: reflect.TypeOf(HTTP2HTTPPluginOptions{}), } type HTTP2HTTPSPluginOptions struct { @@ -137,3 +139,11 @@ type UnixDomainSocketPluginOptions struct { Type string `json:"type,omitempty"` UnixPath string `json:"unixPath,omitempty"` } + +// Added HTTP2HTTPPluginOptions struct +type HTTP2HTTPPluginOptions struct { + Type string `json:"type,omitempty"` + LocalAddr string `json:"localAddr,omitempty"` + HostHeaderRewrite string `json:"hostHeaderRewrite,omitempty"` + RequestHeaders HeaderOperations `json:"requestHeaders,omitempty"` +} diff --git a/pkg/plugin/client/http2http.go b/pkg/plugin/client/http2http.go new file mode 100644 index 0000000..689b90b --- /dev/null +++ b/pkg/plugin/client/http2http.go @@ -0,0 +1,91 @@ +// Copyright 2024 The frp Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package plugin + +import ( + "io" + stdlog "log" + "net" + "net/http" + "net/http/httputil" + + "github.com/fatedier/golib/pool" + + v1 "github.com/fatedier/frp/pkg/config/v1" + "github.com/fatedier/frp/pkg/util/log" + netpkg "github.com/fatedier/frp/pkg/util/net" +) + +func init() { + Register(v1.PluginHTTP2HTTP, NewHTTP2HTTPPlugin) +} + +type HTTP2HTTPPlugin struct { + opts *v1.HTTP2HTTPPluginOptions + + l *Listener + s *http.Server +} + +func NewHTTP2HTTPPlugin(options v1.ClientPluginOptions) (Plugin, error) { + opts := options.(*v1.HTTP2HTTPPluginOptions) + + listener := NewProxyListener() + + p := &HTTP2HTTPPlugin{ + opts: opts, + l: listener, + } + + rp := &httputil.ReverseProxy{ + Rewrite: func(r *httputil.ProxyRequest) { + req := r.Out + req.URL.Scheme = "http" + req.URL.Host = p.opts.LocalAddr + if p.opts.HostHeaderRewrite != "" { + req.Host = p.opts.HostHeaderRewrite + } + for k, v := range p.opts.RequestHeaders.Set { + req.Header.Set(k, v) + } + }, + BufferPool: pool.NewBuffer(32 * 1024), + ErrorLog: stdlog.New(log.NewWriteLogger(log.WarnLevel, 2), "", 0), + } + + p.s = &http.Server{ + Handler: rp, + ReadHeaderTimeout: 0, + } + + go func() { + _ = p.s.Serve(listener) + }() + + return p, nil +} + +func (p *HTTP2HTTPPlugin) Handle(conn io.ReadWriteCloser, realConn net.Conn, _ *ExtraInfo) { + wrapConn := netpkg.WrapReadWriteCloserToConn(conn, realConn) + _ = p.l.PutConn(wrapConn) +} + +func (p *HTTP2HTTPPlugin) Name() string { + return v1.PluginHTTP2HTTP +} + +func (p *HTTP2HTTPPlugin) Close() error { + return p.s.Close() +} diff --git a/test/e2e/v1/plugin/client.go b/test/e2e/v1/plugin/client.go index 476adb8..3499e88 100644 --- a/test/e2e/v1/plugin/client.go +++ b/test/e2e/v1/plugin/client.go @@ -3,6 +3,7 @@ package plugin import ( "crypto/tls" "fmt" + "net/http" "strconv" "github.com/onsi/ginkgo/v2" @@ -329,4 +330,76 @@ var _ = ginkgo.Describe("[Feature: Client-Plugins]", func() { ExpectResp([]byte("test")). Ensure() }) + + ginkgo.Describe("http2http", func() { + ginkgo.It("host header rewrite", func() { + serverConf := consts.DefaultServerConfig + + localPort := f.AllocPort() + remotePort := f.AllocPort() + clientConf := consts.DefaultClientConfig + fmt.Sprintf(` + [[proxies]] + name = "http2http" + type = "tcp" + remotePort = %d + [proxies.plugin] + type = "http2http" + localAddr = "127.0.0.1:%d" + hostHeaderRewrite = "rewrite.test.com" + `, remotePort, localPort) + + f.RunProcesses([]string{serverConf}, []string{clientConf}) + + localServer := httpserver.New( + httpserver.WithBindPort(localPort), + httpserver.WithHandler(http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) { + _, _ = w.Write([]byte(req.Host)) + })), + ) + f.RunServer("", localServer) + + framework.NewRequestExpect(f). + Port(remotePort). + RequestModify(func(r *request.Request) { + r.HTTP().HTTPHost("example.com") + }). + ExpectResp([]byte("rewrite.test.com")). + Ensure() + }) + + ginkgo.It("set request header", func() { + serverConf := consts.DefaultServerConfig + + localPort := f.AllocPort() + remotePort := f.AllocPort() + clientConf := consts.DefaultClientConfig + fmt.Sprintf(` + [[proxies]] + name = "http2http" + type = "tcp" + remotePort = %d + [proxies.plugin] + type = "http2http" + localAddr = "127.0.0.1:%d" + requestHeaders.set.x-from-where = "frp" + `, remotePort, localPort) + + f.RunProcesses([]string{serverConf}, []string{clientConf}) + + localServer := httpserver.New( + httpserver.WithBindPort(localPort), + httpserver.WithHandler(http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) { + _, _ = w.Write([]byte(req.Header.Get("x-from-where"))) + })), + ) + f.RunServer("", localServer) + + framework.NewRequestExpect(f). + Port(remotePort). + RequestModify(func(r *request.Request) { + r.HTTP().HTTPHost("example.com") + }). + ExpectResp([]byte("frp")). + Ensure() + }) + }) }) From c6f9d8d4031f6fba9a39fe9e1a79907ceedf0f5f Mon Sep 17 00:00:00 2001 From: fatedier Date: Wed, 26 Jun 2024 14:51:34 +0800 Subject: [PATCH 3/4] update sponsors (#4303) --- README.md | 5 +++++ README_zh.md | 5 +++++ doc/pic/donate-wechatpay.png | Bin 27594 -> 0 bytes doc/pic/sponsor_doppler.png | Bin 41900 -> 0 bytes doc/pic/sponsor_lokal.png | Bin 0 -> 56387 bytes doc/pic/sponsor_nango.png | Bin 12068 -> 0 bytes 6 files changed, 10 insertions(+) delete mode 100644 doc/pic/donate-wechatpay.png delete mode 100644 doc/pic/sponsor_doppler.png create mode 100644 doc/pic/sponsor_lokal.png delete mode 100644 doc/pic/sponsor_nango.png diff --git a/README.md b/README.md index 97f1483..915e1e8 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,11 @@

Gold Sponsors

+

+ + + +

diff --git a/README_zh.md b/README_zh.md index a07e840..95ede3e 100644 --- a/README_zh.md +++ b/README_zh.md @@ -11,6 +11,11 @@ frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP

Gold Sponsors

+

+ + + +

diff --git a/doc/pic/donate-wechatpay.png b/doc/pic/donate-wechatpay.png deleted file mode 100644 index d8fef5872f3448e9a26d90dab0062723a8bc417c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27594 zcmcFr1y@yDv_8P0Q$R{uR3rqH5|B;<>F$tDY3Y^{Q9`8==`NK90hN}NPC=wYO5n|X z-%ohs4aemwb@twCtvSD%=edfq0xm3@X?^G#}0);6WYkg zsMwgBqflNGv5AKEl$tc*8Pj*~*kSf*Vsk6K$;4#I)oo!X#+cr?HQA;oI7ww=o;~^d z=XAx;&z&CoV|?u|vWvv|p5b4PJQd8$vM~Z!y;y{39^w&bipuX*d9)e~m-f`wDZAHlRd8q3n76GGyqxwl>|@g)uRRz@)#y-_Q`Q`zxL zJ{>J#QbHMwe>^%5D793-UCy#YHjqNFPOC_dI{Ua$M5bogGJ2N9BwdK-R^Yct5${90 zS}5m&=k`c`=Za)99XF}uny|^l!FS5{%BaRyd<|65IgF@P4#meDUA5oCiZ#_@3m3oZ z)RT^%XV`T*+*&QcNx~hvS|4-}@8wXKFiE^GwGe9f?FH(w|y{ z3H1K1AS%a52+^#0%C(?W==0Q>#s5&nZy(zPo2~iadc1~$-^t3~kwR}4~ zA9Umk-79#zT)}R`u0-F)uGBeVr_*q8zRA23 z&(7v3YIXIMBIXBG;T~2O{P@@L`C66{W#L~I=?HM&1*N~RF;iV36(mR zIB;$37$W18)3d*1Q}Kwh!=plT-~72%$5XS2ug|MjsV66Da>r$<1WN0?jdGuV$?h?# zOl`gPKDfKgiyx25b6Lmpsh`zKq|djCex}Atd*4}1M1E;a4c;T&HE1q09^zTkKIlF% zxFK_)n=!Pq-|gA^<72<&r@6j+cX-khTRU>YEpVQPM8xzq@b$U;-PV5L;dLwO6_1gQ z|6k`3(a~wCjXedYuVWET#82PXg?tFOfAOX%#b4q~^~7_7VdKt*-Nx&`VICw8L`%{J zn+BVP#0Q&V(nfxG=KKA%F!OuRAlI1m@yV!xrMTm-o{?X#o>a73mGTR{3Hc>*$Ewse zL*IaBGre8daWbQ$Cc9yrSW&EpzmME$gocsi^d&nc$44*vh8uaBH+{Zb=X2}dnBk~> z{+C~V<|{2NmwCvbll^TE+Bb296@6c6&pJh}28?Y~C#PtH?@HqF4s4Th0jSr2^eH^vk?*-z2V;}1b-Z*>m1|6^C(i9Tb-~P8*@-!>t z5&yg_iZf%))ArJN5+Ve}#zZ{Zj)Y-?SCs|2dSo)v;(o<|CuA6Q78*9C0QvAuZayq zPcIF*L;sbTdhW&q%uq5s0sfl=YUl!14(7~AW-Uszl&n+-2|>16qS0lvhRFTPvScdp zBx*mN&GtT-{r7JM(F%ujkF3m4*nmV#k}UxJT5gAjv1ulAJHsm z^n0ylRXfZN7KwP;5hFfWa9JLbcv5fVUZ|axJV#5y#3bG#hKr9>=^39^{XO)#HKV7Q}ywQ!Cl*3kx05>>M1JD1MtC=!%L8RN(%; z+f;*hRcDt@iB^tby@yIcL$^SG5!!w*TTZ9a0-usVE;jKd9;S%fYT$Ie=T$Z~w70i6 z&7CJiYHDg^G&GS6q8^zKl5dg8U8=I`@2s2kCyaYK!=25ZZQ33_-W(vYHd2I}rW}D! zaeWT9o=Sm+PP6|#M*kzzh(nLfspr~8-q=KYb#2T_0cHW7L4n!@P|G;YM*b9FdWTT@s44< zM+aAf-CcR>G-k!S;c({Jc$1$fO?YcwhJO@XgxAyxRW$aUCp|4qey1(GL{zs7B3II% zk)X;g_oyCb@J(+V77?ma4rWSW(F;4H4*ralRk+$=8eKDi9~0{jSvjWT9<#VDl~DY~ z6;^f7I`pS~IDBM3XQ+B2_|CLK2iDgh$&#PWM%VS{lPcP5c4;zn-qyAl>8o!`)m)QX zqJIdFXK$mW0^z5=S-9#Y7p`q>3h96KV;O7y?0nD^R@Y)Ls9oPssPc)Y0UKVpcEFlH zGAimbw`MR|@WO%_B{g-upE9MK#giwj*REkdslxX6_m7N@#_Dom=i-vJDG<w&8$KT&-`B5SQT==DH*ZRLc?r|;Tcg6HF-o)|UcaW?ZV3GP6%UQ8-&hk898AW< zL>g{tBKYoQS{ktw88aT{kD;MUWMp&9*7tMCU0hs7GbN>+|7hK&31_|`H1=DTHI(`K zbsYGDi7wUg@i99mCl)F+Je-xEpHi$}CRc6#SMNIy(MUE7qIPCMK^)tf35SftB-@u6 z8KjcI_j9G~?YVT4!kF>Ce*Yc}Pw}U{yow4La)Hu#!NI|)Nx51@mo8t%PO>cGrVk}s zb^9Fk*^8$^t3||pEi{o+dnQSlyGS4-;QZ6%N{swfBmZMd_Qd;S(!5W9J?wcaK$yTb ze|9+A^&|HI1_}$8qpWvBy#bKj}Xm6t%eGV|&c|ZCd-oPIc?SU*E-FH3(cgENJ{TfahLDBb5hAuW`G4Z?@8hN=(Hh51x6t5VUkfX%oQ4MatgNia z=g)&+O^nJEl$A+Pl4WC)jZ9=@C=~3l_w^C%QD3{epXv$asww?x<0Y!Bs+z71BMbie zRZ*`rBO}Am_^Uil;{7lvY7zJhG&HL(*FKE>d70)Q&=eXLp%h1xj#1UgpyhF)8&uYisoRk zeCZR;RAIN)B?!YzVEe@IP**bX{xzC#7aQwsN}P~O%gf9A_IYXr`5f0XR%BI!mGeTB z^Q!bao+o#rq6l_=JmC4cp|vYLQ18hk zc79|IhrBC}pR6dXy7w;|ykKOz z58gQ4{~hw^T@yAli?Hx`?uoV`<>kw!yG!4`_Vl>jtPW;2*vrYGKi0RNM-gl4OFyB7Bo+|9pHg716m+rf(Bz80xf(oR#p**)e-;N4AIauVi z9ta_MviswQT2GoNHT-s*?n~i@t%3as*zA;hL z*=+c3+uL=@^eFGcYC!jE!|AG*_S|O|;i6`^MM}uwfnEk(ukwnDG@g7My>9O1UUlD# zvqNE@{rr&6?Yu-r-piMr=~o6VlG(oHq^V}9%>B;GkYALKWr@TrHTV>KQ~d*~d~+hh z_aDBjs%+6{i6qAw+o7C`3*W;hcc4iA78)xxjD~|p3{P%*u61>$vA)ZJ8jaDN#N8f* zg$t!LocK!kEyK^lip?`NM;R2n&=O&Fn7O%oH@8B`s-YruqSxnIL!jqAZ=Zc9U>DvV zL3&k0(XIiVr^1P?0;j{4i<282Fs7$F4 zoDr&WCjX=5f-2%Xz-yQ9jwa+@0*Q z^z{;%w8`x^yk6TTDZNjQj*nS5I0ypWM=o}{m|i9%V1}DI?<{oK`pJ-?*Jm29(9+W0 zy207bEBy3VjCwLx`U+Cu3>tkd2Qz2-pPkSMIU30QWNkWG%w zPEd!LRFPK6s$)`ea>Tu7e_P<#9yNDDMZ(9&hy7um$Z6od_*H}B@~@sZA)C|n zAuHbXhuUREv7eqwV0Tq`Sfw{Kh>4x;50OwrEeaz~@j()o%as`^ydA}s>km@`T^2h( z5%HMP;Qapmdv&^A2;g3(TERBlMh@I1@4H^F^W&ABlRsr4WWls|p3DKh!el`M;{6iM z)1qQ5$4Cc%bH0Cj|~UT9i}eT zTninJx_Be@^KRTz8sYR67QE4mpVA3zdCC>R%z>7=d6v^8!f{yLm5x{xnjDE~ncWVi zG@ZA^W67j%eA=)`KGn=pfvy(9JE9&&8(vW1@+pn4i9*A(>@srJ2&r#*RZnQ+wDS%Z zO{)Vmude2Y$`E2oLnb{?ZF9$&J{ns4T5qWeI|75kr17QZUcP-xkTbZdV)W$6^@HIT zF){DgilFxNz7qnJ2d!ryUp0s0D$efiF1uf#gT1ap5LxhN_djYJVX3L~bmvadySuJz zH*O5o0(3`!dIB5#OQvW9007`|7BR7@dA~-Z7tz!_KejY*xw=`Q82ssXFyb_U%GVi) zf#rDW7t*RyvLdJY1*lqJiGE$MDb2%lG1{)UGfZi`(PG^Yz!R9L?3|pPjk?)vIC{{Y zzvR3SUmIrQiTH=rLdeq)_*ncHjfziAjbV`qXO@s)dinC@c&)>gw?a;vwT`f@1;mf$ zu;7UR9yS{()KvBsvn3#E|F672Jz|Ms{qQ&=2;i2mnCHfXfEX12ul@ZBva)FZqj_8a z>*N4(5eVKIf@@=+PJhKJdT*tF@udRer;SWK&r9<&n6L!V9csBxogT^L4GpqCNwT~d z6zgFB=HFptBpxr(Vy5diX!C%L$9dCNY^nviTo}U^uMpw*bZO}6os>N+jE^V#{O9P{ zCRN;gk}BMEeL_u7FA9zV%K39U)+nDx?Va<0U~T-A=4J^1j<);EoOqbsxiQ(n#+nH|~EA_@CdDrYdWynLV! zPgP9~sa=uT)^#CtL^w+;E3nt0IiYcJ+s!JNg@tKyb933**(JTbKXnHx#LCO$_ydkM z2w#V-H6-FfuW*x)pKb-yj1T~ANXR96dZJvl=ddd#l6GBJ9By)Oc-&kE_=8760vpqV zqkJmqt%i%7YVpo(I|2ay|CO^MqEg^Sn3z~LvMv@DY|ykk9jl#Vv*x16D`VU>p~0z$FaR{k60!=UiMfxyX z;uu7o|E}x8&9AOn1FVcE7>i)?SL}~=)lKBHA9r?J8^#Y5h#Gs-0*#^J?}Qyc`7@|C zUcYmbp{p${EEKNakdO%Ic_;J&#|cU!{ob!$IHZdGUo-omHxsV(rD2)e3;9-G%?*zo z*=lR{_I7$qB5v$}c#S!$9b9GWgj$QxTr4a>yB8x=P_o=txj8x8C!JR2{vGcD0|Z?1 z5jYx3r*XbNLxQyBJE`kd;~^#rN|N(pC$T67rX=a#J{1)e$-6j@u2W3ZIz+?GEG;cD z3kY1+=3Hnp$TDjDoUh$~#*o1t_0eS!2ldAh7%GOp~p6-hBY0R zE#efd^7ZQ+YqmJIEWBpZPngmXo-7KE4HmA35c7cl_Zl>>MIKSf6zS+Hd51z z>X$er`t<1&u-g<~Q%tCG4C#}N&xC;B;?GEa6=|d z#690iK}rgvva%9Z`1Sp3bON^MTs2(>Q;-&*L3piZMa-?NM8JkYR#Q$+ZqAz#szoOp zT5QznU=D6VLV`iMi^W9c#$=u7LDT9;5j7lZlJpfm>j7pWdSNn@^TC?tzkhrE&}@Le z3OUUHU9HtOkX8NiSmG=cC}7>j^Vrx9;3&xMtopfL&83vEeYE&Ol-To=+i!BMVjT>q zfgUbb1Z*jZJ%4_Bdc$LDWdR+{;um%ZMV4FDj5lb z2pRG_bpZabAaC@R4 zF!#d;vyQ0Cnm+rp?qh};E%sd_R6u8u&Q^5IR*T}C6qhOihsT`u>f2b z00oK-f6kjQoP>cOeZ^GpU4_G>AkZxzF(bemI<@xR9W^1eXD0_aN!pX2$1Bx-vWkl{ zE_TK~z0c`LXf<`_Nzib=rPgse3a;Zk9G3;gH9ML_5wq&g?_s#)eJs}W`#c}nnEtUbpJ^RHYX1i5Z!LC#jy zejpP=^Z5S#`^Xi)-JXX#Ra92SVL=~GJtfUmKicb;DC)ug0Mx5QUr401>jjhN*AaQV zAoeJ)xggy2xJ#Q8yT*%g6y?w{xpc}=+V3J|m!u~KXQGuU(1j~X>lVXp8G zj=AIAfon=_*>ch4UOQ$$4q<8LK?rg7DpgJsfxSWtYmtwi20ij;3}|fT08<_RWWecy zdK{l;tsHG&SJxD%^Z6b*LnlHsL8x;$sQo`~T-dK4Aq6Q%Wfpm_1Ed4D?fC|olsNjB5 z9$x?QeK#rC!{5RK7WL(eDsR)nG3g?B`B>YKu^-89s76SvrdN}`*PLdp4lRLo^8k|RO`K4@Z3euRr z5qA6@%447cg=X2+;NpQ-Nuc}s_@yg?_L*l~+pGcuS)fk^|gp%&{m zpQs+=d-`jVIdl$ATPJKkDZEyufPX=%Ir3T6)s#CsJLC19Wmue)ENG{O9UP$c_~|Pf z`^UJ9UZ}%qPbQjhDO+2Pa8jnt`1gT}!d!aQc+phcnEiVs$rF8K^z<>7-AP%RMOpwp zY52_0{>RJIbz5$KMv0&OT@PYYG68zgn?Mw9%4^<9MA!aAzssrV7zYc7$T@+D3kAZk z0x()rV9g*WdTrES=x$hXmCIS#d<|x&3%#_oG<~+;fzQ3~-QB8MS~yZ< z&`noc6cZxhJfQ+2j8R%Io>x}hUOn)EO_ZF(FCih3N1>IgHkioA&K~LC?CLjSTQhWM z7-UL=#>QrW&xN0AV~0u4tIAUZ1O()DlG z@*x0`Ei5gi$k6PR_fNzn^EuQE3}RAJXwWz~*-%!X4TC-pYO##7GoG2bd8U9Qf~_Z{6L@<$q7y|BQk>ibq5wtEH8s@M#vML60S7)wqk}l^FQw&28*{ z@lz12J9wJu+ku^}<2>|8IsPfvz0ekN{9*Y;$yqi0D+~nls`IloXb-$~YX>fobVvI-&WWnBhzXqLO0d+U+jG;vp zi$|3;>=J-sVrFIr4DsCnxEfGv9;OOkLRyC%3Kk*f)m_kf-U&I$L$S#kvE_4L(=dRJ z6&i25B7W=Etxf=%E>NcGjvEmH9I)r*P_lo(`@QxD6>Q$!J5^TdRsO6Ou8pq)_5!gw zDG7>_0=I9IgSC?P+CEO zAYM(8P1_nhA5x1)RE&Qz|Gevc0{dEzTDz0r?k8_cGU;`4=@f^`v~e}HKL_xJ#}x?NbnRjpxC%Wz#k+n|WXMgUwCYM?Vu)U>)^BNemE2H> zEgHIvt(6-kY@Xs?_xbZ*h5hws7Y(`>y`N+@Z#an^dQmjk;#SGQIj*qyMqUq+Z2}xA8YtvA6$vUt;EMPD=Jb`T3ULh^O-CRzvOn8|nvg$X0J{=&6cxso@Dip#v2NYC z*Ifw`B|B(Q+T5));=bsUzZ){1->fqHMmIgB@nBtJix!1RcpCS~_39jn0S1ES#v$Vb zToYMEXela8sy~xmK{in?gEw~CzRMfBRy&$G!WB$nTKm=+Blr7b9!8Wp`0%E z{BS0qe*;4|fsJ0o4G;DOj>+=N{QE5ruTvm||KIUS21#?8uuHJWsxAN905%iqTLvuv z_vp_->W%{-HQ=;9T~B=vwAIQ6I8mB^P7Oc1b>8V0!$KYHcJtWSr*f8aMPp#$WCmQE zqXO?(^=aHRIX^!~N-!`dQ(l^K@4Y7+CIF*6MX14lteM<(YPZw;a`E`%&|-z{1LFN^ z15ewJbw&9`H6a^6t0H{N*sfnUI|8^QOad%yyxbIP-{&4C7S_(vtH)}6(%SJ?gDr8! z3(ev<7C~xu+lC^vu}=#YYK3_hxQT~laCsA8?=BJDCYjAuvl5qzd?=m<|J zygT4SXmk_JfCTFMZ>NhSp#SUFmKPG|s~Rl;8_klXYX#9Tz#d69u6&4QY%=wfUKjjS+je{nW+ ztT6IIqvV7~BO*XQ@uY5I^_IZktoxCb`zHqXEoGI)MqAuHG)@SHsK$t}{B(x$ zbJwq3n;%qQLOKX&T`#XHO!?4)hL`(*T9lNy#kS-#U>yI8X+J%taMOX3XP#gf!Iywu3Yap+IZ;4?+D0TT&MMH4To$>D&v%)Bri7oXgH?T}fH_ zgRP~cBnpnaeo^XKU5Kc13%E=h3)KcCK44I?hZE6aCRw^He8Jz}nw>2PSt3Z$mw2ym13ZiY#F1f!c(UP4q$f0pVpfKhst8x*0_hXJ4}6cPI07y%n&d_b3KI zY5_JpND_eHgk6^+AGe5w)ho?C=V0j~#z-eFuU|R;eVRDmlla_HSG1Dr1FN?7veh-E z>_c&_0NKv@Pv0wSb|s2(g1$NI0)*&dg}ry#8VztHWfb7*p+d2HchNNwEevA zQ)cPX%6Ua9?DcSQM?0Eex z-?&+PVR2CkPYN~zBuq9(KKPW8mm`^pFlr-|3Bz__!q&~i`w*bOMSv|@s{ENh>_0Hj zNKq(HV4x+lei1-y-+%a!{WwEh^JM+oH^@fOeDCe;fYP7#A>I&4UHGiBptQQ*)bn~< zZ7*?1Da*1Dxw8430`(cElGu5{l4{!L4EZ+*V6*0m(=(`4s523v%Q| zdCHmUe_hE|u=g*&tk00aq z?|G<_qw?3l+nF0#W0~u~^!Rt=5_3g}1Zp1A72xLJS38bnLC8h@!$U+x+93G~7GqCJ zo-=$au(ibda#t;Kva`!AyQvBZyxY=tU`s5#dMxgeNyZ7_ZSjRf98?3ii-xn&NhC)D z(qB8Z@<7 z$ZQOFl|$DNq2aV|cMx=%iGc)@*6QW_)uA3yVWxap@#Wd`dH*cyg zd-wP6VAr-(7N>oNq>-wQ&Z--3l|Uf$cPUVwDCI<3)j3KuaFmohSwucC5=0ZIl-BJU zE-n4K$|*{n&77_D>dE%rAudZ`#Z*jpa%m8C38p*;e#!_XX?1hAt$QLf>Pu}i8|t>< z+t7{4!%XkJ4|s%xA@_43?}TpW1v3S=ofp=`r!l<{=*zr!x>3yJt|>r)gatF}VcXY9 zNovXzRxz3*ccaOr0XZvRZz>DheFBeW93=e;o1yDIjxL^jL^`79AP76`uD8K zW&_0!p|>xB{3zERj&Gv-p^f{i_q*cR_~KL5SOy+8)aYqZt-~ZMFb^p3uVn=U1*zb8 zf^*UW7C3mXGybOz`v9iEO^4P27QU!XQcbtxo77ZkhDt0e!kCB1w(&%gQY@>2Z`tMcA!_R)~o$_wVq3v~Z`24+&; z{!}e3v#n=ktl-sbo>!+|?R#_x>U0X{((>{=BtHV1 zo142{rC93H5wOT4u!V+(3LlU`18-M|kpw9OShD}W9R-BVIW~ht%lD**##Xxa(Z5FU z^XWxBVtyz>yQ2ZCpjtaj3kg2`UH=JgRXCdxNY5xF*#U0B=~lqp{_i2?&~aTsfNF|7 zLw9c9E;l{HS?w+{NHp%rc#%&)_Yq2p=%e&Oz-jk=ZTac=p8d7wCBjNm*3M0GzOfKT zRu1L0Ud$xj&Th5uV#jPhRw zjQ4!1!TEzDAJ+w1F2bk=pzA|UKf$(nEW&5cQ|EV24oM>C3zfV^NJgQ@gV^xm zjunV&u3>eXMlR3U;W;nn1{Oi8lUspwZ!vL zxDhZa-iBZB=+_dVGPy_0RtK_30ByEH5x%LA?O?V~xYCdK=%~QG6&?+nn>fY%7`xcD z+=+QCbPq6{{`YE0_7~GI!%B(2k|16U>u-*B&cbFig%jl-7@QojYv6=S16#x`b((VL@>Py142Ms6bJw@nsWm$*(1jw%Xc5Vqf`w87z zF$^7jABIPWhY|Tjnw6Ce|D%R8#*H5VQX%ExAInso+@3cx`4>(&qdlho2FN5fQRHJ7 zfWf#9N<9*VG-=efnf_c8q8$jKU4&Nf(m*X;$1{E_=y0EcP&kDCt}i&EdCE1(w+!0= z;I!Y+;Jdh zqv=@|_VtsfH9W!z3-=`pM-gFM-Fkp#Hj#=%vtD{l=wt9*B4R1{&sTQku9o*Kk=teJ zJE^Bzw6XH{8-eP)Oi955jV>bo0>BPp;h~CWZXw_g93xm;G1nx=AMf!Y3A^H9fWX)E zdxW6Afr!mv{mB0kn8H5b4NrY`kN%M|iw}~Wex(IIa5TsboE&Z;$ueOg6I0bo;7;9z z;4uSH`}n6hL>TIqxM=8p7zL3{$d*NUPgnXnigl~34Qav))DkbD86^yV208VYgz4T6D&Li@^D!GA z9zD6ZT&i09rHy&5;`I9=s()_h)?+ET!gT0j$6jj%dGQGe!N4SZ;igxoK2>3bY}%DI zhKu__z&<_T+#9hk_-!XB4($IO?I3=%K^!3q8lp+7lXW~`{$YbhB{bs|a!V0%m@N(7 z84xA`A#Lbpds1Cn5xVDX@^=xuCsjX>qi!hizImwZH@P%iy4lbUlIep)@b?E~>gvB` zY85fuNMdWX7o5b`&~(o#lg7M+ul#|by)=5Z6@3-29hFcL__JAx!=HjV@TKsVF#gU) z;%8Zg({b#>zgTWF(-HKYEhTfDsF8TS%z49UeC?}^({g~eQ1sG9O!UUlcRzgLU$6gq z91Iqri$Rr8R8&N@^MX#;ig;!!?2x#*#59|!H`of#WcaE+cuJrSY3kiDH!~xngaH6D zGAb&glF!}q+pZJ(A+3P`u(V!Z{xx^1L%aOz_CH?-ruz>&Oein+)sw5wf7QoNKr4}F znfx0NuD&!e_9x~Uod-7a!g#OD$9R`Z{hkajj-0!;{i8dAmzFHv63ZE>K-|sM^)?8w zkOM*X+Uu`X`T2NYq=Dt6QZxc<@3W`|#`~L=e`jYlsc-WlBO@h|(j&8tbX6C6F#YKS z?N>DqV*-=$$AR|kz*Y`f6b5mLCIp8#xYYz{MBBh2yeaFinZtfM0?`IY&9pl;$PNp` zAu?e9AbD*doGp94HMcb}M-$z_>GfJk^902Nwi!ad04st~GE=Y|=YIuVFrj}`bVSak zjCx7qEE~q#j7OPF-6q{*BFQWr%ywVp4hKKpBgwK(tihY-jO@Y!%DGHkaS}pT4U;i1 zv6lWaa^)}q`0oWOh)rfLeUT<0V&Gx}=skea9k2rQGqV-uxFk&CM35A(w0vMc)9^{J zDg2$FLmOBZxIp^hii!>EM>jrdbRzy2co!j-y7rT`#Am060Q@1X-3|dS8{U$-7KlCw z3#WK^KuOu%+XM6q3bxKhi%6rM{%K`O9;=lT$W1Joz58^XH8kx^! zgJs1IjyV``T@rk#q;pusBTKaYuB#r!`PZ$6hMo}>{UVSr|yp>YZuAs=+-Wc=-bE{ z+V^+RcePsFW&uzr)_+w@>>txm=Lini-{Kelp4yL>V?elAB&{z;-(MT4NW3O3C{(`U z>rJojGC)fK=e};M0~o=~AA3|JoaZFJmlkPo6x@G5^m}{iY5zP#bRZCNv|iPpU(-u9 z>vzZi863zqq~cYeB{AnCd;KV|US4v!z9>Xwea?JR<4cx+<_!&+$?mGqkEmGucm4hA z>oTmEI=`IEBS$jYZ6|J2@_h+ok*tjzEz%~NS}aYMGwVRG=MisPOai{eP?VbN$}Xp0p$4L>?OrB>jO(){`Knzsxu%8=$VGM zAXILM4|*7F_d!{Cl6U?MtnqK(zJ2sR6Nzo}z4@CMyOJ z&C;r?^U{eak;9=d^x~HRmnZuiT02rDRIVolvv8?+TU{rQM9ZGY1)J;ENxg$73Wq#r z$K*C~Et?XE^woqSB{yZ|<+b#Q`}_Jl)=Gw&{GNd@;+(J zzUaj^+#o|mF=Zy2w(T6Vl)ZLqrtjmpbgBAsMQPl@ZgcS1D99nTUVFWD znJUg;9_@bpQ4MDL`qZbPWmE0HOYx*fz~+YX9_Q5$Aq~u^(Fdbkj|G%b`@FFS384^G z@;&*T2d6_8N&rM6q7xF-c!^~0*lKlRk%|REGG?+Pw^&my2EQ=+{i=ts7bjupCFWM! z?EW9QbKMy$*#6h#Dq})3-2bUM-Y#{ZA#BGDwqX5@`2o(V6=5=;3hJ=2>wy5;?2iXvDStnii=we}L z!sX-?@|~gQXQ!g?DN41=Zt3(rrML*dD7#z^>3_(+2io$D8GUxc2k^9eD0kFkmgV^SvsV9W(tL*|Z25vN%_{p2i)RD3l> z59V{`0r`8R@7;z(+WP)hdiJAtqmYoms5?6kz~8!4?}abc{d}3OwqN7ex1)|OT&Q!q zzLT|6f`rUr*5xI>dL4euEE#nuu0C;xA@Qb*t$@3}@i23jGV!8vT<_il!@9>n zjshuc)Vl+>R+g4bAc9S@sR^M6n5&b8(H3Z(ATc5#XfUocQo;UJ#~p*fqYtS$KV8Ms z6=jHnh~imTTeEk@UcptRESg#7*eqZ}d3H==UCU|PHP5&@xi0P&#d&NV278P83p0a_l9CAY)VLdEiG>Y6&Rcql~E(wVCM0fYhc|YUUsWV zAf&FhW*UKnkpfExuA& zc9u#OG@%8ogW{!kP6U}EPg;qk@UUJ+niz7OATHr(G^8G{2$g<6`2Yc~3A>?q<9HDI0JzK-+KfDxVC}ugOfJ z7b{XDOgl3g>id93dt3heI<}IjX(76A`-90gm#Ol>9aVewz_7YNOJQ_@3>k$6sf+1O zBz{y_!s%)8_uw;a#gBL_7vDXn{AO3y^@)*CEIdzame3D!*nw&#R9#>wK=3OpENnnK z{yn%~;GL-Soq!yG%gNeZIZCgg{BTpOe-SnlO70Qak~8@mNGG&B^A1ld9uO^Q9gkPnm{GrKuV5xQfVabB-L56TbFKF3HQi26Y% zoCACqMlUcSLrC&Uut1ZOzwqntM8MYo)FB-3&wZn;`ObJs?-96rFVoXWat3uu*tP;S z-y!oVHy`YQB9l2{3m9;s#v$S(j@H^P2>+SJ&Hlpz4uJUi7azjz|81CF7YKu;x{Egy zrN{@a{c|W-5bD3Uny`VlU|)3gliuxGnQCuzpid>$4`gk8j%63{yhZ1m)nkT zM4VolbdLTGVyrT|6j|!qgbeRrv|NxY4JCX3{(UAS*b(g>4h=Fq2#C4Wgx3VT2t+1A z6`9;2!b)G+0hiJI{NFL-p$v8z&%NZkCqu8ItQ2D%n4!2Kx&^qLHlCa0a+hGL=I(W6 zUs_bT+i$fPCW-VP4%!~Z38!j(379&I{|pKuZx?Aid`R?nYxV_5pIP9FK(we6C=yZJ z;(tHGAet2Sk{J&!_ZRM>HzQ(bxUI$y(PNfwAJjPQ{M|XUbEn=fWat^`$nt&u`=KJ> zVd5vR-#2F*P?nqY65gUwL`x`(ERsqD>-%>opVIcwm74q!rxaVS! zwYmM<9a5%b6ckVOuNz6@LC`d{@GhiIAa<3Pe&KpsOd1csd1Ml|zKG6Ds-^c14k#Q3 z^&Z5KoDwml-M@@~6ORS3s*Iu{9t<1HhCUs;4z4L|J9bI}*it|*38A-zl6~pwy2{Ru zm(9*9Hsx(^2*U~xO;yp-3eV5ax5agx`Hz5>n_wi}G9-vQoh(tL#D+u??P?6u zlp@=@IM~>l$4xNGHkvZ?9H@Me62u}P^`e?L3_Ul35QbQ+Rr2f;3pp#snQi7`Ui|OJ~>&NB~^^(ms3rurEWd;hxhN%B55Q5qahIw zk}B9PkS+s*g+KBR|M2}-AkZ5IQ((<(kf(L~0cyS%wa9Vnmb|iZ+%#=J-5s6v10%)@ zCv1DLvyej!v9@=k4&{z#BDj~|H%tYBDY^)q2-XfsXzzTz`r;$E5DX4pm5%`%POGNm zvFpq#7|;OT=|g$*^~c_RQq5H}oo@@f+!~8^UlW!%9G^LZoIlc*hTmP}ym(@|vvAEr z9$z2ouwlJt4wRJt5}AXrEQondf4$Jbegu)Jp&X%FuD%cpHugWp4ka^a@}-68q}CVmhj;JZbkN^kb(n61Aj@nJaWa|O#&E4G`O}udAK?)Z zS*Gn?bz4U^{16EJ@Vx)eNRfW7O?`QJ{0|d-E-E&SsppreC|U2^p*TL)dK{OZ&(3c@ zKJfdr?*we1zN;8F+1bk<{PVogYKIL@D3~j6zchTV52Ih^z{7-^bZrc6qMd#}H(SH9 zma~}K?@bA3+{4N1$q*kds)_o(qjvq(xA}WeQZx(~ycuDy(|7%(RkgPv83wgP^Fh-B z2%g}ibx9HT;w}tdfap1Hqt*53 zouDbing4fg*-b4BhLNCQARZkai}grh;*e9RZWRv1e{ujWY)rriGBOJSqI))&Fpk;X zH!YS2&ez)P1!44z7O}w~^o4|Mx96lpS(2XCcuUiQ>RC3I6~S03dI(kpAg(!Z<#ucZ z2JNu9;DkVCx=2ebg&WD&zLYG`Kpb%h8bh(o*}TWqoeiV-%CnCZ6*CLtxnbxxc7ub1 zqtHYC1t2MCN9C=&~&XM=6GI#E;9KI=67dHJ9z(&*31*2ZX-=;idkMK>st zKSrjM+T1YEc0aF6c>Iq7k-+OconU*ek=${b5yKsFl$2zakM(K$eWuiWeg=6;*?!il zC%rH&4J|siepEtENeN%jejHVz1=6Hs`;?_-KD;LQMz|#OE%0^;)5s7huh|zoV1L12 z^_#Z?B|zrnU`P%!jStgAM&|vb@tTf*U8%FW26I1ZEfcH&`Jw-cK}A8L?O=O?Jqx2% z$UG-ZcF4<#{G9zQYSow83Zrv3GrA!33o!){r|z*<-E~<&1M*tpEd{3l66=&8r$ELK ziM4?k1G8YF3cqs{UZ`sDvh@I>r})IbI{cho9GMykF~Ez zH`kYAfx%#9@}SD?SYLo4@|xW>+xOgcIa)ra$AsIJ3_VovW&y~BdZjDC%E7!ZLDf&N zMFU|k&cicz>sGU<&_Sj-a5dip^cvQO&Op>Hm_t(bYM^}n4oa$JK~SM<+oWFn8m;df`-AvPxq&$16&k$%ASS6JtJyn;Soz5F$^YbNbiQ z6k?E27huLwZnnt}+Na|0)+x}t8g@F}?597EwB|l1lkVpN*aN8l9tP#^sebq zmyeHsK3Xd(%g<}}HLBL(Lcj(zQAP6-3)qVhKhlY5cu`<&NWunaYj3YGX~jfo^&LSv zOU*wX#Pv(iT-+na^gg*>yC-z_kB}A3Js*B#r_2??6xL0#{Q;TbW!sDMvk~%gV3X#^ zxCkk!f{%{~!qAYE3B(-68=uvwV_XsU6=w9?S9PY35U?9XrkTTm0Q&lh#nIngpx}Kh zg_o5aok+TqKJ|>u%s8C$tK}zGp2A~~GlrPopKtx$sH#cQq$2v{1Pdxv6oPHjEEUcsn&vLjLI)FW_ztskB&tN~lwe3r zRME7EXZz+%MqXYXCyq&i1SD(NAb{mL!XUtA2eVP=*m(C2O&$8D2#6z-cGFE&U~?m72^r>}tm^`!ajK99!h)MqpN>ETXTigq3Ape>X6hW9=b6X? z;Vn-x0dNf;D0G4ci0I^^4eh)SOSa{qT|=HKxpb9dWY%4`(MRA>{mHob3z){324I8` zqGtcIR6SXEABjgqR|JW`!Uh)=83$uiY6H0@5`n9zf%i7*-~Xq!D-VZy|Mz1lQb~yr zMJ1u^!bppf6qCx9U5tI~49ap+I#SvUC4`a?$(9h6N^wXDAzPB{QYtC#>*L(tea`(o z_x^RC`^S0CIgihLXTIP0EbsSgo5w8Ju3=t!kH`q#fpaAO1V<$g)b?OehXyvbo=vti%{Xtu(Uk~7MU2?3>lv(z^@*!-;6B2^q zJ1=^e<{5CIuhTjhUY+5TZ8IeeOn`$rpk)6(q)zft@`bfdTS)(yj$W$&PK`! zP1LWAmy9S9hTuF5(&UVUldbMI$AI?C+mUJX`j|bWFd}C~LPJIP*lXg)MrRK4&4VB! zu;@xB7?WGK{tPa}+Y$7zcKJ#{!AM}#ns%td;Px`|>n6GJQ5~urh%T@S`bv)nW zY_s&v;Gs>#sC|MDHmZft(=p%9LrX_cs0^2wt%!oyGWFq7K(m~N3lnW0!fo&=;Neub zk&!{f=HT#lmIW{*xW9cIZfGzRNiD~DiEV8qPGn>OnU#1+pkX5F_!pO?<{Bm$7Hl<& z;0wpRk3vZQ8FQ`&eFc2ppreeQqb1hK34z-;V?`YjI#AP&jumi|@=U?+lOZML(#2kN zbodd}=eu=v?TMg0DvI14Cf7-nB5ZjH4ZnZ?#&cRvOZ*cPEb(SD>m=rtFTvWug6#S7 zr?I5N#57U`fUuJ76sF!`&Rv25SGsn>F?(6ri5C-?`(c*WbCqS2gH2V~;C={ zF*Y(f0g*qY+0w4*!Jfqn7iKHn+)JBD!j~KtHha3MBgEP!iKZ)d1SWs9JtUQIekyvq`YM;Cgw)eMFAL1QP*aoWz)|Qsohd+er`+nR30+j75Ug z(up)O!FwNVIZ4a7ZoU`00)hmFwvULn)C#++64e@2u2@jVlX#UOrZK;MH<@9XxP)6` zdxG7$n zWfA*_AJw_Y9D4+g(N`r(!t*2kIJguvb~i+)NySg+Voe$!?!oQlZCnV0b!x;*5+C zL3!&lcvfiUxZs`1;Q9o6;WEJDO!Wu@p>1sY&xY_&2*L6TeV+J(s{D#?kN@$M1X8_!Qg4ja^8|K)Z|5 zV849I5;U_gzO_idoWcBhmAaG5EO6COOHP%kO~^b7ap-Jt3d1Hk4#Au@drGchk}S?6 zpygMIkO7)Gi158Z;j~U(DBoAppPG^)PW*M~BPKu5PTL73R(i2PVByym2ZT%W?Afx$ zZe#Y3GV^N%_oiQb<|Vvne!M;nB2d44_OMGwvW#S?UJz40f1Vdc+iemc_?wBzWPF$y znqk<*dR+^1IV6DEKmf%$_Zt{I1@!l>SQ3Q`F;yWy12;R;hV$?^JiL_c=*?XgneW~m z*|^UYvS(0|#J7!O;B%Tzp;d8gck+$qdAAkKur07tj(w?9qfI{-6s=Ch=SM+hz@pb~ zkdb+O-?v}%@)H%2v$|gwGugp{xl8CB6rif!z3vq7qv&Ea<>kUypLUbU^VcqQT>3EK z;CZUX^+K5^b-E&3A+*(?=E`@Sz78W3e&NXbIlhqv#YVYqeF67}T54R=b86$W$7;(G za-??CpW7QwF{eT-jPrd~2f6XA1$BVk03j_W1x%#-`#E=X6TeADB`KFs0HU-6z<^H~ zAwCXv`N>t!`t5L<0CQfyKXl&O-HT4G(<9>34*%Pq4b@~7h1mdIp*_gHjb@*BCvrC1 z|7byiR#X%lWrO;>^=GbyL+t<7&KqKoCvP*J9k&xkHDYpgeJ~z2_FU##6_bdQ<@TjJ zfoUqDJ2{n)N3w5WCxD~7VY6&}M+`Eii9>n|KP+T=m)57E)`BC73wZzb?cZOGY3!kCn2&?r=&1%eN5_}R2GShXLG)#)2?4O& zlD6RE6x|jIg$`Pz>@)p7r&ei|qAkg4tgW%t5Inai^vQrH`mD#LlS3Y5a)4j2fBYVH z8qyjdm=)%84T4SB1GaGEO#$oYj1}l~V5}IKk<(r9e5`V^*`jHN&>-(jy`7%?{AE#+ zRPiI@x2fCj*=?J1VW|+?7Agw%CT&=c%;-IuS@QDL`?t+-=a>u?--cS0!& zi%+lbD?@LNNf3!nfI=ZWb4`_986ToS?2&U28(0WR2K^fc{32kE^B{CPHAXa316}*} z?cERp4fP{*$=S>EdaKX%qP;(bMhXZmra=h%M`@YHbw@d5T6$@F?96k%-FL|-tDNo@ z0gDeoE@C_= z=+%uhCo>tX@SnnO>Y%g8Si{)HQtM8WD{)|x4IKs=Buc!=yocqW^5S^*cbsA~zrO4T zbOW3bnH2;S#2^%%DoG6JK0eV)vMW%Tq0LHnzmFORpJ3&rLgqWfdw5Mv(9Qlbwou{c z=g%z2D=SXaWY%ZK@5P)ax{3tmFpUUFPb}cy(374xkf%hNDW9i284>j9UqD_7qEOaF z=edXHv=$0)-0ro|pVElW;e{k9BRQA{8+iw#2@{ljPeO>Izy?pK+3B&$E=F@bNID|b zz*;_z=?xDy2}nXFPaMg_QF)=fC<3X8P&{%;OG}f;2b3Yf--Z_e=0ylj!ZTMbLXkn8 zB0BojeL4+14#eARRSH-$!~_9Z07@P#nvaEuNetd)r3D90`PbL`JlZc_xbO!ES!!a$ z0*T8?bRHagoD^o_bgXGpbKH_n0SAvCGAo~X)3~bQmRNlZh;M8N9@OpU!4cDJvs|a_ zvWgRgOc0T((6dH7WWU@kyK2a~-_ck6_U2($txvI;acEcEXS0vrxMpazN6TEyJu^13 zrkjLEIR%=aLXncH&e0hO5SQ9_2Y!SkblIS&V97whp+c;M7%ST~ z8j9APf0_0bgT{oVbWrEoHJflG*P+wJW$t8r|02US{XSYg&!?|O#Fztca#_F#F_a;+ zW$oWa$D3^NSUc62>3A0`X)R)RLJf>ekyZY2MLMu(68v$ezGaYq`9zIu;I~$%j^M`r z{{CLLF;YZ_a%|c`!m@)=R>L0iY+!ltz*l7mz#t>cIMS@^xLWYnj1FUY70qg89HEO z^ucg{q#fU~W!m=79oD?5(Kp-TnHo!SN}%TV2-zs9r;YlvQTZyOQ$avM_vq!7*XZ-% zvex15I!9%(_`&%_Gc7n)hkzGtogOY|PgA!SnvWc-)OVxFzyu*iT}f;Mc=oWukwwgX z+;&A8NlEpDlN)bD2thTE#6zcgN#1DH{Os9xWCH=J+ddi%>1P^9V#;l88>??OU}fyV z^7a|uOafDYTrB11=YT+Sqjk9uEP{_(0|DuN{dofkC+f$3Je85Y^q8!`_`fxd-8&K~<_tnLRI0iSGb#i6V8ZJ&CSHNox`3Ab5r@xcwt zY4%r<4TDmTV%DT;dPz%GHoBDig$nn*h3$cb?K`ZklMksHAy>&Nl73i)(e`Fw8WSsx zaUT-(hGK@ry)NY|`f|!ifv>T(p2y*gO1AM#O7W-(a~T0^B(6qf=L>m@em`e0QZLSZ zT_`t*v@s?ca^U+x6EpP~jB)-NhitR;BZ{l`-XEaeJ@u2PyQ>A7WDmK5z^Q4A84fmhwoN{j+^<-HQpD$PqYSIb>Q^K zJ#Q4**m@8nv6yHSCLYgiSVd}09`Jl3Zkjv^PK zGvvF~USZp#j^$oG>~fYR-JjJUocli7L6jLdYk?^y&oq|@`6k@^i2eMWVq|z>Zy4qPBx~rH-Ok~EUX?$0py9B=AanqRdqAQ+XC~#maMw5 zce26NRKxh|3t~~R!`U2u&B9+MB-9~U8iBdkB^h^S8C?>iXAV% zgI|&5ZG^rs@WTaNQK1uTZmZ<4yi~+VPQqd|4Gdol5QHI)$EHt599|AJqu? z^3j0ELV85ukV2km3^b{Tz$N(~cwNLgJ(c|S!#2cO3%~%;3(xBcvYa9B#^STVa27HBPdo-cL#QDKq|6?s+W)fVDo1yr|JrVRmiT+tth9Kv4_F{Xgr!eK1yO>1%; zXliKbQ*qcPExlm+`09oBZ#BfT0k8^9!>+K#0Y3;R_)yUy@FEgDO+tq3nl;C_GLdEt zbEA2qi0~qkMu@`zBtkh=d9Oit80{fkVA3rl&~^TjRcCOxHy+&}jC7HQsIp)+9LFOB zwl4N{Tz)?f!TK6s}lRv{NcpXzr#gH6(B_NT?Y7$?YIx|(`iZF8?8#0{~dP2FJ_iK zr+!`Vb`}b(qTU0p5U1O$;wEi5uPc;S4%G?H? z_FzbFP_mrRD7UVx@1SOc{xS0_+WRlA6Y+A{eAVjNmsacGofoqnxar+Wuxz&Q*5$rz zp0gVOVfGn;f;y|d1;BoQUZIN?n=qt1IURaA0}U+*t!F)FZZ-};QL>XmilJ2pqYnfD zTrs`F`Kdx@n+tP*w+0NHmLX+#|I2GoI;)rp+D`h!GjAgkk@`qD67u!M2o9m>T|A$h zObhBQC@AnAeWx*)m>3%iIs06dc*$xmD)Bm`1&gYT+K=LYkx|YMR(DYqsM3RLPfE$T zv)Y#l{`_9z=;X9kQ*)(gwS=T<)6h$AoGz-aZ@7`MwUd=JP%~R60Qd+X;ivA&I)z1! z^@&lE`{F2h!AC@qEH)~9#UKDQigQaYw7Ge`aq*2eeMFt4cA=RhZbXBhBc~&N13-TW zYc;ZEK7-RWjJ!?c0P^MI>~(F@TqZKCy~mIjM*0`5f9v1@$>7%V(BHw}iUfeFV?QQ% zy8kwxIFtDPAn027HJPL3IfeQFg@L6~c}3MJk#?lD?14`*eMgS*BPc&&7{b^#355ug zUv;kQtmG&+Td#WkXoKY;@e?I~wYzIBwMN7KpK?cHAoe@`AAdY~Y5|0lSyCH;5&#;1d=;oc{7=V)8(M-E@U^>Mg;XB8G(w(vKUG zrfA_UJeMH^F)?Xo^l8M&@5nyBPLGuP&wC}M=;wo8)1T`tL$m9$CJN~YU|!!Q`EpC( zB=jGA!&dE$ccw|f3mp5ny=inK_wl5`%va8QVqzoWEzz-)TyhHNI zIcyP#awOCkva7s)grdAelX?=YTG@k*i;FZO{Kh&v9(kL58xBLcposiF5KY)N8uonv zNcP&&B{{s;jMO5$Zz!VGgfa|-#JP7xO2THRt*6GF83I4dso-^^q z=Zzmd@>V+xC?%+&9@IED-xfB$g3`>TMBmS^(Bjnltn)0^N%GqX;r?n2SiP!tt5Eu#Tyo=HgQC?Xhh;1Nq@>LK(!~L)-n?|9bdJS zo^NX7brk&T`NnCdpu5M$Q#bG6&YWDFV$%Ca=)LCqsqxCi*EoOtfBZtn`&r7c^_ZES z-AQ-+EQzF_j+vi>ogbZQ??cDGC`t;7YMT@`Z&Fk;Qc$8Qs8UsxWfjz^3JN6!&(i{aTI3z@Yf4mmPp=>!7bj;w%FciNm$;IGf|~daFE4kxxSof- z+(vObcX#o*LB8TXbYHqp0Np_@+3}q;F0}Sv7jmHc+WWY8`MG#{P;}`YbRQRc@q@bB z;)Xt+jxO$Wkqq@13}5%J;S4(ue@8oeKYt&(&;K-DRLglQ#*6*ecuxnq`~Ng>&@(q1 z18HQSucxCQ)6R!Z(PP*-(GBdJT-}Sv*jEv(07|+#z|Ms+*Kl z#hv~9yr}Z>OeRy#g}e&?;8k*-K2E*+1R8K7?;v%!+?p=Re1ox;XebQ#6#7qzo@pF+}(uLkwIP zbiW`kI%V!t$$NP?ZOb>I{o8d6j4+C#sG^~!q@bd#s{A^_rW8Y#{^L4_T!QHoRmFYU z+HuAgQt-z;|M;WvK|KojcJKh?nVvpwzFv0rba_99m%IzZDZqu!RI*XG!F3fJ>FVls n%1RC@DmH5N8fu%BZ4{LpEflQA%B~ONniM@9+OAw}+vEQM8l6-2 diff --git a/doc/pic/sponsor_doppler.png b/doc/pic/sponsor_doppler.png deleted file mode 100644 index 0d66038b717578ab4dd25203cc8766fd7f044a7f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 41900 zcmbSyRa6{J)F2^1a39=4AP@!#8r*_Qu)q))BqVsS!JXh5bZ~c=FhC%{puyc4+}+)E z`OZG=!~SQ_-iPiwRb99GT3xB`F!fLJc-U0fC@3g+iV8BCC@5%f6qFY+m@l7uDsZPi zprD{$sjGaJeR_H#BqYSLoJBR8K{1_0F`30QpM7|Ix_@{=F`jv8F?)Oe1o$zxdwhRz z_JD_ncX9o=clz+&eQERX?&j|C`u35^ZvOb2YMCUEui@^NJ8S~_5rz-n%F|L%?B0&CE{i0_J+-wLezjGUaD z)^7gd=7IRf+||t^Fyww}{f6Ftp2Kwsxq8z(cP-(+`Z;=?J?x&*`(b_mjx*xEbNZ^V z{Zu!0V`=B^wZp=%>O+&{EfM=Wx!|?!qx;l`V>*u~X8(sbeh(iU?!TvOwM|~Wby}ox ze=<+qj`(xH>b$tHea9Vj=ajcw+<7W(fBUEZ+#q37A!Log>#=+0DzoJ{32|(gxTzAh z-rU?guyAFWzAfmp;$F0CpS=Ug-Nmz*&1*YBLqk(hQCZ%-4}$NLJ3ob09B4$X`Ql_>&0*6{5$!FyzHO9VSzl>4WCyJp3iUH-Q3(LhpzKEJlJOKa6ujde(xJ6 zZBe;C@h9B2OkB`AK9%>KC)6Fmd(Sj~t!vm_HH=++NW48eJ5!BVCnY7lzrT0Q-)$Pd zU}9q8jlT0K*;BN;t{=IGsX0=M*kFe|gp?mpI6leS-MsUE5VOA%NxAX$^`)bu^DN%` z3ES6++2D)0%goFa7Z)!tFQ=rWL@}HuaeR`nzl*6kjE;^L_FkEonBe2%s~I{!Iy#cI zzpbjOIyg8OTD%6wZz_hZtJ+@6%gehI>?wt;y>Wbc2YH;En`2>N+1%Xh=;&~CbVMK! zeDQZ292}ebPuAAfmzS4@hK8R%e_mc*t{Hv${{4GtY3b;~Q*dx_*Ys0TQc^@jgolTR zd%=EBPmg`Xt+3_I#04;)r^TCO+l zm5;I(*M)_Jd3kvQ0|SZekNUBXitcyFwOhrgC*z{~tcEAG?7JlR19hQA3JOZLy`qfN zXSdn?)}PO2f#R3_P(ogU`d{<^4~#Dl=>;5s_{-O4>q^jD4^5a>QlC}`b_wpm^!BFK zPTa~LXA}M+c6Qob4h<3XpEBJf*tqD7OlZ;-6~`YY?y+cIkiIL+WpdSYQv8JAQ?@}B zy#LWXZ9Mk5MGaYk1gf7jUF~1tN@KnbB$Q4xcr05f>!XII?L7;me`+|Zf?W#p^_@Za zBg4&3QI?L54-G_-rnWiW>*?WYSnipJK1uf{-G_&V&yty(yqtU%L|WAnJkwW>P`by= zGsgj*Z&)_J$(BE%)CZM;!c=DxRoI@VrH#Xi1iPg%XZD>oYCym^ML76s(@L;K6T&<* zE56|StMz$o7j{M6Zm1aC8rRc`9mE&@_pR1jU19`CzumaZ;7F|1_;uiZb#0~a5cEd^ z5Y$tU1Un(M{=+a&H#;kKck|7kP`c);nhvvO#rM8@wsn*V0+4d)bO0Sq4`_MvyJveVm+ck$1 zjU8{0tz3gRrjksa=&hahCFX~PUyDJ zCb=(pVwfSGGoLxvNKoI(3H2%2l`%$*4JeD+aEmIK^%tnnHZy$lS7R{4Oi34V*4Z+k zp+)319cM4tMv6z+3(`2#lk zu44X+$*+9x1gxY=g_M{$bc8ufNk2-%CzJ$MJ0dMOEW&G#0kmU1^s{1==i zQN<0=*O(mG4OgxvP6&fFl}|m+cJS}UQrDZ|y3FhDwz_O`1l`<=x>vcR6{N5>_slH{ z8%^{2kSa9T@bOi%oRW|@s|!9a`)IcrVudx5j_qmuvH=n{knNKYE)Y($H9*W8Cz8M& zK<@ZGb=dO$%R~no84ib&P#xzhYr&Sdf4o9}j{cEdiI_v4uN-?xbC05t929>fuWpj#6XarNx~nxo0EoR*t`z!^9N?bC(<9r7LDep=u# zH8q|#{}=**dQ*Aj zttr~37qA{l8}lWBji_%RT(0e1|1;6P1-9ZK!i#X!QQ`|8<$gd^!N3OgDq|Ckl!fiS zA?xc`dsBGryh6vsiJK|udr6n;*sCUr^xP9xJPF*bODbQ605U1|Lz?hqWo%I=c%4$0 z6Wq9bmcxH!UR=Zzs+-hXsR=|#4aNcmb>}tV z3>t3B;FD3m8L(7>A_k_kqbH+k`CA<6o$`j(TL)98PH&l`ce;J(zX#K%TsE-T%wA#y zT&71VPEZ0idjRaEou&V#ek}&{5^}wS9I34@Kt^T;e8M_d7s{golfb$r7MP+?2$K5B`y<64oXV*#K`cx&~#d!B*_54K}4hD77KR zvWLG0+;~LOB&Lm=b2c4Fz>T#T-X9R%@}~5W;TUAkA4;~e8_-D8=ow=FQnXr)aSD5= z;_#4?_UZk@A)SaF+=BgMw&Z+!@%SoHXrW|~*23~>U6>wQmn8VZdu4cWsnrD&1#UBu zGu$Ho_a_b2zv3J-sX$++LvTsJ6j$4DZYWHuny`F{B^XCK>IT_2LFO8w%msQjLF*zl z@_6931>p+Czq!|`dWIO;P?}N5^k>--UqLOnrc6QAON=%BO-EVbQZA3~MX>Xa9)M8v zzX(trl}yA*e{YD9(L(`CtZoyBPEQWa>(2%b^lBBha55;cILRzqH_W2sz4}?Gg>vVF zX;msL{ndInuxithnQtX383oY{nD)8i@UoV5lgwH~iD z2f-DTkiaKDi{it7zGWJW9-0;0k!Sx*;63hyUeS3k&Jc_t_WZ2kU0_<|zapx)m>jKJ zMurDjN;n^ra5H;rkm!U=DzRIk0c=m@<}826zT{GbqSe6V$G91J(v z@Fc1`890W4pdt)RT;Ev?8NqhLPTYKZ^>?q_rXR2agYR{O>1q7M$0GE09wkUh)^S9i za;Uau23@=lU0fRg=*DUhNLhTDCNBa4;rhQ~eBh66HFidDFL&gFL$2npe~wJzkSwx! z6#93%1As>3k8}P(U@S4ZiR?!TN9097*n24p_sn#aBg&voD)jzJb0fII}^ zdf+(Fe8LJ|zbuhauHOUbZ3ExXeS^m_fZY8@h?_)H(t8mspd}+8D0ro+7?o$LXqp>Su%;#omc%O`-4Xz;N$f}@Jzr@QWv z{G;WYeT8z9YV4scTAd7ZJFqf-rtt7-Wfm|OC|`&vt?ax@wWajz5aMBJNtYYp`4rjG zeuwzFICR8sj{YIx%Rm2uO-~s>UxA1|KOw3o)(utrXnEwbIGv!o}bnSlmXzsVXuumUL%NS?LiG`e`8>dnJHv7SE0P!d-j{Zx7Z4V z1LK)7Ii@0Nk8`|tjS5}&D=#2`elBL*Fof&O?)jk+MX% z#9^~>z;CMk5mGhjA!##XZXJ{y3%z|K*BCj<-i+ph4mV}q2u5voXR7w+7hij5SkiwxM)Uv;LB$;Fh z^>|z)&c`PR!~%>8lSJi3t36~8TeowfSnpG63MCV(N!?C1|`8ZP5j_&AuTHuZF zuVUGCj(_*+JxJVSA7#CClE)|20zA1Rdj~b+rTsclxhg7@7eaq@UghwmJc)GfMlaSX zGEUqp8~pbr1|s#?)78c0{xkxrE*Fu;Q0?R!oUoKJA{4*oHUc({ScZ`@bmBK&LlzrqJ{7{za|jV=%As-t*um#-b; zaSPn_E#A@U+3xD$9n1k7j-Hil-~Y1W&wz z`HS>qk_72okAuEEzF^pbF!$?^N9PxP!x>)n@x$SLXE=*-%Kp6)M@=3Q3iNJt_y2|| zZ8moATv>gep% z!B*Xp63tR24UC<~etvo_+??G=OMy+N5`nQMgoCU<5)KUuOmf$d9@ILvf z55E=@iu!0eKMYu$|2lwV_n^t!Ji}OUF2I-$2Z2P0@6EERH62c=hEX4jNzYuDt6y|kc$futi&Lv5`y)G44gL|Ja=Uu$JIy!2sTQP(e;!>ZfU>IK; zrs0C&qUMd(NRNm!Cv9pqCgOt6yT|V_)62j?F&-jL9CgJzq~uO1)z%D|NJpJLHrDXe?rv!>7-o8V?nNYLRrBoS!2wW@_7 z28u~0A*?|U1UFpdh27PMg-xO*insCX_qtc$*>3a&OvzX7Q&Hp}<0?V0IIBcLs9E*5 z!nJd*z?Gx?*S;Hl@nOs0ch#vs!L{WAL!iT{iEhv+k%4u6#?|i7jX^Dhd8;wF>5+$G za5=-Z6U|9SBY9}obxr9x88nJcA2#=WUY#mxc_XLy?kaVB|z@ePUgO*9`*z5T5R;`}iPI94p zZ!TJ7*6r--W*k~sSqX(+z91Wh25+&|zc^fHs{@#!^2F~}?~-J>at0ubXRY0eLm(TX zpqSRBx0MPJvWf&p&URNJS=+y!dq#+X3f%_eM4imZAW#4a=Fr24BHG~&hUUtTAhz413+7w+5T;LTzp&F*KL z2f;>GK4mu_tLlX(E84n2_1mEisMhP9cpo4DU3N^Be-kLlO3dgoDxc{6M_WImNk9kJ ze?pKS;o0lv*QTN`0|iend-GO;&ESXPEnmLH0T)U!HcBsEyf%8yF?G&A)ZK#7C;P&g zC}g~hKP|?h1y&CJMe*4mi##b={jGx7eFut3`F1U;AuJaxceghKJ zt@kMJO4Vy!#i_7Dl-?YMypk}If^#}CuZX-eXMRfo$c~R=#7<5yI4h zUvYxQ!-kaHVc-mmGPM1TU3GqTTL~6+qVgWq|SMH;lyf^vD-!UT1$c_ato!`{F6*0w#c*tQc^zT3aQ41D zpZ?oW>S44w01zIInwMlK$6bH_8XhaC{jA-~%M{Gp=Xnw0@Iq(dCT0&|VxnLW0Po#k|7IZe zAuj$W#5A}Biv{6NQtn4;vByxE0W&=V@9ZMR{I$({w2QEQ&vNIv(gpM*Or$kcyIX_r z<5EdeOkXzb@}X?>B_xYK7g^rpms^yvR%QUjn>{A_koKzH82vxII^#QyUTIY3$}g)+ z0vf1vD}UI&LlM|8N9K2MdcsL{iu|A5j_}SqP=n(o1p0!VVwVw=N%G<=dTJA+i(_X1 z|I7gLYz5;{I5e^D!#CtVa$|n;inl{kv|DT};fy|(?R)ShMc<)UpE^DvE13S^t0gja zj#KE)UHk#|Xv>*^?5`{BeqkAyEdF`zau0I-$qe*E2aF1X7|3NC)$_3fr~8mcEnIu* z@Vc%@5j|e3Y3b0*b(P;g0=|W??Bu56DaI9lrE&^0s?(i5(LP)LY;5D|7)%*gu(Vf; z(E16_A0x6$Q^!sZJ(8WJZ__eX{$V#USD@}f7IXi(!@Av;@V&b-mb*|6W}%W5rkFJu zW@QS@qk?mNHx_;nH3Cr^ViPY|!8>O()cbvH=2|$G=A*6s$I(!gNhFU92jS#yS(Xr& z!vZO-|GPEp!5l>=8Rc4CQSn*Pd1->*NQ9Cm%)qTr50~cI&*+4Gxu^V{|Buz^;xEkq z-SAI>9OYMG@!%bMcrdjdPKA1fN*AaM{BX1Xayx@2vWPgW!{l%7U6Dr&D|Gcl6daYE z*%3bu@!&GZ9J*$MlByOEo^p;uv_X4-VdOgV+OzfvXZc@jjSAyps)>_DY`ps%*m&m# zcd|jGt|L~p4hc>o8*U1>iUPEN(mnr1Ajm*S!Bsd*zlYkVH=xfzY0Ony_*?yk%(P8@ zH`M-n^^_v>|9b0Ufp9U;3Dj+>Xav>%l66pCFW~1@DMVs z2Ap#On2irejI^?9)$_i-%#aGgpEAxHG(?|1>9)QGWxsar~GfMVM*jiEfubQ8P(t_mj zAPE9~$4)gU_fXxL@rem7{gLmD2j+jPae(^!?IeQhr$j-Gpo}X~diteD&wxoiB5A@} z$i?YR7x_p<^AiLSyw&$Z?bl-I+S*!GUep1>Gv4{XPk+qZpAIew`S8RReS5`rmN(C; z9v*6=kKn%BFQj{X_j_{iP#ADg-ZO>2|0{p}gl@=)7VvRJ?~9N1S*VZQ!UJin(0?bL z|96P+uClRw6R~>z)r^OCi0Sp)c=Pyd_xDtvO{6De2(vVniY+2?O|&PvFacU6HPehH zQok8V^;q?Hln-F&U$)Z@rSF6;tM5wsLz{xaZ?QbI;JCUegxe_RwsAN6IOY&WB5!SC0>u_Bkzw2b#J{8yR4 z4qx`3SVBv;s9zWieell0Yi?Wi*;=2O{9TrROt4s1UQR3c;*aOv-rmRBT!9X931(07 znic9z!NtA40~~w)LwW0UvxAR9gWma`2YJWCVoRZCP)Fw|c5`gpX5}$!SLr0k>bIWP6mhWQ$asl@I!&DTIDV=N@SjxYFu;Z&( z?O~m|7r4y{171qZ%RhmyR%%jk}r1`SRN8uISbH*MJIA~{A3;q&ZU^UtD>O+J<;`curSohSJ4L*O` z?rNTl;DMqSUT^5C@esF}JE8B{0ONgSi9m}xKCvdBc6?CG){__lwg2H}=R?5pQ$IlW zQ`i>u3A;rP(sfY%r^d>D${Ys>9yWur6KbJ6542udh;D6DSwSbVy?F z3>yj>T_P@x+>L zjdN7sX!;9Cmi`c83=M@GW>nLeEOMufic6Wq!$GCI1&T2u0yFU=gSEL$aj+B>hG2qoOv!rQCSPJ;_-Ge#wWM&TtR{#(Lj^3#5Y* zNJUk_odCk(8z(lYnKXYnN))Uoc7 zlajB{eiO%Q#Og44Rxqq959g-PL;IZ#-;&KxjT+8Lu=fgKh`9EIvY3G~&dIeTw*+#f zkqI=ocvhL>=1|g`>-7#4?z~>@$?)OqZ0FlRrBeN)y~$5O@tKF8p{s!HOs)+M_(mBn z_qMl)3vqN7Zp%fzcF|A8bZ6YkZW5Lgi>smohD+;{0iQO{#fNthCkYH{Uo-J#I=K;* zBuhJ4j`=MKu=9XIgSbD}ZE{-jyxXkM47)<#UfBrh5Pa%wwB4g9j+nZx;KNzm*7}Ub zlUPmL?G$CAFH~hspWuahgRz+LApW}+J7nNcNLGt6X zC00r^Y1X2Q?3~ClBCiOf(G%|~u{bNl9_Lr%1%GXLhaD18FU)53>Yg>4Hcf@pcyF#m z^XS%7j?JVZ185T&V<$2STZ<)#zkWbzY$7`S3OW51Ett&sl7`?Tr-U*t@8;+Z5nExa zsM?Qp6GtqgWbkoAcm}qMuN-x|SbNiVQT?R!Va&cB4dM*t-VrUEkNG0xdS0TG|B8q^ zzv0sXI{ig!8W)Me2cqc5{?r zS@fNPMl>2s(&1Vv?$M-W0<88SVkL z>Qk8c+Q(XXVA2-Sse7R2v8abMbU4mP<*p&DymFq8vD>D;XEt%rTm{&rW<{N@FL|!= zLrhb+xg$G7F#z&_8LWBpS7np5`XuHR-SVFv z6L~IFC~-8~DBZ8Gu5*+NbPa3hbKWEZ+R8-UB|A6RtHMIB*t*NM|A=AGQlndGJoMLc zhg$DJdo%^~VBDa12#x-MEy`<0Mkp@a&~Xpa8I^JRRqS@Oce5X2>OIkx6xgh^@x#7T zWmeQ*akoLbTxR#C$6Iz$@4X#4Yq_~@HT?0b?`?KAc$9au|Gx9LI!4U2PTc6Klveyt zO~h@GN@-@w`FQ%6)LLslL_2FsDY0F&7Il?Q4NRIxnrS}*_+GzPt!>hlSxdPE)9;Z& zRrbO*4(|5&-6#iN21(eazb0aZagrj0WEZiOb?MPnNmZf<(EMshZ}wZ5KgnF_v_t>+h!J1 zKhsZ9$$zVNZlLzQNh=i0EgZLp!govIbxKF#_a~$scJ)sv$M!p3^P!3qq79#Z5YPv> z{fNM>Njq;Pj@r-6?ge}+XM||POdNLnRA&R7y65vb$yv1xiM6nC`P@hN)$|eOrEbB_ zTz4Iq!qxi7=v1 zX9emWA^ZauXBZk3t?lG0V^;VU)Fqcpc&uh-lxs?W~7jzuLlbAHawg^C?asBdA*>LVrf zdHU47UQ4-ZwGVCOeHtmY>39%O#|m|f4;&5_{@Q}>m>e!azgM#cU)}$r4Ua+P+&Fec z5R0or!#hH{7q2wCbEFL5q3S7OyirZ)_1eBA?6JU{LTEb!_3hb1zt3mVXmWUK~ z)UP65rDq0Wbo$Uj*31bKZE-)UJ98uCTPL}FNlk1(&p$=6Auu@P+ieYOh~Jbq;^X<( z2=9`909VH06#F8zwl}YN^c-2O==6JM90og`wT{D2wbPBs-48ax%$IyY`-?ttDPnmq zDxw*#e-~vHu)s1K#4JY$KM0!q<3|mh`W5|WJp8@U;F+dXBgeF;AhD^#^a z_khqD0V)3+(;9{l(63tC;Srmrvw#FeTXB&!@vFVE_dP{wwFQB{fK(_vDh1wlkg+f| zinF)5%d}w%AFu32#$Q)hpHd;%`sc8~74k=Ad$Otpe=offx_?{=m4J!z;}1GjTo!^B zoQqHnZN~;3zkR7CgozbUiLo0d0w*$zazr~$kcZ9R zX3EvgCsg8_sqNX1L2%8qkk`-glVKulNYr`HA{It%&mR~Hh`BFakYpQJAd7fpF?pNAXWH=ke4vvFt>cT z)ZqAnVgZxR@ZucPN=ZRG)DPfVFI`Yh8so@W0YUvlRddl>Kyxl$pl zbnL>eY8{^`MB#Celf24OD}J6ar*s$6$yJQFHGuD`^(?Q4YyFk0-KysVc|mU@=44CV z0p>M02)*BJVsph9T1(MaZ$1+geO9Npd{UlGcVeC_j|Ym`U0E!yG83<@RBoY1u|Kp$ zMs-O&I6?C=zj@MpoJJFbo1A!H#4MwRTs1a>;RDt>dc;{3%t0p15I}StxVe!!rjRLm ztXPsG1L=tyY8rN1%Iq9jxY&UrlvULA zmj#K@V^3tFlG>r}v5lT+BTSCIuMk^zU>Hqf{5<6gBBQs4KvU8B4AOf;(A4Wy*C9hc zb8Nr9emmQ@5q?zmBL8L9htiYRs6?*Jd|qk`E{*O6jc$QoeW^ZggsTpr#$6caf$*xE zf3_PDp8rEos)1Gg`^4G)?v%U*m9R*bBu3q-l4pu5St1Rat9U+h8s@XX_n@$mfDplp>jfwq7AZR)eOm za;vrd^cd!-lD+JCQ5}242w|o#$(|Sq#xNO=qq#uG(xNN$Z1z+v_}gxC9{KQB=t|4+ zST8Lw0`!AEbbNIVJFlX&wpOf@g9rLxbz=Hr7OJW9{X#vClf~Mbkas$p2H%&0Q^@@7 z!zkHTCW+)6un~kS08OYjVb;KVYy_U1BTZfqA+M#^qyl= z_h8QAT;c52H1Oh(Ziz$=8s_x@LWDyL9lXI{oBU{%-OZyeN!YKyl6x9>z%D35z;xQ* zzrk&8kqAwAOc<(jh?Pg61oLgLf<~gLtjp}YPXF?cUxx~+@H!If6fhLu<@-*#xSPqJe18Kv853`Tl+S~>Ig&3B&Hr5pJa76Stm(Lb(ofbN7w%^qh zPzx48-xu{kzq`IPwI`8~Y+2pa(ebuRz~{%^PF$g4%k<>>tOu8(qI5;>f3?bSD3A`yaBXdkYpbdfV18@!=tLS9Zw*0!Hrna%g$4`2#QL;&D z$1pJ64ET^}IDgG5(LQKNfr6%_GpqmmwednUCE%{PW65onrdwEe(8+B9I~u zuGjqaRwY%58)cH|pKMytf|9P|9#mtTkvi%<)xo=c9)U|zduw&XgjTh?dAg-QHA2$M zQi?W6uYg8XYtxy#=hObeVRBGWJL3B&_!ZG_LM{Mgn8+(AdVYeJ$zS zNgz2IErbMkwJwdJzroDn7qpo@X@b*X`K4!HmvVX(zR26UQwOnSI#WTB4QZk~H>{e3s*?5jw7%-e!&Aln?o0IM+N zx#p^uyph6akYlJEEZoxAJc6{6P|ize9scTI;#AHwD&Ro1@NZVD=~CFBlH6VY-8k}v zRc{(b5E3_&i>uEOM1V~v9P4aqHI%*9?tOw7m6{sJHcuhb(aYk4XANj(3Ot&}wV`S#-;-R%30ZaJk42ki z_4kyPjL2Alim5O2a)Bov1{#w*7A4yDLne0?oETGGFu}0N0i}ZaS+YJSX1Qn%ZFao8 zAgGcvGz3-O$yi8h1dwt21{};8JFuYd=H+=$SfOdANS%x!!f*Q#j zd(Tq)W?G+m+X3xpkM}DrEMu-;wf2x)DLQ<6ugyM&G_ENR->~d+QykSM$c%eXH=ug- zE(MmzRZLZr!y*FDWW{AyseHlXL1*xyF(0&jQRl zy`JpF2vR)tUEKHwt%nG#&dzwZhSh4%Ypp05aE#9NQ7{AzbK})cLH}kfYCtjScN%lx zxqKZTbLf(`Y;19VXa%VL{Sw@`7QZIkoC{ZRNbGihr{^}N^{hDQZYwgv^}SVc`21%dZQD(vY2S+T%$`$$ z#A;~JpJOUef|ZV#%wsQPz85i#yc@OWHL!G$PM*WO<_og!pNisO z{_rh2Gk7870nBWGHJqwm-?Z0Wjvs$m#H@9YD)5GN{bmdS92bu2Ga&X5WB8dxP=)Bi zzzI+|vMYl%GL>($1#+Xh=v`OB)0eh)Ws8|ITTctK>6Hf>I-=xy zck)1;{-(8x33AD1PZYNIexKHr0{xP!Unz-T$@Rhl?Xhil7FNIW7&WsbZMXL{;BbFG zQk1K?;?9#2xl=x>?TXo_D@(v#WZ3xB4l@{7DS+)Slh&|%F&j`4PlpRvdD+WpdGYpC z&Gnt=zDzXy&9$xc-gjaoLpe82^+T^iPkyIF+{Jn0=CnG=VG?a)8QjZhuBT9n=o2>e zjMMEm1FYk~t|~^-P7;AcJCZ>WKjMOK?TetKdMe9SI~S!d>vVDQAjXBjK5{aO0PnKz z9}gZZ@N6x-ttDtZNE)#(?Kt*I;p6qO6nbf;gJ5KwS=mue2BW171XyRpo z+t`_B=O%x#b)`Jg7mo#=unanjpUn0)B-5xBv*%$j=b(mJ{e7+++*eJXU+w1)(U{em zqc|g%RMO0(UA0G`L@YVioUg>l2CF*jP3mOo^!{ztdBtr1_;mpRc}_=%U>uI_T78U) z91^HrrTMC-FXsM|;g$$D?>Q)V)mqS00zZ#(`ZTze-8@s3U1p^sF$u-I3Q-q~2FX&X z{T_u^xi`yX+v*5d3y@=E5;xzS}*43`WKCdAxd6j-0nQwmv(K_j4kg7V2prQ{x6KMP)L=WEWODKwd zqP(MYq*1m!b`kz=DDNI=C*(QsV($~)Lc@{Yb{|>JT4B9E3*~2(g*WlzLfh?@O!NFM zP&kGI-TQWqCCB>TUEg!V%qU{=vAPar6ZFcxgfQ;j7}k2#DE0 zs8T-{>GZWYA2_a0Rl+GQ>h)(ju;x^p#I78uNp|GG`(qamt2$!CLDZ^F36xBwV!C#R zxO>a`cJ^J!(!>aE4;DVQ;8EB7yiBI0$uk4fk?)g3_b<2g;7&_`TuLK1U(vP|2l&|* zqd^!i**)a`#GTlq4 z{U&$yLn~|st)jGvb7$)!63QbYGnKm#1I6Dgr;iILHgAu_IL44Tw*knjU->@C=A|Dc`D=WaY%cJ8alK z(%|V#0P?MQ_%Kl;D!K2>u6gT;tI9MLvk$J8tqc&Sj*I*A42c_xH|d1RkxXNZpb&!m+1kH&|lRmiCfS6MJ64pB2a+LB6M+8DvSVh=Xq6 z%{m1rpezd70qdI@gq7dg44|hh8oa!JXYkWU(e^h@G2C0NI2(9Ynf}r%)dEYzMd+SV z>dSTNzzBr6;6 zCC!4vZb|!Bd776LBzACE<_(6396Nf$sENYv9$Qw)!wuXQMi4z`@K&Z zX>hGTOP0Ge13A&wmFI4{dSBD0+qnUj96v{x@7U4F^Z}i|_1cfI-?~5YDv`n6PW)=p zII8(WTPQ1X4NK)WfaZ@aOFPIJ1zG|9y;U=+H@v^TD@Y>z;gf==rE(?n6^d-<=C_$Y zRjLh6?-1z323$fzO~jH?xEl%-bOc@8LOlEVCx>wap7oL|v0X>CQ~UvrXnStiOdB}L zhF%(mk+F`-VXR_jUR#0!WG~AiSgcQCex=6?0k_$>VkPf(V87<`@zoX^KxSJ4nq6ER zlL0Ch-Ec$Ap^v5a9Bz`iYo{o%HGw!7)E_Q)Y~A}s@me{GOs}rNnnQQ%H9(cbz}w{h zvC#DNw^PQw;ZtfvaKsVs9Us-&mpj42M%`ZpL^Ank%eKeKGCMR(aF6Fu^-&-AvRz$TjHa1D7oHkX1lP3=MkQ*J6%Psc(JzbYCIT`xT>`m78o#A9{-9MM#d{b>wT{(&DZi%+gg7&q zSAXzm`9&qQf&aQ$L5u+{CotNLot$i{hrR^sRcMwY0o{6$XErJCP%PVAK5571%7j#| z_xg7GVWf5)t6&u()8a`W<}}6NtSWzqy|ULSJpCJbv%IH|fO2>=O}>lThE}~rf*tnJ z(O?{?KbLWSN+=SNx2)NYF)2b|9RBT%bSLBd+`aw8WTK!#Q^^#nW>XNJ$cv!&?$A`a zz<-{KN|(zLqtlKp|QnDS1h?y;()~GhF;v<^H=I^h@r2JSp*;wEI>C zMsC7j;y`a)Uzawo(c5FqbykOjIZ-~5A+uin{FyF;A4I}(qnhrE)s6ul$1J6a5yS7MWS{YQK(Sm+nJWb3Z}FE1Nw z>pS6!`yPgD;%3X9V#`Z~EYK($V48Ro3&kpH&%|v73;R2+ zL%gj?k~eQ&RW%eLQI>Xg)4rrJwO+8`li}0))&0r;!*zGMyV>xw+bEhbZP;o>P)*Zi zi5*0ho-C$N9VPmUUBX%F#nu4HK6><0EA& z^z&WLN(6snd*DIn;rI#>1gz+KAaQ*G$k8m9INu6!2mTu^VG2KMZnSYJmU}6c!7Zs* z_k>@MS?(F(*iGV;kDN{cB4iN=RR$8hb&A7E65BABktPxsSBn*bm0KZNe0gp$i7{rY@)`VrW;q;fam@p^$VOP?8|a>@oq4SIxOp0J6K5G|V(*K6L?5>fw|ae6!q{wZ&!eiO~uysbuK z(=MTWF&Fu1%l-E=&P%kjm$CDkCtjZ)d>$dU#89{^pN33&P9zYlL1o~Go~wf`rW78y?xsOR^S7!Wcy<4Flj z_8yO+;D1|O7b6>FETGYnyzHO5syR{Tx9YE4soCNGS(cDJLGM=MfhmFfwxD+T&UM~* z&8NxHOiuO3!GXt8!}_ZYRdb=U^exddWyof}T^KR5QUa?+uFU^q<56w-ujoDbKhRvN zAj$}as@b*k=lmZur2h++Kxx0hmD|eylQY6g@o~Q_rv?swH9wR;gRNQ%g_xJRweS~X zsjjxbk6^ahEbu!qOCtxr8Ff&80#0gx|D~lBk9C}6eerVmPbZkaNi+fQx)tsU%okSfnN;&?xtS{ z-^*lv*;izWk>0&=4*pu6U0i&CAK~NB&^8ahk@5Zf1pIEet)UAC`~)pMH)~73u(BK* zdz(+Xo?NX@bl-+(Hk;w6QCrf&ucMXV7kYq-GlHuO@T(XRar3qkt%X;0V8nI@{5p8E znFj?lf?eOQQa3xBQrDe67JBh_4dx^Da#YB-D=O)ZqAF&{FuhGHu%L@Lf9CC z?)JO>HT3A@9wHlvXY%6D` zg+P%=o<@-I*XybgM}6?U)Z=sl3P=TrruX}G)ilzxp@W~o_HtvQ0%Yc0?9dPCYEeV_ zf2*!0{iq9mH`*)WdIN=2Z*3e^d`Bv)u&V=p6({uqcD7B;j8-w&-`>iDL`PfblOBEr zTb_Z_U#~0e&g#{M7Jd~=GpqAKkQix9?;C!LuJ$ADIZznP9O z6;!mw4Dj8U0va+7KgF({XksN@eNk5_LX5G$NLMFrB)*PY0Kgo4Cm^Q}fa6XEuwBP- z94K(SR?Bms!bzyxzC29)-N77p=tp)=LOD;}NnaN>SA6EfO>)y;R|6~~_A=l+$h9!*Md-agkAcRw(c;*xu` zUesevRRnbuY^3KEo~Wj^xM#&ZcKm@*jP6x*^~gZ*#kHljP^>HN{=~=cCZ)|Tf^(70IY7Y?h@?LN z@5p8%C_0ioh|58kb=iiEjgcBXr^+>(O@Zy{(Z=GNxEUVOlIj@V7@3aKpe!{VbIpP~ zn?2A0SjG=(EVgW7vY{HvI}U2psP)-x2d8MfJ3HJnoYisV*@LjMm)DOsY-}CGwdRh4 zn595hy6x>CJu7yQ)$^&BQh2Qupu*XvUv6yeELos+yHyW&Xlu4Rs)3>#-);q&c=o^n zz;|ps^OpMgnIOVjOgK@KMTuPEG5QAf9v1fQ& zN3WwE-rBH{I525rU(%JOmoUqpaP0wiudCcgwSs)JtT6v|U751m+e`AnWz$mLpZVl; z@q-5kOSdh?Xu@b@OWDN6Gn#?Nb@h)H-_gcKL%8L>HpY)Oj#`5T_&jgLx+^Kjq468hRGrI4pOUFdYo{G<1}4`i|`w++)ff*|B#rds|}Vu@8$qiIc&W zf*Sp>B^7iz#19U-;jZ{L7C)qvKz6eUcO_oTZu?YSaq*q49x3k}sF>-+6FW<4qZJ1S zDc-cRb@+xa(pARX{c5r3M6Ibq8t|9X73vm8HXG-cq=G#OY5@$fXA_CmIA4$-sQ_M? zERXA|W%t>{#7L}M4TRo1rZ-!Y+h$o6H6s&J#+8fNq%!B!TX@@{MB_L(kh^TA{omSA z`>)jA$i~Enuz`P|t5~)HRSs-*WW(x%W~tC8j#>+zHkS{6Nc1FVTMu<*a~v#Ae2A5C z@T2sL$ZZ1!%d6prU8v3k>`qo}8>>%fY1l{WpJv_e`u2RQQk#ckV?BfWr?UgbK;O%1 zC`Pxn`N=a-cRE9}pj+>XGK@GjR(AlPJFc3qS^4BiKM6wYxN1nvZ%5bIirmwtlf5zf zfalZvw6Ch_Qf}AMdUHDKj#kaQF^yH-mdmgv4!EN_U)5Cul!nu>P1$bTff&KRNQXpt@7leZJRwNH4P0fR_g}rr&AevgznR)oR^7=b#*<3 zxvn-Z(_BB+wJfV(`t@<0J6hkq?Bis8&Q%@n_MdukRfFscA%Z377O@m4=Lz3LrbQM4Q)HOpruI3KTOs~J#RZt_}jawQ##$=H8WiCh_3!D+Ze5v3MiRL0p;UZ z*II17%9uX00dS7B7{7(_kl$A*iVq? zB-sDLAqyu!#QmHGGtn?jW(X73k4Po(LBUUf5p6T~*e-cT2_IOuXs&GLSeR_|F+BF4R{6Tuq-yh$#KBwo_jOXNg}9 z!(#W6E*&U|jmBxh>lrCa3j{~kbc!fn4`3onY0F(a!9}{d64e6kq%9??T++4EUg8`( zQ5+Q83t>4V>>f%L>WXvp`iV0aVu-l94L`_IJ+7@fJkb?Y+ME79s}Q=(tc>$u9`RuO zc5U)-DC+f&$yuCdn4EL==J4=!6~dlpPypYbCiZ;K#C}pBvkoXvWZG-lP$skD05JK5 zv_CRBzjj^*D8#w+&rPxepMdYs5zpeybJCVMtouTKb5n+FL~2+fX5 z8$?`}g7V4C6h?t}nZp>>mDf6uo>@Lz>%!O`hC-Gbac*d0VtEr258YG!Uc~I?%4B9H zjUyMdUKc~yy190k=?&q~mPI9y*tm> zG5C)IT4~ujgzL|wdYN?@U8EiEna->YAYm`lpJ)N-?h|ozrhjr}vk|A4sW!EfId5&( z{^a?bQS^9aU2zGImpvWo&%cmDTh;@dWG>PI%4hl;luuWY&}sgBr8kZI8M%oqqu2FT zI(~G)+t^RHWHo}D@$}{|wu-(C3P$GiER*SrAZAG3F>J)>`Q_yKO+EHj$s^N;T%q*U za{pYe(peQs&#YwTLI_RKbel6F?7zC`KWoR{&4iNr74lvXO>s?>alP<2w$dCcFJF}Je?R@`Q(u&h77TUvi zY2<8QmIf=*7!rzf)sR_ZO;JJ5!7Nef^W~q+xD8GZpAc zH}4{W{fVBnS&WmmA6|a!64=n#{=|r{925*?FLT(F(wDUW#Q(%Nux+ZS2==5AJJY1- z3cC|QeTC`60QMf2!#xJ0*P97emv>KJIhkROtJe36$fMVnnW?T=6xojjO*;Myx~k~K zLZl~HQDMqf5k}UPc>=SpcPYKC`{SnfQC+bMGc_i??qj<^W^@4jh*Q9GVVzAETVG&{ zbOm7}HU{Ol6t95B3;^(pldMutT zl}nxc)Xcu*0Gz!tK2t@RBTvXxx74y^5_VIs*K46#KaG*6 zMz1#jn1=*3u(hP?cAQ(0^GHi|g%-q%*pf-7ayNAXi{cavTB3R^QP*` zFk!^jcX}w+6&smM>GZ*dh=BL0>N+us4$~q$vSX%5R~Ee^K+qd~8J!QD5RtRrQD)Qm z){!?f4gkLTN;YuPZPTYV(uk3DWqOW;C)uDb9$sg>QR#vPeT^NVr&1Hj+!g9-4eE8_ zA&lGfG@L5Tw2w>2$2t)5x+IPJNB-5a|)U8*6CUGD&(znSd>iFYE)k^~1}*w+xLg1c8SdEOD!nLf^l z$k0QfZK6-(U3#B|D;@^ z#;pQf#Y7|ycb8Y25*}ynDf}R*yj4I<#2x6|-$<#YcQAnM%H+-)FLF1?V%J}aQk1f; zSXV~g+w#uJ(h|6%+$q$)k|j8Pe%{K-8AW!WP+gIsI8eTzt8F8$y_7eZN21E7tN7mt znlZ^ybhNRL>dNTj=poNA?s5Rw)(O4}1I4$>6zfVa?V~sEOT19e80o7E*TNdy>Pn(P zL(W>%g$&5M8I=39qQS2%a8J;v&am*?hnX4xOFzK@B@5kCVmbq0-a7B8Q93Fj_by1B z5%vWrI53(W1WIfcS>M~_6K@FV)62R-ok5`RLkRUcKtj8bLyc0nWpD99Qr^Pv*wJUY zGWQTNZvgQ9fvvI6rrP6|*2+lYFM^7L1JlLYO#e57aEX9uGK9s z?-+Eei@UT3=NTV7qAM~Vm&4jal~eRqT|Dn`0Hp)ty5Q$|Q*_n9O?bSKj0qm-ikZ{P zqcO#5=xrYMv!aqZLn0(lT@|3~BB&K8+9yKg@sc9*SuC6>&JVq`0F7vwVP#z%xR6`< zQX3v)ah}#wst%#Mbyvte%*%lrk&`x-S*Y}6c{x{Y2sdz4S1j7FeYTK+6-Uf+DMpc- z-WMayDD+IeknKi91B0@zka3!$$&RvUQ?5cu@YWhyos7^W@8Wlih{=BO%OI1Ki=98Q zBQl|tb%iD?fMTn|On;edn6qY7Uk#8o;yMEWf6O+{YUt#a?g9ySJYWlizK;C0( zIG=RD55fgErUt|XuOM2ZeZxx1UrD->J8D@YWUmZlmfV%%ds$a_)^Yoejh*k{o+hK0 z$vZ4OfL8ro=wX4bDw!R4Ojj9~(3k?5ia8|f>SMYRcYuuf9ePYx%qXvf;zt8D0C9Jv zM*S+pZ;6Gvq8l`1f(OI0X7;^bJOtqWl*;s8SF~9&RDP=~|9goX!vxw@-d`{4mji;FV5oxD`Jt*lae5)(+yi6&IDTG@AES;osriG`p zTw=0TPIaZ;!Ns~lfw*$*0P;^N-^Y*3)vV8AaZ%P)3_Z!uS)4XWh*8jHI-bAaWrMlbZ%>)k$RV>+)bw#e4 zKw%RLQ*e)Vh(Wo{ zhl&E5z5i*TR&koi_v%^0;&R06d|X#^SQr?2Ng2s_84{+t!ouxaft3~3o+*0+nCSzU zh@em$)U;_H>Wb@d;rf_aq5%nQ<*Ke2Hn5pYUVXBQh^ae(M|2gLX+-v{1!OuAva3-o zV}_-QTVpC;Z~(SdY^B=bIvEstu`&|V(Ni9syXpX$qX86BSD2VSN=e!3XRy%$5dS=H z^~jp6^5XY;_)J%#S_*GupYW1a^3|YlQTwQ_b{gr#8AVRtfC((e#I+0x73+lRs$!0K zj~iafoO$Uj_CQy-6J)CYPVfmp*`I_>Du*BKAv|T0b=6z;xvt2Z8e_XqOD|egiRVDU zuu5w4%G}kNvSA%xKT~qoPDJTdO&u0zl!0h?f$?5Bz;x{B8mcLj_uXkKcMNnjU_BHliDR97CK8mto+>#F8h z>SSZx>daz{9=wF9hl}8AmOEG5>O9dj%YH>yy@V0%3Q>%%Ta~HyCDkG#BMi*iDYGKR zZ{@EsM(u3|Mf5;d+6yU1TSrGnBg;;I{E_in^S;qILPTOXU(KLgMjxXk|zOq(i z89WT1>ng3@_#KL_@W+-!NnK*ky8< zM8gktRXL}Ivqta^K(HP&jdq0)CSxh8D>7vJg05CnpHH!}uI%>~fL_dW%DQqc-|0%x zf>zPhi4iTN?J}MSCRa9q#cQlW!iui$3ZkQ#^_!@!@RgdW48uB&b{V4!JKxi3kVbDW zaO)`D9gAxEE!x-eua_(81!2H0GwVmh?t_#ag+72nSr>UkS5&zRlc2zFXz;oLS~X}k zczdR`vbp14SLRo3PK?rR$N3Ql{5+=CwPqGg7U`a0=t@*|l@%FRD5~rmh`Ob-ml?qhD$}`#y3!e0AuX3&)WtAEs;*dP{hyT8^@(X7 z9@7uS2~cR+CsbF# zcFcy{w+sXv4|T;3smEW+y4tm4rr`MG(&M`7S1S)Ac zWw-0DSgNbnM7VvU&>kwf>Oib`E9xWsjk-$JvTW+hpd7AQ_wg(=RqN<=lc+*0ds|Ik$kqqYw2+jMnQF9_{xhl|4_!(RGjkmfBt{ZLof z_}Yk>so1~J6?ce9Ul}O$Ej+5LgcS#ZpvK`wp)l}Q#5H$&+!dy}>h2_XZuqXpBes8` zt9Tn0&h9gGQvR*FfBma1TuAs#+o>v&aHdO3$v zm6}5>DAcj|Ox6{-oqFaZzxBZbn#zLHJpqjSERX7{HG->BAd}EkQeACDkoW;)Qe#-w zRd^QR9!~M}l=mBTrRzduxk*XjO>MER8I$q^~wuVg++oFFw=NnU}3=X;LsW8Mq={b^E>6?G|;X zp~);o7eWy=gIvSIxhw8UV4ojO%B;ANf8zGZU=65zMOV(&r9F&72|3$+Ui9|A;`9k=);eMEP!Ka5FDcgo`)72hf$68JL@+M0dQC-P-dvhCo6U`gcqlI}>j}WWTDy)!f^l+zx6T~`%v zN#*;dy9`;lZ`RfG`*{@o6I{FhRb7SavA^N|GIC4&9qN<8f`UM8WktF=VsKmP?)(L6tFp4y$IdffX+0r>$7ib6b?!AxcitE&{qXqMT88i5rSsVj} zRu)BL1-habbgA*R5Pfp=LsW12L(6v+_(H>;s-LbrCOLDH1ixKU3nhdii?Xh~xpDPQ z_8@;xq5M)Qot)K*Ng{a46cFRFJc>#nNvgsnSJ z*2`I$Z`75gUn4{t=q_$+fGO4$tq~GU5HU-iHEL$_1I!9M&=uaR{#UxPrBY>bC-vt9 zADf{11tRn60TUPb27pcMnvtuEJHf)8u9EkH-9d7Pdd)rGM=qj8;p{)vqvOY%mo4IJ+)z@_us(|n&M)e))le{_ysBed{T{#4P zjaZIUqWR}P#9~XTu1M?= zU1?`DY_dtM_*ks_+jX_?!h!hh0|>8w=c~G^ZpXFroLacPSQ+=Fbyv3qQPxXWu@vbl zEP5lVCiuZvxJB-=h+lMS>MG=awW4zdyJ>c{QXO~dZYQy0DFE(oEK(PGX}4JRb6u&E zj+X-K83dV+Mladn=#pY`sC1gYVC6@us;)TwV5&)OG2V`ZP52@BUX9nDZBa^W$Bn%E za!t6AI}4O)(JRX9p*Y8s3%4yP%S72;d4-m#*D1Iia8I^#R9Se>FRHrQXhd$)XSy;+ zE1h!fY7dNFSy$SOzf#;x#KN!6(u|@j?jVg^rxQL$$FkeC@Qu2Hk9CM`JDhe*XY8)e zbj8gJ&Mrb9{czjFZ)_Hy7VBz6gPxfFm99p5r_LO5FD5i}^&X$VmFbBldCuw&F}Fo^ z#ZFn|oF%dPWss`3N!1l2ILB{SZaUWoIhy*DWcz$sk*>IR2nDvy^i_E1YV#Fe_zn+d+8s1LqgPaZY|`@V>MCyl%623Be1?RS zl)UVn$`2|_y)-zfqaP~ix|Of$ir*wmp7w_KJ(1_G3iI|x$(y>WeW`Q7>ptPWsw?v$ z5}chQ{|KMVG&+mF49bu0P>-U_^VhvV^%K1p2fc~w{9Tx&e;yR-`IkQwfYH8SGsX_GGgYz*T)y63|H64$~(L$R*l zZwPr_22F#BF3iZff?%f;JMG8E0WsI^l656r+m9EFZ`-@9Vp9B8T^Y6-vEY8v{v^#_ zMIP!3j?#jYbjtN;L<_9ZR;;US4Qrir#LK^`s}A>qb&q!PWt;LGa*{lC0NS;M z%ErBe!FcSj4hibBt@422&k^;bXEw)L=VB&ZutCbeN((^s1u&}ek2zJOOAt3 zq$~bN#A5G}BR)7>)hsB_3;7G=auNBhAk)k+Xq{75I^xRcN;Vj8T^nGm@|=7Z7Tg#}gCD}Dqsq4%_E z4s+gG+IRiXRNqVZJ}QA+F6xMe#&7Sh(Q4@Ga?CfjjnIjA*N2A{U59%Z0NMBZ6%kUI8*O!ermLVGv9 zw5KiBmBUB`%`Ws7wgGcjOu6+nRf;-G9Hg6XPv~j0RSJXFgq}|d0fXv z)0K*@UKt4!Jw5(NGv22WB4fuiiukAti*0Y)Poo$=`N$RP%DfdKtZ}UUxUH6?&v`oV zXCiK%y-L1yGj#)~NLM>KlzRntoVoDZ`1k1wbgx~4by<3qI%To7ZMFTA8?)_U4rDR{ z!=h)r;;yM$-1zCm`js7{Pjub&(i5!N;=it|4|RCK_~~kO);sG`bY=cfl(&0baXV7Y zPo=)9D?Z%muEhj3+xsW14|K)l394=TL>FeY^hbzT*PfK*gx$&-Tl1^a97_nYRxKW? zKXE?j!YC9tZXb(a@00_8o<~@*>eK5l>I!xOxH1&DlHN$M(5r`U))mwQD(T&n?1~U) zujyatiW@dcb@b`#xJ@LkOgVf>SGieize=t~1)P3nF4h(3^CA&vPm^ywh}ch*nBHKf zGP*05wH>pKTgukyQ;c(g5fv&38HA1@Un1&rYt;CVB ztM;)*jMnACZF<*;S?Sh3wlmm0*>bNdSXxEcO{*q{ovT!>AKi39|2qlp&oYD%FChfk zSGqywsEyHRu9qzUmX7ua(GZOWMQ4=yn`cqqrCZ)+{q%+}8ll)w6ln;nA=Xjl3AcID zh=}I80U$11{}Bci+hK@EXvCS<8qJg<4M)RX`;)7=k>FFJ>I#B8L&+zrGYN-Dox2*p zzP_TmN?c!G(zDvHaf7O>x@%XfBLD5R%_nbPY{aw!pXrKk*Ic`|l~KyK#QG!HCw6CXp(aI_C>LLX5@I=LUT}mjZ>gf(PNjJ(TH^!MNPZ& z(&19ttS=^_*Nxo;{aV*(+N$A>4pt*30Gb4i^)p>D*Y+AHptbpWK-O_;N@}@B3ot&F z!x{+^>g~{iLd?qIz~F5gGg1aH%|NoFiSBeG^brcNI5ihVJ8Q!d><$}i1z8X%sg9D7zL>BAJCyPvj_Z40B zsf`1FdX1>Az_!@tmoLM5&br}q-V2)ghWc8XL3XxZ?%k{F>${&|a7&kNB%dD{YiI$P zpkH&{SE2kE;9BFpoukaIs$m&>V~UbC>`rKhFZPy?9H8n7=YuaV*Ee6x_e`6i2rl(<|EBZB{AEu}-P1j?d^5LB z7q{-`Cv|X3*>JvdwD)Gx;mcnPtI9Jtd>?&-E$~W1dMiN2obr9Faa4l?lXfcP)LA}Z zpkf}%%U_Te^J_kkDWA;m2i0^2V>LD53Mfxw;|>%vvX-Az+8%uUIv-a@Yc2m?*{B;{ z&d*=80#x_sRYkzkW&Y4m)JaFf@=fp5{Qibd-Cj06dDA!Ax0X3jnrRyE&-YHv^|zWP z^Os7Yr4su$^Yacl)Pt3qp}9rX(fjK!ruNphYAkX?llirKHR?|?^Sz^eL+9Ds#0@sA z&5ZWlY=qF9(|-QY1O)__^O+XK!vw%!0pP#U(Avt_CzCkneh$IO`w0xXg zyV+AlP4{YLu2V{4X54mPec_s#Se&E3K1p!$fYnS$Mcz5I|I)#!O&nzMb9+5<$-Ev> zJ-2g{cPIlqy&(nOd$asZIezdgKVpFgOrM=?tEHWIy>_A$v~MFXrFQ*tWKg-#aQ=4B zQT`^ZWOpKesl2jvOb+!*~^5SNjSFfBuzdh8f_J4UK3w;@O%5iZE=`0-lh^*_U{|J~g_& zHXPHM;o-I={*^^&OseQj3n(Dk+8CKd`X|B97!*`?A4R-8&*y(WS`1@^T zreLs|Q_8|LSQAU>n&3`XXJF}0)x?4}_>2}^JQfS;Yy}&FOF`*ezS~r$E$Ff-ToVpf zfW>60pnpxQWX5mhK?t4T*2p z(XHp4OACO58DwdF29;TlI!P1i#V(oh1Y zUy=&wF4;6a1tI8CKBc-;IK9c#bQ_3tHbqVNu5?2y=~qipD$HORuS8QwaRHZ`QnWvY z;;NN$qv!8y)2v=n7xabWI`!B-)SQ7I!ravI)&DgcPxlq-s(4#590%V5SJ;4M-kMJO zc#h+$x1wIszyokc)<{c|)}C)KHPdtJz-1XH zk;;oG=lJf#{`^4j{CAB5_frML^FQ1lj{njAJRbD@4(^zwr{OoF>grd+jSOJ_@$1FK z^S)UY9}j{=*iKwy`H95gUYiShYT%m)ZW6X_ZX>ZV)Fl;Tf`bx2jiEJh7DfKa$C6pT zr}4z#-wOZ6iLF=5TZv3>l=VJ0!8fD5sKvR?^Wlki$q*9u4N&5*p{xu4(FDJpIjk9i zUykiv6nRCXF~{JAwga=Ws%N$mi&5i1Ev}s1X!*u!JZM|MwQi%k86#sx4<&vc$8l7| z&b~*Tpc}j1`*&x$VmXA6HEIkoSPW#pt2ZwqSO^)T5dn*HgHYlxV%kIY;PIJ{JWBcEWD5T6 zRQOJ|-mSgcYF*;Kw?ES#CimAe!!;%-@t3i?*rS8rkGZ_u48H}ltvhJa^H6}cS{J8J zvc3zxoStNX62Atm&ZPfZHaVMK3x5G-n<-A8$bCPSGE-bv4JH0U%oY05%yNkmB}$Yi zQKCeN5+zEMC{dzBi4rABlqgZ6M2Qk5{$kABO;4ivU)UCT}IMan17 z@-ml`4Y4L3ewKz%Z7=+L>GqN*yYO=iGFX$Zh9b@@HR}KnbYace|Lhv$)WM1Go65>g zj6V1#vR3DnUahXRf3kOGFKu*v96y|M=FDU=2`16(CS=pZkVsUrn1C2J)EkwkC>q>w zji9)oR%$x4h@fOf+$M+P?ety?CB>mh)TBCuf#4 z1LoMrf2%k6T_^9q3E*ER*CwZF2LEa`Tyk9W-{G2}?klIcl)L5I`xABf{+`oZRlLxK z-R78?DdBVn=l1{RX}N6IjDvr!dOY}V#+7B!=-v~a;ObERchimToB!JD>rQKO^XG7d ze->Bo5c^3arkcSHQOwnWevHNVsSJKVeC4Xw>Cxmnh^(DKjV3N1|b_D-$M&2(TQ^|}5h zaiu)|dy1?7`X__Gh4A)22v^#AC*kI7|7OW+14mKA{$$ zopG<ucq->W`MB3h?KQ={bpn{J-)gN=%=Fjq zjO_|fam5_i_ga34tBZNU-P-t<18bUiv%LR}FJ{YIYvO^vbu@eOXl#DPTU&FVFmFny zmVbYF^kVqFk!yEgOQ*`N_8DAF6vv$XggryGKvh-q*z#F_ zv2}zxxe2_*(y0@-g@|7*Mp=cGt$X@%6d8h;cqJ z{U?`F)3tnF4g6*H$ODO`dB~J7MM3izR&GfKEhR8b)Z-K$GF-}izrholn3_xAuyr7 zFHbGZY@Vp@cju>E_0s{XJ9s-;SvF}t+y#oKHRbLy^>SX8X!&U%SBh6vlihih0z%)x zZJcE)pFeHC>b8dGs_tuYydL#H|J~(Gul(1OLnYgzLb09;ZF#HvZv6Ki#oF}2bo+89 zLgPJkfx07F&|up~7bur-mZLi&=Y2cMFuj*|y|$5Vt1*4K+ER>RYdmPRc2AG$4xiwv z<@ejXasF=n{$`Tx=$sZQ-L|FzYvHc#rum#U+Ma3g?k--ecm8g%g@wL<+)WdCFsBZ? z-*&g4`#s=JZZf;Q$CnZ6^kE#7ihoa2%FAgBOxWfER%7sdRrh4=(MNL}T$cx4p_Xfl z{vF)Stute6vob#^qu2V_dn`*i=kkuPTuUZ}V-<7a8h9E%=d!=fbdHZ?r=xeZsSxcYB7u zbc-P=1VbI_JoQe;Lc}52r9eG-geyLK=Z6k^qr+~_QRBjP2p#guo&{gwfKCO=s#}5~ zYQR2_lTWSb^Kq|aH+#QI5H?DMfxaVA##MFB$Gv0q>h}1zg3!@efOg{tL1D>V0z$iF zZ*1!{iV;vM%b?ZHOcWeR)#Iu`s|4+IODO!&qW<7xECi)SN5Q3sQPnP_EMO$d#2kLk%Z4no4mni9O6IrdLBg_by{y z&|GjdO3)FTX=c$@{Knz;Y8M-QL$iPeggtX}X0gDXSKN&X_gx&WFD8>qGCuiZbTq;$q`s^(;p-e!gV%l2kargWDiN*H|0Mw=;8jv zD`}g$4LRhQb!;h*tJg`-lk5d4niYU$0gJ1GV)@jAms~*j;=zN5jgCfoZtU8m)_LA9 zPb`?&F!3c<2vKAnmd}lbuySWJW%MNL=%nDdQ2=f*ZAuuD;PtSKtC5iywA*QGUJt*F zE6}jYd7?68EgQy0rC$d&Xp#ZiIG+L)W_BoMnpp|F-bwL87 zBS+K5f)PH#)oef%otGmYzthZZ(pfoL;M5-hV4iiUS?$j|SfzIot^`rVU@Idlv!{A!h<8QFFjS{4>8@U58QVa)sGjHbb9rj@l~_sZXA< zUqyR|**JdHm4wjTPyIg{nTNjQ!pI?=RJ+7yHcRgB0EkH z-0W#or}&>8C{smk%sWV8`sivVf#A7KW(LRYsklnw@Gi?8Cw4TN-Iv=(+WV@k{l1OG z#OBBdo4orp4bID@bLP~(!0I{UK|=>48w^^-Id~6U$jyopw;6UuqnSvTA5L>tLXz!( zr7tguEYT;+`aVYONVH`6<)>_=(mfajSatQhQyj%rM(Uv zbIeQK42DU&bNpx_=pc?yCPtAiM4VE``Nma7B86zY6j!c837OqpbI}eIn$fWlXK*N7 z7zj>p+rSTG>%dayu*uMJVZ@G31y=;##_M#Zn+kbe}!(g1Nm2I`@0be?wSm`;T#gBKb7FhHG)O+WSv3R{+qq<7*_}u za<5x-b=j~eF3Ag9D3aB79d$H`At}RE^(}|Gye)>F)HNapEal#ah@yMcsO`@o?51>T zTJwqaFZA@4teb>3*mZrHpnY9sR20tJRS=K{0clVgmXPl5&Si-uB&1_$kZwUbr3GnN zq?eZNTDluy>27)XegB_#KF-WJ6KC?d&vUQBv(mVd9a(`RCAMpHNP-ip^0+g3&r;o4 z2anlJ`&hmmbr3l1=d^K}JWqf==bmnjTIhVC_VV6F@aTwfT0e1SGDJ4As;WV4?p!Qp zfWko_n?dR_w+F*B5Hn$+0r}(DG3;w_hzzI=N_L; z;9cNvG$z}An3cT(;lC+B!stA1UusBnV-LY~I2!-(;w~-cEy#>R#V%@s0SYwy-G}@P zCWh4=?>`;EmFkd9UElGnj=U3$>pfCJ0p;Hf>4ILk&gMv*rklWQSB@6Y04mV*+!vu* z25UZ?GUcu2-dkrqCr(~@&L2o4HNWC%=s!1Ne*#Nd_%`MrR9Dh&@(pkh5NumO8gMfb z+AbZg3Xrmpb&3-s1$GrJi{+AbqG4r-{if~1wq~ldKh7wMUUf#rhJ%ujl4D%wE1|e1 zUGKthjenVnRpdE+`EDP#FeDA65ksd8_(yga&<}}>o-1+#TLOei&R2cM39C@$L#$w z4_Rgmnq6eccNfeAwxMgqmPeJ3(sNv-pTzvc*&WqXz=|7ktp9E&#(`-n@NMF!B-QUZ zC_22vgKlktNjdIXbmb-rEv1}d5pR3<(JyudJ3Rz!m~?pC1zzZ#H-0B52Oi@6aO16} z-jYK*hRJpjXq0BjVgcT$V$Qj13G4N4!Xf{-jG9gYorpYlHcUU;2+YztQkyqFVeKTs z_5*vY^SZCogE!VIWfs8pbv1v!yO@fw1-XMviAL`=y>vT?aEi8RPU!SPL?hSw_3kJ; z{TP)ptUbdL>U7!CZrP*;uhX2vbgx91K;jY2MuE(B*Vq=8#jB+FUrZFeQGr$6pzeLc3wZx!GN z9Wv3bnG|G{9bTRBzGZoz=8sY9DJt_R4opx?u9t{}4kdKQ3`{?bu@Epdn-intv3}6Z z<;Wpt@$}40uohVr0ff1Uk`b5qCbysH+n`at5g)A`hDb?o3=gBol6HVsI*>KsjY>!z z8jB?uzqDN`cKKTuYY8Qyi+DkEMLuR%dQc@mJhWhB*pQPa@AD1srGwrg3JbI(6wVle zmp#OM#}`NNH6XA&haD%kx^X}tT_oYJq6nJ{Xod?KIlV+zeD*H?fD8o`OPeO5LM=1< znFusgNNtd~G{YtDo4`T}qVjYlxJ3tEU&4~vGZQr$g8{G-6qQjLmnn$0BXuJO(?OK% z`CAY)XH&h}@nM2R7#-p;Lb}4!Z*(fb-@gIuC1|I95VAdi(6icU7_=EUo_GZV9OWT) zBi}DX-SoK0G@RfDv1bL*lG$p-z)z<{nOAj~bAtV5^)=&5OD%x6RumaG=TZF&t3HdS z4*9TB3OG;6+4mQ!^O^V%13|`SD$()uhzggdH%4)iuW;`pzZn*%y484gkm=$0W-!~QncFzBs1 z&D-)}T54@Xy;++&z+zMmU=20ZY&AAl%4Dz$XXN%_+?g+D$rEY`v71Rp zV(JEn;QOp2E=aO$6+|I)4Ja1ipPQ9Ujuhq-3k>aiX=bLd#+z&nF2)eA$Z#!U{5fJC zN%B|S{*FsJ!2kzlX#7lhd>-}^==l}sUKYpcEU!3@HUz~H%S38!xb+?&&0$3N5XRoyr%+){Na5qJM};$QuXvHp z8U7FDd_f`8KDwL1kUZ=7l@_1-I@s0Iyh4}N?4&D=UKs}}$jAtVWlq3x3JCrV1ij6p z305e&BGNu^q7ckOnZLn%xaz-e{z}NxrE$4sO(CM28%{xNSl!$l%(b8b^X&bA7Qbw2 zqWM|F=udO?w$FEf$uBe}0mq&Mqde=O@5@j$u+hBYH)M`=3@NVP$9SU;y?gnVK|AFV zB9Rl*0DWS~1oCMvaDoM7-uSEFyRyA}pBSow=P^M8n}3T;_t6)o2?fRCae(9bOD<>z zJiVe^jS^zkXmE{~J}$4G#jd1u(NO6?*ltCf2!5I#qt6Wi^e~VLV`~ups z$~NO{4wq_qW)9}Hv1sp&eH#JY$W_-4?f0Jharot9Db3)Fw&oGmjD!*0d2 zvm~Kdpvz#|RF)PnxGO{Zb#h7UEKO=GS7DOaq@L^n1j{del|APe7zw-}5A8V_Q}^t< ztBG6^fa^O_{hYV2c3&3j&-h**s`PX{zzyr-Zl+;_4b!l(hikyE1Ish8XM#8y#Q&s_ z7^=y>jVi&Z6TzrJ9})7KAWI=iczg4gEF6$!^E&FDp2CKsCG?`e`$Y*i{qeO)=dmlH zx$sP0VHvS=eMtZ*hzOEH2>wu{jpCPRh~DJZvAVuoismfD$@C^)7!OF7?9qYt<#ddm#7 zto%ZfII@c)%(}_)ScU~U5!-T?u6|9`;W;D5Plw+^7)?)s0S)9I*)a_C&rWh`n(K?N za|uwUsP!p@!PRR!N)5gSm&dCbnFC-#^{xl04^B@1u3zWJlU$UPe<63`Zvsvp!o%djlBJ=3y8D~o^@rpOyayEesFsJ)Or&UK z!J*(m?1h9UQm}hCtbs9H`ZY*mZi&(y2V1Y$*0_gAtn&RTy$D_HIo+pPiuq9e zP+ao$$morzrD@{V>+-W)6lCqL*ZP0dU6zRv=?B7&6fL=EWXX2-0B54ce7HR$U=OCO zHY@ODQQ!tfR`&E78oGFZBOe4@d<-n7ch3!eamx)`j83=|^-t*JZ5~s?5MDlfUHK{4 zwBSyRcY_%P)RtE=`{|!!0tb}g6|z8R4DJu#P=Lll^L{c#{+{QW>M6&%?V&gLwS#ZZ zUWAN259-aE8J9dXoo&eNn-W;Y8+w>ol4~Bd2uBjZ-%PAIu*9cr9#SLi9M^u6z8PSz z`bL?@K)3hnBL)lhF}5ehiUn6UtaEgxbcbIq3UC$mT0M|(+ePRKb^8gyV$jgM z*pp%W6XyGb50xW_EMgK;h7Cb1U6;ObUo^Ou|LevxgZb>p?Jm@)&ot_B>)lzqTT-w6 zNS;{|*5~-dVT-ti&c=LM9JM=ND>pRYpRJ@M>4FoVu`~+S+*`ZvT%5e;w!I9S^``>a zySr1TzPMzd-`?yq z6G`iCc^MGh1Msk#NiZvI*_G1nRg|qFkRJkp#&Qjf{A90>-WAv7nN>=R>^IF!?NqC=*?d^@XJ2WGztRByY3N%VZ18sFaDO>n{n9UGU z*qm?ESG*oY-MwtkO}JZw#MI$wY0cW=c|{%}A4RB;M7@qMq(#hYmd=F_LuQyaw;!nd zRNbe-$hpCVa6J}4VM9{4tL0SbJ>c9^mnr`yH|kS~%a7J<-ALqa#5eY-gTYtV*geB1 zM)g5j`y<<8134cFm+n!(N6NT2P&ImsI+1lH_dg9pJ?$TtFkzeRAwaIDIXhUFF<^DK1Qc>1iystSc9lp>|Ho2pqskX#YI2F35Ox>1^Bc+ z^b67m1jhV#u#RV7w#&)>UxC)wgjcjCurzS-5&6bHJD5~Nq1 zVDwAjy_>cLtOo2FD=oS3V{xIBs3dowY)swn>6~12o#Pu!pF*O_Det+`HXaS%b~Sx+ zf}BiKIt3m~z?r|#@s*2-%$+5uc9{Pq&hA)8BgnC@Z}ufuMEvJceTNRkeXL(I(d3p8_j zsLVL^D(}f;GyHPe`a;xEW*(?3ph)MsVzg0BXvHk^!Z>0DTE0i1Gb;%2DHY(4Z^3ic zg(%xkLf!ScDp)^D>MRRKE!5wVmT~QCm5?-quiJ30ddH)0dYGfY9P?Dn1QExy~?m)p%3-5ehiS0pF6Z;e`d}}JTwYcb~qK8o%p3i z(nvZn*2fa&STd-ywuLe6fp@0C5c-eg-&@d!VM&vvbVX1LU#OxW)Nuj+z4WheFc#=B zLXLB`oJ3W4-mvpXce}}*IZep_tR;spW1Cb@_uj79;cEod`CllwQtRmxMjX*cxwiMzc2LNR+&C1Nw=+#9A*C!co)pFj6_L(V8XrDmS zU}<2RPTip4EA079=WsgISS&IyKPL7;P`yzqM(|d?yxd<#2rJM=>pV0Corbm1LEToe zqwg8jrU4cVGzWljfRNSLVzmPxRm!wHvm}S4HBJf4?Zb z0N?^vGFx5Bu(F$n$MV3zh?~dWR+wfqV zwh^U%)qt@s3zT`AQ)B_1KY73La;mM}CBWL1JuPE4X~9>*k(Zy-@9PpiV1ZbsS>p=K-9^L5S~AyQeUuHdY^Yyx5A@h#ioLv$z6 zKB9T~9#`-%dwxth$pMu!(49F-av=x>@#U%_gsbV&6qZwCD?_2WV2>6=y~Wdj`}t*oz;kSUk9~-F`B!e=K?5DA9ukGI zc?RbqlefxhaK9b%ryM?Mcf7>Dq8-k}_Z99c00&`?IX2L`J5b_E`#KjD z1n5QL3p~69dBi;-0}!gAUPS>%W}kL$I@gvKsF7&)cY(vPdbG{2IX0A@vv>V}pmO^% z`3&7BiR#JV+3Fp2lF>~}^`>oLsJPM@JP^R7u8#N&ea+mqTaalyv(gxUWrk?Zrml^B zjJmpb0Uw+>C>eNl>e{y|2Ka{^%>>Ji4ERb56 zeiBE+AFr;1CaoGe0s$J3kpvC5wj-f^=ZGOlVeW5@sOzyKg4QLs@`7#ik3e$-95UsWE(aI2FT65a1ei; z1e9;{F7EjV94_;W`MM3Pi!+cN8t;BH$&nJ=`nBjOpmH4qy^%U3&>b*~qsjXR4I zpdWZ;Xb^0@J5}HEAslgs20qj8=-(J)z1}gW5i5(wR8=5<7J&x-#C+FJq>h}Vgp?$X zhh|O{Q7!D6bN#hv6oV8bW?q4(|6F$*+CKm5)ll!>4}=@CXRrO>e=)}=xO!!H+G+UD zJ#iRt#OhI=JZ|NQL%Qcka45kyaLMb(P&(wl)6Bto#CoePbg5%?JLVIQQ!u1a1#PH&Eq}dW@&&R~kw1`F_&F%1`jxJxBG9E%i_M5SJiEHIc?w&F8!`M2FgV#Z4 zv7Mcy+w?^t41Vnr%7$T*{4a$1qvmD2I;}tZC{`hFH4XH8hF(ie4);_@WIvT(9PgbL z_^j3w?`x#O2=$ntqx9&}+g)chrc^Wd-X9u#{C&OYGyCqk-CBFe2L=OE#^~yD+DGqL z)fMwmt6i_J8q!g)bG!T+S>tE_WrUm4$=*ZK3!IfBh<+{+XKfVi9K(f5HkLKbM2L^| ztV^5QmY5J9fk&Od#k^Bn9ufr!*n`j+VV0 z>%6oz7kl^PH6*jOIA2ULj{Z$&k9=X{N|v{NZwheBdGI~44VkDt60iBF=gQOf`8S++6tM)gVt$kyGN@Z9xL(BRS-`+){ zG1RK5CT<|uW?9Q*Z5~Eq1|P*OZ3;R`J4S58()@J!XUJ`A4{>lgowzt&iDy+0SH{q7 zsnX{SxyEQ0zMtdKn<_<7si65BY(toy&c7{ltpv^!AhJLBxEYeDaM<~62rgJtaJM|@ z?0$9UiVt#B%|BcPt|VqpOyd#Otn!qkq6rQ>=@z2SmEN_Y5E|Jg6K}BGEZ4DXTt>pz zx0dG=^`?qNc3{)aW65O0R#%oK*T`s66q$o3yt(3KFoQ0yYAlc(4lOPb%|zDYys=7f zA%CfgHOW6CG(s?uTot(}jpTg5QwGR6%*XZJ%68|qLhW*x@TqGi1*=ifLwp>LDRn%# zapv6Z8u1CA8MO9YD^vTuJp-Zvm0!ht?nO5%y=l*#3k|R!CE~Zo*jea!#tBONH6T7yfxbpIFpA*xxOdv|mGv(2H4K8{y=VXfr zxv)Fba8I-0UNi#v(%@%n3pcwI$NeKd@Is`E@H% z7i+l*Acj*8A)-hcxJ`*q_c~4+M8A)(P-u@8{GlCEkXFI8XG9L}W%f*<3wlv0GT;1l zE?8ejN{%@`u}Ts-VHjj*))x0iU({)YEtk!B;l(_<4X51DBWT7q5r>mj;#KX3I^1O^<-l!@1=mZhQ8gf`l>KQyEp^A8tJ7vQ%7! z0x6o=n+JR^N|tw%h%t%#WXcETr@^Aj6*r-^H_4XZy2qB4l&}4g<-9J3^~*&&0iL@& z@y9yd&m`y#ER*fRv3fQgqX@Kui`DZ#S`l|I61)O!6-D9vs>brx_CfX6N|x{HUQR4mEu;IPXu?llUAyJ4y!&Dea|3bAcdn(jggaf0!`KnU1xoGA3WBF9yS$6FsVaxj)P{Fn zwnD^ii>auXV4K%QNq3Qx8UGygI6LMj?@IW5ueC$#x8%TbwZBQ)R)P3UJmR8Q{}g~e zQ;tI#qo93kcJCUJOWVFT_x+m}ifxq(%D9`@sL>i@Eo32;clGTU(qG)RBBpxl9~h>@SvZHB((O>}2o27ZYlQj5!B01!M|xu{8&ta!ln%R`kt z$a`ds{EBZ0>-|C^ne>BWrKE}GF{m;&15K8S%=n~%oON;Y_2CI$NI8axW>^sRt`CXI zFly$^pk$d%MKg7;Mo;*vDcokilP6|~f!CyHaToSe4*Q3dH%Ff(020`^w@pcJm5TF= z_cua>m}J5Li`h2F8`P5`dw^JQ_yY7UOMQcpo8n)j$?pNW#KtWGAGNe}-z&W@(&eix z-|f`qoecb1mTO^1dCAMBK~%y=vb}h)ps|BqaHQJ~wWKe5k^_ta9DZh1l*n0?uu@HP zDJy@}AZXTdValGVQ6`vlrY5(;G`P%vcpuVUT2YT>Y5tbos7$cX)#hZY_EnLYx1E*h zegBUVu068kMhZ8}70n{lw$7HN{OiDb5=@huWyZu9&C7`i4V90o`+lExZna}UT-z** z6Z=uwGL3N78dNy&ljpFuzP&V%JvuA#+)<0s4Iktt*JJ2_fusZ0EH-JJtr>YgrQtfB zmAbI90nb{i4NAp+ln8$1&twc}g(qmzY`SuCxH4TIpDD5 zbenaY>P?xjnMbDXpTse8O2_g^VBi94EW0pj`l zQ)BMT<=-x4A&c`8xxL2aXLDc#x65T6QNq^E@Lc}h8HW|XEC)aB`@LT##r-!0B?RGf6ckiUxF^Ras2DhxmsjiS>jd}&=jZ2p zdwWcbOhiNgVju}Q8Tr)I)bjH3yLY7AT-=nDRNuaRlaiGBC`<*1!w(J)WMySHH#Zp= z7<5HxOl2ADZ0+Xf=QRZ=oSdB9T-_`!t%in%wzs!6)#YnoHQFDPI5;>I6ckHJN))+B zKSzBwlBO3C7J)*cU0q#fW~N{XS}|roa&mHPY^=J9Oi*ADH8o9PVUg2&5FIU@m#3Ey zJz-W>78Wj1L_|bgU7dpptBn$KVnX7`$cVU@xTQRkvVz3o;$nMyyBs@7YfJ0I#6(7V zx+)Kuo*pNpzIT$;pWb@lfX@ALt)&)8sIepw-sa(fXj} z>+2ij=c2BruB@!m)YQbw%a@mz@9*b7Ha7P2=g-iP&|E(iHdeN;U%ysYRi(Pg3JMDG zQsaFN^ZMjzHvw^EVPWma`2#;M=;vo`TWga~ zdc4GV7^RuMNiqKW%S}8ir<5%`~627?RdoGr`tVUwaMR8 zT&>@8e(_TAFc1nf5}58UX2-`}?~Vde&@t!25ub%jv8-oArj(0I}P9CEY6ln$11(|N7GfM_>2Up6sf3&Y9hbe+j-gRxmc(h zYst_3%1Y7K*JA_uD=IQ@iZs^4tOW%*gw^-fbAC@o^mf_QK)_O$`|bz`i-^i{(%PSv zP8Mt8wxq}hF8O5fxarlkK=cc0Utv*bj+=mGawe!eeGOK4Wem&Q6q69u#oFErujTlP z%W*5_<1-db59-~O>fe7#`u|@i%Pz~N;qV2*#_6%jyejR6p*o?dT z<=d5;O5(@h7&2$yj9h(J;{bkw)oxmSgfnUE&(e86bsCmWD`rpXjpy8N9Z0T;XbFsK z)hdmujcV?G;dP^aj8Joh{Mou>rX=299ZrOvbxf8xh~YqMp0vEij^1WmtX!t;W-D%? zY&51xI@t{PSk!MFHVf%xrtGF#BTJ{Im2iy6Ew}(m^OeTIi6zMv3+eLx!-$*|z=i+;+d_G3|G~pO~)#SPy zRm4|?x3Yv6jl6_$Jc>`aH~8dnj(nax|FtK|vv9L}D@G}g#_!9%AfAWQ_pOCcn**cB zSa_;x!K($#Wz}N>ET3Ij{JZ&mzOq=A>Fe}>CE`QT5MA_y$=Z6k>rdV}{~EUe3YwW6 zgKJY&!!M5>izoLp9RVp2y*j2cCm_d8VAwX3tRm&4mG{5nh(dJ&tkM6Ci5BPVY$56r zz0G;>oT}E36C_mEc}Qogc%5U)NwhT%kSU9;nMy7x;?Ec<)hbt_*P^$vrAyI1Vm10% z+hRxkmhG1^Tf2`PHbYQ(C)--_sMeQ0Cmy5%E>iWqo`Ui>vcyJ1y=8p1n-+L9Gjc~~ zza0;MoFhAb9nk?{q+0ym4JXTcA3ewpawDIg-%obaYky&hkDccMEjK1TCvJ|Z5?1Z} za$F7IS24n(jm%M;4shT}j#_kRY^G$x7eekqN3P-GartA5gQd30L*frNb1RJ9Uu>)Z z+huf2*s5d6)?e89MrwX76Seu4g0`c=nlAf8=sgii*v_zcJ)fPxl~uvFA_eDbGrwsw z8#q2TgTieYw?0}iqh{l+0bTf4EIo^N1MVmYL##Uk&ToKa0Bk_RBQF1U>w2tD`O~rQ zu^BOG{?5IG42B$Z==90Xw$$Ic9x?y#Pq&6=k{&WFg+GVF zwcQyASRHz|ugONA&P`4^Y|DIL0^*^&?2R*m=AhGl<+Jo=A#sy_M~ z5z|IC&O_vinBkwUn>AT?75fL>`Y``2Tet^dL* zwA*7@qrVwUgFEQpCU%hF!QXXYiY;5!c%oy7-NqIXkaf|b+RPz`#;?-y^Y~6&8U(mP zMjoN~GQH{G?njN)riW}u19tXa_@=i*HWwA$b}6M5scG5Knx_Vk$5)Z>E@$c#lEiHh znY0WydVUA;D<|dDz1IiV2`+i##WVc&9ch>oD6EBlDH|}QTGAixh~}`44<7^scZeOJ zb8v8SNbqF&#hHVZBT`a1^bn8XHHVu%Pr0b1)%yKzO21Veo^9SeN~6e#DlJNo54Rv+ z28S`HNAP#Gi*VWPyz6$E)U0+O#i`9IFYjv}x@ zNjQ345e?*XHR*gnC_67>K7#+yCtmNHF3DcRh$u~QS8A+elQ4KI_Y_;fobrPMpT17G z{KT-JQ}e7CKH19zu6wr`jdr|2VT^ROT$T2jPHZsOuUdIkOBo0fxcegT%_BHHK%SRD z_H6R~_1IrQU*ocq1Mxb2*W;G}a~NL5HUcz;I_M-_8#D#k_#R|HN|HWTHf^ti_YN?^ zC1#f0>bqv$Q{l$>ofrN`l|8^3lh1eXs7ZeZxCCIw_y^E?xZ~&7NeK2E;5~D;S^uci z2W>X0uAt!8;M3*#CQcH-$dz0oOME2|Ha4$QI_p}v4h?#^@Q{~}>s#|+%xU>Li@(NT zy9}}WKmv-a&}ux#Eg1}CI0j%zaY|HmbYAY>|6%fVku-j6hIdCYm{%~wTOXqXgA6x^ zZ+%S*!~H`y3OCQatq)y+IO$3H?{Sm#zcw#cw&V^6Isu#jOI}~9Z zNnfNl`%+I^2;}kxupS?$Xh9iE0)Ny9xo#TX@JjyOl<+LRgq%x0*Hq(1mdx`D9+QId zwY2GM&c_!yERoI8;RJYYH#)VedND`r*7E4_GHEaMGyb$1hV5n)cpnUPs^^crZ6f## zDMp1=Md11idXxzFr^n{sAUA0-cQI+BH%llUR-oN9Ff%5~|IJ1++l7IxksFm1m4N#h z%L&S%s%D(Vas9JzZWPH`E-=u26De6&S})PWRLA}>-RA3`A4nb?cCmdbKgU}|i^xx0 zjJB?r1K-qdsI3=a@}0q*bt53X+(V z6cf`uK72f-r=z1&aF7m>29uxo7lT;^v(?^ad{_Je2Oyee?P%33lnWu7UKjLqPR#?W z4KJyQYMoEA0I&6|1507+90 zo}u_&v*3@l2!Q~qo>Yr7`q!Mlt@-W=)F5dv5|WQ;<)FyhXxr|hHg;=YCskwQKc|y! zO?&+aEY$3CU~Z8e$ne{`ut5w>GXKg56b5njF%dFs5o2p>hLwfT^XvLtR9BfPB%Kud zX%_`go0jxjK|>Arn$Kl-`0#P39Nw|~|{oKxP-!!m~VVg1M7F4i8Hu}+_m3uyzScb}d z%_At+)Mk7Fz14=HfhFqFb`AKyZ6Iltlx!aG{{{*{p@HJDBBndv*@AzE4KL&Frk%)B z+QfuX3rK=Vt7~3>GaA7&Q)J+BFq07q71Ghc|LZ2*&5jy4@m2|kTTrCTm2cH>2Khv5su zczcE51SKMc#3LXmz2#I}kHGCPk^=0|c!6ikkpJ+aDdyYzt77cxoCnOt2gA+tD zTy!Zm#@6=43)uD|RLZt>Kb`QbUq$Mx_Z>u&Me8W2el=vkja`b+7?F^q}A^gg95uoa}6(xx-=q!Hn@eCpQG^o;55vZb?sZ>Dz{v$%?YpVXgzW8Hg6d4%Ed` zGeJzJYWF@`^v({*h8Ppbh#&*c z(%RrHd1T2-hb#lyNG4t+16R4yR%g!G11mp(LkCrW^SiEEWmdIPeeJO3 zW|$vFHZ^GC-&!uH6dEuvWLCOV82V)>ppCnWT22PSDbD1~ z{(0B^Wv*-C(SeYBq<7ZE)+RAUShaJWXu#3VuHM=w6iVbOQNMCZbk%vvuBv2b3v=_7 zH{v_tuoEjz6+`kC-_xfH?0Z!`ddUFDzxCPvn+QY@z#5k@&gK_3~K@euctiIvpFGlE#YUcXGPGsLy(8JUs4&JIT zPh7gbk==P~9Xf=9AcOAcjfRbLzPF|KhwJSD+kFtuS9JIl+CN&q8Y5-yv}+spVvGP` zrPj+w(rQff6uGd$ya0C_Rn@wesq&j;&(2=sbntH0#uX()bvpF?t z^*dz`BUmQ{e#cnq{3L6jJC_&qc(ajjl>S(quI-;+0URzaCf~p+8m05M74i#A*auwMg6La^u^b&L+`JFg2+{m(L7S!IJ>4L(qT@o?b z3tAtoUh-C_clfNMbvaG{?$k11&^X_7q^h$eQNSsDoj`^I#)r%xDTBP&pmcQ6!W!7t z$E5%RFaCWK$yMX!>B*A)8@%x9lh)cx=D>x`ICv@J4%9!$`b(dYXyBm{@m)o6O9x-U zOeD8m8~<6}>W{x<@;4q%Q2s&iz#b&6P_eGsh)j2+~c z7PY{&vx}p0f9OmQGR4cVP`-EI-$lAlTX?4IT4*=cZ;N0Fo$t3r|}*dZsN?s-Ql!Gl>HY8?D^_Qn zYCIa|?}ddKtC?ee2gkMtM@{vGmDER7G2$8!vqiep#45Ts5!x}WfUft;bteOek?%D$ zjTH0Yeo>Wv-U$58VK}>d*;wLwEkEAQLG9qU(dD)gM)b}M!d;BJ)9ZJ&-?AI_W~-)< zOZ-?@TE8;}^ta7&HkK~RduQ+ppTgI}b~2+VRK9UH6sE$vY)H!L_?Ml%wSv^rlCbUk z^B;gM8&=l#vK2gwm{QC4NS8a&R;CB8!u)BO`DI`=;mtRhaCwBjEcVV1> ziyn`@n)ALz@!9If&JqTjm$0eYu(@1&*`DjP=C+w%Cp;IfWeqK5xs@wP)YDhn$=luj z)SnDh%2w(g2+jW8hMNkIY2FM>|B)inxH6Q#;?ScSxxp4#$|*E0S67AM1M)pgOdJ%s zasQB8ot*!vhn?LA9_9=e46mGoipoI?#Eb~TVS^WT($!NF@2r&wNHEdaHaCLP&(Rzy z4;%u^T(LSb;23SuoNS|7my)MX&RPzElaS0$8sMh>shPX1t564{kb-wYf9fdT$xh=UBh0iuEVHL+#HZ?mo4V210xiSeldZL7K~*cNHEq;0KZ z29+&}xMWy{Jz!%c@F~ir6ES9bv`u`P_zqfVcfQ3i;mwKLpF-&ca^YR{7n#8;7J7GFscw}g@i4L;QVN)q z_RYi(!E9xDG}XwGmWF0pWK;el_IwX+c7bbyzuw>f0BX`G{$jreOBwGLNvlm?Y@8$jyq$DowG|V!eCB7sjCP;0L_1g0z*C5)EA?)dWn`asUJmSdPfq_HcnR}mJiTl) z+Cni$8Nd1)RPkrP3A4&T-Ea6$XG8f$$oq|lHr$j@`M`#^_pJ7;Ua-8tC<#G*%!^58 zG8ifA?-?COjh|_yyB?ECUdDP9OrT(6cVB4Dk$+MgKNm&>9@VLUz^tV?|Lsga5uy3+ zu7&C4_dE=^%r9_xbf?x`I84S?tKd7jZB-ZyerJ+1zIEB`B#*W$tnB`k1Efrm+D%b>>&npKF44ib}`P2l6^$G;h3Gz7=*rtK@~HP5^*?U%>mrGl`! z9^a~MEVbb>5E$c|ri4bZ$powEvWxI}h~a?k@_H7qJ5wofbw;y96><7W`Tm)Se^%E2 ztVMAleoSA;{LnR{|FiV?2snuj=*%;}5rYD+Q15}Wvhy)N8-354Q;1AQh`=@>p1awd z>D9F5(qjSbA?8$CE0i|(#htsD!mhp^Q5#PtBQs;mK=d=^2XT+k}a0zO$oeSy=aXX zWsSQBc0RLjhu;fH9hC^<<)CPeu&K-0{K@VN8G7i9t+zeA`PT*hHw6nVgi)WL_6*Ra{9F?WNV zx*a};&KmH>WUs& zupgv<0hjGmqF>6GJ6ykw%8UYdq4K*=(N(K}-2)q#J2ZFXR@5A}oU*jd$1*<>h88e* zUQ!Z&Alz>?lt(g&ZjpEbr;Po(8-0E=cRO9Hh%rKCOwlEvAK$>Wlk`T{QI*r_Ed5NI z+YEZ_DmTTg-FX)-+vzbm8->~UEtzk%4Qqx%`jfwR22~W59PWrRXH;Y6FFgxWL)k1aE1#;tc%vXs=I$zo$cm=iU11jy_IWW(2@EOyXeUv8 z!vzGIw$qM*#=)FExn+-&WmLSrjBW4jxbp0Koqh3io%!mkSHkDfIpHY>U)WPV>3|<2 z$|1D6Jm%)y_C&a-NL9wUiPWZ&v2g!6oo)iuXgT>3NZ-?YZ-$I#izA03Ukp*q4lKIt zrq|dbWH&$~;Lw!eR2p%Fd&W#5@N}N+>*BAsAY)q#vMifDA9OL}7E)Yo`FR?1_suv( zeUf?wA?nf{VGM-^2OPnLN&AP^-@qEPfx3VhWhcU8%}+&wQGlJ&ExeIF7m>DOCJ@w3 zLhrpk+ZJ84&n%>~8Y*ThtDvCpaw1ybOB3&5;}N+l0#g{%ukmoTlaeyp8NRT#K79H9 z8dqh*xrNhw|0kx;#o?xd7SR>1WCI%V6GIfNN`@qn+c~OMED-X~dXMB|8s%pn%n-H? z=giF!YIFfnO3@{J&Q~NUaf)kTE`lEL+My$zn+UfsfbRG7(lYzH43~V45_HAN&prJj z9@w$KeS50dR{e`+16MvW?JB@#py=uW^;Pk&{)JRYm9+j*onu zN*mu2tDB>JWdhfqi^B+(LrCMU^-1HR4{MbPGqyyAv*m^9j)IkqJakcZyMwCwrx^6p zRApQiTDdIetBf~s(_C{E+Bh(x{*|_)KJ+(x#0{)Xk>IdTM_LY7$>2lDF z0>p+w!?Z(ZIWW4$3d3aqOgBpNDdy*Xb?V|SVb0SJ$W)4n5Vtvs6WMEqt(kJn^jGH= zNvFTn?`wTT)*bX0exN&6=Xh*=7AkntwfLZPc&8()Y!y zOQ}0vil*_zeNc~__`@iYbrka|I@>~cV2Lci{Ligv@VjuPGA<&5x!<{MCe)p@aM}u_ zNs41GT4=?0K5JBENL>J|?ihujrW?GPzva$fvyqH_5Q8m>)WHa1oYUbHH{v!xIc{oZ zZf1ou(t?H(iEzmP9P3AA-!xkF| z(H+zK`*LQ*B;K5&xdUp%h=Fzb!}Hy=ujj3t7>DwY*0jNQaVt+l1VG+pKPr#UY!vC1 zeQNHj)^XZ@ey%T?2Wm8_jZxM3#3Hw&5`H>gMa2aGYCOLSn4_>MvJNYQkE*@X5ePDZ zFXq{*PkP`qaHQTQ!-<6`c`tq~eP|7}xp)lard?al=7dNWMeAhQKz}&hJ@)YPv+;m< zLLjc-$xAOmY-VJi)g_r-<8WUppsVH#^U4U!cCTHo&mz;zi7~s2SQVl!7O`i@qzX z3=f*Xp8N6|_-daE>s1md?UAMj1)I7Lw}wXPcoNRHTYSv;+q-T&H%%;YG=Dsl^291x zm-DoOruq&ATL=V|%>|ec=t`kEKU=mr;Y5MIAVLI)=`KA>?V(O{xOyfsH#;wA$gs;kZ= zn*;sI-pWH&W|)piwZE8y0;8t)lOuJ!_A3*7Bh#fnimeCWEuzWv*%`K5x#?7LNJB%pc8FIJ2Hvr&_1B6eGDMoCi=O*gjI+ByV=z7(J&lbP~0 z;Ms)`hyh+1>PVwwT-_`vlBh<_{)f%|Wf)g7X!00L7>7EMM?y)982=FvNPW_e#1RTR zQo#a)^J)*mx?UgtZXMfBm{c%vBEcQVUzRo+kH;$sDNUhQaWJcP@m2ff0slcz9O|{v zL}VXmmv`42kya3t9ali7PIILV=G9pvoTKcMD|8guJ#ttp85x(abSLCu4r{Lf5H?>D2_&@JK`FU@}aEW8nqQzQi&CWe0mq8-CH z*5v9M=%vUUULKA|1v51Ykj>34dycVguk#N9UvvN-#{Y8HbuB_a8GNZ%6s^H)^p>D8 z+PA5|7Oqk-EV!k_sJRM=y0Uh;3b&%``|8oIM^Hg0PiX1FWh&il;Z)*yM_C8{2T}W0 z!W;H*yBvzv#&{23iTK7uFj@R*b`JUsatK-CL| zsoj06vDH-ZltMkOW()BS3B-uBu79WMdO~&NA-o#;y|6W$PM3U zAE)ovS4wm?>R1njJQ|OQ1kuv)>V5_HLgFZfGA*Rt9^`QpIi&izMZX+?bYiAHy;)dLA6_Bc(^v!e3R}}=Kr}|OUL;8DO|~? zztg*}0l#<3y8iAJ5Sx}AlC`=aKE@3m{VWWrmCoyXcl?|9f$aJkTlXt^Vk;Ra#Pt5p z@S&iFk5?Y)zgJWZOhe#b>#73=j86seV0qjqp0Aux>P}<&9Gx?sUf}RM|M|P9zLOuH znzs!S1wU7owljjL6FnH|S1PSnyM)7S9_1cVkJ{vr*22&q&$4NAVF+S#nkkh#(?}+i zPpu(kU9SVIe7puj7?7#Jv!7H_a+#9C>x;_)U*FyAkdWz{(iqa{J#%6FV2466i76?L zT=`y}1@qhn92!VoAO1{8zCLXH@m)V{UYTE7QlSNM>#k3Ju_RH=ei0XpP5*R)yZ8e$ zKE&bg=WcWz*4=F&@K?ZSXIaRC=xbKlh)_~UOY^o6b#hzXA1?bq#87900OV-*$I_q$&Lj>pep z6G0sjluv8?`BBU_%5^@3p{Brx+Cr*u~*(&<`k=Uqn|m z7Oh)k5Z0+p3qR*P(woyTB!s~}b?ZsyY(RczIvfzu5bAE975sJtc|A;8tpz`I5SzNl z3DG~q4YP9McID&eGmt`V`Z!-79?!d8TYXOV9Ygd3HX)eAUkFcVfQRMLH3}M^HF5#9 zmNIDZdy#9zx_)@ke1~K*4eeC)EspRdYNyFRNYREftbE^#mA1f3;9Hb1+Kew~`uZ5=!U=sGcRb8LN6arB2CphWxc$*slMmJt=Es?)$e-86lbde9C|mH3Y~-tHH_ zsgUaA`F4I;v<<>j{a{ zwheb0cX0?}KqI!Ymr9i?q|l7Ekj!2DdmVK7sR z`rRG1&V&)r5q$hUE!y7@d?jP@Q8vpqCEMdn9Sw3&mCG%+@W78!QrAL$nXkjx9Py^W{ONNf^5#Rz*V$02r_a(dsY)R=gsxrX^z&O^t!?l`s@%p57qxynyy1(hOwZkD@k+rruTnR($ml4vc^SKl6+N=?SYU_e{^LK zO!0XB)CC>S#ma+NL7>dvp19}{fc0#r{_nO&$4uy${j@e=kP9o?Lu!Y8KC(QOg8UHS z_`N7+LOK0&UTX^T@o<<#0SKD2FVVQb@#iCaxgJ|*J|67K^vMw1Mk`J<=U`%|dr}U= zSOv=Uio41aGToKKB4J=b36a@c^eaO)Xu60?lgd9FsTasN==hd2Y(MaU9sG&|r=FSe zIN3h)dD5X#5RW`s&_3QVUD|TjQ$uA7rh$im&OrI*+T65{K|u77;ezQv@K?bWu1&Ps zn92=EIUG*crR{iM&;-SVAE`Mtb3lprK7Y~&$ETBYcatwwuCcMqn9#7z(GY^AfYk7Z3x;Jk(;-Js0r zbGKpxU$@Nfj^E`6Nj4Y{lgsLRFJ>;0B|ZdmWMBU6+3m%V@`!QyoZdx--HAz<6f=R`{agn!cut-;E$HCzG^MAU>jWc_D+(Up*R&%B}`#f0~OaoPH z2Z3Oo4ad91yLJZ8RA{Qro|T5e5D|WOiGuGnhei~D6Zrz=!$hZa6bd!8JVN*z0A4o} zboj`IGw+R?6?Qpw@A+nR6&T-#0TxC24ZNN$$FVi_4hq<+WVq~G#4Xvg0Xmfs5n1h> zDFrdJw|(k?s~=0)S+-gXA6fMCd@x5OgoU=Yww9iqA%;db@#_>qxDICSm?N0JqL}N% zCW7N-o~6LU$gY@}y`Nhv!YmpvqfYD^&Z8J2``Xf*SS^1U;b#bNP(xpd%^9Neqx$A< z&AAj24W+d=_47X;^v0zLD{oxl=DdCD?)mgHbmcC=8GG6H%aYotA&@=_xCQa~S?eFL zng@@1w^*J%V#Ab~mKKqkn!2;IIMN8*DJ^ABG|f%D3q&15V>$IZrEspa1lC*pzV$y@ z;D)3(4+}Ubc=bs|+KM)@lwXv??}g>9-(p{8s4=d|ns>e2uXzWkK1qY)e8m8BxdoW2 z!pnUvdq1e{>+PF}nS(e%G=CS#eZxWepI1=K?Fo#QWQhI|mdo{~I7l0ez~C#O93!e- z%-YZiWws91GM{=%gIIs=90xrYwUl=58>1a#l}W0&ey~=3Qc%uqn-#fX3!KF8eNx^-r~@rczLR+Tu$g;mN>d(-+; zUX+ae_3^KnXMu2bG*!Q6N(`^0@uZ7dSjLE0nfYaP2_mLA0LTUEl+E&lurOt$+_o`55UH%BR| zvbO$Z)xG_17ciVq+sOJJbVO%yF<}*CSn_|UObNQI4}a698n54k07&;C%H ze|WbFjcsynLvkhEPcs2_5_HCFp>wjLUoUBl`H@8_UCBoAjd@~10v0y5iO3h)x$ecY zvoprYRcE>^C_Axc_mKq)%?Di*y^j$%(i6}Mamd+P`^_~26R<$Y>u$1mVL_JZJ;*QU zbX!^2`lv0Syh?7V4feCg!GXRN=>kCAO4}%6d0zgBKqmx2X&*XC9M?1gKKPIVcWp_x&;h}UcRs&;#9BbAcYmKe19qywh@ zn{>s_VsJ?Cw8z{N>r9H<@sR^_l;8pLN(jx-l;Iu24;GqBoph5DZPu6?C8H8vDV-qZ z7TYMr7p1_4tsYb=`hMEs@S0wgIcC5d%nqcWH}WZ+2aIT2{`iO;QzsWwdBMz@eseol zC8qdX@kUUi-uS@Txn@aX&6z5Ik>7VGLa2Z~IsEna)6=>|l~IR5MwM*kYBuPN1GpYi ze3cl`9;71V3JmcqqZj=I;mT}lbpM+&X|3|2ahx~;wqH4L2@8e(@J=f_VEG$kF>0qSTTIiW$9Ma^L~A z%W4) zm+kkd&Q)h#xP1?Rm#GiFKf{Rnz_z!N_&^#9Z@){M$^*yp3jqgPyjvMC%TD`<&kQ6A zK>~qnb?C&C0dZT{OJ6pEG(|&~>8krZfu8VZQ=-gr7=ki}U>r?GN@J%lm7{(BK@?0W zW|js6a{qVpv0-yFWaR^O%Hul9BY`}CNkHl3;ovDf{18A zJ|lV&jf7>J73I_Z>oM?e!kgLnc|e>z@n!Y0x&gfl03nc9cff7>jujhwK{GJA_U}Wm zn7z)0&Rn`JDNdn6sQe*qXE=-`rVh^<(a}5Kc?K+N0gBWMCB=k$$mt|!C_v_YKCkyj z_K~jMKD%Yk>(T$b`j)|8!2Y5d>!A;Z58K{ZL$A+Pi<((fHax#b@+GZ>!uVD1C>{^p z!wLJ^mFy!h)tSQb&w^zKzuQOSo-vHWk@+0J^l;XxUpg!K1xx`Ft4a=F+`kD}1yrGs zahznHX8iKpMV`5-5mvAiA5aE5R~K;muSq}~F9YpERxM|ZL%V~4- zLrPrBZdmq}E+PTJ2de;Nl6bWEdVV!$r-NfGy+g>si^R-I7xtf4SZa%XER!Ln8LqEO zaKV^HJn-}TN4kPRwrKT7zo92X@STK-SYa+ulFiR?T=y{8%(}>R#uZKf9uSFQoPsd2 z7ClSNk$JBdIs5AO{8RioB6Bjr8;1f%mQGRLq0ta(S=m9{n>I;P`0?k&bEo2WTBfM9 zWBAnA60gbpvRbdgdU7^qqs(m3w?2o4UC{?QZi$$C@;_$cEDzNS%_$g;tZo_aU$G*+ zCCe=+jEFY9&7EWZ{)l1V%(%#_hsiX$jev)ZVgVW)!CNT7oFFkCUlIQ);th%dzqK@s z^qtG6$8T@$!jmH>a41(EMFAN?InzbO@Y-k&+8FZ(kN$~5QQxzvJEe(z)4+eHW@4H7 zhsg*D4D*Ki8v^Tw*eQ#C2T^gZmt5V---y@+(~@-QIlc4!#|9d)Cg1t$NOjNUFqcTx zIDh+#7O}l|R4R7rc7jTKC~3i2mPr>>H;;Hy@l#LBIicv6jj+3Ua=G#JVYK*9**nu! zn3$25BVdE}jFCEw_dhF)Ht5#3P=8INj%Lx#jtaO+o~zcceYLhGIYhs}4cG?~S-wz_+FbToIj6MV zZIOcnEJ%js6R+xZwKSZ#wa(ed4zL z0|NXZ*(TD8ac+hPe@@q(RG0isp{AkwN?En|&CP{Q{D#`Q~YuS>@`PW)*~@M3EoR;%>(sN?6(*%jb3OiColeei}ZzGIVKvEtz!H8e6j z&kWtqD0vx$NU!a^~0}k@T>O?j8*Gpm0fFJh0i8QD*hBh z#&UZf1mP4Hey_OArY(?TvCsykOJgtKBEj{_g*Gcd$C1rbS9x=)n3uS#WY_P3{0I_H zEZV(JvEMdscK3^ozWxCt-AA_#=~IKPz^r{D@VLP`%F|vj!gn0Q{I@YW4Yc9i2fVoo zp+m2nH=NAnKqX;vLO4D!i+F;43#1*j6vbe=>)Wnk|2HZf23|G7+i@s;+ZOQ@ny_E6 z*mGtU=lmq*sp<4e3isC|niFYN$=Z8o)}t%vveLZvu_|q3r<$|^`+g~GxLqY2(zS_P zf4v%I%GqQNmzlrEx!{eIzmnWwO=KQRC1wgRT1DLGe~Cl$M&xn6sL`x;beQ3VS7*6 zLJo!Indt-At9?|97HTDe9e-F6y%-n7;z}`N*RaIq?d>feDMpL;SD_f=#r@TKC$h}q zHxDpEULW-7$bqcWH>6YqyNuWKmE7_8E``!+faOOpimf@7ju+q4T2Ppmskm&UjxblU zVq{e2ti$n@K;TOY3xr9yW#8YEP$wh0n&9J?!9hB(?pQvx*1|=f@ScSk0J39=M^=kj%!IA`7btFo+t>ebxS}FM@;0D&mx zG@Y#98mH{8@VD&~$4g6()$@1r)v;TK%4%9Z2v7*i7_LeRm&Jv{=>P0!;V3@8Dix&iENcvY$rc`ApeH$g%3g!0b~W=!h|I`*Rq#O`aKqEo>Cpi(h$$+} zd)@Zv=dN_Z+4PPpDk_$?YbY0Z-Fceo>gw%XTB2)*G0R~G1;W4abm25E42SX|H$-!8 zgz!7(RJSOU3^v(z`DjjP6w)ivyyt%Z&qxqx#cC&d5i`(<-4qt-`}WU_pgiS9QdYuL zQLdUW-zL}gVWPk{JW;HD!xi_Xn=}ETbDQ+ zI$ocQe)jD1wNKzPzJTQocDnc39mc;Fjglq-#?qcLad8F)hY~|DHi$0p&2pK7EEvqR zLt|Qvv8q=jOan4U;jrwZN>j6>mGC>H7KW&{Fcso9{KsxZl5{stSaUE&snH*`_o=bwtoJ+J&j|ASd9*< zsSa6L9iO+&BiM8uC4SM0?Ax!J4UpC+RPc$VJMc%J+2+TQi=vpHWfOn(;)QR-y*p}?j7;w+DzcAJ(ZDL3qTu` z0}RvcmmK}e(+dFC&hZ#97qFmS3i+iQe<;egB~w!Q38gomQ425ESz<7m9J-$Xoj?()u3vJ^t!bkbN(wLfb~_%bS4$i+uS zRQrJlr%Y~rF^25KS`78dtng)%@sFkMHl7PHN-3$ zMxx*_W5q~7HutW1`w{;VZx%3w`k|GyQGe9t`_NnU6z`rfo3E=Fw!-yzKmwTw^+Btv z@z~F@`sLZXb=@nzSuhDdX+Q>yR?!$wB?e_j-x{~|^#lE>!T$iSKv2K4Ctk`&c|a18 zu)sbg_oY_|z8*^Dj?kKBg7kW+A2N@t==(?sp=+tob=QH)>)q_ek>KkMho_&ZENe}= z%J*JEu8E$V7Ori><>AxNxNW{in`%Y2-^;T+)`S&3QeJqTMOZAvnj*qVEtjL}?xica zD6Cn^_B_YP=;(+8C2)w#Y_nO6MF7UKUHBDAA%L;qEJ({6Jc1%to43r)cicP(Tm4QF z!oGeh@l~B3GPIhs28}*%^Jb&jG>Vsjixy|ArGD9=ida~xia4%SxB334L;RtC1%g+Qv3Gxf zH-7A)eLEK|+dVsk8lJj##qphM7cW~Q1j){T+N(yttB|{pFsFX)>Wm~YOUPJtG+7#2 zixsL^eo;0bU9{q{)yRKl3!J&tIl_rY&KJo*433|wxGEIoFmnD<}6Rn(D>=x&^htIdEh$4 zj*((JzPY#m_0OL%n~Su-VX@kb2IQYcvr%uzpPU+<+JZ{ED*<$8t!XE3WR=WGOD<%> z`e1F2Br3vU{ZN6Cag4@UB8)&-AfZ;uV@nRF5sO3Sa|L3^l$5@_Ru=r7$i3hH{jxys zx*m=ZIUx1JPR}cJr~kjE)a+*$mz6!YaCdVq_eJ>)6?Zh>;^j$=^Y{2Ak-aGhSU&Q`4?*-~39C%fjwR3cN*W(oyNHaG!#=n5dNA5*4w8Fq$aRF<<8DDKRIUT1r#GL;yKq zz!dP-6@nY(M-LR&I8D%%2E}(63o(|yZXnM__pl#g$^tDu(0cki_x3`0 z{U?kLJ-QfNJ*p1W^!b5y!}!dJVjJW@5{k&7kDfa8x)Eqtb?lP2}?kC!7Y$I zUlO^nz$$+0&`zHs*2w@d29WXz+O&|cQW}6#_rinVw>q|4;56AsLfUF>POUn~K5z-^NFmk;(TGKLHH#UG<%gu21?2G`73)dhqtiiH#3?|3C2!b@ zHV2ooV4pUETUG!@>a+IZfUm~@(-obwHD(!LuF5AE@{KmD86Bh5&XJKX%0+oXSzvJ)N(>a7U0+l?(`@=Y3Xhk z`Azof1&?LV5^3ZtQt(?Zj!7eDPmUx;G!bUc6PF2TPDndPGt1G41#1CuL5@XNt}kTq z<9544N9tIlAxpzB*()`uY7u3z#1OQJoMQnL*8hfKGp|Fyb&%@H;xOAbY4Tw!iUBxA zZ6>WwSEc(idjjVm3RFBH1X|2k>gIL09g?<@_uryRzsK6WR5EvOpZDYeU%Ic-k0<1KJ zulwMu(J>tII);M)!4=V!-KfzSOm?kXSJgmcwvA3|sxRS&XIGRLN0rq>l_h>XOTBU( zSo*{pXd8{5us}hBG&17vmqaG4;AJe?dLhCPOTJO^Y(cWiKnn&tkb2Ponmx_4=lVYmy7Zux9Rk>UV5Mg!qTA} zeg$Gdecb367|^5FL2Jaocd9JJSuXkr@R4mqS3C)$agPpLZKGy=K0-FF-2@S`=t>7) z>2!w4Yxa@$ct{H7Ok^V(e3XTUGPe+4(M_MDDXhqiRk~A%R9L~wSjqFe-+Y!dM3yB4 zDkkkwaW`4yQ^DEoFL0Z`YDHu*maI$>U}j>IG!jaV#|rLINAcuuZ!%%AjlRUHyC^Jn z8??Ln4rRbz*a5Kh0SJp23s!+$^m^2>0Pdl|ggufNf*~*r#>TE*Ll2ei)$ajH_T!Ty z(3b1?5PgEpZbIjR7PWRzX?Ii`7}Y=roTH<2XvL}=j&jezN+h|fSY<0Y!i4qZKdPt- z3p~6`7C{p8s35r=!cy?dSWW4Ctp(3g`EBX^nf0>+mEFrcI@slY(#CB*Z)Qy-#*!@z zxK3OUNmkhKf+R-N5prk|>wVXl#*ni3gqC6L-X5<<~lWJ^H#rF>MC2-UEbMi0-x zSQy`+*CIxmbUG&|Cr7{}KGoHO8_)!rFE7USpZHo68hLD`9d`KYL zSm4)ZzI{on(?aTrU6K`w0D)p})9v;Zw0boBdi#@-7&Cx`d!C1|Sd7Jlb)*pETYyVY zv~^UZoHjNPVZ~2c3{?c`EV7yh(Lh*6W95K$u=u0avp4y^6~BP%qx;jdt*z{7t;ITn z(~+0wDALm?OK;Xz0}o%-=2?~cB(BuN$Ft#B#tdqi@3 zgaz(y=1-bYcwKo&C@68yF~=16t7562^cBo{PVB@Pg~7iiK(>(+uA+lAER^t75aw6R z4evTHh^-IK3{-c0c*?y_ICU=@FazAt41@gHNx~~R@zvQ$>j^^*g*uB2Pj(4w)22%2 zU@E{`6>JMP3goFKWldo?%F5jrN=e|+J>hhl?2FCpn;|IDQN&^qmME;# zb3_lYnzom|kQqW)t)u-`V^uM9Roo6`4Gxk}$N*zGjApaRWY+82&oY!s2+NB<$S)?W zc&4ng?M{3jFghH1HY3nrV6Gahg0A4Jn*0qP|2lM9DJH6PpalDrJd}tSD;Hg(WE0gl z4$Pkk!ot7YjfZ3*Ebbbx16rMd%{3L24N0)m`{m8_#eN{L(?O9o?{crG55mJ<;-0`SN z5-J%Lslk7ythq5gwmLY2NO|<>Pu(FFEn;P%%1)|R9!hZe3h@#9&OLoqx*#}mlm`1p3C36dk*vyz)~;44L>Px_&NT>Q5Iu4N9_Q@LWBihxxy>Au86SyW$)~Q zqAJ5Ues<%qEZf5JjbI=Oh=3npik6CmktQEOLTVFfWGaY22`P+Tm{f|TqZeRZ1k>~} zjupc&+?CpmV>&dT$N-ZtLo;1ylQ`AXUH|ua&b#OAvYH^xG|u@A%CfuX>{)7mKF{+$ z@B6+qf5$W5zx~VLKDsCZ#^O+roE39Mi?Gg>*d9<=vjQHPwg1}t>`KdjCD-pBAFw&= z7KJ=;wXrZ@5)l>muF=EH28 zE8dHleAc;MFYn5!3bSfw3$LvEH`&-D%T~_9#rnh=R`_I^U70G5iuJzcdGjS@WMh#m zlm8cL`j9&(gs~{Znk(k!aO5Hp85sZgX&-!r7SE+5Ea1)yVXWIbmUZ`FEz%2Ddb&Op zkg(jqRBnW@$XS<$#oDD1mI$!OS6pW&p2ln7>~P_{{@1^}@XO6h`b9l%NDH6ackG>a zNLbBj>I14eIr5gqM`UM}XN?ld!n$i|WQ+s(leKJm8N?lRE z`E;0{K}54tjt8l}>vGAP>fcORxpL)#?7X;S=Y5N#^(#LNlxM}T^1;gWlMiqf(FzqWLEhFC9DQ+UOOlF&rG+)hUU$LzC{0Oi_y4hbOj5QIiTa?m5Hdc7`F^;en?=Jp7 zmK^NyQ6)L`Wlz?m?5cUPEOtX}(En*G16xAmhP>4^yHaXuR%KNrJ7#L8YTBZl{F-$O zYO?E(*9P57uBy#8#ouK@`HF_T>>9e>_4RuXMW#C*da>~2J=@C4-rR-%Jo#mrA4H~` z>-7C!u@$UtZk5L3MX`?MYQA#!G$8q6fBBF72w!2(`lXt%4jee3IZHFvvTg_qOJj|6 zeR}Cr0Ac;%#&}Z`+NF^j;AS8B>NOEx$wZLOE_?-HiLQwq8&7?9;iutXP6XLlVbAgR z&@;zgAYpA?Zx$U)Odeg-AmoG)78y%hvSIGygf6Vd`2T33e<#I(YpO5W@Py7Z4URHi!v@H?H(>{puy*D_vJCEF_!U=Cu)fOb?2oLSqk> z7!im#bL<#rgoj7XvV)1qBaG{V?HwJmjK#(}8)!5ZeWU3)C}3g5^=@QtFNp}Ni>yKz zjD-z#Ui}ICppJB15*D?{1#IhG9qY z6<}R)X^ee^0E;G9V`EiOc)!vm7rz01VTDJI9651f;S01@!_m_J;~=4liOEc1D=%y6 z=;&ytGS(5%+i>?T8Z^B@LU;ii$nTgpk9!X&#?p;Nu(6)#5h2#c2(bhQmj2HCW)#*R z^w`+o$Jjgd2GUHF@ujcCxmZ^+A)HUXnuqmgmL)#_)hBOV{PZ!2UoiQqrS-%@;j68U z#fpiE$s>#!zi2xNi$W}}yuTAY*;r$re0Dxj1XvK(zyK$OGKXVheab=Bi`V)n#JVv~ zR(kr+-+uf3H^ATc#?r2?vt3;yUx>}WuAEPNf{J3SE9omeA-sKC7go_T-@p3y^#C5U z^z#c_ex#-4+_^igttS>kScgZ=t_Bm6M;m+XXj2E!l0upVefBx;04uuZlT+Qx5MWVv zCy*WKMq|M>@XY+4s~0X~x%Qi5!b%7J{%sO}!dGXzZe11u)?m-Ic}NGJ?!tLkS027v z$_b$qR-!0l^A>iO)#576>9GNiEOOCE`O|woSU)oTsvrPZW5q7qiHBzRi;FI zY009J+7OSUT;(e=7ZoIUOp?vYs&E+UenCM&_j#p|@f@rqeK4MqV~O$izF89gh!6=O z39IOtuf81r`mun0i%C}<@YPXfd)v^IrV^?J>-Gox`}qe}C&k$m4QEzWxWCmeaLM{8 z`Lw!1?Aa4IJIj6UvV)vX7rC8fA4y(-kmlghu6 z9STxy+AA#x1=S@%8KGWO7vSM-e7i=~H-E>Eb6CWyLYaO0t2VzG=T=VS@=&0^wd3NV z560ryl9c6P;$4LuOf7NBy_rLaBvo;f_95MM8Y?r@g@TnoI}B zp0*}R3c(#R7Kd2I0P7T7vCJr}*9MkqS>e-N(pXYiOV3}tB0{WhL>cSsz#qSR`0CFA z#8<f26)cFe&j(b%!fyD>kP!-s&_CMK6)@|K)(#G@j_%%l6l`hi z>>WzBO`&*~A7PP%XS)=_l@uWFt3IR!qGP3bDSqa|XfG*xx8) zNd|ky&YnFxeB)ygU=8*qzWk9_cx70xMlWC?zJjlqqK&66UO%&0)UKMzS6g-qU$yo2 z_Wl*GK6re!I>2ZU{^#Dl%ixvjNCgBfkw5Q?()S@v@@>WyUOPbeFL3x2mOlyW;KK-O zQMd){bSTNWK83Z~!t8WPVa>)*F;TvD2DDbisT?7Z!(|K?E0pM$M;?>#iyDPxt<$sV zIl8byX7LR|UFWe8MQOAJ&W}?}Os3V@(9nnw%d>yd~EFO82jpr8&}T1I5`{S%`JG_ zLyE7sf(2noHul^-at^^2fUdT{SO~8=dwXN25@1EfSU_;b$_$E$qSF+xA&_(u0U3bz zg&MY5VSshn;z{|6pdbRD`&z{p1zOBx4Gas^ZY{9+jIbVBShc4q`YBhG&vmNl52;!{45fK6Mlq@VJRdr{CVY;x?_b8@P>*9UST^hf(3@I7!YQxNb!b@2%dnoJK>ldl+ z{_z)s3&+mfx`k~BdqzfjunpnZSl8IyAK)~-A_dGyiFa@w2?F&526_V?+-ySF$k)hd!eL@H`3MFzIb`1XoT zrcI~}`M|kZ+X^A4q+(Bgp_P7EWDr*P`c+JQh+A0itzz=yrXsA6DzfYz;g!7Al6<=D&w3up^uuP^MVo?>VRnXE3VSyLWJ(|0KpvwyD!kWaCzbul%;|2YT(uc>g@=yz8mbje!!=$xWAq1?c^&G z7U-A0It*VySey^;-n|{=tIp2R3a2s!sEm_DHy6kNry!bhAX&aiQt>h8+DpEO3B)IJ zQ!qZ=QHn2+LV<`(I}aA7SSdn@*M)UZ4=SXvtj86}6oloZa|hI`iU$c)8>(_By0FM! zzJ>K64OKd_J~V8#s=i5)kdUXNknVQ!W;n;4{HFL$yA)P%AOfxrWDJLUtkF_f6~RLO z$qKp8&q5>_s$Y4EiOIC9Si7aLo3H8?!0 z2U*XKi!v6B_4&t_@2r8TG;U3Z@akI{AtYZJR;ZE5Aa^t1^oE3xgjH0;zFK(>y29Y# zZh#Prd{uU6O1|RHY_?u1UdQPlY?PqTP0m_EL<#Fj$VmJ2IbXr&ah2~t6%WB8+Y}8) zCFM^W48n?^EUe6F2uoe%PkS8Oy)J+rUt6I_VTFH4ca-`TR<(9`d7g1g8 zoLtQhN#XK^=UUq-^|~{B?I}^hk{E+5UwI)Li+US`ogk;16C-!;-krE}L?&xZQs7V6ZQ7IIHxitVueBGIB?5VN!t#~3eIMg z%28qBGnS^Li?Y-zD!Wi^C=(yMLf;)kTujPvDU7U$t($paZ3w4GD#ZIO1qemdD{f)M z?2VE7@hvRogJAhAu*%9IRy=8JrFWK{VgYZu>?9nKo+j&~7eb>B2fpi5GKcO3iSEsq=5+c5@<_Ie$nLfq=nfFnk6~2%-_FL%VJj24WMJ}O1OYg#eLv6W#hZ&TpeVE z7cfT$%7U{b99~@>yb53Gr7Q2?ilZwIuRK~BiiS^~qo_|9Ym4;NXlAKXnJSqg{;?LW z&VWkraT33TS==6^k89`$Ld0%1GO;uP` zA#YGySeD|6YcmzkBNbg(ffWg}$Z?MQ2n*zki}U9z=URJsT_F|rRDHJyyWN?-p-MdQ zN!2Z^>e^~fnL%y1h)FrZa*r8?iUd0k=U*F{p;g+|o#H8b6%&(bqecyFr&cVzh;^i; z17ZN^(LzW0ot{LmAnW#R{DHMlZ9>UOCWf$&JIKOV;g3I1B@5Cb5NSbIH*Stx*L{Tp zgs%pubj7)#I4w@TL-?w{zhCx@vadQ2UwQf}E7?Ac!rhyCBUWynO+-YYddOp|;u@E_ zQZydf$UPZ$>KQGu=M+W8`5?1b^WX7QjE5DfU3Q`|5!g|wB zSYx%<^SQ3Y(VrBS{|Y6~kH!)1FRTp#hVs87gET9ycW$H}TBYu+oE<8j7yYDDFP-lT zN)d^nQ);iuk;K148DIvMaB_%Ld7XI85DH!?+cq(oKK6=HnxMnNI&$*J$rjcX+#sSX zSZn0kyd66b^a$L-x=m3Q!YtZS5DXX=_B-%$ci+t)Z@^jT$@&;zc?PWEK6rI_KVBueyg%u&;ItUv1waoYmPo+7M+^rh#o+w1u!%)^Zw1 z?M58AsIO=dMwu1SOioq|1zI&CNU+P6)53BOW9+0v&0$OushYjXEi7w<#*-{8@>vYu zl@b4d!U_+w`1-&fqHcwkwZRP-cT%Z(qjc z_U^mXe+6Fw2n)J8y1TdRFHEYP4z>o_Bc8$guNFt(wsnz0?9_UNqJ&lg0?84jkU~sp z1(m$LO44$$zS^be9JdIvq_A{$Nnz=n4tYRfdA~LjPp`f|NYRA_7RieGE|uHReG98L zoJ;A9bEj;u!r8ogLf58bCdl_og|DDcEsZXvj8J_~7gi4SnW@U5Km>U?cop_ny;;IC znUOir+o`qT94+M6+RUmFa=>@AJqcx@_Ac2$%3|19zLoXt(s|E(-`96lV`TW&(x*N5 zGsF>cSkR~|>8oXkuo6Y1{V=L(s9$O2c7PjOI!CALtB?i3dT)5XQy3(MA}lE^{#dEo zw1C4}Lu~^!>H-lLEvT}34b9s)mT`GTSYX2g32TW_Sm||{OoP+6u)ItEYBqJcZcsdh zRVU{MMjt{=+^4XljbtTCYc=DLOQ#^(y*u>s<2Du+b$Y1pQ_jr8iy2Pa`y?#ggG(HE zgqqx4%f*<0$}w1uVq)@8*waK(C}tC)hSlDrbq#Q9=Fui0FG#Cp*eERTKuhl=)jJ%( z(=Wbs{o1u_SDOvPp7AJ&`@yaayzW4$5&_>?Ht{cK0RMK-lu%6 za@Sl7@LOj`lrmSZf~%FX=xnRcwTgzwU9OT~F`7uFnH05nE)O5-P|p->&0 zdYi-sI_FwinxQI!>O>sO;0ww^UdSfVgr(iuaU04)K?~x+h7#^o9G>-tWMv#092k(g zng@1p*@{(#FTj&>v~&<@D%nc3Ux|*<-l4d7b$ai1HH9SgE~RucjgjT4JW6QY#`>P4 zw>Tv4t*I%iRh>JjXS6(m`W@_Vh`dboYEhEw6BuXarMZO_T_4NT>cUEjWi}X7yhSpc ziJmMhYh?vbfibLb6GXiTD1-SBmii`j#UHnAzNfJ2@eFQQXI99XmN%{qJcTjHAgoCK zeMCl!HVT8V02kmLvuIKw_k9GW(KMaqW(mvWVNuf?+B$@GC<&fL5 z48pQkk-3HR=D4J=44rA&1;IE1_h@R{Anr^tOIRikjScOiD7v>FB_lL8HoE_2K>(2$ zc95~Wk=Y@X1!oy{0%HuSB3&7?K~4p^MbsBa2T!z9_Z5}Yq)gj-(SD^W(_>Qr5627Q zmkW7qzzh<7zFYEI{$T3F7xL#W&JRh^3ZB7>PpHnJ0B*U|3)M6Vxl^5b<7i1}F0(vg zavzpWR?_Fl(`5z-!Q`vHg~gp!*40V(5>`dDh2;An!YZJoFkcrIztXTz!qS(K z*@>5D8#-xT=4yU|iOECbEGRqL-c0RHpskUBwX zvcafJE#O(eI*#SMVxA%H;nL95h2<>Ph*Et`&5@_pda=s)S-=}E#h0*n?h%-KueOGe zSLAg*fUx%XTfk~vSUk%)U_A~AJERLs@4lUtA}(6kP!(P9l_E2ZC{;{MW}u99D6f%d zYtz1ywMbZvZNd|~n?Nh-Sd5H;080x=9gHQFMSFn}ZdKuHlCE$z%Kc~+WQjN}PPnZ5 zF0w&hs*mC;PEi{>%SupgpEg-meJwnDrGb+V6y?eFx4J%!C$UTK+ z4^q7(9BU93FJ&5SrNX+0uvqHR)$a9pj>C5QL>ok*Q!z1_31g+jj&`;I78WceY$bmJ z)a1~5cl;@Xt>76=G^DJjsHqgycM7t=(_JsS!EJFD>FPDsmB(0M5&rb|<8Oe|N?kP} z7nRNJf;N<|9I7&HxK}bThgMjjMUaClXekDek*wNd!>F948u|w0{NRvk%86V&XU9m? zEN)P!FAs49tw;)#&6hJSEKc*l8&0uU6=i(uN_9fKgk{5lz)M&MD@qIEGLzQw$YY6e zPhmyPdH;A6Z<~=H$SVXIg{ADWFzXd>VbxjjgFofga(cL*mAXhxOlAVrl^oYFG}=qb zl4!Tz#NV72wk*DNT|`B?XMi3Ui5WHXD9F+_iH4&ja*nec8hpybR?J2Si+y!|gmuN; zV0t>(Iog2PIMYWirx})-vmqym+9oSq?k4YpZ}2Llxyg!~+8BIJ3*0jVmlx~}L?X0E z@!&Y_1J;=8<@<03IdV7i!jg*x`tRko1rQdkvsxDx6PfEnSl009Fxk`|xJ|vcu!`4O z{0?TUT#&MP7Png@**t``2}TJ`r zC4|v*a^X9-+(jo(*+^w^DT`NfAlO%YTkm8LXQ9Kr5uFS@6RngBQfS59SEBe&-3%c% z<>9E4ix~5_2pV#8t+YrytJpT~8Px~x3ffID4QI>QXR?$C+lh>(@ZGfP+|GmPpAs>mwq6`m4w zGSC;kI<_u+;n?^NXo>PR7L4He=UF+4MTuO@a!)eUfx+b7U8F1BRR(1}kKn39*a{sM zNJH6J)XX5NR~2X$eRynpUJ18oDO_rSqLEOumcy&l^@dNC%VV9!xvIeC{U#zjtm9lY zC)%PBynl6w;vp<>+{ziDTUfD%u?=3$l!@Y4ZJlCbGSjH`_()0(fu^k9-p6gL6?V2vQ!Lv{+E0$_tGZqy@!JqLd#sp4{F*k7V&R zmBtd84J8FpKCJ7^5)TF$?x>B;-#ACUCpEYf;HVQfdC)OVKa?K{xfAE-Z4+^FUflOAOIpCD-}Gmp;Fl z+OFKTVhqCSKG9Btg3?yo8R%-XA=0JJ=zCOEUw1yharZyzBiPCPNWLkPM+?=NUhqNe zD5OP@yN;eb3}KyFGu*BF3V3R#2#~V8Hro-mVJn#o>PJ1JAKE>9vb{+b*%_|-bv=OGa6MTjF6a$O^#~SJ_`DUGXum z^Nr`lxfU+odKf!-ah;t9DMw@Df=peRn3zlj)gF>oH`=?UshOttb+op(-kBIV?=w`= zoyF2(ihwb?dYvI>ef1T#v+wRdzh>bP2oWpwQH0foTDwRFO7&eJ;5Jq}^Dz*u4e;g&WO&4xCa$)Jge z$+WOJA{$2A8fhs~IE!|!Xd!2@g2WdimE{H73bdM5#WO}H!^td6kkWzmX)|+vMS)LglLM`{WA$!X0D+ zh5wpQzVpJG#Yb9Bh#kF-Vvh+^S0*MV51AKkg0k8~Rh$;}YZ9BV-WloXVH4@nVr?<< zhVrR`PKxWnyCT4}16T znm8E70sNL12|IC;awnIZA+EJP7u~;r;UeSe2R9x|#348ZqZ}5l3ILKK^r;uD&xYJsPtDYkwJ6T4 zhhN7EFQryDiwHfkiRBPlT5)FaHM$!Pm)o={yj~5;$SVLyPOj1BQr2d$j$=vol0xg{ z@!^g)f!8aZd1Et+P%e?E_C+>_DEEkCQDV7!RK;>G(dP{Sk|ebKkXn;&2JH+fd7^q2 zW!CG%@$voD&C+s+C0~leN=*%$#KR@{2%&@HiMzME`c^_`1^`H5U-;HOnRAGLHMGdf z~eIe z6v*LKT9U;#k#w1O;U$&T+tg%<4&Em@ti-31rec|A2& zTw$kTSiY@I*0b4=d@v{><}Qr&7!FniW6NY=vQX>aTD8u8B5S0FV}u)63Id ziw8%aF}XA3&Y_%CLC5#Pezks3+A7zIx^CnZLpO_!T0x@2MqbkldAdYpUc;Yr03ba= zj;$!o!b1S3DZ=Uw&2m1{@pA*VIA5@~JW-oa1(a0SD(k6ta7e@77*qSvf zw8d-JOXZ?LN%cS9Vaz-0L9c*aApm>=Ik!SLO;guCRy@yl{qe_~y;G!k6$&fB678^2x8z?5dBn!c|r2UeVUh-8RY+w3^ zchq#JEi2312F~Yc=F;5mP55RhBO%s+u~LcdnM??=22@I^7!`{UVhLPHwdu|cgb-`s z-qb1;ix6TBTxp*Ms91y$OW@1jt8{lPLWnhRSCKxJf)HX6sJiImRS6*$fuc;oB7|53 zBK3+8LI@#*5JCtcgb+dqA%qY@2(cb-A(P1z6tE&Smoe9I<^fJ6QF{f2jxW$#$5*+5ko7R#DFC-g#kYQ?=*9ygZm(-%S+dN8L{=8FF zB!r>7U9bs`6j+fG5^Od>oAFe<)<4`um@_G-eTF-{i_GVO2XJ|aBRneZWV?3@p{}t7 z|4l&(F?b~bH~Xf*E#I9isKR_)IoW{-FSP7t8~3LjrNHE!@D8)L?p@MPx`p?{a8<9l zKQ6ov1;Yt1-ULe!93`+KqcR3<##8Y%CJ1c)!D_x^UHNXXK0Fev*5Sb3?n*XM#7BbV zm=G-IAXs=J2vLNwIRtBIUct&c+1@OIwRnH9zOP;E1|AAll7jUNQe#74LLX!H%PkiL z>%L&sULGuzBuSj|k|<-pT`<69d~&b~Y|QSCex5d1=4V*^fUz0}lm8Pel=-cbw;wFb zGG_15Gprd?BR1hLc0|E?tzhj3*Vi{;I%gjpQ4W3B*sVT2Sc0$^TncXcHXMuzN9`8` z3)4<#22B1_u&(wJFt&P7c>BR}{bmB|a0=FJRo)FtWe^NH{Ym&r!NL>9rd}8K=Oq|W zE*<`9f)!Q`k~hAxAh31i`N0CQT$jP*{{#!eEDK{A>%RS9_3RF}u;HO#%~W8!-znRA zBpa@|?QC&p94x10|LOi}!RjJBpX-RdWL;PGg{guSfg!&6QLtt3dBK`w{=srxum+5X zhphAFgT=e-GUE_36s(!@I|M^VK|tC2sr!qMgSF5GV@#4%4km-KSWJ@9G-7~0E(O%_ zI5%Buf&&vyQ8s1}Cw{f*WPD^?AwL`}QI$-~HGeD9`b-;}9IUTs9H{|GhJi`n!aOL# zNYc@t4Ex|2vTULKoL~V)1r}7_X0TjO4p!S~3RW>>fne<{vTpI3ElCutS?byPZAy(J z1LI(QT*cFD&3C@NawfqDdN;$t>(ICJwXG`|hEzQgiFyEdtLqEZ6c|vBzXrctFLiQ7 zxCM_RhOH_LNm|5E5QiuE=;80ni@mI0gd6pUp`pS+YH$(&gJ&xe(T!nOx^^Dg!pXrB z_w|GAb6+jelE5SokJc{S=j+|Vsd%%oo39XuQLS)FU1B0!+O-%LN*3t-hA8xH(dFANgiEaikC!ySh-#W zgIf17N1<$J<0x2IO{Vo`Qo)CV1t}-n@D7$#Z*v%_*2}R`usR58siNz-efe&%yydcD zdi;CMhF(clMfeAL^A$}m^giQg;I!^Bj+f)jY$Ml}!9*&jv)M{pocy*1zSApc&3Fu9 zfO}SKtW!3W0)WL|b`~u6^+TbQ{bK(C&1Ci5s%crMv~qf*neaTdNrGDf zbz_!vVt@3TSo9b_b-kI7Jr*oYuvIY3oOLi0S96VQAuj>{YJQbaNgB)FtRmD$!4lhL zF91}J8z*UHw4*=loZCw}O&G`b8Fuz0x*pbJVh2z>@nR8~pjaqTU_w#hjS&PIc9x88 z>NYQ`oBrW4u}ZjfBs&?VV+gEvdYfZ+ zb1lQZ3Cf+BgKv8SIljUO*W5)zX|V>XXj(AA5{M}a=G2)BXc_XmyR0K5YPzm#4_*qa z%lYF>jTA=lSADaAwHJiQ4QY#lwl?N*~){m5SUD1iaa_=T%3d!cZLh<3r zZiomex~brAt~0-ckfalx5GQQFzl-k|NQa7%p%XEjx-QTHNyb_~{|A5-ww_1&!U;EE zeU&xcN~ISj*ZIxPh61LvXxTjzSgt12j)kHIY0Mjntq2{A%fG3~5wKj9cao^+?=P+g zY+!lbw7%fpdK3Y)11qC`fjlMEl5BS1{ZdQFVa4ekC&%SnF?GagByuOSxi6`NHqLQ0TIB@tax=*2c-L>H4WbHo0EXmetice z;*V(vq@}1{$DNrGzA$atB4Xmdo0x9xX z(-A012XKcy5s+pWngo}mR=6Pn(jOo0bOcgWo&~HO4W4DKVKl1QfV?^9K~Lwj({{ znT^Y6P!ov<;V0@ah)e~li=Tick$*&cRyPDHZx6^=i3B7>l$IH=(0fU;=DJF|6`4|& z?gI4x0YA9qBv1z#`xzqObCJFbkoy3L${g!o0t@vP5LJH~u)+^CIg$qjUbisG!cP_z$&0sDBn4k1*|+Z9kk1m{ydl1-yy~EEdyFxN%=glZPDKLJ@$j1d0O;&Lig!40&0AQ%xCs| z`MpHrJo__UVQR^myKjTV55OXln%9ktAMqAZQTHe3c2hTv4N8)*11ynRYMMg)x2N>O z=6%?+-X*sm_XJKC`Uo=XIzxhovPFDIZ)c*2=-E9RSd6BMrXNk)+Djv%TB(1%Olk!0 zl!9T){E22(>m9#nTkI?PU2=s~EJh#nOaK;9u(Z0}Q)s@Fez-5v+rxgfry)}trv!gA zhxpF%;ZDD)v{bW2`*m8?<-Vx~AO5_J;2PVMi7cbwt_6T7)KUysL~8tl(;XqP?zKKR zBgCKObgv@lsxyIw0$13|wuPYQ9Rn7Jf3alaWqgMLA9`4BBAmNzU?ErzTX%~Ar0-j) z6hKUStwgRxGznNp*;XxTW)bwPKPw{VbiWljH$YiLu(4yCyKe}xGBI(3@W$%u@_y;V zQnLtk?SdRUf^ua+Cxg)CI=22+t^aa%-+8+TUC#hkYRL*|TsNTS_$7yc;?`Wiw+1j^ z{iY-R#LC6f12h6wBoe!oSp#p2sAn~%k7P}r-;yA0e~x{!wGq9MW50wh;b-dDn!X^t z4SXMgC1z=h(^(r#+5NO*pY$k8#Nyatz@pD&R}#4pCY&c=xuG*4P7>M@IC&R<5RkTK zm40uRHa>aq*+creM~%M37r-JC3)TD6)5R&k3dNAA%LFzDZB=q^pHRkh$;grSHg8zP z!ZtQU8iO_&ShZKoLT%xUK0+6z{vGqSyFtoC*Gl2qh{>*33qd|g@rp36eI1s)_FjE+ zOF>8MZcpWb<&Fa%)_|bNdMo9JNNxtO4r)lc5@rJ{D>H+;2KvDiV3kE!Tl{)FZNOug z0V}dTnyX^PUh5)a)KdA@U=pyP%@C6d!jd)eR(W8pi~&pBW*3_hiiLLVrn&~ytwT{}yN3Z&+X$^+{?Z10M*B^<9%fLK(U9Iy)ecB{`* zW9iJ9ItV&=tSNu?J@&f=pHM*T8D+%?h3xP&0AP;s(Ja-D6g}K+tnI zEgszSmT)mk{{%&`ma0|atk11lEdqRXjM^2UHS&mRX?6+ubnLKC%Ds}%`JrYL8?ntL*^ z7^hhA&g}YD5EtZdpxeOO^K;vU?jCT!S{_+RR}vj?%-N~@Mw5o*hw|m4#KQXVIz5+| z&p6}afR)DVM~nK!nXv5kEru`1q!o`wzzW=tLT1Q{>BQ|d<$f`f8pD3d&+LzcLp@K; zW&n}8OyQz_39N_ktZ1Blfv?h;&sI}dNYRnH&r+z(TAzuY_3H8VZkefk`AKXh~hkJO)5e@D<1ZdT6DKz+f* zY8@@#V3>p+-}iuHiOayO`$&V_@~9?-8`v`w^e+%pG0dU4lp64-sNiW1&jv9T?}!7@ z{~jCCFgtrv_xB{V#v#K zXh#VBaGtSkYWPYBGTtDm0w@`EsaxE>d!++wA}Pp)sc(-A8Rsb2*<7^yl_5Er#drj~ zT1T{q{=;v6xm{h%Y1N?3BF%W9g#J+tPE}wT(Q|%5EP5%T zaG2N0!KEu197iPy3MPTh2o3I0diIq#gB5b*a`9wPHO)qjHN zl-Vp%f&T<;+Tufrhx$JW5cq;?7LaW0@ZH8W%TUj}o8}@-l~Va^G8K+VqrxHHZ#Q04 zJm7!%2QZ5&SCQJxkbDu38-P>cz(MJ|PmuQMum&fiP%2xdHmS@H%hTiF@ityeBU`xH z-$hvKHw|z}+Q467e%e??G%3A23f99en+nR)lYZQ<4BA z_wDI}YRZ|w;+4E72BHiuG<979(a~fZYqLTXX)fY68>VE*iNCaD*H^8IAr&jAb>|3< za$vL>n(X*I$}pbW(Y({pH0%HCJ^62z_Lfpa_Q04_7iQH|dwRRyH;cfNP|+4kKt)e{ zV9gpBM&B=x!u8)LIc=vmZBG-=^k;MpXx$b*+q|BF7&t_qB)C~j&x%3pjtrU_p$-$V z-jqu&jkSc8$J=08(|j>pB9drX)m%3uI3%4TqZ6+Eq1t!RmjI~vhzbk}VTNAJ(B)ZS zndQD~b_&sD!)zx+sjw(2vET9pd%?qYf(x1!!KIy*Y&*jnxM9xL*Rz?hi++3Ky;8=s zL6qF_c}6iOW@u3-SLp20>Z-U(jqhG2Yzr?UGJFG19eEC;L6jMbl$AQI$njqk3>~!8 z#{#BOfbLQ)-uMtD>;{s8Ry1R<-uNV&w~f&}V7~yVq@)&qldib$h!wAsJ;`%vR2-@OGI411CPY>A zt$7xi-*YN;9n7Qp!*r?8<{oIEP$e~$jt)~%+6>ATG|;=W-)#@OjuxCBsX&#iBqWU- zz~qmY%g4_0Ojrg(vnt?C-mSbuWn?2{-67n6u4t|=^w0&y3{(gZ4N^7qhFI?W2Fpq* z;6(xXP9xZxCo1fixDd6}g*H?NBFt^Czi|%O7Jh(2YF&axIq9U*(aaE!m_PUY^JTZ~ zmh0H0fFp5Ts~~mor(->~A8z(vF%`C<6%o`B&zyYO2uwvw^Wd|+mNhd`LDhR9Kw?+V z$w?5?7Y9fk3JI=!duT(4^4-dg?|$bi(_pt1fzAQ=IuGA20Zy1uG8Im4mauOgZ4^g) z8!DS75$jjugxD*7WKfH_jDDuO|91p+nHm*(u_af!-@rh2ATcXp#V$l(=1arwR>lWv zVW!3Zl!0HJQK19>;uvql3{95+IETm_Zf9o5dj0~?FR_5R3v@bl^7a-Mq$8Oy6tDjP z54a`utLP3M%uqEz;N)e)BJ80P&+)W3k5A%s9{-&dZrC{9#MAVf<1WJuB{>NYH(sIQz$tLx06Gx7c{G9i;G$ z*UM`SGsWGk%yWg7TwDlIt3&NbL5>75s3o-FE{lHGJH6_;I8M+k)n#=s-iOdYGPPnL zwZ_qFsn;h|&SUe*mQUz=&K6b*S^;|kn&F40#_A&q7~#Xnmd{+zlZe-gU4-AZ4FY?+ z75z9wqtDxuZ&ePZ>YpScM0DJ4Jr^+dNZ*z1Q>BKir?%%!4@>LK00%O^>aQ&&;7MTUb|CiC|LX5PNv z_=rJOLM<-4@|ox=?TQTi{2x!OZD@(K+2pxSS$WGLD!|}VxyQ9+jf~>STYzJ{d{PJh zL1}cZ8_e|MM(v4^IGoaY9bt~0Lpy&hzpSdor*4fbVL&?cv(^}qSjvW-DNxw539tY6 z=!HVnf2jeR4A7Y_Tu3|3_ld8j1BfIio&qe2&df-|x2Q`U+?rmkUOm8s_plTS@BZb^>^l&|1Lj7*V=i10g#;M*Q2I+ccc)wb+g)Dr2OZ5+-kKo_t}& z!5chg)^6$syrkd!bywxK5OFpI;lr9~b*^NPON68tDliatYRn9fcALE1NTEOpo#3bD zIK7G;Oga^cDA>+Jg@{l)w~QdAefexOmi&Mn@(v`Q+`zNzcr9U?dW1 zw7DqUGjkTN)f>AG2My6DbRc{rDZlKDaE)z*eE@!>{kpVGJ&&j~nTJ(;5rAp;5$aCx zbyR3{g$6((PV-8Hx3?icoA})>u&{uxh*t~+bj+n=6x31aTJRpW6aerS`*-Z{QJ^9{v zrEg*}v#f^`K63rfmWx9Dvy zzws$3fRd|L6}!{86V7dR2tt2R|Loj03s!Yv3n z3qnq7!}?&qm*tSGP2$8=nqs@&Q;*2I&?+)jilpok2N4r6{Zsqwyv+(H7 zw=@lMLxL{Y!=qADP)7aM3X6^?2RwE6{Ms(=jG#$2d zz!=ri?81tK1VU;DebUTzS?k*Hdf?+%4^b)GYcC&u4j{dy7mRs>J z#6}Nq=Ph48%2Xp1+%ky3`k%~u=G+CMSaH_)O2{skwEk5j@5-CpLZllw_p4p;eqXuz z3nx^_j+W`Y`=HCXaq3k*08*d>8my?j<^CP|kL@jV77eK=%Mau<^L@^0`H*|7G9&)+ zrnJ#AsmBRC=oJ}`lfc&2y8~jpkPrJ&PImxIuuh-9!2Grd1-2bG@&73q{vp?NC<6Kn z{lqH?0*PP$CTkPlq5VXNR9%KHrR5#kw^mGxL&T|jO`MHR;)HO5CN0)=+iaYdE!{6y zOiXWdY4fIm_3UOz4s{8?+4NiEQMl!I;jaVWcGPBZRoU~S0@slWhKtmHmPy?B1Icup&}fj2w$URaVRK zZzwFEZ&6Wu3pg6(w+}v{Od~AB8>TJRIE^?`Dzra4^bE3&OF>U7WDI~{xfFg$BvOJ|cleTvPUhUP!`2eZ5S73DB$n#m>5)|}zH(!n zmt!Or>5XEtf~494lm~q96?{(ST4>(N&gcA4$}vT}UcDU7m0?1{;!3@CnXsq_rjkzq zxi$#2jo}CApFezAAn^Mb-01TloN%rMVi#m# zAe-SO)(SZBM`$RBsRQP2%9^4$NFdMB4b=$$aWpMy%9ZPpK_kmPgx*XX0FgJ%;gTqz zo(FOyd;7wsC;Su${w|+Fw@n2f69w?fAW)sLf=7V&1<%+hMba zp5Ty*lF6I|yMseS+SXE7_ zaL?l&V!@Pui3Xf%wDm9tleoD)R5yYa54cY8lZeY0&5@&!n)nl~zf*IFb_sn%y?Foi zW?VowHOTzcxBc3*mU$`ao4^OZVsg+_03W=MPPCd%yz1o>9!XLTTNSfWhgz+Ozi9KG z9XA=}&Pjd@hx=xYw9Z)L^5RF~vvVD4Y?-+$u59(3`0L5FU4zC|M<(`1B0+Yo5&z9d zyr!wjHE!88XYu6QqKB2>&Q706_aB1x?&exOmF?#Sr>a_6IUXH%?l(?zRXG}xBhdNa z+UcVbv}0`9Uz#7;1!%d(6;si6WUTlg^;GQ6@v(t1-(?BAEYYCS#|42F;A%p)0c7qR^FXltvCp!Q*IbTP?&hw6C6)QqD+ zbg;WBC}wq4%{!p?XnprYUpl|Rzf#2Sr)ha0`*QK$p;7&flJ=ge%o|jQR)GG2OWTZ) zK=#F7yLZQanpDYFx>}ZwV86W~4@*@B8XD{94wv6u+rtTIt~TV{u2vYc=}-&*d@np|9s%_ zefB|q`f#1(*1vpAeFc8^Gei>`)ODr&TGH+{D1v&W+;xTZ_D(}G)=|}k%|xDmrTrY< z#V6YpdaeA*viY4v13#&T;c1HN8EKB|IX!AR^jCd9*ZjuW@d6!YC^tfsc`Pk2Hcv*} z8mtlAh`qvre3q}W2JY#(rP|v2hYwu3K{@(B?SmZKf6W@ry}oR3rYZYP_Hcu1yKc`h z`3(c@VJd>~zfWj-M_qto2^Qc^7;QXo@b6tEQ)YK$R%CREOi__SH!~yK8lwzYE0d<= zc=XiSbY|@euWN6_$GNlNEbHoX7yJ13;+`-KZ`bU5`_8+qSg!v+6!2k2^_*)Uvs*Sv z4a9WsAqkcpjL6^jMu?_tN`MFgeKOQTxn9_vd@@V{!vzK(jys@|)0^vgPA|oq5?E^( zz(w5>!L$#wksBvkPjpkQr4M)M*(RUR?_e~RHk<2>m|`HRIA@Bjtu1%Tf)m<=?hwm_ z2wO5B#Y<`Ovv`F#GN28-GsDjG62#nWafk2eDzO~&a-i79>0-DjrST%}fY;+ibH`qb z>&qPOLr;n4%v$1q@nt*JV1U%`RzWN zQ|N4=7=pK=t&2p->Bgd%-bD?~XAm4$=xaM8@a!;(_`MYTA0~5i=%iAtw+*i_uYn%o z`nK6LBHIOhodKYwB#kpcXls$8?#6~9y|!v3E|`x#BiqZp#vmx|qt zdw06#l?*cEka!AQ8IVV~HGa&#fSiOykWUN2r-Vg3dPqviL>dB$zBZmRv0l*8dDI8d z_QTNhq$Qd2zi;*>C&3ziA1Tvor;0Db*>&x9>vPA8iA9*G1np!qUvy0T%Vvk=|MlI2 z)DFeG$oEq(df?{WHiq)CX-N?aSg|KOhF)4}=Ft=xkDf*rRNzsGVW3iY zsuiUhc7Zj?PwLTm{;PSd`|M*kaSaIML|MepL1!wB>SkGd$yDC}V|kZWF@NgJv|8SV znoEpN9br%^%Li2x_P-;ay2}-vtw-Lhgy6CmkoFoO1l`hnJkn9rRv_-;dSF!UX zN3kBt4B5ifB!53xXGG1nd&_dXKv<|BL#f)4Jg%%2|9vnqNr>siEGp`n$3pbrshvwX z{M&iT2X&cUOatDp=31(FOGHWBt_Kkq)ucLUYE$W_y5@*!eE!F1M02RUscEbbqO;f@ zHmTFfOdeBwBa!N|z7ST(Dgs|8@)~!eCk}2;bdULHCkV73!VXj&yzBgqt}+Z7p4NMW z>At*aVVhS#lZ)ynaYRO@3!Ht~rjZGmtH%!{pxd*G=jq^rTgSQWj3Y7@C-6$OVOefmu zg`WaNoKun*o0d`>A1%!J4?g9Dx(*c5^jTFOA~QSwG~V~_5ZnLh(?Heza@c-TEY_Tr zLy<+cr{IiDSjk)a$>`Yw8=;GZCN;L(Tal|>9&JJ2kU_YNd$Epb1G7tPx@*zepZ)y=q##N|o< zan_Bkyct zfY?^w@7S=!&l3+xtMrhFT*|UP&PGcX>U8EE#RBE%9|tVOhDaZ6P59ij`@cy>n4k(WxJd{vkZIRWk1&_6DnfU24VxkQ(p>I zQR(IPtqP&>_N{1b#~Px%R?*~7qYTBwpTd4O%JBUrPny4yZ%-;-r zE&e7L^b~PSm};1p_wjpxV0v)D$p_GK0P~I-{oO#ht`yZd`aw2t#5qi$UjNU3qSsx>>`Ju(PQr@&aZR$ z2ENL$0M;sigit5{H1EBdEP*GG9rYtPMxCCLA^`{fl2+W$~4%6Q*NE6$KG>w!V&Qihg{E5svwga8o?(x;dX zk4Ht5#qGN%=G?~mZuc&E7&4N=cYHvyLZsApW``o_?btV!C=A~Oa?`)MG&7{Ho70)z zN+^9NhE+i~i!rXXx5%IvV^6#DTl4oqqI=WaX|jC1AGheKs@4C5r`v-UbXK*{ZubTRDn*GvEcNIYoV<;tSM>O}R z!$>rF<8pPfclkG2e{o8p_hrp1(A+r!mEl)Kia>oegv!JrPuUr)$E6CwKXL?^C|-() zi$~YFJR=F|F+-T(GYg2i=#kVjGU(R_nR)K#Or-ZS@lridvsUv_I#i~)8grZiNoeS- zfj)HHL!t~}rV0aXuJ<#N)hoTDGVAD3+h3I9Aap@KgjWe$qHh8S?~3PBmFLl+zs!HA zVmwQO3)yx%89oUtYD}(~K7R)t{Xt6mu>Wcf(-DRvgB67fa%Umy#CBOA2Z;)AZKKOy znZn=yJy40?4P^za(%}L%|ImJA7CCzIR`1?$ynD|_%XCor4{W)D)k+2}`C%NN>9l4S zIewOM&~5b*YGn?h7P#Sg>w$_lMFImbtxUL6MsNU4C_o^EjfK{)%8`}&I=nEZ*kY7q zpa#3m;iE|w=T-Lnp%wVw@8#cC#);&G+n{R80Y{zoR!bsB+D9 zU9u}n%EydX$Vr&e$!xzlr;D-BDO0)drkefvn76zszv*QaXRFWsjJ&0lsPvJ3RoS9& zpd7zjgNN1U3~>Jscrb>SMThT--i6Z%(EEgz#z1B~)uLXv>_)HrFBir>V4ao4hz@ju2;w3w*6u=$Kn}_u7UFG0_1~Ki<{WJ=9eGhh&&KK5Adxu@Eqd z3t{h&pJTd`51XA@*s%53BhMCS|GR1=EMi3;@RrY{&T>@75TNd;BMR+Ppgkk%C?KQi z&MrpGzJghM%nV_1pjZ~V1o1c`#VQFys`&T5v!?ad>wQ>hcO5TD5OcaJBXBo$qDHU( zv%9-%gwo=8*X8=3o~f-k(MJdG zy5t~mhA|T*XvQ@2`3F*r)7CEMcCSvZ8#s>SPD!|y7mocI|G!(`lTOsRF<~ER)ZPLU zh0kRV-ICm4QH6q*3qOzHTT8$29BulawheiWTi|rQ+3))cKkVF&Jycn3eAdJz_PD3> zvIi$Ri=|+d|MF z1+NaDrwQPyo15oW7tt(zHjG}+(=dq+h6V1*fB}h!>?ItA!J?v2?y5hdnML6^rhk-S z9o-bBAKt4r0+cWB=O`Ot?NiWp?df+X&5Mnt2rTjHp*t#}?cl0}{STm?9xBmC!gD59 z((3%S3c>6QUf|dEj7ISiA}b;g+1^MaWRNln&OZ@9lD(9S6zg0(f5mK?rOR<)S{FJS zf3RMw@=6P>qQAPN+qAnNyZu>p;Isv6rJB%_c+ceSSFQ*sQ z&xtJVbYuA^Kt@OcIj#M)g!|ue1RG_W;`D4cvm9#vA$^n`dE6nY9ZEzr`_;%jG4xM- ztlBUc=9_d3kIazjqvTz?<+EXDk3-}25QLZ#X}C+;lZc7?hlbnHfzQXfNSk5hQ}8!wElET(D4iS%ct>~>qX8&<(TP@MiqGW(^Cbm zG(O#E=f`9yQYWo8V@A`|=q&4q>?m7NRG>Tot`anh)K`r_)-iT(MHW_~P_MTid3<1p z%YxrG!8O5NcYSInE@P5mk(h!|azAYcM#4h0*u?Hc3Ph1OD!MVhjCwNP2fnm{UZ4(DG+JBC}Oy z=y~}pNp2sU66D%#Zp&(Ynb+GIIp`Ov%C(palXALV3bO*}K|}k14dXN@dK0~e@b3qo6NfX_eXv6pgAlZlSG4aGRJen6DQN(X3#GtlRidvW z`_ZdWTV&9?S*x^pkGNFZ^kqQY1{`KVV!LlbbY9BSkX;OKbQD`FEU%kv{Qc{sHoie} zgpF$7+8xYKppO~JZ#jt9cz#66YuHmL=;*QFh+|hD15={5pzB+Dl@H^;L|}$iwR<{1 zi$4C~Z{*v8U69LmyCHabkv&m@yc!So>py#DT>9Sq#b(fHwVBz9&hu4i66D4T{R<;Z zi(V+?b>ZC7u=QTL#m;dg3Tx+^pk@Xu26@ZV)T@IQItz_ z*o{H;PO|GSuFKp&2A9KD8E9%dy;q!0^UTq@9*16vdeVM88SIckMHnFj&#o_rqMibu zhs|Y6`TJWnM5l&@ZA9Sa7`!ES|2pg-Wwpl(MiIw8|2ug1UxtZ(>gJ#BlNK;eCMH>4=m#pl zo2n5-ROlbufQIs2s_L`G_1~FoHf5-Vp&j#)zc3)$@=q9Vj-}|K7^Wn+V661IQWQ!+ zZqA&bU`r*93w-%{!FGv-CV{4>+?dQ|0D2sFS3||4CpBKXsbW?DKdakkJ*L18>nm-f zlovanaBDYM#FZT3f7-GFyScJ!Gc*8$#CwiRanC4 ztF8(f&W*Xi08st*+^8-3X8@8df1?&tdi@X=xeH+=(E6o3&Xv=FNs?LbzHaej~+y!OjNb)HZH12KdcAv9pnlf-WLz?cAaJQ$B}PS z8gOtmV}n@%qJilPzX&%bc%S8k|H(6RUU*|iud zy7ugn8150Bt3{@;+pZ*9TDBa&)m9{s_iW^0KQ6-J)Au4=@NO`UKj?sC(No;x&9n|P zsF3@zMBTRPu&7MT~cN!r__pvqUp(p5{IZ= zQ%J}mAmBnQ^EGW*(Y6Tu%Y13}>@$Nrg}5vALMH(1!jo4a!^;EasFPK(g@nt(M%I>Mn)} z5e)-iRSp8P=zKJa_oCoAn^Xdb=A4j72jdSK?v?1f7ykioIi$(yQqT_3|9CNpy z9;Vz$#HKGuprzpt&>|#N7rN|n7}ejj01isQus+IcN>I;aIxKnob68Xnw$<~Bbi@fC za_0&Yqaf0ij^lp`*7>S&mP8Q&8@;RO1eGcuN4yHDNm zS^1S;@zvg#*hX!qe`7#8ABn&y{h?7+am~rT1>}f3NO1s1J2Za8@D4Gq>`CF9b#Czb zmUrRuwHlIMtlvr&C~#L$y|VAzVaA&)T&`ODmI46sM#pKtvZFqbz=TkEqt&E-B$?Bc z*lE-o69&9-P4*(;{c zapk~ip{RPaY)?}Q&ck=-nl2rc=I=mN)WzdlhnE*~Ry1i$_JVtRHJO8hu#3}Rq26TD zep}F`%`Qvhdy-3uAUx2pB`kR^NOqe4bn-2bSO_IPN&*G8HrO6GjN2m}ksEBWb76sO z`SBa|<0IVCdy^3FvnX;`#pV_yjpy`Liv&NjQkXU|k@S9fbq23uB_^(oLbWVmN&>+M zpbrZ~HOGD?SBSwoO_ktzB~d{U)59>|CR<*!#6TL*R5Izd!d*LEsLvn|0cebRfW3Gp zsT^rY(Ua@9$j>`r6$HIt0(xh0dG#eo_}BUC&dvDAE6N!Xr%baQRj}@wI6`w}Fe-43 z&X_n<)bjnJ$Ksw}B2QRUpRrzyBu#V(E~t&}!HvfrC%49}CzM!Z*AY{#Iw)H($0`~o z6R$i;=~W2#<73|C#YzuaXwT1Qy{bkM4-BSBkC&Uu9DB_RS^4z%$6JYQ&# z=hU#Zz0jArHzRy0L0c$q4FC(EIhsX1m8u1N(BGo4sFR3OMVpYdu>PInsaZe0xz}_7 zOATmZhjl>Ao5vrwBiK1hyvGC?GineROmzE%dF{Y6gl$`V&!6HruyE@H8YtcU5w5%3QWLAmuZro8eo-IBtugul!6Tj>smtftkA z0JPC!t9!V=$K6oo4d{aJ!?M&68AFuu#8@WEJ2P505csq7(TQ^cus)|?b?^cDMs5?C zk973C_!}TGY6O|WKW5qFRb~}|#N+I^BkZ5&NIpW^WL3Je%Jp2MM)8Zpn2;p4w&!=)A}OS1bRrG561D1HJ^_DGO`Bl$8iNkZO4 zKMNyawanYq>RoqJXkXCAQzpj2kfJ5K{nQb5ZQfK;?EYRT|5t=~r=YVS&~Wes$#;Tf zw3A~1co9is?_PieP0u6}`Bg8-8n)$fOXSY7!E_;g`)yuRlQU~rgU9gQ!q~Q5$>ZBD z79K&@k~k5d>XLh81k1sC6>eu@V997^NRGYiPVoZ8JH5IeNtWJehY*1r5DA~ot3!2P z3fglx&duip2|xgv9B-%(_c4j{DDTL>WMSja?;6n1g>m4pj;5zWxdnkh0lHY?RpNm_}V!cvZ&3^I5#R@*xgKHYuF|AI{FmC_*{Q9qBQfBGl?=B1}!651mqdy@& zA*?T->1y_y=3FN#|8~0-&0mVka^K%!TEVa99_?6npPm7*+M}C+Rv;QRw^>jq5A-17 z*%=2MILP&j;vwwuYX=FmiW*c-2gx;TY?Lq1;P-|Y#nmM2WuXIiX$2~fhO)tk!;2`U z7I)%M?oeEtupo-q5DHMq5MUZaG<|%8e*RfoymjIY-bmG$t#(k$c5*M(nU4T$m9|<_ zNqCotXKJG}+cACkheQR;%D=KaAZpV612r0uP6YxwoO-S?{XS4lXkr|gZ>%Vx`>(j* zZxyEj#K@FXE}HT^${YlbUD;(Y(=!+y_|k~VIJ&f=hbHn3QK*Tw5P2$`-hXc*$U_H`crm1% zAOzf^8_{Cl1y)k|{N}x6?_lN$W#aqu#j}6sD_8#4i41w7P&ol>^i^b?GXL3s;q8i_ z1Dxx^{HhILGWt!lYl)JmK!oEEQf)uIp3oL27-4ooc;*Ki{M)tEqbD?}`gJ70gHdumYHhV%O%3edo;4s56!frK?6 zTG4{(TQDKWt~iY2U)yE}Qq!O!Oe+Aq#!i(@hp^)}zfhu+ zq+9b@epphEy%R2bHddBzoD)0Y4drn2DKd6k{SK)u1zj=BT?b*fI;P|NVh=_y9}Fwh z;u2s9&DaLnymo4D{$I5rEe#4T+#AGpdl~Z*rq5KMfKQsgN$Ihy*Q-i#?|F`um&Vk zv;}%?*e8C2)K!GKb}^3RILY_x_*yb&%~^4vDsvcW5q!o@rd_R!aE?41PcuE!;+5Xe zsQf-`PiYfn76rjIG^=TCHo6YEoM&%67F(xc4xKwbj@~LD=yw7@8G+j*poFZHMhbmh zm@)>8W2hBkc|hyE?ak#d7}Kqg@V83h&P3*vd!fMg5`B_1Di17DO*QF!*+U{;VUysr zLl5DDq~4f(1t`x~U;w$Er;tcOQ6N69lqg96W#qTIFJ+%>^{D5rz@OxnOiO(f@VbpU zSBAuwiz)tP;2SJAFq&T(V7G{`gwjHz$rr{{DNZJEGXE1S`vDhj^R>-cp1+#t9(FO4 zzR#=pM41Utrg{1}?49nSI`y(`2pArfH8kPU7~Es8GQWu-*I->GIS9?~dM?-ol&fB; z!FdRN87w=g{%ryr&8~dJ5+Fs%-@7?EnIj_L@y$QbU3*_TNXA#U=x}X}%FNV$$Q|VA z)FHYgrB9Oz!{6LJ?JPFc_#2&fvMejR%@tqwcLnu`g|~m$NH9%D)kA@bv)Go$3c)d3 zbmj9s+}pNgsv*f4p8H*%TmHg(27!bMUcp}+`3H-~vBpl&nAihM_nS=n`%+(337Rar+!bGb(yY)ch*Xv4 z)%rMF3_CzG{gf(QoAKRAkFJYes@WL;{T>}U%s>36^^pUuqit zyQi--T5B!!u2_UetT=eW9hyA7W*}le(@a--r9bm7e_1fJ6*$cZ>Q-7W4oO?&QPhj} zYt8L@Nw7==NZQ)pGzYp6&iHGr6oQ2!?$BP1x*tWiAJ4ljY1%{Oi zhaX3k+df*{(44JQnsXg<{>*c)IC~tOHB=Y3E}waP|4Z^xRMb(%#@cp9*K{VJQ`@`t z=wZ=X@IOrlQPj@iMX;&~B^+7|b!bM;GhU4rde zN-SqUb`=PrD76=>$$aNBPY7IJF-A?7eHc`kCb0!OR?-%cj~Yz9(hC&?~LB zEmHDszz2D;X?RLiaXmU9CKnK8=JY`m=Ni}uj`-g_Z8qZNWPIQczgdS4ScO)P?f z&&o~YwV&&L=GDn(Iwx(8v`Ea(Yc+Mh+(0XYTN@5Od36g)g-Ak|s52akUxPS?CsLd^ z4Lc0F!%#7d3||nRME7ssQXoF(FSmL(lRB?XH9jVeKBz@HB=THO6fQF%dQbjv(3)pv za1QcvAEVu@zT49?j9&FS?`yQdt5lfWE!4nAq>B6xeF3*qm_3a2r14E zc$=79Ehv4;$fU(+=ugJDIFAXz3saJ=O>4MItAjvy;OR0i`lxZsB z&j$qCkr+j+x?j`2t<2EU2e@M*emABvF-0zI)*+WeCksFTMTVm-A{ZIu3kZ^zlO{p@ zd)#H^y|M5e0o->q`w4-k{j9{EonK7FsQvMG=~(}-9lmO2z=nncn(DP=fp5M0>8)Q! zr{RHH*YjDk>Z__&><@jLR)vED&U1!RhJ>u@sLo=XF8xcE!&gF6x=*`Ymi*P9;|yCe zc%~cmi2SoYPsazJryZJ#wp<@rN0H#oqY-8uhRA9K+B)6{aTlw#9h0h(J_%3%Oh_Ky8&~y0x#*KX7R1Rs0%$Ba*rQuF1@yBD3R#hId+b`q;pWRakw2KY=aLL^ZxF z&DuBlMTXZl{LJt0D?FD7_c?Ds`S3LVS;1A4@===b3&s>FJ*ay2e} zvC(nHmjSJH<**IeHc;hIFwAc>Kw$sI#>baar)VQ?(e4ls1rhwIbf(0XsW)87iJW%O)@n)2XxiIKK(&Y-umB{8wZgTWLy= zJ=yg5bH8oOzSDd8CbA*e{?qfcEBUp7K!AWRRxAU|y-%wBkq&Gvor4U#{@3vOdKK{= zfCDt2)b>ky(S&VvMO7dDHRAU`i#Y8f291$PMXg`yT!@2{utT4m)PEycNlNgcfH*@u zOvn)fBPEj9)h4P3ekMy|LaY%Va4*$wvMb1b{gF+NI*r8U%N>O|9_fiJ!4X`&r4&uj zM;Wp?%~g{Ajw7<4A~x4^MoVG>=h>w&pI_}Z`nwow~vnF^t>m3DxMRToxQ?36JjCS{8?n&`)*Q(fC+7WBflR%j}3gwvp zHSoVzN@z*xnKvm<0~YHAOW4i=>dL2A$&Xxh zbBebaG9Qi$ z3}$&!1RKx`e|_uNN#fjKx_V`JYxz}6W{g=cM*At`oS-alAa~xAkMj& zxtYyZ!q5`mWGe8t^JyksA7KK%DrFd14=+T=bj5d(usW4og~eX0;B)tph5Q#V{}j5g z=e%BClgomP_@s3O@wmQHX@uI9voI!p{F_EnorD4kDP8HCC9VDUDI{l@Khl{`=^LDn zzV;Pfa>B7AcSGoN;@<-QR`i(oe?NfHUzYR6|3l9cckF5H!VzK!A_b*5%LgNZPCdQ` z1t=;o17h1BUl7hQA6}CXAweF$PNvlt92ci}mKEFY88%OCvY{{HLc&6R^_(*ggWcVV zoOV|#|7!S1v)Fgux|7~oZmUwo3O~QHX6-444Gj)XbJ7pDXpM&Cz5jj#x$GQ2oSuzc zWZ6H|EQBjuJO+5dH?(VXdKCJrh&0!y!q3j zRvQeowAPx;QOIW>iTCJKK+}|Wc3fsiv3%0O%)%4L>238so+(3K0>jeZc<-F*QifNK zxhiZxvh|P)mk(Ul9*ftp9MSuMLAdOKavil4$w~ST56me;dPZq+RSWvOnuecJ@kXAa z&>WB3N$s8P{pJ;aijX4q1h~;H&GAx0_&hQXYo|^BRsK+6(w*f95k~}Nlet?)FJD^v zodmU@z|#NZm=Ert-~^n7pn$6M8Zw9Vd`!-?(*>_*e)4*Kgf8{%cf^{qPZnjTQP{D4 zF-kaWB}Yv2jaFz2P8s6l(Kd2#EMGLX?NaRz{Q)#R@@p*~H9oC9Zmcbz!1?h?;|Bis zPbx-0htcDMP2j@9PomwM++(|m2Bi_T6;u-*Qt_Gw4!{J1^eN7O5Og5Z4*|6%#MNd( z3xReU68-&u0wo&S1J+f3<2PG~{WmIN%CJT`m;8XSaBW+jiozu^L4GI*i$U&ZlZ7nN zO(!aPS<=m%pr0n{5-Jh{R>e^+D6}%-+`5WBP%=yddG2LMk*|Q2T%?1eEJJ2^=zOXs zfG#Y1jGKp}UeJujYo$ACQs=fyb5{;O{o}Ios1}t*q2isQU3NfHV zfpp%{uqo{V+0_}I!fvt~3O&XI)~-f#KVuhu1Y=00V~lzQM_I%}i59RHD^@ym&1>EL zBx0-HLe6C_k}&q~Rb_U13t4(mAmJLu35aFHBt3#0WswP@UVUfR?-#Kcsnu$ctO2at zg%^BprCT2cA>;TkYLfED{R*C)uYgq-ahA|^#?Y@fOZU)Tdx=}W2)8s&*P`nBT(^#RDW^VgaT5Ydkv4io=tA*=!J z21kIkAmIHq-4=`6ZyE+|)3jF;3-{>%MNj3hNp>glmkmo1VJ`2W=x``OM%ssXFd0~mQ((sLVBv@l zrc)3f2ddNM4qP0t1`K@Q-we8(YI1q~a30x#bs^%#VqX6$xY2w{Qukf@6}$_yvT?#Z zL*bj*xYHSb4qLGk9W3{i*NYuhO)ew^+@K~<^MMlh_<43+g-`2gy*BBNg0&3}tlFZS z+jXmId)<#AW%?VtfIVw7E|+_wC%#Qs5~?x4iM^4T<{QY*=P?`+1oshyW;arABa`*39x2*Sjf205Lm>WFDpo^3^~Ubu==6MQb2XN&kjXv!MjRF!T*mqu(e(?3`21vURg%wi%I?ud*{}ZFcQV_Ig?IXAl%DEB#I^wZXsZdNPtL6PVwnv}wq zDI67Q-WkBc(x#3D@~GnF2#-DBmWBTUuuU9RIf(H?!$U-CDmsNgNq`&U)-;!nEQW;t z4*}~X2EiK9FM0Gr;8wS%117u3wFa@5>A=dLV=3!G0tF01r1@tC7Ex6 z`l#s7EP}H<0W1g=5YyrrW<7y5x4MtMkF3CA^C`GT#`F*C7JsWqt&IYkF*9_T$WY7t zCaUpvQ~9J(09Ju5Kc3MR@^xfNiC;&+@?I0VEUmFSyQZuX4)lYc0;^cxPeqv9;ux5% zg_t<7RA%Du)5P%X*W=6Slr+M6K#At+NB~yw^?lFNqL++d4jE!hK9Y5s6V3-D0xP^V z7S@32B#!5qqfAsC;|<2ME@I@;A}*U!k{f_yx0!@L#0sp%SB&5MXbP~DslW=o2zwXm z#_A?M;}2>`P*JSF!aKxVSjJA>fURQh0{T9(0&Ab*gf-M{h@P28Olf+Q8diNThX%P} zrjnmWOBunEo&Zgd6M)6ZU<{1>6{CrR1Iy^vN}HyM=B5Da%0CmZN+~fmWg-p>Nc~eYa1+N{*qMT;9?`pC%f8fNM=7i1`SUfP3b?v~!Fk5_rm`;(Z zgge9zSpEUT!g^9}=Au*x9{7C8EJ@Na6U&gSp2^yn+m=YbUTtQ|3CgVw7Dbxlk5_-qGu32j89F$yq#J8DW5v++81o<$&KLFd z(MSM_c{^YUKU_`DCP6)wn@A_yFt=m}tap_nl|LiTeOS2JbBj$H#m;n?Sb=5u?4xy$ z9k4_@?T!PhqL|DM(NfO@tfeh@S~P&A9*ph_5;Mi;B}n*$qc*^zk9$AUFo2pU>!}JV zJh-L+>tYO8?ly+5Yj$8=4iV)SL#TrLx=-+d*BL9gvtR|*T;8!G<8B1a4lG<3n>9=H zU02KIEf%lzh7o}!bR~2o=`Ve>f@6p1`^XBczBwh_!1T;^fGNaG6k7AE67^~L*>Go8 z6Ni{Lpo>yPx*h|TKR_=}npI6rsZ)~}HKT*7%zO4{fdyG&4=lCMSHC&1R#ckRSb!-; z%T;u7U_}o<4myrJL)T3zv_r9>Q&DVz)%6LR_=RyJm>dd|?+w&>8(>iI zd+pczpb0E-BDx7umCd99+QMvGwgDCo2`tJ0-WwlleJ3n?rc4RjW57at%OE$%%)qKi zaKV2ugGXM`n=m23k;grWz#8NmDl}8*j{s|4oIF<)Jt#PEv@*}Ma`X(|z6Ds~t$I$w zGt;B%Uf)MnVEtk`-8+Cqar@&oq%R{9dR}i|PZ3)rRmXspqSu%^p6(>dol6cZzHpXf z>v9{j0_(tO0ahK^1IuX`&hsX)9ScfsJc7>#hQE_KZ0QtAf0)LL$-8 zwYOr(D`Nl%RG0u(LB-NY z7_0AAU>y^2cLcNSQD1tFpzk9qu##*sf0z56FbHB_`*1K{Q--*nfQJXP0@#|gF$Szd z$|7l1^y{lV0a$!E4z)Tfu==WHO4#@WSlXc#SQ`^1T;{-{Z?8$Uwy9TxBq8`hcMVfq zySsEK*aGWKu>)2^%mT*z{4`)~j3+f`m+rz_2m@%ZCP6%nrV~K=ZPjl979xi?GzL^{ zUQbyiB)d%+ByBEn(SCgpfK{CtSgxB8fV#cbJ%2lQf(fkW)&#IJfbWs1vOTc4Qf*1! zBOciX))7Q0=en;<1eWg@;LJx)g>s(*s}7JB0SF9D)$vIC8w@vAU`1nC#quioBfz?} z0E@lJ)tI2bt`%5kL-dLbbsRT(-=<$t}xuqBL2Xcyn8UMSt(VsaUEL4y+M8&4qcA z{Nuo4HLCGX*r#lPh3aEd!fW|+VDVt(w1JIt%h^j6mQz+>kyW-Q`fVm)U1Ms)2-J~l z%n`uXi+E`Dqt(KaD}Hh#!Q9E0fVCc^FF#RMU^Pd1?RyQ++U?x&clt!~II#L#EMVzf zZxB9nv+loTLE*>1BjOQxvkY-7upDPX0)_pU^K)SFSjv0M?Waj#iEgW3_y=UZ46IX) zyW3_3)`1r)$|iW%b*CFt$PSG}`}4peNf0xzxCYMN2f$L2AU_I82jJXATzn^0XYA%H zQLLR#0*fB0t1y?h0Bc`x43Rec31DSGe}@^>^W>inEbib|gwF`g2&`Y|i;sbxe{+UQ z$@1k)5m;!k1o+jFodH;k7z4i;DSN(qK_ zV3{A{tEo`(@$-XEfu&8@rb-ELP4J`J0c$~nKua)YW&~Cp<4qp9)pm~=SV87{wE_$6 zN3pY(o(Wj~Ieq7oxi!D&H{!4gqXDDQ7M~XBe)|A&omhe8g{EUhU^y;8uGs;LN5t!{ zWN8C^Lor}U>HhBfQTj^8nDXI-*AzuUI>LVV);ssajPk=cpa~xG$O8kSOvjB^9Fs_)9?yp8*Ia$S{0CXkEH$zSU z3$1uT>xsb9&9gcGjKD%i7~+0AV2$k8bq(_ujq;rgEFD-_Uq%JSt8HGBw-1St?tAMeZe*;Hlfx^exIh0a!TNOa!p;B`zCa zInIIIW$ic~#kRm|U@EP29N*fs0hXr;45XFS#?EUZ3Ils!F$b*k%dq=E&5okBDg$d!9hs6M&^e9A>+R^lBv) zz#YPYhqv~O({o@8EPmbOl+fUgZ&k&%z(NfP2TlzPz2T36r7W~YO9>en26=s$W-wMe z9$py-PZ)j+BN13!`8Y`Gr@-R72EE3vL8a=1?LGc+Q|E?a>?I6BXaP+JmeLubF)RX$ z#q0$yX9bpL4Wz6|EdSypu!6?2il>CJZeS|EB+kCw)|`<*Dy$LiI`tAxJp za=USPn~J1Pj}kHj=lOW9uprojz1GRgN?XJ5aDb))3+)Cmo()*!S0@BBr+HugCG7?E zksxH4PTu4~-sfjuYgi@Ifu*~#&Riz2_>Qyqg3q1zkk5gI`caS)^I`wuQn6i(3?0`is*Mt(<1B)YPw3(TtY35v3 zV4>VHU~MgNb>_AK7GJ-(pZG$b_h1UJNQOl`i1HNa){(vn@^-UST8m-uR*4>p?JdT; zi8(L8U=NAFY68}-65aT3D&X@xw?D9Rka%iF^f#2YRvN^x^Jv&McEIA-tvxM?)$@w6 z{G5pY=7qJrq&=`uZU7)Z$Kyp6&eyj-237(9tD(Tdau5T=elaV-)rrzG(ZIG>0+35D z=mTIWJF@}{IT}I0(X04X6a)Jd-)Q%>Har@_;Jo?xdst}i8RUB+0t@vuz@cVhF0IS} zEOHkBkhiX$=C)LT#|dC%>MDc=@uC+XHcxmwBFufGxCRa^*&7NxrF#})oMeisZvV)E z%03Z4L4aW_UQH<<$0R+ecWslM$$14}A=lBGli4!r!)62t!1BKInlg)-OfMmOU?JCP zK%)0>Cf>ksFK?@aFh*Yt8a;PFr>*OusjcZe~ZX4*ddY1vII=t#5;S^T|9_^O4>?> zkq9iMF>nHt{BX}Jb+4oX0P`f1l`EN@jlV0AXAUe7ffeJxLOK1qt+7VSr=#rI(PRo$ zVZebEum+AYg)4gE*iGKG_VJXkItWTw&-HTURDd>Fe+|g&4A$aDE^*?{fyJlBvjPi| z-L9A2(Oc>%qoW7ML9EyD9Z!B|0_)iX7Mk}$@SV`BFHMTRA_Xv+05#DOE~H7(@S2)lRIu} z^>jAbdE9py!?Q3<)Eo6@|K&y|o38gbu6U&T0rKB_Us-rYaSPHQ~ldqCko-AHAc81Ma?}`7P+}j)$|I)#3xpI?DZkC6%R`$z! z(}l&V_4P+Jv#4J;o-5_FI&9>|sX{AS&#~j6JgPEuQZA472%kO<8|m?uAo5bSHvgpz z35TBPg_ZhFa+vG)l%)zttGuz3P2c}=>O+DeJxgym+Qo#HP*+|yBDhT z=)P;j<{oQVR=xwB7_8Q4LC7iXnub!p(n5xjDDgb<7lgu-Fdate`dvyf`&EPk>y@CT zmCi69m%h<7=(uu=ek6(z^5vA`c?+<1^)r7UJ737mSCjrFx%``3$i75mD7(xO@|8mJ zM}NKMYZ9~-ORoQ+nkHW_m-Wi8rRTtElPLuz-)fccUlj+|kA7qo$x{E`kH&%Z!=^u` zA7K6H?-%={pPEJ&V1M)jtpAXHfc2wEkzcc$nQjn6_8YC%{{ZX%pdVoUXi_8%RMN$F z`pnbs?c6a6!ax*7(ZNa)#o{YskwUPV4Ol2-0}6t+uE4^|^$Y0&fk2uthT1t z1cF6}OC52zUnev!609;b!I}#eEsIB0y_bo$-%PMZc0R^F>SqG_e712CtWmALIp^Dy z?#E!L&F-~M000000000000000000000000$DgH7L!jIIBcUu4e002ovPDHLkV1gB3 BFwy`3 literal 0 HcmV?d00001 diff --git a/doc/pic/sponsor_nango.png b/doc/pic/sponsor_nango.png deleted file mode 100644 index 4b83565698cf552046fea3f2a8da3ddcac17c875..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12068 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 Date: Tue, 9 Jul 2024 10:50:16 +0800 Subject: [PATCH 4/4] plugin https2http&https2https: return 421 if host not match sni (#4323) --- Release.md | 5 ++++ pkg/config/v1/plugin.go | 47 +++++++++++++++++++++++++------- pkg/config/v1/proxy.go | 4 +++ pkg/plugin/client/https2http.go | 18 +++++++++++- pkg/plugin/client/https2https.go | 18 +++++++++++- pkg/util/version/version.go | 2 +- 6 files changed, 81 insertions(+), 13 deletions(-) diff --git a/Release.md b/Release.md index 2dcfc56..6e142de 100644 --- a/Release.md +++ b/Release.md @@ -1,3 +1,8 @@ ### Features * Added a new plugin "http2http" which allows forwarding HTTP requests to another HTTP server, supporting options like local address binding, host header rewrite, and custom request headers. +* Added `enableHTTP2` option to control whether to enable HTTP/2 in plugin https2http and https2https, default is true. + +### Changes + +* Plugin https2http & https2https: return 421 `Misdirected Request` if host not match sni. diff --git a/pkg/config/v1/plugin.go b/pkg/config/v1/plugin.go index 333b020..7ae4a4d 100644 --- a/pkg/config/v1/plugin.go +++ b/pkg/config/v1/plugin.go @@ -20,9 +20,15 @@ import ( "errors" "fmt" "reflect" + + "github.com/samber/lo" + + "github.com/fatedier/frp/pkg/util/util" ) -type ClientPluginOptions interface{} +type ClientPluginOptions interface { + Complete() +} type TypedClientPluginOptions struct { Type string `json:"type"` @@ -73,10 +79,10 @@ const ( PluginHTTPProxy = "http_proxy" PluginHTTPS2HTTP = "https2http" PluginHTTPS2HTTPS = "https2https" + PluginHTTP2HTTP = "http2http" PluginSocks5 = "socks5" PluginStaticFile = "static_file" PluginUnixDomainSocket = "unix_domain_socket" - PluginHTTP2HTTP = "http2http" ) var clientPluginOptionsTypeMap = map[string]reflect.Type{ @@ -84,10 +90,10 @@ var clientPluginOptionsTypeMap = map[string]reflect.Type{ PluginHTTPProxy: reflect.TypeOf(HTTPProxyPluginOptions{}), PluginHTTPS2HTTP: reflect.TypeOf(HTTPS2HTTPPluginOptions{}), PluginHTTPS2HTTPS: reflect.TypeOf(HTTPS2HTTPSPluginOptions{}), + PluginHTTP2HTTP: reflect.TypeOf(HTTP2HTTPPluginOptions{}), PluginSocks5: reflect.TypeOf(Socks5PluginOptions{}), PluginStaticFile: reflect.TypeOf(StaticFilePluginOptions{}), PluginUnixDomainSocket: reflect.TypeOf(UnixDomainSocketPluginOptions{}), - PluginHTTP2HTTP: reflect.TypeOf(HTTP2HTTPPluginOptions{}), } type HTTP2HTTPSPluginOptions struct { @@ -97,36 +103,61 @@ type HTTP2HTTPSPluginOptions struct { RequestHeaders HeaderOperations `json:"requestHeaders,omitempty"` } +func (o *HTTP2HTTPSPluginOptions) Complete() {} + type HTTPProxyPluginOptions struct { Type string `json:"type,omitempty"` HTTPUser string `json:"httpUser,omitempty"` HTTPPassword string `json:"httpPassword,omitempty"` } +func (o *HTTPProxyPluginOptions) Complete() {} + type HTTPS2HTTPPluginOptions struct { Type string `json:"type,omitempty"` LocalAddr string `json:"localAddr,omitempty"` HostHeaderRewrite string `json:"hostHeaderRewrite,omitempty"` RequestHeaders HeaderOperations `json:"requestHeaders,omitempty"` + EnableHTTP2 *bool `json:"enableHTTP2,omitempty"` CrtPath string `json:"crtPath,omitempty"` KeyPath string `json:"keyPath,omitempty"` } +func (o *HTTPS2HTTPPluginOptions) Complete() { + o.EnableHTTP2 = util.EmptyOr(o.EnableHTTP2, lo.ToPtr(true)) +} + type HTTPS2HTTPSPluginOptions struct { Type string `json:"type,omitempty"` LocalAddr string `json:"localAddr,omitempty"` HostHeaderRewrite string `json:"hostHeaderRewrite,omitempty"` RequestHeaders HeaderOperations `json:"requestHeaders,omitempty"` + EnableHTTP2 *bool `json:"enableHTTP2,omitempty"` CrtPath string `json:"crtPath,omitempty"` KeyPath string `json:"keyPath,omitempty"` } +func (o *HTTPS2HTTPSPluginOptions) Complete() { + o.EnableHTTP2 = util.EmptyOr(o.EnableHTTP2, lo.ToPtr(true)) +} + +type HTTP2HTTPPluginOptions struct { + Type string `json:"type,omitempty"` + LocalAddr string `json:"localAddr,omitempty"` + HostHeaderRewrite string `json:"hostHeaderRewrite,omitempty"` + RequestHeaders HeaderOperations `json:"requestHeaders,omitempty"` +} + +func (o *HTTP2HTTPPluginOptions) Complete() {} + type Socks5PluginOptions struct { Type string `json:"type,omitempty"` Username string `json:"username,omitempty"` Password string `json:"password,omitempty"` } +func (o *Socks5PluginOptions) Complete() {} + type StaticFilePluginOptions struct { Type string `json:"type,omitempty"` LocalPath string `json:"localPath,omitempty"` @@ -135,15 +166,11 @@ type StaticFilePluginOptions struct { HTTPPassword string `json:"httpPassword,omitempty"` } +func (o *StaticFilePluginOptions) Complete() {} + type UnixDomainSocketPluginOptions struct { Type string `json:"type,omitempty"` UnixPath string `json:"unixPath,omitempty"` } -// Added HTTP2HTTPPluginOptions struct -type HTTP2HTTPPluginOptions struct { - Type string `json:"type,omitempty"` - LocalAddr string `json:"localAddr,omitempty"` - HostHeaderRewrite string `json:"hostHeaderRewrite,omitempty"` - RequestHeaders HeaderOperations `json:"requestHeaders,omitempty"` -} +func (o *UnixDomainSocketPluginOptions) Complete() {} diff --git a/pkg/config/v1/proxy.go b/pkg/config/v1/proxy.go index 45c489f..d53d05e 100644 --- a/pkg/config/v1/proxy.go +++ b/pkg/config/v1/proxy.go @@ -127,6 +127,10 @@ func (c *ProxyBaseConfig) Complete(namePrefix string) { c.Name = lo.Ternary(namePrefix == "", "", namePrefix+".") + c.Name c.LocalIP = util.EmptyOr(c.LocalIP, "127.0.0.1") c.Transport.BandwidthLimitMode = util.EmptyOr(c.Transport.BandwidthLimitMode, types.BandwidthLimitModeClient) + + if c.Plugin.ClientPluginOptions != nil { + c.Plugin.ClientPluginOptions.Complete() + } } func (c *ProxyBaseConfig) MarshalToMsg(m *msg.NewProxy) { diff --git a/pkg/plugin/client/https2http.go b/pkg/plugin/client/https2http.go index 6d68636..3bb12c2 100644 --- a/pkg/plugin/client/https2http.go +++ b/pkg/plugin/client/https2http.go @@ -27,9 +27,11 @@ import ( "time" "github.com/fatedier/golib/pool" + "github.com/samber/lo" v1 "github.com/fatedier/frp/pkg/config/v1" "github.com/fatedier/frp/pkg/transport" + httppkg "github.com/fatedier/frp/pkg/util/http" "github.com/fatedier/frp/pkg/util/log" netpkg "github.com/fatedier/frp/pkg/util/net" ) @@ -71,6 +73,17 @@ func NewHTTPS2HTTPPlugin(options v1.ClientPluginOptions) (Plugin, error) { BufferPool: pool.NewBuffer(32 * 1024), ErrorLog: stdlog.New(log.NewWriteLogger(log.WarnLevel, 2), "", 0), } + handler := http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + if r.TLS != nil { + tlsServerName, _ := httppkg.CanonicalHost(r.TLS.ServerName) + host, _ := httppkg.CanonicalHost(r.Host) + if tlsServerName != "" && tlsServerName != host { + w.WriteHeader(http.StatusMisdirectedRequest) + return + } + } + rp.ServeHTTP(w, r) + }) var ( tlsConfig *tls.Config @@ -87,10 +100,13 @@ func NewHTTPS2HTTPPlugin(options v1.ClientPluginOptions) (Plugin, error) { } p.s = &http.Server{ - Handler: rp, + Handler: handler, ReadHeaderTimeout: 60 * time.Second, TLSConfig: tlsConfig, } + if !lo.FromPtr(opts.EnableHTTP2) { + p.s.TLSNextProto = make(map[string]func(*http.Server, *tls.Conn, http.Handler)) + } go func() { _ = p.s.ServeTLS(listener, "", "") diff --git a/pkg/plugin/client/https2https.go b/pkg/plugin/client/https2https.go index 5ddd4dd..c315c8e 100644 --- a/pkg/plugin/client/https2https.go +++ b/pkg/plugin/client/https2https.go @@ -27,9 +27,11 @@ import ( "time" "github.com/fatedier/golib/pool" + "github.com/samber/lo" v1 "github.com/fatedier/frp/pkg/config/v1" "github.com/fatedier/frp/pkg/transport" + httppkg "github.com/fatedier/frp/pkg/util/http" "github.com/fatedier/frp/pkg/util/log" netpkg "github.com/fatedier/frp/pkg/util/net" ) @@ -77,6 +79,17 @@ func NewHTTPS2HTTPSPlugin(options v1.ClientPluginOptions) (Plugin, error) { BufferPool: pool.NewBuffer(32 * 1024), ErrorLog: stdlog.New(log.NewWriteLogger(log.WarnLevel, 2), "", 0), } + handler := http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + if r.TLS != nil { + tlsServerName, _ := httppkg.CanonicalHost(r.TLS.ServerName) + host, _ := httppkg.CanonicalHost(r.Host) + if tlsServerName != "" && tlsServerName != host { + w.WriteHeader(http.StatusMisdirectedRequest) + return + } + } + rp.ServeHTTP(w, r) + }) var ( tlsConfig *tls.Config @@ -93,10 +106,13 @@ func NewHTTPS2HTTPSPlugin(options v1.ClientPluginOptions) (Plugin, error) { } p.s = &http.Server{ - Handler: rp, + Handler: handler, ReadHeaderTimeout: 60 * time.Second, TLSConfig: tlsConfig, } + if !lo.FromPtr(opts.EnableHTTP2) { + p.s.TLSNextProto = make(map[string]func(*http.Server, *tls.Conn, http.Handler)) + } go func() { _ = p.s.ServeTLS(listener, "", "") diff --git a/pkg/util/version/version.go b/pkg/util/version/version.go index 11d140e..561a52e 100644 --- a/pkg/util/version/version.go +++ b/pkg/util/version/version.go @@ -14,7 +14,7 @@ package version -var version = "0.58.1" +var version = "0.59.0" func Full() string { return version