From ff9f175d104aa477eb660225d44033b565b32254 Mon Sep 17 00:00:00 2001 From: rauppilisr8 Date: Mon, 17 Nov 2025 16:15:12 -0500 Subject: [PATCH] SQL Cohert-8 Assignment-1 --- ...gicalModel_customer-customer_purchases.pdf | Bin 0 -> 33170 bytes .../assignments/Cohort_8/assignment1.sql | 48 +++++++++++++++--- 2 files changed, 40 insertions(+), 8 deletions(-) create mode 100644 02_activities/assignments/Cohort_8/LogicalModel_customer-customer_purchases.pdf diff --git a/02_activities/assignments/Cohort_8/LogicalModel_customer-customer_purchases.pdf b/02_activities/assignments/Cohort_8/LogicalModel_customer-customer_purchases.pdf new file mode 100644 index 0000000000000000000000000000000000000000..f78ff7985c775a6ae7d447104049a89bd444ada1 GIT binary patch literal 33170 zcmaHRV~{2=v+j;<+qP}n){br4wr$(ij(2RmW83!G^PN+-?)`Ini|`im_jqin%bGW zSP(L^aBxBM^FuqkIGGySLVM)&YK_-zjUsJ5(0JhymS#cxxgER@poJZ74Dk6Qa!Hr~ zy!Pf#SV4S4#>U5owUUfpziz|+vE(3+#?Y|zsng-`g+`yQ)Puim({Jk=KJ5@mShw@j z`t`tY(Z6Az{i|`>`Q&tOTD z`r@P^L+S*5>^y|RMwa%D;GX%V!d^%AItOHjEfqsB4U9xwOvg|<^ltOk759C3eVE3@ z^p5an&^DHXxDGs7!XyFXcKGyz=;}*iiloui7fS{ z8OL5-JmH8ge`RW&7}RV0toMD~9X)SV551UR30jFy!VF|qqH6`Te3(*!P_f*p4DQD3 z1mib`y`GC)xnah%9jvb1of{^%1@>LONjQpAqINwH%Tb!R`qSrpLgjdkX@$?8{uwXN z&kta#4T!Q(B5%MH$fh_#fjo#qj6bze-NCc4*N-{S|CyFZOoO(_xGO3naw2H`-`5HA>!aE4JFZE8vDyHA2JDFT;foMV}amag_20%h?2e# z)XfdASv6fgWovlV584XX!|L9lK$pW$iThWhDA?VW8Zyy@(RUkK@p#lMp_exR{o#S>4McZ@1iu1uMHot2txRZa`cC0r%WxOW+|#R2 z6v(L$RS)MPJbYoL&Z(TM+4w>bgTzRTQc)RIArms_Qo>pZ<3?-^v=`}A4W5-X;jwB3 zNm>||ftlgAMq~~nd8}YV#5E&Hzv=rby0Mj8&QC@J7bnp>1r^oLjEE#<7sT)p6J?{h z{%}%afB|8M2}}dmY=MLc7b($|fiBMF!8nlLjH(ENEuxDFSrD8U8p|Ro$B9WL#EnLW z?uWF6BfjLyK9K#N^T!y$4B$R=6rU8Lo?DWR^Z!^VU}XL{zaH}ux* zrgq^Qyci(wJhMEcM33I>bACOxYN^!=Iy6za>?_Em2QT0ra?G_ zr8^~#@k0=Bh=TAQ&Jp=0p1ep*1TmV~6M-rdCSI9oYG)T(is|!)RzkvZS*rv!omsO& z>^9<4X+W9Kk$_+9*rN4xJG-Pp&uwJ6MKVg;Lq%OFyId<&IT$||K1?D@^G zX*)L{rgqdU0UtF*OvX+8&I6>l_jEhD=^8r-_zI9=bRe}-Zp}9Y75CC<#}d)WRER48@k5r4K9j1ts2VT7VW)6E6s9g3I4kMu@)b1A;lVrn^1( zSDuLqNbT@I6KPIa%>ZZsmrE7sZw@X^p&a+pA6RkHC5gZ2Ja};w_9*5OsK8QK>-g1q z=<})I4W?4FMZuo)Yk{bw$~D%Ez--UxvvD|bHEQsNNlDR2z{xZ`{H&beVW=5YP0{b@ zy|g+xf7aC;%-a)x4f6(lIBazYTGYGsNmNv32mBi=RE)|CqUM3R6e&pJVb@ZPv5ZXu zw#$s|AdFpt@|LC#NkCl4Jk4;iZri~EwamqIM}pVQ8Tuz+ov&|vC6Yi-V(!y?pawpK zDSTE3KCYsr^KkSYA3ZAjihECh7`T0fJ1O7sp4C1TU~)|dEhn0DIBWgrc;z8-$tKSJ zeglgmeA& z!qJ6kYB9>6PRoa~jg<$%88H5nmaiu@#QRd;L`WylZMGdHP@^OMh@ag0Tf$V{AJdWV-HGWfb)xmXxvVN@#gD^|E zASDjTmdyH;Oj4eyeLFuLc%vPd)5xPoI3{juizCW%!~o{JE~dBiB0q% zs_z%!?J}0=w~2YA#`Mq5WHiry3wyYZa&gelZ4rmX&4@oHAH5rx_mgQe%`|5k?Z9)r z{)uLb$NtYy?>gm+JvdZ=Og~mpDV`Stobn}{mm8|?cFnKF1^I7thLu*44?yo^J8~i6Fa57}{wKqamph)9 zA0QQVZgXf;JCpxqRsYa`b1`TR*8hu@{SN_SB4p-b3X0)jfTE#cq&Q;gZhXAtkdjqA`1$3>_s@RxJ@oarc+NP_ zdR}YwpK#53&J+gxQiLP~UNlQht*3lP0jfX|v{v~_IX>f{`@mp)WclOwFom@{e<8Rzw_(V9-<_gUbEF>q++L|C}0C5137wQr6veNC?G?NDmvZ1uI^J|Hm-ebR-FRsz;17&+McRQv_`Lf-GL}FSn163A4hk31KrsL_%&J` zWwmNE*#Swy$r!YD`7Yz}jcr3f|3GI<3KIVLh2?h23di2iXIY3)0Inc}01d{Z3v#;I zg-{3*`s;fhypgy6K;+lg+IJ;p{ciM?!KdIJlev$!M-2Yyjm}=4ef3-VfcY+zdmmdx zMks^6@8b|d+Y6og?+l`+CjF5lPz!oGh64-Y9l5u2Wx4{0Bk6{Ew zZ!!zeDfjPFqY+vYZWD$GzGl}06ZEN6^gzc@3>T7+OOjld80OGs^`7uRW11QR-+K6B zkqq^tJ&O#qsPSPc@{V}oc3NNi?%zGp&5;?KV;YA+!LB6t<)3fDWb%aNk$w3p~g}_2u%=A-Ixl{fUClYBWE#YRWqPmGc2a46k3QG zW|%RUuVF;T{u>Rz#C^es#xfr_q8WZhB*FG-(e$O&SeDC{k_2x!o84r7fL2lZ8zBDV0i|EoGy2&3~ zU;5pzLL=NXBcQa0wWW%j^-)!RnngM_PpXRsY#2{(mSPtu0vz;acnm|N8$L8^h*1+} zvxjZ1iJk6)E%>xPbX(1+BhBE# z06UJJuC2d|U+DTwzz7AsFcxE)YyGM`qYGM+I}i!7{(;_i5KXB5fABvua{?eX8ew{0 zX*Mgy7#y+eM$IHMqWkx?r-o%u72~rbH7>-kt^)#i8W8MqqG=lb9dUkpD0PjLH-35z z6b4!;{7f^FAkn$SH6wgzU#()0s{^uHvV5gxt6-~SD|Y91`mIJS0{NjK5xP<4 zz?yP|_Y<{!pRsfN^_LMRM(!HfCv>%A_8c*?ZR7LEDjVcJ@?~%Y)tbcf0_Dt`*LRN$ z?;*2c&p%f^ZDDU%;7^MID3OC|NiCbu<3waB7 zYl>YlDDng8$9;Q~`njF<#(wnOEiC;+EsBb0zyZ|v9|_&ABF3ASaC$f@+ZwILfU<$we17%}Zg z>nqoH(5h6*WrPnS*mA(h?^Bn%x^a(X30rCm6TH&6Hs*#D|gzhu=nU z%HvYZAg@MfoYl?iQQ%$JU;EemtbZ%CI$dE;{V`pOAUG(0W%Fu;`M6`&A2sZeav2t_ z8J1Q>CUyQ>dZ_FK_J-7%yeV@{(tG%eOK_X?CQ;#U|KD^}RMjGW?2^!ygs@X9FR0$k z@1*PUk29cmqAy(sm{4I=Orj-7N5j%NA{+EJXq`}q5RPG9$Nq}53D=`89hVK4mvg`J zkLK$Tla-&jUqdVgTgw`oFJ1!g?Tg>aJ%`0cwKYjG!$ znI4k(ROH6vTqfX|3TcV(O?jUQx^i|T{d=xIB%T?UBn*l1R28A`p1I)*NG`a!;^p%X zmONJlI%je%>3x#@h>t;14N#rJjf_ebNPy7RLGV3vA|hTAT;y$3c_@Q_J&Q6Ls8KN{ zLdmg+(?FNvTiZv&M}tG*rRCaIDotH-RZ{AV;63rZ@%`)_>mB_o_C5DKI86O=xY*+t zf?0j-VMK$H1tR_*xEA5Zh5q^eLez&w$qZp@ATNe>VFrrc7Rh#fY>}~qN=_p2)9FX3 zuGqXH;}EKn#Hm4MZr;@FL)4oe0Cyb{!HDCXAwd3zoHyVpDN|QSAZ_ZDs9^b*r!FSB zcxd@ultaep2+wU5B?268|wr-5|PGEG<&{QMd}i^gX>z5q~<^c|B4zna)G0F4fB- zt`ZE@9)yDBk_bp{iaK(-LED9~N7I@iKc&%&!JCorGrxBU!zd47j%3;aXx%vLxkB4v zaJ}YNTrJo@Rw7#bf$0ueN{rwREDa;J<3d=Ty#YH?B?{RAD-Xm!TqanV!8(pOc0;rC zAV?RDsPZ|{(YG9r(#@90(XQ$Xaqd8OXWy9_)my1DFKHyItR&cmZI{YHvureVL3cBhQwF7-M3U6O+|D*$7V3h6^%x=uyL7?rSbCw^! z?S%ykc4tF8Wi6gGGJ(=%iI7PjnKZIALvHjYw;$h2(yRAZ?=LCFvnQ|K3XDhYvMD<9 zH-A!pUv7V2a{t7m`tWI^_w6^FwfF(T!9Vxyn6Ti%GlbZWwEiPT-~a4}Ap;hu1JMnb zG2#b;-)_-I|9sOZVtD?2&R)0Qbbbe}Tg?wu1#3BJ)2UYv)U;=5j`OEK z{PPKhQ_q$|$Of%GZ2Fh5D_;KH%!nb_xBArkpi%Irj1rvEOY=!zObK<}Op&(6v}*RD z_rd)S{D@up-kiw%2d-Q9RtY8^`$|*6?1w;7|5jpZ|Bzu*`2zyP=MK-0E@xu$MM`3| zL>zxYc6PS4+uu&NKXLoSPu?dtVK|+3?O=9Tolc1xS8h7FX6@OjysXIoF6e{^;kt*H z=H8^^NK#*4KX2N0+_^bv5<;TS{oC(#@9CrVHhYf^;rZjsuY2|U1z10Z7Vp0Ifk6<+ z2Mmn;P-nL}s}(bLmEi#tUR)f{S} zjQQPsh8s~vg~LDnt^iRQ8!i<22Qj+C;eo&nw^PDya{a-m8C!}5!=WiAa#X1QH4u>p zYUw~_+N`bD-UotEB}xJ|YJy^2O804eHY-)NhD`x0PDb3u2liUM<}TyqiD-4&euwo1 zvSE=vO2we0u(=R*HY7{Ah{U-PsnScXr8072TP>tos8%^S zSxy!5!Zs(SC)sh$?5vJmoTSDS6C1%KN-H=kX_=+4gse3U0_9|r>zLz&tXCyp$~y8m zXFuqZcBgG+f+&dKQnD(*u9k8=xnwmUA;aM=sV;2geF1sFHfbz;w0*La>@-d8K;%HK zluWWiq`E88n|2S@l_Tc5j8Ris1{>M4@I5SqLv_|F0dWw{HX3=+oRwqgBWS?GQYt9M z08=|b&_Z_*{fHQIHd;#Z0L4o`rYofte6@0m%)7fzfm(A8n~edQ&MJE~2NAGe1MAJY z2fs|QDZqKo^`)tuWnK*79##JvB6!QNzgA#4V%0VlK zIo9q*RjkG9El>zUL)3a;T*M?obrlq#&!;&?cKa--a^vv1h`w*aZL1-G*FaWmMoQ7YV=nx zM4ISPl$O-e%juHC8AGbv%#^@Y9g%^BB>n5&SvgE%kbd@&)Wrr9m!OVshNKOZv)E?g zSe9eDkyPx58xr|BF$VxVJJqL`vv+b zOE_k%x#|;!jh0!UvZjn1!*; zCvL9e<|S-1vKX9PcrBGsQ+DuG2PhefIf#Q$L^(^(aYj2G3`p5qQ_5x>{&0h;s_%EO zLIzp!V+W35GYd&jg;2G6dMLu@A$2QtZ6zz6geBC4b$XApkF$E!*xD?Aq^!E@AIQjc z2^1)6W&WNnBq7S2oog?_5%G3&Aw9UF%&5lp)8}QN$A%-r6czri=;YJaUf{z%-o0G8 zD<#`PJ?IiKnT)x{TxYhnd!PqXY@f2bE)0pY$HTaxC)P1zy-^Otj4!246KjG<J zow2zt1gF2*Km+0Stolpx`Y=ce6whL^4~b50Ni8phhPnqfBG|}CRiK#JWqLXT#}nx0BG(uZ9~&JWUC=(iAg8S=r)Kx!02)QS#FVj$ ztnW^a%O5XJE@}3boobIhVP&CPk7NoNafKfyqsq`!7r*nUD%3g7u^Y(goaPxVN_*vu z9XmK!3%3N^HD@=UAZp0Mo}7qhPq$P%std<7hnlUXP07#X^wr7avo`qwk&-a!BBIuWvT0)ymCxck_38V*ckK$M?` zQ!ieT(eP=^6W&(p>ZFG}gh3t##p(jghQ3mEoQ{$XDtAk+T-;OAW6jmA!cZwFY`xu9 z$!PdBb6Ut%DMu=Ft;F!pPrERwOavV%?*qN5>~UmCzVc!_P2=m-7#T=B%33=cQCN7{ zlBjUZEftO|?E_ibSTP8(ZOyb^6*BfT`K!hEz38*8-02_+N-oR>GHXu4U@}G+a@Xy8 zj5Ly#&$Q)pMTmORXcw2TKsxs0?fDj&&YLKb0jb}$sS*|e04yoSz!m34I%Axl=U zP=40jv;}+>MhlryA$u7|Svi2k*N(;7RcE#4_&2c4nh(_1rP)(Z+cTm{9aPwh>P<6u zl))-|a~8_2t7~W%GHD*-5Xuq^U@3$?DSN;RY2P@|njJsHqHj<#3p`aV`yp25Op96%>^k6m=C8#TNvP z^biV+NGS|dhYCGMh5EZ&F@R4P2p$qF;a6cmd6h7bIyBfCIqEK?4AMQAe>}G0IXINQ zE|rInA+Klc$*9U+3RY!g zfPUbk=H-zq^YZDK1EHWm(U=O=<12i1uaC~w`lFmpxxEpBFAA`4a-Y;rf&H$uSI83= zUy!yJ=tdv>%N)s?Lj10=7br5HaQxiRBcpF_A3P3U2(uSt>m%avqR84aTYotI;MgPL z<0B#;XlUPP46i(vfs6r2Y5n|a!JLNBY4xMp+9?g;BiegZTRQ)aikeEy7wgn7F9$zG=cVdzCRi=qmCTd@3 zYG3g4RjQ%W=!kg?rrbVA5Wcx$aS*AlehOxK#giicV*fxKpsx7u)bQCk3XfM--<)uT zg)yaoU%pZN^D2mfxsm)pbNzya3WA0HLRh}I-0ucFQMf?0Gx9G1gn};xG1o$LTfvqt z2*-dRKC^nb?x%Fqb?9?&6X~1#TEg^B5O?QE^|mGI`_+zJo^YW1?Jz z#2JBv8MYD@VeX-l<_MRn66&;)fxK}vUW?s(wtX@aBjKSJ0sM>Kw9RkFx-k0?4ond${-bJQIf&HzJ> zwdCQZ2bD?leC^*gEDJcNv9hja<4%-A~CUyo&eOrS(eS-zAWt9Y8!Y;kfA}p1Zh&Q;qfrq^jK#Qu_H1<<5 z4$s2Cp^=I$;9xSD%c~{PMy8(H&vRUqpGllgK9Ri_@E6Rkemu$t4;5h6fHw=VW5Om0 zu_}VV&Xl;3qMNSXGcx+a!*)cjm`V^nAv?8BeS#2S>9yX|NeLw z8$mhBS#9}ryc-=>$e=O9cnis~sMrzv9tiSypf{v_D={RG#u!~0JBXE97(OaU@@HMT z5e@;nJJt&Wu8@VVDkLOx*O8`|4;j6!m14i}`F(g$u@}H+w(U+jYdmf&{Ir#^%GllMtzXmIXD(|a zD^gL*-)Fr4I8nti(dAZ9GjX<)xbBjsMMh(7wCql*(RdhHQ$ww;j`nYEL(Bk!d%l?6 z4Tp(AAi#ijT|mCh)YrL;5fkrBRXyqi8xQ4GcYB2{bR9~Ct&kydfSfkRnWw6)p*@x) zdP_?4pjMX5s}TeB?w0JmC?)+bl)}djKLxm2uM8|UwD3Q5n@wl2S+CY=b;r4SM2W9{ zb}O)A+e!`t&R1)|uu(>uu~Az8QGEA{C%8yW8f#@E7xEbsD@iMFl|&J9HgfT1Ng+%` z6Gt}M84Fn$Kkv`g(xE#WbeDy2w**Zft!Oq!BBeRbY;xS#=0*9!t+mnBC^kpY)jA@j zCh}y7F2Fpc^6YQh8K2cU8RxS;&1`rTdvPSaLJi&+8V!H377yL7PTcl{3PY0;pgmDxVorj4PfQR10K3FsPYic_NW=;)Wfr zNUIbJbB8Hat$sw=%8QwVKPW~Ww1X1?0*>faE&fKd;+8+6bXBbih(i`vC`*Ph&rqX< z;vb*~O2uCwPnO6sw5tbB;P_6(d*-_3b(3#^Fq=QxzPKc*}h5^tk zW7#7YY;r3CV{URw0%LG;YXU>^@@9v&XC$*?C7w90j3PVw$cTn|`{t;uO#VX7M@ zKGSp0)%8X%Yu5Bev*px{AYb9t3@KmX>Bg7>csf8QTiP4(F|6#3LDVhm4Zf= zys*@*><^r37Pd#xPUqtGrR8}V#d)G)HLLMP5E|u;-J9uGwg;DU>;}mI*&W~)tsIS5 zI4vBFU;=a7!>t{v-XMA%vfd!8drnt!y77~(9JeI8g}s3|4yDiFcEjRVa5f|2SCD=& z1XdCbD0K^QyA&PTJTci^UsUXt;f^ru*5P+7HuG`2Cu>D`qqQCCJTV({rM+X`-`E@$^~N}MOZsD1YgN5*JPm3*Av|}+SBTexasZ;u*nErdTb#|B-Z1Z5 zl`FMR^mdE-ef>{aZ?qRjF9E;0-l&~D^?!E!{yF^-0?scIzslaItJlsy z>npU!-`UU5Zo6*((7ybYDQ`e`OTRHiIl{i()s5sn2VkcW=EcH)%ub$Quotj%$9TP{ zKSJRH*Y4r@B?cACF(=igQ=6BHei+Ll}IelSct>%u93Kp~b zuAgE&0Yf?X1IYltp1|^!FAo$2>yJD1a*4Z`HUfL&{5FD{UHgA)(I9{whnU5e+nQ&N zp7@g%-`8KW)*rV-^*_i2#( z?H?@vGv?nR|Fhd)ySVeg!Tr^1fA(nnBVOMBL6`eI<1bQ9fH!wmJv(=1|AmwLjlOzj z?<-T@KkoXTt;PK%SGTxx$o(}vt%iSl<8nlOQkf+Ry#v@A~ea zBmbk&zWC$p`rhBX_@hz&Q!oExm;1f?gK+BNrUb@)nqe;<@7SAyoBAl_WlamgeOK{I zivgeP7MpZSiJDh7d`QxcOk^*Ty4>pBs*IY#y6kbepslQ4{H?02-t4uZfX@N};z|e@ z$)Iv@yWWV~2TE-d2JtHPyVOYI2Lh3iw2=yc%aW`;$BWmq|H`f4Qst!T31O-dhd^+A z0UlUhW3+bL!AP8egLrdc@IFKkv~P2jaf&f!#8?#~oF@@EZ$$g7eIFIB85LbkN8()V zQyfi!(XOc-m9CYB-VT4!q|0*1zRGZa-FyfyZ#Cv6M{YS&P~t{=Y`V#}{Q+_F$j|!9 zbn`thdxVc|Q{kQ%RN}^L#*tmh1rJfo%~DK~(eICa0DK)lp{=Z|MW>!Fi%yZsinTuv z11nREkb&dI<^C`_nTTfg!hJ?ggw)zVtF{-E@QT?V!4zv74t6n zLWYxUMNZA(ZEKfuDllE2sxgg`b|$640g*DKOAL!wmd|y| zXmi1h7cZuWmnfE&kw_tH!4=4qsyQ=$ylPkS?s>LodG;`1^;){Fpr7>W9J;P(FgCxRc%dQnk5Pq6M_td<>zi%3?e2(L_s$4W-d=98&ON;B~l7el4OEci$TJdk+}X zoTS!kb{)=0eycf?f7&fB#j510%jhd<_EkLAc!ZZ9bd73mtc$GXzd9{y75^<9@H4$l zX_Bfvk>j~Qb|Yuk;~~ez7$c5vYt;H=+yq3Tf_rD1hFx(lSSlh+bz_+F{ z-`N}TX^a$SfqES~iE*Eu$UL%}wsido`WEh(c4~KW&s+a}H!*ptY?x`6>zP`*=oJ43 zbRho*)VyxmH~NW=RulSQOJl160L777_%Kd1{GDnwLTxj0#TkUcIB3SQ=YsdeZd9Gz znhcUWSLU0PmBXZyT>IB*_o06dB8X+Uz?YRUj97(L5E7Dz$vWi)DY8^Z-snu9ghZuT z*p`?n%nI4qIa1cBg50wPm3cisJ5#nZb37$GPj;Yev*^nUd2aQ*a(jY#Zju&+Z#AhV zxU+-*X?uqJ%faBt*rxJt7Dc(a{N(xL$dDf4CE)DN!sTh4ve<_gciHs$oVoO9N02 zPU$)XhAM<$ZiQt$KL-MR3qNP)FLhr-)`3^sG$(eQKiAdiTY~JJ1e*%?k)Phe9CrOf z?tAwV`TlpaHegu=cqs4}ZbNZCSwk8HlP1*KgK5$-y`!{GKG(hiU#>n$farFiL5n=u>au!9d(;AJfxZ;AO|Z_fw* zErU&ioSS}hJI9;W?%N*gE?}G%suFYutdwnT-{ib_4t4u~-!F{=%&B4{$vv2(dfLZT zgl-kV#e3x-H*8&{(<-ib_SBb5U}z?Qc$6-gysLW`>A{U`sz8lw?$_{a;2Iv#LaAiB zhso2nh8B|m6im;vU?*#}uqe+Z&q%8u|D+Z}aN1X)?3Ek)`YJawrL&3Rv1Fl*d2+F2 zeaXQibb3^*C7^hxUZ7_6kyvDhwYPv_S0#hS%2&wB%31V&L^*#9>5Q%-XXY|08OszW zR^E{Ca+3ST>a0SElkua7O`=#StQY&am8EnlK!RI)Ztnu!DOp%cR-Zm2Vi|h<@Sua` z%r>CBja^%3uc9s%9tR&G?l(0DGjS}tcWACdMQnvh1B!U7fZGwwMH*gD)l*s%p6~h1 zs@`X|H-n!47+Zhe_hfe)QlYgtUaKEdAa|bUd4HbAQRdj%4zATwTqM}O<{@!@7w7&a z(5v$qZlTz!QI4?{2K`bkYg;yKrw!Y&UhY!ds2MZ;&g?1S*kl(&PWk=tUflfl-Z%GH zN)PuB>=^Hjtbew#n0~f@ZwvnmD&LXPE-`!b2H)25x%LsVuHT0Gky|Kr)ak>d*JasD zbLWH{&>*@w{}MFOVL6xI{9&C6vo@}rgSq0!+br{B7mt~gRsB;FQZr*r!@E|-{E+y+ z+5$Fs>N;7?2r`C*rRQr%32LoZLKYBU(p@h~Kqo))#dkQmpcyzkryp+pc;-zLn-4gH(N zs`nQG%84}tBF)=*#%8nS-ji?r9M-Xt+^W7Cfu+;VvJ9{&p&4_>&(rrTn(N0k*f z#T17oX!A5fvM#pkaYPWPXLd4YYtGVdzO@t-l&#D_XLHmb9yVnrm1G`T;Q|gMVDON= zVrnhS=y#A*9ibkkvY;NO=+v3OWFq8XEm-JGWnm}|y-sDL0~iV%t&$k)nV!YTDHYOI z2K>X7J3aiHArp=uPB9aYqIs2dZer|OCHWOfHeDs$czk;yTU$9fIRm+?J1g&}Tf+m6 z;hZQv=5w-OQL>TK+X4D@A5!U}5gd*r3kewY5Bz}32_y?;$}2s3$tF6glo#4`DJwym z3F~mUc#Sm?5^8Z(^;ldjrR$XkSL$|R4wIYpHad!%s_5Cw6C5@EX1^c5y|xP;`kEYv zx&w{-kQK01e^(%!(&>Od-`uguyyN1Q7`lLMyv}RsKwI68FKl!PNVq|}=)c8ITiep@ z19ojZV0eMk^@}`mO>Z%3gE?&B)0t=_>=omQ>@StCG4tkq#qkn3xdG=O)I# zO|rpwa3Dx_XfYo$a+oS}rRh+``?{IPTW8nOgtLrO)*~7ob8SRpRP<~*wo*xGQ0h?V zyCz(_Y4#R$i=w$%G#$;%T3J9y%rlC~%2Z=&cn9bWDt~voB*L+->cm8La*2D?{{Gz> zlrcJn!Gtjec2rPMqo0w*>-~2|1CeUA zuk$6U7vra~(S0j)(OLMSh3Ff~9wP|wY%p^png@LIpjKV_~t^U+)uiR3~wLj62B$l{6b2bF?)nt>_|5;L% zjju~EEP*Y?pi8UCGW#7xtDim+4U)ZHMSdX3KC>936Wfl1GTJ*jG>Rh57Xx%aZCviC z!+jp1#4-Uy0yH13$|yZ30@!weACVhG15J`gHkBe+5!xi*rY9fn-A7Ua(BvUfiK_7u z;vtJ(h-Yc#_U^f+H>E!sIm#^gLeTEL*&y#H<{`7NLz0+)Iv)>|t z2X)4ECw5lxnD?!6<}6YtlI9vjs4TUB6AP}jf&~}Wpzn14ltdV1n0vW&X0lERRTQWg z!7XLam?4`mLfSYI!=19K$V)LPUlNHh7-R%wief6AXTGvc6uw^|w`B(UM^_2H%MOBG+spL6_ zS0ld#XDuWFb0+wXpHp&m1*HxnWosWF4Oag`xvWgRt6+xjl3lgPF)4WttT*K-NeW(G z4X|+Fw&qMs0#xE7c)tzV8A#`}46DGWQCdnV;5B@e$f3t1LCzD3pqHjV*VUThXSN`d zqlJV-Z1Z~o~2FgKk%ee={UU45S$CY|VhRum${FR+FNgNPxh}i z?#z{f6zvpp^%oK~JAI|``!q<6E$78yDXJAydunnKqrv0kLBkC3#)LX=rLyY@w#&I| zQphjjt>n%@0c}z1mCG+if+kcZXzOap`y@`+Vk&jQnJ~yVRL_)a0A}UuTiY@u_g zWTq0>hm^Yzq~s28e!)@-$)e4w2Fb!Ohhr}W%RV)h+n@E|C8z|a2{(uq;oY)@5B%k?v2>fHN@I% z@YP->CaZqPi^ZHM+bLzZHgiPYtCRqpG}w@Lq&$J8r;lSw&B})0Ea7AhNkS!(W^dah z2jH2w(Q><+1=iqwy7+JpIgZtHb+&&fa%PW1ClScy_7{4%zT)`+pEsb(7kDpsfBA}e zt}zh!Y9n~*%~^lyA&Co(?iqS1u4YQUA2BIZ=rvu_b9Qy@u<<<)^oUpe;dcy#~Frgxi-gY zoS9Q4yCB&I$3n^KtxV;ZUQTtYl`L_NXrlvB%aHAtq z-)SMXB{%!X2OH&emBA^A3j@<5YV5I|d0_}QV@MGk)5rw3G{ecD;BabM?^(n;K1VtN z7hPHkE>g-2U;?lWE*7wIW9z}?d3Je@W=cmFkFYH^3%3t;NNVkA?r9%(h8$v(fW@3`aj(@Ge zO3-3iYbuKeI?t*RW7Ns49~o%H7ElSy503JlTbPKZvG3rlF%sL8E<>YY9s~V*IQdBA z{%Pca@7#7r)_(*`N`*I{rZS(F#&S0@3l)ZN0IzKZgl&FihJ|s8jwxn#>?pQu+f@G9 zLOwr@XJG^g9Ay`gUj7$}9&&fy&{9mw==i_1#`jC>ru#W;?R_6~d$AiVHXAP<<7bJ0 zZ#g*r;P`&nQ2&bwqcp3@Rk0Pr zGeq8wI*;BC?lmfP)P^ixEOyqfn|&RJJdZuEJ^M_@ZPye~X^_z9flb=utvSxc+%lkFCJQjsot9StV5u0 z&x#MLR+(9QF9O4_C6`z?Z&ZEOEvSqxx} zMPap|vIXKntVb9{uWQ@pvN!&VnHIUga2eSBa7}PH;hXLb2(zQh9YvzxDyB!o6Drl} z!aF*q*sip_!C9YUs2j@FV!FrmA8S$a?QJ6M{pQBf|mitq%M`g)GBEO%%tFJrvqVEO?{;RUL432DP+63Kg z<~FvOnHk#5SY~EsyUonZ%*@Qp%*@zkZZlKaUf=n?otZcG#_VpCLVBc(%yTM#NGGLK z=HrFOJw2o@5VpaR?b|)H9nHD$OdVq}O$Y@MbXd}!t6j3IU#m)Dq;tTWUgN=P6gm`y z!QMDXz1_76C?je)CrJqUIy1^Gm;2lHn-zL>ZY5PAH~WT%+Yz;x8Zz2$$TWF#R1!r6j5K2@lZ`makyf4Y zrr+%j=kx1#)A(FAe^T$Vzzq(fqa_M_xXcW!&;E7?R3ch7849*=pbrdw@5aXGu)>3Ya zN2>nZOt|Za=YvHr;F{UTTUNWx*E}w8pimwUJ5MuBHO(ZSVV+{1X`o@IVWvw+NlQ*k zQFkZq3a|MO0z97P}wF7va!a{077?nt4Se( zzoGe99+%xq+>Sk3Jf1vAGuU^uPkGMKK)0~F7T=(<20m2d7u^gd#|F`miIoT;p}^&# zjE^I@GOH!Mr%Tl?k^8i|o?h|Hrd$EM>QjW36W_A2xiIZR8ALlnIS}D2rn^3JG>exTRA&p%a<*C4b3fenTfSsb0qGv zO~M>r3k!@BoatIDrXv9r3Dzn+ZGc5w6n!Gw){l(zM5ah{9ot5QRe;rJL$1Xa0k!HBBtl$KGrDA($m$#U{7M@J@7l&EEl%eAKTB&>td z>At{UJjGY6g=hG>)!cdi*lBg-I%)(`F{DDlh`#}LwOeA2Meg{Nw&lEFRfPC3Lg)?p zq36T_keJ4lRIfkeZr7>_#&O~(``HVI=Ay9KiKJYZ5nU%vq2kvw{bM~9N#gmG4#GW3 z$1=W_!kLSnKMSfw=jZ84f5XLPlBkPnAVnbHi-@VjREp5w{3eKOQZ^3haw#<#6*dez z9_J^PW1v0{!Zb^kqNqM@Dkt#MEM-$yXu7P@CX|ml+-GLelX>l4K2pZiKVVf`R&vm8 z11HFTXa2Gq*x`4aFN)w{KAx(CdAV~q$PaIyIGWmYzPu8UEA$eKaBArX(Cy(-J;24p zQbw>F-MrH1jPDs+Uq#CWz6?JNhYQAy%g}#g)HEXMEy5^ZQ@4KsPXJH~6V`c#ypWaX zDXtzsWrP*8vtVFrJXG9gy;iv+xhwm0@aAn-@a3l5PyRBh2;w!ywLe1f&XUc!T`a`x zmMnQJEQ^9>W?P%%clU{3_dRu4FusnB+x+P{@Zxe?YR~O;?wm-wJhE1$*sQieO_fNV zCdROzb%L%Xk=L1`y~M9T5rdh6vSv`HX-ur!VH_rqo8Q?<(}e`pp{UBXx?9mTK8>K2 z1&63K##Lg{cNi0UHMHt=1S z@StyT%o49-IQFc%&?35GemMQF69;txXW?k)5pfk9d0O|=c2V*x} zE&Z5`Hptu7tG=l&1RKaR!>8UPX?ER$P0$Yr_9ymM$Z6HhKShTo9}uu-_EUhzFBf|Y zynxV%HmqBjgE?ilmSfV}M((&xM=8Jl%x^)Q#+>JR$339I0dc*hScn)g7$SzlwhRau z2&VxA&WZo(n5A| zh%A9GtNJ`(Nbkw74J|x^JwNCyNM}^I*1;u7&t3utqG>Xe%gfSK&M2^}|I*RHnj!v1 z@WPlr(`SWcXwkA>m&I@x-q77=jmvzf5y|od;Kk+5;<*>8&Tf;p1calF$?Azf8g%hY{FgkZuhqgg^!=Q$(9p^(5l$fQgt7l->bbl|XIm$!)mbmQ*W9|M6b(JiJecIu8L)!<-qhPtQ=edKk(LnQRIolExnUX9%l~v}rE+5YviQ9Aj24kOqVv2rctqsy`;e}r+uDa+t>Y^H-hlV`JR!S~o!|4~CvtSuRB?d!h2J(|n#704Y z775Q!h<+1RH6c3^6rw?AcE&1Wl<-6xbjN)<47* z_EbcjdpLmbOWpJbdz}x9ZHVqZ4X>4m+c(p#T^e*fxL4n zzdP2+Ry#qX#H}50mS{Z__9K+ntW1V3ZAX7}PG@G;3OWD6sh_fH$QU47GiMs(JjcgQ zB}x7U49`h^d3rA6ld#0EJsiYgG>xB*PP4#egv`2H-Or6C!E9L&g_+w)P)ELMNVUK- z$u>bR&R}I`B_C_WHD)uAnqSw+abE+^Hp^B$J>yuLk2~hfK30zQNK6px8lOv!-gm=0 zplIk?$*7;TlzKgxnvuJYQg`Z*f$y)*1(Dz!8Ht4! zBc@o=)3LLtv#qX7`%^_(Ghw|B(!Sy%s0~QKHqFBIOJmjV9MgNBBEQ?FCKi>-;MTro zifp2jo%64vPKQ95=3iyv3Yi%YiJ9|y>Z~ujmaOdpDXYw9Cc3L=NFqibn+T$V(2l#&p=ZqTUFV%B`rZu)bz z3u<#Wdlr#;R+6>%Ql8C2Fk>whA4i^3uaJUYPuA>ZIsM65I9I^A6r75D)7~|43V**F zBamf>L}s9=cdQY|x&nfP(=ZY(R#jOU4J_&T$vd*V`gptQ;hct+!1P=R?VItptOQ>f zV}99`okk0`kScv=gvN8^rjZlJs39{u@93eGRV!m1)$NmmkcT`QiR(2DB{~xP<|hxS zpp9b;>(22UU01H~w13ks$G-%oU}WL^iaPOsj2_0$$-w#_+P?5`b5#;)f2t{$p@&xg zMHomE=pdK?QO`gBqaQipk|xx|7sT&W6oZRIo=A#`*^q&)p+`@87x~=pIzw%U>^evla+I zq`_i+$wT8EFLY$I2cm%qnR{dklfyWf)>bp<1^{02vnrd)MxU9*i4 zi2fa7g(vArW_y*|3hjs9_j~mxbX8>{xNjiP^YwqYF8n;~k7+x;&*Fk~=P3Mo|In`D zEBbE5%pW34Nlo{DxmHH~Z5~E%Cy~;4X!kBk7sQCjH(Rk-bsJwzBpH+ihJUUxJlpdc z-5pP&c90fykUGn+y8FCl#0Eig03%vA{rL?Vrg1Ytm@mqK?@(;R!F&KHGm36a4m+Q; zOe?PV8dy-+AJ`i}-W%A1Cecz(eJTfppv^etcOdYu0Wz3UwG0Rb$~V>T3Q%a44c3tX6C@}Y~p+r zBvArcQe>du>6y9}%Uf$I>SJR5b`-?J36?S66;^Nne$@TR` zxQ76Pgm5lJyjUy)?LsQf%|*EX1_g_7DYwl@QV8lr?#P(-YZj7_in|lki@|`H=+|rr z5gk)KXcx4kk`m;r?Vy;LOR4P1auul8PZBCg$k*x7{4WhQ~qsu(6{@q23IIP zfoqm}v`K?&mONK)_Uj>G7#T@Re%cCZmEn9W;dB%P#5>x(8Bq=?hFJ;;Akk8T6(aeOh6~`B<%8^% z^dL};a_JS~+!K226MBvm{VceBB@^|W7t6?QQr z`EPKdnWTrM6ZP3pBatypa!*97xAQO%bHB5e2K$?r_I4T2!br;bNpcgIT+I~yQ4^qg z74kb2r3W1|z+0!HW(0=`F2G$?3g+FE^s z%>>RbqwCzr`)}`6=4J1%#U$jUkEfdx@v{qmh;`yRMw}v|!lM6Tt&!$CxTaFFkZ_bL z>iN#)u1G{8lN@J+w4pBTDUe3EJzt|%{iahpKJrwRf z<8#ya!ehu`kZ6=d2IsJZsAxSD11~E>YM5h^3V=}c0r0wrn zNLrHqL-nfxVoipXiuBPd`YViAQ8&}Jla~;W=YG7J)2gA&(m}dla3Kl1`~geaSpFP< zt={Y$Oe_Lg4jqm2PvWeWYIH*xxjM`GTs{a}UQxP=q6MzVS*|Z?q+M&7{PRfjs_!rT zq(H%YDQ+-9)6QyQiW|9}=>u6Kq%f;oiW_n7h>P}?K;)RYnu{6WKc8tfsb zAcofr6&Cvl9Cm!j8!U%nkoKq(vh14N3?l({U;K^_E9&DBmW<(33E#n&oQtWbrsu$W zGMMx+G{>PBlJvq|1o2k5V5in#QzSnkZn6G3lsJqKu2A8831mEC`df9N=AYn_+RPpi z^y`%$VdOWmz)+iKL88%K@yG#=#9d8i9GQ>rk*=s&45)_UB;j@-kh$8QyiumtY-uAt zs5xioJCsKK2wXlPx*|k)30RJhpj(3qRz&VP{S$MzJaV!L&)>Yk&^hY9TZRe8hpJ*l zyGjoU0)vDbd<>|vhqmWL{ZB}eD>h(u5F$t5CPjI42Aq*)V4NVGOkcD<;O|c&xAt&f zG~;DNXOk3u%kA4$C zp%?D5MGm@34-dFP;_pCa7BqFD4=|!P+~9=~!_>uY9e_j?-<^6kBYNqNkVuQbCkq5& zW7k1z+JfZdp^Zp@g^{|%j~P*NiUpWaZVu@fovnF?iPsPzn~)G7EvbdUuli-JiZ}`r zmKDbS5u+N-8QT`8Rz9V4S7(w$l;V?GaZGMrZq9iT_ePQr?Ym-tY*GtHGaGjI42-cu zIJOH*9VK82>XcTRmz0?USr3TLPrB!9kMEuqtuH#qrPLmeE0*Lcl6CT#r)5ONUazjU z@MynyXyyTaZT7+uhWdjK$VG=-lc*R_Kkgdh^y_;TW#Kc0!jYnk;*X*#h@i)rj-DOx z)Q4n}98(MyK;lZ?ols~9n9jdAe)CG_6;hqocKo>s;42C_b-5>6sKc`&cq8^mE1Mi} zZm1zmFp7JXG@qw1_aAgp$x?Rdu&K0ZvWdFX-cKU!P?w z0$5uf)$~D;AL&u*^xIbsxLfr*pZAJ!1gdBeAdv(QCg_la!I2G!f5Q~;mL-d4s`urV z%qH?7q>n#5fWOUdhOqeZ*G6tysB273o)bGMxVLN1t}ekog}evh5tm(vsHA3YAW0s+ z)I(X-wt{#gt}wY`ISmk|$=jxM@5-qD()Gm)Z5}%Q(5kD*9Y2Q9AJ}W*; zK5PEl+0N5m(O%(R9y8~%@U*a9qFePjp34r$f{KNX{fIq{O)bG5FK#eOo080el{K5y zElOOdVUNX+6Za#$NSr8QR1H~XnmD5=j*>*Up#ifJHY)j-Wt@9P;rGULE5ToGh)wR} zjr2DfyJR^FD(2W-@c1Y{!;*FMnH@LGxtGP!S!SmkQO5e*(8z1aFH)A@&_SHy-0r zX{LxJu6H;&>d?hTD_R8|fvD~N`Z(c)yNs2+f@aFUkr8r})x=riMp@qJD#_h@WAkR> zk9KIh`&-(h;zh>4J+oUM&P&b9XZIt@WMasBXx%2KEwPJCy*D1e%v9ULm?g$V2Ni0afa)+ z=NHbP_G>8A44G2$#Pk9t;nAjl*~Zc{}Q=;6L%q zBN-M3CroJm{TTvoSp1+4mm@lRFc4=x0Elb4D@ZN)Bc!jrAdsldngm~XVhtS`I{F7o zK2%+66cEWdFn{(bdO0Xk(0v1g#1LOUUh*+qom+O|xxmVKgT*scl@W=}Jeg27osu@u z8-3e{DW4VBFc8_FVzW#}2WWP{&_BBI!xv;Lm>=wx%~6ot8(sivZ{ZOl70GWJXzGZ>f~@^Ka}qB8!JI#vq$|LZ|BN;Wg%x4;fznPG z{29nGc$+heyZI~|i!|cn?|%s-9~3&`%Y#JyAfA+aHog}|^u~l{xSOcWCGUyU@qZNk z-V@1Ndp#j8Oz#aXaWX|uq&|yEavO0HLE??{9y>`-ghmM@ng?sj$M5m|5I_9M0AddO zJ|8zcV@Oa5$I0bSC6J+HK$QfNbj1CfbBedu<@P*L89q|!h3q2#& z5+;0taM|pe#s$!Lqqq4V5oY9w@LBhO*WkY(5aj4z5P@}PuKX7+~Spyb9Q@~C9D z7sDGyCi1X^L14B+ZctXAX!!1m0lMdSdl%7v3m)J+Zc*x> zY(AXN4!IrT<C3__jtq${c992=xng;bkQ?3KPh2DMrc{4S6l*jpG286_Ezy zILZsh9|$Nt8e!0#)tKB9lMh(~QsDK!11ZpVzIme}!oETsT^Fc@wgIVu(1^D+*A#dM zx&}x`cl31_O+cx|f@q&GQrA$Qun{mX9K<{N8!)`xDpzD!H)^bF@~!Y9f8HRm7bNZ| z5g=5y01uzPsr*b&uY+2DPjAi*2A_Y=j-5By%s#X?7(LW05!N#j5KZa@2?#HHGvF#Q zYwVhiFG`%f8*;;xy&qDC<8!2|7nJKWqWi30Id}(TP}v3d{t6HY{=uoTUjtu7*lhr=ND1Jx8B*9L{$9>Ol z{P6~OyJ1J_a<2MUIC@=nu?1vzP(F~lhXg*5WcGe+hh1G$Zigv8M_vt@drrITdEgvz z*+J-DXK_Rjdy;$iB6Wiv&yKt7aCaZz?|qNHMYNNjmEsuY8#Kl_#@`e3oZ=gleGdLT zf|j|nal_nwxM7Dz{^G1P;Nr=(evSJHf>ZJg*|T(yVEGCzzd#?F?!BwZ`rcW3dhDaT zFcX&UEwgy-SqCemh=ywrea-W z*7x|*(-dJq4~fMq>DTMLt1Nu>RGf zCtq0$SktI9v~0pYS=FHEHYL`Cg}~O_u!3q{=eDwTa1GqK93`=YeX4J|BzzCzJ;b!! zG--x#Dd2mmXT7vbcLy}k&QQ62=6P??18iI7ezOUy8GFEK26$V+QwVMp$y>o^8(G#y zR`sbgL%64U3gPQp_O4+uG^f+LASPJjHP2h0<6Fe&Q48o9QrAUPftgbG<<=&tji~HN zcZlxkH0N^?h)eYd3J=wz5kMJJ>lskXji~71YWitgfjgG!QGbaBF{SRUjiep<)r^x! zYf9e%s2{@{)e)rifKKf4l@lazpnsEUkkGsHbTBimn6fdL$&clMg-MF?O^E^#0oM%I zXhu!+Q1{~^1@NoQ;$RrCt^ur|QJcY>tipc3Mp;3Jo@}fl@Aee7ITW%12QFtBkl0tU ze)ZC`WaL){JwiG2K~Wnr>jh69HDI0~q$Sm28dQ)sD1b${t)~kCmVb4G83)u_ErWXz zFmpu&qA^VvGKQkruwMS~$;NWI60YEhJ*=nLMIQHO1Yu%k3fQ2c&PWCL_LOqwCb0F0 z*eL!yLvN17{P8Vqi7}v~0;fF)JRctxm73B50jim8H9!psOC5>Ahz%5M0<5X-E7GQn ziU-Do>E;jUG=Q<)$@esP!%c9Xpsq;$*tP9++D)S?vd6|ycS-EUBYpLcf}|xJ9D|2- zP&ITYrAM&NbLhCvyfvm#n2w+aQK~a|n4l%1q@{2n-54d67(ta77?l_el^EknJa=DO zQ7TQiaBnLFsx>Q?+BLP|qfo=8AzTY&aVNW{b8Bn;Iht|nBtV859Mn^N>XGjcYZLj) z>*;>la!!iD^sXRfebkEYK~c)=E>ZO=Rt8}Plw(u!bsGFdTm+--K~4|9;h*Zot)-f4 zZ7MrJ$fBKGT;h~FCfg$dXaZ(099tleH^umtn>F8NVs`MG@3Ow`zwjOFv~PUo=X$Vi zSzL+61nk(jV@#ab$+d^s2vHfmQa+e9wa z-_~L8L|kkOo7LKMNa(WiR-1fK1 z0s1;Wwv{|)Gni($HJTJa93Y`Rln6#DGA5@&>5Ss_{TEGv6#ofwyKsj~6rCuQHXOEg zBt-ivt#Rq2Wh2&lJH=l!R;-|d{H0P}=fevXm-(e@;VK@J72N`MIQ@as@4oP18xFB{pKXy4!P8fBblcLb!Yvg}m z3)Fcm)Nm;5EJW<8ps3|OG9oKS1S>~6D@QylqW+_SF;PoB6r?goUIlYn1#?^l5n-yV z0Ht3)%N+6k!BwJERRZOqawnb?jp#5{0YpTozaU|XX%3inm_~fZ~@#xpI0l930RR2$nuh!wE zcY#j$PyI#c@H$=k4hK_%$oAhQ^x;+S?!QX7S`CK|>vg!=5@g2T0Kh|EaX8ff1EL{C z@vdTd)v~_oS)%?Y-rHHul@|uiARd0YTAm0E>XXEp*DmF1nwqiB%Dq#(Grj+MSLw3J>QTT^U?P?LXCj_-M6=#VMCzLzwu@`(+_GT6SozVD zKT_`D>5}GSEZ|b7tUko`PnYNz-feQniqRS#KU;3fV_9e?bWpXQ^m5ywVSPyFrK#oS zE!mooO2^^1`VeXRr@z!5quQ4`T*e*@n2_r8f)VR4YNG~IhJS8d*Mvkn4teWCNZLHq zS+0cdiJ)U8@b`KdN7HHY-Cvp0HgDzDgxp&X`_fyGx*DU%-3vocPYGbB(+>f+Y3O^g zp;ZZ<8r~Ybr1%Lv2|S6dheF|EL^f`!{vnYq;NuyJI`Qmd&TH0)i$KDHvaAX$A4Q#{ zS~c&wAP(_DS zpU_I{Vc4ySb-FDwq;`VFjnk(+O3>dxHsb1NJobOR~YG!_<|3#L7s5WI;HqL7PFCSgB@4GX4Fq`)wL!CWc3 zq^Lz8WB-7rwZwW2Inn*zF~d5&0~85iMyY7o=Lmix2IXbodK%iSe;sEb|3h-FUVXj} zmgQq??;MI!7H3H5E;t3nxI82&nk$@VWO|%ZE*8v{JqyxppdxN!;a8>-f1;2OTR;LUOW~B^e#3C3W z!;c__QVZJL#QnEt1cg|8T%$N~Y5n?Yq4=cqYOfPQk5(Mz#%3%PP&*z08!Qg#oHfuJw-Gpi4J%`}OBPLy?lz8@wal#3 z+UK-kwr=VyuV*AWCl=sdw zXBfB{r&fdgEY7&%ahePM7PzRGbo>ta@9I%95;Cl#nFSCT4uO-#Q_Rva=B#Dv~rNq**j)T7`Mt9)H7kZoQjQ}%GjC|RDeP==8l$~dlm&kONm`-=^))S*;r6CKu|VwKk*FJ)@EV&~Z0 zk<;o~+>qfxVzxrRH1$6J-szIRbD8Q|5#o`-Y_JC=d+ng9CMliSM3_fdL|DL>$5_ND zbhWz$UtzFUc}sOswYd2kO~^@M$%&vmp}agxe7?Bo&|__rR))l8F|d%tQ~?di^&QK~ z9`_!*SEVUNgEY9NyPMG4OZkmJdCA*BVd|ka{gFVw5=r1g0N90nkfNep0AI8Vy~Fn{ zalc3OUyjZ>82`7U^Z#?EEr$O%D%Xzfvlw823%>G(!QBw5TevWT8z7AxSg)%@+*y^h zP&3-+2s8iPvIE+adpeN}!5NG#p zv$r$})oD;NO=z6cvY`Fs6JA40lzH|C*k0GSiySp%WF|-!^h40kYNJ^hZtT6|YLQ_* zL_%bDV8$=-EH_yN6i|PMOUrKJa z#su`T1{R8r)-d!k1gs4II3d_OI1;chfB7T)cj7W;Ru=aE(C3A=ro%=nn)g#puV%uU zO(55(4Hb6OK~nt2PNMh0NXsWOtLW$oh??~nM8J!KQ*-~L8u@+8;0nE?(j zAPO4(4EdqVG^hsGGR)6lS8!4!_Z|J>{aiE5iG3YLV27{T(83Hj6lsKlI|K<}NbpI_ zVNiN@{=3L4km}J;xpq{XL?Do@wxWICj%Oi!+j4CoV%r9B z&W&=0u=&z3IOh4%Km~mvieP3*e4|;2Sa6gt4sb|$OajR zg+6BPCIoS1Xk%~X=h>z-!vmPo$KhN=4&AiQ2c~w75A|%!(BW@vvuDM+_I5g(-^ZWp zHd{ZL1(#4NKlAUF_*6HV&fp9>w`{5}=^|*|+qt#r7*#L~$972>i(y@J2B<@R2F=(; znb^Y74{gFuQwB3~1zSqJ#g9MEtpGH4Uvv7o8k5?m`kN2a-nF7DMt(J6G|FZJ(;D{O z9U9awdS@eg@V0_+&ym(+e3%b*na-KKeSSrsY}Nz zK}_^$eQmAzp@OU8MWIcS=-%#faXU%uAO@x}bo33-RH~ye6WZ8HoVn5Tmxf*5owzo; zr69U(>+v98CuxI!L+S^n)$UsYZD|-=WC)ZP)c@#Hk-N-h4>fA*yb?S^P0NXr#&1W;lnB`d_`L(EmJI zKLquLbO0xJ4sbcj-J1+b$B#RXN*rv6;dVW@4*nqEQ{5T-tS+?$NY@P*Dbbl`to-qs zuJHGc-Rf?Ibdq{p9F*Zs@$vMoSW2l=tDk?EbyK#Bl=ap3960{-64+XPiy}LyVdr## zy4n46AA9e}OMW*V)%msg?n(wGhf zRu@#6G(^YpIfw`a_l~f_)AFym*fi^dl#*pftm)Ycs!d$^A5+W&yrF!o&G?GMeOj-V z?ZyYUP5NL7Wy=X~mQt7L72z3x(w+8H_F*ANF5jcN*(qJNEDM8!>wp@Bq+i z)X}Ts3Nq$0!$3pqt=WOD$#&9Zk6fI5ff+iF*HzUxZUcUs)ddF<^e0wUF6m+W548X* zfcL&z@>K}6bl0-YeUJD^JfxhK4TZT^>#=|K%JWnqU6<0~#Q2Q~vrqOyt(TipV|19; z;112JS3NUi*tqPJ-3*pl{p)<-L($*S+1I@%;eOym)_cBJoD5eu#bw6%T2nAdGoI5U z{y^9JdUFIy%;CBt2-&HQ)L7o5_YROGu_U2_1aE1w;PvqV;+8@YRO^z>j?lJ^J(p7n z(DHU$NRTtkT`+i4-}4ZDR)* zv$Ou~_oPo>?iSmp=J5!7W@0-K+%h(Nv$f^*Gdg#(jc%BU4Z)H9Zr2*W>P<@K%n3CP zH?wBkm^5LJwoL(ybqjaJKDUOsq*Ws(w7n;pbNq>%_%&oC?tBYUQkOf*GiULkVoiJp zYg@4z{rrYcV@Q6igNNK^-z_Y|Y58)d8T}*uS?8zj*}l7Odd0(NiYt~3x3zer%bx|T zp#`I)lJPEwbPkO@GY&hJZ9cok!8v5HjOc}zBlmG||B+q&>J_4PLU9jERyPLJc81svk*hsg!A1ULN+cc$wW`{>>9 zb^REp{(wufW>1Io+M#A}A2}vtT?`*9=4@Ro+FLOHCK0<#eBj3X8e<7~d<#viE&`FvfOIOz5et-IK>_h2X;cWj*_`aXwpR zeIY%tz^l3Ga%J$X-4%Oa)9GBwp&9Q5S$80;2L8}e+s(|P`-me3h9l`ZGg#>YC1)UP zhLktuS!>TBYzErXhd0GLh4!ZHchJnkVI$>>mSYXMT^mH@;30Af_BtQ8j24|;+u-5j zFc@xy-wrv-kOq>HXR0={)B3w0OVEVb?x*id-UP<#6393Pb4(+%F=n6FE z<>(LWerU=ZRUf|s{)C7B#MdbCe7|8;7@V1TYMQ~eLbDG~_AXw2NXO%9`Prkt(M6LGm&dr; z9$3`?(@#bZES?#LqW8!FAlcF(^j~|FE1q0BS%rkO2yoS(Ps?vIs>F(&!&sUvSLy-4 z?18Un-vdrS%~x(-m+fPhrz=UkI8~=o6Hwii@0b?b5hbm!U7>oB_0DIEGLzOJqEwG9smZxI8GGNu)Gx5_Y_2W58&uQx({Wm%xyyVhly-e=U2_nFK48%pJ;9FH5y zkutJYA2}i93Uk4}_GTQY;-5yqB}* zFCJ#@dt1ks@0_nAbLaQ_mm_zZ7OJURd`yEsMEM4g#Qxy)g*F@>nV447gCjq_DiEF4 zoROIhEx9|@zd(T+K2t-BP?fj`ayru4IJbzeWgmB3Y#v@dSXjy!{8+=upBy;#qf-sV znUa~FJzp|;^LDzJnTdID^LRMadh&izy}Q!%IyxsMy50q1^kIl7`dD&QA+mJ5IhpeQ zO_;qfa?->An2sFHxQuK({Cz$D9_i@N)~2!D2|A$dS9-R2wf*VHqKVp)GBmaH*QCT_ z)Bk8ZRhZhV&ds4ASO#2yYSD7_nY{0LJIAWJW*91N*Nc#;o<8s~Ta$;!g@FX)YUowc zrKH-Wsw%4?!df2Kx#oL9-#hKhc5(2fuHFS5)E>*yza$FPn|DF);!ogpJ0&Ya9<|Wv zv}`FZSFqN(Db%x%@^*Lc8FwQf;r6f(-wR0wsb4((@HTy;S3mS)I{H>V=fri~K}9n1 zpiYC`o7(D3;Rv8X08oSmWO(w_lxUArC%&oH{Z=S88MYgN8)W@#NX=o5fI>5Q&8WB} zi27R-{`G>+7Gl_34Wj}B3{=EiBiKZog5pw;3OrMXi^i+ihQ2i%(O!^shSff{sq`XK zQ0wyVrJdjwxqt?k@ICZWdA6yL^+cBSL|hBSb>u?NRDk)9?8GL1_y$V&B8xCQ-r?dz z_$Es0MoPZbVp@4Jh;^1w`f`n2h;=0hIodg5(KV$nvSni#$6|3M>G%PE2E@&fhGZs= zi6VL;$1*aHeIx)A(?W5}Owp|tpqVfIB^Y)uqG^$Wb+%X_%7AvRKy=N~HVQe4O&M~d zk#xM?j}87GdZ|?|AOLGfGoKvWc%hF~l5L%ZYq7YKbo^GI?NGq;CK)RUv4Ilt>m9Q_ zBLOcvSVdUY>G)O)M-;@Vh|I!2bUWKbkuu=}U@TC7N8|b5F|y%m71WbuAp0XWmYGE} z3I30NGN)Alg=wOQv`8_B!xN~M@quq7zee|OMkMq9Un7!#QdMP z1%^}szc)mGd}YO%oD*4by@U>>Gid$v1V&}x*r9dt~{_=Mrx;US#L?0BF+M7&J8RQX751cE6mk5d@ExNH)8=oQD@@U|1Jc`{948B`baS&N*r9{S_d`u!>FmpnD*8!>N8t+qkTy{F{HS8hSN!0 zFs^`os|k(EafXE$o^DTc5?47Zm_;s!M{kutw=^EoQ{1AJq4Ii?Q+RWP>=udFI6RHt zTH3vi4FvK49c?X{QSz(p1;hBg?F41U8MWtK|0q4#V6VuC_YnfB4?d7mZ#a&z&-E8t zO}SU7L~Mv64Y?zzL?7^}@f^Z*duKVN7ZdqS{ij2Id285ld_OFT@(rO~C7fXQq*CwN zQebZB->Q5pyHzh%X{Ci<`l5J#SY+kq9!>|q(v?t)13md60r`gv5gz;5M$BU2vrtSA zjB#MdZ}>!W0bEYL;2u#WE;S`LIVECeT@U`P?Ka}_JK}QOpGh(G;gagK@=M6d|5Vzv zWeyr%FlVi9`t48GChcP?hwo$)@%OK93+R^(a#7_@tnacfiaNnx*SsRf z7aL7bn;h)p-X$-aOiYoFBSwEUUcwCPJ`5)7PkQYNfoKFr%SzC7=Ly}wth;_{(Z z*vDI&W_W6&XBe>~9Qw{TY|hAj_1in!M<(stSK}q;8!q66Lbw+U^^5#TLBJArJkRSk z$*#w;dG~>lSuT?8U|3Z?Q@2C-q%16kVF6e2(s`P^T$;2yG!?ww-a0_gJlQCD!zxT0 zi4uj-d=z_Psl&{O-j)2ocoW#3ZH`8v9E&uBYn{AT_PfeTb(*r9V&nZ!f*A0_w>)Tq` zDUX8dvqep1eqacI6LPm!*i}A64MZcVX}2Bf0Mfu=eQKSaQd-ak4WJ zhrlX%AyBggv&d`pLR;nT#x+)%D<9)j7VVUS630PKfK8 zNjlS_466SlXl@NWElJxAn!FRO`Wwv7kDHWl@chEeV2&c-jRcM}WbCdelP^SHAF%tZ z-!bj2^s$?0#{X)FfdWv?@}dyhPx8Kk+`}>UW1vVg4&cC^>;3dt9r>2bF^Cjx=dYN# zi}SN}5UtuS0L{iO#DjZ>F@}U;O!hVbNWv!q@5C}I?1#R7k{f~dO2OFsgE*3LEd1*4 z25Q6k3p= 8 AND customer_id <= 10; -- option 2 - +SELECT *, quantity*cost_to_customer_per_qty AS price FROM customer_purchases +WHERE customer_id BETWEEN 8 and 10; --CASE @@ -35,18 +41,31 @@ Using the product table, write a query that outputs the product_id and product_n columns and add a column called prod_qty_type_condensed that displays the word “unit” if the product_qty_type is “unit,” and otherwise displays the word “bulk.” */ - +SELECT *, +CASE WHEN product_qty_type = 'unit' THEN 'unit' +ELSE 'bulk' +END AS prod_qty_type_condensed +FROM product; /* 2. We want to flag all of the different types of pepper products that are sold at the market. add a column to the previous query called pepper_flag that outputs a 1 if the product_name contains the word “pepper” (regardless of capitalization), and otherwise outputs 0. */ - +SELECT *, +CASE WHEN product_name like '%pepper%' THEN 1 +ELSE 0 +END AS pepper_flag +FROM product; --JOIN /* 1. Write a query that INNER JOINs the vendor table to the vendor_booth_assignments table on the vendor_id field they both have in common, and sorts the result by vendor_name, then market_date. */ +SELECT * +FROM vendor as v +INNER JOIN vendor_booth_assignments as vbs +ON v.vendor_id = vbs.vendor_id +ORDER BY vendor_name, market_date; @@ -56,7 +75,9 @@ vendor_id field they both have in common, and sorts the result by vendor_name, t /* 1. Write a query that determines how many times each vendor has rented a booth at the farmer’s market by counting the vendor booth assignments per vendor_id. */ - +SELECT vendor_id, COUNT(booth_number) +FROM vendor_booth_assignments +GROUP BY vendor_id; /* 2. The Farmer’s Market Customer Appreciation Committee wants to give a bumper sticker to everyone who has ever spent more than $2000 at the market. Write a query that generates a list @@ -64,7 +85,12 @@ of customers for them to give stickers to, sorted by last name, then first name. HINT: This query requires you to join two tables, use an aggregate function, and use the HAVING keyword. */ - +SELECT *, SUM(quantity*cost_to_customer_per_qty) as total_spending +FROM customer_purchases as p +LEFT JOIN customer as c +ON p.customer_id = c.customer_id +GROUP BY c.customer_last_name, c.customer_first_name +HAVING total_spending > 2000; --Temp Table /* 1. Insert the original vendor table into a temp.new_vendor and then add a 10th vendor: @@ -78,6 +104,12 @@ When inserting the new vendor, you need to appropriately align the columns to be VALUES(col1,col2,col3,col4,col5) */ +DROP TABLE IF EXISTS temp.new_vendor; +CREATE TABLE temp.new_vendor AS +SELECT * +FROM vendor; +INSERT INTO temp.new_vendor (vendor_id, vendor_name, vendor_type, vendor_owner_first_name, vendor_owner_last_name) +VALUES('10', 'Thomass Superfood Store', 'a Fresh Focused store', 'Thomas', 'Rosenthal'); -- Date