polscm32 2 лет назад
Родитель
Сommit
6706fbcfb9
54 измененных файлов с 749 добавлено и 26 удалено
  1. 4 0
      Autosens_+CoreDataClass.swift
  2. 14 0
      Autosens_+CoreDataProperties.swift
  3. 4 0
      Autotune_+CoreDataClass.swift
  4. 15 0
      Autotune_+CoreDataProperties.swift
  5. 4 0
      BGaverages+CoreDataClass.swift
  6. 16 0
      BGaverages+CoreDataProperties.swift
  7. 4 0
      BGmedian+CoreDataClass.swift
  8. 16 0
      BGmedian+CoreDataProperties.swift
  9. 203 3
      FreeAPS.xcodeproj/project.pbxproj
  10. 4 0
      GlucoseStored+CoreDataClass.swift
  11. 15 0
      GlucoseStored+CoreDataProperties.swift
  12. 4 0
      HbA1c+CoreDataClass.swift
  13. 16 0
      HbA1c+CoreDataProperties.swift
  14. 4 0
      ImportError+CoreDataClass.swift
  15. 13 0
      ImportError+CoreDataProperties.swift
  16. 4 0
      InsulinDistribution+CoreDataClass.swift
  17. 16 0
      InsulinDistribution+CoreDataProperties.swift
  18. 4 0
      InsulinStored+CoreDataClass.swift
  19. 16 0
      InsulinStored+CoreDataProperties.swift
  20. 4 0
      LastLoop+CoreDataClass.swift
  21. 14 0
      LastLoop+CoreDataProperties.swift
  22. 4 0
      LoopStatRecord+CoreDataClass.swift
  23. 16 0
      LoopStatRecord+CoreDataProperties.swift
  24. 4 0
      MealsStored+CoreDataClass.swift
  25. 18 0
      MealsStored+CoreDataProperties.swift
  26. 23 23
      Model/Core_Data.xcdatamodeld/Core_Data.xcdatamodel/contents
  27. 0 0
      Model/Helper/CoreDataStorage.swift
  28. 0 0
      Model/Helper/Determination+helper.swift
  29. 0 0
      Model/Helper/GlucoseStored+helper.swift
  30. 0 0
      Model/Helper/InsulinStored+helper.swift
  31. 0 0
      Model/Helper/MealsStored+helper.swift
  32. 0 0
      Model/Helper/NSPredicates.swift
  33. 4 0
      Oref0Suggestion+CoreDataClass.swift
  34. 45 0
      Oref0Suggestion+CoreDataProperties.swift
  35. 4 0
      OrefDetermination+CoreDataClass.swift
  36. 42 0
      OrefDetermination+CoreDataProperties.swift
  37. 4 0
      Override+CoreDataClass.swift
  38. 29 0
      Override+CoreDataProperties.swift
  39. 4 0
      OverridePresets+CoreDataClass.swift
  40. 28 0
      OverridePresets+CoreDataProperties.swift
  41. 4 0
      Presets+CoreDataClass.swift
  42. 15 0
      Presets+CoreDataProperties.swift
  43. 4 0
      Protein+CoreDataClass.swift
  44. 14 0
      Protein+CoreDataProperties.swift
  45. 4 0
      StatsData+CoreDataClass.swift
  46. 12 0
      StatsData+CoreDataProperties.swift
  47. 4 0
      TDD+CoreDataClass.swift
  48. 14 0
      TDD+CoreDataProperties.swift
  49. 4 0
      Target+CoreDataClass.swift
  50. 12 0
      Target+CoreDataProperties.swift
  51. 4 0
      TempTargets+CoreDataClass.swift
  52. 17 0
      TempTargets+CoreDataProperties.swift
  53. 4 0
      TempTargetsSlider+CoreDataClass.swift
  54. 18 0
      TempTargetsSlider+CoreDataProperties.swift

+ 4 - 0
Autosens_+CoreDataClass.swift

@@ -0,0 +1,4 @@
+import CoreData
+import Foundation
+
+@objc(Autosens_) public class Autosens_: NSManagedObject {}

+ 14 - 0
Autosens_+CoreDataProperties.swift

@@ -0,0 +1,14 @@
+import CoreData
+import Foundation
+
+public extension Autosens_ {
+    @nonobjc class func fetchRequest() -> NSFetchRequest<Autosens_> {
+        NSFetchRequest<Autosens_>(entityName: "Autosens_")
+    }
+
+    @NSManaged var newisf: NSDecimalNumber?
+    @NSManaged var ratio: NSDecimalNumber?
+    @NSManaged var timestamp: Date?
+}
+
+extension Autosens_: Identifiable {}

+ 4 - 0
Autotune_+CoreDataClass.swift

@@ -0,0 +1,4 @@
+import CoreData
+import Foundation
+
+@objc(Autotune_) public class Autotune_: NSManagedObject {}

+ 15 - 0
Autotune_+CoreDataProperties.swift

@@ -0,0 +1,15 @@
+import CoreData
+import Foundation
+
+public extension Autotune_ {
+    @nonobjc class func fetchRequest() -> NSFetchRequest<Autotune_> {
+        NSFetchRequest<Autotune_>(entityName: "Autotune_")
+    }
+
+    @NSManaged var basalProfile: NSObject?
+    @NSManaged var carbRatio: NSDecimalNumber?
+    @NSManaged var createdAt: Date?
+    @NSManaged var sensitivity: NSDecimalNumber?
+}
+
+extension Autotune_: Identifiable {}

+ 4 - 0
BGaverages+CoreDataClass.swift

@@ -0,0 +1,4 @@
+import CoreData
+import Foundation
+
+@objc(BGaverages) public class BGaverages: NSManagedObject {}

+ 16 - 0
BGaverages+CoreDataProperties.swift

@@ -0,0 +1,16 @@
+import CoreData
+import Foundation
+
+public extension BGaverages {
+    @nonobjc class func fetchRequest() -> NSFetchRequest<BGaverages> {
+        NSFetchRequest<BGaverages>(entityName: "BGaverages")
+    }
+
+    @NSManaged var average: NSDecimalNumber?
+    @NSManaged var average_1: NSDecimalNumber?
+    @NSManaged var average_7: NSDecimalNumber?
+    @NSManaged var average_30: NSDecimalNumber?
+    @NSManaged var date: Date?
+}
+
+extension BGaverages: Identifiable {}

+ 4 - 0
BGmedian+CoreDataClass.swift

@@ -0,0 +1,4 @@
+import CoreData
+import Foundation
+
+@objc(BGmedian) public class BGmedian: NSManagedObject {}

+ 16 - 0
BGmedian+CoreDataProperties.swift

@@ -0,0 +1,16 @@
+import CoreData
+import Foundation
+
+public extension BGmedian {
+    @nonobjc class func fetchRequest() -> NSFetchRequest<BGmedian> {
+        NSFetchRequest<BGmedian>(entityName: "BGmedian")
+    }
+
+    @NSManaged var date: Date?
+    @NSManaged var median: NSDecimalNumber?
+    @NSManaged var median_1: NSDecimalNumber?
+    @NSManaged var median_7: NSDecimalNumber?
+    @NSManaged var median_30: NSDecimalNumber?
+}
+
+extension BGmedian: Identifiable {}

+ 203 - 3
FreeAPS.xcodeproj/project.pbxproj

@@ -267,6 +267,52 @@
 		581516A42BCED84A00BF67D7 /* DebuggingIdentifiers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 581516A32BCED84A00BF67D7 /* DebuggingIdentifiers.swift */; };
 		581516A92BCEEDF800BF67D7 /* NSPredicates.swift in Sources */ = {isa = PBXBuildFile; fileRef = 581516A82BCEEDF800BF67D7 /* NSPredicates.swift */; };
 		58237D9E2BCF0A6B00A47A79 /* PopupView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 58237D9D2BCF0A6B00A47A79 /* PopupView.swift */; };
