From e1fd55a036e7621a067ede187353aad53f133c3e Mon Sep 17 00:00:00 2001 From: onemoon Date: Mon, 28 Jan 2019 11:16:06 +0900 Subject: [PATCH 001/183] Fix : Scroll issue Fix remove tableView bound when scroll and remove indicator --- tree/tree/View/Search/Search.storyboard | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tree/tree/View/Search/Search.storyboard b/tree/tree/View/Search/Search.storyboard index cb8b7bc..a033088 100644 --- a/tree/tree/View/Search/Search.storyboard +++ b/tree/tree/View/Search/Search.storyboard @@ -1,10 +1,10 @@ - + - + @@ -17,7 +17,7 @@ - + From 2328466ae2029144307cc44c5d3d8f5f6ce23242 Mon Sep 17 00:00:00 2001 From: onemoon Date: Mon, 28 Jan 2019 11:25:47 +0900 Subject: [PATCH 002/183] Refactor : search view controller Refactor less call function --- tree/tree/Controller/Search/SearchViewController.swift | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tree/tree/Controller/Search/SearchViewController.swift b/tree/tree/Controller/Search/SearchViewController.swift index 0c56bfc..4247098 100644 --- a/tree/tree/Controller/Search/SearchViewController.swift +++ b/tree/tree/Controller/Search/SearchViewController.swift @@ -82,11 +82,11 @@ extension SearchViewController: UITableViewDataSource, UITableViewDelegate { } func scrollViewDidScroll(_ scrollView: UIScrollView) { - if tableViewContentOffsetY < scrollView.contentOffset.y { + if searchBarIsPresented && tableViewContentOffsetY < scrollView.contentOffset.y { scrollViewCheckCount(.down) - } else { + } else if !searchBarIsPresented && tableViewContentOffsetY > scrollView.contentOffset.y { scrollViewCheckCount(.up) - } + } else { } tableViewContentOffsetY = scrollView.contentOffset.y } @@ -101,10 +101,10 @@ extension SearchViewController: UITableViewDataSource, UITableViewDelegate { func scrollSettingFunction(_ direction: ScrollDirection) { switch direction { - case .up where !searchBarIsPresented: + case .up: searchBarIsPresented = true searchBarShowAndHideAnimation(.up) - case .down where searchBarIsPresented: + case .down: searchBarIsPresented = false searchBarShowAndHideAnimation(.down) default: From 7c15220170ac34cc3bfff51a281bfff3e7bdb2a8 Mon Sep 17 00:00:00 2001 From: onemoon Date: Mon, 28 Jan 2019 11:26:11 +0900 Subject: [PATCH 003/183] Refactor : search view controller Refactor increase scroll up sensitiivity --- tree/tree/Controller/Search/SearchViewController.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tree/tree/Controller/Search/SearchViewController.swift b/tree/tree/Controller/Search/SearchViewController.swift index 4247098..60dc2bd 100644 --- a/tree/tree/Controller/Search/SearchViewController.swift +++ b/tree/tree/Controller/Search/SearchViewController.swift @@ -94,7 +94,7 @@ extension SearchViewController: UITableViewDataSource, UITableViewDelegate { let directionIsDown: Bool = scrollDirection == .down ? true : false tableViewScrollCount.down += directionIsDown == true ? 1 : 0 tableViewScrollCount.up += directionIsDown == true ? 0 : 1 - if tableViewScrollCount.down > 15 || tableViewScrollCount.up > 15 { + if tableViewScrollCount.down > 15 || tableViewScrollCount.up > 5 { scrollSettingFunction(directionIsDown ? .down : .up) } } From b543e05feb876569f25f9e098977f4047433c51d Mon Sep 17 00:00:00 2001 From: godpp Date: Mon, 28 Jan 2019 11:37:34 +0900 Subject: [PATCH 004/183] Add : .gitignore MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Config 파일 관련 .gitignore 수정했습니다! --- .gitignore | 6 +++++- tree/tree.xcodeproj/project.pbxproj | 8 ++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index 7ad871c..6697aeb 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,7 @@ +### Custom + +# About API Key +Config.swift # Created by https://www.gitignore.io/api/xcode,swift,macos # Edit at https://www.gitignore.io/?templates=xcode,swift,macos @@ -129,4 +133,4 @@ iOSInjectionProject/ /*.gcno **/xcshareddata/WorkspaceSettings.xcsettings -# End of https://www.gitignore.io/api/xcode,swift,macos \ No newline at end of file +# End of https://www.gitignore.io/api/xcode,swift,macos diff --git a/tree/tree.xcodeproj/project.pbxproj b/tree/tree.xcodeproj/project.pbxproj index b6b7913..64b519a 100644 --- a/tree/tree.xcodeproj/project.pbxproj +++ b/tree/tree.xcodeproj/project.pbxproj @@ -28,7 +28,7 @@ BC2656C321FD94EE00003413 /* NetworkResult.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC2656BB21FD94EE00003413 /* NetworkResult.swift */; }; BC2656C421FD94EE00003413 /* NetworkError.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC2656BC21FD94EE00003413 /* NetworkError.swift */; }; BC2656C721FD950900003413 /* Articles.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC2656C621FD950900003413 /* Articles.swift */; }; - BC2656CB21FE97E700003413 /* Config.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC2656CA21FE97E700003413 /* Config.swift */; }; + BC79698021FEA0A90003F520 /* Config.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC79697F21FEA0A90003F520 /* Config.swift */; }; D9C6AB3D21FA9B3E001C0AB8 /* Extension+UIColor.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9C6AB3721FA9B3E001C0AB8 /* Extension+UIColor.swift */; }; D9C6AB4421FA9CF8001C0AB8 /* Search.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = D9C6AB4321FA9CF8001C0AB8 /* Search.storyboard */; }; D9C6AB4D21FAAD0A001C0AB8 /* SearchViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9C6AB4A21FAAD09001C0AB8 /* SearchViewController.swift */; }; @@ -61,7 +61,7 @@ BC2656BB21FD94EE00003413 /* NetworkResult.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NetworkResult.swift; sourceTree = ""; }; BC2656BC21FD94EE00003413 /* NetworkError.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NetworkError.swift; sourceTree = ""; }; BC2656C621FD950900003413 /* Articles.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Articles.swift; sourceTree = ""; }; - BC2656CA21FE97E700003413 /* Config.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Config.swift; path = ../../../../Documents/Config.swift; sourceTree = ""; }; + BC79697F21FEA0A90003F520 /* Config.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Config.swift; sourceTree = ""; }; BF0163F8362378789ACC30D4 /* Pods_tree.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_tree.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D9C6AB3721FA9B3E001C0AB8 /* Extension+UIColor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Extension+UIColor.swift"; sourceTree = ""; }; D9C6AB4321FA9CF8001C0AB8 /* Search.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Search.storyboard; sourceTree = ""; }; @@ -187,7 +187,7 @@ BC2656C921FE97D200003413 /* Config */ = { isa = PBXGroup; children = ( - BC2656CA21FE97E700003413 /* Config.swift */, + BC79697F21FEA0A90003F520 /* Config.swift */, ); path = Config; sourceTree = ""; @@ -378,7 +378,7 @@ BC2656BF21FD94EE00003413 /* APIManager.swift in Sources */, 35CB482021FB6306000D96CF /* ArticleFeedTableViewCell.swift in Sources */, D9C6AB4D21FAAD0A001C0AB8 /* SearchViewController.swift in Sources */, - BC2656CB21FE97E700003413 /* Config.swift in Sources */, + BC79698021FEA0A90003F520 /* Config.swift in Sources */, BC2656C721FD950900003413 /* Articles.swift in Sources */, D9C6AB5D21FC152D001C0AB8 /* SearchScrollEnum.swift in Sources */, D9C6AB3D21FA9B3E001C0AB8 /* Extension+UIColor.swift in Sources */, From bb6896786d48e2e4172ed337f8b7df3a926f2033 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=80=E1=85=B5=E1=86=B7=E1=84=92=E1=85=A8=E1=84=85?= =?UTF-8?q?=E1=85=B5?= Date: Mon, 28 Jan 2019 13:00:00 +0900 Subject: [PATCH 005/183] Refactor : edit access control --- tree/tree.xcodeproj/project.pbxproj | 10 ++++++---- tree/tree/Controller/Search/SearchViewController.swift | 10 +++++----- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/tree/tree.xcodeproj/project.pbxproj b/tree/tree.xcodeproj/project.pbxproj index b6b7913..165ba8e 100644 --- a/tree/tree.xcodeproj/project.pbxproj +++ b/tree/tree.xcodeproj/project.pbxproj @@ -18,6 +18,7 @@ 35DC0DFF21F6FB3200F30416 /* .swiftlint.yml in Resources */ = {isa = PBXBuildFile; fileRef = 35DC0DFE21F6FB3200F30416 /* .swiftlint.yml */; }; 35DC0E0821F70BBC00F30416 /* ArticleDetail.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 35DC0E0721F70BBC00F30416 /* ArticleDetail.storyboard */; }; 45A74A72C78EC54DD12F5CA6 /* Pods_tree.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BF0163F8362378789ACC30D4 /* Pods_tree.framework */; }; + 6A55B00021FEB39600369750 /* Config.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A55AFFF21FEB39600369750 /* Config.swift */; }; BC2656B021FD94E000003413 /* Extension+URL.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC2656AF21FD94E000003413 /* Extension+URL.swift */; }; BC2656BD21FD94EE00003413 /* EventRegistryAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC2656B321FD94EE00003413 /* EventRegistryAPI.swift */; }; BC2656BE21FD94EE00003413 /* APIService.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC2656B521FD94EE00003413 /* APIService.swift */; }; @@ -28,7 +29,6 @@ BC2656C321FD94EE00003413 /* NetworkResult.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC2656BB21FD94EE00003413 /* NetworkResult.swift */; }; BC2656C421FD94EE00003413 /* NetworkError.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC2656BC21FD94EE00003413 /* NetworkError.swift */; }; BC2656C721FD950900003413 /* Articles.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC2656C621FD950900003413 /* Articles.swift */; }; - BC2656CB21FE97E700003413 /* Config.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC2656CA21FE97E700003413 /* Config.swift */; }; D9C6AB3D21FA9B3E001C0AB8 /* Extension+UIColor.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9C6AB3721FA9B3E001C0AB8 /* Extension+UIColor.swift */; }; D9C6AB4421FA9CF8001C0AB8 /* Search.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = D9C6AB4321FA9CF8001C0AB8 /* Search.storyboard */; }; D9C6AB4D21FAAD0A001C0AB8 /* SearchViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9C6AB4A21FAAD09001C0AB8 /* SearchViewController.swift */; }; @@ -49,6 +49,7 @@ 35DC0DFE21F6FB3200F30416 /* .swiftlint.yml */ = {isa = PBXFileReference; lastKnownFileType = text; path = .swiftlint.yml; sourceTree = ""; }; 35DC0E0221F70AB700F30416 /* ArticleDetailViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ArticleDetailViewController.swift; sourceTree = ""; }; 35DC0E0721F70BBC00F30416 /* ArticleDetail.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = ArticleDetail.storyboard; sourceTree = ""; }; + 6A55AFFF21FEB39600369750 /* Config.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Config.swift; sourceTree = ""; }; 8965743E41477F79773392B1 /* Pods-tree.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-tree.debug.xcconfig"; path = "Pods/Target Support Files/Pods-tree/Pods-tree.debug.xcconfig"; sourceTree = ""; }; 9833F533FEAC2BBB2BE859BF /* Pods-tree.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-tree.release.xcconfig"; path = "Pods/Target Support Files/Pods-tree/Pods-tree.release.xcconfig"; sourceTree = ""; }; BC2656AF21FD94E000003413 /* Extension+URL.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Extension+URL.swift"; sourceTree = ""; }; @@ -61,7 +62,6 @@ BC2656BB21FD94EE00003413 /* NetworkResult.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NetworkResult.swift; sourceTree = ""; }; BC2656BC21FD94EE00003413 /* NetworkError.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NetworkError.swift; sourceTree = ""; }; BC2656C621FD950900003413 /* Articles.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Articles.swift; sourceTree = ""; }; - BC2656CA21FE97E700003413 /* Config.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Config.swift; path = ../../../../Documents/Config.swift; sourceTree = ""; }; BF0163F8362378789ACC30D4 /* Pods_tree.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_tree.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D9C6AB3721FA9B3E001C0AB8 /* Extension+UIColor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Extension+UIColor.swift"; sourceTree = ""; }; D9C6AB4321FA9CF8001C0AB8 /* Search.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Search.storyboard; sourceTree = ""; }; @@ -187,7 +187,7 @@ BC2656C921FE97D200003413 /* Config */ = { isa = PBXGroup; children = ( - BC2656CA21FE97E700003413 /* Config.swift */, + 6A55AFFF21FEB39600369750 /* Config.swift */, ); path = Config; sourceTree = ""; @@ -378,7 +378,6 @@ BC2656BF21FD94EE00003413 /* APIManager.swift in Sources */, 35CB482021FB6306000D96CF /* ArticleFeedTableViewCell.swift in Sources */, D9C6AB4D21FAAD0A001C0AB8 /* SearchViewController.swift in Sources */, - BC2656CB21FE97E700003413 /* Config.swift in Sources */, BC2656C721FD950900003413 /* Articles.swift in Sources */, D9C6AB5D21FC152D001C0AB8 /* SearchScrollEnum.swift in Sources */, D9C6AB3D21FA9B3E001C0AB8 /* Extension+UIColor.swift in Sources */, @@ -391,6 +390,7 @@ BC2656C121FD94EE00003413 /* NetworkResponse.swift in Sources */, 35DC0DCF21F6F3C700F30416 /* AppDelegate.swift in Sources */, D9C6AB4E21FAAD0A001C0AB8 /* MainViewController.swift in Sources */, + 6A55B00021FEB39600369750 /* Config.swift in Sources */, 35CB481D21FAE7C8000D96CF /* ArticleImageViewController.swift in Sources */, 35CB481B21FAC610000D96CF /* ArticleDetailViewController.swift in Sources */, ); @@ -542,6 +542,7 @@ CODE_SIGN_STYLE = Automatic; DEVELOPMENT_TEAM = ""; INFOPLIST_FILE = tree/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 12.1; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -561,6 +562,7 @@ CODE_SIGN_STYLE = Automatic; DEVELOPMENT_TEAM = ""; INFOPLIST_FILE = tree/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 12.1; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", diff --git a/tree/tree/Controller/Search/SearchViewController.swift b/tree/tree/Controller/Search/SearchViewController.swift index 0c56bfc..f50cca4 100644 --- a/tree/tree/Controller/Search/SearchViewController.swift +++ b/tree/tree/Controller/Search/SearchViewController.swift @@ -31,32 +31,32 @@ class SearchViewController: UIViewController { registerArticleCell() } - func delegateSetting() { + private func delegateSetting() { uiSearchBar.delegate = self uiTableView.delegate = self uiTableView.dataSource = self } - func searchBarSetting() { + private func searchBarSetting() { uiSearchBar.backgroundImage = UIImage() guard let searchBarTextfield: UITextField = uiSearchBar.value(forKey: "searchField") as? UITextField else { return } searchBarTextfield.backgroundColor = UIColor.lightGray searchBarTextfield.textColor = UIColor.black } - func tableViewSetting() { + private func tableViewSetting() { uiTableView.contentInset = UIEdgeInsets(top: topOffset, left: 0, bottom: 0, right: 0) uiTableView.separatorStyle = .none } - func navigationBarSetting() { + private func navigationBarSetting() { guard let navigationBar = self.navigationController?.navigationBar else { return } navigationBar.backgroundColor = UIColor.white navigationBar.setBackgroundImage(UIImage(), for: .any, barMetrics: .default) navigationBar.shadowImage = UIImage() } - func registerArticleCell() { + private func registerArticleCell() { let articleFeedNib = UINib(nibName: "ArticleFeedTableViewCell", bundle: nil) uiTableView.register(articleFeedNib, forCellReuseIdentifier: cellIdentifier) } From 5c109687af381ce350f2443ef07ad0228a117e51 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=80=E1=85=B5=E1=86=B7=E1=84=92=E1=85=A8=E1=84=85?= =?UTF-8?q?=E1=85=B5?= Date: Mon, 28 Jan 2019 13:12:11 +0900 Subject: [PATCH 006/183] #11 Feat : Connect API manager --- .../Search/SearchViewController.swift | 20 +++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/tree/tree/Controller/Search/SearchViewController.swift b/tree/tree/Controller/Search/SearchViewController.swift index f50cca4..d49feee 100644 --- a/tree/tree/Controller/Search/SearchViewController.swift +++ b/tree/tree/Controller/Search/SearchViewController.swift @@ -21,7 +21,8 @@ class SearchViewController: UIViewController { private var tableViewScrollCount: (down: Int, up: Int) = (0, 0) private var searchBarTextField: UITextField? private var searchBarIsPresented: Bool = true - + private var articles: [Article]? + override func viewDidLoad() { super.viewDidLoad() delegateSetting() @@ -29,6 +30,7 @@ class SearchViewController: UIViewController { tableViewSetting() navigationBarSetting() registerArticleCell() + getArticlesFromServer() } private func delegateSetting() { @@ -60,12 +62,26 @@ class SearchViewController: UIViewController { let articleFeedNib = UINib(nibName: "ArticleFeedTableViewCell", bundle: nil) uiTableView.register(articleFeedNib, forCellReuseIdentifier: cellIdentifier) } + + private func getArticlesFromServer() { + APIManager.getArticles(keyword: "Apple", keywordLoc: "title", lang: "eng", articlesSortBy: "date", articlesPage: 1) { (result) in + switch result { + case .success(let articleData): + self.articles = articleData.articles.results + DispatchQueue.main.async { + self.uiTableView.reloadData() + } + case .failure(let error): + print(error.localizedDescription) + } + } + } } extension SearchViewController: UITableViewDataSource, UITableViewDelegate { func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { - return 30 + return articles?.count ?? 0 } func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { From cfccdcf3d20db7f9a93e76de62016a814b1fa877 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=80=E1=85=B5=E1=86=B7=E1=84=92=E1=85=A8=E1=84=85?= =?UTF-8?q?=E1=85=B5?= Date: Mon, 28 Jan 2019 13:31:01 +0900 Subject: [PATCH 007/183] #11 get article data --- .../Search/ArticleDetailViewController.swift | 10 ++++++++++ .../Search/SearchViewController.swift | 9 ++++++++- .../View/Search/ArticleFeedTableViewCell.swift | 17 +++++++++++++++++ 3 files changed, 35 insertions(+), 1 deletion(-) diff --git a/tree/tree/Controller/Search/ArticleDetailViewController.swift b/tree/tree/Controller/Search/ArticleDetailViewController.swift index 20ca716..aae2f95 100644 --- a/tree/tree/Controller/Search/ArticleDetailViewController.swift +++ b/tree/tree/Controller/Search/ArticleDetailViewController.swift @@ -17,10 +17,13 @@ class ArticleDetailViewController: UIViewController { @IBOutlet weak var contentLabel: UILabel! private var floatingButton = UIButton() + var articleDetail: Article? + var articleImage: UIImage? override func viewDidLoad() { super.viewDidLoad() registerGestureRecognizer() + setArticleData() } override func viewWillAppear(_ animated: Bool) { @@ -37,6 +40,13 @@ class ArticleDetailViewController: UIViewController { imageView.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(imageTapped))) } + private func setArticleData() { + titleLabel.text = articleDetail?.title + dateLabel.text = articleDetail?.date + contentLabel.text = articleDetail?.body + imageView.image = articleImage + } + private func createFloatingButton() { floatingButton = UIButton(type: .custom) floatingButton.backgroundColor = .black diff --git a/tree/tree/Controller/Search/SearchViewController.swift b/tree/tree/Controller/Search/SearchViewController.swift index d49feee..2bafd84 100644 --- a/tree/tree/Controller/Search/SearchViewController.swift +++ b/tree/tree/Controller/Search/SearchViewController.swift @@ -88,12 +88,19 @@ extension SearchViewController: UITableViewDataSource, UITableViewDelegate { guard let cell = tableView.dequeueReusableCell(withIdentifier: cellIdentifier, for: indexPath) as? ArticleFeedTableViewCell else { return UITableViewCell() } + guard let article = articles?[indexPath.row] else { return UITableViewCell() } + cell.settingData(article: article) return cell } func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { + guard let cell = tableView.dequeueReusableCell(withIdentifier: cellIdentifier, for: indexPath) as? ArticleFeedTableViewCell else { return } let storyboard = UIStoryboard(name: "ArticleDetail", bundle: nil) - let articleView = storyboard.instantiateViewController(withIdentifier: "ArticleDetailViewController") + guard let articleView = storyboard.instantiateViewController(withIdentifier: "ArticleDetailViewController") as? ArticleDetailViewController else { return } + + articleView.articleDetail = articles?[indexPath.row] + articleView.articleImage = cell.articleImageView.image + self.navigationController?.pushViewController(articleView, animated: true) } diff --git a/tree/tree/View/Search/ArticleFeedTableViewCell.swift b/tree/tree/View/Search/ArticleFeedTableViewCell.swift index 062b5bd..4af6f6f 100644 --- a/tree/tree/View/Search/ArticleFeedTableViewCell.swift +++ b/tree/tree/View/Search/ArticleFeedTableViewCell.swift @@ -26,6 +26,23 @@ class ArticleFeedTableViewCell: UITableViewCell { override func setSelected(_ selected: Bool, animated: Bool) { super.setSelected(selected, animated: animated) } + + func settingData(article: Article ) { + self.titleLabel.text = article.title + self.descriptionLabel.text = article.body + self.dateLabel.text = article.date + + DispatchQueue.global().async { + if let articleImage = article.image { + guard let imageURL = URL(string: articleImage) else { return } + guard let imageData = try? Data(contentsOf: imageURL) else { return } + + DispatchQueue.main.async { + self.articleImageView.image = UIImage(data: imageData) + } + } + } + } private func settingArticleOuterView() { articleOuterView.layer.cornerRadius = 10 From 848d35c4b2a35dd320c0a61dadb543509a51c885 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=80=E1=85=B5=E1=86=B7=E1=84=92=E1=85=A8=E1=84=85?= =?UTF-8?q?=E1=85=B5?= Date: Mon, 28 Jan 2019 13:55:49 +0900 Subject: [PATCH 008/183] #11 edit layout constraint --- .../Search/ArticleImageViewController.swift | 2 +- .../Search/ArticleFeedTableViewCell.swift | 1 + .../View/Search/ArticleFeedTableViewCell.xib | 80 +++++++++---------- 3 files changed, 39 insertions(+), 44 deletions(-) diff --git a/tree/tree/Controller/Search/ArticleImageViewController.swift b/tree/tree/Controller/Search/ArticleImageViewController.swift index 3bb4323..34f3b47 100644 --- a/tree/tree/Controller/Search/ArticleImageViewController.swift +++ b/tree/tree/Controller/Search/ArticleImageViewController.swift @@ -52,7 +52,7 @@ class ArticleImageViewController: UIViewController { self.view.frame = CGRect(x: 0, y: touchPosition.y - initTouchPosition.y, width: self.view.frame.size.width, height: self.view.frame.size.height) } } else if sender.state == UIGestureRecognizer.State.ended || sender.state == UIGestureRecognizer.State.cancelled { - if touchPosition.y - initTouchPosition.y > 100 { + if touchPosition.y - initTouchPosition.y > 150 { self.dismiss(animated: true, completion: nil) } else { UIView.animate(withDuration: 0.5, animations: { diff --git a/tree/tree/View/Search/ArticleFeedTableViewCell.swift b/tree/tree/View/Search/ArticleFeedTableViewCell.swift index 4af6f6f..4865e3a 100644 --- a/tree/tree/View/Search/ArticleFeedTableViewCell.swift +++ b/tree/tree/View/Search/ArticleFeedTableViewCell.swift @@ -31,6 +31,7 @@ class ArticleFeedTableViewCell: UITableViewCell { self.titleLabel.text = article.title self.descriptionLabel.text = article.body self.dateLabel.text = article.date + self.companyLabel.text = article.source.title DispatchQueue.global().async { if let articleImage = article.image { diff --git a/tree/tree/View/Search/ArticleFeedTableViewCell.xib b/tree/tree/View/Search/ArticleFeedTableViewCell.xib index 6910655..fa1a371 100644 --- a/tree/tree/View/Search/ArticleFeedTableViewCell.xib +++ b/tree/tree/View/Search/ArticleFeedTableViewCell.xib @@ -1,12 +1,12 @@ - + - + + - @@ -22,59 +22,56 @@ - + - + - - - - + + - - - - - - - - - - @@ -107,7 +104,4 @@ - - - From 84e68ee89edea98e688662f3162d1f7f83931606 Mon Sep 17 00:00:00 2001 From: onemoon Date: Mon, 28 Jan 2019 14:11:24 +0900 Subject: [PATCH 009/183] Fix : useless code Fix useless else code --- tree/tree/Controller/Search/SearchViewController.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tree/tree/Controller/Search/SearchViewController.swift b/tree/tree/Controller/Search/SearchViewController.swift index 60dc2bd..69fe296 100644 --- a/tree/tree/Controller/Search/SearchViewController.swift +++ b/tree/tree/Controller/Search/SearchViewController.swift @@ -86,7 +86,7 @@ extension SearchViewController: UITableViewDataSource, UITableViewDelegate { scrollViewCheckCount(.down) } else if !searchBarIsPresented && tableViewContentOffsetY > scrollView.contentOffset.y { scrollViewCheckCount(.up) - } else { } + } tableViewContentOffsetY = scrollView.contentOffset.y } From a1e5bec4715bd89ac0e7e9dbb68edfee1ff730a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=80=E1=85=B5=E1=86=B7=E1=84=92=E1=85=A8=E1=84=85?= =?UTF-8?q?=E1=85=B5?= Date: Mon, 28 Jan 2019 14:32:31 +0900 Subject: [PATCH 010/183] #11 get image from server --- .../Search/SearchViewController.swift | 11 ++++++++++ .../Search/ArticleFeedTableViewCell.swift | 22 +++++++------------ .../View/Search/ArticleFeedTableViewCell.xib | 3 ++- 3 files changed, 21 insertions(+), 15 deletions(-) diff --git a/tree/tree/Controller/Search/SearchViewController.swift b/tree/tree/Controller/Search/SearchViewController.swift index 2bafd84..5defda4 100644 --- a/tree/tree/Controller/Search/SearchViewController.swift +++ b/tree/tree/Controller/Search/SearchViewController.swift @@ -90,6 +90,17 @@ extension SearchViewController: UITableViewDataSource, UITableViewDelegate { } guard let article = articles?[indexPath.row] else { return UITableViewCell() } cell.settingData(article: article) + + DispatchQueue.global().async { + if let articleImage = article.image { + guard let imageURL = URL(string: articleImage) else { return } + guard let imageData = try? Data(contentsOf: imageURL) else { return } + DispatchQueue.main.async { + cell.settingImage(image: imageData) + } + } + } + return cell } diff --git a/tree/tree/View/Search/ArticleFeedTableViewCell.swift b/tree/tree/View/Search/ArticleFeedTableViewCell.swift index 4865e3a..37a8208 100644 --- a/tree/tree/View/Search/ArticleFeedTableViewCell.swift +++ b/tree/tree/View/Search/ArticleFeedTableViewCell.swift @@ -27,25 +27,19 @@ class ArticleFeedTableViewCell: UITableViewCell { super.setSelected(selected, animated: animated) } - func settingData(article: Article ) { + private func settingArticleOuterView() { + articleOuterView.layer.cornerRadius = 10 + } + + func settingData(article: Article) { self.titleLabel.text = article.title self.descriptionLabel.text = article.body self.dateLabel.text = article.date self.companyLabel.text = article.source.title - - DispatchQueue.global().async { - if let articleImage = article.image { - guard let imageURL = URL(string: articleImage) else { return } - guard let imageData = try? Data(contentsOf: imageURL) else { return } - - DispatchQueue.main.async { - self.articleImageView.image = UIImage(data: imageData) - } - } - } } - private func settingArticleOuterView() { - articleOuterView.layer.cornerRadius = 10 + func settingImage(image: Data) { + self.articleImageView.image = UIImage(data: image) } + } diff --git a/tree/tree/View/Search/ArticleFeedTableViewCell.xib b/tree/tree/View/Search/ArticleFeedTableViewCell.xib index fa1a371..eacb5cf 100644 --- a/tree/tree/View/Search/ArticleFeedTableViewCell.xib +++ b/tree/tree/View/Search/ArticleFeedTableViewCell.xib @@ -7,6 +7,7 @@ + @@ -31,7 +32,7 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -125,5 +274,6 @@ + From 661e017d14805c877fa553936f4ac167e821299a Mon Sep 17 00:00:00 2001 From: onemoon Date: Mon, 28 Jan 2019 15:26:52 +0900 Subject: [PATCH 012/183] Fix : Filter View OutoLayout --- tree/tree.xcodeproj/project.pbxproj | 8 ++++ tree/tree/View/Search/Search.storyboard | 62 +++++++++++++++---------- 2 files changed, 45 insertions(+), 25 deletions(-) diff --git a/tree/tree.xcodeproj/project.pbxproj b/tree/tree.xcodeproj/project.pbxproj index 64b519a..b4ceb15 100644 --- a/tree/tree.xcodeproj/project.pbxproj +++ b/tree/tree.xcodeproj/project.pbxproj @@ -250,11 +250,19 @@ D9C6AB5B21FC151C001C0AB8 /* Helper */ = { isa = PBXGroup; children = ( + D9C6AB7E21FED67A001C0AB8 /* PresentationManager */, D9C6AB5C21FC152D001C0AB8 /* SearchScrollEnum.swift */, ); path = Helper; sourceTree = ""; }; + D9C6AB7E21FED67A001C0AB8 /* PresentationManager */ = { + isa = PBXGroup; + children = ( + ); + path = PresentationManager; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ diff --git a/tree/tree/View/Search/Search.storyboard b/tree/tree/View/Search/Search.storyboard index a31418e..96f598d 100644 --- a/tree/tree/View/Search/Search.storyboard +++ b/tree/tree/View/Search/Search.storyboard @@ -93,23 +93,23 @@ - - + + - + - + - + @@ -118,16 +118,16 @@ - + - + @@ -136,9 +136,15 @@ + + + + + + - + - - + + + - + - + + + + + + - + From 26f496a72a158a9a611ab880c1f7e212cd9a6a13 Mon Sep 17 00:00:00 2001 From: onemoon Date: Mon, 28 Jan 2019 17:22:35 +0900 Subject: [PATCH 013/183] Feat : Transition Management Feat Transition manager & controller feat with SearchViewController --- tree/tree.xcodeproj/project.pbxproj | 12 +++ .../PresentationController.swift | 81 +++++++++++++++++++ .../PresentationManager.swift | 24 ++++++ 3 files changed, 117 insertions(+) create mode 100644 tree/tree/Helper/PresentationManager/PresentationController.swift create mode 100644 tree/tree/Helper/PresentationManager/PresentationManager.swift diff --git a/tree/tree.xcodeproj/project.pbxproj b/tree/tree.xcodeproj/project.pbxproj index b4ceb15..2b0991f 100644 --- a/tree/tree.xcodeproj/project.pbxproj +++ b/tree/tree.xcodeproj/project.pbxproj @@ -34,6 +34,9 @@ D9C6AB4D21FAAD0A001C0AB8 /* SearchViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9C6AB4A21FAAD09001C0AB8 /* SearchViewController.swift */; }; D9C6AB4E21FAAD0A001C0AB8 /* MainViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9C6AB4C21FAAD09001C0AB8 /* MainViewController.swift */; }; D9C6AB5D21FC152D001C0AB8 /* SearchScrollEnum.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9C6AB5C21FC152D001C0AB8 /* SearchScrollEnum.swift */; }; + D9C6AB8021FED9F7001C0AB8 /* PresentationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9C6AB7F21FED9F7001C0AB8 /* PresentationController.swift */; }; + D9C6AB8221FEDB08001C0AB8 /* PresentationManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9C6AB8121FEDB08001C0AB8 /* PresentationManager.swift */; }; + D9C6AB8421FEE6B4001C0AB8 /* SearchFilterViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9C6AB8321FEE6B4001C0AB8 /* SearchFilterViewController.swift */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -68,6 +71,9 @@ D9C6AB4A21FAAD09001C0AB8 /* SearchViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SearchViewController.swift; sourceTree = ""; }; D9C6AB4C21FAAD09001C0AB8 /* MainViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MainViewController.swift; sourceTree = ""; }; D9C6AB5C21FC152D001C0AB8 /* SearchScrollEnum.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchScrollEnum.swift; sourceTree = ""; }; + D9C6AB7F21FED9F7001C0AB8 /* PresentationController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PresentationController.swift; sourceTree = ""; }; + D9C6AB8121FEDB08001C0AB8 /* PresentationManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PresentationManager.swift; sourceTree = ""; }; + D9C6AB8321FEE6B4001C0AB8 /* SearchFilterViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchFilterViewController.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -234,6 +240,7 @@ children = ( 35DC0E0221F70AB700F30416 /* ArticleDetailViewController.swift */, D9C6AB4A21FAAD09001C0AB8 /* SearchViewController.swift */, + D9C6AB8321FEE6B4001C0AB8 /* SearchFilterViewController.swift */, 35CB481C21FAE7C8000D96CF /* ArticleImageViewController.swift */, ); path = Search; @@ -259,6 +266,8 @@ D9C6AB7E21FED67A001C0AB8 /* PresentationManager */ = { isa = PBXGroup; children = ( + D9C6AB7F21FED9F7001C0AB8 /* PresentationController.swift */, + D9C6AB8121FEDB08001C0AB8 /* PresentationManager.swift */, ); path = PresentationManager; sourceTree = ""; @@ -382,6 +391,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + D9C6AB8421FEE6B4001C0AB8 /* SearchFilterViewController.swift in Sources */, BC2656C421FD94EE00003413 /* NetworkError.swift in Sources */, BC2656BF21FD94EE00003413 /* APIManager.swift in Sources */, 35CB482021FB6306000D96CF /* ArticleFeedTableViewCell.swift in Sources */, @@ -392,6 +402,7 @@ D9C6AB3D21FA9B3E001C0AB8 /* Extension+UIColor.swift in Sources */, BC2656BE21FD94EE00003413 /* APIService.swift in Sources */, BC2656BD21FD94EE00003413 /* EventRegistryAPI.swift in Sources */, + D9C6AB8221FEDB08001C0AB8 /* PresentationManager.swift in Sources */, BC2656C321FD94EE00003413 /* NetworkResult.swift in Sources */, BC2656C021FD94EE00003413 /* APICenter.swift in Sources */, BC2656C221FD94EE00003413 /* ParametersEncoder.swift in Sources */, @@ -401,6 +412,7 @@ D9C6AB4E21FAAD0A001C0AB8 /* MainViewController.swift in Sources */, 35CB481D21FAE7C8000D96CF /* ArticleImageViewController.swift in Sources */, 35CB481B21FAC610000D96CF /* ArticleDetailViewController.swift in Sources */, + D9C6AB8021FED9F7001C0AB8 /* PresentationController.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/tree/tree/Helper/PresentationManager/PresentationController.swift b/tree/tree/Helper/PresentationManager/PresentationController.swift new file mode 100644 index 0000000..81606e9 --- /dev/null +++ b/tree/tree/Helper/PresentationManager/PresentationController.swift @@ -0,0 +1,81 @@ +// +// PresentationController.swift +// tree +// +// Created by Hyeontae on 28/01/2019. +// Copyright © 2019 gardener. All rights reserved. +// + +import UIKit + +class PresentationController: UIPresentationController { + fileprivate var dimmingView: UIView! + + override var frameOfPresentedViewInContainerView: CGRect { + var frame: CGRect = .zero + guard let parentContainerView = containerView else { return CGRect() } + frame.size = size(forChildContentContainer: presentedViewController, + withParentContainerSize: parentContainerView.bounds.size) + frame.origin.y = parentContainerView.frame.height - 355 + return frame + } + + override init(presentedViewController: UIViewController, presenting presentingViewController: UIViewController?) { + super.init(presentedViewController: presentedViewController, + presenting: presentingViewController) + DimmingViewSetting() + } + + override func presentationTransitionWillBegin() { + containerView?.insertSubview(dimmingView, at: 0) + NSLayoutConstraint.activate( + NSLayoutConstraint.constraints(withVisualFormat: "V:|[dimmingView]|", + options: [], metrics: nil, views: ["dimmingView": dimmingView])) + NSLayoutConstraint.activate( + NSLayoutConstraint.constraints(withVisualFormat: "H:|[dimmingView]|", + options: [], metrics: nil, views: ["dimmingView": dimmingView])) + + guard let coordinator = presentedViewController.transitionCoordinator else { + dimmingView.alpha = 1.0 + return + } + coordinator.animate(alongsideTransition: { _ in + self.dimmingView.alpha = 1.0 + }) + } + + override func dismissalTransitionWillBegin() { + guard let coordinator = presentedViewController.transitionCoordinator else { + dimmingView.alpha = 0.0 + return + } + coordinator.animate(alongsideTransition: { _ in + self.dimmingView.alpha = 0.0 + }) + } + + override func containerViewWillLayoutSubviews() { + presentedView?.frame = frameOfPresentedViewInContainerView + } + + override func size(forChildContentContainer container: UIContentContainer, + withParentContainerSize parentSize: CGSize) -> CGSize { + return CGSize(width: parentSize.width, height: 375) + } +} + +private extension PresentationController { + + func DimmingViewSetting() { + dimmingView = UIView() + dimmingView.translatesAutoresizingMaskIntoConstraints = false + dimmingView.backgroundColor = UIColor(white: 0.0, alpha: 0.5) + dimmingView.alpha = 0.0 + let recognizer = UITapGestureRecognizer(target: self, action: #selector(dimmingViewTapAction(recognizer:))) + dimmingView.addGestureRecognizer(recognizer) + } + + @objc func dimmingViewTapAction(recognizer: UITapGestureRecognizer) { + presentingViewController.dismiss(animated: true) + } +} diff --git a/tree/tree/Helper/PresentationManager/PresentationManager.swift b/tree/tree/Helper/PresentationManager/PresentationManager.swift new file mode 100644 index 0000000..1f4ff20 --- /dev/null +++ b/tree/tree/Helper/PresentationManager/PresentationManager.swift @@ -0,0 +1,24 @@ +// +// PresentationManager.swift +// tree +// +// Created by Hyeontae on 28/01/2019. +// Copyright © 2019 gardener. All rights reserved. +// + +import UIKit + +class PresentationManager: NSObject { + +} + +extension PresentationManager: UIViewControllerTransitioningDelegate { + func presentationController(forPresented presented: UIViewController, + presenting: UIViewController?, + source: UIViewController) -> UIPresentationController? { + let presentationController = PresentationController(presentedViewController: presented, + presenting: presenting) + return presentationController + } +} + From 8bcf7b452a91b52d7f1b515c3913eee3090495eb Mon Sep 17 00:00:00 2001 From: onemoon Date: Mon, 28 Jan 2019 17:25:01 +0900 Subject: [PATCH 014/183] Feat : SearchFilterViewController Feat Search Filter View Controller with corners radius & basic setting --- .../Search/SearchFilterViewController.swift | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 tree/tree/Controller/Search/SearchFilterViewController.swift diff --git a/tree/tree/Controller/Search/SearchFilterViewController.swift b/tree/tree/Controller/Search/SearchFilterViewController.swift new file mode 100644 index 0000000..97aaf42 --- /dev/null +++ b/tree/tree/Controller/Search/SearchFilterViewController.swift @@ -0,0 +1,23 @@ +// +// SearchFilterViewController.swift +// tree +// +// Created by Hyeontae on 28/01/2019. +// Copyright © 2019 gardener. All rights reserved. +// + +import UIKit + +class SearchFilterViewController: UIViewController { + + override func viewDidLoad() { + super.viewDidLoad() + + roundCorners(layer: self.view.layer, radius: CGFloat(15.0)) + } + + func roundCorners(layer targetLayer: CALayer, radius withRaidus: CGFloat) { + targetLayer.cornerRadius = withRaidus + targetLayer.masksToBounds = true + } +} From 07283a750f71dadeb0e57a63abf721c71551bccd Mon Sep 17 00:00:00 2001 From: hyeri kim Date: Mon, 28 Jan 2019 17:25:42 +0900 Subject: [PATCH 015/183] Edit project file --- tree/tree.xcodeproj/project.pbxproj | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/tree/tree.xcodeproj/project.pbxproj b/tree/tree.xcodeproj/project.pbxproj index 10d5aad..f48988d 100644 --- a/tree/tree.xcodeproj/project.pbxproj +++ b/tree/tree.xcodeproj/project.pbxproj @@ -18,7 +18,7 @@ 35DC0DFF21F6FB3200F30416 /* .swiftlint.yml in Resources */ = {isa = PBXBuildFile; fileRef = 35DC0DFE21F6FB3200F30416 /* .swiftlint.yml */; }; 35DC0E0821F70BBC00F30416 /* ArticleDetail.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 35DC0E0721F70BBC00F30416 /* ArticleDetail.storyboard */; }; 45A74A72C78EC54DD12F5CA6 /* Pods_tree.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BF0163F8362378789ACC30D4 /* Pods_tree.framework */; }; - 6A55B00021FEB39600369750 /* Config.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A55AFFF21FEB39600369750 /* Config.swift */; }; + 6AE2D7AE21FEF30D00444622 /* Config.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6AE2D7AD21FEF30D00444622 /* Config.swift */; }; BC2656B021FD94E000003413 /* Extension+URL.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC2656AF21FD94E000003413 /* Extension+URL.swift */; }; BC2656BD21FD94EE00003413 /* EventRegistryAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC2656B321FD94EE00003413 /* EventRegistryAPI.swift */; }; BC2656BE21FD94EE00003413 /* APIService.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC2656B521FD94EE00003413 /* APIService.swift */; }; @@ -49,7 +49,7 @@ 35DC0DFE21F6FB3200F30416 /* .swiftlint.yml */ = {isa = PBXFileReference; lastKnownFileType = text; path = .swiftlint.yml; sourceTree = ""; }; 35DC0E0221F70AB700F30416 /* ArticleDetailViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ArticleDetailViewController.swift; sourceTree = ""; }; 35DC0E0721F70BBC00F30416 /* ArticleDetail.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = ArticleDetail.storyboard; sourceTree = ""; }; - 6A55AFFF21FEB39600369750 /* Config.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Config.swift; sourceTree = ""; }; + 6AE2D7AD21FEF30D00444622 /* Config.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Config.swift; sourceTree = ""; }; 8965743E41477F79773392B1 /* Pods-tree.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-tree.debug.xcconfig"; path = "Pods/Target Support Files/Pods-tree/Pods-tree.debug.xcconfig"; sourceTree = ""; }; 9833F533FEAC2BBB2BE859BF /* Pods-tree.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-tree.release.xcconfig"; path = "Pods/Target Support Files/Pods-tree/Pods-tree.release.xcconfig"; sourceTree = ""; }; BC2656AF21FD94E000003413 /* Extension+URL.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Extension+URL.swift"; sourceTree = ""; }; @@ -112,7 +112,7 @@ 35DC0DCD21F6F3C700F30416 /* tree */ = { isa = PBXGroup; children = ( - BC2656C921FE97D200003413 /* Config */, + 6AE2D7AC21FEF30D00444622 /* Config */, BC2656C521FD950900003413 /* Model */, D9C6AB3F21FA9CB4001C0AB8 /* View */, D9C6AB4821FAAD09001C0AB8 /* Controller */, @@ -129,6 +129,14 @@ path = tree; sourceTree = ""; }; + 6AE2D7AC21FEF30D00444622 /* Config */ = { + isa = PBXGroup; + children = ( + 6AE2D7AD21FEF30D00444622 /* Config.swift */, + ); + path = Config; + sourceTree = ""; + }; 968D39AD37EEED1A9F7CF6F0 /* Frameworks */ = { isa = PBXGroup; children = ( @@ -184,14 +192,6 @@ path = Model; sourceTree = ""; }; - BC2656C921FE97D200003413 /* Config */ = { - isa = PBXGroup; - children = ( - BC79697F21FEA0A90003F520 /* Config.swift */, - ); - path = Config; - sourceTree = ""; - }; D9C6AB3621FA9B3E001C0AB8 /* Extension */ = { isa = PBXGroup; children = ( @@ -390,7 +390,7 @@ BC2656C121FD94EE00003413 /* NetworkResponse.swift in Sources */, 35DC0DCF21F6F3C700F30416 /* AppDelegate.swift in Sources */, D9C6AB4E21FAAD0A001C0AB8 /* MainViewController.swift in Sources */, - 6A55B00021FEB39600369750 /* Config.swift in Sources */, + 6AE2D7AE21FEF30D00444622 /* Config.swift in Sources */, 35CB481D21FAE7C8000D96CF /* ArticleImageViewController.swift in Sources */, 35CB481B21FAC610000D96CF /* ArticleDetailViewController.swift in Sources */, ); From be352f6212f9373226f676c5b33d5978e06f5ec0 Mon Sep 17 00:00:00 2001 From: onemoon Date: Mon, 28 Jan 2019 17:26:36 +0900 Subject: [PATCH 016/183] Add : Connecton Add Connect with ViewController & storyboard --- tree/tree/View/Search/Search.storyboard | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/tree/tree/View/Search/Search.storyboard b/tree/tree/View/Search/Search.storyboard index 96f598d..23c9e13 100644 --- a/tree/tree/View/Search/Search.storyboard +++ b/tree/tree/View/Search/Search.storyboard @@ -70,12 +70,18 @@ - - + + - + @@ -85,10 +91,10 @@ - + - + From d8857124d832102bd43c21ef285a0d7f54b11146 Mon Sep 17 00:00:00 2001 From: onemoon Date: Mon, 28 Jan 2019 17:29:03 +0900 Subject: [PATCH 017/183] Feat : transition delegate Feat Setup Transition Delegate & Filter Item ButtonAction - issue : #23 --- .../Search/SearchViewController.swift | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/tree/tree/Controller/Search/SearchViewController.swift b/tree/tree/Controller/Search/SearchViewController.swift index 42d57a0..8cba6c3 100644 --- a/tree/tree/Controller/Search/SearchViewController.swift +++ b/tree/tree/Controller/Search/SearchViewController.swift @@ -13,7 +13,7 @@ class SearchViewController: UIViewController { @IBOutlet weak var uiSearchBarOuterView: UIView! @IBOutlet weak var uiSearchBar: UISearchBar! @IBOutlet weak var uiTableView: UITableView! - @IBOutlet weak var navigationFilterItem: UIBarItem! + @IBOutlet weak var navigationFilterItem: UIButton! private let cellIdentifier: String = "ArticleFeedTableViewCell" private var topOffset: CGFloat = UIApplication.shared.statusBarOrientation.isLandscape ? 44 : 64 @@ -21,7 +21,8 @@ class SearchViewController: UIViewController { private var tableViewScrollCount: (down: Int, up: Int) = (0, 0) private var searchBarTextField: UITextField? private var searchBarIsPresented: Bool = true - + private lazy var transitionDelegate = PresentationManager() + override func viewDidLoad() { super.viewDidLoad() delegateSetting() @@ -29,6 +30,7 @@ class SearchViewController: UIViewController { tableViewSetting() navigationBarSetting() registerArticleCell() + filterItemSetting() } func delegateSetting() { @@ -60,6 +62,17 @@ class SearchViewController: UIViewController { let articleFeedNib = UINib(nibName: "ArticleFeedTableViewCell", bundle: nil) uiTableView.register(articleFeedNib, forCellReuseIdentifier: cellIdentifier) } + + private func filterItemSetting() { + navigationFilterItem.addTarget(self, action: #selector(filterItemTapAtion), for: .touchUpInside) + } + + @objc private func filterItemTapAtion() { + guard let filterViewController: UIViewController = self.storyboard?.instantiateViewController(withIdentifier: "SearchFilterViewController") else { return } + filterViewController.transitioningDelegate = transitionDelegate + filterViewController.modalPresentationStyle = .custom + present(filterViewController, animated: true) + } } extension SearchViewController: UITableViewDataSource, UITableViewDelegate { From a54472ca6934b86e7d009723a6593ffed5846406 Mon Sep 17 00:00:00 2001 From: onemoon Date: Tue, 29 Jan 2019 11:10:11 +0900 Subject: [PATCH 018/183] Refactor : Remove Useless case --- tree/tree/Controller/Search/SearchViewController.swift | 2 -- 1 file changed, 2 deletions(-) diff --git a/tree/tree/Controller/Search/SearchViewController.swift b/tree/tree/Controller/Search/SearchViewController.swift index 8cba6c3..8764896 100644 --- a/tree/tree/Controller/Search/SearchViewController.swift +++ b/tree/tree/Controller/Search/SearchViewController.swift @@ -120,8 +120,6 @@ extension SearchViewController: UITableViewDataSource, UITableViewDelegate { case .down: searchBarIsPresented = false searchBarShowAndHideAnimation(.down) - default: - break } tableViewScrollCount = (0, 0) } From 50616bd54fce9c86c2184d1da449279fad6c47ba Mon Sep 17 00:00:00 2001 From: onemoon Date: Tue, 29 Jan 2019 11:39:25 +0900 Subject: [PATCH 019/183] Refactor : with PR Comment Refactor remove lazy loading naming with coding convention --- tree/tree/Controller/Search/SearchViewController.swift | 2 +- .../Helper/PresentationManager/PresentationController.swift | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/tree/tree/Controller/Search/SearchViewController.swift b/tree/tree/Controller/Search/SearchViewController.swift index 8764896..54b179e 100644 --- a/tree/tree/Controller/Search/SearchViewController.swift +++ b/tree/tree/Controller/Search/SearchViewController.swift @@ -21,7 +21,7 @@ class SearchViewController: UIViewController { private var tableViewScrollCount: (down: Int, up: Int) = (0, 0) private var searchBarTextField: UITextField? private var searchBarIsPresented: Bool = true - private lazy var transitionDelegate = PresentationManager() + private var transitionDelegate = PresentationManager() override func viewDidLoad() { super.viewDidLoad() diff --git a/tree/tree/Helper/PresentationManager/PresentationController.swift b/tree/tree/Helper/PresentationManager/PresentationController.swift index 81606e9..37b83b9 100644 --- a/tree/tree/Helper/PresentationManager/PresentationController.swift +++ b/tree/tree/Helper/PresentationManager/PresentationController.swift @@ -23,7 +23,7 @@ class PresentationController: UIPresentationController { override init(presentedViewController: UIViewController, presenting presentingViewController: UIViewController?) { super.init(presentedViewController: presentedViewController, presenting: presentingViewController) - DimmingViewSetting() + dimmingViewSetting() } override func presentationTransitionWillBegin() { @@ -66,7 +66,7 @@ class PresentationController: UIPresentationController { private extension PresentationController { - func DimmingViewSetting() { + func dimmingViewSetting() { dimmingView = UIView() dimmingView.translatesAutoresizingMaskIntoConstraints = false dimmingView.backgroundColor = UIColor(white: 0.0, alpha: 0.5) From e86ae5ced7914c234ce4627b1bc75ea20283b160 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=80=E1=85=B5=E1=86=B7=E1=84=92=E1=85=A8=E1=84=85?= =?UTF-8?q?=E1=85=B5?= Date: Tue, 29 Jan 2019 14:01:44 +0900 Subject: [PATCH 020/183] #26 Feat: add keyword search func --- .../Search/SearchViewController.swift | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/tree/tree/Controller/Search/SearchViewController.swift b/tree/tree/Controller/Search/SearchViewController.swift index dcffb25..77881ca 100644 --- a/tree/tree/Controller/Search/SearchViewController.swift +++ b/tree/tree/Controller/Search/SearchViewController.swift @@ -22,7 +22,7 @@ class SearchViewController: UIViewController { private var searchBarTextField: UITextField? private var searchBarIsPresented: Bool = true private var articles: [Article]? - + override func viewDidLoad() { super.viewDidLoad() delegateSetting() @@ -30,7 +30,6 @@ class SearchViewController: UIViewController { tableViewSetting() navigationBarSetting() registerArticleCell() - getArticlesFromServer() } private func delegateSetting() { @@ -63,8 +62,8 @@ class SearchViewController: UIViewController { uiTableView.register(articleFeedNib, forCellReuseIdentifier: cellIdentifier) } - private func getArticlesFromServer() { - APIManager.getArticles(keyword: "Apple", keywordLoc: "title", lang: "eng", articlesSortBy: "date", articlesPage: 1) { (result) in + private func getArticlesFromServer(keyword: String) { + APIManager.getArticles(keyword: keyword, keywordLoc: "title", lang: "eng", articlesSortBy: "date", articlesPage: 1) { (result) in switch result { case .success(let articleData): self.articles = articleData.articles.results @@ -85,9 +84,7 @@ extension SearchViewController: UITableViewDataSource, UITableViewDelegate { } func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { - guard let cell = tableView.dequeueReusableCell(withIdentifier: cellIdentifier, for: indexPath) as? ArticleFeedTableViewCell else { - return UITableViewCell() - } + guard let cell = tableView.dequeueReusableCell(withIdentifier: cellIdentifier, for: indexPath) as? ArticleFeedTableViewCell else { return UITableViewCell() } guard let article = articles?[indexPath.row] else { return UITableViewCell() } cell.settingData(article: article) @@ -110,8 +107,9 @@ extension SearchViewController: UITableViewDataSource, UITableViewDelegate { guard let articleView = storyboard.instantiateViewController(withIdentifier: "ArticleDetailViewController") as? ArticleDetailViewController else { return } articleView.articleDetail = articles?[indexPath.row] - articleView.articleImage = cell.articleImageView.image - + if let articleImage = cell.articleImageView.image { + articleView.imageView.image = articleImage + } self.navigationController?.pushViewController(articleView, animated: true) } @@ -169,6 +167,7 @@ extension SearchViewController: UISearchBarDelegate { func searchBarSearchButtonClicked(_ searchBar: UISearchBar) { self.navigationItem.title = searchBar.text ?? "Search" + getArticlesFromServer(keyword: searchBar.text ?? "") searchBarHideAndSetting() } From e244506493d891fdbd66a5ac749b124ae7b1c2db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=80=E1=85=B5=E1=86=B7=E1=84=92=E1=85=A8=E1=84=85?= =?UTF-8?q?=E1=85=B5?= Date: Tue, 29 Jan 2019 14:06:46 +0900 Subject: [PATCH 021/183] #26 Feat : reset feed layout --- .../Search/ArticleFeedTableViewCell.swift | 6 +++++ .../View/Search/ArticleFeedTableViewCell.xib | 22 ++++++++++--------- 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/tree/tree/View/Search/ArticleFeedTableViewCell.swift b/tree/tree/View/Search/ArticleFeedTableViewCell.swift index 37a8208..4e7d1d7 100644 --- a/tree/tree/View/Search/ArticleFeedTableViewCell.swift +++ b/tree/tree/View/Search/ArticleFeedTableViewCell.swift @@ -10,6 +10,7 @@ import UIKit class ArticleFeedTableViewCell: UITableViewCell { + @IBOutlet weak var outerStackView: UIStackView! @IBOutlet weak var articleOuterView: UIView! @IBOutlet weak var articleImageView: UIImageView! @IBOutlet weak var titleLabel: UILabel! @@ -36,6 +37,11 @@ class ArticleFeedTableViewCell: UITableViewCell { self.descriptionLabel.text = article.body self.dateLabel.text = article.date self.companyLabel.text = article.source.title + if article.author != nil && article.author?.isEmpty == false { + if let author = article.author?[0].name { + self.authorLabel.text = author + } + } } func settingImage(image: Data) { diff --git a/tree/tree/View/Search/ArticleFeedTableViewCell.xib b/tree/tree/View/Search/ArticleFeedTableViewCell.xib index eacb5cf..da78694 100644 --- a/tree/tree/View/Search/ArticleFeedTableViewCell.xib +++ b/tree/tree/View/Search/ArticleFeedTableViewCell.xib @@ -23,17 +23,14 @@ - + - - - - + - + - + + + + @@ -100,6 +101,7 @@ + From e786537205b9831e7a64acb21c215cb09ae0af10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=80=E1=85=B5=E1=86=B7=E1=84=92=E1=85=A8=E1=84=85?= =?UTF-8?q?=E1=85=B5?= Date: Tue, 29 Jan 2019 15:47:12 +0900 Subject: [PATCH 022/183] #26 Feat : check feed cell position --- .../Search/ArticleDetailViewController.swift | 4 +- .../Search/SearchViewController.swift | 12 +++- .../Search/ArticleFeedTableViewCell.swift | 2 + .../View/Search/ArticleFeedTableViewCell.xib | 59 +++++++++++-------- 4 files changed, 49 insertions(+), 28 deletions(-) diff --git a/tree/tree/Controller/Search/ArticleDetailViewController.swift b/tree/tree/Controller/Search/ArticleDetailViewController.swift index aae2f95..5b040c6 100644 --- a/tree/tree/Controller/Search/ArticleDetailViewController.swift +++ b/tree/tree/Controller/Search/ArticleDetailViewController.swift @@ -44,7 +44,9 @@ class ArticleDetailViewController: UIViewController { titleLabel.text = articleDetail?.title dateLabel.text = articleDetail?.date contentLabel.text = articleDetail?.body - imageView.image = articleImage + if articleImage != nil { + imageView.image = articleImage + } } private func createFloatingButton() { diff --git a/tree/tree/Controller/Search/SearchViewController.swift b/tree/tree/Controller/Search/SearchViewController.swift index 77881ca..4738096 100644 --- a/tree/tree/Controller/Search/SearchViewController.swift +++ b/tree/tree/Controller/Search/SearchViewController.swift @@ -87,13 +87,17 @@ extension SearchViewController: UITableViewDataSource, UITableViewDelegate { guard let cell = tableView.dequeueReusableCell(withIdentifier: cellIdentifier, for: indexPath) as? ArticleFeedTableViewCell else { return UITableViewCell() } guard let article = articles?[indexPath.row] else { return UITableViewCell() } cell.settingData(article: article) - + cell.articleImageView.image = nil + cell.position = indexPath.row + DispatchQueue.global().async { if let articleImage = article.image { guard let imageURL = URL(string: articleImage) else { return } guard let imageData = try? Data(contentsOf: imageURL) else { return } DispatchQueue.main.async { - cell.settingImage(image: imageData) + if cell.position == indexPath.row { + cell.settingImage(image: imageData) + } } } } @@ -107,9 +111,11 @@ extension SearchViewController: UITableViewDataSource, UITableViewDelegate { guard let articleView = storyboard.instantiateViewController(withIdentifier: "ArticleDetailViewController") as? ArticleDetailViewController else { return } articleView.articleDetail = articles?[indexPath.row] + if let articleImage = cell.articleImageView.image { - articleView.imageView.image = articleImage + articleView.articleImage = articleImage } + self.navigationController?.pushViewController(articleView, animated: true) } diff --git a/tree/tree/View/Search/ArticleFeedTableViewCell.swift b/tree/tree/View/Search/ArticleFeedTableViewCell.swift index 4e7d1d7..fd645bb 100644 --- a/tree/tree/View/Search/ArticleFeedTableViewCell.swift +++ b/tree/tree/View/Search/ArticleFeedTableViewCell.swift @@ -19,6 +19,8 @@ class ArticleFeedTableViewCell: UITableViewCell { @IBOutlet weak var authorLabel: UILabel! @IBOutlet weak var descriptionLabel: UILabel! + var position = 0 + override func awakeFromNib() { super.awakeFromNib() settingArticleOuterView() diff --git a/tree/tree/View/Search/ArticleFeedTableViewCell.xib b/tree/tree/View/Search/ArticleFeedTableViewCell.xib index da78694..2774e12 100644 --- a/tree/tree/View/Search/ArticleFeedTableViewCell.xib +++ b/tree/tree/View/Search/ArticleFeedTableViewCell.xib @@ -23,44 +23,47 @@ - - + + - + + + + - + - + + + + + + + + + - - + - - - - + + + + - - - - + + + + From 427e3151b30f37c0f57b29739e8cfb4cfc05c35f Mon Sep 17 00:00:00 2001 From: godpp Date: Wed, 30 Jan 2019 00:04:25 +0900 Subject: [PATCH 023/183] Feat : TrandDays Response Data Model MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Google Trends 일별 인기 급상승 검색어 Data Model 입니다. --- tree/tree/Model/TrandDays.swift | 77 +++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 tree/tree/Model/TrandDays.swift diff --git a/tree/tree/Model/TrandDays.swift b/tree/tree/Model/TrandDays.swift new file mode 100644 index 0000000..e6d5d37 --- /dev/null +++ b/tree/tree/Model/TrandDays.swift @@ -0,0 +1,77 @@ +// +// TrandDays.swift +// tree +// +// Created by ParkSungJoon on 29/01/2019. +// Copyright © 2019 gardener. All rights reserved. +// + +import Foundation + +struct TrandDays: Codable { + let trandDaysDefault: Default + + private enum CodingKeys: String, CodingKey { + case trandDaysDefault = "default" + } +} + +struct Default: Codable { + let trendingSearchesDays: [TrendingSearchesDay] + let endDateForNextRequest: String + let rssFeedPageURL: String + + private enum CodingKeys: String, CodingKey { + case trendingSearchesDays, endDateForNextRequest + case rssFeedPageURL = "rssFeedPageUrl" + } +} + +struct TrendingSearchesDay: Codable { + let date, formattedDate: String + let trendingSearches: [TrendingSearch] +} + +struct TrendingSearch: Codable { + let title: Title + let formattedTraffic: FormattedTraffic + let relatedQueries: [Title] + let image: Image + let articles: [Articlea] + let shareURL: String + + private enum CodingKeys: String, CodingKey { + case title, formattedTraffic, relatedQueries, image, articles + case shareURL = "shareUrl" + } +} + +struct Articlea: Codable { + let title, timeAgo, source: String + let image: Image? + let url: String + let snippet: String +} + +struct Image: Codable { + let newsURL: String + let source: String + let imageURL: String + + private enum CodingKeys: String, CodingKey { + case newsURL = "newsUrl" + case source + case imageURL = "imageUrl" + } +} + +enum FormattedTraffic: String, Codable { + case the10만 = "10만+" + case the20만 = "20만+" + case the2만 = "2만+" + case the50만 = "50만+" +} + +struct Title: Codable { + let query, exploreLink: String +} From 438857b57daa36d2e0a3f6a5db8c793155445c9f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=80=E1=85=B5=E1=86=B7=E1=84=92=E1=85=A8=E1=84=85?= =?UTF-8?q?=E1=85=B5?= Date: Wed, 30 Jan 2019 11:11:33 +0900 Subject: [PATCH 024/183] Feat : update cell layout & solved error --- .../Search/SearchViewController.swift | 20 ++-- .../View/Search/ArticleFeedTableViewCell.xib | 98 +++++++++---------- 2 files changed, 56 insertions(+), 62 deletions(-) diff --git a/tree/tree/Controller/Search/SearchViewController.swift b/tree/tree/Controller/Search/SearchViewController.swift index e57f242..e63d270 100644 --- a/tree/tree/Controller/Search/SearchViewController.swift +++ b/tree/tree/Controller/Search/SearchViewController.swift @@ -32,7 +32,6 @@ class SearchViewController: UIViewController { navigationBarSetting() registerArticleCell() filterItemSetting() - getArticlesFromServer() } private func delegateSetting() { @@ -77,18 +76,19 @@ class SearchViewController: UIViewController { print(error.localizedDescription) } } - - private func filterItemSetting() { + } + + private func filterItemSetting() { navigationFilterItem.addTarget(self, action: #selector(filterItemTapAtion), for: .touchUpInside) - } - + } + @objc private func filterItemTapAtion() { guard let filterViewController: UIViewController = self.storyboard?.instantiateViewController(withIdentifier: "SearchFilterViewController") else { return } filterViewController.transitioningDelegate = transitionDelegate filterViewController.modalPresentationStyle = .custom present(filterViewController, animated: true) } - + } extension SearchViewController: UITableViewDataSource, UITableViewDelegate { @@ -103,7 +103,7 @@ extension SearchViewController: UITableViewDataSource, UITableViewDelegate { cell.settingData(article: article) cell.articleImageView.image = nil cell.position = indexPath.row - + DispatchQueue.global().async { if let articleImage = article.image { guard let imageURL = URL(string: articleImage) else { return } @@ -125,7 +125,7 @@ extension SearchViewController: UITableViewDataSource, UITableViewDelegate { guard let articleView = storyboard.instantiateViewController(withIdentifier: "ArticleDetailViewController") as? ArticleDetailViewController else { return } articleView.articleDetail = articles?[indexPath.row] - + if let articleImage = cell.articleImageView.image { articleView.articleImage = articleImage } @@ -172,10 +172,6 @@ extension SearchViewController: UITableViewDataSource, UITableViewDelegate { self.uiSearchBarOuterView.alpha = directionIsDown ? 0 : 1.0 } } - - @objc private func buttonTapAction(_ sender: UIBarItem) { - - } } extension SearchViewController: UISearchBarDelegate { diff --git a/tree/tree/View/Search/ArticleFeedTableViewCell.xib b/tree/tree/View/Search/ArticleFeedTableViewCell.xib index 2774e12..57c5cf6 100644 --- a/tree/tree/View/Search/ArticleFeedTableViewCell.xib +++ b/tree/tree/View/Search/ArticleFeedTableViewCell.xib @@ -13,57 +13,67 @@ - - + + - + - + - + - + + + + + + - + - + - + - - - - + + - + + + + + - - - - - - - - - - - - - - - - - + + + + - - - - + + + + @@ -115,7 +113,7 @@ - + From 4c7c3c0cefc9f9a50bc8350c8bf17a32d7cee639 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=80=E1=85=B5=E1=86=B7=E1=84=92=E1=85=A8=E1=84=85?= =?UTF-8?q?=E1=85=B5?= Date: Wed, 30 Jan 2019 11:29:09 +0900 Subject: [PATCH 025/183] Feat : Create NSCache --- tree/tree/Extension/Extension+ImageView.swift | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 tree/tree/Extension/Extension+ImageView.swift diff --git a/tree/tree/Extension/Extension+ImageView.swift b/tree/tree/Extension/Extension+ImageView.swift new file mode 100644 index 0000000..e1e72a9 --- /dev/null +++ b/tree/tree/Extension/Extension+ImageView.swift @@ -0,0 +1,40 @@ +// +// Extension+ImageView.swift +// tree +// +// Created by hyeri kim on 30/01/2019. +// Copyright © 2019 gardener. All rights reserved. +// + +import UIKit + +var imageChache = NSCache() + +class ArticleImage: UIImageView { + var imageUrl: String? + + func loadImageUrl(articleUrl: String) { + imageUrl = articleUrl + + image = nil + if let imageFromCache = imageChache.object(forKey: articleUrl as AnyObject) as? UIImage { + self.image = imageFromCache + } + + DispatchQueue.global().async { + guard let imageURL = URL(string: articleUrl) else { return } + guard let imageData = try? Data(contentsOf: imageURL) else { return } + + DispatchQueue.main.async { + let imageToCache = UIImage(data: imageData) + if self.imageUrl == articleUrl { + self.image = imageToCache + } + + if imageToCache != nil { + imageChache.setObject(imageToCache!, forKey: articleUrl as AnyObject) + } + } + } + } +} From 7f5ed339cb02d7d80a629e103cd9c0c998949741 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=80=E1=85=B5=E1=86=B7=E1=84=92=E1=85=A8=E1=84=85?= =?UTF-8?q?=E1=85=B5?= Date: Wed, 30 Jan 2019 13:00:41 +0900 Subject: [PATCH 026/183] =?UTF-8?q?#26=20Feat=20:=20add=20stack=20view=20h?= =?UTF-8?q?idden=20func=20=E1=84=8B=E1=85=B5=E1=84=86=E1=85=B5=E1=84=8C?= =?UTF-8?q?=E1=85=B5=E1=84=80=E1=85=A1=20=E1=84=8B=E1=85=A5=E1=86=B9?= =?UTF-8?q?=E1=84=8B=E1=85=B3=E1=86=AF=20=E1=84=80=E1=85=A7=E1=86=BC?= =?UTF-8?q?=E1=84=8B=E1=85=AE=20=E1=84=8B=E1=85=B5=E1=84=86=E1=85=B5?= =?UTF-8?q?=E1=84=8C=E1=85=B5=E1=84=85=E1=85=B3=E1=86=AF=20=E1=84=80?= =?UTF-8?q?=E1=85=A1=E1=84=8C=E1=85=B5=E1=86=AB=20stackview=E1=84=85?= =?UTF-8?q?=E1=85=B3=E1=86=AF=20hidden=E1=84=8E=E1=85=A5=E1=84=85=E1=85=B5?= =?UTF-8?q?=20=E1=84=92=E1=85=A2=E1=84=8C=E1=85=AE=E1=84=8B=E1=85=A5=20?= =?UTF-8?q?=E1=84=89=E1=85=A6=E1=86=AF=20=E1=84=89=E1=85=A1=E1=84=8B?= =?UTF-8?q?=E1=85=B5=E1=84=8C=E1=85=B3=E1=84=85=E1=85=B3=E1=86=AF=20?= =?UTF-8?q?=E1=84=8C=E1=85=AE=E1=86=AF=E1=84=8B=E1=85=A7=E1=86=BB=E1=84=89?= =?UTF-8?q?=E1=85=B3=E1=86=B8=E1=84=82=E1=85=B5=E1=84=83=E1=85=A1.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Search/SearchViewController.swift | 15 --------------- tree/tree/Extension/Extension+ImageView.swift | 2 +- .../View/Search/ArticleFeedTableViewCell.swift | 13 ++++++++----- .../View/Search/ArticleFeedTableViewCell.xib | 17 +++++++++-------- 4 files changed, 18 insertions(+), 29 deletions(-) diff --git a/tree/tree/Controller/Search/SearchViewController.swift b/tree/tree/Controller/Search/SearchViewController.swift index e63d270..b5e3c14 100644 --- a/tree/tree/Controller/Search/SearchViewController.swift +++ b/tree/tree/Controller/Search/SearchViewController.swift @@ -101,21 +101,6 @@ extension SearchViewController: UITableViewDataSource, UITableViewDelegate { guard let cell = tableView.dequeueReusableCell(withIdentifier: cellIdentifier, for: indexPath) as? ArticleFeedTableViewCell else { return UITableViewCell() } guard let article = articles?[indexPath.row] else { return UITableViewCell() } cell.settingData(article: article) - cell.articleImageView.image = nil - cell.position = indexPath.row - - DispatchQueue.global().async { - if let articleImage = article.image { - guard let imageURL = URL(string: articleImage) else { return } - guard let imageData = try? Data(contentsOf: imageURL) else { return } - DispatchQueue.main.async { - if cell.position == indexPath.row { - cell.settingImage(image: imageData) - } - } - } - } - return cell } diff --git a/tree/tree/Extension/Extension+ImageView.swift b/tree/tree/Extension/Extension+ImageView.swift index e1e72a9..43048af 100644 --- a/tree/tree/Extension/Extension+ImageView.swift +++ b/tree/tree/Extension/Extension+ImageView.swift @@ -8,7 +8,7 @@ import UIKit -var imageChache = NSCache() +let imageChache = NSCache() class ArticleImage: UIImageView { var imageUrl: String? diff --git a/tree/tree/View/Search/ArticleFeedTableViewCell.swift b/tree/tree/View/Search/ArticleFeedTableViewCell.swift index fd645bb..c448bf2 100644 --- a/tree/tree/View/Search/ArticleFeedTableViewCell.swift +++ b/tree/tree/View/Search/ArticleFeedTableViewCell.swift @@ -10,9 +10,10 @@ import UIKit class ArticleFeedTableViewCell: UITableViewCell { + @IBOutlet weak var imageStackView: UIStackView! @IBOutlet weak var outerStackView: UIStackView! @IBOutlet weak var articleOuterView: UIView! - @IBOutlet weak var articleImageView: UIImageView! + @IBOutlet weak var articleImageView: ArticleImage! @IBOutlet weak var titleLabel: UILabel! @IBOutlet weak var companyLabel: UILabel! @IBOutlet weak var dateLabel: UILabel! @@ -44,10 +45,12 @@ class ArticleFeedTableViewCell: UITableViewCell { self.authorLabel.text = author } } - } - - func settingImage(image: Data) { - self.articleImageView.image = UIImage(data: image) + if article.image == nil { + self.imageStackView.isHidden = true + } else { + self.imageStackView.isHidden = false + self.articleImageView.loadImageUrl(articleUrl: article.image ?? "") + } } } diff --git a/tree/tree/View/Search/ArticleFeedTableViewCell.xib b/tree/tree/View/Search/ArticleFeedTableViewCell.xib index 57c5cf6..02fbf07 100644 --- a/tree/tree/View/Search/ArticleFeedTableViewCell.xib +++ b/tree/tree/View/Search/ArticleFeedTableViewCell.xib @@ -23,13 +23,13 @@ - + - + @@ -38,10 +38,10 @@ - + - - + + - - + + - + @@ -158,7 +159,4 @@ - - - From bd6919c079b6e439b6fe04bb52b4ac24b98d5cf1 Mon Sep 17 00:00:00 2001 From: godpp Date: Wed, 30 Jan 2019 14:42:07 +0900 Subject: [PATCH 029/183] Feat & Refactor : LIVE Trand Network Feat URLSession downloadTask for Google Trand Refactor Response Data Model --- tree/tree/Model/TrandDays.swift | 9 +-- .../Network Layer/API/GoogleTrendAPI.swift | 59 +++++++++++++++++++ .../Network Layer/Service/APICenter.swift | 40 ++++++++++++- .../Network Layer/Service/APIManager.swift | 17 ++++++ .../Network Layer/Service/APIService.swift | 3 +- 5 files changed, 118 insertions(+), 10 deletions(-) create mode 100644 tree/tree/Network Layer/API/GoogleTrendAPI.swift diff --git a/tree/tree/Model/TrandDays.swift b/tree/tree/Model/TrandDays.swift index e6d5d37..5fa6141 100644 --- a/tree/tree/Model/TrandDays.swift +++ b/tree/tree/Model/TrandDays.swift @@ -34,7 +34,7 @@ struct TrendingSearchesDay: Codable { struct TrendingSearch: Codable { let title: Title - let formattedTraffic: FormattedTraffic + let formattedTraffic: String let relatedQueries: [Title] let image: Image let articles: [Articlea] @@ -65,13 +65,6 @@ struct Image: Codable { } } -enum FormattedTraffic: String, Codable { - case the10만 = "10만+" - case the20만 = "20만+" - case the2만 = "2만+" - case the50만 = "50만+" -} - struct Title: Codable { let query, exploreLink: String } diff --git a/tree/tree/Network Layer/API/GoogleTrendAPI.swift b/tree/tree/Network Layer/API/GoogleTrendAPI.swift new file mode 100644 index 0000000..7ad2031 --- /dev/null +++ b/tree/tree/Network Layer/API/GoogleTrendAPI.swift @@ -0,0 +1,59 @@ +// +// GoogleTrendAPI.swift +// tree +// +// Created by ParkSungJoon on 29/01/2019. +// Copyright © 2019 gardener. All rights reserved. +// + +import Foundation + +enum GoogleTrendAPI { + case getDailyTrends(hl: String, geo: String) + case getRealTimeTrends +} + +extension GoogleTrendAPI: APIService { + var baseURL: URL { + guard let url = URL(string: "https://trends.google.com/trends/api") else { + fatalError("Invalid URL") + } + return url + } + + var path: String { + switch self { + case .getDailyTrends: + return "/dailytrends" + case .getRealTimeTrends: + return "/realtimetrends" + } + } + + var method: HTTPMethod { + switch self { + case .getDailyTrends: + return .get + case .getRealTimeTrends: + return .get + } + } + + var parameters: Parameters { + switch self { + case .getDailyTrends(let hl, let geo): + return ["hl": hl, "geo": geo] + case .getRealTimeTrends: + return [:] + } + } + + var task: HTTPTask { + switch self { + case .getDailyTrends: + return .requestWith(url: parameters, body: nil, encoding: .query) + case .getRealTimeTrends: + return .requestWith(url: parameters, body: nil, encoding: .query) + } + } +} diff --git a/tree/tree/Network Layer/Service/APICenter.swift b/tree/tree/Network Layer/Service/APICenter.swift index 539ddf0..f02248b 100644 --- a/tree/tree/Network Layer/Service/APICenter.swift +++ b/tree/tree/Network Layer/Service/APICenter.swift @@ -18,7 +18,7 @@ class APICenter { ) -> Void) { do { let urlRequest = try makeURLRequest(from: service) - let task = URLSession.shared.dataTask(with: urlRequest) { (data, response, error) in + let task = URLSession.shared.dataTask(with: urlRequest) { (data, response, _) in guard let data = data else { return completion(nil, response, NetworkError.noData) } @@ -43,6 +43,43 @@ class APICenter { } } + func requestDownload( + _ service: Service, + completion: @escaping ( + _ pureJSON: String?, + _ error: NetworkError? + ) -> Void) { + do { + let urlRequest = try? makeURLRequest(from: service) + let task = URLSession.shared.downloadTask(with: urlRequest!) { (localURL, response, _) in + guard let localURL = localURL else { + return completion(nil, NetworkError.invalidURL) + } + do { + let rawJSON = try String(contentsOf: localURL) + guard let pureJSON = rawJSON.components(separatedBy: "\n").last else { return } + guard let response = response as? HTTPURLResponse else { + return completion(pureJSON, NetworkError.noResponse) + } + let statusCode = response.statusCode + switch NetworkResponse().result(response) { + case .success: + completion(pureJSON, nil) + case .failure: + completion(pureJSON, NetworkError.networkFail) + case .clientError: + completion(pureJSON, NetworkError.clientError(statusCode: statusCode)) + case .serverError: + completion(pureJSON, NetworkError.serverError(statusCode: statusCode)) + } + } catch { + completion(nil, NetworkError.decodingFail) + } + } + task.resume() + } + } + private func makeURLRequest(from service: Service) throws -> URLRequest { let fullUrl = service.baseURL.appendingPathComponent(service.path) var urlRequest = URLRequest(url: fullUrl) @@ -58,6 +95,7 @@ class APICenter { throw error } } + print(urlRequest.url) return urlRequest } diff --git a/tree/tree/Network Layer/Service/APIManager.swift b/tree/tree/Network Layer/Service/APIManager.swift index ef61a9a..3859600 100644 --- a/tree/tree/Network Layer/Service/APIManager.swift +++ b/tree/tree/Network Layer/Service/APIManager.swift @@ -35,4 +35,21 @@ final class APIManager { } } } + + static func getDailyTrends( + hl: String, + geo: String, + completion: @escaping (Result + ) -> Void) { + APICenter().requestDownload(.getDailyTrends(hl: hl, geo: geo)) { (pureJSON, error) in + guard let pureJSON = pureJSON else { return } + guard let jsonData = pureJSON.data(using: .utf8) else { return } + do { + let decodeJSON = try JSONDecoder().decode(TrandDays.self, from: jsonData) + completion(Result.success(decodeJSON)) + } catch { + completion(Result.failure(NetworkError.decodingFail)) + } + } + } } diff --git a/tree/tree/Network Layer/Service/APIService.swift b/tree/tree/Network Layer/Service/APIService.swift index 0b04753..cc37b76 100644 --- a/tree/tree/Network Layer/Service/APIService.swift +++ b/tree/tree/Network Layer/Service/APIService.swift @@ -33,8 +33,9 @@ enum HTTPHeaderField: String { case contentType = "Content-Type" case acceptType = "Accept" case acceptEncoding = "Accept-Encoding" + case contentDisposition = "Content-Disposition" } enum ContentType: String { - case json = "application/json" + case json = "application/json; charset=UTF-8" } From 07cdeefdc198f39f7927af40b98f5103ae1af57b Mon Sep 17 00:00:00 2001 From: onemoon Date: Wed, 30 Jan 2019 14:50:10 +0900 Subject: [PATCH 030/183] Feat : Base Setup Feat Base Setup for Scrap Tab --- tree/tree.xcodeproj/project.pbxproj | 24 +++++++ .../Scrap/ScrapViewController.swift | 31 +++++++++ tree/tree/View/Scrap/Scrap.storyboard | 66 +++++++++++++++++++ 3 files changed, 121 insertions(+) create mode 100644 tree/tree/Controller/Scrap/ScrapViewController.swift create mode 100644 tree/tree/View/Scrap/Scrap.storyboard diff --git a/tree/tree.xcodeproj/project.pbxproj b/tree/tree.xcodeproj/project.pbxproj index 6725bd5..ffa08ba 100644 --- a/tree/tree.xcodeproj/project.pbxproj +++ b/tree/tree.xcodeproj/project.pbxproj @@ -29,6 +29,8 @@ BC2656C321FD94EE00003413 /* NetworkResult.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC2656BB21FD94EE00003413 /* NetworkResult.swift */; }; BC2656C421FD94EE00003413 /* NetworkError.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC2656BC21FD94EE00003413 /* NetworkError.swift */; }; BC2656C721FD950900003413 /* Articles.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC2656C621FD950900003413 /* Articles.swift */; }; + D9178DFC22015475000C4A7F /* ScrapViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9178DFB22015475000C4A7F /* ScrapViewController.swift */; }; + D9178DFF220154A4000C4A7F /* Scrap.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = D9178DFE220154A4000C4A7F /* Scrap.storyboard */; }; D9C6AB3D21FA9B3E001C0AB8 /* Extension+UIColor.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9C6AB3721FA9B3E001C0AB8 /* Extension+UIColor.swift */; }; D9C6AB4421FA9CF8001C0AB8 /* Search.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = D9C6AB4321FA9CF8001C0AB8 /* Search.storyboard */; }; D9C6AB4D21FAAD0A001C0AB8 /* SearchViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9C6AB4A21FAAD09001C0AB8 /* SearchViewController.swift */; }; @@ -66,6 +68,8 @@ BC2656BC21FD94EE00003413 /* NetworkError.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NetworkError.swift; sourceTree = ""; }; BC2656C621FD950900003413 /* Articles.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Articles.swift; sourceTree = ""; }; BF0163F8362378789ACC30D4 /* Pods_tree.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_tree.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D9178DFB22015475000C4A7F /* ScrapViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ScrapViewController.swift; sourceTree = ""; }; + D9178DFE220154A4000C4A7F /* Scrap.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = Scrap.storyboard; sourceTree = ""; }; D9C6AB3721FA9B3E001C0AB8 /* Extension+UIColor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Extension+UIColor.swift"; sourceTree = ""; }; D9C6AB4321FA9CF8001C0AB8 /* Search.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Search.storyboard; sourceTree = ""; }; D9C6AB4A21FAAD09001C0AB8 /* SearchViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SearchViewController.swift; sourceTree = ""; }; @@ -198,6 +202,22 @@ path = Model; sourceTree = ""; }; + D9178DFA22015437000C4A7F /* Scrap */ = { + isa = PBXGroup; + children = ( + D9178DFB22015475000C4A7F /* ScrapViewController.swift */, + ); + path = Scrap; + sourceTree = ""; + }; + D9178DFD22015485000C4A7F /* Scrap */ = { + isa = PBXGroup; + children = ( + D9178DFE220154A4000C4A7F /* Scrap.storyboard */, + ); + path = Scrap; + sourceTree = ""; + }; D9C6AB3621FA9B3E001C0AB8 /* Extension */ = { isa = PBXGroup; children = ( @@ -211,6 +231,7 @@ isa = PBXGroup; children = ( D9C6AB4021FA9CBB001C0AB8 /* Search */, + D9178DFD22015485000C4A7F /* Scrap */, ); path = View; sourceTree = ""; @@ -230,6 +251,7 @@ isa = PBXGroup; children = ( D9C6AB4921FAAD09001C0AB8 /* Search */, + D9178DFA22015437000C4A7F /* Scrap */, D9C6AB4B21FAAD09001C0AB8 /* Main */, ); path = Controller; @@ -332,6 +354,7 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + D9178DFF220154A4000C4A7F /* Scrap.storyboard in Resources */, 35DC0DFF21F6FB3200F30416 /* .swiftlint.yml in Resources */, 35DC0DD921F6F3CB00F30416 /* LaunchScreen.storyboard in Resources */, 35CB482121FB6306000D96CF /* ArticleFeedTableViewCell.xib in Resources */, @@ -413,6 +436,7 @@ 35CB481D21FAE7C8000D96CF /* ArticleImageViewController.swift in Sources */, 35CB481B21FAC610000D96CF /* ArticleDetailViewController.swift in Sources */, D9C6AB8021FED9F7001C0AB8 /* PresentationController.swift in Sources */, + D9178DFC22015475000C4A7F /* ScrapViewController.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/tree/tree/Controller/Scrap/ScrapViewController.swift b/tree/tree/Controller/Scrap/ScrapViewController.swift new file mode 100644 index 0000000..c2772fa --- /dev/null +++ b/tree/tree/Controller/Scrap/ScrapViewController.swift @@ -0,0 +1,31 @@ +// +// ScrapViewController.swift +// tree +// +// Created by Hyeontae on 30/01/2019. +// Copyright © 2019 gardener. All rights reserved. +// + +import UIKit + +class ScrapViewController: UIViewController { + + + override func viewDidLoad() { + super.viewDidLoad() + + // Do any additional setup after loading the view. + } + + + /* + // MARK: - Navigation + + // In a storyboard-based application, you will often want to do a little preparation before navigation + override func prepare(for segue: UIStoryboardSegue, sender: Any?) { + // Get the new view controller using segue.destination. + // Pass the selected object to the new view controller. + } + */ + +} diff --git a/tree/tree/View/Scrap/Scrap.storyboard b/tree/tree/View/Scrap/Scrap.storyboard new file mode 100644 index 0000000..7beab71 --- /dev/null +++ b/tree/tree/View/Scrap/Scrap.storyboard @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 110c64030263738a75a989525922ab7f711ad860 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=80=E1=85=B5=E1=86=B7=E1=84=92=E1=85=A8=E1=84=85?= =?UTF-8?q?=E1=85=B5?= Date: Wed, 30 Jan 2019 15:05:59 +0900 Subject: [PATCH 031/183] Feat : create floating animation --- .../Search/ArticleDetailViewController.swift | 48 ++++++++++++++++--- .../View/Search/ArticleFeedTableViewCell.xib | 2 +- 2 files changed, 43 insertions(+), 7 deletions(-) diff --git a/tree/tree/Controller/Search/ArticleDetailViewController.swift b/tree/tree/Controller/Search/ArticleDetailViewController.swift index 9415c5b..58d5b01 100644 --- a/tree/tree/Controller/Search/ArticleDetailViewController.swift +++ b/tree/tree/Controller/Search/ArticleDetailViewController.swift @@ -17,6 +17,9 @@ class ArticleDetailViewController: UIViewController { @IBOutlet weak var contentLabel: UILabel! private var floatingButton = UIButton() + private var checkAnimation: Bool = true + private lazy var papagoButton = UIButton(type: .custom) + var articleDetail: Article? override func viewDidLoad() { @@ -64,10 +67,9 @@ class ArticleDetailViewController: UIViewController { } private func createFloatingButton() { - floatingButton = UIButton(type: .custom) floatingButton.backgroundColor = .black floatingButton.translatesAutoresizingMaskIntoConstraints = false - floatingButton.addTarget(self, action: #selector(translateButtonOnClick), for: .touchUpInside) + floatingButton.addTarget(self, action: #selector(floatingButtonClick), for: .touchUpInside) DispatchQueue.main.async { if let keyWindow = UIApplication.shared.keyWindow { keyWindow.addSubview(self.floatingButton) @@ -81,15 +83,44 @@ class ArticleDetailViewController: UIViewController { } private func removeFloatingButton() { - if floatingButton.superview != nil { + if floatingButton.superview != nil || papagoButton.superview != nil { DispatchQueue.main.async { self.floatingButton.removeFromSuperview() + self.papagoButton.removeFromSuperview() } } } - - @objc private func translateButtonOnClick() { - //reload view + + @objc private func floatingButtonClick() { + UIView.animate(withDuration: 0.5, animations: { + self.floatingButton.transform = CGAffineTransform(scaleX: 0.8, y: 0.8) + }) { (_) in + if self.checkAnimation { + UIView.animate(withDuration: 0.2, animations: { + self.floatingButton.transform = CGAffineTransform.identity + self.papagoButton.backgroundColor = .black + self.papagoButton.translatesAutoresizingMaskIntoConstraints = false + self.papagoButton.addTarget(self, action: #selector(self.papagoTranslate), for: .touchUpInside) + DispatchQueue.main.async { + if let keyWindow = UIApplication.shared.keyWindow { + keyWindow.addSubview(self.papagoButton) + NSLayoutConstraint.activate([ + keyWindow.trailingAnchor.constraint(equalTo: self.papagoButton.trailingAnchor, constant: 25), + self.floatingButton.topAnchor.constraint(equalTo: self.papagoButton.bottomAnchor, constant: 16), + self.papagoButton.widthAnchor.constraint(equalToConstant: 30), + self.papagoButton.heightAnchor.constraint(equalToConstant: 30)]) + } + self.papagoButton.transform = CGAffineTransform(scaleX: 0.8, y: 0.8) + } + }) + } else { + UIView.animate(withDuration: 0.2, animations: { + self.floatingButton.transform = CGAffineTransform.identity + }) + self.papagoButton.removeFromSuperview() + } + self.checkAnimation.toggle() + } } @objc private func imageTapped() { @@ -98,4 +129,9 @@ class ArticleDetailViewController: UIViewController { articleViewer.articleImage = articleImage self.present(articleViewer, animated: false, completion: nil) } + + @objc private func papagoTranslate() { + + } + } diff --git a/tree/tree/View/Search/ArticleFeedTableViewCell.xib b/tree/tree/View/Search/ArticleFeedTableViewCell.xib index 02fbf07..06319a8 100644 --- a/tree/tree/View/Search/ArticleFeedTableViewCell.xib +++ b/tree/tree/View/Search/ArticleFeedTableViewCell.xib @@ -114,7 +114,7 @@ - + From c57dea53faab0a894381655b3bdf00af32662dd6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=80=E1=85=B5=E1=86=B7=E1=84=92=E1=85=A8=E1=84=85?= =?UTF-8?q?=E1=85=B5?= Date: Wed, 30 Jan 2019 16:03:23 +0900 Subject: [PATCH 032/183] =?UTF-8?q?#26=20Add=20:=20set=20layout=20margin?= =?UTF-8?q?=20conerRadius=E1=84=8B=E1=85=A6=20=E1=84=8C=E1=85=A1=E1=86=AF?= =?UTF-8?q?=E1=84=85=E1=85=B5=E1=84=82=E1=85=B3=E1=86=AB=20=E1=84=92?= =?UTF-8?q?=E1=85=A7=E1=86=AB=E1=84=89=E1=85=A1=E1=86=BC=E1=84=8B=E1=85=B5?= =?UTF-8?q?=20=E1=84=87=E1=85=A1=E1=86=AF=E1=84=89=E1=85=A2=E1=86=BC?= =?UTF-8?q?=E1=84=92=E1=85=A2=20margin=E1=84=8B=E1=85=B3=E1=86=AF=20?= =?UTF-8?q?=E1=84=8C=E1=85=B5=E1=84=8C=E1=85=A5=E1=86=BC=E1=84=92=E1=85=A2?= =?UTF-8?q?=E1=86=BB=E1=84=89=E1=85=B3=E1=86=B8=E1=84=82=E1=85=B5=E1=84=83?= =?UTF-8?q?=E1=85=A1.=20author=E1=84=8B=E1=85=B3=E1=86=AF=20company=20labe?= =?UTF-8?q?l=E1=84=80=E1=85=AA=20=E1=84=89=E1=85=B3=E1=84=90=E1=85=A2?= =?UTF-8?q?=E1=86=A8=E1=84=8B=E1=85=B3=E1=84=85=E1=85=A9=20=E1=84=86?= =?UTF-8?q?=E1=85=AE=E1=86=A9=E1=84=8B=E1=85=A5=E1=84=8C=E1=85=AE=E1=84=80?= =?UTF-8?q?=E1=85=A9=20\=20=E1=84=85=E1=85=A9=20=E1=84=80=E1=85=AE?= =?UTF-8?q?=E1=84=87=E1=85=AE=E1=86=AB=E1=84=92=E1=85=A2=E1=86=BB=E1=84=89?= =?UTF-8?q?=E1=85=B3=E1=86=B8=E1=84=82=E1=85=B5=E1=84=83=E1=85=A1.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Search/ArticleFeedTableViewCell.swift | 2 +- .../View/Search/ArticleFeedTableViewCell.xib | 44 +++++++++++-------- 2 files changed, 26 insertions(+), 20 deletions(-) diff --git a/tree/tree/View/Search/ArticleFeedTableViewCell.swift b/tree/tree/View/Search/ArticleFeedTableViewCell.swift index c448bf2..60260f0 100644 --- a/tree/tree/View/Search/ArticleFeedTableViewCell.swift +++ b/tree/tree/View/Search/ArticleFeedTableViewCell.swift @@ -42,7 +42,7 @@ class ArticleFeedTableViewCell: UITableViewCell { self.companyLabel.text = article.source.title if article.author != nil && article.author?.isEmpty == false { if let author = article.author?[0].name { - self.authorLabel.text = author + self.authorLabel.text = " / \(author)" } } if article.image == nil { diff --git a/tree/tree/View/Search/ArticleFeedTableViewCell.xib b/tree/tree/View/Search/ArticleFeedTableViewCell.xib index 06319a8..78e16fb 100644 --- a/tree/tree/View/Search/ArticleFeedTableViewCell.xib +++ b/tree/tree/View/Search/ArticleFeedTableViewCell.xib @@ -38,42 +38,47 @@ - + - + - - + + - - + + + + + + + + From cc1cc0df5a7d24ee8c69522b2d9da1048ccddca3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=80=E1=85=B5=E1=86=B7=E1=84=92=E1=85=A8=E1=84=85?= =?UTF-8?q?=E1=85=B5?= Date: Wed, 30 Jan 2019 16:19:52 +0900 Subject: [PATCH 033/183] #26 Add between label --- .../View/Search/ArticleFeedTableViewCell.swift | 7 +++++-- .../tree/View/Search/ArticleFeedTableViewCell.xib | 15 +++++++++++---- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/tree/tree/View/Search/ArticleFeedTableViewCell.swift b/tree/tree/View/Search/ArticleFeedTableViewCell.swift index 60260f0..9f723ec 100644 --- a/tree/tree/View/Search/ArticleFeedTableViewCell.swift +++ b/tree/tree/View/Search/ArticleFeedTableViewCell.swift @@ -10,6 +10,7 @@ import UIKit class ArticleFeedTableViewCell: UITableViewCell { + @IBOutlet weak var betweenLabel: UILabel! @IBOutlet weak var imageStackView: UIStackView! @IBOutlet weak var outerStackView: UIStackView! @IBOutlet weak var articleOuterView: UIView! @@ -40,11 +41,13 @@ class ArticleFeedTableViewCell: UITableViewCell { self.descriptionLabel.text = article.body self.dateLabel.text = article.date self.companyLabel.text = article.source.title + betweenLabel.isHidden = true if article.author != nil && article.author?.isEmpty == false { if let author = article.author?[0].name { - self.authorLabel.text = " / \(author)" + betweenLabel.isHidden = false + self.authorLabel.text = author } - } + } if article.image == nil { self.imageStackView.isHidden = true } else { diff --git a/tree/tree/View/Search/ArticleFeedTableViewCell.xib b/tree/tree/View/Search/ArticleFeedTableViewCell.xib index 78e16fb..03520d7 100644 --- a/tree/tree/View/Search/ArticleFeedTableViewCell.xib +++ b/tree/tree/View/Search/ArticleFeedTableViewCell.xib @@ -57,11 +57,11 @@ - + - - + + - - + diff --git a/tree/tree/View/Search/ArticleFeedTableViewCell.xib b/tree/tree/View/Search/ArticleFeedTableViewCell.xib index 03520d7..a562aa0 100644 --- a/tree/tree/View/Search/ArticleFeedTableViewCell.xib +++ b/tree/tree/View/Search/ArticleFeedTableViewCell.xib @@ -29,7 +29,7 @@ - + From 2ea0e34d211b9b96e2b14f2d8c3fed5172eeeeef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EB=B0=95=EC=84=B1=EC=A4=80?= Date: Fri, 1 Feb 2019 11:30:58 +0900 Subject: [PATCH 038/183] Update README.md --- README.md | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index 527ef20..b9dc8b8 100644 --- a/README.md +++ b/README.md @@ -1,22 +1,21 @@ -# TREE 🌳 -> 전 세계적인 이슈를 확인할 수 있는 애플리케이션 +# TREE +> 전 세계 이슈(급상승 검색어, 뉴스 기사)를 실시간으로 제공하는 애플리케이션 -## ⚠️ GROUND RULE ⚠️ +## GROUND RULE -- 공통된 코드 컨벤션을 사용합니다. -- 코드의 효율성을 증대시킵니다. -- 대화를 통한 적극적인 피드백을 주고받습니다. -- 프로젝트 완성을 목표로 합니다. +* 공통된 코드 컨벤션을 사용합니다. + - [Wiki](https://github.com/boostcamp3-iOS/team-a1/wiki/Swift-Style-Guide)에 정의하였습니다. +* 코드의 효율성을 증대시킵니다. + - 재사용 가능한 부분에 대해서는 모듈로 활용하여 사용합니다. + - PR에 대한 코멘트를 활용하여 서로의 코드를 적극적으로 리뷰합니다. +* 대화를 통한 적극적인 피드백을 주고받습니다. + - 매일 아침 10시부터 데일리 스크럼을 통해 어제 한 작업을 공유하고 오늘 해야할 작업을 명확하게 설정합니다. -## 📑 앱 기획서 📑 - ### 기능 트리 -![텍스트목록](./image/1.png) +## 기능 트리 +![](./image/functionTree.png) +## 현재까지 작업한 뷰 -## 🔜 핵심 기능 구현 순서 🔜 +> Search -- 검색을 통해 유저가 원하는 다양한 아티클 검색 가능 -- 가독성을 높이고 빠른 응답 속도를 보여주는 네이티브 뷰어 기능 -- 전 세계에서 업데이트 되는 뉴스를 실시간으로 표시 -- 아티클 스크랩을 할 수 있는 아카이빙 기능 -- 파파고 API를 활용하여 다양한 언어로 번역 가능 +![](./image/Search.png) From 303da5d4b25c33bab05635a4a744a92f60ab38f4 Mon Sep 17 00:00:00 2001 From: godpp Date: Fri, 1 Feb 2019 11:31:48 +0900 Subject: [PATCH 039/183] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Image 추가했습니다. --- image/1.png | Bin 50475 -> 0 bytes image/Search.png | Bin 0 -> 101737 bytes image/functionTree.png | Bin 0 -> 67885 bytes 3 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 image/1.png create mode 100644 image/Search.png create mode 100644 image/functionTree.png diff --git a/image/1.png b/image/1.png deleted file mode 100644 index da8039339ea7749cad7786e16871097752260b64..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 50475 zcmeFXQ()ae*FGAnLE|)y(b$dI*tTukXl%Q&ZQE?)q_J%~IlsR6-nZYmIydKkF3!H% zd-lw%HEY&dv*vjwR90F90S+4u1Ox;@OjJ-F1O%J|1O%)M1`23le|gvg0l`u<6A+LU z6A&PfwYM=gvorz$Q4LIVgH%-1!8~t?AE$?3T_s&5U~qKt@1DdJ@c$MX5Jr%l07nT! zq#6(sNRS(n4F*M|CrepO05jYc;QfC7UU9qTZZh9;&-#2)w|%1E0R{34&EC+E{5zs= z^#xW~MJ#PrT{soKGYa2DF!luqMy-q^$;i?YPWSG_bJy7P$MFxz`||0vZ%wc7>IYu0 zxn3Z?<$5QlpHEStwvR!w89j+87(jFt^;&g3C3n6!2Q#2TvV0tjO=r{nY+|W@Zslno zKD4HcG%VXk5Md zgx8czh-{pm0C0#nkP}KI{^XKM3QgTVB)0!ux%UOdSc2sT<5dO{cc=Q$&ld zB^I8!S*O7L9TMYLKL##=kFehuzT9zo)xG2*oH!dMDG*s!yy^Oc;h7cLfTz|LxWsoc zvGn`Z6Tcf}XN}-L^2ULkW;9v}Z*70aq0y5JV32SO$yj7Tk|(E-ow!0mBAs`h@g~G7 zdk*}3Xgwz4{-6MFHP$?+)4cW+KcP_A`~Swc(8PK^NR7wyrVC=_c;*TY8p~^939uBX$G?Z9b9JE z>XCeG7|Y_>ic@Z_$57$e%0m{m8|MJjs~cK>^9X^6j~?bI-6GY$%c=rTLxCS- za2AJcqDV>Z?3?N{zW0sD4Tw7!cL<(9*A={Y-pd$1k1pt-EE zbii(3tsFHuB0->h0CTMDQnfW{N@7i@~hRgKaGvL=<|FKkBoKOfH1n zVO7FUhSz-~T}Im_|iL3ysVAFDUvfm?_$VhD4;~1oT1C z5a%!6o?kY3rrRENjCN;1eshU5HkF(=YV3peU)}J2?Vj}VzacToK3Fyc{;DYsYI%GK#KA`gz$dW34(DJk9yU)fm z1#yRr6quQ0J-`GDB_K%oxB`P50MC#9jX#C(1li*wXb8C=3K6&+njMNq&G$SHnxinM$8&W)i zB;@qai4YxAyZYXG5_O~{k|q5mi+UNe{R3M^B1d;e!`4?vBS+SQphJwqPlvk)6$gC> zNHYsl_meUVx}OBG;ITYEF=G8BJYsmFFJ#IzIMILU4$wm}V$_2(9yMz1 zpB?%-G2UH1d@}r_TXWDe+${ofgs4})7iBbV$Uf01WEYc)l`3>DnmN6}@AlKN42v`i zE(>oXPNQ(+w?>^4&l9K`AN==H-(p{XzBInPZjEp4*`?WCx;eVR8|@#fVge_%bHe$n z0_}QBd;NOJ0@?z7!a~B>LUB;ckW*2NP??dXP&&vth=hp?X)s8YN$>b^h$|`ah_ngU z==@@2<6siV<6S93V-%C%UynsZBFgJ;rcMcaO!BmNW+L%d~(cvEM2@$4qu*bu`OSYlHNBt`6-#p zge?hDVbTu;0^+#h$D@>^XuD9mX6S_IbcyzfdP-lEEav)3k>)1NTg{lVP4A zLt-aSUy^wvq@tXhyPW^5AfsiIwWj5j-x=#2<(&oU@8|!mq^CH?SI>7-sLzdCH?%8>rH*I0<&71~WIa-z5Xj?xuqqlh3s@P9B;x7@mlIh7rLkEi# z57Ee|%hc{O)72-(t7I%-FNSFfY2UD1(%xs@PhGQbG98y~YaDQ%79FZ=+>hwYbanes z@-c0=b~|P}>)LH-#%Rl$P4ZXUT^w#?5h@ch6MoK-&WY4h)YH~u?fuj%(922eN`yiL zMMO%>L_Cx`n-`Y5M`4_BWJ>NX<7feo>Zx}gi5||4#fevhu7c5obB^Uh_I#J3LE^E8?mY6E~q6?8&6FHe0{mVnt z2hr>`Ztw9k>>}v~NAFm_?kdZ{4L_fBuGC{*ci?+0fvm>EwoqjA=k8z0kIB zuQS~>yF@T2yEr_Z;_*o{s)Ng6;COUWsjdunL9vQi6SGr$t^aqz3_LR#%S01IV?;x1 zJ>m*|$JA8e)V!m@ld%-1kH;d-o`ze~WfPON&5BrSoh$3r*-D46M?7vOuFVERubVb^Mo$9W*_wKh+qcH9y`!uV| zTXL0Cr7m0N*h2|J){)22_tL+m+EZ^*e|X`)dY=jmiljvkWV!OrNsq`h$b6Q*pJ@K+ znG*R!D`V_M^1bCH{CD!Pj#KB|FU|=c)of}@PtKQ&SC5}a1NgY%^Wk|CdJ<*44oQp2 zbmhgBj_>wQw`R=V2yM>xTAm%JO^fHTk=2orqKtvfpWm5@?G`{T3n-{3DBU*r_hHk@gf1Q5nl=3lw%2LN_-dJ3fwu=>X8?h?<&9_#z}OF+fIBY zSwJx^}X{wt^uN#nLIJYzSPagTx|v-h$Udu7gSatKmMW z^r>vg^|i_F_!HhW;GPsI2`(j4W^RWG@X`K=slS51*G|__+0*W_;9B$8zaAvEOAMJ` zPhkFF*H%_lOi=mZMRaPYFD7WlrzYzrK9Di9WkRbMnn}ZU|MDV^a0w<-p_>80g``Mp z#(co4uIb!@;?8`%w0PW<4wWXNQK;V4L}*jnD6ux(T;U+HOZ(2<-w_&h_AHgbtYw50 z<%I83+#IxYFmFwM3?_oLboYh;A7Ejgwh2qJf)HgK75|%)nFmA)K zNg_?!yqtZeBT}3Nem0PQBz;0P?%HYcp?1Jti@35(`CsGtsThnV& z5mGVLeydHZ->DX8Sg5{No7E%Kpf-5e=p0rL#jaikDrDBxTn9JP)ePm~&4!|kJ6~<&i@#Z0-mZz|%IpQHD zTjB^}-;+8yWLtNQeTarFLP0-r7FP!D9bLDLBAKMS&o3c}LTc~7FKd8w|s5_MJvR{k_ z#!Kdyz9xDq!I?x(v}8pWuj#~lZQ5Fi<38q!bJx5r7fc{fCBv$?R*ve_b!M(OcDS`D zoeCRjjQkust!T1dJ8P+PohaTGF49`icd?7^&BN>vd1`->%8b=MKn(08iW--``APkz zx)||(ckY!AnFrr}smLbq6QcXuXWtiTwh5eoYiTZ!`L7_q%RmD{c=&$+hcwAmNOM zK|7`w&qLJ1Pl!pVG)QzvAGlRqWvn;S>93`ksbcRIu<)1O6&6u_&4C)_a@`NMmN&HEYL z&itJE&|!OF&SsPsKKX(-nwnQV_32jcc5dnR)}X6{)v)O<`safIC@4LMb2k!+FW4l+ zU^kwtAAJmb?KjwBNY-wH3yg6A(-82u)i7@&MHsE1r|bzB^#HJ5^w_B8um|5AA$Ot) z!hPA%V)$7Cb)1YaJU;`SAjsc*Cj^P0N>tKND#4gT3kp>7>x8PPU(8TK*z}QUcu$Sk ze7pqkC%Stldk=;mQqAz0G9O98(Z-19VSq!S?c^JdB#sL^adSYkaI=K#54S~EolB*Q zXSiWFupUf)%s?i=6(RIZO>5zHl`U+~uwAhNiSxwJ*xT5dShC@JiXHMaiW*89@-F#9 zWh><}dEWBadQNF3jWVTYGO=$9Ds(DcOWBJTg;P@78eg~zxA$N^z)Fae`Onj^I5_j) zWg?lgn_4uTQj_6vZ z6O$HKn?Ws6hqK}B?Y>v~MGge|U}J6qiNud_5`4ZJJnEIlbywy4@dhDQ-~u-&il1XP zw=AO~)av&^WHz=VLqX(R{E>(ofi-@+9C=wLQ_LIG2)sQEWmJ#o(H}=NwAeD?U6QAw zd?@OsxgqxbMoYA!em5| z>VfLjgGRfokR zPp;X9hnUD&CzPb@uw_0>^+S)i+$-VOiasVPr*5WrSAX#sPw>gihg!;VeodW8?ni>fA9ZGVH}y~3%<;Y6ZQ(e56468fn4_2>~@ zhR&xhcjeGB=Q1+o=Y`^V$9a_b%5tfy>#DYL%yM3Jop+l1<@@{4^=O~>wV36LWww^7 zwomV-K9G+U+u%e8V7_>(zaMD9KpH`OZ(kxK=Sm|ZZ|iJp8Nj+%Cr{sF8h>GPfQ;_5 zPHoTIjJ?0n?Z1N%vn>hJ>s3*LfPiM0DXKcEN=b4U*jUl(8QSO@(YjjM0{jCA2$w4d z@YTx5QIEjY%F^0_!FgbI1z{|7$q#i<`*Q(b1NJj?Tr!h1P|M*2dn1j)9$>osOQ7j**cD=t1M)X6>lw zN@MLn{Le}LJ&&M~gMq!7t)rQZHNl^G_4I9=9Jz^z{s{V?&p-7vay9#pBx{F%Eelv6 z-JgHx7-;F~{%3ArDA%7>4p}o-BTH35Gb%y+dZ`%aor`xki)7+*}t=l8;z3tCOi;cP&=e;9i_N}9Xn~A%Tv+mk^ zf{BxRb#89X=H7XM>~_vKr|a#>LY9O86jqcE3?;@F;?LI`Vz9p3Jcmog|J69)Fs}(X8YH~Pq?7y8Qv~p+=TxvN|aA%$m2hf|MWd@ z0mMA5lHLaVB?%NA_xvv{MYGqDWv32Zl4nul{;BuBBmqi7|26dgu##9gQznjsheg2} zHfRkFI>rD11|9 zjaaSomc8?Ie_7&&12C<&$QdZ9%TG z!@gUxsM6-%E~Mi4@l(^`=Uf@tZqMKLnX@9{02Ql6Ab* zj?c~(pdkja3?k^ShKcWcVl~cVtcnic@wl3A$(?n>zoh7XkK#ObS#u-fvVDKWby=%$ z>C+p+ottKStwmX);f@^N>qRRp({%VTc#=t<>8_asn6?vZCPfbl3UthQwYOsc^?nsk&3pf zoty7|M)?=pc7)!cQPN?N$-bFbwi7IyaFJ70Bu)HZ8*5IIovT31=JI!|dNQyn$J(DY zzWn7qvp@_M3EQ6i-C9oz_|$v{OQYmpaa|k>%n`Y!#W$It9ElUi{ zf!))R{#WZ{E5wp@@8rCY*%-;BJ4EN>Ui!uDg3i6^Z(mUGCFiR?JhE-Lf8+>LPB0y> zTcwA?qO4wE-KatM-Vd!y6Zy?L-j7CDX8EzbDF#t$Dq8E_&sGm-ZRc_B#Z}5Vh)397 zH&cD&c@gp!%p=~wro*;3K_lX*s&HpC*M&)^YdKlpAq!&>MsVN#c53+H9`xC|nf|PK zdtND;vx&v;`MisF#dSN98+!!&x*t{Mq-G5r#T3F1-{*zlWuNz5O#7^T=NOrT-!ViO z*J+l1$uw_HA@R8p8I+^KQTy=sWqYZR_v3Ez#Q>&G0I~=ULj?1@YJ=ib!$eir8#WKX zxaSK<4{4TUb$7kpR$cUdpbJ=aUZ#=cILvoadU$(24@Q+{BZSBPN^V&@@NM z^4Xxc-p;A?shMP;W2l?vRPUu(?BS(JQ^O%+C`7Qz@x0#5*uFjP2Lm0LsoPF!H-ECO z!xv>ZtE<|NkoMufT?DI+pKB9zw{5MutXDjVl9Sz1VwhyQ8E0RM57El>a6j(Ed(>O3 zIxQeA}3Wf%43xz9W2 zio*oAUYyt$*blVLx;YN*&u49Y9_Jk@#g^1x?^hgL6dbFS^~^?5xoG00Sk!7m5e2jl zlX0am4;t|orD*!_v>WJ zSLV@C{9*dokmq=MT)PmE1!)(gXYua&qUo~pM+oetMUkhCbY8^mSi3vE;E3caZX$$0 zz%j*L(6!rZIz%xnXgUPm&TCX{y?&3~0X&v^;YT%)LxV@ivf3?EZ-jrH*N)MCaDAYk z<^pzmb1&Tnk!vW--HNt(<2#?C6selqZepLj1dUQj$}-i*16LtvqwUV;vk!GYSv2&7 zOqQ*h5L8<)ss&Y?m5&GG0tN_q+Gj8%Dq-o|G}GMpi=nMY)pr5M6m{Mu%yGm3<;S+T z-N@FZLK!CZHA0rKRCaySyBWF0F&TSmdxeSMx*FCCr)fNxvgPo=nw6ED2RsiCDsKJl zu4(nIr&zuO-1BBiMCGKpkctL#E{0acJoOhvPRFj{aYd7K`R(p#a|M}SqOy9)nCj;y z{Q%X4eQ(?N?=XNH8eWa7*$tqNDF?@iLrAih2*-N8-Y)bN zBx|Qdv~0eAZ@uK$>ge1Gql$Amhi4j>J+mEQN%-2nC}-XEdUpYwyMgG+syP}SKG*5% z{Y2gi-?F#SaW$hw6%oU#NtAKiwnE9k(jK?M>F|`boaU_C0PpVDEGf!_<2i}p@b=RHF_O>TB!6^m5lSTNChT)*ifL7 z_vs*yFCTOQxsp&%=(A<@H#JhDDE7T!uXR22uFas&aZ$wLN~DCAIK+CSsn)HBlUMr&Zv^~-_HEI zw97b@A%6u1Kh#a|eEtPwWnXB@#s(1qttmR#kH!JJA1tuM5%4)sn&0G(4(T;LP8<9X zVd%b>57p@KU*=c3DU64!N5Y zKngsr>f#YIth@fjNv0<#N1N8!H>aYL@k~3Ow97hCqjY8WGId{+_u;g?tq|lYSkTGtlJ^fM#QzANx_J^><^(E^s&-%3P#lMGhEQgVGSLb>DJ7PnEicK9G>b~H z1f0QD!wQkFkx?Mx^tejeB=9fFB(e!08Q;*%w2utYw%i`>yWTqv&PKf9--KMDW;TBY zz3V&e=H1|eJ}~|AyAb4J#geWzH0T*r70HDiWWC5_znxV;rD8{hcYMLR#?HeR&j58I zo*lR*$Hr3=adlNLX5vmt@`B;r*9zZKGWX?(MF{vtm^jFt?R(8rF(8p@Rn=ud<_ns7 zoQmnx&4HG|MeJ}F!f;HymP1ZHHdmOv$FrT8PnWE;XTaIwBd1)7uuBU10fk$pCc~RG zh;N9JBO+&WAOhN`tfEm|{^BaSFMC;D?K_cu9OlJFM6Z?e$Mq9af=WOemz8 z@=3p9VRD&qatwElDsly&ywD>FZzj} z3kzQQNSOng%Vi`i@vImq9)5t*f!bZ(2HgxgKWgEEa=4H)IKnXm*;c@QkkBEU*P|hm zO!5E=4Ecq3o+XZws6~C_cr~3N(?0EXKCDW1uGRk4kwY#4_C1tPx<>Lvm|X*?ZsN1d zCS+DJ-}Z1mp79pAz-R(Txt16{%!j^%9`1l5TDnnE;~T0i&=CbkS$F!Ut-v>+a!UPS zIR7Dq+u;o}=7u|s7Ii_P5?d&EUzaP|v5QfwY3vsHKvW32U}Kc3O0rx59&Wpk#EWSj zw4GqZ^(E?EQmubSc_>mX(oieak?)XtN34;W4y4@3P5dJr&dM{rA|Cs?o1d=M z_K(M*y_{GRiZP4eZgRoyaGz-*Mj{{<%;8NV;Baph%2w!l3_oBd2RSX zD}N2T_{ERB)%Oe;?xqdRyz0qC#+9|z9AMcGz8PJBhC83-an=&LX`F7=D0W5&?~N1x z?bu8x!oVKM=vbzSly*DSP?s%3Sw4@dL%{c$^sc1Yr`bC|!60QUzPVF$n0W$uR45uz z+cau`yN4;n11CpDSz5n~x{*nvF^#3*o|F*Ei?cn8OXV_iu)OWio_0Yx+W-yMTDqK9 z73FcSkVukdQ2i<$o+_V6aEz=xk{zd7Q78~vLJ3}|44obPSe7d{J4BaILgFPj?D&Cf zBkQZoRL=Oc1YL%wc!%nP$bAm3ne!kkl3g#RTd~38&Kl|0c#mjFX4j`&$Wo>d*Q5rN zjTQmdPk1&Qg)0iGmkdzohor9Q57VvJ*mhpRWE-p)?y9E zs?xS`pR-zRdGE0gKc}_i4MVA(|B!JTI@)o<%{jQR1u6yNHmHW&_KzsBrw5l4{r;)R z40!mOcM(8Rh?<|^742Y1xXhwia}4m#-;W77o>}jwd*7w=5i9?=n2;8*afuW}l>B<( zn+@I*oXr0s5&?cSJ!ISR3OfnA>pdKg1s*~AH7I;1k$5FvUejyMyYjdTqFE=&=Hw2bS`6`TDXu63ak&YME$Tmm(2))`!(6pB1>(aYI=BHpPP)6T+BXK2p5ur z#x1C0MuwLgHkLRaR_GZ>nqIXZrr_GnJ3R;@nHQVa@G#W1D{=)`SQD&riS;`U@0wTI zAesxwIj}PFzHu~y^nKu8FAm8*5QHSHI6zxuP0HyS_7b^5ds3hl$*CIP9%^I49^7uU zUymp&)CsDcU`H7Zmy0vR8l$e0Y|&a(hV+Y)b*#qI-y}2xVQ5d>A`AVwOE|)3)l0nv z9{+855uQM)+FD$0C6i%SuLZo@*GF;CV5fs`^z^v#j=(n;b$d*rAtl(cgj(gK?>#t7 zn!-J!B{P}s@H#cN-Bc8Ek?Js{u#S7nNHAyfQ$mCLpvl*O!b_|1+m zmFRoqd+>!!m+8v3GxbYb^2HV2dKwR(i*%1DvCo&P#HyoW_vx(J++OtMk0cA(0+QsK z^Zqfk$M)wR2@WC7nFa-~;lsjMwRN~6xeRhy3+2O`S#x8t`{+;*R+=uU_-V{T5y6AyiSgOkHDX^YUwUi@^#DdF zSYgN@&)gfo00Fg37o^dR~ToH7@=&6arYvt22U zw2E-dckk!Zg@&{mUT8d5-38s1iVBHvNTg$6P2vGt?W07LVM%4DM^X^Kz7soP28`gs7CS{eII)yN^on z66P(hPOqy-OwJlmcR8-dg&_{LU3|DqAjE|iA!AgIiHvYlQcPxSE|5x~AN(9Dnn_d( z+-J!Q++^itEn(6PH4*Tz-~%qTsZ=oKxFZ~Pd_d2U3_1;Tkc2#*Pn(d)vOMik#?v0&{Q|P1CM*g?cfm!+MwkFx#%z>G zYW7&i#$=TQILhhQV(b?XaO&MgW$jZ=0T!!<5t|U;x%bDMzeO?UQll#rHlpOUz z(LNdHRS8S8Z3b9}Av%2&7sEos@PQW+;!c{wX^J0>Yaa6A0G`lqT6#jW3MAP7g@kGew6B^M zu=<@iiM`V$1KcEC4)!^B3J=Adur!zrGm0nLT;fzEM_GINeBF~iP7zmWc$%`3Z+*_W zOh23F>a(l+6ZUZYqYTxj356V4QUy_{cykU7vm$aN54|)iqd+z_4`V8i?#|S(3j*qI zT@BaVk1GTjdZ;wN*2g4lk(8U}>#Fh`Wc$Z`wC(MFjNGU2@=4^x3qyy)c~0a&dh$yc zx#mkMTeft>%BV+oel)qQ=e`?`1-Ht*1tMrWj@pDsEHU$z_82GPD@(gigF8qO z4oj5+shRRJ6>bx+^*Ipfu!o}q*BC9;TxfZ@eg0??AJrHyI?-ZpvNcB?P(6q-2~ASf zVLvjeQP8SWxm7r>%7A4EWn))~DEEZ;SEPT7fW-zv^rXMHa}e8tWIL2zIF2IbBYQ9P zbwB+u7iDEU-#hUna@emg>6X(8R6`HRME(}+t|bf{Qf4WM;<{L%z0+XD^g2NK=bzu8x1APRBgZvhGwmN zHxCHrN;RlGWGyS{t38z<=$sAD^h=!&i>uWn;ZyhE5#RsVd{kNnmqoo;oK|p3z=Go}4LPz@)MWD1Hf7oR_Uef@QTCH7P0te9Idn)JlxcQspbiPTB6i zIa?~1TrJ+NFv&H$d=gQ0%*<@oxl3m-t1l5PR(D=Mv1!j$lQCETV&1zA;jMyi0~N* zgQC-BvhG>kz-3(PcRZ@bLWs);16A0r$PyQWRoCoPA-pQ0^DX&Qp^@?dK4&i8eDbL4 z%>nn)*Fl1Qk2*zi&4ybwo`9CUv@$)c159R0H){P|)Vf ztqPTys?F+9)?(!MVRDYh;-Vx6TYOm2Y%kdC=CAy2B|#wKoVbz&HZV7H?Tq8dD&n&G z4`|4>8kZ$1vW}iM^Ac09q?6AOLC3EG?t*`lC}2NHvvX%OJLmt2X#X3czX1hA^Z1?- z{!I+*0rZR+t&T3qCsS-_lqo?z(kd75ZAIc55! z7l7ProNlwW9DM7FVhZC2An<#sCYeBQVDXa_5PJZG{AVZ)#FtFht?J7!>9e(E&wrL~ zY5^8CWp+GfviThqb82i!u%&V&AMw_t_&%H{ayF7;tQ%g5WMe)WG1Lm4Ke*F6B>@wB#q#Q!B}DFKjV z<-Tdz_?P#{rUBk+#$x?v8~?+40i6MWUz;tR=C9pJ_yX`DX^|TL)suw4kL6Fy6k`4| z{(Id8fWs#kZ)5zu1Sz1k{xGm^@h|oG%m8O7SZo&hYu8N`fY$$C<$q9u|4*$PF=>5@ zcXe0EuL(lJbWV0m!%YFsb8PmWGU6@EkfX-TSA=I39v9>7uZE?RD)(IiKg{PAfiq zyj71Xq)jBw8*(e}bGP@K(^sau-v;+q;744o_c9qE9&RpZxVv2t@LJc>fAgaMFOcB% zU;J!3AHTG}zddjAzCX%nA-rt(BY^=I36vN@2R_HA+3cHIoT08rN>Lc~3~doo9$uj~Ew+)%%pVF-tbzGbtR-N6_afC$B) zuYlPR{h<&_OZ-$c?S!&30qTd_vUxLz`>6ZK2e=#rufOcEZn|_mYek<{n$my)42lff zY5h#^^#t#Fh29GOvUQu4s%cJOYX#lC0f53C$xTQy{Y3l4aa?ZScKh2IxDW)$1WVDs z1@pe-46&#Hi7GW$A9>v7XW<~BQt8=bo_l=H@57=(caw!n5;WrmpF<|f8og- z(;MKdE-r`gp^d!&>hH2_wWG{4Z)rv;=R=3Eui6A%`$g{`T8r$SpNqcEoUUP3UhmJP zMnQ^MNmJ|Yc}fHy0U*01q8W$qJS>|om=`odzo*l39p=Xu`m|C5 z2`-x+ICOf8m+}ba>yowIDOLb>K(GCB&>~uRdDI#L516>y1Rw-q0h5a~SzQhR zDFEf&2as%7c%BzMd?{1g(Y$zXj}tyYVqa48_4A+*aj-CeAj8{Lt-6r`+t2i{&i#!8 z$Pd-WnXm`gK_u1{TY;^HJV`kr6M&itQF@^9(Jm-op-oDoPo+109i7+n_^ z@KAzT4*>NJmz2%@OlAm!apcYGj-LrZ+gpae&PdK|pETpgs1}O&y;n3}jZ($S4#+Rh z95alUSNFmlD$z=0TZ8>%LAjPL!Vh-w0NCQHmX3g1#z6$SXMhXWap2CV&kK{@Ge^aI z10us{e(&9o@6@vHXHwb0%iDdIO#S@}w@2jwbJjvlJHUbV0e6Y`0E!&NNPyGc1o%Q2 zKv@HQLSho%kEjLjA0J+>C*tEjak<)##Pc)I5*7Wh7e`4_uE+&giF1;BwKaz3^O`5B zQyCB{;?3{?n!>~%uEsTaqrWrculkU90{~{UWp>Z{xWz^Wpj)huU#8Xolw$jm^Ur_?@V@3}2RQmSYN-lvFlMOQBY zinK4E)$amKKcdh3^Lih^s7+dFtReMshK`eyV&$+U=bpdF-#T8o15Pv71#sew7FRwf z0-XRTv2TOZ=nQ}@)Cq|p(oo7SgQA9k)w!>C%XDsLlk9&;us9-|XF8up36$3UC*a;f z*jCoHoC1;)JPh!^os|g+BQDaKhu$0U^>OB=jnGxpR%eMS(e)sd!2|(nJ+!pmUP6>Y| zHE=S8g`?-+`9><_>W{zz<2n7Ezwa4&Tf3rHm5?J-D1d&`{@yK?gQH;_NG!N`t{Z-( zGVcJ<^C2&iMZM`2s9i&Qo$R7*BY{LY0U#9%wW2UP2@2ASr@w`KY<2WsdSnyO6PzOw z6GBh(BumKg;e*dRpRF6yE&y+ac=E-XDf659+$tJpkG6yua2D(NuBNQv@4@|S4705%s7i+AiDvzNO{Q6&3WA+Ocz*~qM1UT7~kn|Kl?6ltry$84&W7f7l% zY-r%YHG|U(#_&jE;?Jmje!FkPGw8Uoy%_J8(LOuwFO(Tp@LqYHgaSdc89%_vP;)XI zb%zHN$s9TG+z)bgAmtSoC(4GLIz)V{7ymr;ILwd3OQH76i{^1p0p5t9Sa>pvNx5Rg zvS3f(tAWC{r2v#eJm?`{)80#ck;Isyl+{R&@}&od!Fq}g5fEaW32+W=)vU)ocL!d( z(;D;ZlU~l@>tGpW!e5OTkYqv2)1kW^q7N(?>rLz4oH#(nUv=)W=x0LNit*&lmFABaBTO5AN8F4@9t#@dZte zUI*z5Dv=vrhTRY@>*C-CA{kLh--cOCPrQsf^gc{&;u)u5&DmtQ|(L4uBkHpLHEY8Ul)P;Q) zV1u3@J;T@UbNh7x-&?CqdzP`k2NX9M2|^`=@FA0EXgakmQzJiv!ZrvawD}qDg@mBT zyfm%Vd~w(4E0Oi|R#@Hmdr{V;0IqtGSg`g7bJ}z80aPZgp+)$of&-kP=V05V`d}EL zkop6dH4!u`j-^|epn-;Y^|DM#4rd+srU>R=pZi7{T0DOLMn6lp4@1QJ7(pYHKkZ7h zmKuRBz#fumlxY&l2=CCj_@=fbo0&P8w5@z~*6*;_BBtXz42vQY>q!6yw+&=^e4i(+ zKbLt#k_1G}Od*m9R0YE>)u0DSk}5pB=Kdn4A;_fC`ei&S^5?7Qm`J-wr{`5Xh>OwK zEleAtjJAW;b->v17lh^VhS*z1fAS~>4+Te!+=1oRXq8a&#Bg=c@eh*E1?}v!QpTx{ zBKb+%Ei&gHv$uORncetBp)+P{2C=CgzsP+nuv63Y(0+=zW(Qs=wUrJq37DXhQk0P+ z$MttaPCj-YshwNiIm%zRZ)hRd=MX|%tm!)KX@48pU|k2!RyD>H97v39xQubr$U!Or z^A#>aL(BrR5z^!nd3*9;xxjmT@Yzd{!Yn#R?HRrL2xbZ1`>QAgGhDb1`OkjCQPN(@ zu4@E|@K^yjd!)vr^C~;6VThxUr#-gg9U-~06;su-HLgXBa@OkfFpN!#75qNF9Q5A$ zuF-Jn6}K%qFq9nZE}%$f2Vp-KS0Utx7wcn&FKuS>1*_IoaJ|}D1i(SbR z&O}akLNvcwRJIsj5fu6lOJ14{Btqk1;BrI-P+_2Rz&9V%l-lz$C50o3X6{#OW&r4) zrEWC?lFpt8A$7?QdhhZy=cKYRtDmHNgTx%AhtiZ7;^n~#h}TE`lQlQGYQ2nCP#e?o zXXp@tTr~M$gBk*4%v7qUGq_5jKSMRwuh<+)FbYAuK-=c0^{oDqX;;>RL<~3|? z$-|WJLXF(f9@gQO1eE0gfN3(i$5bOa7gfU>sFF#vyC2$CT<$u8L_VJDSwaU{pc!Wx zk$)s#iQwLG>mz9b_TReY$YQM#cQHo{8*6n%6=*icrT-_PA78v6G}iC4CNAzM=&r z-g1CaUo74fx#bYFd%7Je$Nh#ivbAm1-g_s4XR@YKL5i2Wl3NM~`P2jxC>i{_pDBAg ze2Nq<(_(PTFwi5&j(LSwb%f!>E?R%pWE@i%ZIB8LJ%Tf!M~_e5JsQL-wVgU*Dvt?x zVSs54ziZCS_I_LCbGpYaxo)$fz_kzab0B=&YmT~y4U0Pl%T}M?@8l9|VlcnelU`E4 z+t^bEjURNoo(wBbb|+yA0L1K7FXaclv=vhf6YS6%MA?OcpF&cHMrE*2lW6PR@jz}P znu-fD&Stp4B&cfy<=K^S1`id9xj^a;RW3Vq5&FIde(!aLO257!^Ow+maePW?kCDx- z2|+Ftc9pBpvpICvvep74Zy>J+${WpS;prAh7sXH1(nCyCTuf@w@>2VL&+tgH@G4Z8 zS1A?Ym)HS3Qaq14qzE93UN5UI5Y4>wQU4cvZyD9q7QKxMqJ&6yDcy}o3Zh7ZbSvG0 zbe9r>AV_yfNp}fS0@4Vgl7fVU5(0uCa_8op>nF&s)yT>@SiBn*^Xd^*&>sx=)Lb za6vN`havBi3iH_=klYQUiOdsoV5a%0V^ZcC#|NhSE zKv(?B3{MYSr5JdoM`#~Ckl~q8Lp^@m@RaRY;qFwe2Ul1M*4%3iqH^*j+12!p)@GVIP*OE z8C~b>uJ%@;dGH=@Kiw41T!Na*Ym1O?`ZsS|$juQlT6nzja0a1T*En(O_N{mu6)(%~ zBeNSWV^g|ZPOUMy4;>@PTrfD9BZe^Nsu|W#N^@e3U(c17jI7>x(;lCZxGARpGUcNS z%WbC|Z+?fn1|=?36-C;%+r!1fuBCDTm7L8y;TYV3cDhp6DnguEN1ih@b7Cd1G5MQG z)MXzm1}DGz=J-jhWXI!SQiB_4av!H2Zxok_wmCJ<2yehr$y>*PNYr1<5-p zRWWs0&7*I;p^eF=pmh=C7S?FO=_bi<;aI&l&hbnGKfkxZKvukarAkApJqeGYB>lLj?mk*MSUNi6X&?@|5 zjmsZp4VVQFF|K2xzovZLIp@qbX;eAfG*#`|^-(AFcGl>|K?CP;_!AQoVa5m(c)YluNeAM5GIBeE^g z;VUO}Ssr(v-_*<6)-5APzGrpuE1Ss4i^Cv&Jo;p2-YZNeJiJ8o`cG2h1)ejfyQt0R zKCGxC_0=_-QdOezal7lk&xv9ZUKz1{f5_r#uPwP&K}~9Ur2zIU$NSz_&K@8MThi2i zFH(gH1(*RNaxs}i#2m$McC=kGZTj&i^=qEVTX946(M$UK5Ok7W6QZ?l$zCB!*ACsH z1uh}6{2o@!ZD#R$rRO2qe9Q5ZQE|(;6=g2iQi8mA@$#3YZG7_`FAF3&ipHr}8Zp{Z zVqPR$?~EgCKB)g-J1i*MC3k6dt2G7MM0+>9SeBiplJ7l{~SnN&58hz?iID}I;u)quX+LzA9Y zqaek1)O^g8Z*+aZiE4|+U;9v*GLkLc^~fJ{Zo7QXkeJ-WXF*u%rqpxcghy83f{6TGB!s^7EN#cS}HT#og4T0_t||V=zO&9crMW>(WOP9aWkx44txWmZIy_V)%mE(C=N zl4z@Wkl>3cvWZB`*4`mM@8|&hP%uTePO42+A5oD&!R^O$N_BrJPkqk~gm@V^`N8rR-ySFsc#DD|#rlKM zPg^h4p!Z zdJOM~m#xbgwT%c;;_;d3EQbm8S`3dlDmmb_9bFl!z;P`UX@g6^eh;yvCHJxQ%DeYfM@dWeB%A+}wCNjs&w!u0az zsKVC|yJj2;c{fp33F+}Q-jw979#b?bdQc=!zplAOGLv*CrS}v2U?bTS?=epoYihoz z{d$dqxJbHNm-yY^`Gye`G$36Y>qHfp#_qZ0B-TAtlX)0gYk7f+8eA{mTD^Ga1@M)ji3JT#T_S1vm8S}HDoDZh4jxL&?q z+IKt^bmqBtqd%L{km0UN;W}_G9D37E!0)0H@Q`0ezvH5!ixA12Xi4TjVJ%?hN~A*_ zg6;Dh+swz@FNM;4zV*(7gd77w!tcFEUW@F4n$JaFd$k9632G#vC*L(a8;Vxe@G1QM z0B;XNb*lr=zOMCVV2@PPj+|8TgE{o2nGK&DDT#iq$$l%wQ5o?O?sx>nUe>L)7LSo^ zoIqR~yjNmS8s~4lRaZH;Y>@&51E_=_x_W`c}4 ziPLFxyv)zhq`)JKhyllh)D2*;q_dYdJ0Tf>3ztrUN$+3`OPu&jd^5{o%ZZ4NaR*ez zp|9<>0O!&m62mVx{*W-brwm;3Aa~YaB4iyeo0$QSE-9iPBmKIY6ptweMILem(YN{H z@TGd~VaMGE>28R+vT$C-xBFY|=!xPVvaUbGViy@O1qR^fGdo{Ldj6tT;4+LMN%pw- z=Y}-uz;?}qMJgkWP+7YyeI(IF%l_=vu>UXqG+@mFljk14240X_8K$U88ewjw!f^;` zNn8B6T6Rb84_pOGR@9BP4-yhBmW!#=8Z+uxuinpDiHkwh*uo#xrgq+4a(sn9kL!PMW0vXtmE<#bC^^2t zvhdO|4knIy_GX?w;&XN=jeN&bV3P|Lud$C3S$xVcdVm>D#Hnuq6gCD@DWcsI_rylH z{qb$3B*Vt0X|1#~AynNxbG6s6liN3(EMJ{8dU&w|kOCQSmM>pPKDb(5cv^Mz@rFkT znG6Z>0w~iPKh5`mZaUnY0~U78rNBB3mu^b`pWo^4J!Tw{L`CvcCc>YWB8Y3XbfH3o zpj^H2c(ZwD$SL*3J$*LQm8^)8{1X5P3ve6@!XxMQc`SKf@iC%K!&zTYR9$tf4bHEL8w>s^BZ(7*pFf}z1E(`wy#un*r79(4IgFL6g@}Hr27UG z5o1@M=cDkqrpc3-Mo(p43&qE;=BIM$?g7oqR zU+$P<^q3kd0X$VKEX>lPA&!{`EelUXySui4y8p%i+JgVt;_DE5fhxbc`lv-t@5mV&()AN^L^v#VMsj18qR#(2f8>h zNX%7Vcew}B2Tl-XpspX=INt%FwxL-*7CnS&6WcB_V z*q(`61Dn9zcL+3nKFIi90&24Yait10r3)B}LhK*yE6(!Mm-WB!Z>Y~<7QW_g(n&U) z@PZc$0xkE!h`Ib#*AK1YtqE)>2>a9n= zBmzAg7CnzYH8nT72tqmEZJUk}sI;qJ{$Y3f{dW;DJtPK`-E6mS;I?f`;Vk ziimMJEc1eTccC(@)och)BuMeKj2de9`W&zE3?zgIEYe-yscFU;ULvMietjKD$K9WH z?1`T#$cU^V9+njDD$6*WspmuK){3TnjBN`DZ%=mi;BnuT_gW8L5&2;BlxQ{H@mkHh zFj%Rk-#^VBB}vuObsVdC`{>iJdEEzzVcY%yz&!56DwNS1`iU^Q_CBx&-#!@*+@HQ7 z7v+>Pnuqnfqfa-Vw)b}eA+8|3wE{UL!Ct;_eBFl_`t$kmNwqCYn@)8!8HQ8uWK;Y&lf_d(SwY>`&8LdP7@>|;JrxACc+(dNefCX6WFCGIA zgG~;Bn{s8O`vGsX6DfGh{dvbaFP>uZveb+$^BrXm65c44D^=rK`s2sVWy>B30Dine z;mJ1de`g^m3_C+ZC4!BSt{j6l0PatG?GxkR0cjmSy-+43&|0_5qRh%oq;B)&zcDt( z#-nv~Y!lwui;JbBek}hm2v_tA4{^FvbZW&#hl|hi8~{dCKo*Tz%Twyz5V)~dW4C0@ zu6%>KoM51cg_9k^a9A&O+wjml4E%&-O`MvcTB+5pc3^?9$0LqY$d2APJC{w{EAx!; zooRZ8T%!&8*=6Q37Bsp1)h zMf6KPcw{b7-w1+*WyrRo&edpm;8}aiE$K%NK=L6b`_+y4d9 znA7nyrD}$iH&VG|Cbgup4)PbS_aqK+olW`->aa4N=eyUq_OGE3S&Oj*Nq!oqbf0!S z%j#B4Eh^n)^!>W^r;IYo+gE8)pb(R1b%n%Qrln`yckOunQP6cbYyF2{J|3nh@N& zB@@$VKbjnZ@!8k_OG{o#{7~w)6NdYZAD4yCbTs5Z&X(SqpY}46mDN--wI}Qtk+rzp z_f1}wDw`2?6FYFFvIOjMe|Ub}=Vr4Y zuc7N;yqViglm*>uKh z7AxDU;p$B&fltmQNAv-)j#q=Y=G#9dF=$_|L^XA*Xy(Ja^Hh=sMQSzt$$0zOEVVe9 zO6T{+F2>l(s^0&*C#lIVI!qhtWzAE156?V*V43Oro#AceED0}@9q2WNThPhN+p+h?F|yU=Z3!>q zpL^dtTXVF{Ay=D8y3tM6C9g|kO1-)XItPa1F>{EnF5ztrj^J|T6pTn<^5loAh+<}> zfG9-*536Tj1*wxDXcByB4fvgf%Vr1;55$Xhe!=`OFY4Hz>deGLhS z4iK~>Swy^; zSe!8qjoM%g-FGNme=Sa8d@I$iO74SkD791l3$@=;w71CHzw=;&I}i&E1Gn>AQmt8x zU;Lh#n5`=UB%4x%TvkRHeln!9y|7)VI2V_0`b3z?=j3>Q9xB%r)f6np6in}N#s~@- zmiPZwy=76Lo(&=3D2LTWj5(rvNzAU!A#W2S>t>{=-KREX!ezR{#f2ycOZ3-#n5o=0 zd9BSw`yh=-IZK`psJJSMYL=1qfmhPk9YxHkhk&fibaKY>+fZ?|?#ON~9?6iKx4Z4l2O`H%fJxC-bR{QSt_+*zU*;V+e6B*p}96eSn;^ z^ZGB)0L2dYm|dcRjss17&9DmR5uE@O)-uMF1R+(xAAEKOJM&ZRDPZR$mN{|NkfM~a z6Z-J!uC$|HGN{{zct%HPG5SUaBJ-)6cIq#ylK8oG!|ASTDNE&jAd*5M;a2}jOB({q z^qcV3V$142vmv4UdDKuEFRKRNj}$g~#T3w~U2gY&^`tCo`966nMFD5UUjiY5q4d@q z2$C)shmc#W=zW%gG;^gdRLf)KjWH`wnJ2plaWaH)erEK6$ctcU!mP^L1~e$uKnb{f z-`oF!#MBxLJOJjH6AtX!aV388sLF%(yy^>+ze3hL+SV^aDEebuH-A}<2#t^mYsUVD z>#zqoz;dU%wutK^FH4i~0|Y!!P5cGA6@=yRLl|s%Rr4ox&vab%h<3><)O#{>khR7_ zRG<@X3xm(4x6aeCiPVlbU%~|05cq(dCNC{yt)y?LC_3+i_>X++Aos>phX1c0 z;XO~%C%{e#*MG4sZ%J@@gejwTh#OcRs$|edmf{tB6k>LEXMkUYOu*{4+Kl#HU*gkl z9vv7nF9a|7Y+d(&@H>`|e@Mu5O8KWAH~)U3Bs0OvFM*Yts2SC0MVF&}1GOrPr5Q&Y zFtDjb1R&9Wt=9viSp;b#0eS(``JK*hey~TFm!KKNyrhgv%s|QZu=u{g+_PP7R2C-Y zwEI#Mu~MuPrcvU337#NH?1c4m2?-)^zG=Vl+E)l_Yxh2E!fL_tiB?w;zrs=X!KAm! z9|=-a;MJepH65MRA&qxXs^wOk@Sv-F)0aOUi|vN z9iQzkxdNB@U{aj@8TY$FAeHK1El48>q1-sJ6w`s%)@lFZD+vuq*eak3#(n&&ls6$6 z#J=oa8e0Tf>@36nKNl`}vkbh2E;I_EfW)pm=TpHi`mU1z`*Jc=a*9>N%wF{{LsEp= z?qhv73B2c)>kvU9+8Hs(kr_kQLP;w6JT@8LEy{Z}JkTq^^$P8i)>XZydY4_dJYU-Qp{M26u=)N{pZkHo;9= zV=lsGA*9x4d>Dl&1qm9qr+Jjmp2Kv&S@12)tQnP|@ifcKC`WhT3PhT?PkMRqK`*q}>{Pe>W7+ zcY|=ezAY^(A-4KfqyTGF5k#5a3Kq0ZO_vn|ibxE?KdLbRemH?5yJ<*I-Unq z7N8}eU75V3zRe`T~F_OA+!1Ok1tk^yk`sVR<1Ia#vKPiDH>h!)$0bnlo) zG@vj9$9h6W4nC}T%eeVF^ADvWMh%pCl`T;t_6|U94Q&}<08O(QrN{t^FztZJ>b-_5 zzI(f2qiG#$Q^ktnP8JKIL^R;|Ar4J7LQ)-GHrgJ67fjDBW4c!{I*T^i%T#6AQ71oz zkOyX0rKUDu{5)fd{H}QkL+?I2AhU`Gt);Gkg@Bt#q0NHfMcA$&5Farom*>7!HZ!Il z=O)?L)Y8q9spNinKsU!)bnA8b)rr9A50!|c7T)paL@3t$IyL-7&Kcic8l!$StJpcTko3Zht~%> z*!uX%FNY+|k~x?$x^Xc{*--)udFM4_&xAT&9q&UF8C(!T+qhRZ12~LABKBvGSDzz3 z#|j;lMMQB|=jLmuXiyK*uuY)V*L&J)hI{Q`E`~WkdkfT{+@}KD05o}k0<6;Ad;j?2 zx6%Q;+9$xgtrb1fFu~$0ds50nyXE1U-4_0t}XZXswFe%JDkb+s|fn95kaK_w)->>(cTE zUo{Wb7n9div9hHp@zCqTD+BB~^RhGNb>7ha48S zj=G;`9j+orOE7esr~o^ot$Bs@IWai69SoPWoX)nM_jmnUdg5uoYL9M5QOe$J9F=De z4kpoKNrN}!=vwa(M;k|GVbaYwG>ylCtE=nKvWFVG1Y$(>38i3vu!`gJ(Ch{SA$upT zw;|M|2e`TzJDCB|=)|&E@?1|<#Vg|)y>^Sil*ZTL#?LUJ0}h{@{Kp(T3VgO#&NiSS z#>!3BVmK2h|GY5o?JOFFbwrnBM0V0m(q~UZY&zRVKIh;H0Ymy;eE&U^E)payCj7|# zc4&Xm!6#JXL$&tounLvADJ+JsjtK}i%Ta~h*%i-aLNu)Psa}aRClPGu#j_mhDcFgJZ?Sp)6!?U z^6>izmy<1Vx(!5ZI{Sr;)1{W9$sK7^>*5ZyFQqI*eY_gW>FLl+WpaJ#+%h>BgG33JU!n&V|-21_b~c>fr>Rq~wbqbxhs4Wyq=tRkPB z4zxIM&4S7upEtGZDDAHLZC`nMUG67v?UFs9=isAau8!c1#^0PJbb&2XuV*rZpPvU5EsMQ`NR{jFc}mOza=Qzt6<)Gw7 zNmxK@t(2KGuJ+(tFb~RI4W|Pox^rqaGyo~XzUAedCH|+LC2*FmjY^h97+7;Zz9FF} z5{*#a*8$ByD0%u!gr2M`)IRpZGd5unCJR^1AUhvWaL!b)M;MH|{MXrvJ&c{XH+_W=!opEM|}l4K1$nG8-)@I2R2 zNY{h5i{Z>6TUUr8^y0DNsu16d>CK*!7s-1AqfcGylgRl6pyvKgi)Gbg@aSan@JNlj zL9;0Pz5&?NBuM&Y3o0O(&VO2oG>%Zt!22GOxQJBFCuS%8nnAD;8T&&^^cy?i6B6sa z=UqMQ9*xLdxRb=vdNi{c<44n~I`@qzMMv-m>FvWjdpV{Uo1Bk~)k&Yfr-Qd(UpsjHkq;R9yYl ziy2&OHuLBnkc7HtH>M%u#|XQR!qN2`wIxxed4g_J>3%4h zM3-TEwgPuj>;#WRuz{}kYgA8x)(?=yr+fk4EOlAS5#X>pt7gr^MJxcVjya22F4-(y zW@r(E?R~reA3_-ubm;1@Y0Lk$E5LDE;2CX51Z{JAb{tR#?G8h=gL74cj#l2Y~q9(we6Eu$|C&4=3evwLuXM1HXxLrTU z{DHq!+@<9r*1QTAYO&gYS~@0P$-rL1wa*Xd#B-=l<~)*dz!BdEgTa*9z)kCd1Y?GM z+9my`P~>#sK^q&|1F{F1eut|_$;^2IVd?9=?IRHd=nFeJkGWFp=-ysad1Gvc^FS>w zzTt^5`VRs16@_2NoBk>|PZJw1d)pD!Ks3iro=^c+o5}PsOXtC=5L4<$U2cN)xI;{r zxSY=1blGQ`I+i>=tCMgtereMh)WDQ_*v6F?Eq1~a=O^)XGivP?VAPq2SonHPUB zO>^N8&WR=MGpTHS!qWwa*Te8s$gI`8EIsLUc%2DPloXl4?)@%TzxOIx&xoj(OB zYFqJ(oV`a?RGflY04kwjyQgbT^8n;l%r8;AbsUvrUh3{&9$ys!=k9<>w2HQS?}E4& zJ7LyCGSRToY2~SRz}GA%4gG?;mT}IrT)y}OM2M>mRu&8KK0f+*q8!n?nywRizoe$} z0B}UH-Wy{voEwy*F*t!Yo`&}k^~q_y0V4fJ%r}az;NHbBioT4`h~jvcmS71Q>`}&q z{9Iv?4)tdt3RK{35uk#I%kT`j`VAY4Pt5(885Gy7!{l&A*JYiP((BRlSX3&`M{{j| zH72y$R*7!e-ucd2i&K2g6)!=?;|^U|w@JD;WlR=NWN^FCOb{n$yg20IoYo(LSP`DGq0oP*q}Aj=c4z-aP_c{C6@Z1h~s@i9lOP)5q{&4*oZfiq<=%0LD0R-V~&BD zy_IpZD`&E)dPy~(3)0Ltb;INcs?7V2yHg2!J~cz}jxmI2@-ezku_%KhUS3*o-cmNk zkbtI51dNf<^|#V*G=6s-t%JTO80z!}7tf(5nt2UiPw*e)1_xR!5v9B6PM0Hz5iiZC zB}laM_l_pa1}qOLy@V>MWeYsH#8NlUaMpYl+wse$RJiB=alOEbpGP^o!z;e5&0>)R-HNfSTuha0n%uo5R_jm|6RjV_`{Cvf zo{dmrte|cso_4gEKE7VojPq|Hwe|kq3yHPU1_RJP3U8}pYq(v9yvF<*_K=y8 z|IaLQ=d(|sX(iGsu_(&U#$ow=FIFE$iZ?%+bg2Ou)x$NY^1ePR@=slKVdxp(+KYl8 zF4tp;(FG;Ww-_7n$>W6OttGee>`R{0jxns)(0@)h7o*!c>8WfL13AbB=$6RF<&}A89&_% z^@jhr{BsyaB|}UMR)H3KR#J*O#MK>pEL*L_L38t~bkl<)wQ6xT`XBMbmG4=xZA$0Y zsO_vRevP!PzDkt7o15eL^?v&AwX$*nH7JPMW#oD=&Y(`3%`yXrhBa|;lHVefjIz|A z$JWIL#~LGdnLU{OQLYg+P}u2IKtK`YOD6q*jS( zHFc+3Vc%jZSsu+nOObmp$#GO+tRUrH-GrCN!| zsQEAJz0F=C;uHQjBn9r7* zMh)}W*lUb$Y4UFYn-2AG+~}I6Zak;{I6YT3%}vD(pdhV zqaZSyw5Lf=$hCTg++F}mN;7>)kRmrGn)V`gd@|dT%8s_cv+TsqFHSG4!GoV6X(AIu zESV%L>PO$Bd(V~1HqQam0mKCS2GHX--cPQ3P3Zk+X=I&&3sIvvfX({tWKK^81yj?V zI<5aa0}IlC;ta#%KhA`IewBu!EoF(N|5eIi0cpf~rkC!|Nr;y829m?NeBIpkA3JtB zMS-Y5oM1^-J^Jq~+<~M2??cXNB{%>8*Z~#jmmorV(WJZ$q=wSk4`{o)UQ{qWlR2hDb)Brj;}ZXk9}zgklq&C0GejE zh^GHp1fRSR^rws6^KdUxbulpys_=z`f;>1t#bn_raBr$@#QFqsN< zhW^?kBf<#z_gT+7A9i3U{%OvG-w&dg4)CHxOet150iTzk_W_rp36ziaX0zzENbXTp@9^F8qOt@+Vc_SGl!`A8x#U)kpNf0en7sq~#I1z??g;PDT zVOY)%)LEj(r6P5HsvcW7l`ko>IgzUWC_|+0_Z9&3YjVuTP_4=^g^o)z{Va`LFR?8G zz>dI1ID0vEM72A6L%LoLM|iYq2*k&R*^wK7k{26I6KqY#e(=*Bf>U;5_oyWbcK|`0 z3Sx5<_gLn_6PWRC@aVtHrheC!-HDApn0B?e^Zq-RCc@l|r7M~vD5B3-T-v0+6ER*6 z9J(xd@E(wRq8TlH9QHX&2y&F-GN5*h1L;VMRJ<#9cSdJrJxYUY#!NVGMP?7q`hx7{c%u3ELvsLM>pKYyHP-JgO|; zAm^l^C}+6pVSk#D4SdH8f~UjxuSt-|y-@ZHqa{+B3>DxSWUg;jPxD$xiM^RbGX?gc zj5V!BaI=j(AB;ZyoM$C;-M*Q;Z>g1bqr#`?+A3W7P?^U}7WTBlf2k=!vH8``e zMQ+^Cki^3WQY8FLLmUKS;z+_ho>0&QQeY=1fqfkFngGol`{E8xlpLpVjcp>R+1Oar z-YBU5rBZ58y@qp`7VgEB$ISilR?55v&|#j{|wrUOYD__R}4chT;b*Tt2t1*9C#!C@)wqn z9@%w9jd(Kw4I0kIhU6&XfdZd&Ih9too%F5`J{c)LB)@_n!@`^OWf61UN`b4;%T ztS%fEK#T#8d4%*DIsQVw=>Qs0bDsk!UGfL3#kBu`tE=JyVR2L6XBr_jSWmVeRg3S=00FQkbSx zv445((-s@fWwn-&y>`JsX(q>RuuL0-j@2pH2g4a66QgyLHpOOis>^RYSF%H$2#I)- zKSTZ`ai%4^HF<$KKe?>#6VfaMbI??xS(D`|gVN>pz`uVQQI=Gfw_3u-FLrOBn(;lW zj!F#nv`%_d9rqIn-vzUI;t0EceSvPeOW_PtLT;Q=?*x_)S?N}T(1Tto0S_nbRvmHb z)?LT~Cue1;&-acYKw(4~ZRKaIax$+FlJ$>q^8(Ino#NTU{Y4<{F|~10t$!h|)J!rJ z_{Y8sx;r^JcSxV8H0WIE5X#Ak#m#Asr%=~`Z}k3!$&QhaU!1&rnE|oINH!W-VrNn+ zA}dPf5x_lbe8>Nw^HRqh@2~M50pI#wxq9e_dl>-9pIY&?ZmQexf^V#lQRJ0(EE;Z5 z%cHc6#-{N>3f^N6fl&nQrRKJQH{(|Aw#syIpp9)Q`P}^4k^E}!w7EwiF9~ZTB2XlI z@(!7=tR)PdK$hgb(^f9f_rpCekp^l%Ivo6VQq8_8Np<)2Lc<0FHC49Sj}iPsIyUMX zUfnA|zBoYAfy<23lh%9)SM|-;Wvjq z-?kQe;%gRsngqOnoh6|?XZ0trMKlS}#e)Y-|9hVi*a^8`Ub0{)aMo%}@JV0wgY^A8 zXmyp=*z;E6iXO{FBTWg>f;7^SM&ylPgewA7POe2u-{K{{}5e4&S)EU+_&^!5u z00W)RCH)!fB3Hl5NY?d>>MlvP*hp`T3Df0!W@T02$m(pzK(ms{5K8OAm5yIUlUH8s zMA`=ygY|JwU8*KV59{e9| zvVky@0&Tm(8|=7BuQ)~qziLG*s(Bw(hP*#Y1B##lSewFMf3zr#Va4|7R?F5MbHC5akK*Q0`M z$?iUY=!(cQ`9TO745sI_fh(@HpwM^!*S94Qc*Z&tkx5ObfJOgkR<$@C zNvx%|314j>K`KYghSHH%BXT>6OjqOL5jA@6J0$590t8F-h{06`Bcu;u3dG}tg3qNvlI! zbIl<;rcA^{KwY?)+bdwHD_tOLP^$U&ZNMTKkp%({68e#AjPzdW9agGhPtZc z%B}7$?z{#DnsB~py{z~H&hq;oV6!?wUy;Oe)e*fL%X|qkkFtDq^V>h*;@F_`NJg3< zqyDX$LNG)?V%w?JzCr1fQ}QNjQzj~vss0iuk7 zo7{C~NA%lm1u@eAv=HqVyMDwEC*T@Gw;+KEq%wtVi6j}7{3xU&Xuvb1-Um>CE|%Cs z?QS5st^VgtCDk#ElGADuJB3o5=(J7+T*|1q(TIj3R`0b&h)G*$G!I|yQ=zPkTr`cJ z5U_=Upr_VEVd1Ax9u_KdpL5gdLBo9wMbsz?s}F6H6kn z*WY4}%ph@%K&qr*_lt?1YCmK-M_%3nwLvIUH3`+T#hpRxS^{ckh_h4v{1=F@c6-0W z!es9C5FC}I4~9i?CE25T@rkQl1GpYUG^8eT@nmKXVoaQ%BHr(o0EPNXqnzn|uVmjt zgyx^(rHs`n5dMLes`Ou;Quea+9DE2wk!f17bgfdBg(B7|fuOtcrgZ4iEK&DlNzJG{ zF|MwS*lhu|r-AoYMzR^l)cA+cgQGBIRp;Wmktm!>!S;`DcpY2{M80-Y0$9Oyd!?V3 zorPty^~5jxd#s2Ts7ltgNX|uiy35*2u1o^qMvlnr&Fra(F0COIm>oz97mnBj5q+6@ ztYcNAFJsZu#)p4wGe*>)q-|?$<587s(m|D1U{W3GbC6zAOqh%Uk(e_3;9u;g7I4Kh z2NtS9f8M3(cl8mt^oNpqk$?QmI-caVQGmpqI2$vBkw+5US6&1G)Dfu{qhaN1_zEOI zAg?F`(`8Yro$s%9N1@#r8~M8g{pai#!0NL`^gZ~)lYEs5sNlUejzw$fXmGpsD1mJl zEeAqQ|L22c4g`VoDH`Q}TH;eM#}C-pH)Qtge;KnuIsgG2Rqy`G5ABk}JY2i68TenW z!vdLn65aLx(j|ux@U)rP`)z-W5BzgA2v-Cim+bxF5nvp?w_rUCk9ZsXYfcgPfyhr% zq~Ce{_kP!)MZ}opig?Ap^N8RtL_|19XWR1M`(@&jWe-33^5>8z6WYL&&DPzkpHIII z_vJ6Ewq%9dAy78}jpCNkbl};u(CV&Kv2CPQ>!nEDf4@^z7zPif^kMoB0|8fBnZxZ% zeO&F3X!iGyG2AAEDNCtnjQ!8ikv@1Zy&r2I1pm3~=`~qQ@Ecc*otgi8G#)eQPE&mO zlY7AHh=iYZ#AD}fomTxky}>Nn8NnYiA2Md~VdMRq??@C98=&&}m#3jP`=3AJA^^j9 z^73Z}XovnC-61m^{U3iW^jAHPOGAaIF}6TL@Xoal;wS&FGZ%IZ$I^wiIKwd59?;I_ zShYmHDxNjO3}MZCAXhx|yE%39dt zXX2`NOIg=E0iD^FG7Y9&VYeNFN`u?ZhHRH51I`3?U%+sokT|c0{2PTdNyyPeWG>+B zD0qydabL)3=7LO}bugK~Am7_}f%4<)HBW#h#buwNBcePaDyK(V-t@42)Z zy*G4MTIh+|%$QjcIu!T*{zbrjW18znIxdpME>S`xLZ9tgG4U=-W=Wq5sj+%-CG`vn z>OD?8em10zBSp;9Ne@02GYaavlgB#s~6-$%+Kw+uK#hZ*3OR(6{(076$fUC^-#oOAW6XO z%ZC~WGZ&?c4qtw$>K_G9o1_e1BXdE%Z{b?nfrf#1c_alDHT@mc)lw$OtjKepF8xBh zUlW*4QKDNpXVBQxe;ITEwAshZ3A&6FE6u9J&c9T)IhpG7OZy^JkY)BKBbTa^^ zrVAf$g~*a)FX&95ApXI`uwTMCVMLP~&S;GLl7+_npo=(obOU=F62J+UW(V&(l_sk0TqvTd4Daao2>*@P*Bk@ zh@>R5)E^nY#Y9D$l)fxThzPT)7!5w2{MsJ_)-eJ3D3cxe6abJkqybwE{8=!_ba&;A zH4q3J4f_zx+;Pn!tY$-Gkb1z_jDep_JAd);ql_FPzAQk*NBVu=p-v|cR3HTl*W!PA zfMmGZ1o^^O;wMBW-Qz5}9ijX|9(fD5u~Aa-iA<^X9w0OD$kGPUgw_C1G`p@m`_*xw z+gxH3KJ+72%-FgKQE!x=#ZcJYq!7}l4A;Y z4?0Lk5fW^8Wj8wE`sodInzSMu-(G+hdeaD?h_1?lxIntPAEKRiA5wtaJS)*aAKRs5eoMDiZ$GNd zlGQYm@1L%={!kjn-E=Q|_UlhRbe6ZB4RC3GpSuWZ+_rq=+5%vkc=-K?> zCz?=z;EaiWIn(_*Bo1OHopR_IP_9|>{&;jp1RADR8P1qkUJXNDY&hfP5!QDeYZp;a z&ykW{vC(+f`E&lT`9DZyvp>bOHefN#r%1t##dOR zUwzp0>quS{cVR2r^>X5a*_7lxhbGcRrQJd&nU#ggOIQgn(Q-SUy z^zE&4GY&jH2U|p$vOo=4eE*e>e1~sBaCD|$gz0pJW5Eg+F7uKOkPJNc@}P@59}({W zCGI)l%mku#W#mI{z>8EDt+@{PyyEA@mwlyd!P}4De!V$B0QCt*iWWq{H4wyEWX`fh zExG*Q=gI4H`FJ^7BYDUZ3An=ti4oqBC>3MT`scy+gu>081^HI`=*Of_-EgMm4JoVT z5cM8#+mZ6=2{OpEaWY*Vv93fJGk_HtB>D51Kd8+W)$p2>J?wpn`biG0=vY6 zkS(R(`ceCS$YMyZpsV!#=)JmGkr_Zbt12qjl3Tvi?s;W(!TIuS7j958ZoWk9H>?Qc zH{L3NTe+%7O!&_M@UJW=fy&PoXA)0OI6V`@J{T@*w~9@WG5mcd1?*t!xaK2*f3LiK z6|S7I(mb8uzs{6=hK42*8RLHUk1N;Uoj<264M*U{U!%aYiUVV$`fWqu@BhOeBxm4C z*Jql%$T0stGm-$NQ-0R>k1GpP;Y#}&He`waeP)&_>J184(|tx{)n}mE`ffOj^Dq7V z6Pf_6ikO@cpSniRV>OcX_mTnsV%T=_?45n#`G4<+mZB(`HD-1;NBH*;V9K~)_%pXJ z{&7ek83xgN{-*Ok1BJg88p6!J$fo$?kQE=yPwd4<%l|(3<=ZddQnwpd{x~#Z1^|bN z5^oT3O#eKS8(jJ|#OC*m0aELQ2~rZgoO0v$Spkw?;nK;ACPJ9oi2y5{Kjym@Cd=lk#@Rm(DIpuS3gr#eAG2gbinsFif4_`>k4y{A$r)yY1u`NQmb7dy!k4g7J z_7!9Coj)d%0-0d47Ro<%c=;EfxtsoR zyY_$X$QHC_nSwi2Yp2^o(da{kF~jK^Z9^sHc~;%lI}`oq0AU5JahCY~aT}6`07=Wh z*cYcL;_qd<2X^kQzRvMqdqT4H9FjTqySpw0;6@*|(Ck9_{=fSLixtfCV#ONK?{yXU z9e$u@|6pDG-$PR1udswmM5KQ&@2nPBwqM16d8zz+C>j>L6i%@+GVOnj+sXlE%R8!d z_TL#~$%Sc%?krOOcMSi(59JX;J7JcRC#ct!)Fz{77gv`7GOcc|b1ReTx!6WE3ACy!8=X zcsaVA4#?{*)Sc_5v}e(k+5cJorO~q2iEm2ZXzlIu)eHJ|Z_XOW@|uc#V^U0t_JaaH z>K;FM^I36iQn11^@2&-jp>{sIJ%8p5+Z(x?*ENu79=Q~V1b1I~>D|Z9hjEXG|5}7+A(|@>+6)z(W~czA~8~;)2@RFyf9vZ5o}=I=k1_G_^rden$6Z zi+isH71yX8mrUAK^-C!2Zha$D#PsX$+P8tebwoiC?I788z)Gy-dF9vs;?p&%XhJ zZ-gZ>cyh)i69&0QQlX&L68zZEe_#!%ChFSAoyEU=n-ql`yYxb_{J#qe&nh>-(uLyr z<}C8_e{Y(%(%`H}wc`J9<|DE&R{Fgegb4Wi%)llWHV5P<>4nykM^fr1)I z1g=W$W6K{8Rrna@f~$lLF=~IGne`M_$E~#&SO2)u6~gwn!J2u0Ji34yEDBlQ{XYQ& z7hKs?QS{diI-R7zTd*Gfr%qa1^sU)xWHv_1P+Jej%O`8s50$bw(Xm zjFJ&#M-@)KKfF|$3<1RejgMvCBlX*#n0>2cT* z5dD8n`#njL|IZT=qM@m0d^(S}Wde1pE%H9jcso#UW~~L19DLh&f$I{#Mh}KA0A}-i zkSZfG;XJod$MTgZ3ya>WTLuDI)-dFL8*!nB+(xTiH2vH&YS&5syB?Lj^zAzqQRcC|&z$Z# z@U{2w(`bFnhr}fbCM#81d&*B5+pBeSes0=+ z?Cq029P_nb#-?T;3Oh|n_?yj7D>zlugOk_W2n03=T-F2dUtRxjD5Lrj6mhN-4JnJd zsTxuu)r8z&$M_y;`KQg6pZbmLkqjGFv%Kl^=KR`5i0Fr1_=UICmf^*9L&eu? z=82A9s6Yc0h|9CBJviTMMazovqORW_mb+cy_#DHKasjUH2KAB0WE30gMdMywifp0A(S}m@0sIQ-XcS99Y)+!`qRMGNI-+AJtjnKh>zJ2& z^~b+|UXopQ=WVSuhB9pzEb_ynVo5SI^`%xVh`?!`ZTi;=$uMP^)iSHEfyos-v2x-4 z%0B2rX`v4KXi(IR19~+XM9VImN7`fz+%j+weF&PXSJU{@MmY(y2%b_+ z-}(1{t0od;*dC?kL(Q*9r8t4svzyy7_8Bq?uU04{!EIt_d{&!tX9%CNLixc%H6cHu zNc*GKIkj{w3Z}m7dBm-7WXNLV zte?w-Yl=9^mP}mp^8TSmCT{v*{t7b*=SwC*O6B=AYt3B`yRFOFMauI0#L9oM9u*BI z`GC+}20htX#U>?pk{c&Ldyy2MLGu5^E`5n(ZKRm_zLHsVWb@Ouy;*P6QuXVkcLdY@ zN3W5Q#|0A~R@YS}e;=jHEuL?0H(Hakk`$*!@(b_mTpBkmvG+rdk=3bg$^4f1L{p*q z;WBTV&cdjZP5z&n{jDR*G7bw->VV$0kG4~NY?2DRFX)vdB+t62O>3W~&y7XJcxdSK zPzO30)D}@~ERSmGXsqekx4F!m%I2%f_;PIPho26#xG6-O5BJ&yMC~?Xz{zT~v%Z~; z%C|%G8fS6I^H7C)rSNoNx4+XT&r`EXq;)@@^?zfp(v|~c-z{o1hz8QK(}|mcYBUCX zt6G(RwK4%UhH70`RFsFO&4+G#|4##!IZ-ilCfApibLR+i9#sYv$l%qsfc(;h+0v2m z=o^w%wh1#5FEuH~5j;be8PO>Dme8UqY~TC7S-!kRD^WxcaTRSJ=7~UX(gU(I)7Y|n zPJw$_IiIECIrcUeWtTR}!8GCaC2LY67*QDkP74={x?}*XIN8pRY?a%84>0V4bV7jT zXvQHSinfyU8tHYJLPMBp_7G02cd&Z$k^q%l#RcbW6I;$Gu+caI36y8*)NP7+DNDu1 z(05_apUjOROszz)hbZ1mwMVx|O1iDO#0ab0IN7JUry1;U-N?!456~W?gG8a+c8Fh& zJ5WdI&gvZ5tTORoXB?LlW-iB*!%yJRJ0E&|1Y++@Lv^!7K7DY66r~4mQpMziNJh9L z@BJ#V^a+msVF20=G8gbU+uJBor6NZJ$|V|c=2*DnY2Fx_vYcI6vP0xxupryW`O!@a zzk5Fx6(3Z^R2B)uXY(&f-AMi}Qkz?{K+4;Q5^xc8sIrG2yGV`l#bBwpSE0`C>sc~4 zRxPS>4JXQl-d`dtCmYE75^1(rtDJy2Mnrpm(E2zJe;pyw4vV7D?893~yJCp~jYPx6 z5ATTJa0MgH8DSxg_dyeZG0X(Kk;ZgUXr4Ys3JHb8-MaQaIpz$gd800 z(+M)U+-{>hqi1Bn?1XKcvUD>EO&gq;&{jEjAa5fd zN)Cb)*U5Ym=1H5|pCbx$cBBxmk-9l4&+cEQkkh1S%k%f(r^Cf}V3~qwv4WH|i;W_sbfl(E9v^HH%nc zBM)5a3{K@^fla(&%eI9d7k!Nhu|O)}(&%ITE970DUy*wsEgf25U-a$DDv?-R@;IKR z!TcoVZLJnZ_qDBHK8cdFy5(2}Z%mr<24-hwl6bM!x#=W&f=l;kSs#LN$V{xC`s!7g82wOhsFWaeSfJ<09*9Z>o& z-r1KHorHh-Osv-npYydz(c18KU3bUt`hJPynHYjqgN8|#OaEzQ`qBX@1{m?_v;mgL z)J_3LZ2I})58qAAe<&R$Gu+k85;QlsqDPW8uKxLZzp2p-@zczJ+wj=Fwx8CA?$z3{ zdBgWXa84}~KmGsLa9a~!EI;zOQ~M>~gJ_lBe=bDNy;=!r%V7En2^233W;AL z?u^f(?Zln=awoC^Y}D8-XTEhgd@pC%`qE0;JJvqY!wZ`Bup;7;0RQbr7eDj)`Y1fp z3nR@dx{?*GFUJ^_R5=&TY9Te7$U zZLQ*V2_fI8f+6`)hKx^2KF>XnIf*0jT30#X07fv9ncw+Jh4#(^cdhR;B zvE!q<+ZEkM&vvg=4kK$SsXl0SUAdNck|Jnq{N+S~*qu}J!fA_*U>U{{c>=x-$eW*P zMWEG$ijk*XM^3NjR2sx`ZVy$){Wx0FpcRbxCXj3+32~-fDs|@qK0}j;j4|p#h%j;X zCBEGPB9N%{`aahJU|^BE53jO)&}t^erPZ>lpk`qL>} zcwPGdIb~*ps-KVP$y9nHjB|r%hEJ$2jH~v+NwzKmcefFQfd~U5twXEVGLIW1Y!61# zuTalsDHOG5!B>uEtDW_!xn zW0BgPIK41++T4`4x>Zbz2&DbAYbF=efC>r#B2)OmuP;rgXTxC==(F+)S9B$xwmM*1XhHAJ^ebs;iPW zed^UCXycm}MmP0= z5R{f;4;qfQ>6s@&;$rD!g)~LZuj!;<(tT#@lGPkGyuThdm#A52956*4@e!^zL&;nd z0>A7IqCeAU31KHG>*FRSiG<9_i!8i(UAbBvk$EanV+)!ezJ4-AVw z&R&PRkA7e>CXko5Eg~GCUCVgGK;62zR4!}Ru0*KasT@}b_=G5ulCv>lW%@Cb8f5cpx`LG#7&5Zn1mcs<{aeSRTi4pVnXPjeV{Pa=4XXO z#RczZ-&w2>n@)6jil6JhdPA5rRu@EVTm%}@HkWUIWt%8gc-tlFj_=SZoc%@}pCe%m zYpBHT#Zjid74v+XJX;Y*9-v7Dj1Vx|SI6SGPv*=~Dws@+rO|sSB@+3~$i|i+tz3k+9{Ou^U zYNUv9y7W_(n7)GE>hPaX$~^>yGDflkJudbLaEeBfWPSmOfd@fTJ2xr*!;7=?`hZ*P z&*E|dOSSKCQo-dLo}tW9P286+YpdO1$_;aQs6;KxnEZVOm-JMIY`J06w4%G%{Vj5v z0@vScIrkbx8oe!>Z#52RhI=EzZ?v2ri=04+Y%Q%5Y~C3Go#@6sbO8mZrD^CEWq}q_9yVKIUeiv_QSAdD zQ)?5_*?o(U*T##^EZw3N9j2_O@3icmar{)bw7)#G2%VqYKGiKtMI`hbJ)fx((8^qP zg_b61#YA)#MuNeX@^)IuWw0fSaZn?*+bV9l#x^@L;GK1~Z$kUN>VoGZ*lMl3T14V`YN0xZc%KV`|s!eeDj-w-eGz zKgSK5{bA%Pc%G~n0vO*s>qTn81zALy;eg7?7Eu+tu2O|yJ(<@8BK+%=Rn;mv9jd26fL&``B(1*#xH6trqQ4yJK8)CKQPvcge zdY=7c(ThjF1tz5FFemZ^8;U&jg6h@iHwrJx`p!&b8<5&x(TKO@E()WAA%u?*kF6?5 zA$x|o)3E3C>kq3ofL6AF89C*f?3W^^=-}6*GhgSo=P##CQwVyXDBJing5V zXYS*&>ijnPoxVFK4`wN4hH}a5$m%lnA>4}G^oKOJp?iKT`~RUM@ClqN4C|R|3E7%C zax-Ca$GE*b%=|?DX5>Odpz=S<=4*J&SMU)rt*>d0Av)@h({KbOS*b}Y) zxXJ1aZzq%ce?RSuiT)o}yAUSd^Es_)tsH}6ebDn$q}6JQcqy#8=@H+n-~0C@zV165yog}l2#7Xvb4gH$kU zs%%omDblfAPR#O=4259@r^c^O z?s+BDXY;5G;KI%4XHnJmA^mpU+99ARgeOPM@tOi zp*RX1`V*9fZPgOju^KX*9rILG0RNE_B0hMLda6hsQ@dNTXZxSIVxys-1}Xb~M6C{i zZ~Gw7sSRbseL)XGfH(*9D#}S_m96%?mi9mzRcJ)uH;L4|5m(T_Jbf#yV|p0Y2}($+ zg>~#)C?Ee`fYTF6G*f@M$f3{5$?l>op2hJMo@A$>abPkCT#i@41fc;&+kKAI-&kc-fBeGrr{_i6$ z520WI8D|qCzFnzJa#jdvgkrgPRw!JUMg+Qt56A zJWgR)@5vRCx)Ps4ZJev99~2qgl?v9>_x_bhHh2M!mdiAbgp`$}9|S4n_zRK~vBxPv zl>s+P2D%;xSNpXC8uT>O^do2MniL=ZlcH4lL@^sl0&CUrZJvIX9ZW|5*c0I#tI-;r zo}YiTTK^J7>0!QUCKk=j%2bj;N?2OcE9=Gnk{MN}ttMF@LqAd%BPPd1^6`FC-93xsD8P(abRwz|6LVTPbgZRsD6nvzzUU4QT!_&vxO%q z9lAt)U6hQOu27x!PFZEtk9tX}NJJ9yAPgCm4u}>v=^(nvg|H`G+UL!RKCq?pY+Z|X zD{fJvtzwI~&26>rEMb2P32ucpeMZhGUv!YRHEqOS%O_`ek)@{m9Df+C&kNk3}wHHskSU7M<4?A7TOz%3x?p{ zniPVt?RNT7zR!qvhbGZ|&QCWR9Na>jbrv@aSt#}34dIj9{O_rZoEgmL5w+lJtrGR0 z63MR_j^#s0At5f^^vS2E%R}Q(iNyAZG$I5`)v>OAVdb88>cENaoEC%;;me3W0K` zQ^47g#nK$@Y*4z7QV)h=0Kv+~UNw)oyed6jknbTUYO#&*`Q25iycMepAz+XdZ;}+s zT}k-Z*H>UxJXyAHoVXXXUY(8J#%;=(maWo%Gn)I0kZ879;9L8V>t(a2`*F!SPxS+~a$ zak7%;n&O1=ZMnJ|xm`;iy?^s>M0wxNK9|X>A+xEFj4-gvQUU)uS&ia!ix?8&T zW9Qn^8``LibVb34b$!%Nd`dfqkiYJO`b}C|58((0*;)x)4eYVBvd#8*ES!HVkyYDP)QxGgKp*y6Yc?i8c8C`IoM>LJt+^$%)Dt-9vSRo`b;EPst zptOKw7gtHIBgs`gpC82bzCH{2n?xv~Z;QEjk?xtGapkt%mgERIB1rNX>hs6$6&+Kp>AEkE)#+5z)8~$O+cQEEuC4#kkGXM(mPIhMP=`)r{N$uPO;Z$#?SyniIKv87zn&7>G-TzQE% z3i$)$;_P+hbjAP?hbwOC{46&L9l<`s71-n6c|Dm(VLIZBqSV&l#bX0VF<2)^+-8C_#eJe*ma2-;t=m0w14KtLPxj zCT}6Pp2w@Xoc5h%!Q2;9LP}ZgU|%l0HSrJS#^1<~?CdGX0T;N=Zf7F$(YxUY{Mtq1 zCeM4HO6m-odQ=uXc|NzoX0c}T$u0WKlBO^3t0jcje9otQ-#>xq%vr_MiQD_WUzE)14l@)ic#ZRMuG+^zZ9Fop( z+>^^n#g0Z;vwck(YbV)|bVggC-AWdlZwHF~e;96SB4a}$F^HWoWrfr|8nr0>4$~G# zDR>jly1b2KJx_ml^|#%Pr<#)8YhCx8gAYvb2+59Ry!?mQQBF`Br&`Lv`*azLtufbQ zpFR=tVGZxrq1DGO=xVSSu@awN_!lduZ#jr#qBV#5Iat0NEJfkS_pAZsF)~iqAK+y% zDnBSeZ&wp%_p7}`E~7WL?oJhC>D;$4>5+d}34P~D9iENI*}uMzU<%R#*EK(~^7*!s zx$_e}Ze(Yd*I2Q?EZ`^vu$zq5zl!aw(`&x}2yRKic2>G85ajZBCqtZ95Z9jEQaAwt0KLd%yR4|A4z{^-6dD zkb3q$bxu9|sj3eDE-wLu$At#~06-~8QAGd%dEnXD_MY1OULw|9gQ&F#*m106~D1sF1Qd*jWcml<}g=<8%2&h4#FMBZXNgmzjlR zcsxA~=TLG7vvJQyyOlT6Oz&@fFPlny{u)HQ&}%RR21xACI`takZmUs8A2IL#kL9*OBW@j4 zWBp~rW&Dq+ivqE`>wb=~{=flZ|Hqsc{lW0p?+yQmL;RmbmV!ZWV*W^@p!pxq|Gb0z zU*IzO7qsajF8;?)x4Awln?7KWgl1OMM};D-iw*PbTgE_9Qk30u@;*i=OmfOBHkj;h)xF2(|hzPqjZmpo~zHEb^KE zvrtCdqiPWT*3*9b=>PJB`2z%sE}vOW`TrIw4zUixFX7gKUHxC4{{Pt2*({qs9c2No zZ3Lt4l#~>;dmEx8sG}mFxBBh>>z}U#1kNS9B8QG3I0 zT*kO{viL;)_afhw{)>j`h)6RnK|vJAcK;ae?LLTL-@benA2l2}LiAHacN6^lXzrQb z4B7H3F%+l$!K?q>IZt`euH9)TjT@)J=~BVwdAxLfeKF{=6?!DGjhvG7cqDrneB% z%MevlpaK1NSDjf7du;YSxUF1Xby(iXjP!KeuU~7FX{Kf(<1{FW=J}Q#G7alESy|^c zH*=(m$UgTHNQi>a4bzNQjsKc&X<8C381z@9p*W*>Oe9p4rXtA*!sQ1sh{^_@iXKMT zctluWh{=?vrB8*-K-M(0Hlz|)%Yv4rowkw8ndl6i%{c`fQ-&)s2++mnwBH)0%<+cdJgXTry2nzkFH%TG}klg6f=4o z2Uy7pl&nAGT2!X2$u|^sQweT2Oq{9{3t{Wn>2GkPDkD_PZ@~0FDyJo&p|Lm$vDzZI zo$mdMJzO;JPl!cizXc}EZ#vDU)i_dKfi`Lam7cRpk45>Pf9?QptS<9Aj!$p3z< zV7F8oFc!pRuaD$m#qLV?JxxvJY+B-LbpK}`x>@w(xtJuXZxS^P8@^-M0O1G~=$yI2CA2cE859<63u z@}ID`@Zd~12-OR&| z%FM%67c8nj+)t)fcP)A--B6xXkc2;rwxN#5{gasc-z{1q@98g61CZV7#>@q_k1hB; zr}#a0T>2mvWAmog+qIoHomRKWH%W+kLEViqbiIB3y#BgaT)G#Q`Suk1>CTpo$4${!yE!_qfvK`HMT*BxIj?K6?@O`gOLa!o z%#7m#_j5}7jvAip+J=$6lnGrZtu2N|V6d6jC4Mg@CGuI|PTr?lo4DB6Ph)2M5I3-1 zZs10U1|~9L$4gFS(^p=S5YEQhl}uI?!HHt%?)&H3-UJvy{tFO7TQX#5+L0DG;U2_> z(}joOHqVh#NIw#fU>N$bI>LQ}CzVp5I(>^aEh!ASY2XaAb^dL+S|goOu`?i>vo(y} zuKoES<7`!5H%y7@OXpPx!`lqQyJ96GniS~Xxv2;e(|18YP=6j>z6X($Z5lSJSjy)odqQirjR>-wNQxKkl%Lhga^Pe2&`|~M5pcnxSZyF>LuOo zwXWwY*6dy{cNW&fRtuFa$Hf`$tBZ@xW|M?*@O>)hWR059Uo;e_)5$5jNw+4#zP?_y zEF3+DBjEi$g^762RDAB(eC5Mbio?glGvXit8|HF{>JEr>u_MSMj)L|ShG5md!Lb?W zMKwL6-YE4iZZwXHi=i|0R1_WHWX;8x;aanhk2*RDSq|rIC{*p7_E7tm+*IgCQ>20h zrgxz1ukZ;7eD3GfhMDe?>9rtjB*7Tc0Y6apE>H59j(`PgTl5{J(p4O0aKCeQN1?+D-Dlgym z6h8Jg-`6+!9@m`GWDgn_bqmZhQ=!BHxFB6o@-9}@s3$2j|L6WquWrz_=$?v~PDBAq zn+#@9;DkMG79I?YRO=$afU9`c3D3qv4;fPl#uhjU5ywj>)!i1&xw@yV;yV%ceKSX5 z&bOq;zqOPS0j-h6#$TK+1~YcnA0h~hN1PfOIx6g|uR4S7)QerqK4w$Q3}5QXGG4%s zfMG2x_s5HMz2_0N+L*J|W@Mh=0|v~V0R+GlX)JG`N09Syecu?r>O@{`QW72~A+>^S}hhn`hqAor16LN3#k7a<&>;+iO4xV`^A$L(&b&wLhoYrNZ@4E8dm~~)a7e*) zs6Cma>?+z6FVFw`Y)WR67{Cf8#INU!IThV!g?T>Mp*t|u0kB(c^^LC8Jf{P)yib&J z45JbZSU2P{*rm|$UKX@`A`%G^!0^Frwx9$I^78x{x4-MAa+2F* zP75knDkL$Jvt+DLA01AIPAF*1&BDM`CIAnFdwM zGW}3iCRX&OZk*z6G!>m^ChLvu3_P$I@{-WqSsXdEp{!zSAAtjLk7BSRQ=m`*vQXg4 zKu=$k+6EF5lCF?PH`R|+M<}NDSEAOG-zCBOgd<|%RJbui)Ro^zb#*PC-Etbjd(5}W zEd`6Iqymd0gNniahM~mxO7mdh$gybb9DSjau%smQpJ;)cE;Hwc6VvNi^r0NlBR6b4 z`@ttzpzDiT7e6}8nQ2WRB0!Z!v=f&`ZuWu3sM%t_Z7yMtpT|0g0^$YYc)8p0)3sn- zP7q<@c#6>JJnw}ZBP?#;m`snpN!yh~`4a; z1UP2T*4t8mb7vpWHUPF-dlVEf5Aj`&yS8b6L~7pWyXtF5&Z)) z+<`l&5;_J9ze8{J`iF&v-|KI`)fdr~x=y!JdVh$3YfZ0JeZxY19f3JK zS7d5aGaTy3DJ9hj?BntD^^6u#XH3GU3~VTj$?r`|6ov%igE~ z>mv}GIQjY4Mr{g zI8L`p#s;<^V80;1TqH@m2bDtMxW4sJ_@_Y-WmUR}*(Cof-6oeOh$r5i4Bt?%(2T)( znHcj~eSW;-ufTZNXZ#w#7lhY`!Ju3UT$y7HR_2zTW$mMx%lq~l3||wYL+HqWR$THT zs3}Q7<8yywud5Sdtzp3P&Qr6UZC$p|22&MHZWH|HU0gwwPUNzP7^8+x2yX85NIS`- zI^IA96AYw00LHueU{~?e@3q;_$Tp}&a9-*y<%@2J(z>BVsQbzN3$pJO1kFzy*00Y) z5}~1?tOtU(`KzTKB5EBJg@LLD^rBkDVE8|5?x3r@P=o)dcS_tWFsxT4V_>Aps|U5D zJ+`FTC@@{`Ulc{f_g9DLT(odJYnkBYCY?x$H7|is(9S010`p2rN|x)cAN@Wb2V)3k zZql~NVJezljVc(=Vilg`vj1s0* zY67aqRZ@8!JT(JN!T*k;4 z;t1!K-l~C*N<(ZSUy(`D4}6( zn=ungd|^{O;GxnJJcgF2k+is%@+?Q!^Z53*fu*Qmcr_asP9Xx!B8H9mhlz=u2`pas zbj7`71^FqFgDs>XRX9cv>8rjg;Hk-GbuS6v!HwK}+(Qg2;7o>gj6qT(LE_Pm$sP5a-dG# zpvGL#A$;U+=)KE^tL_Lq!bAutC>up5IVn7xQF@vlOZmdX!<=_yk~#b~ulGJL@zp0W z#yil#e5{_SK&q;bVO*jz;iN#@EjO=K__JCj6oJJxI!Nxi~B74;87 z8s_t)wQ^N_ZgWj8C*B+fvu|No^rLuo?Ez326j+N>27-v)P`+Z<^Qv{7j!D2x$K5-E zIH)^8j@>&f)IdsOWcHs1plG*__uLM_+CtAnqV_80#2d&i)3WQpsJxw1Qb48LC9=5Q z)^@nFeFv``+;U`{QO8%9s%1^bF35xjv4i zKSgvw)lK3VT;3nlu^wmgm@-uUtdPywJ7!OZ%I{+;_P*O#zT3AspWcgh#Ql2=$4Qsa zaXaMXUYdfTZEi}Cp*)pXhz^-j&-DVYECY(qS;f1?tPn)Z!io%tNyf^Cw)2U9%x9*!WaY%Oe(l z844vr&K@KKDRtMp?=FWg1XI4x$Mc~_Jc&>IR;<7WXD^*VJyL`aTKZEDZAvAC^a}N? z#)&-6Unbl?1GrN*Y-hz-?~-x+2zs9ISt0GySW6v3YSH@%&62*~obP@wt>49)zC6HmEQyb=)wAt+b1u5m~nluXM2bO;TNKu$Srz@8sp!5f0;3oi>Tk0zS z82gd005DttA5rLj!GmP9L5wZ5zJxkAee;=6`yt{{e8^|Ai)_f%={kAdhjAc*ncK}Agz@=ip^?Du}Yi995$o;9W_jf953;^ zg7E_#&AbD8RT$o&lDM(H<^zKpGW1TICD5?`DaXb#!2m|*hW+AR6;%yX4 zFo!9!K`Np$6pU$b>HNHd{6m_oq1$9zUN!Z<9JqgyL6=PhHd{CjCJ!Sp)dkmHzru`( zylEhS7dz`6Q}1mDt1Ta>55FKJ8>H*#27rIlMH}|4(#@$h$Tp{3c^0l#t>9RvXeDQdPRn^t z%MohsM%syu;hO7}Vd&^X!rRGPa4#a57QRh1&D}hSf|Kx4gEIg{y$b8NG7nDYm1}aq zy_hVPAP|!|QLbRV*L3u5@&IlOc}@TC)ZZ94Oz9=Ho*S4S#N8waH*{LRAHWiTI9K~L zdRH)IQ))ukspLPuVh2bC<)M=aHAr4;bY##IkilnnM*_UfeSiGIk9T%_aE$}Ip`#T# zJ4dT9GDF>xjE(M?**||_r?3X8fs3*bttP^-^pFazK~pG!>_^gnM8c5jy6{X{6C`KC z8Fy!`^1btpQ~hoz{d%jZUyf5c?~3%^`t^)=3JV+pU{HPEcE28OFt+DB^-und?tx^F>)Z?dSZsj{SU!rRLv7!$cU!ne=_A4}uVZiTTRAgI}SZ zgz6{vVq^9STz$<SiFEf=<>Vf)a;?X4Vwg@^7y6 zykbFs6}Eme1!t{oPK5QCNx@#kZpS7$_QIxF=8MRJ=o3_~77YXleEA7%0K3b}L60M9-%shms3}LGFZzkOHU;AUrC@14oT1Hgen@c4 z#US<5BI4oK7V;bs2~UOp8U0PGE$H9*Hx{zAh`i|CcMnxt)rYS|>%b%(?U#gZ&Bh58xA+B-M#px3#8T+wA2rIj}4`ca% zy~|HfD|aep@N+)H_&scjFGMv|u@@{)WbtS)5l`rS?CY5}19yqBg$Kj;gL>k?5>BS> zBLUAnv~u8@u(Hqrr{pb^&qLStvihG#*7 zQSz|(d0IC@X3XMLh{SymJ58A1N>fpg7+`gR;%cr}_hk4p%BHJf9zkeFwV+&3a2d24974T{=#^pU1wH#Xhj$fMWw4bgNMv75F z3!WL~*#cy5o#mwd&6On;D>1x z^fHUXOwaRmH!r1Kn%r}=P)#3TSOJ_pb3oXFfw_`&O6Bt(e@ipV-hRV<5@9Yg@eI_@ z6@fDk`VnK*2~hORS-zWdCP}mBOX;o4Vs#Y76oucn@?Z)qVu<8<5=aiysVQapx zTM6@FpyE@0+VUc7EM6TP9RwpU{qjb+;=g5vjX?WjKbK<)n%j7&h^9=#5el6WvY@E? zeIA-2KLTw95F?*;2MEKIT}?W`!>b+QvmuZn@}A<5%$bIfLPS*O*&32ZiUOuO{W2ai zEH&)Qb2F$DgdU2`18=AvWNxL+Gu4!Jhe66LQdBbYNTH#m&?x|86%2}Ml)4T*OH;G_ zNDCntlj3ZrE1tSE9tikiGgbsJ>dzP~oB7NAkFt53?WDo! zY;EnVf6|ZHON00)>^+u@fc7V*ZYU%ajO-OHtV%6sU2R_`bp$Q&gvp}qP{v=f9Yb3i5H7b2Z$E?3?yEC?{5hK}kQ0QyOQUq8# zz(yas4{=nJA(GBn^TBe;0NeS9Y_-YG>*IB@>+=0_*59b?OHo^ev!;jia>1RV$z-7w zD-kFO#+yd%d$)@LkGJ^ljnS-kx17-%h@&IEtLjTpcO1p7?6aGgX2mXfNYLc3w5J_81vC%CfvkmvBc&C1_0+ zv%k(xhZr#v-Pzv_;IUIES-5KoA@mtV{lDtw0+&%}ZWceJLWc=A6%11_m#FA^#zdHd z%;sHJtn>&d`a`S))2VMz&@79$C*;L$NK+}zMRbpoqtq^Z)!iM%Z!|3dw~Udat)?#T z%<9LM7)yDyeCd3tii_z#J9R*b1;69RXdOkh1eIn>aa(e5a~8N^Y?9d=I~7yy)(l&@ z)fn08n=Js@<-B!~lZAq-ARxqCaD^sbc!)vg=t|;J4B7MBn|h{XEd#OXdF(LuC7Pu_ zQ-TRyIdwWrnI6quK795)V~hb`{6nrtPw*@kvsFNnG)NYOV56;KN&ms8JU(x1BKNEL zYXPL%muqaYR(Dad>5XM|J}E7{{&|A?m9#bUnt`x4B?Pr&DD+TS+9DPu2H{3EAKdv{cO)( z>l_R}3wx=2lme@kC0ND=tv+mEf^U{cRbryqoD`0l$KrXV z+g}Y$pkz>Co-{jafSP8_okn{gyS{6aK~P~z6WXCd){7xz%C26F=bADqX*iY26H|ING1K8&+|BY<&HzhZA!z! zOPlU1K0YTw6YdV*cy#}&=`ej?{0iTC*5|F_WJ|(x6`M`N z_?jg{X4Cgju4PT^tH0`{89{@4NSrTig9k2_U%0P@&x(oK%8R$fjnUGA14i4+^sajK>LCe5-}Tk{@>O&71FC*?td=*8B+# zXzVEuhG(@a`ry8N&jE))kd?)k9`ejtwcxALE8&HFLG=Fk#FBzbj;7l`RmPHI~bNCm8;Wmv}RucR@w*E7=SJhqR5#6l< zOFA4B3A-9iv_&D5gLkLhwPIiLK)9 zmt;8_F0q}>YO%XH?t4g_x1AadV*d%YoIL*!`ifwr6iu|vRYs@Fk!nl%njpVn=T+s} z|NBI$v){CCBVMko9~I9EW|R?IZ0*IE`Mh$IJMmKHi(|j%Z|)PhJ=oN4!kv0Wa7!@m zINY>r^gamtAF#s2C{P+JooJ-YXLQ6DlKxyoaNXv?qA+Wz^cWgpiHCHPZy;G`0e8wr z2|ZqCJ<90KL?<=GBnBtFE$X?L^p;gGr}OoqZ8=l^yET{I>&oJi%0S7s-${wDrNJ*9 zD{AK9P|udIXb9)baxajG;(E5!(^#b#5n?PUGHgySBUomeZN0wL;)x{zZ5BvDmw-T(c$X+v3t49%HW!=(h5(jNJz*%#B zI5tML`Z;g8IH{x3S%IG^jGvJitO<7@Sxe6WJDSD8?|sp4{82;K`?}xG?{#$z>uuc5 z_jX=Q&*$xW@ELx%x$~YrwT@>Ui-S@P10{0+kH_^4dkMDt8dNyV8Dn5%r%@v- zXk25XGdG$CM>5(zS|LlOR$6IbHUAAex25X%jm{6Gt1#I1!12>3HYmM`xRbtQnp>+#}!?U3IM!^tV_ zhZ9{+Kw^6S7fweiz3M|AhYe z+4Jt20OBn!3)kRUYw!a}vZcvi&S)0%<8v$Uqa2pImRrr>QPh^p14@znPRe2p1tj^S z{9%6#@POK+z^N~3rjoKNWI&ZndBU1vHYVDl56c61A}S=e$7?XH>YLXQwNA&YEul&R zWd0{2S~^f2WS@TV{d&73=d~pV!s+c+;PcjzmRW{olJ5~eg@pgA8)8jr$ZchaC6exo zuZ6tx1vFY#X5U$Ktd`)V|UfEdCGjdjc6=DWR1pGz-i{q>`5mM9fmI&;o# zvWw>SWMPP5G6Wp!>8%soV)us#=CzPjp1ERpeIZ(^<_;pG$0BR))Yi%%h-#YD{gv~v zr)dQA{WWmcQAxnZ>-n~X9CnUCNq<^aFb+{LOB3Uo-a*7Z6y}1lAidIQ26gP3Ov~xr z%zG}!@(}3qC0^goJYzqJKScgZ=8r*#mh2!mW1?U7D&lip-;mO%)LLz$a4;Afrn}>< z1U1We$yr(t;qy9Vvgi9p0Fe}3@2g$o!E&2#XJ!Iz4!Z;AtIavwE)kau8!n4FOK^m~ zPX=Rk%^RMy;P#lb>tf+B6^Nlg%1#5%4%?}to5r1&H zt>hT-7N+5gX=9Rc4ULPdt3cCl0&nAoU7bEhcb6ZFpN?lo(_J2KR`;6hStKE>qvS-` zt2DKIklj7Ka-&(6ufVv7URHIbIYQu*_gsh^o-2PNl6oFe(^W1^Xo;p|ib_&78!-X% zi)9Rngcza?t9>+UZV7yPkt{uL$j<{o&TYJq@{p;GQsc`RbN$nWs`yWv)h3~Xkz_E7g+i?X-ELzBn5vBQ>*n@%EVHNlfQ*`XRi2xhVkeJa?b-*_dbB<4jdW z&9;=Mb8b4-_?w0~luI0}kZ?jM0i^DhSE^L64pEAlBB>2)Z3FID9$PR;eUIRT2BgQB+nyI> zzq1av_2xF;qap&l=8v8*zX65B?B@&QkIR~Ozd`x0TO&@c!Aq{}CMDXNqna99VRmfl zeB0$r`6{P0@Y+Lidi?sZB0q(BZ4hJ=hOI{^EajVl_=X9Ek<~Z4D;oWw^@walK(+9TVf zdxyYPaTtr6sgu^}`E>m}2lOl+hjnXAW6ChXA>VhfQ9O7*vT|SGpC0LmtZxUe5+?}- zw(A|YO&Oo3pD%C~o7Dtkl&4C7_=lnNSid*Wv#a*GLg8)j^JyEI9hukJ@h&>(5UHB_ zfE^RPz@_BEsf~-ND6=U^8lxi@4B*(YBD%v#k$_@ZTELWihy;?Ot)bO^LS_s`C1i*5 zHFf0#u~;TVxRM08sV@8@PnftrKgQ0-;&OojxV&-@7s@{_9rOJ~ER#z@lUlW>Jr{uh z3h+-ID7nn|-gYLRx}7d3=XJ;Za-f=YZ1UvZ z?E7+W@s0X;T^8G_EjLrk<67O}Z=Xjrp>>{vMPwM&&z1vq*DG<~EH)ZC@4a#uJuXHr&l{z$Z$qDN2|3m(EF}|!0?s$)bq*JI$IZyvTYz&ib~N_DN`jVx)MEjb zht}~HjF?i$4?zPZYCdKS9;S8t@zs!AmnKyKtt;2DkGG66R9CyYu1a+}=`ihpd*g_P z->lu4#Hpm*%R{1QSr&zSw_lonJL^l|#t_h!M`CBkVUoyZ3yXqs5~$r0zH-?g;hW{I zh*VSf0(4~C0@B71$MIzI%lRCVouQ$UfxA!VcN>hggBHuSOi9G0wZFfvkh8t>H#l3X z1gt1eblU`MOyH{q0&YIaR`T*@!qzNVB$uizPwzy1^lNRR<@i3vKA$FL^_p*e9 zcIA!hi_GNlD^w{Xm-9fqp0-)O^~au2X1Q_0%P}l*>qkXZ5gZc%OLST)L7qL|SmS+` z=h74B8!{4NbYN=)J4(50Rd!O4aNdDn2|e5cEmVb|HY2(aX!8mt?7R-)tHfm}LuzL8 znRZRw)C$d_e4}}STiq&N`Yw0imb$OYO|?^B{7`zQT*;b`hnGyJos8??M84Z^rtAr% zMCdSTqF3$Ht#s$j@4oiu z-J0^V*~@-+Rm~3@_OtZVlpU8L&AwMNx4s3-_RP;2Ic+OwZ zE!r4kW@v2Ybnu(BB$?U})i20v-`RK` zcjv;x_F$rL{)na6Xl#;&6oz?~JfuxR$*8DDt z)07ETg&33iphW@ayZaKYr0a~D&t>moHo~(}(@Q!E+j2ek7?WQC0l;K}#L1k^$D0oj z#m0Nwa5@Yfw_1+V#66-dR$OjGMzr%GN;7AhIi#E&53_Y&vTYui{3>Z5QkrF=RhmUO z!tTxE(RysW#L&xUq*20Pcli6fu3oEc{^^vP%85Ylu!+;r{^&T!Nh?L4ePlw^&ONr*%9 z-*qaqKf6{iUwanYi_mMNTFWCfPw>`0FO*mv&SmNM=N&s*$r-e<=wxCGxV{&!QsPBJ z6x2i+FCbAk;Tz$MAbCigTHj{cTuZHbu3DCl4t{fWmXDym*x|U&#`m)NSHKd4_<@L8 zui?S`{1iYWE=m|7Jo6U~#lmnn+?LKyS+i2Y zeUK*Mg+YnVs31;ai?C5|hMYsQWvQ!!_U$f*^LgZMn8WcoI{LW2I%m94aa^@SGbg=T zu8@F1(ym&0G-;tQX=q+^aNU(Y$96%>j$G+nb6=bE`tQS*@wd~tC&CD}^{bPb9PXDc z-nVHUyUs8h9F1!3!&AE$w?~_{$!Gx=UvF=!^Av(k3a^dp$u`~Ujr6;~;g8H+O5D|R zQ^xPVv*<}R7|fss&oeJ|?Uhv=cwk3^Nf$&ui)o6EC33(!JO)O(>+Cy&;$<)#C%*G=4ZwX_ ze5AD6ombtEk45|<-G7&hr93dvT#oVWjQhYi;#u~axq|T-{-c8fxp@_rs_fyU`@J*w zDSO4^dh=l?jO_z1)=dcU*HbvR_!6aR4u_Msjn3YIhI138ec|FM^O!D|8}APO1IiJR zasCG@*0qikB&0SE%bjS=0u6gO7%Elm|6v@)DANz9&qj#V?^42$NR*>xwpi-t#a_ zR1N2EJ1%an;!o8@o%-dS9ak5Y+am1-nvmp@2AFWA>~yCxDz&-SC+)_3_~v{BQW2F! z)lupsaayV`5;yY2abM*R5R#KDJ*#JJFEs1fbH+U|Q=GnNNPSx@)@fFBjtF{oX_}od zWj=2jA1@3y<}t$3UMyqFAT8>2UiEl}v1KD9(ac>$6D7fZ*3ZIg$ zhHn4~vUIu4D)y26fd;4;2b)D3)pk!knpH#4K)|G{=4s`axl5F9CgKbd3b~COs}r9uZoUFhTOrQJ;e!{_@R z%PP%x7q@;@GAb6Uj&nrp^K7uWnnR0$zKdaZVm&aNbQ2=#yLEO{;VlqS^LM3FYXlL~ z>G0X}t?y~txfd=IdegDpXLo=|@++4MKF^TXMd$m|w$I+MQS#vNz-}Uu3@NZn0Oneruk#x`E>IDrY}_4NpFdPGnC! z@h7rRy|O?r{JuKXZOI_G@Z&G1j3-+WmGj5Wq2@Aa{3fx6Jh0 zcWA;^qYW$y?P+}2$+ddRRK}v&#Dm_-rp~>Pzn^0zU0s@45V}T{CvE$?HHk{KPU^SB z->Sr81gfJ&G6DYdSb`Q+2iryXSekL#S3Mk_UED-XJyfl+nMZwg;Iuh_ZUcVkv@ zqYpMZ?9Mm+^jDkcQ+o(Nv^WnA3%Ktt| zW+@ZqpPdX(9bU;(>_Li0mnzAYY={@S*?Y1`0g@zV90b|5G%P+?g2Bv&;j;%izq)5Q z8&MOG$9NhHv=c}(B7)`vDgrz-iN@K|n;LX~#dbtQxXeHf8?$6jV)UTzf)2k*N@a6A zU1(B;H8pc0|3^)q1zWW}a){|)N=q6?JYj|SkN^FbO zZ5iuEPxA4@*?5inELHaSm+02bg9wM}Eom%hnd38OJ_ql7LzwYG9r_1@!XXpp7VkX9 zb^EXzpNv=W_!vIjj7p;^^IHcFhNOpq!S);V`A1HZ)sxA6ijlAZTFSG+zlM=v#6?`| zSA4GO1`_zkcqa@<*D|yQP7kp*WJ09o0e;LDIXd|Mh*8Nl6&p9W0VmT)M*^zwI%C*+ z?K%h>Dl?3rT0k0fp~k=gAs=%86T&ct3?=AJ<#9T|=VAAr1c|=EOOih$)Ij~9puU~U z^+v11P~d5^?Ru-l>;cbZd;NF)oIh-=tYa|Y*&YYSpxvx1?A?e7A#1iYnX)WXHr5!C z;;w0bSt(O8^Y=XEs8stq*UktYZ4q#k`=v;%LKCsZ7lCC&Z~4U!hOXw!u{w1|ie(>% zG#_g3PL*VeyxTr^~{>HJarKA48#6_9Ilb-Xc~3;#c8p z{Kf)0b}G1y0nYsh;PStKSg!t# zqKmdmUq+ZPcH+>mFi>^D;pqx=HV6O>?@e2?58}ex<#=5zgW56_Ptm!OLOaQ9C+ z!ERl6UMwF@W)aA(3|DD!YU<4v+gDWFV)n0S+EY%!P7B3m8TSiv^RHR(D%pxnX4J2&Z{T0W=UloTj% z=G>;Uv$8qy`@4ARO;pGENYpSkDE+c6_>Yl$E(D-Rum^9Y+zF?DW7d?F#pTt&G=Mi& z`(t0-cEP<yBB|HE9PyG=jv*p57@|oSb_*<33Y5+*Kz% zSPapRy8CJPHRiyn?=D)=7|Kt*Q8P?T=S5{!Yq@EVQLf<2knj?)K1gEdkgT-SnqCOR z-T2Ga6e(I^jI8Dm;6S|_L;{tdSt)Y{12%MSnu6zwFi@gQInl(msvH)_Yxn|<)Mdd; zjaWOMyjnh2QePCMC2&r06L8A3UII~)D$4@_oOD@Cia!m7aa`uFap9G8w_>;Teh>L; z_AQFr?aQ0tar9rieHeC%D(w#KM?BS4w-O497kE-_Ah$}jf;{Vj&Cp?dn)s?y5IbIV zdX;9CF0^wdr^m_O(Q#Blaoc?o!pG6nUY`a3La%t7cvYtWr{dUyoHE|H_X`2iiGhJ?TmBm`{cGf)-5cUre>$+3w0jnb@t?71i8hXdP<+PH^I*d9$UUt zfo8rGDr>xrr7jQqbCkCL)3QW4)8EU=8^;R!?2lX!4}#^&W!Vg|3lm9-MUQuUoPP{v z?fuG**~{-@{BI)tU|_A%l_|g0Zdd; zR}CM~E{}~xi?>Q2MQ~n=Ta1T4Xc3H{fR4So5UqJ9h1*n>jH~|J2w~J=GR&OHfdnKJ zxqsn%YAk(ij5=Wb%(`w*xj;IBnjD0sf1OQO2LXbVa44yVbjKu{;I(R3`qvRUvUS3E zCQv1t#)_h%waAi0HPo5nc2)090DF|vDgx0b^p^tLH5sMaTrCXAc8_0dNI_o16HwqG zweR+*>Z{KtgKuh%>h}H684=J=o4itM@BZwMggtvnuNU2Q>er3eQ4Q_*9+Ys{2Yoao zudJUT)FC&J0h1G|H(>PB5?;B5=$-IRUtciD^XqGjHZ+=^typVWabdMyWoLv>DI(N3 zc?~*2oz2^xQ$DW`9WN&py=kGq)_Q7RbS*Rpa!*e&Z zQUBtd#yQ|T9@G172z7wkwie7av1G(*(LqA(x-Wd!nrhcl7-=afLd;gE(|)`6;e7Si z_8EW5X&p}X_budX|ChQt1b-M?RC)}V%8MGw_ ztu{0?1c7Y>P_lOIT1G=Qe{R^g0U*N11po)&6<`DyV&le*F!_nr*VjkD8*aGa)TvWI z2OtHwfpj^WM^w<*jX^U&ip`rh^Q#Uq(j^pE62T`e95EyL!4H0rm}9!oJ(Hds?aYYH zuY_1U#%naN=o-*1FxE0jC~U14VP!4MTRH`fP7!4;diG3&*GvPt9yLMI&^THG&uC6U z_C=iN+m%flz|oWSs|UDPQ`Ut6F<`b0FFE$X7GMJA@(mlfk#ImJbzX6@pS5HNKDEG? zvI)y-F^ePV6gxc=Nb(~LG=P-?G_YpP8t?=VVaJXgVxmBv!~H-9eyD*?Fkldh7>JhS z$RX*1PKbeY0YKc$!7B;NlQ_3++eTQ#$dWvD{$qrccQtp^m_m$qIcPw4Lo!3-jCn7a z!>Ifvg^fV3Xh63F>UXXxhR>kK6Jg4wiC!t=73b3cjw@E(vIsa=gJzn?0wJ5LncelB zKUf#|UB%qb69A#j6|{TI4D6~PAUEC+1j`4Q1E2tn-GU!v^bkxS6q|t9gn&2a+^Mb}U4F9@3cO zDk)L*-MM=&uP&*FtCTSltrR!HW z01?yt6;SZYErJ0Ym#eWQmS0F?rCGD^fqjDS0${NKZD75?K0#P49IUorvA}e}dJ2Vs zU_Av~0;f-p-V*FX^@hm(Y&wB}rcJeVYm1{SCR z-Byv0HP_fH5zzC{0^>Jg%T@zY-GV11lTn(t;$;x#EwpYAQF_^yZV@wP0LLOK^J+y! zql`t}$%zWknyX}A@#Jon6J*ojcG{q`Z`1-9TD5jParuO!z1{Rp@_@RIW1~X#UQUlSpxT;#GR&rDW znrR55fn}uuTB&ZRdTNO>b#AdZvXseFi|JQ}=tT|adMESII*syqg_pO&)M7E2UM&8? z^K1ae!gaMAC3~f@(z|pAy8=B*SPI)K<-LM3njpQdfvzoFwfoTNrVGJ-sl$g4vsp?r zd%f(dJpZg*%Pu#n8dbIGnX}@S;<<25@xhq~|&G0e(Nx4LC~z0sv-A8W81MXiEpv1~TSP3$-m6{*ZF^SO2Tlh*w%PBrz z6Hwyn|4;1YR5ngIl?Xka#d-z>$+Iz!CZtwhcH46Ay+8!txdl zgdAWYpqzyv9)c4U-rH`wP2$n*OfAxGl>rOrH6{C(Xu;Tb8RP?O<~kjNpM6B32ya6 zUWI^#Kb-rBho2(6=Bu=R+gG2P^8+SEpXd}sQ1S9$u1r`-zLUf^lJp$TH&xYy9$4I& z%Ac%l2fk1I#FuuQbwhn4gM+6oj8Bv+NsC`1?OeuAr}*5GlCRcVd@Uhqsf_Vm1Y&~U z;=__~13zV_FvJo!pUPD)NJj$>Qc|jHJ9aXcwhQ@8F6-nn=~A9?$Z0k`LOF>xf2XU> zQx~SIjTWU1KfQoT5-C0!=_GBHVzQw|JU^33^NFdnlgwvRo*$&`_H`raK}NGpw-wi2 zV(Wdhf*51@c}CWvgR{^);p3w6nvTkA=1L_D;OK#xjkZ*wqnxe|@YjE;_O z-MSTI!|DmaNd*CDVoRk{*`&H*jLX!?%+8%V;gc3vM>5tm=W{X15^k=yhHo^mOf(>^ zG&+mC`*wS9|Gq!`-~YGg|MOX9bU$b@O*0?6O}}1eHszy?3D!#;J8|ExzO8EuFB~i% zJy*@9lYIq;c@(t4OpH{m(X7^SoB01^%w5D^@dIB)}J~zw)gGBz@CH^ zjFqPfSuPSxO;+oZ)Af3@<=9+L91Io#3#oduIa&29KqB8Sq_g>SmORv3>dHYeLxjCw zVItS}tfZAoIYXuNhBc+Z!NQH3`rdof+RYnAysCTpeEIxX^~FPDuOGf}Vzk_Bsnz5Z zAA(Awp(LMiDiuJy4T0%4m}%$MZK+TKUT_zsxQQfCAG$ zd(!|1^g4_UAO_62ERlc}`bvFc<72FAAPH_@tl@SI&;ar<0UWG=K-_)z-PkG)A3h9B zq4OU)bm-1I?_~c6cZf|*PGzzg_KOfL>n5@;^WcLI5(5Z>J3PQHz!8j%V2%?fPTg%^NPTNXh;J^%FwYd~Hr7!@{A^Z~bWYZ4Df@wFAk^LI%l~y zfWzYRvp@h$Eb6cfozh9E57H{@hVQqymly=$V&ky*rZc91bSgw00ZFy_;523ctQue( zylmP^xIVZ6PqCC`OPAkr*9;Z&nXKzsQ`JT`4JH^uw!fG^divan^B30Viz&yqQ+~z* z=QtpdR5qK>=j>G4x7~IFMA0s0@(dKsW=m}o3(YDp#Wdr!eVcF4*j7H3V*6Ppm(OH! zYX^!qZtCBSddPpfHiy1*ZtEq$2#!($^X9P#(TG4zf0v}VGcFQFcqzCp`&~e6VAdSULjHj zaP)RXc5SjC17>s(hWc@!z`HLSFDNS0JYR9c3zOd}jb;NH8DIf@02G3kC&Q2g1g}7| zHi-bip+P6Czpx+z3Sm&-2Nb{pNWq6uNRdb|oL~!Kuc&MR0p);QxVlt~w?r~so(AzO zQ17~c(M~I2^{WL&WyFjI7FPq(0%@6@jZ-+$gxdfhMgP-VF zC6z5gVGk9O#h8a5y7S>Z59adOT6xN5StOff0~W>*CzV3vk7+KXi8V)P>1>K0|&fMaoVPkRMPCM}QKH7EPCh zmIRUG<-1Nwh+NoYQ7IYchq(<6H!R4ISyWV7I7MYlUI~^Z*b+7@LQzjEI?pP{0dP#LmH!fMV5P z4=DnqNX#s+U{+zN81Ml!VYde>JJ>u}nn9jWm{MR8bF>tlG?KVZzTp@REQto9tx=|s zXg0#uI@4mKl2Mt3(9NdWjHNa~s2Pea6oJQX47OuftS`V)KiqjR@2Yt;p=N0QZ+b!6 z19`CcqE2X}GOS0Rv1DqX_W~l!~lnFvzI28s9G# zvYUp7j-5S^nS@(NSh-1OokAu}mfRMbH`=UwkhGIbIkt@*r5S!pk}QD*fIy;3fD0%C zIKn@i?Cm%+)qHC2g||;mP=uF`mtQ+psWb_oN=+OTkb)CR8B|!2aydEZ;77+DOfu&Z^#Z-B*_&P z6!HTokyMZ*S~7OiO*e57`#imlSM$7`PaWo+(ZDs)Ky-GA(vmnFVajviIZ_ZiZ2ANY zXD7Ak5;I1)=E0o#4g_ZoMnst=)CNqy-Xt8ex3Y9H>&l$1c4xK~z)({wphHc^a9F!g z$c0%jOpSmD1}u$i-MTG5IAkR@uitjIZQq`99M7vaTn}6TvIvyd zZ#L@g;WHz{CH|!fIU)x}Y+gHZc6<^f0nNWsp0$(oRISyvlCIY(u|~p})Mm}3-Do!J zF1tv5hZ3ryh9-{iDeFgSrdH}uuG|P-Jl<&58kAtF5j0#?d_WFp15*%EATKtrka?1A zx?Yn_CkfPuB0?pE>Q(j-wN+L{igCqlp|lx55GJzFN7rFW)%~m^B9YOOnpkKWJu7Db zM^9GW{0$Vd0bg9BdDG>90t_O^LvyYbFOxl3fg3eI1LDPWfiM;bUI8hfk;fVV0w5}o z3Mc`Z{)Y_U0E{95p&@vS62UP9lmQFOfw_W!yk$5eAy#2Xg&%4NhXY)jgh-AcCj0Ucf2BdxR>}-?KrW>Ufm=iUzG7E-Ac%T7OBnL`3459#o z`svR`3#LgGStzAs`IQck!05owcR7=RfLcaS*n%Y$KjAAQ0ey>wRbQb9wo58g#7y>x zQKiX~!yv3Ua9@rj01Y$&ZKzl9*@aQAmTL`W`Zk7xd^%ZcxL73mvS|=eE}dja1tUUE z{bA#3P;WNC0Aw7vM6Xvsh~$ZjLo{9+9Kf)Ry=!D<~ zEFYu@pS2j6Vl1IQBO{Ts_(GzD!mt6zzza=ZLO_5HVaW_M1`h&~5HgrmFr|UPZ+WZ8UK8G!X5HVQXbN4;L*u+AWe%;e}^O;R?YL;jAA{q)fYN233$j zZT=)OkOxn8A%wd*!`SJPoMK7YembpAoRA~6t^i(8ri?I3qVf4z5_k?rNdvX7L;VY( z408N_P+>S|st)2RgrV>WNil1vBtZ>K+U1GK4I_h-6J@nGq-|AdZr}zZ{RPYt*<7l> zkDnOoH-?|^I3{!Gy?5;7+rKrGue~!G;YRWH+?wD7%bG2^_|-*I>m*#R=?S zONX)+DG&MZS$9(VMNl12r6r}|g}ShYXAozsuA{FO8r@2iGk~K9YL%`PYrdDvGz%PT znvkt0VqTEg_tG|%RV+i$-e@PU_!9|QoC?h5np;lscJY#WjyD1kj3tjn+z zf-i0_q?GR<@fec}G2(RD348okNe$``6NU7zLumd3z?tlpAQWXue zHWEQX?J!q+L~shuKv%2vBX7U8apRUup`=!1{3bElPC99)EjtB$?&P7<$4~ZUQbES4 z)S93TwrFA=sJre!A;$?4wQ}M(+&+9^vVQdJSgqx9WQN}&oQz>Z$W*nduG8SGYSOOO z8tqJqt2HPkYc8Y~W=3U06?}H$*Vs##h=rGba2W_T34glQELZsv<*H0jG*w`=I~EVi zC7eb9P=O`D7-~g_-KlCnN-9v}tFmpVQ#xviiG>*cC_oj)vhcc^k<__W@rF)b2#uEU z$`b-+)GLxJ^=SY{Pu8q%tX*@@cyrG^_uO&E9S{g0jQv1%Z{P(buoMC^U;v_TVT#}h zn1I0eLFhZo1m7tjWTge5lOgqGL{%j(Jf_umhb zbP*#sPa-4ej*VB^36m#L;WQtjt9(?z&_)B-Km)Wx8g^$wy6Ngy(txk1-G;4S znI4!I)qiw6=25uP1$D=uivS*&pw+K)wSzP?e6Y(>;SC;aR8ZSBRQC@1F2NO$@aU}| z8Tzl9rPW*;s8yEn@#_EkcVFFq;O+i_ezs=>Zj;3Z4smeVmdzzQ3Fj5AD}Hrvg=Lj8 zDOIS+263Wao}8XV0DIcM6L!!$XCZ>$CNP%Q;E~ zdm6yfXr(~_fy7B}qis#M|5Sh%DHJ|Ge+(Q*Qd3q&gQR;}K`Mj|^? zLSYqw(wSO&YJ)l0-9ad&4GND%#j$yzfD2A(iEBmJ!(mArNa*TY2%$1N>!P&qqE*jZ z5`!OQ&IVnve+}U1$*S#a%CTZ_0|)IGBLt=hCVLPDOCi`EFkk>USjb?qM}RKI+|MEi zObic#1CVD&CjbHt39&_#d%9$e24I1Sf@K$$V6cA>oIV4*Aa#iZVU}iCf*~q`5D7Az zWFdYGCm@dMNN&*z3Fhn??s`)H5YmmM&2Z~dfQKBl2a3)s6fa}6h9TOQf zIWx&~3f8jz^Z7TPef|x8xhPI}!>J0!U0|W1rP^qga_Iz9xLS!&=!OlX*d!(@_33&m zNOTUe6AfV=Ck8vOdG9YGBeO$C{Nchkc2RRq*(?E z4K=EyWS9h1VJVVe1JD5{XxWxQarl9g&IBCHAu5jghfI}Wr4AKX;U_iNkuzNQ>xCdG zRa^zUP(tWb*)hquNp3h*KZ>}$gZ~g(pqq(BMXDU3VZ$cN85j?_;s&??J^(Jz&=HflAMn8{2`eKUQDN-^l)zF8 zG4OWRu3gw9IB!DV0En>mfkEQ%;lr3cU=mQah5#}UCI~UJjRP^@1!rLZIz+X3^JZDf z0f=Bk5i`l<)(jcOU2Z5NZ!~ZUqfrwtk%@sK>9a=vWI^jn@hK2BlgMtg72UaAwitTg*4nAP!;Xd##3wk^s(*jH4$ zQgQ4jnqqbeJg_Vvz^IfK}%d2@gJl#w70aQe-@`p8s z#Svwgp~yh6hTG=IE8s^JJVaXPO%R!)leHOZtg$li_Th&g2BAw6$ICR& zF%$3yb_l%K8|e7F4ZFWucHtFJgX6ElWTOU51{UPEZ{Lo*cnQn-7uIVCNc=D%2rKpy zpo~OIB;b$TyLQplp^*fv5E}vlaU?c`A?9&}#fdG#}DcpscVpXSFsi}KA)a|IC z9kQ&F3iB8iCWH$r*6?dA0zDMaK^Fw}xO$|`X;>JufugvDa9Z{I$m#UdgrDJ-L~ z9D|tzCW8+*jbi_xKM)&63&{X{Hes-E!x9X_1SB~i1w$f(4jlS8N$l9M1G5LokpTo` z|0#&nR!tG4CxUwbF@lb^$_-GsPiCdkA|KL!&ih;GcgZk z|4?$i#UcW8utEWJZC6dUB%vHe113Y>kxsaFqB4jub`cJQ5Qy8+)v8Ls7BO`N245~= z+6JL;nT1}a==pud~2RsTT$2xyM_`{AypEgBM)FhHK1@DM;Sikp`uW6A+ACx z!wh2=$)M+1iJ2I#;Ex%jVoEcBBc_n$=%v+$onoPRV^9M(u)qQAV7msv*ucT=4I%*z z&>!jToK@k;kU`|^#(?H>QVbOsGvGjA5rG3rAP5d*z#7W7t=lTq%H+f(caI)Ee3-=- z_M(y;p-2%}1BZYt&~WwyK5tn@fr*!$9{?aC2Xm+{-EPa>Upsg1oTp&A-~_})C3zL& zMBf_PXyB@9Kw745pV72pukeZ!8R*Mvw@jvdAkFvFoLyDZDZQ4dUrwm1$(VVPsb1n# zk%vFibrSsM=O4f7l`%n0!?qT>fKv-4lN_Pfu^kfas-!ys48COsOrU>>};KkZOgH}h?!@Du)>W@D9D9aoG z5yUV;fEd_mfdJ}Y$UqD}n=J^7FarUW4AxmNZ}66=7(B3fU>D&PYca^fr@IphNn!(h zAVv%XClp_FLx9L(A^;OYyz^Ip^iQ71OAswDue8??MgvQw0coGn)M=}+_8D!xQ92r` zD@{M4zc61ikE(f+DVFXKb|tmO0Tn*zS^~%wFPxggT!puU`7D5j7(wyFMAViHVhXR` zP;uc`_6yZNl|>V42Xi^euxCRZTv1NN4pdRV0~v%_HX&;)m%!u#i$+VK6z=%qi*S>b zI#-VI`Bh?IOyGA7g99I`2cd+63}1X>MTJ|%08lpjRk@0swG_4CgPXoQKa;W>Ucjl7 znWR+)RsQ)a=tJd3<%j>(e-Pw?Y%A0gz7unhDvZjtste>KyWv=ZP#8LdR}wdpfE(^5 zV-Jc7$C#${j@GZ-DMf`&BGk0@YJyi$S|nHA(*Ta1tW(_$!d@3I0)3lPDopS!Y5)ju z*cdQ)fCK3KgvDGz7@mk>-T*ORmcRspJwwn5W(kA|2(Tcam`RA1P(;Pj3A<1U#cdzF z1yx|l;H?BlMn0HA{OmA=4?#R?DQEVZZKM*<^t^t$BJb6xp+*_wj0TpA2568pPHCUy zNfVv<6G`}2+=l4`Os6xcg)^;AE}VSBU+v7aYOX|1iIN<4ik8b~N|dDl)Dd;T=v=DohuPxE=%*6D*s1((U4!!} zJZZ<=$-yANG73L0Sl2jm-Lf6x%Ha)%E!i7uZ-hf(Ipja= zh>Z<8>{#!5ZOKyjkVQ-K(lV(PB~b)HfFMo+5v~mLSy}a}UVeXBS@ob0E*)?K{NcbZTV&D5&b#P{c3^h_mtdvZwDQ75ZNB2{ZVH}9U zG-R?2#TghP65|rT>&se1(Bvmlxmy+AhNAT%IS_#hX-c4Ior)E(Aq*;E-e6A&nkW#g znKPVHZXPd|EwUp+gWJZrbNMRCQlJaAf%rU}eJVrTGMslx$|>7M<}JAN@7T80cG;7s zrdT+9cz(;oRv}E9T}aNky6X*#bl+}t7mWC)E01T$Y!^zP8L zz(%Z!W-V^%%~)#4l3_9kRUB$LJRkhxwy{;IV4_IaH_}MruF5Bcs_yG!c(7^;lI-x^ zl=w2-*yz}>BRrouJYyfNV=NRg&G~xZ!)@cp)Z)&q!Z`km*Fb0&>1%Li5<9T`LeRm4Z8qeWf- z>;+oKx*-%)@q*YLm=SHu7KfDt3*H_)+I>eQ090A0($Lr<8@qJ?jwPrmH?GtU=pE79 z`I1bs`p{P`MRaYHRiDwSWScUv1sogfvGyLywJ}yhYCI#wiqU!8oHm3mf?5Q6kcGYy zWQyCaNZ#g^{iD)-+uMvM|C;r^s;=eJ_Q09;K+$_qNF?JqEHj?zT|8yg$yLd^ zXqvYL8&FPYL#g?F?pg{KJWzBoddfA78uT_3MFHY|MW=qHL@kH*55>V1iZccjV@Dth zF#+TVjc+q*I9tR*LI9j-Nz@v;xWEYUDSJ>(Sp?y~>WqysD&D7A4w*Q4J;Y>s8N^MofFGEAdiqs+R3o{8QnLA-g}Oq5=4L;mI4Onfa| z1822i1NA_T(bvvM?a|U6SsUnqwxVvD9!Qmw!?LQM8p&qLg*Ke7Yk5(Yu&!ZTsET?@ zv=Q*4DACyInc9@HE$TKjY6L1jG=IspQV`Ca6st|9QXvh?1$Lg6b20pJ)D@R6+s)$B z?XzG>aOj|o0&e_*2WP@Zlu@GJSL8>BM*tIFUwiiG>@gcsL$1IB%9VOc#iZ!#-#RgF z8HFpR>JK|~*jMZW--JGgNN^va^$SKQZlwLYF5bbPow4Ma*IoXOH|+JLm5`-y4j2?D zAk}t(A8GK29j_gjQTj6wN)kZ=1&c&=kyVg~inKY58G+Gc^)GNki8eqyVH~nDR0^zj zY(}e>Lw(RI3ui-CroVPlTEMX(pLJT~dWfEfUc>}z1k*{V2{}RXc6qXN=8$rTCQV#nr zCu+p***KJpwV@+wd4DKW@ z-MPimNZ-KF$mryrD=xd@qMeG6q|gUCh{k7yrCyDM60|N*Sm~$`8()M0Q;MCZ6p74e zQAsb08etlVf5kQu_LW$f2`2d0S~_hz{hugT!dj$JIkqJr^w+f})~vOPZ-Vp}%;uY* zF|VB_RE?gac4fnTzLkTg9VOg0d0IGS%fbgwQkG095P;Li?Oe5QmNN%WQkzXIsR+C} z>@nf#>3eT{Ncon+2i9LyB-iO-exEt%%Pn6~8&%x$1wlpzn@|+QR@~_tii`6?efsIA z)l25Rd-vkNy_87yxp>=hTqVy+`MXkbDymfI%4%=h9(YxHAcvxB)f3IZnTf6vo9P)h z<7_Fn+pA9G-c1M{nffn&phrMYyZSFSB7J~Fqi>ja%^@!VMHE#TN#&#PP7wFdVUS6l%lJoEH3-~yHJpij3( zwp$LY#d9C04Q!-~e;rj{}%u`zvnn zgd;l8+uNcp#P-cXC(NW^$FpaUuuKUj(3mB`IF6PW=o@li zmzc@MnUf2-O{})Z%XPArfVjvUa+diO1(%^fCPc-64A+LT%L8jm5G*EibZGAK-4i## zjGh*v55jI?A&2HhZ>8p`gNLlAxQ+8UB0p*?HJ7_6SGJ@MI^{FY3Y(spITf!UNU59# zQZPiojQ|2z7BP#rrk9gb#X7R1?lA9YblgKWbrsK&sB9Th5RU9|wn&7iT>`NQS-?ui z*i-nO!A0Rp-Hb~NsT(10o7YC>CXBX#V?#dFu2H+P4Yr&JyLRoO_^JGle)OYgSW8_^ zClLV-D2MQbnKT*Z++c@jz6ZUgu9e%Sw>@wcdcX*54$+LSH7unI=Fz?P-V1X8_c^(m z99EUtBq;NsYSQIN5s+e8ftn7nh!MZq{TH!f3xF_eNd-$B<;ig1d@Zm6=%8lR6;&q_ zccqTt*HPs`5WM1FD)0E&Zvnz#p$dgjAlx0IE@VL&dOAc1gF!fIgoVRmij6JL`JHnz z4mpq7EhGhb(4a!hfDz))FKrofat8;~@O|aJ%FV>*=55Dik_h^ah-!%P*`G`jEGXKB zCh|kFkRqW&G$DkG=5ZN`7e*E)YDgQRT11H!I(P#Y>@+IwqJ}8?3IviTSM}8RD^Sll z$Fc<+=iDRdEzo*KrAp+ zD_?PD@S#KTp;~L$)>c&NRF59*MJXgfGhS1Alx?%x9(YB2pi5O4pP6E6H0zbvyiKw^ zg3m0g!@EhdGM>6oI{GNpXD3BCe{|-CQ$ov@^^RUGI!qPb9VW)V#EDNJZHL z2_@3GC{lz%+Y!6`Nu?O*Kqz00wXq~BkWjXHgk)iYiDKoy$PEA>d31Elr>dVmaL96s zh)$7$X^H&L)L6g?5!JEBei`BKjpfLx~ZsgLb^Kyv^_*h&?)*g2{RV4k1`! z)uT+b`o*D$+DSTX@fR1}kazLy+i;HeKy#R8yqU66c)73w!-gv}gNbBVQ~y>#ynI+D zWI-X!8*U{gfq2?H00@Z0ttm7(JP3|p!W{&ey3oTh0-EH2U}$*At)Nt%IR?kLbtR12 z@hl58i|XY9BGD2ICM$(sD@74ut=u-f?SZr01BQCD##INWM1x zCJJjJ<-1~vm=AvUmml`wxhc?}rfs1Q{pbI@@pov%G!0h>)2JxcP^y6r3ZISuBrRGw z55piCFX~HqlZ; zpbfPV&&whB^(~E$45{F_Bh6Vtia*7Psp*r`GgfcF8OWw~xgPC!p2jaJKbxabYA&q_ z$rD`!#3=D{AN>;%7=^HrmxdP5P33W}s1s6QqIj~=b@9bI^y>-H{1TePnUa-edX1xR zQoeTLt%YL)JZr3Ov>-zS$zdfBr#Ia@D=-morHLRbq7HK1G54@s1 zkW;d2VrGpsE61(dt^wS2+gnb$DfE2kR3}C7ndl!Yhknnn|Ce9kksB)xuJm#!R4L)2 zfixyxoB}pH)CUC!%Pq@$hS_^9{)IE1luqmEcQ(e zIFB<9Ee8xv&hYMHEr<^!Wr*`a`FO-$)7URFIWckM*wModzVH$Gf>QAF8c~O1Fyb(f zkUyXR^TP3|xtV7VZ=V>q^uz7r$nh!Yrubf92nxi8RkR@_R*^x51)d=Rydt^0T%uLc z6{RWB*~vj>iRdFPD6vJ@U+gtW)57+T+7cew748|!&>q^;w4)i;-E|L1@H=axvUfW)tdV(@Ugd-rZDBOEy|z2wqu+qcE{P{zh* zX5*VFpa5qJuALY<(cF3GAV^k*Nv@29C1Yp^L(4HzyfV0A@C?mOD6GT^vRlYP!??me znFaAt5FeC~3e*Crpj0mo3?Zj|2H9S+38y7)3ECbw%ROLN)+t%5u4A)=dl36F#=7=i32`q*|1Qc z_j91mDn-L);oGt-4Dm^kVCj7ld~tFuSY|d>9+rR(M}Z!jo*x<<9xdFHzv@$0hY(Bs zCjPPG0XLw6!9j@i_Y85)WI#oE9K}(AAuXhytt4# zd_541|3ctE7r|);ItT|c=mLa@i)cvR`5&dK0$xZEBbDZ>wHQn~`)Z=Yh&nVhIx>tg z6Ne0v>X6{I?ocFKojSAfTAojkiPR#^`06Y+ergLiHuf{D1Gm|XM9S%nVfDm>2Ox5d zgC{98V6q7!+}7k$|FIlWRzN@m5wO5+)w(AZbF%_56q1WIQc%Vl;pkBuKnJDN>pcR9 zsMJ-uKtg27s>LQ3^@{Jmt}1`CEzLOMGoo*nZR2eZyb?WNUesY(HAf~ktIKhl z*GkqT=n+S6TZfGuPyncbGL9SN!Ob6QaKL$;!M3mlAVQgkqBLRY@=(nbEUN(XMo1c3 zcyVlWVC&?__{dn8C>9o5=P3f7=(!+pa;Xo zq60=xoLW##5x$@Z3<@5IKcTA?h9njbA3X`8L}o}DpLG=_Z6KNc0SA6YH5P0Z`k#3E z&}A2#r|Q|c*_qk7Bgaqjb%m8e78pgTU>sN~;R6s;zJ7ua=7ET!4%bpqr&k-jp{PU) zOHpGvag{vcij5BskL}z}3f^dh8tjjc*7Ee|Fj>c+-cMF7cxZ)p;7VhLvb~G1qy7y* z(gKbR@Q_xDc-o=)<~P4NW|65GZ;>U21n>d~02jD$()7}=yz)v=04B)M4?6JWl)|0U zS65J?Q3S{UR?=xBQy5De*8x4?`L?&c4Sx*TFhl^FtW>GwoXlmJY0e% zt2s&uXjTof)+)FveVf?!z$?@Pb)qHz=E&?ZfY&Jus4zL|xXoNBiA|d^tNs2ChtQ!} zhftLIXyQ28tEl;cG$_phwgIjW)Mh!Yi#Z_F@s2G+*Iz#B1o3T?W4to&di41RP96>Q zTTBPq0({tdvKTsdu~=4?B@I0ux*F&>aD4XEl<%I{hZ0z!uWz_m1k|98FdLK=i8w#Q ztK-nIlWWWuK=_^Y(@%a_)i^Y_|K>*IWPpszT z?ilur{=w0S5t4bi6|}M#FEqpjh%LAOG=D>&HC{^5tL1H6--mg78jhPTy9FE@?2+a$ z?LAmc8~g6qCs-X&nmG^yyMpBpb_Gi(_Kf7}iCej4?)P){e9wE{14BIV#1mit`qw4e z%W4tCDhz7}GH}FRK8FXGRNx3J2;A_7H@xAIM;^i4mXpUHe_U^RzwFtw#|9RN1QS@q zAz*~TKkGv2tPVmVW*Pxa-u13`;kNQg5MGepyjHSItha5X?SWUT2h0dn=T#&|Z3!7) zO9`!8T2mlA7{dRcY%eJlQSJSHsk3~9YA^POICm?)6dzkYFb6?~2g5X?V3DLK;Qsy# zwhX`Fsx7-N+`4_+arE~>6;h$eDkACaP14oY&2Skt)=8a;i3H7h2JEn<}7#Z1D89`$6TOqhr;su1 z3IuTCMltpb#*sj=Qy2pmc9zA#k&&(2b{so)bb5L!Qu(OzX`8WOwluOZ>2Xn4zR=2J zk4q2YnuSa=>g{VG(gKbR@RXZ_GUGY8*Ag8KOM`tS^g5%01r8C8pVU7bkVhQS`i46= zpO}Ewmx8U0DqJz7GkD<`$@FY>UVBrvxor=e%^s*@vPRS{o}o(OHsf9C zm7qr?w7K)OVim!xVhNzf{U6|9p>J_?c*q8eSXc?&7)m@=4T|oM<;{6&HoO%gJCtA` zgUQjMOSVm3ywmKQI6gHWupoR)W6MUU*P@15L`DYKKEnfpPY2hL(E3qzNU9QtjlvuZ z2f?(6C@-4XQKGSa1Eo05{Qj@)cLE603%Y1P9FAVt!5Ue(_>g)Dg!cEU8R$PTHFx*d zzB}Y-Q)ZK>GdOF#jU+^kQ$_4+T^tOo60asl0S%7zkH`guj-8r~c0`E3%Idx78TC3* zYy{efA3m|76X$QlKNnd?j~qFA?5KVSgfqA_GCC5jqw5PH-f~c)>vk<3MZ~o-H)nba zI5xm@HIloArj#CXo4VFb(AcYDhO#jL6J8wB`Fl#C{sD`00yX(k-{(4uQnsx^A^1zl z^%rFc04wa;wJWU@UL0s7dVhd2ev04;b|@kXlE@7#2ry&_aVw&Bb)_*QaZHa^bY&?n zG!v6~Go_8UJ@6{_z{>HtsxVz-tI{+R>CG?$1m*~p9K~rxN;?)V1TGg#bG{`KcLQPB zi2WL&VPn-LC_?wgWGT88Cnkgg$ELR&aK2F61Y#D%rUR!x8HB({KKV?XOv zM>dsz_uY5r<`J(8Gb&++h*gqreB&Ew|8No)-EVP(O~O3k(qYvDH~<>#m}Qx;_+mYU zwSy6YV+UY?3`}9VfG`+B9)0vt#DEB>!Op>aqH4wu1TaSy6tN+Noa`T%TeV5Rai;yQ zYDJpuZN|@(TT9>ez{~7`R4q*=QiPh4V0^AI${kYnp7I* z9(3?(f^Hy)`0-Ov582^@B9Vlc_^c3GM;Nt5HBd`@J+6QW45L5rFHB28Q3WF-h>QGA zSY@w?UrJ>IPBd+inP_$pW1)=>mzgE|A%rgBUIW3tZVhkfm7yIsq@d>k^%ao16%wSX)UBcAX55#Ao4f^OY7fWMEc- zR7hxrMb$Wy;iaLCY#mlYv!!jk?SWUT2U0h<)-jopOwYKh+f1o)cHP$W9uc$2zH$Ts z9)e}sJi>z^Qu+sMHsPfZpH%C-5{lC6-~jl6kfHsf+~VMolZ#(_a%$^n>`a-NTRe6$ zPU8pyR)hjQm?;Mb;_I@53jtrWLOY6hv6mH00T1}AvP005v^PUR)KLr&g$$$!gG*Js zZn2lDWFhGA3mZg140sjWNf=GBm5jHDvqA%96ciE#L(qT`62&#z?%C2gNTH2z%ZQj` zLrdL7lY~$R**dL z$X^UQl1C=GMvoGpM9_<$u98iX-vW+J@*tbdFnss!-D@;2Pn$T)oGHSu2SJu0F2EBp z>Pt`@fhdEG7W&@+06+jqL_t)9D}T@3yLW>r7C~e|EfUQ@>82J+48<+kfE{W<;}*gY z$y=ZVE43h2TrN`zz=01agN%3#9uP^9CC)#U*dw49dJwc(Z4aFN9x$G3r8z`H*Di+~ zv6Utxu4g!s<47n!&1q7`fWQUIb*js9KZK)*CPM=*ia|=`WrIL@GDo!(VQ(#8an(RXWD=$T$ zB4Nk^vN&rb_(TJI08Wp{oS&Ps_L7S=jfWZSUp06czUfVG;`#24>M?llB^kEDszqvg zMw-`E={HT{Y2Nairk$InAvrWn_TDYJ^Ugc1i7+Z8j4%x-dtYh=Anv*69el>AcJ@*lp{Axv&SBLOce@BVcS4pA*R?T zhk*&U4O?SyhFuW*!V5}abZpcvdn-6-WZ5x`US~32qb7lZviH`*m4h=<_nHgRN=AUU5t_-1q!y{qV zP=b+w!Y)<{d}#XE4jc9kej5QQ;=ru}Ei{KfktuZ4FfxE6K6(-zQVM7ona4+m&fhTx zV)4>|Af~4M7Lx2(&;f_6j*Y}eP*8^F2vp>cA4`eE)DcifrFyAI_(DGh{77$;5T-Oc zI;*r|7W4?{(?35uUraS&(ot!ErPBqh{0#GYY!Vi}kx;7WT#^7ZePeWGUDIuBqtmhN zj%{>o+qP}nw$-uiq+=T=Hag}#&-;!0_l)yn@3q&eRW)nYoIMJ#Rz~VlW%iBM|6Rf0 zY~0l;*w1ej)U>2f448JRJ&SX74R`~hKuVv%XMw4|_z!v9jc=T1Qp;Y_IdzKhx2J1B(5M*n0oDGt|V zWQGD)^wu?T*)B61rfs7T#m8op+e3-Vm|9<67BFXi54iK|D3Bm5o;uR>Xx{-3ksoGMx97dXq^oeB0(VxI6H>1Xa*mZ2?%BL-5yB~od5)U_2eLt#5`T?PNPea5~gSienN7y z5FzhSnF1aoH^ru$z&eYQf!XAScnZxI&b&RbM7yylE}-~nIPN3vp|iQ0ve*#cS#}BS z3TEy=%a4ELmqJNDE(%Vy!nmGf0a7#luEQXggn{-k{+A@Z?R zd`0RHL^j2Lng1)5H?l(05zw?EnC2%YUHY06;Qc;LxZ+jYu4AMM+J-n9@C*Ql^av0p zPSeU@cDvb$6*OYVC33LATDt=}C#U}%89p3tS=G6?WTd6LgW8dwEkxkrXhe;o#96NoMpZ?ykwOV0QKRie8L~ z<3c@LgmF;5DFYi!hDz)xJVor_$Bbe2EhCx~NyY#IF+aC}V&miy&1xc7s%!5(5uyuyBCBh7|4kBh@gt_kx+E3i>B zn9!INCkp+AACNUhS0%*+6S+n4Zmqo`XP`I^^%=>HMkGx}P&$rrBTVuO7ONjg&ckQ! z0Eh_KaJcHy-XWzW|9#yTiP}=aBB+++c#WX6l$?HcJ8+Cw#;1Kc5!i00O_4Z+l)ZZI*V6Ll=8SY#Y0ulhz!dY5R$r1 z%pU_ndlX4|o0`L(#TF$Mx(s0e&62SpqOiH(f@v$@+CB#`V`s7W|9-CFr%uc{V=8;K z!6*d5Cj0^TSN~AD3s_;f+;G__lf~wTG=fXhf8P%jLJsE(eur9?Zd=Tg!aPOIuR^{V z*MNoH)_?GMj;qNySph6CZ?Nsf}7o z-S}xt)XQ3W@1>pwrXJLnErHhPMY4U$4DVs$cmxO0o%7a!+r8KiYwpbabs8^kNoDee zsHfWCIH&O-siJQuSz_m#ITTuUx4MDBQW8rNsW(bL8>|QC$Ft&Rg*c6gM|wBnsSd-D z%gMS6wb&JRW?}6gM-2<;H zIg`Hq*HE)=koGTDB##rtUlh()3FB=;Jv@_bvDnw+h?sFFplf%-A5Oo7*C`oh(F$Mw zJ#9y`lf50!T?og391Gm=f8HejiJG27}WagZ)!5<8M^Vn68Lq#hL zB1{4d=jROf0y2bqITM=6jCE*I%80ENi0N=LkL^**4RG_j^O1+bs+v@liX~jk7XH<# z(ut19DD8D0u|o{y5oalb(fD7qU{@l@Nh?ruXqEs$&b>gK++%I!xw=iWwD#8n9p|Vm z95`?hBN(Qj-Z2_~L4|Loz~4wzLPnssV*DrI&2 zSI9Qafpek94iP9fa!Dm-s`-I%=8qz{(&os`{5LN?)Plb^d7R@lCsWAZ>jgTN@vhYtG@E^FI%P4&&m5PXjGQvvK3C1_e|b^@y( zV2m57NxI_ctC!vw+_?$7sW+z#gE|s@kE%elJj+5XfOZ&?7jv25mWU}NZhS_@cGuF} z1ynB~mT`jF?7{NUK@3l<|5Rv(v6OzkQ={AI$NbzSwH#ickQ}ZQVfSf~tCXn{%Yup6 z#$~k`;5e@Bze{s>5ouB7-~028xlKLG$USs_VjlLZxWi$3Ev=sCQlCrW)n=>rqaa8@ z05+oFWtU(6BWk@MgUSFVc)iE%Uu3O6Y`Mb&Nc~_ko}U-`Hy3{~(uU%aBPM>V%vv1~>h{Z4pxJFHjh2;_ym?@+T?%dbKx9C3lyY3fBFUXCt! zr%O--V8@XwE1@ryqA%`~A-rPtbr7_KroyyKJ7Tr7<1dZ* zj>1Q3?Q>SY6Nw3!)3d>db^AtB5|HqYs`gN2e<%Cs4I?-CvAT`S4s43Q8tzo(z78AB zK)s$R{jJk8Ue+m8L&xhlwoJ}MFrh=VezteW!_q~gQ0iM{jA$(oysl_Ie7yGZl&>VmHw8i?@y6pAjwY**2Rsf^F<{+vs9d{f zP`htU3l|;40TvDEFMqz}hi;E@6GKNkPhF(L-$H2Nz}5u*Bh zP3Q#4c|53f?xosZh+?FgGD(CLUh1|1-AW_cqtw-6O9{shLd78!Mw$GinHqmN>}gHa z2c){GNr6FsExv^-D4U+yb=n7g;#ZVA#7|;!EQz1Q8GImMa>f0ikMhrBITwVSUYAr- z#C#$`pw=W5P~D6(Qp9l@qK?@LdzdibU;TKrV27T#QQ-&UuUHuXD|LJ>RfvcJb<9b6 zZ5~Qca1z;x)u=z*fvY5Ti$F?RsdoVlLShw*RZ&VzS6xg3q7X<>QK?t7mJ9JT_C|_Y zs|DIfG)bKP^O6m$qIAW6Xz&5&h zoTiqpJ`fKC@)jd3RuBg}5_uNuaQG~wkX&&2Cx@zeJd+kie#&0F$ZPr&hN6&m@$?if z3|u!%Kj3>U44u+l)C;13(ji{>j#q_IAWni&hlI3-6#k#Ih;f0cidhFu)g=aU5CQQ< z16~5X1dqS9&@-FdOSdh>%GNZF<$own%_shyUy4U=9k;V6-f7pk_`hV=oYz z0EGW1dk(DI{qV$)1kw=tQLTdDHvp~O;X@Q}-?U-KdfsVjweRaOoX~G=0rm!^nsV(| zV1?xMG{^48@E7G}P$EoCKUHhpi)eHYrJC(aQDe$*b)iSvme)mX4dcb7OKAw1-Tx&# z=JfQMo8aaf;9R$zqb6~xnnCk+Rwh12E$8Kr%kWvlbdqdmEOeH?qmJhWQCcZ{19SvwMx}2R|4>IUb_}6agl(kY|#5BT%WAydFXZ zJmFV|VR`=3MD7w+4f%|psnkd&`3&CJ2 z9{7LL!>x`1#=}XMgC7rI1J>V_>!Tnee|q`JNvv{dqc}j{~Y_}2O#GWJIR@_ zm7&ub#+72Y=iT?;_C1zP|I~YrkJ}$6u{nrAISJ#=za?;h2!Z~}-P-XNj=9&lcjSm< zA$QI`W7{FEUa*Oi1cswEXPwzO)`yO0phx}Y`o7xle#p{p$ps8h^m-+azZP6;%ss|$ zRjazDE#%w6vX&>$Om!r^4@uHo30XSCy2q;?vdOd4LSQ>U(6I-G6QV9x55k}@-$Pepl+SnAm5Oq7sQM)Q0 zj((%`y;S;M&75cla0ta8o*qLJ0Qb~6@=9$qaPTn_`M4LzT|A^Ll(kmrJQ!Hw7n<-$H{(z@QljsRA17t@c&X6n8BgmV+6;sBz03p25$ zsxH_W^CMN@aDK%3vuz`zLNc*VjS@Ywn%)0XwK)Yyc$gv>M_tQ_7t`;Huy#%{!(+vo zc!`!&?}ClR!lXlb3xl1V=j3Pg^TI+7oh!T3?xs@2VXeUxA|w~KcU#gI0*`x$8iCj; zuz@|owfO}1)8b?e|77-COh@jb#g&B_u?!5xH+5{c(MF`aof{~e5Xs_v-?SXw@6fE5 zSD{j0?DqfYJXOJ72w}=l-X9Wi6s2ARVZ~6vaD(3yibcz0H8VR2hdSUy5jMi}&kz*O zIHmu7iF5dhv1KbASNK-AOo&~ao%|)0SlHaHg16w-AD=G9kR%HJp>CiPC~-%pG|p?L z3*X)w7H`?!lk#=Rq`jJdn6_F6HZM_Hmv!xCYBas=llZ?u4IK1Vh+tO{c7ttUbMP)R z%QQVU$L$#H!B!xa#+NWjnz=HNiMkpyUYq!+Mp%_-Na~gehTwMu4xdJ`h5?p5wqA%) zQ5wHz+bam!Acb1B`h6#cVog-I>kC!t)8lDoW@)ujc<4+AL3($GQRpEXhURv=0(h9B z(_!KLg#c5**zAakt2>-_$p{Gx5LAd}qCo&rQV`oKU`ogM)J+QnDWD^$pb``+fTB*+ zE4s#rC!^(rhv!xG?IG7;f%+kV@5s%0c#9wlr&8Jy@cYs(7g8K5OxV+MtloG+d`vK9 zofC%chjdX92$v$vCI~*UJ}R?P5Wf14P1|8ozF&`m!o+|Sr+t1j5NkeStp+@rPbcAz zY0;Z2nHpA-N7Egdt(v?4mWdK~u`Yx=r7J7Y;E0nQe6{F?#;G# zt=0A*rA7bB*_r>HU<1dXz(rHa%%*Te@R8WGozsET6g0ABZJsm!FHTgGm;|)XQ0-3& z7-cm+ybb0n9e9b{s&EYcsiMibtA;$(#TLc_@Ui$xOV>brm?2n*phy}Kt>HUjHh(yx zsIr`_yj^b8Fg)6h{Sf8_fmSA7>t~?Dxdufn3@u}xh0F~~QMz7? znW;Y135?ypti;ngQ-GP;kMzb45ny-los zSkLkGaKv(1r1Od_O%jiQhHq7<-Qse$Pk@i*_7FNM+kWU*kCvgMtU5BJ<1v`g7~C(h znmj7gjlBTvZXzQj#{0ut$h0l2WC%_Nx}z>BkdBF*it=11oGvTxY+HLExe3_)9|z6U zBD=uE>I7t3^qZ6YxkyPCE^D#*1xYfAeCJS7Fg|Hgz&TWq81D1C*vir`tJy;(VThn1 zGr3&&$O~2hU?>(bL<7eSQ-bCOi3Gm~p*qgm-@d0)Gj|%TCKwidag>yaoAR&08sqbH zZCtFlc$R?I&*~iF3cCm+n-+9(Q0z7rkFfJ&kUm|{XGa-Yp11Qmpk@s;*v1nHnu1D$ zrn7p{Sh^n;MWj7ZsDk8&dr{#XiDp!>3VbPY2gVdid(@go{p9H#u{GQ0idvB(%qPA^ z3}bt!3nW}6l^c4x8fhZIa*{{GZYyqtnTd(y_ir%U&_&3 zin^?pBoFle0|JM4z?UwYFNXIE-BNCaPlgPoX@EMlR8*flyRS%nihcwEK`aAA;D1Qe zJNQ|w^&?+^dLZVFhDT|el_JwUb|ouiCYQ*2Mw~3z%>?7AnlUZ9zL1hd!_;kC&^Dl}a7OZ*VtHLa24mTSMD<=yxvzakWwj>C4G*WNfFD6bq^S=v#i8Cjl zqiCoQ3ug^!Ae}J8pUBGf%RWL7d|PZ>d_z^kIuI-kd<X)4z`M1>*#_T#~uyOvN7Ad0JUl;nQ%NL{V~) z(N5gZTM>3Nkv8mjqCEpD`+XW+)PHGxefhyux74Iu&AlSe(?on9GKr*J>$uRYOfr2I zzidIrpgfwV12<#PdoHF^JL=}Z3lchR1KBVpcXUj55`d5MB)3s;mMQ3zUPJz~6*>$h zg(CQYw~99Uq)~c9`X>#BBRdy(Sm@7Fp)G)95EQSbY)u~!K-F{7Bc|m#e2`HMpvxT7 zbsW;k;9+JvDsVgt7&Lf|1I3qd{KwZ)K9V%{Qh&p!6&4W%@1X!LztWL7KhSWe$c`DF z8&*pi_v0!*uSqZYFSQ{)>@bE}2vhkUazO(Rgl7RrSk_nOdgxjqt{KiQpX1kAe_Em= zW&Rj9z5H^c5INF3)oA<+CgeeabG^S!2INR$4g1WK^P2%3SH~e1QeB`BiINSmi*J1$ zyb!prjX0R3XmevWg(&Q)il2LGV|kzG38TPV%rjLopMu1Q<(YT=hKA<<07+U2bGS|? zixmuKPFWb0F7&pVY>(Uk7}idE4&H}35hAhfoXNucEk+{n`XNAsPSh^e)$`RR2OFR7 zZO2Kwk*vHdj|YZb0CFSDKPYWT1mb#m2RKFiJT+B}whUo33dHc>0YW5V*9!4v$HkBRi?7{2W?A#(A)f93==u&4}nRSTbM_ouXy ziNzYw#DnmLpn8DCfH_bWKYh zM{$rkZL4LKY(1<3Q>#6RoP#dCmJs~G7|75{*Vr9yi{*wD4ICCdwU0 z*5rR^HhR1{xEiFwtkgqpKLk`_`?S@mGxHL0+&9C3OoT*&@pVJssJ689+B*TAIuvw)=!Un!cmT zJJn_6U}H(gNrlCqPAu1M?DSIaGN@~8nI{m^L8(jcw#_gT9rA54W$G;|9u5^IVP?~Q~6Y_~Nc_^BJD~W3!nz_2-K<_y(zt|?(Nd-51c(8V#R!{Llw>m zqC5u~-z1yWxsy^;PTFg621dLvpOsN-{KgdtBS8B8SFF7cDO)Fbd|lYGa(C8Q2Mf7! z)*VIcOO@uWC=0E96H(%?q#)Doi;a?W$TG5lgLr|NOVDAei>%1$C$~Gx|K<#rz58Em ztg=!lp>6fL3Ru9XFYuPJbbapnJ~;ZAFK8oE2-&3J)5XAOW@fD(N8>MMW?x>U2cZ3< zSmjnDI6IqRLq=&wCJCqR`*e5;km0*D;;FI4gu)KW7C;3cR_}|qBK5m@4vHyrQIK%J z8}=b3=1G(!*njmylJji|mzI4b6O<1J(5Aae2l{8mw4f}41 zgABbG_cQln=S^ydO(0R5aFZ9RoOnVOCs3IrLHc(f7Rx!Lw7QI>szZ&O376-KG{Sh& z7U}3^BXllg56d>nVgre1quw>6)=)QejD(}G)o5v48Hl~Np^R$;M$u=Z)~bnX8~ zffvu)2{gPI7x#3M_?z7qGVw=)rIIuNtjZoav_^%~Lap>aGCsQZ_vj z*}FNDtCC3)-42+NiX|TN(nHNq9Zl;awJ^3uB_>U@E>2MqsnVWTEZEw84ClX6E3`_D zb(j;03M1nY)q*suSzT5GvT18zaj_4Af2pnz=3=_Cc=_MFfTDM|TP0`ypR4{r!lwWA ziQhFj>*eg%<*eVcyZrK+v>jU`)St?7VjE}0Q-N$XPgc?lL{*Hz*b*vn&nM~4$PRz>4A{$ zQH8q4$ZN2Sb7fzgxFjEiHy+0_J~_sFGUij4qEDT&##~owgR$yfkenxJsVH(%fMj7x zq&ooIRJpRXrSUDoAWf7|i^s0k2)Do;WvaCaodH1>W&$0gEpDsrEOxV+N-DpjRQ0zX z-H#Zt%%NWs0CwLOKb!oY zYVCdhR!elThLcv6Sr%xMM8Z$himwcHmjc_Rm{);#v30IqW}>Cmh)Y_BF%ZRA-`jof z?#FD8UeD>*1o=Pv?nXH>4yuaPzCZiEpZi{-`z(UjNaKC3NC{t2p;O{z5I!gJKO(W4 z{l5?Vzi+-7HPf||Q``^Ro^I0LjRn4pzwZRT#`0e?^Bbb++lKuwjr&mYkUl?^mCO6# zOK-mcST`vD(uIfu;k^A>ma<;{E7yV_K_bdRh_&v|QO^$A_z4*gYH1W+8$ zYjm*r>AvGR)a(1ysOvnpd-((iL9Dm_QhL)I-k|1vd+OihJNf zSn%bHmxs>cwjrUiZh7{3MwitT#n9O_4ofn*)`w^%f4Z5rM2)`R-I;~cfHv;rXI zW)a*~EsFIZ)tq8wGv;v47Z!Z&#s9Lwo)e5-$-%Wt`^ zV&yV^%me3-W9_@o)*6bD`5sPI^}KTlbAb^YY1a#|`7Ge@9rw?T_hB!6_hpo0 z%l+ol|7~5s_xoMo_T_8LR|ko?n9=!W?PaZ8;PLE_&*Ogf&dX>n&urg89OHk^H^BUJ zYsDQfJW-zKcb=U8;ooxC_?Lk)CQtLR@~G*;*Oq^sn;=U}&G$5Gw`6_mKX@zV#JXg~ zlE^NGVq<(44p4UezVpn#xG9bq3G(&d<=p^&R8{uT@IybdNUaf42?jcB9-GqmJ?FroVolx$(DzHy=dl{OiOivweT4sgU7#WU^UOT2 z^Isf~|JR>SHk8AUf9`rd6C)^4oBhCB#aRC>4*!HXbIar4LIC*pP%XcGEdHlRd7mJ@ zp>hPE;a;bE@4syzL}A?4d$R&`dHe@llS6diM*`MH;K;nUWgOck_kIVs@qWiF`G%to z1vA0Oewmc-SU24)t=A0D$I0*4UH*U5Cg2&m6>#1oFa%FFcfV$I-M2mWI>5Q1(u{~Y zj(~^P=O2CB?w2RetH8gpe4(7|r^xfRWRAhZH2Pv=`dEay8tOIqV0ly?8W9^>f`*`=`EdQ&rQ4jUR zsrTmd=9#8Ir_%6rn|Mf>vix%^95;nLvIRjplMooud}b{+)%X!VSXy)Zzd|WUkx|Md z@=^f>{LZ9I`z{aBjJ**n`8hcX2fe<3+MWhNm+q&5P*k1%*O5MrzDfke^+wAD{*6aC z>6l82E9%1h!6h8>mjAb|yYGbg!qesYdnlvN7tgLI;Az%Buk0E7?YZ}Pg|EwP#ggZrMW`&uWmnj^E7$4rsdyR&9V%Ay2CSeoCcjT1wY#Ba`1i9fdx zD7bP4(k|3fOfd-k{-NDjB~W=xTf*STN*<<2RzD3<_^q6nEq)F8zaZ-d`Cb|mUPyV? zZsWwN`kRnZn&qZ)aYP@-!avGuN|lhVla5??q)BIg9m;=|Ans4wxnzj$;CutKw9Jf* ztwz_s7j>Ocqs19Zvrzouo|f9)fG zGhNiY+Ht8;?zzp6U^zl`Jaqye^?p*Cu}3B<&-=1r?5CK9!p>dX4Q_Zn1?9S4otVpZ zi`9CgD=q1C_U_c@g=@(E$p9DlOMqVncMYe$_f^Y_!2Ni!)&Lb?8*uVdpSjPWn>`Yu zV97iY|N8T6OwRX*)@0kKwEkOCx{~a$ggdOB@@v^-dTMpTA3F7%3suoOE%jKHyll3{ zsNW7v?5^m|wE8AcJzQseBl8oC;DkDuGJb*5A??F4U8X!@I=cbfLO!*3J!)^6Zn-pG zSc-~JP3ta?6!)Yi%O@}UE5bn!Y90* zsvB2@bG)CWyQ^tdQy(WPNkBmis;Mps&nb~MqK^4d=DLtlRh;6dES*9Vh0P|_<9>qg z&igsV!X1u}l{s9)2cK5OEjyl~#n_l4nrLd|?+ODe@>Sv@wvNzIp{@LYx%(9F|8cOR z$TlApe{>1-g#~|Yyzd2*I7jZLfS9LpP1I4)(UIh5Q(Cv1l)M;fxFfK}E@ieFFlQNl zal>pR&$KgF?rq;`#m zHDl{bWlvLg&55iRG|Bkia}Tn1cCxh6#8T4gJQO6F?2vyO7m|pgPdv|0m-E0XmT<|< zOI$#YqN}yP)}#y*SzcCvPy{(6(?!2xJDZE#qkZf%g=t5omR(=_--G(#>M@TT=X&d*R*J;{qkZN%6I zvd63Ijp8Ua=9CK4bbA2oz_(X#fp*e5VjHt!*}2-cw_Qn=i13mMD0$J$?vRDLwq$K~no}1hpJeK!rdZAJ?V1T{J?>$!GSe~lu! zWneb{u_pg`9EVm-Lj{S@qphT6vV(wjC9@xVrVh-K_Kl^)SzwW$HO>C)IzLk+Ej@n`Uqh>d$zpHp* ziKLjgO!6n~(7a>kheOU0l7GiCc0rh>YQJlNbUIbWzshdsX~;bkG+S07!CbTn1yt=F z!jJo4ixL>A!b+3FQC@qo!<94-#NU4)kqNm!fbNb8b)r65t7eHx6YxLcFtUF}a*0Aj z>NN^?e@pcX4NR8DHuE`LKL{e7<&aXVvM`X_JA*`@TyY<9oKc;9-|PFmgA=~c>Y&?o zT{-6v0&}x$psl9+`xP>?>z2zRE}_qD;jGVb{1mabEHG~g2UbU>P|Sh1Cu_aF;m&NA z4qP6$o*qY8)qlc3J~ZxFhTvwuKIJcWda}cZxAi+O{6C?;6PzR2HaLJfEIW_G^!BCx+! z`zg=+x|9q|VDSx?V5aNmKhk%|M}SmzQzuM#KOBb`pYGPW6SCo5pT-#hHj)s zr*7B12MdmZNK(rhA8Y*5aBTa+-skgWjdPN5=W*m*{3sm9A3Fb2(arte!#cm$BDU~47nW@yI z7HeSF3EWbUIuz9QEaQ0Y0mBOm@!IJxwYzWA$o{88&pYlnVpw_>JKrnzUupDz^j|0S z9e#NJ&ECDI^uHhD=zFZyL$*O4EEo8sz6AiH8My6FUgH*-7GGroVbXQ|)*BAS2>o7Y z+qR!xGtbWc@Bz;Nf#(CTl))N0(cW=tT7|J>>^KB43fvyy+If7Y1Gm{#oB!8q@N7P} z>%!LOFr}Y4ux#qS`Fi*4-f^DY_UrVpToV{nO-`@aZu-6@{IWlMPP?shfEX9U(luDn z_kCn5^J$7!vwiQ#*T|mpDVX+P2L(0(66v($>^p;aJ71MJh0P5u2jZ)C-?w)U zHqOvzdbeXdjC=++50{oIZ?Ct0O%P;5trZRs3skLu;Ze6*Lz&1nfa_!2CZeiC2&18E zlu*0ABt46Lg(aiBQ1D3f;Clp%K5NjrS3( zpQ~%Q)1dd_Y0x%O+t&O1?El?20Q$Yi=y%!Ye~&zMvB~ehIeb{sgBjQE&>gGH0Rr;_ zUI15IJ{Mr#>$>>_EUgHeH=NGM9rq}_Pm|^So=0(a`@I|oAW!`FzzLhR4+o$L+mExV zF~2MG-z<5QzpnZ|+q7G4OoO`5UH|a7oF*hgg(l83bBgKB$2dbj&^igx;6gPY)aARf>8Fe*hvMc`CIN)%Ryo_B+Sms#TfoG|AH`|3N~} ztcVK1%c_!REOzH*E&UKr#$bC)6D$Q1>)q_x^trPkuImpww-;o!q#2UPmyJxwdiAGo zM$w;l3-JV8+&mo76GQr*KlcO=(vv#{AyywjkW3?Gj}hS14igiPa$d6OYp-nKc1M9Y zXp2{Wz!cXqxggR~))BjMl8o05J9-yqO*b3746{BDx6|R=wXXL^ghwP6b^Yo3di&$|SgmG-M>R7l<&=~9nAZON<(=E;dPklf zhY+vld8Def@7mDVfXixn1a2D#8f(Sxb$5IPWqY3)wG9@>a@F7*)EjrHGRoyJ0*THe zB;J!2xDD@Mf#!SDHa`2cHGALhkd0t1RDMA>dfn2fSo;wpl8;~b!vx@@yZwd`<*q=V zZSt6vv|0_5`7bJ%=voVX8!qak<^De@%c-`o+%dJfJJ+^(FRM&MTp;r{sfuua| zcvb5pjO6LPdyu~+8WS%UoonxUH5s$iWZ$Z}6O7&+P}*?50|UPOaF?aQ9l6~FI9&3^r5Y6m*@_p)ET!vlYgE8kfVcRG^&7s))m z&??T6=A`$zy8om4YLTWtkD~$6*)-+I4DEzi)dxT?y$XGz{;NuR5{N_A5-_Q$UTxsL zX0}&JnsWnHP=`@5%%BSb%70ITP$!nTTQ7iu_KP0xxGZJ|fH-D|3~#`BB?#+KKWI>2 ztjzoppd1~Wm8dtLC7`A#ZVPPu4T3Fcm@f$8QvnvMGYlhI(`-aFZ$-ydN|u3=I9O98 zepiD*>sX^9A)2)vY7iXe!!5i27_(Wo(y{zOp}9cjsQy;g4eTt4`_@b|)96XKiBFx_ zWNgYfYLiyCcA!8Z_-6((`H4N6DTQKH-sMEuSwkdeZDt$(kBWN}cpQSJ&!v_PL9JIt zb~L%Q$PQYC(mC!Rt;Qw|=c9nWUDi9h3T6@@qL+*r)D1k^sX4TpQ&MVx-&-Yrc&*h? zYn?ZsCrwgq?obn{9*fj%42t~s|P*E6$}2om%oJ)=5jEs2IXa5zV3d^lUi$)zzjiJm# zvwmHM+U}F;mf?5U^j1vQDBbMp@b>x286H{(Gx1^Q_?Ie%rVWRrJ~E6}1L+@fq1b?aB>;ae|7CBAQej&6eo% z8XdMaiK3tf26w~{OHm~3ts49e;!ut@sm6VqJ z4yCW;EGk=Zzex*W8UO+x&O4r1YqLrbCznb>#Uw#o(ivmb@C92>pZU_O^}WQ2IaE-h?*?PLM^HeSKFlnvtUBqC_N+ejipD zDaVjT4dXKx!KMW=3AmhkZrTDJhXZl*1Be5r`S}P$Z|DHEWaD+tsoASB5tNRxHFRAQ z|7oFm5?I7-;7tN8W^|KlFWkV{N-!VU*1%mCmRqGYRWFDv%1Hkzz~`|San_!N;M-x( zf%t6+drHn}0mV5qHFWBOr^XCS6=z*C8EfapPSR%=<#V&Lvf&vOWt9`6$iClGEXq1UEn{)(`-z6+FA=xMn1x@yQYL0@ zqv@McTm>fAxBI~~s;Dd73POQ}g^Y-o2mQdOTA ziJE$WKWxUIk;_kTMrh9z@OhbgvfV_+=SLU?#b^JjAlLGy5K1KbgW3l0#LZO~9vsN> zqhPZ^+W>C0Bxud-L=m6b&8!{q4FU%Kx{Cj=1z_R5=e-H;dalU8dD5aOMm|2A3Ly(n zJ-|3w)1VVnXaGX<62Wh%@*@kqG0;`b(qc!wwKD0|Gbi{XDNagA)3SYULiU*h445ZZ zik(UpLfS@!=pLc&<@&F2fPz&`Iwc`3m->XkDJJe;QS?YafAt25^bm*0WDrYV5>WII z#Y%fVc>%(Rzyzf-x!jy=#5*bvgh)^mCK{@`6pUR3Bd|b96iIcq0kibux3stTd`=`5 z&8vYQVYl=WY?GMC;p;_%2Ok`P78Epw21?~mri-4%-Fc2Ct;A3*=^YIV>_2ZTq4y_UfQ;|8T z#rdS96`U_1V$_T}5SQ%}c5aq1!=gKVJ=o1VVo=x;OFl`z=+j^e=4>GDEbv ztIbbP)VH@JK}RB@3)fI4i(M7h8T#5YOK%6I>2zjde8!bOTXAb*GN_@srd zCR&w>CbSOE33-(f+EV+*rQuU2sz#dpf61>ca?n{q5{-2fyoPv*ME1M60b6(9yX@iV;Zng_+a*B<$uaE(N5uZ1aQ(kEV8iJ zIV!t?VMydP`5<7zhtQ+|C=Iv6vC07vp7sX$3_0_yBVy5P<1dLIBpVe^DfG_L=;_ZT z^-r7&#hevpL#nkl43!qe?TwkI@NV4XzAF0!TNsHK=L#x&bdYlV7d|A6;dGE5TzKq8 z>%e_GT)r~7^(43nexie{K&<;~UeCI8d~!~#eudsB3Vm?T*#Q5r2%fR1XJmIk9atwr$(CZ8d1n*tTum)Azggx&P03_S$Q&H95wZ+rS4XM99d7@3Hm@QG}==RoL&z^1Lj^oq=RwirT0rd=?>{P7L^Z%}z)E)7z`Y>#LcROmNoi?i|g!N=@ha0K@=9E}e8!y9IL;@CUQqw4Z4WRIL)t7@4?~klbrP~&|ZuiO>Ajzd>-1sL&3uesZ zJNMLRs71#M)!Wy7ZBxZ)upIzc6=5(aMtQj-{xe595dJqXXF8<-kj3BuadOX#iPChh8=1f^=EtA2C@* zzR^Z{4IG#Xb`zRcR00;n5{ZY$lK{;#D~WH#i%kujjLCC!N-=J=H9@iy@d?IKvbFK1 zZ)!qurk9kFK)&byx6mmbexK%+ZKm%{s97iu2V$I}f)8w%ls{6Ld=^5}^RS^v9o&OS ze@Knex3bR4Og~e0iq+D$wz5^Pc-=@5-~QqvUtzNvORBk-`dd}0x{=&DW*ce?>`luq z7X8l$0KYJhS2#}rFe-0qb&>3z%`^p!VeCJ;-5;a$WX&m;K8N0x)p_ZsgLgyg%`ESn z5YKQB@Vql)nI64a!(5zkdks-8#6Lf;%ql(maCv+ELiJ}Tj{s+0r(!N|Kw;dglxpxt zeMpmK0g|aIe_0+RjjyQo0_Awf1l(Fq={ogYvRrdqR*rTngfsYx%;q-%xm8mWaRg@> z@#7k{(RP;-Ry)h<)2%i-|Ms&hfH$rp;IqtG!eVpLDc;n>GVkXs%ly&ZG(SHlvkiAh zcU6n$PzcIV5)wSeTmYf-6uUl3Pr~p=A{qFWWKGh^`AJc&lXa)Wc_9j&>c zxNA`ydbMAguQ_poSYbx>vVg-RNwpk!i`Obc#^#dQQFY1KFZ9rwOkn%U(!=t2$o{;R zM$6i1YkvrnTYGT}{DE^ZEaDa=ayyaap!_6R-8Q;#Ybbxs-vo`l*+%opw`0w`}P96$!fG+V-dV<~tKF-&Et7p*L_iC81cDu-4#rl{scJO^p% zfe^z)WMyQuWD3)S>TcU1(fWb)aO?!8IID}U@|*AKclHNve#>bZ#xl@n{S6-tNtVWf z&17BskVMWE6QvOrEnc8XcOd7tY|H z`d9E%6ZTJQc+`Y?nOnva8m9;U3$_c0A*WQz>9YFyNUR(jP^0qrrFkZ>H6nfi#?>aX z-o|W6HW;L#4{%S`S~$_W@uhZnm`jzpT55GPtAB zYi0<^|mOzl?Lu_HCYi)uWrX~ zNS>Lpl@S%XfRD}($G$F4_b!+ePh zPRB*d8k@=Bs#x=Xp0Nu`ljyGIdo`>PKz2^_yd_~FfX<>rNnrruVDFp}z1AzC?W`qI znAOdx*sOfhq%*?0ZO!_vf}t8gk8U7jXtjQdk}7eIPt_QxJ>D=C!N#Hi>^J2T>Ct)p zXCUZ!6&_Rr_ z8j~1yCG4EmJ#O4#>{~x=wC4YXIc9}W9rq9z2{f!aHZK{u+1An>i%&{0oOTT0z(=o;?O=eV^#kB8QC$#?a z&(Q$?>fy(Q@}t2rlx0DNLN~cVc3qu!d(4IRwabRjfuX{9a?yE)rIAgq3ux%C(pwn* zXXt0ZO92=<5J?IpRTa@wAwxC(xe z%`0$>adb6aG%wAHp?JoV<$L+Iz?cSNImRqK7#8rc%|tiVsuO^FVX3pF`d`$VSq}W1 zBT@`XFbxX;B%2aBH-^??zAdl&Qtuu*@zIj2Zs3z%#n;*D{yk|*3`ylf@CMqwN;x)S z=6=+skxd(k1*)%NKrLXR8az)-m7zHu6$q?L&oNy~X@LUjTUYWb03?*nBqr)osKY$b zssMGe{AQlSP<|sFN&{SMA{jS;a5c;=8JY{p!pswk78{HIyy_}Az_&`-ojl!&!A)#8 zhl}%|vE+~FtbmdonMT6f=hRkM>d+^}j06M9O))wBilFxARh-%GxRolEcluf6@lUl* zE`GyMul?+~0l(>W#_#ms5$};E7$>+Hyo}AQU3^Sk4A^4n!v|?na1isJAYXb!o#CGu zgCo{8fgxu>QgVRlozyEFq*}s4lJ)ejPV%SN*jPk_>ZeAVF{<2i3nDA;`$-9vmsKX$ zX1~Ii4&X4X|4wArJ#cPLp%;LVRVm%2*l9zxAvr#j@Oky?&i8Z4?!uRr&-YZC$QwM6 zfHf-@aveo<}`0rLfx>Us1IF%Ukb8A((BCSq@HQrW_<5}=exSzFKju#7RI`ww}7gVLC zx$cMUk&Ip2T3g%aV-bQdBBeU`F1DsyEpwlL`g(q=)5|gK?X7GfaYij|8%IlGfpNzi|89%_ z|BUXv0Dycf8+I%yLl;9vR&v}!i>&*g^DHLxvw!Pji^%t!TX;}7LZK|l+(#=)jsSib z|CFsp8ok;V6dSlnN2!<*{Q~FD_v<9>g@bF}PTAkp$SMQjRG8=aIoA1kwuzQ!_*wqS zGj1z@vG^%(8G=&eZzj{Y!-n)Al_Bpw%L{GoFSqcfewT}p^YYwj?>^FL;b3#!d>(RF z({*@%j<@r@8{>Z-$et$R%v-G{<2FblQ=WbZW%8$rxSn8g3sABQv}+=-8`w>tqy3#7 ztn4_Ah+s>An?~OUX22qN&<|=LetaB3y@T8EIEYMQHjj!SDyOZ(wNzGHB*Ok3)cMYJ z(_w4xE%!ND@1wJ@kW6spC%H!%wxJ2R^paES>XJ`awOMIP`jHpXQ0MWmfysE}9q@;T zHhsVNJ?&7d#+)}^4tTupo=P&{AkjgL`M-F5@&W|Nd?05DagGPT2Nq_Y;b)J(b;h z`<(^#C1(n_t$fl&$WsvN9!RD3x;mW9WWVzIe9Cg1R!k_85WtQQ!oJNY)u0ptHFt?O zbx%X@slf1q5sgg1hgZZdQ8QP~5nnILz=R1ER09Z)&~>i*-GGpU(xbv4@BEBAhJ}WP zWb7jvip%Swk!-F>-_NxS$vuqC;aIfv$o47Ra9&R-$NO!qTBL}ogkLJyP9?R@v>MWy z)E7*`Eyw`oN82U>8Ae|zzUT#O8wCO;%>1Cu48JgI^Ky+~4tY-skrVgv69!Tjx?mds zN?TMoOrh|t_@Kg1AC8aoOB#ioperSb37KAc57-*~I!Qy}0bv&rN+AEzO`=a>#3`csu|F-km(T2$6yYOIlDnqOX64)TJfDTgSK2&O85Ic%Ai z0M!MBlIO>v9rQ!OH18>-WKdz}j}ZF->kA5M?X54^^9{URLXbfU@9K$%Y~@OetT>MR zfa_Mr>Qtxn#$mJ75(W#GN^=mdX3|K2&bS!O8iFlEa)HEq@OvP5Md^?Qrwk%O5NcVw zPD^&39z?W+;6AAyGOC@@cb}aw3DB_u^yTZ;-6x4X>8aarJi8RVstR&u_Zr;a=J=n- z;m9uK7*!0+|E&8o#P~_1ccksxD%S-~uet4S1Nxg`=^ehpR7z+2WsTP1 z;~3GOCD;O#B)FHjE>9+XoRaW&?=_p$M-bk2VNssDE$8BiQFrtVc8};-=qSr1OEhH> z?;o=KT}XXW>D_S4CufA;l4Ga}Kl~Ad27;NC(Wu)L4kzSAMTLK|C{O-{6g?a`ldw{P z75)s?2GD;f{FTkJRvTjV?)FSZwG_b|tc zH#=QMSS@id#oO;;P`Jcef_F;WqMS1kq>>5whAuk>b*N#hW#@0@=n3d!O%+7@?E-qr zV@B9GsB|2{Xp^$QVRu9z3b3BwsL{qpryQRF57P3yk7;`=B~)7rABM$St~oZJBsJGO9-Y3`){i zhPRgu0+8WIwL^YaAx##d5a2AMJP@4UBi)dUFCfpa=%ZmCA5g?jfCNKVnYjr{C&?xY zPI@QT^Lgw?K&eHAAt_$Q6Up25FdaA(cKR!HJCs`?!Nv3N*ssr&EeG>6qcRCe!scwn1Y4|e z<^1U_TW*A9vf>>*nKmw@5|)Q}SQp)B2JDWZPawN@gUA$QT0EgACcfYMZ0;rL&VbUt zW{p}`04vxS77NTh^qLa_5xqX2oBS_}ICK>>CCAu+T=v(t3A8ry4>%(bRJbqUW&|D9 z2TE?AF(DShS(Z%NlTntGJ_2_aVL8yrDM&BqNy^3q)JTPZWU+np1Me5~WuO>4Tn>%K zV3W^XuHEA5@rSg zQwaxP4+c;8uME6^zwCgA&Cm z196+fVRz^sRQn&E_-2F%%BAlJGE4z0Cm|#Ojq-XXJq1bMj3J__7qY^@UEd2sBYN`# z<}}R{XZG(Dz4#vz=IC!C*sIXtm__}%y6n09o~IjDd(|@&EF?Y1KG0OlL*vL^W$)k( zT2;4wa7^M!Q9lANphS@V;L`xd#|i}XtLjd=*f=AoB$OYhJuCPx3lT@=VYN#=$iUo6 z_(A)QbC3E~(3!^L^**lGezNzz=&`+uIaYT&+VX5l1~_CLgs;wTb=#jDL|*BvZ3JBz zp4kFir{=;mE7z~}(tEFMkRd@c{^k+cDhZx!J= z_(9S|Cdgbw_G6#(dEaQK_niWt9?+gF*(_XFx8Vl$qxnTeu-Dbs-;DUakNo4^ zO8SXwBl$eAv9oV^UUl1fpK1C2gMB5}dK~~6GOe+Myttw$X@#^rjY*N&pbI3|+e_w( z1F@!X^MQ>Su5V^~*?E>ksOR#Hy(f9irD~m`ONDV-UhmwhR!BDUWv)2Ac7}DlSZ(HiALQ?HyVwBb)I@$5URBpf@%TZg1gWdSy2r(xQ`)H!R-xMShUN_7Entg3>UcqY~I~=#mvQL}+Dwda6jA;a02R?FCpy z09S<0;))#DMzLr5E(Bd_`ODFjja)M9nQs`>1HBdHf(8K=Ah;9>9r-i^T(q=geGLA% zCImF8$MJO#fYw&0(F@x{s6KxS34xY}LN0BnQ*k6KeNYZWlj-quMn+YZzu#IF&iJ1L z`Q1*6Q^RUX>CzQ9dCa!x%3GWB?@yaRNi<0a>z)mX;vv z4@hL2K1vzQD0m8_H4=*bs5IL>0T%;Hj|w`5h|uhM>@35Qx<5OKCHepg%0z#o)Gi4w zCIv5M7FqHE-f;~u2NYMEi`QEYoLGt29X-R%>{O2W<+ZzFrup&vw){AA%j<~hEOmgK zos)HtR5ih|hi<>yy02k_n(`pYE`U!!l=S#-6g3gmO-Y#c9r+#pAG_v_vaIrK7WGoxvT2ZOn6XRR& zYev4O%&4C)fY2aDtSYd?uVKcmSV8u@5nhv zSgCPoCJMcc48XSd9+#jXV4o@mZbU3w%gP2(1Z_)0=V|2%Y~4Pb>&z|b@DmY_boRJi zt08Hf18q|YVdZa@UTut)vSqy5?nhh?yg0{QK|IEu=UpoP7fD*x;&MxMBy&=j!c3SW z@FJy=t=_I~U3bFs=oM=*(LQ{=_gyT1+2p1$diIb=nKMV zVhxhukx)p7NU^A6GYeus2)@G!&SLk3q~#$`^ueGU*CQMEkkUNsk;4g{w@bpAI~tq! z*f`No23`+}(=`HU+Ns>l38>=0K$7!p|ld4|uQ z{bvkgxdk*ma+J~lwOjr^tzm}J6d9Fr9TI7Ycmk?E3=0~*e~EN?pc0Jia}krseu7lE zVQ5oS9^vKXK|#`6A^<@1v->8=*x8t1`D<4g|KEkEb;N1bMz(|giIoS+)!p4KD@(jH z&2u+F#di}P(R6irNm}O@x7HFp0fq=#h@UK@3uObG6BX48LjB}?9EhEgl7d{Wz$OLl zlqZo@m=6-0>&;_JE{K{&_GfW&u2kL^$ivJ3P96w)2jrT50Cj3fafS~WzDIcLMUJ~- zEfqjsc0*#v-G$?10b~gDVwbr}r1Z8H{a?HugM&R%;=MqXB7RXsAxN`kEWb|N!tlV? zfyL$(A4jLq(4@sVt&G6k1bLYjD2HzglyMX#4UuN~4Mp%#T)|F;{7nhM%Yoqm!Jjys zV?jhExN2bFe1qjpO^CyrLup0=MR=!5X%op5!X}|wk~84G|N3D6dV6vF`n<_`I+6D_ zHDY;v-FnacS>2sX*xSM#Y!z25fJ5?fO;z-FAS$1Hz?G(Q+;tQ!k605UNfhxkg;Hck z&(Ai(DS=YCfI0U2rdrXWk`4-8a-9DYZIsZA{w(n+Xf?6dPC0qpFSQGemV~ZJ{vK+i zVz^?pV#_AWbZx@*mky1fA4oKRHU%C$2&Nfw^HE@sIf;CakO&@2;rbj#Jrqg;t8hrU zKy9x7(8L0nk5npw68CI5KCdUV2!Ys&kR=>mTXwB$arXL9jZe=vdtJloN943uzczX) z^T_*vOgT6IEh!T49SMMGM3TYZ=b7u<;>zyo%lJjw10Eo;49J{r@9B|i$o;%8O^QZq zR6(0i>_`0Zek?Qfw!|2j#UF>MPyK`V$qaxr!zGBJOi?pppKa}n=xG@Am>lqpn!*zS zg09Sql(}E5t=zL6@yATR<1&9@`WKS0u|HRwAS)@NR#ma6|QG zmi=>5e)Gju9Cz4^?;|*o$n&?>mfKyoYfY_QH_NT_gL>Ah0~^|(QtjZ~jA|))u+EcZ zC=yR(nH3Q~uw&*1)c7a~#h@)vcu+@?ENxNYV&i5%b=n4A3Ove6^c!?~Q z=hwq20JU&2A_e9ho03WcRFK+{RdFn|4+=0P$_F%i0-AXl`NjZ*hYxqvz!be2uA5I| zPop4NP)Agci8L%z$TBTHB_ZS?I&379ivA;sMu)7rw_KGZ4y-9b_%3~07}n$^(M96k z0IDdUpkM$PO}b!8i#sj}u zZB65L_Nm9w1Q^x){#)#%zxRzf`UMOVB_meY`0k!Nh3h zSb#?OCvV}|F~X>i!{6v|w`&d$HWYti{l{LDza!e&CDtoJJQJOA*MD!~dH+hm1tCel1;^qUw+#00-Y zSD7m@ssCL*t%PORAR5B4bg&sMz@}Ll7&vD8X>2uj@f)%Ob?@dxYXG zby_AC%yTFFKh2sYowI)jDKHYt@h$x4GfSovH%|+@zSBYeX0xWxjbKGV7aEoj6H{bm zr{5KHa!!#CVgMBatJ2rTU{Gpd9+;=OQKtEfE1|wC!V3}nTW}gJJJ?fU6BMR1O1ruLTC)Hzv0bXZJWpVYM=@^q)4PW#aWDc% zu_zX33pi&g7fzgv1O>U0Du}XUkYj!;^X5V6nk3hvv|d#aii2P{YS6c%a--$40H9<$ zHu|q?fHA^8tvz^w0H`!Qi3%2XK7KhQ#kHsuh~*ALU*yc}8fK_<{!3S0cxD?*q(Lc1 z1&-KB>?YrqYevk9ExtvM%T4wlJaBnl8zVt%F)%8fVF8I3XHaex*&Zx9&@TMHVRe`y z&B}hLxuQpf11#prNm8_=r~`{Qq9%%Q=Ml(5WN;#55XEl$s;2IR6Loen3y8Oh36oN) zp*dy^iDT$LidMlk_6z4JK(s@-og^BWPuVP$gXy4eMcN9CRquAP23;wdBa6`DMss*xdSt0Fi?T>8aC398-f8ca3c~ z`!+VU@Z7->zT+77iy9qrF_|TNmV8l>2Ia6uWroQ~7a~N0raau1E$aL77zCxoWD*p` zuieg!fXfP%QhNWgjNJlJ#V**jVyS?cd#%^q7#BH*M3 zl5D0z^+w{#!avm*n6(veIs9lEaCyc6u zD#m>!Sc0-iAP*63!`>5JOj?>(b&mo1hhNy44s z<79ih5*X=d8<{l!B^6J9?0vp*V($}N|9al~XszwKTm5?XeP^uIeNI1O!QZHNj_K=@ zBi8a-?LbGeR~Cwc-#|2+;=Hw-kT;AIc`?Kjtav!ekKr2nqM_lRe8bVj1(`S zUIZ8ja)SY!&j-inUaGETd!IPmU%RAT=Ke^niQwYWR347BL1lcthC ze!Es$J!p4BNy@QI>7s|prtnUynAY|@T_y1hNmiA2X7tQ9FV)HKEZdl!xX}@X?1dX< z@cDrc`Pm4RR%e=`>-Ujicq^^^6)vfi?cGL<7YfrX2DKxnQE=JDu}m&Dw9wG@ClET6 zekQ>dJ@)Bbd4E63(c)d1l0hsyFuop2?TM2o9Lem0=4jy9(pAf_8Fp0RKOs`}?+o*)qj!=7PA85EKX_)V8VYG@dwIke0y4Ox2~Rsd}V@kKA;2*GCIz~+Agn#8&K zR%PX6?{vhPgK%r0X`OuGxb(dv-fyB(ffwX4*8io;O|$n0(HC+ku%CGC{C%*g!?Lgc z;-gY5nKMhE%0r(Q-f=I8vo2zT2?Pr55bKlcrH`9L-X6Zx{pm<}!i(Sx0)o#H?cwv` ziu4Gn0`l}`YF>?-VrOmaB? zFMY&iL>G6Sd8&JguA$QuJd4lQ1^)DJO9|x84^tVAEhf&Ys=#p#VJR%%Hy=d);(H#s1JAqcdFjgut|SC;*5|ts#sRk0gcqw9(hgnaw?6@a zqG@PLH0gqmxWk)clHJWcDc#Zd?8r_3O5>SPH9|FEWqcYWrw5ZB6K4j;FYyb)2zYY zH>}r`ct^~`O#}CAWwzQn9%xm14VD|}S5%|XsQ7i{w=gQb;i8i8o=k})1O08unk>{S}?B~d;S?8<#v|VPzQ#2j_S_}t~baP!p1cDL^ zzn=^?nT5J$W`q$c1UPxh45k5tWz_%?SX+_h)G7rJUXqf5vp%8hkW@rU#CK>A=~lob z(p3152vjP?gabsJWO4gL&%Kr%OKkk*(gm_jawZ~52XD_cFQOVKV9Ndc+DJGDQE}$8 z1X>Q83xW)6Z8M^p=6Dh3Qks#|0CHL@ML+JrUv@8g8p8CN`WXL$vG$jVTM#(v+X8<0 zTxD5*>I^m!P%Za7Yj$v+GY~YMFWTd3y*eCItN|5tGENo6VM1?WgTELL+taE=IXW5| z?`TB%`~kxslTFsg)Fm=jZQRIRrP8_K#yaHxTq%C|W4Bz};?|IIdU`)=53{zReVC>e`)1@RpVrN#DiwDVc^S#n3SNGc{u> zoD_#z6d9wF3CQfa2Cs6E=)O9rP}*$PI;+V=iu=;h>q`B>^K60Xx7UAFn44Nh_yJJ? zM+xemTiQ0A|ElG@P4wBnW-<&9vAceG!vEeGiT_{zCBUlsQXMW%P{!XxWjbw>ZOsQ_ zW#HOD_%@hWIl@eLI?_Ku#IhQ@nqgB9N3AmAM5OgHp_RGTvFDU2AB>j7@I%>-!9A9y zzcRLoOJ}V?)~@7!&tj9dYT$f#s;JnBGE?!`OvpQUIR8{km^pjn=3s1irqk{t*s6?b z^$%}nCo|r}Y`RI4NG1zo$^=>5SxdDH?1M*}yUnv@nl+*G#`hdFWY=TME)1*`L&o$l z_asyC?2FSJUg>#ESPZco*#c75MfTR-m($9`6V?qDxtg5kc_aB8&R?j9BNIpk(9)+j zEMedJpI`Mk2&1D6LyQl)C)3;S(_?Ex&hYFe2AE|b_6xR|74RAnW*>>hRQ^VWDip8Qd zSPb@~T7H}ydf=2s7|Otmp-hfIxwzKutj~+jbKsairlb(V?!owJNDiI?f#)o!?gxD7 z0@v;`o%f{HMNZGD@qEM*?7_HYV>XpTR+)vhIL$plJ2>B}@|Jv| zq3N%4Wn*nqu--Z7N|VR=Nle#HJMnVqC=-ymiZ8HQhg?NiH={bYv4*4;nfB(s`Zj@5tZGR z?X?%5RTgKCzC3$Auad|$0Hd+yyNcq7L4squ0gmk2Z?XDb6C?N$b@(N{lg`^6GW+6Y z1)C)Xm@`DCa7^!r_~{RIRcI>AfL)LE#j#6Os4l;@VB8T!CVXr2@o=9#nL-6Mxt?X8 zbG2FhU4-x21m27c-h3&ri^DJKisyV-^t^ZIE0(Hp*{) zw-X__*4{fkiM-8|Z)S+BB*$+_{N7su@Q>wkecm_3kj%?2=?b439G|3b-df-Oe!Ogn z#p4{-v8mF@jb;i_)!amWnWSEZP5i^e!x0%^(-h+jCQpY?h3QGC4;*d0OdsY_y?)fj zxViW4#&lELswKbb0d*?R$5Ch3DbKngmx0jwPIO=8Q^RwqK61Ip4aHL{E=rJB+kV)Y zWAE)LfQe)=4@_1vVoaQr7Jns;BN-T{Uv)nb+O9vf=?ZHQC`#)vfAhdNWcbT%UgUF6 z3~{<^5L>8(xuRFWHTfwXnI;OyW6q!;D=*c|FF+pHjyny!f~mP1u2>HN5}6Rfq9+!w zG!AnWWj=)RE_ybdvW}CDKQ6-De<-*(^ktpS**5+Sn4J4l>HSbn-EO-=SG}y`%vG7K zYIo7pnrt3!pi#QD*4D$v)2niyp(+nsI52%J=N@ZvTBb5)J-nitCDwjw8j*hV8~_xF zR31smStDF4f32x;j+vN(aHuVot;fj-EwiI;S@4_A#|rPo^EtZe`59@d_g31=y1cA& zmfmll614I=xmv9jp`fUK7hhQDCmh*`?kPS0szvo_Cl>d3eG6b&tk%MFB$ZHyNM|sl zz3^af<$-*eHbNr}@n>N;KQ_kn9qhd{eDGufhrB6)f;bo6x1X|SZeqD}U1>nR=W%Mp zwkUmXE=xnb;&V$5YxgGcQ{AZID)3D=jdE53*Ah#(nM7GkAYG!so9b0B*SVjbRU#Y` zi~H$;y0Kg4-sVd*|#g z>wTkKubWe(FDF+nm-}L&2aG}0hf8CxnOI#rLSM^8<~xd?xj{GP0kyvY)2Ez`)SIV_ zN2-f|Z|BUT_}Xt(@OAVqT)r2dVNdw|+_|ro=Y42i9CoeM_0b?PtM)hUm-m*2q36}H z@Oh6f{Mw(4{-TQ5T-cC9Vb!#ncFHnB*xJJG{pJ1GVkXXOz#!ul zQ&$%E%%bJ%dbhUq_E>qO`>|^Gj;Z}^ttCY*1p&Wxcr|{3%=iAmPPSyuG(I+PtbQ)n z_jIOKX=L6P3r^>!nQOH>k1NNfm5=)i`|tdl%Z01%_o*)|iXF+jG>xE=#bw2NkU-pD z`eNTxelUgFRGqjRl%3Rzd9ou0z{_H)1qp=t|3!!|dN*(1oN?^5(=1<9tlLtwPoS7J z7{#8X-;kY^M75Kh^MAHgD&+9t4zEceYX2j@kPr1;`OYpu-?x+qoAYaN5d9y9Z9em% zj#5D<$>$6Ddwm#nqH3u+qh805(_q9mGX>6-j_&Tj#N|XPc|Pd0zyUiO8xq5BE(#UA zExm}!TlC|vGghD_%WoAdh20*-8Nkj8mq+B}o*AB6OnM7frVwgtvaPZmKAyHGFShQ+ zaB&QkX%I1=tE^Q zKG&uV&%FbFtjq&Tm!>yk-xG_8Xl~8A%v{&EY#!bc*Vv|8`5hN>=>bV6R!R0iw+#i{ zlsEM>Q@Mt4qExpZYa8qMc2OMaKUP;i8hhXGS{Zvj7=1o+`9GJ9(o-^ZqEZe!$~DYQ z30-qIHa)Mh^DHuS-{Kofd$=+$AUbQ)vk%BVO4%bT)hJWF=31+Kq&*GCxOS@vybl60 ziqa_cqRoy#_HhIOGv)R`n<|Mq23o4MKB zX^DK3BNP4(EPq7@7^6d(gla z{62;0+%evvX8@ZE&m5bfC&;doLl}I(G39l@?euI0sTP^DeIrj9cz=FaC?=~M;m?t$ zviRK7cj03%7?Jb2)XZaOr{Zu$MO>=2?pkmHTk7v}t8YY$s(p_(9lChbtaY@0yIoN0 zd28UGobK-Yd{FCo())wD#zP~T`)5Ha}`*&QYH@eZfQ;d_Y>TVfUad8COR z&Hgpu5Yzb>ub5#Ww#Bk%fZ9|zs$eSTQe6xvdhCJj6%`KaJ3&kZEKTFH2uAv#AtHPx%7m<22(d)Tg`E6K2{%T zLUDHC(+qGWk~LIl9i@glcmAs=jr3Hsj85m7wQO#)Iq($1v!nU{6+V*~K*V`95ykUx zhZY#Kq7u??97!3xe%}h22jsfu{A%s$nz)*sRbs6QFRB>gfyO9dLZ7f=N&CXsP7B3{ z!c5Rqq2Rwh2~;Q-#o;4mP(T`9TX6kCuKrgJUF-HCBb?iqS>V8rjbu4_(EKPIyKJ6G zCOVvKlw`|3FgKC4p^FW$7$SjNM-^QP8H^^Md)=#S=Ncq5I}cSR`As)CN$1@esT4*u zsoIf_XCq=Tms{1^As+awv{siPmouUltHBm!uy*(T;yj9qTh#C&b0=Z#db0RziK&LU zzvhH~6);CIn50Y~P%h@^{xRDOr{w|jMWy#SkP0xSPD7Dr7OlY{T!V37 zt<$Lf81INnbpa8&i+$q zM`Xc!p&(|mpTomtQ!`bQ-DtfeQ|ro2#nQ;Wv9cJ6fCx+E`YNvZhXLSw(7m)be^h6y z%x{`6qd6pdgaWw}kLfU_dT(*##qU8EfG{K`8xX~aHNAcWsP_Ho&bnQ zcYY7m^_7A=6Ah|X2NP&M%VDfgSUAqvQYY7L>VsMVgYN}DQskva^5W79;5zWy&#_N| z2&CKE>UMH=WgArCFw=D&jwuYcv@V8LSCOXMg>Qyi&!m(@hpOQuln+r~!nV^>i7Gl_ zxm}L>rWQ%PjMJ0)6nlAyS5Fkpwxy%X9Xw@<3|}Qi1;buVYSWtKaLa|b&S3pPQD2#< zR@-H(Vbkb37FJXG*|w8zpigOFo#`^-GSc5sQkallE&p4+Zu@M{`XSf*hORXBL9A1( zvARW-U@)LPKHoB47L5SQ#+J}5kkR`xm*;l*sP`)yF7cQ_u2#Jw+o};vn9$-+tgdsS z4|-|L+GTt0J(b#o*T`R;HA}>IIEK>BMULPJYPi-Uv7b3z-oJe=_fPKzXBO@Xd$sBp znHDcK<)%lcYpTQ&8~M9FVLj7Rnlna(-#2MG8nd_ed}NmLMONjY)@J@TOu_yXHfGM| z*%EyZcoj1Yb8Pbr!fQPnq3t33woce)Nr2sMhRuWD`d_i49=GScp(iim<{w%WsAer6 zpEJ+uZ{5o{uG9P6_wDe=5eSGyvaZL1e3SUs55BqYH$pq&tpbz`Vu@TT9x%FY0i37$#)sIbG>1FOg zxj)!Q(s#Meca)>N-gZpWq8POMG5A7yoyiDeziC+B{~rJnLG8W`FU!Vhn#}y|JoPjG zGACn)lk2XnCy5?ssi*b4rZdZP+eF(G-)Pe?g4P$Ge|-7H&z-q?0nmd%t<>vvFeZ*w z4|FX!R$D}wrW;Gk_GGYgv|}sU`N8Cpp)DcfP4(E+!zdnM>T@!^>PMSP$CsL>J1H{G zmBjvzqIje50_=*edpsMBlqrVJaEs!sIZM&>+qz=)S5B$=7#AwG+0(Ks!@xh)KJ~M$ zHxcS!0X|N)4YQTyqgj4gS`Sxvs+DKmAPsbFf@Kl>s@PT^$c8!#Zd{VwFMY4vBjk`y ztNXX=*0Ou=^g0RZSN3%J!+QHZHk1!*6CB=pF~7*DKyopOhf7OqU;33V z;e-`yAFYPfTX9Vr=W0rVSVJo`41#c?B+FaP#&Gor*Ji*Y&TPUN4Ip*HdQR$oF*u^@CE#|#fIuQX4lef@hPL> zsFw3K87zr=>7y#m`~W!ctvW&Vv>pI;;J~*YrpN{0IF!9vQQvBq?is{~vOe#p&>yw> zzMr;Pr2WTkfqFE~(+nc3>vp9f@tqUQzX;%HG(EhhV_4HM8z?{&9Cj^KtF>&oZT9Z? zf)CSZ76xIG1kp5#aUi14(hPImmexRUfYUOLXdoofi~^gRmTAwTWH|M=r{h^VjT0Xd z4)$@4c9#1^7OQwPD>Ym}8z2vgn&YZ9nT5%u@AbqWhnQ5)!kAOI?Kq9oly8R1{pGLy z#@EmlnM{XKx}~cV$1^cGs>4QC@$G_YW`ezNs_r!1mDMBPdHKf|uWWUiy_Mdo##tKd zWGMJc8*3Wp{EL;=BMGKI)A9CXa&F_jFd5;-7SRmu=}pa8@s@BmpM<+Ds~MzMhrzWt zzZ|8PgJ35NhvV6`tAh)JV0#!`atzd3GK4<45@BG&F)+ct3VyP6XW3rG%NvJ)G*0Vs z2*$wowdS~|a}_IR06L0#Z;-I;ttu^THQ#qtxXwm0yqP6|0~7Cm{b7n(0FJ}go8_Rr zu{S~?qw?B%_^NRaC1$Cu=H&cuHDigXBJUxaMUq7e+^-g>=|?>p>zD&SStaB5&dKKA zUE`~C({fS0rq2ZL>ZCk4y@3iZA4Y%dG z4J>V%Cd`gTuI7er_)#+Ur(3({X93>JaH9%0dB<-PoL6I=}hu zES#bT;_95M)sY%aN1LuiWpqB#cARBbCU5pm&}4PJx?{T=qOS z7fN9Kt?Xd#_CR}y;hSZwBqy6&UnvVE1w%E93!&;QIZ&zX?d|K|d}j_FWnFcJl*sj4+yyYEjo#0e`}<#}c(1xlP*8d~rS8mE!KDC&?&iqlyR zaVVyZ*d{N48aQ1IkV{ZnLs!EjGK@9D?#_~($>3T`*II7FwbbFxU~_wOXMO9R=kZ zJQ;gnx7-q0b^R?-b2s(V`LS^?T|bw{LlRs7jzip$@HQ@8y7bL&eshm6m1-z&ZEd1} z&SC^57Y*#vN)DS8xTgeJNh%F&5(_SY;Pc-t6#quc2v`6V6pAT2WtjIs*9?v-JW8gI z?6bJwS5_bW`P7o*?5b(<#tkkSYUg-*kWy3y;Di{(g4?SV4ac$?JtU_!<{%$bV!!?E zZ@=)u3%#D$U9PXHSlm`$yiv-SN$SP(&e$Tw9($@*ECf-LLRw$`*!33E~UFp;B}HWrL29(X08mds_88w7AD zxLS>TWjbB=<5{YXj;|eY?FOsCdlxSJ!TKr=D*#R>MhP+LB5e6hngD6R~AVPh^N*zkUG6LTs%FvfhXdKsR z1bGl;AxCHP0?mwMiV8_GS=Eo*dV@~D;ar$(MTHLErfIm1P@iOI#UegwgVtcNm{yD% zIyJYBImbs$Wt5B@(+cwl+h1Zx9UhBefyvSg4#zzS0jgfESETy3j;Z=|{+707$4ESp z^YMFn{~^0w0FJ}ap?emldVm5o>Tq2XsQ8aw{{G8<|Gg|@ZY#K70u^+cEJ=zV1KyFs z2yTGUwwAtt*l}HWMbDAl3#tR%Es0dGNP51p_-(7*JAbS8gTF=%1Co4VO#OGOv zy)LClID)TOY8OVrU>#4YmeZMLK9Y?%&Pnemtz*5DPd|R7-CvEO3=K>Tm=i|A+GIt+ zX$ht+5_C~GZ_DwQ0*`bpuQ3Rb1p#OP062XcVeGnFM1ya|^@NOmsVhzar~^ zl26bxEes$F5)jVE41J$Pr|otGT^N`%FOGLk?o9lPK$*f~FVocXYlAm5-7{hN=p)x_ z8G0`%qCqsU@}o=MC)Du0L`4N;RwA}3KJZ$O%SoKwU@V;1_kUF#&3ko#!dKc&0py#U5IbYEEaXcSSm_-LiD(BvM1GkN^K*|X&YvR^Oz=w%WIa1%e z1RR_*SM^+nJ5m0p$T|Mi<)vSG;d$VN@KRM}JRX1d`>#YCy|?i+J=K*0VJeVeV;4ED zcu-2%doX>N{Yn-^vHX>-6U(5QWvoQ8Kb?YNu567101Y?=zXy3P>lbX1!VrL>7CWP0 z$A9DOGtc*X{XNy;mde&w^_1IcbFe@0B4*J7A9@QgKC3e94-n6E<|0r(y>o#{1~Xu( z(dW1*)-MW2+a6puT*tv^)#ab5=y+Z zG)m!ubUSX>ZC%%V&cI;SJPzcLE=rk#dkXF2&ph_aFMi_6g>7~-acCQk3iAOTCcprX zw|Fw)uxWt`3fzNO(G|DhEm>pqGwhs#qS0EQtV&VIi$w`$2D^=!W^^(oh3TN?4z0!( z1sxIBToN@{^gh%gNY&-WTGwkwSS437yv>0URvP`?sEBeaNI8SkbDWb1QuHj9qd9rf zuv*}@i{tkiIwx~Frrxsjrmh93mj>BY%gEXH*oI|W*y0eL%0K*~6S?YDi|{`@&%>C* z0&pCHUfVx9i4mCypx}UkTkZoSo`df~)kUBpn*-rmfCzL%A{?U=A&D$|RZc(?jk&B8 zYilddJo`&*Nn}f*X~A^(`kQZGoB8aZzzP^kZ*-bWo56S*vVJ*YXOJ%l%OpVvO4cHN z;i@!9P?!G+jR;G+I|z1L&hkq4Sg?9D+IT0v{6o`i zgWI9$Ab8k^?cVX!3Z^@g$j5+1(sp~T)^f)DbTU_Mc$#~3`S@`71H=V3G7>{iQdWt` z&nBtrFprzo5zB5v?8(qH@@3q(w%w@H;%Eq@7ay>_ZoA!S96x^S%!%b6yz)(4*e^Mq zzSm^u!tvUbr3N;(JV)K#4Uy>Bj-{penALC;4|t#=3Ub?otqIlFm5c(NY%X_o!-EYA zlY`SX96~{I%QC_WL;%Su3z34YQt#+Ec!z0^KbC1SQe79$h3hm~;Y@R7sl9^v_98X0 z4GNN&1XCXbmif8T%#;W#CClBjli5Jcu}!TFg@Q;+wgBVp0gXg zJt;0WTnDyln5L#>p|f(kewmN2I<)$okKYqstXd1ev1dp;xVH?}`Ku}@G5bnPOob%` zZB%%pOofhw>@=c;^K$GAcu#&R;8G@(RAGn`_%_a1h)2{p9BctSI3quckOAZF#30RZ z%Bi~4GIiDvb{XPXvB-(3zEYK^%%8P_{f`lGWFGEDS~5iu#^wcg4se6QmAe?Qh-wHH z*?(1_s;>Ba0wV8m$)0~}5ni;w2h{=x&AvP3&2X(=smAR+z7D?-QDf5|pmV12;euT;Hc&0QxLk(41X{72TjG)0f zU;t*rI2vwkz6)4rwV&M$cGll~V{>}xvD0U|91+0>8cGnNgw??4H-}u93DYx%kBoJa!QV) z5(5=3!%?)z=e#RC7*sh?V?|93y z_0nwDDC{I26zUVB*>Dz3u+=e*Cs^-FvY8(YB4@SLSk)4LFxoa@Tfj%r3_qFKBE&JG z1b29sa&1j3rr0u>D(AeW(QUL~-%cmf7A8#0_dz1}FGp2O9bX6TG)f-oXYZpmAL@2E ze3fIhy3K+G;l4q;=Mo5MM}1WEGO26HR6r0SM4kl#$RG-w!pgjSW&L0O>Ax;FOc)e0 z0zVv&CKwRpoiPd^#YCS>(JO0uZWLh=NWOr~6)-_SzACwwUnw~!;0z`>I$-FUu)7hF zE31nXqSW5d#jiB5gC$jfObJrt{kcmjSzc8f!78wrx^s=R2!1#%z#yy#F%*o%GLs;+I(>PA(sDv_aEtu%YlMplf4b1JnR-)W8vn zD1(}ruh`?rY}*_$Vea#vtQ8yv$q(OnEbU3PFstqb5=W+v(3Ka~J!odhg z8t!DtgdEWn73hNsT0UXJ!un%copBna$*yj7+crmU;esew`~c0N^Fgy7*eM4_mc4po zfg(YDd)K}u!AE34TL6v&N6sOLtVVM^ruUSXi7mvR1rZp){~|3ZX*Kvjf)y~hfe+v! zl**@^-$&k&UAwkbjek}S*-$VQLY*=V~7C!Xj$X0{>VoP)(^jd~H7!sbdJ# z;XC9Yk07#g#GOsQF%3|W+-?}+bY$WWG`(%)7Lzjw{V+*;Zqv?v%xrFlVXNV}I%*br zr+d6o#2?PWajWMdW|{e8Lvu{K?X@_eDjHV~Dx}!IP~4^NnrT{o7-Mpy z)$I2=oz2kz!{fPQW1Hh==iXXr8`w$jG+Vu9zk#F!Cn&vD3(XJVnWnC5PIsd?Y+xkJ z-0=CDYFcb8L}g1u89ZS(gK?2#t80x$BU2H(;94zV`H||1(Q(|)b1udNpTKJff&eW} z+g+N(fuByuD~f_~esNuo`b{lJHgVyGr(DfUlq5h6!_Y0YKs^iv`DPq$U!U$^4GmQm z)+)~Tx)vVgC?>loun(tVu$P(xdF(`6Yd#v}Z^-ToO<7ipn&XIXgq6kUCMuQisGjt@9bijzDTo+2z!Yzv-J|l6K;790i2(+MJ zY^(^e_MkO_5dh*!L?Oi&g?gUDI+YC%jMR$50yf%vN$Q&y&#GXRi140@?|pf3zi5H` z+yab1#^L^t)Fbo2r}OFSl=G2$!hD2jSg0|u1C2<3y1C+=yrkRHbSpEK6_o>Dex4f4 zvX$0S*Xt_9D2gz-(QG-Zff6;GPGQBdx-|{PW`x>QK8dCst-&@V3H_7(C)P3j>A6^* z$Wteb+)i_)-9GJb?3SdNxO#V-2G+waZtuK`>CVtB^k%%ZZA{IUp)}1#Hk~wk%Ycmb zGWs6|($hFfnwFEtlVH>^8|G+dYPhq;8q%K}RSozYv7Z_?Y8(0zXr=+wkxr%F6 zIXK4_g%nxksAYnV%o)z`OPW96{$!8W@VC0qUG$FND#Zn~*@1@~{r zTUd%~9S3&sNbm|f0Wb?20byW}hl+M78yy6@ zNJX$z45Pvnp^6-66?k)NiDbUrh~hhh<_as;d*rsvLo~x~ef;y3Rs8Lq{yg0xv}l13 zwFPRbbGs2+C#Z@^vMS}BOUK#SjB_%rlUQ*r zeRq4X++5+v{AAnLIeM!j70DvVzfy2+7R@cMVJ~A!r0^B-vm!zl-W6Vs$$th$e5iGV zgF13oTGJRMQ0gT>gj6h1Xm>PiH)|*uaYyun23oGfY;4%iY*_)(KMIJNM4~)4G4ldQ>al z{E|1HR>CB!U)lTYA-%sR`1X+2{b8sUL$;i0x6}n9U$QxFkZ^`P^SB!Lq$dpjL)Z** zhNYb4!uDWaAxTPHAaW6=rH26>whtWKXT>8<(~*s|8;yReiMTaPQS4TuOqoRmhvRz9 zM$5HDVsi5mUJEDh$y%0?TQ2N%+|&j|Ix9g^-IC(goBcW5`h0P>Xn_yE1?o{+QIWgS zlDj6Tssxxf4F{cu^6-X=prVLl@r$Au$Ttnm1FIvF^b9MXU5~X*(~WJrJLP=m)+Mjo zON}tfW{6`Pw;NfUJvr(3#8#;F6>}%IF8l^EY1-(fd zafZ`ilMAIZ--}^4%oEfgDaxWa+{J8OLtXSOsIj-3e14%8X>m z=bS8@SlO#!(If7N;r7N-uZNBcY>^V8h$}mw4B8rP%f+h-82qGhvANh>nog~U8EO-2iu`pyfV6;kS( zL-R|r&l{44^dJm&OuSOBp{zZIrlSrncEd#XQy@yqb55)-J$h^v4X&zeRdL9zL=rbL zCZF;j3gn_SQWlVsh^ZfWaL_fM+l@SLlk%Xq7jcUgxW6q>kI#9UQAghH+axB zGdDP!X=^Anio)bH!V!u{Cg3)5D;xS8?yz0m zj3!n#&U6hsq@H1S-00YH(e{GfaI9Kb^lV@P9k~hHj3|t-?$u~Ou%{e|pNzHHm}9Zf zah|fbN%3ea#@2Pc?>67M@WU$`7Y5^XiQ7b^M_Ngt4mL5_R`GX#>mAKN{)sp z^jMe%oN^C(O>wXWFN9qLYz@n9FyD2oodX;kZ#bKng?qAdJj~-E4qQ~d)9Pww=xUfE zGZUPmVZL1Kfh%x9kW+v&P}EpjcCvzVxcT;08cZVDUcg8xHO?_Jh!msW=tQ%v^OxS@ zP;0Z*^cb$z^K?B&vqsgRR%FI>3r(n~Kfbq}Zp{D(4@*(I<* zfPoBh=Bt?a#p0i=Pw*CQT;yENLrGKN6&^4?YRfm}L>1BL*bgdz zXksf9JO;tgHJZo|aHobwR}&AaUV-BQIWUGBcLya3R!tv*Be$JlMRL@d2O)NCS&rF{}}p?=%Ivqi9FCp3&?fjmbunY;z-t zf*Dgjj&P&^{{UMT@p5N*t#<;obWY(e^_SQ|p$q2N4w4VyxQa{`hKE=#&G1WyOO$f; zpze51=rugh5{LAQ-0(~ch|yGVCL$IU)Lr@=%WI-)#(82CI1n18(@1>M%JE`3bBj|2 z&dpNrhy@L6gykA3uuZ;-!i%zm4+f4J-??}8JgvHQPvn8Ob;@!je1Bg#FvCL;xd0r8 zqMLqR$oWN$AuGI!(#yclQxFmvr=SKonqSg*iL1F3<&0$(63J8+{(_{v-?H^Zgq|;Sa;ElEsi4d6Zm| zTM96LQ@>b6N=c+Fi)+yWA94%q8He>iosX{~=VK^zeOm|aR1<7ir9qgW843f##M{X= z|Jru6qZYmad6XTzyv^L~dJS$pS5!X5^H_#*sE*h`NGawmvck!;B?nI{P28pU(bU$l zR*ox`OgHr=4qx>Eg-J{fmxjjCgh)2FH<8;yn_+-n9;|PK*B!%HZT63}R>MSWYpu1H zoE+ySer`G_Z^YOQkAVj)EFuS)a!zG;*6ld17eVGn!+bJE5{v3r5&BpM6CQ`_I?J6E z;fjdK3(mWtxJk)nVFJ0ZXOdXiGBM?8OYYdA&IHhv9yY=9~%4zTNWGfpN zz&ctQH;BHhbYh1C7OKcY)S_*P{`pvR%;ii9Q@P|flq?Q(z7sJu3?s6F6f!|HHDs$5 zv&I23L|DsAVP%^H@k*BYeuUzOfC=QQ0y@YoEs+TymPMAg_yjG^+QPPs6@_I433D8l zhQ|)-iv3gZ;3^;V?jml{0{68A%2{v#_N@nPouG=T;YD>@C%bbYNtR)sGo6Z9L{mJ+ znxGevgvdg0GX|KD173N$+U)i?3_94wkqQ!0oTRabSEH%SL#GJY^rzFp%#It~Uq1fC zK*h#H(sPz=0~23qt6}4e#MA9@(;CcB?ZoMsjgBU(g$<8_L!?8jc#ixWrBS2P=wp=A z!xc*#d!+j2WD`$mY68@5C-F2=Xcc2$t7Tqkvr@%Y}}oI@HlX3@Bxo&RVC#h70kF zaB_vcI-SM7iy*}jpA1@oQBka^vIJt8qq3$^gh@CHCFf=XcX+6zVhkj4GhEBykkU7F zoAdjw4-27uR z2P7a%A=3raQ2`E_w0M>*HLO@u8kYX-nGRYP-+E(bJWDW3D7;3&1SKd?RSb3kR+t>} zPbP`5F@{s0<)GSb5Giv8A}b8+2rb7 zObU{WNHL)NKBhKrFRn!kJfJO5&JQWu{y&ch(}MHc~Di)JTY$jYgm z;+_n^k&B^@UpoECP6Oe>&?xjqvo{?KuqVzzP_!DFSTrwixf(f6fqLYx9{mN zZQE;z3|tqRp{?URG#MI8N;bW)4T09s-7t+V2V`-;QhG|_KnJthFA^)6;*}NL(`qz< z2thV6$BFAMambWYA@EaRP5=_7el(a&jGbUJx{UPQJ!uzE>`!xR$+Mv5UnR>(4=La}T);m0lI!ICj~BCnP8MT&6CRc@PvFT!=p zgT>9F1s>oQ*gstN#MBe&UMhjQ0fws3lakGVfwCuVi ze{!wgZHhO7Y1Hs=G7@mkV-$rp<|XVji#FPNy3#*|Gb4**@4`li)_Sc|%m06S?;T|K zaou~~$vI&#$YGEZ0fHbwFhGo=NKq0+QY1xLmMFRWwxn9W^{eu$wb!dsmCLsNa@E>? z^|X3Vmb@#iWm}>WDT^X0iXbV1L1K;oK`{Lb*f)IS7ySF?d;>MbOHe&eJE5B!4 zdEJYm#R=XcDZ?&mZ9CoG)7mr8*3sKu(#}E+`z(AlwwDJ?OG{WlO(eQd7hG89;E+i{ zPcP51c9)k{@Ig8EcB)$-LJ#f~+Q8sIC%1Kr+F2e!hQ5K;{=TkU>PQtjG8(2&070xJ zq^F&kF~Q)NarNpf3U^8(+P$E+x+9_#vWN5Rktu=~ttqgRGW^26(~z^eN;lwl5<4q& zdwPZY{p7kfR!4Lk#3>21>n#`oQHa+8M$Cg~S;VcQxJS^PVc=fpa|wA1h>uaSW$F?} zQW57~4USSqYp^VqIBrfP`aQyqI5AqaYE@kwFCMaYbJmGM1f%5PZ_vOLXn=-2u3Txf zN}|@AV{(=dOWk${AB-*O8ajEri$}DoSRg1GI?0=zY(~ppA2ubLKWwmK5{N z)Xvhjp~9-(M0eLo4ecPi58C)U=)HXsDV~TitiMy^TAwoK7t-u3x-p_{hOCz1_uKJ-sblODU}` zEE%e|qdackbP;5DTpQB4K5vkVOdKXh7lRU7MAu6Rq%!uM<7cJ>bnL8D@umy zt1AnJ%3E7Is|(JQRaddU+1}gD)%Jq^-n!C(1~y2F-Le2KeBr%$#Vn=@3+T@TEN!P272Idk9I|H`qx?uNPs4t!Mf&L8A;udW{UeOO#5 z>Mtqf=@7a-ODtRhDeZP|m+?SqLG{oOCnipm7FG0hSGIO^EnZktQCMDIT-V#x-PF+7 z*WoSEQt+ucE*6P+YTg+Z3*7Jhf!?;> z&aVFc>ay}>b86;SV;vOKR9EzJkd%`VMf19Qhs)|q*sCb3DCaBnwGFk^_0`q24doS$ zg-4Dq-?+G;tbYB*#Z4=ks%p7Y>W*G<Mds zT(_jBabQ*R+M$Yy{(|nlll@Iq3ps&-NmSXtq-+5PE?JDJ;BH4n5wCKUcJ+7F)K^!4 zYGCbzt(ioBXHR3{0zL}ID_ng&4M&e1ty)-KU)QjDXkBMX>%95%=M2ng=Mj-wE}K+U zpK3ah=;-R<+(x3Zq;g($Q&CZATW?24&zbIix6{F{ts7l1LyC$j*y$-K?Hwvu)=<&W zS9qkmWT>0(%eiYWoCslyIXV!}1}?9DaT2tsvbur;9+mSNiLLK!!nP?cC}o|ssIYS3 z+;tUIr+Yiwit9?}&1=k9Iq^uVUm^@PAU0|l-heo}85a%)$Be5|*U%{xCbKg;Ff*8( zY0wUE>k7_TpqC1(s3@4=KsQhR&~V$yHGi+gf0h_1P}Q!7JCbWZg%CIf9X{PM_r)A}n;W z-@y=2w0>ylo0Lj)`%k`b$5%h^C|S#7<)e^2 zj)B!fn-IxK<#KVG64An^3odu7p6+l<NU}6{OLZVO$#b>xXfI=uJbHZ~+C2ha5i^ zEs-)lFv9#PPkfC!exC4OR3@lgmZNS&0u6ln9TE*i?k!^{o^$S}R3xV>YV<2?gar{1 ziReHAh#371^D*1eTr&L~%_UAFd{k2|iXd<@aY|&I*Ng}UgCmctG1i*Bl5pR|z34-y zrPp(fjF7*vFHLF5;iU^JxMcG%!sxpw56W zBb_DcGQMm^AS7g>^l6e|Qt{R&c!;CU;7Hu0=sCJj^lLvt5f~GBmdci#@ykS(E;)FYk<+2$p~LJM zi2W#)!f{Xm_%os$pXw}3tR*>%ozYM*IP$D|t$_m2^BWr*7cXACXV0EkF`TvGOnOHi zSr_WP>O@h8ihh>R9k>h!4I7zs6MjYUB5^-o6&N0J4+6O!M?!cPa)86KP}Wgba&cV2 z@1n^g^t zV2yNKr5Ft$fcpPPmvm3;47y!WMxoI~2p7d-XQ5-_mN&*aB!?K8NvN_A4+h6?Aw#-g z!UY}RKBAT^rW+R06?|--7a+tvUGA&o$jC2O$|Mj_E{ihQ0E?QbK(4BsspZeda?v{F z=$3rEZRgINJa8U=-JDkKrgFM{)V@be4<>4gj1|C;fJwr~o+B!jTXBw@J9iiw-1G;d z?m-H-R^qlmowg!7h8VZ!f*28kt8^SS!#4u5s{1YoJtD90Kxb!iPw9*L;(yMm~0Ku6kU^!oB`>C5OG#AKRHQwaN_N^-^S;O z4ARb>J9qi=Wxc(9^hBm}@K_8ucTQn|E2r-K6O@b+I04|H6b(K+!Qi_^i{ar9KKNkK zqD2)I6$(l`eD!nycfPWf$2B^*yxP!E&zQr#dBiB;glJ-T@18x-aHwm!=hgd z&U)a-Nl_VN5}%85<4a_+xK8VSctqcjbju^`%wU4JcT8c$XhpYSFNP$E==0KUJ69_i z(Qb*`yMZ3ZPaDL6fpd{4P7=3q>&81L*;uF2Q9ztaA32fu@YqBl6f`h-8lW92vyl!K z1q_)|4k&%%lr+gmc=9&JOE10nzym+O_S);1P3!CHues)$=H}-1_V$w}PcB`$^ytxJ z9Ubi}Ry6{pE zTUuIPf9 zyz;6y-+XiK+&RDh{qN75X*+c2;2n3|xoOiT2;O+(jrZQ$zhT4rH{X2wAOG?1zxvhx zH8Me3FjGGK@I#D=nwpvi9(aIXS^U=GKxkh-kERzxgK2_RJ3Bj;En9y4_;HGfv{*vt zpz37hXT`W0)d-u4)S@D)5hDXQb2~}JDerN?;KD zX&{Nk+=*6D;LL4XXWv9ZU{PRgjPT+wW3{t7B1zoR$e3J4G9wm8fbx!@!k?glX{iCV z^Q@w&J^OyvBoJV=S5{Sh{_}tM)?06V<}-Ia`Q#I?yz=siXM~PPn|q@{Md2c-E`{;rKPatMtaMsmIVtJc64^EUbU*ax@N(G1?$&uT()f4 zU;p)A|KJDzdi?kaE|dK7m;dqVtFJaR%)wlkJGY6ohi9JIefaRoR4WfSf)3>whf`!Bo!O--b@BGur z6DO~`;f99#`bQsqWYMC<_!wJHKJmo%?c0CYwQa?$Puqfxcy!pwmARb#?9Aw~yQ_Dk}~h zJjmp|aN(k3$B#Y#+;c1>bar)NUOeaE4|eT(yuGdM;)^d{vt|uO0~;Up^>gUvbDXQE zbQm{G^WA(%skfJ(D=c!n{`%`Xc3i$?%f-(=`wYKrq=D!M!*FF~6$`4*KmR;76P5uo zP-M6@FK_!PyX_|F9{X(V<|%eW@Ti2hL^;pE{|;gy3FENn{yd3pm4~K+`{# zf(AquE;ts-@hSJw0giNxm=Nw)mk4+f&@G1W5dusM7fW7@f$o_=d>#ze zoKTS?JI9m%k}RiKxm0}9Ml3c2g9av91L>Ng;Q`b^gb|F83L07NV#5Kmo`fthmeQ-r z$}tpHtX#Q%!^X?EU;g;xznMRO0TXt0O*QAbmM&hx`T@%fOP4OGtgI#>9gy9Vs_Lrd z<`oMTF1Y4e_GGSIuy9d#cQ@-Id>VfB>ech+HC=!G4cA?F9h3daRjV*EmM>qvckesw zo^W)7F3WSGjdSK)d+jwWFt7@;e%*T37(RaMtqT^+ryww4`-2UUciwqt$&#hdJo6kJ z7_S&Ae)F5(upDyLRXed5e*No5PoF-sV#Nx#R?4;5O`8yyvaocaT^L3ZmOvISUV<@k z#T8esT)FD$r*~tQ)YjI)?Y;Nk!>ZW*^lmICfQpJrRz5f&vU&5xH{NjL&Yd4Qa`-6g z98l)2+w-Ti3bl$hK+G*DN`i(t|J?I}L)cQui)uP6q_t@PT*@95&FRtB$Y?q+(Gdx^ zfPrxgDbA|E zk(^T;FvDQr2p8rEJ1K5e#HDpKygbZbmO41TjwGY2BN2hy<8g)tsUl`$yeMW2hQMs= zqVe*F@U+)}HPK{1va4ZRWm3GL002M$NkloA+qRK4 zNjPkQ@bF{}hFzOQig9{p%W*SItmNAT4atxVcA((oZ zM_F}%365U~@L|n>+ZzC^I>;>Gqy+#r1T@eSg%8Xc2HlO`bIUEafMgk?wzifzn^;bP z&;f6`<>TP7IaqZdhza7BHKS{;qaC>r8DP#?RBQ|4?!NmTD2bIkz*qwmhoh$V-S;Kd zR3N_m^2@Kf>Pil0U>sn_+0G?P9LJVM0;-G;7Bzq`)#$Cjs*IW)C1(k~g5G(8z zqF5JU;e_C`G3bgMJ3n#qB-1}jm%Q6^ z;NU@w42A%%(X-{jmkRiGLKo%SIKLj?#_ttfhhz9)>9V4t+-;3kR?*#CTU)EDDlsa! ze#Sv}j%Cra;J|TrhA{GCjg(#ubF3Er$Jzk@!3Xb0w#YE2%NR-^(_#jBF&;4zF$j{1 zUsukENw~2fR*IBC6`UxB4}()u24v8{gld51XA_&BQ8H2(!vh%XC(H`dUzpM9DbA0c z*uspb&yi4F?7)EoJdDAj1znr|2%e0NA3yfr{@Xu(^rJW3aD&^k;0EkZfBF+{qH^|v zUPS@GLiymJ#E<_uk_;=NG?tABDw{H5rjRH&eLv%AN=rfh3A)9!dC} zp;90!%t0asu?!;&4j@U6k0U<_h+@DY7nWqW#TwZPZb4MS6J!CWsJNI^{1W2i$I_+C zwrshGu1_k)A1=qTeWTMPWX%sA*h)n(VVv2$dpDanT%zGTDN&phG5sJ97@Pz?e?P{} zf?2bG06m<)0MnmCFgT`v9i5fXZ$y2?|-kfq?Ci4^geE%!i4V0tj|GC zp5?gw@*R8k?xkNhH!uIzxBl;sfBaU?LonI@_P0+x@x+tIj=2MvFTC*k1q&87HqPO6 z2>h`Y7!%%n^9@D`empQZ@CwM9HLE|e^BQi`)1%*g_ubvQpQi8Lbkj$s zxpE~I06#pgx_amDfA{>HIgM9cb=7OHzWRUt{ojA>YhOEZ_z+#4qoyyu_yRTr47nW3 z$g*zzy0_kZo1?Et$nTupyPr9J;zV6--FN=!+kg6B{tI%pwVk0Lj4kY{y!gV4j58ZH zZscYxgG8N$SCsG5#&=m*YUx@+x^wAnq(iy{mhKJ#0SW2umX?$TMG=yr&s6%_OsL_iQ0P|6U2_QH9h(iw_gQ47U9-p?{AM_vx-hx(9q z<$Gn!CnPM-K(19#RZdwfO5SJAYLa47SDR4;Hsk-yr8GlG_p`l1&n?pwW6QAopCbg% zUY|StDep+hA8?PIH5XdwKEjSEE(A{lXA*eXHI9CMh>-|nMSb$=BWOGv# zDqYZ_)pzbdld>YGe{ZOp+D3y%j-Q=8 zk4d@-z74xhv~pYb@m{#QUZx|EzL?z_zzp(A>f3*~11iBdlyt}h-XA);!*WnaHH)=eq+yudI0C9so$J~PXtV= zMN3NyC6;0PA@0=?!c}g3DIU9o#(=*nVrMxVn<|eO?`ld95jGx1MWQpvZ?{M9)-u<{ zG_KHRXl(hI?rtcGVA|E?TRWK}BLAsXAd#Y-)<6-Ic78J!olW%MtMOBB4Bx}@p*1wq z{-lXuXoy%&M2F(%55E$v(5?$dp0y|kollASYUMmgzE}_WSS2U0zp{&a00+IL2x{*c-JZnuRr>3lM;Sd0)&S?1c5ho(4OdT{ zjmzU){*31BHtTJuCJCI^e0+gk%KYc63#8-At>~h@=7a%4`2#p(faOQuhsbMS8#0+r z;=|#VRXT@f;8CdKuR9D}vA|(z_%O-j>zo`T@~16tL4oI_YH0~&1pHTIgPx@8L@V!q z6GtBLeO_AZi(Tb~soY8QM~*dIKDBvsh*1MJAtSlq-{euBBrDWVzSbr&5$R#K8hak1Z_RThVuD{ag5DH!~y+1z3m29ls4QLP&nRZP{Uf3nAvH zPN*50TlL!v_&}L!exa>2EC$MMIL*(x9F8SeCw~7BomKqs{=+p#>hGEE57zh4fX6|j zKQc?+AMfT`4wi1T2I0yw1lH2{T3@&B>iqmNgsBziki{SI*&9xtLMs`$(#KTk+50i} zh3Hqmg#^9Z2)J>`N-Z|My4cTD= zR(ky%e$J3*f26!?f?+ylgNKUDd6MlUPu&A+uF1zik7D}kvSd~b9aU(irS})yWTN5Qq_uG6L#7n!p%lc?d}v_)E1vIwVVX{57st5_g*cp)Dnl z3h#riq(P@Qc+@8cb$%}I_x(Rx5Xf!V;b6Xdc>iNG*NP~eOlb1?7PrKm=Zl+a`YlC; z-20Q0DY_5&FWg*CLP>fS`_q2`F$aZ?Mh<`2BzOqNyboN7WX^rsuUMrGokj{Yr(tk$ zHPkgLcr9qr+3JGT0-1LH^xj(d`=u2Lr{4AiZcM#hoAfLMlm$lG+BC}#YKQ9aug`cW;j8}?Tf*lok3NPCq@6P(7ZJBQj{S9r3+4@;h-qeCZ1q?B%cyEmY-q5 zqE1PcCJ)K10DtKcIHRs(&>sg?=@ezKKGMU!-_e}BP|;f4%vU;fKNC?0F%QKcJ7c=G z@~^RR;ycRN$M~r5-9f0?8_7%w@w3~P=dUCKj_Ao@6`1BHs|=p@;gUt#HuCmO z&@GB158YvC9x_k zHW!EP-%mjm1|uWy%J%nb2sI=jAcF#1j->fy*8@xxP1i22sma!8ZUGfjweS9_M1O{4ZF2}hF7 zQ8PldFV;#UoxhLrH|=E$4#~Co#O=x}WC>*Zx1*W~r z!oUkLjRUkjO}rXYvlJn1>yU1!A@pv}z;sY#*UET1WZS=z)q{46i1Y`5cq4k_gN8jj=qF#$H+yQT>an z*ca@)JTifsiVew&^+pRnfGLmCDPg`ISsi%mU$;uX|LOVj_h_THWP|J}?T?hB_yJ6U z)92QUb&E;ZPb;MT51B{05JqApeejcbosbMGqA_vkWS}sT%!SN7+=QsT4s$qJG%=)_ zz??J4G-|1JL9J;kJ{pfTP?>}ru`Fbb88rk$OkQvY5Q5?>zN$1oPbrcn)RPZ?B!@7& z3y)vjWufGFiM|sMrbDn{?+af-TqyyIpmW>3==HyYudsI|mSz#`dPEbyByGG=%a0Bc zK_7HOV_9(u>@6p&fCz#PN3osJ0mH%IYGsS6h8Dm zeEwVf>qFSz+l|{%mB#C{+}^dXU$2kaW_+5^_jumC0VFyVe?yFC>Pl&&|2{!p<^FLT(PK-(3TR*USgW zZtP(So1p8$Bz5(*)lk3oI?g|@@o)K3r7z(+ex$ji-WE9v8-BxULs(fH!lgLbzeonn z(9rplbfl;^ffFpx!}fODPO||{=oJ|GVl$CzeyMfZSB^yTF~h@Jcyfyt&&IY*#kvV|iP9gq=}T*DolwZ6=7QF0`0 zfnk><4pF#3C3?^;l@m2Xg!jFLZ7^9UmJnT;lXfxgifNtj&ng3Jf^8*Zc!p?P@7=Df z+0XS)I1|)PyZvH@FHc*M1{5*cU^#?F%sZr4WzB<>LY3?5O>yIhZHgp^XV6D!Vv(pr z2zSfjpX72e6(~Y}h;3xu^3R+LHy(Zy0~(?qvBSVr-$!|t-A*j<|Bu>UMuk5Y9YTx( zzg%}FI~&=F7Lul96g@gfNh3eXh=$3YBWTghG`)@k@5TDYRDk`Pji&;e=dt?Udyn6ZU`bfg+g)wXiFBmiy@rKG34D|H>Ozzyrta8g5Ja9gSN z4Xd{>$vdv5a`P&~|0u`kW)QOJE7xLC`Icx>M)0EzQSk>N7zLLxl@89CjU+De;rTY% z6=G2>%O=Dnn$5a5&OA7qk&-@|WBTg!>gYW?90!h^0&p6^HV5Yo&22cjtt4nb{u5nX z3h#K`$>9LWo4C0;-2`F|kTtabJlA3pyk(Jz*hpE>k&MTFQC-I%qcBn;^o#aBPnr*N0{-S1yaG z+Y6JfJO z+6fTBfgpJV^k^KjU3nzi*5>-8lSBHh0DUMn!ji=Wn5X7W%Qbx2-M8r18CAB(inV*)6H( zczwFk)MU`s#yunmJ1UA#Y`hzFu{AFlfX#;`kS=)o=fdwivAVG{g`mxv1Zj;*qmvw( z`)qktPHpUbr9d4!5;P8bc=YIz=1NFgybWVFQ^2`j`P*touj!%)`J)WWH&Hf^(lPdX z_e9+EQCtN%Zls~Yu2Nwe2BH`LfIEGsB|V3LRhe7TGkgC zQM-m5+rAnlM{`_xR}i$wyeBB@@Q80(ia5A4{!sL3pA2iUh|^%u&U|+N38{Fl9`%2` zls@D_c!GE7$s!&PIY{$Ukv?DVZI;ZW=Gdp{mkG6fvb2k{slOu`{~+1LUI&GZtEjC} z$&pShSa##DrCLWkngxd3S{hAvPe0S∈G|m5^$z*pE?*8$#6&m@tR*rK9nm3R(|T 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 literal 0 HcmV?d00001 From e7093ee4bf05d9288ced0da6a797e7bf32f530eb Mon Sep 17 00:00:00 2001 From: godpp Date: Fri, 1 Feb 2019 11:34:46 +0900 Subject: [PATCH 040/183] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit image 수정했습니다... --- README.md | 2 +- image/Search.png | Bin 101737 -> 93677 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b9dc8b8..c5912e8 100644 --- a/README.md +++ b/README.md @@ -18,4 +18,4 @@ > Search -![](./image/Search.png) +![](./image/search.png) diff --git a/image/Search.png b/image/Search.png index 2c7fb9eb6a38511914b42325d1e39f8e38cdcccc..3c15aa540969b6dd9d9f6b018bb08513ff9b2cf0 100644 GIT binary patch literal 93677 zcmeFZWm{aq(l&}SID-!E76uqJxCaR?!QCymTX1)Ry9R<=kf4LR26uIu@Lw+|?eGTJUMFaX7W7i+9?PNs>ER`AhzVMo>xGOj63?le)QNr-3%Z--ok!k(Vc*)#nFU z5B{95B+}hLM+8#X{|Nd>QH!KVpXIm!noR&N+AZcpf&cwY z3v`S0{~93;jHKB_9qgmJL;pW!{|S7|ga2Vvp7hNsJ!YNd|80gBuG*0o`M(NA+kh4* zyHkV^{Qu}+XfNOYP{4h&8W$;XLiB%n`cE*EPW-<^`H!Xae^%v5O(y@x81=RsG5@R3 z-3N3GHQmPcLHh3qH&Me~{)YnnKdZRmi=6)*;Xjwa|5xFEUGg@8{?{e{J4^omSU9_+ zaM*{g{BaT#a7V6fll>0o{BVkMJ@k%+m?q91`q?GH4+3%+xOrQk-LRkkVfQ=rrWG7^rxI2X~rRB(!m_@LUm*8HGva_WDyh2OL} ztuxF+;l=xSNIp9>uMESm&-11N8ymPh%w_;=9At_6)gOoxuK+b>^?1C=)BCwSNm+6; zLe@(3+jp11TKBq(qEp2=+V75&k(mf)g?H0q^7RYanRWn6Yn)h##$xfNBTm1y0sG+V zAMPep$qr!%KbVOi&OdarIEkPe)jj?RTxlv|IO!7$_kmXF6|7WiapRN}+j^sYmu78}BPxeHk{t$y*roO*TQo);(tyqzEw%A@Vvg{`=dKu@GXG*4S0fG+LJNT-V4zmckN( z<_K`I&N{U+Dwft1_K7-)p8H9=yHu7(W31&`H4yO|6npz|x~t$7)pGSJ4U$-? zoBA`e1=_kK)?%Y(b|&#{le5cZLZP<%Pp7<59YGopj?5QB3LmGm-Az;=*}( zSy{SzdNJBsC=E-M+K%yI5sN!+5H-1_nj#>~``|dE0U?*Ik*ZeE1VMM?u_W1end}2G z1B>}iaYG~4!J@3w;2HR|chKI_GAtMq+ZOaQT>Fs9)7XJ0OYf8*?e_NeKFI5FFKseM zVDNL5hHaA$f=oRFy+8#4q`)Wt6JB)xuV25ADSR)2DgJH_Co`OPy}mRxaaVA|cGISf z5^=cOx>sA&CCL7%q;_Y%g*ye2{anlJk0ef9nuhzRI7gP)dKxDsCpSM7xu(sJIWaK< zWE?Mr0ukS*F3QR$!=RBer;Ly|vDG1!EdkVfOW zk$$z816dw*8oQ>(1=u6uV=n(xigU4DM$#M`7#Ogv>9})vy>npeeAxbZ-Z|Qb#LP5| z$pcr@yJ?;|I5IKyF4v?`;e%KGLZxzPp?6E)B(F)y7lRL9S0+29_%(I+fGl!VUUQ=jb}gLUYKt#2Fk3 zMj)$nZ#?cTfi~<$c3E?TF-KbiSLDEHy?~sUGXWmvZ}LlGGf(7OXd}kBHA3$xmj4C3 z1^3HS&FjV|4mR!YzlWO(kF6|i?0;Y6>Otf#(?I@u0*eYTt*Fx#d zbJ3PC)krFaROLWc4Yq12s2PYfr%YD#&NBWlZJSd}MFUsR5ja-)q?bd@p}g-5mSHSi z?*~yF#p}c1m&dd(j}3XxC(ux|`ErwZDAZqeeZmMCJ_wzCoY%%GGhL3_c9yns6y2LH zm<(Hhn*|S5I-b1gJDpq#Lf|;FQGc$sd-K;(^Y*fwPuK!0dM{_^FPQomTEc&~u(H@R zYwHo5n!8ss9XM#3@2OxUExZL!-(k~4*ic2f?G7dSoOj$mT<&l&4wPofh-_0_FE1~9 z-~Q6v@c(lvvw!FY!=mnJZGAM%kXIZu$E+=GGtQ#PI3mTYH6lot-R^z+u01qFN(7Eq zCAnp-kW6r#SB@rWVg}Iv0#>VWoT4l9sy|v$daZcB6K7x~gb7F?J`0XP8Q>)Yg z1^!bSLhHLCmbf ztzRo3*cz7L$Cvu&ApJZej>-g2AdcaM7)p^%zSG_aJ`ziGkibvd9&FlaJ~;6;G^fN{ zf}HN&e3H~#W0wtP6%;H!3ZE19+!vAOBc&n%ah(-ePGbHW^f_r)$!g>-eWPg!ETNmj zqWBpi=>;@HNCDe5>ifpsCny@*1-dBeTVQQt_TE8oOg)Q8YH*d-8t}+Q3=Qry#vg#A zs&(nlCxSRS?-?I58$O~2(^2z=nXzUP3Qy(=jRxXIIQ%x6eqTzYKL*8T3o}D^UJYCQ zH)p;klu*ynz{uLj_}RdweEh~mr7}dQm?PLPP&ek7uX}+VnQN?+U8XIl5Jc-xlg;lo zlHVQub>~;oCmZ1o_UmeK!!odqsTITlSc9?i-FD7y$_MQr%5V3`K&&MQ0nr!|lOw02;6AfP$Px zXGM|{6M5-9jacTOikPvV8VXg>+FMj>w3_fTb#-d49nH7HBhtUT-hV-s7smmT{r@+^yC*BFt~F?xD1L@4No?8zgf=hiYW4g{hpLwc9k|6WL2~oj;mX4 z5hEJ=$b8x{Xx&m#Ss+fScheR%%}XM$*CHFX*}(+DH<|`V~dpPpdURuYa)Mp zMIc8bEOZPY37YMr+;dIHxex4`Ld`Zr{*V!8@`VwO9S1*KHiV3Cg&bA~Ek2d|g=zbolHvgH zUS-i}8k>ZO4no@bm)Ac-GjeIHR4%omM_PiGM_a&eYJ$D6hFf)Y?zPF3VGu@C^wg7I z2YfS7niy;)F32`h8+MLCk5>`zGV{9|cww?gpn@@7j7fE+F_d8 z2g{by#&DsY>lOfJS`I_GU~N&Ys2B%n(Zau6zyHEHkNN#|x#oE}t?REj{i6)-CxHxg zboXX(7`*23L-?16@VSNkVH2-1!kzi|otGHi)N8Q^AvT@v1#Vk^_RgC-Hy#(4;{Ey1cbU~mjMUZS-3(%`%I)r*97DuN0UheZVD(=;fSDTq{Mr- z3x?91rTXdBrb?=F;GB|h>1@SjXyOU^qR*NnmOQ8pwOx92VAC8nL9)_@(AE ztUXZ-JC80|aTIi--l>zqBSp#3wz9}F@9Z|DAH!F(m1V?3R>X-6A1*8#c~YSgIt@l-^;ck&;{gn=mDd?!0PbhkpXGA%a zVd1L)-oEV6c&4fMhqUu_o@d{hDLa9Cv?i$_95kUQR}hvA#opIp16tuT_B69i0lRN@ zGP>m8GWrwgpM~KJ;Y4uC+NpO;Ag#*_m2767l`7YgoUUwL7S_pe{Ape=88m@7P{Gkr zj;tq~K~WizG-%5tous&hwj#zfPj1Fz|5UxJCN2zT0VvrY&0`|X`BV5$;m$;yewguU zPo7w2N2+of!nDX#aq^ZJ`S*rBJmBPa>ITG^)dVV{efy;&6TDnFPKV2tuIH5-dVb=t zHr+&kC~_Yen)%CP-s@u%jcwLKvxY7+);`6%)ja8+K}#o+@64L6gIOQ@aFwt_N1V|p z73bJV2rHl7vI`3eaHv}ZnbrvY5$v9oRj!t&eGj5_M>wNaRW4frU!4Y`^ z2xzAX2Ce5vJW=+?EQJI<{ZNdl;TvF1hE=AJfS8fug7n50NKIwnj4YL3`xu194vY^= z)Yz+&-Oyb$!C!IfY)5dD2n9YA5|p9&?e(CMf+j0hCYu)#bnP|{NezW9CS#V`C)B73 zm>};U_8&T82bJf*VecWd($%yk?u8)UR5EwC8*{%!dyE9neiOVV<`!e5$PufNa69+D zW6r$Cm?q-unFMU}G_Iv`i6FpD4`U@#JrJQ_fEF1mbKWty=d2cu&eA>B8fAcL@xxgy zo({3{DwOnlBZl35?cbMJJB*iXl~7#vuN3yAJ`%5&7zrA2Zikd zjnAqz=g$8`!4{dE8db`W+#L887{*F*T9jaYB0;ooi{Li}BmNyywN>C6?X+0CoY(g5 z?mvpF;_2LJd`GHcqxOq&P$9^L8?7)K2+Sbg5-pt04jyqsuf>Yq%N;YPh$OvWjPMkN z=iiT#kAnvzg|x;7tOST{cFxx^dQ`-DXnwsHg9WsJL}={&BWm6*M0EAhs+{Xu>=Yv!VVe!6ZYO^E6R)k zlnUb2!Mw%>iGgNuV7YQ=h(^h$TBXL4I|-%>c;wLwg?-1Iqzi*c0!))sRy&#D!gMKq zXP5olwt&qpF@wCinI^uU(fuWL|M$_eZRkl$_lm`Qy~P)EJQlvdVT(f1YS^o?W2Xw4c0 zj&G-J|FUttNdy9Q)TK|#`!B{N0@=x_@B#n?vb96db)!*w&Z*A0bZ=he&Ryy6=UUMQgO+65XsZ&uLZ z$tpS%E9~N`0ts+K_h<%gbr_wY1_fj-@6~m}cJz-E1h$r+gj)9aL8CUU)-GNse zip1VKwKrE92NVV~%$M=x3Pld>js-6JGEdIsv&Y48T!mWPVl2NO=cj$S1iAxGe_I`B!Hvh4!dAht=)wW-qDyyv}MTgBJ z^*}ZHan6_Z_J+xDA+GEmO-b;H*u+AM{}y%7z37&h>Bxj-;lLT&K2}MPZ6;RXK-8Uc zAWN)r#mn41YMP7@g0os*DmZ2XX$T^f&W|5j{%!r$1q86%m&=ITNn#i9gTQ%W!l`$7f zZ&;*=?^5ntx`Qem;)?xQ!XGpjGHClzo8LzANMe_AgMNknN2)faT^%rI$ZEe(g$?^q zUX6yos_|>~Hz`R$j^~N5d88Q{#-*9^O!%QaaNkT5-N8~g#~_$Nt3fEskx^1y_cU=E^$Ab z9#f2MzaUxQ90MFE_BDzG)S|V*f~{q#lS5dK)-|t0JbA7+{Fh(0e9HI4j|*sy7|s+# z{2ZPJ2?aFemOGqm`1Gw^v0?3+x7rFNj@NEz5<>W&ZjC3ZLXPI5X0?@hlN3xoOW9`7 ztq9Z$AEllXbAhCi0-qLUE>gDlk^(}liN9_9MbC|v>dkA%IhyL zdQY=h-=df1Ci5n^R?2ncx33a_TPT)C1WI?pjari zk&cztqoDJ@vv7Qd%TUCZuiOZ{N>R!fJ|dR@KQ2s@MgZe z?}g;k7L7H}=h|8eHISFEce29x9(RQ?Jz?&*?az~swXgJbWQ`2^rDWwt8oWNX!C9q#a7)?hb+~WyLWy{L#S~kjSa{tM!Kfjxp zGar*j;jxfm{(;NQV@PY+C|N_sa!7E9dphyM+qfs`_`^)6DRubl9Y;GBo*s}Aw5u8W&+5c^&1;dbgURf42&hFspnS!Q@(a>!_8 zChb`9sqAjD7oSS9Rk~1QN`otQ-f$~zqS8JGCphP0sHs*3`W=CuZe* zD5U^VWXdU10YKxV&#<_Ddz26E#)Mg;T77U#da3uw~aNb$4es`>&>e-8)*` z%W*oX1D<6vLkY^DAIvIz+zZ%lhe$w(0Xvh>A@?B;d%S_-9H2igHDa+Eyw^eHBb~|E z{d*-HFDtY>eL7?bZb_X5NDE8_Azy>(ob73mk~8fRkDQw zC$Bwkm~7D-{FbZdbOHG$BXA06a%w#5 zM=o1Y!ek9yAnakmJMYX-&zWcu55_y0hB+##8wDf)xf(q9mR&YdN+c~$UWb+Zp|ULP zj)NCt0PrU{O;Gn(ayP4$k$g( z6A<=!|Ng`GR+N0Vaa%-51^_cuOL>1<^L9#XXQ&Vj;Mh_=zFx7tUj5rj7ez869Vz>R z3E2#2(+0_XVls6MR+A91ecy;(3Swcyiv5TT32)aV!=Vmh0(7(q9hU-^BAB zaI0={Q6^z1eFNlBPhqQqxRkPadt!n@8?W_2-yZp~dX%LhyvwqW*%3n#FLx^r*L%nV zK5&k5nIY1gqE1`MN&qh|q&ecRNW%BQtl}Vb*guX4L}KXnB6oH1>?=KvqB0ePh5+&D z0?@AW?eQltTgMF!6K+7lT+qyRC=Dm+japonL=iQUI_eB9VI#p;tor=3T{%A{tg}hs zKVYT}sZdjkL!Mhy9TP z21piza~8eqR<@)~>qh>|6Z{7a0NC)iEt=g94<4 z`G-IVBPjwU?JN@duB7A&CEC6UXo$k^M#TaslWbJ!4H@8M3G^2=knG7JRXE>DB}e$c zo0f{egcX?pjQS61mLueoT8I;Ng&Sr$w_x}s=NxZ)Gz3+(mAJc$F-u_ycitr6T>UK}6gS#GJV^`;Rl}(-qQ;9+f&YZ!;l0t^ zdCTHTe^Mq%yGVI(RK|nxw z`0j?x$6%KV_o;B0l~sH>bZ1Zrq!3;r7<*dzuo@wGFc<`f!>qKrjB>=e$J-J zyZpuv;YsK|+i2@ig2Ee`yPkxi*wrDiA-Q6tSFT~Z2_rceC-k$+n@1!;PM3C4CH2qhv(T*sfJ|wl17wa)^3vJ6Egp@cP?=m5w zd6U9USx3k%G2-x^#3u+0)bHmf2s|k!?%Xhuii!{$+Geri1z{TIpmUP0$;OGRY-F2_ zc%Kd(k3`*QOX-ygQQ{hs1sQ8;DLL?PHwd+%tNqTJutr2yEy=Iuc=W`UPKg^ z5>%@ocIiu+--cMS-E^sHQ5UOdXk^IG&p(Hg^FLqoV)^Zm7)};*%3ET`$lLz1u^@LN zf-NI^;k1Scd?eWwR!T)T66B02E5&u=;-&Guur}MZwJ$MGAQK~_Y++??ech;UqWxN(gO%3{Kq1U7zt7V%UGGH ztnq?Z016@=RQ6F5FCZ{@K!SA+PJoKV{De`JQuNZU2OwarqsnX2vnf7L5GLuU5@kwK zXgUzX?LSm^-6a7l?KUT%9@lPUEK`3uzoyI5Ntlbwm5anKwv@< zJSonGu;3ewK|3rEhQ*ldm;whEKjTzd-lDRqDp$y7|8UxLQt*09s;Cpv+>NI%1UBMS z>-T|?Iba`*G=3!4^4KS%@ILH$!{@KiyEz#rD`;TQ1=q;iq%=n&QHA}CmRU3#Vqm87 z=>vMKG#8`gJR4^@NrIi^1GSNFOh~6W0Rx=mrh-yU&k?icfGR*5T zEqVN(Bpo>&1|g)4xE;4+ zIUM8njbuZa3o)iUS|T<_t1Er+$_I1zeW|ci5h8{SHP5W1|O}02l=WNDWJ;LvD1PW4 z@R%`nD4|KOsX^i?urjhXF)pD!A&4d{!4=jOvG~0+iJ|I1KaxMk)2-pFTO)EQU4*!# zhUyefr6;&)6UvWClz6ohFEWuk>)?N#b%IwHN)nX8t`J&9ekdgxLWAP`Auqo>?`iJa z(DpvYXVTXD-HxxYHEh0HXvOk9Pn5SSr?76RwE=y#u!X&Xro%?3o90vQbR*-0BbZ3h ztos7|^5}xU2&NjYf(xwA-oS}yxy2XOiLM|7RV~GgOP$Xw+AL3oeFW6C7N=K`oe;V z^}#uxU={{_vXKlG)#S_lq4SZR?K^}FDl<9OXBsagWi)XtT3kfod+xKb6N?XK zWR&;EP6R89F~VHa@z(zi(#9s0O)$y-bb&OI)_Ft6Q?V^)u<Yb*<88I9Gu6AL=&sE|%^1(jUJ zYg)WGYs;e;MpEq27JL@;)PHOXYvX@iLXNg6>S^Kh z7h{*mzcH!$kx{O>S+m8L#=SOwpW>8idlKFdLt@zY-M8N><#C4)r99~1e-kdcyz&!Fg(Ty^hMm)M2w`1MBW)# zn|p9ZQc{c1(v$%1al>S+{kLSXu+Sx1nqRn^-a#TFj_9*9i3qCF<@5&^?>t5R;vhtMU&47 zR&2+BbKx0&onN>|;TcJrzV--cOmsBC&Xh$5TJ2SUp#_5Dv`7xcSX?zRan%`5GM5~b zye~$~fx$=42|hw@#0W}+`v^k}PvDAKEiXb_gw5e4C&QI=2b=?;TT6_2S086J)!w+C{S4%p$j=&V) z_kl`yr)lvikqdECN;U)zci&6#j#?s2DQ~!j-mferyaS9ORFJpW6hml(&gFvh&TW zO#JTOLsS-HpB~{?aX?%b*121|D;ax&`@PW4G$ILy3Y*0;CAb*XQwi?_=Dkmbu?yY= zIDUn{!J?-HNWd2`*7j`wBPw{6BX9?`+-J8OK>N|g(rVua$;*Zd72Cn>ft0`E%wgV{ z)#|Nl1{`$=y@4aZP}5olNkZ_fTpzryb1>nwsAfUJWt-_FyP*RhAgVEjg+!k;FJky} zBdA?*PDqTHkI3{x8W3zA4ewBQr30>;!dC__&h#*>E@sJs_0p?1n?4yl8wm#^M%R3K z{yip|ANu!=O;+@o@_9tF6PiUY?}H6;L#PUhkik+N2u+hz7C33rH9*Rs3+>$$LjMQ0 z^lE_wdgBPt;QK$%+Yds{Jfi_HSG-JG9>fg0F`-U{hC9D?_SZ;Z-H@jacp`FJ!(%bo8AH%=fgwk_XA3HGN<-VzIEv6{Vhbo6pmuBpdtR-BL;RJ=>*GbLk zqj5>W{LW+FtTM~dLTLPi^{y;LdafUOt4Mn^q0(kb)W{|Ph1yzUA&jlUQ-HU&Ke7R!`XSJ-A~7$Y%H|?#?sTMPUL#xAU#}t44Z;WS?gbdcZ?v0tn6=$C zOJ=tOWyyhH;IsSSrQ|>XQP@MlG?C?DE6WVZx4Ju zPR)dAZN6kq|2N>S1obvFz&%&74)cje-(vP*|qOJcp z@k3{}U1D}CkFocM2^lGTD>%@eW9{y&17 zWPcf2JoU(-_r#;I4U4ndFPDY18!~45dRx36nZ-*?GDZ~ z0%n4h-9W-Y&D!E1u}LG;5P1djI<_hZ8nkRJx5 zTBMM4t*@1gyV(1zi$Bmumrs5%2CDHQyFbkGh5aMKa&1Cp@4ZZ;U9po;1JvghRv}_A z)Gr*`*-Ig7iHCbL$sGjmoIbTm9Q_p6qv#sKyLx~wG96tg}iYC=-299i~fTYcj+m(jFWC=|=wOD0?`Dpb={OB&5-k0Ph-j`lqN zY*XzJIQx3l)z*3oYHEpQ50c_=Px)L6ex8!GyNiIZYt4`sZ32E=-d$+flc=aMX`${< zez{-y{l5BA){sj=21$1)DDlsbbLTI`v}4}J{cD>s(K*GUrJm49ydXY%U&aU}45MW{3!8)uLWM-pAm9qjuE9Sse4gX1Jp^MJnh^bXD}w*?PjPRf)KvkYW&prmUiR` zUyhaITJ_8R2mcc*a4@zAX5&WPCUTh5tsU;pD@sGhNPK`kVWjo@K5Y(W93ij$eZ2?ztpcNXaB! zV^^kS2$6Jl{RVFGap&Rpz9$2T4=UZXF2+%F_B(&dEyM*YXa#=R-ohD5~|04#6&KLe;I4%pxw1mAK3Ga+|K9e>D)5mt|nSg^< zIH(Q|-Y0l#T?c9*xEwueP)QI;p?xd%Zni(Q06Q_<G~GEzWt)rb?Ch!tFf2GK9Un zA>Ed(hRo;i1ewDBWO$p@q57OM#x9$h`+Jm7W+wsPZgY1%4V(|%yNZR^=e*aW^VhrA zKNN<~mY#te(`C)N<39ii!{G6~JYUapRfoJTg9>gP+tEkr&)GZreG?k38sB@=Bfd9d zqkRx&9Bq!v=(Kl4oD>a;c{(>F=&gGpK5i9( z&fR4_da&N1r3jF~Yf{JXRkX=iUe1jCNMoeG^2r{3DgruXR9Nd@t`-w%Xcvt;!irbW z@iSCgeUCKvm^cC<1o(zrHVfKnRU zM8;*yCiPHw+4*J7W%A4U&yBxN3)4Vt5o>PiUL=K4ToJS4VT0D8Z1HbYd-;_5G!(hq zv!|}rIkwZaV`#`9X6Sw9hd0qEL znkZgxe&u!eSFhQP5!N$@%GV_&4EYn7Uj}#-S7G2} zWwTISn)h{rZTrPHRnFv>!FR2p)oH3@))~>MTm1KMqF>#IJAQfA^I6rpDAUFg_4)(L znfaq&6j!u(oO-k`o<}+4{Wq_S{B53@jQ0*dzFe(GmuwH0_)NTo|Cd<+I>xCd{*&Td zz`|!UriAa2y-WGUpP5`jv8;YP6kdnQGUs5}z~(c-N^z~i-V{=6SbWE&%Tm9097?}j zjZ!$hQ}^F7Yd2vRh@@p7ll*Gg8~cAB_Ky}LS8F`GxpP1i*3_JVEe1j68kZ; zm5J}0l!M|~NtJqK)>Gul(D_Z%=q!Cbar(5oj=>`zeO*(lyN6I7O1d${Bimf_I9yjAojmX;^ zY~yp1(ehd-sQeg_VbBoNf+)xubw~K{#f^6;xpHT{L5H@z-Ucc~_{1b*4 z2TYX4neN4q@ChHuYPmVI6uWd-vd=a1(+>;%V2B47U2M*zQ@WUu17+~C`uIl>{bb`d zv`<3d8xw|bz2El3@s~%Dm(lQCFH8l*I8jztO{-3)+wHfk^HuY^q5o}@%Lm1PvHjr! zjnAuE8~pWc%8Z5RyIS?-^H~c#JX=#U)VR#rj1jvz%)7)a8duZBB=XCN6;;P-;>RDT zO0XlpAGs`iPgzbO+~~Z#OBt~}|D1AsBQ}28bo51`{BCUNB0LkXO-k{%;Bw?5iavYq z_Grp)k_Cr#d1zCS&^9T{zpB^RT&%BvhD%MHy6+&PtVaPStriC>oXzw8)6)QdptXS+ zwGZ!<(^5wdgCZEw2PL%M-ghay=OgN@*03aIXHMG`g+ebRC1||rM&VB*30b(CuL93+ zT$!~!I=GeLZzl>w`aKaYjc-SY^w?)7W{%W&-9JMxUQAuFY-P}xPGMzBs|ii0bDaS1 zpHjpNh(bx9kbB(#^bSN&T|6gP*zzS?(iyT4VcqgH&3P`vLc8=PsbhEEKZMKd&RUWq zQGfd>sG{ejzK4l$QAU0`G@pG(MY0bO7gH0X4nNf_NH2az$FTSlGwHJG&f@2IoBtw^ zL^*N2sQp6RZ+lrX5EWiUwA*H`;uEO8ZTRz_n-v)hT>XD%jtuN&sbM5{a8rJu^H<;m zKy(^s+d~h5T>YYaiIn{~C<-FsI`4$DRKUxLS+yphI4eB;wlD`Dk&8|EZ{(h!P>H9= zmtyit7M5&Yr|i!J#k~}+rkpYYE5<^=j(H2YbYCO!SeD}A&>w+;s9!(fx|E&dxJ!%x zZG5xJduvZ=@k$0Y7zak=il#eVt6Z&%hL`CAGst(X6LBh1t;iJkuJAFjv7LT>{_!Y< zilFhZHpW9hRZN#8Z_|u`StRlhGpP#K&^IuJrdkF(%vo$TnG%#i_OR;3P5Df3{=<~` z(vl6hqG?RaUH?v5>;!Zyr^%!_GNo1xm(BvlM~^MsDV3DMR*P`)9$ATsq|+JJc*WXzYCH;FMB!6_Hqe6ey$5>oI<4(Ea301%LGo z-Iy2cmJmq*gj(u|V%i)mCV?+S#|<*y*GK319%;TXGSiqDhN@@EN&k5RorKzPt6zef zuW!!ZP-HXarJIJ@#(4HHqEvtqxXYIBt=+@*aSeoyh-0ha&YO`9txCmWK0~fdXY0j?23CeU5>BYby zl~4imQorMdz7r+d1CXESIfmq!Dv0i|p(^_(xhrwphTnKPc%%}4`l{ofnxkt zt4T%+VJY?>k&HZ3KSd69D<=)f*DyZUqd+dHW3)|bdrb?@!bBTS63c=5wShMlpbk|XSog};>0C4^Bb~= z5eopO($?+^5F_IOQf1!KoyL2ztZ5IDUJ73{{m2~&cQC{CeEY`FqJ@XJurD~L#W}8} zZzRu3M_OI>rFV7XNpZv7LVxZ&W98Ut`H-wxHA7QysJzHZVQC?=mC_*+oXY%oFu^~1 z22j`U)WiYxTx~E2cPz4T`GpLFYd^H71$(iO+}s@#Q$YJY5_g40rw*AGV0n13mTw_+3c7Z)Huub~!jM8{=@{GMaJt^Z-wEc>`m ze;hUkfK&DaMA(Or(`4%UH8Ev|%6PdgGwz(Slu8!!+-itQ2Qen#3_!Q@;clzn&K85G z$&ESFj5Tu)nD=y=-i}Y%l;J0z>0_u%D%3e?HRw>SVGqD%O1y8rU%UA@C8yj)6~J1W zc}?1X_P*39!)TVnjc3#j{#@twBNZmMfLmYd5Wb0ox&rNY$sT3MIu(|S734?Shp8YI z(f4YjZ3kZ;PVtoxcE-;iAGiPdZkKFH4q3%2XZ5evnMN*@TO4sQk%oENWf`ZMsbQea zx`o?rDdC}2;7@l*x3Ll_m~2;E3`_RLvRaW=R&;AT+D7Jh8JS%V(AS_PfnMQkq3wYd zW$<6Ph_M6j?K0X9xr!4GIT5n+3npm`3FbWI=+(1^ynW5frG13OYp5uq$WV>wj!Q?N ze61Iqv`icfWESteKhP76e@zfl8IBHeSKSH#&K%LvA@;Y^pmsb2cNMrg^Pp)qpoa+x zvYJw3=N|_O|H-v(F+FFE-X^d2-tR177^ynN5vCB%^sTC-z#(Mv1U2Ffo=Q4>v@H+m_Y;`3jf2{oII z+N7YK!;D6U&4uzbou1;ecB5LVz}j=Ni;0b57OrO5CEDzIk6HbIlW^bFoIiKzpa1cH zef{5`N6V$LY4`AlMXWNRC609yf`JGhq#O!Iwq6e}<%PxHWWuEP}Dw}U!dcBciXWcQ0)OM|qu2!3y zsH^DNb7@|{Di%`gr>2~}HE`YsD=_6uAAs5FS5lulZB876ZWIVdwq_uhBRZnCZd7*+ z`g-joUnwbg3TFpchEs^0+0r5Ajez+MJXSrWV9NsTmkv1d|k&{KXAU+E9Wf zL2%7JBVj{fkoZtsB&Q%j@M@4yPY%YI*(;kWf|mvzoOo}6Euk6KQ;~U6=l$# zlyK@Wp4=v@#BCU>tji>QcCcGqt}6Qb(@BQLiy|jo4v(F>V{Wy+ViSM7pP>Pm)JTy( zJ)K$F0bMzUr+u3SdtbH|L23l&c!Y%r8d`fK+Sz8B357Sf4yE+B`* z$Lxs7_>P>+^2V#@zVpo=Yavfm2%=2Qt5G~E9M)723?`y*Xl*Z5WutIDJC}t$K}3;4 z82d>`bhna0*lsgRixnqB;BMO+2iBI4E-ftIccOkGeXKEG&26TbI_7}FcP?Fc^Wq!4 z%hgI11A#cUjyK8c$U0uqp3897Op!OaC6H682HUcML#i<6>7iA?I>}Bb2myInD|A6_ z`P1}wG*XOIR{nR396Auw*Ckw^dgcQ${$P(r$sBS~nWWci~eVLN5`BY^J+zq-MQ~OR-+~D2qtMbP| z=@B9L=*~#MlsS zgbFDHh#@M&vflHckwYT_d|Y#Wb}Bi9k+`3~aMdMmP~tHjVBo zsFYeLDSd+7B#kB#8WE0afKpChz`jtzYjZIYJmAQ6pvr$s>a_S2a z((}Y2opw6k;CLJHlk#=yDHIVXZW9^m9Ew1$`fF8s;*vb2Fm;V_H>549s+u7m>`hh} ztEl9yp$8iE64}GAwTQ|8Jw&_PL1#hX0D40|TE;;&5SKAN90v-u5L-|SsRvU6e-*$2 z^^!yEA?39HL0lp?d1IAC4R=97kX7S-cvp~LiF)xOhV}er;wS|%T(P>PqBzzcy6(MRLxDAJ1QAbA6<8IL z;c!XD7?rBq!_0Z7YlyXdNd}3@B^{@(ZzKzUTkHlFNkz+;$wCi??H1>hYYkeuaZo9Z zIhs>Yn%)20(1g5%#C!l^T90bxNeGF2TAhglR8giJIIC3ZfEKw?8$vpva|hjLLEZr5c~PSbdyaVRMABRA+%Ab# z+=z-+%LnZWHGUpTmkt@afdmJjOmp-I?NZHn$76Kc(VbQ>@{3MInd0$Jjrm}kc*vX^E zSMI-m<>YTK*mp9%mT`e_Ri^bJqZV4?`dUPlm1=O2X@8?027X-!Cb|K3<;o8ea zU{x7QN7Hjbl#?l5;*XIiMBze@3Nl-1!d70bV*hllLsw9mLye&wugP%lFJ0GXN?AG! z3P-YS%x=v#=)R*1JP2&kwZ{m4%}uoI-AL&3Pr-@P4XRk`A2=}Q!22jLE_l)t0xy-P z_^Sw-WR%q=r==b%wxqjM2kr8sGjSFf^CRH_Gi+Hx#%sNh2@AfPMSK;9ewWjDp~QP7 zQ9ioIbkz{epZCZbLUqgB4H8lc;pMLX%pB^0G{m7xGBgG6T`radS9@UHCA51d5D?Uf z_DlG@-x`9^FlrA)2pT~MBEhX0=8%fG%0F#x2ro2A^vOfcB94O5O022mXsfVtf>0D~ zRntGHaN{z2im4Kd3U8z*XK=gd3In(ijx+{u6H^d z0fz2@&QZu@8hmU;#kP`%LW`dSWMt8kD<$H!ZDp)b`e%h!Q1uOIO}5yhK_-ObQIX@s z7{2Hifv537Go(M{(#^t&Is~6#&H;3_&S--=*yKBy?J7-bdojafjT%@HH4-zp^Zr!k z#LDvd>l_6}t3oT@QsVt1T1C5hGTC`v>1J9Bfk*S!Iu*`JOr=ZGLU=ivt@Aq6Ugy9O zGss1$4*Y{a>2@VkTR+k~lFFx#99vyjE8e(Xo#Vvhe4&$V+~{1Y))!G?V3YLlFbf=} zUMMb!kbsFhX8zdzEV0W$8$mcrt{N|;Mk^fQNx^h<#J@Ti!GohEBDavBe8^D~fTQ8- z`OY>=XH(&@wi|o=6E%YAwYlgIVc5aY}P8+6u7eUjsPUZe}?d$sMzF5)ia$Q>#*qX0X;iH?l3Pw*pM7a!pq(p189Ry0D(IU$; z1%01|u-e2zhY5-0GwC07*~G_+VFl6UnDD=I;{8dTt@^mFdCOW^pxn~4c!7(a zgoaF+$sYFdohf4@092bP-oep#I+eY86RU?5k`OlSf}Sl2FI7aoMzO9s5-Jkn?RH5r zGil!~-W2%Htil1McrP4&kJAXyO(Sfeo!Bk5A$Z>KB2_ke&I7(AmURLNXo6F*tmliXnxgIJRo_Ez>6yD+J)u z;hn=A&j+Y4)f#Un-r&hlMSQ;r<&1m}g|lK{)g8$xEyf(S-4#@$P%_*Q>e`tV0)!~< zPk4vBVf_L3AO&=_XcjWw?vU1@bOMlFi5gl+=zyWdR}*(#2MEV9A3*{Wf{e&{-aW@FU-MuRf>>|JUk9F*vQ)|-c5Aq&-=1Ygu>m4n!sac z>o_b$W8i3&R;R|OOJiz(jehw`C9)G$me)JfVHhZ&WUxxIieh2rMAI8u)Cj^$(zn12+=os+{?R8s_Qc~))T^oLR%7Ez zt(cp8?D*-{1G$&ZzxnpYWvDFWfO2S;C~2V|kOd{AgXk~;_{Dbv+Ualzv-BIh6`rc_ zwN18sbafOlHYn_Ay*M)$eZ7cDRf*8g>LB->aM@3D!eqC%g*!e7iaWwJSi`lbCT$G8t==q z@5ZVY9k~@=nmnOvQw{Y#Iy5F0DF$}SZA3s2-vUuJG6xgWz`@jNuGo!|OdGI-uJJ!e zQ=ZPuJy1?_8%&|m_&xR!OzBAn4h)A=Vf09`n-iT@`b?milyANGnuCE5nJpltst%Up ztWxRr^g5m6uS}Qb3P+X}mlruuGQYGqU%gq{&McIlBqh6*Ai=kd?m`L#kVk+^Gbi>z z7Ws*<+y*skJEGfeBLV^S?RFVQoI)*lg1`#@q#DvzsH$ia^(NzdUYea;tzl6Y#HwEV zqXDq+p$P_}Nl8YjMNGA{#8)!Zz9wAsg&q`+7B7{UfX0#K9?JzUG9q{W z=qP$N3$l`8sJBr(l}Hb!VV{wLQ9!85BLcG^QjbXLkelgNIQn`;Y)jl3s-J!KS&o=} z>7|!0U%ni@hFF5O+7o>CD;mPfpx+Wp^udJb3%wzNx5Q#7LI{VAl|*?-eU>jVpjha6 zqMnvPSmAEAcna82O$bk(JexMz(M(TK-pW*Q`A<4nmlukhP0cegAKN^#QZ84tKHg^t zFOA)*AwMNxCM4CpRZmv=<8tqK-9Y2R;p(;5#r1ET%q$8k?Y zRYNh-hW4^ngKX^nWU?xZ_g$J20(F&n1I-;vRn@bnMr_T6@aYrcAS*=!)C83*FoK51 zg1#HHhYTN*E!A3OUL_=4mx>|?cg&2#7uHfX%hj7()xcW`U=!j5CbRpFFBRtst1HW^ z%PVK@yLN3|ADFOA`4zJROIb__8&~0?l_IbetAuwbR_KQ+I)~s=b=qI}#*B@jSV%Nx= zXo>9dbXRJFJ?+OU>KTO}aJU1~5(AQIKkK+P9g5=BHV zd|)j!ad*eDe4&O|&40Ct+MdJvapp_*JlrujNQx_fg;JOvn{cY>ZQ2%xn%~%}m6#vb zy936Vkh^r&RFTaf`T&sh6}|w+P=iz^8!}Xy8hcb1v<)WnR0{d@>Sb0NSb`7fo5}%O zNfE7_RU4Ei)jTj))fjFp%#I;dMK=KfHFpn z)YVNS6zdK;+(JZ=&HT!ncK zn}rL!4hn>&q?(ENlD_(QL?=7XR(`FE6z14p9T*15Yzv3I-BP_`WgmQJ_AVNDl1No+}6SV{TX*S_}h%P+65uSfSCEMhMt zv7fHLbvpGi5nEpBZafYmz4_Jin?89ZIjhGy0uly)8GiJqJBz4CHSRPJgnZ;10=z#@ zIT3-sGT$7mGXtW-zLcVj3Zg{ltXjy{_v@Jw*K}dg!e$d_PiY)rKd zre|N%Ym`*T)Cx!G0^>Dxt&_xHK8q~re0bcn%BVs^%^>nagC2U1L9E7PDYBznW74b6 z>vS}`$R?smBq0Q8@1QZzgx3DtLI?I2v5vuk-$>O)3#lsnC0`{n*;d*vr8~T53yqgJ z7N955B(HSHhtfnSidKB(s#ES~zFw-= zi)a$Ts7xX&F~zq~N}RO3(rInLFS%qEc@Le9Cm{><9acuz-y9SjLaO}uv1g^pX3`FS zrd6OlYfuQ&8hj&5C2VQQab7R^jx<)JkwK>3a~2d1WYJ(d;K)aW?fb}szR^X3n&@FJ zud9&DFLVi;N#HI>L*)@T%1_uhBt=7%6ZvI!D1>fQ)|WfMz4`FwcXBZ_2#atR&M>T_n zixGnyq*Z8_D{sN9Z&mr232yKiN|K0mB~JC=B^RD1$rr_d_gA;d6`t}4$k*+y*pL)i zET$5ls)gKDLJc8GNmiRRQ6N3Wa!*{c(32wvn=+w|s$=OX$nGXow?7zpE2D5VzW|7G z?+=-6G zLI=b%DznzTaeY5Mj666?noF}KNrEF@O;m>P;#YsP?!CyO4iRRTiK0niMHUZ9QZx^J zfNq*)rke8wLdcL}=mYW(!MQR8O$zM$=KWQ@j~Ik<=rd%Z@^K|UvQWp3CSg@51r1k) zCyCH4!ZJSzO5|Ii6w1wH5iov=rXxnU(0saRS6hZd$9cqOjPJE-pbDN^>=OqhJHzxf z=f^=+7^By$B~%&n@gS(id)iucQ`l}&fi#>ruJN81pdey+Al2ZZU|oK(Tv902YFpuJ zYf3~VL0#9nq(TL)rK~T%w%7&8>r~h^A()jECx{59F2qTbNNcH5N;(+4Ls3)>5)Pc! z*g`IhG1igLV%P|!FLG&(DAcMO+kYm7fRU4{S%zj4=of^L+KVTsz^;6o%?(;#sMDe{ zJTFP^;A<&~Sq$N#kDSaE67mT;uK!H^;9vY3#G~^0};DhFZmo= zGqVZ@Eh+|B!w+j-@kZ(dB!YIZ1indti6b(w#%wr9lm|7FBq3>tCr2fLOjlrq73l)m zuy@nJnLtdwF``TD(AfbBZ>!qmAHov=vZF&t-B9WwJ^e}_P|`4+k5(|!=s*I^RHJi* zxblwKk{C}7p-+SYDPq@z{-6ZaNv-Rv-_jSzONI!P0Y8a$%d;1EufK!H54!9%%~=f( zGP{5i7@{zUMr0%_7O5?(&UU}42X`HH%M8p?+ynsSw$Mq(OEd?-Dn&D$>$J9ze0WIUXk2e}iKPfZ2(e@xp5Pe5MYwLW zhNL7ap;e{X;GJ8hPYNh2(3>5dQd5w2Vt8hySiE@U{QAZVnbccPed43{-~Yf5e)9a= z=Pq1Y&sSTE&2~B4W>uU+K3H;;+L2?nP-PALR*uqwNR4O7aAJR@)2zTaEin@WqYDg2 zeAD@YHk4ariNna*zhxIPa?r-$6em2x8?7t8 zj~?8pvx%D$ed>2OEfjb|Rnvf|-Z#rUbSX1EII6#~^A7rM8_|(NllVp!JD?d4$TH~e zgs`kM6mUcmpHmJBhx#c#Aqk0IdIIOpw3>BvZqyAn?$w&?-3vX0o@)VBN>bBfsh%Xb zrGHok-Ao78g&@UfFrtIYfW+tnnVyM#py>x*hyp3`Bpfkf@&D}|%WMdEE%nr~k!RT^l>+DR(I z1UKpl%`XN8(m>sI`}$V>+7?{XCyQChQ}SXEnt-T-rGz{&_L?%K&J;sO{a^^#3v?_GTL*kbjgoV;=7>G|d5Cm#LqciyU|+nc#ojl)SzK_TUIyAE-(&8ikq zq{bpKC9XN^zuLILtOnaPkkG~a0vlk-p5pL7luIQcYvO3yrdgiL->b9hxKqcV^g-KD zP%6R12`THFaXe|NBDcy7u4af zsx3#zM8s1^@~4h2;Ci#%{OQ{p8;yp#jf@rsg)A%$9Y}HL7fdNKTdk);{sjUDjv5gW z_O)8QR_n@t3WO@nys>2`s_MCbW0W}PH#Nt0ISjgqk`~QFj|iQ#lhP?2`P3XoKC+hy zsgHsZs2+0Fh(UE2M^quUXNQug(CjqK7s?gREaAmSrbA=VLmp#aNNVh`9&juKXbYa_ z+5Ty&Aq_+eYICm^DFOw8W&!Rnm6KXf9NAkO+M$KzxwA{po;`xb^3JvD-+klVb5|>( zG7YYoX?>;wLWEghtiV?m$rr$Sr43 z7hbz?9a^r<7h0_buO})TJ&RtXjKd6JC$%)sM^}nWht%q=8=IwSMFWZ<0!{U8dVN1A zTi}hC97+%RhI#}ag)8O?SFc_|h!=`E{M0}9Zk(ul$81y#2|MQ0n0G+w<-`jaQ4+e+ z_RLHa)2p4r3R^78%^SSOQOwK-4S=RbkxduVa~#qIM-YmTMLUR)QaWo(4aL@-I^R6e zRJ7K?KO z)I#%sp+Cx>8zORAufC!paJut)!ex9jV=SFng~K>8s$GMO3Kx@crjctf)`FhYX8MZ! zEsX9N<-2##r?WhlKeCiZ#-l}qFruUxp1RQV`P5o?hO{{H-C#d{_smCb1BWeUh<0P6 z1liRAaFiloBHpO3w1ac!##S{>o*IK%Lr*D6Q^~OG!nzC3nN}*Uf`zcs zHS}?DJ>hmcgDPBaF#SSD3e)i#!xVOeF_7sJRp`9Nb4G2E$;gOD zl~bU3CJUTrn8(Gu^qWq-dH!;ENebnHL7!QWE)7W#0+TWh_`P}YCf~i_H5YhB;%F0E zFH}N-VZ3@!D9oc8cQmnAVyj1m1st*xBe7(dh%a)wUABm-#RF|v+|lBFv$Iv*;^;g+ z<3gfRVPffq5Xh1ZJnhwENJ!-#$}kS4ho>=XK8DHYTInGkNyHzLD2Ok1!0WBoPW|NC zL#y-m+}OBKsco<{^jWwqto#TLQsY6VWGB0>QKm0voU6iTY4NdytSzrdn#} zX-J<(qR>nVOK8r0x$nVy9)9TL*^_JK`n3xeU;D_DPoDkEnR055FVa@7mj2)W_N8-| z&a)$^z)41Yv_(CNI)yn2Q8=Z~%%+Z)YZoXv!vNb|rA5%AR6>L+85uz}4$!^W1yV?> z59zzNs2U=d9^g>mDH0YPJl*CyikowpRXzc;3xGZ1jl;buW$DZ+9HX1I-&aHltt<-i zv={glnqM?DlN^852|Bz3w!Xz+p57=kmCzm3;Q?OAd3uaAV6jf!K|O*X;Z81uk{DMy zQtuTeydfAko1@9d%B#hw^nX3f|4kKb1zB?x7j=LieXa!N!EErZY5bEK~3|H@_+^3>zc{le4t+|PI0vYoeI&(||+_uY4N^;oO8*5m{9m&?Ca z{@ho;@o(p^T)Mt~iB*t%7EP8HWywsd>RK7mY(_;E%FadO03!l=aM;;w-AdwEbH-@< zjdrEh-r`0ZthEu=M5;Q9rg<`R^Z7NrN|ozP_Mfs5b%+s14+l$ULE)gOhP2~Y&Wdb8 z))JztFv&r0L00z0+>im6@C%)Sws3tDiCRXcbM_HmuIyzdc@0gKrmUEF3B5@DP)-Wf z^+c9p*JA-xCLwK_!&piou&Sv4GW0b4g&cIRd@Ls=NEgvt393X$up3DMF(FIhnvn)B zCoLgq8x+cZNQ~DUtq%C?Y2|feH#Je*Y^G1Z9y<1!!ZN~fn++oZ4fR41Xmap93n-eC z5E=4p-$=DKm~voPE@qAwv&T|dPN7{Wa^`qVt7yEfS}e@XEiBcmL6T~e7lAPd;~dO(uAF)rO2uu*?WdS>ilw1cuNWg%};Qn zi4nSiiEzbHRoH$PwsueqRwu0jszEPVtBlIZAE^ct#w81)wHeA9#;NxerdKHaA|p?(e_lx3SGlEPby+t z$QQclJ8lrUCiZd_ln( zdS#PcWL4X@&a4L;FOYYP@mtkRRzkv;O(a7h=iJeIi~01{)r<97lMQJ{j~qLD=0Vg` zp8Yuge(9c*ojm8Y)Y3c(GP#iLu$zgEBftHN|LGT>{lrUe{p@Q${ARU!?C}$yeD%HW zyz<_UFWk78&*sk@SzODtn(tn}QfhBB%V}O_;Se(p?9wtNo2Zug8cV&oQEhGTgeHpW z%WNeSUpi=z#w;i0Sdecus}LFWxKzf{i{0rM1+CmO(&TjnB#I6tK=D^_%{+%e10}!~ z!-F!SBL8pp?)1m5Bufl?zJ1F*xmB??*4}$-&@Ic>XpEWBj0B8qz3yV z+!H5GoQOym3sxRb{sM9G#7}a2rOUdO6d5oFIDGuY7hhanUQV@8^>7)k@EnlrEa<@& z(0UIB9QqdRYY8Ff)Sw$g6vlOPb11=}PM>Sk%~S%V{^#ehek_A-Z*+GnZVZRrYe)|< zVv`*vJ2pPK+iI?3O*=Fb0~<_Y!&Mxt6=e&Qa&u)pomnWq9ZQ>pfDk;W&|uutBP&+I zEgL~WUTzs&Y*$+`lN~XJrmj{3RcNs62>D^m!pJEd@Jkt~L$Mu-lbm(zUCDw)s)A`MT4xeo?C}jLIDn231GBRA25~ z=na3V$L&=imvsAIUA_623)RwEYo*l~>^5$HvH8WvpWi%p;oFtkQmt9L<6qxZPb3zRKQnL{=c#uXdW3E}i@K?$(!IZG4EU$G2cJi;rwPZq`>j z4Vs$;CZadDKO78+R#hCjS!zwjxBKG_8^i}A+Y6EG!S4B?($gt$9Neq>Lld_Qc8N%7 zeZ&54I%awe89KK6g%F!%335a5^dOqxslkndwN4$V5FjGNLtISh{3H&Ky&~WJ^cIN4 z#Q%&WbJ`*-CVVk$Kol{{zL2Iq!-X7!%fD%aLfB1&~z4lsLwe zI9oFGBJ#2-iFL!`OH&7)B*6sIhg{}C`3acQUfHt`Rv@rw%`^9;Es)w*Zv@d05q~J5fd;CSX%Z!%3MVvu zS9@8eoWo27=7mawj2^uohV=}WUnB*WP~y;>q9?*J>}w=>GO25Gwus%qAjTGduFOrbi%!P?DXuUhFaO0Aab{oW?lZG{Exh34-N_xw=l^DJ-# zTMKrVHf97n%IsOFnBdmN_yE~^cnfA7e9I%`6jDT(GKEx<-~=M{;LJ!Xh<+-~;F(4X z>(Pnp4#Hk8j|9Q1vxYk5;?1ZL|07RG6Dy9w_=}wVMO4a|awCNVM^0RI7zK$jCvffk zj|?)lz?fVbIFuetfCkb)5x>b?Hdz&Fi~Z^L(ocV7nt8YPhw``&o5AkCpZOlY1wwd@ zQ@-rtBW{Esm?m*a#>B>~8(Y^)T^>QH-$=K9Lu(PUyD);&p{b{3KXC>@Z2d?~Fl^gw zxuU$tyK$jqf!$cpzBukQmwL7DqDQnA&Jh{ z+ApnLZZ0&&&JZHsjwT!H8`n4bwUtXWfRo$X!>_j9w~q4R&+L=BH<-Nl`JE3x>z+4- z9A3Y2;hoQS$G^IJ=jO&2^NrS8Yd9+Jlt#Tytut)YY>ldw8x>oodUtPqbsITXCe$`f z4BqA|y1KE;2YYw6dtdHaIMJMCI-3hsD@CEmYd5OPoBdxeG)L{)rCN3Mh~|DysPuFS z90lh(qJtwU^S8u_gJTAl)9*<|V2elMZ)qe>a1oIc@!*%!*A%w*@HN=ChfxOetkkRk z8p82As^~Bc36W+vG+Ia@0cEDMjSA(MQq^OSFT*a zy`)8T6I{w!P_X{Mf#Vy@%#_6ni{d5Zd#U&T0uVGiU(6u_v!{67pYrT|uLX|TM5#xT z5E}z;48w$EF6bvl(})k(WpTSSQ+)e=BIOyO?rW6CdCd*@$P|@Yv(s8$ zYOjv^>($A{dToi3<;X!ltx35yX%4D17xgCV&Pk&_uGuPE-P{>ilkGHX3-wNAYn$fn zyrcYVMvI&(+67?8a(i(dgYBZdc0lrRrk6x;S6$^haNoDtDKcFUz(**=g6B zPH1r-Als2Ux9)y)_3GN%^5V(`XN!(|!|nC%uYP@XYip}jb@I!(QsafW_G)+IUi(u)E_3|J+ULl}2^7UT)XPI^*rRx%ql&hucqz3pG9$YSP?j`m0+FbX3j82K=c}V;Y4l=wuHCH84O;9Z2Bn3|m7Tfao%P=B&uoUW zXLYf9$w79D?WIxKiJyaVb-7-@(5kPr=W08Ku`u(M)1vG7$gg)%cTeobWDc4&|3$N7IzT0Va9Q4%~jBBm=)y4~zrTJ31 z{lOQ1F&_5flB&sY5Qic%QzgUX?bpNFq*onpjY_S#$vlGc32B_9xn8WzRqK-;MPYYr znpthsob20?emGCo!d?I8kseGxS)| z4o2;bj#dJML{TgXi$elw<|sT+c?|%8-V?zEHw+qygh-IxJbVr#+B;c`!jC?Vg*`*Q ziF4}`b47w_NFa;^)^L8I%KrRJ=u>cH5O3CaFmb*JNV%p2QP&J1EPPY;s(^cglfWDm zh-kVaDnOC> zba%JA-n-Wt*Gk>x_QlquJMS|0(Vf*x=W4x1r+lGG0n!_<5AWWY+o&~$7nj~Xx7xX0 z`iu43pRO)mTwDH5gQzn3^6vOo%k?)JjUU%0OXXg7>-OJl?EbP-vf*W?RUX!ArQPn< z^QR-NR9#o4AiSE;}G(#5Oqw=cZ#+l}^xa-(G$SYLhp z=FQJP?R_!dTwLs2`teI|-P^ui+TFGyM0hbSR3;7fskPR*CXL|0S#w{utL;(q;#_GV zSf!g*T~OLHCu$`cHT## zUQZvDo(6#<_fyerxlICd=x?3aqo3&c7@A&XC zuZ%=7Ca1(64!H?U9%@ULL`mx4Ee*&L{kfj2l|_wd5p7`%1|A$7$Bns}*L;*-;Nmi) zO?d@J=aN6gS+`7E62=w#yhG}Ua}dIXdO5T0DR0=r6t9V2>=iZ8^Gl13$C-WklA(m& zLv$_xje0uQiTn}M(*vD?#R!n`&pe|*@I1(vyxywAwP4ak4dPyOTWa~ z23e$w^PR)gQxEA1mP1zR%**(-esqZci37$n#_Uq7?yQ3v>Dhhp>_O0^iJT+6>gN7$;xM>av4H`{7o1Yo#SX4ULnwZefZS5{Cc53Ht-Tb8Ix*gj_``zmLmSvCm zN@r9b?F@Fdx_3M6T7S4(DSufWwMW~H(r{-y=vRC9%7ahF{l!jWezMeAU1%;Wt{e6T zgRjQhJGIK{g-*3oZH{*OzrKBwmH+1Et@6faRs*f&47Qqo@_+oh@%Zw>O7r{Q`>h}T z=m)4SZUd-Vl^NF>_3yp)!_RNH$>q)N&h`HK^;Ywp-iTge5o2{H+^}@#Lap+nmw)`X z*Z#CxU1~D)tWO4wmp5;HIo~1HqybkKXu z5`Ys1nEOvt1U&_c;M##AkOnUo95=~NlOvmzGM>jG)S$B%gLSb{JIE<@WY_|c2;wg$p}BKoSPz1A&|~a<1sd}_ zd-alvq1v!+o#TV}wzhiRQeWce!LZXr9-~l0XTb#xP@qiQFdp&;oKOdi>hMIn$#ywp z537g~nO6R&!8?uC&Q8A@SIWj7?MRzc5kXXOM2uqj4M`{p4r!o;SC|4sVLeNKpae=%eB$+O7jnY`}hCDpZ#QW>x<#I z-(bOCaR%safBRlN4j(Jm>z5jHJJe@e{dFtiOD$F%pAE|W%jL;(W4_#4stjMS2ljls zzTBK&Z%l5lclwix@{cRy?a9W@=%$Ub^TWHtxsP`U+P2eF7wAgTRaRXm;3!DZya#%w zG&)9Da6noSo19pdo32apA~7?i;q~sZca#C_ZlN!}C z^|B#5U_%Tp*Xrz-u~27egmQ~qG9_H(6K81!88(}?r-TL~6nZ0Te{rhVZtMh^N(T93 z2#nkwHANlMNnd%TBZMBYLBdJC3Ec##HvSPhLI)Dkg;+9E1!hHz`loVcv=Q%1iYofc zG3oa{P>PyXVM@}G=^-xgCzs>*-W~{?O)6sc^%VPaO`jr_>e$JsHy&)GGuOF}jI^WO z5QsywRUM25{Q->?_JuYH0w!aWUQT$aj;n4S?&QM_m+sj)MgyWuwU0QftSiRbj(6GY-sri6c(B1_b$+r^8Ei8Xsn2a!CwJM0T6tvh zF*n)i_P*@(cj}d@Dh|gRBQ_p%*%L=Cb$3Su8Nxb3Zq#G1iZ8@R=C-Zj{=sI3wx;B` zM|;I<_RIiIy}}<3JP{!$N#K}mP%VyW+K4q9nEgd(0LboPn7xq1o4q9V=J8-ZrqC(( zo5oBNxF9*0slyH;06`&rN(WhoJ%}Xn9%SxZ=8#En;)3wSPsf75nWuG8fcq|eA2Ija zQ(K2z64Ab$xD6|I!oV%_$TIoT(}d3lmQe|x`tIZ96B(d;E=fK)EZ{l9On?YW!Fzy* z{;D!}XmpBrB*4+hPjsxhBf_sssQMy1lt60W*W_rx+%0-4{^u~9E;=v$Lt1iY4cc~! zG@8RuV=aZ8I%W-GO)dI4-rUz$>cnM!&ULiNXRk_V=8{N5PQb502Cm}s2tr9~bE#12 zJhJJvI#c3eG(xa;dTEkY5dY8^;vI;$+&Qz;DaP>DkK`G+fn5U5b;s+Ot|HyITCw76vqZRY8_Ofq8<~JKAa^t| zJrdyP>39wO*c@k&F>=XotWV}&+-jd{R`w?o->ElEH|@s`K3KP$5vI_o=RJ)6N%1x%vh?kcqqhwKJ;a&@{!G15V%-{qlJkgj z7Zk-G$vdQlRG?U?o;W_#(ML@A$Q5DwF=kuG;x)`rph2Jg{;*l9hN)0|K?z?JCL|Ir zn`lgP5*|TeSQUx642X3h)Yxv5s69a)_{fPogG|o|^}sfo2}}(f97tPbf8m*dI=~Ce z#2zjGp7fb{TwHtMpZ)&t zj@=U1-?kU9*}4#Pnk3(N&RM}}?es>Ue0tseCg+#WJIjWhU8T~mR+@xw()g!$KK^q3 zMw#gniDBeU6e7^L#g=+>uM3q1aiZQ}`yO-ae%Dm5R#~>w)tV4!TXN^C^W}28Q$6?D z_PTS-NZAU^W;G1EgF^S1^#LsxL7F-{wT_CvIC);}(1P(n=bV<=$MduY!2Xs`B zLAanL%quupK&3D^lRwBdg)`fPD;>V+O9W$m(u7e`!$3^8A|2X}fg$AC_+qE*KNu>- zAEFKpn;2}$DDzG!r+hss5<@{u1-S?5OgIw|Vs}a!vCj91tdh>oPg)lbj*Y8Fk)8Jx zU)ue#Nqu6>NJ&DoqQp_?X-)HM9yb!wT&w^)!p$~sZu296&!URvdMrZKO^Ajf4f%zk zvGWarqA=cgMi=Mb+?%nGhah8pgooAh#zwC<7*Jl+tChMnj+)7zvk8(Zrvt%aDv2is zWyZ=#92H|G=k#bn@CJ><8c9gCNq(5pjBxrzIia?wRwCV4J5(SO!2T$vm=NN*ail^} zC&hP^nGMp&SCdXmCn6EdS$6vhgX$u;lxg}9QtcuH9TVUcA&JUCys8HS|M%DUKxpHUM{#B=dp+?Ie<@)*gmm0No>ws*Cnze@BM?eS@VY{0rmjC9K zdxLd5Z&%yZ)%oRirS_Ab{%y0|dhz1rS6_X3jQ$py6Q=tVD53hbqBD14`8?Vimz@~r zJg?z+*Ma+UyTh$=TwPiJYQqwui&111N6J~K*&g&(+bix}bF%YXsrkafWp~ML?F@+| z=>B}Cu{)mM+HrEZ`(o%xnv2cm+pFK7e0lY&oomcQ#^d#IdC{c-t|v;O*rO?`X!+Ah zrKdsQ$erYwT^gxFJfCWL5AS8n4Pj*!K;qgsSd7ClBTM6S@Xl~yM*+_HjG@+uDC>wJ zZLpUJyER5h6viQz#;|}(W?ml&{RJ-$w3sip?F^YDaYTj*K%x+3oWf_BeS5nnFy;4v zkedn-Da{C@2r-j&61h!Vsu2IYV*OEpBs~T9w{Tt_no33uBHrKBqZ|qpLBZT3Lq!Td zZ&(7RqonhDN^{sFH+7^+6+8^=EIhYBZY9s`a_e~>gHUybehGO)Kf`7yM+*k=w0kK= z{-EUO2ZS1zPqv#_H_Hi3l?guifnp@!?Pnog=xHX+kXlBestdx5#lUp(240-X6t_PF z!BKz*p+ptpPR{aTyWVKjzr3{>;)D_X#%M=05c;F^8V)Ni%^CMQjrwk-*0n}5?&@Z>B~dqixXiUkcsG8pu#bItkY!eCU3 zWkf|B?+hlx9yw^RJs?)hEmUjG!Dy3R6WfgLcxPwOE6w$H`#Z$rI2*6gZjV>yYt@hA zCJ4%pdfBcVdX~B?jp~hNd0ZWB_9knsZ}rE$?r@_&>cQG-TKysJ6SWU80GMsg=YdL3 zp1|QVD2Bqq&r|dq|11ZejVfT0CnpIehYv+amNHUYVz7zHiVUV0OpwQ5Y(NkDI`?db z;1HIf7M){!Ph6RaMX)udow#_+{bF{8CBlk%#(Cm!76*962ivmyo0!V~Ef=hr! z#+ZAmNg#LueV0aIVS3Ob^>Qc` z&<7EtI!CdLWl!pqzH!V&$~-zZ{>K8k+s~LHA*WD=qwSF)93smfu>wNn;4S101x3+w zH77=vYD=BQ!eZ;zo$b&#$O;4~V@*C8FBOm=PUCHnI{}1XBGWz{c)<7&LMx)|=EJGr zQK1k`f^OA}Xfl-`pwC}XCUF@lA%95yq-2Ab|3Umu;%58eNz$K+G#VjskEl%HpKTfb zV^XPZV42aWw+6k9wa$h1+{$L(`os3Hd%ILVhj%V7tSl~`W7oF6b;|~-@}%W{Ojo*g zSZyx7dZT|&w^m9H9&MXbQAE_Mom#mwDfQcp=9`xK)Al`Ah^x$@Fv)Y^^Xw@UTcX%+Pf+a)sZ?zlXxw&!2$_sJn4+_+LOcwS7? zVp(KTT9~V}>HfkXe=^x7XVi)9m42yB{&7&)VBDvY>D1$%6aqZ)q1{^9b(k4_W66!Q zp#l7G{TI!-mwjv1x$@R{y+67a2Z0$dRLLjw_-?i@9zXRnm*V6J97i-^(Km(X2;gZ{ zP-MZdk|zreIcypb5W)LGOik(1GpUke><zoFyAm_p`%VEkI06l35e1`mkwYL#e~J+$nIcI^ zqwL_tXSfV_AM1m@DfR~g&)$yN0?{$a6`n^Y3h;T6mDU5A2xA8q;Y^pU=tka zQc6XTAVO1! zEhGQfR}ckG;!DULd*BcMrV}_BN~acbjoh)R?SxK zR;MvH>^B{U>vWIO++fAopajm{&1SXUsy65w)>ale?dEQ`#8zW8s4*mUoiG{-k}(Mj z!%d<_+m(O#B9e;DBQ$v4rpyrkWs{MGU8j-tEasFeEwt%?Qj9c~0iQNVt1R7&=@VLY*;~i70+DvZ!8yB_+ot9J34-02cv=n^WCpC75 zRz3sLagSq%&J_6~X)na!;FqSGOo&2TO*0(3#LzE0Z7bhNAfO|O{JG%y!IXL96jVQW zbgZuPO6v;bdbvzF!J<0LD>-4}!BW*sN~1y$65*575m@ra=K1d(YnQwMF z^|a*Y_W2zLAt29=8?|G^2TDI@ncDT;vCe{_W6LeKQz5Cq6m}AI_tCndK8)=HArS=z zIuFu^(0dy@H`n`!GPD;-utsj79idB)C6KTjR85*{)6`gkkDW4A!-a1pOr~RQXk9TB zZ%NdM`)|X}BNP01$GVTds520?4C6f%8%-D65@KTMgjA1vxF=10 zdeRl`kXz#ks1zHiRhz9w=T0wfY8&+2td{O#b4qw?J9?@_D?Fy6a2Ndf#T83zHqWBm zp|imzb<|76%bI7a`_;ys_437)&px~EK3BK1oa?wQr9&0h-7RnJlr}du?)88D^2L{0 zbB#u?Uz?Pc+w;q<>iN~BPLP7+8%5)tDSOnrCeG^dU*Se)fFf74)5*Spi7B3Ug2^${_vyuHI1#oFZ)lS|P%PmJLiN%-VV@QhSIF&^d@ zIpjE<6k1uU%~eYkNfy9)%)(+07>G@$A{YVMFkZH1%-TBS1weQ;4}Kl$W-94Wm__30 z3@p7G&x?^jq@)a^e1yW8K!sJ`T-jHd${AyakK9^Kiq7dGFr=`XC}6pX0l$RjB|ZD@_{L1{F9ih5^I+Pi#Yw-x?~ItoWi6zYv2lY9<_|I zNQw+_;PdF_jpi{*oU!tmwtKiWa>&sw83=U7aMbTJy({1Q}1T$V?rm%8`z` z&E;5)S}EiVorroUi;=k5Sbq?Pr2Z&(r42oYw3g>W2pKqY5q(M#D~7Ik9o}2tF_8>X zH36kFZdNvTyCGmWs3Vp?N>-+2k&uMe0i=HjIAo46L7m&`Qmfcs5P9|cJ-IU|$x9(| zNGjs@hfEV?cDp;r`qNO0AKuEpLrB?|!1!kq#5jxS76nu2ks{?%r5jonNVU&Mlu$ld8%5e7$<-tM2-p zUiap9t9qe1UY(z3E;{dqlvc|{E{HSPGSBU7x8{bWe+$je+cI9M_s2{=h!ICwKiXSp;lclm%7Auf)OrtV zNH_vB2u_}G-Op64pjb2aA*y41kVzGu#gLrNGszZtTH~Vy=+Ly))zy%_4sn3EB63>t z;{8DnNB|FpJr{4$Q@O|Ys-GKb_L&>vi1vBu8b=uB`7`3Ww91K1G-JG&#BVk076gHm}inL;c( zV}mq;Bj0Iuegb#ogdbPtoK66Hj+Z#-DitP(aSvbq^-8iwy=gr>bT8y3u!Nz|UnGR7 z8s?B8TTs%F@57v9I68mn(v{a=kJ26DQVFN|0Eq@jO>iJM;3HxWOmYeWRXO$I9vSSl zQnb{b%hmLDSbYOfe^W=5CcW*uOO3^k<~Da@6|K?h-EOy+E_K${!Z`w>S{Ms zD%<4>0}h#zo+)3VQoH?bf3C7vZFh*_!``NYQ+ICP+nzhuS!^^cV{c5#o3Wo|E;f8w z>e<-d`m#G*ZZv(72$<+zsnx0Xc1#Ttn{CX^EtE-4pE2x|6_f{#&t>hwEO2;Eug z^a$lqka(o9sbDH1U?V()o18p$r5Hu5b;N-%!c%f02*OQyB#|JJ#ajyT2q~q=Envt49uR9~mYH83L)Hd%i0og_SR-wtTcEK(-+l}hPvdGTJ(V}cY2k0ClNP*)x?R(753zafbhz(0& z(GbfEJ{$H-PMjIU@}3}$6l`sx-)9UJ8&tdoM-Q9%FhJsh_r-$vq!HT@k=ry-MA}7S z0mU-mw6#NXozxP31i~O~uZMOg4q^vyc!;bMmfhVQzcOvL^1Ag@ zQQjv6zdu_PrZFiCpS=$rW`S~1TBTEev&F32@Sev207`Xo$$GCnPQdSR2vrxg+N|Ol zR!*Yt2pS9<%4OHQdPO0~Qs3#^Mzguo-C1A1*J{~k=&cDDd7&FSE@mJ+MpT-U36ohu7}AHLS?X4rx&SP`ye`uZDpaDXjR(7 zi34Q@4pes_UaS|BfUQ1`#%z%L<>BVWxKwLXYSTZ@Y+yIhjFw_`i zk7i}AS5_)I!Y+v=eRH;Rvy=PH_0NgHd?E#o%(jX)&L6|WulvFafCoItfgRKKPO?A_ z=>ZQlp_KOC-Fxot#vb`=wfgREkF8R>9ef<4N31>rYtNzmO(c%ydcFSQqLW^viW#Aa z*XHJy3lp(R!~DX+BATZ*$SgH+^I^N)fge}h+;o8M_|l~pc6Q=iyUfaQ_B(g(5P_f) z%k_GUqC;ZP2yn*P9kCB3nndA+-1zD%H^@k6$$xEaEsX_H1>cX{lloAq3gaw;5D&I4 zDrUg0&tMko{N6MwWF{`~f#y1Ud7KuAUYT+G8nbvUJTtHlc;V5HDDC#`+ud$g-(iuh zR_n#fFGzds+DGlS1?CVC(b)R>`X`@!a{l}|WSs93Law)N-9kBzNOU?A(%RVAc;%H> zI~|(<2&i;k|oz z?@1nzoT}$++1i=5|Ci4EP`stp+pCCOKnlFkM69KkH;N% zw^d60!H~h+;v&V`xVN*pGn_0gv^T=IC`_U4YuR?bmqWou&fXwX#Fx=@@J6$R_Cg;g z?>PL1*imvwNUW^H?39?4Y^!4%tku6#BlZ@|RR%<-Fb*W9_$nu3v>F>`&fJL0b!B@S zH(bZQFnLI*n#y4Mk?X{0T{s>wnLBJO;UI4JRb`Cb8iNS*`vb3}Wa~l51 zC8P7_FSsatdwW~KUVQN~&z(DWadb5{X25y(?p<6M&y@wXySuyFZW$QD*xOKX?%cUw z{_>aS&!6}G85>AKMwl3_Vq6JcAR(NsR>zhzWms8RSy)(5uQW@pO1QGJy02}I(~OUV zfm4${66}-#sPewXoNWaD?2c1wkUH`D_3Q7w_Y1m#rNxy?mo8nrbOAN~*`NJqotWnR zBZ4U+A#l9-;)}?`xc;5*eD{qvUcYhU#wQ^;6P`(_g^< z_HX~rfBH}V30ftgJox_izxUZ^pS}I|J17ms{`%Ly_I&NNDsa4V(-5D ztv~+bKmN|Qzk~99KWKGxBkst^i$p#;%DG#&Z>_DJr#RW%+<4=SH(q$*#ZNx@82wYg zsMPDPzfQ6_PSZUW%yUSnNb6})DeK|kXxEm$oyqX-?z$}-Xohluv}||l;_}MsDw^yD znb9T0RuKa=g>q|DU)(KyF&Ophm3A|ZSDY-)SGx9xuIQt#1K18+!HsNtgY47?+(`2m1(Zio}*wPaW4$Zo%*~JLGBFh zEiWwI>E5BQjw{$`DrhxA-zHa+E~?(qLaWn4zLlo?VW_+*qX|{SiVizfrJI;M$F$(>v(J&^)O(Q5_2&K=-YRPjWu*~=@kbwq8p)M#na)tcW)gN=l}A{FUbmviwpPe-NTLv8NjKj3wRhz zM)BMDXp;Nj*B=ni2{A+(0dkblC!c&u2mq$2vukuZ|M&J|Ni^bHbiZLmn@J6rWi-7r7jo?N-uar&oyP3$2s$lh@1vexy@&D%Tcw|B9x_G){%GU>L~ zE`GUj<7RiAZO4!?N7w^7S$|{>)mm&Wua$3pG1%T@84~9e(O*~vX?5CbD{C9KodMdm zVq@tzI+r4a%tA?AwZ}D$B1e7P zbk0bt&G4;LNO(6je4DB(+T} zkY{B`(Xhw#s18>EKXG>y7*4C_iCaeVQt6uI|G^)uSnt^0-a;6^_{Dp)3;*~Z|6_x9 zF9gRs8=LnoT)3!db)c1$<>e)7I_yqfdMT5rL$J*`Yk9fn35X=o=^3FuqUD~9N^v|Qgj3D!=rhAl z19{(K2kn7%i?`NZ827if2pY5yv9-Bp+jY}gNp&=A+*_$FzwFTS+P!AIwJ=}1@ zojAeE1&YUXrvKpJ|5}>gpO{km894t2#4$&^HhvD zO~uM&UUR`TeKLOvQcL8LZ7fXVR=`RQm<+*L4B0DEHd6(jC%!TL5=%{D&d1Lg3`he? zB~SjGweXxoAqD0+BFw}Q?EBog^Dw6Jz`vSsOtn73EeUx_m~ko){F!g@9^OW+l& z-LxDRFJ2@l%LM@l2LM$f&iZSwz0Qveh@KgFp`6Ramf&M$F4G~E7%Py=mtPW+Age$6 z(U14Ap>WxUVGxA*OOfNHOBa|ZDK^z0(d66T{tg()Rh-n~TT@PLkZFf#1yX6{>zg7r z0i*4JC#491N!qXJQmcMV9M4zsBd8QJA}Ll|b!T(-H}1?;nS~n1t#0ftIuC5ZG%cBA z#3}ex2BqEMPS}K&OmZCHwYyqbtT{`(GFfSjFP~eS?<`v8xYON?wTxQz@++6^Qeg;! zoSK!o6Sv$6H@7hV<*i%y4Cd{HO1*7q1yQ4D#ulV%=VUMwZQ9r(X4JiTb8BO3v)g9? zG}o?m78=b)%WZ}=X_6IQ?50J1W|-6**llmv`}OCaj)zVtC$t(pO;mdN1&&AZ z0}RgSYYvBZW2T(1CP@Z3uMdVLDT8@dOVd#t4^83I4JHz?PEO-DUKvsdhL|!X77$$U z&=?Gi4KgAVNS^+H&>s7Kr@K)Ss}0i1Ox8f*1-G@zE_Z0Xat~KW0p{l+kuX#&=6?lD z<_?*y?*$4|yug!?g(orb2uOhkWFh>_ed8^lzfgr03dDd!IchVbGW9aMOCG8L(kD7i zn>Iof*Xyy9?;G6}K3HWVb|)b`XDm`vBXzXk&*C1kvFk+=W=RGBLUvl&4_O((kYMZe zARDhz`6$vL(V!!tz}Vfj;jmBlV3`h{EX(HRN@;l!6&+qv!Nrn(4DWGlw>I(wI>8C&Y+5cxL4bMapuf2AK{6RSQ z^pj8R3UPqrtFOL>-P=`d^OE(utJkiP2fq8=?;$EgXa>eu7%J3G*@xS@xj{E#*I#tI`n+-KK6|LCJ@c(HoX%)R<5oyTP? z`>^UrC2CJxID-Ek)=GzkAC}>v;b(;UaMOH!D%JJ2K^e*Gm6ClLAupP5m8%PkD$6|_ z5t}0l5GJSsOzf;>IM~=e*m2FFUp>d#F0|**ugp_sFx8~;8Vs*vjW(b%y+qz$-MW3_ z-kn=J>tFP4|HBJ!eel(LcL&`{qdwnSZZ?*PzjAhYd`Q(5#v)_3@b<)p-h+CfJZ{w& z2mLMPo~$iGmq(Fd_lTuxvT(gYWQo(FErU3llmt>LZTCm-e|1}s6GfaZ=BAZyZ}-m5 z{M~!baPGPxz&C=0W8_Y8w}2TEPpRQVQ>mR+qxyCz4hHkR!Hv;qvowjd^~Z9jk4jIr z!0}j}cOY<{UE#CDQUD|deaxQDdNyGK$r3DR?C#vXjaiFIk~_eVmu)j)VrhoQydNVr z^Al(uDcXe33L#m+7szJQkbv|d{PnLt0K<9%ua_LJXLyR)_jVaY#hpMFzpq?*U0S2U z-MgC>*Ky}Zj#6n9duqJ+z=nD_uwYNKQHK>(c=7Sf!k_t%-2$Ozpoc@8*f@!S;QH}L zAAfb@t46)y2n_^AJh*!Gs-4(~Czeu@V_Na6U%mg-9^kue^D=b77H9J3FD)ojZM&63t0ZeL{mQ}RC-DTj(vmKzSkqWIU*^gi3^yoO`*~<+7Ds565IV_r!@(7u4IOn zHUwH%u9{r3Hp2St?_hClI%(2L^1y#-L?BG2ZDCGv?bPu>`9s1ZYVnOkDPAh!1DO{gDRQdq08xZL0R8;E z>}!X8uSc{80${^qn<%mMv(G&H%b{OC^}4SS_Prj~6qjFl?_p&kVAG_|DPQ6BKbcj= zk+R4yxLTg`*(f`i{Hswc$E1@#5qlgg`_KRIzxIq(YsMa>x&QW^|Nf6g{~f_LMM4s5 zf*?bu=PJwGjb>;(34h8ghqB=$0YMvD3=1#6H~OcP8UKTcA`Ho4%TXNDzEo~JUs0n1 z;bP&B$~v!rD{2aiSpV}2UrG=M(&c2SAYo=l5I08P^C{KAk7%!Hy88e{NQx{9BZK?? z`_L!Bck%>|M5Ir%X%UY#Ju@~0VLb(EwrO}bH5>gz?rHottCRr?!MHui5N4d#cba648hqFOvcjd|zqKOG2Ui`)zZyGH`C31~=K!O}mY^qdP_T|EOnpv){o+FBo zZ$LfG3jZc?rHcF}GdMZ8pKenmnhEn>dq#x5_a-E-dpj;1;;L65(l;a35 z)QGf5z-aZ2H{PP&0AOKd(V@|?p{W;h&-hR3b?{94_kQnpN!x6S2ZPl={KJ2a+RgT4 zsuouKXpWuynO0sxjVyOkxKtuvf8)wK@4jQNH3~=GC#8R$Ztt9wT0dOQr`QhY4Wmob zr?6uy#zf3Bak=CCA2E|9+N26GimMY5xQYBi9&&sq9@e*Ys zu1rDFYBocUGD}1J28nK&rEs!&@NMqzJ@T+|W`c)U~x$GAzutB;j9!_71Q2Z#d?R zP@h%sMVDfBy?|m9pqx1O3?oF(@!O| zVUQnLf<$H%c%H}%9r6J7M5wS)(OCxm0sA-2>}MP@_5Z5@K|9q z&y<#O8WI4aK;|b5q9lG-@0E-o+#WKJwaEghqVkR(vXI^Kp z9`4Oq6!Aq~MM(BMF4}#`PvYxSCsb{SW#e2kZO-0}9yj)VU~&2sfIh_FJX51hyFLS? z?u~E^FcC$Rk(L9E0Kl1H#`A^przAo!`oJWFWFl2!;E@Gjg>l6X3@J%)cBs-bKaLV% z69wL<hdnUk-}Qv7Y$26atMCscg|%kSCgkHaJB> zYd{Dsh(DIC%9fy%owc?psi|jNQpDpmfq~D~uMw34VMqY6g!IU-VzxbV^*yr(k{nxv z6tAXNXYKd+Us-3j4Rmy9UPGYq>5ojp!AWYrM0;$LB$s0n-bOkwMQqeHG zGY%wp$A$Po^EL?#`a_p$5_J+DGrujII%SF)QGVPvBxH}Or-X`b(Pz>x#vXOCl7Mv7 z62t~J86DH*@_S}a(JVzs#*<@@iSv|!%{E2$KUQndE|3gx4;!5f_LLKbb9+E6+ik|d z_AB52{`Vn7DthpzKm934!@rJT42K$De);9M-+r6_>eZ`62XX*}lopck!)7=)@Y6$( zPGt1UU;dJypbG>V`$-H^ef3qGz>8FvJd*&j)yaBLX03}NT|S~V3vjOENw89mJ9hwteY+X%N@m%QG_d)e0d-w8>yP=3ptu* zWC6f4drlvfo@{|*w)6B&b~!M2*et*y{ur3CY4nQErqMl;V&ohTffW}<1N3&LmjaPj z+7S?o9b^K5z82(|k|cUbVv54#VLtKbm^LM+6b5^odO9ggGD^fyyg}{@#8rzbxFc3} z3IMxorL`(gst7D`eon{}%ExAkE=56LPz-?v6j~XT;`dQmo=JH`EmFa97O|JXEByIa zseBS31s&2{2L~r4_mjYIFx*+FCf;+oF^=C>8kKN>?K0t{yG_Zt{wAV=K?+x0q&wT906PvLSYKBurX-lPXxJQDkTUYU0tFd8;~Q_Z5IL;`zM(ubgE6UXi427IjN8KEAtx%P;3`cWT~N_8L0_uu)Q z-@$VX+qpOO7e*8eGF=$~05+SRz#s;_N^Z!)imoROIG#=tx(e_@_;E#23ob`Q@QOGg zfdMdC1U4Blu74{Iv|R#>@Uo2Z&O7gjm4&CgE?;KY`ii`8Y%uVX23~vZH2`o*sBwgl za&m|g$|CD6U{E6nMP)K3Vfdyz;UV!5L^PU`KnMeDAms)4_19k~BmsD=#xHYRH0VDX1$HX^^Cn1Te~^rH)G=k`_%kjkU!S6o@j@;)`Sc(R?i52$Y1wnn5DA z{0ZRcmg6CZIkX(raX+C~fBHH;3{m7-BxBZvea7IPCy9iEJoe9Fok3p7m_O(v<4MK9 zg|qD^YyT7wnDOpd#R#xig^BSWHK&9T6#RC|Pb0s`Elnt8kv=nkp^Z?I@J+wo1ek=S zC}G-7lVVbVQ-Nr4@)#hCz?!nBTu*+56!L^$#k686m+U`#KJ6C3*DPQM*%+jQX40H* zk6KVv^drkQY@f0t?G>y5!s{}8(1%UnP(V~;_JL5N!vj+obBL4$BE*P^5kZFtmG(;n zB-m!kqU_`kE7zolM0yEHBFpqDudx4zSEfRgQ;3|AqNl8(l0M1k@x^&9gvA|x@^gfs8}_LKnankYuu z0xbi-VDk5+io`pCW4-|sF2rOXPx3@zM3EIzNQ#a*K}<%aN~xiBUWfumfeaqxY@W=% zBSCVhf>F)-}pTZL^G&GU?NB*a@K9dk{U`$1Ve6)^}$3@L4iRV=?H}+ry`Kl zp-F|7sv}=pU?|lrwpd%s(A;4;dKphWWly2pav=9J7h%a7g5xU!5C%>R8iz!gCoB&{*f>=W#A<$8H z&}N>gB=Epr;31k&R2(R9JhHye0&SccDm~c(N2Zm6Ab1M@Bgtq6AkNQlP?8ZhP0qXq z2gKbnYfex6D9km|03T{((V3qj1&oqB%^Yu(Y6r z<79%vn!7pGBj%gw`~yI-{(`wCIY78kAQvp*3?T*|wb$|FJ5A z#w>Uv2@4z&I;Y$dbtQrf{XvMbab9igOGH07uRzb}_GH;(@xoGc&`by@94$f>*A5YM zLRN@*;pWC>9Hf{gnw}2o=pskPy|n*1`JE) z;K|P_j@X=8vnS#NL9$SCkvbQr002M$NklWC)nRlkK3T8e3&@OHtc3$B4LPb&8TA3PfHaktI+pit8uYJXdpO{WQ+K; z5?c%&n(@RWE|7<2Vj7Y*j7SnFVtN^Sy}U+9ih@US^$M{dTx7=qOIZX%S04XUK-3+# zmn7NKP1oZ?KAM~C_F`ig0HyPkSfyB35WRqA^6*TroMhP`im9bZPF9lFsaMi1 zF|nQkV2{=w(Wbfa_W=paA^T#B@O|*l!)tB|4f|x3MFw;mY$NP$rF(!x-w`sbbkIql zM)*k~oUxx&L2i&F$)*$56*?WTr$9o(8*jXUilh=qo`93|Ks1rcD`5hRSZgs%M%WMi zlYjD0ppqO+R;5S|%q!`KSc5d5<<8BGzpv$s0`H40!uP>H`>!WY;5g!Y5OqZCA)S#1 zY&_KjF0r7@vJ-G-Nda(R2U{vn*##K(A&6bn#^01V25s7AD$oS!8yq~fL6QO|fkdyoYMnF#hVnt5uTgjgfvwwJ! zo-ZMdVlzZ>@)9!`%90F#qc*z@kRpRud>;Pooy(E#KD0V?^VjrtL_W|!ApYo8|*TTP7 zqSO34+l-nhyC<$NY+R8%`)5N$&AuK8kdx;qV(30>v#~`K&%-%Y7hRO6$F#WxR52k#$pieF2 z0djmK)|qcVU`=6XlVr{wvsc?1#6TZi=BKU}Qey|UZ0DQ_(`Gd+xeNz@zW;00gP?&TGEUKS$HZk{| zg?yx6@&ZE!emLZjNKPxjSyMbCJ^OG+JRI_j6!me7ak2%D*#PE18Nb@*F7ccVJf@$5 zH}PfQCW2F@Rxr4P6I!D+xEPNeb%BG^(akXTX}-AtPgaa$miEcOQc+_|KpJvF@`%}T zn1;l;9cd<8ZX*^y&N4Q0i(|j>EE*owXI1*jCo>tLD zmF83-_&&aqcJ^D?_lg@IjW)x3%GvX1;3G;`h9=tnA6d5*SirHk6Ji>H8W{Syz zKl6QO6ah*Y0zm@HX`i8|;>9qPhN!)XV}wM(<2384nv=2|wq&otUR|EB{KszmC&Yi6 zl08;ixhZXKF6{qx5GpkiqeUj1LPGh5+ooRDgLuBEtkNJ;l8lMVEH@3+!6@~5h%0&5 zQplRmh|8^^wCR&1#7{rTy{$J6bc)07fZ4#}?`szOu^Rtt=5?ZzAE%*+fHtGrHo_E? z@o!OIY3(%eiURiy()N`I*VpOPu5G(l5=}-@+rRl;#o|e9zJC3>&DFNc9>|&yI(W$C zPR@pq?P?@U7duEIYtHLz^4Zs1NL8>?S1u6RObZF4)O?7D8iBFlMHV*n%Hs0n%W{;j zaCX^b`Y88rz`_3;!1~RgJlO(=p7?s5fz|p8aTqVw0|#Nt>^OHhE*m!n#_UPOiPh3kw zENPHsr#ml+4H?f7nhCTCGJ!=G;GUV$XWPt3I3?#NF41o=p>ZPbN7$E#jgYg9Hyw%- zLUR7w2mHv_f--a06t9m=c!~kOCY4gZ{W`hVUw_>$)_jkeh9&RjM$3NvYukuBO@8*X zpGjgwf9IWd{^BqGf}mi`cBq}_yWe`(MQdUW+BHIqEb?imP!SIDjVDe90}oqHBJg|P`<_BNA%?iq+l|{^+=J*99ytHzZ~o@W zl`B%^y|{#-?|kPw#1S%wr;WJk=pc~4`@6rBu;%WnTF6GW)sSqS7LgQWd1|QisWr{h zYT_rrQ}hZ?;Xe)@tSV_El9Vttoh+E~J_K3p$bsPxu03_rOjAhqKcfQafsK;_b7c%p zQM07~5S&K2y-Gg(dmwuf_%Ngp;Roh^An<7oELwo4@E@nLfRi$VJ|p+hBNELLCs2Ga zC%7MepL!pG>Y0kZU;b1quaq@LBkqWDo)PL1jq`9+L773L`&#^A=m$eg+sFj;1V&;{ zL$9uZgb={v)lhBxCM!@3Y~0%@S0gt1FHQMK5+D=fiP@1TNCam69FIgq0TKfzNmh{L z*SOFx$rEYcc$r#)yrM9`nA8dwK;!WZ?$`t*i+p zGRku{QVWkjcodRYqnrR_?e)PXIqutYLZzoc;5crV9s>6ei5!z+9tJBy3eO=~KBK{V z#g5;HTICrn^Yc{oi~`U-2qcT}Slr zor=I53l;5%gyavv%Bkd}4ONEZj1)E65$e~5OWVMeJ3;HZPvsh;Rr>?mkQK8&WPfTEjTZ1%b z_@_(A(m>8KSdo99`<2kv!<~X(cdxI%@C-=p3+p0x7X!(6)x$pInU6aRP$_y8my!F;w zJk$Vr$R{gUfFMIqOHgUhI*<<_Bwh&5+6a(drGkfM!Xn76TelpPo>dDv2sW|;7-|nv z3()}vz`_+3Far|#5(2!dn2mUEKRmj+KUz`FeJ$V9$MlZUd=!_@p z<9&FZ49Tfabu^XlYs15UfgKigS{v{w66$GfqQB32oe}DRt^E|Kln}sXlXa&tn1?dJ zxK0f~o?s#>_pF@YvHEcJ>Q$12Av}vIfDPN9e)=hou^%eqI#jN3Q$kB2AW13)cwk`2 z4RRp_2sHdtoPZ%W{P~~%d0vqrG|;#ZCSHI2b*SK>%=oiE`?HLYWboN%pD7!)2SLXx z>4B^x?Qi|oZ?XT7Dg3a>OO)JUQ!x3$$qAH@6Qy1f!vC#reM`av+xeJ*r=Chrp1?8N zb9%Sv;OsA6XTkRQbt+;4nTcj!?AdG40vZa-&{jpr!=8N&UVJdQI|}%HU`6iHgXApC%)#J>XLY=Pt94m(bWPDLn)3>hJs<0N@LVe;g|m+9MnK3m|d)@Lnn)&j?D0ld@* zZOAv*CubP5F<1jR#X}Z22nt|4&0#!+x0+#zxwE_DybU)I3(rHo90>=o(K^6GbRfiJ z4FmxKTEl#Pio(pXblAXq#kDvY0m!lfY=jkoJb;M{{A44*@USygJjDPH3H-{ScmyWW z2Ju3^l0XhXF$^4HCFF#_2^GJz{Acdy7C1cu2a3rqS9qVOShRw0BxOhS_rL#rgoTns zNmu}!d5RYBS^C<4^{Zd~^rt@+n7`N}_6W~mjekUv=O=29PNyVy)>hwO*Pk{1VU7O; zRB9MzazWtW;b6cqJT)>83Bcf;vomaC!u+$^Q(%BI06*Z2fuAG6z`zv+rdPd5v$pyM3E-^pkJ>WplPrOg7+Gj4diSfm`d=_~642U?5Utz76cJ z{_3yTgpxU=8VyI*WxoCGZ^N8xL>!Uz+i$-u3m&N;eEH>+4{uQLxZ1`{9vGq50?Sgw@{Z!vOX&W3HpklY|`k;0;e5UVZFl0P8v>P&H_pm?~9 z;3TqaZ*8xvu8;s~wbx$5tYpD_)sRo-5Xccz2r<$U3#1iJDw0s9xk1PZ^5R!Q zXQ2WhWRP#w&;0BJgAj9Jz^$Zr~~W2ev+1M>NR#z}U0E!&<=C;yc%LKC?nr%iqAhB*l08 zaQM+(vk(4Mz7{PIWSW$&$FJs%FYkQ#!KeTG|MqX!*S8#WmCm{f6b{==NHV)jisH%0 z-4pJ3A5Dh+(e`*Utk*h~i7!3!l%yJmq|+4V5@dnF3@#Y48EvKBPYENdP)3*M9LrT1rqYc|bHmAC zOp_g1S0lS9LXupP<7=>2qJnA zyi_bRWI-%Y03piYsf55VG){Tgr7kWkDs3hz05X+I6ad&rCs1jJ%=+YR=dCKpT4Ayz zp#X{`ttbHCbK%uOVU$qu)Kp2d%wa7FlG_*ia7YFa{#aeJ5A8SjdKv_d$8El1$b8&{ z&nK!0|JLr(W~V~rOZ|-hIVVUep4ueB)8D8R=SgxNQAd}! z-Ce&!^0D3F(hC<7@Bxq1T)8gyV-F+9!@}>UJo6pW0tRVvfHBq3ZV18(yAS-^w|ei@j+F~QkWI4Li@Mo+OX{{|x#byq#t|M* zj3fMmf15vG{(|{&{)UN(P{jP?8HZwi8`+Anq?YWKC3j0=H`#19xC0=uRH2r)uk*>9 zz-4uz3V2ljNmQYd;H$iuCr{?hdv2cZJ$W)SvQw?F##XDOS z9?=e0qn%j?ji>T7OTnEV`m@kKfi&^aJb^d9=Pk$HAY*&xJ}}WnM}Pg-ul>;<{fC=3 zZ#j`7Km=NuCQl-xX`dM*Gab{`xqNmw8d3biQ5)cpp3j!3`&_|Z&M-$lX!xM-^B@Qq zQOMXF+Bllc0~LwcBOfjU3Xqt5_Gz?HG}qnAO->ch)~ES#rdG_Aa)th8=fe-K{^Hkf zZTCBKg@)?J6bjrE5Cc$<78l1Pw0W3VT(rE9YeEd+#@$2`bPhNXutx$W?(nz+I%I)U z^5uqqG#9e*Wc1Ga?^Wk2FTQ-~K7b?g-|zQCP}81yNGZjK_Vqy@wJ#e0ogG!LUs=-W zX6Yzp8AYQ?mYBX8u?=#iMC*dGw0r!G%3kp}0wWfeB>)rnur#QJxT+=o$_nC}1d3nt zL?y9VV#2@%0&^>32$rgboOynj~5~j#Dm69mmQ3?@98yd3v zaDFng(#Ihpq#gJK_J-R}?>gy>eJ@k8{UX0<-VInGTgZbA)3WGvJYWaO7pVC%>w?7rAjl}=Wbo`T+lMnG7BeN5k33M4 z14;_POmg=IAOrPnP5Z;_xI9-}Ty4xPR&KBNiup>pQZCkV?NNK0g>{mJ2?^i`@h~p>@dkf;&wvRhplbf#}QaKz&YTR1onh(v&lig9C!LBDe3Mt zxYO-@{PE5A-@p33@4vcV@9mj>_vY?snkQCJ(|!oOoP@Nyc3r0F`$gzln|PXN01M2R zm{5rR=IH5WDw)p&=L{|#FagI>6AjVcAkokotD~pox>U-}p}fa%+uYc^a`lR5WYtNm z9k5VJochPdfUGXRF3r67{osQS7%DVLBAyz++F|a-=q(o%z(L?dqB;a>SLx-;msw&I zjPNMd6@L+c6mEfK1s`|E)q{D)ePQmdrO4H01Q3Q=B3ro^E?iK{PHr>CRhrf=ehj4a zFugEiXMIX!VH~^r7}AGv=(_mzcuD^BPyf`?6~;HPgOm^#A{CJ@Q~}kJC!R_ip4IMM zdgF~Z{>{JnHzeuM^&XpoyPm~TOc@t~**IG$&Sx{#X=aqXMS)G2rkGBK+1`-Sr|1J2 zRbL2Jj{pM#2ga1vcJKVkDH|Outt^$ArD}iv`4^wNw$-||-Fff!mDY5epE%x=^#y&H z5f7}AmU{H63j#o+P2dc^9I`la#3haaK1`7*B+PrS2`?RKnRfH^e7_o&1ID}U02q%IXJL8c`X=ZzC+qw@3fCnWrz&n@UacDbK`u5vz8$Uq@V`;QK z{P@Q|)&OdlVy5+d>?vjVg%4i%D)ASo%M$p)#>leTH z1xUds18xv(DvEs!Wi_&|*cYMX{>fJG=qehm}XHo4k{ zp-W^i2asVkin93N%nTC&iYlmy_^Umdry%~;yqFJiDQkxS?j1e$QhM|N$Ib`k5vETu z#?#B4WcP`Cz(neA{^oDE|NOgu_wR^K6g4l*JMX;X^?-swW&&zmC`1AvlW)>P1nEWcE~xbWWf>+f!ToUjKDUb?Dyc23$+v9Io>+%tvFHj1vES~W=0&EdRw zPb)D48!#zvqbqIAZ-YiRic;PdpV@LR>KLN}QgC>s!lL_FPs zA|l9?(s=%@Y%K@`jnq^GniO@11}G@F3qdpF;wc4_`-eyq3LjG`J=%a{=fm?vV~C0I zf$b#NGfqSx-yi+xM@pq{nKu$=2$^AMG<5+(B*Uy#A>8*0 zW;5u2RR(Lq*v5{PV&2p>FHCBiVo1?*WG^8sB}t4a0m{^i_5a}?{CD5}>KC8BaB9@u zZrvJo`-9D`{?*Nmk6UZCg6*U02{?dS63>#v^)FZ~pbhvTr;%!b4>qS0exuWTfd@%= zgA%C0G;-&@(Bq>uVOA)>0+()N#7`wyJ%Tw#ifmdyW>5yAhnBZP7mN?#82=tZN)4g) zM!i%n85=2P9KwT24AN1f`}MqF4(ZGT(GOId@|G?lD?HGoh+n!NPZ0`UE{1ZA$<(~T zS-L=%11@q|I}pf4qjtHk!MTD-?_6!FXb2N>J^=_y9yu)oH&Q zCgY$+eS;vrs^Y(3KS<^v5-lDaD5(Er;v`rhI9`k)f&`7kPD(IGmU$zLyHWA4G?!nx zc;VdX`Eq46VR-IO2L0~s&DPphYophPP56f-Mv*Y)!afP=fFS}{$%VQ?bMAaFCin(f zTw;^BX`nQN6D${r&10fi04v%QW=zHg{#^K6Hp3F8hqN*@F$i45Nr7<2=bOmsti&_& zJRwVafIc=!?IX?bXyo*5CX1#we(L#%42-V6`%O$sloBK%0T~8c@i>gcL?f-T(10QW zwXL8k{6>|JgHmcl87DqO)F@r;exnPgB1ZMd*{|yS#(+4Y4g8S_IICSEhB%7|$k5XW zu`W;sO(aXf2by~W^U1x54@^nh_CU%bM{sNbhi5j+!ywQ?Di*{SMrNRcJfgWTGO>qU zjKpPEvv7WrX=d#FC%KE#d!MDRAd5<=GFNFZ;9A`0>noZ8Hrh0;p?s9MMHm1BZV20E zWSuEh=1Dpkcft^!wSdJU*bpu7jmVWonQnH%ncs5RGOGzVU_cH3Cz?ChOH8|jB`v}4 z!fMoSJpYv!FD@_CI@9i!6)L@6vDMkSalNy)KHTbA5IfD^@fiuACo~}W+KX_7EhaF@ zSvzBXrp($Aa*L(>*s0dP{j zElT*LT{?Rt@IDDM^uR0~W$=9W-FF?}Zk_@-;P3h7n{QI&7cXAq!$Dg^0F=D}mfEJ; z(M0P4{TVQ?bND6#2o-67vakzVhUdgq;YB4;#UgrVLpVVL;N!~`V}!v#bn-Uu=U zUw!pemos$X;Ynuc{KIqqY)gK+J@skdizo4DA4U{MufeC?^5e?in;dT~KAQCMxZdxK z_Z53%M&f(PM$<{FKiX^$Sc}7lKK+{XbI`%jra%WL+iy_Wu!U)c@pKUE40-;cj0^0{ zVWTZ-JFy7_Tr!+&=cd-PEEID!e1a7sXy4%K8Q_LFj_~lpyhdS~t>>!kkJoGCY(UF)oPR3+pa16ahkt!#yFVxe7z6?MFU*eMl(?D(Xb}V=0EX;jyv+|(SAb8$ z>8Kq1HlU?2p~JBQeOM-wa7dc!ezpr#%6kW$K=04^9jVFCsWCSl&7cygP71}OX0l~uyQ*g(5O41hwML!tYT zX$A;_gGWQ(o7aXyXnHB;Uw{K>fXY`^I%3|P_Kb!Gzz)p81>8iae>ecKhz4NJA8u3;i2X<0DOz&gpAluR*HoPkc?FYL_nar$n&55 zvwwya4$`GW{^IHt$3(rcI%U}m+r)o&UmW~8 zGTc>8;;xivhp{miZSk0~WIUDJXo#xKW>Y`IWqCeVs+pj-DpF1`uE#$`zWnC?1r+)3H@ zPwf0%*`dZH?8;5kchNrym$57E$jrfSIO=2Nq6&8zQ?Ol_4~s`!vOoYFoIKD7u@Va2 ztOxZ^mm?;8($S}J1=$re3;{9`G^SdRMPez@a1sFuhJwU+8Ef$y`N!K7k7ZrTip-@b z2(n0#4opZ-i^oW;S~@cK!pH%dXpDj&6s*JI5;^ZGc>l}Ts$Dd(Z4!6ors=!rAOFjv z4LCe?;bD4tyFYz@bNXN2PlnY4GV)&7EJ^idr$^&3;~jU%y)!}{gqxe-BR4;nZIm-} zL6sb&aGcWj?ghELTTtYHOhU<|IHj<*77RZR6XK&ex-Z7V-21&{V{hD>K6^^g&0#wV zPdGg1#1B-wWZ=zBY?Rb9PKLccsq5@0p9_E^VXlBUY(d04Sa>8PCteXr1OfpEChc*i z!`0OC7B~YI!5^jiQ3mx1$Aq31h&8-s$Ng)7 zWFL^9Pvir&{uB21c{-mEJsGk4bj3jhHJAWA$*{XuKpXlmNntX`7qca1iD7WeY)>bA z9ekYG)N2&LD|jp}*F)3ra>G;ir_*w%uv!v|gv8P7ksVuWc8P&}7w zch>)YYh%8$z0_=+KK*RD);zO%zEHRdh~$8Yq#DK*8)k6(%L6O+H4T7;6fuxEKO^{g zj>e|yA)+w)+uOrF4dGS-l1ko~AaMyE3LVF5WtcBGWD!xoA(%u&o!masV9E&?CP68O zz#E~GlaS!8{klOH9jKS6cFLFvr+O)7TA%W!!Uay9R4>JhhDsJuDKAb3074b-zW1&~ zZXdKb&_FzBbh~TV=1ZjG^LoH|sNI`@D=YBCj)FXyX8=8EK9GsUsq9poUBY+-$?coRg2p|Z0%@*7gpo2^!-JL32BG9l1S#U$F4H2VA-?Pu}lX&c<^nkkPK3(;B zWO<_LLyhtD^3!e(Sz=eXvKf}~6%+URdNK3GQ<*oeXRd5yZrb(kz`}O;CW9IbEpX3U zH^UdMFWE3)XEXox%Jjeg;-}k=*x|AB-9Y-nq$%;PKC|a?_)h#ZOYZEA7(Y;l1lvRO z`b^Y0g-zF*p%_p5tM#Xr>Su0mecbJDOfvj1SUt*%<)@ZQr#MoC83!;T;FUYa!OIWU zW$Qbl66a}Wd5AC3;Eu{_KzRqJ4gV4!48kK4vX)mCpLzQ1i{}=*qt?w^AHMwj^XI?u zqt2ugX9+duOZjRkS1Dx6qp<6j+ZVzfB*B=Hppt+(GL!DKQ!6YN!`ZVB2(iOs z=OaB4)O-6Y?HpM#9y{$`$~{wpCT}(!k|OsT-}uH(ZVVfM0yUg6jP?dc!<(m2L_zA` zq=x5$jCO}h1lYnahKl=@8v{vm$tP5LYb7#@OKrt)Q zs9o^{t|W%Hgl()yo0(X&1h|1zaE3Dwb5<21je^qC`?7`wbC+=>=KZ-x$F> zmQ7RA%h`E8R+L8@aO~_#&nAWgKa#`RRt==@tcAk9z}~x^v8Ur}9|aWRP>L|#eum-Y z)!cJS%-^9U01#bdhJ`WOgprTpgN8#ierM0CF1{@Xt@jC`zbmJo3?&b|aiqg>r`x|} zyNgQEIjh;R{X;X;O1{u24?F!|TX9;>m8yls#`H|Hy1HCm%#3WvXzRK#j~-k;!ZQiR zi?GK=6wa{9)C7t@RDN&<3C0CXsq@S zZe3lubSXQxI-OgYlbh4QZaGD~V5rW(?Yc^<+1&uuXd~V+7EnffLx?e0niISFfBM zXNDW?*Lvd(hL8vLVI(*a)B|-?cr;0v<&6dxsANi=*CgA6a^^K62oPtkU^ZY0kVqdR zBN%bU!6og^u7Cp@gFulh0&S=l5YY@Y0&@l3uap!P5d;#I0$(5rJe5K(M0^wBhz)KP zWOy*=qLetctP#p$rBtj=qAU$&@Q8_aIK|5RjubU&xrzjo8m}cOc2TbovC+;*l6>GF zbqQ%P)ur*H9yvaMW7m_|`M`E%?YuNAUIw6jLI%g=1Bb0JR)+z6D~!~cb;ENQM#JpJ z!9v)-DfohP49f>A8K^C$z4M7@=+0(pVSf8gGcY`8U@YN@J-=95 zZ7!@dm(FZ&-RiZwgMOH43qZoZ5DD;f7?zL_TT?I|LU0$YG*_wjUTb|k3>$bf=NjMq z<}1%!I#p~`CgVZ*2QG!&WV!Ler8EEYzxbanUwQBE-un4}dHtu;%<{$M z-}?CWuRhxNaHGSEFuO8WT`Xifqtc{590V5=UxIPVvhc}nU5C29 z_O-8Z*NBrN4rzl7POX@+`16aWv+M!MfIDNk zM@=@h1~GG{5vD~Bq3M0V#>Pij9075Rw+;?Coc~oS9L6;As5|9^-<=)+0!&rZ{Kvc; z94L#qDPK_=id&kJx1*MGNh~laIw#(gNuWw~6 z84bF{z8o-rp;BI^g&db+4~08;$fv4lm*7@nAG4%kP(?WTb`*^1rjy1S!T6CO-^uLI ziLiX$J>Yo)3XB{yx+xOP5vTj3kA+-9LibajR5%>KLO_vAM2U=!r}F(ur0k_278huJ z00jqeGy<(34HYOOtdRm$h|5)l2!w$iAI%V?t5>=dtfWNx2uE-OR&eXvs^1=S$&yz- z91&+|q@W1|;#JNVceyH_a-sISj_-NA0U9Ef4E@N*T`mRfbO5MtkYGFLN znJtwI!%B8i;X`U~wuS0afBcp&x=Oymd7?Akx^nAhmHcS2WUGTrzqqkE*tqrH`ohw4 z*-{hgFq}ucv2gmF6|C3Re|7W5&zGxb>V;Z1YkkycIBoT}Kd9C!lT5umo(v|#W^qt! z7I}A=1_?eM{rq^n-MO|_JY6o@LOnO#-s->h+MDI#q}gnI^Gjd)z3=}{ub&;Yvm2Yw zTwlMjwt0Kd+B#iW|LEGa4>xbMhl6%6h&W>jI8iDztL4>|g-e6(`r2e%Dkd9@2A8BT zl~Z!=RcWDAm_xqNy*3c1?PM6NIXI*fqtgXaRf(W1heUDNA0_b%-SroJr z@<2)E>=}CD!UeDfXT-Q6vt|TOI0gYg!1xi*hII+_$TBBl=0(FIflC}r<)}pjacpqJ z78t70;@fCYk?7K|QjsBy674Q&2R`!1@srY{4LIThPM?ZM8lUmmho!Bx%s+kU;GPaM zR&adD_8guh?s>=35Bg~KF06V(dwE3fQINiTVW#yBjJChnT!NDshD2}E|$NKp&ClDc2)B))%q zzp?KArS{8xLZtL)1CIDgJlY4ppFo_X@9Kfr`S&KqlwG+88o74yJO-B!DX2Uy?QAiZ zZ_MSYypo%R)2pYyQfr*8H_k70Zf%=PsX8M5^mMwk(RzA$^yczhw>|Wc7gY9qt z@WR>WYR%e+H9Of?tk-J)>c(cVc{)?5P1if)>)UU>{{HKi|1vi&e9#~L^u3S%`pu6{ zscH1V3unK0wL5)dZS7X)X0up5-(1R-`g7U-a*cqHQ55wb{6}#fI98Q@lbfy|V$8L{pIK(r3v~7-^zpEK(6}xiN^j-9i|K-sG z96R3!@%vmp{=I+vT9`hLShNij88cUCZRp-|qBp zx3+j&R7}5QO3i$;kgG40=Q)G4Mq7nUtx%dT7Z;nQh5qDPHh1gP$_sPdQ^jegoGTad zrf>3t&fwPdTfcncjf)qbT3kA1(qqIhveEjxH{KkyZO4(R*Pg1bJ~Q83Ev~&)nVf0N zojNx+KdKH3H{a`Yuk|~d)Aq(-I_!qs&e^?T3unk$vC=P%Z)}a)#CHAzdoX=E@mU;$jyigPBUoL zTer4G*-5@$=}tEKopxsZR-rQP+m$?1DHR6wVk?{3S~$H@8ddVsbNOl2NhICUa6By) z8VmVJqqIHT`uNx5UcXYBUuc{v6~g31e+tCpi}?%1{8BkvHTTgStd|Spx#m)#T+I!( zxbgM2I^9X;>XoY>y#GPJ(_30uoomdE9g8u^bxWn;plgXsWA1#Zd8sh}T+u-&)7GTj zGu2b7)Ss>|Rg3k%d;j)yY(ov0A!o66Cd)_F7713*PK%~##*;FCR?dTAy-ZvpW$q@d zWGPMZ{yF8PKP{C@E5&>$G99%i;}#Q0b~?;X`x*aE!buOD^uS}^14j>VKzS+di`~2H z^0DvpW7WW2oxdLjN48(qvFeT;H}ePuwNNV6n)CIQ)k){th~IrJ*K6IL^akV3c-U}~ z%2uPYQp)tJQ+tTtuFp3MgKRA~pPy92-nY)F&-Qbb>|*)UT&*_Qy1700xK?f~Ek0K% zmh<_o$+%m|7ps+LO4-HSVAx-~(jI)29nWQJ^JN?rwCeVVKB6R{-GS{&HITJch5Qp{SGW3^1J zQahKiKl-TEXWp1}#^X)!#kpP6NwVF@j?TX~dLpRz_KB27D5a5q?B^%vWxsc1yEkRe zp5HU^*h}fr0~|Y_6R}PuJI2$?on$BRPp=1JhsVxWOZvj3DY5D&{JHGxjTk>zhm2bG zIdopiaPiDsZei{AmEOR17UOLP#;><(yCT`;%h6P`8e-+iw*!H_jIG-+K1@zxd$KbA`n+$B^=5PEnk}C=Ue^F4{rT^K3A@n&NecY;-rzY_eOqlrhLZ6A~&{gcZXY}am%)1xtyI< zxugKIVL`$DL+tSML7WKcz1@{|j;t7uopvwfo+*}fSh!&w2f?y@BjqNdw_}H=5f3kA zzLOwwPE&T$h+FfL5{N{eF%pYJ`WTlhBE%vtwT*LVnxYNboREA%ld_F1j17)O;<^=g zm)0xYDjVx!u#M?f+1Tx-Hdl*_abnf8|Hg{aChe>!W<^#z|k*5>x@YT?(_a=GUS*kQ51?by{(XS7i%US|sc0Blj3$!*MW_vpWt$qj7; zIvw;r-gx6o{%pB4pC1oumE7(2xK^%Ah7a)*t-vl?%^2bMEZwc4xxT zBMjp<-pWpLrEzn<{EvV5-~QQ8e!4ZhF`o3o5z6^-yVD={wjIBcY{|G{ZpMJ$8*edh zEEX0!(_7s z=zQ4W^kE~1yuCf_UaBuUBNmRCH~u;i)ENc)5K?NriDj-%Or?M=F|~Y@8m4!xUa{i^ zh7@+(V#}HoLArqg0ZKbwKm+hZL;$jE35p>yid>s5Y87k+W+AjvJUw07dK}xJ;|Bxl zS7llL8Wq2_wOgB8E2}G@k7gjVl2+}=B7qc3WPkqipW~wzG@6Y-rCO^ByM$>N&i3;F zK5&-x-uv%ec=m#dG!?ytzK(xGkF8s_X~(h#e6j#DZLMV@bE&@w^N>iBIA)_P~stKO?u}O*TtknNOGu zJA>|aewZuS89aPNZJBi_=Ie!GxzEzkZw*S-u%^{M;y&6;LvhMAO#lEu07*naROD-u zOrcY`z1{9*3wB2u4Tjr;aX6PGpX-&%)2&X6w`RTAv{Prdb7S0F?~U7|$*5K-S^H|V z3%(XPlQaYV8&93S^y)XBuh*86Q)I*WEMtm4*-+O$UCp`7c6+^A|0uI{d)O~j%z{i? z#Zo&z9Tl^VlU<)om)ADlVeM#luN&D<)tb3JH<8j@cDpjU${Eyt*8|&^Vt8DM zXXz*kn1;3k2W8CN=jyeq4xp!rZE^7@fAS~sL=u`CE2zRA8^+iO6l^L=ZPWTxyU`ec zzz5(^*2Wv?aadVidFI(?{^BqGf(pkwge^uzmmL9|#)KHO@iysbf?2@8cI)7J@$M*6`SEvzifTiS* zltlTENYsAxqaTq}Z^&c&@E*g49VamU_;hbL0>x1y*{So`%67q;6s*k9JnBE3y=JTP zQLi7ila^F1m+GZbp*Ss%!-k?zgIyb^Tis6Bxyzp7M!}p-!;G0GMkX9H6Bo^Jnu#M` zCzBD!4jU?3CsN2;`e6ylc&=J`^=q%rHF#@=Z_u*CxDA1caXV~no}HGem2U6DwavAW zS)58Z{~|XT6|#Vitw$ZCGPvDdzqNhC`L3$4Avv96pC+d5=@bU)P94gYb@Xeu)n6YD z+{h%HzhV!vV7eHJR|*=ODdlS%R~=jDFc=dq_8$$XDC|VWa(>`vbt0$-?y?6J(4_`U zh5^zcQnr2U^0EkQLF@Y^po!pwjXsGX+XL;60Mww}BMyKqeD47S(gl}_psZG^ictB$ z0h@#rD&IC9C=o>42B|TIYbJPM8!-?8XTLa0w_}GQ&_je5IJ=DdhG`f+c)BFv;Dxvp z1=WS2mS~|kw<_7!v?Rjffr5;_g(Tg>sRpRC@A4KB(93n}7VI^k@SPq9)w;kv$-j zXc83GHaqzP*DeWJty+8gowtARgC7vP6TtC+9^5B8KAPkA!t8Uq4@i!^@c^Rzvvnh- z>bxCaV&x)@ZYikaNSuad@6qXCH0lkz!?9h@nJ1cam3c;r!UU*rzLXPB!a44PUdwl2 z@YS@lXVDOBTV2+Wu*vi^9Q+f`R|8GJj!M4HL}JCOJc`_u%R*!Rm6yNJ9duxYN}1(( zF6?nWi4)|(xFC(?#OGbu_M_ogaPu%us~_caZ05EM>wmm`?N;lCC;$PW*b>Ac^_I|# zr&~RCim;g&gGs+NyxkkLfr?6gzMU^RCU(dklgU>Lb91F?qkQV4)s)EC4I2P>SsVrF6{kw10Vo0wM}( zK;(lA4Q|R}8}|y6DtVXY9eWT#wSh4NRr@CA9E;X{>TBO`L zf|wrUt9&>b59nUIa?Q;%3{(rnj&o8N2pqC%S!gEDUn4UeHcPpMxz$R^ytva?N7FoW zNIjQd8}`TjVY^_@tn6GVS6Zra;@ozM35CrRVuFOqcc5Bjng=mhf$c^;&a|EAxnL`< zT6w-wz47s_Ti0%{EUunEf0lEI(Rnf)=bh*>f>c7~OZCNmpMkLIWcgfSH0cg(PCguV zxpO!v_QrN^Fzq<`1rixga~8mMN27(BeK@*ZIA>ZpRXa7DY;}6$A#+DAvrsLzCXLQ$ zb2zeJhkeaT^>X#n;um`34{mkd8#_oPvptz|5y)DXYdy;yPr`kK<3v#R>6pEfQ^`z( z^k7)dm`Nq$ON*y`s9poCL@DuE_?74vJ^&7kx=Ka;Z9qmT%P(#baKseF*%H!RmoS7& z5!|2(agr%6#PrAq=eQxM03<=%zRPB#$!ZrV{jziTRW?EvMhlk$N&)myBa4NW04UOF z2i1W%kw!r+R93FW#0IM!P2h5n5Nq63LgKEJcq#o5RqV;?Gfq6(fJ3JX`#qIex{`pB zxj*=WKLD}K=Mhc#6wjAleu?Od%);c!qzPSrPyeJTN#-ZLm!?0-eRXI-4d=Gg#iNla zmCUHm$!(a=cBbQ2zmuoI`CDeQ&2nM2k+0Rd-Tr86i#4Lgz+lHP^AQDS+D|5Sy)YWr zOZiHEV&0@usyL_3CupP6m@KWsE#Z-4#uFMqjQ zXk;f=Ro@S`voN?vK6;J>Nm8yv0Av#rfVA8ef!i5VyELjGNB`-v3!lG-wNVIK+^|F?9%uwd`@U$52TMHc``>8 zhCh<0nRW$ku{Tn-yDro8{Ug~*vC^!}4ZCZr^`*AGEBYJ#!S=9qtC~Ay&U$rWbzx~` zTFS0%-QZi954&WTVj0e5b7vPX-5PF}@{W;jR7(rhQrQOOm7){T8q;jQR<6E$;n`~b zd}*@K?zg#Qt}HFBE;Odom8~s%Wmx=LDdmda{MySezx0LCpww-TijIWsazAxMEmw_T zN*U4qqhho9bbn|^(yGNXj1b|olYJwcPRpp#$mDBwJI^^1Wis9xv~#7Ztw#IVTD4?z z@`b^)KOFU&<)uoo39<|((^_e%KPnd(P^MPa@HWZ(V*PLH`R5&DT*?&Nj%^z`V9r zxEetpzZ&rOfB*Mz0D6@g=RqHow$1JJdulZ4V?I$9A8e=6_qx61m1UeY9^k-Dy)IR4 zR)rI5wA0`mX*8Hihg@vc?#9u)_S$PIaz_UR9G~>#j#&D1;d6>9D77MpeOlpKTwBpI5!)-$tV?O`Tg z>W#YFo9m6r++B4oSM?RVCmyKpW)u6_8yxSTC4&D9&_!l~5-hQE<><@=LNs`fd>OX{Ix3=Sz$E(n?{}V^(3FZui<6 zKb^Mw!w!fs$~Kpqt9BWISu8>sjD{RVw+5~Dcx0XIXxbZ&xA?a5WNGF4)QM@J2R_LY zLEW>99-)+i0zU42wt3{y0ui2ea4!yCq5uSwfOLuC&;U~bjSex0zx2{e5i}rH#4{D4 z;J@;fuaH}xf64*@vc&O+LTGeZ$P~vDI#IQBiGc&Z>Ozrg1v2!Jr?}OK8lx1f08)r+ zlHAbL$+TLlT5kdmX#k|+j=&4KkwDeb#T`(`)M3H}K{UEBjbQFxe)o5O*DOqI5}pSQ zv7)q;=B4qS5oG&i?Ie2)<3|s0?CeCH{*e6+ZM^>R^bh|!ObhS*Y!<76@ zUdc+tm(ORvelAm)<(VWk#%eVojoe|HCjDk5GcF#a$ZmB_pk`(P9I=LbAH=;WyV~+Z zT|R7YgxL^-SY@+wYmgiJgd21_qdxZy;JX{NeK_pB+aGQZ$5xl*Gr4lMoO3Q3_x)aX z-I$-}bz$F%(J(utt$UjrAC{|wTD7^9sSZ;;3k{#jvMd(K06gB?XIt6iNrvQQ`IQxX~Z5M zlYkU7D5dxfrif&|J4jiw>?KBGBOw*QLO~3rOQh_TVr+m*Bzjx?LNUcLu6^ZbTtZSWJLl^jWzm32Av=fQ5_~qK_`(waV-HvRIRwnLx+@M%HiIWH0x+Z zW>IcO$$lZ z>Ic6ge9!z zo%@qPX3!e-J0`>VQ%=IJ-u{eogU&SDrs4T{Wci9#E#=_6H|%!XOa_WuMrx$Y7EF1J z2JMYzd9G2YG;4J$QK?@ilV zquTN)Knd$vg8hQyXNh}htKaXA`co)j%DH14Hg(G7Z4NRVwFZ5Aa%4uf5t)pJ{_Af! z_idW#IRz%Ht<5B!9}_MeykGNR(pKLh+d+W6stucohRsEobUHj#-ClN~kZ>_5M9}2r1R2bTECNc6IDzmr+%#ktUYN0YYNb_adN!QfNesq(L5R=+=Qa zgGQGaXH_J!F;Mw}bf$#}GH?)F;xB?#;FH7^Om)BF&_iS>j=6xo)9yH=N4mIzU=WxR zI|qRxIB1*T(k~iSNY{*Ls*xV=h0TM=%fde?F)I#^)x|caaS?oWUZ!zPP2)!^a&R^K zxZa;<6GLp^jE}@nOKscL(71S@KoZV1Gpo+!>}77Xr#`zJ3$Z;2gW?^Y2V)m7OGPux za?c>8CdS)?%saQIPc^g6YG$h&iqA8v``iP7!WTsVA|ei<@GH?e$n0#)QPK?ug6KPY zKGb|<--o2*KHZ*-?Os@o50it80*z?eW})5sertL zu-0(eDop#b2cKVKXEiQBM=#Bc@wn}YZUuzAPYx70>lIAz2(1R^d z$HTD1Wt87)wXSuBYGv3^+-@QT2i7}?t`kfs9#46iuV`B5b0wx-EPUmVfddZ` zG_p1~Hq~MmugI2VC1Mv@>?Q0U=_Teab%og$jkoQX`_d`|A}k_uBbKsW*CqNHdwUm| zeh|{cSvo%@e#|2WRI`uy-Rx-I&Ih(5d3W@XK+#^xlg#;f`you1YnfM0XUm14(cysB zAmER`y%sJ%z0etDK5k8a^1*bWIyGXK5{zP2s9Da`%h~SGL^sd9fIq55I3|0mV=-dp z;zIUIXFknl-M!%%JO3{E6a9ClzVeM|y{Q=rTN@2K^<1r(3ziJqgj>A96j8|yAWK73 zo6gS-%i~rpK+oyO?26-93;9h3t4XhtuPir9&RNZsGmXWD6JrZpFQ)x!t!~*$f0~7u zS4#^opE}*^b#8a^8y#DCv~qPu2*J2Fwbyyh06VB}Z49!79y|eKSR%`dbYZS>qjhW8 z+UjL|n+8L)??w%_*u>J3!6@4+nHdS-z%8?X%+EDfnv0MG$5SSnyq!%aV-Bi54R3QH zg+FW@Rw|T>R_eO>(sO!y5>pv=073#S!=vc!?e;=N&BLtLVcr2D}Ob1t&9goIG= zegO+K>>L73ue#_6!Vm&gxI`n4!(==GXyk$*vVac^xnfvKW5o&!2O165TEInh>Q#{U zs8X0i73xKRgSJUw+W=p9k46G*Q)+o>8CwWR(6C1(0<(1fqpIuE=5w?GhbQrQJq#mU zf6S=BY7k~s3c1Y3+nM=Fz#RU4+QCVk94uZ~v5^iByG*laWngBb2mNHX`Wc?EgHcdF z&on`eWSa#o40|8Gy`XH`}dZtwHr$Drzx^ z`Rk2t%X*b^A64HroK34^ZShHg+n{rPWzxQNyVv@-!{9M$lm@5jtjb*qypXps*SM4~ z4{fAmJF#*Ja^N1)tg%UC&8TN{?ZK!!fF|sg&ebo>#4sg~Yqd%@)4RQ9#$;5fGN5I9 zW_LP;+Cq6W+`4h&Et{4X%+Ih^m;AH%utb;9E$m;G zDfBZPFVQd?{7_97@y#$-6Wmb*HjXTiRqB^*5ay8F(e`M2VPx<2$z+fmdJo7PFr<=s zBB*K4J*1S<(AI_exYxJTt>?ysAntL0=}TWy3q2iE#4laC#D9~LjwxIpB3_B5;xE-s z@hcu9N>TGH2Y>ib%&f!V$zV1(?tVxF@Vnxx14Xv5W|VK_a$X zrHZHylNdqll2rqN6n83uNlGA5Ky&)cX_cCS1fEL zAFECugGd^mu~k8i{BIOI(2(UTEt~mxE6i&|(-%+A&3-T^(DWUNg!O<7;}+91Hrr~& zg-Z4dE5VFmu(gGP+Pb66VkPUB4LwYwOfyThta%pSzAN=$aanY-<_uv*kPzR2UHl~O zN{N@p<89gV)@Dykg)@=UnVv;t?ui(;gOE;h-O-?H4#P&|7W9P~2a83bNSerKaM9u%f51vrhXhg*SBl*ta&rki z2ujH{#}O?SQnW{|6qGo`xf?VXYOpNTxr~ihocSch6KYpnE19I}_hb_y&T}|uSnEtJa*1Gt zphjVdFDo5?uwb{yq(FyD+@1IR0Sw^jQwH1Mo{@$S4?E}WNUR5g;wLHiKQP=Q_75x( z3>!!E1$gkiJsuRM8;0x*SzCgRH~ZTR5A?2GK22BHj-pwW zM#xg#F6Yi$Dd)*~82uI+#ctSp$q1S&l=7`!m*!?R=#Pfbi!&}OEXt-ja?@U7ZvYl7 zhzyPlqV(ejykRq^fqm zPSMI{Ed1U17ToWFoe1jvdgtNtXkrrzPz5#sgv+RmNdVnUB)DIQ)Ay7&8YzB}aoa2u zgN9a?fGR6pS;Y3b5V?5qA{Fa=E4lDN^y?JCN)b~eCOcR`(9`iEarOkZkPdJ_5{OkQ zh4@B)3r!WULQHy*McKe4HVj+DYS$R`x&>r>P?W+)BA!w(7eurK?lD`WloZ^;t1_K( z_z*`wdx$NWo&E?>9&Nx8A54US2YsmVAzAtNOfz$7HJAquC>4+NDJQD~8|BQk?deR* zVjpScyO{9>0iGV{gRqUKEZJQko8yJa zwqSMXaAX>LbGyIU-P-JL*$T`~T)AocRDHqjHL(tu-|p8JYmH{+ z=Jj!VTWzobyT@Q?&(MlJq!%~W+tqTV2>p1v!4}A<9zblcQ!s8M&LE36A>)UVDe&zG zRuDedj`Ff)ncK@v_+{8@W0VJ36ad5w;8+Q&{9fgzmo*I*@r&2462>#wI<0Uv(pB@QGsHnuqkr8 zejyXTeEBkvLDSRFV1WQPQ0Mm166egpTOzuHpy5}+O@#U3`RAXf{@;D~U1U&8^x5=l zvIaiD)2?5@hud*qs*9k9_lD^k6(Qh6^3|_?RkJk}7{U_`oS~^2rWQ?&PN15hqcrvR zfB*O2e*102*s4p_TJCsQ7zO5V_uz{n5weJ2_)q@HKZy`(XII}F-zA5UAeF{lxoP^n zd>-?ZqX#(R`w+WTJiUzZ^m4|2x6LFUG@na@rNKThhzeGwJ0l73s!AsXGxZOs)imS;w-6Z+)uwi)WtAgCi~H zoQ<-U%1%0VBFNd8t2msL*Uyv}UYwr(WvNvy)|$2QbLUFWpPe60vNu{eYpU6PpFVf4 zIp4f?d&4#z0UtP8bJ#gmpPN*2tf}HYVsR9GLC6P1yMz*6fBkiCr1UNbLTyv< z00bBTC;$f_0(cRP8L?_bD0>{>6-Ee_1I77X$W??Qha1!-t}aFewTM&v8cf6(HYDON zMMa>1O8tTekrs(U8da};SFp`d~WmZaoMwhfUD-aJ7(nj z8^c1@@vzXs&`F!qtnES@xq3BMVe-gTw-&06{DdFpxLF;YUtX$I>*Z-~t-Z}fgZJnK zTboy_JUMt<*vot_UmfN~qgw6i&6{h3!KA9op+_ z)Vg`Swb9<(+-A7;8dd6rlF1QXB*Wpz){;O&uh%Z-OM{+;i+Q^ww0qmHzk7KY4zMkD zd;PY7e9+@>QmIiVL;IHv#(n#nXETGoEk`n8hjX_unB;sKCw{9|t8_QoADy4G2B$Zg zSW6Sm7d=qePa2;zL4AZ$8fQA-01v_>2+s5_+W_QN;b+1c7y03o`DO9-23l}cz ze1fuEVj?T@0U%;)Wxe>~i;6=D7PLl!oexe5WW%XbM35DOIG!;jwi6n_6RH3yLJRGup<~p#r|Zpy(~agFXADjkIfqu+Nwkn1Rf{&)u+?X^y3#E6%ZsNM zR-4slE}U99f4hb`)+ z((PudD(u3jkuqmo`IO(fap3XV_Z97-)47SF({M=&sLX%e% zTZr9M$A&K8vw3UvJ{{GW+*@ezu+Ys0DA_j0Hli&nRL?=(1Yiq2)!Pgr>qn@8*|_QPpVx& zgAaztsC*_0whF|^(ECLxSHVc^Qd~1wN8~EyX3g)QfswE}%M!eHKf7Kh)cRm^^X?1&+dYluFHsE-id-kMlCq3|}dZ1jX zo<9H73t#>chs*l8&C!IzM&B;xy-{zuR=+eqH)j`s;4_i4>!%EUm-fnH7OCV*&Bf*3 zpzum5zu2ffeQv4o)QSZn2CT)RWwxc_a@|H?Rt_}JE?<24(&FmM;ulV@te(kri>r$q zjGdWMT_~NdoSO5QIh`*}7fRKBrBWZ(=Ii$GC=N&YUS+btC~bLar`af%>{+lnSv=L8 z&RG{=OPKzuwFwJcJ1vr0=Ayx2V|%axEm1UKb0*U;wqVcX>*Z2!TIx8Zb~57o>a#W+ zZo%7hIdJS2^p9Wt2me4b^lcFG z@LyPxO_4LZrj}QiK*^mDw~Ni@E={xF4!e>o8k|5x{I?h^)}bI+pvbq+{`R+i^!<=x z?MJ?NcKqxsflOtwicl>1+zNFkJVH@vNjj>~oY0cH4Y)%VE(Mk0g*FhxmWPYGA^FM; z*}f-}w4{p2JzR%777`ADOeEZU(iK!gQ~-hEfZLfPy%ZNVpb3i zA9OsoO~tvLDrm-z0KAhpY&v}&f2X)5vruBy1H- z%7&S2k))I#%Mil%Xbgc-QiVuD9828Ie$ZbZqL@F3YVZ7m)wDN{Cn9y0j$%UK^boBS zU2*J>dh#sViaQ={`UK~J{Q>&*)YVqkG|$gB7Z;aae))^WQ{P(szOmY1-D|hIPe1*XirAR_ z%3?DB2>eGa8zPO5AAR&uspKf_U|}|FQvWD>J>zotDz#SdqmQoPY%n!0FE1~yt=<0F zPyg$)7cThXTv%ADRLVwMCh@=etDhL7Io!Sa>Z>;Xdh4xU8NqS>+Sk60^P6w}^1_AZ z-h1zzU;p~@4}b8x^~QW?Ml$t&>(Q}*nA1ymj4<06&J z6G2V8`XQwho?wt5oGHV!lcivu{(AHPgv&_amwCfOk2En|TzXn+Co2Si1z8e-MWVEj zLzl6XNE#xCv?8-G;_(uPSZTaeL`sY+B}C3?ZhC8J3ZxQg(&|KD6fa0hvoq_U@svqy zPkMP!K93Lm(FPo`AJfMmlEx3(#Rk650IMFfRgW`$d$& zfgq;IXZ`GVk#ubC)Tz~Sx#FM+hh25MZ?F%uJU{o`b3JQ4+E$J@J3F}7k>p&?@mHt5 z{q1jo1x7$f#etaf3;vt8o}@njO&mj&Yc}k9)OVJ|rAyCK7Aq^ki2dh(_Gce{_<=*+ zG!JxOe{guot+h26rO{}fI<@kHAN*izE7-%gwzfa|==#6?xBu7NT>a+F>jr!utZ{RK z-}Go@3EBfL{QVNm?e@*W+J4~P&G@r4C4f$f*L(gIGED)3zB-=@PS-` zal(`bAu$8OY!DTEkg>Zvev(xjq)QZ0vB!rA4zh42QTVVuSb(ZjoO6M;ArJ3@6b04$ z)?05$k*<`(Qq<_Y-$u`chF$frA?!_g$`t%8r(&GR);*;}qcRj*cE{R=~PHU(L zQ7Qfgd|p*QOjm@ZA}kE$(&FMg>9d8BQL@wNGWOEe zMARc@3O3%6P{X+A>uE}NZoG{d$?b<%uB@)CuC3jIIqZ|cp1iichT#j(zu<$@M;&vq zy`#y$X>uS291*wAGZ6w%^7+>Kdaxv$OzCtiXl+9VMs@s?(Kd{{T1BEPgd|b5+T8s7 zBGZd^$+Uf(^KLfl=IG%b;3KiRm)*tk^2&`HH`%nC&EN#<<$F{QNQd9s=l7-jm((H;80L~W9TqSixPA=JtgC~2KM=YHzkq~ky1$`Vsi57Kkm?F2fz91*E&?rvY ziL}9rG#Z_7K#Vy89K_MY05p7)$fXrr@ohO=y`N1fucce_$(SgQwoA9*4e=s*L%ajgNjpxjO7VImpRHRA zo<1qOKZkB-d^CqHe#{ES-iU+m!`vG0inC|W81+b?L6A{_f;QAr@Mce>Czzn%i;AEw z+j1j(U9Ebi23e4rF1IPh)6YC@oVDvlrHaOxoMH1Nk^spV-%M@Tnd98K^Ps@(+v{ZJ z^yxDOP^f~{gtG8Cx4wQGEO8NzeJh9aw7?EV4id$-LW-akfv|axUU=d8&CLz-HQi3{ z)aoi8=7V$sM?EdP+q~NsFJ3f=tHK;hP!OM0I1$veryo*E6*sW3Z^eNnA_IxUp7;?V z!bVWZEkQNf7;K44acPV)6i1%MB@!#R#0^i}1jY{nFA|H( ziuAFdsYMOb9`&jMXO<6a6;TB_hjj=oVOB8YT8y21gArp@Xc#boA^vgX*KDOQj{#@t zZo~j9MHUV!abA_kaH9f9~}lVPplYrhQ2v(KNWLg8cpKfBmn?)BTx$?z!F#216}>0 z7~h#YGyfp@-~8scjD`slA3zgM8y=-`(D-Zf@iYz+eh8U!KnG zRQ#1!zPR0LGa}UMb6@}Z*OQUZEKG10RrcH8{*JO>hoROv+Y*(9B#gV}ZVcSrZqN1u zU;p~6@Btw~0AzTHRA-Xq{rBIyaN&ZRW@SNUrp7DF6k`K*ct~9|0)G_4xO2F?MA~!y zeAvF}!i9_4qpqkkaQpN^+W+x!Jh6hB_JgjDT@m{{#&_mE@L90D88l2}7(xvu9w@;R zr+SSrBr0N1BdXpehnO2+u_Z#3w^26{(Q_YU(oqTxo@4_n<1o)5d<0n% z4bkQnRY9WENb9RQ4$)DZ#Epc~4RK^uL=_r8$}o#WwGKU?F#tgg%=nOgP}qjTt2W5cM+uhA0G!ky9kcl<wm{rBF7LcCgXy+!U^TtuLzG5maTp>_tH)70j`#>P!`C2rQ~%1!Qc})TdN@-9O?;b>8SVvVd^Q?k^Ck60 z{xl7SiSgq%x^%XF+k;A7d!!~xcfYJX>5qD%o7KZR?_$^G&aC^#t)!xx36I}M$(A7E zk`6Yyig=DOOWcDt$Y?;CD9dofJ{M{H;=mXO-Bq7HDA%ISFV;TWm6U4foIoT-%-{a)-~Ql(_y6oq|Ma;_ z&zm1fHWvtHXFeGQVMWZOxP(`pfBq7ivB{Lnm*0XO@G%f`WeVt|-J(BW4zGr)If%d_ zCTOgDafA45Z*TE7RVn9C+|HgkV?O1^%^N0bNSbz9s6ujpd!NV%E?<6IL1M|P!&q;t zC*bMnr=M9}4Tn?A-f8zzDjqqU2}ekvZ}UgyoxSPV#BiWT;z5!g0;jC_PKNX}dw>)K#3*Jld&HETl#g@VTeR!eV2)Q_ zc_rROdS7&pHwyOhs(2?K@{V@(5idfmK*dPsG!9o0EZ*zKP;Jdn09++ z!A&*?&rnkO{`=;k*P6`+eP1Yq?VpYQioEy!hu{6)n3c;2zOiw8eSOUWmP9ISq&TwF z#XcVY=|BA?VKBS`3UoXL&#BW3L0Y(LuzdJ@1Ptszefjd+&i^bF10FS48@0ia8#k^y z6_b^PJHIy24bMFD?9YGxnqfU2CvNJ;b_Szy7(h+!fwn#NMN)dn0B$&gO8_S$AE*zha56uOlXxNhg3W14RaP&R~3RC!j4;b zqL)kBiBK$P;4&;LNEEU4D;LlqV6cLKx!-D~y0pBch5Ra@7S+XJA7{CY*1p7Kk=Vi2 zfxE`XggZWhA; z)$-Z5_*1I!-iJ!0jJ&(5BjUSK9{36E z49X_XxkSVP&Q2T#Xk#Blvb3}u#=x)$tBszSff$U(j2uBLkO7a|P>!Wbz8$av=0dkd5P#>}b?_V4g;3iD! z=yG!95&Pir%SbGX!q)#(GVvqEvXHq%klGs};E=8&l4Asx3%ZlhQHYWn@B_@y9B*Ayz6ErN-c_ zg>rGz266QF@1+Ok#uh%1>?jf(TfpI&9mVHyJlcHH`LjRA8T$&E>F+aVP6G!#)YigR zS~zC)+}ZQDH`Wb&Mofy|yu z#uEH5U3vjhVOepHw3m6EcBgBvutI^EXZEgrFy)M$|6oSPonn@bqMps3m|yVh5@`&N z&Qm6wj0aH@OTmiZNeQx(sQIX&DSpyLJoIJM@!$RKcM%Bj5?oMLa4CpHsESVv!1Vd# zMA>+W4=e&h@LZOn2&~|hQH6Ml48S1RT`epn_DUy{a?uFr6;u&cF2Sa!o_b0IaZEuh z;!+}?5`56RUmT=Ast_CSsJMN;e2zBY@Fb4Y!}xqf;gQsyzG?B%q?eC``O#$(d*fl+ zpU8Rssi&ScRbg(IP1l%4Pbcwk3YrKzM7%_-=Mf|hdBL&YK+nhG%$c(WN4Zkskch)K zzxmCC-oR>VBg}4m?Q377GiZI=mDlEK=3f-&`C%OlhX3+k{*S(5llFugN=D;QozdT= z&&p??edg|+{+3!IL98NH8gnCu(8^DO#Rx&)03UbLE+=$ z9{rNBD-L}hgoM}-Es7Z{h}K7cRLQh{G{{l&aEU6S4MU=Mq>%+NNbxLiNNLjcAP|S4 z)dI3W11@8YssmPHDT!JFE~5lE2xQ7ZL`!yFibp;%G3Aibn8?FH)sRG*xGSPAHF~o^ zB3T*}2}B-JuF~RIJv_Hv&Hh|2k2c_lU6wu-ku*MIZ<@N}*%W6G`3;$2E078E-N4 zt`Qb>v^1D&ut5w9!P{@Y&NdL;>=6aJj2ZEv4KU=IUh&nX6lEans?1oKqy)GSL;O&C z`swq@F>PT*qI7sA=5q3gdg2cCZ~jTD{>`LMu69@bNzQM^B6j)Bw8LK|{qYHEiH!DZ zr}RTTn!`8maVweLevr|FNGZ5r1KcZDuCR5HQes1w)7HdteQo{fwX2bv;fP*09C4U1 z{1V9jzrB0ywXCT61-^D)=?j8D&Z9@r?p8p+$b%X+o{;F#V~hq3zAzfU#`zp3zBazl z7~gvdkBKH4AC(x5h!@Bar4?-x0io$DeWTBB&au0CcCAaVz1G~9wbrQa)E+fz)To;O z8dWuB&6;y@3oyML=c7S(Ak0xpvD*)Q=tGYCgzJE#IKxv5<#r>~!lm%u6TXVX%to$h zTo(R`6DNG9Uo#v{<03mSWE4EA>Y^#Vh!wck!*xs`Q7+=v^s{>l|#A;Ea zb`nsL^CI3VP>~B!HO-|Zy(d7+XooHp}% zZsAw*E0PQ}0PcEcgQ6{U)u+Lo@kF~(i@gf3miQu(dD)Gl$0b}4e8)U|-yIh$)z(;On2Zms#~qVQ-t->@Ezsl(A!RQw2LnAi%F0RC=MxE&NJ;6_NqP%vQ?q zxDggt6RBy3o;b8&dhs5U1sefIGmj~ktKkHwB^=-4ZEpZ=A&>nJhmL6@Y&j>1;G+^3{{nhKHoA+LfZ*wJS&oN&3+mLsBgh0u4eXP&jSo z_1wa*JI30WW_xOBo+`GntgABu%>pj1L8^n5 zA!;xfEw0o(gaKcCkzN`c)h+J8=mmtLB+w|y83;&n5!-i6nlCxpl{1kZKHPjXR?-;@ zXFS_8{0A_dwRAo-y7ms_jpup_V?F(@L%V zY|MOO2{-L9znDTTx8ZHj&)Zm-=5rb_Rn1w!u^T}fLJOTSQi@NYk&+w*L3`|l;Na7bpips1s?>Gp z;2~cGA!g9g^G_|=a^e%}{e41X{`SeXDN2cA}T{Yj6c3Sj~-#+yl zzuU$Up<$!-E~R|p5ZyWs2mA=r_deUR^jc!$SL02gjMGwWy=Sx*W9CX5wL!!}ZjQpi z$Fu`M9>+c$>!mF|-ND zES|%`da7=yk~09_nCCU;kwfh$^0UuA>(nth;&%^dx>{VEg-Rdwc@>XJj4D%)Ute^r_RQ zXz+~*R+J?N6`icO%I9c%Uoob9re=tw5w01?hcwN0pKTe4h^Jq!cDBTqx3x*WsC7NQ|- zyv^CX0G|>yhN{9T$vLZ7=;B>8f)>wkMY_@sEsVRRZCSU;Mj^FKx+NO*?Yy*RljH4g zzsJ!I9bKlX(o>Dxje(L0xi`u-sg24HYuGZ5rV6Sn7g#vahREHr_Ux#Nx=;kYAvB76 zVPXEoFMbj8C*$-Av@eYU+|nL%ET0%bz~!U8N$UV6cYy{0pL-EAbIeYX#7ttc*sv_0 zyu0&`JC7VW;#Z=q^d5^C8ho8_9aQRG@wZR?_UyT{aS3X-6(N@7=+Ho3L1Mm+Y6*~3 zh2m~C#VR7q$>7HbI0_O|)?(ofO|H+9N_t(~^>Rvh^8{Rli^3LmS6yK12bepkrXk*6J83x9- zXO>)egSl!RJMQI5yU42|MoU#!CIf+WGwnf1|AR-ZucCHcCZoOaGspSnM>E3;rEO?xOR^An zmoH!NjV@)QggZ}?AzzBb3?2%Dsk&Bvy^1JO)XG()B>N)NA{1@Wo{~(WAP_(mtfm2q zj7?Jy5hyX|a4!VYi)EXMGFr@-g-E)oqa0yULU^hxi+h14ruQk~Tl=p0r9rc?!KI)I zUm#;b!z6&91nun-GO|>}a%A~2Lp}txRNg<|=UrX} zFMf~4D5Ycw-Om63EmlcHK~xI$VhYZ~iK%s9g<5stG%n5^cY198}o|UkVZtkMf#yRKORWRAjn7+s1GbQ-r zimw!ZgIKNk78ciH-BD;i59;)q4>0Ot`?u{=bDuV{A?#sF^Nj%>1|#=V5*IG`tfx8F zu{(2F^OF{Erpj@B^R?pU_V&)qT)*q!fdlU5d_;rUI67j&ZsvKf$u=v5R|EDtrH^J- zYEgyP3;cvEK}iSe{DkJ^D?Wm>{>=~X6*hgUwe4y_rzZL21`mnTBWdXQdYD`-YJ0yq z?ngVdt=$5tSyVQNRjX-Y)VsoowJmVwlt7tC;|YT0*`h93$gRz`1oWo4sIizE{YXhx z`tZXKi!J0ZQkENCz*2Qs2yK{>0<{A9`|rO$bjI?}fC;lMm3phTTOEU!MRRD7h2W#S z^PTUE>KGvbdmd3Lgu}lHVX+3-&u}D#utOn|m`9Erp*$KdOTmzg3sD75xttjY?VO?1 z&MdN2>+1{M~NOB-;G z-^o&iHn)1*2fK*&EMDuiNGNC$Z>w!;Zd7O3!3gLit!wO~-HKo&R$Lr0FT`#Kmobtg z%}e1x1jkMThr_asDWF4D>+4>As>9>qH(y}K!Ao2CP1?!`S7tqMly(uMVa`EwH^~=q3)ddh*z1*8Z|$kn zD}HYFOy2~Y;&*##qQ}=S(IjpPx_N%mY)3S|h9cnY+rN9Tw*E@X)#iEh8@t!s|1|~W zs!?4Y(^y~Rwa>U?J%~%>DD02z5aOnHV^o`!+`GH^K$9t3ygoJaY5cBd(}q3!_c)r@ z{Ct-J`wr~0%*5o5sk%_zSFFbMwzfc&WMBFhQBRn}%q_QCTk<^|iS?doaXRUAc9I1? z|NQe#j7f3=>~#6{S0^r`F2*S+<-vqpTL{Ej8{5OBw)~$y(|oiPlYHcQ$JH|wYUxyw z;^JTZ>R0&u0N#nfc>et7KYOOk(zq$A)5|t6NH(q7w@;P>8OlcQYkwRTp&7@k1FE~@ z&3E8mywtovt6=P)L=jbZfD(sBH_3jAS`8LTa^^nT_JWJ;a0Gm%8xV!wc4U{n0Wk)u z%fzfWkz9_^GV;=337Jr((gf{nJsRia{c1J}yBxZBL zJztb*od6AJI?K#%CT-VW-ot>0V6TA^w`$Q&(<@cHif}KQ`UaYD{e!%1pEtju6|m}B+KPT?@xbeR%>7L zJbwK6KiZFtI$aT#!@7707I>#9>~qAYJdYeb@`E4z0NQMT-{6f83%ute1bhb60{_qU zZ5NIL`_vNN18;`g!LB$BFaP`HC!c&$70PO%s(Btf1GS$&*BsG!`#au#&SAXX9&od1+>Bh0Ld5N4*K9STeLu-#5l<@Il}WnITX!qk z^UlmIC-yC9+kvmAj_P~t2lS=_4fS7F5Zg02e)yANgg_MkTznT!?e5R^{M-D zlcQ!>a>Q*|mx@1Ckt%tu$n360Xy}?^p%KHmIE7zoUmYUAiC&li2ffUMcmoeS@Bq-_ z5T(`K3T?4>=tmY8L9kj|*FXH>535VCZE)|q?zJV>oQ>G${Ldc0?0WR*Q7?TscS$WL zLy^XPd80WK>QE=&#V5l(Pq8V&dvJh5gS}eFUr{5Y#nBiW9!^?>`4KZl1T{uG6*>0K zW0Y$Q8SVwO+8}A`B3@nL;yC1?&5|UIJ{)b(W=C8R?G@CH!VESO;77qiBPvcw&QQfp zD6)7ChYl{lbvrxgZf=MTb4u|f=0Ttfe$i9Vj@&X}ioog+1qzqk#VY7-ZeUVzBu$+{ z$XoSIxTZ_H5*z{>6H2wmHSA9`2O!MI&~CCCf#xX)0ZHd9tfEr(J2a%-Y4#|Dw&u}^ z{S3Z~vgGX;I*9CNNO z<;(8!Un72EGV5n+q~8uO674c9C!Y8HM(aWwfl3( zuQm)`R?ujZNkwBy>!2DVSxEnBgu?pYXoJ4{PSJMFn+r2kd@bs)idoJNeV+TY-b{-_ zMv-)QamLr8y}UXTGl)&Yqo19st$evz<;lck#AaB&+p9t9AlIsz_dFZU%jYHGdK&?# zT0{po;|4;@KrY!MHMG@3VdFql!9$ctPbK{FfBMbDtrKLyf&ykcTb3jVj`1Yzg*d<1 z0FwFi^`d@jq@SBJA5Yid;Q?QOjnC=bHH>>@u2|D@KoaoL8rE$@GhE8uBj0-!{R=P< za2zq}zERqe*7G#gu46#I9+lX;Gxdm@gXS6vpuSoe>2zE`oW<&%Xy~~UPg%!wrjAsv zF1)x?D$8*yCbF2Rv?z6K^xtlw=xCq~f*w9FZ37V~KKF-eLi9hHu+$9y$bjfrhK{os zfz`%$uHGW$6wjLzC1mwz5WAJ{ac3i#B#G;Xrx^PKS{a19`C808^)uL z?WSUcjo1DCX=2cD)19QeNJ1|rvKqOnswS;MD4U#3!A3Akx8PCf1gBCIZ?!80)AtH@qv$~%jKKU{37G0PAUBbj`q1a75O z`Ly+kh8AybebQkDGZw5vBVDkQ2o~io;AC@g*&dAt0phP|qLF(k{8qjo_Q-fL zC${^sMB`H%3F@RRwI)yK>bH=+wuyxgr*60VY$R?U9=*z4s`c`bG?#FmuKj}q+*f1=?KD32c z!jq0Y1Eez{z+&#N?aM)MP2WK&@<~TF2koI5?QidK$ze52)kzNp&qUh-xuaD6icm}` zoU<*qM_113vm4{>#QvXWoK^RB(_N^ak=&HLBr=7D!8du`dMhEfar# zv%ZZc^AsLsG%toXc~QNkk#uZmGs3O7G5fJBivQQU|i^*s2(0cOpU2$S(B%#LDBl;(~H$d;9i~5|7QOV zn5RK6RO)WQH`rs?w~42MgL!g}ZX2KvI_>V+@$ztSkn*XJ{)dyxf0 zUUQ14$)>1R@AEAg9gB~DOQVby#P&aIjr8o-pX0(Rx_G5B+u4iT)F7zR*eiMn!MIOVU5v48`X*=q~bG(%>Sho28-wt9s5*=)`V2 z^=|AWcOG|+rE3tGMTR1S0cx5UVR^Ju9GRft0D$8)HJ&n%Un$RyK^>o@HL;etVW&y0 zFBY2&y@nSDp0o|3!)N*YJd75&FZ%Ekdrmqojw9|4f3IUdcLXxNGEaZ0=vnbac>Z@` z>ibJ`+&oL5%c!wVz$3~8BD-r1;x~F4$+N#hZfmbG7>8b|%@le41bL!5O#SQR!00Ys zI!7dFbG7q^@ikiHvD{de9YJbruO(Sp70qN>?g<~ld_oPZv(8zS%S?T>OhV?%m=Ea@ zhx8aSAPc1)B%3erhJ}~tNL@B(yoaX>~jx( ze?)8J`_<~i@z#_AlRST8-wBHRH{vwK# zj#2sNvc9qOU#vCyZHqR|fwT&^BY}8G+-qtTM)O~H+xmmf9O>qHxVj%;FPGg5k?(L| zNFh)idP<>7<3IHj^{#wgovO3a#U?dUl`tH}RGauF@OlXCr?2^XSBTN$dj)e;USBe| z39sUfsT$`ps@mO{y_iZq-o4jOI0#V0csSkoz-{A{?maPO67U8 zO?xMkeZzeeLuSFA=8thJ^gvfYh^~9;83u4#@EB$|rd9?h;PnN6I+((ERe)EgF=2XC z0~C?aCh!ordvWVu&b=v5$_p*r=zOzCRFZC48FKX5v161s$+glhr)C8{eSVv>5eBDj z{~Ux|Pg=j2g2)zp*w#Uxk0!g;6};T#niry1nr}9y@1HmLljN4W4_3t}5o57@eb-Me z+z(2I008g$y28`9yBGiNyME$bQNfbGZeNRb^3;oTtN^p*C!ZpqjN95lBn_~N%s)c$kEMQ8xS8Oo7n-*D5 z-^d;FTjNIKNwSer9Q`^w8bNIwbk4XL*0A;OR09vN+-t7TKSf}CT@lin{ICH zON2@Ne37*8_1O4~5pRPz6~@5RyF<6{isFGU)GSX;wW(i`xoQ-ID=4J7B#U{YK%<7g zZNR&uv3dfww2qqQt^UCh)w4%+M?YF>~@EEK_S}SBJ{`&!mE!w%$gpXFfUFAkz)1w zT^qUvzDPvV*h>Y7aT8{~^0#<*t9SuS<9wdWF6BjaXkj^ObmgaNIS7R?S#1TMWoz>- z2{*I|A=D%K$Xk#5HIbg5qw;eYN{}Wgqw&oWWi=vFP?eiDg#JNFKO;lYiPJj8TU?ie zOp(i@|5+4VW{MZ|cUkhq@6k2%TI}v}{}|nqM88wiNz!_YGD6e|!QDo16n+@kcQnOt zwf{*FKn?nGl6FEAF!4zqL4{6;u-UI$)fRQFrmX)vm+EBCNpcKqC1n;#8Rtk9ZPmPQ zhC?ZnTp0lvvDQ*1-!HfdJusaT5F0w2i|Y6E3@cpw&=$&y(BqOhv&%1lmAio0X{`bJwm{~6iV47{3L#} zS+ZX2a<%b9D9@54y$n&nymvNNkpP!8(F)XK)p*Q&hDI!Kjr1RmUV9dkpQnD`sqxSl z6u&YV>yT@Ckz=WB&RZ~#J7|izbko3+wqv@_z&X27rgx%T>X;tV7mO29iu`3*+oTt0 zm-5++YMRPlk~RSffBb^lGI{1xDwMRU{to<62Z`(+I3zdBM?$q!EebGcDj9NP-{Lhp zKdczT$L^lD>!6k3h`!5dr=>d0X}=V#wU(3Vv3xLBT1#wb@Xek`srm;e7mCb9B^PNZ zl2UkURe3$}qyR2ySO&NM6y;F5L5a2}efq;KJt`?f+rKO}-(_&?#+IG*AWu5&6M%(Kkx)&IF6j&;7$2uQxXO295 z!)gdoa@O_djc1B1sy3q6CUCdz^#yLS4#XveLryBisM`o|CL=X>ac3Tn5DG+c=u-xY_p~zhkEt4h0lE z?OO|O#^hY^CHGuqxpHFPviKc>tGky4i&OP-o+3vQb!s*Yb0R0p2?aRS8y^P}GdsGW z`Dq;6%C6pk0So)A!zC5E&TIR;O^L7^icc3bO=pjBvI*U2kD$E!Jt#tw<%d9z=M z#IvVZd;9`xbR|OoDos zqY;NlQ6fvMwDOPYc-^7Q%XM0+)R|AHO8oHs;4dlI2(snh<-F`w@%XDN`=P}C5}B}YWWn}XY3UO?ObQmI>LM& z!_HuF@EDHR&~*x65K--Y*Sjk?8ZYFk7rh=JPj<;p73xQDQ0}`Hf7Q9*R{I~~_v6ip zQ0Zf`lz3Rlqj})HjY;+8X*?bLufW{Ro z5lEh}~1kVBHU4 zqz>^0XxW8M*iF`d@SMHOmIg~mXBE`^4vwE3gyC2rAIB$*??l(0Q6A|d%@kaW0|zmz zx|7ScrvHN3q#0tvB^3+NjqOh#zo|%%MeR^N4JI7gCN(PM*C^Lgjz3uqA3v^?z6j&2 zO$>1nIcY2G5)2F)*X_0yX>)D*zHLItxUl|6W7ub3lyBL$*6FML=KT{R7{yWTu6O4l zUs1Ay_0YB7NnyOe{e{s=TVI{f+vpO<@BaCMB2mW@{Np@&`u7be6D?LkX%sKroX*qz z86MOXE1V3ZN5X10<|Yp_`y#1{8I65pJ~w*dWB55%+5Zu>V+1HU3LI>(v5hJ_L%P4t zbtl!ZsEIzZem3xblNp+a*(>Eh;VSv^nWSx*Umv*1ZCzW$uk$XIPG+8`S`^pc!L0() zLgM~S9sWDWLGU|`a|%2LoUM@jW-Ap|MG9T5aC;z8QbXo9(ody#Q ziC=^x2RZY zf)SXbJX(ta9cx$nQBaIG-}Mrx`E645IEd=cG~LG<&Z#3S!|nT*#odxo9R;2VQ7Odk zxt8T3ZA2=#P&&6xzy(tMJSraZo8-Lth}_AM>&pbK9+9WQNUKGk-u+(U{h#N^Qi|c^ z4l`~peHM6z9~H&o2C3lRwYIOysR-}N=&7SP6QczBY>iEQf`#=VY$d1>!mCK*Pl{=V zZ^LbK)f7zX_RJv88n51D>d6>JQB;H)R*mrk1g@38sA1xEy+=$csgMuB2iJ-2E}lV~ zs2nAef}bDUHi(dsZH6qb+-GekQ@?LR+#xU_@M6ONu9DT>A5pJW+H1GDlZNcU&qMli z)#w<`we50Zy~I}Ep+4j;CZ|7!EOvJ6+m;_gtRrYr&kp{$qHtNd88UIFK)t*;xN{%u zW?u|}YW*~K&jWeTphQQIB#{jY=NwliibfBicB>cPz!<@?NfCMc0%!)6QZ?qlD>@7D z%>Q@X;&y=Kf2SRP*@karwq_t+V4UWte!bq9#d2~- z!3PRS%s_dl7dVTo_X;xTd-6`3W z=XN$1?l2*nkP06OPEV#_Yw`5cd(LIxF<1!KUmKx@qr~tnuKF9hWp%bs?X`Gu+Lyry z0;*ucIb%Rmq#3#esz7VbyLa(xgpAQkdqUvfL74c4p-o9DjCHCgHkpWYsf=&FnDsRF zPQ1u5)odLJWO(UwPW;q;xq2g*U?f>lG##4* z;Z>*whAAgn>?bM-O$C|>7g24KQ@0*?(T$vdC2|$MdXTQU&g`KBV`x@J@Al<~Z{GyV zCgaCO`FsZ-rSJkE`2!!QBHIYZZrMq!N&B3*isThFoOp}oSUY-MTnud2Or{t=1zhd| za%J1akqqT8yyDHXjWN0vNK<8zp|UxgWhXl2^7OC>k}%3Me!v<#7m}BT0*{lMXolfd zCkV?O;^)hfBx~XvVME>Oe}2$IIy;+Ik~*ZK@{anPuG5~POO_}L{CklZMf1K(m>Kn) zYavRLdk-2wFhQt}-QSVeH6@1dDU7NX>!TcSfg38;E$F0r4do_zyaJ@_U(G-^7;u)G}a}N2qH}a=h`=J z6|Sms=zj1g*+MohS?&LYL3_rbx3(|_D^np+&AMHQU`2-#=lv$+-d z$IBSn_HNd@L*bd({SibZ>zhNBR7QEtb9*CuCB@*g~lfd zYunW3kD8|0$Zz@}vgCt(Fvd7~N zrNKjHnk^^D1?5j8bKep(9&x|lNo^~bXhwr>9;Yk5Azh)6Ytx9PEdtVd*S)=Zp`wtM zKR<^kBJ-LLt?K(-FE{V@GX@UopGP*Dn{T&!;!9VfT7*bmB}_oTlseF%!GH5568(<9 zN7ygxo3Xw*o%cX}#0-o4*> z-fH-|dwUo1a-Q(ocRv&|^)E8MR5F01ISI#|sZcnzF1vB05{#JIgYq|sJQKtF1C0YnX z!b6YE1NVGjxe9Ukgaema-SG3c;r(8%k5lz4j@n!{QQ$a*P+Em})?W5$+c?_-WiTa=E}KM2GQpxZ0@iVHM?>BsY>c(s79}sXxFN5Or$C7O3X~wES1HH<_Ci z`%FZO5)=f5Lm!5M-(7Nkgs&2VIFIK`+G!$v&pP#JM>ny>AE&2G@AiEj)|7)f_0;l?;FB zyc{V*-XZhz^{e;@4cIUVk+g4_pebAT&rv32oTR zMXM^%I9m#)D~4B_(H-I)nR&*_)xHqxy0TdJVeRZ1wW4cD6HO z)z2Y^5~(M%`@y1CQk=86-}d`ivo0wiDDLv6Hd>KNcPzoZf=GPEMh))DvVfHOK+3Uk z%A^}B(l8TeIaZ7Zdi7*gt|kVo^SU1FVs4{Vmc=)byYW4Cg68GSHR#L}%t0FCzpIWi zlC9|shZv-)zVQqA6alr{qH8tU7)4iO4M=&{*We$?Q@Yr@IoB3SMH<`cFR`%Z*EV)6 zcPx85^j=M*&R77$D5#cR$Z2DE15;w6=vVv+g ziv0aW@_{VJ!|4VqK>s2;DE%@pNs2gxOOetA(Xlwt|L_xv2wUncPm`T!mUh zpSuEON4Cw6FC+5)X`QWGsh>xy9lJH2GV_5w4+w~tpAoSFk2?FFJtsGNE#-n^3D_sr zSt3*6S^@I@qRBPI2X3Pj3l;rRgz85y9l&s!j~&ZMN=l8IKbbs`dhmZJ4bF2SXcHGXS z3DU(J{~SAp4n!J;lZ+-t{>q*~ZxW9gq*eCM z8pt}hHn(otF|10YHn(+E$4FG>+Jwa{wq*F_^(s&fpUknNy~i*ThQB0z-V$4Vu?dL* zhBEKkd(6`pE)s4PEPb{8buy2G!OqEIR%D74^U|E}PD9b<oPD-;JXFf3FUu* z&uP{lOECK>Gf{*hJ)tVf|1>8w5j)Tmnq~cb3}&PRS;lmDBZAZm(q+m#{l9wo0fOU% zNm&2?J_)iZvTvzH7(Z+OA3Fb$+apwss|Zxpv;H3{|3hpQqw;@A{qJ1;AFladX80c& k`(MHNPtE+l$_!882fxp_b*2fL5#X1alD1;AyjA4?2hqfjb^rhX literal 101737 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∈G|m5^$z*pE?*8$#6&m@tR*rK9nm3R(|T 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 Date: Fri, 1 Feb 2019 11:36:33 +0900 Subject: [PATCH 041/183] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit image 경로 수정했습니다... --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c5912e8..b9dc8b8 100644 --- a/README.md +++ b/README.md @@ -18,4 +18,4 @@ > Search -![](./image/search.png) +![](./image/Search.png) From ec9c9ea9377cc47a3a2d1b0f857ecb43dac2e8b7 Mon Sep 17 00:00:00 2001 From: onemoon Date: Fri, 1 Feb 2019 12:41:56 +0900 Subject: [PATCH 042/183] Update README.md --- README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/README.md b/README.md index b9dc8b8..13aa5b5 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,13 @@ # TREE > 전 세계 이슈(급상승 검색어, 뉴스 기사)를 실시간으로 제공하는 애플리케이션 +## Team Gardener +> BoostCamp 3th A-1 Team + +- [박성준](https://github.com/godpp) +- [김혜리](https://github.com/kimhyeri) +- [김현태](https://github.com/onemoongit) + ## GROUND RULE * 공통된 코드 컨벤션을 사용합니다. From 109fbb9316fb8029b1742064487b81c516d859f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=80=E1=85=B5=E1=86=B7=E1=84=92=E1=85=A8=E1=84=85?= =?UTF-8?q?=E1=85=B5?= Date: Fri, 1 Feb 2019 14:13:08 +0900 Subject: [PATCH 043/183] #33 Feat : Create loading view xib --- tree/tree.xcodeproj/project.pbxproj | 20 ++++++ tree/tree/.swiftlint.yml | 1 + tree/tree/View/Helper/LoadingView.swift | 51 ++++++++++++++++ tree/tree/View/Helper/LoadingView.xib | 81 +++++++++++++++++++++++++ 4 files changed, 153 insertions(+) create mode 100644 tree/tree/View/Helper/LoadingView.swift create mode 100644 tree/tree/View/Helper/LoadingView.xib diff --git a/tree/tree.xcodeproj/project.pbxproj b/tree/tree.xcodeproj/project.pbxproj index cba4e73..b8240c6 100644 --- a/tree/tree.xcodeproj/project.pbxproj +++ b/tree/tree.xcodeproj/project.pbxproj @@ -19,6 +19,9 @@ 35DC0E0821F70BBC00F30416 /* ArticleDetail.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 35DC0E0721F70BBC00F30416 /* ArticleDetail.storyboard */; }; 45A74A72C78EC54DD12F5CA6 /* Pods_tree.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BF0163F8362378789ACC30D4 /* Pods_tree.framework */; }; 6A5D282A22013FA5009EC8ED /* Extension+ImageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A5D282922013FA5009EC8ED /* Extension+ImageView.swift */; }; + 6A5D282C220187F8009EC8ED /* Extension+UIView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A5D282B220187F8009EC8ED /* Extension+UIView.swift */; }; + 6A65DA432203D22B005EB2BC /* LoadingView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 6A65DA422203D22B005EB2BC /* LoadingView.xib */; }; + 6A65DA452203D242005EB2BC /* LoadingView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A65DA442203D242005EB2BC /* LoadingView.swift */; }; 6AE2D7AE21FEF30D00444622 /* Config.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6AE2D7AD21FEF30D00444622 /* Config.swift */; }; BC2656B021FD94E000003413 /* Extension+URL.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC2656AF21FD94E000003413 /* Extension+URL.swift */; }; BC2656BD21FD94EE00003413 /* EventRegistryAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC2656B321FD94EE00003413 /* EventRegistryAPI.swift */; }; @@ -54,6 +57,9 @@ 35DC0E0221F70AB700F30416 /* ArticleDetailViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ArticleDetailViewController.swift; sourceTree = ""; }; 35DC0E0721F70BBC00F30416 /* ArticleDetail.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = ArticleDetail.storyboard; sourceTree = ""; }; 6A5D282922013FA5009EC8ED /* Extension+ImageView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Extension+ImageView.swift"; sourceTree = ""; }; + 6A5D282B220187F8009EC8ED /* Extension+UIView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Extension+UIView.swift"; sourceTree = ""; }; + 6A65DA422203D22B005EB2BC /* LoadingView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = LoadingView.xib; sourceTree = ""; }; + 6A65DA442203D242005EB2BC /* LoadingView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoadingView.swift; sourceTree = ""; }; 6AE2D7AD21FEF30D00444622 /* Config.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Config.swift; sourceTree = ""; }; 8965743E41477F79773392B1 /* Pods-tree.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-tree.debug.xcconfig"; path = "Pods/Target Support Files/Pods-tree/Pods-tree.debug.xcconfig"; sourceTree = ""; }; 9833F533FEAC2BBB2BE859BF /* Pods-tree.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-tree.release.xcconfig"; path = "Pods/Target Support Files/Pods-tree/Pods-tree.release.xcconfig"; sourceTree = ""; }; @@ -137,6 +143,15 @@ path = tree; sourceTree = ""; }; + 6A65DA412203D202005EB2BC /* Helper */ = { + isa = PBXGroup; + children = ( + 6A65DA422203D22B005EB2BC /* LoadingView.xib */, + 6A65DA442203D242005EB2BC /* LoadingView.swift */, + ); + path = Helper; + sourceTree = ""; + }; 6AE2D7AC21FEF30D00444622 /* Config */ = { isa = PBXGroup; children = ( @@ -206,6 +221,7 @@ BC2656AF21FD94E000003413 /* Extension+URL.swift */, D9C6AB3721FA9B3E001C0AB8 /* Extension+UIColor.swift */, 6A5D282922013FA5009EC8ED /* Extension+ImageView.swift */, + 6A5D282B220187F8009EC8ED /* Extension+UIView.swift */, ); path = Extension; sourceTree = ""; @@ -213,6 +229,7 @@ D9C6AB3F21FA9CB4001C0AB8 /* View */ = { isa = PBXGroup; children = ( + 6A65DA412203D202005EB2BC /* Helper */, D9C6AB4021FA9CBB001C0AB8 /* Search */, ); path = View; @@ -336,6 +353,7 @@ buildActionMask = 2147483647; files = ( 35DC0DFF21F6FB3200F30416 /* .swiftlint.yml in Resources */, + 6A65DA432203D22B005EB2BC /* LoadingView.xib in Resources */, 35DC0DD921F6F3CB00F30416 /* LaunchScreen.storyboard in Resources */, 35CB482121FB6306000D96CF /* ArticleFeedTableViewCell.xib in Resources */, 35DC0E0821F70BBC00F30416 /* ArticleDetail.storyboard in Resources */, @@ -396,6 +414,7 @@ files = ( D9C6AB8421FEE6B4001C0AB8 /* SearchFilterViewController.swift in Sources */, BC2656C421FD94EE00003413 /* NetworkError.swift in Sources */, + 6A5D282C220187F8009EC8ED /* Extension+UIView.swift in Sources */, BC2656BF21FD94EE00003413 /* APIManager.swift in Sources */, 35CB482021FB6306000D96CF /* ArticleFeedTableViewCell.swift in Sources */, D9C6AB4D21FAAD0A001C0AB8 /* SearchViewController.swift in Sources */, @@ -411,6 +430,7 @@ BC2656B021FD94E000003413 /* Extension+URL.swift in Sources */, BC2656C121FD94EE00003413 /* NetworkResponse.swift in Sources */, 35DC0DCF21F6F3C700F30416 /* AppDelegate.swift in Sources */, + 6A65DA452203D242005EB2BC /* LoadingView.swift in Sources */, D9C6AB4E21FAAD0A001C0AB8 /* MainViewController.swift in Sources */, 6AE2D7AE21FEF30D00444622 /* Config.swift in Sources */, 35CB481D21FAE7C8000D96CF /* ArticleImageViewController.swift in Sources */, diff --git a/tree/tree/.swiftlint.yml b/tree/tree/.swiftlint.yml index c67ea7c..1ee13df 100644 --- a/tree/tree/.swiftlint.yml +++ b/tree/tree/.swiftlint.yml @@ -1,5 +1,6 @@ disabled_rules: - line_length +- trailing_whitespace included: excluded: - Pods diff --git a/tree/tree/View/Helper/LoadingView.swift b/tree/tree/View/Helper/LoadingView.swift new file mode 100644 index 0000000..6522348 --- /dev/null +++ b/tree/tree/View/Helper/LoadingView.swift @@ -0,0 +1,51 @@ +// +// LoadingView.swift +// tree +// +// Created by hyeri kim on 01/02/2019. +// Copyright © 2019 gardener. All rights reserved. +// + +import UIKit + +class LoadingView: UIView { + + @IBOutlet weak var loadingView: UIView! + @IBOutlet weak var dot1: UIView! + @IBOutlet weak var dot2: UIView! + @IBOutlet weak var dot3: UIView! + + private let xibName = "LoadingView" + + override init(frame: CGRect) { + super.init(frame: frame) + + initXIB() + setRadius() + } + + required init?(coder aDecoder: NSCoder) { + super.init(coder: aDecoder) + + initXIB() + setRadius() + } + + private func initXIB() { + guard let view = Bundle.main.loadNibNamed( + xibName, + owner: self, + options: nil + )?.first as? UIView else { return } + view.frame = self.bounds + self.addSubview(view) + } + + private func setRadius() { + let circle: CGFloat = 5 + dot1.layer.cornerRadius = circle + dot2.layer.cornerRadius = circle + dot3.layer.cornerRadius = circle + } + +} diff --git a/tree/tree/View/Helper/LoadingView.xib b/tree/tree/View/Helper/LoadingView.xib new file mode 100644 index 0000000..b786c92 --- /dev/null +++ b/tree/tree/View/Helper/LoadingView.xib @@ -0,0 +1,81 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From ba6e7d08fd11c13921c8d2cab9003b18be699963 Mon Sep 17 00:00:00 2001 From: godpp Date: Fri, 1 Feb 2019 14:13:59 +0900 Subject: [PATCH 044/183] Feat : LIVE Trand List XIB Views MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 테이블 뷰 안에 사용된 Cell 및 커스텀 뷰 XIB 파일입니다. --- tree/tree/View/Live/TrandDateHeaderCell.xib | 41 ++++++++ .../View/Live/TrandHeaderTableViewCell.xib | 44 +++++++++ tree/tree/View/Live/TrandHeaderView.xib | 77 +++++++++++++++ tree/tree/View/Live/TrandListView.xib | 95 +++++++++++++++++++ tree/tree/View/Live/TrandPageView.xib | 37 ++++++++ tree/tree/View/Live/TrandTableViewCell.xib | 43 +++++++++ 6 files changed, 337 insertions(+) create mode 100644 tree/tree/View/Live/TrandDateHeaderCell.xib create mode 100644 tree/tree/View/Live/TrandHeaderTableViewCell.xib create mode 100644 tree/tree/View/Live/TrandHeaderView.xib create mode 100644 tree/tree/View/Live/TrandListView.xib create mode 100644 tree/tree/View/Live/TrandPageView.xib create mode 100644 tree/tree/View/Live/TrandTableViewCell.xib diff --git a/tree/tree/View/Live/TrandDateHeaderCell.xib b/tree/tree/View/Live/TrandDateHeaderCell.xib new file mode 100644 index 0000000..1ca2d31 --- /dev/null +++ b/tree/tree/View/Live/TrandDateHeaderCell.xib @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tree/tree/View/Live/TrandHeaderTableViewCell.xib b/tree/tree/View/Live/TrandHeaderTableViewCell.xib new file mode 100644 index 0000000..68e8548 --- /dev/null +++ b/tree/tree/View/Live/TrandHeaderTableViewCell.xib @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tree/tree/View/Live/TrandHeaderView.xib b/tree/tree/View/Live/TrandHeaderView.xib new file mode 100644 index 0000000..1db0e0f --- /dev/null +++ b/tree/tree/View/Live/TrandHeaderView.xib @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tree/tree/View/Live/TrandListView.xib b/tree/tree/View/Live/TrandListView.xib new file mode 100644 index 0000000..de14711 --- /dev/null +++ b/tree/tree/View/Live/TrandListView.xib @@ -0,0 +1,95 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tree/tree/View/Live/TrandPageView.xib b/tree/tree/View/Live/TrandPageView.xib new file mode 100644 index 0000000..7211fa5 --- /dev/null +++ b/tree/tree/View/Live/TrandPageView.xib @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tree/tree/View/Live/TrandTableViewCell.xib b/tree/tree/View/Live/TrandTableViewCell.xib new file mode 100644 index 0000000..54541cd --- /dev/null +++ b/tree/tree/View/Live/TrandTableViewCell.xib @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 37f6150d3a7228050e49ae0f638ae298e7a74d71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=80=E1=85=B5=E1=86=B7=E1=84=92=E1=85=A8=E1=84=85?= =?UTF-8?q?=E1=85=B5?= Date: Fri, 1 Feb 2019 14:15:00 +0900 Subject: [PATCH 045/183] #33 Feat : start loading animation func --- tree/tree/View/Helper/LoadingView.swift | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/tree/tree/View/Helper/LoadingView.swift b/tree/tree/View/Helper/LoadingView.swift index 6522348..46edbaa 100644 --- a/tree/tree/View/Helper/LoadingView.swift +++ b/tree/tree/View/Helper/LoadingView.swift @@ -22,6 +22,7 @@ class LoadingView: UIView { initXIB() setRadius() + startAnimation() } required init?(coder aDecoder: NSCoder) { @@ -29,6 +30,7 @@ class LoadingView: UIView { initXIB() setRadius() + startAnimation() } private func initXIB() { @@ -48,4 +50,23 @@ class LoadingView: UIView { dot3.layer.cornerRadius = circle } + private func startAnimation() { + + dot1.transform = CGAffineTransform(scaleX: 0.01, y: 0.01) + dot2.transform = CGAffineTransform(scaleX: 0.01, y: 0.01) + dot3.transform = CGAffineTransform(scaleX: 0.01, y: 0.01) + + UIView.animate(withDuration: 0.6, delay: 0.0, options: [.repeat, .autoreverse], animations: { + self.dot1.transform = CGAffineTransform.identity + }, completion: nil) + + UIView.animate(withDuration: 0.6, delay: 0.2, options: [.repeat, .autoreverse], animations: { + self.dot2.transform = CGAffineTransform.identity + }, completion: nil) + + UIView.animate(withDuration: 0.6, delay: 0.4, options: [.repeat, .autoreverse], animations: { + self.dot3.transform = CGAffineTransform.identity + }, completion: nil) + } + } From f7ef361ac1cd71c1d62469c26f997bbc8a399115 Mon Sep 17 00:00:00 2001 From: godpp Date: Fri, 1 Feb 2019 14:17:08 +0900 Subject: [PATCH 046/183] Feat : LIVE TableView Cell MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit HeaderCell - Page Title과 국가 선택 DateHeaderCell - 날짜 (검색어 리스트에 대한 헤더) TableView Cell - 검색어 리스트에 대한 Cell --- tree/tree/View/Live/TrandDateHeaderCell.swift | 25 +++++++++++++++++++ .../View/Live/TrandHeaderTableViewCell.swift | 13 ++++++++++ tree/tree/View/Live/TrandTableViewCell.swift | 13 ++++++++++ 3 files changed, 51 insertions(+) create mode 100644 tree/tree/View/Live/TrandDateHeaderCell.swift create mode 100644 tree/tree/View/Live/TrandHeaderTableViewCell.swift create mode 100644 tree/tree/View/Live/TrandTableViewCell.swift diff --git a/tree/tree/View/Live/TrandDateHeaderCell.swift b/tree/tree/View/Live/TrandDateHeaderCell.swift new file mode 100644 index 0000000..0ad28ed --- /dev/null +++ b/tree/tree/View/Live/TrandDateHeaderCell.swift @@ -0,0 +1,25 @@ +// +// TrandDateHeaderCell.swift +// tree +// +// Created by ParkSungJoon on 31/01/2019. +// Copyright © 2019 gardener. All rights reserved. +// + +import UIKit + +class TrandDateHeaderCell: UITableViewCell { + + @IBOutlet weak var dateLabel: UILabel! + + override func awakeFromNib() { + super.awakeFromNib() + // Initialization code + } + + override func setSelected(_ selected: Bool, animated: Bool) { + super.setSelected(selected, animated: animated) + + // Configure the view for the selected state + } +} diff --git a/tree/tree/View/Live/TrandHeaderTableViewCell.swift b/tree/tree/View/Live/TrandHeaderTableViewCell.swift new file mode 100644 index 0000000..ce44b53 --- /dev/null +++ b/tree/tree/View/Live/TrandHeaderTableViewCell.swift @@ -0,0 +1,13 @@ +// +// TrandHeaderTableViewCell.swift +// tree +// +// Created by ParkSungJoon on 30/01/2019. +// Copyright © 2019 gardener. All rights reserved. +// + +import UIKit + +class TrandHeaderTableViewCell: UITableViewCell { + @IBOutlet weak var headerView: TrandHeaderView! +} diff --git a/tree/tree/View/Live/TrandTableViewCell.swift b/tree/tree/View/Live/TrandTableViewCell.swift new file mode 100644 index 0000000..7e8fc63 --- /dev/null +++ b/tree/tree/View/Live/TrandTableViewCell.swift @@ -0,0 +1,13 @@ +// +// TrandTableViewCell.swift +// tree +// +// Created by ParkSungJoon on 30/01/2019. +// Copyright © 2019 gardener. All rights reserved. +// + +import UIKit + +class TrandTableViewCell: UITableViewCell { + @IBOutlet weak var listView: TrandListView! +} From dacf927fe040d594e04e527f2807cff649aa675f Mon Sep 17 00:00:00 2001 From: godpp Date: Fri, 1 Feb 2019 14:18:46 +0900 Subject: [PATCH 047/183] Feat : LIVE Trand Views MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 커스텀 뷰에 대한 파일들입니다. --- tree/tree/View/Live/TrandHeaderView.swift | 68 +++++++++++++ tree/tree/View/Live/TrandListView.swift | 68 +++++++++++++ tree/tree/View/Live/TrandPageView.swift | 119 ++++++++++++++++++++++ 3 files changed, 255 insertions(+) create mode 100644 tree/tree/View/Live/TrandHeaderView.swift create mode 100644 tree/tree/View/Live/TrandListView.swift create mode 100644 tree/tree/View/Live/TrandPageView.swift diff --git a/tree/tree/View/Live/TrandHeaderView.swift b/tree/tree/View/Live/TrandHeaderView.swift new file mode 100644 index 0000000..615163a --- /dev/null +++ b/tree/tree/View/Live/TrandHeaderView.swift @@ -0,0 +1,68 @@ +// +// TrandHeaderView.swift +// tree +// +// Created by ParkSungJoon on 30/01/2019. +// Copyright © 2019 gardener. All rights reserved. +// + +import UIKit + +class TrandHeaderView: UIView { + + @IBOutlet weak var backgroundContainerView: UIView! + @IBOutlet weak var titleLabel: UILabel! + @IBOutlet weak var countryLabel: UILabel! + + private let xibName = "TrandHeaderView" + private weak var shadowView: UIView? + private let innerMargin: CGFloat = 20.0 + + required init?(coder aDecoder: NSCoder) { + super.init(coder: aDecoder) + initXIB() + backgroundContainerView.layer.cornerRadius = 14 + } + + override func layoutSubviews() { + super.layoutSubviews() + configureShadow() + } + + private func initXIB(){ + guard let view = Bundle.main.loadNibNamed( + xibName, + owner: self, + options: nil + )?.first as? UIView else { return } + view.frame = self.bounds + self.addSubview(view) + } + + private func configureShadow() { + let shadowView = UIView( + frame: CGRect( + x: innerMargin, + y: innerMargin, + width: bounds.width - (2 * innerMargin), + height: bounds.height - (2 * innerMargin)) + ) + insertSubview(shadowView, at: 0) + self.shadowView = shadowView + self.applyShadow( + shadowView: shadowView, + width: CGFloat(0.0), + height: CGFloat(0.0) + ) + } + + private func applyShadow(shadowView: UIView, width: CGFloat, height: CGFloat) { + let shadowPath = UIBezierPath(roundedRect: shadowView.bounds, cornerRadius: 14.0) + shadowView.layer.masksToBounds = false + shadowView.layer.shadowRadius = 14.0 + shadowView.layer.shadowColor = UIColor.black.cgColor + shadowView.layer.shadowOffset = CGSize(width: width, height: height) + shadowView.layer.shadowOpacity = 0.15 + shadowView.layer.shadowPath = shadowPath.cgPath + } +} diff --git a/tree/tree/View/Live/TrandListView.swift b/tree/tree/View/Live/TrandListView.swift new file mode 100644 index 0000000..3d0f10c --- /dev/null +++ b/tree/tree/View/Live/TrandListView.swift @@ -0,0 +1,68 @@ +// +// TrandListView.swift +// tree +// +// Created by ParkSungJoon on 31/01/2019. +// Copyright © 2019 gardener. All rights reserved. +// + +import UIKit + +class TrandListView: UIView { + + @IBOutlet weak var backgroundContainerView: UIView! + @IBOutlet weak var rankLabel: UILabel! + @IBOutlet weak var hitsLabel: UILabel! + @IBOutlet weak var titleLabel: UILabel! + @IBOutlet weak var subscriptLabel: UILabel! + + private let xibName = "TrandListView" + private weak var shadowView: UIView? + private let innerMargin: CGFloat = 20.0 + + required init?(coder aDecoder: NSCoder) { + super.init(coder: aDecoder) + initXIB() + backgroundContainerView.layer.cornerRadius = 14 + } + + override func layoutSubviews() { + super.layoutSubviews() + configureShadow() + } + + private func initXIB(){ + guard let view = Bundle.main.loadNibNamed( + xibName, + owner: self, + options: nil + )?.first as? UIView else { return } + view.frame = self.bounds + self.addSubview(view) + } + + private func configureShadow() { + let shadowView = UIView(frame: CGRect(x: innerMargin, + y: innerMargin, + width: bounds.width - (2 * innerMargin), + height: bounds.height - (2 * innerMargin) + )) + insertSubview(shadowView, at: 0) + self.shadowView = shadowView + self.applyShadow( + shadowView: shadowView, + width: CGFloat(0.0), + height: CGFloat(0.0) + ) + } + + private func applyShadow(shadowView: UIView, width: CGFloat, height: CGFloat) { + let shadowPath = UIBezierPath(roundedRect: shadowView.bounds, cornerRadius: 14.0) + shadowView.layer.masksToBounds = false + shadowView.layer.shadowRadius = 14.0 + shadowView.layer.shadowColor = UIColor.black.cgColor + shadowView.layer.shadowOffset = CGSize(width: width, height: height) + shadowView.layer.shadowOpacity = 0.15 + shadowView.layer.shadowPath = shadowPath.cgPath + } +} diff --git a/tree/tree/View/Live/TrandPageView.swift b/tree/tree/View/Live/TrandPageView.swift new file mode 100644 index 0000000..2c33692 --- /dev/null +++ b/tree/tree/View/Live/TrandPageView.swift @@ -0,0 +1,119 @@ +// +// TrandPageView.swift +// tree +// +// Created by ParkSungJoon on 30/01/2019. +// Copyright © 2019 gardener. All rights reserved. +// + +import UIKit + +class TrandPageView: UIView { + + + @IBOutlet weak var tableView: UITableView! + + private let headerCellIdentifier = "TrandHeaderTableViewCell" + private let listCellIdentifier = "TrandTableViewCell" + private let dateHeaderCellIdentifier = "TrandDateHeaderCell" + + var trandData: TrandDays? + + override func awakeFromNib() { + super.awakeFromNib() + registerTableView() + setTableView() + } + + private func registerTableView() { + let headerNib = UINib(nibName: headerCellIdentifier, bundle: nil) + tableView.register(headerNib, forCellReuseIdentifier: headerCellIdentifier) + let listNib = UINib(nibName: listCellIdentifier, bundle: nil) + tableView.register(listNib, forCellReuseIdentifier: listCellIdentifier) + let dateHeaderNib = UINib(nibName: dateHeaderCellIdentifier, bundle: nil) + tableView.register(dateHeaderNib, forCellReuseIdentifier: dateHeaderCellIdentifier) + } + + private func setTableView() { + tableView.delegate = self + tableView.dataSource = self + tableView.separatorInset = UIEdgeInsets( + top: 0, + left: UIScreen.main.bounds.size.width, + bottom: 0, + right: 0 + ) + } +} + +extension TrandPageView: UITableViewDelegate, UITableViewDataSource { + + func numberOfSections(in tableView: UITableView) -> Int { + guard + let sectionCount = trandData?.trandDaysDefault.trendingSearchesDays.count else { + return 1 + } + return sectionCount + 1 + } + + func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { + switch section { + case 0: + return 1 + default: + guard + let listBySection = trandData?.trandDaysDefault.trendingSearchesDays[section-1].trendingSearches else { + return 0 + } + return listBySection.count + } + } + + func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? { + switch section { + case 0: + return UIView() + default: + guard + let headerCell = tableView.dequeueReusableCell( + withIdentifier: "TrandDateHeaderCell" + ) as? TrandDateHeaderCell else { + return UIView() + } + headerCell.backgroundColor = UIColor.white + headerCell.dateLabel.text = trandData?.trandDaysDefault.trendingSearchesDays[section-1].formattedDate + return headerCell.contentView + } + } + + func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { + switch indexPath.section { + case 0: + guard let cell = tableView.dequeueReusableCell( + withIdentifier: headerCellIdentifier, + for: indexPath + ) as? TrandHeaderTableViewCell else { + return UITableViewCell() + } + return cell + default: + guard + let cell = tableView.dequeueReusableCell( + withIdentifier: listCellIdentifier, + for: indexPath + ) as? TrandTableViewCell else { + return UITableViewCell() + } + let row = trandData?.trandDaysDefault.trendingSearchesDays[indexPath.section-1].trendingSearches[indexPath.row] + cell.listView.titleLabel.text = row?.title.query + cell.listView.rankLabel.text = "\(indexPath.row + 1)" + cell.listView.subscriptLabel.text = row?.articles[0].title + cell.listView.hitsLabel.text = row?.formattedTraffic + return cell + } + } + + func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { + return UITableView.automaticDimension + } +} From 83608d8467e559e7a61f199aeec11256d367e080 Mon Sep 17 00:00:00 2001 From: godpp Date: Fri, 1 Feb 2019 14:23:33 +0900 Subject: [PATCH 048/183] Feat : LIVE ViewController & Main.storyboard MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit LIVE Tap 에 대한 ViewController 입니다. Main Storyboard에 Storyboard Reference 추가 했습니다! --- tree/tree.xcodeproj/project.pbxproj | 92 ++++++++++++++- tree/tree/Base.lproj/Main.storyboard | 43 ++++--- .../Controller/Live/LiveViewController.swift | 110 ++++++++++++++++++ tree/tree/Info.plist | 20 ++-- tree/tree/View/Live/Live.storyboard | 54 +++++++++ 5 files changed, 289 insertions(+), 30 deletions(-) create mode 100644 tree/tree/Controller/Live/LiveViewController.swift create mode 100644 tree/tree/View/Live/Live.storyboard diff --git a/tree/tree.xcodeproj/project.pbxproj b/tree/tree.xcodeproj/project.pbxproj index f48988d..af92b5f 100644 --- a/tree/tree.xcodeproj/project.pbxproj +++ b/tree/tree.xcodeproj/project.pbxproj @@ -29,6 +29,22 @@ BC2656C321FD94EE00003413 /* NetworkResult.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC2656BB21FD94EE00003413 /* NetworkResult.swift */; }; BC2656C421FD94EE00003413 /* NetworkError.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC2656BC21FD94EE00003413 /* NetworkError.swift */; }; BC2656C721FD950900003413 /* Articles.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC2656C621FD950900003413 /* Articles.swift */; }; + BC7969B922002E620003F520 /* TrandDays.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC7969B822002E620003F520 /* TrandDays.swift */; }; + BC7969BC22002EB20003F520 /* Live.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = BC7969BB22002EB20003F520 /* Live.storyboard */; }; + BC7969BF22002EC30003F520 /* LiveViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC7969BE22002EC30003F520 /* LiveViewController.swift */; }; + BC7969C122002F440003F520 /* GoogleTrendAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC7969C022002F440003F520 /* GoogleTrendAPI.swift */; }; + BC7969C52200AD0E0003F520 /* TrandPageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC7969C42200AD0E0003F520 /* TrandPageView.swift */; }; + BC7969C72200AD190003F520 /* TrandPageView.xib in Resources */ = {isa = PBXBuildFile; fileRef = BC7969C62200AD190003F520 /* TrandPageView.xib */; }; + BC7969C922015AF30003F520 /* TrandHeaderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC7969C822015AF30003F520 /* TrandHeaderView.swift */; }; + BC7969CB22015B010003F520 /* TrandHeaderView.xib in Resources */ = {isa = PBXBuildFile; fileRef = BC7969CA22015B010003F520 /* TrandHeaderView.xib */; }; + BC7969CF2201749F0003F520 /* TrandHeaderTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC7969CD2201749E0003F520 /* TrandHeaderTableViewCell.swift */; }; + BC7969D02201749F0003F520 /* TrandHeaderTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = BC7969CE2201749E0003F520 /* TrandHeaderTableViewCell.xib */; }; + BC7969D3220174B40003F520 /* TrandTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC7969D1220174B40003F520 /* TrandTableViewCell.swift */; }; + BC7969D4220174B40003F520 /* TrandTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = BC7969D2220174B40003F520 /* TrandTableViewCell.xib */; }; + BC9E02A52202E02600ADD1D5 /* TrandListView.xib in Resources */ = {isa = PBXBuildFile; fileRef = BC9E02A42202E02600ADD1D5 /* TrandListView.xib */; }; + BC9E02A72202E03A00ADD1D5 /* TrandListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC9E02A62202E03A00ADD1D5 /* TrandListView.swift */; }; + BC9E02AA2202EBFD00ADD1D5 /* TrandDateHeaderCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC9E02A82202EBFD00ADD1D5 /* TrandDateHeaderCell.swift */; }; + BC9E02AB2202EBFD00ADD1D5 /* TrandDateHeaderCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = BC9E02A92202EBFD00ADD1D5 /* TrandDateHeaderCell.xib */; }; D9C6AB3D21FA9B3E001C0AB8 /* Extension+UIColor.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9C6AB3721FA9B3E001C0AB8 /* Extension+UIColor.swift */; }; D9C6AB4421FA9CF8001C0AB8 /* Search.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = D9C6AB4321FA9CF8001C0AB8 /* Search.storyboard */; }; D9C6AB4D21FAAD0A001C0AB8 /* SearchViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9C6AB4A21FAAD09001C0AB8 /* SearchViewController.swift */; }; @@ -62,6 +78,22 @@ BC2656BB21FD94EE00003413 /* NetworkResult.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NetworkResult.swift; sourceTree = ""; }; BC2656BC21FD94EE00003413 /* NetworkError.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NetworkError.swift; sourceTree = ""; }; BC2656C621FD950900003413 /* Articles.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Articles.swift; sourceTree = ""; }; + BC7969B822002E620003F520 /* TrandDays.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TrandDays.swift; sourceTree = ""; }; + BC7969BB22002EB20003F520 /* Live.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = Live.storyboard; sourceTree = ""; }; + BC7969BE22002EC30003F520 /* LiveViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LiveViewController.swift; sourceTree = ""; }; + BC7969C022002F440003F520 /* GoogleTrendAPI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GoogleTrendAPI.swift; sourceTree = ""; }; + BC7969C42200AD0E0003F520 /* TrandPageView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TrandPageView.swift; sourceTree = ""; }; + BC7969C62200AD190003F520 /* TrandPageView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = TrandPageView.xib; sourceTree = ""; }; + BC7969C822015AF30003F520 /* TrandHeaderView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TrandHeaderView.swift; sourceTree = ""; }; + BC7969CA22015B010003F520 /* TrandHeaderView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = TrandHeaderView.xib; sourceTree = ""; }; + BC7969CD2201749E0003F520 /* TrandHeaderTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TrandHeaderTableViewCell.swift; sourceTree = ""; }; + BC7969CE2201749E0003F520 /* TrandHeaderTableViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = TrandHeaderTableViewCell.xib; sourceTree = ""; }; + BC7969D1220174B40003F520 /* TrandTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TrandTableViewCell.swift; sourceTree = ""; }; + BC7969D2220174B40003F520 /* TrandTableViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = TrandTableViewCell.xib; sourceTree = ""; }; + BC9E02A42202E02600ADD1D5 /* TrandListView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = TrandListView.xib; sourceTree = ""; }; + BC9E02A62202E03A00ADD1D5 /* TrandListView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TrandListView.swift; sourceTree = ""; }; + BC9E02A82202EBFD00ADD1D5 /* TrandDateHeaderCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TrandDateHeaderCell.swift; sourceTree = ""; }; + BC9E02A92202EBFD00ADD1D5 /* TrandDateHeaderCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = TrandDateHeaderCell.xib; sourceTree = ""; }; BF0163F8362378789ACC30D4 /* Pods_tree.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_tree.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D9C6AB3721FA9B3E001C0AB8 /* Extension+UIColor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Extension+UIColor.swift"; sourceTree = ""; }; D9C6AB4321FA9CF8001C0AB8 /* Search.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Search.storyboard; sourceTree = ""; }; @@ -114,10 +146,10 @@ children = ( 6AE2D7AC21FEF30D00444622 /* Config */, BC2656C521FD950900003413 /* Model */, + BC2656B121FD94EE00003413 /* Network Layer */, D9C6AB3F21FA9CB4001C0AB8 /* View */, D9C6AB4821FAAD09001C0AB8 /* Controller */, D9C6AB3621FA9B3E001C0AB8 /* Extension */, - BC2656B121FD94EE00003413 /* Network Layer */, D9C6AB5B21FC151C001C0AB8 /* Helper */, 35DC0DCE21F6F3C700F30416 /* AppDelegate.swift */, 35DC0DD221F6F3C700F30416 /* Main.storyboard */, @@ -159,6 +191,7 @@ isa = PBXGroup; children = ( BC2656B321FD94EE00003413 /* EventRegistryAPI.swift */, + BC7969C022002F440003F520 /* GoogleTrendAPI.swift */, ); path = API; sourceTree = ""; @@ -167,8 +200,8 @@ isa = PBXGroup; children = ( BC2656B521FD94EE00003413 /* APIService.swift */, - BC2656B621FD94EE00003413 /* APIManager.swift */, BC2656B721FD94EE00003413 /* APICenter.swift */, + BC2656B621FD94EE00003413 /* APIManager.swift */, ); path = Service; sourceTree = ""; @@ -188,10 +221,39 @@ isa = PBXGroup; children = ( BC2656C621FD950900003413 /* Articles.swift */, + BC7969B822002E620003F520 /* TrandDays.swift */, ); path = Model; sourceTree = ""; }; + BC7969BA22002EA60003F520 /* Live */ = { + isa = PBXGroup; + children = ( + BC7969BB22002EB20003F520 /* Live.storyboard */, + BC7969C42200AD0E0003F520 /* TrandPageView.swift */, + BC7969C62200AD190003F520 /* TrandPageView.xib */, + BC7969C822015AF30003F520 /* TrandHeaderView.swift */, + BC7969CA22015B010003F520 /* TrandHeaderView.xib */, + BC7969CD2201749E0003F520 /* TrandHeaderTableViewCell.swift */, + BC7969CE2201749E0003F520 /* TrandHeaderTableViewCell.xib */, + BC7969D1220174B40003F520 /* TrandTableViewCell.swift */, + BC7969D2220174B40003F520 /* TrandTableViewCell.xib */, + BC9E02A62202E03A00ADD1D5 /* TrandListView.swift */, + BC9E02A42202E02600ADD1D5 /* TrandListView.xib */, + BC9E02A82202EBFD00ADD1D5 /* TrandDateHeaderCell.swift */, + BC9E02A92202EBFD00ADD1D5 /* TrandDateHeaderCell.xib */, + ); + path = Live; + sourceTree = ""; + }; + BC7969BD22002EB70003F520 /* Live */ = { + isa = PBXGroup; + children = ( + BC7969BE22002EC30003F520 /* LiveViewController.swift */, + ); + path = Live; + sourceTree = ""; + }; D9C6AB3621FA9B3E001C0AB8 /* Extension */ = { isa = PBXGroup; children = ( @@ -204,6 +266,7 @@ D9C6AB3F21FA9CB4001C0AB8 /* View */ = { isa = PBXGroup; children = ( + BC7969BA22002EA60003F520 /* Live */, D9C6AB4021FA9CBB001C0AB8 /* Search */, ); path = View; @@ -223,6 +286,7 @@ D9C6AB4821FAAD09001C0AB8 /* Controller */ = { isa = PBXGroup; children = ( + BC7969BD22002EB70003F520 /* Live */, D9C6AB4921FAAD09001C0AB8 /* Search */, D9C6AB4B21FAAD09001C0AB8 /* Main */, ); @@ -317,11 +381,18 @@ files = ( 35DC0DFF21F6FB3200F30416 /* .swiftlint.yml in Resources */, 35DC0DD921F6F3CB00F30416 /* LaunchScreen.storyboard in Resources */, + BC9E02AB2202EBFD00ADD1D5 /* TrandDateHeaderCell.xib in Resources */, + BC9E02A52202E02600ADD1D5 /* TrandListView.xib in Resources */, 35CB482121FB6306000D96CF /* ArticleFeedTableViewCell.xib in Resources */, 35DC0E0821F70BBC00F30416 /* ArticleDetail.storyboard in Resources */, + BC7969C72200AD190003F520 /* TrandPageView.xib in Resources */, + BC7969D02201749F0003F520 /* TrandHeaderTableViewCell.xib in Resources */, 35DC0DD621F6F3CB00F30416 /* Assets.xcassets in Resources */, 35DC0DD421F6F3C700F30416 /* Main.storyboard in Resources */, + BC7969BC22002EB20003F520 /* Live.storyboard in Resources */, D9C6AB4421FA9CF8001C0AB8 /* Search.storyboard in Resources */, + BC7969CB22015B010003F520 /* TrandHeaderView.xib in Resources */, + BC7969D4220174B40003F520 /* TrandTableViewCell.xib in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -378,21 +449,30 @@ BC2656BF21FD94EE00003413 /* APIManager.swift in Sources */, 35CB482021FB6306000D96CF /* ArticleFeedTableViewCell.swift in Sources */, D9C6AB4D21FAAD0A001C0AB8 /* SearchViewController.swift in Sources */, + BC7969B922002E620003F520 /* TrandDays.swift in Sources */, + BC7969C922015AF30003F520 /* TrandHeaderView.swift in Sources */, BC2656C721FD950900003413 /* Articles.swift in Sources */, D9C6AB5D21FC152D001C0AB8 /* SearchScrollEnum.swift in Sources */, + BC9E02A72202E03A00ADD1D5 /* TrandListView.swift in Sources */, D9C6AB3D21FA9B3E001C0AB8 /* Extension+UIColor.swift in Sources */, + BC7969D3220174B40003F520 /* TrandTableViewCell.swift in Sources */, BC2656BE21FD94EE00003413 /* APIService.swift in Sources */, + BC9E02AA2202EBFD00ADD1D5 /* TrandDateHeaderCell.swift in Sources */, BC2656BD21FD94EE00003413 /* EventRegistryAPI.swift in Sources */, + BC7969CF2201749F0003F520 /* TrandHeaderTableViewCell.swift in Sources */, + BC7969C52200AD0E0003F520 /* TrandPageView.swift in Sources */, BC2656C321FD94EE00003413 /* NetworkResult.swift in Sources */, BC2656C021FD94EE00003413 /* APICenter.swift in Sources */, BC2656C221FD94EE00003413 /* ParametersEncoder.swift in Sources */, BC2656B021FD94E000003413 /* Extension+URL.swift in Sources */, BC2656C121FD94EE00003413 /* NetworkResponse.swift in Sources */, 35DC0DCF21F6F3C700F30416 /* AppDelegate.swift in Sources */, + BC7969BF22002EC30003F520 /* LiveViewController.swift in Sources */, D9C6AB4E21FAAD0A001C0AB8 /* MainViewController.swift in Sources */, 6AE2D7AE21FEF30D00444622 /* Config.swift in Sources */, 35CB481D21FAE7C8000D96CF /* ArticleImageViewController.swift in Sources */, 35CB481B21FAC610000D96CF /* ArticleDetailViewController.swift in Sources */, + BC7969C122002F440003F520 /* GoogleTrendAPI.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -540,9 +620,9 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = ""; + DEVELOPMENT_TEAM = 86PPC52X64; INFOPLIST_FILE = tree/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 12.1; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -560,9 +640,9 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = ""; + DEVELOPMENT_TEAM = 86PPC52X64; INFOPLIST_FILE = tree/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 12.1; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", diff --git a/tree/tree/Base.lproj/Main.storyboard b/tree/tree/Base.lproj/Main.storyboard index f1bcf38..029c864 100644 --- a/tree/tree/Base.lproj/Main.storyboard +++ b/tree/tree/Base.lproj/Main.storyboard @@ -1,24 +1,39 @@ - + + + + - - + - - + + - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + diff --git a/tree/tree/Controller/Live/LiveViewController.swift b/tree/tree/Controller/Live/LiveViewController.swift new file mode 100644 index 0000000..139e5b9 --- /dev/null +++ b/tree/tree/Controller/Live/LiveViewController.swift @@ -0,0 +1,110 @@ +// +// LiveViewController.swift +// tree +// +// Created by ParkSungJoon on 29/01/2019. +// Copyright © 2019 gardener. All rights reserved. +// + +import UIKit + +class LiveViewController: UIViewController, UICollectionViewDelegateFlowLayout { + + @IBOutlet weak var scrollView: UIScrollView! + @IBOutlet weak var pageControl: UIPageControl! + + var pages: [TrandPageView] = [] + var trandData: TrandDays? { + didSet { + DispatchQueue.main.async { + self.setTrandPages() + } + } + } + + override func viewDidLoad() { + super.viewDidLoad() + networkWithServer() + } + + private func setTrandPages() { + pages = createPages() + setPageScrollView(pages: pages) + pageControl.numberOfPages = pages.count + pageControl.currentPage = 0 + view.bringSubviewToFront(pageControl) + } + + private func networkWithServer() { + APIManager.getDailyTrends(hl: "ko", geo: "US") { [weak self] (result) in + guard let self = self else { return } + switch result { + case .success(let trandData): + self.trandData = trandData + case .failure(let error): + print(error.localizedDescription) + } + } + } + + private func createPages() -> [TrandPageView] { + guard let page1: TrandPageView = Bundle.main.loadNibNamed( + "TrandPageView", + owner: self, + options: nil + )?.first as? TrandPageView else { + return [] + } + page1.trandData = trandData + guard let page2: TrandPageView = Bundle.main.loadNibNamed( + "TrandPageView", + owner: self, + options: nil + )?.first as? TrandPageView else { + return [] + } + return [page1, page2] + } + + private func setPageScrollView(pages : [TrandPageView]) { + scrollView.frame = CGRect( + x: 0, + y: 0, + width: view.frame.width, + height: view.frame.height + ) + scrollView.contentSize = CGSize( + width: view.frame.width * CGFloat(pages.count), + height: view.frame.height + ) + scrollView.isPagingEnabled = true + + for index in 0 ..< pages.count { + pages[index].frame = CGRect( + x: view.frame.width * CGFloat(index), + y: 0, + width: view.frame.width, + height: view.frame.height + ) + scrollView.addSubview(pages[index]) + } + } +} + +extension LiveViewController: UICollectionViewDelegate, UICollectionViewDataSource { + func collectionView( + _ collectionView: UICollectionView, + numberOfItemsInSection section: Int + ) -> Int { + return 9 + } + + func collectionView( + _ collectionView: UICollectionView, + cellForItemAt indexPath: IndexPath + ) -> UICollectionViewCell { + let cell = UICollectionViewCell() + cell.backgroundColor = UIColor.blue + return cell + } +} diff --git a/tree/tree/Info.plist b/tree/tree/Info.plist index 0480356..efe72ea 100644 --- a/tree/tree/Info.plist +++ b/tree/tree/Info.plist @@ -2,15 +2,6 @@ - NSAppTransportSecurity - - NSAllowsArbitraryLoads - - - LSApplicationCategoryType - - UIViewControllerBasedStatusBarAppearance - CFBundleDevelopmentRegion $(DEVELOPMENT_LANGUAGE) CFBundleExecutable @@ -27,12 +18,19 @@ 1.0 CFBundleVersion 1 + LSApplicationCategoryType + LSRequiresIPhoneOS + NSAppTransportSecurity + + NSAllowsArbitraryLoads + + UILaunchStoryboardName LaunchScreen UIMainStoryboardFile - Search + Main UIRequiredDeviceCapabilities armv7 @@ -50,5 +48,7 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight + UIViewControllerBasedStatusBarAppearance + diff --git a/tree/tree/View/Live/Live.storyboard b/tree/tree/View/Live/Live.storyboard new file mode 100644 index 0000000..1a3179d --- /dev/null +++ b/tree/tree/View/Live/Live.storyboard @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 746bbecb2e8d86d86db8f1fb0bc3a7187b45ef49 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=80=E1=85=B5=E1=86=B7=E1=84=92=E1=85=A8=E1=84=85?= =?UTF-8?q?=E1=85=B5?= Date: Fri, 1 Feb 2019 14:29:33 +0900 Subject: [PATCH 049/183] Feat : add view extension --- tree/tree/Extension/Extension+UIView.swift | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 tree/tree/Extension/Extension+UIView.swift diff --git a/tree/tree/Extension/Extension+UIView.swift b/tree/tree/Extension/Extension+UIView.swift new file mode 100644 index 0000000..d317ffc --- /dev/null +++ b/tree/tree/Extension/Extension+UIView.swift @@ -0,0 +1,15 @@ +// +// Extension+UIView.swift +// tree +// +// Created by hyeri kim on 30/01/2019. +// Copyright © 2019 gardener. All rights reserved. +// + +import UIKit + +extension UIView { + func defaultMessage(message: String) { + + } +} From 051a75107e4d41e7df5be4afc9415ced429886a6 Mon Sep 17 00:00:00 2001 From: godpp Date: Fri, 1 Feb 2019 14:34:42 +0900 Subject: [PATCH 050/183] Bug : Presentation Manager MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 파일이 누락되 다시 올립니다! --- tree/tree.xcodeproj/project.pbxproj | 16 ++++ .../PresentationController.swift | 81 +++++++++++++++++++ .../PresentationManager.swift | 24 ++++++ 3 files changed, 121 insertions(+) create mode 100644 tree/tree/Helper/PresentationManager/PresentationController.swift create mode 100644 tree/tree/Helper/PresentationManager/PresentationManager.swift diff --git a/tree/tree.xcodeproj/project.pbxproj b/tree/tree.xcodeproj/project.pbxproj index af92b5f..19484c3 100644 --- a/tree/tree.xcodeproj/project.pbxproj +++ b/tree/tree.xcodeproj/project.pbxproj @@ -45,6 +45,8 @@ BC9E02A72202E03A00ADD1D5 /* TrandListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC9E02A62202E03A00ADD1D5 /* TrandListView.swift */; }; BC9E02AA2202EBFD00ADD1D5 /* TrandDateHeaderCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC9E02A82202EBFD00ADD1D5 /* TrandDateHeaderCell.swift */; }; BC9E02AB2202EBFD00ADD1D5 /* TrandDateHeaderCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = BC9E02A92202EBFD00ADD1D5 /* TrandDateHeaderCell.xib */; }; + BC9E02B1220411CC00ADD1D5 /* PresentationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC9E02AF220411CB00ADD1D5 /* PresentationController.swift */; }; + BC9E02B2220411CC00ADD1D5 /* PresentationManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC9E02B0220411CB00ADD1D5 /* PresentationManager.swift */; }; D9C6AB3D21FA9B3E001C0AB8 /* Extension+UIColor.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9C6AB3721FA9B3E001C0AB8 /* Extension+UIColor.swift */; }; D9C6AB4421FA9CF8001C0AB8 /* Search.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = D9C6AB4321FA9CF8001C0AB8 /* Search.storyboard */; }; D9C6AB4D21FAAD0A001C0AB8 /* SearchViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9C6AB4A21FAAD09001C0AB8 /* SearchViewController.swift */; }; @@ -94,6 +96,8 @@ BC9E02A62202E03A00ADD1D5 /* TrandListView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TrandListView.swift; sourceTree = ""; }; BC9E02A82202EBFD00ADD1D5 /* TrandDateHeaderCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TrandDateHeaderCell.swift; sourceTree = ""; }; BC9E02A92202EBFD00ADD1D5 /* TrandDateHeaderCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = TrandDateHeaderCell.xib; sourceTree = ""; }; + BC9E02AF220411CB00ADD1D5 /* PresentationController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PresentationController.swift; sourceTree = ""; }; + BC9E02B0220411CB00ADD1D5 /* PresentationManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PresentationManager.swift; sourceTree = ""; }; BF0163F8362378789ACC30D4 /* Pods_tree.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_tree.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D9C6AB3721FA9B3E001C0AB8 /* Extension+UIColor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Extension+UIColor.swift"; sourceTree = ""; }; D9C6AB4321FA9CF8001C0AB8 /* Search.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Search.storyboard; sourceTree = ""; }; @@ -254,6 +258,15 @@ path = Live; sourceTree = ""; }; + BC9E02AE220411BD00ADD1D5 /* PresentationManager */ = { + isa = PBXGroup; + children = ( + BC9E02AF220411CB00ADD1D5 /* PresentationController.swift */, + BC9E02B0220411CB00ADD1D5 /* PresentationManager.swift */, + ); + path = PresentationManager; + sourceTree = ""; + }; D9C6AB3621FA9B3E001C0AB8 /* Extension */ = { isa = PBXGroup; children = ( @@ -314,6 +327,7 @@ D9C6AB5B21FC151C001C0AB8 /* Helper */ = { isa = PBXGroup; children = ( + BC9E02AE220411BD00ADD1D5 /* PresentationManager */, D9C6AB5C21FC152D001C0AB8 /* SearchScrollEnum.swift */, ); path = Helper; @@ -458,6 +472,7 @@ BC7969D3220174B40003F520 /* TrandTableViewCell.swift in Sources */, BC2656BE21FD94EE00003413 /* APIService.swift in Sources */, BC9E02AA2202EBFD00ADD1D5 /* TrandDateHeaderCell.swift in Sources */, + BC9E02B2220411CC00ADD1D5 /* PresentationManager.swift in Sources */, BC2656BD21FD94EE00003413 /* EventRegistryAPI.swift in Sources */, BC7969CF2201749F0003F520 /* TrandHeaderTableViewCell.swift in Sources */, BC7969C52200AD0E0003F520 /* TrandPageView.swift in Sources */, @@ -473,6 +488,7 @@ 35CB481D21FAE7C8000D96CF /* ArticleImageViewController.swift in Sources */, 35CB481B21FAC610000D96CF /* ArticleDetailViewController.swift in Sources */, BC7969C122002F440003F520 /* GoogleTrendAPI.swift in Sources */, + BC9E02B1220411CC00ADD1D5 /* PresentationController.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/tree/tree/Helper/PresentationManager/PresentationController.swift b/tree/tree/Helper/PresentationManager/PresentationController.swift new file mode 100644 index 0000000..37b83b9 --- /dev/null +++ b/tree/tree/Helper/PresentationManager/PresentationController.swift @@ -0,0 +1,81 @@ +// +// PresentationController.swift +// tree +// +// Created by Hyeontae on 28/01/2019. +// Copyright © 2019 gardener. All rights reserved. +// + +import UIKit + +class PresentationController: UIPresentationController { + fileprivate var dimmingView: UIView! + + override var frameOfPresentedViewInContainerView: CGRect { + var frame: CGRect = .zero + guard let parentContainerView = containerView else { return CGRect() } + frame.size = size(forChildContentContainer: presentedViewController, + withParentContainerSize: parentContainerView.bounds.size) + frame.origin.y = parentContainerView.frame.height - 355 + return frame + } + + override init(presentedViewController: UIViewController, presenting presentingViewController: UIViewController?) { + super.init(presentedViewController: presentedViewController, + presenting: presentingViewController) + dimmingViewSetting() + } + + override func presentationTransitionWillBegin() { + containerView?.insertSubview(dimmingView, at: 0) + NSLayoutConstraint.activate( + NSLayoutConstraint.constraints(withVisualFormat: "V:|[dimmingView]|", + options: [], metrics: nil, views: ["dimmingView": dimmingView])) + NSLayoutConstraint.activate( + NSLayoutConstraint.constraints(withVisualFormat: "H:|[dimmingView]|", + options: [], metrics: nil, views: ["dimmingView": dimmingView])) + + guard let coordinator = presentedViewController.transitionCoordinator else { + dimmingView.alpha = 1.0 + return + } + coordinator.animate(alongsideTransition: { _ in + self.dimmingView.alpha = 1.0 + }) + } + + override func dismissalTransitionWillBegin() { + guard let coordinator = presentedViewController.transitionCoordinator else { + dimmingView.alpha = 0.0 + return + } + coordinator.animate(alongsideTransition: { _ in + self.dimmingView.alpha = 0.0 + }) + } + + override func containerViewWillLayoutSubviews() { + presentedView?.frame = frameOfPresentedViewInContainerView + } + + override func size(forChildContentContainer container: UIContentContainer, + withParentContainerSize parentSize: CGSize) -> CGSize { + return CGSize(width: parentSize.width, height: 375) + } +} + +private extension PresentationController { + + func dimmingViewSetting() { + dimmingView = UIView() + dimmingView.translatesAutoresizingMaskIntoConstraints = false + dimmingView.backgroundColor = UIColor(white: 0.0, alpha: 0.5) + dimmingView.alpha = 0.0 + let recognizer = UITapGestureRecognizer(target: self, action: #selector(dimmingViewTapAction(recognizer:))) + dimmingView.addGestureRecognizer(recognizer) + } + + @objc func dimmingViewTapAction(recognizer: UITapGestureRecognizer) { + presentingViewController.dismiss(animated: true) + } +} diff --git a/tree/tree/Helper/PresentationManager/PresentationManager.swift b/tree/tree/Helper/PresentationManager/PresentationManager.swift new file mode 100644 index 0000000..1f4ff20 --- /dev/null +++ b/tree/tree/Helper/PresentationManager/PresentationManager.swift @@ -0,0 +1,24 @@ +// +// PresentationManager.swift +// tree +// +// Created by Hyeontae on 28/01/2019. +// Copyright © 2019 gardener. All rights reserved. +// + +import UIKit + +class PresentationManager: NSObject { + +} + +extension PresentationManager: UIViewControllerTransitioningDelegate { + func presentationController(forPresented presented: UIViewController, + presenting: UIViewController?, + source: UIViewController) -> UIPresentationController? { + let presentationController = PresentationController(presentedViewController: presented, + presenting: presenting) + return presentationController + } +} + From 0420281c80aa103efdb63654fd85c0436eb621c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=80=E1=85=B5=E1=86=B7=E1=84=92=E1=85=A8=E1=84=85?= =?UTF-8?q?=E1=85=B5?= Date: Fri, 1 Feb 2019 15:56:15 +0900 Subject: [PATCH 051/183] =?UTF-8?q?Feat=20:=20default=20message=20func=20&?= =?UTF-8?q?=20set=20loading=20view=20clear=20=E1=84=8E=E1=85=A5=E1=86=BA?= =?UTF-8?q?=20=E1=84=92=E1=85=AA=E1=84=86=E1=85=A7=E1=86=AB=E1=84=8B?= =?UTF-8?q?=E1=85=A6=20=E1=84=86=E1=85=A6=E1=84=89=E1=85=B5=E1=84=8C?= =?UTF-8?q?=E1=85=B5=20=E1=84=84=E1=85=B4=E1=84=8B=E1=85=AF=E1=84=8C?= =?UTF-8?q?=E1=85=AE=E1=84=80=E1=85=B5,=20loadingview=E1=84=8B=E1=85=A6=20?= =?UTF-8?q?background=E1=84=85=E1=85=B3=E1=86=AF=20celar=E1=84=85=E1=85=A9?= =?UTF-8?q?=20=E1=84=8E=E1=85=A5=E1=84=85=E1=85=B5=E1=84=92=E1=85=A2?= =?UTF-8?q?=E1=86=BB=E1=84=89=E1=85=B3=E1=86=B8=E1=84=82=E1=85=B5=E1=84=83?= =?UTF-8?q?=E1=85=A1.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Search/SearchViewController.swift | 22 +++++++++++++++++++ tree/tree/View/Helper/LoadingView.xib | 4 ++-- 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/tree/tree/Controller/Search/SearchViewController.swift b/tree/tree/Controller/Search/SearchViewController.swift index c4ef518..a11d8f2 100644 --- a/tree/tree/Controller/Search/SearchViewController.swift +++ b/tree/tree/Controller/Search/SearchViewController.swift @@ -16,6 +16,8 @@ class SearchViewController: UIViewController { @IBOutlet weak var navigationFilterItem: UIButton! private let cellIdentifier: String = "ArticleFeedTableViewCell" + + private var loadingView: LoadingView? private var topOffset: CGFloat = UIApplication.shared.statusBarOrientation.isLandscape ? 44 : 64 private var tableViewContentOffsetY: CGFloat = 0 private var tableViewScrollCount: (down: Int, up: Int) = (0, 0) @@ -23,6 +25,7 @@ class SearchViewController: UIViewController { private var searchBarIsPresented: Bool = true private var transitionDelegate = PresentationManager() private var articles: [Article]? + private var defaultLabel = UILabel() override func viewDidLoad() { super.viewDidLoad() @@ -32,6 +35,22 @@ class SearchViewController: UIViewController { navigationBarSetting() registerArticleCell() filterItemSetting() + defaultMessage() + } + + private func defaultMessage() { + defaultLabel.text = "🌴Search Please🌴" + defaultLabel.frame.size = CGSize(width: 200, height: 50) + defaultLabel.center = self.view.center + defaultLabel.textAlignment = .center + view.addSubview(defaultLabel) + } + + private func setLoadingView() { + let loadingViewFrame = CGRect(x: 0, y: 0, width: 100, height: 100) + loadingView = LoadingView(frame: loadingViewFrame) + loadingView?.center = self.view.center + self.view.addSubview(loadingView!) } private func delegateSetting() { @@ -65,12 +84,14 @@ class SearchViewController: UIViewController { } private func getArticlesFromServer(keyword: String) { + self.setLoadingView() APIManager.getArticles(keyword: keyword, keywordLoc: "title", lang: "eng", articlesSortBy: "date", articlesPage: 1) { (result) in switch result { case .success(let articleData): self.articles = articleData.articles.results DispatchQueue.main.async { self.uiTableView.reloadData() + self.loadingView?.removeFromSuperview() } case .failure(let error): print(error.localizedDescription) @@ -162,6 +183,7 @@ extension SearchViewController: UISearchBarDelegate { self.navigationItem.title = searchBar.text ?? "Search" if let searchKeyword = searchBar.text { getArticlesFromServer(keyword: searchKeyword) + defaultLabel.removeFromSuperview() } searchBarHideAndSetting() } diff --git a/tree/tree/View/Helper/LoadingView.xib b/tree/tree/View/Helper/LoadingView.xib index b786c92..401ba1a 100644 --- a/tree/tree/View/Helper/LoadingView.xib +++ b/tree/tree/View/Helper/LoadingView.xib @@ -57,7 +57,7 @@ - + @@ -68,7 +68,7 @@ - + From 71e1417df5e718d10d586b19b281f676ffd06ee8 Mon Sep 17 00:00:00 2001 From: godpp Date: Fri, 1 Feb 2019 16:09:51 +0900 Subject: [PATCH 052/183] Refactor : Google Trend Data Naming MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Data Model Naming 변경했습니다! 읽히기 쉽게 하도록 변경해봤습니다! --- .../Controller/Live/LiveViewController.swift | 27 +++---------------- tree/tree/Model/Articles.swift | 6 ++--- tree/tree/Model/TrandDays.swift | 25 ++++++++--------- .../Network Layer/Service/APIManager.swift | 4 +-- tree/tree/View/Live/TrandPageView.swift | 10 +++---- 5 files changed, 27 insertions(+), 45 deletions(-) diff --git a/tree/tree/Controller/Live/LiveViewController.swift b/tree/tree/Controller/Live/LiveViewController.swift index 139e5b9..6e2f351 100644 --- a/tree/tree/Controller/Live/LiveViewController.swift +++ b/tree/tree/Controller/Live/LiveViewController.swift @@ -13,8 +13,8 @@ class LiveViewController: UIViewController, UICollectionViewDelegateFlowLayout { @IBOutlet weak var scrollView: UIScrollView! @IBOutlet weak var pageControl: UIPageControl! - var pages: [TrandPageView] = [] - var trandData: TrandDays? { + private var pages: [TrandPageView] = [] + private var googleTrendData: TrendDays? { didSet { DispatchQueue.main.async { self.setTrandPages() @@ -40,7 +40,7 @@ class LiveViewController: UIViewController, UICollectionViewDelegateFlowLayout { guard let self = self else { return } switch result { case .success(let trandData): - self.trandData = trandData + self.googleTrendData = trandData case .failure(let error): print(error.localizedDescription) } @@ -55,7 +55,7 @@ class LiveViewController: UIViewController, UICollectionViewDelegateFlowLayout { )?.first as? TrandPageView else { return [] } - page1.trandData = trandData + page1.googleTrendData = googleTrendData guard let page2: TrandPageView = Bundle.main.loadNibNamed( "TrandPageView", owner: self, @@ -78,7 +78,6 @@ class LiveViewController: UIViewController, UICollectionViewDelegateFlowLayout { height: view.frame.height ) scrollView.isPagingEnabled = true - for index in 0 ..< pages.count { pages[index].frame = CGRect( x: view.frame.width * CGFloat(index), @@ -90,21 +89,3 @@ class LiveViewController: UIViewController, UICollectionViewDelegateFlowLayout { } } } - -extension LiveViewController: UICollectionViewDelegate, UICollectionViewDataSource { - func collectionView( - _ collectionView: UICollectionView, - numberOfItemsInSection section: Int - ) -> Int { - return 9 - } - - func collectionView( - _ collectionView: UICollectionView, - cellForItemAt indexPath: IndexPath - ) -> UICollectionViewCell { - let cell = UICollectionViewCell() - cell.backgroundColor = UIColor.blue - return cell - } -} diff --git a/tree/tree/Model/Articles.swift b/tree/tree/Model/Articles.swift index 819cd70..a2a9d22 100644 --- a/tree/tree/Model/Articles.swift +++ b/tree/tree/Model/Articles.swift @@ -13,9 +13,9 @@ struct Articles: Codable { } struct Results: Codable { - let page: Int // Current page number - let totalResults: Int // Total articles count - let pages: Int // Total pages count + let page: Int + let totalResults: Int + let pages: Int let results: [Article] } diff --git a/tree/tree/Model/TrandDays.swift b/tree/tree/Model/TrandDays.swift index 5fa6141..9daeeaf 100644 --- a/tree/tree/Model/TrandDays.swift +++ b/tree/tree/Model/TrandDays.swift @@ -8,28 +8,31 @@ import Foundation -struct TrandDays: Codable { - let trandDaysDefault: Default - +struct TrendDays: Codable { + let trend: Default private enum CodingKeys: String, CodingKey { - case trandDaysDefault = "default" + case trend = "default" } } struct Default: Codable { - let trendingSearchesDays: [TrendingSearchesDay] + let searchesByDays: [TrendingSearchesDay] let endDateForNextRequest: String let rssFeedPageURL: String - private enum CodingKeys: String, CodingKey { - case trendingSearchesDays, endDateForNextRequest + case endDateForNextRequest case rssFeedPageURL = "rssFeedPageUrl" + case searchesByDays = "trendingSearchesDays" } } struct TrendingSearchesDay: Codable { let date, formattedDate: String - let trendingSearches: [TrendingSearch] + let keywordList: [TrendingSearch] + private enum CodingKeys: String, CodingKey { + case date, formattedDate + case keywordList = "trendingSearches" + } } struct TrendingSearch: Codable { @@ -37,16 +40,15 @@ struct TrendingSearch: Codable { let formattedTraffic: String let relatedQueries: [Title] let image: Image - let articles: [Articlea] + let articles: [KeywordArticles] let shareURL: String - private enum CodingKeys: String, CodingKey { case title, formattedTraffic, relatedQueries, image, articles case shareURL = "shareUrl" } } -struct Articlea: Codable { +struct KeywordArticles: Codable { let title, timeAgo, source: String let image: Image? let url: String @@ -57,7 +59,6 @@ struct Image: Codable { let newsURL: String let source: String let imageURL: String - private enum CodingKeys: String, CodingKey { case newsURL = "newsUrl" case source diff --git a/tree/tree/Network Layer/Service/APIManager.swift b/tree/tree/Network Layer/Service/APIManager.swift index 3859600..e23b32f 100644 --- a/tree/tree/Network Layer/Service/APIManager.swift +++ b/tree/tree/Network Layer/Service/APIManager.swift @@ -39,13 +39,13 @@ final class APIManager { static func getDailyTrends( hl: String, geo: String, - completion: @escaping (Result + completion: @escaping (Result ) -> Void) { APICenter().requestDownload(.getDailyTrends(hl: hl, geo: geo)) { (pureJSON, error) in guard let pureJSON = pureJSON else { return } guard let jsonData = pureJSON.data(using: .utf8) else { return } do { - let decodeJSON = try JSONDecoder().decode(TrandDays.self, from: jsonData) + let decodeJSON = try JSONDecoder().decode(TrendDays.self, from: jsonData) completion(Result.success(decodeJSON)) } catch { completion(Result.failure(NetworkError.decodingFail)) diff --git a/tree/tree/View/Live/TrandPageView.swift b/tree/tree/View/Live/TrandPageView.swift index 2c33692..af25cc3 100644 --- a/tree/tree/View/Live/TrandPageView.swift +++ b/tree/tree/View/Live/TrandPageView.swift @@ -17,7 +17,7 @@ class TrandPageView: UIView { private let listCellIdentifier = "TrandTableViewCell" private let dateHeaderCellIdentifier = "TrandDateHeaderCell" - var trandData: TrandDays? + var googleTrendData: TrendDays? override func awakeFromNib() { super.awakeFromNib() @@ -50,7 +50,7 @@ extension TrandPageView: UITableViewDelegate, UITableViewDataSource { func numberOfSections(in tableView: UITableView) -> Int { guard - let sectionCount = trandData?.trandDaysDefault.trendingSearchesDays.count else { + let sectionCount = googleTrendData?.trend.searchesByDays.count else { return 1 } return sectionCount + 1 @@ -62,7 +62,7 @@ extension TrandPageView: UITableViewDelegate, UITableViewDataSource { return 1 default: guard - let listBySection = trandData?.trandDaysDefault.trendingSearchesDays[section-1].trendingSearches else { + let listBySection = googleTrendData?.trend.searchesByDays[section-1].keywordList else { return 0 } return listBySection.count @@ -81,7 +81,7 @@ extension TrandPageView: UITableViewDelegate, UITableViewDataSource { return UIView() } headerCell.backgroundColor = UIColor.white - headerCell.dateLabel.text = trandData?.trandDaysDefault.trendingSearchesDays[section-1].formattedDate + headerCell.dateLabel.text = googleTrendData?.trend.searchesByDays[section-1].formattedDate return headerCell.contentView } } @@ -104,7 +104,7 @@ extension TrandPageView: UITableViewDelegate, UITableViewDataSource { ) as? TrandTableViewCell else { return UITableViewCell() } - let row = trandData?.trandDaysDefault.trendingSearchesDays[indexPath.section-1].trendingSearches[indexPath.row] + let row = googleTrendData?.trend.searchesByDays[indexPath.section-1].keywordList[indexPath.row] cell.listView.titleLabel.text = row?.title.query cell.listView.rankLabel.text = "\(indexPath.row + 1)" cell.listView.subscriptLabel.text = row?.articles[0].title From a6354ebe32f4cd4e4d8cca950f7efbd8b736acda Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=80=E1=85=B5=E1=86=B7=E1=84=92=E1=85=A8=E1=84=85?= =?UTF-8?q?=E1=85=B5?= Date: Fri, 1 Feb 2019 16:44:07 +0900 Subject: [PATCH 053/183] =?UTF-8?q?#33=20#34=20Edit=20:=20change=20dot=20c?= =?UTF-8?q?olor=20&=20rename=20variable=20=E1=84=8B=E1=85=B5=E1=86=AB?= =?UTF-8?q?=E1=84=83=E1=85=B5=E1=84=8F=E1=85=A6=E1=84=8B=E1=85=B5=E1=84=90?= =?UTF-8?q?=E1=85=A5=20=E1=84=87=E1=85=B2=E1=84=8B=E1=85=B4=20=E1=84=89?= =?UTF-8?q?=E1=85=A2=E1=86=A8=E1=84=89=E1=85=A1=E1=86=BC=E1=84=8B=E1=85=B3?= =?UTF-8?q?=E1=86=AF=20dark=20gray=E1=84=85=E1=85=A9=20=E1=84=87=E1=85=A7?= =?UTF-8?q?=E1=86=AB=E1=84=80=E1=85=A7=E1=86=BC=E1=84=92=E1=85=A2=E1=86=BB?= =?UTF-8?q?=E1=84=89=E1=85=B3=E1=86=B8=E1=84=82=E1=85=B5=E1=84=83=E1=85=A1?= =?UTF-8?q?.=20=E1=84=8B=E1=85=B5=E1=84=86=E1=85=B5=E1=84=8C=E1=85=B5=20?= =?UTF-8?q?=E1=84=85=E1=85=A9=E1=84=83=E1=85=B3=E1=84=89=E1=85=B5=20?= =?UTF-8?q?=E1=84=8B=E1=85=B5=E1=86=AB=E1=84=83=E1=85=B5=E1=84=8F=E1=85=A6?= =?UTF-8?q?=E1=84=8B=E1=85=B5=E1=84=90=E1=85=A5=20=E1=84=87=E1=85=B2?= =?UTF-8?q?=E1=84=85=E1=85=B3=E1=86=AF=20=E1=84=89=E1=85=A2=E1=86=BC?= =?UTF-8?q?=E1=84=89=E1=85=A5=E1=86=BC=E1=84=92=E1=85=A1=E1=84=80=E1=85=A9?= =?UTF-8?q?=20=E1=84=8B=E1=85=AA=E1=86=AB=E1=84=85=E1=85=AD=E1=84=89?= =?UTF-8?q?=E1=85=B5=20=E1=84=8C=E1=85=A6=E1=84=80=E1=85=A5=E1=84=92?= =?UTF-8?q?=E1=85=A2=E1=86=BB=E1=84=89=E1=85=B3=E1=86=B8=E1=84=82=E1=85=B5?= =?UTF-8?q?=E1=84=83=E1=85=A1.=20(=E1=84=8B=E1=85=B5=E1=86=AB=E1=84=83?= =?UTF-8?q?=E1=85=B5=E1=84=8F=E1=85=A6=E1=84=8B=E1=85=B5=E1=84=90=E1=85=A5?= =?UTF-8?q?=E1=84=8B=E1=85=A6=20=E1=84=83=E1=85=A2=E1=84=92=E1=85=A1?= =?UTF-8?q?=E1=86=AB=20notifiaction=E1=84=82=E1=85=B3=E1=86=AB=20=E1=84=82?= =?UTF-8?q?=E1=85=A1=E1=84=8C=E1=85=AE=E1=86=BC=E1=84=8B=E1=85=A6=20?= =?UTF-8?q?=E1=84=84=E1=85=A1=E1=84=85=E1=85=A9=20=E1=84=89=E1=85=A2?= =?UTF-8?q?=E1=86=BC=E1=84=89=E1=85=A5=E1=86=BC=E1=84=92=E1=85=A1=E1=84=80?= =?UTF-8?q?=E1=85=A6=E1=86=BB=E1=84=89=E1=85=B3=E1=86=B8=E1=84=82=E1=85=B5?= =?UTF-8?q?=E1=84=83=E1=85=A1.)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tree/tree/View/Helper/LoadingView.swift | 8 ++++---- tree/tree/View/Helper/LoadingView.xib | 10 +++++----- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/tree/tree/View/Helper/LoadingView.swift b/tree/tree/View/Helper/LoadingView.swift index 46edbaa..9687879 100644 --- a/tree/tree/View/Helper/LoadingView.swift +++ b/tree/tree/View/Helper/LoadingView.swift @@ -44,10 +44,10 @@ class LoadingView: UIView { } private func setRadius() { - let circle: CGFloat = 5 - dot1.layer.cornerRadius = circle - dot2.layer.cornerRadius = circle - dot3.layer.cornerRadius = circle + let radius: CGFloat = 5 + dot1.layer.cornerRadius = radius + dot2.layer.cornerRadius = radius + dot3.layer.cornerRadius = radius } private func startAnimation() { diff --git a/tree/tree/View/Helper/LoadingView.xib b/tree/tree/View/Helper/LoadingView.xib index 401ba1a..d89703f 100644 --- a/tree/tree/View/Helper/LoadingView.xib +++ b/tree/tree/View/Helper/LoadingView.xib @@ -24,7 +24,7 @@ - + @@ -32,7 +32,7 @@ - + @@ -40,7 +40,7 @@ - + @@ -48,7 +48,7 @@ - + @@ -75,7 +75,7 @@ - + From 6d73be7e5af723ba1bd70972cae097d6281eb370 Mon Sep 17 00:00:00 2001 From: godpp Date: Fri, 1 Feb 2019 16:51:11 +0900 Subject: [PATCH 054/183] Refactor: page Naming MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit page1, page2로 표시하던 뷰이름 변경했습니다! --- tree/tree/Controller/Live/LiveViewController.swift | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tree/tree/Controller/Live/LiveViewController.swift b/tree/tree/Controller/Live/LiveViewController.swift index 6e2f351..5dc67e3 100644 --- a/tree/tree/Controller/Live/LiveViewController.swift +++ b/tree/tree/Controller/Live/LiveViewController.swift @@ -48,22 +48,22 @@ class LiveViewController: UIViewController, UICollectionViewDelegateFlowLayout { } private func createPages() -> [TrandPageView] { - guard let page1: TrandPageView = Bundle.main.loadNibNamed( + guard let pageByDays: TrandPageView = Bundle.main.loadNibNamed( "TrandPageView", owner: self, options: nil )?.first as? TrandPageView else { return [] } - page1.googleTrendData = googleTrendData - guard let page2: TrandPageView = Bundle.main.loadNibNamed( + pageByDays.googleTrendData = googleTrendData + guard let pageByRealTime: TrandPageView = Bundle.main.loadNibNamed( "TrandPageView", owner: self, options: nil )?.first as? TrandPageView else { return [] } - return [page1, page2] + return [pageByDays, pageByRealTime] } private func setPageScrollView(pages : [TrandPageView]) { From ff94a536fd7307e16693de2c3405cd9ec40bd4dc Mon Sep 17 00:00:00 2001 From: godpp Date: Fri, 1 Feb 2019 16:51:43 +0900 Subject: [PATCH 055/183] Refactor : try! MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit catch 문 작성! --- tree/tree/Network Layer/Service/APICenter.swift | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/tree/tree/Network Layer/Service/APICenter.swift b/tree/tree/Network Layer/Service/APICenter.swift index f02248b..b2771b8 100644 --- a/tree/tree/Network Layer/Service/APICenter.swift +++ b/tree/tree/Network Layer/Service/APICenter.swift @@ -50,8 +50,8 @@ class APICenter { _ error: NetworkError? ) -> Void) { do { - let urlRequest = try? makeURLRequest(from: service) - let task = URLSession.shared.downloadTask(with: urlRequest!) { (localURL, response, _) in + let urlRequest = try makeURLRequest(from: service) + let task = URLSession.shared.downloadTask(with: urlRequest) { (localURL, response, _) in guard let localURL = localURL else { return completion(nil, NetworkError.invalidURL) } @@ -77,6 +77,8 @@ class APICenter { } } task.resume() + } catch { + completion(nil, NetworkError.makeURLRequestFail) } } @@ -95,7 +97,6 @@ class APICenter { throw error } } - print(urlRequest.url) return urlRequest } From dcdc6effbdf0b3ac7f102ff169f9b33f5b21eabe Mon Sep 17 00:00:00 2001 From: godpp Date: Fri, 1 Feb 2019 16:53:42 +0900 Subject: [PATCH 056/183] Refactor : White Space --- tree/tree/View/Live/TrandPageView.swift | 1 - 1 file changed, 1 deletion(-) diff --git a/tree/tree/View/Live/TrandPageView.swift b/tree/tree/View/Live/TrandPageView.swift index af25cc3..23d49f5 100644 --- a/tree/tree/View/Live/TrandPageView.swift +++ b/tree/tree/View/Live/TrandPageView.swift @@ -10,7 +10,6 @@ import UIKit class TrandPageView: UIView { - @IBOutlet weak var tableView: UITableView! private let headerCellIdentifier = "TrandHeaderTableViewCell" From 3f7303c38d144b45bcf1df00a90e68f424454b8a Mon Sep 17 00:00:00 2001 From: godpp Date: Fri, 1 Feb 2019 16:54:32 +0900 Subject: [PATCH 057/183] =?UTF-8?q?Refactor=20:=20let=20var=20=EC=88=9C?= =?UTF-8?q?=EC=84=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tree/tree/View/Live/TrandHeaderView.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tree/tree/View/Live/TrandHeaderView.swift b/tree/tree/View/Live/TrandHeaderView.swift index 615163a..9cd9acb 100644 --- a/tree/tree/View/Live/TrandHeaderView.swift +++ b/tree/tree/View/Live/TrandHeaderView.swift @@ -15,8 +15,8 @@ class TrandHeaderView: UIView { @IBOutlet weak var countryLabel: UILabel! private let xibName = "TrandHeaderView" - private weak var shadowView: UIView? private let innerMargin: CGFloat = 20.0 + private weak var shadowView: UIView? required init?(coder aDecoder: NSCoder) { super.init(coder: aDecoder) From 9e7f64f900bae0d3b278df907dc6ed3bf5a21deb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=80=E1=85=B5=E1=86=B7=E1=84=92=E1=85=A8=E1=84=85?= =?UTF-8?q?=E1=85=B5?= Date: Fri, 1 Feb 2019 17:13:30 +0900 Subject: [PATCH 058/183] Refactor : Solved project file conflict --- tree/tree.xcodeproj/project.pbxproj | 1377 +++++++++++++-------------- 1 file changed, 682 insertions(+), 695 deletions(-) diff --git a/tree/tree.xcodeproj/project.pbxproj b/tree/tree.xcodeproj/project.pbxproj index 4f258f0..93558c4 100644 --- a/tree/tree.xcodeproj/project.pbxproj +++ b/tree/tree.xcodeproj/project.pbxproj @@ -1,738 +1,725 @@ // !$*UTF8*$! { - archiveVersion = 1; - classes = { - }; - objectVersion = 50; - objects = { + archiveVersion = 1; + classes = { + }; + objectVersion = 50; + objects = { /* Begin PBXBuildFile section */ - 35CB481B21FAC610000D96CF /* ArticleDetailViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 35DC0E0221F70AB700F30416 /* ArticleDetailViewController.swift */; }; - 35CB481D21FAE7C8000D96CF /* ArticleImageViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 35CB481C21FAE7C8000D96CF /* ArticleImageViewController.swift */; }; - 35CB482021FB6306000D96CF /* ArticleFeedTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 35CB481E21FB6306000D96CF /* ArticleFeedTableViewCell.swift */; }; - 35CB482121FB6306000D96CF /* ArticleFeedTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 35CB481F21FB6306000D96CF /* ArticleFeedTableViewCell.xib */; }; - 35DC0DCF21F6F3C700F30416 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 35DC0DCE21F6F3C700F30416 /* AppDelegate.swift */; }; - 35DC0DD421F6F3C700F30416 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 35DC0DD221F6F3C700F30416 /* Main.storyboard */; }; - 35DC0DD621F6F3CB00F30416 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 35DC0DD521F6F3CB00F30416 /* Assets.xcassets */; }; - 35DC0DD921F6F3CB00F30416 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 35DC0DD721F6F3CB00F30416 /* LaunchScreen.storyboard */; }; - 35DC0DFF21F6FB3200F30416 /* .swiftlint.yml in Resources */ = {isa = PBXBuildFile; fileRef = 35DC0DFE21F6FB3200F30416 /* .swiftlint.yml */; }; - 35DC0E0821F70BBC00F30416 /* ArticleDetail.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 35DC0E0721F70BBC00F30416 /* ArticleDetail.storyboard */; }; - 45A74A72C78EC54DD12F5CA6 /* Pods_tree.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BF0163F8362378789ACC30D4 /* Pods_tree.framework */; }; - 6A5D282A22013FA5009EC8ED /* Extension+ImageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A5D282922013FA5009EC8ED /* Extension+ImageView.swift */; }; - 6A5D282C220187F8009EC8ED /* Extension+UIView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A5D282B220187F8009EC8ED /* Extension+UIView.swift */; }; - 6A65DA432203D22B005EB2BC /* LoadingView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 6A65DA422203D22B005EB2BC /* LoadingView.xib */; }; - 6A65DA452203D242005EB2BC /* LoadingView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A65DA442203D242005EB2BC /* LoadingView.swift */; }; - 6AE2D7AE21FEF30D00444622 /* Config.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6AE2D7AD21FEF30D00444622 /* Config.swift */; }; - BC2656B021FD94E000003413 /* Extension+URL.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC2656AF21FD94E000003413 /* Extension+URL.swift */; }; - BC2656BD21FD94EE00003413 /* EventRegistryAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC2656B321FD94EE00003413 /* EventRegistryAPI.swift */; }; - BC2656BE21FD94EE00003413 /* APIService.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC2656B521FD94EE00003413 /* APIService.swift */; }; - BC2656BF21FD94EE00003413 /* APIManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC2656B621FD94EE00003413 /* APIManager.swift */; }; - BC2656C021FD94EE00003413 /* APICenter.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC2656B721FD94EE00003413 /* APICenter.swift */; }; - BC2656C121FD94EE00003413 /* NetworkResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC2656B921FD94EE00003413 /* NetworkResponse.swift */; }; - BC2656C221FD94EE00003413 /* ParametersEncoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC2656BA21FD94EE00003413 /* ParametersEncoder.swift */; }; - BC2656C321FD94EE00003413 /* NetworkResult.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC2656BB21FD94EE00003413 /* NetworkResult.swift */; }; - BC2656C421FD94EE00003413 /* NetworkError.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC2656BC21FD94EE00003413 /* NetworkError.swift */; }; - BC2656C721FD950900003413 /* Articles.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC2656C621FD950900003413 /* Articles.swift */; }; - BC7969B922002E620003F520 /* TrandDays.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC7969B822002E620003F520 /* TrandDays.swift */; }; - BC7969BC22002EB20003F520 /* Live.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = BC7969BB22002EB20003F520 /* Live.storyboard */; }; - BC7969BF22002EC30003F520 /* LiveViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC7969BE22002EC30003F520 /* LiveViewController.swift */; }; - BC7969C122002F440003F520 /* GoogleTrendAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC7969C022002F440003F520 /* GoogleTrendAPI.swift */; }; - BC7969C52200AD0E0003F520 /* TrandPageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC7969C42200AD0E0003F520 /* TrandPageView.swift */; }; - BC7969C72200AD190003F520 /* TrandPageView.xib in Resources */ = {isa = PBXBuildFile; fileRef = BC7969C62200AD190003F520 /* TrandPageView.xib */; }; - BC7969C922015AF30003F520 /* TrandHeaderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC7969C822015AF30003F520 /* TrandHeaderView.swift */; }; - BC7969CB22015B010003F520 /* TrandHeaderView.xib in Resources */ = {isa = PBXBuildFile; fileRef = BC7969CA22015B010003F520 /* TrandHeaderView.xib */; }; - BC7969CF2201749F0003F520 /* TrandHeaderTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC7969CD2201749E0003F520 /* TrandHeaderTableViewCell.swift */; }; - BC7969D02201749F0003F520 /* TrandHeaderTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = BC7969CE2201749E0003F520 /* TrandHeaderTableViewCell.xib */; }; - BC7969D3220174B40003F520 /* TrandTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC7969D1220174B40003F520 /* TrandTableViewCell.swift */; }; - BC7969D4220174B40003F520 /* TrandTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = BC7969D2220174B40003F520 /* TrandTableViewCell.xib */; }; - BC9E02A52202E02600ADD1D5 /* TrandListView.xib in Resources */ = {isa = PBXBuildFile; fileRef = BC9E02A42202E02600ADD1D5 /* TrandListView.xib */; }; - BC9E02A72202E03A00ADD1D5 /* TrandListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC9E02A62202E03A00ADD1D5 /* TrandListView.swift */; }; - BC9E02AA2202EBFD00ADD1D5 /* TrandDateHeaderCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC9E02A82202EBFD00ADD1D5 /* TrandDateHeaderCell.swift */; }; - BC9E02AB2202EBFD00ADD1D5 /* TrandDateHeaderCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = BC9E02A92202EBFD00ADD1D5 /* TrandDateHeaderCell.xib */; }; - BC9E02B1220411CC00ADD1D5 /* PresentationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC9E02AF220411CB00ADD1D5 /* PresentationController.swift */; }; - BC9E02B2220411CC00ADD1D5 /* PresentationManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC9E02B0220411CB00ADD1D5 /* PresentationManager.swift */; }; - D9C6AB3D21FA9B3E001C0AB8 /* Extension+UIColor.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9C6AB3721FA9B3E001C0AB8 /* Extension+UIColor.swift */; }; - D9C6AB4421FA9CF8001C0AB8 /* Search.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = D9C6AB4321FA9CF8001C0AB8 /* Search.storyboard */; }; - D9C6AB4D21FAAD0A001C0AB8 /* SearchViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9C6AB4A21FAAD09001C0AB8 /* SearchViewController.swift */; }; - D9C6AB4E21FAAD0A001C0AB8 /* MainViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9C6AB4C21FAAD09001C0AB8 /* MainViewController.swift */; }; - D9C6AB5D21FC152D001C0AB8 /* SearchScrollEnum.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9C6AB5C21FC152D001C0AB8 /* SearchScrollEnum.swift */; }; - D9C6AB8021FED9F7001C0AB8 /* PresentationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9C6AB7F21FED9F7001C0AB8 /* PresentationController.swift */; }; - D9C6AB8221FEDB08001C0AB8 /* PresentationManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9C6AB8121FEDB08001C0AB8 /* PresentationManager.swift */; }; - D9C6AB8421FEE6B4001C0AB8 /* SearchFilterViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9C6AB8321FEE6B4001C0AB8 /* SearchFilterViewController.swift */; }; + 35CB481B21FAC610000D96CF /* ArticleDetailViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 35DC0E0221F70AB700F30416 /* ArticleDetailViewController.swift */; }; + 35CB481D21FAE7C8000D96CF /* ArticleImageViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 35CB481C21FAE7C8000D96CF /* ArticleImageViewController.swift */; }; + 35CB482021FB6306000D96CF /* ArticleFeedTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 35CB481E21FB6306000D96CF /* ArticleFeedTableViewCell.swift */; }; + 35CB482121FB6306000D96CF /* ArticleFeedTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 35CB481F21FB6306000D96CF /* ArticleFeedTableViewCell.xib */; }; + 35DC0DCF21F6F3C700F30416 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 35DC0DCE21F6F3C700F30416 /* AppDelegate.swift */; }; + 35DC0DD421F6F3C700F30416 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 35DC0DD221F6F3C700F30416 /* Main.storyboard */; }; + 35DC0DD621F6F3CB00F30416 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 35DC0DD521F6F3CB00F30416 /* Assets.xcassets */; }; + 35DC0DD921F6F3CB00F30416 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 35DC0DD721F6F3CB00F30416 /* LaunchScreen.storyboard */; }; + 35DC0DFF21F6FB3200F30416 /* .swiftlint.yml in Resources */ = {isa = PBXBuildFile; fileRef = 35DC0DFE21F6FB3200F30416 /* .swiftlint.yml */; }; + 35DC0E0821F70BBC00F30416 /* ArticleDetail.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 35DC0E0721F70BBC00F30416 /* ArticleDetail.storyboard */; }; + 45A74A72C78EC54DD12F5CA6 /* Pods_tree.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BF0163F8362378789ACC30D4 /* Pods_tree.framework */; }; + 6A5D282A22013FA5009EC8ED /* Extension+ImageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A5D282922013FA5009EC8ED /* Extension+ImageView.swift */; }; + 6A5D282C220187F8009EC8ED /* Extension+UIView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A5D282B220187F8009EC8ED /* Extension+UIView.swift */; }; + 6A65DA432203D22B005EB2BC /* LoadingView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 6A65DA422203D22B005EB2BC /* LoadingView.xib */; }; + 6A65DA452203D242005EB2BC /* LoadingView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A65DA442203D242005EB2BC /* LoadingView.swift */; }; + 6AE2D7AE21FEF30D00444622 /* Config.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6AE2D7AD21FEF30D00444622 /* Config.swift */; }; + BC2656B021FD94E000003413 /* Extension+URL.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC2656AF21FD94E000003413 /* Extension+URL.swift */; }; + BC2656BD21FD94EE00003413 /* EventRegistryAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC2656B321FD94EE00003413 /* EventRegistryAPI.swift */; }; + BC2656BE21FD94EE00003413 /* APIService.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC2656B521FD94EE00003413 /* APIService.swift */; }; + BC2656BF21FD94EE00003413 /* APIManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC2656B621FD94EE00003413 /* APIManager.swift */; }; + BC2656C021FD94EE00003413 /* APICenter.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC2656B721FD94EE00003413 /* APICenter.swift */; }; + BC2656C121FD94EE00003413 /* NetworkResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC2656B921FD94EE00003413 /* NetworkResponse.swift */; }; + BC2656C221FD94EE00003413 /* ParametersEncoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC2656BA21FD94EE00003413 /* ParametersEncoder.swift */; }; + BC2656C321FD94EE00003413 /* NetworkResult.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC2656BB21FD94EE00003413 /* NetworkResult.swift */; }; + BC2656C421FD94EE00003413 /* NetworkError.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC2656BC21FD94EE00003413 /* NetworkError.swift */; }; + BC2656C721FD950900003413 /* Articles.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC2656C621FD950900003413 /* Articles.swift */; }; + BC7969B922002E620003F520 /* TrandDays.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC7969B822002E620003F520 /* TrandDays.swift */; }; + BC7969BC22002EB20003F520 /* Live.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = BC7969BB22002EB20003F520 /* Live.storyboard */; }; + BC7969BF22002EC30003F520 /* LiveViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC7969BE22002EC30003F520 /* LiveViewController.swift */; }; + BC7969C122002F440003F520 /* GoogleTrendAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC7969C022002F440003F520 /* GoogleTrendAPI.swift */; }; + BC7969C52200AD0E0003F520 /* TrandPageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC7969C42200AD0E0003F520 /* TrandPageView.swift */; }; + BC7969C72200AD190003F520 /* TrandPageView.xib in Resources */ = {isa = PBXBuildFile; fileRef = BC7969C62200AD190003F520 /* TrandPageView.xib */; }; + BC7969C922015AF30003F520 /* TrandHeaderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC7969C822015AF30003F520 /* TrandHeaderView.swift */; }; + BC7969CB22015B010003F520 /* TrandHeaderView.xib in Resources */ = {isa = PBXBuildFile; fileRef = BC7969CA22015B010003F520 /* TrandHeaderView.xib */; }; + BC7969CF2201749F0003F520 /* TrandHeaderTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC7969CD2201749E0003F520 /* TrandHeaderTableViewCell.swift */; }; + BC7969D02201749F0003F520 /* TrandHeaderTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = BC7969CE2201749E0003F520 /* TrandHeaderTableViewCell.xib */; }; + BC7969D3220174B40003F520 /* TrandTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC7969D1220174B40003F520 /* TrandTableViewCell.swift */; }; + BC7969D4220174B40003F520 /* TrandTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = BC7969D2220174B40003F520 /* TrandTableViewCell.xib */; }; + BC9E02A52202E02600ADD1D5 /* TrandListView.xib in Resources */ = {isa = PBXBuildFile; fileRef = BC9E02A42202E02600ADD1D5 /* TrandListView.xib */; }; + BC9E02A72202E03A00ADD1D5 /* TrandListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC9E02A62202E03A00ADD1D5 /* TrandListView.swift */; }; + BC9E02AA2202EBFD00ADD1D5 /* TrandDateHeaderCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC9E02A82202EBFD00ADD1D5 /* TrandDateHeaderCell.swift */; }; + BC9E02AB2202EBFD00ADD1D5 /* TrandDateHeaderCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = BC9E02A92202EBFD00ADD1D5 /* TrandDateHeaderCell.xib */; }; + D9C6AB3D21FA9B3E001C0AB8 /* Extension+UIColor.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9C6AB3721FA9B3E001C0AB8 /* Extension+UIColor.swift */; }; + D9C6AB4421FA9CF8001C0AB8 /* Search.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = D9C6AB4321FA9CF8001C0AB8 /* Search.storyboard */; }; + D9C6AB4D21FAAD0A001C0AB8 /* SearchViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9C6AB4A21FAAD09001C0AB8 /* SearchViewController.swift */; }; + D9C6AB4E21FAAD0A001C0AB8 /* MainViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9C6AB4C21FAAD09001C0AB8 /* MainViewController.swift */; }; + D9C6AB5D21FC152D001C0AB8 /* SearchScrollEnum.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9C6AB5C21FC152D001C0AB8 /* SearchScrollEnum.swift */; }; + D9C6AB8021FED9F7001C0AB8 /* PresentationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9C6AB7F21FED9F7001C0AB8 /* PresentationController.swift */; }; + D9C6AB8221FEDB08001C0AB8 /* PresentationManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9C6AB8121FEDB08001C0AB8 /* PresentationManager.swift */; }; + D9C6AB8421FEE6B4001C0AB8 /* SearchFilterViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9C6AB8321FEE6B4001C0AB8 /* SearchFilterViewController.swift */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ - 35CB481C21FAE7C8000D96CF /* ArticleImageViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ArticleImageViewController.swift; sourceTree = ""; }; - 35CB481E21FB6306000D96CF /* ArticleFeedTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ArticleFeedTableViewCell.swift; sourceTree = ""; }; - 35CB481F21FB6306000D96CF /* ArticleFeedTableViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = ArticleFeedTableViewCell.xib; sourceTree = ""; }; - 35DC0DCB21F6F3C700F30416 /* tree.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = tree.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 35DC0DCE21F6F3C700F30416 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; - 35DC0DD321F6F3C700F30416 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; - 35DC0DD521F6F3CB00F30416 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; - 35DC0DD821F6F3CB00F30416 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; - 35DC0DDA21F6F3CB00F30416 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 35DC0DFE21F6FB3200F30416 /* .swiftlint.yml */ = {isa = PBXFileReference; lastKnownFileType = text; path = .swiftlint.yml; sourceTree = ""; }; - 35DC0E0221F70AB700F30416 /* ArticleDetailViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ArticleDetailViewController.swift; sourceTree = ""; }; - 35DC0E0721F70BBC00F30416 /* ArticleDetail.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = ArticleDetail.storyboard; sourceTree = ""; }; - 6A5D282922013FA5009EC8ED /* Extension+ImageView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Extension+ImageView.swift"; sourceTree = ""; }; - 6A5D282B220187F8009EC8ED /* Extension+UIView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Extension+UIView.swift"; sourceTree = ""; }; - 6A65DA422203D22B005EB2BC /* LoadingView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = LoadingView.xib; sourceTree = ""; }; - 6A65DA442203D242005EB2BC /* LoadingView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoadingView.swift; sourceTree = ""; }; - 6AE2D7AD21FEF30D00444622 /* Config.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Config.swift; sourceTree = ""; }; - 8965743E41477F79773392B1 /* Pods-tree.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-tree.debug.xcconfig"; path = "Pods/Target Support Files/Pods-tree/Pods-tree.debug.xcconfig"; sourceTree = ""; }; - 9833F533FEAC2BBB2BE859BF /* Pods-tree.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-tree.release.xcconfig"; path = "Pods/Target Support Files/Pods-tree/Pods-tree.release.xcconfig"; sourceTree = ""; }; - BC2656AF21FD94E000003413 /* Extension+URL.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Extension+URL.swift"; sourceTree = ""; }; - BC2656B321FD94EE00003413 /* EventRegistryAPI.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EventRegistryAPI.swift; sourceTree = ""; }; - BC2656B521FD94EE00003413 /* APIService.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = APIService.swift; sourceTree = ""; }; - BC2656B621FD94EE00003413 /* APIManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = APIManager.swift; sourceTree = ""; }; - BC2656B721FD94EE00003413 /* APICenter.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = APICenter.swift; sourceTree = ""; }; - BC2656B921FD94EE00003413 /* NetworkResponse.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NetworkResponse.swift; sourceTree = ""; }; - BC2656BA21FD94EE00003413 /* ParametersEncoder.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ParametersEncoder.swift; sourceTree = ""; }; - BC2656BB21FD94EE00003413 /* NetworkResult.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NetworkResult.swift; sourceTree = ""; }; - BC2656BC21FD94EE00003413 /* NetworkError.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NetworkError.swift; sourceTree = ""; }; - BC2656C621FD950900003413 /* Articles.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Articles.swift; sourceTree = ""; }; - BC7969B822002E620003F520 /* TrandDays.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TrandDays.swift; sourceTree = ""; }; - BC7969BB22002EB20003F520 /* Live.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = Live.storyboard; sourceTree = ""; }; - BC7969BE22002EC30003F520 /* LiveViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LiveViewController.swift; sourceTree = ""; }; - BC7969C022002F440003F520 /* GoogleTrendAPI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GoogleTrendAPI.swift; sourceTree = ""; }; - BC7969C42200AD0E0003F520 /* TrandPageView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TrandPageView.swift; sourceTree = ""; }; - BC7969C62200AD190003F520 /* TrandPageView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = TrandPageView.xib; sourceTree = ""; }; - BC7969C822015AF30003F520 /* TrandHeaderView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TrandHeaderView.swift; sourceTree = ""; }; - BC7969CA22015B010003F520 /* TrandHeaderView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = TrandHeaderView.xib; sourceTree = ""; }; - BC7969CD2201749E0003F520 /* TrandHeaderTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TrandHeaderTableViewCell.swift; sourceTree = ""; }; - BC7969CE2201749E0003F520 /* TrandHeaderTableViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = TrandHeaderTableViewCell.xib; sourceTree = ""; }; - BC7969D1220174B40003F520 /* TrandTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TrandTableViewCell.swift; sourceTree = ""; }; - BC7969D2220174B40003F520 /* TrandTableViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = TrandTableViewCell.xib; sourceTree = ""; }; - BC9E02A42202E02600ADD1D5 /* TrandListView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = TrandListView.xib; sourceTree = ""; }; - BC9E02A62202E03A00ADD1D5 /* TrandListView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TrandListView.swift; sourceTree = ""; }; - BC9E02A82202EBFD00ADD1D5 /* TrandDateHeaderCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TrandDateHeaderCell.swift; sourceTree = ""; }; - BC9E02A92202EBFD00ADD1D5 /* TrandDateHeaderCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = TrandDateHeaderCell.xib; sourceTree = ""; }; - BC9E02AF220411CB00ADD1D5 /* PresentationController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PresentationController.swift; sourceTree = ""; }; - BC9E02B0220411CB00ADD1D5 /* PresentationManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PresentationManager.swift; sourceTree = ""; }; - BF0163F8362378789ACC30D4 /* Pods_tree.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_tree.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - D9C6AB3721FA9B3E001C0AB8 /* Extension+UIColor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Extension+UIColor.swift"; sourceTree = ""; }; - D9C6AB4321FA9CF8001C0AB8 /* Search.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Search.storyboard; sourceTree = ""; }; - D9C6AB4A21FAAD09001C0AB8 /* SearchViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SearchViewController.swift; sourceTree = ""; }; - D9C6AB4C21FAAD09001C0AB8 /* MainViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MainViewController.swift; sourceTree = ""; }; - D9C6AB5C21FC152D001C0AB8 /* SearchScrollEnum.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchScrollEnum.swift; sourceTree = ""; }; - D9C6AB7F21FED9F7001C0AB8 /* PresentationController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PresentationController.swift; sourceTree = ""; }; - D9C6AB8121FEDB08001C0AB8 /* PresentationManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PresentationManager.swift; sourceTree = ""; }; - D9C6AB8321FEE6B4001C0AB8 /* SearchFilterViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchFilterViewController.swift; sourceTree = ""; }; + 35CB481C21FAE7C8000D96CF /* ArticleImageViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ArticleImageViewController.swift; sourceTree = ""; }; + 35CB481E21FB6306000D96CF /* ArticleFeedTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ArticleFeedTableViewCell.swift; sourceTree = ""; }; + 35CB481F21FB6306000D96CF /* ArticleFeedTableViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = ArticleFeedTableViewCell.xib; sourceTree = ""; }; + 35DC0DCB21F6F3C700F30416 /* tree.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = tree.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 35DC0DCE21F6F3C700F30416 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 35DC0DD321F6F3C700F30416 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + 35DC0DD521F6F3CB00F30416 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 35DC0DD821F6F3CB00F30416 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + 35DC0DDA21F6F3CB00F30416 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 35DC0DFE21F6FB3200F30416 /* .swiftlint.yml */ = {isa = PBXFileReference; lastKnownFileType = text; path = .swiftlint.yml; sourceTree = ""; }; + 35DC0E0221F70AB700F30416 /* ArticleDetailViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ArticleDetailViewController.swift; sourceTree = ""; }; + 35DC0E0721F70BBC00F30416 /* ArticleDetail.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = ArticleDetail.storyboard; sourceTree = ""; }; + 6A5D282922013FA5009EC8ED /* Extension+ImageView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Extension+ImageView.swift"; sourceTree = ""; }; + 6A5D282B220187F8009EC8ED /* Extension+UIView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Extension+UIView.swift"; sourceTree = ""; }; + 6A65DA422203D22B005EB2BC /* LoadingView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = LoadingView.xib; sourceTree = ""; }; + 6A65DA442203D242005EB2BC /* LoadingView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoadingView.swift; sourceTree = ""; }; + 6AE2D7AD21FEF30D00444622 /* Config.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Config.swift; sourceTree = ""; }; + 8965743E41477F79773392B1 /* Pods-tree.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-tree.debug.xcconfig"; path = "Pods/Target Support Files/Pods-tree/Pods-tree.debug.xcconfig"; sourceTree = ""; }; + 9833F533FEAC2BBB2BE859BF /* Pods-tree.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-tree.release.xcconfig"; path = "Pods/Target Support Files/Pods-tree/Pods-tree.release.xcconfig"; sourceTree = ""; }; + BC2656AF21FD94E000003413 /* Extension+URL.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Extension+URL.swift"; sourceTree = ""; }; + BC2656B321FD94EE00003413 /* EventRegistryAPI.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EventRegistryAPI.swift; sourceTree = ""; }; + BC2656B521FD94EE00003413 /* APIService.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = APIService.swift; sourceTree = ""; }; + BC2656B621FD94EE00003413 /* APIManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = APIManager.swift; sourceTree = ""; }; + BC2656B721FD94EE00003413 /* APICenter.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = APICenter.swift; sourceTree = ""; }; + BC2656B921FD94EE00003413 /* NetworkResponse.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NetworkResponse.swift; sourceTree = ""; }; + BC2656BA21FD94EE00003413 /* ParametersEncoder.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ParametersEncoder.swift; sourceTree = ""; }; + BC2656BB21FD94EE00003413 /* NetworkResult.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NetworkResult.swift; sourceTree = ""; }; + BC2656BC21FD94EE00003413 /* NetworkError.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NetworkError.swift; sourceTree = ""; }; + BC2656C621FD950900003413 /* Articles.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Articles.swift; sourceTree = ""; }; + BC7969B822002E620003F520 /* TrandDays.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TrandDays.swift; sourceTree = ""; }; + BC7969BB22002EB20003F520 /* Live.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = Live.storyboard; sourceTree = ""; }; + BC7969BE22002EC30003F520 /* LiveViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LiveViewController.swift; sourceTree = ""; }; + BC7969C022002F440003F520 /* GoogleTrendAPI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GoogleTrendAPI.swift; sourceTree = ""; }; + BC7969C42200AD0E0003F520 /* TrandPageView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TrandPageView.swift; sourceTree = ""; }; + BC7969C62200AD190003F520 /* TrandPageView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = TrandPageView.xib; sourceTree = ""; }; + BC7969C822015AF30003F520 /* TrandHeaderView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TrandHeaderView.swift; sourceTree = ""; }; + BC7969CA22015B010003F520 /* TrandHeaderView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = TrandHeaderView.xib; sourceTree = ""; }; + BC7969CD2201749E0003F520 /* TrandHeaderTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TrandHeaderTableViewCell.swift; sourceTree = ""; }; + BC7969CE2201749E0003F520 /* TrandHeaderTableViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = TrandHeaderTableViewCell.xib; sourceTree = ""; }; + BC7969D1220174B40003F520 /* TrandTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TrandTableViewCell.swift; sourceTree = ""; }; + BC7969D2220174B40003F520 /* TrandTableViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = TrandTableViewCell.xib; sourceTree = ""; }; + BC9E02A42202E02600ADD1D5 /* TrandListView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = TrandListView.xib; sourceTree = ""; }; + BC9E02A62202E03A00ADD1D5 /* TrandListView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TrandListView.swift; sourceTree = ""; }; + BC9E02A82202EBFD00ADD1D5 /* TrandDateHeaderCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TrandDateHeaderCell.swift; sourceTree = ""; }; + BC9E02A92202EBFD00ADD1D5 /* TrandDateHeaderCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = TrandDateHeaderCell.xib; sourceTree = ""; }; + BF0163F8362378789ACC30D4 /* Pods_tree.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_tree.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D9C6AB3721FA9B3E001C0AB8 /* Extension+UIColor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Extension+UIColor.swift"; sourceTree = ""; }; + D9C6AB4321FA9CF8001C0AB8 /* Search.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Search.storyboard; sourceTree = ""; }; + D9C6AB4A21FAAD09001C0AB8 /* SearchViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SearchViewController.swift; sourceTree = ""; }; + D9C6AB4C21FAAD09001C0AB8 /* MainViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MainViewController.swift; sourceTree = ""; }; + D9C6AB5C21FC152D001C0AB8 /* SearchScrollEnum.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchScrollEnum.swift; sourceTree = ""; }; + D9C6AB7F21FED9F7001C0AB8 /* PresentationController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PresentationController.swift; sourceTree = ""; }; + D9C6AB8121FEDB08001C0AB8 /* PresentationManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PresentationManager.swift; sourceTree = ""; }; + D9C6AB8321FEE6B4001C0AB8 /* SearchFilterViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchFilterViewController.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 35DC0DC821F6F3C700F30416 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 45A74A72C78EC54DD12F5CA6 /* Pods_tree.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; + 35DC0DC821F6F3C700F30416 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 45A74A72C78EC54DD12F5CA6 /* Pods_tree.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 2D4B42C94B5BA86EDCCB8E9D /* Pods */ = { - isa = PBXGroup; - children = ( - 8965743E41477F79773392B1 /* Pods-tree.debug.xcconfig */, - 9833F533FEAC2BBB2BE859BF /* Pods-tree.release.xcconfig */, - ); - name = Pods; - sourceTree = ""; - }; - 35DC0DC221F6F3C700F30416 = { - isa = PBXGroup; - children = ( - 35DC0DCD21F6F3C700F30416 /* tree */, - 35DC0DCC21F6F3C700F30416 /* Products */, - 2D4B42C94B5BA86EDCCB8E9D /* Pods */, - 968D39AD37EEED1A9F7CF6F0 /* Frameworks */, - ); - sourceTree = ""; - }; - 35DC0DCC21F6F3C700F30416 /* Products */ = { - isa = PBXGroup; - children = ( - 35DC0DCB21F6F3C700F30416 /* tree.app */, - ); - name = Products; - sourceTree = ""; - }; - 35DC0DCD21F6F3C700F30416 /* tree */ = { - isa = PBXGroup; - children = ( - 6AE2D7AC21FEF30D00444622 /* Config */, - BC2656C521FD950900003413 /* Model */, - BC2656B121FD94EE00003413 /* Network Layer */, - D9C6AB3F21FA9CB4001C0AB8 /* View */, - D9C6AB4821FAAD09001C0AB8 /* Controller */, - D9C6AB3621FA9B3E001C0AB8 /* Extension */, - D9C6AB5B21FC151C001C0AB8 /* Helper */, - 35DC0DCE21F6F3C700F30416 /* AppDelegate.swift */, - 35DC0DD221F6F3C700F30416 /* Main.storyboard */, - 35DC0DD521F6F3CB00F30416 /* Assets.xcassets */, - 35DC0DD721F6F3CB00F30416 /* LaunchScreen.storyboard */, - 35DC0DDA21F6F3CB00F30416 /* Info.plist */, - 35DC0DFE21F6FB3200F30416 /* .swiftlint.yml */, - ); - path = tree; - sourceTree = ""; - }; - 6A65DA412203D202005EB2BC /* Helper */ = { - isa = PBXGroup; - children = ( - 6A65DA422203D22B005EB2BC /* LoadingView.xib */, - 6A65DA442203D242005EB2BC /* LoadingView.swift */, - ); - path = Helper; - sourceTree = ""; - }; - 6AE2D7AC21FEF30D00444622 /* Config */ = { - isa = PBXGroup; - children = ( - 6AE2D7AD21FEF30D00444622 /* Config.swift */, - ); - path = Config; - sourceTree = ""; - }; - 968D39AD37EEED1A9F7CF6F0 /* Frameworks */ = { - isa = PBXGroup; - children = ( - BF0163F8362378789ACC30D4 /* Pods_tree.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; - BC2656B121FD94EE00003413 /* Network Layer */ = { - isa = PBXGroup; - children = ( - BC2656B221FD94EE00003413 /* API */, - BC2656B421FD94EE00003413 /* Service */, - BC2656B821FD94EE00003413 /* NetworkHelper */, - ); - path = "Network Layer"; - sourceTree = ""; - }; - BC2656B221FD94EE00003413 /* API */ = { - isa = PBXGroup; - children = ( - BC2656B321FD94EE00003413 /* EventRegistryAPI.swift */, - BC7969C022002F440003F520 /* GoogleTrendAPI.swift */, - ); - path = API; - sourceTree = ""; - }; - BC2656B421FD94EE00003413 /* Service */ = { - isa = PBXGroup; - children = ( - BC2656B521FD94EE00003413 /* APIService.swift */, - BC2656B721FD94EE00003413 /* APICenter.swift */, - BC2656B621FD94EE00003413 /* APIManager.swift */, - ); - path = Service; - sourceTree = ""; - }; - BC2656B821FD94EE00003413 /* NetworkHelper */ = { - isa = PBXGroup; - children = ( - BC2656B921FD94EE00003413 /* NetworkResponse.swift */, - BC2656BA21FD94EE00003413 /* ParametersEncoder.swift */, - BC2656BB21FD94EE00003413 /* NetworkResult.swift */, - BC2656BC21FD94EE00003413 /* NetworkError.swift */, - ); - path = NetworkHelper; - sourceTree = ""; - }; - BC2656C521FD950900003413 /* Model */ = { - isa = PBXGroup; - children = ( - BC2656C621FD950900003413 /* Articles.swift */, - BC7969B822002E620003F520 /* TrandDays.swift */, - ); - path = Model; - sourceTree = ""; - }; - BC7969BA22002EA60003F520 /* Live */ = { - isa = PBXGroup; - children = ( - BC7969BB22002EB20003F520 /* Live.storyboard */, - BC7969C42200AD0E0003F520 /* TrandPageView.swift */, - BC7969C62200AD190003F520 /* TrandPageView.xib */, - BC7969C822015AF30003F520 /* TrandHeaderView.swift */, - BC7969CA22015B010003F520 /* TrandHeaderView.xib */, - BC7969CD2201749E0003F520 /* TrandHeaderTableViewCell.swift */, - BC7969CE2201749E0003F520 /* TrandHeaderTableViewCell.xib */, - BC7969D1220174B40003F520 /* TrandTableViewCell.swift */, - BC7969D2220174B40003F520 /* TrandTableViewCell.xib */, - BC9E02A62202E03A00ADD1D5 /* TrandListView.swift */, - BC9E02A42202E02600ADD1D5 /* TrandListView.xib */, - BC9E02A82202EBFD00ADD1D5 /* TrandDateHeaderCell.swift */, - BC9E02A92202EBFD00ADD1D5 /* TrandDateHeaderCell.xib */, - ); - path = Live; - sourceTree = ""; - }; - BC7969BD22002EB70003F520 /* Live */ = { - isa = PBXGroup; - children = ( - BC7969BE22002EC30003F520 /* LiveViewController.swift */, - ); - path = Live; - sourceTree = ""; - }; - BC9E02AE220411BD00ADD1D5 /* PresentationManager */ = { - isa = PBXGroup; - children = ( - BC9E02AF220411CB00ADD1D5 /* PresentationController.swift */, - BC9E02B0220411CB00ADD1D5 /* PresentationManager.swift */, - ); - path = PresentationManager; - sourceTree = ""; - }; - D9C6AB3621FA9B3E001C0AB8 /* Extension */ = { - isa = PBXGroup; - children = ( - BC2656AF21FD94E000003413 /* Extension+URL.swift */, - D9C6AB3721FA9B3E001C0AB8 /* Extension+UIColor.swift */, - 6A5D282922013FA5009EC8ED /* Extension+ImageView.swift */, - 6A5D282B220187F8009EC8ED /* Extension+UIView.swift */, - ); - path = Extension; - sourceTree = ""; - }; - D9C6AB3F21FA9CB4001C0AB8 /* View */ = { - isa = PBXGroup; - children = ( + 2D4B42C94B5BA86EDCCB8E9D /* Pods */ = { + isa = PBXGroup; + children = ( + 8965743E41477F79773392B1 /* Pods-tree.debug.xcconfig */, + 9833F533FEAC2BBB2BE859BF /* Pods-tree.release.xcconfig */, + ); + name = Pods; + sourceTree = ""; + }; + 35DC0DC221F6F3C700F30416 = { + isa = PBXGroup; + children = ( + 35DC0DCD21F6F3C700F30416 /* tree */, + 35DC0DCC21F6F3C700F30416 /* Products */, + 2D4B42C94B5BA86EDCCB8E9D /* Pods */, + 968D39AD37EEED1A9F7CF6F0 /* Frameworks */, + ); + sourceTree = ""; + }; + 35DC0DCC21F6F3C700F30416 /* Products */ = { + isa = PBXGroup; + children = ( + 35DC0DCB21F6F3C700F30416 /* tree.app */, + ); + name = Products; + sourceTree = ""; + }; + 35DC0DCD21F6F3C700F30416 /* tree */ = { + isa = PBXGroup; + children = ( + 6AE2D7AC21FEF30D00444622 /* Config */, + BC2656C521FD950900003413 /* Model */, + BC2656B121FD94EE00003413 /* Network Layer */, + D9C6AB3F21FA9CB4001C0AB8 /* View */, + D9C6AB4821FAAD09001C0AB8 /* Controller */, + D9C6AB3621FA9B3E001C0AB8 /* Extension */, + D9C6AB5B21FC151C001C0AB8 /* Helper */, + 35DC0DCE21F6F3C700F30416 /* AppDelegate.swift */, + 35DC0DD221F6F3C700F30416 /* Main.storyboard */, + 35DC0DD521F6F3CB00F30416 /* Assets.xcassets */, + 35DC0DD721F6F3CB00F30416 /* LaunchScreen.storyboard */, + 35DC0DDA21F6F3CB00F30416 /* Info.plist */, + 35DC0DFE21F6FB3200F30416 /* .swiftlint.yml */, + ); + path = tree; + sourceTree = ""; + }; + 6A65DA412203D202005EB2BC /* Helper */ = { + isa = PBXGroup; + children = ( + 6A65DA422203D22B005EB2BC /* LoadingView.xib */, + 6A65DA442203D242005EB2BC /* LoadingView.swift */, + ); + path = Helper; + sourceTree = ""; + }; + 6AE2D7AC21FEF30D00444622 /* Config */ = { + isa = PBXGroup; + children = ( + 6AE2D7AD21FEF30D00444622 /* Config.swift */, + ); + path = Config; + sourceTree = ""; + }; + 968D39AD37EEED1A9F7CF6F0 /* Frameworks */ = { + isa = PBXGroup; + children = ( + BF0163F8362378789ACC30D4 /* Pods_tree.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; + BC2656B121FD94EE00003413 /* Network Layer */ = { + isa = PBXGroup; + children = ( + BC2656B221FD94EE00003413 /* API */, + BC2656B421FD94EE00003413 /* Service */, + BC2656B821FD94EE00003413 /* NetworkHelper */, + ); + path = "Network Layer"; + sourceTree = ""; + }; + BC2656B221FD94EE00003413 /* API */ = { + isa = PBXGroup; + children = ( + BC2656B321FD94EE00003413 /* EventRegistryAPI.swift */, + BC7969C022002F440003F520 /* GoogleTrendAPI.swift */, + ); + path = API; + sourceTree = ""; + }; + BC2656B421FD94EE00003413 /* Service */ = { + isa = PBXGroup; + children = ( + BC2656B521FD94EE00003413 /* APIService.swift */, + BC2656B721FD94EE00003413 /* APICenter.swift */, + BC2656B621FD94EE00003413 /* APIManager.swift */, + ); + path = Service; + sourceTree = ""; + }; + BC2656B821FD94EE00003413 /* NetworkHelper */ = { + isa = PBXGroup; + children = ( + BC2656B921FD94EE00003413 /* NetworkResponse.swift */, + BC2656BA21FD94EE00003413 /* ParametersEncoder.swift */, + BC2656BB21FD94EE00003413 /* NetworkResult.swift */, + BC2656BC21FD94EE00003413 /* NetworkError.swift */, + ); + path = NetworkHelper; + sourceTree = ""; + }; + BC2656C521FD950900003413 /* Model */ = { + isa = PBXGroup; + children = ( + BC2656C621FD950900003413 /* Articles.swift */, + BC7969B822002E620003F520 /* TrandDays.swift */, + ); + path = Model; + sourceTree = ""; + }; + BC7969BA22002EA60003F520 /* Live */ = { + isa = PBXGroup; + children = ( + BC7969BB22002EB20003F520 /* Live.storyboard */, + BC7969C42200AD0E0003F520 /* TrandPageView.swift */, + BC7969C62200AD190003F520 /* TrandPageView.xib */, + BC7969C822015AF30003F520 /* TrandHeaderView.swift */, + BC7969CA22015B010003F520 /* TrandHeaderView.xib */, + BC7969CD2201749E0003F520 /* TrandHeaderTableViewCell.swift */, + BC7969CE2201749E0003F520 /* TrandHeaderTableViewCell.xib */, + BC7969D1220174B40003F520 /* TrandTableViewCell.swift */, + BC7969D2220174B40003F520 /* TrandTableViewCell.xib */, + BC9E02A62202E03A00ADD1D5 /* TrandListView.swift */, + BC9E02A42202E02600ADD1D5 /* TrandListView.xib */, + BC9E02A82202EBFD00ADD1D5 /* TrandDateHeaderCell.swift */, + BC9E02A92202EBFD00ADD1D5 /* TrandDateHeaderCell.xib */, + ); + path = Live; + sourceTree = ""; + }; + BC7969BD22002EB70003F520 /* Live */ = { + isa = PBXGroup; + children = ( + BC7969BE22002EC30003F520 /* LiveViewController.swift */, + ); + path = Live; + sourceTree = ""; + }; + D9C6AB3621FA9B3E001C0AB8 /* Extension */ = { + isa = PBXGroup; + children = ( + BC2656AF21FD94E000003413 /* Extension+URL.swift */, + D9C6AB3721FA9B3E001C0AB8 /* Extension+UIColor.swift */, + 6A5D282922013FA5009EC8ED /* Extension+ImageView.swift */, + 6A5D282B220187F8009EC8ED /* Extension+UIView.swift */, + ); + path = Extension; + sourceTree = ""; + }; + D9C6AB3F21FA9CB4001C0AB8 /* View */ = { + isa = PBXGroup; + children = ( 6A65DA412203D202005EB2BC /* Helper */, BC7969BA22002EA60003F520 /* Live */, - D9C6AB4021FA9CBB001C0AB8 /* Search */, - ); - path = View; - sourceTree = ""; - }; - D9C6AB4021FA9CBB001C0AB8 /* Search */ = { - isa = PBXGroup; - children = ( - 35DC0E0721F70BBC00F30416 /* ArticleDetail.storyboard */, - D9C6AB4321FA9CF8001C0AB8 /* Search.storyboard */, - 35CB481E21FB6306000D96CF /* ArticleFeedTableViewCell.swift */, - 35CB481F21FB6306000D96CF /* ArticleFeedTableViewCell.xib */, - ); - path = Search; - sourceTree = ""; - }; - D9C6AB4821FAAD09001C0AB8 /* Controller */ = { - isa = PBXGroup; - children = ( - BC7969BD22002EB70003F520 /* Live */, - D9C6AB4921FAAD09001C0AB8 /* Search */, - D9C6AB4B21FAAD09001C0AB8 /* Main */, - ); - path = Controller; - sourceTree = ""; - }; - D9C6AB4921FAAD09001C0AB8 /* Search */ = { - isa = PBXGroup; - children = ( - 35DC0E0221F70AB700F30416 /* ArticleDetailViewController.swift */, - D9C6AB4A21FAAD09001C0AB8 /* SearchViewController.swift */, - D9C6AB8321FEE6B4001C0AB8 /* SearchFilterViewController.swift */, - 35CB481C21FAE7C8000D96CF /* ArticleImageViewController.swift */, - ); - path = Search; - sourceTree = ""; - }; - D9C6AB4B21FAAD09001C0AB8 /* Main */ = { - isa = PBXGroup; - children = ( - D9C6AB4C21FAAD09001C0AB8 /* MainViewController.swift */, - ); - path = Main; - sourceTree = ""; - }; - D9C6AB5B21FC151C001C0AB8 /* Helper */ = { - isa = PBXGroup; - children = ( - D9C6AB7E21FED67A001C0AB8 /* PresentationManager */, - D9C6AB5C21FC152D001C0AB8 /* SearchScrollEnum.swift */, - ); - path = Helper; - sourceTree = ""; - }; - D9C6AB7E21FED67A001C0AB8 /* PresentationManager */ = { - isa = PBXGroup; - children = ( - D9C6AB7F21FED9F7001C0AB8 /* PresentationController.swift */, - D9C6AB8121FEDB08001C0AB8 /* PresentationManager.swift */, - ); - path = PresentationManager; - sourceTree = ""; - }; + D9C6AB4021FA9CBB001C0AB8 /* Search */, + ); + path = View; + sourceTree = ""; + }; + D9C6AB4021FA9CBB001C0AB8 /* Search */ = { + isa = PBXGroup; + children = ( + 35DC0E0721F70BBC00F30416 /* ArticleDetail.storyboard */, + D9C6AB4321FA9CF8001C0AB8 /* Search.storyboard */, + 35CB481E21FB6306000D96CF /* ArticleFeedTableViewCell.swift */, + 35CB481F21FB6306000D96CF /* ArticleFeedTableViewCell.xib */, + ); + path = Search; + sourceTree = ""; + }; + D9C6AB4821FAAD09001C0AB8 /* Controller */ = { + isa = PBXGroup; + children = ( + BC7969BD22002EB70003F520 /* Live */, + D9C6AB4921FAAD09001C0AB8 /* Search */, + D9C6AB4B21FAAD09001C0AB8 /* Main */, + ); + path = Controller; + sourceTree = ""; + }; + D9C6AB4921FAAD09001C0AB8 /* Search */ = { + isa = PBXGroup; + children = ( + 35DC0E0221F70AB700F30416 /* ArticleDetailViewController.swift */, + D9C6AB4A21FAAD09001C0AB8 /* SearchViewController.swift */, + D9C6AB8321FEE6B4001C0AB8 /* SearchFilterViewController.swift */, + 35CB481C21FAE7C8000D96CF /* ArticleImageViewController.swift */, + ); + path = Search; + sourceTree = ""; + }; + D9C6AB4B21FAAD09001C0AB8 /* Main */ = { + isa = PBXGroup; + children = ( + D9C6AB4C21FAAD09001C0AB8 /* MainViewController.swift */, + ); + path = Main; + sourceTree = ""; + }; + D9C6AB5B21FC151C001C0AB8 /* Helper */ = { + isa = PBXGroup; + children = ( + D9C6AB7E21FED67A001C0AB8 /* PresentationManager */, + D9C6AB5C21FC152D001C0AB8 /* SearchScrollEnum.swift */, + ); + path = Helper; + sourceTree = ""; + }; + D9C6AB7E21FED67A001C0AB8 /* PresentationManager */ = { + isa = PBXGroup; + children = ( + D9C6AB7F21FED9F7001C0AB8 /* PresentationController.swift */, + D9C6AB8121FEDB08001C0AB8 /* PresentationManager.swift */, + ); + path = PresentationManager; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ - 35DC0DCA21F6F3C700F30416 /* tree */ = { - isa = PBXNativeTarget; - buildConfigurationList = 35DC0DDD21F6F3CB00F30416 /* Build configuration list for PBXNativeTarget "tree" */; - buildPhases = ( - 90162EC1EA13CEC3348C48E0 /* [CP] Check Pods Manifest.lock */, - 35DC0DC721F6F3C700F30416 /* Sources */, - 35DC0DC821F6F3C700F30416 /* Frameworks */, - 35DC0DC921F6F3C700F30416 /* Resources */, - BC1AFAC821F6F987009E0498 /* ShellScript */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = tree; - productName = tree; - productReference = 35DC0DCB21F6F3C700F30416 /* tree.app */; - productType = "com.apple.product-type.application"; - }; + 35DC0DCA21F6F3C700F30416 /* tree */ = { + isa = PBXNativeTarget; + buildConfigurationList = 35DC0DDD21F6F3CB00F30416 /* Build configuration list for PBXNativeTarget "tree" */; + buildPhases = ( + 90162EC1EA13CEC3348C48E0 /* [CP] Check Pods Manifest.lock */, + 35DC0DC721F6F3C700F30416 /* Sources */, + 35DC0DC821F6F3C700F30416 /* Frameworks */, + 35DC0DC921F6F3C700F30416 /* Resources */, + BC1AFAC821F6F987009E0498 /* ShellScript */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = tree; + productName = tree; + productReference = 35DC0DCB21F6F3C700F30416 /* tree.app */; + productType = "com.apple.product-type.application"; + }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ - 35DC0DC321F6F3C700F30416 /* Project object */ = { - isa = PBXProject; - attributes = { - LastSwiftUpdateCheck = 1000; - LastUpgradeCheck = 1000; - ORGANIZATIONNAME = gardener; - TargetAttributes = { - 35DC0DCA21F6F3C700F30416 = { - CreatedOnToolsVersion = 10.0; - }; - }; - }; - buildConfigurationList = 35DC0DC621F6F3C700F30416 /* Build configuration list for PBXProject "tree" */; - compatibilityVersion = "Xcode 9.3"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = 35DC0DC221F6F3C700F30416; - productRefGroup = 35DC0DCC21F6F3C700F30416 /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 35DC0DCA21F6F3C700F30416 /* tree */, - ); - }; + 35DC0DC321F6F3C700F30416 /* Project object */ = { + isa = PBXProject; + attributes = { + LastSwiftUpdateCheck = 1000; + LastUpgradeCheck = 1000; + ORGANIZATIONNAME = gardener; + TargetAttributes = { + 35DC0DCA21F6F3C700F30416 = { + CreatedOnToolsVersion = 10.0; + }; + }; + }; + buildConfigurationList = 35DC0DC621F6F3C700F30416 /* Build configuration list for PBXProject "tree" */; + compatibilityVersion = "Xcode 9.3"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 35DC0DC221F6F3C700F30416; + productRefGroup = 35DC0DCC21F6F3C700F30416 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 35DC0DCA21F6F3C700F30416 /* tree */, + ); + }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - 35DC0DC921F6F3C700F30416 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 35DC0DFF21F6FB3200F30416 /* .swiftlint.yml in Resources */, - 6A65DA432203D22B005EB2BC /* LoadingView.xib in Resources */, - 35DC0DD921F6F3CB00F30416 /* LaunchScreen.storyboard in Resources */, - BC9E02AB2202EBFD00ADD1D5 /* TrandDateHeaderCell.xib in Resources */, - BC9E02A52202E02600ADD1D5 /* TrandListView.xib in Resources */, - 35CB482121FB6306000D96CF /* ArticleFeedTableViewCell.xib in Resources */, - 35DC0E0821F70BBC00F30416 /* ArticleDetail.storyboard in Resources */, - BC7969C72200AD190003F520 /* TrandPageView.xib in Resources */, - BC7969D02201749F0003F520 /* TrandHeaderTableViewCell.xib in Resources */, - 35DC0DD621F6F3CB00F30416 /* Assets.xcassets in Resources */, - 35DC0DD421F6F3C700F30416 /* Main.storyboard in Resources */, - BC7969BC22002EB20003F520 /* Live.storyboard in Resources */, - D9C6AB4421FA9CF8001C0AB8 /* Search.storyboard in Resources */, - BC7969CB22015B010003F520 /* TrandHeaderView.xib in Resources */, - BC7969D4220174B40003F520 /* TrandTableViewCell.xib in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; + 35DC0DC921F6F3C700F30416 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 35DC0DFF21F6FB3200F30416 /* .swiftlint.yml in Resources */, + 6A65DA432203D22B005EB2BC /* LoadingView.xib in Resources */, + 35DC0DD921F6F3CB00F30416 /* LaunchScreen.storyboard in Resources */, + BC9E02AB2202EBFD00ADD1D5 /* TrandDateHeaderCell.xib in Resources */, + BC9E02A52202E02600ADD1D5 /* TrandListView.xib in Resources */, + 35CB482121FB6306000D96CF /* ArticleFeedTableViewCell.xib in Resources */, + 35DC0E0821F70BBC00F30416 /* ArticleDetail.storyboard in Resources */, + BC7969C72200AD190003F520 /* TrandPageView.xib in Resources */, + BC7969D02201749F0003F520 /* TrandHeaderTableViewCell.xib in Resources */, + 35DC0DD621F6F3CB00F30416 /* Assets.xcassets in Resources */, + 35DC0DD421F6F3C700F30416 /* Main.storyboard in Resources */, + BC7969BC22002EB20003F520 /* Live.storyboard in Resources */, + D9C6AB4421FA9CF8001C0AB8 /* Search.storyboard in Resources */, + BC7969CB22015B010003F520 /* TrandHeaderView.xib in Resources */, + BC7969D4220174B40003F520 /* TrandTableViewCell.xib in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 90162EC1EA13CEC3348C48E0 /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-tree-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; - BC1AFAC821F6F987009E0498 /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - ); - outputFileListPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "${PODS_ROOT}/SwiftLint/swiftlint\n"; - }; + 90162EC1EA13CEC3348C48E0 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-tree-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; + BC1AFAC821F6F987009E0498 /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + ); + outputFileListPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "${PODS_ROOT}/SwiftLint/swiftlint\n"; + }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - 35DC0DC721F6F3C700F30416 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - D9C6AB8421FEE6B4001C0AB8 /* SearchFilterViewController.swift in Sources */, - BC2656C421FD94EE00003413 /* NetworkError.swift in Sources */, - 6A5D282C220187F8009EC8ED /* Extension+UIView.swift in Sources */, - BC2656BF21FD94EE00003413 /* APIManager.swift in Sources */, - 35CB482021FB6306000D96CF /* ArticleFeedTableViewCell.swift in Sources */, - D9C6AB4D21FAAD0A001C0AB8 /* SearchViewController.swift in Sources */, - BC7969B922002E620003F520 /* TrandDays.swift in Sources */, - BC7969C922015AF30003F520 /* TrandHeaderView.swift in Sources */, - BC2656C721FD950900003413 /* Articles.swift in Sources */, - D9C6AB5D21FC152D001C0AB8 /* SearchScrollEnum.swift in Sources */, - BC9E02A72202E03A00ADD1D5 /* TrandListView.swift in Sources */, - D9C6AB3D21FA9B3E001C0AB8 /* Extension+UIColor.swift in Sources */, - BC7969D3220174B40003F520 /* TrandTableViewCell.swift in Sources */, - BC2656BE21FD94EE00003413 /* APIService.swift in Sources */, - BC9E02AA2202EBFD00ADD1D5 /* TrandDateHeaderCell.swift in Sources */, - BC2656BD21FD94EE00003413 /* EventRegistryAPI.swift in Sources */, - BC7969CF2201749F0003F520 /* TrandHeaderTableViewCell.swift in Sources */, - BC7969C52200AD0E0003F520 /* TrandPageView.swift in Sources */, - D9C6AB8221FEDB08001C0AB8 /* PresentationManager.swift in Sources */, - BC2656C321FD94EE00003413 /* NetworkResult.swift in Sources */, - BC2656C021FD94EE00003413 /* APICenter.swift in Sources */, - BC2656C221FD94EE00003413 /* ParametersEncoder.swift in Sources */, - BC2656B021FD94E000003413 /* Extension+URL.swift in Sources */, - BC2656C121FD94EE00003413 /* NetworkResponse.swift in Sources */, - 35DC0DCF21F6F3C700F30416 /* AppDelegate.swift in Sources */, + 35DC0DC721F6F3C700F30416 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + D9C6AB8421FEE6B4001C0AB8 /* SearchFilterViewController.swift in Sources */, + BC2656C421FD94EE00003413 /* NetworkError.swift in Sources */, + 6A5D282C220187F8009EC8ED /* Extension+UIView.swift in Sources */, + BC2656BF21FD94EE00003413 /* APIManager.swift in Sources */, + 35CB482021FB6306000D96CF /* ArticleFeedTableViewCell.swift in Sources */, + D9C6AB4D21FAAD0A001C0AB8 /* SearchViewController.swift in Sources */, + BC7969B922002E620003F520 /* TrandDays.swift in Sources */, + BC7969C922015AF30003F520 /* TrandHeaderView.swift in Sources */, + BC2656C721FD950900003413 /* Articles.swift in Sources */, + D9C6AB5D21FC152D001C0AB8 /* SearchScrollEnum.swift in Sources */, + BC9E02A72202E03A00ADD1D5 /* TrandListView.swift in Sources */, + D9C6AB3D21FA9B3E001C0AB8 /* Extension+UIColor.swift in Sources */, + BC7969D3220174B40003F520 /* TrandTableViewCell.swift in Sources */, + BC2656BE21FD94EE00003413 /* APIService.swift in Sources */, + BC9E02AA2202EBFD00ADD1D5 /* TrandDateHeaderCell.swift in Sources */, + BC2656BD21FD94EE00003413 /* EventRegistryAPI.swift in Sources */, + BC7969CF2201749F0003F520 /* TrandHeaderTableViewCell.swift in Sources */, + BC7969C52200AD0E0003F520 /* TrandPageView.swift in Sources */, + D9C6AB8221FEDB08001C0AB8 /* PresentationManager.swift in Sources */, + BC2656C321FD94EE00003413 /* NetworkResult.swift in Sources */, + BC2656C021FD94EE00003413 /* APICenter.swift in Sources */, + BC2656C221FD94EE00003413 /* ParametersEncoder.swift in Sources */, + BC2656B021FD94E000003413 /* Extension+URL.swift in Sources */, + BC2656C121FD94EE00003413 /* NetworkResponse.swift in Sources */, + 35DC0DCF21F6F3C700F30416 /* AppDelegate.swift in Sources */, 6A65DA452203D242005EB2BC /* LoadingView.swift in Sources */, BC7969BF22002EC30003F520 /* LiveViewController.swift in Sources */, - D9C6AB4E21FAAD0A001C0AB8 /* MainViewController.swift in Sources */, - 6AE2D7AE21FEF30D00444622 /* Config.swift in Sources */, - 35CB481D21FAE7C8000D96CF /* ArticleImageViewController.swift in Sources */, - 6A5D282A22013FA5009EC8ED /* Extension+ImageView.swift in Sources */, - 35CB481B21FAC610000D96CF /* ArticleDetailViewController.swift in Sources */, - BC7969C122002F440003F520 /* GoogleTrendAPI.swift in Sources */, - D9C6AB8021FED9F7001C0AB8 /* PresentationController.swift in Sources */ - ); - runOnlyForDeploymentPostprocessing = 0; - }; + D9C6AB4E21FAAD0A001C0AB8 /* MainViewController.swift in Sources */, + 6AE2D7AE21FEF30D00444622 /* Config.swift in Sources */, + 35CB481D21FAE7C8000D96CF /* ArticleImageViewController.swift in Sources */, + 6A5D282A22013FA5009EC8ED /* Extension+ImageView.swift in Sources */, + 35CB481B21FAC610000D96CF /* ArticleDetailViewController.swift in Sources */, + BC7969C122002F440003F520 /* GoogleTrendAPI.swift in Sources */, + D9C6AB8021FED9F7001C0AB8 /* PresentationController.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXSourcesBuildPhase section */ /* Begin PBXVariantGroup section */ - 35DC0DD221F6F3C700F30416 /* Main.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 35DC0DD321F6F3C700F30416 /* Base */, - ); - name = Main.storyboard; - sourceTree = ""; - }; - 35DC0DD721F6F3CB00F30416 /* LaunchScreen.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 35DC0DD821F6F3CB00F30416 /* Base */, - ); - name = LaunchScreen.storyboard; - sourceTree = ""; - }; + 35DC0DD221F6F3C700F30416 /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 35DC0DD321F6F3C700F30416 /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; + 35DC0DD721F6F3CB00F30416 /* LaunchScreen.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 35DC0DD821F6F3CB00F30416 /* Base */, + ); + name = LaunchScreen.storyboard; + sourceTree = ""; + }; /* End PBXVariantGroup section */ /* Begin XCBuildConfiguration section */ - 35DC0DDB21F6F3CB00F30416 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - }; - name = Debug; - }; - 35DC0DDC21F6F3CB00F30416 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - SDKROOT = iphoneos; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 35DC0DDE21F6F3CB00F30416 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 8965743E41477F79773392B1 /* Pods-tree.debug.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = 86PPC52X64; - INFOPLIST_FILE = tree/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.gardener.tree; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 4.2; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 35DC0DDF21F6F3CB00F30416 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 9833F533FEAC2BBB2BE859BF /* Pods-tree.release.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = 86PPC52X64; - INFOPLIST_FILE = tree/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.gardener.tree; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 4.2; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Release; - }; + 35DC0DDB21F6F3CB00F30416 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + }; + name = Debug; + }; + 35DC0DDC21F6F3CB00F30416 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + SDKROOT = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 35DC0DDE21F6F3CB00F30416 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 8965743E41477F79773392B1 /* Pods-tree.debug.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = H92U9KV5T2; + INFOPLIST_FILE = tree/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.gardener.tree; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 4.2; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 35DC0DDF21F6F3CB00F30416 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 9833F533FEAC2BBB2BE859BF /* Pods-tree.release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = H92U9KV5T2; + INFOPLIST_FILE = tree/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.gardener.tree; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 4.2; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Release; + }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 35DC0DC621F6F3C700F30416 /* Build configuration list for PBXProject "tree" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 35DC0DDB21F6F3CB00F30416 /* Debug */, - 35DC0DDC21F6F3CB00F30416 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 35DC0DDD21F6F3CB00F30416 /* Build configuration list for PBXNativeTarget "tree" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 35DC0DDE21F6F3CB00F30416 /* Debug */, - 35DC0DDF21F6F3CB00F30416 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; + 35DC0DC621F6F3C700F30416 /* Build configuration list for PBXProject "tree" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 35DC0DDB21F6F3CB00F30416 /* Debug */, + 35DC0DDC21F6F3CB00F30416 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 35DC0DDD21F6F3CB00F30416 /* Build configuration list for PBXNativeTarget "tree" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 35DC0DDE21F6F3CB00F30416 /* Debug */, + 35DC0DDF21F6F3CB00F30416 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; /* End XCConfigurationList section */ - }; - rootObject = 35DC0DC321F6F3C700F30416 /* Project object */; + }; + rootObject = 35DC0DC321F6F3C700F30416 /* Project object */; } From 955a3f5a6084fdd4e226be5fc755658d9c634b96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=80=E1=85=B5=E1=86=B7=E1=84=92=E1=85=A8=E1=84=85?= =?UTF-8?q?=E1=85=B5?= Date: Fri, 1 Feb 2019 17:31:31 +0900 Subject: [PATCH 059/183] Refactor : code refactoring --- .../Controller/Search/SearchViewController.swift | 13 +++++++------ tree/tree/View/Helper/LoadingView.swift | 7 ------- 2 files changed, 7 insertions(+), 13 deletions(-) diff --git a/tree/tree/Controller/Search/SearchViewController.swift b/tree/tree/Controller/Search/SearchViewController.swift index a11d8f2..13f31d0 100644 --- a/tree/tree/Controller/Search/SearchViewController.swift +++ b/tree/tree/Controller/Search/SearchViewController.swift @@ -35,11 +35,11 @@ class SearchViewController: UIViewController { navigationBarSetting() registerArticleCell() filterItemSetting() - defaultMessage() + defaultMessage(message: "🌴Search Please🌴") } - - private func defaultMessage() { - defaultLabel.text = "🌴Search Please🌴" + + private func defaultMessage(message: String) { + defaultLabel.text = message defaultLabel.frame.size = CGSize(width: 200, height: 50) defaultLabel.center = self.view.center defaultLabel.textAlignment = .center @@ -49,8 +49,9 @@ class SearchViewController: UIViewController { private func setLoadingView() { let loadingViewFrame = CGRect(x: 0, y: 0, width: 100, height: 100) loadingView = LoadingView(frame: loadingViewFrame) - loadingView?.center = self.view.center - self.view.addSubview(loadingView!) + guard let loadView = loadingView else { return } + loadView.center = self.view.center + self.view.addSubview(loadView) } private func delegateSetting() { diff --git a/tree/tree/View/Helper/LoadingView.swift b/tree/tree/View/Helper/LoadingView.swift index 9687879..f9bfae2 100644 --- a/tree/tree/View/Helper/LoadingView.swift +++ b/tree/tree/View/Helper/LoadingView.swift @@ -19,7 +19,6 @@ class LoadingView: UIView { override init(frame: CGRect) { super.init(frame: frame) - initXIB() setRadius() startAnimation() @@ -27,7 +26,6 @@ class LoadingView: UIView { required init?(coder aDecoder: NSCoder) { super.init(coder: aDecoder) - initXIB() setRadius() startAnimation() @@ -51,22 +49,17 @@ class LoadingView: UIView { } private func startAnimation() { - dot1.transform = CGAffineTransform(scaleX: 0.01, y: 0.01) dot2.transform = CGAffineTransform(scaleX: 0.01, y: 0.01) dot3.transform = CGAffineTransform(scaleX: 0.01, y: 0.01) - UIView.animate(withDuration: 0.6, delay: 0.0, options: [.repeat, .autoreverse], animations: { self.dot1.transform = CGAffineTransform.identity }, completion: nil) - UIView.animate(withDuration: 0.6, delay: 0.2, options: [.repeat, .autoreverse], animations: { self.dot2.transform = CGAffineTransform.identity }, completion: nil) - UIView.animate(withDuration: 0.6, delay: 0.4, options: [.repeat, .autoreverse], animations: { self.dot3.transform = CGAffineTransform.identity }, completion: nil) } - } From f9f43534f46cd96f6feda144ae03d3db64b10422 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=80=E1=85=B5=E1=86=B7=E1=84=92=E1=85=A8=E1=84=85?= =?UTF-8?q?=E1=85=B5?= Date: Fri, 1 Feb 2019 17:43:39 +0900 Subject: [PATCH 060/183] Refactor : Change function name --- tree/tree/Controller/Search/SearchViewController.swift | 4 ++-- tree/tree/View/Search/ArticleFeedTableViewCell.xib | 5 ++--- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/tree/tree/Controller/Search/SearchViewController.swift b/tree/tree/Controller/Search/SearchViewController.swift index 13f31d0..777d595 100644 --- a/tree/tree/Controller/Search/SearchViewController.swift +++ b/tree/tree/Controller/Search/SearchViewController.swift @@ -35,10 +35,10 @@ class SearchViewController: UIViewController { navigationBarSetting() registerArticleCell() filterItemSetting() - defaultMessage(message: "🌴Search Please🌴") + setMessageBySearchState(to: "🌴Search Please🌴") } - private func defaultMessage(message: String) { + private func setMessageBySearchState(to message: String) { defaultLabel.text = message defaultLabel.frame.size = CGSize(width: 200, height: 50) defaultLabel.center = self.view.center diff --git a/tree/tree/View/Search/ArticleFeedTableViewCell.xib b/tree/tree/View/Search/ArticleFeedTableViewCell.xib index a562aa0..78e49d3 100644 --- a/tree/tree/View/Search/ArticleFeedTableViewCell.xib +++ b/tree/tree/View/Search/ArticleFeedTableViewCell.xib @@ -4,7 +4,6 @@ - @@ -16,14 +15,14 @@ - + - + From e6b7b182f1ef21f13ed2b054373bfce954a62f50 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=80=E1=85=B5=E1=86=B7=E1=84=92=E1=85=A8=E1=84=85?= =?UTF-8?q?=E1=85=B5?= Date: Fri, 1 Feb 2019 21:47:14 +0900 Subject: [PATCH 061/183] Feat : no results found label --- tree/tree/Controller/Search/SearchViewController.swift | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tree/tree/Controller/Search/SearchViewController.swift b/tree/tree/Controller/Search/SearchViewController.swift index 777d595..937a4c9 100644 --- a/tree/tree/Controller/Search/SearchViewController.swift +++ b/tree/tree/Controller/Search/SearchViewController.swift @@ -85,6 +85,8 @@ class SearchViewController: UIViewController { } private func getArticlesFromServer(keyword: String) { + articles = nil + self.uiTableView.reloadData() self.setLoadingView() APIManager.getArticles(keyword: keyword, keywordLoc: "title", lang: "eng", articlesSortBy: "date", articlesPage: 1) { (result) in switch result { @@ -93,6 +95,9 @@ class SearchViewController: UIViewController { DispatchQueue.main.async { self.uiTableView.reloadData() self.loadingView?.removeFromSuperview() + if self.articles?.count == 0 { + self.setMessageBySearchState(to: "🌱No results🌱") + } } case .failure(let error): print(error.localizedDescription) From f5bafeb846abca91372c6ede3be7460febd1527a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=80=E1=85=B5=E1=86=B7=E1=84=92=E1=85=A8=E1=84=85?= =?UTF-8?q?=E1=85=B5?= Date: Fri, 1 Feb 2019 22:48:17 +0900 Subject: [PATCH 062/183] #26 #40 Feat : Get more articles from server --- .../Search/SearchViewController.swift | 33 ++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/tree/tree/Controller/Search/SearchViewController.swift b/tree/tree/Controller/Search/SearchViewController.swift index 937a4c9..a404b54 100644 --- a/tree/tree/Controller/Search/SearchViewController.swift +++ b/tree/tree/Controller/Search/SearchViewController.swift @@ -26,6 +26,10 @@ class SearchViewController: UIViewController { private var transitionDelegate = PresentationManager() private var articles: [Article]? private var defaultLabel = UILabel() + private var keyword = "" + private var page = 1 + private var totalPage = 0 + private var isMoreLoading = false override func viewDidLoad() { super.viewDidLoad() @@ -92,6 +96,8 @@ class SearchViewController: UIViewController { switch result { case .success(let articleData): self.articles = articleData.articles.results + self.totalPage = articleData.articles.pages + print(self.totalPage) DispatchQueue.main.async { self.uiTableView.reloadData() self.loadingView?.removeFromSuperview() @@ -105,6 +111,24 @@ class SearchViewController: UIViewController { } } + private func loadMoreAriticlesFromServer() { + if page < totalPage { + page += 1 + APIManager.getArticles(keyword: keyword, keywordLoc: "title", lang: "eng", articlesSortBy: "date", articlesPage: page) { (result) in + switch result { + case .success(let articleData): + self.articles?.append(contentsOf: articleData.articles.results) + DispatchQueue.main.async { + self.uiTableView.reloadData() + self.isMoreLoading = false + } + case .failure(let error): + print(error.localizedDescription) + } + } + } + } + private func filterItemSetting() { navigationFilterItem.addTarget(self, action: #selector(filterItemTapAtion), for: .touchUpInside) } @@ -134,12 +158,18 @@ extension SearchViewController: UITableViewDataSource, UITableViewDelegate { func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { let storyboard = UIStoryboard(name: "ArticleDetail", bundle: nil) guard let articleView = storyboard.instantiateViewController(withIdentifier: "ArticleDetailViewController") as? ArticleDetailViewController else { return } - articleView.articleDetail = articles?[indexPath.row] self.navigationController?.pushViewController(articleView, animated: true) } func scrollViewDidScroll(_ scrollView: UIScrollView) { + if !isMoreLoading { + let scrollPosition = scrollView.contentSize.height - scrollView.frame.size.height - scrollView.contentOffset.y + if scrollPosition > 0 && scrollPosition < scrollView.contentSize.height * 0.2 { + loadMoreAriticlesFromServer() + isMoreLoading.toggle() + } + } if searchBarIsPresented && tableViewContentOffsetY < scrollView.contentOffset.y { scrollViewCheckCount(.down) } else if !searchBarIsPresented && tableViewContentOffsetY > scrollView.contentOffset.y { @@ -188,6 +218,7 @@ extension SearchViewController: UISearchBarDelegate { func searchBarSearchButtonClicked(_ searchBar: UISearchBar) { self.navigationItem.title = searchBar.text ?? "Search" if let searchKeyword = searchBar.text { + keyword = searchKeyword getArticlesFromServer(keyword: searchKeyword) defaultLabel.removeFromSuperview() } From dae617e86e4521b770829ca2da3a4217d3e0092b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=80=E1=85=B5=E1=86=B7=E1=84=92=E1=85=A8=E1=84=85?= =?UTF-8?q?=E1=85=B5?= Date: Sat, 2 Feb 2019 00:02:07 +0900 Subject: [PATCH 063/183] #41 Refactor : changed if to if let statement --- tree/tree/View/Search/ArticleFeedTableViewCell.swift | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tree/tree/View/Search/ArticleFeedTableViewCell.swift b/tree/tree/View/Search/ArticleFeedTableViewCell.swift index 53a3c0c..1290754 100644 --- a/tree/tree/View/Search/ArticleFeedTableViewCell.swift +++ b/tree/tree/View/Search/ArticleFeedTableViewCell.swift @@ -40,17 +40,17 @@ class ArticleFeedTableViewCell: UITableViewCell { self.dateLabel.text = article.date self.companyLabel.text = article.source.title betweenLabel.isHidden = true - if article.author != nil && article.author?.isEmpty == false { + if article.author?.isEmpty == false { if let author = article.author?[0].name { betweenLabel.isHidden = false self.authorLabel.text = author } } - if article.image == nil { - self.imageStackView.isHidden = true - } else { + if let articleImage = article.image { self.imageStackView.isHidden = false - self.articleImageView.loadImageUrl(articleUrl: article.image ?? "") + self.articleImageView.loadImageUrl(articleUrl: articleImage) + } else { + self.imageStackView.isHidden = true } } From 325794f6fa20da43fe16ba0ce31ffd69d3b648a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=80=E1=85=B5=E1=86=B7=E1=84=92=E1=85=A8=E1=84=85?= =?UTF-8?q?=E1=85=B5?= Date: Sat, 2 Feb 2019 00:14:24 +0900 Subject: [PATCH 064/183] #41 Refactor : extract reduce size --- tree/tree/View/Helper/LoadingView.swift | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/tree/tree/View/Helper/LoadingView.swift b/tree/tree/View/Helper/LoadingView.swift index f9bfae2..b3186d6 100644 --- a/tree/tree/View/Helper/LoadingView.swift +++ b/tree/tree/View/Helper/LoadingView.swift @@ -49,9 +49,10 @@ class LoadingView: UIView { } private func startAnimation() { - dot1.transform = CGAffineTransform(scaleX: 0.01, y: 0.01) - dot2.transform = CGAffineTransform(scaleX: 0.01, y: 0.01) - dot3.transform = CGAffineTransform(scaleX: 0.01, y: 0.01) + let reduceSize = CGAffineTransform(scaleX: 0.01, y: 0.01) + dot1.transform = reduceSize + dot2.transform = reduceSize + dot3.transform = reduceSize UIView.animate(withDuration: 0.6, delay: 0.0, options: [.repeat, .autoreverse], animations: { self.dot1.transform = CGAffineTransform.identity }, completion: nil) From ae9aec59a6af47a83b7bc6750a53e69a3517cf81 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=80=E1=85=B5=E1=86=B7=E1=84=92=E1=85=A8=E1=84=85?= =?UTF-8?q?=E1=85=B5?= Date: Sat, 2 Feb 2019 00:22:34 +0900 Subject: [PATCH 065/183] #41 Refactor : code refactoring --- .../Search/ArticleDetailViewController.swift | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tree/tree/Controller/Search/ArticleDetailViewController.swift b/tree/tree/Controller/Search/ArticleDetailViewController.swift index 1d6e59e..f7ccd1e 100644 --- a/tree/tree/Controller/Search/ArticleDetailViewController.swift +++ b/tree/tree/Controller/Search/ArticleDetailViewController.swift @@ -16,10 +16,9 @@ class ArticleDetailViewController: UIViewController { @IBOutlet weak var imageView: ArticleImage! @IBOutlet weak var contentLabel: UILabel! + private lazy var papagoButton = UIButton(type: .custom) private var floatingButton = UIButton() private var floatingCheckAnimation: Bool = true - private lazy var papagoButton = UIButton(type: .custom) - var articleDetail: Article? override func viewDidLoad() { @@ -46,12 +45,13 @@ class ArticleDetailViewController: UIViewController { if let imageFromCache = imageCache.object(forKey: imageUrl as AnyObject) as? UIImage { self.imageView.image = imageFromCache } else { - self.imageView.loadImageUrl(articleUrl: articleUrl!) + self.imageView.loadImageUrl(articleUrl: imageUrl) } } private func registerGestureRecognizer() { - imageView.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(imageTapped))) + let tapGesture = UITapGestureRecognizer(target: self, action: #selector(imageTapped)) + imageView.addGestureRecognizer(tapGesture) } private func setArticleData() { @@ -59,7 +59,7 @@ class ArticleDetailViewController: UIViewController { dateLabel.text = articleDetail?.date contentLabel.text = articleDetail?.body getImageFromCache(from: articleDetail?.image ?? nil) - if articleDetail?.author != nil && articleDetail?.author?.isEmpty == false { + if articleDetail?.author?.isEmpty == false { if let author = articleDetail?.author?[0].name { self.authorLabel.text = author } From 9372bb6f0ea4782f6740ed2abff1a08e65706996 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=80=E1=85=B5=E1=86=B7=E1=84=92=E1=85=A8=E1=84=85?= =?UTF-8?q?=E1=85=B5?= Date: Sat, 2 Feb 2019 01:47:37 +0900 Subject: [PATCH 066/183] #41 Refactor : Remove weak self & Set access control --- tree/tree/Controller/Search/ArticleImageViewController.swift | 2 +- tree/tree/Controller/Search/SearchFilterViewController.swift | 2 +- tree/tree/Controller/Search/SearchViewController.swift | 3 +-- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/tree/tree/Controller/Search/ArticleImageViewController.swift b/tree/tree/Controller/Search/ArticleImageViewController.swift index 34f3b47..237fca4 100644 --- a/tree/tree/Controller/Search/ArticleImageViewController.swift +++ b/tree/tree/Controller/Search/ArticleImageViewController.swift @@ -13,8 +13,8 @@ class ArticleImageViewController: UIViewController { @IBOutlet weak var imageView: UIImageView! @IBOutlet weak var scrollView: UIScrollView! - var articleImage: UIImage? private var initTouchPosition: CGPoint = CGPoint(x: 0, y: 0) + var articleImage: UIImage? override func viewDidLoad() { super.viewDidLoad() diff --git a/tree/tree/Controller/Search/SearchFilterViewController.swift b/tree/tree/Controller/Search/SearchFilterViewController.swift index 97aaf42..71ce483 100644 --- a/tree/tree/Controller/Search/SearchFilterViewController.swift +++ b/tree/tree/Controller/Search/SearchFilterViewController.swift @@ -16,7 +16,7 @@ class SearchFilterViewController: UIViewController { roundCorners(layer: self.view.layer, radius: CGFloat(15.0)) } - func roundCorners(layer targetLayer: CALayer, radius withRaidus: CGFloat) { + private func roundCorners(layer targetLayer: CALayer, radius withRaidus: CGFloat) { targetLayer.cornerRadius = withRaidus targetLayer.masksToBounds = true } diff --git a/tree/tree/Controller/Search/SearchViewController.swift b/tree/tree/Controller/Search/SearchViewController.swift index a404b54..17bfe76 100644 --- a/tree/tree/Controller/Search/SearchViewController.swift +++ b/tree/tree/Controller/Search/SearchViewController.swift @@ -201,8 +201,7 @@ extension SearchViewController: UITableViewDataSource, UITableViewDelegate { func searchBarShowAndHideAnimation(_ direction: ScrollDirection) { let directionIsDown = direction == .down ? true : false - UIView.animate(withDuration: 0.5) { [weak self] in - guard let self = self else { return } + UIView.animate(withDuration: 0.5) { self.uiSearchBarOuterView.center.y += directionIsDown ? (-1) * self.topOffset : self.topOffset self.uiTableView.contentInset.top = directionIsDown ? 0 : self.topOffset self.uiSearchBarOuterView.alpha = directionIsDown ? 0 : 1.0 From 1e7b671abad960ecce8af8aa173a29b33f8a1709 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=80=E1=85=B5=E1=86=B7=E1=84=92=E1=85=A8=E1=84=85?= =?UTF-8?q?=E1=85=B5?= Date: Sat, 2 Feb 2019 13:27:20 +0900 Subject: [PATCH 067/183] #41 Refactor : Set data type --- .../Search/SearchViewController.swift | 36 ++++++++++--------- .../PresentationManager.swift | 1 - 2 files changed, 20 insertions(+), 17 deletions(-) diff --git a/tree/tree/Controller/Search/SearchViewController.swift b/tree/tree/Controller/Search/SearchViewController.swift index 17bfe76..7561587 100644 --- a/tree/tree/Controller/Search/SearchViewController.swift +++ b/tree/tree/Controller/Search/SearchViewController.swift @@ -16,7 +16,6 @@ class SearchViewController: UIViewController { @IBOutlet weak var navigationFilterItem: UIButton! private let cellIdentifier: String = "ArticleFeedTableViewCell" - private var loadingView: LoadingView? private var topOffset: CGFloat = UIApplication.shared.statusBarOrientation.isLandscape ? 44 : 64 private var tableViewContentOffsetY: CGFloat = 0 @@ -25,11 +24,11 @@ class SearchViewController: UIViewController { private var searchBarIsPresented: Bool = true private var transitionDelegate = PresentationManager() private var articles: [Article]? - private var defaultLabel = UILabel() - private var keyword = "" - private var page = 1 - private var totalPage = 0 - private var isMoreLoading = false + private var defaultLabel: UILabel = UILabel() + private var keyword: String = "" + private var page: Int = 1 + private var totalPage: Int = 0 + private var isMoreLoading: Bool = false override func viewDidLoad() { super.viewDidLoad() @@ -42,14 +41,6 @@ class SearchViewController: UIViewController { setMessageBySearchState(to: "🌴Search Please🌴") } - private func setMessageBySearchState(to message: String) { - defaultLabel.text = message - defaultLabel.frame.size = CGSize(width: 200, height: 50) - defaultLabel.center = self.view.center - defaultLabel.textAlignment = .center - view.addSubview(defaultLabel) - } - private func setLoadingView() { let loadingViewFrame = CGRect(x: 0, y: 0, width: 100, height: 100) loadingView = LoadingView(frame: loadingViewFrame) @@ -88,6 +79,14 @@ class SearchViewController: UIViewController { uiTableView.register(articleFeedNib, forCellReuseIdentifier: cellIdentifier) } + private func setMessageBySearchState(to message: String) { + defaultLabel.text = message + defaultLabel.frame.size = CGSize(width: 200, height: 50) + defaultLabel.center = self.view.center + defaultLabel.textAlignment = .center + view.addSubview(defaultLabel) + } + private func getArticlesFromServer(keyword: String) { articles = nil self.uiTableView.reloadData() @@ -134,7 +133,7 @@ class SearchViewController: UIViewController { } @objc private func filterItemTapAtion() { - guard let filterViewController: UIViewController = self.storyboard?.instantiateViewController(withIdentifier: "SearchFilterViewController") else { return } + guard let filterViewController = self.storyboard?.instantiateViewController(withIdentifier: "SearchFilterViewController") else { return } filterViewController.transitioningDelegate = transitionDelegate filterViewController.modalPresentationStyle = .custom present(filterViewController, animated: true) @@ -142,6 +141,7 @@ class SearchViewController: UIViewController { } +// MARK: TableView extension SearchViewController: UITableViewDataSource, UITableViewDelegate { func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { @@ -161,7 +161,10 @@ extension SearchViewController: UITableViewDataSource, UITableViewDelegate { articleView.articleDetail = articles?[indexPath.row] self.navigationController?.pushViewController(articleView, animated: true) } - +} + +// MARK: ScrollView +extension SearchViewController { func scrollViewDidScroll(_ scrollView: UIScrollView) { if !isMoreLoading { let scrollPosition = scrollView.contentSize.height - scrollView.frame.size.height - scrollView.contentOffset.y @@ -209,6 +212,7 @@ extension SearchViewController: UITableViewDataSource, UITableViewDelegate { } } +// MARK: SearchBar extension SearchViewController: UISearchBarDelegate { func searchBarTextDidBeginEditing(_ searchBar: UISearchBar) { uiSearchBar.setShowsCancelButton(true, animated: true) diff --git a/tree/tree/Helper/PresentationManager/PresentationManager.swift b/tree/tree/Helper/PresentationManager/PresentationManager.swift index 1f4ff20..92196ab 100644 --- a/tree/tree/Helper/PresentationManager/PresentationManager.swift +++ b/tree/tree/Helper/PresentationManager/PresentationManager.swift @@ -21,4 +21,3 @@ extension PresentationManager: UIViewControllerTransitioningDelegate { return presentationController } } - From 479e93530bf561ea9d0e74d849e30a1a3fcaa0b7 Mon Sep 17 00:00:00 2001 From: godpp Date: Sat, 2 Feb 2019 17:04:22 +0900 Subject: [PATCH 068/183] Feat : TableViewCell Animation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit moveUp과 Fade를 활용한 애니메이션 --- tree/tree.xcodeproj/project.pbxproj | 8 ++- .../Controller/Live/LiveViewController.swift | 2 +- .../View/Live/TableViewCell+Animator.swift | 63 +++++++++++++++++++ tree/tree/View/Live/TrandPageView.swift | 14 +++++ 4 files changed, 84 insertions(+), 3 deletions(-) create mode 100644 tree/tree/View/Live/TableViewCell+Animator.swift diff --git a/tree/tree.xcodeproj/project.pbxproj b/tree/tree.xcodeproj/project.pbxproj index 93558c4..97d9741 100644 --- a/tree/tree.xcodeproj/project.pbxproj +++ b/tree/tree.xcodeproj/project.pbxproj @@ -49,6 +49,7 @@ BC9E02A72202E03A00ADD1D5 /* TrandListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC9E02A62202E03A00ADD1D5 /* TrandListView.swift */; }; BC9E02AA2202EBFD00ADD1D5 /* TrandDateHeaderCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC9E02A82202EBFD00ADD1D5 /* TrandDateHeaderCell.swift */; }; BC9E02AB2202EBFD00ADD1D5 /* TrandDateHeaderCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = BC9E02A92202EBFD00ADD1D5 /* TrandDateHeaderCell.xib */; }; + BCD1BB2622057CF800F9C8A8 /* TableViewCell+Animator.swift in Sources */ = {isa = PBXBuildFile; fileRef = BCD1BB2522057CF800F9C8A8 /* TableViewCell+Animator.swift */; }; D9C6AB3D21FA9B3E001C0AB8 /* Extension+UIColor.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9C6AB3721FA9B3E001C0AB8 /* Extension+UIColor.swift */; }; D9C6AB4421FA9CF8001C0AB8 /* Search.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = D9C6AB4321FA9CF8001C0AB8 /* Search.storyboard */; }; D9C6AB4D21FAAD0A001C0AB8 /* SearchViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9C6AB4A21FAAD09001C0AB8 /* SearchViewController.swift */; }; @@ -105,6 +106,7 @@ BC9E02A62202E03A00ADD1D5 /* TrandListView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TrandListView.swift; sourceTree = ""; }; BC9E02A82202EBFD00ADD1D5 /* TrandDateHeaderCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TrandDateHeaderCell.swift; sourceTree = ""; }; BC9E02A92202EBFD00ADD1D5 /* TrandDateHeaderCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = TrandDateHeaderCell.xib; sourceTree = ""; }; + BCD1BB2522057CF800F9C8A8 /* TableViewCell+Animator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "TableViewCell+Animator.swift"; sourceTree = ""; }; BF0163F8362378789ACC30D4 /* Pods_tree.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_tree.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D9C6AB3721FA9B3E001C0AB8 /* Extension+UIColor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Extension+UIColor.swift"; sourceTree = ""; }; D9C6AB4321FA9CF8001C0AB8 /* Search.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Search.storyboard; sourceTree = ""; }; @@ -265,6 +267,7 @@ BC9E02A42202E02600ADD1D5 /* TrandListView.xib */, BC9E02A82202EBFD00ADD1D5 /* TrandDateHeaderCell.swift */, BC9E02A92202EBFD00ADD1D5 /* TrandDateHeaderCell.xib */, + BCD1BB2522057CF800F9C8A8 /* TableViewCell+Animator.swift */, ); path = Live; sourceTree = ""; @@ -512,6 +515,7 @@ BC7969BF22002EC30003F520 /* LiveViewController.swift in Sources */, D9C6AB4E21FAAD0A001C0AB8 /* MainViewController.swift in Sources */, 6AE2D7AE21FEF30D00444622 /* Config.swift in Sources */, + BCD1BB2622057CF800F9C8A8 /* TableViewCell+Animator.swift in Sources */, 35CB481D21FAE7C8000D96CF /* ArticleImageViewController.swift in Sources */, 6A5D282A22013FA5009EC8ED /* Extension+ImageView.swift in Sources */, 35CB481B21FAC610000D96CF /* ArticleDetailViewController.swift in Sources */, @@ -664,7 +668,7 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = H92U9KV5T2; + DEVELOPMENT_TEAM = ""; INFOPLIST_FILE = tree/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 12.0; LD_RUNPATH_SEARCH_PATHS = ( @@ -684,7 +688,7 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = H92U9KV5T2; + DEVELOPMENT_TEAM = ""; INFOPLIST_FILE = tree/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 12.0; LD_RUNPATH_SEARCH_PATHS = ( diff --git a/tree/tree/Controller/Live/LiveViewController.swift b/tree/tree/Controller/Live/LiveViewController.swift index 5dc67e3..b48dc76 100644 --- a/tree/tree/Controller/Live/LiveViewController.swift +++ b/tree/tree/Controller/Live/LiveViewController.swift @@ -66,7 +66,7 @@ class LiveViewController: UIViewController, UICollectionViewDelegateFlowLayout { return [pageByDays, pageByRealTime] } - private func setPageScrollView(pages : [TrandPageView]) { + private func setPageScrollView(pages: [TrandPageView]) { scrollView.frame = CGRect( x: 0, y: 0, diff --git a/tree/tree/View/Live/TableViewCell+Animator.swift b/tree/tree/View/Live/TableViewCell+Animator.swift new file mode 100644 index 0000000..1cc0f7f --- /dev/null +++ b/tree/tree/View/Live/TableViewCell+Animator.swift @@ -0,0 +1,63 @@ +// +// TableViewCell+Animator.swift +// tree +// +// Created by ParkSungJoon on 02/02/2019. +// Copyright © 2019 gardener. All rights reserved. +// + +import UIKit + +/// TableView willDisplay에서 인자를 넘겨 받아 처리하기 위한 return typealias +typealias Animation = (UITableViewCell, IndexPath, UITableView) -> Void + +/// TableViewCell에 대한 다양한 애니메이션 효과 메소드를 정의할 수 있는 Factory +enum AnimationFactory { + + /** + 아핀변형을 이용해 TableViewCell을 위로 움직이면서 Fade효과를 줄 수 있는 메소드 + - Parameters: + - rowHeight: Cell row의 높이 + - duration: Animation 지속 시간 + - delayFactor: Animate 효과 지연 시간 + */ + static func makeMoveUpWithFade( + rowHeight: CGFloat, + duration: TimeInterval, + delayFactor: Double + ) -> Animation { + return { cell, indexPath, _ in + cell.transform = CGAffineTransform(translationX: 0, y: rowHeight / 2) + cell.alpha = 0 + UIView.animate( + withDuration: duration, + delay: delayFactor * Double(indexPath.row), + options: [.curveEaseInOut], + animations: { + cell.transform = CGAffineTransform(translationX: 0, y: 0) + cell.alpha = 1 + }) + } + } +} + +final class Animator { + private var hasAnimatedCells = false + private let animation: Animation + + init(animation: @escaping Animation) { + self.animation = animation + } + + /// 현재 표시되는 TableViewCell의 마지막 indexPath Cell을 인지하여 hasAnimatedCells 값을 true로 변환하는 메소드 + func animate(to cell: UITableViewCell, at indexPath: IndexPath, in tableView: UITableView) { + guard !hasAnimatedCells else { return } + animation(cell, indexPath, tableView) + guard let lastIndexPath = tableView.indexPathsForVisibleRows?.last else { return } + if lastIndexPath == indexPath { + hasAnimatedCells = true + } else { + hasAnimatedCells = false + } + } +} diff --git a/tree/tree/View/Live/TrandPageView.swift b/tree/tree/View/Live/TrandPageView.swift index 23d49f5..6b2a966 100644 --- a/tree/tree/View/Live/TrandPageView.swift +++ b/tree/tree/View/Live/TrandPageView.swift @@ -115,4 +115,18 @@ extension TrandPageView: UITableViewDelegate, UITableViewDataSource { func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { return UITableView.automaticDimension } + + func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) { + switch indexPath.section { + case 0: break + default: + let animation = AnimationFactory.makeMoveUpWithFade( + rowHeight: cell.frame.height, + duration: 0.2, + delayFactor: 0.03 + ) + let animator = Animator(animation: animation) + animator.animate(to: cell, at: indexPath, in: tableView) + } + } } From ddb82170c44373b6a89f2ef23881c21014de2b68 Mon Sep 17 00:00:00 2001 From: godpp Date: Sat, 2 Feb 2019 18:09:28 +0900 Subject: [PATCH 069/183] Refactor : LodingView MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit dot UIView를 [UIView]로 바꿔서 중복되는 코드를 줄였습니다. --- tree/tree/View/Helper/LoadingView.swift | 34 +++++++++++-------------- tree/tree/View/Helper/LoadingView.xib | 11 ++++---- 2 files changed, 20 insertions(+), 25 deletions(-) diff --git a/tree/tree/View/Helper/LoadingView.swift b/tree/tree/View/Helper/LoadingView.swift index f9bfae2..e9cab78 100644 --- a/tree/tree/View/Helper/LoadingView.swift +++ b/tree/tree/View/Helper/LoadingView.swift @@ -11,9 +11,7 @@ import UIKit class LoadingView: UIView { @IBOutlet weak var loadingView: UIView! - @IBOutlet weak var dot1: UIView! - @IBOutlet weak var dot2: UIView! - @IBOutlet weak var dot3: UIView! + @IBOutlet var dots: [UIView]! private let xibName = "LoadingView" @@ -42,24 +40,22 @@ class LoadingView: UIView { } private func setRadius() { - let radius: CGFloat = 5 - dot1.layer.cornerRadius = radius - dot2.layer.cornerRadius = radius - dot3.layer.cornerRadius = radius + let radius: CGFloat = 5 + for dot in dots { + dot.layer.cornerRadius = radius + } } private func startAnimation() { - dot1.transform = CGAffineTransform(scaleX: 0.01, y: 0.01) - dot2.transform = CGAffineTransform(scaleX: 0.01, y: 0.01) - dot3.transform = CGAffineTransform(scaleX: 0.01, y: 0.01) - UIView.animate(withDuration: 0.6, delay: 0.0, options: [.repeat, .autoreverse], animations: { - self.dot1.transform = CGAffineTransform.identity - }, completion: nil) - UIView.animate(withDuration: 0.6, delay: 0.2, options: [.repeat, .autoreverse], animations: { - self.dot2.transform = CGAffineTransform.identity - }, completion: nil) - UIView.animate(withDuration: 0.6, delay: 0.4, options: [.repeat, .autoreverse], animations: { - self.dot3.transform = CGAffineTransform.identity - }, completion: nil) + for index in 0.. - + - - + @@ -13,10 +12,10 @@ - - - + + + From abe958ffa2f4dbbf006a710e92840c0a6dd84af2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=80=E1=85=B5=E1=86=B7=E1=84=92=E1=85=A8=E1=84=85?= =?UTF-8?q?=E1=85=B5?= Date: Sat, 2 Feb 2019 18:12:14 +0900 Subject: [PATCH 070/183] Add : Fixed scrolling bug --- .../Search/SearchViewController.swift | 27 ++++++++++++++----- tree/tree/View/Search/Search.storyboard | 2 +- 2 files changed, 21 insertions(+), 8 deletions(-) diff --git a/tree/tree/Controller/Search/SearchViewController.swift b/tree/tree/Controller/Search/SearchViewController.swift index 7561587..e6ae7df 100644 --- a/tree/tree/Controller/Search/SearchViewController.swift +++ b/tree/tree/Controller/Search/SearchViewController.swift @@ -29,7 +29,8 @@ class SearchViewController: UIViewController { private var page: Int = 1 private var totalPage: Int = 0 private var isMoreLoading: Bool = false - + private var isPresentedCheck: Bool = true + override func viewDidLoad() { super.viewDidLoad() delegateSetting() @@ -41,6 +42,10 @@ class SearchViewController: UIViewController { setMessageBySearchState(to: "🌴Search Please🌴") } + override func viewWillDisappear(_ animated: Bool) { + isPresentedCheck = searchBarIsPresented + } + private func setLoadingView() { let loadingViewFrame = CGRect(x: 0, y: 0, width: 100, height: 100) loadingView = LoadingView(frame: loadingViewFrame) @@ -172,17 +177,17 @@ extension SearchViewController { loadMoreAriticlesFromServer() isMoreLoading.toggle() } - } + } if searchBarIsPresented && tableViewContentOffsetY < scrollView.contentOffset.y { scrollViewCheckCount(.down) } else if !searchBarIsPresented && tableViewContentOffsetY > scrollView.contentOffset.y { scrollViewCheckCount(.up) - } + } tableViewContentOffsetY = scrollView.contentOffset.y } func scrollViewCheckCount(_ scrollDirection: ScrollDirection) { - let directionIsDown: Bool = scrollDirection == .down ? true : false + let directionIsDown = scrollDirection == .down ? true : false tableViewScrollCount.down += directionIsDown == true ? 1 : 0 tableViewScrollCount.up += directionIsDown == true ? 0 : 1 if tableViewScrollCount.down > 15 || tableViewScrollCount.up > 5 { @@ -204,10 +209,18 @@ extension SearchViewController { func searchBarShowAndHideAnimation(_ direction: ScrollDirection) { let directionIsDown = direction == .down ? true : false - UIView.animate(withDuration: 0.5) { - self.uiSearchBarOuterView.center.y += directionIsDown ? (-1) * self.topOffset : self.topOffset + if !isPresentedCheck { self.uiTableView.contentInset.top = directionIsDown ? 0 : self.topOffset - self.uiSearchBarOuterView.alpha = directionIsDown ? 0 : 1.0 + UIView.animate(withDuration: 0.3) { + self.uiSearchBarOuterView.alpha = 1 + self.isPresentedCheck.toggle() + } + } else { + UIView.animate(withDuration: 0.5) { + self.uiSearchBarOuterView.center.y += directionIsDown ? (-1) * self.topOffset : self.topOffset + self.uiTableView.contentInset.top = directionIsDown ? 0 : self.topOffset + self.uiSearchBarOuterView.alpha = directionIsDown ? 0 : 1.0 + } } } } diff --git a/tree/tree/View/Search/Search.storyboard b/tree/tree/View/Search/Search.storyboard index 23c9e13..26af3bf 100644 --- a/tree/tree/View/Search/Search.storyboard +++ b/tree/tree/View/Search/Search.storyboard @@ -250,7 +250,7 @@ - + From fa8ff7e43a6968903ea5310579b8f24628236c91 Mon Sep 17 00:00:00 2001 From: godpp Date: Sat, 2 Feb 2019 19:18:17 +0900 Subject: [PATCH 071/183] Refator : Trend MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Trand -> Trend 파일 오타 수정 - View Xib Cell에 통합 --- tree/tree.xcodeproj/project.pbxproj | 84 +++++++--------- .../Controller/Live/LiveViewController.swift | 18 ++-- tree/tree/Info.plist | 2 +- .../View/Live/TrandHeaderTableViewCell.swift | 13 --- .../View/Live/TrandHeaderTableViewCell.xib | 44 --------- tree/tree/View/Live/TrandHeaderView.xib | 77 --------------- tree/tree/View/Live/TrandListView.xib | 95 ------------------ tree/tree/View/Live/TrandTableViewCell.swift | 13 --- tree/tree/View/Live/TrandTableViewCell.xib | 43 -------- ...HeaderView.swift => TrendHeaderCell.swift} | 31 ++---- tree/tree/View/Live/TrendHeaderCell.xib | 77 +++++++++++++++ ...randListView.swift => TrendListCell.swift} | 32 ++---- tree/tree/View/Live/TrendListCell.xib | 97 +++++++++++++++++++ ...erCell.swift => TrendListHeaderCell.swift} | 2 +- ...HeaderCell.xib => TrendListHeaderCell.xib} | 2 +- ...randPageView.swift => TrendPageView.swift} | 30 +++--- .../{TrandPageView.xib => TrendPageView.xib} | 2 +- 17 files changed, 251 insertions(+), 411 deletions(-) delete mode 100644 tree/tree/View/Live/TrandHeaderTableViewCell.swift delete mode 100644 tree/tree/View/Live/TrandHeaderTableViewCell.xib delete mode 100644 tree/tree/View/Live/TrandHeaderView.xib delete mode 100644 tree/tree/View/Live/TrandListView.xib delete mode 100644 tree/tree/View/Live/TrandTableViewCell.swift delete mode 100644 tree/tree/View/Live/TrandTableViewCell.xib rename tree/tree/View/Live/{TrandHeaderView.swift => TrendHeaderCell.swift} (66%) create mode 100644 tree/tree/View/Live/TrendHeaderCell.xib rename tree/tree/View/Live/{TrandListView.swift => TrendListCell.swift} (71%) create mode 100644 tree/tree/View/Live/TrendListCell.xib rename tree/tree/View/Live/{TrandDateHeaderCell.swift => TrendListHeaderCell.swift} (91%) rename tree/tree/View/Live/{TrandDateHeaderCell.xib => TrendListHeaderCell.xib} (96%) rename tree/tree/View/Live/{TrandPageView.swift => TrendPageView.swift} (81%) rename tree/tree/View/Live/{TrandPageView.xib => TrendPageView.xib} (97%) diff --git a/tree/tree.xcodeproj/project.pbxproj b/tree/tree.xcodeproj/project.pbxproj index 97d9741..dd04c98 100644 --- a/tree/tree.xcodeproj/project.pbxproj +++ b/tree/tree.xcodeproj/project.pbxproj @@ -37,19 +37,15 @@ BC7969BC22002EB20003F520 /* Live.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = BC7969BB22002EB20003F520 /* Live.storyboard */; }; BC7969BF22002EC30003F520 /* LiveViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC7969BE22002EC30003F520 /* LiveViewController.swift */; }; BC7969C122002F440003F520 /* GoogleTrendAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC7969C022002F440003F520 /* GoogleTrendAPI.swift */; }; - BC7969C52200AD0E0003F520 /* TrandPageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC7969C42200AD0E0003F520 /* TrandPageView.swift */; }; - BC7969C72200AD190003F520 /* TrandPageView.xib in Resources */ = {isa = PBXBuildFile; fileRef = BC7969C62200AD190003F520 /* TrandPageView.xib */; }; - BC7969C922015AF30003F520 /* TrandHeaderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC7969C822015AF30003F520 /* TrandHeaderView.swift */; }; - BC7969CB22015B010003F520 /* TrandHeaderView.xib in Resources */ = {isa = PBXBuildFile; fileRef = BC7969CA22015B010003F520 /* TrandHeaderView.xib */; }; - BC7969CF2201749F0003F520 /* TrandHeaderTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC7969CD2201749E0003F520 /* TrandHeaderTableViewCell.swift */; }; - BC7969D02201749F0003F520 /* TrandHeaderTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = BC7969CE2201749E0003F520 /* TrandHeaderTableViewCell.xib */; }; - BC7969D3220174B40003F520 /* TrandTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC7969D1220174B40003F520 /* TrandTableViewCell.swift */; }; - BC7969D4220174B40003F520 /* TrandTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = BC7969D2220174B40003F520 /* TrandTableViewCell.xib */; }; - BC9E02A52202E02600ADD1D5 /* TrandListView.xib in Resources */ = {isa = PBXBuildFile; fileRef = BC9E02A42202E02600ADD1D5 /* TrandListView.xib */; }; - BC9E02A72202E03A00ADD1D5 /* TrandListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC9E02A62202E03A00ADD1D5 /* TrandListView.swift */; }; - BC9E02AA2202EBFD00ADD1D5 /* TrandDateHeaderCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC9E02A82202EBFD00ADD1D5 /* TrandDateHeaderCell.swift */; }; - BC9E02AB2202EBFD00ADD1D5 /* TrandDateHeaderCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = BC9E02A92202EBFD00ADD1D5 /* TrandDateHeaderCell.xib */; }; + BC7969C52200AD0E0003F520 /* TrendPageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC7969C42200AD0E0003F520 /* TrendPageView.swift */; }; + BC7969C72200AD190003F520 /* TrendPageView.xib in Resources */ = {isa = PBXBuildFile; fileRef = BC7969C62200AD190003F520 /* TrendPageView.xib */; }; + BC7969D3220174B40003F520 /* TrendListCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC7969D1220174B40003F520 /* TrendListCell.swift */; }; + BC7969D4220174B40003F520 /* TrendListCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = BC7969D2220174B40003F520 /* TrendListCell.xib */; }; + BC9E02AA2202EBFD00ADD1D5 /* TrendListHeaderCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC9E02A82202EBFD00ADD1D5 /* TrendListHeaderCell.swift */; }; + BC9E02AB2202EBFD00ADD1D5 /* TrendListHeaderCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = BC9E02A92202EBFD00ADD1D5 /* TrendListHeaderCell.xib */; }; BCD1BB2622057CF800F9C8A8 /* TableViewCell+Animator.swift in Sources */ = {isa = PBXBuildFile; fileRef = BCD1BB2522057CF800F9C8A8 /* TableViewCell+Animator.swift */; }; + BCDB9E272205A1040095E4E4 /* TrendHeaderCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = BCDB9E252205A1040095E4E4 /* TrendHeaderCell.swift */; }; + BCDB9E282205A1040095E4E4 /* TrendHeaderCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = BCDB9E262205A1040095E4E4 /* TrendHeaderCell.xib */; }; D9C6AB3D21FA9B3E001C0AB8 /* Extension+UIColor.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9C6AB3721FA9B3E001C0AB8 /* Extension+UIColor.swift */; }; D9C6AB4421FA9CF8001C0AB8 /* Search.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = D9C6AB4321FA9CF8001C0AB8 /* Search.storyboard */; }; D9C6AB4D21FAAD0A001C0AB8 /* SearchViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9C6AB4A21FAAD09001C0AB8 /* SearchViewController.swift */; }; @@ -94,19 +90,15 @@ BC7969BB22002EB20003F520 /* Live.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = Live.storyboard; sourceTree = ""; }; BC7969BE22002EC30003F520 /* LiveViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LiveViewController.swift; sourceTree = ""; }; BC7969C022002F440003F520 /* GoogleTrendAPI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GoogleTrendAPI.swift; sourceTree = ""; }; - BC7969C42200AD0E0003F520 /* TrandPageView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TrandPageView.swift; sourceTree = ""; }; - BC7969C62200AD190003F520 /* TrandPageView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = TrandPageView.xib; sourceTree = ""; }; - BC7969C822015AF30003F520 /* TrandHeaderView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TrandHeaderView.swift; sourceTree = ""; }; - BC7969CA22015B010003F520 /* TrandHeaderView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = TrandHeaderView.xib; sourceTree = ""; }; - BC7969CD2201749E0003F520 /* TrandHeaderTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TrandHeaderTableViewCell.swift; sourceTree = ""; }; - BC7969CE2201749E0003F520 /* TrandHeaderTableViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = TrandHeaderTableViewCell.xib; sourceTree = ""; }; - BC7969D1220174B40003F520 /* TrandTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TrandTableViewCell.swift; sourceTree = ""; }; - BC7969D2220174B40003F520 /* TrandTableViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = TrandTableViewCell.xib; sourceTree = ""; }; - BC9E02A42202E02600ADD1D5 /* TrandListView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = TrandListView.xib; sourceTree = ""; }; - BC9E02A62202E03A00ADD1D5 /* TrandListView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TrandListView.swift; sourceTree = ""; }; - BC9E02A82202EBFD00ADD1D5 /* TrandDateHeaderCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TrandDateHeaderCell.swift; sourceTree = ""; }; - BC9E02A92202EBFD00ADD1D5 /* TrandDateHeaderCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = TrandDateHeaderCell.xib; sourceTree = ""; }; + BC7969C42200AD0E0003F520 /* TrendPageView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TrendPageView.swift; sourceTree = ""; }; + BC7969C62200AD190003F520 /* TrendPageView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = TrendPageView.xib; sourceTree = ""; }; + BC7969D1220174B40003F520 /* TrendListCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TrendListCell.swift; sourceTree = ""; }; + BC7969D2220174B40003F520 /* TrendListCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = TrendListCell.xib; sourceTree = ""; }; + BC9E02A82202EBFD00ADD1D5 /* TrendListHeaderCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TrendListHeaderCell.swift; sourceTree = ""; }; + BC9E02A92202EBFD00ADD1D5 /* TrendListHeaderCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = TrendListHeaderCell.xib; sourceTree = ""; }; BCD1BB2522057CF800F9C8A8 /* TableViewCell+Animator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "TableViewCell+Animator.swift"; sourceTree = ""; }; + BCDB9E252205A1040095E4E4 /* TrendHeaderCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TrendHeaderCell.swift; sourceTree = ""; }; + BCDB9E262205A1040095E4E4 /* TrendHeaderCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = TrendHeaderCell.xib; sourceTree = ""; }; BF0163F8362378789ACC30D4 /* Pods_tree.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_tree.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D9C6AB3721FA9B3E001C0AB8 /* Extension+UIColor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Extension+UIColor.swift"; sourceTree = ""; }; D9C6AB4321FA9CF8001C0AB8 /* Search.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Search.storyboard; sourceTree = ""; }; @@ -255,18 +247,14 @@ isa = PBXGroup; children = ( BC7969BB22002EB20003F520 /* Live.storyboard */, - BC7969C42200AD0E0003F520 /* TrandPageView.swift */, - BC7969C62200AD190003F520 /* TrandPageView.xib */, - BC7969C822015AF30003F520 /* TrandHeaderView.swift */, - BC7969CA22015B010003F520 /* TrandHeaderView.xib */, - BC7969CD2201749E0003F520 /* TrandHeaderTableViewCell.swift */, - BC7969CE2201749E0003F520 /* TrandHeaderTableViewCell.xib */, - BC7969D1220174B40003F520 /* TrandTableViewCell.swift */, - BC7969D2220174B40003F520 /* TrandTableViewCell.xib */, - BC9E02A62202E03A00ADD1D5 /* TrandListView.swift */, - BC9E02A42202E02600ADD1D5 /* TrandListView.xib */, - BC9E02A82202EBFD00ADD1D5 /* TrandDateHeaderCell.swift */, - BC9E02A92202EBFD00ADD1D5 /* TrandDateHeaderCell.xib */, + BC7969C42200AD0E0003F520 /* TrendPageView.swift */, + BC7969C62200AD190003F520 /* TrendPageView.xib */, + BCDB9E252205A1040095E4E4 /* TrendHeaderCell.swift */, + BCDB9E262205A1040095E4E4 /* TrendHeaderCell.xib */, + BC7969D1220174B40003F520 /* TrendListCell.swift */, + BC7969D2220174B40003F520 /* TrendListCell.xib */, + BC9E02A82202EBFD00ADD1D5 /* TrendListHeaderCell.swift */, + BC9E02A92202EBFD00ADD1D5 /* TrendListHeaderCell.xib */, BCD1BB2522057CF800F9C8A8 /* TableViewCell+Animator.swift */, ); path = Live; @@ -421,19 +409,17 @@ files = ( 35DC0DFF21F6FB3200F30416 /* .swiftlint.yml in Resources */, 6A65DA432203D22B005EB2BC /* LoadingView.xib in Resources */, + BCDB9E282205A1040095E4E4 /* TrendHeaderCell.xib in Resources */, 35DC0DD921F6F3CB00F30416 /* LaunchScreen.storyboard in Resources */, - BC9E02AB2202EBFD00ADD1D5 /* TrandDateHeaderCell.xib in Resources */, - BC9E02A52202E02600ADD1D5 /* TrandListView.xib in Resources */, + BC9E02AB2202EBFD00ADD1D5 /* TrendListHeaderCell.xib in Resources */, 35CB482121FB6306000D96CF /* ArticleFeedTableViewCell.xib in Resources */, 35DC0E0821F70BBC00F30416 /* ArticleDetail.storyboard in Resources */, - BC7969C72200AD190003F520 /* TrandPageView.xib in Resources */, - BC7969D02201749F0003F520 /* TrandHeaderTableViewCell.xib in Resources */, + BC7969C72200AD190003F520 /* TrendPageView.xib in Resources */, 35DC0DD621F6F3CB00F30416 /* Assets.xcassets in Resources */, 35DC0DD421F6F3C700F30416 /* Main.storyboard in Resources */, BC7969BC22002EB20003F520 /* Live.storyboard in Resources */, D9C6AB4421FA9CF8001C0AB8 /* Search.storyboard in Resources */, - BC7969CB22015B010003F520 /* TrandHeaderView.xib in Resources */, - BC7969D4220174B40003F520 /* TrandTableViewCell.xib in Resources */, + BC7969D4220174B40003F520 /* TrendListCell.xib in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -493,17 +479,14 @@ 35CB482021FB6306000D96CF /* ArticleFeedTableViewCell.swift in Sources */, D9C6AB4D21FAAD0A001C0AB8 /* SearchViewController.swift in Sources */, BC7969B922002E620003F520 /* TrandDays.swift in Sources */, - BC7969C922015AF30003F520 /* TrandHeaderView.swift in Sources */, BC2656C721FD950900003413 /* Articles.swift in Sources */, D9C6AB5D21FC152D001C0AB8 /* SearchScrollEnum.swift in Sources */, - BC9E02A72202E03A00ADD1D5 /* TrandListView.swift in Sources */, D9C6AB3D21FA9B3E001C0AB8 /* Extension+UIColor.swift in Sources */, - BC7969D3220174B40003F520 /* TrandTableViewCell.swift in Sources */, + BC7969D3220174B40003F520 /* TrendListCell.swift in Sources */, BC2656BE21FD94EE00003413 /* APIService.swift in Sources */, - BC9E02AA2202EBFD00ADD1D5 /* TrandDateHeaderCell.swift in Sources */, + BC9E02AA2202EBFD00ADD1D5 /* TrendListHeaderCell.swift in Sources */, BC2656BD21FD94EE00003413 /* EventRegistryAPI.swift in Sources */, - BC7969CF2201749F0003F520 /* TrandHeaderTableViewCell.swift in Sources */, - BC7969C52200AD0E0003F520 /* TrandPageView.swift in Sources */, + BC7969C52200AD0E0003F520 /* TrendPageView.swift in Sources */, D9C6AB8221FEDB08001C0AB8 /* PresentationManager.swift in Sources */, BC2656C321FD94EE00003413 /* NetworkResult.swift in Sources */, BC2656C021FD94EE00003413 /* APICenter.swift in Sources */, @@ -518,6 +501,7 @@ BCD1BB2622057CF800F9C8A8 /* TableViewCell+Animator.swift in Sources */, 35CB481D21FAE7C8000D96CF /* ArticleImageViewController.swift in Sources */, 6A5D282A22013FA5009EC8ED /* Extension+ImageView.swift in Sources */, + BCDB9E272205A1040095E4E4 /* TrendHeaderCell.swift in Sources */, 35CB481B21FAC610000D96CF /* ArticleDetailViewController.swift in Sources */, BC7969C122002F440003F520 /* GoogleTrendAPI.swift in Sources */, D9C6AB8021FED9F7001C0AB8 /* PresentationController.swift in Sources */, @@ -668,7 +652,7 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = ""; + DEVELOPMENT_TEAM = 86PPC52X64; INFOPLIST_FILE = tree/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 12.0; LD_RUNPATH_SEARCH_PATHS = ( @@ -688,7 +672,7 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = ""; + DEVELOPMENT_TEAM = 86PPC52X64; INFOPLIST_FILE = tree/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 12.0; LD_RUNPATH_SEARCH_PATHS = ( diff --git a/tree/tree/Controller/Live/LiveViewController.swift b/tree/tree/Controller/Live/LiveViewController.swift index b48dc76..fed5350 100644 --- a/tree/tree/Controller/Live/LiveViewController.swift +++ b/tree/tree/Controller/Live/LiveViewController.swift @@ -13,7 +13,7 @@ class LiveViewController: UIViewController, UICollectionViewDelegateFlowLayout { @IBOutlet weak var scrollView: UIScrollView! @IBOutlet weak var pageControl: UIPageControl! - private var pages: [TrandPageView] = [] + private var pages: [TrendPageView] = [] private var googleTrendData: TrendDays? { didSet { DispatchQueue.main.async { @@ -47,26 +47,26 @@ class LiveViewController: UIViewController, UICollectionViewDelegateFlowLayout { } } - private func createPages() -> [TrandPageView] { - guard let pageByDays: TrandPageView = Bundle.main.loadNibNamed( - "TrandPageView", + private func createPages() -> [TrendPageView] { + guard let pageByDays: TrendPageView = Bundle.main.loadNibNamed( + "TrendPageView", owner: self, options: nil - )?.first as? TrandPageView else { + )?.first as? TrendPageView else { return [] } pageByDays.googleTrendData = googleTrendData - guard let pageByRealTime: TrandPageView = Bundle.main.loadNibNamed( - "TrandPageView", + guard let pageByRealTime: TrendPageView = Bundle.main.loadNibNamed( + "TrendPageView", owner: self, options: nil - )?.first as? TrandPageView else { + )?.first as? TrendPageView else { return [] } return [pageByDays, pageByRealTime] } - private func setPageScrollView(pages: [TrandPageView]) { + private func setPageScrollView(pages: [TrendPageView]) { scrollView.frame = CGRect( x: 0, y: 0, diff --git a/tree/tree/Info.plist b/tree/tree/Info.plist index efe72ea..d9677b1 100644 --- a/tree/tree/Info.plist +++ b/tree/tree/Info.plist @@ -30,7 +30,7 @@ UILaunchStoryboardName LaunchScreen UIMainStoryboardFile - Main + Live UIRequiredDeviceCapabilities armv7 diff --git a/tree/tree/View/Live/TrandHeaderTableViewCell.swift b/tree/tree/View/Live/TrandHeaderTableViewCell.swift deleted file mode 100644 index ce44b53..0000000 --- a/tree/tree/View/Live/TrandHeaderTableViewCell.swift +++ /dev/null @@ -1,13 +0,0 @@ -// -// TrandHeaderTableViewCell.swift -// tree -// -// Created by ParkSungJoon on 30/01/2019. -// Copyright © 2019 gardener. All rights reserved. -// - -import UIKit - -class TrandHeaderTableViewCell: UITableViewCell { - @IBOutlet weak var headerView: TrandHeaderView! -} diff --git a/tree/tree/View/Live/TrandHeaderTableViewCell.xib b/tree/tree/View/Live/TrandHeaderTableViewCell.xib deleted file mode 100644 index 68e8548..0000000 --- a/tree/tree/View/Live/TrandHeaderTableViewCell.xib +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/tree/tree/View/Live/TrandHeaderView.xib b/tree/tree/View/Live/TrandHeaderView.xib deleted file mode 100644 index 1db0e0f..0000000 --- a/tree/tree/View/Live/TrandHeaderView.xib +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/tree/tree/View/Live/TrandListView.xib b/tree/tree/View/Live/TrandListView.xib deleted file mode 100644 index de14711..0000000 --- a/tree/tree/View/Live/TrandListView.xib +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/tree/tree/View/Live/TrandTableViewCell.swift b/tree/tree/View/Live/TrandTableViewCell.swift deleted file mode 100644 index 7e8fc63..0000000 --- a/tree/tree/View/Live/TrandTableViewCell.swift +++ /dev/null @@ -1,13 +0,0 @@ -// -// TrandTableViewCell.swift -// tree -// -// Created by ParkSungJoon on 30/01/2019. -// Copyright © 2019 gardener. All rights reserved. -// - -import UIKit - -class TrandTableViewCell: UITableViewCell { - @IBOutlet weak var listView: TrandListView! -} diff --git a/tree/tree/View/Live/TrandTableViewCell.xib b/tree/tree/View/Live/TrandTableViewCell.xib deleted file mode 100644 index 54541cd..0000000 --- a/tree/tree/View/Live/TrandTableViewCell.xib +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/tree/tree/View/Live/TrandHeaderView.swift b/tree/tree/View/Live/TrendHeaderCell.swift similarity index 66% rename from tree/tree/View/Live/TrandHeaderView.swift rename to tree/tree/View/Live/TrendHeaderCell.swift index 9cd9acb..71e5560 100644 --- a/tree/tree/View/Live/TrandHeaderView.swift +++ b/tree/tree/View/Live/TrendHeaderCell.swift @@ -1,44 +1,26 @@ // -// TrandHeaderView.swift +// TrendHeaderCell.swift // tree // -// Created by ParkSungJoon on 30/01/2019. +// Created by ParkSungJoon on 02/02/2019. // Copyright © 2019 gardener. All rights reserved. // import UIKit -class TrandHeaderView: UIView { - +class TrendHeaderCell: UITableViewCell { + @IBOutlet weak var backgroundContainerView: UIView! - @IBOutlet weak var titleLabel: UILabel! - @IBOutlet weak var countryLabel: UILabel! - private let xibName = "TrandHeaderView" private let innerMargin: CGFloat = 20.0 private weak var shadowView: UIView? - required init?(coder aDecoder: NSCoder) { - super.init(coder: aDecoder) - initXIB() + override func awakeFromNib() { + super.awakeFromNib() backgroundContainerView.layer.cornerRadius = 14 - } - - override func layoutSubviews() { - super.layoutSubviews() configureShadow() } - private func initXIB(){ - guard let view = Bundle.main.loadNibNamed( - xibName, - owner: self, - options: nil - )?.first as? UIView else { return } - view.frame = self.bounds - self.addSubview(view) - } - private func configureShadow() { let shadowView = UIView( frame: CGRect( @@ -66,3 +48,4 @@ class TrandHeaderView: UIView { shadowView.layer.shadowPath = shadowPath.cgPath } } + diff --git a/tree/tree/View/Live/TrendHeaderCell.xib b/tree/tree/View/Live/TrendHeaderCell.xib new file mode 100644 index 0000000..3bb59d2 --- /dev/null +++ b/tree/tree/View/Live/TrendHeaderCell.xib @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tree/tree/View/Live/TrandListView.swift b/tree/tree/View/Live/TrendListCell.swift similarity index 71% rename from tree/tree/View/Live/TrandListView.swift rename to tree/tree/View/Live/TrendListCell.swift index 3d0f10c..8a655a0 100644 --- a/tree/tree/View/Live/TrandListView.swift +++ b/tree/tree/View/Live/TrendListCell.swift @@ -1,52 +1,36 @@ // -// TrandListView.swift +// TrandTableViewCell.swift // tree // -// Created by ParkSungJoon on 31/01/2019. +// Created by ParkSungJoon on 30/01/2019. // Copyright © 2019 gardener. All rights reserved. // import UIKit -class TrandListView: UIView { - +class TrendListCell: UITableViewCell { + @IBOutlet weak var backgroundContainerView: UIView! - @IBOutlet weak var rankLabel: UILabel! @IBOutlet weak var hitsLabel: UILabel! + @IBOutlet weak var rankLabel: UILabel! @IBOutlet weak var titleLabel: UILabel! @IBOutlet weak var subscriptLabel: UILabel! - private let xibName = "TrandListView" private weak var shadowView: UIView? private let innerMargin: CGFloat = 20.0 - required init?(coder aDecoder: NSCoder) { - super.init(coder: aDecoder) - initXIB() + override func awakeFromNib() { + super.awakeFromNib() backgroundContainerView.layer.cornerRadius = 14 - } - - override func layoutSubviews() { - super.layoutSubviews() configureShadow() } - private func initXIB(){ - guard let view = Bundle.main.loadNibNamed( - xibName, - owner: self, - options: nil - )?.first as? UIView else { return } - view.frame = self.bounds - self.addSubview(view) - } - private func configureShadow() { let shadowView = UIView(frame: CGRect(x: innerMargin, y: innerMargin, width: bounds.width - (2 * innerMargin), height: bounds.height - (2 * innerMargin) - )) + )) insertSubview(shadowView, at: 0) self.shadowView = shadowView self.applyShadow( diff --git a/tree/tree/View/Live/TrendListCell.xib b/tree/tree/View/Live/TrendListCell.xib new file mode 100644 index 0000000..bba7096 --- /dev/null +++ b/tree/tree/View/Live/TrendListCell.xib @@ -0,0 +1,97 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tree/tree/View/Live/TrandDateHeaderCell.swift b/tree/tree/View/Live/TrendListHeaderCell.swift similarity index 91% rename from tree/tree/View/Live/TrandDateHeaderCell.swift rename to tree/tree/View/Live/TrendListHeaderCell.swift index 0ad28ed..9ea4166 100644 --- a/tree/tree/View/Live/TrandDateHeaderCell.swift +++ b/tree/tree/View/Live/TrendListHeaderCell.swift @@ -8,7 +8,7 @@ import UIKit -class TrandDateHeaderCell: UITableViewCell { +class TrendListHeaderCell: UITableViewCell { @IBOutlet weak var dateLabel: UILabel! diff --git a/tree/tree/View/Live/TrandDateHeaderCell.xib b/tree/tree/View/Live/TrendListHeaderCell.xib similarity index 96% rename from tree/tree/View/Live/TrandDateHeaderCell.xib rename to tree/tree/View/Live/TrendListHeaderCell.xib index 1ca2d31..03f2e10 100644 --- a/tree/tree/View/Live/TrandDateHeaderCell.xib +++ b/tree/tree/View/Live/TrendListHeaderCell.xib @@ -11,7 +11,7 @@ - + diff --git a/tree/tree/View/Live/TrandPageView.swift b/tree/tree/View/Live/TrendPageView.swift similarity index 81% rename from tree/tree/View/Live/TrandPageView.swift rename to tree/tree/View/Live/TrendPageView.swift index 6b2a966..940b42d 100644 --- a/tree/tree/View/Live/TrandPageView.swift +++ b/tree/tree/View/Live/TrendPageView.swift @@ -8,13 +8,13 @@ import UIKit -class TrandPageView: UIView { +class TrendPageView: UIView { @IBOutlet weak var tableView: UITableView! - private let headerCellIdentifier = "TrandHeaderTableViewCell" - private let listCellIdentifier = "TrandTableViewCell" - private let dateHeaderCellIdentifier = "TrandDateHeaderCell" + private let headerCellIdentifier = "TrendHeaderCell" + private let listCellIdentifier = "TrendListCell" + private let listHeaderCellIdentifier = "TrendListHeaderCell" var googleTrendData: TrendDays? @@ -29,8 +29,8 @@ class TrandPageView: UIView { tableView.register(headerNib, forCellReuseIdentifier: headerCellIdentifier) let listNib = UINib(nibName: listCellIdentifier, bundle: nil) tableView.register(listNib, forCellReuseIdentifier: listCellIdentifier) - let dateHeaderNib = UINib(nibName: dateHeaderCellIdentifier, bundle: nil) - tableView.register(dateHeaderNib, forCellReuseIdentifier: dateHeaderCellIdentifier) + let dateHeaderNib = UINib(nibName: listHeaderCellIdentifier, bundle: nil) + tableView.register(dateHeaderNib, forCellReuseIdentifier: listHeaderCellIdentifier) } private func setTableView() { @@ -45,7 +45,7 @@ class TrandPageView: UIView { } } -extension TrandPageView: UITableViewDelegate, UITableViewDataSource { +extension TrendPageView: UITableViewDelegate, UITableViewDataSource { func numberOfSections(in tableView: UITableView) -> Int { guard @@ -75,8 +75,8 @@ extension TrandPageView: UITableViewDelegate, UITableViewDataSource { default: guard let headerCell = tableView.dequeueReusableCell( - withIdentifier: "TrandDateHeaderCell" - ) as? TrandDateHeaderCell else { + withIdentifier: listHeaderCellIdentifier + ) as? TrendListHeaderCell else { return UIView() } headerCell.backgroundColor = UIColor.white @@ -91,7 +91,7 @@ extension TrandPageView: UITableViewDelegate, UITableViewDataSource { guard let cell = tableView.dequeueReusableCell( withIdentifier: headerCellIdentifier, for: indexPath - ) as? TrandHeaderTableViewCell else { + ) as? TrendHeaderCell else { return UITableViewCell() } return cell @@ -100,14 +100,14 @@ extension TrandPageView: UITableViewDelegate, UITableViewDataSource { let cell = tableView.dequeueReusableCell( withIdentifier: listCellIdentifier, for: indexPath - ) as? TrandTableViewCell else { + ) as? TrendListCell else { return UITableViewCell() } let row = googleTrendData?.trend.searchesByDays[indexPath.section-1].keywordList[indexPath.row] - cell.listView.titleLabel.text = row?.title.query - cell.listView.rankLabel.text = "\(indexPath.row + 1)" - cell.listView.subscriptLabel.text = row?.articles[0].title - cell.listView.hitsLabel.text = row?.formattedTraffic + cell.titleLabel.text = row?.title.query + cell.rankLabel.text = "\(indexPath.row + 1)" + cell.subscriptLabel.text = row?.articles[0].title + cell.hitsLabel.text = row?.formattedTraffic return cell } } diff --git a/tree/tree/View/Live/TrandPageView.xib b/tree/tree/View/Live/TrendPageView.xib similarity index 97% rename from tree/tree/View/Live/TrandPageView.xib rename to tree/tree/View/Live/TrendPageView.xib index 7211fa5..86acf85 100644 --- a/tree/tree/View/Live/TrandPageView.xib +++ b/tree/tree/View/Live/TrendPageView.xib @@ -11,7 +11,7 @@ - + From cfc9610dc951983741c212a32f2c2eb5672cf292 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=80=E1=85=B5=E1=86=B7=E1=84=92=E1=85=A8=E1=84=85?= =?UTF-8?q?=E1=85=B5?= Date: Sat, 2 Feb 2019 19:49:53 +0900 Subject: [PATCH 072/183] #14 Feat : Connect tableview prefetchDataSource --- tree/tree/Controller/Search/SearchViewController.swift | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/tree/tree/Controller/Search/SearchViewController.swift b/tree/tree/Controller/Search/SearchViewController.swift index e6ae7df..30f18b8 100644 --- a/tree/tree/Controller/Search/SearchViewController.swift +++ b/tree/tree/Controller/Search/SearchViewController.swift @@ -58,6 +58,7 @@ class SearchViewController: UIViewController { uiSearchBar.delegate = self uiTableView.delegate = self uiTableView.dataSource = self + uiTableView.prefetchDataSource = self } private func searchBarSetting() { @@ -251,3 +252,9 @@ extension SearchViewController: UISearchBarDelegate { uiSearchBar.resignFirstResponder() } } + +extension SearchViewController: UITableViewDataSourcePrefetching { + func tableView(_ tableView: UITableView, prefetchRowsAt indexPaths: [IndexPath]) { + + } +} From 8f162a8c6bb2faf2c428ce5a14cfd980e062a375 Mon Sep 17 00:00:00 2001 From: godpp Date: Sun, 3 Feb 2019 15:47:33 +0900 Subject: [PATCH 073/183] Feat : LIVE Trend Expandable Header Cell MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Constraints의 Priority를 지정해 expanded Bool 값에 따라 활성화, 비활성화 시켜 구현하였습니다. --- tree/tree/View/Live/TrendHeaderCell.swift | 57 +++++++- tree/tree/View/Live/TrendHeaderCell.xib | 152 ++++++++++++++++++++-- tree/tree/View/Live/TrendPageView.swift | 12 ++ 3 files changed, 207 insertions(+), 14 deletions(-) diff --git a/tree/tree/View/Live/TrendHeaderCell.swift b/tree/tree/View/Live/TrendHeaderCell.swift index 71e5560..de05157 100644 --- a/tree/tree/View/Live/TrendHeaderCell.swift +++ b/tree/tree/View/Live/TrendHeaderCell.swift @@ -8,18 +8,66 @@ import UIKit +class HeaderCellContent { + var title: String + var country: String + var expanded: Bool + + init(title: String, country: String) { + self.title = title + self.country = country + self.expanded = false + } +} + class TrendHeaderCell: UITableViewCell { @IBOutlet weak var backgroundContainerView: UIView! + @IBOutlet weak var expandingStackView: UIStackView! + @IBOutlet weak var titleLabel: UILabel! + @IBOutlet weak var countryLabel: UILabel! + @IBOutlet weak var grayLineView: UIView! + @IBOutlet var countries: [UIButton]! + + @IBOutlet var switchableConstraints: [NSLayoutConstraint]! private let innerMargin: CGFloat = 20.0 private weak var shadowView: UIView? + private var zeroHeightConstraint: NSLayoutConstraint? override func awakeFromNib() { super.awakeFromNib() backgroundContainerView.layer.cornerRadius = 14 + makeRoundButtonWithBorder(for: countries) + zeroHeightConstraint = expandingStackView.heightAnchor.constraint(equalToConstant: 0) + } + + override func layoutSubviews() { + shadowView?.removeFromSuperview() configureShadow() } + + func configure(by content: HeaderCellContent) { + titleLabel.text = content.title + countryLabel.text = content.country + if content.expanded { + expandingStackView.isHidden = false + grayLineView.isHidden = false + zeroHeightConstraint?.isActive = false + expandingStackView.spacing = 20 + for constraint in switchableConstraints { + constraint.isActive = true + } + } else { + expandingStackView.isHidden = true + grayLineView.isHidden = true + zeroHeightConstraint?.isActive = true + expandingStackView.spacing = 0 + for constraint in switchableConstraints { + constraint.isActive = false + } + } + } private func configureShadow() { let shadowView = UIView( @@ -47,5 +95,12 @@ class TrendHeaderCell: UITableViewCell { shadowView.layer.shadowOpacity = 0.15 shadowView.layer.shadowPath = shadowPath.cgPath } + + private func makeRoundButtonWithBorder(for buttons: [UIButton]) { + for button in buttons { + button.layer.cornerRadius = 20 + button.layer.borderWidth = 1.0 + button.layer.borderColor = #colorLiteral(red: 0.5921568627, green: 0.5921568627, blue: 0.5921568627, alpha: 0.8045269692) + } + } } - diff --git a/tree/tree/View/Live/TrendHeaderCell.xib b/tree/tree/View/Live/TrendHeaderCell.xib index 3bb59d2..12071e4 100644 --- a/tree/tree/View/Live/TrendHeaderCell.xib +++ b/tree/tree/View/Live/TrendHeaderCell.xib @@ -11,21 +11,21 @@ - - + + - + - + - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + - - + + - + + @@ -71,7 +181,23 @@ + + + + + + + + + + + + + + + + diff --git a/tree/tree/View/Live/TrendPageView.swift b/tree/tree/View/Live/TrendPageView.swift index 940b42d..e2b5690 100644 --- a/tree/tree/View/Live/TrendPageView.swift +++ b/tree/tree/View/Live/TrendPageView.swift @@ -17,6 +17,7 @@ class TrendPageView: UIView { private let listHeaderCellIdentifier = "TrendListHeaderCell" var googleTrendData: TrendDays? + var daysKeywordChart = HeaderCellContent(title: "일별 급상승 검색어", country: "미국") override func awakeFromNib() { super.awakeFromNib() @@ -94,6 +95,7 @@ extension TrendPageView: UITableViewDelegate, UITableViewDataSource { ) as? TrendHeaderCell else { return UITableViewCell() } + cell.configure(by: daysKeywordChart) return cell default: guard @@ -129,4 +131,14 @@ extension TrendPageView: UITableViewDelegate, UITableViewDataSource { animator.animate(to: cell, at: indexPath, in: tableView) } } + + func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { + switch indexPath.section { + case 0: + daysKeywordChart.expanded = !daysKeywordChart.expanded + tableView.reloadRows(at: [indexPath], with: .automatic) + default: + break + } + } } From 2e4ef0d12c7c5f76263427aaa952731bd8660c66 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=80=E1=85=B5=E1=86=B7=E1=84=92=E1=85=A8=E1=84=85?= =?UTF-8?q?=E1=85=B5?= Date: Sun, 3 Feb 2019 17:00:42 +0900 Subject: [PATCH 074/183] =?UTF-8?q?#14=20Feat=20:=20Create=20prefetch=20cl?= =?UTF-8?q?ass=20ImagePrefetch=20-=20=E1=84=8B=E1=85=B5=E1=84=86=E1=85=B5?= =?UTF-8?q?=E1=84=8C=E1=85=B5=20=E1=84=85=E1=85=A9=E1=84=83=E1=85=B3=20?= =?UTF-8?q?=E1=84=80=E1=85=B5=E1=84=82=E1=85=B3=E1=86=BC,=20=E1=84=8B?= =?UTF-8?q?=E1=85=B5=E1=84=86=E1=85=B5=E1=84=8C=E1=85=B5=20=E1=84=85?= =?UTF-8?q?=E1=85=A9=E1=84=83=E1=85=B3=20=E1=84=8E=E1=85=B1=E1=84=89?= =?UTF-8?q?=E1=85=A9=20=E1=84=80=E1=85=B5=E1=84=82=E1=85=B3=E1=86=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Search/SearchViewController.swift | 14 ++++++- .../Helper/ImageHelper/ImagePrefetch.swift | 42 +++++++++++++++++++ 2 files changed, 55 insertions(+), 1 deletion(-) create mode 100644 tree/tree/Helper/ImageHelper/ImagePrefetch.swift diff --git a/tree/tree/Controller/Search/SearchViewController.swift b/tree/tree/Controller/Search/SearchViewController.swift index 30f18b8..bcf554e 100644 --- a/tree/tree/Controller/Search/SearchViewController.swift +++ b/tree/tree/Controller/Search/SearchViewController.swift @@ -16,6 +16,7 @@ class SearchViewController: UIViewController { @IBOutlet weak var navigationFilterItem: UIButton! private let cellIdentifier: String = "ArticleFeedTableViewCell" + private let imagePrefetch = ImagePrefetch() private var loadingView: LoadingView? private var topOffset: CGFloat = UIApplication.shared.statusBarOrientation.isLandscape ? 44 : 64 private var tableViewContentOffsetY: CGFloat = 0 @@ -254,7 +255,18 @@ extension SearchViewController: UISearchBarDelegate { } extension SearchViewController: UITableViewDataSourcePrefetching { + func tableView(_ tableView: UITableView, prefetchRowsAt indexPaths: [IndexPath]) { - + indexPaths.forEach({ + guard let articleUrl = articles?[$0.row].image else { return } + imagePrefetch.loadingImage(articleUrl) + }) + } + + func tableView(_ tableView: UITableView, cancelPrefetchingForRowsAt indexPaths: [IndexPath]) { + indexPaths.forEach({ + guard let articleUrl = articles?[$0.row].image else { return } + imagePrefetch.cancleLoadingImage(articleUrl) + }) } } diff --git a/tree/tree/Helper/ImageHelper/ImagePrefetch.swift b/tree/tree/Helper/ImageHelper/ImagePrefetch.swift new file mode 100644 index 0000000..834d6a0 --- /dev/null +++ b/tree/tree/Helper/ImageHelper/ImagePrefetch.swift @@ -0,0 +1,42 @@ +// +// ImagePrefetch.swift +// tree +// +// Created by hyeri kim on 03/02/2019. +// Copyright © 2019 gardener. All rights reserved. +// + +import UIKit + +open class ImagePrefetch { + private var task = [URLSessionTask]() + private var imageUrl: String? + + func cancleLoadingImage(_ articleUrl: String) { + guard let imageURL = URL(string: articleUrl) else { return } + guard let taskIndex = task.index(where: { $0.originalRequest?.url == imageURL}) else { return } + let myTask = task[taskIndex] + myTask.cancel() + task.remove(at: taskIndex) + } + + func loadingImage(_ articleUrl: String) { + imageUrl = articleUrl + if memoryCache.object(forKey: articleUrl as AnyObject) as? UIImage == nil { + guard let imageURL = URL(string: articleUrl) else { return } + guard task.index(where: {$0.originalRequest?.url == imageURL }) == nil else { return } + let myTask = URLSession.shared.dataTask(with: imageURL) { (data, _, _) in + DispatchQueue.main.async { + print(articleUrl) + guard let data = data else { return } + guard let getImage = UIImage(data: data) else { return } + //disk cache check + //memory cache check + memoryCache.setObject(getImage, forKey: self.imageUrl as AnyObject) + } + } + myTask.resume() + task.append(myTask) + } + } +} From 55d335ddb376b2580fb54ecfbe59ee284bd9ef73 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=80=E1=85=B5=E1=86=B7=E1=84=92=E1=85=A8=E1=84=85?= =?UTF-8?q?=E1=85=B5?= Date: Sun, 3 Feb 2019 17:39:19 +0900 Subject: [PATCH 075/183] =?UTF-8?q?#41=20Refactor=20:=20Remove=20duplicate?= =?UTF-8?q?d=20function=20imageView.loadImageUrl=E1=84=92=E1=85=A1?= =?UTF-8?q?=E1=86=B7=E1=84=89=E1=85=AE=E1=84=8B=E1=85=A6=E1=84=89=E1=85=A5?= =?UTF-8?q?=20=E1=84=8F=E1=85=A2=E1=84=89=E1=85=B5=E1=84=8B=E1=85=A6=20?= =?UTF-8?q?=E1=84=8B=E1=85=B5=E1=86=BB=E1=84=82=E1=85=B3=E1=86=AB=20?= =?UTF-8?q?=E1=84=8C=E1=85=A1=E1=86=A8=E1=84=8B=E1=85=A5=E1=86=B8=E1=84=8B?= =?UTF-8?q?=E1=85=B3=E1=86=AF=20=E1=84=8E=E1=85=A6=E1=84=8F=E1=85=B3?= =?UTF-8?q?=E1=84=92=E1=85=A1=E1=84=82=E1=85=B3=E1=86=AB=20=E1=84=92?= =?UTF-8?q?=E1=85=A1=E1=86=B7=E1=84=89=E1=85=AE=E1=84=80=E1=85=A1=20?= =?UTF-8?q?=E1=84=8B=E1=85=B5=E1=86=BB=E1=84=8B=E1=85=B3=E1=84=86=E1=85=B3?= =?UTF-8?q?=E1=84=85=E1=85=A9=20detailview=E1=84=8B=E1=85=A6=E1=84=89?= =?UTF-8?q?=E1=85=A5=20=E1=84=8E=E1=85=A6=E1=84=8F=E1=85=B3=E1=84=92?= =?UTF-8?q?=E1=85=A1=E1=84=82=E1=85=B3=E1=86=AB=20=E1=84=8C=E1=85=A1?= =?UTF-8?q?=E1=86=A8=E1=84=8B=E1=85=A5=E1=86=B8=E1=84=8B=E1=85=B3=E1=86=AB?= =?UTF-8?q?=20=E1=84=8C=E1=85=B5=E1=84=8B=E1=85=AF=E1=86=BB=E1=84=89?= =?UTF-8?q?=E1=85=B3=E1=86=B8=E1=84=82=E1=85=B5=E1=84=83=E1=85=A1.=20?= =?UTF-8?q?=E1=84=89=E1=85=A5=E1=86=AB=E1=84=8B=E1=85=A5=E1=86=AB=E1=84=92?= =?UTF-8?q?=E1=85=A1=E1=86=AF=20=E1=84=84=E1=85=A2=20=E1=84=8F=E1=85=B3?= =?UTF-8?q?=E1=86=AF=E1=84=85=E1=85=A2=E1=84=89=E1=85=B3=E1=84=90=E1=85=A1?= =?UTF-8?q?=E1=84=8B=E1=85=B5=E1=86=B8=E1=84=8B=E1=85=B3=E1=86=AF=20?= =?UTF-8?q?=E1=84=86=E1=85=A7=E1=86=BC=E1=84=89=E1=85=B5=E1=84=92=E1=85=A2?= =?UTF-8?q?=E1=86=BB=E1=84=89=E1=85=B3=E1=86=B8=E1=84=82=E1=85=B5=E1=84=83?= =?UTF-8?q?=E1=85=A1.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controller/Search/ArticleDetailViewController.swift | 6 +----- tree/tree/Controller/Search/SearchViewController.swift | 6 +++--- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/tree/tree/Controller/Search/ArticleDetailViewController.swift b/tree/tree/Controller/Search/ArticleDetailViewController.swift index f7ccd1e..4686639 100644 --- a/tree/tree/Controller/Search/ArticleDetailViewController.swift +++ b/tree/tree/Controller/Search/ArticleDetailViewController.swift @@ -42,11 +42,7 @@ class ArticleDetailViewController: UIViewController { imageView.isHidden = true return } - if let imageFromCache = imageCache.object(forKey: imageUrl as AnyObject) as? UIImage { - self.imageView.image = imageFromCache - } else { - self.imageView.loadImageUrl(articleUrl: imageUrl) - } + self.imageView.loadImageUrl(articleUrl: imageUrl) } private func registerGestureRecognizer() { diff --git a/tree/tree/Controller/Search/SearchViewController.swift b/tree/tree/Controller/Search/SearchViewController.swift index bcf554e..2aa5bfa 100644 --- a/tree/tree/Controller/Search/SearchViewController.swift +++ b/tree/tree/Controller/Search/SearchViewController.swift @@ -16,7 +16,7 @@ class SearchViewController: UIViewController { @IBOutlet weak var navigationFilterItem: UIButton! private let cellIdentifier: String = "ArticleFeedTableViewCell" - private let imagePrefetch = ImagePrefetch() + private let imagePrefetch: ImagePrefetch = ImagePrefetch() private var loadingView: LoadingView? private var topOffset: CGFloat = UIApplication.shared.statusBarOrientation.isLandscape ? 44 : 64 private var tableViewContentOffsetY: CGFloat = 0 @@ -175,7 +175,7 @@ extension SearchViewController { func scrollViewDidScroll(_ scrollView: UIScrollView) { if !isMoreLoading { let scrollPosition = scrollView.contentSize.height - scrollView.frame.size.height - scrollView.contentOffset.y - if scrollPosition > 0 && scrollPosition < scrollView.contentSize.height * 0.2 { + if scrollPosition > 0 && scrollPosition < scrollView.contentSize.height * 0.3 { loadMoreAriticlesFromServer() isMoreLoading.toggle() } @@ -254,8 +254,8 @@ extension SearchViewController: UISearchBarDelegate { } } +// MARK: Prefetch extension SearchViewController: UITableViewDataSourcePrefetching { - func tableView(_ tableView: UITableView, prefetchRowsAt indexPaths: [IndexPath]) { indexPaths.forEach({ guard let articleUrl = articles?[$0.row].image else { return } From a38af35b4fddfeb3f0307b967a2de0891ebe38df Mon Sep 17 00:00:00 2001 From: godpp Date: Sun, 3 Feb 2019 22:37:15 +0900 Subject: [PATCH 076/183] Feat : LIVE Trend Toogle Filter Button & Pass Country Data using Delegation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Header Cell의 Filter 버튼 토글 기능과 TrendPageView로 Delegation을 이용해 Country Info Data를 보내는 로직입니다. --- tree/tree.xcodeproj/project.pbxproj | 4 + tree/tree/Extension/Extension+UIColor.swift | 5 +- tree/tree/Helper/Enum+Countries.swift | 31 ++++++ tree/tree/View/Live/TrendHeaderCell.swift | 112 +++++++++++++++----- tree/tree/View/Live/TrendHeaderCell.xib | 16 +-- tree/tree/View/Live/TrendListCell.xib | 2 +- tree/tree/View/Live/TrendPageView.swift | 10 ++ 7 files changed, 143 insertions(+), 37 deletions(-) create mode 100644 tree/tree/Helper/Enum+Countries.swift diff --git a/tree/tree.xcodeproj/project.pbxproj b/tree/tree.xcodeproj/project.pbxproj index dd04c98..ab3055a 100644 --- a/tree/tree.xcodeproj/project.pbxproj +++ b/tree/tree.xcodeproj/project.pbxproj @@ -33,6 +33,7 @@ BC2656C321FD94EE00003413 /* NetworkResult.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC2656BB21FD94EE00003413 /* NetworkResult.swift */; }; BC2656C421FD94EE00003413 /* NetworkError.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC2656BC21FD94EE00003413 /* NetworkError.swift */; }; BC2656C721FD950900003413 /* Articles.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC2656C621FD950900003413 /* Articles.swift */; }; + BC63852C2206CBF200074CF3 /* Enum+Countries.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC63852B2206CBF200074CF3 /* Enum+Countries.swift */; }; BC7969B922002E620003F520 /* TrandDays.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC7969B822002E620003F520 /* TrandDays.swift */; }; BC7969BC22002EB20003F520 /* Live.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = BC7969BB22002EB20003F520 /* Live.storyboard */; }; BC7969BF22002EC30003F520 /* LiveViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC7969BE22002EC30003F520 /* LiveViewController.swift */; }; @@ -86,6 +87,7 @@ BC2656BB21FD94EE00003413 /* NetworkResult.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NetworkResult.swift; sourceTree = ""; }; BC2656BC21FD94EE00003413 /* NetworkError.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NetworkError.swift; sourceTree = ""; }; BC2656C621FD950900003413 /* Articles.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Articles.swift; sourceTree = ""; }; + BC63852B2206CBF200074CF3 /* Enum+Countries.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Enum+Countries.swift"; sourceTree = ""; }; BC7969B822002E620003F520 /* TrandDays.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TrandDays.swift; sourceTree = ""; }; BC7969BB22002EB20003F520 /* Live.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = Live.storyboard; sourceTree = ""; }; BC7969BE22002EC30003F520 /* LiveViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LiveViewController.swift; sourceTree = ""; }; @@ -334,6 +336,7 @@ children = ( D9C6AB7E21FED67A001C0AB8 /* PresentationManager */, D9C6AB5C21FC152D001C0AB8 /* SearchScrollEnum.swift */, + BC63852B2206CBF200074CF3 /* Enum+Countries.swift */, ); path = Helper; sourceTree = ""; @@ -496,6 +499,7 @@ 35DC0DCF21F6F3C700F30416 /* AppDelegate.swift in Sources */, 6A65DA452203D242005EB2BC /* LoadingView.swift in Sources */, BC7969BF22002EC30003F520 /* LiveViewController.swift in Sources */, + BC63852C2206CBF200074CF3 /* Enum+Countries.swift in Sources */, D9C6AB4E21FAAD0A001C0AB8 /* MainViewController.swift in Sources */, 6AE2D7AE21FEF30D00444622 /* Config.swift in Sources */, BCD1BB2622057CF800F9C8A8 /* TableViewCell+Animator.swift in Sources */, diff --git a/tree/tree/Extension/Extension+UIColor.swift b/tree/tree/Extension/Extension+UIColor.swift index 9106bbf..2eca970 100644 --- a/tree/tree/Extension/Extension+UIColor.swift +++ b/tree/tree/Extension/Extension+UIColor.swift @@ -10,6 +10,9 @@ import UIKit extension UIColor { class var lightGray: UIColor { - return UIColor(red: 142/256, green: 142/256, blue: 147/256, alpha: 0.12) + return UIColor(red: 142/255.0, green: 142/255.0, blue: 147/255.0, alpha: 0.12) + } + class var brightBlue: UIColor { + return UIColor(red: 34/255.0, green: 105/255.0, blue: 232/255.0, alpha: 1.0) } } diff --git a/tree/tree/Helper/Enum+Countries.swift b/tree/tree/Helper/Enum+Countries.swift new file mode 100644 index 0000000..f128994 --- /dev/null +++ b/tree/tree/Helper/Enum+Countries.swift @@ -0,0 +1,31 @@ +// +// Enum+Countries.swift +// tree +// +// Created by ParkSungJoon on 03/02/2019. +// Copyright © 2019 gardener. All rights reserved. +// + +enum Country: Int { + case usa = 0 + case kor = 1 + case jpn = 2 + case fra = 3 + case rus = 4 + case spa = 5 + case ita = 6 + case ger = 7 + + var info: (name: String, code: String) { + switch self { + case .usa: return ("미국", "US") + case .kor: return ("대한민국", "KR") + case .jpn: return ("일본", "JP") + case .fra: return ("프랑스", "FR") + case .rus: return ("러시아", "RU") + case .spa: return ("스페인", "ES") + case .ita: return ("이탈리아", "IT") + case .ger: return ("독일", "DE") + } + } +} diff --git a/tree/tree/View/Live/TrendHeaderCell.swift b/tree/tree/View/Live/TrendHeaderCell.swift index de05157..ae164e2 100644 --- a/tree/tree/View/Live/TrendHeaderCell.swift +++ b/tree/tree/View/Live/TrendHeaderCell.swift @@ -20,6 +20,10 @@ class HeaderCellContent { } } +protocol SelectedDelegate: class { + func passSelectedCountryInfo(_ name: String, _ code: String) +} + class TrendHeaderCell: UITableViewCell { @IBOutlet weak var backgroundContainerView: UIView! @@ -27,19 +31,28 @@ class TrendHeaderCell: UITableViewCell { @IBOutlet weak var titleLabel: UILabel! @IBOutlet weak var countryLabel: UILabel! @IBOutlet weak var grayLineView: UIView! - @IBOutlet var countries: [UIButton]! - + @IBOutlet var countryButtons: [UIButton]! @IBOutlet var switchableConstraints: [NSLayoutConstraint]! - private let innerMargin: CGFloat = 20.0 - private weak var shadowView: UIView? private var zeroHeightConstraint: NSLayoutConstraint? + private weak var shadowView: UIView? + private let innerMargin: CGFloat = 20.0 + weak var delegate: SelectedDelegate? override func awakeFromNib() { super.awakeFromNib() - backgroundContainerView.layer.cornerRadius = 14 - makeRoundButtonWithBorder(for: countries) zeroHeightConstraint = expandingStackView.heightAnchor.constraint(equalToConstant: 0) + setButtonTagAndAction(at: countryButtons) + makeRoundView(for: backgroundContainerView) + countryButtons.forEach { (button) in + makeCountryButtonUI( + for: button, + radius: 20, + borderWidth: 1.0, + borderColor: #colorLiteral(red: 0.5921568627, green: 0.5921568627, blue: 0.5921568627, alpha: 1), + textColor: #colorLiteral(red: 0.5921568627, green: 0.5921568627, blue: 0.5921568627, alpha: 1) + ) + } } override func layoutSubviews() { @@ -50,22 +63,16 @@ class TrendHeaderCell: UITableViewCell { func configure(by content: HeaderCellContent) { titleLabel.text = content.title countryLabel.text = content.country - if content.expanded { - expandingStackView.isHidden = false - grayLineView.isHidden = false - zeroHeightConstraint?.isActive = false - expandingStackView.spacing = 20 - for constraint in switchableConstraints { - constraint.isActive = true - } - } else { - expandingStackView.isHidden = true - grayLineView.isHidden = true - zeroHeightConstraint?.isActive = true - expandingStackView.spacing = 0 - for constraint in switchableConstraints { - constraint.isActive = false - } + when(content.expanded) + } + + private func when(_ expanded: Bool) { + expandingStackView.isHidden = !expanded + grayLineView.isHidden = !expanded + zeroHeightConstraint?.isActive = !expanded + expandingStackView.spacing = expanded ? 20 : 0 + for constraint in switchableConstraints { + constraint.isActive = expanded } } @@ -96,11 +103,62 @@ class TrendHeaderCell: UITableViewCell { shadowView.layer.shadowPath = shadowPath.cgPath } - private func makeRoundButtonWithBorder(for buttons: [UIButton]) { - for button in buttons { - button.layer.cornerRadius = 20 - button.layer.borderWidth = 1.0 - button.layer.borderColor = #colorLiteral(red: 0.5921568627, green: 0.5921568627, blue: 0.5921568627, alpha: 0.8045269692) + private func makeRoundView(for view: UIView) { + view.layer.cornerRadius = 14 + } + + private func makeCountryButtonUI( + for button: UIButton, + radius: CGFloat, + borderWidth: CGFloat, + borderColor: CGColor, + textColor: UIColor + ) { + button.layer.cornerRadius = radius + button.layer.borderWidth = borderWidth + button.layer.borderColor = borderColor + button.setTitleColor(textColor, for: .normal) + } + + private func setButtonTagAndAction(at buttons: [UIButton]) { + for index in 0.. - - - - - - - - + + + + + + + + diff --git a/tree/tree/View/Live/TrendListCell.xib b/tree/tree/View/Live/TrendListCell.xib index bba7096..c3d627d 100644 --- a/tree/tree/View/Live/TrendListCell.xib +++ b/tree/tree/View/Live/TrendListCell.xib @@ -48,7 +48,7 @@ - + + + + From 2216c1506f863403e300097031567cfd96ce1fa4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=80=E1=85=B5=E1=86=B7=E1=84=92=E1=85=A8=E1=84=85?= =?UTF-8?q?=E1=85=B5?= Date: Mon, 4 Feb 2019 19:47:16 +0900 Subject: [PATCH 093/183] #49 Feat : Add view present animation --- .../Search/SearchFilterViewController.swift | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/tree/tree/Controller/Search/SearchFilterViewController.swift b/tree/tree/Controller/Search/SearchFilterViewController.swift index 3c461a8..dbac828 100644 --- a/tree/tree/Controller/Search/SearchFilterViewController.swift +++ b/tree/tree/Controller/Search/SearchFilterViewController.swift @@ -10,12 +10,18 @@ import UIKit class SearchFilterViewController: UIViewController { + @IBOutlet weak var pickerView: UIStackView! + @IBOutlet weak var saveButton: UIButton! + @IBOutlet weak var keywordSortStackView: UIStackView! @IBOutlet weak var keywordSegmentedControl: UISegmentedControl! @IBOutlet weak var sortSegmentedControl: UISegmentedControl! + private var selectViewIsPresented: Bool = false + override func viewDidLoad() { super.viewDidLoad() settingSegment() + pickerView.isHidden = true roundCorners(layer: self.view.layer, radius: CGFloat(15.0)) } @@ -48,5 +54,14 @@ class SearchFilterViewController: UIViewController { private func roundCorners(layer targetLayer: CALayer, radius withRaidus: CGFloat) { targetLayer.cornerRadius = withRaidus targetLayer.masksToBounds = true + saveButton.layer.cornerRadius = 5 + } + + @IBAction func selectButtonClick(_ sender: Any) { + selectViewIsPresented.toggle() + UIView.animate(withDuration: 0.3) { + self.keywordSortStackView.isHidden = !self.selectViewIsPresented + self.pickerView.isHidden = self.selectViewIsPresented + } } } From e9a0cb0e9ee3d7527abb0f1bf5c79dc52da83b90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=80=E1=85=B5=E1=86=B7=E1=84=92=E1=85=A8=E1=84=85?= =?UTF-8?q?=E1=85=B5?= Date: Mon, 4 Feb 2019 20:09:28 +0900 Subject: [PATCH 094/183] #49 Add : Extract attributedString --- .../Search/SearchFilterViewController.swift | 28 +++++++------------ 1 file changed, 10 insertions(+), 18 deletions(-) diff --git a/tree/tree/Controller/Search/SearchFilterViewController.swift b/tree/tree/Controller/Search/SearchFilterViewController.swift index dbac828..b0849b0 100644 --- a/tree/tree/Controller/Search/SearchFilterViewController.swift +++ b/tree/tree/Controller/Search/SearchFilterViewController.swift @@ -30,25 +30,13 @@ class SearchFilterViewController: UIViewController { sortSegmentedControl.backgroundColor = .clear keywordSegmentedControl.tintColor = .clear sortSegmentedControl.tintColor = .clear - let font = UIFont(name: "AppleSDGothicNeo-Bold", size: 16) - - keywordSegmentedControl.setTitleTextAttributes([ - NSAttributedString.Key.font: font as Any, - NSAttributedString.Key.foregroundColor: UIColor.lightGray - ], for: .normal) - keywordSegmentedControl.setTitleTextAttributes([ - NSAttributedString.Key.font: font as Any, - NSAttributedString.Key.foregroundColor: UIColor.black - ], for: .selected) - sortSegmentedControl.setTitleTextAttributes([ - NSAttributedString.Key.font: font as Any, - NSAttributedString.Key.foregroundColor: UIColor.lightGray - ], for: .normal) - sortSegmentedControl.setTitleTextAttributes([ - NSAttributedString.Key.font: font as Any, - NSAttributedString.Key.foregroundColor: UIColor.black - ], for: .selected) + let normalAttributedString = [ NSAttributedString.Key.font: font as Any, NSAttributedString.Key.foregroundColor: UIColor.lightGray ] + let selectedAttributedString = [ NSAttributedString.Key.font: font as Any, NSAttributedString.Key.foregroundColor: UIColor.black ] + keywordSegmentedControl.setTitleTextAttributes(normalAttributedString, for: .normal) + keywordSegmentedControl.setTitleTextAttributes(selectedAttributedString, for: .selected) + sortSegmentedControl.setTitleTextAttributes(normalAttributedString, for: .normal) + sortSegmentedControl.setTitleTextAttributes(selectedAttributedString, for: .selected) } private func roundCorners(layer targetLayer: CALayer, radius withRaidus: CGFloat) { @@ -64,4 +52,8 @@ class SearchFilterViewController: UIViewController { self.pickerView.isHidden = self.selectViewIsPresented } } + + @IBAction func saveButtonClick(_ sender: Any) { + self.dismiss(animated: true, completion: nil) + } } From 866ebae58599a32c0492b645e353765bbac53b91 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=80=E1=85=B5=E1=86=B7=E1=84=92=E1=85=A8=E1=84=85?= =?UTF-8?q?=E1=85=B5?= Date: Mon, 4 Feb 2019 20:22:11 +0900 Subject: [PATCH 095/183] #41 Refactor : Extract roundCorner function --- .../Controller/Search/SearchFilterViewController.swift | 5 ++--- tree/tree/View/Search/ArticleFeedTableViewCell.swift | 7 ++++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/tree/tree/Controller/Search/SearchFilterViewController.swift b/tree/tree/Controller/Search/SearchFilterViewController.swift index b0849b0..ff7ad4f 100644 --- a/tree/tree/Controller/Search/SearchFilterViewController.swift +++ b/tree/tree/Controller/Search/SearchFilterViewController.swift @@ -20,12 +20,12 @@ class SearchFilterViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() - settingSegment() - pickerView.isHidden = true + roundCorners(layer: saveButton.layer, radius: CGFloat(5)) roundCorners(layer: self.view.layer, radius: CGFloat(15.0)) } private func settingSegment() { + pickerView.isHidden = true keywordSegmentedControl.backgroundColor = .clear sortSegmentedControl.backgroundColor = .clear keywordSegmentedControl.tintColor = .clear @@ -42,7 +42,6 @@ class SearchFilterViewController: UIViewController { private func roundCorners(layer targetLayer: CALayer, radius withRaidus: CGFloat) { targetLayer.cornerRadius = withRaidus targetLayer.masksToBounds = true - saveButton.layer.cornerRadius = 5 } @IBAction func selectButtonClick(_ sender: Any) { diff --git a/tree/tree/View/Search/ArticleFeedTableViewCell.swift b/tree/tree/View/Search/ArticleFeedTableViewCell.swift index 1290754..3f0fb40 100644 --- a/tree/tree/View/Search/ArticleFeedTableViewCell.swift +++ b/tree/tree/View/Search/ArticleFeedTableViewCell.swift @@ -23,15 +23,16 @@ class ArticleFeedTableViewCell: UITableViewCell { override func awakeFromNib() { super.awakeFromNib() - settingArticleOuterView() + roundCorners(layer: articleOuterView.layer, radius: 10) } override func setSelected(_ selected: Bool, animated: Bool) { super.setSelected(selected, animated: animated) } - private func settingArticleOuterView() { - articleOuterView.layer.cornerRadius = 10 + private func roundCorners(layer targetLayer: CALayer, radius withRaidus: CGFloat) { + targetLayer.cornerRadius = withRaidus + targetLayer.masksToBounds = true } func settingData(article: Article) { From e7aed3b12099b23c0b48260d44a376ded58007e1 Mon Sep 17 00:00:00 2001 From: onemoon Date: Mon, 4 Feb 2019 22:16:51 +0900 Subject: [PATCH 096/183] Feat & Refactor : Feat Fetch All & fetchCategory Added Refactor Add FetchRequest to remove overlap - issue : close #51 --- .../tree/Model/DataManager/ScrapManager.swift | 71 ++++++++++++++++--- 1 file changed, 61 insertions(+), 10 deletions(-) diff --git a/tree/tree/Model/DataManager/ScrapManager.swift b/tree/tree/Model/DataManager/ScrapManager.swift index 7676492..0145944 100644 --- a/tree/tree/Model/DataManager/ScrapManager.swift +++ b/tree/tree/Model/DataManager/ScrapManager.swift @@ -11,6 +11,16 @@ import CoreData import UIKit final class ScrapManager { + static var managedContext: NSManagedObjectContext = { + guard let appDelegate = + UIApplication.shared.delegate as? AppDelegate else { + return NSManagedObjectContext() + } + let managedContext: NSManagedObjectContext = + appDelegate.persistentContainer.viewContext + + return managedContext + }() // completion으로 처리를 할 때 -> Void 를 해줘야 한다? static func scrapArticle( @@ -18,16 +28,6 @@ final class ScrapManager { category: ArticleCategory, imageData: Data? ) -> Void { - var managedContext: NSManagedObjectContext { - guard let appDelegate = - UIApplication.shared.delegate as? AppDelegate else { - return NSManagedObjectContext() - } - let managedContext: NSManagedObjectContext = - appDelegate.persistentContainer.viewContext - - return managedContext - } guard let entity = NSEntityDescription.entity(forEntityName: "ScrappedArticle", in: managedContext) else { return @@ -46,6 +46,57 @@ final class ScrapManager { } } + static func fetchAll() -> [ScrappedArticle] { + let request: NSFetchRequest = ScrappedArticle.fetchRequest() + let sortDescriptor: NSSortDescriptor = + NSSortDescriptor( + key: #keyPath(ScrappedArticle.scrappedDate), + ascending: false + ) + request.sortDescriptors = [sortDescriptor] + var result: [ScrappedArticle] = [] + result = fetchRequest(request) + return result + } + + static func fetchCategory(_ category: ArticleCategory) -> [ScrappedArticle] { + var request: NSFetchRequest = ScrappedArticle.fetchRequest() + var result: [ScrappedArticle] = [] + request.predicate = + NSPredicate( + format: "%K == %@", + #keyPath(ScrappedArticle.category), + category.toString() + ) + result = fetchRequest(request) + return result + } + + static func removeAllScrappedArticle() { + let request: NSFetchRequest = ScrappedArticle.fetchRequest() + var results: [ScrappedArticle] = [] + do { + results = try managedContext.fetch(request) + for item in results { + managedContext.delete(item) + } + try managedContext.save() + } catch let error as NSError { + print("Could not fetch. \(error), \(error.userInfo)") + } + print("all data is Removed") + } + + // private 으로 하면 managedContext를 사용할 수 없다. + static func fetchRequest(_ request: NSFetchRequest) -> [ScrappedArticle] { + var result: [ScrappedArticle] = [] + do { + result = try managedContext.fetch(request) + } catch let error as NSError { + print("Could not fetch. \(error), \(error.userInfo)") + } + return result + } } From a6938bbe28a6048e7dff5774a80cd19bb0d2dbc2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=80=E1=85=B5=E1=86=B7=E1=84=92=E1=85=A8=E1=84=85?= =?UTF-8?q?=E1=85=B5?= Date: Mon, 4 Feb 2019 22:20:42 +0900 Subject: [PATCH 097/183] #49 Feat : searchFilterView set auto layout --- tree/tree/View/Search/Search.storyboard | 230 ++++++++++++++---------- 1 file changed, 137 insertions(+), 93 deletions(-) diff --git a/tree/tree/View/Search/Search.storyboard b/tree/tree/View/Search/Search.storyboard index 7eda49d..8a110d3 100644 --- a/tree/tree/View/Search/Search.storyboard +++ b/tree/tree/View/Search/Search.storyboard @@ -6,6 +6,7 @@ + @@ -119,134 +120,177 @@ - + - - + + - - + + - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - + + - - - - - - + + + - - - - - - - - + + - - + - - - - - - - - - - - - - - + + + + + - - - + + + + + + + + + + + - + From 0fea85f97bbef709a22a55b9aada0c24a47395ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=80=E1=85=B5=E1=86=B7=E1=84=92=E1=85=A8=E1=84=85?= =?UTF-8?q?=E1=85=B5?= Date: Tue, 5 Feb 2019 02:15:33 +0900 Subject: [PATCH 098/183] #49 Feat : Extension picker view --- tree/tree.xcodeproj/project.pbxproj | 4 ++ .../Search/SearchFilterViewController.swift | 56 +++++++++++++++++-- .../tree/Extension/Extension+PickerView.swift | 23 ++++++++ 3 files changed, 79 insertions(+), 4 deletions(-) create mode 100644 tree/tree/Extension/Extension+PickerView.swift diff --git a/tree/tree.xcodeproj/project.pbxproj b/tree/tree.xcodeproj/project.pbxproj index 657d23e..20f635f 100644 --- a/tree/tree.xcodeproj/project.pbxproj +++ b/tree/tree.xcodeproj/project.pbxproj @@ -18,6 +18,7 @@ 35DC0DFF21F6FB3200F30416 /* .swiftlint.yml in Resources */ = {isa = PBXBuildFile; fileRef = 35DC0DFE21F6FB3200F30416 /* .swiftlint.yml */; }; 35DC0E0821F70BBC00F30416 /* ArticleDetail.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 35DC0E0721F70BBC00F30416 /* ArticleDetail.storyboard */; }; 45A74A72C78EC54DD12F5CA6 /* Pods_tree.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BF0163F8362378789ACC30D4 /* Pods_tree.framework */; }; + 6A0957AC2208490E00D46741 /* Extension+PickerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A0957AB2208490E00D46741 /* Extension+PickerView.swift */; }; 6A5D282A22013FA5009EC8ED /* Extension+ImageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A5D282922013FA5009EC8ED /* Extension+ImageView.swift */; }; 6A5D282C220187F8009EC8ED /* Extension+UIView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A5D282B220187F8009EC8ED /* Extension+UIView.swift */; }; 6A65DA432203D22B005EB2BC /* LoadingView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 6A65DA422203D22B005EB2BC /* LoadingView.xib */; }; @@ -72,6 +73,7 @@ 35DC0DFE21F6FB3200F30416 /* .swiftlint.yml */ = {isa = PBXFileReference; lastKnownFileType = text; path = .swiftlint.yml; sourceTree = ""; }; 35DC0E0221F70AB700F30416 /* ArticleDetailViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ArticleDetailViewController.swift; sourceTree = ""; }; 35DC0E0721F70BBC00F30416 /* ArticleDetail.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = ArticleDetail.storyboard; sourceTree = ""; }; + 6A0957AB2208490E00D46741 /* Extension+PickerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Extension+PickerView.swift"; sourceTree = ""; }; 6A5D282922013FA5009EC8ED /* Extension+ImageView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Extension+ImageView.swift"; sourceTree = ""; }; 6A5D282B220187F8009EC8ED /* Extension+UIView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Extension+UIView.swift"; sourceTree = ""; }; 6A65DA422203D22B005EB2BC /* LoadingView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = LoadingView.xib; sourceTree = ""; }; @@ -290,6 +292,7 @@ 6A5D282922013FA5009EC8ED /* Extension+ImageView.swift */, 6A5D282B220187F8009EC8ED /* Extension+UIView.swift */, BC63852D2207442B00074CF3 /* Extension+Notification.swift */, + 6A0957AB2208490E00D46741 /* Extension+PickerView.swift */, ); path = Extension; sourceTree = ""; @@ -502,6 +505,7 @@ D9C6AB3D21FA9B3E001C0AB8 /* Extension+UIColor.swift in Sources */, BC7969D3220174B40003F520 /* TrendListCell.swift in Sources */, BC2656BE21FD94EE00003413 /* APIService.swift in Sources */, + 6A0957AC2208490E00D46741 /* Extension+PickerView.swift in Sources */, BC9E02AA2202EBFD00ADD1D5 /* TrendListHeaderCell.swift in Sources */, BC2656BD21FD94EE00003413 /* EventRegistryAPI.swift in Sources */, BC7969C52200AD0E0003F520 /* TrendPageView.swift in Sources */, diff --git a/tree/tree/Controller/Search/SearchFilterViewController.swift b/tree/tree/Controller/Search/SearchFilterViewController.swift index ff7ad4f..8aa91c3 100644 --- a/tree/tree/Controller/Search/SearchFilterViewController.swift +++ b/tree/tree/Controller/Search/SearchFilterViewController.swift @@ -10,20 +10,32 @@ import UIKit class SearchFilterViewController: UIViewController { + @IBOutlet weak var languageStackView: UIStackView! + @IBOutlet weak var categoryStackView: UIStackView! + @IBOutlet weak var languageLabel: UILabel! + @IBOutlet weak var categoryLabel: UILabel! + @IBOutlet weak var selectPickViewer: PickerView! @IBOutlet weak var pickerView: UIStackView! @IBOutlet weak var saveButton: UIButton! @IBOutlet weak var keywordSortStackView: UIStackView! @IBOutlet weak var keywordSegmentedControl: UISegmentedControl! @IBOutlet weak var sortSegmentedControl: UISegmentedControl! - + private var selectViewIsPresented: Bool = false override func viewDidLoad() { super.viewDidLoad() + settingSegment() + registerDelegate() roundCorners(layer: saveButton.layer, radius: CGFloat(5)) roundCorners(layer: self.view.layer, radius: CGFloat(15.0)) } + private func registerDelegate() { + selectPickViewer.delegate = self + selectPickViewer.dataSource = self + } + private func settingSegment() { pickerView.isHidden = true keywordSegmentedControl.backgroundColor = .clear @@ -44,11 +56,24 @@ class SearchFilterViewController: UIViewController { targetLayer.masksToBounds = true } - @IBAction func selectButtonClick(_ sender: Any) { + @IBAction func selectButtonClick(_ sender: UIButton) { selectViewIsPresented.toggle() + selectPickViewer.tagNumber = sender.tag + if selectViewIsPresented { + if selectPickViewer.tagNumber == 0 { + languageStackView.isHidden = selectViewIsPresented + categoryStackView.isHidden = !selectViewIsPresented + } else { + languageStackView.isHidden = !selectViewIsPresented + categoryStackView.isHidden = selectViewIsPresented + } + } else { + languageStackView.isHidden = selectViewIsPresented + categoryStackView.isHidden = selectViewIsPresented + } UIView.animate(withDuration: 0.3) { - self.keywordSortStackView.isHidden = !self.selectViewIsPresented - self.pickerView.isHidden = self.selectViewIsPresented + self.keywordSortStackView.isHidden = self.selectViewIsPresented + self.pickerView.isHidden = !self.selectViewIsPresented } } @@ -56,3 +81,26 @@ class SearchFilterViewController: UIViewController { self.dismiss(animated: true, completion: nil) } } + +extension SearchFilterViewController: UIPickerViewDelegate, UIPickerViewDataSource { + func numberOfComponents(in pickerView: UIPickerView) -> Int { + return 1 + } + + func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int { + return selectPickViewer.getList().count + } + + func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) { + let selectValue = selectPickViewer.getList()[row] + if selectPickViewer.tagNumber == 0 { + categoryLabel.text = selectValue + } else { + languageLabel.text = selectValue + } + } + + func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? { + return selectPickViewer.getList()[row] + } +} diff --git a/tree/tree/Extension/Extension+PickerView.swift b/tree/tree/Extension/Extension+PickerView.swift new file mode 100644 index 0000000..c730193 --- /dev/null +++ b/tree/tree/Extension/Extension+PickerView.swift @@ -0,0 +1,23 @@ +// +// Extension+PickerView.swift +// tree +// +// Created by hyeri kim on 04/02/2019. +// Copyright © 2019 gardener. All rights reserved. +// + +import UIKit + +class PickerView: UIPickerView { + private let categories = ["Arts","Businees","Computers","Games","Health","Home", "Recreation","Reference","Regional","Science","Shopping","Society","Sports"] + private let languages = ["Any","Eng","Jpn","Fra","Ita","Spa","Rus","Deu"] + var tagNumber = 0 + + func getList() -> [String] { + if tagNumber == 0 { + return categories + } else { + return languages + } + } +} From f5744689450936db36840c1d797228398121ac3e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=80=E1=85=B5=E1=86=B7=E1=84=92=E1=85=A8=E1=84=85?= =?UTF-8?q?=E1=85=B5?= Date: Tue, 5 Feb 2019 15:53:30 +0900 Subject: [PATCH 099/183] #49 Feat : Add search filter observer --- tree/tree.xcodeproj/project.pbxproj | 4 ++++ .../Search/SearchFilterViewController.swift | 8 ++++++++ .../Controller/Search/SearchViewController.swift | 9 ++++++++- tree/tree/Helper/SearchFilterProtocol.swift | 13 +++++++++++++ 4 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 tree/tree/Helper/SearchFilterProtocol.swift diff --git a/tree/tree.xcodeproj/project.pbxproj b/tree/tree.xcodeproj/project.pbxproj index 20f635f..da54aff 100644 --- a/tree/tree.xcodeproj/project.pbxproj +++ b/tree/tree.xcodeproj/project.pbxproj @@ -19,6 +19,7 @@ 35DC0E0821F70BBC00F30416 /* ArticleDetail.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 35DC0E0721F70BBC00F30416 /* ArticleDetail.storyboard */; }; 45A74A72C78EC54DD12F5CA6 /* Pods_tree.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BF0163F8362378789ACC30D4 /* Pods_tree.framework */; }; 6A0957AC2208490E00D46741 /* Extension+PickerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A0957AB2208490E00D46741 /* Extension+PickerView.swift */; }; + 6A0957AE220963B300D46741 /* SearchFilterProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A0957AD220963B300D46741 /* SearchFilterProtocol.swift */; }; 6A5D282A22013FA5009EC8ED /* Extension+ImageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A5D282922013FA5009EC8ED /* Extension+ImageView.swift */; }; 6A5D282C220187F8009EC8ED /* Extension+UIView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A5D282B220187F8009EC8ED /* Extension+UIView.swift */; }; 6A65DA432203D22B005EB2BC /* LoadingView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 6A65DA422203D22B005EB2BC /* LoadingView.xib */; }; @@ -74,6 +75,7 @@ 35DC0E0221F70AB700F30416 /* ArticleDetailViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ArticleDetailViewController.swift; sourceTree = ""; }; 35DC0E0721F70BBC00F30416 /* ArticleDetail.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = ArticleDetail.storyboard; sourceTree = ""; }; 6A0957AB2208490E00D46741 /* Extension+PickerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Extension+PickerView.swift"; sourceTree = ""; }; + 6A0957AD220963B300D46741 /* SearchFilterProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchFilterProtocol.swift; sourceTree = ""; }; 6A5D282922013FA5009EC8ED /* Extension+ImageView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Extension+ImageView.swift"; sourceTree = ""; }; 6A5D282B220187F8009EC8ED /* Extension+UIView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Extension+UIView.swift"; sourceTree = ""; }; 6A65DA422203D22B005EB2BC /* LoadingView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = LoadingView.xib; sourceTree = ""; }; @@ -354,6 +356,7 @@ D9C6AB7E21FED67A001C0AB8 /* PresentationManager */, D9C6AB5C21FC152D001C0AB8 /* SearchScrollEnum.swift */, BC63852B2206CBF200074CF3 /* Enum+Countries.swift */, + 6A0957AD220963B300D46741 /* SearchFilterProtocol.swift */, ); path = Helper; sourceTree = ""; @@ -503,6 +506,7 @@ BC2656C721FD950900003413 /* Articles.swift in Sources */, D9C6AB5D21FC152D001C0AB8 /* SearchScrollEnum.swift in Sources */, D9C6AB3D21FA9B3E001C0AB8 /* Extension+UIColor.swift in Sources */, + 6A0957AE220963B300D46741 /* SearchFilterProtocol.swift in Sources */, BC7969D3220174B40003F520 /* TrendListCell.swift in Sources */, BC2656BE21FD94EE00003413 /* APIService.swift in Sources */, 6A0957AC2208490E00D46741 /* Extension+PickerView.swift in Sources */, diff --git a/tree/tree/Controller/Search/SearchFilterViewController.swift b/tree/tree/Controller/Search/SearchFilterViewController.swift index 8aa91c3..b8d0929 100644 --- a/tree/tree/Controller/Search/SearchFilterViewController.swift +++ b/tree/tree/Controller/Search/SearchFilterViewController.swift @@ -22,6 +22,9 @@ class SearchFilterViewController: UIViewController { @IBOutlet weak var sortSegmentedControl: UISegmentedControl! private var selectViewIsPresented: Bool = false + private var selectedCategory: String = "all" + private var selectedLanguage: String = "eng" + var settingDelegate: FilterSettingDelegate? override func viewDidLoad() { super.viewDidLoad() @@ -78,6 +81,9 @@ class SearchFilterViewController: UIViewController { } @IBAction func saveButtonClick(_ sender: Any) { + if let keyword = keywordSegmentedControl.titleForSegment(at: keywordSegmentedControl.selectedSegmentIndex), let sort = sortSegmentedControl.titleForSegment(at: sortSegmentedControl.selectedSegmentIndex) { + settingDelegate?.observeUserSetting(keyword: keyword, sort: sort, category: selectedCategory, language: selectedLanguage) + } self.dismiss(animated: true, completion: nil) } } @@ -94,8 +100,10 @@ extension SearchFilterViewController: UIPickerViewDelegate, UIPickerViewDataSour func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) { let selectValue = selectPickViewer.getList()[row] if selectPickViewer.tagNumber == 0 { + selectedCategory = selectValue categoryLabel.text = selectValue } else { + selectedLanguage = selectValue languageLabel.text = selectValue } } diff --git a/tree/tree/Controller/Search/SearchViewController.swift b/tree/tree/Controller/Search/SearchViewController.swift index 5055684..4a08cb3 100644 --- a/tree/tree/Controller/Search/SearchViewController.swift +++ b/tree/tree/Controller/Search/SearchViewController.swift @@ -139,7 +139,8 @@ class SearchViewController: UIViewController { } @objc private func filterItemTapAtion() { - guard let filterViewController = self.storyboard?.instantiateViewController(withIdentifier: "SearchFilterViewController") else { return } + guard let filterViewController = self.storyboard?.instantiateViewController(withIdentifier: "SearchFilterViewController") as? SearchFilterViewController else { return } + filterViewController.settingDelegate = self filterViewController.transitioningDelegate = transitionDelegate filterViewController.modalPresentationStyle = .custom present(filterViewController, animated: true) @@ -269,3 +270,9 @@ extension SearchViewController: UITableViewDataSourcePrefetching { }) } } + +extension SearchViewController: FilterSettingDelegate { + func observeUserSetting(keyword: String, sort: String, category: String, language: String) { + + } +} diff --git a/tree/tree/Helper/SearchFilterProtocol.swift b/tree/tree/Helper/SearchFilterProtocol.swift new file mode 100644 index 0000000..898fdae --- /dev/null +++ b/tree/tree/Helper/SearchFilterProtocol.swift @@ -0,0 +1,13 @@ +// +// SearchFilterProtocol.swift +// tree +// +// Created by hyeri kim on 05/02/2019. +// Copyright © 2019 gardener. All rights reserved. +// + +import Foundation + +protocol FilterSettingDelegate { + func observeUserSetting(keyword: String, sort: String, category: String, language: String) +} From a00c59647a02387ac0029f2c8f8a2814cf15cdbb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=80=E1=85=B5=E1=86=B7=E1=84=92=E1=85=A8=E1=84=85?= =?UTF-8?q?=E1=85=B5?= Date: Tue, 5 Feb 2019 17:14:55 +0900 Subject: [PATCH 100/183] =?UTF-8?q?#49=20Feat=20:=20Set=20user=20default?= =?UTF-8?q?=20AppDelegate=E1=84=8B=E1=85=A6=E1=84=89=E1=85=A5=20default=20?= =?UTF-8?q?filter=E1=84=85=E1=85=B3=E1=86=AF=20=E1=84=89=E1=85=A5=E1=86=AF?= =?UTF-8?q?=E1=84=8C=E1=85=A5=E1=86=BC=E1=84=92=E1=85=A2=E1=84=8C=E1=85=AE?= =?UTF-8?q?=E1=86=B8=E1=84=82=E1=85=B5=E1=84=83=E1=85=A1.=20=E1=84=89?= =?UTF-8?q?=E1=85=A1=E1=84=8B=E1=85=AD=E1=86=BC=E1=84=8C=E1=85=A1=E1=84=80?= =?UTF-8?q?=E1=85=A1=20filter=E1=84=85=E1=85=B3=E1=86=AF=20=E1=84=87?= =?UTF-8?q?=E1=85=A7=E1=86=AB=E1=84=80=E1=85=A7=E1=86=BC=E1=84=92=E1=85=A1?= =?UTF-8?q?=E1=84=86=E1=85=A7=E1=86=AB=20UserDefault=E1=84=8B=E1=85=B4=20?= =?UTF-8?q?=E1=84=83=E1=85=A6=E1=84=8B=E1=85=B5=E1=84=90=E1=85=A5=E1=84=83?= =?UTF-8?q?=E1=85=A9=20=E1=84=87=E1=85=A7=E1=86=AB=E1=84=80=E1=85=A7?= =?UTF-8?q?=E1=86=BC=E1=84=83=E1=85=AC=E1=86=B8=E1=84=82=E1=85=B5=E1=84=83?= =?UTF-8?q?=E1=85=A1.=20UserDefault=E1=84=8B=E1=85=A6=E1=84=82=E1=85=B3?= =?UTF-8?q?=E1=86=AB=20=E1=84=89=E1=85=A1=E1=84=8B=E1=85=AD=E1=86=BC?= =?UTF-8?q?=E1=84=8C=E1=85=A1=E1=84=80=E1=85=A1=20=E1=84=89=E1=85=A5?= =?UTF-8?q?=E1=86=AF=E1=84=8C=E1=85=A5=E1=86=BC=E1=84=92=E1=85=A1=E1=86=AB?= =?UTF-8?q?=20=E1=84=91=E1=85=B5=E1=86=AF=E1=84=90=E1=85=A5=E1=84=80?= =?UTF-8?q?=E1=85=A1=20=E1=84=83=E1=85=A1=E1=86=B7=E1=84=80=E1=85=B5?= =?UTF-8?q?=E1=86=AB=20dictionary=E1=84=85=E1=85=B3=E1=86=AF=20=E1=84=82?= =?UTF-8?q?=E1=85=A5=E1=87=82=E1=84=8B=E1=85=A5=E1=86=BB=E1=84=89=E1=85=B3?= =?UTF-8?q?=E1=86=B8=E1=84=82=E1=85=B5=E1=84=83=E1=85=A1.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tree/tree/AppDelegate.swift | 5 +- .../Search/SearchViewController.swift | 52 +++++++++++++------ 2 files changed, 41 insertions(+), 16 deletions(-) diff --git a/tree/tree/AppDelegate.swift b/tree/tree/AppDelegate.swift index e12c192..846eb45 100644 --- a/tree/tree/AppDelegate.swift +++ b/tree/tree/AppDelegate.swift @@ -14,7 +14,10 @@ class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { - // Override point for customization after application launch. + if UserDefaults.standard.dictionary(forKey: "userFilter") == nil { + let searchFilter = ["keyword": "Title","sort": "Date","category": "All","language": "eng"] + UserDefaults.standard.set(searchFilter, forKey: "userFilter") + } return true } diff --git a/tree/tree/Controller/Search/SearchViewController.swift b/tree/tree/Controller/Search/SearchViewController.swift index 4a08cb3..0725d62 100644 --- a/tree/tree/Controller/Search/SearchViewController.swift +++ b/tree/tree/Controller/Search/SearchViewController.swift @@ -31,7 +31,8 @@ class SearchViewController: UIViewController { private var totalPage: Int = 0 private var isMoreLoading: Bool = false private var isPresentedCheck: Bool = true - + private lazy var searchFilter = [String: String]() + override func viewDidLoad() { super.viewDidLoad() delegateSetting() @@ -40,6 +41,7 @@ class SearchViewController: UIViewController { navigationBarSetting() registerArticleCell() filterItemSetting() + getUserFilter() setMessageBySearchState(to: "🌴Search Please🌴") } @@ -98,7 +100,8 @@ class SearchViewController: UIViewController { articles = nil self.uiTableView.reloadData() self.setLoadingView() - APIManager.getArticles(keyword: keyword, keywordLoc: "title", lang: "eng", articlesSortBy: "date", articlesPage: 1) { (result) in + guard let keyword = searchFilter["keyword"], let language = searchFilter["language"], let sort = searchFilter["sort"] else { return } + APIManager.getArticles(keyword: keyword, keywordLoc: keyword, lang: language, articlesSortBy: sort, articlesPage: 1) { (result) in switch result { case .success(let articleData): self.articles = articleData.articles.results @@ -117,19 +120,19 @@ class SearchViewController: UIViewController { } private func loadMoreArticles() { - if page < totalPage { - page += 1 - APIManager.getArticles(keyword: keyword, keywordLoc: "title", lang: "eng", articlesSortBy: "date", articlesPage: page) { (result) in - switch result { - case .success(let articleData): - self.articles?.append(contentsOf: articleData.articles.results) - DispatchQueue.main.async { - self.uiTableView.reloadData() - self.isMoreLoading = false - } - case .failure(let error): - print(error.localizedDescription) + if page >= totalPage { return } + guard let keyword = searchFilter["keyword"], let language = searchFilter["language"], let sort = searchFilter["sort"] else { return } + page += 1 + APIManager.getArticles(keyword: keyword, keywordLoc: keyword, lang: language, articlesSortBy: sort, articlesPage: page) { (result) in + switch result { + case .success(let articleData): + self.articles?.append(contentsOf: articleData.articles.results) + DispatchQueue.main.async { + self.uiTableView.reloadData() + self.isMoreLoading = false } + case .failure(let error): + print(error.localizedDescription) } } } @@ -271,8 +274,27 @@ extension SearchViewController: UITableViewDataSourcePrefetching { } } +// MARK: Filter Delegate extension SearchViewController: FilterSettingDelegate { func observeUserSetting(keyword: String, sort: String, category: String, language: String) { - + updateUserFilter(keyword: keyword, sort: sort, category: category, language: language) + UserDefaults.standard.set(searchFilter, forKey: "userFilter") + } + + private func updateUserFilter(keyword: String, sort: String, category: String, language: String) { + searchFilter.updateValue(keyword, forKey: "keyword") + searchFilter.updateValue(sort, forKey: "sort") + searchFilter.updateValue(category, forKey: "category") + searchFilter.updateValue(language.lowercased(), forKey: "language") + } + + private func getUserFilter() { + guard let userFilter = UserDefaults.standard.dictionary(forKey: "userFilter") else { return } + if let keyword = userFilter["keyword"] as? String, + let sort = userFilter["sort"] as? String, + let category = userFilter["category"] as? String, + let language = userFilter["language"] as? String { + updateUserFilter(keyword: keyword, sort: sort, category: category, language: language) + } } } From 41f3ab895c652c7038c50e9f6ed820e28dc4604b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=80=E1=85=B5=E1=86=B7=E1=84=92=E1=85=A8=E1=84=85?= =?UTF-8?q?=E1=85=B5?= Date: Tue, 5 Feb 2019 17:55:02 +0900 Subject: [PATCH 101/183] #49 Feat : Set filterValue --- .../Search/SearchFilterViewController.swift | 28 +++++++++++++++---- .../Search/SearchViewController.swift | 1 + 2 files changed, 23 insertions(+), 6 deletions(-) diff --git a/tree/tree/Controller/Search/SearchFilterViewController.swift b/tree/tree/Controller/Search/SearchFilterViewController.swift index b8d0929..7142289 100644 --- a/tree/tree/Controller/Search/SearchFilterViewController.swift +++ b/tree/tree/Controller/Search/SearchFilterViewController.swift @@ -22,14 +22,14 @@ class SearchFilterViewController: UIViewController { @IBOutlet weak var sortSegmentedControl: UISegmentedControl! private var selectViewIsPresented: Bool = false - private var selectedCategory: String = "all" - private var selectedLanguage: String = "eng" + var filterValue: [String: String]? var settingDelegate: FilterSettingDelegate? override func viewDidLoad() { super.viewDidLoad() settingSegment() registerDelegate() + settingFilterValue() roundCorners(layer: saveButton.layer, radius: CGFloat(5)) roundCorners(layer: self.view.layer, radius: CGFloat(15.0)) } @@ -39,6 +39,24 @@ class SearchFilterViewController: UIViewController { selectPickViewer.dataSource = self } + private func settingFilterValue() { + guard let keyword = filterValue?["keyword"], let sort = filterValue?["sort"] else { return } + categoryLabel.text = filterValue?["category"] + languageLabel.text = filterValue?["language"] + switch keyword { + case "Title": + keywordSegmentedControl.selectedSegmentIndex = 0 + default: + keywordSegmentedControl.selectedSegmentIndex = 1 + } + switch sort { + case "Date": + sortSegmentedControl.selectedSegmentIndex = 0 + default: + sortSegmentedControl.selectedSegmentIndex = 1 + } + } + private func settingSegment() { pickerView.isHidden = true keywordSegmentedControl.backgroundColor = .clear @@ -81,8 +99,8 @@ class SearchFilterViewController: UIViewController { } @IBAction func saveButtonClick(_ sender: Any) { - if let keyword = keywordSegmentedControl.titleForSegment(at: keywordSegmentedControl.selectedSegmentIndex), let sort = sortSegmentedControl.titleForSegment(at: sortSegmentedControl.selectedSegmentIndex) { - settingDelegate?.observeUserSetting(keyword: keyword, sort: sort, category: selectedCategory, language: selectedLanguage) + if let keyword = keywordSegmentedControl.titleForSegment(at: keywordSegmentedControl.selectedSegmentIndex), let sort = sortSegmentedControl.titleForSegment(at: sortSegmentedControl.selectedSegmentIndex), let category = categoryLabel.text, let language = languageLabel.text { + settingDelegate?.observeUserSetting(keyword: keyword, sort: sort, category: category, language: language) } self.dismiss(animated: true, completion: nil) } @@ -100,10 +118,8 @@ extension SearchFilterViewController: UIPickerViewDelegate, UIPickerViewDataSour func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) { let selectValue = selectPickViewer.getList()[row] if selectPickViewer.tagNumber == 0 { - selectedCategory = selectValue categoryLabel.text = selectValue } else { - selectedLanguage = selectValue languageLabel.text = selectValue } } diff --git a/tree/tree/Controller/Search/SearchViewController.swift b/tree/tree/Controller/Search/SearchViewController.swift index 0725d62..21b4f28 100644 --- a/tree/tree/Controller/Search/SearchViewController.swift +++ b/tree/tree/Controller/Search/SearchViewController.swift @@ -144,6 +144,7 @@ class SearchViewController: UIViewController { @objc private func filterItemTapAtion() { guard let filterViewController = self.storyboard?.instantiateViewController(withIdentifier: "SearchFilterViewController") as? SearchFilterViewController else { return } filterViewController.settingDelegate = self + filterViewController.filterValue = searchFilter filterViewController.transitioningDelegate = transitionDelegate filterViewController.modalPresentationStyle = .custom present(filterViewController, animated: true) From fcc30194ec3a86d7552a8175eb56c1825d455a08 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=80=E1=85=B5=E1=86=B7=E1=84=92=E1=85=A8=E1=84=85?= =?UTF-8?q?=E1=85=B5?= Date: Tue, 5 Feb 2019 18:24:08 +0900 Subject: [PATCH 102/183] Add : Reset layout & Change color --- .../Search/SearchFilterViewController.swift | 6 +++--- .../PresentationController.swift | 2 +- tree/tree/View/Search/Search.storyboard | 14 +++++++------- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/tree/tree/Controller/Search/SearchFilterViewController.swift b/tree/tree/Controller/Search/SearchFilterViewController.swift index 7142289..c6ba368 100644 --- a/tree/tree/Controller/Search/SearchFilterViewController.swift +++ b/tree/tree/Controller/Search/SearchFilterViewController.swift @@ -61,10 +61,10 @@ class SearchFilterViewController: UIViewController { pickerView.isHidden = true keywordSegmentedControl.backgroundColor = .clear sortSegmentedControl.backgroundColor = .clear - keywordSegmentedControl.tintColor = .clear - sortSegmentedControl.tintColor = .clear + keywordSegmentedControl.tintColor = .lightGray + sortSegmentedControl.tintColor = .lightGray let font = UIFont(name: "AppleSDGothicNeo-Bold", size: 16) - let normalAttributedString = [ NSAttributedString.Key.font: font as Any, NSAttributedString.Key.foregroundColor: UIColor.lightGray ] + let normalAttributedString = [ NSAttributedString.Key.font: font as Any, NSAttributedString.Key.foregroundColor: UIColor.gray ] let selectedAttributedString = [ NSAttributedString.Key.font: font as Any, NSAttributedString.Key.foregroundColor: UIColor.black ] keywordSegmentedControl.setTitleTextAttributes(normalAttributedString, for: .normal) keywordSegmentedControl.setTitleTextAttributes(selectedAttributedString, for: .selected) diff --git a/tree/tree/Helper/PresentationManager/PresentationController.swift b/tree/tree/Helper/PresentationManager/PresentationController.swift index 37b83b9..4dee24c 100644 --- a/tree/tree/Helper/PresentationManager/PresentationController.swift +++ b/tree/tree/Helper/PresentationManager/PresentationController.swift @@ -16,7 +16,7 @@ class PresentationController: UIPresentationController { guard let parentContainerView = containerView else { return CGRect() } frame.size = size(forChildContentContainer: presentedViewController, withParentContainerSize: parentContainerView.bounds.size) - frame.origin.y = parentContainerView.frame.height - 355 + frame.origin.y = parentContainerView.frame.height - 300 return frame } diff --git a/tree/tree/View/Search/Search.storyboard b/tree/tree/View/Search/Search.storyboard index 8a110d3..6f8a288 100644 --- a/tree/tree/View/Search/Search.storyboard +++ b/tree/tree/View/Search/Search.storyboard @@ -120,12 +120,12 @@ - + - + - + @@ -230,15 +230,15 @@ - + - + - + + + + + + + diff --git a/tree/tree/View/Scrap/ScrapFilter.storyboard b/tree/tree/View/Scrap/ScrapFilter.storyboard new file mode 100644 index 0000000..1f11ef0 --- /dev/null +++ b/tree/tree/View/Scrap/ScrapFilter.storyboard @@ -0,0 +1,65 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tree/tree/View/Scrap/ScrapFilterTableViewCell.swift b/tree/tree/View/Scrap/ScrapFilterTableViewCell.swift new file mode 100644 index 0000000..ac1b233 --- /dev/null +++ b/tree/tree/View/Scrap/ScrapFilterTableViewCell.swift @@ -0,0 +1,25 @@ +// +// ScrapFilterTableViewCell.swift +// tree +// +// Created by Hyeontae on 06/02/2019. +// Copyright © 2019 gardener. All rights reserved. +// + +import UIKit + +class ScrapFilterTableViewCell: UITableViewCell { + + @IBOutlet weak var titleLabel: UILabel! + @IBOutlet weak var descriptionLabel: UILabel! + @IBOutlet weak var cardBackgroudView: UIView! + + override func awakeFromNib() { + super.awakeFromNib() + roundCorners(layer: cardBackgroudView.layer, radius: 15.0) + } + + override func setSelected(_ selected: Bool, animated: Bool) { + super.setSelected(selected, animated: animated) + } +} diff --git a/tree/tree/View/Scrap/ScrapFilterTableViewCell.xib b/tree/tree/View/Scrap/ScrapFilterTableViewCell.xib new file mode 100644 index 0000000..28a208f --- /dev/null +++ b/tree/tree/View/Scrap/ScrapFilterTableViewCell.xib @@ -0,0 +1,65 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 3a14b558b5e9ce81607a89c061aa1d5717a62bda Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=80=E1=85=B5=E1=86=B7=E1=84=92=E1=85=A8=E1=84=85?= =?UTF-8?q?=E1=85=B5?= Date: Thu, 7 Feb 2019 02:45:38 +0900 Subject: [PATCH 122/183] Feat : Set tabbar item animation --- tree/tree/Assets.xcassets/2.imageset/2.jpeg | Bin 483803 -> 0 bytes .../Contents.json | 4 ++- .../Assets.xcassets/Live.imageset/Live@1x.png | Bin 0 -> 354 bytes .../Assets.xcassets/Live.imageset/Live@2x.png | Bin 0 -> 1100 bytes .../Assets.xcassets/Live.imageset/Live@3x.png | Bin 0 -> 1083 bytes .../Scrap.imageset/Contents.json | 23 ++++++++++++++++++ .../Scrap.imageset/Scrap@1x.png | Bin 0 -> 324 bytes .../Scrap.imageset/Scrap@2x.png | Bin 0 -> 652 bytes .../Scrap.imageset/Scrap@3x.png | Bin 0 -> 936 bytes .../Search.imageset/Contents.json | 23 ++++++++++++++++++ .../Search.imageset/Search@1x.png | Bin 0 -> 236 bytes .../Search.imageset/Search@2x.png | Bin 0 -> 420 bytes .../Search.imageset/Search@3x.png | Bin 0 -> 636 bytes tree/tree/Base.lproj/Main.storyboard | 11 ++++++--- .../Scrap/ScrapTabBarController.swift | 22 +++++++++++++++++ tree/tree/View/Live/Live.storyboard | 9 ++++--- tree/tree/View/Scrap/Scrap.storyboard | 5 +++- tree/tree/View/Search/Search.storyboard | 4 ++- 18 files changed, 92 insertions(+), 9 deletions(-) delete mode 100644 tree/tree/Assets.xcassets/2.imageset/2.jpeg rename tree/tree/Assets.xcassets/{2.imageset => Live.imageset}/Contents.json (72%) create mode 100644 tree/tree/Assets.xcassets/Live.imageset/Live@1x.png create mode 100644 tree/tree/Assets.xcassets/Live.imageset/Live@2x.png create mode 100644 tree/tree/Assets.xcassets/Live.imageset/Live@3x.png create mode 100644 tree/tree/Assets.xcassets/Scrap.imageset/Contents.json create mode 100644 tree/tree/Assets.xcassets/Scrap.imageset/Scrap@1x.png create mode 100644 tree/tree/Assets.xcassets/Scrap.imageset/Scrap@2x.png create mode 100644 tree/tree/Assets.xcassets/Scrap.imageset/Scrap@3x.png create mode 100644 tree/tree/Assets.xcassets/Search.imageset/Contents.json create mode 100644 tree/tree/Assets.xcassets/Search.imageset/Search@1x.png create mode 100644 tree/tree/Assets.xcassets/Search.imageset/Search@2x.png create mode 100644 tree/tree/Assets.xcassets/Search.imageset/Search@3x.png diff --git a/tree/tree/Assets.xcassets/2.imageset/2.jpeg b/tree/tree/Assets.xcassets/2.imageset/2.jpeg deleted file mode 100644 index 8568a776ff1ea63e9886621706fb8746475dc130..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 483803 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⪅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 z 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 m@0+af7nh?Tv#wq0hY99&Y$4wx3_wUc} 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
    TOqa3}v?a!i{r*o}U8o}>< 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%0D-KVXMl}*w~=AvGpa*p&f!b+@~c-y3(gb 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≺088*b}|9ikHMlWKO=g57!4W1eq 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 z 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 z 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 S)aI`V%dp<<#_rnx*8U#})6e|? diff --git a/tree/tree/Assets.xcassets/2.imageset/Contents.json b/tree/tree/Assets.xcassets/Live.imageset/Contents.json similarity index 72% rename from tree/tree/Assets.xcassets/2.imageset/Contents.json rename to tree/tree/Assets.xcassets/Live.imageset/Contents.json index 410262e..fd0228a 100644 --- a/tree/tree/Assets.xcassets/2.imageset/Contents.json +++ b/tree/tree/Assets.xcassets/Live.imageset/Contents.json @@ -2,15 +2,17 @@ "images" : [ { "idiom" : "universal", - "filename" : "2.jpeg", + "filename" : "Live@1x.png", "scale" : "1x" }, { "idiom" : "universal", + "filename" : "Live@2x.png", "scale" : "2x" }, { "idiom" : "universal", + "filename" : "Live@3x.png", "scale" : "3x" } ], diff --git a/tree/tree/Assets.xcassets/Live.imageset/Live@1x.png b/tree/tree/Assets.xcassets/Live.imageset/Live@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..31699663f14b3ba29461a5704542820116cd0c66 GIT binary patch literal 354 zcmV-o0iFJdP)EUKq8JK>i3?zvs5B|Y$xmdg;=oT$*sr)MTEQH#5x^!f z8?=e5if5v^yw!RD>%?NvES@QzellS#fVH1Yc%rx=+QDqG`71|i|MW=v{il{C5l?J+FfbVE9(hiqAEG_ze>?;Zqle1Gx6p~WYGxKbf-tXS8q>!0ns}yePYv5bpoSKp8QB{;0T;&&% zT$P<{nWAKG$7NGt1vDTxwIorYA~z?m*s8)-32d$vkPQ;nS5g2gDap1~itr6kaLzAE zRWQ{v(KAr8<5I9GN=dT{a&d!d2J&o`GD=Dctn~HE%ggo3jrH=2()A53EiLs8jP#9+ zbb%^#i!1X=5-W7`ij_e|K+JGSElw`VEGWs$&r<-InV6JcT4JlD1e8~R8eWo_hA=&^ z80vjsKyEkUBZ_Ndw*@d|+TXS!3JDXl}GiTHJ zYj>(m{y!>k6#CfG^d&`B|HH-imf0^I9Tzny={%j+Ra*Z&LS$yvC8N3ff3$r1eK_Tk z5Tn$`7}u76)qc$%=KYR(!?bVq-q;-8Ws|NZ?(cgOv%%=zLg~+2|IdGv^1Qik+GaL? z?We4p1g(}l>pA)8Xv(C?=VA_)FtELNVY*WDkl*UA%S)6(%w|7%zmn}hg6w|9y?zg; z`ouFteLDCg(plq+k>~v&w|9+aDp(GuynDSv=e_T~c`Xip`({7tJ{@YZU0c4%=g%bF z=OG{G=CGVDQvI|{s_A1<^~Re@)@+Wvd!9}c%HV~$**6c&J(VSOmknx z^L~z>{glMhnntJYmRG&@J@9D>-_E>b^!o}7<-kxH*>^5!5j?D7sMiZCcXukhOPNnaDE#}uE1|BR+?nK+x}9)F_HjtNQ^O?%&ZIzD3c{K0g$ubjQ( SsE#|R5b$*Mb6Mw<&;$T^JJhKF literal 0 HcmV?d00001 diff --git a/tree/tree/Assets.xcassets/Live.imageset/Live@3x.png b/tree/tree/Assets.xcassets/Live.imageset/Live@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..3f4d5490f777a08ff18ec54e376f8081b51e4d3d GIT binary patch literal 1083 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 KMNUMnLSTZN_pN>a literal 0 HcmV?d00001 diff --git a/tree/tree/Assets.xcassets/Search.imageset/Contents.json b/tree/tree/Assets.xcassets/Search.imageset/Contents.json new file mode 100644 index 0000000..49aedd3 --- /dev/null +++ b/tree/tree/Assets.xcassets/Search.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "Search@1x.png", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "Search@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "filename" : "Search@3x.png", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/tree/tree/Assets.xcassets/Search.imageset/Search@1x.png b/tree/tree/Assets.xcassets/Search.imageset/Search@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..87e74ffbf9f97879b5aa6122fa14ddde56ffb66c GIT binary patch literal 236 zcmVh%+a+GO9(f7Nf2Nv!arMj4p4wWCTeOYl4)IQi3%RCxUJtbqh{JWCWEyst{yF z97iggidg+-hAF|8h(19^r#GE4g5KZmF!_9kNmqjP|6Dq6S8$+)xM4H)+`6@>9S4z+ msCp-b8*-@HKQyRTxb6VVc~sxTM4g5J0000;$stM*R0?>{ZH_N^ zn|B*NS_y~nMJl4UbC=EBr5#aI@j(otHgL+}12!OPES|~G)IrYS#5o2vDg%#PN7N_m z#4|*_fhS&TS~e!KH1f5-50rq31b-i?Mbn}&5v7qWcw$o1j$z`MMo!>~aZNjdi6a_0 zi6`1LEeaEn8rf_6Cl}#~SFVd`wnqNL6E|E|v?qxA&`wh^q)|0^CLU26IqT5aH6rQ@ ze2`*jt~(GlZMQm{Tb$$sw|P%7g32_PY<8I=y8dOO(-;180Z~8WlX!<=OFhp4kl?p~ zXmsGkI4z{}i>E034t@(0iF@@H;VoX5WLqg_9GXMYuIaIR*xsq7` O0000CYeR-<&cn!?0Y z1x_QU&QO84smD#^+)e5c7j=1vi1wHz^rjJ&$WJ92(vL+vK}35%eY`8djU<0&5cxpewqQ<(S2>VpTfkhKyR}I5B4D|0e1<=+J^^skkt%#&5(5$58fiHD(n$F9M^<6n6++gxto8^!!h^fW zYL2_+$hv?B2awf2#&_9HJeZBF^|)J)tm$~rFQ!lGBD_adS3D@eXJie<%}`{0p%7lI zMb=x&l73})hpg>*(*D1H4{bwObitd0$o-|sbcDrGJZg&~O(1RKP^6A{wKB=6qX;Q0 zlH}AeBO}gb15-Gc4NP*RyhK5~tIvaEPp*9WNimHQ;WcZ{FdL=y}*<37n|wPeKKTiEYB=L*MJ zKu?MiRg1fhll;qulftAhDNG8JDrbR7S?MvdNm*r%P0A{BY?95%B5MCE8w-LU2z~%Z Wwf?8PY)cOS0000 - + @@ -42,7 +42,7 @@ - + @@ -52,11 +52,16 @@ - + + + + + + diff --git a/tree/tree/Controller/Scrap/ScrapTabBarController.swift b/tree/tree/Controller/Scrap/ScrapTabBarController.swift index 0eb21e3..76f28be 100644 --- a/tree/tree/Controller/Scrap/ScrapTabBarController.swift +++ b/tree/tree/Controller/Scrap/ScrapTabBarController.swift @@ -10,7 +10,29 @@ import UIKit class ScrapTabBarController: UITabBarController { + private var bounceAnimation: CAKeyframeAnimation = { + let bounceAnimation = CAKeyframeAnimation(keyPath: "transform.scale") + bounceAnimation.values = [1.0,1.2,0.8,1.2,1.0] + bounceAnimation.duration = 0.3 + bounceAnimation.calculationMode = CAAnimationCalculationMode.cubic + return bounceAnimation + }() + override func viewDidLoad() { super.viewDidLoad() } + +} + +extension ScrapTabBarController: UITabBarControllerDelegate { + override func tabBar(_ tabBar: UITabBar, didSelect item: UITabBarItem) { + guard + let index = tabBar.items?.index(of: item), + let imageView = tabBar.subviews[index + 1].subviews.compactMap({ + $0 as? UIImageView}).first + else { + return + } + imageView.layer.add(bounceAnimation, forKey: nil) + } } diff --git a/tree/tree/View/Live/Live.storyboard b/tree/tree/View/Live/Live.storyboard index 1a3179d..87a82bb 100644 --- a/tree/tree/View/Live/Live.storyboard +++ b/tree/tree/View/Live/Live.storyboard @@ -1,10 +1,10 @@ - + - + @@ -36,7 +36,7 @@ - + @@ -51,4 +51,7 @@ + + + diff --git a/tree/tree/View/Scrap/Scrap.storyboard b/tree/tree/View/Scrap/Scrap.storyboard index 92d1ccf..504133f 100644 --- a/tree/tree/View/Scrap/Scrap.storyboard +++ b/tree/tree/View/Scrap/Scrap.storyboard @@ -41,7 +41,7 @@ - + @@ -57,4 +57,7 @@ + + + diff --git a/tree/tree/View/Search/Search.storyboard b/tree/tree/View/Search/Search.storyboard index cfd605f..5f70a5d 100644 --- a/tree/tree/View/Search/Search.storyboard +++ b/tree/tree/View/Search/Search.storyboard @@ -4,6 +4,7 @@ + @@ -96,7 +97,7 @@ - + @@ -296,6 +297,7 @@ + From 27182a8a89430d58318b89242d28db209ff6803e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=80=E1=85=B5=E1=86=B7=E1=84=92=E1=85=A8=E1=84=85?= =?UTF-8?q?=E1=85=B5?= Date: Thu, 7 Feb 2019 03:12:16 +0900 Subject: [PATCH 123/183] Add : Edit layout, color --- tree/tree/View/Search/Search.storyboard | 41 +++++++++++++------------ 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/tree/tree/View/Search/Search.storyboard b/tree/tree/View/Search/Search.storyboard index 5f70a5d..6e3dbbc 100644 --- a/tree/tree/View/Search/Search.storyboard +++ b/tree/tree/View/Search/Search.storyboard @@ -47,6 +47,7 @@ + @@ -121,25 +122,25 @@ - + - + - + - + - + @@ -148,16 +149,16 @@ - + - + @@ -168,10 +169,10 @@ - + - + - + - + - + - + - + - + - +