From 2d8521dec4748f35c565540f36a1ce67ea29527a Mon Sep 17 00:00:00 2001 From: leehjhjhj Date: Fri, 5 Jul 2024 23:26:01 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20Lambda=EC=99=80=20SQS=EC=9D=98=20?= =?UTF-8?q?=EC=9E=AC=EC=8B=9C=EB=8F=84=20=EB=A7=A4=EC=BB=A4=EB=8B=88?= =?UTF-8?q?=EC=A6=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...24\354\273\244\353\213\210\354\246\230.md" | 38 +++++++++++++++++- AWS/image/1/image-1.png | Bin 0 -> 31768 bytes AWS/image/1/image-2.png | Bin 0 -> 13373 bytes AWS/image/1/image.png | Bin 0 -> 28135 bytes python/amazaing dictionary.md | 27 +++++++++++++ 5 files changed, 64 insertions(+), 1 deletion(-) create mode 100644 AWS/image/1/image-1.png create mode 100644 AWS/image/1/image-2.png create mode 100644 AWS/image/1/image.png diff --git "a/AWS/Lambda\354\231\200 SQS\354\235\230 \354\236\254\354\213\234\353\217\204 \353\251\224\354\273\244\353\213\210\354\246\230.md" "b/AWS/Lambda\354\231\200 SQS\354\235\230 \354\236\254\354\213\234\353\217\204 \353\251\224\354\273\244\353\213\210\354\246\230.md" index 0800169..7412341 100644 --- "a/AWS/Lambda\354\231\200 SQS\354\235\230 \354\236\254\354\213\234\353\217\204 \353\251\224\354\273\244\353\213\210\354\246\230.md" +++ "b/AWS/Lambda\354\231\200 SQS\354\235\230 \354\236\254\354\213\234\353\217\204 \353\251\224\354\273\244\353\213\210\354\246\230.md" @@ -45,4 +45,40 @@ def lambda_handler(event, context): ``` - 해당 Lambda는 SQS로부터 메시지를 받아서 user_id가 `1`이면 예외 처리를 통해 DLQ로 전송시킨다. -- 그리고, 재시도 실험을 위해서 user_id가 `2`일 때, 예외를 터뜨린다. \ No newline at end of file +- 그리고, 재시도 실험을 위해서 user_id가 `2`일 때, 예외를 터뜨린다. + +### 결과 + +- 하지만 막상 로그를 보면 람다 함수 자체에서는 재시도 되지 않은 것을 볼 수 있다. + + ![alt text](image/1/image.png) + + ![alt text](image/1/image-1.png) + + ![alt text](image/1/image-2.png) + +- 세 사진은 두 개의 Consumer 람다 로그와 한 개의 SQS DLQ Consumer의 로그이다. 타임라인은 다음과 같다. + +### 타임라인 + +- 18시 16분 34초에 첫 번째 에러가 발생 +- Lambda 함수가 재시도를 하지 않았고, visibility timeout(30초) 이후에 메시지가 다시 SQS로 돌아감 +- 18시 17분 03초에 Lambda 함수가 다시 메시지를 받아 재실행되었고, 다시 실패 +- visibility timeout 30초 이후에 메시지가 다시 SQS 큐에 들어갔고, 이때 ReceiveCount가 2가 되어 DLQ(Dead Letter Queue)로 이동 + +### 이유는? 람다의 비동기식 재시도 +- 예상대로라면 첫번째 실패 이후 한번 재시도 설정으로 한번 더 실행 후 실패한다. +- 그리고 나서 visibility timeout 이후에 다시 SQS 큐에 들어가고, 람다가 메시지를 받는다. +- 이후 첫번재를 반복해여 총 4개의 에러 로그를 기대하였다. +- 하지만 정작 재시도는 이루어지지 않은 채로 2번의 에러로그만 발생했는데 이유는 공식 문서에서 찾을 수 있었다. + +``` +Lambda는 함수의 비동기 이벤트 대기열을 관리하고 오류를 다시 시도합니다. +함수가 오류를 반환하면 Lambda는 함수를 두 번 더 실행하려 합니다. +이때 첫 두 시도 간에는 1분의 대기 시간이 있으며, 두 번째와 세 번째 시도 간에는 2분의 대기 시간이 있습니다. +``` +[출처 - AWS 공식 문서](https://docs.aws.amazon.com/ko_kr/lambda/latest/dg/invocation-async.html) + +- 즉, visibility timeout이 기본 30초이기 때문에 람다가 1분 텀으로 재시도 되기 전에 이미 SQS로 돌아갔기 때문이다. +- 굳이 재시도를 원하지 않으면 SQS의 visibility timeout과 DQL 최대 수신 수 만으로도 SQS 만으로도 재시도를 시도해도 나쁘지 않겠다. +- 비동기식 호출 재시도는 한 람다에서 다른 람다를 event 형식으로 invoke 할 때 설정하면 되겠다. diff --git a/AWS/image/1/image-1.png b/AWS/image/1/image-1.png new file mode 100644 index 0000000000000000000000000000000000000000..8af92964c0cff9120f0b2229454b25915c54b606 GIT binary patch literal 31768 zcmeFYQQ#9Ue0#`_w`s4dPOs^#m!sq9F1O>! z!*@_1kpL<*vH@tIqVRd*zHQs+(K2&zTS$I>)Lnnl*~44Kq4PWfKmXOqcel4|gb2~| zoHgTWzpu}p3_`uQaZn&=LH3l~aVddkYDV4L!31U?c?iTFThR>n1TBOTi8ye?%bde! z3%vBhRSMCd^0Zlfw_ppP-7)QIVmu&5&>NJaL_Kmr_2^nD$#H1j{!#>1 zK|=(54@N$wM>>!FuM{TLl*EajsWmmhP9b3!EXd4s`K%cg^R1Dv-j_#PGiwB>0 zMGx=XGX3K@_L!6Kn)(6FQQu?%mCsw>Z@(G}+ zLAm3A6#c=B{c&pX4ub@1;m$!!c7fPoV}cTQnazQI_o3S3Zh~Lz0=t8F_5rzn6YYbb z|1N;=y?|d?9CbeM{)f^iw4oqv9N8iKHz5UiSQPjO0*WM18-M70!!lS-Fcm>Qq2GB_ zvod9%o?s6G1G8EuFwucy^l;1maJw(`$fg6n_T-%?F=1-`Yxa1Z-)KXqc9HFQyuWqB z@%el0sa<10=ZTYZN@AOY8WwCS1eBR8<46W-22t`S=TXYDl#wb^o#FjLX9;|b9xf<1 z2VaN12!0d@%l9}*K4Cc_bjEyTZ^zpT><+sWiY@3dBFAuvrWi&X=o2>FXTVJJmWDbe zFZu2ScL&7e|KdMnc&aW`$+HZB9U?PW-H&GQWMEa7T8F#pdyervOlc^6Kg%J2ot73Z zHFhJ2E1)Cz&mi0`@1BG^O(*I$4E|5_J*OLzXUcaGZ!%v5K3RE!6J#8y05IMkQMJkT z!L!1xQWyl$$fyya!e)l#4Dqcw>XMZ|bcr4jcH+f}aT7o-5GBMl#VAR#3AYFy;&~I3 zM@fy{ZjtJfIzzmpz0=>r-(v*xG33>g%q6i*V2TqQlW(JMC1NPeXh-4?CaRLDQY%vb zBze)u#jT{8P0%IIq|n9l5&5b43J2ur=j~Sas;C#rSKG_xOBqPV|1vMfC`&6)FH$dd zS8@=CDmBhKEFV-GSK_R6Rw>VoEI3o#D(5}}KSMlYIRk=|Vk&Ylk7yKJm(awvQPz-H z6Xnq6P-@eD33Q~x6=BPBIvKmKx?i{tyQgzvKCb-@d2F4b#8m1uEtcFyNsSsH86a6T z4w_8&3syyLiFoPa7u+worCCc-%cw=h#m5RACG2#m%sf*?pEO}kLKD-7;{Bd^~}gDZkD=>ILif=ZRSu-u9iCUo@4T+wU}ekilQ(^ z%33-bVp_j^#5-iXv`6I0q{-AuRezV$Dx{WUmv$(%Xt*iMNzw7siPdOc)$t1Cmgna6 zX!WRk6$a!B1ow#sfd~B%LKTWJXf|jvh(#P4T{16L2$}OSs$^JTA9K%j=zy{|v`Wxd zv~^rTVQpeU&A4Q`NDE8W2l>oxfX4cVykMiY$nV0#5TiXNAJg@XXktWesQPu z+pndzNxYfe@MchPY<`7trGD(TDmemm=GW#~H_OoaglCmY;R80d5_Z6pZ>Fu*FB|_0 z(GAlLJJ&~7qzz6sx~SREt$>}(Hb)gc@s+zP6JO7_4daijkDEBB7Gsfg}PI#_jAJa_;oBI9^w#U zSNt83n%H)XVib}ni|9eYKw+$CEX|{Kr`1g_(gw+k6do;$c1GL%F=La-*aR(gs@}AY zFDW=OGNKadT{8A))o#p?qv6wV%|q^8PQ?fA9=A#2KM^rvcP z?KZ2UvOzgVW>iU?jP*28q2M{(^7wlQ3%zzJPmkBq=<8^v^vLvrNiGdijm&!RhOT-) z%@Exot);BO>;~RaI~K2pe3sdaRhB6$mzCoxT=m~wm(QO2uSE|%$C`&|zq@x3>hdY% zi0pK9zu>p|lz&egN!@m^a@ufT6TOP<#oA<6vR$m*clqntSIidF7F}B*)|@PxPD~YN zk~I(7SZr9fxO}mmv(7b#ZRoV%)2UKV(_Zc%))xAb8JYD>KXs&BwQCqEIqI`Hv^cxj zmHSy7;C1nAJbKeek$cHss_J&A`COHB;XmCxxm=oE)NtfE}L&sbMH5 z;SA%+^1bhiKgTcUrtzuZsc>n!-)}I?)oma2jc8F`P*GJZRy3;)EX|+oAxp_N=H9cf zsT-*}m8IxvxkG0qCx0FvP03Y@>UQnamla=R z>@;DobXDuwn6&7&?|C1*%Zz0Hwq>wm*=+96@f&%R-KuHsS#DZuTH0yq*;u`t-CnHA zJ1{J@`km~B_f);}d$Z?5e=jH|%mBWlBgOf_^{yifkA%bYfIw__W|2hYbXCyd)~e&&zggV))W9>lG#ylxV#C7kMa4Y+LlM=V>vw&$Z> zs+)?N_;)^(uhqBplZQ1v4Zm&7pE$VgL>^2x%_rGs9Y$9++ibDle)7D<-5R_b^^q;f zjqow?wfIInGqUI0pguL-XWq1wT>0*Jkt&js4r)WWNkZqv0gns;Uq50LAQu4THG}eN zb61s?!e)HJ(~Io#-83HOFmeIKRD$X&x_%=tf`^H37&RL=0SZL;ZUVfzuE}cJc$FlZ z%gl=DZz>$Mk^F?R$JobbtvT>jeC0RIpYmXL*8^l}3I+;2GgAlfUR6!hB}`>xfG7cF zNFd-a3m`B+2^er-0S+J_(1cJR2*4Q$a0ust{7)+gavtdalz}q;b`($&l8^wLm5dxs zOl+OZ?VRZYBTfKAEn6t7JFCk`a~j#%&>9%q8Jf_#+t~jV0pfP&1QcydoDB%vZLDpb zINf;&|LMUADF3adBP95zi?bCEp}LGbfsmb}2>~lDJuN*UFEjxG0k@;EDW{^a=)c7Q zzjz4Eot^DD>FC_t+-TjHXzd)$=omOSIOymZ=@=Pl06l1&JZzl}+-Yo`i2gOm|BNGS z;$-A#Vef2VXG`#RTmwTp7iS(q!oQ0C^ZD0xnz&p1uO?fkf8Q412I>B`&@s@`)BR^` zfGGFhT26TjcN1$3VGA3;^Z<15GO)04|I`2f)$+d@|4UN+eLF#Jpl&R#T4k_(&yQiiDol84ics=?+3|EBr++R^;(Ol%bG5+f#E5c12S2} zCxA#gtxlWadea-e(xdi^OvCXc6Nz}z=KcAL)6JLJ6|YidYlQS28uk3bDW83KxnVNa zYeP!4>rX_ke2b@?F4IpE$yBzbG95iPE}!GdB)_fKpQL8=v-6KrO9y?R3$0LzGQCFE zvxthJbq8b_j@NIRQdi?kR*KDqBXa5wEofp+6WKL!7Q>Yso}F_>!$UT<$Jy2OVoQ^@srC*i$tL_8o$zAgcTC|!1d|z9NRZ}?U!8k@_waxhcky3w?!*8JF{=_`0q)M_vUltPRG%W?x&8gPdi-B zH~S>(wGK?ERH{jVU{L#i8t;y#gsyh{@=&Q(X19Ib%7sR%Q3!)!y4-IB<(M1@*~YHc z8qDsGr?5F4Zj&xcw>tfvbhnkfXcam!aCyChAJ4bwEM(GIg9yc9gxBg#<^or{2xA$K zC>H`i!_GsQJZUvMqg#yLe9fP8 z+?{N7xS>#~N=v4)!olG)WNdf)NY&_emHfx(rj57K%qUP^-V05PHnEU z{Sa**cacx{gRk7_j<_F@DS!NQwIh{gG!he)+x40N^bYYb+vs5xQQEd<)ewP9RzN0~ zGbk1w>oAA#9|}J=x=vj&+tD!F1Ne}6GIo%>(oi4P)b!QR_5jkM^68!)pXlm zth;o0+!7c`_iuD{JsQEjKm1X{B%8hBkGWlo0-YwQ|j>zDl-aeMq#l;p^04jgFTIH#6=&Cz{_1Mmz(0CBb7?4 zQ^IP)H8&6zd(vir18{0Ce)75ViG6G>V;I%Qp6?k|^cdybK=G#JiA16Z42O=y;!ki* z>D7)hhHw2A=7t9>Sei5`a=uMr4aQihQ&kto-e|m0qt6H}X6oJXm`t%G+V5BIQJ0UU zwBnXGaYUj>>|q-}GgA6mlgX?g&1OrobaP}sg!&zhuH*z<(VrNSX^k-GG$JMwYWZml zhVnIdI`?^LX_XHiG;%zsXV;*-kHHzn&FBnp!N|ULu z@jbhEa!RW)-_5QITtf~o?;7vnj4fY2Uuf>W9GSwoOg`cFv`zoTqO)r&HC_kuk+$qd_Ktz8qG@Py_I|=HHi%cKX}8r zN8*INnUJVd^PO(c`6t-v#SS$#%9EU2EEWq{3dQ2mgkq{$L{n=1$J@c@g81djxow8l z4J$rPoM4fjVfS!u0l>cf*?gPiJA8CH-$WKG_3hN}i%YUl46ZO5bAbp8l~Ubbu~b$9 zU`#2ld=~u}4kP$p9@A+YVg12yL{W%5fj_YuzjaO=O{9_tCl14%-k&llR~xEC;t^rF zTrEf7(HoV;cYWI0y*n)KRQ+U#d2QtJu6%eBwuPclugyC|z_&u4Wdj;drJ_o7sOJ7= z@sQ!d?D&iThtxt={=DML zX%s@{O!7svR0AZ_s84D!Ra*ceFMf@ikIR_-_t8~5>T#2 zDye=-WJLt};1r)eG7ruTU+OzH-ZwOS`geRj-}*JZA5GziMC}YzAKRKaapA);s8U7A zp8WWm{+J)vdpxnlx>U+m3N&vW4AE6LVt@3SU%BS#V;H8FBUrrsDPCKbcY3bV;K6|o z=!+(N`yiyJ2gKlgn8Pq`1l~K`t`v!BA&LY(1po^(sTZd#TIX)ESfmidchR);MhS)j z(gOq{5`|)_VqmU{i<{q4sam7jgoJ9g!Cg4Mi%xz_rw2xo{(Mv+jw=5n?;pJY5mu1x zW^RS|EYtth9oy7tX)c@tof(U-|O~e07GHA ziBbutjQLL;2sTJ$I;1sA$#})TbwCH`!2%CSzZ;?!L>B(1t`~sHd}1xreSMqk1^@M5 zgMJc&B^mF_{jzze{*Ur!V1V*{2>)LR$^fez&Xb!n@yevw*#v+;A`)g;*Sc=LO(*%%3uuQ5cWL zp^!>rY~ixe>2)Qz!{hVryCaSQ>|=7L1^)5&-X=q@$G12tm3AQtosQh`aMbkbWP>?7 z;%UcE?qocv{FAAz4@7;9~s&{$jgJ%(qlFyF|Oq z@qKnhz(=>uGr2%CV!w*F%B0hH4O+9=x>#20o>3mN?Romk!Jz=>V zUKXzzS6t2oA9(ojB!-}53|_a}7R<4Qg~Uym)I7CGlssg;V+lI5nDa*WJsbmA)fx>k zTuzrn@b{}8w=#)B@V_q$ikmnCB8$C(ViZ1K?sm5;yl*gQ(J6Eq9vM)x>?KN zuD8q$7~Wc}ce3E}xMuk?VePJ~Opxn#wt8Y{vFUHWKHy7#aXBV^$9)b%^83Tg2OVTe zvyNaNj!uWC)8h~XjYiH7b3EldYR^Fl&$$kWEg{_tf_~z$L|dxXP}W>%dGk8qHruR3 zG+(Vs)EN#X0K0x>r6+N@$x5u~<}_c2c66~C&dlg$1T5JtpL-}5JAR8qCX49=0r!wU zwr(rNoBL$p^gB+Yk6d#+K5zhV536~#1_Sb+-X5oP)ppdf=PwoyZLVA3P;W;QX7guv zICS>V0OzYuCr}CDGu3}2<7}xyK2w#3oSM$MUks9N=(*p=v%jcZxlmLk5|yb$l{s_e z6EtkL@w8zQjc*|Adyytf#YXg9A&=|Dwve31ewk)*!cyh(oiR*kC;z9n>W5!Sp|r7v z7N&&O! z9Awh|yNc3ud^~`cBKt!yI1g`&^N%maNc3W(1{E|aWfHYx^kplZN`33pYZGkLZ=W}K z`9QFna{C`{R@<&yI8!>F#yIy!_=AaA5o&Ipik%<~BC*N6gNbPo*gq*;-v>)vuvsI% z##O8aW2qE#?6%r%Uf*A$HV-m*)O?j@wm%*k?HBSCm?9PmRJfSjv;fwAD9NvIP+6axb*Wn|h^hn#VrAU*Ozowikc#OU!pJ`T>~;(!GYG39xavQRNCn>0 zU|0ao=Ja4n*s(sgpJ^O9w59SS&o=~e~ES`#6 z8dL;{;PDuD{s(h#yWC7R+u3LGy7X4cxYv-ThD&rlTeLEkOeZaba@i-B!>;);{kR^^ z!{=oIuG*94uqhq(Ot6+F2y;;>w09~Q*nBgj=sX>oNG+*5AkA2B zz9N1y7X!rX%sTDPYl~$PFqm@DH*>b&@VExfj10)e04uG$4COfO4FE8hc6Rb;_feZK z(5H9Q^MV?HN9hl}hL}@oihs|VH2--5v4ml^1c&c!Qnif!JBLZLz%W3ju) zS8|DT<_{cn_*Epl{pQ`iE>-e4X>QN^w0e_?g3>1aJ*0ifJycndt*N=6UED$7aFPz{ z1$iH7ZTYd4DGZJg%kv|ar`KOGiVY<{jf;7lmbEo_ssLbtJ7W^L`UAfs&<(Gzx=cWC zNWTuURfwSq{AHg<;NwR_P>D=B|6HM1qS-<2Uj?Omquy*mEpjLd9kmkxa?p)&_Co|*e^(E|uy~1FQqK3*hy*xZWpV^v9EiMX?R113-i*N%Ze0MCwbo`~C^UazfnYb17ARQtGCm zWl}9UNxVv~@%z*|-HMwxr2tf{(QU_9@bx5jN~@Vf{4ow*j+byLKpgw&S*OQWXkRc} zsa727g+Zvgv~-K#Gw7B?HsvpTQj!{iNgn}RJ-zj{w# zG6GXGhDpXL<OS#pPZW56j@Cz_q+4%*c@-1S2Sg9QKlIPQ9*QV7$dzCvL9{dS! z>;Yc}0ngQ310AaKjNDiv35h8IPIs(HI$$#*lg%nnG@(l9VL%=R;m6^#pQX=W|D;1y z0%;tKK$eJ;(B7*y&?$GFI@|6I_7NH&ohnzK>+g3b=wGT>G4IX$!EDj5p5xs`s%xa% ze3?Ckj64be1ub5aB3=h=sirz6rTr5a7r=Bj8ZjHp53hd|T)MyS`0bD2{DOr&xn?q( z$_L;{;T?s1d;M$6Gp6H70cT59B9nXL{PX!bR^zE`u{lL#@RBp?GJz4Z;s}UV(iwAG zx7%poSMK(n0Klos^FuRs9~K;Ald z+B15s;@E69@%Y2AL>?L3#oZd~1kt(|noBNrTE1m+^mthLA3+Mt-`CBBP7<@*@AEo6 z9F-zb#+r7!yLk_MOS>Sd*ZT`pCQO5&+O3|p4HFlNwdhVq(%ku#N~ZG!ghHbvoi>gi zlv`wJFzNPIs)f)w`zN21Bo4}byVe)Wo!r`8-dH;aZGRE*4cJzw&Dc7hTz?rm4h4e# zY6}YcKG7QC_0DRuO?h*B^Y$HUR*sYlUKJJVlq6OwEsaPdQd|mc>fnZ?g<3X`G{p9+ zKSXL0W2qRdvO74^;UVLpa(c6h%)knE9`t#?gspiUc1_}bo$j~Tqe#Ar6L7`#HEuurll)11#|e-V%J z`s9VGyY7G)og0&gaj3?8!%efiK8Z8$BI9;r*Oml%RQ9=zx#}m2GyF3n9$^{E%yOq=| zmkKaR#Y!<9v(RuRD=Ax!CY)|m~t7>rjT+eU(~ zU^S@Zk|j~yYqf=`S&gxi)t&d=MRJ&tkW}pm#Gb_osQh|6+uPgc0W5*>zU68j-c%Y( zDp}@=a+fA*hX)}??*83<1bTy6#fLh@zTE{FIQ%0WL1V17MvoLx-RmGcQpLpvYb1&S z=s*ho8IyF{6}Sx~e5FDzR^Ks5@MD|p6!g@ZoSHart>QA|1-=iHX*7o6j!L1bPrCa= zGL1-b8;w=43PVw7#-K{#dA~2TXmAk31M)_UyTidO00TAu`V=}$q0bkN?RT}1LZ3?P z_J|(|!sT*Rc&g4eUx}e%w!fxtcQ_!O%H>j;kgRs#z=jMdCm;S~QFOjv zYcN3_1G8SsXdp&Y?)Jt^PqOFpKGd@|x`%8L^u-KnWR6x77XoJmaG7`9DZT3GV42kPIjMA6XeHmH z^BRIBJbzbj5&nc22;_idb{+-NRi0*%GF`hx?Qh)kIiAjxlfhzR2H*kuvd#`SjI2+G z416bS*hH&Q52ssO7>gS`$J*wg8EjUSGpJF=Giaj72_1spwkQDD;P(E@a-Uv06vm=* zjY=%p*Xv@l3rv^vT!9Fx5w~+F|cX3yae`X}8wm!?NEt z-IC>xxY^}WVMR_66A~m(?cOjNxF$k)YxE%`XmH3GP_SrLqDX7uNOa;-3_ItuQ583R z(W}=4xM3!W0RfpDjueShU)jt=?>HK-$K7GUCC{sPOdQUh4jP>X=?qM(QogKu?hIud zi{UJEJV6nzJPXITk{4X=ZX$bKrf|cOZzJa(iY2$54?Q6kNi`T%lsA5MBo0=V5w~hC@}Tx|xuN@9FW5M&o7B&>zkg zm%H@kW8N2v@382c;kyF{!I`Zdxih%j0yd2*-zUL~u?)PI*71}}@ZA}X(fbcChR;mP z{F%oSIFS2vhzi?LL@RQ6Go!wIxWFw=v1>}z2?Ot;*XS{Vi9t}fTVax^)I^mJhM$+O z12my54GSGQ7`~?gMPu^XAjerZ>swftCyaf}~8jtaMec zvqsF{9#{KCI$XOPZPId+X14E_CrZ6Xu27IR9Sv?ox`7y=5#VgSsCQ6AqY*mNZ_oe5 zYbxDof?<}MzkH)+T43`w4Qr~3h>i^d9D~itX+MV83iUia}{h2{0!P2065LDqsqw!X0G8f+*h)UtGHX_k# zYhezXh=QG=SCan_1qbzf-1LZ-Czj1p-(Q_rsN4+&U<&$~X$`BG3GYO94D15QYF(Np z07ecanLbEpX(EN|p@k3Z&CiYZmp+9A-&?=C*QUx*77MUrh_X6n#_k@L4)nsF zP{;%*D z`!v%oco5jkmb8j*+MQI0U=-eOF*+1_-B*@YG=#&@Kd*WFG$?_g;^d$X^aoyDxyQ1RL`bR|9@*HMMo<52n785!02C6TfM#NvML5TiPYVxuaEA~J!kg4HmyJf+np`e z(r(f))cfEP5~(X68IYXI3e!PZkVwsnf*J)*@)97N<_W|wdi86;r82(bz0>kK2LqG3 zp4bYY)9IQjoU+=%VQM|)K`)Gx1iZv{-Cj>4K!v&)Qke(NRhL{fhQN*C(KQu4+z2xI;t?%(#P>N$w)+e&zSyzIME zm2b|(vOE<@@hzLN*>DZd1_2QwG_91Q0TxGqxQ&E8Kxk%oOV)oj_lA##A&8F1?r<*s z{P4U%duhAX!CI9wSFV<}&}_FR+2F=OY$92#P|xb6#|bU1MGZOwKOlUKo~s5!#*YT1 zL4@A`85M}ujs=9{86mu;G31~fFO5z+o{iR>zS;6Y|14chE9WAp9<8+9QRp_UXAC9Ir@P>k+7^aRkzG{booIZ=`lDwE7fC1B2ksj z+O*f^sWYf*P$jC(L7$sJv7FA7DO~uxj>fKZm6a813;W!p3F7CiMRE2DP4w4X<(mN* zO5`5qqE79GMzecBH%LP&+59~m?_=%4_zRi#+-LrLzg*#mmn(uY_^@ZcWF6g~PzHsi za-D(dT-DrFbo>ZRiAGd_^ZQw%gNT+W0>EuVSk5+L5A!SOWhbW|xv~1}S0Q{+OnO~XxtwScQl_%+ehs7^XZMU_rN%-E z^m15Ddsl`3a7^-V0wnng@q{6eiHNR&{L;EfB>19UDEdHt@5ApbftGcP$XwN=G8hA) z9U3c+V>s(VMA?Kk)eHJX^-U>un!qS50srMjXyquYbxt|M=B5@Y-Z>ixVMFWor&>P+efyZe5D!C)M0d~X)FdbZgkce6iy zSK=5V;%m-I3HNnjq(=^qhN}L8MtNv^Y^$Lv4*BCW*mF%o@GFE9IMgF<`z6?S5CiN~ zMR?o5kmHk`5*1Y&3gUsU=v1%^K9b;wA9bzG_VkLwD8ytD|tVp3%e0N?Wi zWVQo4B$xJwpnKx+w|lDrRfrKF3@Fh!EKp>15}=ph7s$mb2)7$7gu=Ar%(#4*=#Gf)$UyMV?a!CFYr>iNs@#o0+7_BSgS8Up;#o|t_9$+ zD6%Rl)Ork8GFxmH!k+M*{SIURL^rwRBDpA8$J5<0T|ukEf&8A}rDrRE%~D!#v?y~J zcx}&YSNO+XQXrqHm>2-z&o9L`5cpXK;#~W^{;>zeI_LYNF{6pjBaWlT2InqUhS&G! zfHpq4(dxBZ#rHj?6HOMkj!%Js*7>bVnbRXat;u=F{e3~G5xSB*1D#XRt^`wGcStNw zSP`qmoPJRm={=%g^e?(xz6AgdQ!e`Rmn;J^9+Bt#!cjw4FHiXh*hD_z_hxN$H zo7-#y3(VNvfmft@C!q+X)_@jbPL+=I)ijQYDLHxi^G;2#^ybrbp7dXCMvF~8^!~In zd9CGp*Xw<$0#PXEko5U_R~UevIVLkT9G>K8w7*eo*iWHV37pR25xd&yVKeG);!iA< zEk*btC?9K^%|iD2`cUB;n^`iYsZb`LPcE4>YI^BT4xnc+o%U(`Lk7A(Ajky*pG_x& zMGzj!{@H9Q33qEI!5qsp3bBqxbEdeN#7WXPAd$G)<*H>UESo}6h=s+W&#-i>k)AVq zteU;=k570RZ;C#TSAjjbt)kU5UEg&K2lG?kTD*?>D$eN3ndY@}P-OIY7qV@CQhbu% zjqz%C7u`iUR}yG zo5q>lEKnGzZ5^G6Zg2mZa*htt^$0_1Po=1*d=xTSzlQmF=S zi`@NM|B;AX?;j>ypTBn}9ZG0j)iy}J)*g}EeX>>ceKi6zl>W4SHnlYNbl^dXo1){o z$P{DI`k8O1Ra%)ufFOrX>8D}inLsLZsVQ4Qjh*g7$3o{itNh~G&*1dg?00sD`T|ii zW9prY?cVSA2`Uhzx(cBZ*#U$o75uR!v4k@%H5A4mro1Ip1-pnu3x0QG3eW%2E_^Vue)(|9}0_>jALoI@|2ErjzEN(!z+B$;@{PWFQPqL-+~ zIL%LLQK}5IBDZU^xesPK?#NDUXVC6XKYOxzR$%d|1&Jm2oFf~ZJ5=CO@H`MEj>hg! z3)L`a<$?)K$hUVXCVRkARa|Zoj{fqn%x25XJT^U>-loUqNKy%(+jWU}e4nv|!SHfC z?QSK7VshfV6Kd53^wBCE%`{MyAtf?ciU7isc!CZG{Z|`+4VKT@Y%9~-$!TY{oZ0qi zG{0d4q)ehnedm=g5Qcg%6l|imd6iyo`O0ezfkMt`w$Y_i1mlSt`UxX7MtFUN%rthj z-IeO733l^%vUlT8_JF@5!snFkd4DeTZR>7fqvfj1=1rE_c2d0K>Y%E2T;OjmMK z`GnlU3f;Z&8g;vFDf`yNLdN#3E1XD;{UO=Jd{ z{AY->6lEe4sX3iRIE+uTd>uCi8$T(Jw0FKoU>NZL9hfL^4}44YeAC&tQ`HK~d+!0q z_-bLhS=9tqpU=Vh1fxTSUw}RNM!H|DT0Ijpw2aWlV-yKVTvGm6o?>2URG5NXIU$L# zt!<%!qieG+2Q#7uWsrn8Y)|c|_9@J@7=Du6yVX|%zD9n``OCmP6{D>O)6ov)f( z11os-R42dDMFAUm?p%WZND4v%Qq_Yb+tDejM(JwR5c@-J(W z_K&Nc#U494tcj~Aw@Ix$NT2sn>3qU}%zYOOgwJ=a5EZ0C<5S@5`smc}{^l4J8jUv) zLqZbaF%jzN`3DVnn~a9Q4-FUn6+QvO9Q7T?_4iz|`@DQXDf`OJ2r?Pz=@NKu3G9=B zrKnpJLRoLe%t1xC?+57p#IbHnH@k0pSfxHZo7HAnceg2E~g5d%_Mqr=9Aw2 zu}@M^i&?)ARaJo*OLu>H?jZT{q+x34$q>{ay&p1_l(r!+Aw{;H_qYt(bLs0 zkI^|uu7rWhe#=Fy)fS7{Z+L(7qNEVkX*fJ69zVWP)S_K22Y;m`uWIJ=d6n;VXCoJQ z@NeL$>MlXuo$k}f_7CY*+4GF_U1R~TN3YFex=y&3TlRe+9S7{rFmn$GFw`KDBY4KP-vt9^a z(Pr%v=xeM0u9kpq6z^{JeQYIiCD32iE*K_ARd=9}UZ1>wowXekGD2%CGGhKC*fNu? zpA+#-k6R!>VsVtu<)(Bx3w6skU+_}%)>KWLkiV~O3xMK=)ZYr=k9MuWO%x!J!m&xo$?(x7;xxY#=3Xp^*{5x0y8gKdCa@lK2f z_>A8Nb)~^ZJiHz;LX7J8tdaQX*_|U!n>vK0$kbQu?;kFx;*B@)my?lXp0E~K{Jy$* zwK~FiYtKZ!<;W@~=3a$3l9)<_L*e7|5O#ZO zE(tb559b7iLJQxX&B=mbNi1}<0Bdlw>=9uJMr6%GUeog85jZ4f@h4VlWw^ly`m#w13l zjdhw!8j3+x`jQP~azFsz@vuL- zqVlIVAeBz@-(1s2*q}_M)}Y-HJDIO4rAMDxqaDBmF}mK}69VL;gKrrYj@SA9+Y|Q%H+c8C zZ}E~ZA8QtSrwG%VJ9PgZc0CoIX5-0-JSVl^x!y2kb!0Vy&xJ*Z0*FL_r7+wDL$ZM& zH{=dt)5aQNUw$!ndRct7F7e%`U?R*0&H0dbdP!_;3*uyd47~cuM1MUT!FWzj`isu3 zKHn}~PB8`uZQ{pV;1(#`h_`TEL&r@-T$IbDOc${8h$cj+;L_D<1*!GN{`O8}_J4uI z*6mJqXz(z3b$&wg>GYBD9VK#a#Hh~{x;1i-P@#bYg+}{92*BsG%`FQcze&w6pf+gO zI0kTQFy5H2lS4s31x-ua`(^+iWfs1jdb+r6S20MB?->z)l$TUPCX0 z!lg7pAi-=M5;8N{Fj;dIBPosl_OiNK60Xg#m&?A!`xHT+P9C zk7P-o~z45b!jQ!s$^IGv{X^c4|L!5~htX}<1= zqbo0y7$gm888U=`ZQj)+!f@_)1(gOqXBV{RokltrLU~@l#fVwO9KuH z1`hQB5Wp_1T48&iZ&y$v#zrE!kxzUK+XeH_j}9zGqVjf~-Y?_-r>=L7j;vdwy<^+z z*tXrV?WAL~JGO0h(y`e|N1YBjwr$(CzMb=)^L}^SG48*6)ZVqKYVEz&GoSgJbrc-u zNQg`b!)6k_{o^^PRhP`Cx!(9DolDVv%}Hg!o)uvG@-FlYynlBISuI|v*T<%l+kDti z@px8RWcqZpc8h^B_9Y$WfsZXf8Y~GChOYnCM)T!r!1a7F46sC!?e<6pGH*gcux;w* zwtkP8H{QT=>wsuvyJYRSw)3RT{#S_e4)kwlMd$ABpgwTiT!oTGqq>sz03)Ywd}?Do zNLLOQi&$|krWS_V4U#h|eezsK`Wk^Am(O)1oR?H`DPoJM_OE>B`?&*Xhqq&j_iFsl zi0v;*%uL#m`Ze-jh44e`dmscX-w%X*n5zGt3kND8%z|Ey`(Fe1ht+(83NVmwQaz}d z{&?2 zwpZhRSpwn-gLbDRUgx8ua}S4=rV#UyjO}A*mb@E$=I>L5nOI9K&+X6Jf3HsS&E1FL14eVZja`cx$QY|^gw_;Bg> zm6Y=P_YMVkEXLvr@8J9K+)SR@$(6m=p+wyi`?2ueEQ57Iims3O5VYomLm(W z>|bxRbZTuO|6IdHNk4oW=hl)cu=6|5^+e220`wpnz&12frztcltD#yntdZa2UFde^ z9a0Ktg3arX@YrR5Jt;XExsq1BG5`1A9nz zRW1MSJ)bFK^On2Q{v+gm!2F5ZF&wDeD92;pxXY`>qta9WpE)()ADqcE(F|OYAglEC z(fLwJRhe0>_eZATh%?#wa;yW#mzr*J=_WfZ7I*Z_=)A_jJiXM7_*k9Z_>Zr3>vP#fwM}9hVeVSe5p5_M0>g)`{V&# zN=K_!uE0^Qna5HPHr#V{zS^<{-4d?jf~OSl;$hW0CC+|S{c9#8E_v`S`m}Sn=NVe_$K={p5rC2aCbH1-%CCZpukJN zu8DNojA6xN3AC?kJp=%I(e6-sRw9+6Io2LP$g(?hik7R_@yh=YjJnXPv_xHMw&QEC znhoT2Ib^IDMD2!}u9&a3x`^Mz;Ma0ITCKnz&H5c5ce5r1zdxR6@`q(J7#Z7ODu>w$ zZnF|&!av|MtfYNQb2G2YMMm3G;P=1yMA4jpZ9Ed4532$2kR^^N$W`fZl6fsGRxmM> zVKeIGTXP)A_^4Owd=Sn3_q~Uk-IBrTT(QdrZRVd&-&~3DuYU8-=^D&k^c#2>TxruA zigg1744{D}anKz=vZ-)KBi)Q=`zUNr=Nf#<;POLV z{rg%yHsP5e_rZ0;b#qhyv-9~Y;op1yCc!_Dp5HHHxYYihtDW(Q&yDL3g|t<(>uGb- z_0dw#mhT@XmDcDF_p_&aHoZLmz%U!~Suq%7RJ!}s+-n2A!RU`IN-66t*lFkcGl6Nq zm`;8U01H2mJ_(ZE7rf(@Kynq0e_v&HeIZB3pNJq*lxzOdnE5D2Pm^Hb<$*-NE;rPN zo<*a+Bv%Z8p2t?)%|>OB5rBa(ki%|mN$sz(x|3oudrCwR7^OMC9M3mw=1qNnDmFw< ze#8Dm9FJ@Px4$$BFXYAA-}cf0XtyG4(q17;knGZ3h5boN7=_T3?^^3+ z*C~L^s)Pc(&7pL`$m2@X(Rd%emv5hA>b*{uwU5ZPn;Ky~YN~Mh+hX0kwVxvtk$FuK z5#yK5*|~;Rp~_{AF%S^Og^w%%zc=H+oc{_bx)8pRreK*0AD$p-G^U^tUms7nYw(1t zkSOdjqt|AQ^gO^MuY5F9MlBUjy!JAlCB$?FaH8l!Q2uDw(m7h4fi-C73wc#5+lm89 zB;o{qk#45Ke)^^HEoT<3ztX6>MAZG&ZR5`Lsl_9A`bu5Tf5G>pP_WIxB*G|NY%r?* z)Wh|>8RZ5#`(9hw6ta|mwiM^+(|eJ?=oWQ2$|qmF2!qw>d|j;P3(xfV4v#1W5}E8P zXR#A`{La82O})Y5yK^94nLl4xXuYU`jQ_d<#wehJ6EDN<^~BiuM%r-|qz*!WWMXmA%w0 zbORuGfKE*ksn`YDXuHpIY~wFXpBHzh-K@k**G6Fd{q^J(4V$1R?Te!iVI?9^ux*T23;JX01{Q3lBt-A7g8hDG@=%+E-sEcx#tSl3XkT?M zl9-KVq}Mde;2FiwQwK*yxyrKSOQw01(oHd|LK<6zFXS8QlB`t&QpwC;eH)!xXPy{B zw%D#;v;}MxiNcKQQ=a2@P)lv@+?V}2J|sH%J@&~$Ukr?N=#zeZOtUTZX7Zxh`QOlW zI|1+~l-{CuL)QS)&UT9-E8v}2-yY_oM#wzGYzq~{ZnR};Y(;pwUKf-|AxmrK1eNnl zNO-d|sA?qj`UKNdG`iGz=~gNJ5@;`uyGnau^A{+$G-jM zgUljfdRZq0f%JY}`hZEJ7k^f}=Dv6G$G8-FyP<5_91RC8Mk|;h5#l7@AA>~Ep0g2f zej6I6(rYWUXuYqsn&}!bYQ4};p6r$tE$8{*mut6`<5cn3e9B?a#d=y#CHvv?95u2Fq%xdo2B_R+CYx;jY#PkzDCv4*Z0KAffFF!G5A8#FOe8@6nrGii^6n) zB6xhl>grb*I?m_s@vlR_yZvQwJM%h!{bk81$?FpvfuAi-Su%|;SsU7InOv{Ma%I!u*J z@0v4B`llX1;lvrj*suC~C@WRR4rh>l%31P4L<1XDD)>Ix0 zfMsQc&{?e71eacDM*N}0!78q1R%b3Z8F;M8tYqk1ARblTQilJ}XGDkag*ES@fHahC|1(O%0Kic}5276RF9r*gRUahn0|FD~ z|9?d|P z*P7ff%))xQ+j$Pty*ymH?`w>&Sf_k6M5-G^&R08D&AnlCyt?Onu4nnxFQ-|6arc4O z%RA!@=)vsteR+CKC``fpVr$T7oYEfWAyj)J#Ci&nCO7h>=DTr^g487%<+LBLSD#sb zoE_F=w^#$?^}5SE3;lua&DrfLXym++Ys7E(YPYvPA9nYt`GVLf_3i>xn|r(iYcsyW z(|b+)!mv?j(2nk>!z#mdkC7Rj#?L#uuNvEk1pLvlpM;EN$ETF(ka2itpecPf?jM#} zj#4*$o}$6qKB`P-_6?T3M*j`s^j9p2`@tN+X}hwsPyg{%qUQkImujurVX0~w zp<02fz)&h1(+3Xar${i6Mr%iTw9-IjHkSGW3K=)=`Ej>z&K*FI1qk_*efhr45#R}4 zF|AW>GY~3lX0;n8aJlIs74*yH`rVz>?Vct-bDHZ>DW;#PX|+R44ILd?J&~AXe;LAx zck)}Kx7=rNTI=ckMpYH+zy4>szxA=fW?E$hD8F_`$C;3{M2N?^os2IZp+#UVe6`3b zQJQZL!;qkTPCP^9TV z9y47Hjj65GX)wM-9vh^4?2mgdpi#9@8b8yo%x+T#V6(1s%@QCsL0L?Y57OrY;9UvZ zdiXOic5|N-q4@UVakx}ecNLqRovjuvq#GMyOHU*RQ(R*gHs+18=}xOzjA3MKH(Lz8 zJCqWn7&dxNMQ2Q}nKq@)qY~=|eWNw3N=NU4s%)-Xw`$IB!zQs6pVVFG3NC`3n!SKMP0- z(TRQQo16%VOeQ~dcV_4Uh)JuSQkJXm2)C1_2(?x}nk#YBEY2Hn3hvJ&lh*F7S-D6gXIkHO;x9Rj|6vy%Xb_Lw~NUl2{!P92^fK&GV2 zrp<~G(!VMJ8BDj{(Of9knx%SKPslfnc`T{@IQ?^NRab_yP_XKQte7w(n{VLIGvIs6P8F?09;kz`-cnV0*)D@e(P4%$(z+@GOD^S8j>ofT|`=z=TDP5Nr?EAN2` z)cWjoNGmKxok(@xXNrZ1&4N-OYsOqz$)FV*3BQ}=5R)zy-A^tXm(7$J{&*ev?n0zR zq$TVK@-~^@%+tCbT>u9p28+Rf_8ht$=~K%TkY~fe^h2{AUf$)>U-RBgD-x0tuHN+& zDw2>RgBk6?_AS|pZ3kj~mmcjNei0uTn^A{U1*J4)LU6L=Ro2+5>OToMOZCTM-4fAz z)3)EHCQbT_-i^K45*zNo{Wg&Ma8I!=nQE-n$h=I7u=>{2yFpCe6V2#uavS@IB<*?( zv~PRtR)lwT>s)27K!g7!B8M^g+9z1eiznP0tyMf)&%pbnv3wyqlo{fN4YNYB?fN73~)e3RLky9N3Z*jMBAJxHMtdDe@Ta@{;PsmpbV~WWLpF2i zCQ$G&nYYhjF^T)7m68%d)SWKQyGQCy({H(1{-9AkR2z)i>~YJw_F&+k`T_$69`)>% z`b6&hg(($tQy}J~_;b~=$^{aWxWDqn;U=fd=sv=tJk=_#lc*Fa(Nb_&@~3M^4CK(Z z_VzFz6>ObcDrxyoefz#pt;GdyQEQ(*C> zT)zS;h3QKuHd>oq`A8;1Se0P#9nvl9)0beF%`%0yzGMa)EHD%JJtXIy0hWqWXkRVU z7+kJ^ucqTN)5UVR?oREp)h972;WlwV1Y4nr5 zPnXJ=7$R+B-of7N{K(p1H=j-@u3~oWIuoj)K2W&JJ}u>w|2tDq0m!;=?Q8TM&9%##!yn zY`CFiAC8zrE=^7<=J*#d>7h}AsUXKUmQSK}kTtyMdxJHN4 zw-Eq`la={tsGyWOjIE%$P-9e>gb$tz9uV=z?OkwpJT0x(bj;|q8MIO8*p}Sqy%n_`FO!Q?} z7F+6*Nmp+Am`E|36xf7;0MfI&{M(Kkn-gRXX2C>MqNR~sN~A+6 z`qieebibC(o;$%6P%k~7>(vQ|>*;fHoO}T^iev^6hggcRBfg+&2N3LVkEA~=Ql33` zEb+B=%e9@X5jj`3$V62j-}Ro^uAu_$IzF2thY;1UpnREez5J^pD+d4)g8)w*G*$IuidT;`zU$1uQAO<(- zT)U0?f16e#`xx@&JDEsMl}>I`!(^d)lOTFLZl#z40Hs(gL3*F!ce&3{_azdDN74%y zl~~|BY#K7c_GN7UEbS z%MEX&Q4nVLM=})R+4pxjaae;Nxhtr!VC;c10*v(Y`;6@8dWbGKld~1buS5*iYJQtf z#8*L(_k|G#NAS{_?@ibPRMEpL9`I$lzZF=eT+AXs4loqaCaN)McNoX#-jZpxMR8ys zZjYy@>BFn|N5QoD4SVCc6dBVI7+QCnZb~<2(!@_@ZRXHJ^N5h^0n7MYkU}lMED?^7+xx?pbSs|eEAv$3of(w;G@zy&OJX>)o?dvtU zD{IVVERQ#HTFnSsV0A`&8^fX;^o{B!XHXF`qrHjac&}eXt!F~uOi#;8d_&}(+^@f)@& zmxg+(x7ALcHJ$~vN#9K{5jC13Qo$RZBoJ+tm~wE7&sFME@{?Y=LY790)HMYcK3YU5 z5qK<6MnhapVA16WKKd3Nmm(L*riB{!M^c#JKhX~?G}<-fu<;Y-pJTnx?Ne<178;9A z>AOh1Z)A34CnWu3^RWyvTsL|Py1lh-Oy(wFn?$;W!d?6cNVi-qPv3yvn-Rdy2gN+q{qtvxBBQ-evZ&YRf&=Ko^PUjiqzgGTIuzM;)*(LtDy$WZR`c``!&` zQ5h1mh*(WwFpp~`#Nl!&lQZe_y40kp`9E8oO2Qd~kSiN=C5&j7UwZ3ooGjK&6w*wa z&cYs&MzfIUpRSZ;k-OY3acDa}ukw0MXbuJ)?uC6@bb-&*aFVOh#n^=*zuE=g*{QC9J<|!i0OXh2t_)@+ zRJB0^T-qj?%jsOy(MVwtQ>nI$X!NlEqn|ng*wc09X?75z~R9LMl)!5qDY!_jdo9AGt1z_14i-jEq$gR zfiU!(qscVj$9J0HOQq6vsW<+1!WVD8c~S{&JxSE?jkOV*wAI|1c~kU0fk&_lK{TIz zaARDRu}j0+S}AZPz6^Zs)|VwZ>rnp|CPqb#EX8~#?n$Rvg^KF7$hs$yuj6eqA8V_~ zo}oFL3ZafO1Urk~_$WgDiC&9YKns6OxxxI@GaF=0>G5lki<>0ZLCG$y8fMEUNu#Pq z-8(lE99i#Z-?=kos*eS)Tc=*#)`b)AR67cs3uh{u$4fzD;Xv}67MKo@QnvW2TC660 zD5T|4Koo!q4z34)iUK@0syH%T?h9PN?%+n=Gd$>Cav977?#hO!cGmZ5Z&Y5yqlCa# z!Ej))M*7gp9b+Pr43PcAo(D3F{06jg-hQ)X7-n%_5&%@D=TE)buBZ*fK6)#nIw z##8m_Xr@f#@5NNi+*v!JO#pjC{~Z~=W%p7_VvzYtBq*avs-E$xL93}Y6JJQBHaP-w zFLEMcDGxELLl>V-CQTf9hhIF?5kw1-@ZFF}BWe7EfnV#;Cda@>nn+C&iSvO{z5nTF zW~rbIPJ7|s_G`tW;<7U70D{GkME9c8U@5_z-xC{&!(t3`mVrvJ1`FQ0J8t<N1iIw4xp{}TOL$6Rqv&uJUkOfx=<8l8d5V^Mcf2N9DOzr= z)m%Q}`G^!*Xi+LSa&)tQ1to7UQlKIr zUl*?-Kk!yoSini9Q_b+aV_xr6E>?qm(^6$GH)xCe3H3{^d+EADv-*(Sj|!@Vpo9D= zScz)xsU)vUe;;Kl;Yan?rzc^XH z{F?gMN5;3V=)`)&E6Jy`E7(R&#C=G^PiH@qekJyG6rb zu52Hni}Ds4qCT&gf}-OtHBtbPj09SW3e2mk+z^-xX9%$yATSF zBZtEx5p}0u630;gF5n?rAc2s8S>7OmOiO5sFZk5%gOQZZk%Q9sZajR}Fub2>?IkF^ z%w;qwVMuRb^;qK6 z434+>97TbUS9S6tUO8f~c3q-v0q5);_B6yolW)r)_WiGh}#{0~-x_t;3qp(y7cmp{X5Ut9)+Qix-}{5B7fVt7+SnDKfyfT14j zIakj)visMnaxsniU@vk#U8jNjPsiau%IgK+2Qs&whc(OhuUUl{1XXE73?#6+_Fo%H z$N7Ka2E%mJ&i_?%{~wxfWctG=Yvs0}e=Rv+C;>vL=^gXO#d2Af*SY&Xk1vDbThnEK z-!BmEg~f;*^b1;imM3DMiViPr&-ZyA_A55Nb(2ZNBsky^uhMz@VWI zBz)+aM7zIC_8FT!Z!_AlVb7z#GXUP_Ln2#i?GQs~viL8^geYN#b z6qOxzpFQe1Xnf9T`#Kl87s@1*KT^t+iC71OVUNnLTrQf6e>AerfnL`0B&{6AhnUzG zbENy4S>dO7U1WTCFr3t{ktF{oD~>wusBRopSAKwqfM^^~w)*Z(p2WDX*b;F`KDZKyQD{ z@AHX}@d)bPur&F^?bL6(BaDkF)cV<9_eZ4Lyj-qr?mWE-h(oJ|tvwD1IqfB`MI137 zcRrt*%Hwz1@|q;tE%dyou5rW8WVK^N+$(1Dr_VN}l+P7HUYjd_FvETX^o6KnWHdVY z2tdZG@Hf^Lq=We%XjdgIS$V*gWCF-Z+pUCUXk}p&B~70D3J_(>o(3p@+vY-N-yI0}hL zL{*gLFTTE7?K;L!PGf#M7@mGV*uIs;V01Hb7!gaRy`_;UYVPUZ*i`#eofE|FvlZiT zrCF{QG*zM~Ih@8gfqWy1$2~(!>bFlMY1F@$WVGG)>f3>ZgY*K%wrQ9vkFPOZ5EfVJ z{71(5WB}BN)Nv|TVr~sJ=}!Z!epC?MnDF;;=)%X8yHlZo{XZ*dY*f)BQ7rm1ipkUo zkC{DuB6*B83VwGa?4aNe|0! zr&=#9As-rJ(%{)A-QA6>@k)j7>{hg|qi5Xk#DIu5Q{ZJGlf{cU`$$O}i^c<2rT2HB z@`(8A6SF0C&Y5dC;pL{by*K465LY|^M0Ugew!Bo~seL$G^-=?pfbj%v<7c}|M$kCC zU_?8+#B(=TwvT=?x!LAEcef<%SEOOke^rZ|%_9=X=FAWjXd*K*aU+sIg-a{?O@%xS zB=R4=pX$SEsn22=$YF<1f?^^<&p?RRWv3|iiuy!`<`wfGCrHyO$})V#LWj;ovA8NL zyOcwh%#``e;Im}7XA1`hg9HP{3ah7Mqd#{0^$#qJub^qwxYs$4*LmGI&pS`;d)-|7 zxF-%#1!5ddnVM2Vzi{d6qaHD-qt~O}fLDBZS%2r+PgOT}Cr@T_-!{C&F0Me{ZP3z7 zg6nUDS8wtayoRsF%+>2KD#+(St!gV+S0XXD5k`4Uo?grj3lPRHLcw8NCQXFV zavgAW6ui}oc>;0#{BKSEzv4Y_aw!XgIK;BcZ*V{ws73+b1i&J0WZ1eqST# z=Krp)s$Rl4gABWElDi{0Tdp1yzX2(pXsO&)XwcT`;kWb4@+xtY%HvV=xew=NXmYxL zoUZ4JDxsHr&86)_)$R_Stj zRV`{qUABVLp5Q*h#Z$0%_(cJuJPlJs7^T!5M$K}xr&l)35b%~sVV!lXEPi3O8W~NnAAuHO42ZWG`+2M_r&tU;m(rJBH*I!ATuJM|97toDMo%JMKBMYPgFmW?s~5*`uoOhW@07&-v( zg1Ih_A#r4rfS1SXjDICMZr@%p`vn&)-f-frT(cS~8AO(4>Ki>AQox);Yp4gUXoqya z>XqAlPVMQo?|Y9DSONqbEcM-NsJu79Q1g}7(f${1-4m7@9DZPJX8;L5sL~_snzv{g zXO>exg%x@={SGsd!Sm@T_kI9zkgrIc%k&)i6T+obrqneFB@7H0CVl|iX*%)2;h^Pd z#w`8NH-~ww5f*3R!>oC~h6rg00g{A-hH2vD%*>JFr!RY0d*9EVK>LrM?@v{! zt4^D%IYnDI--GX(h-zIQoS#4MDB}nWX}05cAHPUt#~B6lWhjZxm@)rq0I$%n>$I|` zep%d?A87MaWScNX?sL6UavQTIbVlc@>iR-P3#oqEd@*&GGr@ClaHWqQDxGvOm?}ss zNyXe)8+u}swg?~ZN{Tj;bxD(brx;2I->(QpY_zFnFe)7m{)3ZngV_{A?_?!2ZWPC< z@>D3S4Q@s1vCEDPTu@>>G_;M7q0Hrej2J{FKkwv$N_9Px8@q8&sQOJ8Gj80DwFqzN%h0ruoAN-6Wq=a33MDTu z8N-C0INcL*QSU|7&s03_t3T2=_@dW~kJ3F30P*z$$r>&8ceBzl_bU1Z&?T;tr=|)CkBeuShqNK{Nz@fsH543tK z6qt0F;q^3x1_^n=)^sdfK~mDrRksA0)ulDaTLy>{nf)R_^5Z|+48f{;$UL*t?hkof z#L+Qw2xdW1E)#SoFP)SXvG-ErW6qP3m)&l}SZ87?&_>#4(lZW@n)zPX|dnM=xyzYcPw`)=#lsw*JauM=88uh zEZht$o-37&4h;>x)_%o-+vc#-tJThlVLemYsgv|+a~%WsyH##%)Z|F+fH;~~dmf!w zUWu&P&#j+wEGJ5ti1@rP118rR(Bq`?-zM=7<|=WOeoWz*jTOFY4!JOmHcn}vpg_E} zqm*8lc7^MmdES9QQ?Rk6%;AeD3OYGCc~&7*C+-JsZ4t%Y1~F&G{x(!*Uf9^+GwWl|FiVy zOx}fUa-~h$h7my`-U^Y2SU3c((Lzwn&_RI(d5>xy)Q%fL^zlqtmFBZ)1$&HIR>>YS z)NOorHs~|5FS1J(dj_WdmSN}!*j{ zx5E4NK~tHG0!}7v3zt|0K z$x@M{)a^rvh>C)Z*;Dg#;~&IE)z;Moto=aw>q8Z9A0UcHP7M4dT~s2niB^j*c)jN> zCeHh!m>o7n+j~7e20goriy71Bek2DcY2=$^;9p{R&osB4=q&q$W{UM&I4h-d!ALm^ zmzzTJjr0qw@}7|<8s>0N=~$b`2ZxJstfC^}IpQVCerPH>ezPgJEqA6)O3#fJ_QlxR1> zvO$iWh6>=kxNQ$*k@p}2O=3Ycc%M-b1Vjm>mIK_u{@)7ui2kFw)7h_-CzhJ%RN58vO5go4Jawp{&@vsQ8xfPjmF*{U8-Pxs&mf&M~%bhfi zkYaIX@P(bZheeUvq_BCoG|Jt##aml%4TNxWK_FhiP>7eHa6qblp~O9?N8&*NP6(W3 z$0vcQwBDdBftKxOB+oh|qqi4qr7|wmF@NsGF8Zl9tpXzlr{gN~Q*pX0M`dYND!Hy_H(pGb{ z)<$lY;@9uP8rne995VBhTmozl#oI5Kq(E>)%3T+%1q(B#t{Cj`9V>y2O!!Ytw>gD_@(#n%$c4j8DWlrU8SA>TgNfJhd^Rt;_xVD^}3(aabZMmI%+ZZa1Vin zGmh?}C6}^=x$xX=MXrK06lSQPT0>S-Y!?9yv}=uhC)_Q9i}Hn)@t504!=I<1*b`o& zuNIPDpiGu&4G*UXLh|pL83A(Cfkur&b5Eyc0tDJm2gE zw6ZVbTg$5Y9yU*^^-gIKCbqNR7$k&sqd3WTrRgN}1+~&XX{0_Y{$}!2#=uQ5%J30o z@}eE{yzxX1#2yXXYDMh5Ezngo!g!BRb&i5#U^2i^3m(C+_NUv~UHoN(3@52sqiH68 z0QX8+%lNS~LkZZ=kW=e8zMMhQmZfB_|4b6)3D4d&P}11V>MB=lxc2KCcILx6O;hBS z3L1N)x;F%`n-8=A#l0bl!uxHn)%*~BMWmnkSExYYT?ydcXzkoF2RBax8Uv&0(bNLU%T?*z8`PZ zJymB<_nGPGnV#C&-rr25f}A)CA|WCK1O$qtgqRWp1f(ZeHiZ8G{$#!W;ST|USY;_H zsvs#UN~YjsZ)Ry@3IQPznUV&lk~EGxdiZ;eh>;vhNyI+L1q%M-odV3U0p&+Xk;u>J znJe+bIQ0b-K{&cN3J$7Yt8o-I+*Tu zKbYKqg@*VNNRLZBhzL;}G54{5(=K|f+~R{BypRyib^z7v{*BV`Sw5M6z{=#S`|m6C zNYGjCPm@~z_qX0m3jO#AXb40RuGG8=ZOa zjh~Sc&w47SwL@*Jcs9^SfO}K6TgD}Pg2ge|rSf=0aNx}UYGR#)_cG&SO$ML5sM+@GNeJgX$LE%h%KAw&Piax zhwm?V5nUT*r(WX^xrr}ne-ODFTPzU@1RA@Y&41%XtTb^eQ<`>P!vb=fJ{vZAIA&&5 zr*d&i-~uHcQlFLQMNO>dF$5QACtr3qRt0G2Nh2oF<0 zhR6WT7Z0Hn0AmtBTo2d}7O6)$gEHNQ;6jcKPTFR(fH>^OaUfa$aJ~)c0p-;X;QhPDkrEHElZ=7CWa5fnYl zr=OKAhxUTG7ap9|K0=BP8fQjX3P9O@X2vob^mCx;!j27BANc72=z?VmrQgPK;P-*; zK@kk_-ci58N6eR?;gKRT4KpfSR}3t-P$8BI(h8;%O39~FU@xaqp+5ms;;{$4M2{3! zSbSJTJ`Z^i4lnRLN;zUbqHrO2;ra&H2$4TFt)%M-(bMR6Brc_-JU|kk&x5;&+CR8m>H?v77A}$i>8j zk`}iX%p2Glayo>vEwCf$!Ptefi9{NMx8r>M>51<3ix0IQx}cl_*%1~oLLiI)c~pIh zL&&UHyEHyoG!{-|n3%Z{&F6&nTn(veay`li^sNMmk0goEmKc%}THLJcRm`wtGS!M3%>(8vmMkQ!XMaVDzlb3Pm8B?&@tcyN(D;Q zOhBgqE0I;@7e6kZSE5wPFV0#~Sw$_dEId@{DidW$XPvU8akd#;9CySm8oFZL8{Dg& zgfCu}$5~ofd00oVKUnB2;{PbNZe+t^cem18AYLl8>aaj)akJ8$^BPw$t0x$bRstaz zt7z-4iECH-N_5J4>x?Q;%TTMAsU21@DW+8rm31n&X}YV(O9O>~;&ob=4FbY>6?yr+ z+P$jpMS%svA^o7>55eT3IHIwJt%fazaTvp6ixwq{p+9_$t3S_kjeF!db|TmqStlAO z**Ps^bF{GHWL~hIr-x@8GRw2o8R?}F{EW6uwNtZQGMD3g?G_o^ydGK|GWD^SB8)^LUX8VC&1CcS>x1UbEl~&$2fD(a#S#9GCMK5 zGCK?xp9!6Tt1*8|b2Q`BXRKp6bO&?KX|`lpbuHyoYv(1q8}hyyiHV3nQvb3Ch}t-ObC4pVIAX%ZH(E% zbQTy@9~Fd~0`$VLA;`vBClo=^1SsL$kS{R0SRW-Z7cpCEIJf&eC0zMs(B=5wABc+?Unhp{T`9V^Va0h3p|4rJ<^QA2MDw;LpYewNDuO^jdR^x}J?nZyD zP`zR8#q6S-CV?`0cJKQF_Swu8_9<)E<%1d$jl=GXC$HU?;``nMt$p0Xo-Oo-0$O=W zdtJSEv`s;k!|%VOZ#p@6Z27JzU&MFfY_qC4&wt)^2k1Lg%@)=dUs+?+9W9xCpDM|s zZXL3~FY=={Ht(N)>`cA|P5YE>ItoIBaUl9p@EyW{$) zVXWp{o~ozqfta0`>-FqBIfEwuJI797kWblJ?fq<%$4Xb2UnNgfa5a8*b`5`V#c}#k z$2mz^c>{RROUzs6+w&T96Iz28iFeB+r!&#R=BDZ6xi9sa@^7P*S*zPUUHtf z)k3t~U8`?v+NSqy$7klpbPi?DuotsF$0AKgqa6bRJnN$CJ?~_Y?xEnnMy<}u76g5;$lpN9rLOcJCr(b>a z*HzaEuY%a`E5BEd?tcnu`fn1%5R-UNda_=(9_5^L8eiIOa>l{N@c)j#F?==dr(TpF z6=W4`^NW09;mWyg%;A` zt0^l(&U`~-{<1B2-F%SC!V3{w4Q-(021{m)hLq4WW6S%2GOBD?l4Otl;V|!aBLlb)=Qzj2vhrcEed>%Yt(bm+(kj%r@#?G0? zgP-D`8a!b6?`t3h**{fWtobQ4WEIFn?VU`?IGC83m?;Dh$;im~oJ`Dkl*B;)W)9Z) zDJ)!E9C(00cXxLtcUC5QCv)IuZfWXmiBgJf7>-QvUhdir=a-j=s&K1_0!bD@;^P5a8zI`=|Q9-wgSHe+T|w0`adX|MM0cW&uP#;D1b+0AdQ&2{Z%*HKL@Lu!;xd zxh|}a%IGcWdQK}BLb4GfDgq2VdbPw=VF?VTP81c_FnK!+yc}73r*;&M^$%S7;T*F5 z_um`!m+u!&k4zmQZ)2vVdF$P6JzF{8E2GF!0G@&h6o6p>gAW-lMpi32{grwco*60{ zf|3lwfP5yp@2?U7P1z^18HkrwHu6sylIH>BKSsp(khnLfUG04A|ERm+eBL88|5*3I zbJ0LmkMkZ4+%)6=tqcLhu%ChUkLX|kqcO&NwR^Mhj|z6f_uq1(F~*AakCW{_`1*MF z?crY)pa1r_PbAm#UqgWdk>%FqZRM9wUTzU_9-VdE-o4ygOQq1^3`b&#TVFii9^Q@S znbRl^h$XXGVltAT$>)X5{%krtp5Ew8rgNo}LKp0j?CA!Ad{@^FI^8di2SSnV_Q$cL zlBi-2OtPhFw)^btOq~=$)5#wr zD~Nw*kJgQtwVC+7zws|#Rg068lP7c7Y7Ic)0`-!i%;kz;5HM#~U5Uo(E`=si8R>O< z{c`-QHlw{Bj;MZas{U%~(qE)C`u9p5JgrqC_ewgxOe`+mT2tfxFl{2;s@Q% z`;U|C(y5a!&o?-9+O2F;=>nPnH<0JjNcmiN9I5NtYjcrp(<<$I49D8_RVgFZSmnF0;Y3Z z6A6Qws7H6C{z@BOF~tVK%qJUVq%pUoUlx1nM68!<%P#nR$A?SW)5R=b3WRk}mRgFi zFVJ&Ss+Nj>eOFg{_v=~RcMuY)`btw!-69~3WVY7p9=?Q)TW|Y&dIw*YKHvL@G5u!E z{&v0?!T7j>YgQ_1&}iYvke(7CtmWb*zvWcs{X&DNwr_*OOgI{8 z3DbsGe3>~4?f&o;+skg$ottrhYrmF}oqC;K(btr!`8Q~|Us{B}EOWFyG`h`5Y&Ci# zTkSW5^nLF?!A|Fj`~87Sv>wOA7S!{pvPO7&Ha(K?gh)jX+P#!cV`#SHM)*2xACCHc z@bWvbC!gb-N71|?;qm;Za8{d53lBg$yb2=@|Cc7fbW(0u*z0%>$I(Ns)ak-hhAN3# z-tM`!=RPAGm85_^s7(Nm{Qa_*)8cS?!)eB3GF@13LH+?b6wdccTYTFZ6&iUR44;|r z%|5MX%6J-Q9J*2#jqi(#QlDsqF*LPYwuF^F4bnMal@~tqb))mKyd2%*Ybp$|2x%9l zMz^z6s`1%&fjR`MPubsks35p%Wk#2msMUM#K$ger4!_0bhYsS}^DQ1i$D8n`Qoe0) zfT)pUXfOesKeJ|_ftLhDbNY}765J=L;!Uja$0?%a*(b-MY8!A^Q?tygc>!T31M33>A z9pF7xDyiPB5Ko~VI6~NR4Gpg>H*&w?0zcuvtwRZ$&*T=x=J->kC7S+X?3G>yu#k|N zPiL3JWN}3CXGPTNbyAJG{CVlsdYdz)A8T@h{#jb5@9%Ygl9IYy?&!?(bV`1*?9ZIy zL@)noV*+Ec78KH8G+j_9GVB4g#OK36+)bbyHPJ@{@GWEpe1S|4@XunmmxM!m0}Y17 zC3?55&2;ahsN#(9tT67YQa+80guC&Y-8pnb)O#K{pw3^JPiD)GCw{_O_4cK$zPmTb z3eF$+5I%zT^7~Sn%_&(h2FJEv21D_yMIN)U3|hJ*)<|3eT%6)>&S6NH33409_SUJ4 z&VVpv0NE7BrrJYUqd;6^r|r<3N^oOnSHY`NneX}NKk-CdDI zn{Ow_zS@K;{magvx8+4(z#JAwJP+Uf@xjazGrTVW-K2?p3Bq(2YI<3;_m>XE4`?UA zrDaKaqvSFi7VoiCcKRGlH@TMMR@*IF>FwFJmQ>J6g(H5V%XV5}@*vDa`sHPx*%|r~7!n-F?fG)e=h2 zHY;*8`}KTs56Ad6i=SF_9|!#i#7>v&i#G<&;0gBxg#jO=gAS0QhCC`&#zjl_C?%e- zg3@a9IqkQ`8VvZnA4%e$@t6CAMJqg;sCL~hfi@4nE&2zBwKkCOfQU)?q#IZ_hO_y8 zE|;6W1Lq?V59fk3zdc`{BJuY=)XdPU*CPIEW9G;4cDm?-)xyGuo(u>@#7PcM*Y6E< zd3*hG@}s+|@4B1~vWOWqO-$tr zBU#YH>)B6dRaqvHHMbmE%f@2EQnZ9%EPRg5yiCp%EDc&VAU|YvOjher61bX7Prk?Yy)v{+UEhk>0SP;)L+L?9NAu%m7Z;^z8c4j&s%B@%Pk;{3$)ZhJ=* z;Uc|Z&vNSxnvI&d&m=m**Yo-2lWyk&ny_@(ENqjAcO3QEGns{Sr<+Y`Tf|taEedoq zwDW2OR`?*dP=b1a2=_#uU|#*yWkJK+-mtUYfFVq!LcbT_hEb7mhA@$UUbTYUUSpQ4 zK6TctUf8y#q=dt^#BeI#VcYEa?GN0GqRoQmEuPe7g?d}-;&r(j{?e0p z%PGxPd*JzMi@4QJFEW9JqZX}FIvwZi#d4i4d9s+lWi3KF$G8zc&@s#Icv0siEcpQW zmMFXHDp0sT(9KScy;7ZWOTbX;r5z!u1scjWp9$52vn_GAR7atT$LGkvvNEs&#duy> zL4mpBTWWq{iH?brq&nUzFoew{n1Tj*zEpr;r~GZCY}Y)j_kt=8Zc?fi#4V(!GC2zEd&WQ6l%>)7esgI=Zf?8af0;#s90>Ak z+HZj;_?}u;nhXi1u8I=Yjt750OZhpQ zU*D06ppRw&>cj5$KmLV-SDO6=>2SiYe!O8Cw3mS5^U6Fr8X=yYonyji{d(IV8U7q( z32O$&b;JrUDD8qF)4k2B5PEZQgEmtp|1ON)h<>$H?%Vm!sY@|{R*E`XUl44uQvYLr zu`))5>E-T34gmONn)?IJ&V0ptCFyJSkZ=h#>5c}7U@RQ=7W!V(jeogLJ&j5}gUJqA zSfxfwwSTa8zC6LuC-%cy^TQH0YkK+udBo9|_1wab`xq4p)fyO%=eG7NPubi~v(Y)@kpePS)6md_n)bUtLn7BP(F<9^4y?bATNF_)WtBi}bfjX<v@!Ycg|PZS@V0jBhLRr9`G!1=#%lGQ^{cJI(IQGQkRra(|*EWVaz} zBD2}y3!gvEh%jQ_C6%@%Ki78b#Am07em4IwT>$KT4YKkMdv%+M4=%~de17A3{YKtgS84~aQ7H3sr$*>ymzl8{io%YgmQ=F}eC zi5v{>NUxI612oy6godOmq6i^Mg)q%M0;t?|xPo7aj(j@ACz9P*Bb($Z0t@hvvfMd?joCf+HiIZs%EqYJfC-mk&dzFpe^o@sVl`poo?#s zw2JGyUiv)MJ5$T5Ka|m+0%t`H8#7qg1Dp=0OSrL2!&1=FWziF18F43L4rgbX;pE=z zZ+|pw#bISDNes#s)z|kPBe=CoCY2p06-&aM(=?@@h?4NMG6y(Ul(=j2d^{`iTJ7?z za)8-Nk!-iLU29FsWVdG6in&oCY9DFCrQ(kkmtQd;BNi|Yjlo8Jmcrq;xj|z_7(6Xu z>)a;r*8ma=Jq7no(`65ykPv;jCaoQGpqRl3=X|R4xGr=eUK*if9S;BG6YViXBj0jt zv4zeRk*Y-KEOwZt{3K;y*DnB-M+4WZ=)0ba_V$v6ESC;omIfUayzYs|#Z-=S`L0`F zj366swbryDGX$J9eqok`W7Mn6P>3Vu2GOfkx2iIVJYV7UMsH;WljYgR?<15-yMd zFPx$1078)9m-4lU?Qak92&H&6VNuB;qE0DLJh-e8XQN2iywlX45N65C?Z$VA~ zn=Ns8V_&eSWK-PKhEk0g9Zjq66-7BFM0IClNji&b9==6TjQ#!`je5LTxtzcOdNP_r zPzKmpUh%GIeSd@gkR=9z!*oJdSAsW_$8oKkek+|f?EEao6Y*c$zl!8Ql6)9ll!F_WAVV(t^R=CE24sz z`xA>2hcQh;mO^8)=qUtFe4N6_EwsK~&3pv}%l-gKs_>?yYAAhBjTXDbW$vH-3%#Y{ zjNIob-vX2Pu2)rGPnEExzm z)-zp17j}rd@Gcjl21Bh#xu7LvxZ)CRWPF0&kFj6Rx8^iMOk2^@{& za+qfQErDH51k>^Likb-@CGt9+9eXgjir|Mw2C!t~GHEgRs&CeG$xz4}p&|ZYRStpL z(=lII`rH^p;`hinl*g2*P|`MmBVKp8u5K|g%g zqHng16rdwu)_Q!)B53HuRYL^(bhN`s(V+ks(Mu7bUF;@YIsXtjIHA6aBSN@zUirX( z5jydJ(5^w?XZd)rYQzdAYR0!Gx9eaReLG-UcX=f}iDd$VAGi_?f%Lr6^}^>4?!JS^ zU)uJHc?~G2k!0>mA|~{yWSmFieY^s+w^&{|f{EzpMYN00w&W z`1u7FvV8wPK)b0w_sd(&-ZOe$Z?D{@)7g@xzSE?2`n{=px-DLeIee~}P6sZfA0-og zrbT1#Rs@DKyO2>zTCA7npONrr?Kk-n0Lm_ED?P?|!%;+ON@a4kEk9+m+U9b2-D$O3 ztJS_cgqgw+=lCq8v94a<->FQx-$Wqisg=1OS*TQR_s1Ex7TW}FXA3A@ex0yaDz7Q$ zy$X82J#G;-J0IGu_PWEFPNwe&5{NroIsH`c@$r05dYg^ZLb@j*AsNLJc{{Ch2K}}@ zSKeWDod`KfcdND$y^eW_MMW3Dc^4a9VQ4V~zSB%Dw3W1;OMa)eo6&BwEz{|6(y9S` zk_8}z$W7<)lGX;F{cKX4E0&~{zp!uS(>eF&bxF5d@A?8}1MxE+yWNGaGE9-;}G!zAfHWi!(O~N$e4*Q{*k3S6EytEp*BY zdcD7OS0lxA7$4@1mzZdRA!{HQgBG-S9!zSkwp+4(l1l#X;*1}Eexo(}NTcD?9}vIL zsYE{}hV>_v$sdm;7&q3zp#iK^x4JwjKXZfO6T9_hA}ZijcAX2907gS656(bKFNM$s z)S9j}#ht?1#_278eI?DCwYki4s4}^C^0nr}uoQLTqZe0DR?F!dnZt%i$#<{WfiF>( zcj=Cpq{H+I=%sR5!heZx<1aeJm`qp8vLgCv+5;Rqvw7{wRV$T(5pf(#yihV{ zThDoI4+;XwDwm5jqnLHR^n(9`CI6{F17i!*v**?!!PcwKtMlp9c4;M2>ST{M zDVD<%i>viEDbMG7jXTffou`L+G{} zOYz~axCN!MgmXEak0zV*W#lY>hQ{X?TBOBq>=s2bRW~D1;QNsjw3}^YH5*L|4119a zT?ay%wO59Pj9;n81`Q-*;zKE5LKORLXjwb_Gz#y8xB4vcl6;ZRBr zrZQ)X5#HwRnhkc0YA!;f@G8{p1;4q!3!o4##9eH3*4Zl6#Q%h@bx6P68u^f>ipwY?pT~!jt{S3Dq-Y$moDh)#1N^yU6slvb%Uf33~Fh&IONdL|@N*uSyVv)<{l@uI`*?x$wq^l%U|kqCV%BUK&l6z!L<`z%DpPmd$Asw%8l zbi*(rc9SdD3kAMJS}jHh>~;$Qi3lYKCduYQO`yGg;bnaqg%mok*_Rgja{H~#0bq(K z5h)=0X|&kjqdvoR9HUS4gA3`FpNq^&#VAsb)m%Hd;Y|79qQnS3%36fK!c4aK!LAcw*;D_>*We90c^PboQdRklNtNT=Da%m1$8o=DqRiQ zExRHC6VveVLgZkhZVK*?%b`dtO@`IoGP7iUZ4RwAJ7|cXTT}VA>SUepz1+vUr{+3NQG4luE#wpG z(%T;&TIr?9xoCW5W86P4Yve(%iYAgH<$TgxpjRwKKtmV_1I1q)_i9sNU&Kbk0;b1E z>SA$m8<~8y{Ie5{CgU;$JufUe)DKh!{p8!iI1`=UhX-zt=lvzfk+9;~t+uAcze{DZ zA@nam5^}hpn~rB^bZNDa>s-2DtTWEr`eyUH%khY7d$dr!{-F&46^bFqRz5#9V-p(l zN#*i!Gp3W4d(O)ue%USY>;Bdl2a6P3yySIvbh#j5;rMkGj7?xZbJXy_%;fR|Gm5*J z?G3AwLJyA5&OU}#R$8AD!HK&leThTF2Kw0HWoC`Zv{ zQd{BSSVL6bUY`eW*e65{|Hgaoce62hm)1f?z&x8alqhmtf>bdWylqsJo|?n(@8jv(shmRiZ;6eBpG?s#;hf&aKm;E7X-ON zJ9NMhPl;xU9CH zw6;m3ankqHU`5K0LZkc>j{kgj8srM`zJJxsY)oa;|B_TDQ?xH~I-nPc2kaStvH$r^ z)*7ZQ!R2^vPH`tZu&{`_h%cFSSF`9k|Kf2=y#UNt{@H!&Uno%KT0;#aN8E;01@!no5iG{z>fk2;$cNQ}ff9g><^4oa22+$FG9= zK`1gCCvBBh8OxphS6QpTb^)M1-~ij}^{By6RVU4{JJc*Bvd#9Ck&}@)r?uQFMGE`l zBx3#JAUD(~4Kec%;dZ~lNW=m-@k>)fYqf=DN#hF7J{9QRkX&ZcAx|)R;5Gh>9^9Ut zF6Ihipz+*vxhl+OGN^63fp?2F0>;RU-D|7J!p*BfA6e>CfuU#+L1;V84rGIqq3lW~ zD0$$){+QBk+s_;j`|uXX9F5%V_XiXG?ND33(v;#cDWxpwN(Nf75z!6Y z<#Di+&!dEKV$J-?!CPeC2I8l#BNO9Cx5=uVPbnV!CzBoWSh)q zkg5vjiznC0shW{3nq5!XF*({~vAawP7@WXcisvR_+sEh~e~>)|E|Lj+!wgx4(OKtDj?j+8gCR5p)%m4T`IzW2>b13*!! zTXe~4MDlpfONIt0a!MG7=I9&CW-)pCn#pb}6C93Ql-K!Ky4n2=smvKe7NW3=-A5;s z(tRPKV3!9VwuQsMRH!C3w{XmAis!hOSt|(RxXxAjXB5X$Iw)=2B5kp1(66chruEZX zzg8a{tL2T0)qHD`PnbMJt3tZo@O0U%Zz?N3NCrG6RM8d<6j2y3+i!nnO1LsUY4}~2-Tj+^i z04>fw36DWO6iDf0)x*pRg8MlzY9S9NlP4Aza--hdo)wKB+!##5Cz;AoJyze6Y9*KY zG>RFQE}m8KlG=lT((Lz#ih#k0b}N^SU%)XpECk*?$`=L{7Ej3S6M-&eh*~(-48wR3 z15XgFOj!tn^&v#e1c4BtxqNarzwbi~av&ri(&DSk05K+pNO~Ef`+QpXp84_UAj0wN zY^{E;oMi|ryXr);mSVc2RfGc%SNL{>N(j1w4c|&*zecLW2J-es+|dWsbAu$2wP@1! z_bGb1OJyHQ3L4iF6}8_@VR3{=A!?ay6^uN&DjDT|qFjCI*GE4nf1)+}!ykMu3YRwL zqTpswoE_-MEW+W-0`Fv1{5bt?ZL+ZLp^7;G;P# zJkwpe-di|-ljtL#tN0xjR6-81OEo>J1nLJ=rq(51zt>_Hw;JqTBkxZf-{-bNwNy}; z1LMU%Dx2!UTi6Vr^k#B4pZyxBR%tMTr7cfGawZWWIGoC{yiUE*k2!Tdg)<`zIr}i3 zZT7?PwIha;BZhiH1YocO6RegB;sRlmO_`8FJ(1738RFF_^bo6Jyg@kIk~FNMUv2p$ zeeXeSS1ZQo6SRjE-zUeAe9(DK!ejdMRdJCngb6lj5Q zlee7g!S?s068IPuV&E7-nJVL(8JM>G#V;6t@e9WHpX1;^A{5h vv0RgZ@lOCoJsKGKJnW3L{6Ffn?;Y~BI8dU<1>)fE;YP_Xa$>b220{M=7|{eR literal 0 HcmV?d00001 diff --git a/AWS/image/1/image.png b/AWS/image/1/image.png new file mode 100644 index 0000000000000000000000000000000000000000..5516da4f32aa41d3471805ac886d5d8114ee4204 GIT binary patch literal 28135 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 literal 0 HcmV?d00001 diff --git a/python/amazaing dictionary.md b/python/amazaing dictionary.md index 9810d33..8f90c62 100644 --- a/python/amazaing dictionary.md +++ b/python/amazaing dictionary.md @@ -1,3 +1,30 @@ # Amazing Dictionary +```python +dict1 = {"name": "현제", "old": 27, "job": "Developer"} +dict2 = {"address": "Seoul"} +dict3 = {**dict1, **dict2} +print(dict3)# {'name': '현제', 'old': 27, 'job': 'Developer', 'address': 'Seoul'} +dict4 = {"address": "homeless"} +dict5 = {**dict1, **dict2, **dict4} +print(dict5) # {'name': '현제', 'old': 27, 'job': 'Developer', 'address': 'homeless'} + +dict6 = {**dict4, "status": "hungry"} +print(dict6) # {'address': 'homeless', 'status': 'hungry'} +``` + +- 파이썬 딕셔너리는 + +## Example: 문자열의 각 문자 개수 세기 + +``` +from collections import Counter + +count = Counter("hello world") +print(count) # Counter({'l': 3, 'o': 2, 'h': 1, 'e': 1, ' ': 1, 'w': 1, 'r': 1, 'd': 1}) +``` + +## 잊을 법한 문법 +dict6.update({"car": None, "computer": "Mac"}) # {'address': 'homeless', 'status': 'hungry', 'car': None, 'computer': 'Mac'} +print(dict6)