+		5825D1342BD4058F00F36E9B /* BGaverages+CoreDataClass.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5825D1062BD4058F00F36E9B /* BGaverages+CoreDataClass.swift */; };
+		5825D1352BD4058F00F36E9B /* BGaverages+CoreDataProperties.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5825D1072BD4058F00F36E9B /* BGaverages+CoreDataProperties.swift */; };
+		5825D1362BD4058F00F36E9B /* BGmedian+CoreDataClass.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5825D1082BD4058F00F36E9B /* BGmedian+CoreDataClass.swift */; };
+		5825D1372BD4058F00F36E9B /* BGmedian+CoreDataProperties.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5825D1092BD4058F00F36E9B /* BGmedian+CoreDataProperties.swift */; };
+		5825D1382BD4058F00F36E9B /* InsulinStored+CoreDataClass.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5825D10A2BD4058F00F36E9B /* InsulinStored+CoreDataClass.swift */; };
+		5825D1392BD4058F00F36E9B /* InsulinStored+CoreDataProperties.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5825D10B2BD4058F00F36E9B /* InsulinStored+CoreDataProperties.swift */; };
+		5825D13A2BD4058F00F36E9B /* LoopStatRecord+CoreDataClass.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5825D10C2BD4058F00F36E9B /* LoopStatRecord+CoreDataClass.swift */; };
+		5825D13B2BD4058F00F36E9B /* LoopStatRecord+CoreDataProperties.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5825D10D2BD4058F00F36E9B /* LoopStatRecord+CoreDataProperties.swift */; };
+		5825D13C2BD4058F00F36E9B /* ImportError+CoreDataClass.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5825D10E2BD4058F00F36E9B /* ImportError+CoreDataClass.swift */; };
+		5825D13D2BD4058F00F36E9B /* ImportError+CoreDataProperties.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5825D10F2BD4058F00F36E9B /* ImportError+CoreDataProperties.swift */; };
+		5825D13E2BD4058F00F36E9B /* TDD+CoreDataClass.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5825D1102BD4058F00F36E9B /* TDD+CoreDataClass.swift */; };
+		5825D13F2BD4058F00F36E9B /* TDD+CoreDataProperties.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5825D1112BD4058F00F36E9B /* TDD+CoreDataProperties.swift */; };
+		5825D1402BD4058F00F36E9B /* TempTargetsSlider+CoreDataClass.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5825D1122BD4058F00F36E9B /* TempTargetsSlider+CoreDataClass.swift */; };
+		5825D1412BD4058F00F36E9B /* TempTargetsSlider+CoreDataProperties.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5825D1132BD4058F00F36E9B /* TempTargetsSlider+CoreDataProperties.swift */; };
+		5825D1422BD4058F00F36E9B /* Presets+CoreDataClass.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5825D1142BD4058F00F36E9B /* Presets+CoreDataClass.swift */; };
+		5825D1432BD4058F00F36E9B /* Presets+CoreDataProperties.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5825D1152BD4058F00F36E9B /* Presets+CoreDataProperties.swift */; };
+		5825D1442BD4058F00F36E9B /* Autosens_+CoreDataClass.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5825D1162BD4058F00F36E9B /* Autosens_+CoreDataClass.swift */; };
+		5825D1452BD4058F00F36E9B /* Autosens_+CoreDataProperties.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5825D1172BD4058F00F36E9B /* Autosens_+CoreDataProperties.swift */; };
+		5825D1462BD4058F00F36E9B /* Oref0Suggestion+CoreDataClass.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5825D1182BD4058F00F36E9B /* Oref0Suggestion+CoreDataClass.swift */; };
+		5825D1472BD4058F00F36E9B /* Oref0Suggestion+CoreDataProperties.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5825D1192BD4058F00F36E9B /* Oref0Suggestion+CoreDataProperties.swift */; };
+		5825D1482BD4058F00F36E9B /* Override+CoreDataClass.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5825D11A2BD4058F00F36E9B /* Override+CoreDataClass.swift */; };
+		5825D1492BD4058F00F36E9B /* Override+CoreDataProperties.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5825D11B2BD4058F00F36E9B /* Override+CoreDataProperties.swift */; };
+		5825D14A2BD4058F00F36E9B /* OrefDetermination+CoreDataClass.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5825D11C2BD4058F00F36E9B /* OrefDetermination+CoreDataClass.swift */; };
+		5825D14B2BD4058F00F36E9B /* OrefDetermination+CoreDataProperties.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5825D11D2BD4058F00F36E9B /* OrefDetermination+CoreDataProperties.swift */; };
+		5825D14C2BD4058F00F36E9B /* TempTargets+CoreDataClass.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5825D11E2BD4058F00F36E9B /* TempTargets+CoreDataClass.swift */; };
+		5825D14D2BD4058F00F36E9B /* TempTargets+CoreDataProperties.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5825D11F2BD4058F00F36E9B /* TempTargets+CoreDataProperties.swift */; };
+		5825D14E2BD4058F00F36E9B /* HbA1c+CoreDataClass.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5825D1202BD4058F00F36E9B /* HbA1c+CoreDataClass.swift */; };
+		5825D14F2BD4058F00F36E9B /* HbA1c+CoreDataProperties.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5825D1212BD4058F00F36E9B /* HbA1c+CoreDataProperties.swift */; };
+		5825D1502BD4058F00F36E9B /* InsulinDistribution+CoreDataClass.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5825D1222BD4058F00F36E9B /* InsulinDistribution+CoreDataClass.swift */; };
+		5825D1512BD4058F00F36E9B /* InsulinDistribution+CoreDataProperties.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5825D1232BD4058F00F36E9B /* InsulinDistribution+CoreDataProperties.swift */; };
+		5825D1522BD4058F00F36E9B /* LastLoop+CoreDataClass.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5825D1242BD4058F00F36E9B /* LastLoop+CoreDataClass.swift */; };
+		5825D1532BD4058F00F36E9B /* LastLoop+CoreDataProperties.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5825D1252BD4058F00F36E9B /* LastLoop+CoreDataProperties.swift */; };
+		5825D1542BD4058F00F36E9B /* MealsStored+CoreDataClass.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5825D1262BD4058F00F36E9B /* MealsStored+CoreDataClass.swift */; };
+		5825D1552BD4058F00F36E9B /* MealsStored+CoreDataProperties.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5825D1272BD4058F00F36E9B /* MealsStored+CoreDataProperties.swift */; };
+		5825D1562BD4058F00F36E9B /* Autotune_+CoreDataClass.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5825D1282BD4058F00F36E9B /* Autotune_+CoreDataClass.swift */; };
+		5825D1572BD4058F00F36E9B /* Autotune_+CoreDataProperties.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5825D1292BD4058F00F36E9B /* Autotune_+CoreDataProperties.swift */; };
+		5825D1582BD4058F00F36E9B /* StatsData+CoreDataClass.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5825D12A2BD4058F00F36E9B /* StatsData+CoreDataClass.swift */; };
+		5825D1592BD4058F00F36E9B /* StatsData+CoreDataProperties.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5825D12B2BD4058F00F36E9B /* StatsData+CoreDataProperties.swift */; };
+		5825D15A2BD4058F00F36E9B /* OverridePresets+CoreDataClass.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5825D12C2BD4058F00F36E9B /* OverridePresets+CoreDataClass.swift */; };
+		5825D15B2BD4058F00F36E9B /* OverridePresets+CoreDataProperties.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5825D12D2BD4058F00F36E9B /* OverridePresets+CoreDataProperties.swift */; };
+		5825D15C2BD4058F00F36E9B /* Target+CoreDataClass.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5825D12E2BD4058F00F36E9B /* Target+CoreDataClass.swift */; };
+		5825D15D2BD4058F00F36E9B /* Target+CoreDataProperties.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5825D12F2BD4058F00F36E9B /* Target+CoreDataProperties.swift */; };
+		5825D15E2BD4058F00F36E9B /* Protein+CoreDataClass.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5825D1302BD4058F00F36E9B /* Protein+CoreDataClass.swift */; };
+		5825D15F2BD4058F00F36E9B /* Protein+CoreDataProperties.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5825D1312BD4058F00F36E9B /* Protein+CoreDataProperties.swift */; };
+		5825D1602BD4058F00F36E9B /* GlucoseStored+CoreDataClass.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5825D1322BD4058F00F36E9B /* GlucoseStored+CoreDataClass.swift */; };
+		5825D1612BD4058F00F36E9B /* GlucoseStored+CoreDataProperties.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5825D1332BD4058F00F36E9B /* GlucoseStored+CoreDataProperties.swift */; };
 		583684062BD178DB00070A60 /* GlucoseStored+helper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 583684052BD178DB00070A60 /* GlucoseStored+helper.swift */; };
 		583684082BD195A700070A60 /* Determination.swift in Sources */ = {isa = PBXBuildFile; fileRef = 583684072BD195A700070A60 /* Determination.swift */; };
 		5837A5302BD2E3C700A5DC04 /* MealsStored+helper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5837A52F2BD2E3C700A5DC04 /* MealsStored+helper.swift */; };
