From 161c1d90da815751bbcd42a90753c869cc447701 Mon Sep 17 00:00:00 2001 From: Jonathan Norris Date: Thu, 20 Feb 2025 16:39:09 -0500 Subject: [PATCH 01/12] feat: trying to update openfeature and other dependancies --- .../open_feature_provider/provider.py | 2 +- requirements.test.txt | 18 +++++++++--------- requirements.txt | 14 +++++++------- 3 files changed, 17 insertions(+), 17 deletions(-) diff --git a/devcycle_python_sdk/open_feature_provider/provider.py b/devcycle_python_sdk/open_feature_provider/provider.py index 9911e77..42a5eab 100644 --- a/devcycle_python_sdk/open_feature_provider/provider.py +++ b/devcycle_python_sdk/open_feature_provider/provider.py @@ -6,11 +6,11 @@ from devcycle_python_sdk.models.user import DevCycleUser from openfeature.provider import AbstractProvider +from openfeature.provider.metadata import Metadata from openfeature.evaluation_context import EvaluationContext from openfeature.flag_evaluation import FlagResolutionDetails, Reason from openfeature.exception import ErrorCode, InvalidContextError, TypeMismatchError from openfeature.hook import Hook -from openfeature.provider.metadata import Metadata logger = logging.getLogger(__name__) diff --git a/requirements.test.txt b/requirements.test.txt index 72c4b8d..e257c94 100644 --- a/requirements.test.txt +++ b/requirements.test.txt @@ -1,11 +1,11 @@ -r requirements.txt -black~=24.3 -mypy==1.3.0 -mypy-extensions==1.0.0 -pytest==7.4.0 -pytest-benchmark==4.0.0 -responses==0.23.1 -ruff==0.0.267 -types-requests==2.31.0.1 -types-urllib3==1.26.25.13 +black~=25.1.0 +mypy~=1.15.0 +mypy-extensions~=1.0.0 +pytest~=7.4.0 +pytest-benchmark~=4.0.0 +responses~=0.25.6 +ruff~=0.9.0 +types-requests~=2.32.0 +types-urllib3~=1.26.25.14 diff --git a/requirements.txt b/requirements.txt index e3e4bd8..5793e32 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,8 +1,8 @@ setuptools >= 21.0.0 -urllib3 >= 1.15.1 -requests ~= 2.31 -wasmtime == 23.0.0 -protobuf >= 4.23.3 -openfeature-sdk >= 0.7.0 -launchdarkly-eventsource >= 1.2.0 -responses~=0.23.1 \ No newline at end of file +urllib3 >= 2.3.0 +requests ~= 2.32.3 +wasmtime ~= 30.0.0 +protobuf ~= 5.29.3 +openfeature-sdk ~= 0.8.0 +launchdarkly-eventsource ~= 1.2.1 +responses~=0.25.6 \ No newline at end of file From 4fd2a031f6285f82a17488c5c5baf9e58c37173e Mon Sep 17 00:00:00 2001 From: Jonathan Norris Date: Thu, 20 Feb 2025 17:02:12 -0500 Subject: [PATCH 02/12] chore: add python 3.9 to unit tests --- .github/workflows/unit_test.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/unit_test.yml b/.github/workflows/unit_test.yml index 193b100..83d4823 100644 --- a/.github/workflows/unit_test.yml +++ b/.github/workflows/unit_test.yml @@ -1,6 +1,6 @@ name: Unit Tests -on: [ push ] +on: [push] jobs: unit_tests: @@ -8,7 +8,7 @@ jobs: runs-on: ${{matrix.os}} strategy: matrix: - python-version: [ "3.12" ] + python-version: ["3.12", "3.9"] os: [ubuntu-latest, windows-latest] steps: @@ -17,11 +17,11 @@ jobs: uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - cache: 'pip' + cache: "pip" - name: Install dependencies run: | pip install --upgrade pip pip install -r requirements.test.txt - name: Run unit tests run: | - pytest \ No newline at end of file + pytest From 5289660024ac73cc326d99f719a0346985ca8004 Mon Sep 17 00:00:00 2001 From: Jonathan Norris Date: Thu, 20 Feb 2025 17:08:02 -0500 Subject: [PATCH 03/12] feat: update wasm bucketing to 1.31.2, update min python version to 3.9 --- README.md | 2 +- .../bucketing-lib.release.wasm | Bin 214842 -> 215020 bytes pyproject.toml | 4 ++-- requirements.txt | 3 ++- setup.py | 2 +- update_wasm_lib.sh | 2 +- 6 files changed, 7 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index ad22f7c..c537f3f 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ This SDK allows your application to interface with the [DevCycle Bucketing API]( ## Requirements -* Python 3.8+ +* Python 3.9+ ## Installation diff --git a/devcycle_python_sdk/bucketing-lib.release.wasm b/devcycle_python_sdk/bucketing-lib.release.wasm index 348b8bd01f30cc66445ede5f41c5021ed7e501c6..5eb145f5992cfbd5f1be3d6090136b3bd2037b86 100644 GIT binary patch delta 61081 zcmc${2Y6M*_6K@qPAVrMJH4GGCj|&3KxmPkoX|@U5MlwvNKvFW3#bVes>JAsBPbFS z6+s|~f}%*U0|G(p1%h2EM!o7)QQmLO?0s55|Mz|G``+c6U1s)_HLI^Rb9Pllp1LQp zb_lbt2wE}jGtI4#Kbp*@psLPn43 z-_`b!I27ELeJsufXR%L2Mo4_zr}n5D%4bh5zh>&h{xfEeo-=W_?K3ejBt7q#J!;Ox zxx=TH&z&@5_O!m`bIWbV?Xdx`RHF^z-jFzULOc=TYW2B28ddttm_BLpwe*du@P$3n z@1^ZaaXKU^`73+eb>(xsbA;=Ge~oyz5^+dFs5`6Ky}(o6Vv&)Tg$_M0>1y zbYFYz?1|Tw&o$rwD9(mvv!8@3EIs#Ud-V9J6U(R1o9WZtf9%aCdd73fIdewNm^yXFyt$s@zwNO!2E9lnGbY^JXDVvh&e>Bvuf?6=u_={7 z@tzmgQoXW{y5>T$E!Tia6@1nnzsyTCvPH)fI&3*2peD0Hd?j1h&aX$A6xKFb{ndnoH zWZjFuBD%6(qA;>G2OBPrT*?~7$w(*r&-Sq9kwML>f3>@9h1}+@6&W!Jy!uyhQH+Z& zm&c^1Q{l6>2Nl`e##|%ZjmMm3jw^u|E*tUml`(Z_xh%F_?47^b2hob=a$6S14L4Q@ z8QTY?pTv$wzuSxBezC{j`70Y3Y0K_hV!Oz0Q;kw9gOi5m6y-SFl{_cHD9(w@?o8`~ zA!T=VH?}O~LFlZprO{WsoRpZ{*RQmdS=tJvXOa>}`IqLJrMU*)yTh)}>5NOz6m_wN zqULV&&uQ+q8AX{ayR(bwo+GS!a^~YaQOr!vBk-+B&S(4O?yp!I@t@>t)2e{Ko!t>= z*=5U#qSkR6<#5*kZuR1(lp73x(zxiE%!&^_xYq7?}~v_K9s1ovcd!7|oq*pX@-FDjAi_E^3~WMzisq zc(O=!{nIC{a?-8oV#>_T44cjIG-LJ(v=oMxcrk7OxG!Dp2!3&yJy?wxp6Lo!Alg1J zbErQw#JYL$;`6LrRZCmo{ zZ^UzLC$ReMDeXou>V8`LE^MxNtbHauywScTyHT8OpTY);umV?-Ud%YPg68P;*ozA; zXH{Z#K@NRYSI{;_*Cd3pCNItvToJ6+P#!M;y3Fg4pD;4h7SWvW!>}L<>~AJAJ7x^P zx`w$~P7E;HX55$wOm~?}UHvWak1!rL#xr(L5t!xZChdu|js=5n^u^j*{W$=jKldWE z>cGWZwzjq~V;Y)@q@npzLzp<%F-AF_Z8*%>VVDcs&`fL;YVD zbxBCbt>LIn-Xp@*GfMyITVDNTw19lIEQI7#g3)G=WKii7D(4?3cl%Z37; zAzF4WjJeb*_qIH}^U&s(?{IE=g3=QP?hFnDMN=ADUAn?(OB`!geXcj2)`T?l(0Ikcp_mHgUs@=TtFwxVeQO zkG)sOspSv4c4VtXvu;D_;j(U(bosbj9vdb?y7#T9`3}P~VGQhY*QsX>TzYO$&kCZ% zY220HQ+)*|^<1N#)ri$|oqAToRL>3SnXAQ8-=C!Kne{C8b&moueAGR!?ZX~8#km{n zZ9u=V7T^?Lt_SE8V}=4SR&?l*Koc3%qfMG3g7(>+vzTJ7gmGYEE?aB6&3Io_>xvtC zw7F=7J<5S*pJM8=Q$MW&!0_^U{qzc+fC9es(^6!<7u(imtYcZ4Q4_xoLZ!MI+=OXD zif}P{CS11}8^xfWS&3>`E%dP5ac3PiR6#3Zue&4rMhxklF4yc};c@k=7-ZKsCfQKC zl{I2vaY|ezn)5HHepICQO3AN&6#W>xSwt2MHO|6wAVbbS^d_F`71i<^7LghFQTBO1 z;@>baqHmfSV`%jcHW~^B-L^BDa1p?^Xn<|S1*1sv8HLMiFv&aTr+XJP-|aKSnv=5n z0iII4+{11NfHf!0iKPcNnbD+4y%?ghC_!9NWW=K(j+Njg`mrm1sMQD z*on!wonFjd*so(JUl`SG_s1(dyKH&(FynC_^sjtYX3pg)@!+jKSX&9OfXd{EMLd<& zia+~aL}+bFY65VrhMO4BFI%r!Xwx;rctZ4eWb~apIXx%~G-04!|GpYbif-(e)Aezt z`MECuL;e+j)f+X|Rc}Y#$Qla0BuZ8VX}x? zjXh5>$7PI>)e<%ZCW`w`)?eA5??d>2U;1c4maZ=MW-zBP2DSFnFV$Oaye7sE%J(aP z+Uk_G|7GE#Zcqq&O}sg%ET-}_bHBsf!K4yH!QjRr(SC5A-)Elo?i}2Ty&;|+ob6Yv zl;Os~m+{KeV(<`B8RRiLOBLIP+(P2E!_e6#P&N$hN-sVi+Mkt*)}=$(n_^z+XH>u4 zuPjka8TJ@o&V>8Y4AK7L@#Z)3;_j%h{piJsq#DZ+`*^%yBknRwmye(psXM1A9U3aW z9nn2R$xtR6_wzW>bEMO(dF4p|n!83`gfGR#ZW>GO=oV*kg!{*MFw zABS34rk5lDdjAfSit_>Gf-w1?fROJyv)Bw18ip@o6ddIq2j5AVH{5+#0C$uH*v2emF zI2ltXc5kCRquwce%;0Y)CCF>~c$Cz2(Qt=7GBL*2sheVV8NP1auA+ESl%HBDfBb@_ zZogsDBmVAHxvrSSicZ%p^{Xtl9q%V1C%0fFa`+mSEy^ZGrzk}brcf4F?rNy`Q260d zG2CL|xW?4K~p;7 z??qE8?QpHiV>NKEe>tV2sf*QrmgF}g8fUV&Y-)1Oe!Jx%Cts|~=J+v4!`B5^S)S*W zQzx)~;*Y7sFJy;zVN7(Ib_wezJAB4c9B!MNyPLafS{nz%)6<*@%Ck$3iy&1J<*q}C zU6zmGsqsz98tAL$)8RfBdDFA-ci8lftVpcONX7k{>4VJipPZiTH-2Hv*n$dsW@P!l zK0RX~bkM??9a?JtGI{JAN14}`4kRGRTdR+iNf3|C-0t5>`TA6G>#P{GR6UEvw0)Mp z2_wFp)h_vf-QzujLaTIUH~IJmiuSWFW(P#Y>_YtAF}n;6M9xXYed{?HY>*fd z^)HNGlq?S487ww+3>OP-=;BwXvFyDYI{UpfEwWJ2;l{ST)iPxP@0A%0G{|!an6!WZL2Sv}*?lgC;Uoks1+= zg(-?2!pKLLXOtj%U4cT4M1(?Do#hS%CW=J4Y~-L&X000n1SC36WZv$KJSgfvd&JJGw-UOMxlP zjB=<@JXkz@N2>Vgju^c4trvY~yD(Lc8|7laovkB)F_4O8!1I`(fMN$>*T@o%Yic~eqyW65WU$7t|XpA$ait?&> zJ~-IyED@;qWYti$BANFj#RBLKi{1&V>=1%@9|yz>crrMgl)6_`lT zSj^Kf$=xKKP4}c~w=(HjRgG;%Bj7y;lY^_dB9F;=KCt(W( z!#qr0oT%>G;xc!41$6TMTKHJx1tSE1cdX>#d-Kz0SkQ2~c}|SmMj>mT#_qqjJG)#Q zzBj&Tu-O;BZH<-);r|4}qXQr3o^cIL#N|@Do>oODn9GgvBKy9g+=<2n%p3L9%;5~A zdD)EX9af;6T+<9Iwd}rhI3l0A&lNwO8q78Ow#Y{uyD!~7(U>C6-RG>Be*Pu{+jKaH z`zg+$;r_2{qSij&Z|%Lh{|Gn*6{Mm)Nh==pL5sE6HiO(115_g>{gvu(&g0XDnv^P% z?)N8jB}qvKn%1cmbp8C5_w(zg|hb(6EM2`p4NGH1D!Btsf-Hn~yuh`t7-KqMPj{Xo685iV#k#%NK!YB};ioU3!$C8FQz zY{a}LukL`q53L?zOtH|!KxIOcUsqp=mn0{`D4r4I3d76s4`nCLvufs}4AfJgDCY*T z<{>ANI?Py7E?#ou2C?s<)B>YfYcRHJ0rX_i(B9bcf0j$t+1! zJRA+k-TQDajP>xtDFmF859g+Bw`X$XDPU^qPDOn@=AtNAlYx(hugUCfLIL>i23f%C zLU2*ubsfo5Uqd>?Wg@VrRD9wKKx7Iymx`@xQdpVTzb2jCEWTUQf><_mh(yuqk$kM= zs7G?}_vS}Bm|E)AM^eoiaiZZ77ly#rQVtb;6EFI#CDC%z+7^N4?*0EFKE7N_okiE= zXToOUQNcxZAugLsv^0Ovq;={SJvE1R6teo&~~q)L&E7_QS=G7SbX;zrLl| z{AeW2US*RVeYB9>Dw;jky>)=GUw&bwg5>QTk9ADDhjCuPZoxDzMB=9(8<TqAy%zd#P-z`aO0*=4KjCp%0mJ+vM7QQ+XUnyFU|Qe# z_(F}aLE@$LDdPAC!C|0O!n6v}=?UesD|@0h7I5Vgu4L6d#G55uNGNqtLg~;GiNNrv zf@D^8-;)`vQn;SXi(beqDFWSDiQ2JGrl9ObU1mmfVU#MW-TvepcAIFm;aYaPxMxFl z;0zAgSs1ZaGR!P$TR0&>e7_-=R_We}NaD(SDh^m%{L~VRci&SKEhD=uL8NYMi#LNd zx_VeMP*_NeKS!> z@|G<8?YV_W>bfoM;%NZXGcKSSiU-?`1!B{d&eYq9ElEvV3*TCRZ>wv1;qOgb^Gu>_ zrf3d=9^Cg(O_unrPfRK}o=K2uZi+6g9i{4Mr6Va}0BDq1te${N zoN^IU>V#Y86JTX*Sd&t5^E0hb7qNU-2>DEGt`K99sC_1m;PA#XL(o~w_B?dfdwV5T zV9)l}iHn#uWniGB2=KT@ z?_z0k*=8Og;&$DaK3J&%N!05qu3M&b4~q}IwyPE4#OYlwC@IZf?2}=RT;Z?sXX_PJ zh-d?5&3rMDm5C)UrgvKk@+R|@Yx7mvs!dgm_aaybF~5ADPLIDxY&rdqQ{2i=G)*kFWW;5n=w;@NI zcnWDJKV?{THW5Sn7lB5`4+eN#1R0Q#aaM;zLt>`idp6w$1%J=B@*bt<{{ z>N=&>MD2rC^GF>j8VBlf<1`s+Uaa)aTw}2a-K*U8SJ%af!Fx%&nX)JoUc8$7PeR%2$A#7VN`QjA?Rcs<^vYI$ty!A{@N|`k+E-mp z#lV3ySs|d095Nq62x?lHJN2qs*NE2^BIBa!wE>vH`>(alFNI~T2?XQ;)!A<7j9GV% zNg5~w`y%F5D%!uE47?lkdRAN&%L;{=g+g3xu28J-3Q_U;t)?!>-Uvu+>F`~O82mB==NrS^+F(8@aA3qAkwbV z7}4pij;5QPJhhH>%o~^i()g*5WY;|P)&fG-mizLPOEbB>m{4i3f)s)q5w38+sZ31S zmx*z#*mqfvdl)gGIDkWw2!TU)KspXtTQqSEFs?lCZDu7>kAU#HaAu7c8^dwdsAZ_aL1B$C0I*^(} ziwu;Yku)Blu_%54LG>P8 z#jv-XiKQk~vYOF*R5l^A@a=vONN>KK1$+DZw=*!BW(P^n5}gl@0OBn=NT%S&>TkP4 zZ880^hw_10OAlQN$M=at1M#=bVWL?v^zht3Rqk#dAG^gu7fy(iZ-=pFcI5vEdwpTS zGL{8iM7*EmF)kz(l`>RjX_eq6K5S%iy^Gy1meqIcQR=o0ApUhh?XDlYkUFl6>pZN@ zRcc9;DsHEkj$*$a6V1nE4y=~lUgbt4MT+fiySq0bi!nsx#vOHL3?}hmCq_Wf zBJD-h(Z~#lu0HC_Rdq;e+SDkk-?oq%SYf`arFY`k(Uwe#;CC}Bq*9FH5ckQn@nT-A zdeHc5l)7x1ph#JTWX5yonx`_)^86Rm^wy~Ru$KH*` zY|YhIorqW79pn!`ipq3;Pe)}2_!Vt;y?>8?#8haHMlO3u{Qd#4QwhnDAliR8h`lXt z{xCm%7%1wTo>x`~$)F%th}Q!zUj0y6hkt%p5Ve{?Dk|Em$Bw%LqWeebNyx!BwM7~- z9M@rB;BZ@unI9!Wsa^6>8XLC#iH~09c>(6xC7k`Eg{XoXYsA)1X-k+K{vuCIqOCh? zl)|bo)hkZJKWokQi%y@7jTvhZiZZ{T=RP9VeU_Z?2@m* zYpsr{U@VNOcror+JM8DFI;QL(WnS$*7SH$DB|FF{j@oz(yOc!aaf-6GIX+Csx3txd z*ofKL-NyqWV%v^iZw0K28vJ!JQM@o-%xH+D$TS=}1X^xJrm;3t5t+Wf;Z{VZV@^wD%Gg0*=`s~LG)BK*l4uIXZk7`Vx4_$mftl*#&gS$a6> zab&k{5UF1mmW;K$(WKW^AHi&MUD#WCgtnkiO|T@Ate^)MngKm{-jeB$W(ErJbz7eu zEG~EL5t6O`J6Nb;(pwv;VR8CvfA?IAK-}Y?*KHvJSzY;^%MWQ(UZ4ziC=g?y-5U&ZFgPOlL)r-*u@&m@VHr;^M&=V|M%)N^;6=Wgri zBtWU6Ca#u8N1o@o;<=RF}4chhmO>qDRO|HXwSr1mB|jkQhTtDtr#Mr6KHSV52`)$ zJ+%ir1?_G5p}nC-s{mxMvmr*UIQ@gO>C5CsXQ--a927kpY0gI)lf>dif)m|6Z{86c z@SGe+?gi!ND&zxQlwAe92P;seU6GHaOKCxrbq1S-O4YWo0#f7cj>k=$Aa|gpGmZR_ zcFD=Z!@-qT{rIw}x{v*d+_<9p&qPuElMd7A+ywFdPuE~T-G0tCYnJ~Uz=SE-yY}a1 z>>07~=hU1c61-;Y-wJBm+-eh~v7PBc8T}fI_d{~ayq<5G)+tw6A(19{D$t)iw;!SE zX1@gFa!@kA{A&w~5OaQs_G=$85tpd_rH}thZ6!D|$z0u`l_srrKv%akA;O0pqWITj zwo_d3Ybx6zF8<9GhuXvi0edqKJ;-=oZ2UEV?9JT*LI39t+WwZQJHX$Wzr_vkc0*Pz z9IV)31iRnt)p%aRQ@bM_b1n!n*&&IgMi9eL1IF$N@zZZPt#`2$(|Df# zw?N^s-xJwO;@972+mFU-w&N$@}OQP}>^l8l$3+5!<>G_#|o>EKHS z)qnQYmX{5iITJ+Vp9bOo@U!s_yVv86=Ooentn%FrKRbjS5)Yqk6&T7`%Jl5c<8xPr z0XKFD$6vHPUd;R}QBI9zaWHfq{ws^JebnF2)!*R1=}oTsJ4F4R{&!Z7VJ_OlqH&F+ z+g{DPu#n~x<)L_=APziF;=tb-)a$9g*Ts!>SASr0Kg0Dt6;q#Dcg~-brSe~0AIlOj zkU!43^3F#T;4u*VknRZ8dpp~;vL9<5JIrO*QC#IeQDn7pA&bZP0mQAyEYmu?QMz&i z%kE?PjEP}T?ig4q<;v(isYt2L>5TPt*L*^=qYHYrIQmD8ArK1i7hRNIjvM;6gKz$AX!Y?T~*4GZ!w-5LiuBvM7X+{Vt6{o$eyvYHZ%xq3rf#=(L^c52t9(+Rhb^dob9v_G%?Zoh;Y>Gqx!g-Jua$` z>w;LTn1dDv@{C8W3u3Wsn0zjXwd?wtrQEnZ28UNee&E7RBa$X*vTHDF6-PEk6xqDzf`~C{s2s8EvwC z7;C4`MaTjb5y|3W)W{iOELrOZas_Vvc{sd) z;mkjaj3i2$tPW>6t@l`n;AnK%Ln?xA;}-~w62nc|`CB+U6ilo8W)y45UXW*^SPI)E z!wsy|SlQA5=Don&1;eZiDwc(h+#Rvx-KzT+a2=K80NCviBwu0!&;+s7hao-b38_){ogSxajGwo zzK+3YpRl<+Z=ywqi{4RYP?qADSZlwn@04)`jnv#|Z_%*H?Qom`;TbN9-WSHQg05b9 zqQWyOr5;G6`4J-R#;YDiPQC`ud}Z%lcr2}q9;#gXr{S3;Gmor*C`*Sr5oIrHm_V8X2 zfjXkdw>=#HV(gdG<5@m?TRwzttf9tR4Ik7EAJpJELnHBRAOR5a0RSRq-7x7T2`sN8 zt(!s#7uce82!@w2zRJCdoT>CvLVRW*heq1-5GF!L zH$j&mz?(5I#jK5&ER_KjKnzrYnfO91=djF7hVbw;V98A<8~3u5gw5(($R>-xY4C^T z-N{V)eIaouOxHF~D>sJLW|UED_caOC8-xMK2$c7xu$0zl9ZEzTwwQo0NS}ayVH~z+ z1qD^Of=ITSuj=KyDeNNu4ii(^U;z4>RFG|zJaijNl510ecvbRg{pyImz|f!ysZItv zQ4Vvery~`pzTC+oJRBJAdLXl_8PtTQoGid^V1a{emX23gfn0DUGsN&egXF+8=D$A~ zdQGZaoyMH}A$I;;eECNj^LL5J=8Y^}UZ2b&65iG7Anm!)v!~G0`*K1$o0<0>_JV(J zbLY9k)&6Lk5RDfkuak2Oc-cDM)F$MSC%o5kLfGhr9{H@h~I<;NUR zfiXf-9T+p-k)LI<0(uW01u;8ZC`0WXnUMva@PQnf1>yIhoSFqb`=PATmssyaDC1b2e++`lvPzl_vmOW=tc+!%}^M z5k8yRgA%~#jd~4x-8#vx!*X9XTb}!=Zql?jNB*7@cv7q5#4uF} zb9{2)c1dl_kl$0I`z~~PmVc~3fAMC^|MiRYt^U_97Uurb7hO~O{_|qUD_X40XI&E0TX6QR5E3~qwx znQo00^0hW-Y=!);4eK8mw8JW@)K*`k2=Vx$tChwBPEVdjq70RWNPOchO^Osl1O9=P zf(5uRcCV+?3I}*4-cwvh+9;f1Nxa59Mu`V9J)eDIO02*0wHQus%SH_O)?>=hgt;*m zp-y*@@hx*G+m=SAF&7v3U65-2ttYlfBPQZN!W+GpyV`11`GdBsFZ)(H+v&${?N}c? z-fBLsZU@kRD?ibXa4jUr=IsHwZ+CWT&+IJWJ&nPy`Ddrdp#{3N>H-!gZ!KW7e@NnC z3UtV`1*~IWZeh{CV8WaZ0s6Uoumfw8`hkb$0dqAwCD=gx-^co1qzFW^pMMP~5*mf!+dI3*K%FYKmv9tcMH`9Z1 zM!wV~K%J0Zc41eg4no#L#T=3m9wiT4lJXYrmRA-cv~*hDT*$JcvGZLAvK6)=n?@p+ zEhoHGp#nl$BY07I6&Y2YI%TrBswrJ66OWT&1p!u3gs#{Kh*NLLF*E z4a9?Kgx~0de9u&_y`ruVc=U|Z3Q!iWM5SOKE1kYk+2&bt|p>DlCRt^W~muqv!{Dfxbvw-*njNfhds{=Q>f3wINaNs{#(3LG?werQT z0c-9XO^NF1#VAac#?`2iL9=Mb!<@5Q)RtGDGjKd<{4A&R zgt`h!UD*?DmPki0HlVHEkBNm-G2oA39D#r0CE}A#S9nmd^4zG5if|xkMK2c5%H+yk z3`v9XL@$=%N%b+)_LKr@T8gF8*_)-C-dS1PTWRugN^h2&h|Gq;2s^`o1$-zL>O!s` zwAqJxLtkGf-|WqD**CJWH>UKsbQG~x+247v(SXTE=N8#Kr==;&&G?TTUBo(JVoQr) zYpcMt99zt~`SXBv#jI^~tq1=}SLMbp@^~=|@Z7uH(9H(RA?^U3Ue0o}=lt8OP2q{* z7UMZ0N0zY5qu=*%BTCmsHottSMDzMjOSIhkyM(EnuNHk+eiu|X<3(U}?z(e|7%41Y ziOHU$C9(DaL?Fir<=6}GU%3dM#-qp#)>BbsB@Av9z1atHwA2-ZxRiAFW%1c%Rse~T zMT3ov+O~GrRnltF#W*Ru^ktbbW!6X{5E^BOP;HRc^<@_Ut7`gUJxb(@eSwT6>Uaa~ zwUuZ3vVbkc<_1^Uy&vm_T&ql*C|Vw18&M?tnSLy@z!N?5iZ`rD8AWo*4yW)Tdv4Q4Dq6P7al-!nO)l%;g8kD@o+T_1%#rNw}O z=B@wusr-8gb4lkA=D>#1Cf~>vLs%kTq1%_!P%E(I61ijuSX+tQHW(0n2{kS{Pdkvn zYSyJ>X;7su*p%En6gJ`%R6sk#IX#f}X-ED<sy{rP^QqNh#F1 z`yUv_u7De4%rMYznY>{b%g`#eosKn4klThqj6ii82A(xYreDmqnAmdU;y{NA*k`N^ z8_p8hOz9fVvOWBtv}Sit6`wbU1=x-ot{Acy4)(D^9vBWJTPD974!_be88(8oV7E)0 zkL&7lJ0~56=+4YUx`UAr0%_(e0R-A7ZK%{0ti$XeSS2%vDRhOd988Xo5orB(xpf3f zkG`FIxh11rQ}WmdmaFG%6SLaKN!Lgg6RYyn$U?Sq&D>m0AIVZ8DKO)CDW{HP&enrf z?wA^lRol!P(|aIbNrMlN4BLhl0L`~YLe(26za0rb*26O564oMKhxN%EpnKFjWqw~vBteuvzuFQ1NL{R4x2+f4KELOM(NXqfeX z%7vpbo)U$UY@vK^G*p5+<@+e}LAtyv zQ!Zr_*!!~LQkK+x1ro?e2_tFlvMana*XtuFAud+#Qyip--2~vr^2nuuYE95(m~M&e za2acb%jK7`9>kBJI&uYiwd|ClXXe1tGc;OIInd)l`SN9~LxmQ4fH4*FViW}-gAZA7 zA=l6m;8-p)Cy>!y3&sW3jVo=2hm;N}Cz|(^H=5;*o^rLl(^FoJh!}leZCKw=!uN&V z25QX;wVn#&{W_>O%j;1t*I&;1V)@Aka~eNs1%+k+qVQSSNSo|E80u%?6)c{RrSuAh zJXX2(3f8K4G0#-Bm7S`+v7SUVuVwmgW_i{arJkH8?i?p?8pGxX+SAX3Yu|2;kEI(o zmJNbm>#DKv6>gUIj%Df1eHovzNbVlXvI5_o9?LrQDM|I=Y{n7blPB&${Q5n+#x$ZK z&HeC7eL;3Pp@Okcj=z%iOM*rPXsAlKm{vQL)?KNXQs$K`J>#giIj^zisk=mWxQcb; zC8_cW7xeTNmqKPeb`?ubU8*3h8ugXV*tHa_Vj$mNh4sVgM2=%4u{u|eQ`o#@9CJpO z=m?BLK}aQInS5>>$fQJmc>dDhtHD1?WNUpXy_$8w(;av+S@fo>0|k2h)lghZ(1o`!-F8q2W z@+vA&y(G$2y6)pXuNw5LQ`fK_@a^P|XT#ZYdGmNy;LmiP8_&99M2#rGC36BKLy25i z2BYfA32Y(zLmr>N_OS2e+KHIj-E#j#Hk8bLYkdL6ld{Dm=6@!KOxwUx<=jcgZ77vX zCn3;PB5Nl>YbccmCxNGx$sZ=MHIPdyu7x=hSeA61D%)`#yAqmj++?k@7fxnfXkn*K zX5E67IFbt|12y(d2AIm^dz0B^>}%QXdaU)FL<;^_6P6lIxHRN0^@ z>{^sO z&v0=nm}Fs>hr&RZChL@oh`3&aXq@k#z=g?Y$SY@32cBbPJYfpZpEmv0$vrazWT0@p zA1}|%1f^BU;j3Y0m(Ei0kSk`XQC8^7dVM*#nq|uGXEFa&Ul}}GMOB8+R-eq%m(}{R zM_<0g#WNoGKxjN62%DtLVOcu-ig{%r=qS`E#KR+$)F91&LM5*>l;h*!#HURC2;{ zi9|o^Wzjs$e!ZMG54B6>%6Y26o%0y&Jd$6}0|VVCQ*OZAHprqISP>AT;s!Pl>hZ-Y?xZBCNMw&b*OLPFSf0)u#b&#UE~D$>V)-#4EG_2nIm7 z2oAXMIfPy7jo<*t2Zq`a5HmB=GJ*00U+q>clleEZma!W=F^f2;2$Tf8Tdu!}wfO&Y z1mDPsH#7g7YUSv$W5#mZ&5)+M<@7ncEiNC<;jQ8&x3WfIlDRAI1{Gr#!{)PAvfF&t zJhaw)vkY$nDmR)%IEcJe0@^WoDYa9(f&rep86AL}C{q>$;I?(*aHza&0nFkNb0Z19A6-EDtWyCH2YkApRZe=fk3p{n3B4Y$ciA^Ccnj{?+iYFjAnj{PK zeXj~te2u;=))xdylOkQNFyuNlbCHv)N+M|LcZNVS$HV`~!qa5;O6XHn^3KWt{~>uf zWPK&;1!>cKA)AIew=87C{3e1r3G&oJHZkyRnw)>TYWB6;1De$_q?9}UDZb+$brSBo z(&R69FzjBDRd?!yj?H(nKEy6&#X^{b+yycGm`uG3GUZX(^)B`s6?IqydADBPzKHF` zhkX~r_;^e{v>0`&1RVf{>1XXp|gb^unF$W2Qyx<}-mCD?F+9JQq^JH3Wm zDRJmE4QRtR|mCz=H97f&-<(Wd7YOqiH=HzTj6c zl3*Z48F=iU?8d(J*#n80uB9dIdM`Un99wy$RB9;Q72; zfg<;AmJL7XQ2ms033ukHqoB^Suk%qe<O9U1a$`tbh(JAK*u6+o zStplZyGNTRRa!v6_7H7KW&vl&EL5lis~p=yTB7UU?gdUhE{EO6`oST6|9vb!c8kaD zMuLO(f$Ww??}MqfkxN$*a6LmX|7h~gA_2@z*yQm_^aY!96!N|!-(%zpsDq(@wknVhn@U!g%vucvMQK{ZT<5J; zovvQZI(n2NGE%|3p){|KUJsh*L^sn>ET}!7-%)dm_)bmuI_tV-0ipb${MTY?pc1;bszU zg1qGs7KTk<6eS?T7Z;!$>5Sx}-!9iY!j=@0@!2!bl)tWHEs^m+J3r&d$-#V>V8=(HiSCo*9#!1z7P{<{tMt>3N7;nZ^_1oY z16(9FA6BoG>5J*et*qJ=q{&9S_Lmqn^uFj1z;R%-B6Q5(H@;wVizrmuGjBbo)xj8pl zO_%zC7H{Ema^@4@3Oi)=6L7UYBRA-$x1IoxSkL6~$Ct8RM^#-Y?Cb7 zz*;9Zc$lGqT}~lDM%sh4SypUdSGzo+Z0v}Fe~ui5Hb-hEHUQJqVX&Orz^){t!3_KA zEldnX!;GiEjh>gQo(g3Auo`y)D{tDUaCFl~R*WaI4RMLy6i}PUN{-sZ0#1E2v(Un1 z=wRMiF5Sf9W&YFbJNBYP6t*Q1939pxM{U;VK4&xQluEl8l}bSuIyGE7a3B|-kb5^H zTlfk2$!4Zbyo6IPQTEsZ?pGu)-vZ!*scm8OV-ND1Ev#Lj2psXxBJk3!EE?+mx`hw==Zgy(AEnpj>7P<y#T#0}+wQv2*u8huX_{ef~XE8W~(43wgLC@n<1So@HV5Vulh z&Y>apluUh=^@x7jqn$uW0|joA*FLKio9CYe{~9CPKF4y}y`XxU4`^OFc$5D#fLgm zl^pX*ucY09o}cg`*+#*{#)mNw>J~SYUPw|4MHH!}p<%l8y-n$*-@gz*_mozV>q5#P z+8~Qk&j|^!boxZiY8-$25OXKVVK1_&$q=b34O9gR=~xL=j)Q;fHF<1TfXbqqg`s-h zX4mLuqgAuTF&Ao9(*W^U9F2Chrv3BnZ_}EC+Jt7`2p7{9XFwhTnA<<)7QZXky~M`& zX&K)9*a#$nVi}Nq4T#7Y=`4L91f@r-h;!q~%>V`ZSx!$00Iy5zAZFhZy;X`T8t=*V zyLFbyq1|k}m76m3O%};MFmqD|GeA(IQVZ?SQ?Mt++g$w08jOV&A2)_Zv+hl68bFik zN7Zs+i^-$R*ypkR=^zMCTB+K&B>U`PxfL~P+9obhxUr6UqO2&~7;kEc4BkRCfJsu3 zUDpB2@g9RkS_W{IBA)8U?Nn8pRaJee8hnc@mlTm=;d`R zWoW}Xy#l(!I5(bgC<+aXU~QGssC1dN3Ra1^3V6gSTwBNbno7IEHD)m{xu-5LU;s{) zB+u4CjWbh;&bM5pNGviBK2$7)IX3zvQeuF zLqgG_yL!D3E?OlT7g1tC0kstVTDZ8LppgA47?|(Cw4OirRewF-=htYDzsmeQ8}x-b zWlN5Djm-qN!!cV;Yh=jIuV1juwXX+$q0+vLH<$tVWWK>V4sCec9KBKzvA&Pf+LM~7 z*4`{N*B)iotUceU&5HCHX1(?epgH9At8XAbyhfIPhB(ggKZpY5=|2>YzVS`e0AX#O zM*MrHep0_R&_~mm!e~N%cnOFhBQmst83#QCrf}SNU%6b7dPojrAA*~a2(dNtEd{Pu z-(rJlFfeD84G^z>^!FCJzy{DyJK}j4`PM!bn`}nNA*r&^1<@b%L{akp>|4>Ufy{?ZARICz+(dE66f|fUgXIGEICA(T{gM!KWs9u+aP;h z&FMfxDc(lDk0z<+4Nt1B5jA@fT@xql(3GQ*;H%!CDk7aGlLQes+Xf&)CUQSdNuoil zSBG*QAD9I2{6DDt*iw=zUpol4T*KtK_uy6tI>b`=DQn{)Hod4s?5hr;`BJ&y5X;Q+ zWM7$~{C5=(1IzQW)t3*kr5Me?!|-q+=x~_Dw^CnGHXeP&;W;wiC7FxW40hLVRuc<$ zH*S%~kFw+zjawKhjIn%naa02@JcqpyuRJLo^=tsKOmeGvl62)Y^)R{y$Yu5H(h9&4 z7Mki3Um#+P{-77=qd;=)#Cp*)Oe~}gc;W%-O%PNFN;HGnNmd$JpBQuy+GsN9+O7B^ ziNXZx@DC&36EkV)Mj1XDW4+N63G$u}LZO?Ja?uesfU*J!AJGV%-Wr6&l)87pe1AQ{ z5<2?N;~h`r+gt&Jsud)CmjHXvXbIkW2d+}R1hHxfx|;By3-)((KdN#!79VA$4$m@F z)~aO~R9X9fSO)mI9j;)N&1&u%q4d@e^#a62fvbB@ zSCj&a{igTWT}WE_`#qKzTdUC!QI5@up+PYfx8l&(Dp~wKw%t_fV(zX)@(1)lH(uZ# z_;gCnd|#2Ds^=lonmApL$h0O-)!VJ>ef&On$M-V)1D5HN4GLugnE0OT@j-w-M}eL) z{yvu%A7=^8YqtShqypgvtm?B5F32z%bWQHAP0$PjFL19IMw<`ShzESAE!jyQvH`JR zj)YMf_{6tsHp#jV!4JT(KK+oT8a12HH3iEsp-s$qSB8EBWBh&D;Ukt>@x4wP1$Xv1 zX&?oF&ra16zI5TH{%L9gU7#R`o}f$yDN$yXP}5eKUG+nP&QnU_EQubC_dFCsWW-L& zw?ASnvp&)Wj>oD{I-AV}1&&NZWfjDItaC0KPeA;Q{Fudc^_mfwy}KS+&2WU^O38&P zClo8AwLygiDx?M^`A|OcF-vNNN|+GM3+wj*9dl_uBI$$~?{i0{jhs<(_{S`vgMU}m zdQ+Ucx|z;n%u*du=N=T6IiIkrOdO4>eg@r8nlo-7bmgq~l^1~!Pk#Ifi|ks5_jGn1 zMxd-I)I>rw&HI#(sf9O0ngkSGsBzrs!QDn5+-+32%k*yu$*G^Rb}8Sp?luye=CKEA z?rO5{%4a`iEq&EXuTS{Qr-ABa>}N=P&}vAkT6NOSD*=6yZg_!vMK+|Hbn{U^Ao=Ns zd6g1Q>jYdpsEm8sW6SS{OGUz_@0W0CQRJ`PRQ#smQaT0H!kux2EGy;Q z$moD>4d~-2ARw!LJ-Z#TTm(@wO`Y1VS8e0Qs}z9R@{#eB_Bor#>g64uGYU05@j2^c zVv9QZIoRUq^7Q9{pivNR^9Ac^X-?G}%?aQ}Yffm<+|jTfKPTp|-vhEs*k^M7mw~oB zB1SIx%9luYp)(CT%PEWbNHp~FVxE{XPy0qZ?jLUyinRX(`Pf%*@a>nozhXW7d&BnP z1ex+ROLPuXavdWjt_Lw_(+M|VMmScZ^lNqr4v<*)HJTYFU&N*VFeUzc>*F3FYZqxG z!=_NF^=n0&?D`Zf53leJZ)eIkY@Pq^Bt&9UcYgjYEAxN7v+wsTGvL*%lW^d(&t>f? zHlKYV^G<`!e=bL#hUWW)yzMmb5M`&?WcH;@Im0S(dFTx5><0mD=$*kAU&-Vjuv=Fp zFs8^6Kd@vHC{ur6HwCJy-?IxIm`@&xj7w^F5L`4q?qJ5(+CBt8h~7U1so^EEg9*VE zwQDX1?an+jOBpXvG&FC7a{&}y*~n5Z8Vr_-BZ^6xQSkl+;PwnN=&E=?4K z6~QlYA8BO%KS3k^XoN=5)U@hku`gmz7yw!TlX1gUYKms?Z7>PzU>Go^k2x7(8P<3B zfY@HO`t@*XfNqT=vKT)D$3B%~$8gt(fVz#EdZ{jMiA93nK^iNB#4S7*zKjrHtkJ)c zO&#IZI4)oOiM1q6%>*&*%R0OVh)H}a5L+zN0|KWF@GJ#dJ&3S^50bVQCQv8ld%jdG*gMn3c&%KeJZmL1k!>?7v`e;x#|B#FPd- zZYYcNW8Uxz5(*TMD^OM+U3)X zYq--~T=Y*s2y)kwDM%9oyM;0Mw*3AYp6c@FthG;}j=vWRzo!k(iXShDmD7JkT4}A^ z`zs^v`pJ0S&g?_U2x95=^u1>3xCH`r_>Ivy)AG{aluf$!H?6zkFUu~|AjKlkY>@s(HI-YIZcPd80%T~(HGt?ha4zZ26wGcm#lvF8n zD{tg|OqD|V`Zrhp#oI&QvUW;p-}E%5NMRY{>X4L;jKA%H3ziOeuP_;KLCl;03!$`@ zEQQrveYlhJtSB&gAL#Cv-|DhpJKW#<8#tJQr z8u3xE5U5I!o9uiJKFkQ>MTLhrIlDk{2JWzxQZsCPOPo`CJQQB3usRVc_Adah?hoQ) zJ5{b_?n5{V!(?W_E2>~OPILO{)O_HWNyT`gBY?w!YI~>g3`Dq3OyiW#X-tQFEtMUn z^A;&()_L6&bD`6^Dcv9lM}d^enbUd8i#+ADS=lN#kQPV6q8Yu@A_PS?`V^i$e7sS% z58*AGo*D%{AIIsB<;)PCjltX>!utU%ABXUq5(|w@HdRM>uh|rCjZ-R!gV>~TMrjwt z*tS~?a)GarhDV~wp}Y;RTq~aq<=3?)aQWr;&>#>d>FGebDhk)P{jzcAi@h|dr)vJ1Offoy~hn8{@r@DFOhV{zB0ILg&@ zC-;Q$1YhrI2q7pf8MGUW_DmQbn@q!li^W=P438>=g1@ubJQ+^UTf;dyJ)a2Yt#PRj z#|l@;bK#I=NYQS_bIcQX8dctIkVlEXvKjY3UQ70kz{$A?l!5mUE+`g62hvddt@06A zd>BclygPzl7fiP;+Bg~uhAM(`=Lpua}&78sE;QnP@bk-SXq>cN`j6I?MT!YjI%CzFusL$B~c zPqX1g3hcZU$){G-y~Ny+?qtFW(oTRCz%-AjuGtNgOHyhJZVkkYFghH{?~jjomju$} zaD{fag%M}>G|=d60JmlXE^h-JG)DWi5boDP-OHXK;1<~%UpD7C+N;fET`iB7Q@bIZ zpjQ;{z$^F2nNd7Bv~mxjUcc|V=)T1Gh@5U3{K4zrQEK$*!Br1Yq z2k=QYc(>BZSA0Liljk$5#QY48>NCL8Wx5H$8{c(jI(O-8#|Y#26@(n*H(a%BwAW}|#DhNo3*WZGj3AP}j6!gpb!kf!u((35AP zx&)IU$5$K`k>ktMm~e5|)2E~|;>H;3uDy@BJLr8EifdtUiEDA=H-$bVHth1!Se`^W zA5sCAfr8J*@*Mh+RICrlFzgY}k5kerGmfW5!l3}=88SmD&$HrqZ?J&cIIfN)L<@=X z>o{&ja+2kccmk&!cY$!uF!UFkz;ISFz zZgm7pYY17u)D*SRlfuFu5_ond(vk>N=C2WMx9fAIDY$N>lc=1^L5WFvC#5*r^1WHPToDE7H$JV z8H^vwE?weCR?@A)lm;iQGMx@ByQFa(94&{X1u$_q3DV?!X{5!|&*yp4Iu+8wHbYwH zuW7vZI2}eK)&@)eziQ75lnYvITxfrXj^-&hz!_M(uUj@M__1-&PIhmEyZQ~~0i~-l zG03=tFCZ7`EFzs3R;Zm&NiHRd>N>g`uoMSu_zhOgoKYF3Gon=u^f^*a3C&#e1jnal zWx50qL0w$}RbGc_)i>r+=D-R=RV*g)bHj>IwNyhj(ty1=%Vx%XtfE7z7BOoLBMa#;3;k-970h;zMlFG6uJ=9phyb4I0Ihi&W6%s?zg?LuQ zI_a@5ItS!@K2{ZxHCgEbZapX0xS&ODmAhTMb<#OcSUHERVgo0G)V@hH@Ha-2gc%?M z=`ze9QdvxRu(=|jQx;_McxPEw^Fj_~NR0*;Jmt`nt2vIXD9_~TywKY+c_+47K9kA& zgVKM`MAuKqQ^-V>?xX`3jIF~v? ze=e6n&*eL%vO#iZDn!^OO(dn0sZ!xu0jq*SnuKb{1x8bEEio4`N zwcaVmVydaCvwB#1a8TmXrR>^O5 za2%YNW*YwE`CJ_&^L9QjqD~^)g4LGF9&I^oa=o%G7=DSYYRiX2-)^50koNz5TRs^6 z`Y!GGUHIh1cAWBQ&$i?09MiV#;UhmFE8BDYN|Jn6UvdkSJEp7v;-nI%fAJQb>9_=y zSlLv%FJeS4o<;E!n(?A>utTJE4wvT&cxV?txmluEq*_%hgtb8MvCxvys+cP!dvwq$ z$`u{BN@BRB18?Iz%Pr?4^K3?X0Xz*~BM;2Q2oeON5{CI6P^I%t;R>!`@=NJpLm8`h*+a%s|mKYw=QJ@OXXtuP(g z_1wTg%qC~Fu+ZbNkma2?jz+Q$x$w$981gvZqLb=sTPG-9i{^*2Js$hg)8z8bJe+`I4wQgXyH5cJ$|;CR$lA_4y(el=kxm^w z-+8Xfn0DcxPZ=`P5<}yW-$YW)W-r!LCe{wD?4m$rjU1xgZoDifb_w7r>X0>I3~DZS zcj4-Mx%w`=T}(ZVmVU9!(=%oF<(Yobiwl9T_43g|7?V}8 z#iCB0CUnA$F7f=_oJm{-7X`A{^X=()R90QY*JATpyRI4?OS|$cCoD~@2(1n&+*lZG z8de{K+f**^%BRA~`QNU*O*T>lOn{JU1eGB;+;xXAR~JwZH*hWW>!#IK{ETmcT-c2# z#%TvQHBX|J7h`gN$)~#^QqU;h>c%@);Ji*+X|ufst3BMn0b=gTItjq{a-ATjwdpGANx& z?X1JCV#MZ;foU8y0@{*4b?2>u?&a8=jbIK%0)oVP)V|m^<)|LKkliPj z_uwi2UitMNKrA7DMCE92%Lp4N5#{X3Q##_c8B2C)x0?0n1URt`!c$DDGx_7T%IkW< z3L{My=Au5M3=z*nxwR(`t58}6u?d?>6T^A4n76gQzzC&N&*g|A(oM+SW3h16z26ga4$N{~0db&q1 z55l^tUvtD#DNchrTjU+R_(j-%_F^xdoTPKE35n4WaLUB^T6wA$uO8uPh@&C3mzx`3 zY9^t-puxcNrqo`&lN;=*qZX-dwDGNUMr@mI)zh#l&gTT_led^TquE4aoaA#WGP2 zmk;5*=QuC=r6D@e4KxN3<0<$1rJ*2zrN#{e->eKKmn&553?SPH_QPTO|I^-;$7Nlt z`}dvE;C*pM1l+w>5MK;JL z`%;l~Q5if`S~#OL8kpvF=<|{Tp2dmC8zq8pl~eF2ocMq~v*JDM)Qlb_qWSzLz@sq( zKd?UYs*uz(a z(#u5*9U3DBxql~I=Ka0U=l7eJ3H3g=yj+y%vQyljbQufKM`UCkb9r=w zDPt%rO?;s8T%~D~&}L4Lkn;hL@8P8#G;OSK(cvq^h}+$?1Tl>6RQm# zVQUa?Bhau%U&h3N+|VV=B#Nswv>W@tiM-%NL=zq>G1KXhaY9{c&e+P9Ba90_ndlDF zmT_XD{cm~WMNH^g;iXB<0oPK$@j_i)G-kY5H~5%xC{f0b7ICR$N9nE!K=xnw;s|Y=Ad;Ky&gTa@oSt^<+ z#;6~kxql3}(xg0ir5KB2KKtD9c9TrT)svvWt)%;OuyPVso2$Ijfw}h>y!hd($X<1a z6@bC|58GWkR7rE!y`}sheGVD4TZq% z*QOip3B7;|FQZGQ3IF^1*&hqnluZ-eV_&xO1_`h@L0!%d?!suVjIFK%v~wD?qH;Pu zO>{82LcwW8w~2L@1Ma~oWF(}*ia8=!CqErq}8JW6kza%6tn6F7csRZSN&v4!93Y7rBnIj3rdCSNV0!a$KArZ`21hN>pe!zkL_ z^WwWcZ7HB)u!*QAtU$rI!YsHoTaQYq;%ad-YVUrH=+VRb3A&52Lm^JRTT+P%xV$B` z;2Lp9GLQ3&cS8`G6nYND@R%|yGnF%va^U)q+Fy&cf>(b7Fi;t9A7*RpHIJHyY_c=2 z_n^C%nbFtm2UmNo2v0icMff;d$j_~{%Tvm^iY7(>LEPKSmi_O;^#)i0`=L_i754c$ zJ}5jn3HY%x2o3HeyWYI}N6~$rUewzxVZrsL6zOoifjva;58ON?~Sig)3|yFmTtNj_ zmYHzFD^fmPtUU6VQG-YRXegD>7VY(_S)b`Z|At>@tPIzQf8t0-Ml?%HOg(&vGNP4-w$G7{o&j&^{(>V? z=_$JvZ@nAfh*U(4*K2JPj!0pYd;{1_5&e_iNI7-P!h9!$;EmMdf^Bx7f!8HTwrlm`L9ZWqC>-{x&(xG!`=<~CS6GOK{sP|My%&r2Es z?;(#{jrT*y>=xXOdfui{`|{g2=X(8d)=0NM4t@cgzri2JUPsI4iO5dtf*U&9;-G}tNY?P+$GnU=00F|g!|{? z?5O&5(gJAV)if7D5d7t!)$FG11tKc;aIpK~1&=Y@M@xiLcqB|uxB~Cg0_X{XP0Muf_ClC?c2m$jD(JgHT#S307VFs8Iatlt+=ErbX8PeCk+yiVx^M=D zPi9v*X2QH*sbwsnp`G;ph*)V(ksDPWRDBw?a^O9XDMclLT$}Z#SySgdC z^quWaTtcl*@Hz4r$RdO)^02nsd7lWlrm`?sL|*2?J~PH(Q|k?IZX8kbv9tm{UMm2q z_vG_30Ggw+tzvqo(~$e&DYl7b+%Ikmg(=ZkwAmEOb*!ah_lutG-F6CPB>vV$@iRpP z8^xfeG7z=4>MIhI=d$@dIH- zG|rH4Qvm2f;@aR=&UVaPY+w`9#ZSYYT5=a7Ry6(eOktf2#BzjjxH9X-8Yeb8?dL|KO@j{ z5XXlG)3OXK9M;mafw^!1ie0R{1kfMGFAWw;x%P3#FdfV%5s$O=u?4#}u!X}EQto>` zg%IaL4!=UmL(iuW;!NnRTqVY$*otO9BI5n!fR}IfSt162!5n`?42%RnGxim}(}EvT z5#VPbbo~;T(km$aQPC+JJ5EUTWjnp4i&i`)dbM`Bo=4%y3q+^`c*JK7>JHGn1)`$^ zmEkiR_Bd)E6}{9JxqFYpZ+A$*L>a>ux#9OCTF`^FgM0TD1fR=`%j1JD(I0 zA>7-HPgTF@!_n6KkHdEcvuEac+59prpm#9R#+Fo(nvSqV{|r9{n+J@8TfR0?>~ z)tmW|rB21!LYBz$Ued$Y3FSYoB;Z?*i{2L~DP$+teYkC*C|fw%)IFmIz{o{uoO}Su zK{=2Dm}9suG?Q> zGYmXd=l?ys@?pC_h(a=j18b`AOcCGhatz(Pfj3iIygeuUz2YAm0x@)Nrtp8Z5?OAHP?(6-6k-rB<5O3|UK zJ$qb6XQ*4BYabcf37En{o}Gv6emX_YhTKQeL)$5~Av~@_?>`}W_)|E{pTBs=R6C6( zniz66Pzr9Ex&Y2dj1g^?i_X*p92r#lkr#DzQ6-uT-LS+0B6noEVeCPk`u^hOA{9Cp zUsDxZ+}f?fH3NrSJf3xdA$TZpUFnPEqMbNnr-=)(x6^x}=s*uH#JyK3Iij^z>0;QNe_U zmd}vL3v7i~KO>be21vMHhUS!Z=069Xc90i9ffcko4}uT^!ZS2zWB+(K2a*2rKragUPB1}{lkoYSI!ERoFJi`mnCCVuXfmWBPU1}g63WD1AOLpf|yWy;>@z+F}{KqzH7UEyvH z5X`BVo*5SUwGxf^cO7o9x$7T@&F%PP)YPpPX#Y6YBFtV0?u=u-f?IN3$Zw@p$;1nx z08dQ}vrgNrA8oG1iILWBn{}Ljb#(pJo*2dIk$VS>;P-_Kv|4%ucnI}gC))7(6y;Yx;T^CGcMSdg$P`zT8uj@%FFBOSxpS3gpfM`?esV_^R>^@JCTVRZN zo-WxU;sft&KWOw--jQ|h)J@u|E4*_nq~1oQukym4sel95hjuF33f-X&cf*SCEAl*d zglN)nt>pY!XCpFPB$@vkj_t|ATWxOWZIy~FbH1{PD%bjLBm@l{rsPHAY?BfU| z;G?t}1;}^^K|E|x^^(ZDz0R`^kHeQJmKeu|GWZRkj2>pP&WQ6HCfsDsKTP&1!Z6*> zjvFt->X$|ID39??31eP?`|QfA$I*m-$5rLC3C!*)^y~qHMY<{kjW{8~Qv>!YhqXZ7 zz6*cDWx0ygB_cG`!`ghf!MayOa{L<_m&~KQubP|fe5QrIc}07?N53kP#;vf&dkxyW z>Ss%V4Xboy7)u9R$sh#T!OdlAcQp&8>{qcE27SeC6OkO|)ZirPK05g-&faT3vA_~% zYef<@yedLXKEt__2hNZeT8?;FA8p0LY_--e0IO=9$LS)j#g`9aYo_B#MTQDeyRW|{!eN7C6NB8Z2IJFg?@#}E;M zXQ}uA?VxY@Tb=|{g}W{9oEA1SHFvzGr$%+VrbnlX?kmBn{U{HM@3*7?HO z%}OV|-m-V*Sz7wK$Qg7Bc&5DKTZYIlH2{uamOBVwVKtWSv-Co_$m!Tp12lO@GkCd? zigv)kCx8@(w?K;Y)eaE>&!g5mMVv-Zj7Fa#W=7ye(Da=m%2lX{$|rTsPO;gbcw=q&KjjQkfnPQv{wx1r4RBci>Z=bd<=_G7VaxP zKcI4C(~WyYLTa{T%HzA@5S*87Y&UPz_;Pfxjm~Wo-O4U2%Y3jp99DIpi?-zYDkE+p zV&veFxt2?{+`(@KgP!&6PJutF4?N&E~AVw<-65Dx7^FdH3S&gmP(j4aAvqtM782`pLC!SzGK;Bf6F89 zqTUj*UUs7P2Vs}~8I85{27NY_M>5E1pH8&=f<1Taw}3IqO2mf7cPGI zdf}3FLWB+vV6|_a3qifi>*|sF9wmpDOwnz@@x3i7zu(jf)uJU>sk0Dq6>If}WtizE zbQkQ%s-7DI7W1&D!NYRNLr0a!HjL0{`QY;C;^Q>wpoj>(lxmDumqX846?AWd5$j}l z40`iH&A$&GRJxM#Zgf_Q5oxQmSZY=`^{QRxm+-4;Rkf~uXSG&hKd6RuF3dY5I=1KI zA9m%PU44?r+2fG7E0U+6(Pj-Ya{$7?@LaXD`4GVLy4gizAf%7Up;eGHuxPR7B>ieQc?0P+TwHKz=A3nHV zOpm-Tk_>bFHLXI=YPr?I!>ZMgBfq89MMu0^fzL}J+m8tK*cry07^$%0`#?f1rnVo5 zSkw7mUClS=t)|}xqEj==3@@vM?_!tku9M0%VA!34r)!H!GE~ZZONLX2{OyVPrheTql}W;xV$Fg6Xl7`^dQqU{_>WS$Nd1h5QG^!x3CuiD^;EY zhpq(r;+SwlRvy+Y4DciHw#mN7@#K_VZ2s|hv$O0cRN}&M z=Znu|0F0abB|~$t?*N6#`w_$bMM^v2L4#{gXk=%#%;Dwsg(pPUfh{o3qEE2*gOjb_ z!Yx^I5^XnOEo?b`b3)v831|P{$!5Nb{Q%bnMfVI#1|ooh4}MldGU_|v45xykT2Jqq z9S}4#{{fZy4k+*wEZcj5!TSt(%SrLKR^J`6uilpSA#UeMiWN4SEdqac+itS`**3{G z*LJ;af$bLC9k%(ld3cn!08c(A+pKyT*G0y5$SOp1hRw=HcqM;&Ioa#5f!Y3NtlXdK zBKtcUxWq%a*@O;uk@q?pRv|i`qgTesv5xX*b#;}rI!<cRBGSSRpx+PJ@ zIZBFAd@lEOd7_*dU+@B==xZ@T$7)o~eQjg2$~heqP)TjO$v$CC97Q9UxYVf=_aMw> zqtkd?SZbg7X;JBpVmh_|gCimLF>H4NROlm5JBTqdjGU zv&lp=x6TOal*==!?$rR7e_5eF;Df>wzs_2QC^1VT%NW&ddr!PlGk*!jE?k{e-s7V>G~KM8D231RpVbN zBjI)w$>J|&CCf#Qs@HXWHS}?^oa!hk*U>Uc?<1!=vvwdl9t?5^750&%9JMB1PoMXZ zBOE0=k*%h0Kwmk;(ZEr3rjh3Nm9rhSyY$EPbi6MxtfWFm%cyfdIb1YVsJ=yY^C%Y4HJNp1n9%mJ<33^8C8 zAcuQd{01#ck$oMt9LJ#QX-|qAAxidYAeCOPJ974VAi`eVNDcMtFK@o2e4lQk5}{)Q ziZPm9h^aN{^&DcVn>b8HU-sKWqIgO>fZ_Cyk)hF636d0rAarmR|D~fP`p^C{rfoV9 zs)38(>qhE6Kqho3coWeqbQ|G=TzUar7%ao-&H?g9M@gkFTSm15WT)$EISL@uBXn#; zS?*v5bjYMZ$`E=OhA$tts<;H&uAvQsWNdVk`5^Nkk{Lc6&INo9(&<5RmNTmwakQ6TO=Abk zNgWzYyb+;M7$y&v!|3C|GSpFZNEfcj8zQGUO5W2|mC>vr@T8xcA-VWd1`;egy>ot}@-@uEqO0IM?TWt_g*q(=gOOnMEcmzwmBKqiyk$mv^5 zdKBtEg8H*;(#k(VxkKe+&Vr++V@D}|n7r80!0{}`!kdQ4OlQ*vI+|HS-w%@yJF|`< z{tzH?j2^yNE^uZYN4x~_=m7|>nrx2Y1u%4pD(K421 zg~~ScWrA!+IjJ&!SQBTXH<@*4q})KE6BF0B>tn<(0jNHv z)g$E40aYAFqcsQ}drT){F?A-rkwZWr>l1`C@ZBdAk}j`uG;kc9Y@|P>%lL~5KGo4; zgl;Vda%3(T;LVUF3v8pn3>V6n>H%CqFy#aW-}V)+O?h%m#3SA|MUPMLoWMp$KX zYW#C<08C6yqkqorfX?Tp9fUsZq(f;fFOTAePL?< zf_9IT9s87U9I!7#=+WKg1Gp@>=R?{+DXBGO>gj?@q4Q)l=uh$+sNbc~Wy?*xlCHUw zag3vLc{U%rRL<#8`z4~7lzN1{nSK%}{wpj=I*gLx&VsLy2{;vhMg2#~tDH?7$G4gP zM$1RZTe_V6H+x9LUVIei^M{`{VZok#mcmBMw26n$+Cwfxg8JtU!IsY=U2wsSuTdaQ z=lj%T6(HS?f+YxBb3T5TQ_*M{d07LJgaGws{JSpmB*GxB++{tAFA#IOW86dq654YD z|BJ()DppJXHChgG7JOsc`G!)*;5bJ$%^D+fcC0v&O*h*jUEftQD9WUF94EspX k5r^p0#|WjWF!MVzq6W$#~!TMFcz$+?{{W)Zwu)6|GxL0C0k~8%9+#8nYrIo$LwAiQ#*{@D?Q7_ zNb0ro20CgqtNV_kD#?1|xLD%(hWd)>VL9%@?kw?2SeD22jysoc!pEL5u$${$@p4!x zy(j(%%WLz#yT!#*7R;D(-mGZ@=Pnq#aN2@%NB47m;EoG<>-ta(3ePV7$Q`$E+M?03 zrYyQ(?t%4;EMB;1uI~M)JB3>bd96D5QjCg7 zuKda!J$vy2{D)RA9M{qHwL32G`P_>Zy1sG8&X_Y}(SVE5^q9rd7Eg11>yEo%*5ZX1 z2E01vHs{V6J>}9_bEix_eewC{Pg}Uq^<h|H!x#8;8& zSts17(=MJeYca+$YTmR3Qx?r#FmS=#*=itviri*i?_chWsdJ|-2EQmS+Y^(5tla0N?+5CT3m^0mVohO!`#?F|tsGGH5!IVo~*NO7x>2$p~ zr+HTL4W4+rH3cW#-Hl>p^Nh-y^k@R{Qx`AyWbrpm3Vg#@;fXX}ayP3Wmqk%ImtIXb zkRXYFZ>L}Bce>Ab(s;vo-}uP**!bG`%ecmUqkDyWwR?^GUgI|RI`;3mOPMDZb(#b)Zf}< zzOPB;zqM)VJvVJNWUIe9>b;l$R;kwPF=qOE&W~01<9X~+`EdaSX#w|90r!ak_sIeG zDFOGX&b>Gh-HrN)&M`#>*z4q&8>miv6_ZKN?u>|y@icEZ?zUWA43||UvRfn@4aY^7 z7GA!b*&;ie3$MP))7NF0i_B&g9t)aBO$1taUCgU*X;Fuk$0oE*c;mQx2(M_N;mR{` zW0)(&>VyiEzMF79`rX+#@whwbjpH;p#+BcxpR23er5fc{hNO-zC@+Yzs*HkY(<+F` z@5JkZA?0_n8e4TSJm{>kl{r8>nVOO|AgHvpUD_I@-=?OV5nNhmmlm3MZ$(~I&s}XS9ApVp7pJ?vKQ*OWTRweC>%WzZB+nw2&tBq1;JPI^`LMG-3 z9BB##elPZ=CS>tk{WSt0p=x}envfVU>%iHhi7`0|v|qHJmPyreRcp$m{qogTxKzvd zR@61NAd4pzF#nQ&sNK3C+nMmsZi_53U9PAHiQJWFBod7n<+uUtKJm6?5GLgIl3QPg3?{0m?*X%QjTKb5P40BZ2@bJ}7x0 ztnm{9MlUaIWi)&)9xk0q8+N9(9YZ{VS?xL(ELKac!RvK*F`}{XMi;{jn)q|=TG1uq zn|A3mL`0N%Q}t>mswK83r>EAp>@2DlYsw1Hy!`$HBSkJrq2w02KI5GOA@Nt)*wf7AaYk7Ri6VyN7d(kyjLA~$?Gb0MVfQaR16O-kZ2-B{P9GQ zJ=si*G-sniv!Dv%P>1y7>3AI(^cqtN=kF3d=0zxs2r3kPIwuRWV`PhPe$604? zVt%LgIT%eL1HznzPn* zlSi44xCfv)#Top)jO@}jeU!ON6}dyFNg}pOo5WG(qpH}5vJ3}d?s}t(!7abltplwU z&AJcghw8kWdRCxP&yDI? zjaWU`e8u0ZVXEg^^=zm`Q{Ss+a-PMDJ>ozjhkF#4uJ^$y(Q2%B0UakgfK%+e9-veF z9BRWvQPwj#Tv0=rEYG2&wq`E6Em6$|AVItQPI;vGG~*>WqSsaAcA0OB>Ym9AhkJXr zsa)xfi$Z4)kh(mkpKb>j@$zx~^bDSW8-Y~Tid$A3*Q+j(Ui4#bqC71FSQL2hNzDe_ zL~7!TMio3WeYngmhL#r|dEZhaMojD#lcJ{6Qjge5JQ3y6O^T(xI?z!uv`@CIxs;kE z)~_MR$fGvhaVPb6imLLAggZmuH*6GHz0*q?Hlj~+FGc6^BoYI_Q}7R+b@s3b;W2ZE zE_4{38~T0zNxwIak{I1TON}<7<~tXU7Q-*?geJTU)$JOpwYXqFsR0A>+6|`qXTPOS zS>@h<$u@rFhiD=Lw$M-`HPP^LA2;K1qo$sBc4#*_O}c5aZeIuVBF^p`myfo2$-wE= zI)2T-4jfnA*Cd|olNN!in(&oJd7>#S(whv@ z#)JXorF2xDEeu@5#`4x9f~Q@(!k%_&=yIhsS+3A&*WGPT;%+^O&Q_@hh?6X4TizZ| z>7hQUFMIXnp{4_eBxItq0u~V{92rMMaY{lHPr`=#osQU~o z6}~>}jwbc3SY46VWuI;#kUk*V)lB@v7z(fr;#ft7wPA}rlxE!A(;70*=*zRZ*~|be z2R~5FX8N(bYCwmMfdH!6>Bm2XZ#&ULu{+YdCx8^{cZ%)()04na12D55HJRW(?4LnZ z;`jbtlY+rkrNJf!4#?LWC!*uMUvW{~+d1QFO`fZpU70dnJ3BU8i;DGJhA)my`SPMkNSB)H)FC6q6o91=;-iRXum zYf=9VS+9{5##%Pi55s&#v>jR;{0aBKZ7mzxnqClFhUNzqE9JWWc$D~k=m?|!8!=?q za4m!l`F)g;ARB)pkJvHnau%&+!xz}lxp#OsesN^@KpH6uM+~DE#i9`(;FWB5KJ?u? zw@|p4H*&qPoJ9Hf9MN{v`SypaNA*Chov)2bQOft%qi?qhZXDAswBHEv@tD5)B}sFy zktlkemT6a?aN0?#KYUs*9@P)0b+T&}pRR^E?eq~C=FZc3n17#s9S<|-E=q>J?Gc;K z$fV`ssWVF4BhBUF*coXF%R!FHh>P>9fazm<*#m(lo-C$yG~0~yz@*6o2{UfuQfNdg zMZrtv$S}(lH2_Oob&RZrW8%TFU3pxejh)Ar@#ECxrE&deu!tVNrc#+berw5UD76~e zSk;Erf|qrYLMXPR3An_r6kr+)$e_o_;71H4u(BEa7~n97%A-m~*poEq^T|Zb{{LbK zz5&K??|%Qpm@^aD_w)b5kP?HTlInX*R=o%KWTHM!f(0w+th+@{`$*9a|8G6(2rp*M z*?F{5teTuJ-a5M_?oOPY)y*D#q~mh&M8*03J?XS;P>8wbbmXZ=_e6DYjh_4&fAGIu z`sg;HpGOyQ!@W-3Y^5K={!5hdttXGT#0N_?0&nnRLGWW?z+)voE(>_ZBZw>zm%9Z& z_6mM14}R<){5UvxNlpUW%KsZ(1&#E7K5GRrMQ@c%-=|)l|NH7h7l-0R5K4MAC`jGs2CWim#K_N-Jk<0&dCx=`Vl*f6PsCSth2bjkm1PSGjB^~OGO8gM6iw$ zBQ5qyojawu;z|jjV~lR{CJ2>IwkZGeHQ}aw9Jx}rmFZv5=;+YV{8xSZK0oy`s`hPe zps12N2wW09rhmXHHbht>_2C&m2FPBGIX=nf(7kWg&ZJ$QN>(C$j3H>rv@hAOJ#ZfZ z@f7r7JK!N#!qkBN4VBG6jL^*$`M{*CtRRVG!^y58)}Ei1%}gO2ewl(6QFj@{dQy<< z_qFp&83}3X8n{W?r%x_=$)McwR<%sNQEdpK8>29wX=(6r6>ZZj7 zDY&=49YLYt9gR4m0PZ1fg383IR|~|dxdqUQAD!F2m3Ei2!!hc0^2ZN=7rYoggurSgi~M;z zgPZbJWr@G%nP|$K&!g)&KiI$$7tU{+cF^tf>_PoiYP1|Ufe18B?n~c zk4K1yE-vk()+rCPplo#I-#pF1PaO)2y3S?-0iGOZ{a}7(iSGZo4Im!+W;fCNl6WSg ztV=2xZAaf{u#whG{5>>Gl%M7i&tGy02H*G66dS$HxilEPY-2V;th=-{vB|*P=4s-C zOS6NgvT8|^oIH@4$(fst9MOM?6nW(6a>Bm7DMH=jF2mMrdDy>QsYJ6e` z{JAHLCkv!h||I2=%QTqtupjM>R39<#L~FU=>cmKHT~4c&x6~39S`oE>q6Fri&C!VBJ28) zaj&{2Ppr7U8%F#5^>>9cP%-?uH)N@4RNs)CdSMtwa@;kLwG4Zu@MvBrp1fgc(qwZ6 zPmdSSnF>BX{l-Fkev!EH#?;KQ=~i2FhB8r_R@`x8Fgun$I;5MJ4%^+tbU5jzkm)d* zt-q;Dv5zy@Vp^P~#`TR-}lymEoetiY%=8nJe<~_wp45N^Zu081rBES&?K63$r^&0SdNWIb5y8#+9iF0Cto^>x@lq z$U?kN1j2>9j*8+Y40DY5d}V%~>Pj(GU?2yXF*nmDb(>_0t24A?8)eGPUgEgf&kz%< zbHHh?sP19;8p28%=17Z%Dx^^2*D%L1Cg^Sey76#)sW?A?L6E;WO8)*@otr!_7x6bQ z)PYp6cc8h~W1b0>pj}Ny%Gh+)OBM5BzU`=|VoFW_mS%TpBCa{N`-< zOp9*zCQaoA3+=ugG7^(+&URm5&JvY3XI9QVd6S`SM!`Q|;18P8>+r8@q;R1m2p9a8 z&KP(l73AW583I17LQC3&Hbbq-L8=j(1V`v^PU46c-l|NoMzjjzs7j==YPLXpEkY!m z?jl^2-ZC@j8>q1v;;CEa1-)d>kuA=;bqbWoCvH6lyd!0Ga96fO4i{5b_d=zOt4~Lz z#k$hFa!uYutFe>yw9ATMhcOel#z41K;KR{dZyVbR3NO|h zu{^fwfZ>V2Bo}!85WTq3Ug$LDIAN~2i581>YYOQM@!Xnx#PYvf(;j~_ZXbr63p-e4 zqA~$bF1~#tUb4W56SYOq&24P_j)NnKKdU;R9>CYR`OxoVSNk#oue=0lxTky)ocX z>(UuQGuIVnJ?zdkkc5HxsXG;%^4XW7c3loWs$ZAe#|8zczyfi=;Ah~dXn>9{s;?1L zO3X#LQR)B8Er8A(5+5nrtxu=%V(9v8S|VnwZ^^yatgpaIzOlXle}7xw-qu{(-Ju*Y zHR}__+ef zVTZ{CnNO>phGsc?TQl>rJg8_&7@&&Fyi7!G=m#@q^!7Y4Z$mTOjo4U>zxQm&!Qb5N zEydUB?da`o#d}-1ymTX%pjPTIMnRX#qhcMI(SjM!<)UU|i1NtB#VZ@TFqk4Xb>s_Y z*PXtp3tcI0+|;8e#4#}C)Y=8hT=!iavTDdMD(P~};Z!s}=dM8|Rm7}XF$Oj;p?z}} z<0(FBxT}j%MIz;HMQ#zBT8RmF$0)qIdtlEi9aD!H3^#BJX7y>f?jX=a|K@I~QP(4) zHl@cZ*$c{Lq(gtTo0T)~_04@w(@KFNYR;BHMLX?CU62XojKUF3EYUi%M04}1ayFY= z5j++G1aCl`#g?T3Rj#-vhn9-<_Y{|0MUGU09?qhh*U*s?`KjCt7qC=cDt@}BI36F^ zoB#%};sj;)E~H9v_r24RDII-ZeqPAp9dc77gP4s#$4N2fzCH}dRreKx0-n6@dZXGS zsTq8ZXW!on1#AGOh&A^!RzH8g*AHyAE4ist09)Gr5Dw5gUFAMdqVQ{Kl9>9ycr>`@ zfn2&weE2{?+Ayana5R9HMI7ER4P^ch8MS}A-5C&>-TKwUWitd zVyxK#0{o2f3dJ&mhAFZh%;b^ueDF@XPQ3SEk2cD=)Ew}JzM(QKl#s;(h>|%=z<~O0 z?Sk$u-pZu5dTSp3KE9R7^0TdNlXw8Au2x&e!`+~{!fl~@96Da9U|riLBv>o4zP2BcWy7HE5w2At!Se7Vf*>Xl{`l!Z|udz1s%?; z%>sBQKbosiJW^V-j3n_~EpjwPV{IPFzIv2F7q=^yE*ED%G@*Fp0M>kfbczt5cPV)S zD2#Wc1p}4Q_d0Rpp+smWKR?vE)%aXwD0su!|Kjq7o7a)^3^@3+yF|r~Vd$)SM=?5k zVn-Dq-)m=43ToSf=i2^ch0AxQVt}{qWbiz{vp8y4z!IELZ%ZF8RsaXWu{{ zX_&0sRYcc{eYiO3&+#JXQ`VQ@py<&)_j7p0;h)M~tTD8_ z;xrV8e68KB8DF;983Vad!i7chUev(_2ixGMBJ)ExE{+lX+dCyBC8!sOQL zj0myvsX}NVyPo0{WbwgMN)hqYF}@A1D@@dAui2-PDuw3t;_5o(mET#{3B34dT}!%A z#O^D^7hU(Y!rw{z3c6{nLh0kalvKZpw&>I%G|(NJBL3bNtk1G?oFRriy**gV)e1IT zR28E188yXG&!l0+XFQ|U<%VaLB5@CcvyjD+c{R~<$hq@3Gap@_&Tu(4IM z31$)_#e>hLK~H=B*}TMR%8P&vghE_g-UzH4qWI5VVe4sEJ{O!Wqg(*;rg|e@y#8F0 z2Ljd*uilYlDpim^oTYe1||S%^kIs9DAmTIimse>+{zH zwdl*-x&MXkwzr(+V$??Rhg^U%LF%3|Lt4Ff8KcErFO~qB^)IFX5=URm#h9AEbmo{E zVm6?%Fc}`q7*^``SgBxJi07;!W+|;sS5UTqSnCRH0>nA#yKC z7A^Kqb{W)vbWdtCe_ne|DQ&z^)Yb2aEv5MgeL@su2`= zBW<-N?|@^~M7{YDNEGd|}GqS2KZ~kRa9{h-keq7xLHJoM+6#ZjNLg za|lE{2E^tP;yKaYX68b1;6P@|NUwXSGP;}ddsOx|1G0@5e;pVAuGIfv9-un?U=Hk$ z>kbw&pdUIo1~}?|nJv2U>hG49OKFvO=j9TBKK#&l__QY-8jQd99`ZUG;rvdi;XKZ1HG$W>5_31<$*J?Hh>ElBQJ_l;V{%!UrFGBeg2AecDNFFdbJpb=uqYu@}3&J38NL(6oTtF_jtSgspPceS|twKlOMl`6{9#H*3w z{ns+jAI7|10mXT(>ac`EGb6q54FO_MHdHY@&)pOk$JJDyvYc~SZmW+~bI?I~-VUPQ z)$%)W&g-ozZ&OIiIKmB~LgPVO{9un5YM~r(PehO>*JYF&ilNDw6xwP}0sFZ!QT5qB@R{+c(FGDQ_pzI&tyaibJn{`&@ci{QP!F z_9zhD-+Hon;Viv8-f%y*i1NeA1ia*MS=?H-%oL-k$45^c0K%1aC8fqaH`%aPlL0a;i z)ZGmRsZ-W}s4bqt%0HPL~-Eb;CQ8KNM;t3R}B3mA#XE8hvI2bgE6j?`UEOJNk^FY z_D_O!60z^FW)PTB7CnNtmJ7 z_k~x~exB^^XWk{A{toUHoVKXo|+Ib8rdIQEj z|Fc$fzqswQE-=ns`7Et)qN5qJK*wmks0qsPy#;ErgL{ZDKQB%2@7D2JwXZUtoG3dzE%DKV6GMI6)}c-kXx13^%+ZdtS^RReN4HHB z<(QQS&I1aD=|`5|4GPn~ZBHDkGEI#=z8PM9> zm?~N{GFDv{(e~8@nbLv1(@HT{W#AtzgPYg8_aIdvCP?v820l&bq*>~I-Y!d8%2wD$K!*F zkYeH$vyN8;zhru^KORTBM8ok6{C(x;w5-R-OT$@HQC!igbcW3cvP(q$;_bD|x2CYs zRY1agT)onK)D`usEt5`0%-9Cu4P!$)pig>CeED-O`bX=@Xx%|l4N}-9c8hJl6cjx{>9(tYVIDP4FZIb7I#1pFwX8&$=;PHgDJkHJnx>_| z$p+6+WEN2^#j&H2U`N}3O$i3*zAuVo=^io*;L=mjh`P(8n`8Ge-UZrpqTO%(VR0<_ zt)+5gdNE=Kwl4;Rc|R$3{I-Ce6fJ+huEkyoa;7RLt_{>*ev=a?shGuOZ^U0*+UBpk zo};|H2ggTN=F=K6G?DQW>uLTc^yGUI*Zq~lX3~9sZA_eK)x7Ppb{KlAjqN*{_;)Zd zOLl3Ua>S4R?JWjcat~UIgzc(k=3)sCF&?QTygimDZY3(}G0N-K0ba%R6vF$+MsolZ zfWz)n+=GohN6o)=D&?mDe{4lUrPzS&a*ECRTkoKZc&BNeu4?$!{nTbG252j;reZMA z574+XXy)4p`Z0PzU^1Tq<+81h4S1oIG$2*WatKjyCI#4DVT2C$Cl}T0 zB3x9_95=PG-5kDsRADV$<{lft6d&~QDAx2aCw}=X$&aq5jJ8@V@s`5tQ9?K!3?hJocXL;PCH>Qe_AS-ND&pU|D@Q@<1n znUBi&`wTucVsIF-^bB6J2EAqtdbt0(W`_BK>=llM9VyQW$HLahCE=9+zh1a{-90Y< zws2+y<(?9dAsC&g3iGUX5evF90j@f>%6c~Gg!D)`G(eV~Cr}wWo|AyE`m;XH&JGCw7&oJkUXsrzpv5}*WdgO+e9O&Sty9x@ zNtBeTJHkB~+A5jYCSRHv<%bz3j%wjM|d9K+EhNF_j^c`|j!T>2+daR+9dIw}u7 z=N#$b=XB55dORz4j;ukpJcn&m*1Y^Inc9Mkjs$3IVaZx6%JJ29hZxE&e=Nd0Zq*Hp)Hl^q!VowSzXVxH~QJD4aJddZ+ z>tS-YU%e`8(ka+KB3E7k!PA&dh@Qyo46vhWS)ni6ucTC2l>y|dmMiqD>`J`auV1~L zL9ml$^Gx+kJ6wF66&`;Oy|=l!Nx@N;W8Oj2vBylmGOHx z3s`x@h4ax~m+$3*861|_Zk0ptNT7BuE<^QYmVUWBkJ_ZaPr1$X%nL#0wJ}|c5-&8v z81o%jud6lY0b$;d+4-S@iz!Gxco{Ws@v4TRZii(+y}Tx$ZlVuld;x`6ioBV=tNEc{ z2}kuE>d8+1i8|-h*5axqneyHO%514TO)6No{?wY5vzbA9T2jK$E!aiIG684e`4w;0 z$6ea3KT+mOBaN;bA36@S-J^>o>*n3M@TvY1lZyrijsqhCN8EC(nMmQa8P z(ebd$>SEQ7e6U!{ly{5iJzLoCF46M(-4Ytp@k^gA0N)^5nuyq=ITK5&KTQl#@y+CE`m(Jf`g1mXdgWqLljcOJu|(`d%I{r3(5|c5kZ(Gp;R_XQK|h z^*C70p&-bPU@JaZ?r#gYe7Wnpw&bRcZ)r4pHaPpkFG@cPh&wx?v}GA_?tvU$Ml+#I zJyu2??Ad=;Mkfg^%69E3#HK!@J-E?fS&0JrS|Sm(J*}4q+S5f~HeEWe`c1f3Jo z`bKW;KpDw_63stEfrzvGwF9Nl3Tbu>cLizC{m@%tNTg{Y5${Ag#;QaB9b&Z8I8?{EJIXFT}{xlXS$SC9> znR}!nd*xh(WB_x6dzRZ~hdv_&7Ok$0!a!U>_(Nr57fPyF;ln4ECuoelVce5;8=_^p z$ULT2)R7yg6lQDOEJhmT;I7p2^bw3noF0J-;%?|cxw!&9im>zopn^)S$io=5PH%t0 zGYeRuMp@UDl4FCLk)L*@n+qS(D5ewUu$e?9c%RJgrsEG<3br^L$iI2$-^-7>g$Okc zQpxP@5N7S-j8yqqEhO4$-6`LA!!2v~KowijoyN3ymmt+VhzvT@drvlYr;zhh;48?M z1A35|3~fd)Uf?G`%9%ZAF_7~}j}WH^yN6O_aZeh?M;a!fC@TOnWQMT07kgaM9@by3mMci|U1roz-r(%xpC za^<{G=?TrCkwr8~Scrf|HU@cr7|Z(J#BMIRw>PkOq&(c4vct7MQ=aHeMVZPTVLW4W z^F}JojpKaC^d2d#K9oe`<@i2SOq=AgK2(TvtRC!xIo%^)=tHgZ`D{21PZPEupEktj zj^Pc4&my19<1)T4b;QI5^o13v4WZO>>K>#;VDoF5ytteaYE)9)GL`k-j9^&!P=M{mI55lm)xwH5uEF&WeBA$758Ek2y?U z(ob{m+xlr~v%8<>bVvF@b9r0FR!~k7a!yzR16a{WEUNpPLH3*MS3xCQWXH6*sH%z( zn)yvGtDv$zBfTEITnL>on8TR#Oax#&pd%(wR+b=c!ptq&1hnd^xFTQ7Z{+tCl-pvw z6Vi$101QGm_sfF*)D>Frg#K8Y3i+S@K+X!49H1Qu@`3&ox*u2X36($hhk|!dmJOib zjZWG-P+uP|7YzXC8!2lBP*VDM4p!Rvcf9g=g4GXpH(x$AAk@F`+W;CE1b3xxPaa6; zFh;@Ud zEo%o+a{S)`kt)t8SSjBgMCCRLW)9X1%7c(+4yKGuU*gY6`jyp#Da|%n#gV6y<+Fn+ z9^Jh)n5qi>{V+g~C=$sLFcYtB96(SO>%UT7IfMq=-5(edDhPp*ok~vl^g7l8G0ECE z#s&jdY@IAe^9m#`@adIu^iWEL%#0mI85#9Ppq1vDA=p!zevtLxS#kLjrGj4O}(dCM}f{M-U%gCFKa{V7JOWBj{|) z7rb>AfvGE1DU3mw&r6f&ZDNSTxN-Vvs+>EL1_L!88wsX1RK7csw%IthVpOP3_RuIO zU-RYrqgYZNmoyq8;xCyoTJh^qqrp*D%Iii`mRDz+u{^3>ra8M+*IsEU{KC9RK0BIP z(lYtgX!2GpGgxjii9%ICPGLQ2Xn|Iuq^Bv+1#UW0{yl~=<5*7UG%&of z+>%a%qhgrK*ixfW8Dc21v$gWn9sp*`Y$}eIvr#=uVWO`@Ws~tHpOC%BQbw9WxFFuCW!hD8{#f#sTobh0I%=uMpvxIW ztrEwr>6e}I$+6U4w&@O1={gavqV#dlT3>g2DrNhp@d%eeyqr1?`1^*uVH^#oH|1O7 zXlf@&Q)YzBsn9MXYk|#2ko`qb+WqTAGa5*Y3-8J~KU=IyvrJkemz+uMu_#*PszRe2MIIE@oe7{-$Od&;eU^Ig z>Pxx4Og@YHGhHAKnw)C>s5KMr0MqgOnzveP-VBs5)NM>EX~3Ig1m_2Qk%I!4;S-hne zk4(PMJpoMn~XD+>bB6ajuWCXB6lhMc*0$`^9hJ0lrX#NKI?L_Jj7hL&G z*%pRa%8d$`s$l@rr|gM_hZE&plSm!N{n8{5_(7R@F12o3;g?W~=a4N<-AbJ5xB$yp z|wfZoe)X?N9L+$aT8zedi&x@wxo;JjjIQvh(>=7Np0?`R7v)^ztAI zaQWbTYUu{FHD5@ZN=xYvxppc&1@+{dX_(v!dF?bB&bBbVQOI!?@7zln zvg`s%^kBb`OU|DT-ZS|EHT+o@sCeNG7eKC!ms>8N^^i_Oro+gokO5`kl)fy|mo>QPQ}FY!(L$jYER#+0mAN5~X&3=HGHo8W>pObI z_o2`5+axcW7xE#eC}+uM=BXIL_w&?H+TRWgX**v92YSv|uO{Q-YY(^pL5&sNBv;RG z(%yU;idjW3&`s&fIDNTHUpC<4YYYg&jfJDJw-!)dC&zZqLk@!VzKgQ}J?6*CWd}Sk zKT&=0047Wvj<%p z$71RWOz3$rosn>hk&B<*@WPv(38gE}8-u1cT})>~4gK?Cgu^z=lK;?*1WZCY|cB~l-(fP#;r0haT&W27#w!&eBH+i& z2C=?W`He35O}|3iPXz|`)e|eS5pNO`L?U6F#B$U=}esr0UTx)g&+faA>4q)UGk@^ z=@+j1?KKcVn`NJCX&+UuzK+J>L%(4a&VDTR|CNKiK&vyW<)Z5_h0SvBbu^$=$QFy| zB6S9Jz#dLce39Q@Lv7_9%i(>Uem!P*r@ZWXstm(=L`TV`H-JrTlsPw0rh3!dc{3Sr zFt;mifO@h~Zq!eE@sz#Ma2)C!3d5YR!yNOMq^5yk7YF|YC(v@;C+S8t$* zR+gXE+--*;v@W0sW3a*$wO1m$8M8VTEBDKtt7sg2*3ECG0q|gtzL`oAw)@gXR zowir_@7qGc`5cv&6>C7dTjY3XThJL6uK``&FW0OI4Ua(^W9 z)ZU+m+!?S_2L|5NQ z$;iD*xf2YbpIm+?Y@BL&_)Z1Qs10-to>pz3X*N^&V}lk7yn&2%$le>N4|K@OH&SO0 zrxnPWjg*zi7#@yX0(O!mBFupFGv74iv5i2N{W4>d;x5=clbOBW?Zg<^n+13-GCITLGr6;X?SOnXKX*3#F4fr#T!K17 zIK$}-x2m(d?t&?{S)RBHVTdg<^=`=Ix8%6Hp&Z{YFXzh^x#@0d6^#zT0t(Tgxl_Jz zH??(Rg!1CethqfRTWe(iH z-ba(YzCbs27{SlBlDBn6W#nRSCI=~C=vBpwc@O@Ifrd^w8{Z8_jdv)$zx(J7bnkHcx1pukX~e zrW-+QG3=2k+bIUNNz3iZ1t14)r}mj}zA#O*YsKDgV>0mprOh|xE!$~SJOmv?z0Z~BKLn-l zZMpR!YG+psuXl6HszI5ugZM`}eW}xzPx&%IM((6Dpj%JeNg1u4 zP?kwAK%2eB!0e~As!o_Oms@`VS9(Ccy_0&zZw;`;0C01M%zv0hajiuU zgMChrUp`C)ZFj2c?aLpUis=*w<2rp-w5O1;kvmuI(wADp{X>l z=HHBx&ppcKDE~r`jNJvuJ}ukt3U!@L!{!d-Ba-pa_+6K^yC@Nv+O@cpKI5OJK4UfN zUAOiZpK@raR+ud72_L`rG3puP`$-;P(xi8D7aOGvgmQj8}JS}PC~8&d`QHq zaUB=eQNLTKra@6Z+NRyfSR|4$3cX1E0}-$ms2DnIW;buS+i*L=n`_BRk!L}%zrb>`a7F42wF&-{5-;&#&)Oja| zpQQ8s87sHGZ^U3J?Sz#p_X2{xWyVu-%$?{SJA&{Nc4X=$FHno(M-p_8WwjbMq9)dk zZ=jFmK1GR4J-lT{j(Ca+2SHuY@=9?nOrT~1!x>-T#(Ytw%pxxib(pK7RkmnVooL+n z7G3Uniqg8M_o|-y`Xwb2@qr4Ovv~|LrQ-)m3~CLiMn=_9`tVvFDRTkUNTP*j3u}u( zFj$>Zg^H@o0jpDDgB6be>-;+EZ*RwEdFww0z|R?u+jx5_@{{5FsPn%q$v&k%?cEoO zY{41LW#Yu|iSn$cDR_^z!YJcqL-qj@3~snf&!4FTh;vr}N;xGOrBLF`-TB5rsk?aY zrO!YM3liWKr=DK)P@#ccYNG+l98mba<4`Al7kV>;;(l!5 zV03@^dE`xRlzm@-&T?4pJ6mm`TKa+_t5>J1r+xY<{zCOcFH%PFA)nt(p)`JBj9om? z@YrGMk9@JuMbtc&BqzM6p!D*KG}Lh~)XoD4JG{j3ku#Ev%xq1iYF{{vU5m9F4t4O5 z%Rrx1FDZnoOENmk*YH`I9m;0C0)t@c&U1g3+*9PS~$irpxxzpjMz}DDKRd zaACa(&T?dcS@?lM<_F-)-sdNT74L+m|tkUIJaFt+wyH3y`g-^+7g=GeX|(?d#%)u3xa+t0O`-@QPgT%><~ zD>s5*7NNk2Fl)nB1(h(XZX0e=*%DAG4`zwuwaerpd^5p$k;ot6h41_nX3O8e z_ZubC>ZyV`G@pa!+dV92)x%mFEN`i&@fQGeVB2aW`06z^Eg*zGKci6jgw)76iOfC) z0lF~Hg;ipn3k=l~w7~W%=HfvcP3BT1$Gl4EEvukhdoXTBWVV>qxUsLzd4V<&zpQzc z266JBU5gJw^&mav$$Cm%{Td~A2_CUO;ua!|zc@f?SIq?nRU+k5O-%v}q{tY^(QUfH)C#h3#7u~oAQq|VA@r0!h`ar zTmf>5tQ1IB$Tm-y>-^O5|9 zL|qRrtPP1=57snhg=W+a0u}rLAA?b*_}Hg!A=vh{OaKCP#s7g-&9@wT9f#N6WE&DE znV`-&zUpo2Tlu!qQW=Wqj}a2UWd2+AkeY^zZ_Fn8cR`^3&AN4v8pj;1R)3G1WS$;) z;6n&`B{N40RMg|SKX0I>F2@}9anwNx5D$#?dR!Qu)%bwif0)usl`9PIRSdOIg;2dN zZM))(tp|8AOuu{!Q#Sq`csk#fJ>Q{>%CB{PY#yYUt`x>{64Z)a5Bf_lZZ_~T+5}p_ zPtcb=O0jcFbX{HMR{gNN_m#3#Pvu7w=?iv4O#bwZeCr(;%8ufv5;ei&C^ihepBv! zpIQYf$H;#O^?>~5)}f`7g$S}fK;DH?rcyE#YVetDRmg*9yu=IKt5LI>)k8^Iy{`s} z3;*J;vLH|sw}1gBDe}$-wlBaO3>8kQT(hqXZdqH>EZ~C>;Hef`89LvJ*g-eT1N~Z@)mM8YP=oJjVS# zEf6Vu$dSA0Bg(Xog0wB*ZN!M<3k3K%AO9rQLRsDbwdlAU-=LG(|IZlZ0_IK*L+`2 zIYLQ8@TeCh~gcmZkq7$Zil4P1v8 z->1{a-;cnpd{DOjn5Mz2wBlppAX@Fm)X~N_wd*9TDZatas?G*Kr7_m&6YAw(p;-J5 zvYr=iY+Vo?@m`L?pMs8m!;zo=xHxk@rKF+{)e<}V7``HX=9F(%0Sn48HF5b+>jih9`^)pH{4!Gsy7tz8;X^B~`s9TIv|Kt|7E|+3+ zd9TkY-80JT87R(Okt!E_j&$Ww>9Wt~l$tThK1@SN8E4-y#F~NQIzIXw3}ci$flII@ z*msPPw5$6Uv^;qG)vi~M!axeHx^F%u?K=M}sD(lAcU|^1A{+FH-2DwLp-*M!Zy^gl zk>`F3JK$4!{kPaUhO%#I27M+Aj!_jZn~zb*Z(Hf(3_bF%W5~q%oTaQC&V1QEOf;rkvXd*X($CBQ9NsfgSVFbo#_1L~R=QSFyqE^$nakkEq+=M9!n~y~fb( z9G>r?_5@j?9UKkw}4oq{(|{9Zp{Yy z+z-@BH>;otYaHHLh9<;+fnwWeM=@&WEKrr#%~9SXDp3GIROV-3CbkNycz3TKkwL9T zt4!l)SjcFo#5R2A{Yb65s$%|@IeVBHx4ExF8X}l2OMsXD>dkybSA) zD=)+2=lRwM8UYW-V^y(X$|D9c!iarY{&~C!SFKX44dC|iABo@lZY|IKnZj_y?Z(v! za_;%YX;dW-{7lSVkNr$-ZDdelf!X&4ZbY+h+yWVT{-QH;r~E>LfPWjN8YvDFg}tnp z=%HUI)Ak}N69)^&Vwv51HLL-$7LFU!w{@=gSIW0L27ood>$s+J8C$r8GC%uQN@2Od zvJQ1vZqzYJ2Fs15hmD+A_3Pf?svl^s`s%M>B6YIoZ}8#RzgZw>Twt&-d--paZO2`= z{}z(IZ3mC_zD4+J-M>@2APy$`{7xd62GQik=|*;o+B{8jP`#|$JmoKF>K-~HfRL0k zlzl7E4XhgYR^T(TwNnP4hjn3CXV7rWdWXQwR}Cf*uOblbSAiz8^g;uNM9b(CG$FP2 z9j1tBahD^%{_`Jw zg8$%cT!Ja#F#D4^8n^uYkB#0s(g;adMnnSQ>UByJQ2sj1DkdB+Mv%L>2 zG#g*-=m&I9*o@3Zoal#kD@VN&Pt8~WHM#4hv*iSu zRQ#LOOkf{(>t`q&QIik54Ni0_@)&))ykfB1&&vZ>4F5*?t_g8BnDcFi4;? zLdm|vV@&8+e+OBITvoA-tzgt#!EGKh_$OLRK=zE|xZsHo6>bJKyfn>$+CGy8>9XXxi`YNu!v!B++}sQVE|YrBJ27+!>27n|KP(t zH_K6xMmr3)GSbKx80cTdkeOFt+-G8VjY>!vXyHGAj>nLq}eBIqhS~dK)E+$S)4JrM?HTDbymv_m){W>ZJ`MDCRhz$ zxvZz`4GVf*+0=MX?uawW+c(tVdu51#;w?PEy<-PG?GhECO64LrZ~%vV)9Bv5eqZ2c zc=CPbl-Qr)QGd3=H0JlKR z+EdC!?B%j05H8jR{*<*w+?W%s+MCI0Z^?=T4E$F)J^|E*@m-c++z0}WOGcbOGtr3c zq;+JB%VYj#I4%;UFEd97Q-TLcBlhXQs^0H%Qlb(kmn9l~z#Dca8Y&;>okU{__t7iK z;Iy&-E|fJ=kE$0g!;_7&ctyZ`yph9MioGc%X$=#e{Nc7t#)wpEb5C9NXoGavjai`UQ1IBTTS*SEr?W4z>$;WonvXp55@YS|%vePZR&5M>(iYEw>uAZKJb(Rr9RVDOQ4?e5jyH zY*g@Y5hH%ByeiEIIXM77A|PK*GuB}L4t~{H-kBb%{9rG8ihMO4L92~&VTRE<=^#hvdObBMS|Dm1$tTaVm6y9F}E7+uEaYn7N~#J+=0TOpGkKE(`fK>PPl`n|_oW zVUDwLb+*xmQL#MR$h44(4Dp89C|(^)YM)oj24@?TC4PcKRkJx=0=|g4 zx&)u;#0B+@y`XUP^JiF6mXD?rNUKysu|3FYXnJs5snBZ#j0#8crLdCW1t`z}M`UHb`|A zKRqIE^n%emD)03gIT6U61V{(V@A8cN$yIKL^%bzCYz_;vs$KvMU{StzS!q0d04~qv zP2$Po!Xw2_$}=%i{TnTKaCxIK(imr?>J8puo7H$ZIv48W{c>imq4LoZm2$K0FYhzk-)HTqh{kt`&u1A*uJQ&ZjyAa@r$2(l` zRN#$AbB`L2=R!LN{cNH<9178Y7D{ntR-?k*3_}DYyk3)^y|MaO7rO?`b`51lN7TSG z+C-ijph&gy%RHkfz6mg8e!g+qv^RXTTmT3XHWl#@7ujROg$-1cc+914UJdJ4r3?CU z^L_?+U>;*B?m6`aB$c+NTXn7l=GAN-g6`3^cAkY< z&;+bV6IJ@ox2hy;WlL7|e+74o)HV_5t$Hz*Bo@C8WZPo>6CL<#z~HLk%Y&$Tr;p*Xyq(T*GH+78aGgYw39 z27b#)eyA@U$`pVnmqAu7mDiOSE#uYEL*76w;>j{2=7{VdQ3+nmEkc=N zFv39o6>m5?O{8x@BDxfvgO#!1(798JT2RFPI26E9hfxHi&a>VXJxOD*6Wt3w^Y$M@IwzeT3T|isA6lLGb*SZ^>2I5Rn#sUn8 z`>1vLzzv)Tz_Ez6SfV4Po#x+zQ8Nnk2 znQfB$dT8IgR%|p1@^7lx(^p@~6FrR9J*y3?1&cXg5fF$;1lX#at6ZPiD8m*n;SX~j z8Ph!Gi*iy=qf5^k!|L?EZQzxj1|J#lM^7VtqQ5sj^d_)3jDbg_F9kquRJG&bUhSxJ z9y1knZ}SzydyTg6BQbJ8FQaK(Jf%{tDX3HFBFsQsD*5hBCE}bl#{w!%gn9eV!K??+vwV%Mu+iGk#%Ez;m-^cBmfXGR^!6-uSuXv{@mNB>FG;;F~E$y zocv;#pJ{gT|8#dH@KqMq{@(Ke;oe}lK=uSkLIME-1_a#LK2{NA69hDfT9?-r6)G;M zK(ty@Ndb*=5CcS63>Yw|ENaBCM+gwWLeMC|rA^x?*v+&r^}YX@nfu+vMCw7Q! zF7wSkbLPyMGiT16(K)1N0#@O(^-X$w$SdsQdG}x?C=Qf|zDolNE=o5J!ziMkXZ4Iya%@-Rp;lVqqhF91d+kt4i`Sr&v6jv` zpeyAMhtdojCv%P{Wb;flEK&v07eeuh^Jr|y@$A$&@|Af6&H3?pSta#SJ%+y8=;+}NJznqbvWvBE&UAPE&6 zkNkNH4b`AWvbp~V>US}AEP$KFC47iFpTm_xg+)R{lLgaUZD6@{1h%RrBWNP_Eq@z< zb6thA7N@)kz1smJsV@8?@}>x_P>~%pou0Z8S zML|^ur0_@vpYAO|!HY3C2U1}AxunsDKIt+cM@px($Lw?nGnq>|574fF=G)jH^ z!T&LEf(dzi0*!&V`KnTC#G!H=&%YL=_&6`V zmeQ`%#{gzo4iL`T(_nTX(mUv~ll6M&zYHft=@iHvSpYJmy$rlV;B+t@JT9rz z!G+W5Zshr5I>kl5ug=hf6bZVE<2%ag--UfN)v=yTD85Cwm->-exf`2;$ zc=-`G&Y&=Tu=MNc{!mqj|2^tRAP<7tvb5k+lrIBpAmCxw)&MZV!h-3n5p|@~H&B>5 zQtpRJ8Vri3Pqa~vOekk#s91X054a zAI+g|fg=>fQe&6>Mh(mB8&TPK?scP*#Z0)7e$q*6@(=M(AEg!? zxS7-3VOp12-+nZ9U>3ENHA8OiQ0`e?REgI);8)jo9=M7A!RtG@iE0$&K98N72o^wJ z-x;jsQB7Xo2{3Hmu9X{~dsdXWj)W<5ymes@>fkifvKf9gghte#74(eMMLy6~qUR!Hs+U83+8T&!BN z6f^rB%32#N9`iSMlF`l!&e#UK^Cq;lQuP#3Ydtlsq%`?Q{|A(mCeIEiDXq2qN=o>` zBKkd)loComa@*_Nc6UQau^@<6kcd#X-l#BOS95 zhsAsk@e3;{zT>m4VFg;a&}k2kzYmA?8~DdhBj%!~sXgzw59RIQ z`A;F>Y6P@RQM+j{(#xVyNGX3QF`e(HG+(JQI0VtGFjK<0Pr9Fy((nd_k)E~@?z>iI zmwJOjl7XC8)$)@2DKREAU6oG9Z{H6|XC41WJ24MXuU0xU&;1!C_(nL5DOBb1+y^K- zO0h#wk3txr$X`4_nLi5NQUrJbkr_a?kS?-4w;Y&b#d0au9%VqcQ-oHg_2^PSZUA1( zi5C_e%%KwQiWGr!=R;v`3$LF~Kk5L^)Z`Z#tCX>x(;n0t>TwTJ7ZIaj7a_c!*-ZGw zPft8ZtJ($h`-SPW@KRs@hbZ+M!IgZ+L)3ZVA+4i{O%QCG;?!Q>x&=jy#lT*A(=8F`v^}|8CI3`8z#{jgXz=sbhjKx#g6q^*d8>Ca<0~dMbETGgR$Sb`j zg%S=#%DH_?6kd=k;F1N<4&BB37f`oozyZTE0!iV>@IdKm`9cjKlsXOof_xIRexe#` z1Vy8}0FX13VsSqBlCp`HJ_1}KFp{ICX?*uWN^FZK)DSp5rL{;SYd_`{3n^2?ktVek z2DQe(pIk`Yrl4`CFb8e;Se?Jzgrg7&Ylo52i=4@62d=LLay-Cdsu1c`1jWFwu53#qirdr3hMflqWt<@g7`x zkW2lbDlb1uR}9_YKf=PC0{vEp#}Hfzia;JEr&moJpvxD{Tf6~wy>DcWNyton@G=|)z4rW@JyG2lfVPkoHKr8e0`S>q%(#wC|m zJw{2fp~-T8B?X}o6Yrx~{`4^*?*@)|oVsO{{>t=Dgr?XjKNoE2$wn;l?UL1@gEs&X zp7S^*U1>V6V5gdH`FaX*vW>FuKKk}ce`1@7&pl4rdM$AC7xz;<%rdpQfF%aQHuz^y z3aI1R%28&Sw*8D^^s<1nO|vY(MpFW3KS6Cm@k1H;zx4@f>bV_U@Qc(J{5pei2)o~R zeIAA0@AJPQ=!I~XY@K5jo*ZzG;dk;V^Z~Yl+O^62A9)n|?512<*>TIyX^|U8#veaP z84*Qwf;TfcYOz{F3Q{-4@HLCchh6=Ri=p2!jq?`MjS$cMdNExsH2ac#V8D33C7&{4 zr};^ez}h*o;8poJ8{W=?enB>D?k)NS4G7wFP^m za4BI~I0E4Hk5(WAg05iBvVoJ2E>nCN7&76@z<`MZ-Yc1>Kc)CEFj_%;7^aW-dOr=P zRJgLiaCSdO2}%3S9BGOrbU0fWFcS(QR?Czfvj}x{95dwl0_qh4vt{e}{5_PI7Rt`z z;u5+Y%m~+R7uaIlwhJCABiZphi^Ek+A7toty=bZz0+s}ud~;WVjx{hg|GB*N8Hx_$ zj&bo#D&z7(N~WTXLds$}>RIw8i%6!I-NWoz%s>^XVco@#AUS5oBph2_E(x>!$LfNJ zV5~z36HGtU>n_Q05df|!b@}q=C`ptfAZ2P(%x=s%Oty3Vr)n z9VTD1mfr1FRqwV>xb2pL%S)+whE)7MVk!8u~3w*v{8k{)fJbJ>4& z`Ev2-w!PbBzpp;yeR=Nm1mtiuOAFj7cqD1Vw~6#GjY@}Efv_yq-<~BVJ;@jAd&Qle z9+oqXH@u{^bPl{ky*eFMhZfQYZE;IMOas1!Z@b@^R_|iqAs8Cy)!qcT?pCPRb_=t6 zKV8aj_?n<2#Ph{;O(>Ul)kYc=8uHXe9IN9gm5tOZG$LUWO%4sYe-q_|gzPxG3F63* zAW;+S#0yGj&NqU)aSF_$HW56pso<-cNSM5($^3Jg4&JvVOoegB@3&BIr3syK3QNP0 zx3IwhWQT2~^oxqrsV$fz#kJhC6+GnzUWJ$u8w>{}k`m3X%jvCu)EwQrfN^PPVM>{rDmRU7CFeqAvc34 z22EwhV2qxwzLmWCRf;ut!QXgQYtK5h_xZlHui}i?DD9fRqjFh@S2}tMZEQSHgOJyp zRzqV&g}mf6<9?*04Lnq3X(uSnxLl%#fnVk88m^ny^d3)bFk4% z$&)mMvrrDwrG#`6+AGa=QV5*V`hg>gp8+M-W)kea0EpquVGpbaGtSM$wtOwV1^lR<(bq}Z>h6`0b)G&CK}n;>YyY z@rWv{1(Tu2%!wqG^$chi+xN2%IJHaqw~MJ51fo(lhX|MyeooBq4E=qG|y`7eso% zuEe&rFQ^(Z@c4jK?$BZCXv(WM<$e9W?iY4su?2JbwBUi26e-<+I_@CIpOiYTjh!?K zfyWp0K$V#!f>^%I4t*7fAmDkZuOFu9sL-4C1*z*g2o!^Q5gW7)OQqRlR|QuJPjIDD znH?(oFEc zBFcB1ppO1)o_{+}7r|DuobAqA-W5MaBviGE#8yt61k1&Y1jIhvhoa^gDe=&no z%2Q85k-L=lo}_N>V*cGp$j&!%#Cz1;OuzqHovGjoo2?USIA6K=`jhl;sQ9U0HdArU zDF`nzf0utDTAX_Z16qD>8qNVw+;8+m|SY%};ef5>^J2 zpqw+|Gc)%L1T{dR(lg*o;l6i9?@^&99Dli8`l+HsA_2jtn6T6%48E4^-7u+yz+e-W zh!rK0@jUK*O1y5GU)@1SS_?TwP+Baq$sLP*I4%~8Wn<@@ME2&&A|kFV$VZq-OHdqH z2jdH7HO570BH}EB=ib+d6SiP@qJ0e^Pz5};XxiV(=>9heM17qv2#Bxn3s|zu^f>#0 zt}JL{=rI1=rKWlMdf`*K_j+>;miA>lzlP?>}M+E_(%En`&iv%EUWRB~G<^dK$%x#Cg0e)v~>nMcP|kv^>okMTIZmAw(D4_$Y;?tss3lvJwRm1)*+s(euu6yuvDrQi<* zHNNOi64}MFsdB9(iH{CWu~t`=#}9U~QZq}|!JF)|cfxHeHMhoZmg_#(&90xIT@s5L ztJm?~F4jPI;c}D~chh944S&*dyiBK3;32p#TUnXBCf$lk=#6Hh!G%!zkjP@VgQV~Q zY{ywK?CWi{k%S4}dP$MxvKuz=o^-3Lr|>21FXk`Pt&ZMGTsOWK!gffxPT3Ac|ly9Ym#iSncIpSNBj$06?)o}X!T<|&z0lBety9azB+ zWLj5x@}YnzsK0{CGOe-Rdhr544W-+^@UU#an5-)m!=I?pDg!M)9L{ zd9S)7y>3+BLi*Vf_Zv!I#K)P3H(pA68l~P}$_|cy{ zKHuHy*|+R9T}%aBrtV&G=D)7}E8u!wMAd>07rE>b z2}iSb^5Z?Mj6O9cS)C+XYm!A_?wIhrZAgxhEEHFI!yh2qqDt|iwraS}Ot}^9xCfoG z>rHF}T+aqmXj=^ZcAaa5xG1#5_;X3MaqW?3^mjmDeDPh?p)Q2iUcFx!fY zS(byM@mDIC`6hDYOAcQzYk{ZmEnQwQFYjet+rH6w^UB@{Q}VX<@8rVX)(}slc-5GG+S|I+Q??6UG_8WuFScfRO5X7&&c7J=*l4_YTm>&x zmaCS=md{cRb@^@rfXj7`hH}0l+Zu*jvvS9kW6r{9md&&?-Uo~UMX%C+OnS?=xcRKXf*M82ar$NCcmL5 zo?q!}C12zNN|hl>vQ%(&U(CXK@#dqg2Vj=O%JnoJ)X{moijFRp4 zS#7E8kQuLAkq>`9%<-B-I$zx(-rmm|=qWi2KYD|Q)caZ8yfxxQIdzAnoWAZtp4H!q z?=aL8BZ@!|g)ENY%xh zGr;PYRw-U&s1{csBJOMe7VZoghRM7%-s;IUms&l&HOCN%%Il8tzYnk`ddjM_zk;V+ zYEAVN9@pMtepS4U;zdz;?7PhRfw%qyyyH;v30`oSHEL1WN%&E71zgW&)Fj9f16Y~x zItkxm!ec>^OnBaV2!F+d#{o&;mvV|Fywrrp17l2hg@kW4;Rz^T!t-60UH2Z3yxe-M zef=*@!{GLpF89_G`@-c`M^D))l^S>#dxe$ftvs#0)u*}m3TvUarW*c-0g-CFtZ2>i z)|`RA1pYI;hO?j0Z>U|3Izpb547_8RMzN()o>j;oQUx- z;SJ(qeDXhpn=dq~`ylH{PvJ-K0;t7YHpm(oSufrk!1yCKPx=~47JlX;isxroi9-!5 zQh651(5h;@ zE?X9G@uI%!U-9#JFU^zxYwcgb@7q@Y%PYl;>Z{>;_L}ND0X8PQAvnA{FrmhH>)<+z#cg1Og=%|LLHGIyWjIgG7E5FdGtG{4-q;-3%^7HP<*nONj+JaKiNUH_ap63H2 zt-*`dU2sRXBO3#WKfjBeZ#lvVe!EH%q^M|@OI-c4>k;lo!bZ3)O<4YyL4`?}6o@os z2q(gHt-^<7`V?-2ME3I8kD?5Cz2X%gTzlE?g>OQD{H5Thl9h1jD67A>9+7UT`S*N& z6mC=$v2V1M)uH+iC`8iAPfqpg|G*PQTk)fx`6JQ~!;BFZ`Cf->sRFC=3.9 \ No newline at end of file diff --git a/setup.py b/setup.py index a67a2a2..53350f2 100644 --- a/setup.py +++ b/setup.py @@ -24,7 +24,7 @@ url="https://github.com/devcycleHQ/python-server-sdk", keywords=["DevCycle"], install_requires=REQUIRES, - python_requires=">=3.8", + python_requires=">=3.9", packages=find_packages(), package_data={ "": ["VERSION.txt"], diff --git a/update_wasm_lib.sh b/update_wasm_lib.sh index a2f84fb..d1963aa 100755 --- a/update_wasm_lib.sh +++ b/update_wasm_lib.sh @@ -1,6 +1,6 @@ #!/bin/bash -BUCKETING_LIB_VERSION="1.25.3" +BUCKETING_LIB_VERSION="1.31.2" if [[ -n "$1" ]]; then BUCKETING_LIB_VERSION="$1" From 7b1e985ecd198a76971cf2c7961a2a19c66801cf Mon Sep 17 00:00:00 2001 From: Jonathan Norris Date: Thu, 20 Feb 2025 17:11:22 -0500 Subject: [PATCH 04/12] chore: update gitignore --- .gitignore | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index a2933c8..fd5ac2d 100644 --- a/.gitignore +++ b/.gitignore @@ -71,4 +71,9 @@ target/ benchmark.json pip-wheel-metadata/ -.venv/ \ No newline at end of file +.venv/ + +# Virtual environments +venv*/ +.venv*/ +*venv/ \ No newline at end of file From 558e3b0f3834733f6a910e10843bb45cb912c1d4 Mon Sep 17 00:00:00 2001 From: Jonathan Norris Date: Fri, 28 Feb 2025 14:42:42 -0500 Subject: [PATCH 05/12] fix: revert requirements changes --- requirements.txt | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/requirements.txt b/requirements.txt index 2c1bcc3..ab3c71e 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,9 +1,8 @@ setuptools >= 21.0.0 -urllib3 >= 2.3.0 -requests ~= 2.32.3 +urllib3 >= 1.15.1 +requests >= 2.32 wasmtime ~= 30.0.0 -protobuf ~= 5.29.3 -openfeature-sdk ~= 0.8.0 -launchdarkly-eventsource ~= 1.2.1 -responses~=0.25.6 -python>=3.9 \ No newline at end of file +protobuf >= 4.23.3 +openfeature-sdk >= 0.8.0 +launchdarkly-eventsource >= 1.2.1 +responses >= 0.23.1 \ No newline at end of file From 03d3c893f171cc1ccb8e9293257a833849744bd6 Mon Sep 17 00:00:00 2001 From: Jonathan Norris Date: Fri, 28 Feb 2025 15:38:02 -0500 Subject: [PATCH 06/12] feat: setting sdkPlatform working --- devcycle_python_sdk/local_client.py | 11 ++++++++++- devcycle_python_sdk/models/platform_data.py | 2 ++ devcycle_python_sdk/models/user.py | 3 +++ 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/devcycle_python_sdk/local_client.py b/devcycle_python_sdk/local_client.py index 4aa55b9..ce971fd 100644 --- a/devcycle_python_sdk/local_client.py +++ b/devcycle_python_sdk/local_client.py @@ -50,12 +50,21 @@ def __init__(self, sdk_key: str, options: DevCycleLocalOptions): sdk_key, self.client_uuid, self.options, self.local_bucketing ) - self._openfeature_provider = DevCycleProvider(self) + self._openfeature_provider = None def get_sdk_platform(self) -> str: return "Local" def get_openfeature_provider(self) -> AbstractProvider: + if self._openfeature_provider is None: + self._openfeature_provider = DevCycleProvider(self) + + # Update platform data for OpenFeature + self._platform_data.sdkPlatform = 'python-of' + self.local_bucketing.set_platform_data( + json.dumps(self._platform_data.to_json()) + ) + return self._openfeature_provider def is_initialized(self) -> bool: diff --git a/devcycle_python_sdk/models/platform_data.py b/devcycle_python_sdk/models/platform_data.py index 3e44ca2..d111098 100644 --- a/devcycle_python_sdk/models/platform_data.py +++ b/devcycle_python_sdk/models/platform_data.py @@ -1,6 +1,7 @@ # ruff: noqa: N815 import platform import socket +from typing import Optional from dataclasses import dataclass from devcycle_python_sdk.util.version import sdk_version @@ -13,6 +14,7 @@ class PlatformData: deviceModel: str platform: str hostname: str + sdkPlatform: Optional[str] = None def to_json(self): return { diff --git a/devcycle_python_sdk/models/user.py b/devcycle_python_sdk/models/user.py index 88692d6..6901ef7 100644 --- a/devcycle_python_sdk/models/user.py +++ b/devcycle_python_sdk/models/user.py @@ -24,6 +24,7 @@ class DevCycleUser: deviceModel: Optional[str] = None sdkType: Optional[str] = None sdkVersion: Optional[str] = None + sdkPlatform: Optional[str] = None def to_json(self): json_dict = { @@ -75,6 +76,7 @@ def from_json(cls, data: dict) -> "DevCycleUser": deviceModel=data.get("deviceModel"), sdkType=data.get("sdkType"), sdkVersion=data.get("sdkVersion"), + sdkPlatform=data.get("sdkPlatform"), ) @staticmethod @@ -156,4 +158,5 @@ def create_user_from_context( if private_custom_data: user.privateCustomData = private_custom_data + user.sdkPlatform = "python-of" return user From 90de072ce4b5633de7f8aefe17182cdaffced471 Mon Sep 17 00:00:00 2001 From: Jonathan Norris Date: Fri, 28 Feb 2025 15:39:49 -0500 Subject: [PATCH 07/12] chore: update to use datetime.now(timezone.utc) --- devcycle_python_sdk/models/event.py | 2 +- devcycle_python_sdk/models/user.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/devcycle_python_sdk/models/event.py b/devcycle_python_sdk/models/event.py index 20b0563..64cc40d 100644 --- a/devcycle_python_sdk/models/event.py +++ b/devcycle_python_sdk/models/event.py @@ -18,7 +18,7 @@ class EventType: class DevCycleEvent: type: Optional[str] = None target: Optional[str] = None - date: datetime = field(default_factory=lambda: datetime.utcnow()) + date: datetime = field(default_factory=lambda: datetime.now(timezone.utc)) value: Optional[int] = None metaData: Optional[Dict[str, str]] = None diff --git a/devcycle_python_sdk/models/user.py b/devcycle_python_sdk/models/user.py index 6901ef7..57d4c56 100644 --- a/devcycle_python_sdk/models/user.py +++ b/devcycle_python_sdk/models/user.py @@ -16,7 +16,7 @@ class DevCycleUser: appVersion: Optional[str] = None appBuild: Optional[str] = None customData: Optional[Dict[str, Any]] = None - createdDate: datetime = field(default_factory=lambda: datetime.utcnow()) + createdDate: datetime = field(default_factory=lambda: datetime.now(timezone.utc)) privateCustomData: Optional[Dict[str, Any]] = None lastSeenDate: Optional[datetime] = None platform: Optional[str] = None @@ -51,7 +51,7 @@ def from_json(cls, data: dict) -> "DevCycleUser": data["createdDate"].replace("Z", "+00:00") ) else: - created_date = datetime.utcnow() + created_date = datetime.now(timezone.utc) last_seen_date = None if "lastSeenDate" in data: From 9ef0afce089ff770bfa403f447a67a554b2a9d3b Mon Sep 17 00:00:00 2001 From: Jonathan Norris Date: Fri, 28 Feb 2025 15:51:47 -0500 Subject: [PATCH 08/12] feat: update OpenFeature Provider with initialize and shutdown methods --- .../open_feature_provider/provider.py | 21 +++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/devcycle_python_sdk/open_feature_provider/provider.py b/devcycle_python_sdk/open_feature_provider/provider.py index 42a5eab..b494461 100644 --- a/devcycle_python_sdk/open_feature_provider/provider.py +++ b/devcycle_python_sdk/open_feature_provider/provider.py @@ -1,4 +1,5 @@ import logging +import time from typing import Any, Optional, Union, List @@ -9,7 +10,7 @@ from openfeature.provider.metadata import Metadata from openfeature.evaluation_context import EvaluationContext from openfeature.flag_evaluation import FlagResolutionDetails, Reason -from openfeature.exception import ErrorCode, InvalidContextError, TypeMismatchError +from openfeature.exception import ErrorCode, InvalidContextError, TypeMismatchError, GeneralError from openfeature.hook import Hook logger = logging.getLogger(__name__) @@ -26,11 +27,27 @@ def __init__(self, devcycle_client: AbstractDevCycleClient): self.client = devcycle_client self.meta_data = Metadata(name=f"DevCycle {self.client.get_sdk_platform()}") + def initialize(self, evaluation_context: EvaluationContext) -> None: + timeout = 2 + start_time = time.time() + + # Wait for the client to be initialized or timeout + while not self.client.is_initialized(): + if time.time() - start_time > timeout: + raise GeneralError(f"DevCycleProvider initialization timed out after {timeout} seconds") + time.sleep(0.1) # Sleep briefly to avoid busy waiting + + if self.client.is_initialized(): + logger.debug("DevCycleProvider initialized successfully") + + def shutdown(self) -> None: + self.client.close() + def get_metadata(self) -> Metadata: return self.meta_data def get_provider_hooks(self) -> List[Hook]: - return [] + return [] def _resolve( self, From 784765a7e99957c35506aec80688dc36c317cca7 Mon Sep 17 00:00:00 2001 From: Jonathan Norris Date: Fri, 28 Feb 2025 15:54:45 -0500 Subject: [PATCH 09/12] chore: cleanup --- devcycle_python_sdk/bucketing-lib.debug.wasm | Bin 542085 -> 0 bytes .../open_feature_provider/provider.py | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) delete mode 100644 devcycle_python_sdk/bucketing-lib.debug.wasm diff --git a/devcycle_python_sdk/bucketing-lib.debug.wasm b/devcycle_python_sdk/bucketing-lib.debug.wasm deleted file mode 100644 index a2d755a3a85d269bd7475171e832e94a226ec794..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 542085 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 Metadata: return self.meta_data def get_provider_hooks(self) -> List[Hook]: - return [] + return [] def _resolve( self, From 383c7c64fd487daa1ca4245379ee246106cdd50e Mon Sep 17 00:00:00 2001 From: Jonathan Norris Date: Fri, 28 Feb 2025 15:56:48 -0500 Subject: [PATCH 10/12] fix: linting issues --- devcycle_python_sdk/local_client.py | 4 ++-- devcycle_python_sdk/open_feature_provider/provider.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/devcycle_python_sdk/local_client.py b/devcycle_python_sdk/local_client.py index ce971fd..24d18d2 100644 --- a/devcycle_python_sdk/local_client.py +++ b/devcycle_python_sdk/local_client.py @@ -58,13 +58,13 @@ def get_sdk_platform(self) -> str: def get_openfeature_provider(self) -> AbstractProvider: if self._openfeature_provider is None: self._openfeature_provider = DevCycleProvider(self) - + # Update platform data for OpenFeature self._platform_data.sdkPlatform = 'python-of' self.local_bucketing.set_platform_data( json.dumps(self._platform_data.to_json()) ) - + return self._openfeature_provider def is_initialized(self) -> bool: diff --git a/devcycle_python_sdk/open_feature_provider/provider.py b/devcycle_python_sdk/open_feature_provider/provider.py index af51126..bc4eb4a 100644 --- a/devcycle_python_sdk/open_feature_provider/provider.py +++ b/devcycle_python_sdk/open_feature_provider/provider.py @@ -30,13 +30,13 @@ def __init__(self, devcycle_client: AbstractDevCycleClient): def initialize(self, evaluation_context: EvaluationContext) -> None: timeout = 2 start_time = time.time() - + # Wait for the client to be initialized or timeout while not self.client.is_initialized(): if time.time() - start_time > timeout: raise GeneralError(f"DevCycleProvider initialization timed out after {timeout} seconds") time.sleep(0.1) # Sleep briefly to avoid busy waiting - + if self.client.is_initialized(): logger.debug("DevCycleProvider initialized successfully") From 24c72da507ae4d70dd798bed23e45302678d73dd Mon Sep 17 00:00:00 2001 From: Jonathan Norris Date: Fri, 28 Feb 2025 15:58:31 -0500 Subject: [PATCH 11/12] fix: more linting --- devcycle_python_sdk/local_client.py | 2 +- devcycle_python_sdk/open_feature_provider/provider.py | 11 +++++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/devcycle_python_sdk/local_client.py b/devcycle_python_sdk/local_client.py index 24d18d2..39dd996 100644 --- a/devcycle_python_sdk/local_client.py +++ b/devcycle_python_sdk/local_client.py @@ -60,7 +60,7 @@ def get_openfeature_provider(self) -> AbstractProvider: self._openfeature_provider = DevCycleProvider(self) # Update platform data for OpenFeature - self._platform_data.sdkPlatform = 'python-of' + self._platform_data.sdkPlatform = "python-of" self.local_bucketing.set_platform_data( json.dumps(self._platform_data.to_json()) ) diff --git a/devcycle_python_sdk/open_feature_provider/provider.py b/devcycle_python_sdk/open_feature_provider/provider.py index bc4eb4a..8de69de 100644 --- a/devcycle_python_sdk/open_feature_provider/provider.py +++ b/devcycle_python_sdk/open_feature_provider/provider.py @@ -10,7 +10,12 @@ from openfeature.provider.metadata import Metadata from openfeature.evaluation_context import EvaluationContext from openfeature.flag_evaluation import FlagResolutionDetails, Reason -from openfeature.exception import ErrorCode, InvalidContextError, TypeMismatchError, GeneralError +from openfeature.exception import ( + ErrorCode, + InvalidContextError, + TypeMismatchError, + GeneralError, +) from openfeature.hook import Hook logger = logging.getLogger(__name__) @@ -34,7 +39,9 @@ def initialize(self, evaluation_context: EvaluationContext) -> None: # Wait for the client to be initialized or timeout while not self.client.is_initialized(): if time.time() - start_time > timeout: - raise GeneralError(f"DevCycleProvider initialization timed out after {timeout} seconds") + raise GeneralError( + f"DevCycleProvider initialization timed out after {timeout} seconds" + ) time.sleep(0.1) # Sleep briefly to avoid busy waiting if self.client.is_initialized(): From a2c5a953fcd9d5040b1419c1c28b10eed688f0b0 Mon Sep 17 00:00:00 2001 From: Jonathan Norris Date: Fri, 28 Feb 2025 16:02:40 -0500 Subject: [PATCH 12/12] chore: fix mypy issues with close() --- devcycle_python_sdk/cloud_client.py | 7 +++++++ devcycle_python_sdk/devcycle_client.py | 7 +++++++ devcycle_python_sdk/local_client.py | 4 ++-- 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/devcycle_python_sdk/cloud_client.py b/devcycle_python_sdk/cloud_client.py index d1140e4..a7591e6 100644 --- a/devcycle_python_sdk/cloud_client.py +++ b/devcycle_python_sdk/cloud_client.py @@ -182,6 +182,13 @@ def track(self, user: DevCycleUser, user_event: DevCycleEvent) -> None: except Exception as e: logger.error(f"DevCycle: Error tracking event: {e}") + def close(self) -> None: + """ + Closes the client and releases any resources held by it. + """ + # Cloud client doesn't need to release any resources + logger.debug("DevCycle: Cloud client closed") + def _validate_sdk_key(sdk_key: str) -> None: if sdk_key is None or len(sdk_key) == 0: diff --git a/devcycle_python_sdk/devcycle_client.py b/devcycle_python_sdk/devcycle_client.py index a488de7..7fc6863 100644 --- a/devcycle_python_sdk/devcycle_client.py +++ b/devcycle_python_sdk/devcycle_client.py @@ -38,3 +38,10 @@ def get_openfeature_provider(self) -> AbstractProvider: @abstractmethod def get_sdk_platform(self) -> str: pass + + @abstractmethod + def close(self) -> None: + """ + Closes the client and releases any resources held by it. + """ + pass diff --git a/devcycle_python_sdk/local_client.py b/devcycle_python_sdk/local_client.py index 39dd996..a41f4b9 100644 --- a/devcycle_python_sdk/local_client.py +++ b/devcycle_python_sdk/local_client.py @@ -2,7 +2,7 @@ import logging import uuid from numbers import Real -from typing import Any, Dict, Union +from typing import Any, Dict, Union, Optional from devcycle_python_sdk import DevCycleLocalOptions, AbstractDevCycleClient from devcycle_python_sdk.api.local_bucketing import LocalBucketing @@ -50,7 +50,7 @@ def __init__(self, sdk_key: str, options: DevCycleLocalOptions): sdk_key, self.client_uuid, self.options, self.local_bucketing ) - self._openfeature_provider = None + self._openfeature_provider: Optional[DevCycleProvider] = None def get_sdk_platform(self) -> str: return "Local"