PK"z>L6app/toolbox.pymTmk0_q$Yl2 J +FF-In; {yw7|Ck^0&F'd2InNԠ._W:I~mYl7܈ćɮQNQd'-uM_D|m{-`eVe%I2<[oLZ4``d2YNze'"6z1 pr88ညx H o[!ŇXM\:tfŖ(V[+v:m@aIG]VMVW5݀tVN(Emu;=9-}R0J%l@Іtam~j h0O'BnOj| LI5ls^t7N( !J_\,IP˦_c^ ED,1/")R+L 3 xMC_ Z#U‹[UKh02 za{~lFRXmyz@,!$4Su3'_5zfq F5vg R~õFh}X=֬g! :p!~fPUw'tjhqN€p|AM9GԆzzoAƅlD?QPKLv;L&'mc ;app/pyprime.pyXݎ[SLtJ ˨iZ5ms J+1::Ije }>Igc, .v!73]_榜_&]G:n*lI?9=~ם&,&+,tjm] ܮ 󺰡0HyZk8R΄̣M9 Ɩ:#oאYٿ~9vgK2wju.,քFY劦ZqJz] 9x琭6W>=QKLh Z^wZlǽnca2S55f+QK`7tSDNے* ^"(`ii݀l0 ))> pgxw/0gt`Z0jJ-/-},qbL5< M;j'mk5c<ӊ2i1W,*zh.αl7arA! |`txrsorl\g=1RƢK;u".L3_K8G?i}Ck1 |\|?Z)8f=5{,?T} )rK<^E-?{ {'1C˯q{7ND+\4cLS:Mmk&5$qUaDysv|T<0+dzS%7H^X!.@_FsjqB?7 ,,<c')eYEU Lwb{c7ZS̳8=@K]2⨧/%*[~8T(Ϫڵ=K#QUݭh=lW+pv]r r~VT? 3z5@JDcA|̶N_DQxզpge9#5vhíŶ>83V1ciuu{*m)}Z;@?uA}B 0mo `H$0F a=/$3"ҿ5X?\y4c& +$-IA&nI+P?bGԠ*:9bw9DW"LU@d`|Z@YHDL%;>AV%9y*pyg(Y Ff*FzbWo1=uׯ5 ޲ zh0v6ɷ^ݥrYgr\M'U'S,mO@o[UWc@7`6@D\q;dUQ:Չ޸nvleaᅧwsxCySzFW&)pyk끖AWmQWƣK9<r;ӿ3?8UG/W=zÛ:.}Cӏz^qH+.Cp thh<%+-|Ow6Q{ \&-PS'qb׮tOݫ {<~M{y{O8?v%.Ls j3ߟ5PVObyI4aWOzSV!34#XI%s< }>Ubi7%M r܇ɞh~)j'Eow[䢷ܙ PKmLMa#tests/test_findprimes.pyUM0W Ć4&i 9 {XX^Bj,;[r%yC)w]c$efȲAsº 3UYavh1T)#m`yqʞO/Al n-"LPtests/custom_unit_test.pyWoH_1<Wa E*յjԤO!cEfv|cgϠg ]Kk`pV ΆA8Bok% k*˴Ѕd%d۝v2wy3z3aӁ 2n Cgq\mY%.cs-D/tWu,YYخjd4*wƆm!Οf]7 00{].4pbːh)#\EQ P3{LuX3ݝbZ{hzw7=o4y4MF C%(\҆h0qQAN8I+'$?xD("d4\_!I6|4"h2hU2!14vE!y d8qM HA4F(t\1b>p4QV,~ cJc<eJ+Oϼ5K͒tڛTX{$32"0_V!f:=fqY2UZy %JǺPO#FxW'}wUҚGD)C: *ujO>ZiݲL%dXׄmїA\"]/+\!60 ) a+!liF}lJY^?oR8ڝ5ΚJ*쨷á?f~'zT WaSj({-sG-u=<3ṠCBL,0ӒagZ'wȭY3 +T~5QB~jև('!\hdJbbX 'Qun.L^E Qn1AIE$&4MPY 8+paSAv[b4qQ9ԴɆb: O$+"k`mp]HZ@BO{U"8-Ӣ8`y,)vtFY1EvþEzBo %DpdX@ n>-%%{' ҫa^!A{o2V ij/fMyyF]oO/+Co-}/GX$$4:'yg5IB[ޥhGW|k Lw!ݥXYۜߵCyR>]{=_/DIap6!y' 0RX@& ͋PKU~F+i ]d vB uTaM#KF W^\^9[?kSmj7r$x nFt6hvq\Kmtm{Y?j߬پX,) ÓL (f-B,f6ڷc.eoލKx-1ӊ5MnFLIj -Ȑpcs~v*#M#/΢˜5Mؒҫt;o$ݚg~*qא tȤBtg_PKmLOP tests/prime_testcase.pyU]k8}}HX ݆-lwJyp9 S0}|x@U=ܫ3G7b~o#&y5P˪4pIhQM<@_͙+א5:U3 b[j:q2xUF`Pm&_Aդ+dgq}ww7W0߅Ѕ1_qy p.qH(\4zs-Zi3e H*e!v!v1Ȗ$C W.qH5k8%vBD栛Q(ZjZ,ɱ<۲RіҖ |]Uo ?_%r!ΘG\"Sÿ c$ fi-1Ɠ|Up# uflVeW2kEշgXNTiLL|\N?>b<*<&E}Cq~`%&_A`g!ÀTD)B!Ȕ ,YM9x ˌ3ʆԶA!T(谋@\ұ`͍8+A -/dfmb7{fF֍{yRUpKۗ"nqtAC,cBU~. 6dl\c/>xoi5^[̢:IS/MsO\(|ñ3DYK\P ֞t{қ NIdl^PA'=Z{/G%hCo%LRIտ:&6ܺs nfBqĢ}G>bC{{~$9-pd窖E5c^-Mgr-&=}i;ڥcFGB'K|#!Di!F-ǝIxPKmL@I"tests/test_generateprimes.pyn0 z "@fmCVP[2$C1GvL S +C 9Ju]KI>j_uVޓHa’MJ}cR>ciz_dXYbQ l0̱߳ >Tt\o%E :th]4Љ;No|? 6|@ng%hK(2(S).gNM-l^ؙRt!"_#q='טѐ[ w ;.|3_E#_i<~zz|9ݺ:hz y=\.]#T/5_nVܜ6 yûy`Y ckX&Tb+0C,[# ˁ9+PKzLZtests/test_prime_functions.py= 0 wBdIR 7 `;Co_[N@z>=#Aƻ`I *>QXIF+i䫊X[F7¿*f#<2|unEEߟ4 E.yV|)agY#ӑwʉ%БO oD+"ZD#"moCQ^|PKmL tests/test_eratosthenes.pySMk@W Nڤ@!u@qD/ {dv(ƔJ Mr.;}3|d\CThܹ*Nme_OV4q;bLcx1;N/PKmLtmah nprime/toolbox.pyVak8_1$۹twzq- maY[[24f$IM̛Q-2(U [g%fѭFa%կV~n1ؽ+0v/4Fn[J[5>fg-d(g5^}.j&EQ7-EFQTa >VM"ǽ zH "āZeEoJ bj@*J9g>Xȡ#ah,v!GT \/I#wRZUC25l%\"2fGCdV$GgG.F;hy͑9dY}ܸɈL%)vK`3ҥI/Y7]$fjw'ZV$/fʧCBJwd]UU]Ģݡ-UK%sMeJ>gŌžsz!dW]vU)ܾx !N'3 V1Ro]9cjV%)Foc7Z>g$\V|*|jh,I6lWZ1Mt@Gr.g{擽2Zoph+:NA֧qIo r\(Qa,z9)HwCk \5u#]l ߱$шCZNM:w=%m$9;‚:z)O<ʝ1ŬN$F&<29IՋ%& ОAY^Lչo &\ģ[7H0_ۡ>UʑTDRˉz|ub墧URS n^uN^6~A|6'Mo2}sݥ$X=g{娭pSɮJS\*} g?0k_ю;N_KmriKsK;K=>?.Ow OפdCtoFhˡ%f x2߄4)]A^4rNpAO {PKzL K bnprime/pyprime.pyY] ~S`5dkf$M,WIUZ;Ƀ=ԔĨlr*1r$HY+ylAs.aSgw_ӓ%?)LA('%om=fadK+q`D]nS^dejqU E$KxeN֡eKtnE({[ K-|[H rx,ޠr 3)1{IJr]۬*3`:nPW!Lmae591?I㮤An7ǭ32z!*S%l qވ-z!zt/yoзC׼JV"n G_&p BX+yCĞm1Np+LFK(B좗0#>Ӑ'(}Mb:6U\.8=e).1W61ߩ,֠s^{8lrtXK⇍DwZ2Άau@]ya|`qeK0b|Rv"D4"iv\`059S$C|'cmiҍX#Zyfɚ]w xd߉;?T5}o`bj鈭Qru5-:/ Nq-#Y5QTɴUMRȎ=FAN>)NiC<IKlG)O? 1P6%YUL_$PHn7l)L}qDO!Dca7kI]BWlv ;[$vod )9+}=^\b5{oE!ͼ]G~ R$/+w(Dɝr%6xyk-i` jR'wN*A6uk%MҀM^(m6el90Rx<;2 Ά9#0N}(v{O=F9':P |ӡ8̶uhc#ȵ4τ "Lss€hQieݙ,WH’s#sŴ ]as+kmk pscoP71O#Ŗ0He*",<r3o IҼG gvw"f3&ʈp.{RW=Uu"_J-V͑c~{{dx4H* |I}EJt`z{o`5BBm=xSw1J 0a!Rym$~xK-6ydZH4 EVAt|zR9bnDĊ9 F`KI%5,3*We-OR/~F+16VLпO"Pt]C+18nBI +#1O`wTVpN!]{YO~L&@Mzٮ.ARg|lxׇzqM>_CvW'U #F>TR|rB؟)= s J%Xk9ϨBBjCXS0jfT86}hخ49x[OZ#겜#x IÏoMf#--#7oZb)|5yLRb6ԝc{ZnU,F`jv9|UD &! ;z] 6:K=mX8dh3T|6g "EsgId8k PK.uqqҤ'&M]ad K6/̾hWZ0N>υ5HڝU*ηq8z)t1gAd2-fC?$l⍲8 R7JR]˝ cF8Ώ"e{?fq>O= :ڬt{߼E6#r #f~4Fdyl6 a%K7ʼ JYԟ,B6YD#7eYƾ 9̋fNC OH\Xp' kUR;ŋs? ICu?'oyaW ?6XZu1} ux2W(p{Iԁ0b\i,<NJ>f0 ϑwO،Q xªq(\ A\zՏ8}O^a0YNdx@j$&gABH`(G^8Z@MA)qFd8 Yp.t08@YM դצ?aq2ZD{v#5 ⴅ,s֢ԒxkHDr^gO T p pɪx g)rD:bMlzs0 MFv@|*?>6Yk$e˹O브 \G(Mn/U,8Eocv*4_vL GHdɦ34(?8if~lTׯS 1ts~[.!)XE&D N_nIcn ]9%}8xG(v_p G `/А^VJ Å*bËaH9lu{L/{g,u8%4&1s҄Ifp҈""Ȩ;g`}K!$Stvr \[fiӲ3G+)ZoS6a'`%Ӫ4F^T,P|*=b>'4jA9x98V5Ir}J}d:VE~b{q~RZneˮ u4~Kԕџ`߳`$aD3~"HkU!StGrq>&O&r6ݷ(t.pjlbcr!ge}QLpkjF`]$YQv,KNaBX1=Z`9 m5[rq3 k,6H9&ffJ>̻/68R ~蒳&Fr#0rX&d2>zaȹ3s!px`Yjъg FlyFɂZȬeAxg$! \L|*ZGn#nB8x350$F^f:aδo-5'f8#>1Ċ0F,} )4$OYdk/ ,U26_.do:Ҟ"?pLVQ%bmGzb S;O;2ca eKU0[ƅQ,>k ^7xd<ܫT[>DWTf{YYsuXm*O@cPbs%?gZ;m- ҌV@JtW-RX_WBW-(tCj1kL.XMin'P]R+唖W=6R`1Rۖʻ_![7mv~˽ug,nYz<چ ܹfSSY8\qvB2 U-lᵱqZ DlHϭ;uhi=jRV1Ac#3Ay(^D#ncܷ.țsrPuBLR!T-md$^OhI~ff?ʈP*;BFז%f7պXli\Cj^/^;{`͍\.֌P@.RZeGw21mkY&w+M%4kݿž&JQ^, ڌ_  :gxߪ] CR)[1n[*pU4+_tx"]^HOFHD!63v M7ՄQl)|Gm#ҮׅXGþK=3lOܐf V*D#܍\(g$K 5|;1r:9"24 iν{-I5K TMsXJϵg^SerqC PĒbǒfk ,5u&+/*?Ʃ֮1f!xNSO ἞1=nw'0:qXa.B\wX ~ p`cEZuE{Ъ4q&]qdll6Mt^u'u|zOZ[}"ιEM/qθա?VZ8zMq[D;Iq6NmqdG; q~mFzq"M+$E?>19@2 p6]LpClǦH2tp$됄 @ :Hp;})xE "ݺHKn]][岈8LE{McCi!zH pV=9H^JC$!EPa >D.PIp>ҨtAQH>v}LA2~Ol`jZWB>qf_4w;{{A3}u=ou'룛3 S?,̈gqv %qHM26J,d`uho(5H'[wN)nUAؙw/_Z5I*.Y \:ݫɞtn1i:YY" E@[4א̪7 @@wҀ^(sǮV?0v r%f9)]/ k5ES?55FSƣ.jmt5^B R':Vyw χks71b#-tX1x0y֕k6a 1G\!lL3t0Y#ͪ`©# @0hqNXAɟO>9?4PTp؊9Ny!jd9_Sd'xxc?T0MZ1kc8E$>OY/-j|V9`Y>tkLJ . ̠JF P YѮTt<270&.s|iWT|%s݉)CwE{|~ɱkqzf0%1%TJ2Ngq @00x,+:7P&Vy71Q.;b$i qoK/st4 NaB3fdnб'?Kv\PK:#yq.-Φέ= 1G^ o!؁4ÿ8\wEhY#cIH~93h.E q m[*-xֈXxH:KtTnQMsHo lSi,⇈2?-E bnyǖ=n괐)v&PH W0s\B2?UqBn K(C˰;X4e!qELG&daZyXAvqi{kAfe y=I#RyZ31\ dVa-ā%& 3ms /O[5sM`XFuCmEHw?ԀUjw *jEN#i@V:f/v9PGw0tlU=B-4͵&BhƒXX)kh9(~>sӥxCEc]¿_v)]O :Lc'I8wDR|'*7dEJd:TdqLDȳꓪ-+>Xs\ 1…O~C+(ou$<}׸f9nҘe% u [4WTu1BRI2)LmL:C#*.TS/ P';ߢ@ y&$μp>~ڇ:ݦ nϕw< sh&x3fi#uV. {ش62F3rS`h+FKuPL4G9Yj1AZߩhhXz~=|=6ӲosQ0/wր,Jw+ $$X)X*0=k_N`D[9yo>7 WO޿f?ݏp}8o|+O= .0C6NĨ2ٱWqzx4A7jT*1#Rs U"CUuzQ_;#,ykPWuHs&8{>:sؗ@uvc8Q(1{ .<-M>Lc'W1 $fY izFz[>x~<9&szsϔȁA8PXw3kp5̆вK5=06ȡֆ-*ؓu/gf2o32ƭq`iG$ġyF~~TI* 4WBhI:~֓~b@jdEgy}>E-v%~̞J7T-G)^Z׍ Fr 2IZA܆VD<[mBp!wGkn];#>9Qw)۵u4ZjBY km$"3*ߴ7܂R |l=H Nn%{tl^ .I_{xټ rkOƢfb٩mF/u~\NP qQENp5)4"tbrug}?ϡCX䘂v^|3K.q/;-EFtG#pi&]mx7Ǡh|D Lv2~sn[e\T_}ex 4fzZz5jaZpOt'8-bGc?/fB04?N7Yj|W%AFkI@"ɼ#lY3\"@xt=Qaâ r$,5E=, 2)EMn\_Ww@_BE P|,I‰)*5+ڙ@1H#9kPɏ 9,~K8Omm)k J!JGe<ػ qێsZ}s\tgmpz &} /|VCuZmt-_p+ ?쉱3ÍL01M<2RPvHB `I6-U:Ru1nUg21ID+5^[X䗥;,./b~ 5hw=ì|izI~z~a%ިm+/XPZI0.n]jqxL cv2>ci#!\U '6kCb]/O,z-cY6 y\h((l$B^]먜ا޽x +_vR8M>t{>;~;yW/? GOp$7_p/F\-ALHf 򝟦޹qȍDTQO2u$: s[bưJ\ct1ݰ[DDEՠ4*l$aN͖lwcV#ty/@F][:kږҐvx.hR#/*AA)|0%8Kv8&O>F^NP\rS''Z/4u-Gh'G;"8*,#11@?M\(f 9uqqjݔd#aH WSTmAKJm\%v WGEQ8!좯G"9!(1mXȅ:X`_I;lވ T_mY' 8[0a[@y\ς-"17var8|뉴ʡ+ƙ:#~jNQXA`@O* B\l"bP`%#9x|a ;*K,\_ܧf|G̋3->׿PK|euF >]=e6 >_u靗sL2s/M. ۄ8oU%=#ą!gɗZ]BQۙ3|mV6L]v@;S+UaeMNaB3enrZ_tM栊BWpUxI|.ˍ\ݨʴ*'X;&8h#1 :kek?u4lvTƪzȋ [ y*ej>5nv ?* ~xMl>ە/aȣGɣG|xh>Z*6`,藾tJ7'1 +ے$!~0J7JG Kџ:Yi"6pWYg >ud\&atz"vnUҪI\25g󫫄^+"G4_ƪO]Pߪm&EyG:ˤe-]Cyg̠b~a < ah␰!ް'c0QGd@0P&Gx$2cNn ۩&ۍG=Qd~)" sҠ6p>']Vg|^ӄrGot{y&Y)]7KJ9zEY;|G}͐>Q_;;pN銎#BF3Hor^ żݮ!BKc@+({/tmpаx軓}dDF /G*H]z]jiٌِF4C$@]|,uF#ش+O(e7 >۠ۿrr~{҃(T[&8\<,sߦ;|t} Eg@t28lSgtaŋAZ霊u,p] +tQKÁ$ ׶`QOm { O7c{#˽?>Ȳ9d +@ bs:`1 N`E}gUKjQ(憋yuJD*ȋhn'w!ܥN B^s +vXtĸh>c=6 '~.n Lv#⥃0PjűGUVrmkJ#Az1#YD't7.doN'O5HƢ$[݋C5s#>#LܨhEH\U;nKêIw8|‚KCcZР|*xWwP,:bM̻{}CY)Di`b{W~׿sOI| ?&.wgl5lG>_Yg/=y?'tY:uolNָvi*ހ*O)m4*N~s@DK5![&$}1 Y\կdu))d#q#4!PK`r*OPw~j6LXwk6̶^p8z'aU4&(J08I4/sQt ._6|S::2u-l7 ;K'^Jϰ>UG@k$nob>lW= 84G>'}E蚆^3 5["v Byn=@K/!8':<PKݳ/{e6vmq$ 5Pb9O1wRԔ;'j?-[ Mܠכ`%)z'|*5kHrqyB|9;Sܘ  uJ/ U*+s:GN˻rՕAOLU黧 ;}s#ό 3VS'Y(klӗ=jvbgg(4VEpة:3Hn>P "D!ϒǨʱ ;$'S_!b8AT2x~ML7X0C,ǡgaxCt|au ֛8 lլ` ávJCg3MAd M  -Ζ?$8¦E6Paxm4-eqh檺buh}B(%4ehTAЅs^5Q@,y8&-o9PIJ u%4PBS{{΀סzCwGxGUf.:EBfu5&fƨ3ܧL?.=P,ChLGmP_9i_@-=9HᐁְJC뱬~[ 񀚷j&R<zX`a)ܢhқc׋;UHW Y=>v<%G d4}Q&-Id%Q^*`a41]}@ LA p;0LS9k7%e3NIܾߙ&跖l!V,O̗t  y,8yH%vB(憋yրJD*}D'G>o שe:Ċ0.WMA.ȉlˣKrAtxi+4T!>CqlP@\Zxens| A-pщᬱ7c޽E ܒ-E7P~Ͳ~;7꫏-$nU9nKê L7Ƽ;p^ZƏ5nc +߼ ^%Yu5ovުA-^yPV.e:-$JQ/,/וov;{Qq/*OsۼK!^R>|4zу{R>P݇ިbn4Ӧm_վ8w]0n/q#8ʇIF;si[pGi!߿EQՖY/p04M !. -< Q(ima來^ҏ{8Tc;Ѫgh :CӔq3?9&`܍BK2)hC/g ;H܄nvyԹ5JRoVGŞn/[zpl6Q…hT!$C'fJ*i&ۙ-9g6A Єi'+22 r%PM/[*RTXL@kɰk z#+e*#P=/z`PAtyGy}v 7[mGvTYPKeyYaɷ߰$ꟛ QcNO D\A1]-v+_E#(y_aECEVVΏp4L9&X>egaa\.YӇ'3Ϻ*z9^{gm.n5c1 JR>XSF A~@?W6oϯ+aȝg/y_x^]~SlO"tS&G9rN 5a@ @Yf]ŠדX'h]ށ1WhoqqA Qg?r<`۰#OցH|V9S=Nd8#~lj slXXO-<(֑7PK"z>L6app/toolbox.pyPKLv;L&'mc ;app/pyprime.pyPK:L app/__init__.pyPK~zL([+g app/examples.pyPKmLMa#$tests/test_findprimes.pyPK"z>LPtests/custom_unit_test.pyPK1Ltests/test_millerrabin.pyPKmLڎ" tests/__init__.pyPKmLI5S+tests/test_pyprime.pyPKU~!tests/test_prime_functions.pyPKmL 7"tests/test_eratosthenes.pyPKmLtmah J$nprime/toolbox.pyPKzL K b(nprime/pyprime.pyPKmLD)'3nprime/__init__.pyPK~zL([+g_3nprime/examples.pyPK.u