From 2fc787b539756b0bcd2391ef323ec5a9995a8a6b Mon Sep 17 00:00:00 2001 From: Cristian Rodriguez Date: Wed, 11 Dec 2024 07:35:34 -0300 Subject: [PATCH 1/5] New Prompt Power Automate Automatic Absence Management --- .../automatic-absence-management/README.md | 51 ++++++++++++++++++ .../assets/images/preview.png | Bin 0 -> 85315 bytes .../assets/sample.json | 49 +++++++++++++++++ .../en-us/prompt.md | 23 ++++++++ 4 files changed, 123 insertions(+) create mode 100644 prompts/power-automate/automatic-absence-management/README.md create mode 100644 prompts/power-automate/automatic-absence-management/assets/images/preview.png create mode 100644 prompts/power-automate/automatic-absence-management/assets/sample.json create mode 100644 prompts/power-automate/automatic-absence-management/en-us/prompt.md diff --git a/prompts/power-automate/automatic-absence-management/README.md b/prompts/power-automate/automatic-absence-management/README.md new file mode 100644 index 0000000..7b99d2d --- /dev/null +++ b/prompts/power-automate/automatic-absence-management/README.md @@ -0,0 +1,51 @@ +# Automatic Absence Management + +## Description + +This prompt helps automate employee absence management. It notifies the relevant parties, updates the shared calendar, and handles additional tasks based on absence length and replacement requests. + +## Prompt +I want to create a flow to manage team absences automatically. The flow should start when an employee sends an email with the subject 'Absence' and specifies the start and end dates in the body of the email. The flow should perform the following actions: + +- Extract the start and end dates of the absence from the body of the email. +- Update a shared team calendar with an event titled 'Absence: [Employee Name]' and the corresponding dates. +- Send an email to the employee's direct supervisor notifying them of the absence. +- If the absence is longer than 3 days, notify the HR department. +- If the employee requested a replacement, automatically assign a task in Microsoft Planner to the designated substitute. +- Confirm to the employee via email that their absence has been processed." + +Flow Technical Details: + +Trigger: + +- When a new email is received in a specific folder (e.g., "Absences"). + +Actions: + +- Extract the start and end dates from the email using dynamic content expressions. +- Create an event in the shared team calendar using Microsoft Graph or the Office 365 Calendar connector. +- Send notifications via email and Teams messages based on the defined conditions. +- Create a task in Planner if a substitute is requested. + +[Open in Power Automate](https://make.powerautomate.com/create/fromNaturalLanguage?prompt=I%20want%20to%20create%20a%20flow%20to%20manage%20team%20absences%20automatically.%20The%20flow%20should%20start%20when%20an%20employee%20sends%20an%20email%20with%20the%20subject%20%27Absence%27%20and%20specifies%20the%20start%20and%20end%20dates%20in%20the%20body%20of%20the%20email.%20The%20flow%20should%20perform%20the%20following%20actions%3A%20-%20Extract%20the%20start%20and%20end%20dates%20of%20the%20absence%20from%20the%20body%20of%20the%20email.%20-%20Update%20a%20shared%20team%20calendar%20with%20an%20event%20titled%20%27Absence%3A%20%5BEmployee%20Name%5D%27%20and%20the%20corresponding%20dates.%20-%20Send%20an%20email%20to%20the%20employee%27s%20direct%20supervisor%20notifying%20them%20of%20the%20absence.%20-%20If%20the%20absence%20is%20longer%20than%203%20days%2C%20notify%20the%20HR%20department.%20-%20If%20the%20employee%20requested%20a%20replacement%2C%20automatically%20assign%20a%20task%20in%20Microsoft%20Planner%20to%20the%20designated%20substitute.%20-%20Confirm%20to%20the%20employee%20via%20email%20that%20their%20absence%20has%20been%20processed.&from=Copilot&utm_source=PromptLibrary) + +### Supported Language(s) + +[English](./en-us/prompt.md) + +## Authors + +Solution|Author(s) +--------|--------- +Automatic Absence Management | [Cristian Rodriguez](hhttps://github.com/script32) + +## Minimal Path to Awesome + +* Copy the prompt +* Paste prompt into the Power Automate Copilot + +## Disclaimer + +**THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.** + + diff --git a/prompts/power-automate/automatic-absence-management/assets/images/preview.png b/prompts/power-automate/automatic-absence-management/assets/images/preview.png new file mode 100644 index 0000000000000000000000000000000000000000..6a0206782ab60ee98c9b1ec7eaaaa9190eb00233 GIT binary patch literal 85315 zcmd432{@bG*Dvhp_>`)rgQ3RGTJt;)o#|L1wn`@QF!?>pD|uIudU68BE-JA3W5*53QK*8c6hxNmfe zn^TaJgM)+n&h49~92|#TI5_qL|2)Kg=i5c^2KK){Af~sjbCltQXW5klplgQLI5;Yj zxV9Y*vg=2DZd*Y(IF2>{{QIK~T=a;8V=w>C&1>etzy%7=Lvv#K-k$N%7)L`7uA-yX z-)eYC(0g8nh>TkAx6Z21m5X;dY_9FZd0rg6I4J!De57`@F#4gggU!cMN93ontNEYe z9PTyCc$mspINFw01xD%VpPI0C%(;24DQqz_z0<(O`^490kEVCrQIIUw2zJlqgaR`i z;yrvMmMz@B%MnOS#DRZTI5;l+8Ey4X?Y0~z`k&gXho@Zr_`7=M)8)>6f7h-)HA(x~ z=ilY=fjl{`e^=Ow(0Abbr*`7yXQ_W`7apLv(ChJ)$#4;sscGa)jUPaDgXo<)8+2<9 zATMtj-7!zo=|_$%kaI&-0Pk_8s-f`3%gC)u)M{Muu-iYqh-$vWNE0b^>yR|B2u>`p z%gF1*RU60*dZpNHpjC`jH}MDE&UygaKUym~JI(a@qJ8;Otz z^cMxs-J*qX~uGRL=+XH-<32-`lxPcw&by}0H9EI4>PC6 z1(UHXThTCqM?tz8O!=T~|75V6dc+Nn{eOFz$yR}!#|P>R0ts*9hpi(tn^AM8^(4sh z*WWIU6-g&`nq4CwN~YN6Odl(b2*X~IEhARExK|DB&<9Xv2ss!UM_m|F8KNKUK2~?r zY}&HOaZ}jtt*@GAFhv^yy$-`*?-(W-zU{`-97&uYmXnf)Z*=>mgn=B9WLRSfzWyPG zWG#;E=2~A)k+#;|lMsP0s@D!DJbBauMgkNcWz{Gtx$Q{fO)x5m zMVfD2#FV~QSi@a{jM982k~?R@^&M_r2{NsrEZWiQPtBBq!;0q)BH`%M#`SZ2h68WB z+RPh*aW!h>wCxu+R>kDimq@BVnkJT7xAvdsEODaS?@!B7bDC3(GZ5=N zlIgI@lDlX>^pE{v;a(i@lDol z1a@IZ`9Z;x7CWAH3D$~*MROGjhVsqo#@0mv@m!hxhX9AU66LFBA^G!FJ;L2ztPqII zMd2j->ZU*6>Cvab{e3o_*k!kc4<{%acc`bk!ZI&@{$SiwqSJ)liAlSDl%n3CuLSEg9cEC)(ixjiM8*Eti=z7g6FFDg+NqvS0}%k2 z3-Gx&aO@Q%P8s~^6jj-u5wX}MIN#|W{%P?c4>NMX3t}GbkeQQA*?HC46=48S6hBY{ z*^@AA>KVc}CxxAY|2-Ex-X+9F4_SyPXp2PXB>0GKqZ*1-sF6Z0!w&9UN|=FfRkONa^et7;rhP zxH!HGN_epscYxtk!dWKZO;zh_n}cKri0(i`aOeJZzpIh6^`AY-iU`Gn#E#FLzU_T$ zhcRyCny+r7$wqUZ-K?9O@+4er^K)d)J-!)6!*+uo?DeeW)bs`=1{{4~pLi&YPY6sZ z@;5D(5K>TfU|cVyR2dO;-5{c{rHl{7@gDt*A+j=fGgR9xbTLp|`^It5fVwyk)DlDp zRrW;mtTp6>u2fuvY53NuETHe8NSMP$?tA|j?^+R<6HSvwWZ4vNtyRG2JWq0bBb*Gz zzVa#KE^&+LXgRhk<@Lc>udi%0gL z0fC8L0H=ufcUk!*8zOS`$44-s$}yB%)wE=npsypnIs{8K(WY(iP{GRew{!5=itKh% zkBHKG9kX|E1)W<~RAEBc%Hm0(zLMcme6L+Ndb%s~eZxI?l*R;6*Z-OR%Ro^mxk#Vv zKy>vAZ4F7*Qe!2{7hFYKc$+sj6MlGrExL|HGErbmX#HNrL55S(TwruS)Z$61!DblS{!v5?1mG){_V2<4da9qLBRG8)Hhra4+ zcTab7%7A;a?C|$dRpMT7v0{@^*fx|lWK!6Q`OsRGua&wdJl`h9I7#M z$RmN*bix?L~ns;;jrk?@c%= z?ooz{lmyWoqGe-=^#63II-h@LdOpHip5W?_H;%Z0L-4=zxPj4gqZ%ami9+|P&|>R| zG3#P1Q~9u|ymQg_x+Cr8xRjBaFBIl*b$(qJT^$PO4q$|^L^pTB%$f1}AftlH)|WGk zbs7-N)J<$4D^vUMJ4Iw5k{HxAP#4jxJYM!u+v^|yAkZ#wp}P=S_63!jyw;c{}I_>U=|;z6kw7N z!za^Ux2l!i=Q2&aw?5eJ);?QgHgyi989y*X?CgDgW0`StTq~Iy+56_8Ga`8IRV&3j ze_heI)SQ0=(_Ou1z&kBGVp(Va8dKF#lV06L*}Wu|U=I$nn*FH31I6m-tIkQ%+#|P` zb0O9c!h`CiBJ){{MbTzl2#iR(->PHC!e8gzu+AjqnosRrO76^l2&r(k#oeBt=Ko4X z`7&^}$jI!x{H*TN5@YI6FIzc)o}L+?F`(#@8mn=}oeG$nX6tN;savonWyt!Zk<6Ru z!_4bcFH6{M>RAJ1R4Hxm{Q38&&(wDl7p_S-u%fE~&_jMu&maXcF8@UCzsoCyt!dH! zfNdYw{`Y8B{+;~4Z)JmG0qy@EfUm&+8KiwLj77s3532kl?wLROjMO}ZI3B`~?jzQZF4Gpye&B36xp4S@5N!^xEXtBFBt>FTxG0)cCFHxOYCKw{R+URbm zOkFE*-=zJHhh7c;_Q7v54=%ivPhP6($b6Y|UTH#@>bv2ZAi$TFyr7_?ay@+(f0mVb zOOxkUyYIz+KU91U!d?VrEqn*xK^nW@FV}ow=;}L$HXZMRQsAizG8uVZ^{^^0XqLjl z@75k?z5f-XeTXw5x#FKjTMMZ0+IzC&)t}||<==r{?gk*@?diE%+v7oSnxE`&Xmb6H zbGKwjjJ`w3V-`i*lKYx3QWLYwRt>w{(VK(AQ)9rK*-6NLa_u?$xBR3bR_!qDCIv;@ z`)VFERGjpzD*|Ihgoq!m@fwiF=m+q$Jt)fq1Td3}E~_$h0?X?4q%-aTW=g&-29+q}(sx4A1U2+&LF&QeQ zuYJi-S&V6N$!d4cm8l92fg0|K{6mHGk#y6JsAR+u|0lHEDS%m8XWz>uDPq-&gD{^CQ!iU>y~e9`x2!QGy@xCwEyRe{Bt=8zVrd1X+E-ADHbglRJBk^AR%@#^Uev!8%^TC3LFEHh$+-t11jtU(*v z&25z)D~Kt$RN8d0b+iF@EjcM8!RUU=q(@c%(c?J3Je97l3a$h2?Z3O36xKOCmnf!- zi0x9c34M6Y@XLLth&Gfs-$)6$afwvKwNP>(n8BT$vfi=s)4z7k{Pb2;ZRIGlMEybY z?BJ=>#PkWr-7c8QCAp4dtM^wi1nrM?#;JS;#brrbYlB~?C{-6x*6w$G^?_)w zJDTOu?Xxc#OTQX|NowCaIN2zN7f*q3nv2}@3^0Y@Ez7eOT*B@m(KJrs0j>kV<)#kjE?e48r-QJ4gW~CUbN`;y8 z$Vv|A1sa{RwXz-Ar0w zP7UZ79kdS+X7TVK9Zgdd7z0I)(~qWh*B=2?)~4}De2q<~Q-RJ2i!-#jSI20oNjipU zHaT%qy@am1FLp8y7eH+-vh5n%tdRr>MFJ$R(BJ!)h*$k)V#7N1kNJ+Mzw_DHE+2n> zK89y;Q?8{V8hqaUvSX0I4>jzAZKz1YLw{6^>CcgJ2ouPjth%xU#<{j};Z!Q@(f*DtR0 z!Gffh()T}Y%(#`r)OW0R_H-uICecJFBiu}LJohj0ZgU=y?A-EDL2R}Q+ZB6Kc!iH` zwB-w~-%PMMpuDLHe&9ew^>F89rWahUzYA|ZE89&((~TLUWiGXoh;pwVGwb4>CWEJ( zn`FC=c()xjYbdz#D!%v*6E%#SZ+zqB#BStFIyd0`=wQ*b<;dwWZQ1Ct2<4ax^}2R{ zVaiGof_caVJ3LqA;F0kT`2J~Hq$vhTv$HAFlDrq9h^#8=Ind<}C29==%Xcr~1SI-v ziZ?Gp?1#@}`<2N>ck%5k6qj#`gsq{w#ygx{M?i+U<0@Vc?1ijmBI+#yWQPKIxW!mj znD4`@U_3Ru{ONL*w9u(W;#*zSU%fwLwdU(kbB$*ZSj3gpL9Bf9G5KI*mlj#E`fk^- z58(*|2dkyu^JN8W5pe=r`j%-%D2G_JV&MZx@e!sMNOQ1N$eTs@ds5~OWtXE07m zUq*p<44+ZA$v5qjnV_ZKIUz1U<;RfGN(Dn{3A0jqe??GA(RZnO&u2Ff>FXB_v+Avd zYDmS5*M0zRh)Zl-@}!bO?rhs|N!*@It{*6}9h~uj*YI`o;Usu?yQ0D)n9CK|$$BGAx~4TYWBFb2QJPh|DN^<3RXOcj+ZQ!Ps*HH)9p<}H zp;y9S5?LjG@=CTPmjSFAjZcGB5rOyM);jgK0hpUR2P3^J5TcTh8hG(Qfi=-{EUyz) zMr3}B}Mkk>NncGs_6q~|;jt&5J=hf~+D`(f-y4Y?rpus&44Yq3c+Uo+H1l*B*QO=v%WQ-KOnfd+nzSI&wDpbgJk#D5R)%X=TcNmJeQHnVlPiB{hy8Tq zPjmVD*dX}Mwwm1pUf}WY+}g|~I%ZeRIWjBvH(XJR*eY*hUq+o|WAXPv+cuI_ThYy{ zOCH)y<3W}qUlxJrRBMGU}hZRDt|rtT`7+( zz?rFDr++82dq^|CzU#NDIClQ~#P zMV@5axaVI$^~%GA1!;G8cTR&0R4;)PWdCd~Y+b@W>_v^1ilL4s=xV(WY(P~Skj2d! zyLtt-&NC)GPpqmH>t-~%mqNV~Yt(d4&Vy%%G%LrL^7)$p%Z&UZ*@*r*=$;)>bBEq2 zr#ECubbpF?+SIXB-#Wdo6)MqDW2Bc-DO1(;_B&s(Sx&9cI_o^xw>vWFryo@R-ncML zxT5Brm6uZeV&=uPgMEq%cS^3*V}gf0JZraK*;)ho)Ey&kCOh@E3Z*AK?K`0ix97u# z!V1#Q%@OZWuG5Nn4@JNjX;(I~+EYyoQN504yds-^SRyn zz5Hd__vJK~%H|h`Vhl?#H-NA!YQnDmOZcL}qg>$;ujA^p#A~yHwS${u7o{xW@Oi&j z!NtxN2}*4y8Sl_+Tfe>G^HF}lc{)&C2Q~G1RI-=#FqNk< z@W~Vnm`=JNF$U;wT&hOfRWPr7@!Z?GOWX9yr)M3F9MjOkTW;tGj_azf#ExhWK}P5h z(9I^&WLEPsb1Zi`yXb4gi_KAGts1dV@4?+VR<+^+P6&)M+1AXm7}(I7o%2v~m?!v- z?jLvDd8y&J+o1OXV~_;3h(cLXVa9W|{+Mijmv1zl`syl=Q5{uAcM^QWYsf1$OHA}| zk|f?kFjFji2R^p+dTBpBoUYj+b!r30JCdC?|KcH|IbAI9m_|2fV_q=iln4)aM z9eTwEc^_&qV^DGp#~F3n-io2P_tpwj=papZWrpOfu`(lOlo{+YJ|)h#T?iL}jivK| z1_Cyx;B-pxxMBfsb@+qr*jvUUYt^^l>I0E7e`<+u2&7uIO*yc3J6{}3C992U) zYgO5<>A=>deRhSykNycqm3w{Bi5=G<9ap;rpO62mIy+~*b!2Z4b?xd8o!Bqd#%oy4 zcnbZbwT@5Ye%}TNZ$vmnn!oelfJkt5x^tbVWdlSQy!&k->{${0#FqN9n*BKI1a{}D zjMg!YO^ER1h~ART;5^M+T#Nrw)!6jrICWG@x7DLJVC<=5Qy`G~xhonUxj+q~0DpM6 z4D@blO4KZqE?pSyw%OR4l%C8&mMsaPWqZj-#u#_t@wKeeEfjI|G0lV7lZ}ZEO+w9n zi;No;Lj{CmIOESwtkEhKe+6oM{%B1z^wM?mvC=$x^~?IKKLd5I)0^>z2NZS7%RUB1 zQ5CGIe#b{>x4L;2ARC*D;R$(+j!f!ztl~T;D@3vT$j-}{rFz!zpxT`Jcm;Lk8BRAh zRngaHi~t z3P@(8Q9~yX>gdtz*=33Xk~QinjT+9<3lthFNd|hn)}23*K(Q8V0=>0fLrl9my9VR6 zx?tKWJufl%t16$LrGFZK3tvAN_P(xLk?G-S($T18r&wWOT#tkAV^(MKDqko98>BEw zB<2>5I|ncfxXL8uA{Q2{bRcDJc4=r4s@n=Rgl9KDj|63w?llX8Qs)Vg|zE{^t^jwm72|u{MJ7gi!K6Fd-2;16)LchZQGrTn0(z|vi1O&~T zltE}L<{`Ce&HW0v!p%Ofuq%4pOyq>GBjC$cMkmh2>$OAvbRB*i;-9k59*dN;F8}igCGY6*6(MqOIgG)X3zNmmj->E<1fEmstbUr`-7-o<<_|5kA z(xRJvsETg^siJ=>#2v0L%Hgboh`m(MMmt(UC|J0 zcNxD}N>ZS4k@#z@K;tmOldD90u=x&aZq2{kXPPl#D6H}UrjnJeqT~A)mOfy8 znUg>8dd3XGNK%!SXZdZcJEC`X18VGPn|eIW z!cAUvq3EpdMF(Rx?PTrVF3qnj;j*Oo>B`D1fpyrxUb!jk{=-PV(6)I{38=~DC_Or{ zqV9{R(e~8m_4V$vY}1_h7f#sM`Byd^*Zl!eo)r=jk8#C&IN%7CUD5O94yVxZYirN& z{lcnSwfJ4KPpP%)t!tBko$Ci;4svH9u_)*0Q2QzAW4dCH{3D-6 zi-A-LTjNwN!c=v<4AhWN@*;4?3>0cz5!%UUX>2>W7akqIi#@Vu^(U#2HAG-WG(cuL z?N9ISlA(8sKn@QF3Ex+=q+4d>g_f%4XR$M{iyU4?8JI{f=l?~ozfxDr#{wxWcH7hj zciij_vd<_(S*>ju&DpL!(iM?*AWKsOXPiCsRiA$^>7da(?K^U|AeX*t2K>Vh*vc;3Lb%i>)z>>BhSqui9em9@BZ%==Hjp><` zGC%HNjgTl!(zFdw)q=KW;ud zc+79MorX*nkL(rPFNi{68r5_&C(Qt;RlPn_P9tqJ%GwNtdglT@{c%ZMag9N!E4UK8 zM|t$7vyHty@i)o?S<2>PD#Qsl6gQxd zQFN0CQavN2dp&!Z-tF_5?SV6KIWPa>L#_~)8~<9+u37lKa-u?~ClXBJ#W z$}%DYu3l7)gj(f<8AQj=C7+7@hi`P$^pr~i#>2d^!Q?J`1>}(e01Mz_aQM^{$1+8B z2AqEAIU|PGx&aFi1eWO0>HUNo8aqF;%*Ai+Z00~TcYK=^n}Aa)c%Zr1gEjMoQj^)6 zAiIq04KM2`IyLNq%Ha zz+Zf@q<;4|NPU4*@R&-$?CZ4Hi(v8W8GY zE-BL<5L8>{Crw+$3th+0+f;dxRlIDK?LwNp7L)I4_dg{6TO%B|?-Ulwkt=Q?mk|A; znqTGz$pda}1IpIH9S3+{%K8)>fz<@#0zHvE2W&>%Db{7YnkThOGWnVpV=0n0WmA4xJ>iS9a%AZwbYXkT5#lRy`T z=z&pn8S{^EK1NScMs@9;JaHkL*9YGC@~V72{wec=v?UHsDrT>4!0e&;Iu~MZ!L;Ex z^FSA1H{l{;q}QEa?Fg7uyo&#}=v&VefSVW0r8+X{UM#N!i*9&X?g}=LHQiWOv2RTY{J+q~&_tmzhm>BR(-&~h zmk9x3;n}6D@IYW~5VL5y@q}SwaKt6#k48aS2ubGTgxQMp!J610sr0Rp{0LoP#lH=4 zDCq#N3v*^RA;J4e#SU}6D(4$Muo~%Y1NUMnZ4Nvg)Ejz#58O{1s@WkI0;qrw^Tjp# zfRQxRY)A9bk>RqMF;zsUcMe+&N9y|LrLLY%XT&J+ghWXVt<-GlWx5?#JPV;rFSuxp z$+OxG(hU0p(5y9L_pt}7}BtY{E%KP+urlkxI6b7b7< zx8{v#P|Hva{GLDMgDJq<>sUP%g%*uO1H)-)32$v|%%U&x8xh~M2@+4NY*iKgi*JEo z4yUhFVO%K)?k6Pqute{sPWa!v#K)(S-+x|sV5g|wM!S~gJ0wLBmMW$5583R8*xgd~o@1&mPumB)&6;IEWEU2<&Gl|KO5OFO z){$LNufet4)-E788v`WBR9(4c;gCMy8BhZrpc-&z@FPCjIV0VdB9;1ulpD1}*LDS~ zVUA17M-YR2ww6&f+LiZ77Z3z$G@)wL6GRuL!cWQtGWhCgU!4qU*>h_k^-y&hROro9jeC3uk~KK1TGkoY0yaG}S7RbTZ5g?nfC!O6U|xv2>&>-yRUR_UkvtgIw}e732OFS1Ivj#1|`a%07U zR)?CCj|=arG#5^!t4jEMfYQ8PKy)cc{^Gfm3V1g<+&s9No9&C=9Z|_;Y7q9FUzRJ@^t}Qc7@ctA~;-Xz+1o1<^n{9|x zREQANbSoCk$exrb9NJ`}ZPprubrs9J%mw z+$*uuD*ZJ^_$<5b12L(F?483E6JGRMQ_lmkGn$rPU>eJw_&sJmHjc=49 zmTYoYHN}yxj*XZ0&Q$4(%rO{PtGWw=Q6VhOWSzdE0q=P1w?|2WLJOEfm4!vY2JcUM z2Rl@7de(be=6MCU12t9UI#;3z)w|=f?QWIT>wd>4ZEBKH z5gWskG>SUvd<@-{SQLi-xwyT+N;Kq~PazQibg7AS>~OMrLw#AYQ@|Y%b^Om#aywvy z6b;j;w@pqW76n?yAFBo-$N>Fix8a~^*UT%I0;>>Ezza?k9?&~NM2ztl9tNALUucR5 zdjwUGWGpv>)KQ-OMZhk$vlhO^ZmfJdELKZcnQU9%Wi2Vn z|5MiIAL+y&&`rJn{@|;)zD#@Qi%lBl7Zmef^000|+~I=kM^nNY@JIQswz=b{7Z=Y8 zHijqidE4YU+Q=jA-<9^27ARi>7~V^!;<*u)A%Vs2h7iYO7~kQ_9O?&<`$kB59CoNWSuZP!$xhrcR4LM~pCb&dL#xS0U*IC4fHCtAcOg7O;~_98QkbR`NwK5GO!iGZYGprPJp-jJ6-c6kwxLj zOH_gV$-t%c7?H^qNYzw@+bC83GJfUo7pOKad$J;1-o761wc%}pk`6kw6f9JxH}9QU zLTn0xjk6r0f%NTs_Xq0N{L>B|ij6wVm=r@bEbYVYaPo>|IImsL1y> zV!Kq26Gm)dbY0LL)ni(%e2wPDYp$E+T?Oh%(}Wix3z=dyk0X>=^TNq20i7ngylL>j zz0N7e(ovll2Ik3E;ZJKv>>Y^irX2}VM-hkH?hAN+ zIewez5*gJ-J-gsGE(_Y&b{(J1dTuKd-tszWakp+M@4IK=_~QL9j%UZwVY!7JVeHnf zEkX}5RsV`*s9vZoc>M5@Xjty8j#%mMGD}}vRIk(PwT9`QHnTo zDEnIvt1f7@M()L;zG)qL*1hg`w<8*?GACai=8K2CY{QdUY&Ot!&yCc4H)c7fn#D?& zhv1IdXO{)`B2Hyw1oZhbn{{GhfuS|F)HtU_@CNJhn!xQgZLse%+3Ebk4s52#b5)T&-6HWk zkV8$i{>A8fKaQyg0n_ZJwLoaX?O)qRCM_dCjr7k8qX96jD{_x~f9)W}BrkqWtX7R4 zN{JOGpN;3L@&`p zp9_-o!p3wB4UIJvdGCXL<65J4?P_z~1mQ-&sQT<;^y`m)PvS3J`|{>WogsOJc#x#kq;v2$;a;+t7aQs#_zjr)EhnY<*0K5 z##)g-y)Rj5d&{lvlDom+IH|k$lxFuSACS&SZrc7S_6%5A?`dMutUM(I*Ryi^67uPs zEgPk@sFc1R&PW5@bkcg{m63qTZ=sGY&zk7{TETVHg zM?0igeKq2T@SftQuvW%bwW*zIuf<>`AJpLGQnLFRkRx+x@aBQWfJDwS~& z=FQdItFT%)lPBkXIp-H=QSR>J@e6khk}zmc?HQV&@qE?Ray9kRyAzM4(fr)mwjCaEV~yJg)!_=u}%Hg5`@ zyz;UeB>5nvq#k9f+ysUsepZh(Bua4e5?G(C)Z33W$_9?0R;8bi(70+7V$eEcBflXs z&1s3do*m3w1_Zp-UEWpeLuhBT2N3*h7Ms=r4Lgo0HE&|xA(rDjr$%e7yB0mzSkxyp zjZ5g$c)X$U(5C%n5nePUZOQrPxtgosquP>oC%so@i3Pf|>tl^=+Mqu^ylliN5G+uu zni51$PODUW@7Cdh=s1*}t;W51(abz8n;DNWQqkO$vqT2CfU}exT6qcOEj;FkE@Z5P^>(hGi!m3kS6H*EL!94ry~W~o+-ED0_v@5~ zS9$7~HJ1e1R<_|iC1U0+h)$8f^tJwo(k2*ZXxmXa9>U zcwmaIt?W+RXQ{{iy|I>{VL(%*ZFNDc$MgZf_Q$--9?sA}7@}seXG@O&SRNX0KPsJ_ zV_n(QkLYeYGnxL>5SbUQ%AK8Gy12k#j4fqLEjpiCpVH3M9H-1V^eZeKVde z3f|SA1^eZ!el{`@XOr$>RK5U39d#UFzwpt(boH6Kv1tx}~i!v?;!dWPH9c^f6kLAv07%&Q4(Kh+y@ zYD;vRh-0q(*waLHL}dL8QNCAcp56JLftnLr!ri|Sdkhd7T1Ov>=8@%i)5cB?cuBrD zZd26cTj&k#9|0@H$Y=xWU#lCTMF$HILSDvQIAu0Z;r^7(b_I!Njm=tH7X6YsBilN7 zi9G~Q9El*0Z0eGff3|bFo);7f9IZ{>( zHzL!j=;FG{n9yu`dq%y9p`qauH*FrF+)&=9N)A-kMyQnK^wV;!KaF`DNO-lLr z9klyJ7rI@WD5{N^w-6Fu*vW+@V?N(bvE7TM#4rKA!naPMIP9 zW^x}o)foG8Yv|#b$@5%~&9DDDba>lwnmkRhqn=qxXi!}p{Tg=uKV5`o6h=w?b9X_T zXAnvK|9RW*cQB*V^^!mKT~)~W#htw%zu5gVnaOVPqBkelq~R zjIeoob~9)GhnD!qMyAp(uf+cM9!!+!XAAe6P|X(Z7dz!YspEen+;E`Qe>JRs4s;tZ zeJ${ZD%QTV;jdq0A#kJo*o{QY|C-` z+!2xX!Ba*{wGZEl>Wbh-9$)*oXB(v-QE@Xez&Q$<{6$wBYVX?)eUZEEHd}o7!wVIa zOHjS`O0P*-l(7$+-u9}m&xoMyB5wQ|im8IY!XH>Km#-z1&%VY5j;jSqf3w&HzzG3n z_o`fC?P)5yJy=%Lhf)0(kna`6?R!l`jfYNbn?ICOH)Oly_o~|)+AgSV$1+$p8h6<+ zsr|cLTTWKhlN{S9`VHI}%D7t;eSdRH9qxk1K6=-yBD+`>ZXqM}s@<<=Q^J(qxo<#6 z1tVuHBD)&O*9ZKMc?eM;O6L+G4aYyH`qu2lz`fEZ7e~spv(l(FhdWxe8`Y@NqZR3G z0B-ytqz38qieQWwQe>Z6mDqGcvlLmsxCmKkz1QcVBL z_)@a+_~cltdLg4a_%nqaj0SuPXQ59(jc!cfbVMf_F$*3b>aA_tz#)tp$|`m0oL)oQ z0!v1Q`c7L#rt-2-*HPJRex_RFW0*r?bIbu1oNL#sW|!xa-VyUP&{a?crvpw4>;gwa@+G^VY=$(##OjNOYoc<4 z+~E7e3oM5r?y&WbrJv}P*GX3fJBAB|QVwP>bw)bnvBELpHS`z(RdPBwN%`xK>mByr z2?1krn{3x`^-1hlq+izT7?;c{@$FWLNgP`9ByzWiHeY0}hM!&x(-kkrcRcqmRqKwFdC=w2hsx>-IQA_squ|Q@GR`pjh+dTV4f_+zYK36WzWGHRShfuc zBG&)b`E%M%9CLJTk*eT0rUgVlpVCOD?>%Ngk7#voi`slQx$Qk9yEEk~^yOh(8jpGt z{pk&1-KkD4Spyx$dnMwJ#T1~=FiC^n>9+?-SS#&%;#_AFE7|s~%SW{BV9JWbDWRs2 z;Z5T^4~N3wE?DVYBiyYz%24X}np_fr(r7!sy&DL@H)_@7qrcaW%76>HHOVRm?K!TB zDg0bY@UNE#bq--S{bw5>`v_RE0MXckelgT7{Kj*g-HP$8jW)D@%S(x!V23B8Lsj}V z&2e>dR93Ry{R!nt+kbC~@lHu#uKwu_pAQEyaY*f6w-=Jxi)F#4}C>Wa}CmYs`mHmfkMy zLys<>12;JD$KL1BBXq1M?BFxYLLsAdawr;iz5~j^-=Ul?5W)Y_7g+v%-Yc;MF7nr0 z#p%X93Y}y=yDs!OuGE)w5~Y?dqS8=4J2ba2!LJ>cmN=S)0%d#j)XE;Rr!Lc4Cf8y5 zan-VovKmY0S&GLuPNVh4gLCbhJK_WEjDZv0e1G&*B`7S7}qP!N4I-&C6LI zlhjwh4Zui_t4naT-YJb+Yyz4D-pkB29sxWGTOyd}Y6Fc@nRv?%hz{B2^ODeqF2>ky7Vobq{1Q@o3(y)@tnH)+$$=KQrZH z6T&UheIN!LB-6AKB6UIE5cj!wLFqME>U1lgsP-adO3@moASi=lg2QfBXVxImOoqG)E8 z$4QRII*__W`Fh`|wb@m?TOK^J9pB!cUbDH{H1Yv)9y2c6{V?VfiQWZ__5v`S_4dKVY5V1WTkf!0*x6b3k zn>crxA0wEwlW#pK+Y^LQawXp&_)m|1C%w-cVS4vb_R{mQ8JQzZVDoQ9_H&DowluzX zc6)?e6G)9)TT;PnxaQAIQ8l;`fgP}@NuPL-#(j#T>s3R6&!bR1(KUflqGiKp5l+&n zf|0BU<1d1_M4Mof`JrsDH;rj|x~v_z9?2PCUOP*nI>7|%B3$#Gm%{hw=@3$~Z;j~px4c5*tV?U|NiWjUjv zsI`=_lA;`K57J$@B7b8|^r+JLw0)MHbUx-_ZW>j;A;vIt`^91yJO;uQ#s4xearnzJ=;e>L-=eso_=ye{U|G4`GzbxV0|r<@dyiS(qT_)-Ps-g zjk52KYbyEPjqdG zB~{#)XG^+7Z6kFCd7ebNwcJQO!nY?l)mNKZ0kFpDZQ-(G50|1p8D|q@=28y(pYuS9 zD2bJCTgIw~QR~nR9ltK2>lBLu9W2c={HMz8=o3L`ZIXw07hF3A{Vk0+&J)xill zT`mZpW%I=9z^0Sd5VR9(%o>u*qgkXMr)o>=dp#8vy$in_SGI)?Lg&3!_9TyCb- zIP0xJeC@2WT`G4S$Xr8k*A1d7lyz6j7!X-FG-3hL5Z?O51pO!S!Qli z9x9Xz9vVP5d;2g6(TXm=jHfyG3fT|k6zHi{A>N$ybS_0hvuxykVq;f(6ouJB`_>iC z7wfv00D{NGFfG|OrKwFg28LIkJ}YGQQ(&WTe0+aUxZm=QlSo_qu-E&5$>HMnHf58; z@K?V=ZHLAbLp_~&i&}?xx`x8AVqGi0s9R0b3_a9pZfkThriWYQT^+~vJE(d~;I{Zx zouBaIOLPv?<|`gEyD0l^$e??uRbC}HU*S<;rC;@%gTaYXpLTyNJZ4}zRjsTR_K+_{ z#CZ4Crpa2K(11v!>-GM=k*XqUbohX+5;-6u$d!+#m1iHcNPU>uhR;8!opJT`v$*qO`b_Rfi&alt{WcjZZ0Y6 ziXoXff9_B-xxjoesom==WRsg7DkCzhIOxl8QwzQpSb{WE3(D1UCC+S4M?>Lf4IGL( zO99{9oa{d(iEzDK*03gNEWuY0Anr}{EhfymIO5Q^mK9+QZq8;1?2rx2S_sn}&2kH? zkV(HDb8ji>lxIh}dVQ$8-$UZ5t~py?q$<1g+5e!L&uLiP+O+Tl4`6a-0>NTA(I=-_ zmLf}L+EJH3G-lX^))bZLvc{j?q!@QUpfkEs?B*$k+xPPDi}!qdUW$Tk20e&b6=1K- zkEsPxbBha9GSlN}l#KEcww1-~+8E>6zKf%~6M{0)Y`hPoZsBZX*9|5){JhE9lnEqc z^>8d$@v6Ge zUIX@KZ4_Ov7)Y)2_F)ibs7ocLGXky2DZXl$fGoA$@ksEb7IB7MY3jYGSK!;M5J>S3 zF@g9#(5efJIj_~5Ib&|T^lWlUQd=0_uG?MC^xo!6VAq^&U|%Zo7%sJ_69MOlZS($2 zCVdG@wOvC7gk+qX6-S6TOusKUzhpDOCzIY$3=VO45$BHSUT`2^AysZIU%*e(Z5nx* z=}`_>J%bWMRy`L}js`;XUrj1cPN#(lPPgz=`j#o^o)%>ftdV%i z%#Bt|Q!47|xm8{FJ`$>??m3yAi@sR-yEXva?H_n3WFGkb8~4LU6%`QeKi?rG}K(tR^e^5BP{N`huC=FeQh3ys6B@qt(P9Z|Wli zj=ErLP)2>PCgvEAMjg>pMi+FIMSDE9OpvL|w=VIJ?Zfl;OfS(=h*t6jG))zAO0Y-1 zpxd&6(1p%9v$|YGjP;nHIwmBboXmpz(wBnvsj+7Qs+DZR#m@uT)7rNT`Y`SD9((w7 zf9NjA7*AxN$F->QFuuMdp6m&XbnhM>mvX9v5GmfHOr3Gku)D4!*Thc(?cvcm36<@x zrV9cA?yMgAWV^L|t19cGuQ8`g+dG}oKy-mr9#8>bzv|@#!@XM(pFYT3*Bb46I}lw> zJ14%@#z35J7rM~(<`!AgIq)Nz&=WwoVr;A+Ji2F zBetcJlZDN>e#4JO#*+^K{Cu4j0E%4iZo}vS8G@G4XrEG>%xOwH)+J>MLle|I{Oy1NH6w$iehtfja=+yx8k6%b`Oae>R`EMMr7_ z(=9zogyO9y{{=8sPB#bbH`zGHV7R-S_un~=^#lnL<8RioRkOI)fH-t1V$F~ao-=NST=14Q>na0MA&Yg*W{{CMv|L;hAJJ5)8 zd%mHbOZj^DSC@J|Co3|d&`xvi4$Jq1@rbu)c{Xp;9Yh{}T^Pfrz=6>UUsKu{X5J^} zLap6yRCBLF8{SeY&aX58+ydy_>ku|j6%fwiaN;51h-POF^L@O(YZCtv@>2Y-*= ze+(i)(g67XiXKNl%LRJ&f=^r{_xS<6!Jk3g+KZAbfC}VGow~foM6@$zf{42SJ$`zh znLZf&%B4ZsB~YJL;M1IW(-*DOitesp-gCUuxfTCPN;BgM9#WKv6{xV$Eo$XO*1+DE ziNY$~dnz8($BSs{6O=HOjHQWI5$c#sh&r?^#7{5Q=0xknOXuFFvmLCkIBzS9n?YQ9 zVz@>A;X(=J>WH_^KD2Vw;{aKIb=5$v*_G3{C-zt3bVqQ&!SmOA!0+}c<82=c;pQbDl8sR%+jb81`;W^d3 zYbfjvL$uwc>SKzz$3^2>?_0R6!_!4F$p;<4b!(Hgk5#^~BCNo-Iej~2SzrLodJ&tY z_|>JJapHC3-5)Lr5JMnCNZb%Hd_9|@^Fm!rNO5h@&;N@!Vv%}v=!6TT+OKo#o+v(E z$gJQ(V5`iUe&yhe7&ClK0j$P$h|(+F_fkOEW)&B&Jaumb=}PnH!kEmU>v}8o2`9E( z@UOaJJ@~fNo81s+>5DmtEQgW&?l;!G^D{ldSe2r!#$%>Zh~kt!L(gteXn!!Yzv5I< z*)o~iE-W;Z?EdjqiLcUB^Ly`0FAB^mehL)`VZ9F+oJ2HFh$7PX1*^E47sp0UsK=;! z5W+p#1O3f&6j9h~p~!fJ<{fDy{hdpD zh>bN3=1MCl($fdvt*;qwX#J;s!a!d^9-RUb#2aJR8E$(w8Wk8hSxU|>-H zB$g;dYE|9t%p1H@@q;wHNy<_hWlk9QY(`41SWymqL4Ms>)tMD6Y;)DMkJ$Yv3x8Ip z->bB8tZ$P;Y)Rp?^mz{)r4RM`Cg~nLzpUiQY)Zm?&lEfB8j+>*=<(syhPR})-lF&7 zu=t6oE0UE2Jn{7^?6u`f7hI<*@pVaRp@E1<){~d>Q8@S_1a^*M(&H0n+#ld;#hTFX zT8z9*%UH4~){l&=qI+E{mX!6iA%5u|+^3H7TCQ7c-2$UgZNwgjxB++Cp|`h3KxgJ_ zNtlCGQ_1nXR26#lg_8Kn=-=N@w126FU9&333PwKI(oDwo74*aF*u?9X)sExmRg(vi zX9)q`US~9dB8=D=GNwrN-oPkHVavoQQBP1*v(f`=KIR>i6^fm%s)POPlpIH-+x|SR z9x?xZ(Iv1bDXreb#k}!BXarZwbPWPMcXF(k5ga9rln!D zcDnjMa8iK$&i1kdjwkqK!)fReGMzG-?~&y14aXT`7+kAdkaG3r0Wq&M6G$TuR&yu)$H7(@F%BRDIOh*Jg&2@M53R1Drwv7Vx9IL)gF)A zt3eej)VX~FuO{#|wWvE#@Yr8_uuF!K_C&o`s5nsJ}z#OFCx_!jfTVs3R_$&07>X)9g$QLmJCsMpDlIHd? z7Drfb`G0kC8c1>qH8Jg9-8Mg6UuKxva9%xx*>iY$A?1<>_T2*7Ypb+SFl$kpUs~Du zYLxfxRMO9r4~R#0G;7tJ?dzw$Bx^|GFh;VA1eGwljo(%f*gViV+AR=hW?{BnbszYBHm z9K(z0#3UUqCo9uR=2GeiVuC7fU9)ZhsnFxJTQd6u{Is}q zr`|oQw@w%FK*hH@yqu{W2|#7FB<>V#c}toPCazjlz7>@rd&==OO^UzHxn~0>@@&nU zv?|2Ak;6q$OrTO)&9FzmOI5Mz;$T`^)z4GasOuhJz@n+h?nTZ@F}h5E562DKe@IN@ z&ZPr-QDr+pydjfDYh%sPq^ZsImKp+1^+m3Pn63?($COYl}-K+mnC6_(>^WO#_ z!Px@%IIm6n12&?MYyLvI+_A0a%VzHBr5deP!0o{c-*j%pL^cVS%BRT4iRm*5nP zxqA<@`}70d&XFE4_9g4Af>{)HgWUjRr(d)H)D?U)zQ(^Mnqw+QqXDYYEnC(Hez`WR zG@$DK8c2VD?Qnrr6KabTSi$E|PqX|u(Itor|4aeXqlek|Dmt2aRFlbDdC7&^OMH|u zb;oeJAgQWL?}nhxl}v!bptGBEEkmCh721JqNp5~VK2s=mpn-uuN+f}X$GqiKNC0tb zc^AOr!6D`n%>F9j0G4A898NQM{t_^x7v?@Ul)l7rqI8goKJ19g;ciPm{I+}iqU%45 zN1)XV(pTFYdX}599d7z4m{@h)HgKAb(|YaAIh_|1=?yWxc7o!%QV6&u%-8ZQr`is)#mAm}6jsIA)}_;k}A$T16qx{kI{Q%aMVc zbB2#E(I5mUYQ+1eZxcD^V^GRreC!{?s6+B=A&-M$EG8}uvlDdXTjZ$=HrDqUvV4D| zYu5>mIjAUhLQQGDKMsZQuFPWZgKFfX#wyH_2mC{MSy@>a_(=894i1e^vZO>??o2aU zl8f;(=#$*sPi99!prhoG_YZ_sy|N=g*S{!0KTBwbSOIp@YbF(y3tJ0L)_*#(%$jxe zpfVY=Rt_wGZCgw0#QW0*JW(?uMyMi(W${vP#;}Pkx{Fq#ZkDbIO+c$WpyY6_haV_+ ziI;7o8$cY_SIlRetdHeEoZY4is%>+O8t6_zppJAt39VTz@-Pwy8E@h6SDt;~{@i!m z@YlZG_5#)~72D|Tep9N+I(maWSh$>R&7cJ?g$Zg~LmY1F} zZLH9{a)0`Cjh-BN`KTO@D4Xw3G6^t1y+L>@uD;j27r>!Ss+&I&Sd7&!y{Z_L8UW*& zj-1H9JxK&VFRHg&a^5B_)>VtufS+5f0?3o%sk8z*%r#cFq=!0R)q+kfc1GCfSsLfS zE=phJaJmS6QyL!8ra}`1^+-EIgwz7Uq@tad+jSDqXb_8_Vs6g09{C9TsR^Qysa?!~ zGqMFCSrBZOw>1^gj`S>_sW1U*>f!KYZrW;5ek#SaTSHD6d?-56TcE#rA@#6?!5Z{BxUy!Q3i=R}^RTY&bT*cgR{>7;Z`Keerh;oz1}i+QL#^T0ft zr2sRhre3q@j$-?AvddKn&ZK(gO3jo(^UK8%K1EFp-R6+DzuR9Q)6|ykJ#8E3jKhiz z${Sm}sgS)L-GiJHu5`@ua|P!bD3zER_NdgwUjS1y93uQ&li`Jiz4;NBFS~xKJxi)k zcEp?U=XoI!fndCuS}eX@P9%s1Juu*DevMsLp%xyoF(LT}#fq>~dKtDaEJBffjXXgbLg^x+T6dtH7WdGQnp6n#LgO9#@l)P3lyjEytsnxoDaIr5y*de|fEObP! zAwa|7p}cxj6@qV-sa6(H{NxEhzke^d8YSBGYs|{HN@S~#xI(I(p{U~hMb=z|BBbk< zA*$#~q*`Ic-b%a}ZQ$MU_Xp6P*y~DtGkvV6vv}?DbGm);1?a?HRvp@FweKULBX<%O zXxE;Wl@f1r)!RGEhDj>et<~}6S9VCbGQK1ajS`f(ordouyAJFvNC8sx=Oo}Mt=SsH zg!UWu5a+_>TKmB2is?q*LrK9|h`L4RaS!k1K1f>p3g(jtIHS!+Mv+ABLEXB>@5(GJR-?_w#MLd8VhzHM8IZVA+^MUXwQQCFqh|t4@tG9=RXmn#sg5# zlmUbp@T;2AkHAer)#Ogds{@^$za{c0|;rBz%uhf^`GQ5kE|F4#pDW=u&hSz5P9rb{kjI zm+Kl7B_-~^?62!dYj(J!DS7p!qWsI9J9(ZWZzR28xjY~fD!?%j?Vc*lX{x6hBb0$U z`OYs8*f!C2`g_5-J6}9{RcIlVLLAa0J#;l$-3r`%+1CPej-!tNX3c|wzU{V`)D$!g zw=L*7ep-2MF?(V1L~wO;B6^=-R(_wQ`>$9zsNU@<0&gUv)~KjRwWT#`wsoJ|P}|l$ zv$DPM3)}EEh@9liCg~`CYF&QNeEl3Q+>VwUgxDcVeJtpZ@_1DpARl*@mf1{P43o1%qBbOQ^%3eJ7zbg^J!! z(zwpfQ8G>swaBAhSssp06PnRx5slOu!n;%1W&SB0VG8JubOKvPC|Wc> zR-J!(3p;%-rdn-n&d9O<^^NmJMrIaNGb$%$csM&)ZXjgO%+VTOV`|*``0OE@S!=)S zadL6ElT08nOEp1LMq&Is?&4)ZG3@ahYKs!edZk1sa{juZiVp#PfoB>8G-zde~ zKApme&F}Ve4-$DmdoO(T@}FEU*({ywenvg%-#=!uoifFCA1YCYPWFvz`%iI6GW3Y^ zBk5{ASk^s@XrHMsrTjx4c<+1bp+AWC);G`*uX2;C|2a*&gT%%arw1>cf}m-?B3bS= zgVE{F*k3%6*umn{6yMy&PZEym#m8htVG1igoYwGaJy=oL2BHea%W~RwD-I@00~`7b znO)%TA49hoLi@)gQf_}fxn291bqoumM{O_ADqb^6%Xx83tGEP0&Z4`I1_&oz1Uv#z z+@K_NhWLPdGZeMyJIi(U;Y&eZj(Y&_^PAj9*Cs;F^|7XW=YnW&wG=f@yESWdV8CwO zw6p-dI(oxpG0L+LBsQ2?}6 zG5^+ob}6s#QMer9h1M9B!c{)eXv+#c%q%ko?JKS)9bjTs?A}=qg<5Vek?1{iAZ(_c zHta7qekq27esdpXCGb2uwed8iWr}bl(QtJ7)8#QqD!G#n$sqFi20w!>YNZr=r#eyf zLZ@OH6sR>=+rZjYYZRj++{a9?=34avdS~LV%3xa5mfu z1^~0ON$*OR1{YnfnhKz3K-$2jU-lTAQ2@{HKFk}}< zC?Z9Y#Qosx-s&cHFMm1%tcfIQ`u{v`eB;S0Ael5ZDxoc$5XYdN$-O?94Mv{OZw;wE zrTlcOOSD{P!=VB4E~HZawLN~8t*HKtX1CH_u!5Yc_IV$>>lHqBPL2d}^$>d73EhFn zYR4+PKjI>x$$cvf?VY)`p3`}CBIAG|W+;CfT04eql?1(a;|<~C?ZTR`t^oYqS>EQ{ zo9&+4U;wQ+<9s{7!@F-u>8^V?=t3==UJ{;36vo>23Tmhap#o`VnGX#^-jwMQyr?!v1v z13$KpJ9!K7) z%Y*WkHv}T8bw9lpFKB%-5foy04b%52km+C@CdenK16^voez~`#FCAYHf!cWuBPQg! zbt$_S2yc%FtA6l$x7V_NF7J!&6X~g>SK$(u94JHTS10&VXG`+B5ag_K$@*7#R6X$5xw_ zq_>d6PB1jd5vdIdJhb=J8RSC5`^*B2)3LJl2SywoUFKHKmQd%mu7?^hV4?I~f?zEh z$h*UdS!;`T_qbZ>e#vC~crB)+^FGnb*EXI})%3Yr*SQ06j8^OJi&?8rBn=9F3p*I%*RG+-XuOFl@Gn_YqJ_C{ z?Xa&)PAARcMTWwRRBGmDz26h*seZRt?5dibp0vUoWPlcSh;S_duJhpLjgT^RO8#R1 zw8N8Z`<5EVgw&X8_UiB50;}G9;Khi{j?P>#S}AMGN)Y}87ePHQa3JD{NkI)ZHkl%8 zsU(sYrI*-u#?>WCZ1YOXiz`kh*HQbftjHSg<+H@@j(E`O*MhZfZK$AJu-`lJ?sYvH zg+G4QXmCit5E#p+cIYw07k&EwxL0{iuJsL$&CvAmFw$7ta72x0aS(GvWHJIl5S|O=$YA8GO%dx8}fj3XUd)Or4hSk~BUu zS8((#`nr*M=y48vnj5x>{(K8)*ZqQZkG@L*c_vHF2Y@#6u44wSKd&eOP>t!M9IjYO zEs9mULu`?#_J@&AX6jKNMV)Cz+HHl0Cjke6Qj(^$3m9sD5~Y+*MR4jX0y)<&KjvIn zwawC+oWSMoct<)E$H@SH%g3JZ{ynFLBnnB?W;g71;2iRP=Hv4N=Zz$8X7$tQi(3ek zpT6DXr`Zp``1+@2$t}P@!A<)drV4CVA9K2b_bluPW6-6pFY$C(6%^M@Qp6F{<*Ew+ zEzd4}_0DwLM5Ey}yGG^0|S6 zJH)vuULS{)=f!1Ig{ArDSw71Hi7g*Lev$52j^#NI%_=GR4kQ0U5C>7=8z3^pPvR($ z?7Sil498E0GmqDNHlh#IUsj6QYajI94Mi9(ww-IH0_6;9N@H$&b1uVuxN^tL1=x|m z$wUWd$EHiEiO+XRy*ONZT%Dmzr>|RzBnM(UvrcySDIyzSJ|+vLcoZWZCK!PrV(M%Y zJ-sk>B!Pue(^4T<7#aCJt<>UszS<9>(gCfM<5>)h2;<8BMqOI$zdsb z)|2!crO^h4c;*IB@w1IP@i*7o^11^8?w6Imcs__01DgBpoq+WHq~g3!o6Xi4$xB z1cB#Ubhd7Mh!6;7a`4S}AdbN6TNb~ktGdVjzbW80eaEZ^!)3Gf3H-gv`a6Km5o6~G za(y2Vr6-HmvCX~je&jOr|I+l!dRy=Qnalu?esNJ@|Cl{@8xFSLboc7U#C}sUh5fI| zb~jYbDOu1#fpr8|XV(~x$aw*ct>;J; zkM-U>yZSv4|Nr{o=Ug=z&_Tt&woa=Q^gZJO%s87skm+}}#!E}hYf76zBRxNM*a@0A zqC$-S?=`L*Hkd}%+V_)X`(@%FaW`Yy=3jBYj#`1fha61hipy z)5a9GeM#8phlGvwE;{T|M~cq~t#{Zrs)xH{Y%}Kes+9aqZ)D;D)mD56AGAR)qZapN;ef zp(cQZXmGMD|D`xZp5UK?2NZ-4FlIml3q1et@wjAW^SZCRyXhe?mwfNL#2fY1HEsW> za9>g~`XQk@{;!8>5v-32fnIz~BXNckFiZLTi3t|Gx;}^8Z3+WK!rxY|7|8)Z`Z{b*;oJ}wAfg+H^pPt?TpDqn({OY+qdz_`^0y8)8v8>J?@#pg zH#zt`>b!wPb`@K42aAEpsbjyPzS8MG-5wZ-peA~1F}?JFihc%qHa&9U1z0S&a&RA~ z1Gt}*b<5 zq@Q@{V$fLO=GZ<($AHn>>YSPPosQ>y4*d8{M;vD_>(gJ+E9ZI5!(0G3V-O(*we*_0 zUBT_;@K$MZ6$;G$?3Aj>@>rTSV405T^-jmv44z)4*%V{(#*6qHQQPXO&!`hT?fuG} ziO6nW>)$ID*oVPjs8968*#c}|L+B}Yh6gbK-0qtm55APGOG=)YO`?Wclb<^?yML1O zHz{UO^3RqJ%pnnoQ(%9h1F3pn?BJ4~gS}ov8h!beHBI^6DxrUzrXl{X(jiV2fs6ia zKMY8D_0AR)o{my2Z@<7wcP0Q*C*|A5V?qknN-9FM!w!TYu z(*3ZSSu{h|^+NuF{^afcBb`8!)}G=Wd_xeY5m*@uSSDHU)#tisJa*QiYVi4|L< zmkw7?C0a9Hrxm(%7*SF)xY%me$NbB1Te5{h;`0WKPEJXBYr*@Jug*+!q1z_6G8>R# zigWXa=T^R}a^Tu)WmYtne-wH3kpesMFa-KSjy3-;wQaseUB1<}wA0%_**|YY5~RS+ zEQti*5oRaLJsS=*qmMDV^f1rS2Jt9s8T^7w-jQxu(uA4f;945ES79^qavkeHU0IeX z+xJW$(X5=l^!lh2@_?R%_Oa7Kcnt$HxH2ieyog@^G$3h3D6wV5@t*yKmN&E%3F%h!o#6s9lM?bu=q z**SfG`wIO^GyTRKP3aajzq#Dr0o^_H={Pq(i>#wrGi8WZ)^kuTX}h!{-kQQLh#K^2 za+FvsTC2dDiwGV;6dfPMY!h~tsB!GR;b2@WC*5O|{tNY~FI>W~dvy#TlPC9)mOW(# zZ|l86RpbxI0$BZD8^tNS5U)yCV|RLX(b``(ns*(7%1x|&syQO!&D5JI^R4mGb-$;z zJU>c*t3EL`Q+r`1~S1Cjbu0vmPE*joBwFk!vj1&)Sp-iIJ zR<0SQlwLU`AWyyMjcEJWJW8jpo&7sbkK5~s?u)I*wSi(j8&O=s>H>$kvg-v~$6{bV zge32DR$0@|R_=?=TZmj56)awLPui zvs53M#DrRuO;!Z&u~D$r4zhI|r^_Y47;QkFPRZKrSpl1ZTdJPIxhT?FWFd|RZjHSEa<>ZcD9W@z1FFGqy>vyWXt~w)-qQcI%l3`K`PWq3YO!Y_?@VP>ikQ7?@zXwD1lGRbXasB-zMF#HJ zS#>oyk4@Rp0*}hRh!vekvbj}OCEXc<{nW&hmIMzpCA)WVDfCSRBrDu3qTH&GIP-6h3OgOeiT1yNJO}_5V%Ed!gT#CDc{X>q zwa(7UUf6UyElutE>68?_3w81GF@Qm>r9QTMuDDYP?4(>`o!#o7G3bv2;4mHM=_`2v z%l=!m63oz;7E`H9$UFk{5_gHLtq7OS0*CJe?B$6lBfB7&F&!gx^gYDxL*MA{(F>7^caRd-!W~Ga0DBl~i%z_Uwe@SadUP`T*V?BzC z@X1VugsW&zrW86o6D~-xI}mo<&wCX2x-n4B2~YTvNTzLDF%nlb#QOx9}vnX=_1mjsP27W zt+C6@I#M=_sJ<=jUab+4AxyRP#$2hX-Iufyn<5JN^(I6smAL4F!>Cg%g^@_PAyzKR zx~D4g8pAfQ4|Ow)>buC}OkHfUny?bATALWC3d}ithhkP^RG}I8(x~L*7Fs1h8YjC- zE>G8YZl_m?p_H-94Z6)9sM0>ww$80R7uEYjc3TZoCly;$`|KF^nnCHZx6v-Q!B2QIDk|lWeZo+|p&zKF`d|FUXnj-B_ znlhwE;jvsT+qc_^?sZmuTNn9at~4pmp3Jn!U###UV`dvu8}SJY0sEeKF4A^UFfs7K z{nlne$jFIza5)0LN{-Buo*oj)s$u?8+MucZ*_~pqs79=xau15mz3Lyf-E9cJ{I9FK z8A`$igF*B!+Y0PmYfE2gj+W@_%+gZ~XiP728abx-%pFo9$e^6*R!V`Lr1HT4FME?LM zR{f@&EfnZy0_4r3-yoN2t8cNu4+5=l&voYaMhUBLxQ938 zgbQx|pXFff-2nAgO8?(j$b%~vYTVb7FQ_Y5kYyiIm5k)9flj#o=+A}KlywKP^rD>?7POrJ z<-bzQ9edpSPrJib->xtBgJFAxrJr!aSqmMrW+$1$+r9}d0en8&3)lmY=J^*aKi1EtmwApJc?8BCPY2P}{8$B1QGCps%@>(Lcxd&aL@isK zwiD=uckdkBm#7P^a-@{#^n#tlNK;O+KYyr2da%uxCqNqIoIOyem9^T!ndyo+`EdZGyYHKJJ48!B2~6DZS|ma4NYD3mel}KH$au)38~Wv5Byc2%*M8E25dw%C zyX^to=^G?j=3c^KFw3;1jXz2r@fKKT6HjTD)WL%mR^M%d=5U>}`|9sFpz`zgyHcZ@ zt)@=Uisg;<^z_n=-uoJ7aFU^P^fY}91p2i9@0rBOL8rtt1Fy!!v-Oh&Bj0?ZI0-^% zL4L*55hktQ)C_i=9?F(s-dZ$elA)~Y#AT!ryHS!_PLiD2ObAdL<3+`91+L`d&{u3- zeVin>^lGE%Ue2M4m-G&8ROU3HM(3ZX#68@@w7*h`IZp!wx~RN?C>t32Xv%kb`rp@d z1?a}x<#8u)UrW|eZ9KI3sQ~Wu4XJaM+^xCmTBfZWOvU-IH-A6tR)x?Irx3v1G!hB3 zt@Femh@*iwOSvN@YV%QD4x{J#^~{TZtOEMOH{FRgAM;u7U=XjyS`Ocj*$NyU$XgOQ z5*9t|Ps+?NN9T7@(X9~dbNE?z#nx^^0F*kl(xWQEq^@a-f zV`i6&r#;opj|tz`yw$#7Y=SJg9IJrMEuC|U6^eC!0PKL0{Kf>;E!_=kV!*fqQTD`q z$IC?)>L~;2t+5c>Dyd2Cz(zsY0{^(DF9R;Z82uHPlG8%;ll7cYeD_|o(GSz$_T`|q z<>UiyYHObgUV0Zto?dobvW{&@K(^26*4TF5c3Z=qcJ}j@ah9kA_I{Y{s5k0$T#5;C z(Dbz^&D8}5v{Bz$!#|I99_kTo4;b-_G`Sb&p7&(xISvI0KcB=hB?+ex$rdFgwWh_5 zM&;Zuf^drNooDCzQJ3OfZHkhnevPAAFi%=%o5=jU_t5fDeSa9CE?-k`^9}gv1xoAX-)%DV zob7Gyd0Freh!@x@lCLOe8y{$s74?Ui)-8iqDqAFM7ZR&)xni16X^j&~3hxKoB|`Ku zS3-V|<3k2XKU)Jx#NNt^_2vZ))a>m5z)+;zAm<_1Sz6=KJwq5=1zM^j0gP7urwd%) z2hO@``k)$AYPq(;tcX%uP@3M-)u6qan0gG3G_L}$)dsN#PG4lbTz%r}9g<2;2NyMA z{nWen{z`ZhnU5ITUD?~0*Xfcw!r|K@>w2P)haI~Mf--9={L}t;bTMP9yTKE^v3_xM&YY~nX70L|)9=3d}18mGR}uJqk*gO~4oVFg`1`72>g zl~l2Unk&vM zcC?hMdt&iZNzvxwW7Q^wmDN%vr7o7$vSp^1FSs7~d5_DspLyeV$O?QMmseO#C$@R- zPdq3f8}q46m0|`pN+&Wj6o@G+q$rFkVKF5}|M2J_s<+j!ZuNx_p6)( zQhy*&i0P${qslm(r<%?Ele@Q0ugRr$lRlXvAP5PB_6tsH-@R((+|F#up?+b|T1iGb z$7X)IVr`uo$}i!50Q3=R|3o69ad+fd-_F#arJ?o-zij_I3>U9u|3xuczs>Y$6~eXP zz~bs1jpDdCK}BWdg7R{c@H6#unB6gVWu&FAdU}?gH!v`{a^;P-DrY{=2s&n3*zvJ5 z{Zic<`8|8~EYU>+N9&5PJwa#lr41NdcU_;H`OV$h(vpNN{MtE%`*|o@v=^|$=FYMx z-o3|lxOn*5?wr6W;*=RD7-O3`Q|z-KulbZMpulZkd%M|dX_M;V%g&~+ld_%aLYPB0 zU*slA4J#pI-`GQe!$Dp~#c2qjR{F>cN5?c`YyaHQC|*@wF(mic6=W>J=7mysBTnhq zx@PQjj5}ZI^y0Qj66pTJ57O($PfjkT$$H=N3Lbg4slxY5+oObGj_Lx$XJc!db?Vh` zBEB-+L?Jg#nAfIv+Fu`rR$S3|_CU0Gs+#-kUL0py+n=70Jv-A|U~R0US?4+cm zK7UdM1s~cK{?^yct;jM4=<1)ufzAu*);bY14?OBN!wF}oTSLmGTk;nVrtlr24GeZ= z!Y1wE_?f23278Sd#(^KIZ``~oqVhPL|B&Brdv*)H)$jcL`DX0y`26g$Z0i?2wTBO` z>L2K4K&b@mR61GpInasV-vF|Q&Q@T^tid2Rl|+u&Z%1J6XprNsxfI--PXPMfY2BQa z5b{d9x8@zWnw|OiW~JMCr5D-T*lxgmG(0f}vCaUanSBUw_oJ+11mtMM>4=MVZYfZqv5SUlcgwHGBVwZSOn=CG8RA zH!CzRt|QTFv2!1eP!hI`H~?n`o%{W!;9WwQQCl@70a;}=E$fybu(_$GS!L|0f3#=Q zK8pC*Q-xv8rhOjTXrN6YaY+g7Xv8}DN{y_b3hDATb=zua{{4&kxFf0?c_Knha_ivoa+>%HV4G?R# z++)yR5ldeUwL|#y=4fLJ3_taYKpCS3KE0`RJ?PT|=~)dliDK0$jEE%|Wuss(hcy)u z30r{tpQ~VbF@JQ==DW}hCso*O60IRf$Wj(h&C_$H^+y$NFIKTUuoPv=deytE@>wyT z_28t}+JLZg4aaWBLE5RnsN~=9UX$@P7<~5ZTp&?FyTcAHVW(bm;!f>FZQVdYV`uUr`9fI$J#~P0n&6!qNxM?1=Q}S&f5O1wt@cXHJ*Ld?9`k@1zFGL;v`RGnoW0t=;M%#cs8?!o;F>#%qKIDGV9k! zqBhy~k%HpYZR3Fr6fm_}k5y5FThM;ReGj71UQNY)t(NNIVf-b4dVc3Uj*2?T(te2-> z+pwZnExf79K67i2s=etyE8dat;uTlW?HgKpSQ80lQQeXAiv;Hai=|~_?XDNr@ac4l zRW7hEhyEeUhGmhiBnSJMM(n5R2|_9bzbYoS*c82V$G1R}^}1sFsw95(oi+VUNM039 z_R4sn#8fduXeO@p*zSOUIPn04ch}&@A#HZ?i8S%C>Hm4LX=*kHuu`23>%exKJWug@ zsl_PK?r?(EY9^*=zHAnPtI=H}Mew22`IT7WE5HQ#6*w1k{Adq%z zWisZp-Za8E=F@Bdrog z5vZPM9rib-9y3jJBMZqpSpt`T=Wy+ZUN-GmRntQ^KRT?+fIwU<#}vK# zj?vrSXntzms}5<7W|nd5fjcAQ+-}FfifXV^RfojPGOG#Ntg8^$5pk2cHFdYA6;jo} zCLf73bkaPeW>2^fDL0Ez@Yd-;2zX4hcqNP8zjvC+hFo;%iGLmg*90&vfCES2ZCya4=n`6KgtmjhSM@FovcsSK8v|A21o3 zf1*MD&6`+Z#7#k+XI}%bwZfuB->BNhryCRluX^Ro-tfRcQalSREMua9JxA`mDqiiw z7_ili2{miG@W+V``P$BRyxPu(uy;dz=?Ax4GG2%HEag~zkffdzs7Tozj`9k-0_Pj%+R>MB;O0z=DMWn94MHV82#fDAi zLu;<`Baez{XGe@_-*{16wPrQ#UrC}LgHL1G!FtWXi-OEWr%!tjJWQJ9-`v=rw&95t z{_2nSl&QLkfbQz#uLl)kaxGjsS_;N%*Q8;NC-Y12Rc4r>q4qH^j`?LoGdc4#j+T=9 zW<5g7%P^i41TB~y+~r9c92~cO3)ly6+{)g{8=N5Xqg|mG*N%f&K%4VQOD}VA^S<5*S~>mO^V$&^WV3_j42^LHNN5ou>@Pe#U2U*=!~)T=iJnp{*^e*yUNg z(FkpN1q9J}&++8DX`$Ro0tGiU&WR#k-GBdBEi?seE~BQIzJ25DoZupu2McAsS#(Mc zi%H4c7f~jK$I$;=$=%)A!gVVvsMaQK?&M$LN-Yif^VsikZTjLEUTes)5Uq;(@#fV$ zG*Q|yvUYrzEF7n1`y?Bw`ua(Kr$9k5?rrWB%^j3j{LtE|&_Zyr7zejK5l@yDBO?0b z^S>ez9R-ZQrs1Gmvz_T(a8+#u~ayqo#ugqFug z*|FOpl4UpOf=sJi2AJ+a)0!rDX2Z+8SqOv@QunCUfe`(Wy1F{_x!8e|u%)D!u?9n~ zhslbb^MNS0$w)h)Q0gkIgUL@ z_ShO`l^dcmKL&3>6++J6{d*n+Rv8m-5yEZ4+;eL*#JBu4gQxIGCIcT7$+D-=CxcRL09IWr44Px>*|D!V(=DT#|gcKBp1r#GF zD6*tDH205MoL9&Q9IJf={h+b`OWCJ z>`_lUIHR8Sd74_xSSdWUvLn~xpO(>DZ?t3I?k8z+pC!sS9JDv^>_H6M(2R>!vVU8C z$u!pWcI-xFL;lcHu=5Nu6kMcra;&?aXSp!I7@Ig2% zbF{4lR>*BV>wB!nqLJ>_eT{SH^y*i=X@7ils(O~oBp;u_LYlAaiY1x<2!EuG4Qb?@ zjThb3%J0eV&iC4|mCK@yQ&yAa?5g$zVm)@< z-8^@THb;1vaWdi)bT365%M;x`Bk-x&JzZKF1PG@&FB_A%mtNn85F~-E+&DL#s z7j7)`SJZ9fKfm!>aO(Pz9SefB@;VNrm8P=Pt}WGQQ>U06h@9F>pgjXSI^6&_HiDz+dm?y zW_rgZL=me|-Br*0m~`%l`?7p9$|HcRp znvJTOTFF3M-O--ls@Mxipc-4DRaQ&E@ZFy6&)qAm%~q0l5c#L zVr64f{^MfjRZ*?^o|r6`1+3eQ>B!v2EDF%`-%kA60!2+lbW~Ivrk8(+uXM4g;|A6O z9i~S5dg)f5G(25uFXvX`;aVb| z#c8TExe+|_9psb=89^j$9c5SfbblV9)c@CaP< z5|!Z1i3Gc_w}SEJ_Pg{49I*9MKi7gAKTE6-l{R_*$Lxm+UREjcY=rc4mD=587Rq5SrvepwBsMKJV;ZJ$>9narOf>18=c6ES%UkCYz#)DebzETxOPTV{ z5DQzTa0<%Vum)mRlvl+)YUc)r#&$B^+srE?1m5XHjMHoYX|i8ks;Fh4IT2}M-2`Ew zBuZ&hdzoCy_P-xjz&9m&j7440j$MRoa;Q))_dAxe1%Zp(%JK8LyH-aw}f zb(A^r*HI{3oGv?bl@=F%;idmd$om_c_MSzFn&sO3Njy6I2!rUrS<1o@=Ih8HrMCGvT4 zf1w7(bBj!_WTK+ZK z@f1#EnLOM^|3%KN*dz*}RpjpF+Ra{B{Lw86v4rN>F`w64yYNloE2Fs0N!*Ku#P(#Q z&iQIR`w=A8M%|+6nDb1>08?g_?p9YAzH=z7ao&fdW2S43fKw7SCC}uI9l+n|w{ag- z9WIc=Xd>I-p@sZ!mLp11f>_z<*q)Rb z^>U`y6vGaMjSA0VZPbN?BI#y7(oT`bp_!?5vpRTeRA-Sh6nuQF4lSya3kh%w=eO2l z7;U0^?X?~h_%KX?qlUns^@Nr44xO_qXEx;Xguy-o$PW51NsQcEr-@fm6ebR3y=@GyGmBNoXQp^Wf11Ao4L3uL}~6X zb(UE)Ct|HH<*9nMjsnelaqUv=_ZIQ=U?3E zE5wR9RvPnQ>g>$!_-yYIxdM8@F3wQcpsH0#gFaS4zJe|0ykq0@2D;KBv*qWEGZ#)- zykvEZj7k~yIy*$9ZX&iXPq45#fj$V%<`&*l06vPJJ6tt7?L~O{l_{g|Sl5jS$T){X7gzt5vxrGBu-MTqR_c+^PtttOB&`NY$ zetV^YVWObP5Dg@8biwr)31@ARq6usonLKQHJbDrz* z8Y&c}jU@kP@GtnugD*rfBQsNqJh3+o!~bAjk|5x&5)-Lo7r#lwrGNSIC5QPn7$NWK zV#B)A0W>?Oh~S7+R8-7w^P#V_E2(xQNJbc&dBK9^LL|TDT3A>N#Zo|x@@^wKFq`NH zrNcQIqsdOcUcq|N%rVKihxJwW1@$GB+Cc3-u`;o72sSPRfI`^eAaLJy8rHAx_zs5s z`kbWoop6exHya*z>C|Op{6R9@)89Xv_n~Dx^R3jU*q(yAx;j>Nc2y~<@4MqrW_6ws zB#z$A2K#B&`9C(i6l-N-V~sM)HF%zUf&pUT7Pih3V>vSCBXJqZ24LQ@*AJk9SW&uQ zI9aO6v23Z>Sm&D9f6^}?XZhL#2^c;#oQ~g15n1HNjJ=%5jVFc{$8ZcIHTTWpKQpm8 z>R%|0M^4Lzf_WkrW=!0eEFGl^{iH*xUTko#Hwjy}cQaGrm321@zb<)1&{o z6fb0ARVn1jWsU#DdGlsBrv8~Uw9dy5hlT5cyxUKvX|UYQIopKC6Va}GjS{w<@*g-g zVt~-pqC7`dj0w;#VbF@<^}TG z&qf&{!oySK+D#g<0E)P=7O0}B83XEbxlEjb>HGd7&!BDRIbad@sSCtT;IBDwt6_>3 z4#?G5?O15|>s!5rpn+fz8hntUEUQ#pR;H19BbAkdr7wwbe*VD>9Q;Np*yk5mppHDC zOR7@ROAS{|`J>{%2SQ?aysHBf_SEjuIm=kcWRLmolQ%pCp8J&0KdQ8|Tx4~SmVEgB z+G{^QRh5f&@G!=fud7{k`v?WpF%zC=>LJi{|lFQPQk(s2qJ*kT39G6ti|#C z2N3IOP*~=_5MC_T6X;j$uB6|D9cEk+hiZ$SmkbC9pt|+MI{@~Hp3L{vR$^aL4Lavc z&8^_y+b2ZagkplmB4Us*v|)!hkG>fUk^R{>*yngIR| zFz4?QIZ{{Z%E~{%)rfDX$&gSyET+%%y-y>jCn4K8Dtvx^`2_5MMFgyWNl9kZ0JLJI0585duJoPl%Q)Zx3PP0@EC9vxD7;JjBOk_qO--Hvw<(8+)ZxQQ~wM*Ye1y zYRDo!+J8sI{WEv@+3x_JtH=<|*?cVS!L=WeE_V|b$E@Pch(j$|U7vv%bR__dp7>wV z#gQ`9J%znzuV}xY8(!oUXy7-*KN`TTjM!#bIhv5AWg{OsPH-Y|CBy(E|FVd)o!8J_ z1e}VggYuy68zrlp1P{29!=^?K<@YrwHK|aSodgfQOBVrQjFRVK?4eoMbvve0?!Ephl zfJ|I8D2TwEpODe$cUl#EeVfNX=vlO0LZ+Y1-OTHQ()li)))5>Y4p#E?*TF*znY*S= z44yyr`=OD9phG;AX0lua?-r&aQJWE6&8>A=VI{kg$eaxD!RCNVdOFq;+f#GY7RBR! zT%be%494v*L3!l&8MN^OzwB_TbGWlh#D|t&_8j#{mwTnQrGk=p%UwAEn-@$fs%A^5 z9`nZ<3W((UJoxx@vnjQ#4|cJMIyRz}vxnsJvmV#Qkl%)PR2Z3_AZ`-RwIbu^RaMo@ zHrtv_D@KM7oy)3rmR@pK4dcyE`#j^W%frTGF&Sj?^h*qY;noka>)MqvsR?d5BNubF zvPST0{L895km|%JksgRuMxPw;wjRx%4VI0Lfja)AkMtQ$x~{nW@L<2|oNJP}c1*6? zK6AF^#c+LUtf#6*)ZL;7GI}xjMP5SM3ROwl+ZFfpJHMz$TKvE`Jsnog7ZSE0er;(p zn{H`RDKhlU+m&6ir#;srP%1dEIYGwm{xpb5ih*yhL%ya^GKhT z+W>j%@LNao%RCY?k(}KRJ6^}?+9NNq=XY$|tD7%!FME&S*TACm9u@4~*m++Mj*x$? zgj4kgI8nTv5&I|u z;jY2HbHePIM?8nu_6^jEQlXA#+Kvu$tLX_J(siO|KDA6uatCV1?@?(eW!Q^w zKW4XONxbEScpjVJq?qxTi&?~2BU4_aqIYLFB%``i8bWxVHHJ_5%%rhZXN0~Fa~KLp zbsMjeR*mV&BA?3aM^qQt#){x%v|Qm4tgOryi%0`xO+rvYE@vG*I((VQqFzQw#k|s; z+hNSH;wO$ZbvYheR=SluJ$efoV;Ic^sH1{k@FkLiU8L;a1m)(9;Bf0^pD?2zv5-Gm zD1iU}iD!+GfX}7FjyC#Hu-&#>VeW2=A*H0CaEv82-P|7a1prpuK7ge=PYPSo1OQg~ zUjeKlz9N&`sA@V5!U zvDWowh~3<`goVa;=H=$4`Ce*_ps9z2crzeIubSQm4-m6{0<D)jlK*!s!?69rBUr=}ITge^rM!z$}@7T?mCefjH0hMq;Xw@qZ9PXy>CJeA)Q01woZC&s^oS zOR#PK1O1n&h=LeXd<~&~#IkEaz`}9R%7WOx=_!cL^l3pTm?DDeJFtB>(4pd;`JUfi!S_Aoyxc|Kjza8gWkb`j*WkQez^Iq zoouJPTC*)@FgLF4N*;C1Em;ZTnLZonXt|?uMO1Wu1b(V}Vq6W;uz`b69$RkPR zdTllZM^4KWc(;~4RhFzOR z$uhidleyAEe5fz=k6!1MH_}wwTh0e|$Zfl2BWyHMD)^_IMUW(HJ_ET`^LZoKyjf!+ zh#JL43xF))C(G%P^Qj8X2R=!gSGVz<=~1QK7seq^)zmj}s)Zw{ZLvzvYb*1|Xw`D` z>?@?YTQP6W%$-IHH4z`BOVGLd4s3Krd{6l(^(n90Wh>!KNgd;xFnV<3mZeg0wrU=8 zVEg;rf!uc9)>WS*-r7F(tyjhNvTJdSCC-BpZp#RJ04QlQv1~;O;9Ij@K`0rly^koh z01@X=h=_)A_kOTOg|FPijBOX|{SbF!wvb?YFNl8&x+j&i_Q#R$-PD)NQpufF^3GWE z__ki@-1**9Fu|Od^J9Xq&h3j!Lh476+ez^b>fBdn!;b_BTbp)G9+B$2PKG|NI(w5- z3bhCDH2z53`>7^nwK*{78Ptv40Ou43Ao7!tbPyc=5K|-eCZ5e|JLgJMBVr1Kq$R zf}&#m?L~?kKreo*X0Jq_R z;pc00Zv8c3=)1@JhNA3g)Z-YlXKD<}TPwI@E+g!pmnPtdlUH~g?lr=rTKxJ~x02k% zH7H$zC`3F%s|&ve4%H0qR5j(eIc^Owr!+Z!j$o1+vKA_hflud+aPMt%oD^yps;h+X zjPrl&pYX?8gXn79fC}W_NlU9;C0-_089(TcD4Kl55QqI|fKU5GBn}`HpmO*r1xgu6>* z<;3kA5)=8IG=g@4Ui4@leACxu98gWC(4Z5}bpuG18}{z>%EhiS9cYzpM!;1t5+J=k zWYGWsL?{h<-T)dy=JGD z)fR-yD~MnVrnRcRV{yp)rT9-`Dok5eS0mP9@$)TTrJ@%-jB+iN`f^-S-Le!mal_J@ zMWWD4#3TW-aX+mn>xcfl9$h{i;+AmzZva^NE$B?8d6u!fB_7~9aP7B(Q=^fWRR5N5 z*MZu&uqnoO;1X<|{($~~9@j1bskeUWzeO-z#(~vTrmrDwa&TN{OAn;2a6R-}TcHC) z&-<{KuqQRRL=1TwAng}f3l%ZY?hR=m4&;TfkijQ`oB$$CO?~LT#y1_|Tsl47Std`_ZY~OCtPBIE#jn2hlfG>;{Njm~F0f{3wx|Jo}Cl`{2vW zj#Jgq>=b3R~BJ3IT!W{=!+VW0wvCWN3|^N(2QoN&~p$b^%qQQBQ%=$6KxE% zWPSv-=Pwdw&>n@|XRkVS`)@HH{f9Eyw8|Ywlo9dH;FhB9ua-`U4?#0w@7h)zH2i)g=TB8)x)|vLGy37&Iuz2 zj=LJu)Ya_#8?J^;t=jt2Af#p@SO zzb*`AGzPG{sEk~*$yDV2cXB+x=yXoc$TwRC#T`hu;&^Qa^q^tz%=FsZ6(n{m_k2u8 z>{&dLm5P{IetCE;=NRn8^MimD4yvp|Yu#{AXOt`3?Rp66pLkXT_+$XUtkG~*09wEN zd6%&6#ThoB;qrYI0R7N78IL-FgDcLg+^zL64E5{T_(cErS6f)?RR8FnChq*582vn2f;ViHm^n@`4T{nkbdCccfsxw^ zSrIA$d^-mmD;oO-8KV{RWW;pFx=QDavXB=+em@i z1!|K~fYcl7e)b+~*=ip2-NLdy&y;7g;dk9_bzc^nXorAlR-VPVAKHQ6K4?5nc4=8b zJ2V@q8ljJpM5KYfx{L;V7f$&tu|bpyUTH&hpWuM&-5Y%WAXHe!lsc;?5@)z zOZ}V~{c;(hR{e|{O%^K3%E`uBI2#8YjHzSvS^ zFMydsk4r&$FInpxXIuBz>_pXG9DkB;e%F`Zh1g7-qAb>IZ*!X9#oOj>VwbrO(M0l0k&Y`55 z%*~6(v${f)EC|in#OZFX&T{*ePEX3rK__ZRBe*P`hbEh<Kcryz#j*Yzf-Fpf8iE2}{ z{XB*8Q2)v~Atv!Q7>DETP?<^YIg;KB!#N#ODrOGfPTfydb!>e)-#Zjfv;FN(0QGqH z%QxRu{Nmbtc&lgazpsyTQCZEt?EX>tQY78JH3t)@iw|DO?7Ce~Q+wW2-?kFc5P?84 z9qP4;65}A1N~!*;0VmL#fts8HkxO4!b^LjZ=TG2NYwSzw_zl*%)Q^U__C%`xnYVyD2$L8JlrSqh?pq1vn>0 z**^Q?ZV*dWF(E9sqEzd~)Nsl%ioI;J2zmX9+dDROhld=jeWKc(Zs7|BHalZuvh1ow zH#TTzSzl}G@k(JMb<_Q9`kb4z;Je1vdDb!MrzUBO$R{%=vNkHV;ZEm4gTDns+Xc4! z0XqPm?!}cW9f5gYj|>(WWU+FP4xSrEX@|9bYfolB#Bd^-1#$C|G6-2pt!>)L_d}MK z&K`2Di$fj_!btuY4LM^GY7k@AOvJ`{S-Mw7Ztg@OP|dk=g-8@Z$KKz{(FUJ8q7FFV z`|pEKE9LJ?$3&37&NKVT+J_GxqD1I-`zQ#rIC}-V-@>|mJ-=2daEQS^mE_*r#QIo0 zmuWogJ#uVDL^kZ1mA;+JnP>kAv@pR@*M zNQV{T9dMoZcF4@~k-SHT_EGKgk58Fis;bt@8v3J$H$~p}CD>%WqA7}mb*HCsw%~Hu z#&y859CG_c3Ij-{H$#890<@`$dvf0!aFwQ6xeQ{FH6AEP0{*wcgWdQ1EovueaH_h; zS)PD>!n{}sgwP1sh7ZrBgLCun7e+(5`%XI~13yD1$KbTF2J{kuV+ZDOKD&Sw{Em1#f2wPzLbr;@ODm2!vaXJK zKaCnTLzg~pYDa_v>g>@VLXE@RIdUjxHf&g!G? zNjK}KVl$BwmD1v{h-{IDX2MZjwW+VNH3zxtH~U=MnYMwjx?4UYnxJy4qEIMg z6LX4*D0u%El7Il;OQn@^VaP$I17(%2=3rZ&9)lLZ6#%Muj~plo8i0}j#hEHJ`RW~K zy&M@jyet!ITLPucox8VFOIHa7@wR_AR z0-4S-R~;YWo?AhEAmj7ZlBD{lfCL~}`yQLTB#>KA+fRBHdi7tk8fG`WAKQFgX-)nd zth(Ma8XCm|)d%EB7-v`(>2t1C+7SUe)h7dP=eYFA|LR)+@9HM&T@NtOV0iPEk-AT6 z{Uzub7j6ad%A?x{NV#nAgt^5y!P2<5tV&{p0)T7IaFtIla2qvhR(1VR5#0j08-5Wx~di6m9?mS zX?JG?S{+N&K;N>jvRWxX$#u@MS1EvGL}<{t8GIk!LwLBqzjm!5YwYc=pGr-hBeJ1) zbJeaVDgd+2C9u0D@b4XDoFny`w+@(oF?zoTscT57t=N|E@J{Druqtdm~J#F5I2=%Tynl`%xu${@CoPWk0sA4fu zu}j5|$hnx`MIEG@PtZm9=2dvaT6;~>J{)T`HK&};lF9#<{Wo>9lpa0L6W^vQC|8u2 zsd~Gdx8XSZMu&6QK-mfzFb_5q*ONHy(XwoQHXPb}Y4)A4J=&mEnAtOP4mY8l(AK8^ zPNKQDmX|iDV`#V5Em@@e9O!rkjIGu2ec7D1$m1Gyd{+D&{-cLsZZRVS5gXp}MwP9w z!Y+6D#)^7#kB448`B@R)O&^)-Vd@K|*SP8}5@RwcwV82|US9XtetURJO1u7I;k|_0 z-OE9bp22qtuZgCZH4xBDTP$XO*6XeBIi&a1?~Gu26Y{6)Mlj`sg85aUO1+MqSz^uQk`mguPM4&A4B3 zblJDa24`#h8umyl8%dGs%P?=tTh2-8deaMXG?^XO?JqsuprfYNWi%!=afk0YRrz65 zaS4*y<|8{|b*67I8mMG`Jqwj$P|+v0Cj-OrOuYh4$S4}Qsa|I)k@;<77ah@)#hKkL zki@C3s95j_v3q7SV@E|>yWoSDZjNiIUM8+)501iGCYO{r?m1`eR_oN&%~!*b>O0z2 zmP7ASi(35p%wo52AB(Vp^A4p`+Zg6Hq}K?Qsye^{IbQ1OGQr(T&mtT`>8^9tA@;6$lJU7Yh5rU%w5<75g2UuM>XJx?)%t` zeWs|GbH|n}4Igu>t&%{-MHHSWL2*S;sjogqtLz1-<>B*f(}Uzl1Rv>n)ZpExeRn1z z_wok=8OulbWt@Q)x!J!38<_hBGl|>PpX-WIZ|l)rCUm~K;PeTRUgLas*tx1~PDdAQ zU9%>9TQ^;3C?Rl!#dv3v`G|yFmCIhAUV0n3^M5Y13$$wcA`J!^K0@T~82iUXrgxbo zK8tx43U3-*qfWs@*``;nPxJ5zY_$qwEYMeltM5GgW8)5XO4v#`L(rA%Lfx9KrW(@hl1xQH&GrX$Z$bT^Jg27lAJiVdl z3s$d#RV7A(tvGuSGHQObjVd0lDsHVj5-eD14obwpw$U-;bE;7|ZJ)UClEH>6rO5t< z%hYw7bKTmve~gP-be!vQ=&8}o@)-^fq#q-3a%eQ#S*C0%!O!4`C_-De&2dD(b?wHs zK$xS}55mf5MAvOxY29XYsUcsBv%}cyib;J@&K-iRCt*p(p*B9rtYP$r(?^tH!tOl% zbkpQzo7gl$%QIvVf!?uit*vWuKV%S-$8MhWh5-+dz#&+B_HM=Xjg#>4yj@>6&&}}n zKYgzUUZ9a`)V-jcXAk-v0RiN_i05j(gB^nZ^<*6g67{UB-0TO4n3`JJhY#1(+7B;8 zNHWIIWI(VO;7!Ch-E6Xp9fP`V@yJW#FToaykjUcyx&lVKjGA?%6W*R`*fLD8)B?7^ zj+h4B4jaFv_U(W)4>p)&swou>U*&V9?RHf>;%&1i4rv(}e15T}-e-Y_g&!l;l8daB zM9l=1CF}Sf`ebwZG!PT~H(y5q3l6e{ADE3lU3h99Va^vFlNuwdG^MPYlMyJIR?~GH zwkOF*=2vIvw%B8$`y+ftBx^B#H+% zg|)R4E?2v>!Vy?Z`2ZsH@B=s<`NW11RtWz{W*+>iDJlfIZu0 zu^41Q_C9Nvnj^X|u%#t0I_GAIKDl-XKg7j+wES-3v)#l8 zck|r6YUJ$ohUQmGek(NJ*4IDE)kA5C2MVaw22#I&{71KO=xvaJrRTe->&G<#8gDlo zDw+bcnxo>3#-3l}FTlKQN>WjO7>+NMxzlG#H8YWEtv8H+KfC|pxRII~d10c;LnjQu z%TZDtSHUf^M=+#6Fk6h?3Jxd6B(?&dif5ztAsTDRUPvRZjK$Pa9R?EB-g>hF^O$}3w(7TG5mCIA+&HSRhGfmYW{oaWmxcXnFbV#8!7Nj zjZCtL!p=j5Zr+`+Rzkab6!0^ruBxAdE$|Y!EMqvJh6Kj*R3h173!)&%53b*hC>#!O z@7~Qh^r_(>-dggk5@K?Vm1G&oe&Z81{?m(4lCq86VV7$i;r@&IvxQOaZQa&V}P_;wY|k=O06cGiEGVQdHC=(YioR(X|2=f$5+I0e%9N|s??LAzhKh= zGZB%86#O;TCvxWVad;cm8+!sOa+olj6-3Y;_W$J!NRiA7x8hNEO!(HF7S%ff08aJu zUXxX-NK_2K*gc~?Qx%%?ddT@jK7_JGW~8M(;$^!u`@v3VoPT1ZTbXSV=PzyOhGBm6PR5bgriYksaC8^KRBX{plB1aurox&1G|{_-Y6w zE;QMl7L>~aQc>3;V#Q1#28ZESP%#Fb!dWeoPjKXK@5nlFyRQ%Z71*R*cZa?cP=d-7 zlx^KZ7d|u1GrW_<*yjC0v?ecRjjHB{NnyCtZD@Jk%V`Ce$sNgL8+U>1gE_b zS2g^L5&Y^}0CN~tccWV%_BQuMF!u9H=^ImfApU14O_jIjp*@gma7Y~So?tR=!TKvR z`D|f-hA{f|hd!k@4^16o!3Zn~OfD0Vg4n&8#nlm%wS?#!pTa&qc(oEK<_7kA>&V^d~j9UuSOX2-WB4 zI+DQr1>`elt*@oYSplOdGJ8%BhytUVf_Xa&jDrSdGbcH7@ z2f%{$)&X3Dhq)!t(=z-4l1Fd2mlDW)lcd0R!!P&AH?KZzzvH<)d_!xunZE?vYBP=3 zGLvvA(lVbkZ~O|hs8}VI;SYaq{otbFcM9GJeG?;bxFIx&)>A&>k&o*$x>G~{#SWo=3q1lVdrJP0a+$qgBm4(TAVx6s1LB%r_MS+L@LDf=SZR{QGzL=S` zPKnz;2w8(brAo*}CJ~xFR%bseJS}upm}BQvN>7=59FR{1s(~^;9V@+b$NjDgmZMU8 zs=KwFGAo`S*uVu>EVcR5YHDGXQg0)0cEsz`j?kbN-OR8Aw8Z1XH#USZ#;~Ij_q6$v z7LUOMjP#3Etb4bQ#(vk|O1eMxuFlxkEnw^0W9lQ2L*p01_xr4G*wT)TuQC3rvuxOv zf)tW3$qj6t0&vP!DQWeN_`pEO2LJOWv$Hdloo(rFyKVL=6kf~I*zH1&+e0^Ao14o` z!)s-T$?DG2K|h$bQd_Ty-jM>8-%h{2KR5@?(yG#bA;e|-2yw$sKG=Q7T$2X{9QjsH z!1^xwGU{uA1Zck!-+9T7OJ>AN<>bOV7#XzQRT8bUFhqTujw#cO7VuY3y!3N;p^U~q zMYpL-tccRj^=MNkLniTl+5lXQ8oncRjrwbD4wzG7He)%*_Rrq)cUrj2DB7Bjz!-w> zw_a(F-?PsVsWNzr)?MRbPZH7UVhuz$UP+(!^_TCK@QHXjxR`1^<}_E33S^92QP8)t zz4hu6f?+QJUF|Jq<|{?8ECf^KP)NlX&j|Lq^1Ba@pBJ_84V8MN@6MFBRE*Vqye4OR zBfdjeUbmDp?@i>ZS!%4`ZRWwI2m7|K^C}X8UIZ2skyCl3*5+ayemBcq^ttgWt_d`;azPt2k!*Cf|0IN-H2zlX8 z3)llKk(ijVn@AFs{dnrlw~_b%_fCGhGn zw-feO`%YJHLQF$)73%Y_>(r3i<`-W^^iyF zv!V6Z27+1o-w+VmDmH0rdk`az0s{Y|++^lU4nmrc`K$vkjNw+ZLJf;a-oncp11bXM z-mD6ELS&Jga8`{xl~R_dwV7Jk)wH-h)5=&wiCxaO3uD0kJP_4ux9|3*8SWh{O?c8| zsB0=xG7Pdu=7zYhm7U{H&l=TWM;bUq9 zV%DLMQ>1CdLxh)ObPQysK)d`&9i)9)@U)5Mg(|5;ZF2HT#VFfD%U&=MP?jNOw{^lj z-fU9;lyJm#DcU)DM}yW|pU#^K5tl78Ocz9^tLxYXL!=`RQ z+zvRQmPV&hV6OfNsl5^F#B1Jrg-wA;yVmBl;}_p1NBGwKA35jZ27lyPY35AvCd0q1 z0;l-q+X=VH`S7DTrC)jk_y~mP*orZb%9QH64j4SNrpz`PvQ=vXYuX5ynU^zdwU3(& z!h$)$F~1O?8kah$M(t416Omz*l1!qcIU0^4&i4Z*K}+54x!6ugoN+(ZURqC3$U2EmdizC|!t5Cbu+PdzXM1CAbue-|rW|Z;j`X$kV-C36>idVRYA#FIQO>%0co< z_3^h#4ne^Cwzu*Doa@b*Ln6~sFkWYRdgAdJ*!q>V#Hl~!;<`juOPT2f^+j-RoxXRl z$CVg+aTCdeS0>$FE0brXD=07twq>AIwt9brH8z0`bP`Gr!rWOaV|56K`on6k7wd$K zRxOQr61bJKc!I9YGU&Zims@}kR;-hl!^4_T(}rJe*|1h}+k;1eZD5oQs%8lpUzUbr z*_9mjAm*k$v3xHj{S57f$Z*7qo5QYM%hjw7i&vnbYFLPs*d1opZLizXsk94SF5n+A zkD?JacqRXIO|N&HRZA$ckx|sDX!~ne$r8Ie4XAfuJS#o?Ov4dbK5{C|;rXPqhfblZ z%A$5eMK6=g8na^MCc=HPY$QkIV+Dq;Hhq9T3M;pqsLT1>1ASIEp#mboS7Kz_2(I8$ zNl^VvhI~}1s<~ysp=V_zQ+}eb@l${zL=Gi*&?^{|rKSNXZ1d_0T@k5`*G#xVMU&@U z!me}1@OkvHAUV;GcEu+q!c3-fO7lub_=BkP+IcBot>s4()xOd_PA(trElujmU}L^P z{xMxa^cl@$$d}2EPfSvCo@ktm0bQxblRbH^AjN9-@|Gp3Fvl;;PIDVXs>E%-#+EFM zJg^2l0&h7NNN@A2pp#;*qGVvMqaSz@7GJ;3sknsE;^_<+haYPP1sX- zkZ<#6e@HX8R3H5w_KBz4S218q&H&Y|^uYKA@BKZ!6a16;D@}|khkmO6WPp-paS5BE$<2Rh8^%xSC|`KV9H`!=%M|Y_TjZ-pblq z&B7u(E~lkCGpPKrQRv45*Scd^;rqvbo{@z1#n+b1CVRLg)rx4qu_Q@@;$kxV-c`%@ zXr(lbE-!n6eFZV5v>dWQ2UyJb*jJh5WxxFF$#s@pmIK->O?437x2_7UajsvO<#Au>ESMiXAMC{2&tQC5!qS4&RzkQAlp)Tf6n^nlTL5>%j7PI- zz7WbAV0XA>GY?P&SA$x4vvjFOH~w}-Wz)jrFi~u2t6bvhzS9$22;l?cRiw_+LaY6s zDvwLcC42`(otrmuaV-3C1T1(KFf}eOyK}T392<81X}U_fF9BG`cRICHdZ`BXDe4zi z0O43-t41CNQwLH33s@{$n`wVFb1C9ApViB9rMUqUU2amKsp&bm)N!{(g?^tq4Gu%j zg&+m%biYsMK21r(mrwzPw?vJ71L>$A#7?xwQBhMt1)mKw@P?C@7;+y-YDI%VJYsc~)*zFx8+gBq^)ABnXE=&Bx*-+J@uy1LSU#s#J zvmp2rOjx@&u1Ptr`8R|2=|MT4uX9!xb{y0Y%qFOs^#94SK3o5Ho_pfgxruCtj=RtT z@CAWwd@<@?e{s`su}FZx0c!PH7bz%~yu9`mYg_tNR*COlvg7NfYV~jKU!{2Mr=p@W zhm`yNC=?WYfNcZT(>q@I|M2#mVNIr8w?RjlL4g?+R20F22ndKY=~xiy9fVL6q!S{& z7j+Z?0R`#3_f8TiA&LUhrAq=trI%2IBtS@V?%>S#&b(*N`+euS&UO4T*8s_rJI`~M zz1LoAZIlW2&EP?0o;|~3psWUHPQNLCL6CEt%-N5`b>yuUtq;Jcq2?k<+xCcd`ciwJ zFZqOh+FyZSpG#AJxF|1;Xp41VD<14@0lN8Kjr5~{7b^_=rb`pqBydvFi^RAej9T*u zvydHbYLfx0&0CCVzo-FNB7+I|QrtT!zDBM0^HQ zc@)U;LoJPUz)A>R{vxFb{`jLX$&eK(j}XTBgYGc?R(3@?wNUYV*k>t5)6xIfm(8ODEu>sxHzy&)_Mu8D`*YsVuiOwrBshLS$0Mlz%kKxRvr^gVbHy;WA z*G@d|6_7JvZ}}Q7Uy0N5WUAmnPO%Ocu1^QKAUeSUE85$G8}SG+@ecRv=PdR})Nw zK47Y?onEV|g!ang?%>{I3()MxN_Tn&@by9Led#kJjJs1)2^>GcvLDe?)nr8gk)YlZorW7-w3=GuDjv4aYxdio8l;L(FEgJbYncp z;KAVLjPUJ{fMT&hIKXYc?7sP4%glS8bSvL$aw_tXy#DFZ(c;{&KhE`3)fm8$)@l^a zQMFHZP<037vK}q1h6NH2?hpHZ@wh7!$0iF3t+w)MyQAz3!^%y#_P}VLk`8|YPhrcA z6&ps_zE*a(`UXF>=WaY{sSs3uIP&cD#h1srOdP*AF=kU&=f7K4KKQV5+c7BUd$cqQ zAD#uWWyXdN^Q$61Pw7kk-~#8jWo4*)i~*G#!uzpC_PE_2e4%UBja>Pxaxm~+-8HUX zj{z2;fKEKgf&<2v{@uadGzK#f0@-5+rOy7~`KUgaQ(U+iTl3M!+=uy#Jq)H`$xC3uLd3waUA8`b@jc2_u~-;k%ytx zWYYlbWIq&ZXkhzO9{|qA;omg>7{kYX1(SfD1UA^4Nc44<)oP|M`wu)FPx<9-JFpNn z5CLusjG6_n&z^AYPsibhcaSQ1!U5gO;WyUx#5h2p0fiPa+?oFJS`R=(Vz?7O`~;3P z7^~fPL*?wP5=ba!UG7K4%dKxRI?5k- z7ABV2!7l7n1b;}AGuk5yD`$LTlmtOYo28oSqajBcgN`=IeJ(1d8txCx1d>$WbYO(H zNATPnh{YEO&x)U{4JuyAFw5WbO~_wV9rph6@DDH1+l42CjT6(Q4K&jI?lMmhd1C$1 z!E=D>yKtJEY?MN)JxpWJ_d-|qs9fSd?p2)>A$E~0%PMY@qq}Pcnqz=_1*??<{$^@+ zM$5o|5;3SgCI@e5D;Kw;SZmQcEwFC18^WfRxhW}J!j0Zd+})wy;fuu_8^qSL`o8_1 zMiV6eLfU(jX^%}v9-mO!RPgK(m6f1d-b>)-E5|UzOo)?vQdDJ>)Jp7+8e_+hrC3AB zNqc##cBZ$e#~U~8jX#J~Rt!@@#y&abFMmhT-eA&y5#mWLB==_KHu6W0WF5gRIO!76 zAeU6hzc{(;JlvkXVq#zN?OSpK1>3Rm`FEV9kD{Yuvp&1I@l3^=^tB0lLFkYSm!Z?`u=FfX=Tcp26(v-gEz34oJb8Xxd=@q)|0t}|; z3C^yxY68J*k!-a?yo$=$Y86D00_ReoE~Nn;aB6dBXD3ikJvhV6*z134{kuN{aVKzV zY@t-bk9Nt2mLBytO%Dh-KVe}PK*N_cp;~L?p26r|4n$*!PW^r;a(;dTc+Uw*j``Z* zP1g{lE0bP?`%O#OIOtRw2wH1_HKqc!n@IF6NQ$o_bZKY=FC`2GgMmQ8L;=fLe(>nt zj=oPY3oA8C%I z;tOte3ddMlX*>rZTdx5#k#XJnh(9>bKPRHcVm5@*inYa%M0KfhWtjr85{(e9ePCGKa9R)`lQ+1;rwhAyE0MxnrJ$mf%P^mQf zGL8b?2zeaw2XXqRx6ub32SrZ#qO$Z140ym|Y2RIoHjTR=IrF;zJWOZxDrKF-a0<@y z+5QT=h1fX5P2bLeqpzG*`+Z}@9WAYi`h$>vS^Ri5{p5J**ub`xY~g5JEyLm3F64(F zTQ88N-PG9D7-r5Xs2dCb7hqp3e~`P_QMbxqB2plN8HiQ$p`PYmg?x2*uK ze>Z&atvyYjpWs~m2=(zvN=m~V2m?x$i*r5X$EKKP-qZJjMilUhQLP1dK z8_Ru)ie?btPh0&ffiE#C9l}WDz1!cl%-AX+51`q8t*UzA&kieCf@V?rYHDi6N9w?% zD?T)rS@xr=f!ltCztN;0$&Z}YXg1({`%1ut0ZLl|gShkl(<4VGaQY243`ZH)=svl& z5zyocAt5yK!#Qun5*Z`P@kjrkJ(X=QNSgb~-K2k8JQnvuO{`X&`kEMFM#o~FmSv3S8D$s6vbnrw$3#z##Zc~nfQ~W*CVaolndo1HTU~Bjdm~$ z+Ooj~yGQaS7!&Nsz5S4rdY{cJV=@`}SqR9_W)~yINZ0rnZ+BNk9?kue=Da-qeIM_6 z%^L}Mmp>g!THU`^Kh$Jj(K;LU8GRGaY5iaSzBNaRE8tfJq$tdxSs-JY4%cezb}|)r zUbhpmOuZJKwDq%fzql*dX2zJeWZ)!g}O`apbB9O9CL#NvRx@{k=bAzl^O9d}8UOs&V zY%dJ&8D3SsBLkU8_3GczHkXNQVt?JCe}bI`NY?HU@xSkI@q^#-@`;)C02ZeGzFYs& zG4<8sz`c4yoFU4;7gO0kWnz_+tc1U3me;`;R z89TXhCBr|4fo@N~RM1;^pANQVwQgvSYT7N$ag84}7|!{|zVnj)4}16fpSPZJeesWM z>IaRCd$`F0PEiJ^uN+;37kWzm{8r-#I2i0J8A+{@2MlmL_WhQcx2!NMO9&A69Lais zDIAY3#!ypNtYME17xHXI@xT zCZc3F>ik6yM6ufjIr}{WeX~GfdMkh;pj|%y(lf6~~T)+*GQJfS1hwe{} zF;MTA5R1sR$tqoP(40hhp!L6zuuT{wY(j{HM_&l$e^(LwZGHZ$+t_BcR%6}-IH7@X z>xvaV=*%8L+cVH`9T3wx@|NFmQBYGxO%-OVx6F(hclL8+idotaqbGgK_4*gLQyh(R zEgRojESOnY*<*|Xpq~9e18AH(A_S zrQcn>hI4?yv?%H2!Q;kdg^VQZpS* zQjZd%C_9(XRfX^b2E7`wf8b-}>Sz$VLN#Xm`;5EXK(uKCuJW#}l;QYD^vBh?f9F>7 z_V}3F&Mnq>Q_!o~3$hbz`GQNMc%*!58spI96|G|MQ6HADZN6e(%)7WM;0wlr{xBXe z3AT}@Gd$+m8WYpY#FSwzeNq;ZM_sXZi+Y@MA&7Fq#<8sJPpY(t{Wnhda2sB9VBmFp z(JbYk$kG?W5TZ5E#lMlI1Mu6cBF!GVpLLucZgQZv1`Z-Ve(oo=E!JVY zqA7E;XrQ$BZt*A1;04^R^R< zjAbwYsBcVV0)}UHjHQKa*}W+%Q!k)UK>d!g4)R_UPI>q}6EXkHv0)J}GJF%R-p=mE zO!mNp{1cn{rtH_W4%zZGAOE#Z#}p#YI;a~e=8UOrj$EDpaLB6%6KuJIPu`);B+fsR zQ5uYX_nvSsptWR+#J*|k@j_Z_kZgAiH%5+WSf*s}eu!No-S@<24i}{EPkbjp9{cW-T z_`&#-wMaLRyM1Ek2DF*?pz!0Z3IljoYc7{m9)|V5tZWl4VIz4Zxh`;;_-Y@c81N~e zh8jI8DGDF`EXw)^JG!0TkW%q-S^qN4 z3qC9K#if5hy>~4X14(d7-dUNE{>%c&_>-U+S-sq?W@}z`S zj61-DB20xTh6GU;24obf`6pvqa=92!U;Nd;A9{T<69H`Zfa>mnGSw2e7!=;06#z4f z4rbO}&WhYkSr4&~Wsu1R)FcU90y58fQRY-6qG4mz<$`UL3+R;V&J=F?2h&ui$Ry`e%P=!6b7~fb*gt z*gbe{-TlI2I!VL)2Ub{)F$Ph|1dzy8h9?r>O7l_-nzX7tF4QDWZ>W5_58nUJnxI?V{T)ZJqziYTv0&Ra++ z4;e;ac74$G_u~mYWwp11)Rkmc@e-shjNbjTjz~PL%IC*5=&cus2><;qc}a zeflQ>n=w2Tn^$vi5tws(*UUO3Eao`XD@AaYdL?a;RZu_*VTI6a0O`ka{v-JscO0)| zYZJ2+w7a>9>Rm{Cx{&g4j!nzoAv|GpsK~DMs)bJhxBTg^_L68Pq$TR>s~>h1R}qq6 z;9F{Y{G1d=3CI>3i0W19`0DkM0<%580&jjQ;7El4x7D8?XT;_uk8IG47hh2(2USoL z6PPKufG{u{4wX&XNUxcl1W`maK5|$TqG1sN{Of(&iGO zqq1Q{saPQ1Aa>8+p6$2Q*FO>fZ%~DTp3}els_D5}w(es+fT%zAC;K6f)-Fh18hD5l zRJ3_-DA`l8Wg3;yu%^({ELf(IVVc8N**!XjNiXN0^l57kRMnxnhg1ATFsvedpm64sJi;tYo^mm|AR?&G~HnoU*rW)?Jk@iA`d_GK|T33R3Wq)MG z(15?(y)-|>nRMCPvOdw44Xfwk+1-$oL-tUNc>!}DzDzX(D)7{5v{p!|urVFhR5$M$ zw0@T|F;VF}o3G=rna&RQwm6__gM9h*fyW9PBq-{`<$Hv1b?ABh$9~|~YrlEySJxR# z4dm%#&d-kbhnKVJ8)f8rJiF!a}yb9Mi8CF+& z^J|pc<~VCF`J#6J`K7MmrhqVR4eV}bd5U*-ZB+4wVfk||E`qWN7ry_!NitPy1OZxv zefq>3m6li9XH__Mv_xX2H@^fWRi!I zifGZI{DuN$(zNf>dPzyqNcS&CC1>7Iq4QZyPO)vmjoKV|e|^<-DxaiiTFx)Wdp~`H zNjWwJRac0&OWaS%IN^<;Z7)AS0UbaOee2b2C9h<=X6)A<1i1Te-`(%HyeAxFTKTys zA;}PB65(C#z@%JtAxCbrTJOEfU;C2NY)NMn zvm1;?VmO_KfLH=y*`Ph-Rwg%5K$x0!`)FIB@hZ%!lC=@pF#5Zl)*D0A)77VVEKzrVP}h6O^+kZw7P|Wvdy_xO>)WqS{Jk`0{e^} zc7%IQp?mbGt&a3o$JOW>7DhYCcL@x6M>nV^G6IrEwE!p|;cY$I5i*y0s!Ddqa{b#- z3TO*Xo&adR8T3230v#A5US3tDoEsxBn)EeyyoGy*af6xm$mYN~W)IEU*DBxeCODH( zws_1-%waY^Fssz7bSmz5N%~1$^MXhDRLQD5%uzR62GinWigvOYWDWRa{rvmLn>yQ= zW8qlf;tm3o_Rr-pJOMSd;7$AS;hItuRRs>;iKA6*>!|zEyWc2+n+Mr!*6x!68b;uo zg?DyQyJ)KgKK0jY2NdS)HiC8^)|cA$l#IPTToxWHi&WOZ#yS8>S7NqtfH!E?W z2dLYzKp2u0fcEO(fw+fm9336>iVoyaG7rHbwK0?>9^%|i6q0`%{=31ms3EcvT?_T% zWN_?YJ7y1`)oGg}YohiF_glu)$!R%Tzas}jGm?z-fP`=NgICW5Xpek#`NV_%0Q_=8 z`hA71whgl{uNy-szgxSld}r(q{)ZUi3Xq|1Y0IC5IluH)?NN~e;s%+deGpo!mXpGg z)wqsQ{lkJ_V&4W)qj2aM-Xza4lPiTRfW#f*4um2{(?a$;+;dEhUI=-8N+*QI7BthpDm%k9LEjO-U<2+D zL}+khd+75YmfTO_5)yoPeq2l3EaY^_(9wO6wWD*=BE&PV!Bn_EwE~lM{P;`5X7?e9 zsyxlFAK4IXHm+)(4f>wbEs>R@LvSnWu6<}nS=8kbuR~7b44)i^^DRR{@PicaRCL)% zvsp*#9p(em>FB-dztTRg@C7?Dl+~D^P#_mVF;J)qd_|IwiR-ZRs%dtgJLs++Q31oVjxJwdj#64S}!&2c~ zBcd%+6EvL2UA${N!5v+E(v_aiFEStwm$QJ2f;Lx^Qoz(Xa`Jp^dQke;%?T+rZZczK zoX!9TFr!QO9Tw2_LfCtdttz!Xt(tZz;S1KD7b-h#JfEJTC_0dsRi)$v7zeul)Pi@)xM7TU^ z(rot1CEd3M%5Su|k3x-ec`V)Jh+fPf8&9ObT#y|T>Omw=6k}>UxK%Jmo}A%={QS6u zRqjw-_M|+Uam1~-(qA8$Bipy}3nX-GePLEs6|X6a3tGuldbW*#b?x?Te`A4*0=4{q z4YwBq5bN43TDR>6nfiq^yuw{O7}qhf-${a8KHYh@*4jIbpm6M>o80a`c|{2V#EO=Tw#-JJ4mM-bhV+%Nx)$#|RIu%hSn|NS=MWT+feu{8D*jJE<9YIg&3HsF*3I4s_GqaaQzm7cVM?ZoT~Wd6Ii)zUcm* z0zJ0+hXS208xTX=7`M1dc#QM5IWtou4M&(U(y}9*pMbne#bVHO-jtU`6w{&ns)K< zs5OH^Cmxh9^!?a*1%UR}HSEVaM`8BrG@lc&(;ts7 z#gdJoyu)YaLPYKIFUN=g?Dk_?Mg!K8&e6YoUnx{sJVrz+oHCso$;2zy-Gndet%Ohi_8JoSV)ra~f2etz%%M=o z)@Gp+A>oEct`9QORIIU51zRneoF^GmE~#b~mv(b4N!23tcl0*sDf!^0hjS`PLLGM= zh9wMXiOpGQgL6&M@BUFCL&n~_+_AWu3W&M;F7PM(oII?4QLWL<k`m-W{aNA4 zFMe^aVc}zJka<4000Uk0#_FjJk)0T?W6i-sp%_HHPPwBf{##4SzQSXRyD>&%dxH98 zyVx3@z_sHXi3#-ps2N^<)jJmu0a^~S(DV~2;iKv)!@DkRlski@))%v3gFuhAMzwh>cdJtRFOIQ6aY63ZFM}u*~v@SkiC$_~T z1T}7wGcSO0uo5T-`z-O->eQUyZr>H2#1CSDyLiH$yLk2Xy0i^rrmFX8U$^K?t$X4%Wq6P}knP3n~OTn!!XT)P zGwz=~xH122La(;-oj35RTASn!xKL`-Xl>k0<7RX*I}h5nC1N>hgRdW9fKPjT@#ZT* z`OTd`zp`a09d7F3_P*lucQp$$!?%K1#RoJKM5$OZFs3+vKX?rNU^%;4j&u(pu`+~D zXJCG`ukB!&fq%Q<3?4jS3xnNsYP|i}R+%fvN}r^X@5qtVqndCM&fSzVbUJC}fc8pF zGkMF$PCE7Sug8ukAAgc3Saiv0;*NP8>{{CGg|43j^w|6T-!!o>sjnS8eI5GCM-_I| zxkTfyb&m^w-uKQdyY-&lIk9Rdvl8Djrbn#zq{b-A-M!0cb7Zll6`AY&|ftfx1GPNDZ~&@s!+b9#Cs)PTd%H?_6372gFu{0LL6S(j?+(hgfeF4;^3 zTe(xvOb~<+2imdXSpBN+bo10JO0?>V+?jv=!2~V?8H!twQQJLS6BP(I_ODlUTD@F? z(=P4u^D5L_Ro+FP`8Y=YEJywI!0aSQ&_M zz5DecZ>0lYdHDyYJMF9i_Eo%In{EvbkbpMMVyu@94C+#N83_v)zL);X(|1hVZVt75 zkSwXgtgI@d$yCzRelxcgpgZtBkB<*`o=MOG8h6F;A z)W=*#$kxR$xoa%eBzP=al8|KM^YGfo5#@@r%by?@J6WnovnPZ)+X@9T{OX%6{QJb1 zw+}|Jv8UA<@#8)77=1cFf4*~{Q(0?aWrc*kyODldL%!JGFX+Fy$75v zYONgalln%z7U84ZU+qgGIjqZJTdiH{w%+q=^(U1WN!7guNvYm`AvUw317XNpDrU}u zUuho5#V5z?n1+g`TQ1*raC&~IZe&YAw^!SAJU-k6&Ggnc$GXhfROq9z081^zNoyuz z3}cG=*k{Nd5dHMV^-<~tT5lv0M`=aC_i`cNce}&Bp&r*X@0Lwfe1fbt@qS#k=e;kT})ZG z>xJtCWAY7ex-$E^7{LQ{;>{oK(FqOHdghpOgNVAX(?8OJiWPcfB=%=ztN7xC5bVGI-<$I|(Z~#@h1M0{14-!#wU(cqP>BI~r%RtPy=bZ6aW1@u5@+4C zpMuScxIgJcV{jQ- zfUhCA3`ZLNATU{c2vT$(36fCouY?0Uq9T4Us7DqdUiO$ew2&g9l0(=|C}0J-)6<-> z5Az$->yO9tCSA;5A`BXFCH`Qah^!D>qU0tQ`vDRPxX7?$SrD;KbkMns`M<#?N9Fd2VFVbD$q;n2A%o z1y?*dMXJ3Ta|BXk)au6W*}b`&!BS|H8o`LW?zs$;$V`y#i;j(-ygP$?3G6ywGq?O*0!wlL*5&W)@mJ%@xoPaN#){$jpu;Bg_AMC zWvc98wk+ zH$Jp zZj1{yM;MBnk7h@0C1X8y^P!s`{ZuI~d96J4H)F=gUmuCbqgR~$TVfcSHzd^EQBLz_ zYQ5cou@$C;{ERosSFfqGr!M=(PGHI-QY+3~30<@fizjHEY#c}OHXtS7pH8&NNiq!~ z$3mP!t6B04Y@6E6eLvqI%9AyyHMP64d{Enq9qi{kn`7 zo(ZqSuqtGCnVBrqh?Wn3pE4UJeTCM2edUY*foOAM4E%QD4mWjOBw&0tt|w$>_Yz5d zw1PX*tnLcnR6#<+Q>b79yuFp5yO?#h*Wt7~CSZ9d+BggGt+?DS^|H4WQhj8FN10l^ z)JmH928*l-UW{BOlfH0z7*642O1``eRv*Lu}aM*=BkL6Opw8a?_<2(xmg$Hkzp z-(>z(l+XOlWVt%muJs1^6z7ERH{R@cjN{2BJ$Dcn`g9J^W$b^S#2l*FEtW_*=Y2{$7YMAgA zwe+;b&I05A)HrbMD(oSulMn$9T82)!&)k4oaG~$Jhha0JIY*;oOj1RHC%#=uSnBUv zy_;*qW0`MsywW5<2X!hustGgUU5CjUPgp|uKMgpO*kG^su~;re#!O@Kt1JFtSwfSA zEDhaW+7TrZOzrpI8AZx^Z?>Nr%!yfC5r)>y^hP+kLQA8TsL(KAOR%Hz$jBg zKDikO)yz$OpQcV>40Gvtj!})m%En#3LqqBFJJlzP#p4E)Cs!ArDNGKWNGT@!fm5Ye zcKowSsxSF$_4c;f;7|@<`CHs0uJ?2adqzOTEJdi4kI z@%Rtncx=H$efzuSB25NjSnv7m9gCR}Vt38UA+jHFmbtB7X&an<$z;4w}5i&tvF2krh1|Xw8)G9Oiq_Y?Okm17pzcfF3UH? zvA~I|2n4cZ7%@y19h&P6$V}lZ8&XN^9Uj$o8oUZEZ}@f)Mndr{+%4a3p&*C@woWi; zK2em*+Ie8RnwdSmw)>k@mda3fyof_1Y?aF$PDLi75)Os2QX_N|`-6)QC_=GKmS zEs(m7tH8GoEsKUGcZWTT5Ipvs>tWyO+EV65?uxew_f$aR*eKx8=2XtS6{U^DB%Eq? z9`&1PIvC_kJQqZl4(bnfe?oaFbPN$px-#q)e|5SGp(8uBHrTz0$Qd@dCpAWyf4S;aI<WMf+m*-MwR=F%X>_q6J{G| z9}>7|ZMhov#K(GHku4%PYV08Scn?QNAm}68(U0}+*TcTCtL}ABxC0$+wzQ&ua^8IQ zR7;j*?zehKcJ-Y% zD%1RB`V6M46;I?CiaVvR8ghMNEZd-sq&R!XZgs z+k+Od_dZh3)W&wBLV*NPe6QQk=XWot%+*m~_GqrGO$<`H{N@*;X!puDo8@ zJfj@+U4hwoY>70OGQ~DR_r(c$4u5|yfx0i7!O&dj23(}9?gxQw5x?7gDVJZujZWp> z(7Kr4oi!6|&2C*6;eCZ8okh|NmTKVXgqj!I?KyIOqg$LO_1pI2fGASq=uE{6B@4HA zI+|aITI1v-bqa`tbkR+eCO>U6xQt5%ZJI7$Iw!l~Pknrm_#kXE2D98xr+w9?&ZCm& zd!p#18@F}PuMzOWU@)PAjJ}@43*6|FPmK{hY-h$;#xhl3nG<`m93uJ8Oi8*qij?}#F#>|3}qG1 z5q>Qd#8#ezD%clZjWX^X^R@kv(YfK5#SXggt%O>s$X)9c#P;uHb^l>i{x^&EfAr@@ zPBdwJNw|r$>~(?=oG{t@dN%$)?F4_lXgt7cF3HI#&$vZ9b&;Q@pPU^C304a;U$0|p z{O(9yOIGAw{MO=y85)2h7d+^@HBySH{ioQIO9|+e<5fXQyK{`x=LG)2D&1tZ_@SLR zq-cMC$0=B&YFS2-&>f4DLfs8`T@uu(&MxdVNPKZmw%-Nn1&!r+6I(~Cd+M7!6|2RR z+{^0r{xkeFuvz!JtVh44Pdw_RtI^hOmswN~j&vO26c1YzM0pG+tP0_L2;IkqWOQ}! zU&?<^f`7`c;10f*Yl+HIqgS3U4M2J?Zt$PZ(V#nITZ&b_3t^xxq3e6$a<3$S72*s7 z>^*I9eaX0#oZM(A{Er*z%e-d;MQk$91 zayhe42tX`pdl1VxB?Io3jZ=S~7p}V{Hi2;IMi?-JX-?RW*@7yibVsi?<=SRUP7auR zKjc?jiHl%^NWLKjj%J;q8NutY-Vzg;3O4}r)XBl&VWx@O^rg?umd7pJGlS;_Z)(@y z9<6X$ALF#3ub)B?B?}ijh1f?GnlU7cQ$*Hs;rfX)TOH-H)Pg9tkOkloP$0RIC?E56 zPS+obSXjnDbMqAsVMndXG*;nc(@4dKL`m71VMT6}#ubbw+N|QVAI1iU>jN?TThFmN z$2d;m;JDd(>esfmwtjLLf5($Km*LLT=ochR;nX_ho~)OT55@9Di%Wdf;LkWBUn!9% zw?Cq`Sy$r~=ZQ>qku2A6Rgh$TFh#R@WWaKbr%6rJ&YDFwh1_X@_u zqSi^`_Wr>&V^dM1q~SPr*P(&ZuE(8L^iYr%C(LLiPC7c!l|v~eh<$vJpmhb!BAwE zm#TAylrzo=FSf4%eF%ugk!IfKDo%kQ>f%dIE9)TQ5n-do<=^{+g(|}jCsKhv)f+F;3<~#q*m}=_~eF>&f5@ z{w;rAjLyszAp_;tSEpV_hrnuilFdlhzKW@Gq*wTo5f%il5^pYRIllGZ zn>?a=6D%qvX}b=@rA~xDf%=u^Z6zvo34O6V{h*BhWwN|T-MP{zs~SCxzL-Prbtbu1 z=ByRAD-g2z-|D)MImpd*9Za4@;qQYi7>|6#wWiEQKO0ZV^K$>FHjP6A!m=}gLi&m0 zeeopl5Xs9FAN9t7$zMh@z}}&3l)Ox(cgo9d9fWwDL!bwxo*?<^qIle{+VoQsJMwdu zs?SLk-uH3#WG%8oev?a#NlizdKnM*EW{>0^-vanMCI{ErH@DIG;HvE0ckPK_m2Ixh zWX=qHXh3k76+Ml|Yl@Lh%shMc>~+`7X6|V~mdm+Ve$}!meG7Fy?um?oDevZODN}GrZENjxOTl!Rxvub7179?7$FV!Fd z+oc{TcwFuPKnRju#LA;B`>I{DkJ+zA{lQt?1Dk8Z<)Tvq1_+H&q`#vKyy^y+zVZU~5e^&GdprduG%t0r&SDeKS^BniBS}nV4r(!D9>)o(g z%F(mq;q5%NP?Mv-@H3=?3i)cE+14Jq2}L zEQtNFH>D@G= zGZo)4_k)YF-rmPUj=hAzO@gh4Fngf$AXc67Wd;`P?e9$U9 zhxZlyul6DhcCAu!>7G8u*cn=ozj>X!V9Pe{(_-#e*VQ@N1VIwJ5X|XsQ8x;!bG8T9 zZI1-W>$p_K_iL(%=_YXoAD~D(pRyQ-pz|2ct~bsyWhv?=r9*_)h==c>_p8j5pL52@ zEGMcS>nIfvW#f=c5*3WA4XMrXCUFj@3*0VE^?1TJT9iMmSsOpFpR`J#r4v#PT58dGtm3E}5S{^9~yXQD%nnK(cBV4(@#H-&JEo)`t6qIu$|nO1&@n6rmKSNbyXn zXlDv_dg)&uhRQXpd0b{uI~3tp6ePeg{Q0H3mXoFiYelt?u0>g>;@wLP2@yJateQ2N zI$@LR&kiW=4;|~P=zskKsqdXhZ=mkQXjOC45)yglB88KaXB2jLa9*FrA4h-26Mko) zyh*<;JUb{UA+->H$TELFTT&%p<~Ry`QuHPDA--20FRiaPjf#po=EOAgdS%5GAE}ol zeEmA-BOG4$355z*!4_>R7KEjXja$Y%&Gz*wQ@JN->o2z%J!+72Kvz!vP_6Tb*W!qm z>Wl3*amtf>vU7y(r*qemx*T~Eje;Lu>72MFVdB(~X~j32Y#;3TmlCFx#fIM5AxWW# z-ehrAEiI4S9G6S6#+>T>l=acfS|cG>+1QrLp(zqIS8x_?L%D1!2gU*eEjs6=Z*27_ zUr4xxI+XM5S?pt2$-MV5mtz54NX7it(IVa@%gB7Z&p9_)>w^DP-j)9~m2CO+^QqmS zV5=Z|L`D!%Kw8+U@MwUn*@NR-SGoN{H{(zbD!_DX3k?s&h}Bs_!{<&?o&_>4Jj)lLmlZWZPN?FlS!--kATzWemyN4M)A?TDo?%b=l`x( z(or!!0%>CB=1w3~lkSr|bv(@I1K?&HTBEu2M{hMZ_(6#qdhEE9{mkyNgdeDn2U=ec zGMjwis}iV02{%&!TOStOQ#CZ+%3Km0|qc3mN z95!1Kj04_vlxU%WSa6s&&TYt%h{{(Iw07uHjX#rRFX;$zP2gh*lN+2vO>kD~0s}uw>FKTCQi%Q`e-9^G4d^(~U{}wV zU7*!t01~59*frr%zPU%l&OzDbxPcTQg(Ulj02=D(Ku)=b0&u3xO@CwXlIGrJB=U|= zS90Pyu>94YX>Z#c$pp)Oedud5D?q1nFR1uucXwMiJ(W(damenV?1s^jK6sp!N!0#p z=1v~y*X~z*BvXF>|5{bDu&Sgq1Tt8%(i^#kngmpaMyjts<)^qdK079O1I^S0_%fiw zQ1)&$A8UF?&xi9zfISpbj&|0?XZ;@45uQpm_+6lLe_Rnj%6Glmo~wbdH=&171d#WA z$A&vT&GDfbyFi*wuOI((7v>O}9Yqf@3}kZNMYJn%<&*#QO?hp0)h2+tmL-kc2jTS>-2MX|PNY!Kx4;CO1wJj(iFL22`Xm6V-f9i00X9?c%ltG{v0LahJ zj|-Uk(BGJ>$kGjMFW@Rb4B6_OcBF1aK%W_Q-L3BE%C zxjtWSeStV@(0Du8E3g6Tb1gwW)>+y48u`!JMdhMe6&00a2p}+?U4pq=K$$XSIT4Vs zvt!UUG06$keZYt5`4vP+%s4OX`c76qfJqZOz_BRMm1Zv?{mNZ^-F-reOLG(EXTxoS z(`c!er1bz=-#4B84#+nnB+Wr(cghP!6d@rIrkDf*bxHD#wafe{yWzV4rmR)>WvtTHw&t^8 z%75(u`nB1wML<^fFei^6KUYo?6Qc~rk&gK|T%7BbNDm6_KUvu?GWyX}4lq3wRk&x) zTeFdWH0lR^D_9KmazIq-URx_*b9IQ z#*3;E!H^c0X>N?}E%H`)yl};KM8}isAHvxv)W}`fyHgTm^&D)tMI2k1N}i}<-AFF9 zQVc?d)n+4ziBrW(;&fh`QTGpv9?QB!qU@fPBnp;^m-^*$s!bm;Mu7sIx?=_{& z(tGz3{K%|}5j?!*W^5W1)8uGy{<<__exoZRA;tsFM3ZkCUYO?@FCU*&gbj0_Xh@6q z*OPn0J8s7gtwzjPwwYE}EZJa;y*@W01X>pc&Amwa}x1-U6-MTzC&lU zvj%Pm%|4)X3wdsR6kh+43Lrtg_VWRq)jT!l^yMJP9H*0xtQdm#u7^jb<-LC$_~yU2 z)_wiOsm>a6#0HX;f23%6DGh3J!WSG@GS0^hCq1@~{m>NnJEL9p`trKM#vyKaMFu$p z-~07ts3c#eu4!j)y%`OrL1l;=;lqdsRo}7a@^{DzX-80M$yTXfzhgN;7Y*k2?(t7? znQo0H#zO4qMFQutFP55604+NijD%6}fKbhy(?F>XW9eI>|%zM@VqjNKp zJE(D)GGAol1nhfqyfSF4B>%@-z6^HV(x_(&!#8T6(T9DND;3H5eCz#GuSH2+xD8_pV$Ll2D1Ln1=!@^ z3vcC<;pKx{0fMO3R4&8?d(cB*-6%Zww?lpq5G}#^NSa6vv#ve zb>^7cmpuaB-$&1S36U1NqK zXZA5Z4QRnP78A$5tfr>>_F9-UKuh2Z!Y|-kToUU{gkL|7(1bIkV115wb%fTk9wxH2 zW&No?0dFl!Hrn(UgLw=xOh)i(TP@;NcuaVX5%=D=ZzpnXbd5NWWulm~nn?}KUzu)} z3Wbl>IGAf}!So}atw4s^EW@xxWdLfO=4KHwI4jc z*g?IY?dN7sU{#5NF_ zH4fL?Ys`(dL*s{XYtDCO5C?J2r=36FZr3pRZTXVw(WP?Cd#FgAxIhp8$B?(2i;;n4 z#3HzG&>244H-+~=^@W_=m&T?iOqzvkmsN%6IPcCXwZ)N^pie(V2t^ZEs;P=5g_gra zWLFsN6Oh9hEJtEzPrd!9L@kRPiL(-i->S}&G7Cw5HL8I1CX0D|Mp}0sGf;i?fv0Em ziUMWw))JF1mRO4EE7V(|!;hDz*V0QaDTG}c3M%sR1E7J98D}u4hshSr z>xCGW9jn@1o%|*dYiSaPj^W?Ps2*8tr_+^lKDn^En9GNH)?B!M9c7hk*PiF``4b!q zlL#l=U{+znVtr+dMV|g8-p~UMy_7yF_WD*zLu8f1clpzn!#-Bua!pkrPhBGbd7*sg zKVIF4^y@o~2z6ZK8;#j!67R=!J3zKS;J*A-!dFQwaDR}5pjH@Ekj=6XJ*vZ%PU8MP z!;dDdQ)=k=dGKPaH6l9<)#MlI!S#&0QWF$&HnIRVqoc|#k6C3P)*pBtID&d>p(q%E zgY%kW??;``8C0KPPa}B!hLT;@M&edtWEy#Ib8&oW-xZKC&7r6`ddG#-F&V2W}-f7d9n%JPvN z5%rUewPpNV5{wjH2hAo~JM(6}+4yvQ?lo2xnpEbyiaU2&9!>F?^2iCBP2_pJZGwe8 z+GrGi@nL4G&P$&YR6qH9t>^q~MmYg+F)`u4oRP2Wi?n_*9W^^=x}Qmv_Vv|Y-BLdN zq)no#Y&K-S#4`!gV5|C5^+|-IGG`Qy31`LW+p%50m^936)CbQAQmJ-Os~}%`3N;YQ z5pzdbn>OYM4zdc)2^MAn282$tjEw2F=XFuGJJBPMbY?RK6VX%+M-sKX(l`g6pp88Z zFU&l#kr4-A)YLZ9?5%Yes$}2R_@%-_E^0Zfi6`-eJx9DsP6!V@1nR3Y(}$hDsTT8f zDwc{YHK$b#ENvI8H1%2_umOJ#4}^xS3%3UV?v`qE;S6p1eTH`FBnOmW`eeAI+{LHy z#H~lNVWT$R&9iRy+y3eVf!knSVP+w*EHx1GS@E^kFA&4v)zGOvpN` zfX4#uul5@NjE*ZZfB|9-7$Z8s+s!K{#&|FaIS2j^GsOua6@^sns81&6!oC0f__C%H z4yMK~3By4JM)txNR?Dw#=#fKf5#@$k*<<7Or!L0d_sJHja{UCO9D|i;CCU1ma}jI5 zv7W{hDTeth98!DlvT4kUR}n-s3MqANZ}N7zw$Zwh#M{vy&$vO;jQm&)tK%kLOid=* z@U6g70qdhLDvSvL3f$$T;T{4H^Lw1!)>Z*8=daZO);BWTqP^|i8^G@lxq2>Sa#bDw$8v+Uzmtyxw2 q|1XjFp8`*iN|yQBNg#+BZ~Nji>0|D%l?Avk$lT2OLdAL4-~S1Cq{6rW literal 0 HcmV?d00001 diff --git a/prompts/power-automate/automatic-absence-management/assets/sample.json b/prompts/power-automate/automatic-absence-management/assets/sample.json new file mode 100644 index 0000000..812f729 --- /dev/null +++ b/prompts/power-automate/automatic-absence-management/assets/sample.json @@ -0,0 +1,49 @@ +[ + { + "$schema": "https://developer.microsoft.com/en-us/json-schemas/pnp/samples/v1.0/metadata-schema.json", + "name": "pnp-powerplatform-prompts-customer-feedback-automation", + "version": "1.0.0.0", + "source": "pnp", + "creationDateTime": "2023-07-23T00:00:00.000Z", + "updateDateTime": "2023-07-23T00:00:00.000Z", + "title": "Customer Feedback Automation", + "shortDescription": "This Power Automate Copilot prompt helps with automating customer feedback.", + "longDescription": [ + "his Power Automate Copilot prompt helps with automating customer feedback." + ], + "url": "https://github.com/pnp/powerplatform-prompts/tree/main/prompts/power-automate/customer-feedback-automation", + "products": [ + "Power Automate", + "Power Platform", + "powerplatform-prompts", + "power-automate-prompts" + ], + "tags": [ + "Power Automate Copilot" + ], + "categories": [ + "Power Automate" + ], + "metadata": [ + { + "key": "POWERAPPS-CUSTOMCONNECTOR", + "value": "No" + } + ], + "thumbnails": [ + { + "type": "image", + "order": 100, + "url": "https://raw.githubusercontent.com/pnp/powerplatform-prompts/main/prompts/power-automate/customer-feedback-automation/assets/images/preview.png", + "alt": "Preview GIF" + } + ], + "authors": [ + { + "gitHubAccount": "aprildunnam", + "name": "April Dunnam", + "pictureUrl": "https://github.com/aprildunnam.png" + } + ] + } +] diff --git a/prompts/power-automate/automatic-absence-management/en-us/prompt.md b/prompts/power-automate/automatic-absence-management/en-us/prompt.md new file mode 100644 index 0000000..6d94d5d --- /dev/null +++ b/prompts/power-automate/automatic-absence-management/en-us/prompt.md @@ -0,0 +1,23 @@ +I want to create a flow to manage team absences automatically. The flow should start when an employee sends an email with the subject 'Absence' and specifies the start and end dates in the body of the email. The flow should perform the following actions: + +- Extract the start and end dates of the absence from the body of the email. +- Update a shared team calendar with an event titled 'Absence: [Employee Name]' and the corresponding dates. +- Send an email to the employee's direct supervisor notifying them of the absence. +- If the absence is longer than 3 days, notify the HR department. +- If the employee requested a replacement, automatically assign a task in Microsoft Planner to the designated substitute. +- Confirm to the employee via email that their absence has been processed." + +Flow Technical Details: + +Trigger: + +- When a new email is received in a specific folder (e.g., "Absences"). + +Actions: + +- Extract the start and end dates from the email using dynamic content expressions. +- Create an event in the shared team calendar using Microsoft Graph or the Office 365 Calendar connector. +- Send notifications via email and Teams messages based on the defined conditions. +- Create a task in Planner if a substitute is requested. + +[Open in Power Automate](https://make.powerautomate.com/create/fromNaturalLanguage?prompt=I%20want%20to%20create%20a%20flow%20to%20manage%20team%20absences%20automatically.%20The%20flow%20should%20start%20when%20an%20employee%20sends%20an%20email%20with%20the%20subject%20%27Absence%27%20and%20specifies%20the%20start%20and%20end%20dates%20in%20the%20body%20of%20the%20email.%20The%20flow%20should%20perform%20the%20following%20actions%3A%20-%20Extract%20the%20start%20and%20end%20dates%20of%20the%20absence%20from%20the%20body%20of%20the%20email.%20-%20Update%20a%20shared%20team%20calendar%20with%20an%20event%20titled%20%27Absence%3A%20%5BEmployee%20Name%5D%27%20and%20the%20corresponding%20dates.%20-%20Send%20an%20email%20to%20the%20employee%27s%20direct%20supervisor%20notifying%20them%20of%20the%20absence.%20-%20If%20the%20absence%20is%20longer%20than%203%20days%2C%20notify%20the%20HR%20department.%20-%20If%20the%20employee%20requested%20a%20replacement%2C%20automatically%20assign%20a%20task%20in%20Microsoft%20Planner%20to%20the%20designated%20substitute.%20-%20Confirm%20to%20the%20employee%20via%20email%20that%20their%20absence%20has%20been%20processed.&from=Copilot&utm_source=PromptLibrary) From 8d86741c4c9acc65999b49c83fda51c76c8dd461 Mon Sep 17 00:00:00 2001 From: Cristian Rodriguez Date: Wed, 11 Dec 2024 07:40:13 -0300 Subject: [PATCH 2/5] Update Sample --- .../assets/sample.json | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/prompts/power-automate/automatic-absence-management/assets/sample.json b/prompts/power-automate/automatic-absence-management/assets/sample.json index 812f729..4c16dcb 100644 --- a/prompts/power-automate/automatic-absence-management/assets/sample.json +++ b/prompts/power-automate/automatic-absence-management/assets/sample.json @@ -1,17 +1,17 @@ [ { "$schema": "https://developer.microsoft.com/en-us/json-schemas/pnp/samples/v1.0/metadata-schema.json", - "name": "pnp-powerplatform-prompts-customer-feedback-automation", + "name": "pnp-powerplatform-prompts-automatic-absence-management", "version": "1.0.0.0", "source": "pnp", - "creationDateTime": "2023-07-23T00:00:00.000Z", - "updateDateTime": "2023-07-23T00:00:00.000Z", - "title": "Customer Feedback Automation", - "shortDescription": "This Power Automate Copilot prompt helps with automating customer feedback.", + "creationDateTime": "2024-12-11T00:00:00.000Z", + "updateDateTime": "2024-12-11T00:00:00.000Z", + "title": "Automatic Absence Management", + "shortDescription": "This Power Automate Copilot prompt helps with automating team absence management.", "longDescription": [ - "his Power Automate Copilot prompt helps with automating customer feedback." + "This Power Automate Copilot prompt helps automate team absence management by notifying relevant parties, updating shared calendars, and handling additional tasks." ], - "url": "https://github.com/pnp/powerplatform-prompts/tree/main/prompts/power-automate/customer-feedback-automation", + "url": "https://github.com/pnp/powerplatform-prompts/tree/main/prompts/power-automate/automatic-absence-management", "products": [ "Power Automate", "Power Platform", @@ -34,15 +34,15 @@ { "type": "image", "order": 100, - "url": "https://raw.githubusercontent.com/pnp/powerplatform-prompts/main/prompts/power-automate/customer-feedback-automation/assets/images/preview.png", + "url": "https://raw.githubusercontent.com/pnp/powerplatform-prompts/main/prompts/power-automate/automatic-absence-management/assets/images/preview.png", "alt": "Preview GIF" } ], "authors": [ { - "gitHubAccount": "aprildunnam", - "name": "April Dunnam", - "pictureUrl": "https://github.com/aprildunnam.png" + "gitHubAccount": "script32", + "name": "Cristian Rodriguez", + "pictureUrl": "https://avatars.githubusercontent.com/u/11950749?s=40&v=4" } ] } From 59277d8afec2a0e4210e309468d1d7972d066850 Mon Sep 17 00:00:00 2001 From: Cristian Rodriguez Date: Wed, 11 Dec 2024 07:42:14 -0300 Subject: [PATCH 3/5] update readme automatic absence management --- prompts/power-automate/automatic-absence-management/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/prompts/power-automate/automatic-absence-management/README.md b/prompts/power-automate/automatic-absence-management/README.md index 7b99d2d..c20cd6b 100644 --- a/prompts/power-automate/automatic-absence-management/README.md +++ b/prompts/power-automate/automatic-absence-management/README.md @@ -37,7 +37,7 @@ Actions: Solution|Author(s) --------|--------- -Automatic Absence Management | [Cristian Rodriguez](hhttps://github.com/script32) +Automatic Absence Management | [Cristian Rodriguez](https://github.com/script32) ## Minimal Path to Awesome From 89cbb742c141407cc79b3bf674de835a44a5c7b2 Mon Sep 17 00:00:00 2001 From: Cristian Rodriguez Date: Wed, 11 Dec 2024 07:54:33 -0300 Subject: [PATCH 4/5] update image automatic absence management --- .../automatic-absence-management/assets/sample.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/prompts/power-automate/automatic-absence-management/assets/sample.json b/prompts/power-automate/automatic-absence-management/assets/sample.json index 4c16dcb..349c09b 100644 --- a/prompts/power-automate/automatic-absence-management/assets/sample.json +++ b/prompts/power-automate/automatic-absence-management/assets/sample.json @@ -34,7 +34,8 @@ { "type": "image", "order": 100, - "url": "https://raw.githubusercontent.com/pnp/powerplatform-prompts/main/prompts/power-automate/automatic-absence-management/assets/images/preview.png", + + "url": "https://raw.githubusercontent.com/script32/powerplatform-prompts/main/prompts/power-automate/automatic-absence-management/assets/images/preview.png", "alt": "Preview GIF" } ], From 420bf2560975c86a6e070cf18485760d5392cafe Mon Sep 17 00:00:00 2001 From: Cristian Rodriguez Date: Mon, 16 Dec 2024 23:02:12 -0300 Subject: [PATCH 5/5] new prompt basic contract generation --- .../basic-contract-generation/README.md | 170 ++++++++++++++++++ .../assets/sample.json | 52 ++++++ .../basic-contract-generation/en-us/prompt.md | 17 ++ 3 files changed, 239 insertions(+) create mode 100644 prompts/ai-builder/basic-contract-generation/README.md create mode 100644 prompts/ai-builder/basic-contract-generation/assets/sample.json create mode 100644 prompts/ai-builder/basic-contract-generation/en-us/prompt.md diff --git a/prompts/ai-builder/basic-contract-generation/README.md b/prompts/ai-builder/basic-contract-generation/README.md new file mode 100644 index 0000000..6504401 --- /dev/null +++ b/prompts/ai-builder/basic-contract-generation/README.md @@ -0,0 +1,170 @@ +# Basic Contract Generation + +## Description + +This solution enables users to automatically generate professional contracts using a combination of AI Builder, Power Automate, and SharePoint. The process dynamically fills a Word template with user-provided data, formats it into a complete contract, and optionally converts it to PDF before sending it to the intended recipients. + +## Prompt + +Generate a professional service contract based on the following inputs: +- Client Name: [ClientName] +- Client Address: [ClientAddress] +- Start Date: [StartDate] +- Services Included: [Services] +- Contract Duration: [Duration] +- Additional Terms: [Terms] + +The contract must include: +1. A formal introduction naming the parties. +2. Clear service details and obligations. +3. Terms and conditions. +4. A signature section for both parties. + +Format the contract in a professional tone. + +### Supported Language(s) + +[English](./en-us/prompt.md) + +--- + +## Authors + +Solution|Author(s) +--------|--------- +Basic Contract Generation | [Cristian Rodriguez](https://github.com/script32) + +--- + +## Minimal Path to Awesome + +### Prerequisites + +1. **Access to Power Automate** with premium connectors. +2. **SharePoint Online** library to store templates and generated contracts. +3. **AI Builder License** for GPT model integration. +4. A Word document template (`.docx`) with placeholders for dynamic content. + +--- + +### Step 1: Create the Word Template +1. Open Microsoft Word and create a contract template with placeholders. Example: + ``` + **CONTRACT AGREEMENT** + + This contract is made between [ClientName], located at [ClientAddress], and [YourCompany], effective as of [StartDate]. + + **Services Provided**: + [Services] + + **Duration**: + [Duration] + + **Terms and Conditions**: + [Terms] + + **Signatures**: + ________________________ + Client Signature + + ________________________ + Company Signature + ``` +2. Save the template as `ContractTemplate.docx`. +3. Upload the template to a SharePoint document library (e.g., `Templates`). + +--- + +### Step 2: Create the Power Automate Flow + +#### **Trigger** +1. Choose a trigger such as: + - **When a form response is submitted (Microsoft Forms)**. + - **When a new item is added to a SharePoint list**. + +#### **Steps** +1. **Get Data**: + - Retrieve data from the trigger, such as client name, address, and services. + +2. **AI Builder Integration**: + - Add the action **Generate Text with GPT (AI Builder)**. + - Use the following prompt: + ``` + Generate a professional service contract based on the following inputs: + - Client Name: [ClientName] + - Client Address: [ClientAddress] + - Start Date: [StartDate] + - Services Included: [Services] + - Contract Duration: [Duration] + - Additional Terms: [Terms] + + The contract must include: + 1. A formal introduction naming the parties. + 2. Clear service details and obligations. + 3. Terms and conditions. + 4. A signature section for both parties. + + Format the contract in a professional tone. + ``` + - Map the variables to dynamic content from the trigger. + +3. **Fill the Word Template**: + - Add the action **Populate a Microsoft Word Template**. + - Select the `ContractTemplate.docx` file from SharePoint. + - Map placeholders (`[ClientName]`, `[Services]`, etc.) to the data retrieved from the trigger. + +4. **Save the Generated Contract**: + - Use the action **Create File (SharePoint)** to save the populated Word document in a designated folder (e.g., `GeneratedContracts`). + +5. **Convert to PDF (Optional)**: + - Add the action **Convert Word Document to PDF**. + - Save the PDF version in a specified folder. + +6. **Send the Contract**: + - Add the action **Send an Email (Outlook)**. + - Attach the generated Word/PDF document and send it to the client. + +--- + +### Step 3: Test the Flow +1. Submit a form response or add an item to the SharePoint list. +2. Verify that: + - The contract is correctly generated and saved in the designated folder. + - The email with the attachment is sent to the client. + +--- + +### Example Output + +**Word Template Example**: +``` +**CONTRACT AGREEMENT** + +This contract is made between John Doe, located at 123 Main Street, and Synerbyte, effective as of 2024-12-13. + +**Services Provided**: +- IT Maintenance +- Cloud Integration + +**Duration**: +12 Months + +**Terms and Conditions**: +- All payments are due within 30 days of invoice. +- Support is available 24/7 during the contract period. + +**Signatures**: +________________________ +John Doe (Client) + +________________________ +Synerbyte (Company) +``` + +--- + +## Disclaimer + +**THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.** + + diff --git a/prompts/ai-builder/basic-contract-generation/assets/sample.json b/prompts/ai-builder/basic-contract-generation/assets/sample.json new file mode 100644 index 0000000..deb85d4 --- /dev/null +++ b/prompts/ai-builder/basic-contract-generation/assets/sample.json @@ -0,0 +1,52 @@ +[ + { + "$schema": "https://developer.microsoft.com/en-us/json-schemas/pnp/samples/v1.0/metadata-schema.json", + "name": "pnp-powerplatform-prompts-basic-contract-generation", + "version": "1.0.0.0", + "source": "pnp", + "creationDateTime": "2024-10-08T00:00:00.000Z", + "updateDateTime": "2024-10-08T00:00:00.000Z", + "title": "Basic Contract Generation", + "shortDescription": "This prompt generates a professional contract using client-provided data.", + "longDescription": [ + "This solution leverages AI Builder, Power Automate, and SharePoint to automate the generation of professional contracts. It dynamically fills a Word template with inputs such as client name, address, services, and terms, producing a ready-to-use document in Word or PDF format." + ], + "url": "https://github.com/script32/powerplatform-prompts/tree/main/prompts/ai-builder/basic-contract-generation/", + "products": [ + "AI Builder", + "Power Automate", + "Power Platform", + "powerplatform-prompts", + "ai-builder-prompts" + ], + "tags": [ + "Contract generation", + "Automation" + ], + "categories": [ + "AI Builder" + ], + "metadata": [ + { + "key": "Prompt", + "value": "Generate a professional service contract based on the following inputs: Client Name: [ClientName], Client Address: [ClientAddress], Start Date: [StartDate], Services Included: [Services], Contract Duration: [Duration], Additional Terms: [Terms]. The contract must include a formal introduction, clear service details, terms and conditions, and a section for signatures. Format it professionally." + } + ], + "thumbnails": [ + { + "type": "image", + "order": 100, + "url": "https://raw.githubusercontent.com/script32/powerplatform-prompts/main/templates/previewprompts.png", + "alt": "Preview of Basic Contract Generation Prompt" + } + ], + "authors": [ + { + "gitHubAccount": "script32", + "name": "Cristian Rodriguez", + "pictureUrl": "https://avatars.githubusercontent.com/u/11950749?s=40&v=4" + } + ] + } + ] + \ No newline at end of file diff --git a/prompts/ai-builder/basic-contract-generation/en-us/prompt.md b/prompts/ai-builder/basic-contract-generation/en-us/prompt.md new file mode 100644 index 0000000..a254af9 --- /dev/null +++ b/prompts/ai-builder/basic-contract-generation/en-us/prompt.md @@ -0,0 +1,17 @@ +## Prompt + +Generate a professional service contract based on the following inputs: +- Client Name: [ClientName] +- Client Address: [ClientAddress] +- Start Date: [StartDate] +- Services Included: [Services] +- Contract Duration: [Duration] +- Additional Terms: [Terms] + +The contract must include: +1. A formal introduction naming the parties. +2. Clear service details and obligations. +3. Terms and conditions. +4. A signature section for both parties. + +Format the contract in a professional tone. \ No newline at end of file