From 0a4545f042a44d5a0e95c64f652cfb02828f0fe1 Mon Sep 17 00:00:00 2001 From: kutesir Date: Sun, 7 Jun 2026 03:27:24 +0300 Subject: [PATCH] Share a single CalendarStore for unified permission state Introduce CalendarStore.shared so Today, Calendar, and Onboarding read the same auth status and event cache instead of each spinning up its own EKEventStore. Trust the system's authoritative authorization status over the granted bool, debounce repeat permission requests, route denied users to Settings, and prompt when enabling local calendars without access. Co-Authored-By: Claude Opus 4.8 --- KisaniCal.xcodeproj/project.pbxproj | 22 +++++++-- .../UserInterfaceState.xcuserstate | Bin 49476 -> 165811 bytes .../xcshareddata/xcschemes/KisaniCal.xcscheme | 16 ++----- KisaniCal/Views/CalendarView.swift | 45 +++++++++++++----- KisaniCal/Views/OnboardingView.swift | 33 ++++--------- KisaniCal/Views/TodayView.swift | 2 +- 6 files changed, 62 insertions(+), 56 deletions(-) diff --git a/KisaniCal.xcodeproj/project.pbxproj b/KisaniCal.xcodeproj/project.pbxproj index c04e6a0..fcdfe0f 100644 --- a/KisaniCal.xcodeproj/project.pbxproj +++ b/KisaniCal.xcodeproj/project.pbxproj @@ -79,7 +79,7 @@ 0506183945D16EC443A69651 /* LiveActivityManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LiveActivityManager.swift; sourceTree = ""; }; 0513EB8C7F6B6853B9E93E09 /* TaskLiveActivity.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TaskLiveActivity.swift; sourceTree = ""; }; 0C96EC00F6B021DBA3CC1A79 /* ProfileSetupView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProfileSetupView.swift; sourceTree = ""; }; - 0D6D6740721F01A74E404EB9 /* KisaniCalWidgets.appex */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = "wrapper.app-extension"; path = KisaniCalWidgets.appex; sourceTree = BUILT_PRODUCTS_DIR; }; + 0D6D6740721F01A74E404EB9 /* KisaniCalWidgets.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = KisaniCalWidgets.appex; sourceTree = BUILT_PRODUCTS_DIR; }; 106EEF572C6F8990408329F0 /* OnboardingView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OnboardingView.swift; sourceTree = ""; }; 1AA7498EFED7692022F3E7E1 /* KisaniCal.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = KisaniCal.entitlements; sourceTree = ""; }; 208F82348DEBD9FF7B0DCF17 /* MyTasksWidget.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MyTasksWidget.swift; sourceTree = ""; }; @@ -103,7 +103,7 @@ 9100804DB1E61EA882CC54DA /* FloatingTabState.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FloatingTabState.swift; sourceTree = ""; }; 92824ED40ECD41EFD4F78BEC /* ISSUES.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = ISSUES.md; sourceTree = ""; }; 93D045FE3DEB1D22D908A29F /* NotificationManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationManager.swift; sourceTree = ""; }; - 9BD1F84B4F45B12CB9B9F1B2 /* KisaniCal.app */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = wrapper.application; path = KisaniCal.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 9BD1F84B4F45B12CB9B9F1B2 /* KisaniCal.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = KisaniCal.app; sourceTree = BUILT_PRODUCTS_DIR; }; ADF6CCD95A587E26E30F5712 /* CalendarView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CalendarView.swift; sourceTree = ""; }; AF905C574F34B4EE51A8D21E /* AppGroup.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppGroup.swift; sourceTree = ""; }; BC5E179A9189B0A8C3F856F6 /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = ""; }; @@ -286,7 +286,7 @@ isa = PBXProject; attributes = { BuildIndependentTargetsInParallel = YES; - LastUpgradeCheck = 1500; + LastUpgradeCheck = 2620; TargetAttributes = { 28B43516AD88946E21D9BFE0 = { DevelopmentTeam = K8BLMMR883; @@ -465,6 +465,7 @@ DEVELOPMENT_TEAM = K8BLMMR883; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; GCC_C_LANGUAGE_STANDARD = gnu11; GCC_NO_COMMON_BLOCKS = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; @@ -479,6 +480,7 @@ MTL_FAST_MATH = YES; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = iphoneos; + STRING_CATALOG_GENERATE_SYMBOLS = YES; SWIFT_COMPILATION_MODE = wholemodule; SWIFT_OPTIMIZATION_LEVEL = "-O"; SWIFT_VERSION = 5.0; @@ -494,7 +496,11 @@ GENERATE_INFOPLIST_FILE = NO; INFOPLIST_FILE = KisaniCalWidgets/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 18.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@executable_path/../../Frameworks", + ); PRODUCT_BUNDLE_IDENTIFIER = com.kutesir.KisaniCal.KisaniCalWidgets; SDKROOT = iphoneos; SWIFT_VERSION = 5.9; @@ -541,6 +547,7 @@ DEVELOPMENT_TEAM = K8BLMMR883; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; GCC_C_LANGUAGE_STANDARD = gnu11; GCC_DYNAMIC_NO_PIC = NO; GCC_NO_COMMON_BLOCKS = YES; @@ -562,6 +569,7 @@ ONLY_ACTIVE_ARCH = YES; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = iphoneos; + STRING_CATALOG_GENERATE_SYMBOLS = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 5.0; @@ -577,7 +585,11 @@ GENERATE_INFOPLIST_FILE = NO; INFOPLIST_FILE = KisaniCalWidgets/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 18.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@executable_path/../../Frameworks", + ); PRODUCT_BUNDLE_IDENTIFIER = com.kutesir.KisaniCal.KisaniCalWidgets; SDKROOT = iphoneos; SWIFT_VERSION = 5.9; diff --git a/KisaniCal.xcodeproj/project.xcworkspace/xcuserdata/kutesir.xcuserdatad/UserInterfaceState.xcuserstate b/KisaniCal.xcodeproj/project.xcworkspace/xcuserdata/kutesir.xcuserdatad/UserInterfaceState.xcuserstate index 4edff7dfd4cc715b083e8ae87a02a7035852fb54..869dee04ff85a347a1b488304ca33f0c1d65acf4 100644 GIT binary patch literal 165811 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∾bGws;ZfmV!eheY!V|)i!c)T2!ZX6N!oP**gy)49ge}60!b`%-!Yjh7 z!fV3o!W+Vy!dt@I!heK!gm;Dag!hFHgb#&}gpY+!ginS43ZDsEh0ldAgfE4!gs+8f zgl~oKgztqPgdc^Ugr9|9gkOc z(Ik!)&7wuLiZ-!WED=jZK@>$v94D5E<>F4_&f+fOcyU*8H*tbEQQTdeB<>+j7WWkQ z5~qk$MY}jnoGv;n#>Ls< z9I-;2E6x)u#VWB{tPyL){lz*lA=Zlx;(T#|xKLaq9v~hl9waUn4;CB6L&PR=iP$W* zh)Hp&xJ+yn+r&e~%|Mj zi^Pk?OTRUc5oPQM^gKS==n%BHk+A zCf+XIA>Jw8CEhLGBi<|CC*ChUAU-HQBt9%YB0ehqOMFaxTzo=&QhZ8$T6{))R{Xd4 zocO%>g1AL|QG7{!S$su&ReVi+U3^1)Q+!K&Tl|msj`*(lp7_4_f%u{Lk@&IriTJ7b zU-2_>tN6M2h4`iTmH4&zjrgtjo%p@@gZQKPllZgvi}>w6OC?gNBuJtpN#mq4sa)Dg+F9B~8ZYfC z?Iul-CQ7?YlcYVQ$Es>g~7AYw$m6l1ZQk!(Bv|MVJR!ALEr_?1KCUr|aQm@n}t&~2&D~=}hS? z>1^p7>0IeN>3rz|X}xrzbdhwibcuASbeVLyv_TpGt_U~-a7N%vz>NjY44efxD{wa8 zih(Nut`s-{I1xArxN*Rh0ap&(PQdL9+%CY42X0s3b^~q#a1(*s9k@xr?E&0m;PwP= zFW{yCHx)QLaMOUB4x9rxCvYy{+`ysD_X6hw&JSDwxFB#dfZH3mnZWG>+`ho=2iz>+ z(0PS{ivSk|E(Tm2ICM30fU5v*E^zaJs|2nJxN6{PfI~O4KX7%xC4j33t^v6Dz%2l7 zA#jU;I{>%?fjbDe#lRg5TqAIY0M`WE65yJFYXL3^+*06{0oMv#8*qmLw;Z^3;8p9+$q4F3fwy2P6O_A;LZTGRt-#xWF9yB@_)_2n;6>mi z;Ku=927Ed2I|08l@Vfv%9{62>-wpT)z)u8zci<-hzX$M>f!`DOy?~zr{8ZrWz)u5y zI`9tQoxr<*cLVPM-V3}Bct7v~;Df-=0Df=aX9B+u@cRP4AMmq)4*?$rJ_39c_!#hU z;AaCr2lxu$=K?W*Zv*~N;Fkm64*Uw>JAm&5z6QCs{!QTD z0{(5_{{#Fxz`qOpd%(XB{0G2)2>eIDe+>L5z<&z-e}VrD_^rTy4*VCue+m3oz<&+= zH^6@j{CB{A5Bv|n{|Nj~!2b;VFTno_{BOYj5BT4K{{#3xL06wGE>~ZYz(v|W<&xM*-BiF9Qhmb4k@ezekWn&^bPkm2ax`rB; zWHqjf%t<%7j+zKVn;??9nwol*=#A89=b?>a3nP^c_!4PjC==mkYCB2>*Z4{jrXJqnd)$8ac#M6ABCHWZoHh%eAr#AEoF1U|Rfi0^2}D;BCfx|4vW zrh(|~bnHhOG|^a5jSw}_27EOl+)y2@Oi$oFss722o2^|NtCpXm$M+|qF{Br5#OJze z8tNjkbpP%r0B4$1j+RIaXCLRjqB>C@s;q3R56w=4KSbbDMg*s!#p)w-8f)sJu{w2# zj}o9%s4NWAYt^-D6N{=cdGq)%&1%APGn+j{&34a$ZBD3;xPtF%)Kt|b8lx5I4m?XB zo)kz;7d@ubgZ!zitXY5~teZ`2N-?uBQ5%ck3{)HtA~95l@H}DgW@A_oT9jy1c$Ru6 zy&k7NR2OZmlwT^Z7@YkV3B|ObD8daDm1^TfjVMmo??ioFMYti8{3`^zb8guAp}LAt zb$yymuT$Hyp>1bJB8~H7b@V=oI;OX%;hsYqMq}ZI*~ovAY$2EO@11_4#Le$dQ(Nq||BkhUQB3QT21 zq@rGxt7xn?hMlO6WJtm{gkrCuolc`rw6-yhBWSD+RSine_XM}cP`KH#YMjD)e6FUh z24Se*G_~qLf67U$qAJzRbpIALMr*1<6=~`CHRm`hs#BISpK<=4o3x5zxN(jvAh=mW z$C*~_R394W(8Z8-iN<(cO%)FRzEp+uTb<8~w{*HEZLBvjo0W z)PPhC9%mrtdn$#;S@$LKe*o!i_Zz^|cN433MBcvAVjNx-_P-gvmY>Q%cHl z6!@%>f+vAiD_pa1P)3_j} z8q{$P0voRZLlaS1v#2UoUEf$)qo|BJR5!JrG+gUic8Ww+h4B&0#33;AW0f_v zG6^;G88o@$f&`(Rr)V7xqHZ4A*^J&Pu3V)vlc2_F=%`VRhOzq%-%i8UFtyt`Cq80o zBgvIYJ4S7bHEp9Pe1n1LxH;59%SE+!*U}R8@!t1R-jW zD-enLMd?6x+yT@|D|4w<3o7FEjTk0|Ybw+7znEH2(BM=UKiotdLI8Vc04i$d)Ktf6 z&`%7?wpMzY321i>P*o^WlUO)B$kH4gn?Dkbwrqffbt3_^6M$CT7KAX|9tozCV0J6S zXS(sVR*ZUO=Blo90xbe71MR)`u+;7`GM1 zku8|FpsBaHwWgzejS30`>f1JGb)u@Nt%IK3Tq9q`5yxk|RUF3>j=i^yqmqV#Pe;qn zICTiOrhZLV8qo=aX!f=dHB@9EN;D@sl6ad*+fuw8tZ_E}rCTPT_U`07C#N#eP!Ut! zW>i7f5vXh1{i#fZo0^v^kEmu&?imE{-8OtA9>(Wa+tsr^I`&h$a5kaHLrx-<^Atf- zX15mK8*XmvYHF9yz*S`D5waQE?oV}MPTz{AjyhD(CVUq+(%H49yKPx(uZm|q;mL#H z7yvi*bu_mon!A(9jvTzXm=FcF-Jvw1wEShx(Pe~X`nItsGF;uZBvW_?2sjTORV90I zHk-P7`?`~{4w{x0bvmvf6nThAbs{%gt|s_+KK-YT}?ITuWDK|EW%p}VIH<417U3vC#@CDMf-5Qykqo87qlXeDv&S9;gH^) zH&XSUsh&7KXRGjOIHdOx(tYybcN*z%s2(I#m7_wnpu4R%NtSQqPCi1I^Rhn?G=bes z!}ahn!ZS0k9(H#0HZ>0~hEEcvywoIuLqylrt~_Ksf|@)-C`0*l4%K#fZ)X=h4W8^C zZmiD{y1W!cO-||=8R3>uAY9df_cpa`1L4brFb}TQBor?<+(=)`6Hj#_-qf6|hz^J6 zO~R8G1L95X?a^d!Qhv*RICTFZbaV3IXQp+=gtVR{#(cwJeJ}q`wsm0e*w)k@ZR#CX zBR(W_dD-STzSQ1BcX0I$Yf3*MWV7-a@$7l=?lz2^D>1|#Zls^(J<>T%9W6cE@>-qr{{lT3Q6{H-q8+}YjIlW1+~9+ov<=RKDS&JmG)m-k#M$Qrs@ntF%r z+K+@SkH8B9xXu;Hd2Pcox2n&H^{zq|)X$1LsD$=+3+-OGo=_9tNr z=fhp~&}PJ_plk=iS3P=sp^laXt;vp&{CJs;aMz3mcReoOI=h>?vnDgzCYvDqmsI># zrYGciF-V<=VWzaKh%n{l;#5rA9Jz^5?wilZY0)^MFE6v?jf>WN$*R7dw&vl6TAVko zsy2K`y{i>(Cmar!K)CYoYPhJtTQxg}3&hLD5uSWhHXfn%*06y<*-nHgFHx>eHgzvq zQ_<0jA(Sjvq4xI9RW-wVqq6aYJ1-f@!adylO(2wcX>!UW%4Yt>bxd7yMH_Bfb#Hrh zQ05|}d94o8NQdj6mrzCX(S1bKxsn#j+u&><@6IKX9k@_Mw}$KJl}*iSYCCZ^X$>YY zs8)0D(W4q}ocj{0JhmpP6N$F&w&AdZ2uogymFP+)n_DS9Sw^pm4{uPSgfg#qG_eM+ z%U=;{K{3JjOxYD1uA{RFYhGHRV2!QrMP`i9&AEhdZa#7{A9pi46Mai)4`WHP8<&us zeI3I^E@f4OH!p3&C3yEXqRFya!j>18=XX}r4mWv;y!*7Ev%9^8#CZ4xWZ8VemWOw3 zsHjUG*4NgZY>6gUw&C`2Q&-cHwssVrWRI#4iwIX9+q-F8vN2Ki>r@;E5f1mZIoVL5 zEGxoI-E-PnFl>qMMnZ%yTww1{c1|chDv5a@4#Nt#c ztDN*)_7d7WtmN#7ik990>BjmV3YU`I8KI8a(^Z7hv+bE2L^&I`oTwB>#c()b$iskX z4(E%;w&Tj;_95WhYd{dnDn_V|#7EJaw=cbGSy?P!IL?qOI)fP15N}dK&u) zb6z294$K)w;~2t|hcBp1bGZhO&rso1slgMq+IG|%b;!pP!n~}|u!l@#C*_SJEfJ); z8bfj_;mE^xERfGq)H6V3*GgFjFKruChSLdK9(H=cytK27Cfk$CaD6YI%48g2l$}Mm z$_nQtyE~HY<53Lz+LLS7;vs%RD&tC>%5$k<`7jL=cwnsNzm#1t5=zWJQ_s-LE~17z z4}(&hpjUP&wcWL_vaN$o3dY;VE9Y(PYu74?pqP$98Bl6(H&FB4ay7>c!$@TXC2&wa znc996wV$4=y_{l)S!7k1ick^8oU-~wL$UzNt|H()M*wc9t0RI#hIB1~?U54tMdb7eOX__Unhm^wk(gp`(5 zvp`OtRpu$7&e1Ky4io28fmPEsGN<--0-KVHWHwA=7<0!|dUp}va6F7v&#$Pfsirg; zwf()+e)n92uz#4NhndPl@+Zn37!tBa)>nEtSBUfwUZsUTA`Z*{P!(`Q#Jx$QN zymPL`a=x-=yf0AONjclr&yiDI!}T>am6_ROWiJs-PKB*eV4|AluTt}zBhSd`jLEZr zInXgo0H;JSl_75sbk14EOi39CB|9z1Z&T~ZxrQ?@7OTa?$%^@u@q%LCfKRD zx{?8_Bwa7kLjHF&keRu@WuFsdPBq5iW9|$!&Xpuw_7wrHcrS4hQEUEvr?bT8)7I zK~R}yyDEwG|FlOjUfJitCoAW#on=|h6ZBpg)U%-*sxgB$euGXNab7dw-_ehW^ zL2*i!ro_6zuB5wdBLpbvxk!^kP@vGH*41c~tGtu|F^Cu$P_B(=sAx6Dqba7HO!LwJ4p;uF{xBt#=xxHHk&K7OC7x zO{Ziw9qa%a2r4QH%k?T)*hB>qX|8w(aMw)0^bl(2%_bz7mZ99A)ulnBuMHT>XHe4# zIWZ6REpu}AApp(P=WaKP+G*H3*iP}*I5(;6Wz5mfw7lh!tWIUX%DMQI*N^2hDi7i# z5Yv#6#Y8TEOV4e^2*ecjr79s*VwD7-nE^%UhS=xw8fvEzqrp)Oc1p!sN3ADiGJ;fw zYzel-N`m<)+;ifXQHw@Sg=rv|Ju+d`I73Z9jn`D-3P!H5QGpf`&~BMPgWXrbGZ}th z7Li=4og%0bIhcTU&m@v69ZA*LHCABFPJKnZBE7sSZz7Oga)D&89Lrm%v6!oIrd3)- zttM((Rbus*tShOajv<0{C_!krP}>m3LYBc|nCuB%K`;n(k4Uz>~1%*73DXy{+hDLzQxETtX?Kl50&eW2^F&1ho4Q zpg}W`g42MkA&}jMfGCX36@`_rrS=nsv{ysKTm=3>0J{tUsEZwt6Z_HBc;=AC=^`$y zLTtclJFK+GAcX!ejAe;(be0io9G44Iy3%Sim`)^2Q-|~^u_#d=tHLrVHLlL+QQFF! zLXdmrh8$svPb0AMAz)M)l>o&9lnyQ!b zO9+Z)c}TC+&d56_a{VDinVEj_a)O+m4H>DeY``syhD2sJ(Gd$uk$}e+Cfe}K zN~x>Ds*^;;>}u5A`ilC>n7sZ{TVF}7ku%w?71K623D=~ClcQy|yy~P4ikvjABSwUxK6FFsG_BPBvvbjt4iTB?nL1h(cqR+qg+Ug zV^0g*<3uXH9Z1bhuW`$t+FspnKt|23MiY<``&PxOYU)sjdG-NA{Tzrm8 znc0oB?WZ#CeL~zgiVo*MT#-mE+|p~fTC9ktTIPCXeW?=rh=?uNF2vL*C{@opcq>5p zr$l6*Q4mQJt5kngRjNv>c3afe zL2YWU)Cj8mf1Y#ix!DB&-|O}MwdJ1g^L@V0bIv{YoO7ScA`zU~bJ#Eqgc|RzjQ0|I zVE$aAIezmgs9>V^WZ;*W(ggx1#&e2aFz!PcH|o`j+b%LRA(5pK3Pye`BZt3uWaVUz zcU&ed^_BUX51mhC$d{N2oCL>4%Y7~;JVCi6%(*~}ai>sY+l!YhaN)ypq3<@^mwCyY z`8?H%)5mA#{JM-C`{E@ooHJizO^7vJyj0)!?92T>6@(AloH>}kxNToi#(jx-Q8?+u zc=g-n_Els^59*MS#wSL31ZmA3D=uZRkb!ZPkcg=8BzZ!{tv$ZznlGDba?|RX1ipu; zoDIu0JCgY(tooj6UsJxoC*KPSte+syX}NX5?#iMG%C-@~kx}dn=6Pi$w-03dky#!g zDVdy7u{y-qvE~a~$|r^h3Sns%{kWj0V(=)Ypc~*B0%uk_^{(BO^M=>)_^mTFaL^YdY|BEf0MeKiirf zA5eFWf>(v@+ZvO}zlG@)%GLS&7n|*4Uci#o3F>)cP^TTsdbr%@w$#0xtn~gzT`ZV3-{*pC;J}q z1W7m9nLsTr&mAcr=YMcFto%8Ms*d9co07~y?5fluW8 zn_R#tf~P0cJbKB%O$!E=-^DjQydod#Q^OWrYAQ-z8BinjDSf1*MgfeAyy?mKbFqMx zX*i`dAKTJoB%kNxBv;6i7e=|w&JDNVd`p(t50u+CE5-KaqjTP;g@X6^?9*ka7B3P? zd2>?N$trMKWuGB~H7rH2uufcd<`hzSP9sz;@UYT$%lPKOTP5d;>Lqx26*x{^Ey{jm zX}e_{9%ZE$_U%?&ljPP4%doM~mU+0w$Y9T#LUOoF@1Q&a6cZjLS3yxPE2%vkFC*1` zPJyDLIz%T&CB&*58RSOZ&)G;e9~UmKbeb-vt6NW&TlUi-*? znhenVIRT9OWh~coqD?E+F)+p}M)Jg4O=hNy<^G&lvMUk6oIP=hr7k>UKSyrqUy3ag zT610%CNHbXw+t?onuqaC8KQA1La2`%6hF1zkzu?_5hgJvE|%rBqGDs)nR8emH-6rp zYb>T5%i;>E*75@xs_@P>EHf*8kj}X5RceMVVql7VzQAwZ%gBZHEkQJJoUnwp*+LLeG1+J3qECGzgfmA^p=wsE8lUH12H== z@At~>5A|aukF7+RS6{OK{<*>U%+3*koryCa({o^9rrSY$ybG3(pQsaJn+)dntRm;d zkl{ErDtNEkey5D^%vn+FW_zC7u&KE6tcj8&M{p;iz$wMgGD4xFL9s<`7aUIk3%^V3 zmzx)QV=B10@=2I?xJ2{%vi1k%MkVe)c}FqM)#QB)uIuD`D>x!I4tiFtjc;bA2Q5vv zA5C{J^NrbY8K=-uUCo@k5uptlsHbo5g7vq=YdoAxIq0!KkzOoZLL>g}S8P^^-@QXY9cj zW#o<}Mm9dd&ijsW3K(zi#BgGvJeVL4=EfyAl?R>7pZraaBAI)CSvJzDw2c^_d5{Zj z8n0ff@7<<19knLcWY7|hJ(RRi=BA-GJx^gihgO5#l)(Z@n_+=q=3d^BF&dRNhT2Pc zXGk9J)lB}DQ6fr=65F%CT;^hUsz<0gD5h+9jyF`E>lQQn9>|z2OBXZWR8}Guoy(78 zv_dC7`F7J{GF0BrlxPJnjobetLp3Q~Vg=rr)Xu6^`%eZcbYB1Lobp$#V|cJye+LU0 zsnG7uA|OLD(&h3>$`u6DrlwDHN-ELut>U?hWlG24H5nwPV803lk#*(`gi~vI=Z?45 ze9vd`VT$#< zZy@(clXrJRQv0P0PfO1z`dOW)9F#{5c~mdFb#RABc|KtN*eJC-P%>l=26>`>6Y`Lk$_K z&@uWMp*XCvHg=@?k=LQN+`P~fEPnF@<#Mt50EfIvTwrNk2OAlw(Cks45$4FoDge5H zrqgQkky+`T@@bEgs&>k)7kOmiaeYph^4?<|>}BlM1;?f2*yg&iv@SD==V#>#?DD;` zz!M=3IvKUl`%}qLjdN7VSf0g2g)8^PdF+N2=;P!v#7up4e4S+ELKl-tj%?01m}hd7 z1zb5%Bw6km6*|juaFv0T^#@bUSE))4oG<0D*ihx`2*$hl@^f~+JNXXvW!U29W9Bo* zE;7pSKhM*4qh^Bp#xmW9XE&N{F)o4 z>ah68AR(olM)|52!X0jTiLc{2x+9E`5et1bE!Cuz=QrvzbPl6slu{oA z^5?}P$ozCkEKebukKIKN+v8;Tm)W!0@jEZk+?D63st$FwjMcrgLoG+ccvj9VGJQ9l z2Se0dLLO7h9~X+AuTPR~75c1Ga&hyurT$WidUC4VDVE>ily?}5wlh_>)8<9`q?}{R z?2YH|%H>ubGUS6NAJ^2!mmOxvxTQY$<{Q>Tc|)Iv-nhQhfk#{leKeab!j`p^U_A;kl+zkrn8{oz- z_2)fo;PCFtrl)+=S0{lwgWs3YUi^4s`syfyVZPn%uuz67_1jFokx&wo-zw&Km-pFz z@hfGGI6T|d7Qs!FikYP$b zwJqiiCmFTmk4_~; zHKwS(MVgArnGN3)Ovw9&o5Q}B%UOx8em*UFDstcza?ba0MCRH_xoymcsl0i9_yuw{ z?}o;EFUIo|<)EXS<#AT3*7=x>TJopfXV+PNCoO^>c}ixn4)a$r9Db7_OMc@hDWqC~ znAmXcP_{GgnI~SZs{E3UdKu3=DU|Dv#uFvA|EFa1lFv5^Bx|m!>5SR<$G`YeU?|$Z=1TApSP(JCI|EqTn_hqO8Gwm6njL!g>Ze^;G3M?bw zkSpUEf4{?Yb^96d3P;NO9oiy~%$O(N6WKt4&mynXfI05JGH$H$JGcDIA3xQS-Z$?V zsC?yAe#?zZ`^u^(@*^A1Bk-kK^AGIt#6O?dV+yP&;;50qTfb~@<99$Kqva#a`MzrJ zSXM?2dcmm1G0gw?l;ayRPV?u-QSV&xW0HLDFF}40T>Tz|T1Ln6GFH=4$KqXupGo9C zhCF{|nSjVB^Kt`>rHE>s^N(UZ88P4mbL8d$zr$!QVgnf?@C9SYxBYxKyd6DdkoGSa#C)t(e(_QH zVwJqj%%v;!r##ilHI(6BdS8$?EyFmv^UWgVK(0P=phowT(L20!@}}vd{DgYmf-I&d z0o67FU#URGUw!0mxiV9^@+sesc#c>-yK)SY;S*lA3mxTYiTq|*Xj}QCqb#5#uTU2} zU^J60MDzPZECj%#9esGJBaOxD2dDCNez{&TCnyDe#MZd@SA24kd>qAiBYn=m@GBdRQ7;qM_!&qIYiy-Z z+*ld6Q7QA4-)xlE!IZT)-1nKAn>XZyMt+5#4>);0A@0~) z252f5YftN?3m%*@a8zcR@{o!8ug2e1P}b>?9~~KE`RESUrj!eBJQt?+q_2z=TZ%}< zMp3?TM`mhR<*d|v>)f%w4BqUOf~$EBlA(f&hEi59rU;RlnZxADkH$3BUK*c2V0y@P z3d334M-4YbhHLS{;ld(2@RpGr(n)!=P7RhRgN3|sFyq1^%-R?}SIARvHQsO;FSNAr z5+cKRt{|}$GhV)9s?RaV%dBd^Q8Hko(gw^c9^Z@SsRcF4SQ({tX`>WOOP+1YRfA>q z!dZaG{3Gv<6J*r3MWY%AlpV`>4T5i_79HK#c#ep~N|s-;RIun-;$2a)Rkk%#VUNPM6{1{$IiyA1PDLkdw^QYL<*2 z@pAE%cOK3%^{Y`)JUzgox#cjcN`DCckH5&G~I$`BpNTCg%xo=naAma5|- z88Z4Asph+fQE-=)H&*273!fe25`H9H=oq?0hA!slZr*eAg*G2kEzoz8g1= z%Vnryj-cjH`K~t>ImRnfL_3Kwow7C6flZ^VTNniM>dGqu%uePT=WGUZ6l^rzid})get^7<*!80#&WuG6K zFEH{50oTLxR$6e}D#Io{V>f+%SiS@;A6*QWtANNQ?s#lFoNw66Cj`}MZKP+hOkCytgFAroOYC7>mXHr;bDK%7^1xe?T8&?2ADOQP?|udd%2wd6i()rjNx50hVk3&1-@Eu>|KEm>UZVV zfkn19|74DF6Vq)O^Bq;w7yQ(2+>=3qo)<(pi&2(;Qf|hZ*00Tf_4uKTP3su6@bLH8+d|z$U3Awf3^IBF?R&Kh=^UVUe z>&nOo?$3)LFX|S$NvC^VZu#8u%jXP?S88}hpX;kdGbktHG=5$NoF$t+Bgs>}V7YL4 za{dKqbQNWo7S9V~yu@z$f~d?z4r!5_PP!^GSkYar(5Ms%Ry0txQWdF4pu&q2=xWM1 zK1F(`ej!smgychpv2c0d3XO`5&$j}iuBmLH$1AkZO1)Li`6?^Q$a4lB z0a89t%V!!3d`Vc>LbmoQLvMbDiKh=)6FrGXB;*yAVDsW7x{y~bnQ`J8->}v4$p^{I zN3(F*!mI5gT)N4t6?-G?aNRlYwz96ZY@_2V3=0>YX+wS$UU@oR`I?XE`^e^ww3Us# z%Iq}{w|eGS@UR~vM+q^>fe7hHS zl++Itx^6OV*H?&3Y0NW+f0vU~9-4~2Q}mE66+NFaKctsr zW6-uYXglR?HC~r3+?VPm7_@Oqbq0erKHGy|bBO0xQ+x4y%<4U0`Qu!s-(r?+Pti13 zs+(%iCS<1^7gaRlbTc$#bu)FdG}+=@#R%QJWJ}A`kwbWtl^+8iEPrHtNLHsbmaP~m ze-_4|P0AKpLzxhRHu0z?QTLXpBEHwXtw~C@tiobr>dV4-q|l)4kUivx?p>N(pnI=l zOuT1r{xqaaq(RH~+YMr(?gQP2-D2XShh@oMl#`n*=Z_YODIH?s<$oDpv`Du&*|HY5 zvZB(>KbWibXu0lV-4ZdS#J^{G;jj(~h3lZ!e3@=VUiCgPXggL||Zi+e#-N+v%zpW2%(c`}97o0a($GRnB2vYl&j+ZBAh zY(VYWN!=OYzFhaG?vyxW(54x*{j-CY>(1)V>CPLp0}R?h2JK)uxvQ9q)G@7h-_$H7 zYoR~MJfgeIl)Iw4DyN+M0S%|%A1`kCJFtI$gO<|DiFaLh!#KxMm+7vHDaI{s>8|q1 z%b%^=F_5tzX#B&w${$_}_8oMl9Dk^$dry}u)4i{IAk!UU&<>U9KGHqbJuzrA4BAYC zHmkJhiYjHNl%1+q9-6J^&HoxT^!N7g_HO9y%>#olrwx%06s2b-r(_HY z@G~8K^vXlAFT9oV2yCghGId&CPG4ELuh5s*SI}3~S2Ada8?++~+K~qBs1^DudP{v( zeKmu2v_Z>ZYOFy!PWC@2ETnPcuwd^{j{v`r#vXp5;SD`PLi~e0BEkZL8wG@f1vifH zGj%O9ZP2iRDOu?m#vXEgtoQJ&-l@aWdZl`>7aJd_Qhq19U;4n_9GlgO1Pzfto^AZY zyfRsu`sd>#Yw73R$j7IlpI<Xnh2m71guvV5kgLqceJMyfGqkAOyj{t=dSb)CP=6oGYs&kDzNwA?O(C9CK(3%5V}g(3XBXMF0AlniB$wygi`R~y^tkTP&ss#8m0{9k*W zIzU79!-`9OxPFA5qt7CPcCkVGakht3i#x_GdkLM3h0rPI9{O>*_hPG-tnd` z3C)WRYs)2Mq^DF(scUkg^Wb3v2Oh0d zxr$}gYDqEN29$5{9h`d&Ov%jb8WSI!#UJz>mX(^x8@yF^nNIP;di6?8?VZ~DXw6!c zYg^mOH?IMyqcS`5Pg6omt+LB5waI=hyE<=P5xisn>for;*QxB}?BZIt9)A|kir=)= zN4d~WBfK{&r*G*QL}{JE?%X@8AFq?=98N7=jm4@u-7@<8#t^a-=8ajGod<&wWFn@kXz{68^4B6V^S#7MeMw?uVkT?g zn*ZuZt;)??E^U!rIlG2zJ0#q8S!h^xm2Asp5v{VTW>=G~+7jJ(ea?8=oSqTMuWw~3 z-z%cS=D$rCH6%6fZ!Cr7>qlZ@+qLg(9MQp4G|Bj{sd9M3(l|Jz4`#nz)-H}AG2W|Z zi-g4P<}=>ljEs~~%M&`pG1khzGue!Nl|@&&!WNx6bM!4--DO?kiuqGs-L1Q6ZY=8- z$A9)n;eecPw)Hm7!(~0$yqG^1T2WQl2xn1W_=rFeDWXJs5iiokFfmq45wpbyVxd?h zJ{GIRmtvFHDRzq=#m{1&_(dEO=fo9pSNy9fr?J#nYwR=*8b^&@e?U{T4!(xRG0 z4U1Y9eiktn?JVLfI$HF!7+^8dVvNOPiy0R0TYO}(!eXPv7K;NGhb=BzT(!7k@wY{8 znM!3Wjq}<_!vvD1LRr#JT8JftCMGS@~nOXx4?T$^&F6IjW^GFbKmzZEMZMd-w>S zU>knHAsoSR{07>uMZIbfyS5GN;2?z6+gONQ*au!?-3dK05{#ksY)~ibcknJg1npT< zH*3bsdNUX^>j$78Hq^tWDi{MBieyt8)?gfL7zZ0SxWf~SiH#5Z5P(LA2Ys}ehGk%E zY!2fn&Vuo^{YQP-}boZy$>c@aOhlV=J~{2N)OoJ)pk!)WDt^*fXZ~jHx|iYR_D< zrylmy!=8P^{tj}4&;=n8J&}sOAU_@X>Bvtv0_3M7KmBTK#JAW2+Sk**p7!<32|e>k zPy2Q5<6j}1D!>xePy^Pm1!L>vh)6JgPSo6qcARL(X(FcKO}vG7z#MX-Z714uqCF?t zbE3aa^w;Sp>;-jlVqBaK;RqNPC;IC|f1MbAC&u6DE*K-H2Y3YLfzy9NIBVdH_UM5D zplxT`bp8S7!8R`B@8Sw-<`NCY!-Z{JI-?KR&V_!s&<_{tJ0y4^s&b%!Do!>|Ht@GYouUFuo)G>BD?@vB!GY+sL@>cyZP;*bpHN#YYhuE!YG`yDsH+^KH~+O6*hYF@t{+(19-`@$cM zK+Wnm1G&^^-qtr@CTOQV?bN58`qaPv5io{sS`g2zDd>Y+SB%D3j7K&mg1p_PgII2} zF&C?_8vg^ea$Adapbu`}fquAc$4(pqZMq%9uQ&tx=5`Brkc0n(Xz&KAqb8_v1LjzR zSR|o482bj}@C_K_1_yB%M{yj#;SXHIU$}y6xCz>6Ks)Yr&>r;7{Y&tA_xnP4lm~5l z)Pfak&;ZodBM^;2eLb3kG4&u159;ATO+DVhyLb{M&Jn~qHFYq-^fVz9oS5FI+ z#p|G5PaVk3(;1A3XFa%qG4`ZwPulimY&}~b7@>$jYxKipFczNF!}FmKUUqN+vAl@o z)ldlEZ^8cI`#pXDFWflkX!u!BbEJKMl&@H8A#mn@f!!`m)|5z#SF0D_|3!Hco*+uA($_IOTk?6TZPZC2Fy*r_1K7S!9L~p19o6H ze!@N+z+td&`TYjwnBOU!#RdF@t6+cgV@&+m2mBZhzg#dDe*X&L&p7xq7yTInfA#}^ z>hEuf>R^BHr|$mDCx2@0&m8rq-u}!fe`@XT3F_?c2Wspe1nTSG64ch8IqFYc{i6_z zI3$97+P@3BBL%(D7yU5^Ly(E#7=^KzfQgub>6nGNcnkCK9zMh(EWvWD#A z#x%^t9K4BlumB(6BYccy_ynKgfA|9HumRs-Grq?*?8F}YjQu!>BRG!VaT2F-4i|A5 z*KiYe@HZad5&pq{LIhgiHE2-*l~ENnP#ZR|hYn6~MSZx#3qJ5iBQ!yC1S1Ts&<4?H zhj?^ACv-(JdLkA5FaU!w6j>O7(HMtpOu|&mz--LJ+jtl6V<8q}DOO+=KEoP(iS^is zZ}A;|zz*!jPuPb8IE-WX4JU94XK?|4;VN$6Hga$uxp;zqg=nNfS-gSrs02$?M=e;x z4vwe;7t})oc%mWv5Qrc&Lra7r0+EP9EaH%eBy>S{q@XwYqCW;<2r@Aoqc9c|FcDKQ z9kVbOZ(%;(!-rUeC0LG?SdGuI7GL3OY{C|7#dhq%kJyV}a0o~7EB?TrID_-Jge$m? zTeypRc!AHKjkY`{0z zjPJ1xJFy2pV?Pe!2#(`-oWyCI!$n-iHQdA<{EY{Agn#fKmuxKX8nmc@%BYGOs0|y~ zLkB0gqCVW=1t0h$5G~OLQ5cL7m;w48M4yA`YtRaOhuvU)1d(eHIR@PjqDdvx0%O^v zIa(nSnHURd+hh$kViV|V6Z+WXst`@du_?JVt%nXsMheDZDyDj zH>a=78HeWgxl~3yTTsUqp6G*g48>xs!fG7FpP;WT8K0JnOG|3hG6o&d3G}b!JiLWt zIE6Dp1Y3f>1=}J5_V=2qT9uatOPJr(iCJ+rb5O(HitMJRbd#iD950;UD575GR~C;lv65 z8}uXmUm+qKK#Yj`pbrt9&;`RW0gP<~eTkqi5%eX37!iz51oNp?c~nPDGy`>SMJ}zV zLo4dgiaNBSAFV#cXE=&K!S=1opdu>6AI-r&)td2Y&3LsY_txavns!<%jilj()cn zCc}qYrVjL3?rJA4mT2u3${!=|g-b zsCE2!Y{y=ZV}d2DVGHt4ApZpNPxt{pf!8Hg0{dd36*?dpDOiHlAiqRvn)ncpxa7`! z>Cg(1V2*cS3_5%Q{=Osq>}UbzK*u(S0%O{75g5~sjDa$AU=j6u(q2*D`OcF)N; zj1%}%h+Ylg2kO#``PPg1)@wX=;TIefqBmpFo4WL7EP6Bcy%WKt=*>LoOr3AK7|VXn zVE^kEfmpD8zbvqC^_zgNum$AX?+mWsnhwt?e|YcKhV$q3$X$#K_C0m$Nuzj0JR-JZ3ocL0kkuK90$Vwm@0kKq&;hxGr17@`IF4rzp7grYClehB;Tkheiihb#iQ4xyhz*zbm1 z$2~j{VrX4>gWQKwm!T=>h52B+p&w&6*ly?{+=SdNSBMN-Fn=zgS_nW3 z(EqFf$ii?e#wx4^xo0u9S=2s@x(%al!>HRZclaX^Y%^>E4A_RBu@8@h7+waip&^3M z6kX68eefne0JR>z9eY8ohu^^?JP~39H5%asVvOj4G?4EIYCM859`Pw?Z^SYDiu?Fi z2udMFvfao=pzVCCr3`h419ra@GbrX``O6LLX4^k8&L02EfI;f7zFw}iUvk4 z2Q?l=jM0_Bd>n0!o*>83yms_2Ag|HC3o*tX^k+;xu>BZnHf9nI;{<4btQ&kmeaB{l z9LLTA+mAhm3qp*e7USsCIO;i$@fyc?jax0mcq|0m7I0_+6a zOrniR%#X=s@j3#~0>L1c$)hnAv^ANwCezmBi@1r~LQEmIDdaYV+@>Ug8cbn+O<^CL zG6(ap8MHTrK27-xa=W`iOtpnG*nVm&v;+I$)Zt)Xn98_L{S@m!-KQSIDVz~v+8dy* z)2hK2jN!EApvKesV<2dI+WYtrTd)gza1DRsz7W$x5e3G1I{8kgHq+T=I(3|W791;Q zP{$cM)B$sH#sCb$T5JOSn{f*d@kof7jS+${Oa*z&d<%@_%s+5ah*`{yS(QN_W|6}z za+pO9v#8rF@|eXovv~b1UO$W1&n}PZU|eTMqXU>zvl-9Xi|{cH;{^T`VvZeLP#0a$ z8-1`0jOCm)xPTiV_qp_KZUcCLF`U~MX;_FAScxMbm${6=Jo1@GKJ&HJcgmp|BG4M|VF{?sJO2nVpRt+G>*luy zeVX4Dv^$@6=hN=|^SF+iLcCiK4MDE&j>QyA!(JQ(HCRv+4qy%~=#IXiPYXT;{a>&i z#9HtGxk9`bi8v%+7O3TW%**#~L;n3^A>QwZ9_R`3e*b@1gLAkB#`Od0{ed3>Ku#aL z3C89F#_t1a_5t<&Fc2*f0{;HP55Smzco}z)Bg8@RAM=_eY`=tjmXOa9Vk{YtZ2XKPI3~nW#$_q5TS`t#dxKa@nVU$g^eo%-N%+D3P zZUysm1#PS#-xbXN6(?~KjK?P&2R?~H3>IPqRw4&a@KlJEVTeX77>AX-Zsj7dFRvt* zmA8ag#e7^9gr;Clu3}EEBBxc1!z%i{>Q^B?tp!KWzfXIEzJE$ypRU4}_zL&&ui&Xc zFh5qe1#PdMg9UgWCqUb)FA4FPGd$ph{$OlBqxPR|!7fnG|CK{E)Id9QLKm#S8mtBL z`|~n*4M|8rFMI*!%IECUYbt{ATT>f7F#v<`HMU}#5MPu-hV1%(r#*F&NC* zb)#?)zk@n`#ovGB4IfO#9L$6KJ8Jk9HC$f@4d4OdtS8QT;;i3A25Ps#9*o}x z^4Kr~v%nnMa2t1p_&N;Hh{X!5!CE0UQvZ$Ae4>uBjBk?y9|C{n)Km3M% ze-nd_V4S{r2OnWEa_|ICh1kS6ZsPAZQM*mlb`!PTL~Xw%#=T>)5eW9<%@be%F*Y+_HnTr(A&)J@*h2lc3<9s)G7{_Y9kvSbod)Fn9rNP5 zV6;ILn5W-;jHNgV#_PM&LVQmRzPE)v;?Wh|u?Q>iDVT>_%Yb>fH5}ApD}CKMAG~fW zakrksHQW&52ll%kg3uHb!I=Co2lU~G!=U|b^kWoyf8)LhTdTish+kVCo91~)D zJrHZVFQ(%yyaRII&K%i(S%@7@pmsYvK|OX*w;cu$V+VEJaY~4tZXm`^>br9srh<4o znU6ckd*=lqb`fV6adr`BS0=_{Ja*w1928==9>m(s>vr>+-MnTuuh~t`yJ>GXIq$K9 z3+UUP42%J7?jgpWUqPEcI>Q5Am-Hrf1--zS@1vc4>u?8;@I;9H zjS+${(4YO(a6dKNzXjB2{~jUeqWGm8DxfvmBOWvGHs)hD4uH9TpbY58fy!WB9f$$* z>HuSSfY=A9&4C{wUrT)t^16eyVT~^64f=nO`W&P_2g&>34cx~=Ar85NF+apUb%;6~ zq7H|s!=a7%0o3CVuRp}=5ApiLy#6q+Kg{b7^ZLWQ{xGjUyaW3{2anjp74={MIUbpf zi@1r~LL7}kB0A!8e2s5}I7a@*YJ>cb5&PH_Ov4#m!8IX{2cr#$ar_f}fiH#lwLGe$ zCi;W?ejNtt`Rf5tqu2@Kdy4;r z_#+I_h{aHh2KoN+A(mq&_TrilCm8b+l|bK4R6$iZz!5ss0dx5TbNNIX27`W|n2ULM z3yZM|pJ5H??}_#J4vfVIMvmjjzC5Ikg$zgZ`f)uTw|yEB*kDow|U( zz`Qwi9XIhrh|^k7gVWCNKoA)7(~RlqR%nCvNI(a4LKmchu{k{n-gLm;BKEy#VZs$+qEG`If!3r*@3u=SvH~JiNsCURsQ`Anv8Fu?bs1y)MzlrCs^LBFrk@2m9tY9Elx)q!9>Umc3^U=Ckp%&$(tVVnlF zym}FrK|WW>g4f=j#0%l_&7Go(^U==>Y8hnW#upKh?9{h}bH~{9xjU#v<#LepPM<>vio9ufx zH{g40!%pl5+ui&PC-5iEfEwStfJ?~1Lp;V)A#PFYTdzTj@~8{?bc=r6>WXCaL|^m= zV|r^a#$g8N<1O~7TT8GU%(q*sLEmnz$3}dMEx0Je?OF%~bM|&LdY~7Gdpi^K?Y04P zLCtPcv)k0__GVD4+dDu%Z|}u^9K>PJ=i7e?ai=*KcK5kt@Ul;ytL0+HgjFxPy2P z{16CYJ!p!yVEiB4Mh>Xi0~v#3(Sv`5c&I^Hyn*tl1WQy$Em*@2XA#?Cy1R@cISTIi>CW3q(vVT16jui9;WALy)sQ<$u$i#3k zo(~y|hZ8UnQ!pK~Fc)uOKHkHJVC)|*!E&s`YJ85h_zGWR6F5dZ+=}hkg&(mOzX*{_ zKDp$ROFp^elS@9i;iV@v#AuFcrUpK0UsStGFS=ljdlPXfThS z#DSVVSp(|$WF0mL@elp`r#k48^e0rmUm94_E5A)fjn7@-J9YcPIK zSAj8m`agUj#J|+?-%6l<|5il}^g$+uVFX6wCmhFb_ydgDf1YT9W}trmQNRD@V=0#7 z6MTxtLL=TlIaEMp^uQpbV<@t)2S;%nzu|@GWeEfyKaUT!ySZK6S=!7olh939|KY(_$w4>c4 zH07+|0@^7@JLTLl9#M5ol3M*X)ey5XhlD*-o*mEhY!Gzt;5En*LhTUu*hn&D^!_2=;gDuIP>d7>Geg$5@QR zcw}P^=3*Y+!eV@kC0K^FV0^9DVLi5i@wMK8T{sNJ*P8xX(_icJpug7i*P8xX(_ia* zxQ~ZI!`cNJo7eC9Z|kY&#nC*_J-rGRC&EK%Z^tvn^w6`w{4~ zEq%6SjBVF|KHJh~TgKRSE9kQ=eYRzcZ4ZJz+tO!S#@O~O=(8<-wq=ZM?}9$t(q~)7 z*vz z4)o3OBhVkmC0LFdc!Vc-Dl|HQQ1E(P9H^O&n(02lSNIY1PxlKLHyvZ9`xSqHyjg=% zqhsuJm+%-e=6^z?*Psj-GkrN!L}gS3W2k4&>ixjj=&1{f3TgB+F$d(WXDsxLfu1qY zGY0z4um)?f4vd3-8+L;+&{I!6`RU0|Pkwr8tEZ23tl$E7c)I^|9#)5fLhZ@%T7@vc->ukU`_zqjK9XoLZ$8j2GaT7VXk6cijI@HF=0?cP8 z>fodU`8YKKWAD@)!3YC6IkiDF$jvDp{V)K7kdC3q!U&88IXg{&0h2Hr)YIv0%*P_E z#A^Hx?5j>+;wyZOO`xW%<)Lx<1&2VNoPNhioC4$QY!5e3Q)eI02j?I(LrYLs*749d zcR(-n2RS=aTW4zPOs>x3kPY&5o`Shp2y$|!&d!_hBTj&Jo&UmBJOE?s{IAfsXuuqE zVUD>l$6T0WF68DyZZ3?k3wgLOzAhXaT-Y~UVnALl31FVPbVfI1U>K+)>xO7t#$Y_C zqswGW1#`h=7Up09*cV-x8!n5%9Ce|NF6*%o--7w!vK8B~0|#*ozkxovoWXfq!eyax zWlp%(g&!KDDd>YMbHTM0+8_#D&>hSJSMqixZ`Y9^XV;0Kmafx5uCCkB^a{Etc8qmiEuR)6nVD2}liW;a5@@n9PhVX?y8lefA zgK=ySif}N$8uSKvHeehY{EVAI<4*0|1Hm}B4+A;7FT`SyyZdr{j<2x^Td)=6?@s>i zyYVBK_wIk-Pn-dLalZ`4+Wm&mc$5SAdNc;Pc?2U2%rB29Fh(Bjkc^&4$8d}SbIM}^ zsISKi%m(Ae`Y0NY%^<#KB`{u|P6z<)crsp|u^^sjDi|+M=B(#9OvDs02Rs=sPvUvf zchC8t&z@g`zIie>p8IeBhe1C*87oirZ_iUWiwnrb6EHtL89Ofx%Hj>scQ3}zi}CZa zL^asL0eX@e2;&D1HTbc{6{!@8TXF zfVz4=26b&HPzL1NP>b@Yh?=kh`8TwOE4<(XKLmpL(2%+|Y>jBNLp+ku1>MmD^rPVt ztie}c-Z$KY@39R#Kpz^Cb3<}&cmdaN6L;`8$hRT+`jD>=`TCHr5B2pSKOgGrLw$XM z&Pg_*7!0Pe3_@demm0Fa((xiP0E`37Ct8_!8@}5#;4ZUaX0u@ngLG zcH<}P!vS0X`T1P|we=%MKXUZT!F@c$W00#Kwe^1kJ*TWfgLH_>a@9za_ z>)#yogY|7RtZ$?7k3oA-SAY7(nl&2#1z3*Hum`uIP>dpq>HLGhjHzfO-aGV0CEbTo&nS|fZPHOgL(!q-T~Kf6Vx++dInI>fLzF&pW;8E31sX8 zsb?Vd475Zw*n)ZnQqMs86G%M+y+NM>{SW|Z8rT|bK}`ecQ(y-$R|30WJQm_pti@OO z8tnh9kD_6H6bM(}iQX8B;b43ljfDY|F%2{DK0d)_Fvg7-<3@~eqdoW;`*9FQa2&sbS~j|a9NYtW zHhP4AK)#KsW#h7V9a>aH4X|G|wg&xZ+yI_v2>R2Q{xoikCZL{;qtOo3vvCrrWn<<^ z;~toVC0K(E_y*+9Iv$$FyYM5ZW#eB!?yTLRX?zK}cp@}Ge!W>KQZ@)G}x`=3)^(!w=X2#y5!Z4PtHvF*kz_ z;~0L!37o?JwQ!eFUX|@0fcFNm5d=jPEEEM%M8$yV85nB@Q5c#5q#LD`?gr`Z?vn11 z5)eT;RC1&Q1{lCNm*<>!t?PY1%-+v)-@p6be0kUU%d)t=EPfkV7XPo#e}XVVmJ#ZW zkY&U}JVI7-A}JF}yoY`w^b-+H9CkB8mJ#KsNGdg`MIB@sF`Xr>U^VNo z3lZv%P=AC>BaU#KH0(gc4Q_EK2qObBqt-~ZMyfUP30_3Tk!Bnji`hn+V`NR-9od{V z$TYG8YKiPlFZwVFwMD8aQcaN?*}^u|6luC90ygDBoX{9-=0*fMu*? z4fZ1H2X^55@|!1Nl%0sO3sL7$XOudl)fSzTS18DPxH~$UI1>4YPmyVK6{^vQuV_JQ z+9B8I&d4@;FcVnHa#pdH4Qxhj(Q1oUTeRAue@0!=e{c!eMw@-KY@^LS`VRN_CkXvt zoMB8R%s%EZiyJO8Y)?8yFk!!46V-qmbSTl_+k8dQl zK8Iu5qQ1ZCqmpF^*eRCX9cM7cuL2`Nn@jGUgdy zf!Z`c9r4X*No&5L9eo*zdg2$dgk|`K;@4o_@#YP=XK9S3(l@BB39n zn8*~SGYj=6s6Rpd3F=R<6A5-9VISt7pwd_F{mXKwM-l(m_0KQ`=!%<_2`7FY$ODtygtI!hej5J!Tr zq`XSnuab2c!3K_V4Y`)oM`A!G^pcp1r^$o8NR(%yJQE{`CJuQfeu^DQEKM0ws7fvL zkT?zXCaO14y@~Qn+{{nx=OF4!R7;}oEAe;CKJhwsGx0WexW_+1_@Np903MN!_TI8nrsKq4QL#Akeg`6XANGO5_l zWV1}RH_5*JWc!)ijOMhWE$!$?7rN7nz6{_yhBAWDjAJ5Gn9eNbVus0!`JNT5W*r;Z z!ZvoY8@rQicarT+@)7J#vfWAkowHovB3HOZI=8vY-$7U^AT#Ra0L96U*G^6(rl z@-naT8gEd9cX*FtL=rdhx#<4DPPl)HhfD5I@67w^r1h4 z7{YKyF_sBTW*Re@!+aL8l;x~qEgRU(5A5Ja_VP2oaF}D9)Z-oaP*9T;eL%xk(21_$LTUhup^lJWN)ylapLLO1c)Swo1X+UF|(VSMar5zpVLU(%6mjQgoP)0DCaZF?i)0xFw7OYb*N7xn({R*X~Va4pfla*Ngw(% zh#?GT6l0mdWTr8bIm~AfOIgk;*0O=k{J;)=WG_GS3x_$zNq*xD=lO%n{K*Y&afiS7 zHweGTL>3<85gy}lp5Q5-;aOhbC0?N*uk$8v^DZ9{K{Roc;6pwknbMS@92KcTHNK=a z^=L>FzM=)K`G)p%qANYMf(rGDk4avJc|UvPFp^2AP(XW!bh&U?y@YYgfwJk+S+pc?vU5 zQBR5)rkGvI$GAJi`zg(kaf)nHrXZITd8C{T!g9}IFUskmTt&X57Tp=ZAm+22mHhY4 z75)su@^UHvG?`W6;_)D?^Z@FslmpLK@_Z%FSNe|8jK%qtoL|ZL zmF@;%<;-M3c9lI_xh(w|j{GVwW;JVZM`c-5J|Bct?nix99_LNWze;gxBmXMRu=7>a zT4e;Aad(wHT*KW}{tCjX`6)~h%2OTlsH%plYN)D)s^7DY4V=JESG^E~sSlyo)F-fu zsYS7isrpE*OjVqd>YP;Pq%K7tsp~n#e`ov=gw^y=?HTg&KCzf>HN8~ROEtYzb4E4u zsb-(5?cx9j`6mdg%e}f`9e9IDHqx<0Dcry)Zbhxe;*VK;lZ#lJyV!}nLiylR+N z4Yk)$YYq3*u(vhjUE>OW2H}@4P!PR-XCWTbgUdw*fn!zmWaIMQ+4Z_+l@*1zBhT4r$L+z=|V*wdKSVvEF>{gvm zDN8x@RYzZS^i?N~>!b%^-Dvb*_hW`&PwTqBuKCopD|K%KVZC>V#IyDKGaTpDv&;2P z@@o**f1U!Uum0Eg9_#D7{zi6U{~F{V56@DQMwoGfIV?qv4cynjZZ`NQ2pigihI(k2 zjQbj@zoGj5E@0TuOd9H;QBh>wD26WdMU9R2ag^gh*jW9I)!$hCjXTjB&o$nIZ?W-_ zAZ+p!FOZKKG(de#WZGl}tFSLkALL=|cvCZIS_gk`s?VmIgRq$$X!ZzMG1F$Lm}xV$ zH=E5|E^~{FApEKr`uwT{o#{hAcCsHCfBgz?@)m8;=hxlX!Ot8B!sfDVF5Bj^Z7$p9 zYHu#v=8I5!^EE-(;(oI6IGzN8j`ldXd{bm}T`(`0# z@NGzDisSBYOEQ=-jN=kFkxM)K*3Q1Qi=jIM7=&50lS@0ZXm9rIbCDZ+(q3Kd?MZvz zbbEKUU(8P&L5}V324M&HcTjJKmw27Rd`1P#sY3^PVs|^Jy@MV*=&{2^(y>n+^HGR5 z&}&C~*HJDVhcf{?*inrg-PzIXI?1q84rJIVo=-{UYrdsDvg+i%PU`MtmYvSx`|JDw z+3|kockyj?j-@&6P;cjn%wi5dVwXD~3c@Y{?(XskZ}I`M@6wo7v|$WWnT}oRauoM> zeSw1LvuhP=@uH}`Z?V>dl^GqY|V@d-_6Ooh%x|0y z!tRgp6i*|U?&UC#?)`CJ_mS+v%)1{9!X9SW<59fV!(Bbx)x%vq+|i>8-B`tDwsM2N z_$LT^7NHms)T9w=>^Yh#m_yIqxTmKYd+Do}zIy4am+!Ba{CY(qi(btz!(PJ}k2&<( zzz)>g>rN2%&cuBb!27*@zrD*K)8475wYNTd`|f(r<$IQMforI}k6ilX<7HCtUZ3jp zz}MbP*}Zlwc@GYGm`5p$o(Ic%a4lp!*cpTOVjl+|4ZpHtTFByW8PziGZJTxapo9jj?FpyT(mpJ_}LXIJJ#a+xT3_V7&br?;9Lniqd?G z`^M{O{0zJ|elf>6i}xoy$m949C%lhuVS>3%sL$8PeZnxtGm-7cb;5qqF~bS}2H`{* zPb|b6xO-wnD$|bc^kfc8Sr&wo?jtMaJW0KiWHZS-ljJyQ68^26B*#g=aXJVm+eyDW z7)~xsGuooR$qQJ)D((j1l+0w|L)0J3K{!1x`FWL^nC0{)Ol2NwpRTv* zm$(vyGt6*C0bZjDwW-Sx)H1^iW~gU|dS<9+W_HvvGY`JAnPpJd%;8Kxjx(J<)A=)< zKdT7Eh`?-T$!}JBX0aHvnRStLZUy0Nb zp)1{4kG+|*lYfG6?gKnT1!^Fhxoa_-xt^Ps13k@q7Wd9`?>zU;o5Eb?WAEo(N3HXt zNaQ2>G87riKgcQU(1PbFfSwlE?FIT@&;n;ISkB5IT=+0Kd6Fb#xzJuNT*!ZaUmb*t za`PfDq3%VEXu@RXV6Kbgz33*lgK)8$7JrV}EH=NzGFvR~#Th}kBqTHbzN8XnzGNng zSi%kdLS{=p!5K@{v~(aNv7<}%xAX#k1mXAZ5J@y$>Bj&LBZKcx2jQ}Uyp1_6YeQ!| zyX*ibaNhDaFvH~^(23s2b@@rolNN+43iCepX@zH2cxHuXR(OAfdRC}sr88E>5Jw+| zFbs29>A96^TIKs#<*Ze9b5%R+%c`FI&PD9j>XMYAG;&@o=hbpv{omhikr9Mz+_Og3 ze(Nw?UNZ>$xyEyA?B`l{tX1z?`@eQ9(=d;9{vBACm26a@Hg#FT8rB8j`Yb#~ zcFbYD=hmm+kV*5N@!O8|>r;HEl454f@_Nf&O{xAkxk{_qm7QAV z-H#_RzuoHCZP#`uVTX1vWN{Gg$--k~r#4M!hWz))e~&ZvzDf~%hkKpB*ZF&$zjqhD z!@c_cDI2*lr=QAFm1-UH_kFV4C)<6p-6z|9&e(SX+59ZGpJPz(&)+ec zvG^u_zC}h5?)M$#^}%#2Lrrdpw#Cao%zJcwF7br{bLB&N=R!6Ge$4 zhVBet5WnNB6P`QinUkJ5>6w#iKIy)bYCd^_bLj2VJ4E8nQ_eUw0(YJ|%N70%!e2i{ zPrsI9F5j~}2!DH+oIHuW{jCZ1_P0&!Vs{Y!{v3Aq_ky&dBc1t)BOD9D)9O5}&eQ5V z-G#pNXAg()+?l7z$IF=c8TXv|nnkQ)4R?d^Y-X~cpR+PNE5ozxkkQ$mY-A@t2I0Af z$iWkQLK#x%!9eW(xh?49+}?!}HEQFPrnd@a%c{p8xN;!yFC53wg

