From c77fce5f99ff91d5ae0b1d4f1b73c86130a634c6 Mon Sep 17 00:00:00 2001 From: jhvdb87 Date: Thu, 18 Jul 2013 16:16:18 +0200 Subject: [PATCH] Release v1.1 --- Documentation/APIReference.zip | Bin 306587 -> 305175 bytes .../Versions/A/Headers/{SDK.h => HueSDK.h} | 11 +- .../A/Headers/PHBridgeConfiguration.h | 21 +- .../Versions/A/Headers/PHBridgeResource.h | 10 +- .../A/Headers/PHBridgeResourcesCache.h | 10 +- .../A/Headers/PHBridgeResourcesReader.h | 10 +- .../Versions/A/Headers/PHBridgeSearching.h | 10 +- .../Versions/A/Headers/PHBridgeSendAPI.h | 71 +- HueSDK.framework/Versions/A/Headers/PHError.h | 17 +- HueSDK.framework/Versions/A/Headers/PHGroup.h | 10 +- .../Versions/A/Headers/PHHueSDK.h | 16 +- HueSDK.framework/Versions/A/Headers/PHLight.h | 10 +- .../Versions/A/Headers/PHLightState.h | 34 +- .../A/Headers/PHNotificationManager.h | 10 +- .../Versions/A/Headers/PHOverallFactory.h | 10 +- HueSDK.framework/Versions/A/Headers/PHScene.h | 25 + .../Versions/A/Headers/PHSchedule.h | 64 +- .../A/Headers/PHSoftwareUpdateStatus.h | 10 +- .../Versions/A/Headers/PHUtilities.h | 10 +- HueSDK.framework/Versions/A/HueSDK | Bin 1892828 -> 1826932 bytes .../Versions/A/Resources/Info.plist | Bin 723 -> 727 bytes JSONKit/JSONKit.h | 251 ++ JSONKit/JSONKit.m | 3070 +++++++++++++++++ Lumberjack/DDASLLogger.h | 41 + Lumberjack/DDASLLogger.m | 99 + Lumberjack/DDAbstractDatabaseLogger.h | 102 + Lumberjack/DDAbstractDatabaseLogger.m | 727 ++++ Lumberjack/DDFileLogger.h | 334 ++ Lumberjack/DDFileLogger.m | 1353 ++++++++ Lumberjack/DDLog.h | 601 ++++ Lumberjack/DDLog.m | 1085 ++++++ Lumberjack/DDTTYLogger.h | 167 + Lumberjack/DDTTYLogger.m | 1490 ++++++++ .../Extensions/ContextFilterLogFormatter.h | 65 + .../Extensions/ContextFilterLogFormatter.m | 191 + .../Extensions/DispatchQueueLogFormatter.h | 116 + .../Extensions/DispatchQueueLogFormatter.m | 251 ++ .../PHFindLightsManualEntryViewController.h | 18 + .../PHFindLightsManualEntryViewController.m | 311 ++ .../PHFindLightsManualEntryViewController.xib | 163 + .../PHFindLightsResultViewController.h | 14 +- .../PHFindLightsResultViewController.m | 133 +- .../PHFindLightsResultViewController.xib | 15 +- .../PHFindLightsStartViewController.h | 11 +- .../PHFindLightsStartViewController.m | 12 +- .../PHFindLightsStartViewController.xib | 14 +- .../LoadingView/PHLoadingViewController.h | 11 +- .../LoadingView/PHLoadingViewController.m | 11 +- .../PHBridgeConfigurationViewController.h | 12 +- .../PHBridgeConfigurationViewController.m | 104 +- .../PHBridgePushLinkViewController.h | 10 +- .../PHBridgePushLinkViewController.m | 12 +- .../PHBridgePushLinkViewController.xib | 8 +- .../PHBridgeSelectionViewController.h | 10 +- .../PHBridgeSelectionViewController.m | 11 +- .../PHBridgeSelectionViewController.xib | 11 +- .../SDKWizard/PHConfigurationViewController.h | 12 +- .../SDKWizard/PHConfigurationViewController.m | 31 +- .../SoftwareUpdate/PHSoftwareUpdateManager.h | 10 +- .../SoftwareUpdate/PHSoftwareUpdateManager.m | 73 +- .../SDKWizard/resources/addlightmanual.png | Bin 0 -> 21018 bytes .../SDKWizard/resources/addlightmanual@2x.png | Bin 0 -> 41786 bytes SampleApp/SampleApp.xcodeproj/project.pbxproj | 376 +- .../UserInterfaceState.xcuserstate | Bin 0 -> 45069 bytes .../UserInterfaceState.xcuserstate | Bin 13001 -> 0 bytes .../xcdebugger/Breakpoints.xcbkptlist | 46 + .../xcschemes/SampleApp.xcscheme | 0 .../xcschemes/xcschememanagement.plist | 0 .../Features/PHGroupAddingViewController.h | 12 + .../Features/PHGroupAddingViewController.m | 66 + .../Features/PHGroupAddingViewController.xib | 597 ++++ .../PHGroupControlSelectionViewController.h | 10 + .../PHGroupControlSelectionViewController.m | 91 + .../PHGroupControlSelectionViewController.xib | 161 + .../Features/PHGroupControlViewController.h | 14 + .../Features/PHGroupControlViewController.m | 58 + .../Features/PHGroupControlViewController.xib | 2112 ++++++++++++ .../Features/PHGroupDeletingViewController.h | 10 + .../Features/PHGroupDeletingViewController.m | 108 + .../PHGroupDeletingViewController.xib | 161 + .../Features/PHGroupEditingViewController.h | 10 + .../Features/PHGroupEditingViewController.m | 134 + .../Features/PHGroupEditingViewController.xib | 161 + .../Features/PHGroupOverviewViewController.h | 10 + .../Features/PHGroupOverviewViewController.m | 80 + .../PHGroupOverviewViewController.xib | 161 + .../SampleApp/Groups/PHGroupsViewController.h | 10 + .../SampleApp/Groups/PHGroupsViewController.m | 102 + .../Groups/PHGroupsViewController.xib | 161 + .../PHLightControlSelectionViewController.h | 10 + .../PHLightControlSelectionViewController.m | 91 + .../PHLightControlSelectionViewController.xib | 149 + .../Features/PHLightControlViewController.h | 66 + .../Features/PHLightControlViewController.m | 419 +++ .../Features/PHLightControlViewController.xib | 2130 ++++++++++++ .../Features/PHLightOverviewViewController.h | 10 + .../Features/PHLightOverviewViewController.m | 102 + .../PHLightOverviewViewController.xib | 149 + .../SampleApp/Lights/PHLightViewController.h | 53 - .../SampleApp/Lights/PHLightViewController.m | 232 -- .../Lights/PHLightViewController.xib | 1500 -------- .../SampleApp/Lights/PHLightsViewController.h | 12 +- .../SampleApp/Lights/PHLightsViewController.m | 105 +- .../Lights/PHLightsViewController.xib | 28 +- SampleApp/SampleApp/PHAppDelegate.h | 20 +- SampleApp/SampleApp/PHAppDelegate.m | 61 +- SampleApp/SampleApp/PHMainViewController.h | 14 + SampleApp/SampleApp/PHMainViewController.m | 231 ++ SampleApp/SampleApp/PHMainViewController.xib | 161 + SampleApp/SampleApp/PHViewController.h | 19 - SampleApp/SampleApp/PHViewController.m | 123 - SampleApp/SampleApp/PHViewController.xib | 396 --- .../Features/PHScheduleAddingViewController.h | 13 + .../Features/PHScheduleAddingViewController.m | 75 + .../PHScheduleAddingViewController.xib | 399 +++ .../PHScheduleDeletingViewController.h | 10 + .../PHScheduleDeletingViewController.m | 108 + .../PHScheduleDeletingViewController.xib | 161 + ...PHScheduleEditingSelectionViewController.h | 10 + ...PHScheduleEditingSelectionViewController.m | 91 + ...ScheduleEditingSelectionViewController.xib | 161 + .../PHScheduleEditingViewController.h | 17 + .../PHScheduleEditingViewController.m | 69 + .../PHScheduleEditingViewController.xib | 370 ++ .../PHScheduleOverviewViewController.h | 10 + .../PHScheduleOverviewViewController.m | 88 + .../PHScheduleOverviewViewController.xib | 161 + .../Schedules/PHSchedulesViewController.h | 10 + .../Schedules/PHSchedulesViewController.m | 92 + .../Schedules/PHSchedulesViewController.xib | 162 + 130 files changed, 21229 insertions(+), 2829 deletions(-) rename HueSDK.framework/Versions/A/Headers/{SDK.h => HueSDK.h} (63%) create mode 100644 HueSDK.framework/Versions/A/Headers/PHScene.h create mode 100755 JSONKit/JSONKit.h create mode 100755 JSONKit/JSONKit.m create mode 100755 Lumberjack/DDASLLogger.h create mode 100755 Lumberjack/DDASLLogger.m create mode 100755 Lumberjack/DDAbstractDatabaseLogger.h create mode 100755 Lumberjack/DDAbstractDatabaseLogger.m create mode 100755 Lumberjack/DDFileLogger.h create mode 100755 Lumberjack/DDFileLogger.m create mode 100755 Lumberjack/DDLog.h create mode 100755 Lumberjack/DDLog.m create mode 100755 Lumberjack/DDTTYLogger.h create mode 100755 Lumberjack/DDTTYLogger.m create mode 100755 Lumberjack/Extensions/ContextFilterLogFormatter.h create mode 100755 Lumberjack/Extensions/ContextFilterLogFormatter.m create mode 100755 Lumberjack/Extensions/DispatchQueueLogFormatter.h create mode 100755 Lumberjack/Extensions/DispatchQueueLogFormatter.m create mode 100644 SampleApp/SDKWizard/FindLights/PHFindLightsManualEntryViewController.h create mode 100644 SampleApp/SDKWizard/FindLights/PHFindLightsManualEntryViewController.m create mode 100644 SampleApp/SDKWizard/FindLights/PHFindLightsManualEntryViewController.xib create mode 100644 SampleApp/SDKWizard/resources/addlightmanual.png create mode 100644 SampleApp/SDKWizard/resources/addlightmanual@2x.png create mode 100644 SampleApp/SampleApp.xcodeproj/project.xcworkspace/xcuserdata/310049919.xcuserdatad/UserInterfaceState.xcuserstate delete mode 100644 SampleApp/SampleApp.xcodeproj/project.xcworkspace/xcuserdata/kevin.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 SampleApp/SampleApp.xcodeproj/xcuserdata/310049919.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist rename SampleApp/SampleApp.xcodeproj/xcuserdata/{kevin.xcuserdatad => 310049919.xcuserdatad}/xcschemes/SampleApp.xcscheme (100%) rename SampleApp/SampleApp.xcodeproj/xcuserdata/{kevin.xcuserdatad => 310049919.xcuserdatad}/xcschemes/xcschememanagement.plist (100%) create mode 100644 SampleApp/SampleApp/Groups/Features/PHGroupAddingViewController.h create mode 100644 SampleApp/SampleApp/Groups/Features/PHGroupAddingViewController.m create mode 100644 SampleApp/SampleApp/Groups/Features/PHGroupAddingViewController.xib create mode 100644 SampleApp/SampleApp/Groups/Features/PHGroupControlSelectionViewController.h create mode 100644 SampleApp/SampleApp/Groups/Features/PHGroupControlSelectionViewController.m create mode 100644 SampleApp/SampleApp/Groups/Features/PHGroupControlSelectionViewController.xib create mode 100644 SampleApp/SampleApp/Groups/Features/PHGroupControlViewController.h create mode 100644 SampleApp/SampleApp/Groups/Features/PHGroupControlViewController.m create mode 100644 SampleApp/SampleApp/Groups/Features/PHGroupControlViewController.xib create mode 100644 SampleApp/SampleApp/Groups/Features/PHGroupDeletingViewController.h create mode 100644 SampleApp/SampleApp/Groups/Features/PHGroupDeletingViewController.m create mode 100644 SampleApp/SampleApp/Groups/Features/PHGroupDeletingViewController.xib create mode 100644 SampleApp/SampleApp/Groups/Features/PHGroupEditingViewController.h create mode 100644 SampleApp/SampleApp/Groups/Features/PHGroupEditingViewController.m create mode 100644 SampleApp/SampleApp/Groups/Features/PHGroupEditingViewController.xib create mode 100644 SampleApp/SampleApp/Groups/Features/PHGroupOverviewViewController.h create mode 100644 SampleApp/SampleApp/Groups/Features/PHGroupOverviewViewController.m create mode 100644 SampleApp/SampleApp/Groups/Features/PHGroupOverviewViewController.xib create mode 100644 SampleApp/SampleApp/Groups/PHGroupsViewController.h create mode 100644 SampleApp/SampleApp/Groups/PHGroupsViewController.m create mode 100644 SampleApp/SampleApp/Groups/PHGroupsViewController.xib create mode 100644 SampleApp/SampleApp/Lights/Features/PHLightControlSelectionViewController.h create mode 100644 SampleApp/SampleApp/Lights/Features/PHLightControlSelectionViewController.m create mode 100644 SampleApp/SampleApp/Lights/Features/PHLightControlSelectionViewController.xib create mode 100644 SampleApp/SampleApp/Lights/Features/PHLightControlViewController.h create mode 100644 SampleApp/SampleApp/Lights/Features/PHLightControlViewController.m create mode 100644 SampleApp/SampleApp/Lights/Features/PHLightControlViewController.xib create mode 100644 SampleApp/SampleApp/Lights/Features/PHLightOverviewViewController.h create mode 100644 SampleApp/SampleApp/Lights/Features/PHLightOverviewViewController.m create mode 100644 SampleApp/SampleApp/Lights/Features/PHLightOverviewViewController.xib delete mode 100644 SampleApp/SampleApp/Lights/PHLightViewController.h delete mode 100644 SampleApp/SampleApp/Lights/PHLightViewController.m delete mode 100644 SampleApp/SampleApp/Lights/PHLightViewController.xib create mode 100644 SampleApp/SampleApp/PHMainViewController.h create mode 100644 SampleApp/SampleApp/PHMainViewController.m create mode 100644 SampleApp/SampleApp/PHMainViewController.xib delete mode 100644 SampleApp/SampleApp/PHViewController.h delete mode 100644 SampleApp/SampleApp/PHViewController.m delete mode 100644 SampleApp/SampleApp/PHViewController.xib create mode 100644 SampleApp/SampleApp/Schedules/Features/PHScheduleAddingViewController.h create mode 100644 SampleApp/SampleApp/Schedules/Features/PHScheduleAddingViewController.m create mode 100644 SampleApp/SampleApp/Schedules/Features/PHScheduleAddingViewController.xib create mode 100644 SampleApp/SampleApp/Schedules/Features/PHScheduleDeletingViewController.h create mode 100644 SampleApp/SampleApp/Schedules/Features/PHScheduleDeletingViewController.m create mode 100644 SampleApp/SampleApp/Schedules/Features/PHScheduleDeletingViewController.xib create mode 100644 SampleApp/SampleApp/Schedules/Features/PHScheduleEditingSelectionViewController.h create mode 100644 SampleApp/SampleApp/Schedules/Features/PHScheduleEditingSelectionViewController.m create mode 100644 SampleApp/SampleApp/Schedules/Features/PHScheduleEditingSelectionViewController.xib create mode 100644 SampleApp/SampleApp/Schedules/Features/PHScheduleEditingViewController.h create mode 100644 SampleApp/SampleApp/Schedules/Features/PHScheduleEditingViewController.m create mode 100644 SampleApp/SampleApp/Schedules/Features/PHScheduleEditingViewController.xib create mode 100644 SampleApp/SampleApp/Schedules/Features/PHScheduleOverviewViewController.h create mode 100644 SampleApp/SampleApp/Schedules/Features/PHScheduleOverviewViewController.m create mode 100644 SampleApp/SampleApp/Schedules/Features/PHScheduleOverviewViewController.xib create mode 100644 SampleApp/SampleApp/Schedules/PHSchedulesViewController.h create mode 100644 SampleApp/SampleApp/Schedules/PHSchedulesViewController.m create mode 100644 SampleApp/SampleApp/Schedules/PHSchedulesViewController.xib diff --git a/Documentation/APIReference.zip b/Documentation/APIReference.zip index a0cf229adf29082b0d6aa0617c61a29f138f73c2..a89faa0f9353b521092ba1b9a31d8e674bebd9bf 100644 GIT binary patch literal 305175 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 literal 306587 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 z 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

llm zkb9U4Zvw=n!zg_pILn-uI#fIbei4253Yn)@D`1Dxu=_ij=6KnW4_X8#|CISfdPVlj zhXKPVPl(8aA7jCGDeC7p?ZtJmcZ#t)g`2sjgl$C>cYVvO=FTqK2ImX3{(h zYIbvPu`mU(=AirtCbVcUDO1DgDtAILh!PRVrcaD?3ofN-WEbS6=mKH7bOePb2-sf? z{)(o3{}WAP6F&N9G;Iyeqrq=h5)1okH>(g7O$+|C3`VCqY3|||bC22>j(OHs7$Li!xQ-3`CU!>`m|2N01n5x8}vgSc2-SRXj(V*0W)wE&W6n;qc#; zBH1ZgIJUsvoLf!>nv{xB&LV$lqIJxG0Yw0MU$Sp|LK)DuMMn^~qv17NuUbTXw#E~) zD3u!%j8B4hc$Fqon|@*w9Cf=-W-dU33FX9w7mu^2iT^4*(Eg4lk{QPWFZ2F5{qZrA{8Rl#uKDY81k;U7oe`HM$Prg76#Wf(lF_wmmh{*zzKW)8U^q zq=PfhL<9$`ya;yYUZSP1pr+e)n*+KvY9+(#2q9NH&8ywDj80>7{lGaG@7AC&C?01K5w$d5VuAG21uc0pmX zq;q1uR435*kH3Gn)I}YII6wh%%p*Y8FIU_@E8T4l%#V2R+AovFeFWTlnj+>1XY5{{ zC-@#&<_oQdKN`gEQhVp%QqHr?7e8Rg%_wL5<(NLOhYWka)ylBgvYS>n&>sL_I}&-z{sBGNAgF-!!I$p>#GL#UG-SB*AVn1N zYV|E!{#Bn%8`xTEUFjJ~wn{r>`4Q=*kaT#U8P)muWzVSY}7^ONNv_-1`#d1~jtS^2J;zI2XYm7|c z;2dyk8ePI-sfb^1IjsfuUACxl5o$&}*iQj!(J{`2=c~@z2wqnh*4d<3p?4#`+C1CM zx1}Mw;=t2o9`otDadQj&*E{Xv=Cveaa#s_RER86hgiJldqG10LF0eUr%)vsOWyCbe z`3_UKEGj+`;gu`$J|7|?qL&YFNtPx{9CCGvy}DG^`JX56)_h?rS$O%~iEJvBeS_%e zmV-5%jQhwx4}GnfWi(ND<8dv;_w3LiU^~eDTjPl9?=IXxqdM0A$@(@mVP`Yq5YFPQems*d+GV(CVKIqX(OO^W=>>;NYBsn z_0l-Zal`4uy?LCAw@=iEo{k>h@J)H#ErcY=Qq3&1OCE~=qYzwaGs-co8ueVYy5y)1 z7oUqw8?9P%X8n!I(KUFrh%z6OqU#SwkvZpR2Pom9U+wOdF$O71qsV&Nl zV63xy`kc;fXfX=xQlt1?C!vsqb_nzqBM`EnT+cO6d`xDN_?yvy5M_}p{DCQW@RPKf zl^{hEt{9XQ_KYe&MqU@dhfAyAJ4DpN=!#0j8h{FT%2H{#^iA~Sb7wrXirM2!G-S_d z-8`yYV*sEJ3^v5)TYIY9x}4`E%9$+>ZfNQZsUiJ zLZaW@ia>j}2ZgzS7h0b#KV&AMyd&xbdp_vzuRz@)N>iC(k<}FQ-RWp|!cc&;GW6iS zE2!p^HPUbq+!$fNre8%$^n0BWh!15As<;OF!?l++Atnp~5a@oeQ-aGJVQ!8b@l%5M zP@wF^t*e{L1l0ocYVBhXhXzRdSwv`B*NVH9@_-WhZ(3B+ z>c`cP;+~AeUC1O3ng&eYKgAmD#0kgyKw(O3W6TwOBIeSBTTIWrq=rMaLXe(0E2 z1R=#EGfdQ3itWX zMtt&LYQ!dn6`O|BR$HGnV(tH|5yy!xZ_GHjeAb95qMYsSezW%*j0pZwBZgv!`Q2cn z*jjIc{6~$rm1GBA#^Rh>`Uv%~!2L}hd+l&Z7Ii1fD(K;p8WNUxl%z7_7D;LZ^^bfv zrQY*rU(xqpn5dzsWdGmAqF;k;ks#*i?{y~pDQ)n(JTC| zV!p6sZYiXI0_{RJKY?9IV&3?Co-2uUOgikOA`tAxVkDtL&3bgv7_k#$aU$gU+FkG~ zuiH<)ljgaLn2yuCHe#!-7Lse<4*Yxf&2!XpVZHE@me50T-%pDHAuxrYL3jPidvuK8 zoA=Y}NF*pIQ=QzEKIbjEhW=865eM|`sL2ThPguYj1+GVD=@d_7?g9bEV6|5(zqIVb z;EoN!k183Gm7KzUbpu`b%|LIt?!9SP_EYfsey)V=LDnE7p~K=k1M%oex(*aWga>pq zY*T(nOF}duq67wsufimWwS@C!`{f9aUCe>%@qQD|xWVslW#df{Z007d;sXI}EFk{4 z_@*meu;3=VGeL7?a!ykZL7!8fT`#$REE+#}=2Q;EEVFqrehaBWw^%dVCKVC_)}$8wL<&|BCZNo2fS+iW41H z09Ryi=(L4r&rx(^d&of`hF^X5S4C;S)qdHJm*wL0sXHr~I}X!Hdv_`MP%RGVNGU7j zvg9lZf~|e+;zJ%iPHMG9=5`#d`qbl%k3Z7ZTJl2i8K1T=_@8Xy-}%ePe`WhxIlCAc zSkmg**(s{P0$M9LtY68&S)O)Ml z32z+IP+uOT9GmeA;%2iklr9D(pMCk;E_~C3K2cb|ZncV4?E9n7tE2X>GGnx9BBD|{ ztsz=Ev3Ne73sn)3-hFFEoEQXrw{{CWo(FN^MyS&`a^8nwr1!6%QxfKBCri{B;eZ)a z@v?X$KULEA7Twd7T{?fMa*(ScUHo?Sx_8Cri|#xNd$lLwW5ViR&U804N{n~+?=>D; zg`et!4sezo*j%E)9QVcN2-QJVhPr78Ws9QT!1vCy$P~Jy&F|-(0FVGm1_sF@_vjsi zRt~_p;k=J1Wq`1}N4Z0YZQC{0xXXBf3g~67cM>&Z3}@$eX4k_&^<83SgyQInu89Hg z=uC+{qr?%>Ks)DOj%O-SkmTR*86rzSX6P`jlkKa;zePOn(Fblqy-II8fp^;ZgFiQD z?V8G>R z&F@e?749A-DXX$w4Ok{@ns7{}NIA|hs0D0*8(zRGj50)k_>=E(JV+_XC<&xMX^m4u z{arUtHAGWeP$&jM*Hln}7m@{|VEx9T2?6fY*R(UuIJ=w&5*oAVN7PTxagJ!8E_BUyuw! z+W4!qD&na9nhdYhVi*_25A+DTU-Lj5`X+Cvq0d_cPb{h5aVy1{l)C19SN1$3Yb*C8 z?$Wc@`@wRSq}1#0%&Rr(SLk{Df&*Lx0yqs_2K)u!b3n$5NpA0P{2FS8`nWPCjUM#i z#jOyYRFliVIkhRMtW$x1)Z}X_q4Z5=scXBNIn=gnmK6q4Y+iXy>z#Dyi!4#!rgR_!S_fB@bJ$B3;fcB~-i#NpsF6d|15i=&Dozdjl@1gK{!Q`gS5G&2m z;6M!EKpSOLyGKfbd!doEc<}fE5bn&;UvCWw#BpvTy&vCbJ_2VBz2^xY5xU+_hoHX~ z_%%bYH+HdH=0cg~3CluSlL-M__k}^;ulWsom%VIdc~uo$Z=3y=`$FgaSJ>%jWJ-u- zuZl4}yWMS*1;MEHX+7~#ev1zfy?0EDtICFlqynu{MRVcuB#*KY(Y9V4Sba-#()EBD zfp-t|Jm#-1E+GZ>LM13~5Cp z+}DqN)1;;<-CcEpXoPqr`4wEA5SJ&xy}lfA-9)Lpi0b{T-T7dT8=)Mc``Vg{b8B}W zfJL%;bH+&^Yv>~|Z`p0#>WnjzJ>QKv!M2Pi7INVcW?hByMr``1Z~1!&$5jBM(pBzg3sHPs$e`>gt{W<|oU#d_wrOj(qikH1k=U}>Em%{U9&}&r zO2T2=-v$oE$)H2tCb?(ml1r&QDPPI%XGmHg?-38A1z}ZSq#YT-VC%}=T6Ki&Yc-*}I`Dq7hWz!H_~F|9^an`VrpkrveUH5@V?#Ec-2x9P?} zI4TR%WC6YPCaCbI*uyJ{f3bO;6Wf2(y)G#XXbppN&~5QO1AB*%_~NxIokT{yHtk)f zr)~I^S)d9uEk`rPzbG?m%s&-kR(s8RMSQY6J2`@COdhk^4APv9pvy>*840-dx(7Th ztyhOX{Tz8J#`i1hl^#Y7-X%W_-Q0{nCw?wT=mP_yh-4N9Xe(}YHewc7UonC?!MHq# zC6Fu(1nuyH%@W2B-PNxyk9S#QDh^Csw|lf<%2`yw z%M;KLke6etaVvAS%DTdpZ0^snK_pP+G=@T>Gb~HQAU^k=iXi&koMxLKmn(hM!fpGO zT@}V)g3x}Xk3b+L0Y!SH3< zGmvqFN^-nNGd`}01yvKXnNE_aCV5w$C4jb{}ll97Z<#BHryiRzr7X z#|LjzwDY@vOc6K zezHDl;?UlZ*b03jxzr7{my^1R7DCFYSsu+fZ%3 zDm@o)!B{XYZI-f!u~)G$ZeQ0kI3``26fY+jB<(ul*)5zFsvJ-w_J30_>sn+b=t3kl zRs}<1lF8v^($^LDQjs(W>YD8TF1W77{^ew42_59AN6(da$kz9mq5jn{dQ&XEFES_r z+gL3!I;)`^gIdT`!mf5g+sMrJlT2^bp*g?8yo80> z=jcpwOf>VsxWS@kuo*~|-$_}Cr)i1&4+c$w*bS`wG+A~j1(S*er3CSw5k|7je;GTC>X7lDK3A9467*JL84>Q_dWdjZpq zy02Ah7$V4$8WU!3`!NAm@Uh4$=at&<-I-7NQ2kNl%(S@P7=#eLSc+Fe_z$ zvoLRxCUy6FZU0Uo6@YZ>Y+r!d@C|u0`@B+NeAM|os8ftktNVrT2??YUV*Vt1qNwh; z5@{Lc5T%K>(#JHILxeJHFO#wWTn?;v!8q&Na91xmRpjR^dG5zVDm-|6s(1_+R!38ExjL&Z zmQsIi=_}wVGL-?Cxe6^T1<%=Aw9ra%y{WBzQ{OJ^HqEa^n;;ye3=_{-O`G6NmS*I^ zDE49EQ#4+)I`xa&fY%M1I0$oDnK|*_XOA`(zf2clhe88XZU6Xcgdt{S z^+O4EImO^$8_n)E(t-#(YOTV4(VE@_dX63m9g0@t8(ksywy!B80wR8CL-({=>Y#v( za7ZoJL3Mkj8I!@8-Q*o%R_g(#W^*w%kJ0lN?{egWa$wDr5t(frfVm|9m-;LDa&6%* zooY}+g+>n^1(O}Cp6G>5S=UXsjd|=z3!m7`$4Aea%qUnR?0uOLf9Cso)75Rg(8D8x zU5!>IaLd=GO8A4HjXEHMrzZ4Tsk9(6chupnWS){z3CYw2*{I;i3hxH%4;U#nes*?! zKaNsZ+Ny`;MkfXl3e+$#0~@hUQj3x_191_GMK)DSD%|s_ylx-7?o>+-hQ@o zQKGQC;=JDVTrgJ+mMseY5e{`$8AXS#*uW9+(Yk-6oO3b-J0=-OKyr7L_eIADdOTV0|LM%3HUl>5l)@bn7TT5jS##5(^ z6`uBwWI*!@`X_%`DV2Ga6oM?f$9`(AZC!XVR;C=ajeR-2vbE(?-{fG^^L%!P-VKiJ zL_-0+EPU5e9hj*5V3L@CZI}P(2sY7O*X?laO;m-cUqPy?7Qm^zIDX!}b8k-fRAYPm z8Yy}=Mwu%^P?xc9yRFZT_hg+W$zXE#m1Z2C_^7M6X?rad>fIfPiw9uY%aQKY3)sw z{dC{U+~Mg#V%4s(dG;vIk!8H~HkIoecz?|cvYPCz5*fB)y%@iKJsZI@jg@h>tQO&V zd8o3T6oe6>x!7sVGP4@0=c2C{4amW8DhyO_3%Ves(=mV=95AgdE^A%z2WE1 zcyMcZHRkT`%o@Ds!7AgloBPvXKJ;XF>J=MuMeyf&XF=N2K}YS^mY)@D2ngk5d=xN7~cE3!t^AN7@cD3OI${%im&Zg&xEqX19L}3mD^RUi9v$WT_ef!Czgx2-iFfNj5)4j_JY$5%bAT079c*7C!BcAg_}R0W_9eDe zLx{Qg%M6q6;RnQy8}CttAZhL)jxXt)ohq|B3N~b+ofEuZA1Fih27FaD&>gyQOm|U|DkzvfLK!`@!8I|C-YZI<-e1g z`j6)NzviZZdf~aRLS&^y;h?dgKU>@3#KnYueEv87T=5kucxl$;?8kAPFZIFAF40WRnOSwaUOyt;w$A?}SWQTtrT}10Vv03U=)}(q<

!Bo4D4;hpKkF1)o~rN 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

-7%zcvWLQCDWNQ^IH+65s4y_�-|AU?%d}Q+8O4AjyQ7lvh(WO7}CY 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�nHX8qTI)IM7}MBV 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 @@ -11,7 +9,7 @@ @class PHSoftwareUpdateStatus; /** - Contains the configuration data of the bridge + Contains the configuration data of the bridge */ @interface PHBridgeConfiguration : NSObject /** @@ -90,10 +88,15 @@ @property (nonatomic, strong) NSString *time; /** - Converts the bridge time string to an NSDate - @returns The date/time setting of the bridge converted to an NSDate + Converts the bridge time string to an NSDate + @returns The date/time setting of the bridge converted to an NSDate */ - (NSDate *)getBridgeTimeAsNSDate; +/** + Converts the bridge configuration to a NSDictionary + @returns The configuration of the bridge to a NSDictionary + */ - (NSDictionary *)bridgeConfigurationAsDictionary; + @end diff --git a/HueSDK.framework/Versions/A/Headers/PHBridgeResource.h b/HueSDK.framework/Versions/A/Headers/PHBridgeResource.h index 4f12610..c99f75b 100644 --- a/HueSDK.framework/Versions/A/Headers/PHBridgeResource.h +++ b/HueSDK.framework/Versions/A/Headers/PHBridgeResource.h @@ -1,9 +1,7 @@ -// -// PHBridgeResource.h -// HueSDK v1.0 beta -// -// Copyright (c) 2012-2013 Philips. All rights reserved. -// +/******************************************************************************* + Copyright (c) 2013 Koninklijke Philips N.V. + All Rights Reserved. + ********************************************************************************/ #import diff --git a/HueSDK.framework/Versions/A/Headers/PHBridgeResourcesCache.h b/HueSDK.framework/Versions/A/Headers/PHBridgeResourcesCache.h index 9b1b483..f6b0214 100644 --- a/HueSDK.framework/Versions/A/Headers/PHBridgeResourcesCache.h +++ b/HueSDK.framework/Versions/A/Headers/PHBridgeResourcesCache.h @@ -1,9 +1,7 @@ -// -// PHBridgeResourcesCache.h -// HueSDK v1.0 beta -// -// Copyright (c) 2012-2013 Philips. All rights reserved. -// +/******************************************************************************* + Copyright (c) 2013 Koninklijke Philips N.V. + All Rights Reserved. + ********************************************************************************/ #import diff --git a/HueSDK.framework/Versions/A/Headers/PHBridgeResourcesReader.h b/HueSDK.framework/Versions/A/Headers/PHBridgeResourcesReader.h index 0bf6f7b..3441fdf 100644 --- a/HueSDK.framework/Versions/A/Headers/PHBridgeResourcesReader.h +++ b/HueSDK.framework/Versions/A/Headers/PHBridgeResourcesReader.h @@ -1,9 +1,7 @@ -// -// PHBridgeResourcesReader.h -// HueSDK v1.0 beta -// -// Copyright (c) 2012-2013 Philips. All rights reserved. -// +/******************************************************************************* + Copyright (c) 2013 Koninklijke Philips N.V. + All Rights Reserved. + ********************************************************************************/ #import diff --git a/HueSDK.framework/Versions/A/Headers/PHBridgeSearching.h b/HueSDK.framework/Versions/A/Headers/PHBridgeSearching.h index bb44904..faa9045 100644 --- a/HueSDK.framework/Versions/A/Headers/PHBridgeSearching.h +++ b/HueSDK.framework/Versions/A/Headers/PHBridgeSearching.h @@ -1,9 +1,7 @@ -// -// PHBridgeSearching.h -// HueSDK v1.0 beta -// -// Copyright (c) 2012-2013 Philips. All rights reserved. -// +/******************************************************************************* + Copyright (c) 2013 Koninklijke Philips N.V. + All Rights Reserved. + ********************************************************************************/ #import diff --git a/HueSDK.framework/Versions/A/Headers/PHBridgeSendAPI.h b/HueSDK.framework/Versions/A/Headers/PHBridgeSendAPI.h index 92d27cb..c9b5647 100644 --- a/HueSDK.framework/Versions/A/Headers/PHBridgeSendAPI.h +++ b/HueSDK.framework/Versions/A/Headers/PHBridgeSendAPI.h @@ -1,9 +1,7 @@ -// -// PHBridgeSendAPI.h -// HueSDK v1.0 beta -// -// Copyright (c) 2012-2013 Philips. All rights reserved. -// +/******************************************************************************* + Copyright (c) 2013 Koninklijke Philips N.V. + All Rights Reserved. + ********************************************************************************/ #import @@ -14,6 +12,7 @@ @class PHGroup; @class PHSchedule; @class PHSoftwareUpdateStatus; +@class PHScene; /** This is a typedef for a block type. It takes an array of PHErrors. @@ -25,6 +24,11 @@ typedef void (^PHBridgeSendErrorArrayCompletionHandler)(NSArray *errors); */ typedef void (^PHBridgeSendDictionaryCompletionHandler)(NSDictionary *dictionary, NSArray *errors); +/** + This is a typedef for a block type. It takes an NSDictionary, a string (this can be "never", "active" or a string representation of the UTC date of the last search and an array of PHErrors. + */ +typedef void (^PHBridgeSendGetNewLightsCompletionHandler)(NSDictionary *dictionary, NSString *lastScan, NSArray *errors); + /* This is a typedef for a block type. It takes an NSArray and an array of PHErrors. */ @@ -64,14 +68,21 @@ typedef void (^PHBridgeSendSoftwareUpdateStatusCompletionHandler)(PHSoftwareUpda Starts a search for new lights @param completionHandler completionHandler for error handling */ --(void)searchForNewLights:(PHBridgeSendErrorArrayCompletionHandler)completionHandler;; +- (void)searchForNewLights:(PHBridgeSendErrorArrayCompletionHandler)completionHandler; + +/** + Starts a search for new lights using the given serials. + @param serials An array of serials (NSStrings of hex characters), maximum of 10 + @param completionHandler completionHandler for error handling + */ +- (void)searchForNewLightsWithSerials:(NSArray *)serials completionHandler:(PHBridgeSendErrorArrayCompletionHandler)completionHandler; /** Updates the light properties @param light the details of the light to be updated @param completionHandler completionHandler for error handling */ --(void)updateLightWithLight:(PHLight *)light completionHandler:(PHBridgeSendErrorArrayCompletionHandler)completionHandler; +- (void)updateLightWithLight:(PHLight *)light completionHandler:(PHBridgeSendErrorArrayCompletionHandler)completionHandler; /** Updates the state settings of the light @@ -79,7 +90,7 @@ typedef void (^PHBridgeSendSoftwareUpdateStatusCompletionHandler)(PHSoftwareUpda @param lightState the lightstate settings for to set the light to @param completionHandler completionHandler for error handling */ --(void)updateLightStateForId:(NSString *)lightIdentifier withLighState:(PHLightState *)lightState completionHandler:(PHBridgeSendErrorArrayCompletionHandler)completionHandler; +- (void)updateLightStateForId:(NSString *)lightIdentifier withLighState:(PHLightState *)lightState completionHandler:(PHBridgeSendErrorArrayCompletionHandler)completionHandler; /** Updates the bridge configuration @@ -99,7 +110,7 @@ typedef void (^PHBridgeSendSoftwareUpdateStatusCompletionHandler)(PHSoftwareUpda Get newly found lights since last search for new lights @param completionHandler completionHandler for returning this lights found and error handling */ --(void)getNewFoundLights:(PHBridgeSendDictionaryCompletionHandler)completionHandler; +- (void)getNewFoundLights:(PHBridgeSendGetNewLightsCompletionHandler)completionHandler; /** Creates a new Group of lights @@ -107,7 +118,7 @@ typedef void (^PHBridgeSendSoftwareUpdateStatusCompletionHandler)(PHSoftwareUpda @param lightIds the array of light ids to group @param completionHandler completionHandler for details of created group or error handling */ --(void)createGroupWithName:(NSString *)name lightIds:(NSArray *)lightIds completionHandler:(PHBridgeSendGroupCompletionHandler)completionHandler +- (void)createGroupWithName:(NSString *)name lightIds:(NSArray *)lightIds completionHandler:(PHBridgeSendGroupCompletionHandler)completionHandler ; /** @@ -115,14 +126,14 @@ typedef void (^PHBridgeSendSoftwareUpdateStatusCompletionHandler)(PHSoftwareUpda @param group the details of the group to update @param completionHandler completionHandler for error handling */ --(void)updateGroupWithGroup:(PHGroup *)group completionHandler:(PHBridgeSendErrorArrayCompletionHandler)completionHandler; +- (void)updateGroupWithGroup:(PHGroup *)group completionHandler:(PHBridgeSendErrorArrayCompletionHandler)completionHandler; /** Remote the group with the given identifier @param groupIdentifier the identifier of the group to remove @param completionHandler completionHandler for error handling */ --(void)removeGroupWithId:(NSString *)groupIdentifier completionHandler:(PHBridgeSendErrorArrayCompletionHandler)completionHandler; +- (void)removeGroupWithId:(NSString *)groupIdentifier completionHandler:(PHBridgeSendErrorArrayCompletionHandler)completionHandler; /** Performs the action for the specified group @@ -137,21 +148,21 @@ typedef void (^PHBridgeSendSoftwareUpdateStatusCompletionHandler)(PHSoftwareUpda @param schedule the details of the schedule @param completionHandler completionHandler for details of schedule created or error handling */ --(void)createSchedule:(PHSchedule *)schedule completionHandler:(PHBridgeSendScheduleCompletionHandler)completionHandler; +- (void)createSchedule:(PHSchedule *)schedule completionHandler:(PHBridgeSendScheduleCompletionHandler)completionHandler; /** Remove the schedule with the given identifier @param scheduleIdentifier the identifier of the schedule to remove @param completionHandler completionHandler for error handling */ --(void)removeScheduleWithId:(NSString *)scheduleIdentifier completionHandler:(PHBridgeSendErrorArrayCompletionHandler)completionHandler; +- (void)removeScheduleWithId:(NSString *)scheduleIdentifier completionHandler:(PHBridgeSendErrorArrayCompletionHandler)completionHandler; /** Updates the schedule information @param schedule the schedule to be updated @param completionHandler completionHandler for error handling */ --(void)updateScheduleWithSchedule:(PHSchedule *)schedule completionHandler:(PHBridgeSendErrorArrayCompletionHandler)completionHandler; +- (void)updateScheduleWithSchedule:(PHSchedule *)schedule completionHandler:(PHBridgeSendErrorArrayCompletionHandler)completionHandler; #pragma mark - Software update @@ -180,4 +191,32 @@ typedef void (^PHBridgeSendSoftwareUpdateStatusCompletionHandler)(PHSoftwareUpda */ - (void)setCacheUpdateAfterSuccessResponseEnabled:(BOOL)enabled; +#pragma mark - Scenes + +/** + Gets all scenes from the bridge. + @param completionHandler completionHandler for returning the current status and error handling + */ +- (void)getAllScenesWithCompletionHandler:(PHBridgeSendDictionaryCompletionHandler)completionHandler; + +/** + @see PHBridgeSendAPI#saveSceneWithCurrentLightStates + */ +- (void)saveScene:(PHScene *)scene completionHandler:(PHBridgeSendErrorArrayCompletionHandler)completionHandler __attribute__((deprecated)); + +/** + Save the scene information to the bridge + @param scene PHScene object that should be saved + @param completionHandler completionHandler for returning the current status and error handling + */ +- (void)saveSceneWithCurrentLightStates:(PHScene *)scene completionHandler:(PHBridgeSendErrorArrayCompletionHandler)completionHandler; + +/** + Activate scene + @param sceneIdentifier the identifier of the sceme to activate + @param groupIdentifier the identifier of the group that should apply the scene + @param completionHandler completionHandler for returning the current status and error handling + */ +- (void)activateSceneWithIdentifier:(NSString *)sceneIdentifier onGroup:(NSString *)groupIdentifier completionHandler:(PHBridgeSendErrorArrayCompletionHandler)completionHandler; + @end \ No newline at end of file diff --git a/HueSDK.framework/Versions/A/Headers/PHError.h b/HueSDK.framework/Versions/A/Headers/PHError.h index d1bc422..c654ee7 100644 --- a/HueSDK.framework/Versions/A/Headers/PHError.h +++ b/HueSDK.framework/Versions/A/Headers/PHError.h @@ -1,9 +1,7 @@ -// -// PHError.h -// HueSDK v1.0 beta -// -// Copyright (c) 2012-2013 Philips. All rights reserved. -// +/******************************************************************************* + Copyright (c) 2013 Koninklijke Philips N.V. + All Rights Reserved. + ********************************************************************************/ #import @@ -31,6 +29,13 @@ typedef enum { PUSHLINK_NO_CONNECTION = 60, PUSHLINK_TIME_LIMIT_REACHED = 61, PUSHLINK_NO_LOCAL_BRIDGE = 62, + + // Unsupported + UNSUPPORTED_IN_THIS_VERSION = 80, + + + // Domain objects + INVALID_OBJECT_PARAMETER = 80, CLIP_ERROR = 100 } CLErrorCode; diff --git a/HueSDK.framework/Versions/A/Headers/PHGroup.h b/HueSDK.framework/Versions/A/Headers/PHGroup.h index c6541d7..2fd66a5 100644 --- a/HueSDK.framework/Versions/A/Headers/PHGroup.h +++ b/HueSDK.framework/Versions/A/Headers/PHGroup.h @@ -1,9 +1,7 @@ -// -// PHGroup.h -// HueSDK v1.0 beta -// -// Copyright (c) 2012-2013 Philips. All rights reserved. -// +/******************************************************************************* + Copyright (c) 2013 Koninklijke Philips N.V. + All Rights Reserved. + ********************************************************************************/ #import #import "PHBridgeResource.h" diff --git a/HueSDK.framework/Versions/A/Headers/PHHueSDK.h b/HueSDK.framework/Versions/A/Headers/PHHueSDK.h index 58ca5df..3097e59 100644 --- a/HueSDK.framework/Versions/A/Headers/PHHueSDK.h +++ b/HueSDK.framework/Versions/A/Headers/PHHueSDK.h @@ -1,9 +1,7 @@ -// -// PHHueSDK.h -// HueSDK v1.0 beta -// -// Copyright (c) 2012-2013 Philips. All rights reserved. -// +/******************************************************************************* + Copyright (c) 2013 Koninklijke Philips N.V. + All Rights Reserved. + ********************************************************************************/ #import @@ -93,4 +91,10 @@ */ - (void)disableCacheUpdateLocalHeartbeat:(BOOL)disableCacheUpdate; +/** + Enables the logging + @param enableLogging When YES, the logging is enabled, otherwise disabled. + */ +- (void)enableLogging:(BOOL)enableLogging; + @end diff --git a/HueSDK.framework/Versions/A/Headers/PHLight.h b/HueSDK.framework/Versions/A/Headers/PHLight.h index cbfe223..67951e8 100644 --- a/HueSDK.framework/Versions/A/Headers/PHLight.h +++ b/HueSDK.framework/Versions/A/Headers/PHLight.h @@ -1,9 +1,7 @@ -// -// PHLight.h -// HueSDK v1.0 beta -// -// Copyright (c) 2012-2013 Philips. All rights reserved. -// +/******************************************************************************* + Copyright (c) 2013 Koninklijke Philips N.V. + All Rights Reserved. + ********************************************************************************/ #import #import "PHBridgeResource.h" diff --git a/HueSDK.framework/Versions/A/Headers/PHLightState.h b/HueSDK.framework/Versions/A/Headers/PHLightState.h index 1379e93..afb3553 100644 --- a/HueSDK.framework/Versions/A/Headers/PHLightState.h +++ b/HueSDK.framework/Versions/A/Headers/PHLightState.h @@ -1,9 +1,7 @@ -// -// PHLightState.h -// HueSDK v1.0 beta -// -// Copyright (c) 2012-2013 Philips. All rights reserved. -// +/******************************************************************************* + Copyright (c) 2013 Koninklijke Philips N.V. + All Rights Reserved. + ********************************************************************************/ #import @@ -90,13 +88,13 @@ typedef enum { The alert to set the light to. Options: "none" (no alert), "select" (1 breath cycle), "lselect" (breathes for 30 seconds or until value none is set) */ -@property (nonatomic, strong) NSNumber *alert; +@property (nonatomic, assign) PHLightAlertMode alert; /** The effect to set the light to Options: "none" (no effect), "colorloop" (starts a colorloop with the current saturation and brightness until value none is set) */ -@property (nonatomic, strong) NSNumber *effect; +@property (nonatomic, assign) PHLightEffectMode effect; /** Colormode of this light. @@ -106,7 +104,7 @@ typedef enum { - "CT": color is set by ct value - "XY": color is set by xy values */ -@property (nonatomic, assign) NSNumber *colormodeNumber; +@property (nonatomic, assign) PHLightColormode colormode; /** The transition to take to go to this state in 100ms @@ -128,21 +126,9 @@ typedef enum { - (void)setOnBool:(BOOL)on; /** - Sets the alert mode of this light - @param alertMode the CLLightAlertMode to set the light to + Validate the light state by checking if the values of the properties are in range + @param Array with PHError objects if one or more errors occured. nil if no errors occured */ -- (void)setAlertMode:(PHLightAlertMode)alertMode; - -/** - Sets the effect mode of this light - @param effectMode the CLLightEffectMode to set the light to - */ -- (void)setEffectMode:(PHLightEffectMode)effectMode; - -/** - Sets the color mode of this light - @param colorMode the CLLightColorMode to set the light to - */ -- (void)setColorMode:(PHLightColormode)colorMode; +- (NSArray *)validateLightState; @end diff --git a/HueSDK.framework/Versions/A/Headers/PHNotificationManager.h b/HueSDK.framework/Versions/A/Headers/PHNotificationManager.h index 4e79d7b..64b076e 100644 --- a/HueSDK.framework/Versions/A/Headers/PHNotificationManager.h +++ b/HueSDK.framework/Versions/A/Headers/PHNotificationManager.h @@ -1,9 +1,7 @@ -// -// PHNotificationManager.h -// HueSDK v1.0 beta -// -// Copyright (c) 2012-2013 Philips. All rights reserved. -// +/******************************************************************************* + Copyright (c) 2013 Koninklijke Philips N.V. + All Rights Reserved. + ********************************************************************************/ #import diff --git a/HueSDK.framework/Versions/A/Headers/PHOverallFactory.h b/HueSDK.framework/Versions/A/Headers/PHOverallFactory.h index ea0f157..0653ac4 100644 --- a/HueSDK.framework/Versions/A/Headers/PHOverallFactory.h +++ b/HueSDK.framework/Versions/A/Headers/PHOverallFactory.h @@ -1,9 +1,7 @@ -// -// PHOverallFactory.h -// HueSDK v1.0 beta -// -// Copyright (c) 2012-2013 Philips. All rights reserved. -// +/******************************************************************************* + Copyright (c) 2013 Koninklijke Philips N.V. + All Rights Reserved. + ********************************************************************************/ #import diff --git a/HueSDK.framework/Versions/A/Headers/PHScene.h b/HueSDK.framework/Versions/A/Headers/PHScene.h new file mode 100644 index 0000000..79e20df --- /dev/null +++ b/HueSDK.framework/Versions/A/Headers/PHScene.h @@ -0,0 +1,25 @@ +/******************************************************************************* + Copyright (c) 2013 Koninklijke Philips N.V. + All Rights Reserved. + ********************************************************************************/ + +#import +#import "PHBridgeResource.h" + +/** + A grouped set of lights + */ +@interface PHScene : PHBridgeResource + +/** + The identifiers of the lights controlled by this scene + */ +@property (nonatomic, strong) NSArray *lightIdentifiers; +/** + returns dictionary of scene details + @returns dictionary of scene details + */ +- (NSDictionary *) getSceneAsDictionary; + + +@end \ No newline at end of file diff --git a/HueSDK.framework/Versions/A/Headers/PHSchedule.h b/HueSDK.framework/Versions/A/Headers/PHSchedule.h index d2c5ce7..b9ce3b1 100644 --- a/HueSDK.framework/Versions/A/Headers/PHSchedule.h +++ b/HueSDK.framework/Versions/A/Headers/PHSchedule.h @@ -1,15 +1,29 @@ -// -// PHSchedule.h -// HueSDK v1.0 beta -// -// Copyright (c) 2012-2013 Philips. All rights reserved. -// +/******************************************************************************* + Copyright (c) 2013 Koninklijke Philips N.V. + All Rights Reserved. + ********************************************************************************/ #import #import "PHBridgeResource.h" @class PHLightState; +/* + The bitmask options for the recurring date + */ +typedef enum { + RecurringNone = 0, + RecurringMonday = 1 << 6, + RecurringTuesday = 1 << 5, + RecurringWednesday = 1 << 4, + RecurringThursday = 1 << 3, + RecurringFriday = 1 << 2, + RecurringSaturday = 1 << 1, + RecurringSunday = 1 << 0, + RecurringWeekdays = 124, + RecurringWeekend = 3 +} RecurringDay; + /** A schedule that specifies a point in time, the state change to be applied, and the light or group of lights to apply the change to. @@ -26,6 +40,41 @@ */ @property (nonatomic, strong) NSDate *date; +/** + The randomize time to use for the schedule. + Maximum value is 86400 (24 hours) + When set to 0 (default) no randomize factor will be used. + */ +@property (nonatomic, assign) NSTimeInterval randomTime; + +/** + A bitmask of the days this should recur, default is RecurringNone. + @see RecurringDay + */ +@property (nonatomic, assign) RecurringDay recurringDays; + +/** + The timer to use for the schedule. + (date value should be nil and the recurringDays value should be 0 if you use a schedule timer) + Maximum value is 86400 (24 hours) + When set to 0 (default) no timer will be used. + */ +@property (nonatomic, assign) NSTimeInterval timer; + +/** + The recurring timer interval which represents how many times the timer will be executed + (date value should be nil and the recurringDays value should be 0 if you use a schedule timer) + Minimum value is 0 + Maximum value is 99 + When set to 0 (default) no timer interval will be used. + */ +@property (nonatomic, strong) NSNumber *recurringTimerInterval; + +/** + The date the schedule was created + */ +@property (nonatomic, strong) NSDate *created; + /** The identifier of the light this schedule should have effect on, this is only set if this schedule is meant to change a light and not a group. @@ -42,11 +91,12 @@ The state the light or group should be set to. */ @property (nonatomic, strong) PHLightState *state; + /** returns dictionary of scheule details @returns dictionary of schedule details */ -- (NSDictionary *) getScheduleAsDictionary; +- (NSDictionary *)getScheduleAsDictionary; @end \ No newline at end of file diff --git a/HueSDK.framework/Versions/A/Headers/PHSoftwareUpdateStatus.h b/HueSDK.framework/Versions/A/Headers/PHSoftwareUpdateStatus.h index 794b039..071c85c 100644 --- a/HueSDK.framework/Versions/A/Headers/PHSoftwareUpdateStatus.h +++ b/HueSDK.framework/Versions/A/Headers/PHSoftwareUpdateStatus.h @@ -1,9 +1,7 @@ -// -// PHSoftwareUpdateStatus.h -/// HueSDK v1.0 beta -// -// Copyright (c) 2012-2013 Philips. All rights reserved. -// +/******************************************************************************* + Copyright (c) 2013 Koninklijke Philips N.V. + All Rights Reserved. + ********************************************************************************/ #import diff --git a/HueSDK.framework/Versions/A/Headers/PHUtilities.h b/HueSDK.framework/Versions/A/Headers/PHUtilities.h index ccf5b83..aee92b9 100644 --- a/HueSDK.framework/Versions/A/Headers/PHUtilities.h +++ b/HueSDK.framework/Versions/A/Headers/PHUtilities.h @@ -1,9 +1,7 @@ -// -// PHUtilities.h -// HueSDK v1.0 beta -// -// Copyright (c) 2012-2013 Philips. All rights reserved. -// +/******************************************************************************* + Copyright (c) 2013 Koninklijke Philips N.V. + All Rights Reserved. + ********************************************************************************/ #import diff --git a/HueSDK.framework/Versions/A/HueSDK b/HueSDK.framework/Versions/A/HueSDK index df620d9cb8be282b3405031b4fc89449c5732ec8..ffd5e76532e80f2be3e3ad305ed6a32dcf351756 100644 GIT binary patch literal 1826932 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

l$4MU6_0A1H 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

BfNuo)2bS|Kglq04LXo%XwC3?9}nx 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 z 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

H=ppFHQtuQ2P+g?<`+ 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

B9BR4d+4ZLayULwSu<|5_$ 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

ip1{d2%GvM9vN&AvZKJ}u_d<|B!8@eyii1i8 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%0DhyvdTu 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 DWn+3I literal 1892828 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ðtfuo`n;Ojvv9~ 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%0AdKFG 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:*>TBj=;qbmQ+C3q&?C=sE4uw0r{Cw`6X?-z`5481H{&z!-(((+5<7%1 z=0Vk*TjC(&^iyrxtcTsGo8lUrWm3?zNvCa5mp5#sF&dXBj z*#>V!k9m@d(Ou`qZ}PkduSSn`FBhQu?}DHGDdrhoiXQ(?xV-%-I-lRobKB0Rte>ao zu=$iL(MRAz=vD9rbXi@lpg4{d`2HKuUqAOjzP}|_fKS#ZFGY7A3iut$aySP)=0(m% z_j&O21%7`EFG7#!LphUTJL&kGhhJfvUO;T-ALr&pe)f+k-=lwg?OF}(@1;Lah)v;> z?T$xI>_oT!Q;g{{Vd;s0N4UxxYxDh?_DDOpgJ!g=| zCb$kg*0)?sv7Mdx%;Wc_^LGNow&RQSEmxtNj||3D4OgN^e&h}4=3@ozY=PIJM}FiA zitQBPGaqBrQ%Y^C+@e< z+xY!>(LYh|KXJd6tW$Zph5jtY=eqorB7WydEE8X>Q#k|Oe3tP$o<;ENymczSOxEco z<})3BK5w1MPm^`}C|Re!oyPhj_5fexR~}D%cky-7pPTe&l-LM9+4+{Qqnq~@@^cd& zM2~rp`_aw&Fe-nPS=(BnB(-u*0f|55!c zb^o#M6ZnX2el~aiA#XxIMLn+1ZSY2P+40J2DgJ(L8AtC!7AD81wC_GS`WO6tBJDk- z{n$6z~+5 z`X%$f|0zE~cYW3}|Ig{?BlK9W@)Wx3^C;~+gD22qy~^Vh+Zn;<`Yh)>yGQI6zF4pF zFuLpW9QE9VucOC$l`o^4uRQX174All{K;MD&POi#75F@Q%#VBu-T7FJeg}Fg;Rm=6Cie6juU(MMtNa+BX}G= zu6yz*#eCesXP!UxFXV&REqsx8`Fi5($M>j!eVP6Y66?h$+aI|b-TCM|&+`%7g&y-G zpGS8-hCBGa4?c$;^CO?3*q;`B&c{LWe~Q>~d@(=rQFP~Hl6p?U&FC>day`X*s__+* zuMzsYlUNl#+5XCv=;rGg`P%}oN00o;YthYD9pl*um!n7i#tk*f%;#cw_W4}?R0okqW9zc)zk^9h{pB~oB4fra0tZ(@;#c`j<=X~t;dPwXXzL+1m9o_l3MLk_` z8+y!-d<5P7X2W&vi(araI^kZ-ndgNbjKzIJOq3?z3&|^O38{bUzv+tX) zUE9t+f0}hYNbKr2U%Mc?AIsh7&c{i9C(#3Up~w8l?G(p*8lU<8>OZsJ5o^U4`InC- zzQg!Rss9q~9U*oQpKN>b-o#gn&wO>Ve(QeT=cbYDSFJ4ycFGhZsGdA z49-Q5{K`wvowv>CE8#5km`8aLy6dc!{iguVM2~eRXP`SD-9C@NGcV@mM}G7oH9z;! zpRkWlp~w8llN9rI3!m5753_FX5W9g-HXrg3y7@l9?+`6S&zgz@WuSdr_s${KlyBjPohUY$68E2Z|IBmaKhNoMI=c1UKwkjAoSv&+el*R0M+SWg{mC@* ziY~jK$>S9Ba06c}^Eklu_BOFWe6sT@_n|wFhxt9ob@(cJ%&Xjk?mQ0s51#wri|8@0 zawo-h&f#+&zdX(RW@7F5VqWD|bmwu1e4mC-pvSz*$IzX}2efkvZbpxJl@C#DXCFT2 zv5oVgiP#=|F|Tqxy7M?oJ^SI^=rOPI7If#aiRYqia20yYt6Yh0-uI(#h1a9Uyvk+h z&f^L63b+_O=2bq$+}O_(%%9&+FFD8WEQlRre&hRU`AFhBh_4r43BJR`_T!VCM|of3 ztHoEuxXoWZv0eCNeew=;|4!)0@A11ocq@AR-H^QfTdDi(Dvn+^H*mC{72isIU$m{A z{fk)Hx8}Ytl8Y1HN__tJ?VEm|_p!$C#eeT!UP|%#At&*t;lIiCt^d8eCnxrDhUfp} zdMm$}Nv*pLe1AAQ!~G_DtULKJy8B!|{dx{hp~t=_Pg3mvI6l|eA3W!K7h?DD#k!Mk zC%zl_GHJh@{@f%sgikhq@)dN~3Q zpYl7If8jpvU*^sWc^uvI=rQ^O_#S$kSMnWn&yy$UWAJVCIB(~uD7f7r;6AHe6jxIGIZBl9{biB zxCA}cpIn6QdaGc4R=}&!WBti1DE220pX==@^%M}x!58aK&PI2=ZKa-kcrkjcKl$a$ z)I5%m-!%Be%ei@!pP{=S-bSB&$#XJ#?2qy!y7M}TJ_X-Lk9n3yDfaU^zG3q3-xu8^ zHh@olbw0wq=&sY}^s^uCL63DSUqbhNOX)hEi{Xpt@%}~br1-w&EJxqNoZ)D@C-|K2 zS5~y~JV)#ppNsb`@)2~;pJVRZ@L}{gpX7a%SM!dqm;P?z_fK`icHookzq}RQ{%&Rc zY=<|aNB`wb==Qgb{#U~r(WC$JdW!w8;AsELINEL@pR>Qm=zkHh6?`uGFE2y4zmMqu zYB(P~`Y$h`SWgB%e}{3L{x2jp%k?6DmmyDcJ+Z%6=>H7Yk7wx7fB6Zzzr&cM|1aQ2 z=<&M@d5U8H?{l>OV;pVw7N4`fQ}q81v0*+J{g8C{Le4>Vf7n7j%iwJE*e~QKv#EXi0Y{(X2W0APOO6L-Q~Sjxu3v|V?Vp|7 zFXVmb?hpQM`w+YbJ@yN^o?<_%@l`VZhs@7TVpaHL^C4HFJ0H*Zea9AfJ$lTKycXU0 zsAHTP;d1ntAGwrbJ4N`MkB@$x_bbE-@x}be1&J>gpY!pE{wyW71YgXLya3(#*woJZ zcQ_qA=0~38{>b^*!+Kc=zvO-@=0|>>+($jc=X@+>+}I7U5>;c@hs zA9)zveEN4(x8dvPkze^Dy4UG~KCY*5Cwg4B;q@uR`l3kB0gt-JL!Km zu}nS}{g*S)?QbUQI15fgkN(S#IbYomCwZQG#`*b>^ELKId0z(eMLQcg+FnIQ`nCU? z|9aYg$zz`&R+f=|L3WR z4PV#0xX*qk&$Yy6UQfRu+n)UN_4HTgP0eYpE3Y#i^f+(iDT?ill)&qB<$37x=Q0(Uke7|o#m-3uX>?pohOn&8Nbo1HA?*xv+2hk(Ha#PZeBF1?b z-Z!rw@*axq)ZsJVZ~aGpS4OM`U*uojp7^%lGv8Ir_f}$6_#*%EI&|}$#d*9DUV|R_ zm&?)3Q!#nj0GFai-sB>R{aKFB`S8A`kXQk}m>+p5y8H4b>RAcrqQ^ch&%BoYYM;GH ze$(OU*V4bU&&reN=6e!->b3N=`{c?8{k+xzKz@GbP%$K_#)_eBHA@hV6AeU{HX zCqEmRuP$P3d`^C~Ps69sou4j#x6}@|pvQd4$I)FU`HcG{d;~q#jeMA5I|uMNKi_7) z4iRg_7xN`IB)(dF&QAsXsUx-vU(A=h1>N~c`#s*@z*XomUvee7^RtZgvlZTe9`hxy zrP!Yme9q53>M18ygfHexUWM-bR8UVDyb?X;OU^_0I_TfI<-mae#H?iNt=3hRM_zvUq-(j7^ca+#ceDUwH%1!A0elr*S z2)qwHe$Od4P#kv+K7S8fjBhuwo%rJS!SWV#uNQ~-JAtim6?$AhF`tZSP$~!^2YC?P`Ca(Od>;e%qsM&9z38rwO!VvU74%py@_BU6=X~^w@HzB2 zzvYt)Qu#Q(Ahli!=|>B(BMau%i+nioHR7u#FZb{rAhs8u?7EU0&|M$P(VO7i=&@ep z8jAVfgwJ`s#&vxQu?_fQp5=Au&g)BlS5OI8pvOGRW$4ap1@|*+;Ue^yXL%LHc2?kX zUVr*)?4QJz;fr~ebI_gF3fApXI2%3YSze6pyzZo(JUA0Q=2_05*v>TT$$8CYz05NI z&sk3~&+=1r=e3D?W?UcWG0*ZSy7TID#(nrMdd#ytg6_ONMIVQ6p~pPS{pil?0?w}? zxEDRt*~NGUnV-eX&n03Vj7N6<WSzhp6sXWdk^$k#8IXY*_Q@*UsRR3Ck zhyUIMu|=74{gY?#`hM~HcQM}2l2@KnZW0^(F2)PnKlvQ`IC(4Ke*8Rq23=N{PgAVt z7)R&%ApVD}%U!I?BgC5U%lhTL=-xMXkl+1qJ$l?n%e&FNpI=A6_rSZ*v{jY>`(PhUYZy}e~vzC1OyW_3D#r+Dg3i2JlLzc_X{oFRjy&f(>k9y=H3U$75 ziKFlH&n3rG939VbKA**Tc!<2T5If4}W&0sFQ~dmax3u#6Vq!Jloqj>KAM%;R*OK^F<2z04 z=scf%HSu-hyT#{o@bwVu#3x&yd@J!?PkcPEerA~1z&xM)B=Joq?T-C6zlR|*nmIb2{R`8tWqyYD^nBlch}gb`=@(?%m+R48pIx-O7p_H*^(yZ|cYSVb;l2sp zjvnh(-iq$}Y$@jb3A_b8)~mdcVm~VIO>>@HrXTBxmEn`^hg_8OW0HQ9!iDqtA+JdK z(M&&9!v*vDAumPuIrs|wSPti+$8)iqsm^-2$@9TtI72--&*k%POHcb2>!g|^eR`uR zIhG~IqPMXwdbm#W{=0^1n{mQ^FDfrV_c~U{ z`_DW$3q7uDat6hG&Ac^r-TJk!un!WOe(T(IOMd*;l?s!(Pe;30m z&|`e^GK%fx;&VLD@Z}R*f-lA=_byJ|$Mlk?!NuGsE}pxOkuRfrKXMg)0PaSQ`xChf z-RH08rsavQ~dG~?Sz|8Fy%6T}YUlO2!Tgl@jB^B(>%ybnF{C+|txDQ6t} z;ktS4$h8#P*@@45e(zWLeKxUe_#(gZ=ES!VUlHw3(4S4j*5i}yk6easKJ&OQSp%1# zM}FlZbno{n73-3mcd5~++&HF;u#U6Mkdd!2ojbeW`;WO_8+^1|I zwh>>CRd+2drCLf|$?|zQ9vlIV%-b;*TaeXDW4Zmz&w7+Zfk2 zxDq|`C~u(H&RTrt?ZZ>t#}F&W7kQM665mREXK8;A{aIxUpKO2R9Q0RtWc*9vZ1nHs z5nhb`Dv!)-9=s6!J9&gNDE8+C_cgBXCEPd7a3AxG`!XL)7f%g5)xcbfO>eE&x*4`2NIr}C1-w-BHI-s!y~+_w>1fG__2Q#n2Hy`X=& z+}Gyteby}fc}D+a^DRF@_r7-Jf8qDD@B{R?&y^?8y{{dnormxkdfeyA_t3qsUHm?t z&*3}hai1&KC;iw-e@DpEZpOcx*jD;0+Yfp1+f(ayHt|2h@BR3~cIJoJ6Z~<1E>EG` z&sF68F+71D{g%hk?dPrk#C`+cLyvyTchK!;_Db&m;M?fYZ}~dK`R&E${dfue7$kND zU)-O|-AO-o(~lmwb6!8>j-($8$lpb{eO^E0HgxaD%jm~B_!N5FpUX$oxgW1$pF0j8 zR!{EF<<;cPelCAI?@7pKC+!px%YQrXNs|1^R})_+KJ#9HubWs0zL*EOJ@K8y=eq0s zk37c_Yrz-mP(GIU4&ig%)sW|AVh8ZWI+XV(zIuGFyAHlb+ed6SzF3FyPITw*3hSd5 z-i99YDOaOAf7P_J1Fk}k`IIZsoxd~R&-D%7fFAQHk5bIjEqtSlKb`U4A$9|w>^hX6 zCBBD=Z;JMw5SyImlhboj>vi`#Qu(ZD=68bc;ClRyxqQmi6zYDXl4BRoQENHck77RO z^K%QIDqu?zNhM$!n%n)zHoJ-3Ms;gj{r zSI~W5-cA1c;Y;Z8{#?F@ev5h+v%dP^^XRglm(SS`=5zT9z9)g(?FXzbx1kr1hkEkT z1D`^d)#byK&ob^E96!Zz6G!{Kp3iyTv4ehXB(|2%#eIleLHQ*9qQt)(eYil>u+K{#;Jch^KppSKITK#FP}|(rxM>9d}oNY%=5{YD17FP;l$sM ze}a1Q@DCBYieI)~c{1^hCcfF=p-4&CES?YOCy|E7Er|7P`LF$=-AEC!Ols6{zRM6f7d}r~kBUVa#vg43z65qDO z*Nkr`u`Tm_ayP~NoJ;&C@w?xZ;cp|>fs>!e_sGoF8J1_+lLLUUd7tmU<4t z_2@AUIq#jRyuHNt5Z{Bt{BDofGkmh+ke}c+zf<^JUw!x<5u3yp>rK9&`0nBJ{o~ND zay=q;2VcC8ly4`#>-c;>yzBt)>xd2Di}%IylYH9aJnZ59=d*m~A)oe=^HQFq_&#Td zqy6i}|Cs)*`Zdl|Vps6Xjzg|Zd^@a{_ zujUtCO|jh-Nqq;XuaMZXdG*Qpls~7w7w<~>pS&y8eh>a<#2&qCu6=om(usc@-!a-d zPx}+ZM)AqEFW;ot{!miied@bGY+zn}av$Y9^_}9#XWwYS-$Xr=)O(WHas0CN%1x9X zq~5KGe?S--r7;_pz(Ioh9<$uXbL4KlxH{sZ@a#Pax@?C0bqiEjZu z?~6CFe=Z`HjxX+$<=LgF-?dz#o`vwsrE|Y)ksmKjjq3rvZS<>wem*32AD?V{@)*T_ z-s5OLuP4X8e zQtZ!Od`sBx&hR|3pI8Gv*?!A)=sx$PF|J0q7CoMWm%7h; z{2umQ_&Ivq=gE)qQvIF4H$y#3=T`UH}RFxKY#yphu95#vOakL-Tqb6 z-|KKMdh}Pmf^L7G)8Bsh5_;U1$`{e?U->fbQ{YbY=&yW~Vtxbe^rM;Betfe1 zkoP40I8Q$s;ktSKkZY5EtY^Fp@XmStkhi1zcLpu=qXyoJ9)EWrZ$O{mx#Hv>@Vzp; z7G1V|xq|X0`dQ4;{;tIDb)uhjwaOU&xNgWfNqs}qmj`Fht506+XQ*fTo$1%czQI2I zSKL>49ero|1=;gJeuD0KSVdl5zz@;myp$iH`~7w+<9-Z}qsRB%@+if2?%?x0{M45? zzlq((7w4rsgzov(N`8mo0rWWE~I3vNS?^G&WtH}8AS^1cSHMUQ!qH=_FVi~1HWsAr z^UJso*hFky!Q6emyawI-`lG+h_m*%edfeyB#T3VrtB>|BE#>_zu_gLo*M*#g?tZ_4 z`;levBJ|k*AD<33&Hhg;Xi`Tn$*>r??e^KR~!Ve6M4zB|>AiFc>2 z|AX8gJs>uYFYZ6&(ZqKfUk3eIMSt!R8^$MFpL{*>UB&18w&Uw3)`KtRTfT(ueN{2} z>4Q7b<33C7pqQT%_;&OD>egePlZhS0C%b;-W^~tUAMc@#!w1o0{mM<~UPp@P$6T^>mAN-Vm0_;{mR=D-xhoyp#3k>pRL5I@X7W^UWe{DvzU*K@EY_O zw_J|yx-KTq8{ks(Sm$yP#r`bE=enMvo;_+p*QOVM4|o2X|coQodoTz>dNyw_)c z8%BTpL)@4C5byPq{Z775@jmq`zT+9>_ZIU&>@q&t@yKT>%*U5 zCx|uUm-Wj{iLaKUh5UmdX>^L%n;;;Z0jd&S9dC7*Nrg|&RIY>dxE zKIFv|`<02$@&D`F+=miN#~1mKXFinjJ^xV3_i=nLi9PwyoKL<(c@OQkbF?4(@Q-u; z?fhBBN2~$AZ2sg;6x-i`?-yzRU4O}Si`ZIxvhyLACB9;OA1D3+e5J%z;gj{rD-z$! zl2pA@$#JYC)$jkz=k61`TQb*gd4%!_=H+tY@5FDte~SMiv2*yN9l3?#_;w}!s^qva zY3Cgy?AOHB&1*-lNPH!U?|t~niLIXJlXEHN@#zny+8O%6R2~=q9M6ly`hRdPkMenn zd2Gk`2L1kX>g^zQ8lP-_TfpV(!5vg4P}qkA4*`UTbpd=5R%E4dxr{dVLH?hoKL^w@vplN9@N z6rcO;kvjG{V$Jws|CJA+yWc*dp5yQV^w@vpjTGytz-PWHKhJ$Vu`+y-KY2B}`O0Fx zO5j5D$e)}~v7TIf=Huu8oa;QXY><7wpM00{ZPv*k$28i%h~GS(BOkrQI`Kzd%{{!{Ql^jIfy3B`3=z|r#{7ymZaYbp1E`NXpE%dgfiJXVzQw{g^e zyomSX=tuCk5<6PN`|-ptH=}Q7o`$*px4;L{W!IHlPjMc0;hUzPt>mqi*miuf?aJ%X z-_7SfPd%0J8g$uuAgQ8^IUrMjlRl1NeHroAvx6HJL-840e7Rv{L5Vw+dGTTb=2^S{H~GM8GNy>88=vcZl<_qXtHBrRUfzNJ zFSP$#jISQ9Mwji6Tt%_HjrbhT2Zz|#iLJvINGAQ9gt2c>3t~S@;xs zj8AT**xpfmj^{`N`yR1od@(+GFM1~DO)KxI8{r0Y+4U>eP(0uAl4B^Mzd!wgtWVyI?)rGr%zZb!2|d<}yq04B%ki0? zAGyx&YKWEKi+st2iEkM`^K+W}-j&4i@kPGmY;^Op_Lq2X4=+NGe94&<+nZgL%GaVj z{9d2f%T;svk{_>1`6lo!WIP3oZ;IGBKH2ffchDVA19=^VZ==WfI8UyM&K zO?<2IIiBN;uY_13z8IfefbMvT>Guja4?V^w=TK~K5kAK=i!Ym4CcYS-eB}qyuf3W5 z`=@xX(fb3OZ$FTJL3Uj7UUaW>Gn_9?a07Z=_vAWsuXE|-c|Tl>9@jm27rNKE3fgak zcc900PhLgwe0o}#>hJx+R33NnJ?;ZyV})~hl<%T@9eCeY*mvMt=y6?;Z%`cfAU^YY z?FRcju|9l}XSpZwb>e%qPg36{VjcKm-;~dwzgkECo^=GDMvpwptrXikiqE_r*~`8{ ztQlYAS>BcSs_?lko-)2_VwLz}oyhCay$*bm{%nCO(Brxwmr`u62%qEmDEC1n#0v4n z_~d1YFBhNVX{Ek=VoUJF_~b?Cj%OqN&Vm=9$N1!QitSCmFEzgG|Bv@<@8iAc`{u?c z-=pZej?eKNILh+^u|a$>KDiIw>%fsw-jl&S=y6?;yD8SwiO=zTf$?1=b`D>RPi{+m zE%-by3b}tjMeI1fI8WqebjNdt@g0Q^qR05;CW`It!RLInGrmS*_4s1`}M}Cr7{EUCYsSN~p(u@fP{h{|!#QN~XJ}6&Cx4$j)|0>*#9{rckQEcxFKKuI> z`hS+#DSXj?`9$J7g3tLZ;ePWtvBUUce&zk>&gb|(zHf#1qR0Ho4HVm}!RL6o7+)Q+ zo%mvW^2-&ed3(5m{xd&Y|BCl6#3onJf7ty{9z(bO1JrXLzK0&|$%E+bkKL@JVYnYX z_Di`J-Tko#{RVsmJ@!laGP?WYW5#nG?naOOQa*@2%6qOYzsY-kct5)A{fWGf;`eQP zI6Cgygm)!e&F3HDKf&j>5v$_!vY(erDgJxid5J#*|AB9@&vSiPOlV?{CxL=jbut@>6vC-%GxxzmNNR^caskMX{d~_?-XW_Q70AE6n{L5Vw`_qok^|6Qd${obo z@WpzOPoX=ncd6$b+=?FaEN`K>59D#Qz6|^gFS$?P{$Vk(+2y?FhF|3oez`o!BlD6D zKS%#g9^t3xuky&ark9gP^zY;mo}#?UBfeL8a0p_(2zK9-ql+RP_Pa8h-wr@Y@Ik8jtB9C$_x_KL= zo_6>IdgM{ArkKaI_)hRXY5fGh4<%NCPd0yYQQ}*P&-cK`evAE+*m8XFURcgcd^7J& z?aPli4spKReb8r1S zd0zmxpv#_T@&StN?M;q#_?yUg=CAO)NUR3GtY6+vF%O&Z`F`@Pf5USEu}%2meWkpC zV!h?~W<2lc|5{?D_+;yoi_z1le*k?Ayc%6rmkTM@laFtj?|DYJel91LhfmfgFQ!}| ze^bj+{_*5^cUkItomR#(O6>Nsx$kx48x+UWkI(mn|AX-i5xa^n-W$r@ln&}Y&e8rH zPL54{&hPafQ2#+<`}kaZ&oA#td|Q%ZCH@N5;iD$L_ae3)zw9{Va`a)=&C%Z`A8-k} z{3;)C5ygFV6-WDV;616|5tOlyAAS$}@O$QdM+@N3*B zr4yUxd$iaW4Pt#$G#vpqx-#OIo~TDhYz90_n2}~ zS?cc;3pu*ZmM6!ovefsZH-4Rb5nEI?_x-3`Me*+_&vX1fjwkW^_m~-ckI+V}1%Lc~ zrhFXz6ysRP_dciLqv*2hMsB7!-X?s0zuoZjtXE=<_~QF+`9|XF#rG87YJ3C4dhp5C zCue^+Ro?@AWwcXS!#ok6z$fdI$I&11xtU%3E(gAcF00F>Nj)n+%=h}lhw!Z?w(P@v zub=qj=EPTx&-%yc*LGr?@kM*`CUomRK|R~x4d~IHJU}rI=aPC_sHc-y`@DMOwxpi5 z)N>v_IjX{@yIPXoMtUOnN!q5 z7m1ylSC8DD)Kft{UGV97^~l*joT}$>QqMZ-c}9F{UOnz{}7hKk`Y6<7!CiF^~I*)y=C%u1)G`q@KO-&Uy97 zV-)MTlGJm6disc6npcn9mDE#AJw0&8yn5uEic~$*Nj;_1GfVvWyn5uPNj(oa?`Pmg z^XieeC-sz6r1E1P%ZU|L%;iU3g>F8&sizEHfgbshJ1CCpU{X&H^)wUPKd&BnZ&FV^ z^&Eif=hY)mQLJY$sb>%M+#uFJuO7KKsi%N?uERa^>X8dSlBy@;BdKu}QqMwSX&;#z zmpqfyGroiGVc-|@>XG+Q?9axeo+;X^BDQ{BJ@Q&~^U+2SP8z!r@R8)`<7MYVHLa#J?>-Ve01|y#rzh+dFYW(c?re-Wa2Y_>8#7e#4_+j zKIJrY^H)bbi{Kg7W#m&HV{Q81J-d?}N7tpEUq*RfI=+tiSU30lB44H0?m2wE_xyR^ zj}beAFW!U7r_s%Cr|-YvR`kfXd;;D4F8$ZMH-nF&N517|itQZ4XMVqRiThk)`|(A- z<%Yypi_iCp8|Y6Rv0eD$J)^t@-TbC)S| zzxSx8oLCXQ$hW)--TYQiPZ_)tJ@PGQQLN|XkEY(Uex3ei5PSZkbMIN@r|9Nu6Z0_r zqwN3akw19~-Fyv^zbEhndgMEnB`OwQ*9Vzv5`@5$t?lyv7S@#k^0{R}?$3D)iJ@ZN7RvDvlh z7i9Md`Q_SF-q-QIJsp0I9(k9aqMPSl@-V%Yc|ni7%TpBFnZReBfA2EyL5Pjvi@eJt ziEkL+$7ugQ(w|$zuH%#Kk9-B)Jf9_Beeh-U$h+K)Zk`8O2fc6?dgNX1pxB?&_{_7{ zi*{ls@kQR{7IgDGMm=ZX+(U3I4x$6MvV>_eg7qt;R3gZ@CcNyk&F! zD)uwzkw>`z-Mk%RTr1%`^vI)}<7a3m3!i!W_-A;}Ol%>($fKN=_@=pjnYWMKShndgM{Qk8a*tnAb<}7<%MUzDuz`!}!eGI<6D9iCxDRd6Wmy z&081s+=BbjBaiZ(^?bj}bK~l7@;l!3JQu9z`(4<)$y+J5vlic3&d1HdSXU+=%je|Lb`27Hk}xgznE;B!CSPk+jY72%8h zRbGbfdMx^B&IdRjJ=Uk3hi<;M{42h1g>%p&e{vSZ{$$`YUkk|3LSkw7B7gGChE)C< zs3#Mi-Y}Oxd16DVo}2jm-tWDi<9Eo!uH%dE0p&q-^L6m!e9r*)p-2AYtLWzI8TlK4 zFQZ5Pc&hzJKhA$QCX?$r>*Oi1i67^`8v}cu$z$l|c~?Ex z75E-{gYk=#f9Ul45_>;4@#hSl{c3mE(*2$))J#tC)J$!Nus2KY1y| z_4<5c>e!ncdp4%l?=1V|Rbt&6=hm;>nfMNKv>y%l&oREj0iLsn)!>&Mue<}@eBb{C z{yPfrHuT89T#atNH#3f1a20ywU#_Is&U$?2`$HG_9SgBF_#*#uN#a|D&wT#?{V5{0 z5?|zB&P6xh<*ciGcnNysU(P}|-#eI}rSKy3$iKXRVt-yH`)(HJT^g|$^Y&f&8M^u2 zPd&5jvro_?|MI;}sd@%CrS{$T{~5nuAlA2OZr_!!qMNUyyzd==FQZ5P|clh;sO zzh(H`Uz^_GxtmxqzSwW&!o-)s(RQbQGPPf1US(c>lKaM=oZBztN9g9ax|aPIo|U*Vl>l;fr~aucDjx9_kr_d(dMZfo*DF<*Y=7kC=;muR<1T~?&?A5HQgrjRnfY7^=b}gcsCGWEQDXqyKc!{RjKp7qbhaYFJ@otB-UOvcizj56x*xA=kJ}` z{+K)xtHl?;f0DPOo7V??AF~VIiXM5ED=F5q9-n#p&?mV55L<&U@+g-kz9M{|`>xm1 zev|XPgjgXy**wb25??Mp$L;x;PizUk$b+1LZhouK7s6@ik#G6Q$5QL;a3%l#*~eJ# zADdfe@)WxHZ$^IsPol?s$oJ7*F9Yn;&)|FLv3}&s6!+H?93B6D{NG|6zsmYJOl&WH z*>TAY=;m#thTpTnyU`<$a!u0S2F6nl@0iz~yp3WzTkx6J@8>$TmDnbHk!N{b;w#5z zUVnrBtRYs4FY+v}L^ofBoQJFZ40_~GE zzL+OD9o_SLH}x!rXXjm~UKH#n2dwridh+u+mYJv$SsHsTRpav7v zR1GG$r{YwkTBZgOL=eFoOr{$|5WyTo5J3cSFsCAjAW}7Ww_avaFZ0dRJZ>$h`w^5b>iukYvg{e8dR-yci1kEQ&A z+Jp1x{Jb_Fr=dEp~X*3T*X%5SPY zSWo9S)b92BNb`G3xuf=AJ)O6;`8cnt&g=I-{gJ*uDz~Y+U_G5*r0xaPdHw!Njpqw; z&#Nw2Pv;f2d;Q+gIy|dfQ+u$U&Q-O0{Z6zFb>)iMgY|U2qRr!ZTy znVy5e`Z<5ZbF!#;pXj;xl^dRu&L67X>-DVW{ju@~Y7f@W`9Pb;(^H+->!O}d@5*&m z7p$N2p4z=$8|tU8ysP$L{hYT7`nlrv`0L~A1>MI5{ajI5&(J?|ep#E3^P=iJ&;PBV z`&I4>ste}r{Jh$I{@?t2`uz^&=hPlt56)G!Z>rxr^>z5F@>6Pe_HmrAX!CKN;5eWA zJ-rW=d;EsuIA7*CpXxY|DL;C{ahx;S{QQ4Fb!qkgnOcug`0} zpiBg2VuEeRTo_U&QogN(tMuR{BBncsomM*asKL0kB@iu)8qO5 z=I`tK*K(iy^!52Ue?;8}s`GsOIU!$>dtY_I{G8uayXSLN<9<)Mr}kie&RuPu-w7H*(>Us$GNQhu-ct{9Os9$`8W@7oWIl5&*|kZ-EbV|`#H|-n$Jb$ z#0|%B-dq|V=RSR(>eVH^4_>-{9OoCc`8Y4A&g1`c9cNAMdDR8;aeh|qUeC96oadBR z)E=y_^X+PnX`OD;_p$C!zD@1Uo{#eb;$D!(c+&}yS zooBg$>Vk1N@2lO%t=+Hpo63E)2jg&lTJ5{~xx&Ri(|J*TO6|_R?ws$qte-<@T>d%R zotHK4%lbJ4<8*HRv^?5ru?YdojqUY zy+yq)SN=%tZ!hZW>7rhj)9!qq+C8q?q28}6->dduoX**w(C?e8zV_q#dHYZ3IrJ0y zeRKAAPHNM!K0mLzw8nMQqdNa`_o~j><8Yp%?oQQpwZDI!c9+~8s&jUo^JkBa`+MWj z@wiV^w@Z+ z9$XjBGunK-n^ougec}i7I#%u`)dlyz^T$6vUWcaW?`JW2Kh^PGliO5Xu+GjeQrA+Q*X^lGdOauCR9&!+&W~&JJi@9Qofp+b?BPTvQVdqH)W_}+H}!-1eGR$Ke)RhMoNxNkaouOR@%&EpK6FCv)7IUlRt^LbeJ&nG!O z@6{g6&v~HD$9qq8p3lEn)6YTW`l<`&=lm9RZ>Y}m`B=x>ll!vjg84bO)$aLhXx!V% zn`#f{=lqg3A8%E4K3`WJ(9db)TB-}qpY!gIjO(_4WIVt7{r*&L>qoB7&-rDwdp`bs zy0-F5Y7ge;{DL+guc1P{RqOQD!+M?i@b%a8&KY58gL8Z>inyYmPOJJ>^%_9=y+SUe)GtTvgrZa}+e6hFn#3!Tsx8QM=b` z?Xo#SfvIxJ}33(9k957x!`E^Qvq?W*&7`+aLf z?l#p0>+gK4+Wr3N5%qJ2@|4rtrWkTcFQhrJ8!Fh6iQJcrRsyeUNpKJZrU>T0U{Q)p@TzYe|dr0!q+o>X4XyEVDyle&NTy(#C0 zHXrYr>O9~7>#DvFA$L`E&YqX^Q)>4-2H&Nh`zT*gdoVBOC)MtGeD!bZ``OA*s6CjM z^J8kC)W1i1@g02~P`<2oXZP>?h}!*kJ6=-zqskAf-P!HV52)S$p6PY9Kd5|3?app@ zzM#$D4?6t$@x0&pc^&VM^?eN8zXx*NpV#q}{kqS2Pn+kxqdL#?zy2+Kzh17Rx?tYU zTWa?_H|F#_Rc@<2n78wb+WhtY3DNysCg-$YMaR2c*Y~4xS?%ZS<2z^6o>xBC`0~nW zwL81r`98JJD}Sc;`<3riyR+M!r?mNX+F41j`Na1`AHQ4D>uY^3+Q)jo@s8YHNw2S! zy`S^z+WdDBH>sP}>(sW~#tn7O>)PC3OLhPAt$M%yvR?1VHC5;Ab$7m|cHeIuy$)z7 zUsZc>|2aRU&HXH^&g=ROzpeX1?g`Ze>+HNlU0!v6r2hYbj(1rur#fdJ&pEAjum8>W z==ZyoFR48^AI=xG`FIJ{`F?p%b@$7~RTtbp&UdKY>+%K7|4!vuwFm3u{MDZu_w&im zUHH$>-oMFx{Bsw+=f2H}q zE7w(BFn{MasC!*?udDx0b-W$9*Hq{1<2k>qcF(u1d9{^aQhP9e=QV9U-t(&Sd@J9h ze@7(uoa%!4J3ppP*Tm-+RTtBBwWsIElH4PzbN2P(oTcsom{k3&+WV?c$t|ef+4atM zsy(e7*7Gl>e23bd-R|6bVtm}r6Z&^(dLOv(uI4GX{e=D<8t+$~Us1cCXK#JC-oGoq ztoGpf=DenMKVJ^izOKBg_TYKr{G8hToWDc!e_r`nwFl3A=bGBrpV#+|VtS4%SJm$9 zaXLSu_KyCpWlrD6T2juc-FdVw$`7c0M|n~0i^`YO?(BBwi$1<`LG2mk`+a=co$pio zrpEW6#`mc5y=r&%{?7NPeOL8G?VnS=OYP2XcOL%i_<6SvJEGb?|MJgj+*uUFP)r;%CR$ftiaGg0U|_?!QOw7xmm%U0nO^%k_$S?z5lsp4!hezPr`_w(_ppo!zhVmNt*)71jB= zeL>@XRqkcg1=q3jbJW#UH&k6-{WauPROjseoFAs{4$;ruo5-L2%y|8de`fp~dRy;* zK9L*#%=PDx^9S0z-#&FmsymSD-%#h=)8_NBtGe{J=-*5JOTAu_+fkjfpC8Vzxn0kz zhVIXf@~duF_IRCN(&m2FROjpA&wfYum)r}g3$736=cv1;y3c0x?~Zl6hTK)vIs16d zPpRG4&HMN2`%=nR)E-<%&LwR=-eaos^J(+%>gP&wmsJ-$ubgvg_w%`+@Au@DvuY2X z*Uk^nenssMDqp&x-FZTrk8}F?_<8hDBIlay^YWMT{ zX^ro0*R_94Ii&XBb9|l8`T5G?^7#B_m&bqq_#S=VdG%>YRNZox|=&UuR$G>2;6t zZSIG!yUw?$eW?0(wg0WklWKSN{>~TF?!R~3`&;_`4dwG+xc>K#ozH$@JdPpk|AMXq zUEeR>t?zHiy{-D-?+iG>#}l;2RhvybQeWwrb7Ge4*H_my8)d+_&~onKSC z|2}j2yL2BazpD1&?=?HGYa87^s`L4oR6lESE!73*%ehJ2HP!j=FPBxVo^$`Ej-T?=L^C^L0h}vf6{c$L##5HjgW%y0@lvyg$-;mAj}q zXFork?^nB@KNs|U(@V+;wFl25=eXK^UsN=XdF8v+9^5C+cWLu+BC7NA>Bsf{E-H7s z>VoH$^R3j~thztc@qb(6xkc_K)j4}S&Y$UhnCF?-dQT{Ss`p{Ryq!N$yYJ(t^*->c zdQbMT+JpPrd8p0f8K}O;8$)dkNp=Y6&NdC^iohsu4m2hR`Zt@4G5f2HT$ zE27^AT@(Fz7Eg$NAD9;Xc^r3(I(MJHqpbH++xokp{yw?fY+3K8lzm>EXS8`-Q>yd2 z{M@hW`j?wjU9e8h6KeN-b9d?cg39N=bbbELAO4d5eZJ1e%ep^4`Xzn+R=cy0U4(9e;T_tYL-7tXI}dsXB9g6R1@Cwg2}?dS9U=7N5XDOb^c!FAw#MeYAVU*~`B zC4C=B`3bc<`@A_9w7H+ls`Grl{TY3qNG`9sV1CY7>K;&CSNm7gUqYUx5^Zjb~ zI^6!9`aY3zLhZqI;2hWHiNJ(#ESJKB7_J=J+$59oS*TW(i% z!91Po)KyjI`TUiRcU7*Ux?q0JPpaMX>1%#v3FHp98O{{VnA!wFl1y=eFAY+&a-Z?<&8n_TV|@ z{DRuk|3dfGy?Xtl{Jh$oeP200^DBA}rFD56X5j;(#~=Td3t#%JZ~oeeA6(Nsc0&x@7cQ+u$U&V6kj&z|Z=*JV`KrQELSg7fCQqxR8xQ$Jnhj@tkK^QPR==I3iw z^!t!9`LgK0Tatw-c#r71yF~AI6Z!m?$K(0RFJJi54{M%3sh~8&~>q<+)#UP9-Oaf^LUSy}tQl zeLvy*^?F$@ThZ$qW#1pp_p5zX`C+wRQoc{^&Te;(sJ*Vdr1q$CSnbYkcm7z{by4|> z+CR~CJk)jV>~`m_+Wq%%PWSY6P5Di=JNvvkzpVZv%1{3HT4(jQuKu0f?!2b$+cdvb zaZ-G>I-cJ(QOEdvt*Y_+>$iTdWJT`js>aXPZ|4+s7gbl6zofcLa`UQl9?etvcD4KK z{*2lq$}?&YUI#c&YxDWKS#`c%e&Lt(I!Nv&)dkm&^Jl*{zAo~2=hkiNs%y)ws?OPU&MmcXeXCwa>Ur~ua#QWjUVrC?+Fw@w?4RrJyeMB&yR+M! zpU`%$*CR{tqWJf1NJ-F|k7u4?a8Q1H$wDP># zgY)ZruQre8F4g%yKT9T{mGi}4*S)Lb%!}VC#>MXv?-qUh$gk`BXqv}~uEVHY_}BG)G-Y2G&a>LQ->uZ& zr25qt^uG7o^!`rng6f@J?|iOn+x>qky8mO{Co}3V^4Ik|mmBInady4)ht$2VI=}yZ z<6HDPO71)cl;?zjIxi_p6EC?`hHdEo;Ah9d}XVFUys* zpR@OKew_Lx>T{}ZX&vs9}X#s_$nhKcIGJw>!W5%y=H_qQ~VtVWUsAireL?ehNO?i+!91MjwfXq>iavf!^;y+NR6l2@dS}nu zIik(;y`B17RPXDrrt>u;ceCn)>(M!+&HaB>Yv%q>wXQQ7@2tjqCU>HBb$0*GA5r(A z>U{mZu66i|+y|-)u1Dwhse4CtP3_-NfBSN8tIpZ|IlrZLUw^mjx_DQ4SM9;|=zRZg zjL&02^t|RokM}Oo;|>4Dg)gmXeif}pL~iysE_~71{X5TS^M1Ebe?j%0e?#??a$mh+ zJ)F;2k55GRKh*kp{?TvO`y06<)d%b0`~h|Esm}9%^PBa$O730N1?%Db4t2Y#+f#p^ zslT`6c2wu=@j7?Z?)k^Gu6xR_sXbT^=eIRR-=BM;=d~kxJzf_*-nQnK)b-HNdTz;W zYCW9Yzw?GR@Ao40&$Axqx(`<6o>P5reK^;(x&N!wS5)u$w{F+ZvE|CD57xu^N$MU~ zo#%hA*5e7e$5a=rhx29Xva0j^pU`?dB9~EJupZ87wR`@n>L;gsN$tUUI6qn&uSZVw zyfUK4`+(^6Sg7ge;`;iqqw}4Vo3H8T;>unR=Y%%zcMtV*4%WjnU)yl=XP&R(;=G?voqV!}(+C4q1=))!$d-1~;sS z^8xEIsr5Kge)op;aQ;Zg^!0HhdR_z3<9$!`IC>gy?+^9d)cpE#U5(e->*2ho&HKGU z{cEhpK-W`8?$sOC!+BGi`+tf0Ro0`duYYTDtsBA1qz8)UbdORgpQeAL;I2YCK>!G54%F2(aJ-9xcpZ?A9dXz=at0a27kBeT9#oyH5 zdDQ&tT8|~U{BP>-JhC3nIc?tWA?h!w-q%A$>yehbsQTdgaGuxZ{_mwerg~owM|%Fw z*{MFbKAi8M?l#qV{#UDuV>UcduqUUuk=kb0jdOeQSe_!+W`96^wY8=kKKAexVdA|>+e^>RM|Bjwl2XgP+ zupZ7`ZSMa~>N~3U{Bv559l7lr*2DQ#>Rwiz=l{vHUT@32bi;Z$zertEbzYCVwH`0X zHB=W|AI^2P`+CT0JzC0F)gD|Q&R<|XTC7Jy^mwm{UXSWky^huM;y~+BldD|S>sX#2 z&Sh<0k0+^rO!Z!mIju)g?y~BG>%%#(&HX=2eOmQik3Bt~GIA-^2iJ%5Me6QTo!8?r zt;hXx_o^`a{HfTbF=l||s)9YNhH&qv`hw~fMZK=-lzgg??x?Edz z!Fo7vs@?OS*LrL#zohnHJ)FO+`S^Ld&Ai&8$NRGA`K@U^&NTm=)?;06RqNsG`^CAX z&Fk?T^;cEz`A=y*>T=JhK3EUuiZ=Iuh5DlEJ^u|opGtBC)d%b0e3`mOROk6$(t129 z_ps`M^>BWOx}@qn|EIOS56CU3E?5ued9{1~o9ZW}e6QMr^>DsL&!>_$TAMcWvDNt8f)wy{5losQuS{e&wpy^mh#D&$*(_S{?pAtR)v)>-~|M72+_q#{e=_hi- z-@d+|^FW*Tdr$O!Z;Kx19(-N&I9Jt=$8}BpyeRj)`U%GAe3iNi$JYb$!)&{rvTOU+!(y1?%bjhBhCsBl>tRi{5XI{c758UG9Y&_H%wtoA;}W-mjwi z)<4zj9o<*Y$dy&^?DOV)nYxEm7twgS>Nh9%pz54m=bX~!elJpgkLtr}KT>@{?rzmP zyWV-_cgOd~Gosh20`uBWtxBjla z9xyNGDQ)imChAY0)%U4%|2?SZ?Pt&G{pGXzJ{9+)^Re0!8vnf3=}h@Z?arQ$^FW)& z{if*o?2xxaALkWvllEuHRrTv}J@gF||LUq-Mg0cjbiSg^`$&-a+>+{p^XR;&cAq!D&L}G9)E=Bi=LfZUeJ-l5qVeCW zpJQK=n^&E)=k1(Od#9y!`9}S|ymDOa&TeWez=0~*&IaxbM^PHKkuE7 zwD~-I0Cz<{KQ^?VpPNr>zgOg5)PBKp)VWIC71jB9^or`9k}Ih$cs@B7w0ZuQMUO8d zy8lb;_rCUfKyKlN{hZ_4yx-lT_q#*%IA`Ic=zfOJjmLSP*8k(@^!59>>*I8OSDWj) zs`I#Vs_V(Usk&gC&R^E%<86yR-ixC5Yq4Kl`>o17cf)?p*R*-Rn&|z?qR06pToOm~ zWt;=`la^b!VVur)Qy1ZQ=cLf`rVRyS#`nl-g#Y{`~9pj zp7$rB`yV#O&;7a2>HAW0A2zN(_nmv%{JNzMFTxM>9DYkbUwBXaH)5aX@>`;>`yD;c z=QW=4E&4gKTu0AyXOG)?i@FE?>3BRBMUN*6Z-$4@kNw8;`a77~zw!0@xr*G{^ZGlO z^yj>y&FAwe(dV(GdS5qNs$Z6ST=l_qbE7>)C|dr+;w$_|6~y!Fd0n=>6YQz0d3R*XaF<+`Fm| z&a-n*o7dGp7||Mr%x@C?Kg>xu1*hQ*oP}W+fl(NPb1)7Qa2_teBuv3H%)l(n!8}}q zORxZoumqQ38CGBw*5C@P!v#o!!6b{>?Z{zZhxr3M|8ASb{}ZfJ<;g^m$%`tFQ%|Vo3irU`O=- z)N^e#uPxE@>Wl8D=SKZ^3d3sj|C|-Q4l|-d^3PLI1PN`)$-@81%>h%eyt_#8fqPvMjJ1$-PohmYaI_*wi6eiH95EFO<<9*^gg zbw6RJ zO-_*)$n)eld5#<@-%sh93oGU&*<+|^!~@> zA^DIzAn%j=&lN^X%GT{;_&RiF7x4xB5`Gb%$FGuGdmT=f2D;$ME<#MG(i{lYho>t{vR&xo#%iLQ@|u8)YW&x!6oE4n@-x;~9h z;gk3!(furnf2Dr%;;5f*9PghMNBfgga zkcZ?W@_>9m?vs1uJ@PKOL*6F0$@)I;XnyPDHFAsGB-hC+^qbe<=DqACd>;eR7}NCGU}U z$Q|+)xlP_6uaj5FEpmfgC)dbTa+$nLE|Lr6MRJ~;C1=Pfa*{kxPLSuwF>-_)CeM(k z$&=&|`JDAU6TN;XlWAkKv>E2tJIT#n0fU@l*Iodka%deuzK9AL0l21N=U|kMH5T_&xkCeh1&dZ{xS{ZTu#F1AoSRPMOb%=&$E9 ze{FpKO~VCIyMz)j4(DJ@^mQGDS-2*89acrJPfPUrH1Q359lwIF;j8!xzKmbSZ;{(% z{T|L}{5{dnk1jkFJ^o{O1P?`zTR)c`adLXhis*5dMUQ(~^tem-BEEoM!Y|_U_#8fq z&*0Pe6h4Vx!0Y#`M#oLy}+e+_&czk=Try)L_O2X^4G=yf`R19%{M zo%Z4AhcU`A|4>H%Wnl%b!;%K$bu5Zr$Aai}T*5En^Y|QIzYjI4&*0Pe6h4Vxz|Z3o z_&9zJAHzrS5quawi=V+yls3V!Na#?Qw|7=jbDss`wQJRzE37Z_jfKox_`vc{Uh3+;E(Y` z{1N^TKfvqv%}4$0VFTvi{HU_@Z0z;d>g-s-@vcq*YI=9CnkD6`uBpP z>w6YIgP+D{L|;c~n1V@I7QJrzcQqpxVF50QUe85X74=96RmkhG3s2zEw~p6gQS>_J zMUOX!&*C%qG(Lq-;urAqc>VtQsGm4~4j;ou@%ndoqvMA0v-lbOG`>t;CYMCrq9Oe| zw9&fN;kM{?YQqhqe}4OT zJZGZEb1IHr2jh?NL;Ml`5I?{l;P>%;d=KBn@8NgxJNOQM8^48b<2Uge_;vgmeig5O zuQ?ij6W_qs@hkWmzKXBl%lKt{317q)@Jskbd>)^}XYm<)8lS=^@eBBQd;%ZG&*5YE zC_aJ@<7e?R_-XtUei9$TPvFmWefqqgiKDOMqOZ>r{4surKf)j42lxa0KE99d;k)=f z{4RbzJU(7R^f=<8@9!u+f)C@T@l*Io{5jY68Q1rz=zfOyBm5zLAK%CK@VodOdWh5nsSB;TQ3Fd=8(*XYgr!3ZKL;;OFrPd>lWAkKv>E z2tJIT#n0fU@l*IoeE5#>`p$}8-x<;O%OpO8pTM88{|Wmai>^P!5AX;09=?m;!{^kW zujeexz%)$3BwT>=FahJRD*E~=!xAitzP<{u38Q~we0@bkUtjwBdZYQz;%D&F_$mA( zK7^mZpQ~T@b0&HnPsP#KPy8`{h(E#~;s^Kx{64;q@8P@nJ^U_y2j9VO-RNUr!(>E#8c7hc7i{~5Apl#-)H}x=<8t@zk~1K+xSiV z2L4?1^>7AH;R!s3Lm2&z@%0dfGjLk;^)MCi&hb1ZMbBe`e6DuqQ_=H0ArHy=yGf(= z0r`O3C-=yEu*N%I!xoI@RRruegc2~x5o8nqOapq(fyp@kMTqN5&jTAz#riE@qN7he)niRUHl$? z7r%q=;J5Kx_%?nMzky%Jui;nmEqoK-z}N9B_!_>7ui(r0Wqb)=#24^O_(gmkpTlSI z8GIU_!YAWL z~%jKT;E!&x{3r{NTwgdsQq&vhI>U(VnuJb}k> z2y@!c&yNgD!K4_{e+#e(o3I1dW8>>!P4soJD*8HT;hXpdzK&nP*YH(*1z*N5<4gD= zzJOoCFXHp~96pQB;M4dNK8atz&*KyLIDQTv!$B8ApTSS#r|^^b5PkxGuJ!b~ zor$C8sp$1Q!5`y?_#^xwet{|V9kp6fWie@-~wv1mWU5AX;0eS8>u(+=U>wfD7>vRQ48vJi5Pf|v!W_(szCJUsB6{7*qStL%^!%El_iu=< zKM`GbEV^zey6y;nh#%k&@cZ~azK8GP_wc*;9efABjo-qz@%p@n(fC55#}|jW?;4LY zD|(z6(c{$TNQ}mx!YA-aT%6W_qs@m0M3 z4$9~}mGMP<0l$Pl6@5RSz+*UsNAM61-~rr+eHfk_U+*(;3Qmf?{{0WLNBr*b^)Vs( zdODN$^>r#bACrgVL-K&UPwtbu zNY0b9~Khxd;nz2`<7s)aMY5);9|?Fbz{M2^ZizOu#st zgE1I|5m*-ezIaGJ5`A6=WPNVlDEG-d@*a7Y+#zq1+vH91I(d!UA~(r(@(Ow8p7HfQ z4X5BF48aL_uKh-@x8S_IuhRsK!#Nm(Q5bX=ScLr z9pVT01N=U|kMH5T_&xkCeh1&dZ{xS{ZTu#F1HX=6!>{67_$I!Auj5znHGCCc!7qHz zc%Jj3=a~@w+>7C(_y~RmKaHQlPvFn#_e^v@C3&B}A}qiqxCrww2eYsx`usFt9j?Hd z=<`+$7$484B6>c{-{>o!TA7Tq2feci-FUmsb~_jN|}dZ$J2 zR}x)Ugay&{g?qu?3u;J!He`ba(!y{;$ZGumhW?)dtc7JXgJi@uH$qR&TM^nN+f z*HIQ`MAv5$TyLW5lH>()f*dEu$Wd~bJWHM?Pmx393G$haJGxH9(RD%|k`KuP@;|i`*t}kk`qpu9IuzD!EKvCND9cMdq_j-hyqo2{+(6T!X8y1)Hz| z>u?3uU=>zi87{*TEW#aeM(1@%J`%m|1M&g6PwtV=#nI~;IQjR+=Pd*$;IufS{^H{3 zc_#Y0s)@c1tD?_$Mf7pY_+@+vU&I&iOZY{69-qT!@fmy?-y%234e^_G+_vcXY{Grf z*Q5(i`*dB$u)A7TqZA*i{t`%k(?)I$r*Br zoFvba6XZE^j2t0{$us0>@+3J#KG!<3 zVNG=Z>!Po_Rngbik?8y6Q1to^L?8D6zmM|M-^l>xzG(Lq-;urAq_yj(VpTo!SQG5hnA{WU8 z(f7%U==s!OTl9Uh0oUOgTopZ!R>1Ec&!Z`N9(D2xxk|2(m&qk^fvnHH8||Mb=g1jy znw%srkQ3xMIYy3>!{k}=G%1U(za`Q8t%$Cx!K&!`O}P8_$NTMw-mfEizis>$zK!3+Z{XMQYxq@s z3*W>y@OAtOzJ{;jEBG>g8DGK|@df-6ei5I?=kQs42A{^K@JajvejcB|$MJLc7(R-R z;KTS?{0x2?KZT#fhwu~lbDa;b|C#9ZKNWpGPw>b1A^r$|h#%k&@cZ~azK8GP_Zdf@ zar8t#pN>U8pN4Se;`sWRf+08|`Z_vS-H6Jg@rxe+3Hg|OL_Q=RkoU=FahIm4#r>$vvA$dUFC-=!+@*a7I+#zp~+vE-MI(e1cA~(o&a)t4h z8E=o=g?n%p?!XS*hFh==H{k|chih;ZwqO%BU>&Z&8r&Csy-r*juj{$8*Y%Y46Y`LJ zM4nN-ud8VoVgE3kg)!0nr^V6NdC}L`s`xcxOZ53{iWkHNzK&nP*YH(*1z*N5<4gD= zzJOoCx5=C24bk_>p6L1P!ei0nJ%WdD01rgZV;@fZ!*NcCo>yG-yynCUVhkU}NAN4; z8o4TZJj?hJzKCDM=kYmw8lS=^@omxb*nsPz$Grx-@Lcq`&&1LFC3@T^_+$JKzmyu+ zEsCzoiyn6dpT?)~^Y{clj*sFa_%MDNKZT#f*G12#2CHI7|5e}y+)0n;(-A$NZPDZ0 z!ng68_znCzeht5hZ{eHx2ELA8!PoFrd<9>|FXK!2BEEoM!Y|_U_#8fq&*0Pe6h4Vx zz|Z3o_&9zJAHzrS5quawi=V+yqfBuiSp2X4hB#y2p{4surKf)j42lxa0 zKE99d;k)=f{4Rb6-@$L=xA1NJCVm6Ij$gyC;#>G8zJagfSMW7_6<@)Z@yqxUzKAd2 zm+*`DJU)ld;xqU(K7~)>7x44=1U`7ui(r0Wqb)=#24^O_(gmkpTlSI8GIU_!YA{67_$I!Auj5znHGCCc!I$yN_!7Q|FW{H(i}*Y~htJ|O_%uF+ zPvRHw^Y{clj-SKF@KJmOAI8t(XYkYbDf}cpgrC5l>+A67^@R9!KL6tA`Hw%w5AjF% zL;L`LfZxaW@jZMOzlUFXaD2Q)(Z|b+qt_+)G(Lr&$0zV{d=wwShw;<+Df}e<{6FG( zCyt(XqK`YoAK?%2`}jV-hu_8T;5+y>eiOfeU&XiZP5cVJhOgq6@g;l_zlhJ{bNDnq zg-_xW_&9zJAHj$5v-m0eBtC>c<8{L+uNzK8uiFv+5I?~8@jZMOU)OmUy)J}RF{J-0 za8va4xFPy_To-+wI^=EgF1ZhT_yh6~9^p^O6aVq}ea^YE-|w8kh`h%YhO?r_)fPRT zP0{1o5IvrC{2G20-@-TX4SXHHg0JDL_zJ#^U&fd4MSKCjgkQwx@i}}JpTVc`DSQ&Y zfS<>olh4Sf;^_XsAK?%2`}jV-hu_8T;5+zeX1vZ37>2W=*EOxtFX4;$ z0)7dRAK?%21N;GgAK%CK@Ll{Keiy%k z@8GxbTlhA96Tg99$FJd6@hyB4-@w=LdFG#E{#nu2PfhfBs=%`7^K~G4efCAKPha%< z^zdE$9)1_UgYV$C@mu&deiOfeU&pWESMe?Uk?3(AihrrUyFU;;&SZ8x&IQrqoEJUL z1U`7T?o2Q=-RN61|>9(c>(L9_Nba z`kLsvUD0(rqU$=M>$dS*_%?nMzky%J@00uFp6K&^F8X+<@I>@+7k+qr+PZF$6XVB+*N!F-^4fYb^HpxhOgo) z_%ePOU&0sh1^g0zOY}I~;=3B>rs#1_Jv<)gr08*mM2~X>u zMUTHCx}UP>ewOhid=Xz4-Oq~X@zg~3vk3>H`#TWb-@fSn`uHBci$4|J--+mcR(@o> ze@*oMRnhxb@MZimzJxF03-~4cB0i7L;j{P*K8;V|llTSvJU)SsT9DSG}5@tefD=yeF?#_KR4dL7QGKNG#ar=tA{{un>RAK?%21N;GgAK%CK@Ll{K zeiy%k@8GxbTlhA96Cc*NJ+E2O^GU)9{h!aL+=!EK3QofrI19rt0;4bn=U^Nrpngqj zbR7M-eZ(Y8LB0JNdA&RxQIE+HHQW*Na1k!S0xZH3T!v*>fmK+8E3gh5unAjm6|TW` zxB)j|8*agE*nvB67w*9>?7=?VhX-%~58)9U!ee*>PvIFnhrW16=O6lWI-P^h?VKjh zz**?e`E*?b`g1^?V{i_}VFJ#>1(<{>n1&gcg*ljqi*O10b3%Q5e{QH*g3GWBE3gV{ za0S+312$m`uEI6A4maQ?Y{M_k0?xw)n1m^qh8dWJIhcowa0wP*5tiUGEW-+{!WvwGb=ZJS*n+EY z4X(otxCz^E3vR;>+=07r4|ZV>_TfG}fCG34kKhmud^J#PBJPba^ zc8OeoMOcE%una4(3Tto$)?ouSVGFLpHMkBp;3jOtEw~Lka0l+fJ=ldk*oXV@01n_G zJc2`b3{T)GJcH+O;->L>`}1$T?vv1;kL&Eu%Qa`9KTp@$pRa31U=+sS9E`&RoQDfA z2~#i)GcXHtFb@~u5)3|{)}L4Fag|{3Ikx^>Tl)$OKJT_hUV(MkfKAwft8fjj!wt9z z+i(kR!w%emyKoP7VGs7mU>as%7Up0cF2W^PfJIn>%diY9unKE%1=e8$Hem~{!ZoP3Q4=5Q z`!0H%PW+iTDf;^cQ=;zCscG_z_~**ApmGGia(Q>KQfF692upD(YD^wI+IA>u^K-Kjb&bZMX%uVF&KOUAPCkum}61o{3ZY z;{PHZi2nZYK>WAjq4>UdBzinUcr5CfJ9R=ng=g?w{NL3+q4!bVFC^+&J2ff(2Yc#5 za1y$~_0w<$&cZN^z$lEtIT(itI1f`W2^U}<=3o|PU>bT{{yve%8Ms_qK_NQV@cU{ zi=yj1FV}fq?#J^o%cAR+Mc0)?*A+$gR}g(3>Z0pbMAy|s*HuN=RYcdViLP4}UDpy_ z*A#uc2HX-|*A`v3DY|Zh_I0=?x^7o=-HzzGj_BiVi$3mw=(>H;b$!uwJ<-SQ!eh~O zL(z3dqU#Pt_csvTpRZTfoh!TUOmy8Tbtlx#P&X~QZc22WuWujM*Si@L-CtC6T|{(U znD$w?Ai8c|bX`JpU0n3|=0uM#E4nTtx-KocE+x7yDY~v8x^78y-J{Veu|>&8=~v#qU%;f*VRPVRpGkmx;4>ttD@^#qWfvWZP9gGqU+kC>o!Ht zV?%VmUD0)WqU&}=*X@X|>xix!h^{*jUAHf~t}ptyJ$NFz?pSo)P;}jq=>85x_ZQNO zA=iyw6si53x--%Jox)k_X8htwbms6FdrpN#_nQ=5 zw;;N1UUXeTbU$&J6J3`TU6&DEm!>@>y1%06x`ODsCDC<@qWjCks_43k=(@7#x@Fo+ zqWf!#u4{;{tBbB%5xssj(fw|Su3Hyfw8x~?m_ zZclXGF6}#_`#lt0HxONSAi8c}^!WOs`#lw1cOts(SajV`bU#OMQr`z~T}X7@gy_0+ zwY$GF(fx&~o271sx@pnQEr_n07u{b1=0(@# zMAv0S*JVWamloY$NpxLNbX`Go-ID137GX_vT~%~lMRZ-6_GQ=-UDp&{*AQJ-7k%6n z(Z}5sUAG~+Ze4WUn&`S!(RDkb>pG(Awnf)%i5_1Y_C?qAMAvmi*X_~13y(zC9g40S zh^{*jecXM~$2}8WcPhH>M0DM;=;IEdzree0QgmHNbe*0MqyElS=l&wpg{hmRZbo!} z(=Z{rzqsiB=0x`w6Ft7D=>F28>r$fYlA`MtME5rj7e&|QMc3s-*JVZbml56Hvgo>! z=(?ilx`OEbmf(u$x|-;^s_43k=>E#0`&<40*n9uDI<7kZe=ejcZBt7%wzx*6E3Q=2 z2nkI|L?sDnNlTJzAT6y?AaE0~H{9EMFDVoz_sq7E%Fo z1}SzWkYcw4Qv6wz6_8?A4k>mkAjPf>Qv5B46o0jlVpjtxc2$sKw-QqPRZ=!Vid`e5 z*fl_kT|K1utAiAO?T})(3sUS_A;qo*Qv5|JGmv7JgcQ3tq}X*sioY&M@iz!5b_XHF zZU9p34nT^(e#*m;VmAUQc84IvZWvPh4MB>(aY(T{3MqDDkYaZPQtU<{#qI>8*iAx; z-El~{#6uSnxiromL*d2nD_8W#2 zf5#xjZX8nVjzWsv7^L_)LOBH~b|)akZW2=LjzfyS2}tpG3R3K5A;oS6QtYN7#otNF z1xT?w11Wa%kYab5@pF_*Fn=L-7NppnqunB;SNSLsZUTJr#?k}lKL$5Y3lRT=cq4IU!Yzh=h;$!NW1>jOQ}~hsj+s4r4q zpk9LWNxS}#cKxZBQm>?5PQ8|T74=5y_0(IbN2zyHZ>Qc*JxP6#`T+G2>ciB>sE<;g zpgvB0iuxq=S?bf&=c&(8U!=Z3y#$rF>yJNn{i&ByucTg1y_R|v^+xLT)LW@XsdrOv zr`}IJNqvy|0QC{-!_>#9k5ZqYK2Cj#`Xu#P>eJNcsn1bgq`pACM9w>;|3ljKr(R0E zl6pDyTIyBQ8>!b*Z>1ik-c7xodO!6f^+Da*0Rsn1iNqrOOefqID?XQcj+cKxZBQm>?5PQ8|T74=5y_0(Ib zN2zyHZ>Qc*JxP6#`T+G2>ciB>sE<;gpgvB0iuxq=S?bf&=c&(8U!=Z3U5=M_{UPo8 zQaEnH)Vry-Q}3sqq&`S}fcgmaVd`VlN2yOxAE!P= zeUkbt^=az!)aR%#QeU86Qo{N}+V!ViO1+YLIrUoVRn!})*Hdq$9;Mz*y`6eL^(6H{ z>I2kAs1H*gqdrP~g8Df1De9BdXQ@w9pQk=YeUbVC^^%KNe@MIj)Jv&XQZJ`oOTCJE zBlUXft<SNSLsZUTJr#?k}lKL$5Y3lRT=cq4IU!Y!c zG3yU$*PnVR^-AjH)N83%QE#MPPra3TlzKPycIy4qlhg;P4^SVWK1_X#`Y81Y>f_X> zs83R#r9Mr4p86d1Md}OGODa*0Rsn1iNqrOOefqKa@)*sTYKlM`TmDJ0r*HW*d z-blTkdMouP^=|6z)cdI?sSi>gpguxLb*LsgF?~r9MG@ zoca{?N$RuIr>W0VpQFA=eSvz(6Ig#pyZ+QmsaH}jr(R3Fih3jUdg`szqtv^pw^Q$@ zo}@lVeSrE1^p0MSYU`EcI#X^VH|4FH&EiUUC`h4{6t*dMWiv>gCjH zsaH{Nq+UeT@1j^$F_Z)TgLVQlF(hO?{sF9Q8%& z3)D+WS${~o{?tpUS5hyhUQ4}-dL#9E>aEnH)Vry-Q}3sqq&`S}fcgmaVd`VlN2yOx zAE!P=eUkbt^=az!)aR%#QeU86f=Lj2|A(~ePra0SCG~RZwbZMqH&U;s-by`6y_Vwn=sE<$|rane}l==kqaq3glC#la;pQb)feUADf^#$rBPh|Ze?fO$MrCv$B zoO&(wD(a2Y>#4U=k5ccZ-cG%rdXoAe^#ST5)Q72$Q6Hr~L4BP16!l5!v(%@lS7M$A zL!G^TLL@HxaIu5?R}8PGtfj1il=uNivG1a6r`!c8@kgnTQVvrNQ4T_ioyoKPBz9hZH-RKN9~L$~eR2zO96hQjRcO=7}WyB&FQ%6+g?_ z?ieoYaRR3emJ}J654Nmfy!0CxM^-Xi`kmNGKNCMu#y2s%kut;hB;(@@@1{J&_+iEm zF?^8n7~{tof0W^4lrxN%>@F~i(5{RD#NWn7%%6T=%RGZKlPB>qTzoZ;P+ha?g|!}ufdLku6JJSLI&8OI-qKg#ei z${C5o&our>{7HsSQJ$4Z{4C&)#GhgKJmqrC6H0t3=M9%Z+V!WbVSE+iS2DbkvW4+c z#y2s%kut;hB;(@@@1{J&_+iEmF?^8n7~{tof0W^4lrxN$YRln$ZXM} zqQwi!PDjoyDJ?w~fraz0q73$}$1WI)OhzioCW{U)ttwxPoVv8Ga`eL4i>k^`*x_T5 z(@QGK7K)BtSXVh&d#AZHl@Zzo|1CgfrqJxpR z3YE?8{2z-@IgS75 z(V~H(g-GK<@nG=;B9BH&XChM$l^rgs*>wcFM_F0L zSY+^tWy29j{9RF2I$wl8E6SSilbOC`p=k7ZHC6Q$O%+Xb4UO5K2K+lwJhyZf2ZSR_ zMwXr|KD}i8*=L?~qIlw>p$n!W?K2k+M>30%Vc-AgnTrlxaQxzm!AKQO9j&Uh5la^1 z_kSQ_l|W8@P|2TE7FkQJBI|Y6D7m<{$c`Vz3A}_Kx~<4sfg{n!*5N_>%Z zW1G@X;{xCc#D6GNWL<>t*?yJ&m-~yXi=j^p7Fi9*@8Fw??EI%F$8Z8wfpDDGSWk$Q zND<`|&NkOzK);zR>vH##<=A+bybDP_OOAtoLYDg!OOZx=j)GT_Pk^_RXTTY<+<$m4 zxde0Ya(*glSAx%x4}z;uPzkTYJoO#qD$Ln_h}^Xd>t)EhaN+V~9K6MT2J>1Q$ugI; zmn`!guO~0TK>rx|+;Yph67`g{%b#pnFC;I5_meYamh~p`L9m=#i2Wh(*T{`e!E+Ym zR`8Q?{1lr5;A_c4;9JRu!LJ}61;2-U9QajHkvV70(-^lW9x96b`iM@P>t&w~L+(kYPegnA+-^}_Fd1@Wj zkCD%S|3qH0-m+eVz9>F3_%_Txk>z_0GDk1r^38~oWcdz53HqyqH*K)2R`OT_`Z-zN z3HnCzBKS+>W1I2rCiHJfJ92|%tt3x@8_DzFx02=Ek}}^b_T?|edME4;!n?rNkmbEe zo#c890v{%i-->+6bKswlt=lZ?>DZUV&v9@sc@z^v_mZc50bmVN6G!*S@Iy*!WblJ8}7jNBDa8FM(zi{j(iCGVR9ygb|c5rIA6a)`5DV# zd?T0jS=LT+3-}e}A@CQ-b^RD0u2gAfz-!2-!A<0|;8&27cU#uy$R)2p8OUYe-;gW8 z&n#0uj~qbTlIvb+S@)2ez=z4Zz>kqj`D)8rO&$PmB@csNO1u&W8g*d3Gm9lQ$AZ?i{lh|0X#&u4qDa+$fe-ZVjYl_rKM$M#+QVA?1m`4dXfa0Qe2$A@C%*)mUSO_ z?#q@nK`#9Yp4}yvgNvS{(l&sfL2d!pll#HD$%EiQ@=@?ZY ze-!aTnFM=<9p2}-_#poClKU!5?;PzJv2#ay|Gz$jiQKSr=BRyjs79Z9zWveH>rN13$zumplyK>)3z? z$S1(>B+r9COkM;(LN56cp3f(jfqz4;123&sWoQCFgS-n|OCAO9CXfFdVz4{3w0zP1>a7d2EUp-2mUAWlHa2rl9z)Y zA=iTcjob+S1vw60vPR{50Q^kyD0nS-9K4l018yUq2KSLm{(yafTn7FCxeokUaufJF z9{MY>% zyEu78Bx2o2UI~tqqu>E@J9vbA5d0AN5cmt^39x+YS;pQeaM4=DXTTNYbKo1v|me z)heI07e=hr-L2Eg0N2bM*w*OD8a5V5{WZoLfcMlLIj zSid9Jf#o}{;->{%LGA~?h&&8FNUnM!{E!blDPsL6dGu+Rv#L{mPJk=Or@${DTThQz zx01`i50Il^`G%#GAp`y+`5;)n)hXd);12Qx_^sqA@R!N6VEJ~X*q;NhdZFTF&xlxE zLibX<$H;e_6Yb(5B?T;5&TE;imM~m-+U4KT5too5gaGCg5OB)27in^1fC(E2A?B0 zVljz)cSw951aBh`g7=b#z#k@8tczIl&p8!8hKK1;F^>y;$ z7euU|kgXS@%^Q`ULGZQYv*7LImKR}6BM*TeCLgPhSU)G920vws^0RzH#Ht~$1n(vf zf!{(t3_eLd3O++V4lcb>`I!S>LtX%HBQM_=v3kfA;6ZW?SiV;x?b!f6PVNSOn|u_! z{3d17bv=$Lm`AHiV?D1HXaX1pYL+ z8~ju9B={-Yl>PM05$iT`>#Z0A$tQN9&yc%b7O~2=EBoW%wd6(cc5-=J#Oftifgd0@ zfj>s>2LFz{vNK{eMwQPb_+{in;Je62!EYxY2R}ld1^<|Q7JTK4m7n&#I2Mzwo{04U zax3_=Z5;Lnm*?8iP!9s-x{RDRBZ*OHgrjlM*#0^dV!0#A`o-GegRtkRah2K6F0 zfOn90f&0mE@O#OF;D03_0sn*c$9pnb^SIBYjugM3%SGKCO zBjD$gC%{Sa;C<+mPB{2Dx%KtfzZ@IzGjC-X-Waj2BUjvy@rT?BPLT(}?8&_Uk;~r}v5t}(!M`GRAI3S-F6C$LU8p;```y^b$!EcDB-f5c ztdEj+fqy_QI}))jd8zU<@BtiO$WtH0IU9K%{5JCBIIa=MLm$O zU*uVEX@~NE27EPn$>*>ikyn7@BZk{9?qq ziF_D*2id~n)I;Rae?^}pw|*JtIpoX~`lMs?6^yH$%IDyt7%RvnUqwGB9{~@NGbhoP z$g|+@kjK7`^Jnr5`0_60)A|PbDtY>wI2R>X%|xu%kavA6V*N9@;oA}GQSu4!WijQa zVm4wuk9_XC*muYWzXzY>W#5lj`^cxjuP2ZHAYvUMpZg(>1>}=+xPBy;zm}#U!iTu)_+E<6?@sX3pgJj*Z&6B6yz!J z?c~gFF`knTg5OPU{T=o@a{2FZE=^vx7_qMER{mT58`pj0!{82b|DPk)e)6gRiCFI> zpT;VIN63ek6j?taAH4u;5PFo)(WOP!Q^^zHP2{uSTgb~UEV2%eD@%&3H_FxX5~xJoY5`Bu|2$aJ%vuU0!5u zAZNgLlUF>s$QmWrfKQT7fQ#cQ?Hu?f@*?9c?i6DAL{~sJNX#+ zYvgJ0<-N*g9{dt=4HkgEg&YOXk-Ndw31xo_{Ey_yrxaP=B`-d`$oeI@yBzC8lFGiM zw#a%GxeojyavXdM`6zgRJPrN|dBwUS>nyn*{GvOQ&mr($@)YhMrUiT* zc^I4~&wzhSUh#ZvqqMSb1#cxE27iux8vHAAd0mmUDx>VX!0#a+1z*;u!WY1=CfB^6 z$oeh0AH4TYWpf-nKpuEek@X;XZex)(POjaIzDgdu0c&r_C$|(?zb2n2z)$piNkS+5|MzNX0f z2zeCz6LQsSi>xc}R%s`}>&c}Di>!U*bAv_J1LWa16j@&;@K?c4zhu-}d_l2whI|fu=>ZjPy|CE2mb?V~5^@Rn zKJqf~1i2LaBl2?a1+P?o%D^khE5JL*<>39~3h)tfCHQOPmEb>+tH4irmGW5w-bk(m z$H7my6ze;{Bjj%IBsmFQARhof?bXWu2zVR0@kPbfJ>*gFL*yy&40!=uJfPCbOYo}6 zE5R=zw}4+y?gmeghrvG~Pk=AJNBNlpuO+XdgA?Sct;N>c$x-le zay$43gzK%Q(?k1OPE4GHoW#EU&_23_pyTKRTr~I4%uO%;nZzGp(FScGu zt_6RH+z$RX@*wz6RO*imh*xTbqlmzmNyO&v}FL zGYZ~89s?gB9|OOSd(FTVxbmplOe1bH0%4e~7bw`8joW7PdBuS2(@ z{N&-=imlz`Mesf3@|P4_?*j=TVV8M$l^#$@st@F&TwdyB2_kq5zlCXa)k z^A_dv1o&q18Sv}Kb=}3*N66jauaSqr3*^xrlkVelY%0{k)Z z9QcRilfA{(6W*rM&VkpGs}jZ5E^;0CesUCioZJHb8Mz&N$=j8mLGZQY!{A%UQ{dN< zk0pz(k2~Su?~}{!D8`L><);E%O|AvMj9dqP9k~(w5IG5+As+<)7kM0f)nVoHaH`mP zF?k%kpKPUzt#^}`fgdB+f`3PD1Yh+|<);OFBe@-%BoBh$PCg0#5_ul{3-TiPl6NUT zGY!6mya>LPe0o2|0Vf>%QF7zm=vU+x@a6AQe!9V%$Z>Fz+z);`c@#WF zJ_i0Zc@Dh%i1JhN3XHMjWe19_my;{OZzR`(|ApKR{yw?sm8jSIm7jL-8uB>!CFJAa zH<9PTA15z@e@b5RD(t`ito)RM*OF_&yU9uLFnJjK3GyiTyW}bG1s_m;j=dWDFL?_5 zQgYb<_B(O~_%q}vc#hl-zI;siiGyE2?g#H7kAmM!J`Mf?*}4bYom>jO^n=PzEqD#N z9sE-A0Qf%gEchX^^&0eTawRzOA?2qLTtz+x-bp?MzMH({wKy*#m)wijm;M@CdmaJVmYm|CwA1UUgLYsRM5(N5T8Z{opr|7r`HQY+jFJ zlVbz^BY713+z%_Cv*4GJOWuHU5^@#zA#wxwF>)*TEO`L@)Q>1X)=;t4KyC$hk_W)A zBaeb*t)v|9rodk(55Ey(3;8H``M)Te8SpLSiu(1!6W2z;7PLeNwg<<3HY)J<);LE9eEizMlJ>4PhJlG zJh=?~EAk3(`KOeha_|mv1^6Jj68vHEO7I-H3VhM0RoWWxT5>J;HgX;KAh{m=5V-;T zHF6{PH{>Spvd<`=QSde77VuVbD>zNw1%8m+4jw0WfxkxX2LFy62VZ_%`A>pZku%^Z zxgUH7`2hGZc>w$f`5^c|$b;bJpH)7Gz-!3E;1`n*f$t`dfImP!44x&Af=fQ9{2T$l zfIJ4ioqQC0m^==CjC>6IgwLzA6W|-k$HA{7PlCTlJ^}tCc?$f@NtN~_csqF-dQeId~7b4E#3o3h+sCIk@PAN?QS5Nv;InMqUX%NUj2Z zf?NascXBQGihqTl<)hYVa5cGf0@p$0I&d$!8+X)8Hq6MdiByt|FIyw%BSUSAlnvqu>MNB>1i5VemM49Q-JG8ho0(0R9WP z^mD~l*`q4oD)4G@6ugz31b35%!LKEcgWpA-27ijY0G=V2ejevw&esL+sF&x z47v1?Vrz(81wKNKf{&AvV0o@U`r$D6jPMnBz65-ZJPBU*H9Q9eo1@@olgGgI!b`Dc zybkjl!k6PY#rG6jcaa;xZy}F>KSrJePmxRCi*pk4Ji<%9uKctk{F&rh@C(TG@5cEF zdHyiYa~%73;+mQ~2>u*->>cn=J`KL;8_K_Y@a1{ra`1NYE^sgTAo$JX3izBLk0AV8 z1m| zc^S6dJ>(kjd&&K<`7-$g{QOuL=aVfM!%O~6aVz*5@-FZWauj?gxe5F(ay|HqJVF;7^f{fPY4ggRl6O@-qm20eJv?J2?Y>E4d5&IdVJr zr{n|R%f7Ar90Wg~dkCH3UXMRCGhwvwUPx;9pyqequ-cD{ozfF69 zv*g3zIr4EC6TYu}PJ`Ew7r`$j*TBy`!`$+bxP5%LM}6!{GJC*%_Bcf~(YKC8gbA|J#4wTXNRoFp%S{|Cus;A7-r@HfcI zVgCzqD|}x3L*>5?;a8K#5Wbx}0KS9V4L@%q52F2#lc!PRe%>IA``U|Gv-AmY#8Ur0tMS)0p40f(8W+#y(w1wyPU9OjZrAu#8Xwa5 zof^Mi<4F1njc?UBuJM~Re!s?F)cCs^|4HL3f11m8wZ`i-Zqm42DYP?6|do(_*@y9eisqrs0zW8Ukyspytg&N*Z3NZ z*K2&E#wb_)(3&sqyzT{)xuF)cAKA|Hgn1W+Yw7A`cj>-^rnu^ z?pS$GZ%^iyo=o?qL{}`e{-wc&vEELY6lB_y-h4-2M?B11Px|JLcu!ZDNxWxocP1TD zqI4|NWZQ&!Nu!coeeqZxN6n5|n6JI5L|-zGqZ@3SFfY69&9EuayQgPwU#cV1ljsev zq}pz-1Y!PHb@unSb;Z(|R9|Q2rPg!(TYg8Z0~@$x&Uosw( zW@|+HxTn|Vk|jG*=~#0ng}hr5(NrQCOKt7w+|bpPilx)82F#_|mo>OPmDs21xy9W} zbH;YLaM&uwIkLU>$x-5(2?m_e;4-5mX5va_nLqiZ_m9b=d*rb02VH5Ic^2L%;t_`f8D}6x@3#;I| z>fj2lTWzXfDz-0iXY7`4oLR(s(wWV@nbdwM(9U!$)!VTz7FfAzL**Wivw|wNx@vV` z#a36XF;#4DEQ6igJ}9~Nbl1U@o!DSoSh4W_p`hdG>S|-LI&tEciP+2+iiC_``5hEifos zwAuVIdIgQXYaegw!iv5&c;{Wc*0}RJ7h%pwsaL}8RN>>VsarjMmjzZbq=Q{&>|m;+ zJJ*PT8)uDSp>QqjlWls<3SEi$Sp$-bHK=6TYP1u1?uYkir zTVQSQ;m%1a?clJ#o?8;WgmOeSpmUc9q z$_1t{6j5Ee?u{pQcf^A(UDwps1di=%YV8wO|Ml*gb@qj@@sf89PL~YZALZT@?@8X0 z>PX_c*?k?OoiNBo>glwnkhXU8cI*u{HBH$V-Dam-%|#`Y|t>eL(d;9`(h zKhBlW=H8Co@tAi8g~>Z*22!PM=t;~@t|GTJtNEzPtqs>=BC1Cwv92!1OdaN^ zWWou-QrN87&K*sg?P=GXabGH~g2Zs=mWJ4!J)N=2EnTPu`a&#~v&39hhnnolYueY_ zgKPO4?5?jo<{YZllNMrcthQ(J48iJ9=ep=OSS2xywISIfMVg}}bb`j}=YWMr~W+6qroPyuUd1B+O*&R9rw2_o$tR8IRO zz+2AHWCax!2gIN&lxwdIDJrg=LP~q>Y8f}pr43G5P=Rrn3@R{AkbT)oFSJ`Jq_j2u zw#}EUu%ZUHE#^^tMMYoDmNevS(7v!XHmy|AoUowc;`BPGWv?@}Y@e&RcOmnQiLU*o z^EUCj)-Xa8?xC;>tPQTfb^i8FGJE?Xh;5g*7WPT3tM$*C#(9k(p~(s>YVcrJYZ&Zg&&pnhhIN>0?Q=#~H492xP@yr|71Y<)g|shwNzep< zao5aN_OIAA*9EunI#V0><(e3|=IzwRT~jZ2n1_PeyE!Z`=l9{ULU&dCROeOmFGYdnsX;|kl5Zs@U3t2$C4^$1%E>2jCd@cz}6Zaa*t z8|?;b>Dd?Cklxme)nBd!KW_7$q&BnXEbMffpe46BRv}G^Ny6ZEh7YWm3rXF_JM^J0 zvcp!0)m?Y`XJ38wX?CnaN+jzALh`{4dAZviY+?6c%%RE}!C)&i3>Fmj@26otf3iR; zzcaB4@#MZs6Y9==lO)7vZ!EK~BYk_Qvu(;I#LHgv)w?=E_7^nQ4az3OOILTNYtfx= z^EbdCB)zj-E+rG4s6&R9tn;vO zDr@B3W3mz0YQCK%8`+b+;h?uqHX3PjcMx0+lr=H5jeR*2t!8J8 zt1VSnTrGNWZk@2xs5sQXo+-^$!&%R#;tj>O?d1?AcQiKcSGRgtdB*i6rJJTVCE^L* z)$>HOsOEHs;?RKAIlb8-NyVa_Z1A^}iZ{2DiZitnV_fZ|!uDa|e|%ftzTM9KMHP&i zZq3EGD$3#9n1(mnRGceS2JPmmziLXCO@yT!o>q`6PPg|>&OuQN?l&2> z`g6w_o`1*579zJ>`BOU2WN4Y%+thE#iXH>z4A0q?hv5rm5oJ@unz_~16C_%A?uO-sq8lM+R7Sizo}dZ zcrD}Z-5Enl#fP05yjMxNa_1UcGxCcLi4%3Z0W_KqC2w>6Xq=4?i@33vAWc{B5nDQ+dW${=Qdka8OKt# zvDYWcn6=MY1$%PJme-lf(C07Noy`>&pYn(aRt*LDj0PI}{DyTHPe!Kx<2C6@7>cPL z9kK6S8e;8Al$#S8CL;@3s26zaRU-V$eQJVl>({8;`hmsX6U%gVU*8vxs|!{_c=d!ewuiq$p2D~PLW?0eOwM8OSHov&p&J9;}~xj`k@Q9L_T zE<$w#oVDrCDa*n*d;iUo3`_s;*rZ|kSzv=>N0ytPoYI_CL&o5nBw!9#t} za)qb*?7Qct+gNfL;_6A|YH=eLWMaSW#q}9(y<=D3p`L+sis*9RnKi`f2n-Lh*cG!M z>VZLS%%B9h$AHg21{vlVE7InK<|-A##(E*y2t?(N;3 zEn=!4PBd_aBvawWSe$ZZ4U8Fd>#Y^w!c_yK7c8I+NQ<*DV+!B>@qqM&btL2;)yB7*Gf4$mwD3L27pj zR0b>0UFFM-6gUx3D}vnyVQCD9eE+dJ_>@ORGf!sW$5@YX;8DV3hfNrKZ1C9f)~IWL zH8wPya@D=dmc7K|70;2Ta1YgWpz)Z%-*%Uk*;BGF-5u}gyP=@tvsr+eh(gm*G@uMbv=kRLB%|N9)D6Cxi`e)dM3`~z8>aeEIYFv z9#Tf1sjTyn8=zZy_as8n@ivel7tEA4H{670L~yyhGYM23C>xycg~jYgZtQU^cM#Yq z7mLpIB@03yJfHO>aAm_&nY3-=im}V(>;&%J!)=$n!JR;J$a%+>q;vN)_tF*DV<4{d zaT&yO)zKS@$0^=VVWoN#p8DiXq34jDmr#xGKjXKZXU~z{?YXBXh35fWlN~%Wh;^w) zq-0yVYKJiiGb;t8a_7{m?Ks)}-9B|?rwJR6*-**u@U0g0#Jfwtj^UmY%4W{(#aMSr zZ8pQ(6x!T{JB?=ql$ts%tFF1#bpv0{abxrLZM+BPJA;E?xgJ-GsnvT$_*SFyaA6oN z{ZkXJ5c>+;6%ugW9egZDvHgeskj0ehxnV<+;Kg)U!D!AUcp;m!R?yg#=p=a6m11rq)I1xW&Kqe@6%B&Y|Jye=jvO*$+#dFhCSE6 zhXn6~{z~ta`$YOCb{7pj+YV3`?1XL;!{)R*ZrFz5ZJxkJvX`~~HD3M(?c~Znp1pam zx0TBTO=asc7Z7u`m&+`uxjY>z{1719(e~;|rS%~d9oWM50pxMJ_**q^w)k;rUtiN^ zqn)<(H*3};s9m+q;p}Po+g9bni?MPZgk8s3bvW?ajfUZ)RGH@(HoY-a5n$+Y*O*k5leqrXhwyO>{Yx3-e`AnVek;kKIlMrXFAurgO zZI;)W=U^Fs{P#fv97J-Ak z{Zvub%-!^bI{F(nd$uZRo@1&Ksoly~Ofu7!rZ>xre=59*Qn;oh-oHSp1fXGs@nxt zvm;xgch;=W;#w5BZR`F`*Q=MXZo&-WZq(JOhTCnncJ5%iMV#CUvB{Pwz*veH9JSUE zr9D1kH-D~x@)(dbgCP<6MMFrjol=@pVk$?qsv#P8*P0RundE7<-#4A>7P)fKM!h{K zuNhqBrbj(Bba@K2+Sk#~ezdU<%kfgpJ$DDR$yS4ZZw zn#*p-8yXUq&zP^yV9s)5Pj6T5ExU83A?I^-f+)ZYsYzD8D5^~ z>D`K{b=+~{`vro_V6c_rd)_?Mn6xp4`>c{na0an`$;^KHsV#fix~EHZ#uIq=wf#zI z(;%Wnn+6g)+SHN6tD3?@N5X`1sEyjw@>xljgw2LtzW3T}zprEe?wE7@+9bs=WQ|p# zxS8FnUd3yUS50Ey@-`dDsJpYb<4)Whmqp{@mTL>Mlq&L=7UGWsQyxQmmRkC?q4;*3 zbaq1=dwI;>{lnq|(r5EE?VQ<+O_8pgLk;Zx)KIn_tQoNPXf-YG>FQc6_xPlY4rV{n zbL_j%J|{tk+cY9f`v?vtJ^T9h*{hoO^Cp&BEje{xu6jF;y9yjbt!LsdW>#xl;AuJ@hH&x4y&RR=v(u708rrDwd3QbjI8UGK#1WS7tI> zZfur)eHl4!Zt}-IT zfZD5TL6uy3nA#Y=R`qp1t@P$Ti0z3P>xP(o#VCdCWlQyIk5$cod|!FDcEH3oP$MXezt%S&vD|`q-T<*Vpp?c0AU*H`A?l z9L+(1SuA^z<@0F=IO|7)W6d5^ua+jrU$ih=$GhyA_EyNb^R!UTOLk<}3+;(^{JLA2 zy=A+-OBPo60+JM%m$BGB_qJ8eWA^p1QrDY$Fn@!QzXzYwx*LaztIJibW!1dIs~#eK z^>HLKcIUr^AEz>HZH_n9{_axeFSM(v+=&aQa!BgOQ}gq2=QMz97TLU&g=|YPRMk4K zBms5#>wFYg0b`pKRFA-v=U<(|T{*RqgMTx3DjY4G{fj3@>k~XIs3%UlUZJ9*dZhN{@Mo+y6d<4-x zv&4xIeC@MWjdrQo(Kg0=lVy)#{xQX=pFI%SLvgmts)5Mq=SD->vd$5=r?)fS*M%1z z$@7ugG?+791Ud>H@O*hH)53DKuLlA%&GqQ~c6xrfzOk+O{8FZ!-np|kt==jT>)I6W zknc{}Ydy1*`i6d(FE70b!%O9F!NP0gPy5%^DR%}~z-B7YIA~ivj^zK(E2nR@0?Oxa zetpwDE(d>I6@z-(Mocf>j!O#r?E>km%bj6G-!}Pjwtcupk@LyT-&E(HUuc8=zp3JR zXZhFG({uz$;})BKR7&Do2bn!q8>V#Su2wUS6f#}V6^r8T3T7?jTwk}hKRDX!3#m@W z6L=*Iipd4*V?OmQ>|W6tEF$&-?`>CtlT1x-FG+-(p-&eQP0;%^4S|!0?VnZ zx6J;Gv=zVwC9qeW*q4cX0w7PxYCytRdmM*``dDm#}#UbiTz&R894Ks3?)q1Nus)26A*XziftK7eq2PoZM?IiZT zjSsH|*>uD^`{G!i;CCy}e#>iZLNZ7t(rG-S-G#3mMLa%*(6-)>XWhUVt1-)8iB zr_VZX6;vO!cgg@~8&sMd+w&S%wE4;z?p;f8^M)N;Hf(G{k@F?N9vf|I+S1&T$MQUi ztxTP^^%Vdk5GK3}Z4$S2SSj3=6>WKnp}rqqXffQ@Va0G;25j-{hr*rwwQc8ZxG-D) zb~af1H?hyiP$8d@ ziK_$w=BmM*!=1k8({Hu2WdnPF`sSQt7TN&m6xk=LFX4BVG}h5Or%5r)&l@DU;?LH0-)WS~xdJp+ir z*fe}-X2FAp$;dc#~s|G)w4EUDU<98lKU!K<&A>ce)aPb=ZeH>uz<$(nuWA$h^fCx{l@;*^x7C2 z(rcm}v!jih?TJh@71rB!!~-j8n>n$rJX|rp2C}c+opi=_39`_e!(*ejf-A~ZFjtJP zVD>yfXu*Ok^n!V8^n$sfTm^H*m9sM~=~eJW zyUOj0)y8AP*!{nCqMI$Ie}*%xz<9N!^FHN(gxM3{e1^so;E+VBm9ZhT8hdG ztE*Zj6L(!q76BEIH;`&Gf(Abx3!fkN8>0;M%e6#aQ@tsIjPaPUz zoG$yS9Aazi0U`FTvWD3C%AnrZ724c^CVDe_jr8Vq$GM8?jtU##LZ%yiqxau<>cMc^ zIoDvQXu$cu`9)%`l-V&k>`s-|Drz6#bwjv+)yz)m)K!Ejmymf1L%p-s#ts_lUrV8P zoIGjteiUlz>Q&i`gF^WS_7E2(V#&=kJD;ArE$-W?O-9E4kjGH(4rWvR zuxqk#bq13`*naoFH$vDYWw$kq$G+16_pAI|Dcrpw*rz%YW>48nB?#;f-W|-`A-q<> zJtD-?*CqV6zCPhK@plTZ#sA@6Vb3X^_b?Hj%CzkbDFU~@W}9bFFj)ro1CzCXo$^LH1o zVQ7B|F*bD=zqzT$c&&_G#%tsm9_<$b$<286rkmWx@||epx6IWfz*Z|@fQ6}ad{Iha z1h`3$@>zI?w*u1x4l0YkQLg|s%ppu(8u z*A@i0mQrhmzMiwK*}SS+OXG2#*WQpv{sq~dOac<9_I27wW+goh=-Kj~Si>+7Y?0g6 z9vf{Vdt!XK=N@-+mZK-K%btyeDKLRvwy-3wqJ|mz`(@7B>71s<_gjUuf#WDo%?)Pe z`Z|UIwREC=b<4eu#4+&}+HYYhbEuV8WWSwWVt*_OT*xX^)9V?W3TZC1<){UwFzmpx zd`tE=6xRE84`Y^v+1t-fpzZBjl=^D`9G~9pqP;1=F)?kJa5HVo7!37IV~Exo*3eAZ z<-2UC=G;qAa^=l#T>q8{w>M;HKQf%#FyZO>jD4ZzhU{{?d!bJ7Dv|6HWQC?NWE@;i z_jAg|R{kpz8;X*rJ_VHLae46U3f_lSa~1a$ImlG&=|Lu8z1^DzTi5-BZmvk#9)CV* zT!Vx5P^jb9*C5$vLLCcN1#_|LX~iuV22f<@;SOh2p?X?tRa;yhtizLz_LGfyYJs!bIKkGA&pcI7orW7$t<_s(Q*vOrU=tTfh7D}=ly zv?HzpP?o$6k6?iKubQ>4>fN%h9YAXD{p%&Io~A^V-lE<7vD zPbvqtx}AiRT}bHrY=bu|ZMl54vt2`M&cm~NJ@~3N`z5H`I`;XulWVd1sy2Mz)PBRW zw-|pzE%Yk9;it18cX$P0L3Zi8@EQks`)xtiy{20G_vlq^$yB0$KOT=s z;WPIIdA1YC{!);2+O;sUuq5~(QBUW#SY}^G`u6ikaRd75T^)rrW>x5@sA?f2o-*3EHaYa?9*FW) z#l8oFUMuew*rr~5;c-L@_QFt`%>JaW37FhI1lhCb-h$E~6~p^Icsu2)wlqF) zEpKe~?+vyWT6On@I_dOvVLfqwSpL{_d?7=aRe0%qJyp*=hOZ`sm#-s^x4MMoZod#h zwr9wuVnY?w<{7+NH*LQgNZu0c&DohSUe#tF|8qSp*f1?$9t)0^V^45wTsA;Kxny6P zo$gHa*zc3`d36m^(k6ZBRc(Ft(a&z7^GVQxm)R6%&lllfWg=cBmWq25Wf$_UYU_5E zF-yy*)EZ#V-f6P7&s^{9i04b7eInGmL^miGkKL-aj?PTaoiW#!qXR4COYHydYvF0N z7v?y3+zKvqum8KQg=d_Ucf+QF^3>M}W4yBal)Qb(=ihA@dIsofU35@GpK*K3dxq%u z$j_(eDJHVUQBOYpVHkovPE+bl?)Izs^SG4{-RCh;-?jG|xmP0NkePqOdXw z*(7i<#OtU7`hYhF&zH{gIhXSY=VRtxTeU=Zm3n23y?bZ(e`lGe_6g*m)CIJXlacr9 z#X&ARoexNu#~k~M#W?Bg&KB3}$SJ-$^;Y+OahU+W*-zURn8ZFp@MctjNz|n)Z#a8K zk${3_uVBro?6WWDju?-PW=s3%pRKQ5c>CBBVx9AAo0~0F=y_a4IY;t>%i<)+6~}25 zmWZ!Xa_(?og2MY4s4L3-l#v$YOlx>vapAJit}dM!6IXn;0QK_gVr;GHl3;67ZtonQD``-|EpPt`S5LC&hz)dWSYuChPfZF0D}IykDv{tCG< z)wOE_^I98RjOzj&u2~b9YE5vJ*8~@1&D!9+t_y6#HMQ3T)oabVH9=89;n!;4b$54& zYXh@c8<@-5z%#n&4D5!6mE-P8Gc2tAn?E(3YwR+=kUP!5btvRZu?X8y?)C!R;B`oadYS~|0}B=&XmUHebJCXH!dCV@pf4 zt!2yB&D(dj@Z?S1_^426-793&shZ0`TVZ5~&6djJ+gbYHPNKgr)|Vi6-%DE!;Z5({ z!pu(3Ic1ews{B-n$8)sNef{8zcF%VEqy4kJ0XEJoVxDNe^3Pp0=akIxA@AXoXI}GI z@nv#mtLzPz053fK!$4xs#yU;u6ot|5i!zfDu3(+F!FWAsXOaGFw8)@LOlOYNjlXqWi_Jlb&CU+{WU-jjh+;mOtjddP{_ST0F z!+L}5Q(9k%v@>OYd*;r9&FQog?_3R!_4rmq<4VEKc^Yv`W3?oO5jIW1@!Q2ip7Z&$*Ad z^si=)%-h22+qTW?*Yx4%(1PRED{7hXO`3bkD`x7>GW%Ozr^;HIJ)f!b1&@4o*T*~d z;xtFU1?Vp&i)Xl<9B6A#>gV;VzIgwqjPISWl+L=AUwlW=)tdS#>#D#q=6vMNU0310p?pxuH?gm~)Xa0Ac=VPachb8`eLBfL z!g{Q7=fA6xazjP8$t{KoIqUZspufH*&sWpv;xrQ-C=UT)N z8*o*imlNl~uH`L8FNT#ZA$HE$eE}w}s{~K6>?;z-m-|W~)Y5geV6yaHF_>-m=3lj+ zgqXNb!h#HaR}XGO?IOWBn+!Av%P{Op!sF0zHQ}`|T~WAg^s5SYjDBTdh;g5R8Vo$A zpl%EARYpLp`AWlMtltAQ_E>d2;=bbW_^@wO858SQ9_~bjs}F-g&;ZBBsts2m1}C9y z8GJS3_GG*wahsT~O57IC1%|P$oXD`g;n;*$DdZ}}T^#L71)mqn9m?!4wlyU>?DLo{ z_^7P?8BeYt+O$btevMBhU2iX{z5yRGQAgZdz|9@;K3V^@>3VqxU=tS1$l?@T;}b;g zK>2i*{c-Yb3HcI)6NwyXE|Jj;=1Y{T=2)i5{=}>ukX>W0mne6XL8yF?ctdZORysY6 z9W0(U-_eKH%mL(+$0F5|pjL(v ze^AjVirr6g38eK@9Q#MsFxNw}L0dced-nD1YsNRg@bRC`y`Ab4HEo-2u)l^QzOYyr zE0*yw9%PXXRoi|09z7NhH^laI^u;r5PPvw_aL3kOP1M^F-vaMg2$s&^q;CJ_+|;dD z*p0U#wHF^$@6EX4?8`?KuL~d1b=F~__lo1D1TNumchLT@w<}R}d-Il7*TnI*<{k2Z zcbAoF1^K{_y_buxTu?K=4l1GYK6!bS?)4q`6jSeBsLIX`vY(?8-UV)ZLN7dZ}0ny~vkX#urndY}kDr8Km;Z zW_NmDRPIFGA0ZOffo?4ib!jq`N{26M8{ zdD+dXp0v}~^~3nKW?#4UL~C8w9b@QEMgw2Jaa%bXqithc79Xgq_%?j>wP!ExUb#cD zcrlrfBPB){xhTL#5alYi^L9I}+*aFkJ;KxYzF9_XO?#Ny5!(|>VF;Ck&NqeIWT7DP z>+HV0Z4U-1iOPlS?dwQkGOMkvudCtSvQ9Qv6t4-?Jk?HJiLmi>+i6>+S9uyVYTh;=s~elF}0Q8NQ;VPlCfAyEonzg8qKSeo;__ncwK6LCXv+zGWdWT zLM=qD6*p}iy*Ow%3d)e&jTV!TSf;HvlfcrDoy(8jBIQgDav#?J*^riT+-~HK+|ch2 z!HHB~s+T*D+9tg?QmTdQ(sR|Miyecu;nB=daqW}DaR*u3A^XyMWv0WeHTS_}wL8q- z6i)fFAK$cnpsU(vcAA2lj?S@*Zj_N0?yrW=q$|jV`-Gh#TFq0ZwB(I_B!SQCwI$`d zqs~`MlYMgHg0no;MG5%4X)4xv=N=sTtv2=jWs%Y<@;8INh)kr9;X~r!Y@Y9$ZNDMu(jN%?f%7FQ)9H9HD%K@|TpC zT&C<-Q|_XC73F&=k5hh|@(+|xDOKsOqwJ!59pxD17b$;0`4`HkU9Qq^qKr|#k#d~! zo0R`a`J^YRbhVTnl&_{7hx9J4k)!bczwX9!Ui$y9yV=AKN#>pw_s*g_=lh<8HO_Q) zK(u=@+hims$kG2?A0|EsE8EyLF*zt+iEyTD2}1tzVse z;4Qs(wuIkv&ilTzCD=cI|1_Tu!@Tc3_ug~QJ@?%6oV!f#YBCZ}RLS>6%hRlYfz)Aw zKB|EaLXh)B8#y>ykfToeF7LkIW=B8MY-Dcy?#)JSL_D1@mC|=KJcF>0NO*2)b`(4# zH8TR9ew`Wp&Ut&HX8v#AO<&6VJrV7+Tr;BCJWx)&SLTEpQ?j?`{BPgQO-95mQAg$kfBS9_WXO(R^%hb_tlS8f^{rso$V9OHfBSAY2MsUN1NOBMgO?*?nO|J!$yf*9E-B69_x@1GGeob+7E-e@A1 zqAx^|O_PZ#vQz%I?}l$Q%S0a80{Y*+8|+`nFm&mIy4jGdZ<_yq`)&}kra#2hCsFj= z_%q__Q%(?9KX=lU$y$b{68&@tm-B8s)Pr!Mf>5M_aJGU_uF{6MtYX!kE9iS4f74#e zQ$9pm1^!2Pmj4aW=@u>Go$0Auix$nRn?Eo0$X^C;HgkT2u$6D#%2Nt%!WWCu!io6M zm*42(3T-9J*4c^{flb^0&6 z3|@8N)jeV)w~VUO@|45KEY6^or2qOTgW96q@s!gRWqh7;4PuZV(n3JSUv?Q+(`slc zHJ6WTrsXNGBXw$Ro|2g_l>uKCExLaBq8r!zY{?DF7d6xNsYOovJbRj=`hq;giN|D4 z8JQ}uh%URry5Z7Qi>|%tdaQfql(8ITkSuLZjgP@A3R$lZT2KAyeakXkjx8~{Wi+FV z=Rxh%%NU6=CTh763D*9MG8V6*5~yuCZJC~@)POXpmvR5fLWT4kf4OBeue<@vSbgv@ zA7zj{Ce&$d38D;yl(YVHK9>G$@pV6;b=+J&wxbLzM<~sD8CjY22cs=U2j`Zt7iG}+ zxfNxQhOD}=P`Ms4`OH7P3@qoZ{K>U9_LhgTDNosjf%+j9lSn_l`Lrhwp@O9=`pYc? z`^gq_LM|Ug+tIgZ%jbF-$56)K!B^%V#{RXLgFm;7slUxrx-jO-9@F@kS6HN6l{0XR zzP)+z%0BrR`fQ#u0eONiX=P;AZ+u_0h?;Tr4U3m!ogFW8`EWj;r_g%f&{wrGrVKAq z8jQ^P|7eS$8vG`=jG8~9Ef}Ph*R-*>YGjdexK|lVa8+UYFSiV`;}i5`8o$P0rdUZl zL-Eg9U8GD$ea$x(DQ^X|xua3fa55B%{%yeXZ}9&P{e55mO+fzK@kDfE@sE_@n$eI2 zm>H)(KYn_V(uVK%ZPI3&pKzQPcY3)_0y`=PEeZ*+-sdS*CbH9%hZ31SX?vI z2brqMMdel_?O?=;&zB=J)dN*F7v-DeTI)P6pXNOKInTnJJdbdm-y+Y0S$Vc`o?mmG zi8*=h=REfz&$6sMEu81JNC9~3si0O)PVu%fQUl&@h}iJCJW}m4clFIajKOQypx4f!=qld$dc(Xn1beVUa1WpSN z5#46+ZT^Zc`)QfsTHC8_G(wrw&SuCk|v8= z7#hOkx#~{Sl!dN&b?<#pVa;ow@tETI;XW!~2DLtX?GQa32{s6&F}tt74N_nKD@d~F z3X&`)olq8?O#4odWbvBakVR#NEMC>?BU$WmXtLO8Cs~}`hb+#{lErU=le1*e&b4g~ z8nW2P&kqJQS!@UzvbZOx$>PqSCX4MYnX;G!SyZwtR%FRy8DtTy$(BVE*YIPO#e$&8 z3b)|MnwDWKk6g_tK+iWYeI3i=z$8N+#kxGqp!k7a=S7gm=E<5o9-Kt-7@^Cf*v*=; zF%P;iqAf2&H--g=w{>W`(LudGfNSd)w6rg9(Og~3&jotx&5%b8>qd7#lTa)`V`y-v zX^IP)(Fx5kw-19fidh=|fTkI*vu6A&V6x_Qk&YY=C{|N@v3t(8jSlmxbM;YnT)rQe zDLPoI*Eoyaw)xHV9nV-?GsQO6C-akJ=PJO}D*=59d3j>{JU9WT!m>-)&FGAGZT zRGx=9Ph%f>&dbTOA(iJI&NH-+Jm#D{&8a*;MII0Hf7nJkU;_V2rQ){2Tlq0s`gfaB zsp*FH?ozyaDd*h`yxX4h?!tiQ<&I|>#Nz|ZPf{<>P|X!o&Kl=xNKJ7cmlFdt-p)WD zHHf=8ZH9Pypyp+n;APRM9?3Mr0u~PaHY~9l36)finb@u`W@sP~S`fM2t~-}$M&Z}8b+_!apTu2b;tQ-2FM^l~}l*^9E_?R$Rm zABqpn5CfU_aqiWS*c*Q3v^ia{2_}cm<M>~2u^HiJWWbe&P9!|gI{yaKr| z;kss_E{uP_GGS$BgZkDAl5B$*%kkz}BDFr_9};&U`} zXa)6Vy{yAcRCl_c2XejrIrrL}+!oGlLhfst=jvXl)_&=0Q0FysuaL*jG70&hc};0= z75(p{mVMl#^|yTJC$)z;U5#F>W`yvvk95R( zs6qAWDH=N1&+iB0{fAlaf9E6J*p1r127lvRo_eZro6phJpg!KjvSZ%q?XS?D?M({J z!l`%n;NAT>?`{FtB>$gtoki%Q=Bzq@iaay3-YiK`X1~82Ek7ncVhK zT*eHw-x6&E!wbKfMltwfd~jTz%dI<`WgBhG@wSHkZ;<#!)@3pZ0APh-yC0SfAHeGwhH zi*)IosAZRV>pRi14hzsn4SPOCZN(1};`<}Yr@Ei>T3v+KpRMhl&S)>e>Jz^Ch$VIs zy34tYOOcCsoXy-_#YFKL|?}A#Z3Pq(<>?Z9@!0~+au$^$m8(8 z04DB{{{|**P(4gLL)|l#+gW6CN1Zh;hf5jV1N=|9zKk@e%O_db%blU#Uz66t9(jmM zdN;C;rP(9@%Fl0d$+i?1wJwv}rY>(*JZ=~1hAnD2OR0K89c*?q)c`H`$UksRkLmn9 z!lnEc7`8!;T91Y;rPO|CTE}YVrNNpr$Y%A(O`z_Po=77;ABb2obb}DAuu`5p%;7!q zcC=s@KO6Gxk*m0l70juTMzZaZ*D){G=)5#B-H#CoX;9a486;P-UOjRyVg^0H{|&0u zYD(E3;;Ihsv}i-R#`7a&1506drs}+C?Kq3y7XZ~#-&FI{XjsG{SyUsLk73Nm-U@1) zX1jZ2e@-cbwEWYjyZ zG|f*v@^F|&P!I4wqCgc_=(9^P+>2F1gmg{e4sM`l=GqVLVbLrkHrAx7vc}hH`o?;KQT`^iW-<7wq2l&6Zy=2?v zLko`fH?4Qr)RH?JR7=HVoeQ#q^I^4mql{sAIXxI<4yKrxhToNwaVeV2+E80@Hh1$OW$i7GZD7<%A zhr{;oH(MIi^AJs<8qQ#EXg*RKxZJw1*+a4!fN~oZO=2_D4&7@pLpJ#+e{wj#y`U`* ztyd}wJoz5SP^~3nxs1_a6QnVQJv3Okl|1gu<=~$5WH8eVK#ZV4Eih?w1VyDLA+3PZ z^3YqCn8y)+W(#6&82>Jd)_vXJt_2PY&4{4GODgKaS6h-uU{d|?ndI{*1sGdiyX&->3 z`Xr}6j*O!)MKXbe6OBH3>U zDc16o9cX!`UL+Uaz?z`x@!C*}9^1PYHn(1U(?orj9-+&alk31~y?Be$8pOzzn%V-L+;}XuXP0tZulAYs1&M{5TF_m+i1N81t*XzB}_h?TA%KA4@^Zol9#8pj|tixm}eZhM1DRV--*Sxd`_}~0hy@=bv z9cEZqFal<04vvvwp1y^_shVgJ@Un%37S{3u?*jzMqEKT@>)y1 zSf-aW9jB@7lTjHh!t!oczvC2nUOk3*3T-%7pC=bPHFlLWdm>h`E*zwQg zuCOYe(tS_4O4`VV+!ieMDAmf5+fmWLy6B&!U4N$;RmTmIg7LJs*mX z_s9#m?bCt9fU)RjaTwG9n0yX(LX3tDQxeNr|_HM!J_u@ z@IWjmV{nk-T^Sy%TYM|?&A*O%@i{(1t``rU`nkCV_c6P2oI z&e4ErM}K&k8+0kd{s-#CCp9EhLj%4HP#K>GsHT4g%x%!0_VtJZjL}CL#($vYnHfuO za1E}>tLl+|3ADW2@{A47d6hl#AfA+0DK5|;CUY$m7eN1`o^Nwz&ByTW4XakS<_Go2 zT>)*@L~p0KqLy#w_r|RG06&dJ3%m6En(ep~NEq`!kZ`?NnU%7NQ&s>^XU>{Sxs}%< z5}>>~Lwv&;LXt9K8#BbasWwn-qenLC@q->Y3%P*X(|Im$uAd?Hq@Eq~=(#QRY~%Fx zsb?+y*3`3>zC87;r8lLXwe-f+vzG2mJ*Rn|n8UO1Yw?&KdDP#5zM3KWIoM8`mCuWM&EIsl!c-Nfs?$>zNkn`>VzsHDGlt0p8+T>8H z_1-3nXL8qzq6$r~PQwZp_1h|7=N`GjU*Ia;S}#7g_WuRjmrx`xbv5U*s z=DM$eA>sccHn7>u7|UD(|B^h3e{jnCK$p+M%bC~-YucoFLIv%sotB3bNa1y+Iq0L= zbb1qbQk1RNj9%?5M9mFizFrUJf2MmJXt=no4EC)@J_4lPBY*27tG3Hm*hL5fSR=YnZFWz8<;AXKF8MD%x2I>y7^Rwd}7~KSFC? zA~~~_B>Ib(eg^34eO92F9$CvA+I+;#1wOKyr?K4}o3fjeeKf{?(UFfeyB>K4q6c=d zO4k~*dxp5Xk!rB1D@-Ty2}n-;Avvone@l-n@ztvhi;>4f=w7q%3iH(s3|g;FW=Sk# zUzKvIz>GaI;_ZQxy^YmQ)GS~DX5c8P*pGC21e%fp9QC;m1E%G)QvP-5Xo0ih7^%L)| zrG@x^u{Uj3?&J0IQ&95d92EingADBAHSQ(C46u|nT8}049y94)oEctRUaMteK6`QJ zLJl@p!R8)0$y+amvUROjA7jg1=%MwY`M}B6j$-#o(5zEgb|Zo8>(#j|*9LX$r5ehj z_-D0iGI%2V-y@6B8>D;rURVOA)x7X-nFLDgmNB5jdUa|lWj@|TI3);VS+7px6pBG! z3h&#rR{_7>@-S0;7U`D%1gh+o9|0S8%MXCOyJcsjsI6PR6Dh>!+mQl%{sk-3-SUk{ zv99MvJoV9zb&%GBTm!{uu*LyjwAxby>OVvXVRp+$Bd|_I`7Wnx3r5-XlQhq=UL32) z)TeH_g*j^F)?6}aELl_2r_iC(p+idR0<6NFzWJSKTT8cWiJT6eX#JncUlSRNr<)_? zu-+e4QZ5=L-STIV>K8tRUQTko=JwQ&_$qJ9JJE`cdezLc8_F0Eo(UKOqTuzZlw_c?v_=Yc50*y zqq$p-V5tv{)T@_Qj7rTP->Dhg+8M$_bYw-C{n0l}+Y&z%1buYu(7qpLp zwePo&ICuaN3TkNw?ENy9yw)qG9mVeP$aNc+xi;J_SBD`Bmb2CegTeFlocdGnSg%gu zG{mDb)?cXJtGMXsje>eXgb zA&)s473;i<6{_KHK(^?A)Z-Fwa+!whd4*H{NC+Ph6RM4L{Ok-1^9QDQEYvOc0w;IN z-vKjs%iW=3$n)V4S(xo1vM}u-vM^f_1?UF;FUj4nQ~nC@u3e1hIy4(o02^}w+n8Ih zCQoJmJe0OEE>W^Vw=t@xkvKEvtZsQV^V9^cT_U*nd~R>^(rIjA=EA~EgM|sg!psg$ z15X!0u2gzM=zKiYg(^KRv1&0&)GZ9~{|g;U?QCDVzqY`>4Bq7udzhkmsb*cqhiD|& zj(oSyB_7O5IfZ!{j(rv`F>_A3)B*gyAMcF$!`m;LTjHo8PBQ;*!_5*scZNHoYn2!2HCa8HqYxOU+fjZF^Qv;U^aFnf9hz;n!_V)QUooz(=&V^b5|;T> zrv5l^3L+Veh-7rjL%_?h|AD`B)r;4%a=yViOOSIoa=y$tUjzbrXE1j(%D z4@^A})I&l22vh$yFf3Ki4z6b#b|h4JHlnVZvvNO}s%r>x|AKSh&2^pJ{w3;~pGEz1 zrmjL=13}%))ISRhO4W58*L6*xX4zn*H*xxp11F`@f5hqYz{{zgS>UB4tMrBxFBQmb z=iJkomjUfR0WZPHneCpGqV5Ok@l1U>Q}=Jb1k~?lQ4eS80pPq0)PtD1B2b>_1ObSc}@v#*8_7A8ExgKaICLj(zt;RU28IQ#)Pa-pafxj2lzE z+NRJLOWVRPfO^sYSmAbwkfX%n;AnBjurx|QAr=P_+Cin~BBV52f!t|7nQ0ec>M;PKy`v?{O zw2x5YAGgeM)XM&X1(B9aOw%nBKFwc{KFweFx6ita{Dz1xjd9j97A3#o8=z5|gS&k2 z7u3TncfvRg;*w^PvrWBn(uq+i{C~s-Y(O!CcXi8Gd@i+<=QEcWx&*n+Yn%nZImL*U z6vCr;0vNSh?(^LR?Xv1M6}YWfiRcFYr?efwxZPO)e`mk;b_>64MQp*PE^8uw&>tCl zLgoV#b<1^#Aau(+Q2Siwnf4=S`ETOa97Y&gA^{T&gow>V^Dv8khP?qsHryUc64=QpcfGZ3kzX*HbzFNG^3)s?@>!b^w>^ z)=E`7d+}=GQhU5EwTs)6F7+7jBJ4ln0^Ks~HRS5!x8DM5y3~PssT+Eg`Vm&1f&Wly zYfheTCoB`oBwk$;J{;oxMuk$EEH?sm`2IcXIxRxYV{(shjw%hfBRy zFSY0D+}>*8Qg1`4g4>gpz>S>0nM?gys#G_>{Rt4dOVw5+>ec77O07cMFY}Vkn~PFE z=bFh*(72z$xm}$5ey;DQ@N^gON>;Z#k5hl(#rWs^ld%J$Tb|`5&vpW0FWqt+VlUlt zEaDg4a`z=3dda`N3mBRZ(ZEiZI@Z2`S7=<~ zaVtsRuA6bLgZ!$77kwa7k2_i@ij`MBr6$L(xM$}b}4v?b-IK&e*He-xR5rw<|{ zJTBD(E1>zfN#K9-amTTb8~@4-AGZviT*WT*I#X$WZc;w0qv)pp~kNA64GUqZhlfPRzmuE=oqDA%BtH@Oz@aW={% zPg0#+lkz0hDU;KlWwJ;{?igIisyc7lR@FnEOO>Kc+P zJ;5VXZ%#eIBUGv5%OP-vJFLxw=IN5oBTI+2CmH`If&U3D4r_lHF}}4`nbgmx zsE2@hKbQRkQ=iffZO2ZMSWQ~#Q&PikKQ>cd&o8&cE*L46lfw=ngf_649m zm_>bKin;>S%b9v9Qx9mb1@-PM>Z?-J{Xl&gQ_p4U{_PV$eRmdhU5dI4)YF;ze5NjM zKMB;=W>HUM>i&>m38+tJ>M`Ncc9LNgdSDb{4@o%!5rw228XlhV=}vi)q97CC(~aCm zy;u?^jlbhq|0iAQwI&)pG~%=vNKz(%2a~}6Nhw0m3PsZq@^8@poaQGSsZQpUdiDJ* z|0XFv12RYd1A8asKd|DQ#QJ~7Qu7XNyd(ax3qD&1@$n|7zK%8dq&ygE#OKRcn^xTC zvUl?X-Kr(!flzMzBMJO(_%=!4f5W#)0{>_GGfCio@@JCrS0VCelJb|Kbo}ENd=6$L zYHs0k1xa~ps0EgDh~8@WG3p~tBmtXx2PD<^ihB+6HzA&3bLDSM$}2;4!p~kzfv1L} z>q%b!PfA+7_DLJ- zAxZgL#3gL15woBk8{DY%*!Qi6B;_v5nx?ocN1ncTaxg<#av?xgZbQQPxieUD7$fF(5D)mL?D;;m5n08XuVxK?B z>B68En>-1gqb5ZKx z;ORSv$BN+Co#d$}vHm}0|0lGzQaRrBy1T9Z%`Wp^)7BQRwYW|cu#S*7u6Zg+c?{?g z^M4>IBS8OUo9o0xeU4mh&F1V&ru;lm>ZucEE{DpXmc7p@?*+<{^4e&QN#_}J@+};b z9_FqXt!&a_(uJ6lUjVjM&RhgZJVNNuTqo}5S>D=KCzjOWO&+a&+=7@h_HK3zL*%)n z6;Wr8GS-Uu$%r^7<(9yyh;cMV$09Z|eJ+(mdo7akK1RruhsxTnz#hh=r1k$K*8g4N z*ks;?WnRZ~)=m6=C0agVe`#BltJX!9cUgd1bzOk;`kH|0+$S8bBhFlyiZdtW70my0 zhw|E#s?zP1u9l@F>2m1DMVxm=po~XR9X~k&g!m{jY~EqoNqzJ~AasoX09nSfxt^K; z;lAwHa8jNY=#Bd@{sZZ8G?@1&q}Qy_{{d|r6$a9H?taE|WCxReO&g=Yu+O{E|5*7p zZ?&lw)Z<+m1WEW|oQQhtp6<~UV?@%6sHPJ9B|JQM9a zUgLZxTD=SF2b(ef11~4#Yku3^{}!P(X`R{1|7Kt^hw#ubiYDN>V$)}mZB0AS0?%1#i=dK zE$lzgc~Y(c$3v}o`%sEv+HS10B(eXW_+92tN;fb$#y?Xp@t4y0_m|N4_ZQ>y3V#tk zFZY}Ad8xmwmw)~!`RD3m6;!@v4{(Nu*SM1Md~iZM`~dALz<9e^Au1Y6RO1BZV4T0q z^YnhC@$6kE;!Q*Yw2asV?OeqC&vYlDjKTXAtHnc>;u3xTU-MF0|4Q45@hDgEpWc@5 zLH`5Kk8QKyoAgcDpTE6hsZv?RcB1Jk(^iaK@};-bsnI6#sHs+CFBMKM?9=vBm9^0r z{@7=7Db~`B%D8gRN{r+^+&gvZ$`#0E!bnyRUX5?5k*v6j-5+2lHb$|PMsqo@AQ_{% z43d1pcWT=lUOz$)b7|yP{uT%~3H)E+y8bDb`o_wd44;$mKl&fB3EF=!ytB9+QP_bt zrl7p{aQZr5N&8)(yPcnIfdpuz{@h2}vC3DznJh*#5Hk87tMsOG?r|K*81KZ{VqYmd zsz(mhsqw|sI@1n{ce~*+&GUT`ox;&B+mUBl2x%!t_P5ljA2FSqBl<~c=bESc>csFl z+Md+9jCF=GH=)L)oXAvXprv){vSyOKc1D@B#mZ@?pryp;FkhW|{T$+?PDI%jr|11r zq?K?Q@tBl(T;2lKAV04PPzg~lsJM>t%SiX=T^R4;O^gv)AL-pUcvsOlnIx)QiBUy6 zM3eHLc>A=?!EfnZBi_A-chN@nMmRS~=g&a882?`Qe@N|Wq*92U(w^hAr-6~{)HgZB zrEbmGWl6369q=*yKQD3eu$OAy?xnigy?d8lft~zUvE~wu$7|k^zukhq`X%RC@1=gb z2WT4eKXx@FvHu^|x|fArDY;iBzZ-!*d*r9YY_oq$01s0Y3(Z2Q$VEhB+Q(SH6 zuB03Y*{+_XX~V%P{ExUA?H{1H8rf$vB%P4Qu?k$LPSE=R`*KfIA|6nu4y>VGbE*E(nK6|r(9`;V0{9C$|=7>RH9D3gr!Fo{mRt3 zVnW`@6t_nb@>c9zNMQY+IKMeEAD=g3=R!g@W9LEw>;DD#To$q6{dK9G3+cGa<5*9f zE#61%X5}Q*q3vBb1Ablt`~T^TO+wD%y$gt8>T#Dk^@&OzQy8mLDoB>bSWU=tn6Jr@ z6YN3dIF7qCEgheVyNt&fnmsKESs57*zDA*iHK<{DWE`GOj`a7`sY5HN-)W>LWIx1R zcIk1K^S?5pE_JGlX`0v;C1iq8rtQe+JIT&Z%t{LZb0(x8JI?D=)s!yzD}H|%Yw>le z*-CAoQQWmOAwT4lLx>90sqZV4qRpnn=bN1Ndbk2!K?3{#>D^1=I(4T~dBU~80lXI2 zACa4cd?ehDBRB1^r<*YvVC~cg`R)Vq4U64%>O3n)Y?L~6D(n4fXZglDb-@7MwO}gS zRHq)v;~jB`^%&k{iD#(0w6z#5Jdb;0baq6fXmlzf(jQX3CS1i4k!mF&7jk>9R zwB>Ssz7$d+{hS?!{TisvPFKLYOh}iG{=1fzwI}3-Og#;fs%RthUnko1xlE%zOGp1* zK>rD>|5Hz##?+%Q?EfbY zJ_}W#o=<>a6TtuG9frmk$e+0QD^tD+MaHcR=Dcme&Q? zy^xUS0rw~54`=jQJDNs$>3>I-O#nj`{1)Dh z^>Podp`LICa2h$;+8xfs`nYD zIsk<16sw!4Epyq&AesE0)Aj^gcy#RwI>joc_$)foN?J=cdJEo8$nZm`%wOVNb0hEO zU@JxZqW`(H+ky#s3(_xdq`IgSEp-K_UXMtFQ)s8j>qJSGFM|FD@=pN&Q@vLpE`af` zMMf%Vuh;>ceJpFy@LfXA;B*%vBMIPt%3%u@=vtraZzSa8R9qw>Cjm$}y`AxjWFpwUU^|DT7Bnjyp4Y8BdS=)Sgp@cZ}rB;>ci z#kAKaf%SiK-0w6mr1$zHB0A^T#PF^xcJZ>edQsL3%V@%N$q^M=)$h*4^b4>vPhEGhZj8w*Fh4VlvCUPAqeztu@97biRPg7z&Fq zid#ndPBM-IJ0_$Ac7%PfX7*ah--44|c5wPrxWr;|2xsCuo>HwE7%Wci8Qvr_XXZG$KKmuqJMmDXU0C8 zYY6;+-Tn&p1OBqkDZD3vuY9NYn*9K$*v|VEZ^P`q)_JCTgxe|Zui&*B#VKxPpJBE0 zq%DItImPlp+AhcOtwdum9p(0MBXQX53$6BOQ7b2p0aIueiMmca&iK z^Yha{r=&F9svv>&f1=xqb?%GzYj1V~u@BlzZ+G|xLN|LFiIY;UJ0Umu$h-2S zXnyHS$op_|AR+Jd*&iFyK4~8`OHrUzxa9<&isvkh&egt&tW$T~S=%;XD?AfKB_?>z z#Agkyixt(jEp(lsM;eK~$>(T08IeZv0~audKk^O5%Gh0~XD&a_2FK*@%mV&?Vr6=* z3-dqUA5hl$lxtl3XHhFk_#x*w7j4I_740W?)v5PqZd5 zcFIHE+{uVoB;;V$R1Imj!v~+V zk91|GmvrlnW1l@y!+Wa8XS)bz;z(-;>smXNYdFVC`^o6$k_6WONoOZ`Ct%Oh)RqA| zsShaUz#85`mC8ASa}LeOIgoSq_nw)m?XZ=1N~Q9ckS8vCB1Ua-83hiG%l|~maWl}M zZE<-dV#RX^XWrw|9~rp4qOJc<)0Dd%$BzwuVn}<1^$N7k=9;lDELg)Y{vC)mj`RO<`Im@O4cBNkL-VuZxc`q*Uj&ACs)VBR6vPWN<}KoZ@PAzH z1qP4H-!VVCBQ$H~A@};nyevZgSX|DDkUtie z7e^@O6PGh0>Dar6WAAxeMuNW!_=beI{9&X3HgvDmkPh|5SuC3gkXq}27TsgERuF~Z zk;LUGNS(;D8X^9;JP9!!r|Q-vxjI9V^HE{}s2e7s1o++`u`RDtn{bv`^Aofa@NxNX zAWif?R;8W#ZUSvjAC>TbSaFWauftCD?m8rBt9@s9)l*Qr7M9!sJ@NxbTD1=3DN+aF~8pq<=W ztIN6M5|&M2c+6AUTQk2s4pit=4{}S$6Xfv^ycm}%q5+SO=9?h$Y`BdqAcLX0KC^4dRH5e#=B0 z>;IZVDMjHBZsmGc~Gi>U87*iB^DAL#0im|>{(ptK)%##P}c6w-+ zt6+OMcJRh!WvEs>zM_cMt4#SjCS#4QA7-Iq+_N)nS6mKcKKh5^vOLruIZHzQ@L3ot z$EO8xhqyH1js)2Mpc$WuU?D!ELE`T}z^UkeAlo?h|5x;}j@9D2MEx548fXgl6!JP& zTz<^!>v63A(>hkIc%qS7WoQ=R|2XhJtz#i=4sq^OwUgiJb*wnf{}bJQAk`sQ$I8b# zR;{>OKMmM>#hY~Hq2TFQLygN{qu#Mt(~8U1)Qb0HUJtk+wUYHtw5Ww}MZbM{TWUqM zjW|rNXQfxOVE=I^fw7u(V`r`Sh*y(q^>f?SwpyX`o-t!xy7y`pyvEY>>U0@o>4=^g3ythhXr)5b%xU+gb#2YS@K6v}rhr;QAjU_Ve? z4&|qlfb6N42XGJe3%(Pbg4>|txc`qNR1hrH_XuULXT`DqpVqT}cL*}EQ_p+>Inj(l z636_H_3A0R$b#FB+}}c{Zj~eJTWW>Ev_zxLJ|6*xqW=R<)mf?CBU3A0v675wekezb zhxF=oraB0;S}Qhl4;VM^#^p1db^xpC#P1V$sLX0&#g8(ihYahg6D|dLyScGk?=L%_$DgO=D@| zY%yXJnE$bAAD34mS`nA?1GL9t4%VRN>1$AN;Qu_V@8_dGW-z@gKw40X_(fdWIPV1k zORqJkxSSlwjS0nNb!v@2E~^4*e`I9NdVd`I|1}?^e?ap=O7(SrBL*6mX2_R#?g2u- zL>-Pc8kT4S_ty8vKr#PgWu0Q6aruS6R)pFANXJ0qjQ``<|4%*Kk0qFnfujEr9f-?= z{y5J6lNA5xC;Rg}_PL|~{Uogehzi8zlm5PApmE@T+V>QfJF$0xwDBa2&jkZmPfWF< ztJ%;v@@V4nmt5a^#45BHD70iiddE|43>5RfpJJeKd4pezfx`dupC|@eE28WN8F8Ap zoX6++DFzBoa?)JPNiAeHW`!05t<`S>pz)!_K;!akrm8{Ppt}{+79$3V`JdCO(Edhn zI0_{-Glda-vEl6?f2}$p^VB-t6@zj)R$>fICw|fYz=5#;K8$}~tw_iJwbTfw27#k% z#kmUQgx8p{0zf_Rg^xZz^-;Ya17pYKhd$mN)++`I|DV&}z$yK>{1fMR#do3@DEvQP z+W&scm)7?^zFeRCAwItV`_JbW;=uoDU;9_=Yn$2E{sm4R5Vv>v@;$ZcG}aQscC6vH z-t4PY$1c`xlz5acO0g8Fmz^lHU2E(x|B z>#*6r_61z;c_d@?CFUsYYoEokoq%$hxYk-RK8K@GJ~Q%N!f&Z1)C+@shOb?#Hgkza zN+H)}K~$nvU64wlK8phflO_n@M)?0;eWkFaRy|jzGrX_=W8C;P*68E%ORwcAw9Uph zNx^-d9r z%nKBKDcI_AdEf~oYqD$G!L-}BHtjxkr`oZycWw7^Z6u$&xs7*vX@AI}&VsFwAJ1a7 zqOB&ozi;5OmqRwS>L{M4oa#0D=>*LyuYp%izTE<^Q@vbYyCWKulk&6|A604;kIZ!ZD{9sPB|U547pMB$~C`|5Wz?<>GUve)ezLxG6}WA z3ck&jJdMkWxQu+;iQ)dg3tchX|8K$PvB=-qKacVG|Cprn|7btU1{f`C zb$&ePKL^^5;rxHCIwY%=G5H>s`gbn%uc=bs;J1I`Qr}`8ooeIN++%!e>wLsMVsby1 z`b6aB{k6EEk7EizPE)h!VsdB1g#O!|)0$0OgNN&VAfimj+diIs_n5qwQ|`j*daZgr z=Q8%w#N=vDyNUU#(fRu1(pjM8f;g}N7C1TVh0 zwPa(d$J`df{r~wp=-hrxUI>}JR!O~8?rG#*a#OKOE+)@rPHG~%aWh4&`nB%8Saxc= zZ3=Ps0@ZG1s#78{KK~z+LnHlA`bm*;d=8A1;j=$>GsI+B#Dwp~h@QlN{|oRv50R0W zRJaY@z^CZ{aDUy?H|}J33hSj8i#X(9`1y1v!(^x}e;KBcnLbZ~kvu@# z*HA02QZmO!oa-Qo0klGifMlhmrqnMylP5|a<=I~(@iS*u>2m2xNZb367mK(~38 z)=IvK->+mo$5&7rXbc`%8k25L`3X34hfPU`Z6$mBITrwwdxbx zs==FT)vbdvPoxZL9mpqA26!r3F@p4#DDM7f@3PcWKRmUhp33nwGxb!4r>4|XDV_{@ z(AnZzbujlZS$&7T!<|+-iaic-teK^gu@XQ?Xnbld;AHgapF-pGb0snPN1)Xh?*F56 zCHeUF6hC)heVe5DIAQ>e=0@^d%yh?4O#YTn!_&Ev!R;~Z|EJvTz~eU8N$po7YGba- zq`p5zJrLCQF!eg79@KsjsE-ZIq`oOdT>##ZbSp#7Mf6*_|b9x++Z>COOE3H^zTz%^Urnv*wNd=QZz`e3;j~W5EAufA1H3 zzeP-L1P;DfwV_42byklwQoC(xK1NL6yE~|rH(}?2b~-gCZwS_^_nwbjrI6|zk}5{o zWc;5xrJ8V7xbvz$iz-bqIiDqY8IZa|ykVodYQ^)qw?KEE(#jRhY)+=L^BsRNc|ovN z?7WfhS04T>X#v$Iw%<9`~PCN z|Bu>K3ha;m$C-tg%twF3u>Mbdc|1_qE52i#Es4n^0m4|A|Mk27hju!In51JY^;Rpj z(C{uW{{u6l|FJTjdA7tM-ky|3TDkW)#c=;Woh^yU7jfGlt@^?K2l_r+5|ev@vSadh z0g}RQto@_^11COP5|f@3UXIBPIT$&H{r`lKW5EBtb>~L3{9@IDJ~VXa!y0Psf76{G zK~je9%n87jjzBKxPL&=1Lw6SN%CvF9nRG|db>}>m-VcDv9b!F8wpMJ{eUD7t8OwB| z5t$%aor>7Sl1p=SXE4(YKuCTG=K38o@w(k6qYknTFh-}?? zFaxFc)}38`O?S5Y4c+;*|3td8f!p#6Kk3fh%>SMK@6(-?sdMx(xjg5*d`w>L*K}tQ z?iNg+OM?AJ3ocgwUXj+D&+(n~=KIbi#q|CE`CDT0TtDVgp8t(|+G4!_KPJZ^df^aZ zE^is{h@w6k#gZF=J{!h;HiY|W5cg9Bx49hsM0nZo>wc;4BZL3PF`O9o|C>B}_dCQ$ zt{3$;X}x38PZq%b12@9{12-amGUn7ShpMh9PVIdmACT_WD%nSS3USh-|L!Z^e!xZXBKUv4>H9Co-K9fQXOXT%Y0vVEAFJ;% zd6};?*QVy*316D-#*0apuf;WO|3|+3I;E1jenLMyu*q9WBM8e3;`n`#iPpxD-e zLl=o=AWCzdL-aV%H)e<0wD=Y$zL{W=Z6mb%X%*VHvf4Qq5wBXYPWKYYTPowyiXkC~ zTEh~q6_@C-3T@rX>Y6Y*#`phY`~#Cx8;^P&YSChjo1&KcZJJKpgwp~PQ^WWNnvBWA zz{Ua0JWAzcS6e-`{~ti3G5NmN($&0_Vxe>jsu6Gg>ZO*wsoimp-zCeQ{|l=y|Lc3~ z^YHyZ)?RwD(~n{=eIEY*9rn&==Oy}Wsr~sexj8E@<@qJ=!;i^d==<(zZ=6H5*)<6g zg3FxAR-xtTyGzmkh#WZ7wJbT(I%>xfZv7%qUbR?@<2l5(oN^kO=3+?5p&sNkLuYF_ z#Rf^^Hc~EEi}{e;>HI(Df9x%YVf~-#ngC>v@$c1sfv)8lhk9g=c6YTyjL)fah?nlv zC7L%&^~`_{OTx8lvJ*_ppZpAAS?vj`UNkB}K9SUulcVK*ZExl)G-u zAYO@9s@6CMVLhPeRZ~^5`vzB3ei9)Xr|RW$XvErZk1bYXQ_pk{?GfCi=ujPvR43iR zuifSwl`jCzMsfbX0H04qZhs0Aw=-wZzA`IO*Q(Dh$&Q{yf&VGjL&!z9Zbz~HPtTix z{2l7oth1VAYw&h`#EQ>*fO?~HT?GAKiBeIzW>XDMCW`z2(fx zooYp@Eyf+XPBqT;7b2BF79-w8i%Ak)PgY)8W zr|rP^a!_c<*P-tuOSklR7whBVG>H*f6T6O-F9Q`OQa4TaH&Y@9D4gF5a z0+jl7*fgbL!ha4`u4d5B%xC zZPkN5w~j09+;#L!^ZN(P<41n5Xk6K$VTd=jX57mZmA8gRcHKU%9CV9Ke?2gKT+s)+ zj@tQK-Ul^P4<0D4F8l=1B0Ue?Y+%Ok8_r=lEDW2b=N~oYzk%Oqhywo`zj>qWzkQ(N zBJq5MGDhzFr`2?Aj^3nLou26G8c%dhmnXXR zpeK5Z#}mD^$rHV;(JtJ`rQt_M>UVN5=cvmW8R54$y4K>nr{y44T0OLzHH!QH@)7Bc z%D-?eZvfLqf&WPsWvn&j`U!XRKhFI-)T#RKVL8+VP1)M=2#{8Um3z%M}<>D0FSIQ?Gaq^EVv!yPz1;CaS`yR04RcJ?zA4~-+c_`Ffi%fEVx z@z1%hL+MfM|EFI!^01w?i>P5|)rFiVt=WwsyV#tv7g4PLN2M$EI|KL)(ehvFXK7jI&V>(EcRQw`-R)l)5bXuahtyS^WVA~;l5G?)j^rxM@(9i(4v zjAH#i&t=+V7aunAZ(YFxw`Htx3vkX}lYt={ zS%`eP;wOQdcz+jwY)C4@CWm0)H0Y z^EcwRAnXMjo$6NBw8GXRXz=syV%U)il$i&MP=-3IZTTFBEa6}ECCQnBB}nT5ntlvV zajZgP{NpK#^Zz8@qk-Oj>^j^=Jql_60zRhIlj=^ph-< zM;t4sq?0G#}NjOF=h==_-NZ z?fThvEe=gw4#A!R%>Rg#p#QPs0P{chX-U9@{w)k#q)tSg8ai^Sw{!hAwbrDeBa4oX z^08h~&{~Mw70k#L1ga%H^7`$ftHQ#1RLpurHGYB9?@`?UN8dm8m-NCuhR*yI5dlMI z-b8)yywndXT``%$^U-F&k}gt)RBr z#W&oe**bF}moW`@A)qH&w=|uh_5Y}(^?yx2&*0~3$i^;qb2(%MsCNnfN972#*{;6b zZ0L-`k*hN$Ojn2)0&e(aZqquG1cr@b{hxG30K>xmV}(8{j{wz1Wyp7t8b=O8XSB70 z|E4qVV?CR6=3Sp%eY`nWXI}S_&K$&P`>1@`cVeA+5@=c18MSq>CdXuBuFh=d^8z%s zevR7Vi?em+0dSJ5Gk5v2b%xIWXX?z2*qac=`TxFj<|n>Pomq&d-a7LjOW4qvi+qO8 z)B}k}r4zdb?CQEEYKKGpC}Vt+JkIgi#lSh-R{d8bvUTP(E~5%D8@t+%bxYHkVf=mw z->pcp7{Jf{ARD`SJ!^)cGxYm^u>WYYUERvkBs(*zDpzNY0Hvb;u^MexKV`bK&U_6_ z8pZlQ>CER|(wTpHNoPLtlFoeKoh9Bx`!t=Y6_<1U|4nC}2OcJ!dD?5oZyx39%%k}2 zzo>i!_u|3->-~Fw`G%d@0<>=E%tE`SGjG-8>dZQza?Q@%hT7h=XY0(3;3QXPmU^>w zW--S}(sR=l!0NF7-oA8Z77%yZ&Nvx==gdvIr)%iUWUrw!XL2u$$Ev+uKgsS81I_8a zB6*DP+Qs2YO=oW9p32slQZA#&OFHu@%Y<}B;{5-GE{Xg9H9I4*{!h=xfTr!LcIHvj z85|7bl<$Bp?fNZs&>8j9m1#a`Zjw0vPbGYSHFUfB2ut1287bew%DI$(1`3z*HK1@Q zU&T7KlrLd@S_1#i60Nqh&S(*W@7Ea#{7*U~<+g}jb=G9-jFi8M6eI0^tb$8YeT4%;QleRMw>;E>C zHZ9UyXQZ5j2!Ww9QjX`?ilH<2cbtNFYK6No7q5N=gkmkM-0 zrx1Ql5$>HS@mP>+HMq;i|Et1wHL4V_pHs?y4%N66zf~yZwPE^xb-3&VevZWbe}*pE z#9?jjR~wphb;*HjB(TR^b|nRz(?uV*KM?_!r%DZ_R{5HW6LnVf2Z)qRD85hCZeI5-8g|*@9it zNHHroDYq84_tqd1XC5tOC(x&q?=bqbrO>Cu{{L#%J6(3w&3&p_JdFR4g}rg~f2aWH z6a6284HOGlh7Pp{ztc#y6vH1!|A*{qP@g3?C}483BL;Ayhw)`rF@f` zDJ9PTQ`((qrAB)zKd%YV7;$o0q_xz~H*m^wpnjWZ=GJRFaB85l6&CPBku%&cCglRA z{1MJR*u>*ZnTI|3R1WFzEbO?K!2hJJbs;L*fqM`z{zGP*>>Au5f&cAlQ>t!Co5Uqf zMBR3^fl~+-PGoE;WmRYve!V%Z;o5mln|hh)Ag^=u-g)#q?0q5nf;2rZg!>Mg`0Tb) zw#BgV(O?%5=m7rQ#oX7q~Y z+r$3ziZ@xM*Ml}OcTTp>zW}tFtMg9=vvvOWpvlzvhl3=`?ZLiu9_#-Z_HzTC`qKH^ z`6fOo*8=OOb>1?^(D~hLIkef7A}$j5|2fot<`e1sZBNm zT^yL3>u2s}x`%;hZDKleoAxs|V4D71nX6Q_RfILynA9xG66XPH2(3#O_vWg422T3QX zl&5vPEV2Hd&z`_Opk15V$n_##JUP=U?(o^f*K@#$$tGweM2jb-b@BnOb%PJ95!m@) zQ$J;S8y1J||HJr4YQ-)C1+C(DD}bDBVhWdN%#hb{$~8dFHuWlQJ!$9Qj7Xt|f-Ysc zMzqwXYH?xw{zXgLd#y#pMM@hYE)u{0M;dw_A}(}Wk_7%I8B9j28dG(X_KxE+$5NR> zyN!v;bHN{=z8&tHDdwSNhF0(4yf*b>ljaZf_ISxpKF)|+%7oXZ7Bppgyu{NHFL}K5 z`+w+vpnHse+(9qpH(ta0&GiF5PGN7G`Zdo!HgS>7=o3S~-_Wr)@E_`(nd1jM(+hh` zxi1TQOW^-({eH+xGHB}qdrSF12KJWt{l83`n2Dp-5aL!pVdJGG8*l-sh`(SN;ZzNi*07SWuLSHksIpAGVZ}*JlWKN%)6n9 z0_Xp$T|y>+$py~;H{$a@K+8g^5p$cs{{NYx2RSsYa)|3$I%!+kTdOR{^&wDhKK}2F z*wl`iOs%q^1|>Ru1qm5g|?0RGqJS0UR` zTTj;fDuDlUZKc5af2L0<@cVz6x+LUH%-PC5FuB0}e`%jm$fhhzZr~_^^?zFR5wZ~{ z@l!sf+EJ!CpOqup61%Cgp2B~|1`i1-r@Gklvs9)gxzvfd4;D4Jsl-r?Mc!A&lqY^i8 z-3q6qeM%v356=`M!KDqDb8@;KBbU!{$Gn-&KA2d+nLcTWzB}RX!cXcF?#Gk;Ql|GT9V}-p#OWt4g~Oj zw$A5e#SSq3LnO;+s5g!hxc@&>=fBNbzfRjvA^%BeUDcvyn*9{=y^v-D zv*~)Y$gJ4aWX8Nn^*kj(NTB~W|L;SuCh@R}H!2SPJ zn+Nd>o4QglG?A>^y_|9vQ1xs(CKvMkJ}^1@KLe8sd9Y7RE^z)|v!5Lqm>iN|Oir!nmuiI;hr;*= zGG2QEOfKa8z`8=-mxIX#?*AkEIa_pbpBnb_CLNQb{~42`|AEQT^LCb@xH$up3%M`| zJH>PUY+>edvhC+3T=y&;lg}1caZhMkYvZ&FbWASfRDM1Ov6R{3rAF#?!+xH@Db>JMc|)C0_m@vmcY zf#3g|Ej~%rO=%%ua)I;zRQEwn$+Vw`12g$|j&%E}YO$~XWg~4*O3 z_dPl$$M^@LM*jnQ&K9%^plKiJOOR81z?8GawU8$EC~gL3TaxC3P!HyRruzpl`E2nR z(`j~+xO^L!9OECDT*xdHq91o&D2VgqcP_$(=oZg z{r|JYR-SXyI&)<&Opf_K3zG{uBMXxYX$K}3a(W+_T;TkF=A1hrYhQwa$>IO$XDg}? z%@*@?&ebM^a}ATD{}Dr2m=mKnFgeCQP$kBHFHDYc!97SiNfPwym>l+>F}aXm0h7;G zU(&o3(UO75h5W!bTU@eOlVwmzb7bh`>s;$W9h1)%E~YU&wx>CDe+DMU_~&=D|9`gF zm7*p+qW%8@zyAmARNvy(lXf1=@GUg$ypQSbMN4O^Mclucm|Vy;z~n;S3`{QMjlkrv z|2ihe_y;Bz(v4QVl&YJwcM+F)6_qInahv%>sD{bm|NCZ$gItrQ)t!(iY4!JEasm8L zktQK0`DUvtvu1zdX)Jz?K*-U|s}=nHKf=BQKC0^a|IK6}3ELzrBBBlfF{}nuw5~%; zCi?=S1w0qr5h!#;Xfcw^fK!c(pbwLmeAc%@W)%vqmZE&l*)LNZ=xyihX%MbtG zbM9MaCh_-gKMr~K-E;4`=PvJl&pG#8%>MxG6@~}Qoj^J!NB;+`HBmJ1*QZh6=P~=l z9N%>QpY)W#fBr_XH)9_V>Ve78|7n;U`@b|yuFFGy8sG2sg2{FHS_&rD<^Es5gw8*Wv$f?kP6`3#0#m$s5IKP1GWfxHAotWB&Ua_1E!z#;g_#cywg$DR1Ud zmI0GDidRy;&Wkwx8UvGK|Hsc)0+Tn26SyQAuhau``OR#!zfn}NWYaOZNB0()-)Apl za$S}Ilj}JDPor@;)7X2;)A-$FKaIpm(7Whzyr0HjiJ$hAC;6*6nuPk|0`EgQscU8L zn7jbo(KyLP?~d@K?+8O2gzy`2VM3@+9K_5ocR^!Q@H#a0(_*!vDW_{Z110 ze;P~OENg{NlJXYAPM(y@fU%SEk7!?`@VnJmn!DKk!cqOcSfjqQP>rRbTu%B}O3Ghz zDKldRa1{H&gk|sc3(r_zCMpCO+|q z9~P*wlmz}Ke3FzSpa)3GWAW4|rZDg3SW3eFPw)Cdzmt@C(C;K=4)i-o>4bhKDSwVu z>nD^_Ewn;SGw!_pzwt>D_y5sYN&^2kicVMNSo#ol@}ztZ=p6n3i+1v){Hu+1#a`p< z<<^K7`@5UO`G0dPJ&oELaKfz zDNEtw0DK}m+^1@Hm_+vhChein5$XLT|K^xK z1@(`cpFZYKLQB)_KS_C9Bz?>eLLS@xgZa<0%tqlg!R;#Ak3nt~u zT*ixGM_Yq_9*F) z+p$iiesg=nCrSAK(@ria>%tBC77y7BZG4iH)57_9cOLvKl8FEJOZX&-_<#18xnF&A z#SvZ+QrF4hh8`yg`+oyY>8FpGzThNt%sA5YI7!6+OCK`{VA`aN_JV1XQlyWa1Odf1p&%f9MO+ZHAZ^ z+=B|AB;|t!X2$v-BAa1St_I?5(CNGwA-aPzXjOC?tKzCqBgajlF-i6*bG0_dB*p*3 z`X5p@!v>u^8P#|rjxXo8^YPZS8Djo(+OMHmXwWq-(Hx!R|DQzse;S=7+;7_2M%}}E z3pGpB==>Gun~Ih;=swPuicgYqEIj*@at!n!NjWM+Bh(GgezF;2{zFTWl*2-3uT?jV z-ho_ZKQ1$y-_VFx_#`Q{P_=LyEyLGebV8#4KYWsu|7Fyj#QFaQ{k^oWKk@Vt?!`;W z_ks4&|3LVd|3TU-yk*^pmyS=+{}%pk(0B0Hr%?>k%sw&K#H|MYPRb`x@6e2Wz(YOo zH~K#fe`EibhQE_?1@L!LF7E|@WBpIT-$|VR|D`?UZ{R)Apl{;dGWV1h1rje4_fD>OT*y8NCRt#YlYBWwzS(y~OqTz3Y|cMzMM-^_#`R&@tb_Kzd>wip*qs>Nu&M-zRynR53&9O%ThlIAk3tU z;i*A<$u#z!@*95lZy@EQ{1O-x-+$m^eE$Qqr~EKbE#BhR@}5$tQ_=swJ>`o)y);ht z1{%aoEtz}DZ9u)){|887PgqE|CqDVJg>@Um0{)gX=x;ZfQZ>iYt;Tr)?Eg{QTN&Ti z>%d9oTKT)Q^8!hn|4&~lFJaDR^>SVS{h#7rk)-qg@I&+HDt0#Yqf5O5TkA|U=0Efk=zp{~Df0u%cQ=SJ zi|9->jW(qNXw(-J(P~WnPv`n+40Hp}CUO2>ovBXBFh2)?AREN}TnA}@)wlOcpj7lf zP5_|){S6{)eCbzuOsP|;nE!ZpC%;pp_f>xq@&D)ymq)yg@vqJwTe1*4P*0X-%VMkF zl*JP`-49uadlzNOq8)mKgI;x>vqA6V+SGZ@2GNiC0oQz<(r#5OC?xs!3i@*iN1XEc}d(T_MUKIsoQFHW>Moa%%gqd}-$5NsPx zH3D+b{}h?K8}@&S_1gzg^STlLuN1!loI0<^x#wxPjkQ~T4V>C7zXHC$cnZa1bUIsc zF1j23|Jq4Jc?!-$&qj`SIp05G4WfM7D#k|*`o->)u~Dq~x`F?xw0+PUG>FT&9m;oh z7E-qZ3se111Gjd|Cu4(E%z=|UczP6wwp(sQjDl|1{~h>U54`Kl^v&*nJD;=dmUp16 z?6r{9NN|8TprvvGKK>YUf&-OGBixPBe;?CEQ;W2C?rqtq;R@&s8pPVkR03jdBYJzc zyoC9m1w2n@cb%P$h;~+Rn9j;~BmRFD_9NYh|KG8@G4AL~saxe81x7 zso=0dEGZ=ksaaNncjF-$;^kztt{dn7UrIOzW*^7`Hz%+Jj*C@zhmu?lUw?SakZuuQBsw(4ae*OyBx`Ctir*iuN zFgtPE3H;hE--+7X{trC$yXEUq#qE|(=V5x@A8inCb5ATqJbYFDE-wFBAnl$Keca%2 zQ?xCO$9AS!XYts^&xHRQL@}3dOLV2d<8tQl#uOf}V;&b9Jf7cu@w1A{h2WBW6=^jv zx%>^+Ft=AOryE?>XK-1;G-Vc-=koJe%;in4^nO3Z;Bq{3S(3tKF>`sM#buVkg_Tw7zd*$*dtoGEiKSa`HDS)cGWehl2^+%AOzaxY%KH~CiS$+<@O8xyYY~kIA z|8MvAKVcE?mTyN?f1lsou|vu7HAKIklfmT+T*F@2?0fe3HiOHjGPrz{X*OD1{+XZG zGM99=G<8(oWpH^LbGb5w%bS?X8!Rp_HMnev)a(0Olq@NBLr(iNwB`z~V*#`xbV9<> zsg0qTPH$$RUXt3(h*ok@r(=xDU(fk#BD7LhbW%>|`mD8>|D1kaWGiky(ng=VyNSz~ z%BiQKBt<=mpT|ci=6(&gsEoh8ByTrbU9VUe}G*n&UeL#EkVH7`$hn z{2N*TdizBOM$VJq@|))L@lE(2>wm9Y-fwVucLtX$ndTOY%VqrhN9I!Lc5N=NHn{XLmsg~4 z`5WePuEnLt;POInd3RGfm(^T@w^uIDHn=<^gUeHxW`f1#$^1N;xoqO{Z7z>BxE#V< z7Nv06kGagZxQslbWT}D6uqT~M9f+}8b{WV${Y&Nt#-_L5gwlKbbEf$OC{y+L2mE{p zh__zf%H`W!z5#?xJ^m`tY&Y!xc8|XRG}|rrhRhy+(BN`=s9vWVd}&3qXW?e9<55_~ zGiTvC)Jt5h4yDe*yE*?I&nqJ{?Rc)e1l;u7X|FeK^b)mn1X}tVYrPr5d5c0gja5?9>DV&O+v;!1CTZvKn;cM0 zz>bh+^vS#@?3O=!9UHlw}CBI((fVnX>W!=F4q@C;r{wIFF1jg@{p9Pb< zw24@CPSV=P;Q9Tav)!@LZ13AaYT@65+Qien=XdYe)(LJY26&TE?jb^?H#;Z+|Gy$2qLrQHZ3}l#6{Q?FdVm z?}=z5Jr@+`j_Q_UIBit0U@b)&Bwu#Yc3!|^vBaCVx)Jf5?Gam=AqN zx6BPvRH?~`%jO(Kaqha||4$P9Awcm4CwrYp$NcBCIBvM7v}{fbaN4&xyH07j#q1G^ zykBtor#K%#>3N*@eNO9SluVpcnSbZBH-OOlw%_M>uDGg`;~KS2CH39UoH#%{S88VBtEVf)7ZAKC$||IkEW{~xH=r@AOw zIHNXSKHl6LD8-w*K-rD^|4i$qrH8^9hkCw8kto#p!EU*j>;3~;(2e+i+8AxZ6`kbe zitj(aSpdyQy=Z8rdK$!ehR(Y|crT-PAxObVNIrfKaFW7qXv4;<$fQ>X(xl9dhtyY*Q%FHQK+p!FP&=Cn(Of{FCPzt z=D-fa1<6t0_T!f4Lu-TnXDMZ|M6>`SC7c#D$L^|*dVMY5%}e}!&7;fYPmSJhfgZc% ze}EqAMH}-^IEhOBgx`DwdwIQhk}1tMZ}XeK18tkUn{N*AoBgnY*NXv0s}>ilRw3$6 z2erxr-MwS2b6vOG!nvPdPlayz7;t;Hd<2$p%zs$PyW#&&{k+a^$MrPZwHEE#KZWt9 zvtHlD*sWgd;2P`ogJ(jXd31|U5#lEv0jBGZQx%9#r43q>RgC`UdKZF!M{&{GdOrD~ zMi=GjX8V7)oXs+MkITFe^AQ*@&*{_L6sx_^JJdU1O)@peLMJ^OLlrM}5;{|3Zcu&!P#PNRI0 z-#rhUo4>wZnEr5zn`ijl(?G^~kbX@X9mW6aLj1o$8&=`gqoM~3AA(FbLG}fRK-NmP zCOX$41{qeF!5z7)r-82#o4VvGrfLNz_4;0yYPsfv25mO}&TkMe*5TiN(3W0+f3q6I zdYaMMKvt|9Y7jG6U)mt9rgbLw`|{=GKcUxdD%aN2C~~ZEqNc31*$<#rL_r(YMzuo! zH3hkySR=Sp>gO(b9&>Uw+BUF#oY%Es6k2l{r%i^8-FTV^%-@Cc|I{xh$MV{{fdBLH zJ2F;)-xJ`u(S`W`{qQ?1R*2sru_F8y#RlPbAhZKr@c$p&PnYZlUhI+yV9$Et*C(=6TRO*@Na8rg<7PGt%nW#550sW@QhW zHB9p-&@49kSMhc`)2sr`(LtHKEoGYPK=Vo(&DBgp_m>?wkxwXqTMMG!3As7s@x#rn!J=JfPW^Mnm!cG5?un3Cq%^8Ot!I`iT{!>WAkImvCjji(CBFsstm6pL zsWSMCX+8$curwNq|JQ~1e?+q+qn^Jq%`2ek=G!byx$R+^T}-nyL)K3*&EufyOrv>- zY1)})a7I1%G0okec_xi!1=B2N8rAc*46bFG7U1JI7o^JVw@h<6(jwoX57K1Ly13A+&gpL(EgxK3}H+)ASp`?@dPG=gbg*AKRtk$C@Os7?>^E`fFk znE$}?_2OI3Hxe~#NDClObUKyLAQr=BgumFD-Ua*rO7N*p4a~6kJcRsTd#I**U8Gn& zsSU5;-DWPUUNmtn_4=o<(5rc;>`+~@19-JdZU^c`ZZ64|+-8(;O%r=L@OOtwZRh;! zSi{f-{7>Ja`+>&0Gded*feKZG^aDoo4wGeotRDIwrGxH8fCdkuV*F8 z&8Eq!qF<88qRbDTD8VB!e@1p()OwdC#JGhiUS9p%JC&vfgLW>}HyeC*wVj zW794O8+iuJBNojDrrFX9&6*6FTP>Pfm}Y4&Gz&6luCi#ZU>dqZIg__388l56O)b+5 z>xIUdK{M5&nGBjXvg_(S;5G0%u1zQT(d?wOW0CeuM%qB6t<6Zw zLE23jX+H)U^vg5S5=ir9qWu*NbX>nIN&j*n9aYou6q#evi z+lI6)8EKChcl=Ro{W`I{g=8_9S09??Yk-%#yH74`=giYgg&2ow@zQ%M5Wg2ck+H8*!TitjmjeLN)3BqeE+$WIf#<@ zE=PhVx~rLv^5**{jM9Ad`qxD$$*HZQok2NMObc|$^8@Z?s`u=G=5}=0I9%;z9BaGe zByd+JHa8O=W~_AdKbPPRw6ZrL>%3?EeEAw6tA_|HoR|0!KTg7BEF0=np8@ zZlpLk|ep*TY=j*r?2NV&DcYVw@OtX zn0v_i%-KBf&?PVNzq7keY~dXB`mKfr!`?sEa^5Pmt4=(_W5fQEoy**x1-yRsjMTlx zWTu(KE$?7X>^;CJXga#2n_GE2P77r20q{K*S2GRG2!-$R(I$oOvbkgjmz-zt+&PH9 zy(#!k0RNYIg^a`yGnUJudDDcHZ-7sQ{CBKgym&!6P7$#Gd+_dkrtGx*^&7-!o>6Jv zCZTra=C?_}{;$3>0{;K_&WP^mka+s~FTP~y*)+KSk9}kW?El7kDPH6}_IfGgJ+Ojr zYD!&ugj^A`?)}NR4RP9^DWnMXn7teWPwkILFGssBf%yN_=HCL7*NMR_GqoQR@=|^? z2bzmI+|*}`5vFP4H}%jm)QLCLSi;C~U^Tc>qkQ%HjBNay4NVR1k#=TbC0~CNv;w5< zA`jc_H8W7>L@s3Z-Qk8#X>j`?O|A#j70m1@z}xACf2XPiwT zKQ)inv0C8%zZ|a*e!SyQ$`8>xG1}su`aJ=ZC~*Ft+okvwFY;|xPQInl108^nU&1mi zMxK0`dPytE4ho0D*972p4}V4By1U*e=M)8|F|wAJcoE^?7Q!lA9n!`+MH zaLY#)#=;N4!n6)+6VL0!N>)fYhPTsv)qFXtv)j=2zQfzgz1bTy-<@S64)kdk@^IwX z_L1IA-liktn{)B}F;Jy|{Xb{J6x>@W5dV*CD+2a^k{sDlT%COrj=tL}K6&5e&e|{x zx7X!uqmo{-YJckxJ@1Yk8e)f&NEK19evgeFG>OqL7OtwR&(m#nq=3;m#)f%ZQ2O zA>?Hd>TUa+H1RrH-5YqQPJFA`79S7Z)J0Zf@1eXVXuMGFGPIbab)F%kvryknJbLQI z<%a$t8+#0j;)(v}vilyY7qj?ocqiY3DCCKpo`)V=tYuqPCXe^x!}a34w44Q22~*S3 zkA`VPQwgP-Go^&nQNoC{oB_^BJPb}t|H3GtR*$wgQc4(%5`LIcN)j}_8UIs(3I0G5^C8c&zLVUwS0_9`Xz9z}~l3-^?;m{YiR9%>S^XBp-H5`uowa z1F@#E#^MedcgM^0pGkLB54yWj=vFbEGmWlwPpy6$`xL6NA#nbmO3xV!yQaIvGqVJ&^SF10RNcuvJ@E zr_W@4d11TjksHhDoAWqx^H`{`jimiBaK3>5|1A9eIn*Dk$J!9hy467b0{EX+%6meE zNWU{wl&J@2?C>0OrmbJY-^p6tZOEN&v!?Il)v)^0cd`s6T^XW2H#kPW;QJqEoERC+N=J3d5G7!LYd)94GCegNuvE{jL2Q5VrEe!MW=6_l$48xq}vRYmlU@Zb%|IQr~V0;&z=By(aoUSgYSYxoj8ea?l-a zw6ffXv;i8`UZ+3Uquk}p$BnSnV>WQ@=FS}RKS+}OJ!)B;R?Fo~GoNXSGiWYmnhQbG zkVaF(G?nl+sMTv+#ErdcIfrHXE0*t6_#v3PD9gXSzq->jYc2MFkXRk4sf3)h$}6MR z!nL`OZq61OvqeGEYxV3EwW4?tNu*XE)(9WdKp=_)We?;3KJ4~sI1Na&ktuguZaV=N$ z%I6$|&x->~8P6&{8=0cc;*;Y4WBwDLqK&0)^Z6@-&(oRDDJgtTU_Qq(pWEOwOZ*iF zYDGsg^`_cSX2Um8$YZ$t!6<+5PTF%79M0nOzN`}vvQJ_Yl2ge~OPev;`|e&roAAKs_*{4YOA@dIFNCvJWe@}J1n z$5?ag^$89dg{k|sdVMJOmc3uwYxwyKxf6c=_2MTUxoI@wTb7(nv(cjYGt<1CMpJLZ zsGu^+np!IBMMv6u+Go@YIz?~mebN6`nZM^UTWuQLX$Qn+J=2|bZCu91Tt+JHYy_%5 zvn3sORv^utk#@FmFCpCtwX&mD?4PWBI#J9w%bGZ@*qe|)081ti{~v3KQ7WCzn~byw@Mi+? z|FiM?T}+#x#qV!bZw~XDFYu;Txb3mHiS9;A$U`wlNzP{~=Rc5h;Ne=_xX3$1tVA>1 zsqIQgvi~RK^FXAve0P(Iq(S!ognR}T@C5w-iNhyh2PdvJbN)wT(}6S+u>T(|$@yHp zS!dMs!DNcgO{?CwuJpQYW!e>7*D{uf>D`u)*K=Lha$PM(T~~Adh1^cH2G)uAsp?DY zz?ayA?{EU~|B1hgA;Ae;CarIZqdKOqW(j&(f^CKb&*wMiaLHd9a;IpKN`j>^&640a zKf+2mZFbabp>;{z-ZMx&VPv^#a~D5aX8(mtFF)(hhkn! zx&%E;doI`I%&2P$*L4clHNmK>g!AM4zqdwLUk@NtW4~#S!y!yl1POk?Qnn?S$MiWY zK_?`5QK#yepMcvF@_Sf=YsD+)#zE6G+J&oc=q6fguIIeh zBCq1{8h-vAP`=;^&XdgZx+e-{XG1)-HOM5aq0)Kb=L~D=Qc;uTgXXey%Ba! z1b-7x1b@w=ZJuVP@bnz&+u<>J`slKBo}OTyHX~0*MnAW6?dwo`Laqth)37kZT}D&ql*PvsUaVrQS4m%L(b@a;`v2YV@gGw>`e+z!IO3zh>TM z;!HoScukzYp6fl#Wz~tLJ-!>~GR;|G4=BzE+ct@gJvF-D&_H1apTdjtSeI?a5=lU9Ce!AF6SvO=W#B_ z^mkYZzLn+0v~?up10iMWNC5v+>+XS1fEnktRv&$V8d0_{TS6{_o**Ir7^=~)WJ%Kq zq1k;6)Bg_l=4JXLC1f+xTnd`A(r9Kf&2*saPfty^k0cQPkLtMqGy~FT&SIJ~P|x)l zeoqNGfoaBq#+gRrW}4$s&#OJ^DPo#|pxMDaWws}mX|hny2|emL0vwu<$zYAXGL44f z|0RI`aSxoK6)^qz@cn0+&p@M2b(;0O$29*0_Rj6W8^!-iApT#CJ}#}EeN3|lG+&R( zl-pLOc?vWyrpe$Drg;dwUDJcNHm11`G`8M=`t(+&Spk}w9yHejg(qVguNA z74k7l!2h52-zznm1Ij*FBeu5C6WY%jjs)WWk<=Q1*AudqH5{W?)QDR-7j{!cJO-Vn zh9e<=#rdZ~t5Aa*2B<6(8z$spOB*iG)6~4Phe__jJ2@;D(Ew5d=5g5j{r*TLd?OdOb*!*5<@H?CNy*P#6Cg!)^;`b>&?~MH)_*D90Q@5XxXK@W@^vdT1 zgU=HGrZl;_ndbNuK9Av)!K&vn_@wy%B(EIi(`oS;$Nhgz-njfeX37<(o%l3yoZ|mm z`T!--xco10V;txIdyas({8x-dKpgh}R8HfP@P8cl|Cu8oj`;tSasbG;Mm*_Gm1tZ( z2Mp`R+YZ>e<2e6sj)1s)iaC8eh0~*aRyU6O|7yfH++tIvaoNUo+}A6oD-BMUXK;Ew z(_EXv>F+t^D&|y0VJN(*lFjT;?<@h136q6*&(3zuo&Y4Nl|H8nKl7#+K=~ zz>snIpNzBQG_T{Z|Eu2rAe!F$Z!^u``7Arl|G0dOQw|c66-}ubi$jIK3r<(?2rJk`zv_;gsKj(`x-_ zOFE~`2B&kG)7dGUUdWs_rEt2{;M5CFO}(-?qbUAg9P$5pn^BVtPRC_%TFf*jrf_;J zrwnCIXJ&BP*Wk1dbDEvP>Cp)F{*Mv6_b)OyO(1r?xu-KZ{SFv3F2Bh*qpy1ZlZfj5 z4%7#Ux8Yy^{vh6GTjS&OTE7fNI4Gszuo&!GpA3caH<)cZUm=~ zXY@YZ{};#of4#}{R@@&zZ(EIM0<`YO@#z8?O@sxJ{;>J1$EM zUxv6G1z(0b(cMFzUMIff*<{lUuxRp`=Jj4^c4W|W!|qLShp_$wLDq@2z0fSrp!w9I z`H*QY?}erzgXW+`^AgjX)(g!E88lB?G>K|CTd(*GD z)`)Ou(=4`Ve$OJ`eU|lX^HG+;`y{K(v0P?J zFEm9NG=nXgfuJGV1Z2`oGO=wFam4?JB$`ug6LDPhTC4BNNQ)qCQ%2fPr(q?6({S9fJjI@`KR+5pn6KSrDw5O1EB+ZX64*S35$Jc*#M~(0setgyXl2Y3@ zgU&pbVE)|>{2Q06LIc{W^}14$3GILB%?tiQm-2f?ut7r`2@e`mGT=eyAD7<+J^1|w$TE)e|NXI!eHnD&_cP#S zeE$&ODQ7DE zY3Aoi;MQt=hDLADRzuHf`$NR#I_7Q-=z<)HB!J)>yOW|}iWlV@loOuvgb;{TD% z$FYP@{zbowIQ;)xAsN-nrr$-iZt3$`D-p-}f9lmNXeHuOW39xUt<^%U4mEmBhJOV5 zA80fV{7+I>ehVfdkHh{?$qGBbRC!1 z1xVhDQ_!_Fj^T%~3ivvX_Uo14rL zO*6#<6kaXXSZOrRrds)*f%iq6{r{`2JA^3y$t+ks;;{cyznqA+kJy>DZWsL2`ojMo zr;hP=9Qa@D#RdjCc01h8Hll%FRR{W?>9XL%K=Fp+@+c4^_J6>J)#50(N416ci?j7V z4*!383LyHtqa^!)hWY*<*!9u>{+S$gtN=JXj`RQ8=%#ep>E!ZFE@O!QM_4^3qp%#uWGJS*W}NLY z;Qv`j`5MSp`F=Q<%b5HmRxOlgT=v5xO^OB*2!?LwEcIjc!gzR?(brV|F8DNF?kuz8q|u%d!e~MgQmfv zLHs|^Ea`=2UIxu+7R@P4Q{D^Bqzszj7R?Z*8QcraQ4h^VyFHpk^JCQ5CyGxwkG)Tf z$p|dT2R*6##2D~@t=N*0_6gG3GSdEuw51toe~ViCwH)k!gwm&(wwsvT6IHgGnCyU0 zeYIhQ!}lV^rb>PJShQNaT57JR)aw-gFNXO4Sli*vOmAxRk5hICgj1&=$E`rYF}VWt zx2MrBW%}!IBjBzKyFg4{74?ATw@i7tb$39zT_7fZ4c@Eu#ay?t3smWAS_~ff3mlUa z|1Tyf{$C9K|Juaqoz>!9x8ioVQ&|O6+>@9*g(dI}zoq>Jjog!>Rr+~cW{vnE<9i*G zL%H-pqy-Sl@?+2GJa`7gWDYbC@1=aNW0LIuG1&h}Zp*nY^P7nI4}6RHAEDO!VZ$~x z&h|HP6`%9K{0C0f)>i3z=c6r-YQsCt)H%oG-{CV~r9a+mNCP_Om^=_Mzm5l5HO$`U z!Gm*swfM$Gxg0nPL3h54M9!_i+vIB)!}?{VUUTTE`?R;7pMQHFjfhopXe2(Vlk<4dJ z2A@L>K8u*ofhm0EGoQK4CwUPPe?Nzb-=D&c(IovNuteKB39N}}*t%BOx&y|qVqe;O z@}sL2n>Fe=dyRS5z@q4X!mr}aUTD;Ov1y*OXr49kt5CXw)OG2xaIH8^OJA4%9Bu>N zbs+X`wTMrnaj4?|R_Xmb#<(+PA;tfT$y;EXkI9?DbvvtYD`kOodV$8~B1nVc0-JOE zR>X;_(tRv%nv2x;zu{8maw)UJBVMY~!;`7jY9k_wJ^E|HsDa;+A0p;I?Dkc2B zzW-dt1K{L@7pUI*LuW!x^yV&pb32!=B0o_tQn@z)ZPUL?nbYe+G?R}dg@_ImD%cWFtDGk;es`ET99(AF0SuYgGOlrj%K)*2=4`9tIRCT`EOr_fE+1J34G5Hl!-de$9;Z8ec$-4dAtj=Z0^gYA@k`tp7~u zZ%*xj$N0@7jHYAqL4TP((|AwPE@#`&!D``#U;TLZ=p$FU0Ug7q5HFKK3B( zSs?!?@P9UbpN@U=LX{{r`k1`)qKN-b?>FLol~`Y@#+7$U>bQ!^`+)TS1PKZrcl0Hq zsG3on|0mkzO#4GxtxNdLB4{A0#9K^duBK6WB{U9E;D0xMo1tr-h|Ek2) z>FKLPR1V^LUEG4~j27f@3!Jgs_9*WE%fatYK($fC|09X(QPzqengFfYIFFKJ&h@DD zN7Y={UFKYm!vDWYY_z23TNsre0)a+x{~z^<)2;esWl?&cyaptCJ^JMGX?X9TxsFH+ zo2G+qFH`Sk>dOteIDA`BF8TjQ<&!}7RYF-{)E<-M{1CUG9i>Kr|9uOoB(ncU<^5ce zZI_`OxAL16Y&(z2o1suV_Ff7JG>uGMJBqP(MCJ4- zNw|R}T+94bv4kru30r&F{@W9-?9uUo*-v=0zmMJh4Xh<)daH|MHv;>hAzsawjc5gz zwdJAalW>Zk#^A{4Fr0sl;{5+HZTnE)vC*MzNAT~EXaOQWYw=@NR0(zBs)g6ms3iaY zDDZ!!?poB!Yh9Jt%j1o{>navlR3?GbEA^i^op;t99^B*+l>t6MPUkc$^}Q{`n_7#a z@^hRLSkl>deWkv>MeT&OG3L8>fmNgOA3(cRVg{F~;)zA&Ur|pJm%N`#uJ3&3$mJ;e z5zbXDCK$R9(s|RZB-2pNQ(W5Pz_{9&+jdt8t=Sxj8d~0NmH0qJ8$&0|Pk?Ua_8BGA zR_8QC<%`1qpZHltx{5KE@2nC&ma;it{|Jojm^AEwHijhI0)0nR{vLk#m$%Za^F_2t zeIF?Ug39Lh7eLQB7U^>%RifQ0rvqc+LawC=wUimU`$~Pse4Yair>{zQQ%;Q!@{L3P zM&+-VW-8iNWt@qw7F*N4%HvVj80KkIr1)^PP?9RxuoUeY4ju-l@leR+4FC_7`Z7bN z8*{0GLx{11D)5B;Y~yoV9*bae1&$zL6naUjd6i~vPe>Sr1yoS9Za9&&xbWqca0 z63=Mns2~{};-pc7QRZjEq+S9IVhX%|BK4o z!h=!kB+n&$A75*%snwZqVL#^h{-1Z_8;N+mwcD_B#Zy1fTodlBpp%qC+J+tA_!yX3 zH(`{(re( z)V?9@j;XhoZAW~Lej6@9e2&^}#A7Hl1Z&D;htO`f*~iDW7ePK>0%=Bp|NB3j%Y1wk zI>zduPFT#Thu#iViSyj)J@jfQX9LA6h~oY~D&fV@1zQKTow^Nuq4nFKLHaH?^?}A~ z+_sQ*(vY@~D=5Oe>jgyA-E`Ao`mNM`Y_+b`7mQT>P{IAM7;z=QC&wo&L_aihZ>fHG zAM1&0^}sa)&=VEy1B{+H2CZBgD#vMA^u#8T)gtEW8er%_?K8Xs5t%nCe;XoMUd|eV z3FwI;^aR=eqqzT%Nuqu$eScy!DW<%3OC@i5}wZmC9N~R zLL1GyjZ`l@%e`;`dg0V<#9s;b!e0($t*g|pw&wb=?S<%v;atZtq5h9#^PZ$AH1y$C z{6!`AgP#HMoriwdi`eg~2T8Mv{tr?=(A)2UIPv`tj^A3;c3dz0K)JsQYGa19by7c! zp>GV$gm1G@URI@k*r9r0BKJTXIwP|OT2T?Ao2Ra6>9Ko4dw-(`hN6Yf z2Pd@8Mh}eUxzNEJZ3n6?!dw`zf!4n#fo7xfFF~?BO+*hAq6ao|z74n`Kz*qw{y)C| z!GRlc(I->z_dT3)CrY9bcPo4uu>T9X&;v9VZsHpa(EnU2=0h&xiHt!XoOWy34(@~T z=!4_75rX(ntwRB7C{MqiF&kv@lO_%(Q_G;WomH&jnOzo`L|$G44VPoIZP%!d6R zG%rzkcCb=xY8hwrjG~*2w2h0@Ip9iNG*hpc_#5*dZ_i|X0Ii(pe=1*0XrWw#$;X4& z!GXx-=CnapS`N}&oK|F|{TQee-OYCW#8V4gfsY??a(pc(Mfi`(SD_<_$^(I{ zjQo2!|8B}(l$w7l=YNXN!1sNmsIy~XK6?I9&b<-2J;kZHAK=_=f#bl-afejiyEyOd z$U8W#{$!T9}6fck!J zpa8$K12jG^4$w@!FhHwjQ=kui>jT+{VRRYCFzTOtbIEAz@SaKxqrKjNm;GA*_{-@3 z0G+SO#9^fY8;6a<4S?x5Y-B*;u;UR2u_tX&3T?k0v{?r2&p3D9wg317pex`q zO}$!F?l;cbWB%i;eYL*SrombJYTai&(^-4qWb4^3)0x9nw9z#&TFq9PXAbM zME(qfSSfOuUlZd-fd5PIE&+^7_Y@j95O?TNWUL7A|0>XY+^p(W_KAr66o@kd|Nm_7 zX}jI{>%ACRCn9YBkHG$)jlbW-+4l>uay~g(-9cHYm%CF(O_g|&tqs}($KWo-2>k!g z_da*HQnVO#k&PlEpWvD{gYyXRKh=f%|0ezq%5AX94ZG6IU0{?ul*^^_|92kFT3;!K zrj(qsI)eNEs1-|?+eNYcFI0*jMw+~;9lj~SDlxz)a~PL72bA-`>)y$|dFS zDp7JVo^z{kGrK~;w1QTN^2?B#RVCtA6vXr@*7|X$) zj#^&A&nH2ffIjnp#)u(9G8hhdl;Yo^ERjJmT8&3SCTER2mUc+s=3|X0Z2lW&;MqyH zC6KIt05*(B2~_*pk$%myyofYgJj&Zq`Nw}(;w-@&UKPoMh`ubu%h%CLLvKankM^Ju z`2SNGA0ld9rTzxjmIZ90Y%>u){~wWW0CiW2$5Xg(0?kWIxev8h8aGO)FXSw|+YVG8 zkz0YFBl0Pngx`jL{{kdE8~;AabQ`0lg#OIWYq^f9lsc${ySRkgxwKW_-i&E!+KwWU z?EevY9jLWQ=XB<5pmvh~e?*f1KiX^b=jb$TMnukK@A``4*n<>w2yyd9;~Bc|RiBF|*rPUljl7%iN{`Nwnqm7G5tqlmul5ybza-{Xy(cY zLwL4Q{Qn62|8usmx8hyefFcRP7?*L<^drAbsAXW=Y%L|%fD zDur!3AlXp-|A=g087hAUlHn*s4xoC<&_0smd0gMwk@(AWpR8#op+0%eMQu19G-NxA z;QYV32Pz`T{vVMex#TsROXD#?i1^=6M*N)t-CkMrG4_HprG6TNY4Ag)ivyIaB}vzvg8 zBk~63|N5|3-|H#2cH-2gtGR@Q;j9gWqayP1a4R^vvy{r3ZS~J=NF}>HA}?YI%)pb^ zxG4_UXt7%PwRNQ1FZB)?6_L}p)bqgCr$_pE2s>)Ur+PP45=W2y~#ogyt+CiWaj=J2r?pdSkA+c z{xskwZIt3Bj8pd!#Q*o|=cMpKHGE~+sIyU?!YDLuDB>`E5&p?#zKt@m{)eJFRqE@U z`d8p#uc7ZYd;EE>={eN&UdpX$B=fByYAbf=^C5N1Pp?X!Ydw=47uF-|+1wje>1Xli zF!y;8d8-ivAN`L=0`N8Hg{B~b<|>Qk3eb@4J2-=F-^RVq5ji{5YTf%>rN7Hx*VKET zBeE()`>85@-}KZrkl##|zL`g+&EpiSzKP7^oxRX3&Y&4)(F|gmp7$G6W!!HN0sdD$ zjS=8~;;rZX232}dMm^tHG+!}I&-)GFnZa|=ZqHj5&EE{$d6oVO=dt(65#WD#h^6@p z;`@)Zdo$Ahg0v+WX&aC>HzVy&NGs1syA5d*GSY5D+Te_|ML}!dEjk?3W6ECd6$e{r z=G*&jtpC9H`2GWfWB$WhU)kvuUo$%Q8c|*C?^{KXW=0uw5nerBN+sDl?=zs?h{)4| z_}Yx58oj#m@3N`s{y)rrrY_2$9>&x|K)tc_1p40bN=mb*FSHEiUjEh&uRhrLQhJTs z7ODLH@ByN{$pHBPdG)!IwK0l^nOqNct+-7m-$(vGn$H0n1bYCj&srY={wJw)(p z@>=G(C6JBy(KJ83`U2*i# zdq(#E2;%>f93JO#%~na^N8ms95qGSM!2a*mcUh9B6`#)kN8tZYv|*3gZsLIM|HJnm z_IR&QUlz4zr2hH`Z0Ep#e#-YZzgNuRS}`{`>d#W#oCdu;JXs=gFPE|#9_(IWuaj8+ zIsGa4yQ_Sg`T0?*O*i9QsnN5J->mVsdOdnsv*M8KXYjW0yOB4oS(q{-(P^=3;g-`_4ui*bNziY&r9{67;)b76waD>^kq%d z0`iX5eEF~ej)4sj^B=7X@AQfjc#Zk&$YAWB^RW*l{2yWb?=|k;tJFU#OSQdX{}2AY z|Jo~xJZA5CykW%uJ0HI?<`vx|Ira+Ho(J8O!(4m9(jRl8Z@=bL8Zo7y_%cTNJ}tg= zB|ZHMDAX(3OU;r?koHcj^rcGua-+7e{2S`Hs@cpzyocpWT>C!YZm)QksVnvK()bQ@ z{J*e#GPd~Z6P}?s=Y7^^!&Xp^20&2#vUl)v<|d#D%OP}x}bb6cYh%9ZQYi=ZRHUpY6I%jm)3^P`*keiixfxYFoj z_k`tx;Nbb_oA_%T5HR9nyGnh-qONfh(ew8*cXt7Ud&LA7)d&kXJYw({-(*mNy>3|E zz`3pmmiLNJOI5B<(~$mnDUVp^Fxv8QtU2t*l{ zM_{G*idU`qt?G~PyI^Flca^t7KVr??S)lle-+c~j={0UQn1Pi_jo?GDREOoe5wBQj zSP{IUtdOLHy#`wm`ooGa2YL46jC%j}LaZZh?3?O%Ze9s1bU*an4wOxP|Cs+k%v9nN zK+Ive8R-@JBQ2_*E_agDmqLR!`fymT#XDF8HF`%bqz{3exFX9VsI@qc8p;e2{mIL21B_x3qk!kV6yW0_OPEwSbh$eVoAo5S)Sz{V|=+5!5{^ebD*v8viJD)+-ay$^NlgC)E|AI*|c`zac; z+e6Bir?|61&sCU8EODogq=%qU2;=@gS`(B99j!xjTXKo_K7SK-7O&s0d>p-foI7^5dlY#9ZDHc;6BtjawM;|Eb)2o2gEPYlyG;245q=*ERF0 z{a!;uY>)6p=Btj|burVI;co7wxS^X+1m=H;e$N3{#NC-84}MPvR}RbHwgP&`EIuRQ zH8gq(tL4I*Gb~R;$rQZ=-+!*@80J*zC(Rux)_<-gpCypXdKBtM-SFMlM$z6e4E(R| zxKQms9%aUXXNj*c&?eg7MD4fx<=^lHpuOK%YX5Yj{Tk)5+y76X)v$aU_VsgjR_N-S zqlQymh*E#JLZ8Vc(o-osR!{E#A32!DmjkWf z(Lyy2@R8OD-+$P*H;rKbwtki3m1B`FzfzR&2!)2R2+vMf?_I>HSO00$Pvzg!UEKq2 zz}Ew5S$S)g!VZ(a`kf;sxVw1*?rtsxlKfx_(e(kEI>II8KH$~&yO=`DSyL%Ye~0YV z(A?q+hun@Ve2Lq!3!s{uDR~^obB%E>QNy0{MtJ*92Ipt8v`%MfkKqw+_u)A71&xj| z!1!U{f48^4HAa-5=8BFAakYW#EA)#kxzHU}nr|AY@`4p2n`h7skQUYWGw^GLu6Eoe zVht!oK8*CAB1HI(n@*U z(ww2Oej?X4f@PyL3-*X9V7Zmx3r=p zI5mpY3gc8n8Sm{#Hva*x4deX3%K16x`~+yY0=G2MxG?#n`2U#ymalo7+j=|aAw98H ztlIICze2y#pftJK$))aKuD1CfVcjwCAE*9>>ry`cW?dV&uJ!)ZwY(J^4Y11faJz2f z5>}!F?En1Qn8$aj^cy(+dM-JtrMBW~@IdYGq1DP#(uVc(?G&Ghu$;rxzh>%vY1H-1 zSB<~T=m(1NzoJ8ZVa_*7KHFa*iWaQGR}l3&F$;Kn(_QjIe6$N5kGOzJ))fCA^B?(J zjr)8njOerWOdE{1Be(>$viE~dqe6V+p*ER18Q?#(CM1u>DnxFxvhR{4OOV!$6aFFC z|0_hiX@;daqBq~c<2{7?|0={ADf%`K(mst8GqEhq!3Hc`&KFMmFgye0=kMExtmU7oqNG^-fUevU|k-R==CVAOs*Fre|e?IEF z0$PfYTo6-d*Ft>%Ur5dYhOZEBGL4!i)UrlyUtP?!uT_d~STgJn1K*a)l(+-r+X8)r z{eD(UC9MsWVpkJ!V(uqHamkJdBkzG!e;D+Cw9WE0`BR4zH}j2v z1b47)J$qdU{{O(AVy-cp)kr1#e@JcwvaJy3X(Xiz5xx%p<}59TABC^P7n1kk3_V5x zzojuiV{KJbX{~0g@W3+JuND0de2p@U(&?*0H}8em{vU$Tjop;5nfXYL_|B8q0TvN{a5bXcd zn$wYUmyt7vb51aFK4$PVn)8iBz6XtbxtwoUl(av@!60ZULed3qiID6Mtw2Z?M85zx z72>Tc$j6isE z<9AJ@U;7+HPeK0!`G(}(K-I%K214@^lD7iOhvbR~$z?gGSBQNVkxXtbZ`AuaH=&mt z&I+++d#GE1?}XB&KY>Zm(lh zNLF&ba#-$(4^ITXHci@SpvpfWBm_jLvsHP56skC z=iCGAMCSrS^1U!_0o&QKP&_#lV19hKJ}t`J+%|K>S^kbIdrcoBB|a(y$8 zkP3ZGitabQFeJBeo-ObMs1R3KD**RDzj+8Y?nW^a?KH=l@+|X+8ysq^IgPQFg|U{s zCTDeSTMNp)CETa21OMI_&TFH3{us{ZF?VgaT)%0)lgC^Ek2$(0GbDctyL<@tf2w&t ztn(o`FI)gwToTU5@2qehelH65!S4)~S7VrU`xd^W^Hld*GV=U_jFv%0cY|+RM&r4a zB`l-mJliVt`=_W?h%8sc`>~v7D9cD`HE5&~r~UX%KFg@I$(E7ElJtn%{!bZ2LP|z~ zkdo1VL-}o`SE2ty1uUyCLgjkXbS104DY7~Qycv@30(*vl|4CMFhWbJ>e+!YsUJa4N z4unWz`$HtL7eXH7*&FI-?2Ju4fjy?S0FU=Rrponsi&EwF0MKwqwn48@t~a=8J_4f} ztF|ex6`W@|5Olddw1x7R@>;@g76D5)3JoLD7*nEybN&Cu)J2dN$!9v`)q;QPAunoK zHRMz>t>>6Jm*sR8%jpc3(`hWB$tBk%K%)@b%^s?0l#6P;PWx%mVB@i)>$-?gQZxH^i6a9RB^Mw%qFMuTcfVajJkef)OAU(bu^{aQIk?fd5?0>Hp)H2DECy9=hfeyOk0<&_tr|4!hT3ts*49(mh(gnH!l^vL@;=cPTk zS1&H5nUuEwgS9%ZG<~o48q(tK^t2a{_Hjnqv#@HLHtp?cXCzo~Wauws!9b|zoZn!?osaklAP>y#O-zy*PGa8`y+nYpmm zW-$j^plCyxcO~Bb2)jD1(9%yQCbalns~l5zlzs7j{|zqp**N>+_Kx2c!u@|#`yoX8 z>$4W?KQR09MO1r*{ubL`AOWnFO8h>su*#g z2qi7`kH&ehrX%B;3-Ppw>%GQ55Vu*kg3pC$J*}8m_{qOli_czFkZ=@iuJ{5cg!*q7 z1u20G&|Sp!cOIg@8~xydXHdDmmS={E(g&br9=u&*%`fWTGl1L|%vi}N!SyihSSb>~ zY}7iAxj7kSmkYH^Qkov>wGq%T;QJ5Sw~Vu{vl$P#n5I9|e9Q8+X`G-5!v7ygK7}SI zbzt0}>;lFu7jLD}1Y!Rtn*V}ka~jR(O!EoTsB<7@Jwf>Y6U{%M9r)6zY?8!VkmLUc zIsSjSxSvP6P4gVn>;%o-X*657o+r4T85uMWGR>dC+ec-o_1w=i_aOc4GG&t}@%9G? zv%ys>zq=X!^j}~`pSv4#p8Kdmyt-J8Lb`#Q;*SO8RcwzRa;QRFS!~-@gK{3H=N~E; z_m(@;46|i+SYIxC&8OHl3s^NoZVLSO+_*={Mts1=< zfO7zvFDU;f+J8e(zK+r!DO2aQ3US_##>0zT-t*A`SPMR|=0p(q-&s=7=_n~g+dnPk z+anF6={j64-Ym86EHCl)LCW3~4^@)H{itiEA)P|30RNA%FM*G$y8eG}G6_jYU=jfl zkxn9FK%@gIrIzY!86lY@lZZG0)PSuWskH%@A0pKe(c;>GKm#JbNUf!a8bmF)L9J42 ztxepD*4mJ5maN{=_eSf_{=etk_ht$F`uo>U6LQ~O&N=tod(U>yjqCUDNb3g+G14sF z8R#^P!~ah^d>;0V)sC!E6Cdj1258z%rINx$yGY}Y>7Nzx75nCcNkoC1%Ii7 zwZbc=7?hXUkK+1egLo6Ojja7~=>L|o@3t$YTlRa!dK-;bF7nfMKcf3L2TOef6>g-L zdPPT)$^=!(pi)X%REq(zo7;P}w++6f-7|6Vt4CG;=yM<2dwx z8vAqT(Q)Me8-t&H(6X`q2aY8Q9CVLCDQ&*YigM`x`1$F;Sp58Wpcp?tf+il<-ybN# zzuVx~j_ZFK7`2o7`@?_@e;pmj-E~PvwYCQ*hKjv;{&J~fd+?&+NF5ut>ZFbxhyR}_ z{vdHbJoFyd{4?wd z9_TyF+k2eFd3@ThYPh{!4x*YD?Xeu~@h9z^;QtX}c@Jp9gG<4s^55HY00 zq5oU(ope6An-L~I;yeb*@NdE%ZA!9F`qIFCUIo}a+RZ#uUTsgB3`kH{Gjy2$ev%qy zw`2C}BUWUFr+Km!=?LlL$r}O^lsP{;RN4t)9 zP_G!a6DFziW>mjNv!v~=|Avn1(PZSA8M%Y?-{;XLI+#Yz&Xu zQHx=boJ>^y3p7;h|Il>XN`uU26kmk%pWD0zUE9Ckqdn;?rEkVQ9*6$_4{-i;-c^WZ z&qE`g-%%|#xFw|~mY9^f!Eq`|edJD2it_)(@%|s-HWXB{sR2p%K6Ih3t^(sGjVn9;_~kIM?n)g z12VSLm-kd0_y6Sxf59!gIPU*@v;`$J4#sOFm~Qj_Eio=kyOM5gcl>vMsJ(1&@3j_y37= zuZ$BOi{b=TZTxSTneT#+UnwR&_Gp1sCLcecWb$!Ys9e}eQ(SxjkLuu2tdc(cGhqXVb|;RY4aNAxIsQM6_^Nj1igO*Dx>~Jh+7s2cB{Uan#=NI9%j_U_vM8Vb=&Egf2WXw?EgPbeu zEPUII9;oK7m<8F7;&}g$#-74s)7;T)G{qc;EXa4Fl)|cwv+%JF54?xw>{5+88Jcyl z26(i5#+cd?y;k#=A4A`!zkV3=h}?#hd{1qcbB(Lf7CQPiPg*_*`dSzBXh-bkSk%Wt zuJ40Q!lS*N{1U*I`TXVEvBl8EtF(s!Az2);*2RAVCW=$fg08y3W!c%PjgE7t4pn4*4H2TwUU(y;dFFl(h#pIAEX63!R5=mKcrv z?UF%J06d+rMA%Yx8KD% z0Vkl=2hccY?GIhAl+5w{4)ZzzbbqCm_k48^M~y-Mi+Z%zct5%kB~M)+y?(|@STC@i zUf|xJi&D(bNSh?&zo==GjO#5?(ffU0>u~7|bDz7Qo*|7g}J_GvZ&G@FEmu2{tIu9Od&BES48Epcv z7}&8Z$8rB(N+y?qG9JQ>i1A7U$5!`)V6g!g$ z@mJyunv0UCJOvu=@`w#i@>!*1meaUT8^-sDPXhGCE5@WrCN!=JSjv1c$~{4M;tNs?Df1F%(E(n_y4d?`5Vni4Eg^EkDHllrj!!XA4jd#+|rAv zYq{6ZYpV42a!lXMko^prHEJ;GKMG4n55vD&+vR3BjgxT z(`?unZLs~s^jX~QJmg#;U2jpFC++S;5O7W5?`QH1gd0pA$ZC%1Mf_#V&?4Sd=79#% zk5P{3QL5(@7NgdMjTZP`Tsqladr;-!V1{GGY5M} zOg}yt@a@KZ0?hwl0ml1ya5R2?gvj`q{{CQghZhoE7xrP&6$#Qm4668kbkKsIzk`1| zrXPV%+SdBrjw)>j^ldsJXBjc89%#ho37O)&!Q=@U(|1G5j^X}4ah|lQc*RFWlGA8rFaF&**$fbXWk!ZhDzwlC{h%Iz6L z{(q})T5@MA#J;w!D1Bdx>5B)EZBtcBY2Tw>s|RU+9J!ChkpJJ@$71??L{FseS26v9 zLE5ik(EqVNiDSIqr|nPTjS)8Zm_BKc?DZ7avM1x4f?f*nEww+9yjrD|+D?{NW6=Ml zyc*L5^iQ|(lA6iYQD~eo-2V^bOB?f=N8Is!@KRD<#rz`&pIdt^$%({C?--c_Q}Sv| ze;p%bZ*^<0NO?oZSh>_5@Z5k~3-UL)2kaeyyo#8ol)M_#TTo|xG_zP06b<-40rN#I1HJH|J;qw>%9nVb$`N zOnEh?XTz2g(=D(G#E}0l7u-(y|6=+V(7H)ptr7*Rc{Pd_my}oC+KGU<8qN3zuV_d{ z8^rX#Lhp>}$Dp6OHF@{QEBY-X<<*$}d#?8eG-h7^{ps>*Oh3qQyns9TG5xuI+QXhj zq`^peHKsq&UnQ2UkT8D9^M%~MOve%OD)IsnZKS;F6%OD<@@h=Ko8bt<8sIi`dat&yed8eg#Sri#SM@m^otzU zQeMUR58abafg==2fc{=VBmu#2un!rtSDi{;jp6=3jr=P_5Mch{AIJF*|9DK_1^;+V zf3(kuug%cWWBOKD4{-iNgOBMy>!WcVgl|2j-zOsrPLfx#{$T~klvmwa!R*X^eI;Nk ziU2x!WJWtAlQB3)k{!n@ilI~gDZW53722(5r;aDE60Je$QKD9Ik{hzS0^8B`NT^SEdRQm#v=`mf4S+~GO zSiFeoW(VDf+I`SaV~GFH_Eqi2&VjgplQ*d4r?D(po@T8`;Si*T+;qurdRJH4MQmF)0oB+T0@ENO*d*=M38mK|wjcW61wU zJrWd?GoY9bD85%0VCqRIs**K@J>{*E@K$8hoCkQ1B3h2th=eyQ3GWQ(@;mF&=~cqe zP654?^9fe@CX`n!HqNmW#R`%T+-y&Iwt_yuDmJc8r_!Qqh=@a?N7;o z)tZF$gJ|}yddU6KszYn>k5Ssa--^=y{3dJ&kpH4|z8{WS@$(hf7Gik+&+fal!>>KK zq6O4bEpE+j${*t9ljIMN){(T2WB-S~i~S$^uG_e$3`?j%hm_S9@;}$xU}(PKXr}zJ z23C)leoK_r!D?jwk0Jm6s5E;oWplp2fjAw+r}Qz;v{p#ebj2m=*Kba&;4o zc35Vx{u$m$n2(*jqRkznh{q)e3P4$$|53`xL^vD`Wa1Fj{{>w!swbdDM)iLV5e|#e z`ikQHKNE*umx;p~yTqY%1P)RC1MaOIz0sY8sQwQB{Re3A=Iod_MD^DYAs@y4e+PaZ z9C9O?hI*AaM3MiW#fho~E@T{LGY;|=f=Q2alQ>*$0smtom7aM&40$Kk#t z4jUMUyOKD(Xs3GVINZdeG%^l9VjNO;6$$@qlQ?`-WUL1xqYN~*lW_2JZwr$+c=>M^ z<8TR&o#LgrjKc+tg9A8x>P*Ms+$0XAjKepQI7n$N9fu+wWenpmnsL~Y(U+RUp*V@d z6Ad()M^w)lIS+B@l~FwctALybivN#t{J&eQwNa}S4j(|njOy+1vqy3NAL}7w+&AHw zm%MZYI%rgXb-?7MS=>)L4$tx^`!H%0{(s`74|vYa_3+=^7x7ZHYR*Fk&$>t4kMk&V zJ#6IO?n&Z6@Bc;hpFmf3ix-tl99A<9KV}?m01nGC#=SO)!_|z#(j*Qmxu0|#s(6$N z#^Ex?Ar+59_2=Os0X!&iuBk3#>ad2k^E7)R!)ZXvzh1VLVi@*HCR`(4`WF7(3M2j(AIty`2O z`=xpR5PBxoKk2AqCV!DKCXMlX==M?ljefWIiszcPd{n=cX>k*15e6+L8+WAL zVuF)sCuu>HSOH2LWZMI2EKz+)e-!cmQs;7M-G&X$Ejk^U?R;n#PHT4w+Rf*7tr&0L zY?JmfH>e!X!nB``mcF!>B~1HP#hg=up8Wq&eH`O=gukTl%VYd<7{9E3iuZPD^ONJb z)8LfjectENJ}ODgbqrdvTLd%4`#UTFQTvVeB_@6! z*;90p;~m0y*QJfOALF^SV~y$f{fftX0^_-~D1S+fx1Gn^#^XJL@o4^*l}NqVEmo$D zNAtHHqa}(`*sbl0BL6?lAJJuM63)44?IfJvM@#9sk~4o5!#OVl&dV9j0K@4W0cSbG z>1H@DHR$qukx7@gZ6oP&KE|s~gY+C8PugG2^>ZeVH<8DCr-6D%(WQ{b%jfY%VLW(o zYfZe(oE08zZGc*tcMPMtF!J?9^#MeyhhOk$!4YUM)jldQLukS_1EFScWDnZwk8(j|Bu4|pMx)r3c-UtD8t4O)t`io z!KGczU#T7KCp!%r!%W0xXKjl@|Gyh`Rww%o`U*Bh_4~N@djW|{JIb@_*1jy3Cxncu z8jV`F#>22pLjH?Sgns94_X`0pw`y@|^7TEJ7U!`|OJf0|wp`kpMuJw_8R6d}4Gwn3 zs9wWk`gu%w!oYfRk{>^c{QrdcJoe*9k^c`FK^=jlC;wolOGuxMTbpOJmJxnAfSC0E zDDwZ~H3h_6hQr8))vBEHr^M72mv$lZjmx-`=GL|umK4fB?bhDlw=>+@b5l73wUsgv ztn=b-NIB*o+GSK9iWPp|oJ+AFxrha!NRS2iKjgpIm?oDPTyAFBnt&`@^kP~*;Q0`q zc=ADE8#CU?Le@6smnoQ~r65S%EzDdrZR8UDMRool@%D7&7a zy$&$Cj5ihJc|-M=!ghlFANu=7!=p%XPndshxWv88bC^>@&n1o^N{o-WpuNpWT4<BIN&QVRN~U_-NH#W42l0g`C<#`~*9Sg?Ks#(XX?8g(eR)2bU3O&n z-LMPqBuRV4UPRnj@r~x;m)veQ{N*lD(IER?@0NX={@5zS8yEW&pKS%-Z?V9(StMpO&U+nG_h7Eb3`9EUpg)}0+CzARu|$i3u8-D3V6IYV@- zI12wi-T92b|9^##UQ-$0M)b9oMsWZCQj~uVUDG8Rk~33=>=+Tf7dmW2?;3K6&l(Bx zza?gJPWT{7k8!&Xx!no=N;7I{j7_ zgEzWpbMdCr;B$^Z{~rf$bOibTT%yxCmb}r(MKhjr$v9BH1KM{)|M}2(jJ9QH9DZ(M zNFN?@qWl45G>GUMhYC=B&k#{(%&we{Li9YHsYpI*YX4u*uNLERN;+reURuApbw*@Rt7Sh&~p*ru(a1 zVoQc!BZB;Y>Hg{n-v2w5zdEAFlm6<6-aW!!9l`y7@>fLkzYI3L>Jb-a$QO_uggrxc zC;}$08~$pKux5Ny(982D`Kv3n)oF5t8DANJ|6ls6G5^qWUCI0Vq*X-pCTPGB-2bN? z#;y>@xWu~|*#RQ@9k{{Z5@YzQ+gU28RiQBvs2s5V~q4yWBvzCf3-`j z=AG)){%XwsV9H+|;rIU{$p23kV;NtG`9FofI)eQFsrbr>-ap_HQ3LPQ4MfLGe>LVG zS}4{(>a8%cK)W*E|gn(~dWG zAk$wRLH>WjB#R+eK*3Y{t0TH#e|1D3WPdf*Km65B?KOsv=8k5g<0OBzQ~N5T#-E{& zM)Y@}qdSe)=BX{w>vjHenElle{pEhF9%sr&M7{6l8qc6D`Kz7U!;H5%_U?Y1O*W#I z+2eMuzYTZlUE-7E7uq!+tyUd-{oUoc${P{axtg5&dFh zR*2}|>ZfrogpMB3XZIJR#UN!pYsOb%{bO!2{nbuwnJe929np&coAkD3`m3@2xpzzd zsr=R0|C9deh(4V3S7ZK@{%Y+1&?3|0m9YNVUyc2r{nZiuefC#JkpI8wRkv1_+!tkh zB|IdnGX2#Ny#FU{CvGjVJpCJ;2m9DxeZ-g4HM1!{vdkZN7AUo|k21_gIRBqZa|Jt0VejaXQUHce%B0CvNoS%9=DArtKUMCe$!; zJ7Xuk7m&Q+tT|z;OVu;wb0u_Rz^UzCi!b?3Z5p3=UwUWYt=3O)BZo3MNAUh1&gGKq zQq;joPg(RL`ZDynj?ZDD>aT-)0=X!yMd?bXISMWr0|u;rlm<^K{SGvKT#H7lx$)V) zY{=kqQ18N%`aBnC4VXOrKHqcETEX8z<=7$T9Oa zI6nsz`^fl4H#N!=IpKq7H#$td=m~9=VvLRa*D4}Me^5kckD@BzqoT9bO?f5CCQFGD zqIatz`UkN+wTTe5IvuT!DQ2tLr)UKqveD{L3}Y#K>Xov|hr?L)`(sz&Z}YFcu}ZN< zq0!yioaDVND7*str`_g9KJ99uzWg92}CL~lgxHluc4CY}HbFxrSi0wePP$9!iq* zQf=$dwmGA%e?(gsYRLFySOB;tV979^`z~(Ep-N?Gt0(<=K29 zYGy@kdO^j016i(wZ{DiPX37?-LNlXYJD^!c^uIwrjp(01^RysCEbRfZ&DA9;zdWWq zf)>a!OD%rSE#BZ3zcpHz^=Fl+Q!#Ij8(u3Fex5wS-* zLF~k9tkO>4)C$UrWu_>^MdgKl;>`-}4wi+KEja%{=b(*GX_i^afZ?SmYv7fu;%yDO z@$tO|^oZ{k>~!j$2>kz9crzya0wU7X)Vb&kLjS|91C)ysC!M9^_^yImbgUxih&puc z!he$dn{pSM_b4B0&DxyptI);-h=0k}2QJ!2FMMDR74I}kc$CoOO>`fOY=CqVtSs28 zcR-(aiheuQu%_Jt!zs6^S8s>z=|A8W8+gae$*{8b>Jx{un#kKeE_s6w5)0-G*==+H80w2@PKxZ>ni<4d%>eZ(VZg6|roZ>6)!zs4$dNu75 zz4{o~6MFU0gHCbGCExXMiWiyp%f+@8R1Y*ZqK|qJ|4+3~44{rn#+|z~r(I^gQ?Mu3 zoHz65wgBFt=+%EepibN1 zR)#y^rLZAaxzoiupXwB!Fia`95&ti2jvDRXu)A558u9O&=v1D*q{unFZpIR~m^Yhd zj&7A&;#rm%bu;SS`<-HpK_fbyd-W#tVfxy0LVLMJKh}-Z8L7sdsA1m4Gw5oke%{Wg zMgIR*dy@L$D-yX}>xqn7^#fVk1L*UL0qgcq0C;nq4HB)x$mjYFon=SUY>6|2sv( zeja-Vrq{3W(pL*+hihz_jT-;#$87w^8r}WsH0lfbzwe}X=n6M5-`r&qH7Dh5qk^o+G)?DJ)#4Tyz?dDJheZHtlF z*(G*18a%s=c=oT%vvtg~#H||ucdvdI^x$6oj{X`gioR)|A@4)4eoMbHl{_F{gx%sT zWN9GSz!5CFT2ydJ3$5HM68TE6eoenRmE>IKa3?r^b&<)<1tT!3L?nV+`QN$OjD428 zoEw@E%xWS&yu?PM6J*4#W$4AL$dYt!otRN;JmLgSH2N5B(pV*DC5(2mr!3Tw_Iut> zk{tbBMy=sKr}#8kLNtp&^Cis76ZtmGf1m8TC0U1{{IJjD@r@bff9T6CvceHG3Vj8~ zZ3F)&zu$-N%76HNTc0|W=f4l0YD1!+7=pKw_K5sYjrIlU1Gjl z#z9Yqzo{4b|7fKI+bYBnyNUAx1LuXd6)&lwJMEL9F(|gD6BYKteW&5AF2eeu#7sxc z@RY3a!2NvSKFdC?sldS9#<&+T?vCZf1`gYjoRSxkxIe%+Yy=MX#?x`%7p~C~wWE!8 zGO9q*Oyd4yvZ^+MnuT<>h(OvV%Q`CzQWH7@=20boAM2r z*-}yg87zBKQAy4wwS>+>SG-2^(cJSXMjSj3kq@+jE{vBT8-1_tKn#ZEDTl8PWt9J4 znOWU#c}$r`@!mDKzeDp!(BvLgr`2e?*78}NZw-CvCAy7oqdX!?ne}ieWGNfde%|#Z zzP;CzouOCHVptW>`T3c`}=9~EOowMe@+`FiPIL$AJ*Xcl`VabHsrUcV#yX2oj6+r~~taS*-m|C5)w z7x(|CGw;FS1KzXymY}R3o?>MdcyA|oZzl2H>%1}v63Kg|OPTjZXNUgfB?^vjBR(VE zYhd0x`}*m=-PaR$_3Cdz*X~99e=qX?5oIQI5M@qhZf!Z#kimQD?S9SeoD3>JI(!oh&LjK6J*^A1Sq(*J5yUGY8QIRZ;=Ms@lf~Yv z|0Md>p@rJi75HYU(T3T-OOy^cr6#W`d7SS89*CQY*|Kyycxy$pMmt)x(wG&xnQzX& z%DZM=v?OHRvB_;coDHi;ua5lxfa4*+@kGG#d9G?gGK(Q8Xqo~@<}oBYV3{OHu1i94 z)G-ngYZ@eH0h0MiNItWVgrpFV6fh)(3`usBY&5lN)MqWz^V@5*F-2&>R)QY9|3|U8 zc^x&{R|KI^+RvqSUk~#C)6ec9vh##r__6PY&hytrhC8B_O^!Jg=pX~Xj zK6f9#N13&$8Li)h2Y>#p9PgHMhu48wurINlQ0_bfe03dtwlRHo4`M72jfl?y*Z?%q+zb$~b+*q~=Qj7i|9`h{ z6n<9>h2eF*u1#u4ivaOl8}%T43O)M8$RkiA*6}W=;%z$WuSfqTVgq`R|Ig}M$S<|3 z(1fmolt8#zAdP&DJ%@TB4m~YY3fo_gKAzhY1JX-a9ww?h$YaU<={(eOY8J*)*|rvx zr2Kz9$p44=AEXuOz+VFKcpdEl#Fn-VS zwAYB$%LzK=v4jrc4;IG8iGnBl%0w5(-XUL7IYoCCVNlu^%(w-VK94NK^ZZK(5et>SjG-*WW( za7O(Z==VLY)!Eii-?85XNbG}al90?q3%a9_f`sD#4@C&}KVWpP@$E2|97&F3L%W$7 z?fwZHz+=d{L;soUcVpW6?SYqn-CT41egtd8g|OWjD_A_?qPeOO`HcjN6So}Y3SI)c zF`rjyEBMHOT)}c3t~6RwWGl6N!f4reik80^s1c3M)H=+0Y82MtsJ%HE>(GjI`0zlO z*Wdl{_2+flRely|}YQ(UE;7F~->p_rVl~_0GuL7bxA6~DYtI>6jEv%ppInO`UW>OfrgAOLunEW^s<}G6{pOWG~dBk$ewA%*|@Jl(CSl;XQp|13EYkq zCw92ye56*~7to`7bgdtCjD5qYbz*;UifiYbdc~3c-=qHx{_7t7lm2q-ZwuR8#%mI! z@7sgn1Aia5Z1gNhY4lcf590q@4UScYZwl9l-FAY;TssFDf*1OG^aK4;W@_jFZ`o?Z z9Y#IZutlAU61h9Jzz$K_L?j$v+a$a%MdXM!)E+d-ButA@d#CYr;$dLXKzn8- z(`W&*8T9Dz!uoPesTe{M{m)ou+4AkR9iZnN`0poJ!`S&O)^*-|jauGlv~(LS$J})C+7x}&+8VA$Clo~nV*l^6 zm3iBp+P+5O2by6=umLmNFxq9z?_c_`H%^u7>S@gH>xwzQ#3^q<1I78@*Q5WgkLGtr z$Eu~^0izDh?W)Vk1BLmAF8*ML+0#b!6wc`B7wGBZh=l5~zR6`50;)-AP(?Aj-$_FC zU>|0ep<03YqFe@&=V+um(9`n~f}_+Z$J}yVKk61|)D5BTF5~NW+ZKv$tP9mrt$o1x zl8CZ5*ks&MQf5R(W;5!j2mXJ;zZ{f(g6&$=g6?glOO8(QmYe2N*+M7tH@U@3P;3TM zjP`+Z`V`nHdh`<5DUz>Q8k=8J5%h{VIqo4nY zLjuF^FW}jJV$t0O$Js;kFhj(1liI4acjcKb$Y+4PS>!T|PO-srGUt34H`+ono77&d zZ8qA{>Z7*r&~5^LJ$Q9ThKr;6RJ|YsrczN z-l9!Qe8juT*(JWBXC8_+DA@m@pBG~luE+g@BK*Ds(F3d6a+;KB2ScQBzO}wu+i@%1 ziB=(r0vK!fhluZbg{E8mqR%nA%!2t{Ihd=9jw`2QZ=550b& zc#&yWtv!i2SM&w>ty;T;?Ud%3F^A>1i@41kU~`8`)=yQf*2oKIatX_C!p)SBTr!zk zoDuKQPmdo8cOnM!>4Vvc3oP}bY^JK zB75|I#E_xaC8e}#M99$S$SS&GTvUhr!1BxBF9;!tmdBRs~O&KTr44$p4xy@2!P;6Un&ejwjfoPQ%T1qFp z*ixKY)8*X49qZAZtl`saeTV5WFZOE3FMOk#7R42n=BSL%^=j>P<~`XT&Cyiup#)U7 z^8GF15RzhPj$S|MTrcF>`KaA#>^ktx*l3RC%Q@OIa*j?!38v4ZG)IH*P`?7srTso9 z6innmtN*VynvIEvX`f%!7C^1PMyoYJD-RkY*%Ny7_h3&5!mBW@wFmG2QOO^o&QM`f zLugDB_0og*|J;&7$l^*#0VMI45U;PCe`(t*A+j+j!(W9LXd70bM@zN1nd3SM%K{@) zZrc8ujOy&c{ePOjtWuC_V%9_ue++tm{M_(JYH#mH+A~SWd zohV5X1g)JLqw2I5ItUM^CU5YJLN0SFC}9O9e$b{&pL{q6^2Lg_T;x9O(HDafQ9fto z&RZQ-KF`g{eR|9vo!5_sed(U)7^MIduz~{4=(v*HBn7?=3jFDSiT^snzs|s)^B^$( zj?D9=MvJee^F_t2iynO6!cH&!F?cMvuy{A;v5tEoQW-;MnLm-_CARBO{P!-VsO z2#r5#Q}=-dT8=Tg#{MN5{b3{G-K2hvwk|n(xBfBu>efFRsuo9+TuGiQb9Azc0AB7@ z*-E1y;TEqBb>sfOy`c=Pe=~&9o4fS`h;8rITM?;W(3*pPJv9`-*FA{H@79t3A0@jH z6@Qv3MX{cOI2B=AMYqpn%!4ba+Lh^-x3xW|lubOW+SR69w7z%9TA~^npuMzPzXN(Y z>YYFNuwtjYD+{zSSQW%|UmK@-wYF`O!o^_?NbP7!n@2hw{!cX8aw%m%scNM3dBujYIPk~8gSQ!?Zf z6GqgywNcI^$)er3|L+v?HgvUEwo0Bl6tP7s)E?~C6?}g;Fr6sI(j1j(gVmyWIr&^L zi!k4?cq>lboQfIz%Oz#{zg?!UN-a%}rckJ)hpB-$d@7DJXD)xq2C+o0MQ(sZP z67;Y$bW+yuhW<}=w{cyHPnCUI0)$<9pZ9RR^+um3oD%!&knB_5+%fz7G1t8z*{3-_ z6c{)g&6Z)tV21+B}-f< zlvO2lS;p(ZWXE$Nqiia+$i1W(Qs2bG;a72{dECQCuwSZK?mCL4>(+Y*WSp*3todKs z?DV)#w9p=tZ1YaCjrV_P6GEGgj5g148=|+2!74B?fF)RLJ4MuPVr~yAWuEqyGn{M4W_UK*zh_V9{jnXk6X84Op!^`WsnXst&VE`md02zp z$p2@1*(qAm`fNMogcd8kj@4rCY;%=WX)7QtfeNtC!%q<`4k?fDTkDXuyLHb%7RSq` z^ghhI!6{Zy`GNrjKOL|`RO7`D^up&6wWRz1-TK+EYAg`nYosq#+M<+r zPrfP4KO)z=^)BeJ-SGdL`Ul0z-PO84yvMs-mG-)MVv8jsPHgznip>+NTR+TwztUf& zZRR|OwC8kSJ(y=k&G5f3z^NggC*EM42>U;`*^Qe6M2}t2th@C`0f}7m5{?Q3j*F9U zym!*cIn0uS+{16@KGy(_{3IL{rE9`rp|cAakWx^r;1<^yP%LFAf((U8i=%Z^yGnb} zJiSHrNieKSgW=oU<6OXSugj1mIopK^Ll(oZmoX!`zgxF+i?a+E&R`fOWWeAyV3?DH z;q8;o@Z2;Qbm*Ji$p2rZS&}dWnE&KiW@Q+rrNQtSxA-e=p3`jn1$WK6k^i4&!=%G& zZb^q{OgTdMM#3Prq{$I4aF5RchC61Pbddf42}3r+u$wWHblAx)wi_@|{=aVI|05Wh zUZ~L~uTq}{1nkT31}Ebk>2AdTPlJ!6n>ABf+wNc;&XWbIS+5)M|Ktg=q1Nk0t^5$y zs8M4*y#L*L1J|McmO>Zr)`N)9r~R}>YvGsyIi_n#>`;xiCT*-4`>QmH&7|+6F+xLf zgevVVqg;;gO~hN|`ofGyaQVr2e1q|roYr?8`rc^tK`@R<;_+pz95FvsrCpaX%2)6$ zQ%06 z4o&`2-{~Eb?FzTp9#?<863}nu7IV;IZiAZ9Vk5U8?zkJi_m_Bm^T^BSL^!RjN*gqw zp(vSdy%DuKTqaJB2U`NUDE&Ti>UHZY_~$kJb6LEQd5!#gj9clU1Mu>u`UhrXl9-hn zn7QIgsZv(@*H;tMl)@wya}6x!@YmDuHAiv31aC^JH- z$)vBvfa2?zNndLqlfIur4^F3VEGFsO!!3xuA2~DWdyHEUb>5HFXiIqCFzIVy`aWzx zBk6ktwKmKiN#7Ts3wP_!@y}=Z=f2pf=sPXde+GTG#w6!#ik*tS_ZnEN=dUUH?z1QP z5cIW-CHi(G%S`$L-VzCKUdXjXu@|A{3BHej?6 zwhX#&+|BR*b?YuzBdWyxjWn*z1x{z`T+oo#;2cC#(2Fsn!If_qm{JsFw|-8{Sq{tp zRI2?AL|EWG6241>IJP1aHs_KffT{7a8jbB?y!SaF|BxQkc$sn-kq4=|Y31aj-q>2B zy`B8(3c9d+QN9yn7YHi$yaTijjzhy&?4Rzx-p7$Hh%}%mV~RE)_}@ePfMQ>c*WNFH zZ~7f!SE=;(T&hgpbJ*IP3w|}_X}ZsKH^&V&qt^52xk`MQxTBe+P-SGco zZ^3Lw=qXu$p257F1qyVhOoB9)yAAl z&q$ZPbckkYHSk=~kcKDE(GS3#IT;XnQJZFHNqYc(l`g#hXDiEtkG3woEmma(Y-{v= z=FsG_TzsFK@%{5e{Vz5dCjro^!j3FYROYa?2&mpRH4iW|b4sW~UZ@CN6{_%@ec%p0RE)QAm z@3vcE81=7>7_yEp=xaxL$t=*1^>S? z^}8Keduea6eBP+Kv9BO11zt#S2{5znkQ)Q`>Z>Ly3cNo9z#&3CRB`e;h zD#PDUtY0d_%GAq)>K4luXFLlLp@D$9M`@}#5r+4mOTT4MDSHe1tKD}tcBrHeJe#8N zG5?52c+wjt-n7<;mJ0mNUkBZ(Bt#KUHwMds2lp$pa(v^!3l}=^74)5{rs$go%b}ul zA^*RvEcfstpFK1yNR+%7(F>A>@6&{0{~g%^nh@LFWPvZJOCL3umEi~406RvF*ykWP zVW+`*BK^8XJck>0YHq@d2*TD}XUpY__$Hon_*r=39_HG9?HNPs&W3hO_t$HE4fS2f z|F4v-X+sv*RZ1!PP#fxR^U{5vJgn@upoezpZw{zF>dy;5ZWr$VSBYU)sxH-g9vw?fI+Nvo<+0# zI_Tt8qB^5&*+6NBv`S2ABO5|7=KfZDE%AsU*>>UmzwjZ%?l4v?69t`z{QM$;-0Nw~ zc>`wLv3XA1!}C+ht;S>brs(rUiF~^@1~IcqD{KQal_h$b6BNd2wxRtX31?lhZpt2KbR9PX!Y)+WDpV=ZbziU`zWro%44 z+6k?*D#JF>h5Y}ttL3y=@#Ye|BjC3`_uD%VU&7;9wq6Ac(4&oF*K5H6v(e9MG=?q5 zM}JelFZO4_hKQ(b@T+yZWk;9(G$Ima71wAw-V#P!ocLNLSk`*89+NK~KN(!Hjpa1*P6?Kz71r-cx%Ne~7+A{WkhP#=+m^sqA^xL63cj;^T3p!RTsS;tM zoqJfdtf-T%SK`fq1sVM<@6YNe^W|a3Sk`aef-vnlWV5OfD;1*e#?-vQW8lFm4zM&; zCE`4LsgrLWLwFHJnpq_M7gZvk>mU<#Db*ti$V|aqdI{H_g4+3 zU1fNLM8NR5D!3cs6hC4bnRi3F^jrIgIyXU|@51|k)!LQ@Nh6s}8ulD9Q8j5qw{1#& zdzeN`m_}nkBOkY*8x2H-J)ltuRs-2&yY$QYP!2lzwYLncNfYYQztcx&z&uHU$MU02(sza1wI@h0*c zy7V{VCRfN@MK<*F5^NCghjUM~Kb8es+%w1rnpR>v;Mazk7DQQs;lCO7o$#;wwKw>S z%&$h@HZgn;1FxoxHuu2B(FOniF#8BB&yp-o{uX$=orDMP&MdjjYxiptR8RlJ^H8o< z3BU3xX%dDvjbznp(EGCGmm4*dt%P?M-v7%+Z>zaCP&MuJCn?nqDb<5^vyxB|JQp)f zzZHi?6_RKxV3V>`wU+CWvQ)J;hfn&GWht8>OW6%sYFr$$l&CYX=_3C>$x^?TdRn7} zq$QH2NTyOhZ?KRoCI1~jc$NH@(;|O6jNf+Sw~c>8ma?Q|sRzX8hW+s7OPMWGy7>X{QHCE1`*Hg>C9|0F zO%R^;F8zv_ihc8O@O&WV*T#*IZG7;<%bP%tL)K72xfznp?7#Z8&-iq}nQN>ninUR( zYX3LM<}4m{68bGTNwOIW2owill#*<+W7fW0g}flPv11^qJ;UG49b1d~wHBkK5ZU;* zWPFX_>m3;-pG84YC43?r03DUH5wDkvsG;zkkc8l+DaL--V9S(*-i(GJ=?82CRZyE&pd~I zg|{RNH~%RSY(adJVnTCz(-O#iG|PXw3#Y~el;`-how%2zX8E;7l4&h>K%4PvKKopp zmF&yF-gooVB3Kmg)mpG^^dr?;b=EriD=UAKUt3&S!an-jG2d&wd7E;ZCWeYa7;oxZiQcjwK1JZDa7^K&L)DME{<+L;e*Tvf_Sg;m%TD zC-VQ1q^Asj>n=O~qWAx@n?big8UFeZmV_MoOKE{Lx;AXHpS`cNsdP`hPuW6Jp^AIM zSTVWdw|44>p-o?nSXT9u_kGJcMr|+kO?Zs@H~vozVYV>WjCJ*+Ce%>j>7Xh8FwAZLiUWR{ssWba6seZiY4Y%zcxZChY;f zTYxv?tei7`bEocu9YJFJJKvHH#%xOAJAv`t!t-k4Tad(;u+1K7^%1^jJh~*2W0&~; z3wk{M!l>FH;oA~?JTMaw4Gp4HA$)zX*t?PErxWr2PWX?bBR9-l@NZi1beV&B46wl;?F0{(Tr)Z>RpsU_RoS z?>zD6XGU|q=h@4B>51PwL-vnO^8e%Ok!P|x?2xxR^(O|;H6lOKT^y76>DJS{G4qhKFv37N)oYbjb&$X{Z?Hz^}6;?09_s;S* zXJVzh@lxLIg#VxTql$5?KrFxlC&A|zi&jW^8`+X;>E0wtRb&_qQx4q*NRyp-|4(K6 z<&3s!ae~jvYVqY9)I(g#po4mmnd6E>qeGCZY&np&{uq3?{{A3h5H7-ZM8lmQTDTP1 zL^qcr8;1*U1#MDV_anb5^(FWIPCbEJ{HA1zezc|6Mn5xAuLavkL^-g^~ zYs8S(#V&4fDtWzA|1s|Cv%Jo^2_>ayPOnA&yiVl*V``0**NtfPlld^nGl`7SO!X9v z<}=pc2G$qOHu$rq)kEGE#T)Pyti;Xy|Do8D9^161AX_Vr_0_6O|{4=F;K%)*D z(H~rINT#N|-l^;TQeN*w{y$S*@6`MIO|CHI^-k#j6alk?d!k*{kk`eAv=Yec!i*s& zdA*b0|La8lf9%P^?;t2ldA(CV1iiEq`oEuZHl%3%H16ql>U)uqKgE;x!Y+F-be7M$ z=@ER}*`JM*ZGtf}*+>>c*VyB}9J6ap!s7_;aaXkY#d}h|5;yQ_OwGb=(5E|*|KBg3 zDUzC{dCI14`yDRz=K6ky>b+U|4DS>hM@EXm{^ zww=v#Gb|l*>KxE4JN3!^XW|Xj?#A3xv}$2&a}Qh5sw+~Z9fZ||`d$L7M5q4mzU<~s z{i{AR#}wtGgBP@sYNYbFb?SZa#(&T#W2;$aL)+shTQj2UFDTnEqU=v7yJ1Ax?@+dA zMA;#f%^y+rEXt;iDElSK3PzMYiZc6%vQ0+5JlOIJE44*TJ->LES3Ax67hQig+i^z!GRl=3j!Y;w;aiyrwX9q>)!{Ev6S|4;rX$bZnuWoaKuV{xA-<};`g_W|Uo zMfXyx#OiA)f4rInes8(mTO5LA9nsu4|Kp0?+&PkKH+wzwvMR(%BM8@$ zL?!VcYch5p`&!(|2_&Z3T>Ep;+pl3ua3-dO8|vwsI(M6U_ah4#>#GBCA|tJR*vAR;9c(d!0Hvowo+TnaHp^uj8$s8jFY=kTh}15`gtAIAh^ww z`xDe#R7XYg|V0Ae5r^LiC#q!T?KNvc*Psu&M zty247IrUK~DA%yGw$LjJ#P`37bt3;i$;h4h<1wGO-+~&JO6?LOzDe@qi3=n@DqEQw zvEL#uVYpM@7{eRqjzzvh#I3jqF%Fr_>9oM@m|QwB?k;aW94?;?YSbAJ3^R8SuHea5 z3B&gR!?o7RrFE6K zt}NJy_3;VsAZQ7hBQJD)@P2pJu|VQH=*;EqSOFy%MXfZl$))({?I?K5h>xx`?q|3} zjgdto#YZoqo}-p44j@{D;FjGHI85yc=j75pnyuSWUiTu!6h4+ z5|x~hGi4RT{tp~h8d5=}w!lGfxx}@lBiD=*^}Iz+@kJ^1?-DnC8^7V%vl_U5!Cupc zqJ0=jCjPRaN^`30dFEJ;oK35+TV4BJrS?e{ zmu6vA8GK4vfyrMiebTqXu5=r$7;C_zbP|wnCi@ZV=I?eahJUU$VYjV%xl(gFTuJI2 z$NhigQPyr|uC%gF?Gg{M%(K>e9Qwb~gj?G73w(HIoU``OtXPoK^-FG%y`A3K$U-)% z=j-p<4Fm#XmQrxSU9khowx(~e%Kg&sL>KO0CAJ#LotiTG*)n!tV_qC{~y=aLr)Ik-**g^Yh}!1l_Ie!b*lNbcW*Lw z5v&WGX*ki2>v;cf>s9D|j?sG?^BnbFh#iXhUW~pM8GQ%PcZWPN#mDLZMGe#&C^#Cw zM|;Hs@IC#DPm&y#i|Bokrw+{ZW zqe^J*M`;v`ioJ3|Xm|Z4_eJkJOVqyg>T%rv$32}x=`|(G?%pe%2)KX63j(0XG(u5@%wD z4PM0LXt+O;n9-WEoE6Tlk0=!bB|SucbJzd zw3X>2w#aq18zZ*h6+Ghloft7}jCf(%h@e}*uO-q?VemZVy2I%Po(~U{Ag2;y;!3hQ z)Dp7de*jL=?1a6PvNjT@*jJ-8%4g*5*eSb$JKWjFmXv3Gj8g`l_`3G{kyU=(Y@$vj z-^fXw1;_R3foyR7)lAV!F@G^?<#@EG>(+ShV6KPU4UU}-EWSNpZE|WZH{D54EmV43 z|0Z4zSmcr%@6mqEJPZ#3a~^U0pUyEjeyh6K(v;n7-EmwWKkyRt$Ur;hKMfPLL!Itx zSIWGw{p8w|=}tt(jpKgSVt1oe{HZanKf z;=nLC@BxDZM;jdYAzD7qr@`|2wO$)`4HaBUJZYUwRxYAwU<&c}|ILs0wdQWV8@v1s zHkuQPr7U2MT#7v*_;RJ#%j=;+la@7eAEteMbN_L@33dkBAs_577v2>_)k-n0Bz=#M zpO(4D6F1$`Px9z_*vlwSCvkk7XD_|?Ytj31qxY-O`BJTvUNvFPZWjVKg0Mp4;CF8HR8w#i;k!?PXr66qlrp zyEKsxu2)V&|5?g5pD!iVS+-??>$Cf@=P^BL&l`n3@+-uM2RZ7G;zO_SjqO0z?u;6J zsG-_vg-~qZS#8*Lc{d>WV`)OQZHGtZ=xU6J8*!%*KK7-FEXNM_sAJE$vp=p)Ov5^v zcvzWP-@YE%adNkTwkm34z4S7V5^d!v@nYX7te06#ok~$qhFZBE?QWbB31hubT#j5Z zEqzX{u$V1o7AmDYbI0|qeU-vqWUiS984thM%h1u9c{6Rz%)u!^6u7;Q*39YfLTU{d zQO?U_3NTS@SUF|+?F;wISz>G;>k>A3;1PKb1Lr?H@6R-_e~|YP>cs^b z5Z6M3b>{3?3SUBMC$3Cbl#}Hf(og-`bqr6FDf_olvHs%~+MeaO$32(k30a<*etvP?wV86b zODQw7)H>k*7m6YXP@i)DTyUsDd$>{lEh%&~{*8_b?Pen?u~N)s2-4;sJ*=svF^RXX z4OVD%%xM$}MkUAfU&hTSsgzAY(&}O!S<;F!{t%sH{D5C8uAJ?x&y)d--Z_Xi@o#G9O!OZiEOOo0=N%17Zmm!be*`QH5 zTHL(c%~DK-b}{#y!hbH|&-;#v|015r-H4+j?59cW;Ta{ppX?a-wl?|3;PnLBwJvV2 z&;+-x&>kGoa~{V1z|iC?wC9+AaDt4`S!Y=u@f&v7WAwn4rJS2PAt z2F@Y<^*HkXEA|}2%0c%U$Zq7cCF}*XrlLWCjQc>w7K2A7T_D%e7ns@Gy&GC`=nHvM(|W<@0C#P3L`Rtq6#REj`Y4O6BiahuV}d};h3p>Zq22qbmG5N~G)S09O(ysXmy!}@KVw&|AqYH2!MxCpa9R}5x&Az}`C;2?uZC=2L zcJi!fiC&qQH#skKWx_sllUqIftIsD|e@RiauzDWXHzCiRIo}jV>DOl12okdO5%<{k zE5ip8Z7)}7M~YAmiYzh4F#B(eg0G9DM+U3hL9LzQ(Ghz5aeW!;t%Dwajj>{0TZo$2 z11?V5EX)<-@R3*MxbBHUN*}&Cu_%$ z6Y(yoc_!xYeQc>YO^CvtP%Jek;vK0ujRu6a65~u1UEGsjY=hPWNWr5x0p_lOCBW32 z0=^D<|8JLK@5LUfD1d}MHb*NC?~#O+zfeo{qJp^( zxsSi!p$`rsPCHzo9c7*|_E+(mLqZ_;*ABe@$M$usJLRxnd{8Ul0AJzV36qAD7aYE| z0JW57G+7jJMvG=HBfmPeGtcO<;Pq0L5q949Dzuk)HdCC^GFTxj%cZZb0(lv!XG8%T zXS8DMy&d|4sP`$(=sey_kk70bHDNX0kvya6<=cm%E`@B<(x%vtvi3d|V;?jBADHWvEj)%|)*N z3Nec*QXvY~pmnZWdl>qnlz*+pS}(zj+6Qa2!WFbXDJ=ieo3kDIcwjqqxm@dR?Qw>q zQrn9YiLj=%{;vyp1#FQkAb_6!H884K;jHHa@TH7#Dzxeto17*(0hQt7;Ze;UdSoCA zu|33T*^iV3{i1U=VRxJNz`uqC-iY61`Il{ub#qRK1G$v`t1YKF_j5HD?Wcyz!^20y z*6l9ue$+&*Nm2u5Wp@L?z~ zL*C)*m_8L5IscUZN7=i;M^#;Y!~4vQ$>cT(0YV5cNq~lMF(6X3J~A0*P9_&ff@lLp zJ3*yGvODk!a~HmKJF? ze`qh9j%D&MKu6MzqVw}TJa=PO+1c8=sHZad?{n#HiG03){Z!{?tVb-MY=!TAF^7p} zT|Df*#HVY)zte`4g$x$7Wh|D`c?4;(^d+D3#ggj1cnCVrZ(+-sjFlwLYeKHUpp7F@ z4-J~@jGq6>Nx{8L0) zaZ%Zo!%rhs*1JZ#b~kJ-3@0ShRVQ*Ba9V?%`Ae{>FCeJ|x(og?c@!wfmUDGJ)86#inP)A;;$8SBwyi(p+L^A(E z#7RY)0?MC)n5)*Jy(RL}Wz;W?zcI+-K0PTs4&UlBR0;E|*L65e>$S=TM<#6O)3s;y zxRx9^4Xadv!4zC;deF-zk7{;@Z60b>$QP!dHlfw+y0Ljj$XATsx;rYhvJhae???Rr?Y)}i{Bt+Mjn zVyT7Cx*~b0mF`nNN!-H_K>fb}{Qo$)6w+aI&?!|<#S^+B`G#1%Lb7UlMZ^c1kEhK+ z(ljUF)PWUR>((n;mwN*6|EsNsdYqC?YrUf?Mr)A{-Z9XUORcx}z?a)d+TA4dVAXoq z!7hjYBlPfht%qjx@IGb+!M}Py556mUAggUad8Ow)aAtKmwMyeoK6`i;EASg$hf01u z!iRTN+7R<|YkQHb`YejI6XYWIA^%aouSnj<-zq`{eY9f1Njq3=)wRN?tretgF6k-5 z{$E{fX{}K8&D(p5s*65n?CLT~uUOO4ZyF)v7Cp>xS8_o+m_(@u4P@QabxPLK&O3R{ZgMI7cL`3KJF zQQCiSvKF*=+6jjuIeRfaO%7>4)ZBovcJ_YjHwB8Y;0zY9k0}@Sw~5D3Mh)s;58ER4+b(Rh8wM{h7^i@HOjNNZRUJNtTbonZjqqRPG{Ywv@7;iN`C2LmZK%M?8V{MJW}=y~9y|%@fQr9ZrCbv?BFNy+Q|y9-69BG@@68yNl%GQz8_7&`OY%NNUVG zSx!%Yp0WNl(g=^jhy4Yg>m~A+{Ef&68|wzaw#vpJ{}NoB-bmKZcP@nbgbUWKhB|#< zP`xmXuB`>1KLy<|E20|?G1lX{&lq$ubI@nGmFtEk=z|H+4a;}M;hVlC4w_+Ocls`K zeFetkLYTD1f4AZtf##+eaTW0I_nCFNRx9qf!H4R~U!>*bfa2@beLnVo-9)u_IP^tw z{WO(oHzJDi@*U@|y33>&vMJt==^{JM+d#FZtO(WqhpAM%fzLIf+9}L`PBrW}9o*gw z{jb}+2{M2`8`q%UOpFLi!)uyLGAu{KWS)-7bBk8 zyxq&jTU*FuOc>D$yu7l2PWfDc->_7rdUwO?Rn%T2?c+}r$qQ__!|6o!r7mR|ED=SL zYS}E3eQCIBD3JGIC!zAin_@&y??U~*GHH#jR^trP^SYGsGezp*h6o>?pf)a=mD=( zmPm^i;R^78PpwI~eo8q!g;lsBAd&(&SiHsZYgwPluV&?D_^b)**#+TzQ)R7d-k~Do zHqmoMa`k}u+NFd~6TYftxJdRJ@D%Vp2#Gv!9&{;RpPnN>w?bVD)p^jRw4W}LUSA%; z_IDb#Q?VN-IBDN`=(3ft3-SLY(w1`E$68L-j1uWt?HBVV_=}{<6^#6@x*{oEg<12j zu6A~Yr}XA)Y5B|# zn_)SR-~{}Fzd+v4XIebh-;MQMO4(^s1G5pVNt?}{ga%Z(M7X11ee*&ecEKrA*Ew!G zI5=I%$8XtmA?3RH;rM*WFq1y`m?olG%?-9O4#KT)O5)ak+>cy-?5xWrA>Lk_TS|ZhQNfXtPR38^=^cDbr0W*}(jmWywr968I75cT<_#){* zIZKA6cfltg8zbP} zi;>{mPFjNvGIHLjVSysaU*O>F7D)>@1X1{$=yzj5Hor@9sZ05pn)wf}PQMPJ(dA(q zK|hc#UVg1as?H+(ucS+eUoVoLxU63@`aPJ%ZNs2i6Nh<@{10eM1L<qJz8LN;_dr~x= zT1vm{+@NCl%YL1@OA&ho8%`81pq#ZX#Q(zw3r&T_k?JlqR$PN~M#|128XCEr&=*@24L}HkZRAW^@%9wm~;vjN(&cBbQ-w8RGY6`{*-f5 zlr~=l)$^W1$QjV@oc1Ox`48fGR87AQ-j&d<(tKU0>yl^w!hAz$#D$`mm;;(4`-7hO zHTPZ*3v`$A9=@}znqT2GkjgIQZNTHHh}PjD-^UZn2omz!EI_OT%e|?k=3c723@jlD z$sWnZu`xoR=HB$_>u`!o7wZ4flfHY&-c8?X?p-&WEh)#HN3}a-@wWEg+ZRsr(eHiG zR`(%Fm#pFYu(Hs*Hm5Mn7hcQ1e{k=IlTq31CE{m&Fh>-qW4;D5|A;{Pc)SCDx4H`;ae>Ns2_-d5YZ^(y@i z(c08>BYvhtu~wCUB4~!7CVu|>1AAvl`BMS0&Mp5?72(~5)`9!MVkwWGG({0?T{!=b z&OQ1JZ(6iB_xHbCY$V{_$U??&q;hD#yi0uJ+#R>AYr01q6PgJx zo=+UPVf2nsb&2P63rOSqEbQ^kk|Ohfd57TC<9rYFy*xcm4)cL0id)^XTtQ<{Bt653 zUsgFYH66c8c>*;8-13*4hu!j958-~iUFyNkNR2);XwipR;K%!W=16ZZQujtju(pw1 zy$kz)H!8xa`i)%@_#7&h=0PkvrdY{Sr@K1nEOgunqL>X;bP)BNBMzp zDT8G290-@Qw(vZ5_jdw2fY0>4g>0B#1O?Qr1-BM;5tYA|o>6|_Zzs9{|Hb$;6-d*7 z|G+r3F8KdPBAaUOT#7?uJPxf(37!P*+FrXry46ap6ic@{@TsFc&S$RZ9!KXNRX=i5 zm(qH27;g}?0oDAo-~gT_&1&` z4o|SRg+1_B(dV7~6VYe!ZFp;q>(n8)d}F!lrGU3%F|A*M$>@C;CjuG*cAPh33Vjt8 zY$ozw|6j==}*fW&g1<(_M83r}Qv#P1k$ds^+HG4!7c<1tdJQJqh)9Y4_)zK7-R zZG#1|Eu3I0c9nLz5v_pM1-E>IhwzTl)B_8KTdvKgt8Urz3w(m7;`@2ZsPPoFUyKt1 zsvN4uOgu%_Bg}u$b!9<>r+OK+RE!g@qB`@-4{)B+yp`o>Y3#`ebidhK>>31H+w=-M zU&U5AO`*l%Vrd4S1*@FTA1ikGq%E~W`DqD4OR=jM*r@)0w|ozu3sG#ohnE?gVN!ea_#>cRG9z6)PdUn;cmCQL$e*&rBaPUro~{=e%Ixg?CXwT;+Cr^&dB7J zr|~#Tx12u~zl{%}0+qq~Ft^oD_vU&>Y!HHR`pk`^{3ACEJ+?W_^5Z68Rhs~-Ozm#O zwL%K(QM)UL?3}lYE}UVho=t|&v2`wer?JPR%dj7Q*DWu#6P_cqeZWJ2{>ACFL`Bo6 z=O1=v;q(r>bXtes*kN@kccV6cKI*@|oK15=l?PSbq&e^RU>6|Gv(m}Gs^)B$WIm3W zd>23?Rth`~R>Bp~8*g(l=}jLz1-4XF9c7_+YY2~PCfGxNsTsKiJg$Ee7Llf!5i9e6 z*V-Dov%MxOP>-huQ@zQSW0T`s_D@c4wFC`%-L)IQ-5D!&IgjQgx9)=v%3%5~bAu!9 z;O>>aJX34NN_|e{)PuW)JiD|Ty(Tm!h$9=YU(y+ZI>@91+mrCkEv(U~CxCicM7>{# zB2h1gWG_*%&SmU0A?Gl~&c4{C4H}_hncTDtPcfomCuG0QpHY7l_5WfhsaxRM z*bdrxgdEG{SuKf^A36K$oe`R(f+q0++_mHG#Az*w6XRP!TivUOQAh=~EQm)Ga&iMg z&bWX&7P{n_XQ%HxHZief|HMbmPT5H#@tULg?8Kd;h`MO~Cp)cy_&y!KnzeItSn&98 zHFM{Pm6g{X-L20NCeM_I>}(5LZNgN@cNwBpSm)m{!K?|`@eS!<1CYMS`sJ4x9W!L zrXmWOC^?Q(a@??hFm4F(sAnj6^tzV3Nz+@7P0DCB4nLi_#bG=6+DhMqyw+=1>c>@H zdt|pTVNBaVI!$%nOmxZzoosP|{gVc1edu`~kLI1gDxbiJcO99pq!UG-aa=n4^PM<3 zCU9_fUf!A3k(*Vhdho_Ic_$#}6Zkkp{*K%%fa5p2E}i}Q4RyrL$wJG}=Myph3D%*{ z7rD%b;c*whfzZ%sW!U#48?)D&wW}@cH&Dc<*^^eU3q5dtSiL^9`$uLIvaqIO{WarX z0{&UCuBG8K9se?|LmIH2V<5DVpvm}AjvVb}uPk^$U+O&DovKHBNz;_2Y2$Vm+m-P0`{qm0b~I`2{C zKX@+YoGDfJls@H>B3Acw$Zv7k>Xv*3s_yBQ0-nn;*fA@L!KEQwmPOPacC(e6Rv1#Wj zxTQsrdwlP3R2hsrzPD4v4Dnu6A7LROtl~sDg^xFxHq?rP)*I`NDwlfc9D!ST?}luG zsT^>gMU6a$vk}<1qsr-Cx760Zw?2yc|7&=pI14@EtHiTMd+ib%jFX%<&df4zd%D}f z_Q_1ovUJZnP-)PBY>T7HKYIslvAguG=6b5lH>2a3Hyu*r9iX`$6msBGS19`{9wLoH za7*LtBVc{TcSLzpK4Theu|@KWQ%8_3ny(~(>MfM-1ovGc-#+Y^sSZ_NV#r=x4Gr+9 zvY|KMQz^16!r&JF5Jumrjbwg@t-;IC=^yu&@!lE1loq+)U!BFS9Nmt72Fl)O+tl?rCH7 zU$_$)Dac1s&0&-IUYZhsrABlom6MsT}^8&MRbl@S%ys!pnQr-y$!6I3w+ zQ@55CLUk8%;BBJW{X>vVGKeZ(>0z4~;{9ht`snY!TibiOrHfjfrHGt5f;%C={GJvq z>DDSk4($H`yw+~%Ei2I~w*U9~`@g8PU84RY^Y787LU~J8J;!MXxBnbfUJe#&k$AKt zKB~MBbW77y2y6BCbNIa|;0;7KKC9a>OVlGf?6a`de^hxS zXuKki`i*m2XGiy;2^-dk$!{dCcOarDiLaVBE@64(uSvoVG}j}vwjp|=Nbd2p@w;^A z7x3Jy+MBlPdvBXKfA3x|uX5Xx63S2RZWTi5LYtUA-qBhpyO*nDb&OLaqKO|x{(qsI zx14LE7)dj~J6q1t(G#@J6W`LBZo_ki<#u`0b=1ymnf7B0wy6Dg47Af_v2w(<5#CcV z+Qwj!e3J)nfL}SRs7L6QW-#>%`9hB>-}MN#SyH8d`49hgQdPu4MbW_}@W6~{b!aw# zLiv5o2H-{x{$&ze%IvoRK>tHs{t?IaF8S?}tX*dApLixt~@oAVXkDsgVs+ca~K{~2j-!oe((5w!sM;7ZpaIDm94zuN%XoayN$jtuz zp*(4TkJ}Cihj2{JduK`W$l~O~p8Hluc>;1y2)`MEqkNWhqrhPg3%JV)==%p%^!H;A z{+1h2%UuWw7p<=w&iU-QRZFXI;_Q;eur+L>r^->CH6;CL-In-#I_fv)deDR23r`h) z!eehKly+AUH2^!OA5lZCwsBPX80Yg9M)Lze)$xG&-IFwKIiTZYk6NFEc=IUE|I@+m zPEWkbpGa-BVQ)_`97X>BQRR;(i=^%X9hVQQoVl=D8op;^KMSOzwp||J$kX6ZeE_j= z)N(k6YU4|zdlcvY5fn)=ecX#aevLk!?eF8CCx}kS8w@>;o+uXa4?en5yF{qgg$yQP zd|KOvyOr%*L(?m_vh@E_ZT^fOfXwZFc6q9b#TC-`b{pSSBIjRiDvy-(e^lS=$_GHU-0qQ&2 z?(kMxu^G;yqm}xo@?&?QEc4Y-m7nLZ*S+gq72eOa>#v+p-x2(Lb+;W=j^V9+F>f8_ z=l6Zx!Y08cH#wn&-mh7b6*34lRpimOSk1&cR(I7qOXwcf<~(GfX1RA2z@F$7?3K1% zR^&|4Jx6(=ye*$*46VW>k6!Ces!!fdbvQ_S&b>l=-rP;^6-la3dX;ky*5TSF%>tUZ z7E$Nx#0xxryp8Pmaj z3i+D_xKRIJdOAB2mqK=dqslFy%%8GUo6a1$SevtXsnI$6+o7u0SItr;{C?J5DD9Xs z2=NLkL_<0DIB9KtL`%s-tJ|{pzD>|?R!7Q)Yd2=m8|v@$Zk-5PvISUwYThl7XWVQF zG9&Km3+4Mc7KPG`Dpk*d+_pvZtT@=sRywD7VM9lacDAuo`R+`iq=Sz_)3Br_=m2O( z7tydfm1AdeJ=}kj__ywmUDrgXO2pc7i*6%J?jTrl4XBi}n^QRPoD(!mLL>`nFktoE zAHGpAwR{n_`8`W&T*5&%xfr7|RZwXVjVqw_t`qhDNRp;8+=V2SGVp1^`39+KtQJFF z0C_hlGoVx1fL!|TbZa0N)VN-BzMfm*O&&Vp-tYc6AwF2b49I=02+v54uWNEZ7p|dbSz0-;f}jpguD?)f zO35ag35C)&&Pl7BDSR}Kr5hoe%i|!Q^~viE!8jdedwgo$SLuoC6Y7#S4#i0#xMCjc zw}&qHlIkfA%2Vxgu~0%yBmWHeYpT0EV~l*w@@L7?Doq<`2WueBT5hxnSjtKK)7m z(;xDu|I`2UL?6~AhWOo(V8p48&vhdIpG^`%OK~3F5N&qZFoHssF0|sj5W0I$p==t^ z_U8V!H}bakq3zGY?nV`weBQqGx!4|RPbd4SkCd81i8w)EX&co&S*LRU=|XARa&_#~ zGruSjl`5ljqW*shtmBWS+Bk0sS*xA8P%dCn_7qAFFN?*uq93MG4%46d@y+!W$Z8EX zTIHDcF^4^5e{8mVY#DLnN@q!+5Owro+nR8?6WBzkJ%+dUaesSbIDRb4=1hUtp;JkN zryp}|0mVb-*V2{v(^=JvmIy(+Ae{3p^E+_%YmI?c`E$N1A@t85XdSz@#w}m0Agotm z4|PfT<&WSQix6r?E#Y@C>j*MK)@LV~U=!mTESr)x>q7U1YoQD5*t=twHYeBzcNe*m z4(jf?IlaVXIf!}fn9;ljmZBQhp5_{daCnWQ{79iRhp$tGQn!aFACbJBsQ-sKF6DD+ zQ79!<i+|J!Lx*Bx&e`6mV5BqG*;9F;{;>yF$1V{A9Nzq8i%3J9v|OMRLck6 z`JkH+DyV_A&Gv7+yJQL8V1~XM&1oCsoEn;+hQ_ z6!X=yQ2GWi#?s)rQ?;OhYF#aqEIc=0wzOD_I*MwHo!I|_0*=@izD{K*;jeiVX7ijF zl5wwV@|*Dge!%Ke4(|A&H?DzjAShdbM_NO?cX+xUxO8IwAGZn8$U+vylxnlnx=0B9 zWsh6dx!GjEjW~G|Dy@>tXz%S*{sVi0DnSn7S4*#3J}^Zc3mbNC4rooqe4Hmm#=PxQnrm~6sdVh>p|-J!F5(h z+0f5$C;ozS8fy6bGk+w_O2%NxU^yzMvMeEF|6u~jKMTvXwFse~@A+W&=<&w34|Z?u zGc#lEv9_*2HnMvbjyJWWY)bW}LU$b0a?N;SYXqvKdFd;&s*5wT7iBLgpC?>9e5I|L zjb|ZKP1Ta*4eK1&V>Cx`o>eQZb}Bdb7D{ukt0n1Y9K7YX$Ti9J&X!)qo`kHloysiG zDHqwMx9}?zE!L@APgw!-EjZ20EgP&3dYAMc|7h%9`cMPBZ!^z+_6F|Qvc*rsGgxBZjCkwyIo_FL;?FtfvuD$=!=gGnx(#S+u)a>U zB+*X2Q+YMG&0%akjJK$F_FWdFm7nWxtDJxSwyPVO|FlfKHTS}CTlJ!Bm79|0MMlsv zFXx1npBu{Sw;0|0>tNJ6^R!$Y1C9DaIp}b8BQgX5*}aKk3w% z(L(9QAu3O-hEI#QqEq=VR0}B5A_sGMhEJz*Ek=cEQrYFjm;vDEI=6JXihDVQxtK{p zU1|g6E_N!Tf{FDEwY;yKMen^^D6QiwTLcnwaE@f@hh#TthTzU9B;lS?sd)u)EjA?@ zB&U1ysPj1*kUR})tB~AzRY=-<;wdu>vy6paeylS*qsg*`^buW)t-8rE<6xn5o)J$+ zp!uLD4ZOX21@(p*&Y|fHm-+~v0#2DGz;jJMJQRD^sk{PsX3H-vv&+Blhv$omSjy=9 zY4xcMov8mGUylfmCRF-DBnWylfy3c^>*4S; z&#rU6nXd$mtg%lp?F&tSy3f{4dBU>qe4OqWs`88UvCgq*GryDaxXWgGn0Q3l~3_8@@Y(re2TrE9wVP( zuP4OFr`YQZ*CX;N_WIf5I1k58bXw_*tc=(X15M!fNcW$HUX!sqF49m9CwtO3i$p+uf;b zgU20}nDXuN3;j~DEk&LC4lWf3Ln_h=xuN@imx`j60T7u3bpGGj>!^L=tGB);9aR4h(f7hiHeP6P ztXz-US@x-9KW6Y({=ipkl8ouiWZAo@OuR(g_te*keK#hR>`pr8EMGK%^<84A{>+Y- z`W!4JcYK>$TH_G11f1K3v%Gayhpol(M!skS7sh9Gp#DFtIO#QU&qD6a`{JZUm=SoX z?+#|oO=xpU1=*1|1-zNuY7JSiLpImILy|&!I6=q&g)S=H7YPpc*XEd(m+_W^zDUbv zfoi7>>R{P+$D*Jh2st03H(h}K!poLz$(_+GWK*U%W>%g(bmN+o4Whi>M7R-ui_*ON z@Tte=3Vh-miPg^OsQi)YP1`tly(ni40seDGk)O+`>$_{kc0cx&6hw{>CQL-=B^YO#ElpIP}>tkZ^-ba-ute%LQQu8W0l*dn} z*0YU|j;Iuc=PoH*U_A-}ur@xv&S4^;0mG-xB*B(?%W8{xuEWTkDX3A%$U~@r*6BfGk<0YjU zJx=a_dJdkxp7dqp*3#Zc2o1ZS%3*uRR69X@^V}nk*uQ(&=R)nFr0qmI;oPjbbb=3d z0ex0}9%7?NC;13ot1anuhMm9Roa5#+zqPJI8GJg`&vMIJ2nRNX=5dOjjm589QyP#d z1uJT1b6S0ea_JPZ3=-Hxr&t~y+msHAf*bSoB~+jx?qINP2%){-4+_kd>HsCdN|5e9 zAAxjNjSZ)4TvYUY_K+1}TTN_skAqPtFK=RK~*S%H_P2%$&5zo;B+#{R&ZFQ#oUpVQrv0skxQ;+SPJc;Y4O zd@nt83%!HA-(Z{zF&{gO2m9f=tLE15SS!hwzx*g%7lC#`O&VZ()baPjPM!nZ%PlB@ z7K~8V0=)11{^*HPdHZq>3&(W!`HRXk&86}mmPfIlbv|Wd+Qvwm`89*2 z>i_$2<_Xd1k+b*jB)+*DRp>@(n67pnJ5KgzNJsn^dZbYPW{NtuFDec1n|7qtC-zmE zP3LNFalls5p{(g8PC6te*ROH49j3h2c(nFLMU+P68q_meZvkahDy4x+59ia^MyT}5 zUZPRz7Q$*ir_%>5sT=7Hm0JJJG3-W$h(3mcvU%J7y_Kk_NOZXK2f|*Z#oH|=jF#9B z$$Q5K)nndPFjVKgF@?Mz<(GLsI#B<=P82r#6{OwTA@(BDU#4FHw0K(3#@L(H~ z<63N9+pZ4fTimsIwtC68vlSkjtdO2%dlq>bJ$~eCsQCk;)Xi5SvZ&fXn|}mF?ZhHA zo4_Uirkv=A`#jU4LwSd16R2_RqO>iAWfL}RJ!OLkh<52vwrg?i)W@SuqI7@CVe*Fsa`|rc}!|$)=h)^88h;t9G z>~HyH{TT-IH#erg)R_LJUbVlHnEnX%_k?gUm08;E{`0d*-l zlu39u67x^*`h>OGyPtC!t2o!es{)=*qW2BK;~`0u%QI>kJs9uI%?F$bfFHk zOW?HA5fuZX^c$_FQJgmpYbREX=NMJ;$NSWdO1Bd|MqWpa#_7=}mwa}41P@0HEQE*U z3Oqi+yHPw`@}A`pJWMg~M)08buf*feS{o`JE_vzlEAe;>TtK`K=e7K=c&xb$kBR+w ztY%R@y83wBbr~L^st6wHy!w9`k6D-D@k-U@c(~-=Wf467_wg8g86J05spH|2cP|@= z$CcwDT!u%kh6gH0$GrRhJsw>r)iI5X$I*%_@fg#O$NxSa@1h-5-q753$@LY{x$TmV zd!o1yJaL#~n9<p!m$hNJY8(H3SsT^?ZQOoY8&`+pmdo1s zXF)738JD$jbvUlo+K70t*B~b=Q4Dz9yWUna=qm~`v`R`=qtk$`*C2aR|pvp zyP+3^@pq!yue-%1AH&W~5F!#cs(}k9eWFYL&_=X%$uE}RGamIu;cKCc7>39cvKCXF zqz)z6T_U}t?bhk4x|axayX1E?`#vf&mg6l}DA}XF2I&Q8!O+4{k2|7;f83obeu4dG zhw=gP&zX%)zPn`+q9Y5$R~@;{dFboy?nbXEYn*L{)y$Dk{4LV3g&d%(S~aW|7x#<2BJDg~V->~L#cxjs)O}Q`^rJR{59^}dvd#V8GIa!xDBqsR z_hwg*70nH|gsn5*r>MHRnvD8%mQC>jN3j2|T9RG;WJW!#XAk>yLA&10^nN{jXiqwd z+g$QoLB*z*b6y0SBg$Un2e{;EjBs?xsTwxt;NMrVfgik4<;V*0i1H$G;!{$6{rFUH zeEvYy{3H0tapQq)9PG3G9{$x%yS&x+;IHsiP=sf} zMY1dW!$mQYY{wDAQt~ z{QVVBHk~$ZGSr(Itey&wt=gX9_b^+ePO_-g1zzP85$h9~Uyn5z)+b??_;7)4rEx<| zkE3eW`I^3xOcvC~?ZW9U`te0=$&%S<4AvNCi+{$>{JK3XGz9ibKBFm%Rlm z&vhN&>~5YowQb1v!fg6IiT}=P8xj^4HcuMY)|+SO2;`--HclFRaCG2Qo~b32H>l-o zp1Jk+lPv8+1Am+}sC{t2Kgn>=8u<0@x6wjE$GqKaEVYH)kFg)*t!s86-XU?x}8+b%9V1)jyRns9$H^nU-QNBOrl6os5vf$Hlb%a(p z`uRw5&g0S?x-{iCR$}&aozge#cEu6g*mmt>zFd7vnf&8&z3mqPy=|9c9i%q>o)=&_ z#_>XXtvDvo)h&cZ4! zThCQGcAsPS{_Rj1PKBs*q~J4jYngm;70cd*I0PYE=!rAVcA1;$WcSovyUwi}{pUk# z9MGE?oge?>a&xoZX4quhydSb=xF=HiE6QJVKEjV)BhHX9q1J=}lG_#!>20=}6@{ixY6-l=)LDlRDpF1TUO4Nsw6FzqCNRBro0u)P(qEy)wJ z;QQZ;7LNDA_dSs+Lgi|btyW!&rOeAPZ0)TDN8V{uF?6``366XU7^)m;)GApbhe>(2 zw^*K~WfT&0>gv>l8utsPL^$#}4aY!qEtUsLwsN$zv6tD%>o~u~I6$&>aOv!l9^^A5 zI&U84P`+f>&gwNn zuKfd;{sWnTB-{QGHZx|6oX8Q8XH>U1Q8cVi+e=(F6kJ9;mQ@Xl%|XMa6}zf4b$Rh^ zWoHZKzF2A5%O)9*Ad*V|^}@l(EG);Wqn=#k(kf|0vDWtz_kFBY{Bucv$^-tE5_$8Y zt4Z`;)Qo>Q_40M+tDp;257g1Y8DUr(hyxw4HLD!>K|crHhUzvd4<1oI4g%Wptm^Da zqM#6T2tr?~uGW##uA36L!M6PKn$IWhf$VDkkG=L!&s4R4dj&|qG9Lv8|MG;Ywm z@s@eE?5MwgWPoIDQY%?sWmFRqu-bX>v;p~JaVsg3BV}GZR_I7n2R(O8d#<##Y6)T# zs-JKa9&*Yrsw=m2Bj@BO4XbcQpi`?1?~)er>Odv(FCcL#UzYVpb{|nnLBC(=V&il$ z|3STnwN)FnI~k{*Wa!sa?DD4r;&klbnp{|3uBfSux{e0%Nm1pHc$GtbIj(vKv`8LR zx6le+C~0xZht;)Rx}WoU6ptT!jDDy59>x!Pm$b=*Pg99ZTBI878abil2=f1nr9ZAX z%yq6c@X}GNiZl`>VSIRAs z&s=rpJ_*RbUUd1)^#StpRS^!pq(SbR+rQ$;I|k?^G;}3vfO(?>n(SXMGq9vJ7o_%%YqJ{eC4Lfqa#4MIPXxeVS~QTDNlX?_i?Ty zMd;Nbp2sO4T!t&CpGQ9WBg!OX5Rk`aBxJklu{omT0QX#Pu`~o!j$9j#$OyZ<+lpc_ z(uelBB*V$R<}Z;}f<}zdNnI2(g7v>At9nFONHA_D?$7X+&m-9DcM;6*o&Y{o`Otqq z2(#R0TVcuLwn%k7xaE7nRvcich*F4=SyzBQ1dI@eH##z3U}x!+tL+4VQ+D5pPeY0P z>{Vt)^T}dqwx)@wIS)saw@*5e-4z*?KbEWf)H5|YDo2c^T)LD8vtOi1*~H5O3r)gG=N-@Y3aRhewpV0P`QT)i|o(E&$X!wDq_| z4r;tKEe7g619*wX!G4lt;i4s3l~_|zvkH<>kId~DNqAAYc!}jMhqt&O(~_OF2=edd ztR=<`mU+xJ+DX`qU=ug`L{&$|-+w1MXry+jZ6TY;AY3^lxn)kB;D~Zl~OgXc8EPl?^PRNY z74a!X_EEp=KJK+GX+jk_r@WeL7=Z9H$YyiM7Fr2jr+kA3*|4iZ_ESLivnwE*2*~F4 zLzeDQXG9zHJhVwMtt8;cVlyf{OZ*>)XK%&=47{F!o(cI7bk{~mtD zwnUiznB(LjaFON1u(h#qi4_+AMJk)T=7a8{d=T}6r``cyM9adh# zxq<1s4l92|m3*7W!@oD+yT{YWzi+_zMo;4s8?0fCRW@MJSoI+^>JP&P{4?WULSw`_ z6XCHxG}XY;?ey=(x?^aK>q{`j^_dOuor!ZqR9;KQsRq#OOFNyCpKAn8InOqb7L`N` zX~i;?7Ud)G8DA=GzA7yophbli^%teZPeBW>5RrW*KGH7vbaa<2DR)J9a4uF-yLcG; z|4u+X1r@{F!-jH#{*!RJwH?{$xy}UtC&)x^52sl_!AXwBmUd{F?Z}I-b<6=CA6I=! zvlgT3;oKRKhldgWPnc{&|HQM88Sn`SUfwUkBWEyR{7)CjPinh;)jNM!`Qo%wda++4 zuxlfl8-vBbS|EhQJEvPkfja$%HHdkxuu~evHGzk*fQEM+~&{2f~UnsSfssY$TNwtKxF!huEze!p>03YsQ{nILm zgj%kwBQl%U5h2RL3OUyAFlco|Sl&!Xq-=J8%f4j3ULRI&0rs~(K$bSanEE`{buLX` zbdcm+?L4fwP*X4$8O`(g+D&`!!^+QiMZx`uZF9+HEeeOP-SVq;nh)e}q{ybj%DB@X z5S?s9rxfv7F)96a7n64RkjJ6b6ZtdM6R{D_FV-Y&#+nWbf-m%ZP3p?LJQjMQhVDF9 zGdj?q)f34;JrN7)i41L>Fr2E1P~{A&CX&?J9GE=(f3GD1dX^`MNe$JRs3c-0x~@Yd zk;MZliIBf`7UmD=mZQ;coZk^!NyO3Wl#X#ei_q`wQ;B}3ly*1h7f)Fa7ibR*X;C8I z&Q~9z*GoA0kFFKTgP~n99qow^EA_~wS1Yo($Pek4qi=U>CPxccrB4~)DoG5S|X@`L3G90W>lSGKrIn<94KCH#?E7tP)lUe zBWJJWwM5=TEs@FnwM546RBMUQ)tvrXBBKV>5*fA=vzYU&72~be5+OQ&f?6WaACJ@$ z;gv)tP58f3S@pO^sI22u-cfQTmBW19Cwhjoi18x%4NiHL%HL9)ImZ}^*f?i}B0jF@9Da`*>Ix(#s{pK24H(imsOIZx%v-IREcJV*Sh5XBCJGMB|pj%1yz9 zhHb+U`(ei3aV&aIz`vwc$n|(UNl>$Jylq|j$QiUdBMR>R%2NNB8eq7fiD(AzV}KOUS}B>j0s7&?cSV z3@Pwg58?%dxGjh%4J3|_f1wlH$fTufrmjS7%I=g<2CLRr>qiPpwEwFG_5Z)>QuKTJ zMkmjd|F**=d$Qb|niS`|=qp>^zEId#zMJL7A6b~EYsGmV<}=4y#cb4=y>q89o!J(C zZNVNR?bS5@;MWEtHtwQw>ViJk)Y2*@z91kEDEHm8`hN!K7i0`0Z8x*uuei$T7E49g z;lJMskJN)&&!s#{?=QF}jAfy(--Vx%Yy7L6Cr%8mZx5GZ#+Bzcom0+#DqR7q^on(~YZG9X&SE_}(?*B6xgaD6*Y9eAUD}|%ug@9^ z?H92Pb(n37 z@g>Av2Up`XnamvS;%OP&O7o=m`02kVIE;I2-Ay?TWq>OqKyUOY>5pt zM@NbRpru(!5LcY{g;dG-`U#h;<2$5P&cJbId$F%dFpW<=^kQFu&?=h7r{G(@5I5cm z4^DWw%E>s98$9+*_@BpL?E5*M(t$@lS)Ss|6K#7(pMNS;(8DtIfzjump>L!1^qG^B zTZTYRnUh7FC6JIjp=Dd2k(qPBLkv7*^EqEWf%ne6eXg?Xx+L&U>}i0{EK4-oGkf~{CRXLFU)cRcBwReNjDfTwy}h60|a zLJo-)_;ml08w;#}&XxZ1xk~$P;`Zglm)YcfDZdqQmP3it%Zbw;_&{9v6bLU6bZT}tk2~Py%d1!{4~3O4c^n|Oy=|I zX@@N`r|x^Ye@;;ywN2WbO4&tyd~-;jGhTcfb0$^$#%E0qwH1d-aN|YaBqQ#;jUHw+ z>+oA2jE8Nyq@!|FTu^7y=Z*!x=*(T+jL)HUm_u0%!2bt%ph8yZWZ?(r_YZw24lsdIU?Ld zPgtFeeIpsI0aELe;;rHv$BU%+Y?8>cyIoRcg^tV2l;_LNeuSDZHt}!Y zl!cPa3-jhf4o2jj5o7;g1!O-wKDE$x%5loG9@(mS9iX=LZ#iY5X0vb;q>66CvNJig zVZnzvkdJ%$mUMzj7mP=J@_50XvBuSW_Rbx<#km>Lc~4J7=f2cB50$ZRNi79j1oh+r zP`4|8J>$Ze;VRTL$L-SeJMI9?apni|gw|GZ+VLpdFA-O0uuhDDRrmi4YtsJ()-|B< zg>Q?bmvs?%ALi?3gv#y8F9EMSB^KVB?zp7HzgHyP$ED^hS*?T_eM7_>X$1o{0|(ye zdzabv^yv`Y`tj>Ye(X$`u_11w;N0c7>Ch~BU;lbd77FHVSF#ZcFnvX>M#pbVw01*# z^N|)=fVH|^Njc+|`&Ou42ldR9c4ZK%0G7xmn_Z%FgBi3)r@T?i=8M%L+Z72J=X{66 zj9cP1)eN7T@kw|LtO&Wbq|I!?%`Jw_mKXHS*BpZm>hg?--b}Y_(L05oz3G?=-7pWtk7-n%Q>t#7lkoY~OB6u5f751WT)` zA^hvSQQV4(EcVa}pJ3}aQMp?fdsnWh;};XemfI%$s#VA_+5U6l*SQ%Tizj$mmyHz0 zCIp%OCC7q;H?I`NR!z_~Z@}k06Xv!a!smVXJ$Mybm{8nm9B0Y-SzvW;ddJcUIW6~3 zC}_>^fBR?r?G+P#+DdOffVb%FyCz)IY8V%nV+;Itf}!Q13AyN9Z>v8cd`?RXxHcH&_|M>}Uazg&5ncF$n=dIV-*L;cwRgr{_RgDlXUk>p{0Hyc{!Y{v z-#|8DTjQO9>cnS-8J1ioeYCc#+Zuv4!L01>hON548|eR?hQAvAW+4CGJ3q3}!S`I! znCXVTg%rbLnk7lI@Tqr6NmKEOjGTv@F3FHT9UdB9Zw?-@i&?3tLWjFT{6^zAoUF0I zA@9DK-ilj4OWNw77{^+_Q%+)_lRM8T&%t*NhXt zJelFLjeeBpt@?y=;I|FF0(PkUOnKhxbZrP8*{q*$H}iZeC@ZIiXMU3skctEDBQhHd(Kap2b}byZ8# z{kEk-u-0PTusI`n15T?jKZ~l{WVcH7r#Dk(Kx)gd`t$|?`NQ5_E^VD%>GXN?@#{;Q zI=UZt``(=;WemWhqBjX6UV0s#Fm{G3n||w@Pd*g6gY!ILVuyVt7nqdsHGDp7SnbMm zU{ZG0%Q3kalaF5vO)82>QhmFU)$2muex!fF)~=-Y4&K6YXCdZOtqNq^w95Iox2D|G z(5_f`O~*IhOs*F~_VAzvmhCM!*XNacD=9m=tj8x%3rY~@3g&vtS?Eu`VfAl{ltY`+ zU?mD{(gl4cL%lN{8ACtIMI3@*!h*12#P`ah=Y<>3wx-tKF7CsA43<7yd_&^%UQ`K7 zNB#=!xbqudI3CMY2c`gOXd5h)e8GR5>cu{C_VFFDPni0jxOo1N0q<^_%IkxH6P$7* zKid&AFZ95rdycm&^}#C6gOpQ|_Jdld@{zNi9f9gWxd}KWAj;Pd_P77}`Lg5m{0|o* z&%5z_eD1I|AY6JcmLpt>%`ZWy5*m%x`C8$rO_LzSq<8i89{g^H9rqdlU|lRdZI|D36ShseLlS* zu=M2KVHlCTgTuD4v9_hEU#DHk4B9Ze#+8#Vi>~GFYFAR}j6_sTA6E`30^iPwL&*Vp zH{swg?2B>F=0MC;_EP#QOgXl+&T;n8u=>E_^m_X-r`$ueUE^t#oN^oZPGAoCQ=YrH z%6V)lRplgkm%QF7?*}&vx+Lfk`?(Ie+8Gast+34_{@xEc%MvyWsWWB`^*iKsj9Q{u z9*1AgEQ|a~!!Nfd@@p7=P4E9T7;^G;a5-tuBqPmSHs1ObjafFvtU!~Eb7}&=X4zkX z4p}zaQuUL@kx64})RC;Qr#RADO}Rg7F+Z_&2na36%`!&(nl=TBz zB-z*M3oK23VVmQIgAQ3eNt-g}N%GC;NeAwkt3e6Nur22ic}-)8Q)K&P-%onh@M~^q z1ivL;5r(BfnTG105szo9U1lgL(o>VUHUD88^m?ikPYEh2Wzs1r{_* ze~m{&i`i@4RfO2%nXL|41rWipx2Q zxhbp_)5 z7MFB8=QJ~Q>xb@B<#|}0dit-IK6(H_|?*Fdr{xZx6YM) zkd1Ni5kZD0%ZFqzqB;UehOu^-K(2e*5jtcIsLv)GWVQl&mdl2znrx7`Z1^~Qk1xG` zDst1tfg>WbF%Q2}wcj#wCzG`Ap%V^SJ)H1+_hHfUO9w1(gBn%3|deni7)4L^r$$fD74$Xj?X5f5g&vK~CC5}WpsmQK40`E~4uVsPt zAJEOHV%bD3!+NLWfc8XjdK8JIUtcN@<+D|X`8hP7*SAKsRMMbwQ2}|dcdpo`oIK-@ zPEVo8cWT2aJ)f<5=+&Bl#`-p;?aV&_xf;V5tqK_NuRnn*jHrDAOZ1KQ!{Og}$U_px zEBZj+DfmIRiDXVPAqhf`xYbip-?j3Cl8@5A)Mwt_QUj z*r;_n)0uhOl;vlzMh)e%&Scikgecae+G=N;Qgw#Tgm6oBI^t>a1Y90XAkhq6!(u82Zuh=Fobw1O_qv3M7= zC>F{yr~m&$869D&!m@l++$OhEpD#>h7j$;kBk1*caczggD`7L5Wh@V0XRX;wV=`z1 zJ^gplI0L&9=`|nO*go3+o9)}Tui5@5#)2QQxb=qT3cOn#kDN{1`GL2{rNhY0usW7J zfh&fcYzawDwv#IC6eG%TwzvsY{{88j#ls@`q8>Rb?XdK%WJ0!KOS)5dNSIRF)4JmE z4BBe94Kyxiv7B(v>0+r{s{rDVR^N|%1~cs8zrp%v1E(xJT`2!f zvu~&|5N*m_*e{BuBe1k|EGL?>x>@o>&3>WQ0YkpkPE}*Eg7d0ewqj5>fXwwlyvCDSQ*}`bFtOp}VdLEJb*L)cru^#^r*4)V z<4pH-7)QteD_hd0d_ecCsGt}8NHAB?_iJ#@I_{rL$YD#Uc72<&^OPNbUq4kLR)kkx z<3Otx;CUlMJGycYsz~FLp?oM^ot95m5Ap9a`1hNuEZ!+jx{9&2neR)*$&eoj%;xq` zZ}fd#|F;AE-`rJpF>=ysM0TxdGKvYJcZqw~TWbDYK{Wr);5>Y9cyA-J@N6RXgF2%8nO^nDAokoOFNd_UaU@|go9S+#m#$?ZBfU*Ij3?P-7JA*6 zk6(xI>lL)OB&I!j>VLHM{*Ik5o7~>A-P;}W1ikr}-fc@vS(N#=t?JQkX58WNU6%dl zkgV#OubsLWS@YYJdejJTND`Ni4ylD_{}suPIU=!WvGlA(&V1`-*?(=yfA>11Zf)H! zl3%ma%$+4K?O*rp(zz?>d0TI;_Z4JBwkeh9pQtkv=aPJc9LFi57t&$2MmqttTYTc9 zu%U5^xDD3}I1Of=y<_JN4^aWyS5}_afjF&d{`Xb>SIA%M_^y@NdOfl6YIJ_#b4{gE z<*jTCU^Jy*ukx_-OY{jHz>~Hyv)Qm-7?Xm%jk#r({N+@`4sag!%pxqC!Zga}ABE}~ zR-qs~CSRDQpP1RA!?`!Y#GkYpHo2|rc!tbE6 z%5$rnx@VDLzN7SWx;sm5;&-sG-zYq%drtrCC1vyl(n-<~HK1!AqE*^&Q$7s(-?sN! zsAoPzYc_Q4vL#C=!r_1d(DS zkT*n<5J{p~gs|*x$jW9n>~4T)X~FuyXQ4$4Dn+ZdK3iR-9<0{;D7I@LBGQEAbu zbl+ivNe7pe?d^QBKfO7?-ywRU7rvgdzkBhgWjjud2BW3>K4BlZy$n{NQ2t8&{_X{z z`Zi5a&v&Zlo$wo8E2a|hMQ&&vzN5Y8E*>?Q?U+KPt@&x1_+`YjU{&6e5N$=}> z9^^l|4DY+bs@!75Jn)+(hP^U$BZ5!BaYmtsZ4D-sD+08)MQ!;5w?)na8ThS}?cG1zRlH|dfS%H-YJ2z9_;tTx`ROJazt=5Ig_N1kKL;c&d?P`ocyq|2vTzt~Bof3}k(^cL5g#d0VD zwreNVxqD~vo^QA6JcR!n=h*@Lyv4fio4HiG)mxe74^-}+r>z>Pyl43dz5h>lkL|3v zzj#lUeS(X7=a)Ol8~DXes_kBUGhlo7T|4J~();RRdQ4rcMoHJHnUQp{ocWP&XOO-TKWA~-lbD~`T&vAb4%ajWrR=QLZ6FRtaGnzt zKf{>nSjA7s;>SF%FXht*CH;E@O5(Axt^12ElFxj56qjK=MChcyH}X%k6lteuZ__1`6<_9%V!(T{}=Cx8T>rJ z{A?Md%ck1y;j-^!ekQs2*}yg3h*IiVa&ioB>t4fou2cM6#Z*@)e#$I8_E6?$sEeP0TvH}Wk&@H=_&CqM@vV63ug^M3&fT4|zfQ6E z*~j&m{Jh^;yytNrYFGO6HhxL2c%R?F&#RrJKU+|C@t##h#HlTx=eVY)QObn*x(&p^ z!<^^Wil1LH)h`r3YkgWiO=?GQSnIGZcrkNL2FSA}H0zk~Ye z^A4#4pLCF{_IAj*B?rG1ci+eU-lu%@jo$bbk59WUxfwCo;ynf2YeOnNLk#Xj{DRnQ zHJ9`&obNvuv%>aT-bcgUPe$|5JGXWJti!kCxV1yqW`ow3H5T+gX8N1dN;Y## z@t)fe!IyoX(R>W@T-%YcL->zfeavc#9UlXVOJ*HQU+Bv?X8q`w=~Uw>tB-7kr@f{x zA~M77q;D0f!sXdZ+--$eTcuN|~jbGp4`@V&(8p!LW7 z-r{tvG53G(W{4`u5H~znA5=>WvCZlUI(ZBxz@ghl)h7BOKAXV{%ki%Y2fMs ztNqAz_*!b;N4rToIuk2K4qP{#%ZMbp0j$ndi*)13&KD zkNAdk!SneQSMDtCeFSno%Q?TX`UvLsvE3xy-|Q~l(>cD5dM;zwy5kX-I=Xp0e`$6$ zP6KY^@Ba;1H@@QN^>qezAR1*x@`B58JjzwIlE~0k^KG6-mh)w z7?!!A4D|R2b z=+~X%tUD`Kb!KFi?arTpyW=-@v=zM2HE7(%j>ND9UAGoa-+$CVqME*caE^Q)E7;f( z8&}((5h*C!|AV=>KMgc^-kiCyqiIap{vWoK?O#*9 zu_HXJyz7>M#h|I^`bkb%*KO6s`&Snh?_V>#ch?;oGP-UZxViJiOwo1QW4t2RE^D1V zOza;#u)Fig%%gU^(@}mrL3O+HPotIfw(fqr-{~mnU%WfNKdrXk=_o$Fwe!~gDCaj1 zcJ8>RyuvD}|Hh7r%>MfaStX4}Nxw5ndhf$`I>s3#H8m_^-xW*jwuX6 zJ&hk0?b|Yf&#HjW*dWQH-0#`eUCW$Re|QPrlf8wle96Aqh(?i)_r?xbQN;+9QTQR* z#d9!nJ`z>?UPk2JCyMuE@cS4PQ#h=-df&J@dMo0YePa{P?7Kafk6c+?_DOhOqG;a& zKjonrwl{vilgd2mLz2ay4=LBQJ=e{u-1pPdpV_x{!87}MCna>x zGQL0X>m2wO7*B2OjkwzEBV}8U;TVc+>-2rKs;v{y)*o?O??v6)y6^gc+PZ{gY_@d+ zbABUpUbZJ^e9gYU9`($=3&8mq+}3M3_f^QP+j=SISSfStdnX~=IuJQ-+8sWfug7cggX?PPLR%k@-qJ^7dcP+Hx#?sCpkV(>GW z>CUw1#L3&b$1~M9gK9KWo%#V;%acE-#lQX!9@{A#-xqVv*S8>Q{ZMn}5BvRKTX*IM zhgE#iOmpsy0kj0Z$$)0e|5y*^vBrFceS7pjR-!b^{m-t9>>*pO=o<9>-r3n*LvKa$ z9k&%$ra#g>NLR1L*jwA-yL&C>^*%f3&fhiYR-~01JGQ~5K9xy!V947WJ6<1yH0+&@ zza1~SG6s@8TG5G!5^R&SOONd;hJEU@V`Il#!}ODl9nb&fo(hcen>Kg;?rtjSn75^k zdph%-jxDgjPYk1yGP``kS9S`cv>U9_Udp^mJwX{)k&V+FZ5p<*V-w1G{P@1ePvtnv zNTH0O%+W)ct5C*+oljmxUq>%deueaT0+1N>#oS#RJAN^YWK*bec7 z?{Ht&EyE$r8&`Gu?%v$_(v8&i<|j6F&bV<~ckf-BJAZrkz||v~340uDEkC(i;5;oX zZ^3{c^#9?u?vHVnlKizfD~t9#UdubjLX2EiM!wp>b?2bvJFo)X*8Mitv-S5E?HgM( z!t%RLz%0LYr*Fsb>rc3zXvqh8iK(B*dbI)6|IV{LpJAZ>%}(+^$k&p-Ptm@&#vjj7 z>tX9F|3JP^9(if_)?9yhX(t-K&j!wU(&`i0o45fH3)p{r|Nk8J(XQiKuU0&+%CmVS z-|)MfmwZE_hmUsZw(d60kx+b|Yw$S)IhxR_qw)P`;_}!nMf)a%ONOXo&OxG1oFHN--)*@@!f zcUxD{zU-{ism_cO*PR3}Zb&nJYZt#4Ky%$2-7nya^h4K;sW@)^=?3;ue3Sl2V2^TO z@9#Q$_uzYG>^|}lSd%fdUqISQUfhW{Zs<7aZt~)W-ngl=XdbF|FH1iuT7frNnLX4h7Mn532eoN4l%5Bcivg>$S?}m3><+G3x6?_egP5B z;6e5tv!NrS0Q5|^pi2~Dq@EV+62mui^coZB^5>N9zrS!nm%qAX|1am3?f+#<@&5a( z59_*Zc%QD@b5?d{jG>VY+cD^Y&L`P7J>oUOz#gAOvY^R;*NMqz}P&9-t4rhRcNB zJlEL^UlSg?3BQuKDI0W;by6;0)*IaqalQv+zCCYQzkrv~+!y)o>Lh*Zx4JJz&l}x8 z;aq*NPI;sIX3n=><-6U;cNp?r%lQspeHiDvymLcG=ASln^#5(qo@-jq-kpCB@iu*T z-qp*>Hgp^|Y(vN4nIpQcxesmWy7n=$hWQonKF8qK7Ourt&u;N|4cJgy0nhWQYdd_< zv%a5g=;-&s8{OaP9M?5)crT2F+^zuw^DT2JU^I|Sib!%sBo><4R7!URBFa?&TfVq05Ur1wMS@gzAOQ{* za@iuO%M}aKnb0{4L@?eKOO>>j$J$!L#9(aUd686eT`G_Y7sR<`$pWS+5b{+Wa*tjvKugO{M~|P#_U%NQM(- z;if=aG?f%>XlbxHvP8+ADk}@50tF%vjmCo_5e|f;FrtbU>=vbCwsZfoO-R3OTT>8VuftnlJC2$KYzw8#}G zNmYl-a;ezTcuQ+EObRj`!i>tSDM>7=EQ`k^vsAYOl?o(MHd3HF5{{g}B%m}U?X$wI z(LfO3%wVuBk$^6TlQWy@_-VmX)+r){?uKIvQ_UjTwm@d(jtImS5(7+42xwVL00L_b zB$8oSNPWCE5pNAAs)H$jUq(G15rN-K`k1RV6vPBA~Tx|$5>kmQt|0=l-f!KQETcWE#Y`usvs3WlM>-z z7}`jTJMh71JQ=1QuoZ#|2t;iWV*t83#~MGZ(rgo$l?2JilBg}eibTAnG8PIi!(eU> zBmzO`MqOBrKz*OAjH#Xws+dy!h_Zv6EI~^v)F75h)`cNbGjF4f^wb6o0vLjpPua#Jm}$pMRJ*UhYv%!n3C0f=`w zh$>M?qAf-};Gykp4z0EXY;#tCabZ?Wst84w-PA*&@mPa3utSm1EU5$BX{;bnj3)4B ztBr8wsEMbHOsqV}6KV_B$JwM52xSq~NN!Bp<6Xg$XVI9ZRgJDDH#$Y%n67n=##jm@ z5`lKZSP^e7fx2rH7Lxp5)PSTxdlULw#68z5RS7G-ZYp7|P*PF##BYO-*oT2vN=u3ppVyfTJc(3Hlbu+-@L8h*q$?iXg8#bVzUCv88)k^>WRkp~t=q!l_vR-dY^)Hjf4 zBEGC$O$hV|lZ17zp3*3>9?=b25>B-Ql8XpiBSG*AWmyWn2X2}KF=00cTM1EyD@s$w zJFz4Jz2qVt817x^?NN(*>emq5gOu_L&ufNb5sf6-UXznU`sSq!manHxGSrzxo2&^h zrP@430h~qU-?#>|-4Aw;Ra(POyiU1)&t2QN}6m} zlO&z6G96@WB*HCm?f+?)RLa#X!DCSAI*Qq2CiV_e6ZJmSL3<=AO#I)%JV`l=7c5AG zmqcv8o@Re~$ioz#zaWdq7R1$7>80Ckr}-v@;j5hXvT!n(h_sT+Cdh^<&xqzb;zi0= zuN)2}Vkr`n60P-+3L2@2jJjD5WQ8DLZL?YChb(LtP7QqsS{Hc;QnpP?NjwfuAjoT` zT5|tjMdMAWrGbPp=yJla9RjcR&~(8iP}LqIBWTPeXqucCpw)7PVO#GMFC3f`2{oMj zbZ7*Io*aV(qKzjTzN0!B@Z!v%V?m)5rGS)0%Fd&MWH!f2QZ~(8T6*M@q@)v#vgi~-F@hBP&V3ibT17`}Bk4kxw zfyjYv3d0N978>?RGasJG0aqk?3U5n9d8ru| zs;V-~Cc!YRaI~}27K>oLKP?(x5QxgBwzU;fy&X{jYjKk{C6mE~Ee}w0*)t)fD{hTQ zGm)X2~2vG-U91rP6J&n1|{-(#fGP|~rlo(s_= zJ#(TKUzihQR7v;uIc?##u(cYfZw@n}K%^8T&|i{(ByCVP+7B8nV#}@54mA2+B$qBx ziYpbhG9<|Dpz;v?;EC7j1wz(odVb_IB#a`z#170=#e?wrZ9QTVi9|CD|3s#f`i$?b5t;MqP;u~4CjSC#(eM;48tryRVlq@DQiw<;BjoCma*$rtJ22!6Iu@BkGBYOKM1Z_*rB-tDzpM2>F|J43*Zw%8N-Psfhd~~I2O&;6SxNyyg}@epHZ&b9-qQ{ z(It`=BxDw~$6!Bm)MleAB8hNF)uLn;;$q0U6QJ`UT$@1e6u>o-o)E3iIAWCux1u%D z;j)@wvx22T+(O$e!)%MTN4Woj0ffAxUPNfQ3PKsK9OO@KA#-hI0xsU_LPg11TNLQe z1R}E}O(&hzL>L@1gT}+EaU9HG!C3$_pxL7jY@{xUvmxf#V`ma`MzF2|A?Y~nOpylg zg3iRS2keZR>G=d6uH3z$*@yWSP2m(4UTx8+TnWJr%6Y}HFoMOfmv^cz5%Y-7@$N!G zQ-D1R3M>gb94azD>>R1>AH5`X2lkdi)o4TRox?0(7$l zqmkC1uxRP+ZuDw+V_M5$KU8&C%EFekaAcl9%|*kkDjH7O3xKqM;ZB`iUtg;u`3n%s zq>d(>^fGb7eODWgMuJicXk20QL@N|T%*#uZhklGojEH4ktlVF+ApvlmPJApa9ESgRoD;X z?IU)LRO1?{hv^^Pw*;43Jkd1G8(LC8johb=N+TecnV9C`6Pu&Bwk_Eljl>qIp2bAq zM6g?#plwD8{bz<*mCk0FG!M(SHh9vA-pi=F?rE+A3dV$bZRHr%0>MM04bYWT81Z`E zyb?{AP9SZ`s#emv2+Vs;e5nxxuZYHZkJ7ceCQG0engLp`mxZIW??K~0t}-2*D1CA^ zL}?LQTGtc3Ds>bh8eQ#abjzQ;TuUTsVl{2A75plNJZUS0c5qHm;eXa%tvi;ksp)-_NF)* zHA|7sfZ?-nAJ#TIJ4E%LJ$lR{ltD^h_Tj!f2$eGFE>hE}A}xZqgUv6;BwwngsE`a0 z$#_$%i&NG>Imnf_WEmpMd!n2Tt#xHH*b||v+*fz8#Jl8rWLTvnnM(RK+8{WEMJ%X= zU>uVrS%Jz{wRuy3m7oUAFoU$WN^C(gmcb~1Z7K-WV2s`Yo4&f+& zfL;5fb`Es>LEmHO8}V$`BN-==1dQNCr7D3DIz(aNh%p=_QiZCMH2TiLfPK0~JzjvI zx-@RBS1XGqL}a*=6ea@MP{E@H0Q5L7;mTTQE*m{dxx z8rkZhS2~M#kH{Q`s5QB#v@MlZ_33aNyG1HmT9A^Cr973h06X|{B18B&seJ;06FZh` zs2mDO-;CLZw|MC!NmV>fhN+GhAa>{sbGh^($=~CurG2cdT{5A-0w?0IoP9b3zE~+8 z1cII9C1Ne@8OGa^wbE};P74P->s`xJHA5b9M$6ZM0mXJcOfj9gA~S0Tu4$uyo|5m_ zmcY_jx$dg2rU-^PTsgg?Z^Yj@_ElOjOG-yeNp56lK`GHmq;k}3aVkVhpnXBOj1IE3 zaS%RjKLXPbEz|KYjwK=h7EjR0LJBouQZ{p|30C5?{;;(55y$$tI(HI`x3;HM~cMIK7^{k0Ml}f0xQa_nd+%MT{`G% zoq-EsFAHZ2mBqpC9v$&SpVbD`SxgT5HYm|AhlmXwI3jXsFUV@{$8-C{_B_>|EG z18EwQ0<0IQUa~!;bM@oH8OBPZmI~1klfz0HjS|jAYu0BW(Z% zI~?}YD6cPQMr4SprGBK6Lja_#=rWN+5ou{_;i!E}1QB1TBOQ-VDm6_%FKa!q>{&WZ zC|+72tyn2y4GS=+$l^*2Q|m^Pjp3P?cHrdm2{t%Uf^-O6VF_fc>H;Fb@J~_L9H7}T zoENQNv%_?90Z#(c&v;7Xj5228rd3*EP*^#%GeOTPqJf3*QE+HcsTk&bvP8V3BGYT$ zb8pD!mfw(?ODNz~GoqUnVOv7HkGQD@?F$K*(%efrQnZ6EN#Wkla`cw8Ol*A|vKR_504 z9wZ?Ix!EqLItmjeag=YFKICRCMRcW#Q{8~GXP5`y&`L#zrbKB&0Oh%zql&f|;|mVx z7wHPj;*GY$-;#TWi^A5M7V!jTJsie?p`o+0e5#UN+nIdq3loJd)QOFA_=7}jxOB=h zQRCkx;c=m`s)J;c512oV(kw=?3zLG)0uF1+^H}NJ^n_RZNcUeING zZ$Fg7KaFjVJZUsCD_7179?v7^BrQiTc!`wO#P+(nr!11`gV3^eV=&3SauOftSz4v8 z)=*>9Xb#kt17&cwgeVWCHgEPhx1(=#qdhsm)RKr`-|ZqLp@O&?GjhvZj-Y}CFk*`e z^gM0{F;#=ruBPmDnNh;}pbSY$4@LxkqirD^^`O00{l18^w+~9Ho1zI7A70g2?SpNW zd-7qdA@S-LHhO7CRnHu0jq+y6s7WqS%%=TUb-CMgu)<2XPyQ=@97RA0OX-*eyUjQu z3f~HzN;t%8J{DE_e1}Pp7H)cR2}>)@=gcN{L|tzH$$%FL%$z4N`$<71*hhz0iU8FR*#d&&}6%G|Fgkv4U(7;OqfoN+p zwzIH--NunvRX;Jpd?7X!PtqyB5MJEV6^o_%z`Ai#foq@z8ExW9-r;e=|d#--zu!pA{ zW=x76p6aC$6Vy(Z9S#@Eex*~_vcTg-%hqO@0h@c~n~2_Me{mk6)XPlu@o~X{LD=(f^I^93UPy4Rp@^kYCW=@}3S6|?wEXY4IFK=Kb z9?<(i1qrD`(ae_?z+4SHZY(qF|h8sKb3*8(JrF#I*8yp`I;W zx-_>Xj2-8;a4y!r;{vUbaWUdhP>?Dd@~7f{&6QtDIq7dBL+EeCaL3z`RCfdm6WY3p zL4NxE5P?Ia(U3nDPx*O{w~A@^hcILLo1lBD46!7CV$syR$b_OvMfu|e`Obl;qs_(} zQqYxRdOy^91x)LJK|_sG!99fHkfV0GW7AG&anh;g@#$-+lGW0)PSVr&UU?eC7ARLbs&h>JcB5`45&(y(74B{m*sEi^@!}Dx_184lM zm!LhTCHdpg6Gi9=`TA8=<+SPbb&aLPrPIqB8*0mn>&wd;Yi8D0R#ZwYqxYjA4fzUG zASITytM{7JK`xy1vQ>hQ6{_%=e0_*mvR(<&uL1F4LCGv;HTlL*$*jt$8#!C}McseTrY3TOVHq`609K4NhgmY=mY=ODv$hfG3Y|9#|$`8n* zJR&BmPA-*q@?=drm6qGu9KqO2=F&h;h8BrgVZ4ThrKLZ}_7bB{jz!$kd2GKd!A}LY z(c%tMWrOpjJ*6~WkMi>K@=iZv!gxIun+LwxmP@;&hnbqNO{$T3HrBX)spUlERd&9W zTNoyb*Wu`9e+#zS6YaUOkP)I5rd``k>hjhIR*|HkeBiPT>dFUbm35UA&<$r6QWiC} zx(T(K#llN_%5#9?s9>ogY2~V!wg)_wSyoFk};+Fc^6|6Yz^Q9oIFb2 zm@Hh*w%a0!k)0(M0jxG*_e<2ZU_)Or>d&UrVKh^Yrhok7^gl3-h~WhVf)mEcbGDKy z#wM*~Em=v|fotk#`@FTh)5opDvBqg7&bCQ!4E1@8Phvqz1_!%6o*(ELvF?$@K2h%R zkcSAjl4hn^V{5!ha7cj*k-OpAsPJPq@*)Q{7KsWrW@W~kIT8Exya(ULQ?@wvJ@#_s zTV!;Ii(bK2ZaA;swB*uALJ>?{h>!UB2~Jk3+tz5?!W^1bDEu5usmHuJ@u#qXL|-_; zmZ!$2GSTh$f+BiGmOL+&-5_eQ&uu_Nn*!h#auAWQCw=r&m$)nb^@< zm7P{I&W?d!P62kQg!3TA zKsCskonrxBhlj2iWqUlObNC);gA0$R@a8nq;iAc@i}4$zUk?Ikm*AL~bwQHDRr2Tm@sD znccN|khmEEiI*x%{-l#9HQN0ufqcfV8K|LQQhU_wF2IAtDAVgeJLlj%7%d1dsso&E z=f+wG@@t*1Ip{JEkl(7Vl2)q-zwjQ9Q0?#GDLak+IDK0OHVQrotREkSr$sRB6kx3? z9Tr{-*UW6B6?hdbRcgvhX(jGlFnN_nE98R|rxrjnYG$72D$uI2xS@V}c}=}qnH{`V zs})T+)~{Cg+=c_O=%$^H_(y$7d2xMXZSkzS^2YL6vu4h6*6lorC|zlnK(zqerGI%* z()XfBl<=VaymsLhEg3&St!oisC_=bld>$q*_iGuvQ1*I-ffbL|FX}5O>HxM@Igi8t z9P_YVaNzv4w9leZI;)co(UPCjIn1TZeLX)CR8WJr3raDwTeJF0ZgqCKG15qHi2OBv9t@ygjaF3$uiEQ6O8 zRFFqg8-xIDCM6?|mmG{N23^8DeQ(xf^5h^QL#xjAD>GtXY8&dNS5?-`z;IATq32Po zkL~)&FTineKhILw@=q_MC(EK=WAO8CEP0H4bjL11jwY9xs3@+iatC!v+EOX>?a~08 zP72`BL8)*EtMNoTjjg~!+Ss-jD`}{&msYN^c2;>^ox3!+>Ii-#ppCaN;cX&rDbiX? zRi(Aqli#|A(o$67G%+Q-B2;!*eSgPdKN(m8IjWcU5eeZq4P?}=oN9lLzrGpLN;b=o zWf-oWznR}D&&|yh_03_hCO?womwRuV5rT;~`LP1@lY{E7sbkmqAceW#4p2(tM!Q}r zfGXBbp9!`QmvGr07p2l3o@J%lJ0@JmV-=T~ZrTLO(?hh>lY9x;RT)@Ob0eg!?XO%o zvH><`WmScK<4uo5lOpY8ICJHkN9=q~{GlFGSMjYwJgklxULI3ZE`v0WE-Y@bH^C>> z5vvc&!2={m+|YG?e0oo5P*PGMLP-N`L0AUKRlHp(C`I;+W9N{;wEyZXu1+1zbC%c>L+q!gF`mwnwLNqYra>vW@)_g0Vxofdcr62!o7bAycHtERJNS-bS=I(xb*`ZsX%BU07!P`A7T0Mu zixKJdo9vrvY2tOQDtEIU7H(1MPBp95I7iJ|E6hq%$~t2 zrIsJy6XS4(DxSoJCAQMxak9|r{j(Pnu7G2Tk& z|HR1VHc=`~6-*N5p_E^3bI=B1lFz!!iBcZMrSZn6p+mVkA04{(2mI_VYi)R$1Dov>s;6e!U3*dJ-qO$|e+mCD4}oQzU+k785h@tm!Ze9E8{ z2ZOdSa1x!Od+1bVgASXzIq?)U_C+dZi}c(R({gLhxMJ#&aftIN-p8^qTPV&>G72xl z0Sf}8(qtz`8#TyRKCo(4pPj`{4R48K-&mf!ofeLfzvS14S=BxeHwoR=W*^M=n znRE-)jk8rxZFSROTPSL@T`=_Jb5G#h6w6f#W1TI+1L!fZIEI;mhO`Je;_9c*?eZy0 zUJl^CErl&Tel^(hnOw2w`0Y)19AmMXUW20Way^7iu?yOG*Fu>UZW8sw<73~^Z%p(lmA1{ zug8KtipiKD1RF^<(LxJDIVrM9`~8K5)CG0?s>6iQ{%?QVpN^k6+BHl0N48?+B3~$n z!iSf&!opz+(Y;USyGvl-=^U4TWV9_;oIQgVF}T`?9>kb2W3Z~3gPp69MRN^n}ykw&y8B1;h5q!C0O(u@e~A-Yqqrlfm|tQohC&dio8 zv!s7Sp}(e~s%o_V)Ke)cfdkY2$%P07$>YnTWoxX)@To2saxkw8uvX7hjDG8qeJN{@^>(4W~;@NdsG=^%Qv{Ff4OYKtcyHeQD*jmGs>MK&V)*>L4Jst z>JyO`d8B$YwUDxp_8%(GM%564#qXDCr)HU|G@LrjM_7Eoy2*ing#`}4V&6q7gC%9N zziGy#p2X4smKt*;Y>@oKl!sc-)P)$lJi&gj6W)HSJ}Z_Z!+;#6@vJFVka58FzN{f( zSB8$l-20y#m!FHbRY-w&bmUCoX}5w8Qey#9SzW7j))1rBL>;b_bM?rgvGA#t4-l{d zmhei=le@Y9K|xX@%$!(=QD34{_*HOwWguV4ry6PGO1o&(Xg!ui+60SY@ue}p6ontb zVv4!u(y>$jg^L;`x)IBW#y~3G(wK@j%8Ik~Xp^>O%vk@DI3hD+*w|ZA)gqMR+aYfC zq7-bj0}aiDe5SziHts?)+JQ|}J_7blO@d==K0>6=@%t5Zu zlbh-%J<57u@L=-SO(Bo}KWWVWANu2H|3?jZ^fwq0L84x-B0BD{WEczErORooNfng?T#$U z738I1;GgQybMJ1L2zMa~pm%xV67T7n;PX~l4JXnR2(k)cCJD&|h1P;xtQixZQnByB&F8&@Y6 zNmzE%d$%yIr4<}B7~Pg?nj{yP6n^1%?9^7RQKHPFnxI<($2*KKWZ?XwsHu}@?GzVu z22%1j79l0+m9a18_fr_Dz&~naa+H`%ojt{v2`C(i_c5Y@gjzas7&6A+v{LGli*K}J zZl8kaQCo}PPyA7fIYJ{dVG~d7g)~vDAPkk`JvqxiS7B9uO`wK?t@t7+(Y5D_k-29q zbaB%}-wpYGZoywA)@vUa=o;yByAAvH$mfwaH2PEFYAlSbi^oB8gsOT>6R96k2Y*S4;Dg z_$YaLbN^rTri)u%gdmX7imxeQUk>rkDTV%=d=)!1@sI(~Uam1y>3D*l<06jY@=%%` zWN--b%W9JfJb1}iDqJlVXes{nl{!Rz!)}=$XaV@&>G=UTi@CWNYej<&s_1$M9Efp; zMD_G@sPm5O&_h*tyemcfz%(1o3Ma9ZiLEEz7{=FH7t+T_LScSyx-v%d3*xP0r3j?K z-18kCg6Q<|WXt4hyENn^RE`(sc=c{C_~n6Pmfe>U?Pznt*8^4u>Gl1W6o@kvflZNE zs_9EHrR5@R`B*>Bo}sgy%BVZ_G=H{syh3vNui`H$<2~f@_2dqbO!jcz*n?8a36R5AX&fj`D?M5Ck7CCKHVY%j2mEZJTa1#gQRr zN)vr}hi42&7TP{Y$57x4yN&dd7#^EQ6w`8YXwxF{NON&+Ya+I=G1`>m&{kf9Efwj?pxodh z{ksKVb|%L?8B1f@Akr0?xST0+BMoETphVSjlgELx)yJsAqbrT4vLi*gj)8`8iUxas zqvnhvZ*kPcqYzLG`Dt50ex|)KLY|i?Z-@AFAdg#@D> zBiA!{M_fG*B-$lS3kYK|BirlBIr(5+Z%uNv3QTKLx_z*K;~x}l$0{Cg?aFe_O#q=}sqPDSg ze465b@?C+cRyiY2MmY`kxdh%+q{B@JCr}uHEo^~bj$pkLC$(^l)%{$pOG=}S4Mnd} ziq1mP%OfT2?CtE9r&w1q)dy@5o9ujk8Y0E#Wgyz3Bzm6=a$ zV0yH7KJ}wYxM%b!n>y+yd1gSn*0M;parPuHrN&6d6mJll6TCs5HobqDEXLG+@N9=N z7mQ9*wmH`O0qtK(mw8MW3L_0dx-wH30FwlDfikGJD%(}3>9bMtsO7ARS#oO0A}w5Q zDBGw4JU;LcqH{jRK?~9@`?d!aqi*g|?H1wpxtz8K7&>i%Gw=?5lfC9bI;;0oQky+5 zO_h6kun6p;sNcU%rpeH@liHa<45=kKXF(f%H`aYfBTa@*izp93c-Td4y_uIrc*tpd z7@mMrI_V6id0P>=;mMSk_Lilv*9iliR)?W4OfVLH0Bl8wyqvM5F!*N<{WF*T8B6~Z z&_5LTqbtY$2%xwWUA4LqT+>ipQa%f6=H!Nhd1;)~!-0{)qR1dDr~WJuUV6aEX-o}> zWr8t8iJ{4%cpDC&j?zamN8)S)-nqTquTdB7?y=8gy?}l-i#HUgr#hwd<;Bnq#DTxx)_(ETtzUFj*4C!-}wy#ot@GU67?{GN{!`YL^ zjmQUU46-L=%$9au0;xLo&n@pBVTB%44SxSD3V-I(UIeyoKBmcP!)Y4l8;%U z5w@Q|Jf1y+imoR!#ss`W64LK~x=wmx7IGi{WK_-+@a$}v!pjCaAK9g=sD)|+FCo(( zA`aj{TBnq=<+({|6}?HE)r;&vsyGzlb~4M%5ouC2 zmmRbn6A5AAVYBFzN1E)MT+88PXVyZS>@AiwDLOliWN<(MsD}q{{VZOvRyNgy`P+Cn zy5bVU0h(;K#>rnA`%=q$R03nh(FY^t_sC#v=?!IcFn{_RTfXsVsFZ?a)Z-=tT*GMi z`|gq8=xpc13jU2-SA%6gTk>^wqj2MuVqx=GFHtF$S!NAA{fkAeN=6HtcdbWY3HI`d*K1)&eO%86?5{ zL^UYgS1}`rkz`5lR{^*nguZ5S6STbS!CXvbn3ht7e;_D+L?+ViAZRqRVU@$hE6x-j zp3h`MjTa46p08d2G86>G;^tswXno+`qori3{?}TIA*);2bGO(@f1G-SzDR!MqtcKg>*kqA1)9+QC)ThrWcMq3w)KM zoKMYI82d9z77DMu+aF({8jV}$ovs9e!4H3z;_XuTwP@iRy`W=aT{U);LLpSlJ)Ka{R z+F<=^G(N~lRMv-%gm18U>-z4I_ankOzUwg5!qAs2qz1S?oY0G^sqy#(4a(w|n#GZW zg|8e$r5-=b%iZFEXL9>%0FunU$72>*Eq@({o*K9MPJMU4daA!pphRouWl76hh zSNg=ABL@31C9=iCP@`Y{pb=VAr@o3~BPwuks2t$~^(HAY+4HZ)cTePJ zWE{gjO9b(`D6VK8eVv*<9)-K$Bou71HFc5*j^|?e6V_4wz*OD%31Z3kJefDjpPdpx zS+{CV5UrSMbEA6DWGcvPIYu%#oeHe;qXAhqE0dQLO(i+8hGb14*(v^urZUU&PJcEo zYf{lvR~Dkue3NXa=1;T`C|E9~kxv)F!zGId-31|^s=No`dRMOV7pF1ZGp|k!})tluQkOfP?WJ|s0j4XrgNupA! z)yeWQ@8ZUqI{LMs!sSZc&}?XN0SzN&qJTfWj?bb=G<7@Lt_IJ^P;Z$5eV&M?;&|H< zBT(T`$hmrGnIfh^X6X@)9i)lST&q{DA&lXZ{?#E>q1Ex02-RFms;&6tLC0#EUW|9& ztHMyn0m>(CRTn`|(GTgR>mIb)WGHkx!=6QWGid1Y!I{M1a+(O6Eu)-6Va>|`N{z8B zu(y@8Otjahk|zmIEUB936IPNM-cFEq*~>?wCwdTzh=a+*+p0Oy2?2}`Neqynf8k7A=%YecFcPCD)M17$NT?~|q$Wv9}$+*=v!j`4=95zJCZ z`>2(pFFihbMb;wi8&~O>OmA-rISiDEolE7G0m&+8sdoBvnMqsc1LR95ky)iLA$4L3 zNj8mfFTQ%H_CM(fQ`WlgZ4-=1-0D=@&ghwrbc5G5SyP}!2T%h&4$TZ?F10{)`+JbL z_1GheHHFxW_QW)IIHp09XZiz6|5RX9;txqQx~;9QjFMLCg3D?vL^5@$~>oRdGXbncuTAqk)m*)}KITC3nW zDo{cX<&Td-9>LSqiV0=bnAN2jwgzHGsaq zi>|1ea*#?H!Rrb1^Og5t&>vCX4m8~_lb1f=mtLK5U zs(D58s^*+g1qCAos3a4ro)%3ahn)8r3o9#^(=;f>S!pcSDuGs0lZ}R75A;0z-jlW; zSlP0E&AZqgW2Yr=uTHrHp<`apLx1EjR=ck|PCw z_;(Ad;_*dot%Yc$`foY6!KzsDUj*6Ag%pa43g%5MqM;%6q>{oMQcdItX8kM3pC}Ei zCZg4mNp-RMMZ3bLrsb2G&}VcI-_lErMXE>oHqz}#zeoBf z(h0YsexxYUTBJLXwjh0i1C7d z>GG%yUC$Y~d2MZmC_vfo13m_ImI2-iJ)8=7Cg7ZYLi`Xk=K`J!WzPXjJhlM-wZg9f zJV)Vg1^f$ze-3c1!oLpqNrnFu@Fa!rhw`Z%s8S65buUqkdgr2ik_X{V0j|M?^8+{E zg*ySbX5dA~& z{}uHT)K4V8`%w?c<1+BR68C05lp${|Xx)D+fS~qJqCcYZ`qOpvz9BF zfV`Uzp$?++`g7~f(jMrDm*bJPuFnu_!ApLB0lShRZUr31!*Bmc>gZf3*lOTOUtd2$ zh|j@0>CXCZ2r(IWfBB4YhS}%`nIu zWs=O#JWhyn0h10^0$vaJ6~HZk7Xp40@N&SnEBv*9mni%Oz}4#{{e6I6Q~1XKKaF~+ zoRdDHH=!*&Rsc^{^euo%M@S#D zp{Ez2?H__(>-bpURsolBn(Qyqu{_|`x^NSK`-uxT3AoKJ++^UM1+F*B({&U9_bPD5 z8n`mx{tnzQ1Ba@aPvW)TmJBfjX%bQeQVi*0q@N-^g!CHHJ4hcR{Tu1Xtr=nj(l?Q& zBk6I4t`t{7$4JkLie($GDUsJnrE**y1sZLO0E#vzwU4R!W_?SCne^cH|QRYg8KM{Bhj{{7$k^V{nZ&Wnr0oL`- z1ALdlHyQW@V9oz`47?uSR~a~}gJ`K;l&EZK3$=lGC!R?+i7!f5BM~n|M|IPc^53r# z=?~3M^hfovAqI;FSi= zBL@C$1MY*q(0NY>tjnKnz##)(4w%L^{fz~`^+;DEJ%iMZbmG`vVj9wANOVun?oseN zxKbWUeIX+%hh#+aH~qQo>-EYWo=_p5GZFqFS&}Z#zX`Sr#OJ0=LB<$B*lTdsT06hg~&`BWjaTz8d$PbJqk;XrD+EH8xvyW%@TefF2sup|0du8z>{tN0!5- zp5(u5n(TvhxVq=9CsaSlT=u`zPgLHkYK-APh2_tL7YngT;qw8%3z%$rF<{Mi75M%H z_}9?K+I~{$WD|++Tfy^Yq)P!)J%oP)ybwR1D1P(EpTu7+uEY=J`{qxjd{?5b?TYtR zijHXMPt$%&(FPJiyr*b4d(aYp2}OH;68)p#>r+DPQ~7pyT?_CDX z9}N62jB?iAVwdxZQO=_V{+k%*y3EahHP2(w7R~cH27Ctcl6|4S9iXSNrvLPK8t_Jj zI11@Q$ZI^>O;?>(FU~ytDEn$4!}3XkPg37 zt+Bw8465Bg{U(sz+o8U00au0mU=Juj;Eo-$Lme>SdAcdnP} zroWjzw0i}fQJuQpp6J}=H63DkJ<+-QWmym9Q9DmT8g!TRgVsZydJXgLCd5;KCplL? zg0-@e{}+!6q1OZb9v9+d&``g;3s}cxK7PuM*F5(u)*g!Hu=Tvq zHsBwtdVRk|oKn?081SPCe+J;^6}}wsC2G7y0Nj7evSs537Fb-Cg9@~z7p_ds$DIBpH%fO2TXc*1k!xy_xX^msq-P= z=DKjrz%6j$qQEV5;aY)9xNs@pmbq}tfV&*HPmOW47PvJox^Dw_6L5XPbm3M5_l_$sjqh(DJ&!f~lx-OQ7~A!@E<#EnZF((3tj2XW z@IS+KIq06n^(~~oBJBfy7p}dK`fbk;193eS*METSTwJ?wU5aZruIq5!g!BZ`yRRVO zdMWCrF+UmUI*dIUfAedl{TMn+UMJN_zZzO#jT?YgoRi=~iJPugW4mv?ESK`pAC2vP zNIE9^)bH)Fz2;@Ro_>F{>)#4k+uW^N?C}!;tjA9~;2mmQZ2fPkA##j6>4>pyfwxxE1ZAHcm$SsEwOcJ9prE8}Jl=cmKKV>D@|3Zn_mf z5YO6<_eAHmr@!o>JmQz;xo_Mp$Fpy%AzQ#YhJF4kc3->?Sj+t5*MvA9J`&l2#{j>h zWcxB;;?ak63*>kT%0I~%Q>5?oY#wA7N7C{mJgw`9-%Z#TpuYj<%4;^R?som=0PUjn z*6&a++vwL}?*P-oeUNU4oQH#d)3)9T+!z<`Uf|9I?kuA}HUT#kxIzQB8Mqn1 znXv@wAF6A>pO7EvaHJ}vJfzu3#~@vVbPCc%MtM13eMRn#KQ`11FZY?F~C~CM}KJd>q{MW zzrNoMUtIOam3y&&sOIGLfbUfJ#{l1}@Gk=vinose_fq}m+lRG*q8|x(i=saR@O27* zKH&8V9|3%+!e0yc3WeVQ_zi`B3h;J?-wL=>;r9aGtMGlm|6de-G~o9X{!G9tArsQG zxqy#Te6|24JtO>bz@%rS$JYXGRP^@)jsYh8Q-DeT$c{V&eR%lM2iH$uHUjzR*u8-on z4cCv6d~aol&+$A9R~lz!xax5<0d>8Ku|eZw{%kpZ{&~K?>VklseR3Q4@3A#TL=WL$MWQ9SBh$e!eX=N#ET zp$p`73$AW^_qPM|QzpvNHmesq4^r>2mx00CFS!)-j~l(U#dim+SYD zhoimVk=F9d`}#yw;U56}UBEQQ-qFt|t_MtVJ37-RHUTDi76N_&FwHj&fVCe~*xx6b zP$tRt0pL3UlWd;@d0XeRMeCe;OQC?T! zO1ACmxb;^Tx9$!39)|uTU8KKJ20USt)J4J<15Y}q|EPc2f8K%pRV2z!iFB9f=oy`n zp+C2+>5u-Vzf}RdJi4d8rtzo8Obc{T^A;K46W2h;NT-(%@>zWLIngJQz_U#OtjEJS zC;3Dp_$Pb-_?;^6V!*mx*8|q=x&!d9R5=d-9RE;zb_ZQ=;#~sZNv_DUM@hJL%`r^_BvOhk;)!k>4Ri7c7SfY$&{D0uLxm^TzW7x3MH z*@lfmAEVu*UzOQ*AGeS3i4Rad*|z(E-wT**+f#t`8IG-h^%;(L0e_5gNGJM?25;b# z%0C*gKHG67V12gZ9KfF|`ZmCS1x)mp0bYx`sGPe1Ujmr$4+DNh;ok=QGllN}oTKoA z!SfdEB@q1xzy1zh9;6lb+fcqP8dktI>aC?C3n{U&V0VjTyA&xU}(}6n-II~_9%kwSq|0s0s zNu;M*0UJ*%2gtuH-Dhl}L+`zJqid($A6fITWq8*(kFLx=8xi8kG9_ zVn|+Bh128AH9hF<3Y0^(j}ra$MCTp{^Li+c#=&4DJq|{k<`eTbOP&1~a7w`=bKq}6 zUZl%+0A2@}bYUxCZN~x=Z5?m>rfq*N176#o>j6KByrhE<1D=NRshpPpzpn5dfR9k+ ze*yRmz%*7ypv)0~X{_V}{*|IH27HC0KL@b3V^!#5w=Jp#?mEHvG(*YMDH6o>uv_6m>i=$7dUzRmVJ*ZkJ zuMgo${X%omhqp>uy^MCPq<&Hf7m+~TLCrD`-RnQfi=(;XiU)AM32kbd1YZ{LG{6JT z^ochBlgw`gJo#pMZs=3MM`KJA&ENu`coprWvp)9$UV*YqouhiIJn98mn*Ch`TCYFi z@ff5Je=T+DxwCv?pMozd^of51rheW9_(FwWJjExn9+Y$Yn}G8GlRlm~)hDU|*Ms-P zfc=VoeUVR;DflJ8D^%W30c&4$aIvkk)g?aheMPev_-m1ue1esL^<26Ju-4^U0Y3y9 z(&gs>_XkXJeI4*yfXS!$6!1%`oPH>OrJ_F$@V`_)j0UWAc0P3M*WkgNXG6fb^|%?h zzkn`;HltSVpD1u2x$?FGCmzZW%M3c|53RSqgHCQk`V=Yi@3!7f1Uwh%YNQ*HOub!$ zKBa#BNbA6bvX5JFrGEX|@BQlhUYeWMz$WPPXl=?qP@k5dpGp7dZzy2WOZuxb@FNX; z$iR;`@NEX3^n}K~?;jcB2&7R+6OgKrzJ-)T`X161(69H9zCb!|JkCZS)gUcI`X16o zB(i68_MHCQ^V5%%op>)QpED8uA$_8Cyl(Rvj1}!GS6BIjZvTcEKCAur0oLt*39xSe zn}Buu_X5`K?}Ku5`$tfjs{Q$ZXqf|rhMd;nN`D{W`t`W`YR{#T z?rI$*nGZf)>NCAZL4WSK`FW+!o8#&FY?gHgbZiCkla5iMKgzok`P_Nw+1LI2)%Wus zFjnHj)z3FC_U>n0)&u9J_cP_)f_(10RL|G_{MGg|^_DrF=RR!D zml42v9wj?X<8=#c@momOK_8w#+NSh^-k+jB_k5O-E%BR^>3Y!z^t$fC^D+0JKGL_l zF0kje{6?S9JoN#rc{&;}%>~5MrI=URk#`Sx(Q}f??>~+CgYdLJOnmJGPsG>Ql;mwX zu3zihSFdkBQvHms5SIhi{@L?@-TIcbD?^-))Mr93QHnGliS@7teH)?l?UW_y`bP7L zuDcrgqy49?L7&CP9e_0-4*=FWwhB7-XYjWI^=lm?{rvP^A+0W2-zd|Crwhn!~N$DBA4@!S-yEaAX*)_}3 z^~|(u9nhf;rSIo2v~}*?2z+zJ(*uAtPtO6?I(H3pZUSh2XXu>PH{$nq9{NUnJqezO zuiovFH$Sdl>)ThWZ)B59efx{jA9|OV{#GJUzfz*Vxk`V2e^I*rm}PwdeOLi{vMH44 zkMmxPcc@)?>6u$kFIDx>GxLx1;b=mr_;pU)UPFEi*wW2bdkxvX*q)0E6ZRU?m-LBa zACcqhIly`id1cDBtJQ7Tt5NzscnQi;@bINRv0K3nfG<_>wSX5Z_zS@ID7a-AVy+5) z8}RE2KDyl}o>1^*fVFKOeG&Fv?~uIh1zw*K?*qIZXR9&J-0u$Qan{p&LnPN`^a1@v zzb&t;aQ%9meYN9^Bz-D$O|MH1)qfarhSPtb_xtJ3JzmzT@e=xue9lDphx(PqpRT(c z`lEGh^Odk|$2H^k?i!2J=phmCgW zcF=y(ZtzC@J*oKLp{{t8){d@&wBuFO^9Z#Ayz6$HbCqld_0zo`{B82!Z!>W2_C5sM zPLyx%y*>(D2XHT;A16r>?>Z1mv-jCwF zBh<5!+Ot;9kt442i7_|GJ^u#4FFl2GYM{9c@Oyx1t@Z%m4h8Q5tlw)I{(bCSDg0f4 zi`L0;@)Y3xz<+>p-Ui(FY3#26?f|?8ZT%PEF8~jHOv10PhOYpa#@Kypu=lRuH9x@K z9P%DF5qo(*1fPKYfG-1F3Yhlkt_M6z!PPh5i~wNbdBl476OUv66!evVKUHwc%|3A! z;HkjB|6`m30UQC`ve746k@q&hp8|gDM|j@>aN#XJaUN)11{?sq95e)vxE*K00MqwB zuKbx#{1Nm7Z@tSWvY)_yJ!n1#{8Qk&0Kc>ea|ZCVZ@1=toWnzz1Yh|}pZJA>-v(R& z84^DKS3Yq+$|tzbW}kRQ!Dj;Arr;L9w?kG$b1UGPPs+Bhe84AeL760n%3u4$qYB;% z_+14zJcx4*ivCT&zf}D=_aU5dK>3vSUBLSRe*yj*9>zQe{t15<;MV{Xe)w;E;s=0x ze-nF9&q&|I9H<3KWQ5gKVPfP+l6?scT_~@rFhSA1lRQ}UGaVp^N10MMd z&f9?plH2uwXDJze3iz9#`6+1DKj#xMz(jM-3-Dh7lYX|m=o9rS@A{WulNEmDZ?Q*< zzIzOLeZTXGT(pbo-2nJKRnFqy`^0Kh*Xw`>f`-b!;|~}M3Vs>z$$*K6y?}23OtO0F z6`WfEOgs#K4SKG4sC*s!sfvgEH+*6V+WuSQy&tf)UxT+x`$hi$?g!C-pxF%?l*V(x zN5E}%;XViM3E=)^&hN2Ptd&%+~7%ec{_pI0o(|MqxtC*;64P-e5YdzaQ^~s zzLEDe;QBtBArb~|J8;JWXP!TJ3%FB&GxP2MZUS(Z8F}9WuELe~S>VnE?k0ooN#GU$ zXWHQxfm;NeIqwX32;WEn&a~mZfxE($cMxzta?$k#?j9H2?@WJlS@dH};_1jVR;&H+}3Y5^m^o5(kiqThSaec%TGUjKKD8`YNUcVT=h_^A(UzhlTl zI41}EaiG`wJ`_0ObyGc5AN?^u zS4*BIsVm{Nj%a-v@v-la^dOA(twuSw8)fP8Og*>@@P1nlmiNYcjA%QJh3os^+el!7+C2d> zarb#1aPB^z1f09i#{zdgc*rsIh1zE70kwaJYXAIe?7k*>Qa>H>f^5T;hv7^V$|8Ng z6|h@R5>$?npX#AMD#tu)`}Y4K?0w+7?#p`ruiQv9k&x!xjguxKPDENXY2w6*6DLlb zh&T~(;%-`;Nt1{cB26MfLPA=cMU%&Fnw;H4v~h^IX>k^35)u*-@mL%rBBI414snPU z5x?K_x$pJ4_hC15_IO-e-{*C`-hV#--k<*;DBBeE{0qO6?d%O>d8dlD+^>9_-*4sj zhw1kRf0$=W`TZ$=zrgR$@Z0t68~k3$?-z)_$nUT6`{(%mGQW3F|JV8b1Ae!L{+mC_ z^Q^?xe}~_lp?^;<_whsjS$>}l{cGOHv0vz)=eNtlX)a@){vDd%pq^yABs?@vJ?8h% zc~SJu?7X}i-njF^=e)kkHav7ZLcJe9ot>xO<@X)x{ewC5o8Lc2T+OH7#J)c?U*Y#8 zeyjNgzc-a6S)A{YP`vZRWL>=Gf_rlOTpFb*7ADZ{@`(|i9 z&hMn1wx_h?JoydE{ZIPzTWCkF7r#LtNB{bh{Y(02G%5S~=XtJ)dR+eh{8Pj0#V1RL z=Y2Wz{sx-ArLAYpd)q6I_8L;{I!|2h|8#$Lo_vdX?^4%S-^V=R_v?>kt0?(~H?UKm1FhUb&|HSN@Lm z;)Q0OuX{PG`4@gC&n5lJ*Lm*ekFxPMZsMFE^xxrka?S5OzdS1Q_w>tef_9DQoBeX! z82|lj9p6Jch2Mu+2G4Ki9XqDg@$Nm};2ARF-zWaPU*q{d;{U|&cYlk%^Ls)W$NT(l zi}>I3yPV%u#NW7!@sKvs^ZP#isoeGCGC`7Q#+;YQ{8aa}KhMLT$NXle-`n(CoPMYC zXE48`=XdY?w&xzqZ+7}UPruQ55%XBd{ipB0e+}D({VsL}b3ZwVd2a7F4nKzZO~#+b z{MMq+*!x{ZzrpBt8-0e}Z!P*=MZXQ{_Z}x>pTL%2t1!PM>9-R-r}g~UbKZZ%Joob4 z$8%S&0r>q!pU-c^eihq|9l*|E|A2YC=f3!P>|IzH=JWqPPwzASeqYkD-S1WUZi3%^ zytjwx!QS}WJcoyU0Q&^yci#Lyn&0d>g85A}-`)S;*#E`+K8El0`+YROo#u1De#ggm zrhQ-5_hfya*7sYcF$qHckBDJzBlW8vAz%Md$U9D%YK`>u^i0zVSV>{ z=sjb+-~I4=AAX0!?{D;Aes9C?X ze&J2nJFyRARahP7_s{&cn%`wQggFlTUWLakpYPVb>jC( z{5Ht+}Nwqd@P?7Q^7XTOAZb$vJ4 zcanXldCI|2L+?NOPNVNT`u?NuH2S`y@89{}o$uTEzTSGw_w#%o@b@s^+w+~L0?c=@ zd_T!|k$k_%=cRo|!1thhSIK9oeFw>Rn}+U7aWBqi&wan?BbeW&@*ODOo$=ij-+l3Y z6W?k1A>K#H!zN?Cn=%Xg0QL#YcXoWI#dloxVZO(54D;QVzrlRx#&>N-^M1$#?Csc0 z%y$iZufX>VhTd_&`#yp1IQWi%?<@Fjg5RsVf&XXhA@(CjxDJQ;T`k{Z@R|7m8O#3z zrU$FQR$)Ht?epP2o9=V@K9}xu?LLd|GvU57>3fzwbMAYUzEA11<-UvI^W#2G?lbG| zlii27zi{8shy4fk`j=S;uvwV<6`wov8xHO>ybtevO`ier-G1No_q~4aOL{-j`;Fdz z^!}pv8@-?C{YCFj`b@FU&-$#a&&7Jb-upa0kL0y?uhF}|^8S$5G`+U^9&7>j%h*Be zkFdYMUiZiJ1M|A3*Ezl3^d-z|L0-T6L+nqnv)I35Z#cm;VP2>7`lQz%y_V@UJ+Bpd zJ%6VqTZ>y3o&KUTgGws9u}%nw;0-yawkryo;FE;Jjw<@GMF<$V_OI+fS0{Fboa5cb-l z*QNdk*C@V=^<#dM)o-+Vp81;ZvTgC(bJhdc9nACLx1C~pz&y|KT*UJZ&oMlo@EG4? zc#pw7#`gHv<6e(NJ??D#vr(DvV27~N*mdkN=DCr_Jst;nOyIt~9&_LCKED_H8|;5I*Tlf3werMh9t^3_|zrXHx*8SeP-)(=|U-AuhbAEq4 z`S!Z(x8ajN=YijhcUt^TeDZzx|JS$S?PJo$v%d3QkZQ;Fipq!EP1?UQ_tmjFbj2ge zZhuPI)5K~<=90Q=={G4lE2a=+284QwxU}*LN}r2 z)w){BwvA}F=5xb!ztRR}`$p84`TVQvYo_e&5%rZWe|3FDl+BIpH)*5u3$NDIQnqY_ zt}x!EOv>q7zQ}dr5xRcfu^jnV`INF5-oeafty!Vmc{$xCV^^x$QLzjuVLm)OX^)+Vm+jnEbU;;VK2>$wlYn4SL1{pyo!uAEr$2wm%j zSL+%#GX9OwWq#?^y8dRy_z}9sud|;T5i8yF>awlqZj8|7#(j(QbktII9Q&E{U+y=a zWOHSdEg7Nf+V*N)7iE`?(AAH)4sCt?l-)c+ckC(GT8~lo;0WEg5!dXjFT*v-iz9Sf zfBn_{%YRC&oa+|@Bg>AsrePCZTw9p%J5ScxAJ-dB^C33>-wdyx`6v7TW%wSVf3p9d zMmq2RtKqwJ{+WOOIgW?2IK+$LsVV+N*lUsgsV}-Xd`u*NmAvm!`zL=BPOf>#yI{Yo z;-9<^{$dt~c=VrhPLkp`!s-6ZfRpRNmVXbNZto*-(j)T=V6RX4Cx04F_y03+GB?eC z4lW#0XZ0K4ccr)!PS^jtaJv0JhNq|W4`BZ5jG;g4ul)<3 zzfJI4Q+mG}mF~}f8&TfxNTuuh{So}%N0j$_QtAHrU8(f?;&-Uh?fJdQ^!jri_S&0& zPVWy!{fPW3 zc<4FUsJ|Ib&#%q!n^Nty!9HW;pZ)m*INkq09#P)!CZy+|-%m(S-}m9yWvd&i@2}x> zeSTjvt-lFRP3d3vmrs^|6P%tOg>bt4cfjfK;C=ABQ}wluD1RAFxBoYAdj9?`oL(Pp z!0GmK7$5j=7KZ+uU%TLReg74HeJcMQIK934-O}{*ybPzuhcj?``CNzJoT~3J>~mB8 z+5Yo?_2l+F2Tqq?1gG_1hSSrt7EZ5EyGQ7|;q>(WIh?NlAK>)z``t@V&W|oQ-QFLL z$oIhM@_!3IG5_K8`a3X!{r+oud-c1o>Fsss`>)yAH8j8c4s3e+D}d9>Yx)Q-h1285 zzx8weovQCg|N6=0=XX%k%lqRa^1I-4`!B-j?e!1g^!m{Yr{{M+obK;UIJr0C`ta{? zdi(pK%TF#3zn_<$Uw)r5U7z2nOqcgNmg(s^4yTvrpTOzu`+IP@{=bCN)9d#D)Ajj1 zz%=_k!1VU$cLCGvcL3A%z3zWK*`D8}OOFSBpDw+9`klJ;{@U-=rP=S+rI)wgXG_ly zztfi1`@Obw|9|Bw*NRf>#}T+N#eW6AJH^la4cBK=JPl574o5Kq7HgMC!b!wR>0}y_3LnYym$#t&+ke9_~iD}45#z|45!D#`*3>s zt-bYR|F*;F_6Fhir>1B2|K|E0;l&cFTn3e>Awl5*Y}sR+drGPL{^4JrZ2xtG+#5>e zKM8*^#WVkn_X<+{3vhb=cEjoAcLq+k_m6O4s(jAFC%4x>{EsKcv*OoqjWDJEG~ATp zbMWXCKN$7g6U%e)bA0?waa|bE?Pr%Dl{E0VY-wiV4{$LrL-v2hh#VP%_ z;g6*F@8R_M?7zb4_8TWYSzq%A-U-v}(4XzMj^K7UeY~(APOlID15USh6`qo+uP&Es zy(#X7)BD3dI6c2#_r@pt`(`+O{4otq_h$y2ULJGc^!T_j@5$x;zBlpwT&h3ch09a? zeExHp1u3o@!M_iur{@uzUS6x8=ez2u@`vE`{{1bJ_?~+z{}DJner$w4mC9d$)BA_V zaC&^1@@B4`rS!i9r`NBmaQb*<_FJCpZ|1E}_UGo*C+FW7zP&IeRsZWpaPA0xbFka6 z=Y8Wa_qVd%eX+~aV@`8wJia$S($eM9TGv0~Og9tBwXuM$qQHIX}mwyBx=Fa>m%}0$^QvEjsL*R?;4RGD$ii~ee7xFZT~CmlztO?TKnc-<{A;Sf4zhMV;p-{`L}?EGhckLkyrR^IL7wR}_lo!GP1{|}OT;XlcL^DVqz zi!I=K-_y3g?~(f_>{<1{eKzk7V^7Pw{d~EU_m8pP;riOh@p)+cSwMNr@*~IBBFcY- z+{=+~VLzSzv;04jdpqCqd|LTJ@*gMnwa7nhe1CB{?^t0^EARaMnJ@7jVC-qrXZxT0 z8S>b(%0Iv9HJSHg&no{Kz7z0%EGb`eh+`*g>T5VQ8k70*9l5{3|7G#5 zO!q`$WBIR1Wai9^@+fRNx<~X){e6c2`rmmjvuasXJ~r4lKKu)|1M$-buY>4L~ChsL*NV)aYvkz`1FI$h? zf;s=TqZ?X2)U%5itMc&jfj5#bpxkci*#tL{m#s%$i&;-SI_LW->RC-}1-fK8$jdS3 zM-{q!=3_7G|6*eE(aF{)&ofW`XK0V1Av4!}v?t#fot>Xo!e0vC7yd-}!{HBx@4(y7 z*3tBn_IB^cbnhkBGMauy`|=LV^t`DvaUJzUnTuS{V)OVly%ZQawzwGqM z#hB|`LHNAzIpIf#e?$TMdzV)jizq+y*E8J@h~4J3ciH;no0$E*hF5^OgR} zb20l{8u}T*oN^A8&kG(O%w^gkJ(rt@^4zw0c?SKPyED_xEsqShtzMFmzbJFtExWyi z?+bq-{NeBi!*}3^)(h%&zHXu3y~J9mH<{1!4s2+>2>piOb-^oxmj_n{&kLSS{Zpy` zCiTxDHjDaY`z_DF+&&6IKM{Q)`7vxKdBnz}m(|N-L-*M2lXxDwQN$j)eTGiH$2McV zHDfssdTr**<#?Cp?C?c+r#~lnRPZ3zK-JyFJKeYN>aGP}4nBh~B)$O~jS#DD3ACAfLJ-q!G2)>55y~`0lAABbGINs^sJtjN- zd$+Ux5Zg6oc>3iXh$?{FS{kRf*5pR3vBHkB#BKQ#A>EHI+ z?DQX?y^z>6h1Fwz~qI(|ZoxDq_pfCDSi2!R$|U=!^08 zdwRsDMm&#trc%!s#^FiCCQ^^=dL)k_U-bUxGLuR(-8t|m^0Ilkc5HS()b)Fr?mD)K zWn+i;L-MxRUYhZ4Uu#3Z2mN|tjVZm{Lf-xOR`RXzPV&iqT|R+19Y^ri*BSaX=noO= zNa^L%O9Unka|(#wy?yI;>I@5Sjs^2vT)o~BVx z0p9v1{BTx33Vj~2aX&n)mp5YXMzFMfqCl8-Op7m(9x;FsI`T-g^7+)_a_CO&pgU`K?TM zFR>$(lPxEAk$0TlOufh8gXEKOTi%aZUpwCVTF|%CuTku8_7K~NUba4YJNZiLJ4k)4 z@D}p2d3nm~vi+PCJ~#Y$y!DTMUFPLw=&PCkV~KHt&h#f$mOs~A3 zywkUf`VPbU$S2b)w_(<|8*hEv&>y6}e3tW0Vq4J5wl8lYznJKr z>A%WxII;3^%*W`5JSTJ|;b)*f#&m3Eye%d+4ZUoC?{wGVJ+G~%T!wO; zlv_-!igL2`%H_7pd2Ai)XC*wxcH_KOUcyag>#fE+-Sc0cdAXJH3%0PH5S#b<%uBNM z$)%y2iLN*!>4^3~8?M7NdrL3I7Z&Y_dl$)_=={}|r+dKm9~=%n0cbQdXi zkXQ%hWXs8WLbns0(>;K$h1hm<$$XGEg>D_X4d@=DTTg5aI@$W<2F&gD6c-xYkM-j1 z*YWU2!XFCX8Gc{*w(z^d@4!1fTkuZLhVg9Aj3>pv$@)dCX*}C=j4$$1@}2aj>{l|~ z_3#q%vi*}6V%ArQx4t>SCBf5z3xg*Hj|+atva|gCSk5Rhq^>q+yLochBcVqTvXXv-0?__@D z?Pi=N){I_OFK-~<3Xdnh1zty9HZQLs-$wnDUB2*Y^0Ilk9)FannmRlZv3EuM6c+1bD{Av2NzJ=|VSQ+JI`yrQ- zce&P4e>q%2K3UH4Ow9U<@U~Nkx88{n9~b}OZ#JMq@DFL*uW z`_PyFa;CeP*gDF~&Ih>>v;3;i*9I>QUPSo;=G*q)U_VQ&it@7M zvUzzfW`9cYPS14o{gm&ZzG7li(aY-PLh?P7-${K%Z~=MQyqt&G-wAl@8;iI8QNj0F zuE)?Hr~E^f(Os6SYp(B7mmj_%TmSv=H}ICfinsq4-;f<&JHO7jOziv{hR0X=Oz8VUe;j>3_2;oZ zoFH}-y=;5(!O-mu--7-k`BL<)#CD>W)yrE#w;o+H@yGOIBe8YpWOeeI(AA@JKU7G4 z4a8QUOZH3ha?JTz6Z$Ij=h3f6zlc~Rdf9sAd6@H~Ec7LK%g+p+O8K+s+bLf}tdR1u z<>g73<#R(n7JXOf#}ONiURE#rFrCMlgREzRtalH%4*r;R=RWJ1tWF-_!nggn9{x)B zOX1IlKNG$${0Y3v^-wOyBQ1Q}@|QB*M~NNC<#+_Pez^m)-+M#ff_^jo9N5TmBDNE~ ztX|%Z*`LjL%WcHl&Kk-&E*8^H6R`%$CF7*L60=+_-f}f~%PpkbBg*Zk+#+I?l#^{w zE)QKP-g2{oi^5N){2=-Zl%GOu66Iyf%XygXj>lVmEZ%mxq407|2mc2j$6;fLJ^WG5 zQ(()<4|o_>{aw8Jn?IU)`9AfIY3BTq*fsRBdiiqbFNXdM`c{@>AIF#HiS?nE)yuu) z?^1p$^__-$$jj#CqnPb?;cdSa|91Qi%2m?OF8bXfH`+Brltn z*I?G$fVbXS^d02qpkGOBDSBDGybyE#RfaFc+m9KPyN&KBuXC3qPF5_#MX+@&ob%)PI%s#=v*U%a)gKPt3M= z6K{L{=x>l8%{X#}*ah^mdig}?4x?))ev^8S5<7%WRwwVpoZc36Mf7)@=jFt9pp(_f z8$-7ST|V(PbWOw>(8=oLdh#xh2Kv0W# zIo|1=js6Ptwoz{xv10VHdU;0Z3ema0_k4O9u>y3-{$I`~Uro6p>X`~pBrjW!JRb8n zV=NCF+b$0szdV}px5L|0C^E5y#dk?TxRPCkR# zP8YiS{4U94x_j^k(aHS1D0h-C{v)2t`VQ9*;12S#?aOWCXK>wd>pL>t?Qko3*}S|9 zb3NUTw_ls__IG3OTFN&u-yd=wyPnu;%FC9QSCOAUzxOa5Yv7gSW%F_^X8lX?*1rgE z{Z+y9C|^%~1&kAw#L6fyTV5_DKaToNQ-3*JLS8m6&%~_12ygub=*N=3fxeJfK6+Wb zT+5AB?^7(m+mDLybMclh$>;t#`u?wGx=V=_=X3u&%F8n_*UxF_j?vF;9RE)zHU*t* zJMtvV`o>3n52-JYSWc=w*&Ds;Zu0Vz{kazYa`=mQ^QZAn=gHus!Ck?fZ{j$b_8-un zL&WyIiR0+#kGvPN{@r-%*@?H_&A}Uk*HKR^E?AJ%16pn|WM!&Ktg-FQ38G^`a|`_WFqRpp$J+J{r0M==vBRCU6|tMQlGhS)II( zd;#TF(cU3=FL~L#+=4lux8j}8oA9>ZM7eyXr}b-@?hVA&Qckv5PK)rp`dxY3Qbh0|RGjw~=Z6|&c-9BQi z=wx+r3+DXXj_x$`Zx-9@E@E5J$?D`Xrn`vy5I5Qw_n5{~rdu{Iuf$x>mf@Z6)uBI! zehIOvlwNKmKZEi|$ghPP$jjCzH%GpM{APGVDlhLOUyQz$d<(ptyli>7J@Q-0cff6_ zyxc{;1pNl`N8p3xWy{OGk#8X12lu4%@_F*5=xfPegwK+fEiYe-d^PzS@Rd|vzDvFg zeFgdZ@NM$4<>g6}vh#BSerP?Ol-18fpF@n7-(S(ov#=@5_ab!V)H5F4Ok?O|>y;N{ zGtgCp?jFzcEFe~%(#f^tD=2q`d>y=uylg%4Hq7PSjJJPlLw^eWdSZ{#ZXc z*PBXoSBPCem#jzfxzP2YbAB|UJ5B5ax@7*y$3xeJ>8V?g+61=#uG`_lK@E`nM0= zUSch&{>iOx$?k_Y;hnAx;n#&72fT;4)1ud^ewChY@e6bWxAIWTl5yzgV zs?g2FTYe7S@+A?U9_7dU0?Uio)Kq!7fV|^F+BZt`I zg5mQn`92Q^s=JJL`Ywh)7xA9pqv5+E-hsEjdxKjGXoqp3hU3*XVlB24y5ktv%YnB`?CuDS@JdL8;RASm(|NPp5A#?K58ur8_~zl`2YG;e3Cp#lDbxK3zD8cQ z9=V@ybByZaq4WC-$P-NNgRtM*QX_%udgCji!NEefsvlvhB%>FqdZ)-u}%CE(@MX`P05>PqcTw+E zyyIt|dg^H8yy`r$UiC14FUmdSt2vL_{B6cV_!xQF`s6P1o=2_yF~&joAo=9HO5Tsz z&I9Un`tOFn75+x}GkA5q;g8{+{&uFnoc{0nd7gtMwukALZC~DsIlnfAejR$(qlyh2 zUlLn`K3T8i)#S@4e}ekf!}a84>ywvZ_G5AQ!XL{Xr{#v9gZFrCR`|7r+38vxzCQel z@XNw4311z4LHPN2`(KWCdS@1L-lciS0)(Tc5m-yyJ2HS2_QH_mWS>XL%3i zdb|_w@>++!nQ45;dc29)8uT)MFUqUQH?rQ|V?VqeUPWHEJ$VIr*V~hC;rbW6oP4q# z%QcwoREOXFw(Nep8SngBAAW84)!~TxTgKR`NE+m6)$` zG5JR3OUYL_e}rd{m!G5G@-)o(T8Ov4T=Wg(tI_8Zn}A+^4!t}Mv%h2UmK%k)+`TDW ze?Yg2au28Q{QDHHKSVkCI;QR{-twoy_eT5(-uey&w}szLy{;##xL&@8*iPzA)*E>n zW__FRmfwK4oi)J?!L@kzm!;HKL%;IYWV+`Pn?-%{b4;Ji_&aoc_Bhiq8=gu&xjrjT zChvMyO!*mbKKW$5lP8j2M!t-E0X&YpZ2j_B@^x@E`3dl7^0Ik(@U7YYUwUhHf4PKy zTqkz^t;73E`7AaxAH$!(JN?J-PX9s5m$SdyM)||UIw>#Pj=V4QZK2wygKytp#O9!r)yY#rHwm4`jhCozGO;{#vO0MJ=Ju9@cRq~@e#AEI{JFunS5CbPY3B~H ztBiZH<>h|N`FSDqr_j3}xX=FkEU}a5ll_8xg1q~I)zo(eK1M#-FUSWl`?D|nPW0~I zIkxQHO>8^*WPdOBy)C=nI2Qh3_?vk5A6LU)O8nI9be<1?CVXG`6XB1AKOFvG_)fgj zyASXD**TT_Y)sFbM*2r=`&90;#r%=CguXfS>(G0gaO!6nABn9&pBy*H4WVBd`Wp1- z(Kk~6GGdF+%g-_Y<%O8za|Pb{HXZ#9eji|bo{gV|Ugqybc?$WRjK|CWE9WEdWb(50 z$$8`*kGa;-JqeyjJ{h0oahUCl4*!VxDj$DWcAW0OyB_Tg-x_{b_>JM4!mkP65Pl`z z`MT^~+41@?>(L5gOWrj+UdxNfH!>e4{tWNQzzfOCPKR8Hxt!+Vt*;clDl@p z;H~%8bdH$8m#v2(w&g==X%*MY*l$Zd0z6 z*mlavE)TgGv)ua7H-xXFTobw+j;mJ@TTVIIa`Ix#`M5Cj^YGSF7F-hfnZZ*cUl2S# z{21D)r(Umzk0Zv%OJ0&~N4{T_t@jSz`ExCNe-Xz8=+;s0DzOVi92Z16`7~z#PKN#{ z-u`t3?+d?&dMYW`K|SrnTBt|1eR(TpxlN&88@_>ZrRYvlZVj=Ol#?wd*J8H6H1rGc z)>9cgC;TkxDWcqM>M12QgL-7^k&7_vDa2cT65jbRAvh=a@jJ4|OBdgfJziShkm6l0PiO++h4hj zd@o!;z8!8QFAvR6cnA3-@MQA4;BDk(^Kvu!V{kF~&F}{DvUzz8`GfE*^6TK$3X^YR?>9qG+)O?f9!Fj_FF%;Zb#{0g`Nz|^zB`TU z?2(smk>3gLBL5J+NnW;DS8<(E=E zL;1awUruZZ#@w ze>wCQ(0jbT0R1Im=g=p|@AB!;pA7vm^wsoZ2mLxh>cn7);VtdfZ z>g3I#+knpF^|k1li8Y~1j^E`qn8#lYc&E26csbtbt)zT8_1>m@HL-b=mu*Kb!<^5v zLq8q8$Ll+}Zc|Kb8v5k;U7kX|jPf}gzs`gU$jjCzkH_rKnDF;Gp7eN~d(_~VZv`0?S#gg^S@+3D^Ie;|BE_`Ts3I89h`0Vp5zmeISn9b;Kd#ZQal}Sbk8C?~ z2D9A5cW3Ll^KQ;3=*M~bb)VS4yE&hTe#tk;yWHyO*KPP3`D8iDmofWw5pTcF;H|$e z;wK`0n0f~2$IPGR`7L6Hs7JP6@&U|p9ieYUe~f)P#8vWQnziNrqP>*ao@?y+#3qwB-{aE_Z!~CiwR)$_y zFPBEYa+&|-a7n6P@=VNr72)mIWW4p~M|@($$52l#{a8f5a)^zh9@%!}$Bbi^8^l}B z?HL@$(2v8+uY1I9&fqvE`Xyf{?{Zs3ziz=-$tTNE?#Jxc1-$j0##{f%i1$Rii+cL$ zM`1np6Nnw89@&1$`$OLz`km-~pD3UGNGq}J=#%%0DPJs)dFuOFI%77jJ=C~ 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�NpSGf6F{{Mo@%EGFOnI;}=^^Q`8DG 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 z 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 anB17Wm;#x?7{Gvu5kfQQLTM<)6bk^IJRXby delta 145 zcmcc4dYN^CA&Zixmi9)|sf_BThS8Y?8Toms`Nd{>24RKXdGqE!9F$pnAGD$JXF}X0g YF?lfgGlejK0TUyHX3&AsP>LxU0RI;qxc~qF diff --git a/JSONKit/JSONKit.h b/JSONKit/JSONKit.h new file mode 100755 index 0000000..71bd0c3 --- /dev/null +++ b/JSONKit/JSONKit.h @@ -0,0 +1,251 @@ +// +// JSONKit.h +// http://github.com/johnezang/JSONKit +// Dual licensed under either the terms of the BSD License, or alternatively +// under the terms of the Apache License, Version 2.0, as specified below. +// + +/* + Copyright (c) 2011, John Engelhart + + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + * Neither the name of the Zang Industries nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/* + Copyright 2011 John Engelhart + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + +#include +#include +#include +#include +#include + +#ifdef __OBJC__ +#import +#import +#import +#import +#import +#import +#endif // __OBJC__ + +#ifdef __cplusplus +extern "C" { +#endif + + +// For Mac OS X < 10.5. +#ifndef NSINTEGER_DEFINED +#define NSINTEGER_DEFINED +#if defined(__LP64__) || defined(NS_BUILD_32_LIKE_64) +typedef long NSInteger; +typedef unsigned long NSUInteger; +#define NSIntegerMin LONG_MIN +#define NSIntegerMax LONG_MAX +#define NSUIntegerMax ULONG_MAX +#else // defined(__LP64__) || defined(NS_BUILD_32_LIKE_64) +typedef int NSInteger; +typedef unsigned int NSUInteger; +#define NSIntegerMin INT_MIN +#define NSIntegerMax INT_MAX +#define NSUIntegerMax UINT_MAX +#endif // defined(__LP64__) || defined(NS_BUILD_32_LIKE_64) +#endif // NSINTEGER_DEFINED + + +#ifndef _JSONKIT_H_ +#define _JSONKIT_H_ + +#if defined(__GNUC__) && (__GNUC__ >= 4) && defined(__APPLE_CC__) && (__APPLE_CC__ >= 5465) +#define JK_DEPRECATED_ATTRIBUTE __attribute__((deprecated)) +#else +#define JK_DEPRECATED_ATTRIBUTE +#endif + +#define JSONKIT_VERSION_MAJOR 1 +#define JSONKIT_VERSION_MINOR 4 + +typedef NSUInteger JKFlags; + +/* + JKParseOptionComments : Allow C style // and /_* ... *_/ (without a _, obviously) comments in JSON. + JKParseOptionUnicodeNewlines : Allow Unicode recommended (?:\r\n|[\n\v\f\r\x85\p{Zl}\p{Zp}]) newlines. + JKParseOptionLooseUnicode : Normally the decoder will stop with an error at any malformed Unicode. + This option allows JSON with malformed Unicode to be parsed without reporting an error. + Any malformed Unicode is replaced with \uFFFD, or "REPLACEMENT CHARACTER". + */ + +enum { + JKParseOptionNone = 0, + JKParseOptionStrict = 0, + JKParseOptionComments = (1 << 0), + JKParseOptionUnicodeNewlines = (1 << 1), + JKParseOptionLooseUnicode = (1 << 2), + JKParseOptionPermitTextAfterValidJSON = (1 << 3), + JKParseOptionValidFlags = (JKParseOptionComments | JKParseOptionUnicodeNewlines | JKParseOptionLooseUnicode | JKParseOptionPermitTextAfterValidJSON), +}; +typedef JKFlags JKParseOptionFlags; + +enum { + JKSerializeOptionNone = 0, + JKSerializeOptionPretty = (1 << 0), + JKSerializeOptionEscapeUnicode = (1 << 1), + JKSerializeOptionEscapeForwardSlashes = (1 << 4), + JKSerializeOptionValidFlags = (JKSerializeOptionPretty | JKSerializeOptionEscapeUnicode | JKSerializeOptionEscapeForwardSlashes), +}; +typedef JKFlags JKSerializeOptionFlags; + +#ifdef __OBJC__ + +typedef struct JKParseState JKParseState; // Opaque internal, private type. + +// As a general rule of thumb, if you use a method that doesn't accept a JKParseOptionFlags argument, it defaults to JKParseOptionStrict + +@interface JSONDecoder : NSObject { + JKParseState *parseState; +} ++ (id)decoder; ++ (id)decoderWithParseOptions:(JKParseOptionFlags)parseOptionFlags; +- (id)initWithParseOptions:(JKParseOptionFlags)parseOptionFlags; +- (void)clearCache; + +// The parse... methods were deprecated in v1.4 in favor of the v1.4 objectWith... methods. +- (id)parseUTF8String:(const unsigned char *)string length:(size_t)length JK_DEPRECATED_ATTRIBUTE; // Deprecated in JSONKit v1.4. Use objectWithUTF8String:length: instead. +- (id)parseUTF8String:(const unsigned char *)string length:(size_t)length error:(NSError **)error JK_DEPRECATED_ATTRIBUTE; // Deprecated in JSONKit v1.4. Use objectWithUTF8String:length:error: instead. +// The NSData MUST be UTF8 encoded JSON. +- (id)parseJSONData:(NSData *)jsonData JK_DEPRECATED_ATTRIBUTE; // Deprecated in JSONKit v1.4. Use objectWithData: instead. +- (id)parseJSONData:(NSData *)jsonData error:(NSError **)error JK_DEPRECATED_ATTRIBUTE; // Deprecated in JSONKit v1.4. Use objectWithData:error: instead. + +// Methods that return immutable collection objects. +- (id)objectWithUTF8String:(const unsigned char *)string length:(NSUInteger)length; +- (id)objectWithUTF8String:(const unsigned char *)string length:(NSUInteger)length error:(NSError **)error; +// The NSData MUST be UTF8 encoded JSON. +- (id)objectWithData:(NSData *)jsonData; +- (id)objectWithData:(NSData *)jsonData error:(NSError **)error; + +// Methods that return mutable collection objects. +- (id)mutableObjectWithUTF8String:(const unsigned char *)string length:(NSUInteger)length; +- (id)mutableObjectWithUTF8String:(const unsigned char *)string length:(NSUInteger)length error:(NSError **)error; +// The NSData MUST be UTF8 encoded JSON. +- (id)mutableObjectWithData:(NSData *)jsonData; +- (id)mutableObjectWithData:(NSData *)jsonData error:(NSError **)error; + +@end + +//////////// +#pragma mark Deserializing methods +//////////// + +@interface NSString (JSONKitDeserializing) +- (id)objectFromJSONString; +- (id)objectFromJSONStringWithParseOptions:(JKParseOptionFlags)parseOptionFlags; +- (id)objectFromJSONStringWithParseOptions:(JKParseOptionFlags)parseOptionFlags error:(NSError **)error; +- (id)mutableObjectFromJSONString; +- (id)mutableObjectFromJSONStringWithParseOptions:(JKParseOptionFlags)parseOptionFlags; +- (id)mutableObjectFromJSONStringWithParseOptions:(JKParseOptionFlags)parseOptionFlags error:(NSError **)error; +@end + +@interface NSData (JSONKitDeserializing) +// The NSData MUST be UTF8 encoded JSON. +- (id)objectFromJSONData; +- (id)objectFromJSONDataWithParseOptions:(JKParseOptionFlags)parseOptionFlags; +- (id)objectFromJSONDataWithParseOptions:(JKParseOptionFlags)parseOptionFlags error:(NSError **)error; +- (id)mutableObjectFromJSONData; +- (id)mutableObjectFromJSONDataWithParseOptions:(JKParseOptionFlags)parseOptionFlags; +- (id)mutableObjectFromJSONDataWithParseOptions:(JKParseOptionFlags)parseOptionFlags error:(NSError **)error; +@end + +//////////// +#pragma mark Serializing methods +//////////// + +@interface NSString (JSONKitSerializing) +// Convenience methods for those that need to serialize the receiving NSString (i.e., instead of having to serialize a NSArray with a single NSString, you can "serialize to JSON" just the NSString). +// Normally, a string that is serialized to JSON has quotation marks surrounding it, which you may or may not want when serializing a single string, and can be controlled with includeQuotes: +// includeQuotes:YES `a "test"...` -> `"a \"test\"..."` +// includeQuotes:NO `a "test"...` -> `a \"test\"...` +- (NSData *)JSONData; // Invokes JSONDataWithOptions:JKSerializeOptionNone includeQuotes:YES +- (NSData *)JSONDataWithOptions:(JKSerializeOptionFlags)serializeOptions includeQuotes:(BOOL)includeQuotes error:(NSError **)error; +- (NSString *)JSONString; // Invokes JSONStringWithOptions:JKSerializeOptionNone includeQuotes:YES +- (NSString *)JSONStringWithOptions:(JKSerializeOptionFlags)serializeOptions includeQuotes:(BOOL)includeQuotes error:(NSError **)error; +@end + +@interface NSArray (JSONKitSerializing) +- (NSData *)JSONData; +- (NSData *)JSONDataWithOptions:(JKSerializeOptionFlags)serializeOptions error:(NSError **)error; +- (NSData *)JSONDataWithOptions:(JKSerializeOptionFlags)serializeOptions serializeUnsupportedClassesUsingDelegate:(id)delegate selector:(SEL)selector error:(NSError **)error; +- (NSString *)JSONString; +- (NSString *)JSONStringWithOptions:(JKSerializeOptionFlags)serializeOptions error:(NSError **)error; +- (NSString *)JSONStringWithOptions:(JKSerializeOptionFlags)serializeOptions serializeUnsupportedClassesUsingDelegate:(id)delegate selector:(SEL)selector error:(NSError **)error; +@end + +@interface NSDictionary (JSONKitSerializing) +- (NSData *)JSONData; +- (NSData *)JSONDataWithOptions:(JKSerializeOptionFlags)serializeOptions error:(NSError **)error; +- (NSData *)JSONDataWithOptions:(JKSerializeOptionFlags)serializeOptions serializeUnsupportedClassesUsingDelegate:(id)delegate selector:(SEL)selector error:(NSError **)error; +- (NSString *)JSONString; +- (NSString *)JSONStringWithOptions:(JKSerializeOptionFlags)serializeOptions error:(NSError **)error; +- (NSString *)JSONStringWithOptions:(JKSerializeOptionFlags)serializeOptions serializeUnsupportedClassesUsingDelegate:(id)delegate selector:(SEL)selector error:(NSError **)error; +@end + +#ifdef __BLOCKS__ + +@interface NSArray (JSONKitSerializingBlockAdditions) +- (NSData *)JSONDataWithOptions:(JKSerializeOptionFlags)serializeOptions serializeUnsupportedClassesUsingBlock:(id(^)(id object))block error:(NSError **)error; +- (NSString *)JSONStringWithOptions:(JKSerializeOptionFlags)serializeOptions serializeUnsupportedClassesUsingBlock:(id(^)(id object))block error:(NSError **)error; +@end + +@interface NSDictionary (JSONKitSerializingBlockAdditions) +- (NSData *)JSONDataWithOptions:(JKSerializeOptionFlags)serializeOptions serializeUnsupportedClassesUsingBlock:(id(^)(id object))block error:(NSError **)error; +- (NSString *)JSONStringWithOptions:(JKSerializeOptionFlags)serializeOptions serializeUnsupportedClassesUsingBlock:(id(^)(id object))block error:(NSError **)error; +@end + +#endif + + +#endif // __OBJC__ + +#endif // _JSONKIT_H_ + +#ifdef __cplusplus +} // extern "C" +#endif diff --git a/JSONKit/JSONKit.m b/JSONKit/JSONKit.m new file mode 100755 index 0000000..a1fb443 --- /dev/null +++ b/JSONKit/JSONKit.m @@ -0,0 +1,3070 @@ +// +// JSONKit.m +// http://github.com/johnezang/JSONKit +// Dual licensed under either the terms of the BSD License, or alternatively +// under the terms of the Apache License, Version 2.0, as specified below. +// + +/* + Copyright (c) 2011, John Engelhart + + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + * Neither the name of the Zang Industries nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/* + Copyright 2011 John Engelhart + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + + +/* + Acknowledgments: + + The bulk of the UTF8 / UTF32 conversion and verification comes + from ConvertUTF.[hc]. It has been modified from the original sources. + + The original sources were obtained from http://www.unicode.org/. + However, the web site no longer seems to host the files. Instead, + the Unicode FAQ http://www.unicode.org/faq//utf_bom.html#gen4 + points to International Components for Unicode (ICU) + http://site.icu-project.org/ as an example of how to write a UTF + converter. + + The decision to use the ConvertUTF.[ch] code was made to leverage + "proven" code. Hopefully the local modifications are bug free. + + The code in isValidCodePoint() is derived from the ICU code in + utf.h for the macros U_IS_UNICODE_NONCHAR and U_IS_UNICODE_CHAR. + + From the original ConvertUTF.[ch]: + + * Copyright 2001-2004 Unicode, Inc. + * + * Disclaimer + * + * This source code is provided as is by Unicode, Inc. No claims are + * made as to fitness for any particular purpose. No warranties of any + * kind are expressed or implied. The recipient agrees to determine + * applicability of information provided. If this file has been + * purchased on magnetic or optical media from Unicode, Inc., the + * sole remedy for any claim will be exchange of defective media + * within 90 days of receipt. + * + * Limitations on Rights to Redistribute This Code + * + * Unicode, Inc. hereby grants the right to freely use the information + * supplied in this file in the creation of products supporting the + * Unicode Standard, and to make copies of this file in any form + * for internal or external distribution as long as this notice + * remains attached. + +*/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#import "JSONKit.h" + +//#include +#include +#include +#include +#include + +//#import +#import +#import +#import +#import +#import +#import +#import + +#ifndef __has_feature +#define __has_feature(x) 0 +#endif + +#ifdef JK_ENABLE_CF_TRANSFER_OWNERSHIP_CALLBACKS +#warning As of JSONKit v1.4, JK_ENABLE_CF_TRANSFER_OWNERSHIP_CALLBACKS is no longer required. It is no longer a valid option. +#endif + +#ifdef __OBJC_GC__ +#error JSONKit does not support Objective-C Garbage Collection +#endif + +#if __has_feature(objc_arc) +#error JSONKit does not support Objective-C Automatic Reference Counting (ARC) +#endif + +// The following checks are really nothing more than sanity checks. +// JSONKit technically has a few problems from a "strictly C99 conforming" standpoint, though they are of the pedantic nitpicking variety. +// In practice, though, for the compilers and architectures we can reasonably expect this code to be compiled for, these pedantic nitpicks aren't really a problem. +// Since we're limited as to what we can do with pre-processor #if checks, these checks are not nearly as through as they should be. + +#if (UINT_MAX != 0xffffffffU) || (INT_MIN != (-0x7fffffff-1)) || (ULLONG_MAX != 0xffffffffffffffffULL) || (LLONG_MIN != (-0x7fffffffffffffffLL-1LL)) +#error JSONKit requires the C 'int' and 'long long' types to be 32 and 64 bits respectively. +#endif + +#if !defined(__LP64__) && ((UINT_MAX != ULONG_MAX) || (INT_MAX != LONG_MAX) || (INT_MIN != LONG_MIN) || (WORD_BIT != LONG_BIT)) +#error JSONKit requires the C 'int' and 'long' types to be the same on 32-bit architectures. +#endif + +// Cocoa / Foundation uses NS*Integer as the type for a lot of arguments. We make sure that NS*Integer is something we are expecting and is reasonably compatible with size_t / ssize_t + +#if (NSUIntegerMax != ULONG_MAX) || (NSIntegerMax != LONG_MAX) || (NSIntegerMin != LONG_MIN) +#error JSONKit requires NSInteger and NSUInteger to be the same size as the C 'long' type. +#endif + +#if (NSUIntegerMax != SIZE_MAX) || (NSIntegerMax != SSIZE_MAX) +#error JSONKit requires NSInteger and NSUInteger to be the same size as the C 'size_t' type. +#endif + + +// For DJB hash. +#define JK_HASH_INIT (1402737925UL) + +// Use __builtin_clz() instead of trailingBytesForUTF8[] table lookup. +#define JK_FAST_TRAILING_BYTES + +// JK_CACHE_SLOTS must be a power of 2. Default size is 1024 slots. +#define JK_CACHE_SLOTS_BITS (10) +#define JK_CACHE_SLOTS (1UL << JK_CACHE_SLOTS_BITS) +// JK_CACHE_PROBES is the number of probe attempts. +#define JK_CACHE_PROBES (4UL) +// JK_INIT_CACHE_AGE must be < (1 << AGE) - 1, where AGE is sizeof(typeof(AGE)) * 8. +#define JK_INIT_CACHE_AGE (0) + +// JK_TOKENBUFFER_SIZE is the default stack size for the temporary buffer used to hold "non-simple" strings (i.e., contains \ escapes) +#define JK_TOKENBUFFER_SIZE (1024UL * 2UL) + +// JK_STACK_OBJS is the default number of spaces reserved on the stack for temporarily storing pointers to Obj-C objects before they can be transferred to a NSArray / NSDictionary. +#define JK_STACK_OBJS (1024UL * 1UL) + +#define JK_JSONBUFFER_SIZE (1024UL * 4UL) +#define JK_UTF8BUFFER_SIZE (1024UL * 16UL) + +#define JK_ENCODE_CACHE_SLOTS (1024UL) + + +#if defined (__GNUC__) && (__GNUC__ >= 4) +#define JK_ATTRIBUTES(attr, ...) __attribute__((attr, ##__VA_ARGS__)) +#define JK_EXPECTED(cond, expect) __builtin_expect((long)(cond), (expect)) +#define JK_EXPECT_T(cond) JK_EXPECTED(cond, 1U) +#define JK_EXPECT_F(cond) JK_EXPECTED(cond, 0U) +#define JK_PREFETCH(ptr) __builtin_prefetch(ptr) +#else // defined (__GNUC__) && (__GNUC__ >= 4) +#define JK_ATTRIBUTES(attr, ...) +#define JK_EXPECTED(cond, expect) (cond) +#define JK_EXPECT_T(cond) (cond) +#define JK_EXPECT_F(cond) (cond) +#define JK_PREFETCH(ptr) +#endif // defined (__GNUC__) && (__GNUC__ >= 4) + +#define JK_STATIC_INLINE static __inline__ JK_ATTRIBUTES(always_inline) +#define JK_ALIGNED(arg) JK_ATTRIBUTES(aligned(arg)) +#define JK_UNUSED_ARG JK_ATTRIBUTES(unused) +#define JK_WARN_UNUSED JK_ATTRIBUTES(warn_unused_result) +#define JK_WARN_UNUSED_CONST JK_ATTRIBUTES(warn_unused_result, const) +#define JK_WARN_UNUSED_PURE JK_ATTRIBUTES(warn_unused_result, pure) +#define JK_WARN_UNUSED_SENTINEL JK_ATTRIBUTES(warn_unused_result, sentinel) +#define JK_NONNULL_ARGS(arg, ...) JK_ATTRIBUTES(nonnull(arg, ##__VA_ARGS__)) +#define JK_WARN_UNUSED_NONNULL_ARGS(arg, ...) JK_ATTRIBUTES(warn_unused_result, nonnull(arg, ##__VA_ARGS__)) +#define JK_WARN_UNUSED_CONST_NONNULL_ARGS(arg, ...) JK_ATTRIBUTES(warn_unused_result, const, nonnull(arg, ##__VA_ARGS__)) +#define JK_WARN_UNUSED_PURE_NONNULL_ARGS(arg, ...) JK_ATTRIBUTES(warn_unused_result, pure, nonnull(arg, ##__VA_ARGS__)) + +#if defined (__GNUC__) && (__GNUC__ >= 4) && (__GNUC_MINOR__ >= 3) +#define JK_ALLOC_SIZE_NON_NULL_ARGS_WARN_UNUSED(as, nn, ...) JK_ATTRIBUTES(warn_unused_result, nonnull(nn, ##__VA_ARGS__), alloc_size(as)) +#else // defined (__GNUC__) && (__GNUC__ >= 4) && (__GNUC_MINOR__ >= 3) +#define JK_ALLOC_SIZE_NON_NULL_ARGS_WARN_UNUSED(as, nn, ...) JK_ATTRIBUTES(warn_unused_result, nonnull(nn, ##__VA_ARGS__)) +#endif // defined (__GNUC__) && (__GNUC__ >= 4) && (__GNUC_MINOR__ >= 3) + + +@class JKArray, JKDictionaryEnumerator, JKDictionary; + +enum { + JSONNumberStateStart = 0, + JSONNumberStateFinished = 1, + JSONNumberStateError = 2, + JSONNumberStateWholeNumberStart = 3, + JSONNumberStateWholeNumberMinus = 4, + JSONNumberStateWholeNumberZero = 5, + JSONNumberStateWholeNumber = 6, + JSONNumberStatePeriod = 7, + JSONNumberStateFractionalNumberStart = 8, + JSONNumberStateFractionalNumber = 9, + JSONNumberStateExponentStart = 10, + JSONNumberStateExponentPlusMinus = 11, + JSONNumberStateExponent = 12, +}; + +enum { + JSONStringStateStart = 0, + JSONStringStateParsing = 1, + JSONStringStateFinished = 2, + JSONStringStateError = 3, + JSONStringStateEscape = 4, + JSONStringStateEscapedUnicode1 = 5, + JSONStringStateEscapedUnicode2 = 6, + JSONStringStateEscapedUnicode3 = 7, + JSONStringStateEscapedUnicode4 = 8, + JSONStringStateEscapedUnicodeSurrogate1 = 9, + JSONStringStateEscapedUnicodeSurrogate2 = 10, + JSONStringStateEscapedUnicodeSurrogate3 = 11, + JSONStringStateEscapedUnicodeSurrogate4 = 12, + JSONStringStateEscapedNeedEscapeForSurrogate = 13, + JSONStringStateEscapedNeedEscapedUForSurrogate = 14, +}; + +enum { + JKParseAcceptValue = (1 << 0), + JKParseAcceptComma = (1 << 1), + JKParseAcceptEnd = (1 << 2), + JKParseAcceptValueOrEnd = (JKParseAcceptValue | JKParseAcceptEnd), + JKParseAcceptCommaOrEnd = (JKParseAcceptComma | JKParseAcceptEnd), +}; + +enum { + JKClassUnknown = 0, + JKClassString = 1, + JKClassNumber = 2, + JKClassArray = 3, + JKClassDictionary = 4, + JKClassNull = 5, +}; + +enum { + JKManagedBufferOnStack = 1, + JKManagedBufferOnHeap = 2, + JKManagedBufferLocationMask = (0x3), + JKManagedBufferLocationShift = (0), + + JKManagedBufferMustFree = (1 << 2), +}; +typedef JKFlags JKManagedBufferFlags; + +enum { + JKObjectStackOnStack = 1, + JKObjectStackOnHeap = 2, + JKObjectStackLocationMask = (0x3), + JKObjectStackLocationShift = (0), + + JKObjectStackMustFree = (1 << 2), +}; +typedef JKFlags JKObjectStackFlags; + +enum { + JKTokenTypeInvalid = 0, + JKTokenTypeNumber = 1, + JKTokenTypeString = 2, + JKTokenTypeObjectBegin = 3, + JKTokenTypeObjectEnd = 4, + JKTokenTypeArrayBegin = 5, + JKTokenTypeArrayEnd = 6, + JKTokenTypeSeparator = 7, + JKTokenTypeComma = 8, + JKTokenTypeTrue = 9, + JKTokenTypeFalse = 10, + JKTokenTypeNull = 11, + JKTokenTypeWhiteSpace = 12, +}; +typedef NSUInteger JKTokenType; + +// These are prime numbers to assist with hash slot probing. +enum { + JKValueTypeNone = 0, + JKValueTypeString = 5, + JKValueTypeLongLong = 7, + JKValueTypeUnsignedLongLong = 11, + JKValueTypeDouble = 13, +}; +typedef NSUInteger JKValueType; + +enum { + JKEncodeOptionAsData = 1, + JKEncodeOptionAsString = 2, + JKEncodeOptionAsTypeMask = 0x7, + JKEncodeOptionCollectionObj = (1 << 3), + JKEncodeOptionStringObj = (1 << 4), + JKEncodeOptionStringObjTrimQuotes = (1 << 5), + +}; +typedef NSUInteger JKEncodeOptionType; + +typedef NSUInteger JKHash; + +typedef struct JKTokenCacheItem JKTokenCacheItem; +typedef struct JKTokenCache JKTokenCache; +typedef struct JKTokenValue JKTokenValue; +typedef struct JKParseToken JKParseToken; +typedef struct JKPtrRange JKPtrRange; +typedef struct JKObjectStack JKObjectStack; +typedef struct JKBuffer JKBuffer; +typedef struct JKConstBuffer JKConstBuffer; +typedef struct JKConstPtrRange JKConstPtrRange; +typedef struct JKRange JKRange; +typedef struct JKManagedBuffer JKManagedBuffer; +typedef struct JKFastClassLookup JKFastClassLookup; +typedef struct JKEncodeCache JKEncodeCache; +typedef struct JKEncodeState JKEncodeState; +typedef struct JKObjCImpCache JKObjCImpCache; +typedef struct JKHashTableEntry JKHashTableEntry; + +typedef id (*NSNumberAllocImp)(id receiver, SEL selector); +typedef id (*NSNumberInitWithUnsignedLongLongImp)(id receiver, SEL selector, unsigned long long value); +typedef id (*JKClassFormatterIMP)(id receiver, SEL selector, id object); +#ifdef __BLOCKS__ +typedef id (^JKClassFormatterBlock)(id formatObject); +#endif + + +struct JKPtrRange { + unsigned char *ptr; + size_t length; +}; + +struct JKConstPtrRange { + const unsigned char *ptr; + size_t length; +}; + +struct JKRange { + size_t location, length; +}; + +struct JKManagedBuffer { + JKPtrRange bytes; + JKManagedBufferFlags flags; + size_t roundSizeUpToMultipleOf; +}; + +struct JKObjectStack { + void **objects, **keys; + CFHashCode *cfHashes; + size_t count, index, roundSizeUpToMultipleOf; + JKObjectStackFlags flags; +}; + +struct JKBuffer { + JKPtrRange bytes; +}; + +struct JKConstBuffer { + JKConstPtrRange bytes; +}; + +struct JKTokenValue { + JKConstPtrRange ptrRange; + JKValueType type; + JKHash hash; + union { + long long longLongValue; + unsigned long long unsignedLongLongValue; + double doubleValue; + } number; + JKTokenCacheItem *cacheItem; +}; + +struct JKParseToken { + JKConstPtrRange tokenPtrRange; + JKTokenType type; + JKTokenValue value; + JKManagedBuffer tokenBuffer; +}; + +struct JKTokenCacheItem { + void *object; + JKHash hash; + CFHashCode cfHash; + size_t size; + unsigned char *bytes; + JKValueType type; +}; + +struct JKTokenCache { + JKTokenCacheItem *items; + size_t count; + unsigned int prng_lfsr; + unsigned char age[JK_CACHE_SLOTS]; +}; + +struct JKObjCImpCache { + Class NSNumberClass; + NSNumberAllocImp NSNumberAlloc; + NSNumberInitWithUnsignedLongLongImp NSNumberInitWithUnsignedLongLong; +}; + +struct JKParseState { + JKParseOptionFlags parseOptionFlags; + JKConstBuffer stringBuffer; + size_t atIndex, lineNumber, lineStartIndex; + size_t prev_atIndex, prev_lineNumber, prev_lineStartIndex; + JKParseToken token; + JKObjectStack objectStack; + JKTokenCache cache; + JKObjCImpCache objCImpCache; + NSError *error; + int errorIsPrev; + BOOL mutableCollections; +}; + +struct JKFastClassLookup { + void *stringClass; + void *numberClass; + void *arrayClass; + void *dictionaryClass; + void *nullClass; +}; + +struct JKEncodeCache { + id object; + size_t offset; + size_t length; +}; + +struct JKEncodeState { + JKManagedBuffer utf8ConversionBuffer; + JKManagedBuffer stringBuffer; + size_t atIndex; + JKFastClassLookup fastClassLookup; + JKEncodeCache cache[JK_ENCODE_CACHE_SLOTS]; + JKSerializeOptionFlags serializeOptionFlags; + JKEncodeOptionType encodeOption; + size_t depth; + NSError *error; + id classFormatterDelegate; + SEL classFormatterSelector; + JKClassFormatterIMP classFormatterIMP; +#ifdef __BLOCKS__ + JKClassFormatterBlock classFormatterBlock; +#endif +}; + +// This is a JSONKit private class. +@interface JKSerializer : NSObject { + JKEncodeState *encodeState; +} + +#ifdef __BLOCKS__ +#define JKSERIALIZER_BLOCKS_PROTO id(^)(id object) +#else +#define JKSERIALIZER_BLOCKS_PROTO id +#endif + ++ (id)serializeObject:(id)object options:(JKSerializeOptionFlags)optionFlags encodeOption:(JKEncodeOptionType)encodeOption block:(JKSERIALIZER_BLOCKS_PROTO)block delegate:(id)delegate selector:(SEL)selector error:(NSError **)error; +- (id)serializeObject:(id)object options:(JKSerializeOptionFlags)optionFlags encodeOption:(JKEncodeOptionType)encodeOption block:(JKSERIALIZER_BLOCKS_PROTO)block delegate:(id)delegate selector:(SEL)selector error:(NSError **)error; +- (void)releaseState; + +@end + +struct JKHashTableEntry { + NSUInteger keyHash; + id key, object; +}; + + +typedef uint32_t UTF32; /* at least 32 bits */ +typedef uint16_t UTF16; /* at least 16 bits */ +typedef uint8_t UTF8; /* typically 8 bits */ + +typedef enum { + conversionOK, /* conversion successful */ + sourceExhausted, /* partial character in source, but hit end */ + targetExhausted, /* insuff. room in target for conversion */ + sourceIllegal /* source sequence is illegal/malformed */ +} ConversionResult; + +#define UNI_REPLACEMENT_CHAR (UTF32)0x0000FFFD +#define UNI_MAX_BMP (UTF32)0x0000FFFF +#define UNI_MAX_UTF16 (UTF32)0x0010FFFF +#define UNI_MAX_UTF32 (UTF32)0x7FFFFFFF +#define UNI_MAX_LEGAL_UTF32 (UTF32)0x0010FFFF +#define UNI_SUR_HIGH_START (UTF32)0xD800 +#define UNI_SUR_HIGH_END (UTF32)0xDBFF +#define UNI_SUR_LOW_START (UTF32)0xDC00 +#define UNI_SUR_LOW_END (UTF32)0xDFFF + + +#if !defined(JK_FAST_TRAILING_BYTES) +static const char trailingBytesForUTF8[256] = { + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, 3,3,3,3,3,3,3,3,4,4,4,4,5,5,5,5 +}; +#endif + +static const UTF32 offsetsFromUTF8[6] = { 0x00000000UL, 0x00003080UL, 0x000E2080UL, 0x03C82080UL, 0xFA082080UL, 0x82082080UL }; +static const UTF8 firstByteMark[7] = { 0x00, 0x00, 0xC0, 0xE0, 0xF0, 0xF8, 0xFC }; + +#define JK_AT_STRING_PTR(x) (&((x)->stringBuffer.bytes.ptr[(x)->atIndex])) +#define JK_END_STRING_PTR(x) (&((x)->stringBuffer.bytes.ptr[(x)->stringBuffer.bytes.length])) + + +static JKArray *_JKArrayCreate(id *objects, NSUInteger count, BOOL mutableCollection); +static void _JKArrayInsertObjectAtIndex(JKArray *array, id newObject, NSUInteger objectIndex); +static void _JKArrayReplaceObjectAtIndexWithObject(JKArray *array, NSUInteger objectIndex, id newObject); +static void _JKArrayRemoveObjectAtIndex(JKArray *array, NSUInteger objectIndex); + + +static NSUInteger _JKDictionaryCapacityForCount(NSUInteger count); +static JKDictionary *_JKDictionaryCreate(id *keys, NSUInteger *keyHashes, id *objects, NSUInteger count, BOOL mutableCollection); +static JKHashTableEntry *_JKDictionaryHashEntry(JKDictionary *dictionary); +static NSUInteger _JKDictionaryCapacity(JKDictionary *dictionary); +static void _JKDictionaryResizeIfNeccessary(JKDictionary *dictionary); +static void _JKDictionaryRemoveObjectWithEntry(JKDictionary *dictionary, JKHashTableEntry *entry); +static void _JKDictionaryAddObject(JKDictionary *dictionary, NSUInteger keyHash, id key, id object); +static JKHashTableEntry *_JKDictionaryHashTableEntryForKey(JKDictionary *dictionary, id aKey); + + +static void _JSONDecoderCleanup(JSONDecoder *decoder); + +static id _NSStringObjectFromJSONString(NSString *jsonString, JKParseOptionFlags parseOptionFlags, NSError **error, BOOL mutableCollection); + + +static void jk_managedBuffer_release(JKManagedBuffer *managedBuffer); +static void jk_managedBuffer_setToStackBuffer(JKManagedBuffer *managedBuffer, unsigned char *ptr, size_t length); +static unsigned char *jk_managedBuffer_resize(JKManagedBuffer *managedBuffer, size_t newSize); +static void jk_objectStack_release(JKObjectStack *objectStack); +static void jk_objectStack_setToStackBuffer(JKObjectStack *objectStack, void **objects, void **keys, CFHashCode *cfHashes, size_t count); +static int jk_objectStack_resize(JKObjectStack *objectStack, size_t newCount); + +static void jk_error(JKParseState *parseState, NSString *format, ...); +static int jk_parse_string(JKParseState *parseState); +static int jk_parse_number(JKParseState *parseState); +static size_t jk_parse_is_newline(JKParseState *parseState, const unsigned char *atCharacterPtr); +JK_STATIC_INLINE int jk_parse_skip_newline(JKParseState *parseState); +JK_STATIC_INLINE void jk_parse_skip_whitespace(JKParseState *parseState); +static int jk_parse_next_token(JKParseState *parseState); +static void jk_error_parse_accept_or3(JKParseState *parseState, int state, NSString *or1String, NSString *or2String, NSString *or3String); +static void *jk_create_dictionary(JKParseState *parseState, size_t startingObjectIndex); +static void *jk_parse_dictionary(JKParseState *parseState); +static void *jk_parse_array(JKParseState *parseState); +static void *jk_object_for_token(JKParseState *parseState); +static void *jk_cachedObjects(JKParseState *parseState); +JK_STATIC_INLINE void jk_cache_age(JKParseState *parseState); +JK_STATIC_INLINE void jk_set_parsed_token(JKParseState *parseState, const unsigned char *ptr, size_t length, JKTokenType type, size_t advanceBy); + + +static void jk_encode_error(JKEncodeState *encodeState, NSString *format, ...); +static int jk_encode_printf(JKEncodeState *encodeState, JKEncodeCache *cacheSlot, size_t startingAtIndex, id object, const char *format, ...); +static int jk_encode_write(JKEncodeState *encodeState, JKEncodeCache *cacheSlot, size_t startingAtIndex, id object, const char *format); +static int jk_encode_writePrettyPrintWhiteSpace(JKEncodeState *encodeState); +static int jk_encode_write1slow(JKEncodeState *encodeState, ssize_t depthChange, const char *format); +static int jk_encode_write1fast(JKEncodeState *encodeState, ssize_t depthChange JK_UNUSED_ARG, const char *format); +static int jk_encode_writen(JKEncodeState *encodeState, JKEncodeCache *cacheSlot, size_t startingAtIndex, id object, const char *format, size_t length); +JK_STATIC_INLINE JKHash jk_encode_object_hash(void *objectPtr); +JK_STATIC_INLINE void jk_encode_updateCache(JKEncodeState *encodeState, JKEncodeCache *cacheSlot, size_t startingAtIndex, id object); +static int jk_encode_add_atom_to_buffer(JKEncodeState *encodeState, void *objectPtr); + +#define jk_encode_write1(es, dc, f) (JK_EXPECT_F(_jk_encode_prettyPrint) ? jk_encode_write1slow(es, dc, f) : jk_encode_write1fast(es, dc, f)) + + +JK_STATIC_INLINE size_t jk_min(size_t a, size_t b); +JK_STATIC_INLINE size_t jk_max(size_t a, size_t b); +JK_STATIC_INLINE JKHash jk_calculateHash(JKHash currentHash, unsigned char c); + +// JSONKit v1.4 used both a JKArray : NSArray and JKMutableArray : NSMutableArray, and the same for the dictionary collection type. +// However, Louis Gerbarg (via cocoa-dev) pointed out that Cocoa / Core Foundation actually implements only a single class that inherits from the +// mutable version, and keeps an ivar bit for whether or not that instance is mutable. This means that the immutable versions of the collection +// classes receive the mutating methods, but this is handled by having those methods throw an exception when the ivar bit is set to immutable. +// We adopt the same strategy here. It's both cleaner and gets rid of the method swizzling hackery used in JSONKit v1.4. + + +// This is a workaround for issue #23 https://github.com/johnezang/JSONKit/pull/23 +// Basically, there seem to be a problem with using +load in static libraries on iOS. However, __attribute__ ((constructor)) does work correctly. +// Since we do not require anything "special" that +load provides, and we can accomplish the same thing using __attribute__ ((constructor)), the +load logic was moved here. + +static Class _JKArrayClass = NULL; +static size_t _JKArrayInstanceSize = 0UL; +static Class _JKDictionaryClass = NULL; +static size_t _JKDictionaryInstanceSize = 0UL; + +// For JSONDecoder... +static Class _jk_NSNumberClass = NULL; +static NSNumberAllocImp _jk_NSNumberAllocImp = NULL; +static NSNumberInitWithUnsignedLongLongImp _jk_NSNumberInitWithUnsignedLongLongImp = NULL; + +extern void jk_collectionClassLoadTimeInitialization(void) __attribute__ ((constructor)); + +void jk_collectionClassLoadTimeInitialization(void) { + NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; // Though technically not required, the run time environment at load time initialization may be less than ideal. + + _JKArrayClass = objc_getClass("JKArray"); + _JKArrayInstanceSize = jk_max(16UL, class_getInstanceSize(_JKArrayClass)); + + _JKDictionaryClass = objc_getClass("JKDictionary"); + _JKDictionaryInstanceSize = jk_max(16UL, class_getInstanceSize(_JKDictionaryClass)); + + // For JSONDecoder... + _jk_NSNumberClass = [NSNumber class]; + _jk_NSNumberAllocImp = (NSNumberAllocImp)[NSNumber methodForSelector:@selector(alloc)]; + + // Hacktacular. Need to do it this way due to the nature of class clusters. + id temp_NSNumber = [NSNumber alloc]; + _jk_NSNumberInitWithUnsignedLongLongImp = (NSNumberInitWithUnsignedLongLongImp)[temp_NSNumber methodForSelector:@selector(initWithUnsignedLongLong:)]; + [[temp_NSNumber init] release]; + temp_NSNumber = NULL; + + [pool release]; pool = NULL; +} + + +#pragma mark - +@interface JKArray : NSMutableArray { + id *objects; + NSUInteger count, capacity, mutations; +} +@end + +@implementation JKArray + ++ (id)allocWithZone:(NSZone *)zone +{ +#pragma unused(zone) + [NSException raise:NSInvalidArgumentException format:@"*** - [%@ %@]: The %@ class is private to JSONKit and should not be used in this fashion.", NSStringFromClass([self class]), NSStringFromSelector(_cmd), NSStringFromClass([self class])]; + return(NULL); +} + +static JKArray *_JKArrayCreate(id *objects, NSUInteger count, BOOL mutableCollection) { + NSCParameterAssert((objects != NULL) && (_JKArrayClass != NULL) && (_JKArrayInstanceSize > 0UL)); + JKArray *array = NULL; + if(JK_EXPECT_T((array = (JKArray *)calloc(1UL, _JKArrayInstanceSize)) != NULL)) { // Directly allocate the JKArray instance via calloc. + array->isa = _JKArrayClass; + if((array = [array init]) == NULL) { return(NULL); } + array->capacity = count; + array->count = count; + if(JK_EXPECT_F((array->objects = (id *)malloc(sizeof(id) * array->capacity)) == NULL)) { [array autorelease]; return(NULL); } + memcpy(array->objects, objects, array->capacity * sizeof(id)); + array->mutations = (mutableCollection == NO) ? 0UL : 1UL; + } + return(array); +} + +// Note: The caller is responsible for -retaining the object that is to be added. +static void _JKArrayInsertObjectAtIndex(JKArray *array, id newObject, NSUInteger objectIndex) { + NSCParameterAssert((array != NULL) && (array->objects != NULL) && (array->count <= array->capacity) && (objectIndex <= array->count) && (newObject != NULL)); + if(!((array != NULL) && (array->objects != NULL) && (objectIndex <= array->count) && (newObject != NULL))) { [newObject autorelease]; return; } + if((array->count + 1UL) >= array->capacity) { + id *newObjects = NULL; + if((newObjects = (id *)realloc(array->objects, sizeof(id) * (array->capacity + 16UL))) == NULL) { [NSException raise:NSMallocException format:@"Unable to resize objects array."]; } + array->objects = newObjects; + array->capacity += 16UL; + memset(&array->objects[array->count], 0, sizeof(id) * (array->capacity - array->count)); + } + array->count++; + if((objectIndex + 1UL) < array->count) { memmove(&array->objects[objectIndex + 1UL], &array->objects[objectIndex], sizeof(id) * ((array->count - 1UL) - objectIndex)); array->objects[objectIndex] = NULL; } + array->objects[objectIndex] = newObject; +} + +// Note: The caller is responsible for -retaining the object that is to be added. +static void _JKArrayReplaceObjectAtIndexWithObject(JKArray *array, NSUInteger objectIndex, id newObject) { + NSCParameterAssert((array != NULL) && (array->objects != NULL) && (array->count <= array->capacity) && (objectIndex < array->count) && (array->objects[objectIndex] != NULL) && (newObject != NULL)); + if(!((array != NULL) && (array->objects != NULL) && (objectIndex < array->count) && (array->objects[objectIndex] != NULL) && (newObject != NULL))) { [newObject autorelease]; return; } + CFRelease(array->objects[objectIndex]); + array->objects[objectIndex] = NULL; + array->objects[objectIndex] = newObject; +} + +static void _JKArrayRemoveObjectAtIndex(JKArray *array, NSUInteger objectIndex) { + NSCParameterAssert((array != NULL) && (array->objects != NULL) && (array->count > 0UL) && (array->count <= array->capacity) && (objectIndex < array->count) && (array->objects[objectIndex] != NULL)); + if(!((array != NULL) && (array->objects != NULL) && (array->count > 0UL) && (array->count <= array->capacity) && (objectIndex < array->count) && (array->objects[objectIndex] != NULL))) { return; } + CFRelease(array->objects[objectIndex]); + array->objects[objectIndex] = NULL; + if((objectIndex + 1UL) < array->count) { memmove(&array->objects[objectIndex], &array->objects[objectIndex + 1UL], sizeof(id) * ((array->count - 1UL) - objectIndex)); array->objects[array->count - 1UL] = NULL; } + array->count--; +} + +- (void)dealloc +{ + if(JK_EXPECT_T(objects != NULL)) { + NSUInteger atObject = 0UL; + for(atObject = 0UL; atObject < count; atObject++) { if(JK_EXPECT_T(objects[atObject] != NULL)) { CFRelease(objects[atObject]); objects[atObject] = NULL; } } + free(objects); objects = NULL; + } + + [super dealloc]; +} + +- (NSUInteger)count +{ + NSParameterAssert((objects != NULL) && (count <= capacity)); + return(count); +} + +- (void)getObjects:(id *)objectsPtr range:(NSRange)range +{ + NSParameterAssert((objects != NULL) && (count <= capacity)); + if((objectsPtr == NULL) && (NSMaxRange(range) > 0UL)) { [NSException raise:NSRangeException format:@"*** -[%@ %@]: pointer to objects array is NULL but range length is %lu", NSStringFromClass([self class]), NSStringFromSelector(_cmd), (unsigned long)NSMaxRange(range)]; } + if((range.location > count) || (NSMaxRange(range) > count)) { [NSException raise:NSRangeException format:@"*** -[%@ %@]: index (%lu) beyond bounds (%lu)", NSStringFromClass([self class]), NSStringFromSelector(_cmd), (unsigned long)NSMaxRange(range), (unsigned long)count]; } +#ifndef __clang_analyzer__ + memcpy(objectsPtr, objects + range.location, range.length * sizeof(id)); +#endif +} + +- (id)objectAtIndex:(NSUInteger)objectIndex +{ + if(objectIndex >= count) { [NSException raise:NSRangeException format:@"*** -[%@ %@]: index (%lu) beyond bounds (%lu)", NSStringFromClass([self class]), NSStringFromSelector(_cmd), (unsigned long)objectIndex, (unsigned long)count]; } + NSParameterAssert((objects != NULL) && (count <= capacity) && (objects[objectIndex] != NULL)); + return(objects[objectIndex]); +} + +- (NSUInteger)countByEnumeratingWithState:(NSFastEnumerationState *)state objects:(id *)stackbuf count:(NSUInteger)len +{ + NSParameterAssert((state != NULL) && (stackbuf != NULL) && (len > 0UL) && (objects != NULL) && (count <= capacity)); + if(JK_EXPECT_F(state->state == 0UL)) { state->mutationsPtr = (unsigned long *)&mutations; state->itemsPtr = stackbuf; } + if(JK_EXPECT_F(state->state >= count)) { return(0UL); } + + NSUInteger enumeratedCount = 0UL; + while(JK_EXPECT_T(enumeratedCount < len) && JK_EXPECT_T(state->state < count)) { NSParameterAssert(objects[state->state] != NULL); stackbuf[enumeratedCount++] = objects[state->state++]; } + + return(enumeratedCount); +} + +- (void)insertObject:(id)anObject atIndex:(NSUInteger)objectIndex +{ + if(mutations == 0UL) { [NSException raise:NSInternalInconsistencyException format:@"*** -[%@ %@]: mutating method sent to immutable object", NSStringFromClass([self class]), NSStringFromSelector(_cmd)]; } + if(anObject == NULL) { [NSException raise:NSInvalidArgumentException format:@"*** -[%@ %@]: attempt to insert nil", NSStringFromClass([self class]), NSStringFromSelector(_cmd)]; } + if(objectIndex > count) { [NSException raise:NSRangeException format:@"*** -[%@ %@]: index (%lu) beyond bounds (%lu)", NSStringFromClass([self class]), NSStringFromSelector(_cmd), (unsigned long)objectIndex, (unsigned long)(count + 1UL)]; } +#ifdef __clang_analyzer__ + [anObject retain]; // Stupid clang analyzer... Issue #19. +#else + anObject = [anObject retain]; +#endif + _JKArrayInsertObjectAtIndex(self, anObject, objectIndex); + mutations = (mutations == NSUIntegerMax) ? 1UL : mutations + 1UL; +} + +- (void)removeObjectAtIndex:(NSUInteger)objectIndex +{ + if(mutations == 0UL) { [NSException raise:NSInternalInconsistencyException format:@"*** -[%@ %@]: mutating method sent to immutable object", NSStringFromClass([self class]), NSStringFromSelector(_cmd)]; } + if(objectIndex >= count) { [NSException raise:NSRangeException format:@"*** -[%@ %@]: index (%lu) beyond bounds (%lu)", NSStringFromClass([self class]), NSStringFromSelector(_cmd), (unsigned long)objectIndex, (unsigned long)count]; } + _JKArrayRemoveObjectAtIndex(self, objectIndex); + mutations = (mutations == NSUIntegerMax) ? 1UL : mutations + 1UL; +} + +- (void)replaceObjectAtIndex:(NSUInteger)objectIndex withObject:(id)anObject +{ + if(mutations == 0UL) { [NSException raise:NSInternalInconsistencyException format:@"*** -[%@ %@]: mutating method sent to immutable object", NSStringFromClass([self class]), NSStringFromSelector(_cmd)]; } + if(anObject == NULL) { [NSException raise:NSInvalidArgumentException format:@"*** -[%@ %@]: attempt to insert nil", NSStringFromClass([self class]), NSStringFromSelector(_cmd)]; } + if(objectIndex >= count) { [NSException raise:NSRangeException format:@"*** -[%@ %@]: index (%lu) beyond bounds (%lu)", NSStringFromClass([self class]), NSStringFromSelector(_cmd), (unsigned long)objectIndex, (unsigned long)count]; } +#ifdef __clang_analyzer__ + [anObject retain]; // Stupid clang analyzer... Issue #19. +#else + anObject = [anObject retain]; +#endif + _JKArrayReplaceObjectAtIndexWithObject(self, objectIndex, anObject); + mutations = (mutations == NSUIntegerMax) ? 1UL : mutations + 1UL; +} + +- (id)copyWithZone:(NSZone *)zone +{ + NSParameterAssert((objects != NULL) && (count <= capacity)); + return((mutations == 0UL) ? [self retain] : [(NSArray *)[NSArray allocWithZone:zone] initWithObjects:objects count:count]); +} + +- (id)mutableCopyWithZone:(NSZone *)zone +{ + NSParameterAssert((objects != NULL) && (count <= capacity)); + return([(NSMutableArray *)[NSMutableArray allocWithZone:zone] initWithObjects:objects count:count]); +} + +@end + + +#pragma mark - +@interface JKDictionaryEnumerator : NSEnumerator { + id collection; + NSUInteger nextObject; +} + +- (id)initWithJKDictionary:(JKDictionary *)initDictionary; +- (NSArray *)allObjects; +- (id)nextObject; + +@end + +@implementation JKDictionaryEnumerator + +- (id)initWithJKDictionary:(JKDictionary *)initDictionary +{ + NSParameterAssert(initDictionary != NULL); + if((self = [super init]) == NULL) { return(NULL); } + if((collection = (id)CFRetain(initDictionary)) == NULL) { [self autorelease]; return(NULL); } + return(self); +} + +- (void)dealloc +{ + if(collection != NULL) { CFRelease(collection); collection = NULL; } + [super dealloc]; +} + +- (NSArray *)allObjects +{ + NSParameterAssert(collection != NULL); + NSUInteger count = [(NSDictionary *)collection count], atObject = 0UL; + id objects[count]; + + while((objects[atObject] = [self nextObject]) != NULL) { NSParameterAssert(atObject < count); atObject++; } + + return([NSArray arrayWithObjects:objects count:atObject]); +} + +- (id)nextObject +{ + NSParameterAssert((collection != NULL) && (_JKDictionaryHashEntry(collection) != NULL)); + JKHashTableEntry *entry = _JKDictionaryHashEntry(collection); + NSUInteger capacity = _JKDictionaryCapacity(collection); + id returnObject = NULL; + + if(entry != NULL) { while((nextObject < capacity) && ((returnObject = entry[nextObject++].key) == NULL)) { /* ... */ } } + + return(returnObject); +} + +@end + +#pragma mark - +@interface JKDictionary : NSMutableDictionary { + NSUInteger count, capacity, mutations; + JKHashTableEntry *entry; +} +@end + +@implementation JKDictionary + ++ (id)allocWithZone:(NSZone *)zone +{ +#pragma unused(zone) + [NSException raise:NSInvalidArgumentException format:@"*** - [%@ %@]: The %@ class is private to JSONKit and should not be used in this fashion.", NSStringFromClass([self class]), NSStringFromSelector(_cmd), NSStringFromClass([self class])]; + return(NULL); +} + +// These values are taken from Core Foundation CF-550 CFBasicHash.m. As a bonus, they align very well with our JKHashTableEntry struct too. +static const NSUInteger jk_dictionaryCapacities[] = { + 0UL, 3UL, 7UL, 13UL, 23UL, 41UL, 71UL, 127UL, 191UL, 251UL, 383UL, 631UL, 1087UL, 1723UL, + 2803UL, 4523UL, 7351UL, 11959UL, 19447UL, 31231UL, 50683UL, 81919UL, 132607UL, + 214519UL, 346607UL, 561109UL, 907759UL, 1468927UL, 2376191UL, 3845119UL, + 6221311UL, 10066421UL, 16287743UL, 26354171UL, 42641881UL, 68996069UL, + 111638519UL, 180634607UL, 292272623UL, 472907251UL +}; + +static NSUInteger _JKDictionaryCapacityForCount(NSUInteger count) { + NSUInteger bottom = 0UL, top = sizeof(jk_dictionaryCapacities) / sizeof(NSUInteger), mid = 0UL, tableSize = (NSUInteger)lround(floor(((double)count) * 1.33)); + while(top > bottom) { mid = (top + bottom) / 2UL; if(jk_dictionaryCapacities[mid] < tableSize) { bottom = mid + 1UL; } else { top = mid; } } + return(jk_dictionaryCapacities[bottom]); +} + +static void _JKDictionaryResizeIfNeccessary(JKDictionary *dictionary) { + NSCParameterAssert((dictionary != NULL) && (dictionary->entry != NULL) && (dictionary->count <= dictionary->capacity)); + + NSUInteger capacityForCount = 0UL; + if(dictionary->capacity < (capacityForCount = _JKDictionaryCapacityForCount(dictionary->count + 1UL))) { // resize + NSUInteger oldCapacity = dictionary->capacity; +#ifndef NS_BLOCK_ASSERTIONS + NSUInteger oldCount = dictionary->count; +#endif + JKHashTableEntry *oldEntry = dictionary->entry; + if(JK_EXPECT_F((dictionary->entry = (JKHashTableEntry *)calloc(1UL, sizeof(JKHashTableEntry) * capacityForCount)) == NULL)) { [NSException raise:NSMallocException format:@"Unable to allocate memory for hash table."]; } + dictionary->capacity = capacityForCount; + dictionary->count = 0UL; + + NSUInteger idx = 0UL; + for(idx = 0UL; idx < oldCapacity; idx++) { if(oldEntry[idx].key != NULL) { _JKDictionaryAddObject(dictionary, oldEntry[idx].keyHash, oldEntry[idx].key, oldEntry[idx].object); oldEntry[idx].keyHash = 0UL; oldEntry[idx].key = NULL; oldEntry[idx].object = NULL; } } + NSCParameterAssert((oldCount == dictionary->count)); + free(oldEntry); oldEntry = NULL; + } +} + +static JKDictionary *_JKDictionaryCreate(id *keys, NSUInteger *keyHashes, id *objects, NSUInteger count, BOOL mutableCollection) { + NSCParameterAssert((keys != NULL) && (keyHashes != NULL) && (objects != NULL) && (_JKDictionaryClass != NULL) && (_JKDictionaryInstanceSize > 0UL)); + JKDictionary *dictionary = NULL; + if(JK_EXPECT_T((dictionary = (JKDictionary *)calloc(1UL, _JKDictionaryInstanceSize)) != NULL)) { // Directly allocate the JKDictionary instance via calloc. + dictionary->isa = _JKDictionaryClass; + if((dictionary = [dictionary init]) == NULL) { return(NULL); } + dictionary->capacity = _JKDictionaryCapacityForCount(count); + dictionary->count = 0UL; + + if(JK_EXPECT_F((dictionary->entry = (JKHashTableEntry *)calloc(1UL, sizeof(JKHashTableEntry) * dictionary->capacity)) == NULL)) { [dictionary autorelease]; return(NULL); } + + NSUInteger idx = 0UL; + for(idx = 0UL; idx < count; idx++) { _JKDictionaryAddObject(dictionary, keyHashes[idx], keys[idx], objects[idx]); } + + dictionary->mutations = (mutableCollection == NO) ? 0UL : 1UL; + } + return(dictionary); +} + +- (void)dealloc +{ + if(JK_EXPECT_T(entry != NULL)) { + NSUInteger atEntry = 0UL; + for(atEntry = 0UL; atEntry < capacity; atEntry++) { + if(JK_EXPECT_T(entry[atEntry].key != NULL)) { CFRelease(entry[atEntry].key); entry[atEntry].key = NULL; } + if(JK_EXPECT_T(entry[atEntry].object != NULL)) { CFRelease(entry[atEntry].object); entry[atEntry].object = NULL; } + } + + free(entry); entry = NULL; + } + + [super dealloc]; +} + +static JKHashTableEntry *_JKDictionaryHashEntry(JKDictionary *dictionary) { + NSCParameterAssert(dictionary != NULL); + return(dictionary->entry); +} + +static NSUInteger _JKDictionaryCapacity(JKDictionary *dictionary) { + NSCParameterAssert(dictionary != NULL); + return(dictionary->capacity); +} + +static void _JKDictionaryRemoveObjectWithEntry(JKDictionary *dictionary, JKHashTableEntry *entry) { + NSCParameterAssert((dictionary != NULL) && (entry != NULL) && (entry->key != NULL) && (entry->object != NULL) && (dictionary->count > 0UL) && (dictionary->count <= dictionary->capacity)); + CFRelease(entry->key); entry->key = NULL; + CFRelease(entry->object); entry->object = NULL; + entry->keyHash = 0UL; + dictionary->count--; + // In order for certain invariants that are used to speed up the search for a particular key, we need to "re-add" all the entries in the hash table following this entry until we hit a NULL entry. + NSUInteger removeIdx = entry - dictionary->entry, idx = 0UL; + NSCParameterAssert((removeIdx < dictionary->capacity)); + for(idx = 0UL; idx < dictionary->capacity; idx++) { + NSUInteger entryIdx = (removeIdx + idx + 1UL) % dictionary->capacity; + JKHashTableEntry *atEntry = &dictionary->entry[entryIdx]; + if(atEntry->key == NULL) { break; } + NSUInteger keyHash = atEntry->keyHash; + id key = atEntry->key, object = atEntry->object; + NSCParameterAssert(object != NULL); + atEntry->keyHash = 0UL; + atEntry->key = NULL; + atEntry->object = NULL; + NSUInteger addKeyEntry = keyHash % dictionary->capacity, addIdx = 0UL; + for(addIdx = 0UL; addIdx < dictionary->capacity; addIdx++) { + JKHashTableEntry *atAddEntry = &dictionary->entry[((addKeyEntry + addIdx) % dictionary->capacity)]; + if(JK_EXPECT_T(atAddEntry->key == NULL)) { NSCParameterAssert((atAddEntry->keyHash == 0UL) && (atAddEntry->object == NULL)); atAddEntry->key = key; atAddEntry->object = object; atAddEntry->keyHash = keyHash; break; } + } + } +} + +static void _JKDictionaryAddObject(JKDictionary *dictionary, NSUInteger keyHash, id key, id object) { + NSCParameterAssert((dictionary != NULL) && (key != NULL) && (object != NULL) && (dictionary->count < dictionary->capacity) && (dictionary->entry != NULL)); + NSUInteger keyEntry = keyHash % dictionary->capacity, idx = 0UL; + for(idx = 0UL; idx < dictionary->capacity; idx++) { + NSUInteger entryIdx = (keyEntry + idx) % dictionary->capacity; + JKHashTableEntry *atEntry = &dictionary->entry[entryIdx]; + if(JK_EXPECT_F(atEntry->keyHash == keyHash) && JK_EXPECT_T(atEntry->key != NULL) && (JK_EXPECT_F(key == atEntry->key) || JK_EXPECT_F(CFEqual(atEntry->key, key)))) { _JKDictionaryRemoveObjectWithEntry(dictionary, atEntry); } + if(JK_EXPECT_T(atEntry->key == NULL)) { NSCParameterAssert((atEntry->keyHash == 0UL) && (atEntry->object == NULL)); atEntry->key = key; atEntry->object = object; atEntry->keyHash = keyHash; dictionary->count++; return; } + } + + // We should never get here. If we do, we -release the key / object because it's our responsibility. + CFRelease(key); + CFRelease(object); +} + +- (NSUInteger)count +{ + return(count); +} + +static JKHashTableEntry *_JKDictionaryHashTableEntryForKey(JKDictionary *dictionary, id aKey) { + NSCParameterAssert((dictionary != NULL) && (dictionary->entry != NULL) && (dictionary->count <= dictionary->capacity)); + if((aKey == NULL) || (dictionary->capacity == 0UL)) { return(NULL); } + NSUInteger keyHash = CFHash(aKey), keyEntry = (keyHash % dictionary->capacity), idx = 0UL; + JKHashTableEntry *atEntry = NULL; + for(idx = 0UL; idx < dictionary->capacity; idx++) { + atEntry = &dictionary->entry[(keyEntry + idx) % dictionary->capacity]; + if(JK_EXPECT_T(atEntry->keyHash == keyHash) && JK_EXPECT_T(atEntry->key != NULL) && ((atEntry->key == aKey) || CFEqual(atEntry->key, aKey))) { NSCParameterAssert(atEntry->object != NULL); return(atEntry); break; } + if(JK_EXPECT_F(atEntry->key == NULL)) { NSCParameterAssert(atEntry->object == NULL); return(NULL); break; } // If the key was in the table, we would have found it by now. + } + return(NULL); +} + +- (id)objectForKey:(id)aKey +{ + NSParameterAssert((entry != NULL) && (count <= capacity)); + JKHashTableEntry *entryForKey = _JKDictionaryHashTableEntryForKey(self, aKey); + return((entryForKey != NULL) ? entryForKey->object : NULL); +} + +- (void)getObjects:(id *)objects andKeys:(id *)keys +{ + NSParameterAssert((entry != NULL) && (count <= capacity)); + NSUInteger atEntry = 0UL; NSUInteger arrayIdx = 0UL; + for(atEntry = 0UL; atEntry < capacity; atEntry++) { + if(JK_EXPECT_T(entry[atEntry].key != NULL)) { + NSCParameterAssert((entry[atEntry].object != NULL) && (arrayIdx < count)); + if(JK_EXPECT_T(keys != NULL)) { keys[arrayIdx] = entry[atEntry].key; } + if(JK_EXPECT_T(objects != NULL)) { objects[arrayIdx] = entry[atEntry].object; } + arrayIdx++; + } + } +} + +- (NSUInteger)countByEnumeratingWithState:(NSFastEnumerationState *)state objects:(id *)stackbuf count:(NSUInteger)len +{ + NSParameterAssert((state != NULL) && (stackbuf != NULL) && (len > 0UL) && (entry != NULL) && (count <= capacity)); + if(JK_EXPECT_F(state->state == 0UL)) { state->mutationsPtr = (unsigned long *)&mutations; state->itemsPtr = stackbuf; } + if(JK_EXPECT_F(state->state >= capacity)) { return(0UL); } + + NSUInteger enumeratedCount = 0UL; + while(JK_EXPECT_T(enumeratedCount < len) && JK_EXPECT_T(state->state < capacity)) { if(JK_EXPECT_T(entry[state->state].key != NULL)) { stackbuf[enumeratedCount++] = entry[state->state].key; } state->state++; } + + return(enumeratedCount); +} + +- (NSEnumerator *)keyEnumerator +{ + return([[[JKDictionaryEnumerator alloc] initWithJKDictionary:self] autorelease]); +} + +- (void)setObject:(id)anObject forKey:(id)aKey +{ + if(mutations == 0UL) { [NSException raise:NSInternalInconsistencyException format:@"*** -[%@ %@]: mutating method sent to immutable object", NSStringFromClass([self class]), NSStringFromSelector(_cmd)]; } + if(aKey == NULL) { [NSException raise:NSInvalidArgumentException format:@"*** -[%@ %@]: attempt to insert nil key", NSStringFromClass([self class]), NSStringFromSelector(_cmd)]; } + if(anObject == NULL) { [NSException raise:NSInvalidArgumentException format:@"*** -[%@ %@]: attempt to insert nil value (key: %@)", NSStringFromClass([self class]), NSStringFromSelector(_cmd), aKey]; } + + _JKDictionaryResizeIfNeccessary(self); +#ifndef __clang_analyzer__ + aKey = [aKey copy]; // Why on earth would clang complain that this -copy "might leak", + anObject = [anObject retain]; // but this -retain doesn't!? +#endif // __clang_analyzer__ + _JKDictionaryAddObject(self, CFHash(aKey), aKey, anObject); + mutations = (mutations == NSUIntegerMax) ? 1UL : mutations + 1UL; +} + +- (void)removeObjectForKey:(id)aKey +{ + if(mutations == 0UL) { [NSException raise:NSInternalInconsistencyException format:@"*** -[%@ %@]: mutating method sent to immutable object", NSStringFromClass([self class]), NSStringFromSelector(_cmd)]; } + if(aKey == NULL) { [NSException raise:NSInvalidArgumentException format:@"*** -[%@ %@]: attempt to remove nil key", NSStringFromClass([self class]), NSStringFromSelector(_cmd)]; } + JKHashTableEntry *entryForKey = _JKDictionaryHashTableEntryForKey(self, aKey); + if(entryForKey != NULL) { + _JKDictionaryRemoveObjectWithEntry(self, entryForKey); + mutations = (mutations == NSUIntegerMax) ? 1UL : mutations + 1UL; + } +} + +- (id)copyWithZone:(NSZone *)zone +{ + NSParameterAssert((entry != NULL) && (count <= capacity)); + return((mutations == 0UL) ? [self retain] : [[NSDictionary allocWithZone:zone] initWithDictionary:self]); +} + +- (id)mutableCopyWithZone:(NSZone *)zone +{ + NSParameterAssert((entry != NULL) && (count <= capacity)); + return([[NSMutableDictionary allocWithZone:zone] initWithDictionary:self]); +} + +@end + + + +#pragma mark - + +JK_STATIC_INLINE size_t jk_min(size_t a, size_t b) { return((a < b) ? a : b); } +JK_STATIC_INLINE size_t jk_max(size_t a, size_t b) { return((a > b) ? a : b); } + +JK_STATIC_INLINE JKHash jk_calculateHash(JKHash currentHash, unsigned char c) { return((((currentHash << 5) + currentHash) + (c - 29)) ^ (currentHash >> 19)); } + + +static void jk_error(JKParseState *parseState, NSString *format, ...) { + NSCParameterAssert((parseState != NULL) && (format != NULL)); + + va_list varArgsList; + va_start(varArgsList, format); + NSString *formatString = [[[NSString alloc] initWithFormat:format arguments:varArgsList] autorelease]; + va_end(varArgsList); + +#if 0 + const unsigned char *lineStart = parseState->stringBuffer.bytes.ptr + parseState->lineStartIndex; + const unsigned char *lineEnd = lineStart; + const unsigned char *atCharacterPtr = NULL; + + for(atCharacterPtr = lineStart; atCharacterPtr < JK_END_STRING_PTR(parseState); atCharacterPtr++) { lineEnd = atCharacterPtr; if(jk_parse_is_newline(parseState, atCharacterPtr)) { break; } } + + NSString *lineString = @"", *carretString = @""; + if(lineStart < JK_END_STRING_PTR(parseState)) { + lineString = [[[NSString alloc] initWithBytes:lineStart length:(lineEnd - lineStart) encoding:NSUTF8StringEncoding] autorelease]; + carretString = [NSString stringWithFormat:@"%*.*s^", (int)(parseState->atIndex - parseState->lineStartIndex), (int)(parseState->atIndex - parseState->lineStartIndex), " "]; + } +#endif + + if(parseState->error == NULL) { + parseState->error = [NSError errorWithDomain:@"JKErrorDomain" code:-1L userInfo: + [NSDictionary dictionaryWithObjectsAndKeys: + formatString, NSLocalizedDescriptionKey, + [NSNumber numberWithUnsignedLong:parseState->atIndex], @"JKAtIndexKey", + [NSNumber numberWithUnsignedLong:parseState->lineNumber], @"JKLineNumberKey", + //lineString, @"JKErrorLine0Key", + //carretString, @"JKErrorLine1Key", + NULL]]; + } +} + +#pragma mark - +#pragma mark Buffer and Object Stack management functions + +static void jk_managedBuffer_release(JKManagedBuffer *managedBuffer) { + if((managedBuffer->flags & JKManagedBufferMustFree)) { + if(managedBuffer->bytes.ptr != NULL) { free(managedBuffer->bytes.ptr); managedBuffer->bytes.ptr = NULL; } + managedBuffer->flags &= ~JKManagedBufferMustFree; + } + + managedBuffer->bytes.ptr = NULL; + managedBuffer->bytes.length = 0UL; + managedBuffer->flags &= ~JKManagedBufferLocationMask; +} + +static void jk_managedBuffer_setToStackBuffer(JKManagedBuffer *managedBuffer, unsigned char *ptr, size_t length) { + jk_managedBuffer_release(managedBuffer); + managedBuffer->bytes.ptr = ptr; + managedBuffer->bytes.length = length; + managedBuffer->flags = (managedBuffer->flags & ~JKManagedBufferLocationMask) | JKManagedBufferOnStack; +} + +static unsigned char *jk_managedBuffer_resize(JKManagedBuffer *managedBuffer, size_t newSize) { + size_t roundedUpNewSize = newSize; + + if(managedBuffer->roundSizeUpToMultipleOf > 0UL) { roundedUpNewSize = newSize + ((managedBuffer->roundSizeUpToMultipleOf - (newSize % managedBuffer->roundSizeUpToMultipleOf)) % managedBuffer->roundSizeUpToMultipleOf); } + + if((roundedUpNewSize != managedBuffer->bytes.length) && (roundedUpNewSize > managedBuffer->bytes.length)) { + if((managedBuffer->flags & JKManagedBufferLocationMask) == JKManagedBufferOnStack) { + NSCParameterAssert((managedBuffer->flags & JKManagedBufferMustFree) == 0); + unsigned char *newBuffer = NULL, *oldBuffer = managedBuffer->bytes.ptr; + + if((newBuffer = (unsigned char *)malloc(roundedUpNewSize)) == NULL) { return(NULL); } + memcpy(newBuffer, oldBuffer, jk_min(managedBuffer->bytes.length, roundedUpNewSize)); + managedBuffer->flags = (managedBuffer->flags & ~JKManagedBufferLocationMask) | (JKManagedBufferOnHeap | JKManagedBufferMustFree); + managedBuffer->bytes.ptr = newBuffer; + managedBuffer->bytes.length = roundedUpNewSize; + } else { + NSCParameterAssert(((managedBuffer->flags & JKManagedBufferMustFree) != 0) && ((managedBuffer->flags & JKManagedBufferLocationMask) == JKManagedBufferOnHeap)); + if((managedBuffer->bytes.ptr = (unsigned char *)reallocf(managedBuffer->bytes.ptr, roundedUpNewSize)) == NULL) { return(NULL); } + managedBuffer->bytes.length = roundedUpNewSize; + } + } + + return(managedBuffer->bytes.ptr); +} + + + +static void jk_objectStack_release(JKObjectStack *objectStack) { + NSCParameterAssert(objectStack != NULL); + + NSCParameterAssert(objectStack->index <= objectStack->count); + size_t atIndex = 0UL; + for(atIndex = 0UL; atIndex < objectStack->index; atIndex++) { + if(objectStack->objects[atIndex] != NULL) { CFRelease(objectStack->objects[atIndex]); objectStack->objects[atIndex] = NULL; } + if(objectStack->keys[atIndex] != NULL) { CFRelease(objectStack->keys[atIndex]); objectStack->keys[atIndex] = NULL; } + } + objectStack->index = 0UL; + + if(objectStack->flags & JKObjectStackMustFree) { + NSCParameterAssert((objectStack->flags & JKObjectStackLocationMask) == JKObjectStackOnHeap); + if(objectStack->objects != NULL) { free(objectStack->objects); objectStack->objects = NULL; } + if(objectStack->keys != NULL) { free(objectStack->keys); objectStack->keys = NULL; } + if(objectStack->cfHashes != NULL) { free(objectStack->cfHashes); objectStack->cfHashes = NULL; } + objectStack->flags &= ~JKObjectStackMustFree; + } + + objectStack->objects = NULL; + objectStack->keys = NULL; + objectStack->cfHashes = NULL; + + objectStack->count = 0UL; + objectStack->flags &= ~JKObjectStackLocationMask; +} + +static void jk_objectStack_setToStackBuffer(JKObjectStack *objectStack, void **objects, void **keys, CFHashCode *cfHashes, size_t count) { + NSCParameterAssert((objectStack != NULL) && (objects != NULL) && (keys != NULL) && (cfHashes != NULL) && (count > 0UL)); + jk_objectStack_release(objectStack); + objectStack->objects = objects; + objectStack->keys = keys; + objectStack->cfHashes = cfHashes; + objectStack->count = count; + objectStack->flags = (objectStack->flags & ~JKObjectStackLocationMask) | JKObjectStackOnStack; +#ifndef NS_BLOCK_ASSERTIONS + size_t idx; + for(idx = 0UL; idx < objectStack->count; idx++) { objectStack->objects[idx] = NULL; objectStack->keys[idx] = NULL; objectStack->cfHashes[idx] = 0UL; } +#endif +} + +static int jk_objectStack_resize(JKObjectStack *objectStack, size_t newCount) { + size_t roundedUpNewCount = newCount; + int returnCode = 0; + + void **newObjects = NULL, **newKeys = NULL; + CFHashCode *newCFHashes = NULL; + + if(objectStack->roundSizeUpToMultipleOf > 0UL) { roundedUpNewCount = newCount + ((objectStack->roundSizeUpToMultipleOf - (newCount % objectStack->roundSizeUpToMultipleOf)) % objectStack->roundSizeUpToMultipleOf); } + + if((roundedUpNewCount != objectStack->count) && (roundedUpNewCount > objectStack->count)) { + if((objectStack->flags & JKObjectStackLocationMask) == JKObjectStackOnStack) { + NSCParameterAssert((objectStack->flags & JKObjectStackMustFree) == 0); + + if((newObjects = (void ** )calloc(1UL, roundedUpNewCount * sizeof(void * ))) == NULL) { returnCode = 1; goto errorExit; } + memcpy(newObjects, objectStack->objects, jk_min(objectStack->count, roundedUpNewCount) * sizeof(void *)); + if((newKeys = (void ** )calloc(1UL, roundedUpNewCount * sizeof(void * ))) == NULL) { returnCode = 1; goto errorExit; } + memcpy(newKeys, objectStack->keys, jk_min(objectStack->count, roundedUpNewCount) * sizeof(void *)); + + if((newCFHashes = (CFHashCode *)calloc(1UL, roundedUpNewCount * sizeof(CFHashCode))) == NULL) { returnCode = 1; goto errorExit; } + memcpy(newCFHashes, objectStack->cfHashes, jk_min(objectStack->count, roundedUpNewCount) * sizeof(CFHashCode)); + + objectStack->flags = (objectStack->flags & ~JKObjectStackLocationMask) | (JKObjectStackOnHeap | JKObjectStackMustFree); + objectStack->objects = newObjects; newObjects = NULL; + objectStack->keys = newKeys; newKeys = NULL; + objectStack->cfHashes = newCFHashes; newCFHashes = NULL; + objectStack->count = roundedUpNewCount; + } else { + NSCParameterAssert(((objectStack->flags & JKObjectStackMustFree) != 0) && ((objectStack->flags & JKObjectStackLocationMask) == JKObjectStackOnHeap)); + if((newObjects = (void ** )realloc(objectStack->objects, roundedUpNewCount * sizeof(void * ))) != NULL) { objectStack->objects = newObjects; newObjects = NULL; } else { returnCode = 1; goto errorExit; } + if((newKeys = (void ** )realloc(objectStack->keys, roundedUpNewCount * sizeof(void * ))) != NULL) { objectStack->keys = newKeys; newKeys = NULL; } else { returnCode = 1; goto errorExit; } + if((newCFHashes = (CFHashCode *)realloc(objectStack->cfHashes, roundedUpNewCount * sizeof(CFHashCode))) != NULL) { objectStack->cfHashes = newCFHashes; newCFHashes = NULL; } else { returnCode = 1; goto errorExit; } + +#ifndef NS_BLOCK_ASSERTIONS + size_t idx; + for(idx = objectStack->count; idx < roundedUpNewCount; idx++) { objectStack->objects[idx] = NULL; objectStack->keys[idx] = NULL; objectStack->cfHashes[idx] = 0UL; } +#endif + objectStack->count = roundedUpNewCount; + } + } + + errorExit: + if(newObjects != NULL) { free(newObjects); newObjects = NULL; } + if(newKeys != NULL) { free(newKeys); newKeys = NULL; } + if(newCFHashes != NULL) { free(newCFHashes); newCFHashes = NULL; } + + return(returnCode); +} + +//////////// +#pragma mark - +#pragma mark Unicode related functions + +JK_STATIC_INLINE ConversionResult isValidCodePoint(UTF32 *u32CodePoint) { + ConversionResult result = conversionOK; + UTF32 ch = *u32CodePoint; + + if(JK_EXPECT_F(ch >= UNI_SUR_HIGH_START) && (JK_EXPECT_T(ch <= UNI_SUR_LOW_END))) { result = sourceIllegal; ch = UNI_REPLACEMENT_CHAR; goto finished; } + if(JK_EXPECT_F(ch >= 0xFDD0U) && (JK_EXPECT_F(ch <= 0xFDEFU) || JK_EXPECT_F((ch & 0xFFFEU) == 0xFFFEU)) && JK_EXPECT_T(ch <= 0x10FFFFU)) { result = sourceIllegal; ch = UNI_REPLACEMENT_CHAR; goto finished; } + if(JK_EXPECT_F(ch == 0U)) { result = sourceIllegal; ch = UNI_REPLACEMENT_CHAR; goto finished; } + + finished: + *u32CodePoint = ch; + return(result); +} + + +static int isLegalUTF8(const UTF8 *source, size_t length) { + const UTF8 *srcptr = source + length; + UTF8 a; + + switch(length) { + default: return(0); // Everything else falls through when "true"... + case 4: if(JK_EXPECT_F(((a = (*--srcptr)) < 0x80) || (a > 0xBF))) { return(0); } + case 3: if(JK_EXPECT_F(((a = (*--srcptr)) < 0x80) || (a > 0xBF))) { return(0); } + case 2: if(JK_EXPECT_F( (a = (*--srcptr)) > 0xBF )) { return(0); } + + switch(*source) { // no fall-through in this inner switch + case 0xE0: if(JK_EXPECT_F(a < 0xA0)) { return(0); } break; + case 0xED: if(JK_EXPECT_F(a > 0x9F)) { return(0); } break; + case 0xF0: if(JK_EXPECT_F(a < 0x90)) { return(0); } break; + case 0xF4: if(JK_EXPECT_F(a > 0x8F)) { return(0); } break; + default: if(JK_EXPECT_F(a < 0x80)) { return(0); } + } + + case 1: if(JK_EXPECT_F((JK_EXPECT_T(*source < 0xC2)) && JK_EXPECT_F(*source >= 0x80))) { return(0); } + } + + if(JK_EXPECT_F(*source > 0xF4)) { return(0); } + + return(1); +} + +static ConversionResult ConvertSingleCodePointInUTF8(const UTF8 *sourceStart, const UTF8 *sourceEnd, UTF8 const **nextUTF8, UTF32 *convertedUTF32) { + ConversionResult result = conversionOK; + const UTF8 *source = sourceStart; + UTF32 ch = 0UL; + +#if !defined(JK_FAST_TRAILING_BYTES) + unsigned short extraBytesToRead = trailingBytesForUTF8[*source]; +#else + unsigned short extraBytesToRead = __builtin_clz(((*source)^0xff) << 25); +#endif + + if(JK_EXPECT_F((source + extraBytesToRead + 1) > sourceEnd) || JK_EXPECT_F(!isLegalUTF8(source, extraBytesToRead + 1))) { + source++; + while((source < sourceEnd) && (((*source) & 0xc0) == 0x80) && ((source - sourceStart) < (extraBytesToRead + 1))) { source++; } + NSCParameterAssert(source <= sourceEnd); + result = ((source < sourceEnd) && (((*source) & 0xc0) != 0x80)) ? sourceIllegal : ((sourceStart + extraBytesToRead + 1) > sourceEnd) ? sourceExhausted : sourceIllegal; + ch = UNI_REPLACEMENT_CHAR; + goto finished; + } + + switch(extraBytesToRead) { // The cases all fall through. + case 5: ch += *source++; ch <<= 6; + case 4: ch += *source++; ch <<= 6; + case 3: ch += *source++; ch <<= 6; + case 2: ch += *source++; ch <<= 6; + case 1: ch += *source++; ch <<= 6; + case 0: ch += *source++; + } + ch -= offsetsFromUTF8[extraBytesToRead]; + + result = isValidCodePoint(&ch); + + finished: + *nextUTF8 = source; + *convertedUTF32 = ch; + + return(result); +} + + +static ConversionResult ConvertUTF32toUTF8 (UTF32 u32CodePoint, UTF8 **targetStart, UTF8 *targetEnd) { + const UTF32 byteMask = 0xBF, byteMark = 0x80; + ConversionResult result = conversionOK; + UTF8 *target = *targetStart; + UTF32 ch = u32CodePoint; + unsigned short bytesToWrite = 0; + + result = isValidCodePoint(&ch); + + // Figure out how many bytes the result will require. Turn any illegally large UTF32 things (> Plane 17) into replacement chars. + if(ch < (UTF32)0x80) { bytesToWrite = 1; } + else if(ch < (UTF32)0x800) { bytesToWrite = 2; } + else if(ch < (UTF32)0x10000) { bytesToWrite = 3; } + else if(ch <= UNI_MAX_LEGAL_UTF32) { bytesToWrite = 4; } + else { bytesToWrite = 3; ch = UNI_REPLACEMENT_CHAR; result = sourceIllegal; } + + target += bytesToWrite; + if (target > targetEnd) { target -= bytesToWrite; result = targetExhausted; goto finished; } + + switch (bytesToWrite) { // note: everything falls through. + case 4: *--target = (UTF8)((ch | byteMark) & byteMask); ch >>= 6; + case 3: *--target = (UTF8)((ch | byteMark) & byteMask); ch >>= 6; + case 2: *--target = (UTF8)((ch | byteMark) & byteMask); ch >>= 6; + case 1: *--target = (UTF8) (ch | firstByteMark[bytesToWrite]); + } + + target += bytesToWrite; + + finished: + *targetStart = target; + return(result); +} + +JK_STATIC_INLINE int jk_string_add_unicodeCodePoint(JKParseState *parseState, uint32_t unicodeCodePoint, size_t *tokenBufferIdx, JKHash *stringHash) { + UTF8 *u8s = &parseState->token.tokenBuffer.bytes.ptr[*tokenBufferIdx]; + ConversionResult result; + + if((result = ConvertUTF32toUTF8(unicodeCodePoint, &u8s, (parseState->token.tokenBuffer.bytes.ptr + parseState->token.tokenBuffer.bytes.length))) != conversionOK) { if(result == targetExhausted) { return(1); } } + size_t utf8len = u8s - &parseState->token.tokenBuffer.bytes.ptr[*tokenBufferIdx], nextIdx = (*tokenBufferIdx) + utf8len; + + while(*tokenBufferIdx < nextIdx) { *stringHash = jk_calculateHash(*stringHash, parseState->token.tokenBuffer.bytes.ptr[(*tokenBufferIdx)++]); } + + return(0); +} + +//////////// +#pragma mark - +#pragma mark Decoding / parsing / deserializing functions + +static int jk_parse_string(JKParseState *parseState) { + NSCParameterAssert((parseState != NULL) && (JK_AT_STRING_PTR(parseState) <= JK_END_STRING_PTR(parseState))); + const unsigned char *stringStart = JK_AT_STRING_PTR(parseState) + 1; + const unsigned char *endOfBuffer = JK_END_STRING_PTR(parseState); + const unsigned char *atStringCharacter = stringStart; + unsigned char *tokenBuffer = parseState->token.tokenBuffer.bytes.ptr; + size_t tokenStartIndex = parseState->atIndex; + size_t tokenBufferIdx = 0UL; + + int onlySimpleString = 1, stringState = JSONStringStateStart; + uint16_t escapedUnicode1 = 0U, escapedUnicode2 = 0U; + uint32_t escapedUnicodeCodePoint = 0U; + JKHash stringHash = JK_HASH_INIT; + + while(1) { + unsigned long currentChar; + + if(JK_EXPECT_F(atStringCharacter == endOfBuffer)) { /* XXX Add error message */ stringState = JSONStringStateError; goto finishedParsing; } + + if(JK_EXPECT_F((currentChar = *atStringCharacter++) >= 0x80UL)) { + const unsigned char *nextValidCharacter = NULL; + UTF32 u32ch = 0U; + ConversionResult result; + + if(JK_EXPECT_F((result = ConvertSingleCodePointInUTF8(atStringCharacter - 1, endOfBuffer, (UTF8 const **)&nextValidCharacter, &u32ch)) != conversionOK)) { goto switchToSlowPath; } + stringHash = jk_calculateHash(stringHash, currentChar); + while(atStringCharacter < nextValidCharacter) { NSCParameterAssert(JK_AT_STRING_PTR(parseState) <= JK_END_STRING_PTR(parseState)); stringHash = jk_calculateHash(stringHash, *atStringCharacter++); } + continue; + } else { + if(JK_EXPECT_F(currentChar == (unsigned long)'"')) { stringState = JSONStringStateFinished; goto finishedParsing; } + + if(JK_EXPECT_F(currentChar == (unsigned long)'\\')) { + switchToSlowPath: + onlySimpleString = 0; + stringState = JSONStringStateParsing; + tokenBufferIdx = (atStringCharacter - stringStart) - 1L; + if(JK_EXPECT_F((tokenBufferIdx + 16UL) > parseState->token.tokenBuffer.bytes.length)) { if((tokenBuffer = jk_managedBuffer_resize(&parseState->token.tokenBuffer, tokenBufferIdx + 1024UL)) == NULL) { jk_error(parseState, @"Internal error: Unable to resize temporary buffer. %@ line #%ld", [NSString stringWithUTF8String:__FILE__], (long)__LINE__); stringState = JSONStringStateError; goto finishedParsing; } } + memcpy(tokenBuffer, stringStart, tokenBufferIdx); + goto slowMatch; + } + + if(JK_EXPECT_F(currentChar < 0x20UL)) { jk_error(parseState, @"Invalid character < 0x20 found in string: 0x%2.2x.", currentChar); stringState = JSONStringStateError; goto finishedParsing; } + + stringHash = jk_calculateHash(stringHash, currentChar); + } + } + + slowMatch: + + for(atStringCharacter = (stringStart + ((atStringCharacter - stringStart) - 1L)); (atStringCharacter < endOfBuffer) && (tokenBufferIdx < parseState->token.tokenBuffer.bytes.length); atStringCharacter++) { + if((tokenBufferIdx + 16UL) > parseState->token.tokenBuffer.bytes.length) { if((tokenBuffer = jk_managedBuffer_resize(&parseState->token.tokenBuffer, tokenBufferIdx + 1024UL)) == NULL) { jk_error(parseState, @"Internal error: Unable to resize temporary buffer. %@ line #%ld", [NSString stringWithUTF8String:__FILE__], (long)__LINE__); stringState = JSONStringStateError; goto finishedParsing; } } + + NSCParameterAssert(tokenBufferIdx < parseState->token.tokenBuffer.bytes.length); + + unsigned long currentChar = (*atStringCharacter), escapedChar; + + if(JK_EXPECT_T(stringState == JSONStringStateParsing)) { + if(JK_EXPECT_T(currentChar >= 0x20UL)) { + if(JK_EXPECT_T(currentChar < (unsigned long)0x80)) { // Not a UTF8 sequence + if(JK_EXPECT_F(currentChar == (unsigned long)'"')) { stringState = JSONStringStateFinished; atStringCharacter++; goto finishedParsing; } + if(JK_EXPECT_F(currentChar == (unsigned long)'\\')) { stringState = JSONStringStateEscape; continue; } + stringHash = jk_calculateHash(stringHash, currentChar); + tokenBuffer[tokenBufferIdx++] = currentChar; + continue; + } else { // UTF8 sequence + const unsigned char *nextValidCharacter = NULL; + UTF32 u32ch = 0U; + ConversionResult result; + + if(JK_EXPECT_F((result = ConvertSingleCodePointInUTF8(atStringCharacter, endOfBuffer, (UTF8 const **)&nextValidCharacter, &u32ch)) != conversionOK)) { + if((result == sourceIllegal) && ((parseState->parseOptionFlags & JKParseOptionLooseUnicode) == 0)) { jk_error(parseState, @"Illegal UTF8 sequence found in \"\" string."); stringState = JSONStringStateError; goto finishedParsing; } + if(result == sourceExhausted) { jk_error(parseState, @"End of buffer reached while parsing UTF8 in \"\" string."); stringState = JSONStringStateError; goto finishedParsing; } + if(jk_string_add_unicodeCodePoint(parseState, u32ch, &tokenBufferIdx, &stringHash)) { jk_error(parseState, @"Internal error: Unable to add UTF8 sequence to internal string buffer. %@ line #%ld", [NSString stringWithUTF8String:__FILE__], (long)__LINE__); stringState = JSONStringStateError; goto finishedParsing; } + atStringCharacter = nextValidCharacter - 1; + continue; + } else { + while(atStringCharacter < nextValidCharacter) { tokenBuffer[tokenBufferIdx++] = *atStringCharacter; stringHash = jk_calculateHash(stringHash, *atStringCharacter++); } + atStringCharacter--; + continue; + } + } + } else { // currentChar < 0x20 + jk_error(parseState, @"Invalid character < 0x20 found in string: 0x%2.2x.", currentChar); stringState = JSONStringStateError; goto finishedParsing; + } + + } else { // stringState != JSONStringStateParsing + int isSurrogate = 1; + + switch(stringState) { + case JSONStringStateEscape: + switch(currentChar) { + case 'u': escapedUnicode1 = 0U; escapedUnicode2 = 0U; escapedUnicodeCodePoint = 0U; stringState = JSONStringStateEscapedUnicode1; break; + + case 'b': escapedChar = '\b'; goto parsedEscapedChar; + case 'f': escapedChar = '\f'; goto parsedEscapedChar; + case 'n': escapedChar = '\n'; goto parsedEscapedChar; + case 'r': escapedChar = '\r'; goto parsedEscapedChar; + case 't': escapedChar = '\t'; goto parsedEscapedChar; + case '\\': escapedChar = '\\'; goto parsedEscapedChar; + case '/': escapedChar = '/'; goto parsedEscapedChar; + case '"': escapedChar = '"'; goto parsedEscapedChar; + + parsedEscapedChar: + stringState = JSONStringStateParsing; + stringHash = jk_calculateHash(stringHash, escapedChar); + tokenBuffer[tokenBufferIdx++] = escapedChar; + break; + + default: jk_error(parseState, @"Invalid escape sequence found in \"\" string."); stringState = JSONStringStateError; goto finishedParsing; break; + } + break; + + case JSONStringStateEscapedUnicode1: + case JSONStringStateEscapedUnicode2: + case JSONStringStateEscapedUnicode3: + case JSONStringStateEscapedUnicode4: isSurrogate = 0; + case JSONStringStateEscapedUnicodeSurrogate1: + case JSONStringStateEscapedUnicodeSurrogate2: + case JSONStringStateEscapedUnicodeSurrogate3: + case JSONStringStateEscapedUnicodeSurrogate4: + { + uint16_t hexValue = 0U; + + switch(currentChar) { + case '0' ... '9': hexValue = currentChar - '0'; goto parsedHex; + case 'a' ... 'f': hexValue = (currentChar - 'a') + 10U; goto parsedHex; + case 'A' ... 'F': hexValue = (currentChar - 'A') + 10U; goto parsedHex; + + parsedHex: + if(!isSurrogate) { escapedUnicode1 = (escapedUnicode1 << 4) | hexValue; } else { escapedUnicode2 = (escapedUnicode2 << 4) | hexValue; } + + if(stringState == JSONStringStateEscapedUnicode4) { + if(((escapedUnicode1 >= 0xD800U) && (escapedUnicode1 < 0xE000U))) { + if((escapedUnicode1 >= 0xD800U) && (escapedUnicode1 < 0xDC00U)) { stringState = JSONStringStateEscapedNeedEscapeForSurrogate; } + else if((escapedUnicode1 >= 0xDC00U) && (escapedUnicode1 < 0xE000U)) { + if((parseState->parseOptionFlags & JKParseOptionLooseUnicode)) { escapedUnicodeCodePoint = UNI_REPLACEMENT_CHAR; } + else { jk_error(parseState, @"Illegal \\u Unicode escape sequence."); stringState = JSONStringStateError; goto finishedParsing; } + } + } + else { escapedUnicodeCodePoint = escapedUnicode1; } + } + + if(stringState == JSONStringStateEscapedUnicodeSurrogate4) { + if((escapedUnicode2 < 0xdc00) || (escapedUnicode2 > 0xdfff)) { + if((parseState->parseOptionFlags & JKParseOptionLooseUnicode)) { escapedUnicodeCodePoint = UNI_REPLACEMENT_CHAR; } + else { jk_error(parseState, @"Illegal \\u Unicode escape sequence."); stringState = JSONStringStateError; goto finishedParsing; } + } + else { escapedUnicodeCodePoint = ((escapedUnicode1 - 0xd800) * 0x400) + (escapedUnicode2 - 0xdc00) + 0x10000; } + } + + if((stringState == JSONStringStateEscapedUnicode4) || (stringState == JSONStringStateEscapedUnicodeSurrogate4)) { + if((isValidCodePoint(&escapedUnicodeCodePoint) == sourceIllegal) && ((parseState->parseOptionFlags & JKParseOptionLooseUnicode) == 0)) { jk_error(parseState, @"Illegal \\u Unicode escape sequence."); stringState = JSONStringStateError; goto finishedParsing; } + stringState = JSONStringStateParsing; + if(jk_string_add_unicodeCodePoint(parseState, escapedUnicodeCodePoint, &tokenBufferIdx, &stringHash)) { jk_error(parseState, @"Internal error: Unable to add UTF8 sequence to internal string buffer. %@ line #%ld", [NSString stringWithUTF8String:__FILE__], (long)__LINE__); stringState = JSONStringStateError; goto finishedParsing; } + } + else if((stringState >= JSONStringStateEscapedUnicode1) && (stringState <= JSONStringStateEscapedUnicodeSurrogate4)) { stringState++; } + break; + + default: jk_error(parseState, @"Unexpected character found in \\u Unicode escape sequence. Found '%c', expected [0-9a-fA-F].", currentChar); stringState = JSONStringStateError; goto finishedParsing; break; + } + } + break; + + case JSONStringStateEscapedNeedEscapeForSurrogate: + if(currentChar == '\\') { stringState = JSONStringStateEscapedNeedEscapedUForSurrogate; } + else { + if((parseState->parseOptionFlags & JKParseOptionLooseUnicode) == 0) { jk_error(parseState, @"Required a second \\u Unicode escape sequence following a surrogate \\u Unicode escape sequence."); stringState = JSONStringStateError; goto finishedParsing; } + else { stringState = JSONStringStateParsing; atStringCharacter--; if(jk_string_add_unicodeCodePoint(parseState, UNI_REPLACEMENT_CHAR, &tokenBufferIdx, &stringHash)) { jk_error(parseState, @"Internal error: Unable to add UTF8 sequence to internal string buffer. %@ line #%ld", [NSString stringWithUTF8String:__FILE__], (long)__LINE__); stringState = JSONStringStateError; goto finishedParsing; } } + } + break; + + case JSONStringStateEscapedNeedEscapedUForSurrogate: + if(currentChar == 'u') { stringState = JSONStringStateEscapedUnicodeSurrogate1; } + else { + if((parseState->parseOptionFlags & JKParseOptionLooseUnicode) == 0) { jk_error(parseState, @"Required a second \\u Unicode escape sequence following a surrogate \\u Unicode escape sequence."); stringState = JSONStringStateError; goto finishedParsing; } + else { stringState = JSONStringStateParsing; atStringCharacter -= 2; if(jk_string_add_unicodeCodePoint(parseState, UNI_REPLACEMENT_CHAR, &tokenBufferIdx, &stringHash)) { jk_error(parseState, @"Internal error: Unable to add UTF8 sequence to internal string buffer. %@ line #%ld", [NSString stringWithUTF8String:__FILE__], (long)__LINE__); stringState = JSONStringStateError; goto finishedParsing; } } + } + break; + + default: jk_error(parseState, @"Internal error: Unknown stringState. %@ line #%ld", [NSString stringWithUTF8String:__FILE__], (long)__LINE__); stringState = JSONStringStateError; goto finishedParsing; break; + } + } + } + +finishedParsing: + + if(JK_EXPECT_T(stringState == JSONStringStateFinished)) { + NSCParameterAssert((parseState->stringBuffer.bytes.ptr + tokenStartIndex) < atStringCharacter); + + parseState->token.tokenPtrRange.ptr = parseState->stringBuffer.bytes.ptr + tokenStartIndex; + parseState->token.tokenPtrRange.length = (atStringCharacter - parseState->token.tokenPtrRange.ptr); + + if(JK_EXPECT_T(onlySimpleString)) { + NSCParameterAssert(((parseState->token.tokenPtrRange.ptr + 1) < endOfBuffer) && (parseState->token.tokenPtrRange.length >= 2UL) && (((parseState->token.tokenPtrRange.ptr + 1) + (parseState->token.tokenPtrRange.length - 2)) < endOfBuffer)); + parseState->token.value.ptrRange.ptr = parseState->token.tokenPtrRange.ptr + 1; + parseState->token.value.ptrRange.length = parseState->token.tokenPtrRange.length - 2UL; + } else { + parseState->token.value.ptrRange.ptr = parseState->token.tokenBuffer.bytes.ptr; + parseState->token.value.ptrRange.length = tokenBufferIdx; + } + + parseState->token.value.hash = stringHash; + parseState->token.value.type = JKValueTypeString; + parseState->atIndex = (atStringCharacter - parseState->stringBuffer.bytes.ptr); + } + + if(JK_EXPECT_F(stringState != JSONStringStateFinished)) { jk_error(parseState, @"Invalid string."); } + return(JK_EXPECT_T(stringState == JSONStringStateFinished) ? 0 : 1); +} + +static int jk_parse_number(JKParseState *parseState) { + NSCParameterAssert((parseState != NULL) && (JK_AT_STRING_PTR(parseState) <= JK_END_STRING_PTR(parseState))); + const unsigned char *numberStart = JK_AT_STRING_PTR(parseState); + const unsigned char *endOfBuffer = JK_END_STRING_PTR(parseState); + const unsigned char *atNumberCharacter = NULL; + int numberState = JSONNumberStateWholeNumberStart, isFloatingPoint = 0, isNegative = 0, backup = 0; + size_t startingIndex = parseState->atIndex; + + for(atNumberCharacter = numberStart; (JK_EXPECT_T(atNumberCharacter < endOfBuffer)) && (JK_EXPECT_T(!(JK_EXPECT_F(numberState == JSONNumberStateFinished) || JK_EXPECT_F(numberState == JSONNumberStateError)))); atNumberCharacter++) { + unsigned long currentChar = (unsigned long)(*atNumberCharacter), lowerCaseCC = currentChar | 0x20UL; + + switch(numberState) { + case JSONNumberStateWholeNumberStart: if (currentChar == '-') { numberState = JSONNumberStateWholeNumberMinus; isNegative = 1; break; } + case JSONNumberStateWholeNumberMinus: if (currentChar == '0') { numberState = JSONNumberStateWholeNumberZero; break; } + else if( (currentChar >= '1') && (currentChar <= '9')) { numberState = JSONNumberStateWholeNumber; break; } + else { /* XXX Add error message */ numberState = JSONNumberStateError; break; } + case JSONNumberStateExponentStart: if( (currentChar == '+') || (currentChar == '-')) { numberState = JSONNumberStateExponentPlusMinus; break; } + case JSONNumberStateFractionalNumberStart: + case JSONNumberStateExponentPlusMinus:if(!((currentChar >= '0') && (currentChar <= '9'))) { /* XXX Add error message */ numberState = JSONNumberStateError; break; } + else { if(numberState == JSONNumberStateFractionalNumberStart) { numberState = JSONNumberStateFractionalNumber; } + else { numberState = JSONNumberStateExponent; } break; } + case JSONNumberStateWholeNumberZero: + case JSONNumberStateWholeNumber: if (currentChar == '.') { numberState = JSONNumberStateFractionalNumberStart; isFloatingPoint = 1; break; } + case JSONNumberStateFractionalNumber: if (lowerCaseCC == 'e') { numberState = JSONNumberStateExponentStart; isFloatingPoint = 1; break; } + case JSONNumberStateExponent: if(!((currentChar >= '0') && (currentChar <= '9')) || (numberState == JSONNumberStateWholeNumberZero)) { numberState = JSONNumberStateFinished; backup = 1; break; } + break; + default: /* XXX Add error message */ numberState = JSONNumberStateError; break; + } + } + + parseState->token.tokenPtrRange.ptr = parseState->stringBuffer.bytes.ptr + startingIndex; + parseState->token.tokenPtrRange.length = (atNumberCharacter - parseState->token.tokenPtrRange.ptr) - backup; + parseState->atIndex = (parseState->token.tokenPtrRange.ptr + parseState->token.tokenPtrRange.length) - parseState->stringBuffer.bytes.ptr; + + if(JK_EXPECT_T(numberState == JSONNumberStateFinished)) { + unsigned char numberTempBuf[parseState->token.tokenPtrRange.length + 4UL]; + unsigned char *endOfNumber = NULL; + + memcpy(numberTempBuf, parseState->token.tokenPtrRange.ptr, parseState->token.tokenPtrRange.length); + numberTempBuf[parseState->token.tokenPtrRange.length] = 0; + + errno = 0; + + // Treat "-0" as a floating point number, which is capable of representing negative zeros. + if(JK_EXPECT_F(parseState->token.tokenPtrRange.length == 2UL) && JK_EXPECT_F(numberTempBuf[1] == '0') && JK_EXPECT_F(isNegative)) { isFloatingPoint = 1; } + + if(isFloatingPoint) { + parseState->token.value.number.doubleValue = strtod((const char *)numberTempBuf, (char **)&endOfNumber); // strtod is documented to return U+2261 (identical to) 0.0 on an underflow error (along with setting errno to ERANGE). + parseState->token.value.type = JKValueTypeDouble; + parseState->token.value.ptrRange.ptr = (const unsigned char *)&parseState->token.value.number.doubleValue; + parseState->token.value.ptrRange.length = sizeof(double); + parseState->token.value.hash = (JK_HASH_INIT + parseState->token.value.type); + } else { + if(isNegative) { + parseState->token.value.number.longLongValue = strtoll((const char *)numberTempBuf, (char **)&endOfNumber, 10); + parseState->token.value.type = JKValueTypeLongLong; + parseState->token.value.ptrRange.ptr = (const unsigned char *)&parseState->token.value.number.longLongValue; + parseState->token.value.ptrRange.length = sizeof(long long); + parseState->token.value.hash = (JK_HASH_INIT + parseState->token.value.type) + (JKHash)parseState->token.value.number.longLongValue; + } else { + parseState->token.value.number.unsignedLongLongValue = strtoull((const char *)numberTempBuf, (char **)&endOfNumber, 10); + parseState->token.value.type = JKValueTypeUnsignedLongLong; + parseState->token.value.ptrRange.ptr = (const unsigned char *)&parseState->token.value.number.unsignedLongLongValue; + parseState->token.value.ptrRange.length = sizeof(unsigned long long); + parseState->token.value.hash = (JK_HASH_INIT + parseState->token.value.type) + (JKHash)parseState->token.value.number.unsignedLongLongValue; + } + } + + if(JK_EXPECT_F(errno != 0)) { + numberState = JSONNumberStateError; + if(errno == ERANGE) { + switch(parseState->token.value.type) { + case JKValueTypeDouble: jk_error(parseState, @"The value '%s' could not be represented as a 'double' due to %s.", numberTempBuf, (parseState->token.value.number.doubleValue == 0.0) ? "underflow" : "overflow"); break; // see above for == 0.0. + case JKValueTypeLongLong: jk_error(parseState, @"The value '%s' exceeded the minimum value that could be represented: %lld.", numberTempBuf, parseState->token.value.number.longLongValue); break; + case JKValueTypeUnsignedLongLong: jk_error(parseState, @"The value '%s' exceeded the maximum value that could be represented: %llu.", numberTempBuf, parseState->token.value.number.unsignedLongLongValue); break; + default: jk_error(parseState, @"Internal error: Unknown token value type. %@ line #%ld", [NSString stringWithUTF8String:__FILE__], (long)__LINE__); break; + } + } + } + if(JK_EXPECT_F(endOfNumber != &numberTempBuf[parseState->token.tokenPtrRange.length]) && JK_EXPECT_F(numberState != JSONNumberStateError)) { numberState = JSONNumberStateError; jk_error(parseState, @"The conversion function did not consume all of the number tokens characters."); } + + size_t hashIndex = 0UL; + for(hashIndex = 0UL; hashIndex < parseState->token.value.ptrRange.length; hashIndex++) { parseState->token.value.hash = jk_calculateHash(parseState->token.value.hash, parseState->token.value.ptrRange.ptr[hashIndex]); } + } + + if(JK_EXPECT_F(numberState != JSONNumberStateFinished)) { jk_error(parseState, @"Invalid number."); } + return(JK_EXPECT_T((numberState == JSONNumberStateFinished)) ? 0 : 1); +} + +JK_STATIC_INLINE void jk_set_parsed_token(JKParseState *parseState, const unsigned char *ptr, size_t length, JKTokenType type, size_t advanceBy) { + parseState->token.tokenPtrRange.ptr = ptr; + parseState->token.tokenPtrRange.length = length; + parseState->token.type = type; + parseState->atIndex += advanceBy; +} + +static size_t jk_parse_is_newline(JKParseState *parseState, const unsigned char *atCharacterPtr) { + NSCParameterAssert((parseState != NULL) && (atCharacterPtr != NULL) && (atCharacterPtr >= parseState->stringBuffer.bytes.ptr) && (atCharacterPtr < JK_END_STRING_PTR(parseState))); + const unsigned char *endOfStringPtr = JK_END_STRING_PTR(parseState); + + if(JK_EXPECT_F(atCharacterPtr >= endOfStringPtr)) { return(0UL); } + + if(JK_EXPECT_F((*(atCharacterPtr + 0)) == '\n')) { return(1UL); } + if(JK_EXPECT_F((*(atCharacterPtr + 0)) == '\r')) { if((JK_EXPECT_T((atCharacterPtr + 1) < endOfStringPtr)) && ((*(atCharacterPtr + 1)) == '\n')) { return(2UL); } return(1UL); } + if(parseState->parseOptionFlags & JKParseOptionUnicodeNewlines) { + if((JK_EXPECT_F((*(atCharacterPtr + 0)) == 0xc2)) && (((atCharacterPtr + 1) < endOfStringPtr) && ((*(atCharacterPtr + 1)) == 0x85))) { return(2UL); } + if((JK_EXPECT_F((*(atCharacterPtr + 0)) == 0xe2)) && (((atCharacterPtr + 2) < endOfStringPtr) && ((*(atCharacterPtr + 1)) == 0x80) && (((*(atCharacterPtr + 2)) == 0xa8) || ((*(atCharacterPtr + 2)) == 0xa9)))) { return(3UL); } + } + + return(0UL); +} + +JK_STATIC_INLINE int jk_parse_skip_newline(JKParseState *parseState) { + size_t newlineAdvanceAtIndex = 0UL; + if(JK_EXPECT_F((newlineAdvanceAtIndex = jk_parse_is_newline(parseState, JK_AT_STRING_PTR(parseState))) > 0UL)) { parseState->lineNumber++; parseState->atIndex += (newlineAdvanceAtIndex - 1UL); parseState->lineStartIndex = parseState->atIndex + 1UL; return(1); } + return(0); +} + +JK_STATIC_INLINE void jk_parse_skip_whitespace(JKParseState *parseState) { +#ifndef __clang_analyzer__ + NSCParameterAssert((parseState != NULL) && (JK_AT_STRING_PTR(parseState) <= JK_END_STRING_PTR(parseState))); + const unsigned char *atCharacterPtr = NULL; + const unsigned char *endOfStringPtr = JK_END_STRING_PTR(parseState); + + for(atCharacterPtr = JK_AT_STRING_PTR(parseState); (JK_EXPECT_T((atCharacterPtr = JK_AT_STRING_PTR(parseState)) < endOfStringPtr)); parseState->atIndex++) { + if(((*(atCharacterPtr + 0)) == ' ') || ((*(atCharacterPtr + 0)) == '\t')) { continue; } + if(jk_parse_skip_newline(parseState)) { continue; } + if(parseState->parseOptionFlags & JKParseOptionComments) { + if((JK_EXPECT_F((*(atCharacterPtr + 0)) == '/')) && (JK_EXPECT_T((atCharacterPtr + 1) < endOfStringPtr))) { + if((*(atCharacterPtr + 1)) == '/') { + parseState->atIndex++; + for(atCharacterPtr = JK_AT_STRING_PTR(parseState); (JK_EXPECT_T((atCharacterPtr = JK_AT_STRING_PTR(parseState)) < endOfStringPtr)); parseState->atIndex++) { if(jk_parse_skip_newline(parseState)) { break; } } + continue; + } + if((*(atCharacterPtr + 1)) == '*') { + parseState->atIndex++; + for(atCharacterPtr = JK_AT_STRING_PTR(parseState); (JK_EXPECT_T((atCharacterPtr = JK_AT_STRING_PTR(parseState)) < endOfStringPtr)); parseState->atIndex++) { + if(jk_parse_skip_newline(parseState)) { continue; } + if(((*(atCharacterPtr + 0)) == '*') && (((atCharacterPtr + 1) < endOfStringPtr) && ((*(atCharacterPtr + 1)) == '/'))) { parseState->atIndex++; break; } + } + continue; + } + } + } + break; + } +#endif +} + +static int jk_parse_next_token(JKParseState *parseState) { + NSCParameterAssert((parseState != NULL) && (JK_AT_STRING_PTR(parseState) <= JK_END_STRING_PTR(parseState))); + const unsigned char *atCharacterPtr = NULL; + const unsigned char *endOfStringPtr = JK_END_STRING_PTR(parseState); + unsigned char currentCharacter = 0U; + int stopParsing = 0; + + parseState->prev_atIndex = parseState->atIndex; + parseState->prev_lineNumber = parseState->lineNumber; + parseState->prev_lineStartIndex = parseState->lineStartIndex; + + jk_parse_skip_whitespace(parseState); + + if((JK_AT_STRING_PTR(parseState) == endOfStringPtr)) { stopParsing = 1; } + + if((JK_EXPECT_T(stopParsing == 0)) && (JK_EXPECT_T((atCharacterPtr = JK_AT_STRING_PTR(parseState)) < endOfStringPtr))) { + currentCharacter = *atCharacterPtr; + + if(JK_EXPECT_T(currentCharacter == '"')) { if(JK_EXPECT_T((stopParsing = jk_parse_string(parseState)) == 0)) { jk_set_parsed_token(parseState, parseState->token.tokenPtrRange.ptr, parseState->token.tokenPtrRange.length, JKTokenTypeString, 0UL); } } + else if(JK_EXPECT_T(currentCharacter == ':')) { jk_set_parsed_token(parseState, atCharacterPtr, 1UL, JKTokenTypeSeparator, 1UL); } + else if(JK_EXPECT_T(currentCharacter == ',')) { jk_set_parsed_token(parseState, atCharacterPtr, 1UL, JKTokenTypeComma, 1UL); } + else if((JK_EXPECT_T(currentCharacter >= '0') && JK_EXPECT_T(currentCharacter <= '9')) || JK_EXPECT_T(currentCharacter == '-')) { if(JK_EXPECT_T((stopParsing = jk_parse_number(parseState)) == 0)) { jk_set_parsed_token(parseState, parseState->token.tokenPtrRange.ptr, parseState->token.tokenPtrRange.length, JKTokenTypeNumber, 0UL); } } + else if(JK_EXPECT_T(currentCharacter == '{')) { jk_set_parsed_token(parseState, atCharacterPtr, 1UL, JKTokenTypeObjectBegin, 1UL); } + else if(JK_EXPECT_T(currentCharacter == '}')) { jk_set_parsed_token(parseState, atCharacterPtr, 1UL, JKTokenTypeObjectEnd, 1UL); } + else if(JK_EXPECT_T(currentCharacter == '[')) { jk_set_parsed_token(parseState, atCharacterPtr, 1UL, JKTokenTypeArrayBegin, 1UL); } + else if(JK_EXPECT_T(currentCharacter == ']')) { jk_set_parsed_token(parseState, atCharacterPtr, 1UL, JKTokenTypeArrayEnd, 1UL); } + + else if(JK_EXPECT_T(currentCharacter == 't')) { if(!((JK_EXPECT_T((atCharacterPtr + 4UL) < endOfStringPtr)) && (JK_EXPECT_T(atCharacterPtr[1] == 'r')) && (JK_EXPECT_T(atCharacterPtr[2] == 'u')) && (JK_EXPECT_T(atCharacterPtr[3] == 'e')))) { stopParsing = 1; /* XXX Add error message */ } else { jk_set_parsed_token(parseState, atCharacterPtr, 4UL, JKTokenTypeTrue, 4UL); } } + else if(JK_EXPECT_T(currentCharacter == 'f')) { if(!((JK_EXPECT_T((atCharacterPtr + 5UL) < endOfStringPtr)) && (JK_EXPECT_T(atCharacterPtr[1] == 'a')) && (JK_EXPECT_T(atCharacterPtr[2] == 'l')) && (JK_EXPECT_T(atCharacterPtr[3] == 's')) && (JK_EXPECT_T(atCharacterPtr[4] == 'e')))) { stopParsing = 1; /* XXX Add error message */ } else { jk_set_parsed_token(parseState, atCharacterPtr, 5UL, JKTokenTypeFalse, 5UL); } } + else if(JK_EXPECT_T(currentCharacter == 'n')) { if(!((JK_EXPECT_T((atCharacterPtr + 4UL) < endOfStringPtr)) && (JK_EXPECT_T(atCharacterPtr[1] == 'u')) && (JK_EXPECT_T(atCharacterPtr[2] == 'l')) && (JK_EXPECT_T(atCharacterPtr[3] == 'l')))) { stopParsing = 1; /* XXX Add error message */ } else { jk_set_parsed_token(parseState, atCharacterPtr, 4UL, JKTokenTypeNull, 4UL); } } + else { stopParsing = 1; /* XXX Add error message */ } + } + + if(JK_EXPECT_F(stopParsing)) { jk_error(parseState, @"Unexpected token, wanted '{', '}', '[', ']', ',', ':', 'true', 'false', 'null', '\"STRING\"', 'NUMBER'."); } + return(stopParsing); +} + +static void jk_error_parse_accept_or3(JKParseState *parseState, int state, NSString *or1String, NSString *or2String, NSString *or3String) { + NSString *acceptStrings[16]; + int acceptIdx = 0; + if(state & JKParseAcceptValue) { acceptStrings[acceptIdx++] = or1String; } + if(state & JKParseAcceptComma) { acceptStrings[acceptIdx++] = or2String; } + if(state & JKParseAcceptEnd) { acceptStrings[acceptIdx++] = or3String; } + if(acceptIdx == 1) { jk_error(parseState, @"Expected %@, not '%*.*s'", acceptStrings[0], (int)parseState->token.tokenPtrRange.length, (int)parseState->token.tokenPtrRange.length, parseState->token.tokenPtrRange.ptr); } + else if(acceptIdx == 2) { jk_error(parseState, @"Expected %@ or %@, not '%*.*s'", acceptStrings[0], acceptStrings[1], (int)parseState->token.tokenPtrRange.length, (int)parseState->token.tokenPtrRange.length, parseState->token.tokenPtrRange.ptr); } + else if(acceptIdx == 3) { jk_error(parseState, @"Expected %@, %@, or %@, not '%*.*s", acceptStrings[0], acceptStrings[1], acceptStrings[2], (int)parseState->token.tokenPtrRange.length, (int)parseState->token.tokenPtrRange.length, parseState->token.tokenPtrRange.ptr); } +} + +static void *jk_parse_array(JKParseState *parseState) { + size_t startingObjectIndex = parseState->objectStack.index; + int arrayState = JKParseAcceptValueOrEnd, stopParsing = 0; + void *parsedArray = NULL; + + while(JK_EXPECT_T((JK_EXPECT_T(stopParsing == 0)) && (JK_EXPECT_T(parseState->atIndex < parseState->stringBuffer.bytes.length)))) { + if(JK_EXPECT_F(parseState->objectStack.index > (parseState->objectStack.count - 4UL))) { if(jk_objectStack_resize(&parseState->objectStack, parseState->objectStack.count + 128UL)) { jk_error(parseState, @"Internal error: [array] objectsIndex > %zu, resize failed? %@ line %#ld", (parseState->objectStack.count - 4UL), [NSString stringWithUTF8String:__FILE__], (long)__LINE__); break; } } + + if(JK_EXPECT_T((stopParsing = jk_parse_next_token(parseState)) == 0)) { + void *object = NULL; +#ifndef NS_BLOCK_ASSERTIONS + parseState->objectStack.objects[parseState->objectStack.index] = NULL; + parseState->objectStack.keys [parseState->objectStack.index] = NULL; +#endif + switch(parseState->token.type) { + case JKTokenTypeNumber: + case JKTokenTypeString: + case JKTokenTypeTrue: + case JKTokenTypeFalse: + case JKTokenTypeNull: + case JKTokenTypeArrayBegin: + case JKTokenTypeObjectBegin: + if(JK_EXPECT_F((arrayState & JKParseAcceptValue) == 0)) { parseState->errorIsPrev = 1; jk_error(parseState, @"Unexpected value."); stopParsing = 1; break; } + if(JK_EXPECT_F((object = jk_object_for_token(parseState)) == NULL)) { jk_error(parseState, @"Internal error: Object == NULL"); stopParsing = 1; break; } else { parseState->objectStack.objects[parseState->objectStack.index++] = object; arrayState = JKParseAcceptCommaOrEnd; } + break; + case JKTokenTypeArrayEnd: if(JK_EXPECT_T(arrayState & JKParseAcceptEnd)) { NSCParameterAssert(parseState->objectStack.index >= startingObjectIndex); parsedArray = (void *)_JKArrayCreate((id *)&parseState->objectStack.objects[startingObjectIndex], (parseState->objectStack.index - startingObjectIndex), parseState->mutableCollections); } else { parseState->errorIsPrev = 1; jk_error(parseState, @"Unexpected ']'."); } stopParsing = 1; break; + case JKTokenTypeComma: if(JK_EXPECT_T(arrayState & JKParseAcceptComma)) { arrayState = JKParseAcceptValue; } else { parseState->errorIsPrev = 1; jk_error(parseState, @"Unexpected ','."); stopParsing = 1; } break; + default: parseState->errorIsPrev = 1; jk_error_parse_accept_or3(parseState, arrayState, @"a value", @"a comma", @"a ']'"); stopParsing = 1; break; + } + } + } + + if(JK_EXPECT_F(parsedArray == NULL)) { size_t idx = 0UL; for(idx = startingObjectIndex; idx < parseState->objectStack.index; idx++) { if(parseState->objectStack.objects[idx] != NULL) { CFRelease(parseState->objectStack.objects[idx]); parseState->objectStack.objects[idx] = NULL; } } } +#if !defined(NS_BLOCK_ASSERTIONS) + else { size_t idx = 0UL; for(idx = startingObjectIndex; idx < parseState->objectStack.index; idx++) { parseState->objectStack.objects[idx] = NULL; parseState->objectStack.keys[idx] = NULL; } } +#endif + + parseState->objectStack.index = startingObjectIndex; + return(parsedArray); +} + +static void *jk_create_dictionary(JKParseState *parseState, size_t startingObjectIndex) { + void *parsedDictionary = NULL; + + parseState->objectStack.index--; + + parsedDictionary = _JKDictionaryCreate((id *)&parseState->objectStack.keys[startingObjectIndex], (NSUInteger *)&parseState->objectStack.cfHashes[startingObjectIndex], (id *)&parseState->objectStack.objects[startingObjectIndex], (parseState->objectStack.index - startingObjectIndex), parseState->mutableCollections); + + return(parsedDictionary); +} + +static void *jk_parse_dictionary(JKParseState *parseState) { + size_t startingObjectIndex = parseState->objectStack.index; + int dictState = JKParseAcceptValueOrEnd, stopParsing = 0; + void *parsedDictionary = NULL; + + while(JK_EXPECT_T((JK_EXPECT_T(stopParsing == 0)) && (JK_EXPECT_T(parseState->atIndex < parseState->stringBuffer.bytes.length)))) { + if(JK_EXPECT_F(parseState->objectStack.index > (parseState->objectStack.count - 4UL))) { if(jk_objectStack_resize(&parseState->objectStack, parseState->objectStack.count + 128UL)) { jk_error(parseState, @"Internal error: [dictionary] objectsIndex > %zu, resize failed? %@ line #%ld", (parseState->objectStack.count - 4UL), [NSString stringWithUTF8String:__FILE__], (long)__LINE__); break; } } + + size_t objectStackIndex = parseState->objectStack.index++; + parseState->objectStack.keys[objectStackIndex] = NULL; + parseState->objectStack.objects[objectStackIndex] = NULL; + void *key = NULL, *object = NULL; + + if(JK_EXPECT_T((JK_EXPECT_T(stopParsing == 0)) && (JK_EXPECT_T((stopParsing = jk_parse_next_token(parseState)) == 0)))) { + switch(parseState->token.type) { + case JKTokenTypeString: + if(JK_EXPECT_F((dictState & JKParseAcceptValue) == 0)) { parseState->errorIsPrev = 1; jk_error(parseState, @"Unexpected string."); stopParsing = 1; break; } + if(JK_EXPECT_F((key = jk_object_for_token(parseState)) == NULL)) { jk_error(parseState, @"Internal error: Key == NULL."); stopParsing = 1; break; } + else { + parseState->objectStack.keys[objectStackIndex] = key; + if(JK_EXPECT_T(parseState->token.value.cacheItem != NULL)) { if(JK_EXPECT_F(parseState->token.value.cacheItem->cfHash == 0UL)) { parseState->token.value.cacheItem->cfHash = CFHash(key); } parseState->objectStack.cfHashes[objectStackIndex] = parseState->token.value.cacheItem->cfHash; } + else { parseState->objectStack.cfHashes[objectStackIndex] = CFHash(key); } + } + break; + + case JKTokenTypeObjectEnd: if((JK_EXPECT_T(dictState & JKParseAcceptEnd))) { NSCParameterAssert(parseState->objectStack.index >= startingObjectIndex); parsedDictionary = jk_create_dictionary(parseState, startingObjectIndex); } else { parseState->errorIsPrev = 1; jk_error(parseState, @"Unexpected '}'."); } stopParsing = 1; break; + case JKTokenTypeComma: if((JK_EXPECT_T(dictState & JKParseAcceptComma))) { dictState = JKParseAcceptValue; parseState->objectStack.index--; continue; } else { parseState->errorIsPrev = 1; jk_error(parseState, @"Unexpected ','."); stopParsing = 1; } break; + + default: parseState->errorIsPrev = 1; jk_error_parse_accept_or3(parseState, dictState, @"a \"STRING\"", @"a comma", @"a '}'"); stopParsing = 1; break; + } + } + + if(JK_EXPECT_T(stopParsing == 0)) { + if(JK_EXPECT_T((stopParsing = jk_parse_next_token(parseState)) == 0)) { if(JK_EXPECT_F(parseState->token.type != JKTokenTypeSeparator)) { parseState->errorIsPrev = 1; jk_error(parseState, @"Expected ':'."); stopParsing = 1; } } + } + + if((JK_EXPECT_T(stopParsing == 0)) && (JK_EXPECT_T((stopParsing = jk_parse_next_token(parseState)) == 0))) { + switch(parseState->token.type) { + case JKTokenTypeNumber: + case JKTokenTypeString: + case JKTokenTypeTrue: + case JKTokenTypeFalse: + case JKTokenTypeNull: + case JKTokenTypeArrayBegin: + case JKTokenTypeObjectBegin: + if(JK_EXPECT_F((dictState & JKParseAcceptValue) == 0)) { parseState->errorIsPrev = 1; jk_error(parseState, @"Unexpected value."); stopParsing = 1; break; } + if(JK_EXPECT_F((object = jk_object_for_token(parseState)) == NULL)) { jk_error(parseState, @"Internal error: Object == NULL."); stopParsing = 1; break; } else { parseState->objectStack.objects[objectStackIndex] = object; dictState = JKParseAcceptCommaOrEnd; } + break; + default: parseState->errorIsPrev = 1; jk_error_parse_accept_or3(parseState, dictState, @"a value", @"a comma", @"a '}'"); stopParsing = 1; break; + } + } + } + + if(JK_EXPECT_F(parsedDictionary == NULL)) { size_t idx = 0UL; for(idx = startingObjectIndex; idx < parseState->objectStack.index; idx++) { if(parseState->objectStack.keys[idx] != NULL) { CFRelease(parseState->objectStack.keys[idx]); parseState->objectStack.keys[idx] = NULL; } if(parseState->objectStack.objects[idx] != NULL) { CFRelease(parseState->objectStack.objects[idx]); parseState->objectStack.objects[idx] = NULL; } } } +#if !defined(NS_BLOCK_ASSERTIONS) + else { size_t idx = 0UL; for(idx = startingObjectIndex; idx < parseState->objectStack.index; idx++) { parseState->objectStack.objects[idx] = NULL; parseState->objectStack.keys[idx] = NULL; } } +#endif + + parseState->objectStack.index = startingObjectIndex; + return(parsedDictionary); +} + +static id json_parse_it(JKParseState *parseState) { + id parsedObject = NULL; + int stopParsing = 0; + + while((JK_EXPECT_T(stopParsing == 0)) && (JK_EXPECT_T(parseState->atIndex < parseState->stringBuffer.bytes.length))) { + if((JK_EXPECT_T(stopParsing == 0)) && (JK_EXPECT_T((stopParsing = jk_parse_next_token(parseState)) == 0))) { + switch(parseState->token.type) { + case JKTokenTypeArrayBegin: + case JKTokenTypeObjectBegin: parsedObject = [(id)jk_object_for_token(parseState) autorelease]; stopParsing = 1; break; + default: jk_error(parseState, @"Expected either '[' or '{'."); stopParsing = 1; break; + } + } + } + + NSCParameterAssert((parseState->objectStack.index == 0) && (JK_AT_STRING_PTR(parseState) <= JK_END_STRING_PTR(parseState))); + + if((parsedObject == NULL) && (JK_AT_STRING_PTR(parseState) == JK_END_STRING_PTR(parseState))) { jk_error(parseState, @"Reached the end of the buffer."); } + if(parsedObject == NULL) { jk_error(parseState, @"Unable to parse JSON."); } + + if((parsedObject != NULL) && (JK_AT_STRING_PTR(parseState) < JK_END_STRING_PTR(parseState))) { + jk_parse_skip_whitespace(parseState); + if((parsedObject != NULL) && ((parseState->parseOptionFlags & JKParseOptionPermitTextAfterValidJSON) == 0) && (JK_AT_STRING_PTR(parseState) < JK_END_STRING_PTR(parseState))) { + jk_error(parseState, @"A valid JSON object was parsed but there were additional non-white-space characters remaining."); + parsedObject = NULL; + } + } + + return(parsedObject); +} + +//////////// +#pragma mark - +#pragma mark Object cache + +// This uses a Galois Linear Feedback Shift Register (LFSR) PRNG to pick which item in the cache to age. It has a period of (2^32)-1. +// NOTE: A LFSR *MUST* be initialized to a non-zero value and must always have a non-zero value. The LFSR is initalized to 1 in -initWithParseOptions: +JK_STATIC_INLINE void jk_cache_age(JKParseState *parseState) { + NSCParameterAssert((parseState != NULL) && (parseState->cache.prng_lfsr != 0U)); + parseState->cache.prng_lfsr = (parseState->cache.prng_lfsr >> 1) ^ ((0U - (parseState->cache.prng_lfsr & 1U)) & 0x80200003U); + parseState->cache.age[parseState->cache.prng_lfsr & (parseState->cache.count - 1UL)] >>= 1; +} + +// The object cache is nothing more than a hash table with open addressing collision resolution that is bounded by JK_CACHE_PROBES attempts. +// +// The hash table is a linear C array of JKTokenCacheItem. The terms "item" and "bucket" are synonymous with the index in to the cache array, i.e. cache.items[bucket]. +// +// Items in the cache have an age associated with them. An items age is incremented using saturating unsigned arithmetic and decremeted using unsigned right shifts. +// Thus, an items age is managed using an AIMD policy- additive increase, multiplicative decrease. All age calculations and manipulations are branchless. +// The primitive C type MUST be unsigned. It is currently a "char", which allows (at a minimum and in practice) 8 bits. +// +// A "useable bucket" is a bucket that is not in use (never populated), or has an age == 0. +// +// When an item is found in the cache, it's age is incremented. +// If a useable bucket hasn't been found, the current item (bucket) is aged along with two random items. +// +// If a value is not found in the cache, and no useable bucket has been found, that value is not added to the cache. + +static void *jk_cachedObjects(JKParseState *parseState) { + unsigned long bucket = parseState->token.value.hash & (parseState->cache.count - 1UL), setBucket = 0UL, useableBucket = 0UL, x = 0UL; + void *parsedAtom = NULL; + + if(JK_EXPECT_F(parseState->token.value.ptrRange.length == 0UL) && JK_EXPECT_T(parseState->token.value.type == JKValueTypeString)) { return(@""); } + + for(x = 0UL; x < JK_CACHE_PROBES; x++) { + if(JK_EXPECT_F(parseState->cache.items[bucket].object == NULL)) { setBucket = 1UL; useableBucket = bucket; break; } + + if((JK_EXPECT_T(parseState->cache.items[bucket].hash == parseState->token.value.hash)) && (JK_EXPECT_T(parseState->cache.items[bucket].size == parseState->token.value.ptrRange.length)) && (JK_EXPECT_T(parseState->cache.items[bucket].type == parseState->token.value.type)) && (JK_EXPECT_T(parseState->cache.items[bucket].bytes != NULL)) && (JK_EXPECT_T(memcmp(parseState->cache.items[bucket].bytes, parseState->token.value.ptrRange.ptr, parseState->token.value.ptrRange.length) == 0U))) { + parseState->cache.age[bucket] = (((uint32_t)parseState->cache.age[bucket]) + 1U) - (((((uint32_t)parseState->cache.age[bucket]) + 1U) >> 31) ^ 1U); + parseState->token.value.cacheItem = &parseState->cache.items[bucket]; + NSCParameterAssert(parseState->cache.items[bucket].object != NULL); + return((void *)CFRetain(parseState->cache.items[bucket].object)); + } else { + if(JK_EXPECT_F(setBucket == 0UL) && JK_EXPECT_F(parseState->cache.age[bucket] == 0U)) { setBucket = 1UL; useableBucket = bucket; } + if(JK_EXPECT_F(setBucket == 0UL)) { parseState->cache.age[bucket] >>= 1; jk_cache_age(parseState); jk_cache_age(parseState); } + // This is the open addressing function. The values length and type are used as a form of "double hashing" to distribute values with the same effective value hash across different object cache buckets. + // The values type is a prime number that is relatively coprime to the other primes in the set of value types and the number of hash table buckets. + bucket = (parseState->token.value.hash + (parseState->token.value.ptrRange.length * (x + 1UL)) + (parseState->token.value.type * (x + 1UL)) + (3UL * (x + 1UL))) & (parseState->cache.count - 1UL); + } + } + + switch(parseState->token.value.type) { + case JKValueTypeString: parsedAtom = (void *)CFStringCreateWithBytes(NULL, parseState->token.value.ptrRange.ptr, parseState->token.value.ptrRange.length, kCFStringEncodingUTF8, 0); break; + case JKValueTypeLongLong: parsedAtom = (void *)CFNumberCreate(NULL, kCFNumberLongLongType, &parseState->token.value.number.longLongValue); break; + case JKValueTypeUnsignedLongLong: + if(parseState->token.value.number.unsignedLongLongValue <= LLONG_MAX) { parsedAtom = (void *)CFNumberCreate(NULL, kCFNumberLongLongType, &parseState->token.value.number.unsignedLongLongValue); } + else { parsedAtom = (void *)parseState->objCImpCache.NSNumberInitWithUnsignedLongLong(parseState->objCImpCache.NSNumberAlloc(parseState->objCImpCache.NSNumberClass, @selector(alloc)), @selector(initWithUnsignedLongLong:), parseState->token.value.number.unsignedLongLongValue); } + break; + case JKValueTypeDouble: parsedAtom = (void *)CFNumberCreate(NULL, kCFNumberDoubleType, &parseState->token.value.number.doubleValue); break; + default: jk_error(parseState, @"Internal error: Unknown token value type. %@ line #%ld", [NSString stringWithUTF8String:__FILE__], (long)__LINE__); break; + } + + if(JK_EXPECT_T(setBucket) && (JK_EXPECT_T(parsedAtom != NULL))) { + bucket = useableBucket; + if(JK_EXPECT_T((parseState->cache.items[bucket].object != NULL))) { CFRelease(parseState->cache.items[bucket].object); parseState->cache.items[bucket].object = NULL; } + + if(JK_EXPECT_T((parseState->cache.items[bucket].bytes = (unsigned char *)reallocf(parseState->cache.items[bucket].bytes, parseState->token.value.ptrRange.length)) != NULL)) { + memcpy(parseState->cache.items[bucket].bytes, parseState->token.value.ptrRange.ptr, parseState->token.value.ptrRange.length); + parseState->cache.items[bucket].object = (void *)CFRetain(parsedAtom); + parseState->cache.items[bucket].hash = parseState->token.value.hash; + parseState->cache.items[bucket].cfHash = 0UL; + parseState->cache.items[bucket].size = parseState->token.value.ptrRange.length; + parseState->cache.items[bucket].type = parseState->token.value.type; + parseState->token.value.cacheItem = &parseState->cache.items[bucket]; + parseState->cache.age[bucket] = JK_INIT_CACHE_AGE; + } else { // The realloc failed, so clear the appropriate fields. + parseState->cache.items[bucket].hash = 0UL; + parseState->cache.items[bucket].cfHash = 0UL; + parseState->cache.items[bucket].size = 0UL; + parseState->cache.items[bucket].type = 0UL; + } + } + + return(parsedAtom); +} + + +static void *jk_object_for_token(JKParseState *parseState) { + void *parsedAtom = NULL; + + parseState->token.value.cacheItem = NULL; + switch(parseState->token.type) { + case JKTokenTypeString: parsedAtom = jk_cachedObjects(parseState); break; + case JKTokenTypeNumber: parsedAtom = jk_cachedObjects(parseState); break; + case JKTokenTypeObjectBegin: parsedAtom = jk_parse_dictionary(parseState); break; + case JKTokenTypeArrayBegin: parsedAtom = jk_parse_array(parseState); break; + case JKTokenTypeTrue: parsedAtom = (void *)kCFBooleanTrue; break; + case JKTokenTypeFalse: parsedAtom = (void *)kCFBooleanFalse; break; + case JKTokenTypeNull: parsedAtom = (void *)kCFNull; break; + default: jk_error(parseState, @"Internal error: Unknown token type. %@ line #%ld", [NSString stringWithUTF8String:__FILE__], (long)__LINE__); break; + } + + return(parsedAtom); +} + +#pragma mark - +@implementation JSONDecoder + ++ (id)decoder +{ + return([self decoderWithParseOptions:JKParseOptionStrict]); +} + ++ (id)decoderWithParseOptions:(JKParseOptionFlags)parseOptionFlags +{ + return([[[self alloc] initWithParseOptions:parseOptionFlags] autorelease]); +} + +- (id)init +{ + return([self initWithParseOptions:JKParseOptionStrict]); +} + +- (id)initWithParseOptions:(JKParseOptionFlags)parseOptionFlags +{ + if((self = [super init]) == NULL) { return(NULL); } + + if(parseOptionFlags & ~JKParseOptionValidFlags) { [self autorelease]; [NSException raise:NSInvalidArgumentException format:@"Invalid parse options."]; } + + if((parseState = (JKParseState *)calloc(1UL, sizeof(JKParseState))) == NULL) { goto errorExit; } + + parseState->parseOptionFlags = parseOptionFlags; + + parseState->token.tokenBuffer.roundSizeUpToMultipleOf = 4096UL; + parseState->objectStack.roundSizeUpToMultipleOf = 2048UL; + + parseState->objCImpCache.NSNumberClass = _jk_NSNumberClass; + parseState->objCImpCache.NSNumberAlloc = _jk_NSNumberAllocImp; + parseState->objCImpCache.NSNumberInitWithUnsignedLongLong = _jk_NSNumberInitWithUnsignedLongLongImp; + + parseState->cache.prng_lfsr = 1U; + parseState->cache.count = JK_CACHE_SLOTS; + if((parseState->cache.items = (JKTokenCacheItem *)calloc(1UL, sizeof(JKTokenCacheItem) * parseState->cache.count)) == NULL) { goto errorExit; } + + return(self); + + errorExit: + if(self) { [self autorelease]; self = NULL; } + return(NULL); +} + +// This is here primarily to support the NSString and NSData convenience functions so the autoreleased JSONDecoder can release most of its resources before the pool pops. +static void _JSONDecoderCleanup(JSONDecoder *decoder) { + if((decoder != NULL) && (decoder->parseState != NULL)) { + jk_managedBuffer_release(&decoder->parseState->token.tokenBuffer); + jk_objectStack_release(&decoder->parseState->objectStack); + + [decoder clearCache]; + if(decoder->parseState->cache.items != NULL) { free(decoder->parseState->cache.items); decoder->parseState->cache.items = NULL; } + + free(decoder->parseState); decoder->parseState = NULL; + } +} + +- (void)dealloc +{ + _JSONDecoderCleanup(self); + [super dealloc]; +} + +- (void)clearCache +{ + if(JK_EXPECT_T(parseState != NULL)) { + if(JK_EXPECT_T(parseState->cache.items != NULL)) { + size_t idx = 0UL; + for(idx = 0UL; idx < parseState->cache.count; idx++) { + if(JK_EXPECT_T(parseState->cache.items[idx].object != NULL)) { CFRelease(parseState->cache.items[idx].object); parseState->cache.items[idx].object = NULL; } + if(JK_EXPECT_T(parseState->cache.items[idx].bytes != NULL)) { free(parseState->cache.items[idx].bytes); parseState->cache.items[idx].bytes = NULL; } + memset(&parseState->cache.items[idx], 0, sizeof(JKTokenCacheItem)); + parseState->cache.age[idx] = 0U; + } + } + } +} + +// This needs to be completely rewritten. +static id _JKParseUTF8String(JKParseState *parseState, BOOL mutableCollections, const unsigned char *string, size_t length, NSError **error) { + NSCParameterAssert((parseState != NULL) && (string != NULL) && (parseState->cache.prng_lfsr != 0U)); + parseState->stringBuffer.bytes.ptr = string; + parseState->stringBuffer.bytes.length = length; + parseState->atIndex = 0UL; + parseState->lineNumber = 1UL; + parseState->lineStartIndex = 0UL; + parseState->prev_atIndex = 0UL; + parseState->prev_lineNumber = 1UL; + parseState->prev_lineStartIndex = 0UL; + parseState->error = NULL; + parseState->errorIsPrev = 0; + parseState->mutableCollections = (mutableCollections == NO) ? NO : YES; + + unsigned char stackTokenBuffer[JK_TOKENBUFFER_SIZE] JK_ALIGNED(64); + jk_managedBuffer_setToStackBuffer(&parseState->token.tokenBuffer, stackTokenBuffer, sizeof(stackTokenBuffer)); + + void *stackObjects [JK_STACK_OBJS] JK_ALIGNED(64); + void *stackKeys [JK_STACK_OBJS] JK_ALIGNED(64); + CFHashCode stackCFHashes[JK_STACK_OBJS] JK_ALIGNED(64); + jk_objectStack_setToStackBuffer(&parseState->objectStack, stackObjects, stackKeys, stackCFHashes, JK_STACK_OBJS); + + id parsedJSON = json_parse_it(parseState); + + if((error != NULL) && (parseState->error != NULL)) { *error = parseState->error; } + + jk_managedBuffer_release(&parseState->token.tokenBuffer); + jk_objectStack_release(&parseState->objectStack); + + parseState->stringBuffer.bytes.ptr = NULL; + parseState->stringBuffer.bytes.length = 0UL; + parseState->atIndex = 0UL; + parseState->lineNumber = 1UL; + parseState->lineStartIndex = 0UL; + parseState->prev_atIndex = 0UL; + parseState->prev_lineNumber = 1UL; + parseState->prev_lineStartIndex = 0UL; + parseState->error = NULL; + parseState->errorIsPrev = 0; + parseState->mutableCollections = NO; + + return(parsedJSON); +} + +//////////// +#pragma mark Deprecated as of v1.4 +//////////// + +// Deprecated in JSONKit v1.4. Use objectWithUTF8String:length: instead. +- (id)parseUTF8String:(const unsigned char *)string length:(size_t)length +{ + return([self objectWithUTF8String:string length:length error:NULL]); +} + +// Deprecated in JSONKit v1.4. Use objectWithUTF8String:length:error: instead. +- (id)parseUTF8String:(const unsigned char *)string length:(size_t)length error:(NSError **)error +{ + return([self objectWithUTF8String:string length:length error:error]); +} + +// Deprecated in JSONKit v1.4. Use objectWithData: instead. +- (id)parseJSONData:(NSData *)jsonData +{ + return([self objectWithData:jsonData error:NULL]); +} + +// Deprecated in JSONKit v1.4. Use objectWithData:error: instead. +- (id)parseJSONData:(NSData *)jsonData error:(NSError **)error +{ + return([self objectWithData:jsonData error:error]); +} + +//////////// +#pragma mark Methods that return immutable collection objects +//////////// + +- (id)objectWithUTF8String:(const unsigned char *)string length:(NSUInteger)length +{ + return([self objectWithUTF8String:string length:length error:NULL]); +} + +- (id)objectWithUTF8String:(const unsigned char *)string length:(NSUInteger)length error:(NSError **)error +{ + if(parseState == NULL) { [NSException raise:NSInternalInconsistencyException format:@"parseState is NULL."]; } + if(string == NULL) { [NSException raise:NSInvalidArgumentException format:@"The string argument is NULL."]; } + + return(_JKParseUTF8String(parseState, NO, string, (size_t)length, error)); +} + +- (id)objectWithData:(NSData *)jsonData +{ + return([self objectWithData:jsonData error:NULL]); +} + +- (id)objectWithData:(NSData *)jsonData error:(NSError **)error +{ + if(jsonData == NULL) { [NSException raise:NSInvalidArgumentException format:@"The jsonData argument is NULL."]; } + return([self objectWithUTF8String:(const unsigned char *)[jsonData bytes] length:[jsonData length] error:error]); +} + +//////////// +#pragma mark Methods that return mutable collection objects +//////////// + +- (id)mutableObjectWithUTF8String:(const unsigned char *)string length:(NSUInteger)length +{ + return([self mutableObjectWithUTF8String:string length:length error:NULL]); +} + +- (id)mutableObjectWithUTF8String:(const unsigned char *)string length:(NSUInteger)length error:(NSError **)error +{ + if(parseState == NULL) { [NSException raise:NSInternalInconsistencyException format:@"parseState is NULL."]; } + if(string == NULL) { [NSException raise:NSInvalidArgumentException format:@"The string argument is NULL."]; } + + return(_JKParseUTF8String(parseState, YES, string, (size_t)length, error)); +} + +- (id)mutableObjectWithData:(NSData *)jsonData +{ + return([self mutableObjectWithData:jsonData error:NULL]); +} + +- (id)mutableObjectWithData:(NSData *)jsonData error:(NSError **)error +{ + if(jsonData == NULL) { [NSException raise:NSInvalidArgumentException format:@"The jsonData argument is NULL."]; } + return([self mutableObjectWithUTF8String:(const unsigned char *)[jsonData bytes] length:[jsonData length] error:error]); +} + +@end + +/* + The NSString and NSData convenience methods need a little bit of explanation. + + Prior to JSONKit v1.4, the NSString -objectFromJSONStringWithParseOptions:error: method looked like + + const unsigned char *utf8String = (const unsigned char *)[self UTF8String]; + if(utf8String == NULL) { return(NULL); } + size_t utf8Length = strlen((const char *)utf8String); + return([[JSONDecoder decoderWithParseOptions:parseOptionFlags] parseUTF8String:utf8String length:utf8Length error:error]); + + This changed with v1.4 to a more complicated method. The reason for this is to keep the amount of memory that is + allocated, but not yet freed because it is dependent on the autorelease pool to pop before it can be reclaimed. + + In the simpler v1.3 code, this included all the bytes used to store the -UTF8String along with the JSONDecoder and all its overhead. + + Now we use an autoreleased CFMutableData that is sized to the UTF8 length of the NSString in question and is used to hold the UTF8 + conversion of said string. + + Once parsed, the CFMutableData has its length set to 0. This should, hopefully, allow the CFMutableData to realloc and/or free + the buffer. + + Another change made was a slight modification to JSONDecoder so that most of the cleanup work that was done in -dealloc was moved + to a private, internal function. These convenience routines keep the pointer to the autoreleased JSONDecoder and calls + _JSONDecoderCleanup() to early release the decoders resources since we already know that particular decoder is not going to be used + again. + + If everything goes smoothly, this will most likely result in perhaps a few hundred bytes that are allocated but waiting for the + autorelease pool to pop. This is compared to the thousands and easily hundreds of thousands of bytes that would have been in + autorelease limbo. It's more complicated for us, but a win for the user. + + Autorelease objects are used in case things don't go smoothly. By having them autoreleased, we effectively guarantee that our + requirement to -release the object is always met, not matter what goes wrong. The downside is having a an object or two in + autorelease limbo, but we've done our best to minimize that impact, so it all balances out. + */ + +@implementation NSString (JSONKitDeserializing) + +static id _NSStringObjectFromJSONString(NSString *jsonString, JKParseOptionFlags parseOptionFlags, NSError **error, BOOL mutableCollection) { + id returnObject = NULL; + CFMutableDataRef mutableData = NULL; + JSONDecoder *decoder = NULL; + + CFIndex stringLength = CFStringGetLength((CFStringRef)jsonString); + NSUInteger stringUTF8Length = [jsonString lengthOfBytesUsingEncoding:NSUTF8StringEncoding]; + + if((mutableData = (CFMutableDataRef)[(id)CFDataCreateMutable(NULL, (NSUInteger)stringUTF8Length) autorelease]) != NULL) { + UInt8 *utf8String = CFDataGetMutableBytePtr(mutableData); + CFIndex usedBytes = 0L, convertedCount = 0L; + + convertedCount = CFStringGetBytes((CFStringRef)jsonString, CFRangeMake(0L, stringLength), kCFStringEncodingUTF8, '?', NO, utf8String, (NSUInteger)stringUTF8Length, &usedBytes); + if(JK_EXPECT_F(convertedCount != stringLength) || JK_EXPECT_F(usedBytes < 0L)) { if(error != NULL) { *error = [NSError errorWithDomain:@"JKErrorDomain" code:-1L userInfo:[NSDictionary dictionaryWithObject:@"An error occurred converting the contents of a NSString to UTF8." forKey:NSLocalizedDescriptionKey]]; } goto exitNow; } + + if(mutableCollection == NO) { returnObject = [(decoder = [JSONDecoder decoderWithParseOptions:parseOptionFlags]) objectWithUTF8String:(const unsigned char *)utf8String length:(size_t)usedBytes error:error]; } + else { returnObject = [(decoder = [JSONDecoder decoderWithParseOptions:parseOptionFlags]) mutableObjectWithUTF8String:(const unsigned char *)utf8String length:(size_t)usedBytes error:error]; } + } + +exitNow: + if(mutableData != NULL) { CFDataSetLength(mutableData, 0L); } + if(decoder != NULL) { _JSONDecoderCleanup(decoder); } + return(returnObject); +} + +- (id)objectFromJSONString +{ + return([self objectFromJSONStringWithParseOptions:JKParseOptionStrict error:NULL]); +} + +- (id)objectFromJSONStringWithParseOptions:(JKParseOptionFlags)parseOptionFlags +{ + return([self objectFromJSONStringWithParseOptions:parseOptionFlags error:NULL]); +} + +- (id)objectFromJSONStringWithParseOptions:(JKParseOptionFlags)parseOptionFlags error:(NSError **)error +{ + return(_NSStringObjectFromJSONString(self, parseOptionFlags, error, NO)); +} + + +- (id)mutableObjectFromJSONString +{ + return([self mutableObjectFromJSONStringWithParseOptions:JKParseOptionStrict error:NULL]); +} + +- (id)mutableObjectFromJSONStringWithParseOptions:(JKParseOptionFlags)parseOptionFlags +{ + return([self mutableObjectFromJSONStringWithParseOptions:parseOptionFlags error:NULL]); +} + +- (id)mutableObjectFromJSONStringWithParseOptions:(JKParseOptionFlags)parseOptionFlags error:(NSError **)error +{ + return(_NSStringObjectFromJSONString(self, parseOptionFlags, error, YES)); +} + +@end + +@implementation NSData (JSONKitDeserializing) + +- (id)objectFromJSONData +{ + return([self objectFromJSONDataWithParseOptions:JKParseOptionStrict error:NULL]); +} + +- (id)objectFromJSONDataWithParseOptions:(JKParseOptionFlags)parseOptionFlags +{ + return([self objectFromJSONDataWithParseOptions:parseOptionFlags error:NULL]); +} + +- (id)objectFromJSONDataWithParseOptions:(JKParseOptionFlags)parseOptionFlags error:(NSError **)error +{ + JSONDecoder *decoder = NULL; + id returnObject = [(decoder = [JSONDecoder decoderWithParseOptions:parseOptionFlags]) objectWithData:self error:error]; + if(decoder != NULL) { _JSONDecoderCleanup(decoder); } + return(returnObject); +} + +- (id)mutableObjectFromJSONData +{ + return([self mutableObjectFromJSONDataWithParseOptions:JKParseOptionStrict error:NULL]); +} + +- (id)mutableObjectFromJSONDataWithParseOptions:(JKParseOptionFlags)parseOptionFlags +{ + return([self mutableObjectFromJSONDataWithParseOptions:parseOptionFlags error:NULL]); +} + +- (id)mutableObjectFromJSONDataWithParseOptions:(JKParseOptionFlags)parseOptionFlags error:(NSError **)error +{ + JSONDecoder *decoder = NULL; + id returnObject = [(decoder = [JSONDecoder decoderWithParseOptions:parseOptionFlags]) mutableObjectWithData:self error:error]; + if(decoder != NULL) { _JSONDecoderCleanup(decoder); } + return(returnObject); +} + + +@end + +//////////// +#pragma mark - +#pragma mark Encoding / deserializing functions + +static void jk_encode_error(JKEncodeState *encodeState, NSString *format, ...) { + NSCParameterAssert((encodeState != NULL) && (format != NULL)); + + va_list varArgsList; + va_start(varArgsList, format); + NSString *formatString = [[[NSString alloc] initWithFormat:format arguments:varArgsList] autorelease]; + va_end(varArgsList); + + if(encodeState->error == NULL) { + encodeState->error = [NSError errorWithDomain:@"JKErrorDomain" code:-1L userInfo: + [NSDictionary dictionaryWithObjectsAndKeys: + formatString, NSLocalizedDescriptionKey, + NULL]]; + } +} + +JK_STATIC_INLINE void jk_encode_updateCache(JKEncodeState *encodeState, JKEncodeCache *cacheSlot, size_t startingAtIndex, id object) { + NSCParameterAssert(encodeState != NULL); + if(JK_EXPECT_T(cacheSlot != NULL)) { + NSCParameterAssert((object != NULL) && (startingAtIndex <= encodeState->atIndex)); + cacheSlot->object = object; + cacheSlot->offset = startingAtIndex; + cacheSlot->length = (size_t)(encodeState->atIndex - startingAtIndex); + } +} + +static int jk_encode_printf(JKEncodeState *encodeState, JKEncodeCache *cacheSlot, size_t startingAtIndex, id object, const char *format, ...) { + va_list varArgsList, varArgsListCopy; + va_start(varArgsList, format); + va_copy(varArgsListCopy, varArgsList); + + NSCParameterAssert((encodeState != NULL) && (encodeState->atIndex < encodeState->stringBuffer.bytes.length) && (startingAtIndex <= encodeState->atIndex) && (format != NULL)); + + ssize_t formattedStringLength = 0L; + int returnValue = 0; + + if(JK_EXPECT_T((formattedStringLength = vsnprintf((char *)&encodeState->stringBuffer.bytes.ptr[encodeState->atIndex], (encodeState->stringBuffer.bytes.length - encodeState->atIndex), format, varArgsList)) >= (ssize_t)(encodeState->stringBuffer.bytes.length - encodeState->atIndex))) { + NSCParameterAssert(((encodeState->atIndex + (formattedStringLength * 2UL) + 256UL) > encodeState->stringBuffer.bytes.length)); + if(JK_EXPECT_F(((encodeState->atIndex + (formattedStringLength * 2UL) + 256UL) > encodeState->stringBuffer.bytes.length)) && JK_EXPECT_F((jk_managedBuffer_resize(&encodeState->stringBuffer, encodeState->atIndex + (formattedStringLength * 2UL)+ 4096UL) == NULL))) { jk_encode_error(encodeState, @"Unable to resize temporary buffer."); returnValue = 1; goto exitNow; } + if(JK_EXPECT_F((formattedStringLength = vsnprintf((char *)&encodeState->stringBuffer.bytes.ptr[encodeState->atIndex], (encodeState->stringBuffer.bytes.length - encodeState->atIndex), format, varArgsListCopy)) >= (ssize_t)(encodeState->stringBuffer.bytes.length - encodeState->atIndex))) { jk_encode_error(encodeState, @"vsnprintf failed unexpectedly."); returnValue = 1; goto exitNow; } + } + +exitNow: + va_end(varArgsList); + va_end(varArgsListCopy); + if(JK_EXPECT_T(returnValue == 0)) { encodeState->atIndex += formattedStringLength; jk_encode_updateCache(encodeState, cacheSlot, startingAtIndex, object); } + return(returnValue); +} + +static int jk_encode_write(JKEncodeState *encodeState, JKEncodeCache *cacheSlot, size_t startingAtIndex, id object, const char *format) { + NSCParameterAssert((encodeState != NULL) && (encodeState->atIndex < encodeState->stringBuffer.bytes.length) && (startingAtIndex <= encodeState->atIndex) && (format != NULL)); + if(JK_EXPECT_F(((encodeState->atIndex + strlen(format) + 256UL) > encodeState->stringBuffer.bytes.length)) && JK_EXPECT_F((jk_managedBuffer_resize(&encodeState->stringBuffer, encodeState->atIndex + strlen(format) + 1024UL) == NULL))) { jk_encode_error(encodeState, @"Unable to resize temporary buffer."); return(1); } + + size_t formatIdx = 0UL; + for(formatIdx = 0UL; format[formatIdx] != 0; formatIdx++) { NSCParameterAssert(encodeState->atIndex < encodeState->stringBuffer.bytes.length); encodeState->stringBuffer.bytes.ptr[encodeState->atIndex++] = format[formatIdx]; } + jk_encode_updateCache(encodeState, cacheSlot, startingAtIndex, object); + return(0); +} + +static int jk_encode_writePrettyPrintWhiteSpace(JKEncodeState *encodeState) { + NSCParameterAssert((encodeState != NULL) && ((encodeState->serializeOptionFlags & JKSerializeOptionPretty) != 0UL)); + if(JK_EXPECT_F((encodeState->atIndex + ((encodeState->depth + 1UL) * 2UL) + 16UL) > encodeState->stringBuffer.bytes.length) && JK_EXPECT_T(jk_managedBuffer_resize(&encodeState->stringBuffer, encodeState->atIndex + ((encodeState->depth + 1UL) * 2UL) + 4096UL) == NULL)) { jk_encode_error(encodeState, @"Unable to resize temporary buffer."); return(1); } + encodeState->stringBuffer.bytes.ptr[encodeState->atIndex++] = '\n'; + size_t depthWhiteSpace = 0UL; + for(depthWhiteSpace = 0UL; depthWhiteSpace < (encodeState->depth * 2UL); depthWhiteSpace++) { NSCParameterAssert(encodeState->atIndex < encodeState->stringBuffer.bytes.length); encodeState->stringBuffer.bytes.ptr[encodeState->atIndex++] = ' '; } + return(0); +} + +static int jk_encode_write1slow(JKEncodeState *encodeState, ssize_t depthChange, const char *format) { + NSCParameterAssert((encodeState != NULL) && (encodeState->atIndex < encodeState->stringBuffer.bytes.length) && (format != NULL) && ((depthChange >= -1L) && (depthChange <= 1L)) && ((encodeState->depth == 0UL) ? (depthChange >= 0L) : 1) && ((encodeState->serializeOptionFlags & JKSerializeOptionPretty) != 0UL)); + if(JK_EXPECT_F((encodeState->atIndex + ((encodeState->depth + 1UL) * 2UL) + 16UL) > encodeState->stringBuffer.bytes.length) && JK_EXPECT_F(jk_managedBuffer_resize(&encodeState->stringBuffer, encodeState->atIndex + ((encodeState->depth + 1UL) * 2UL) + 4096UL) == NULL)) { jk_encode_error(encodeState, @"Unable to resize temporary buffer."); return(1); } + encodeState->depth += depthChange; + if(JK_EXPECT_T(format[0] == ':')) { encodeState->stringBuffer.bytes.ptr[encodeState->atIndex++] = format[0]; encodeState->stringBuffer.bytes.ptr[encodeState->atIndex++] = ' '; } + else { + if(JK_EXPECT_F(depthChange == -1L)) { if(JK_EXPECT_F(jk_encode_writePrettyPrintWhiteSpace(encodeState))) { return(1); } } + encodeState->stringBuffer.bytes.ptr[encodeState->atIndex++] = format[0]; + if(JK_EXPECT_T(depthChange != -1L)) { if(JK_EXPECT_F(jk_encode_writePrettyPrintWhiteSpace(encodeState))) { return(1); } } + } + NSCParameterAssert(encodeState->atIndex < encodeState->stringBuffer.bytes.length); + return(0); +} + +static int jk_encode_write1fast(JKEncodeState *encodeState, ssize_t depthChange JK_UNUSED_ARG, const char *format) { + NSCParameterAssert((encodeState != NULL) && (encodeState->atIndex < encodeState->stringBuffer.bytes.length) && ((encodeState->serializeOptionFlags & JKSerializeOptionPretty) == 0UL)); + if(JK_EXPECT_T((encodeState->atIndex + 4UL) < encodeState->stringBuffer.bytes.length)) { encodeState->stringBuffer.bytes.ptr[encodeState->atIndex++] = format[0]; } + else { return(jk_encode_write(encodeState, NULL, 0UL, NULL, format)); } + return(0); +} + +static int jk_encode_writen(JKEncodeState *encodeState, JKEncodeCache *cacheSlot, size_t startingAtIndex, id object, const char *format, size_t length) { + NSCParameterAssert((encodeState != NULL) && (encodeState->atIndex < encodeState->stringBuffer.bytes.length) && (startingAtIndex <= encodeState->atIndex)); + if(JK_EXPECT_F((encodeState->stringBuffer.bytes.length - encodeState->atIndex) < (length + 4UL))) { if(jk_managedBuffer_resize(&encodeState->stringBuffer, encodeState->atIndex + 4096UL + length) == NULL) { jk_encode_error(encodeState, @"Unable to resize temporary buffer."); return(1); } } + memcpy(encodeState->stringBuffer.bytes.ptr + encodeState->atIndex, format, length); + encodeState->atIndex += length; + jk_encode_updateCache(encodeState, cacheSlot, startingAtIndex, object); + return(0); +} + +JK_STATIC_INLINE JKHash jk_encode_object_hash(void *objectPtr) { + return( ( (((JKHash)objectPtr) >> 21) ^ (((JKHash)objectPtr) >> 9) ) + (((JKHash)objectPtr) >> 4) ); +} + +static int jk_encode_add_atom_to_buffer(JKEncodeState *encodeState, void *objectPtr) { + NSCParameterAssert((encodeState != NULL) && (encodeState->atIndex < encodeState->stringBuffer.bytes.length) && (objectPtr != NULL)); + + id object = (id)objectPtr, encodeCacheObject = object; + int isClass = JKClassUnknown; + size_t startingAtIndex = encodeState->atIndex; + + JKHash objectHash = jk_encode_object_hash(objectPtr); + JKEncodeCache *cacheSlot = &encodeState->cache[objectHash % JK_ENCODE_CACHE_SLOTS]; + + if(JK_EXPECT_T(cacheSlot->object == object)) { + NSCParameterAssert((cacheSlot->object != NULL) && + (cacheSlot->offset < encodeState->atIndex) && ((cacheSlot->offset + cacheSlot->length) < encodeState->atIndex) && + (cacheSlot->offset < encodeState->stringBuffer.bytes.length) && ((cacheSlot->offset + cacheSlot->length) < encodeState->stringBuffer.bytes.length) && + ((encodeState->stringBuffer.bytes.ptr + encodeState->atIndex) < (encodeState->stringBuffer.bytes.ptr + encodeState->stringBuffer.bytes.length)) && + ((encodeState->stringBuffer.bytes.ptr + cacheSlot->offset) < (encodeState->stringBuffer.bytes.ptr + encodeState->stringBuffer.bytes.length)) && + ((encodeState->stringBuffer.bytes.ptr + cacheSlot->offset + cacheSlot->length) < (encodeState->stringBuffer.bytes.ptr + encodeState->stringBuffer.bytes.length))); + if(JK_EXPECT_F(((encodeState->atIndex + cacheSlot->length + 256UL) > encodeState->stringBuffer.bytes.length)) && JK_EXPECT_F((jk_managedBuffer_resize(&encodeState->stringBuffer, encodeState->atIndex + cacheSlot->length + 1024UL) == NULL))) { jk_encode_error(encodeState, @"Unable to resize temporary buffer."); return(1); } + NSCParameterAssert(((encodeState->atIndex + cacheSlot->length) < encodeState->stringBuffer.bytes.length) && + ((encodeState->stringBuffer.bytes.ptr + encodeState->atIndex) < (encodeState->stringBuffer.bytes.ptr + encodeState->stringBuffer.bytes.length)) && + ((encodeState->stringBuffer.bytes.ptr + encodeState->atIndex + cacheSlot->length) < (encodeState->stringBuffer.bytes.ptr + encodeState->stringBuffer.bytes.length)) && + ((encodeState->stringBuffer.bytes.ptr + cacheSlot->offset) < (encodeState->stringBuffer.bytes.ptr + encodeState->stringBuffer.bytes.length)) && + ((encodeState->stringBuffer.bytes.ptr + cacheSlot->offset + cacheSlot->length) < (encodeState->stringBuffer.bytes.ptr + encodeState->stringBuffer.bytes.length)) && + ((encodeState->stringBuffer.bytes.ptr + cacheSlot->offset + cacheSlot->length) < (encodeState->stringBuffer.bytes.ptr + encodeState->atIndex))); + memcpy(encodeState->stringBuffer.bytes.ptr + encodeState->atIndex, encodeState->stringBuffer.bytes.ptr + cacheSlot->offset, cacheSlot->length); + encodeState->atIndex += cacheSlot->length; + return(0); + } + + // When we encounter a class that we do not handle, and we have either a delegate or block that the user supplied to format unsupported classes, + // we "re-run" the object check. However, we re-run the object check exactly ONCE. If the user supplies an object that isn't one of the + // supported classes, we fail the second time (i.e., double fault error). + BOOL rerunningAfterClassFormatter = NO; + rerunAfterClassFormatter:; + + // XXX XXX XXX XXX + // + // We need to work around a bug in 10.7, which breaks ABI compatibility with Objective-C going back not just to 10.0, but OpenStep and even NextStep. + // + // It has long been documented that "the very first thing that a pointer to an Objective-C object "points to" is a pointer to that objects class". + // + // This is euphemistically called "tagged pointers". There are a number of highly technical problems with this, most involving long passages from + // the C standard(s). In short, one can make a strong case, couched from the perspective of the C standard(s), that that 10.7 "tagged pointers" are + // fundamentally Wrong and Broken, and should have never been implemented. Assuming those points are glossed over, because the change is very clearly + // breaking ABI compatibility, this should have resulted in a minimum of a "minimum version required" bump in various shared libraries to prevent + // causes code that used to work just fine to suddenly break without warning. + // + // In fact, the C standard says that the hack below is "undefined behavior"- there is no requirement that the 10.7 tagged pointer hack of setting the + // "lower, unused bits" must be preserved when casting the result to an integer type, but this "works" because for most architectures + // `sizeof(long) == sizeof(void *)` and the compiler uses the same representation for both. (note: this is informal, not meant to be + // normative or pedantically correct). + // + // In other words, while this "works" for now, technically the compiler is not obligated to do "what we want", and a later version of the compiler + // is not required in any way to produce the same results or behavior that earlier versions of the compiler did for the statement below. + // + // Fan-fucking-tastic. + // + // Why not just use `object_getClass()`? Because `object->isa` reduces to (typically) a *single* instruction. Calling `object_getClass()` requires + // that the compiler potentially spill registers, establish a function call frame / environment, and finally execute a "jump subroutine" instruction. + // Then, the called subroutine must spend half a dozen instructions in its prolog, however many instructions doing whatever it does, then half a dozen + // instructions in its prolog. One instruction compared to dozens, maybe a hundred instructions. + // + // Yes, that's one to two orders of magnitude difference. Which is compelling in its own right. When going for performance, you're often happy with + // gains in the two to three percent range. + // + // XXX XXX XXX XXX + + + BOOL workAroundMacOSXABIBreakingBug = (JK_EXPECT_F(((NSUInteger)object) & 0x1)) ? YES : NO; + void *objectISA = (JK_EXPECT_F(workAroundMacOSXABIBreakingBug)) ? NULL : *((void **)objectPtr); + if(JK_EXPECT_F(workAroundMacOSXABIBreakingBug)) { goto slowClassLookup; } + + if(JK_EXPECT_T(objectISA == encodeState->fastClassLookup.stringClass)) { isClass = JKClassString; } + else if(JK_EXPECT_T(objectISA == encodeState->fastClassLookup.numberClass)) { isClass = JKClassNumber; } + else if(JK_EXPECT_T(objectISA == encodeState->fastClassLookup.dictionaryClass)) { isClass = JKClassDictionary; } + else if(JK_EXPECT_T(objectISA == encodeState->fastClassLookup.arrayClass)) { isClass = JKClassArray; } + else if(JK_EXPECT_T(objectISA == encodeState->fastClassLookup.nullClass)) { isClass = JKClassNull; } + else { + slowClassLookup: + if(JK_EXPECT_T([object isKindOfClass:[NSString class]])) { if(workAroundMacOSXABIBreakingBug == NO) { encodeState->fastClassLookup.stringClass = objectISA; } isClass = JKClassString; } + else if(JK_EXPECT_T([object isKindOfClass:[NSNumber class]])) { if(workAroundMacOSXABIBreakingBug == NO) { encodeState->fastClassLookup.numberClass = objectISA; } isClass = JKClassNumber; } + else if(JK_EXPECT_T([object isKindOfClass:[NSDictionary class]])) { if(workAroundMacOSXABIBreakingBug == NO) { encodeState->fastClassLookup.dictionaryClass = objectISA; } isClass = JKClassDictionary; } + else if(JK_EXPECT_T([object isKindOfClass:[NSArray class]])) { if(workAroundMacOSXABIBreakingBug == NO) { encodeState->fastClassLookup.arrayClass = objectISA; } isClass = JKClassArray; } + else if(JK_EXPECT_T([object isKindOfClass:[NSNull class]])) { if(workAroundMacOSXABIBreakingBug == NO) { encodeState->fastClassLookup.nullClass = objectISA; } isClass = JKClassNull; } + else { + if((rerunningAfterClassFormatter == NO) && ( +#ifdef __BLOCKS__ + ((encodeState->classFormatterBlock) && ((object = encodeState->classFormatterBlock(object)) != NULL)) || +#endif + ((encodeState->classFormatterIMP) && ((object = encodeState->classFormatterIMP(encodeState->classFormatterDelegate, encodeState->classFormatterSelector, object)) != NULL)) )) { rerunningAfterClassFormatter = YES; goto rerunAfterClassFormatter; } + + if(rerunningAfterClassFormatter == NO) { jk_encode_error(encodeState, @"Unable to serialize object class %@.", NSStringFromClass([encodeCacheObject class])); return(1); } + else { jk_encode_error(encodeState, @"Unable to serialize object class %@ that was returned by the unsupported class formatter. Original object class was %@.", (object == NULL) ? @"NULL" : NSStringFromClass([object class]), NSStringFromClass([encodeCacheObject class])); return(1); } + } + } + + // This is here for the benefit of the optimizer. It allows the optimizer to do loop invariant code motion for the JKClassArray + // and JKClassDictionary cases when printing simple, single characters via jk_encode_write(), which is actually a macro: + // #define jk_encode_write1(es, dc, f) (_jk_encode_prettyPrint ? jk_encode_write1slow(es, dc, f) : jk_encode_write1fast(es, dc, f)) + int _jk_encode_prettyPrint = JK_EXPECT_T((encodeState->serializeOptionFlags & JKSerializeOptionPretty) == 0) ? 0 : 1; + + switch(isClass) { + case JKClassString: + { + { + const unsigned char *cStringPtr = (const unsigned char *)CFStringGetCStringPtr((CFStringRef)object, kCFStringEncodingMacRoman); + if(cStringPtr != NULL) { + const unsigned char *utf8String = cStringPtr; + size_t utf8Idx = 0UL; + + CFIndex stringLength = CFStringGetLength((CFStringRef)object); + if(JK_EXPECT_F(((encodeState->atIndex + (stringLength * 2UL) + 256UL) > encodeState->stringBuffer.bytes.length)) && JK_EXPECT_F((jk_managedBuffer_resize(&encodeState->stringBuffer, encodeState->atIndex + (stringLength * 2UL) + 1024UL) == NULL))) { jk_encode_error(encodeState, @"Unable to resize temporary buffer."); return(1); } + + if(JK_EXPECT_T((encodeState->encodeOption & JKEncodeOptionStringObjTrimQuotes) == 0UL)) { encodeState->stringBuffer.bytes.ptr[encodeState->atIndex++] = '\"'; } + for(utf8Idx = 0UL; utf8String[utf8Idx] != 0U; utf8Idx++) { + NSCParameterAssert(((&encodeState->stringBuffer.bytes.ptr[encodeState->atIndex]) - encodeState->stringBuffer.bytes.ptr) < (ssize_t)encodeState->stringBuffer.bytes.length); + NSCParameterAssert(encodeState->atIndex < encodeState->stringBuffer.bytes.length); + if(JK_EXPECT_F(utf8String[utf8Idx] >= 0x80U)) { encodeState->atIndex = startingAtIndex; goto slowUTF8Path; } + if(JK_EXPECT_F(utf8String[utf8Idx] < 0x20U)) { + switch(utf8String[utf8Idx]) { + case '\b': encodeState->stringBuffer.bytes.ptr[encodeState->atIndex++] = '\\'; encodeState->stringBuffer.bytes.ptr[encodeState->atIndex++] = 'b'; break; + case '\f': encodeState->stringBuffer.bytes.ptr[encodeState->atIndex++] = '\\'; encodeState->stringBuffer.bytes.ptr[encodeState->atIndex++] = 'f'; break; + case '\n': encodeState->stringBuffer.bytes.ptr[encodeState->atIndex++] = '\\'; encodeState->stringBuffer.bytes.ptr[encodeState->atIndex++] = 'n'; break; + case '\r': encodeState->stringBuffer.bytes.ptr[encodeState->atIndex++] = '\\'; encodeState->stringBuffer.bytes.ptr[encodeState->atIndex++] = 'r'; break; + case '\t': encodeState->stringBuffer.bytes.ptr[encodeState->atIndex++] = '\\'; encodeState->stringBuffer.bytes.ptr[encodeState->atIndex++] = 't'; break; + default: if(JK_EXPECT_F(jk_encode_printf(encodeState, NULL, 0UL, NULL, "\\u%4.4x", utf8String[utf8Idx]))) { return(1); } break; + } + } else { + if(JK_EXPECT_F(utf8String[utf8Idx] == '\"') || JK_EXPECT_F(utf8String[utf8Idx] == '\\') || (JK_EXPECT_F(encodeState->serializeOptionFlags & JKSerializeOptionEscapeForwardSlashes) && JK_EXPECT_F(utf8String[utf8Idx] == '/'))) { encodeState->stringBuffer.bytes.ptr[encodeState->atIndex++] = '\\'; } + encodeState->stringBuffer.bytes.ptr[encodeState->atIndex++] = utf8String[utf8Idx]; + } + } + NSCParameterAssert((encodeState->atIndex + 1UL) < encodeState->stringBuffer.bytes.length); + if(JK_EXPECT_T((encodeState->encodeOption & JKEncodeOptionStringObjTrimQuotes) == 0UL)) { encodeState->stringBuffer.bytes.ptr[encodeState->atIndex++] = '\"'; } + jk_encode_updateCache(encodeState, cacheSlot, startingAtIndex, encodeCacheObject); + return(0); + } + } + + slowUTF8Path: + { + CFIndex stringLength = CFStringGetLength((CFStringRef)object); + CFIndex maxStringUTF8Length = CFStringGetMaximumSizeForEncoding(stringLength, kCFStringEncodingUTF8) + 32L; + + if(JK_EXPECT_F((size_t)maxStringUTF8Length > encodeState->utf8ConversionBuffer.bytes.length) && JK_EXPECT_F(jk_managedBuffer_resize(&encodeState->utf8ConversionBuffer, maxStringUTF8Length + 1024UL) == NULL)) { jk_encode_error(encodeState, @"Unable to resize temporary buffer."); return(1); } + + CFIndex usedBytes = 0L, convertedCount = 0L; + convertedCount = CFStringGetBytes((CFStringRef)object, CFRangeMake(0L, stringLength), kCFStringEncodingUTF8, '?', NO, encodeState->utf8ConversionBuffer.bytes.ptr, encodeState->utf8ConversionBuffer.bytes.length - 16L, &usedBytes); + if(JK_EXPECT_F(convertedCount != stringLength) || JK_EXPECT_F(usedBytes < 0L)) { jk_encode_error(encodeState, @"An error occurred converting the contents of a NSString to UTF8."); return(1); } + + if(JK_EXPECT_F((encodeState->atIndex + (maxStringUTF8Length * 2UL) + 256UL) > encodeState->stringBuffer.bytes.length) && JK_EXPECT_F(jk_managedBuffer_resize(&encodeState->stringBuffer, encodeState->atIndex + (maxStringUTF8Length * 2UL) + 1024UL) == NULL)) { jk_encode_error(encodeState, @"Unable to resize temporary buffer."); return(1); } + + const unsigned char *utf8String = encodeState->utf8ConversionBuffer.bytes.ptr; + + size_t utf8Idx = 0UL; + if(JK_EXPECT_T((encodeState->encodeOption & JKEncodeOptionStringObjTrimQuotes) == 0UL)) { encodeState->stringBuffer.bytes.ptr[encodeState->atIndex++] = '\"'; } + for(utf8Idx = 0UL; utf8Idx < (size_t)usedBytes; utf8Idx++) { + NSCParameterAssert(((&encodeState->stringBuffer.bytes.ptr[encodeState->atIndex]) - encodeState->stringBuffer.bytes.ptr) < (ssize_t)encodeState->stringBuffer.bytes.length); + NSCParameterAssert(encodeState->atIndex < encodeState->stringBuffer.bytes.length); + NSCParameterAssert((CFIndex)utf8Idx < usedBytes); + if(JK_EXPECT_F(utf8String[utf8Idx] < 0x20U)) { + switch(utf8String[utf8Idx]) { + case '\b': encodeState->stringBuffer.bytes.ptr[encodeState->atIndex++] = '\\'; encodeState->stringBuffer.bytes.ptr[encodeState->atIndex++] = 'b'; break; + case '\f': encodeState->stringBuffer.bytes.ptr[encodeState->atIndex++] = '\\'; encodeState->stringBuffer.bytes.ptr[encodeState->atIndex++] = 'f'; break; + case '\n': encodeState->stringBuffer.bytes.ptr[encodeState->atIndex++] = '\\'; encodeState->stringBuffer.bytes.ptr[encodeState->atIndex++] = 'n'; break; + case '\r': encodeState->stringBuffer.bytes.ptr[encodeState->atIndex++] = '\\'; encodeState->stringBuffer.bytes.ptr[encodeState->atIndex++] = 'r'; break; + case '\t': encodeState->stringBuffer.bytes.ptr[encodeState->atIndex++] = '\\'; encodeState->stringBuffer.bytes.ptr[encodeState->atIndex++] = 't'; break; + default: if(JK_EXPECT_F(jk_encode_printf(encodeState, NULL, 0UL, NULL, "\\u%4.4x", utf8String[utf8Idx]))) { return(1); } break; + } + } else { + if(JK_EXPECT_F(utf8String[utf8Idx] >= 0x80U) && (encodeState->serializeOptionFlags & JKSerializeOptionEscapeUnicode)) { + const unsigned char *nextValidCharacter = NULL; + UTF32 u32ch = 0U; + ConversionResult result; + + if(JK_EXPECT_F((result = ConvertSingleCodePointInUTF8(&utf8String[utf8Idx], &utf8String[usedBytes], (UTF8 const **)&nextValidCharacter, &u32ch)) != conversionOK)) { jk_encode_error(encodeState, @"Error converting UTF8."); return(1); } + else { + utf8Idx = (nextValidCharacter - utf8String) - 1UL; + if(JK_EXPECT_T(u32ch <= 0xffffU)) { if(JK_EXPECT_F(jk_encode_printf(encodeState, NULL, 0UL, NULL, "\\u%4.4x", u32ch))) { return(1); } } + else { if(JK_EXPECT_F(jk_encode_printf(encodeState, NULL, 0UL, NULL, "\\u%4.4x\\u%4.4x", (0xd7c0U + (u32ch >> 10)), (0xdc00U + (u32ch & 0x3ffU))))) { return(1); } } + } + } else { + if(JK_EXPECT_F(utf8String[utf8Idx] == '\"') || JK_EXPECT_F(utf8String[utf8Idx] == '\\') || (JK_EXPECT_F(encodeState->serializeOptionFlags & JKSerializeOptionEscapeForwardSlashes) && JK_EXPECT_F(utf8String[utf8Idx] == '/'))) { encodeState->stringBuffer.bytes.ptr[encodeState->atIndex++] = '\\'; } + encodeState->stringBuffer.bytes.ptr[encodeState->atIndex++] = utf8String[utf8Idx]; + } + } + } + NSCParameterAssert((encodeState->atIndex + 1UL) < encodeState->stringBuffer.bytes.length); + if(JK_EXPECT_T((encodeState->encodeOption & JKEncodeOptionStringObjTrimQuotes) == 0UL)) { encodeState->stringBuffer.bytes.ptr[encodeState->atIndex++] = '\"'; } + jk_encode_updateCache(encodeState, cacheSlot, startingAtIndex, encodeCacheObject); + return(0); + } + } + break; + + case JKClassNumber: + { + if(object == (id)kCFBooleanTrue) { return(jk_encode_writen(encodeState, cacheSlot, startingAtIndex, encodeCacheObject, "true", 4UL)); } + else if(object == (id)kCFBooleanFalse) { return(jk_encode_writen(encodeState, cacheSlot, startingAtIndex, encodeCacheObject, "false", 5UL)); } + + const char *objCType = [object objCType]; + char anum[256], *aptr = &anum[255]; + int isNegative = 0; + unsigned long long ullv; + long long llv; + + if(JK_EXPECT_F(objCType == NULL) || JK_EXPECT_F(objCType[0] == 0) || JK_EXPECT_F(objCType[1] != 0)) { jk_encode_error(encodeState, @"NSNumber conversion error, unknown type. Type: '%s'", (objCType == NULL) ? "" : objCType); return(1); } + + switch(objCType[0]) { + case 'c': case 'i': case 's': case 'l': case 'q': + if(JK_EXPECT_T(CFNumberGetValue((CFNumberRef)object, kCFNumberLongLongType, &llv))) { + if(llv < 0LL) { ullv = -llv; isNegative = 1; } else { ullv = llv; isNegative = 0; } + goto convertNumber; + } else { jk_encode_error(encodeState, @"Unable to get scalar value from number object."); return(1); } + break; + case 'C': case 'I': case 'S': case 'L': case 'Q': case 'B': + if(JK_EXPECT_T(CFNumberGetValue((CFNumberRef)object, kCFNumberLongLongType, &ullv))) { + convertNumber: + if(JK_EXPECT_F(ullv < 10ULL)) { *--aptr = ullv + '0'; } else { while(JK_EXPECT_T(ullv > 0ULL)) { *--aptr = (ullv % 10ULL) + '0'; ullv /= 10ULL; NSCParameterAssert(aptr > anum); } } + if(isNegative) { *--aptr = '-'; } + NSCParameterAssert(aptr > anum); + return(jk_encode_writen(encodeState, cacheSlot, startingAtIndex, encodeCacheObject, aptr, &anum[255] - aptr)); + } else { jk_encode_error(encodeState, @"Unable to get scalar value from number object."); return(1); } + break; + case 'f': case 'd': + { + double dv; + if(JK_EXPECT_T(CFNumberGetValue((CFNumberRef)object, kCFNumberDoubleType, &dv))) { + if(JK_EXPECT_F(!isfinite(dv))) { jk_encode_error(encodeState, @"Floating point values must be finite. JSON does not support NaN or Infinity."); return(1); } + /* + Changed precision of float values in the JSON strings for better compatibility with the SmartBridge + + Michael de Vries July 24, 2012 + */ + return(jk_encode_printf(encodeState, cacheSlot, startingAtIndex, encodeCacheObject, "%.5g", dv)); + } else { jk_encode_error(encodeState, @"Unable to get floating point value from number object."); return(1); } + } + break; + default: jk_encode_error(encodeState, @"NSNumber conversion error, unknown type. Type: '%c' / 0x%2.2x", objCType[0], objCType[0]); return(1); break; + } + } + break; + + case JKClassArray: + { + int printComma = 0; + CFIndex arrayCount = CFArrayGetCount((CFArrayRef)object), idx = 0L; + if(JK_EXPECT_F(jk_encode_write1(encodeState, 1L, "["))) { return(1); } + if(JK_EXPECT_F(arrayCount > 1020L)) { + for(id arrayObject in object) { if(JK_EXPECT_T(printComma)) { if(JK_EXPECT_F(jk_encode_write1(encodeState, 0L, ","))) { return(1); } } printComma = 1; if(JK_EXPECT_F(jk_encode_add_atom_to_buffer(encodeState, arrayObject))) { return(1); } } + } else { + void *objects[1024]; + CFArrayGetValues((CFArrayRef)object, CFRangeMake(0L, arrayCount), (const void **)objects); + for(idx = 0L; idx < arrayCount; idx++) { if(JK_EXPECT_T(printComma)) { if(JK_EXPECT_F(jk_encode_write1(encodeState, 0L, ","))) { return(1); } } printComma = 1; if(JK_EXPECT_F(jk_encode_add_atom_to_buffer(encodeState, objects[idx]))) { return(1); } } + } + return(jk_encode_write1(encodeState, -1L, "]")); + } + break; + + case JKClassDictionary: + { + int printComma = 0; + CFIndex dictionaryCount = CFDictionaryGetCount((CFDictionaryRef)object), idx = 0L; + id enumerateObject = JK_EXPECT_F(_jk_encode_prettyPrint) ? [[object allKeys] sortedArrayUsingSelector:@selector(compare:)] : object; + + if(JK_EXPECT_F(jk_encode_write1(encodeState, 1L, "{"))) { return(1); } + if(JK_EXPECT_F(_jk_encode_prettyPrint) || JK_EXPECT_F(dictionaryCount > 1020L)) { + for(id keyObject in enumerateObject) { + if(JK_EXPECT_T(printComma)) { if(JK_EXPECT_F(jk_encode_write1(encodeState, 0L, ","))) { return(1); } } + printComma = 1; + void *keyObjectISA = *((void **)keyObject); + if(JK_EXPECT_F((keyObjectISA != encodeState->fastClassLookup.stringClass)) && JK_EXPECT_F(([keyObject isKindOfClass:[NSString class]] == NO))) { jk_encode_error(encodeState, @"Key must be a string object."); return(1); } + if(JK_EXPECT_F(jk_encode_add_atom_to_buffer(encodeState, keyObject))) { return(1); } + if(JK_EXPECT_F(jk_encode_write1(encodeState, 0L, ":"))) { return(1); } + if(JK_EXPECT_F(jk_encode_add_atom_to_buffer(encodeState, (void *)CFDictionaryGetValue((CFDictionaryRef)object, keyObject)))) { return(1); } + } + } else { + void *keys[1024], *objects[1024]; + CFDictionaryGetKeysAndValues((CFDictionaryRef)object, (const void **)keys, (const void **)objects); + for(idx = 0L; idx < dictionaryCount; idx++) { + if(JK_EXPECT_T(printComma)) { if(JK_EXPECT_F(jk_encode_write1(encodeState, 0L, ","))) { return(1); } } + printComma = 1; + void *keyObjectISA = *((void **)keys[idx]); + if(JK_EXPECT_F(keyObjectISA != encodeState->fastClassLookup.stringClass) && JK_EXPECT_F([(id)keys[idx] isKindOfClass:[NSString class]] == NO)) { jk_encode_error(encodeState, @"Key must be a string object."); return(1); } + if(JK_EXPECT_F(jk_encode_add_atom_to_buffer(encodeState, keys[idx]))) { return(1); } + if(JK_EXPECT_F(jk_encode_write1(encodeState, 0L, ":"))) { return(1); } + if(JK_EXPECT_F(jk_encode_add_atom_to_buffer(encodeState, objects[idx]))) { return(1); } + } + } + return(jk_encode_write1(encodeState, -1L, "}")); + } + break; + + case JKClassNull: return(jk_encode_writen(encodeState, cacheSlot, startingAtIndex, encodeCacheObject, "null", 4UL)); break; + + default: jk_encode_error(encodeState, @"Unable to serialize object class %@.", NSStringFromClass([object class])); return(1); break; + } + + return(0); +} + + +@implementation JKSerializer + ++ (id)serializeObject:(id)object options:(JKSerializeOptionFlags)optionFlags encodeOption:(JKEncodeOptionType)encodeOption block:(JKSERIALIZER_BLOCKS_PROTO)block delegate:(id)delegate selector:(SEL)selector error:(NSError **)error +{ + return([[[[self alloc] init] autorelease] serializeObject:object options:optionFlags encodeOption:encodeOption block:block delegate:delegate selector:selector error:error]); +} + +- (id)serializeObject:(id)object options:(JKSerializeOptionFlags)optionFlags encodeOption:(JKEncodeOptionType)encodeOption block:(JKSERIALIZER_BLOCKS_PROTO)block delegate:(id)delegate selector:(SEL)selector error:(NSError **)error +{ +#ifndef __BLOCKS__ +#pragma unused(block) +#endif + NSParameterAssert((object != NULL) && (encodeState == NULL) && ((delegate != NULL) ? (block == NULL) : 1) && ((block != NULL) ? (delegate == NULL) : 1) && + (((encodeOption & JKEncodeOptionCollectionObj) != 0UL) ? (((encodeOption & JKEncodeOptionStringObj) == 0UL) && ((encodeOption & JKEncodeOptionStringObjTrimQuotes) == 0UL)) : 1) && + (((encodeOption & JKEncodeOptionStringObj) != 0UL) ? ((encodeOption & JKEncodeOptionCollectionObj) == 0UL) : 1)); + + id returnObject = NULL; + + if(encodeState != NULL) { [self releaseState]; } + if((encodeState = (struct JKEncodeState *)calloc(1UL, sizeof(JKEncodeState))) == NULL) { [NSException raise:NSMallocException format:@"Unable to allocate state structure."]; return(NULL); } + + if((error != NULL) && (*error != NULL)) { *error = NULL; } + + if(delegate != NULL) { + if(selector == NULL) { [NSException raise:NSInvalidArgumentException format:@"The delegate argument is not NULL, but the selector argument is NULL."]; } + if([delegate respondsToSelector:selector] == NO) { [NSException raise:NSInvalidArgumentException format:@"The serializeUnsupportedClassesUsingDelegate: delegate does not respond to the selector argument."]; } + encodeState->classFormatterDelegate = delegate; + encodeState->classFormatterSelector = selector; + encodeState->classFormatterIMP = (JKClassFormatterIMP)[delegate methodForSelector:selector]; + NSCParameterAssert(encodeState->classFormatterIMP != NULL); + } + +#ifdef __BLOCKS__ + encodeState->classFormatterBlock = block; +#endif + encodeState->serializeOptionFlags = optionFlags; + encodeState->encodeOption = encodeOption; + encodeState->stringBuffer.roundSizeUpToMultipleOf = (1024UL * 32UL); + encodeState->utf8ConversionBuffer.roundSizeUpToMultipleOf = 4096UL; + + unsigned char stackJSONBuffer[JK_JSONBUFFER_SIZE] JK_ALIGNED(64); + jk_managedBuffer_setToStackBuffer(&encodeState->stringBuffer, stackJSONBuffer, sizeof(stackJSONBuffer)); + + unsigned char stackUTF8Buffer[JK_UTF8BUFFER_SIZE] JK_ALIGNED(64); + jk_managedBuffer_setToStackBuffer(&encodeState->utf8ConversionBuffer, stackUTF8Buffer, sizeof(stackUTF8Buffer)); + + if(((encodeOption & JKEncodeOptionCollectionObj) != 0UL) && (([object isKindOfClass:[NSArray class]] == NO) && ([object isKindOfClass:[NSDictionary class]] == NO))) { jk_encode_error(encodeState, @"Unable to serialize object class %@, expected a NSArray or NSDictionary.", NSStringFromClass([object class])); goto errorExit; } + if(((encodeOption & JKEncodeOptionStringObj) != 0UL) && ([object isKindOfClass:[NSString class]] == NO)) { jk_encode_error(encodeState, @"Unable to serialize object class %@, expected a NSString.", NSStringFromClass([object class])); goto errorExit; } + + if(jk_encode_add_atom_to_buffer(encodeState, object) == 0) { + BOOL stackBuffer = ((encodeState->stringBuffer.flags & JKManagedBufferMustFree) == 0UL) ? YES : NO; + + if((encodeState->atIndex < 2UL)) + if((stackBuffer == NO) && ((encodeState->stringBuffer.bytes.ptr = (unsigned char *)reallocf(encodeState->stringBuffer.bytes.ptr, encodeState->atIndex + 16UL)) == NULL)) { jk_encode_error(encodeState, @"Unable to realloc buffer"); goto errorExit; } + + switch((encodeOption & JKEncodeOptionAsTypeMask)) { + case JKEncodeOptionAsData: + if(stackBuffer == YES) { if((returnObject = [(id)CFDataCreate( NULL, encodeState->stringBuffer.bytes.ptr, (CFIndex)encodeState->atIndex) autorelease]) == NULL) { jk_encode_error(encodeState, @"Unable to create NSData object"); } } + else { if((returnObject = [(id)CFDataCreateWithBytesNoCopy( NULL, encodeState->stringBuffer.bytes.ptr, (CFIndex)encodeState->atIndex, NULL) autorelease]) == NULL) { jk_encode_error(encodeState, @"Unable to create NSData object"); } } + break; + + case JKEncodeOptionAsString: + if(stackBuffer == YES) { if((returnObject = [(id)CFStringCreateWithBytes( NULL, (const UInt8 *)encodeState->stringBuffer.bytes.ptr, (CFIndex)encodeState->atIndex, kCFStringEncodingUTF8, NO) autorelease]) == NULL) { jk_encode_error(encodeState, @"Unable to create NSString object"); } } + else { if((returnObject = [(id)CFStringCreateWithBytesNoCopy(NULL, (const UInt8 *)encodeState->stringBuffer.bytes.ptr, (CFIndex)encodeState->atIndex, kCFStringEncodingUTF8, NO, NULL) autorelease]) == NULL) { jk_encode_error(encodeState, @"Unable to create NSString object"); } } + break; + + default: jk_encode_error(encodeState, @"Unknown encode as type."); break; + } + + if((returnObject != NULL) && (stackBuffer == NO)) { encodeState->stringBuffer.flags &= ~JKManagedBufferMustFree; encodeState->stringBuffer.bytes.ptr = NULL; encodeState->stringBuffer.bytes.length = 0UL; } + } + +errorExit: + if((encodeState != NULL) && (error != NULL) && (encodeState->error != NULL)) { *error = encodeState->error; encodeState->error = NULL; } + [self releaseState]; + + return(returnObject); +} + +- (void)releaseState +{ + if(encodeState != NULL) { + jk_managedBuffer_release(&encodeState->stringBuffer); + jk_managedBuffer_release(&encodeState->utf8ConversionBuffer); + free(encodeState); encodeState = NULL; + } +} + +- (void)dealloc +{ + [self releaseState]; + [super dealloc]; +} + +@end + +@implementation NSString (JSONKitSerializing) + +//////////// +#pragma mark Methods for serializing a single NSString. +//////////// + +// Useful for those who need to serialize just a NSString. Otherwise you would have to do something like [NSArray arrayWithObject:stringToBeJSONSerialized], serializing the array, and then chopping of the extra ^\[.*\]$ square brackets. + +// NSData returning methods... + +- (NSData *)JSONData +{ + return([self JSONDataWithOptions:JKSerializeOptionNone includeQuotes:YES error:NULL]); +} + +- (NSData *)JSONDataWithOptions:(JKSerializeOptionFlags)serializeOptions includeQuotes:(BOOL)includeQuotes error:(NSError **)error +{ + return([JKSerializer serializeObject:self options:serializeOptions encodeOption:(JKEncodeOptionAsData | ((includeQuotes == NO) ? JKEncodeOptionStringObjTrimQuotes : 0UL) | JKEncodeOptionStringObj) block:NULL delegate:NULL selector:NULL error:error]); +} + +// NSString returning methods... + +- (NSString *)JSONString +{ + return([self JSONStringWithOptions:JKSerializeOptionNone includeQuotes:YES error:NULL]); +} + +- (NSString *)JSONStringWithOptions:(JKSerializeOptionFlags)serializeOptions includeQuotes:(BOOL)includeQuotes error:(NSError **)error +{ + return([JKSerializer serializeObject:self options:serializeOptions encodeOption:(JKEncodeOptionAsString | ((includeQuotes == NO) ? JKEncodeOptionStringObjTrimQuotes : 0UL) | JKEncodeOptionStringObj) block:NULL delegate:NULL selector:NULL error:error]); +} + +@end + +@implementation NSArray (JSONKitSerializing) + +// NSData returning methods... + +- (NSData *)JSONData +{ + return([JKSerializer serializeObject:self options:JKSerializeOptionNone encodeOption:(JKEncodeOptionAsData | JKEncodeOptionCollectionObj) block:NULL delegate:NULL selector:NULL error:NULL]); +} + +- (NSData *)JSONDataWithOptions:(JKSerializeOptionFlags)serializeOptions error:(NSError **)error +{ + return([JKSerializer serializeObject:self options:serializeOptions encodeOption:(JKEncodeOptionAsData | JKEncodeOptionCollectionObj) block:NULL delegate:NULL selector:NULL error:error]); +} + +- (NSData *)JSONDataWithOptions:(JKSerializeOptionFlags)serializeOptions serializeUnsupportedClassesUsingDelegate:(id)delegate selector:(SEL)selector error:(NSError **)error +{ + return([JKSerializer serializeObject:self options:serializeOptions encodeOption:(JKEncodeOptionAsData | JKEncodeOptionCollectionObj) block:NULL delegate:delegate selector:selector error:error]); +} + +// NSString returning methods... + +- (NSString *)JSONString +{ + return([JKSerializer serializeObject:self options:JKSerializeOptionNone encodeOption:(JKEncodeOptionAsString | JKEncodeOptionCollectionObj) block:NULL delegate:NULL selector:NULL error:NULL]); +} + +- (NSString *)JSONStringWithOptions:(JKSerializeOptionFlags)serializeOptions error:(NSError **)error +{ + return([JKSerializer serializeObject:self options:serializeOptions encodeOption:(JKEncodeOptionAsString | JKEncodeOptionCollectionObj) block:NULL delegate:NULL selector:NULL error:error]); +} + +- (NSString *)JSONStringWithOptions:(JKSerializeOptionFlags)serializeOptions serializeUnsupportedClassesUsingDelegate:(id)delegate selector:(SEL)selector error:(NSError **)error +{ + return([JKSerializer serializeObject:self options:serializeOptions encodeOption:(JKEncodeOptionAsString | JKEncodeOptionCollectionObj) block:NULL delegate:delegate selector:selector error:error]); +} + +@end + +@implementation NSDictionary (JSONKitSerializing) + +// NSData returning methods... + +- (NSData *)JSONData +{ + return([JKSerializer serializeObject:self options:JKSerializeOptionNone encodeOption:(JKEncodeOptionAsData | JKEncodeOptionCollectionObj) block:NULL delegate:NULL selector:NULL error:NULL]); +} + +- (NSData *)JSONDataWithOptions:(JKSerializeOptionFlags)serializeOptions error:(NSError **)error +{ + return([JKSerializer serializeObject:self options:serializeOptions encodeOption:(JKEncodeOptionAsData | JKEncodeOptionCollectionObj) block:NULL delegate:NULL selector:NULL error:error]); +} + +- (NSData *)JSONDataWithOptions:(JKSerializeOptionFlags)serializeOptions serializeUnsupportedClassesUsingDelegate:(id)delegate selector:(SEL)selector error:(NSError **)error +{ + return([JKSerializer serializeObject:self options:serializeOptions encodeOption:(JKEncodeOptionAsData | JKEncodeOptionCollectionObj) block:NULL delegate:delegate selector:selector error:error]); +} + +// NSString returning methods... + +- (NSString *)JSONString +{ + return([JKSerializer serializeObject:self options:JKSerializeOptionNone encodeOption:(JKEncodeOptionAsString | JKEncodeOptionCollectionObj) block:NULL delegate:NULL selector:NULL error:NULL]); +} + +- (NSString *)JSONStringWithOptions:(JKSerializeOptionFlags)serializeOptions error:(NSError **)error +{ + return([JKSerializer serializeObject:self options:serializeOptions encodeOption:(JKEncodeOptionAsString | JKEncodeOptionCollectionObj) block:NULL delegate:NULL selector:NULL error:error]); +} + +- (NSString *)JSONStringWithOptions:(JKSerializeOptionFlags)serializeOptions serializeUnsupportedClassesUsingDelegate:(id)delegate selector:(SEL)selector error:(NSError **)error +{ + return([JKSerializer serializeObject:self options:serializeOptions encodeOption:(JKEncodeOptionAsString | JKEncodeOptionCollectionObj) block:NULL delegate:delegate selector:selector error:error]); +} + +@end + + +#ifdef __BLOCKS__ + +@implementation NSArray (JSONKitSerializingBlockAdditions) + +- (NSData *)JSONDataWithOptions:(JKSerializeOptionFlags)serializeOptions serializeUnsupportedClassesUsingBlock:(id(^)(id object))block error:(NSError **)error +{ + return([JKSerializer serializeObject:self options:serializeOptions encodeOption:(JKEncodeOptionAsData | JKEncodeOptionCollectionObj) block:block delegate:NULL selector:NULL error:error]); +} + +- (NSString *)JSONStringWithOptions:(JKSerializeOptionFlags)serializeOptions serializeUnsupportedClassesUsingBlock:(id(^)(id object))block error:(NSError **)error +{ + return([JKSerializer serializeObject:self options:serializeOptions encodeOption:(JKEncodeOptionAsString | JKEncodeOptionCollectionObj) block:block delegate:NULL selector:NULL error:error]); +} + +@end + +@implementation NSDictionary (JSONKitSerializingBlockAdditions) + +- (NSData *)JSONDataWithOptions:(JKSerializeOptionFlags)serializeOptions serializeUnsupportedClassesUsingBlock:(id(^)(id object))block error:(NSError **)error +{ + return([JKSerializer serializeObject:self options:serializeOptions encodeOption:(JKEncodeOptionAsData | JKEncodeOptionCollectionObj) block:block delegate:NULL selector:NULL error:error]); +} + +- (NSString *)JSONStringWithOptions:(JKSerializeOptionFlags)serializeOptions serializeUnsupportedClassesUsingBlock:(id(^)(id object))block error:(NSError **)error +{ + return([JKSerializer serializeObject:self options:serializeOptions encodeOption:(JKEncodeOptionAsString | JKEncodeOptionCollectionObj) block:block delegate:NULL selector:NULL error:error]); +} + +@end + +#endif // __BLOCKS__ + diff --git a/Lumberjack/DDASLLogger.h b/Lumberjack/DDASLLogger.h new file mode 100755 index 0000000..0f2e963 --- /dev/null +++ b/Lumberjack/DDASLLogger.h @@ -0,0 +1,41 @@ +#import +#import + +#import "DDLog.h" + +/** + * Welcome to Cocoa Lumberjack! + * + * The project page has a wealth of documentation if you have any questions. + * https://github.com/robbiehanson/CocoaLumberjack + * + * If you're new to the project you may wish to read the "Getting Started" wiki. + * https://github.com/robbiehanson/CocoaLumberjack/wiki/GettingStarted + * + * + * This class provides a logger for the Apple System Log facility. + * + * As described in the "Getting Started" page, + * the traditional NSLog() function directs it's output to two places: + * + * - Apple System Log + * - StdErr (if stderr is a TTY) so log statements show up in Xcode console + * + * To duplicate NSLog() functionality you can simply add this logger and a tty logger. + * However, if you instead choose to use file logging (for faster performance), + * you may choose to use a file logger and a tty logger. +**/ + +@interface DDASLLogger : DDAbstractLogger +{ + aslclient client; +} + ++ (DDASLLogger *)sharedInstance; + +// Inherited from DDAbstractLogger + +// - (id )logFormatter; +// - (void)setLogFormatter:(id )formatter; + +@end diff --git a/Lumberjack/DDASLLogger.m b/Lumberjack/DDASLLogger.m new file mode 100755 index 0000000..0c35f2f --- /dev/null +++ b/Lumberjack/DDASLLogger.m @@ -0,0 +1,99 @@ +#import "DDASLLogger.h" + +#import + +/** + * Welcome to Cocoa Lumberjack! + * + * The project page has a wealth of documentation if you have any questions. + * https://github.com/robbiehanson/CocoaLumberjack + * + * If you're new to the project you may wish to read the "Getting Started" wiki. + * https://github.com/robbiehanson/CocoaLumberjack/wiki/GettingStarted +**/ + +#if ! __has_feature(objc_arc) +#warning This file must be compiled with ARC. Use -fobjc-arc flag (or convert project to ARC). +#endif + + +@implementation DDASLLogger + +static DDASLLogger *sharedInstance; + +/** + * The runtime sends initialize to each class in a program exactly one time just before the class, + * or any class that inherits from it, is sent its first message from within the program. (Thus the + * method may never be invoked if the class is not used.) The runtime sends the initialize message to + * classes in a thread-safe manner. Superclasses receive this message before their subclasses. + * + * This method may also be called directly (assumably by accident), hence the safety mechanism. +**/ ++ (void)initialize +{ + static BOOL initialized = NO; + if (!initialized) + { + initialized = YES; + + sharedInstance = [[DDASLLogger alloc] init]; + } +} + ++ (DDASLLogger *)sharedInstance +{ + return sharedInstance; +} + +- (id)init +{ + if (sharedInstance != nil) + { + return nil; + } + + if ((self = [super init])) + { + // A default asl client is provided for the main thread, + // but background threads need to create their own client. + + client = asl_open(NULL, "com.apple.console", 0); + } + return self; +} + +- (void)logMessage:(DDLogMessage *)logMessage +{ + NSString *logMsg = logMessage->logMsg; + + if (formatter) + { + logMsg = [formatter formatLogMessage:logMessage]; + } + + if (logMsg) + { + const char *msg = [logMsg UTF8String]; + + int aslLogLevel; + switch (logMessage->logFlag) + { + // Note: By default ASL will filter anything above level 5 (Notice). + // So our mappings shouldn't go above that level. + + case LOG_FLAG_ERROR : aslLogLevel = ASL_LEVEL_CRIT; break; + case LOG_FLAG_WARN : aslLogLevel = ASL_LEVEL_ERR; break; + case LOG_FLAG_INFO : aslLogLevel = ASL_LEVEL_WARNING; break; + default : aslLogLevel = ASL_LEVEL_NOTICE; break; + } + + asl_log(client, NULL, aslLogLevel, "%s", msg); + } +} + +- (NSString *)loggerName +{ + return @"cocoa.lumberjack.aslLogger"; +} + +@end diff --git a/Lumberjack/DDAbstractDatabaseLogger.h b/Lumberjack/DDAbstractDatabaseLogger.h new file mode 100755 index 0000000..436234e --- /dev/null +++ b/Lumberjack/DDAbstractDatabaseLogger.h @@ -0,0 +1,102 @@ +#import + +#import "DDLog.h" + +/** + * Welcome to Cocoa Lumberjack! + * + * The project page has a wealth of documentation if you have any questions. + * https://github.com/robbiehanson/CocoaLumberjack + * + * If you're new to the project you may wish to read the "Getting Started" wiki. + * https://github.com/robbiehanson/CocoaLumberjack/wiki/GettingStarted + * + * + * This class provides an abstract implementation of a database logger. + * + * That is, it provides the base implementation for a database logger to build atop of. + * All that is needed for a concrete database logger is to extend this class + * and override the methods in the implementation file that are prefixed with "db_". +**/ + +@interface DDAbstractDatabaseLogger : DDAbstractLogger { +@protected + NSUInteger saveThreshold; + NSTimeInterval saveInterval; + NSTimeInterval maxAge; + NSTimeInterval deleteInterval; + BOOL deleteOnEverySave; + + BOOL saveTimerSuspended; + NSUInteger unsavedCount; + dispatch_time_t unsavedTime; + dispatch_source_t saveTimer; + dispatch_time_t lastDeleteTime; + dispatch_source_t deleteTimer; +} + +/** + * Specifies how often to save the data to disk. + * Since saving is an expensive operation (disk io) it is not done after every log statement. + * These properties allow you to configure how/when the logger saves to disk. + * + * A save is done when either (whichever happens first): + * + * - The number of unsaved log entries reaches saveThreshold + * - The amount of time since the oldest unsaved log entry was created reaches saveInterval + * + * You can optionally disable the saveThreshold by setting it to zero. + * If you disable the saveThreshold you are entirely dependent on the saveInterval. + * + * You can optionally disable the saveInterval by setting it to zero (or a negative value). + * If you disable the saveInterval you are entirely dependent on the saveThreshold. + * + * It's not wise to disable both saveThreshold and saveInterval. + * + * The default saveThreshold is 500. + * The default saveInterval is 60 seconds. +**/ +@property (assign, readwrite) NSUInteger saveThreshold; +@property (assign, readwrite) NSTimeInterval saveInterval; + +/** + * It is likely you don't want the log entries to persist forever. + * Doing so would allow the database to grow infinitely large over time. + * + * The maxAge property provides a way to specify how old a log statement can get + * before it should get deleted from the database. + * + * The deleteInterval specifies how often to sweep for old log entries. + * Since deleting is an expensive operation (disk io) is is done on a fixed interval. + * + * An alternative to the deleteInterval is the deleteOnEverySave option. + * This specifies that old log entries should be deleted during every save operation. + * + * You can optionally disable the maxAge by setting it to zero (or a negative value). + * If you disable the maxAge then old log statements are not deleted. + * + * You can optionally disable the deleteInterval by setting it to zero (or a negative value). + * + * If you disable both deleteInterval and deleteOnEverySave then old log statements are not deleted. + * + * It's not wise to enable both deleteInterval and deleteOnEverySave. + * + * The default maxAge is 7 days. + * The default deleteInterval is 5 minutes. + * The default deleteOnEverySave is NO. +**/ +@property (assign, readwrite) NSTimeInterval maxAge; +@property (assign, readwrite) NSTimeInterval deleteInterval; +@property (assign, readwrite) BOOL deleteOnEverySave; + +/** + * Forces a save of any pending log entries (flushes log entries to disk). +**/ +- (void)savePendingLogEntries; + +/** + * Removes any log entries that are older than maxAge. +**/ +- (void)deleteOldLogEntries; + +@end diff --git a/Lumberjack/DDAbstractDatabaseLogger.m b/Lumberjack/DDAbstractDatabaseLogger.m new file mode 100755 index 0000000..c7366a6 --- /dev/null +++ b/Lumberjack/DDAbstractDatabaseLogger.m @@ -0,0 +1,727 @@ +#import "DDAbstractDatabaseLogger.h" +#import + +/** + * Welcome to Cocoa Lumberjack! + * + * The project page has a wealth of documentation if you have any questions. + * https://github.com/robbiehanson/CocoaLumberjack + * + * If you're new to the project you may wish to read the "Getting Started" wiki. + * https://github.com/robbiehanson/CocoaLumberjack/wiki/GettingStarted +**/ + +#if ! __has_feature(objc_arc) +#warning This file must be compiled with ARC. Use -fobjc-arc flag (or convert project to ARC). +#endif + +@interface DDAbstractDatabaseLogger () +- (void)destroySaveTimer; +- (void)destroyDeleteTimer; +@end + +#pragma mark - + +@implementation DDAbstractDatabaseLogger + +- (id)init +{ + if ((self = [super init])) + { + saveThreshold = 500; + saveInterval = 60; // 60 seconds + maxAge = (60 * 60 * 24 * 7); // 7 days + deleteInterval = (60 * 5); // 5 minutes + } + return self; +} + +- (void)dealloc +{ + [self destroySaveTimer]; + [self destroyDeleteTimer]; + +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark Override Me +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +- (BOOL)db_log:(DDLogMessage *)logMessage +{ + // Override me and add your implementation. + // + // Return YES if an item was added to the buffer. + // Return NO if the logMessage was ignored. + + return NO; +} + +- (void)db_save +{ + // Override me and add your implementation. +} + +- (void)db_delete +{ + // Override me and add your implementation. +} + +- (void)db_saveAndDelete +{ + // Override me and add your implementation. +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark Private API +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +- (void)performSaveAndSuspendSaveTimer +{ + if (unsavedCount > 0) + { + if (deleteOnEverySave) + [self db_saveAndDelete]; + else + [self db_save]; + } + + unsavedCount = 0; + unsavedTime = 0; + + if (saveTimer && !saveTimerSuspended) + { + dispatch_suspend(saveTimer); + saveTimerSuspended = YES; + } +} + +- (void)performDelete +{ + if (maxAge > 0.0) + { + [self db_delete]; + + lastDeleteTime = dispatch_time(DISPATCH_TIME_NOW, 0); + } +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark Timers +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +- (void)destroySaveTimer +{ + if (saveTimer) + { + dispatch_source_cancel(saveTimer); + if (saveTimerSuspended) + { + // Must resume a timer before releasing it (or it will crash) + dispatch_resume(saveTimer); + saveTimerSuspended = NO; + } + #if !OS_OBJECT_USE_OBJC + dispatch_release(saveTimer); + #endif + saveTimer = NULL; + } +} + +- (void)updateAndResumeSaveTimer +{ + if ((saveTimer != NULL) && (saveInterval > 0.0) && (unsavedTime > 0.0)) + { + uint64_t interval = (uint64_t)(saveInterval * NSEC_PER_SEC); + dispatch_time_t startTime = dispatch_time(unsavedTime, interval); + + dispatch_source_set_timer(saveTimer, startTime, interval, 1.0); + + if (saveTimerSuspended) + { + dispatch_resume(saveTimer); + saveTimerSuspended = NO; + } + } +} + +- (void)createSuspendedSaveTimer +{ + if ((saveTimer == NULL) && (saveInterval > 0.0)) + { + saveTimer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, loggerQueue); + + dispatch_source_set_event_handler(saveTimer, ^{ @autoreleasepool { + + [self performSaveAndSuspendSaveTimer]; + + }}); + + saveTimerSuspended = YES; + } +} + +- (void)destroyDeleteTimer +{ + if (deleteTimer) + { + dispatch_source_cancel(deleteTimer); + #if !OS_OBJECT_USE_OBJC + dispatch_release(deleteTimer); + #endif + deleteTimer = NULL; + } +} + +- (void)updateDeleteTimer +{ + if ((deleteTimer != NULL) && (deleteInterval > 0.0) && (maxAge > 0.0)) + { + uint64_t interval = (uint64_t)(deleteInterval * NSEC_PER_SEC); + dispatch_time_t startTime; + + if (lastDeleteTime > 0) + startTime = dispatch_time(lastDeleteTime, interval); + else + startTime = dispatch_time(DISPATCH_TIME_NOW, interval); + + dispatch_source_set_timer(deleteTimer, startTime, interval, 1.0); + } +} + +- (void)createAndStartDeleteTimer +{ + if ((deleteTimer == NULL) && (deleteInterval > 0.0) && (maxAge > 0.0)) + { + deleteTimer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, loggerQueue); + + if (deleteTimer != NULL) { + dispatch_source_set_event_handler(deleteTimer, ^{ @autoreleasepool { + + [self performDelete]; + + }}); + + [self updateDeleteTimer]; + + dispatch_resume(deleteTimer); + } + } +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark Configuration +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +- (NSUInteger)saveThreshold +{ + // The design of this method is taken from the DDAbstractLogger implementation. + // For extensive documentation please refer to the DDAbstractLogger implementation. + + // Note: The internal implementation MUST access the colorsEnabled variable directly, + // This method is designed explicitly for external access. + // + // Using "self." syntax to go through this method will cause immediate deadlock. + // This is the intended result. Fix it by accessing the ivar directly. + // Great strides have been take to ensure this is safe to do. Plus it's MUCH faster. + + NSAssert(![self isOnGlobalLoggingQueue], @"Core architecture requirement failure"); + NSAssert(![self isOnInternalLoggerQueue], @"MUST access ivar directly, NOT via self.* syntax."); + + dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue]; + + __block NSUInteger result; + + dispatch_sync(globalLoggingQueue, ^{ + dispatch_sync(loggerQueue, ^{ + result = saveThreshold; + }); + }); + + return result; +} + +- (void)setSaveThreshold:(NSUInteger)threshold +{ + dispatch_block_t block = ^{ @autoreleasepool { + + if (saveThreshold != threshold) + { + saveThreshold = threshold; + + // Since the saveThreshold has changed, + // we check to see if the current unsavedCount has surpassed the new threshold. + // + // If it has, we immediately save the log. + + if ((unsavedCount >= saveThreshold) && (saveThreshold > 0)) + { + [self performSaveAndSuspendSaveTimer]; + } + } + }}; + + // The design of the setter logic below is taken from the DDAbstractLogger implementation. + // For documentation please refer to the DDAbstractLogger implementation. + + if ([self isOnInternalLoggerQueue]) + { + block(); + } + else + { + dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue]; + NSAssert(![self isOnGlobalLoggingQueue], @"Core architecture requirement failure"); + + dispatch_async(globalLoggingQueue, ^{ + dispatch_async(loggerQueue, block); + }); + } +} + +- (NSTimeInterval)saveInterval +{ + // The design of this method is taken from the DDAbstractLogger implementation. + // For extensive documentation please refer to the DDAbstractLogger implementation. + + // Note: The internal implementation MUST access the colorsEnabled variable directly, + // This method is designed explicitly for external access. + // + // Using "self." syntax to go through this method will cause immediate deadlock. + // This is the intended result. Fix it by accessing the ivar directly. + // Great strides have been take to ensure this is safe to do. Plus it's MUCH faster. + + NSAssert(![self isOnGlobalLoggingQueue], @"Core architecture requirement failure"); + NSAssert(![self isOnInternalLoggerQueue], @"MUST access ivar directly, NOT via self.* syntax."); + + dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue]; + + __block NSTimeInterval result; + + dispatch_sync(globalLoggingQueue, ^{ + dispatch_sync(loggerQueue, ^{ + result = saveInterval; + }); + }); + + return result; +} + +- (void)setSaveInterval:(NSTimeInterval)interval +{ + dispatch_block_t block = ^{ @autoreleasepool { + + // C99 recommended floating point comparison macro + // Read: isLessThanOrGreaterThan(floatA, floatB) + + if (/* saveInterval != interval */ islessgreater(saveInterval, interval)) + { + saveInterval = interval; + + // There are several cases we need to handle here. + // + // 1. If the saveInterval was previously enabled and it just got disabled, + // then we need to stop the saveTimer. (And we might as well release it.) + // + // 2. If the saveInterval was previously disabled and it just got enabled, + // then we need to setup the saveTimer. (Plus we might need to do an immediate save.) + // + // 3. If the saveInterval increased, then we need to reset the timer so that it fires at the later date. + // + // 4. If the saveInterval decreased, then we need to reset the timer so that it fires at an earlier date. + // (Plus we might need to do an immediate save.) + + if (saveInterval > 0.0) + { + if (saveTimer == NULL) + { + // Handles #2 + // + // Since the saveTimer uses the unsavedTime to calculate it's first fireDate, + // if a save is needed the timer will fire immediately. + + [self createSuspendedSaveTimer]; + [self updateAndResumeSaveTimer]; + } + else + { + // Handles #3 + // Handles #4 + // + // Since the saveTimer uses the unsavedTime to calculate it's first fireDate, + // if a save is needed the timer will fire immediately. + + [self updateAndResumeSaveTimer]; + } + } + else if (saveTimer) + { + // Handles #1 + + [self destroySaveTimer]; + } + } + }}; + + // The design of the setter logic below is taken from the DDAbstractLogger implementation. + // For documentation please refer to the DDAbstractLogger implementation. + + if ([self isOnInternalLoggerQueue]) + { + block(); + } + else + { + dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue]; + NSAssert(![self isOnGlobalLoggingQueue], @"Core architecture requirement failure"); + + dispatch_async(globalLoggingQueue, ^{ + dispatch_async(loggerQueue, block); + }); + } +} + +- (NSTimeInterval)maxAge +{ + // The design of this method is taken from the DDAbstractLogger implementation. + // For extensive documentation please refer to the DDAbstractLogger implementation. + + // Note: The internal implementation MUST access the colorsEnabled variable directly, + // This method is designed explicitly for external access. + // + // Using "self." syntax to go through this method will cause immediate deadlock. + // This is the intended result. Fix it by accessing the ivar directly. + // Great strides have been take to ensure this is safe to do. Plus it's MUCH faster. + + NSAssert(![self isOnGlobalLoggingQueue], @"Core architecture requirement failure"); + NSAssert(![self isOnInternalLoggerQueue], @"MUST access ivar directly, NOT via self.* syntax."); + + dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue]; + + __block NSTimeInterval result; + + dispatch_sync(globalLoggingQueue, ^{ + dispatch_sync(loggerQueue, ^{ + result = maxAge; + }); + }); + + return result; +} + +- (void)setMaxAge:(NSTimeInterval)interval +{ + dispatch_block_t block = ^{ @autoreleasepool { + + // C99 recommended floating point comparison macro + // Read: isLessThanOrGreaterThan(floatA, floatB) + + if (/* maxAge != interval */ islessgreater(maxAge, interval)) + { + NSTimeInterval oldMaxAge = maxAge; + NSTimeInterval newMaxAge = interval; + + maxAge = interval; + + // There are several cases we need to handle here. + // + // 1. If the maxAge was previously enabled and it just got disabled, + // then we need to stop the deleteTimer. (And we might as well release it.) + // + // 2. If the maxAge was previously disabled and it just got enabled, + // then we need to setup the deleteTimer. (Plus we might need to do an immediate delete.) + // + // 3. If the maxAge was increased, + // then we don't need to do anything. + // + // 4. If the maxAge was decreased, + // then we should do an immediate delete. + + BOOL shouldDeleteNow = NO; + + if (oldMaxAge > 0.0) + { + if (newMaxAge <= 0.0) + { + // Handles #1 + + [self destroyDeleteTimer]; + } + else if (oldMaxAge > newMaxAge) + { + // Handles #4 + shouldDeleteNow = YES; + } + } + else if (newMaxAge > 0.0) + { + // Handles #2 + shouldDeleteNow = YES; + } + + if (shouldDeleteNow) + { + [self performDelete]; + + if (deleteTimer) + [self updateDeleteTimer]; + else + [self createAndStartDeleteTimer]; + } + } + }}; + + // The design of the setter logic below is taken from the DDAbstractLogger implementation. + // For documentation please refer to the DDAbstractLogger implementation. + + if ([self isOnInternalLoggerQueue]) + { + block(); + } + else + { + dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue]; + NSAssert(![self isOnGlobalLoggingQueue], @"Core architecture requirement failure"); + + dispatch_async(globalLoggingQueue, ^{ + dispatch_async(loggerQueue, block); + }); + } +} + +- (NSTimeInterval)deleteInterval +{ + // The design of this method is taken from the DDAbstractLogger implementation. + // For extensive documentation please refer to the DDAbstractLogger implementation. + + // Note: The internal implementation MUST access the colorsEnabled variable directly, + // This method is designed explicitly for external access. + // + // Using "self." syntax to go through this method will cause immediate deadlock. + // This is the intended result. Fix it by accessing the ivar directly. + // Great strides have been take to ensure this is safe to do. Plus it's MUCH faster. + + NSAssert(![self isOnGlobalLoggingQueue], @"Core architecture requirement failure"); + NSAssert(![self isOnInternalLoggerQueue], @"MUST access ivar directly, NOT via self.* syntax."); + + dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue]; + + __block NSTimeInterval result; + + dispatch_sync(globalLoggingQueue, ^{ + dispatch_sync(loggerQueue, ^{ + result = deleteInterval; + }); + }); + + return result; +} + +- (void)setDeleteInterval:(NSTimeInterval)interval +{ + dispatch_block_t block = ^{ @autoreleasepool { + + // C99 recommended floating point comparison macro + // Read: isLessThanOrGreaterThan(floatA, floatB) + + if (/* deleteInterval != interval */ islessgreater(deleteInterval, interval)) + { + deleteInterval = interval; + + // There are several cases we need to handle here. + // + // 1. If the deleteInterval was previously enabled and it just got disabled, + // then we need to stop the deleteTimer. (And we might as well release it.) + // + // 2. If the deleteInterval was previously disabled and it just got enabled, + // then we need to setup the deleteTimer. (Plus we might need to do an immediate delete.) + // + // 3. If the deleteInterval increased, then we need to reset the timer so that it fires at the later date. + // + // 4. If the deleteInterval decreased, then we need to reset the timer so that it fires at an earlier date. + // (Plus we might need to do an immediate delete.) + + if (deleteInterval > 0.0) + { + if (deleteTimer == NULL) + { + // Handles #2 + // + // Since the deleteTimer uses the lastDeleteTime to calculate it's first fireDate, + // if a delete is needed the timer will fire immediately. + + [self createAndStartDeleteTimer]; + } + else + { + // Handles #3 + // Handles #4 + // + // Since the deleteTimer uses the lastDeleteTime to calculate it's first fireDate, + // if a save is needed the timer will fire immediately. + + [self updateDeleteTimer]; + } + } + else if (deleteTimer) + { + // Handles #1 + + [self destroyDeleteTimer]; + } + } + }}; + + // The design of the setter logic below is taken from the DDAbstractLogger implementation. + // For documentation please refer to the DDAbstractLogger implementation. + + if ([self isOnInternalLoggerQueue]) + { + block(); + } + else + { + dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue]; + NSAssert(![self isOnGlobalLoggingQueue], @"Core architecture requirement failure"); + + dispatch_async(globalLoggingQueue, ^{ + dispatch_async(loggerQueue, block); + }); + } +} + +- (BOOL)deleteOnEverySave +{ + // The design of this method is taken from the DDAbstractLogger implementation. + // For extensive documentation please refer to the DDAbstractLogger implementation. + + // Note: The internal implementation MUST access the colorsEnabled variable directly, + // This method is designed explicitly for external access. + // + // Using "self." syntax to go through this method will cause immediate deadlock. + // This is the intended result. Fix it by accessing the ivar directly. + // Great strides have been take to ensure this is safe to do. Plus it's MUCH faster. + + NSAssert(![self isOnGlobalLoggingQueue], @"Core architecture requirement failure"); + NSAssert(![self isOnInternalLoggerQueue], @"MUST access ivar directly, NOT via self.* syntax."); + + dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue]; + + __block BOOL result; + + dispatch_sync(globalLoggingQueue, ^{ + dispatch_sync(loggerQueue, ^{ + result = deleteOnEverySave; + }); + }); + + return result; +} + +- (void)setDeleteOnEverySave:(BOOL)flag +{ + dispatch_block_t block = ^{ + + deleteOnEverySave = flag; + }; + + // The design of the setter logic below is taken from the DDAbstractLogger implementation. + // For documentation please refer to the DDAbstractLogger implementation. + + if ([self isOnInternalLoggerQueue]) + { + block(); + } + else + { + dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue]; + NSAssert(![self isOnGlobalLoggingQueue], @"Core architecture requirement failure"); + + dispatch_async(globalLoggingQueue, ^{ + dispatch_async(loggerQueue, block); + }); + } +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark Public API +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +- (void)savePendingLogEntries +{ + dispatch_block_t block = ^{ @autoreleasepool { + + [self performSaveAndSuspendSaveTimer]; + }}; + + if ([self isOnInternalLoggerQueue]) + block(); + else + dispatch_async(loggerQueue, block); +} + +- (void)deleteOldLogEntries +{ + dispatch_block_t block = ^{ @autoreleasepool { + + [self performDelete]; + }}; + + if ([self isOnInternalLoggerQueue]) + block(); + else + dispatch_async(loggerQueue, block); +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark DDLogger +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +- (void)didAddLogger +{ + // If you override me be sure to invoke [super didAddLogger]; + + [self createSuspendedSaveTimer]; + + [self createAndStartDeleteTimer]; +} + +- (void)willRemoveLogger +{ + // If you override me be sure to invoke [super willRemoveLogger]; + + [self performSaveAndSuspendSaveTimer]; + + [self destroySaveTimer]; + [self destroyDeleteTimer]; +} + +- (void)logMessage:(DDLogMessage *)logMessage +{ + if ([self db_log:logMessage]) + { + BOOL firstUnsavedEntry = (++unsavedCount == 1); + + if ((unsavedCount >= saveThreshold) && (saveThreshold > 0)) + { + [self performSaveAndSuspendSaveTimer]; + } + else if (firstUnsavedEntry) + { + unsavedTime = dispatch_time(DISPATCH_TIME_NOW, 0); + [self updateAndResumeSaveTimer]; + } + } +} + +- (void)flush +{ + // This method is invoked by DDLog's flushLog method. + // + // It is called automatically when the application quits, + // or if the developer invokes DDLog's flushLog method prior to crashing or something. + + [self performSaveAndSuspendSaveTimer]; +} + +@end diff --git a/Lumberjack/DDFileLogger.h b/Lumberjack/DDFileLogger.h new file mode 100755 index 0000000..5af6376 --- /dev/null +++ b/Lumberjack/DDFileLogger.h @@ -0,0 +1,334 @@ +#import +#import "DDLog.h" + +@class DDLogFileInfo; + +/** + * Welcome to Cocoa Lumberjack! + * + * The project page has a wealth of documentation if you have any questions. + * https://github.com/robbiehanson/CocoaLumberjack + * + * If you're new to the project you may wish to read the "Getting Started" wiki. + * https://github.com/robbiehanson/CocoaLumberjack/wiki/GettingStarted + * + * + * This class provides a logger to write log statements to a file. +**/ + + +// Default configuration and safety/sanity values. +// +// maximumFileSize -> DEFAULT_LOG_MAX_FILE_SIZE +// rollingFrequency -> DEFAULT_LOG_ROLLING_FREQUENCY +// maximumNumberOfLogFiles -> DEFAULT_LOG_MAX_NUM_LOG_FILES +// +// You should carefully consider the proper configuration values for your application. + +#define DEFAULT_LOG_MAX_FILE_SIZE (1024 * 1024) // 1 MB +#define DEFAULT_LOG_ROLLING_FREQUENCY (60 * 60 * 24) // 24 Hours +#define DEFAULT_LOG_MAX_NUM_LOG_FILES (5) // 5 Files + + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark - +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +// The LogFileManager protocol is designed to allow you to control all aspects of your log files. +// +// The primary purpose of this is to allow you to do something with the log files after they have been rolled. +// Perhaps you want to compress them to save disk space. +// Perhaps you want to upload them to an FTP server. +// Perhaps you want to run some analytics on the file. +// +// A default LogFileManager is, of course, provided. +// The default LogFileManager simply deletes old log files according to the maximumNumberOfLogFiles property. +// +// This protocol provides various methods to fetch the list of log files. +// +// There are two variants: sorted and unsorted. +// If sorting is not necessary, the unsorted variant is obviously faster. +// The sorted variant will return an array sorted by when the log files were created, +// with the most recently created log file at index 0, and the oldest log file at the end of the array. +// +// You can fetch only the log file paths (full path including name), log file names (name only), +// or an array of DDLogFileInfo objects. +// The DDLogFileInfo class is documented below, and provides a handy wrapper that +// gives you easy access to various file attributes such as the creation date or the file size. + +@protocol DDLogFileManager +@required + +// Public properties + +/** + * The maximum number of archived log files to keep on disk. + * For example, if this property is set to 3, + * then the LogFileManager will only keep 3 archived log files (plus the current active log file) on disk. + * Once the active log file is rolled/archived, then the oldest of the existing 3 rolled/archived log files is deleted. + * + * You may optionally disable deleting old/rolled/archived log files by setting this property to zero. +**/ +@property (readwrite, assign) NSUInteger maximumNumberOfLogFiles; + +// Public methods + +- (NSString *)logsDirectory; + +- (NSArray *)unsortedLogFilePaths; +- (NSArray *)unsortedLogFileNames; +- (NSArray *)unsortedLogFileInfos; + +- (NSArray *)sortedLogFilePaths; +- (NSArray *)sortedLogFileNames; +- (NSArray *)sortedLogFileInfos; + +// Private methods (only to be used by DDFileLogger) + +- (NSString *)createNewLogFile; + +@optional + +// Notifications from DDFileLogger + +- (void)didArchiveLogFile:(NSString *)logFilePath; +- (void)didRollAndArchiveLogFile:(NSString *)logFilePath; + +@end + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark - +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +/** + * Default log file manager. + * + * All log files are placed inside the logsDirectory. + * If a specific logsDirectory isn't specified, the default directory is used. + * On Mac, this is in ~/Library/Logs/. + * On iPhone, this is in ~/Library/Caches/Logs. + * + * Log files are named "log-.txt", + * where uuid is a 6 character hexadecimal consisting of the set [0123456789ABCDEF]. + * + * Archived log files are automatically deleted according to the maximumNumberOfLogFiles property. +**/ +@interface DDLogFileManagerDefault : NSObject +{ + NSUInteger maximumNumberOfLogFiles; + NSString *_logsDirectory; +} + +- (id)init; +- (id)initWithLogsDirectory:(NSString *)logsDirectory; + +/* Inherited from DDLogFileManager protocol: + +@property (readwrite, assign) NSUInteger maximumNumberOfLogFiles; + +- (NSString *)logsDirectory; + +- (NSArray *)unsortedLogFilePaths; +- (NSArray *)unsortedLogFileNames; +- (NSArray *)unsortedLogFileInfos; + +- (NSArray *)sortedLogFilePaths; +- (NSArray *)sortedLogFileNames; +- (NSArray *)sortedLogFileInfos; + +*/ + +@end + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark - +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +/** + * Most users will want file log messages to be prepended with the date and time. + * Rather than forcing the majority of users to write their own formatter, + * we will supply a logical default formatter. + * Users can easily replace this formatter with their own by invoking the setLogFormatter method. + * It can also be removed by calling setLogFormatter, and passing a nil parameter. + * + * In addition to the convenience of having a logical default formatter, + * it will also provide a template that makes it easy for developers to copy and change. +**/ +@interface DDLogFileFormatterDefault : NSObject +{ + NSDateFormatter *dateFormatter; +} + +- (id)init; +- (id)initWithDateFormatter:(NSDateFormatter *)dateFormatter; + +@end + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark - +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +@interface DDFileLogger : DDAbstractLogger +{ + __strong id logFileManager; + + DDLogFileInfo *currentLogFileInfo; + NSFileHandle *currentLogFileHandle; + + dispatch_source_t rollingTimer; + + unsigned long long maximumFileSize; + NSTimeInterval rollingFrequency; +} + +- (id)init; +- (id)initWithLogFileManager:(id )logFileManager; + +/** + * Log File Rolling: + * + * maximumFileSize: + * The approximate maximum size to allow log files to grow. + * If a log file is larger than this value after a log statement is appended, + * then the log file is rolled. + * + * rollingFrequency + * How often to roll the log file. + * The frequency is given as an NSTimeInterval, which is a double that specifies the interval in seconds. + * Once the log file gets to be this old, it is rolled. + * + * Both the maximumFileSize and the rollingFrequency are used to manage rolling. + * Whichever occurs first will cause the log file to be rolled. + * + * For example: + * The rollingFrequency is 24 hours, + * but the log file surpasses the maximumFileSize after only 20 hours. + * The log file will be rolled at that 20 hour mark. + * A new log file will be created, and the 24 hour timer will be restarted. + * + * You may optionally disable rolling due to filesize by setting maximumFileSize to zero. + * If you do so, rolling is based solely on rollingFrequency. + * + * You may optionally disable rolling due to time by setting rollingFrequency to zero (or any non-positive number). + * If you do so, rolling is based solely on maximumFileSize. + * + * If you disable both maximumFileSize and rollingFrequency, then the log file won't ever be rolled. + * This is strongly discouraged. +**/ +@property (readwrite, assign) unsigned long long maximumFileSize; +@property (readwrite, assign) NSTimeInterval rollingFrequency; + +/** + * The DDLogFileManager instance can be used to retrieve the list of log files, + * and configure the maximum number of archived log files to keep. + * + * @see DDLogFileManager.maximumNumberOfLogFiles +**/ +@property (strong, nonatomic, readonly) id logFileManager; + + +// You can optionally force the current log file to be rolled with this method. + +- (void)rollLogFile; + +// Inherited from DDAbstractLogger + +// - (id )logFormatter; +// - (void)setLogFormatter:(id )formatter; + +@end + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark - +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +/** + * DDLogFileInfo is a simple class that provides access to various file attributes. + * It provides good performance as it only fetches the information if requested, + * and it caches the information to prevent duplicate fetches. + * + * It was designed to provide quick snapshots of the current state of log files, + * and to help sort log files in an array. + * + * This class does not monitor the files, or update it's cached attribute values if the file changes on disk. + * This is not what the class was designed for. + * + * If you absolutely must get updated values, + * you can invoke the reset method which will clear the cache. +**/ +@interface DDLogFileInfo : NSObject +{ + __strong NSString *filePath; + __strong NSString *fileName; + + __strong NSDictionary *fileAttributes; + + __strong NSDate *creationDate; + __strong NSDate *modificationDate; + + unsigned long long fileSize; +} + +@property (strong, nonatomic, readonly) NSString *filePath; +@property (strong, nonatomic, readonly) NSString *fileName; + +@property (strong, nonatomic, readonly) NSDictionary *fileAttributes; + +@property (strong, nonatomic, readonly) NSDate *creationDate; +@property (strong, nonatomic, readonly) NSDate *modificationDate; + +@property (nonatomic, readonly) unsigned long long fileSize; + +@property (nonatomic, readonly) NSTimeInterval age; + +@property (nonatomic, readwrite) BOOL isArchived; + ++ (id)logFileWithPath:(NSString *)filePath; + +- (id)initWithFilePath:(NSString *)filePath; + +- (void)reset; +- (void)renameFile:(NSString *)newFileName; + +#if TARGET_IPHONE_SIMULATOR + +// So here's the situation. +// Extended attributes are perfect for what we're trying to do here (marking files as archived). +// This is exactly what extended attributes were designed for. +// +// But Apple screws us over on the simulator. +// Everytime you build-and-go, they copy the application into a new folder on the hard drive, +// and as part of the process they strip extended attributes from our log files. +// Normally, a copy of a file preserves extended attributes. +// So obviously Apple has gone to great lengths to piss us off. +// +// Thus we use a slightly different tactic for marking log files as archived in the simulator. +// That way it "just works" and there's no confusion when testing. +// +// The difference in method names is indicative of the difference in functionality. +// On the simulator we add an attribute by appending a filename extension. +// +// For example: +// log-ABC123.txt -> log-ABC123.archived.txt + +- (BOOL)hasExtensionAttributeWithName:(NSString *)attrName; + +- (void)addExtensionAttributeWithName:(NSString *)attrName; +- (void)removeExtensionAttributeWithName:(NSString *)attrName; + +#else + +// Normal use of extended attributes used everywhere else, +// such as on Macs and on iPhone devices. + +- (BOOL)hasExtendedAttributeWithName:(NSString *)attrName; + +- (void)addExtendedAttributeWithName:(NSString *)attrName; +- (void)removeExtendedAttributeWithName:(NSString *)attrName; + +#endif + +- (NSComparisonResult)reverseCompareByCreationDate:(DDLogFileInfo *)another; +- (NSComparisonResult)reverseCompareByModificationDate:(DDLogFileInfo *)another; + +@end diff --git a/Lumberjack/DDFileLogger.m b/Lumberjack/DDFileLogger.m new file mode 100755 index 0000000..afe7cc1 --- /dev/null +++ b/Lumberjack/DDFileLogger.m @@ -0,0 +1,1353 @@ +#import "DDFileLogger.h" + +#import +#import +#import +#import + +/** + * Welcome to Cocoa Lumberjack! + * + * The project page has a wealth of documentation if you have any questions. + * https://github.com/robbiehanson/CocoaLumberjack + * + * If you're new to the project you may wish to read the "Getting Started" wiki. + * https://github.com/robbiehanson/CocoaLumberjack/wiki/GettingStarted +**/ + +#if ! __has_feature(objc_arc) +#warning This file must be compiled with ARC. Use -fobjc-arc flag (or convert project to ARC). +#endif + +// We probably shouldn't be using DDLog() statements within the DDLog implementation. +// But we still want to leave our log statements for any future debugging, +// and to allow other developers to trace the implementation (which is a great learning tool). +// +// So we use primitive logging macros around NSLog. +// We maintain the NS prefix on the macros to be explicit about the fact that we're using NSLog. + +#define LOG_LEVEL 2 + +#define NSLogError(frmt, ...) do{ if(LOG_LEVEL >= 1) NSLog((frmt), ##__VA_ARGS__); } while(0) +#define NSLogWarn(frmt, ...) do{ if(LOG_LEVEL >= 2) NSLog((frmt), ##__VA_ARGS__); } while(0) +#define NSLogInfo(frmt, ...) do{ if(LOG_LEVEL >= 3) NSLog((frmt), ##__VA_ARGS__); } while(0) +#define NSLogVerbose(frmt, ...) do{ if(LOG_LEVEL >= 4) NSLog((frmt), ##__VA_ARGS__); } while(0) + +@interface DDLogFileManagerDefault (PrivateAPI) + +- (void)deleteOldLogFiles; +- (NSString *)defaultLogsDirectory; + +@end + +@interface DDFileLogger (PrivateAPI) + +- (void)rollLogFileNow; +- (void)maybeRollLogFileDueToAge; +- (void)maybeRollLogFileDueToSize; + +@end + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark - +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +@implementation DDLogFileManagerDefault + +@synthesize maximumNumberOfLogFiles; + +- (id)init +{ + return [self initWithLogsDirectory:nil]; +} + +- (id)initWithLogsDirectory:(NSString *)aLogsDirectory +{ + if ((self = [super init])) + { + maximumNumberOfLogFiles = DEFAULT_LOG_MAX_NUM_LOG_FILES; + + if (aLogsDirectory) + _logsDirectory = [aLogsDirectory copy]; + else + _logsDirectory = [[self defaultLogsDirectory] copy]; + + NSKeyValueObservingOptions kvoOptions = NSKeyValueObservingOptionOld | NSKeyValueObservingOptionNew; + + [self addObserver:self forKeyPath:@"maximumNumberOfLogFiles" options:kvoOptions context:nil]; + + NSLogVerbose(@"DDFileLogManagerDefault: logsDirectory:\n%@", [self logsDirectory]); + NSLogVerbose(@"DDFileLogManagerDefault: sortedLogFileNames:\n%@", [self sortedLogFileNames]); + } + return self; +} + +- (void)dealloc +{ + [self removeObserver:self forKeyPath:@"maximumNumberOfLogFiles"]; +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark Configuration +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +- (void)observeValueForKeyPath:(NSString *)keyPath + ofObject:(id)object + change:(NSDictionary *)change + context:(void *)context +{ + NSNumber *old = [change objectForKey:NSKeyValueChangeOldKey]; + NSNumber *new = [change objectForKey:NSKeyValueChangeNewKey]; + + if ([old isEqual:new]) + { + // No change in value - don't bother with any processing. + return; + } + + if ([keyPath isEqualToString:@"maximumNumberOfLogFiles"]) + { + NSLogInfo(@"DDFileLogManagerDefault: Responding to configuration change: maximumNumberOfLogFiles"); + + dispatch_async([DDLog loggingQueue], ^{ @autoreleasepool { + + [self deleteOldLogFiles]; + }}); + } +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark File Deleting +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +/** + * Deletes archived log files that exceed the maximumNumberOfLogFiles configuration value. +**/ +- (void)deleteOldLogFiles +{ + NSLogVerbose(@"DDLogFileManagerDefault: deleteOldLogFiles"); + + NSUInteger maxNumLogFiles = self.maximumNumberOfLogFiles; + if (maxNumLogFiles == 0) + { + // Unlimited - don't delete any log files + return; + } + + NSArray *sortedLogFileInfos = [self sortedLogFileInfos]; + + // Do we consider the first file? + // We are only supposed to be deleting archived files. + // In most cases, the first file is likely the log file that is currently being written to. + // So in most cases, we do not want to consider this file for deletion. + + NSUInteger count = [sortedLogFileInfos count]; + BOOL excludeFirstFile = NO; + + if (count > 0) + { + DDLogFileInfo *logFileInfo = [sortedLogFileInfos objectAtIndex:0]; + + if (!logFileInfo.isArchived) + { + excludeFirstFile = YES; + } + } + + NSArray *sortedArchivedLogFileInfos; + if (excludeFirstFile) + { + count--; + sortedArchivedLogFileInfos = [sortedLogFileInfos subarrayWithRange:NSMakeRange(1, count)]; + } + else + { + sortedArchivedLogFileInfos = sortedLogFileInfos; + } + + NSUInteger i; + for (i = maxNumLogFiles; i < count; i++) + { + DDLogFileInfo *logFileInfo = [sortedArchivedLogFileInfos objectAtIndex:i]; + + NSLogInfo(@"DDLogFileManagerDefault: Deleting file: %@", logFileInfo.fileName); + + [[NSFileManager defaultManager] removeItemAtPath:logFileInfo.filePath error:nil]; + } +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark Log Files +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +/** + * Returns the path to the default logs directory. + * If the logs directory doesn't exist, this method automatically creates it. +**/ +- (NSString *)defaultLogsDirectory +{ +#if TARGET_OS_IPHONE + NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES); + NSString *baseDir = ([paths count] > 0) ? [paths objectAtIndex:0] : nil; + NSString *logsDirectory = [baseDir stringByAppendingPathComponent:@"Logs"]; + +#else + NSString *appName = [[NSProcessInfo processInfo] processName]; + NSArray *paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES); + NSString *basePath = ([paths count] > 0) ? [paths objectAtIndex:0] : NSTemporaryDirectory(); + NSString *logsDirectory = [[basePath stringByAppendingPathComponent:@"Logs"] stringByAppendingPathComponent:appName]; + +#endif + + return logsDirectory; +} + +- (NSString *)logsDirectory +{ + // We could do this check once, during initalization, and not bother again. + // But this way the code continues to work if the directory gets deleted while the code is running. + + if (![[NSFileManager defaultManager] fileExistsAtPath:_logsDirectory]) + { + NSError *err = nil; + if (![[NSFileManager defaultManager] createDirectoryAtPath:_logsDirectory + withIntermediateDirectories:YES attributes:nil error:&err]) + { + NSLogError(@"DDFileLogManagerDefault: Error creating logsDirectory: %@", err); + } + } + + return _logsDirectory; +} + +- (BOOL)isLogFile:(NSString *)fileName +{ + // A log file has a name like "log-.txt", where is a HEX-string of 6 characters. + // + // For example: log-DFFE99.txt + + BOOL hasProperPrefix = [fileName hasPrefix:@"log-"]; + + BOOL hasProperLength = [fileName length] >= 10; + + + if (hasProperPrefix && hasProperLength) + { + NSCharacterSet *hexSet = [NSCharacterSet characterSetWithCharactersInString:@"0123456789ABCDEF"]; + + NSString *hex = [fileName substringWithRange:NSMakeRange(4, 6)]; + NSString *nohex = [hex stringByTrimmingCharactersInSet:hexSet]; + + if ([nohex length] == 0) + { + return YES; + } + } + + return NO; +} + +/** + * Returns an array of NSString objects, + * each of which is the filePath to an existing log file on disk. +**/ +- (NSArray *)unsortedLogFilePaths +{ + NSString *logsDirectory = [self logsDirectory]; + NSArray *fileNames = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:logsDirectory error:nil]; + + NSMutableArray *unsortedLogFilePaths = [NSMutableArray arrayWithCapacity:[fileNames count]]; + + for (NSString *fileName in fileNames) + { + // Filter out any files that aren't log files. (Just for extra safety) + + if ([self isLogFile:fileName]) + { + NSString *filePath = [logsDirectory stringByAppendingPathComponent:fileName]; + + [unsortedLogFilePaths addObject:filePath]; + } + } + + return unsortedLogFilePaths; +} + +/** + * Returns an array of NSString objects, + * each of which is the fileName of an existing log file on disk. +**/ +- (NSArray *)unsortedLogFileNames +{ + NSArray *unsortedLogFilePaths = [self unsortedLogFilePaths]; + + NSMutableArray *unsortedLogFileNames = [NSMutableArray arrayWithCapacity:[unsortedLogFilePaths count]]; + + for (NSString *filePath in unsortedLogFilePaths) + { + [unsortedLogFileNames addObject:[filePath lastPathComponent]]; + } + + return unsortedLogFileNames; +} + +/** + * Returns an array of DDLogFileInfo objects, + * each representing an existing log file on disk, + * and containing important information about the log file such as it's modification date and size. +**/ +- (NSArray *)unsortedLogFileInfos +{ + NSArray *unsortedLogFilePaths = [self unsortedLogFilePaths]; + + NSMutableArray *unsortedLogFileInfos = [NSMutableArray arrayWithCapacity:[unsortedLogFilePaths count]]; + + for (NSString *filePath in unsortedLogFilePaths) + { + DDLogFileInfo *logFileInfo = [[DDLogFileInfo alloc] initWithFilePath:filePath]; + + [unsortedLogFileInfos addObject:logFileInfo]; + } + + return unsortedLogFileInfos; +} + +/** + * Just like the unsortedLogFilePaths method, but sorts the array. + * The items in the array are sorted by modification date. + * The first item in the array will be the most recently modified log file. +**/ +- (NSArray *)sortedLogFilePaths +{ + NSArray *sortedLogFileInfos = [self sortedLogFileInfos]; + + NSMutableArray *sortedLogFilePaths = [NSMutableArray arrayWithCapacity:[sortedLogFileInfos count]]; + + for (DDLogFileInfo *logFileInfo in sortedLogFileInfos) + { + [sortedLogFilePaths addObject:[logFileInfo filePath]]; + } + + return sortedLogFilePaths; +} + +/** + * Just like the unsortedLogFileNames method, but sorts the array. + * The items in the array are sorted by modification date. + * The first item in the array will be the most recently modified log file. +**/ +- (NSArray *)sortedLogFileNames +{ + NSArray *sortedLogFileInfos = [self sortedLogFileInfos]; + + NSMutableArray *sortedLogFileNames = [NSMutableArray arrayWithCapacity:[sortedLogFileInfos count]]; + + for (DDLogFileInfo *logFileInfo in sortedLogFileInfos) + { + [sortedLogFileNames addObject:[logFileInfo fileName]]; + } + + return sortedLogFileNames; +} + +/** + * Just like the unsortedLogFileInfos method, but sorts the array. + * The items in the array are sorted by modification date. + * The first item in the array will be the most recently modified log file. +**/ +- (NSArray *)sortedLogFileInfos +{ + return [[self unsortedLogFileInfos] sortedArrayUsingSelector:@selector(reverseCompareByCreationDate:)]; +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark Creation +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +/** + * Generates a short UUID suitable for use in the log file's name. + * The result will have six characters, all in the hexadecimal set [0123456789ABCDEF]. +**/ +- (NSString *)generateShortUUID +{ + CFUUIDRef uuid = CFUUIDCreate(NULL); + + CFStringRef fullStr = CFUUIDCreateString(NULL, uuid); + NSString *result = (__bridge_transfer NSString *)CFStringCreateWithSubstring(NULL, fullStr, CFRangeMake(0, 6)); + + CFRelease(fullStr); + CFRelease(uuid); + + return result; +} + +/** + * Generates a new unique log file path, and creates the corresponding log file. +**/ +- (NSString *)createNewLogFile +{ + // Generate a random log file name, and create the file (if there isn't a collision) + + NSString *logsDirectory = [self logsDirectory]; + do + { + NSString *fileName = [NSString stringWithFormat:@"log-%@.txt", [self generateShortUUID]]; + + NSString *filePath = [logsDirectory stringByAppendingPathComponent:fileName]; + + if (![[NSFileManager defaultManager] fileExistsAtPath:filePath]) + { + NSLogVerbose(@"DDLogFileManagerDefault: Creating new log file: %@", fileName); + + [[NSFileManager defaultManager] createFileAtPath:filePath contents:nil attributes:nil]; + + // Since we just created a new log file, we may need to delete some old log files + [self deleteOldLogFiles]; + + return filePath; + } + + } while(YES); +} + +@end + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark - +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +@implementation DDLogFileFormatterDefault + +- (id)init +{ + return [self initWithDateFormatter:nil]; +} + +- (id)initWithDateFormatter:(NSDateFormatter *)aDateFormatter +{ + if ((self = [super init])) + { + if (aDateFormatter) + { + dateFormatter = aDateFormatter; + } + else + { + dateFormatter = [[NSDateFormatter alloc] init]; + [dateFormatter setFormatterBehavior:NSDateFormatterBehavior10_4]; // 10.4+ style + [dateFormatter setDateFormat:@"yyyy/MM/dd HH:mm:ss:SSS"]; + } + } + return self; +} + +- (NSString *)formatLogMessage:(DDLogMessage *)logMessage +{ + NSString *dateAndTime = [dateFormatter stringFromDate:(logMessage->timestamp)]; + + return [NSString stringWithFormat:@"%@ %@", dateAndTime, logMessage->logMsg]; +} + +@end + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark - +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +@implementation DDFileLogger + +- (id)init +{ + DDLogFileManagerDefault *defaultLogFileManager = [[DDLogFileManagerDefault alloc] init]; + + return [self initWithLogFileManager:defaultLogFileManager]; +} + +- (id)initWithLogFileManager:(id )aLogFileManager +{ + if ((self = [super init])) + { + maximumFileSize = DEFAULT_LOG_MAX_FILE_SIZE; + rollingFrequency = DEFAULT_LOG_ROLLING_FREQUENCY; + + logFileManager = aLogFileManager; + + formatter = [[DDLogFileFormatterDefault alloc] init]; + } + return self; +} + +- (void)dealloc +{ + [currentLogFileHandle synchronizeFile]; + [currentLogFileHandle closeFile]; + + if (rollingTimer) + { + dispatch_source_cancel(rollingTimer); + rollingTimer = NULL; + } +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark Properties +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +@synthesize logFileManager; + +- (unsigned long long)maximumFileSize +{ + __block unsigned long long result; + + dispatch_block_t block = ^{ + result = maximumFileSize; + }; + + // The design of this method is taken from the DDAbstractLogger implementation. + // For extensive documentation please refer to the DDAbstractLogger implementation. + + // Note: The internal implementation MUST access the maximumFileSize variable directly, + // This method is designed explicitly for external access. + // + // Using "self." syntax to go through this method will cause immediate deadlock. + // This is the intended result. Fix it by accessing the ivar directly. + // Great strides have been take to ensure this is safe to do. Plus it's MUCH faster. + + NSAssert(![self isOnGlobalLoggingQueue], @"Core architecture requirement failure"); + NSAssert(![self isOnInternalLoggerQueue], @"MUST access ivar directly, NOT via self.* syntax."); + + dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue]; + + dispatch_sync(globalLoggingQueue, ^{ + dispatch_sync(loggerQueue, block); + }); + + return result; +} + +- (void)setMaximumFileSize:(unsigned long long)newMaximumFileSize +{ + dispatch_block_t block = ^{ @autoreleasepool { + + maximumFileSize = newMaximumFileSize; + [self maybeRollLogFileDueToSize]; + + }}; + + // The design of this method is taken from the DDAbstractLogger implementation. + // For extensive documentation please refer to the DDAbstractLogger implementation. + + // Note: The internal implementation MUST access the maximumFileSize variable directly, + // This method is designed explicitly for external access. + // + // Using "self." syntax to go through this method will cause immediate deadlock. + // This is the intended result. Fix it by accessing the ivar directly. + // Great strides have been take to ensure this is safe to do. Plus it's MUCH faster. + + NSAssert(![self isOnGlobalLoggingQueue], @"Core architecture requirement failure"); + NSAssert(![self isOnInternalLoggerQueue], @"MUST access ivar directly, NOT via self.* syntax."); + + dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue]; + + dispatch_async(globalLoggingQueue, ^{ + dispatch_async(loggerQueue, block); + }); +} + +- (NSTimeInterval)rollingFrequency +{ + __block NSTimeInterval result; + + dispatch_block_t block = ^{ + result = rollingFrequency; + }; + + // The design of this method is taken from the DDAbstractLogger implementation. + // For extensive documentation please refer to the DDAbstractLogger implementation. + + // Note: The internal implementation should access the rollingFrequency variable directly, + // This method is designed explicitly for external access. + // + // Using "self." syntax to go through this method will cause immediate deadlock. + // This is the intended result. Fix it by accessing the ivar directly. + // Great strides have been take to ensure this is safe to do. Plus it's MUCH faster. + + NSAssert(![self isOnGlobalLoggingQueue], @"Core architecture requirement failure"); + NSAssert(![self isOnInternalLoggerQueue], @"MUST access ivar directly, NOT via self.* syntax."); + + dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue]; + + dispatch_sync(globalLoggingQueue, ^{ + dispatch_sync(loggerQueue, block); + }); + + return result; +} + +- (void)setRollingFrequency:(NSTimeInterval)newRollingFrequency +{ + dispatch_block_t block = ^{ @autoreleasepool { + + rollingFrequency = newRollingFrequency; + [self maybeRollLogFileDueToAge]; + }}; + + // The design of this method is taken from the DDAbstractLogger implementation. + // For extensive documentation please refer to the DDAbstractLogger implementation. + + // Note: The internal implementation should access the rollingFrequency variable directly, + // This method is designed explicitly for external access. + // + // Using "self." syntax to go through this method will cause immediate deadlock. + // This is the intended result. Fix it by accessing the ivar directly. + // Great strides have been take to ensure this is safe to do. Plus it's MUCH faster. + + NSAssert(![self isOnGlobalLoggingQueue], @"Core architecture requirement failure"); + NSAssert(![self isOnInternalLoggerQueue], @"MUST access ivar directly, NOT via self.* syntax."); + + dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue]; + + dispatch_async(globalLoggingQueue, ^{ + dispatch_async(loggerQueue, block); + }); +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark File Rolling +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +- (void)scheduleTimerToRollLogFileDueToAge +{ + if (rollingTimer) + { + dispatch_source_cancel(rollingTimer); + rollingTimer = NULL; + } + + if (currentLogFileInfo == nil || rollingFrequency <= 0.0) + { + return; + } + + NSDate *logFileCreationDate = [currentLogFileInfo creationDate]; + + NSTimeInterval ti = [logFileCreationDate timeIntervalSinceReferenceDate]; + ti += rollingFrequency; + + NSDate *logFileRollingDate = [NSDate dateWithTimeIntervalSinceReferenceDate:ti]; + + NSLogVerbose(@"DDFileLogger: scheduleTimerToRollLogFileDueToAge"); + + NSLogVerbose(@"DDFileLogger: logFileCreationDate: %@", logFileCreationDate); + NSLogVerbose(@"DDFileLogger: logFileRollingDate : %@", logFileRollingDate); + + rollingTimer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, loggerQueue); + + dispatch_source_set_event_handler(rollingTimer, ^{ @autoreleasepool { + + [self maybeRollLogFileDueToAge]; + + }}); + + #if !OS_OBJECT_USE_OBJC + dispatch_source_t theRollingTimer = rollingTimer; + dispatch_source_set_cancel_handler(rollingTimer, ^{ + dispatch_release(theRollingTimer); + }); + #endif + + uint64_t delay = (uint64_t)([logFileRollingDate timeIntervalSinceNow] * NSEC_PER_SEC); + dispatch_time_t fireTime = dispatch_time(DISPATCH_TIME_NOW, delay); + + dispatch_source_set_timer(rollingTimer, fireTime, DISPATCH_TIME_FOREVER, 1.0); + dispatch_resume(rollingTimer); +} + +- (void)rollLogFile +{ + // This method is public. + // We need to execute the rolling on our logging thread/queue. + + dispatch_block_t block = ^{ @autoreleasepool { + + [self rollLogFileNow]; + }}; + + // The design of this method is taken from the DDAbstractLogger implementation. + // For extensive documentation please refer to the DDAbstractLogger implementation. + + if ([self isOnInternalLoggerQueue]) + { + block(); + } + else + { + dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue]; + NSAssert(![self isOnGlobalLoggingQueue], @"Core architecture requirement failure"); + + dispatch_async(globalLoggingQueue, ^{ + dispatch_async(loggerQueue, block); + }); + } +} + +- (void)rollLogFileNow +{ + NSLogVerbose(@"DDFileLogger: rollLogFileNow"); + + + if (currentLogFileHandle == nil) return; + + [currentLogFileHandle synchronizeFile]; + [currentLogFileHandle closeFile]; + currentLogFileHandle = nil; + + currentLogFileInfo.isArchived = YES; + + if ([logFileManager respondsToSelector:@selector(didRollAndArchiveLogFile:)]) + { + [logFileManager didRollAndArchiveLogFile:(currentLogFileInfo.filePath)]; + } + + currentLogFileInfo = nil; + + if (rollingTimer) + { + dispatch_source_cancel(rollingTimer); + rollingTimer = NULL; + } +} + +- (void)maybeRollLogFileDueToAge +{ + if (rollingFrequency > 0.0 && currentLogFileInfo.age >= rollingFrequency) + { + NSLogVerbose(@"DDFileLogger: Rolling log file due to age..."); + + [self rollLogFileNow]; + } + else + { + [self scheduleTimerToRollLogFileDueToAge]; + } +} + +- (void)maybeRollLogFileDueToSize +{ + // This method is called from logMessage. + // Keep it FAST. + + // Note: Use direct access to maximumFileSize variable. + // We specifically wrote our own getter/setter method to allow us to do this (for performance reasons). + + if (maximumFileSize > 0) + { + unsigned long long fileSize = [currentLogFileHandle offsetInFile]; + + if (fileSize >= maximumFileSize) + { + NSLogVerbose(@"DDFileLogger: Rolling log file due to size (%qu)...", fileSize); + + [self rollLogFileNow]; + } + } +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark File Logging +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +/** + * Returns the log file that should be used. + * If there is an existing log file that is suitable, + * within the constraints of maximumFileSize and rollingFrequency, then it is returned. + * + * Otherwise a new file is created and returned. +**/ +- (DDLogFileInfo *)currentLogFileInfo +{ + if (currentLogFileInfo == nil) + { + NSArray *sortedLogFileInfos = [logFileManager sortedLogFileInfos]; + + if ([sortedLogFileInfos count] > 0) + { + DDLogFileInfo *mostRecentLogFileInfo = [sortedLogFileInfos objectAtIndex:0]; + + BOOL useExistingLogFile = YES; + BOOL shouldArchiveMostRecent = NO; + + if (mostRecentLogFileInfo.isArchived) + { + useExistingLogFile = NO; + shouldArchiveMostRecent = NO; + } + else if (maximumFileSize > 0 && mostRecentLogFileInfo.fileSize >= maximumFileSize) + { + useExistingLogFile = NO; + shouldArchiveMostRecent = YES; + } + else if (rollingFrequency > 0.0 && mostRecentLogFileInfo.age >= rollingFrequency) + { + useExistingLogFile = NO; + shouldArchiveMostRecent = YES; + } + + if (useExistingLogFile) + { + NSLogVerbose(@"DDFileLogger: Resuming logging with file %@", mostRecentLogFileInfo.fileName); + + currentLogFileInfo = mostRecentLogFileInfo; + } + else + { + if (shouldArchiveMostRecent) + { + mostRecentLogFileInfo.isArchived = YES; + + if ([logFileManager respondsToSelector:@selector(didArchiveLogFile:)]) + { + [logFileManager didArchiveLogFile:(mostRecentLogFileInfo.filePath)]; + } + } + } + } + + if (currentLogFileInfo == nil) + { + NSString *currentLogFilePath = [logFileManager createNewLogFile]; + + currentLogFileInfo = [[DDLogFileInfo alloc] initWithFilePath:currentLogFilePath]; + } + } + + return currentLogFileInfo; +} + +- (NSFileHandle *)currentLogFileHandle +{ + if (currentLogFileHandle == nil) + { + NSString *logFilePath = [[self currentLogFileInfo] filePath]; + + currentLogFileHandle = [NSFileHandle fileHandleForWritingAtPath:logFilePath]; + [currentLogFileHandle seekToEndOfFile]; + + if (currentLogFileHandle) + { + [self scheduleTimerToRollLogFileDueToAge]; + } + } + + return currentLogFileHandle; +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark DDLogger Protocol +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +- (void)logMessage:(DDLogMessage *)logMessage +{ + NSString *logMsg = logMessage->logMsg; + + if (formatter) + { + logMsg = [formatter formatLogMessage:logMessage]; + } + + if (logMsg) + { + if (![logMsg hasSuffix:@"\n"]) + { + logMsg = [logMsg stringByAppendingString:@"\n"]; + } + + NSData *logData = [logMsg dataUsingEncoding:NSUTF8StringEncoding]; + + [[self currentLogFileHandle] writeData:logData]; + + [self maybeRollLogFileDueToSize]; + } +} + +- (void)willRemoveLogger +{ + // If you override me be sure to invoke [super willRemoveLogger]; + + [self rollLogFileNow]; +} + +- (NSString *)loggerName +{ + return @"cocoa.lumberjack.fileLogger"; +} + +@end + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark - +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +#if TARGET_IPHONE_SIMULATOR + #define XATTR_ARCHIVED_NAME @"archived" +#else + #define XATTR_ARCHIVED_NAME @"lumberjack.log.archived" +#endif + +@implementation DDLogFileInfo + +@synthesize filePath; + +@dynamic fileName; +@dynamic fileAttributes; +@dynamic creationDate; +@dynamic modificationDate; +@dynamic fileSize; +@dynamic age; + +@dynamic isArchived; + + +#pragma mark Lifecycle + ++ (id)logFileWithPath:(NSString *)aFilePath +{ + return [[DDLogFileInfo alloc] initWithFilePath:aFilePath]; +} + +- (id)initWithFilePath:(NSString *)aFilePath +{ + if ((self = [super init])) + { + filePath = [aFilePath copy]; + } + return self; +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark Standard Info +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +- (NSDictionary *)fileAttributes +{ + if (fileAttributes == nil) + { + fileAttributes = [[NSFileManager defaultManager] attributesOfItemAtPath:filePath error:nil]; + } + return fileAttributes; +} + +- (NSString *)fileName +{ + if (fileName == nil) + { + fileName = [filePath lastPathComponent]; + } + return fileName; +} + +- (NSDate *)modificationDate +{ + if (modificationDate == nil) + { + modificationDate = [[self fileAttributes] objectForKey:NSFileModificationDate]; + } + + return modificationDate; +} + +- (NSDate *)creationDate +{ + if (creationDate == nil) + { + + #if TARGET_OS_IPHONE + + const char *path = [filePath UTF8String]; + + struct attrlist attrList; + memset(&attrList, 0, sizeof(attrList)); + attrList.bitmapcount = ATTR_BIT_MAP_COUNT; + attrList.commonattr = ATTR_CMN_CRTIME; + + struct { + u_int32_t attrBufferSizeInBytes; + struct timespec crtime; + } attrBuffer; + + int result = getattrlist(path, &attrList, &attrBuffer, sizeof(attrBuffer), 0); + if (result == 0) + { + double seconds = (double)(attrBuffer.crtime.tv_sec); + double nanos = (double)(attrBuffer.crtime.tv_nsec); + + NSTimeInterval ti = seconds + (nanos / 1000000000.0); + + creationDate = [NSDate dateWithTimeIntervalSince1970:ti]; + } + else + { + NSLogError(@"DDLogFileInfo: creationDate(%@): getattrlist result = %i", self.fileName, result); + } + + #else + + creationDate = [[self fileAttributes] objectForKey:NSFileCreationDate]; + + #endif + + } + return creationDate; +} + +- (unsigned long long)fileSize +{ + if (fileSize == 0) + { + fileSize = [[[self fileAttributes] objectForKey:NSFileSize] unsignedLongLongValue]; + } + + return fileSize; +} + +- (NSTimeInterval)age +{ + return [[self creationDate] timeIntervalSinceNow] * -1.0; +} + +- (NSString *)description +{ + return [@{@"filePath": self.filePath, + @"fileName": self.fileName, + @"fileAttributes": self.fileAttributes, + @"creationDate": self.creationDate, + @"modificationDate": self.modificationDate, + @"fileSize": @(self.fileSize), + @"age": @(self.age), + @"isArchived": @(self.isArchived)} description]; +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark Archiving +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +- (BOOL)isArchived +{ + +#if TARGET_IPHONE_SIMULATOR + + // Extended attributes don't work properly on the simulator. + // So we have to use a less attractive alternative. + // See full explanation in the header file. + + return [self hasExtensionAttributeWithName:XATTR_ARCHIVED_NAME]; + +#else + + return [self hasExtendedAttributeWithName:XATTR_ARCHIVED_NAME]; + +#endif +} + +- (void)setIsArchived:(BOOL)flag +{ + +#if TARGET_IPHONE_SIMULATOR + + // Extended attributes don't work properly on the simulator. + // So we have to use a less attractive alternative. + // See full explanation in the header file. + + if (flag) + [self addExtensionAttributeWithName:XATTR_ARCHIVED_NAME]; + else + [self removeExtensionAttributeWithName:XATTR_ARCHIVED_NAME]; + +#else + + if (flag) + [self addExtendedAttributeWithName:XATTR_ARCHIVED_NAME]; + else + [self removeExtendedAttributeWithName:XATTR_ARCHIVED_NAME]; + +#endif +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark Changes +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +- (void)reset +{ + fileName = nil; + fileAttributes = nil; + creationDate = nil; + modificationDate = nil; +} + +- (void)renameFile:(NSString *)newFileName +{ + // This method is only used on the iPhone simulator, where normal extended attributes are broken. + // See full explanation in the header file. + + if (![newFileName isEqualToString:[self fileName]]) + { + NSString *fileDir = [filePath stringByDeletingLastPathComponent]; + + NSString *newFilePath = [fileDir stringByAppendingPathComponent:newFileName]; + + NSLogVerbose(@"DDLogFileInfo: Renaming file: '%@' -> '%@'", self.fileName, newFileName); + + NSError *error = nil; + if (![[NSFileManager defaultManager] moveItemAtPath:filePath toPath:newFilePath error:&error]) + { + NSLogError(@"DDLogFileInfo: Error renaming file (%@): %@", self.fileName, error); + } + + filePath = newFilePath; + [self reset]; + } +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark Attribute Management +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +#if TARGET_IPHONE_SIMULATOR + +// Extended attributes don't work properly on the simulator. +// So we have to use a less attractive alternative. +// See full explanation in the header file. + +- (BOOL)hasExtensionAttributeWithName:(NSString *)attrName +{ + // This method is only used on the iPhone simulator, where normal extended attributes are broken. + // See full explanation in the header file. + + // Split the file name into components. + // + // log-ABC123.archived.uploaded.txt + // + // 0. log-ABC123 + // 1. archived + // 2. uploaded + // 3. txt + // + // So we want to search for the attrName in the components (ignoring the first and last array indexes). + + NSArray *components = [[self fileName] componentsSeparatedByString:@"."]; + + // Watch out for file names without an extension + + NSUInteger count = [components count]; + NSUInteger max = (count >= 2) ? count-1 : count; + + NSUInteger i; + for (i = 1; i < max; i++) + { + NSString *attr = [components objectAtIndex:i]; + + if ([attrName isEqualToString:attr]) + { + return YES; + } + } + + return NO; +} + +- (void)addExtensionAttributeWithName:(NSString *)attrName +{ + // This method is only used on the iPhone simulator, where normal extended attributes are broken. + // See full explanation in the header file. + + if ([attrName length] == 0) return; + + // Example: + // attrName = "archived" + // + // "log-ABC123.txt" -> "log-ABC123.archived.txt" + + NSArray *components = [[self fileName] componentsSeparatedByString:@"."]; + + NSUInteger count = [components count]; + + NSUInteger estimatedNewLength = [[self fileName] length] + [attrName length] + 1; + NSMutableString *newFileName = [NSMutableString stringWithCapacity:estimatedNewLength]; + + if (count > 0) + { + [newFileName appendString:[components objectAtIndex:0]]; + } + + NSString *lastExt = @""; + + NSUInteger i; + for (i = 1; i < count; i++) + { + NSString *attr = [components objectAtIndex:i]; + if ([attr length] == 0) + { + continue; + } + + if ([attrName isEqualToString:attr]) + { + // Extension attribute already exists in file name + return; + } + + if ([lastExt length] > 0) + { + [newFileName appendFormat:@".%@", lastExt]; + } + + lastExt = attr; + } + + [newFileName appendFormat:@".%@", attrName]; + + if ([lastExt length] > 0) + { + [newFileName appendFormat:@".%@", lastExt]; + } + + [self renameFile:newFileName]; +} + +- (void)removeExtensionAttributeWithName:(NSString *)attrName +{ + // This method is only used on the iPhone simulator, where normal extended attributes are broken. + // See full explanation in the header file. + + if ([attrName length] == 0) return; + + // Example: + // attrName = "archived" + // + // "log-ABC123.txt" -> "log-ABC123.archived.txt" + + NSArray *components = [[self fileName] componentsSeparatedByString:@"."]; + + NSUInteger count = [components count]; + + NSUInteger estimatedNewLength = [[self fileName] length]; + NSMutableString *newFileName = [NSMutableString stringWithCapacity:estimatedNewLength]; + + if (count > 0) + { + [newFileName appendString:[components objectAtIndex:0]]; + } + + BOOL found = NO; + + NSUInteger i; + for (i = 1; i < count; i++) + { + NSString *attr = [components objectAtIndex:i]; + + if ([attrName isEqualToString:attr]) + { + found = YES; + } + else + { + [newFileName appendFormat:@".%@", attr]; + } + } + + if (found) + { + [self renameFile:newFileName]; + } +} + +#else + +- (BOOL)hasExtendedAttributeWithName:(NSString *)attrName +{ + const char *path = [filePath UTF8String]; + const char *name = [attrName UTF8String]; + + ssize_t result = getxattr(path, name, NULL, 0, 0, 0); + + return (result >= 0); +} + +- (void)addExtendedAttributeWithName:(NSString *)attrName +{ + const char *path = [filePath UTF8String]; + const char *name = [attrName UTF8String]; + + int result = setxattr(path, name, NULL, 0, 0, 0); + + if (result < 0) + { + NSLogError(@"DDLogFileInfo: setxattr(%@, %@): error = %i", attrName, self.fileName, result); + } +} + +- (void)removeExtendedAttributeWithName:(NSString *)attrName +{ + const char *path = [filePath UTF8String]; + const char *name = [attrName UTF8String]; + + int result = removexattr(path, name, 0); + + if (result < 0 && errno != ENOATTR) + { + NSLogError(@"DDLogFileInfo: removexattr(%@, %@): error = %i", attrName, self.fileName, result); + } +} + +#endif + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark Comparisons +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +- (BOOL)isEqual:(id)object +{ + if ([object isKindOfClass:[self class]]) + { + DDLogFileInfo *another = (DDLogFileInfo *)object; + + return [filePath isEqualToString:[another filePath]]; + } + + return NO; +} + +- (NSComparisonResult)reverseCompareByCreationDate:(DDLogFileInfo *)another +{ + NSDate *us = [self creationDate]; + NSDate *them = [another creationDate]; + + NSComparisonResult result = [us compare:them]; + + if (result == NSOrderedAscending) + return NSOrderedDescending; + + if (result == NSOrderedDescending) + return NSOrderedAscending; + + return NSOrderedSame; +} + +- (NSComparisonResult)reverseCompareByModificationDate:(DDLogFileInfo *)another +{ + NSDate *us = [self modificationDate]; + NSDate *them = [another modificationDate]; + + NSComparisonResult result = [us compare:them]; + + if (result == NSOrderedAscending) + return NSOrderedDescending; + + if (result == NSOrderedDescending) + return NSOrderedAscending; + + return NSOrderedSame; +} + +@end diff --git a/Lumberjack/DDLog.h b/Lumberjack/DDLog.h new file mode 100755 index 0000000..b23337a --- /dev/null +++ b/Lumberjack/DDLog.h @@ -0,0 +1,601 @@ +#import + +/** + * Welcome to Cocoa Lumberjack! + * + * The project page has a wealth of documentation if you have any questions. + * https://github.com/robbiehanson/CocoaLumberjack + * + * If you're new to the project you may wish to read the "Getting Started" wiki. + * https://github.com/robbiehanson/CocoaLumberjack/wiki/GettingStarted + * + * Otherwise, here is a quick refresher. + * There are three steps to using the macros: + * + * Step 1: + * Import the header in your implementation file: + * + * #import "DDLog.h" + * + * Step 2: + * Define your logging level in your implementation file: + * + * // Log levels: off, error, warn, info, verbose + * static const int ddLogLevel = LOG_LEVEL_VERBOSE; + * + * Step 3: + * Replace your NSLog statements with DDLog statements according to the severity of the message. + * + * NSLog(@"Fatal error, no dohickey found!"); -> SDKLogError(@"Fatal error, no dohickey found!"); + * + * DDLog works exactly the same as NSLog. + * This means you can pass it multiple variables just like NSLog. +**/ + + +@class DDLogMessage; + +@protocol DDLogger; +@protocol DDLogFormatter; + +/** + * This is the single macro that all other macros below compile into. + * This big multiline macro makes all the other macros easier to read. +**/ + +#define LOG_MACRO(isAsynchronous, lvl, flg, ctx, atag, fnct, frmt, ...) \ + [DDLog log:isAsynchronous \ + level:lvl \ + flag:flg \ + context:ctx \ + file:__FILE__ \ + function:fnct \ + line:__LINE__ \ + tag:atag \ + format:(frmt), ##__VA_ARGS__] + +/** + * Define the Objective-C and C versions of the macro. + * These automatically inject the proper function name for either an objective-c method or c function. + * + * We also define shorthand versions for asynchronous and synchronous logging. +**/ + +#define LOG_OBJC_MACRO(async, lvl, flg, ctx, frmt, ...) \ + LOG_MACRO(async, lvl, flg, ctx, nil, sel_getName(_cmd), frmt, ##__VA_ARGS__) + +#define LOG_C_MACRO(async, lvl, flg, ctx, frmt, ...) \ + LOG_MACRO(async, lvl, flg, ctx, nil, __FUNCTION__, frmt, ##__VA_ARGS__) + +#define SYNC_LOG_OBJC_MACRO(lvl, flg, ctx, frmt, ...) \ + LOG_OBJC_MACRO( NO, lvl, flg, ctx, frmt, ##__VA_ARGS__) + +#define ASYNC_LOG_OBJC_MACRO(lvl, flg, ctx, frmt, ...) \ + LOG_OBJC_MACRO(YES, lvl, flg, ctx, frmt, ##__VA_ARGS__) + +#define SYNC_LOG_C_MACRO(lvl, flg, ctx, frmt, ...) \ + LOG_C_MACRO( NO, lvl, flg, ctx, frmt, ##__VA_ARGS__) + +#define ASYNC_LOG_C_MACRO(lvl, flg, ctx, frmt, ...) \ + LOG_C_MACRO(YES, lvl, flg, ctx, frmt, ##__VA_ARGS__) + +/** + * Define version of the macro that only execute if the logLevel is above the threshold. + * The compiled versions essentially look like this: + * + * if (logFlagForThisLogMsg & ddLogLevel) { execute log message } + * + * As shown further below, Lumberjack actually uses a bitmask as opposed to primitive log levels. + * This allows for a great amount of flexibility and some pretty advanced fine grained logging techniques. + * + * Note that when compiler optimizations are enabled (as they are for your release builds), + * the log messages above your logging threshold will automatically be compiled out. + * + * (If the compiler sees ddLogLevel declared as a constant, the compiler simply checks to see if the 'if' statement + * would execute, and if not it strips it from the binary.) + * + * We also define shorthand versions for asynchronous and synchronous logging. +**/ + +#define LOG_MAYBE(async, lvl, flg, ctx, fnct, frmt, ...) \ + do { if(lvl & flg) LOG_MACRO(async, lvl, flg, ctx, nil, fnct, frmt, ##__VA_ARGS__); } while(0) + +#define LOG_OBJC_MAYBE(async, lvl, flg, ctx, frmt, ...) \ + LOG_MAYBE(async, lvl, flg, ctx, sel_getName(_cmd), frmt, ##__VA_ARGS__) + +#define LOG_C_MAYBE(async, lvl, flg, ctx, frmt, ...) \ + LOG_MAYBE(async, lvl, flg, ctx, __FUNCTION__, frmt, ##__VA_ARGS__) + +#define SYNC_LOG_OBJC_MAYBE(lvl, flg, ctx, frmt, ...) \ + LOG_OBJC_MAYBE( NO, lvl, flg, ctx, frmt, ##__VA_ARGS__) + +#define ASYNC_LOG_OBJC_MAYBE(lvl, flg, ctx, frmt, ...) \ + LOG_OBJC_MAYBE(YES, lvl, flg, ctx, frmt, ##__VA_ARGS__) + +#define SYNC_LOG_C_MAYBE(lvl, flg, ctx, frmt, ...) \ + LOG_C_MAYBE( NO, lvl, flg, ctx, frmt, ##__VA_ARGS__) + +#define ASYNC_LOG_C_MAYBE(lvl, flg, ctx, frmt, ...) \ + LOG_C_MAYBE(YES, lvl, flg, ctx, frmt, ##__VA_ARGS__) + +/** + * Define versions of the macros that also accept tags. + * + * The DDLogMessage object includes a 'tag' ivar that may be used for a variety of purposes. + * It may be used to pass custom information to loggers or formatters. + * Or it may be used by 3rd party extensions to the framework. + * + * Thes macros just make it a little easier to extend logging functionality. +**/ + +#define LOG_OBJC_TAG_MACRO(async, lvl, flg, ctx, tag, frmt, ...) \ + LOG_MACRO(async, lvl, flg, ctx, tag, sel_getName(_cmd), frmt, ##__VA_ARGS__) + +#define LOG_C_TAG_MACRO(async, lvl, flg, ctx, tag, frmt, ...) \ + LOG_MACRO(async, lvl, flg, ctx, tag, __FUNCTION__, frmt, ##__VA_ARGS__) + +#define LOG_TAG_MAYBE(async, lvl, flg, ctx, tag, fnct, frmt, ...) \ + do { if(lvl & flg) LOG_MACRO(async, lvl, flg, ctx, tag, fnct, frmt, ##__VA_ARGS__); } while(0) + +#define LOG_OBJC_TAG_MAYBE(async, lvl, flg, ctx, tag, frmt, ...) \ + LOG_TAG_MAYBE(async, lvl, flg, ctx, tag, sel_getName(_cmd), frmt, ##__VA_ARGS__) + +#define LOG_C_TAG_MAYBE(async, lvl, flg, ctx, tag, frmt, ...) \ + LOG_TAG_MAYBE(async, lvl, flg, ctx, tag, __FUNCTION__, frmt, ##__VA_ARGS__) + +/** + * Define the standard options. + * + * We default to only 4 levels because it makes it easier for beginners + * to make the transition to a logging framework. + * + * More advanced users may choose to completely customize the levels (and level names) to suite their needs. + * For more information on this see the "Custom Log Levels" page: + * https://github.com/robbiehanson/CocoaLumberjack/wiki/CustomLogLevels + * + * Advanced users may also notice that we're using a bitmask. + * This is to allow for custom fine grained logging: + * https://github.com/robbiehanson/CocoaLumberjack/wiki/FineGrainedLogging + * + * -- Flags -- + * + * Typically you will use the LOG_LEVELS (see below), but the flags may be used directly in certain situations. + * For example, say you have a lot of warning log messages, and you wanted to disable them. + * However, you still needed to see your error and info log messages. + * You could accomplish that with the following: + * + * static const int ddLogLevel = LOG_FLAG_ERROR | LOG_FLAG_INFO; + * + * Flags may also be consulted when writing custom log formatters, + * as the DDLogMessage class captures the individual flag that caused the log message to fire. + * + * -- Levels -- + * + * Log levels are simply the proper bitmask of the flags. + * + * -- Booleans -- + * + * The booleans may be used when your logging code involves more than one line. + * For example: + * + * if (LOG_VERBOSE) { + * for (id sprocket in sprockets) + * DDLogVerbose(@"sprocket: %@", [sprocket description]) + * } + * + * -- Async -- + * + * Defines the default asynchronous options. + * The default philosophy for asynchronous logging is very simple: + * + * Log messages with errors should be executed synchronously. + * After all, an error just occurred. The application could be unstable. + * + * All other log messages, such as debug output, are executed asynchronously. + * After all, if it wasn't an error, then it was just informational output, + * or something the application was easily able to recover from. + * + * -- Changes -- + * + * You are strongly discouraged from modifying this file. + * If you do, you make it more difficult on yourself to merge future bug fixes and improvements from the project. + * Instead, create your own MyLogging.h or ApplicationNameLogging.h or CompanyLogging.h + * + * For an example of customizing your logging experience, see the "Custom Log Levels" page: + * https://github.com/robbiehanson/CocoaLumberjack/wiki/CustomLogLevels +**/ + +#define LOG_FLAG_ERROR (1 << 0) // 0...0001 +#define LOG_FLAG_WARN (1 << 1) // 0...0010 +#define LOG_FLAG_INFO (1 << 2) // 0...0100 +#define LOG_FLAG_VERBOSE (1 << 3) // 0...1000 + +#define LOG_LEVEL_OFF 0 +#define LOG_LEVEL_ERROR (LOG_FLAG_ERROR) // 0...0001 +#define LOG_LEVEL_WARN (LOG_FLAG_ERROR | LOG_FLAG_WARN) // 0...0011 +#define LOG_LEVEL_INFO (LOG_FLAG_ERROR | LOG_FLAG_WARN | LOG_FLAG_INFO) // 0...0111 +#define LOG_LEVEL_VERBOSE (LOG_FLAG_ERROR | LOG_FLAG_WARN | LOG_FLAG_INFO | LOG_FLAG_VERBOSE) // 0...1111 + +#define LOG_ERROR (ddLogLevel & LOG_FLAG_ERROR) +#define LOG_WARN (ddLogLevel & LOG_FLAG_WARN) +#define LOG_INFO (ddLogLevel & LOG_FLAG_INFO) +#define LOG_VERBOSE (ddLogLevel & LOG_FLAG_VERBOSE) + +#define LOG_ASYNC_ENABLED YES + +#define LOG_ASYNC_ERROR ( NO && LOG_ASYNC_ENABLED) +#define LOG_ASYNC_WARN (YES && LOG_ASYNC_ENABLED) +#define LOG_ASYNC_INFO (YES && LOG_ASYNC_ENABLED) +#define LOG_ASYNC_VERBOSE (YES && LOG_ASYNC_ENABLED) + +#define DDLogError(frmt, ...) LOG_OBJC_MAYBE(LOG_ASYNC_ERROR, ddLogLevel, LOG_FLAG_ERROR, 0, frmt, ##__VA_ARGS__) +#define DDLogWarn(frmt, ...) LOG_OBJC_MAYBE(LOG_ASYNC_WARN, ddLogLevel, LOG_FLAG_WARN, 0, frmt, ##__VA_ARGS__) +#define DDLogInfo(frmt, ...) LOG_OBJC_MAYBE(LOG_ASYNC_INFO, ddLogLevel, LOG_FLAG_INFO, 0, frmt, ##__VA_ARGS__) +#define DDLogVerbose(frmt, ...) LOG_OBJC_MAYBE(LOG_ASYNC_VERBOSE, ddLogLevel, LOG_FLAG_VERBOSE, 0, frmt, ##__VA_ARGS__) + +#define DDLogCError(frmt, ...) LOG_C_MAYBE(LOG_ASYNC_ERROR, ddLogLevel, LOG_FLAG_ERROR, 0, frmt, ##__VA_ARGS__) +#define DDLogCWarn(frmt, ...) LOG_C_MAYBE(LOG_ASYNC_WARN, ddLogLevel, LOG_FLAG_WARN, 0, frmt, ##__VA_ARGS__) +#define DDLogCInfo(frmt, ...) LOG_C_MAYBE(LOG_ASYNC_INFO, ddLogLevel, LOG_FLAG_INFO, 0, frmt, ##__VA_ARGS__) +#define DDLogCVerbose(frmt, ...) LOG_C_MAYBE(LOG_ASYNC_VERBOSE, ddLogLevel, LOG_FLAG_VERBOSE, 0, frmt, ##__VA_ARGS__) + +/** + * The THIS_FILE macro gives you an NSString of the file name. + * For simplicity and clarity, the file name does not include the full path or file extension. + * + * For example: DDLogWarn(@"%@: Unable to find thingy", THIS_FILE) -> @"MyViewController: Unable to find thingy" +**/ + +NSString *DDExtractFileNameWithoutExtension(const char *filePath, BOOL copy); + +#define THIS_FILE (DDExtractFileNameWithoutExtension(__FILE__, NO)) + +/** + * The THIS_METHOD macro gives you the name of the current objective-c method. + * + * For example: DDLogWarn(@"%@ - Requires non-nil strings", THIS_METHOD) -> @"setMake:model: requires non-nil strings" + * + * Note: This does NOT work in straight C functions (non objective-c). + * Instead you should use the predefined __FUNCTION__ macro. +**/ + +#define THIS_METHOD NSStringFromSelector(_cmd) + + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark - +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +@interface DDLog : NSObject + +/** + * Provides access to the underlying logging queue. + * This may be helpful to Logger classes for things like thread synchronization. +**/ + ++ (dispatch_queue_t)loggingQueue; + +/** + * Logging Primitive. + * + * This method is used by the macros above. + * It is suggested you stick with the macros as they're easier to use. +**/ + ++ (void)log:(BOOL)synchronous + level:(int)level + flag:(int)flag + context:(int)context + file:(const char *)file + function:(const char *)function + line:(int)line + tag:(id)tag + format:(NSString *)format, ... __attribute__ ((format (__NSString__, 9, 10))); + +/** + * Logging Primitive. + * + * This method can be used if you have a prepared va_list. +**/ + ++ (void)log:(BOOL)asynchronous + level:(int)level + flag:(int)flag + context:(int)context + file:(const char *)file + function:(const char *)function + line:(int)line + tag:(id)tag + format:(NSString *)format + args:(va_list)argList; + + +/** + * Since logging can be asynchronous, there may be times when you want to flush the logs. + * The framework invokes this automatically when the application quits. +**/ + ++ (void)flushLog; + +/** + * Loggers + * + * If you want your log statements to go somewhere, + * you should create and add a logger. +**/ + ++ (void)addLogger:(id )logger; ++ (void)removeLogger:(id )logger; + ++ (void)removeAllLoggers; + +/** + * Registered Dynamic Logging + * + * These methods allow you to obtain a list of classes that are using registered dynamic logging, + * and also provides methods to get and set their log level during run time. +**/ + ++ (NSArray *)registeredClasses; ++ (NSArray *)registeredClassNames; + ++ (int)logLevelForClass:(Class)aClass; ++ (int)logLevelForClassWithName:(NSString *)aClassName; + ++ (void)setLogLevel:(int)logLevel forClass:(Class)aClass; ++ (void)setLogLevel:(int)logLevel forClassWithName:(NSString *)aClassName; + +@end + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark - +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +@protocol DDLogger +@required + +- (void)logMessage:(DDLogMessage *)logMessage; + +/** + * Formatters may optionally be added to any logger. + * + * If no formatter is set, the logger simply logs the message as it is given in logMessage, + * or it may use its own built in formatting style. +**/ +- (id )logFormatter; +- (void)setLogFormatter:(id )formatter; + +@optional + +/** + * Since logging is asynchronous, adding and removing loggers is also asynchronous. + * In other words, the loggers are added and removed at appropriate times with regards to log messages. + * + * - Loggers will not receive log messages that were executed prior to when they were added. + * - Loggers will not receive log messages that were executed after they were removed. + * + * These methods are executed in the logging thread/queue. + * This is the same thread/queue that will execute every logMessage: invocation. + * Loggers may use these methods for thread synchronization or other setup/teardown tasks. +**/ +- (void)didAddLogger; +- (void)willRemoveLogger; + +/** + * Some loggers may buffer IO for optimization purposes. + * For example, a database logger may only save occasionaly as the disk IO is slow. + * In such loggers, this method should be implemented to flush any pending IO. + * + * This allows invocations of DDLog's flushLog method to be propogated to loggers that need it. + * + * Note that DDLog's flushLog method is invoked automatically when the application quits, + * and it may be also invoked manually by the developer prior to application crashes, or other such reasons. +**/ +- (void)flush; + +/** + * Each logger is executed concurrently with respect to the other loggers. + * Thus, a dedicated dispatch queue is used for each logger. + * Logger implementations may optionally choose to provide their own dispatch queue. +**/ +- (dispatch_queue_t)loggerQueue; + +/** + * If the logger implementation does not choose to provide its own queue, + * one will automatically be created for it. + * The created queue will receive its name from this method. + * This may be helpful for debugging or profiling reasons. +**/ +- (NSString *)loggerName; + +@end + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark - +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +@protocol DDLogFormatter +@required + +/** + * Formatters may optionally be added to any logger. + * This allows for increased flexibility in the logging environment. + * For example, log messages for log files may be formatted differently than log messages for the console. + * + * For more information about formatters, see the "Custom Formatters" page: + * https://github.com/robbiehanson/CocoaLumberjack/wiki/CustomFormatters + * + * The formatter may also optionally filter the log message by returning nil, + * in which case the logger will not log the message. +**/ +- (NSString *)formatLogMessage:(DDLogMessage *)logMessage; + +@optional + +/** + * A single formatter instance can be added to multiple loggers. + * These methods provides hooks to notify the formatter of when it's added/removed. + * + * This is primarily for thread-safety. + * If a formatter is explicitly not thread-safe, it may wish to throw an exception if added to multiple loggers. + * Or if a formatter has potentially thread-unsafe code (e.g. NSDateFormatter), + * it could possibly use these hooks to switch to thread-safe versions of the code. +**/ +- (void)didAddToLogger:(id )logger; +- (void)willRemoveFromLogger:(id )logger; + +@end + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark - +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +@protocol DDRegisteredDynamicLogging + +/** + * Implement these methods to allow a file's log level to be managed from a central location. + * + * This is useful if you'd like to be able to change log levels for various parts + * of your code from within the running application. + * + * Imagine pulling up the settings for your application, + * and being able to configure the logging level on a per file basis. + * + * The implementation can be very straight-forward: + * + * + (int)ddLogLevel + * { + * return ddLogLevel; + * } + * + * + (void)ddSetLogLevel:(int)logLevel + * { + * ddLogLevel = logLevel; + * } +**/ + ++ (int)ddLogLevel; ++ (void)ddSetLogLevel:(int)logLevel; + +@end + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark - +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +/** + * The DDLogMessage class encapsulates information about the log message. + * If you write custom loggers or formatters, you will be dealing with objects of this class. +**/ + +enum { + DDLogMessageCopyFile = 1 << 0, + DDLogMessageCopyFunction = 1 << 1 +}; +typedef int DDLogMessageOptions; + +@interface DDLogMessage : NSObject +{ + +// The public variables below can be accessed directly (for speed). +// For example: logMessage->logLevel + +@public + int logLevel; + int logFlag; + int logContext; + NSString *logMsg; + NSDate *timestamp; + char *file; + char *function; + int lineNumber; + mach_port_t machThreadID; + char *queueLabel; + NSString *threadName; + + // For 3rd party extensions to the framework, where flags and contexts aren't enough. + id tag; + + // For 3rd party extensions that manually create DDLogMessage instances. + DDLogMessageOptions options; +} + +/** + * Standard init method for a log message object. + * Used by the logging primitives. (And the macros use the logging primitives.) + * + * If you find need to manually create logMessage objects, there is one thing you should be aware of: + * + * If no flags are passed, the method expects the file and function parameters to be string literals. + * That is, it expects the given strings to exist for the duration of the object's lifetime, + * and it expects the given strings to be immutable. + * In other words, it does not copy these strings, it simply points to them. + * This is due to the fact that __FILE__ and __FUNCTION__ are usually used to specify these parameters, + * so it makes sense to optimize and skip the unnecessary allocations. + * However, if you need them to be copied you may use the options parameter to specify this. + * Options is a bitmask which supports DDLogMessageCopyFile and DDLogMessageCopyFunction. +**/ +- (id)initWithLogMsg:(NSString *)logMsg + level:(int)logLevel + flag:(int)logFlag + context:(int)logContext + file:(const char *)file + function:(const char *)function + line:(int)line + tag:(id)tag + options:(DDLogMessageOptions)optionsMask; + +/** + * Returns the threadID as it appears in NSLog. + * That is, it is a hexadecimal value which is calculated from the machThreadID. +**/ +- (NSString *)threadID; + +/** + * Convenience property to get just the file name, as the file variable is generally the full file path. + * This method does not include the file extension, which is generally unwanted for logging purposes. +**/ +- (NSString *)fileName; + +/** + * Returns the function variable in NSString form. +**/ +- (NSString *)methodName; + +@end + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark - +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +/** + * The DDLogger protocol specifies that an optional formatter can be added to a logger. + * Most (but not all) loggers will want to support formatters. + * + * However, writting getters and setters in a thread safe manner, + * while still maintaining maximum speed for the logging process, is a difficult task. + * + * To do it right, the implementation of the getter/setter has strict requiremenets: + * - Must NOT require the logMessage method to acquire a lock. + * - Must NOT require the logMessage method to access an atomic property (also a lock of sorts). + * + * To simplify things, an abstract logger is provided that implements the getter and setter. + * + * Logger implementations may simply extend this class, + * and they can ACCESS THE FORMATTER VARIABLE DIRECTLY from within their logMessage method! +**/ + +@interface DDAbstractLogger : NSObject +{ + id formatter; + + dispatch_queue_t loggerQueue; +} + +- (id )logFormatter; +- (void)setLogFormatter:(id )formatter; + +// For thread-safety assertions +- (BOOL)isOnGlobalLoggingQueue; +- (BOOL)isOnInternalLoggerQueue; + +@end diff --git a/Lumberjack/DDLog.m b/Lumberjack/DDLog.m new file mode 100755 index 0000000..287fc08 --- /dev/null +++ b/Lumberjack/DDLog.m @@ -0,0 +1,1085 @@ +#import "DDLog.h" + +#import +#import +#import +#import +#import + + +/** + * Welcome to Cocoa Lumberjack! + * + * The project page has a wealth of documentation if you have any questions. + * https://github.com/robbiehanson/CocoaLumberjack + * + * If you're new to the project you may wish to read the "Getting Started" wiki. + * https://github.com/robbiehanson/CocoaLumberjack/wiki/GettingStarted + * +**/ + +#if ! __has_feature(objc_arc) +#warning This file must be compiled with ARC. Use -fobjc-arc flag (or convert project to ARC). +#endif + +// We probably shouldn't be using DDLog() statements within the DDLog implementation. +// But we still want to leave our log statements for any future debugging, +// and to allow other developers to trace the implementation (which is a great learning tool). +// +// So we use a primitive logging macro around NSLog. +// We maintain the NS prefix on the macros to be explicit about the fact that we're using NSLog. + +#define DD_DEBUG NO + +#define NSLogDebug(frmt, ...) do{ if(DD_DEBUG) NSLog((frmt), ##__VA_ARGS__); } while(0) + +// Specifies the maximum queue size of the logging thread. +// +// Since most logging is asynchronous, its possible for rogue threads to flood the logging queue. +// That is, to issue an abundance of log statements faster than the logging thread can keepup. +// Typically such a scenario occurs when log statements are added haphazardly within large loops, +// but may also be possible if relatively slow loggers are being used. +// +// This property caps the queue size at a given number of outstanding log statements. +// If a thread attempts to issue a log statement when the queue is already maxed out, +// the issuing thread will block until the queue size drops below the max again. + +#define LOG_MAX_QUEUE_SIZE 1000 // Should not exceed INT32_MAX + +// The "global logging queue" refers to [DDLog loggingQueue]. +// It is the queue that all log statements go through. +// +// The logging queue sets a flag via dispatch_queue_set_specific using this key. +// We can check for this key via dispatch_get_specific() to see if we're on the "global logging queue". + +static void *const GlobalLoggingQueueIdentityKey = (void *)&GlobalLoggingQueueIdentityKey; + + +@interface DDLoggerNode : NSObject { +@public + id logger; + dispatch_queue_t loggerQueue; +} + ++ (DDLoggerNode *)nodeWithLogger:(id )logger loggerQueue:(dispatch_queue_t)loggerQueue; + +@end + + +@interface DDLog (PrivateAPI) + ++ (void)lt_addLogger:(id )logger; ++ (void)lt_removeLogger:(id )logger; ++ (void)lt_removeAllLoggers; ++ (void)lt_log:(DDLogMessage *)logMessage; ++ (void)lt_flush; + +@end + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark - +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +@implementation DDLog + +// An array used to manage all the individual loggers. +// The array is only modified on the loggingQueue/loggingThread. +static NSMutableArray *loggers; + +// All logging statements are added to the same queue to ensure FIFO operation. +static dispatch_queue_t loggingQueue; + +// Individual loggers are executed concurrently per log statement. +// Each logger has it's own associated queue, and a dispatch group is used for synchrnoization. +static dispatch_group_t loggingGroup; + +// In order to prevent to queue from growing infinitely large, +// a maximum size is enforced (LOG_MAX_QUEUE_SIZE). +static dispatch_semaphore_t queueSemaphore; + +// Minor optimization for uniprocessor machines +static unsigned int numProcessors; + +/** + * The runtime sends initialize to each class in a program exactly one time just before the class, + * or any class that inherits from it, is sent its first message from within the program. (Thus the + * method may never be invoked if the class is not used.) The runtime sends the initialize message to + * classes in a thread-safe manner. Superclasses receive this message before their subclasses. + * + * This method may also be called directly (assumably by accident), hence the safety mechanism. +**/ ++ (void)initialize +{ + static BOOL initialized = NO; + if (!initialized) + { + initialized = YES; + + loggers = [[NSMutableArray alloc] initWithCapacity:4]; + + NSLogDebug(@"DDLog: Using grand central dispatch"); + + loggingQueue = dispatch_queue_create("cocoa.lumberjack", NULL); + loggingGroup = dispatch_group_create(); + + void *nonNullValue = GlobalLoggingQueueIdentityKey; // Whatever, just not null + dispatch_queue_set_specific(loggingQueue, GlobalLoggingQueueIdentityKey, nonNullValue, NULL); + + queueSemaphore = dispatch_semaphore_create(LOG_MAX_QUEUE_SIZE); + + // Figure out how many processors are available. + // This may be used later for an optimization on uniprocessor machines. + + host_basic_info_data_t hostInfo; + mach_msg_type_number_t infoCount; + + infoCount = HOST_BASIC_INFO_COUNT; + host_info(mach_host_self(), HOST_BASIC_INFO, (host_info_t)&hostInfo, &infoCount); + + unsigned int result = (unsigned int)(hostInfo.max_cpus); + unsigned int one = (unsigned int)(1); + + numProcessors = MAX(result, one); + + NSLogDebug(@"DDLog: numProcessors = %u", numProcessors); + + + #if TARGET_OS_IPHONE + NSString *notificationName = @"UIApplicationWillTerminateNotification"; + #else + NSString *notificationName = @"NSApplicationWillTerminateNotification"; + #endif + + [[NSNotificationCenter defaultCenter] addObserver:self + selector:@selector(applicationWillTerminate:) + name:notificationName + object:nil]; + } +} + +/** + * Provides access to the logging queue. +**/ ++ (dispatch_queue_t)loggingQueue +{ + return loggingQueue; +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark Notifications +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + ++ (void)applicationWillTerminate:(NSNotification *)notification +{ + [self flushLog]; +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark Logger Management +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + ++ (void)addLogger:(id )logger +{ + if (logger == nil) return; + + dispatch_async(loggingQueue, ^{ @autoreleasepool { + + [self lt_addLogger:logger]; + }}); +} + ++ (void)removeLogger:(id )logger +{ + if (logger == nil) return; + + dispatch_async(loggingQueue, ^{ @autoreleasepool { + + [self lt_removeLogger:logger]; + }}); +} + ++ (void)removeAllLoggers +{ + dispatch_async(loggingQueue, ^{ @autoreleasepool { + + [self lt_removeAllLoggers]; + }}); +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark Master Logging +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + ++ (void)queueLogMessage:(DDLogMessage *)logMessage asynchronously:(BOOL)asyncFlag +{ + // We have a tricky situation here... + // + // In the common case, when the queueSize is below the maximumQueueSize, + // we want to simply enqueue the logMessage. And we want to do this as fast as possible, + // which means we don't want to block and we don't want to use any locks. + // + // However, if the queueSize gets too big, we want to block. + // But we have very strict requirements as to when we block, and how long we block. + // + // The following example should help illustrate our requirements: + // + // Imagine that the maximum queue size is configured to be 5, + // and that there are already 5 log messages queued. + // Let us call these 5 queued log messages A, B, C, D, and E. (A is next to be executed) + // + // Now if our thread issues a log statement (let us call the log message F), + // it should block before the message is added to the queue. + // Furthermore, it should be unblocked immediately after A has been unqueued. + // + // The requirements are strict in this manner so that we block only as long as necessary, + // and so that blocked threads are unblocked in the order in which they were blocked. + // + // Returning to our previous example, let us assume that log messages A through E are still queued. + // Our aforementioned thread is blocked attempting to queue log message F. + // Now assume we have another separate thread that attempts to issue log message G. + // It should block until log messages A and B have been unqueued. + + + // We are using a counting semaphore provided by GCD. + // The semaphore is initialized with our LOG_MAX_QUEUE_SIZE value. + // Everytime we want to queue a log message we decrement this value. + // If the resulting value is less than zero, + // the semaphore function waits in FIFO order for a signal to occur before returning. + // + // A dispatch semaphore is an efficient implementation of a traditional counting semaphore. + // Dispatch semaphores call down to the kernel only when the calling thread needs to be blocked. + // If the calling semaphore does not need to block, no kernel call is made. + + dispatch_semaphore_wait(queueSemaphore, DISPATCH_TIME_FOREVER); + + // We've now sure we won't overflow the queue. + // It is time to queue our log message. + + dispatch_block_t logBlock = ^{ @autoreleasepool { + + [self lt_log:logMessage]; + }}; + + if (asyncFlag) + dispatch_async(loggingQueue, logBlock); + else + dispatch_sync(loggingQueue, logBlock); +} + ++ (void)log:(BOOL)asynchronous + level:(int)level + flag:(int)flag + context:(int)context + file:(const char *)file + function:(const char *)function + line:(int)line + tag:(id)tag + format:(NSString *)format, ... +{ + va_list args; + if (format) + { + va_start(args, format); + + NSString *logMsg = [[NSString alloc] initWithFormat:format arguments:args]; + DDLogMessage *logMessage = [[DDLogMessage alloc] initWithLogMsg:logMsg + level:level + flag:flag + context:context + file:file + function:function + line:line + tag:tag + options:0]; + + [self queueLogMessage:logMessage asynchronously:asynchronous]; + + va_end(args); + } +} + ++ (void)log:(BOOL)asynchronous + level:(int)level + flag:(int)flag + context:(int)context + file:(const char *)file + function:(const char *)function + line:(int)line + tag:(id)tag + format:(NSString *)format + args:(va_list)args +{ + if (format) + { + NSString *logMsg = [[NSString alloc] initWithFormat:format arguments:args]; + DDLogMessage *logMessage = [[DDLogMessage alloc] initWithLogMsg:logMsg + level:level + flag:flag + context:context + file:file + function:function + line:line + tag:tag + options:0]; + + [self queueLogMessage:logMessage asynchronously:asynchronous]; + } +} + ++ (void)flushLog +{ + dispatch_sync(loggingQueue, ^{ @autoreleasepool { + + [self lt_flush]; + }}); +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark Registered Dynamic Logging +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + ++ (BOOL)isRegisteredClass:(Class)class +{ + SEL getterSel = @selector(ddLogLevel); + SEL setterSel = @selector(ddSetLogLevel:); + +#if TARGET_OS_IPHONE && !TARGET_IPHONE_SIMULATOR + + // Issue #6 (GoogleCode) - Crashes on iOS 4.2.1 and iPhone 4 + // + // Crash caused by class_getClassMethod(2). + // + // "It's a bug with UIAccessibilitySafeCategory__NSObject so it didn't pop up until + // users had VoiceOver enabled [...]. I was able to work around it by searching the + // result of class_copyMethodList() instead of calling class_getClassMethod()" + + BOOL result = NO; + + unsigned int methodCount, i; + Method *methodList = class_copyMethodList(object_getClass(class), &methodCount); + + if (methodList != NULL) + { + BOOL getterFound = NO; + BOOL setterFound = NO; + + for (i = 0; i < methodCount; ++i) + { + SEL currentSel = method_getName(methodList[i]); + + if (currentSel == getterSel) + { + getterFound = YES; + } + else if (currentSel == setterSel) + { + setterFound = YES; + } + + if (getterFound && setterFound) + { + result = YES; + break; + } + } + + free(methodList); + } + + return result; + +#else + + // Issue #24 (GitHub) - Crashing in in ARC+Simulator + // + // The method +[DDLog isRegisteredClass] will crash a project when using it with ARC + Simulator. + // For running in the Simulator, it needs to execute the non-iOS code. + + Method getter = class_getClassMethod(class, getterSel); + Method setter = class_getClassMethod(class, setterSel); + + if ((getter != NULL) && (setter != NULL)) + { + return YES; + } + + return NO; + +#endif +} + ++ (NSArray *)registeredClasses +{ + int numClasses, i; + + // We're going to get the list of all registered classes. + // The Objective-C runtime library automatically registers all the classes defined in your source code. + // + // To do this we use the following method (documented in the Objective-C Runtime Reference): + // + // int objc_getClassList(Class *buffer, int bufferLen) + // + // We can pass (NULL, 0) to obtain the total number of + // registered class definitions without actually retrieving any class definitions. + // This allows us to allocate the minimum amount of memory needed for the application. + + numClasses = objc_getClassList(NULL, 0); + + // The numClasses method now tells us how many classes we have. + // So we can allocate our buffer, and get pointers to all the class definitions. + + Class *classes = (Class *)malloc(sizeof(Class) * numClasses); + if (classes == NULL) return nil; + + numClasses = objc_getClassList(classes, numClasses); + + // We can now loop through the classes, and test each one to see if it is a DDLogging class. + + NSMutableArray *result = [NSMutableArray arrayWithCapacity:numClasses]; + + for (i = 0; i < numClasses; i++) + { + Class class = classes[i]; + + if ([self isRegisteredClass:class]) + { + [result addObject:class]; + } + } + + free(classes); + + return result; +} + ++ (NSArray *)registeredClassNames +{ + NSArray *registeredClasses = [self registeredClasses]; + NSMutableArray *result = [NSMutableArray arrayWithCapacity:[registeredClasses count]]; + + for (Class class in registeredClasses) + { + [result addObject:NSStringFromClass(class)]; + } + + return result; +} + ++ (int)logLevelForClass:(Class)aClass +{ + if ([self isRegisteredClass:aClass]) + { + return [aClass ddLogLevel]; + } + + return -1; +} + ++ (int)logLevelForClassWithName:(NSString *)aClassName +{ + Class aClass = NSClassFromString(aClassName); + + return [self logLevelForClass:aClass]; +} + ++ (void)setLogLevel:(int)logLevel forClass:(Class)aClass +{ + if ([self isRegisteredClass:aClass]) + { + [aClass ddSetLogLevel:logLevel]; + } +} + ++ (void)setLogLevel:(int)logLevel forClassWithName:(NSString *)aClassName +{ + Class aClass = NSClassFromString(aClassName); + + [self setLogLevel:logLevel forClass:aClass]; +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark Logging Thread +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +/** + * This method should only be run on the logging thread/queue. +**/ ++ (void)lt_addLogger:(id )logger +{ + // Add to loggers array. + // Need to create loggerQueue if loggerNode doesn't provide one. + + dispatch_queue_t loggerQueue = NULL; + + if ([logger respondsToSelector:@selector(loggerQueue)]) + { + // Logger may be providing its own queue + + loggerQueue = [logger loggerQueue]; + } + + if (loggerQueue == nil) + { + // Automatically create queue for the logger. + // Use the logger name as the queue name if possible. + + const char *loggerQueueName = NULL; + if ([logger respondsToSelector:@selector(loggerName)]) + { + loggerQueueName = [[logger loggerName] UTF8String]; + } + + loggerQueue = dispatch_queue_create(loggerQueueName, NULL); + } + + DDLoggerNode *loggerNode = [DDLoggerNode nodeWithLogger:logger loggerQueue:loggerQueue]; + [loggers addObject:loggerNode]; + + if ([logger respondsToSelector:@selector(didAddLogger)]) + { + dispatch_async(loggerNode->loggerQueue, ^{ @autoreleasepool { + + [logger didAddLogger]; + }}); + } +} + +/** + * This method should only be run on the logging thread/queue. +**/ ++ (void)lt_removeLogger:(id )logger +{ + // Find associated loggerNode in list of added loggers + + DDLoggerNode *loggerNode = nil; + + for (DDLoggerNode *node in loggers) + { + if (node->logger == logger) + { + loggerNode = node; + break; + } + } + + if (loggerNode == nil) + { + NSLogDebug(@"DDLog: Request to remove logger which wasn't added"); + return; + } + + // Notify logger + + if ([logger respondsToSelector:@selector(willRemoveLogger)]) + { + dispatch_async(loggerNode->loggerQueue, ^{ @autoreleasepool { + + [logger willRemoveLogger]; + }}); + } + + // Remove from loggers array + + [loggers removeObject:loggerNode]; +} + +/** + * This method should only be run on the logging thread/queue. +**/ ++ (void)lt_removeAllLoggers +{ + // Notify all loggers + + for (DDLoggerNode *loggerNode in loggers) + { + if ([loggerNode->logger respondsToSelector:@selector(willRemoveLogger)]) + { + dispatch_async(loggerNode->loggerQueue, ^{ @autoreleasepool { + + [loggerNode->logger willRemoveLogger]; + }}); + } + } + + // Remove all loggers from array + + [loggers removeAllObjects]; +} + +/** + * This method should only be run on the logging thread/queue. +**/ ++ (void)lt_log:(DDLogMessage *)logMessage +{ + // Execute the given log message on each of our loggers. + + if (numProcessors > 1) + { + // Execute each logger concurrently, each within its own queue. + // All blocks are added to same group. + // After each block has been queued, wait on group. + // + // The waiting ensures that a slow logger doesn't end up with a large queue of pending log messages. + // This would defeat the purpose of the efforts we made earlier to restrict the max queue size. + + for (DDLoggerNode *loggerNode in loggers) + { + dispatch_group_async(loggingGroup, loggerNode->loggerQueue, ^{ @autoreleasepool { + + [loggerNode->logger logMessage:logMessage]; + + }}); + } + + dispatch_group_wait(loggingGroup, DISPATCH_TIME_FOREVER); + } + else + { + // Execute each logger serialy, each within its own queue. + + for (DDLoggerNode *loggerNode in loggers) + { + dispatch_sync(loggerNode->loggerQueue, ^{ @autoreleasepool { + + [loggerNode->logger logMessage:logMessage]; + + }}); + } + } + + // If our queue got too big, there may be blocked threads waiting to add log messages to the queue. + // Since we've now dequeued an item from the log, we may need to unblock the next thread. + + // We are using a counting semaphore provided by GCD. + // The semaphore is initialized with our LOG_MAX_QUEUE_SIZE value. + // When a log message is queued this value is decremented. + // When a log message is dequeued this value is incremented. + // If the value ever drops below zero, + // the queueing thread blocks and waits in FIFO order for us to signal it. + // + // A dispatch semaphore is an efficient implementation of a traditional counting semaphore. + // Dispatch semaphores call down to the kernel only when the calling thread needs to be blocked. + // If the calling semaphore does not need to block, no kernel call is made. + + dispatch_semaphore_signal(queueSemaphore); +} + +/** + * This method should only be run on the background logging thread. +**/ ++ (void)lt_flush +{ + // All log statements issued before the flush method was invoked have now been executed. + // + // Now we need to propogate the flush request to any loggers that implement the flush method. + // This is designed for loggers that buffer IO. + + for (DDLoggerNode *loggerNode in loggers) + { + if ([loggerNode->logger respondsToSelector:@selector(flush)]) + { + dispatch_group_async(loggingGroup, loggerNode->loggerQueue, ^{ @autoreleasepool { + + [loggerNode->logger flush]; + + }}); + } + } + + dispatch_group_wait(loggingGroup, DISPATCH_TIME_FOREVER); +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark Utilities +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +NSString *DDExtractFileNameWithoutExtension(const char *filePath, BOOL copy) +{ + if (filePath == NULL) return nil; + + char *lastSlash = NULL; + char *lastDot = NULL; + + char *p = (char *)filePath; + + while (*p != '\0') + { + if (*p == '/') + lastSlash = p; + else if (*p == '.') + lastDot = p; + + p++; + } + + char *subStr; + NSUInteger subLen; + + if (lastSlash) + { + if (lastDot) + { + // lastSlash -> lastDot + subStr = lastSlash + 1; + subLen = lastDot - subStr; + } + else + { + // lastSlash -> endOfString + subStr = lastSlash + 1; + subLen = p - subStr; + } + } + else + { + if (lastDot) + { + // startOfString -> lastDot + subStr = (char *)filePath; + subLen = lastDot - subStr; + } + else + { + // startOfString -> endOfString + subStr = (char *)filePath; + subLen = p - subStr; + } + } + + if (copy) + { + return [[NSString alloc] initWithBytes:subStr + length:subLen + encoding:NSUTF8StringEncoding]; + } + else + { + // We can take advantage of the fact that __FILE__ is a string literal. + // Specifically, we don't need to waste time copying the string. + // We can just tell NSString to point to a range within the string literal. + + return [[NSString alloc] initWithBytesNoCopy:subStr + length:subLen + encoding:NSUTF8StringEncoding + freeWhenDone:NO]; + } +} + +@end + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark - +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +@implementation DDLoggerNode + +- (id)initWithLogger:(id )aLogger loggerQueue:(dispatch_queue_t)aLoggerQueue +{ + if ((self = [super init])) + { + logger = aLogger; + + if (aLoggerQueue) { + loggerQueue = aLoggerQueue; + #if !OS_OBJECT_USE_OBJC + dispatch_retain(loggerQueue); + #endif + } + } + return self; +} + ++ (DDLoggerNode *)nodeWithLogger:(id )logger loggerQueue:(dispatch_queue_t)loggerQueue +{ + return [[DDLoggerNode alloc] initWithLogger:logger loggerQueue:loggerQueue]; +} + +- (void)dealloc +{ + #if !OS_OBJECT_USE_OBJC + if (loggerQueue) dispatch_release(loggerQueue); + #endif +} + +@end + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark - +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +@implementation DDLogMessage + +static char *dd_str_copy(const char *str) +{ + if (str == NULL) return NULL; + + size_t length = strlen(str); + char * result = malloc(length + 1); + if (result == NULL) return NULL; + strncpy(result, str, length); + result[length] = 0; + + return result; +} + +- (id)initWithLogMsg:(NSString *)msg + level:(int)level + flag:(int)flag + context:(int)context + file:(const char *)aFile + function:(const char *)aFunction + line:(int)line + tag:(id)aTag + options:(DDLogMessageOptions)optionsMask +{ + if ((self = [super init])) + { + logMsg = msg; + logLevel = level; + logFlag = flag; + logContext = context; + lineNumber = line; + tag = aTag; + options = optionsMask; + + if (options & DDLogMessageCopyFile) + file = dd_str_copy(aFile); + else + file = (char *)aFile; + + if (options & DDLogMessageCopyFunction) + function = dd_str_copy(aFunction); + else + function = (char *)aFunction; + + timestamp = [[NSDate alloc] init]; + + machThreadID = pthread_mach_thread_np(pthread_self()); + + #pragma clang diagnostic push + #pragma clang diagnostic ignored "-Wdeprecated-declarations" + // The documentation for dispatch_get_current_queue() states: + // + // > [This method is] "recommended for debugging and logging purposes only"... + // + // Well that's exactly how we're using it here. Literally for logging purposes only. + // However, Apple has decided to deprecate this method anyway. + // However they have not given us an alternate version of dispatch_queue_get_label() that + // automatically uses the current queue, thus dispatch_get_current_queue() is still required. + // + // If dispatch_get_current_queue() disappears, without a dispatch_queue_get_label() alternative, + // Apple will have effectively taken away our ability to properly log the name of executing dispatch queue. + + dispatch_queue_t currentQueue = dispatch_get_current_queue(); + #pragma clang diagnostic pop + + queueLabel = dd_str_copy(dispatch_queue_get_label(currentQueue)); + + threadName = [[NSThread currentThread] name]; + } + return self; +} + +- (NSString *)threadID +{ + return [[NSString alloc] initWithFormat:@"%x", machThreadID]; +} + +- (NSString *)fileName +{ + return DDExtractFileNameWithoutExtension(file, NO); +} + +- (NSString *)methodName +{ + if (function == NULL) + return nil; + else + return [[NSString alloc] initWithUTF8String:function]; +} + +- (void)dealloc +{ + if (file && (options & DDLogMessageCopyFile)) + free(file); + + if (function && (options & DDLogMessageCopyFunction)) + free(function); + + if (queueLabel) + free(queueLabel); +} + +@end + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark - +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +@implementation DDAbstractLogger + +- (id)init +{ + if ((self = [super init])) + { + const char *loggerQueueName = NULL; + if ([self respondsToSelector:@selector(loggerName)]) + { + loggerQueueName = [[self loggerName] UTF8String]; + } + + loggerQueue = dispatch_queue_create(loggerQueueName, NULL); + + // We're going to use dispatch_queue_set_specific() to "mark" our loggerQueue. + // Later we can use dispatch_get_specific() to determine if we're executing on our loggerQueue. + // The documentation states: + // + // > Keys are only compared as pointers and are never dereferenced. + // > Thus, you can use a pointer to a static variable for a specific subsystem or + // > any other value that allows you to identify the value uniquely. + // > Specifying a pointer to a string constant is not recommended. + // + // So we're going to use the very convenient key of "self", + // which also works when multiple logger classes extend this class, as each will have a different "self" key. + // + // This is used primarily for thread-safety assertions (via the isOnInternalLoggerQueue method below). + + void *key = (__bridge void *)self; + void *nonNullValue = (__bridge void *)self; + + dispatch_queue_set_specific(loggerQueue, key, nonNullValue, NULL); + } + return self; +} + +- (void)dealloc +{ + #if !OS_OBJECT_USE_OBJC + if (loggerQueue) dispatch_release(loggerQueue); + #endif +} + +- (void)logMessage:(DDLogMessage *)logMessage +{ + // Override me +} + +- (id )logFormatter +{ + // This method must be thread safe and intuitive. + // Therefore if somebody executes the following code: + // + // [logger setLogFormatter:myFormatter]; + // formatter = [logger logFormatter]; + // + // They would expect formatter to equal myFormatter. + // This functionality must be ensured by the getter and setter method. + // + // The thread safety must not come at a cost to the performance of the logMessage method. + // This method is likely called sporadically, while the logMessage method is called repeatedly. + // This means, the implementation of this method: + // - Must NOT require the logMessage method to acquire a lock. + // - Must NOT require the logMessage method to access an atomic property (also a lock of sorts). + // + // Thread safety is ensured by executing access to the formatter variable on the loggerQueue. + // This is the same queue that the logMessage method operates on. + // + // Note: The last time I benchmarked the performance of direct access vs atomic property access, + // direct access was over twice as fast on the desktop and over 6 times as fast on the iPhone. + // + // Furthermore, consider the following code: + // + // DDLogVerbose(@"log msg 1"); + // DDLogVerbose(@"log msg 2"); + // [logger setFormatter:myFormatter]; + // DDLogVerbose(@"log msg 3"); + // + // Our intuitive requirement means that the new formatter will only apply to the 3rd log message. + // This must remain true even when using asynchronous logging. + // We must keep in mind the various queue's that are in play here: + // + // loggerQueue : Our own private internal queue that the logMessage method runs on. + // Operations are added to this queue from the global loggingQueue. + // + // globalLoggingQueue : The queue that all log messages go through before they arrive in our loggerQueue. + // + // All log statements go through the serial gloabalLoggingQueue before they arrive at our loggerQueue. + // Thus this method also goes through the serial globalLoggingQueue to ensure intuitive operation. + + // IMPORTANT NOTE: + // + // Methods within the DDLogger implementation MUST access the formatter ivar directly. + // This method is designed explicitly for external access. + // + // Using "self." syntax to go through this method will cause immediate deadlock. + // This is the intended result. Fix it by accessing the ivar directly. + // Great strides have been take to ensure this is safe to do. Plus it's MUCH faster. + + NSAssert(![self isOnGlobalLoggingQueue], @"Core architecture requirement failure"); + NSAssert(![self isOnInternalLoggerQueue], @"MUST access ivar directly, NOT via self.* syntax."); + + dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue]; + + __block id result; + + dispatch_sync(globalLoggingQueue, ^{ + dispatch_sync(loggerQueue, ^{ + result = formatter; + }); + }); + + return result; +} + +- (void)setLogFormatter:(id )logFormatter +{ + // The design of this method is documented extensively in the logFormatter message (above in code). + + NSAssert(![self isOnGlobalLoggingQueue], @"Core architecture requirement failure"); + NSAssert(![self isOnInternalLoggerQueue], @"MUST access ivar directly, NOT via self.* syntax."); + + dispatch_block_t block = ^{ @autoreleasepool { + + if (formatter != logFormatter) + { + if ([formatter respondsToSelector:@selector(willRemoveFromLogger:)]) { + [formatter willRemoveFromLogger:self]; + } + + formatter = logFormatter; + + if ([formatter respondsToSelector:@selector(didAddToLogger:)]) { + [formatter didAddToLogger:self]; + } + } + }}; + + dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue]; + + dispatch_async(globalLoggingQueue, ^{ + dispatch_async(loggerQueue, block); + }); +} + +- (dispatch_queue_t)loggerQueue +{ + return loggerQueue; +} + +- (NSString *)loggerName +{ + return NSStringFromClass([self class]); +} + +- (BOOL)isOnGlobalLoggingQueue +{ + return (dispatch_get_specific(GlobalLoggingQueueIdentityKey) != NULL); +} + +- (BOOL)isOnInternalLoggerQueue +{ + void *key = (__bridge void *)self; + return (dispatch_get_specific(key) != NULL); +} + +@end diff --git a/Lumberjack/DDTTYLogger.h b/Lumberjack/DDTTYLogger.h new file mode 100755 index 0000000..4cbd2e8 --- /dev/null +++ b/Lumberjack/DDTTYLogger.h @@ -0,0 +1,167 @@ +#import +#if TARGET_OS_IPHONE +#import +#else +#import +#endif + +#import "DDLog.h" + +/** + * Welcome to Cocoa Lumberjack! + * + * The project page has a wealth of documentation if you have any questions. + * https://github.com/robbiehanson/CocoaLumberjack + * + * If you're new to the project you may wish to read the "Getting Started" wiki. + * https://github.com/robbiehanson/CocoaLumberjack/wiki/GettingStarted + * + * + * This class provides a logger for Terminal output or Xcode console output, + * depending on where you are running your code. + * + * As described in the "Getting Started" page, + * the traditional NSLog() function directs it's output to two places: + * + * - Apple System Log (so it shows up in Console.app) + * - StdErr (if stderr is a TTY, so log statements show up in Xcode console) + * + * To duplicate NSLog() functionality you can simply add this logger and an asl logger. + * However, if you instead choose to use file logging (for faster performance), + * you may choose to use only a file logger and a tty logger. +**/ + +@interface DDTTYLogger : DDAbstractLogger +{ + NSCalendar *calendar; + NSUInteger calendarUnitFlags; + + NSString *appName; + char *app; + size_t appLen; + + NSString *processID; + char *pid; + size_t pidLen; + + BOOL colorsEnabled; + NSMutableArray *colorProfilesArray; + NSMutableDictionary *colorProfilesDict; +} + ++ (DDTTYLogger *)sharedInstance; + +/* Inherited from the DDLogger protocol: + * + * Formatters may optionally be added to any logger. + * + * If no formatter is set, the logger simply logs the message as it is given in logMessage, + * or it may use its own built in formatting style. + * + * More information about formatters can be found here: + * https://github.com/robbiehanson/CocoaLumberjack/wiki/CustomFormatters + * + * The actual implementation of these methods is inherited from DDAbstractLogger. + +- (id )logFormatter; +- (void)setLogFormatter:(id )formatter; + +*/ + +/** + * Want to use different colors for different log levels? + * Enable this property. + * + * If you run the application via the Terminal (not Xcode), + * the logger will map colors to xterm-256color or xterm-color (if available). + * + * Xcode does NOT natively support colors in the Xcode debugging console. + * You'll need to install the XcodeColors plugin to see colors in the Xcode console. + * https://github.com/robbiehanson/XcodeColors + * + * The default value if NO. +**/ +@property (readwrite, assign) BOOL colorsEnabled; + +/** + * The default color set (foregroundColor, backgroundColor) is: + * + * - LOG_FLAG_ERROR = (red, nil) + * - LOG_FLAG_WARN = (orange, nil) + * + * You can customize the colors however you see fit. + * Please note that you are passing a flag, NOT a level. + * + * GOOD : [ttyLogger setForegroundColor:pink backgroundColor:nil forFlag:LOG_FLAG_INFO]; // <- Good :) + * BAD : [ttyLogger setForegroundColor:pink backgroundColor:nil forFlag:LOG_LEVEL_INFO]; // <- BAD! :( + * + * LOG_FLAG_INFO = 0...00100 + * LOG_LEVEL_INFO = 0...00111 <- Would match LOG_FLAG_INFO and LOG_FLAG_WARN and LOG_FLAG_ERROR + * + * If you run the application within Xcode, then the XcodeColors plugin is required. + * + * If you run the application from a shell, then DDTTYLogger will automatically map the given color to + * the closest available color. (xterm-256color or xterm-color which have 256 and 16 supported colors respectively.) + * + * This method invokes setForegroundColor:backgroundColor:forFlag:context: and passes the default context (0). +**/ +#if TARGET_OS_IPHONE +- (void)setForegroundColor:(UIColor *)txtColor backgroundColor:(UIColor *)bgColor forFlag:(int)mask; +#else +- (void)setForegroundColor:(NSColor *)txtColor backgroundColor:(NSColor *)bgColor forFlag:(int)mask; +#endif + +/** + * Just like setForegroundColor:backgroundColor:flag, but allows you to specify a particular logging context. + * + * A logging context is often used to identify log messages coming from a 3rd party framework, + * although logging context's can be used for many different functions. + * + * Logging context's are explained in further detail here: + * https://github.com/robbiehanson/CocoaLumberjack/wiki/CustomContext +**/ +#if TARGET_OS_IPHONE +- (void)setForegroundColor:(UIColor *)txtColor backgroundColor:(UIColor *)bgColor forFlag:(int)mask context:(int)ctxt; +#else +- (void)setForegroundColor:(NSColor *)txtColor backgroundColor:(NSColor *)bgColor forFlag:(int)mask context:(int)ctxt; +#endif + +/** + * Similar to the methods above, but allows you to map DDLogMessage->tag to a particular color profile. + * For example, you could do something like this: + * + * static NSString *const PurpleTag = @"PurpleTag"; + * + * #define DDLogPurple(frmt, ...) LOG_OBJC_TAG_MACRO(NO, 0, 0, 0, PurpleTag, frmt, ##__VA_ARGS__) + * + * And then in your applicationDidFinishLaunching, or wherever you configure Lumberjack: + * + * #if TARGET_OS_IPHONE + * UIColor *purple = [UIColor colorWithRed:(64/255.0) green:(0/255.0) blue:(128/255.0) alpha:1.0]; + * #else + * NSColor *purple = [NSColor colorWithCalibratedRed:(64/255.0) green:(0/255.0) blue:(128/255.0) alpha:1.0]; + * + * [[DDTTYLogger sharedInstance] setForegroundColor:purple backgroundColor:nil forTag:PurpleTag]; + * [DDLog addLogger:[DDTTYLogger sharedInstance]]; + * + * This would essentially give you a straight NSLog replacement that prints in purple: + * + * DDLogPurple(@"I'm a purple log message!"); +**/ +#if TARGET_OS_IPHONE +- (void)setForegroundColor:(UIColor *)txtColor backgroundColor:(UIColor *)bgColor forTag:(id )tag; +#else +- (void)setForegroundColor:(NSColor *)txtColor backgroundColor:(NSColor *)bgColor forTag:(id )tag; +#endif + +/** + * Clearing color profiles. +**/ +- (void)clearColorsForFlag:(int)mask; +- (void)clearColorsForFlag:(int)mask context:(int)context; +- (void)clearColorsForTag:(id )tag; +- (void)clearColorsForAllFlags; +- (void)clearColorsForAllTags; +- (void)clearAllColors; + +@end diff --git a/Lumberjack/DDTTYLogger.m b/Lumberjack/DDTTYLogger.m new file mode 100755 index 0000000..8b4c097 --- /dev/null +++ b/Lumberjack/DDTTYLogger.m @@ -0,0 +1,1490 @@ +#import "DDTTYLogger.h" + +#import +#import + +/** + * Welcome to Cocoa Lumberjack! + * + * The project page has a wealth of documentation if you have any questions. + * https://github.com/robbiehanson/CocoaLumberjack + * + * If you're new to the project you may wish to read the "Getting Started" wiki. + * https://github.com/robbiehanson/CocoaLumberjack/wiki/GettingStarted +**/ + +#if ! __has_feature(objc_arc) +#warning This file must be compiled with ARC. Use -fobjc-arc flag (or convert project to ARC). +#endif + +// We probably shouldn't be using DDLog() statements within the DDLog implementation. +// But we still want to leave our log statements for any future debugging, +// and to allow other developers to trace the implementation (which is a great learning tool). +// +// So we use primitive logging macros around NSLog. +// We maintain the NS prefix on the macros to be explicit about the fact that we're using NSLog. + +#define LOG_LEVEL 2 + +#define NSLogError(frmt, ...) do{ if(LOG_LEVEL >= 1) NSLog((frmt), ##__VA_ARGS__); } while(0) +#define NSLogWarn(frmt, ...) do{ if(LOG_LEVEL >= 2) NSLog((frmt), ##__VA_ARGS__); } while(0) +#define NSLogInfo(frmt, ...) do{ if(LOG_LEVEL >= 3) NSLog((frmt), ##__VA_ARGS__); } while(0) +#define NSLogVerbose(frmt, ...) do{ if(LOG_LEVEL >= 4) NSLog((frmt), ##__VA_ARGS__); } while(0) + +// Xcode does NOT natively support colors in the Xcode debugging console. +// You'll need to install the XcodeColors plugin to see colors in the Xcode console. +// https://github.com/robbiehanson/XcodeColors +// +// The following is documentation from the XcodeColors project: +// +// +// How to apply color formatting to your log statements: +// +// To set the foreground color: +// Insert the ESCAPE_SEQ into your string, followed by "fg124,12,255;" where r=124, g=12, b=255. +// +// To set the background color: +// Insert the ESCAPE_SEQ into your string, followed by "bg12,24,36;" where r=12, g=24, b=36. +// +// To reset the foreground color (to default value): +// Insert the ESCAPE_SEQ into your string, followed by "fg;" +// +// To reset the background color (to default value): +// Insert the ESCAPE_SEQ into your string, followed by "bg;" +// +// To reset the foreground and background color (to default values) in one operation: +// Insert the ESCAPE_SEQ into your string, followed by ";" + +#define XCODE_COLORS_ESCAPE_SEQ "\033[" + +#define XCODE_COLORS_RESET_FG XCODE_COLORS_ESCAPE_SEQ "fg;" // Clear any foreground color +#define XCODE_COLORS_RESET_BG XCODE_COLORS_ESCAPE_SEQ "bg;" // Clear any background color +#define XCODE_COLORS_RESET XCODE_COLORS_ESCAPE_SEQ ";" // Clear any foreground or background color + +// Some simple defines to make life easier on ourself + +#if TARGET_OS_IPHONE + #define MakeColor(r, g, b) [UIColor colorWithRed:(r/255.0f) green:(g/255.0f) blue:(b/255.0f) alpha:1.0f] +#else + #define MakeColor(r, g, b) [NSColor colorWithCalibratedRed:(r/255.0f) green:(g/255.0f) blue:(b/255.0f) alpha:1.0f] +#endif + +#if TARGET_OS_IPHONE + #define OSColor UIColor +#else + #define OSColor NSColor +#endif + +// If running in a shell, not all RGB colors will be supported. +// In this case we automatically map to the closest available color. +// In order to provide this mapping, we have a hard-coded set of the standard RGB values available in the shell. +// However, not every shell is the same, and Apple likes to think different even when it comes to shell colors. +// +// Map to standard Terminal.app colors (1), or +// map to standard xterm colors (0). + +#define MAP_TO_TERMINAL_APP_COLORS 1 + + +@interface DDTTYLoggerColorProfile : NSObject { +@public + int mask; + int context; + + uint8_t fg_r; + uint8_t fg_g; + uint8_t fg_b; + + uint8_t bg_r; + uint8_t bg_g; + uint8_t bg_b; + + NSUInteger fgCodeIndex; + NSString *fgCodeRaw; + + NSUInteger bgCodeIndex; + NSString *bgCodeRaw; + + char fgCode[24]; + size_t fgCodeLen; + + char bgCode[24]; + size_t bgCodeLen; + + char resetCode[8]; + size_t resetCodeLen; +} + +- (id)initWithForegroundColor:(OSColor *)fgColor backgroundColor:(OSColor *)bgColor flag:(int)mask context:(int)ctxt; + +@end + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark - +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +@implementation DDTTYLogger + +static BOOL isaColorTTY; +static BOOL isaColor256TTY; +static BOOL isaXcodeColorTTY; + +static NSArray *codes_fg = nil; +static NSArray *codes_bg = nil; +static NSArray *colors = nil; + +static DDTTYLogger *sharedInstance; + +/** + * Initializes the colors array, as well as the codes_fg and codes_bg arrays, for 16 color mode. + * + * This method is used when the application is running from within a shell that only supports 16 color mode. + * This method is not invoked if the application is running within Xcode, or via normal UI app launch. +**/ ++ (void)initialize_colors_16 +{ + if (codes_fg || codes_bg || colors) return; + + NSMutableArray *m_codes_fg = [NSMutableArray arrayWithCapacity:16]; + NSMutableArray *m_codes_bg = [NSMutableArray arrayWithCapacity:16]; + NSMutableArray *m_colors = [NSMutableArray arrayWithCapacity:16]; + + // In a standard shell only 16 colors are supported. + // + // More information about ansi escape codes can be found online. + // http://en.wikipedia.org/wiki/ANSI_escape_code + + [m_codes_fg addObject:@"30m"]; // normal - black + [m_codes_fg addObject:@"31m"]; // normal - red + [m_codes_fg addObject:@"32m"]; // normal - green + [m_codes_fg addObject:@"33m"]; // normal - yellow + [m_codes_fg addObject:@"34m"]; // normal - blue + [m_codes_fg addObject:@"35m"]; // normal - magenta + [m_codes_fg addObject:@"36m"]; // normal - cyan + [m_codes_fg addObject:@"37m"]; // normal - gray + [m_codes_fg addObject:@"1;30m"]; // bright - darkgray + [m_codes_fg addObject:@"1;31m"]; // bright - red + [m_codes_fg addObject:@"1;32m"]; // bright - green + [m_codes_fg addObject:@"1;33m"]; // bright - yellow + [m_codes_fg addObject:@"1;34m"]; // bright - blue + [m_codes_fg addObject:@"1;35m"]; // bright - magenta + [m_codes_fg addObject:@"1;36m"]; // bright - cyan + [m_codes_fg addObject:@"1;37m"]; // bright - white + + [m_codes_bg addObject:@"40m"]; // normal - black + [m_codes_bg addObject:@"41m"]; // normal - red + [m_codes_bg addObject:@"42m"]; // normal - green + [m_codes_bg addObject:@"43m"]; // normal - yellow + [m_codes_bg addObject:@"44m"]; // normal - blue + [m_codes_bg addObject:@"45m"]; // normal - magenta + [m_codes_bg addObject:@"46m"]; // normal - cyan + [m_codes_bg addObject:@"47m"]; // normal - gray + [m_codes_bg addObject:@"1;40m"]; // bright - darkgray + [m_codes_bg addObject:@"1;41m"]; // bright - red + [m_codes_bg addObject:@"1;42m"]; // bright - green + [m_codes_bg addObject:@"1;43m"]; // bright - yellow + [m_codes_bg addObject:@"1;44m"]; // bright - blue + [m_codes_bg addObject:@"1;45m"]; // bright - magenta + [m_codes_bg addObject:@"1;46m"]; // bright - cyan + [m_codes_bg addObject:@"1;47m"]; // bright - white + +#if MAP_TO_TERMINAL_APP_COLORS + + // Standard Terminal.app colors: + // + // These are the default colors used by Apple's Terminal.app. + + [m_colors addObject:MakeColor( 0, 0, 0)]; // normal - black + [m_colors addObject:MakeColor(194, 54, 33)]; // normal - red + [m_colors addObject:MakeColor( 37, 188, 36)]; // normal - green + [m_colors addObject:MakeColor(173, 173, 39)]; // normal - yellow + [m_colors addObject:MakeColor( 73, 46, 225)]; // normal - blue + [m_colors addObject:MakeColor(211, 56, 211)]; // normal - magenta + [m_colors addObject:MakeColor( 51, 187, 200)]; // normal - cyan + [m_colors addObject:MakeColor(203, 204, 205)]; // normal - gray + [m_colors addObject:MakeColor(129, 131, 131)]; // bright - darkgray + [m_colors addObject:MakeColor(252, 57, 31)]; // bright - red + [m_colors addObject:MakeColor( 49, 231, 34)]; // bright - green + [m_colors addObject:MakeColor(234, 236, 35)]; // bright - yellow + [m_colors addObject:MakeColor( 88, 51, 255)]; // bright - blue + [m_colors addObject:MakeColor(249, 53, 248)]; // bright - magenta + [m_colors addObject:MakeColor( 20, 240, 240)]; // bright - cyan + [m_colors addObject:MakeColor(233, 235, 235)]; // bright - white + +#else + + // Standard xterm colors: + // + // These are the default colors used by most xterm shells. + + [m_colors addObject:MakeColor( 0, 0, 0)]; // normal - black + [m_colors addObject:MakeColor(205, 0, 0)]; // normal - red + [m_colors addObject:MakeColor( 0, 205, 0)]; // normal - green + [m_colors addObject:MakeColor(205, 205, 0)]; // normal - yellow + [m_colors addObject:MakeColor( 0, 0, 238)]; // normal - blue + [m_colors addObject:MakeColor(205, 0, 205)]; // normal - magenta + [m_colors addObject:MakeColor( 0, 205, 205)]; // normal - cyan + [m_colors addObject:MakeColor(229, 229, 229)]; // normal - gray + [m_colors addObject:MakeColor(127, 127, 127)]; // bright - darkgray + [m_colors addObject:MakeColor(255, 0, 0)]; // bright - red + [m_colors addObject:MakeColor( 0, 255, 0)]; // bright - green + [m_colors addObject:MakeColor(255, 255, 0)]; // bright - yellow + [m_colors addObject:MakeColor( 92, 92, 255)]; // bright - blue + [m_colors addObject:MakeColor(255, 0, 255)]; // bright - magenta + [m_colors addObject:MakeColor( 0, 255, 255)]; // bright - cyan + [m_colors addObject:MakeColor(255, 255, 255)]; // bright - white + +#endif + + codes_fg = [m_codes_fg copy]; + codes_bg = [m_codes_bg copy]; + colors = [m_colors copy]; + + NSAssert([codes_fg count] == [codes_bg count], @"Invalid colors/codes array(s)"); + NSAssert([codes_fg count] == [colors count], @"Invalid colors/codes array(s)"); +} + +/** + * Initializes the colors array, as well as the codes_fg and codes_bg arrays, for 256 color mode. + * + * This method is used when the application is running from within a shell that supports 256 color mode. + * This method is not invoked if the application is running within Xcode, or via normal UI app launch. +**/ ++ (void)initialize_colors_256 +{ + if (codes_fg || codes_bg || colors) return; + + NSMutableArray *m_codes_fg = [NSMutableArray arrayWithCapacity:(256-16)]; + NSMutableArray *m_codes_bg = [NSMutableArray arrayWithCapacity:(256-16)]; + NSMutableArray *m_colors = [NSMutableArray arrayWithCapacity:(256-16)]; + + #if MAP_TO_TERMINAL_APP_COLORS + + // Standard Terminal.app colors: + // + // These are the colors the Terminal.app uses in xterm-256color mode. + // In this mode, the terminal supports 256 different colors, specified by 256 color codes. + // + // The first 16 color codes map to the original 16 color codes supported by the earlier xterm-color mode. + // These are actually configurable, and thus we ignore them for the purposes of mapping, + // as we can't rely on them being constant. They are largely duplicated anyway. + // + // The next 216 color codes are designed to run the spectrum, with several shades of every color. + // While the color codes are standardized, the actual RGB values for each color code is not. + // Apple's Terminal.app uses different RGB values from that of a standard xterm. + // Apple's choices in colors are designed to be a little nicer on the eyes. + // + // The last 24 color codes represent a grayscale. + // + // Unfortunately, unlike the standard xterm color chart, + // Apple's RGB values cannot be calculated using a simple formula (at least not that I know of). + // Also, I don't know of any ways to programmatically query the shell for the RGB values. + // So this big giant color chart had to be made by hand. + // + // More information about ansi escape codes can be found online. + // http://en.wikipedia.org/wiki/ANSI_escape_code + + // Colors + + [m_colors addObject:MakeColor( 47, 49, 49)]; + [m_colors addObject:MakeColor( 60, 42, 144)]; + [m_colors addObject:MakeColor( 66, 44, 183)]; + [m_colors addObject:MakeColor( 73, 46, 222)]; + [m_colors addObject:MakeColor( 81, 50, 253)]; + [m_colors addObject:MakeColor( 88, 51, 255)]; + + [m_colors addObject:MakeColor( 42, 128, 37)]; + [m_colors addObject:MakeColor( 42, 127, 128)]; + [m_colors addObject:MakeColor( 44, 126, 169)]; + [m_colors addObject:MakeColor( 56, 125, 209)]; + [m_colors addObject:MakeColor( 59, 124, 245)]; + [m_colors addObject:MakeColor( 66, 123, 255)]; + + [m_colors addObject:MakeColor( 51, 163, 41)]; + [m_colors addObject:MakeColor( 39, 162, 121)]; + [m_colors addObject:MakeColor( 42, 161, 162)]; + [m_colors addObject:MakeColor( 53, 160, 202)]; + [m_colors addObject:MakeColor( 45, 159, 240)]; + [m_colors addObject:MakeColor( 58, 158, 255)]; + + [m_colors addObject:MakeColor( 31, 196, 37)]; + [m_colors addObject:MakeColor( 48, 196, 115)]; + [m_colors addObject:MakeColor( 39, 195, 155)]; + [m_colors addObject:MakeColor( 49, 195, 195)]; + [m_colors addObject:MakeColor( 32, 194, 235)]; + [m_colors addObject:MakeColor( 53, 193, 255)]; + + [m_colors addObject:MakeColor( 50, 229, 35)]; + [m_colors addObject:MakeColor( 40, 229, 109)]; + [m_colors addObject:MakeColor( 27, 229, 149)]; + [m_colors addObject:MakeColor( 49, 228, 189)]; + [m_colors addObject:MakeColor( 33, 228, 228)]; + [m_colors addObject:MakeColor( 53, 227, 255)]; + + [m_colors addObject:MakeColor( 27, 254, 30)]; + [m_colors addObject:MakeColor( 30, 254, 103)]; + [m_colors addObject:MakeColor( 45, 254, 143)]; + [m_colors addObject:MakeColor( 38, 253, 182)]; + [m_colors addObject:MakeColor( 38, 253, 222)]; + [m_colors addObject:MakeColor( 42, 253, 252)]; + + [m_colors addObject:MakeColor(140, 48, 40)]; + [m_colors addObject:MakeColor(136, 51, 136)]; + [m_colors addObject:MakeColor(135, 52, 177)]; + [m_colors addObject:MakeColor(134, 52, 217)]; + [m_colors addObject:MakeColor(135, 56, 248)]; + [m_colors addObject:MakeColor(134, 53, 255)]; + + [m_colors addObject:MakeColor(125, 125, 38)]; + [m_colors addObject:MakeColor(124, 125, 125)]; + [m_colors addObject:MakeColor(122, 124, 166)]; + [m_colors addObject:MakeColor(123, 124, 207)]; + [m_colors addObject:MakeColor(123, 122, 247)]; + [m_colors addObject:MakeColor(124, 121, 255)]; + + [m_colors addObject:MakeColor(119, 160, 35)]; + [m_colors addObject:MakeColor(117, 160, 120)]; + [m_colors addObject:MakeColor(117, 160, 160)]; + [m_colors addObject:MakeColor(115, 159, 201)]; + [m_colors addObject:MakeColor(116, 158, 240)]; + [m_colors addObject:MakeColor(117, 157, 255)]; + + [m_colors addObject:MakeColor(113, 195, 39)]; + [m_colors addObject:MakeColor(110, 194, 114)]; + [m_colors addObject:MakeColor(111, 194, 154)]; + [m_colors addObject:MakeColor(108, 194, 194)]; + [m_colors addObject:MakeColor(109, 193, 234)]; + [m_colors addObject:MakeColor(108, 192, 255)]; + + [m_colors addObject:MakeColor(105, 228, 30)]; + [m_colors addObject:MakeColor(103, 228, 109)]; + [m_colors addObject:MakeColor(105, 228, 148)]; + [m_colors addObject:MakeColor(100, 227, 188)]; + [m_colors addObject:MakeColor( 99, 227, 227)]; + [m_colors addObject:MakeColor( 99, 226, 253)]; + + [m_colors addObject:MakeColor( 92, 253, 34)]; + [m_colors addObject:MakeColor( 96, 253, 103)]; + [m_colors addObject:MakeColor( 97, 253, 142)]; + [m_colors addObject:MakeColor( 88, 253, 182)]; + [m_colors addObject:MakeColor( 93, 253, 221)]; + [m_colors addObject:MakeColor( 88, 254, 251)]; + + [m_colors addObject:MakeColor(177, 53, 34)]; + [m_colors addObject:MakeColor(174, 54, 131)]; + [m_colors addObject:MakeColor(172, 55, 172)]; + [m_colors addObject:MakeColor(171, 57, 213)]; + [m_colors addObject:MakeColor(170, 55, 249)]; + [m_colors addObject:MakeColor(170, 57, 255)]; + + [m_colors addObject:MakeColor(165, 123, 37)]; + [m_colors addObject:MakeColor(163, 123, 123)]; + [m_colors addObject:MakeColor(162, 123, 164)]; + [m_colors addObject:MakeColor(161, 122, 205)]; + [m_colors addObject:MakeColor(161, 121, 241)]; + [m_colors addObject:MakeColor(161, 121, 255)]; + + [m_colors addObject:MakeColor(158, 159, 33)]; + [m_colors addObject:MakeColor(157, 158, 118)]; + [m_colors addObject:MakeColor(157, 158, 159)]; + [m_colors addObject:MakeColor(155, 157, 199)]; + [m_colors addObject:MakeColor(155, 157, 239)]; + [m_colors addObject:MakeColor(154, 156, 255)]; + + [m_colors addObject:MakeColor(152, 193, 40)]; + [m_colors addObject:MakeColor(151, 193, 113)]; + [m_colors addObject:MakeColor(150, 193, 153)]; + [m_colors addObject:MakeColor(150, 192, 193)]; + [m_colors addObject:MakeColor(148, 192, 232)]; + [m_colors addObject:MakeColor(149, 191, 253)]; + + [m_colors addObject:MakeColor(146, 227, 28)]; + [m_colors addObject:MakeColor(144, 227, 108)]; + [m_colors addObject:MakeColor(144, 227, 147)]; + [m_colors addObject:MakeColor(144, 227, 187)]; + [m_colors addObject:MakeColor(142, 226, 227)]; + [m_colors addObject:MakeColor(142, 225, 252)]; + + [m_colors addObject:MakeColor(138, 253, 36)]; + [m_colors addObject:MakeColor(137, 253, 102)]; + [m_colors addObject:MakeColor(136, 253, 141)]; + [m_colors addObject:MakeColor(138, 254, 181)]; + [m_colors addObject:MakeColor(135, 255, 220)]; + [m_colors addObject:MakeColor(133, 255, 250)]; + + [m_colors addObject:MakeColor(214, 57, 30)]; + [m_colors addObject:MakeColor(211, 59, 126)]; + [m_colors addObject:MakeColor(209, 57, 168)]; + [m_colors addObject:MakeColor(208, 55, 208)]; + [m_colors addObject:MakeColor(207, 58, 247)]; + [m_colors addObject:MakeColor(206, 61, 255)]; + + [m_colors addObject:MakeColor(204, 121, 32)]; + [m_colors addObject:MakeColor(202, 121, 121)]; + [m_colors addObject:MakeColor(201, 121, 161)]; + [m_colors addObject:MakeColor(200, 120, 202)]; + [m_colors addObject:MakeColor(200, 120, 241)]; + [m_colors addObject:MakeColor(198, 119, 255)]; + + [m_colors addObject:MakeColor(198, 157, 37)]; + [m_colors addObject:MakeColor(196, 157, 116)]; + [m_colors addObject:MakeColor(195, 156, 157)]; + [m_colors addObject:MakeColor(195, 156, 197)]; + [m_colors addObject:MakeColor(194, 155, 236)]; + [m_colors addObject:MakeColor(193, 155, 255)]; + + [m_colors addObject:MakeColor(191, 192, 36)]; + [m_colors addObject:MakeColor(190, 191, 112)]; + [m_colors addObject:MakeColor(189, 191, 152)]; + [m_colors addObject:MakeColor(189, 191, 191)]; + [m_colors addObject:MakeColor(188, 190, 230)]; + [m_colors addObject:MakeColor(187, 190, 253)]; + + [m_colors addObject:MakeColor(185, 226, 28)]; + [m_colors addObject:MakeColor(184, 226, 106)]; + [m_colors addObject:MakeColor(183, 225, 146)]; + [m_colors addObject:MakeColor(183, 225, 186)]; + [m_colors addObject:MakeColor(182, 225, 225)]; + [m_colors addObject:MakeColor(181, 224, 252)]; + + [m_colors addObject:MakeColor(178, 255, 35)]; + [m_colors addObject:MakeColor(178, 255, 101)]; + [m_colors addObject:MakeColor(177, 254, 141)]; + [m_colors addObject:MakeColor(176, 254, 180)]; + [m_colors addObject:MakeColor(176, 254, 220)]; + [m_colors addObject:MakeColor(175, 253, 249)]; + + [m_colors addObject:MakeColor(247, 56, 30)]; + [m_colors addObject:MakeColor(245, 57, 122)]; + [m_colors addObject:MakeColor(243, 59, 163)]; + [m_colors addObject:MakeColor(244, 60, 204)]; + [m_colors addObject:MakeColor(242, 59, 241)]; + [m_colors addObject:MakeColor(240, 55, 255)]; + + [m_colors addObject:MakeColor(241, 119, 36)]; + [m_colors addObject:MakeColor(240, 120, 118)]; + [m_colors addObject:MakeColor(238, 119, 158)]; + [m_colors addObject:MakeColor(237, 119, 199)]; + [m_colors addObject:MakeColor(237, 118, 238)]; + [m_colors addObject:MakeColor(236, 118, 255)]; + + [m_colors addObject:MakeColor(235, 154, 36)]; + [m_colors addObject:MakeColor(235, 154, 114)]; + [m_colors addObject:MakeColor(234, 154, 154)]; + [m_colors addObject:MakeColor(232, 154, 194)]; + [m_colors addObject:MakeColor(232, 153, 234)]; + [m_colors addObject:MakeColor(232, 153, 255)]; + + [m_colors addObject:MakeColor(230, 190, 30)]; + [m_colors addObject:MakeColor(229, 189, 110)]; + [m_colors addObject:MakeColor(228, 189, 150)]; + [m_colors addObject:MakeColor(227, 189, 190)]; + [m_colors addObject:MakeColor(227, 189, 229)]; + [m_colors addObject:MakeColor(226, 188, 255)]; + + [m_colors addObject:MakeColor(224, 224, 35)]; + [m_colors addObject:MakeColor(223, 224, 105)]; + [m_colors addObject:MakeColor(222, 224, 144)]; + [m_colors addObject:MakeColor(222, 223, 184)]; + [m_colors addObject:MakeColor(222, 223, 224)]; + [m_colors addObject:MakeColor(220, 223, 253)]; + + [m_colors addObject:MakeColor(217, 253, 28)]; + [m_colors addObject:MakeColor(217, 253, 99)]; + [m_colors addObject:MakeColor(216, 252, 139)]; + [m_colors addObject:MakeColor(216, 252, 179)]; + [m_colors addObject:MakeColor(215, 252, 218)]; + [m_colors addObject:MakeColor(215, 251, 250)]; + + [m_colors addObject:MakeColor(255, 61, 30)]; + [m_colors addObject:MakeColor(255, 60, 118)]; + [m_colors addObject:MakeColor(255, 58, 159)]; + [m_colors addObject:MakeColor(255, 56, 199)]; + [m_colors addObject:MakeColor(255, 55, 238)]; + [m_colors addObject:MakeColor(255, 59, 255)]; + + [m_colors addObject:MakeColor(255, 117, 29)]; + [m_colors addObject:MakeColor(255, 117, 115)]; + [m_colors addObject:MakeColor(255, 117, 155)]; + [m_colors addObject:MakeColor(255, 117, 195)]; + [m_colors addObject:MakeColor(255, 116, 235)]; + [m_colors addObject:MakeColor(254, 116, 255)]; + + [m_colors addObject:MakeColor(255, 152, 27)]; + [m_colors addObject:MakeColor(255, 152, 111)]; + [m_colors addObject:MakeColor(254, 152, 152)]; + [m_colors addObject:MakeColor(255, 152, 192)]; + [m_colors addObject:MakeColor(254, 151, 231)]; + [m_colors addObject:MakeColor(253, 151, 253)]; + + [m_colors addObject:MakeColor(255, 187, 33)]; + [m_colors addObject:MakeColor(253, 187, 107)]; + [m_colors addObject:MakeColor(252, 187, 148)]; + [m_colors addObject:MakeColor(253, 187, 187)]; + [m_colors addObject:MakeColor(254, 187, 227)]; + [m_colors addObject:MakeColor(252, 186, 252)]; + + [m_colors addObject:MakeColor(252, 222, 34)]; + [m_colors addObject:MakeColor(251, 222, 103)]; + [m_colors addObject:MakeColor(251, 222, 143)]; + [m_colors addObject:MakeColor(250, 222, 182)]; + [m_colors addObject:MakeColor(251, 221, 222)]; + [m_colors addObject:MakeColor(252, 221, 252)]; + + [m_colors addObject:MakeColor(251, 252, 15)]; + [m_colors addObject:MakeColor(251, 252, 97)]; + [m_colors addObject:MakeColor(249, 252, 137)]; + [m_colors addObject:MakeColor(247, 252, 177)]; + [m_colors addObject:MakeColor(247, 253, 217)]; + [m_colors addObject:MakeColor(254, 255, 255)]; + + // Grayscale + + [m_colors addObject:MakeColor( 52, 53, 53)]; + [m_colors addObject:MakeColor( 57, 58, 59)]; + [m_colors addObject:MakeColor( 66, 67, 67)]; + [m_colors addObject:MakeColor( 75, 76, 76)]; + [m_colors addObject:MakeColor( 83, 85, 85)]; + [m_colors addObject:MakeColor( 92, 93, 94)]; + + [m_colors addObject:MakeColor(101, 102, 102)]; + [m_colors addObject:MakeColor(109, 111, 111)]; + [m_colors addObject:MakeColor(118, 119, 119)]; + [m_colors addObject:MakeColor(126, 127, 128)]; + [m_colors addObject:MakeColor(134, 136, 136)]; + [m_colors addObject:MakeColor(143, 144, 145)]; + + [m_colors addObject:MakeColor(151, 152, 153)]; + [m_colors addObject:MakeColor(159, 161, 161)]; + [m_colors addObject:MakeColor(167, 169, 169)]; + [m_colors addObject:MakeColor(176, 177, 177)]; + [m_colors addObject:MakeColor(184, 185, 186)]; + [m_colors addObject:MakeColor(192, 193, 194)]; + + [m_colors addObject:MakeColor(200, 201, 202)]; + [m_colors addObject:MakeColor(208, 209, 210)]; + [m_colors addObject:MakeColor(216, 218, 218)]; + [m_colors addObject:MakeColor(224, 226, 226)]; + [m_colors addObject:MakeColor(232, 234, 234)]; + [m_colors addObject:MakeColor(240, 242, 242)]; + + // Color codes + + int index = 16; + + while (index < 256) + { + [m_codes_fg addObject:[NSString stringWithFormat:@"38;5;%dm", index]]; + [m_codes_bg addObject:[NSString stringWithFormat:@"48;5;%dm", index]]; + + index++; + } + + #else + + // Standard xterm colors: + // + // These are the colors xterm shells use in xterm-256color mode. + // In this mode, the shell supports 256 different colors, specified by 256 color codes. + // + // The first 16 color codes map to the original 16 color codes supported by the earlier xterm-color mode. + // These are generally configurable, and thus we ignore them for the purposes of mapping, + // as we can't rely on them being constant. They are largely duplicated anyway. + // + // The next 216 color codes are designed to run the spectrum, with several shades of every color. + // The last 24 color codes represent a grayscale. + // + // While the color codes are standardized, the actual RGB values for each color code is not. + // However most standard xterms follow a well known color chart, + // which can easily be calculated using the simple formula below. + // + // More information about ansi escape codes can be found online. + // http://en.wikipedia.org/wiki/ANSI_escape_code + + int index = 16; + + int r; // red + int g; // green + int b; // blue + + int ri; // r increment + int gi; // g increment + int bi; // b increment + + // Calculate xterm colors (using standard algorithm) + + int r = 0; + int g = 0; + int b = 0; + + for (ri = 0; ri < 6; ri++) + { + r = (ri == 0) ? 0 : 95 + (40 * (ri - 1)); + + for (gi = 0; gi < 6; gi++) + { + g = (gi == 0) ? 0 : 95 + (40 * (gi - 1)); + + for (bi = 0; bi < 6; bi++) + { + b = (bi == 0) ? 0 : 95 + (40 * (bi - 1)); + + [m_codes_fg addObject:[NSString stringWithFormat:@"38;5;%dm", index]]; + [m_codes_bg addObject:[NSString stringWithFormat:@"48;5;%dm", index]]; + [m_colors addObject:MakeColor(r, g, b)]; + + index++; + } + } + } + + // Calculate xterm grayscale (using standard algorithm) + + r = 8; + g = 8; + b = 8; + + while (index < 256) + { + [m_codes_fg addObject:[NSString stringWithFormat:@"38;5;%dm", index]]; + [m_codes_bg addObject:[NSString stringWithFormat:@"48;5;%dm", index]]; + [m_colors addObject:MakeColor(r, g, b)]; + + r += 10; + g += 10; + b += 10; + + index++; + } + + #endif + + codes_fg = [m_codes_fg copy]; + codes_bg = [m_codes_bg copy]; + colors = [m_colors copy]; + + NSAssert([codes_fg count] == [codes_bg count], @"Invalid colors/codes array(s)"); + NSAssert([codes_fg count] == [colors count], @"Invalid colors/codes array(s)"); +} + ++ (void)getRed:(CGFloat *)rPtr green:(CGFloat *)gPtr blue:(CGFloat *)bPtr fromColor:(OSColor *)color +{ + #if TARGET_OS_IPHONE + + // iOS + + if ([color respondsToSelector:@selector(getRed:green:blue:alpha:)]) + { + [color getRed:rPtr green:gPtr blue:bPtr alpha:NULL]; + } + else + { + // The method getRed:green:blue:alpha: was only available starting iOS 5. + // So in iOS 4 and earlier, we have to jump through hoops. + + CGColorSpaceRef rgbColorSpace = CGColorSpaceCreateDeviceRGB(); + + unsigned char pixel[4]; + CGContextRef context = CGBitmapContextCreate(&pixel, 1, 1, 8, 4, rgbColorSpace, kCGImageAlphaNoneSkipLast); + + CGContextSetFillColorWithColor(context, [color CGColor]); + CGContextFillRect(context, CGRectMake(0, 0, 1, 1)); + + if (rPtr) { *rPtr = pixel[0] / 255.0f; } + if (gPtr) { *gPtr = pixel[1] / 255.0f; } + if (bPtr) { *bPtr = pixel[2] / 255.0f; } + + CGContextRelease(context); + CGColorSpaceRelease(rgbColorSpace); + } + + #else + + // Mac OS X + + [color getRed:rPtr green:gPtr blue:bPtr alpha:NULL]; + + #endif +} + +/** + * Maps the given color to the closest available color supported by the shell. + * The shell may support 256 colors, or only 16. + * + * This method loops through the known supported color set, and calculates the closest color. + * The array index of that color, within the colors array, is then returned. + * This array index may also be used as the index within the codes_fg and codes_bg arrays. +**/ ++ (NSUInteger)codeIndexForColor:(OSColor *)inColor +{ + CGFloat inR, inG, inB; + [self getRed:&inR green:&inG blue:&inB fromColor:inColor]; + + NSUInteger bestIndex = 0; + CGFloat lowestDistance = 100.0f; + + NSUInteger i = 0; + for (OSColor *color in colors) + { + // Calculate Euclidean distance (lower value means closer to given color) + + CGFloat r, g, b; + [self getRed:&r green:&g blue:&b fromColor:color]; + + #if CGFLOAT_IS_DOUBLE + CGFloat distance = sqrt(pow(r-inR, 2.0) + pow(g-inG, 2.0) + pow(b-inB, 2.0)); + #else + CGFloat distance = sqrtf(powf(r-inR, 2.0f) + powf(g-inG, 2.0f) + powf(b-inB, 2.0f)); + #endif + + NSLogVerbose(@"DDTTYLogger: %3lu : %.3f,%.3f,%.3f & %.3f,%.3f,%.3f = %.6f", + (unsigned long)i, inR, inG, inB, r, g, b, distance); + + if (distance < lowestDistance) + { + bestIndex = i; + lowestDistance = distance; + + NSLogVerbose(@"DDTTYLogger: New best index = %lu", (unsigned long)bestIndex); + } + + i++; + } + + return bestIndex; +} + +/** + * The runtime sends initialize to each class in a program exactly one time just before the class, + * or any class that inherits from it, is sent its first message from within the program. (Thus the + * method may never be invoked if the class is not used.) The runtime sends the initialize message to + * classes in a thread-safe manner. Superclasses receive this message before their subclasses. + * + * This method may also be called directly (assumably by accident), hence the safety mechanism. +**/ ++ (void)initialize +{ + static BOOL initialized = NO; + if (!initialized) + { + initialized = YES; + + char *term = getenv("TERM"); + if (term) + { + if (strcasestr(term, "color") != NULL) + { + isaColorTTY = YES; + isaColor256TTY = (strcasestr(term, "256") != NULL); + + if (isaColor256TTY) + [self initialize_colors_256]; + else + [self initialize_colors_16]; + } + } + else + { + // Xcode does NOT natively support colors in the Xcode debugging console. + // You'll need to install the XcodeColors plugin to see colors in the Xcode console. + // + // PS - Please read the header file before diving into the source code. + + char *xcode_colors = getenv("XcodeColors"); + if (xcode_colors && (strcmp(xcode_colors, "YES") == 0)) + { + isaXcodeColorTTY = YES; + } + } + + NSLogInfo(@"DDTTYLogger: isaColorTTY = %@", (isaColorTTY ? @"YES" : @"NO")); + NSLogInfo(@"DDTTYLogger: isaColor256TTY: %@", (isaColor256TTY ? @"YES" : @"NO")); + NSLogInfo(@"DDTTYLogger: isaXcodeColorTTY: %@", (isaXcodeColorTTY ? @"YES" : @"NO")); + + sharedInstance = [[DDTTYLogger alloc] init]; + } +} + ++ (DDTTYLogger *)sharedInstance +{ + return sharedInstance; +} + +- (id)init +{ + if (sharedInstance != nil) + { + return nil; + } + + if ((self = [super init])) + { + calendar = [NSCalendar autoupdatingCurrentCalendar]; + + calendarUnitFlags = 0; + calendarUnitFlags |= NSYearCalendarUnit; + calendarUnitFlags |= NSMonthCalendarUnit; + calendarUnitFlags |= NSDayCalendarUnit; + calendarUnitFlags |= NSHourCalendarUnit; + calendarUnitFlags |= NSMinuteCalendarUnit; + calendarUnitFlags |= NSSecondCalendarUnit; + + // Initialze 'app' variable (char *) + + appName = [[NSProcessInfo processInfo] processName]; + + appLen = [appName lengthOfBytesUsingEncoding:NSUTF8StringEncoding]; + app = (char *)malloc(appLen + 1); + if (app == NULL) return nil; + + [appName getCString:app maxLength:(appLen+1) encoding:NSUTF8StringEncoding]; + + // Initialize 'pid' variable (char *) + + processID = [NSString stringWithFormat:@"%i", (int)getpid()]; + + pidLen = [processID lengthOfBytesUsingEncoding:NSUTF8StringEncoding]; + pid = (char *)malloc(pidLen + 1); + if (pid == NULL) return nil; + + BOOL processedID = [processID getCString:pid maxLength:(pidLen+1) encoding:NSUTF8StringEncoding]; + if (NO == processedID) return nil; + + // Initialize color stuff + + colorsEnabled = NO; + colorProfilesArray = [[NSMutableArray alloc] initWithCapacity:8]; + colorProfilesDict = [[NSMutableDictionary alloc] initWithCapacity:8]; + } + return self; +} + +- (void)loadDefaultColorProfiles +{ + [self setForegroundColor:MakeColor(214, 57, 30) backgroundColor:nil forFlag:LOG_FLAG_ERROR]; + [self setForegroundColor:MakeColor(204, 121, 32) backgroundColor:nil forFlag:LOG_FLAG_WARN]; +} + +- (BOOL)colorsEnabled +{ + // The design of this method is taken from the DDAbstractLogger implementation. + // For extensive documentation please refer to the DDAbstractLogger implementation. + + // Note: The internal implementation MUST access the colorsEnabled variable directly, + // This method is designed explicitly for external access. + // + // Using "self." syntax to go through this method will cause immediate deadlock. + // This is the intended result. Fix it by accessing the ivar directly. + // Great strides have been take to ensure this is safe to do. Plus it's MUCH faster. + + NSAssert(![self isOnGlobalLoggingQueue], @"Core architecture requirement failure"); + NSAssert(![self isOnInternalLoggerQueue], @"MUST access ivar directly, NOT via self.* syntax."); + + dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue]; + + __block BOOL result; + + dispatch_sync(globalLoggingQueue, ^{ + dispatch_sync(loggerQueue, ^{ + result = colorsEnabled; + }); + }); + + return result; +} + +- (void)setColorsEnabled:(BOOL)newColorsEnabled +{ + dispatch_block_t block = ^{ @autoreleasepool { + + colorsEnabled = newColorsEnabled; + + if ([colorProfilesArray count] == 0) { + [self loadDefaultColorProfiles]; + } + }}; + + // The design of this method is taken from the DDAbstractLogger implementation. + // For extensive documentation please refer to the DDAbstractLogger implementation. + + // Note: The internal implementation MUST access the colorsEnabled variable directly, + // This method is designed explicitly for external access. + // + // Using "self." syntax to go through this method will cause immediate deadlock. + // This is the intended result. Fix it by accessing the ivar directly. + // Great strides have been take to ensure this is safe to do. Plus it's MUCH faster. + + NSAssert(![self isOnGlobalLoggingQueue], @"Core architecture requirement failure"); + NSAssert(![self isOnInternalLoggerQueue], @"MUST access ivar directly, NOT via self.* syntax."); + + dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue]; + + dispatch_async(globalLoggingQueue, ^{ + dispatch_async(loggerQueue, block); + }); +} + +- (void)setForegroundColor:(OSColor *)txtColor backgroundColor:(OSColor *)bgColor forFlag:(int)mask +{ + [self setForegroundColor:txtColor backgroundColor:bgColor forFlag:mask context:0]; +} + +- (void)setForegroundColor:(OSColor *)txtColor backgroundColor:(OSColor *)bgColor forFlag:(int)mask context:(int)ctxt +{ + dispatch_block_t block = ^{ @autoreleasepool { + + DDTTYLoggerColorProfile *newColorProfile = + [[DDTTYLoggerColorProfile alloc] initWithForegroundColor:txtColor + backgroundColor:bgColor + flag:mask + context:ctxt]; + + NSLogInfo(@"DDTTYLogger: newColorProfile: %@", newColorProfile); + + NSUInteger i = 0; + for (DDTTYLoggerColorProfile *colorProfile in colorProfilesArray) + { + if ((colorProfile->mask == mask) && (colorProfile->context == ctxt)) + { + break; + } + + i++; + } + + if (i < [colorProfilesArray count]) + [colorProfilesArray replaceObjectAtIndex:i withObject:newColorProfile]; + else + [colorProfilesArray addObject:newColorProfile]; + }}; + + // The design of the setter logic below is taken from the DDAbstractLogger implementation. + // For documentation please refer to the DDAbstractLogger implementation. + + if ([self isOnInternalLoggerQueue]) + { + block(); + } + else + { + dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue]; + NSAssert(![self isOnGlobalLoggingQueue], @"Core architecture requirement failure"); + + dispatch_async(globalLoggingQueue, ^{ + dispatch_async(loggerQueue, block); + }); + } +} + +- (void)setForegroundColor:(OSColor *)txtColor backgroundColor:(OSColor *)bgColor forTag:(id )tag +{ + NSAssert([(id )tag conformsToProtocol:@protocol(NSCopying)], @"Invalid tag"); + + dispatch_block_t block = ^{ @autoreleasepool { + + DDTTYLoggerColorProfile *newColorProfile = + [[DDTTYLoggerColorProfile alloc] initWithForegroundColor:txtColor + backgroundColor:bgColor + flag:0 + context:0]; + + NSLogInfo(@"DDTTYLogger: newColorProfile: %@", newColorProfile); + + [colorProfilesDict setObject:newColorProfile forKey:tag]; + }}; + + // The design of the setter logic below is taken from the DDAbstractLogger implementation. + // For documentation please refer to the DDAbstractLogger implementation. + + if ([self isOnInternalLoggerQueue]) + { + block(); + } + else + { + dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue]; + NSAssert(![self isOnGlobalLoggingQueue], @"Core architecture requirement failure"); + + dispatch_async(globalLoggingQueue, ^{ + dispatch_async(loggerQueue, block); + }); + } +} + +- (void)clearColorsForFlag:(int)mask +{ + [self clearColorsForFlag:mask context:0]; +} + +- (void)clearColorsForFlag:(int)mask context:(int)context +{ + dispatch_block_t block = ^{ @autoreleasepool { + + NSUInteger i = 0; + for (DDTTYLoggerColorProfile *colorProfile in colorProfilesArray) + { + if ((colorProfile->mask == mask) && (colorProfile->context == context)) + { + break; + } + + i++; + } + + if (i < [colorProfilesArray count]) + { + [colorProfilesArray removeObjectAtIndex:i]; + } + }}; + + // The design of the setter logic below is taken from the DDAbstractLogger implementation. + // For documentation please refer to the DDAbstractLogger implementation. + + if ([self isOnInternalLoggerQueue]) + { + block(); + } + else + { + dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue]; + NSAssert(![self isOnGlobalLoggingQueue], @"Core architecture requirement failure"); + + dispatch_async(globalLoggingQueue, ^{ + dispatch_async(loggerQueue, block); + }); + } +} + +- (void)clearColorsForTag:(id )tag +{ + NSAssert([(id )tag conformsToProtocol:@protocol(NSCopying)], @"Invalid tag"); + + dispatch_block_t block = ^{ @autoreleasepool { + + [colorProfilesDict removeObjectForKey:tag]; + }}; + + // The design of the setter logic below is taken from the DDAbstractLogger implementation. + // For documentation please refer to the DDAbstractLogger implementation. + + if ([self isOnInternalLoggerQueue]) + { + block(); + } + else + { + dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue]; + NSAssert(![self isOnGlobalLoggingQueue], @"Core architecture requirement failure"); + + dispatch_async(globalLoggingQueue, ^{ + dispatch_async(loggerQueue, block); + }); + } +} + +- (void)clearColorsForAllFlags +{ + dispatch_block_t block = ^{ @autoreleasepool { + + [colorProfilesArray removeAllObjects]; + }}; + + // The design of the setter logic below is taken from the DDAbstractLogger implementation. + // For documentation please refer to the DDAbstractLogger implementation. + + if ([self isOnInternalLoggerQueue]) + { + block(); + } + else + { + dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue]; + NSAssert(![self isOnGlobalLoggingQueue], @"Core architecture requirement failure"); + + dispatch_async(globalLoggingQueue, ^{ + dispatch_async(loggerQueue, block); + }); + } +} + +- (void)clearColorsForAllTags +{ + dispatch_block_t block = ^{ @autoreleasepool { + + [colorProfilesDict removeAllObjects]; + }}; + + // The design of the setter logic below is taken from the DDAbstractLogger implementation. + // For documentation please refer to the DDAbstractLogger implementation. + + if ([self isOnInternalLoggerQueue]) + { + block(); + } + else + { + dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue]; + NSAssert(![self isOnGlobalLoggingQueue], @"Core architecture requirement failure"); + + dispatch_async(globalLoggingQueue, ^{ + dispatch_async(loggerQueue, block); + }); + } +} + +- (void)clearAllColors +{ + dispatch_block_t block = ^{ @autoreleasepool { + + [colorProfilesArray removeAllObjects]; + [colorProfilesDict removeAllObjects]; + }}; + + // The design of the setter logic below is taken from the DDAbstractLogger implementation. + // For documentation please refer to the DDAbstractLogger implementation. + + if ([self isOnInternalLoggerQueue]) + { + block(); + } + else + { + dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue]; + NSAssert(![self isOnGlobalLoggingQueue], @"Core architecture requirement failure"); + + dispatch_async(globalLoggingQueue, ^{ + dispatch_async(loggerQueue, block); + }); + } +} + +- (void)logMessage:(DDLogMessage *)logMessage +{ + NSString *logMsg = logMessage->logMsg; + BOOL isFormatted = NO; + + if (formatter) + { + logMsg = [formatter formatLogMessage:logMessage]; + isFormatted = logMsg != logMessage->logMsg; + } + + if (logMsg) + { + // Search for a color profile associated with the log message + + DDTTYLoggerColorProfile *colorProfile = nil; + + if (colorsEnabled) + { + if (logMessage->tag) + { + colorProfile = [colorProfilesDict objectForKey:logMessage->tag]; + } + if (colorProfile == nil) + { + for (DDTTYLoggerColorProfile *cp in colorProfilesArray) + { + if ((logMessage->logFlag & cp->mask) && (logMessage->logContext == cp->context)) + { + colorProfile = cp; + break; + } + } + } + } + + // Convert log message to C string. + // + // We use the stack instead of the heap for speed if possible. + // But we're extra cautious to avoid a stack overflow. + + NSUInteger msgLen = [logMsg lengthOfBytesUsingEncoding:NSUTF8StringEncoding]; + const BOOL useStack = msgLen < (1024 * 4); + + char msgStack[useStack ? (msgLen + 1) : 1]; // Analyzer doesn't like zero-size array, hence the 1 + char *msg = useStack ? msgStack : (char *)malloc(msgLen + 1); + if (msg == NULL) return; + + BOOL logMsgEnc = [logMsg getCString:msg maxLength:(msgLen + 1) encoding:NSUTF8StringEncoding]; + if (!logMsgEnc) + { + if (!useStack && msg != NULL) free(msg); + return; + } + + // Write the log message to STDERR + + if (isFormatted) + { + // The log message has already been formatted. + + struct iovec v[5]; + + if (colorProfile) + { + v[0].iov_base = colorProfile->fgCode; + v[0].iov_len = colorProfile->fgCodeLen; + + v[1].iov_base = colorProfile->bgCode; + v[1].iov_len = colorProfile->bgCodeLen; + + v[4].iov_base = colorProfile->resetCode; + v[4].iov_len = colorProfile->resetCodeLen; + } + else + { + v[0].iov_base = ""; + v[0].iov_len = 0; + + v[1].iov_base = ""; + v[1].iov_len = 0; + + v[4].iov_base = ""; + v[4].iov_len = 0; + } + + v[2].iov_base = (char *)msg; + v[2].iov_len = msgLen; + + v[3].iov_base = "\n"; + v[3].iov_len = (msg[msgLen] == '\n') ? 0 : 1; + + writev(STDERR_FILENO, v, 5); + } + else + { + // The log message is unformatted, so apply standard NSLog style formatting. + + int len; + + // Calculate timestamp. + // The technique below is faster than using NSDateFormatter. + + NSDateComponents *components = [calendar components:calendarUnitFlags fromDate:logMessage->timestamp]; + + NSTimeInterval epoch = [logMessage->timestamp timeIntervalSinceReferenceDate]; + int milliseconds = (int)((epoch - floor(epoch)) * 1000); + + char ts[24]; + len = snprintf(ts, 24, "%04ld-%02ld-%02ld %02ld:%02ld:%02ld:%03d", // yyyy-MM-dd HH:mm:ss:SSS + (long)components.year, + (long)components.month, + (long)components.day, + (long)components.hour, + (long)components.minute, + (long)components.second, milliseconds); + + size_t tsLen = MIN(24-1, len); + + // Calculate thread ID + // + // How many characters do we need for the thread id? + // logMessage->machThreadID is of type mach_port_t, which is an unsigned int. + // + // 1 hex char = 4 bits + // 8 hex chars for 32 bit, plus ending '\0' = 9 + + char tid[9]; + len = snprintf(tid, 9, "%x", logMessage->machThreadID); + + size_t tidLen = MIN(9-1, len); + + // Here is our format: "%s %s[%i:%s] %s", timestamp, appName, processID, threadID, logMsg + + struct iovec v[13]; + + if (colorProfile) + { + v[0].iov_base = colorProfile->fgCode; + v[0].iov_len = colorProfile->fgCodeLen; + + v[1].iov_base = colorProfile->bgCode; + v[1].iov_len = colorProfile->bgCodeLen; + + v[12].iov_base = colorProfile->resetCode; + v[12].iov_len = colorProfile->resetCodeLen; + } + else + { + v[0].iov_base = ""; + v[0].iov_len = 0; + + v[1].iov_base = ""; + v[1].iov_len = 0; + + v[12].iov_base = ""; + v[12].iov_len = 0; + } + + v[2].iov_base = ts; + v[2].iov_len = tsLen; + + v[3].iov_base = " "; + v[3].iov_len = 1; + + v[4].iov_base = app; + v[4].iov_len = appLen; + + v[5].iov_base = "["; + v[5].iov_len = 1; + + v[6].iov_base = pid; + v[6].iov_len = pidLen; + + v[7].iov_base = ":"; + v[7].iov_len = 1; + + v[8].iov_base = tid; + v[8].iov_len = MIN((size_t)8, tidLen); // snprintf doesn't return what you might think + + v[9].iov_base = "] "; + v[9].iov_len = 2; + + v[10].iov_base = (char *)msg; + v[10].iov_len = msgLen; + + v[11].iov_base = "\n"; + v[11].iov_len = (msg[msgLen] == '\n') ? 0 : 1; + + writev(STDERR_FILENO, v, 13); + } + + if (!useStack) { + free(msg); + } + } +} + +- (NSString *)loggerName +{ + return @"cocoa.lumberjack.ttyLogger"; +} + +@end + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +@implementation DDTTYLoggerColorProfile + +- (id)initWithForegroundColor:(OSColor *)fgColor backgroundColor:(OSColor *)bgColor flag:(int)aMask context:(int)ctxt +{ + if ((self = [super init])) + { + mask = aMask; + context = ctxt; + + CGFloat r, g, b; + + if (fgColor) + { + [DDTTYLogger getRed:&r green:&g blue:&b fromColor:fgColor]; + + fg_r = (uint8_t)(r * 255.0f); + fg_g = (uint8_t)(g * 255.0f); + fg_b = (uint8_t)(b * 255.0f); + } + if (bgColor) + { + [DDTTYLogger getRed:&r green:&g blue:&b fromColor:bgColor]; + + bg_r = (uint8_t)(r * 255.0f); + bg_g = (uint8_t)(g * 255.0f); + bg_b = (uint8_t)(b * 255.0f); + } + + if (fgColor && isaColorTTY) + { + // Map foreground color to closest available shell color + + fgCodeIndex = [DDTTYLogger codeIndexForColor:fgColor]; + fgCodeRaw = [codes_fg objectAtIndex:fgCodeIndex]; + + NSString *escapeSeq = @"\033["; + + NSUInteger len1 = [escapeSeq lengthOfBytesUsingEncoding:NSUTF8StringEncoding]; + NSUInteger len2 = [fgCodeRaw lengthOfBytesUsingEncoding:NSUTF8StringEncoding]; + + BOOL escapeSeqEnc = [escapeSeq getCString:(fgCode) maxLength:(len1+1) encoding:NSUTF8StringEncoding]; + BOOL fgCodeRawEsc = [fgCodeRaw getCString:(fgCode+len1) maxLength:(len2+1) encoding:NSUTF8StringEncoding]; + if (!escapeSeqEnc || !fgCodeRawEsc) return nil; + + fgCodeLen = len1+len2; + } + else if (fgColor && isaXcodeColorTTY) + { + // Convert foreground color to color code sequence + + const char *escapeSeq = XCODE_COLORS_ESCAPE_SEQ; + + int result = snprintf(fgCode, 24, "%sfg%u,%u,%u;", escapeSeq, fg_r, fg_g, fg_b); + fgCodeLen = MIN(result, (24-1)); + } + else + { + // No foreground color or no color support + + fgCode[0] = '\0'; + fgCodeLen = 0; + } + + if (bgColor && isaColorTTY) + { + // Map background color to closest available shell color + + bgCodeIndex = [DDTTYLogger codeIndexForColor:bgColor]; + bgCodeRaw = [codes_bg objectAtIndex:bgCodeIndex]; + + NSString *escapeSeq = @"\033["; + + NSUInteger len1 = [escapeSeq lengthOfBytesUsingEncoding:NSUTF8StringEncoding]; + NSUInteger len2 = [bgCodeRaw lengthOfBytesUsingEncoding:NSUTF8StringEncoding]; + + BOOL escapeSeqEnc = [escapeSeq getCString:(bgCode) maxLength:(len1+1) encoding:NSUTF8StringEncoding]; + BOOL bgCodeRawEsc = [bgCodeRaw getCString:(bgCode+len1) maxLength:(len2+1) encoding:NSUTF8StringEncoding]; + if (!escapeSeqEnc || !bgCodeRawEsc) return nil; + + bgCodeLen = len1+len2; + } + else if (bgColor && isaXcodeColorTTY) + { + // Convert background color to color code sequence + + const char *escapeSeq = XCODE_COLORS_ESCAPE_SEQ; + + int result = snprintf(bgCode, 24, "%sbg%u,%u,%u;", escapeSeq, bg_r, bg_g, bg_b); + bgCodeLen = MIN(result, (24-1)); + } + else + { + // No background color or no color support + + bgCode[0] = '\0'; + bgCodeLen = 0; + } + + if (isaColorTTY) + { + resetCodeLen = snprintf(resetCode, 8, "\033[0m"); + } + else if (isaXcodeColorTTY) + { + resetCodeLen = snprintf(resetCode, 8, XCODE_COLORS_RESET); + } + else + { + resetCode[0] = '\0'; + resetCodeLen = 0; + } + } + return self; +} + +- (NSString *)description +{ + return [NSString stringWithFormat: + @"", + self, mask, context, fg_r, fg_g, fg_b, bg_r, bg_g, bg_b, fgCodeRaw, bgCodeRaw]; +} + +@end diff --git a/Lumberjack/Extensions/ContextFilterLogFormatter.h b/Lumberjack/Extensions/ContextFilterLogFormatter.h new file mode 100755 index 0000000..dffc865 --- /dev/null +++ b/Lumberjack/Extensions/ContextFilterLogFormatter.h @@ -0,0 +1,65 @@ +#import +#import "DDLog.h" + +@class ContextFilterLogFormatter; + +/** + * Welcome to Cocoa Lumberjack! + * + * The project page has a wealth of documentation if you have any questions. + * https://github.com/robbiehanson/CocoaLumberjack + * + * If you're new to the project you may wish to read the "Getting Started" page. + * https://github.com/robbiehanson/CocoaLumberjack/wiki/GettingStarted + * + * + * This class provides a log formatter that filters log statements from a logging context not on the whitelist. + * + * A log formatter can be added to any logger to format and/or filter its output. + * You can learn more about log formatters here: + * https://github.com/robbiehanson/CocoaLumberjack/wiki/CustomFormatters + * + * You can learn more about logging context's here: + * https://github.com/robbiehanson/CocoaLumberjack/wiki/CustomContext + * + * But here's a quick overview / refresher: + * + * Every log statement has a logging context. + * These come from the underlying logging macros defined in DDLog.h. + * The default logging context is zero. + * You can define multiple logging context's for use in your application. + * For example, logically separate parts of your app each have a different logging context. + * Also 3rd party frameworks that make use of Lumberjack generally use their own dedicated logging context. +**/ +@interface ContextWhitelistFilterLogFormatter : NSObject + +- (id)init; + +- (void)addToWhitelist:(int)loggingContext; +- (void)removeFromWhitelist:(int)loggingContext; + +- (NSArray *)whitelist; + +- (BOOL)isOnWhitelist:(int)loggingContext; + +@end + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark - +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +/** + * This class provides a log formatter that filters log statements from a logging context on the blacklist. +**/ +@interface ContextBlacklistFilterLogFormatter : NSObject + +- (id)init; + +- (void)addToBlacklist:(int)loggingContext; +- (void)removeFromBlacklist:(int)loggingContext; + +- (NSArray *)blacklist; + +- (BOOL)isOnBlacklist:(int)loggingContext; + +@end diff --git a/Lumberjack/Extensions/ContextFilterLogFormatter.m b/Lumberjack/Extensions/ContextFilterLogFormatter.m new file mode 100755 index 0000000..9c024ac --- /dev/null +++ b/Lumberjack/Extensions/ContextFilterLogFormatter.m @@ -0,0 +1,191 @@ +#import "ContextFilterLogFormatter.h" +#import + +/** + * Welcome to Cocoa Lumberjack! + * + * The project page has a wealth of documentation if you have any questions. + * https://github.com/robbiehanson/CocoaLumberjack + * + * If you're new to the project you may wish to read the "Getting Started" wiki. + * https://github.com/robbiehanson/CocoaLumberjack/wiki/GettingStarted +**/ + +#if ! __has_feature(objc_arc) +#warning This file must be compiled with ARC. Use -fobjc-arc flag (or convert project to ARC). +#endif + +@interface LoggingContextSet : NSObject + +- (void)addToSet:(int)loggingContext; +- (void)removeFromSet:(int)loggingContext; + +- (NSArray *)currentSet; + +- (BOOL)isInSet:(int)loggingContext; + +@end + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark - +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +@implementation ContextWhitelistFilterLogFormatter +{ + LoggingContextSet *contextSet; +} + +- (id)init +{ + if ((self = [super init])) + { + contextSet = [[LoggingContextSet alloc] init]; + } + return self; +} + + +- (void)addToWhitelist:(int)loggingContext +{ + [contextSet addToSet:loggingContext]; +} + +- (void)removeFromWhitelist:(int)loggingContext +{ + [contextSet removeFromSet:loggingContext]; +} + +- (NSArray *)whitelist +{ + return [contextSet currentSet]; +} + +- (BOOL)isOnWhitelist:(int)loggingContext +{ + return [contextSet isInSet:loggingContext]; +} + +- (NSString *)formatLogMessage:(DDLogMessage *)logMessage +{ + if ([self isOnWhitelist:logMessage->logContext]) + return logMessage->logMsg; + else + return nil; +} + +@end + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark - +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +@implementation ContextBlacklistFilterLogFormatter +{ + LoggingContextSet *contextSet; +} + +- (id)init +{ + if ((self = [super init])) + { + contextSet = [[LoggingContextSet alloc] init]; + } + return self; +} + + +- (void)addToBlacklist:(int)loggingContext +{ + [contextSet addToSet:loggingContext]; +} + +- (void)removeFromBlacklist:(int)loggingContext +{ + [contextSet removeFromSet:loggingContext]; +} + +- (NSArray *)blacklist +{ + return [contextSet currentSet]; +} + +- (BOOL)isOnBlacklist:(int)loggingContext +{ + return [contextSet isInSet:loggingContext]; +} + +- (NSString *)formatLogMessage:(DDLogMessage *)logMessage +{ + if ([self isOnBlacklist:logMessage->logContext]) + return nil; + else + return logMessage->logMsg; +} + +@end + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark - +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +@implementation LoggingContextSet +{ + OSSpinLock lock; + NSMutableSet *set; +} + +- (id)init +{ + if ((self = [super init])) + { + set = [[NSMutableSet alloc] init]; + } + return self; +} + + +- (void)addToSet:(int)loggingContext +{ + OSSpinLockLock(&lock); + { + [set addObject:@(loggingContext)]; + } + OSSpinLockUnlock(&lock); +} + +- (void)removeFromSet:(int)loggingContext +{ + OSSpinLockLock(&lock); + { + [set removeObject:@(loggingContext)]; + } + OSSpinLockUnlock(&lock); +} + +- (NSArray *)currentSet +{ + NSArray *result = nil; + + OSSpinLockLock(&lock); + { + result = [set allObjects]; + } + OSSpinLockUnlock(&lock); + + return result; +} + +- (BOOL)isInSet:(int)loggingContext +{ + BOOL result = NO; + + OSSpinLockLock(&lock); + { + result = [set containsObject:@(loggingContext)]; + } + OSSpinLockUnlock(&lock); + + return result; +} + +@end diff --git a/Lumberjack/Extensions/DispatchQueueLogFormatter.h b/Lumberjack/Extensions/DispatchQueueLogFormatter.h new file mode 100755 index 0000000..9ad8d3f --- /dev/null +++ b/Lumberjack/Extensions/DispatchQueueLogFormatter.h @@ -0,0 +1,116 @@ +#import +#import +#import "DDLog.h" + + +/** + * Welcome to Cocoa Lumberjack! + * + * The project page has a wealth of documentation if you have any questions. + * https://github.com/robbiehanson/CocoaLumberjack + * + * If you're new to the project you may wish to read the "Getting Started" page. + * https://github.com/robbiehanson/CocoaLumberjack/wiki/GettingStarted + * + * + * This class provides a log formatter that prints the dispatch_queue label instead of the mach_thread_id. + * + * A log formatter can be added to any logger to format and/or filter its output. + * You can learn more about log formatters here: + * https://github.com/robbiehanson/CocoaLumberjack/wiki/CustomFormatters + * + * A typical NSLog (or DDTTYLogger) prints detailed info as [:]. + * For example: + * + * 2011-10-17 20:21:45.435 AppName[19928:5207] Your log message here + * + * Where: + * - 19928 = process id + * - 5207 = thread id (mach_thread_id printed in hex) + * + * When using grand central dispatch (GCD), this information is less useful. + * This is because a single serial dispatch queue may be run on any thread from an internally managed thread pool. + * For example: + * + * 2011-10-17 20:32:31.111 AppName[19954:4d07] Message from my_serial_dispatch_queue + * 2011-10-17 20:32:31.112 AppName[19954:5207] Message from my_serial_dispatch_queue + * 2011-10-17 20:32:31.113 AppName[19954:2c55] Message from my_serial_dispatch_queue + * + * This formatter allows you to replace the standard [box:info] with the dispatch_queue name. + * For example: + * + * 2011-10-17 20:32:31.111 AppName[img-scaling] Message from my_serial_dispatch_queue + * 2011-10-17 20:32:31.112 AppName[img-scaling] Message from my_serial_dispatch_queue + * 2011-10-17 20:32:31.113 AppName[img-scaling] Message from my_serial_dispatch_queue + * + * If the dispatch_queue doesn't have a set name, then it falls back to the thread name. + * If the current thread doesn't have a set name, then it falls back to the mach_thread_id in hex (like normal). + * + * Note: If manually creating your own background threads (via NSThread/alloc/init or NSThread/detachNeThread), + * you can use [[NSThread currentThread] setName:(NSString *)]. +**/ +@interface DispatchQueueLogFormatter : NSObject { +@protected + + NSString *dateFormatString; +} + +/** + * Standard init method. + * Configure using properties as desired. +**/ +- (id)init; + +/** + * The minQueueLength restricts the minimum size of the [detail box]. + * If the minQueueLength is set to 0, there is no restriction. + * + * For example, say a dispatch_queue has a label of "diskIO": + * + * If the minQueueLength is 0: [diskIO] + * If the minQueueLength is 4: [diskIO] + * If the minQueueLength is 5: [diskIO] + * If the minQueueLength is 6: [diskIO] + * If the minQueueLength is 7: [diskIO ] + * If the minQueueLength is 8: [diskIO ] + * + * The default minQueueLength is 0 (no minimum, so [detail box] won't be padded). + * + * If you want every [detail box] to have the exact same width, + * set both minQueueLength and maxQueueLength to the same value. +**/ +@property (assign) NSUInteger minQueueLength; + +/** + * The maxQueueLength restricts the number of characters that will be inside the [detail box]. + * If the maxQueueLength is 0, there is no restriction. + * + * For example, say a dispatch_queue has a label of "diskIO": + * + * If the maxQueueLength is 0: [diskIO] + * If the maxQueueLength is 4: [disk] + * If the maxQueueLength is 5: [diskI] + * If the maxQueueLength is 6: [diskIO] + * If the maxQueueLength is 7: [diskIO] + * If the maxQueueLength is 8: [diskIO] + * + * The default maxQueueLength is 0 (no maximum, so [detail box] won't be truncated). + * + * If you want every [detail box] to have the exact same width, + * set both minQueueLength and maxQueueLength to the same value. +**/ +@property (assign) NSUInteger maxQueueLength; + +/** + * Sometimes queue labels have long names like "com.apple.main-queue", + * but you'd prefer something shorter like simply "main". + * + * This method allows you to set such preferred replacements. + * The above example is set by default. + * + * To remove/undo a previous replacement, invoke this method with nil for the 'shortLabel' parameter. +**/ +- (NSString *)replacementStringForQueueLabel:(NSString *)longLabel; +- (void)setReplacementString:(NSString *)shortLabel forQueueLabel:(NSString *)longLabel; + +@end diff --git a/Lumberjack/Extensions/DispatchQueueLogFormatter.m b/Lumberjack/Extensions/DispatchQueueLogFormatter.m new file mode 100755 index 0000000..d348f3d --- /dev/null +++ b/Lumberjack/Extensions/DispatchQueueLogFormatter.m @@ -0,0 +1,251 @@ +#import "DispatchQueueLogFormatter.h" +#import + +/** + * Welcome to Cocoa Lumberjack! + * + * The project page has a wealth of documentation if you have any questions. + * https://github.com/robbiehanson/CocoaLumberjack + * + * If you're new to the project you may wish to read the "Getting Started" wiki. + * https://github.com/robbiehanson/CocoaLumberjack/wiki/GettingStarted +**/ + +#if ! __has_feature(objc_arc) +#warning This file must be compiled with ARC. Use -fobjc-arc flag (or convert project to ARC). +#endif + + +@implementation DispatchQueueLogFormatter +{ + int32_t atomicLoggerCount; + NSDateFormatter *threadUnsafeDateFormatter; // Use [self stringFromDate] + + OSSpinLock lock; + + NSUInteger _minQueueLength; // _prefix == Only access via atomic property + NSUInteger _maxQueueLength; // _prefix == Only access via atomic property + NSMutableDictionary *_replacements; // _prefix == Only access from within spinlock +} + +- (id)init +{ + if ((self = [super init])) + { + dateFormatString = @"yyyy-MM-dd HH:mm:ss:SSS"; + + atomicLoggerCount = 0; + threadUnsafeDateFormatter = nil; + + _minQueueLength = 0; + _maxQueueLength = 0; + _replacements = [[NSMutableDictionary alloc] init]; + + // Set default replacements: + + [_replacements setObject:@"main" forKey:@"com.apple.main-thread"]; + } + return self; +} + + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark Configuration +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +@synthesize minQueueLength = _minQueueLength; +@synthesize maxQueueLength = _maxQueueLength; + +- (NSString *)replacementStringForQueueLabel:(NSString *)longLabel +{ + NSString *result = nil; + + OSSpinLockLock(&lock); + { + result = [_replacements objectForKey:longLabel]; + } + OSSpinLockUnlock(&lock); + + return result; +} + +- (void)setReplacementString:(NSString *)shortLabel forQueueLabel:(NSString *)longLabel +{ + OSSpinLockLock(&lock); + { + if (shortLabel) + [_replacements setObject:shortLabel forKey:longLabel]; + else + [_replacements removeObjectForKey:longLabel]; + } + OSSpinLockUnlock(&lock); +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark DDLogFormatter +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +- (NSString *)stringFromDate:(NSDate *)date +{ + int32_t loggerCount = OSAtomicAdd32(0, &atomicLoggerCount); + + if (loggerCount <= 1) + { + // Single-threaded mode. + + if (threadUnsafeDateFormatter == nil) + { + threadUnsafeDateFormatter = [[NSDateFormatter alloc] init]; + [threadUnsafeDateFormatter setFormatterBehavior:NSDateFormatterBehavior10_4]; + [threadUnsafeDateFormatter setDateFormat:dateFormatString]; + } + + return [threadUnsafeDateFormatter stringFromDate:date]; + } + else + { + // Multi-threaded mode. + // NSDateFormatter is NOT thread-safe. + + NSString *key = @"DispatchQueueLogFormatter_NSDateFormatter"; + + NSMutableDictionary *threadDictionary = [[NSThread currentThread] threadDictionary]; + NSDateFormatter *dateFormatter = [threadDictionary objectForKey:key]; + + if (dateFormatter == nil) + { + dateFormatter = [[NSDateFormatter alloc] init]; + [dateFormatter setFormatterBehavior:NSDateFormatterBehavior10_4]; + [dateFormatter setDateFormat:dateFormatString]; + + [threadDictionary setObject:dateFormatter forKey:key]; + } + + return [dateFormatter stringFromDate:date]; + } +} + +- (NSString *)queueThreadLabelForLogMessage:(DDLogMessage *)logMessage +{ + // As per the DDLogFormatter contract, this method is always invoked on the same thread/dispatch_queue + + NSUInteger minQueueLength = self.minQueueLength; + NSUInteger maxQueueLength = self.maxQueueLength; + + // Get the name of the queue, thread, or machID (whichever we are to use). + + NSString *queueThreadLabel = nil; + + BOOL useQueueLabel = YES; + BOOL useThreadName = NO; + + if (logMessage->queueLabel) + { + // If you manually create a thread, it's dispatch_queue will have one of the thread names below. + // Since all such threads have the same name, we'd prefer to use the threadName or the machThreadID. + + char *names[] = { "com.apple.root.low-priority", + "com.apple.root.default-priority", + "com.apple.root.high-priority", + "com.apple.root.low-overcommit-priority", + "com.apple.root.default-overcommit-priority", + "com.apple.root.high-overcommit-priority" }; + + int length = sizeof(names) / sizeof(char *); + + int i; + for (i = 0; i < length; i++) + { + if (strcmp(logMessage->queueLabel, names[i]) == 0) + { + useQueueLabel = NO; + useThreadName = [logMessage->threadName length] > 0; + break; + } + } + } + else + { + useQueueLabel = NO; + useThreadName = [logMessage->threadName length] > 0; + } + + if (useQueueLabel || useThreadName) + { + NSString *fullLabel; + NSString *abrvLabel; + + if (useQueueLabel) + fullLabel = @(logMessage->queueLabel); + else + fullLabel = logMessage->threadName; + + OSSpinLockLock(&lock); + { + abrvLabel = [_replacements objectForKey:fullLabel]; + } + OSSpinLockUnlock(&lock); + + if (abrvLabel) + queueThreadLabel = abrvLabel; + else + queueThreadLabel = fullLabel; + } + else + { + queueThreadLabel = [NSString stringWithFormat:@"%x", logMessage->machThreadID]; + } + + // Now use the thread label in the output + + NSUInteger labelLength = [queueThreadLabel length]; + + // labelLength > maxQueueLength : truncate + // labelLength < minQueueLength : padding + // : exact + + if ((maxQueueLength > 0) && (labelLength > maxQueueLength)) + { + // Truncate + + return [queueThreadLabel substringToIndex:maxQueueLength]; + } + else if (labelLength < minQueueLength) + { + // Padding + + NSUInteger numSpaces = minQueueLength - labelLength; + + char spaces[numSpaces + 1]; + memset(spaces, ' ', numSpaces); + spaces[numSpaces] = '\0'; + + return [NSString stringWithFormat:@"%@%s", queueThreadLabel, spaces]; + } + else + { + // Exact + + return queueThreadLabel; + } +} + +- (NSString *)formatLogMessage:(DDLogMessage *)logMessage +{ + NSString *timestamp = [self stringFromDate:(logMessage->timestamp)]; + NSString *queueThreadLabel = [self queueThreadLabelForLogMessage:logMessage]; + + return [NSString stringWithFormat:@"%@ [%@] %@", timestamp, queueThreadLabel, logMessage->logMsg]; +} + +- (void)didAddToLogger:(id )logger +{ + OSAtomicIncrement32(&atomicLoggerCount); +} + +- (void)willRemoveFromLogger:(id )logger +{ + OSAtomicDecrement32(&atomicLoggerCount); +} + +@end diff --git a/SampleApp/SDKWizard/FindLights/PHFindLightsManualEntryViewController.h b/SampleApp/SDKWizard/FindLights/PHFindLightsManualEntryViewController.h new file mode 100644 index 0000000..73e3f5d --- /dev/null +++ b/SampleApp/SDKWizard/FindLights/PHFindLightsManualEntryViewController.h @@ -0,0 +1,18 @@ +/******************************************************************************* + Copyright (c) 2013 Koninklijke Philips N.V. + All Rights Reserved. + ********************************************************************************/ + +#import +#import "PHFindLightsStartViewController.h" + +@interface PHFindLightsManualEntryViewController : UITableViewController + +/** + Creates a new instance of this find lights view controller. + @param delegate the delegate to inform when the search is done + @param previousResults the previous results which should still be shown + */ +- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil delegate:(id)delegate previousResults:(NSDictionary *)previousResults; + +@end diff --git a/SampleApp/SDKWizard/FindLights/PHFindLightsManualEntryViewController.m b/SampleApp/SDKWizard/FindLights/PHFindLightsManualEntryViewController.m new file mode 100644 index 0000000..46288b9 --- /dev/null +++ b/SampleApp/SDKWizard/FindLights/PHFindLightsManualEntryViewController.m @@ -0,0 +1,311 @@ +/******************************************************************************* + Copyright (c) 2013 Koninklijke Philips N.V. + All Rights Reserved. + ********************************************************************************/ + +#import "PHFindLightsManualEntryViewController.h" + +#define SERIAL_MAX_LENGTH 6 + +@interface PHFindLightsManualEntryViewController () + +/** + An array to keep the list of entered light identifiers + */ +@property (nonatomic, strong) NSMutableArray *enteredLightSerials; + +/** + The header of the tableview, which shows the explanation of adding lights + */ +@property (nonatomic, strong) UIView *headerView; + +/** + The alertview for entering light serials + */ +@property (nonatomic, strong) UIAlertView *enterSerialAlertView; + +/** + The alertview which shows errors when an invalid serial is entered + */ +@property (nonatomic, strong) UIAlertView *invalidSerialAlertView; + +/** + A property to keep track of the last entered serial + */ +@property (nonatomic, strong) NSString *lastEnteredValue; + +/** + The delegate + */ +@property (nonatomic, strong) id delegate; + +/** + The previous found lights which should still be shown in the results + */ +@property (nonatomic, strong) NSDictionary *previousResults; + +@end + +@implementation PHFindLightsManualEntryViewController + +- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil delegate:(id)delegate previousResults:(NSDictionary *)previousResults { + self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; + if (self) { + // Make it a form on iPad + self.modalPresentationStyle = UIModalPresentationFormSheet; + + self.delegate = delegate; + self.previousResults = previousResults; + self.title = NSLocalizedString(@"Find new lights", @"Find new lights screen title"); + self.enteredLightSerials = [NSMutableArray array]; + } + return self; +} + +- (void)viewDidLoad { + // Modify navigation stack, so the back button goes to the root view controller + [self.navigationItem setHidesBackButton:YES animated:NO]; + NSArray *newViewControllers = [[NSArray alloc] initWithObjects:[self.navigationController.viewControllers objectAtIndex:0], self, nil]; + [self.navigationController setViewControllers:newViewControllers]; + [self.navigationItem setHidesBackButton:NO animated:YES]; + + [super viewDidLoad]; + + // Setup tableview editing mode + self.tableView.allowsSelectionDuringEditing = YES; + [self.tableView setEditing:YES animated:NO]; + [self.tableView setBackgroundView:nil]; + self.view.backgroundColor = [UIColor whiteColor]; + + // Create header view with explanation of adding lights + UIView *headerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.tableView.bounds.size.width, 220)]; + headerView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; + headerView.backgroundColor = [UIColor clearColor]; + + UIImageView *explanationImageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 50, headerView.bounds.size.width, 150)]; + explanationImageView.contentMode = UIViewContentModeScaleAspectFit; + explanationImageView.image = [UIImage imageNamed:@"addlightmanual.png"]; + explanationImageView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; + [headerView addSubview:explanationImageView]; + + UIFont *textFont = [UIFont systemFontOfSize:16]; + UILabel *explanation1Label = [[UILabel alloc] initWithFrame:CGRectMake(20, 10, headerView.bounds.size.width - 40, 20)]; + explanation1Label.font = textFont; + explanation1Label.text = NSLocalizedString(@"1. Enter the serial no. of the light(s)", @"Remote reset explanation part 1"); + explanation1Label.backgroundColor = [UIColor clearColor]; + [headerView addSubview:explanation1Label]; + UILabel *explanation2Label = [[UILabel alloc] initWithFrame:CGRectMake(20, 30, headerView.bounds.size.width - 40, 20)]; + explanation2Label.font = textFont; + explanation2Label.text = NSLocalizedString(@"2. Screw in the bulbs", @"Remote reset explanation part 2"); + explanation2Label.backgroundColor = [UIColor clearColor]; + [headerView addSubview:explanation2Label]; + UILabel *explanation3Label = [[UILabel alloc] initWithFrame:CGRectMake(20, 50, headerView.bounds.size.width - 40, 20)]; + explanation3Label.font = textFont; + explanation3Label.text = NSLocalizedString(@"3. Turn on the light", @"Remote reset explanation part 3"); + explanation3Label.backgroundColor = [UIColor clearColor]; + [headerView addSubview:explanation3Label]; + + self.headerView = headerView; + + // Reload the table to show the header + [self.tableView reloadData]; +} + +- (void)showEnterSerialAlertViewWithSerial:(NSString *)serial { + self.enterSerialAlertView = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Enter the six characters", @"Enter light serial title") + message:nil + delegate:self + cancelButtonTitle:NSLocalizedString(@"Cancel", @"Cancel button light rename popup") + otherButtonTitles:NSLocalizedString(@"Ok", @"Ok button of light rename popup"), nil]; + + self.enterSerialAlertView.alertViewStyle = UIAlertViewStylePlainTextInput; + [self.enterSerialAlertView textFieldAtIndex:0].text = serial == nil ? @"" : serial; + [self.enterSerialAlertView textFieldAtIndex:0].autocapitalizationType = UITextAutocapitalizationTypeSentences; + [[self.enterSerialAlertView textFieldAtIndex:0] setDelegate:self]; + [[self.enterSerialAlertView textFieldAtIndex:0] setClearButtonMode:UITextFieldViewModeWhileEditing]; + [self.enterSerialAlertView show]; +} + +#pragma mark - Table view data source + +- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { + // Return the number of sections. + return 2; +} + +- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { + // Return the number of rows in the section. + if (section == 0) { + int numberOfRows = self.enteredLightSerials.count; + if (numberOfRows < 10) { + numberOfRows++; // Add 1 for the add row + } + return numberOfRows; + } + else { + return 1; + } +} + +- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section { + if (section == 0) { + return self.headerView; + } + + return nil; +} + +- (float)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section { + if (section == 0) { + return self.headerView.bounds.size.height; + } + + return 0; +} + +- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { + static NSString *CellIdentifier = @"Cell"; + UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; + if (cell == nil) { + cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier]; + } + + if (indexPath.section == 0) { + if (indexPath.row == self.enteredLightSerials.count) { + // Insert button + cell.textLabel.text = NSLocalizedString(@"Add light serial", @"Add light serial button"); + } + else { + // Light serial cell + cell.textLabel.text = self.enteredLightSerials[indexPath.row]; + } + cell.textLabel.textAlignment = NSTextAlignmentLeft; + cell.textLabel.enabled = YES; + cell.selectionStyle = UITableViewCellSelectionStyleBlue; + } + else if (indexPath.section == 1) { + // Start search button + cell.textLabel.textAlignment = NSTextAlignmentCenter; + cell.textLabel.text = NSLocalizedString(@"Start searching", @"Start search button"); + cell.textLabel.enabled = self.enteredLightSerials.count > 0 ? YES : NO; + + if(cell.textLabel.enabled) { + cell.selectionStyle = UITableViewCellSelectionStyleBlue; + } + else { + cell.selectionStyle = UITableViewCellSelectionStyleNone; + } + } + + cell.shouldIndentWhileEditing = NO; + + return cell; +} + +- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath { + if (indexPath.section == 0) { + if (indexPath.row == self.enteredLightSerials.count) { + // Insert row + return UITableViewCellEditingStyleInsert; + } + else { + // Light serial row + return UITableViewCellEditingStyleDelete; + } + } + else { + // Start button + return UITableViewCellEditingStyleNone; + } +} + +- (BOOL)tableView:(UITableView *)tableView shouldIndentWhileEditingRowAtIndexPath:(NSIndexPath *)indexPath { + return NO; +} + +- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath { + if (indexPath.section == 0 && indexPath.row != self.enteredLightSerials.count) { + // Remove number + [self.enteredLightSerials removeObjectAtIndex:indexPath.row]; + [self.tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationAutomatic]; + + NSIndexPath *startButtonIndexPath = [NSIndexPath indexPathForRow:0 inSection:1]; + [self.tableView reloadRowsAtIndexPaths:[NSArray arrayWithObject:startButtonIndexPath] withRowAnimation:UITableViewRowAnimationAutomatic]; + } +} + +#pragma mark - Table view delegate + +- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { + [self.tableView deselectRowAtIndexPath:indexPath animated:YES]; + + if (indexPath.section == 0 && indexPath.row == self.enteredLightSerials.count) { + // Add button + [self showEnterSerialAlertViewWithSerial:nil]; + } + else if (indexPath.section == 1) { + if (self.enteredLightSerials.count > 0) { + + // Start search button + PHFindLightsResultViewController *resultsViewController = [[PHFindLightsResultViewController alloc] initWithNibName:@"PHFindLightsResultViewController" bundle:[NSBundle mainBundle] delegate:self.delegate lightSerials:self.enteredLightSerials previousResults:self.previousResults]; + [self.navigationController pushViewController:resultsViewController animated:YES]; + + // Start the search + [resultsViewController startSearch]; + } + + } +} + +#pragma mark - Alert view delegate + +- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex { + if (alertView == self.enterSerialAlertView && buttonIndex != alertView.cancelButtonIndex) { + // Check if entered value was valid + self.lastEnteredValue = [alertView textFieldAtIndex:0].text; + + // Check length + if (self.lastEnteredValue.length != 6) { + self.invalidSerialAlertView = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Invalid serial", @"Invalid serial length title") + message:NSLocalizedString(@"The serial number should have 6 characters.", @"Invalid serial length message") + delegate:self + cancelButtonTitle:nil + otherButtonTitles:NSLocalizedString(@"Ok", @"Ok button"), nil]; + [self.invalidSerialAlertView show]; + return; + } + + // Check for hex value + NSCharacterSet *chars = [[NSCharacterSet characterSetWithCharactersInString:@"0123456789ABCDEFabcdef"] invertedSet]; + if ([self.lastEnteredValue rangeOfCharacterFromSet:chars].location != NSNotFound) { + // Invalid char found + self.invalidSerialAlertView = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Invalid serial", @"Invalid serial characters title") + message:NSLocalizedString(@"The entered serial contained an invalid character, please try again.", @"Invalid serial characters message") + delegate:self + cancelButtonTitle:nil + otherButtonTitles:NSLocalizedString(@"Ok", @"Ok button"), nil]; + [self.invalidSerialAlertView show]; + return; + } + + // Valid serial enterd + [self.enteredLightSerials addObject:[self.lastEnteredValue uppercaseString]]; + [self.tableView reloadData]; + } + else if (alertView == self.invalidSerialAlertView) { + // After error, show the entry screen again, with the entered value + [self showEnterSerialAlertViewWithSerial:self.lastEnteredValue]; + } +} + +#pragma mark - Text field delegate + +- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { + if((textField.text.length >= SERIAL_MAX_LENGTH && range.length == 0) || + (range.location + string.length > SERIAL_MAX_LENGTH)) { + return NO; + } + return YES; +} + +@end diff --git a/SampleApp/SDKWizard/FindLights/PHFindLightsManualEntryViewController.xib b/SampleApp/SDKWizard/FindLights/PHFindLightsManualEntryViewController.xib new file mode 100644 index 0000000..3031bbf --- /dev/null +++ b/SampleApp/SDKWizard/FindLights/PHFindLightsManualEntryViewController.xib @@ -0,0 +1,163 @@ + + + + 1552 + 12C54 + 3084 + 1187.34 + 625.00 + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + 2083 + + + IBProxyObject + IBUITableView + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + PluginDependencyRecalculationVersion + + + + + IBFilesOwner + IBCocoaTouchFramework + + + IBFirstResponder + IBCocoaTouchFramework + + + + 274 + {{0, 64}, {320, 416}} + + + + 1 + MCAwIDAgMAA + groupTableViewBackgroundColor + + NO + YES + NO + + + NO + + + IBUIScreenMetrics + + YES + + + + + + {320, 480} + {480, 320} + + + IBCocoaTouchFramework + Retina 3.5 Full Screen + 0 + + IBCocoaTouchFramework + NO + 1 + 1 + 0 + YES + 44 + 10 + 10 + + + + + + + view + + + + 5 + + + + dataSource + + + + 6 + + + + delegate + + + + 7 + + + + + + 0 + + + + + + -1 + + + File's Owner + + + -2 + + + + + 4 + + + + + + + PHFindLightsManualEntryViewController + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UIResponder + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + + + + 7 + + + + + PHFindLightsManualEntryViewController + UITableViewController + + IBProjectSource + ./Classes/PHFindLightsManualEntryViewController.h + + + + + 0 + IBCocoaTouchFramework + YES + 3 + 2083 + + diff --git a/SampleApp/SDKWizard/FindLights/PHFindLightsResultViewController.h b/SampleApp/SDKWizard/FindLights/PHFindLightsResultViewController.h index 5f7254f..c7cde7c 100644 --- a/SampleApp/SDKWizard/FindLights/PHFindLightsResultViewController.h +++ b/SampleApp/SDKWizard/FindLights/PHFindLightsResultViewController.h @@ -1,9 +1,7 @@ -// -// PHFindLightsResultViewController.h -// SampleApp -// -// Copyright (c) 2012 Philips. All rights reserved. -// +/******************************************************************************* + Copyright (c) 2013 Koninklijke Philips N.V. + All Rights Reserved. + ********************************************************************************/ #import @@ -30,8 +28,10 @@ /** Creates a new instance of this find lights view controller. @param delegate the delegate to inform when the search is done + @param lightSerials the serials of lights to search for (lights which are factory new will be found even if not in this list) + @param previousResults the previous results which should still be shown */ -- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil delegate:(id)delegate; +- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil delegate:(id)delegate lightSerials:(NSArray *)lightSerials previousResults:(NSDictionary *)previousResults; /** Starts the search for new lights diff --git a/SampleApp/SDKWizard/FindLights/PHFindLightsResultViewController.m b/SampleApp/SDKWizard/FindLights/PHFindLightsResultViewController.m index b0fed1f..e127aeb 100644 --- a/SampleApp/SDKWizard/FindLights/PHFindLightsResultViewController.m +++ b/SampleApp/SDKWizard/FindLights/PHFindLightsResultViewController.m @@ -1,13 +1,12 @@ -// -// PHFindLightsResultViewController.m -// SampleApp -// -// Copyright (c) 2012 Philips. All rights reserved. -// +/******************************************************************************* + Copyright (c) 2013 Koninklijke Philips N.V. + All Rights Reserved. + ********************************************************************************/ #import "PHFindLightsResultViewController.h" +#import "PHFindLightsManualEntryViewController.h" -#import +#import @interface PHFindLightsResultViewController () @@ -29,18 +28,23 @@ @interface PHFindLightsResultViewController () /** A local cache of the lights found by the bridge */ -@property (nonatomic, strong) NSDictionary *lightsFound; +@property (nonatomic, strong) NSMutableDictionary *lightsFound; /** Boolean indicating if the search is complete */ @property (nonatomic, assign) BOOL searchDone; +/** + The specific light serials to search for (can be nil) + */ +@property (nonatomic, strong) NSArray *lightSerials; + @end @implementation PHFindLightsResultViewController -- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil delegate:(id)delegate { +- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil delegate:(id)delegate lightSerials:(NSArray *)lightSerials previousResults:(NSDictionary *)previousResults { self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; if (self) { // Make it a form on iPad @@ -49,6 +53,13 @@ - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil // Set delegate object to use self.delegate = delegate; + // Set light serials + self.lightSerials = lightSerials; + + // Set previous results + self.lightsFound = [NSMutableDictionary dictionary]; + [self.lightsFound addEntriesFromDictionary:previousResults]; + // Set title self.title = NSLocalizedString(@"Find new lights", @"Find new lights screen title"); @@ -90,8 +101,9 @@ - (void)startSearch { // Invoke the search command id bridgeSendAPI = [[[PHOverallFactory alloc] init] bridgeSendAPI]; - [bridgeSendAPI searchForNewLights:^(NSArray *errors) { - if (errors != nil) { + + PHBridgeSendErrorArrayCompletionHandler completionHandler = ^(NSArray *errors) { + if (!errors) { // No errors, start timers self.intervalTimer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(updateLightsFound) userInfo:nil repeats:YES]; self.timeoutTimer = [NSTimer scheduledTimerWithTimeInterval:60 target:self selector:@selector(finishSearch) userInfo:nil repeats:NO]; @@ -100,7 +112,15 @@ - (void)startSearch { // Error, stop search [self finishSearch]; } - }]; + }; + + if (![[PHBridgeResourcesReader readBridgeResourcesCache].bridgeConfiguration.swversion isEqualToString:@"01003542"] && + self.lightSerials != nil && self.lightSerials.count > 0) { + [bridgeSendAPI searchForNewLightsWithSerials:self.lightSerials completionHandler:completionHandler]; + } + else { + [bridgeSendAPI searchForNewLights:completionHandler]; + } } /** @@ -131,10 +151,10 @@ - (void)updateLightsFound { // Get the lights from the bridge id bridgeSendAPI = [[[PHOverallFactory alloc] init] bridgeSendAPI]; - [bridgeSendAPI getNewFoundLights:^(NSDictionary *dictionary, NSArray *errors) { + [bridgeSendAPI getNewFoundLights:^(NSDictionary *dictionary, NSString *lastScan, NSArray *errors) { if (dictionary != nil && dictionary.count > 0) { // Results were found, reload table - self.lightsFound = dictionary; + [self.lightsFound addEntriesFromDictionary:dictionary]; [self.tableView reloadData]; } }]; @@ -183,6 +203,8 @@ - (void)finishSearch { NSArray *toolbarItems = [NSArray arrayWithObjects:flexItem1, titleItem, flexItem2, nil]; [self.toolbar setItems:toolbarItems animated:YES]; + + [self.tableView reloadData]; } /** @@ -196,47 +218,72 @@ - (void)doneButton { #pragma mark - Table view datasource - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { + if (![[PHBridgeResourcesReader readBridgeResourcesCache].bridgeConfiguration.swversion isEqualToString:@"01003542"] && self.searchDone) { + // We have a new bridge -> give option to remote reset a light when search is done + return 2; + } return 1; } - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { // Check if we have lights to show - if (self.lightsFound.count > 0) { - return self.lightsFound.count; + if (section == 0) { + if (self.lightsFound.count > 0) { + return self.lightsFound.count; + } + + // We show a message in the table when no lights are found (yet) + return 1; + } + else { + return 1; } - - // We show a message in the table when no lights are found (yet) - return 1; } - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { // Create table view cell - UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"resultcell"]; - if (cell == nil) { - cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"resultcell"]; - } - - // Check if we already have results - if (self.lightsFound.count > 0) { - // Order by identifier - NSArray *lightKeys = [self.lightsFound.allKeys sortedArrayUsingSelector:@selector(caseInsensitiveCompare:)]; - NSString *lightName = [self.lightsFound objectForKey:[lightKeys objectAtIndex:indexPath.row]]; + if (indexPath.section == 0) { + // Light cell + UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"resultcell"]; + if (cell == nil) { + cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"resultcell"]; + } - cell.textLabel.text = lightName; - } - else { - // Show default message - if (!self.searchDone) { - // Still searching - cell.textLabel.text = NSLocalizedString(@"No new lights found yet", @"No lights found yet message"); + // Check if we already have results + if (self.lightsFound.count > 0) { + // Order by identifier + NSArray *lightKeys = [self.lightsFound.allKeys sortedArrayUsingSelector:@selector(caseInsensitiveCompare:)]; + NSString *lightName = [self.lightsFound objectForKey:[lightKeys objectAtIndex:indexPath.row]]; + + cell.textLabel.text = lightName; } else { - // Search done - cell.textLabel.text = NSLocalizedString(@"No new lights found", @"No lights found message"); + // Show default message + if (!self.searchDone) { + // Still searching + cell.textLabel.text = NSLocalizedString(@"No new lights found yet", @"No lights found yet message"); + } + else { + // Search done + cell.textLabel.text = NSLocalizedString(@"No new lights found", @"No lights found message"); + } } + cell.selectionStyle = UITableViewCellSelectionStyleNone; + + return cell; } - - return cell; + else if (indexPath.section == 1) { + // Find more lights button + UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"findmorecell"]; + if (cell == nil) { + cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"findmorecell"]; + } + + cell.textLabel.text = NSLocalizedString(@"Add lights manually", @"Add lights manually button"); + cell.selectionStyle = UITableViewCellSelectionStyleBlue; + return cell; + } + return nil; } - (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section { @@ -254,7 +301,11 @@ - (NSString *)tableView:(UITableView *)tableView titleForFooterInSection:(NSInte #pragma mark - Table view delegate - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { - // We do not react to touches here + if (indexPath.section == 1) { + // Add manually button + PHFindLightsManualEntryViewController *findLightsController = [[PHFindLightsManualEntryViewController alloc] initWithNibName:@"PHFindLightsManualEntryViewController" bundle:[NSBundle mainBundle] delegate:self.delegate previousResults:self.lightsFound]; + [self.navigationController pushViewController:findLightsController animated:YES]; + } } @end diff --git a/SampleApp/SDKWizard/FindLights/PHFindLightsResultViewController.xib b/SampleApp/SDKWizard/FindLights/PHFindLightsResultViewController.xib index 8aa2cd1..328f0e6 100644 --- a/SampleApp/SDKWizard/FindLights/PHFindLightsResultViewController.xib +++ b/SampleApp/SDKWizard/FindLights/PHFindLightsResultViewController.xib @@ -1,14 +1,14 @@ - 1536 + 1552 12C54 - 2844 + 3084 1187.34 625.00 com.apple.InterfaceBuilder.IBCocoaTouchPlugin - 1930 + 2083 IBProxyObject @@ -44,6 +44,7 @@ {320, 372} + _NS:9 1 @@ -55,7 +56,6 @@ YES 1 0 - NO 44 10 10 @@ -66,10 +66,11 @@ - 292 + 266 {{12, 17}, {295, 11}} + _NS:9 NO IBCocoaTouchFramework @@ -79,6 +80,7 @@ {{0, 372}, {320, 44}} + _NS:9 NO NO @@ -95,6 +97,7 @@ {{0, 64}, {320, 416}} + 3 MQA @@ -285,6 +288,6 @@ IBCocoaTouchFramework YES 3 - 1930 + 2083 diff --git a/SampleApp/SDKWizard/FindLights/PHFindLightsStartViewController.h b/SampleApp/SDKWizard/FindLights/PHFindLightsStartViewController.h index e282d57..235ebc5 100644 --- a/SampleApp/SDKWizard/FindLights/PHFindLightsStartViewController.h +++ b/SampleApp/SDKWizard/FindLights/PHFindLightsStartViewController.h @@ -1,10 +1,7 @@ -// -// PHFindLightsStartViewController.h -// SampleApp -// -// Created by Michael de Vries on 19-12-12. -// Copyright (c) 2012 Philips. All rights reserved. -// +/******************************************************************************* + Copyright (c) 2013 Koninklijke Philips N.V. + All Rights Reserved. + ********************************************************************************/ #import diff --git a/SampleApp/SDKWizard/FindLights/PHFindLightsStartViewController.m b/SampleApp/SDKWizard/FindLights/PHFindLightsStartViewController.m index 5ea05a6..1e8d817 100644 --- a/SampleApp/SDKWizard/FindLights/PHFindLightsStartViewController.m +++ b/SampleApp/SDKWizard/FindLights/PHFindLightsStartViewController.m @@ -1,9 +1,7 @@ -// -// PHFindLightsStartViewController.m -// SampleApp -// -// Copyright (c) 2012 Philips. All rights reserved. -// +/******************************************************************************* + Copyright (c) 2013 Koninklijke Philips N.V. + All Rights Reserved. + ********************************************************************************/ #import "PHFindLightsStartViewController.h" @@ -40,7 +38,7 @@ - (void)didReceiveMemoryWarning { */ - (IBAction)startSearch:(id)sender { // Create result interface - PHFindLightsResultViewController *resultsViewController = [[PHFindLightsResultViewController alloc] initWithNibName:@"PHFindLightsResultViewController" bundle:[NSBundle mainBundle] delegate:self.delegate]; + PHFindLightsResultViewController *resultsViewController = [[PHFindLightsResultViewController alloc] initWithNibName:@"PHFindLightsResultViewController" bundle:[NSBundle mainBundle] delegate:self.delegate lightSerials:nil previousResults:nil]; [self.navigationController pushViewController:resultsViewController animated:YES]; // Start the search diff --git a/SampleApp/SDKWizard/FindLights/PHFindLightsStartViewController.xib b/SampleApp/SDKWizard/FindLights/PHFindLightsStartViewController.xib index 08afda9..fb12ac7 100644 --- a/SampleApp/SDKWizard/FindLights/PHFindLightsStartViewController.xib +++ b/SampleApp/SDKWizard/FindLights/PHFindLightsStartViewController.xib @@ -1,14 +1,14 @@ - 1536 - 12C2034 - 2843 - 1187.34 - 625.00 + 1552 + 12D78 + 3084 + 1187.37 + 626.00 com.apple.InterfaceBuilder.IBCocoaTouchPlugin - 1929 + 2083 IBProxyObject @@ -269,6 +269,6 @@ addlights.png {320, 480} - 1929 + 2083 diff --git a/SampleApp/SDKWizard/LoadingView/PHLoadingViewController.h b/SampleApp/SDKWizard/LoadingView/PHLoadingViewController.h index 769902b..5d2fcae 100644 --- a/SampleApp/SDKWizard/LoadingView/PHLoadingViewController.h +++ b/SampleApp/SDKWizard/LoadingView/PHLoadingViewController.h @@ -1,10 +1,7 @@ -// -// PHLoadingViewController.h -// SDK3rdApp -// -// Created by Michael de Vries on 31-10-12. -// Copyright (c) 2012 Philips. All rights reserved. -// +/******************************************************************************* + Copyright (c) 2013 Koninklijke Philips N.V. + All Rights Reserved. + ********************************************************************************/ #import diff --git a/SampleApp/SDKWizard/LoadingView/PHLoadingViewController.m b/SampleApp/SDKWizard/LoadingView/PHLoadingViewController.m index 059f965..53d969c 100644 --- a/SampleApp/SDKWizard/LoadingView/PHLoadingViewController.m +++ b/SampleApp/SDKWizard/LoadingView/PHLoadingViewController.m @@ -1,10 +1,7 @@ -// -// PHLoadingViewController.m -// SDK3rdApp -// -// Created by Michael de Vries on 31-10-12. -// Copyright (c) 2012 Philips. All rights reserved. -// +/******************************************************************************* + Copyright (c) 2013 Koninklijke Philips N.V. + All Rights Reserved. + ********************************************************************************/ #import "PHLoadingViewController.h" diff --git a/SampleApp/SDKWizard/PHBridgeConfigurationViewController.h b/SampleApp/SDKWizard/PHBridgeConfigurationViewController.h index 9f01326..8ca6888 100644 --- a/SampleApp/SDKWizard/PHBridgeConfigurationViewController.h +++ b/SampleApp/SDKWizard/PHBridgeConfigurationViewController.h @@ -1,9 +1,7 @@ -// -// PHBridgeConfigurationViewController.h -// SDK3rdApp -// -// Copyright (c) 2012 Philips. All rights reserved. -// +/******************************************************************************* + Copyright (c) 2013 Koninklijke Philips N.V. + All Rights Reserved. + ********************************************************************************/ #import #import "PHSoftwareUpdateManager.h" @@ -25,7 +23,7 @@ to allow changing of the bridge settings from your app. You should change this class to include memory management if you are not using ARC. */ -@interface PHBridgeConfigurationViewController : UITableViewController +@interface PHBridgeConfigurationViewController : UITableViewController /** Creates a new instance of this bridge configuration view controller. diff --git a/SampleApp/SDKWizard/PHBridgeConfigurationViewController.m b/SampleApp/SDKWizard/PHBridgeConfigurationViewController.m index cf45996..df6dfee 100644 --- a/SampleApp/SDKWizard/PHBridgeConfigurationViewController.m +++ b/SampleApp/SDKWizard/PHBridgeConfigurationViewController.m @@ -1,14 +1,12 @@ -// -// PHBridgeConfigurationViewController.m -// SDK3rdApp -// -// Copyright (c) 2012 Philips. All rights reserved. -// +/******************************************************************************* + Copyright (c) 2013 Koninklijke Philips N.V. + All Rights Reserved. + ********************************************************************************/ #import "PHBridgeConfigurationViewController.h" #import "PHLoadingViewController.h" -#import +#import @interface PHBridgeConfigurationViewController () @@ -338,56 +336,85 @@ - (void)reloadTableData { } - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { - // Software update, bridge name, DHCP and Proxy - return 4; + // Software update, (channel change), bridge name, DHCP and Proxy + int sectionCount = 5; + + NSString *softwareVersion = [[PHBridgeResourcesReader readBridgeResourcesCache] bridgeConfiguration].swversion; + if ([softwareVersion isEqualToString:@"01003542"]) { + // Software version "01003542" does not support channel change + sectionCount--; + } + + return sectionCount; } - (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section { - if (section == 1) { + + NSString *softwareVersion = [[PHBridgeResourcesReader readBridgeResourcesCache] bridgeConfiguration].swversion; + int i = 0; + + if (section == i++) { + // Check for updates + } + else if ((![softwareVersion isEqualToString:@"01003542"]) && (section == i++)) { + // Channel change + } + else if (section == i++) { return NSLocalizedString(@"Name", @"Title for bridge name section of my bridge config screen"); } - else if (section == 2) { + else if (section == i++) { return NSLocalizedString(@"DHCP", @"Title for bridge ip address section of my bridge config screen"); } - else if (section == 3) { + else if (section == i) { return NSLocalizedString(@"HTTP-proxy", @"Title for bridge proxy section of my bridge config screen"); } - return nil; } - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { - if (section == 0) { + + NSString *softwareVersion = [[PHBridgeResourcesReader readBridgeResourcesCache] bridgeConfiguration].swversion; + int i = 0; + + if (section == i++) { + // Check for updates + return 1; + } + else if ((![softwareVersion isEqualToString:@"01003542"]) && (section == i++)) { + // Channel change return 1; } - else if (section == 1) { + else if (section == i++) { return 1; } - else if (section == 2) { + else if (section == i++) { return self.dhcpSwitch.on ? 1 : 4; } - else if (section == 3) { + else if (section == i) { return self.proxySwitch.on ? 3 : 1; } return 0; } - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { + UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:nil]; NSString *editName = nil; UITextField *editField = nil; UISwitch *editSwitch = nil; - if (indexPath.section == 0) { - // Name + + int i = 0; + if (indexPath.section == i++) { + // Check for updates editName = NSLocalizedString(@"Check for updates", @"Check for updates button mybridge config screen"); } - else if (indexPath.section == 1) { + else if (indexPath.section == i++) { // Name editName = NSLocalizedString(@"Name", @"Name label mybridge config screen"); editField = self.nameLabel; } - else if (indexPath.section == 2) { + else if (indexPath.section == i++) { // Dhcp / ipaddress if (indexPath.row == 0) { // Switch @@ -410,7 +437,7 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N editField = self.gatewayLabel; } } - else if (indexPath.section == 3) { + else if (indexPath.section == i) { // Http proxy if (indexPath.row == 0) { // Switch @@ -450,27 +477,41 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N } - (void)dhcpSwitchChanged { + int count = 0; + + NSString *softwareVersion = [[PHBridgeResourcesReader readBridgeResourcesCache] bridgeConfiguration].swversion; + if (![softwareVersion isEqualToString:@"01003542"]) { + count++; + } + if (!self.dhcpSwitch.on) { // New state is dhcp off -> show fields - NSArray *indexPathArray = [NSArray arrayWithObjects:[NSIndexPath indexPathForRow:1 inSection:2], [NSIndexPath indexPathForRow:2 inSection:2], [NSIndexPath indexPathForRow:3 inSection:2], nil]; + NSArray *indexPathArray = [NSArray arrayWithObjects:[NSIndexPath indexPathForRow:1 inSection:(2+count)], [NSIndexPath indexPathForRow:2 inSection:(2+count)], [NSIndexPath indexPathForRow:3 inSection:(2+count)], nil]; [self.tableView insertRowsAtIndexPaths:indexPathArray withRowAnimation:UITableViewRowAnimationAutomatic]; } else { // New state is dhcp on -> remove fields - NSArray *indexPathArray = [NSArray arrayWithObjects:[NSIndexPath indexPathForRow:1 inSection:2], [NSIndexPath indexPathForRow:2 inSection:2], [NSIndexPath indexPathForRow:3 inSection:2], nil]; + NSArray *indexPathArray = [NSArray arrayWithObjects:[NSIndexPath indexPathForRow:1 inSection:(2+count)], [NSIndexPath indexPathForRow:2 inSection:(2+count)], [NSIndexPath indexPathForRow:3 inSection:(2+count)], nil]; [self.tableView deleteRowsAtIndexPaths:indexPathArray withRowAnimation:UITableViewRowAnimationAutomatic]; } } - (void)proxySwitchChanged { + int count = 0; + + NSString *softwareVersion = [[PHBridgeResourcesReader readBridgeResourcesCache] bridgeConfiguration].swversion; + if (![softwareVersion isEqualToString:@"01003542"]) { + count++; + } + if (self.proxySwitch.on) { // New state is on - NSArray *indexPathArray = [NSArray arrayWithObjects:[NSIndexPath indexPathForRow:1 inSection:3], [NSIndexPath indexPathForRow:2 inSection:3], nil]; + NSArray *indexPathArray = [NSArray arrayWithObjects:[NSIndexPath indexPathForRow:1 inSection:(3+count)], [NSIndexPath indexPathForRow:2 inSection:(3+count)], nil]; [self.tableView insertRowsAtIndexPaths:indexPathArray withRowAnimation:UITableViewRowAnimationAutomatic]; } else { // New state is off - NSArray *indexPathArray = [NSArray arrayWithObjects:[NSIndexPath indexPathForRow:1 inSection:3], [NSIndexPath indexPathForRow:2 inSection:3], nil]; + NSArray *indexPathArray = [NSArray arrayWithObjects:[NSIndexPath indexPathForRow:1 inSection:(3+count)], [NSIndexPath indexPathForRow:2 inSection:(3+count)], nil]; [self.tableView deleteRowsAtIndexPaths:indexPathArray withRowAnimation:UITableViewRowAnimationAutomatic]; } } @@ -478,19 +519,20 @@ - (void)proxySwitchChanged { #pragma mark - Table view delegate - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { - if (indexPath.section == 0) { + int i = 0; + + if (indexPath.section == i++) { // Check for updates button if (self.updateManager == nil) { self.updateManager = [[PHSoftwareUpdateManager alloc] initWithDelegate:self]; } - [self.updateManager checkUpdateStatus]; } - else if (indexPath.section == 1) { + else if (indexPath.section == i++) { // Bridge name [self.nameLabel becomeFirstResponder]; } - else if (indexPath.section == 2) { + else if (indexPath.section == i++) { // Dhcp / ipaddress if (indexPath.row == 1) { // Ip address @@ -505,7 +547,7 @@ - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath [self.gatewayLabel becomeFirstResponder]; } } - else if (indexPath.section == 3) { + else if (indexPath.section == i) { // Http proxy if (indexPath.row == 1) { // Server diff --git a/SampleApp/SDKWizard/PHBridgePushLinkViewController.h b/SampleApp/SDKWizard/PHBridgePushLinkViewController.h index 323d4a7..c4509d5 100644 --- a/SampleApp/SDKWizard/PHBridgePushLinkViewController.h +++ b/SampleApp/SDKWizard/PHBridgePushLinkViewController.h @@ -1,9 +1,7 @@ -// -// PHPushLinkViewController.h -// SDK3rdApp -// -// Copyright (c) 2012 Philips. All rights reserved. -// +/******************************************************************************* + Copyright (c) 2013 Koninklijke Philips N.V. + All Rights Reserved. + ********************************************************************************/ #import diff --git a/SampleApp/SDKWizard/PHBridgePushLinkViewController.m b/SampleApp/SDKWizard/PHBridgePushLinkViewController.m index edeab8b..a02d824 100644 --- a/SampleApp/SDKWizard/PHBridgePushLinkViewController.m +++ b/SampleApp/SDKWizard/PHBridgePushLinkViewController.m @@ -1,13 +1,11 @@ -// -// PHPushLinkViewController.m -// SDK3rdApp -// -// Copyright (c) 2012 Philips. All rights reserved. -// +/******************************************************************************* + Copyright (c) 2013 Koninklijke Philips N.V. + All Rights Reserved. + ********************************************************************************/ #import "PHBridgePushLinkViewController.h" -#import +#import @interface PHBridgePushLinkViewController () diff --git a/SampleApp/SDKWizard/PHBridgePushLinkViewController.xib b/SampleApp/SDKWizard/PHBridgePushLinkViewController.xib index dad5953..bbf5e9d 100644 --- a/SampleApp/SDKWizard/PHBridgePushLinkViewController.xib +++ b/SampleApp/SDKWizard/PHBridgePushLinkViewController.xib @@ -2,10 +2,10 @@ 1552 - 12C3006 + 12D78 3084 - 1187.34 - 625.00 + 1187.37 + 626.00 com.apple.InterfaceBuilder.IBCocoaTouchPlugin 2083 @@ -55,7 +55,7 @@ - 266 + 292 {{20, 431}, {280, 9}} diff --git a/SampleApp/SDKWizard/PHBridgeSelectionViewController.h b/SampleApp/SDKWizard/PHBridgeSelectionViewController.h index 6731c81..f506c15 100644 --- a/SampleApp/SDKWizard/PHBridgeSelectionViewController.h +++ b/SampleApp/SDKWizard/PHBridgeSelectionViewController.h @@ -1,9 +1,7 @@ -// -// PHBridgeSelectionViewController.h -// SDK3rdApp -// -// Copyright (c) 2012 Philips. All rights reserved. -// +/******************************************************************************* + Copyright (c) 2013 Koninklijke Philips N.V. + All Rights Reserved. + ********************************************************************************/ #import diff --git a/SampleApp/SDKWizard/PHBridgeSelectionViewController.m b/SampleApp/SDKWizard/PHBridgeSelectionViewController.m index 444a658..d6dc5e9 100644 --- a/SampleApp/SDKWizard/PHBridgeSelectionViewController.m +++ b/SampleApp/SDKWizard/PHBridgeSelectionViewController.m @@ -1,9 +1,7 @@ -// -// PHBridgeSelectionViewController.m -// SDK3rdApp -// -// Copyright (c) 2012 Philips. All rights reserved. -// +/******************************************************************************* + Copyright (c) 2013 Koninklijke Philips N.V. + All Rights Reserved. + ********************************************************************************/ #import "PHBridgeSelectionViewController.h" #import "PHAppDelegate.h" @@ -36,6 +34,7 @@ - (void)viewDidLoad { // Set title of screen self.title = @"Available SmartBridges"; + // Refresh button UIBarButtonItem *refreshBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemRefresh target:self diff --git a/SampleApp/SDKWizard/PHBridgeSelectionViewController.xib b/SampleApp/SDKWizard/PHBridgeSelectionViewController.xib index 732a0ce..37c87e2 100644 --- a/SampleApp/SDKWizard/PHBridgeSelectionViewController.xib +++ b/SampleApp/SDKWizard/PHBridgeSelectionViewController.xib @@ -1,14 +1,14 @@ - 1536 - 12C2034 - 2843 + 1552 + 12C60 + 3084 1187.34 625.00 com.apple.InterfaceBuilder.IBCocoaTouchPlugin - 1929 + 2083 IBProxyObject @@ -36,7 +36,6 @@ {{0, 64}, {320, 416}} - _NS:9 1 @@ -142,6 +141,6 @@ YES 3 YES - 1929 + 2083 diff --git a/SampleApp/SDKWizard/PHConfigurationViewController.h b/SampleApp/SDKWizard/PHConfigurationViewController.h index 5e6886d..79f02cc 100644 --- a/SampleApp/SDKWizard/PHConfigurationViewController.h +++ b/SampleApp/SDKWizard/PHConfigurationViewController.h @@ -1,9 +1,7 @@ -// -// PHConfigurationViewController.h -// SampleApp -// -// Copyright (c) 2012 Philips. All rights reserved. -// +/******************************************************************************* + Copyright (c) 2013 Koninklijke Philips N.V. + All Rights Reserved. + ********************************************************************************/ #import #import "PHBridgeConfigurationViewController.h" @@ -12,7 +10,7 @@ @class PHHueSDK; @class PHConfigurationViewController; -@protocol PHConfigurationViewControllerDelegate +@protocol PHConfigurationViewControllerDelegate /** This method is called when the done button on the configuration screen is tapped. diff --git a/SampleApp/SDKWizard/PHConfigurationViewController.m b/SampleApp/SDKWizard/PHConfigurationViewController.m index 605d53e..6ad5d18 100644 --- a/SampleApp/SDKWizard/PHConfigurationViewController.m +++ b/SampleApp/SDKWizard/PHConfigurationViewController.m @@ -1,16 +1,16 @@ -// -// PHConfigurationViewController.m -// SampleApp -// -// Copyright (c) 2012 Philips. All rights reserved. -// +/******************************************************************************* + Copyright (c) 2013 Koninklijke Philips N.V. + All Rights Reserved. + ********************************************************************************/ #import "PHConfigurationViewController.h" #import "PHLoadingViewController.h" #import "PHFindLightsStartViewController.h" -#import +#import + +#define LIGHTNAME_MAX_LENGTH 32 @interface PHConfigurationViewController () @@ -60,6 +60,7 @@ @implementation PHConfigurationViewController - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil hueSDK:(PHHueSDK *)hueSDK delegate:(id)delegate { self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; + if (self) { // Make it a form on iPad self.modalPresentationStyle = UIModalPresentationFormSheet; @@ -112,7 +113,7 @@ - (void)doneButton { - (void)updateLights { NSDictionary *lightsDict = [[PHBridgeResourcesReader readBridgeResourcesCache] lights]; self.lights = [lightsDict.allValues sortedArrayUsingComparator:^NSComparisonResult(PHLight *light1, PHLight *light2) { - return [light1.identifier compare:light2.identifier options:NSCaseInsensitiveSearch]; + return [light1.identifier compare:light2.identifier options:NSNumericSearch]; }]; [self.tableView reloadData]; @@ -156,7 +157,7 @@ - (void)renameLight:(PHLight *)light withNewName:(NSString *)newName { // Make the light blink PHLightState *blinkState = [[PHLightState alloc] init]; - [blinkState setAlertMode:ALERT_LSELECT]; + blinkState.alert = ALERT_LSELECT; id bridgeSendAPI = [[[PHOverallFactory alloc] init] bridgeSendAPI]; [bridgeSendAPI updateLightStateForId:light.identifier withLighState:blinkState completionHandler:^(NSArray *errors) { @@ -206,7 +207,7 @@ - (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)butto // Set light to normal non-blinking state again PHLightState *normalState = [[PHLightState alloc] init]; - [normalState setAlertMode:ALERT_NONE]; + normalState.alert = ALERT_NONE; [bridgeSendAPI updateLightStateForId:self.editedLight.identifier withLighState:normalState completionHandler:^(NSArray *errors) { // Ignore result, this may fail silently @@ -395,4 +396,14 @@ - (void)lightsSearchDone { [self.navigationController popToViewController:self animated:YES]; } +#pragma mark - Text field delegate + +- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { + if((textField.text.length >= LIGHTNAME_MAX_LENGTH && range.length == 0) || + (range.location + string.length > LIGHTNAME_MAX_LENGTH)) { + return NO; + } + return YES; +} + @end diff --git a/SampleApp/SDKWizard/SoftwareUpdate/PHSoftwareUpdateManager.h b/SampleApp/SDKWizard/SoftwareUpdate/PHSoftwareUpdateManager.h index 2086ca3..58e5d42 100644 --- a/SampleApp/SDKWizard/SoftwareUpdate/PHSoftwareUpdateManager.h +++ b/SampleApp/SDKWizard/SoftwareUpdate/PHSoftwareUpdateManager.h @@ -1,9 +1,7 @@ -// -// PHSoftwareUpdateManager.h -// SampleApp -// -// Copyright (c) 2012 Philips. All rights reserved. -// +/******************************************************************************* + Copyright (c) 2013 Koninklijke Philips N.V. + All Rights Reserved. + ********************************************************************************/ #import diff --git a/SampleApp/SDKWizard/SoftwareUpdate/PHSoftwareUpdateManager.m b/SampleApp/SDKWizard/SoftwareUpdate/PHSoftwareUpdateManager.m index 48594b7..74782f1 100644 --- a/SampleApp/SDKWizard/SoftwareUpdate/PHSoftwareUpdateManager.m +++ b/SampleApp/SDKWizard/SoftwareUpdate/PHSoftwareUpdateManager.m @@ -1,15 +1,14 @@ -// -// PHSoftwareUpdateManager.m -// SampleApp -// -// Created by Michael on 18-12-12. -// Copyright (c) 2012 Philips. All rights reserved. -// +/******************************************************************************* + Copyright (c) 2013 Koninklijke Philips N.V. + All Rights Reserved. + ********************************************************************************/ #import "PHSoftwareUpdateManager.h" #import "PHAppDelegate.h" -#import +#import + +#define NO_PORTALSERVICES 99 @interface PHSoftwareUpdateManager () @@ -53,8 +52,14 @@ - (void)checkUpdateStatus { if (swUpdateStatus != nil) { if (swUpdateStatus.updateState == NO_UPDATE && [self.delegate shouldShowMessageForNoSoftwareUpdate]) { - // No update - [self showNoUpdateMessage]; + BOOL portalServiceEnabled = [[[PHBridgeResourcesReader readBridgeResourcesCache] bridgeConfiguration].portalServices boolValue]; + if (!portalServiceEnabled) { + [self showTurnPortalServicesOnAndAgreeToTermsMessage]; + } + else { + // No update + [self showNoUpdateMessage]; + } } else if (swUpdateStatus.updateState == UPDATE_DOWNLOADING && [self.delegate shouldShowMessageForDownloadingSoftwareUpdate]) { // Downloading update @@ -108,6 +113,21 @@ - (void)cancelCheck { #pragma mark - Alert messages +- (void)showTurnPortalServicesOnAndAgreeToTermsMessage { + if (self.updateAlert == nil) { + UIAlertView *updateAlert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Portal services", @"Title of portal services update alert") + message:NSLocalizedString(@"Do you want to turn portal services on and agree to the terms?", @"Message of portal service update alert") + delegate:self + cancelButtonTitle:nil + otherButtonTitles:NSLocalizedString(@"Yes", @"Yes button of portal service update alert"), + NSLocalizedString(@"No", @"No button of portal service update alert"), + NSLocalizedString(@"Terms", @"Terms button of portal service update alert"), nil]; + updateAlert.tag = NO_PORTALSERVICES; + self.updateAlert = updateAlert; + [updateAlert show]; + } +} + - (void)showNoUpdateMessage { if (self.updateAlert == nil) { UIAlertView *updateAlert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Software update", @"Title of no software update alert") @@ -178,7 +198,38 @@ - (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)butto if (alertView == self.updateAlert) { self.updateAlert = nil; - if (alertView.tag == NO_UPDATE) { + if (alertView.tag == NO_PORTALSERVICES) { + if (buttonIndex == 0) { + // Yes button (enable portalservice) + PHBridgeConfiguration *bridgeConfig = [[PHBridgeConfiguration alloc] init]; + bridgeConfig.portalServices = [NSNumber numberWithBool:YES]; + id bridgeSendAPI = [[[PHOverallFactory alloc] init] bridgeSendAPI]; + [bridgeSendAPI updateConfigurationWithConfiguration:bridgeConfig completionHandler:^(NSArray *errors) { + if (errors != nil) { + // Show error + UIAlertView *configErrorAlert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Error", @"Config change error popup title") + message:NSLocalizedString(@"The new configuration could not be saved, please try again.", @"Config change error popup message") + delegate:nil + cancelButtonTitle:nil + otherButtonTitles:NSLocalizedString(@"Ok", @"Config change error popup ok button"), nil]; + [configErrorAlert show]; + } + else { + // Done, no errors, check for bridge update + [self checkUpdateStatus]; + } + }]; + } + else if (buttonIndex == 1) { + // No button + } + else if (buttonIndex == 2) { + // Terms and conditions button + NSURL *url = [NSURL URLWithString:@"https://www.meethue.com/terms"]; + [[UIApplication sharedApplication] openURL:url]; + } + } + else if (alertView.tag == NO_UPDATE) { // Nothing to do here } else if (alertView.tag == UPDATE_DOWNLOADING) { diff --git a/SampleApp/SDKWizard/resources/addlightmanual.png b/SampleApp/SDKWizard/resources/addlightmanual.png new file mode 100644 index 0000000000000000000000000000000000000000..5f8d4473fc56ebb6c73537a519593dfae1e745ec GIT binary patch literal 21018 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 b$G>DwDt~aNTmFU>3;ZFJG!-l4Em8jm2G*(z literal 0 HcmV?d00001 diff --git a/SampleApp/SampleApp.xcodeproj/project.pbxproj b/SampleApp/SampleApp.xcodeproj/project.pbxproj index 243bc24..c2132f5 100644 --- a/SampleApp/SampleApp.xcodeproj/project.pbxproj +++ b/SampleApp/SampleApp.xcodeproj/project.pbxproj @@ -10,9 +10,7 @@ 4C1C84551681F010003EE085 /* PHLoadingViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C1C84531681F010003EE085 /* PHLoadingViewController.m */; }; 4C1C84561681F010003EE085 /* PHLoadingViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C1C84541681F010003EE085 /* PHLoadingViewController.xib */; }; 4C286C641681D62B00D4D112 /* PHSoftwareUpdateManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C286C631681D50900D4D112 /* PHSoftwareUpdateManager.m */; }; - 4C4C5E5B1656B420006054D9 /* PHLightsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CCACFB9165693B1008E9D69 /* PHLightsViewController.m */; }; - 4C4C5E5C1656B423006054D9 /* PHLightViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CCACFBC165693B1008E9D69 /* PHLightViewController.m */; }; - 4C4C5E5D1656B425006054D9 /* PHViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CCACFC3165693B1008E9D69 /* PHViewController.m */; }; + 4C4C5E5D1656B425006054D9 /* PHMainViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CCACFC3165693B1008E9D69 /* PHMainViewController.m */; }; 4C5C6005167F2123004D4966 /* PHConfigurationViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C5C6003167F2123004D4966 /* PHConfigurationViewController.m */; }; 4C5C6006167F2123004D4966 /* PHConfigurationViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C5C6004167F2123004D4966 /* PHConfigurationViewController.xib */; }; 4C833FAB1681F9280060A22C /* PHFindLightsStartViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C833FA91681F9280060A22C /* PHFindLightsStartViewController.m */; }; @@ -21,9 +19,9 @@ 4C833FB01681F9FE0060A22C /* addlights@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4C833FAE1681F9FE0060A22C /* addlights@2x.png */; }; 4C833FB41682020D0060A22C /* PHFindLightsResultViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C833FB21682020D0060A22C /* PHFindLightsResultViewController.m */; }; 4C833FB51682020D0060A22C /* PHFindLightsResultViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C833FB31682020D0060A22C /* PHFindLightsResultViewController.xib */; }; - 4C9D45D01656BBA100A5335B /* PHViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4CCACFC4165693B1008E9D69 /* PHViewController.xib */; }; - 4C9D45D21656BBA700A5335B /* PHLightViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4CCACFBD165693B1008E9D69 /* PHLightViewController.xib */; }; - 4C9D45D31656BBAA00A5335B /* PHLightsViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4CCACFBA165693B1008E9D69 /* PHLightsViewController.xib */; }; + 4C8752D416CAA187002A6979 /* addlightmanual.png in Resources */ = {isa = PBXBuildFile; fileRef = 4C8752D216CAA187002A6979 /* addlightmanual.png */; }; + 4C8752D516CAA187002A6979 /* addlightmanual@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4C8752D316CAA187002A6979 /* addlightmanual@2x.png */; }; + 4C9D45D01656BBA100A5335B /* PHMainViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4CCACFC4165693B1008E9D69 /* PHMainViewController.xib */; }; 4CCACF97165692D4008E9D69 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4CCACF96165692D4008E9D69 /* UIKit.framework */; }; 4CCACF99165692D4008E9D69 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4CCACF98165692D4008E9D69 /* Foundation.framework */; }; 4CCACF9B165692D4008E9D69 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4CCACF9A165692D4008E9D69 /* CoreGraphics.framework */; }; @@ -41,7 +39,51 @@ 4CCACFDC165693F4008E9D69 /* PHBridgeSelectionViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4CCACFD3165693F4008E9D69 /* PHBridgeSelectionViewController.xib */; }; 4CCACFDD165693F4008E9D69 /* press_smartbridge.png in Resources */ = {isa = PBXBuildFile; fileRef = 4CCACFD5165693F4008E9D69 /* press_smartbridge.png */; }; 4CCACFDE165693F4008E9D69 /* press_smartbridge@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4CCACFD6165693F4008E9D69 /* press_smartbridge@2x.png */; }; - DA453BDB16E8E8DB00AA6DEB /* HueSDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA453BDA16E8E8DB00AA6DEB /* HueSDK.framework */; }; + 4CE68C5F16CB904B007ACCC9 /* PHFindLightsManualEntryViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CE68C5D16CB904B007ACCC9 /* PHFindLightsManualEntryViewController.m */; }; + 4CE68C6016CB904B007ACCC9 /* PHFindLightsManualEntryViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4CE68C5E16CB904B007ACCC9 /* PHFindLightsManualEntryViewController.xib */; }; + 8775C20C1793CFB600368025 /* JSONKit.m in Sources */ = {isa = PBXBuildFile; fileRef = 8775C1FB1793CFB600368025 /* JSONKit.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 8775C20D1793CFB600368025 /* DDAbstractDatabaseLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = 8775C1FE1793CFB600368025 /* DDAbstractDatabaseLogger.m */; }; + 8775C20E1793CFB600368025 /* DDASLLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = 8775C2001793CFB600368025 /* DDASLLogger.m */; }; + 8775C20F1793CFB600368025 /* DDFileLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = 8775C2021793CFB600368025 /* DDFileLogger.m */; }; + 8775C2101793CFB600368025 /* DDLog.m in Sources */ = {isa = PBXBuildFile; fileRef = 8775C2041793CFB600368025 /* DDLog.m */; }; + 8775C2111793CFB600368025 /* DDTTYLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = 8775C2061793CFB600368025 /* DDTTYLogger.m */; }; + 8775C2121793CFB600368025 /* ContextFilterLogFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 8775C2091793CFB600368025 /* ContextFilterLogFormatter.m */; }; + 8775C2131793CFB600368025 /* DispatchQueueLogFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 8775C20B1793CFB600368025 /* DispatchQueueLogFormatter.m */; }; + DA52BD04171FE02600ADF704 /* HueSDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA52BD03171FE02600ADF704 /* HueSDK.framework */; }; + DA8BB8F2173CD6A800D7FCCA /* PHSchedulesViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DA8BB8F0173CD6A800D7FCCA /* PHSchedulesViewController.m */; }; + DA8BB8F3173CD6A800D7FCCA /* PHSchedulesViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = DA8BB8F1173CD6A800D7FCCA /* PHSchedulesViewController.xib */; }; + DA8BB8F8173CFB3000D7FCCA /* PHScheduleOverviewViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DA8BB8F6173CFB3000D7FCCA /* PHScheduleOverviewViewController.m */; }; + DA8BB8F9173CFB3000D7FCCA /* PHScheduleOverviewViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = DA8BB8F7173CFB3000D7FCCA /* PHScheduleOverviewViewController.xib */; }; + DA8BB8FD173CFC2700D7FCCA /* PHScheduleAddingViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DA8BB8FB173CFC2700D7FCCA /* PHScheduleAddingViewController.m */; }; + DA8BB8FE173CFC2700D7FCCA /* PHScheduleAddingViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = DA8BB8FC173CFC2700D7FCCA /* PHScheduleAddingViewController.xib */; }; + DA8BB902173D419600D7FCCA /* PHScheduleDeletingViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DA8BB900173D419600D7FCCA /* PHScheduleDeletingViewController.m */; }; + DA8BB903173D419600D7FCCA /* PHScheduleDeletingViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = DA8BB901173D419600D7FCCA /* PHScheduleDeletingViewController.xib */; }; + DA8BB907173D45D200D7FCCA /* PHScheduleEditingViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DA8BB905173D45D100D7FCCA /* PHScheduleEditingViewController.m */; }; + DA8BB908173D45D200D7FCCA /* PHScheduleEditingViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = DA8BB906173D45D100D7FCCA /* PHScheduleEditingViewController.xib */; }; + DA8BB90C173D48BD00D7FCCA /* PHScheduleEditingSelectionViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DA8BB90A173D48BC00D7FCCA /* PHScheduleEditingSelectionViewController.m */; }; + DA8BB90D173D48BD00D7FCCA /* PHScheduleEditingSelectionViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = DA8BB90B173D48BD00D7FCCA /* PHScheduleEditingSelectionViewController.xib */; }; + DAC46D121731064E00CB9F1F /* PHGroupsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DAC46D101731064E00CB9F1F /* PHGroupsViewController.m */; }; + DAC46D131731064E00CB9F1F /* PHGroupsViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = DAC46D111731064E00CB9F1F /* PHGroupsViewController.xib */; }; + DAC46D1C17313C6700CB9F1F /* PHGroupOverviewViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DAC46D1A17313C6700CB9F1F /* PHGroupOverviewViewController.m */; }; + DAC46D1D17313C6700CB9F1F /* PHGroupOverviewViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = DAC46D1B17313C6700CB9F1F /* PHGroupOverviewViewController.xib */; }; + DAC46D2717313C7900CB9F1F /* PHLightControlSelectionViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DAC46D1F17313C7900CB9F1F /* PHLightControlSelectionViewController.m */; }; + DAC46D2817313C7900CB9F1F /* PHLightControlSelectionViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = DAC46D2017313C7900CB9F1F /* PHLightControlSelectionViewController.xib */; }; + DAC46D2917313C7900CB9F1F /* PHLightControlViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DAC46D2217313C7900CB9F1F /* PHLightControlViewController.m */; }; + DAC46D2A17313C7900CB9F1F /* PHLightControlViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = DAC46D2317313C7900CB9F1F /* PHLightControlViewController.xib */; }; + DAC46D2B17313C7900CB9F1F /* PHLightOverviewViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DAC46D2517313C7900CB9F1F /* PHLightOverviewViewController.m */; }; + DAC46D2C17313C7900CB9F1F /* PHLightOverviewViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = DAC46D2617313C7900CB9F1F /* PHLightOverviewViewController.xib */; }; + DAC46D301731429A00CB9F1F /* PHGroupAddingViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DAC46D2E1731429A00CB9F1F /* PHGroupAddingViewController.m */; }; + DAC46D311731429A00CB9F1F /* PHGroupAddingViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = DAC46D2F1731429A00CB9F1F /* PHGroupAddingViewController.xib */; }; + DAC46D351731709B00CB9F1F /* PHGroupEditingViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DAC46D331731709B00CB9F1F /* PHGroupEditingViewController.m */; }; + DAC46D361731709B00CB9F1F /* PHGroupEditingViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = DAC46D341731709B00CB9F1F /* PHGroupEditingViewController.xib */; }; + DAC46D3A1731AF0000CB9F1F /* PHGroupDeletingViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DAC46D381731AF0000CB9F1F /* PHGroupDeletingViewController.m */; }; + DAC46D3B1731AF0000CB9F1F /* PHGroupDeletingViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = DAC46D391731AF0000CB9F1F /* PHGroupDeletingViewController.xib */; }; + DAC46D3F1731AF3800CB9F1F /* PHGroupControlViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DAC46D3D1731AF3800CB9F1F /* PHGroupControlViewController.m */; }; + DAC46D401731AF3800CB9F1F /* PHGroupControlViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = DAC46D3E1731AF3800CB9F1F /* PHGroupControlViewController.xib */; }; + DAC46D441731AF5B00CB9F1F /* PHGroupControlSelectionViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DAC46D421731AF5A00CB9F1F /* PHGroupControlSelectionViewController.m */; }; + DAC46D451731AF5B00CB9F1F /* PHGroupControlSelectionViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = DAC46D431731AF5B00CB9F1F /* PHGroupControlSelectionViewController.xib */; }; + DAEFC9911726CADD0099156F /* PHLightsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DAEFC98F1726CADD0099156F /* PHLightsViewController.m */; }; + DAEFC9921726CADD0099156F /* PHLightsViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = DAEFC9901726CADD0099156F /* PHLightsViewController.xib */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -61,6 +103,8 @@ 4C833FB11682020D0060A22C /* PHFindLightsResultViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PHFindLightsResultViewController.h; path = FindLights/PHFindLightsResultViewController.h; sourceTree = ""; }; 4C833FB21682020D0060A22C /* PHFindLightsResultViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PHFindLightsResultViewController.m; path = FindLights/PHFindLightsResultViewController.m; sourceTree = ""; }; 4C833FB31682020D0060A22C /* PHFindLightsResultViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = PHFindLightsResultViewController.xib; path = FindLights/PHFindLightsResultViewController.xib; sourceTree = ""; }; + 4C8752D216CAA187002A6979 /* addlightmanual.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = addlightmanual.png; sourceTree = ""; }; + 4C8752D316CAA187002A6979 /* addlightmanual@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "addlightmanual@2x.png"; sourceTree = ""; }; 4CCACF92165692D4008E9D69 /* SampleApp.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = SampleApp.app; sourceTree = BUILT_PRODUCTS_DIR; }; 4CCACF96165692D4008E9D69 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; 4CCACF98165692D4008E9D69 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; @@ -74,15 +118,9 @@ 4CCACFA8165692D5008E9D69 /* Default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Default.png; sourceTree = ""; }; 4CCACFAA165692D5008E9D69 /* Default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default@2x.png"; sourceTree = ""; }; 4CCACFAC165692D5008E9D69 /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-568h@2x.png"; sourceTree = ""; }; - 4CCACFB8165693B1008E9D69 /* PHLightsViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PHLightsViewController.h; sourceTree = ""; }; - 4CCACFB9165693B1008E9D69 /* PHLightsViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PHLightsViewController.m; sourceTree = ""; }; - 4CCACFBA165693B1008E9D69 /* PHLightsViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = PHLightsViewController.xib; sourceTree = ""; }; - 4CCACFBB165693B1008E9D69 /* PHLightViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PHLightViewController.h; sourceTree = ""; }; - 4CCACFBC165693B1008E9D69 /* PHLightViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PHLightViewController.m; sourceTree = ""; }; - 4CCACFBD165693B1008E9D69 /* PHLightViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = PHLightViewController.xib; sourceTree = ""; }; - 4CCACFC2165693B1008E9D69 /* PHViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PHViewController.h; sourceTree = ""; }; - 4CCACFC3165693B1008E9D69 /* PHViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PHViewController.m; sourceTree = ""; }; - 4CCACFC4165693B1008E9D69 /* PHViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = PHViewController.xib; sourceTree = ""; }; + 4CCACFC2165693B1008E9D69 /* PHMainViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PHMainViewController.h; sourceTree = ""; }; + 4CCACFC3165693B1008E9D69 /* PHMainViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PHMainViewController.m; sourceTree = ""; }; + 4CCACFC4165693B1008E9D69 /* PHMainViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = PHMainViewController.xib; sourceTree = ""; }; 4CCACFCB165693F4008E9D69 /* PHBridgeConfigurationViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PHBridgeConfigurationViewController.h; sourceTree = ""; }; 4CCACFCC165693F4008E9D69 /* PHBridgeConfigurationViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PHBridgeConfigurationViewController.m; sourceTree = ""; }; 4CCACFCD165693F4008E9D69 /* PHBridgeConfigurationViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = PHBridgeConfigurationViewController.xib; sourceTree = ""; }; @@ -94,7 +132,77 @@ 4CCACFD3165693F4008E9D69 /* PHBridgeSelectionViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = PHBridgeSelectionViewController.xib; sourceTree = ""; }; 4CCACFD5165693F4008E9D69 /* press_smartbridge.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = press_smartbridge.png; sourceTree = ""; }; 4CCACFD6165693F4008E9D69 /* press_smartbridge@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "press_smartbridge@2x.png"; sourceTree = ""; }; - DA453BDA16E8E8DB00AA6DEB /* HueSDK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = HueSDK.framework; path = ../../HueSDK.framework; sourceTree = ""; }; + 4CE68C5C16CB904B007ACCC9 /* PHFindLightsManualEntryViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PHFindLightsManualEntryViewController.h; path = FindLights/PHFindLightsManualEntryViewController.h; sourceTree = ""; }; + 4CE68C5D16CB904B007ACCC9 /* PHFindLightsManualEntryViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PHFindLightsManualEntryViewController.m; path = FindLights/PHFindLightsManualEntryViewController.m; sourceTree = ""; }; + 4CE68C5E16CB904B007ACCC9 /* PHFindLightsManualEntryViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = PHFindLightsManualEntryViewController.xib; path = FindLights/PHFindLightsManualEntryViewController.xib; sourceTree = ""; }; + 8775C1FA1793CFB600368025 /* JSONKit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSONKit.h; sourceTree = ""; }; + 8775C1FB1793CFB600368025 /* JSONKit.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = JSONKit.m; sourceTree = ""; }; + 8775C1FD1793CFB600368025 /* DDAbstractDatabaseLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDAbstractDatabaseLogger.h; sourceTree = ""; }; + 8775C1FE1793CFB600368025 /* DDAbstractDatabaseLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDAbstractDatabaseLogger.m; sourceTree = ""; }; + 8775C1FF1793CFB600368025 /* DDASLLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDASLLogger.h; sourceTree = ""; }; + 8775C2001793CFB600368025 /* DDASLLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDASLLogger.m; sourceTree = ""; }; + 8775C2011793CFB600368025 /* DDFileLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDFileLogger.h; sourceTree = ""; }; + 8775C2021793CFB600368025 /* DDFileLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDFileLogger.m; sourceTree = ""; }; + 8775C2031793CFB600368025 /* DDLog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDLog.h; sourceTree = ""; }; + 8775C2041793CFB600368025 /* DDLog.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDLog.m; sourceTree = ""; }; + 8775C2051793CFB600368025 /* DDTTYLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDTTYLogger.h; sourceTree = ""; }; + 8775C2061793CFB600368025 /* DDTTYLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDTTYLogger.m; sourceTree = ""; }; + 8775C2081793CFB600368025 /* ContextFilterLogFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ContextFilterLogFormatter.h; sourceTree = ""; }; + 8775C2091793CFB600368025 /* ContextFilterLogFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ContextFilterLogFormatter.m; sourceTree = ""; }; + 8775C20A1793CFB600368025 /* DispatchQueueLogFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DispatchQueueLogFormatter.h; sourceTree = ""; }; + 8775C20B1793CFB600368025 /* DispatchQueueLogFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DispatchQueueLogFormatter.m; sourceTree = ""; }; + DA52BD03171FE02600ADF704 /* HueSDK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = HueSDK.framework; path = ../HueSDK.framework; sourceTree = ""; }; + DA8BB8EF173CD6A800D7FCCA /* PHSchedulesViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PHSchedulesViewController.h; path = Schedules/PHSchedulesViewController.h; sourceTree = ""; }; + DA8BB8F0173CD6A800D7FCCA /* PHSchedulesViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PHSchedulesViewController.m; path = Schedules/PHSchedulesViewController.m; sourceTree = ""; }; + DA8BB8F1173CD6A800D7FCCA /* PHSchedulesViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = PHSchedulesViewController.xib; path = Schedules/PHSchedulesViewController.xib; sourceTree = ""; }; + DA8BB8F5173CFB3000D7FCCA /* PHScheduleOverviewViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PHScheduleOverviewViewController.h; path = Schedules/Features/PHScheduleOverviewViewController.h; sourceTree = ""; }; + DA8BB8F6173CFB3000D7FCCA /* PHScheduleOverviewViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PHScheduleOverviewViewController.m; path = Schedules/Features/PHScheduleOverviewViewController.m; sourceTree = ""; }; + DA8BB8F7173CFB3000D7FCCA /* PHScheduleOverviewViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = PHScheduleOverviewViewController.xib; path = Schedules/Features/PHScheduleOverviewViewController.xib; sourceTree = ""; }; + DA8BB8FA173CFC2700D7FCCA /* PHScheduleAddingViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PHScheduleAddingViewController.h; path = Schedules/Features/PHScheduleAddingViewController.h; sourceTree = ""; }; + DA8BB8FB173CFC2700D7FCCA /* PHScheduleAddingViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PHScheduleAddingViewController.m; path = Schedules/Features/PHScheduleAddingViewController.m; sourceTree = ""; }; + DA8BB8FC173CFC2700D7FCCA /* PHScheduleAddingViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = PHScheduleAddingViewController.xib; path = Schedules/Features/PHScheduleAddingViewController.xib; sourceTree = ""; }; + DA8BB8FF173D419600D7FCCA /* PHScheduleDeletingViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PHScheduleDeletingViewController.h; path = Schedules/Features/PHScheduleDeletingViewController.h; sourceTree = ""; }; + DA8BB900173D419600D7FCCA /* PHScheduleDeletingViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PHScheduleDeletingViewController.m; path = Schedules/Features/PHScheduleDeletingViewController.m; sourceTree = ""; }; + DA8BB901173D419600D7FCCA /* PHScheduleDeletingViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = PHScheduleDeletingViewController.xib; path = Schedules/Features/PHScheduleDeletingViewController.xib; sourceTree = ""; }; + DA8BB904173D45D100D7FCCA /* PHScheduleEditingViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PHScheduleEditingViewController.h; path = Schedules/Features/PHScheduleEditingViewController.h; sourceTree = ""; }; + DA8BB905173D45D100D7FCCA /* PHScheduleEditingViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PHScheduleEditingViewController.m; path = Schedules/Features/PHScheduleEditingViewController.m; sourceTree = ""; }; + DA8BB906173D45D100D7FCCA /* PHScheduleEditingViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = PHScheduleEditingViewController.xib; path = Schedules/Features/PHScheduleEditingViewController.xib; sourceTree = ""; }; + DA8BB909173D48BB00D7FCCA /* PHScheduleEditingSelectionViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PHScheduleEditingSelectionViewController.h; path = Schedules/Features/PHScheduleEditingSelectionViewController.h; sourceTree = ""; }; + DA8BB90A173D48BC00D7FCCA /* PHScheduleEditingSelectionViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PHScheduleEditingSelectionViewController.m; path = Schedules/Features/PHScheduleEditingSelectionViewController.m; sourceTree = ""; }; + DA8BB90B173D48BD00D7FCCA /* PHScheduleEditingSelectionViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = PHScheduleEditingSelectionViewController.xib; path = Schedules/Features/PHScheduleEditingSelectionViewController.xib; sourceTree = ""; }; + DAC46D0F1731064E00CB9F1F /* PHGroupsViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PHGroupsViewController.h; path = Groups/PHGroupsViewController.h; sourceTree = ""; }; + DAC46D101731064E00CB9F1F /* PHGroupsViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PHGroupsViewController.m; path = Groups/PHGroupsViewController.m; sourceTree = ""; }; + DAC46D111731064E00CB9F1F /* PHGroupsViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = PHGroupsViewController.xib; path = Groups/PHGroupsViewController.xib; sourceTree = ""; }; + DAC46D1917313C6700CB9F1F /* PHGroupOverviewViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PHGroupOverviewViewController.h; path = Groups/Features/PHGroupOverviewViewController.h; sourceTree = ""; }; + DAC46D1A17313C6700CB9F1F /* PHGroupOverviewViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PHGroupOverviewViewController.m; path = Groups/Features/PHGroupOverviewViewController.m; sourceTree = ""; }; + DAC46D1B17313C6700CB9F1F /* PHGroupOverviewViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = PHGroupOverviewViewController.xib; path = Groups/Features/PHGroupOverviewViewController.xib; sourceTree = ""; }; + DAC46D1E17313C7900CB9F1F /* PHLightControlSelectionViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PHLightControlSelectionViewController.h; path = Features/PHLightControlSelectionViewController.h; sourceTree = ""; }; + DAC46D1F17313C7900CB9F1F /* PHLightControlSelectionViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PHLightControlSelectionViewController.m; path = Features/PHLightControlSelectionViewController.m; sourceTree = ""; }; + DAC46D2017313C7900CB9F1F /* PHLightControlSelectionViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = PHLightControlSelectionViewController.xib; path = Features/PHLightControlSelectionViewController.xib; sourceTree = ""; }; + DAC46D2117313C7900CB9F1F /* PHLightControlViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PHLightControlViewController.h; path = Features/PHLightControlViewController.h; sourceTree = ""; }; + DAC46D2217313C7900CB9F1F /* PHLightControlViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PHLightControlViewController.m; path = Features/PHLightControlViewController.m; sourceTree = ""; }; + DAC46D2317313C7900CB9F1F /* PHLightControlViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = PHLightControlViewController.xib; path = Features/PHLightControlViewController.xib; sourceTree = ""; }; + DAC46D2417313C7900CB9F1F /* PHLightOverviewViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PHLightOverviewViewController.h; path = Features/PHLightOverviewViewController.h; sourceTree = ""; }; + DAC46D2517313C7900CB9F1F /* PHLightOverviewViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PHLightOverviewViewController.m; path = Features/PHLightOverviewViewController.m; sourceTree = ""; }; + DAC46D2617313C7900CB9F1F /* PHLightOverviewViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = PHLightOverviewViewController.xib; path = Features/PHLightOverviewViewController.xib; sourceTree = ""; }; + DAC46D2D1731429A00CB9F1F /* PHGroupAddingViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PHGroupAddingViewController.h; path = Groups/Features/PHGroupAddingViewController.h; sourceTree = ""; }; + DAC46D2E1731429A00CB9F1F /* PHGroupAddingViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PHGroupAddingViewController.m; path = Groups/Features/PHGroupAddingViewController.m; sourceTree = ""; }; + DAC46D2F1731429A00CB9F1F /* PHGroupAddingViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = PHGroupAddingViewController.xib; path = Groups/Features/PHGroupAddingViewController.xib; sourceTree = ""; }; + DAC46D321731709B00CB9F1F /* PHGroupEditingViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PHGroupEditingViewController.h; path = Groups/Features/PHGroupEditingViewController.h; sourceTree = ""; }; + DAC46D331731709B00CB9F1F /* PHGroupEditingViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PHGroupEditingViewController.m; path = Groups/Features/PHGroupEditingViewController.m; sourceTree = ""; }; + DAC46D341731709B00CB9F1F /* PHGroupEditingViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = PHGroupEditingViewController.xib; path = Groups/Features/PHGroupEditingViewController.xib; sourceTree = ""; }; + DAC46D371731AF0000CB9F1F /* PHGroupDeletingViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PHGroupDeletingViewController.h; path = Groups/Features/PHGroupDeletingViewController.h; sourceTree = ""; }; + DAC46D381731AF0000CB9F1F /* PHGroupDeletingViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PHGroupDeletingViewController.m; path = Groups/Features/PHGroupDeletingViewController.m; sourceTree = ""; }; + DAC46D391731AF0000CB9F1F /* PHGroupDeletingViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = PHGroupDeletingViewController.xib; path = Groups/Features/PHGroupDeletingViewController.xib; sourceTree = ""; }; + DAC46D3C1731AF3800CB9F1F /* PHGroupControlViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PHGroupControlViewController.h; path = Groups/Features/PHGroupControlViewController.h; sourceTree = ""; }; + DAC46D3D1731AF3800CB9F1F /* PHGroupControlViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PHGroupControlViewController.m; path = Groups/Features/PHGroupControlViewController.m; sourceTree = ""; }; + DAC46D3E1731AF3800CB9F1F /* PHGroupControlViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = PHGroupControlViewController.xib; path = Groups/Features/PHGroupControlViewController.xib; sourceTree = ""; }; + DAC46D411731AF5A00CB9F1F /* PHGroupControlSelectionViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PHGroupControlSelectionViewController.h; path = Groups/Features/PHGroupControlSelectionViewController.h; sourceTree = ""; }; + DAC46D421731AF5A00CB9F1F /* PHGroupControlSelectionViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PHGroupControlSelectionViewController.m; path = Groups/Features/PHGroupControlSelectionViewController.m; sourceTree = ""; }; + DAC46D431731AF5B00CB9F1F /* PHGroupControlSelectionViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = PHGroupControlSelectionViewController.xib; path = Groups/Features/PHGroupControlSelectionViewController.xib; sourceTree = ""; }; + DAEFC98E1726CADD0099156F /* PHLightsViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PHLightsViewController.h; sourceTree = ""; }; + DAEFC98F1726CADD0099156F /* PHLightsViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PHLightsViewController.m; sourceTree = ""; }; + DAEFC9901726CADD0099156F /* PHLightsViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = PHLightsViewController.xib; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -102,7 +210,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - DA453BDB16E8E8DB00AA6DEB /* HueSDK.framework in Frameworks */, + DA52BD04171FE02600ADF704 /* HueSDK.framework in Frameworks */, 4CCACF97165692D4008E9D69 /* UIKit.framework in Frameworks */, 4CCACF99165692D4008E9D69 /* Foundation.framework in Frameworks */, 4CCACF9B165692D4008E9D69 /* CoreGraphics.framework in Frameworks */, @@ -144,15 +252,6 @@ name = "Software update"; sourceTree = ""; }; - 4C4C5E551656B24E006054D9 /* HueSDK */ = { - isa = PBXGroup; - children = ( - DA453BDA16E8E8DB00AA6DEB /* HueSDK.framework */, - ); - name = HueSDK; - path = SDKWizard; - sourceTree = ""; - }; 4C833FA21681F8AE0060A22C /* BridgeConfiguration */ = { isa = PBXGroup; children = ( @@ -169,6 +268,9 @@ 4C833FA81681F9280060A22C /* PHFindLightsStartViewController.h */, 4C833FA91681F9280060A22C /* PHFindLightsStartViewController.m */, 4C833FAA1681F9280060A22C /* PHFindLightsStartViewController.xib */, + 4CE68C5C16CB904B007ACCC9 /* PHFindLightsManualEntryViewController.h */, + 4CE68C5D16CB904B007ACCC9 /* PHFindLightsManualEntryViewController.m */, + 4CE68C5E16CB904B007ACCC9 /* PHFindLightsManualEntryViewController.xib */, 4C833FB11682020D0060A22C /* PHFindLightsResultViewController.h */, 4C833FB21682020D0060A22C /* PHFindLightsResultViewController.m */, 4C833FB31682020D0060A22C /* PHFindLightsResultViewController.xib */, @@ -179,7 +281,6 @@ 4CCACF87165692D4008E9D69 = { isa = PBXGroup; children = ( - 4C4C5E551656B24E006054D9 /* HueSDK */, 4CCACFCA165693F4008E9D69 /* SDKWizard */, 4CCACF9C165692D4008E9D69 /* SampleApp */, 4CCACF95165692D4008E9D69 /* Frameworks */, @@ -198,6 +299,9 @@ 4CCACF95165692D4008E9D69 /* Frameworks */ = { isa = PBXGroup; children = ( + 8775C1F91793CFB600368025 /* JSONKit */, + 8775C1FC1793CFB600368025 /* Lumberjack */, + DA52BD03171FE02600ADF704 /* HueSDK.framework */, 4CCACF96165692D4008E9D69 /* UIKit.framework */, 4CCACF98165692D4008E9D69 /* Foundation.framework */, 4CCACF9A165692D4008E9D69 /* CoreGraphics.framework */, @@ -211,9 +315,11 @@ 4CCACFA5165692D5008E9D69 /* PHAppDelegate.h */, 4CCACFA6165692D5008E9D69 /* PHAppDelegate.m */, 4CCACFB7165693B1008E9D69 /* Lights */, - 4CCACFC2165693B1008E9D69 /* PHViewController.h */, - 4CCACFC3165693B1008E9D69 /* PHViewController.m */, - 4CCACFC4165693B1008E9D69 /* PHViewController.xib */, + DAEFC98A172678BA0099156F /* Groups */, + DAEFC98B172678CD0099156F /* Schedules */, + 4CCACFC2165693B1008E9D69 /* PHMainViewController.h */, + 4CCACFC3165693B1008E9D69 /* PHMainViewController.m */, + 4CCACFC4165693B1008E9D69 /* PHMainViewController.xib */, 4CCACF9D165692D4008E9D69 /* Supporting Files */, ); path = SampleApp; @@ -236,12 +342,10 @@ 4CCACFB7165693B1008E9D69 /* Lights */ = { isa = PBXGroup; children = ( - 4CCACFB8165693B1008E9D69 /* PHLightsViewController.h */, - 4CCACFB9165693B1008E9D69 /* PHLightsViewController.m */, - 4CCACFBA165693B1008E9D69 /* PHLightsViewController.xib */, - 4CCACFBB165693B1008E9D69 /* PHLightViewController.h */, - 4CCACFBC165693B1008E9D69 /* PHLightViewController.m */, - 4CCACFBD165693B1008E9D69 /* PHLightViewController.xib */, + DAB6639A1729622200FC5488 /* Features */, + DAEFC98E1726CADD0099156F /* PHLightsViewController.h */, + DAEFC98F1726CADD0099156F /* PHLightsViewController.m */, + DAEFC9901726CADD0099156F /* PHLightsViewController.xib */, ); path = Lights; sourceTree = ""; @@ -269,10 +373,137 @@ 4CCACFD6165693F4008E9D69 /* press_smartbridge@2x.png */, 4C833FAD1681F9FE0060A22C /* addlights.png */, 4C833FAE1681F9FE0060A22C /* addlights@2x.png */, + 4C8752D216CAA187002A6979 /* addlightmanual.png */, + 4C8752D316CAA187002A6979 /* addlightmanual@2x.png */, ); path = resources; sourceTree = ""; }; + 8775C1F91793CFB600368025 /* JSONKit */ = { + isa = PBXGroup; + children = ( + 8775C1FA1793CFB600368025 /* JSONKit.h */, + 8775C1FB1793CFB600368025 /* JSONKit.m */, + ); + name = JSONKit; + path = ../JSONKit; + sourceTree = ""; + }; + 8775C1FC1793CFB600368025 /* Lumberjack */ = { + isa = PBXGroup; + children = ( + 8775C1FD1793CFB600368025 /* DDAbstractDatabaseLogger.h */, + 8775C1FE1793CFB600368025 /* DDAbstractDatabaseLogger.m */, + 8775C1FF1793CFB600368025 /* DDASLLogger.h */, + 8775C2001793CFB600368025 /* DDASLLogger.m */, + 8775C2011793CFB600368025 /* DDFileLogger.h */, + 8775C2021793CFB600368025 /* DDFileLogger.m */, + 8775C2031793CFB600368025 /* DDLog.h */, + 8775C2041793CFB600368025 /* DDLog.m */, + 8775C2051793CFB600368025 /* DDTTYLogger.h */, + 8775C2061793CFB600368025 /* DDTTYLogger.m */, + 8775C2071793CFB600368025 /* Extensions */, + ); + name = Lumberjack; + path = ../Lumberjack; + sourceTree = ""; + }; + 8775C2071793CFB600368025 /* Extensions */ = { + isa = PBXGroup; + children = ( + 8775C2081793CFB600368025 /* ContextFilterLogFormatter.h */, + 8775C2091793CFB600368025 /* ContextFilterLogFormatter.m */, + 8775C20A1793CFB600368025 /* DispatchQueueLogFormatter.h */, + 8775C20B1793CFB600368025 /* DispatchQueueLogFormatter.m */, + ); + path = Extensions; + sourceTree = ""; + }; + DA8BB8F4173CE48E00D7FCCA /* Features */ = { + isa = PBXGroup; + children = ( + DA8BB8F5173CFB3000D7FCCA /* PHScheduleOverviewViewController.h */, + DA8BB8F6173CFB3000D7FCCA /* PHScheduleOverviewViewController.m */, + DA8BB8F7173CFB3000D7FCCA /* PHScheduleOverviewViewController.xib */, + DA8BB8FA173CFC2700D7FCCA /* PHScheduleAddingViewController.h */, + DA8BB8FB173CFC2700D7FCCA /* PHScheduleAddingViewController.m */, + DA8BB8FC173CFC2700D7FCCA /* PHScheduleAddingViewController.xib */, + DA8BB904173D45D100D7FCCA /* PHScheduleEditingViewController.h */, + DA8BB909173D48BB00D7FCCA /* PHScheduleEditingSelectionViewController.h */, + DA8BB90A173D48BC00D7FCCA /* PHScheduleEditingSelectionViewController.m */, + DA8BB90B173D48BD00D7FCCA /* PHScheduleEditingSelectionViewController.xib */, + DA8BB905173D45D100D7FCCA /* PHScheduleEditingViewController.m */, + DA8BB906173D45D100D7FCCA /* PHScheduleEditingViewController.xib */, + DA8BB8FF173D419600D7FCCA /* PHScheduleDeletingViewController.h */, + DA8BB900173D419600D7FCCA /* PHScheduleDeletingViewController.m */, + DA8BB901173D419600D7FCCA /* PHScheduleDeletingViewController.xib */, + ); + name = Features; + sourceTree = ""; + }; + DAB6639A1729622200FC5488 /* Features */ = { + isa = PBXGroup; + children = ( + DAC46D2417313C7900CB9F1F /* PHLightOverviewViewController.h */, + DAC46D2517313C7900CB9F1F /* PHLightOverviewViewController.m */, + DAC46D2617313C7900CB9F1F /* PHLightOverviewViewController.xib */, + DAC46D1E17313C7900CB9F1F /* PHLightControlSelectionViewController.h */, + DAC46D1F17313C7900CB9F1F /* PHLightControlSelectionViewController.m */, + DAC46D2017313C7900CB9F1F /* PHLightControlSelectionViewController.xib */, + DAC46D2117313C7900CB9F1F /* PHLightControlViewController.h */, + DAC46D2217313C7900CB9F1F /* PHLightControlViewController.m */, + DAC46D2317313C7900CB9F1F /* PHLightControlViewController.xib */, + ); + name = Features; + sourceTree = ""; + }; + DAC46D0E1731033600CB9F1F /* Features */ = { + isa = PBXGroup; + children = ( + DAC46D1917313C6700CB9F1F /* PHGroupOverviewViewController.h */, + DAC46D1A17313C6700CB9F1F /* PHGroupOverviewViewController.m */, + DAC46D1B17313C6700CB9F1F /* PHGroupOverviewViewController.xib */, + DAC46D411731AF5A00CB9F1F /* PHGroupControlSelectionViewController.h */, + DAC46D421731AF5A00CB9F1F /* PHGroupControlSelectionViewController.m */, + DAC46D431731AF5B00CB9F1F /* PHGroupControlSelectionViewController.xib */, + DAC46D3C1731AF3800CB9F1F /* PHGroupControlViewController.h */, + DAC46D3D1731AF3800CB9F1F /* PHGroupControlViewController.m */, + DAC46D3E1731AF3800CB9F1F /* PHGroupControlViewController.xib */, + DAC46D2D1731429A00CB9F1F /* PHGroupAddingViewController.h */, + DAC46D2E1731429A00CB9F1F /* PHGroupAddingViewController.m */, + DAC46D2F1731429A00CB9F1F /* PHGroupAddingViewController.xib */, + DAC46D321731709B00CB9F1F /* PHGroupEditingViewController.h */, + DAC46D331731709B00CB9F1F /* PHGroupEditingViewController.m */, + DAC46D341731709B00CB9F1F /* PHGroupEditingViewController.xib */, + DAC46D371731AF0000CB9F1F /* PHGroupDeletingViewController.h */, + DAC46D381731AF0000CB9F1F /* PHGroupDeletingViewController.m */, + DAC46D391731AF0000CB9F1F /* PHGroupDeletingViewController.xib */, + ); + name = Features; + sourceTree = ""; + }; + DAEFC98A172678BA0099156F /* Groups */ = { + isa = PBXGroup; + children = ( + DAC46D0E1731033600CB9F1F /* Features */, + DAC46D0F1731064E00CB9F1F /* PHGroupsViewController.h */, + DAC46D101731064E00CB9F1F /* PHGroupsViewController.m */, + DAC46D111731064E00CB9F1F /* PHGroupsViewController.xib */, + ); + name = Groups; + sourceTree = ""; + }; + DAEFC98B172678CD0099156F /* Schedules */ = { + isa = PBXGroup; + children = ( + DA8BB8F4173CE48E00D7FCCA /* Features */, + DA8BB8EF173CD6A800D7FCCA /* PHSchedulesViewController.h */, + DA8BB8F0173CD6A800D7FCCA /* PHSchedulesViewController.m */, + DA8BB8F1173CD6A800D7FCCA /* PHSchedulesViewController.xib */, + ); + name = Schedules; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -332,9 +563,7 @@ 4CCACFD8165693F4008E9D69 /* PHBridgeConfigurationViewController.xib in Resources */, 4CCACFDA165693F4008E9D69 /* PHBridgePushLinkViewController.xib in Resources */, 4CCACFDC165693F4008E9D69 /* PHBridgeSelectionViewController.xib in Resources */, - 4C9D45D01656BBA100A5335B /* PHViewController.xib in Resources */, - 4C9D45D21656BBA700A5335B /* PHLightViewController.xib in Resources */, - 4C9D45D31656BBAA00A5335B /* PHLightsViewController.xib in Resources */, + 4C9D45D01656BBA100A5335B /* PHMainViewController.xib in Resources */, 4CCACFDD165693F4008E9D69 /* press_smartbridge.png in Resources */, 4CCACFDE165693F4008E9D69 /* press_smartbridge@2x.png in Resources */, 4C5C6006167F2123004D4966 /* PHConfigurationViewController.xib in Resources */, @@ -343,6 +572,26 @@ 4C833FAF1681F9FE0060A22C /* addlights.png in Resources */, 4C833FB01681F9FE0060A22C /* addlights@2x.png in Resources */, 4C833FB51682020D0060A22C /* PHFindLightsResultViewController.xib in Resources */, + 4C8752D416CAA187002A6979 /* addlightmanual.png in Resources */, + 4C8752D516CAA187002A6979 /* addlightmanual@2x.png in Resources */, + 4CE68C6016CB904B007ACCC9 /* PHFindLightsManualEntryViewController.xib in Resources */, + DAEFC9921726CADD0099156F /* PHLightsViewController.xib in Resources */, + DAC46D131731064E00CB9F1F /* PHGroupsViewController.xib in Resources */, + DAC46D1D17313C6700CB9F1F /* PHGroupOverviewViewController.xib in Resources */, + DAC46D2817313C7900CB9F1F /* PHLightControlSelectionViewController.xib in Resources */, + DAC46D2A17313C7900CB9F1F /* PHLightControlViewController.xib in Resources */, + DAC46D2C17313C7900CB9F1F /* PHLightOverviewViewController.xib in Resources */, + DAC46D311731429A00CB9F1F /* PHGroupAddingViewController.xib in Resources */, + DAC46D361731709B00CB9F1F /* PHGroupEditingViewController.xib in Resources */, + DAC46D3B1731AF0000CB9F1F /* PHGroupDeletingViewController.xib in Resources */, + DAC46D401731AF3800CB9F1F /* PHGroupControlViewController.xib in Resources */, + DAC46D451731AF5B00CB9F1F /* PHGroupControlSelectionViewController.xib in Resources */, + DA8BB8F3173CD6A800D7FCCA /* PHSchedulesViewController.xib in Resources */, + DA8BB8F9173CFB3000D7FCCA /* PHScheduleOverviewViewController.xib in Resources */, + DA8BB8FE173CFC2700D7FCCA /* PHScheduleAddingViewController.xib in Resources */, + DA8BB903173D419600D7FCCA /* PHScheduleDeletingViewController.xib in Resources */, + DA8BB908173D45D200D7FCCA /* PHScheduleEditingViewController.xib in Resources */, + DA8BB90D173D48BD00D7FCCA /* PHScheduleEditingSelectionViewController.xib in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -358,14 +607,38 @@ 4CCACFD7165693F4008E9D69 /* PHBridgeConfigurationViewController.m in Sources */, 4CCACFD9165693F4008E9D69 /* PHBridgePushLinkViewController.m in Sources */, 4CCACFDB165693F4008E9D69 /* PHBridgeSelectionViewController.m in Sources */, - 4C4C5E5B1656B420006054D9 /* PHLightsViewController.m in Sources */, - 4C4C5E5C1656B423006054D9 /* PHLightViewController.m in Sources */, - 4C4C5E5D1656B425006054D9 /* PHViewController.m in Sources */, + 4C4C5E5D1656B425006054D9 /* PHMainViewController.m in Sources */, 4C286C641681D62B00D4D112 /* PHSoftwareUpdateManager.m in Sources */, 4C5C6005167F2123004D4966 /* PHConfigurationViewController.m in Sources */, 4C1C84551681F010003EE085 /* PHLoadingViewController.m in Sources */, 4C833FAB1681F9280060A22C /* PHFindLightsStartViewController.m in Sources */, 4C833FB41682020D0060A22C /* PHFindLightsResultViewController.m in Sources */, + 4CE68C5F16CB904B007ACCC9 /* PHFindLightsManualEntryViewController.m in Sources */, + DAEFC9911726CADD0099156F /* PHLightsViewController.m in Sources */, + DAC46D121731064E00CB9F1F /* PHGroupsViewController.m in Sources */, + DAC46D1C17313C6700CB9F1F /* PHGroupOverviewViewController.m in Sources */, + DAC46D2717313C7900CB9F1F /* PHLightControlSelectionViewController.m in Sources */, + DAC46D2917313C7900CB9F1F /* PHLightControlViewController.m in Sources */, + DAC46D2B17313C7900CB9F1F /* PHLightOverviewViewController.m in Sources */, + DAC46D301731429A00CB9F1F /* PHGroupAddingViewController.m in Sources */, + DAC46D351731709B00CB9F1F /* PHGroupEditingViewController.m in Sources */, + DAC46D3A1731AF0000CB9F1F /* PHGroupDeletingViewController.m in Sources */, + DAC46D3F1731AF3800CB9F1F /* PHGroupControlViewController.m in Sources */, + DAC46D441731AF5B00CB9F1F /* PHGroupControlSelectionViewController.m in Sources */, + DA8BB8F2173CD6A800D7FCCA /* PHSchedulesViewController.m in Sources */, + DA8BB8F8173CFB3000D7FCCA /* PHScheduleOverviewViewController.m in Sources */, + DA8BB8FD173CFC2700D7FCCA /* PHScheduleAddingViewController.m in Sources */, + DA8BB902173D419600D7FCCA /* PHScheduleDeletingViewController.m in Sources */, + DA8BB907173D45D200D7FCCA /* PHScheduleEditingViewController.m in Sources */, + DA8BB90C173D48BD00D7FCCA /* PHScheduleEditingSelectionViewController.m in Sources */, + 8775C20C1793CFB600368025 /* JSONKit.m in Sources */, + 8775C20D1793CFB600368025 /* DDAbstractDatabaseLogger.m in Sources */, + 8775C20E1793CFB600368025 /* DDASLLogger.m in Sources */, + 8775C20F1793CFB600368025 /* DDFileLogger.m in Sources */, + 8775C2101793CFB600368025 /* DDLog.m in Sources */, + 8775C2111793CFB600368025 /* DDTTYLogger.m in Sources */, + 8775C2121793CFB600368025 /* ContextFilterLogFormatter.m in Sources */, + 8775C2131793CFB600368025 /* DispatchQueueLogFormatter.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -392,6 +665,8 @@ CLANG_ENABLE_OBJC_ARC = YES; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_ENTITLEMENTS[sdk=*]" = ""; + CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; COPY_PHASE_STRIP = NO; GCC_C_LANGUAGE_STANDARD = gnu99; @@ -407,6 +682,8 @@ GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 6.0; ONLY_ACTIVE_ARCH = YES; + PROVISIONING_PROFILE = ""; + "PROVISIONING_PROFILE[sdk=iphoneos*]" = ""; SDKROOT = iphoneos; }; name = Debug; @@ -420,6 +697,7 @@ CLANG_ENABLE_OBJC_ARC = YES; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; COPY_PHASE_STRIP = YES; GCC_C_LANGUAGE_STANDARD = gnu99; @@ -428,6 +706,8 @@ GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 6.0; OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; + PROVISIONING_PROFILE = ""; + "PROVISIONING_PROFILE[sdk=iphoneos*]" = ""; SDKROOT = iphoneos; VALIDATE_PRODUCT = YES; }; @@ -436,7 +716,8 @@ 4CCACFB1165692D5008E9D69 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "\"$(SRCROOT)/..\"", @@ -447,6 +728,8 @@ INFOPLIST_FILE = "SampleApp/SampleApp-Info.plist"; IPHONEOS_DEPLOYMENT_TARGET = 6.0; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE = ""; + "PROVISIONING_PROFILE[sdk=iphoneos*]" = ""; TARGETED_DEVICE_FAMILY = "1,2"; WRAPPER_EXTENSION = app; }; @@ -455,7 +738,8 @@ 4CCACFB2165692D5008E9D69 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "\"$(SRCROOT)/..\"", @@ -466,6 +750,8 @@ INFOPLIST_FILE = "SampleApp/SampleApp-Info.plist"; IPHONEOS_DEPLOYMENT_TARGET = 6.0; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE = ""; + "PROVISIONING_PROFILE[sdk=iphoneos*]" = ""; TARGETED_DEVICE_FAMILY = "1,2"; WRAPPER_EXTENSION = app; }; diff --git a/SampleApp/SampleApp.xcodeproj/project.xcworkspace/xcuserdata/310049919.xcuserdatad/UserInterfaceState.xcuserstate b/SampleApp/SampleApp.xcodeproj/project.xcworkspace/xcuserdata/310049919.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..74cba18150bca3915b306ac824c4749c5de8d423 GIT binary patch literal 45069 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 literal 0 HcmV?d00001 diff --git a/SampleApp/SampleApp.xcodeproj/project.xcworkspace/xcuserdata/kevin.xcuserdatad/UserInterfaceState.xcuserstate b/SampleApp/SampleApp.xcodeproj/project.xcworkspace/xcuserdata/kevin.xcuserdatad/UserInterfaceState.xcuserstate deleted file mode 100644 index 3dd9491dbdd87c8deeecf225e13e609cba911f58..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13001 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 + + + + + + + + + + diff --git a/SampleApp/SampleApp.xcodeproj/xcuserdata/kevin.xcuserdatad/xcschemes/SampleApp.xcscheme b/SampleApp/SampleApp.xcodeproj/xcuserdata/310049919.xcuserdatad/xcschemes/SampleApp.xcscheme similarity index 100% rename from SampleApp/SampleApp.xcodeproj/xcuserdata/kevin.xcuserdatad/xcschemes/SampleApp.xcscheme rename to SampleApp/SampleApp.xcodeproj/xcuserdata/310049919.xcuserdatad/xcschemes/SampleApp.xcscheme diff --git a/SampleApp/SampleApp.xcodeproj/xcuserdata/kevin.xcuserdatad/xcschemes/xcschememanagement.plist b/SampleApp/SampleApp.xcodeproj/xcuserdata/310049919.xcuserdatad/xcschemes/xcschememanagement.plist similarity index 100% rename from SampleApp/SampleApp.xcodeproj/xcuserdata/kevin.xcuserdatad/xcschemes/xcschememanagement.plist rename to SampleApp/SampleApp.xcodeproj/xcuserdata/310049919.xcuserdatad/xcschemes/xcschememanagement.plist diff --git a/SampleApp/SampleApp/Groups/Features/PHGroupAddingViewController.h b/SampleApp/SampleApp/Groups/Features/PHGroupAddingViewController.h new file mode 100644 index 0000000..c22d5f9 --- /dev/null +++ b/SampleApp/SampleApp/Groups/Features/PHGroupAddingViewController.h @@ -0,0 +1,12 @@ +/******************************************************************************* + Copyright (c) 2013 Koninklijke Philips N.V. + All Rights Reserved. + ********************************************************************************/ + +#import + +@interface PHGroupAddingViewController : UIViewController + +@property (weak, nonatomic) IBOutlet UITextField *nameTextField; + +@end diff --git a/SampleApp/SampleApp/Groups/Features/PHGroupAddingViewController.m b/SampleApp/SampleApp/Groups/Features/PHGroupAddingViewController.m new file mode 100644 index 0000000..e85e2de --- /dev/null +++ b/SampleApp/SampleApp/Groups/Features/PHGroupAddingViewController.m @@ -0,0 +1,66 @@ +/******************************************************************************* + Copyright (c) 2013 Koninklijke Philips N.V. + All Rights Reserved. + ********************************************************************************/ + +#import "PHAppDelegate.h" +#import "PHGroupAddingViewController.h" + +#import + +@interface PHGroupAddingViewController () + +@end + +@implementation PHGroupAddingViewController + +- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { + self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; + if (self) { + // Custom initialization + } + return self; +} + +- (void)viewDidLoad { + [super viewDidLoad]; + + self.title = NSLocalizedString(@"Add group", @""); +} + +- (void)didReceiveMemoryWarning { + [super didReceiveMemoryWarning]; +} + +- (IBAction)createButton:(id)sender { + id bridgeSendAPI = [[[PHOverallFactory alloc] init] bridgeSendAPI]; + + PHBridgeResourcesCache *cache = [PHBridgeResourcesReader readBridgeResourcesCache]; + + // Create the group + [bridgeSendAPI createGroupWithName:self.nameTextField.text lightIds:[cache.lights allKeys] completionHandler:^(NSString *groupIdentifier, NSArray *errors) { + if (UIAppDelegate.showResponses || errors != nil) { + NSString *message = [NSString stringWithFormat:@"%@: %@\n%@: %@", + NSLocalizedString(@"Group identifier", @""), groupIdentifier != nil ? groupIdentifier : @"", + NSLocalizedString(@"Errors", @""), errors != nil ? errors : NSLocalizedString(@"none", @"")]; + + UIAlertView *errorAlert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Response", @"") + message:message + delegate:nil + cancelButtonTitle:nil + otherButtonTitles:NSLocalizedString(@"Ok", @""), nil]; + [errorAlert show]; + } + }]; +} + +#pragma mark - Text field delegate + +- (BOOL)textFieldShouldReturn:(UITextField *)textField { + // Close keyboard after editing a text field + [textField resignFirstResponder]; + return YES; +} + + +@end diff --git a/SampleApp/SampleApp/Groups/Features/PHGroupAddingViewController.xib b/SampleApp/SampleApp/Groups/Features/PHGroupAddingViewController.xib new file mode 100644 index 0000000..1206242 --- /dev/null +++ b/SampleApp/SampleApp/Groups/Features/PHGroupAddingViewController.xib @@ -0,0 +1,597 @@ + + + + 1552 + 12D78 + 3084 + 1187.37 + 626.00 + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + 2083 + + + IBNSLayoutConstraint + IBProxyObject + IBUIButton + IBUILabel + IBUITextField + IBUIView + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + PluginDependencyRecalculationVersion + + + + + IBFilesOwner + IBCocoaTouchFramework + + + IBFirstResponder + IBCocoaTouchFramework + + + + 274 + + + + 292 + {{20, 64}, {280, 44}} + + + _NS:9 + NO + IBCocoaTouchFramework + 0 + 0 + 1 + Add + + 3 + MQA + + + 1 + MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA + + + 3 + MC41AA + + + 2 + 15 + + + Helvetica-Bold + 15 + 16 + + + + + 292 + {{149, 20}, {151, 30}} + + + _NS:9 + NO + YES + IBCocoaTouchFramework + 0 + + 3 + + 3 + MAA + + 2 + + + YES + 17 + + IBCocoaTouchFramework + + + 1 + 14 + + + Helvetica + 14 + 16 + + + + + 292 + {{20, 24}, {46, 21}} + + + _NS:9 + NO + YES + 7 + NO + IBCocoaTouchFramework + Name + + 1 + MCAwIDAAA + darkTextColor + + + 0 + + 1 + 17 + + + Helvetica + 17 + 16 + + NO + + + + 292 + {{20, 109}, {280, 49}} + + _NS:9 + NO + YES + 7 + NO + IBCocoaTouchFramework + Note: for this sample app, all the lights available in the bridge will be part of the group + + + 0 + 2 + + Helvetica + Helvetica + 0 + 13 + + + Helvetica + 13 + 16 + + NO + 280 + + + {{0, 20}, {320, 548}} + + + + 3 + MQA + + + + + IBUIScreenMetrics + + YES + + + + + + {320, 568} + {568, 320} + + + IBCocoaTouchFramework + Retina 4 Full Screen + 2 + + IBCocoaTouchFramework + + + + + + + view + + + + 3 + + + + nameTextField + + + + 34 + + + + createButton: + + + 7 + + 36 + + + + + + 0 + + + + + + 1 + + + + + 3 + 0 + + 3 + 1 + + 20 + + 1000 + + 8 + 29 + 3 + + + + 6 + 0 + + 6 + 1 + + 20 + + 1000 + + 8 + 29 + 3 + + + + 6 + 0 + + 6 + 1 + + 20 + + 1000 + + 8 + 29 + 3 + + + + 3 + 0 + + 3 + 1 + + 109 + + 1000 + + 3 + 9 + 3 + + + + 5 + 0 + + 5 + 1 + + 20 + + 1000 + + 8 + 29 + 3 + + + + 3 + 0 + + 3 + 1 + + 64 + + 1000 + + 3 + 9 + 3 + + + + 6 + 0 + + 6 + 1 + + 20 + + 1000 + + 8 + 29 + 3 + + + + 5 + 0 + + 5 + 1 + + 20 + + 1000 + + 8 + 29 + 3 + + + + 3 + 0 + + 3 + 1 + + 24 + + 1000 + + 3 + 9 + 3 + + + + 5 + 0 + + 5 + 1 + + 20 + + 1000 + + 8 + 29 + 3 + + + + + + + + + + -1 + + + File's Owner + + + -2 + + + + + 4 + + + + + 5 + + + + + 7 + + + + + 8 + + + + + 7 + 0 + + 0 + 1 + + 151 + + 1000 + + 3 + 9 + 1 + + + + + + 12 + + + + + 13 + + + + + 14 + + + + + 20 + + + + + 21 + + + + + 22 + + + + + 23 + + + + + 24 + + + + + 8 + 0 + + 0 + 1 + + 49 + + 1000 + + 3 + 9 + 1 + + + + + + 27 + + + + + 28 + + + + + 31 + + + + + 32 + + + + + + + PHGroupAddingViewController + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UIResponder + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + + + + + + + + + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + + + + + + + + 36 + + + 0 + IBCocoaTouchFramework + YES + 3 + YES + 2083 + + diff --git a/SampleApp/SampleApp/Groups/Features/PHGroupControlSelectionViewController.h b/SampleApp/SampleApp/Groups/Features/PHGroupControlSelectionViewController.h new file mode 100644 index 0000000..ee0c5a9 --- /dev/null +++ b/SampleApp/SampleApp/Groups/Features/PHGroupControlSelectionViewController.h @@ -0,0 +1,10 @@ +/******************************************************************************* + Copyright (c) 2013 Koninklijke Philips N.V. + All Rights Reserved. + ********************************************************************************/ + +#import + +@interface PHGroupControlSelectionViewController : UITableViewController + +@end diff --git a/SampleApp/SampleApp/Groups/Features/PHGroupControlSelectionViewController.m b/SampleApp/SampleApp/Groups/Features/PHGroupControlSelectionViewController.m new file mode 100644 index 0000000..72a0842 --- /dev/null +++ b/SampleApp/SampleApp/Groups/Features/PHGroupControlSelectionViewController.m @@ -0,0 +1,91 @@ +/******************************************************************************* + Copyright (c) 2013 Koninklijke Philips N.V. + All Rights Reserved. + ********************************************************************************/ + +#import "PHGroupControlSelectionViewController.h" +#import "PHGroupControlViewController.h" + +#import + +@interface PHGroupControlSelectionViewController () + +@property (strong, nonatomic) NSArray *groups; + +@end + +@implementation PHGroupControlSelectionViewController + +@synthesize groups = _groups; + +- (id)initWithStyle:(UITableViewStyle)style { + self = [super initWithStyle:style]; + if (self) { + [self updateGroups]; + } + return self; +} + +- (void)dealloc { + [[PHNotificationManager defaultManager] deregisterObjectForAllNotifications:self]; +} + +- (void)viewDidLoad { + [super viewDidLoad]; + + self.title = NSLocalizedString(@"Group selection", @""); + + self.clearsSelectionOnViewWillAppear = YES; + + [[PHNotificationManager defaultManager] registerObject:self withSelector:@selector(updateGroups) forNotification:GROUPS_CACHE_UPDATED_NOTIFICATION]; +} + +- (void)didReceiveMemoryWarning { + [super didReceiveMemoryWarning]; +} + +#pragma mark - Table view data source + +- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { + return 1; +} + +- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { + return self.groups.count; +} + +- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { + UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:nil]; + cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; + + PHGroup *group = [self.groups objectAtIndex:indexPath.row]; + + // Show group name and identifier + cell.textLabel.text = group.name; + cell.detailTextLabel.text = group.identifier; + + return cell; +} + +#pragma mark - Table view delegate + +- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { + PHGroup *group = [self.groups objectAtIndex:indexPath.row]; + + PHGroupControlViewController *groupControlViewController = [[PHGroupControlViewController alloc] initWithNibName:@"PHGroupControlViewController" bundle:nil andGroup:group]; + [self.navigationController pushViewController:groupControlViewController animated:YES]; +} + +#pragma mark - Notification receivers + +- (void)updateGroups { + PHBridgeResourcesCache *cache = [PHBridgeResourcesReader readBridgeResourcesCache]; + + self.groups = [cache.groups.allValues sortedArrayUsingComparator:^NSComparisonResult(PHGroup *group1, PHGroup *group2) { + return [group1.identifier compare:group2.identifier options:NSNumericSearch]; + }]; + + [self.tableView reloadData]; +} + +@end diff --git a/SampleApp/SampleApp/Groups/Features/PHGroupControlSelectionViewController.xib b/SampleApp/SampleApp/Groups/Features/PHGroupControlSelectionViewController.xib new file mode 100644 index 0000000..3f287e9 --- /dev/null +++ b/SampleApp/SampleApp/Groups/Features/PHGroupControlSelectionViewController.xib @@ -0,0 +1,161 @@ + + + + 1552 + 12D78 + 3084 + 1187.37 + 626.00 + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + 2083 + + + IBProxyObject + IBUITableView + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + PluginDependencyRecalculationVersion + + + + + IBFilesOwner + IBCocoaTouchFramework + + + IBFirstResponder + IBCocoaTouchFramework + + + + 274 + {{0, 20}, {320, 548}} + + + + 1 + MCAwIDAgMAA + groupTableViewBackgroundColor + + NO + YES + NO + + + IBUIScreenMetrics + + YES + + + + + + {320, 568} + {568, 320} + + + IBCocoaTouchFramework + Retina 4 Full Screen + 2 + + IBCocoaTouchFramework + NO + 1 + 1 + 0 + YES + 44 + 10 + 10 + + + + + + + view + + + + 5 + + + + dataSource + + + + 6 + + + + delegate + + + + 7 + + + + + + 0 + + + + + + -1 + + + File's Owner + + + -2 + + + + + 4 + + + + + + + PHGroupControlSelectionViewController + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UIResponder + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + + + + 7 + + + + + PHGroupControlSelectionViewController + UITableViewController + + IBProjectSource + ./Classes/PHGroupControlSelectionViewController.h + + + + + 0 + IBCocoaTouchFramework + YES + 3 + YES + 2083 + + diff --git a/SampleApp/SampleApp/Groups/Features/PHGroupControlViewController.h b/SampleApp/SampleApp/Groups/Features/PHGroupControlViewController.h new file mode 100644 index 0000000..2ae6930 --- /dev/null +++ b/SampleApp/SampleApp/Groups/Features/PHGroupControlViewController.h @@ -0,0 +1,14 @@ +/******************************************************************************* + Copyright (c) 2013 Koninklijke Philips N.V. + All Rights Reserved. + ********************************************************************************/ + +#import + +#import "PHLightControlViewController.h" + +@interface PHGroupControlViewController : PHLightControlViewController + +- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil andGroup:(PHGroup *)group; + +@end diff --git a/SampleApp/SampleApp/Groups/Features/PHGroupControlViewController.m b/SampleApp/SampleApp/Groups/Features/PHGroupControlViewController.m new file mode 100644 index 0000000..c50a660 --- /dev/null +++ b/SampleApp/SampleApp/Groups/Features/PHGroupControlViewController.m @@ -0,0 +1,58 @@ +/******************************************************************************* + Copyright (c) 2013 Koninklijke Philips N.V. + All Rights Reserved. + ********************************************************************************/ + +#import "PHAppDelegate.h" +#import "PHGroupControlViewController.h" + +@interface PHGroupControlViewController () + +@property (strong, nonatomic) PHGroup *group; + +@end + +@implementation PHGroupControlViewController + +@synthesize group = _group; + +- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil andGroup:(PHGroup *)group { + self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; + if (self) { + self.group = group; + } + return self; +} + +- (void)viewDidLoad { + [super viewDidLoad]; + + self.title = self.group.name; +} + +- (void)didReceiveMemoryWarning { + [super didReceiveMemoryWarning]; +} + +- (IBAction)sendButton:(id)sender { + // Create a lightstate based on selected options + PHLightState *lightState = [super createLightState]; + + id bridgeSendAPI = [[[PHOverallFactory alloc] init] bridgeSendAPI]; + + // Update the light state of the group + [bridgeSendAPI setLightStateForGroupWithId:self.group.identifier lightState:lightState completionHandler:^(NSArray *errors) { + if (UIAppDelegate.showResponses || errors != nil) { + NSString *message = [NSString stringWithFormat:@"%@: %@", NSLocalizedString(@"Errors", @""), errors != nil ? errors : NSLocalizedString(@"none", @"")]; + + UIAlertView *errorAlert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Response", @"") + message:message + delegate:nil + cancelButtonTitle:nil + otherButtonTitles:NSLocalizedString(@"Ok", @""), nil]; + [errorAlert show]; + } + }]; +} + +@end diff --git a/SampleApp/SampleApp/Groups/Features/PHGroupControlViewController.xib b/SampleApp/SampleApp/Groups/Features/PHGroupControlViewController.xib new file mode 100644 index 0000000..549109e --- /dev/null +++ b/SampleApp/SampleApp/Groups/Features/PHGroupControlViewController.xib @@ -0,0 +1,2112 @@ + + + + 1552 + 12D78 + 3084 + 1187.37 + 626.00 + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + 2083 + + + IBProxyObject + IBUIButton + IBUILabel + IBUIScrollView + IBUISegmentedControl + IBUISlider + IBUISwitch + IBUITextField + IBUIView + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + PluginDependencyRecalculationVersion + + + + + IBFilesOwner + IBCocoaTouchFramework + + + IBFirstResponder + IBCocoaTouchFramework + + + + 274 + + + + 274 + + + + 301 + + + + 292 + {{17, 75}, {32, 21}} + + + + _NS:9 + NO + YES + 7 + NO + IBCocoaTouchFramework + Hue + + 1 + MCAwIDAAA + darkTextColor + + + 0 + + 1 + 17 + + + Helvetica + 17 + 16 + + NO + + + + 292 + {{71, 7}, {63, 21}} + + + + _NS:9 + NO + YES + 7 + NO + IBCocoaTouchFramework + Enabled + + + 0 + + + NO + + + + 292 + {{161, 7}, {44, 21}} + + + + _NS:9 + NO + YES + 7 + NO + IBCocoaTouchFramework + Value + + + 0 + + + NO + + + + 292 + {{56, 72}, {94, 27}} + + + + _NS:9 + NO + IBCocoaTouchFramework + 0 + 0 + + + + 292 + {{17, 39}, {23, 21}} + + + + _NS:9 + NO + YES + 7 + NO + IBCocoaTouchFramework + On + + + 0 + + + NO + + + + 292 + {{56, 36}, {94, 27}} + + + + _NS:9 + NO + IBCocoaTouchFramework + 0 + 0 + + + + 292 + {{146, 36}, {94, 27}} + + + + _NS:9 + NO + IBCocoaTouchFramework + 0 + 0 + + + + 292 + {{17, 111}, {26, 21}} + + + + _NS:9 + NO + YES + 7 + NO + IBCocoaTouchFramework + Sat + + + 0 + + + NO + + + + 292 + {{56, 109}, {94, 27}} + + + + _NS:9 + NO + IBCocoaTouchFramework + 0 + 0 + + + + 292 + {{17, 151}, {21, 21}} + + + + _NS:9 + NO + YES + 7 + NO + IBCocoaTouchFramework + Bri + + + 0 + + + NO + + + + 292 + {{56, 148}, {94, 27}} + + + + _NS:9 + NO + IBCocoaTouchFramework + 0 + 0 + + + + 292 + {{17, 323}, {44, 21}} + + + + _NS:9 + NO + YES + 7 + NO + IBCocoaTouchFramework + Effect + + + 0 + + + NO + + + + 292 + {{56, 320}, {94, 27}} + + + + _NS:9 + NO + IBCocoaTouchFramework + 0 + 0 + + + + 292 + {{18, 359}, {35, 21}} + + + + _NS:9 + NO + YES + 7 + NO + IBCocoaTouchFramework + Alert + + + 0 + + + NO + + + + 292 + {{57, 357}, {94, 27}} + + + + _NS:9 + NO + IBCocoaTouchFramework + 0 + 0 + + + + 292 + {{17, 187}, {12, 21}} + + + + _NS:9 + NO + YES + 7 + NO + IBCocoaTouchFramework + X + + + 0 + + + NO + + + + 292 + {{56, 202}, {94, 27}} + + + + _NS:9 + NO + IBCocoaTouchFramework + 0 + 0 + + + + 292 + {{17, 222}, {12, 21}} + + + + _NS:9 + NO + YES + 7 + NO + IBCocoaTouchFramework + Y + + + 0 + + + NO + + + + 292 + {{159, 75}, {89, 23}} + + + + _NS:9 + NO + IBCocoaTouchFramework + 0 + 0 + 65535 + + + + 292 + {{159, 113}, {89, 23}} + + + + _NS:9 + NO + IBCocoaTouchFramework + 0 + 0 + 254 + + + + 292 + {{159, 151}, {89, 23}} + + + + _NS:9 + NO + IBCocoaTouchFramework + 0 + 0 + 254 + + + + 292 + {{18, 394}, {48, 21}} + + + + _NS:9 + NO + YES + 7 + NO + IBCocoaTouchFramework + T.time + + + 0 + + + NO + + + + 292 + {{57, 394}, {94, 27}} + + + + _NS:9 + NO + IBCocoaTouchFramework + 0 + 0 + + + + 292 + {{159, 189}, {89, 23}} + + + + _NS:9 + NO + IBCocoaTouchFramework + 0 + 0 + + + + 292 + {{159, 222}, {89, 23}} + + + + _NS:9 + NO + IBCocoaTouchFramework + 0 + 0 + + + + 292 + {{258, 394}, {45, 30}} + + + _NS:9 + NO + YES + IBCocoaTouchFramework + 0 + 4 + 3 + + 3 + MAA + + 2 + + + YES + 17 + + IBCocoaTouchFramework + + + 1 + 10 + + + Helvetica + 10 + 16 + + + + + 292 + {{161, 320}, {141, 30}} + + + + _NS:9 + NO + IBCocoaTouchFramework + 2 + 2 + 0 + + none + colorloop + + + + + + + + + + + {0, 0} + {0, 0} + + + + + + + + + 292 + {{162, 357}, {141, 30}} + + + + _NS:9 + NO + IBCocoaTouchFramework + 2 + 3 + 0 + + none + select + lselect + + + + + + + + + + + + + {0, 0} + {0, 0} + {0, 0} + + + + + + + + + + 292 + {{31, 263}, {43, 31}} + + + + _NS:9 + NO + IBCocoaTouchFramework + 0 + 0 + + 3 + MQA + + + 1 + MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA + + + 3 + MC41AA + + + 2 + 15 + + + Helvetica-Bold + 15 + 16 + + + + + 292 + {{74, 263}, {43, 31}} + + + + _NS:9 + NO + IBCocoaTouchFramework + 0 + 0 + + + 1 + MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA + + + + + + + + 292 + {{117, 263}, {43, 31}} + + + + _NS:9 + NO + IBCocoaTouchFramework + 0 + 0 + + + 1 + MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA + + + + + + + + 292 + {{160, 263}, {43, 31}} + + + + _NS:9 + NO + IBCocoaTouchFramework + 0 + 0 + + + 1 + MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA + + + + + + + + 292 + {{203, 263}, {43, 31}} + + + + _NS:9 + NO + IBCocoaTouchFramework + 0 + 0 + + + 1 + MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA + + + + + + + + 292 + {{246, 263}, {43, 31}} + + + + _NS:9 + NO + IBCocoaTouchFramework + 0 + 0 + + + 1 + MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA + + + + + + + + 292 + {{17, 443}, {286, 44}} + + + _NS:9 + NO + IBCocoaTouchFramework + 0 + 0 + 1 + Send + + + 1 + MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA + + + + + + + + 292 + {{160, 397}, {92, 23}} + + + + _NS:9 + NO + IBCocoaTouchFramework + 0 + 0 + 4 + 65535 + + + + 292 + {{253, 71}, {49, 30}} + + + + _NS:9 + NO + YES + IBCocoaTouchFramework + 0 + 0 + 3 + + 3 + MAA + + + YES + 17 + + IBCocoaTouchFramework + + + + + + + 292 + {{253, 109}, {49, 30}} + + + + _NS:9 + NO + YES + IBCocoaTouchFramework + 0 + 0 + 3 + + 3 + MAA + + + YES + 17 + + IBCocoaTouchFramework + + + + + + + 292 + {{253, 147}, {49, 30}} + + + + _NS:9 + NO + YES + IBCocoaTouchFramework + 0 + 0 + 3 + + 3 + MAA + + + YES + 17 + + IBCocoaTouchFramework + + + + + + + 292 + {{253, 185}, {49, 30}} + + + + _NS:9 + NO + YES + IBCocoaTouchFramework + 0 + 0 + 3 + + 3 + MAA + + + YES + 17 + + IBCocoaTouchFramework + + + + + + + 292 + {{253, 218}, {49, 30}} + + + + _NS:9 + NO + YES + IBCocoaTouchFramework + 0 + 0 + 3 + + 3 + MAA + + + YES + 17 + + IBCocoaTouchFramework + + + + + + {320, 506} + + + + + 3 + MQA + + + + + NO + + + IBUIScreenMetrics + + YES + + + + + + {320, 480} + {480, 320} + + + IBCocoaTouchFramework + Retina 3.5 Full Screen + 0 + + IBCocoaTouchFramework + + + {320, 506} + + + + _NS:9 + NO + YES + YES + IBCocoaTouchFramework + + + {{0, 64}, {320, 506}} + + + + + 3 + MQA + + + + + NO + + + IBUISimulatedFreeformSizeMetricsSentinel + Freeform + + IBCocoaTouchFramework + + + + + + + view + + + + 3 + + + + sendOn + + + + 216 + + + + sendHue + + + + 217 + + + + sendSat + + + + 218 + + + + sendBri + + + + 219 + + + + sendXY + + + + 220 + + + + sendEffect + + + + 221 + + + + sendAlert + + + + 222 + + + + sendTransitionTime + + + + 223 + + + + valueOn + + + + 224 + + + + valueEffect + + + + 231 + + + + valueAlert + + + + 232 + + + + redButton + + + + 235 + + + + blueButton + + + + 236 + + + + greenButton + + + + 237 + + + + yellowButton + + + + 238 + + + + violetButton + + + + 239 + + + + orangeButton + + + + 240 + + + + scrollContentView + + + + 242 + + + + sendButton + + + + 249 + + + + scrollView + + + + 264 + + + + valueHueSlider + + + + 270 + + + + valueSatSlider + + + + 271 + + + + valueBriSlider + + + + 272 + + + + valueXSlider + + + + 273 + + + + valueYSlider + + + + 274 + + + + valueHueTextField + + + + 275 + + + + valueSatTextField + + + + 276 + + + + valueBriTextField + + + + 277 + + + + valueXTextField + + + + 278 + + + + valueYTextField + + + + 279 + + + + valueTransitionTimeSlider + + + + 282 + + + + valueTransitionTimeTextField + + + + 283 + + + + orangeButton: + + + 7 + + 212 + + + + violetButton: + + + 7 + + 210 + + + + yellowButton: + + + 7 + + 211 + + + + greenButton: + + + 7 + + 214 + + + + blueButton: + + + 7 + + 213 + + + + redButton: + + + 7 + + 234 + + + + transitionTimeSliderValueChanged: + + + 13 + + 296 + + + + ySliderValueChanged: + + + 13 + + 290 + + + + xSliderValueChanged: + + + 13 + + 289 + + + + briSliderValueChanged: + + + 13 + + 288 + + + + satSliderValueChanged: + + + 13 + + 287 + + + + hueSliderValueChanged: + + + 13 + + 284 + + + + sendButton: + + + 7 + + 252 + + + + delegate + + + + 300 + + + + hueTextFieldValueChanged: + + + 19 + + 309 + + + + delegate + + + + 301 + + + + satTextFieldValueChanged: + + + 19 + + 310 + + + + delegate + + + + 302 + + + + briTextFieldValueChanged: + + + 19 + + 311 + + + + delegate + + + + 303 + + + + xTextFieldValueChanged: + + + 19 + + 307 + + + + delegate + + + + 304 + + + + yTextFieldValueChanged: + + + 19 + + 308 + + + + delegate + + + + 305 + + + + transitionTimeTextFieldValueChanged: + + + 19 + + 312 + + + + + + 0 + + + + + + 1 + + + + + + + + -1 + + + File's Owner + + + -2 + + + + + 171 + + + + + + + + 172 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 176 + + + + + 177 + + + + + 178 + + + + + 179 + + + + + 180 + + + + + 181 + + + + + 183 + + + + + 184 + + + + + 185 + + + + + 186 + + + + + 187 + + + + + 188 + + + + + 189 + + + + + 190 + + + + + 191 + + + + + 192 + + + + + 193 + + + + + 194 + + + + + 195 + + + + + 196 + + + + + 197 + + + + + 198 + + + + + 199 + + + + + 200 + + + + + 201 + + + + + 202 + + + + + 203 + + + + + 204 + + + + + 205 + + + + + 206 + + + + + 207 + + + + + 208 + + + + + 244 + + + + + 209 + + + + + 182 + + + + + 253 + + + + + 254 + + + + + 256 + + + + + 257 + + + + + 258 + + + + + 259 + + + + + + + PHGroupControlViewController + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UIResponder + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + + + + 315 + + + + + PHGroupControlViewController + PHLightControlViewController + + sendButton: + id + + + sendButton: + + sendButton: + id + + + + IBProjectSource + ./Classes/PHGroupControlViewController.h + + + + PHLightControlViewController + UIViewController + + id + id + id + id + id + id + id + id + id + id + id + id + id + id + id + id + id + id + id + id + + + + blueButton: + id + + + briSliderValueChanged: + id + + + briTextFieldValueChanged: + id + + + greenButton: + id + + + hueSliderValueChanged: + id + + + hueTextFieldValueChanged: + id + + + orangeButton: + id + + + readButton: + id + + + redButton: + id + + + satSliderValueChanged: + id + + + satTextFieldValueChanged: + id + + + sendButton: + id + + + transitionTimeSliderValueChanged: + id + + + transitionTimeTextFieldValueChanged: + id + + + violetButton: + id + + + xSliderValueChanged: + id + + + xTextFieldValueChanged: + id + + + ySliderValueChanged: + id + + + yTextFieldValueChanged: + id + + + yellowButton: + id + + + + UIButton + UISwitch + UIButton + UIButton + UIButton + UIButton + UIView + UIScrollView + UISwitch + UISwitch + UIButton + UISwitch + UISwitch + UISwitch + UISwitch + UISwitch + UISwitch + UISegmentedControl + UISlider + UITextField + UISegmentedControl + UISlider + UITextField + UISwitch + UISlider + UITextField + UISlider + UITextField + UISlider + UITextField + UISlider + UITextField + UIButton + UIButton + + + + blueButton + UIButton + + + correctionSwitch + UISwitch + + + greenButton + UIButton + + + orangeButton + UIButton + + + readButton + UIButton + + + redButton + UIButton + + + scrollContentView + UIView + + + scrollView + UIScrollView + + + sendAlert + UISwitch + + + sendBri + UISwitch + + + sendButton + UIButton + + + sendEffect + UISwitch + + + sendHue + UISwitch + + + sendOn + UISwitch + + + sendSat + UISwitch + + + sendTransitionTime + UISwitch + + + sendXY + UISwitch + + + valueAlert + UISegmentedControl + + + valueBriSlider + UISlider + + + valueBriTextField + UITextField + + + valueEffect + UISegmentedControl + + + valueHueSlider + UISlider + + + valueHueTextField + UITextField + + + valueOn + UISwitch + + + valueSatSlider + UISlider + + + valueSatTextField + UITextField + + + valueTransitionTimeSlider + UISlider + + + valueTransitionTimeTextField + UITextField + + + valueXSlider + UISlider + + + valueXTextField + UITextField + + + valueYSlider + UISlider + + + valueYTextField + UITextField + + + violetButton + UIButton + + + yellowButton + UIButton + + + + IBProjectSource + ./Classes/PHLightControlViewController.h + + + + + 0 + IBCocoaTouchFramework + YES + 3 + 2083 + + diff --git a/SampleApp/SampleApp/Groups/Features/PHGroupDeletingViewController.h b/SampleApp/SampleApp/Groups/Features/PHGroupDeletingViewController.h new file mode 100644 index 0000000..7b94e6b --- /dev/null +++ b/SampleApp/SampleApp/Groups/Features/PHGroupDeletingViewController.h @@ -0,0 +1,10 @@ +/******************************************************************************* + Copyright (c) 2013 Koninklijke Philips N.V. + All Rights Reserved. + ********************************************************************************/ + +#import + +@interface PHGroupDeletingViewController : UITableViewController + +@end diff --git a/SampleApp/SampleApp/Groups/Features/PHGroupDeletingViewController.m b/SampleApp/SampleApp/Groups/Features/PHGroupDeletingViewController.m new file mode 100644 index 0000000..49c373f --- /dev/null +++ b/SampleApp/SampleApp/Groups/Features/PHGroupDeletingViewController.m @@ -0,0 +1,108 @@ +/******************************************************************************* + Copyright (c) 2013 Koninklijke Philips N.V. + All Rights Reserved. + ********************************************************************************/ + +#import "PHAppDelegate.h" +#import "PHGroupDeletingViewController.h" + +#include + +@interface PHGroupDeletingViewController () + +@property (strong, nonatomic) NSArray *groups; + +@end + +@implementation PHGroupDeletingViewController + +@synthesize groups = _groups; + +- (id)initWithStyle:(UITableViewStyle)style { + self = [super initWithStyle:style]; + if (self) { + [self updateGroups]; + } + return self; +} + +- (void)dealloc { + [[PHNotificationManager defaultManager] deregisterObjectForAllNotifications:self]; +} + +- (void)viewDidLoad { + [super viewDidLoad]; + + self.title = NSLocalizedString(@"Delete group", @""); + + self.clearsSelectionOnViewWillAppear = NO; + + // Set the tableview in editing mode + self.tableView.editing = YES; + + [[PHNotificationManager defaultManager] registerObject:self withSelector:@selector(updateGroups) forNotification:GROUPS_CACHE_UPDATED_NOTIFICATION]; +} + +- (void)didReceiveMemoryWarning { + [super didReceiveMemoryWarning]; +} + +#pragma mark - Table view data source + +- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { + return 1; +} + +- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { + return self.groups.count; +} + +- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { + UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:nil]; + cell.selectionStyle = UITableViewCellSelectionStyleNone; + + PHGroup *group = [self.groups objectAtIndex:indexPath.row]; + + // Show group name + cell.textLabel.text = group.name; + + return cell; +} + +#pragma mark - Table view delegate + +- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath { + if (editingStyle == UITableViewCellEditingStyleDelete) { + id bridgeSendAPI = [[[PHOverallFactory alloc] init] bridgeSendAPI]; + + PHGroup *group = [self.groups objectAtIndex:indexPath.row]; + + // Delete the group + [bridgeSendAPI removeGroupWithId:group.identifier completionHandler:^(NSArray *errors) { + if (UIAppDelegate.showResponses || errors != nil) { + NSString *message = [NSString stringWithFormat:@"%@: %@", NSLocalizedString(@"Errors", @""), errors != nil ? errors : NSLocalizedString(@"none", @"")]; + + UIAlertView *errorAlert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Response", @"") + message:message + delegate:nil + cancelButtonTitle:nil + otherButtonTitles:NSLocalizedString(@"Ok", @""), nil]; + [errorAlert show]; + } + }]; + } +} + +#pragma mark - Notification receivers + +- (void)updateGroups { + PHBridgeResourcesCache *cache = [PHBridgeResourcesReader readBridgeResourcesCache]; + + self.groups = [cache.groups.allValues sortedArrayUsingComparator:^NSComparisonResult(PHGroup *group1, PHGroup *group2) { + return [group1.identifier compare:group2.identifier options:NSNumericSearch]; + }]; + + [self.tableView reloadData]; +} + +@end \ No newline at end of file diff --git a/SampleApp/SampleApp/Groups/Features/PHGroupDeletingViewController.xib b/SampleApp/SampleApp/Groups/Features/PHGroupDeletingViewController.xib new file mode 100644 index 0000000..1e2b9b3 --- /dev/null +++ b/SampleApp/SampleApp/Groups/Features/PHGroupDeletingViewController.xib @@ -0,0 +1,161 @@ + + + + 1552 + 12D78 + 3084 + 1187.37 + 626.00 + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + 2083 + + + IBProxyObject + IBUITableView + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + PluginDependencyRecalculationVersion + + + + + IBFilesOwner + IBCocoaTouchFramework + + + IBFirstResponder + IBCocoaTouchFramework + + + + 274 + {{0, 20}, {320, 548}} + + + + 1 + MCAwIDAgMAA + groupTableViewBackgroundColor + + NO + YES + NO + + + IBUIScreenMetrics + + YES + + + + + + {320, 568} + {568, 320} + + + IBCocoaTouchFramework + Retina 4 Full Screen + 2 + + IBCocoaTouchFramework + NO + 1 + 1 + 0 + YES + 44 + 10 + 10 + + + + + + + view + + + + 5 + + + + dataSource + + + + 6 + + + + delegate + + + + 7 + + + + + + 0 + + + + + + -1 + + + File's Owner + + + -2 + + + + + 4 + + + + + + + PHGroupDeletingViewController + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UIResponder + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + + + + 7 + + + + + PHGroupDeletingViewController + UITableViewController + + IBProjectSource + ./Classes/PHGroupDeletingViewController.h + + + + + 0 + IBCocoaTouchFramework + YES + 3 + YES + 2083 + + diff --git a/SampleApp/SampleApp/Groups/Features/PHGroupEditingViewController.h b/SampleApp/SampleApp/Groups/Features/PHGroupEditingViewController.h new file mode 100644 index 0000000..951da95 --- /dev/null +++ b/SampleApp/SampleApp/Groups/Features/PHGroupEditingViewController.h @@ -0,0 +1,10 @@ +/******************************************************************************* + Copyright (c) 2013 Koninklijke Philips N.V. + All Rights Reserved. + ********************************************************************************/ + +#import + +@interface PHGroupEditingViewController : UITableViewController + +@end diff --git a/SampleApp/SampleApp/Groups/Features/PHGroupEditingViewController.m b/SampleApp/SampleApp/Groups/Features/PHGroupEditingViewController.m new file mode 100644 index 0000000..128eba2 --- /dev/null +++ b/SampleApp/SampleApp/Groups/Features/PHGroupEditingViewController.m @@ -0,0 +1,134 @@ +/******************************************************************************* + Copyright (c) 2013 Koninklijke Philips N.V. + All Rights Reserved. + ********************************************************************************/ + +#import "PHAppDelegate.h" +#import "PHGroupEditingViewController.h" + +#include + +@interface PHGroupEditingViewController () + +@property (strong, nonatomic) NSArray *groups; + +@end + +@implementation PHGroupEditingViewController + +@synthesize groups = _groups; + +- (id)initWithStyle:(UITableViewStyle)style { + self = [super initWithStyle:style]; + if (self) { + [self updateGroups]; + } + return self; +} + +- (void)dealloc { + [[PHNotificationManager defaultManager] deregisterObjectForAllNotifications:self]; +} + +- (void)viewDidLoad { + [super viewDidLoad]; + + self.title = NSLocalizedString(@"Edit group", @""); + + self.clearsSelectionOnViewWillAppear = NO; + + [[PHNotificationManager defaultManager] registerObject:self withSelector:@selector(updateGroups) forNotification:GROUPS_CACHE_UPDATED_NOTIFICATION]; +} + +- (void)didReceiveMemoryWarning { + [super didReceiveMemoryWarning]; +} + +- (IBAction)nameTextFieldEditingEnd:(id)sender { + UITextField *nameTextField = (UITextField *)sender; + + PHBridgeResourcesCache *cache = [PHBridgeResourcesReader readBridgeResourcesCache]; + + PHGroup *group = [cache.groups objectForKey:[NSString stringWithFormat:@"%d", nameTextField.tag]]; + + // Check if the name has been changed + if (![group.name isEqualToString:nameTextField.text]) { + // Update the name in the group + group.name = nameTextField.text; + + id bridgeSendAPI = [[[PHOverallFactory alloc] init] bridgeSendAPI]; + + // Update the group + [bridgeSendAPI updateGroupWithGroup:group completionHandler:^(NSArray *errors) { + if (UIAppDelegate.showResponses || errors != nil) { + NSString *message = [NSString stringWithFormat:@"%@: %@", NSLocalizedString(@"Errors", @""), errors != nil ? errors : NSLocalizedString(@"none", @"")]; + + UIAlertView *errorAlert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Response", @"") + message:message + delegate:nil + cancelButtonTitle:nil + otherButtonTitles:NSLocalizedString(@"Ok", @""), nil]; + [errorAlert show]; + } + }]; + } +} + +#pragma mark - Table view data source + +- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { + return 1; +} + +- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { + return self.groups.count; +} + +- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { + UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:nil]; + cell.selectionStyle = UITableViewCellSelectionStyleNone; + + PHGroup *group = [self.groups objectAtIndex:indexPath.row]; + + // Show text field which contains the group name + UITextField *nameTextField = [[UITextField alloc] init]; + nameTextField.text = group.name; + nameTextField.delegate = self; + nameTextField.autocorrectionType = UITextAutocorrectionTypeNo; + nameTextField.font = [UIFont systemFontOfSize:16]; + nameTextField.textColor = [UIColor blueColor]; + nameTextField.bounds = CGRectMake(0, 0, 150, 20); + nameTextField.textAlignment = NSTextAlignmentRight; + nameTextField.backgroundColor = [UIColor clearColor]; + // Use the group identifier as identifier for the text field + nameTextField.tag = [group.identifier intValue]; + // Add event when the editing ends the group name will be updated + [nameTextField addTarget:self action:@selector(nameTextFieldEditingEnd:) forControlEvents:UIControlEventEditingDidEnd]; + + cell.textLabel.text = NSLocalizedString(@"Name", @""); + cell.accessoryView = nameTextField; + + return cell; +} + +#pragma mark - Text field delegate + +- (BOOL)textFieldShouldReturn:(UITextField *)textField { + // Close keyboard after editing a text field + [textField resignFirstResponder]; + return YES; +} + +#pragma mark - Notification receivers + +- (void)updateGroups { + PHBridgeResourcesCache *cache = [PHBridgeResourcesReader readBridgeResourcesCache]; + + self.groups = [cache.groups.allValues sortedArrayUsingComparator:^NSComparisonResult(PHGroup *group1, PHGroup *group2) { + return [group1.identifier compare:group2.identifier options:NSNumericSearch]; + }]; + + [self.tableView reloadData]; +} + +@end diff --git a/SampleApp/SampleApp/Groups/Features/PHGroupEditingViewController.xib b/SampleApp/SampleApp/Groups/Features/PHGroupEditingViewController.xib new file mode 100644 index 0000000..47287ab --- /dev/null +++ b/SampleApp/SampleApp/Groups/Features/PHGroupEditingViewController.xib @@ -0,0 +1,161 @@ + + + + 1552 + 12D78 + 3084 + 1187.37 + 626.00 + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + 2083 + + + IBProxyObject + IBUITableView + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + PluginDependencyRecalculationVersion + + + + + IBFilesOwner + IBCocoaTouchFramework + + + IBFirstResponder + IBCocoaTouchFramework + + + + 274 + {{0, 20}, {320, 548}} + + + + 1 + MCAwIDAgMAA + groupTableViewBackgroundColor + + NO + YES + NO + + + IBUIScreenMetrics + + YES + + + + + + {320, 568} + {568, 320} + + + IBCocoaTouchFramework + Retina 4 Full Screen + 2 + + IBCocoaTouchFramework + NO + 1 + 1 + 0 + YES + 44 + 10 + 10 + + + + + + + view + + + + 5 + + + + dataSource + + + + 6 + + + + delegate + + + + 7 + + + + + + 0 + + + + + + -1 + + + File's Owner + + + -2 + + + + + 4 + + + + + + + PHGroupEditingViewController + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UIResponder + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + + + + 7 + + + + + PHGroupEditingViewController + UITableViewController + + IBProjectSource + ./Classes/PHGroupEditingViewController.h + + + + + 0 + IBCocoaTouchFramework + YES + 3 + YES + 2083 + + diff --git a/SampleApp/SampleApp/Groups/Features/PHGroupOverviewViewController.h b/SampleApp/SampleApp/Groups/Features/PHGroupOverviewViewController.h new file mode 100644 index 0000000..1753482 --- /dev/null +++ b/SampleApp/SampleApp/Groups/Features/PHGroupOverviewViewController.h @@ -0,0 +1,10 @@ +/******************************************************************************* + Copyright (c) 2013 Koninklijke Philips N.V. + All Rights Reserved. + ********************************************************************************/ + +#import + +@interface PHGroupOverviewViewController : UITableViewController + +@end diff --git a/SampleApp/SampleApp/Groups/Features/PHGroupOverviewViewController.m b/SampleApp/SampleApp/Groups/Features/PHGroupOverviewViewController.m new file mode 100644 index 0000000..b98dbe8 --- /dev/null +++ b/SampleApp/SampleApp/Groups/Features/PHGroupOverviewViewController.m @@ -0,0 +1,80 @@ +/******************************************************************************* + Copyright (c) 2013 Koninklijke Philips N.V. + All Rights Reserved. + ********************************************************************************/ + +#import "PHGroupOverviewViewController.h" + +#import + +@interface PHGroupOverviewViewController () + +@property (strong, nonatomic) NSArray *groups; + +@end + +@implementation PHGroupOverviewViewController + +@synthesize groups = _groups; + +- (id)initWithStyle:(UITableViewStyle)style { + self = [super initWithStyle:style]; + if (self) { + [self updateGroups]; + } + return self; +} + +- (void)dealloc { + [[PHNotificationManager defaultManager] deregisterObjectForAllNotifications:self]; +} + +- (void)viewDidLoad { + [super viewDidLoad]; + + self.title = NSLocalizedString(@"Group overview", @""); + + self.clearsSelectionOnViewWillAppear = NO; + + [[PHNotificationManager defaultManager] registerObject:self withSelector:@selector(updateGroups) forNotification:GROUPS_CACHE_UPDATED_NOTIFICATION]; +} + +- (void)didReceiveMemoryWarning { + [super didReceiveMemoryWarning]; +} + +#pragma mark - Table view data source + +- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { + return 1; +} + +- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { + return self.groups.count; +} + +- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { + UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:nil]; + cell.selectionStyle = UITableViewCellSelectionStyleNone; + + PHGroup *group = [self.groups objectAtIndex:indexPath.row]; + + // Show group name + cell.textLabel.text = group.name; + + return cell; +} + +#pragma mark - Notification receivers + +- (void)updateGroups { + PHBridgeResourcesCache *cache = [PHBridgeResourcesReader readBridgeResourcesCache]; + + self.groups = [cache.groups.allValues sortedArrayUsingComparator:^NSComparisonResult(PHGroup *group1, PHGroup *group2) { + return [group1.identifier compare:group2.identifier options:NSNumericSearch]; + }]; + + [self.tableView reloadData]; +} + +@end diff --git a/SampleApp/SampleApp/Groups/Features/PHGroupOverviewViewController.xib b/SampleApp/SampleApp/Groups/Features/PHGroupOverviewViewController.xib new file mode 100644 index 0000000..134d53b --- /dev/null +++ b/SampleApp/SampleApp/Groups/Features/PHGroupOverviewViewController.xib @@ -0,0 +1,161 @@ + + + + 1552 + 12D78 + 3084 + 1187.37 + 626.00 + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + 2083 + + + IBProxyObject + IBUITableView + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + PluginDependencyRecalculationVersion + + + + + IBFilesOwner + IBCocoaTouchFramework + + + IBFirstResponder + IBCocoaTouchFramework + + + + 274 + {{0, 20}, {320, 548}} + + + + 1 + MCAwIDAgMAA + groupTableViewBackgroundColor + + NO + YES + NO + + + IBUIScreenMetrics + + YES + + + + + + {320, 568} + {568, 320} + + + IBCocoaTouchFramework + Retina 4 Full Screen + 2 + + IBCocoaTouchFramework + NO + 1 + 1 + 0 + YES + 44 + 10 + 10 + + + + + + + view + + + + 5 + + + + dataSource + + + + 6 + + + + delegate + + + + 7 + + + + + + 0 + + + + + + -1 + + + File's Owner + + + -2 + + + + + 4 + + + + + + + PHGroupOverviewViewController + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UIResponder + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + + + + 7 + + + + + PHGroupOverviewViewController + UITableViewController + + IBProjectSource + ./Classes/PHGroupOverviewViewController.h + + + + + 0 + IBCocoaTouchFramework + YES + 3 + YES + 2083 + + diff --git a/SampleApp/SampleApp/Groups/PHGroupsViewController.h b/SampleApp/SampleApp/Groups/PHGroupsViewController.h new file mode 100644 index 0000000..8d189a5 --- /dev/null +++ b/SampleApp/SampleApp/Groups/PHGroupsViewController.h @@ -0,0 +1,10 @@ +/******************************************************************************* + Copyright (c) 2013 Koninklijke Philips N.V. + All Rights Reserved. + ********************************************************************************/ + +#import + +@interface PHGroupsViewController : UITableViewController + +@end diff --git a/SampleApp/SampleApp/Groups/PHGroupsViewController.m b/SampleApp/SampleApp/Groups/PHGroupsViewController.m new file mode 100644 index 0000000..bdb1f8d --- /dev/null +++ b/SampleApp/SampleApp/Groups/PHGroupsViewController.m @@ -0,0 +1,102 @@ +/******************************************************************************* + Copyright (c) 2013 Koninklijke Philips N.V. + All Rights Reserved. + ********************************************************************************/ + +#import "PHGroupsViewController.h" +#import "PHGroupOverviewViewController.h" +#import "PHGroupControlSelectionViewController.h" +#import "PHGroupAddingViewController.h" +#import "PHGroupEditingViewController.h" +#import "PHGroupDeletingViewController.h" + +@interface PHGroupsViewController () + +@end + +@implementation PHGroupsViewController + +- (id)initWithStyle:(UITableViewStyle)style { + self = [super initWithStyle:style]; + if (self) { + + } + return self; +} + +- (void)viewDidLoad { + [super viewDidLoad]; + + self.title = NSLocalizedString(@"Groups", @""); + + self.clearsSelectionOnViewWillAppear = YES; +} + +- (void)didReceiveMemoryWarning { + [super didReceiveMemoryWarning]; +} + +#pragma mark - Table view data source + +- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { + return 1; +} + +- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { + return 5; +} + +- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { + UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:nil]; + cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; + + // Group overview + if (indexPath.row == 0) { + cell.textLabel.text = NSLocalizedString(@"Overview", @"Overview of the groups"); + } + // Group control + else if (indexPath.row == 1) { + cell.textLabel.text = NSLocalizedString(@"Control", @"Control a group"); + } + // Add a group + else if (indexPath.row == 2) { + cell.textLabel.text = NSLocalizedString(@"Add", @"Add a group"); + } + // Edit a group + else if (indexPath.row == 3) { + cell.textLabel.text = NSLocalizedString(@"Edit", @"Edit a group"); + } + // Delete a group + else if (indexPath.row == 4) { + cell.textLabel.text = NSLocalizedString(@"Delete", @"Delete a group"); + } + + return cell; +} + +#pragma mark - Table view delegate + +- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { + if (indexPath.row == 0) { + PHGroupOverviewViewController *groupOverviewViewController = [[PHGroupOverviewViewController alloc] initWithStyle:UITableViewCellStyleSubtitle]; + [self.navigationController pushViewController:groupOverviewViewController animated:YES]; + } + else if (indexPath.row == 1) { + PHGroupControlSelectionViewController *groupControlSelectionViewController = [[PHGroupControlSelectionViewController alloc] init]; + [self.navigationController pushViewController:groupControlSelectionViewController animated:YES]; + } + else if (indexPath.row == 2) { + PHGroupAddingViewController *groupAddingViewController = [[PHGroupAddingViewController alloc] init]; + [self.navigationController pushViewController:groupAddingViewController animated:YES]; + } + else if (indexPath.row == 3) { + PHGroupEditingViewController *groupEditingViewController = [[PHGroupEditingViewController alloc] init]; + [self.navigationController pushViewController:groupEditingViewController animated:YES]; + } + else if (indexPath.row == 4) { + PHGroupDeletingViewController *groupDeletingViewController = [[PHGroupDeletingViewController alloc] init]; + [self.navigationController pushViewController:groupDeletingViewController animated:YES]; + } +} + +@end diff --git a/SampleApp/SampleApp/Groups/PHGroupsViewController.xib b/SampleApp/SampleApp/Groups/PHGroupsViewController.xib new file mode 100644 index 0000000..f8585c8 --- /dev/null +++ b/SampleApp/SampleApp/Groups/PHGroupsViewController.xib @@ -0,0 +1,161 @@ + + + + 1552 + 12D78 + 3084 + 1187.37 + 626.00 + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + 2083 + + + IBProxyObject + IBUITableView + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + PluginDependencyRecalculationVersion + + + + + IBFilesOwner + IBCocoaTouchFramework + + + IBFirstResponder + IBCocoaTouchFramework + + + + 274 + {{0, 20}, {320, 548}} + + + + 1 + MCAwIDAgMAA + groupTableViewBackgroundColor + + NO + YES + NO + + + IBUIScreenMetrics + + YES + + + + + + {320, 568} + {568, 320} + + + IBCocoaTouchFramework + Retina 4 Full Screen + 2 + + IBCocoaTouchFramework + NO + 1 + 1 + 0 + YES + 44 + 10 + 10 + + + + + + + view + + + + 5 + + + + dataSource + + + + 6 + + + + delegate + + + + 7 + + + + + + 0 + + + + + + -1 + + + File's Owner + + + -2 + + + + + 4 + + + + + + + PHGroupsViewController + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UIResponder + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + + + + 7 + + + + + PHGroupsViewController + UITableViewController + + IBProjectSource + ./Classes/PHGroupsViewController.h + + + + + 0 + IBCocoaTouchFramework + YES + 3 + YES + 2083 + + diff --git a/SampleApp/SampleApp/Lights/Features/PHLightControlSelectionViewController.h b/SampleApp/SampleApp/Lights/Features/PHLightControlSelectionViewController.h new file mode 100644 index 0000000..26d1494 --- /dev/null +++ b/SampleApp/SampleApp/Lights/Features/PHLightControlSelectionViewController.h @@ -0,0 +1,10 @@ +/******************************************************************************* + Copyright (c) 2013 Koninklijke Philips N.V. + All Rights Reserved. + ********************************************************************************/ + +#import + +@interface PHLightControlSelectionViewController : UITableViewController + +@end diff --git a/SampleApp/SampleApp/Lights/Features/PHLightControlSelectionViewController.m b/SampleApp/SampleApp/Lights/Features/PHLightControlSelectionViewController.m new file mode 100644 index 0000000..807ef0a --- /dev/null +++ b/SampleApp/SampleApp/Lights/Features/PHLightControlSelectionViewController.m @@ -0,0 +1,91 @@ +/******************************************************************************* + Copyright (c) 2013 Koninklijke Philips N.V. + All Rights Reserved. + ********************************************************************************/ + +#import "PHLightControlSelectionViewController.h" +#import "PHLightControlViewController.h" + +#import + +@interface PHLightControlSelectionViewController () + +@property (strong, nonatomic) NSArray *lights; + +@end + +@implementation PHLightControlSelectionViewController + +@synthesize lights = _lights; + +- (id)initWithStyle:(UITableViewStyle)style { + self = [super initWithStyle:style]; + if (self) { + [self updateLights]; + } + return self; +} + +- (void)dealloc { + [[PHNotificationManager defaultManager] deregisterObjectForAllNotifications:self]; +} + +- (void)viewDidLoad { + [super viewDidLoad]; + + self.title = NSLocalizedString(@"Light selection", @""); + + self.clearsSelectionOnViewWillAppear = YES; + + [[PHNotificationManager defaultManager] registerObject:self withSelector:@selector(updateLights) forNotification:LIGHTS_CACHE_UPDATED_NOTIFICATION]; +} + +- (void)didReceiveMemoryWarning { + [super didReceiveMemoryWarning]; +} + +#pragma mark - Table view data source + +- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { + return 1; +} + +- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { + return self.lights.count; +} + +- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { + UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:nil]; + cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; + + PHLight *light = [self.lights objectAtIndex:indexPath.row]; + + // Show light name and identifier + cell.textLabel.text = light.name; + cell.detailTextLabel.text = light.identifier; + + return cell; +} + +#pragma mark - Table view delegate + +- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { + PHLight *light = [self.lights objectAtIndex:indexPath.row]; + + PHLightControlViewController *lightControlViewController = [[PHLightControlViewController alloc] initWithNibName:@"PHLightControlViewController" bundle:nil andLight:light]; + [self.navigationController pushViewController:lightControlViewController animated:YES]; +} + +#pragma mark - Notification receivers + +- (void)updateLights { + PHBridgeResourcesCache *cache = [PHBridgeResourcesReader readBridgeResourcesCache]; + + self.lights = [cache.lights.allValues sortedArrayUsingComparator:^NSComparisonResult(PHLight *light1, PHLight *light2) { + return [light1.identifier compare:light2.identifier options:NSNumericSearch]; + }]; + + [self.tableView reloadData]; +} + +@end diff --git a/SampleApp/SampleApp/Lights/Features/PHLightControlSelectionViewController.xib b/SampleApp/SampleApp/Lights/Features/PHLightControlSelectionViewController.xib new file mode 100644 index 0000000..2f2694e --- /dev/null +++ b/SampleApp/SampleApp/Lights/Features/PHLightControlSelectionViewController.xib @@ -0,0 +1,149 @@ + + + + 1552 + 12D78 + 3084 + 1187.37 + 626.00 + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + 2083 + + + IBProxyObject + IBUITableView + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + PluginDependencyRecalculationVersion + + + + + IBFilesOwner + IBCocoaTouchFramework + + + IBFirstResponder + IBCocoaTouchFramework + + + + 274 + {{0, 64}, {320, 504}} + + + 1 + MCAwIDAgMAA + groupTableViewBackgroundColor + + YES + + + NO + + + IBUIScreenMetrics + + YES + + + + + + {320, 568} + {568, 320} + + + IBCocoaTouchFramework + Retina 4 Full Screen + 2 + + IBCocoaTouchFramework + 1 + 1 + 0 + YES + 44 + 10 + 10 + + + + + + + view + + + + 5 + + + + dataSource + + + + 6 + + + + delegate + + + + 7 + + + + + + 0 + + + + + + -1 + + + File's Owner + + + -2 + + + + + 4 + + + + + + + PHLightSelectionViewController + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UIResponder + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + + + + 7 + + + 0 + IBCocoaTouchFramework + YES + 3 + YES + 2083 + + diff --git a/SampleApp/SampleApp/Lights/Features/PHLightControlViewController.h b/SampleApp/SampleApp/Lights/Features/PHLightControlViewController.h new file mode 100644 index 0000000..b4e7770 --- /dev/null +++ b/SampleApp/SampleApp/Lights/Features/PHLightControlViewController.h @@ -0,0 +1,66 @@ +/******************************************************************************* + Copyright (c) 2013 Koninklijke Philips N.V. + All Rights Reserved. + ********************************************************************************/ + +#import + +#include + +@interface PHLightControlViewController : UIViewController + +@property (weak, nonatomic) IBOutlet UIScrollView *scrollView; +@property (weak, nonatomic) IBOutlet UIView *scrollContentView; + +@property (weak, nonatomic) IBOutlet UIButton *readButton; +@property (weak, nonatomic) IBOutlet UIButton *sendButton; + +@property (weak, nonatomic) IBOutlet UISwitch *sendOn; +@property (weak, nonatomic) IBOutlet UISwitch *sendHue; +@property (weak, nonatomic) IBOutlet UISwitch *sendSat; +@property (weak, nonatomic) IBOutlet UISwitch *sendBri; +@property (weak, nonatomic) IBOutlet UISwitch *sendXY; +@property (weak, nonatomic) IBOutlet UISwitch *sendEffect; +@property (weak, nonatomic) IBOutlet UISwitch *sendAlert; +@property (weak, nonatomic) IBOutlet UISwitch *sendTransitionTime; + +@property (weak, nonatomic) IBOutlet UISwitch *valueOn; +@property (weak, nonatomic) IBOutlet UISlider *valueHueSlider; +@property (weak, nonatomic) IBOutlet UITextField *valueHueTextField; +@property (weak, nonatomic) IBOutlet UISlider *valueSatSlider; +@property (weak, nonatomic) IBOutlet UITextField *valueSatTextField; +@property (weak, nonatomic) IBOutlet UISlider *valueBriSlider; +@property (weak, nonatomic) IBOutlet UITextField *valueBriTextField; +@property (weak, nonatomic) IBOutlet UISlider *valueXSlider; +@property (weak, nonatomic) IBOutlet UITextField *valueXTextField; +@property (weak, nonatomic) IBOutlet UISlider *valueYSlider; +@property (weak, nonatomic) IBOutlet UITextField *valueYTextField; +@property (weak, nonatomic) IBOutlet UISegmentedControl *valueEffect; +@property (weak, nonatomic) IBOutlet UISegmentedControl *valueAlert; +@property (weak, nonatomic) IBOutlet UISlider *valueTransitionTimeSlider; +@property (weak, nonatomic) IBOutlet UITextField *valueTransitionTimeTextField; + +@property (weak, nonatomic) IBOutlet UIButton *redButton; +@property (weak, nonatomic) IBOutlet UIButton *blueButton; +@property (weak, nonatomic) IBOutlet UIButton *greenButton; +@property (weak, nonatomic) IBOutlet UIButton *yellowButton; +@property (weak, nonatomic) IBOutlet UIButton *violetButton; +@property (weak, nonatomic) IBOutlet UIButton *orangeButton; + +@property (weak, nonatomic) IBOutlet UISwitch *correctionSwitch; + +- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil andLight:(PHLight *)light; + +- (IBAction)redButton:(id)sender; +- (IBAction)blueButton:(id)sender; +- (IBAction)greenButton:(id)sender; +- (IBAction)yellowButton:(id)sender; +- (IBAction)violetButton:(id)sender; +- (IBAction)orangeButton:(id)sender; + +- (IBAction)readButton:(id)sender; +- (IBAction)sendButton:(id)sender; + +- (PHLightState *)createLightState; + +@end diff --git a/SampleApp/SampleApp/Lights/Features/PHLightControlViewController.m b/SampleApp/SampleApp/Lights/Features/PHLightControlViewController.m new file mode 100644 index 0000000..08153ce --- /dev/null +++ b/SampleApp/SampleApp/Lights/Features/PHLightControlViewController.m @@ -0,0 +1,419 @@ +/******************************************************************************* + Copyright (c) 2013 Koninklijke Philips N.V. + All Rights Reserved. + ********************************************************************************/ + +#import "PHAppDelegate.h" +#import "PHLightControlViewController.h" + +#import + +@interface PHLightControlViewController () + +@property (strong, nonatomic) PHLight *light; + +@end + +@implementation PHLightControlViewController + +@synthesize light = _light; + +- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil andLight:(PHLight *)light { + self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; + if (self) { + self.light = light; + } + return self; +} + +- (void)viewDidLoad { + [super viewDidLoad]; + + self.title = self.light.name; + + self.redButton.backgroundColor = [UIColor redColor]; + self.blueButton.backgroundColor = [UIColor blueColor]; + self.greenButton.backgroundColor = [UIColor greenColor]; + self.yellowButton.backgroundColor = [UIColor yellowColor]; + self.violetButton.backgroundColor = [UIColor purpleColor]; + self.orangeButton.backgroundColor = [UIColor orangeColor]; + + [self.scrollView setContentSize:self.scrollContentView.frame.size]; +} + +- (void)didReceiveMemoryWarning { + [super didReceiveMemoryWarning]; +} + +- (IBAction)redButton:(id)sender { + [self setupForColor:[UIColor redColor] andModel:self.light.modelNumber]; +} + +- (IBAction)blueButton:(id)sender { + [self setupForColor:[UIColor blueColor] andModel:self.light.modelNumber]; +} + +- (IBAction)greenButton:(id)sender { + [self setupForColor:[UIColor greenColor] andModel:self.light.modelNumber]; +} + +- (IBAction)yellowButton:(id)sender { + [self setupForColor:[UIColor yellowColor] andModel:self.light.modelNumber]; +} + +- (IBAction)violetButton:(id)sender { + [self setupForColor:[UIColor purpleColor] andModel:self.light.modelNumber]; +} + +- (IBAction)orangeButton:(id)sender { + [self setupForColor:[UIColor orangeColor] andModel:self.light.modelNumber]; +} + +- (IBAction)hueSliderValueChanged:(id)sender { + self.valueHueTextField.text = [NSString stringWithFormat:@"%i", (int)self.valueHueSlider.value]; +} + +- (IBAction)hueTextFieldValueChanged:(id)sender { + int hue = [self.valueHueTextField.text intValue]; + + // Check if the hue is out of range + if (hue > 65535) { + hue = 65535; + } + else if (hue < 0) { + hue = 0; + } + + self.valueHueTextField.text = [NSString stringWithFormat:@"%i", hue]; + self.valueHueSlider.value = (float)hue; +} + +- (IBAction)satSliderValueChanged:(id)sender { + self.valueSatTextField.text = [NSString stringWithFormat:@"%i", (int)self.valueSatSlider.value]; +} + +- (IBAction)satTextFieldValueChanged:(id)sender { + int saturation = [self.valueSatTextField.text intValue]; + + // Check if the saturation is out of range + if (saturation > 254) { + saturation = 254; + } + else if (saturation < 0) { + saturation = 0; + } + + self.valueSatTextField.text = [NSString stringWithFormat:@"%i", saturation]; + self.valueSatSlider.value = (float)saturation; +} + +- (IBAction)briSliderValueChanged:(id)sender { + self.valueBriTextField.text = [NSString stringWithFormat:@"%i", (int)self.valueBriSlider.value]; +} + +- (IBAction)briTextFieldValueChanged:(id)sender { + int brightness = [self.valueBriTextField.text intValue]; + + // Check if the brightness is out of range + if (brightness > 254) { + brightness = 254; + } + else if (brightness < 0) { + brightness = 0; + } + + self.valueBriTextField.text = [NSString stringWithFormat:@"%i", brightness]; + self.valueBriSlider.value = (float)brightness; +} + +- (IBAction)xSliderValueChanged:(id)sender { + self.valueXTextField.text = [NSString stringWithFormat:@"%.4f", self.valueXSlider.value]; +} + +- (IBAction)xTextFieldValueChanged:(id)sender { + float x = [self.valueXTextField.text doubleValue]; + + // Check if the x is out of range + if (x > 1.0f) { + x = 1.0f; + } + else if (x < 0.0f) { + x = 0.0f; + } + + self.valueXTextField.text = [NSString stringWithFormat:@"%.4f", x]; + self.valueXSlider.value = x; +} + +- (IBAction)ySliderValueChanged:(id)sender { + self.valueYTextField.text = [NSString stringWithFormat:@"%.4f", self.valueYSlider.value]; +} + +- (IBAction)yTextFieldValueChanged:(id)sender { + float y = [self.valueYTextField.text doubleValue]; + + // Check if the y is out of range + if (y > 1.0f) { + y = 1.0f; + } + else if (y < 0.0f) { + y = 0.0f; + } + + self.valueYTextField.text = [NSString stringWithFormat:@"%.4f", y]; + self.valueYSlider.value = y; +} + +- (IBAction)transitionTimeSliderValueChanged:(id)sender { + self.valueTransitionTimeTextField.text = [NSString stringWithFormat:@"%i", (int)self.valueTransitionTimeSlider.value]; +} + +- (IBAction)transitionTimeTextFieldValueChanged:(id)sender { + int transitionTime = [self.valueTransitionTimeTextField.text intValue]; + + // Check if the transition time is out of range + if (transitionTime > 65535) { + transitionTime = 65535; + } + else if (transitionTime < 0) { + transitionTime = 0; + } + + self.valueTransitionTimeTextField.text = [NSString stringWithFormat:@"%i", transitionTime]; + self.valueTransitionTimeSlider.value = transitionTime; +} + +- (IBAction)readButton:(id)sender { + PHBridgeResourcesCache *cache = [PHBridgeResourcesReader readBridgeResourcesCache]; + + // Populate the form with the current light state of the light + [self populateViewWithLightState:[[cache.lights objectForKey:self.light.identifier] lightState]]; +} + +- (IBAction)sendButton:(id)sender { + // Create a lightstate based on selected options + PHLightState *lightState = [self createLightState]; + + /*************************************************** + The BridgeSendAPI is used to send commands to the bridge. + Here we are updating the settings chosen by the user + for the selected light. + These settings are sent as a PHLightState to update + the light with the given light identifiers. + *****************************************************/ + + // Create a bridge send api, used for sending commands to bridge locally + id bridgeSendAPI = [[[PHOverallFactory alloc] init] bridgeSendAPI]; + + // Send lightstate to light + [bridgeSendAPI updateLightStateForId:self.light.identifier withLighState:lightState completionHandler:^(NSArray *errors) { + if (UIAppDelegate.showResponses || errors != nil) { + NSString *message = [NSString stringWithFormat:@"%@: %@", NSLocalizedString(@"Errors", @""), errors != nil ? errors : NSLocalizedString(@"none", @"")]; + + UIAlertView *errorAlert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Response", @"") + message:message + delegate:nil + cancelButtonTitle:nil + otherButtonTitles:NSLocalizedString(@"Ok", @""), nil]; + [errorAlert show]; + } + }]; +} + +#pragma mark - Text field delegate + +- (BOOL)textFieldShouldReturn:(UITextField *)textField { + // Close keyboard after editing a text field + [textField resignFirstResponder]; + return YES; +} + +#pragma mark - Helpers + +- (void)setupForColor:(UIColor *)color andModel:(NSString *)model { + CGPoint xyPoint; + float brightness; + + if ([self.correctionSwitch isOn]) { + [PHUtilities calculateXY:&xyPoint andBrightness:&brightness fromColor:color forModel:model]; + } + else { + [PHUtilities calculateXY:&xyPoint andBrightness:&brightness fromColor:color forModel:@""]; + } + + self.sendOn.on = YES; + self.valueOn.on = YES; + self.sendBri.on = YES; + self.valueBriSlider.value = 254.0f; + self.valueBriTextField.text = @"254"; + self.sendHue.on = NO; + self.sendSat.on = NO; + self.sendXY.on = YES; + self.valueXSlider.value = xyPoint.x; + self.valueXTextField.text = [NSString stringWithFormat:@"%.4f", xyPoint.x]; + self.valueYSlider.value = xyPoint.y; + self.valueYTextField.text = [NSString stringWithFormat:@"%.4f", xyPoint.y]; +} + +/** + Creates a lightstate based on selected options in the user interface + @return the lightstate + */ +- (PHLightState *)createLightState { + /*************************************************** + The PHLightState class is used as a parameter for the + Hue SDK. It contains the attribute settings for an individual + light. This method creates it from the current + user interface settings for the light + *****************************************************/ + + // Create an empty lightstate + PHLightState *lightState = [[PHLightState alloc] init]; + + // Check if on value should be send + if (self.sendOn.on) { + [lightState setOnBool:self.valueOn.on]; + } + + // Check if hue value should be send + if (self.sendHue.on) { + [lightState setHue:[NSNumber numberWithInt:((int)self.valueHueSlider.value)]]; + } + + // Check if saturation value should be send + if (self.sendSat.on) { + [lightState setSaturation:[NSNumber numberWithInt:((int)self.valueSatSlider.value)]]; + } + + // Check if brightness value should be send + if (self.sendBri.on) { + [lightState setBrightness:[NSNumber numberWithInt:((int)self.valueBriSlider.value)]]; + } + + // Check if xy values should be send + if (self.sendXY.on) { + [lightState setX:[NSNumber numberWithFloat:self.valueXSlider.value]]; + [lightState setY:[NSNumber numberWithFloat:self.valueYSlider.value]]; + } + + // Check if effect value should be send + if (self.sendEffect.on) { + if (self.valueEffect.selectedSegmentIndex == 0) { + lightState.effect = EFFECT_NONE; + } + else if (self.valueEffect.selectedSegmentIndex == 1) { + lightState.effect = EFFECT_COLORLOOP; + } + } + + // Check if alert value should be send + if (self.sendAlert.on) { + if (self.valueAlert.selectedSegmentIndex == 0) { + lightState.alert = ALERT_NONE; + } + else if (self.valueAlert.selectedSegmentIndex == 1) { + lightState.alert = ALERT_SELECT; + } + else if (self.valueAlert.selectedSegmentIndex == 2) { + lightState.alert = ALERT_LSELECT; + } + } + + // Check if transition time should be send + if (self.sendTransitionTime.on) { + [lightState setTransitionTime:[NSNumber numberWithInt:((int)self.valueTransitionTimeSlider.value)]]; + } + + return lightState; +} + +/** + Populate the view with the values of a light state + @param lightState The light state which will be used for populating the view + */ +- (void)populateViewWithLightState:(PHLightState *)lightState { + if (lightState.on != nil) { + self.valueOn.on = [[lightState on] boolValue]; + } + else { + self.valueOn.on = NO; + } + + if (lightState.hue != nil) { + self.valueHueSlider.value = [lightState.hue floatValue]; + self.valueHueTextField.text = [NSString stringWithFormat:@"%i", [lightState.hue intValue]]; + } + else { + self.valueHueSlider.value = 0.0; + self.valueHueTextField.text = @"0"; + } + + if (lightState.saturation != nil) { + self.valueSatSlider.value = [lightState.saturation floatValue]; + self.valueSatTextField.text = [NSString stringWithFormat:@"%i", [lightState.saturation intValue]]; + } + else { + self.valueSatSlider.value = 0.0; + self.valueSatTextField.text = @"0"; + } + + if (lightState.brightness != nil) { + self.valueBriSlider.value = [lightState.brightness floatValue]; + self.valueBriTextField.text = [NSString stringWithFormat:@"%i", [lightState.brightness intValue]]; + } + else { + self.valueBriSlider.value = 0.0; + self.valueSatTextField.text = @"0"; + } + + if (lightState.x != nil && lightState.y != nil) { + self.valueXSlider.value = [lightState.x floatValue]; + self.valueXTextField.text = [NSString stringWithFormat:@"%.4f", [lightState.x floatValue]]; + self.valueYSlider.value = [lightState.y floatValue]; + self.valueYTextField.text = [NSString stringWithFormat:@"%.4f", [lightState.y floatValue]]; + } + else { + self.valueXSlider.value = 0.0; + self.valueHueTextField.text = @"0"; + self.valueYSlider.value = 0.0; + self.valueHueTextField.text = @"0"; + } + + PHLightEffectMode effectMode = lightState.effect; + + if (effectMode == EFFECT_NONE) { + self.valueEffect.selectedSegmentIndex = 0; + } + else if (effectMode == EFFECT_COLORLOOP) { + self.valueEffect.selectedSegmentIndex = 1; + } + else { + self.valueEffect.selectedSegmentIndex = 0; + } + + PHLightAlertMode alertMode = lightState.alert; + + if (alertMode == ALERT_NONE) { + self.valueAlert.selectedSegmentIndex = 0; + } + else if (alertMode == ALERT_SELECT) { + self.valueAlert.selectedSegmentIndex = 1; + } + else if (alertMode == ALERT_LSELECT) { + self.valueAlert.selectedSegmentIndex = 2; + } + else { + self.valueAlert.selectedSegmentIndex = 0; + } + + if (lightState.transitionTime != nil) { + self.valueTransitionTimeSlider.value = [lightState.transitionTime floatValue]; + self.valueTransitionTimeTextField.text = [NSString stringWithFormat:@"%i", [lightState.transitionTime intValue]]; + } + else { + self.valueTransitionTimeSlider.value = 0.0f; + self.valueTransitionTimeTextField.text = @"0"; + } +} + +@end diff --git a/SampleApp/SampleApp/Lights/Features/PHLightControlViewController.xib b/SampleApp/SampleApp/Lights/Features/PHLightControlViewController.xib new file mode 100644 index 0000000..e21909b --- /dev/null +++ b/SampleApp/SampleApp/Lights/Features/PHLightControlViewController.xib @@ -0,0 +1,2130 @@ + + + + 1552 + 12D78 + 3084 + 1187.37 + 626.00 + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + 2083 + + + IBProxyObject + IBUIButton + IBUILabel + IBUIScrollView + IBUISegmentedControl + IBUISlider + IBUISwitch + IBUITextField + IBUIView + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + PluginDependencyRecalculationVersion + + + + + IBFilesOwner + IBCocoaTouchFramework + + + IBFirstResponder + IBCocoaTouchFramework + + + + 274 + + + + 274 + + + + 301 + + + + 292 + {{17, 75}, {32, 21}} + + + + _NS:9 + NO + YES + 7 + NO + IBCocoaTouchFramework + Hue + + 1 + MCAwIDAAA + darkTextColor + + + 0 + + 1 + 17 + + + Helvetica + 17 + 16 + + NO + + + + 292 + {{71, 7}, {63, 21}} + + + + _NS:9 + NO + YES + 7 + NO + IBCocoaTouchFramework + Enabled + + + 0 + + + NO + + + + 292 + {{161, 7}, {44, 21}} + + + + _NS:9 + NO + YES + 7 + NO + IBCocoaTouchFramework + Value + + + 0 + + + NO + + + + 292 + {{56, 72}, {94, 27}} + + + + _NS:9 + NO + IBCocoaTouchFramework + 0 + 0 + + + + 292 + {{17, 39}, {23, 21}} + + + + _NS:9 + NO + YES + 7 + NO + IBCocoaTouchFramework + On + + + 0 + + + NO + + + + 292 + {{56, 36}, {94, 27}} + + + + _NS:9 + NO + IBCocoaTouchFramework + 0 + 0 + + + + 292 + {{146, 36}, {94, 27}} + + + + _NS:9 + NO + IBCocoaTouchFramework + 0 + 0 + + + + 292 + {{17, 111}, {26, 21}} + + + + _NS:9 + NO + YES + 7 + NO + IBCocoaTouchFramework + Sat + + + 0 + + + NO + + + + 292 + {{56, 109}, {94, 27}} + + + + _NS:9 + NO + IBCocoaTouchFramework + 0 + 0 + + + + 292 + {{17, 151}, {21, 21}} + + + + _NS:9 + NO + YES + 7 + NO + IBCocoaTouchFramework + Bri + + + 0 + + + NO + + + + 292 + {{56, 148}, {94, 27}} + + + + _NS:9 + NO + IBCocoaTouchFramework + 0 + 0 + + + + 292 + {{17, 348}, {44, 21}} + + + + _NS:9 + NO + YES + 7 + NO + IBCocoaTouchFramework + Effect + + + 0 + + + NO + + + + 292 + {{56, 345}, {94, 27}} + + + + _NS:9 + NO + IBCocoaTouchFramework + 0 + 0 + + + + 292 + {{18, 384}, {35, 21}} + + + + _NS:9 + NO + YES + 7 + NO + IBCocoaTouchFramework + Alert + + + 0 + + + NO + + + + 292 + {{57, 382}, {94, 27}} + + + + _NS:9 + NO + IBCocoaTouchFramework + 0 + 0 + + + + 292 + {{17, 187}, {12, 21}} + + + + _NS:9 + NO + YES + 7 + NO + IBCocoaTouchFramework + X + + + 0 + + + NO + + + + 292 + {{56, 202}, {94, 27}} + + + + _NS:9 + NO + IBCocoaTouchFramework + 0 + 0 + + + + 292 + {{17, 222}, {12, 21}} + + + + _NS:9 + NO + YES + 7 + NO + IBCocoaTouchFramework + Y + + + 0 + + + NO + + + + 292 + {{159, 75}, {89, 23}} + + + + _NS:9 + NO + IBCocoaTouchFramework + 0 + 0 + 65535 + + + + 292 + {{159, 113}, {89, 23}} + + + + _NS:9 + NO + IBCocoaTouchFramework + 0 + 0 + 254 + + + + 292 + {{159, 151}, {89, 23}} + + + + _NS:9 + NO + IBCocoaTouchFramework + 0 + 0 + 254 + + + + 292 + {{18, 419}, {48, 21}} + + + + _NS:9 + NO + YES + 7 + NO + IBCocoaTouchFramework + T.time + + + 0 + + + NO + + + + 292 + {{57, 419}, {94, 27}} + + + + _NS:9 + NO + IBCocoaTouchFramework + 0 + 0 + + + + 292 + {{159, 189}, {89, 23}} + + + + _NS:9 + NO + IBCocoaTouchFramework + 0 + 0 + + + + 292 + {{159, 222}, {89, 23}} + + + + _NS:9 + NO + IBCocoaTouchFramework + 0 + 0 + + + + 292 + {{258, 419}, {45, 30}} + + + + _NS:9 + NO + YES + IBCocoaTouchFramework + 0 + 4 + 3 + + 3 + MAA + + 2 + + + YES + 17 + + IBCocoaTouchFramework + + + 1 + 10 + + + Helvetica + 10 + 16 + + + + + 292 + {{161, 345}, {141, 30}} + + + + _NS:9 + NO + IBCocoaTouchFramework + 2 + 2 + 0 + + none + colorloop + + + + + + + + + + + {0, 0} + {0, 0} + + + + + + + + + 292 + {{162, 382}, {141, 30}} + + + + _NS:9 + NO + IBCocoaTouchFramework + 2 + 3 + 0 + + none + select + lselect + + + + + + + + + + + + + {0, 0} + {0, 0} + {0, 0} + + + + + + + + + + 292 + {{31, 263}, {43, 31}} + + + + _NS:9 + NO + IBCocoaTouchFramework + 0 + 0 + + 3 + MQA + + + 1 + MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA + + + 3 + MC41AA + + + 2 + 15 + + + Helvetica-Bold + 15 + 16 + + + + + 292 + {{74, 263}, {43, 31}} + + + + _NS:9 + NO + IBCocoaTouchFramework + 0 + 0 + + + 1 + MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA + + + + + + + + 292 + {{117, 263}, {43, 31}} + + + + _NS:9 + NO + IBCocoaTouchFramework + 0 + 0 + + + 1 + MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA + + + + + + + + 292 + {{160, 263}, {43, 31}} + + + + _NS:9 + NO + IBCocoaTouchFramework + 0 + 0 + + + 1 + MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA + + + + + + + + 292 + {{203, 263}, {43, 31}} + + + + _NS:9 + NO + IBCocoaTouchFramework + 0 + 0 + + + 1 + MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA + + + + + + + + 292 + {{246, 263}, {43, 31}} + + + + _NS:9 + NO + IBCocoaTouchFramework + 0 + 0 + + + 1 + MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA + + + + + + + + 292 + {{146, 310}, {94, 27}} + + + + _NS:9 + NO + IBCocoaTouchFramework + 0 + 0 + YES + + + + 292 + {{16, 310}, {186, 21}} + + + + _NS:9 + NO + YES + 7 + NO + IBCocoaTouchFramework + Gamut correction + + + 0 + + + NO + + + + 292 + {{18, 468}, {133, 44}} + + + + _NS:9 + NO + IBCocoaTouchFramework + 0 + 0 + 1 + Read from cache + + + 1 + MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA + + + + + + + + 292 + {{170, 468}, {133, 44}} + + + _NS:9 + NO + IBCocoaTouchFramework + 0 + 0 + 1 + Send + + + 1 + MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA + + + + + + + + 292 + {{160, 422}, {92, 23}} + + + + _NS:9 + NO + IBCocoaTouchFramework + 0 + 0 + 4 + 65535 + + + + 292 + {{253, 71}, {49, 30}} + + + + _NS:9 + NO + YES + IBCocoaTouchFramework + 0 + 0 + 3 + + 3 + MAA + + + YES + 17 + + IBCocoaTouchFramework + + + + + + + 292 + {{253, 109}, {49, 30}} + + + + _NS:9 + NO + YES + IBCocoaTouchFramework + 0 + 0 + 3 + + 3 + MAA + + + YES + 17 + + IBCocoaTouchFramework + + + + + + + 292 + {{253, 147}, {49, 30}} + + + + _NS:9 + NO + YES + IBCocoaTouchFramework + 0 + 0 + 3 + + 3 + MAA + + + YES + 17 + + IBCocoaTouchFramework + + + + + + + 292 + {{253, 185}, {49, 30}} + + + + _NS:9 + NO + YES + IBCocoaTouchFramework + 0 + 0 + 3 + + 3 + MAA + + + YES + 17 + + IBCocoaTouchFramework + + + + + + + 292 + {{253, 218}, {49, 30}} + + + + _NS:9 + NO + YES + IBCocoaTouchFramework + 0 + 0 + 3 + + 3 + MAA + + + YES + 17 + + IBCocoaTouchFramework + + + + + + {320, 529} + + + + + 3 + MQA + + + + + NO + + + IBUIScreenMetrics + + YES + + + + + + {320, 480} + {480, 320} + + + IBCocoaTouchFramework + Retina 3.5 Full Screen + 0 + + IBCocoaTouchFramework + + + {320, 528} + + + + _NS:9 + NO + YES + YES + IBCocoaTouchFramework + + + {{0, 64}, {320, 528}} + + + + + 3 + MQA + + + + + NO + + + IBUISimulatedFreeformSizeMetricsSentinel + Freeform + + IBCocoaTouchFramework + + + + + + + view + + + + 3 + + + + sendOn + + + + 216 + + + + sendHue + + + + 217 + + + + sendSat + + + + 218 + + + + sendBri + + + + 219 + + + + sendXY + + + + 220 + + + + sendEffect + + + + 221 + + + + sendAlert + + + + 222 + + + + sendTransitionTime + + + + 223 + + + + valueOn + + + + 224 + + + + correctionSwitch + + + + 230 + + + + valueEffect + + + + 231 + + + + valueAlert + + + + 232 + + + + redButton + + + + 235 + + + + blueButton + + + + 236 + + + + greenButton + + + + 237 + + + + yellowButton + + + + 238 + + + + violetButton + + + + 239 + + + + orangeButton + + + + 240 + + + + scrollContentView + + + + 242 + + + + sendButton + + + + 249 + + + + scrollView + + + + 264 + + + + valueHueSlider + + + + 270 + + + + valueSatSlider + + + + 271 + + + + valueBriSlider + + + + 272 + + + + valueXSlider + + + + 273 + + + + valueYSlider + + + + 274 + + + + valueHueTextField + + + + 275 + + + + valueSatTextField + + + + 276 + + + + valueBriTextField + + + + 277 + + + + valueXTextField + + + + 278 + + + + valueYTextField + + + + 279 + + + + valueTransitionTimeSlider + + + + 282 + + + + valueTransitionTimeTextField + + + + 283 + + + + orangeButton: + + + 7 + + 212 + + + + violetButton: + + + 7 + + 210 + + + + yellowButton: + + + 7 + + 211 + + + + greenButton: + + + 7 + + 214 + + + + blueButton: + + + 7 + + 213 + + + + redButton: + + + 7 + + 234 + + + + transitionTimeSliderValueChanged: + + + 13 + + 296 + + + + ySliderValueChanged: + + + 13 + + 290 + + + + xSliderValueChanged: + + + 13 + + 289 + + + + briSliderValueChanged: + + + 13 + + 288 + + + + satSliderValueChanged: + + + 13 + + 287 + + + + hueSliderValueChanged: + + + 13 + + 284 + + + + readButton: + + + 7 + + 251 + + + + sendButton: + + + 7 + + 252 + + + + delegate + + + + 300 + + + + hueTextFieldValueChanged: + + + 19 + + 309 + + + + delegate + + + + 301 + + + + satTextFieldValueChanged: + + + 19 + + 310 + + + + delegate + + + + 302 + + + + briTextFieldValueChanged: + + + 19 + + 311 + + + + delegate + + + + 303 + + + + xTextFieldValueChanged: + + + 19 + + 307 + + + + delegate + + + + 304 + + + + yTextFieldValueChanged: + + + 19 + + 308 + + + + delegate + + + + 305 + + + + transitionTimeTextFieldValueChanged: + + + 19 + + 312 + + + + + + 0 + + + + + + 1 + + + + + + + + -1 + + + File's Owner + + + -2 + + + + + 171 + + + + + + + + 172 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 174 + + + + + 175 + + + + + 176 + + + + + 177 + + + + + 178 + + + + + 179 + + + + + 180 + + + + + 181 + + + + + 183 + + + + + 184 + + + + + 185 + + + + + 186 + + + + + 187 + + + + + 188 + + + + + 189 + + + + + 190 + + + + + 191 + + + + + 192 + + + + + 193 + + + + + 194 + + + + + 195 + + + + + 196 + + + + + 197 + + + + + 198 + + + + + 199 + + + + + 200 + + + + + 201 + + + + + 202 + + + + + 203 + + + + + 204 + + + + + 205 + + + + + 206 + + + + + 207 + + + + + 208 + + + + + 243 + + + + + 244 + + + + + 209 + + + + + 182 + + + + + 253 + + + + + 254 + + + + + 256 + + + + + 257 + + + + + 258 + + + + + 259 + + + + + + + PHLightControlViewController + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UIResponder + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + + + + 312 + + + + + PHLightControlViewController + UIViewController + + id + id + id + id + id + id + id + id + + + + blueButton: + id + + + greenButton: + id + + + orangeButton: + id + + + readButton: + id + + + redButton: + id + + + sendButton: + id + + + violetButton: + id + + + yellowButton: + id + + + + UIButton + UISwitch + UIButton + UIButton + UIButton + UIButton + UIView + UIScrollView + UISwitch + UISwitch + UIButton + UISwitch + UISwitch + UISwitch + UISwitch + UISwitch + UISwitch + UISegmentedControl + UISlider + UITextField + UISegmentedControl + UISlider + UITextField + UISwitch + UISlider + UITextField + UISlider + UITextField + UISlider + UITextField + UISlider + UITextField + UIButton + UIButton + + + + blueButton + UIButton + + + correctionSwitch + UISwitch + + + greenButton + UIButton + + + orangeButton + UIButton + + + readButton + UIButton + + + redButton + UIButton + + + scrollContentView + UIView + + + scrollView + UIScrollView + + + sendAlert + UISwitch + + + sendBri + UISwitch + + + sendButton + UIButton + + + sendEffect + UISwitch + + + sendHue + UISwitch + + + sendOn + UISwitch + + + sendSat + UISwitch + + + sendTransitionTime + UISwitch + + + sendXY + UISwitch + + + valueAlert + UISegmentedControl + + + valueBriSlider + UISlider + + + valueBriTextField + UITextField + + + valueEffect + UISegmentedControl + + + valueHueSlider + UISlider + + + valueHueTextField + UITextField + + + valueOn + UISwitch + + + valueSatSlider + UISlider + + + valueSatTextField + UITextField + + + valueTransitionTimeSlider + UISlider + + + valueTransitionTimeTextField + UITextField + + + valueXSlider + UISlider + + + valueXTextField + UITextField + + + valueYSlider + UISlider + + + valueYTextField + UITextField + + + violetButton + UIButton + + + yellowButton + UIButton + + + + IBProjectSource + ./Classes/PHLightControlViewController.h + + + + + 0 + IBCocoaTouchFramework + YES + 3 + 2083 + + diff --git a/SampleApp/SampleApp/Lights/Features/PHLightOverviewViewController.h b/SampleApp/SampleApp/Lights/Features/PHLightOverviewViewController.h new file mode 100644 index 0000000..296a7dc --- /dev/null +++ b/SampleApp/SampleApp/Lights/Features/PHLightOverviewViewController.h @@ -0,0 +1,10 @@ +/******************************************************************************* + Copyright (c) 2013 Koninklijke Philips N.V. + All Rights Reserved. + ********************************************************************************/ + +#import + +@interface PHLightOverviewViewController : UITableViewController + +@end diff --git a/SampleApp/SampleApp/Lights/Features/PHLightOverviewViewController.m b/SampleApp/SampleApp/Lights/Features/PHLightOverviewViewController.m new file mode 100644 index 0000000..e24b9a8 --- /dev/null +++ b/SampleApp/SampleApp/Lights/Features/PHLightOverviewViewController.m @@ -0,0 +1,102 @@ +/******************************************************************************* + Copyright (c) 2013 Koninklijke Philips N.V. + All Rights Reserved. + ********************************************************************************/ + +#import "PHLightOverviewViewController.h" + +#import + +@interface PHLightOverviewViewController () + +@property (strong, nonatomic) NSArray *lights; + +@end + +@implementation PHLightOverviewViewController + +@synthesize lights = _lights; + +- (id)initWithStyle:(UITableViewStyle)style { + self = [super initWithStyle:style]; + if (self) { + [self updateLights]; + } + return self; +} + +- (void)dealloc { + [[PHNotificationManager defaultManager] deregisterObjectForAllNotifications:self]; +} + +- (void)viewDidLoad { + [super viewDidLoad]; + + self.title = NSLocalizedString(@"Light overview", @""); + + self.clearsSelectionOnViewWillAppear = NO; + + /*************************************************** + Each bridge resource has a notification when it has been + updated. Here we register for the lights cache updated + notification + *****************************************************/ + + [[PHNotificationManager defaultManager] registerObject:self withSelector:@selector(updateLights) forNotification:LIGHTS_CACHE_UPDATED_NOTIFICATION]; +} + +- (void)didReceiveMemoryWarning { + [super didReceiveMemoryWarning]; +} + +#pragma mark - Table view data source + +- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { + return 1; +} + +- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { + return self.lights.count; +} + +- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { + UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:nil]; + cell.selectionStyle = UITableViewCellSelectionStyleNone; + + PHLight *light = [self.lights objectAtIndex:indexPath.row]; + + // Show light name + cell.textLabel.text = light.name; + + // Show the color of the light if turned on + if (light.supportsColor && [light.lightState.on boolValue]) { + UIView* colorView = [[UILabel alloc] initWithFrame:CGRectMake(cell.frame.size.width - 80, (cell.frame.size.height - 35) / 2, 40, 35)]; + + // Convert the xy values to rgb values + colorView.backgroundColor = [PHUtilities colorFromXY:CGPointMake([light.lightState.x floatValue], [light.lightState.y floatValue]) andBrightness:1.0f forModel:light.modelNumber]; + [cell.contentView addSubview:colorView]; + } + + return cell; +} + +#pragma mark - Notification receivers + +- (void)updateLights { + /*************************************************** + The notification of changes to the lights information + in the Bridge resources cache called this method. + Now we access Bridge resources cache to get updated + information and reload the displayed lights table. + *****************************************************/ + + PHBridgeResourcesCache *cache = [PHBridgeResourcesReader readBridgeResourcesCache]; + + self.lights = [cache.lights.allValues sortedArrayUsingComparator:^NSComparisonResult(PHLight *light1, PHLight *light2) { + return [light1.identifier compare:light2.identifier options:NSNumericSearch]; + }]; + + [self.tableView reloadData]; +} + +@end diff --git a/SampleApp/SampleApp/Lights/Features/PHLightOverviewViewController.xib b/SampleApp/SampleApp/Lights/Features/PHLightOverviewViewController.xib new file mode 100644 index 0000000..5e2b1c9 --- /dev/null +++ b/SampleApp/SampleApp/Lights/Features/PHLightOverviewViewController.xib @@ -0,0 +1,149 @@ + + + + 1552 + 12D78 + 3084 + 1187.37 + 626.00 + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + 2083 + + + IBProxyObject + IBUITableView + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + PluginDependencyRecalculationVersion + + + + + IBFilesOwner + IBCocoaTouchFramework + + + IBFirstResponder + IBCocoaTouchFramework + + + + 274 + {{0, 64}, {320, 504}} + + + 1 + MCAwIDAgMAA + groupTableViewBackgroundColor + + YES + + + NO + + + IBUIScreenMetrics + + YES + + + + + + {320, 568} + {568, 320} + + + IBCocoaTouchFramework + Retina 4 Full Screen + 2 + + IBCocoaTouchFramework + 1 + 1 + 0 + YES + 44 + 10 + 10 + + + + + + + view + + + + 5 + + + + dataSource + + + + 6 + + + + delegate + + + + 7 + + + + + + 0 + + + + + + -1 + + + File's Owner + + + -2 + + + + + 4 + + + + + + + PHLightOverviewViewController + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UIResponder + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + + + + 7 + + + 0 + IBCocoaTouchFramework + YES + 3 + YES + 2083 + + diff --git a/SampleApp/SampleApp/Lights/PHLightViewController.h b/SampleApp/SampleApp/Lights/PHLightViewController.h deleted file mode 100644 index f2a017e..0000000 --- a/SampleApp/SampleApp/Lights/PHLightViewController.h +++ /dev/null @@ -1,53 +0,0 @@ -// -// PHLightViewController.h -// SDK3rdApp -// -// Copyright (c) 2012 Philips. All rights reserved. -// - -#import - -@class PHLight; - -@interface PHLightViewController : UIViewController - -@property (unsafe_unretained, nonatomic) IBOutlet UISwitch *sendOn; -@property (unsafe_unretained, nonatomic) IBOutlet UISwitch *sendHue; -@property (unsafe_unretained, nonatomic) IBOutlet UISwitch *sendSat; -@property (unsafe_unretained, nonatomic) IBOutlet UISwitch *sendBri; -@property (unsafe_unretained, nonatomic) IBOutlet UISwitch *sendXY; -@property (unsafe_unretained, nonatomic) IBOutlet UISwitch *sendEffect; -@property (unsafe_unretained, nonatomic) IBOutlet UISwitch *sendAlert; -@property (unsafe_unretained, nonatomic) IBOutlet UISwitch *sendTransitionTime; - -@property (unsafe_unretained, nonatomic) IBOutlet UISwitch *valueOn; -@property (unsafe_unretained, nonatomic) IBOutlet UISlider *valueHue; -@property (unsafe_unretained, nonatomic) IBOutlet UISlider *valueSat; -@property (unsafe_unretained, nonatomic) IBOutlet UISlider *valueBri; -@property (unsafe_unretained, nonatomic) IBOutlet UISlider *valueX; -@property (unsafe_unretained, nonatomic) IBOutlet UISlider *valueY; -@property (unsafe_unretained, nonatomic) IBOutlet UISegmentedControl *valueEffect; -@property (unsafe_unretained, nonatomic) IBOutlet UISegmentedControl *valueAlert; -@property (unsafe_unretained, nonatomic) IBOutlet UISlider *valueTransitionTime; - -@property (weak, nonatomic) IBOutlet UIButton *redButton; -@property (weak, nonatomic) IBOutlet UIButton *blueButton; -@property (weak, nonatomic) IBOutlet UIButton *greenButton; -@property (weak, nonatomic) IBOutlet UIButton *yellowButton; -@property (weak, nonatomic) IBOutlet UIButton *violetButton; -@property (weak, nonatomic) IBOutlet UIButton *orangeButton; - -@property (weak, nonatomic) IBOutlet UISwitch *correctionSwitch; - -- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil light:(PHLight *)light; - -//- (IBAction)sendState:(id)sender; - -- (IBAction)redButton:(id)sender; -- (IBAction)blueButton:(id)sender; -- (IBAction)greenButton:(id)sender; -- (IBAction)yellowButton:(id)sender; -- (IBAction)violetButton:(id)sender; -- (IBAction)orangeButton:(id)sender; - -@end diff --git a/SampleApp/SampleApp/Lights/PHLightViewController.m b/SampleApp/SampleApp/Lights/PHLightViewController.m deleted file mode 100644 index 0e03feb..0000000 --- a/SampleApp/SampleApp/Lights/PHLightViewController.m +++ /dev/null @@ -1,232 +0,0 @@ -// -// PHLightViewController.m -// SDK3rdApp -// -// Copyright (c) 2012 Philips. All rights reserved. -// - -#import "PHLightViewController.h" - -#import - -@interface PHLightViewController () - -@property (nonatomic, strong) PHLight *light; - -@end - -@implementation PHLightViewController - -- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil light:(PHLight *)light { - self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; - if (self) { - self.light = light; - } - return self; -} - -- (void)viewDidLoad { - [super viewDidLoad]; - - self.title = self.light.name; - - self.redButton.backgroundColor = [UIColor redColor]; - self.blueButton.backgroundColor = [UIColor blueColor]; - self.greenButton.backgroundColor = [UIColor greenColor]; - self.yellowButton.backgroundColor = [UIColor yellowColor]; - self.violetButton.backgroundColor = [UIColor purpleColor]; - self.orangeButton.backgroundColor = [UIColor orangeColor]; - - self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Send" style:UIBarButtonItemStyleBordered target:self action:@selector(sendState:)]; -} - -- (void)didReceiveMemoryWarning { - [super didReceiveMemoryWarning]; - // Dispose of any resources that can be recreated. -} - -- (void)viewDidUnload { - [self setSendOn:nil]; - [self setSendHue:nil]; - [self setSendSat:nil]; - [self setSendBri:nil]; - [self setSendXY:nil]; - [self setSendEffect:nil]; - [self setSendAlert:nil]; - [self setValueOn:nil]; - [self setValueHue:nil]; - [self setValueSat:nil]; - [self setValueBri:nil]; - [self setValueX:nil]; - [self setValueY:nil]; - [self setValueEffect:nil]; - [self setValueAlert:nil]; - [self setSendTransitionTime:nil]; - [self setValueTransitionTime:nil]; - [super viewDidUnload]; -} - -/** - Action for the send state local button - */ -- (IBAction)sendState:(id)sender { - // Create a lightstate based on selected options - PHLightState *lightState = [self createLightState]; - - /*************************************************** - The BridgeSendAPI is used to send commands to the bridge. - Here we are updating the settings chosen by the user - for the selected light. - These settings are sent as a PHLightState to update - the light with the given light identifiers. - Subsequent checking of the Bridge Resources cache after the next heartbeat will - show that changed settings have occurred. - *****************************************************/ - - // Create a bridge send api, used for sending commands to bridge locally - id bridgeSendAPI = [[[PHOverallFactory alloc] init] bridgeSendAPI]; - - // Send lightstate to light - [bridgeSendAPI updateLightStateForId:self.light.identifier withLighState:lightState completionHandler:^(NSArray *errors) { - // Check for errors - if (errors != nil) { - - for (PHError *error in errors) { - // Error occured - UIAlertView *errorAlert = [[UIAlertView alloc] initWithTitle:@"Error" - message:error.description - delegate:nil - cancelButtonTitle:nil - otherButtonTitles:@"Ok", nil]; - [errorAlert show]; - } - } - }]; - -} - -- (IBAction)redButton:(id)sender { - [self setupForColor:[UIColor redColor]]; -} - -- (IBAction)blueButton:(id)sender { - [self setupForColor:[UIColor blueColor]]; -} - -- (IBAction)greenButton:(id)sender { - [self setupForColor:[UIColor greenColor]]; -} - -- (IBAction)yellowButton:(id)sender { - [self setupForColor:[UIColor yellowColor]]; -} - -- (IBAction)violetButton:(id)sender { - [self setupForColor:[UIColor purpleColor]]; -} - -- (IBAction)orangeButton:(id)sender { - [self setupForColor:[UIColor orangeColor]]; -} - -- (void)setupForColor:(UIColor *)color { - CGPoint xyPoint; - float brightness; - - if ([self.correctionSwitch isOn]) { - [PHUtilities calculateXY:&xyPoint andBrightness:&brightness fromColor:color forModel:self.light.modelNumber]; - } - else { - [PHUtilities calculateXY:&xyPoint andBrightness:&brightness fromColor:color forModel:@""]; - } - - self.sendHue.on = NO; - self.sendSat.on = NO; - self.sendEffect.on = NO; - self.sendAlert.on = NO; - self.sendTransitionTime.on = NO; - - self.sendOn.on = YES; - self.valueOn.on = YES; - self.sendBri.on = YES; - self.valueBri.value = 255.0f; - self.sendXY.on = YES; - self.valueX.value = xyPoint.x; - self.valueY.value = xyPoint.y; -} - -/** - Creates a lightstate based on selected options in the user interface - @return the lightstate - */ -- (PHLightState *)createLightState { - /*************************************************** - The PHLightState class is used as a parameter for the - Hue SDK. It contains the attribute settings for an individual\ - light. This method creates it from the current - user interface settings for the light - *****************************************************/ - - - - // Create an empty lightstate - PHLightState *lightState = [[PHLightState alloc] init]; - - // Check if on value should be send - if (self.sendOn.on) { - [lightState setOnBool:self.valueOn.on]; - } - - // Check if hue value should be send - if (self.sendHue.on) { - [lightState setHue:[NSNumber numberWithInt:((int)self.valueHue.value)]]; - } - - // Check if saturation value should be send - if (self.sendSat.on) { - [lightState setSaturation:[NSNumber numberWithInt:((int)self.valueSat.value)]]; - } - - // Check if brightness value should be send - if (self.sendBri.on) { - [lightState setBrightness:[NSNumber numberWithInt:((int)self.valueBri.value)]]; - } - - // Check if xy values should be send - if (self.sendXY.on) { - [lightState setX:[NSNumber numberWithFloat:self.valueX.value]]; - [lightState setY:[NSNumber numberWithFloat:self.valueY.value]]; - } - - // Check if effect value should be send - if (self.sendEffect.on) { - if (self.valueEffect.selectedSegmentIndex == 0) { - [lightState setEffectMode:EFFECT_NONE]; - } - else if (self.valueEffect.selectedSegmentIndex == 1) { - [lightState setEffectMode:EFFECT_COLORLOOP]; - } - } - - // Check if alert value should be send - if (self.sendAlert.on) { - if (self.valueAlert.selectedSegmentIndex == 0) { - [lightState setAlertMode:ALERT_NONE]; - } - else if (self.valueAlert.selectedSegmentIndex == 1) { - [lightState setAlertMode:ALERT_SELECT]; - } - else if (self.valueAlert.selectedSegmentIndex == 2) { - [lightState setAlertMode:ALERT_LSELECT]; - } - } - - // Check if transition time should be send - if (self.sendTransitionTime.on) { - [lightState setTransitionTime:[NSNumber numberWithInt:((int)self.valueTransitionTime.value)]]; - } - - return lightState; -} - -@end diff --git a/SampleApp/SampleApp/Lights/PHLightViewController.xib b/SampleApp/SampleApp/Lights/PHLightViewController.xib deleted file mode 100644 index 621923e..0000000 --- a/SampleApp/SampleApp/Lights/PHLightViewController.xib +++ /dev/null @@ -1,1500 +0,0 @@ - - - - 1536 - 12C3104 - 2844 - 1187.34 - 625.00 - - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - 1930 - - - IBProxyObject - IBUIButton - IBUILabel - IBUISegmentedControl - IBUISlider - IBUISwitch - IBUIView - - - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - - - PluginDependencyRecalculationVersion - - - - - IBFilesOwner - IBCocoaTouchFramework - - - IBFirstResponder - IBCocoaTouchFramework - - - - 274 - - - - 292 - {{20, 73}, {32, 21}} - - - - _NS:9 - NO - YES - 7 - NO - IBCocoaTouchFramework - Hue - - 1 - MCAwIDAAA - darkTextColor - - - 0 - - 1 - 17 - - - Helvetica - 17 - 16 - - NO - - - - 292 - {{94, 9}, {40, 21}} - - - - _NS:9 - NO - YES - 7 - NO - IBCocoaTouchFramework - Send - - - 0 - - - NO - - - - 292 - {{162, 9}, {44, 21}} - - - - _NS:9 - NO - YES - 7 - NO - IBCocoaTouchFramework - Value - - - 0 - - - NO - - - - 292 - {{61, 70}, {94, 27}} - - - - _NS:9 - NO - IBCocoaTouchFramework - 0 - 0 - - - - 292 - {{20, 41}, {23, 21}} - - - - _NS:9 - NO - YES - 7 - NO - IBCocoaTouchFramework - On - - - 0 - - - NO - - - - 292 - {{61, 38}, {94, 27}} - - - - _NS:9 - NO - IBCocoaTouchFramework - 0 - 0 - - - - 292 - {{147, 38}, {94, 27}} - - - - _NS:9 - NO - IBCocoaTouchFramework - 0 - 0 - - - - 292 - {{20, 106}, {26, 21}} - - - - _NS:9 - NO - YES - 7 - NO - IBCocoaTouchFramework - Sat - - - 0 - - - NO - - - - 292 - {{61, 103}, {94, 27}} - - - - _NS:9 - NO - IBCocoaTouchFramework - 0 - 0 - - - - 292 - {{20, 139}, {21, 21}} - - - - _NS:9 - NO - YES - 7 - NO - IBCocoaTouchFramework - Bri - - - 0 - - - NO - - - - 292 - {{61, 136}, {94, 27}} - - - - _NS:9 - NO - IBCocoaTouchFramework - 0 - 0 - - - - 292 - {{20, 307}, {44, 21}} - - - - _NS:9 - NO - YES - 7 - NO - IBCocoaTouchFramework - Effect - - - 0 - - - NO - - - - 292 - {{61, 304}, {94, 27}} - - - - _NS:9 - NO - IBCocoaTouchFramework - 0 - 0 - - - - 292 - {{20, 340}, {35, 21}} - - - - _NS:9 - NO - YES - 7 - NO - IBCocoaTouchFramework - Alert - - - 0 - - - NO - - - - 292 - {{61, 337}, {94, 27}} - - - - _NS:9 - NO - IBCocoaTouchFramework - 0 - 0 - - - - 292 - {{20, 172}, {12, 21}} - - - - _NS:9 - NO - YES - 7 - NO - IBCocoaTouchFramework - X - - - 0 - - - NO - - - - 292 - {{61, 186}, {94, 27}} - - - - _NS:9 - NO - IBCocoaTouchFramework - 0 - 0 - - - - 292 - {{20, 205}, {12, 21}} - - - - _NS:9 - NO - YES - 7 - NO - IBCocoaTouchFramework - Y - - - 0 - - - NO - - - - 292 - {{160, 73}, {142, 23}} - - - - _NS:9 - NO - IBCocoaTouchFramework - 0 - 0 - 65535 - - - - 292 - {{160, 106}, {142, 23}} - - - - _NS:9 - NO - IBCocoaTouchFramework - 0 - 0 - 255 - - - - 292 - {{160, 139}, {142, 23}} - - - - _NS:9 - NO - IBCocoaTouchFramework - 0 - 0 - 255 - - - - 292 - {{20, 372}, {48, 21}} - - - - _NS:9 - NO - YES - 7 - NO - IBCocoaTouchFramework - T.time - - - 0 - - - NO - - - - 292 - {{61, 369}, {94, 27}} - - - - _NS:9 - NO - IBCocoaTouchFramework - 0 - 0 - - - - 292 - {{160, 373}, {142, 23}} - - - - _NS:9 - NO - IBCocoaTouchFramework - 0 - 0 - 4 - 100 - - - - 292 - {{160, 172}, {142, 23}} - - - - _NS:9 - NO - IBCocoaTouchFramework - 0 - 0 - - - - 292 - {{160, 205}, {142, 23}} - - - - _NS:9 - NO - IBCocoaTouchFramework - 0 - 0 - - - - 292 - {{162, 303}, {138, 30}} - - - - _NS:9 - NO - IBCocoaTouchFramework - 2 - 2 - 0 - - none - colorloop - - - - - - - - - - - {0, 0} - {0, 0} - - - - - - - - - 292 - {{162, 336}, {138, 30}} - - - - _NS:9 - NO - IBCocoaTouchFramework - 2 - 3 - 0 - - none - select - lselect - - - - - - - - - - - - - {0, 0} - {0, 0} - {0, 0} - - - - - - - - - - 292 - {{34, 229}, {43, 31}} - - - - _NS:9 - NO - IBCocoaTouchFramework - 0 - 0 - - 3 - MQA - - - 1 - MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA - - - 3 - MC41AA - - - 2 - 15 - - - Helvetica-Bold - 15 - 16 - - - - - 292 - {{76, 229}, {43, 31}} - - - - _NS:9 - NO - IBCocoaTouchFramework - 0 - 0 - - - 1 - MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA - - - - - - - - 292 - {{118, 229}, {43, 31}} - - - - _NS:9 - NO - IBCocoaTouchFramework - 0 - 0 - - - 1 - MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA - - - - - - - - 292 - {{160, 229}, {43, 31}} - - - - _NS:9 - NO - IBCocoaTouchFramework - 0 - 0 - - - 1 - MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA - - - - - - - - 292 - {{202, 229}, {43, 31}} - - - - _NS:9 - NO - IBCocoaTouchFramework - 0 - 0 - - - 1 - MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA - - - - - - - - 292 - {{244, 229}, {43, 31}} - - - - _NS:9 - NO - IBCocoaTouchFramework - 0 - 0 - - - 1 - MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA - - - - - - - - 292 - {{208, 268}, {94, 27}} - - - - _NS:9 - NO - IBCocoaTouchFramework - 0 - 0 - YES - - - - 292 - {{20, 271}, {186, 21}} - - - - _NS:9 - NO - YES - 7 - NO - IBCocoaTouchFramework - Gamut correction - - - 0 - - - NO - - - {{0, 64}, {320, 416}} - - - - - 3 - MQA - - 2 - - - - - NO - - - IBUIScreenMetrics - - YES - - - - - - {320, 480} - {480, 320} - - - IBCocoaTouchFramework - Retina 3.5 Full Screen - 0 - - IBCocoaTouchFramework - - - - - - - view - - - - 3 - - - - sendOn - - - - 108 - - - - sendHue - - - - 109 - - - - sendSat - - - - 110 - - - - sendBri - - - - 111 - - - - sendXY - - - - 112 - - - - sendEffect - - - - 113 - - - - sendAlert - - - - 114 - - - - valueOn - - - - 115 - - - - valueHue - - - - 132 - - - - valueSat - - - - 133 - - - - valueBri - - - - 134 - - - - valueX - - - - 135 - - - - valueY - - - - 136 - - - - valueEffect - - - - 137 - - - - valueAlert - - - - 138 - - - - sendTransitionTime - - - - 146 - - - - valueTransitionTime - - - - 147 - - - - redButton - - - - 154 - - - - blueButton - - - - 155 - - - - greenButton - - - - 156 - - - - yellowButton - - - - 157 - - - - violetButton - - - - 158 - - - - orangeButton - - - - 159 - - - - correctionSwitch - - - - 170 - - - - redButton: - - - 7 - - 160 - - - - blueButton: - - - 7 - - 161 - - - - greenButton: - - - 7 - - 162 - - - - yellowButton: - - - 7 - - 163 - - - - violetButton: - - - 7 - - 164 - - - - orangeButton: - - - 7 - - 165 - - - - - - 0 - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -1 - - - File's Owner - - - -2 - - - - - 4 - - - - - 9 - - - - - 14 - - - - - 20 - - - - - 34 - - - - - 35 - - - - - 50 - - - - - 51 - - - - - 66 - - - - - 67 - - - - - 82 - - - - - 98 - - - - - 99 - - - - - 101 - - - - - 102 - - - - - 104 - - - - - 105 - - - - - 106 - - - - - 124 - - - - - 125 - - - - - 126 - - - - - 127 - - - - - 128 - - - - - 130 - - - - - 131 - - - - - 143 - - - - - 144 - - - - - 145 - - - - - 148 - - - - - 149 - - - - - 150 - - - - - 151 - - - - - 152 - - - - - 153 - - - - - 168 - - - - - 169 - - - - - - - PHLightViewController - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - UIResponder - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - - - - - - 170 - - - - - PHLightViewController - UIViewController - - id - id - id - id - id - id - id - - - - blueButton: - id - - - greenButton: - id - - - orangeButton: - id - - - redButton: - id - - - sendState: - id - - - violetButton: - id - - - yellowButton: - id - - - - UIButton - UISwitch - UIButton - UIButton - UIButton - UISwitch - UISwitch - UISwitch - UISwitch - UISwitch - UISwitch - UISwitch - UISwitch - UISegmentedControl - UISlider - UISegmentedControl - UISlider - UISwitch - UISlider - UISlider - UISlider - UISlider - UIButton - UIButton - - - - blueButton - UIButton - - - correctionSwitch - UISwitch - - - greenButton - UIButton - - - orangeButton - UIButton - - - redButton - UIButton - - - sendAlert - UISwitch - - - sendBri - UISwitch - - - sendEffect - UISwitch - - - sendHue - UISwitch - - - sendOn - UISwitch - - - sendSat - UISwitch - - - sendTransitionTime - UISwitch - - - sendXY - UISwitch - - - valueAlert - UISegmentedControl - - - valueBri - UISlider - - - valueEffect - UISegmentedControl - - - valueHue - UISlider - - - valueOn - UISwitch - - - valueSat - UISlider - - - valueTransitionTime - UISlider - - - valueX - UISlider - - - valueY - UISlider - - - violetButton - UIButton - - - yellowButton - UIButton - - - - IBProjectSource - ./Classes/PHLightViewController.h - - - - - 0 - IBCocoaTouchFramework - YES - 3 - 1930 - - diff --git a/SampleApp/SampleApp/Lights/PHLightsViewController.h b/SampleApp/SampleApp/Lights/PHLightsViewController.h index 479e722..7be44df 100644 --- a/SampleApp/SampleApp/Lights/PHLightsViewController.h +++ b/SampleApp/SampleApp/Lights/PHLightsViewController.h @@ -1,14 +1,10 @@ -// -// PHLightsViewController.h -// SDK3rdApp -// -// Copyright (c) 2012 Philips. All rights reserved. -// +/******************************************************************************* + Copyright (c) 2013 Koninklijke Philips N.V. + All Rights Reserved. + ********************************************************************************/ #import @interface PHLightsViewController : UITableViewController -@property (nonatomic, strong) NSDictionary *lights; - @end diff --git a/SampleApp/SampleApp/Lights/PHLightsViewController.m b/SampleApp/SampleApp/Lights/PHLightsViewController.m index f9cce15..b1eb703 100644 --- a/SampleApp/SampleApp/Lights/PHLightsViewController.m +++ b/SampleApp/SampleApp/Lights/PHLightsViewController.m @@ -1,14 +1,11 @@ -// -// PHLightsViewController.m -// SDK3rdApp -// -// Copyright (c) 2012 Philips. All rights reserved. -// +/******************************************************************************* + Copyright (c) 2013 Koninklijke Philips N.V. + All Rights Reserved. + ********************************************************************************/ #import "PHLightsViewController.h" -#import "PHLightViewController.h" - -#import +#import "PHLightOverviewViewController.h" +#import "PHLightControlSelectionViewController.h" @interface PHLightsViewController () @@ -19,85 +16,46 @@ @implementation PHLightsViewController - (id)initWithStyle:(UITableViewStyle)style { self = [super initWithStyle:style]; if (self) { - [self updateLights]; + } return self; } - (void)viewDidLoad { [super viewDidLoad]; - - // Set title of this view - self.title = @"Lights"; - /*************************************************** - Each bridge resource has a notification when it has been - updated. Here we register for the lights cache updated - notification - *****************************************************/ + self.title = NSLocalizedString(@"Lights", @""); - // Add notification listener for cache update of lights - [[PHNotificationManager defaultManager] registerObject:self withSelector:@selector(updateLights) forNotification:LIGHTS_CACHE_UPDATED_NOTIFICATION]; -} - -- (void)viewWillDisappear:(BOOL)animated { - [super viewWillDisappear:animated]; - - [[PHNotificationManager defaultManager] deregisterObjectForAllNotifications:self]; + self.clearsSelectionOnViewWillAppear = YES; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; - // Dispose of any resources that can be recreated. -} - -/** - Gets the list of lights from the cache and updates the tableview - */ -- (void)updateLights { - /*************************************************** - The notification of changes to the lights information - in the Bridge resources cache called this method. - Now we access Bridge resources cache to get updated - information and reload the displayed lights table. - *****************************************************/ - - // Gets lights from cache - PHBridgeResourcesCache *cache = [PHBridgeResourcesReader readBridgeResourcesCache]; - self.lights = cache.lights; - - // Update tableview based on new lights - [self.tableView reloadData]; } #pragma mark - Table view data source - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { - // Return the number of sections. return 1; } - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { - // Return the number of rows in the section. - return self.lights.count; + return 2; } - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { - static NSString *CellIdentifier = @"Cell"; - UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; - if (cell == nil) { - cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier]; - } - - // Sort the light identifiers, so they are always shown in correct order - NSArray *sortedKeys = [self.lights.allKeys sortedArrayUsingSelector:@selector(caseInsensitiveCompare:)]; - - // Get light - PHLight *light = [self.lights objectForKey:[sortedKeys objectAtIndex:indexPath.row]]; + UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:nil]; + cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; - // Update cell with light information - cell.textLabel.text = light.name; - cell.detailTextLabel.text = light.identifier; + // Light overview + if (indexPath.row == 0) { + cell.textLabel.text = NSLocalizedString(@"Overview", @"Overview of the lights"); + } + // Light control + else if (indexPath.row == 1) { + cell.textLabel.text = NSLocalizedString(@"Control", @"Control a light"); + } + // Light renaming and searching are part of the SDK wizard return cell; } @@ -105,19 +63,14 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N #pragma mark - Table view delegate - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { - // Sort the light identifiers, so you get the correct light identifier - NSArray *sortedKeys = [self.lights.allKeys sortedArrayUsingSelector:@selector(caseInsensitiveCompare:)]; - /*************************************************** - The user has selected a light, prepare the PHLightViewController - for that light and push it onto display - *****************************************************/ - - // Get light - PHLight *light = [self.lights objectForKey:[sortedKeys objectAtIndex:indexPath.row]]; - - // Create new view controller for displaying light - PHLightViewController *lightViewController = [[PHLightViewController alloc] initWithNibName:@"PHLightViewController" bundle:nil light:light]; - [self.navigationController pushViewController:lightViewController animated:YES]; + if (indexPath.row == 0) { + PHLightOverviewViewController *lightOverviewViewController = [[PHLightOverviewViewController alloc] initWithStyle:UITableViewCellStyleSubtitle]; + [self.navigationController pushViewController:lightOverviewViewController animated:YES]; + } + else if (indexPath.row == 1) { + PHLightControlSelectionViewController *lightSelectionViewController = [[PHLightControlSelectionViewController alloc] initWithStyle:UITableViewCellStyleSubtitle]; + [self.navigationController pushViewController:lightSelectionViewController animated:YES]; + } } @end diff --git a/SampleApp/SampleApp/Lights/PHLightsViewController.xib b/SampleApp/SampleApp/Lights/PHLightsViewController.xib index cfbed27..ff93176 100644 --- a/SampleApp/SampleApp/Lights/PHLightsViewController.xib +++ b/SampleApp/SampleApp/Lights/PHLightsViewController.xib @@ -1,14 +1,14 @@ - 1536 - 12A269 - 2835 - 1187 - 624.00 + 1552 + 12D78 + 3084 + 1187.37 + 626.00 com.apple.InterfaceBuilder.IBCocoaTouchPlugin - 1919 + 2083 IBProxyObject @@ -36,14 +36,12 @@ {{0, 20}, {320, 548}} - - 3 - MQA + 1 + MCAwIDAgMAA + groupTableViewBackgroundColor - NO YES - NO IBUIScreenMetrics @@ -63,13 +61,13 @@ 2 IBCocoaTouchFramework - NO + 1 1 0 YES 44 - 22 - 22 + 10 + 10 @@ -155,6 +153,6 @@ YES 3 YES - 1919 + 2083 diff --git a/SampleApp/SampleApp/PHAppDelegate.h b/SampleApp/SampleApp/PHAppDelegate.h index 4525c44..9bcd5d1 100644 --- a/SampleApp/SampleApp/PHAppDelegate.h +++ b/SampleApp/SampleApp/PHAppDelegate.h @@ -1,9 +1,7 @@ -// -// PHAppDelegate.h -// SDK3rdApp -// -// Copyright (c) 2012 Philips. All rights reserved. -// +/******************************************************************************* + Copyright (c) 2013 Koninklijke Philips N.V. + All Rights Reserved. + ********************************************************************************/ #define UIAppDelegate ((PHAppDelegate *)[[UIApplication sharedApplication] delegate]) @@ -20,7 +18,15 @@ @property (strong, nonatomic) UIWindow *window; @property (strong, nonatomic) UINavigationController *navigationController; -@property (nonatomic, strong) PHHueSDK *phHueSDK; + +@property (strong, nonatomic) PHHueSDK *phHueSDK; + +/** + Whether responses regarding the communication with the bridge should be shown + Note: errors will always be shown + */ +@property (assign, nonatomic) BOOL showResponses; + #pragma mark - HueSDK diff --git a/SampleApp/SampleApp/PHAppDelegate.m b/SampleApp/SampleApp/PHAppDelegate.m index 1937315..daba1df 100644 --- a/SampleApp/SampleApp/PHAppDelegate.m +++ b/SampleApp/SampleApp/PHAppDelegate.m @@ -1,16 +1,14 @@ -// -// PHAppDelegate.m -// SDK3rdApp -// -// Copyright (c) 2012 Philips. All rights reserved. -// +/******************************************************************************* + Copyright (c) 2013 Koninklijke Philips N.V. + All Rights Reserved. + ********************************************************************************/ #import "PHAppDelegate.h" -#import "PHViewController.h" +#import "PHMainViewController.h" #import "PHLoadingViewController.h" -#import +#import @interface PHAppDelegate () @@ -31,6 +29,7 @@ @implementation PHAppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; + /*************************************************** The Hue SDK is created as a property in the App delegate .h file (@property (nonatomic, strong) PHHueSDK *phHueSDK;) @@ -47,27 +46,33 @@ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:( self.phHueSDK = [[PHHueSDK alloc] init]; [self.phHueSDK startUpSDK]; - // Create a viewcontroller in a navigation controller and make the navigation controller the rootviewcontroller of the app - PHViewController *viewController = [[PHViewController alloc] initWithNibName:@"PHViewController" bundle:nil]; - self.navigationController = [[UINavigationController alloc] initWithRootViewController:viewController]; + // Create the main view controller in a navigation controller and make the navigation controller the rootviewcontroller of the app + PHMainViewController *mainViewController = [[PHMainViewController alloc] initWithStyle:UITableViewCellStyleSubtitle]; + self.navigationController = [[UINavigationController alloc] initWithRootViewController:mainViewController]; self.window.rootViewController = self.navigationController; [self.window makeKeyAndVisible]; - // Listen for notifications PHNotificationManager *notificationManager = [PHNotificationManager defaultManager]; + /*************************************************** - The SDK will send the following notifications in response to events + The SDK will send the following notifications in response to events: + + - LOCAL_CONNECTION_NOTIFICATION + This notification will notify that the bridge heartbeat occurred and the bridge resources cache data has been updated + + - NO_LOCAL_CONNECTION_NOTIFICATION + This notification will notify that there is no connection with the bridge + + - NO_LOCAL_AUTHENTICATION_NOTIFICATION + This notification will notify that there is no authentication against the bridge *****************************************************/ - + [notificationManager registerObject:self withSelector:@selector(localConnection) forNotification:LOCAL_CONNECTION_NOTIFICATION]; [notificationManager registerObject:self withSelector:@selector(noLocalConnection) forNotification:NO_LOCAL_CONNECTION_NOTIFICATION]; - /*************************************************** - If there is no authentication against the bridge this notification is sent - *****************************************************/ - [notificationManager registerObject:self withSelector:@selector(notAuthenticated) forNotification:NO_LOCAL_AUTHENTICATION_NOTIFICATION]; + /*************************************************** - The local heartbeat is a regular timer event in the SDK. Once enabled the SDK regular collects the current state of resources managed + The local heartbeat is a regular timer event in the SDK. Once enabled the SDK regular collects the current state of resources managed by the bridge into the Bridge Resources Cache *****************************************************/ @@ -194,11 +199,11 @@ - (void)notAuthenticated { self.noConnectionAlert = nil; } - // Start local authenticion process /*************************************************** doAuthentication will start the push linking *****************************************************/ - + + // Start local authenticion process [self performSelector:@selector(doAuthentication) withObject:nil afterDelay:0.5]; } @@ -311,6 +316,7 @@ - (void)searchForBridgeLocal { [bridgeSearch startSearchWithCompletionHandler:^(NSDictionary *bridgesFound) { // Done with search, remove loading view [self removeLoadingView]; + /*************************************************** The search is complete, check whether we found a bridge *****************************************************/ @@ -319,6 +325,7 @@ - (void)searchForBridgeLocal { if (bridgesFound.count > 0) { // Results were found, show options to user (from a user point of view, you should select automatically when there is only one bridge found) self.bridgeSelectionViewController = [[PHBridgeSelectionViewController alloc] initWithNibName:@"PHBridgeSelectionViewController" bundle:[NSBundle mainBundle] bridges:bridgesFound delegate:self]; + /*************************************************** Use the list of bridges, present them to the user, so one can be selected. *****************************************************/ @@ -332,7 +339,6 @@ - (void)searchForBridgeLocal { No bridge was found was found. Tell the user and offer to retry.. *****************************************************/ - // No bridges were found, show this to the user self.noBridgeFoundAlert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"No bridges", @"No bridge found alert title") message:NSLocalizedString(@"Could not find bridge", @"No bridge found alert message") @@ -363,10 +369,12 @@ - (void)bridgeSelectedWithIpAddress:(NSString *)ipAddress andMacAddress:(NSStrin // Set SDK to use bridge and our default username (which should be the same across all apps, so pushlinking is only required once) NSString *username = [PHUtilities whitelistIdentifier]; + /*************************************************** Set the username, ipaddress and mac address, as the bridge properties that the SDK framework will use *****************************************************/ + [UIAppDelegate.phHueSDK setBridgeToUseWithIpAddress:ipAddress macAddress:macAddress andUsername:username]; /*************************************************** @@ -387,6 +395,7 @@ - (void)bridgeSelectedWithIpAddress:(NSString *)ipAddress andMacAddress:(NSStrin - (void)doAuthentication { // Disable heartbeats [self disableLocalHeartbeat]; + /*************************************************** To be certain that we own this bridge we must manually push link it. Here we display the view to do this. @@ -397,9 +406,10 @@ - (void)doAuthentication { [self.navigationController presentViewController:self.pushLinkViewController animated:YES completion:^{ /*************************************************** - Start the push linking process. + Start the push linking process. *****************************************************/ - // Start pushlinking when the interface is shown + + // Start pushlinking when the interface is shown [self.pushLinkViewController startPushLinking]; }]; } @@ -408,11 +418,12 @@ - (void)doAuthentication { Delegate method for PHBridgePushLinkViewController which is invoked if the pushlinking was successfull */ - (void)pushlinkSuccess { - // Remove pushlink view controller /*************************************************** Push linking succeeded we are authenticated against the chosen bridge. *****************************************************/ + + // Remove pushlink view controller [self.navigationController dismissViewControllerAnimated:YES completion:nil]; self.pushLinkViewController = nil; diff --git a/SampleApp/SampleApp/PHMainViewController.h b/SampleApp/SampleApp/PHMainViewController.h new file mode 100644 index 0000000..7eb2ff6 --- /dev/null +++ b/SampleApp/SampleApp/PHMainViewController.h @@ -0,0 +1,14 @@ +/******************************************************************************* + Copyright (c) 2013 Koninklijke Philips N.V. + All Rights Reserved. + ********************************************************************************/ + +#import +#import +#import "PHConfigurationViewController.h" + +@interface PHMainViewController : UITableViewController + +- (id)initWithStyle:(UITableViewStyle)style; + +@end diff --git a/SampleApp/SampleApp/PHMainViewController.m b/SampleApp/SampleApp/PHMainViewController.m new file mode 100644 index 0000000..59b1006 --- /dev/null +++ b/SampleApp/SampleApp/PHMainViewController.m @@ -0,0 +1,231 @@ +/******************************************************************************* + Copyright (c) 2013 Koninklijke Philips N.V. + All Rights Reserved. + ********************************************************************************/ + +#import "PHMainViewController.h" +#import "PHLightsViewController.h" +#import "PHGroupsViewController.h" +#import "PHSchedulesViewController.h" +#import "PHAppDelegate.h" + +#import + +@interface PHMainViewController () + +@property (assign, nonatomic) BOOL logging; + +@end + +@implementation PHMainViewController + +@synthesize logging = _logging; + +- (id)initWithStyle:(UITableViewStyle)style { + self = [super initWithStyle:style]; + if (self) { + + } + return self; +} + +- (void)viewDidLoad { + [super viewDidLoad]; + + self.navigationController.navigationBar.barStyle = UIBarStyleBlack; + + self.title = NSLocalizedString(@"Sample app", @""); + + self.clearsSelectionOnViewWillAppear = YES; + + PHNotificationManager *notificationManager = [PHNotificationManager defaultManager]; + // Register for the local heartbeat notifications + [notificationManager registerObject:self withSelector:@selector(localConnection) forNotification:LOCAL_CONNECTION_NOTIFICATION]; + [notificationManager registerObject:self withSelector:@selector(noLocalConnection) forNotification:NO_LOCAL_CONNECTION_NOTIFICATION]; +} + +- (void)viewDidUnload { + [super viewDidUnload]; +} + +- (void)didReceiveMemoryWarning { + [super didReceiveMemoryWarning]; +} + +#pragma mark - Table view data source + +- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { + return 4; +} + +- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { + switch (section) { + case 0: + return 2; + break; + case 1: + return 3; + break; + case 2: + return 1; + break; + case 3: + return 2; + break; + default: + return 0; + break; + } +} + +- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { + UITableViewCell *cell = nil; + + // Bridge info + if (indexPath.section == 0) { + cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:nil]; + cell.selectionStyle = UITableViewCellSelectionStyleNone; + + // IP address + if (indexPath.row == 0) { + PHBridgeResourcesCache *cache = [PHBridgeResourcesReader readBridgeResourcesCache]; + + cell.textLabel.text = NSLocalizedString(@"IP address", @""); + // Set the ip address of the bridge + cell.detailTextLabel.text = cache.bridgeConfiguration.ipaddress; + } + // Last heartbeat + else if (indexPath.row == 1) { + cell.selectionStyle = UITableViewCellSelectionStyleNone; + cell.textLabel.text = NSLocalizedString(@"Last heartbeat", @""); + + if (UIAppDelegate.phHueSDK.localConnected) { + NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; + [dateFormatter setDateStyle:NSDateFormatterNoStyle]; + [dateFormatter setTimeStyle:NSDateFormatterMediumStyle]; + + // Set current time as last successful heartbeat time + cell.detailTextLabel.text = [dateFormatter stringFromDate:[NSDate date]]; + } + else { + cell.detailTextLabel.text = NSLocalizedString(@"no connection", @""); + } + } + } + // SDK domain objects + else if (indexPath.section == 1) { + cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:nil]; + cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; + + // Lights + if (indexPath.row == 0) { + cell.textLabel.text = NSLocalizedString(@"Lights", @"Overview of the features for lights"); + } + // Groups + else if (indexPath.row == 1) { + cell.textLabel.text = NSLocalizedString(@"Groups", @"Overview of the features for groups"); + } + // Schedules + else if (indexPath.row == 2) { + cell.textLabel.text = NSLocalizedString(@"Schedules", @"Overview of the features for schedules"); + } + } + // Brdige config + else if (indexPath.section == 2) { + cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:nil]; + cell.textLabel.text = NSLocalizedString(@"Bridge config", @"Overview of the bridge configuration"); + } + // Other options + else if (indexPath.section == 3) { + // Logging + if (indexPath.row == 0) { + cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:nil]; + cell.textLabel.text = NSLocalizedString(@"Logging", @"Switching logging on/off"); + cell.selectionStyle = UITableViewCellSelectionStyleNone; + + UISwitch *loggingSwitch = [[UISwitch alloc] initWithFrame:CGRectZero]; + loggingSwitch.on = self.logging; + [loggingSwitch addTarget:self action:@selector(loggingSwitchChanged:) forControlEvents:UIControlEventValueChanged]; + + cell.accessoryView = loggingSwitch; + } + else if (indexPath.row == 1) { + cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:nil]; + cell.textLabel.text = NSLocalizedString(@"Show responses", @"Show responses on/off"); + cell.selectionStyle = UITableViewCellSelectionStyleNone; + + UISwitch *showResponsesSwitch = [[UISwitch alloc] initWithFrame:CGRectZero]; + showResponsesSwitch.on = UIAppDelegate.showResponses; + [showResponsesSwitch addTarget:self action:@selector(showResponsesSwitchChanged:) forControlEvents:UIControlEventValueChanged]; + + cell.accessoryView = showResponsesSwitch; + } + } + + return cell; +} + +#pragma mark - Table view delegate + +- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { + if (indexPath.section == 1) { + if (indexPath.row == 0) { + PHLightsViewController *lightsViewController = [[PHLightsViewController alloc] initWithStyle:UITableViewCellStyleSubtitle]; + [self.navigationController pushViewController:lightsViewController animated:YES]; + } + else if (indexPath.row == 1) { + PHGroupsViewController *groupsViewController = [[PHGroupsViewController alloc] initWithStyle:UITableViewCellStyleSubtitle]; + [self.navigationController pushViewController:groupsViewController animated:YES]; + } + else if (indexPath.row == 2) { + PHSchedulesViewController *schedulesViewController = [[PHSchedulesViewController alloc] initWithStyle:UITableViewCellStyleSubtitle]; + [self.navigationController pushViewController:schedulesViewController animated:YES]; + } + } + else if (indexPath.section == 2) { + PHConfigurationViewController *configViewController = [[PHConfigurationViewController alloc] initWithNibName:@"PHConfigurationViewController" bundle:[NSBundle mainBundle] hueSDK:UIAppDelegate.phHueSDK delegate:self]; + + UINavigationController *configNavController = [[UINavigationController alloc] initWithRootViewController:configViewController]; + configNavController.modalPresentationStyle = UIModalPresentationFormSheet; + [self.navigationController presentViewController:configNavController animated:YES completion:nil]; + } +} + +#pragma mark - Switches + +- (void)loggingSwitchChanged:(id)sender { + UISwitch *loggingSwitch = (UISwitch *)sender; + + self.logging = [loggingSwitch isOn]; + + [UIAppDelegate.phHueSDK enableLogging:self.logging]; +} + +- (void)showResponsesSwitchChanged:(id)sender { + UISwitch *showResponsesSwitch = (UISwitch *)sender; + + UIAppDelegate.showResponses = [showResponsesSwitch isOn]; +} + +#pragma mark - Configuration view controller delegate + +- (void)closeConfigurationView:(PHConfigurationViewController *)configurationView { + [self.navigationController dismissViewControllerAnimated:YES completion:NULL]; +} + +- (void)startSearchForBridge:(PHConfigurationViewController *)configurationView { + [self.navigationController dismissViewControllerAnimated:YES completion:NULL]; + [UIAppDelegate searchForBridgeLocal]; +} + +#pragma mark - Notification receivers + +- (void)localConnection { + [self.tableView reloadData]; +} + +- (void)noLocalConnection { + [self.tableView reloadData]; +} + +@end diff --git a/SampleApp/SampleApp/PHMainViewController.xib b/SampleApp/SampleApp/PHMainViewController.xib new file mode 100644 index 0000000..06c1fa1 --- /dev/null +++ b/SampleApp/SampleApp/PHMainViewController.xib @@ -0,0 +1,161 @@ + + + + 1552 + 12D78 + 3084 + 1187.37 + 626.00 + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + 2083 + + + IBProxyObject + IBUITableView + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + PluginDependencyRecalculationVersion + + + + + IBFilesOwner + IBCocoaTouchFramework + + + IBFirstResponder + IBCocoaTouchFramework + + + + 274 + {{0, 20}, {320, 548}} + + + _NS:9 + + 1 + MCAwIDAgMAA + groupTableViewBackgroundColor + + YES + + 2 + + + IBUIScreenMetrics + + YES + + + + + + {320, 568} + {568, 320} + + + IBCocoaTouchFramework + Retina 4 Full Screen + 2 + + IBCocoaTouchFramework + YES + 1 + 2 + 0 + YES + 44 + 10 + 10 + + + + + + + view + + + + 353 + + + + dataSource + + + + 351 + + + + delegate + + + + 352 + + + + + + 0 + + + + + + -1 + + + File's Owner + + + -2 + + + + + 350 + + + + + + + PHViewController + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UIResponder + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + + + + 353 + + + + + PHViewController + UITableViewController + + IBProjectSource + ./Classes/PHViewController.h + + + + + 0 + IBCocoaTouchFramework + YES + 3 + 2083 + + diff --git a/SampleApp/SampleApp/PHViewController.h b/SampleApp/SampleApp/PHViewController.h deleted file mode 100644 index 3254ca6..0000000 --- a/SampleApp/SampleApp/PHViewController.h +++ /dev/null @@ -1,19 +0,0 @@ -// -// PHViewController.h -// SDK3rdApp -// -// Copyright (c) 2012 Philips. All rights reserved. -// - -#import -#import "PHConfigurationViewController.h" - -@interface PHViewController : UIViewController - -@property (unsafe_unretained, nonatomic) IBOutlet UILabel *currentBridgeLabel; -@property (unsafe_unretained, nonatomic) IBOutlet UILabel *lastLocalHeartbeatLabel; - -- (IBAction)showLights:(id)sender; -- (IBAction)showBridgeConfig:(id)sender; - -@end diff --git a/SampleApp/SampleApp/PHViewController.m b/SampleApp/SampleApp/PHViewController.m deleted file mode 100644 index a9238f1..0000000 --- a/SampleApp/SampleApp/PHViewController.m +++ /dev/null @@ -1,123 +0,0 @@ -// -// PHViewController.m -// SDK3rdApp -// -// Copyright (c) 2012 Philips. All rights reserved. -// - -#import "PHViewController.h" -#import "PHLightsViewController.h" -#import "PHAppDelegate.h" - -#import - -@interface PHViewController () - -@end - -@implementation PHViewController - -- (void)viewDidLoad { - [super viewDidLoad]; - - self.navigationController.navigationBar.barStyle = UIBarStyleBlack; - self.title = @"Sample app"; - /*************************************************** - The localConnection notification will notify that - the bridge heartbeat occurred and the bridge resources - cache data has been updated - *****************************************************/ - - // Listen for notifications - PHNotificationManager *notificationManager = [PHNotificationManager defaultManager]; - [notificationManager registerObject:self withSelector:@selector(localConnection) forNotification:LOCAL_CONNECTION_NOTIFICATION]; - [notificationManager registerObject:self withSelector:@selector(noLocalConnection) forNotification:NO_LOCAL_CONNECTION_NOTIFICATION]; -} - -- (void)didReceiveMemoryWarning { - [super didReceiveMemoryWarning]; -} - -- (void)viewDidUnload { - [self setCurrentBridgeLabel:nil]; - [self setLastLocalHeartbeatLabel:nil]; - [super viewDidUnload]; -} - -#pragma mark - Button actions - -/** - Action for the show lights button - */ -- (IBAction)showLights:(id)sender { - /*************************************************** - Show the lights view controller for the lights - status - *****************************************************/ - - PHLightsViewController *lightsViewController = [[PHLightsViewController alloc] initWithStyle:UITableViewCellStyleSubtitle]; - [self.navigationController pushViewController:lightsViewController animated:YES]; -} - -/** - Action for the show configuration button - */ -- (IBAction)showBridgeConfig:(id)sender { - PHConfigurationViewController *configViewController = [[PHConfigurationViewController alloc] initWithNibName:@"PHConfigurationViewController" - bundle:[NSBundle mainBundle] - hueSDK:UIAppDelegate.phHueSDK - delegate:self]; - - UINavigationController *configNavController = [[UINavigationController alloc] initWithRootViewController:configViewController]; - configNavController.modalPresentationStyle = UIModalPresentationFormSheet; - - [self.navigationController presentViewController:configNavController animated:YES completion:NULL]; -} -#pragma mark - Configuration view controller delegate - -- (void)closeConfigurationView:(PHConfigurationViewController *)configurationView { - [self.navigationController dismissViewControllerAnimated:YES completion:NULL]; -} - -- (void)startSearchForBridge:(PHConfigurationViewController *)configurationView { - [self.navigationController dismissViewControllerAnimated:YES completion:NULL]; - [UIAppDelegate searchForBridgeLocal]; -} - -#pragma mark - Notification receivers - -/** - Notification receiver for successful local connection - */ -- (void)localConnection { - /*************************************************** - PHBridgeResourcesReader readBridgeResourcesCache, - returns the up to date PHBridgeResourcesCache status - Here it is used to display the bridge ipaddress - *****************************************************/ - - // Read latest cache, update ip of bridge in interface - PHBridgeResourcesCache *cache = [PHBridgeResourcesReader readBridgeResourcesCache]; - self.currentBridgeLabel.text = cache.bridgeConfiguration.ipaddress; - - // Set current time as last successful local heartbeat time - NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; - [dateFormatter setDateStyle:NSDateFormatterNoStyle]; - [dateFormatter setTimeStyle:NSDateFormatterMediumStyle]; - /*************************************************** - Displays the current time to show when the last - heartbeat was executed. - *****************************************************/ - - self.lastLocalHeartbeatLabel.text = [dateFormatter stringFromDate:[NSDate date]]; -} - -/** - Notification receiver for failed local connection - */ -- (void)noLocalConnection { - // Update connection status label - self.lastLocalHeartbeatLabel.text = @"No connection"; -} - -@end diff --git a/SampleApp/SampleApp/PHViewController.xib b/SampleApp/SampleApp/PHViewController.xib deleted file mode 100644 index 5de027e..0000000 --- a/SampleApp/SampleApp/PHViewController.xib +++ /dev/null @@ -1,396 +0,0 @@ - - - - 1536 - 12C2034 - 2843 - 1187.34 - 625.00 - - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - 1929 - - - IBProxyObject - IBUIButton - IBUILabel - IBUIView - - - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - - - PluginDependencyRecalculationVersion - - - - - IBFilesOwner - IBCocoaTouchFramework - - - IBFirstResponder - IBCocoaTouchFramework - - - - 274 - - - - 292 - {{20, 12}, {148, 21}} - - - - _NS:9 - NO - YES - 7 - NO - IBCocoaTouchFramework - Current bridge: - - 1 - MCAwIDAAA - darkTextColor - - - 0 - - 1 - 17 - - - Helvetica - 17 - 16 - - NO - - - - 292 - {{176, 12}, {123, 21}} - - - - _NS:9 - NO - YES - 7 - NO - IBCocoaTouchFramework - Unknown - - - 0 - - - NO - - - - 292 - {{20, 34}, {148, 21}} - - - - _NS:9 - NO - YES - 7 - NO - IBCocoaTouchFramework - Last local hb: - - - 0 - - - NO - - - - 292 - {{176, 34}, {123, 21}} - - - _NS:9 - NO - YES - 7 - NO - IBCocoaTouchFramework - Unknown - - - 0 - - - NO - - - - 292 - {{20, 75}, {279, 44}} - - - - _NS:9 - NO - IBCocoaTouchFramework - 0 - 0 - 1 - Show lights - - 3 - MQA - - - 1 - MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA - - - 3 - MC41AA - - - 2 - 15 - - - Helvetica-Bold - 15 - 16 - - - - - 292 - {{20, 126}, {279, 44}} - - - _NS:9 - NO - IBCocoaTouchFramework - 0 - 0 - 1 - Show bridge config - - - 1 - MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA - - - - - - - {{0, 64}, {320, 416}} - - - - - 3 - MC43NQA - - 2 - - - NO - - - 1 - NO - - IBCocoaTouchFramework - - - - - - - view - - - - 7 - - - - currentBridgeLabel - - - - 309 - - - - lastLocalHeartbeatLabel - - - - 326 - - - - showLights: - - - 7 - - 305 - - - - showBridgeConfig: - - - 7 - - 308 - - - - - - 0 - - - - - - -1 - - - File's Owner - - - -2 - - - - - 6 - - - - - - - - - - - - - 296 - - - - - 297 - - - - - 301 - - - - - 304 - - - - - 317 - - - - - 318 - - - - - - - PHViewController - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - UIResponder - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - - - - - - 331 - - - - - PHViewController - UIViewController - - id - id - id - id - - - - showBridgeConfig: - id - - - showGroups: - id - - - showLights: - id - - - showSchedules: - id - - - - UILabel - UILabel - - - - currentBridgeLabel - UILabel - - - lastLocalHeartbeatLabel - UILabel - - - - IBProjectSource - ./Classes/PHViewController.h - - - - - 0 - IBCocoaTouchFramework - YES - 3 - 1929 - - diff --git a/SampleApp/SampleApp/Schedules/Features/PHScheduleAddingViewController.h b/SampleApp/SampleApp/Schedules/Features/PHScheduleAddingViewController.h new file mode 100644 index 0000000..b7af4b6 --- /dev/null +++ b/SampleApp/SampleApp/Schedules/Features/PHScheduleAddingViewController.h @@ -0,0 +1,13 @@ +/******************************************************************************* + Copyright (c) 2013 Koninklijke Philips N.V. + All Rights Reserved. + ********************************************************************************/ + +#import + +@interface PHScheduleAddingViewController : UIViewController + +@property (weak, nonatomic) IBOutlet UITextField *nameTextField; +@property (weak, nonatomic) IBOutlet UIDatePicker *datePicker; + +@end diff --git a/SampleApp/SampleApp/Schedules/Features/PHScheduleAddingViewController.m b/SampleApp/SampleApp/Schedules/Features/PHScheduleAddingViewController.m new file mode 100644 index 0000000..fc16b3d --- /dev/null +++ b/SampleApp/SampleApp/Schedules/Features/PHScheduleAddingViewController.m @@ -0,0 +1,75 @@ +/******************************************************************************* + Copyright (c) 2013 Koninklijke Philips N.V. + All Rights Reserved. + ********************************************************************************/ + +#import "PHAppDelegate.h" +#import "PHScheduleAddingViewController.h" + +#include + +@interface PHScheduleAddingViewController () + +@end + +@implementation PHScheduleAddingViewController + +- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { + self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; + if (self) { + // Custom initialization + } + return self; +} + +- (void)viewDidLoad { + [super viewDidLoad]; + + self.datePicker.date = [NSDate date]; +} + +- (void)didReceiveMemoryWarning { + [super didReceiveMemoryWarning]; +} + +- (IBAction)addButton:(id)sender { + id bridgeSendAPI = [[[PHOverallFactory alloc] init] bridgeSendAPI]; + + PHSchedule *schedule = [[PHSchedule alloc] init]; + schedule.name = self.nameTextField.text; + schedule.scheduleDescription = @"Test schedule"; + schedule.date = self.datePicker.date; + schedule.groupIdentifier = @"0"; + + // The lights start blinking when the schedule is executed + PHLightState *lightState = [[PHLightState alloc] init]; + lightState.alert = ALERT_LSELECT; + + schedule.state = lightState; + + // Create the schedule + [bridgeSendAPI createSchedule:schedule completionHandler:^(NSString *scheduleIdentifier, NSArray *errors) { + if (UIAppDelegate.showResponses || errors != nil) { + NSString *message = [NSString stringWithFormat:@"%@: %@\n%@: %@", + NSLocalizedString(@"Schedule identifier", @""), scheduleIdentifier != nil ? scheduleIdentifier : @"", + NSLocalizedString(@"Errors", @""), errors != nil ? errors : NSLocalizedString(@"none", @"")]; + + UIAlertView *errorAlert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Response", @"") + message:message + delegate:nil + cancelButtonTitle:nil + otherButtonTitles:NSLocalizedString(@"Ok", @""), nil]; + [errorAlert show]; + } + }]; +} + +#pragma mark - Text field delegate + +- (BOOL)textFieldShouldReturn:(UITextField *)textField { + // Close keyboard after editing a text field + [textField resignFirstResponder]; + return YES; +} + +@end diff --git a/SampleApp/SampleApp/Schedules/Features/PHScheduleAddingViewController.xib b/SampleApp/SampleApp/Schedules/Features/PHScheduleAddingViewController.xib new file mode 100644 index 0000000..9328286 --- /dev/null +++ b/SampleApp/SampleApp/Schedules/Features/PHScheduleAddingViewController.xib @@ -0,0 +1,399 @@ + + + + 1552 + 12D78 + 3084 + 1187.37 + 626.00 + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + 2083 + + + IBProxyObject + IBUIButton + IBUIDatePicker + IBUILabel + IBUITextField + IBUIView + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + PluginDependencyRecalculationVersion + + + + + IBFilesOwner + IBCocoaTouchFramework + + + IBFirstResponder + IBCocoaTouchFramework + + + + 274 + + + + 290 + {{16, 58}, {289, 216}} + + + _NS:9 + IBCocoaTouchFramework + 0 + 0 + + America/Los_Angeles + + VFppZgAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAC5AAAABAAAABCepkign7sVkKCGKqChmveQ +y4kaoNIj9HDSYSYQ1v50INiArZDa/tGg28CQENzes6DdqayQ3r6VoN+JjpDgnneg4WlwkOJ+WaDjSVKQ +5F47oOUpNJDmR1gg5xJREOgnOiDo8jMQ6gccIOrSFRDr5v4g7LH3EO3G4CDukdkQ76/8oPBxuxDxj96g +8n/BkPNvwKD0X6OQ9U+ioPY/hZD3L4Sg+CiiEPkPZqD6CIQQ+viDIPvoZhD82GUg/chIEP64RyD/qCoQ +AJgpIAGIDBACeAsgA3EokARhJ6AFUQqQBkEJoAcw7JAHjUOgCRDOkAmtvyAK8LCQC+CvoAzZzRANwJGg +DrmvEA+priAQmZEQEYmQIBJ5cxATaXIgFFlVEBVJVCAWOTcQFyk2IBgiU5AZCRggGgI1kBryNKAb4heQ +HNIWoB3B+ZAesfigH6HbkCB2KyAhgb2QIlYNICNq2hAkNe8gJUq8ECYV0SAnKp4QJ/7toCkKgBAp3s+g +KupiECu+saAs036QLZ6ToC6zYJAvfnWgMJNCkDFnkiAycySQM0d0IDRTBpA1J1YgNjLokDcHOCA4HAUQ +OOcaIDn75xA6xvwgO9vJEDywGKA9u6sQPo/6oD+bjRBAb9ygQYSpkEJPvqBDZIuQRC+goEVEbZBF89Mg +Ry2KEEfTtSBJDWwQSbOXIErtThBLnLOgTNZqkE18laBOtkyQT1x3oFCWLpBRPFmgUnYQkFMcO6BUVfKQ +VPwdoFY11JBW5TogWB7xEFjFHCBZ/tMQWqT+IFvetRBchOAgXb6XEF5kwiBfnnkQYE3eoGGHlZBiLcCg +Y2d3kGQNoqBlR1mQZe2EoGcnO5BnzWagaQcdkGmtSKBq5v+Qa5ZlIGzQHBBtdkcgbq/+EG9WKSBwj+AQ +cTYLIHJvwhBzFe0gdE+kEHT/CaB2OMCQdt7roHgYopB4vs2gefiEkHqer6B72GaQfH6RoH24SJB+XnOg +f5gqkAABAAECAwEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEA +AQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEA +AQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEA +AQABAAEAAQAB//+dkAEA//+PgAAE//+dkAEI//+dkAEMUERUAFBTVABQV1QAUFBUAAAAAAEAAAABA + + + + 389872689.664132 + + 1 + + + + 292 + {{16, 18}, {46, 21}} + + + _NS:9 + NO + YES + 7 + NO + IBCocoaTouchFramework + Name + + 1 + MCAwIDAAA + darkTextColor + + + 0 + + 1 + 17 + + + Helvetica + 17 + 16 + + NO + + + + 292 + {{16, 287}, {289, 44}} + + + _NS:9 + NO + IBCocoaTouchFramework + 0 + 0 + 1 + Add + + 3 + MQA + + + 1 + MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA + + + 3 + MC41AA + + + 2 + 15 + + + Helvetica-Bold + 15 + 16 + + + + + 292 + {{154, 15}, {151, 30}} + + + _NS:9 + NO + YES + IBCocoaTouchFramework + 0 + + 3 + + 3 + MAA + + 2 + + + YES + 17 + + IBCocoaTouchFramework + + + 1 + 14 + + + Helvetica + 14 + 16 + + + + + 292 + {{16, 320}, {280, 64}} + + + _NS:9 + NO + YES + 7 + NO + IBCocoaTouchFramework + Note 1: for this sample app, all the lights available in the bridge will be part of the group + + + 0 + 4 + + Helvetica + Helvetica + 0 + 13 + + + Helvetica + 13 + 16 + + NO + 280 + + + + 292 + {{16, 358}, {280, 64}} + + _NS:9 + NO + YES + 7 + NO + IBCocoaTouchFramework + Note 2: the lights start blinking when the schedule is executed + + + 0 + 4 + + + NO + 280 + + + {{0, 20}, {320, 548}} + + + + 3 + MQA + + + + + IBUIScreenMetrics + + YES + + + + + + {320, 568} + {568, 320} + + + IBCocoaTouchFramework + Retina 4 Full Screen + 2 + + IBCocoaTouchFramework + + + + + + + view + + + + 3 + + + + datePicker + + + + 82 + + + + nameTextField + + + + 84 + + + + addButton: + + + 7 + + 83 + + + + delegate + + + + 85 + + + + + + 0 + + + + + + 1 + + + + + + + + + + + + + -1 + + + File's Owner + + + -2 + + + + + 4 + + + + + + 23 + + + + + 26 + + + + + + 33 + + + + + + 78 + + + + + + 81 + + + + + + + PHScheduleAddingViewController + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UIResponder + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + + + + 85 + + + 0 + IBCocoaTouchFramework + YES + 3 + 2083 + + diff --git a/SampleApp/SampleApp/Schedules/Features/PHScheduleDeletingViewController.h b/SampleApp/SampleApp/Schedules/Features/PHScheduleDeletingViewController.h new file mode 100644 index 0000000..0659f2c --- /dev/null +++ b/SampleApp/SampleApp/Schedules/Features/PHScheduleDeletingViewController.h @@ -0,0 +1,10 @@ +/******************************************************************************* + Copyright (c) 2013 Koninklijke Philips N.V. + All Rights Reserved. + ********************************************************************************/ + +#import + +@interface PHScheduleDeletingViewController : UITableViewController + +@end diff --git a/SampleApp/SampleApp/Schedules/Features/PHScheduleDeletingViewController.m b/SampleApp/SampleApp/Schedules/Features/PHScheduleDeletingViewController.m new file mode 100644 index 0000000..061a7a9 --- /dev/null +++ b/SampleApp/SampleApp/Schedules/Features/PHScheduleDeletingViewController.m @@ -0,0 +1,108 @@ +/******************************************************************************* + Copyright (c) 2013 Koninklijke Philips N.V. + All Rights Reserved. + ********************************************************************************/ + +#import "PHAppDelegate.h" +#import "PHScheduleDeletingViewController.h" + +#import + +@interface PHScheduleDeletingViewController () + +@property (strong, nonatomic) NSArray *schedules; + +@end + +@implementation PHScheduleDeletingViewController + +@synthesize schedules = _schedules; + +- (id)initWithStyle:(UITableViewStyle)style { + self = [super initWithStyle:style]; + if (self) { + [self updateSchedules]; + } + return self; +} + +- (void)dealloc { + [[PHNotificationManager defaultManager] deregisterObjectForAllNotifications:self]; +} + +- (void)viewDidLoad { + [super viewDidLoad]; + + self.title = NSLocalizedString(@"Delete schedule", @""); + + self.clearsSelectionOnViewWillAppear = NO; + + // Set the tableview in editing mode + self.tableView.editing = YES; + + [[PHNotificationManager defaultManager] registerObject:self withSelector:@selector(updateSchedules) forNotification:SCHEDULES_CACHE_UPDATED_NOTIFICATION]; +} + +- (void)didReceiveMemoryWarning { + [super didReceiveMemoryWarning]; +} + +#pragma mark - Table view data source + +- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { + return 1; +} + +- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { + return self.schedules.count; +} + +- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { + UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:nil]; + cell.selectionStyle = UITableViewCellSelectionStyleNone; + + PHSchedule *schedule = [self.schedules objectAtIndex:indexPath.row]; + + // Show schedule name + cell.textLabel.text = schedule.name; + + return cell; +} + +#pragma mark - Table view delegate + +- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath { + if (editingStyle == UITableViewCellEditingStyleDelete) { + id bridgeSendAPI = [[[PHOverallFactory alloc] init] bridgeSendAPI]; + + PHSchedule *schedule = [self.schedules objectAtIndex:indexPath.row]; + + // Delete the schedule + [bridgeSendAPI removeScheduleWithId:schedule.identifier completionHandler:^(NSArray *errors) { + if (UIAppDelegate.showResponses || errors != nil) { + NSString *message = [NSString stringWithFormat:@"%@: %@", NSLocalizedString(@"Errors", @""), errors != nil ? errors : NSLocalizedString(@"none", @"")]; + + UIAlertView *errorAlert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Response", @"") + message:message + delegate:nil + cancelButtonTitle:nil + otherButtonTitles:NSLocalizedString(@"Ok", @""), nil]; + [errorAlert show]; + } + }]; + } +} + +#pragma mark - Notification receivers + +- (void)updateSchedules { + PHBridgeResourcesCache *cache = [PHBridgeResourcesReader readBridgeResourcesCache]; + + self.schedules = [cache.schedules.allValues sortedArrayUsingComparator:^NSComparisonResult(PHSchedule *schedule1, PHSchedule *schedule2) { + return [schedule1.identifier compare:schedule2.identifier options:NSNumericSearch]; + }]; + + [self.tableView reloadData]; +} + +@end diff --git a/SampleApp/SampleApp/Schedules/Features/PHScheduleDeletingViewController.xib b/SampleApp/SampleApp/Schedules/Features/PHScheduleDeletingViewController.xib new file mode 100644 index 0000000..e0b9e8d --- /dev/null +++ b/SampleApp/SampleApp/Schedules/Features/PHScheduleDeletingViewController.xib @@ -0,0 +1,161 @@ + + + + 1552 + 12D78 + 3084 + 1187.37 + 626.00 + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + 2083 + + + IBProxyObject + IBUITableView + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + PluginDependencyRecalculationVersion + + + + + IBFilesOwner + IBCocoaTouchFramework + + + IBFirstResponder + IBCocoaTouchFramework + + + + 274 + {{0, 20}, {320, 548}} + + + + 1 + MCAwIDAgMAA + groupTableViewBackgroundColor + + NO + YES + NO + + + IBUIScreenMetrics + + YES + + + + + + {320, 568} + {568, 320} + + + IBCocoaTouchFramework + Retina 4 Full Screen + 2 + + IBCocoaTouchFramework + NO + 1 + 1 + 0 + YES + 44 + 10 + 10 + + + + + + + view + + + + 5 + + + + dataSource + + + + 6 + + + + delegate + + + + 7 + + + + + + 0 + + + + + + -1 + + + File's Owner + + + -2 + + + + + 4 + + + + + + + PHScheduleDeletingViewController + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UIResponder + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + + + + 7 + + + + + PHScheduleDeletingViewController + UITableViewController + + IBProjectSource + ./Classes/PHScheduleDeletingViewController.h + + + + + 0 + IBCocoaTouchFramework + YES + 3 + YES + 2083 + + diff --git a/SampleApp/SampleApp/Schedules/Features/PHScheduleEditingSelectionViewController.h b/SampleApp/SampleApp/Schedules/Features/PHScheduleEditingSelectionViewController.h new file mode 100644 index 0000000..ac4287e --- /dev/null +++ b/SampleApp/SampleApp/Schedules/Features/PHScheduleEditingSelectionViewController.h @@ -0,0 +1,10 @@ +/******************************************************************************* + Copyright (c) 2013 Koninklijke Philips N.V. + All Rights Reserved. + ********************************************************************************/ + +#import + +@interface PHScheduleEditingSelectionViewController : UITableViewController + +@end diff --git a/SampleApp/SampleApp/Schedules/Features/PHScheduleEditingSelectionViewController.m b/SampleApp/SampleApp/Schedules/Features/PHScheduleEditingSelectionViewController.m new file mode 100644 index 0000000..1ebda9e --- /dev/null +++ b/SampleApp/SampleApp/Schedules/Features/PHScheduleEditingSelectionViewController.m @@ -0,0 +1,91 @@ +/******************************************************************************* + Copyright (c) 2013 Koninklijke Philips N.V. + All Rights Reserved. + ********************************************************************************/ + +#import "PHScheduleEditingSelectionViewController.h" +#import "PHScheduleEditingViewController.h" + +#import + +@interface PHScheduleEditingSelectionViewController () + +@property (strong, nonatomic) NSArray *schedules; + +@end + +@implementation PHScheduleEditingSelectionViewController + +@synthesize schedules = _schedules; + +- (id)initWithStyle:(UITableViewStyle)style { + self = [super initWithStyle:style]; + if (self) { + [self updateSchedules]; + } + return self; +} + +- (void)dealloc { + [[PHNotificationManager defaultManager] deregisterObjectForAllNotifications:self]; +} + +- (void)viewDidLoad { + [super viewDidLoad]; + + self.title = NSLocalizedString(@"Schedule selection", @""); + + self.clearsSelectionOnViewWillAppear = YES; + + [[PHNotificationManager defaultManager] registerObject:self withSelector:@selector(updateSchedules) forNotification:SCHEDULES_CACHE_UPDATED_NOTIFICATION]; +} + +- (void)didReceiveMemoryWarning { + [super didReceiveMemoryWarning]; +} + +#pragma mark - Table view data source + +- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { + return 1; +} + +- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { + return self.schedules.count; +} + +- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { + UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:nil]; + cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; + + PHSchedule *schedule = [self.schedules objectAtIndex:indexPath.row]; + + // Show schedule name and identifier + cell.textLabel.text = schedule.name; + cell.detailTextLabel.text = schedule.identifier; + + return cell; +} + +#pragma mark - Table view delegate + +- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { + PHSchedule *schedule = [self.schedules objectAtIndex:indexPath.row]; + + PHScheduleEditingViewController *scheduleEditingViewController = [[PHScheduleEditingViewController alloc] initWithNibName:@"PHScheduleEditingViewController" bundle:nil andSchedule:schedule]; + [self.navigationController pushViewController:scheduleEditingViewController animated:YES]; +} + +#pragma mark - Notification receivers + +- (void)updateSchedules { + PHBridgeResourcesCache *cache = [PHBridgeResourcesReader readBridgeResourcesCache]; + + self.schedules = [cache.schedules.allValues sortedArrayUsingComparator:^NSComparisonResult(PHSchedule *schedule1, PHSchedule *schedule2) { + return [schedule1.identifier compare:schedule2.identifier options:NSNumericSearch]; + }]; + + [self.tableView reloadData]; +} + +@end diff --git a/SampleApp/SampleApp/Schedules/Features/PHScheduleEditingSelectionViewController.xib b/SampleApp/SampleApp/Schedules/Features/PHScheduleEditingSelectionViewController.xib new file mode 100644 index 0000000..ff97422 --- /dev/null +++ b/SampleApp/SampleApp/Schedules/Features/PHScheduleEditingSelectionViewController.xib @@ -0,0 +1,161 @@ + + + + 1552 + 12D78 + 3084 + 1187.37 + 626.00 + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + 2083 + + + IBProxyObject + IBUITableView + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + PluginDependencyRecalculationVersion + + + + + IBFilesOwner + IBCocoaTouchFramework + + + IBFirstResponder + IBCocoaTouchFramework + + + + 274 + {{0, 20}, {320, 548}} + + + + 1 + MCAwIDAgMAA + groupTableViewBackgroundColor + + NO + YES + NO + + + IBUIScreenMetrics + + YES + + + + + + {320, 568} + {568, 320} + + + IBCocoaTouchFramework + Retina 4 Full Screen + 2 + + IBCocoaTouchFramework + NO + 1 + 1 + 0 + YES + 44 + 10 + 10 + + + + + + + view + + + + 5 + + + + dataSource + + + + 6 + + + + delegate + + + + 7 + + + + + + 0 + + + + + + -1 + + + File's Owner + + + -2 + + + + + 4 + + + + + + + PHScheduleEditingSelectionViewController + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UIResponder + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + + + + 7 + + + + + PHScheduleEditingSelectionViewController + UITableViewController + + IBProjectSource + ./Classes/PHScheduleEditingSelectionViewController.h + + + + + 0 + IBCocoaTouchFramework + YES + 3 + YES + 2083 + + diff --git a/SampleApp/SampleApp/Schedules/Features/PHScheduleEditingViewController.h b/SampleApp/SampleApp/Schedules/Features/PHScheduleEditingViewController.h new file mode 100644 index 0000000..cdd500d --- /dev/null +++ b/SampleApp/SampleApp/Schedules/Features/PHScheduleEditingViewController.h @@ -0,0 +1,17 @@ +/******************************************************************************* + Copyright (c) 2013 Koninklijke Philips N.V. + All Rights Reserved. + ********************************************************************************/ + +#import + +#include + +@interface PHScheduleEditingViewController : UIViewController + +@property (weak, nonatomic) IBOutlet UITextField *nameTextField; +@property (weak, nonatomic) IBOutlet UIDatePicker *datePicker; + +- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil andSchedule:(PHSchedule *)schedule; + +@end diff --git a/SampleApp/SampleApp/Schedules/Features/PHScheduleEditingViewController.m b/SampleApp/SampleApp/Schedules/Features/PHScheduleEditingViewController.m new file mode 100644 index 0000000..cd5b359 --- /dev/null +++ b/SampleApp/SampleApp/Schedules/Features/PHScheduleEditingViewController.m @@ -0,0 +1,69 @@ +/******************************************************************************* + Copyright (c) 2013 Koninklijke Philips N.V. + All Rights Reserved. + ********************************************************************************/ + +#import "PHAppDelegate.h" +#import "PHScheduleEditingViewController.h" + +@interface PHScheduleEditingViewController () + +@property (strong, nonatomic) PHSchedule *schedule; + +@end + +@implementation PHScheduleEditingViewController + +@synthesize schedule = _schedule; + +- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil andSchedule:(PHSchedule *)schedule { + self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; + if (self) { + self.schedule = schedule; + } + return self; +} + +- (void)viewDidLoad { + [super viewDidLoad]; + + self.nameTextField.text = self.schedule.name; + self.datePicker.date = self.schedule.date; +} + +- (void)didReceiveMemoryWarning { + [super didReceiveMemoryWarning]; +} + + +- (IBAction)editButton:(id)sender { + id bridgeSendAPI = [[[PHOverallFactory alloc] init] bridgeSendAPI]; + + self.schedule.identifier = self.schedule.identifier; + self.schedule.name = self.nameTextField.text; + self.schedule.date = self.datePicker.date; + + // Update the schedule + [bridgeSendAPI updateScheduleWithSchedule:self.schedule completionHandler:^(NSArray *errors) { + if (UIAppDelegate.showResponses || errors != nil) { + NSString *message = [NSString stringWithFormat:@"%@: %@", NSLocalizedString(@"Errors", @""), errors != nil ? errors : NSLocalizedString(@"none", @"")]; + + UIAlertView *errorAlert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Response", @"") + message:message + delegate:nil + cancelButtonTitle:nil + otherButtonTitles:NSLocalizedString(@"Ok", @""), nil]; + [errorAlert show]; + } + }]; +} + +#pragma mark - Text field delegate + +- (BOOL)textFieldShouldReturn:(UITextField *)textField { + // Close keyboard after editing a text field + [textField resignFirstResponder]; + return YES; +} + +@end diff --git a/SampleApp/SampleApp/Schedules/Features/PHScheduleEditingViewController.xib b/SampleApp/SampleApp/Schedules/Features/PHScheduleEditingViewController.xib new file mode 100644 index 0000000..638ba40 --- /dev/null +++ b/SampleApp/SampleApp/Schedules/Features/PHScheduleEditingViewController.xib @@ -0,0 +1,370 @@ + + + + 1552 + 12D78 + 3084 + 1187.37 + 626.00 + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + 2083 + + + IBProxyObject + IBUIButton + IBUIDatePicker + IBUILabel + IBUITextField + IBUIView + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + PluginDependencyRecalculationVersion + + + + + IBFilesOwner + IBCocoaTouchFramework + + + IBFirstResponder + IBCocoaTouchFramework + + + + 274 + + + + 290 + {{16, 56}, {289, 216}} + + + + _NS:9 + IBCocoaTouchFramework + 0 + 0 + + America/Los_Angeles + + VFppZgAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAC5AAAABAAAABCepkign7sVkKCGKqChmveQ +y4kaoNIj9HDSYSYQ1v50INiArZDa/tGg28CQENzes6DdqayQ3r6VoN+JjpDgnneg4WlwkOJ+WaDjSVKQ +5F47oOUpNJDmR1gg5xJREOgnOiDo8jMQ6gccIOrSFRDr5v4g7LH3EO3G4CDukdkQ76/8oPBxuxDxj96g +8n/BkPNvwKD0X6OQ9U+ioPY/hZD3L4Sg+CiiEPkPZqD6CIQQ+viDIPvoZhD82GUg/chIEP64RyD/qCoQ +AJgpIAGIDBACeAsgA3EokARhJ6AFUQqQBkEJoAcw7JAHjUOgCRDOkAmtvyAK8LCQC+CvoAzZzRANwJGg +DrmvEA+priAQmZEQEYmQIBJ5cxATaXIgFFlVEBVJVCAWOTcQFyk2IBgiU5AZCRggGgI1kBryNKAb4heQ +HNIWoB3B+ZAesfigH6HbkCB2KyAhgb2QIlYNICNq2hAkNe8gJUq8ECYV0SAnKp4QJ/7toCkKgBAp3s+g +KupiECu+saAs036QLZ6ToC6zYJAvfnWgMJNCkDFnkiAycySQM0d0IDRTBpA1J1YgNjLokDcHOCA4HAUQ +OOcaIDn75xA6xvwgO9vJEDywGKA9u6sQPo/6oD+bjRBAb9ygQYSpkEJPvqBDZIuQRC+goEVEbZBF89Mg +Ry2KEEfTtSBJDWwQSbOXIErtThBLnLOgTNZqkE18laBOtkyQT1x3oFCWLpBRPFmgUnYQkFMcO6BUVfKQ +VPwdoFY11JBW5TogWB7xEFjFHCBZ/tMQWqT+IFvetRBchOAgXb6XEF5kwiBfnnkQYE3eoGGHlZBiLcCg +Y2d3kGQNoqBlR1mQZe2EoGcnO5BnzWagaQcdkGmtSKBq5v+Qa5ZlIGzQHBBtdkcgbq/+EG9WKSBwj+AQ +cTYLIHJvwhBzFe0gdE+kEHT/CaB2OMCQdt7roHgYopB4vs2gefiEkHqer6B72GaQfH6RoH24SJB+XnOg +f5gqkAABAAECAwEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEA +AQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEA +AQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEA +AQABAAEAAQAB//+dkAEA//+PgAAE//+dkAEI//+dkAEMUERUAFBTVABQV1QAUFBUAAAAAAEAAAABA + + + + 389872689.664132 + + 1 + + + + 292 + {{16, 16}, {46, 21}} + + + + _NS:9 + NO + YES + 7 + NO + IBCocoaTouchFramework + Name + + 1 + MCAwIDAAA + darkTextColor + + + 0 + + 1 + 17 + + + Helvetica + 17 + 16 + + NO + + + + 292 + {{16, 286}, {289, 44}} + + + + _NS:9 + NO + IBCocoaTouchFramework + 0 + 0 + 1 + Edit + + 3 + MQA + + + 1 + MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA + + + 3 + MC41AA + + + 2 + 15 + + + Helvetica-Bold + 15 + 16 + + + + + 292 + {{154, 13}, {151, 30}} + + + _NS:9 + NO + YES + IBCocoaTouchFramework + 0 + + 3 + + 3 + MAA + + 2 + + + YES + 17 + + IBCocoaTouchFramework + + + 1 + 14 + + + Helvetica + 14 + 16 + + + + {{0, 20}, {320, 548}} + + + + 3 + MQA + + + + + IBUIScreenMetrics + + YES + + + + + + {320, 568} + {568, 320} + + + IBCocoaTouchFramework + Retina 4 Full Screen + 2 + + IBCocoaTouchFramework + + + + + + + view + + + + 3 + + + + nameTextField + + + + 36 + + + + datePicker + + + + 37 + + + + editButton: + + + 7 + + 38 + + + + delegate + + + + 35 + + + + + + 0 + + + + + + 1 + + + + + + + + + + + -1 + + + File's Owner + + + -2 + + + + + 4 + + + + + + 5 + + + + + 6 + + + + + 7 + + + + + + + + PHScheduleEditingViewController + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UIResponder + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + + + + 38 + + + + + PHScheduleEditingViewController + UIViewController + + editButton: + id + + + editButton: + + editButton: + id + + + + UIDatePicker + UITextField + + + + datePicker + UIDatePicker + + + nameTextField + UITextField + + + + IBProjectSource + ./Classes/PHScheduleEditingViewController.h + + + + + 0 + IBCocoaTouchFramework + YES + 3 + 2083 + + diff --git a/SampleApp/SampleApp/Schedules/Features/PHScheduleOverviewViewController.h b/SampleApp/SampleApp/Schedules/Features/PHScheduleOverviewViewController.h new file mode 100644 index 0000000..b36961f --- /dev/null +++ b/SampleApp/SampleApp/Schedules/Features/PHScheduleOverviewViewController.h @@ -0,0 +1,10 @@ +/******************************************************************************* + Copyright (c) 2013 Koninklijke Philips N.V. + All Rights Reserved. + ********************************************************************************/ + +#import + +@interface PHScheduleOverviewViewController : UITableViewController + +@end diff --git a/SampleApp/SampleApp/Schedules/Features/PHScheduleOverviewViewController.m b/SampleApp/SampleApp/Schedules/Features/PHScheduleOverviewViewController.m new file mode 100644 index 0000000..fe8bc08 --- /dev/null +++ b/SampleApp/SampleApp/Schedules/Features/PHScheduleOverviewViewController.m @@ -0,0 +1,88 @@ +/******************************************************************************* + Copyright (c) 2013 Koninklijke Philips N.V. + All Rights Reserved. + ********************************************************************************/ + +#import "PHScheduleOverviewViewController.h" + +#include + +@interface PHScheduleOverviewViewController () + +@property (strong, nonatomic) NSArray *schedules; + +@end + +@implementation PHScheduleOverviewViewController + +@synthesize schedules = _schedules; + +- (id)initWithStyle:(UITableViewStyle)style { + self = [super initWithStyle:style]; + if (self) { + [self updateSchedules]; + } + return self; +} + +- (void)dealloc { + [[PHNotificationManager defaultManager] deregisterObjectForAllNotifications:self]; +} + +- (void)viewDidLoad { + [super viewDidLoad]; + + self.title = NSLocalizedString(@"Schedule overview", @""); + + self.clearsSelectionOnViewWillAppear = NO; + + [[PHNotificationManager defaultManager] registerObject:self withSelector:@selector(updateSchedules) forNotification:SCHEDULES_CACHE_UPDATED_NOTIFICATION]; +} + +- (void)didReceiveMemoryWarning { + [super didReceiveMemoryWarning]; +} + +#pragma mark - Table view data source + +- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { + return 1; +} + +- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { + return self.schedules.count; +} + +- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { + UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:nil]; + cell.selectionStyle = UITableViewCellSelectionStyleNone; + + PHSchedule *schedule = [self.schedules objectAtIndex:indexPath.row]; + + // Show schedule name + cell.textLabel.text = schedule.name; + + NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; + [dateFormatter setDateStyle:NSDateFormatterMediumStyle]; + [dateFormatter setTimeStyle:NSDateFormatterMediumStyle]; + + // Show schedule date + cell.detailTextLabel.text = [dateFormatter stringFromDate:schedule.date]; + cell.detailTextLabel.font = [UIFont systemFontOfSize:12]; + + return cell; +} + +#pragma mark - Notification receivers + +- (void)updateSchedules { + PHBridgeResourcesCache *cache = [PHBridgeResourcesReader readBridgeResourcesCache]; + + self.schedules = [cache.schedules.allValues sortedArrayUsingComparator:^NSComparisonResult(PHSchedule *schedule1, PHSchedule *schedule2) { + return [schedule1.identifier compare:schedule2.identifier options:NSNumericSearch]; + }]; + + [self.tableView reloadData]; +} + +@end diff --git a/SampleApp/SampleApp/Schedules/Features/PHScheduleOverviewViewController.xib b/SampleApp/SampleApp/Schedules/Features/PHScheduleOverviewViewController.xib new file mode 100644 index 0000000..d9aea24 --- /dev/null +++ b/SampleApp/SampleApp/Schedules/Features/PHScheduleOverviewViewController.xib @@ -0,0 +1,161 @@ + + + + 1552 + 12D78 + 3084 + 1187.37 + 626.00 + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + 2083 + + + IBProxyObject + IBUITableView + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + PluginDependencyRecalculationVersion + + + + + IBFilesOwner + IBCocoaTouchFramework + + + IBFirstResponder + IBCocoaTouchFramework + + + + 274 + {{0, 20}, {320, 548}} + + + + 1 + MCAwIDAgMAA + groupTableViewBackgroundColor + + NO + YES + NO + + + IBUIScreenMetrics + + YES + + + + + + {320, 568} + {568, 320} + + + IBCocoaTouchFramework + Retina 4 Full Screen + 2 + + IBCocoaTouchFramework + NO + 1 + 1 + 0 + YES + 44 + 10 + 10 + + + + + + + view + + + + 5 + + + + dataSource + + + + 6 + + + + delegate + + + + 7 + + + + + + 0 + + + + + + -1 + + + File's Owner + + + -2 + + + + + 4 + + + + + + + PHScheduleOverviewViewController + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UIResponder + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + + + + 7 + + + + + PHScheduleOverviewViewController + UITableViewController + + IBProjectSource + ./Classes/PHScheduleOverviewViewController.h + + + + + 0 + IBCocoaTouchFramework + YES + 3 + YES + 2083 + + diff --git a/SampleApp/SampleApp/Schedules/PHSchedulesViewController.h b/SampleApp/SampleApp/Schedules/PHSchedulesViewController.h new file mode 100644 index 0000000..13742e2 --- /dev/null +++ b/SampleApp/SampleApp/Schedules/PHSchedulesViewController.h @@ -0,0 +1,10 @@ +/******************************************************************************* + Copyright (c) 2013 Koninklijke Philips N.V. + All Rights Reserved. + ********************************************************************************/ + +#import + +@interface PHSchedulesViewController : UITableViewController + +@end diff --git a/SampleApp/SampleApp/Schedules/PHSchedulesViewController.m b/SampleApp/SampleApp/Schedules/PHSchedulesViewController.m new file mode 100644 index 0000000..3e049c9 --- /dev/null +++ b/SampleApp/SampleApp/Schedules/PHSchedulesViewController.m @@ -0,0 +1,92 @@ +/******************************************************************************* + Copyright (c) 2013 Koninklijke Philips N.V. + All Rights Reserved. + ********************************************************************************/ + +#import "PHSchedulesViewController.h" +#import "PHScheduleOverviewViewController.h" +#import "PHScheduleAddingViewController.h" +#import "PHScheduleEditingSelectionViewController.h" +#import "PHScheduleDeletingViewController.h" + +@interface PHSchedulesViewController () + +@end + +@implementation PHSchedulesViewController + +- (id)initWithStyle:(UITableViewStyle)style { + self = [super initWithStyle:style]; + if (self) { + + } + return self; +} +- (void)viewDidLoad { + [super viewDidLoad]; + + self.title = NSLocalizedString(@"Schedules", @""); + + self.clearsSelectionOnViewWillAppear = YES; +} + +- (void)didReceiveMemoryWarning { + [super didReceiveMemoryWarning]; +} + +#pragma mark - Table view data source + +- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { + return 1; +} + +- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { + return 4; +} + +- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { + UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:nil]; + cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; + + // Schedule overview + if (indexPath.row == 0) { + cell.textLabel.text = NSLocalizedString(@"Overview", @"Overview of the schedules"); + } + // Add a schedule + else if (indexPath.row == 1) { + cell.textLabel.text = NSLocalizedString(@"Add", @"Add a schedule"); + } + // Edit a schedule + else if (indexPath.row == 2) { + cell.textLabel.text = NSLocalizedString(@"Edit", @"Edit a schedule"); + } + // Delete a schedule + else if (indexPath.row == 3) { + cell.textLabel.text = NSLocalizedString(@"Delete", @"Delete a schedule"); + } + + return cell; +} + +#pragma mark - Table view delegate + +- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { + if (indexPath.row == 0) { + PHScheduleOverviewViewController *scheduleOverviewViewController = [[PHScheduleOverviewViewController alloc] initWithStyle:UITableViewCellStyleSubtitle]; + [self.navigationController pushViewController:scheduleOverviewViewController animated:YES]; + } + else if (indexPath.row == 1) { + PHScheduleAddingViewController *scheduleAddingViewController = [[PHScheduleAddingViewController alloc] init]; + [self.navigationController pushViewController:scheduleAddingViewController animated:YES]; + } + else if (indexPath.row == 2) { + PHScheduleEditingSelectionViewController *scheduleEditingSelectionViewController = [[PHScheduleEditingSelectionViewController alloc] init]; + [self.navigationController pushViewController:scheduleEditingSelectionViewController animated:YES]; + } + else if (indexPath.row == 3) { + PHScheduleDeletingViewController *scheduleDeletingViewController = [[PHScheduleDeletingViewController alloc] init]; + [self.navigationController pushViewController:scheduleDeletingViewController animated:YES]; + } +} + +@end diff --git a/SampleApp/SampleApp/Schedules/PHSchedulesViewController.xib b/SampleApp/SampleApp/Schedules/PHSchedulesViewController.xib new file mode 100644 index 0000000..1a37aec --- /dev/null +++ b/SampleApp/SampleApp/Schedules/PHSchedulesViewController.xib @@ -0,0 +1,162 @@ + + + + 1552 + 12D78 + 3084 + 1187.37 + 626.00 + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + 2083 + + + IBProxyObject + IBUITableView + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + PluginDependencyRecalculationVersion + + + + + IBFilesOwner + IBCocoaTouchFramework + + + IBFirstResponder + IBCocoaTouchFramework + + + + 274 + {{0, 20}, {320, 548}} + + + + + 1 + MCAwIDAgMAA + groupTableViewBackgroundColor + + NO + YES + NO + + + IBUIScreenMetrics + + YES + + + + + + {320, 568} + {568, 320} + + + IBCocoaTouchFramework + Retina 4 Full Screen + 2 + + IBCocoaTouchFramework + NO + 1 + 1 + 0 + YES + 44 + 10 + 10 + + + + + + + view + + + + 5 + + + + dataSource + + + + 6 + + + + delegate + + + + 7 + + + + + + 0 + + + + + + -1 + + + File's Owner + + + -2 + + + + + 4 + + + + + + + PHSchedulesViewController + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UIResponder + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + + + + 7 + + + + + PHSchedulesViewController + UITableViewController + + IBProjectSource + ./Classes/PHSchedulesViewController.h + + + + + 0 + IBCocoaTouchFramework + YES + 3 + YES + 2083 + +