@@ -833,6 +879,52 @@
 		581516A32BCED84A00BF67D7 /* DebuggingIdentifiers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DebuggingIdentifiers.swift; sourceTree = "<group>"; };
 		581516A82BCEEDF800BF67D7 /* NSPredicates.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NSPredicates.swift; sourceTree = "<group>"; };
 		58237D9D2BCF0A6B00A47A79 /* PopupView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PopupView.swift; sourceTree = "<group>"; };
+		5825D1062BD4058F00F36E9B /* BGaverages+CoreDataClass.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "BGaverages+CoreDataClass.swift"; sourceTree = SOURCE_ROOT; };
+		5825D1072BD4058F00F36E9B /* BGaverages+CoreDataProperties.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "BGaverages+CoreDataProperties.swift"; sourceTree = SOURCE_ROOT; };
+		5825D1082BD4058F00F36E9B /* BGmedian+CoreDataClass.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "BGmedian+CoreDataClass.swift"; sourceTree = SOURCE_ROOT; };
+		5825D1092BD4058F00F36E9B /* BGmedian+CoreDataProperties.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "BGmedian+CoreDataProperties.swift"; sourceTree = SOURCE_ROOT; };
+		5825D10A2BD4058F00F36E9B /* InsulinStored+CoreDataClass.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "InsulinStored+CoreDataClass.swift"; sourceTree = SOURCE_ROOT; };
+		5825D10B2BD4058F00F36E9B /* InsulinStored+CoreDataProperties.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "InsulinStored+CoreDataProperties.swift"; sourceTree = SOURCE_ROOT; };
+		5825D10C2BD4058F00F36E9B /* LoopStatRecord+CoreDataClass.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "LoopStatRecord+CoreDataClass.swift"; sourceTree = SOURCE_ROOT; };
+		5825D10D2BD4058F00F36E9B /* LoopStatRecord+CoreDataProperties.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "LoopStatRecord+CoreDataProperties.swift"; sourceTree = SOURCE_ROOT; };
+		5825D10E2BD4058F00F36E9B /* ImportError+CoreDataClass.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "ImportError+CoreDataClass.swift"; sourceTree = SOURCE_ROOT; };
+		5825D10F2BD4058F00F36E9B /* ImportError+CoreDataProperties.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "ImportError+CoreDataProperties.swift"; sourceTree = SOURCE_ROOT; };
+		5825D1102BD4058F00F36E9B /* TDD+CoreDataClass.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "TDD+CoreDataClass.swift"; sourceTree = SOURCE_ROOT; };
+		5825D1112BD4058F00F36E9B /* TDD+CoreDataProperties.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "TDD+CoreDataProperties.swift"; sourceTree = SOURCE_ROOT; };
+		5825D1122BD4058F00F36E9B /* TempTargetsSlider+CoreDataClass.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "TempTargetsSlider+CoreDataClass.swift"; sourceTree = SOURCE_ROOT; };
+		5825D1132BD4058F00F36E9B /* TempTargetsSlider+CoreDataProperties.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "TempTargetsSlider+CoreDataProperties.swift"; sourceTree = SOURCE_ROOT; };
+		5825D1142BD4058F00F36E9B /* Presets+CoreDataClass.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Presets+CoreDataClass.swift"; sourceTree = SOURCE_ROOT; };
+		5825D1152BD4058F00F36E9B /* Presets+CoreDataProperties.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Presets+CoreDataProperties.swift"; sourceTree = SOURCE_ROOT; };
+		5825D1162BD4058F00F36E9B /* Autosens_+CoreDataClass.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Autosens_+CoreDataClass.swift"; sourceTree = SOURCE_ROOT; };
+		5825D1172BD4058F00F36E9B /* Autosens_+CoreDataProperties.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Autosens_+CoreDataProperties.swift"; sourceTree = SOURCE_ROOT; };
+		5825D1182BD4058F00F36E9B /* Oref0Suggestion+CoreDataClass.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Oref0Suggestion+CoreDataClass.swift"; sourceTree = SOURCE_ROOT; };
+		5825D1192BD4058F00F36E9B /* Oref0Suggestion+CoreDataProperties.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Oref0Suggestion+CoreDataProperties.swift"; sourceTree = SOURCE_ROOT; };
+		5825D11A2BD4058F00F36E9B /* Override+CoreDataClass.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Override+CoreDataClass.swift"; sourceTree = SOURCE_ROOT; };
+		5825D11B2BD4058F00F36E9B /* Override+CoreDataProperties.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Override+CoreDataProperties.swift"; sourceTree = SOURCE_ROOT; };
+		5825D11C2BD4058F00F36E9B /* OrefDetermination+CoreDataClass.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "OrefDetermination+CoreDataClass.swift"; sourceTree = SOURCE_ROOT; };
+		5825D11D2BD4058F00F36E9B /* OrefDetermination+CoreDataProperties.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "OrefDetermination+CoreDataProperties.swift"; sourceTree = SOURCE_ROOT; };
+		5825D11E2BD4058F00F36E9B /* TempTargets+CoreDataClass.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "TempTargets+CoreDataClass.swift"; sourceTree = SOURCE_ROOT; };
+		5825D11F2BD4058F00F36E9B /* TempTargets+CoreDataProperties.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "TempTargets+CoreDataProperties.swift"; sourceTree = SOURCE_ROOT; };
+		5825D1202BD4058F00F36E9B /* HbA1c+CoreDataClass.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "HbA1c+CoreDataClass.swift"; sourceTree = SOURCE_ROOT; };
+		5825D1212BD4058F00F36E9B /* HbA1c+CoreDataProperties.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "HbA1c+CoreDataProperties.swift"; sourceTree = SOURCE_ROOT; };
+		5825D1222BD4058F00F36E9B /* InsulinDistribution+CoreDataClass.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "InsulinDistribution+CoreDataClass.swift"; sourceTree = SOURCE_ROOT; };
+		5825D1232BD4058F00F36E9B /* InsulinDistribution+CoreDataProperties.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "InsulinDistribution+CoreDataProperties.swift"; sourceTree = SOURCE_ROOT; };
+		5825D1242BD4058F00F36E9B /* LastLoop+CoreDataClass.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "LastLoop+CoreDataClass.swift"; sourceTree = SOURCE_ROOT; };
+		5825D1252BD4058F00F36E9B /* LastLoop+CoreDataProperties.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "LastLoop+CoreDataProperties.swift"; sourceTree = SOURCE_ROOT; };
+		5825D1262BD4058F00F36E9B /* MealsStored+CoreDataClass.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "MealsStored+CoreDataClass.swift"; sourceTree = SOURCE_ROOT; };
+		5825D1272BD4058F00F36E9B /* MealsStored+CoreDataProperties.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "MealsStored+CoreDataProperties.swift"; sourceTree = SOURCE_ROOT; };
+		5825D1282BD4058F00F36E9B /* Autotune_+CoreDataClass.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Autotune_+CoreDataClass.swift"; sourceTree = SOURCE_ROOT; };
+		5825D1292BD4058F00F36E9B /* Autotune_+CoreDataProperties.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Autotune_+CoreDataProperties.swift"; sourceTree = SOURCE_ROOT; };
+		5825D12A2BD4058F00F36E9B /* StatsData+CoreDataClass.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "StatsData+CoreDataClass.swift"; sourceTree = SOURCE_ROOT; };
+		5825D12B2BD4058F00F36E9B /* StatsData+CoreDataProperties.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "StatsData+CoreDataProperties.swift"; sourceTree = SOURCE_ROOT; };
+		5825D12C2BD4058F00F36E9B /* OverridePresets+CoreDataClass.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "OverridePresets+CoreDataClass.swift"; sourceTree = SOURCE_ROOT; };
+		5825D12D2BD4058F00F36E9B /* OverridePresets+CoreDataProperties.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "OverridePresets+CoreDataProperties.swift"; sourceTree = SOURCE_ROOT; };
+		5825D12E2BD4058F00F36E9B /* Target+CoreDataClass.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Target+CoreDataClass.swift"; sourceTree = SOURCE_ROOT; };
+		5825D12F2BD4058F00F36E9B /* Target+CoreDataProperties.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Target+CoreDataProperties.swift"; sourceTree = SOURCE_ROOT; };
+		5825D1302BD4058F00F36E9B /* Protein+CoreDataClass.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Protein+CoreDataClass.swift"; sourceTree = SOURCE_ROOT; };
+		5825D1312BD4058F00F36E9B /* Protein+CoreDataProperties.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Protein+CoreDataProperties.swift"; sourceTree = SOURCE_ROOT; };
+		5825D1322BD4058F00F36E9B /* GlucoseStored+CoreDataClass.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "GlucoseStored+CoreDataClass.swift"; sourceTree = SOURCE_ROOT; };
+		5825D1332BD4058F00F36E9B /* GlucoseStored+CoreDataProperties.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "GlucoseStored+CoreDataProperties.swift"; sourceTree = SOURCE_ROOT; };
 		583684052BD178DB00070A60 /* GlucoseStored+helper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "GlucoseStored+helper.swift"; sourceTree = "<group>"; };
 		583684072BD195A700070A60 /* Determination.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Determination.swift; sourceTree = "<group>"; };
 		5837A52F2BD2E3C700A5DC04 /* MealsStored+helper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "MealsStored+helper.swift"; sourceTree = "<group>"; };
@@ -2037,18 +2129,80 @@
 			path = View;
 			sourceTree = "<group>";
 		};
-		587A54C82BCDCE0F009D38E2 /* Model */ = {
+		5825D1052BD4056700F36E9B /* Classes+Properties */ = {
+			isa = PBXGroup;
+			children = (
+				5825D1062BD4058F00F36E9B /* BGaverages+CoreDataClass.swift */,
+				5825D1072BD4058F00F36E9B /* BGaverages+CoreDataProperties.swift */,
+				5825D1082BD4058F00F36E9B /* BGmedian+CoreDataClass.swift */,
+				5825D1092BD4058F00F36E9B /* BGmedian+CoreDataProperties.swift */,
+				5825D10A2BD4058F00F36E9B /* InsulinStored+CoreDataClass.swift */,
+				5825D10B2BD4058F00F36E9B /* InsulinStored+CoreDataProperties.swift */,
+				5825D10C2BD4058F00F36E9B /* LoopStatRecord+CoreDataClass.swift */,
+				5825D10D2BD4058F00F36E9B /* LoopStatRecord+CoreDataProperties.swift */,
+				5825D10E2BD4058F00F36E9B /* ImportError+CoreDataClass.swift */,
+				5825D10F2BD4058F00F36E9B /* ImportError+CoreDataProperties.swift */,
+				5825D1102BD4058F00F36E9B /* TDD+CoreDataClass.swift */,
+				5825D1112BD4058F00F36E9B /* TDD+CoreDataProperties.swift */,
+				5825D1122BD4058F00F36E9B /* TempTargetsSlider+CoreDataClass.swift */,
+				5825D1132BD4058F00F36E9B /* TempTargetsSlider+CoreDataProperties.swift */,
+				5825D1142BD4058F00F36E9B /* Presets+CoreDataClass.swift */,
+				5825D1152BD4058F00F36E9B /* Presets+CoreDataProperties.swift */,
+				5825D1162BD4058F00F36E9B /* Autosens_+CoreDataClass.swift */,
+				5825D1172BD4058F00F36E9B /* Autosens_+CoreDataProperties.swift */,
+				5825D1182BD4058F00F36E9B /* Oref0Suggestion+CoreDataClass.swift */,
+				5825D1192BD4058F00F36E9B /* Oref0Suggestion+CoreDataProperties.swift */,
+				5825D11A2BD4058F00F36E9B /* Override+CoreDataClass.swift */,
+				5825D11B2BD4058F00F36E9B /* Override+CoreDataProperties.swift */,
+				5825D11C2BD4058F00F36E9B /* OrefDetermination+CoreDataClass.swift */,
+				5825D11D2BD4058F00F36E9B /* OrefDetermination+CoreDataProperties.swift */,
+				5825D11E2BD4058F00F36E9B /* TempTargets+CoreDataClass.swift */,
+				5825D11F2BD4058F00F36E9B /* TempTargets+CoreDataProperties.swift */,
+				5825D1202BD4058F00F36E9B /* HbA1c+CoreDataClass.swift */,
+				5825D1212BD4058F00F36E9B /* HbA1c+CoreDataProperties.swift */,
+				5825D1222BD4058F00F36E9B /* InsulinDistribution+CoreDataClass.swift */,
+				5825D1232BD4058F00F36E9B /* InsulinDistribution+CoreDataProperties.swift */,
+				5825D1242BD4058F00F36E9B /* LastLoop+CoreDataClass.swift */,
+				5825D1252BD4058F00F36E9B /* LastLoop+CoreDataProperties.swift */,
+				5825D1262BD4058F00F36E9B /* MealsStored+CoreDataClass.swift */,
+				5825D1272BD4058F00F36E9B /* MealsStored+CoreDataProperties.swift */,
+				5825D1282BD4058F00F36E9B /* Autotune_+CoreDataClass.swift */,
+				5825D1292BD4058F00F36E9B /* Autotune_+CoreDataProperties.swift */,
+				5825D12A2BD4058F00F36E9B /* StatsData+CoreDataClass.swift */,
+				5825D12B2BD4058F00F36E9B /* StatsData+CoreDataProperties.swift */,
+				5825D12C2BD4058F00F36E9B /* OverridePresets+CoreDataClass.swift */,
+				5825D12D2BD4058F00F36E9B /* OverridePresets+CoreDataProperties.swift */,
+				5825D12E2BD4058F00F36E9B /* Target+CoreDataClass.swift */,
+				5825D12F2BD4058F00F36E9B /* Target+CoreDataProperties.swift */,
+				5825D1302BD4058F00F36E9B /* Protein+CoreDataClass.swift */,
+				5825D1312BD4058F00F36E9B /* Protein+CoreDataProperties.swift */,
+				5825D1322BD4058F00F36E9B /* GlucoseStored+CoreDataClass.swift */,
+				5825D1332BD4058F00F36E9B /* GlucoseStored+CoreDataProperties.swift */,
+			);
+			path = "Classes+Properties";
+			sourceTree = "<group>";
+		};
+		5825D1622BD405AE00F36E9B /* Helper */ = {
 			isa = PBXGroup;
 			children = (
-				FEFA5C10299F814A00765C17 /* CoreDataStack.swift */,
 				1956FB202AFF79E200C7B4FF /* CoreDataStorage.swift */,
-				FEFA5C0D299F810B00765C17 /* Core_Data.xcdatamodeld */,
 				581516A82BCEEDF800BF67D7 /* NSPredicates.swift */,
 				583684052BD178DB00070A60 /* GlucoseStored+helper.swift */,
 				58F107732BD1A4D000B1A680 /* Determination+helper.swift */,
 				5837A52F2BD2E3C700A5DC04 /* MealsStored+helper.swift */,
 				5837A5312BD2E81100A5DC04 /* InsulinStored+helper.swift */,
 			);
+			path = Helper;
+			sourceTree = "<group>";
+		};
+		587A54C82BCDCE0F009D38E2 /* Model */ = {
+			isa = PBXGroup;
+			children = (
+				FEFA5C0D299F810B00765C17 /* Core_Data.xcdatamodeld */,
+				FEFA5C10299F814A00765C17 /* CoreDataStack.swift */,
+				5825D1052BD4056700F36E9B /* Classes+Properties */,
+				5825D1622BD405AE00F36E9B /* Helper */,
+			);
 			path = Model;
 			sourceTree = "<group>";
 		};
@@ -2712,13 +2866,18 @@
 				3811DEB225C9D88300A708ED /* KeychainItemAccessibility.swift in Sources */,
 				385CEAC425F2F154002D6D5B /* AnnouncementsStorage.swift in Sources */,
 				38AEE73D25F0200C0013F05B /* FreeAPSSettings.swift in Sources */,
+				5825D1352BD4058F00F36E9B /* BGaverages+CoreDataProperties.swift in Sources */,
 				38FCF3FD25E997A80078B0D1 /* PumpHistoryStorage.swift in Sources */,
 				38D0B3B625EBE24900CB6E88 /* Battery.swift in Sources */,
 				38C4D33725E9A1A300D30B77 /* DispatchQueue+Extensions.swift in Sources */,
 				F90692CF274B999A0037068D /* HealthKitDataFlow.swift in Sources */,
 				CE7CA3552A064973004BE681 /* ListStateIntent.swift in Sources */,
 				BDF530D82B40F8AC002CAF43 /* LockScreenView.swift in Sources */,
+				5825D15F2BD4058F00F36E9B /* Protein+CoreDataProperties.swift in Sources */,
+				5825D15D2BD4058F00F36E9B /* Target+CoreDataProperties.swift in Sources */,
+				5825D1402BD4058F00F36E9B /* TempTargetsSlider+CoreDataClass.swift in Sources */,
 				195D80B72AF697B800D25097 /* DynamicDataFlow.swift in Sources */,
+				5825D1542BD4058F00F36E9B /* MealsStored+CoreDataClass.swift in Sources */,
 				3862CC2E2743F9F700BF832C /* CalendarManager.swift in Sources */,
 				CEA4F62329BE10F70011ADF7 /* SavitzkyGolayFilter.swift in Sources */,
 				38B4F3C325E2A20B00E76A18 /* PumpSetupView.swift in Sources */,
@@ -2731,6 +2890,7 @@
 				38AEE75225F022080013F05B /* SettingsManager.swift in Sources */,
 				38FEF408273B011A00574A46 /* LibreTransmitterSource.swift in Sources */,
 				3894873A2614928B004DF424 /* DispatchTimer.swift in Sources */,
+				5825D14E2BD4058F00F36E9B /* HbA1c+CoreDataClass.swift in Sources */,
 				3895E4C625B9E00D00214B37 /* Preferences.swift in Sources */,
 				386A124F271707F000DDC61C /* DexcomSourceG6.swift in Sources */,
 				CE94598429E9E3E60047C9C6 /* WatchConfigStateModel.swift in Sources */,
@@ -2738,11 +2898,14 @@
 				38B4F3CD25E5031100E76A18 /* Broadcaster.swift in Sources */,
 				383420D925FFEB3F002D46C1 /* Popup.swift in Sources */,
 				3811DE3025C9D49500A708ED /* HomeStateModel.swift in Sources */,
+				5825D15A2BD4058F00F36E9B /* OverridePresets+CoreDataClass.swift in Sources */,
 				38BF021725E7CBBC00579895 /* PumpManagerExtensions.swift in Sources */,
+				5825D1492BD4058F00F36E9B /* Override+CoreDataProperties.swift in Sources */,
 				19F95FF529F10FCF00314DDC /* StatProvider.swift in Sources */,
 				38F3B2EF25ED8E2A005C48AA /* TempTargetsStorage.swift in Sources */,
 				19B0EF2128F6D66200069496 /* Statistics.swift in Sources */,
 				3811DF1025CAAAE200A708ED /* APSManager.swift in Sources */,
+				5825D13E2BD4058F00F36E9B /* TDD+CoreDataClass.swift in Sources */,
 				3870FF4725EC187A0088248F /* BloodGlucose.swift in Sources */,
 				38A0364225ED069400FCBB52 /* TempBasal.swift in Sources */,
 				3811DE1725C9D40400A708ED /* Screen.swift in Sources */,
@@ -2762,10 +2925,14 @@
 				38192E04261B82FA0094D973 /* ReachabilityManager.swift in Sources */,
 				38E44539274E411700EC9A94 /* Disk+UIImage.swift in Sources */,
 				388E595C25AD948C0019842D /* FreeAPSApp.swift in Sources */,
+				5825D1522BD4058F00F36E9B /* LastLoop+CoreDataClass.swift in Sources */,
 				38FEF3FC2737E53800574A46 /* MainStateModel.swift in Sources */,
+				5825D13A2BD4058F00F36E9B /* LoopStatRecord+CoreDataClass.swift in Sources */,
 				38569348270B5DFB0002C50D /* GlucoseSource.swift in Sources */,
+				5825D15B2BD4058F00F36E9B /* OverridePresets+CoreDataProperties.swift in Sources */,
 				CEB434E328B8F9DB00B70274 /* BluetoothStateManager.swift in Sources */,
 				3811DE4225C9D4A100A708ED /* SettingsDataFlow.swift in Sources */,
+				5825D1502BD4058F00F36E9B /* InsulinDistribution+CoreDataClass.swift in Sources */,
 				3811DE2525C9D48300A708ED /* MainRootView.swift in Sources */,
 				CE94598229E9E3D30047C9C6 /* WatchConfigProvider.swift in Sources */,
 				38E44535274E411700EC9A94 /* Disk+Data.swift in Sources */,
@@ -2774,6 +2941,7 @@
 				E013D872273AC6FE0014109C /* GlucoseSimulatorSource.swift in Sources */,
 				388E5A5C25B6F0770019842D /* JSON.swift in Sources */,
 				3811DF0225CA9FEA00A708ED /* Credentials.swift in Sources */,
+				5825D1452BD4058F00F36E9B /* Autosens_+CoreDataProperties.swift in Sources */,
 				19DC678529CA67A400FD9EC4 /* OverrideProfilesRootView.swift in Sources */,
 				5837A5302BD2E3C700A5DC04 /* MealsStored+helper.swift in Sources */,
 				389A572026079BAA00BC102F /* Interpolation.swift in Sources */,
@@ -2787,15 +2955,19 @@
 				38A13D3225E28B4B00EAA382 /* PumpHistoryEvent.swift in Sources */,
 				E00EEC0627368630002FF094 /* UIAssembly.swift in Sources */,
 				3811DE1825C9D40400A708ED /* Router.swift in Sources */,
+				5825D1462BD4058F00F36E9B /* Oref0Suggestion+CoreDataClass.swift in Sources */,
+				5825D1392BD4058F00F36E9B /* InsulinStored+CoreDataProperties.swift in Sources */,
 				CE7950262998056D00FA576E /* CGMSetupView.swift in Sources */,
 				38A0363B25ECF07E00FCBB52 /* GlucoseStorage.swift in Sources */,
 				190EBCC629FF138000BA767D /* StatConfigProvider.swift in Sources */,
 				38E98A2725F52C9300C0CED0 /* CollectionIssueReporter.swift in Sources */,
 				E00EEC0427368630002FF094 /* SecurityAssembly.swift in Sources */,
 				3811DEE825CA063400A708ED /* Injected.swift in Sources */,
+				5825D14A2BD4058F00F36E9B /* OrefDetermination+CoreDataClass.swift in Sources */,
 				3811DEAF25C9D88300A708ED /* KeyValueStorage.swift in Sources */,
 				38FE826D25CC8461001FF17A /* NightscoutAPI.swift in Sources */,
 				388358C825EEF6D200E024B2 /* BasalProfileEntry.swift in Sources */,
+				5825D1582BD4058F00F36E9B /* StatsData+CoreDataClass.swift in Sources */,
 				3811DE0B25C9D32F00A708ED /* BaseView.swift in Sources */,
 				3811DE3225C9D49500A708ED /* HomeDataFlow.swift in Sources */,
 				CE1856F52ADC4858007E39C7 /* AddCarbPresetIntent.swift in Sources */,
@@ -2804,6 +2976,7 @@
 				384E803425C385E60086DB71 /* JavaScriptWorker.swift in Sources */,
 				3811DE5D25C9D4D500A708ED /* Publisher.swift in Sources */,
 				E00EEC0727368630002FF094 /* APSAssembly.swift in Sources */,
+				5825D1482BD4058F00F36E9B /* Override+CoreDataClass.swift in Sources */,
 				38B4F3AF25E2979F00E76A18 /* IndexedCollection.swift in Sources */,
 				3811DEAE25C9D88300A708ED /* Cache.swift in Sources */,
 				383420D625FFE38C002D46C1 /* LoopView.swift in Sources */,
@@ -2816,6 +2989,8 @@
 				3811DE0C25C9D32F00A708ED /* BaseProvider.swift in Sources */,
 				3811DE5C25C9D4D500A708ED /* Formatters.swift in Sources */,
 				3871F39F25ED895A0013ECB5 /* Decimal+Extensions.swift in Sources */,
+				5825D1562BD4058F00F36E9B /* Autotune_+CoreDataClass.swift in Sources */,
+				5825D13D2BD4058F00F36E9B /* ImportError+CoreDataProperties.swift in Sources */,
 				3811DE3525C9D49500A708ED /* HomeRootView.swift in Sources */,
 				38E98A2925F52C9300C0CED0 /* Error+Extensions.swift in Sources */,
 				38EA05DA261F6E7C0064E39B /* SimpleLogReporter.swift in Sources */,
@@ -2834,11 +3009,13 @@
 				38FCF3D625E8FDF40078B0D1 /* MD5.swift in Sources */,
 				3871F39C25ED892B0013ECB5 /* TempTarget.swift in Sources */,
 				191F62682AD6B05A004D7911 /* NightscoutSettings.swift in Sources */,
+				5825D1342BD4058F00F36E9B /* BGaverages+CoreDataClass.swift in Sources */,
 				FEFA5C11299F814A00765C17 /* CoreDataStack.swift in Sources */,
 				3811DEAB25C9D88300A708ED /* HTTPResponseStatus.swift in Sources */,
 				3811DE5F25C9D4D500A708ED /* ProgressBar.swift in Sources */,
 				38E87408274F9AD000975559 /* UserNotificationsManager.swift in Sources */,
 				CE82E02528E867BA00473A9C /* AlertStorage.swift in Sources */,
+				5825D1422BD4058F00F36E9B /* Presets+CoreDataClass.swift in Sources */,
 				38BF021D25E7E3AF00579895 /* Reservoir.swift in Sources */,
 				583684082BD195A700070A60 /* Determination.swift in Sources */,
 				38BF021B25E7D06400579895 /* PumpSettingsView.swift in Sources */,
@@ -2855,24 +3032,28 @@
 				38DAB28A260D349500F74C1A /* FetchGlucoseManager.swift in Sources */,
 				38F37828261260DC009DB701 /* Color+Extensions.swift in Sources */,
 				3811DE3F25C9D4A100A708ED /* SettingsStateModel.swift in Sources */,
+				5825D1382BD4058F00F36E9B /* InsulinStored+CoreDataClass.swift in Sources */,
 				CE7CA3582A064E2F004BE681 /* ListStateView.swift in Sources */,
 				193F6CDD2A512C8F001240FD /* Loops.swift in Sources */,
 				38B4F3CB25E502E200E76A18 /* WeakObjectSet.swift in Sources */,
 				38E989DD25F5021400C0CED0 /* PumpStatus.swift in Sources */,
 				BDFD165A2AE40438007F0DDA /* BolusRootView.swift in Sources */,
 				38E98A2525F52C9300C0CED0 /* IssueReporter.swift in Sources */,
+				5825D1592BD4058F00F36E9B /* StatsData+CoreDataProperties.swift in Sources */,
 				190EBCC429FF136900BA767D /* StatConfigDataFlow.swift in Sources */,
 				3811DEB025C9D88300A708ED /* BaseKeychain.swift in Sources */,
 				3811DE4325C9D4A100A708ED /* SettingsProvider.swift in Sources */,
 				45252C95D220E796FDB3B022 /* ConfigEditorDataFlow.swift in Sources */,
 				587DA1F62B77F3DD00B28F8A /* SettingsRowView.swift in Sources */,
 				3871F38725ED661C0013ECB5 /* Suggestion.swift in Sources */,
+				5825D1572BD4058F00F36E9B /* Autotune_+CoreDataProperties.swift in Sources */,
 				CE7CA34E2A064973004BE681 /* AppShortcuts.swift in Sources */,
 				38C4D33A25E9A1ED00D30B77 /* NSObject+AssociatedValues.swift in Sources */,
 				38DF179027733EAD00B3528F /* SnowScene.swift in Sources */,
 				19DC677F29CA675700FD9EC4 /* OverrideProfilesDataFlow.swift in Sources */,
 				1935364028496F7D001E0B16 /* Oref2_variables.swift in Sources */,
 				CE2FAD3A297D93F0001A872C /* BloodGlucoseExtensions.swift in Sources */,
+				5825D1612BD4058F00F36E9B /* GlucoseStored+CoreDataProperties.swift in Sources */,
 				38E4453A274E411700EC9A94 /* Disk+[UIImage].swift in Sources */,
 				72F1BD388F42FCA6C52E4500 /* ConfigEditorProvider.swift in Sources */,
 				E39E418C56A5A46B61D960EE /* ConfigEditorStateModel.swift in Sources */,
@@ -2880,12 +3061,15 @@
 				CE7CA3532A064973004BE681 /* tempPresetIntent.swift in Sources */,
 				D6DEC113821A7F1056C4AA1E /* NightscoutConfigDataFlow.swift in Sources */,
 				38E98A3025F52FF700C0CED0 /* Config.swift in Sources */,
+				5825D14C2BD4058F00F36E9B /* TempTargets+CoreDataClass.swift in Sources */,
 				CE1856F72ADC4869007E39C7 /* CarbPresetIntentRequest.swift in Sources */,
 				BD2B464E0745FBE7B79913F4 /* NightscoutConfigProvider.swift in Sources */,
 				9825E5E923F0B8FA80C8C7C7 /* NightscoutConfigStateModel.swift in Sources */,
 				38A43598262E0E4900E80935 /* FetchAnnouncementsManager.swift in Sources */,
 				642F76A05A4FF530463A9FD0 /* NightscoutConfigRootView.swift in Sources */,
+				5825D1512BD4058F00F36E9B /* InsulinDistribution+CoreDataProperties.swift in Sources */,
 				BD7DA9AC2AE06EB900601B20 /* BolusCalculatorConfigRootView.swift in Sources */,
+				5825D15E2BD4058F00F36E9B /* Protein+CoreDataClass.swift in Sources */,
 				AD3D2CD42CD01B9EB8F26522 /* PumpConfigDataFlow.swift in Sources */,
 				53F2382465BF74DB1A967C8B /* PumpConfigProvider.swift in Sources */,
 				5D16287A969E64D18CE40E44 /* PumpConfigStateModel.swift in Sources */,
@@ -2904,8 +3088,11 @@
 				389ECDFE2601061500D86C4F /* View+Snapshot.swift in Sources */,
 				38FEF3FE2738083E00574A46 /* CGMProvider.swift in Sources */,
 				38E98A3725F5509500C0CED0 /* String+Extensions.swift in Sources */,
+				5825D13C2BD4058F00F36E9B /* ImportError+CoreDataClass.swift in Sources */,
+				5825D13F2BD4058F00F36E9B /* TDD+CoreDataProperties.swift in Sources */,
 				F90692D1274B99B60037068D /* HealthKitProvider.swift in Sources */,
 				19F95FF729F10FEE00314DDC /* StatStateModel.swift in Sources */,
+				5825D1432BD4058F00F36E9B /* Presets+CoreDataProperties.swift in Sources */,
 				385CEAC125F2EA52002D6D5B /* Announcement.swift in Sources */,
 				8B759CFCF47B392BB365C251 /* BasalProfileEditorDataFlow.swift in Sources */,
 				195D80B42AF6973A00D25097 /* DynamicRootView.swift in Sources */,
@@ -2922,8 +3109,10 @@
 				38887CCE25F5725200944304 /* IOBEntry.swift in Sources */,
 				38E98A2425F52C9300C0CED0 /* Logger.swift in Sources */,
 				CA370FC152BC98B3D1832968 /* BasalProfileEditorRootView.swift in Sources */,
+				5825D1552BD4058F00F36E9B /* MealsStored+CoreDataProperties.swift in Sources */,
 				195D80BB2AF6980B00D25097 /* DynamicStateModel.swift in Sources */,
 				E00EEC0327368630002FF094 /* ServiceAssembly.swift in Sources */,
+				5825D1412BD4058F00F36E9B /* TempTargetsSlider+CoreDataProperties.swift in Sources */,
 				38192E07261BA9960094D973 /* FetchTreatmentsManager.swift in Sources */,
 				19012CDC291D2CB900FB8210 /* LoopStats.swift in Sources */,
 				6632A0DC746872439A858B44 /* ISFEditorDataFlow.swift in Sources */,
@@ -2936,10 +3125,12 @@
 				88AB39B23C9552BD6E0C9461 /* ISFEditorRootView.swift in Sources */,
 				F816825E28DB441200054060 /* HeartBeatManager.swift in Sources */,
 				58F107742BD1A4D000B1A680 /* Determination+helper.swift in Sources */,
+				5825D13B2BD4058F00F36E9B /* LoopStatRecord+CoreDataProperties.swift in Sources */,
 				38FEF413273B317A00574A46 /* HKUnit.swift in Sources */,
 				A33352ED40476125EBAC6EE0 /* CREditorDataFlow.swift in Sources */,
 				17A9D0899046B45E87834820 /* CREditorProvider.swift in Sources */,
 				69B9A368029F7EB39F525422 /* CREditorStateModel.swift in Sources */,
+				5825D1472BD4058F00F36E9B /* Oref0Suggestion+CoreDataProperties.swift in Sources */,
 				38E44538274E411700EC9A94 /* Disk+[Data].swift in Sources */,
 				98641AF4F92123DA668AB931 /* CREditorRootView.swift in Sources */,
 				38E4453D274E411700EC9A94 /* Disk+Errors.swift in Sources */,
@@ -2949,6 +3140,7 @@
 				5075C1608E6249A51495C422 /* TargetsEditorProvider.swift in Sources */,
 				E13B7DAB2A435F57066AF02E /* TargetsEditorStateModel.swift in Sources */,
 				19DC678129CA676A00FD9EC4 /* OverrideProfilesProvider.swift in Sources */,
+				5825D1442BD4058F00F36E9B /* Autosens_+CoreDataClass.swift in Sources */,
 				9702FF92A09C53942F20D7EA /* TargetsEditorRootView.swift in Sources */,
 				1967DFBE29D052C200759F30 /* Icons.swift in Sources */,
 				38E8754F275556FA00975559 /* WatchManager.swift in Sources */,
@@ -2962,6 +3154,7 @@
 				CE48C86428CA69D5007C0598 /* OmniBLEPumpManagerExtensions.swift in Sources */,
 				38E8755427561E9800975559 /* DataFlow.swift in Sources */,
 				38E44522274E3DDC00EC9A94 /* NetworkReachabilityManager.swift in Sources */,
+				5825D1602BD4058F00F36E9B /* GlucoseStored+CoreDataClass.swift in Sources */,
 				CE7CA34F2A064973004BE681 /* BaseIntentsRequest.swift in Sources */,
 				D2165E9D78EFF692C1DED1C6 /* AddTempTargetDataFlow.swift in Sources */,
 				CE82E02728E869DF00473A9C /* AlertEntry.swift in Sources */,
@@ -2990,18 +3183,23 @@
 				583684062BD178DB00070A60 /* GlucoseStored+helper.swift in Sources */,
 				F90692D6274B9A450037068D /* HealthKitStateModel.swift in Sources */,
 				BD1661312B82ADAB00256551 /* CustomProgressView.swift in Sources */,
+				5825D14B2BD4058F00F36E9B /* OrefDetermination+CoreDataProperties.swift in Sources */,
 				C967DACD3B1E638F8B43BE06 /* ManualTempBasalStateModel.swift in Sources */,
 				FE41E4D429463C660047FD55 /* NightscoutStatistics.swift in Sources */,
 				38E4453B274E411700EC9A94 /* Disk+VolumeInformation.swift in Sources */,
 				7BCFACB97C821041BA43A114 /* ManualTempBasalRootView.swift in Sources */,
 				38E44534274E411700EC9A94 /* Disk+InternalHelpers.swift in Sources */,
+				5825D1532BD4058F00F36E9B /* LastLoop+CoreDataProperties.swift in Sources */,
 				38A00B2325FC2B55006BC0B0 /* LRUCache.swift in Sources */,
 				3083261C4B268E353F36CD0B /* AutotuneConfigDataFlow.swift in Sources */,
 				891DECF7BC20968D7F566161 /* AutotuneConfigProvider.swift in Sources */,
+				5825D15C2BD4058F00F36E9B /* Target+CoreDataClass.swift in Sources */,
 				D76333C9256787610B3B4875 /* AutotuneConfigStateModel.swift in Sources */,
 				A05235B9112E677ED03B6E8E /* AutotuneConfigRootView.swift in Sources */,
+				5825D14F2BD4058F00F36E9B /* HbA1c+CoreDataProperties.swift in Sources */,
 				7F7B756BE8543965D9FDF1A2 /* DataTableDataFlow.swift in Sources */,
 				1D845DF2E3324130E1D95E67 /* DataTableProvider.swift in Sources */,
+				5825D1372BD4058F00F36E9B /* BGmedian+CoreDataProperties.swift in Sources */,
 				19F95FFA29F1102A00314DDC /* StatRootView.swift in Sources */,
 				0D9A5E34A899219C5C4CDFAF /* DataTableStateModel.swift in Sources */,
 				6BCF84DD2B16843A003AD46E /* LiveActitiyShared.swift in Sources */,
@@ -3016,6 +3214,7 @@
 				CE94598729E9E4110047C9C6 /* WatchConfigRootView.swift in Sources */,
 				903D18976088B09110BCBE29 /* LibreConfigStateModel.swift in Sources */,
 				9050F378F0063C064D7FFC86 /* LibreConfigRootView.swift in Sources */,
+				5825D14D2BD4058F00F36E9B /* TempTargets+CoreDataProperties.swift in Sources */,
 				B7C465E9472624D8A2BE2A6A /* CalibrationsDataFlow.swift in Sources */,
 				320D030F724170A637F06D50 /* CalibrationsProvider.swift in Sources */,
 				19E1F7E829D082D0005C8D20 /* IconConfigDataFlow.swift in Sources */,
@@ -3030,6 +3229,7 @@
 				6B1F539F9FF75646D1606066 /* SnoozeDataFlow.swift in Sources */,
 				6FFAE524D1D9C262F2407CAE /* SnoozeProvider.swift in Sources */,
 				8194B80890CDD6A3C13B0FEE /* SnoozeStateModel.swift in Sources */,
+				5825D1362BD4058F00F36E9B /* BGmedian+CoreDataClass.swift in Sources */,
 				0437CE46C12535A56504EC19 /* SnoozeRootView.swift in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;

+ 4 - 0
GlucoseStored+CoreDataClass.swift

@@ -0,0 +1,4 @@
+import CoreData
+import Foundation
+
+@objc(GlucoseStored) public class GlucoseStored: NSManagedObject {}

+ 15 - 0
GlucoseStored+CoreDataProperties.swift

@@ -0,0 +1,15 @@
+import CoreData
+import Foundation
+
+public extension GlucoseStored {
+    @nonobjc class func fetchRequest() -> NSFetchRequest<GlucoseStored> {
+        NSFetchRequest<GlucoseStored>(entityName: "GlucoseStored")
+    }
+
+    @NSManaged var date: Date?
+    @NSManaged var direction: String?
+    @NSManaged var glucose: Int16
+    @NSManaged var id: UUID?
+}
+
+extension GlucoseStored: Identifiable {}

+ 4 - 0
HbA1c+CoreDataClass.swift

@@ -0,0 +1,4 @@
+import CoreData
+import Foundation
+
+@objc(HbA1c) public class HbA1c: NSManagedObject {}

+ 16 - 0
HbA1c+CoreDataProperties.swift

@@ -0,0 +1,16 @@
+import CoreData
+import Foundation
+
+public extension HbA1c {
+    @nonobjc class func fetchRequest() -> NSFetchRequest<HbA1c> {
+        NSFetchRequest<HbA1c>(entityName: "HbA1c")
+    }
+
+    @NSManaged var date: Date?
+    @NSManaged var hba1c: NSDecimalNumber?
+    @NSManaged var hba1c_1: NSDecimalNumber?
+    @NSManaged var hba1c_7: NSDecimalNumber?
+    @NSManaged var hba1c_30: NSDecimalNumber?
+}
+
+extension HbA1c: Identifiable {}

+ 4 - 0
ImportError+CoreDataClass.swift

@@ -0,0 +1,4 @@
+import CoreData
+import Foundation
+
+@objc(ImportError) public class ImportError: NSManagedObject {}

+ 13 - 0
ImportError+CoreDataProperties.swift

@@ -0,0 +1,13 @@
+import CoreData
+import Foundation
+
+public extension ImportError {
+    @nonobjc class func fetchRequest() -> NSFetchRequest<ImportError> {
+        NSFetchRequest<ImportError>(entityName: "ImportError")
+    }
+
+    @NSManaged var date: Date?
+    @NSManaged var error: String?
+}
+
+extension ImportError: Identifiable {}

+ 4 - 0
InsulinDistribution+CoreDataClass.swift

@@ -0,0 +1,4 @@
+import CoreData
+import Foundation
+
+@objc(InsulinDistribution) public class InsulinDistribution: NSManagedObject {}

+ 16 - 0
InsulinDistribution+CoreDataProperties.swift

@@ -0,0 +1,16 @@
+import CoreData
+import Foundation
+
+public extension InsulinDistribution {
+    @nonobjc class func fetchRequest() -> NSFetchRequest<InsulinDistribution> {
+        NSFetchRequest<InsulinDistribution>(entityName: "InsulinDistribution")
+    }
+
+    @NSManaged var bolus: NSDecimalNumber?
+    @NSManaged var date: Date?
+    @NSManaged var scheduledBasal: NSDecimalNumber?
+    @NSManaged var tempBasal: NSDecimalNumber?
+    @NSManaged var insulin: Oref0Suggestion?
+}
+
+extension InsulinDistribution: Identifiable {}

+ 4 - 0
InsulinStored+CoreDataClass.swift

@@ -0,0 +1,4 @@
+import CoreData
+import Foundation
+
+@objc(InsulinStored) public class InsulinStored: NSManagedObject {}

+ 16 - 0
InsulinStored+CoreDataProperties.swift

@@ -0,0 +1,16 @@
+import CoreData
+import Foundation
+
+public extension InsulinStored {
+    @nonobjc class func fetchRequest() -> NSFetchRequest<InsulinStored> {
+        NSFetchRequest<InsulinStored>(entityName: "InsulinStored")
+    }
+
+    @NSManaged var amount: NSDecimalNumber?
+    @NSManaged var date: Date?
+    @NSManaged var external: Bool
+    @NSManaged var id: UUID?
+    @NSManaged var isSMB: Bool
+}
+
+extension InsulinStored: Identifiable {}

+ 4 - 0
LastLoop+CoreDataClass.swift

@@ -0,0 +1,4 @@
+import CoreData
+import Foundation
+
+@objc(LastLoop) public class LastLoop: NSManagedObject {}

+ 14 - 0
LastLoop+CoreDataProperties.swift

@@ -0,0 +1,14 @@
+import CoreData
+import Foundation
+
+public extension LastLoop {
+    @nonobjc class func fetchRequest() -> NSFetchRequest<LastLoop> {
+        NSFetchRequest<LastLoop>(entityName: "LastLoop")
+    }
+
+    @NSManaged var cob: NSDecimalNumber?
+    @NSManaged var iob: NSDecimalNumber?
+    @NSManaged var timestamp: Date?
+}
+
+extension LastLoop: Identifiable {}

+ 4 - 0
LoopStatRecord+CoreDataClass.swift

@@ -0,0 +1,4 @@
+import CoreData
+import Foundation
+
+@objc(LoopStatRecord) public class LoopStatRecord: NSManagedObject {}

+ 16 - 0
LoopStatRecord+CoreDataProperties.swift

@@ -0,0 +1,16 @@
+import CoreData
+import Foundation
+
+public extension LoopStatRecord {
+    @nonobjc class func fetchRequest() -> NSFetchRequest<LoopStatRecord> {
+        NSFetchRequest<LoopStatRecord>(entityName: "LoopStatRecord")
+    }
+
+    @NSManaged var duration: Double
+    @NSManaged var end: Date?
+    @NSManaged var interval: Double
+    @NSManaged var loopStatus: String?
+    @NSManaged var start: Date?
+}
+
+extension LoopStatRecord: Identifiable {}

+ 4 - 0
MealsStored+CoreDataClass.swift

@@ -0,0 +1,4 @@
+import CoreData
+import Foundation
+
+@objc(MealsStored) public class MealsStored: NSManagedObject {}

+ 18 - 0
MealsStored+CoreDataProperties.swift

@@ -0,0 +1,18 @@
+import CoreData
+import Foundation
+
+public extension MealsStored {
+    @nonobjc class func fetchRequest() -> NSFetchRequest<MealsStored> {
+        NSFetchRequest<MealsStored>(entityName: "MealsStored")
+    }
+
+    @NSManaged var carbs: Double
+    @NSManaged var date: Date?
+    @NSManaged var fat: Double
+    @NSManaged var id: UUID?
+    @NSManaged var isFPU: Bool
+    @NSManaged var note: String?
+    @NSManaged var protein: Double
+}
+
+extension MealsStored: Identifiable {}

+ 23 - 23
Model/Core_Data.xcdatamodeld/Core_Data.xcdatamodel/contents

@@ -1,74 +1,74 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 <model type="com.apple.IDECoreDataModeler.DataModel" documentVersion="1.0" lastSavedToolsVersion="22222" systemVersion="22G120" minimumToolsVersion="Automatic" sourceLanguage="Swift" userDefinedModelVersionIdentifier="">
-    <entity name="Autosens_" representedClassName="Autosens_" syncable="YES" codeGenerationType="class">
+    <entity name="Autosens_" representedClassName="Autosens_" syncable="YES">
         <attribute name="newisf" optional="YES" attributeType="Decimal" defaultValueString="0.0"/>
         <attribute name="ratio" optional="YES" attributeType="Decimal" defaultValueString="0.0"/>
         <attribute name="timestamp" optional="YES" attributeType="Date" usesScalarValueType="NO"/>
     </entity>
-    <entity name="Autotune_" representedClassName="Autotune_" syncable="YES" codeGenerationType="class">
+    <entity name="Autotune_" representedClassName="Autotune_" syncable="YES">
         <attribute name="basalProfile" optional="YES" attributeType="Transformable"/>
         <attribute name="carbRatio" optional="YES" attributeType="Decimal" defaultValueString="0.0"/>
         <attribute name="createdAt" optional="YES" attributeType="Date" usesScalarValueType="NO"/>
         <attribute name="sensitivity" optional="YES" attributeType="Decimal" defaultValueString="0.0"/>
     </entity>
-    <entity name="BGaverages" representedClassName="BGaverages" syncable="YES" codeGenerationType="class">
+    <entity name="BGaverages" representedClassName="BGaverages" syncable="YES">
         <attribute name="average" optional="YES" attributeType="Decimal" defaultValueString="0.0"/>
         <attribute name="average_1" optional="YES" attributeType="Decimal" defaultValueString="0.0"/>
         <attribute name="average_7" optional="YES" attributeType="Decimal" defaultValueString="0.0"/>
         <attribute name="average_30" optional="YES" attributeType="Decimal" defaultValueString="0.0"/>
         <attribute name="date" optional="YES" attributeType="Date" usesScalarValueType="NO"/>
     </entity>
-    <entity name="BGmedian" representedClassName="BGmedian" syncable="YES" codeGenerationType="class">
+    <entity name="BGmedian" representedClassName="BGmedian" syncable="YES">
         <attribute name="date" optional="YES" attributeType="Date" usesScalarValueType="NO"/>
         <attribute name="median" optional="YES" attributeType="Decimal" defaultValueString="0.0"/>
         <attribute name="median_1" optional="YES" attributeType="Decimal" defaultValueString="0.0"/>
         <attribute name="median_7" optional="YES" attributeType="Decimal" defaultValueString="0.0"/>
         <attribute name="median_30" optional="YES" attributeType="Decimal" defaultValueString="0.0"/>
     </entity>
-    <entity name="GlucoseStored" representedClassName="GlucoseStored" syncable="YES" codeGenerationType="class">
+    <entity name="GlucoseStored" representedClassName="GlucoseStored" syncable="YES">
         <attribute name="date" optional="YES" attributeType="Date" usesScalarValueType="NO"/>
         <attribute name="direction" optional="YES" attributeType="String"/>
         <attribute name="glucose" optional="YES" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="YES"/>
         <attribute name="id" optional="YES" attributeType="UUID" usesScalarValueType="NO"/>
     </entity>
-    <entity name="HbA1c" representedClassName="HbA1c" syncable="YES" codeGenerationType="class">
+    <entity name="HbA1c" representedClassName="HbA1c" syncable="YES">
         <attribute name="date" optional="YES" attributeType="Date" usesScalarValueType="NO"/>
         <attribute name="hba1c" optional="YES" attributeType="Decimal" defaultValueString="0.0"/>
         <attribute name="hba1c_1" optional="YES" attributeType="Decimal" defaultValueString="0.0"/>
         <attribute name="hba1c_7" optional="YES" attributeType="Decimal" defaultValueString="0.0"/>
         <attribute name="hba1c_30" optional="YES" attributeType="Decimal" defaultValueString="0.0"/>
     </entity>
-    <entity name="ImportError" representedClassName="ImportError" syncable="YES" codeGenerationType="class">
+    <entity name="ImportError" representedClassName="ImportError" syncable="YES">
         <attribute name="date" optional="YES" attributeType="Date" usesScalarValueType="NO"/>
         <attribute name="error" optional="YES" attributeType="String"/>
     </entity>
-    <entity name="InsulinDistribution" representedClassName="InsulinDistribution" syncable="YES" codeGenerationType="class">
+    <entity name="InsulinDistribution" representedClassName="InsulinDistribution" syncable="YES">
         <attribute name="bolus" optional="YES" attributeType="Decimal" defaultValueString="0.0"/>
         <attribute name="date" optional="YES" attributeType="Date" usesScalarValueType="NO"/>
         <attribute name="scheduledBasal" optional="YES" attributeType="Decimal" defaultValueString="0.0"/>
         <attribute name="tempBasal" optional="YES" attributeType="Decimal" defaultValueString="0.0"/>
         <relationship name="insulin" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="Oref0Suggestion" inverseName="computedInsulinDistribution" inverseEntity="Oref0Suggestion"/>
     </entity>
-    <entity name="InsulinStored" representedClassName="InsulinStored" syncable="YES" codeGenerationType="class">
+    <entity name="InsulinStored" representedClassName="InsulinStored" syncable="YES">
         <attribute name="amount" optional="YES" attributeType="Decimal" defaultValueString="0.0"/>
         <attribute name="date" optional="YES" attributeType="Date" usesScalarValueType="NO"/>
         <attribute name="external" optional="YES" attributeType="Boolean" usesScalarValueType="YES"/>
         <attribute name="id" optional="YES" attributeType="UUID" usesScalarValueType="NO"/>
         <attribute name="isSMB" optional="YES" attributeType="Boolean" usesScalarValueType="YES"/>
     </entity>
-    <entity name="LastLoop" representedClassName="LastLoop" syncable="YES" codeGenerationType="class">
+    <entity name="LastLoop" representedClassName="LastLoop" syncable="YES">
         <attribute name="cob" optional="YES" attributeType="Decimal" defaultValueString="0.0"/>
         <attribute name="iob" optional="YES" attributeType="Decimal" defaultValueString="0.0"/>
         <attribute name="timestamp" optional="YES" attributeType="Date" usesScalarValueType="NO"/>
     </entity>
-    <entity name="LoopStatRecord" representedClassName="LoopStatRecord" syncable="YES" codeGenerationType="class">
+    <entity name="LoopStatRecord" representedClassName="LoopStatRecord" syncable="YES">
         <attribute name="duration" optional="YES" attributeType="Double" defaultValueString="0.0" usesScalarValueType="YES"/>
         <attribute name="end" optional="YES" attributeType="Date" usesScalarValueType="NO"/>
         <attribute name="interval" optional="YES" attributeType="Double" defaultValueString="0.0" usesScalarValueType="YES"/>
         <attribute name="loopStatus" optional="YES" attributeType="String"/>
         <attribute name="start" optional="YES" attributeType="Date" usesScalarValueType="NO"/>
     </entity>
-    <entity name="MealsStored" representedClassName="MealsStored" syncable="YES" codeGenerationType="class">
+    <entity name="MealsStored" representedClassName="MealsStored" syncable="YES">
         <attribute name="carbs" optional="YES" attributeType="Double" defaultValueString="0.0" usesScalarValueType="YES"/>
         <attribute name="date" optional="YES" attributeType="Date" usesScalarValueType="NO"/>
         <attribute name="fat" optional="YES" attributeType="Double" defaultValueString="0.0" usesScalarValueType="YES"/>
@@ -77,11 +77,11 @@
         <attribute name="note" optional="YES" attributeType="String"/>
         <attribute name="protein" optional="YES" attributeType="Double" defaultValueString="0.0" usesScalarValueType="YES"/>
     </entity>
-    <entity name="Oref0Suggestion" representedClassName="Oref0Suggestion" syncable="YES" codeGenerationType="class">
+    <entity name="Oref0Suggestion" representedClassName="Oref0Suggestion" syncable="YES">
         <relationship name="computedInsulinDistribution" optional="YES" toMany="YES" deletionRule="Nullify" destinationEntity="InsulinDistribution" inverseName="insulin" inverseEntity="InsulinDistribution"/>
         <relationship name="computedTDD" optional="YES" toMany="YES" deletionRule="Nullify" destinationEntity="TDD" inverseName="computed" inverseEntity="TDD"/>
     </entity>
-    <entity name="OrefDetermination" representedClassName="OrefDetermination" syncable="YES" codeGenerationType="class">
+    <entity name="OrefDetermination" representedClassName="OrefDetermination" syncable="YES">
         <attribute name="bolus" optional="YES" attributeType="Decimal" defaultValueString="0.0"/>
         <attribute name="carbRatio" optional="YES" attributeType="Decimal" defaultValueString="0.0"/>
         <attribute name="carbsRequired" optional="YES" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="YES"/>
@@ -114,7 +114,7 @@
         <attribute name="totalDailyDose" optional="YES" attributeType="Decimal" defaultValueString="0.0"/>
         <attribute name="treshold" optional="YES" attributeType="Decimal" defaultValueString="0.0"/>
     </entity>
-    <entity name="Override" representedClassName="Override" syncable="YES" codeGenerationType="class">
+    <entity name="Override" representedClassName="Override" syncable="YES">
         <attribute name="advancedSettings" optional="YES" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="YES"/>
         <attribute name="cr" optional="YES" attributeType="Boolean" defaultValueString="YES" usesScalarValueType="YES"/>
         <attribute name="date" optional="YES" attributeType="Date" usesScalarValueType="NO"/>
@@ -134,7 +134,7 @@
         <attribute name="target" optional="YES" attributeType="Decimal" defaultValueString="100"/>
         <attribute name="uamMinutes" optional="YES" attributeType="Decimal" defaultValueString="30"/>
     </entity>
-    <entity name="OverridePresets" representedClassName="OverridePresets" syncable="YES" codeGenerationType="class">
+    <entity name="OverridePresets" representedClassName="OverridePresets" syncable="YES">
         <attribute name="advancedSettings" optional="YES" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="YES"/>
         <attribute name="cr" optional="YES" attributeType="Boolean" defaultValueString="YES" usesScalarValueType="YES"/>
         <attribute name="date" optional="YES" attributeType="Date" usesScalarValueType="NO"/>
@@ -153,29 +153,29 @@
         <attribute name="target" optional="YES" attributeType="Decimal" defaultValueString="0.0"/>
         <attribute name="uamMinutes" optional="YES" attributeType="Decimal" defaultValueString="30"/>
     </entity>
-    <entity name="Presets" representedClassName="Presets" syncable="YES" codeGenerationType="class">
+    <entity name="Presets" representedClassName="Presets" syncable="YES">
         <attribute name="carbs" optional="YES" attributeType="Decimal" defaultValueString="0.0"/>
         <attribute name="dish" optional="YES" attributeType="String"/>
         <attribute name="fat" optional="YES" attributeType="Decimal" defaultValueString="0.0"/>
         <attribute name="protein" optional="YES" attributeType="Decimal" defaultValueString="0.0"/>
     </entity>
-    <entity name="Protein" representedClassName="Protein" syncable="YES" codeGenerationType="class">
+    <entity name="Protein" representedClassName="Protein" syncable="YES">
         <attribute name="date" optional="YES" attributeType="Date" usesScalarValueType="NO"/>
         <attribute name="enteredBy" optional="YES" attributeType="String"/>
         <attribute name="protein" optional="YES" attributeType="Decimal" defaultValueString="0.0"/>
     </entity>
-    <entity name="StatsData" representedClassName="StatsData" syncable="YES" codeGenerationType="class">
+    <entity name="StatsData" representedClassName="StatsData" syncable="YES">
         <attribute name="lastrun" attributeType="Date" defaultDateTimeInterval="704497620" usesScalarValueType="NO"/>
     </entity>
-    <entity name="Target" representedClassName="Target" syncable="YES" codeGenerationType="class">
+    <entity name="Target" representedClassName="Target" syncable="YES">
         <attribute name="current" optional="YES" attributeType="Decimal" defaultValueString="100"/>
     </entity>
-    <entity name="TDD" representedClassName="TDD" syncable="YES" codeGenerationType="class">
+    <entity name="TDD" representedClassName="TDD" syncable="YES">
         <attribute name="tdd" optional="YES" attributeType="Decimal" defaultValueString="0.0"/>
         <attribute name="timestamp" optional="YES" attributeType="Date" usesScalarValueType="NO"/>
         <relationship name="computed" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="Oref0Suggestion" inverseName="computedTDD" inverseEntity="Oref0Suggestion"/>
     </entity>
-    <entity name="TempTargets" representedClassName="TempTargets" syncable="YES" codeGenerationType="class">
+    <entity name="TempTargets" representedClassName="TempTargets" syncable="YES">
         <attribute name="active" optional="YES" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="YES"/>
         <attribute name="date" optional="YES" attributeType="Date" usesScalarValueType="NO"/>
         <attribute name="duration" optional="YES" attributeType="Decimal" defaultValueString="0.0"/>
@@ -183,7 +183,7 @@
         <attribute name="id" optional="YES" attributeType="String"/>
         <attribute name="startDate" optional="YES" attributeType="Date" usesScalarValueType="NO"/>
     </entity>
-    <entity name="TempTargetsSlider" representedClassName="TempTargetsSlider" syncable="YES" codeGenerationType="class">
+    <entity name="TempTargetsSlider" representedClassName="TempTargetsSlider" syncable="YES">
         <attribute name="date" optional="YES" attributeType="Date" usesScalarValueType="NO"/>
         <attribute name="defaultHBT" optional="YES" attributeType="Double" defaultValueString="0.0" usesScalarValueType="YES"/>
         <attribute name="duration" optional="YES" attributeType="Decimal" defaultValueString="0.0"/>

Model/CoreDataStorage.swift → Model/Helper/CoreDataStorage.swift


Model/Determination+helper.swift → Model/Helper/Determination+helper.swift


Model/GlucoseStored+helper.swift → Model/Helper/GlucoseStored+helper.swift


Model/InsulinStored+helper.swift → Model/Helper/InsulinStored+helper.swift


Model/MealsStored+helper.swift → Model/Helper/MealsStored+helper.swift


Model/NSPredicates.swift → Model/Helper/NSPredicates.swift


+ 4 - 0
Oref0Suggestion+CoreDataClass.swift

@@ -0,0 +1,4 @@
+import CoreData
+import Foundation
+
+@objc(Oref0Suggestion) public class Oref0Suggestion: NSManagedObject {}

+ 45 - 0
Oref0Suggestion+CoreDataProperties.swift

@@ -0,0 +1,45 @@
+import CoreData
+import Foundation
+
+public extension Oref0Suggestion {
+    @nonobjc class func fetchRequest() -> NSFetchRequest<Oref0Suggestion> {
+        NSFetchRequest<Oref0Suggestion>(entityName: "Oref0Suggestion")
+    }
+
+    @NSManaged var computedInsulinDistribution: NSSet?
+    @NSManaged var computedTDD: NSSet?
+}
+
+// MARK: Generated accessors for computedInsulinDistribution
+
+public extension Oref0Suggestion {
+    @objc(addComputedInsulinDistributionObject:)
+    @NSManaged func addToComputedInsulinDistribution(_ value: InsulinDistribution)
+
+    @objc(removeComputedInsulinDistributionObject:)
+    @NSManaged func removeFromComputedInsulinDistribution(_ value: InsulinDistribution)
+
+    @objc(addComputedInsulinDistribution:)
+    @NSManaged func addToComputedInsulinDistribution(_ values: NSSet)
+
+    @objc(removeComputedInsulinDistribution:)
+    @NSManaged func removeFromComputedInsulinDistribution(_ values: NSSet)
+}
+
+// MARK: Generated accessors for computedTDD
+
+public extension Oref0Suggestion {
+    @objc(addComputedTDDObject:)
+    @NSManaged func addToComputedTDD(_ value: TDD)
+
+    @objc(removeComputedTDDObject:)
+    @NSManaged func removeFromComputedTDD(_ value: TDD)
+
+    @objc(addComputedTDD:)
+    @NSManaged func addToComputedTDD(_ values: NSSet)
+
+    @objc(removeComputedTDD:)
+    @NSManaged func removeFromComputedTDD(_ values: NSSet)
+}
+
+extension Oref0Suggestion: Identifiable {}

+ 4 - 0
OrefDetermination+CoreDataClass.swift

@@ -0,0 +1,4 @@
+import CoreData
+import Foundation
+
+@objc(OrefDetermination) public class OrefDetermination: NSManagedObject {}

+ 42 - 0
OrefDetermination+CoreDataProperties.swift

@@ -0,0 +1,42 @@
+import CoreData
+import Foundation
+
+public extension OrefDetermination {
+    @nonobjc class func fetchRequest() -> NSFetchRequest<OrefDetermination> {
+        NSFetchRequest<OrefDetermination>(entityName: "OrefDetermination")
+    }
+
+    @NSManaged var bolus: NSDecimalNumber?
+    @NSManaged var carbRatio: NSDecimalNumber?
+    @NSManaged var carbsRequired: Int16
+    @NSManaged var cob: Int16
+    @NSManaged var currentTarget: NSDecimalNumber?
+    @NSManaged var deliverAt: Date?
+    @NSManaged var duration: Int16
+    @NSManaged var enacted: Bool
+    @NSManaged var eventualBG: NSDecimalNumber?
+    @NSManaged var expectedDelta: NSDecimalNumber?
+    @NSManaged var glucose: NSDecimalNumber?
+    @NSManaged var id: UUID?
+    @NSManaged var insulinForManualBolus: NSDecimalNumber?
+    @NSManaged var insulinReq: NSDecimalNumber?
+    @NSManaged var insulinSensitivity: NSDecimalNumber?
+    @NSManaged var iob: NSDecimalNumber?
+    @NSManaged var manualBolusErrorString: NSDecimalNumber?
+    @NSManaged var minDelta: NSDecimalNumber?
+    @NSManaged var rate: NSDecimalNumber?
+    @NSManaged var reason: String?
+    @NSManaged var received: Bool
+    @NSManaged var reservoir: NSDecimalNumber?
+    @NSManaged var scheduledBasal: NSDecimalNumber?
+    @NSManaged var sensitivityRatio: NSDecimalNumber?
+    @NSManaged var smbToDeliver: NSDecimalNumber?
+    @NSManaged var temp: String?
+    @NSManaged var tempBasal: NSDecimalNumber?
+    @NSManaged var timestamp: Date?
+    @NSManaged var timestampEnacted: Date?
+    @NSManaged var totalDailyDose: NSDecimalNumber?
+    @NSManaged var treshold: NSDecimalNumber?
+}
+
+extension OrefDetermination: Identifiable {}

+ 4 - 0
Override+CoreDataClass.swift

@@ -0,0 +1,4 @@
+import CoreData
+import Foundation
+
+@objc(Override) public class Override: NSManagedObject {}

+ 29 - 0
Override+CoreDataProperties.swift

@@ -0,0 +1,29 @@
+import CoreData
+import Foundation
+
+public extension Override {
+    @nonobjc class func fetchRequest() -> NSFetchRequest<Override> {
+        NSFetchRequest<Override>(entityName: "Override")
+    }
+
+    @NSManaged var advancedSettings: Bool
+    @NSManaged var cr: Bool
+    @NSManaged var date: Date?
+    @NSManaged var duration: NSDecimalNumber?
+    @NSManaged var enabled: Bool
+    @NSManaged var end: NSDecimalNumber?
+    @NSManaged var id: String?
+    @NSManaged var indefinite: Bool
+    @NSManaged var isf: Bool
+    @NSManaged var isfAndCr: Bool
+    @NSManaged var isPreset: Bool
+    @NSManaged var percentage: Double
+    @NSManaged var smbIsAlwaysOff: Bool
+    @NSManaged var smbIsOff: Bool
+    @NSManaged var smbMinutes: NSDecimalNumber?
+    @NSManaged var start: NSDecimalNumber?
+    @NSManaged var target: NSDecimalNumber?
+    @NSManaged var uamMinutes: NSDecimalNumber?
+}
+
+extension Override: Identifiable {}

+ 4 - 0
OverridePresets+CoreDataClass.swift

@@ -0,0 +1,4 @@
+import CoreData
+import Foundation
+
+@objc(OverridePresets) public class OverridePresets: NSManagedObject {}

+ 28 - 0
OverridePresets+CoreDataProperties.swift

@@ -0,0 +1,28 @@
+import CoreData
+import Foundation
+
+public extension OverridePresets {
+    @nonobjc class func fetchRequest() -> NSFetchRequest<OverridePresets> {
+        NSFetchRequest<OverridePresets>(entityName: "OverridePresets")
+    }
+
+    @NSManaged var advancedSettings: Bool
+    @NSManaged var cr: Bool
+    @NSManaged var date: Date?
+    @NSManaged var duration: NSDecimalNumber?
+    @NSManaged var end: NSDecimalNumber?
+    @NSManaged var id: String?
+    @NSManaged var indefinite: Bool
+    @NSManaged var isf: Bool
+    @NSManaged var isfAndCr: Bool
+    @NSManaged var name: String?
+    @NSManaged var percentage: Double
+    @NSManaged var smbIsAlwaysOff: Bool
+    @NSManaged var smbIsOff: Bool
+    @NSManaged var smbMinutes: NSDecimalNumber?
+    @NSManaged var start: NSDecimalNumber?
+    @NSManaged var target: NSDecimalNumber?
+    @NSManaged var uamMinutes: NSDecimalNumber?
+}
+
+extension OverridePresets: Identifiable {}

+ 4 - 0
Presets+CoreDataClass.swift

@@ -0,0 +1,4 @@
+import CoreData
+import Foundation
+
+@objc(Presets) public class Presets: NSManagedObject {}

+ 15 - 0
Presets+CoreDataProperties.swift

@@ -0,0 +1,15 @@
+import CoreData
+import Foundation
+
+public extension Presets {
+    @nonobjc class func fetchRequest() -> NSFetchRequest<Presets> {
+        NSFetchRequest<Presets>(entityName: "Presets")
+    }
+
+    @NSManaged var carbs: NSDecimalNumber?
+    @NSManaged var dish: String?
+    @NSManaged var fat: NSDecimalNumber?
+    @NSManaged var protein: NSDecimalNumber?
+}
+
+extension Presets: Identifiable {}

+ 4 - 0
Protein+CoreDataClass.swift

@@ -0,0 +1,4 @@
+import CoreData
+import Foundation
+
+@objc(Protein) public class Protein: NSManagedObject {}

+ 14 - 0
Protein+CoreDataProperties.swift

@@ -0,0 +1,14 @@
+import CoreData
+import Foundation
+
+public extension Protein {
+    @nonobjc class func fetchRequest() -> NSFetchRequest<Protein> {
+        NSFetchRequest<Protein>(entityName: "Protein")
+    }
+
+    @NSManaged var date: Date?
+    @NSManaged var enteredBy: String?
+    @NSManaged var protein: NSDecimalNumber?
+}
+
+extension Protein: Identifiable {}

+ 4 - 0
StatsData+CoreDataClass.swift

@@ -0,0 +1,4 @@
+import CoreData
+import Foundation
+
+@objc(StatsData) public class StatsData: NSManagedObject {}

+ 12 - 0
StatsData+CoreDataProperties.swift

@@ -0,0 +1,12 @@
+import CoreData
+import Foundation
+
+public extension StatsData {
+    @nonobjc class func fetchRequest() -> NSFetchRequest<StatsData> {
+        NSFetchRequest<StatsData>(entityName: "StatsData")
+    }
+
+    @NSManaged var lastrun: Date?
+}
+
+extension StatsData: Identifiable {}

+ 4 - 0
TDD+CoreDataClass.swift

@@ -0,0 +1,4 @@
+import CoreData
+import Foundation
+
+@objc(TDD) public class TDD: NSManagedObject {}

+ 14 - 0
TDD+CoreDataProperties.swift

@@ -0,0 +1,14 @@
+import CoreData
+import Foundation
+
+public extension TDD {
+    @nonobjc class func fetchRequest() -> NSFetchRequest<TDD> {
+        NSFetchRequest<TDD>(entityName: "TDD")
+    }
+
+    @NSManaged var tdd: NSDecimalNumber?
+    @NSManaged var timestamp: Date?
+    @NSManaged var computed: Oref0Suggestion?
+}
+
+extension TDD: Identifiable {}

+ 4 - 0
Target+CoreDataClass.swift

@@ -0,0 +1,4 @@
+import CoreData
+import Foundation
+
+@objc(Target) public class Target: NSManagedObject {}

+ 12 - 0
Target+CoreDataProperties.swift

@@ -0,0 +1,12 @@
+import CoreData
+import Foundation
+
+public extension Target {
+    @nonobjc class func fetchRequest() -> NSFetchRequest<Target> {
+        NSFetchRequest<Target>(entityName: "Target")
+    }
+
+    @NSManaged var current: NSDecimalNumber?
+}
+
+extension Target: Identifiable {}

+ 4 - 0
TempTargets+CoreDataClass.swift

@@ -0,0 +1,4 @@
+import CoreData
+import Foundation
+
+@objc(TempTargets) public class TempTargets: NSManagedObject {}

+ 17 - 0
TempTargets+CoreDataProperties.swift

@@ -0,0 +1,17 @@
+import CoreData
+import Foundation
+
+public extension TempTargets {
+    @nonobjc class func fetchRequest() -> NSFetchRequest<TempTargets> {
+        NSFetchRequest<TempTargets>(entityName: "TempTargets")
+    }
+
+    @NSManaged var active: Bool
+    @NSManaged var date: Date?
+    @NSManaged var duration: NSDecimalNumber?
+    @NSManaged var hbt: Double
+    @NSManaged var id: String?
+    @NSManaged var startDate: Date?
+}
+
+extension TempTargets: Identifiable {}

+ 4 - 0
TempTargetsSlider+CoreDataClass.swift

@@ -0,0 +1,4 @@
+import CoreData
+import Foundation
+
+@objc(TempTargetsSlider) public class TempTargetsSlider: NSManagedObject {}

+ 18 - 0
TempTargetsSlider+CoreDataProperties.swift

@@ -0,0 +1,18 @@
+import CoreData
+import Foundation
+
+public extension TempTargetsSlider {
+    @nonobjc class func fetchRequest() -> NSFetchRequest<TempTargetsSlider> {
+        NSFetchRequest<TempTargetsSlider>(entityName: "TempTargetsSlider")
+    }
+
+    @NSManaged var date: Date?
+    @NSManaged var defaultHBT: Double
+    @NSManaged var duration: NSDecimalNumber?
+    @NSManaged var enabled: Bool
+    @NSManaged var hbt: Double
+    @NSManaged var id: String?
+    @NSManaged var isPreset: Bool
+}
+
+extension TempTargetsSlider: Identifiable {}