From cdd41d8f5a65b270fce0c5faef2bd6929d23ce10 Mon Sep 17 00:00:00 2001 From: Half-Shot Date: Tue, 8 Jul 2025 11:39:00 +0100 Subject: [PATCH] Test creating a video room --- playwright/e2e/room/create-room.spec.ts | 32 ++++++++++++++++-- playwright/pages/ElementAppPage.ts | 4 +-- playwright/pages/settings.ts | 2 +- .../create-video-room-linux.png | Bin 0 -> 31110 bytes 4 files changed, 32 insertions(+), 6 deletions(-) create mode 100644 playwright/snapshots/room/create-room.spec.ts/create-video-room-linux.png diff --git a/playwright/e2e/room/create-room.spec.ts b/playwright/e2e/room/create-room.spec.ts index 01c4c26bcd..2fd49de75a 100644 --- a/playwright/e2e/room/create-room.spec.ts +++ b/playwright/e2e/room/create-room.spec.ts @@ -5,14 +5,17 @@ SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Com Please see LICENSE files in the repository root for full details. */ +import { SettingLevel } from "../../../src/settings/SettingLevel"; import { test, expect } from "../../element-web-test"; +const name = "Test room"; +const topic = "A decently explanatory topic for a test room."; + test.describe("Create Room", () => { test.use({ displayName: "Jim" }); - test("should allow us to create a public room with name, topic & address set", { tag: "@screenshot" }, async ({ page, user, app }) => { - const name = "Test room 1"; - const topic = "This room is dedicated to this test and this test only!"; + + test("should create a public room with name, topic & address set", { tag: "@screenshot" }, async ({ page, user, app }) => { const dialog = await app.openCreateRoomDialog(); // Fill name & topic @@ -30,6 +33,29 @@ test.describe("Create Room", () => { await dialog.getByRole("button", { name: "Create room" }).click(); + await expect(page).toHaveURL(new RegExp(`/#/room/#test-room-1:${user.homeServer}`)); + const header = page.locator(".mx_RoomHeader"); + await expect(header).toContainText(name); + }); + + test("should create a video room", { tag: "@screenshot" }, async ({ page, user, app }) => { + await app.settings.setValue("feature_video_rooms", null, SettingLevel.DEVICE, true); + + const dialog = await app.openCreateRoomDialog("New video room"); + // Fill name & topic + await dialog.getByRole("textbox", { name: "Name" }).fill(name); + await dialog.getByRole("textbox", { name: "Topic" }).fill(topic); + // Change room to public + await dialog.getByRole("button", { name: "Room visibility" }).click(); + await dialog.getByRole("option", { name: "Public room" }).click(); + // Fill room address + await dialog.getByRole("textbox", { name: "Room address" }).fill("test-room-1"); + // Snapshot it + await expect(dialog).toMatchScreenshot("create-video-room.png"); + + // Submit + await dialog.getByRole("button", { name: "Create video room" }).click(); + await expect(page).toHaveURL(new RegExp(`/#/room/#test-room-1:${user.homeServer}`)); const header = page.locator(".mx_RoomHeader"); await expect(header).toContainText(name); diff --git a/playwright/pages/ElementAppPage.ts b/playwright/pages/ElementAppPage.ts index afc814b3e1..ccc1985c0a 100644 --- a/playwright/pages/ElementAppPage.ts +++ b/playwright/pages/ElementAppPage.ts @@ -51,9 +51,9 @@ export class ElementAppPage { /** * Open room creation dialog. */ - public async openCreateRoomDialog(): Promise { + public async openCreateRoomDialog(roomKindname: "New room"|"New video room" = "New room"): Promise { await this.page.getByRole("button", { name: "Add room", exact: true }).click(); - await this.page.getByRole("menuitem", { name: "New room", exact: true }).click(); + await this.page.getByRole("menuitem", { name: roomKindname, exact: true }).click(); return this.page.locator(".mx_CreateRoomDialog"); } diff --git a/playwright/pages/settings.ts b/playwright/pages/settings.ts index a08ca65f34..fbccf38fea 100644 --- a/playwright/pages/settings.ts +++ b/playwright/pages/settings.ts @@ -43,7 +43,7 @@ export class Settings { * @param {*} value The new value of the setting, may be null. * @return {Promise} Resolves when the setting has been changed. */ - public async setValue(settingName: string, roomId: string, level: SettingLevel, value: any): Promise { + public async setValue(settingName: string, roomId: string|null, level: SettingLevel, value: any): Promise { return this.page.evaluate< Promise, { diff --git a/playwright/snapshots/room/create-room.spec.ts/create-video-room-linux.png b/playwright/snapshots/room/create-room.spec.ts/create-video-room-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..d27201dad6753997e6730272136309f688ff5476 GIT binary patch literal 31110 zcmeGDbx@UG_&y4Q1qw)mfPl1ggS2kCJ2xSn8>AaVH=WXrNH<8gbc6J!rMtV&`uyhm zn>lmlyfg2d^Zxld_~_^p_p_e0?)$p0>srA|3X&MFh+iQgAz?^MiK!qVA-99yQ>ahC zzgP>AWq?1B9aSVDNTtJXw~>(EAxVpUQgch)TQJqdgOVT}RW>p$d~ZKl;TYuk> z_gOC$!;PqqkB=;xx~8V2tg7+gmNG4^#P{hrk+9mx!(Uwk73-1Y?KGWTNqG7dR{KSo zW!R8BMKVYGq#L_)Y@{RHzx@2f^vpI(Q!#8 z@Y=-y38|GJDSX1+?(E^aq#L@kQ!3WhAt@2r-Ol>>#M)KLbQ!oG6`Yuaq}FCeI3L^~ zN{Tut6X`DFvnXnHb#>YYcVcJ;uj@tIQ_o`?oM0}i*yiHYLHJ8mo&1TqD>%H9+FNMh z+c$`#ED1a+K7QjgFH#{@kdzENE;-p{^=5rE>n#@K`E!3va-ra`km26mcUVEu(KsFr z{3KIlKcb>O&kLq0_-^i#U|}UD$EU}|F*8zS<>vAm2c+cq^J)B<_wqttURO;yHoT1B=k6+Z58N7P=(ojHBO^sTZ zhnQ7EP0ed{WB(|q_uIE8##C8-F{F8NE_)@O_vF(8b{V{OO{yxYXs=$;(9m#AOiF}1 zBy!CBklJ&8_%d#GDH$n*1<_8dK+W;Yy$MH{QJ8qnd>g(#F zV^kwZMdFUvWxc(dGyVKZ_Jg!J^C~MVFQCy|DIUN62?>#bNB#Wy^L9#p0j;2@ zfLZ(Zdlq3bir9>Vva-B^#N8IyW@tj$8`bu9%6Jw7ZB5O{yosr)+}zyjYm__3+kn#2 z*YSxlDUDW>4V~GFZWU)E8RH_p7hdbtR_h#>B`LRi_i;tjm~REc%6PcBH1BKVaE!!W4FMa|0&W zk3JK@fw>;S&`jbTtA+-CFjW?c@^W)Vl7-5enw~&0P`${pt`yXn_^`2_|BZa;_;5fPb>=-JrW^{Bp>*f=Mtz1SClkEr|?Vr(oN z4qs@#{C6>AEh7`6$Kwh0v)5Ery@RILM;~1JQ*BV~|oZ73by>6XEZ#@IR&K z>}z8;?a#)hviV)<*wmzN40}y(d;V`RjZC1`yXV07U{Mm4zIR|GaT$Ev{>+-!n4GT3Y<c z6w~D=6=>btod@bYR!vPqQBJNMCk3ig4BIO|yTv3szxaf71f`&a7ZzEUM=>zX zpQ^JtN=CkIXFc0;x*0bg!G_Gw&kw}27%|nDNN?`k{(M*bHKpiunDn60)teXAH8K*& ztfr>MHe+FCrXeTC1nC_cYj2-NSKM4#Nft0CsCj!OoZr)MaZy9UTiool%(Qw=&q~f( zqokuVH7B8`n_4cA*W!bWpy!12&hf$Or#?5m#(jj(8lxXrDbGRws)sX z;-jNYm}VaBn@>Exmw@k9-@w006Np*cZddQo>@z;6#a7Cqx^E-7Qgm;}$-~1!M@M-3 z_L9x(8_voKs4n|V+voekNM?f;C|)yDF3)OymgWX5Z7#3vianqOJREvm8=`?$HegM+2{`0Cg3 z@kd9=D~er+!~0yu$HprBkB(3+wR6Y@*4EcKEtgL>!$4+Pi=8Mg-dkCTj-8k&n}Z#e zgw!P_4t?4E`48)r|H|&};noLainEI}-uT@$u7cW-t}YtHxB7Z|V}8Gnf2YTp85kb? z?C}X)7X3(VVKX^jtK(=~YKa@=+u#8K{Hs=vbAyi_kJEpZ432KijbQ;$V>AQ?mV{u_ z(t~YFd;pHX#U%;FaVN4^zCn7hA?n{9A7=eOa|`}E0Ycu!kLhj`EASxKThVIZL_z+W8hFD@k`b2gzs zr>y)VQ&hYH7rH?gS7y-KML@ukc)7Ptl}8`LG&sb?&7H4i<$Dt@GXJox>fqbI`YTK1 zGyB9x1J=Jwp2xqg2{z0mBswhQ4k`Y9;QK(!r|?Ii8Y0^9{hMfo(`JE!oYk@bGZ$AF zdvj^2ups40Pj^mX;n<9smRmw``4OtkC-1KY$XmWCZhco*owE)6-O&^VJ^3X$d_PN` z9tBcT!h20lcrJ$nxm*v0%3(bRVPUKYhH#0~i{ms-J43X%5Fun^TeJRbz9)WPgl)I~Ma*C{lMcpQ2Sxrq%qwC>P zv!{WEhJ=R3#_1;d9kINw++Jrem3K{@&9>2qW|_6MwcS#E%8z5y!9-=NLI%IX?}vAe zWjQ%HpoDKn`=e5rt`BcrPcLU-U|@K7Gz`fPfg)veH;kk3NuMl5bH?|Gl~Wa$SzaCm zMF60w@=bySW&>{1->X5`Jnij}$PB@Aknx0$e1n#EwLYlF4Ugw3ULIpoq^!#$UD<39LGM)Be=CosHLEbsp;SBMTDIi)ZyDx^8gLR~%!}0ho zX~vOILtTAxYHFoy6ab#HD2jGOLe>|6>Ul1i*Vp6H%bF~>bP`0KQrQG#d~kV#q5C-Z zR;b@_X;IJflC+bo>-_ZgBAm&cuYOnau{*sP<)6qQ^bO4qDJYL!>JHcXauyxAu~Efk zxRs?S}9S-r;cGjDUGwTpY#q z_(X()7+3r`acRRyw_JCU-YBJ@5e|~@43>`^PCNxG>AZRfkO42A`G|prUF(S<-v9sj z|K$jbxxN`HEq%AAg_WG*S90Se?c)Ard)gHp3F!g-o}VOcg;4kAhvWF_%}A2 zFh+S;i6msvi>X)oeIF~VIFGy`I7jy6B?D?``m4(s8zBPLy(9u(c7}Jgxhgsz5v~v2 zL3e|sEhFmUonwqLieb(|gxeWvDs{tSh7}d^Le=i~DS#)$E_7&iY;0AF ze@U*Tu4}NGcHDRUAkLrGa=oy+HU{BO6Fz@<-pWef#<$HtSIbka0#3!?D=&;5`v|jB z<*ScV$Q$wUqTvvUQOIkRR($Kb$wdm@_2b0FMbm7dWbo+QMuH{9pw4lDr#mHeN=spQ z{fh%a-Tz*D1fE1?77gw5GL6;W*Zjy;Zl;^t+p%=#!z4y*3NSEtV~r zv`-twd=n~#m8Sq?YiP6cHdtAU8ACbP;DPQbAX|`KaHKUpYH3V&%1?J*KXkbe!y+e=1A%Y3(f4Ax=u6Z#@crxEtX=f(3ObOH zzP6n?ZS@pj)_tF!dhST&&{C*Sp;-w}f3$4M~4is#skzEwBL zi22Z-hHU(nLDnunrHE7{zkJbj=l&Gj>yx9$-C4b2S?$>DOvJO+mhFk988S`Mm`dyi zREpO;HS4)lrjfAUQR?v9-g$$CUWV!JApPx7VS!Y~{x ziP6j(jKRht+k5zrKBH}|v8vw`>4Zmn+3WkY9e_!9=iYh!Y&GOGC@1{f1jn*m0E~?< znF~%qRRvj#Dkc&VlOG!(1pjZ2hQ{fncyBqZFYXSuLG4K*qHitML_#|1*`f;D+1(a) z_acWbHkqbm`aPU&+oDoX9!n}13kjz0FM7UXrdbYb0Jm+;5^m22^o4&tQO#gi9}Npj zL>V9(Kc6pJSn1r{ghK&yHpCQQH($jqAb=ukXJa#8XIWGoo|YU?8dC{%b9)Bq^`09B z{XZ8Mm(&0QY<6!kr+`%8l1Z<|;WlEy;|1;Q>$eb8Pz1fEO=h6Us_UN`xG){sHpo z>gwv%X{Ewjk+J5spZ}Eb@z?)dwxDeciK8+b)YHEIU^2XyWUfG-@Z(3ifZb?MB)gV0 ztu|^V9oa|?Y~k)|c_B4*J~$>-ih68dQ!#>62#*Z=`d`~BIT*Z<>HY!}01P>p-Ey37mm71Em{9`aXC#R6l3f^h)u!|V~-15JFpN);FV)_sayu7Z` z(%YDkgh)spXRC%)-z6$5N$Q>YTn{nh;-ev`me$t({w>JmzBcRJ~{BnG#$(kW8 zD|_B*&!471?L+8({Be*PWVHux5g$7>Rn@HQ?1}loiT3$H@H04(otvwntBX#d22jG^ zzn@J_?RPpy*Rl~OCn5RyTgcqDT!ZEL`EN2RA*kYFV##kv*hiiqef3?6%m`;m6q!Dq z+y&Gavksf0uI?TpczkiO<)Ot6V8a@l1!WD5nj!DXZ{O~kZ!xhU(JIlX6ciMh0RaK+ z?Z0Yjc%DCZrws?_l21UOM6256H1}LrSNF${QJ)7tRs%u9^yf%Ok1gbwSxrq%k!16F zjXqhcCg$*{;Na1c6wM08OWYpJ!})5v;U<4It0M4}mgdItJbBPC6N}h}C3SrfnET;s zYhb?kP(c-Vu_wf4_h7`IR+^oCHL_2#V`b%ShK%&5HSBB62q-3ehy^61uOc{xJx|=Y zUm_uuKl_hX|NnS|zaJh@%&Eq7;YC9FHzJx-EqnA53xj$+WXI}7BPU1zoAkv+Jh8D< z#Ik*X>t^UK=Kr0C8=GcJSt4a&X^o3${bl+%*>(Vu%bg*@g(dr-RbuV4aU-9z-|2U> z?+fHeNLMj(Ev^TCb1FC&Pct~r2H#F%=#uHa-O~qQXS7|niSv@;f~07NDLBMlm0Aev ztnfVk4$r@vEz}@}l?#BEXid=2@$`XBc63VBq@n3Khvn@$KgeazW;Yl0IGoij@OfbXouXfkU2@Yci62$PLFy(P(Wf+I%1{;3F#$V`Ty~;@29^q zaf$KBu>cJAxHIyxi^kji>g2w)UL5I z#QB03Uv<)%GxUbU^m)4?QLGW-2#l#@$iU`&cMdXPXb7q7hY6#z6TJ_ttO+GKZOxm= zr4c+~cIL=PNE&CPUAnZhb#hhLsp?1FtR5X4n?5xHb6xr>HmEUA=rbI-)z)riW^a$g ztW`hPb)abLwj z?n`=d*AycG?HveO4qqdTQ+#V0fyKa3;&pZ+loQM^r)k>MOb@Xb@U!+v4td^%uYx0* zt5|V<5?owZAaY#W6Ro|fsPE(9vE%@cO0YBWav)&k-8`eO!7*x=WEG5##~T`?KiJyR z;`1F-!v1u4NiIU`RayXJ;~jHKviNSNsr`u|?;rFH272VZ=`8`$QAWFh+3M>0#_D=p z0yZ5Es@qL1n~sihT6$7mCKD??ZF`#nEgRm>%7Ln{xOT8VXZKBD_k#CMt=q;2I2JGA z=9Kz)q18^=g6D3F2eAeR6MubOu~pA(65n-Bq|lO`9yf+vc4;~#Q?F#+IO~E>wcCap zk@V;;=3;<29W=>Gb8-TjY%wqpB;J+l?jb2hYIo1hZanTlsPOvYFeOb{N!R{iV?gu( z4GV%J8aU|m+w+E>nvH4EvdLLm`#d0Lm>S1^sjo4nTWe*Glz~!9OV_XL;vx^!&j!F? zPfXP`+;sozb(6<;XID04YCa_}ly)~&ciu;Je9Ep&q43&;mK~2G_JL+;N`{=m#M&|{ z{zo9qjzupOJOK5WmxsGn30l#46)PuTEs7JIU;M7`ji|jpO&sKj*9nIaHO}bN*gIhw zT#C+~4*#^;9gFu~G6UQCXm%R<5^_pkYs<5rP-N#)hhvRtXy%vXmB-BJlEQ>L^IE+K z^;M@46BFO2O^vCls~?L_b&$S3zIfvIr>~8LmO*f=y}bB$Zgvx~ES=G2W^A_^Gq<<~ z&)=!3>r?st{rekIIvyUJ>gtjnK*(Wu()jLv-8g=UN+I^{omifx+9c@*??^GqWQ_5s zHw=SXg)M&VBLhNTLB9J*qKA>w-QE4W-wKXZk(EUy#HpyQocnk_8E5*m0~ZT&*n!KX zCXg3QDV+NbE}XM|bn<0cbLoXnKXRshRYb(Mm5|n9q0csAIuI_-JS`naRbj4hS$Wvh zC^i;>-OrpbEGt{f@Y}QJV4c1#Dq)GlqQnjk8`UAL`fF#~Sy8nExp41rpMdvU05aP;buowoSc14Kc&X(?Y?HJ{Rzr51$B^ zSNw3XOAM!}sUClw=B=cnQEi$-qCeKJCLqk`INrkO#P2=SP9GL-QPAfrCpE1Sld{Qk zgUF%VGvP6Hmu6Ij!LdZhT~(|u#-}N$DeW%jiNO;lW> zsir0~z|hr2hpvJ0Vmd$`nwGk7qkNQdap7_a6FA2J90Sufg7+Kp)&4neSZ;Q<&+yf+ zqN3BW(@E9?oTB2uIlX2V<8seqYXCc2zKs4hm~IK|;lyC}CLkGA(&Xi0d!rPmsc)Cw zdgQd!a6P=gJGd0t!9Ue=_4p;*?_q0tU=tg{s^3Cv3p2H~z1gbhndL6>u`m1M+qNQp zilUQ~pRc8_Z=0MlP_~VY)GF3GEMdtt8=8=A+!H}2Vrv7GF&i6QJDOEooP;vntRg#` zL$-sqj-D`WKwSfAfQWNgS+?i%;9Yit;Da!v_${#jTk zGxBHc&cC(d_60!VhKAS?F}YS&yCZ3}y(6qYZ__O^RakYK1V=}u^_7PZohQR0m*r=R z-QNyJ;)5}y&5`U~|CjC|Vn2q2*RD}Mqoklj z1lGNmQhVU!m^Ja1Ua&EdUG9;wd|V@~Y6KF^{#H{l?kZ z*~GV&&CVlBB40*V)@K_!x)l?>*0$`sg)if)jW^SC1~l|ggeHT_kZLRnGKG$)&Wlgag*>mryw zXoSq195p|c-aGN%pCvi&BztI<>SLmM`5xTS$iwcTwU3$O+oq=LDjXrDwwyruE-Wk@ zPH%iqll7nO3G3~jz389ZMf}doO9)BksS%uXpPfBVIa(Yxs51fYydXI`CvkdmGRft{ zYEVBlI?8Uo2mx!Bix^`Lp8Bn@xkJnM@z1YcznX7fOZB~{rKKI+K07&iMNia)sB;6v zgX`lbD&x@F!=?@@$_znwhO&GDY@#kNCLozv5jV`$9KMPSLXQke<+EO_BC4!Vu$`}R zZfnnR%g7r_6tWtG2S%n}p*%a7^Ocg3IPM6HbX!$T%cG(3?jK>bu(n2f{W>mMd2nE$ zhoPH}S_T9_=h9TDfIk$;j2Y^eeYbwz+Sq^Pj)zu@wVg)Kv5ZFIdpeOm5U-#tSQD^Rn# zEcx!M{ZUJ?#L&`QoF;R0QwAG#58LkBEq1G34Uo6PJ;| zKEzB@FlaWr2U_uQ_mcbVKW$P{QjMt^w|9uj%Rh+YmgfVY?8wet7 zZ_H*F7bEma*+K zpr8c=ys$}fe`C707@fnYQKlVPW&{J}gJa~s5C0)Ru?MV%&OT0r!>3P~v0;=hluur0 zg0Ww^lz`?>0Ofmsb~&PiUp~p}-#Q^!xb5-rnPCtMA6y z8l*!|G3Tr7Nl)+NEsMWV^X2aaC0vuOV%$-A9De zd3dz!kV#nX@2{~)?o9V-5Qo!Ju=rf;Nq5Wn2n+9R%6p{7?EiFr2WQdyFyKaA@hv6A zv)@D#s7YyQX@Wuq@{W!aF1Jah8zlQ%TNW^D7@z@QFjF}?EYvW0Y}BBseL5rpR_!0D z(JMO~lM@qeKzc&KBs-|=_@O)+O2F#)rF?qquU6fc^y=#MVLi`A!mROau@zT=sOz`2 zp_SvuxOpNzVZajxv$RZF`|!h^w_F4o26M4&9bh0GwOm@d+*^eBqC4r<`5f>{42oQe zqFgdV8xTFyBdgn|Kw~M>t*}YC-SCUZsZHyqM!TcGd7TBS43KlCO0|RY#3X&|0M#-( ztMlp8r|#&GkXQQpc2Fp^qBV&oCnrP195EB|5!KSlDpphNJtI8^>FhNf|B-i8ZU8@| z*CKIw2zkWYIKe>a)QUqOJ{TGrYP{yq)ZBcDo7dUdNlQ(u zSNA2?6M2KA*=<`!PtW^j>m}kiB0iqLqajT(8?3ned<$7wG#hR~N)_qrMgx!+v7HE$AVf_~OkA4?8XocRmGI#Wu53;X z13ja&r6D0Fzx+=LnNxj%3{y63he9kN z9~KVEnYrAdR|pRyV`F(a7#fOGrlY(qW%2g9Ct%k0xgA~*4g|bhVp5X2 zipm%y$E9y-ys!cmO?uJ?k0Ji&pk0Mb7MU} zN+29yRD0*7*#TiZD+>$Y%mRWaO-$bbl$TuC;cmN<5c`KRK!&f$`D$RhW;nrcd=?h^ znaazLVkWUb#@t|@lamWWKRbT|1&kxK)}|fmb~@#`eG(Teoso$7h|)c|>9Y$9lM}vF z?4z%_Fdj~81&I7u_&q}8Uvq5i+BAWO&{zYa+^{6F>@lfw6U2CT{}h1n)fEnPS=ktO z4H0}o!pIc1nd#})NA*97-CiNv0QZFS?;xtsvw#k+=;E-iFU%rrxP77yfFCHvAg?a- zcoPV#E=^6A712%9D zGie8aN1s)p2xhNtBj8**O1b~kMxhm#n5flFPdivL_Xx0)u=mBczWheJSV*SU90E4i zg2wnUQ;DfW!q$1oPoAB=zyf%mbTDewmB-VC%>ByBL^Q(eL+H7sWXXOjDK?+tPjSL36Ow z_=v@7X)bcHS04(ku}z56B(mi7IDGidU0tn3uqr2%rqFsiB80&#L}MB*t*ZOL?^WER z-Os{#{*;t3pwGuxxSI@KC7=N%_28M<@#)u-hy5l|f^udgXt1gKR z`&Hc350Wa;?Ko5;fz-lWguwUXFVMCC5HUxQl%x$V<+WWru(t!Hp_TLekp^Jr(Z6HX zwwBl07)FL?=G7O6TU%RfwN-5pw$Q!39{nb#YjdYpUqw_}&2}C+Wn^S4D}R^iHVd0y z$SJ&zXge7Gd40uBOUY4~n>#gx-@^3lkK&Opo&>8wi_7U$nx!p^wMN;V^=$ys@SWF*vbkZ_I6B?@2pE=KsezjA!L;A3!0ng$qoMVnb${?sF z23VOtdD{aFMXH<*+_CG=pSywn{^*r0pi;&1#tTYd&gbFuM0~SWAzJA7EMZ3e4rsDF zB+10Y^nhh-t_6I^qbs7%L|ESzS(uEE=wN@fNnCK%D8Ucf11G5e^ zPXP=HN_k8l7-O6J_t$BXBTY}fcX$rO#l#H{u!^DbA#@t$$VMFKkdgkm@|LrH_h|C! zpbmJAO)%SHzb-f3x3_1~`sc5C+2VZ|8F(K%*k{8DR<^3?fFQBWzE#v`-@@Z&PW&rh zKKmBw%NCOx&jJN&AAZkS`KHBeKOm?#Us#|Vbf)#Egy)IXfQbO`lnNdlEsVj*b9sEe zyOapz2%4uY`G*HP^;CK)Ra|O$0s_KEM<)8C6P<3W-Oi|){UQCmTbQ=vX3ZBKnR!JW zM!ukG0e7~ksj0RNnAtb0bnsEK8Lg!2XK*%Fs`u|L3~d9L1^5+u@1or=54@XK^}e5c z3=RpIZ}bf9k^odzhL*Q-dTh2^Zq6-wqJ zJdn`ybQ@j9&9c9@v5h~atdm7o(hm~bNmet zR&0-NG#GHr%*o{c*$sN?9MkMuri*1!^f(#4R$Fe8;C*0RsWfLreSNaJv2jpx)bursd@&{2{ef(*LJ@>sS4F04myrdv(O}HcgfD^ysKP zz$Lx;Th?eB7kPJat*oz5kEq}h5moG!=hM&YrGmdJ~e@fI zn>7kT%`yX3Vy!nYE8BE_%eOzIJT@ia`Zpi|5pnn};>!XnEus%$nHmBqvY zY-XAa_Yz0FFFpaiCo~h4f{cvpsdqEjZL!$C^}ibxU@r$S%Y%teO$`s)+dmAtZZ2NV zu1eq^oUh%#i%ts0+F_Q}l6pfy%|Q7r#}Q!Iii#htK4pF>DUI3LRU?_mNH5ah@TKuNh zq)c0~%y}*>D`6*V6?5Ulp%$K3ct9}H<(yj4W@HMOueyQ9+3MD5;oCq4i46I z5&P7&!ET9@Bey?-0k7Rc3i7kjpQrgnWVkT15q9wrO zsH}{QZ)!@bJt+AK>8i35)FqhQ~c7x0|F%Hw34HxsNsLJkFyr9o^jB> zCB?NfwH5q%!49?|q`rM?J#DMo;G}FSz7Dk`@1Ca+4PY{;@R%9vdiG>_rcExW z%w6qspDZ1tH=HVDXJjOIxP|aNDzB?ctgOV1DT(Pb0dN?TjK96Dje?$DSxw97s<)!K z(G@%xCwKxng^7-fbR>X_i@R&yhpa!55bJ)6vbvf1?a5uW^Lg0w_+tBngt+u=9vT7O z$J2y8WbOzOezmi9e@^IvD~nd0Q)kd}D8ZoT{S9+^QD&)`t!<4>7XwF<4b1d zFiTxiwb6TbHojy|F;y_@zm~VO#(Qo`Sb%M4D5s>_`7+)6{2T-HGy*k^tC#voCdfz+ zBG^ybjck|$&nwTOxesip$CB64Ce-7wAmppjws)ubx7;UKhM5gF0T&k+!sH?URUDnq zZhL3U+bxvPrRt*?-(I(^jLr!;pp>y=8^W=W zeSKB5#hrH&bj7vl$!rw>1bOXpb?gBm4Vays`U~`{`RF8QeopS!uD^%v?=NoFn%bjp zx^n}%bEj(bmxMtLdJIJL*#NY4*CcqtfwR=iR=GPT2v7_9vmz18|NejT{|$U;@gG%9 z$S9rlNuS!6-1J51GF2zJxYGmD+FwMK#i}%1$w~KSG&GWEK&&T+y!j~T9Jb)Ta(klZ zme6^Sva3v$a~^L%%bY*#v zm)QKwDW{-Q+*AB;`InWtrln#!<3c4qp{knWb4iLwcs2q{fbsk7$X&%`a)ZR-pGdUa zNJBS!Or-m`3^@+Tyh`uZP?i=&&?DyK8aaYfLMj>F3Tk{D)A8|%T9(5fdp7^!*azb6D*pP^C# znY@Xdl=KXLZg^iuL{&z2O;u-jyJ$pVPn&_Mmyk4JgPge4YTx{z;p#@E>sdz!*O_@2`M!F^zp|JBPQ zN_cW|K^}|9P(SOavSy;Ndp3Z<%d2|-dX6IdFfiofX=fEyOAu1jOwGRvZEp>Du^?zu z8HlQRaaHwU-VZ!nJF1Rolbs)%W&27{$|&FmBA7w9XQnf$FA-b6R>!D}RPanXmn5lA zP8~+7JF7vr#_&_6+kP+$Gw|5K%RAfrwqeW8{JSYmu zPF#Hf$cF_)?ha!{xROal^wO%(xx`DXO3S6V29N&ItlFNr6dBo|vF)w(#xLE`?*8kB zqZv%$)nHR+>5}IyO`ep}SJyEMv`Rx_H!6UZQ!Wj-dB;LRs!-;{2;YW^GPM!!kBMwzG_XMI16?9kL%~<%KO17+LubyC%I3%g<<1Ykh*tHR&=hZ@A4|x^zST5%$#}3p-g8q$2BvVXJA%KiJEli8c!{9I#6c;U zI$e!Meq(Pmn3svzW!8*Ykmi*Nf(64@VZLoalEtZ+p`6@u?_=O7Ta>2=zyH#~iJ~DB z9O~xw+<1GLo!;0cJn~S7^3RCl`65ZT{4+^fnjBNs3<3Mg?wRLZ>-xe!+~T*e{90>R z*H)Js+&yA)3w05JYf-(~_@{4OOET2;wQmueK^1F5<0%0lsJ2i}@6%VB-4~UoGM$01 z4re|*)ZJ0oXc>$8hh+oNRZbYpFDt@fmnZ`-A9Udm; zX2pW+Mt!)?HtFKJhKe;*0F$?8`+k61-BY;1Ltu@;dgszENnmQ~8A*GekSw>FX+|r? zu6;Ht1xFIBrtsqvkrZXV5`Qix$9(Ih% z5~9j{HMKf4*X>#&UUP~PK07;i8rr`wEmvDT;rl>~ep?1_yqt&}oA_-v&~z@Fd-JRd z?ky#O3RJK5l~>&i&7`&V(gu6Q7_}uyqZ48n;Wu!sS0Pei5%P28o$hlx+nMCi6-GJh zlb7k&illblUYF4n?N2lhS`Hk)e&wTti_bxlOTpC3+t$WZ_7j}~?}5F`CNVcT8Xc22Z$OM>q9h#5Nm5BD z*d0xQ+_E$KVz2BUX4QA;+h|4Fn7u#}2m9Z<7Vkmg3Glr?oQ7h0Qn9Pm)keeit0ZJN ze|%I@jTZiGj2(<{E_CewzzDoNQ#E7}rDV7jI4L4{VXkI5~arJMiATStp{NJuH?|-_Khxo zM=p>wIMk=CrQ(P6Ym}chvI2mi^nafvsB!w=91L>U>U_=U@jmBLed^3KU|;pzIBqcl zD#T0!Y#>C^%8aV}^WRk9N?J}FE?BQ#9Ys`fUeC@c5_E8>8V|5)+wtz^oQ$Cme5yRj|HYimwYS!3pIU9eT^`4m|si&@~? z8gYm@<5GN*Lpf2rs*;se{^A_LtxaZb4fawkH6`|(pQXWxouFG!M+ZGq@6wb)hl1eC zXHSABu6e)9nOWzJ9!WIV5L;*a&(1c>*!Aq!k}8;Wy#C(s;*}4UQ6NhE8={z$9L=8DlQB$zXzfpeZNcH=zFN3+em zr}GlV(<;7co`21G8*CaHYWx!NHbtC4hFt)>-ztjX{xk~nvupRBS>i^ys_mr%WN)f? z^$8Fi`nYo2)blHMHN5P^J3Bm5%6F7ZSXcz+R{4JS3!L0azIP|yk|@oY72B|nXHv5F zWQ@NnW8^U=$ptYjz#O#AJP>id6m8#RF|C?d_x@&7{5+037ONmub6Hg5C;u?L%y_# z^kxjz*qF~v$RcAZk2$U%F1AL(Q4YxjF-`W6fRm~uEkI9WE^*i6T1+KbXV$W+r|es? zyfdl@7mAH#F+Nd@j+V-&yexA&NYIkOW3-eQamjauym5a1^p@8T%PwDt8Gdu=NJ^>U zK;ARfUa9K1B&dpS0Q**W?1pftUj6M&oE|#X^(K6&%F*(EXT2cQw3~^fv(0~>+#;}2* zSv{3|^5J@}d_T}`ikE99ahKSF-kJVqQRY7qysRAH=^Imt@g%&;eB_nDhFFD+b(zMY z@usRNN9i>728YIwQdHR|g$8OKWhETW^qKUG5`<|MZ**|ss{SUhL1 z)Ha)oT==rQ-XA2AWv<1-$ESwWG!(zTbR$SG7x4)+71BO0n5w9YX?_0Iyj>&8+iMbC z5{K+_&imKp3$XjGawLEcP3HNcuP>-fn@e0Psw{(79SaiEqov>ar~uXbq^BJK_TIbX zBL0u|-ZLnwsOk6Jh)Pa^1W5*Rl$=39Kt(c02FV%8IY|)7iUcJ}&XR*el$->~nIWek z!whlYF5kEAsati=bL!Oja6jFtsj?Vn_TIB+tzO;#)&1+^U*dDAAjY7Sis$kchg}5p zEP?2cG_EQys%Cj(7b%JVl~Xrmn<>wXUew1(S-rR8*{*^+iD^RS;~)h~<@(bBDUc!Q zTkto+i{jgyE!3=kfF}Xg0%}%?o%4m5 z*}bmm@6~mqD4LehnTb8oVJ03%YQ%2amT89P9ZL&}@JO7YR2!@z&x%cX|B*d)-Iy?~ zo@-8*0L7%%#i{E_Fc`AO<8!bYo-8KyaI;DIA*Z+e`oW(!&oQrgS)wNnfj2W^22pq~ zo=!^J7yq>Fpi8-PLk0Y)pYs8FTFR`f#s1s(vjjeWzxy{pVhDAT_bU|UJnLnk*!hLr zyQM_o9kHE+quaNbJ{6MRzxS}uzE_X0eI0QY+-;H0b_0IFK&p+@l*GmRAb25&@)KLB z)Bow&|0z+i!|1f@DD`S&v;HJwY-s;!v)Q#}lS)%b*81Z2OAyz+^UW9yxO+{)$93~| zKMQMdNcPI@J;x9yOZ2Oqi`|usphL!EDMaWtM&@Cb%zMqhcL?Bz*J%c3~-wP=^e@651bV(ABe7xA1tfx!gjNRydQ<|^L zAVh(M+WQXXkF(=v@T%{D_>Y{D85ONg5KHg0Ge42gESUg9+MGdFHVoT@dw$w|)7w_B z0YnuMSsGsEv=dEY%D$s~c#ZIY6HnU5t=;PX@}Rr=g|3HbXm+NAl1bI8-b)>M9Xu}o zQJ}AC7#DdwdzlEbR^#HnXlbaO3oZt)upEQ)lP7A-`LD`YJNz~@3An7-pAFoc@s3EY z#0Tsa7rk#lsHqX-eml;uf4)(Zm3mu>eu#8vF(tM!+hmkj`iOUV3K0ZjMpgOkDDG(O zH+fw%@#p_|qoA0cHZUP=?*|h2OXU}g>En9M1VyYX6fb`+(jWc_TR7uQi#aezO4GV` zFTwSAsUfGD#?RiI(47~xd;&7R?}l_8I=j$Ho;re5_q3Qj@xvzcRQDyi`=X19v*x;4 zl{)a|sal6m*^i!%G=xR+0~@jgjgS6kX4WMFZjEk+#yT@ezQ@MNvWyA8?&Q8@ni(<- z8zJ#)=cQou>Xqk)$5xLp`}^fScTqrq%Oh+L`{P85Y(eeuaz*UzVxH9~JRyivc$tLz zGU8?MR8IH@6AvG~y7|y~PPV&`9~Opu`V{yY8yoj!aP`amW0S_yCFO8J7|Z183Z97N z@<3{P?DX_JpVyt-_i#T)8uPa9{y$xPl`d&|2()aYXNs0K%yGT`gAJxQz4$Oy!B}hx z--(X2;_jsN;6wyw4&9xWzbaqUX&!p@i`nJmVuVWfo_(XIOE~b~3J6{yc|?>H^ol zm;H){hGg=Bgh|i>mcd@+dY82{eg77eIdqQ&QkdHf!&mc1@v`#s8ZQkvy=4*|E>q*J zI>svO^=RVmvIabW6TI+Yl`jUovxXqhJSuGkqocEGS3tw;{T$JK@|8@4IV`SGW9nGw3-`UGLHDOZ6W+wcnyNZ{eSHrfZTXG$uWI7yzrn}4 zD;}MYlwfx8B!}1pR{Nd@Jr}i>rr14i7^WWNVVR8Hdn27)#PUZvw{PTyY{=Poycr8w zL~|`$Q>dZAF;d?0s+MPxF^_iJ?%pLAYTQCyO6ZG^M=e}BUr0c}?_9TgG`8Pw`=yI% z>As}N55DJeLq2p@IBDrU&@7kBwX5y-1;;GdK5-14jAlQEC0*8OJ`e2E?bqI-MF zI13iZXnK(X!mE=gxP(ABnmf72FXYz(wo6l2S6vkPscL^*Pexkhp?0PW>ttOMHBUdlqqc;Vc{w8 zgozZ3O9${w(0#9HY~QM{5x8&Eq~v1cwRuo`9+lsB^*4UeK5yF6N}|_SDE2tt@@lW} z)sBzjV~@K!$pwSYatRu^fs4V`Ke}EYv%N!t8O4>pXEMLLxA$(@Rfe`ED%R_Gk}gxN z;3LfDqo|FDSLb}HCS7KWW?4E5QU3HkqvNt`2<)#<3x34t4j+Y5YK)2ya->ejDcLWt zJ$#g8JI@fEMfWJgyJg|>-@n(`l-XcE9=D4{8v9ESPXw`a&bz3`A;hfzAH95prbMf} zm7ZRdn_ldyn4aG}iD@i4g8$_}f1Q=oOms5{B9?A?UiVWDE8^9#hhYiaeb8XYHT0&` z2+kHld|_H%d!1RE>8~7e(?1tmhUXk%Q?x0@U8^&rtGe=1gBZ#o+bBC|(Y!`R26ug~ zX_vp%+U|ja^%xU+w|nptu-QCH2gb+Ge^=&JqmJzi5=4+-_I2|@|H z#;=qqdYbD+0c!}Su)?29YoUa zdn2=@G;9c)d3yby)&)uH6tKmoU!y}i(ZAPDMx-4CQR*vstdXBEA@ktbGO66nSmv(w ze9lM3%3m+L?f9|SsjE_gy&G;~hY@Aj8=gkf_AB*v1vQBwQNr8-m%00lO(Vo#Z8AsG z-lsRNFH5RK39c-h_a6>LnJ3gr9O8VdxCPm9(W-256GE~A3D5bo)-^RL(`V9aO@z3y z^4Eu>qbN&lZQgLQ9%NLcM)zfTIM0&zJ0&frn`^~)an9XKKHs}4#)gE^yd{b_P`Rqk zC-7|3X`vsPsA>!BbOL zB_@*W-J7Qm#|(|#%%z{Zds~yhYeSQ0=9!2D&Dj)*_fFv*P?U+7qKyRp!)5H!CscsXY!|;lIDT=kXi3tJdd!N(m7wpK`6FT3%QrCPz1I;8s zfnPv|2m|?A*P7+=d%c%rgQG%Knj>@6OYpyQt0jfZz09BWbP_*jG_enORBtbCiFUPI zzsYI|6XtHA-G3-%t}Qy|eT6htQYc2G539Wjh*o{XJ~0b3-vZtsP|Eba?r9_BR+esZQsbr1@t}iNL0yKmvB3*ZrGsKZAz3b5SWl4xo#+-h5b4aWWRKp z6wk9JlCYF&Uv86h5RA#>jo@?rh|x;MDU%>`qXG%)L}}h52WQyyR=2>^7;45J6|Pi` z6%4F*5>bZlC@m|j$spVq%n7WHz}1zj6n1yN5fH8U`Z{w{p`YlhX5SKp?g{v;0-g}{ zC1baaI1P<_29}ZU{pqn0XUEms_wunHP1&zhGq=63>J+vRx{Z`0n^nL{BB-Iuyh0=7 zLoPUOs_VLqLN1hz26sOGSom}Sdnm6U{c-xwvjVNrFY(bsLl*ArD%`T1MTOf3Rf^b; z?m8J>XC<>))ZId=ouzq)5I??SO7_=)(K@j+fEK2o%yu9TQ1rT&Y2CxP0 z102Y=kNsPf**u~n-e|5?O3u`DWx`&}iWiqq$?pQ8h9y2Ys8h)$)Uuf5;I%h`EEd|^ zIW%~9G76*4J`a_36*W-P$A^yaBA{olrFR-^{Vw7azN&g23m)dr*4ZFoI#nC!lkJx0 z#;U`fJ{vtf8+q-D-{#3r+Hc9UZ*b^rP!soo?%F3O<>gp2%9~2{V?wAn& z=JvK792P3~mA9(Ax2NYelpNKz6nvSQMmxLT*4^#Vo)-Yvbbd#xRQ~>wQbzj`5fPxK zK~^&I;)Heb@3VmA7nTZmE+$KZMG=t-uC4^ibW+~%OJjZgAdvJ5TrMty=554=5l9iY z`r&c*_u3zQ;pQ3j@#6)+Q_c&I2V};L3|+>ilPqprT58TxwIwGfW6HFXepPol#_Q;O zF|J9rYd7#qSR}mY2Q$h0uM2DI_fPh@?Q+UYt!)O{+HOHq-*p!JpL?B$lHpnv6%uP6L^l76cQ@`#wE>p^}yfSdgg?x z%GA_|M8RG44&>3eS8CL7QM*wSOJCI$&^626e8I+Xo>p>ckCK`e5z`A1$} zZB`|lP)qr*++4+k{K@t(|L1NEP&iEyq8{hLd9U zR(9fE*EZf=@*-5pAjM##@(54s{o3lfErFVr=359d@5FEyTrVksw-h}qXxfjZc5vXj z9InNAA7^HzhRU|r)78Bd)LwnpI;x`TVmJ+?l6x)apGH$pkVq936$lF}o_QS0@$i83 zm*r^(K7tb@)Vk7>$!%lusUay+a| zPj{fu>~PmNU@k6T!E8OTRtLGiRc42`Kpr$ntzc%RvQcN}uZ9(u)R_klnbAW-;tXw0|JkDN9oIXyF8@W@D)6YPE%?Be>dG%tTIm=lFt-;4SpvgNg}yZFMc+2${fXGccVH1vy# zC9t802!$RmkqtMOq~yb=o1o&W6tAkXsth*=MNR$2kdWIX@wa7Ug3(xnZU(ZO+>fQN!h(Z? z0dy~VceZMv{?{)&+-AiG5-%0XN_J*l(#JJ4gMzODmc_3WSIw+;@%W_7gzBmb3fY_- z%Q2x)>EQ~W4-+CXP%;uL zmptCvZ8af6z0e}CqMkCx1D(`tuaDR%hR!q71cd514Ef<5X4(kpTpM3>g`? zz6+_VEQaMzj*e-R6`u2sZO*!oySN-XA0OR5JI7dD>E?L#s+Y%9E}DvuP5iNQ-xw9( zv+^fvAja?fd$b%gu*^Ra_3}EWm-IE$casdDD=o{Pb<;d$Wo5nodlb;L95*yKr!S7K z*P~$T>#tNPWG&nR2}d0W+hz5xqSv?pu3K6REglhYle6`&;;fJ^FpO@Utl?Sq_l`h| zQ{Vfg#^Si#bqx%TMOkIFRUG3+wIR<%>NDX@>#Gz7H_hCPGxZ1+YIv-wh>q?^13zx4 z$&X^$T(u_|Eo8ggC3z#I{3K*#P~ho4-`SZbR!^_Jc8hx(1Hf#izanLhPfB_}RiFDS zcWt=c$IZ=+i!^T&f#5W%t*@;`b%BM2j?TmY1LMP4$RwbFfH!1ip<5c{0dI|&IqXhk z;!nex)W}G7QBfx0)$r3`F$1m4jANe5(Y;`1Z5^Fh+Np^Pl$Dgjp6U}0VCRX_g!79^ z08TW;NQHmkrE)S84pdtFTA|-$1-@xRWRj^CE;VrdTsaE=V@{rBPOjy(iYaVrYopRx znVTMZDmb>byy{5;5_KOG^+A7)v?(F*L4HAjXlm=|vXf!u&55Srpf;0=>&G3~>?|CK z#H73H6Mz~wQKr}A+iAna^)o)_HUR-La$~4O=QOsv;;WsVU9I3-y;?gn-~vpR!GF2r zyYJ4}S{P$OfLpgQn98t#k+BXWY7S`wbz3xS9FM{k;c|9~+L=4rM^W+31CszaBjf!P z8k!o-dZGS7pMOADSPh@bi4_`7s3h9rUgut5NuGa0hKIhc;TLdsqMUDj{VZ_EDK)Lr z(G;Q-8-Z1qTq%w;bj0%un9Jg+uLOQBr?*l5FI%NA?(wnC=-pWr1@w@mbzjo&-l1yI zZ_IK2am_fj5wP}0pSX229OggB6l6IVdUG)tIpAJ2jP+e<^OQO{)1=s z-!B)Ki2H_)C;Zokb)UP13J(zlTv8!PH0*JvLxSuqgfKG=IVGj^2~Z`JRB>|O(dgy+0WN-zaS}VOhE9!UQfGam!nEANM*mX(&=q`t;=pc;WKQgfTqL_ z1V1}v^rr3##M`-D`V!kB##|OG+xYh(5E4~SQu6L4V^vWHtCaDfW`=u%3H0x}BRA#7 zy8TjE-Y26}+{wvNfA$(m)5cyfx-yt|dL8<`8k4`Tq1CZrnV&%Rldyi}zYq8z)YF+a zGqcdzqu%JvUf9{y4sccT1o0o`k!&nYeu)=|PrLzPW^#lF4>Pe;+uqK^fp^Y%t*GYx0@J; zz7kO@E+j7zgBb|V#)^xJ>qsaBZw5d^P?5&l;D!BYY*rQH2Ml%>+NOT+>9L>RJaCJ` zh^}u!ecd#Xi2-#)v=$b^u4fawVpMCOe67wNF5rCP`RBPzo??a@`Xh6i(#-|3I4ceY z%OgMBTuxqKs`vPlcGru3u8JT>RwN z*v@nVe8ysxSR#8@%w0%8h-57xL9?$2GeHw;VtkU6vC!I@pXv@f;tQmrp#ieIBaE5I zx07{UHaHu7*B(^hJH;;V&0j{fPdA$iWfQ!IGjZuvcz+8Ijrq9*YD?7?a__AH8w)Ba z-QB;JFmj8V166L%q=RpzoLnfx}<()HDA&>cs=#3#G zP~pl;B?(y0q9P)9AQQu`TdfUa)s>aJU9oQy$xG`3_M1;D?-$=KLOp>XDw=;i0)R)n zKKMOX?8U~|Ruy96Jwp*Ww}BHVAQE(U$GSXpI>eEbYfNJsk-S1VGz_F{GgU>V)8g zNjaGkDegU>eHj(?2AXO%olI}K1g=!xoAjRFy%m=G*Y;xWB&w25afs4c!{ECFG=c+D zD`&lchio)wgq^t%ru0uJoj+-`x93xPt!oILE`LAI`=9_wY-Gzd)|5FnXN`i>5R}=2 zLS-a%y4uLmjos9n{L$cG8Sr10^}k3p?}UcpzTO7E0O00M{)ETJB})11Jx)`~;B~uO zVQ$pY4Lo-6Q#NL?RXBY-iom6(hX=JuFUy;pS5{WW>ga%Df)4|zqpK*uyDoH$fh)OQ z@Ov+sMn^@($jB*WixM~Cd}69jC6YUoAyrph-ROTT`1I*FmVlEU<=49Y{VlUpVO3uJ zf?3;LfAqlNs0AHBnLZ%kegW6wf)ZD~Pfl0i*?aWqljYjl+EGN&%1#Dp zNikxTf`@yu#L#JN8=1syibXJX^)10%s4X!vve+#i@8CG{ghIq=`2_r+l|$wo#al2K zY#@pVdS@Y;8Wx5H0X?>qgLBZo{#l8+o!yJoJd{o;tl?FWeWhq?TBS__~;h=CT$qjAHmLuut5)(vBPN!-FKiJl! zQIyMcO9AA4K0Ya^wTGnkMQa8m=Ed2F&@9k!tIo z>Hr5%Ejlnax$oqMu4~BE*sdFrRSj&@{#q~fGE-&dy@s^DZx3;rrRva=C+Xm4-a;Ti zCcOL$Np($44Ct|$-Yl4wzg#F1;>mX9re44NWYpju>||6~Wk9?}$}CJT?8)%-sW2xe zEu^2C20i3E4*uGoGcqzXI2aR*MZnL?KNYa(*sXV#(Z1zr1ZFez)cd3dT$gSVI~$wy zJ4cE?GT2CxvE?k2BpmhiL8A`Ovb>-F9x;H&o|aY`Dc}}{j{)7>I4F{n-|y_|3J(uw zV`G5=b3=7BHIaYx>OgZ0ETRWi4i2bmKRL&jERgoMl$z=I{U-sylVW~^0V>xVT`7$W z)Met?S^6+rN6QZYwG=8SE@Q53UEF-9oT-v76&vGE@`P;$-qwZ>Wf^tE$HzM?R4@Jg z&;-!r>uYPfgW-Q^voN998?n@ajbTtEh#mV$Lrvp$pt49t6h6Vn2ULUtyaPl1H~JUf z!}95!co3(;f!d4`XbHoJ$75I(Z0zjOx+KzA_Rdz5YdZFq>=Kx-?Njt=>~@cZuRbD>?JC# zfw7Y@l6(-r0c+`{P#@}IzaBG?lCA*Qc*7~()Qom46~l5$?kKZw5>94wC|Do~_dU`?e>G-Z6?7kVV|-w0k0RQES2=f%?3cXCO&4+V9eI%i zaL8ax0oLy7x9+9k>=wWBS28kba$j#j>Z40gYj?M;RRIySZehb=%p@48>aq_!t_baAszvq)m=NiW@CW7X=v^zmSla=oBeqBKf)kId@M_ zk9MQkucXN)5MjG*yuil8gEu;v|H$hq9JK^@BCoV`?f4+Qvhp58BVO*&E@cZMB>?fi z6n@wmLEk~CJqiZwx*0MEN9fHNI&$(#TJhYShrf5 zz5J3U=Y8^rQUPrvZ*&VVw+9@Q=sO1ol`>lcF)-JMQdTyfUQ_Jexx9FPBx8El^h68v z_L#2rvi0+mv9@Ndnhk0uAt6~>UY=`qi%dw6C2}CYyx^Wl;|b=uP^cd=0LEVb70$I9 zQqIIA3nue1Rm87RzV@TvJcX--#Zx&S5bAv|{O%@Wx&r(_AhwPb0>#nE*;y_m^x*gy zeIi$0b{Wsrh2LeRTvS*%Ji!A@U3b;Yr78;{b)t2>tlJzcg6Q@g`NoD83ENU;W_PAsHqGzJ0qK4^+$!LzmFJw*CNr5x% zFK4PgT2-(CRH=rlrzim%DT@PHKcc_m^t#&G9XoFysxdG!g7!kF`Ofk(5=_&9#c>v$ zy8XG*vSLejc48f)7Jt7*bUDHtko)z*{GzYhDfv7FUMJ?(80hMXR_T544umD!sQfUZ zz&lxMP8T&FnJhEfpFg#5m+_`B`FAu{P@OqFEi&NH=}}NzOe^7huol@9b;_FgJGSoq zY+HZ-Wyo#sVyrl8b8=G8-XTJ%i3GY4H$*=7K=Y!5gAZDA-p((}Thi0HO#9WDlpA-wb`6dYQ{OBvQF~d#IiH*z z9QFbx%Di??pFWWg*?IL>3Nfj|LS{j8q5Rr&-Z~7WVKnqj@;(&fO#>XzSWi%Au{Ix0 znonxjLM84=40*y^zNUQL+S?;1r9DTvaU5IC1J*0vDTB%{7_HhCp zq@wnAgMI2KxW08$Y8Ysk2fPV*@IcrUX8S_B2XU6fp2!V!Y%veiYQyT}VVPlxVND~m zDCs9)XkNc|+E1U9*Lj5lrArdLH=v}Tkg_OgPp-Kke&Ua4NdZiop9ZJC==I(BUQ&!}VV!Ajkt#;)EIpWkH!Fb?p+K;v=9^d=Su2i; zyWgM4z{m`63!kH-cW1^U!7l>zz6BzBOC^DBaUqm zYUZ4 z(smIE@ie>5M!wFRilt9UNvd<3C0sUm2o@&uel4jJuiKFO6T6`_36XBUiORKNN}rt3 zEy-Blc?+cs;os-2zn_383ApbfA{prtJ_|78?QI*mk9Pq^2^B*M8sLB%)}C>fXT-4! zfAZquqZ5j&gLvj*KTpSjuPc_?W%L*Y3=mXq)yr!V97eR~;_jX*X}_%+TU#{*lzrvY z#)pEa`;f3`R8kT>G5T@Wv^npgg_c#%3e~7VEUlD?_gK$h(I=mJz#1oi`vmk{0ZRht z635QKVD(SMOc6r!b^9e|evoupcnN&|Zc21YLP8P-BxRKE@*7+wMN&M6UahvFf8dWF zfvF`NkfTdLN>d&T#>Biq3XP3VZmh3IgolGC0Ol1I6_AnNC!xZHE{SNEuKC<|tN>|D zKr;cTM-x7(8Y*WA^5tRa9V!DCdFu+G3DruO z>GS80Kn2N=In>(OIp2AH^9ZbAz@a%^#~Ffyy%}R$Q(Ie?o8LD9<@)mSKEO!vE?9CH z{aRoA&_t@A3Wl|`bOsqYxl-z;G=sHI)DVSwVcG)1EK?2RA?Ql8Jx*QPufEVUI`((- zSNlciZ87iYSDS^+N=mOt?hCj%SA&Kh_p%)?stc8r2xIBa(f0e))-c28AmckirGghpvw{XhfR<;Ch)io<> zDr_7an!T!4PA|l+8bx>@TwGj1hnX3eIJ;Owr12=SixvJ_RJ35Q*q`}dLq4I`5#{B? zRVjb(?}teORzS8~45biiw%E?tcnOJkYimou#lmq5vSp71WEM)Q6oaiCjQR~@W=bZBW1 zj}f{;<(1W7YxcW<&q9Qzt;hcK(D1g59p_C77rhkV+~VQkReZS$x@B(ONk~tLT>LGw zyvqb=@1J@sclWV#^Kvl*4^?FT=^=|tOMvF~2n;56z`_EE^N~?FshEkm`Ij%506Ydd zV*x!PGBTWsnuw9SwyFjrP^)aYLDHZMjGfkriR3edkKUlO8Gy)BXu=U8=?ol? zqqMSf@W;kB{}|c!_MTS*0~O=;r6TH}EPpI}9{50o$NV%IVtr`l$&C26}qb4=%<)z}^bq@N$hR ziK>o{)*L(DLwV12Ozg+p{ z@R&+>v8vjMYnY=mYI~@{N9u%1Z15211;E_ZPQ1enb>0AABdjD~wxOwdCxyO-G2kfg zPB%T_M5AXr9MDumxVSpiW+JqkRdW`?A|i85r>(yrl7L`TKObL6 z0Edv!;FryAnN(l;Z_vEQ>IYoMo(P2mBD&>ZGAS+E1PqMYiN(3O#&&seaxTM(rM8X~ zkva#TR|=yRzZ8?=;u@WiucJOd&+@SCF=ib4BI0za_(st-hujnn#erax(Qn?Mc# zH_w4Dzezz650}tbgI3DP8~yPQxR=6WB5%_9AMx;5FD;vQ%ww8N5oc7mI9JC;MI{SQ zCs2kN05vO}XLNpYzoIm{=5pt|bdWTVO&`TnM;5_9Qu2W$AT@v#4%;N?%-_1Eotm0j zVCXnHbh}d2*|8m?;{icgJQ)DvQGKs{?~x@HpB3b5NfqH2E&AeLFj5IxG7W(Th_)(0 zQwVZS-M>iQNQytq#|)|`NybrBzN&B_V27=3P&{q8|B1}nTGv(M%!8u6Sq?vnCs-?6 z0themwEp=7XjZVMd+g3lq%l^Mkz^vj{ifW-09iOP(f9#-P8*-L>g(&@e56WA`R;DH zbaMdQ-4l(6`mNOy=7KC#?_8!M#FgnMNQ74O2hp=xWd1u-Q@^CEy!Kz>&3Kov_uGyG zi%rAn9i5#C#1u~$7<&4;x^_S}zVgZn;Fd8oMc@3w?`+-+hW!hZB%(4h_ID9l!0iCd zGQ-cGsFX?PkAltST|0Zj?(VBi+jBt>P=DHw0r%ym`0QNDu*zLV*6WVShg$(7!Ti@I zAW2FkFyQ7|0vy7}u?l_x%UT}tHo@JF+4~m&8zDZ_4NbdjjKVDsjt;<-0^7f{`odsW zb5^BL16ZN$Z8iX{^>Uf-j;2LNx}UVpZtP4SZ-E_TPcNyY1fGirXeWQyfp<~Yguui< zfBqXdxhAG7xRJR1eQXb?4@<+1BGaN30q0KtjfRntvW(21t{GV5e*ftY&>Q5(;$nRK z7?88^A|v|y`yM=?4ruo$@sj!{C4j`S_!~@)*zkG7Ul~6E)dG4YtMuZh^t+({3%&C6 AoB#j- literal 0 HcmV?d00001