From 029f6065018e84fb34d6d985e96c74edf5d73cb3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Buse=20ERKU=C5=9E?= Date: Fri, 15 Mar 2019 13:53:25 +0300 Subject: [PATCH] Todo's App --- Todo.xcodeproj/project.pbxproj | 124 +++++++-- .../xcshareddata/xcschemes/Todo.xcscheme | 98 +++++++ .../xcschemes/xcschememanagement.plist | 8 + Todo/AppDelegate.swift | 55 +--- .../add-icon.imageset/Contents.json | 23 ++ .../add-icon.imageset/add-icon.png | Bin 0 -> 376 bytes .../add-icon.imageset/add-icon@2x.png | Bin 0 -> 716 bytes .../add-icon.imageset/add-icon@3x.png | Bin 0 -> 1559 bytes .../done-icon.imageset/Contents.json | 23 ++ .../done-icon.imageset/done-icon.png | Bin 0 -> 866 bytes .../done-icon.imageset/done-icon@2x.png | Bin 0 -> 2224 bytes .../done-icon.imageset/done-icon@3x.png | Bin 0 -> 4106 bytes Todo/Base.lproj/Main.storyboard | 24 -- Todo/Controllers/ListController.swift | 249 ++++++++++++++++++ Todo/Controllers/WelcomeController.swift | 88 +++++++ Todo/CoreDataManager.swift | 94 +++++++ Todo/Custom/GDButton.swift | 62 +++++ Todo/Custom/GDCheckBox.swift | 42 +++ Todo/Custom/GDGradient.swift | 46 ++++ Todo/Custom/GDHeaderView.swift | 72 +++++ Todo/Custom/GDLabel.swift | 29 ++ Todo/Custom/GDListCell.swift | 75 ++++++ Todo/Custom/GDNewItemPopUp.swift | 79 ++++++ Todo/Custom/GDTableView.swift | 22 ++ Todo/Custom/GDTextField.swift | 43 +++ Todo/Extensions/Extension.swift | 48 ++++ Todo/Extensions/OptionSet.swift | 17 ++ Todo/Extensions/Protocol.swift | 21 ++ Todo/Info.plist | 7 +- Todo/Model/toDo.swift | 15 ++ .../Todo.xcdatamodel/contents | 11 +- Todo/ViewController.swift | 20 -- Todo/fonts/Raleway-v4020-Regular.otf | Bin 0 -> 126700 bytes Todo/fonts/Raleway-v4020-SemiBold.otf | Bin 0 -> 133900 bytes 34 files changed, 1286 insertions(+), 109 deletions(-) create mode 100644 Todo.xcodeproj/xcshareddata/xcschemes/Todo.xcscheme create mode 100644 Todo/Assets.xcassets/add-icon.imageset/Contents.json create mode 100644 Todo/Assets.xcassets/add-icon.imageset/add-icon.png create mode 100644 Todo/Assets.xcassets/add-icon.imageset/add-icon@2x.png create mode 100644 Todo/Assets.xcassets/add-icon.imageset/add-icon@3x.png create mode 100644 Todo/Assets.xcassets/done-icon.imageset/Contents.json create mode 100644 Todo/Assets.xcassets/done-icon.imageset/done-icon.png create mode 100644 Todo/Assets.xcassets/done-icon.imageset/done-icon@2x.png create mode 100644 Todo/Assets.xcassets/done-icon.imageset/done-icon@3x.png delete mode 100644 Todo/Base.lproj/Main.storyboard create mode 100644 Todo/Controllers/ListController.swift create mode 100644 Todo/Controllers/WelcomeController.swift create mode 100644 Todo/CoreDataManager.swift create mode 100644 Todo/Custom/GDButton.swift create mode 100644 Todo/Custom/GDCheckBox.swift create mode 100644 Todo/Custom/GDGradient.swift create mode 100644 Todo/Custom/GDHeaderView.swift create mode 100644 Todo/Custom/GDLabel.swift create mode 100644 Todo/Custom/GDListCell.swift create mode 100644 Todo/Custom/GDNewItemPopUp.swift create mode 100644 Todo/Custom/GDTableView.swift create mode 100644 Todo/Custom/GDTextField.swift create mode 100644 Todo/Extensions/Extension.swift create mode 100644 Todo/Extensions/OptionSet.swift create mode 100644 Todo/Extensions/Protocol.swift create mode 100644 Todo/Model/toDo.swift delete mode 100644 Todo/ViewController.swift create mode 100755 Todo/fonts/Raleway-v4020-Regular.otf create mode 100755 Todo/fonts/Raleway-v4020-SemiBold.otf diff --git a/Todo.xcodeproj/project.pbxproj b/Todo.xcodeproj/project.pbxproj index 6bdf8ef..cc9c4c5 100644 --- a/Todo.xcodeproj/project.pbxproj +++ b/Todo.xcodeproj/project.pbxproj @@ -7,23 +7,53 @@ objects = { /* Begin PBXBuildFile section */ + 9B1F178E223947FC000C8981 /* GDCheckBox.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9B1F178D223947FC000C8981 /* GDCheckBox.swift */; }; + 9B3C83CC223ADEFB00ECE7CF /* CoreDataManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9B3C83CB223ADEFB00ECE7CF /* CoreDataManager.swift */; }; + 9B45753B2234FBCF00C27F03 /* GDButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9B45753A2234FBCF00C27F03 /* GDButton.swift */; }; + 9B45753D22350D0300C27F03 /* ListController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9B45753C22350D0300C27F03 /* ListController.swift */; }; + 9B45753F223511B300C27F03 /* GDHeaderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9B45753E223511B300C27F03 /* GDHeaderView.swift */; }; + 9B4575432235425800C27F03 /* OptionSet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9B4575422235425800C27F03 /* OptionSet.swift */; }; + 9B7AD36E2235B03900E765A7 /* Protocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9B7AD36D2235B03900E765A7 /* Protocol.swift */; }; + 9B7AD3702235B69C00E765A7 /* GDNewItemPopUp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9B7AD36F2235B69C00E765A7 /* GDNewItemPopUp.swift */; }; + 9B7AD3722235C16300E765A7 /* GDTextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9B7AD3712235C16300E765A7 /* GDTextField.swift */; }; + 9BAF0E9F2231AC9E00413F78 /* Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9BAF0E9E2231AC9E00413F78 /* Extension.swift */; }; + 9BAF0EA22231C3D000413F78 /* GDLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9BAF0EA12231C3D000413F78 /* GDLabel.swift */; }; + 9BD8270A22380C54000646F6 /* GDTableView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9BD8270922380C54000646F6 /* GDTableView.swift */; }; + 9BD8270C223843B9000646F6 /* GDListCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9BD8270B223843B9000646F6 /* GDListCell.swift */; }; + 9BD8270F223847F9000646F6 /* toDo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9BD8270E223847F9000646F6 /* toDo.swift */; }; 9BE689882231265A00138442 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9BE689872231265A00138442 /* AppDelegate.swift */; }; - 9BE6898A2231265A00138442 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9BE689892231265A00138442 /* ViewController.swift */; }; - 9BE6898D2231265A00138442 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 9BE6898B2231265A00138442 /* Main.storyboard */; }; + 9BE6898A2231265A00138442 /* WelcomeController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9BE689892231265A00138442 /* WelcomeController.swift */; }; 9BE689902231265A00138442 /* Todo.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = 9BE6898E2231265A00138442 /* Todo.xcdatamodeld */; }; 9BE689922231265B00138442 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 9BE689912231265B00138442 /* Assets.xcassets */; }; 9BE689952231265B00138442 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 9BE689932231265B00138442 /* LaunchScreen.storyboard */; }; + 9BE6899D2231355D00138442 /* GDGradient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9BE6899C2231355D00138442 /* GDGradient.swift */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ + 9B1F178D223947FC000C8981 /* GDCheckBox.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GDCheckBox.swift; sourceTree = ""; }; + 9B3C83CB223ADEFB00ECE7CF /* CoreDataManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CoreDataManager.swift; sourceTree = ""; }; + 9B45753A2234FBCF00C27F03 /* GDButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GDButton.swift; sourceTree = ""; }; + 9B45753C22350D0300C27F03 /* ListController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ListController.swift; sourceTree = ""; }; + 9B45753E223511B300C27F03 /* GDHeaderView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GDHeaderView.swift; sourceTree = ""; }; + 9B4575422235425800C27F03 /* OptionSet.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OptionSet.swift; sourceTree = ""; }; + 9B7AD36D2235B03900E765A7 /* Protocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Protocol.swift; sourceTree = ""; }; + 9B7AD36F2235B69C00E765A7 /* GDNewItemPopUp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GDNewItemPopUp.swift; sourceTree = ""; }; + 9B7AD3712235C16300E765A7 /* GDTextField.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GDTextField.swift; sourceTree = ""; }; + 9BAF0E9E2231AC9E00413F78 /* Extension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Extension.swift; sourceTree = ""; }; + 9BAF0EA12231C3D000413F78 /* GDLabel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GDLabel.swift; sourceTree = ""; }; + 9BAF0EAA2231CAE900413F78 /* Raleway-v4020-Regular.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Raleway-v4020-Regular.otf"; sourceTree = ""; }; + 9BAF0EAB2231CAEA00413F78 /* Raleway-v4020-SemiBold.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Raleway-v4020-SemiBold.otf"; sourceTree = ""; }; + 9BD8270922380C54000646F6 /* GDTableView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GDTableView.swift; sourceTree = ""; }; + 9BD8270B223843B9000646F6 /* GDListCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GDListCell.swift; sourceTree = ""; }; + 9BD8270E223847F9000646F6 /* toDo.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = toDo.swift; sourceTree = ""; }; 9BE689842231265A00138442 /* Todo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Todo.app; sourceTree = BUILT_PRODUCTS_DIR; }; 9BE689872231265A00138442 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; - 9BE689892231265A00138442 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; - 9BE6898C2231265A00138442 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + 9BE689892231265A00138442 /* WelcomeController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WelcomeController.swift; sourceTree = ""; }; 9BE6898F2231265A00138442 /* Todo.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = Todo.xcdatamodel; sourceTree = ""; }; 9BE689912231265B00138442 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 9BE689942231265B00138442 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 9BE689962231265B00138442 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 9BE6899C2231355D00138442 /* GDGradient.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GDGradient.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -37,6 +67,58 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ + 9B4575412235162C00C27F03 /* Controllers */ = { + isa = PBXGroup; + children = ( + 9BE689892231265A00138442 /* WelcomeController.swift */, + 9B45753C22350D0300C27F03 /* ListController.swift */, + ); + path = Controllers; + sourceTree = ""; + }; + 9BAF0E9D2231AC8E00413F78 /* Extensions */ = { + isa = PBXGroup; + children = ( + 9BAF0E9E2231AC9E00413F78 /* Extension.swift */, + 9B4575422235425800C27F03 /* OptionSet.swift */, + 9B7AD36D2235B03900E765A7 /* Protocol.swift */, + ); + path = Extensions; + sourceTree = ""; + }; + 9BAF0EA02231C3AA00413F78 /* Custom */ = { + isa = PBXGroup; + children = ( + 9BE6899C2231355D00138442 /* GDGradient.swift */, + 9BAF0EA12231C3D000413F78 /* GDLabel.swift */, + 9B45753A2234FBCF00C27F03 /* GDButton.swift */, + 9B45753E223511B300C27F03 /* GDHeaderView.swift */, + 9B7AD36F2235B69C00E765A7 /* GDNewItemPopUp.swift */, + 9B7AD3712235C16300E765A7 /* GDTextField.swift */, + 9BD8270922380C54000646F6 /* GDTableView.swift */, + 9BD8270B223843B9000646F6 /* GDListCell.swift */, + 9B1F178D223947FC000C8981 /* GDCheckBox.swift */, + ); + path = Custom; + sourceTree = ""; + }; + 9BAF0EA32231C56600413F78 /* fonts */ = { + isa = PBXGroup; + children = ( + 9BAF0EAA2231CAE900413F78 /* Raleway-v4020-Regular.otf */, + 9BAF0EAB2231CAEA00413F78 /* Raleway-v4020-SemiBold.otf */, + ); + path = fonts; + sourceTree = ""; + }; + 9BD8270D223847D7000646F6 /* Model */ = { + isa = PBXGroup; + children = ( + 9BD8270E223847F9000646F6 /* toDo.swift */, + ); + path = Model; + sourceTree = ""; + }; 9BE6897B2231265A00138442 = { isa = PBXGroup; children = ( @@ -57,8 +139,12 @@ isa = PBXGroup; children = ( 9BE689872231265A00138442 /* AppDelegate.swift */, - 9BE689892231265A00138442 /* ViewController.swift */, - 9BE6898B2231265A00138442 /* Main.storyboard */, + 9B3C83CB223ADEFB00ECE7CF /* CoreDataManager.swift */, + 9BD8270D223847D7000646F6 /* Model */, + 9BAF0EA32231C56600413F78 /* fonts */, + 9BAF0E9D2231AC8E00413F78 /* Extensions */, + 9BAF0EA02231C3AA00413F78 /* Custom */, + 9B4575412235162C00C27F03 /* Controllers */, 9BE689912231265B00138442 /* Assets.xcassets */, 9BE689932231265B00138442 /* LaunchScreen.storyboard */, 9BE689962231265B00138442 /* Info.plist */, @@ -127,7 +213,6 @@ files = ( 9BE689952231265B00138442 /* LaunchScreen.storyboard in Resources */, 9BE689922231265B00138442 /* Assets.xcassets in Resources */, - 9BE6898D2231265A00138442 /* Main.storyboard in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -138,23 +223,30 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 9BE6898A2231265A00138442 /* ViewController.swift in Sources */, + 9BD8270C223843B9000646F6 /* GDListCell.swift in Sources */, + 9BE6899D2231355D00138442 /* GDGradient.swift in Sources */, + 9B45753B2234FBCF00C27F03 /* GDButton.swift in Sources */, + 9B1F178E223947FC000C8981 /* GDCheckBox.swift in Sources */, + 9B7AD3702235B69C00E765A7 /* GDNewItemPopUp.swift in Sources */, + 9BE6898A2231265A00138442 /* WelcomeController.swift in Sources */, + 9B3C83CC223ADEFB00ECE7CF /* CoreDataManager.swift in Sources */, + 9B4575432235425800C27F03 /* OptionSet.swift in Sources */, 9BE689902231265A00138442 /* Todo.xcdatamodeld in Sources */, + 9B7AD3722235C16300E765A7 /* GDTextField.swift in Sources */, + 9BAF0EA22231C3D000413F78 /* GDLabel.swift in Sources */, + 9BD8270A22380C54000646F6 /* GDTableView.swift in Sources */, + 9B7AD36E2235B03900E765A7 /* Protocol.swift in Sources */, + 9BD8270F223847F9000646F6 /* toDo.swift in Sources */, + 9BAF0E9F2231AC9E00413F78 /* Extension.swift in Sources */, + 9B45753F223511B300C27F03 /* GDHeaderView.swift in Sources */, 9BE689882231265A00138442 /* AppDelegate.swift in Sources */, + 9B45753D22350D0300C27F03 /* ListController.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXVariantGroup section */ - 9BE6898B2231265A00138442 /* Main.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 9BE6898C2231265A00138442 /* Base */, - ); - name = Main.storyboard; - sourceTree = ""; - }; 9BE689932231265B00138442 /* LaunchScreen.storyboard */ = { isa = PBXVariantGroup; children = ( diff --git a/Todo.xcodeproj/xcshareddata/xcschemes/Todo.xcscheme b/Todo.xcodeproj/xcshareddata/xcschemes/Todo.xcscheme new file mode 100644 index 0000000..ec04fc0 --- /dev/null +++ b/Todo.xcodeproj/xcshareddata/xcschemes/Todo.xcscheme @@ -0,0 +1,98 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Todo.xcodeproj/xcuserdata/buseerkus.xcuserdatad/xcschemes/xcschememanagement.plist b/Todo.xcodeproj/xcuserdata/buseerkus.xcuserdatad/xcschemes/xcschememanagement.plist index ef5e00a..353eb3b 100644 --- a/Todo.xcodeproj/xcuserdata/buseerkus.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/Todo.xcodeproj/xcuserdata/buseerkus.xcuserdatad/xcschemes/xcschememanagement.plist @@ -10,5 +10,13 @@ 0 + SuppressBuildableAutocreation + + 9BE689832231265A00138442 + + primary + + + diff --git a/Todo/AppDelegate.swift b/Todo/AppDelegate.swift index 8683f81..7de7bde 100644 --- a/Todo/AppDelegate.swift +++ b/Todo/AppDelegate.swift @@ -17,6 +17,13 @@ class AppDelegate: UIResponder, UIApplicationDelegate { func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { // Override point for customization after application launch. + + let hasVisistedWelcomeController = UserDefaults.standard.bool(forKey: "welcome-controller-visited") + let initialController = hasVisistedWelcomeController ? ListController() : WelcomeController() + + window = UIWindow(frame: UIScreen.main.bounds) + window?.makeKeyAndVisible() + window?.rootViewController = initialController return true } @@ -41,53 +48,11 @@ class AppDelegate: UIResponder, UIApplicationDelegate { func applicationWillTerminate(_ application: UIApplication) { // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. // Saves changes in the application's managed object context before the application terminates. - self.saveContext() +// self.saveContext() } - // MARK: - Core Data stack - - lazy var persistentContainer: NSPersistentContainer = { - /* - The persistent container for the application. This implementation - creates and returns a container, having loaded the store for the - application to it. This property is optional since there are legitimate - error conditions that could cause the creation of the store to fail. - */ - let container = NSPersistentContainer(name: "Todo") - container.loadPersistentStores(completionHandler: { (storeDescription, error) in - if let error = error as NSError? { - // Replace this implementation with code to handle the error appropriately. - // fatalError() causes the application to generate a crash log and terminate. You should not use this function in a shipping application, although it may be useful during development. - - /* - Typical reasons for an error here include: - * The parent directory does not exist, cannot be created, or disallows writing. - * The persistent store is not accessible, due to permissions or data protection when the device is locked. - * The device is out of space. - * The store could not be migrated to the current model version. - Check the error message to determine what the actual problem was. - */ - fatalError("Unresolved error \(error), \(error.userInfo)") - } - }) - return container - }() - - // MARK: - Core Data Saving support - - func saveContext () { - let context = persistentContainer.viewContext - if context.hasChanges { - do { - try context.save() - } catch { - // Replace this implementation with code to handle the error appropriately. - // fatalError() causes the application to generate a crash log and terminate. You should not use this function in a shipping application, although it may be useful during development. - let nserror = error as NSError - fatalError("Unresolved error \(nserror), \(nserror.userInfo)") - } - } - } + + } diff --git a/Todo/Assets.xcassets/add-icon.imageset/Contents.json b/Todo/Assets.xcassets/add-icon.imageset/Contents.json new file mode 100644 index 0000000..ad004f8 --- /dev/null +++ b/Todo/Assets.xcassets/add-icon.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "add-icon.png", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "add-icon@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "filename" : "add-icon@3x.png", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Todo/Assets.xcassets/add-icon.imageset/add-icon.png b/Todo/Assets.xcassets/add-icon.imageset/add-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ffcb7faa126071f5a40a308536ed9cbc26f68cf9 GIT binary patch literal 376 zcmV-;0f+vHP)Px$GD$>1RA>e5n#~RYK@5N`9*8?363-=`OCp3jFC;5-aM@&A(^kf0J~#URb)?;4 zGT{XQ2teTf2`pB-gOue|5^6GxH9`Zq3)sLHZy^v#V7cCJto~f*y6<1xB7vxo_hB~SM{6GK# z5P$##AOHafG*2KsaCslPtPq>qrzzNaRBExK!?kqEnrCwz7B3McieLPGE}4J+KViCL z{MiMil(9#~9QM%5v~BJ?Ou?Baq&jsvTwTjD6P{=4hp4AH8sZ2i5P$##AOL~73A_QW W^(d^eyR$a{0000)#J&|9;){ zL(!qZA+B+LIsf&&@AAH}^&j)G6Z&OvkM-NaY4)5`1T1!S-@5%|i*VMhL$BqIn_WBn z^IMhWn))qu#e0^o%)D}0EKkVFqk(~uiG@R8h31CeA2vS^e6nesf4+Ww-Sw2s+8}WS z2Z(|Y(HB)}HyS^^y(hHcVc-90!9G(zXePbN2s$KNv3!Qs!{8%VE-q=Y{@`aAdT4pa z%Eg|Xz}+Yt*!q5p=7UKfA#iGDem2qLPHME<99!4 z_G;JVtOZl7R2~Kunwcp-Wb<0-ETkuzo@^|X2NyP0eOMYhPkOI~3)J5*{~@~zU22B* zhT8hP-*ayty}s_>b2s~+`_tFGDV$k(^YpxZ)z9*-C;$9i z^z&-);XBNYZ-o{b>kC(1h&!=i_X~k*Hmw+2D`^m76$Tx*SkkQ`yC3;V-5*m&2mP)IX5%`AH{r iq}asbTM5k%d^_H1O$k}Ry9t;)89ZJ6T-G@yGywn)>Le2Y literal 0 HcmV?d00001 diff --git a/Todo/Assets.xcassets/add-icon.imageset/add-icon@3x.png b/Todo/Assets.xcassets/add-icon.imageset/add-icon@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..95d151bc2419ed762e2a0b7c0f67be8c2d2921c9 GIT binary patch literal 1559 zcmeAS@N?(olHy`uVBq!ia0vp^TR@nDje&vD>y+6NAcwIy$lZxy-8q?;3=FInJzX3_ zDj471_0PNQCc>T&_)>G17FR|5joXLxq@D};zEgUt=cymKyrU;4S>(kf)~ovzog&mIrf8xW1_{A>cjbU8`jQPmToN1;>4o2K7V?<$UON?pBMht+84U!_O8+! zJ90n%+PDAZuDq?4XO3UhU*G=r@3U{sarxO6p$D4su5zZ{yj6Jpn4+%r<*lzJZgUDK zI6San-B#zce^1@NBD2?e-{yWg{P%9r{o1$g4GfG-EF5!Y9;lE1k*p^A!>;WA`w%|c ztp_~it)~9{ZvOJ`TEE+qzhu_^miMiyUw!$TO6{!s|J=jul0Ca_vdxoIH@;Tw zopJv8`tqx{?$n80fAr&Ca&qLXGh00K*CgHWzLdB{y45qkp=Ga%tlRED3!f^x_i?#j zK21W{2y!>rYA}OCTw=XS$DhRNE1WHVPbg&_T6>K(Hsh&7vz|)8ie48i)LBRIOY%m` z#qO*1KR1tS`Cjn<-CM=yzf`_|t(WyLiu^oxihkQq9d+%-c~4H7b6CxPnxcAPvdvF6 z$LE{ptYN8|q<&xFMa{IyQyu(2J&|Uadp<}N#X+DzL3JV)kqQ0}BKHNQYW40v^Z%>) z{eK_7$JhUhTb4XeulHY;Yx%_IUrvW+itLgJSm(E(*i-FQgCE0FDYm)ZMuF@lOd8h> zUc^l5v|1qSu(Qqa`6Qn!jB^=InetdoPg%tGf+b*G;)R_m!le%C4Mn`o=Tv8|V76kM zk}Xl9chW`n0_TF5!)QjTKe_g~_I`P|xxQHEJ$K&q*I&C{FMZ#B{M8Dk$?RYI1GmrR zZ`=n;L3`ib_nCKjCf~nr53dVMHnzQc_p;Rb*AnkP@2~FvEc4NF*M(gTY_T2-0;D@B zpd4nuWqQ1n=W(g>ZTDPNVnUNbH6J_^_N@I{QJuYg$3GXLUr$zFc-3`&U0$3{o4xgZ z3C*_W;)m@|f85zG!B{^}=~(DhFD9l~&bZqWjE#MTp<5?4ID|J{H*<4XkQ@`bRz=~$ z)CXI81qEJ6gokQ#a+Ii6YS zvpd_3o-ccM`lEf0@qFE50x@y-_4adodG+vL-c2uyW0ic*bbZU8Rlis^?Q}{o6VqHF zqkB^t9L%@IsLd75tUFLWODprp1PsgVbel|6~L07!PC{xWt~$(695CXcu4>N literal 0 HcmV?d00001 diff --git a/Todo/Assets.xcassets/done-icon.imageset/Contents.json b/Todo/Assets.xcassets/done-icon.imageset/Contents.json new file mode 100644 index 0000000..4834dc0 --- /dev/null +++ b/Todo/Assets.xcassets/done-icon.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "done-icon.png", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "done-icon@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "filename" : "done-icon@3x.png", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Todo/Assets.xcassets/done-icon.imageset/done-icon.png b/Todo/Assets.xcassets/done-icon.imageset/done-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..9eb209285765bf2f7432f567df32147bb884d9f4 GIT binary patch literal 866 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 E003DRI{*Lx literal 0 HcmV?d00001 diff --git a/Todo/Assets.xcassets/done-icon.imageset/done-icon@3x.png b/Todo/Assets.xcassets/done-icon.imageset/done-icon@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..8581e7e7307f2d1320395afb710fd458372a5e89 GIT binary patch literal 4106 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 literal 0 HcmV?d00001 diff --git a/Todo/Base.lproj/Main.storyboard b/Todo/Base.lproj/Main.storyboard deleted file mode 100644 index f1bcf38..0000000 --- a/Todo/Base.lproj/Main.storyboard +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Todo/Controllers/ListController.swift b/Todo/Controllers/ListController.swift new file mode 100644 index 0000000..baa4b97 --- /dev/null +++ b/Todo/Controllers/ListController.swift @@ -0,0 +1,249 @@ +// +// ListController.swift +// Todo +// +// Created by Buse ERKUŞ on 10.03.2019. +// Copyright © 2019 Buse ERKUŞ. All rights reserved. +// + +import UIKit + +class ListController: UIViewController, GDHeaderDelegate, GDNewItemDelegate { + + func openAddItemPopup() { + self.popup.animatePopup() + } + func notInList(text:String) -> Bool { + var isNotInList = true + self.listData.forEach { (toDo) in + if toDo.title == text { + isNotInList = false + } + } + return isNotInList + } + + func addItemToList(text: String) { + if (notInList(text:text)) { + CoreDataManager.shared.createToDo(id: Double(self.listData.count), title: text, status: false) + self.listData = CoreDataManager.shared.fetchToDos() + self.listTable.reloadData() + self.updateHeaderItemsLeft() + self.popup.textField.text = "" + self.popup.animatePopup() + } + } + let header = GDHeaderView(title: "Stuff to get done", subtitle: "4 left") + let popup = GDNewItemPopup() + + let tbInset:CGFloat = 16 + var bgBottom:NSLayoutConstraint! + + lazy var bg : UIView = { + let view = GDGradient() + view.layer.cornerRadius = tbInset + return view + }() + + +// let CELL_ID = "cell_id" +// let listTable = GDTableView() +// +// var keyboardHeight: CGFloat = 333 +// var delegate: GDNewItemDelegate! +// var listData:[ToDo] = [ToDo]() + + let listTable = GDTableView() + + let CELL_ID = "cell_id" + + var listData:[ToDo] = [ToDo]() + + var keyboardHeight:CGFloat = 333 + + + override func viewDidAppear(_ animated: Bool) { + NotificationCenter.default.addObserver(self, selector: #selector(keyboardWillShow(notification:)), name: UIResponder.keyboardDidShowNotification, object: nil) + } + @objc func keyboardWillShow(notification: Notification) { + let keyboardSize = (notification.userInfo![UIResponder.keyboardFrameEndUserInfoKey] as! NSValue).cgRectValue.size + self.keyboardHeight = keyboardSize.height + } + func updateHeaderItemsLeft() { + header.itemsLeft = 0 + self.listData.forEach { (toDo) in + if !toDo.status {header.itemsLeft += 1} + } + + } + + + override func viewDidLoad() { + super.viewDidLoad() + + listData = CoreDataManager.shared.fetchToDos() + self.updateHeaderItemsLeft() + + view.backgroundColor = .white + + + view.addSubview(header) + header.topAnchor.constraint(equalTo: view.topAnchor).isActive = true + header.leftAnchor.constraint(equalTo: view.leftAnchor).isActive = true + header.rightAnchor.constraint(equalTo: view.rightAnchor).isActive = true + header.heightAnchor.constraint(equalToConstant: 120).isActive = true + + + view.addSubview(bg) + bg.leftAnchor.constraint(equalTo: view.leftAnchor, constant: 20).isActive = true + bg.topAnchor.constraint(equalTo: header.bottomAnchor, constant: 20).isActive = true + bgBottom = bg.bottomAnchor.constraint(equalTo: view.bottomAnchor, constant: -100) + bgBottom.isActive = true + bg.rightAnchor.constraint(equalTo: view.rightAnchor, constant: -20).isActive = true + + view.addSubview(listTable) + listTable.leftAnchor.constraint(equalTo: bg.leftAnchor, constant: tbInset).isActive = true + listTable.topAnchor.constraint(equalTo: bg.topAnchor, constant: tbInset).isActive = true + listTable.bottomAnchor.constraint(equalTo: bg.bottomAnchor, constant: tbInset * -1).isActive = true + listTable.rightAnchor.constraint(equalTo: bg.rightAnchor, constant: tbInset * -1).isActive = true + + + view.addSubview(popup) + popup.bottomAnchor.constraint(equalTo: view.bottomAnchor).isActive = true + popup.leftAnchor.constraint(equalTo: view.leftAnchor,constant: 20).isActive = true + popup.rightAnchor.constraint(equalTo: view.rightAnchor, constant: -20).isActive = true + popup.heightAnchor.constraint(equalToConstant: 80).isActive = true + + openAddItemPopup() + + popup.textField.delegate = self + popup.delegate = self + + header.delegate = self + + listTable.delegate = self + listTable.dataSource = self + listTable.register(GDListCell.self, forCellReuseIdentifier: CELL_ID) + } + override var preferredStatusBarStyle: UIStatusBarStyle{ + return .lightContent + } + + var toDoUpdate:ToDo? + +} + +extension ListController: UITextFieldDelegate { + + func textFieldShouldReturn(_ textField: UITextField) -> Bool { + textField.resignFirstResponder() + return true + } + + func textFieldDidBeginEditing(_ textField: UITextField) { + + var heightToAnimate = -keyboardHeight - 20 + + if textField == popup.textField{ + popup.animateView(transform: CGAffineTransform(translationX: 0, y: -keyboardHeight),duration: 0.5) + heightToAnimate -= 80 + }else{ + self.toDoUpdate = CoreDataManager.shared.fetchTodo(title: textField.text!) + } + self.bgBottom.constant = heightToAnimate + UIView.animate(withDuration: 0.3) { + self.view.layoutIfNeeded() + } + + } + + func textFieldDidEndEditing(_ textField: UITextField) { + + self.bgBottom.constant = -100 + UIView.animate(withDuration: 0.3) { + self.view.layoutIfNeeded() + } + + if textField == popup.textField{ + popup.animateView(transform: CGAffineTransform(translationX: 0, y: 0),duration: 0.6) + + }else{ + if let toDoToUpdate = self.toDoUpdate { + CoreDataManager.shared.deleteToDo(id: toDoToUpdate.id) + CoreDataManager.shared.createToDo(id: toDoToUpdate.id, title: textField.text!, status: toDoToUpdate.status) + } + + } + + } +} + +extension ListController: UITableViewDelegate, UITableViewDataSource, GDListCellDelegate{ + + + func toggleToDo() { + self.listData = CoreDataManager.shared.fetchToDos() + self.listTable.reloadData() + self.updateHeaderItemsLeft() + } + + func numberOfSections(in tableView: UITableView) -> Int { + return 2 + } + func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? { + if section == 0{ + return "To DO" + }else{ + return "Done" + } + } + func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? { + let titleForHeader = GDLabel(color: .white, size: 20, frame: CGRect(x: 0, y: 0, width: tableView.frame.width, height: 44)) + if section == 0 { + titleForHeader.text = "To Do" + } else { + titleForHeader.text = "Done" + } + return titleForHeader + } + + func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat { + return 38 + } + + func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { + var count = 0 + self.listData.forEach { (toDo) in + if section == 0 && !toDo.status { + count += 1 + } else if (section == 1 && toDo.status) { + count += 1 + } + } + return count + } + + func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { + + let cell = tableView.dequeueReusableCell(withIdentifier: CELL_ID, for: indexPath) as! GDListCell + cell.delegate = self + cell.textField.delegate = self + var itemsForSection:[ToDo] = [] + self.listData.forEach { (toDo) in + if indexPath.section == 0 && !toDo.status { + itemsForSection.append(toDo) + } else if (indexPath.section == 1 && toDo.status) { + itemsForSection.append(toDo) + } + } + + cell.toDo = itemsForSection[indexPath.row] + return cell + + } + + func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { + return 42 + } + +} diff --git a/Todo/Controllers/WelcomeController.swift b/Todo/Controllers/WelcomeController.swift new file mode 100644 index 0000000..7ada2bb --- /dev/null +++ b/Todo/Controllers/WelcomeController.swift @@ -0,0 +1,88 @@ +// +// ViewController.swift +// Todo +// +// Created by Buse ERKUŞ on 7.03.2019. +// Copyright © 2019 Buse ERKUŞ. All rights reserved. +// + +import UIKit + +class WelcomeController: UIViewController { + + let bg : UIView = { + let view = GDGradient() + view.translatesAutoresizingMaskIntoConstraints = false + view.backgroundColor = .cyan + view.layer.cornerRadius = 24 + return view + }() + let titleLabel = GDLabel(title: "GET DO IT", color: .white, size: 24, textAlign: .center) + let infoLabel: UILabel = { + let label = GDLabel(title: "WELCOME. GET IT DONE IS A TO \nDO LIST. A REALLY DOPE TO-DO LIST.", color: .white, size: 14,textAlign: .center) + label.numberOfLines = 2 + return label + }() + let nextButton: UIButton = GDButton(title: "START WINNING", type: .roundedText) + let copyright = GDLabel(title: "© 2019 | Bucerella.io", color: .grayOne, size: 14, textAlign: .center) + + @objc func handleNext(){ + UIView.animate(withDuration: 0.1, delay: 0, usingSpringWithDamping: 0.9, initialSpringVelocity: 1, options: .curveEaseIn, animations: { + self.nextButton.transform = CGAffineTransform(scaleX: 0.8, y: 0.8) + }) { (_) in + UIView.animate(withDuration: 0.3, delay: 0, usingSpringWithDamping: 0.9, initialSpringVelocity: 1, options: .curveEaseIn, animations: { + self.nextButton.transform = CGAffineTransform(scaleX: 1, y: 1) + }, completion: { (_) in + self.present(ListController(), animated: true,completion: nil) + }) + } + } + + override func viewDidLoad() { + super.viewDidLoad() + + + UserDefaults.standard.set(true, forKey: "welcome-controller-visited") + + nextButton.addTarget(self, action: #selector(self.handleNext), for: [.touchUpInside, .touchUpOutside]) + + view.backgroundColor = .white + view.addSubview(bg) + + bg.leftAnchor.constraint(equalTo: view.leftAnchor, constant: 20).isActive = true + bg.topAnchor.constraint(equalTo: view.safeAreaLayoutGuide.topAnchor, constant: 20).isActive = true + bg.bottomAnchor.constraint(equalTo: view.bottomAnchor, constant: -100).isActive = true + bg.rightAnchor.constraint(equalTo: view.rightAnchor, constant: -20).isActive = true + + view.addSubview(titleLabel) + titleLabel.widthAnchor.constraint(equalToConstant: 200).isActive = true + titleLabel.heightAnchor.constraint(equalToConstant: 40).isActive = true + titleLabel.centerXAnchor.constraint(equalTo: bg.centerXAnchor).isActive = true + titleLabel.topAnchor.constraint(equalTo: bg.topAnchor, constant: 60).isActive = true + + bg.addSubview(infoLabel) + + infoLabel.centerXAnchor.constraint(equalTo: bg.centerXAnchor).isActive = true + infoLabel.centerYAnchor.constraint(equalTo: bg.centerYAnchor).isActive = true + infoLabel.widthAnchor.constraint(equalToConstant: 300).isActive = true + infoLabel.heightAnchor.constraint(equalToConstant: 100).isActive = true + + bg.addSubview(nextButton) + + nextButton.widthAnchor.constraint(equalToConstant: 200).isActive = true + nextButton.heightAnchor.constraint(equalToConstant: 40).isActive = true + nextButton.centerXAnchor.constraint(equalTo: bg.centerXAnchor).isActive = true + nextButton.bottomAnchor.constraint(equalTo: bg.bottomAnchor, constant: -60).isActive = true + + view.addSubview(copyright) + + copyright.widthAnchor.constraint(equalToConstant: 200).isActive = true + copyright.heightAnchor.constraint(equalToConstant: 40).isActive = true + copyright.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true + copyright.bottomAnchor.constraint(equalTo: view.bottomAnchor, constant: -20).isActive = true + + } +} + + + diff --git a/Todo/CoreDataManager.swift b/Todo/CoreDataManager.swift new file mode 100644 index 0000000..0ab08cd --- /dev/null +++ b/Todo/CoreDataManager.swift @@ -0,0 +1,94 @@ +// +// CoreDataManager.swift +// Todo +// +// Created by Buse ERKUŞ on 14.03.2019. +// Copyright © 2019 Buse ERKUŞ. All rights reserved. +// + +import CoreData + +struct CoreDataManager { + + static let shared = CoreDataManager() + + let persistentContainer: NSPersistentContainer = { + let container = NSPersistentContainer(name: "Todo") + container.loadPersistentStores { (storeDescription, err) in + if let err = err { + fatalError("loading of store failed: \(err)") + } + } + return container + }() + + + + func createToDo(id:Double, title:String, status:Bool) { + let context = persistentContainer.viewContext + let toDo = NSEntityDescription.insertNewObject(forEntityName: "ToDo", into: context) + + toDo.setValue(id, forKey: "id") + toDo.setValue(title, forKey: "title") + toDo.setValue(status, forKey: "status") + do { + try context.save() + } catch let err { + print("Failed To save toDo into context:\(err)") + } + } + + func deleteToDo(id: Double){ + let context = persistentContainer.viewContext + + let fetchRequest = NSFetchRequest(entityName: "ToDo") + do{ + let toDos = try context.fetch(fetchRequest) + toDos.forEach { (fetchedToDo) in + if fetchedToDo.id == id{ + context.delete(fetchedToDo) + } + } + }catch let err { + print("failed to fetch todo or delete:", err) + } + + } + + func fetchTodo(title:String) -> ToDo?{ + let context = persistentContainer.viewContext + let fetchRequest = NSFetchRequest(entityName: "ToDo") + + var toDo: ToDo? + + do{ + let toDos = try context.fetch(fetchRequest) + toDos.forEach { (fetchedToDo) in + if fetchedToDo.title == title{ + toDo = fetchedToDo + } + } + }catch let err { + print("failed to fetch todo or update:", err) + } + return toDo + } + + + func fetchToDos() -> [ToDo] { + let context = persistentContainer.viewContext + + let fetchRequest = NSFetchRequest(entityName: "ToDo") + + do{ + let toDos = try context.fetch(fetchRequest) + return toDos + }catch let err { + print("failed to to fetch todos from context:", err) + return [] + } + } + +} + + diff --git a/Todo/Custom/GDButton.swift b/Todo/Custom/GDButton.swift new file mode 100644 index 0000000..9f102e6 --- /dev/null +++ b/Todo/Custom/GDButton.swift @@ -0,0 +1,62 @@ +// +// GDButton.swift +// Todo +// +// Created by Buse ERKUŞ on 10.03.2019. +// Copyright © 2019 Buse ERKUŞ. All rights reserved. +// + +import UIKit + +class GDButton: UIButton{ + + var title: String! + var type: ButtonOptions! + var radius: CGFloat! + + init(title:String = "Button Text", frame: CGRect = .zero, type: ButtonOptions = .roundedText, radius: CGFloat = 20){ + super.init(frame: frame) + if frame == .zero{ + self.translatesAutoresizingMaskIntoConstraints = false + } + self.title = title + self.type = type + self.radius = radius + self.phaseTwo() + } + + + func phaseTwo(){ + + self.backgroundColor = .white + if let titleLabel = self.titleLabel{ + titleLabel.font = UIFont(name: "Raleway-v4020-Regular", size: 16) + } + switch self.type { + case ButtonOptions.roundedText: + self.roundedText() + case ButtonOptions.squareIcon: + self.squareIcon() + default: break; + } + } + + func squareIcon(){ + self.setImage(UIImage(named: "add-icon"), for: .normal) + } + + + func roundedText(){ + + self.setTitle(self.title, for: .normal) + self.setTitleColor(.grayZero, for: .normal) + self.layer.cornerRadius = self.radius + + + } + + required init?(coder aDecoder: NSCoder) { + fatalError("Error.") + } + +} diff --git a/Todo/Custom/GDCheckBox.swift b/Todo/Custom/GDCheckBox.swift new file mode 100644 index 0000000..51be895 --- /dev/null +++ b/Todo/Custom/GDCheckBox.swift @@ -0,0 +1,42 @@ +// +// GDCheckBox.swift +// Todo +// +// Created by Buse ERKUŞ on 13.03.2019. +// Copyright © 2019 Buse ERKUŞ. All rights reserved. +// + +import UIKit + +class GDCheckBox: UIButton { + + + var toggled:Bool?{ + didSet{ + if let toggled = toggled{ + UIView.animate(withDuration: 0.2) { + if toggled{ + self.backgroundColor = .green + self.setImage(UIImage(named: "done-icon"), for: .normal) + }else{ + self.backgroundColor = .clear + self.setImage(UIImage(), for: .normal) + } + } + } + } + } + + override init(frame: CGRect) { + super.init(frame: .zero) + + translatesAutoresizingMaskIntoConstraints = false + layer.borderWidth = 1 + layer.borderColor = UIColor.grayZero.cgColor + + } + + required init?(coder aDecoder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } +} diff --git a/Todo/Custom/GDGradient.swift b/Todo/Custom/GDGradient.swift new file mode 100644 index 0000000..f0cd3fd --- /dev/null +++ b/Todo/Custom/GDGradient.swift @@ -0,0 +1,46 @@ + +// +// GDGradient.swift +// Todo +// +// Created by Buse ERKUŞ on 7.03.2019. +// Copyright © 2019 Buse ERKUŞ. All rights reserved. +// + +import UIKit + +class GDGradient: UIView { + +// var colors:[CGColor] = [ +// UIColor.init(red: 100,green: 228,blue:255).cgColor, +// UIColor.init(red: 58,green: 123,blue:213).cgColor +// ] + + var hexColors: [CGColor] = [ + UIColor.blueZero.cgColor, + UIColor.blueOne.cgColor + ] + + override init(frame: CGRect = .zero) { + super.init(frame: frame) + if frame == .zero{ + translatesAutoresizingMaskIntoConstraints = false + } + if let layer = self.layer as? CAGradientLayer{ + layer.colors = self.hexColors + layer.locations = [0.0, 1.2] + } + + } + + override class var layerClass: AnyClass{ + return CAGradientLayer.self + } + + required init?(coder aDecoder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } + + + +} diff --git a/Todo/Custom/GDHeaderView.swift b/Todo/Custom/GDHeaderView.swift new file mode 100644 index 0000000..a3e3936 --- /dev/null +++ b/Todo/Custom/GDHeaderView.swift @@ -0,0 +1,72 @@ +// +// GDHeaderView.swift +// Todo +// +// Created by Buse ERKUŞ on 10.03.2019. +// Copyright © 2019 Buse ERKUŞ. All rights reserved. +// + +import UIKit + +class GDHeaderView: UIView{ + + let bg = GDGradient() + let titleLabel = GDLabel(size: 14) + var subtitleLabel = GDLabel(size: 24) + let addButton = GDButton(type: .squareIcon) + var delegate:GDHeaderDelegate? + + init(frame: CGRect = .zero, title: String = "header title", subtitle: String = "header subtitle") { + super.init(frame: frame) + if frame == .zero{ + translatesAutoresizingMaskIntoConstraints = false + } + self.titleLabel.text = title + self.subtitleLabel.text = subtitle + setupLayout() + } + + var itemsLeft:Int = 0 { + didSet{ + self.subtitleLabel.text = "\(itemsLeft)Left" + } + } + + func setupLayout(){ + addSubview(bg) + bg.leftAnchor.constraint(equalTo: leftAnchor).isActive = true + bg.rightAnchor.constraint(equalTo: rightAnchor).isActive = true + bg.topAnchor.constraint(equalTo: topAnchor).isActive = true + bg.bottomAnchor.constraint(equalTo: bottomAnchor).isActive = true + + addSubview(titleLabel) + addSubview(subtitleLabel) + + titleLabel.centerYAnchor.constraint(equalTo: centerYAnchor, constant: 12).isActive = true + titleLabel.leftAnchor.constraint(equalTo: leftAnchor, constant: 20 + 16).isActive = true + titleLabel.rightAnchor.constraint(equalTo: centerXAnchor).isActive = true + + subtitleLabel.topAnchor.constraint(equalTo: titleLabel.bottomAnchor).isActive = true + subtitleLabel.leftAnchor.constraint(equalTo: leftAnchor, constant: 20 + 16).isActive = true + subtitleLabel.rightAnchor.constraint(equalTo: centerXAnchor, constant: 50).isActive = true + + addSubview(addButton) + + addButton.bottomAnchor.constraint(equalTo: subtitleLabel.bottomAnchor).isActive = true + addButton.rightAnchor.constraint(equalTo: rightAnchor, constant: -20 - 16 - 14).isActive = true + addButton.heightAnchor.constraint(equalToConstant: 24).isActive = true + addButton.widthAnchor.constraint(equalTo: addButton.heightAnchor, multiplier: 1).isActive = true + + addButton.addTarget(delegate, action: #selector(self.handleAddButton), for: .touchUpInside) + + } + @objc func handleAddButton(){ + if let delegate = self.delegate{ + delegate.openAddItemPopup() + } + } + + required init?(coder aDecoder: NSCoder) { + fatalError("Error..") + } +} diff --git a/Todo/Custom/GDLabel.swift b/Todo/Custom/GDLabel.swift new file mode 100644 index 0000000..3bf18d0 --- /dev/null +++ b/Todo/Custom/GDLabel.swift @@ -0,0 +1,29 @@ +// +// GDLabel.swift +// Todo +// +// Created by Buse ERKUŞ on 8.03.2019. +// Copyright © 2019 Buse ERKUŞ. All rights reserved. +// + +import UIKit + +class GDLabel: UILabel{ + + required init?(coder aDecoder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } + + init(title: String = "default text", color: UIColor = .white, size: CGFloat = 16, frame: CGRect = .zero, + textAlign: NSTextAlignment = .left){ + super.init(frame: frame) + if frame == .zero{ + self.translatesAutoresizingMaskIntoConstraints = false + } + self.text = title + self.textColor = color + self.font = UIFont.init(name: "Raleway-v4020-SemiBold", size: size) + self.textAlignment = textAlign + } + +} diff --git a/Todo/Custom/GDListCell.swift b/Todo/Custom/GDListCell.swift new file mode 100644 index 0000000..dae78e6 --- /dev/null +++ b/Todo/Custom/GDListCell.swift @@ -0,0 +1,75 @@ +// +// GDTableCell.swift +// Todo +// +// Created by Buse ERKUŞ on 12.03.2019. +// Copyright © 2019 Buse ERKUŞ. All rights reserved. +// + +import UIKit + +class GDListCell: UITableViewCell { + + var delegate: GDListCellDelegate? + + @objc func toggleStatus(){ + if let delegate = self.delegate, let toDo = self.toDo{ + CoreDataManager.shared.deleteToDo(id: toDo.id) + CoreDataManager.shared.createToDo(id: toDo.id, title: textField.text!, status: !toDo.status) + delegate.toggleToDo() + } + } + + + let textField = GDTextField(placeholder: "ToDo", radius: 0, inset: 14) + let view: UIView = { + let view = UIView() + view.translatesAutoresizingMaskIntoConstraints = false + return view + }() + + let box = GDCheckBox() + + var toDo: ToDo?{ + didSet{ + if let toDo = toDo{ + box.toggled = toDo.status + + self.textField.text = toDo.title + } + } + } + + override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) { + super.init(style: style, reuseIdentifier: reuseIdentifier) + + box.addTarget(self, action: #selector(self.toggleStatus), for: .touchUpInside ) + + + selectionStyle = .none + backgroundColor = .clear + view.backgroundColor = .white + + addSubview(view) + view.leftAnchor.constraint(equalTo: leftAnchor).isActive = true + view.bottomAnchor.constraint(equalTo: bottomAnchor, constant: -3).isActive = true + view.topAnchor.constraint(equalTo: topAnchor, constant: 3).isActive = true + view.rightAnchor.constraint(equalTo: rightAnchor).isActive = true + + addSubview(textField) + textField.leftAnchor.constraint(equalTo: leftAnchor).isActive = true + textField.bottomAnchor.constraint(equalTo: bottomAnchor, constant: -6).isActive = true + textField.topAnchor.constraint(equalTo: topAnchor, constant: 6).isActive = true + textField.rightAnchor.constraint(equalTo: rightAnchor).isActive = true + + addSubview(box) + box.rightAnchor.constraint(equalTo: rightAnchor, constant: -14).isActive = true + box.centerYAnchor.constraint(equalTo: centerYAnchor).isActive = true + box.widthAnchor.constraint(equalToConstant: 22).isActive = true + box.heightAnchor.constraint(equalTo: box.widthAnchor).isActive = true + } + + required init?(coder aDecoder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } +} diff --git a/Todo/Custom/GDNewItemPopUp.swift b/Todo/Custom/GDNewItemPopUp.swift new file mode 100644 index 0000000..81511de --- /dev/null +++ b/Todo/Custom/GDNewItemPopUp.swift @@ -0,0 +1,79 @@ +// +// NewItemPopUp.swift +// Todo +// +// Created by Buse ERKUŞ on 11.03.2019. +// Copyright © 2019 Buse ERKUŞ. All rights reserved. +// + +import UIKit + +class GDNewItemPopup: GDGradient { + + let cancel = GDButton(title: " cancel ", type: .roundedText, radius: 4) + let add = GDButton(title: " add ",type: .roundedText, radius: 4) + let textField = GDTextField(placeholder: " go to buy Ikea Frames ", inset: 6) + var delegate:GDNewItemDelegate? + + @objc func handleCancel() { + animatePopup() + } + + + var popupLocation:CGFloat = 70 + + @objc func animatePopup() { + textField.resignFirstResponder() + self.animateView(transform: CGAffineTransform(translationX: 0, y: popupLocation), duration: 0.3) + if popupLocation == 70 { + popupLocation = 0 + + } else { + popupLocation = 70 + } + } + @objc func handleAdd(){ + if let delegate = self.delegate, let textFieldText = self.textField.text { + delegate.addItemToList(text: textFieldText) + } + } + + + override init(frame: CGRect = .zero) { + super.init(frame: frame) + + self.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(self.animatePopup))) + + let inset = 12 + self.layer.cornerRadius = 16 + //self.layer.masksToBounds = true + + self.layer.maskedCorners = [.layerMinXMinYCorner, .layerMaxXMinYCorner] + + + addSubview(cancel) + cancel.leftAnchor.constraint(equalTo: leftAnchor, constant: CGFloat(inset)).isActive = true + cancel.topAnchor.constraint(equalTo: topAnchor, constant: CGFloat(inset)).isActive = true + cancel.heightAnchor.constraint(equalToConstant: 24).isActive = true + + addSubview(add) + add.rightAnchor.constraint(equalTo: rightAnchor, constant: CGFloat(inset * -1)).isActive = true + add.topAnchor.constraint(equalTo: topAnchor, constant: CGFloat(inset)).isActive = true + add.heightAnchor.constraint(equalToConstant: 24).isActive = true + + addSubview(textField) + textField.leftAnchor.constraint(equalTo: leftAnchor, constant: CGFloat(inset)).isActive = true + textField.rightAnchor.constraint(equalTo: rightAnchor, constant: CGFloat(inset * -1)).isActive = true + textField.topAnchor.constraint(equalTo: add.bottomAnchor, constant: 8).isActive = true + textField.heightAnchor.constraint(equalToConstant: 28).isActive = true + + + cancel.addTarget(self, action: #selector(self.handleCancel), for: .touchUpInside) + add.addTarget(self, action: #selector(self.handleAdd), for: .touchUpInside) + + } + + required init?(coder aDecoder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } +} diff --git a/Todo/Custom/GDTableView.swift b/Todo/Custom/GDTableView.swift new file mode 100644 index 0000000..a4df0ae --- /dev/null +++ b/Todo/Custom/GDTableView.swift @@ -0,0 +1,22 @@ +// +// GDTableView.swift +// Todo +// +// Created by Buse ERKUŞ on 12.03.2019. +// Copyright © 2019 Buse ERKUŞ. All rights reserved. +// + +import UIKit + +class GDTableView:UITableView{ + override init(frame: CGRect, style: UITableView.Style) { + super.init(frame: frame, style: style) + checkIfAutoLayout() + backgroundColor = .clear + separatorStyle = .none + } + + required init?(coder aDecoder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } +} diff --git a/Todo/Custom/GDTextField.swift b/Todo/Custom/GDTextField.swift new file mode 100644 index 0000000..8a8d730 --- /dev/null +++ b/Todo/Custom/GDTextField.swift @@ -0,0 +1,43 @@ +// +// GDTextField.swift +// Todo +// +// Created by Buse ERKUŞ on 11.03.2019. +// Copyright © 2019 Buse ERKUŞ. All rights reserved. +// + +import UIKit + +class GDTextField: UITextField{ + + var insets: UIEdgeInsets! + + init(frame: CGRect = .zero, placeholder: String = "placeholder", radius:CGFloat = 4,inset:CGFloat = 0) { + super.init(frame: frame) + checkIfAutoLayout() + self.placeholder = placeholder + self.backgroundColor = .white + self.layer.cornerRadius = radius + self.insets = UIEdgeInsets(top: 0, left: inset, bottom: 0, right: 0) + self.textColor = .grayZero + + } + + + override func placeholderRect(forBounds bounds: CGRect) -> CGRect { + return bounds.inset(by: self.insets) + } + + override func textRect(forBounds bounds: CGRect) -> CGRect { + return bounds.inset(by: self.insets) + } + + override func editingRect(forBounds bounds: CGRect) -> CGRect { + return bounds.inset(by: self.insets) + } + + + required init?(coder aDecoder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } +} diff --git a/Todo/Extensions/Extension.swift b/Todo/Extensions/Extension.swift new file mode 100644 index 0000000..43e6df7 --- /dev/null +++ b/Todo/Extensions/Extension.swift @@ -0,0 +1,48 @@ +// +// extension.swift +// Todo +// +// Created by Buse ERKUŞ on 7.03.2019. +// Copyright © 2019 Buse ERKUŞ. All rights reserved. +// + +import UIKit + +extension UIColor{ + + static var blueZero: UIColor{return UIColor.init(rgb: 0x64E4FF)} + static var blueOne: UIColor {return UIColor.init(rgb: 0x3A7BD5)} + static var grayZero: UIColor{return UIColor.init(rgb: 0x9B9B9B)} + static var grayOne: UIColor{return UIColor.init(rgb: 0x424242)} + + convenience init(red: Int, green: Int, blue: Int){ + self.init(red: CGFloat(red)/255.0,green: CGFloat(green)/255.0,blue: CGFloat(blue)/255.0, alpha: 1.0) + } + convenience init(rgb: Int){ + self.init( + red: (rgb >> 16) & 0xFF, + green: (rgb >> 8 ) & 0xFF, + blue: rgb & 0xFF + ) + } + +} + +extension UIView{ + + func checkIfAutoLayout(){ + if frame == .zero{ + translatesAutoresizingMaskIntoConstraints = false + } + } + + + func animateView(transform: CGAffineTransform,duration:Double){ + UIView.animate(withDuration: duration, delay: 0, usingSpringWithDamping: 0.85, initialSpringVelocity: 1, options: .curveEaseIn, animations: { + self.transform = transform + }, completion: nil) + } + +} + + diff --git a/Todo/Extensions/OptionSet.swift b/Todo/Extensions/OptionSet.swift new file mode 100644 index 0000000..424f03e --- /dev/null +++ b/Todo/Extensions/OptionSet.swift @@ -0,0 +1,17 @@ +// +// OptionSet.swift +// Todo +// +// Created by Buse ERKUŞ on 10.03.2019. +// Copyright © 2019 Buse ERKUŞ. All rights reserved. +// + +import Foundation + +struct ButtonOptions: OptionSet { + let rawValue: Int + + static let roundedText = ButtonOptions(rawValue: 1 << 0) + static let squareIcon = ButtonOptions(rawValue: 1 << 1) +} + diff --git a/Todo/Extensions/Protocol.swift b/Todo/Extensions/Protocol.swift new file mode 100644 index 0000000..65b0a72 --- /dev/null +++ b/Todo/Extensions/Protocol.swift @@ -0,0 +1,21 @@ +// +// Protocol.swift +// Todo +// +// Created by Buse ERKUŞ on 10.03.2019. +// Copyright © 2019 Buse ERKUŞ. All rights reserved. +// + +import Foundation + +protocol GDHeaderDelegate { + func openAddItemPopup() +} + +protocol GDNewItemDelegate { + func addItemToList(text:String) +} + +protocol GDListCellDelegate { + func toggleToDo() +} diff --git a/Todo/Info.plist b/Todo/Info.plist index 16be3b6..914fda5 100644 --- a/Todo/Info.plist +++ b/Todo/Info.plist @@ -2,6 +2,11 @@ + UIAppFonts + + Raleway-v4020-SemiBold.otf + Raleway-v4020-Regular.otf + CFBundleDevelopmentRegion $(DEVELOPMENT_LANGUAGE) CFBundleExecutable @@ -22,8 +27,6 @@ UILaunchStoryboardName LaunchScreen - UIMainStoryboardFile - Main UIRequiredDeviceCapabilities armv7 diff --git a/Todo/Model/toDo.swift b/Todo/Model/toDo.swift new file mode 100644 index 0000000..d1cc926 --- /dev/null +++ b/Todo/Model/toDo.swift @@ -0,0 +1,15 @@ +// +// toDo.swift +// Todo +// +// Created by Buse ERKUŞ on 12.03.2019. +// Copyright © 2019 Buse ERKUŞ. All rights reserved. +// + +import Foundation + +//struct ToDo { +// var id: Int +// var title: String +// var status: Bool +//} diff --git a/Todo/Todo.xcdatamodeld/Todo.xcdatamodel/contents b/Todo/Todo.xcdatamodeld/Todo.xcdatamodel/contents index 476e5b6..52ee2e3 100644 --- a/Todo/Todo.xcdatamodeld/Todo.xcdatamodel/contents +++ b/Todo/Todo.xcdatamodeld/Todo.xcdatamodel/contents @@ -1,4 +1,11 @@ - - + + + + + + + + + \ No newline at end of file diff --git a/Todo/ViewController.swift b/Todo/ViewController.swift deleted file mode 100644 index ac23e54..0000000 --- a/Todo/ViewController.swift +++ /dev/null @@ -1,20 +0,0 @@ -// -// ViewController.swift -// Todo -// -// Created by Buse ERKUŞ on 7.03.2019. -// Copyright © 2019 Buse ERKUŞ. All rights reserved. -// - -import UIKit - -class ViewController: UIViewController { - - override func viewDidLoad() { - super.viewDidLoad() - // Do any additional setup after loading the view, typically from a nib. - } - - -} - diff --git a/Todo/fonts/Raleway-v4020-Regular.otf b/Todo/fonts/Raleway-v4020-Regular.otf new file mode 100755 index 0000000000000000000000000000000000000000..6abf79896b972084b4d4e36c034fc4e640a67dc7 GIT binary patch literal 126700 zcmdSB2Xqt1_b)!PyOJ!eB^Ox~+bWo53>aCK8{Hk-R2K}U7}=H!*pjj30-?81Lk}T@ z&`W5c*HBE2X{HAfAhZxdAdtoy)`WLwR|J#y{eIu~yz~E^^Zxc3&Fqvr_ujd4XLe^l z+bcD-7ji}85RJM<$Hf^Y2OszVq1LVl{ZJhr6B~DE{E=Y@yI)6$a*glZE9LY6pN8>E;+9=;@ z$x+a9F?*0lb0iep?|l2MV889`dV)<4dJZI&YI zAFU>Q5A`1*r2MJaUg~(W7nu+Wcmm}HgnA?T8l*4;MxtByEaT%$w~l`znuhw&X`fW- z+xV|hZw$;@rVOrWM3G#Oa0oI{tC8#fbfBx=JS2ho6!oXJpn!iH&OrG^32H-;*cnhQ>hBER5MxyP<{rde&hWNO57)sEpw62o5I2GN7QTyA zBv2E99trXPA@oGp6X@NA< zP0&>nkm-Lo(5q1s5~u>uWpmW>-v%4L=q@ZpzjRW9rb)K zwEz2Bhnpb>2~j~-+YJfBg20i zsFpx832AXJ)EM_c-a<^${|Hnviu)f68lw1ViQ?!^r~#!%D!Lf-8wWOg8~M^f$QSzc1)K1tTcf5_BKWCjlnQpx zhAM(s4FN+K2G`?JDtd@g@fY9+Ob|bV{68Tqg)j}u^$<^mxIM&5)C}4-pk{);yCY9} z67r;4Atki)qWn>Fyd4>F71Skb`%Lh?WZi|eEgJN97zy=B z_y)Bg>yNPZk+tPCq=|1Q>p1bb`LK_G0P+P0K5!C>rEbBRv>U=rsJ9b62^ zy!s6XI!L5FoIGQo?FaRv5e?%^cuW-5lLo+BYv{uZ_#r$w{j?zK8@PVE#)*2+{%<-U zvXVaQ&sm^D^ho3&bC1k%ssri?+u8PHy`bHJr(a-iP~X20Uk*Nj^e_18JeaGCP%Ql= zih*&7qedZC7#pJhw`*a4)QWxz<4l8`WbaDW${tXjgTnA86iCToZZ!a%_@Ra%M^o^n zW}xLq^@06#BIs=s%)jMeJF&<}b%PKAw%P{lgVdA5+E3~YKyC18;8&0Q@Q0|`d+85R zQ#=ke!sXzH7J!e=24DIS)Ln?0K;3^|R-fMgsh&IZI|=%oQjgyJdVS3Yzfb7>7xmDm zZ~W<&$PfITAH4)MrF|iu2XQ#WTOj@%>0!=z<4DvQ?AI3^M3Jz@^hIBxNOTwV#?=tl zp@E1;1E}?=xln!+_`3?B8Hzma#(=jZp~rq88vEThYY6RY(UmqZRHgI-@Yy?`vT$2Elsa zNA{<55^Bzn`x~2J#|Ym*t?}<*BgC&}A`fOT@Vgq?cYqE-W~%#}TD%O(eNYVOtSj^v zjdw%(GD^X9V4HPdA4fsnqo_0Fb;DaB{RTzBdXxZuur2W)xDAq1Jfw4x4D$4p2aNM! z#KPK^OohT)bsG6I0Voi^LOMDYwWF3m$bfNph1$_wk&y&g6FOrB+=u=MWB3@QlneE5quVG5eF}U+e|RPe6>Nss%`((f2qX=>3IXb3 zZ_srj3cx;K|0GU8ozO~Yd9xvmg0K$4 z0)YmG^>EXh25?h;2JXB4nYF?ldOfRwyLN`^jOT#QMbvbv9~32tF&+%I98Ri2k??0g zlnfHI^Ae>crT0Wf5aKCk9~01H1Hy|)IVGn~LSztX>#*(be&Zk)xDtMqD9)LtkPM|b z(=@coaHbigK_i`M3F?SuJJV9gKjTcxP%CuDnRY?JSnf>A>!lSG3-e3tmjz!C?@YU* z26TZltweL^vCgy#c{6UnJ7(m-=}e}TGmRmCmorTv6;tC(!!sP_mNU(u0EyO_mY_;W zyfZC@{KL+)3?)l`a;9BSuC#+QEw7hWFb$+DocSz@QS5Q1T~Qka?@TMPfo zKH6S9qNE@%-(m32Ze=hTgG_AF)*c^sZi>%iReM#Cn2xEW(TfH3Ty?yvqMx~ zPC;pLAy|YU5FzLQGs&@6*b42I97C?v;wUSzmKw6`j(mf?Fvn2p7y$y1iiJSOmS?b) z6}+1_tJEj4*(O6&G3^Rzs=PK}Ig8 zz>-}8ip&O5ppOb`VWCrL&}Bg>6c{Xp4iLuzZ3=9q#RVmzU`6&4t0B*7FS0sHpwhn> zsZx;2VgpT=8f;d3+q@FH!&*ALtR9&h7}2sqhao%PQew%5UIC52W? zUYXUNTVyY{f(coP4UjqFtnrVTlbR2P8D|HxNwMcTDlEVsWE2);TWzJla~X_tiJ<6| zgzko3#a5eGxw}}Qjp6Nl2?`7fgn9d}tuSWgmV!dUgQ21T2E}5Ci|k{tINBSWynx;d ziXEkar3Hn7_L97Iz2dt6`w|q5?5G%xKqaUE<)M7!0JrOpvcZ`eVDT}+B4&cc#sD{i z`N#@!GP0mTNL4^Q0QOFJ40IoU$nNK^)KKIE04QYiOFMNrcL|6QS<0#pe#3!$VK z%B@h6g94$Y9cs1u2ko|~9GQUw!bLLF%>&AX(4qu#1D*LDP#Q{tMYJdC@E=;Y{YU%v zWvJf|k*|JFec_78Q2-p;K$`kJ_lBj)0DKtV%O#RK1c_|GzX9||cnw71@ZUku#W0{r z>f}OhAyCc&2?Jqa4}=BYjKbhQ>= zm5mZWG9o4U9RXbYr&3}Gy`gm$aBhcm0?;mo>q6(q6bQDG3}rb$kysR|6$c|{1^Od} zngvj1`G_$FE=7D7hB0&NJFr9!F{wS^Snv_O!;0o)eDbuN@cm=9KgDw#nv%DP0Co`PPR-*HFBlMO-qBo+y9H3VLbci(( zTP1agS8#yE5dT25o&{y3KC#|Hp-w4Wk8qB_TZ&{R5q`+n7~r=IER#qVQit$P=n_kO#}OG_GG?L&BlC#V6MYzw*$O#CHe##92E;i> z`XF{n^hWx~c5)@!2eBS9hY00&mL^I`bSbtVrG)}@GCG7O(hrfDXuCk*|J{fcLC-{o z2H>A~9HI~66G-3x?VKXK5Zx0^i8f7gh^Mf_Y|H~{WNgSd4HxG4zv70>IAQ_BdlP+R z3-rjykQIZB(OX>wLJ84lF=~(6!M|uFM57kyi}(MV7RI#1P57pRNW zCF(MDg}O=`=+?A@9!{6iE$OMyzc13FW+(s@69vQ66AeO{f)a;;5*DGwaKFA1eTjC% zvz_zkGMtg$rh{lLZK4;^ZRr!}2aGVrE?9+|;}*CrHsL57i@V|8I2jMXWAHdU9#6v` zAaJsQ8j9Q6GcuAu$tX7osU0^N_Uq{q@7=}xpC4bSRPV>Aza zj7QUMfd~U1>Mq#RnwtrvqV3Lg*um8>3;o znRZMF)1Jv>vYBB_8MBmG!)#=>F$b8V%vt6J^F8wu^HQRfG}p;>Zn}m#t*(i#xvsUY zoi0q*L6@LQ(GAcQ=98fXJ+a5rcS-Ugk)&(OkPGz1&k8)6K_ zh7pEoh82d@hINK73|kD_4Z95c4F{X3n>1+R*Q7<0z$U3p2K!NdQa?98Pd|;Hx1Y|h zwO=>CA%528r+MlPd16Q8CY#3PFxH8J+{^Ko_#u9bUr_;+QILBdb%;7iU8fN(1-U&y z?xtYjZ{D(}BrihB7709A-JQf!V_BW{xmtm>T9LbC3B&;w@>WbJ4l# zymY=ggRYq_Ko_VB)wS0}>ALGObc1z;x=P(R-AB54g51jultBh^dm0)Ud<_OcZWG*v z61g3QaUl09!&;DgqhXt2r(v(*t9o*$G#LPLOF(W9kh}5Ua_4~D_{|%-HytI&F8sXF zWAaR>-rpP7Hy!I;BJ>H&#@T2p`Veet92)(GeXsQYql^2@J$PzH{_Y1rfTw*3-K)Fb z_kQku$-VRUK7s%2d)pyz|GmScO#Hhy?%vpYh4=d1%fDN7_u$bICGu3%{-A%5*LX=;wtf!G=g#WmFOe} ziJzpIq=m#RiIT)fG9*JJxsqZ@3F$#nEcKH%gBN;0ZfT&@^nS18ij=~ypVVI(AZ;Tx zlB@cEQa@5E1~Fgi3s(^S|Lv#g?%-pHmrVsfIv0HHF?uF`0p4;X-2puADe%D+w1Q^A z?@pwrgGa2Q<(LCs+JIKm4QYSyrxf_d#)7x^hM67#9={#<%5SZm_;420nR4e;rYA| zoH;Z_ZLtSDqizMy?pvaG+#1E<0Ms2D;Y=6AAgAU=iocw>|iX;MGNsLG!EyXoA@}r zm)-?)bqBql-Uln(5&9s#n?6AAp}%sjbYH_PK1qK@FQu2m{9Z$^q?gd2(rf8e^yl;n z3Q?Hy$90r}(o=p^Q>q!IrF2wt%7v0ro>XI8i(lebn8$zNHx!(5QVb=bWbphPo>^0_ zl#)_WZj?LaL8&P(ssW{;8d8m5t@Nef)R}5QwWRvNikU$TpaxT!R2G#@LrWR1AsIRF|>SI{d7E$5UCsYKrm}*abN_C)?P#vjG)KaQ5^*Qw!)rDF{b)}Y5 z)zoP!l3GDUQ7frvY84ejt)^nBHB=n6mWrp=QQfHZR08z{l}K%%lBkVTcWM*WgW62> zq_$AKs4uDB)K)44PQROA37j0d!l{}PPKNwYC)@;1kUZf;s153YgWwI5cJM|+1j@xd zP#*4yhT=ZRj{BlwoQ_Ixe>5MDL<{f-=p$T)W?=_f2B(rM@Km$`&qW*YJhU3mKx^?V zv1=uw>@vsGHhLKBIbmN) z_K@J2guget;E~tA_``4rMYh-t{^c`&QWD_Hlp|lJ0{b$RRBa=MFXSD*%vxWjOyb*a zi<@s)e~;~2gf7kYq<#ZZpi~vOL|-^^3xNBoaMT6vYI?x4%mMIJf!zC4pz*NH_y{dP zOVAp$6}J9gp=0PYx`3{sTj&7{$#3W-Z2M){12@8YVcT!U9bn_1fP3LIJOmHL!|`a? z_)o?2@uzq>UWd2fz4$ObiO=CH_&eCzJ;AjwnH4a3ygeFHozz0R_0skF7=3dM!ldh?E+iE25?i-6mEfxurNi# z5cPpU7!0Z}f}5SOuxQPr7lR90M{falwHKVzN%|apnf{i(OFyEY!iIupC`Jz3NG)tE zS~Dglg6YD1q8|iXp6f=>T&dg;#VU{_!)O%sGQ4L$mYs@X?0rNBS8*HqR zL?%&5G_c)hDhZGTNy1^Pks#?MNt0y4W@EUdLNZ!1Nist+SF%X*xnzxGlVpcvzobfX zMsi7VLvly*qvRLKpOQK$EtN~%rM}XZ(zentX=iDaG(nmw9U#q;=1c9;O6geX6zMGK z0_hUz3h8?34(Va(33zS!8|i)NkJ4YHe@g3Ql*~ouCi9W$WX)x5WF}dJtg9?u)>D=y z8z{?`4V4X-Rmw)oCdp>V=E)YzmdiHFcFGROj>@WK7i8bb?#X_VJ(s<3pE}LC;x*Tvh;&RI6 zyvtRWn=bcV9=mWZf5{oST<$J!DA&oG$=k_86pa+V3WK7V!e7xwVN{qE;fjumu8Md?Peqzypdwo_R54spsTix6qL`&vpje_< zsrW*%Rk25LNO3}OR&iPJt>UiYk>Z)+h2k~Kuq^AzHfG@nkqu-+*p6&8o5=QI`>~m9 zE?dMp*bmqV>@;=`yNLaqUBhl-cd+}}D)wu(hP}q#Vjr+Sv%j$~U6HHIRpqL2^>uCP z8sHk_8t&S~HO{q%YpUx2*DTip*J9TS*DU1z$^cm33Lh3i(=J+6mb&$-@o{n_=E zQm$;I)GJ#k+bYe<4$3HHg0im zDbFjfDsL+9D<3O=Rn{ussH7^T%1h;=@>8`^8C7Ab&Z<~dcU6iiLuFCrtL&x?DX{JzhOkJzKp{ z{h4}|dV_kKdawGJ`n39@`iA-k^)Kp|Uf4_S<>A%HOYi0H)y}KESEN@ruU=k#y#{&Z zdKG$=c#ZIy;5EZ*p4Vcp>G({G{xuo3| zY0tCUti!|xrbswN&9h{eIjoVfLKH3jW?P`D(B2pxonv=cvf<3n5uII7l3iAmTWGC} z5o*K$MK};8OdCZujnT0}N$fjufr>RDtFN?Pqo6RynpCgr?(e0E*1HQM&>eaZ z7zh?eGdQ%Tkl*v&$e2a@FpGLHhxV*TD%O@Kv^I+z$B0G{6W;5sFhQ{~q8ekI10fDl z3?XJTnZ!<`Nv6>hZ0rSZSBT~iEskQ0SRqzqA;#G_wpV@`m{UnvQK6+wWIxu}tDb5? z#QGtG9nes0uhK$GX}%yB$q9-T$(qG}O(I!yZ1UeVOhLwEK?BM4goUO-u_0p95W=6) z6l6+y+a@SB)SQxS%_)F4C4`!xqTr#%ly?J@@=tQ1BBv3exS_(328G87T!xxb1s+mG zvw_~kzC%TRLu1q4Y8i^e(TR0N;c0(sGFD_GR%{e2cH~q*oH4DwCe!{_ArKUsg+-=` z)|DohR2rGbf^=cw>3JoVa%;LEe|k=V72bO&C{2GSYyWylp{md>Tx1|lWHgTS0wXVK zAuc>aq!w6OYK(}7-=H9&QG_Yu{h1IMXL&0-OvW&wQdF=QiA|zHgsVtr6eC`VH6tV7 z3hY9x8R?9oEcL`Uio_y=Eu#43H4xE(S*!w&*}~9di|O~7Ge%^;6Fo<8T{-WjlTl>F z7-tpotncIq5=)|;;t(T%SuQdXEixG$Vy)j7$RNrWMI-`EM2Uih!TUYL2@9D)VwIpU zt0+p|yB?!r^6D96-aD@I1m5!M_Z1Xtipu}nfd%Eit1R?lBE0}V5e4tao8k%r3+>s3 zsmVz~ooFX}Bm&7I3PdgoM84o%7I0bumEf?U@5m3U$6}$N?_qf*R;#TLUY{w*E)+N| ztX~JX7CHzP6&WmcXAZUrjcxCS!W?3&*UtLZmx;PGhuPmr5+kZVMl6aEH5wxhO$_M< zBqyT>rc7#rXLHIZ4rxr3{qOl0Eskrfv$1#;Bi4%zve%!FBHcK9y}=9-83`e+!H-4R z-}7uiv1XBwS@0kxQw+SF1B-4+JuwBMK|v+&)DR*LOHgpBP#G$Kn-lp84JmcHw9~B2*d8q!str2l$qKOGkOf)({mN1b*SVV=OfQombRtS!( z;;nZZ@vcN@C^+h%*tn1p?;Kp5Xb!=m7UCjC3N%N)Kb0baEyTx}gx{bXk`5k9e$B(l zZ)hR;4JjkP;STZ}HUfTwj1?puk(-&Do#}wz%tG>0P@3rgLfKgmfK+xigj@(#2zd|+ zAOP{~dmgGVQ&_ISlEo^*ngmxO%~-L4 zuquH;i|mTafH_W-C{Cyu;`CX;PAhzC-Xe#=!S5Mz@cVWh9QuA~*!!1GLl!BTLt@@9 zjd=gkIYpe6gWsP|=J!dN-{aLB9QPh6^ZQ(x-|xu$en;l$_u57{<#o=~2xr^36IZmk zNGEg7+~6RAL`t%#GH2=A*)44LVaUX$F(JhTBdsO&z`|U35&^%t_OcR)9Qm+&Byj~P z$}K1-7p3q}#0IhOk~z69sDxj5WBYB*(z2{lff`8=dL#y)0ypbqQbI&*5F+BwAR<-( z5n%-)GIJmz#sCp9B8b98P6#1^wRaRF1g^-n$PY=0911Dmjl=?XBtay}vDu3VTO=0v zBnhztk`f3C38Dm&5a|giphseX9!U^7@Sb{!*g44&D3UDFl@JR`Bq@QikRX&vg6K|& z1)Y)<$ZIqT_b4V~m{I75WQ+9QRS=c}qi`Pw^+eSP?gFlee}Rb1BZx!|h6!p75?r$> zD8yV0cmsP5d4dEtqd9`5L`S9yErdM>-0=wx)EG%7H9W@>2gxW7nXphprr49Xz#D~S z6f%juK_qq`6%w7?Gp##3JF(@(mX+9rvM7;ClsUJ=V#^k@h!=$iG%JBvh~oLUkVWvECTDMZeGV*-uBj>=>bwo4F&*x=p#;boRWxFv!Y{Y!*& zp%tu!WLk=gOYD_G5?~Tm*rXO(i;5j1pwj|dE&vi7BMAKkyDThQo-Gpr4R~08zF`Ek#N6c6h3>FvvV3V+d z1&dq2U~!!{Id89{gjK^NjFizN?wd@}WQdF==PhoOuq2qGg=N$vJd%Vmv0ZeyaC1XC z&K^-O=^R_oLMQ}bMH7<(Wl+)kxq>B&6@uRiBWj9Ntk=d_k>mzDfkf}{P6Pe32mUvR zr-A%GLfTOEqS-Px3c3O53j->{;WV+V|i0~xV)1*R-Pyy z2!~0tZNqk0-LdV_Z4{A791=orTu_<^zK9FzGoNvvC=-HXpnPs1qY@XhD z?(~H-Kb_^$T|069=ic088K>!RgZGM0EFIKMw`PE3$BC-tM}2-gni8zflzlp+&w_qF zEZ-ogduu)SYqlo4u%|uIr^CRbC(fPS_4KQQ6GrUScae>mSTSm(j@9r7UuQ_JNgr}0 z67I6}N4`XIRmvZDnIYjMb+Hcr!FgacB4LgmF1J8-sexRJX2j&ZuwHT zX`f`THEC@}AD#~D+cM&qokKit z?{we3-2aZGzm)A?wkyS_>jxc2>vu`#%-y|5$NDK$n!6k&iI(;bl(3q**4!%Y*-8Ex zx1iRqx-S29M(uFm=xc4&o;}Bb`!vqPD`f5CqpT4=pfeXv%bB^>&$t#`&`&qAgZJsH zzLY#19CC&?`0#yrJ>Q8>=DTrC_yjKH?l)gvIj3ja4Q`v=fwYxzeq0dO^byyF>wNwG zu(td3M>k6z4hcNNd-|~61tlXhhdCB}V%JsVNGiAPp0L^H%#ICJpuawK>8-i3_qbt_ zUea!Srv$E(q^I;gKdd!BmQSutmn29zN8M7%Nhyc8MI7cAk))$`sYJ#5@K^bdU&u3xv>mOERwQ+hmePg?4b%w)*E$5VSg>-9*&@~wExd+;q-O+RaXM#i>+ zLx;C+{_3mTE$RAYTaQ``8g8mSL$;@W78*J7T0_k8os zJ-WDkHwHcQd49j@n@##&OC%|!-K_CG>f24tw>V~kzP7(~<|+y2Ki$Bo_%=Ra(Uu-V z^ydn@Zwv8BN^}g4*RL83#(jLnVV`dg4~h9iuRb*1F~vTu#AQ)V#{5A(yq77lonC$W zrbCQZ?@;93-on;`3{=Q!X#UaPh9H3v(WhLxjjGc-aTo|cHPXP zdD))~cTwM-K5o*O@#9=nO||M@EDBAvY|_l}GsaBsHo5zNyeJpWBdKm_4R>9(?)xhT zAAaP*ZqQnjvc9zM7_C$PHfYqKf^_esb7_xs>L)!E>fib(cz=!>t^ftL;4$aH2e4Bn z4jp0j8D?L)ZK|Go!MRrPu3St!9}}H+xlS%)H7BJ9SFSj^R?i)L=_ZMi^26$^{KvIc zNoOf{tZq|bq9ng^+{hxI!BSNZqVBJ_)FW(DzS~~T^HhF0_v9G&$r(@X=Dsg#vM#D` z)lTD*HTNeUCgSF9bjN~gZ{V(H~ee|oF96EeOiOUHc||Jqi=U6$Qhb@R-1pBuY+^9nt`2Y9T_th*sO`?7y*-F<0YZtVj} zpVt`|VG^b;tS-3ibNAYg3x~3I^;n=+KR@}&#`XKXtGg(M4DMGJrgvnol&T;7aMC`| zl5R_k>c3;thkDh}W%>6e=sw#k$(UQbV2wA+CvrY~9IN^9La(k}qI(7g#GQG;nJ(P; z{p8`{gIDYAHp!L|Lsn+^bm^Dee7b(evLkD%e0X=>N0WXm^W3?rJ%^5@?djGnEi+xG z%Kfm!W(Oa0wcFtk>(FtP4&6qsp@d7`!#ku?hUM}t$7i_gl&)L8^YfiPRmTf^r}ocF z>YKT8OR2u7L^5d2aoahc2Um`Kr)M?C?!XAB2Nn&MY#5mQd3T>6Me|)PF30Ip!zI_H z>d)5ikrW;{KH{{`TX(KkZ+d2V9(_@#{;aN?U#a0*{z}~WS9?d5Y}4`Q>k1|PjuqXw z<;^VtU*A9T(^XbIcfPhzawzqSPVK#&{$8ij1fAs>PR%JU|Nit|A}516%SJV6t>aR8 zlcr6-@2|2e*Uee~(N-6>N;YyPdv@KnGnc$MI_w&+Y!f>;I!kw`KvMO^kxdtT?i@|+ z5|y43rH@Ogk+RjbKUH(CPwT8QmzSEIv4RJwZp3GT5>D6N7eizZhoz3C$JGfnr=HU_Pgi98Gh#6xR#v0Dc6v1+A(TyqD8O1 z`Ml@rk{X%%NiD7|(lm)`%1b)O9KTwq_RRWiXD@j_=<#Dq9sl@shVEOR#TB8vF$oI z>Z}hpWDN{Sfu4IETgS@yK907$zSqE|pWAh+4ceUUf3E@`3>tb~v0~?r{i_cjI#`;O zo#q&*SO3Ox_iHT?T2}LW%?&R2MckQyc2PY$cfHu_;n5>&w=dJTn4aFJt51K+$}N?8 zyInGP^^xL}K6ANfO+xCP!-uQ(oI7`PaC*PA%mlq^7bn@tE>Nhrk7{L_u3X(<>D1}z z=|g-5%h;cf_X-d0p4>dL*X9#L^=U&TU3cHgd;%^ooO?Z3s=hFFT1wwRKAAH0)-6?E zEd5l^SDP}qBAKdqjkXqFq#rc6$bHIYrj*^qjoHPPbDvgo*Q@b^i!5KqXK6V3-N(Oe-Z*~bS{+}) z{~*cT=BPU5&Gq4PGzG&JepamKO1b-zt=5%ky}WsskhV>As*yt#c+N|TzVk9e(*f)b z=zPZiCixEbN8Dkqls_!_R?2_I{l=~4>LeYd{0DrsM5WnW$gSa?vmJN^b_cge z!yA6*HC*#=uJ5kdsbl$W8nO#Kl)oW;quy32*`QE)UaaA&YuFK56}JrhXL~6>75t}x zyTEb-xVe%}Qa*|=l_YVc>>lpI9=vTIw`VWCjn!x?b(~2A|`=$0f zDevHx&(Ow8RWFsH;OYMlcLS$W zvz$a*Yui7gg5}$fKUy1gl=auD>mvBf^Dwgy`fFLiv!3jI#&g%j+RzgRFM^Gg9A(Rj zBrC0h7iV17cGwhIm7&i}mYkBZ>$U1b?5;;UxRjlE({66sZkkJFmw%vT_s%{vvSMq6 zC)Z#v%h5A_?%G$&dTu()ovL9uWmJHcEmEkT)L(hnbSAEDTs=PL@ic_8}KjrzXhP6y4OFCO#n_tbEw7iO6Xad(2pL*iz zwPPpG*BtE=*)_Fyyk6CNNu!h!vg2+UChoVBrR-Bhk|g%DjOBGLLAI8xuz>~pz7qQ4 z#nn4ce(8F1o1dTd zJkM^Oe7g4GX*OPKE8e(SZ;>YN&O8eDj?BE<-~H#dHwWPx6Vw_o5))m-oen&ln* zAIPw6OVU!gu6Dcvrp=-<+KdUP^kAX8jfFN9>OZF0C#PRv&)x5;pF& zFTdrbZ!AQcA%bz%dTzh)#Yip7c|2EazpxHcKEYa+KeW8O)>6&#K{F23h8<$h)VfvR z3t$MCbKxj<4_?DvrP-m=PQGkX!QxMAXVYwL_^AnyzE(rCKY^jJKb$NcI3(Tf+`h6~ z@V6JZMx|P=AuxvTouavxFPCU~)wKqb+&y)#CtE1xr||P677iA|ZfxxjFMT!Dbys?D zb6@+yCii0RuAQTLwrdrC<^>Der|%_?6WXklsbJcTJH?e%u)l)wormoOyZkFHyTx;%6Bij>|w_V{%ES3N%0v%hS~e-83KECqRkxOQANm&FHhfvoKQx&eJthW3xp zt2{XuE!%SZDG-OP{eJV)EtnPWS70-EyP936IDA6Aj7=K4E7PZR)VQ$|^{liXpDj5d zJ;-HCSo#3RY4~i;$hU)~FT0Z@N5*B}kiZ01aNR5LRnTB_xKnKkcd9B5ZBnq{MC;hp z@uzI%ENFbl*RV_Tt;X!N8t!Nfdu-pTd29u7jGAgrQNyNbTgWx|o z8Het$oZ%r1STj(?*wb7o_=rA}k8uO`b1}z>b6gFWJU;+Ke2AyRyYDjq_&O8d5VP<{ z0;q8=Kxj4tIARN4fEVF~_+#`Xf%O0gXfeEt-wfWAUjjg%&j2dB6h5!^DL|N(!B@pxpq5+5_;5y|@Y=1xUj_d;;FdKaNiUV5l_!hRDb6+QK{fXYm<) z9$&yUXeK~JF2l!0FXBu18oaxI6@P=Tqx}HZJb=Fg=mY>5@Gbm3zKL%G$n_4s2cL&L zgdgDh_y>5)|3~}?K%76}U+~ZH#{X0N9DpOw0Fv}8{vH1Y2!kNB6hIHb_zwcf#eV|a z=M{WT(F}l}I)G#R1#lVw2no<12EacO_;8yGz<;D700;nNRg^0_N-5DXN`;OC49Fee zKpH?4c*3K{1^@+WNHqp1kS`z%wD1LyZ~z%K0jQA<0BG&e3Ca(h1i(>qfE^L2kUx9^ zvK2Z7@SQdQ>1hpM=&u3769^C<6F_)^Q8j>fLIAiE24J0Vbef7lX8^3z5nwx=(OIes zz@z6-UE#|yF#yzwMCSpf6H7&-ShNm6I&lEfNdS~Z4FGf!;bWi|;K67Q0Os_f`oQPj zE&}2q6J>U?2JcWN9FZN8RAzX(m9I1_2rZzDNQ9CJO;Dp+qznU8eHT75F^d zRe&M^oC#e6IMXl@&;%bT14t9<4i8=(s0Tos$^hC#fK4L+)ZCLA37=gi5T`K!Wf~8# zrf~oo>y55c6VMF-;4}pu)_w>dG5r=`P1E25o!a}dNIj%}0!+zc>M8Xz^@RF`dJg!K->6@y->DbW zAJm@|N4=t6QneIMy{78W3^bd1L;VGiWK2^u4Zvg>EdgM*3oQpQq=Hro5N#EJv^@X_ z=}vpm8h}GKpc?^1--q_58v|TO2dEVTfX`C9;(yCp#SThna-%hDF0@vf0O%;3ZV&MO4gy>qfam}}j|6x+0jbA20ZK^#Pf7&XW)A=<^#Y)AGN55n z=@dZ3^o36a^aGI6K!7P_062-jk}LxFHV5EIR=~>)1(0VxfR}~=a>hm%(ssH8J{C|6 zp9?4hBuzO$Ju3nDIRc>dqv+A}7{Jzy14z>Z0boCwo&ujC_>i6oc$?`07=Jdv@#oR= z0X8~^UI+lGMfAr2|65Fd0x-bO1z6xRfCR1pWX>u$8dwd$z;*N&^agr8y^-DwK;SL( zm-JS88vqOmBzO;i4R-^2XCJ@~4*Fbn%3KM*l|tN z!U6D1C49MqLPG!o=LS&O4*(vP4_GaC_=ui6e0*~-eCV$;fN2$I8i4cKGam4vJx@jr z-0Ib`g901h^F(!cMtwrnMBaJ#H80nFgF*70P zGbR*17O@DhQsGP(d~%=@fbTm3ZmKKO8Q^;(nMl+G&}OCZeUc4;BwLJDz{e$)qhcls z4QHa67}SM{V`7D+X_>{y%fD?~GQvfFaA)1870(z^EDPoEl z8#A1-GY+N{K8sL7UnA#N1L1QdlL6?q9lo#oEB1x&R^-F-y&0Ck$FOXez;Wk;lUxjr z>T8(T&B3gMY}35fFsl2(#PNq@-~5^`@yOLfvN z(#g_Kq+6xc(nnGr&a>LeBH<*fNVZD$HJoPMmc4e-xkR~q;PRQv9+x8klWHN4lMj&R z$}5C(tnKoh@*4Ti3aO%j!lZ~(WGE&o)+_c3kfkSz-&t3HD0O8AvBm6Ic00S1t%Vb; zMy{c*NdPb!>ske;R&{VMgpj&!t+DVC7y>p zFM8hee5zIgY$j2CTzy^5sq4Iay#l;8d2R99=k=q;O%tI>(&TGKX(nmrX;y3YXijJ@ zYkmc&igyFQ2JIS*Z17=&a}Ap{G&PKA*tcPE!($EaHj*_mHOgo-w9&Xms~dgY=ysz! zjec(Qx^ctCVU7DWu4p{1@rK4#jel-j>#g)|>D|SS$( z&>lEBaB<+Cz#rPF+ak=*Eebmjb~{`aZVXQeA0Pf@_|1sM5pfYyB5ESI_D$MHwXbZyr~QKt znhr@FN;-_~u&~3%4pkk#>2RaN{SI75wxeIiu#PDm^E!^}IJe`@jz>Cv)A2fl+`e;q=c3M6I{)4!po^``qOK8LXLbE9azNy~$ls!NM%|C@6g?&SX!PS4S&TJi zM$Dp^Q!&qC-o& zsa;e1q^6|ir;baVpL!_uMw%>5p4K?6Z`$a-vcB@ZY+q$xP2X01r}h1z@2hm5^vLw( z=^N4yrk_jyE}icu@8{nys$Y+OIsF#(tLgV=zc>B8`}_6}@1NX%VE>Z-kNZE#pfk)F z12Yz7oXL1RKsz9C!1w_*18xj#J#h5Eu>;2soH+30pq7L32Avtq4o)51cks-?yD}SR zmS&b^F3r52`ErP1NcSNu@RDpXzr-G>k&xdMFpXkbxJ(eR?FMRSUl7JX6lRnhUHb453c9u++=sPx6vv;z0v*+6F_PO>Y_8s;g?SB^2#j4`Q z#qq^`iz|yK6fZ3PV|eQDKT2Abj43$*A3Pmjdb*TzC>?H&AV+scKgS1-#g4sY^0G!{ zd1brGu9Q70mz4XKw<`}SFDu_)ex>|bMLa%HWr%ju7 zaQgfiEoW5B)X!WqtIe#Dvo6efFzb(x8h&K|Xw^sG&u%|EYj)1;+}RbgC(T|kd-d$S zv%j8wefF<&&>ZEQmUBYp#Lr2elQ(D7oR8L zIyZf8|GA^)em3{>xjW{5HTU@3t8;&u`(~coJj1-U^Frn&%uAn_JI^t1_Po#MZJu{{ z-o<&(=BwxX&+jxpWxiwnl&l#CYhN712M^c!AEs-!!sFPwVbXCECyvs;4v>wUJ8`+L zHdVTE;r!+Lm;SO(Ce0tGD~Q+B9hLEQwO1tEQ|W@alg8=m{Of8owfkh;Uv=jt{EyNR zQ|2w!tHKqYi(cy0*SYGK8F0w@$O7PDXU^-F2mG~@cp&szFnqJ|3aQH zNTB%x$Q(~HxmT~0a~1H+s&lw@Ej%ZA)LtRB*tMm4$xbyw>SyDi;h#uoS^j!kr~;bb zhvs91=A&MXn5W>Ce5Y`2xZ>d!E@B%H-gRl$4597!h+Fe2xv4^Zd)#``Nmp_rJdSYt z!>}NKcZB=oRZorj=A9M_xM%^VMn}HT@)Euaw0UxbwBfq%7KFUX z4SRW|x%R_3P$1;Db>`RRzWl{s%NIsA*Usf*NIQ$-tx(XGyI2hx_`B_k_eA0X-x7Cy z)z_q5&zqZTC-AW%5$HQ`cl9>U+M&DDw`;YpOidN=K&>_DCYA`!wRx`KVn=F;AeYB+ zD_+HE)K|xWAeYC1Ah*UP!D%GajRtBz2;w^jtNW{fFhvrd1Np)jlE>=Ym=h0Az`%^j z)JF1_zeh#j{)uzI|9FpeC$VX-0!%RS?}+6C!;)R1(o$Bp-Ndf1iy~OHk`NX}PslCFp_J7g#9bi!%-QOVYUA;-xgqtPGdUx%; z_bwI$3)nki@4bO7iW(~#HP*z2C04|O6afVbWkFo9U>A+X9>tb(*V#4SZ|*L(_`d)D z_dU<|yw4lixie?ZnK?6a=CnBw54+jT%KGP`>dVqe__v$OMxoz`sUwFE5pBhl!Z3JI z0gMjUl)2OL$Y)2ST)O|ZMICu7D-Yn$F*{+~WF?vkxT>Gsl)_d&efavY-G@96Oy4#B zSED5tPAh$yYx*r3HL9QIux;b^hZtFm-S2bf8k=bS?cY8Zm2FT3a}3A;X7l0mBVDE) z);D_TIwt2b=H~igRvoB387OX)l~&e10W$u5&DRjLr9yx_Ku(oiqq5zUBGy3tbP;|o zGV`aN&~>_}yg6p-yjN32);X(`;mvli0{^AnQ>ePK-7p~)^}g`#TFy%R$I2^2YiX)o zS6m?~Gu~EQA=7Gm@w#Fvd~qBwe&K6i7wi8Y0i?=ro}xFJZFZw)*0g$J_Tht8|Gp~wy(a@{&B3kdnmaVow);m69r?_xQq$Xw>?r1|z?8(>~GMPT^<_Acp z?3-(ex@KHM@1~@iE6UEl$;O9@R@i@5i{3<_!u83rn__%hu@cn4_9tq&ih>)hboNiv z?cpdN%w07MX4;WLYs_yVV3xfe_2SqFb;EfVLVs=(QE}lHyqpB-9~YV;>=U_p>FAW* zBYrngPXQ=V15T?Ojp9Q}zc_oRVrr=}^!=tno9t&*1VFvBe@9a)k1_tJHQT_NVl)8R z(*gOb_j?L0w`Z!v;gk6=x~23eH>LQ8Ed`x8D-_KW?`3at>?#jjD2(qakNK|hzy+Mk zT-03!)iY4+@KR-*-mnu-_^N%Pb3Q6XffY?Fr&^cx~ZfMjdG(HzWLB8`)x-bUiouP2l&=Q*X;`( zA4>EgE!j?2!vgZU;Ue}v?LcrcuY`3s{`U#o6Wp0S)6 zNqa}Wm%T;Z8J^L0zB9bR06)X{zNQ3w4A597FA}-!Y<7y2pmd@am0?GZL0Mh|N~t!i z7KRilF+|a96LW0C@pVoJ|NJESPf;;i6ZOyT4B1+*L%sB&!GG1&Jhu%(joG{c)#f!c z)_3~%u6q^h9S+h^o%}lI*msv>(uW06{7E{U&U>4gPQ6m3Tqhcds(p){w~f~giwdA9!P~aPf!MvU z2w7=3TGTy*(cre3N+tE6mhO+Tm4Qo@gG*;lNT9&QDtl!k)t9;*^T#t4}-7_x$+MK-BdC0TdR(Mwh^4tLBydU2y= z>M}gd28ZA~mr2mb*GxWWldi5STiLLqGPbG>qR#Or>_ym5X4}ug1kJ6}?vG?@%eNBg zAuIN-qO(-(!A*re*HOs9jOA;?`(34AajyKSX3NxYB=?Zr!{b+HOCzYZhqVtpH?)$nKL7lc zMm*=817{q4Bcg6*-{jrhIKw&oJ~;daIQ-sz`<#mJ4>J+-$c4_r}Z4-+VrJ z5iRDk!P4wm6nd{094GG?_pAL+LI=;3JO*{|c!=@e>K1_aZPVAm%gqLEoo zyR_s@<)040UlHYqonki^ZqX!eKk~pVhCH* z5*`diFe%@t%-#o>oyk93XRzPZug<~kl}l>%X*~;t`NhuJpu*?Oq#HAOR#ZdKh5}kks;BB zD_1fen5>i9*mAY-MZB%)!RZ5{7}1vwTJA7C##F@v{B$q-{0#YQHW=zA<#3LA0*<-~ zj(WuEvqL~>gB(Rvg8!?OR!Ki=8;PHN<-7vqAcwi2c1r1ypoosbScS60#X&zBwR z9XP4LYgsc7V2hz@?1$Q7zW)i3<7ZNQ)D7Olapmi`o*hM82r96t=;t{4$^FpJ@&DY9 z!&MLnQ-M2jRQBr`@M+~~JlPc;sZ8yw~vd433JfFo#cs=MAG(*0MXV0nhef>A_KSm#kE%Ta zJED=zik;tTI-h_jWlY+-t5Gi@`I985-YXD%Np zJF}&kZ=ag=wsLS8ePCt};4&(kZMZQAQp}6~m2a_c;dad0QE}D=aU)+nzy3PbBn2~H zWsKG~jugEV!zz?zl~`Ru>_{c5Ym|a9xTRTDlWv;aFO)iTNTo`vP-hY0n9u{!gq494ktM^7W+Wu6n!Vim?GI^#`i%wz{ z+tyApU{rcrrM}31epkg&1&0HwKsavBtIWmb_#QH~E!XqLsT1_w?W{3@k;Vh3HHn>C?5%2G6-u?jMP7StI8}hxY01$S$Jg;} z=sO5{C6{V3Cwm!3bjfM==g3!!iXE98Hf2np%-#7-q+fe4jlTBeB)3%2?rOb@o8f3i z<>i4G^JwlV#*wL6pIZwgJDM@_a}|)=-V@#>EKfaG6>EBKyw3N|&g_ zN}8luwh3pIVcOScZ;^Nj~acs4jWjtY!5N(oOVo|)&28tTlWhQ{Sb z4bj&(9PvkA?>FhXi9^E1i1y;y*5X>-e6VF&5=EL_=?HeDH}9RTSR@a-m!G%5e8egw{|`7T;2)FFHlYw)`6sJY=-rU-F$gYz``u3R5Qli}XxiSKDRPL?!}hAmVF;H}@~bm%RpYQ;RCEi=iaPvT zmdhX8?AiD=5*LG9S@GdgN5yy593>s1kBYRK3mrSvqV*z8;b-}Xchwyge#jR4%YpBz z;MW`AaW36jBAENDLE3`+ruH+2HNZ5Yz_8c$qJ?yYx_k8H5lciiz!h_kjMdqEUJt zzz@v~ZN#d5>o;v}FWWl3>jgvrw+=sn$v)dl94Uqc)9}L_riuw*CMr69_CiAYPk?g) zIPoLE7&<`lydz)Bg5;N-4ImJUB0?xbJ#YE$9KmH3%5>?o-dhxwU}t52DCp7|xD$rj%(tRS+^>=(#NjxTRm+gSP` ze|8$h(-O?iD`?&SJ#h544KMV)$Xd~)CB{Lcri~uynI`T^iZW7*-I+Lhy*%ly7F4TF zei*uvP+n3AKHXe>nP7kEKn1d}b3{~GSRIY`$LKlx+ke%1q?G;ADe9=YH}sFTxYTX1 zmXs#k0pcwMibpgAd|~4dw$@UR4zX2sH;rzINQ$+)p1x(LHPWH#@)A*rQl;!N3@(lN zrAo=r8y$N@@TU0JtFq&yXYVN7t8q;O@uD@B9x1J!N^v%&Aba3%M|eCKhR zhz|F%f%qyt1T3_~EgLNz*KCl^Z#wL;j*2Ng!FK%Z2_1cxXe<~ z9R?qH6+1x0g&Wl!H*VUm%Eh%=FWx1Ghzhu2tH`!JFVVDQRx|PK}jy`9J7ybx8Kv*E$NZMe;hdH2=bvWRG-wA?V#G30k)#mDX+c zm%JQgUU(_H(jl`7m(5UjJEdl5UgIF;5otn$-NW9llzP4W9n;WMkTyW9e8Yw)Z+K*3 z0RHTPKbr~^1Qxm|Kua(Ltwz}%;fLX{#vVBQdkd&ze!h5 zh8uZ8I8~}6O0!Dh&r&kVC?I%;Oh>FPxcv{Y&BV9a_;y15rn=sSpFKBOji(;_WcACCePunpx&L7@z8BMvbeqD2}Mam8N2u5NE;OB;vlHXHL5@5wzH#!Yq zY?v+XBT$${iJQRy?0D2@m0}k7yF@Ebuwn5xm1qDlZzEc%^V0&Sy8IOy-k`N!2d9-{4L z+tp97di99U81^s3qa}t=?It4IZOiE(hC@S^Pq%{~6FI>j)2l*lW*v`P^pMY>lHcKx zoE4~7R2D}#K7__veL-tYTPC^>=7hy#@Hlffj6g*P{{n%**1`~^i`pi4;8Yij1L9xJ z6zkf~e1vsruEUewheYsxcE!)K;2deHEcE!l2ugRvq)YwyxT|AsM1=dyHPg4uD<<9Q zGknU(p+iKe>2t9f)zM4+91-eYie3j9XSks*{On~Mc1bGpZyYJJwzf?``@`D$LbX`F z({1#w^QFo>iXi;#su}VOK88obsF$@77B|15ALWxCUxL-Q?L-eV`DDlQ$*vE*#)mlQ zhvNG{=v-wo-#?^8TUp!m|1lmq_y08>I`K>K(7FH1c<97`$3y4l$3u_izWmClYtCrJ z1S+1VZ+GNkznchF{2RfF<*0Z~1n!or+qSQFKNFqz!9CJGE={WxLXeb{P@-{JCiql4 zePOPV>S?pXGg5CFaM3Jqxh!)v>7L7o19791bM?>vIGMA@R7nk-X5Ug3{ter&`uP$c zz@2u(7b`tFgfI^TQI6#M?`vOCBRyR%{%mjfh05i*IRE__L_#2Dg61Cs-zp0bWcr2` zp$dyk5mUGD0O>>1c8%R(y0PJ0!p@9BI%k{VLCVBy=!myEp;WexgCgn{^|CENIM{y& z@Lawkx=|~>2ky2{`vO+a<(E%+G)!$Ard!v@2fkQo7_I<~_5UGqQWt>m4!1KjpGP}I zWhq6nK-p8Jmh~I`jpI}IYNQ)=x{upAYRAxR#VQNQqvA#%8C9ZP(QRWOlHO{#zrlw3 z#j=Jsjjv@u8UnaovmclNmUI^~Au#o8gk*S`FuZP~p-t0}V3cmKLbmJrGWBody|{hr z^{d;>DwL^LyM##x6mOEff?UcLs2?KhCOG&e^^aryNaG%fFjR{ap;#5WUWz^j+e^eb za7wf<6Yyt064*dzpzcZe`f+L*t7CxT9$6NTAW*Z6hKy!JsNJ(=`@V~%q_;Jz6YiiLG`L7K4 zl0Yf~Z&3)&;O8M91vROuC#u+|sdZI8RP-4V(Fk6haaJUi74h9qWxa&)L9~d6?&rtt zM7=&X^eFnk#U%a^LjMcvIZV?aK|0P){P-+qZ}`fisEjC~4YmS$DqRXPb5$sP3LxgI zoPz_)FEW0@!jKSdZpcp9bvBVh+AD&@n$h4iAbCOrFFL4pkKQaQP2V5HhwZ&pbTO#T zGy_*eoWfKuzYUvW>w{qhFbOTMy+3xh+xs{Gs;4dZ`BKz25GMUYuRk2NhwXjzdG}6U z-f!xJ6c8T=q)GOs;%8JDrGFaBtQ*DaCHrU5W6kCB@)32|9wgB;ej-0k!sh%S37a!Z za-7JIlMdT^IZ*1yXSOsyhDY0{t3|IKT@)W?oDm1wgVf)SC5V8uh8b?OMO}p`_v5_f z90tBb)p3Bx3x@eH3@Y#e{50O_1dc`&nk-+oVA^0C!jgHyrRN7ppRX{+ev+ljNoe~ZNo`!@ zkmvyWB!tHBhJS_d#r7m*IX4|tK}Xj^Q2R-UTH8O`iNrH%qe`M70Cx-DpYhL+v%Sd^ z6{t=+l?EyybTf%J%?{SGowmw=b(zC@5OS_xyA!nx_`*t8VD7AJy4ZeBlXi^^%%$!V zD)=&+>r8Vlck|j~0@+mbDTfJu0nF#LeT~d!px0bLdafc>FYY~3HD`*fu&pP0aw63> zECRj<7B^+BM+;eZP*iu&XWa0Sr|i^-Hta|DC$S z@;<|d5f(?)qAebuET49EQHk5M4~p3Ts1feJg9YwU2YO@{hhD|Hx-*UVh08fDYu#w~c)~>dY0kh0^m;)qmUBTBD-wzmN_0LnYs$d~dQwIh^t zIE>m8RkL@bwGysLd1kw}qn{oT?he`zmYKwtv-B{-UfA)iUfd0N1lDr_Y-^v(Uz z9G!29Uu%)3E@_C^3ZO9bGyX;wY3Muw15C&g<^#qr!qs>}aC?+23&wc9?bz!08k9T$x7)=604 zUvc%N^Y^p#N#Z=)uud}jDoDilonkYA9b-o{6sgAO*4I)&_+#3>S&(L}AMAS7;&#&0D))wJb=N^3-qA!^Q9FqSw0%(x@vHR0?s} z4^te_AKIolt>|bBJ+-s(VklGIH~s;0h_Cv%%by^|3fZ6IsAtv%Y09u*u&L`)iyMWX z(=V7YX~87J_~3PkCfcnf&ArJ-YI$pDzYn{kt|o09Vn`G zfnuU+&>b>3nhIaE-3n3(F(NiwxLL-6p4`2ZN|iEqfwA$bw#4mGquthsynYhhmCtw4=2{h$@nGLS#SYm$^r8`dEr$ zlWiSPxjVSU%pT@4vp}&I0K& zKH1(o2?VPH_kMiRWp!@e4~g2TDpO&C9G!j;stQB10k1t(t>I@I01S@spnrOqJdTgk zMa5s4u9vQCUiI6Wwd>o?oVpRq4qV@ zjzjHy9FfL>cLEX7!_m)Qj((nf(()!+{)Lt|+ldZh&{@BiBHgvR9{^0M%!>cF&QM!b z;Hc8$U9}(V{UNv+^oQ-EESsU1GF?9DFgyf3=7gZj@DP=@Y3uAu? zzA#F_^4T3r#p@Fo(Iq&H5`Yn10x)`t_o)DAb=)Hrnr(H3TfsqF5p}NLhz~H$s`$$4 z*aWo<@++7G@+%W;JwGZ@<=4;3RQc6e)?Jlf`2yj>>kklK0s5aMdeZK_N-k8yvx$r( zP-Xc2yyB94SAyTS?K*kX$X3$^N2Zw%%&juKQAb~Kc5q-Hu8dHI=wnkfe#qjrU6wW_ z%ToA_QJ1q@6&7R#d=fxN+#@uW7-0<{%(v<@y>0oEv*QWXoZDlB3 z=Qg<_VPBUW0@V*G_ctqNDA~Zj^e|K2@Ol~L4AMAUM>P;As+y$nZ-3aKw|&R6@m;(5 z((ob|+4z1jNkO)rQ}nEG{pux4)&G+UlX&~_>({x}7<@qb$^Ce4tlsHLV>7jZbdp7{ zV2&}*#C3)WK+Rv~XA}KUjmofU4ZHX6KGaBi+Ptft1)FZ)z2<=z4XczHdUCl?7T02z zre&CGn<}YiP1IVO5uTiU-Jt6yUWB|lQPy3QX)qU8r>G}t4c59LFUvcGV+Fd7Li`ZT zS0#}r8-%aygeoE-hlu;dbbpKVaH7oC+bcLSpJ}DM4$WZ-+A46!LjXCBORLY=c1KGb zm^}LkBuQTgEEBnh=X$${-5<5RB2YXSaVb#Qzzq>%B+Y`iN`C&qLQ>x6DF~&f&Lo5! zDIAj=G^ff|$o2;Woz1eV85a2wGX4T{t3Qx7YX>KFtKCphREu%W^DhST8GQTIddung z;H&^;28WS}(3ARnF#hHe#k1w&5_?15{*fwha8bdWao?Pm$#o=SISlRt0YwR~{T#P3 zwK{90>OK<31SvtM(102qi_U}+tqYaaJ93E{|5v$0rCa~bCYspo!uT6YihZi~IPqk? z`P6MsPCkxml@2%hj$bIY+ox3&fzNlBkMOKR_;x$}&2X4xJIR~57S2J9+h9z0BYt!{ zE8R7}LZ#Z6uMfp9Iqi4NojCO_5*sW__R(sUiVM=AEG%fIDcm=L)|{Q5EydBiGx`o% zYPgaLTqJ|%)6Q2bgc+q-$-l;Bp7(szII|=x+@KK_fNlL*Wx4iNZ06l_r-!um?H$nC zINfiHAjLhibf{XUQ6Kj05|gg4$j%|fPPLP&AbWMEe)=g*Q<)0mh9++`>e$%@NShK% zrB1s31wl9My8e^gla0wG7RtR+pQNB9aW&YX^KpZ{LP=~aOv7BAKx`DO3M^(&{JD%w=`j~wke~l%8^04M(#ugG43HA&Cz#% zYFQ28pFXERQs6K!1vddF4yPWuA4pzl*$n%=^!k7`qk>4K-hInakshja8{zj3(pA{F z8#rOF!&3V)>>hk3&+&`Ge;h^j8>@!3)Khk3@seV*X|%qEEKMsfD(w$LIIkjV@s+0U z7NrC@-eGuHA6p|{WtOu_g0qTx3C^~hoGhnUq=O;!oG+*tu1q}mFJ&V9;@5K+<3pT4 z4u&|P_(v~>%ukI~4MtB#tG8m09hyw`z^*^W{!Qahnv9{Qpng6{fRQ{M`^aN>pV-iKHQrunyTYXB^u%u7A7WHlJ7coDJ*6k>+DI3n72LXdR9(&Ng%M89Y&C@NTLgI8L4X z-SIziE@`A3^x#Q6RV@2B8DP2hvfy8)uk=psee->f^_tmBo< z)#ONi)mMKjEmXD%BkCseKCa2gD$Vz-%J##KGXH3lRabYH3h#7|G7i6`3cn>b zigEA0b`(Q$pimgALZQ_xrPeLMCa2GPs{Dyudr!>LA+;kAJ#QXX4*HwH`}0$Gh|2GZ zIDm|TcZ->8w(@8e-wn#Yb8~#C7l+E8GsSWCw~hiV1^P-2cFKWz18d+JW{hjWo|Uv; zLzPQ1d{mmb?K?I`#^3zJ;y+0}vRI()u3G%^kcd)9Sj|3`?bsB%tD{vx&@=@!O#w~a z?OrHkH6a09;K|}#X*Aqf0G>6pOQ5KPn*4f8G&MW1hl_2qlqw!)3He`jEpM~pt=f(o z(#fc%t3JIg3Axxi)-(lZ*H7s7TPs5urVU^PkY5&QvH!YqWlws%aq$KHoCQCI%r^EO z*?Nk

