PKnF,websockets/__init__.py}K Dblrޢ{P z&4z7gw"{ d,dD <_K OPX)::(M˙fױFQˆQR_bsz,S$'΢/6 uMPhlvdD5I49:[m 6fsdq!,HQUt#pMgr6}B={`6ofF /j:aMڿ\Ή?Ba=ָoOK7|d]v4瞰\1pq6B egb<~zמH_ط0/Vbin|̋I!eA1ok'J~V?ף0ξN)[a4hC0QY6 P0Bg№:y1hj5e(Hx(Nz”o^Fw37nONDp~T' D:DC>Hwnc%j4ƾs,m 7.1i&I*g^vЈ˞Sn%΍gv;G](jLS_݀{ӌh+B= `v.iĦlLi!}⚈ހ&iK&2{LFW-KPnG!.̯Uaa@uS/lMAt50 Sߩ6^*+2?# Q#C x3'pNُkQ{8H{5hCPv9j4ݮ\zt=LUe^6ceY.5\ʱHN|m[骭i I!Kܹm2>­#[KRu~vIIچډ;4` \(xюL0u5i#@V"UwkqW)u#2J,á Aiߐp{A=i,YeiVk9_- ,Ew~!{2 &$$wPЉ@T5aD3 RR%Cc}x||3$ꛪ;e!QLfKҡpXC7LLm#(횳p':,tv&ϹRkKXghJ+w%.\-/V%wHGq_fhkJYUu?PKnF.v1)websockets/exceptions.pyj0 y K:({.zZi7v#(ژ8V&kl-QE[Dg#zjl(kOb֟iegf_<3?myrUCq)b7a{eR=*esXA&!Qcl;oq)^ƚTUTa)1]ѥH0m{j'B>BcBU:ͫQKS3įF<@74G&Z$]>`\9oT6oҨ[:ʂ3|å5,Kl¼%-OE.xƄ bS+dL1{ ^DApbYƓ°a,aփfYbaĊ kkm .r*-8jJ.SvZi0wl*UE nD[:9gkk'ORyn':Oq#A0`Xipd*T 7TCP'2SX]6r6,):ɮPIvԑX|yI{:;zA,IQ,쐽 gӫz<:9}}9>?9[xN[2kdzuhi ERWC 76ed2f(ܣy{_(h2%LN&9}3WSx_)Mkg0^q k#{ Rr9ݖ{#?,gF ,2B(2)ZA&%E,cR* cK܆*Dc*TH)ԌIVRj#o-PiBO) Ўnc (J鯀P$U̖Pap R[ >S-J PuAn9ce=9}Z8̽4; .@WB`@֚C6%DcckZs ao7R\ʌms X||wm .y2MƸ8íRG})oIQ*r=&s|](S%hNyEe&Cދ6@s[j yZ$A'ؙsNX5բd/ѫ{מd(Ij)v0L%LYnƬ\ qԑyV;^BϏEnb*)SVeY/*As[H(X4]ƽ'991m =$]6Kj0a֢>o S u"zPI@qkK+}v1&'՘O;TIDHGH#%7Qzг5aFrvX,Sc7yfRn:~vt}u/`b lD~7"$uE? G9\xf6`ئ448ծ -tڬPGNP]56~˅j!Ξ7>F'_w=;/`C|߱Vʐ2yooz~h;^? hH66Pm'<C4vop~jx'؟س 6Ę-Gq\C? )ޛ?C7ogtz a14L"=7s<(K`5%8ٿLԫJvgRCOZd<`gGKGw0'ga@дLt>/'z?V%ƒs:t/ו|(o[m/^nD{tꆾ>7`}^黷u5>wUVN F~jUNj3S@, nJ_ fVcޱd]|y~4wx~ԢOj p{_[Z&dS1lU-<> y#x(QҶA>uZs7|Aַ.(Q\#o λpǡ`8%GO@,8\nV.t I[ChPqe⏣S] t+u;DRPt^ g>>͘ '҇f7 h\^dn>{aU3o^Љ"7:t_^"Vk}jU8J~RK?~9퇲,ݽ]uq|YMm2ݶtg7 rWMZw2Fx".PKnFbwebsockets/handshake.pyWQo6~ׯ8x1[7;k]q6IaKYH*_wGRd;-:l{X_jǏw}t:>Cnd:peFY\:0*s\Ó0:3.--X#'T)iLA.ƓI aqrw 1ٙ2ס@ ZefU6_q*(R԰* rXkmq(aObb Y¦k D5  " ,2STQfpkacpP"H8/qq_Д$shv7JrVE-ֲ47|p+$Ч6* w"[C"  {,77dJӽwK2L<. i`Ej)}$qIT;)v(| ~4(mȩWLJN*=M,\U Kz$86_eRG ؠd Bev@j쭟6é<*LPΐxĚj=!xF~z-TKҬ]XQ;eU3l1kofB,E.̎g[twwڹV&B./],X@>`P!p![f֔]nϽR\';nE/%z\wyJFtI u]k^SauJUx:ps CiipRWoFKk*Hh.λS3ёNMEԖaOcOϱjONWY`/99mJVC)lRd/w_։FSC09o#o/4ʉ5?!hcPKnF$UګD websockets/http.pyoo6SF2m 6)ft@sE"Uj& gbNlF`#L+M[\*ޠV,׺NmP7c jިB\ê.P H  *lga%$.ϭ0\d*7*ůQTp)BjX"U-YT|g;Ze]O,QAc8K*gqC%gUS-hy|jv pՉ#V(>^U [d5uA]|<;y6?b}a#'Ogͳ/`]BQ}³NR<4*#/rxקwk RV W043RԞ`|7s.,LOԒmJhR>]xTsO T8I6'h,c4-RS)Hk;o76"{6"'2ì/-Xk;Օo%8CF_kR)4/ Xʬc]qIA ,=v ~ voC6esFcѩ48 WDܫ"t#YSY&]tFw2}Fbo1sdh@QXݛ7.Q\U떶a,gH>I!80ZRʁ^LO0\02科z巈ˎeQ%VR }ͅLxWzMܺO0;w=mShuQ~}^ 03% Bp!%T\tPGN0x=.w7ӱ];zIҰ =D=Bйs/fah\3c^EdgCy#Ra0 mn&+/ F0PKF2HFwebsockets/protocol.py\ms8_kJrJ̮juu$&ޝJ$$)BKvtW/IP=uY"ht?0GGG۵`ZLfb^N2JTe3wL5(/bưTPl5, dVr)łɜJjaZ3dߝ|l I¦{LZRYH*V߭&X8>4NyM}zf;@n .Oj}MYJT-D|2+)SWkzQEHmX"bkk_/Kq>f{d'E(\!r fHl; {3O|Qpy20Іv-aD V1~ zl <AWhe58X[$@-LkHB`D%Q𜯌[՜$e Џٿ0)EzL5E  (* A@L.EK3ȡjVM׼ jyǦcY9c#CW}q RP%c:$4y)6e]mIEyfMfGOmuTZ|-瀰R$D{t-}^]8UL\OUVX DA#qbq!S=jp*E_x ?yl ഘ?PWɋZq8B׆Je[t-\Z|1ք:D/qb GiLAشa-p̆(~ھbs-OTPU({HE { s gCo~ELRCĭKMEOhVbY55,Yɗ<|k,*OrYy l?lQ(FoQpRɴBjjfT%|"UwwbkB2#\&@VOܮ_BD)<+AŢ<1D&^POQ$1{͔~oղm&ά|@&69Hrm.lpd 5*b7`)$7Rz[DT֌{ڷfkL´x HR|E]#S)ueU5p *o:ڞP c*=fM8 V~COҠ| M{kav-?_j鴂&|,=S9=:w3?oQh3*t/o//z~|4 DŽ֙ E(,Pc dNQM@!4y0+lCQ(c69x[Pv?'\WPDs2m-A&<|[oeFGNknzH@`BLjw'͕R[8m^0\ `{lɼGG$˸,3Lᨖa_aZ[:h|X8n>¡fLޅ;%)*9!#6vEr/úsj@䷦Ƨ)lN- Q0d| fp7\n-1͂T︑a mlc"H(YC9/*0EfJY ;$K`EhT!6kUwOڽK|D,5 aQM?&NN6)vTa0X3ܑ+\pCu:S0S K+8,:&Wq{5C,]*ui 6W`L)[i T/pi|J(^TK,AtY+kyBgg ď.u U|Zի{%\bȻ%8,ҽtshv }4.'r85hzdza!Rl,XYa_77f!YT򛓍 zWTԳ w'.>?o[nٲmwEv HG*n#=AI&OkUҾsiOh_W?KG+sh,M >ywQp[XP\dJ1H6='2O braӁЍNX`h'qtU)ܨ1s1KT]+u\/I E:%w7SY5e"WT.MLƸI]QrCq̩]k?l"z Q\cP>ݣT ᰉX2$P2}d<l08_0.*,|+8*bb>Rō}d0~>RF"f`وrڸ{,%;(hQɝ4 e½<ċm sGvՒ+w=a/_'VOj?x݅O}VW_.H)5j  zX_Y_(:OZn%x XXv],tm6sv-b٩\OX 7p7.a@wlø ,VmU<ZVӉ3`/E;HCBpx׏X/)Lk}UX@!iP}|vUp t: CYX Csv3o?AZ9VoK?oˣ{g1@ȰGjٞvM3yl9D9Yǎ%:9lr "^˅Ȟ5Ǖ<N0:LBhp͸}KǗ< "C@T26{?[MʍsjC> 哋Rh.r=:lJP^l MewBL5f070Ҽ{~-f9`Bz1QC{׃Ψo}NʺD䑧ggi5Η"/%uHg 5t*fJ3b}'ԩ},WK̯Ě}XI ~&qS$h/ ײh ;)|m/rܟE>/ٽ]#ӂ=,@55&2}u l#N5-h:`M75o2s϶A66ߞƏ1a=0mRw<3G0ĥ.uĄנw'煺y#Dhէ>cғQm"Nv6ӗӐYDg`X-?a&ַv)bka}ƽeФj' i> ]Dۏ }/hD}a=@kN@o:7Bv mPc|WSC63^l>?PK7rF|uH "websockets/server.py۸񿟂*jh.lB%z>\^8ܡ'tfHJ$'dmSÙ|0۝`&{J&RO]3X?b[B2dQa'Y(Ӑe2t4elz,WmT5ep?¦US /Ke7]/ʤRaᡨfmT,2,'^?خ|h ikms(2aA!)'^;Q|sF ^ )OIL35ZޞhT2'e(Vcku ֵ,i-{lU̇FK+IQo/jr!s˯ UȢhP&ሊf`1H 0M1m</`x*Qߥc5Fg2!I=eD[<.۶i;j'X aSFi!}Z[ǃ1:B"в:k ZL𗡣!D-tYk(:>n\`:R=YguL=9)>{(t` jlMGѢrt}V9i4I@1[ O5V`/]M eEy 5{AbJuVzB/yHHjsda<ό+!Gv'8Yӂ4 dVlE 3T=Y U29+ /J8G`I7XT|G=a D؃HڣumVt&raGGK0.Z?Q81 #!D(Q!ⓓ֥'V(A a"OgSb_VP}frachFSùLt؞`yIwީ =twd j?%.$Zxy˓ SoWKڼ"G!z8}tڶmրXc!>li_~ň؈J>LRox1 شҫ_ rum`59hqs=w2;`x ٴ/dHޡTnȜPO&MUsEwe-w1UCN-V9ۜLY \ 5sP@>[nĐMZ4}[@ V>37ŧpt%ݽJ[RIzPXXjl6&iНق,i޷XwEDř![ƾvolU< E;iʗ*}:E<\.G8ߜRKq@WhJiwDZzM zEY9Bw MPK 櫚f cԋ٩9P<:d IdzX][QS#t{2R\{sM"JyEUuIwTt#w\M^s36c\C$BM?ٓ^zmxw=wম6&6fU=xGZ6'7}km(;~F{S>Jl{~C\uqvv Czde,*=1kp=E<9=O;Q!D(iə"Y<>iξ#JNP}ѥx ?` 5{ٖ[UuBM5+v P#?!xÑ[FAcUp@t ZdP: ^:R „Clt; .IȪ:Bmummp &[3Yws'53٫ 6>,Ʈnp3_-JAUv60b0>Z]t8 ̙ԂRd(ÌMcJ$n~oھjGe 1e [lA_I<Ցi5Mv4?PKnF\'< websockets/test_client_server.py[mo8_K?HyvXn6{vhilE;ިvi|%r3 ҈-!5.쒋ٌųRRLkPy=\כJ Ð35ɧEaIL.p戴lqfPw~jG2ͥDūՠɁcS7-=}`0L}5|儦-a,hxwB`7S!P8L\C"jh@tj>r)e: Z:մhȳâEäf{V=&tu XA0/Thzra"g';,5e"ޫ6Ņ@S %cVR:&r w1۠uF\_ldH`2UByEm[ݗm kĦyaPD0 ճw /_,K}]4EmYy[JP!qf2ܢ6Q]g$c"&&f^FcE up@-"W4 ɗWkRk+;MAZֻXRnJu^hKQ,9(U-3Ew~3`SR )`Jxg=omح;6ls̝w*< O+ŋ!C#B1/ߍ/Oo/n^p0xcq2vGrVױ..ڄMg ڥɧ/ONǗ?Wg_6*ʙh\6xBWPZc݆ݡMf'?[ǶMKLa1y8e8Ȩ+jc誥6P;;9l ߂| }d'9טla TQG;604Ͼ̷hKxڛ<-[y^߬%{r{,/ =^7_ˇ=4aefp:I:UyKj3wp@>N@L!כ)/PKnF Cmwebsockets/test_framing.pyWn6}WK[!'qC-- ɢ-BK,$E됒l$P"gbˌ E\!V3 6}ofˮ3=$:g)b/-7i@3ޒ@nAJAq g؟P_&I*CvʓyӐH ]"5;J|Աۋ2 E;DQ瀂b;yiH=owNN?_ݞhs-]p':˟w3F;"P;JޅY&&?$?!yc;vz=`~?`jNkT\9n?-Li7INBnM,}w`kbDgpo Nhw^ڮ9K2Xu<)vԵ*'Y-P[Ϊ?"OrW,Q |̃/[3 `KrfV޵fzԙRGO;2O& vvyǺ!PKnF$U}websockets/test_handshake.pyWmO0_mmt &U@yAA;m\yv´> Djs.=ʑF&B%ңj0sJ$q]Yr6Dh 0<;RE1c({)PJb/c@j=ܡ*}txji7;{h뛿F)&BA៝|!#|9m蛗Ԅ'@y6v%(UWBUUrJ| A(a62GZ@lCM*2՜拸BA@`>1Nt*u#yGH̫'a~Z.6fQ=VI\DR!7Ψ7 fQAOQDVSq]& "GM4;833厀mZ!V>ژ0`~Ql6^Ry$tI!fTER_ơ%?WOXyz`af 'ÓH^W~"Mj7  7FX5W5hEv5hQr]D_w/WUw|2;#h:lžjwBB=|ߧ~jLÜ\tN@9ȁ8Wpk>ȋ7 _ Fyr7?_d48TRE4GMɸRI0hh~0Gg5٧!@bXo)_'J&_\mj17:?5oGM39F5׌0F'p3Sk(8f)`PKnFH 3 websockets/test_http.pyVmS@_3~| P3 Rulmkdd!Wxw_>hr{Pn6bT)0`zJm $d :& asl)5,gf= +a^.A>t(DQ\>!43 &Écdʎ/rƙ0`Ҭp/9j:ءs寐|V(dsy)TvR],n@tEyw|bLqAk48CDv"uvGTҽjݬ_kVZ:RYPx&N1^# h;78c(ʙGY8%8;'xo{G[K^Z]yY~&ju"[g{(d¬[dx6IH +\M"bvmN_ayE/i+K SBo#◧襤٥'?.~jY#KVip3BVބ*ǣlY+Ksq0gd7|Ң;rÃwlݝB>u#Q\K=@>Y]$Wtz;l. 1ZC-PКjhv[xKJ_'ztHaN!Z1q&,~PKFz~9dwebsockets/test_protocol.pyrܶ~ܝ{fuJ4G3FǒvRGtx uR3C%}>Iwy$C%dbr6q¸Q;h$$UAud-U2II{3\Lb=cG?/|7_Z+?A#Q2)訏/(` ZIbzSZ6sYWwqT%2AHD-< yAxw'O \k, XU)0@2B%^p&\:ØKoTqаHp5Iq *k2\GB*Y|@r׹R:~x EoDhAύ`? 1~M"n} n;e Nł:81 yH@ٿM:&E`oUkNҠǖoխ^al a$;!M!"IAi`қ%]siFsd$,{e9u94kfcI+AG1x% U: ƷPa@7œ:e4< &ϼR5Z\W, m İq*(g[).[ pT/![NAҸ4C%Yo^MGT.V 0 xEP8T`Td(+< ZAbg BW mA%Var(a;ؘYUEP!gɢqM(R`ql%$ ?2ĘI@W.C<'|B8*3vgK{KISf $ѥyMv+]ERD܆lv㨏SL P`e";AԪ}Y㿜ٸkb*O,m%AgT 1L Τʕ?"3[6ȂZpCJ&i;$ABكe5f۽⌂,6;o3w9==m \H@t|Ku~N7X "^WGV݇=rAFpwyBkLV2+ܣ!*3l9\ͩ6lZJ94xXi:c}DLjcn 30@~#"͚4iB#ե,c%7@Ea۰fRՈ-m;kA[v LT$ 7]X[^%a{SR& Kd 9#vIݮe~5*3h`&x\ /DGޤ${JtWM%/y6kfyct}eQ^SwTi7XWV5HGòk] 8[+ek嶈8G $6(m zz ٕ߻l=ŴBYpۺxzUwTKPOBcQB$CP~ ١s.pw/&kp۬uˬ*'QJ)J`C,Lntv?H<wȗXtbvh^yt i:I GsC kkC2-]\öTާ.:ZKk}4eܾ@UsBg&>3XT6nלLvc~=7fwǩIXrzͺՐx*"){}`3jOP9vzסia$ZW2}*o/FkJQ|ע1lOl'Ӫ/T KQw2xi>RXa,VM Zլl&;ըJn$K6 Wmw֢޺%r-Țu0zۚ7{KݑpӇӑ}[L9H{--j OKN17R{r]wpmhqN쵰"\uUvx$\+d@ռ%{S=wlO7hnUX=aTWb(,اwwY_k1{^q4~<ՙjEa )Yʿk(e; ?ͯQYM瀮HCYqgՐu^ݙͻu :DNDUԠJ,,󏩞~Xg҇=I_4ͺY{:SXmYax j9~ynpbj|*K9RR ?PKnF`|websockets/test_uri.pyS[k0~ϯ8C!vCNCA1Ь6PxηCw9iZBiH5CMH*'`Rs |Ә'*~n!^qjSƺ"q$PN'#+sݭi畏sXE]V=tꨱJ\}˼Fƫo5{hNe_:YOB^i- Kf@qraRbT]RćBشDFpآȼ:Yb E}B B6@eFU2fk#NLH׫`JHɓ 6: T+՜Ve3۫vdpAB|PN/?bg]!~'/?V~3 PKnF+websockets/uri.py}Tߋ@~߿bi\*ܝH½("^iٺx/̦Dt_|j%Zy9{o*w4F>:.x8JuWuӭ,^UA[xy}sSYYom| i̺ uMEgcXa(1E;Pk氷8u*kLO3qU#`Dv !ɱ,iɃC|gH '蝢[==w*(I,dEQۊG#ϡ,c!JohܳM^c.+!F.r@tH)d@Wʾ -ȮK?{&%əcMEm1s6^ foMh[ (*>/)DRԱ*(=;IU$bw=W'ޤA=F*| Qp'q 'sP(v;Hs==2Sx?0SΆ 7 E9gFcz|b7g"j@ S/lhW,"9ү^D?ő1.RJflE: 9'U\F.mPKF0nwebsockets/version.py+K-*SUP73UPK7FK(websockets-2.5.dist-info/DESCRIPTION.rstώ0yev$Nkx>‹$Y .m|s"yC.x=Zv_j!=Fڀr[֠K|c\>V ,r)704י;>F!QUgIa .'ߩWD$iecSJ>5!zyJ|!h.E| r\5GF7[,8p^A gTa+Sˑh"`μKBG%1QR6+c2LS-=df^te.fa:`<:`ܽ2VuiwHN834M[į0PxS Emp8\,"iPK7Fsr&websockets-2.5.dist-info/metadata.jsonSK0+O ARm[VlQiE U3M ~?ڍwfTtO-7j'M؆YY]{g |. N;}įO\JO=(ɤ'τ5E-pSQ+ 6U>U s 45J(ݗQ8 ΀WSBT6k$QSB ͏fL!G;DB'߸H_\r Qqt0(R;( ]!H8o‡gI-BP;apZbU16){IZ-&CeW%B,-F\CY  .d~.XUK6o12sbC+|}ê.D0=-Ѡ%oxa mh:V8ɫb+Ľ˿7Ӌ<bd]^=˔i5P܎=PUӤN7؇t$lk@ب j;M^R/PK7F} &websockets-2.5.dist-info/top_level.txt+OM*ON-)PK7FP `pwebsockets-2.5.dist-info/WHEEL HM K-*ϳR03rOK-J,/RHJ,./Q0323 /, (-JLR()*M ILR(46KM̫ PK7F+0}!websockets-2.5.dist-info/METADATAUے4}W4TMl`'jn",pyc֖$'OC1#ٙ$2/Il>󁃬d_yeɾ?Ɏgt7G^\Nź:3kRmcd97ޮVSx=N?'V(ф`,k~˥>4ơcJ1;8;W{U(n sЭ3{*G/)ZvuҶ}+W; =)=f4I8ۖpwz v*t+4^)%GX\Ŏƈ:t?_AGZumNv]K]2BViz/^4>{9V '?Q:Xe$ dy>s͇Ibq.PK7F1Olwebsockets-2.5.dist-info/RECORD}ɒH}G@]@E/TD OUQ/!Іe /˛zG g4VU)m 94!gfI~ 䍋l=*7$z\Nrv xLz-"Mk8<cqu T/Lw Yv-b ~7F|o@bbКU?BY2NHX9ZA(|oS/JE֨!ҏ( s|(G9%]rQ ݋A .wLzI咛iRi e2,,KY6lfhXR9_E\nՐ#Nil3%7h-:oG@S-C㐿  ζREWb恎Fͷ p{Baq+EZ>eY4վlc⼂} ~Elie}Rm̒lU@CU4} ;hKݢ5ɔ@9NPԕڜi<=ʳ]օ>7 ,\)K|mDz*ޒQm2&2xk+kTPKnF,websockets/__init__.pyPK)rFL8Lwebsockets/client.pyPKnF.v1)websockets/exceptions.pyPKnFUf74 websockets/framing.pyPKnFbfwebsockets/handshake.pyPKnF$UګD Owebsockets/http.pyPKF2HF*websockets/protocol.pyPK7rF|uH "/websockets/server.pyPKnF\'< :websockets/test_client_server.pyPKnF CmDwebsockets/test_framing.pyPKnF$U}Hwebsockets/test_handshake.pyPKnFH 3 Lwebsockets/test_http.pyPKFz~9dOwebsockets/test_protocol.pyPKnF`|_websockets/test_uri.pyPKnF+aawebsockets/uri.pyPKF0n;dwebsockets/version.pyPK7FK(dwebsockets-2.5.dist-info/DESCRIPTION.rstPK7Fsr&gwebsockets-2.5.dist-info/metadata.jsonPK7F} &Xiwebsockets-2.5.dist-info/top_level.txtPK7FP `piwebsockets-2.5.dist-info/WHEELPK7F+0}!Ejwebsockets-2.5.dist-info/METADATAPK7F1Olnwebsockets-2.5.dist-info/RECORDPK4@r