From 6fb4f085449cd670d0c1f8e7298967228a3bddc3 Mon Sep 17 00:00:00 2001 From: Steven Smith Date: Tue, 22 Jun 2021 17:42:43 -0400 Subject: [PATCH 01/23] Adds content for Clair security scanning 1 2 3 4 5 7 --- images/clair-core-architecture.png | Bin 0 -> 47380 bytes modules/security-intro.adoc | 145 ++++++++++++++++++++++++++++- 2 files changed, 141 insertions(+), 4 deletions(-) create mode 100644 images/clair-core-architecture.png diff --git a/images/clair-core-architecture.png b/images/clair-core-architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..2cba02e39adf4199a5b1ae72381f315bedbf7b0d GIT binary patch literal 47380 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­?^ z2jKkW2hCp8BhIcB7chmbsG>p)C_i{bMI2~(1+y$&T;f4JctVwdvFrlL6$qGs`r`+; z{OZ*!9v+_l3za`B=PZik&l9@iFkHMN;5=wvpbri0|u3LGxc`g=6j$_3dz&s3Q z_~al70OG5GmOED>3@bG?wWZqrZMmTma9V>9#Rh(&jE#-=AW?=9(c}Rf(H=%TIy*ZE zc2}p)g$XoNt*vkVI6RuPqo|o4I6C6_Z`9kr0VQFca!!|+kcTdjoz<-!}iqoWnYi7qN1v$C$EYWL(NKff&S2KAW7gNV%lng?KofP)5@!2x*=qLoP@c^(Wt z6cwpPj4DYs`-z42+5d93dfAvIp-9O5UDT8~;;dtZ_jxhi=ss7*T*RMJpnV94xySTW zaQVV+U2!#h6o_db>)4;CiQm)Y-a`O$fw>M68Ay zSJlyF5(?OaL7KuqRlrB92=7ap)J=eg4Zaya_Qi`A1wVcqy%b9 zdmJ#^tuwcb+IcHtRQrd6m7=pqS6vjX^q_751Xr*D&g`1++WlVE5+@&FJaWFLC}&WC z^@XQg@jQ~kUz5t{J&&ESD zYznX=D=t8VKrNjO_XL4X!dFz~DG7^R^R*4o|Ga&CfJq8C+U@`ey?1$;5$Ni`_N4;z zjSFd6I~-1is7P(U1ARwM0pKDpHky#7`~MULlEHo>7FkbxKR`xjtlx6 zD9}%e18&*&cWK(@s(uQXGbq+5?wXqz<&hq0<6h_xpiyZDm1X9H;`v^wPvKe zcrkc6Na>G^j&uBiOK<6xIL{UHVgjZ375KzNlK{er3v-_?Q+4DFJ_JeEr4)6Xbw;2d z1CC`=jWgEQCyCreL&NO=AV!US-~>ElO2@ey+&da>ZGB__=pCR>0}>vsPua(h z$Ec_VARWK~3tcudEji@vGRG*f9fc6R&Wst7rW%4#mYA}GiaJMx3zsj`al-ML{HyOFz^7NV`y<$8DgCy?86X)X;JbG{_cBR6G||+~ zv$-1`eY4Y=0%;G!NMk&}VguS8$bTfJOShpN`W4JcAd|qIj_=#~-=jK*OC7lJtGFAnQGQ%NI=)&ZKO z1kmtWZ`~igaIgxlAr*W2^r^)9@8&_f{2)sUMMW}X1H>b&sgWlk@&oL5Y^9Q$8)be} zY|c=0-LSG60w(eT*)dq&a}d{W`O@WaS8rpMhQNxU*17uTx-51F(e=clQ&O!4M>K*C zkK$m!{(ws4^Eh(}?}HqxLp&vG{5Teg4hTekLyOD%%5wd8(aajZS zwHm7&%N_bVdHG$CUYd5U9}3qZvOeI!9oB`9P9K>TE2%|x$2=Euw@jwJ_{JHZU6GpIwjgFjMC|?j z1*S7djyN>ZU*Jt$)D5jMwqfwq=Piwse2R_2&@4ztM|U*7u^HV+sdzJE<47dEmvwaD zeZ;9N(M-q0$XF~PH?S4KkciSOa)J7^I{*@sU=@29N8$kx<-=idCmTrHVADZ#wTLfE zPv1zDZ$+mQ_wBhprU!!+Dk>_(Q=lPRAg9GsXl`k_8Yu^2sUmAgzNy2UQB(Inry_maB0EOW3v($`oik7%oo99zUzP)0OMJSFipO04%F zjT@V%-0dwDlzRnB$+$a4XVNRd(x*Vb;yxs$UUI|6!h1@CSS`m#D* zGVrQ5&!HOxpb^PV=znN2ntg!-I2G@nel}ec6_`y?ZEM4j!h19y5bfvB3M8l)^05S@ zY;U(9M4{I@IzDcUJl=bm9tePj0 z;Uyx^r=_Dd$t#LFRkdjE8kYI&>h&+x*ACfgCgTH^w-~lNu4h0M+(u%pLv`rwvNOAS z2Ie$H&cUetIwnk=ogZ{}$Ca;RD?;@N&^%oxsu|}T1iH{qx?74@^zkA`7f6!@kf+}pzEgKx#3Ml3t5Ol z)XG!5#7s~vh}%HX#qghJXqapYb2>1Mo&_ zP1H2JLhy+AAlZd@mdGU_VSyq8?q*{4!*z0jQsFw^C<+%|eBqBp2 zI`(>N{Sge}PO(a?wdgP_65*X7W=O?X^FEYup{m>d1e_Q9-#^v*XOQxn+74?TlEk$h(oLFbB}or~X$<UQqyvI1UX)TQ?p;rQt;tL+BZs8Yu&PfH4-*{Wuol-eVH>v&JFrf9nmTTLV~X& zZm-j8a~)@9@y2`xzG2R5cxrQFYI#n2(;hoixX$Cf~g5R0Fnr99YbT|`v}Zb0hK_t7({LE z;2?$R6KY2ymjt~Kmx#l>a%9dHZx+QQE(F($XMZI!x2dbEzO?kTL0GEC>Ov*}2mIcw zAvOU!git(3YVJuzj)&6<=@MkB*xy)D4;x2}keA}81%+mxKcEF|Wn~407I^rO{EzpP zFh$f>LN&|I#kJmFybA$$_?0uW>{Rd0rVE2-74-m_+`JhL3p$xCOp4+^z*{6s7H}27 z;iE0p_~{dEvmbTeg+U_@4ayopsUUd|*9y}LCWuxxf#{1Bsc%%2wf*Mtr^h2<}G&FF!)}#EdMIsCT05oq7 zgX=A+;n=XJA}{@Ed`5~glSGgvlh9^g1>3U8kseo6QlH_uDP-!s5ST5 zuwv;}`lzL%Av-Z{-J%PB74g9JE?=fX$?#)B6YtS~L7s(by0B>z8-za!V0$0GG7$3! z^ZwpDRvfCGBnVA{N=gxA9htTa+qk`Y5$ZE6!jvB=ah}dDloAmZKKR)ueIy1zuugP50>i4{+Ft|6C>4np;-;1F1)yMQx%jrT2TzY$c8C zwZpJ!go4?%E0?8O>+`rpy7sma2doHXP{*E#+OTtIN@Q_v-B{-1Px#X);rCT)esPSF zIZmnJ^>vr!ak0R&62XbbD2q&8HV=JYyOBh|!dtJZF;?VoQr1w1C)IotVd=<`Px=Z7 zH1(tc+Ci<#tA9ESb$lJRwDFOKcBlMI+MSCSmF!JRwraMG*Sb9zw09wIK0^5$CH=n^ zaSxULYe|qm+7YHA!1wfHjwNSxmA1Yc<)`-y)lr(0t%82{x82{mMVs5cdtC1CrP|$l zd)QZ-Ta`N=Y`1TUT1({Hw3Eq#Iv!OEYzpTPXa>=$5)Hf@`QVMpk8+VihothnKDqz> zV`gUAC?)}Mya&8VpXY!3R?M=0AL0Js#J^Yc;DQ=8>z{w~g8gsLiun@tpIQh7rT?Fo z^WXus?4J$}R#)QxeGJi;`oCxMf9vM|vl(m~9k&sC$l3`wVJ;^_N7PvICk6qfZK!|D zY3;j0$Nugc{%Xosg0CEWicAEg3m(t9*pMJDFS_{o+_UeB{olXwZ7ZsQ0`R5X);Oiv~eEA2nonzDA?JSStCugz`Q z5jSS4P4oYE3~)<7bcFb>_&T(RtIN>U8n|6((l{BqR@RZ>9{0zxw|1ypP`an_30LjP zr`9a1m_Joc6)!9kjiO=Iiwr`kxpZh{y)XqW%6YwKHe6EU(VxuZ{zNBZMl{#q3_`X0 zAHVa8z@n>d2`*wpt(uw|j@$fU7dRe^ihla^iC0;NyyPG7Yx1Ii}(WBsK{ zchI(5THAu&6l2f`*{%cOCc)tQ?zk7fYSG264dEyLYu~jKQ6o4;T{yz*R4~eA4@=+0 zuSo$#SuO%VYQOPZzmLX0vesEe9=l(I@+c6dbs;~d^=^6q2sr(zc-z|7fOp)QGP1HJ z27(ni6Bg&ikxxk!=x=Eayi*tWSbMpRBWPx_;prOclrxv@1-=UjwdLrDE_joTxC{-| z3knK9sU2Es+ME+X6%96>%UEs+kVU|gpS{UwXc=gaFzg+$%P+O<-8SNA5+g7wI92rF z>6?rX3T7kb1uF5wgEdsYwF@2?M4nSr04$6TrxnYey+qScpHrjNBGhWM;8H5odV8S< z+J!GYjm00_ZkU^|Lyj^Azi8V+^2EN2YK@!B=EejafOuVB8QMxBF0-k=eenjKuucU$ z+P#%DanD_B$+m4_^{dIh^6i=UIlrEy(Tvu|!mpLchSMz0mF%6`UM ztDRoLPm|IQ;1c|H;adqe*`%Z-)W9S=MjGOdQ}0DKzVn~6=MsTW_yC%z8k@VMDQ5pr zQIe*8rlF(L1Kuki4UGlpPQFfk_3|Z2siVsawDN~1CT=ygbT?FqPkqdDU;X)WC*l7a zLPh01rq#ph>T)b8Cw(tg%Eu+q=SI)LWITOjAIXuJ+N|4+)^Nu?Alz-srvCl=!$*NO znT0WgG@>G9gDpCSMgXNK%yI*bF6-)^ku^CUZqfwg&PG(`WYm$k3m0{-syHg|;f@FZ z{(|PNe9G6QH7S6q@b3ATl0tX*&~a*VzQgfVQ*(1GEnE_-F=p2aEa@ISQWiLK<8I+m zcoB$Rb0J&xKP8ecR{u?*fLFbT9WBJL=xF-u*CXCqRPQY~C2nq|Q=V{^baZMA?#U~{ zazPAz>x&dKC7Vo}Y$hf{MTHh@D7uHF*L*jZ3h#;9Y^=G&xh;r*1hhX$RRESv5yFB@_|Vti$_F?z?MF7#vlyVp=p{ErI|!xp#3h>wEERW;k$mIGQj_1CQzkwLe#>K>1~ z(CbvF`QGlpV(02mx#D3-yZe9^T-{u6;KEP^1YtV^7GzN5d! z2kTpNpVXL|>vqbphL{>VM@p}iF{xeFstr60f>@94MyuCm$$|3w128u)7u+*hU_q73 zsaIAR(6zQ$vPnm}Fg0+Ol&QQ_f2^hTfvT#JrttCOYK*H5x662!ZmDi+T)(cBIqL#e z?#r~7{aQVq53^?Zb8fi>u=r8{2n)B$c3<8-Sv;c49V=bk@(#|bC_W+?CGjp*IPY>omf;n zFH}5JdJjSBiu3s3$L&*-Kjgul_iSPY!-jU}zJSV~`3`=qxy4mJdvf>top)JIq8VlS ziJqyR{UdNoZ@T*T^&LHb-iJ^5Uh1!#Tkjs}$XO2`iFXU%bI7`Sh`)XI2Zx}rP`0uB zAs&fM2xQ*$_1*HM; zqZ~Xed+uC%1i(e3c7A&LL&VDZu#HsIYm(EVB|RyEXB+yXB-r9oNUNo@c_C{|ZfVpmIhX?+j z6+UyEBQ3B+9$Pen8wR7c8m)@h`gXdhahg+V_2E)~E=KZRV8?~5jgn%-1EWQ@z zRO{K$`#MEmwkCZx2wOodEE0hjT{A2^6S@V zYB-Nu^gK(>@iCGMLH)PPKLm!I6?y6no*=Ljzjl zuTiQ}X9zfMz}5}{TEP_i z$$hSUxGA){IN3Kb(Q(7#78<+T;NgL{ubbg}8+47*(j#46G*Yvo;5h`fy17&yy%Y64 z5-&6xF>mV@X{q@5Yn zr5vA}ojN=?=tqSsxH z_uP0-ZUl>OPxZ)R)3>5Xz-L>_NZ3>v%{Gfa#7fvQV6cRViMj#Zk0&?e4VHg={Yp#X z+avvP_5g?UJ8FxBs5!=>0nzx?;S>BNpj4&RD!%i>nwmnVHA^cz`{q3TdAajTUwt}W zzSg^MK$})Ff7N>Z>khC;fSQp^OdMWv*X^_x88R8-v^Iw)Gz5=t6vOv%M2#+8y>c}x zFDVRf9B=j{O=01vga>`@2xqv^+^Zt|I6vWC zc4YVNZDWvjdZ-o7Gt$Cib%Y`C%XgRPsm(r$o&RKT+wv=i{Q5zEJ>ngbR(X(g7d@Ay z8lFnlCMnX;G0^HaOD=wCw)Yb-DD4Ur1?j!_OiT*%QHlN38$$94#Jc~F2m)43Ry z@fFBn0FOlD^z=TUm`t@18NK7}0`IuZImVZ_*i`Gpw6|M<`a<|x*mw=ZATBQ zEX!rPgFMz{6HXyY$3)$iJaCRfHpc>wbKbT_5547+z(M=JR$8MasmvWe(AM(b9GEPOdV&`bP6CoW2k}9h~CO zRlij7^6t`aK{%^Vlfs$&82uxDF+O?zuxIbzKRUpn!4DXEb?UJ3#EKTI%*TJ^-wO}F znrd-V)NaWGJOLse0pzW27tlG!tQH*|gQRe{XY)Ie5YOtt9|S4sdMd?p`+QEeKqfN> zhtTg9Es&$A;1Yhn3PH;u)3Til);0FCgS#;HgHI_W`UggJ=#`QKmH!W86bsWIOTi? zo{m-GlQ343+V5vfA7A~VI63R(h*vN*>wi#=NJx(e{J>#}3zcRgr~ZK50jG+FAv<)B z%L5yi-3hfKS`=An<#uTZV!0iUIwn{Fs!j?hhk&iZ9phbFc%hI-nhkEPcKL8j^{)Q~ zdxm6#-r}O8o#VrfIaUVI+-dHNr1+gc(#0GwA1mGRKb{P!LE2`UuRWNhsTASYF+rG? zFH7vO`Snd6(li&RqIF?aiDi$tweCf@Fly9CMM~c8$RTST{5&S;mag$MrurT_SC*C! zAL(7Mj^Bup9`Rbv^%An@D(WtOA8nOwr5PE~*dth9YgN~0>&B;JYA{!zWNK>tpmBtw zV8v9*+fR(=4_P{R%uIW7r(V8l#rOoQmoi$l@~js4nB3RGI9NTWiz&o~FSa!sEW9@r z|H(AwpHo*n8CIP?+f&S;@UN8f_>&vER6VEk=1R{}K!=nbQR{`g^2DCxaFq7lZj1JWCMn~OpQ z=hB1zVrHFhrEb0$%r=Z>4ZbjFFTNpz<|C?Keu}yoL5<~y?ky}F_R9b9qMb}0MCw$1 zvtU_lM?|)1yhGd;X(u zKQldlgaJOp;GQU{s644PwT-Pcka6j+G9~f3TPrx@{NcWgfr5epy6N7>Jw^&$s8~(C zBJb2{mFV?U#_Jf-nubrW2;TY;W)(SaP;vE7rGB6`>p^u29V2~t*6cZ%GuqaJZ*AY-oY>FFQGtw)~Y1JN}A%ef(Pf^y-F{i zXyQ+v^V`yvQ~AvyHn_?5(kS)DolUBE5vIBr-e83!XSY>hNk0H-rzkc0~+P|eX zYxn$(Z1K|#lXaqeQVqlPJWo_omIF%GZVMC&{}2whYJ73dKH1dDNv3%mlZLjYcYh;z zydt_ipO@`NP`HBxuT=3OEA@%it*+BXm#N}v@nJcmpLI@v7a^!@S&NfYn_I)c>|C|& z?%bGU%^TI0$}h~L|4bcnaExP(&%KsuH}r36KG6-e00CSo0?AEgUjD8UF9QdeTjvn~ zEV&!6NcdTabKbY^EZRi{N=Vn#q_KlB5owUHetOaD>>-82ZF+hAibgB?MW9|GQU-%1 z`}-R;7^z1h>YvoSkWab~z}=RjDPXij|_Dqa>A<7_$%R{8#&uzf{#9~B$ROu1KpPwWh`Ni)xR z9?&`zYCpqZD|X=adDQ$;dIC&OTsy7RkJs5-M-V`^k+?TS$%xylW;_9cW0!n^l?q&~ z^uyvme~rILO^%L>Q$!lmx%oX~=6i<6Q-B52(w@s?+T0sfjPZsPQ}D+OXKFQ#kX#)+}$3xX}Gu)k@XKN99iFSKo3pigB-0qdF}u>z z%Fe;XMoW&S=Rc)wZR{Dhy2=A@ccT^Jii0@HYxy`@#NYwh_J6dETmHV;%jC6TuM#H; z;9=gk*hx6V1gHxb%{zQ|%s5K|+8{w!cO!bDqZ{38Fvymtq&Mlnw<1pKqM~Klg~@hh z&<3dnsEU@#=a6=KER1*8lQl}q@drOkFOGv|e!6kUogX z7Lttj6q0VcH|4%)yMuIxv&Yy$lB)C7qK>oMF-{0l8g}a8&irhphe7tMRpLuuBZQ~d z>>H6~l*O-C>e!gqQKF8pp5j@n>X9=90P?cT0LxOvfIO3*Gq7!UCY+Mov*i0Ko~XiFoNfVC%%Wer^yZxD#V z^?(T<%n3lcBHGR10KUCe2cD#tS% z!OKsNA3@i!!P%M7TOK&cUx$ZojhA}baarjCL{ zL9v#*@%06WpO%Ar>N20u;-wiH+C2$jQ`r}I|JCc)0AKCeInkcKD2mc+DEO9?f_Yl# zId}SI)Ph&fr@afsGqCJ{ekE8X2~g!n1x4^hS?K-Xeqt8>?gNANRFMT0U|{b)nT{Nx zEs6xq0Iog&yi&l^Us-V__-0s8w@TK92~BUZxg97{08Pc*7RbScf}{RE@*Q+cOewEk z`607MKNcb*QFuk&{C*N_Jv`BGEiL_X%Xv0^TLTBE%Rhk|rU~jfC@(8eAczQ9#)SG^iFI2kth+(j8|tqNK-G!w2Y)ekac-wI>)a_N zn7%5t)}_jIbFdzJD9{b4F=U?MjvI@%aJ0xuD)5h0=X;B9R!+sEDfBAxp*)M22o zTJ|g)B+w?ni{N+aUCVYltQf&nIDDuewZMnRYv^@e7w81$P9Ns>`cjlMf)j(;Nqf$o z6|filI!X;hlOTXK+Xrh)Rih6s=BzL6+bw=UlrrJfE4uie#==4;yWgJ(Y}Ty70l*w) zC2$ov$)~-Tp1SewKG_J5P4er2g}^|b$$$Usb`!`m2!0xv5XevnF{0O6wbvg{`pJ?_ zPn2(jCUJL3W7#nrEXUZ_nQxC` z7U~rE3kfU$GmT6q!^GW}Loc1*6%dW42)*!=u(k0_Br^DG_iy}K?d z>b|MBdBJp=6cUk07!1w z@NjD{G+P`x5SvJXg9uTd01#1NS#~;;=6afM%k6R!C*ogQQ^neFlpeYiOAAIl2?)=h zQ&0Z*Ar48sH&a@M$NHgbSL3X1eORt6-i4IR?kquq#lFCTCG7pdKv4|mOeiT~s?CBU zLtI>3IfFlJi4bI=((wMyx;WXT2zCN@#MtZ(7sOUlLPG<84PyF)Qz1CoZ?tl^LO)Wj zbGu6xluM9-P*L&m@u@`?LNOze%@on9C?`jnuRXbGHq|gNkUHhIS<=97<|O~T>C=zL zX&y7&9kel(`uDbM`&XvDobpF#PG^i>^G3l?tDAkHgy-=O^*rlI%2Wl~(VeUj9ryKl z6?w~OWAwMNc4t1adTUY}vtS}P);`IU#VWeP@ZU#*Uq@=rnhFZgdyG8vXmE+2T3lTw zDo8@zjDjxQ1f1d&)p!h%82&Ld0;lVZ}MfNA*S)x=A@UQgP=;@vpe5KdSo2y zm0Vq2cP?%F*3t@d+Pj%?p$iM%bx%d&l};%e8BqZV4b`|Z{mE;E8AMqqMVKr1qqTH` zJ21;|2r3@oOV_SNT2!;>t(Azbb+1y(1xQz@o+iB4LmnlY6N3WQe#%Mr!#l?eY+dSu zh)(ASbyLE{pRs<82*9%fEJvzFI6$jM^-gw>6IKUXm7B4Rz+{`f$Fz0_f@O>YK?($h z?#?5*KH=ukv{m^5Kh2|kdZwgdQ-3mynR+*$Q5Cs%YZ69aRPZ9t9q%fP01XQqFq6Y? zB%X*EAnCwFyGONcdJPv9$pQy(Xpuw;x$S-P#)^cRn)>b9FAF=9nyS%)Kro;B5-am% zha?ID6I1JAN{%ct$g1V_e|}AJ@qPU5ZbXRT`uKRaZqg}x2DZg)MQ$yBD=l_^|MW3T z4(;P(XXkwO;>Gzy{jf!W z&j3i47h!YJGbN`+y}RMzTbvx6*WTWFE*FFmtnCGk9I(OA)>h&?$P#=3OiXr8PK-K> z1=9}>e1yCLTrnV#$ejpoIdN3{9&LV?n`^(eWQzlk(r<7$-+wJ3kE%05kW$rV&4H<@ zKhe*!N;cPHRoHWF%^qV-xoWvf3=?AnULAj8zE$dJ)-{L37-rm+w!?EjYPNz^_MN_J z-|bt2acBc|rar5o>C~PyvQ{)!KW1p?B_9P`F#G$f;q@Hvy!zXo*>u>e9z{HGTwZY-n+&pU5p0yw_{zZz{ z<7;Wu71QoN-IR|tJ4>DnGs)a_qmPZnpkIJr%34ibeY9Zp_@8;Wkt$MFk^7cSQoa3( z=!Qe5s(b|G9}sT;(7?-e-`^G0E-j=qWUYw*FY{p3^sBGm%)Y*YNgj7)n~IMvYN44V zd>iv~tH-Ype<3qiD9^;IZ&`dsI0iNdgRC1DB0o|1%cP$Q18b6(oNn?s{?Sf8S*2gR zeFfY(6OS((qoZe7TK?>x9`M3XB7yy9s!yNLP9GWS0|)l+++NkP@wof%pyeXrR~6e& z3&$AfKa20~W^_=82VI~}dpK_}6ZLT#21@}&j3nfJNTJht{_mAU$REZuR9pobC3pT+ z^jKF?FyeEtx+J2twpEtyP^vJcDldPusKs$5;=*?Zm$1%j=8qLbYKFiWRWt2=v?4cn z*(wg%A2U8pQRs_vhYJYb)jcofS7T`zne@m+lkyJRe(Vy*!^+LZFJE9MYz+}sdZ=z| zmwA}9BkPM~0r{gE`-1d@G5V`5TeVNCZ2ve2yEUZeM8Fs1J|KTf=G z|H-w7{r!gUPCS>ZfWZy#8wsacue`VFU92!vz#TY15_|g}=4Qbr!9D8g zJU6tG|IKWa+j>8;6N?5>&eFq(EG3AMMV!7mGmC_McJa1Meja-P=`CI*dG!N|;atzt z2|2Y$lQJw6%q=eY`tdP&2z?P$R*9E_dwl-u%S|_a|GUTAPA38(T2PsV{*htF0*}W8 z6`RV%t5;b`MUKus9uQ@4UewXOwn{!@^i(jM`tm`pBZKn^sg%c9qX!C(eWi0f-_PJ| zFHjxCI8+d0Z3sH=CA;f8kFs81yzdtzEGYQ#vZ|!4fx&*yk{~dhi(KZey}Pj=x+Eo5 zHNwOF&RBtQc6(=IVElMWvpG0yBXbF3uGW&6q>OwUykuJCW?IOL!W0B7t{(cMi6!KB ztub1g<)Cdt7qV}!FGSraEg*=aWq5r$Od$!AtCX98@bht;IaOmOf_qL)h<%f0YrNvq3d?oQLZk0keh|X=#>;F>Dx2eF=uc z=a_3CM7#F(*;60~frmSm%P2fg!-j@X%N7+s2Fq9L{uR#GT+QT!z*B-};MAC^DR zG^3ji**d}Bg&wF?&+92@%;{rwags5okMNdhUEDcy#%*zOsBOce^UIaSBrauVNyc6K zLLOjLbU`2+wV}af$r?)^Hm@8a8TkrfQxoPMJ}^I#Q2}ctX!|f=wE0`72hwzcz>$RP z2L}>ixsJHI+`U)~D-cqY3uef)2dY(}4vge`9*S8-Gu}MzcZn+Obw+VC!qky{`i*gt zfF;n5@G-FIE!{$B%HdKyRW!F3t(oz*%zMo#s&g17M3|9$?Jj_PITt;-D5oy#VVEC4S-|llZp37dU=F$g$){oi$*E6Ec&*IZBxa zyB;rQ-(Ou_ZO=3khoIf4tH2S?R3p&o8W3Wo54t#W!5)VG7xUGBz0N>6Ns!B-tx`IB zR#K$XW*d0@gti$zp4v7*f(fm!LK0z!hxiR~erjqbhK>C~?ENa=T#IlYh60@jV@+mQ8?K zC-Lnaqv}BUWnH+X9C7hFuLUAG{HusO0ylyKm9rLRClG?Nv$Mk@^NB)|o#Vh3n1xL- z#fV_!6;_+2a4r47t;39;Q~{d;C!s`<>gG(dr9T0Nxq|acCUiL9-kTz!WBE zm5DyMMGL1AYRQ3WOisW;-Fx`dxg-0Y6&1NBiag!d|D63&sc1YVhg#fuVBS|ZI&x0r ztTst%;}IXkG7n+(o0Y{s-0-v(YYWoW z1jv_AUBYP|$qcyLgs@_2tzimNmobE$$lYqW3m+2Jxj=mq$4;Ri1|1Z7X#!>~HdtQB z@yD~ARre`?)R`t?;E($kun z?V3qjp@qRuA%*>!)|&VGt779y@%#5-EiEmbi%jn882&bBEg~f3@pA(G-w|s)kNNLr z9~Kag8pb^S9KH`Ps~^bdtIScRtT~n-P?0L@NvD@wnsb;ugU>|90O3$IF+X4P*JEPR z6Y~@%J+U*e20v)-=m@eB&$?*DXr~=h^MTDpthA6P%o}KTZD})v+S7 zYE|Xu5X3Bul>*|5&rr*rF(n%!^%kh$56hf#=(=aNJB%q_*x*lA!mQ^aaVq*C?DH%; zFxK{j)ML3T>NV=y)xWAz)8H(24IEf2;{0H4D8Bc}@!5Nc59{6Fvj+DR1KP`} zq4VEd*#4$Cbpz zibDvIf-DBtn9>EZ*)l}Dy4ZL7W?J~4w1v+kzqbJ9ldTp?4n`kS;J{umSyS&FwR=wY zf0t{=&D|R(Q02LH|C=p$_kBxLuAF03l0CMu0bj%2MHZIxMK9mj`hnb@l6WMaE`yQP z(Gg%Co$vhxp$hE`8cVxdw{G!ZfGkQCXmi2f8=osIEQBx%hm`i?9v)T^1ZLvlxZK1( ze{T_AnZ*gh%Bw3+pfZBJYy@^IfW=lv^u6C91{!O@=*()c*Opz`AL-qqjyfHvuLT~}TA0dn-!i7}~U=LJ*pFm}T@(Rut z7_1g|q95y1MPkZ*x$k@DxA{<3m~l z3kuli*8UTTZ0SpTyF7F7GmNE!EJfJr$2pj3I_jXRvp*^~$n(Fag?UBDZw8vw)DN^e z+DlUC!Jrq{v=@*I0Y<_gIm~Ox*Q=LIZ)xjP$)*&l2Q>2SrhCsIT4LI`z~RG(C1yTS zLE7;=^(1Oi2pS>%gDmG^V4xl3ZN;1GQ-~l9@SPMz#e_qY_*~5Di$n+}sw_x=G4sxx zo^TW)=9!G?ZJsJw?dvcOAr289Y)Yl7Qv>3(6C6Xj%VWxya}2U zPFEaE4mu-)H6bYZv8IWEpqTLoOIJK@!sfYT!J_2+si)9U5+N1pSY%_Usxj0YCtDIu zPSi_E&CD_Nc90%lhWBHfq#M#a!U0D%;Na7!>ZWS(sc{qIV=71X^{y}WR6FWGJoFQe zB$R$I4r6s~_9N5(x~POnKZ!4ooc;A@4K%2!JML=LE7=XIBIZHc&oRPJ3@-l7g1~UA z2k1EDqw7r@f15hn%^ke->WX#xN64gpj*j-hF1MlHmY^DdGMsucf0<&yo*8COI4p4F zWBm$d--uSwY$r!Yefd$((jMG93@{VnL%J>d!*|Y^j7*6hXDA+kwQ0~M!DIh%YKX_ zV6CsfNIk3iULsKhnz`$2&%fYofEvvXV(dSt&-#KmF@hCqNcmA-z{g0}v>{d=no`2S0VmSy^a6kU0+|`yY5V&218t*_S~`MS z_Ze;+&j^{7y(BGCUP;IS^X*5n+!n3zvuh}Wu~@a;Cf*Yk!gfOn=|DaFIvx7AMhzOs zRF2JGx_I$H04&8%H6Ipf;-ZQVMU9aKLSyZgb11g>YO_Q!^Aw+X`p6NQ2&v;>5Mb~i zY4KvFVWkiWl0|Sg!rapEav^3v$a&4C#R5P>{JaOe41-y#F zX!)<|nKN5P-}xG!QmkSKjq{Uu{_NrL-Lho^d|w20_A-Qo!pxC^;_|g?50cHPx)@+r zHz>LnhB$^8hlRz=U9x7USu`$yh}!V$%)Wk^$ZrN)tK8Tm018=Yy*3i7-UAPQq05fFA!%M2zEh`{*C z^TIJlLu%k{3It0b?h~2+*67p(HwUm>bTc$mF0y4_Ia&GReIpUu2;>`Sk@2UHef|H= zExU8-7DWQ1hMPRp-F5NOu)sNXac8g@D~9Iiedptg*4MYW)8q`RVY`8X%0Y}GicSV< zS$6S3Vj?p#qSVySTZ|}C(_(I_uw~mF>@Wxoh5OFxOgg_He*Wl>ITL=ECQmys5TV>W2u1J_NK($HtDZ z-i0fyWTMRAT|gC8!{_qaFeE|qC!>x})u5P8>lep892RA5*W0MNj?L^xW%KOW9XOex zgd##0G9FH?9HpD(WVXTRsVOxh7u0sZIiGuJHgASet=iTZ?&By@2uEW6kCz@u@S0a_ zf5`J}sJCEmUhLwoheW07*lonkRSN@d%Z~G{jkosP&-A~Pu5@f;dsR+|I;CHX~_towt=@ej5M_9RL5t;;KWp zLXU>aDA~Dus0Kyt?%liECMi%JiZWE?Si!=n5uKJs*JAtRh_h;;+5c8SI)R*V5FTPU zl)c6;p2VuuLn&<|ipX9fdh4PReRI;kZ9K)Q>gs6B4M4eW1Xn4-uLe(ixGsuC(pyGb zpLl~6K6~&Pst%XAQ)kF-gOe~KagcmRe!o8lkkT}*+`x9yND%*4-{y z)hS-8^1eVej+$_1QlVWppywj(o~g>gqM7*(fEC z?1M%HM`*gzuPY_9g5P5$T>Q@&0#3DUnqORmi)=%IYO^4B{vaj%x$23@5X6429!Ple zMtOsg%ytX@)nzoEGB#H-h+96T+>Fxk)X2un(ePHC+lTQ8iLrXPW$?tXLn+}}dVh9B z=}7Peen?w{TGL3hb=@X}2#-{+^^DB}I<0_&O#rfBWQu{o(QuQQIspqLSHkc#AXLz8 zZJ1Y#X^!v$CQdG_HKJjwt6N2Q4gul#Z;Uh)=)}hoG3ifd*&Z+kN;5xHr0{`*&jxTz z{8LaZ>m!KxY{#Or9;^)Af}fTTj{rv{)Seq48uR0o&%$q z-dLRi3`K-G_zDnayM2UX1mQn}Ay9C>;J-bojRfPQ0dwPc_lE$?uSO$Jut_=pWtH2Q z)VT5aR>$a=7{c?8uq7ez9&~<7IBzb}!QI|L7#WMR!(q7NS^3^s?0>4ApB`Y|aV_VO zo=X2mGe|d4o8-+kh`V62;Bti5G7YhI`P~*Q^Y5U73Ted=<|K+yW;4#25W%t|=MhBeM4n8gDsk7UgWaDnLy(8hq1U{IS0$VQHY*^W zimIGbLSupc5w-{{42WD8&2WN5LyWwrdUVJIUfH84T9C355CCAS7z~O5-J5W@D}7h; zD>TTmgMjkT22pajEJek1V6TIY*<@#aWO7Z(=4uJmZtpxe?VaG}4yUSDg>{6huP+L| z&rg1e1$6{g41ZWXv3p09j#fq40Gp`Yte}W)4($MqPmBpyK=ZbHOA?F^* z-MhE6ho`cSH+rEjKG&q9$Zecfu5dNaz*d}*u7wq2W6ho6|5yKg9<75RO#DC$ z6D(5szhgqJVt~V_JUtcW*040?ooVNkJ_eME(5M9lVn_=>kqTa9{|H6gAAVoDnyy`g z(rGEzYgL4ydYMxsB#-2Zx@_}1^OJc%eKsbjCGqmQI-p_BYPiyT&_-u9{>ty6x|{gRN^&z zY;$VSt5osUEtd78($d@(nwD+F0k_gL60>bj!8$v%79e|0dB$^3x!Xg4Q<7= z9g0QlX24pAl~{uyLm)N-DE&+%9k5$b1oDSQ+M1eH~UhuL9yQy5Pis*mf<7&a4fX#k!#aKp(if~NW z>6sIe;q?gvZ0%m}#?CT{I6Q?OVFxD4A01pYxGqfB{Lx8=a#XMa3=AdH@qEU^XInKF zv#l5=#8yAn+Uf{Txca`CVti4QM=QH!uC6H4HY&}}g;gSQp>3+nG1D?eNmzWrtJ(Ni z)UjX{quR>-wvbTE5F3b~GoxSOA_`x44UcqWMQ8i+={V5c2Sb;*v}@AuZO&t11WC*+a%?aLZcEV+$z^oLDqyKhIS zU#>qcU`Q<0f?2z0?pNoe1rBzr5=#wt-HI{d3NF z?ka~IhfMP0Y5EP(Vdx|7+Y8YTehkDY#TU<>>0ckeMJ-!1PcI%QV4@qOOhtB+vwrYuAo#M5fANqZ5&4ZrHIGDZTnr`n$YnitID&$IMyJ0TIu8M35#% z)z)&|WV5)atq=eEkfTrOm{f-Od873WjJDw-qaT{jPMF1w^yqnp@pRf87GU<~j2Dk# z6Sg#53|2{x6$rpT7~Z&jV&_tnhDJc+z|lCBkQ&qFUXu4s4yKkjnt3n|ZL;j>aBJ(# zr#B*M)a0|Rn`5L!nNvEGI<{f=cg;i*4KpxW4iR{fCU{n2WZzU|qmzeDURwA)f7!C* zM(XeF!v{<_m5w!=XC(_Ixy}sT;JLr_4VfV^%A{v)SY)}{Yfa8`bJ2?^X;1Vy?>A8j zc-&ZPrNR092rb;dPjTy&=f6Q4mK(3A75($q#1K5SqIxb? z*JXVTl6dUV*%^T*M)Uma>bz&0=;a7$>T+A1^Os*`%D)y+h`K#&Tr%e%QrInBe&bYyi4_;M zZ^f}jG%<7{X0j=(ZF#L$S-fr?V@Q0#8!Nu^;P$nj(I-QuDrH3&j}acfF}I3qrq;Ws z_`EjO{H$BdkfUrZJ3=_G>3KPR-I?7kn|7?*?AK={=^!(LHZ?me$G`?q{$T1vQ^yXv9&n|<`)}%`*)o0XKF8=dGFD%qN}F=i-D%{*kA!SGGW3d zkO1=BCi8s};61M&5I~ynm)hCUYmUh}y*c>-#_hXBcN)zR5mKVBQaQg(YX7Rgbq9Y?3IN$YbG&;{?D zKVU?aqOP9wzQF(U6T_CZ-^#nUdRptco;c8y$;fiH^~8yt_PtBH_Qp#ntFeC?zP%8< z7Wtk{>Y-e#TFM1=N)O*#!X7^eKhLOqQL3DpG|ss7vb`i(_tMle?{u3 ztlG|{BJz&|?o&g1%p_Z`Y1V|@ar=peX4+XyGI4BSN%D2B(VnieDY9&zFx6gxxMeyp? z-Z@(KJB_?MSJ$7hI}1L2+~_;9&E9}qC*=t3>CFe~@4T1Z0g#hkZEswvQS~f`*AkJa zrgUvo+FG8M8zBEZ-zO^kPv5?Rbj6f&aTjR|^X?^Lu&!T|8hJ$|f5lS*xR(k;4-a01 z&KP)ft;m`0?{t+Li7{cfx9ak=*2OCxqplhgb88)M5+c_bsX87IsdnW-Bk#2zEi#Vg z4;2mhP8Al)n+T*`;|=QI*7G0PreXQP$CqQcjybCSBHg2}SJcDAondqGfg_x1?-HHD zv1z&;uOm1U6SDsOkwy12x(d$#cqb#qAXpN==zl^H+GPDQt#_qz;vCs-shB;-lZk6Y zU(5x722o;SdRFPX&XP9tJEFF0{~9yBB>bFOCxWtb8D^2^`=9?_pm?m3G_$;>tXYBOg2}E>Hh~N3oIj&7-Iz6MxqgcQufcd zrK?v}Uhir(v$xeIJ=;3{xg@tJ8I7Ry5!Nq-=`o9E|E?%L%in?UR`f}T#%}DIYTm8=;d3kbQHrx6EeK4uJuVyJW-QB-! zsl~{Uc&T~{ucfn~S>xlFP`SEznaDoyy9&r3wqA|Mz1Rv)(1e*s6Rax8pW~>&;~`AH zQsO=7TOEnv%%B2?Qhg7CqOqc)0@9O2c4TmWkUjztMw#i*GN;p8nPa8hS~;-1ToeFQ z8Q%x)4N>UYh^_^fH0M}lnWYx*p`f7J>$_`*bh4JZk~tQos456mK#^4(1h`M>Af}xt z+dOL2tJ9i<#)XhY3x>Tez3ExuLg|{KB)j`4>m`IT4fIUUi3}tjqND56+nm>fH>KE^ zXR9L}1H)i`kcQL(2?^~@`EzHkjKmR?f<~{6xjH}*pF9zpnIl%-bhzdy403BWVf0bQ% zIF$SQp0?xQv{I=oAri8mEKNv8mJy09S+a~&mWT$S6mUk`d#1uzSpH|)GWR8zVGMxJkR~y&wX1-B^rY>b>w~Cib5iF1`R+! z<^=4)#e`jo=awt{YQ2N(*xcP;z6T%G$<3CHaHd}weY)pbNVMM7NE`VoQjehR0`y^Z z%VgpM#gHC;^bQ8^SHl$vEmER&Ob8o9>kh@eW+T7vDKr5rEG^ZV>WlutH)$x29x72F z{RFg`aTfiC%O>(Yn$S6k|LhbN<*xle8VMP6p}Q2gXqi~gIeG?5dmR>N1y}%(n`QY0wI9(fDMsom$=4nt0F#2 z07uZ_gYYLI9Kzun{RNOcfM)@%0dbF@-k|5cD?6?Z0dt_V;D$;Ek45q8Vj=hUki9WC z*QbVA81K{*UH#f|-n#$?sNNCTPITdVAnKdEpbY3S@FEiEs@BFh9q>m*@AW3T+jm2&d&eTSW<)~0i(`!%8Sh=mNh988fxo{?y} zvYBE1%r@-P2#bJH2m>EVR231{KSqx%U%!3-?hDKcNqHThKop>!?@JQVS|X)4W`!l4U7{~2iB|@tsQYvkq$r~I zTRZkz2WqsY5V&qHh*F2oAe0u)fDpW@yjzhcSiCYT3Ahg~md?z88G)Oj{s(?=4TmjY zemReK8d`j(PtV8FQ!~XGZc;msmJ_-(9)}KPq92NT66Aa^Ai$(QiuO^yZ*Ns6^&GJ= zB%lf4S}ZY?ioa9^=kB>Hhwcr?bugUPncjxVAZ9v6V%Z{^qU$Pc8d*>Bd#L zo&b(xp#2$zw?dAOX?OvB7z}I>6HS6jkWw~u;{C=LM-HFALq)zP^nhPseUr{j`S*S0 z7+3)zFb-ui+9J9rlK@$gmh3Ax4Tw8xr>93p=Xr@n=>tK-GM^Q)Zf>r?K*lCnS;9SA zyv~tv<;b9X%D%4xHUURD%U~(iIU`YN z%O{S*ZHas|@l<-x(n*Vtd`w5<11hdDA6_=NzIiAggZr3#R~!cMBgFzh`wia}j0gg@ zBFssV7-D2))uOMy$p@vWLV3u$NbO^T4@4;T!2`F+pW-RVJwwQrI#>*RgCh3R7MuxG z!u-03L=^tj3e^4}oQvWPvCoX3e+Nr|NFX*9rq7veC<;6J`d+4M898y+hbKuHZ5fs+ z%Gn{22m{{VhHr5Ws}G&e^)7?pD6-t8I@4bxb9T!inUk$hg6Pp~%CxeG{crsTI7a3+RBwNOg+i9Sy>o z6mlT7tvDh7L8>-kCT3ZX_wGnuq1wfw@o}t0d0y*?vN1TzW|je-5@oD|AbHsyxw!70 z?H4xjqU?Dd?ssFgp1nD+Hlz_~Q!}^{m4ZqGXe61wt#MOvYltmo3h$I%z>Z3{{`h7j zC{)PNwf(Yf{Z2$M(p?4%3#(Cj2mHlWU(FeWxj>Y6#4qd22*Oqp=ujHT!1jeUNpL*jH26BA?|Fn&d-Z?* zO(|hDcG{TTzqQcxxqg>#nXJu*I`r5EHyh}SbFGl&B)42Ue#5P$?dQ&z)Ybd+5SaS?>H)w3KYw7#(up~fZwaL!c% zAx0F*DhN}JFh!6NO#8=Fa+ab}NlR|U?NlAihp90dEgXOX#v_n)yUhIjjzv3)q1Lh6 zilI@^ApYZUs{+CTGE^KQh6^SM?HH=>&-N=#s1j5Mv<~9IN}7Y%uagd>hbDn~fPMwZ zP5@luGn9O~s6-bYXe%ra5UvqZ8QZtaT{AX2AcaC+%bh9bE`IUC0`r_mb;z(8T*xrH zhvW&L(THuJUwc9mNie#9kULLBX584+^lYWI{V8W5)IJ}j8QjkYbYSi31^xFwFyPk} zHsyr|BGksIW5VGOoTrMyHU+mif)OMvc76V3`Rv8{pn7q_*#*6|PHbI}nGiT{03Dv; zu!&MKCQ=UPp69ztdU4II#9V|RDFvk>@OcrCj4 z`<1|n1-}yBP7!l^ALzP7>z)YqbN-3voCAH69*oiyhf=9|c?4kpT^Gkl-uRtFK^%<` zY%YEik$U0)k};|XS0k#n@zJ9KWLT1Lt}mJ>;N$&TtgK0M;IWSwA_+*eKu1AAbD0_! zx$hV%iH#9ZbV+F`yl-!U{DXlPKjf%DBGXtHO6J98ij8=3hQr$_F&iwRFRPv?$&p(v zKQ>4B%syBg)A2(AYX%dbX!SvB9*ooo9D1_kX zm>6PX3t$ZtR{K`ABIko*8yXm3r40-XLB^S=6~RUeRH7#UEU;{0y+b+}0APq61IYq$ z7u@ZG-6rS;?oSpz&6b7Qad!5e4;%bT);O&;wGgC=iqKNm_Q!yXidq?9aet>1I%Gg= z(x#qb`rst)$G$HyFICr=Xvr}e9g?>Be|?EAf>1c7btzI zvmgAh1DLTaE}Xlj+Hz^E<$RGw(jUH!FLtqAlEyMcblV724RNM9AARLLET&OIoK6JX z9^q_YVWHe)O76=_H8t(ZO@e%xgKLu*%1Uau=fH~5@a+qqtZK1gJ9{=Sk^)Cz0k&&Sph%yn}h9_ z|H(iePwrf0lC@H`^_+YZifY_m^Z#?eFW4GO z?z-`rT6x^LmsL;z$mY;4KsNRUI|ckF#*ubp)#+9L`(kMT0!o`>u%$^QTRIC>>8l$} zM?cY4yz8Hqk+3kXS7oK_bWQXex%N_8%%GM>nry|D(W|U%u!(v#igHw?`pOJb@U@ou zCA1F(J@>VT2Ji~kxNr?8vGIw}5S8(b+mr)@c{&~`S~gb(32~?G?OD2U6t|R17%u`> z^h^xHHjw?P`&P2@!&p``ii2W1Io4((*wG6pAZIX;Dmoo@!uwP~JQ&D$F<|E~g9j`3 zBoIcf#!WD|&qR(ltE$n51XG376Tin-YHCtZBX4WB6bh8D%-xS*#~sn(?99=Fvjs>5 zBDfP~iA&f7MdNu|MM`bZ#l*@csW%$`lJV5jULD0f>Pd`@Y}Xyx$kxl^at6ViVx50b zxlMGxnrX!&FYH0vRAYBqF}~LNi<5hxfeeAv{!IU)-*981lm!)avxl^JE9s^&OXD66 z`zuZy>l9DFl=2997UiCGH>|NWXLraSA%v$+3Slx{xp!|BQt~yTqVB_8WvC*Ng~F$e zOlLqDfEctQtA%D=@h~YH0Jy6#Z=+el<4J-sfwQ4J6DuURFGeuPI;igAyo@q21 z0y*Z^sL%EpgzP1#WaXNeRhvJ2*BrAcW&iFH9$xq0-iyP5=C56gP8LlfyYO|$XT2(| zjvKqV*~emc$IBLLr)`)ua(Q0#rR}r_=6y0Ve?_&8a|Zq`p^8-|T06e7F8^u8`7+Fj zBRd>iOUMDiaENtKWo}j|JZBJOq1o~L=g;*B8;(RW#Ca57+-Df7sPECc0+p8+2g|}l1VMNckhy- z5YAXS&kazNYx60AWA*BU{y{QN5QyN~O}MvXHFCL_Mk)qhkJL;kw%k-85f47Z71-+d z!AQ>!?;8W*6J|_=Q3GT129jWW20%7qzFRxv!;9A4yj5h%-`l^RhQb)t2&NeO^)m<9eRTnZPvDLS^OizlMr_^mT(-v!L%Q`HHq! zaXI7L7e%-I+}F{uPm4-@J2H~@T!|iR+kaizAkmoCa>(j>|41;!&`;R<`_JgL=OdDm zlMlozDkyvcgXfdK7J#5P9glqirpCR1v(b5Yc=EmWJsm!L_^`=&gB`g}<$E*C8$o6J zU3f`hLBXwS*F@fzpKvlu*S0FOYvFL7<~Wt-7~IUjjQ(LCAG0z?v!}y@a4GT=-U(x# zOT$yV9NLk;cCQn-sNI??_j=6j-MFV}4Zq=d$PZ3yQeNPagy1Tnm3)gH+`sREy?203 z`IGr0%$7OK!Op2L(?3#QZ<<)kz|Xd@X&cb+OM=E&*)7>|adB@C75e+BST2jT%55zy zExqTGcc-xM_r<>~@bdQl#IChIRLFT-%H&C-OJ}zZ!YL#PXBMXzP9fksvRYcK9G(PP zY~8xGggJcO?!hW+sfL8h)n{+R4K07zr0P!V@I4!unj?dLefrLKdXC&$pYrvXFNHEK zalL;4bc1fH<6X;dpg+B9&9dJ7S8Hqe)KTxwB5@--2Zw9h_U5*>4ETQ=aou_QO(qT( z&$CN%wrtr_ke8=C)#d*1uKU9uCSe=hOln+Rg3npr-re--m2TwDYT4wCzv;QhSqO!H zn&9DkZVoR;lX;X2i`ag)OU1O`;)H`gQ!y`L(xArm`Ac8VL}Mwq1T5ZpDz1xJM3Z)P zf1RxC=U@%30O9$R3(E`bObhKc4=~o>-Yp{V#$WPNiKb@UJ(;v6x+*WPY|iT0ul?G% zaXE!T850*!R(>C{)@YS@f`xq){v}1{ZhTa3-lj$P{mm&OcRWz?mI;st7b6;7Y0)V- z!OKW`A6P)47?xHZ0BrqNAl3bkwW?>HnU`A`8!6%miq3^V`p2W1M!O$(B=<@`72e=U zT_U*YtzMH!@FqMxd8(2*oWv*?ug=#>59TY@^8Lc5TGy6OUG-Z+ptXRHot0CYwt}ckHzl5ASMtDs0%TU;x z(hAA*XLOUiOgcv{uc@NDx*Sn?>me));WpD{E6Aza#E4Ds+Gl4|w7&Y7Aboxr_p4Er zO`Vxrcr}6W`r2FP49=cpjdeMLFMU@D(waUmu=QIjn02PrD7U{=eD;6*{7t7V zE1fsWGc8$exsxRMHx)NW_1iC5KZGQC@V6s<=Xmk(?*-G1b~~sLLC%cf1+RT;c?4+7 zv-Y{JT`}`4D*Afzx7}fU3)=7`Z%x1b8rr90Q#I_PMv6SV>*A}@7P=;`iZN1TXQjxP zv|8XreRM&Z)|$9)8O<$$D>jq~Z>W3Z`Q!GYmHdvfCKId$9j?X_oPm yOF~({id+MVu6!lAiYIOU|KU Date: Fri, 25 Jun 2021 13:45:47 -0400 Subject: [PATCH 02/23] 1 --- modules/access-control-intro.adoc | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/modules/access-control-intro.adoc b/modules/access-control-intro.adoc index 2009823f9..e715ee571 100644 --- a/modules/access-control-intro.adoc +++ b/modules/access-control-intro.adoc @@ -1,6 +1,28 @@ [[access-control-intro]] = Access control +{productname} provides fine granular access control and has team features that allow for limited access control to repositories. This feature also provides includes support for dispersed organizations. + +== Repository organizations + +{productname} repository organizations provides a way to share repositories under a common namespace that does not belong to a single user. These organizations allow repositories to be used in a shared setting, for example, by a company. + +Organizations are organized into a set of Teams, and can provide access to a subset of the repositories under that namespace. + +=== Robot accounts + +{productname} robot accounts are named tokens that hold credentials for accessing external repositories. By assigning credentials to a robot, that robot can be used +across multiple mirrored repositories that need to access the same external registry. + +Robot accounts are managed inside of the `Robot Accounts` tab. They can only belong to one organization, but can be assigned to multiple Teams. + +[NOTE] +==== +Teams and users can belong to multiple organizations. +==== + +For more information on setting up robot accounts, see xref:proc_use-quay-manage-repo[Allowing robot access to a user repository] + * Authentication providers * Fine-grained RBAC -* Organizations and teams \ No newline at end of file +* Organizations and teams From 7f8ce7803bf06601d297431d7e243c657355d568 Mon Sep 17 00:00:00 2001 From: Steven Smith Date: Fri, 25 Jun 2021 13:59:13 -0400 Subject: [PATCH 03/23] 2 --- modules/access-control-intro.adoc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/access-control-intro.adoc b/modules/access-control-intro.adoc index e715ee571..a5ff0dd4d 100644 --- a/modules/access-control-intro.adoc +++ b/modules/access-control-intro.adoc @@ -21,7 +21,8 @@ Robot accounts are managed inside of the `Robot Accounts` tab. They can only bel Teams and users can belong to multiple organizations. ==== -For more information on setting up robot accounts, see xref:proc_use-quay-manage-repo[Allowing robot access to a user repository] +For more information on robot accounts, see link:https://access.redhat.com/documentation/en-us/red_hat_quay/3.5/html-single/manage_red_hat_quay/index#working-with-mirrored-repo[Working with mirrored repositories] + * Authentication providers * Fine-grained RBAC From 67ed916dc2e188da245f90ea0b63d1b7c5b6152a Mon Sep 17 00:00:00 2001 From: Steven Smith Date: Fri, 25 Jun 2021 14:53:40 -0400 Subject: [PATCH 04/23] 3 --- modules/access-control-intro.adoc | 36 +++++++++++++++++++++++++++++-- 1 file changed, 34 insertions(+), 2 deletions(-) diff --git a/modules/access-control-intro.adoc b/modules/access-control-intro.adoc index a5ff0dd4d..ea4d0a75b 100644 --- a/modules/access-control-intro.adoc +++ b/modules/access-control-intro.adoc @@ -3,11 +3,43 @@ {productname} provides fine granular access control and has team features that allow for limited access control to repositories. This feature also provides includes support for dispersed organizations. -== Repository organizations +== Repository organizations and teams {productname} repository organizations provides a way to share repositories under a common namespace that does not belong to a single user. These organizations allow repositories to be used in a shared setting, for example, by a company. -Organizations are organized into a set of Teams, and can provide access to a subset of the repositories under that namespace. +Organizations are organized into a set of `Teams` and can provide access to a subset of the repositories under that namespace. Permissions for users within an organization can be set for individuals or teams, and can be delegated both globally and on specific repositories. For example, `Read` permissions can be set to a specific team within the organization, while `Admin` permissions can be given to all users across all repositories in the organization. + +The following is a brief overview of the organization's main page: + +. **Managing teams**: Teams can be managed from the organization's main page. +. **Creating a team**: Click the `Create Team` button on the organization main page. +. **Team Global Permissions**: Teams have defined global permissions in the organization. +. **Defined permissions**: ++ +.Clair v2 and Clair v4 component comparison +[cols="1,2,3",options="header"] +|=== +|Permission |Abilities +|API layers +|In Clair v2, clients were required to provide layers to the API. + +|Insights and reports +|Clair v2 provided only insights on vulnerabilities + +|Architecture +|Clair v2 ran as a monolithic application. + +|Support for language packages +|Clair v4 supports Python language packages, with plans of adding more in future versions. + +|Package locator +|Clair v4 identifies where packages are located inside of the container. +|=== + +[NOTE] +==== +Permissions are only applied to new users and teams when a new repository is created. +==== === Robot accounts From 29b7d9ca6df7e2d874330b67f00ee5844bf625f4 Mon Sep 17 00:00:00 2001 From: Steven Smith Date: Fri, 25 Jun 2021 14:55:31 -0400 Subject: [PATCH 05/23] 4 --- modules/access-control-intro.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/access-control-intro.adoc b/modules/access-control-intro.adoc index ea4d0a75b..36f9573f8 100644 --- a/modules/access-control-intro.adoc +++ b/modules/access-control-intro.adoc @@ -17,7 +17,7 @@ The following is a brief overview of the organization's main page: . **Defined permissions**: + .Clair v2 and Clair v4 component comparison -[cols="1,2,3",options="header"] +[cols="2,2,3",options="header"] |=== |Permission |Abilities |API layers From 5886dad44d23ae9902e92adbb0c639072fe2c812 Mon Sep 17 00:00:00 2001 From: Steven Smith Date: Fri, 25 Jun 2021 14:56:34 -0400 Subject: [PATCH 06/23] 5 --- modules/access-control-intro.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/access-control-intro.adoc b/modules/access-control-intro.adoc index 36f9573f8..0f7f67042 100644 --- a/modules/access-control-intro.adoc +++ b/modules/access-control-intro.adoc @@ -17,7 +17,7 @@ The following is a brief overview of the organization's main page: . **Defined permissions**: + .Clair v2 and Clair v4 component comparison -[cols="2,2,3",options="header"] +[cols="2,2,1",options="header"] |=== |Permission |Abilities |API layers From 1af0dfc5f0807c00e9ab113d0720ab9a721d226b Mon Sep 17 00:00:00 2001 From: Steven Smith Date: Fri, 25 Jun 2021 14:57:13 -0400 Subject: [PATCH 07/23] 6 --- modules/access-control-intro.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/access-control-intro.adoc b/modules/access-control-intro.adoc index 0f7f67042..bde478019 100644 --- a/modules/access-control-intro.adoc +++ b/modules/access-control-intro.adoc @@ -17,7 +17,7 @@ The following is a brief overview of the organization's main page: . **Defined permissions**: + .Clair v2 and Clair v4 component comparison -[cols="2,2,1",options="header"] +[cols="2,1,1",options="header"] |=== |Permission |Abilities |API layers From 6631f02a6b37df43d0c7179650a90a64d9a969f4 Mon Sep 17 00:00:00 2001 From: Steven Smith Date: Fri, 25 Jun 2021 14:57:55 -0400 Subject: [PATCH 08/23] 7 --- modules/access-control-intro.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/access-control-intro.adoc b/modules/access-control-intro.adoc index bde478019..a1e8db340 100644 --- a/modules/access-control-intro.adoc +++ b/modules/access-control-intro.adoc @@ -17,7 +17,7 @@ The following is a brief overview of the organization's main page: . **Defined permissions**: + .Clair v2 and Clair v4 component comparison -[cols="2,1,1",options="header"] +[cols="1,1,1",options="header"] |=== |Permission |Abilities |API layers From 774309884f92a6e0cdc896299cf379a0a09ce8cd Mon Sep 17 00:00:00 2001 From: Steven Smith Date: Fri, 25 Jun 2021 14:58:26 -0400 Subject: [PATCH 09/23] 8 --- modules/access-control-intro.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/access-control-intro.adoc b/modules/access-control-intro.adoc index a1e8db340..3feef98ba 100644 --- a/modules/access-control-intro.adoc +++ b/modules/access-control-intro.adoc @@ -17,7 +17,7 @@ The following is a brief overview of the organization's main page: . **Defined permissions**: + .Clair v2 and Clair v4 component comparison -[cols="1,1,1",options="header"] +[cols="1,5,1",options="header"] |=== |Permission |Abilities |API layers From b51030cfdf033c2cb0f0575c9f7949589a125bf9 Mon Sep 17 00:00:00 2001 From: Steven Smith Date: Fri, 25 Jun 2021 15:03:28 -0400 Subject: [PATCH 10/23] 8 --- modules/access-control-intro.adoc | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/modules/access-control-intro.adoc b/modules/access-control-intro.adoc index 3feef98ba..273f2c180 100644 --- a/modules/access-control-intro.adoc +++ b/modules/access-control-intro.adoc @@ -17,23 +17,17 @@ The following is a brief overview of the organization's main page: . **Defined permissions**: + .Clair v2 and Clair v4 component comparison -[cols="1,5,1",options="header"] +[cols="1,1",options="header"] |=== |Permission |Abilities -|API layers -|In Clair v2, clients were required to provide layers to the API. +|*Members* +|Inherits all permissions sets for the team -|Insights and reports -|Clair v2 provided only insights on vulnerabilities +|*Creator* +|All member positions, plus the ability to create new repositories -|Architecture -|Clair v2 ran as a monolithic application. - -|Support for language packages -|Clair v4 supports Python language packages, with plans of adding more in future versions. - -|Package locator -|Clair v4 identifies where packages are located inside of the container. +|*Admin* +|Full administrative access to the organization, including the ability to create news, add members, and set permissions. |=== [NOTE] From 3d3554d368fffd22b2cc58b6d64e11cba5357260 Mon Sep 17 00:00:00 2001 From: Steven Smith Date: Fri, 25 Jun 2021 15:08:19 -0400 Subject: [PATCH 11/23] 9 --- modules/access-control-intro.adoc | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/modules/access-control-intro.adoc b/modules/access-control-intro.adoc index 273f2c180..28b09465c 100644 --- a/modules/access-control-intro.adoc +++ b/modules/access-control-intro.adoc @@ -9,14 +9,19 @@ Organizations are organized into a set of `Teams` and can provide access to a subset of the repositories under that namespace. Permissions for users within an organization can be set for individuals or teams, and can be delegated both globally and on specific repositories. For example, `Read` permissions can be set to a specific team within the organization, while `Admin` permissions can be given to all users across all repositories in the organization. +[NOTE] +==== +Permissions are only applied to new users and teams when a new repository is created. +==== + The following is a brief overview of the organization's main page: . **Managing teams**: Teams can be managed from the organization's main page. . **Creating a team**: Click the `Create Team` button on the organization main page. . **Team Global Permissions**: Teams have defined global permissions in the organization. +. **Managing team members**: Team members can be managed by clicking on a team's name in the organization's main page. . **Defined permissions**: + -.Clair v2 and Clair v4 component comparison [cols="1,1",options="header"] |=== |Permission |Abilities @@ -30,10 +35,7 @@ The following is a brief overview of the organization's main page: |Full administrative access to the organization, including the ability to create news, add members, and set permissions. |=== -[NOTE] -==== -Permissions are only applied to new users and teams when a new repository is created. -==== + === Robot accounts From 8bed007241ea148a811dddbc581fa1fe0aba42cd Mon Sep 17 00:00:00 2001 From: Steven Smith Date: Fri, 25 Jun 2021 15:09:15 -0400 Subject: [PATCH 12/23] 9 --- modules/access-control-intro.adoc | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/modules/access-control-intro.adoc b/modules/access-control-intro.adoc index 28b09465c..36762cd0d 100644 --- a/modules/access-control-intro.adoc +++ b/modules/access-control-intro.adoc @@ -16,11 +16,11 @@ Permissions are only applied to new users and teams when a new repository is cre The following is a brief overview of the organization's main page: -. **Managing teams**: Teams can be managed from the organization's main page. -. **Creating a team**: Click the `Create Team` button on the organization main page. -. **Team Global Permissions**: Teams have defined global permissions in the organization. -. **Managing team members**: Team members can be managed by clicking on a team's name in the organization's main page. -. **Defined permissions**: +* **Managing teams**: Teams can be managed from the organization's main page. +* **Creating a team**: Click the `Create Team` button on the organization main page. +* **Team Global Permissions**: Teams have defined global permissions in the organization. +* **Managing team members**: Team members can be managed by clicking on a team's name in the organization's main page. +* **Defined permissions**: + [cols="1,1",options="header"] |=== From a68422c1007f1f8145e1558eaa4600539783777b Mon Sep 17 00:00:00 2001 From: Steven Smith Date: Fri, 25 Jun 2021 17:05:53 -0400 Subject: [PATCH 13/23] 9 --- modules/access-control-intro.adoc | 46 +++++++++++++++++++++++++++---- 1 file changed, 41 insertions(+), 5 deletions(-) diff --git a/modules/access-control-intro.adoc b/modules/access-control-intro.adoc index 36762cd0d..4cc240ee3 100644 --- a/modules/access-control-intro.adoc +++ b/modules/access-control-intro.adoc @@ -1,13 +1,13 @@ [[access-control-intro]] = Access control -{productname} provides fine granular access control and has team features that allow for limited access control to repositories. This feature also provides includes support for dispersed organizations. +{productname} provides fine granular access control and has team features that allow for limited access control to repositories. {productname} access control features also provide support for dispersed organizations. -== Repository organizations and teams +== Repository organization {productname} repository organizations provides a way to share repositories under a common namespace that does not belong to a single user. These organizations allow repositories to be used in a shared setting, for example, by a company. -Organizations are organized into a set of `Teams` and can provide access to a subset of the repositories under that namespace. Permissions for users within an organization can be set for individuals or teams, and can be delegated both globally and on specific repositories. For example, `Read` permissions can be set to a specific team within the organization, while `Admin` permissions can be given to all users across all repositories in the organization. +Organizations are organized into a set of Teams and can provide access to a subset of the repositories under that namespace. Permissions for users within an organization can be set for individuals or teams, and can be delegated both globally and on specific repositories. For example, `Read` permissions can be set to a specific team within the organization, while `Admin` permissions can be given to all users across all repositories within the organization. [NOTE] ==== @@ -35,11 +35,29 @@ The following is a brief overview of the organization's main page: |Full administrative access to the organization, including the ability to create news, add members, and set permissions. |=== +=== {productname} users +A new {productname} user can set up an account at www.quay.io. Usernames must be unique, and they cannot be changed once invited to an organization. After a user account is setup, options to sign in via Google or GitHub can be added. -=== Robot accounts +User accounts allow individuals to log in through the {productname} UI or a client, such as `docker login` or `podman login`. -{productname} robot accounts are named tokens that hold credentials for accessing external repositories. By assigning credentials to a robot, that robot can be used +[NOTE] +==== +Because `docker login` via the CLI stores passwords in plaintext, we recommend generating an encrypted version of the password. +==== + +Each user automatically gets their own `user namespace`, for example, quay.example.com/user/. + +[NOTE] +==== +User namespaces are different from Quay organizations. There are no teams, usage logs, default permissions, or OAuth applications. By comparison, organizations are listed under quay.example.com/organization. +==== + +Users who are not members of an organization can be added to the repository and given permissions. These `external` users are marked with a special character inside of the `Users and Robot Permissions` section under the `Repository Settings` tab. They are also shown under the `Collaborators View` tab on on the organization level of the `Teams and Membership` page. + +=== {productname} robot accounts + +Robot accounts are named tokens that hold credentials for accessing external repositories. By assigning credentials to a robot, that robot can be used across multiple mirrored repositories that need to access the same external registry. Robot accounts are managed inside of the `Robot Accounts` tab. They can only belong to one organization, but can be assigned to multiple Teams. @@ -51,6 +69,24 @@ Teams and users can belong to multiple organizations. For more information on robot accounts, see link:https://access.redhat.com/documentation/en-us/red_hat_quay/3.5/html-single/manage_red_hat_quay/index#working-with-mirrored-repo[Working with mirrored repositories] +=== {productname} Super users + +`Super users` are a group of {productname} users with enhanced access and privileges, including: + +* Super user API calls that are not visible or accessible to normal users. +* Access to the `Super User Admin Panel`, which allows users to +** Change a user's email address, password, delete, or disable users. +** Rename, delete, or take ownership of an organization. +** Change expiration time, rename, or delete service keys such as Clair. +** Access to global and registry-wide usage, or audit, logs. +** Create and send globally visible user messages. + +Primary super users are created during the initial {productname} configuration, and more can be created after configuration is complete. + +[NOTE] +==== +Super users cannot delete repositories or organizations without taking ownership of them first. +==== * Authentication providers * Fine-grained RBAC From e755553d3cf54c2ab880df9c377c0e2005c5f7f7 Mon Sep 17 00:00:00 2001 From: Steven Smith Date: Tue, 13 Jul 2021 10:33:48 -0400 Subject: [PATCH 14/23] Adds Access Control content --- modules/access-control-intro.adoc | 84 +++++++++++++++++++++++++++---- 1 file changed, 73 insertions(+), 11 deletions(-) diff --git a/modules/access-control-intro.adoc b/modules/access-control-intro.adoc index 4cc240ee3..12d152414 100644 --- a/modules/access-control-intro.adoc +++ b/modules/access-control-intro.adoc @@ -1,18 +1,11 @@ [[access-control-intro]] = Access control -{productname} provides fine granular access control and has team features that allow for limited access control to repositories. {productname} access control features also provide support for dispersed organizations. +{productname} provides both Role Based Access Control (RBAC) and Fine-Grained Access Control, and has team features that allow for limited access control to repositories organizations and user privileges. {productname} access control features also provide support for dispersed organizations. -== Repository organization +== Repository organizations and users -{productname} repository organizations provides a way to share repositories under a common namespace that does not belong to a single user. These organizations allow repositories to be used in a shared setting, for example, by a company. - -Organizations are organized into a set of Teams and can provide access to a subset of the repositories under that namespace. Permissions for users within an organization can be set for individuals or teams, and can be delegated both globally and on specific repositories. For example, `Read` permissions can be set to a specific team within the organization, while `Admin` permissions can be given to all users across all repositories within the organization. - -[NOTE] -==== -Permissions are only applied to new users and teams when a new repository is created. -==== +{productname} repository organizations provide a way to share repositories under a common namespace that does not belong to a single user. These organizations allow repositories to be used in a shared setting, for example, by a company. The following is a brief overview of the organization's main page: @@ -67,7 +60,7 @@ Robot accounts are managed inside of the `Robot Accounts` tab. They can only bel Teams and users can belong to multiple organizations. ==== -For more information on robot accounts, see link:https://access.redhat.com/documentation/en-us/red_hat_quay/3.5/html-single/manage_red_hat_quay/index#working-with-mirrored-repo[Working with mirrored repositories] +For more information on robot accounts, see link:https://access.redhat.com/documentation/en-us/red_hat_quay/3.5/html-single/manage_red_hat_quay/index#working-with-mirrored-repo[Working with mirrored repositories]. === {productname} Super users @@ -88,6 +81,75 @@ Primary super users are created during the initial {productname} configuration, Super users cannot delete repositories or organizations without taking ownership of them first. ==== +== Permissions + +Organizations are organized into a set of Teams and can provide access to a subset of the repositories under that namespace. Permissions for users within an organization can be set for individuals, teams, and robot accounts. + +[NOTE] +==== +Permissions are only applied to new users and teams when a new repository is created. +==== + +=== Role Based Access Control (RBAC) + +{productname} offers three types of permissions: + +* `Read`, which allows users, robots, and teams to pull images +* `Write`, which allows users, robots, and teams to push images +* `Admin`, which provides users, robots, and teams with administrative privileges + +[NOTE] +==== +Administrative users can delegate new permissions for existing users and teams, change existing permissions, and revoke permissions when necessary +==== + +Permissions can be delegated across the entire organization and on specific repositories. For example, `Read` permissions can be set to a specific team within the organization, while `Admin` permissions can be given to all users across all repositories within the organization. + +=== Fine Grained Access Control + +{productname} allow users to integrate their existing identity infrastructure and use a fine-grained permissions system to map their organizational structure and grant access to whole teams to manage specific repositories. + +{productname} is supported by the following authentication providers: + +* Built-in Database Authentication +* Lightweight Directory Access Protocol (LDAP) authentication and _sync +* External OpenID Connect (OIDC) provider +* OpenStack Keystone + +==== Bind team membership to specific LDAP groups + +With {productname}, team sync support can be enabled via the config application by clicking on the `Enable team synchronization support` button once Lightweight Directory Access Protocol (LDAP) is selected as the internal authentication method: + +// insert images + +The default time to sync groups is 60 minutes, but can be modified to any other time frame if needed. The first sync happens immediately after linking a team to a specific group. The last option enables any team admin, and not just super users, to sync groups. + +Once {productname} is configured and restarted with the new settings, open up `org account settings` and proceed to `Teams`. Create a new team, or use an existing one, and click on `Enable Directory Synchronization` button. You will need to enter a distinguished name of the group relative to your base DN. For example: + +---- +cn=quayusers,ou=cloud +---- + +If binding to the group goes correctly, {productname} will display the group's distinguished name and the "last updated" status on the page. + +[IMPORTANT] +==== +Once sync is enabled, adding users to the group is no longer possible. It becomes read only. +==== + +Users that are added to the LDAP group will automatically be added to the team as well. Robot accounts can still be added to the group directly. + + ==== LDAP Filtering + + Lightweight Directory Access Protocol (LDAP) is an open, vendor neutral, industry standard application protocol for accessing and maintaining distributed directory information services over an IP network. {productname} supports using LDAP as an identity provider. {productname} users can now apply additional filters for lookup queries if (LDAP) / AD authentication is used. For information on LDAP authentication setup for {productname}, see *include link*. + + + ==== {productname} and Red Hat SSO / Keycloak + +Quay Enterprise can support authentication via OpenID Connect (OIDC). Red Hat Single Sign On (SSO) is an OIDC provider that allows administrators to have a seamless authentication integration between Quay Enterprise and other application platforms such as Red Hat OpenShift Container Platform. + +{productname} and Red Hat SSO / Keycloak requires that TLS/SSL is properly configured on both sides. + * Authentication providers * Fine-grained RBAC * Organizations and teams From e39ea16b9ed95334ed1d38ec4c75572cc3d39371 Mon Sep 17 00:00:00 2001 From: Steven Smith Date: Tue, 13 Jul 2021 12:00:08 -0400 Subject: [PATCH 15/23] Adds info to access control --- modules/access-control-intro.adoc | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/modules/access-control-intro.adoc b/modules/access-control-intro.adoc index 12d152414..1def85e36 100644 --- a/modules/access-control-intro.adoc +++ b/modules/access-control-intro.adoc @@ -143,12 +143,14 @@ Users that are added to the LDAP group will automatically be added to the team a Lightweight Directory Access Protocol (LDAP) is an open, vendor neutral, industry standard application protocol for accessing and maintaining distributed directory information services over an IP network. {productname} supports using LDAP as an identity provider. {productname} users can now apply additional filters for lookup queries if (LDAP) / AD authentication is used. For information on LDAP authentication setup for {productname}, see *include link*. - ==== {productname} and Red Hat SSO / Keycloak Quay Enterprise can support authentication via OpenID Connect (OIDC). Red Hat Single Sign On (SSO) is an OIDC provider that allows administrators to have a seamless authentication integration between Quay Enterprise and other application platforms such as Red Hat OpenShift Container Platform. -{productname} and Red Hat SSO / Keycloak requires that TLS/SSL is properly configured on both sides. +{productname} and Red Hat SSO / Keycloak requires that TLS/SSL is properly configured to proceed with setup. Red Hat SSO supports many different types of OIDC. Quay Enterprise, however, only supports OIDC clients configured for link:https://access.redhat.com/solutions/3496181[Confidential Client Credentials]. For more information configuring Red Hat SSO, + + +*//insert link here* For more information * Authentication providers * Fine-grained RBAC From 1716a8b14c83451db700c44a6879ee53bbb1aa9f Mon Sep 17 00:00:00 2001 From: Steven Smith Date: Thu, 15 Jul 2021 11:06:53 -0400 Subject: [PATCH 16/23] Adds final information to Access Control section --- modules/access-control-intro.adoc | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/modules/access-control-intro.adoc b/modules/access-control-intro.adoc index 1def85e36..4ab8d0f35 100644 --- a/modules/access-control-intro.adoc +++ b/modules/access-control-intro.adoc @@ -147,11 +147,4 @@ Users that are added to the LDAP group will automatically be added to the team a Quay Enterprise can support authentication via OpenID Connect (OIDC). Red Hat Single Sign On (SSO) is an OIDC provider that allows administrators to have a seamless authentication integration between Quay Enterprise and other application platforms such as Red Hat OpenShift Container Platform. -{productname} and Red Hat SSO / Keycloak requires that TLS/SSL is properly configured to proceed with setup. Red Hat SSO supports many different types of OIDC. Quay Enterprise, however, only supports OIDC clients configured for link:https://access.redhat.com/solutions/3496181[Confidential Client Credentials]. For more information configuring Red Hat SSO, - - -*//insert link here* For more information - -* Authentication providers -* Fine-grained RBAC -* Organizations and teams +{productname} and Red Hat SSO / Keycloak requires that TLS/SSL is properly configured to proceed with setup. Red Hat SSO supports many different types of OIDC. Quay Enterprise, however, only supports OIDC clients configured for link:https://access.redhat.com/solutions/3496181[Confidential Client Credentials]. For more information configuring Red Hat SSO, see link:https://access.redhat.com/solutions/3566061[Quay Enterprise with Red Hat Single Sign On / Keycloak]. From afebdb269fb5a9d16adfcd7e95bb9806536123fb Mon Sep 17 00:00:00 2001 From: Steven Smith Date: Thu, 15 Jul 2021 11:32:44 -0400 Subject: [PATCH 17/23] Adds Quay tenancy model image --- images/quay-tenancy-model.png | Bin 0 -> 78845 bytes modules/access-control-intro.adoc | 3 +++ 2 files changed, 3 insertions(+) create mode 100644 images/quay-tenancy-model.png diff --git a/images/quay-tenancy-model.png b/images/quay-tenancy-model.png new file mode 100644 index 0000000000000000000000000000000000000000..db2ee51f9c7d2293e3bd686ce925cbfea8785d39 GIT binary patch literal 78845 zcmb?@Wm}fv(lsHS0@5L3fJh@a@O zrByKDpEssS7`&!%ex~89Y-j51X6X0|$;{Ty<`s*RvE!>(woc}D&fBO>B1lNLk))qK zQE^Y*oN@D3Q9V1^9Y{-`rKiUtyq)#T(=Gs;hw$B<+YvORx-P+oW>RkIx*anWU&Cte zWM+rmxgFM7ih1&h@!7|_^fxfyicvDf@+2kgpBwk;q6Xn6zP*utyb+(^IKX1|_paND z$T9!GP~1yw`XEAaOvInC`>lh6H2?Pk-r*x7>iyrVr?GchaR2vJZl?e5AKkZ8o2+qq zU^QOc(ba|FKUSp8<@ozKlI!+tU#-i=flDYpjf|1e9i%VnB`bqj5}s2uZqu(bGU(*< zVoH+mQt7$|scsgW!!EWA&b6FjGyU!$(iHV7g~OG|&u&HZB&`#|A7H#dnte0#}R z02vb>-}FZu6OxIE$ydwKhdwE^!k+8~%}7XNCHe!!x^)MY-;BG6Zrws_ZVkryHnoLx za(3ppn&yULe{td(-=0-{bMMRiCBKXwRvzn+(sNKSwe+-CH&>HT`3AJnO|q z8W~(#$~o(?O5@`pD~roJ>&}4Wb^Ld^Zo6@K3Y~yfcDz^@S)eH1JWIp?OBv{GOsk5W47u&N9$R{f)cF*PI$ENPfr#^Rg=R>k< zI3&dnMfGoP7PGC};z8o%;?ivNu4$Az{yRg#XMY<>^kN59&~g>zE-(8a`R$G zB-6u(D9xs24#zWYsBcqJdZg%lKH3d`R(?=iy@-wEd$B83X+4o$rR#Tj*xu2B{MC8= zrK6+cK_vy3sR27VBP*-vQ1-L4z3OVd;-)K4B;Tu3Gal<-nN_+D9k-nSj9~fSVpg+1 zSW{})Dz5w6+SL^r5rIAHdv4?75lPBYy`Gzb1UCV<(l|7Qjz{^l%60}xqt2BD1D_hM zv*A!JARquKk=Ksawu;JsXU86H7PEPwE%fwaf8fx@^Z2jaT%!-NMwKm1o!d67g>0f& znQ0%A##aO6PoF*^-MDds-Q|x8QfX=F$-%I~p-rvxdh1(y38a&z>vPdcySd`38T&T8 za_b2q|KmBojDP?XB-#7K!+8oAw?#!W?!EZ1Hg)&zU3Q~(Or%Pism@%vl!HpE;+hcH zcI2`Ag`j+v7@Sy@@0+V1Y|6+C4Vg;n5`8@$dNQ;I?22pMVI`|>?V7$G3u$Dd&TzTqISv8A_|%;{clyutRAt zFpnhW;lVGTw_kqzr)mnkSIr6s7k6aJ$k_Oh3VG)OU$w$zd-gKQ55u&qX7Z}Fwe_I# z`}gOMNF!%+<9<#N5fdLa1|8#p_VQ&wivi!(woI|6V_$*5fMcI!{dnR0yaBhI1Oj7QsgeuMNF7MG z8_!way?b}CF}^K+AdUDWf&9y;7E9(`1QIHlE)>eEec0RzU>dO|g!^6YL^1D`7 zBiS0~L+O0y!ylwKkB=W`3#P-ublUv>{!Zi3hmgOBI~Xdjo>tVu=V8_{%3*@LPmKgu zE_L5Ef^&DNs_O>F#1KqOOl(e8L;{`%9&JrIU0)vOSWG^P-}-7cK#M^8fWSZm?t)ds zefUu7b!@vbkfBhb*O18hN~Q?;UC83nl7yI;SQ^2Dhiq(S9TB&1=|ob$e*NkxinyL! zi?zY5#J-jPyB=r8;M!$mjiy_F(}IpdwX-zI&9x+sHv{sA1+6}j^dzvY{$MUKf!Op9 ziy=t#>@IalD=0|SeV4bDltf2F2cNS8!^QUSQQN`ugY~xgmcS%YKarjfEXF@SO5^<+ zPR66+i85>p89nuVAtUqat0AgH2yV^ouK%;Vuotf%G6mCBX1#iqbJak;yn%WwFNuR) zeHVpNZ?rcoBH|7}$k?IGix*6+ti?QWzpDU6C?EjW9PYSPD<;vwnHYF@K6J-E$lw^h zEh3U0PW+(MVM&sclhbl~pd;=x!X8p1J0i(?tnY(iwDS*gM;E*e{@_KV=Si&RMJ7+$ zde7c&UDdR6R9#>0$&)8V8>eSyu#9c}X@cP~F~OB%$MJr{3hpk>E#flaqgZl#X4SYZCSF z@F>*y7SP~zoE?{~oF^Ye!IeAt6~q7H!dtCaryHCB`MIp@NBG2S%S%m-bbWn&+HKCq z%%`Ej^U$a-`LXq6dH4qwZIqp(DLZ4H6pOh=VKBv36VBc7rmI{2s2KP=r>hxGJM&Mx zeSFrZs@Rfq-@Sj|$`B)j;vOJH#cOK<=wxDMX3Uus78$ven_`=-S!O!g-xEk6@*Q%h z=hD(Gre#BQZg!Gys6P{UX+j(X@bJ8Rk3r{6m^bV(xq+~I-Z^hB876@4R>;A+dwV}- zX9wixGfGBNK7->UC-OVpUtV5DLM#Fj#G$~tzqK3XOUNo}YJ1BG`lT)#YS=h9SOf%S z-`~>f_?|A0_HV%@wjPe_E6B^^i(VcOvnE7>3vd~>-Y5yMMYw*3Zk_9bv%oj4BD|Sf z2vm~(xhI5-r>YoqbmBuu>ZoL9KC;eEEH_Lp>MKO&y@TA{-R->j>)qO#d3JVoSa>-9 zlE$ySJ;%n=6{^k{x|mVRW$;*o-NlZR^YaY~TG$#AQc_MhA;gsLKYkc>zrPokkiZ22 z&+=Tm!SgYLWR$^VxkdGiZA4^b5|Q=#U{!49vN_k3 zF|Owot=Hg*NCFKiv?l63xKeoS?h6QL&5doj0`T_6tLsU_0hw4>UO`sao5CCOAl*HC z@>E_%#^~Z?m)mMADlU!$0T^*FM?+9A$Jz))qo%gTu6^d4k<|({p2W}!AB>j)s6YU# zfsBcrGP+Q^>J0*Sx@f(kU?)un()+-zJk~!YxUXe}n$OmsYIaEsWQb-gb;UTf;qeku zP;|EhVj!}n?jJt{Y~1@H+Zj07U7`?leZ~?ZVKf)0 ze%aaIH(u#Y^3;cP0P+gcmH@QJjkE9H6M1`k*FW5(AS8snE~)G_=jL=+e0uqq@zcpp z8^QW`30>8+V`QVAjt=#Fx6$Xt?d<_n0wF~kKUfgv0ik_dz=v|nQ5k*TrD)zi+xn2V zk#iW`nDgG3i*AXUv$d+4@;KkBs<}Gb01O&Wm~$D|9j#2_bGYMmv}p**_u1gbA3tP} zE-o(mlOKNrZ~FQ3r~BD@-eFXdT9MXG8k#=ll6rB7ZU;_C?B;{FFWnGcE}P69o}lL$ z4m(JE>z3-0!@o^Qe)K8xJAT(2iB1l_^d%3Jjr@aNqxo%|g{;9+wDwB>9YXVu9jn2F zE-#|%iHNk?>W>HU=>o^evXE@f;vy><^VQX>+19UYy|>1W>3sVcj1E{pIzJprIY=!5MaHy(8>*|x{rs*id%(L3(2U>E3jYA~ zKX~+hPQYb~D?BW$*_`{OqM{*QnQk5)$eI7 zH*7vuNb&61vx=jAm8nXb9H|)EJiJR-`n*>?A2uOD&|=TAbXSTmh>8cG#xg}@S_f-6 zF>2>RWa6pfOuuT##%uz%ybR`iM;46jOTWh^Av5~vhgpVyunI#@;0)gqD=BK|1|w>uCR>iI$4WQ)}x@iYZ8lE%Dx} zpk?_Aa!bOp4Bw=sebX|ps_RJ4DjeLAFE=$v>JxFceSZK?T7|28R+s)R<|ESq``AUI z@BM-L?+x43e(f;G(&90c1g)*4Z{pFnKYKxe$NpD~`wK<-S>A(84!3s?=1+HK?BAhr z{}D=bsKgB}pgK?v)fzGVJ6!{1)_bTgN&Ni$u(7cDShu3QdO&2jPZ-`uum1?sXy0m32T8g)idOOt;q`~vX&ni28ttwmH4NrhTq5WR2$FqaQ`b~Nn4sF`^?%gwa^$H4TbwU8G zT#KNfputZs$Vw`=Aw{^p-1c+0O!ife1$tv=t7vfnL*%KXWVQumV`JmNpV5t|;kNWI zKYzX?eWcM08SXQ{IeDwOCO=UuEG*}>L1fsO4kLPc`qw)aOawV}qVV2#hCH8sEQf9 z##|xaBExz0${a^T((7E}dv}w0F{<7xMEn@~@>w${I~(|ydHw4%GGWhyOz;(m?8+)C z?U0^Kd^5&~y)U;{a3pa{R8$m@=wvaHjhxFA7wT_nVb8bu zBHnxua)8Mx^}Y18tyv~DGBP?iO!vF;xY~{Jvxk_EsN^Bk>HD6(D(W(yD7^p*XuX89z>TnshE+{1AXR)pzDVts| zWWno$S*WgcX=#FPj%$PTh%){V6&00(G8z$OGi;A#k<%b;-G}sLFUId85J7L%dpLm` zwEr3XLLuT^eIyo|Gg3mxq_<$7XFIc-{~P0qOw)%*TsqVuX)0Dn37JI1ClNc)i?{u>bP~8)T8- z{S2@IUn-t6x??|sAR4LqMeUnOHxbkt5IQpL<{I;6oJFrrmJq3bFb^qSj~_ngUDDCUbZ#i$zra|6;s1bnUdtq+Qm;m-+K_PTMHXMui{#VaKOW??wfrql}m9JS%_c}S- zDA5GgD>yhfC^VD{(i36Kf5ovwx4laC2R|&)tpE|-h1u>w{)Op3dfYgnOvdx`H_P1; zvP5*k$FlIsZCKjmf~rZ#@z_r#clMuo9jX3G!7gF-FLg|OjMtj%iiaoXu}l8@OG)FM z+qW|(5AqjV&o|2k_y8XXL@(?m+@3)pp08Zea6}m+v=`QEe&=cY3{!sHbw=K72XmR> zi0Zssx*wg_%Z0`~#k%*x=e6sU1Kh<>ruOM!)070|XtFPycBS|be@gX}%qXYX{B!J#=dE5uuyCzwkjH1VG~-Mn zXE#7XMaMN?D@O1!WbFZHIEhd*0rQ3^-zd{_h-74%jdpP{K1V*t_4Q5Hl$H5W@43hv zRJ{{7j20hnjy>W}YtE9K@i_7czplB}^#+!rXOFqR!+4g@H~cpyPZa(0zJKjgV`Gq0 zc}H_qhgDSH>a_K_ExZS~m6Ov`B_=XqI5F(PpA7BSJzJ;OwVp-=uYYpe*9o1IiE|4i z=dSzhPhKi7)EcJa7A23dF$EWoi?8oG3BGMX5>XrYCeYC)njWqo19-BpKAC+Fp8^QdRKvf8&mGxO=12c@$&|yZ^m9K^ zZ}almB{F7UOKiMh*%)L$XOnF6s{NBdmQR$vdePu4hFGJ;2oYc+)@ zjiru!=^GTTdtPbZgBOVuWISjF7;gs=;$`{1`0%eKA*yJ()mCbRr-LUC>fJv1%^H2|T`=NJJCgbDdT ze*NgR5Wi5%6rGGq86=u)9;Y%~;N<(@V$1bTh0ma49NeU3S-ft;bZt-#+aH^r75l#= zWmu=VyW?`x(no>UkAi9HTJ-*W4pbt}BgUtD=2K63I8a5uA7mEMwNdP!*^D#p z2T&xXC)ei*Axwvr%+S#AaE9(bYjMNBgkai{AyaW*)W1q3Xokrg)zdR1%Q+&n8HxQu ztGBFmf#OZ62Zm)2zJjFGl{C2*i)!48cL8y{y{jwl z-wF{^ymmc)8rO~cLajMrE~oJlxk%q_ZHh*V8#NMb+IFP-PWeoC{x(m`E_GOVP&jX< zuscS%4W6X*4^nX*AvieVnBpUOP}Ui;e~xktHQ|fc{}2%Z_c|mUc#u-Z z2%AVt!WySMj2-g;BW09JFkJg}+d_BicVR5e2e&UVC)v8c8Zuih#SAv$;jRbrtWXXV z-skyZVu|U1KW)nkJ)6LmOfzBuYW#=H%no%kjGuN64?9da7aVJ#bJV$DpBdL`%|lF1 z9@c&L^oC2vhJhrcTmQ2#d5?r-?IAoZ()!1oMIPyYrJhT(xdIY&E}_cIjAY^;22Qb?P)<=VDfm+blM zYjhYt0gIwhq=t)*3NsWkL5YRVS@|rDg zSd)bcc)@iF3@DTNs1aKMqzm)~dri4+-MaOAb#)^N8?YVf3Iooh?>#*X(CY$Gk{5ly-+kT$h^9z8TLZ{$xZKC(yLQCl_xhRcUtWCpOa70pmfEncvumY%$2p%tWf2DK_H(J`Wde7uFnjqqw-Z zdDl8%LCe26OjrF^3t&Ek0^f*;h~V=)Uf{x6v1@J{f z4+?Am>WzDe2zUwe+=X`Qiw0Z=3js|`xg(j zJR*f8Dmho_L({%O;}W!$5X`9q9Q$)@@pr1a}IA!QrD2sKbPn7oaRNKK|wcAP*ENDs3E0aOTq?YgdniAy{+KuD*_x0lqBE`7Q-RX*M=5BC;{C+g@R~7 z=}mBIXx`srX2z+Sl7o`~V1W_X@BNl`{W~oUKL=NX<^t4(Ast3pU%$RBEPMn(4BiF% zxfDv0z3*);LLP+<3w#iT2X+7qTYh0-yE!)zHFZ>n5ppK*bKr+4NKkNRWMnkXz(o&` zZ{p+NEJ4#tWXWq3vJkCGYfa;+q(s^K;^N}ca}PnT-7{*&Z5e73I>mUyA3JI{2% z??OGzL2H!L@AJI7CJZxBI;X`l_;fo*8gWyCc!GqCY{Lc`%8mra1*uK@l3I7f=$az#{FIBjG^ z1w0kn+dyOxK@=HYzst=0f`Hxs!S|OCW(>CscUyZ^Cm^n~Fs(1n>%k$AK*F&J8SZ9n#2W1l-`}**Q5_I5@)_QYv`5VNp?cZ{HRxL4&?X z=%^){0r);}n``A_0T~(k(G!?}Ca}=y-&h0$lGoPOhCfi@qQjo`S4ZbsoNW+hbL>4# zHkVAZzF6Hn+1N zI0K!v5asjt=cgWu1nnX<_+J07mDN@CrN;^ZnBpV-kSzg=6qtK#-f@q->MCmCY4HP^ zZ6nh`MZ>J>TGwWpo9L1r;`adPFddW}YUcM#7P>OBlm)BZh{~--+0pneeTH)11Ycq( z(G`npSE37ad71KAWNu%p>-#(gqq_UxL2PVn8!+JCySpKlAPtt8DF~>l&eRctg!u+^i({+V9&gq&NtxWVfwlOgE;+s?_=CQ4TALa2b&YI z&=CdRT@1)m2r`IPW7QN~pv7BXtf4jC%^Y(11y%MXXgA)zb0@pg!t759#}<1hDusE{ zgwAFl8;OCUE$%u6`&Y8(>>yZZznAHEeU;dE$nF$K7%eAF@uy+=>w{b9$FG?&cr*qx zlV^2-Nyz6-XvWCMI;_PNcrao||B?+TI)qPq9;`hvG^7XHe{8CX=^$ND`$WW(nx(0k zIJIzl)7J%GiTG1~31cM08b~HAJ8W31u|prw3>Y+zmZBB6-`FVe6~Zu<5zzW8t)jtR{ANpWfxbd& zikVrsOXw{!D{pcRkz5U1#e6a%tr!8^x>upCL-`XwyJ#-rC$71h!U688Ic~+zN2b+V z_sh4dGAp-VH=JkLFqbqs=_5kI4K%dJh|-WdZWLu}O3anE@RYPQV8~QdrHSj##EXSy zdd6}uvXSq6=(pl4O5A9Z+u4bQ-y3t!{}~J46P*naECB6LlJ9J&%R*k_9*!c%I~7^- za3@8DI5M(VQvt6u-q1)fGqp{W2;Op&Yo6KcjraBIxoG1l#1U=L(1;Rb{Sfil*uiD{ z_vtf1oIbq>o0hJ`GDp^$gWLbY^NY^04EhHIMG{nNzwoWcLjDe2w|9sq;G5SeD~kRV zudCP3K@>9u!?O3?*BwT3{6g`x4R`a>Z+B+ojVjR4ep00J3&JqXq4{pULqrG#BV@#f zOhJ^%d*8BKC6xNC6xfsv=^0Z-l~snV1Llzw#9AY>s2(;C>_=u=FzVAy-<+ixrlAZf zO%z6pePoJ>*E%CaZHZ+%ufF&>W{CXGJ|xBMXh#6~T&BI`-Tj1QO)P>7CO4;@S#F?l zJKGg-C1tviom^09R8jm*MS6D=Z-$w^eZqO;#(+rF(X`HqD}&_%XL+`f``MGVL3~*k zvOz^#w27LxUO$Pyvr}f~iWC08`+MdivkelQ>1qcO5|R-ssroz*6tq=kUCrS^ZakOb zDa+J0*Sx}|Esn=>M4aI4I;D-*S6ZpG-hsUWVp?mH|V4yhFjPt`hx| zbi@0hF;Bd$-g@$gbL%CCjMd=?T_TZ?=Ge?4XZYdpQ2p6GA6(QPw+IQzwYaWZ_Bo~_ zBy&1z@c2Z0*n)jxf|p#?rqmzUdydcx!72oQHRjclrwu~)GG*V*rkz3~Ba0*@4qkE0 za{U{;_&((CJHl)p$(+2f?Tvx#$qI4)G$_Rf)313=OvdKy-_oWTiYW}V-%=Izsm+rA z-CQdNn3mrA)|1kE9_RutuCkl2V5gI#JR@4iKIaZffqjsLrg>$3e>3(8RqLsF-~frE zqzF%Sq43Fh%U=?xn}_0@x56r&S#hb5Ot~z(u}Advp3(4aCMo8mGvyJh`9>dYelf?0 z5x2i>Iqfp9Ez0HW>4GLFBXftJzeZ2sc2G4Ye;PSHU0byio0hytHDx8=Acd-$(Jw#D zrGayyVU5T3$PDzXF3_cM%lSNT@2QUx2B+euWqVC2g|A|tJ5Pt1T85hfr7{cavlLPY z7j<;Tkhf|y%_YtQJ5aV+LYw-6YqmMF=r`8-iJ&Y9UwsB;`oZa*xc4zny& z=nksBf#`!6>#FOLWpg;x(Qn^XQ4{}0!*dn3SCWwz-<06WO{^pToy{LxO2SPF)1lZ? z2Yo>3#=u37aXASq|mxRE-aDaw-|N?0k1FpX&0+jTX-E zOwfC45JH$OPeEX6aB6UGMRm@A?_J~{anGiY0< zQi^WEixixddsdh`62cCmS{uJ=1wZuQF~=J8r`X>m_VyXfRd^ytv-+7JE>_>IOCT74 z7g`K2TpYmFYIMl)&5Sh5se2w+4MlA6ojZ3-RHdj7)9afT|6)v4Kj^X-qFVY(@@U&P zpj0EDn&Z22hi+pzmcx@vXke{=>!NM@$GY5k+AxTVKJr$?+?H3%LQ}$RwXhsB(*@Vr z8Y62jiSeoOM+)4*2Cm6Ewwzp1{3*8_QolbIsh0*bxZjGMTg~*d(tXf=;^&;6W#`IC zdacPrXBN7HTJE=c*PvKpc!*RW^k6n6R{xgtl?zwgUa!l>R%O#q5)lTUx8H~)3uhG-1-nRE+);?ucw=T(#BHlc|W@_nvJ}mRos4B0Dao_QBPxY zH5=ZB;EN|rsp@#`G^CFtVh9jXNoio!Np2 zo216ym^)nuBww$LPJf2( zFr{g>7;~xdPAU02dIsV?Jrr1`XJ}fcJR#+6jB}GXQ5H21gwbBci8C|qQ4dF2_D_CW zGXJ!kKL5;uKg3v*{1{`*lgo^e=~)k(m{X0?{hHTAa$&>49Q-srpE}8CYwU=!~{$!yca!IuGSEbO-FGy`6b1#{`Iwe?I3;OtAF@*1x(K*A(qe!#jDJ}B%!@^Ad z@((&`yuN;j4~(feGNv8qusO-|)d58NQvZZ2^M>wKSvh4K) zNvcTDZY>4?QDz=}>G_W-V>}|_)5Iion%OMTwJO&<&c==~I8VP8&M$Eme{%EWL~%+H zxvwbmV=vbv@}N9vHp=Bf#PlepBZe>Yl64LRh!q*TY-^a!RX=J@)5VGQGEaXhG zl$EpEXrqT5ay{j$*Y!A;wms2vXF4V+EtFnxJGDv~d9^;A5HF|owZ{aR2B7MPw9pk- ziC6b>i$sklV9R3PL0~gw zL;Hf}=8k!C?s*ue+9SA5VY#T5|5i-J9W$|>FSmh2Vpf`w1(l9&Kv`E`drKj2##TXp zAIC~GgfKd2CBOaTMTA+{NXbog3150GX_=*g?|cxkp46azBB|CPC!lSyKR78_cl+R+bR`pcn z)1-lP+K=%G#;194fRx|uot}mOer4m?m-9bM^Su2>$s=>mCaop*CLLL$* zHTW%ajR6|98gZg`OIU63NRi&EtkjA=sTbT!Sya=u)PXjItLH<@h z4RN6n^-YC*KOS}>Yc@tzQL#CWNg2pCV^Ap^`U-(Ml##$HYv zK6?+-z59!>uFv5pLO3h9=D}rNZJd)&ErRLhysxFMKILi*OTcl8^zbgBdI_rv{zm9t z_H4-R^ZU6j+JmXA(>7W!`Hk5Be&3lqCtr*4I;VvUJ%5K#2i0?abLP_+N~V?rQ|AE# zIj>F0B{`ls2&$m@O%mB5E-j4(n7L}_cTNRrxeD9!PAWTuPL9KVUJStt><@?zl)mcm zRrm8fTYr%5^_L$iC->bBGQaW0_8MhUu6SOZV6}zjy`j}~PY!><;(Ps8Y<84~_or>6 zx-q^!(nU=U`N^HyP`6m^g4A{!+&QAox zZDv@O9bH4Y?6~Bk)ZeKv%sn9dgvQL)>lQ+(YAK{#W{J*D*$}x#9(^rnn7ra4W4-67 z9k}3!8iAWUKE;%?JHAz}A9K3lT47_wlb!rr>k9PFVKFhl-@bfF1SFm5;h#}NHS8i- zHzQwWn!et^TDQrm2fWhvY8232)^9VxYNn zO}TtiNS4a4eMSUdJ)0#{qMBL zYTCugQjE~ad>}}_Q$8!_?E$T~e|5gS57RHZpdv6Tn*b52A$(crU{C@HA$SE5+0DFR zX^_*gH5|OZ>L9w!!SStAOdEJ|IPM)mK`PMyAS4t5uAASzwi~1z9XV@iYH(=;;-q8m zuTROQ@I-?TIlxd3h&H;Qv;G|#_dtS4fh=?gmHqLSAW%PDbbhJ7erbTH&VBP+SHHUm z>%%5fSykDZo2p=dyOdGq_y(FMOg{z^elTNX2B1*tD>g58+TX?5SX|Z+Ima%lzM($Q zlkYz7s&G5!rUDalP`6$Ye>T9%Vn884o;TdR zHk5O^pK*;Vw%VVD&@u?R{rw0;A83o-SIzmR08{a|W|bBOd9V>IHcTn4>@2hak-Iad zZ8ub?$pxGhLURl9K;Un7!E`xcz62o(L})ih3vPiNCGXYUevog1mH{Qba1!Jr`>i-^ zJFxJ^?Bp8XjL<+&@Tt)k7$1I*z26iAEg*vQfOUXj4FqcmDhBY(R==x#x}(hr2@vVF zg%XVG;~)?Sgv1QY%#q;e`;%5B-^_>Z;M0l7fC0~>=_3OIcf*d;xW3j}u0hP#pV(=OQpX1)3ZX`zL^P?nbRLaC0AcE4bw>+tR*S>fbfsHaLBRwbaOs z$aMDhTlhZ`{HQuw&?S5SAuVz_M^)oP@e^j|u8BP6TW)hvPGSV0Rv1D86;8-!{H~!Z zJt$HQV2}g!#c6Qfy&1Q;-4egc7X+r>U`HQ6efnlQBM|p;8jSt!y?Y$6+0^(LAaA7t zsRbrzWx4I@chMus*m8k31==cCHVH)xW*F=mPwxXq?+tK>kd;5uu8e8|^%r7F05;gD zYO3aF(&}*A0QhRqy&RM;@Xh&M3upLU@o$WmbXoH_&G{Vff-$Dt7K8QN!R48*-& z!x3DgBV1S+h-ZNl)Tni40yVHGLWPY4GYx0g83n+>PP;Efd&5+iY!YWMkfOk)RxgB5 z{VIKh10ekB&&X$?!x3eK8XP2!j{AMQWx&=BA6Fm2 zCW9oXzz?$$;Og>9ONn-HHvqNhd3nipypL3UnkYd`gm4uY?}J$b1mP}nzRBfN2U-MT zT3Q6F+^?Z-0>aUYbp^jxqur5Hgj*+qRta=v1N==#Fr&c^QpN zB@DF^y}ryRfk+C?3y9zkO}5nrQJ^0E4F3%04S1+}mRO{2)u?ojbIWaa*AQbMbO}&16s9sy*+8^ntFD6Fg4#(BjBRHD$vtg z;~SFxx#V#ghQqFsjA7N3gFqUP+l6Wy_qfX55iVYMxWs?ec+|9ks-#ojc(L~aqVTH* z@iT}SryKg$5ihZ!eUTTP9)paE{x&YI9rSj{U_uJf#$F1ypeY890mGaAt2py8B?==( z`yR)u-bcC#t2y25=G8eVONo5%OQrIbsDI%s54)#VsyXn+WG)_ki@QG68(=3#fI(*C z`Cmcdz^reGrYMb|s|k$Mcy{W>Ln~zukXunj<%WBR#|X*Cd}*LsK@{%~61JgQ7b|GB z^3FIDLu9GGnov6QaN|VQwJjFiiWr3FF$j-?-;;N$(fqoM?&BvG?86i zzU5+P2WzK;t;awNLLpR!-~)L@ULvbcxaDM+K%UkCQK<(&cB0aT3W5$j14Ceay%5L} zp(T$uBS-&~VF_kxes{-G4OrjLZjnnDs+k-q1l{bpcob&-Yb}*&@vqbSJzQB$1Cf&C`*9=urBn!sM~mNYl;R_>mJMA_HP&iyjO>dx&M^0?v%kQHPG& zAk1?O2hf^9mkvB=S^}0~VPTGhl#mr9Z8w+5xlx)X+edXPea|BW2Y=oDa0`q!51}X_c=Orx1CxEpmnUmGsy zpy;GtD$cq1COZFy|C~D$DL2En;X2kq=U? zs(OmFwrzaYOAhlY#lDp5F;}|eu=-O)-WHU;{WgfOl<@sqVgA+L-tCyBr2CJOpNbRh z`84U(AN=n1=;z%}zeRbS=K)`$Gb5=V*mAt;2^?iq*zINjvlZL6IvI?o95amG|R;!pI_YmNvqbZldBWqT%Z&7Yi1ZY3GWQg3YUKu3yQWF6Y?W zM6PjOKi(|=uNFW>*pqtM1nATruzO^!aUv>KB76zH=v#&uPg?Iw=d z)KZxoPPq8fNgxd|;IoozDl&12Wn*Ils@0du%0=y+1|n`Z#dWj-k2kNqooS{T#mgn6 zJk|0C*u}=5@G2^d&AYG54U%MHl#IHNWW2FRHmBQucK%yzU~V`s&@l6Z>ikI?^I)uH zZ*F+@`BJ<|$eLYRS{fpVgOB`20F+`w=tGlue==QyFXNoJlE5_}+vus3K}e{-x|EIi zQ)VWq%S&{U;g9=Pyv85zzvgj&m{C<#H9R;dCLw_e{tZLtnlJ8S)Az?`WQbNbh6a(N zqZ^kBgABc9f90jRei!JVDfk`l0vL{rjlEAzm34PN5esDuBEK6lq8W&CbvLm1_^Kmh zA)|AsM|>UoB$l|bvEc!2lE58wvNrbo;(`_EGDr<`L(YLv!rZ?fGB~IRQ|IX3{M?_u zQFOhqGn%TU;u?wGE?8ev|83OXls(!UVm%M#3aR|Xao@>Qiw6g&51G!(0fKlM~|%)feZn*23q&1zWsNC z$oYh2OrxmzOVvkf&Lck;kTVPqK6ulGOL5}P`mls-3lyZ;??oDfzKXbMYg5hZ4+!76 zgA&^I+9G*me0*vD6v?k+?bokg3UgyGe0&-XDHD1S`leiqpJQW^R#smQbqu6`iaq(& zOypTmKtw|moz1vbE3d1Yc1Q{L0FNzzZvxj)^hFe)n;JJReS3(FR!*w2_rT%*4=&doOSamD&i3{ z!7!KCD&CeT^okR5XHahw6B7@|#^^PD-I|WE*?3@(>`vC-x?iC^*cBb3kQa7JnKC35 zE|sj6Do+UCM50TGlr`r6{*kr9&$Gng;J!|Q;7(uoO>8$^!k z!AgRFBfkI|`Z%yuYF==9zO;U)Hy(1s2&I;3*}|@SZN(}~IN{?<4s&a1Yu8nfQBp<> zuRm3ab83tQbwHud6qL3$bG0+JR&$kARc=#NtO-4nRkSgysYfX1JcD`$bC$`HUS3{R zjgECQ08J{YpP;1C)(17b%T(3tqfJ-%$kNJcqtdSKNYwzVzq!$ckD5GWsHg-6*{d4= zOdh}9=7U?ZvDvCTFx1dU995T-lLIrEOz&FCs;C%^Xt2^xYe4*Z+~pgO*Eo0IeB zpD)E3+M#WRTanFkRmEMZ26H^Tyl&^yl24z`gX9f2N85`hrB49AU!)lJ!@h1tO}_#* zXbbJ^p*^+pOx5cFoB8TLlj^URZrkg)!0V+mN`g}$&;&BOtF!T@ zY)0%DkuyehJ&$`Z$n)oe>>Oyy;l?*->c%PYDjb(V%SHy{Ca`OW3=xLXxVFD$VMFlTB_(L*=HoABNh5};&^_Y=Mfw%yL+xq6F z2_*biJ|7t&ydWqL+_rg0f32q~@pdxGp+?~VEOpj3gJA)XhH9#QEvZ?dY;9}XJ@u{! z_F+s~*2LuQiw}=lxaH*21Uk;Qo9rrhT{ktL1;l|H2+xLr`9{mFDFh8eOdL3{x^#Iw zS4D&c%dg|LRiXCN1Q<6pFVF|drVCNDv4a*iH$VUTBpG7efwWtz?FZ(osL_#+dK#Wi zqV{qT7zMP82l0s7Gld6ln45{2c?rt9F)ul&&Vg@o)?I}i{6?hq+Q*@?`Pr{2yQV&v zPyx{Q&PX_@Be&kRefGJyLpGwT%AQA3EjRu<5__A(ZeJbImLiANI##*vxza|z!N+@e z&pC4n3L;=)99HayEt!rPGZRx*WhLn_HxykU%Yw;KX$S(Q(>79~EOdmY+CyvXk zAD%yAeNTjolk>TPLf5*pBPj6X(}gT_6+z)gOhy)3yaBZK$eB(^NC>Czg*!kIBC&&9 zPHmCv-o4=7URiEA#Jxg&ys`KYRFNkq?kcLwAohSSfMOD;K*F0hpIBKj0|5bVac~UD z433YCDC+6i-lOPzL-PV2UIbhfpqs5vJP3ioCJ<0@_K=me|IZhAhK#b7mgV7SB8M?N z;zm+c6$&oEwI|~)+;SUZ>L8;XoBIWl%P%FAl$5oHs!-1Wm#e0)s;;h0<_CjnckbU` zNo~Z2xqC>#5o2BuXNyXH4i8gs7zK^0!-Fx@^p{swh^VL{4awoOckj0U`LeRI0#^fR z5KzMqD^=9honT47l)wcW z*OL|21MCX+4x-Vg+FHsscBqvQTo7FG_*$q)3_CS^cVkLvEDfl+XFv5G5fd>hI32E(fS17pQ zNj(P1_hGlj8u75O=t0yBs?X%)WIni97lhK29mFKy|DOvAvdhay1n|LMrT-sO?;X!| z+rI&8sSt`nMY$9jwqz?A4Ktx(C!5ILDJzLc6iFz`$|hSxN=CA?D>9OdY|n9aKfl-W zT(4Ju+}G93_xt&r=X)H-@jl*X&%QOuQO5yOR=(G&O&g&<5F(??b7cDUS1dys9DtJD=m<|!_p&rE!TQ4 zZ|;|Inx39sXmBpOYCYY5n=TyS#n|g|n}ggY4NvN3ezq)NdZGTc*X$9?E5$txz#PYH z%G+`AJ9Et$Ai&{ z0b#QaK&`ZWH=zPZS=!^Z3;hr5Fy@g`8vcC$C^PLo0pe%ivFX!+SIJKY^;f^^^D=+z z1pG!2I|67fEG$SZe=2*#?))Vt+W)76Q4yuIhL`$+$D`=B#2akGi7AH}IF$^(yj1V` z^~Gn+h*-J&5)s_6Dqw^GnUzzF$}I;*THIJuQUswTL;y{b>fp5XahkJ4;RCto`}mh;K1g8XK+?lk?XAGo+Lxr`_w}3H}NVqj&^xa zLWyi*lH};4qpcm#KK2gr#bslfx@wa7psi?H<2eIgwP#5Rq%Qi4kRT^7e<|)xMhiU5 z5S^=v__yRTF|#we>}5W)akbII*!a1l(#BtNx7I?{;DF?4*pyca4dU@+qz}Ex<%JSPr=Yi6I}E8dTM7b`v+=q|F!gPS9Gl zJNBVGy0|1_dtCgt#AuO??tbSUCf%iEOLz1&xTj+YnU?N=MFRr^r{^@y%*+b@Zo>!b z+%^A{>TA!huHMc*DYOu~7em)~>JCxoGK~b_<80creb=tG^wJaOyHKPriEwkjw|G6q zeeZ+}<>H6$H!$Gt)l16Co?j!*r4%S{r6x^T8s7P{&GM*Z1@Fb=bptW3Fssv6Ctnt;7n)cu}zU zP4D0j)XU4L+Qw{`Gdy>ip<+X|X=|G~ThKIMi+Zvs!`8VB_3nTC76&qQ``y)Aa&4AG z_&@(1@7Ta$u)f^1eQteRPK9$@=Y%8cLC3kWEs{>+u{}nUiwong?_Q1hWU_LvuxXQD z?NC;)Hz-@+Z^W~Wn3jaa#r0W7tS2+5??K7+@|b|$BU7c#p+xI#Hu_wJH zxz(sT-gJM7sN_bZ1Ji=Q9gI^mGt1 zYgL##&g!%RTQKK-Vt7brdPhcW+$k~L(Ba4z4$J*|!4V&AjcXVz?J`z`xDP)qwn>~G zD=?~lzt`Q)j>Z4vrAv<;wK>rm;;e(uLUpP&I7HpNEkYxCg@cPW>Y3KlTOqVcQ4B(d z*shMBMo+#HH#wa)!*HXev_rb%&UFj62|7<|&%t?n?IX>O;3j>>%DwKn75PLm#Z@1_ z8ZL9@vu5(Ftth53+aUW&>=EN@I=}( zx~uClg8E~@YgDKPS(;u+$kI5`Nzd;upMS?^{8Qep(;bhja3a4OPFefK#1=}rK^gy< zxb7VTN|Twm2(r143y4^E$-&qR0sDL3+DhN0Jd2$Kr0Mx(vo(vNia*W#B-)9T$5U`` zaqiAQ;SUpq2m(ZbD#5@F`TH`MN8ju@HF{z&>&=_TD1pIPoKaC>W7P2VExhO^A$S#Z zbx+dY&7>B_I~R1Hv%(CrZNoHQ$?x@ji){riuvjD%AWR4)xeiTT%5o{yLw5`z=}z<%Zt~&f*Z5=*g)aeayLb zqlU+t`OuwyTJhs7@ndGibc6F_-5oMt{oK;_zG(6O+nj68yftg&f&K5VnOpkCkMMI; zot$u&#pGi!CU^c!Pp8K>W1a|@#^>E{_WO#K6IvnsJ$=>NFRwJ#brjlhIKym5tPxY= zu_zO z%b52m{2qDbk%TiZdK)s62rHko+KKK7C!4Yb6R*F;eY)dKjpshBQ3=#@2g#yl#%n_=?dTq!rkUn8oLO41;YI0&zFf)Rk@xoDEEeXQ8iv}pvhr>Ys+7$5hJc9pgKG=`sIJ!o*eo#xvozuvwDvnCilkx`ZL4uRDE zCAB;Hf#<%1$3BQ+5B3dCOA8>KN%f<@@Ijkm{)2YeTQDfsl>^2PMSX0Yka!`p?M*a` z=iE;n*LOpHUdt*%6Czu-&b4p6zu;!X{Ml*W+o@5BmpfbMIaMo)t=5&*i9OnG$ZZ;( zIU#;?sPX!p>WCt(CjP%JSh6?LR0PZ?tM^gE1o(2xix>oA#EtQY_CT%UpvGTz#xW z)FdP-;H0y>*Sx$|#`LE_GJ2W_l#zRZg78<#v^@M?cQG3Nv&fAG+uJAfZ4Y~hVGjk}@04Be;c&(ANU zY}}!MLMy5J#f9%VAoYxQ903Pf>=JnZ3@ z)<`w8Y}b~;?WV=)W+RfDJ23z8N=Lrets<*+3Ksu~em7POJU3A*vzqm#p1z9seiS=R z406dVY*m$-Wz^KvM0C$Ks9eAL*L$ttih3z(&*|IymT$tICKAMIH^41YxT8Q%7uN=m zXw_5naNo*^;#beVJy1aT!;S-2!1;b`?8@UTR8qv=3f?|;1ger`qeIdoA_suLf5*H= z_;eLdwY9fvXlW@pI0)lf0eqx;v+*81(-kG9;JoNv^GvshF)AWgK}aYHQ}_baB8$64 z)Qj2;Zd{v|S*ya!onPu(>%E@k+?r^NFVxk4F*@%x&4%vUCEJYdn{Fiuec>#e1`6^w zTYSR84%g8LjB|fVHwy?kaYdr+$R9w(RW#D6TE0mO3|`kgZ(eq!>dx5U62(&yOf&sj z{JiFE>so0X_;}%hn+XP##r!=sN&&0~-`^R`yehI3)v6I1SH1dUSABy@@Yk$I?3K^B zJDm2(O6i9Fq^*&#q^fy2WAm|iJ+oc2%XJ-J&oP@X3=d!K)Z}L4OFAF~G0IF1itMKz zf6m}fUE^03bw(n*!Jns%UwKjcljn{m_a ziHOU)jXESe7ljew+lBzFVZ75qSzs&C+N=$)E$<^ex;5SE;vUm;@RtE)Fe##(A+s&i zoU_R1M$x+ON*qC|wShFXG*K4s_KrV6L^wet@1~*Af!d|eoawzAOiuHgoR<{c`|{zj)r2QWcP?xB z3_UEr>U~wHYv8<6@&?cIw2O~u>U}TLIMa_%T3i(xy>m9V>cvaN(4m)-ewWpPO&1*J zf2h>b(8;H#`GlyfxxcHe*yJBM%F!Zl>h?;Dw#xDOP)x&Po8!T3 zwb@4o>@q5JL8>V}$gzHt1O!gq))KnyK+L|WdM`4-e&%|?u%64nCZtDGDOz;dLPFEw zAs(a6%}Y_`%YHDUL(#A#@pRQNx`&EpG2=;~^r6i{9gdYzqzYTPt^0_LZqfH>iG9*y zl#S%Ro{D^XnS7pZ_2}hu{ik2C3+#Oy?Z06DNA~B;&5R{F|D0(S|8=aft7~4-2QH`_ z@9)UmUK^(;&-1#PIqa76z|oTFjG54sEp}JCgx9jhXXAy1jk>jcJ%`*oq`%(rL`beN zvF(`BJ;tihazcHXBTMqBeNZqZ_XI0FbNcL0OL!aTIXTTe(-SzkMIe^|&c!Yg7(6Y? zK(F|phH7=@ACTO{yVL8>gE)%SXiX9W2Lkr}fTN>~>5}*Au(wH1k>l_IA*iONAJ4k* z`mr4p0@Hf?qvHVeTD(G>C|l#Fy8{2c<#ibV=wR6GNb#j;L?%Np>C)zihs#t6A{3OS4c5|FNA*krN$j ziy{`^56uWXcG2n${M(hfQX4z*m3prb?`~Cv!){uXAuqS=eSQ6HegXaTyLN%Ws{$H3 z_)pzZw;XMv3LS_M=#=^XVk|HX$0I!5(X@iqH;mrC;Q}Lj^$R;xD!N+3unnmEWK*Dl z;V@0jod`XEO6$0{*>!dUmW4K85Lq{G)Sv|HJu1at#goz~MH^i|9WR^O7RjftqORUN z+}8i*i~slSmPJoi)pr@PGnG+~Ie08Sx%D&il)=(;-tg3|kFM(4C+Lm11#jQ}{ppdf zmMvp<@A|#oo_qKVo^vja>AIA>cbVY7duCO);aV} z@APK9_q*|N%V=ie@Vyr;-#7LI3|*fz=+58c-oRW!ZIXZ#tJP}Moz2Q|aC_fZ^G5<< zkAi|eclkT@^M^#~DVm$fHL~0m_^;Kwgc_G(Fk1wu1Ni*~2p=KA*e@x$SGmPl{-D51 zSg?hLgoI2>A4h5g8oX|8<~}0D#YTW;Q;_y$AzBkHD>YwSGUYzC>q_8O* zpd>;oRDl3U-oIPA#(T@~F`U?E_D$ZpWEK#VRXV*rBGpsC{=aUd1=? z5byQNnNn`3oSF+TbEoFlRVg`sw7PgcrBT(`!O-~H;F}@N+@XgZ`ID9T*CcvVUst6fC!gRUm+=egfgE;LT$9M zKPEENd6lL2BCwy>E}?=sR7Zo~&UEobTUSeC4_@U{=>UhYFY|L`dNa^`>FM|S`}EeD`I{rvm zE9rDho;zXUt4D%HQ-;+_4^(7H+ix?qS+6JNgE(juJx;?ObWDw~3H%G=l}!w@)$ za0@!MN79~d-nAUQ%oa)vc_lk)7t06d`;Mz!?*5ItAmPoq7<^{rs^Ic0--Vqt3`o6Q zVS?WA4QO~IT$tYp^FN`jr!UC6U>PTyW&X&J9TSJ?6U+i(E~ffElcOvn4{ELkpRS}? zbjaHn%9Qs*xT~_NBY(VNwU;)xXR}>??yar82el3T{XT5j#?BiSV^eg--=3PC@*bdV znyM4(jH9EYFH=(fgI6`wj4-J@5y0hpBI)rK_Oh4xv{o?%hJEwWXFWN}IyFX0h7>$< zl03wV;y*SiX;uaYRUGG`^K=k*yS$^JZss_+XQwsR3urpv&s(RipT|CGo{Tbagjy^-2hB|c);3wba>;q~=Zp}n>#aKD+zAp3qJKYKM(LTp;i>YO6ZF2CUU z5gk{CvQ$$81w}oVH%9VPulL{hWF@}#b64=Ujp*NVRcRBRq-^LJxpH)gx;ZGsr#%3P zSG?Rw$ZfT-k$3!+IrHOJE;g5ft~Vd8S3BO-yMBD%xSUwa#@o*;!icCwY|qh6n;N-5 zsf=Y5hk)?80ckgI6iRU{wUAOWfk5_>rk5Z6+k~;zA|^k@O8$`&*E`;F3Kvf|j_Uaq zPU#)r*Z1UAzk>miXZrZ_@;3Q>Mp@-Kt#KF5+^Mx6JC7u2Fj*O^r}^&mnP=1amI9wO z)S|Csfq-|*-tFNwd3C$&OqYG5l%k>{UKYDA^L`@GxNw1HbkYZPu^qAT+p~xIgrnmz zgmM?jr|UwL0ta3x4v9gMY;h?X!^pgGAt+P;PXuqTn>SINYAK4eG*iCUnIYLW_Vfqp*bY3 zn)yNJ*hOFZQtb;De0yUiY1udS>#Kms-%`to3w6 z%j~26eY#nW$4y*bmYbRJnZ4jrJEFRd3V++WRxQ6AEq z$73Rje&{s$%|Ac)p-pZ?+Cx$_z{!HItDx&2W3>639dDWZ`Bq1yb^x@%?xI-8UQDEq zQVR`d0h}b)A`BFNNrH{NTJ7`Cljc_I(kWS^XK2962<>8 zMCMg`#P0)4HykIvHV(`QfQa#k>m@rx;In2_aBjPuT?XJ9+~KrZEE)lQKn5y^ zAm{w~^F`KcMEw7er{H%%`N}=CuR5c)oAcOo9f{F9JVVX^_A1ITXFfCa@*03V*V;d?+^HWx~M7=y2w$m4$^7fIkn+p_oEP z6g5-oewIY4#d;dMp@q??rs>*~!{0TQ&#ns&VReYVi7>;C!s z>kxU;iw#Kwy25)Vmsz4(cO+3!C8gZr7;0D}$_lONAAV(s#whrr|=@%|(?2Gv~5C;ya`@Z6nD#yOqDhFJ{50c(q|*FFG} z?HFp0P7*sRb45yABMy8Py6P3yyQojkGkV9;6t842n08qMOB~#>R7vM`0-6-Wlj{3d zqdE0n|INO*jT;{c-~E54WrT19%u1-e)2H8`2xvb7pAjMe2xb;o4_~S4*9q4teEj%T zJ%!^ptKYpa-z_s=NjDF#Vqy%`|62bQ_Xn}i0_+{Z>=8yg029*Q%+D7o!xRAe6InGi zdH^-wFli()>{+76C$rSq$b8I#5$76Vfk=g+MeEgXOyXg|2PV%F;<23Nop<46*qsjI!rNkxg6L#CwQntUEQ80{`B zcokmp*}|!~j;Nb&D}fb&xfBi#JrmRMrU4H_c(e-(3nQ|g0~ZZI8|>{4Mn>TS$rc;K zq0l;y!mG!I3rrav6uXeMg3e{1pIn5T1U1O?^;diV8#%jH9hsG9O?WZ<0G^l3d4)si zL8y)d`MWOI-h;7{{MjySnIR_o(=BnU5l1o#Z^3=$H%51$WU9kgJ_ldgw*Usount@o z*^eCgn9`}PtzAn5#t;v}4itNKZb4g5_S<;jw&WPSqZ;!R7Z-O~o~m`lh#N>h4C`b; zH^b&O!u}Kka5fwn5M9?obmDd_(CEFgkUIZLRp&iDW8uaRUWbd;Nwaz^`UMOzb3W2t z)o)k#V0!N|CeBPQY>q4;E6Dd#ch48w?1&i_vt2T7jy4<`Z?gTBd| zb%9iSyd=v|Cj(2^mXCdb(8o?}-a2;6)VU-viZ*S+zc`r#$5M26#N0k#Ra*d2ib$_La9_Wj(_akNY$|^7!Vlw5+1+E>X%{PD zpI%}4y0nI;;OlxK<0OMUmThT2Tgyh(1&83HO1>0c$KRBxyA2y(3tNxQs**+RXy zc+sJ{qYrEraVUT32fL0k%%id7p5ucBAuDX4w6r2;UBI_LN`e&OR2lCHV3|Z=k6s^b zj#A5WL^H@4du;Z7E{`d6>FVmjz2p)U{3BHGv99jt+&qCj5a@Dtu&g5wwtV?JA4q(R zvBmVQt^WO|=lPEV&Mmo$Q>EyImq)eBv+;NPR(?6V&JP5*PL}??m~FhZKhCE0SlGH% zxw>QRI#t*rl5SkHZ*5)?FAn;DjZmX4BkF>QNl7L*=`vLNy7|?pLk5?7&OKr;y;!Dv zylIXpA$MuGx1+c3&gC2HTkHn%;_||8MC3dD{)whxz{;x9L9C%X%P=AKrJVVc>1$HS z<~pCSRcllU&()Bmmy6P6BvM-ZFbRR3KTO2o^T;lNIIIL*w=d^9*gv(jvH1bn z1rT$551fiB%bwGmEZkdCNnthp2!aD=4JM z+#yDFG#l_q$OKi?Y|l0J#Zw65m?vc$;a}8sauP{ajZ4BXAzE)3a8imtzxy99%bx2c zVb~S|LCqN~GdLjRe@M5TG^U+-mP`m}KWE3ZVKxkv*e5#g`BNa|_zHUv;0eV9FWKt_ zuQ;Jh!g)`%Q7|y6={$0<2O~>_YDv?1^SNtR|5WWhF1T|jCQ2i9kpzuuBDt{e5$5S) zg{+gf+#G5$5fM?eyYB8k>8vaS^v!gmVL$hzFU}EU3x{ zQBhpzv)$_WX~ZQYigkT;G6->jat&zW-Vrt4A}FlxKYnb!Er*YfuNG2Y1_t}izhkzr z@)kH^I56vmdo~EE<9CcL5!@SNfHOs((2w0AY$tJSUR!QlJAiV7WCjfSM3d}BhE^$v zY>o`Dk!h3wHn%`buHJwQip^`@kSrDRS{~ZB0aG(jW(*Vff-GebRz{+($8FcZjv8b#q&H5$DE=u~{Smh^Zi2O)ao#=5SV6Rt9jU$&<-Nc}3KOuKP;n0UY-a1< z(>G7DG|_m0w9C|XlqRnW3++T5N6CVr$(G5~M?Z#5H{)%ZTUdk_A0&x?gz5kI?xNUw zYIf;9Jn9ajKB@^egd}SNYr{eN(JzOf?SddAN_izXL#f3W>Ld8a2|+Ol)Rdz|wfdSV zjQ)}H{$PA??&qvj(MmZC*C9-8O+Nnbe$Pun4j*}VRW^_
*bG6&TALK|4mmZPY_ z*f7z+LZs2;$O@^dy}gih-1TQw41?4XP*V{PTw*2@*M0vD4f)K>wjg2eyAH_C`1~{1 zr&;)Z*8K>kT8fIq;h1J_X}Jg8mooeqaW89N89Kedee@_9@l8tNbmOnk3p_atE}29@ z@MTguuHPRj#fs-OTAva82Xe>;vL8kvi1q=adhby>ho5Kk18dXL)pb@^m$l|v88!qS zOoM%62fQx>-pK5?U;u1zNaZ!n?f;z7?F`9)8hJq)8XZ$L4>EnMVX`y81^SQLk zc@`Z#y1QgO1bBFOMv6kZC)h-0S1c?n2n>YlfU;^si*U2BGL>(TVX|T!O^YyJ_k!8K zZ|`!R;zD3qvtuk&Zh$W`dFfq$)U!Yr7oa)88d`fBI&o+We*7>&%Euy=$mjmdBE}db zA^&IkQx`lvrLcBF1YjTAh#FM>Yd5;JpKsi0FV}M!F~wc@n=QaBgnShn76}!nBp{@|8W%IBj6{r#}^*l2YYm zaS}fU4sEBiRNT4$NI2nO1`Qn#GJB8+N+!yV|ayj|rskM&;U6nYS0BLn~tJ@3Yo^h06-_NAuj z*ui%Nvk>QC#{dn@v$QlN1@pjr z%tLs+INgZ0`Ni2xd_cSHuBE+(-b|W-WZdE#=~RS;X&kt3`zLUt&dl*#a)POEz{<$z z|Es!q@fush;A9yw#v<^oPWXW|@lMqLzA`_Qjie&Q3!%f0`T&6APH^xy zJQmy*lV?>dw&-5l?sY=gLh>nYh?%*07=EBJ^yXQ}Muw$Mvz;U^0Y>U5xZan^R>X;v zs&f?8MOF62IQoP&Oe^kb5x(a3?h-st{8xo-q-3q<@ z%K2(xV?vt~?K~!bE`2Af_2$RFA2A=#?xq06=rt*0| zO>6xv%|iZ${ZlTmRx9q2#_zkV_c{tK2!#7*y}ZhlEQ@cZq#Vw-=^<)ive;~FHUUFM z!aHuC50!q1G`2rvx8sY!>}(_yY53UlqWI91XATj_;!r=hLQ z)uPM`1Bx&h?Zb_iu|h^_7>Dk>oF>iLaHHZtM)?84V$m~=0{ z`o;=&tH3}YxdEhv_E)TleXGDrvc?YDp;#guBYVS0Jw#^qt-D1mW3XlopUdT2m|_Q3 zkYEy7lyv$q5UCKGkiupfQYVtHf8Aqfj|YTF-?4}8KUjdm6=14aai2PR0Iaif96Pr5 zcWqT)&+X^Ir>;L(h?w|lsFVVt75@nOZ^rjTIf6 z3?OE~%mg-=kZ$YWx>&r69KGXkTJV~$+Lw*?RjFm%>8KPuO4@9R=?FP_nALd$M4AGJ zZNOA!i3KHAd`Za@K!UyAYo29j^sr9u0tKq+$1>il|Gt2|E(~U1%Y%Fq$gZfV`PHUi zuS_XK=Mdv#q6`q-m!hS;02_g6t3yH1+VJxA>slyNIX?R_ZxQ_Td>@=kZAzvTFi@Pv zr^N1GOfUy*GC2~q-4tZIN%Fk0eh6wl5CA90)!8M<)YuQ zWBt5#Iw5iKxT}$%ZH$6dx%b0S1bZ8Epq;zfDCKV@(k<5AVYTXG<|CHfx77QWM5aqH z?4BNOBsk<(tVrt_wSa^$79%h6yxhJc8!$2gxpCUYFUWgm$oeDH>xZ^T6*b^qgfY6W8@~|AL(TiraF)`7b`3 zZac>1B6nMRVngyd*#Gz&VoW9qu;Lp?J28HejC!e|LB&BgDkgt0Jlvc!>QVQE334Br z1bwQJKtppZ{K9$iUZ_9#4Ur4goKxO-;x&O(2V6;t9!MQU)>!V^|37u`aOG zY!dHPcBTN~4(hsUgndf!2=+s0crZm}xiNV}OjGl*q$?Rbgt7<#Ad07lnyS?Yk=Yeo zUEdu2>ktN=FsY3J%|f<%vV9geEAZSX_RW~W8Rn>7$s^cP5vTAegh4wjxch_7Z39^s zh$Ba=Ctw6kdJ{0ke}JvcB)qdj<#YomEm>qo!UhZg7VypLlmTNj_mVPfJW%{4PW`Ju-30l#2XD9Ugsw2UHp*L1C2AcDPNhpyQ_)>R)jxH z(=q`iTPEconmh5y&#z?zSMjp{)&;GXoe4|e&Nk|0x`4=qm31#OG9vA#rL(&ybnHJJ zgUkW;^A*rO$=+;Lk zWnJ%+CZZ&F_oWj71S{CW?jHzB1Lg$WcY^Pd5q^x%Vm6a8d-)bV5;4-oyk=7qwoPpo zz40v&3;~lSDn*~Sq6yw+(KX2MVlMsrp_4zah<8(+IsG7RSx)7K-w0_B9CiJt^)~`8 zh9Wrp(If7<;Je&nVl49NWG@ixj7@`1?)S~lpeZsRyZ3pwTTtw_;> zUGS4JJ^mson~HmAPh7k9VsAgGj_C()p$1+67LIev0<_==em1#I;c`ss@VNk^a1iF$ zH^J{P z7(gw=WuqxvAEsD91Yf8^MuJ*M=?=-(ix z7{UToGTN0LL1$#o(@Xh4vvSuOK@>(x z_LzCIbm+xdMV^HRJ+3;fj&t)#zs>} zSYRRo%5rLY`oV#4(Nrhh)!$Q7@IF7@jIDjp%)zxg>!X1h7Kx!5CQfTMHa0pp>JEa) z=pPuUB)Be2wZ48A_-Dwk^Aa-xz$UQ_ps6>0=JM`)l(8y`pyW}=g%2#p9tFBcN@uLt zz+c41jO=@7^`=k3TD=Q4GnegsyXk_MSliLAg5{D^Rfn62eJ@xnR6uXA&ehYzgF6?!}cu^ZWl1{_FSf~}brKKeLr8hU!PCvHrCi_jj3IO ztc#hK(?2gZZQ8qcZ`bNqINo1Qk0ffNQ>R|^DCWNY^z92@`iL~6d}VFzW_fjVlEfol zSIcb{le8Kd8um5qm}SRqLwXow>Fx+9{7vAv=;+;D0;7ssnyW}4x8_Qh4V-H+6Bd<_ z_&BM`gh{^yX#T_Bj~HcSWS|u4|M{~H?LN**o*bMd>^hk0`>VGPq z>QKJPj7 zSuKsOzBT{n33>TV2>CY#R@S#>82jJ7dpE+%=_(eN07E8QX6)?jk~tYlN=h&ec@?lC zEZ8wN>ee*@PHG6-Kv z9Y*b{dlYs+rlzLPX4k-S-34ac)X`x!{9aDGr2#|Ny^}rW*i7i+>gsq>G$Bz(R~L;7 z+SB!_s*U+PMdDXOYTyHf)i{#a4ri8k8GR$jfbVcaF~+h!Aolo*AE5RJ%NTLst?wr^ z9i(Z-$2T5{q%W-p*$X}CgY&NJ4Pn@R5g)%!Q}Y_P5fi2|5>eSB4r0fP?Ts7R&Zn6U zI6FIsuu8PG-IyF0V4sxY-Tx=J{jR9E_zq(Efbn5;b*Nq(KV(*aMIKfG1^Bs7Zv#^Yf}PqSCFsdqp}4Nzkh$cC5c z>F=tlPVwe;_#`HBkeM66%kckhYHGTflVjh_%PlBe=4{z6Q4cW#XasD#92s}*(m{0IwiRKX8`uX;G9G78Z6$QX>7x22wx9 zBS}i~2Z-n%aHA4$o*gJ1ww9pitItflfB$~Vj~bY#FsEysL#K1$(~Qx?S6ubs7ky_$l_%R zjPZ~)$jIhoJQb5@E;Z4Y(|6I)(Vd~}>cqxt5>@l_+Ys6@UG*3P+=S>wolH<8ISsx8 zw`ttO@VCPiIXB?_5`hoa9>so^nZxF1Lh)k1&~3_X2`JxZ$J$}7NZ>e(QDEj|9~T!F zI=^)Y08w)c%gl zgPeGaZBZEC-FEzI1*uTrU{C{~1A2-0va;3SW2L2~kA=;{S=rL(-{3|8s-r#eZ}m!L z!}dFvzXW5bh)_a-OM#j0p@9LM-o)5MhWw@s=UlArt7vR|opW`2tdcq-+C(gxn#?_) z3Sit0uWjhtw`w?>ksU##-$AH_Qz!{JR8(Xh9xWuG(0AaA#1HPmHV>I8kw_J@QDy-0HIvoHsCi&fM!qFhfpR>3`jmn& z3aB8nLF%80KrViknW^R$Egw2(S+y_kG7k`0vf34#K0FEGU_#n3@ZC>l-EpfievH2PgaEBIy&oo``{7dfzpJ5SS=_xj?4=F0nQOY<>lVV@5qtc z(!BF)PY)I{ff3ks6J1)C{jdu51=%_}zJtFb+ylw6fHMdB**ke@)M!3dUPQk%Exxc8H8vM8IX&Rfw&)vRb$A24S z-M6?N-;b4eAS42CA5{)z-EeR)hWrJwT;zJM66m-q{|y0pC)QTs;crn7e1u`O&GhWQ zEa!FvL2B{uWN1`WROzYhGA#(%sGwl$i$(1^CPEHZdwYA)CJc>^e!wd-UR9#|ua2e? z86HK;e!wRhOYc;!J*UGGY-Qzb`ku2p$yhIex?#T84@p0#kPvi6J1CG>E@c~^Nq&cx zG+~MR$dL!DH`v81K7E1}+C~sZ6Rbh=n2g>?4(ns3@cNM-$b@9EGM+UOAO&Q4vYMI? z>sv-@x>`*L6N|*!<&;2Qs(}I;PZ1N2h|Rx#{VErKyyQXF(7*;7041^6B`aGOFv&(T zD_$6+Zx10BgKr`v9Doo%G(M$x{z)#d*NV8>!6nn0D-3lXcCKN)QSN2yZb@PG>V=nls`YgUEptG3>{r*N;gNPPC-BGcg&k`^W9Qf{N(| zZYe7Ftu!>b&Z2|bC=(M}E$p0~qt-o;lEYXhBxdCMW?jU>pULG*yA?yKuG}>|w@dh# z^RLUgO53(6JhtCM6GFMCv^=8kfSndHJ^ns1NW-N5C!rPe2=&;AOdKQk!p{R0AHP)x zKTsrBEU|w7{(Xg+a5xsiH=7}{RVR&+83)-JN=Q0T4JkdBH+lZ8vx-m1_t}lDv5Z123@e9n9dScUL2!6 zHibR}hyqE4Xp1XONKRC#cBm>CSXr%G$bom*2O(4B4p(-$*T-OmN$69cm^eKs#JeR9 zG^?QAoSE#~C$Em?0{s9<;W(Vu`mdTlufL~kkd>ep5x8T7F8XQg{P~ZE4ZCe3K3JI9 ztlQHNYOXB^FA`d9ZS5GI!*2el-mo9fB!|U}=c)s$RrB*$RuKSSwaw{TA7Q|uf>gx} zKUk!8LIM-SA2!Cs)0*rEN3U*`pO1p?*HGjYo1aBq#_Vp}?v;h2)5=BdQsmx-hUBp;&MMv06DbeQF6d!(-+KyxA zNcZymXOsWD9yFU-EiIwIvUPH*>FeuDQY}jsj7BZ6A3XrH&cs<3oh|%lC@FxVf`$-) zbFAwi6X_4<>t6LJeS3TL@9?i*4PZq67ydtpS<^j?j8yRQl1B8ZG7}yg9Szb-&GQ_) z@4ase-N~PoLRuGgM*KM&llO4>e6iQ<8Mo5q?5*&=fF25O$LYhIE5xhwOG`vD1~;Aj zZkr9O1xsg;{mid$Tspc7T!}SXKw%~^B*f`M=pSc28^iU~g$Qh%`pO|XDgIS-7bTyQ zo|>#fHimkQ1Rsxs&y@;6#6=E#7~AKz1z+#$*RQDM0ZyLDx0;A2Tq<00k=)>G0%!t9 zTKIUkty!|HDkC_8I zgf3#dw=@P%qJ_62sDb1AuE8hO)z$nKU&w>PsgAv|lLr7D4mLWcn*Y^EMqoeS;yIbS zbSUUnYU&Xb&2T{KmZWW7nm|bps5qnempE!|*Dh;_C`^Dj1*3uk%Z=7Bu+Df8X!suV zK?iww?qM3ZkAi@kL}f#|F39*I!9%XgM5u$*n>Za1y$AMG!efB2Ii%2l)AWWR;ZF|CTkC&SR|(M$W0Hz!YZ*Hz0;{19#AeT zv+Zv{m5aIj?q68BiozlDE}D9z!mo2(9B%%oo=CL`AWl(3;{o#Qa9v+t9Lg>d3(7p* z3sUAMK6SO;)PPP3xfF_918 z2!IW#0^UHw$HH%LQ@MQ?lRp%ezMI)xC=k;9>GrAMq#z5RF7gA{F%9&Nn6cwfh{uM2 z#@Lju)vZNaZqp-9K_sG(D0zcyk;PRaBnhTaStiTZq@jacN0!hdkia&q5n{;tYf-uc zOoI+2`P~fs%=p1N>3Pm-VnHRGiUx@`2Tf9CV`C^9uP69CH_?dX=!Q-a2X$DQx29^7 zFN1D^Yzzc32S65fPmQt8z2@EC7ZLDvYyKf+{{O2JhAVn{Vh5@MaxnA_>=c{f*`lzwNzyTBgbq`p8>o_#aLpuNw*e)z)kbVz64t8gT+>UJ1s4fd}|JzNrGtPvbD z7pYKSvI@v1&!6Xl9H@C4c4>nD-!DNoX8=7sTB17R1l2g{@JFNaB;OK?t$b@T zRLy*^X8NoN#xGy4=~9jrBs^*`+_15fHm_{me~XD7f{){GMaOQQW zChkh*-Y3|_D~WI%y&n(Pli1Ts@z<|XMp;^>{pQK+7kFp*Nhtt*`}CR-dZ#CmI;p7c(+heNaAZ(wWdnK4 zz05-=HFIC*#mKc@m!WOMSx-*Rce#(M`6IE^fESXA|2=BE5QHqquMlP4%y(2-BWs|- zLl@VT68p{%w=M!3yvJSd7w?NK>+H&(ny!v)rMmV|O>@I=_DZT2wY0)-Tg#PVo?{{> zFKsdt?jLFuj~N=S|IwDRE$78C%G(pXmrs9C?RWyjT17<#Ey0Ek$@r;{Orz-GZb4K+ zU)#!0(XQ$lldx>>qTPn-Ft*wK@0Z~!r#AdTe zHQ#LyBO-`ZraukKtX>>DaCeh0tlLli@50=gfq6BbWlm#qUF*V$|YWgIN|L0dgySiednj`U1vn2$V-Q z6u_GrC`6aB6y91s8l?cVGYn3^`HPDspx6Ko($N7Hx)V0DP!t;?HhdQ3DT>Rc;^w^` z8@6t_E43iuv-r6xE1#MlZEyDNY)y}gOLi)aLF1Wb^_{EXiiO2tC^yli7>Y&xES>;o z1poe1kh~2;yLB?P^$&bkw&TE^I6R=LSZb(`QVjCL%Odg zFkHO(6EM}%N^R{O2+T0a%5Qi+!n?2h>qbpYpS~XES*4V&smT>TCruOdjQaT|J4Lp` zNE80VS0?o_HibJSQoJLXn+jza`u?f+9HCEUrJ+Y9jWPsosMxKuGwAb^Qc`r{cgb#< zDh6FmP#?fgIGgSP99Hkmgau(Zi7=p*s`(>9$KZ=-%W};F6p$<$@2;&csS6-V8!19)aJz$Ip;tRm)4630Uc6RHY6&3BiU1{4keWm%F z=ZaKXXUCx{(N4ZQn)k_`su+UzM+Xd55Ov!bknpx5(#>P`r*W zbNgkMV!HBi2U*LQfLZhhb#f4IT)A~>hBqkT=Ii4Y#@vjN&xG@CzG?0?%v0~tRi_E* z;e4}xLdgVp$T_jH5k?Shg#N+}N47+BKN8^xRo6wRoY38nZC1c0VcGf~bQvi)ITV5o zDsHZe&CV~(#8cRizJZu#b{!5wLL<6wd{Lru3lCp^0zxjkuFYK)|EC48vm^6bs;a86 zrRdI2UWR%H9TNN#9hsV&c_r{HH7~Cz)#;_wD zJQzU*+yf4XpOTYtS=NjAOvN8F!TQOZaZQ@OZL*!qv&$#<@s{E}(jKCCqA2h$XyQn8 zFK>DS?hdUmL@Q)kjsj0qFeriFpn{^;ZH$LgIafDO@rhf}jCJ2()lSPESvdhDFd9XB+>3hzMudT^d%o^_m*vMQfq` zElI-BHkuFDO?(Bi*RTs#<~cb+K?%h53(r{1TTI}uB&H~Dp*TddOhJO@Azt1e&O+91X6MGHf5|`-yw~p-)pOVYnI(wE;uV9 zE2Z=a5_R?U)n7kl$Zl5`fn{X<+c|Q+7kLN!ig$ z*}ia-CCg!+wfqFtfdYdP%_*YA&4^!jRAz}Di_~5iMBc{4#DtTdm!rjj=Kh}mtMghE zDl$TVgOnM|bvnvE{u4+9Ot%2h1u6K6GGUn++9n6_Sek$m3gD#c)7K`mrypmgHW}DX zR4nh>EH&?z$9byZK|=nJU|dQ{_OaBF^GMJM_^=Sl;yqa}%9VoS!6_wHy)fFvP9vi5 zBRy89RT4TI(1kWdKRJK){WAIgRYDP3|G!FzvU{st2XLYcKY}={r=;q-%j@ z3{J@Bk$zHApyh~Rl>lmi*8<^0CsYJi3T%i<5#G_5%Rr$_0AsY-aiBwE(vePOw-{QY z{Q~0!Ztv=(8ni@=erW#ltvbnk=nHw(j(~tYXB7@x^ih0qvT04({X~tI?e30UH+t{T zn3)O=p%FJkCqv%s@PEMRfDbduL(&idm?GvAH2?-wI%xS(b|Gy2Y4l!w0JiTwfl@H4 zEC^(l4A(-yrQC*AVrqv%5-!11Q=V0F8KY3!bN|ql1jWFRkRPz>#)lxw+=3Mn zm4BE$+5OxMTpWDH0FEF*6Xk@41_OFqG-cE1V{x+%Un%%U4PBXuna;ZaZnsT}4?HzVl^wwpz;A2~Bm@S?*JmmAQA>Id;n4vJ#x1j&M3C1c3f- zYHI4IT{{yvFkMEJHMk}ORm(dW*LnynAA!1w=oj$^L{K4M3j9krS3Ll9@&N4HKmV5w zD`JY3-s`nwZBslU!cuayT1;H?F*~mn3N^H@$dy)ZAxEnxKacGfrASio{T9#7b?#Z( z`n1C?{|{U59gcPX#*I@*nMD~HY0(l5WUo|0WF%BpD1@vsvPW4B4I(QeBV1AqqV`uYS{Fcj)~u1u70#LNv`37{ID4Zgb^T!y5{1z1JSAk#y2?Mx_6 zv*BOgza{A3sgAN1Jqfa0w$+u>=|Wfy1@BI2X&x*>)Ek0|F9lJ78m*MK6&2r(@BC!i zJeqkgf+M~bg#cnppk_l%Cy8k{vp+(_5a|2Rr;{rZn(rszmXN(mi@#-u1`uWFo0Z=^ zsMLE*RY{#57@7*1z}q{UQJ?|1G&+Go0$c{D1^&^L%FN+l#iL292d1BBW+5s`eD&%+F$A> zujYNad3WqJz9Q5i3F+zdY3*01Y<jLso#c0e1M@DLJ;acfE`wl=G z;72`V9U9sXalzoh5vMzJcyQPO{Kb%iSDzx`aN%=BN896nh>ou@L@7beWay$p%j^wT zS6sp2>(EA>^6|Xm_!Ao)Kjj`4<8uNEs#`Kye#n+kjn(-H4<%t znUq$qU`;R>1E=@(!xLuiFJogTQQ7s}3@XfeU0gggIjM@xkQ6hr1sqY`d7rV(Yu2pk zzR!X35>A!w+|NJT9LDgAP#Q#F`T@MwH(Xr0tr-422>aoI0XY=Q_|xBv#~pTn!Xv2jz=COGd9kTEW)dG#XRDhS^`(FQ#qgJ%D6UJQy(0`3j zh3Cc0T1edb25w&?6_&L`FG`nV9-B+lP>I5=Sq*{-xTBMkqT_;0{CwL@o3i=saxF-s5H_23$S`|1Jr|7S(r4qAgGJ_C-KN zF5r4Di01$t#<&Hy@7MuVT+>bdBlxgg9f)(}*U#C|q6VBC7eCP-pw8_sErp8RpOG6e zigpA7#a)jw=EMKEnP!JuuJnK68Xq^C5VBcj0 zZnginqfrVR`#V`dz(A#7b~&sBVt6I^IuU!K1%>l&78h?$Z>%&{urlp zlJWt(9SCXutXueG=gWHf2X#A3wBtJwK!6s{2c3{hAmj~j5*>GR%tMhsnG3%cqzMbqYb`#Vcb#iF zLD~wCc;nN0z{AmG4&_!?V+yMcNZuz$uAB`Bv$Q-!p=B@)wWlA}Nb_Q~-~sL4(>PtA zp_R6ly$5~mWrq#o7mCG)v7u#^l>DvO1Qgd13>gS1NU!f`hvaa897C~$V1Sigqp*0_ zE<|mBvqcfJJhB238*@<1fM}2AU4+^P#_lhmY^^8EO--XZg{@WZbI4QB_)tQ(k6Hmr+I8%$*@7^)LxwZ3yX_jhPyvy(;7KvXJ^BC6OQH6 z@O<_>;0{0{-$st-|t0qQ#>8UL)?4vBoOG4sS?u{+=Kv+iht<; z6Bf zfmi|TI~8;r8dNwsARqu91$&V|a{g?d?*5-#pFf0f9!<6O|7>#%(K2SD5P1|7 zgjPKEebZRY%aY%E__l8%QpjWW))~neDo8VkDxCXb8rX>fOom2`L-wR4GJD7XAUBYm z+|n;I@+Nv^VSL7cPEMEJ`WJBzuyG(=Lzlz4)gcVBz~YNJerXm)0Da+2$oprw^7?Lyb!!`yp-T)=S0?M=;JBs8qpD#^q-w z!#+^OAZpvHDw+*mB8{7r^#xg_zNOY(|QAWNu8XD!zR-$uI zeUWtfRYXwF^#5IbjIG6q+bxt=rV)_TN$4mExPTVMx;V4|w+8L~ez`~I#H%38ee8OakYLgy@`=FlP#<$8}hJea%uv90?#nk zn#=^D1dim<^c+EqH$RKVK-4aj?+}15BJw+T33m%KMy8;{`2bqO*3Rxv`>)3b^lMNf z))8SK_83Iyn7|N04mVtlJ#*QsTab2T#|Z79B4Q7)cyWxPONMIqD6Vxp@<98Rm)&t# z;lS`eV$-!u`uY3Ew^&$MS&{e)AniEI(9cz3o9*=(^&O+#tlr+i#Ao#!PaP+m%I*g^ z-3HI)r8!~N)DPzZ&y9ofAYkRuDgmbeGNe9YfrI_#RV%A-z6SXyy0p#XTQ$PiAimhSP3P%JYr$UEL-I)x!8oJ=j*A9 zq=JcVGWM%c61zy%lcVt{UA8xuJ1)4NFK4khpglJSL{de25qk2 zYiKUGU!S_)`dak8H~|48zPlnDlAbH5P${c&ryGPVwigH#d-xvRs*ykG-!4<$M$ay> zX_4A%=-{T!C(gu=d{<}@P}kaEMt4$BVOcS`6~qQy`qeEh8+|IajTXfB+%@%Q7C8do zm&EqM>x~2Xl?%0TCP3Mc0tT-R?01lo{{Ic-E|6?n2yw-r%4qH z8ee{NFS^UgntFr_pPKH!ERg0QE9J7O!^-!!~q+xfGwcK~RB0G;$L0dyzLtFj1 zwa)S#EKM*`kXukdtqT^4Ha5C07~bT1rz`TgJ}3c6y+{(_rlJ#!@}B(_W=*tQva`;+ zeBoT}fokfn;PglTKX;Fj%x;#e$2TjlZfsMPF#I#0Wyy4>eS=X2vkddc6A90geVLciNe*yG}nR_KU#yy3MG$2v_&_9Y zDfrV@pl_GhX=IL*8Oj}OL*oK=h?0pppv30A?-&)j6q}_bbXp*B6k9PKRX^QAxj~~o zt=#xnnaQ_Y-4!<+Ko6yCi!d!|}U!syp8rIox=6YQ1v9qD`9+A2$Z z1S}70c%&x9mQpUe8Qs|bJjB0Ek(P;)zqVicS%9nME+zT>;~o2TU-O7edM;OG846o< zbr((4`L_JEJkWCb=!*qMXg9#$Le+g7s6@3*rUn!V6dkV1dBhxT1<5-Jo7uS03qFaa$;0V3 zvSn6Bi!Qjvz5ertF;RR>*xbN(k2Py*fPS)$gh1^EJKg17-3qmOu3_J980-8JF^-hn zV*im@i;Y7|0Mr&d{2EL=J`DPL`}X9U7ckDu{ZuRwSbzEBla8Bg_f`fBF1aqd>6OV` zqp<1?DOyHNw3d-eN$Prh-dTlA9|VIv%n*HRBjIS*cr_0q;GGdh3Xl_S6BjRgrbRk|byGXQKj{|*#!fC;1MUt%F$fs&Pr+hg>q zvMAJLZ;k%UTO7_&e?KxS{wTH8D?nnTdZEKqiT@*))a_fpm@MXbWQAic9lzcFmLn~O zX{4g%i`CsnEPPf1yLM5RT(p@I@*U$$?JiP4ESXh<|2&3K>~HIcD-^4W6(~HyFq~SK z(qbeK%E;~Up=BcO(xtJjfroCfj^A+<;Ps%ExUMn(ecc0&bRAab&W`6w?rX)wpM9#_ zP6h8zSZXSopZtZgyjw56j6$U{ozugx@Y5ErAQIY8ZeT#F4 zpr}@UdYhU1D_|1R=#^slBAQcBO=EWL9I2_^b-{@3Hx^0YjLPz-isy_HcetK7?xB=wZtDM z!9rx-Bn4scA(D%LodnOB_a&xLVunNjm{%g~Br_}xE4*7f#Euq_)|Is0z*YcxK&)<2 z+ypv|Bp8xw8%PG?u*TA7c%h5sTb<#Q759d5zqBx z9`sPV{4xxhARHxdcuLJWH+-Nz{ZswD-CA*{SBV-$R-Q@Y#^r}3w*=++NJKtSv0&oy zJNnd`H)>2uMJDfJp0j7)3!MX>N?(6~!UrvPWE68yUu~-V`D5Q#H|k^rOo_z(kZCJo zxO#Hi^WE_VlKGDBl4EQ-83r9hWIr;qGc#V8CJ;i;pZ%Fi0cCs5c4~as2Yg?5yHkz4QJXb39m@% zbMogL2sMRmo=7>3&@Urxk`l)R+~iJVlmzmqhg+Q(^$TqQ0MQdt8+G}!ja8awq~0Rj zq6Wse_mJl!QD+#zTE>9fVPGhlyoF*OUHAWTxzNaxK@=#2$*|xzZ&pPgk6MMr?dbkx zg$I1@thRRhz;R#ZWI8&!A(V-6FJFeDihTCCS)ElYBPnk#m;a6Jo(&cfH;&g`wRR7_ zE~gw7k{aLezH;EfaEf4Ku7MQC>Cc}1%UeEpRf)OfulbNIua~4&EqUv?!3-5iJV)*$ z>PQ!+w9Qw?W53Y43S#Ad4h}aW_Qt-x3#rUp?lVu-v7fP0@z6SqT9@I zq@Fa?KiqewcrrdnkT{_sonvL4CXfc$YCGUDYY|Vb2)Q2^k~cr=_Yp-O8Gij4_`Dmk zHb1*eWKcX&*)6^BWi8gYbB7oaX2RFnh-DmsT=1UGT1;kwF8xgL)aTdsL^FYKg|S;j zx`1uv5%)s^Oi-GC%#`*Iy&ogS_r1KT>R;dqpjlKKmv?`d($EfHq&dQWrx|Bg?vq=8 zU0u8oCBVFS^KlG;EK#^JTg`F?13Ywe`$#wmm@Ym(QA{Old zv7bHq6#5w!p_}6`m2D1aIv3Xy(Ubj~pHFeVL@)^b`2gfvYxN3TOOW8N_Ov3~?ay_PWoJ%nEq{g>D>O56ilbn{K^%G&wWV$( zUQ`3JyV>33t&=t!D)GZ`X7Fv9`y^!1)7Fj;wWqCn;0`%I(S5n0M+TNs)i*$q zv63w_)w?WZmJ>mgtq|9jDoi*oRp_K{Q2ijF`XS{*QirHe*@Gx8m5g~!&Zp{}Pj4yT zn(K=(;S)Sr8>D{8gI9WSQ{pQcF0R!ApSqB9@$aMhx<^{LkBP}D?X6ZUj|@RI>e=gx zZYJ){Z$YaM-erHO1(m~7549w{dBX)^<@EI3=ojK}m`EGK8*3d?TvW6PLj_-6eT){V z)$HuD0Ww#4ftUA;qKTIvL_SI(6zRnOfv&$h|21csmagte3yZO-8samA)QM<*AvgGY zrQrNO%eh(3r;$^cPTbbO)zBF~h>Egmee1{E4E!QCujxDZGt7rP<+QcjSWfe-mxwcO z(J%d$%Rl5bb=NTN2;1QQf3*NE`v+Ep6B%nIud?ITO8N0pDxr6ni+DHxC-g?TOik;3 z4l+F+4Ynu+P*xJ)Gv**prU-$D3&WF*w0t>0o-T?6;`D`61}Y__+(^S;3&+$9Oy9;r z>|jl#Y7f7V{DACE^#hWk4kbuG)Od1*aiEaU^w}MGAlCe$3(I=No(@;~djGI7A zYl^@MED@r+#gTa&s#2oB!mGor&yKwXQ>q-8hm60sB?4H_J9c5vV9TuD4_}D!j;iZ= z4_bLrZfveCcBJd@IiX*0e)31=EGNSpo&0ONy}`>d~e@K*u{#0K6I~t+y z&|bVNO|KoI(no0q6g{ja%AU;1v^)2I^6me5VbeBdk-LVamjZLj{V%+t^Sw(|`6})* zA2WT0gUMF5&!!EJF4r9weC3k87#%S>U(3F+R`u1cw1qd9GU+~A)Y}iIxtcddjdF>E zS9)L+d~!)qbDB_z1Bwt&v}W0~2@uV^ut&aSry#;QT*_jQ zKTNcxNRE;sgU`rNEdbY_?B=;qzM&*IBkqs38nng&aMKS+$?2RLwN3T^Bk_XSJPc!V ziMSULwUC%resVpVd30P|qULw>jYpYpSL&`B^f<>y>NByaY86_J3-6u((tS4c<`0K- zjt5!yYrLBzuBxRI{R|1e9Qx%#vXH?D!TFp8s|FdoK!i2Woc{r2Y**a7JnFH^k3o>A zN2tpBo04O0DWf+e*Cs(|kZA(o+|OgFz+)&`W@XPm;}}A{DbOGx>4kvv#2X5E-f>)S z8lP^It^Ue#p5rdfi-L<$rNchhDw_|-yJ=SC<7NXpqf}JO( z8l<#u5Sx`DS2m)}k7SkU3R?klAGm(X{|@`Evk%lo4Jg^7=~!OHzIeNS&G&TiU+($N zvibpW5Omv4h2j!z~!WQ z2vDg=0?&||i=0T#H(^sFA?ra~4u~7COu0|FN&;Djs^b3Br>>R0egyj<{{u0*5|GdN zwRI1wk*^Lp#7IHhEqKYr;NB+>4gHy`6hQ=_Q~83E7O*S=r*d-+rcR0q?{ylwShBH+ zKh4hi^Bs*I3Oy5ke#5ZSijEG(S~^DGGb>uVg45DB+0Qz?Kc<glKa}Do$Uc7!G>rFYj+ILj$!&%)Rbl;g>ai=&G@H$&65{ zX8owsdyd0xOb#uOP~UoMfn6;OFnPR#B2WygR822%2JdzNcAkj~Q$)mwpYNJN33+)B z5w-z276XuNY~_V*i1<|mSQ_+tE$Q-@3u>PjbJpBr_P2vv(^_Emi0v(9ONA{ zSWXJ0IjmW4AH;WP`D;&1=*w#Nx%MYS1A>_SOriA3S)>4*;ddJ$byz9^<^1W@|k0^UlkV}YGe=x zcgmG*kRCdkArifWo75uX+m9a@ZO%9qNx8OKOx?$FNJMh#U~S1Dow@QUXD0FO^l3tD zf0xheYW~zX5MZ0Rux8%;(wEe(5X&XCVE1))Hr@UneJcE#J48(s&q)12I8!x9uh|_N zqMCX)fsBj3v^>am;(!OhV5I37LG@22R})JsN#Y{hE^JmmK?C2F zn0k{V+T3!^y(H(>o6fnrF$)$UuDxcGr=^vS=0!O;CLXN`y^!*QN6UU+pR>%{lDswU zQKQKe2}N6mVl@@pOUzhuoqvDJORbWhJ}AaE`}v#sOUEIOIoLR(P^nycWmi2mGrTnL zg7r@aCu3e!>D8{n%`2mc(=*CrWAeQ>5+6(oKdGQ+(E9H6xX-u7tnd%#lZy-O_L~OT zF;@b6CN?eYbkWl&Bj?X{>mVi}jS;*!un2x2P8wjmq2i*Xj)r;)rS-*Q+j|CY@Z9)9 z3BW@a!;Nq&5>G20=~T-5V9?;OMb(ka-_rS#DMa+D0Dvaqtz*adf6O_hE;@)Dxm?eB z<-^`;4oHHjW&cY;glzp<+pTRW9U=z1F5i$o@3-_oyU=OUPl22H%iI0+RZ&vZ_Sb|v zd{t=aj_YsfSU8gIZSa}bJ=FDsQm}h_p@?-=mn+4&QyiQ6G) z5rNOwNbma?74sjr{g+A+Z8V~elvAv8*w_%e=v;p5@rqewVTVn{ zQnIs#l$3i== z^Yhty({gjG?XHPbovyg9n@{tb*SFcQZB9N}>gw0*pkEAKLb(jX648%dJ#A1wep6_d zN42^1or=+4E;BAAI6J@KU;en6zg2y$`4E$kGn+~goH(@lorH&7TI%jx%#9)AiShHY zX^8B9@)M@(l+GvsHy0^s$WN`*@7vE5JnAIwGgs-Nog{oR?AJss;pyoa$Mezikdw~9 zA4BSA1u~U+j_Z^xCG@`o4OSkJa0RtZL{t7H3OdpO&>{jXZc*D4teo5m*W2spAWsaxFkp|#VZK*}%-ibUT_$xyx3OiTwk zabT&@xwOi;bT*nL6xf@4`pK1SFa8}XA$A<5>xm3}mFO^!HNb(DMC4~3xN!(UW7sogD&Q|L#Q*hbMj2@9Ad9elI zRWbbvE59_ma(Ee1p5GA5WOrN{R?7&^VvZQ+Q}Tt7gH-X>Jt*DgIuZ~OJ_dnt$> zsN2??(F#*RHS~HU(vr;n)SJ*ax~@h0tbeLCMQiomNKcOegJrguQ5B~3^kRRgzYfIu zpFcvmPm06xBNfj0n%Nd*Eyn{d?;i^G-@V_J^%CVBxrDXuUAOJJB3>vw{gl8ezVpUd zsE7YD+~$v6IE?3%1AYALjoidpzlu}-=8?(ekw3@n8Kx6|(S56OLxoWDOm@ocp@Dj8 z+nJlpyb{KT==~^0{Xe6+AOtrg&p=7SQny|=zQN8>u-8wl;ilxXzWh_S%3@$2gt70) zPan=(ELK~o7Y;_8n3pl|2^II#Qmm3a;XhPnDB`3=RpZ6^`B%vOEnsAgZv+N;{hiWp zoMXs{D_!sO-Mf9OI_@oxPd|?c^K7`TF>6-oH!AD$Gq7$y>);eJ7v{}AMV~r3!iCKg;<6UDT&m!mAwU9V@&(HPWcTf}%Z(euRcb$u`SOZC#3Jwmw$NPNq z;Eiza4w0@rwnrIC2UqAjY`l`TXsPUE9X>`GeDg4$J=cQLx#<0NPKd2o6J=OqQ7^cq zN+ISY7twqa6&J5_-7g;~ZTs2)B?RfqRa$q-$XwdqD<8OViVOmGrEA+DJnrCJ^=$3f z<+Onh^BNNcv7Ap^D&&ORHyMcY3O<>n5|;N4OMk&vO`DuY>OQ1UqG^48%b#7yeS;bB zeq~D?K7S(qAxcweWGaJL+x3Kyiu9uS3>SKvn|=GVXfjJC9rj$g>UDRUgBs1%)%|lJ z=PIga4n->l>nZQSJN*L=^c@B&9X@Q|X1XOPZr4<#e6Tu*1p}u~mrMFP+uES!+V{;> ze(rIH;U~lMDbIM4Hye4J59moOT3nc)zwFw6Yqex=gS_K>Y_V&U$!mkNtm=USV+|r{ zPxIqtbQz~^tttK;uR<67fO6J6POyyPPLTS5kwW+C`M|?`yLS0O^aIi##xEE@<-~Pw zw{|2O)}W?V##{$ftQ_BGX!+DyK>cIj9d3BdLr1G)Kk9|0vM|q&hum2G$*1Jb(k1dT zWAjRPpSE78d0p+8Ebr>+5hL^GQMT?TmySN0msV&O`Etotu;c5S(y(8x?NlA2UbP|I z8~y)Q9(yvXwl=fik_k^JL>s~SKU9KR;*%Ix#(SoJUNW3u3G(A-&v>kQ9?fdobuT(}G`FFRbFh8?H1s&nh zCUd{s2|tr$ev{-~+%iLz`RE=8Z;qN6BuX^LRp|O1Q}aL0%U=8&2fb72`e_hp9pP?s z0<>o28lj>(S)m}Ttkqdr8>8??ja{PVN=8x62F8xKkN5d*1ydcWK7VC(`HzAWmGGT+ z?V-#Giui~Cl8M?1e!lf)feFxK|BDp0`gDklXCP$`Ts|b<9K62?)PvL zXb|Px|I=fwQODS=;!L8SLc%TJ4vOhNZa{(TzfvEjUppIhrLpa9<23|^eDPQfo=+^B zvvy4sN>;1p*&5{Zy7{&pKZBVr#~ufdc|9#>(cfJU(*HWYKd(8q`dgcMQ}AyWoZDmN zE%!cPPb&3?*LKSX zZ@YAno=jOoQBI0=Yz*YL4FIU(6A^J*aJT3ZiKVt@n#ys1N9gAp zro!eU#dM|{@~wF=-UBWCI_oI&JE3>V@6fNy(CC%w;(a;R|J#U9H;$uG)csHKhB>2T z{(1M6GNZ8DHIYXsxwi~jNqk-nJyZ2D@$~EIN;({mN?`|m*6`mE$mQ~$m-hRWnDXO? zrbJEdDWObuNgfwa+><*x6_Qdpz>JjpA#3Q&>7m=m_wp3;^peTDk zn9K!l+ys1_e<;Mb*qi>@OzbfXMM#|_%?28!9Su`vomp!B3wM*MtS%(YFdW6yi{+Ir+} zqW41^oBsU>a{RJ2uZJZjup}h$%=>2)_Wz|ncllxKmV<}5OnJ=8B!9JOlG!cX$oa1ZP$5L`Ln6v|NRaDIAufTgy=A?pTA;$NFu(Hh2R7zCStXma zHJPj@$A0ke+Zugp?)YJP)7MYlWrJ_b^T59qdTq~E#(pzuo#;H5k>JN}it8=PWA%@N zlasPDi=FbK!=o}JbwfHktf(Ehk=(X0oFQWUQ}O#(`}+_XPHfNE_W`yJhH8yfU9Z{B zou_{JN;!B$C-~=uC-zB3Y6r{JPAdfj@XQP5j?W~FKNV7Li2fa!CSqunrkIxpkX0y| z&A3*n?t;}9$hp3)0G5vekWn_j1bU=kegY*P^3@X)^2@#@Jq=yx8=A?wF*7K~{z6RO zeW|Da(Y4)!--mydza6cZ6jc~0e304S%kcLN?ZsOY3lm>2SNS-Xzu&{(*BN9}e$b;e zre%Y$Apk#6C}av&Pd@soDx1Bz?D=0GB{C=IqF25OB~mwmagaK3Vaw7a;${eesQOeYOvH&wES(kQlrC6U9a}T zA+BI-9B)v*-b*u3XK!~-%=-{_^A))y0n^_S$Q)irN6&9NyUQY;kX zrqDP9ESo)LKlU|UE>L5?s3=>N5YdIg#R)G1Vlo1*MD7Pi0^c|+5cW0Ozl^JIt@*K1 zc+R>!rOOA$KkfGjJaQ0Z$@MPHsvLG@0NO$tFvZ?s$5~AL0&vEO6`;e zmZzup>-$)?iUg1A39&jUuNet~uJbKC}Re6JQ`ul%6`ppndD zMe?w@IX{ujA;GFD!T;Z6m1<^^mxb#tAvrmK_!(yZ_`94mrW(@}+94sKk1U*ES>-*z z+>t#y0QQUI#2}O#b0buMO=4;uzqq)|^pwAoqsjNQni9LMKQ3F^+6WwP7l~Ey&ayuw z)D#gaB^~l3nDz5S{v3^jLC;Rj6`zWd`96K5Lowd(090}epDj08k% z2om#zs^)~lmW_i}zW_SkCpAcUX&W8Xi^8d}CL98DPdu%Vb|U`#5hv&1^F;^h!rU^S~Wt6)ITtF^4{urKDzwS3h1YEQz$P_Mp)|t~sWW-cIbcKOAXCNlFNxRW{Wcc&R zsBo3T8wdBZB3m6J#MVtw=p{tz+gbPfxekkej>)Xe%Ujdl?8`W9JYsGVa=J3bx;)RF zzvf4YnxTp7F0&ca_orUZ8Hn)iJ4iR58lol@;^SDz)E3+Fg|56&&3@cirBUI8Z(Qnx zZRRIm*H)1>$cP#$)p&v)KD|Buqavj%B)g2Jss2}?(^S>oJyjl!N7DEF=^DD0Ok~`s&bPGTuH3G<#x9H!5?|M3S}-#QfufJG>I#H2CC@8JV4yI7j} zp9iB1YkyxT6tSu8y5wWo;PgJ?xbEu+2ann7pIK^$F23e5nU~HzNMR|zr6av=tXj;% zqH?xkgTYp1VW+7Rj<7VU{Hz_4v7s3WmJh!y;T3w>($2bjJpEkf7+3O*L#wY3XKlEi zRU1m#R9X|3@LBi%|><;nCduJWe%>MZ*dxO25M;6z7(E)bXwCHaF z5@}f*?4vo^{9fx0wMH8%*)luT>uQ;c{%GH7m(lHMS$j?E^j7hAqgID453SCcn~a(o zp75tMyqsjL7U^mJ&0I}2bW%b%f2z_xi|5=or{z(VT1jVdz>W@zU7p%b^EV{nwq%Cs z6w#e}dZbpyhxmiY zNGKO}d3uHh?~KjUAN85J?SB4JrK@*lSS|Er-;UgLQqJJ8g2tY2^wi*!ui8*zTBoLM zJ@<`~Up>nz$jJMj^>+D_lR{tEHxpaulF@+lqoLWci$o1ewB_aCnbEfY(9!xjI44a;> zuJt?^JHK7)#0g{7edTJZ)lv7uMiZK%JsX~_6pCC^n3M{1opo{%lxDNAMtU8{t+hG5m7^h5OQB{och`$2jrkyAL|8gVVbxTNdeu%5UF zs%J3wg}>S7sRLEB$*wL+dLtZuWk4}y;8I1i|LJ>VQ;n1`;F!~+diJ8D&yte>UTbT)YScbq<8e8 zE!<-gBXzOAsbe41#+z)c-=wp<4Ks3=-(H{Ix9j0}r} zC71aAxv!sCmE(NYWPjAmGD*N0pZ)lj|7diW@ZK~b#x}IC{?B-1&-OKm3$C^Qt>vIa zHLl)M*I8gC$(vq2`}@RL7W4As_iy(Lir=E~%doTV3mu(gvYYGG+yma>mP^OsatchLGcLddFPb zo@}UudM4LwvpiSKWuJa3{e&T7Y=FnlPLIZ!Y+t(MS~(#X#_hwg*^80sZQhlwFOzi4 zrL+4Tcpgm}IBYo+KiYjdOLJ3nt*!0T|EmQEs#tYv{zY?Uw_!j){5a<{PYQL=?^lkBH3M;zT9jIVf=Z_&-`H2P%f49NTYRbZHVh9PKxy0o#rd0 z4moxl7GdV)bw7G;#fisr1V7#=v?nZMQU-M(D z;319rh)tU|jvKt;Hs|*C*>>dXocP_sUUZR+402m(^o-ff*?O1iSMJ0$mzK8Iso!FG z6VR#ce|XnUF=qEDmIIf2)EGh!{uPnraZoq>n-sd-8>Hp+{4ruG+1s&hNSp}i7y)D@ z`BN;izb6rKWY`jB3;IZ5qPT^SVa!4Po_pep@^h?AJ9uxKgKO;aXui_gqWb8;cC4hZ9w@_lj+@+u&oliC?$^CmFv^RoPtpH zdI9lm3FE@ghWUvoND(td%fP@r&Uf1=_Kdj{&c3rLYWO=TMn^=3ZZ7S3)rHLSs!wBLbhF$^2^0l^aIh!56{Py@R(oiR6S?JAM*L; zESVJx3PVAP9*s*?+wz~;Kd_RfU|NHKz{xdV=hN{l?D|-ejWpRi}`KUuL#gm3UHw6?#)w> zG%7Lm&@@nGWN)}W_WI}c^trEbJlbXKOH6||mrOoyRj$a5sw~{m1u0hqV3lhHpUpQW z_;wif2xLTiS6*ri%C!>uP_bvkQm=98DNS=gnB#rpn*2%Ah`6Xs)rqO!Rp%NW4meoe zm#;PsM7g(#lT#T}@s#&Sy6=fSpp+pUE$sGRyF%W{E(wth_8q40>wpo3-?DqCJ=mAE zS;U%J>gPl$F@0dtr=~ZDv4h2gCwK7|*$@^gf&TR&jdO>T3#y7^#Hdr&>A9{8pYr~3 z&BDs7sZ-8=;&#EOT!wCm=x^7yDo6iry2zB??=9Un@}|J*6XTTI_uylatUq6E6LI-c zdr*B0c@JaPWKN+ZeIkLnG-uJ@wogl92Z0KA0I<~#4 z>}K6f`h0)0g}Q{5o{^b;o*C;YiT8&+9C#?|)=%>?m21;|l{!fu0XsEnL{e?w`n?-@ z+WZBMKU9Qx9y^7EY_n?roA6To&au$_)gAhPT+`{N3X-vuTQ-hUd0I0F;)%t) zYR|rX7~OFP8lM+&c3Z}Qn;`Ulo3!*Z^!OD#s9m1tFg3NbuWdfk{z~l)Z;#Ta#kroG z?nXB=>b0%o+O#b;{R=gsaPhE@8`0V=hIp;rfHqvkBwg0 z$0!r7nVydFe2UT`i;0`7?XS0~UP8Bo&~NR8tDI3RjR#qpznVQ@HrKMV%WiAHyju$) zm4m)lsK>l$e=zN+zq{v}@d7+F*k6HsJIxv716z}NujMucI28+VM$WhuuCdx`kCHXr zZY;35bhCIXXZr{h+h;<5u2Uj&HN9$kt-X;lPJ6AHWIsN{@1=ZIOLlCi9Wu_ z`u?P<>chR+@_|Di2jX;D4%u0!m8X36v8>VwUYl1~?_~T;f+0tMN#f{6?oDo=bG6z( z`K4Ohdeg;ZROFelysY1wW&Qp6jr8>qU3DhWI+3qAfQzHeomsuP=OuTsFs{0&^S(!= zxw$tpUTezE*{4E>W+u&z?MGAR(8X-V&XGy9W}`R1ni-mhto^f%buickiu{FSk464H zgYZ?y_ak%&Mm9dUkkQfB%}Jb|`*!JO-fLC!LM3(_~eN z*^VE>m%j8BZr1Lkl9NuK`KGJMZ;VbrJ3N3f9QBd;M`%{E_FJX|;Jh-Xs(<&6=;x$Jp6O?UZ2J5ccT4$8+7p#&>F5v4kMFsF-wuGDN6rXrp|v zmcLhMXnB-IAX>9~kNwQwvK1o99263IPWC0n!M$nKQHM8!Jg(`x`Z-PH%f$j}uoLVw zzYBM!$FF~qlWeRO5%};Cy%*&PDmDiI@xJ@NFR*`~;b?TY*S=Ml6pejh$w@rt-tri{ zJ^tkFae*@4&hAZQt8|yL6cx2(x9EPlg4e+;so;lCy+Uap=y8yD&%C1zd7^jvr+CMW z0uMh&Z$}c%d3g`wE~&1&DXIJ7wr;jY*QYCmKVR8-hJ7BAP6qUaiP4Xl6}}-Ef()Ac-zw2m#%ySWV^&T& zv2bw(^NFS^9f&a7?#s?4=Y`MKmEG9JV%biUod5RG_289t(c5S^QAkEV_VegqegEkJ zsgO+)mbeUnc!~@2NbFr>X|P@A;uh50wl-aNvdwv4=It`HoTfH3N2e7r*4F;y2xW9+ z;O|q`^nCt4(A}O|kH9bCZNTkGAQw~+$mpg2Wm~Eli0)7CWBRAbqJ5|2-{ac_& zKeV?BrCQ?S={~p~Z54cbD4S)dV&Yhy3H4%DPHT%@cGt~Mx@n^1yL@@4H@2dlGvMzV z4&BxbS*;I1_MK%@2sC;Q;maX3obvR6h&F<%n}W!?Y1gmk7~FWfq8V)1vC$|W>mDDe zEhvhHuN&3Y8lUhtNlrH0JYx90JAg-mW}hgFtHGe>=H50OW`90)t+&HJ3-iN$j0~{@ zG|xR3gf{IXQNxhB_6jx9AdF=R0!kcl$YTXmX!qJwdB&m@wJdzhq?U~;r8ww>5LHvL zt5?^FzYAd8u$byTE-Os$pt2Lgu$@N4a?g%Ut52Ui6lps~aZp@&=4YubUn86&rFm$t?br{`mt}sjh4d9}h0! z!Lcz~kk~<3XwkZ+*qZ|5fuI4HaD+Co5CinYX67m^eDu|#f4N^ z3iJg%PCSrau@nUHgzRU`r1_^Y*eGkskVJiJwk^queFHsP)QkI@^J#i$GL}kS98%4) z8vC1M%-)KXg~##p6<>Ls75fzjTV|b^o#~YZ)6}s(N`3YV`p_a>?*v3r9g7&T*n|Wh z5OxubVt3~DJkfxSm!Dle@M7xg%}q-UxI-M)u&fOKGTi*tFmacHr}LL}3!-gtA_kVC zIG}wl|MGBcs6+#hn&!%^#P1(`w(;%XlZ+Gs!>q3uc({)rwm~?JTj@Q~-V^wB(`;N^ z?=iW9loZIT_N0i2JjQwQSqQF%;7FP^&s-Tk|In;|+04TvCF;hoBykR12TfjDV44*_ zW!WmP!R3bnt?~VPws7Ji&vj<3U%(2(%YMPsw0LC40WScdg2_qupZ-elB!CBhV)*s5 zGbYk=)2gXSd;Yz1wL%n$JiU zhLir$pZ9omn&XhjVtAD9Bfrb%H@#=4hD2^U!^S-b^DZlRf|&7jZ#0@SaNUE|Blckr zTlYkT#{gHd>i9OZ%M^f0zP(;FHh3@_CC-~%!NU^b(P8Rvaym9lKQQM5nY@L!zLPKj z#?25&(EnntrWkMK@TncT_wFIH`7v(RlTDomYdq>Clb?)yvwhtxJ;hOnQY z*TR_>6k{7DuQ|w46b`SblXKDdIkLCofy!bjz3HpS=-*9qCg$Z%EUK|@-|l%>@HIMJ zWa^%#7QlwgBkd_6Gp3io*+_eUyNKYL>D0h60 z=J=8I!cWLS0(c#L4&)H0b-vKHCqKIbz35&{7UKP$jS`tQvF(bK(s-92v(M$FjH5s zw6OMx6i<2S)9qqm;qSlO;+o^Fjt)ld3(cSWelLaXAF~li7V_}yTz`>joty=&_;%LK z9F#2^g?7^n8XJCR58NQL!*BUa(wQA(5)AVF$T3U$ghVotM3uBBTCI8}k-M?1YnNYN zi9B&YA96#&$KjJ2qaY(9%b1n#=EVB2Uq3%MHa51;u^)17J0B+NMTq7q1vSY?;iotJ%|G$4-`oJM|>l&9$YCOM*G>`;*+Om zf%AB#ZD*;C@@E$ zW}p1<9<&|o`+3eKm`(H;u?68^)r1js(q~6ft;v^x3U|!??(OBdn783Xy_$uj-|Kd zXw+gYpp*CJySZO{$L3e9+dSUPvOo3}|13AHGNx%(gLD*1OorduRzY?Fc70?o7B8_j z)h>U6CcJ{o|L&XWcbiou%#-4_wcF6pk?1HgkeSeX&VTyNMTSR5*PbZY)zr{n0&_-5 ze;KA9OaAUMIgy*}P~7VV`THnTd3O!{*?)zf#hj{`qm~`E7%_r8JG<8g3R3Br3#tNX zzQdL+6Czdl+*y{qMR^Rv^FCL+IxH0Aw5Y_d?B7|FFlfRjvSE8wG=*X;lN;q1r(<60 zAA98=?GnM6UhJyg+ne%R&B1;Yo0v$Hu>zz{q?`AM zBwaC%9NFl_$fuNmGeO9G(P8lP~q<{mbS&Sa~0zJ<%arDDHRE^nW-sl9+AJgJvhWixJ8ZfOhLm7 zS0naD){O}s6;#w}+`%a)n?-a*>hq)31Q=A+?zNPxgDOckXMIU_+xgPW?mg0aXZ-;_ zjmO&?4j8;sw!ag^Cn&0(4sfu`e_^Gvwz1*o;~RM2*);aet4TEW@BD>@8@s-LV&cA_b|Gj%w=L?5 zZH1NAwJpzg%Bt+VQKGg&SH)hqpEj{Pkzyz<#j9yu9N*phv=3$n-f-9sAJ1~ubq)^{Rrg zNM?m?5Q&jcTe6{0wTv`IpN80k%&I^h4v`NfyVEDKk^>pKEHhk=%dn?lT#pwr2%aH! z@0t7W^9WEnLeZoYc&}>sdN!ycT=DEOx0WL&a)F@p?hjz=_dNPEwzMTe4S@HoS-fBb zli%wUy8wy6!V78?Ln<0#ax9MrRP<-4%b!?iIf<+6Q@kX$?$Is(Rl{T7`=(57jvP&x z=T@A|a9YEAYDP$w;~+G8&~GV={u?ky&)Jh77TI~w*ApuI2N*BRgS;bn{8XTEBctbV zlW=CSE}(QJX-q`m_5Y~WkFC8<&!==BTjTEI$7Eg{LgH|OGOUI_C{ns%y?(hV#;C!` zV#0O}&1jRCrJ!6>q_^@Z-)%80^z4jvH2!O<7+|YABe$zYZh&geZ?xRN8E=<#Rvo;>ZeMmYJDUJgm=Gk$jp`a*z~aJ5;I=@an0XF7kel%Bh4<<;5mXMV~1 zz%Z^@lxd4KyQV`<8xG!}W#X2W3uei-PVT9DSu#C3-<)~C>*ocv;;w43g+9>%|9w#} z_9k;QlS37Xob?P0yF^9ja~c2T$l2|OX8SA!mOypZAzTs_GAH!|4j&l$(`h*Cgfm-Q zl%>@D=wdyc#*0&GGw%m@su%7PVUo%_hoV%|P#>acF=M&S3 zb5|P3sLYQauh*~JNXjCydzkif;@^j4e*}9xGH7b2=9#{ST5l~CkXsozlXCwMejV%A z*jqQ~#%t2lIfkN&Sanc9!rPP4c0|pNOoj@ zO}+hprI$R{32-Qw&6bEz<%U-@*J_uTDqUkLlQPsog1;YG_}y+>C&|85Vw>YG|M0VF zaUcI29w_cS#;q>NlalT&+Gk%B8>QrV^1qUg{W`)=xw}{phQe&@NhZCsvtzRTdI0!q zb2MAMGbEaMGZZ_I#O|nUK4&oIu*@zo^4@6=hn1Yyn4f*ixeHXMOyn%*BzUX3Hzk+W z>=|#h8H4&NE+u6woax^?w%d;2tEvCf+Lwo8xvp=&2vJcXV_K4sL@GmsB&}$mNamr; zW9ASdLn10d$~>1Lp^zdpn5QTtG7qJcP=@ckTYLTX?>mm~&u<^c-g~Wv*YiHl{anL& zo!5DePwcO7IZb{@0d#Qa>kHw_RaNr2{o_ED?z}gR^~Zw+q9E^gyto*-ezZt_vzey) zUlU++)*jC4SG1J5VpziUQ>$9IuVJj+L0DRPzG1eL?N1?!{|VagxQCQ;SZe2tJ@(>` zr^_2jmwG-;&27ixR>x(Zc-Y*!W8a1Y=Qi%&-8bG)n9R!5;qPi)m5d@ZZLa*EdKOdn zxUNY75NE)J-7hP9a*0dF#^v0aslHLxs$*dR3_9z%BxXV{{S2-T+|h72eS7j#`*#)W z1|OxL#BsvjhZwxX6XeMV9iKqj5Vs@JY*=Tbe-={@oQySS#px?r@U@7$4(=OO&FUMWnPXq*{N>o{%{3`&O#kve?qvEbuO%D`oa)Wu_| zD*>9aGo%vc++$wgyRw|jJ8}U#SR2^crG!3*`+mD-Q~*KwJ#KP*D*iP!$`CrMg$5DK zvd31KY(KM7ikU6kJmkhG(_=e+UF7Lz?|0d&!I)0fj!mt*N;j{0RUQ%ib5v_qx3;yt zAP)vIWZ2vT-tl933LRWt*c*J*b@M*Oon%FU?D8Gi znFtlZB%YHYH(m^WbHv79A*^z8?%xM_p!V~ZkLkrK?Xt;f<@9e`T|LTbg_=*egVQ6?+eQYssQlNU8WvMY zjg0H~28AZ(Dxtvj)va)~7ly6m;5XwtBjcYRJmh5Jx$>oTMJ6lfXR0;#-G-?44nQf$ zgC~4^maVoB(!=^sXYqCROigYKX+2`oIPJUQMM$dPfkl)XLXC~kRG&adJZ=38v=E#VDRBbrrQ0 z4$ioppOFxz^5H;1GHZp!7Eg-&_aiH5e~#~JzUwCNr|IbEaD)wAg5!a7R?^lXL>)-! zHv;{MZ0YAeonb_H+O~cBDbyQyo3M>U?~5gvdH4>*Vn0=3zKZ$!yG$@8zgE$c>oP^2 z0l(2V8JrBFsSM%9zS*KqIT#fXLovkg0vL2)%fA$5bHv4OX;GgPmIoC`RqC~cPl&9I%=a(lEfD#V_qCmfb23~rY*s@CbfjV z@6s%3hP72JJh;137!+#{0S$q8+aixVm<#s?2AG1QKtA8r=PX`WieFb zjG5(cEJ5t?Y*djx8_ea`5GH?oim0>R26DamQa3$;lIgB>-T|@bW^AnV&e7sEd_ghb zj8?w!k&YAVBBV>A<+l$!=fw%_=M#++ExOLwk72<9fxNEQweC&u6pfAbP!{LgzC8#f zP=Cldxs}E55HorRkzrV%^_4G@ZVIFr3RY^qkH%zwKH}sINPtJFjk?%dS6`k zc;C}?eG44X9L%M0{hQ5-_gHhcI8;RF8ZmCBVJR3#ZGd;<1*QjdLw-sjsn}%xhM6hT ztT@ zB)+EC%VNjtk5`3-t(D_thNxOaeblMNmCqmCy-#+nRDSDfJhAO&WTdjP()#!m71n*G znqe(mqSjqPTIJ7NvhSp;1n$sfv({dpYQ67FW2lBGr}_DisY|}T-gka~ztPW@>v-A2tRqZ%bt1!5koz4U%eT)f@PUvmweIfIy(Se`+}OPs%i zoR}L6!|x#Yg5-%qBrTL?bFbeb_NFpw5`uG6Qv zuI>{|R`E6x?@UPA{ZN{lm)N&2-DMoX`Q4akBA9Y-bF^TnI9l2{IyM%PJ?^`cab?xv zVXimRGAEB8H^T*KJ~(>=E2$EW{gu@A1J9?CdI$)Oc3&=r=rn$L$gHcxdIiV*beW6Q z&o3X;@RzofCgkK0oW=TWj){%U@7J>+v4Q-R>Af&>@&Q@pCH`q-s=>lS#KjECTv{i* z?%q{=bBi~Y7)O&6g*IN;psdJH2MAK4_Y4DqSoMn+{<_81Cf3%!YRa}`=D|4DiI z=#JB@wD4)fGS-T|e8hUO!il%{S=iZ$AFqy%&cZL>J2^@5ulX0Z*Nqq$TT%JgCHu$Q zbG2_hR>2)mcxj7j<(Vh*?AD%iIVp1D@o(C1mDBMlU*0VtkpiK=?g$90LOj46tHOwn zg{HNkFYG^^d*9tn4DjIjn*Z1vcM<$@g}GnPmVW9zL#i8n_K{sjqf}+atBHn&X1Amy z>2t`wrh-i1K&kU6h_E&$Qinn;pc)S`XA9UJM|{5FI6I+5WLx~GXn4z?;|H0XJ6DaH zpKx{#*^&Vs(Wo@G!&VN;iWvQ%)3($CJyYGWraMmwZ?z3Mn0@ z`6BP05)T)()X{Mq=BkU(GhWy)y+CiR%BVR*iD}EqXzt5@kz}lbg;rs`lBqq~Xb31c z$|=ydDlJTU{$S?!rYSS^j{F;NRom}2^*59jgtYT`P+yBqZLj!><)^{S6L+`Qw4Y)P z1WSLgzh4ngw>WtlbD7W5ew_CV)#x2hu>*gy*9e_ED4m9Rm5TcMcl)NXk&}i!YR&9Z zv~U-F{5TVmL9wxNzt_PE72bJ|%~&RARFIr|B9-<2y@`X?uecqe{7(f9T2>3i;*NIX|k4zGdXL-yH+ zTZt76o@1j{GdeoU-Y2`^ue#T=1v{`5xIix;Rm^r?3ke}Y+js|Ht)T*GMCeR;Of<(N zB%H9c%rcDZh};iN{`vxw>Up3EC~cU?huCz6L3?;u=g$Xs7YXCnH1D4YhXgo=qe+iX zfHaJ2s)p?wSSNqfg2vkfa(f{)43&PGuh>UbPf=#bGkV^1g@Hv#BV`rhKxZfFhhZYy zhQJ5it5(2D2xqrN&JK)^zrkDt8oe9gI7`G+e|tm1sa3Bla?oku1ucZ&pah(%U+U!Y zxjPzL%nCnwo{r6wso3{DeS<59);4st0uc^ilejGRxH)c9D;!K1*>;G-L={FX&bjUo z6e@EWSAr>~qq}>i(Q_Y9Uy+mhM=zG*I0Z9pPQl5ekWWX*8C?*EyihH?AQZ9T3U`_e ztYken`%r1RaSEzl2XWqTsCVL05hnxTq&o5WRisS?>LqVz)R%U*;0YmHW-oog_d?hs z0%y<;j}kLVfGeDp3~f`Q!pW-}1vqw_u7V)1Zr&~29r>S6Z3mVl$j} ze5Zlo;aZTZ-xpc2a7)_uL&7Qz(Jl7QosAqEmg=ShR_z%?K8*OVA-!V4NVd$n-7j5- zFA%J>n^9+?792un1e2Q|*`7z_Y_Z-&;x06EFDx%!Y)Uv#54Gu1k8fKk$Upof@XG%V zgWD@+Neh^L{K!aX9DpPYp42=5WEsbP#e`X~u80#k(WM~9wa6Sbs1g58RS8GtA}(dk zi*Z-x#ZKFWCQI7+NfgklUVEwDs}dvb+;y;nR>WjrhqMRJ7s1MFiz{_en$ny7%baK? zo(^ZlyCpAgzJ4b+rQ<#ojhABihajQ6}a*fykR z@J3fh>PfVMGZ3qp0X8;y;2r9x3qV@o1lojmjI7t$Ve`g~WCU7yJlnVkFL~hUS&`;VmQ29)D#R;5W9q znWJ{<+(a%Ne!mQb1m}erGh+4xtECt*BdG7374d}_lMdFb5GKI}4S^KxcWf_YzZ}Pm*f+o&{p>?i zTJ$VM)^AnSJeSg(6Jii|phHIj5yj!z!gi$IMZ^@(NhqMVWgO>*S0#}ZCo3#ae?N9_ ze>8?eRE{GJoM_VnQiO=n<^zNBO^~xA#vaIrG#qZZqg{A~tlk$2#OyLKo$jlE^ipfN zy8{-{vrnay8)S|&_O7Rg+_has&mKsr1*|`OylL%Ls6cIi$XhBTeBm0F$baPeSM-Wd z;lCqee~h&raxjAP64aNz z^i{yDObW82zUM38F)#vw9#hxlUU5s3ZHZ-}s^$`{hBO@g2`0Z^{-@H!(COhyDZ^Sz{TV{-ecnyCH zdL91h>EuYh=;?_^eRlf(8Bx26ckj-U?~9bg0ikOYmT>3^!Ts6o_0zWESGmi$KdKA_ z@|N49u1()la(0le+TrOpI>>dm-Pvkgd#gV?NY>(K__Y}uX>4o|2|tOmcj{&w<&@2?+L2oANa zsYi+vgyFW0S8ld+9qk>QZg}q2*40gvPMr*4Z-kiDcuO)3coEHJLRZ(PtX5My@}Z2| ztWNu@wvcs?`PcWsLdEx$&PeJr1YWAjig&Lny%rheZ)zH*+s2!oLf?@`?P{aAq^sVy zt|3u$^)JoB!v2xX((atILo(9N8+I+zx_?np<%;Dvls+S57k}A7Buj(S)=qu!lS$jo zdExcLKGY3~q1~Axp#~QW)CIS!ornXGyI8J#l#!3|`of{X*EyQm)I&aNG}Betu#@=h z-KC2j9>y?4s(AAOFa!j|8ukU=xq6iW(X&gh1Q-FSy4?rOY;7Az*93S zr&8|XOx(*!hrXwAI3?q>5)?QolbQ)TU0r$!&hlGcMGl@yR-)Z0D$2RfniXxTkkiMv z3#BR;pH}EIQy^RmIqqHB4p)OMl7vwg;pDwFKOy70Ea$tjB!%DZ(mScais@Nwf>-RbZR^NNL>ZK1Ai^bSRTV4g4hZoc%E1Yhf?tj7du7F1VUc~;NYdV@os@o{< zyf|Lu9kSl9$|)H2ST^<8W`;u_FaO$Cl_xDXs#8DIqZzVw>*&bnfN>CtoIZ7bkRG8i zS&icMYIu0SZcHjLSM{r+i(8gi~?KU_)49ByXl4bG`n{!Vzmp+Sc&`Id|4%+H@s zn`<$|h^{En9m1Li zc`=DF8lGmNqsxyE6<#r@nn!d-Mn*D<8`Xn&*=1#A3F-=|dg7c1hC&f1^I7`6DhK5bf-1<*bQ+G#Mt(hMc71eZh-Ui?sy33$UF6QStcn3n~ z(h)5J-s2hl2~3uU5p$w;8E{bq1v8I4JIKV${OZk{qrWS_C+I%(9cFt(0g8Zt?9k18 zD?4%l1}$4;TrHH9R~?U++~;8w`TU$w_9+3Z6R#R897c}6hlGG~`7pXnrwTLQ)&mn< zZzk_<-@Y9l)2Z$!wqVMjKg|V~DKNbupy`xrVQU)(FM(&>_n-uZh6Z@r>$j5(#?Ws< z6>=N#{+yN7)qD3ooXd1*h^zYwq(rwlBzSmKS4u(x)iJ-qmT@E3&)xfS&g6!+I{Vo0 zE1Pi0drKo(kw=XZ8b1bLm2Td)B&Cp;sFWlQ&g30Q6l)baRqHaJe8$7A>$Y5Q4QjhC z6kV5EGNU5nO2x!`=)i?d`?jBua{k+!`pSn@Ec`;|f!2CFwViaf4>WRfE4vwOucfj+ zri(WcOqGyz7CqQ)uhG8 zoT^@ve)LiYU2(GYVa=E}A(?|=!8AhIR*^TptyFRI^Rpg)Gq;{a+%fiO=81bqnkvuS zcU_sEqot>Bukdo;p_OwbMd;o8_b78SyB;MYa$(b>&}YfB!tN17#$9ufon`UmVRa-Q z^Ap87FMM0j+0JOXVg@m!TLP7&sn4HD7NcNB0;EKR`_$L|5+tVX0P{0vZX2F|hpGgU zE>6>Z2k@F~c^~vNBijqk5MW&C<@voFs19C$y6o5Q-@QIrc*Q2a8m^+(#9K?m5Jion zG5VYKT%%{$MaBwOVTX|y{0#z`15;CBa3$)S31)dkdT7jh47ryzDm-2B;Oc-@&33}$ z9DlI&*(I-vzasfgv)H4c2VV=0ON!WpcV7DOxhDqirPZ6mK!~A&s0PpTww{wsJGbGy zrX#_lhY-{@keTH0%%zD!PrHVF*HCv?J5#>IQ0&kv41~XTFsKE3v=-U*+(v(~k(c)b z)Nk2$!Dlv0cI)5tnJTe3gbo@D`Bf5I#Yy2m`2mrtX(Ow{#0rLt% zEFn!Z`r^dtpAdN3ZQ1e{Dz~Iz_tz&kW3_)RhqxbVBFCAbqs!3a+>PC1r1Xs8qXaR5 zqzn;zZa`&*8ovMs5-z1#fJbQP)>4eoMHJa|T?b<1^nK(wwkg39ki!K>ToRf7^oc-- zxU{v9UgS>l%0eS20NjHhvBWwU-=zJ%wix6BmNFSvb35syK~MrfgD!u|6VF-V>PBQC zpxzIx?3TWadZ_;q1AYudiCW((Iy$GZ7CxBISEBvKW{!QH{tklV5kO z!vg|nfYs5uFn>adIEUn|jJx*r>e>=%X_*OXt{WO< zCOmHOaF=cw((_~wwqVE1QizF`Y05499Jb)FrUZb=PcjGldB){Is#&MRJbGju-?6a55a21MD5nBUEIa>I8U z<1M262dK!z!Qo`SVFeD_)1T&3n4=I>g*02Bh@J*4*8SL_c?IWKkav&>UqT4!6oL^> zBK?@Tjt=C@oktoVHop<|8pJy9+2qI`;&jsI+GkyZzH$Nh2HCaWv}qH8`Upzr6r0o&mbN^-5-?*qNO$b6^bHJzz^A!u^ZGjB3h*XJ(Wn-yI{w^heSYuVXGv=~ z-u3v8pW|(3JIpRF-Z}hMoo9+qFHqZB@sxz>DT!_A`2U*T09lRooZ%atPfBeQ;A7Y) zdR&V8=m~l=q&nw4QKq-EN+gXPGV9+D=rg8k9xd1vWNnr$^0-9lVL{7VhqNKFYzvp2 zJPK-2q-BtM|rh|3%P56$Rw=V(q7oB?qWV^ zu;a@7^t)%5WN{a|ZiW*A&We?AcEM-%j^<}U_1YTx_l(agj16Y04K3`|oJ~yhU6vJ5 zi(%&HXOY;W0S}A9N3K=OALv#VePtH72_JKS`c6h)G+^{znSdK|iq)X7fl0Kg-C*wbw><^6xw|e{%s3wlz1JSURY9S-{r$BpH5zqhp1^r! zO)tHu$NR@J9QOJCV&|lrZ73)yX^PfAzFMP5D@*+{KKCIcsKC|>LL&~;)&d*d@4CA; zksl@&hv*8pcWVV$@JdhR8XEeGe+ijLsi&UfTinjGpD8Ocfk~7rz;#1H2t0011}E)2 z8@RD(i|Lo-I~<3YjXqdB5?wxanI*uLQbwa%@W1? zO#A_J$B(vk#TV%$VD9lBK8*%PSXk17HLB00_++_VtC^noa1Xy=oA;)g7+*j3mLdHN zTY*TPTGK*GU6ac3qk;DageKi9Z+{R<-jHR*X>1qRmcH)k98*Wu+L7i>uPHPEoItF$ z9yqXBR<_(C?+-Wr&ktG=m-L^p7ay_{vJWV9_H5*H+q8>&EMwoG zfrAk(nT0hQrjl<|a|p;yw$}YkFU8s#P&dLFZO6^u~&wiyfXQ?|Lb(t!QTTB^^Vi>=gkl9R*R}*OVU0v z*1}jy^4x@8*f=jfOWL->GgF9)mgrQDciTD+PL%RbLbY}-3z7+Qw%cS13;){9@I_EjbEp0y_w4JV1}DNM zAG?~x>6Gbne904PWWn=_7>XKf-#yIkD_HD6wn(246=0#iw`Y@wxbd826F^Vmafq}=D% z3w*G%BkWjI*xHUL&8R0H9j`5)urUlsX(;7ahs%~Fsd&<*Wu}^&1zcr_Dx%RA%rfLm z*J80$=f0~p?$1ptz3L@`(mJlak=Z&}=X`Rf<&L}HiAK{}RmA6l69>|sR{bZ%W|t-9#4 zLRRwmNl%l=+t+VKQ8Qd!pXhhz&h?wofp_8pZ^mVF%i|xh)sbOy3(fJ{M$QS%BUV2` z?Qh?_`Lj%NWz9vo^RfT)CVoq)W3Wac-jSPEpV|6|Ws!|>RIEDvIp5+Y<=Ui|FOz%A znHi2o-lfjT;U2gkrP9T6NCRHtS{lo~N*iVqeb3*=)1u~)p^-ioR#k>PH8JBPeOu90 zI9F{-r+rQBeg9npUpG@IEc{264{Gl6Gcn1V)*(+-?#@+)v+-k2rcp&*0@RJK{l?BBMhJY$u$TV(e389*6dFHO{~^u4)dGsv zb~GG&eMVzJ&^TGBELqSz!`S}1sTEW01DDg4-J6bxYHh5OPL6V=dn_T8zPYlF`q**T z19FV#B-zee6NaeLQwp;D!@|NH|2&(+r`<{<0p2~9Bvh0D4rJ#F|ng{t4+RgZ&zGa_PD~KGhwbPk`lkPy^Q5TF~j-yl?j#L z=NI2YeQd=y&hCPvaPAuYp|zVews0uTP-tDK82M?Vd~XJDakA;=uQ~L$_@O^9`7Z1# zI1SgC{Gk50mjM@fIP?bfVteW*h1W^4LC^wKN8|5re~rABhNm!Y*)AZEUJ(E1eb|ao zG%4_kWfVtjE_&n-eY=^1qIvuFn{{gB zF9hutip6pVia(WukN@n?h-JeWfZo~p`wRO&I~Jj~X;yojb_e;F08ZA1vA6fxk-EgjO33Gb5-4^aJpt98HRXR6gM|J<4GURQg~v;8 z{y7iiPo+e2X1ZtDMDl;2H26Yg~buD=TPpZ z7`AIVl0s{ugFPJjbxh8|)Oy#^+@xp+pI0gA=A}b|1he zh4)t0<4f03Z}$%m(<-8Mj1xDZMyFwdYp0O;qmj?TVTX8hIAk0T28sv9q=|zY7JUDc zX32T*po)u+x49g~gJZFM=gz6CJ$X8nT#Rex-60Bq`1(rnmf+1q3`h>wE(7;$3*5mZvBe`e=@asuN$ zEbN&`9VD+qAuzINuN<@}WYZ1(9J}R*{}(kT=Sh>I*+sT~{~h`2q@Bq56eAR58c!pq)O%BFKI99MC64w{;7#lf@~Yf1KO zf4pf`fIp|GZV>^fX}j0sODR2lib?#VS3o<-tC!zzy>Y3j_WAmHkx#AtPMoC4^{t>eMg_fKS_ z@2so%=i|2jUmy2x$o~Q_C7_9$-2Si4^}w5)QkIj%Hv#8lmv=x9{JpdwZY$6Yf}J z5oVKxLVun!H6_du60ToGY!NGRdkbU%AHuG?bh17vTW2#551F0^ zj*bOqIv<`pvO_y>Z6&k9q9TSMXCx6zplJQXcSRoWaQkfxz!T5}Q9EMThxn2iT?~j3 zSOJBQ7eK(tiw@`5O|7P;Mih(-j4zkSji%6mC_;b%5ig(@+1mNM6mVCDf#SE-(J}Fa zR8$L3 z;W07n7@JTC`i5bcjT!#MnW=P!n6#8|dqMfJs61#Ct&k>|)*bAkJhA2Y`_< z1d@TS4(L(vR-_nX)Te8TeFRy$bzG|y;V4B+BucW4p3CF7(HjHkzI(vyjL78sM}p9@ zq!4vvgjfoh`hnL$!8H-`GajZ*XBr?4$|8&c;Jd9UGTB`$f)OsgG4d8NJB{)A^EJ@6 zqdak+=Bnb6%E?|{({Xpy>UT!4f1@RaHt55)w_ddONT7(;OMRRlWw6wGWSX$X# zM8p_xO{J%h=zy8At`3d`NVD1$1H~U?Wbqy^^~2&~Jk5BVdFy&4`QwT5mnicHc<)Q> z;?Io0*L(0~I29^SdYs^nI`AnDfo@0@3y&#)2o!YHb?%)CL$Yem9`)BQH+e!OR($vF zu@aJMg$l`F4T?(?NDyuZZ62AS4Iu{c;z9KA5m05wFdJlHFwhi6H$8vC3XdVdT&UN) zLFKc1-@do@w$Kp%VLtM6KHVoEEPPbN+10hS zql48CO2)1>?DB^tKLTlgo!^+B$(b3V9?*ODZ zVX|o#Pv5L%Yy0455?xvFQ4tXl#T9+w(3B+;Iq$qsHW3w2SSVOT9YluHeLvU~4VTE! z6np|cM>*k@BtE!&fVR3RIwuFUkyX9u&Yg~KZgftGB7o7Rrl$OQM{|zFNyNs*QT-a7 zsCpg{+#HRo7f_9&IIV1!mX$qcVnW5?lZPUqDEL7X0i1Yf%IH_=H)Z5Dg zN3g%24g&k$eU1)rKPjgG=z-Ex12Ue|+j|&fAo~b|BZLwRW1BM$^V!M2>zkTJ zz+i++A&s-MGuW}50C^3Ywfs=ZwiQ{OMg#y~&>Yvfkl>>H-&$FjPeiA18}Qfxyk&m7 z@-^XFg3v}#da#1facsu)w|Mb_cAowK_& z-aS0j(~RLJ3Cu`R!_cRNP23~99!UUZH}eMt{+o(JsDGxJY^UH#Ucr)P^4_hANIAE38;;V*b2;U855QpT)-L9nh`S^_(!t(ZTi#rVl8 zkU}2?S>9*ojdP>0>%>DZbe}e?I7*XH^c?XTZoAD0<`8&oHP^1cfT7d!;`ft8^0{Id zSvMWr7|%z{@>d%!|5;Kbl>%!ah&w3h55X$1*bH#@0Ya679AXoicXQr0>av zfJC2PSCJegurCF=>;2pwym5qsirb}(l@!E!6C^So1s@(1pLP`>M4q#@uERBt^*k2K z$vK6ZA1_4E^XCfTT>Db6d4S!(8F*1e!Y=W?0mhet{QNXVMn=%-Ai0lN&B7b4dw3dJElL8hjwE z0Cs=AgGSB&`Zh|e!v6~gRlc$HkCfp*UBUmC- Date: Thu, 15 Jul 2021 13:19:15 -0400 Subject: [PATCH 18/23] Fixes editing --- modules/access-control-intro.adoc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/access-control-intro.adoc b/modules/access-control-intro.adoc index 3bf72cfa3..1767f6852 100644 --- a/modules/access-control-intro.adoc +++ b/modules/access-control-intro.adoc @@ -142,11 +142,11 @@ Once sync is enabled, adding users to the group is no longer possible. It become Users that are added to the LDAP group will automatically be added to the team as well. Robot accounts can still be added to the group directly. - ==== LDAP Filtering +==== LDAP filtering - Lightweight Directory Access Protocol (LDAP) is an open, vendor neutral, industry standard application protocol for accessing and maintaining distributed directory information services over an IP network. {productname} supports using LDAP as an identity provider. {productname} users can now apply additional filters for lookup queries if (LDAP) / AD authentication is used. For information on LDAP authentication setup for {productname}, see *include link*. +Lightweight Directory Access Protocol (LDAP) is an open, vendor neutral, industry standard application protocol for accessing and maintaining distributed directory information services over an IP network. {productname} supports using LDAP as an identity provider. {productname} users can now apply additional filters for lookup queries if (LDAP) / AD authentication is used. For information on LDAP authentication setup for {productname}, see *include link*. - ==== {productname} and Red Hat SSO / Keycloak +==== {productname} and Red Hat SSO / Keycloak Quay Enterprise can support authentication via OpenID Connect (OIDC). Red Hat Single Sign On (SSO) is an OIDC provider that allows administrators to have a seamless authentication integration between Quay Enterprise and other application platforms such as Red Hat OpenShift Container Platform. From a4acbb7f7cf7ac1e5be51223c42d0019c05686e7 Mon Sep 17 00:00:00 2001 From: Steven Smith Date: Thu, 15 Jul 2021 14:52:42 -0400 Subject: [PATCH 19/23] 1 --- modules/access-control-intro.adoc | 4 ++++ modules/proc_deploy_quay_common_superuser.adoc | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/modules/access-control-intro.adoc b/modules/access-control-intro.adoc index 1767f6852..1ea9e939d 100644 --- a/modules/access-control-intro.adoc +++ b/modules/access-control-intro.adoc @@ -84,6 +84,8 @@ Primary super users are created during the initial {productname} configuration, Super users cannot delete repositories or organizations without taking ownership of them first. ==== +For more information on creating super users, see xref:proc_deploy_quay_common_superuser[{productname} super user] + == Permissions Organizations are organized into a set of Teams and can provide access to a subset of the repositories under that namespace. Permissions for users within an organization can be set for individuals, teams, and robot accounts. @@ -119,6 +121,8 @@ Permissions can be delegated across the entire organization and on specific repo * External OpenID Connect (OIDC) provider * OpenStack Keystone +// Wondering if we could cut the following sections and refer to material already in the docs. For example, we could use the above bullet points on LDAP and link to https://access.redhat.com/documentation/en-us/red_hat_quay/3.4/html/manage_red_hat_quay/ldap-authentication-setup-for-quay-enterprise. I just copied what was in the tech deck. + ==== Bind team membership to specific LDAP groups With {productname}, team sync support can be enabled via the config application by clicking on the `Enable team synchronization support` button once Lightweight Directory Access Protocol (LDAP) is selected as the internal authentication method: diff --git a/modules/proc_deploy_quay_common_superuser.adoc b/modules/proc_deploy_quay_common_superuser.adoc index 3bd96ca75..71349fa30 100644 --- a/modules/proc_deploy_quay_common_superuser.adoc +++ b/modules/proc_deploy_quay_common_superuser.adoc @@ -1,4 +1,4 @@ -= Quay superuser += {productname} superuser A `superuser` is a Quay user account that has extended privileges, including the ability to: From 32dc9b7d2aeff1f98eeb69cd17c17c90d788c7ee Mon Sep 17 00:00:00 2001 From: Steven Smith Date: Thu, 15 Jul 2021 14:54:53 -0400 Subject: [PATCH 20/23] 1 --- modules/access-control-intro.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/access-control-intro.adoc b/modules/access-control-intro.adoc index 1ea9e939d..ff7e33757 100644 --- a/modules/access-control-intro.adoc +++ b/modules/access-control-intro.adoc @@ -84,7 +84,7 @@ Primary super users are created during the initial {productname} configuration, Super users cannot delete repositories or organizations without taking ownership of them first. ==== -For more information on creating super users, see xref:proc_deploy_quay_common_superuser[{productname} super user] +For more information on creating super users, see xref:proc_deploy_quay_common_superuser[Red Hat Quay super user] == Permissions From c29b237be2e37e62a72c40c1a6206c1aa730d6de Mon Sep 17 00:00:00 2001 From: Steven Smith Date: Thu, 15 Jul 2021 15:23:24 -0400 Subject: [PATCH 21/23] 1 --- modules/access-control-intro.adoc | 2 -- 1 file changed, 2 deletions(-) diff --git a/modules/access-control-intro.adoc b/modules/access-control-intro.adoc index ff7e33757..2c1215584 100644 --- a/modules/access-control-intro.adoc +++ b/modules/access-control-intro.adoc @@ -84,8 +84,6 @@ Primary super users are created during the initial {productname} configuration, Super users cannot delete repositories or organizations without taking ownership of them first. ==== -For more information on creating super users, see xref:proc_deploy_quay_common_superuser[Red Hat Quay super user] - == Permissions Organizations are organized into a set of Teams and can provide access to a subset of the repositories under that namespace. Permissions for users within an organization can be set for individuals, teams, and robot accounts. From 722b06338b32ded28963a961dbf649dcae678477 Mon Sep 17 00:00:00 2001 From: Steven Smith Date: Thu, 15 Jul 2021 15:28:52 -0400 Subject: [PATCH 22/23] 1 --- images/ldap-internal-authentication.png | Bin 0 -> 77985 bytes modules/access-control-intro.adoc | 3 ++- 2 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 images/ldap-internal-authentication.png diff --git a/images/ldap-internal-authentication.png b/images/ldap-internal-authentication.png new file mode 100644 index 0000000000000000000000000000000000000000..218f23dbf8475c3d218c709356380bef93a2a70f GIT binary patch literal 77985 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 literal 0 HcmV?d00001 diff --git a/modules/access-control-intro.adoc b/modules/access-control-intro.adoc index 2c1215584..86ea4d4ee 100644 --- a/modules/access-control-intro.adoc +++ b/modules/access-control-intro.adoc @@ -63,6 +63,7 @@ Robot accounts are managed inside of the `Robot Accounts` tab. They can only bel Teams and users can belong to multiple organizations. ==== +//should probably be an xref For more information on robot accounts, see link:https://access.redhat.com/documentation/en-us/red_hat_quay/3.5/html-single/manage_red_hat_quay/index#working-with-mirrored-repo[Working with mirrored repositories]. === {productname} Super users @@ -125,7 +126,7 @@ Permissions can be delegated across the entire organization and on specific repo With {productname}, team sync support can be enabled via the config application by clicking on the `Enable team synchronization support` button once Lightweight Directory Access Protocol (LDAP) is selected as the internal authentication method: -// insert images +image:ldap-internal-authentication.png[LDAP authentication] The default time to sync groups is 60 minutes, but can be modified to any other time frame if needed. The first sync happens immediately after linking a team to a specific group. The last option enables any team admin, and not just super users, to sync groups. From ae6bfabaff5cda733e8b250c78c857caa70e7bf1 Mon Sep 17 00:00:00 2001 From: Steven Smith Date: Thu, 15 Jul 2021 15:33:12 -0400 Subject: [PATCH 23/23] 1 --- modules/access-control-intro.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/access-control-intro.adoc b/modules/access-control-intro.adoc index 86ea4d4ee..83b12ff2d 100644 --- a/modules/access-control-intro.adoc +++ b/modules/access-control-intro.adoc @@ -120,7 +120,7 @@ Permissions can be delegated across the entire organization and on specific repo * External OpenID Connect (OIDC) provider * OpenStack Keystone -// Wondering if we could cut the following sections and refer to material already in the docs. For example, we could use the above bullet points on LDAP and link to https://access.redhat.com/documentation/en-us/red_hat_quay/3.4/html/manage_red_hat_quay/ldap-authentication-setup-for-quay-enterprise. I just copied what was in the tech deck. +// Wondering if we could cut the following sections and refer to material already in the docs. For example, we could use the above bullet points on LDAP and link to https://access.redhat.com/documentation/en-us/red_hat_quay/3.5/html/manage_red_hat_quay/ldap-authentication-setup-for-quay-enterpriseI just copied what was in the tech deck. ==== Bind team membership to specific LDAP groups