PK!(,kagi/__init__.pyKIMK,)O,(OKLWUPNL yY`q%.PK!/(bv kagi/admin.pyUQo0~ϯT{x|V% `Qjil#NN:lhV<%6QD ؍bHq4si8>9MT3`E:p|W6$仰v?S$PK!fZ kagi/forms.pyTn0+ KtHӸ0p^`͚"Ur,E\lVHu4˛=LctK\5m FN'QH{phQ+3JBCtDG&ᖰdRIn-Jz+fj0lBSCCJ cL7k^g;ނ!%N.ϼ)+N ro[ԃ`; 4Q|8442"-}wk ]|zq].WKkjÑKFɎKQJ*J] 7s<߂,%+NԎ2& sDc˟QW$ d3~+z.C?0kd#"++K8}[n)0Q+ \A\%-&dĝhbIR4_ qFH'e8I߫bΥy\l,cezHX]PoAyQH"IPkܔoOV~?bMYyT'yt/ӎ+w7|PcǢR.e^Q4 G! k\ٚqb*}%Y Seldy"Ƀ>ºo1S;{D|LVPK!kagi/management/__init__.pyPK!$kagi/management/commands/__init__.pyPK! )kagi/management/commands/addbackupcode.pyV]o8}W\48>K4aNZ!L#tN:hwVPq}=N6ɞlnJ[:꺳J[n4ڹ*,Ugu nNFM*|e؊Ne+;ne3c"Z4 JFx<*!ֲ̱DU+l]ZEv =PWԥ Jj|XϺ,M)/VjQuiQӐO3%*2YYpr8iȨ.֝g֭^)zXUR8tVou=?rPw{U튌/j}̐ڽS*.Ԟ+@azsw?:[eXm<"FiW}MFԭ1A+Gޙ@fux8J 2+UܣPC!XZ4_0_|%cPW,xNyPD#WYlNW5㏋rβd٤l]G9*.?m+O9Ւ()8I\y@(I Z'^ Hx(RJeF3ū'{@ÈVQVx2ZU3<5y`ĞYRPT41fw9X\8iQ 'sPb1wAXn~_# _=B?,:=9$_cΝ.g3Y-ܻY.E !lso"O eUd ^`QG({ˆciꀝ'~AzY0g`\`\\yDŕ^J?$f.:)֐._"]{nG|}(?sG(sƋПأ61ꄟ~9=6qdgI[Q~9c*ww~Ur{fQhd O׹CD+} Q7!NOT'o#N8oJM#՟ .$ [TۜqvR«VӋ9S>|PG^ wau@+zj~C,Ӈ{U2mX=߷PS?#6A7m1s}«k13lկPK!kagi/migrations/__init__.pyPK!_~m kagi/models.pyVM6WENA(@dQC4Hl'yCuEP7nT9nd]#n]V: z4[q+Ѹ LX UvCm̚uNY-DXF͜z6IҨ߰>밶oak[^yۈVгk_廕`(| b% @~~2/o!($\Л2rT)1:iN AH$Θ%tŸFIvu~[]r0Cw;tV`{,bVFQ*"KY`P/+Ut9aU/y8͐{D_AlVoԏ/:l|y[ YϜF׮v~"5ule ]ty e&I®2iJ*|{sVư.a͑pWB{<NTTY1\>O~ڇr hut ^,nJ 8mݩ ONN /?`_%[V(K9fl&vsLH R11RMgz?Q8:ӆ4i>e&MxNgCˠ"<U_::)3t2]TLhRII б5N#JO ?Z|3$TFEȊYΩB:r&Jݛ~@yӊVy4`!`ʛ+>>/O`گSy{&3Yr* PK!5!:% kagi/oath.pyTn0+ ZKMSۀ}h ߂dX4E/)QRAS^H;Y[<8ޖI:]axyu/! ySq.Pl{ci!rpS[!!%K H+GlfƺRpHݞ9u*I|2=fہ[8.z~F1W)*[HM3uB<#?XϘ70,X҈ǎ?n X}t\+J_U^*c5n3|־AFOr GɷGNO&(8&7 ]wp)5fҗ6÷w8(#oDBMJe0o4b -$ $0)˶aZNVo{s JWaYmݡΘ ȴP*c{J8]"5A_ᥒԉ?N%q໾tZ䵉6PK!)4w5Ckagi/settings.pyn y ҫ61}]ōLQ+*VLGgt5f4?9;/|.@ GΞ$McښWW!hxĢ >|gNwTnY^}[N"d.f0U%񮵵lև$PƏp:]Gz\ΞTU PQ8,5j*9.3Nd8.0!~O]ordI爍[)O^Ĉ  >f`'q.L0Vɦ#-'!R^ KZrl1[8?9ˢ5d}PK!rl@D kagi/static/kagi/base64js.min.jsVms6_AO*\c9Kr/1LÒONR /H6Jr6)gH"M|XQ~Ņ\BL>siv:ҒyF`%g1MRFc5%hCj_I 15؋1.zsA6]b~45%&({k%}P"麤Yh@\6/3vӈQd'vٺ{IBmEUu`ctv:':9XԘ* wƙ\ $bKoLYr!!{sWg_^],U>lnc[l ۚ2BTi-I( _XQ A%.Fy`2.4"A* ISw =-Ɛ 5ڈW)k] Y<~wrz>Nj˟OW_G9Y%/b-?÷ozȉcGD6ȷ,bڇ>6I 86864HŖ67wJ9XjUa5~n6؝Q=>-Z/xjaIJBBSwwW꣄ptbWXt7ˆ9 %P3쇖6zF+EMY Dau,PH}m/T{|@k$b[2dRY=ֲ47w\AvJXW .H:*3+G@E47k<{[FU5nzsG6ztlu ϫ/52T;1\bPK!]nG 'kagi/static/kagi/webauthn.jsZs6>(T"SN'ӑG7s^\!h P R5@|P T . ],5[q9>q8]sj->ьo+v9 BAD2p|@PMэY?z5\~ꭺs]{سHg[hIWa-)%- )i>ߏxx=(7<|,<=FmmUb <beL +P\FƄnhZI.̢V̑Dѥ3"U4ifT̉" ڮX1#4OM d<uYDZȧ*l 'x>t(֏',G}tĜ%,RM|V8Ԑ"ICSź'-'YZVW:CUd,b< l%ɋ(WȌfd |@YE].p0c>y#OOnno_]!/߽/7dI.@Hgzœ,5 _UŒ.;pԎ0!Rf]&YR@$dH*,Zq/pH$$wnؘ$E^5GO9%I63uKUZ p8~ޡrX~ѿNO2/nhhŷd|Ϊ qXۯ#1 qnß: } F=8 /*/g* %[N/ 1|Z XJHCWt+ FVfCdh^[H݅5 | 3`?8yj@dESyҪ;t.NyXFr-)|ʭKO@g4`P;Z0Bs A֯Z5 | X*]{fr3U)T8fe9[#P*Yg3nhTa ꁪkykcf;u"oY vl:;[>T,C!sw"tIuaOmc.Xtf<"i))Ix~p'4]ۻ#.Lnť֨ o p?on_]x{sv5fԜ{ͬ,#ׂ3/>*Fe7OG'ca (@x V]s]BW+?Sh~PA^6pD4& I_u_>8hLk49=Dͽ PPBEsZqQzW΋9}p+ >d ir3lm?Z %K#4 ljМ9}/GهTF-ϐr3#pӚ7qxQ_[>I9 ä*oo)E&9%9ko諞ݟl;g ( mF촪{QδVlHt68…qj(roR.#ͫhHsBlsy_TpctI  -41&կr)zk0!OKi8R #đLt ը߾y'1>8ԃM:gQ mIn!iB[d>PjAtxe\x5`mz*jjjdہKڮ\;|%ߊ~A;(VX- i: k c}#@*#*Z;4*Vt>Y?DEa{Jiý poĨ0ͽEvagp mQ Ƀ]GD W^rhWK4a vLnp82ᕳ׉ޜ ~+"fz/je zNb̤BWPK!ZE2+ kagi/templates/kagi/add_key.htmlMQn0 O^:n;P{[2 AQ>*9r2&BunZG[zÚ-^75ٚ$`!hˎq)`]rA㧇nhD2S<1)@''X)0|YPOޡ?NЮIlyO  ڻG1Vce͇9@wT[/;2ȓL om ⺇kGюS=X//Wb/HZe41ϕ+=֩6i.UN=IPK!BT%kagi/templates/kagi/add_webauthn.html?o wR%խk6'ԪL~bRG*a=ll.y+ ݞ)2CQ[?L0xAtWN9`˥e#El=(AA!GC LyX|gG;0.a$0%F>y=Zځr1ZR*_oa mUɃ3("M"wEԌߢil;"^!CG~+"JB]I- We3QqԜeeP5#ZZ/@oa|&φ?g/3pV)2Pb0`QWnTnC&i(MW_O}yu:xtwcE*#vFNEt}l-GZ=b/G4` !3R{}2+,b2p$=s[, SS2{xϯnbί19Vb6Awavp +(ČrPpGccG`q^n& ~z0H~̜<\;B:x-75\>^ץtY],LBy7^ȯ)Gc*&D58kS(isz&8ͱ dߵi;KOrzUf4*)0cDәŻbK86--−cȳ /mFׯTc\8ʲUJٟW8KPK!5kagi/templates/kagi/login.html-OK N] zJд1޽}Qy SJiVN@uގ   .v8n0b]d;ZqDD/1@+ےΰp@7* N_hm>t"e- x)r*$PsYkǾPK!ͨfr$kagi/templates/kagi/totp_device.htmluRKn0 llf>m9K drv3.$~xZMi%x,W{6}{ 'iRvY`E,#kMܹq yej UK*ֱ*m1"8*T$M6m:&jk*'+yZ5/I /{ qSAI Fgo@u]~JS0:0~mU,9e{ns4Jpaa0XB1OoSNcɂ ]QF] P83nLzOT_ vOQe/>Nj 8Wg@C}W#y?PK!(kagi/templates/kagi/totpdevice_list.html}S0+FJV{CKZiG-ēcG*w1Mnm<~tu'0Ҧ*X%X{)QY_Nh~}on`jd':bRl(@N qV=k#1WBQ>GWVlQ+K@!P(!cJAk]Mg ChTN ~"z|>A5ı77u d%tY l6V\.//WC9:}qu M@n6T[{IFryڿʼ8Ta5ZbT_m;=dze@cd8Fr$A^;ZsresO$PK!cͳDџ%'́gT#%R RV/9 kO 5 !sU#U.xg~{\?t^S4EdPK!kagi/tests/__init__.pyPK!o kagi/tests/test_admin.pyQJ1+BN "VًH21̴o6]9̼7o#c-Wȱ :NTѕTZ7i8&zgҨX|$s~*߀XlÔ(*N%ޗ̤wڴ]Xe]8')@d?5PI,btyR滬@H'FS%Œo/߂]ePIGZ->PK!>kagi/tests/test_backups_code.pyWIo8WBR0s0'D $(瑔,)qP+S d[EV5QڒrǟQ[)cZ(l;&*˕jš2 g5d5l 5ȣkU"]k/HΪairՃh DQspVvex]\ZE JcP0^ IJm*"4J k2Ͷ`Ά$ޱXI /)NSD)%yࣥYvk7(MzMnnWe5Zwjyy9vqN%S 2+"rpW 4y(Lt8fjs5YYHZ\u]/H LTN2 ::84PqСZio?j,WETLqb$ 4$\_Ghe{V^mz.4g"Q@. {|? pXKWW?ʟj xQ9>KQ{>e/fn [v L,xh*0 NT$mSYd Txy)t]?k_FB@5:jj|\: Er7Cqhu)_MCd pWgC4fwiyNCrқKah]0* QBi*lJ2i?HN"9H' ;8BT*_0=|H A0PSrA>=({Kc8Y%v˭ "q:0@@nA!<|C9~ w[Vنr~v3Լl(HyG|:-ɹhw/@ou$ɮKwĖ\yJju{NW{YcHgFZDsyy57OO~#jmn6N§aZ̸v, AV#+#TpκysPK!{? kagi/tests/test_totp.pys6w 5܄ФK[sm]r]22J"$c{OX{kK>X*C:fZ䈄a ,[ҵb@ו({#PO4Sc;cJ22[ `nir.:~ywYiIjx͝&Uc (C|{zxl쵧OgGusOwg-X ')f~Vj!HT EahheuC΄$6 ( Io}+F&7L3z|x4LS\v7=X)b:B3'y=fE\'`i3G X.X>inm%S ؅<= O NӶHEN3dHyLglL&#LANNY\1ڸM2- _x8$lL3!?n8 b@J% 'w-9:Z봽M o꾜hnu\ձ>*zNnЫH (wIoG -0iyI/w*gzܡ'Hc)e[$d6"AR1=!%[cj ZNב#u\̣Y:%q Y%(v~qi4yw7^ÒVA C츻UT[ wo9X~]m@rؠ#|fb02WlQ1vu:9tH&)b?=>d*{8_7i;F);p"tk LΕ09akc$UPK!&kagi/tests/test_util.pyM0 D|) UdGbD:Nn޳sжYŠ39aC(x530=2`ߪP[g/)bas3ElO:N^!yּPK!/0;o1 kagi/tests/test_webauthn_keys.pyZo8P؀&.qM=㚴8+C%a-ZJ- ~%ko-p/ LJ*$aG,3o<\r?dĦ;s]ꋌZШDGbDi$h񜔷ifdJɂȞ{H)w*ҙ80ڒ#=3D@AȖic 2"Z#n|6٩qB :sI <|mܛF2 \^+QKImȇWd 1hB} S؎d"s+{nETQ`aX.پCK퍸}!F~}ŏx`NaҹK3Q*a!3c|F(#~L{,=n{t=tM<8ecۋM%~R=Է[# 9HU 90z?XA V1tx.7 RCqFuke2e/1x]ƛ/.Kz6d0OAvd/ HCSr1}X(K+,,&P fT*׻*t+m%XiH 1P`1#dμGQBc6Y d :{g L8Q,$u-[u7ԓc<άx<Cȕhl]G3M A}tPHxHyb.]Vp۪rdQct !-^iݖIhTY{QgNU~ҸmL蚹kj>sKLb'sn] :(:A:"VIF Gn2, @l5$QsTNk n`k&m.dY"}1e>GAt֫rYM|3۾]D_h檍)6'\ep0uJ|+Bc@QQI"UT7eN}(Z.Z,~3Ӵ~@TwC|y\W߆g'(b~DmѢ`J7akɌWTM>LyIJ.䦑JLkhm2M Hu$ɺ5kL9-wZfCwCI@$iAlapOO7!QP+/aNogSb|.?tp&ORrv|-Z5y{o1Hϰ=,7 'qMh } ,P 7G|z] . O?vVR~=^9"_(W `6(1! H:|>GXk7Ħq9txPyd췮*T %(Uiokμ .e אߝ6'Mi/cSu[*ui 1Y=۾meqzz‚BP?}ť5vm9yUARfV4]e.=높մ:3*)~87F3Xj]um% Ѯmx#G_ )>1EȨ9)J|MM 3A6e+JSJM_еcK5.f/=Kҳ,{R" p '3/o[_._`iWܾ_QHkQ(o;PK!jљg kagi/urls.pyRAn  S+yI"b.M UN03;#`辽oGE[Qg, !"DX˵AsjE VN{D?H ѯ@^t#=̒ԨT|RIhbsF7Ai쑽MҁxEOEo"R_mEmX?YxÆP]>hZ-h. Db3V YEQUb% ~@a;EeEQ%T(QsYud\e#O8fOJ0<ʧ{c$eV M.1[ ֤Gt @H.W驞n}xi W`Ab7Pƅ4Q!Ey:ig`Z̝M=wXn='󸴞* ´5).3g鬋Ǥ$rURT 9p)ٙ.Yrn)?AKB4 W̡/(OdH\7HEe,+;o3:psyhWh('+rùCw$V`0}=t͔4dN^M[e[̨ q~;tzr|D01Bɇx+3{Q*kw^\/CpCv{F-6Pl{z^^._zuue0})_z$Bc0G/F\Z6ck!ZkEӻ\~>Ay9K6LބPK!(kagi/views/__init__.py}n ~ SE^)zVԨ{VKcq$$8e ?-\՚Z=~P6D6H]K Ur'aF ]b6ӂ۾cp>R̰!ysTWWtEFB1;Yby#e·A-c(}#}\ld3豸W@,2BLȚ,8hV=~`, PK/d#-4Պlnj;3e9;0lm+K`K'Ph@,=zE[0%-|ý{Wq" sW%-Fj,>c2? Vu7:ݧ;8ҍ_;?Z\_dXf3J ƈ)g/f9fd:Ϫ9-DŽoPK!tuZCkagi/views/api.pyYmo6_A(_luJ-3YQ@K'[,i$w$z 4t/Z&l1 a;}?`M&9J]C?z*AB]# Y׋u?h5HY JQbt: ֒I%-; H%dctiB0k0|1tuO_Ƅ *2>͛B{ƁthOy|eo@%m8R~ӈ> "WޖF-\1eՔ۟r[le<; i4-h SAMzA)OL 2I _rvo)i& 'G22.Ls.rơ6b_n/Ot^M/LY"5Vov(6]}rg+vyشS+63RCOj(*G`a7 ic)Qz¸+|aHK`.=l)5 H00EBh' 3Ռ dԲGRh.Hd ulAbN+15ebOn>,n/fCHUgP(WI$ޏ Z r9Dم>S<3ڔ76yڢ;Y\mțD>:ao<5Op;#1CMIG65N}Z~3pZE>"+d>ӡuV&&Z dmOLVo |&%ְEcbY:@QBs%ˏ %Y,:Tqog;>{ s{ Y4L͎bw ^:V=[s*Q=9$AT=Uɇ >IO*o" PKALrA74xeghw}T~_=^~v|j]bk=`k?&_Է/`eE .YzgRҙ͗=;Z潓sZd1;!q'm\8lV쒣:> Q߿PK!@Rikagi/views/backup_codes.py?O1 | SNBGYX`aԡ)$Wě"̔L&.BN$\{"'GhE+H^R;r =&VCwJ0dohlfq)4ؖKQ'3,([Ad3P Eh՞XHx`N sfEͨﶫ^?,a;nUmG+X3r 9u PK!7kagi/views/login.pyXMS8ϯz/v2^v )BQ*3 Z h&ɢ.H+_$GMNn)i&M`BVu:A;v'|RTVkdK3z8$j: 7тȇ,ĆM3dn@=ʦx7*rGDA"T#g :b+@˚U&p5Ѐb5 #z2iZ#c@z~DHYA` JT~Үv6YES /2; pS! AD"[>jIw^kw^Sz([@k03g?C=hHJCق{܏˹0Ճbvtr1;9;>FꞤibv%/?l闳8^Yu@+rB_QVY~;&9A{^6q]ubh(m!6]<%4L{哱5Ʋ+K0$U)KS@>|{(Jxlnp0;M`+Ŧ(0C 9hyiNykB.>kӠ/Ǜ]LKH ϣgoDW5Ĕ qDeNhm2m#An"f>6?XY5L7+A 5ރ8 `Ytyqsuv6?9<fgGc1A8 |<A% E=(/چ5=2N=Vؔy/I>8o49@RJ|DA8,htiwq\Qfx u(PqEexzVu]=ꨯfA/<p@)|JShZI ـc8*fPGοŰ%##ob^i- B-]AD} 58f˅9UY]nG݆eםTvXMbxh^nËn۶{4df3t=|UzU ͳovL+4U߾vXMd(V#!F69r3mD1^i3I,Zy)zfSF]c6wWaJZYity>M)( 6?$htuso[k<Ҏ ݫT2捾nq۱ea]r}Ƌ[/#3^c_{mڗRɹ/'gE4:['PK!4Sxkagi/views/mixin.pyKI,.V/LͬOJM.ѴR4Ԓ|Ԝ4 )(U'gZWg*&hD-=H Z&M.PK!KE~-kagi/views/totp_devices.pyW[o6~дQiZC.XI#f[HʉW&m~xsx%2c^Dlj9dus}Jg+ꢀL|)rLY =鷽yq9sV <,=ªuMRyD R5) 5QA`֪ζ54kJnj<<_l/ 8 Z'/N8!=CZ!ZBU[Ȳsf,@6n@)\ Es~&%X% uyQ"&4`qxt y(?#a}R'^3%ڳ_֟\{sJW('KS3%ա Wl6 &e.L^C;Y?mJjS4EA` X Hl͏T471#el kVvٞ[6'3Ô KJ'HVTEX]UZ* i{8!B;~g&x 1,DdwJ]TR|[6/n2F_J-;RrG@uf:22^*e`dhpLߩ@zصBQ'' OiW^H"]pk8%1&!%;GػyHUPD8F3Hԓb1 $9:[@'O?#v{qXvw{“mk1w)*Zʊ9ɉ{Pgs[oƼ?PK!,okagi-0.1.0.dist-info/LICENSERKn0@p~VD[,dQ%);^ʒ@=Eћ$264sfoCv#\p3zчo0šaW{xnO>,=⮋]yi `}]#7߹I7@o2A.-! *F, c"6| 0@uRH؂!]nQLKv=Ү rβz,$9hŬ0^EǸg_PK!HfڭUUkagi-0.1.0.dist-info/WHEEL A н#Z D޾Ph>Y8TEU.t. f4=4h0k:zbaPf>PK!Hlĥt kagi-0.1.0.dist-info/METADATAWs8bf  i+9Z!nD[EmGRVN82 K۷O2^&+it>oet% -nGt$f4$l[ZKIeCi~1LҩPyda$a3鱥xmjQeXe0Fr38Me%S6n``Dc+O|v2Q՘eq,U.`0?JGpNžVikl@3/}p4cJp3}լ5M4 ;gzjQ$yņ}Σ`lxIȵj2Q=-lq1IZ8[s&@)h9sHҚqpx.=?aʣG?kӟx17xa`﾿㗶k=ӖemV~#cޘ뷴jtnP)wKv00G&mfr&olR(}>'l>'ߝjЂnC=?Q.N^&O] o4O4%]jJmVLCR.~w1F{i |>.9PwmQO[}t^ݨ%ys"R_t qo3ѰY% ڷ]枧Ny^CXU2R ?D-'M.[kusU5;@&)ؗғ+MrZ*Zk$cq \{D7mU+㱈(JnR4oqXx@O'gg&O./gI5YQo[98\pLVzlRşӷy2n-\^)TnhtlmiՆrJ6S)@Q,c{b12_A6޹pa:̣gڛ&m>ewd6{hT}~j#z!*17brr;θh}^H5ZX2.-Tut?8 +܆7hb7h_*Өjh8d95WcKoVbkp::*ӶZCZs@\ KlIf5Xbݿoe-$$f:q⩜b!s!]Өز.^ eG pT&Ui FQDryk YR s.9@"lؓb'ӔV`9Aw?s2@uvEpCK4 c~a1V#yqǞnM,4[=M2P5TY@֐( %g% Չ[~7hl+ȩ~L>]:2+ Jm⫝̸!!>vMo|sp_#$帖q1DSЃ5Y~p^鄆Xư!3ƒ@m %tgXF.JOp+%O{TF,82^?CG/[H;P&HT_] <;Ӿ[64\ eemr:<<+Po𦃛FhtnPXJs`f [C'ԿPK!H#kagi-0.1.0.dist-info/RECORDG1#o{7E!A_zA|U)AGѭ0ޕviyF e`3\c`a*x0ĖS9U1A\͓Q^$ ; t- 7zv٫䌯X❺]U)Qt,4./؊kdlSڝ:k 훋W#P ҤNUPͮ %|Kd&DzƴC8N`70jǯx?AATN]/*]+B;-4K-2N­'G?u50~&#O`f OyP= Wi`gRfJS|!?%)!#Q*?ԝW2Ԡ8iVF fpqPi1{BOpv2zF8x5eiCdB q̛9J.GxNS#2 yE~qn>?`Hp~[1|]sZY54~Hܖ[xFT^ǩwxN`gԮ1p ۟ƌ3.gDMg!Ƥ`L}!du+ffL{Wk`CkkEܒ7*i( +g\s>sOxUN/d[iT%7*90 V;<Rg_5oK 4'6T35(:3):'Vy7^v9h\[Hrꎌ (z>RW0~&+LLHse-!w(UmM|Q7x͇+\JVA 7\-C.1QDeË ^'}~]~6j_[;CEBxבjsد$Ko8AsaZ9.7L#E:wf9 \5P "A9(~o]wTIVFF%Z7zwsyQm+,Ke%q݌'ܣ x&ʌ#!Ѻ fڙ[7Fދ%.;TzhKafe1)JWf=;@?].*y)_ɡAZ̾e%iV['7n֎㌯1_TyTXi]o/L#Sˤtآ#1%-a)^AGiE{`PhNAp^da8Vi,xv;~ً6 /٣gCwiӹ,&%$3Ɲݖ5F~|b9G'ՈfJ!"IMcL"gꩩ?oYU4j{x{R)QetCQ.NC }&f n+$Vaqt˲O%:UQqx?G ?UE[<%=KFrPv7ԑx^$ hv;qxjT!\3o}R? EsEsHQ s7cw*l;q !3`zY_PK!(,kagi/__init__.pyPK!/(bv Vkagi/admin.pyPK!ċ mkagi/apps.pyPK!fZ "kagi/forms.pyPK!kagi/management/__init__.pyPK!$kagi/management/commands/__init__.pyPK! )2kagi/management/commands/addbackupcode.pyPK!er  kagi/migrations/0001_initial.pyPK!kagi/migrations/__init__.pyPK!_~m kagi/models.pyPK!5!:% kagi/oath.pyPK!)4w5Ckagi/settings.pyPK!rl@D \kagi/static/kagi/base64js.min.jsPK!]nG 'kagi/static/kagi/webauthn.jsPK!ZE2+ [$kagi/templates/kagi/add_key.htmlPK!BT%%kagi/templates/kagi/add_webauthn.htmlPK!f;+%I'kagi/templates/kagi/backup_codes.htmlPK!XH(kagi/templates/kagi/base.htmlPK!!*kagi/templates/kagi/key_list.htmlPK!5,kagi/templates/kagi/login.htmlPK!ͨfr$-kagi/templates/kagi/totp_device.htmlPK!(=/kagi/templates/kagi/totpdevice_list.htmlPK!c6kagi/tests/test_backups_code.pyPK!{? ?:kagi/tests/test_totp.pyPK!Y2XE&@kagi/tests/test_two_factor_settings.pyPK!&OBkagi/tests/test_util.pyPK!/0;o1 Ckagi/tests/test_webauthn_keys.pyPK!jљg Kkagi/urls.pyPK!.R Mkagi/util.pyPK!(Okagi/views/__init__.pyPK!tuZCQkagi/views/api.pyPK!@RiYkagi/views/backup_codes.pyPK!70Zkagi/views/login.pyPK!4Sx;`kagi/views/mixin.pyPK!KE~-`kagi/views/totp_devices.pyPK!=F#Ifkagi/views/webauthn_keys.pyPK!,oXhkagi-0.1.0.dist-info/LICENSEPK!HfڭUU^kkagi-0.1.0.dist-info/WHEELPK!Hlĥt kkagi-0.1.0.dist-info/METADATAPK!H#rkagi-0.1.0.dist-info/RECORDPK,,t Xz