e46LeJfG(IG|&Ix`9D1W zhv)z3NHPv4fWkn+l~GVWgN>`%Rw%2hrjqY2-D@1E{F67kVAS-a*-Q%rx!ss>F@9! z#Yp61WS?G^@>D`r=?!R1Gnyl}bbFPqp7i02LRRVON;j|cc`RTtW|O`gvq|5~R%Dfa zfMcBGH_mVo*`>?Q?{tOfw}SBIQ+$RDZko}}e%P6tgOSBe_ue$4o0FJ|Io({rF5GeR zIA(IwziBs}dozQ-gYee088xXxQ)HC!E&kof7=v6g*50zwY|?uOL(K5Ra0L96U*G@=$<66y`08 w@;=3hqy{}$$WcyniJN2unL=lTFOxs`-~Zf~>Hq%s#WDZ)zyJT=nZj592U21@00000 delta 25669 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 + LastUpgradeVersion = "2620" + version = "1.3"> + buildImplicitDependencies = "YES"> + shouldUseLaunchSchemeArgsEnv = "YES"> - - - - - - diff --git a/KisaniCal/Views/CalendarView.swift b/KisaniCal/Views/CalendarView.swift index 651e4b6..bb9f5d4 100644 --- a/KisaniCal/Views/CalendarView.swift +++ b/KisaniCal/Views/CalendarView.swift @@ -5,7 +5,12 @@ import EventKitUI // MARK: - Calendar Store @MainActor final class CalendarStore: ObservableObject { + /// Single shared source of truth so every screen (Today, Calendar, Onboarding, + /// Settings) sees the same permission state and event cache. + static let shared = CalendarStore() + @Published var authStatus: EKAuthorizationStatus = .notDetermined + @Published private(set) var isRequesting = false @Published var monthEvents: [EKEvent] = [] private let ekStore = EKEventStore() @@ -63,20 +68,32 @@ final class CalendarStore: ObservableObject { // MARK: - Permission func requestAccess() { + // Debounce rapid taps; only the system prompt can move us off .notDetermined. + guard !isRequesting else { return } + guard authStatus == .notDetermined else { + // Already decided (granted/denied/write-only) — re-sync from the system. + refreshStatus() + return + } + isRequesting = true + + // Trust the system's authoritative status, not just the `granted` bool. + let finish: () -> Void = { [weak self] in + Task { @MainActor [weak self] in + guard let self else { return } + self.authStatus = EKEventStore.authorizationStatus(for: .event) + self.isRequesting = false + if self.isAuthorized { + self.fetchMonth(containing: self.fetchedMonth ?? Date()) + self.loadLocalCalendars() + } + } + } + if #available(iOS 17.0, *) { - ekStore.requestFullAccessToEvents { [weak self] granted, _ in - Task { @MainActor [weak self] in - self?.authStatus = granted ? .fullAccess : .denied - if granted { self?.fetchMonth(containing: Date()); self?.loadLocalCalendars() } - } - } + ekStore.requestFullAccessToEvents { _, _ in finish() } } else { - ekStore.requestAccess(to: .event) { [weak self] granted, _ in - Task { @MainActor [weak self] in - self?.authStatus = granted ? .authorized : .denied - if granted { self?.fetchMonth(containing: Date()); self?.loadLocalCalendars() } - } - } + ekStore.requestAccess(to: .event) { _, _ in finish() } } } @@ -158,6 +175,8 @@ final class CalendarStore: ObservableObject { func setLocalCalendarsEnabled(_ enabled: Bool) { localCalendarsEnabled = enabled saveCalPrefs() + // Turning it on with no access yet should prompt, not silently no-op. + if enabled && !isAuthorized { requestAccess() } if let m = fetchedMonth { fetchMonth(containing: m) } } @@ -231,7 +250,7 @@ struct CalendarView: View { @Environment(\.scenePhase) private var scenePhase @EnvironmentObject var taskVM: TaskViewModel @EnvironmentObject var workoutVM: WorkoutViewModel - @StateObject private var calStore = CalendarStore() + @StateObject private var calStore = CalendarStore.shared @State private var selectedDate: Date = Date() @State private var displayMonth: Date = { let c = Calendar.current diff --git a/KisaniCal/Views/OnboardingView.swift b/KisaniCal/Views/OnboardingView.swift index 418fba8..f277ef0 100644 --- a/KisaniCal/Views/OnboardingView.swift +++ b/KisaniCal/Views/OnboardingView.swift @@ -26,12 +26,10 @@ struct OnboardingView: View { @State private var weightStr = "" @State private var heightStr = "" @State private var selectedDays: Set = [] - @State private var calAuthStatus: EKAuthorizationStatus = EKEventStore.authorizationStatus(for: .event) + @ObservedObject private var calStore = CalendarStore.shared @ObservedObject private var hk = HealthKitManager.shared @FocusState private var focusedField: Field? - private let ekStore = EKEventStore() - private let timeSlots: [(Int, String, String)] = [ (0, "Morning", "sunrise.fill"), (1, "Midday", "sun.max.fill"), @@ -41,10 +39,7 @@ struct OnboardingView: View { fileprivate enum Field { case weight, height } private let weekdays: [(Int, String)] = [(2,"M"),(3,"T"),(4,"W"),(5,"T"),(6,"F"),(7,"S"),(1,"S")] - private var calIsGranted: Bool { - if #available(iOS 17.0, *) { return calAuthStatus == .fullAccess } - return calAuthStatus == .authorized - } + private var calIsGranted: Bool { calStore.isAuthorized } private var liveScheme: ColorScheme? { switch localAppearance { @@ -118,7 +113,7 @@ struct OnboardingView: View { .font(.system(size: 22)) .foregroundColor(AppColors.green) .transition(.scale.combined(with: .opacity)) - } else if calAuthStatus == .denied { + } else if calStore.isDenied { Text("Denied") .font(AppFonts.mono(10, weight: .bold)) .foregroundColor(AppColors.accent) @@ -137,7 +132,7 @@ struct OnboardingView: View { .buttonStyle(PressButtonStyle(scale: 0.92)) } } - .animation(KisaniSpring.micro, value: calAuthStatus.rawValue) + .animation(KisaniSpring.micro, value: calStore.authStatus.rawValue) } .padding(.horizontal, 14).padding(.vertical, 14) .cardStyle() @@ -551,29 +546,17 @@ struct OnboardingView: View { } } .onAppear { - calAuthStatus = EKEventStore.authorizationStatus(for: .event) + calStore.refreshStatus() } } // MARK: - Actions private func requestCalendar() { - if #available(iOS 17.0, *) { - ekStore.requestFullAccessToEvents { granted, _ in - Task { @MainActor in - withAnimation(KisaniSpring.snappy) { - self.calAuthStatus = granted ? .fullAccess : .denied - } - } - } + if calStore.isDenied, let url = URL(string: UIApplication.openSettingsURLString) { + UIApplication.shared.open(url) } else { - ekStore.requestAccess(to: .event) { granted, _ in - Task { @MainActor in - withAnimation(KisaniSpring.snappy) { - self.calAuthStatus = granted ? .authorized : .denied - } - } - } + calStore.requestAccess() } } diff --git a/KisaniCal/Views/TodayView.swift b/KisaniCal/Views/TodayView.swift index fbafd5e..1ecdd26 100644 --- a/KisaniCal/Views/TodayView.swift +++ b/KisaniCal/Views/TodayView.swift @@ -6,7 +6,7 @@ struct TodayView: View { @Environment(\.scenePhase) private var scenePhase @EnvironmentObject var taskVM: TaskViewModel @EnvironmentObject var workoutVM: WorkoutViewModel - @StateObject private var calStore = CalendarStore() + @StateObject private var calStore = CalendarStore.shared @State private var showAddTask = false @State private var showWorkoutSession = false @State private var editingTask: TaskItem? = nil