5}5S=a9Fy%dk+>~SXDIHwVf+s_JGq*$oY^{iALlc-#-g&PK~`7WdVbZ;ZJfzl-&}l+h-&s0(?gg&Lhh6YW zBrbET|1KxhP7_ycSX>3Qipi6x<^h^x_e|o{fZMuifuZfMY{%uvQw`8WuiDAoImXA1Eom5 zeKYRLQCu>8LvObaQtG{gOVc*%?@})%!Q+BJ?XkpLbHAoaHeY5^d^PO^X2PG9@Mmj$ zM*jEn+^@-`)YIrn@*$fP?E0&+%1zm-Y}U6Gur&m-Zb~2`h$+~%xh@-t#KJn7IXAT{ zmsNVDlJ6nh+9>8A4d%P#c&l}%e#R-yqIsjIeUx7OtCQ?2EqN?^!s=A$(W#M9+8VH9 z(3Vlg-NX8CY-?aOD=-f@)fIomic!r!pTynVXY$>u={BS3$Zm!bJT33*Y~TxzeAZ|?sqE0N)=Dua52WO5-?ez=He<+?MT3WU>R4Ha5v_JAjA)?A?YS~sZ;`c@ zh@9IAu``3Wsq{?gwznm+*>`0wmADNJF=oJ8HNMs6`95h9k|Ha!7wE&IRYzvCC&cRIlJyWuI6n<~2r$X#!4Vx|KyhBe??-SJJw0o|ZlG28yBQ>^*$HU9Xw=4sae77Jo zcG9+e$4_}?^*Z0c$f9hqf>{aC(;(s0kwM*i4eZ~=#QF)ia7^i?KNB6$vsXYsCleb- zy#-zOg=ZB1Gp;e|ZgfM5*R!@|FhE6F2{==frUnn*9J>)|>aj=TJ*??CtU>pxuStA! znKV=?J$eBQPb#r`KQ^Dep!t5bSTl0azhEoPg3eYyEC{G6F@8XH%KX!C z>^Hj|zO0|oOEWbhIwa9Rt;3)aYHXr?erz9xcve&Pb>Bh1{yN#HtD`ohCU|M%FPg%( z@Rv;1P%15^1sZRGU18}OGW%(DtXe3@SLD+yR|!Es08<*N8DjwrAqGHZ%%m&% zw@4?`!3JiejqWPE%DVmM?H2b+nOLY`X2Na$cF(8qvPdDW>&`cgVa8_S~t_g5T;jGDVg2%U!_0?PuSUDQ5xwbJW`-lrE=SlQSqW(@kliwA1f7t~uJb!?vc#9$%|l z*_!ENsmMeV6`GtD)ZVjG*RgoDD?F;daZFE5ugvQc9vG;|pK-6AHQmF${oTY0Ztt}z z)iX8rU|#m=DI+4F{t&UxhJan>fVoy;>7KUD=t?7PAy~#*-Or28xaOFZZ}4p$7@D~Z zf~v3rD;@YZxfyA%AKR;CCDP#l)rs1l!vhQzc%fG34=?v1_svRzG$0rJikDoL+hR2* z@elTwwt^JKhS~-q1MZ5@%iU1V`dS)5smf9POEy=7k1j}9J_fHmfPGe?-Dv^u8Ek?B z&nC?&fmQ)T8~)(O80JPZU(;OV{;touHK1-9U1c!X24%b3Ep+NF&~&yB8P&IIvIX*| zsnn58)no~55^bmHw2yOkclM)(b3am(q`TckBlI|({iR|3((2D=@}9f9C{h$8h@I4q`Ji`0eZj0zL}>J zw?~B=mrYt8{M)P@ON*`fW!bXzrbO+J%aG^ClS*s<>~f-7K;Wz~0miMvG`k`X{d&ld z8Zo?!X*|T>p{s@)>i7k=H_^PQ`ia4VW(+X&AG!C)(WAT4_J=Q;v&+;|JAcvK`SUT6 z0rV_^wj{X5oS~)3ZZXQv(+H_&#ZDkMiZgr6`%FSVBkua(Y1~S9IDYZ-2(zbjfhu0Q zPXZNcah+8+vDp-=R6?qMA=_SDPX}qb7EUO>ty>1R0;lT+z!V_zMCaDxbO*0DU@yRL zdWgujL5OVoq?mS?^J~&TKLpx65_He6itdNa|G4xIarwu^E5wD4Wp6i2%3+v$%v2oq zeI=R|NAQgxDfO(yZB2!RtXBwoI;4cx(qdx;^6)ql`#XLA3+-4zrHWFF?G{h*0b)MQ zK=N6>iZ7z7C^Q;BUh`q^vqfT z53>~CENR+9kDo*-_E&MY{5k?w- z_8cwmiuXKL$#+G1fKeNWQClTnU20Zx5tB7MlVY>nluVB-Yad$^VFBx5(BG1i7L1I^B z*HEjQ8#P|iOuh;-U8zf?8+^ezg}4Yeg9IB&-*!$`RwToXl77pe-?DJ>74pawq*<9- zYO#uH!d}tIll)i}`i8YxWlU<@L(5t%z*Ak?rL5~xL}^xpv8vsILQ=xAWIdBtvhN;H z4Ns~@;$tea(wJdep;uOD$+VD)RAtpYS!MQBC02T&QTL;~5GV519GPCg$z}$wWPN{5qn;vUYH%7R4&UVrhoNfj|&zab!TZ>39Zo&Rfc1Fz!iYG@t|76p@7y zvu?2V$&yj}zyZba0TNz8`E4P1i|cpt&FgQwOnL#?af@uEH0*;UaF@IGHU6&Ltc#=_48r^dSd{8$lN8BPGKV4 zvH@MX#UIUhf|RsR2#++Bzxy7zKQd;()(B z?9;MYzt$YE8kFjYPc=hrzc-oIBfbTZmpWvD($M!QZ{m2qrW*Y!4Qc=$Q)};-A%g8_rR5>7v1O& zK<|fVC49(_TC?x4t&U;EYPYY^+mt*)bMM%#!*>i+`w>LTqU%iTPG`C+u!;+qz`kb{ z47F=U-wQBx8mlRtNE(0o#^B5sqNX;Po1co~eQJ(u9LI&u(ug!y>TIDWut;?Fu+S}G zN92Xgcw41#LNBH3qorys&ap~99e$kL)kr_njx^h9fAZ4mD0d;xD04NPHfAim zE|SrrEIlv9DAt8~;9r6~aTX3|KTsu{Y|WS_yz~0aF)^cn%W97LILuXyI-;cetRr_; zlza^71zGuW@N8~JEuY}3Q-vzL0dehEiwem1R^6nVgOwPYMhR)IkIz$PmfKkmyhPHD zVl_Jjl2|M@F*ZS9rEAt;Lb>F|FQ%9-Cqk6ya`q2+MLajbI+-BoZvK=4i6Wr@D=p+scuxm{dqP$JP+O0OQnq-Ywm06b&B;u z!kavv;-(xEx{+WzL94Z&tgpp33llUs7bagRF&-k-YH~32=dleTv3-wI%PU3GsJ=2_lSUZ4z*H~){YykURqw67F5B;-Ekky!q z;J^TA1I-@E0xeRmXcEFUhs7B7rw$TYjUC-$oCylik+ya07pn{61$9gS0$B-k5G&aQ z=ih2Il(#(lt3;o_Syna>?w!DT(?P9n7W*poI`aLb&{}@(V}#u>1O|Nv-#E(KN=c3Q zR;!Bw4g=L=FC4>gg7<)fPdi9vDS3dc)#aayWe!qPel#L<5Z{LewVl~+X(1{;oEfxb ze;JtY!qfTcROxfRRCb|}i3ds4X8)YL`RL|CECuJO3Q8%GL0f}e|FrOPmTCc*kG+qD z9tqnbvo_)>E#2|H%+16mSnzHKRcw{XYBg;?EjSP^l^+r~aTyEZgW?i-5>ibF7a(lI zAR=*rYoU{zpVJS1Ko-O-uE2VylL5iKS|p={j77sD;nI7bHy&5dk+u*?|6rhdpG=Wk zOIHZ+7tp}<>gKr;?EMMJ3jtFm}6ir^AwU!%5-zi0TGu!HS6@iZQ z`XdPt5ohELb^cZ^2inP-*X#7I7No&!jRIl!OZ730zuK)KQ=)wnQ9 z1=8zXWnS*6x!QUHE=R5H+07hM5r3|Qx5%>GM3YoZ+<4xIMD+YYP-4Z95HJEv6yn%3 z?0sH?fhsAtaD)W%?Q#zX0(PeQfHF24@`HrrdpR7G%^jd1N=WvQ5V5`ZdAM>SGBcgK z3SIBkROLvD6uT9|P%0Hyj)Te{M=2(ks@XuU3|A!nl& z#+$5ofNK-<#8MV5v}$RAUCZyy2M{UU0jsf2XL5t|nU{=z-6PXzM+T`O6cLKHv;LeQ zjZ0Ex&{|}mah^+|iKt8_=JQJ-DKN=bD~*FB+HwJ_!916;iA#~_pb{%Z?S3l6<eOMx@e)T>n)r((!W=qLH&9F_F@ubJYC~<36Tr~Xi*x=z_G&%x$y|)v|F`})qtbz zXBGUZo%)XonU3FMPquGO_+-%vaMG^KQ!`=-=?T$+ct;8J)Y#Kp2E zjSJD6*f;uAL7Gk9D7CcG3HD8z7C+kIMDSJyAXDx_R#wAS{uJ1uqhX#v1wEn;?6|v% zI{y4;Q5t3|EqofU^zXovPorAs8$@EWY`4Q6*93o&iXi;_mU%=5u7E)c9>Xub3$B3k zWlh_N>>*DKx^8gx25IShSO&`Yg)QomWp^Ykv~YLJ6UxhK@RUc`%S*lb8CE@KeHy5m z_5$HDKTsx}b7)udKe;)R59oHMvGF_oYPs=Z^Pr#|{B0n2{s`r8ZpH|>Ez&SSYGNC} z-*vjLU4U_rHqB?h1o(L`Eu>3?3|apL7SN@$N~5z<>?M!00^FqGiQa`>nP$%5+#1wk*aXvdGz~3?7HMo(3F$g=iV|ov& z2-)fj@J#z}v5L%#x1@m}b)d>r{%N)j{^T#f{Q1G~%5R*dv4`*AW62uXe}VNff&06S zJfl=PL&M;Rc#eiz+NRTpa~KpmS&+TJLL;{eRP7n=EG4L9Irw4gQ&o>ZsQ;G!5D9IApcn+BEQ$b&?9Z9bmOq z2Kd+ppv{0b_-8Wzg)VH?3WBaaR#n@M`FIsbC4?05E9pwda^iW5+BkX)S23eD&|cLg zS2&<&xm|i9Vn=~Q*TF}y*oJcfO21v~$X~FM&bU%53$H}2Pz%r87N-s@s0-CX&1z~* z?Y-SSI{A<4ikGzZaDdaZ9&-wziJb?J*Tv>eCx-{orX(uo;O1U1(eU(C&B4$;1*yMn z071hcq-Ec~?}v;7&{xu6b{Pr~@b}hy{+9YHeQ=c-{N^vNfjCLsQ~M>sKar2rRtwF} zl5T+;DU`OdQ0gV%owe-yxM|+^H?yyd&^8SA;TO$OY%7iO(JJLZA}*SPN&E{=ZL0el zTmfs$g9b02I-GGudK^ler+;uS_IjkL+fGfp;qAxy8A>(0_xdLjEsAH0gokUhpf@w5 zpPtnIpeb>e=KQc$@f8fLNmay$7G?4a3}r2ouKIh3YO=l!^Ym0R4<{31fT|%LxJmg| zeOnJRB~8$rjX1Ld59A7#8r9aC*uuWFNGSbN1E_vFwBK`fgsIykP2(f?10NU=O*B`W zCAJTHEYfMXVO{~v;lkD3snNF$j}G=IV`57zv_VTh^uEBpuiI{D+kr;vPqSm$Y@W`u z2#5fte}LqHJM(h0?x0wQ9xnI6v2vcvSB*G9fKBHYUr2Q;GXqCC-+DLD62?eLC)@;dN9? z)_$>xwOc%_W+lUvF>8ODVd^_VGi}S!ap?vfo|OlOw>?IUf?Z#L$1QFzJZLb~p(%K! zuj4uPwFx!aQukx5J2mowV`GtiR0M24#JNDo$T!bZP?0$gky`@P1tFRg7LtuO>ICF@ z3(?%fWskzBJ>Ijl*T5B-t#>TuXp|lTE5^ELbOXf7p_zf)h6!JoL%0Y|^*Ape zxnn8KiA|d~M;m@WIZW^wJ=S{)zX%!`u@*{SXsLBZFw$rkh6f(@fcYcwVG|ik^d2tKBlw7A+auU1Q(E zOj_Kr1yO7MI-fg^RfRDA9f+U^li=Ne>k@u#l-fXImfQR^|^5?r-vsJ7o z3&W)uR=g06MIAqA@LOQ~;%dwX z2>V@KjLkE&43*W5&NhU<4yqdxno6ztNy)oEVcC#|y?te>9=mAgb zGe05{(icDPw?ro4>TOg{dh#HvItx7SNX4q^pX{(L=gV18LKY%M_;LgS zG}0pJ5F(e4^Dch2*$^1q7ea)3DWqsMH4+ZKcNEx*xd8?o$fTL#)O-gre$#A>#!&pD>F|6vHh4z5RXu{ z<|WI$2}&7_&YCIv7dOW+zhPwXdt;tbeyK{8!BK_Mp*Bndb2X%<{#PC#$_ z{h!(J-gfPoU1KZmKq)&T5-xbYYMz3-lhmRy(;3+ba5^h>ttpi>vMNeTeV#V=_=#&q zNx76X(5rdR0m$d@dYi3~zEbxyaBXTt6|{ey?pnHR_fC~?vdME3m9{5blQU^C4-A;A ze{^wA$}v;_a82K#U4vQ~>UZ6qmX^5pQFWVo;1yz=iV|K28{Z|sd@=HpFPspV~} z^~oly(Xr}m!WsG_iI$yqS6ox4rQ)iyh)saX_5NKd`nva(YTJ;sFKx%s#4DbEx5!`x zs{8cy9%)RPsL9xWV#g^%PGVs5hMfZ&nf!ZPM>NN)GrpC}cWupFeLL?>A7kn|S<^To zx8GyK|L7Htn^U%BMD}U5Zco~xY{SlD z7NlmlJ4;Ra3bW>|-E304;T#;0?|0o~na^@Oz_V*{F{#<_OJV5VKF>TF&aGJ%I%1*2 zP;Fx;)U#wQD;`yg3g5OIyBlw8vi?-JKMc7S;;u)-_k+Qg19uF#Bqh|E=-aWWq1mvL zROFu6e8_3~#zZj?+u}HGZOlDXLEqv8t>U=V`pAJ}bB<%P0Aa>_6-O0bU_QK4q`N0J z8|r}PlaEcII}U8todz~{F2>yeHqF{-mrvO+b@!q|QgcoZ6R_A8pQfh4uJBWjJqM*_ zmI!}_ramkOV$9`MWHcrhtkUbmL(_9A_f(wis9q4~X;TXwgLtAx{R-4nJyY3cw7JUL zEKSx|>8Um<|5Rj)ap(jg@`}qSXpz5TSSX14A7lNglUCP43>5!g($w^IWPoX%>V7n9 zRw~^-&o>LmyX8rfMP24)4vr9&Xtm;<;UH&^J_2rHW z%p%P zM^WCIZufT`V*ne&C7(D5{GytXy_$nmA5cwL6ru6hPK+o zdkOotnQUIHlpj5SQ1LyKgpgL1Vi((cJ%8qO{81~2(Q!3Vkv!IrhH{(#H6=rv(!uc+++bgq9 z>7R5tU;9_1ly`Ieamx+QH+3$uB9-d)^B!f48K_C!lXmd3;g)$oW3Mhf%9_ga9dQ2TQ z(v(1}HT*5}Cqffj8BMy77?HBuYh<))@%oA#<{plnZ zC|B-wgS;2FZsi$u5p(%_<*xDPl`h$M@A{>l)yZQ$sry1BwOtO6EI(@DN!2URK$sWX zLW9zoH8*0fI*$137Pw2A7MbX~3*?0;?2A6- zi`4u|p?lHvT{M;SB-a*?S$S5aewk^rjIsSSk^9b?Um9K|wDkgW{V<_yS5v93ZR)IG zjSA`7&C8&DDYPZcUFmebC-?t2jGKBf(q5vk?)hD+vKc4hpW6~n-teS?<>9_wxqAOr z!;EqLG-q~Z#@sdB%jsUfUXuaL!!)wf0nSjSdp&A5YStAop3Sne7McbQ)l~fLi7&Yu zbd9ksbio1$c2&NE4*n}#-@B;%6d>3HTYrr|-nD0Yz)unMTEkvzb=BsY=|QT>PMxt# z!>~+?Q-Q}&b8&9cckCH7bcE^ndv0oMD~+_GCn8ezm<^9}+JKw9D>UKdc`>_$gvrpi!%V?@w5cDs^P z=`}J(`myLzn8}*enjF71#1wr*;|qq$fw}q`bZfm#O~{TyFim zyxY0YG3{OJEkih7JNaDP{bvu7>bGbcP`x7dl6Q^wi^GFuwytpuWk*NKjrCo{|Es#| z>cvpG$SvZER&cx79+M+B*2lg)6VruOjuD0-ePF%ya$FmcE$N>qQpYwji=*9FWZFZ! z^=$MKnXRZ7Mb#pwiS-)68dYznT+c^j{~thhT?p!X|C{>I{bCHKKGZ?I2Z&#{&_Pfx zCn%K4_m6R>RWXoB!f2&OtNuJYoN)Uro&1 zD3JPLFaMRUM^ko8B(j^&7TJ2b6ia1~lJTfJ#m0|}l^#YY)kXtprA;)g3eFKJcP-GQ zYwKmDzb}GEmeN1e?Z_k7NXmtCi*o-SwBe#@!Z^(t`2euDw!9+8A_#E>T{}wEj!qNl z+5~w}!Bc4y0{V0w)1|xLo)a<2d(VJrmQs#Iq?}1I>#9@&HLw3ojZ(=$jY`WQ`dR6z z_aa*$#KFZ&d-fb)2!zq;bLy1J4(gQ3oI0f}r*4a=%vNby7o8(2)j2^*B@lE_B}nPW z3F;i25bO@3Fh^-L)LQQzvQ2CNX+|j)#7SvqWNCv+;4he*-PT|9Y!v4_rP5KV4%SmD zO^^qJ%<%zzJC9b$jCGQ!l(UFRxk<8Z{-z-7pkP<{OWty0V|LBQg{)R+%mi4n{||fb z0T4yfwF`I8&^<5>12PQij5C7)F|S!%T?6Kv6Xu+Az_f~SUDIpUbKGlP+yZi3@z4yD{{r>;I|3#mg4%JnsPMyl9PF-4oJ!~gnk2Q(( z30M0aLavQFG)t-8`(y}=WSiw05_?fx#h>4M<(Z!$a(~v*EN$}8h`O~04gAs9aB3=d z_+Y@=7PcX2;GPHhR#Eu3kd| zfBOmjr4v&41tF`0$oY$leVorFk-lN3g*2KsZO)NL8WI%(&2<00SDyMAqV{DS1KqeR-eq$>=krct_o1Knq*jOo#4aqqd5?qSumShb5>rsveJ+WZ}Tk9_|beQ(U47js6G7C!1=K8B}z(eGhV3&Rgww+Xnb1y9qBukOe z!Ix%SBEv4uKz7`q*>Qtr#|@AZWVW5IR6p?Vhtpeb6u=(Rjc7e?dnj?+M@d4ZV6rc* z4kR|T%zmMbEcqH>-VKoWw(~zDG55w763gPrpz-8=jVFV~lSkw6vyvOUGLY0dpMP-) zSP&jc=6#Li?G}^j=4 z6eGwE(usXaI?2&_-k}K(47?IHHptt1%$T7=g2slUE*-t$ElGRJ-nuToW%ATqf7^#Q z@3o;nDs#)tx$L7v`P1*SVa0C){KTfm+=oBc*tflTqN}NidE1vK+M3c=Ds$xxF#1&B z!@f$Ezak4U)AC~{{?lk1tUhA#$Xw;X0_d^ZurDzK)Tnf%rjuxs%!{@*oys2Z=}8~JBTCfrm&stR zDoks`BfTV)_)!wUWyGq)wi`Z}u41(JT`cj8!|W6pp}Ee#xp@5YaYM3y(zy~X(bS5s z*|_Pj=IA_4=VDIXxO7{Wk~FGu%_h?aPBr$KG;3HR?M88gCiVkPf`U1GEcspiz@CjG zp0RS0YTB&n?H0>#tfT3}*B&{0*la_m37scZ){2_E9&evLxt!^580N?IozZhddtJxQ zAweIl$s8Zfow|b`B-_1=>Y6x4eZV5iUX||D)V5|eliHJ@p3<& z4FUn?-kWogZO*CJ`y{HLq?YBJI%TW*O}2gnq~U}qRBpN}iGz6>!~t{2qM=7Td&^W# zeyfKDJv`X;fP|Q}(_%{9W7t>NJ6W%^wI({IF28!o+Brt?h+?tt#F>Ucieu}3nLS%8 zo>k1-y?U47bxeP9jNiNF)B@NHJh1h|uUgfYFpA^lS7;F8FZ_}%vkomZELgO5#!{_# ztbgCvik*A59Wj!#isO5ZAKPrWs+hUr{5~T&qBypA%Nj#nq)0b5rnFuR`~0T-`B)7R zV)~cXi;fY6-`|wnlwZLc`_eh;4br(Fw5C;43RalUvHlPTRxeKbFau05dl zSV=3YuZiU!i{%UvC%BfxekjotX)(d#a*s5P%78Xdxi6oRCJAc)#}hP9NV#b2=1^-% zr5*&6DXs=}%D_2X^!N9~rlO0ss<(*1?G36BWvE`PN!BEQnY{cKS)(!W31*(hix7Q? zK2+a2(NuvAGEJ5TkyDxp3bOH_a;DgkUTr!E!<+PN0^X8aWR=EWA#OUPG)*RL>E*^l z=u=#gJ|`Q$`Mm650@?KKS1K`fLjg)CwqZQ23PUDETtOH2BZ~ZQuCaO2w7;+#8Si{E zDJltTH%_H9GL`r>lw=~RmyoRS)e5aI8MXgy)BdM8FRiHZQ&?gfV*L_*teZ(-uG3p( zWlr6@S`vCAg>$hdbmZ5MX@?J=f`k%IJ*u#CHEa?xx2#IWxEDA-qUJRYmC>gjB~hp% z2UQ(ZVojAfRAsKJG9x$ee}D>q{%hkgmg`PD>9I{KLe=-F3X29BwBL=WJGO-m>ekSB zffjew94M=_y8nD?-B9Swj(OG?i?drRsxRdacUOpmmS9NfB{tJyS-%_(-RZj2P&4!` zbUcc-5$<}(J6lzw6*o*xZm=QHB*H?>DbZfzPh|X^;*h6ju#@t~!L26`f+lejMa;S@ zvriAWb*RFGd!0jTY_=t~6Hq6KRhKouCS4t5EDu{=EBP7{Z0hdqnEg(h7n@(S)1a!k zB5vA(BQUFhf1e@|}5oP;lp8ZHeOq1-?LZ8&|H_utK-ocl~-_Bi1z(>e{}dlS1UDwW%sPX+_6$ zH^NOdi1z-}Ke17)-?e-FZrzTZ8#eARigG;d=Lh|H*NX&(b_S4#vhq#Xy4v%#_bet?&%9lFX=7?>^*wQc(0@1 zDX%-+k<)tu0<}TQ0_OV}?%bLDTZi`C(P`uNj?|4D_v4%yMpz;8({$<|dpA8gHaR)E zPn)*=dtv9$^fmE4<4v#Pdyr;g(|G5bcSzmP(HDr-TYilI6Qn( zU;5SUo{uNLS#4W0G*5vDNY%~x@hIHpUgWt(ecU%aES#`g4dO2PQe=*MA5YVgLFVxq z@{58fX2eeWLHm8zF(SL(pqjNIBrJ~P#61Weo$s8ON?y@v;SZ+3(ni?J9*cGB554JX z&b!g1k2tu@3bN?f&HT2r4(_&Qi2a+q3f@7thHJKc9} zZ@*Z~NhFjC`x>z7!em<*0f$MQ5GZPlN$%vF==B zFMiP|?%pzf$;QQ-mKYk*JEFj*Fn{cna3M`~n5~hHA67y1yWB7xi6XOOS+Y1;?k85! z%=8PwnSKw_ai*WC9jO{6R=uytISb>mr>SvSY#ly0bM&5Zx;lNRaoIL>4`>H^DB$op zR&$pVHjv%}qDbZI1zcLQE2urFSlg4sdL8&!_)2(jo6lSTxzHh`cCm+OUn7UBwMx5MSYuf zapb2nQD?~7>r`=h2PV_vVl4&v4=p{>1*1`;H&5B^r8Pn-95g z`cl01UH5CE!L!eznS%^|L%5@tB7V89dmB8lQ{T~}2aLl;Cw|pb4$3F97tdNWXQ8cF zp5Ev4<0i};*+*ODR&P@6b|}S!Zs*nd)~iAMQ0U4%N6=K2?FXpgf6Dh%u3xvkJ_j7+@y6 z4JOo^?1&n&fNT%G5kmIIIH%qGExtEZCc0wklAxKeeD<1IL&xv$XJ2jZ+;wZ_81LRc z8MQgymedS}Zk$+~Uw3%T!PQ81ix9CFKkMq$ixJwyh^sfFVo^+D?5J+*>>he=-gPH z|Aig<&KYseCXV*R8JpxLrgdkNO&Za#*jqFh#QJ1CPnHmti%?+89?QK@NOxDQcVt2b z7zFJxgBz@fKgBipdL^D9vlV2RUmi7EU-Ih$dVZSHp6uxu24&3eb{oVDMd)shq$r5z%24cHP{Bhg_0Xa$jYd810fT<-MSDDgQL=T2B zD|+5r)u`c6u860)v$Io)JeiEUPJCmjU7Hp-IyRN;eTFI`GhN>ZdrVbEWTAR!erfMd zZK;(etNE!Z*gd|UZXdUgLJaLYiR~p50$)u|eNvLE8gl=>;z44&hD`>vYGzdL&M(~} zf`9V6IQ6T;VNrI**y_l5oG+Gi{YYF)_=3@A4Su2ArAd8Gcdbf3jW1?L z(bK~QO>W(Dz>(;IhB-Jr>`L;?2iP(JChm=Y0hxRutzEFlAT|29;$^XR+fny=wjF)X z+yH4Ii;o4g)lGqKhKf`B&T{TM>AE;j|M*almLYli#^u%iOuzW&>J!8hY?#jCh~!rtl&s zxZDE?FAKFtemc7Pu;E>>sN~goKOXlvIv3>tc4EX@Qh|CHMFL`+A0+t4p)iG;x+Q2P zep8s{tXnhJn4WneI!SwY-GQ|S45VR{*pZ)kV@&vUT7qsxU!x@`kd~m1f$el2-?y&Q zEnvv0KE}EOh%LX>=N}8^Y1K=+PVM(yeZ&4CoH~5x*^q6g<1fvP)1434vG1&r9-U^| zosf!U100>U4|S~RE{;sYE>1Wko(&iPL~;i7PqrAfHQqgvp%h;ua6G z1xh2i*xxE1;A_H58$O?UVMdd3{HczdSZ@?*i_xTbo4di|te+xm#4ExEXRH(4=1A)h zu`Yiqh5IzZl^o=E&0IW&6My7QS*~yw2kkn^p~s*OH?I>5G_|k+7wW=fCv=BBtk=Wt$}e8U3aM3IrYO1 zVI8&%5GQ26j2yhiCYwA^^bTrF9@pp=RoKR7NG5xeWI@A()P{N*6d~=2!>EhsIygWj z)PCeBD4fx2`;d`%=K$jY4v5g^UUqiO^Or1Hg~8`4Q&mmu%icT=Lh?n(F$kHoLE>Yx z=}2`VjLRp6v&keHF=O&RI$VrKn_y$TP>Efw@3Tmh+~fie;ms5=@24H?B-(RgJ8$B_ zPw2vlGVe^jZ}rm)lZib?I)sZgdH+O^QQ36NhmAHhlbdEpLm6{3WU`ln+!Y6lcf~;* zwtiXt{02Y2NrNF%GnjEmQ;2uTAaWOD^}Fyg^hOMOi`K_4n07jEu10{O5?l>~awJ&kSHgT*}xbkAUc=BuL)5-jJpLpk6BpOrL**K%h zZwlwLc=qCPI`ybxz53A9^W34mNB0F>_ZxjxcjDLWyRf~Ew^5Jso5(F%JbTHwV!hSJ z{s5i&P?@J~@PxrPS#xR6CFeww6AJzls7T~#TFz*&%oxIN+IQ`;L47DJv`?b$>4}$H zjidOri-rw0sGsy3b-kxf)tN-cv!=mua?=hIqcL~uVR97P$MLFQ(leUOy2f6*hNVS0 zd24E*xi(`$SSww_PHpSgPivF;=)$GQ6R=ouVZ>cscGA6u zP8-rgH+0~+^z_Kz!V>%j_d01L2R3P151QoNYg$;$EJOV9laV)d;a8`$rbdTh9(fkF zkHeP&6jQh<7ksY7Xwg|7rx`Q;mt)h6Fkg|(of&^{NI$JejT~bMra){F{gI7! zejD#|L!I&#b#d^gmE7=6b7xP|Et$7<`$FTAq1^Hlfh$kx68wWweln_`j455kU0Qea z_&MF)<7-y!H|`7LcF!EMW2R1>(rv=f9{<2hE|0~zr#IOsRCKBGOYxc>Bsg9nmiKRo zvr;hbukwym!-8O=cUWSsBC14RQJ{Yk9>iHxo!g-g;h|XP3>1hpmddg4J+LLRX=r%Zu ze<3DuY1rvodYYpKss_c6gCXuy; zvkuLHL8l$tH*ES9rX}JOi(%2ps%NsV@w8U`TIxKNSs%){jZjqGa8mBPHm^kYAKK0yJkk&_hC6#Q{^$+eyM$h1hv`3$UOU}* z&!^Kx^w}#?jd#)6XsUKj)3{B&Dh<0NK7R8w^Uc$w&fnw6;hW092v~#hk067u;_$Y> zaC>F>@%Ur^6!qk@1@TBfSR<7;!l!`eJzW)zIO64A0FyHNPs!hHFZdsmV=c=-1C9 z>6JPxKNMkfWXi(G{}RT);eQRI*!5Rsm1{~;;@WTI(EbBQgkDE1QIVm;`a*!KZip1k$2PwXv3YunQ#=`B`2`^JAs2 z3>OK1*7@>zQZtn74<+@_s~<;}9wu`%#7As_L#~IwRzwG^AukZ86Hl=b8G0>d&xt6* zvNPOV?_odo)j>YpFh$ZAwqt5z#-uBZ$5avPhy%P9h_0T)*965HiAM2eDPhGLJqGwp z9ctJ=jyn|)zW=K3?eQ*kjN9iA+uKLisMb_>BTl#b;ab1fsqtq5{0*RD=$73hlXOJ4 zi*$)GiYtd`;9CbkJy7=6rE8OK z1to@E`*GwEL)0-YY|5a^9=cjJJ5(QVWYkF?qdND;Ma!p7)K<+LM7TAE*mX(ETWdRX z9MiSm(8Hla4I@T#ql0dF=jhahF9>&ysGu2y9!5D$=i_3HDWshC_|6l1e=)2)d}i$# z-SxD&t!MhqSo9+*z;3Jkb7IN+xEKCxSU^FlX>q^@J()-*<>|#qIDxZ1^pM9GN_+gQ z!L)!oHVgES#K;Z1&U#?XZG;f@AyiSLr@JwG|-K6jXhAs!VVe@;>7@}*} zD1pcxU(GHFh+EeC1hqeQXIk5U#yaskFK9Q|NK~9B2SQ1|u(u#1khF^=v#(-#5u{8a z6G6&E5K~4<_w^bGdNq*J9eNu$Oc{i910il8q&JR_bQ8N9%=5_tjd@5U4D#41O2n4j zbsm;j+Hp5_2VcLXP3?R42ZOlE1}$(uqUEpnkL^ET#%OG*e_)yrv%!Zn2^}8hOd5od z%3)+&n0f>b#H^zU6ITw+6<3Fm)!3J3QiW=oh`pMUUR)P3AdF1s)#o0I?YKbxF=7#? zhmioxcdAX%SL3g;R|3)_QO`b& zl|L0-HL)M{bnd?qefC6O-=>$jHu?eLPh>Tkk=D25q%}NYQks;H7t5QbcQsEJEA${0 z;3WrVeJG>ZJJ_;wO-_bIYsSnz3caf;if4~ANV7ui{SlE}IuGvG)?nVD=zL+q%~Ju} zcb$;5v=+`^vqZPDRH-?8aK<370b;p6UPj`lxOCL-ENZz`gl0CTquL_&wlsEFNGP9x zz5Fui$K=%2>?Bs`PAWkCjQ(I$N;l`{ONL>vFWEcwfn*(~bd%}CHNE-W6^&`E`961} zbVvvDGu}MK^qd=j-O7CF5mV&|{qV!&$FpRDGqV4=)Qxg0)(j4eo0_P5m2fubg7NTN zZrHF+6Fp!duQDlz^NOpZgI$h%N9q#>mI3M*&0aitP8w<=$MpQIv#v|8DTAQ1RgOGI z5tfx|Z=&fAF%40V3L)39JcKUb59AG+`Zru06j)8Q(UPlH>enet9bU8IA*zuq9x8RH zp;VPR9z?Q>cY*|4sPNjvmA$u9~Y?&uX?;pRX4u z!-T3_befEhoWqo6tL4qX;(2O$^Aap?4z7+jwJ)<`E(w;4xl0hn$P3QmL2Ao0Qp_ub zEl(>s!DPK$MAOv__ubC1G!D5qgj$wWnR294mqhyn^{8Hv=ojO(C6#G&1S>M&$r!AL zMTY%y;;7Mjc!LUtILp{09g-sc@H_j&AHY5slxAxs$m`M*OsGNX`U}_wp>natPkL%r zR{tw2_6n1Wy|yTE_K}s2X7tD-7=Zqg3h7`G^4ld=3?ZxKaDLN})tAK8yeeM#TH?BS zRT6rb!n)SxoO6ycBL{t@zet9>h;$ExzVPCL2@jC;Hzhm0L44gyt#n-m4ey(CiPUx&P=7nQxYraf^(F z>F%0f*PT)b4t&akC9x6jQcL94`%5X_Q#dJv|L#z_{ND|0D zv88TVMns0mBe!6C0A&Wmj8HKXf1-kRaWOTeI+#@YR?bX?$gk^xa&3a8;(4)+2AlRnm#Kh{7a}l#aVCK83g0^l)48j`eI? zybKq8=)ty0kn?a@n7!o(S+5qtnmO`bE;3&a$y1fO<6#9nG*|d~03Ll9e}Qd*Qqkb| z6Yo@|Rr8f*MoOKhc#IxZHyELNBJ}&xIdv-Y67l=D5>LhNHSup@hHk}9)Bc^L)6Shc zd2#Meh2c;$i@n_jdm&nxEJWMeC)+!e>NNps=9P?Lnbyp7<{Fd3>e<$8A9g%DmtDXf zV$;}{G8fr*vL9sQWiw<8WXELwviq_uS)q)`EOLe1LtaPTRNh8DP`+G#L;ggbD=)UG zW;4O&q|F7c9@m9C$A!Vln38YEH|KlsL;0=zN0?$5rWmc*t2kk+u$^c-$2P(Cqg@}n zt#-TZ_Sqe>JBEWC9F*mhu1dYKva*))2W1y!Pvv0cbmbiErr)YeRz6f_DW55em7jzr z!uP^ZVX|;Y@DnnG5B6&N3iclM&F$OU_qLyG?_>Xy{SNyB_Q&im*(cg(+P|>RvoFB3 zhP^`t2fag8hq?}44*ea5IgE3d?Xc2eyTf6J-yAMDL^&in+;e!~@Yo?&WusE7Dypif z>Z%&3JXJraI;wiA`l*JfW~h8rD^#0RJ5+mAXH|i!Fjbr?S(UEJROPEaI4T?kM`y?K zj#V6MI5v0eiIKFi>I|)t| zoT@w3b86|-!Ku4bU#CG%!=0u$&30Pqw909{(^jWlPQN;xbP99|b-L!1?DWVf%ju=l zJEtP2QYT9}uAETLshqByTe<4x8kB2UuI=9(j`+i$k47vz7x9m$BEp`F`-j=eFC%Dr zc8cNe4+0W2XRmQrd$;wgs}pNfX@?$?buA2iq^WmjHr6)pJO(2trryPKJsrlgsUF5D4DAqoM?XrG74?ossL`R@goic4iph3{=JFs)>KHb4xKQ3Of>c{!> zjfduPXZ`jaJE1*0@6^bt^Oh}`3r{^2`_}E=uzTb6jlZ4Q8-VTMjVoX;M|<-iXt@n4 zvwb^2thjvcoOKmf{p_=G(MDUG5mDk8w2r)7lY(3h1JxF_1v(}x`sgKh9~f(g}C>RleR=A&3hZfNIn&_#pFI&fNAVDO)$&b%qY;o zZ42G^WrN#J$R>S0mVK+Hr3WVl8mcKon`kt7)*fU!!D%vN@Kv>L-VJO&@VVK>70azd5PRWKsyFsv1hc z)R*75Wy7vrT45}7^pD1p9q~e!%ZJZ~Bje3B;k%B$V+ky%=m<}tzeobOwYBh40TvcB91n-?wIyIn4hR0@Yx+FQ348}xILveu-oBzlfYzl6hhY?RJu|-{Iq_j7RtxZ|r zVtVI@CgZ29SUAschPZO1??rJQzjo>b(PM?TZ4iI*P|$%OT~y4p-UEhA=r(ZVk#lp6 z(`R!dkH<_;)V;VH^#D0ol>C4+{Lt}c&F|XvY~4Dw_sgiL;{gYZ9)tR{_8xWQ+#auSQ?Im3VFBph5jdbup^O`@C(!UE$w775c5ZK_a5aPw~!I zQb#0{xReno>OyjPl?Dr~iVWhE-8J!t6Bu0HJRTjDs>SAL+nbdui?-cFyADwU6J{IK zg&pU5b*oRu<#kCF1CDOSEMy1IkO%4aLLWRz8`=5?&k^m7>caH{G>>x!)M?P5cavsy zqjO$9k9~$YQFn8ve}2fB@SYkBD|Jh74u(y`(!u0|20LN3q?_p7K#3`99SmQ2uQ%LF zIvyNlR4n>=RF zf?hfm-C`*n6i?4n-$;Bl!v`J-2)caiYQ&W}W5*4cI}DlommR1Qq zZmf4it(pUv-PqQPd(Ja9oic{%#y*G2!2TQL;4Su4nrTm({1n|C zF$7C1jWCq&PM5*SFia=bAWdOCO(hEL+=m$wr*oO7vSZ$0iigNyP^RuLM)PC-=QSIC zT&6WWpQ#b+tc2Be7{I0G+i{{aslC#u`ol?p7Zn1LtxX^o0%0DD4ZdwUj3pO)DE;-( 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 literal 0 HcmV?d00001 diff --git a/Todo/fonts/Raleway-v4020-SemiBold.otf b/Todo/fonts/Raleway-v4020-SemiBold.otf new file mode 100755 index 0000000000000000000000000000000000000000..968776b96421d52cb08bc6b69cc87d52e9b09dce GIT binary patch literal 133900 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 Qh8saDOY<{0rG^szKX|7XmH+?% literal 0 HcmV?d00001