From 83dea87c62a44e8d180811e4d1b5c9da211dddeb Mon Sep 17 00:00:00 2001 From: barbara Date: Sat, 28 Jan 2017 19:29:21 +0100 Subject: [PATCH 001/713] Splay Tree Initial Commit --- Splay Tree/readme.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 Splay Tree/readme.md diff --git a/Splay Tree/readme.md b/Splay Tree/readme.md new file mode 100644 index 000000000..2282502fa --- /dev/null +++ b/Splay Tree/readme.md @@ -0,0 +1 @@ +In progress From eb54bc8544f0d482336878e211269ea43da9a7a7 Mon Sep 17 00:00:00 2001 From: Mike Taghavi Date: Mon, 30 Jan 2017 11:38:32 +0100 Subject: [PATCH 002/713] Add Simulated annealing --- Simulated annealing/README.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 Simulated annealing/README.md diff --git a/Simulated annealing/README.md b/Simulated annealing/README.md new file mode 100644 index 000000000..bee8ffe94 --- /dev/null +++ b/Simulated annealing/README.md @@ -0,0 +1 @@ +# Simulated annealing From a6afbc107e25b96bdb86b9186f4a5794046b004b Mon Sep 17 00:00:00 2001 From: Mike Taghavi Date: Mon, 30 Jan 2017 18:18:50 +0100 Subject: [PATCH 003/713] Initial --- Simulated annealing/README.md | 32 ++++ Simulated annealing/simann.swift | 105 +++++++++++ Simulated annealing/simann_example.swift | 222 +++++++++++++++++++++++ 3 files changed, 359 insertions(+) create mode 100644 Simulated annealing/simann.swift create mode 100644 Simulated annealing/simann_example.swift diff --git a/Simulated annealing/README.md b/Simulated annealing/README.md index bee8ffe94..e7fe75778 100644 --- a/Simulated annealing/README.md +++ b/Simulated annealing/README.md @@ -1 +1,33 @@ # Simulated annealing + +Simulated Annealing is a nature inspired global optimization technique and a metaheuristic to approximate global maxima in a (often discrete)large search space. The name comes from the process of annealing in metallurgy where a material is heated and cooled down under controlled conditions in order to improve its strength and durabilility. The objective is to find a minimum cost solution in the search space by exploiting properties of a thermodynamic system. +Unlike hill climbing techniques which usually gets stuck in a local maxima ( downward moves are not allowed ), simulated annealing can escape local maxima. The interesting property of simulated annealing is that probability of allowing downward moves is high at the high temperatures and gradually reduced as it cools down. In other words, high temperature relaxes the acceptance criteria for the search space and triggers chaotic behavior of acceptance function in the algorithm (e.x initial/high temperature stages) which should make it possible to escape from local maxima and cooler temperatures narrows it and focuses on improvements. + +Pseucocode + + Input: initial, temperature, coolingRate, acceptance + Output: Sbest + Scurrent <- CreateInitialSolution(initial) + Sbest <- Scurrent + while temperature is not minimum: + Snew <- FindNewSolution(Scurrent) + if acceptance(Energy(Scurrent), Energy(Snew), temperature) > Rand(): + Scurrent = Snew + if Energy(Scurrent) < Energy(Sbest): + Sbest = Scurrent + temperature = temperature * (1-coolingRate) + +Common acceptance criteria : P(accept) <- exp((e-ne)/T) where + e is the current energy ( current solution ), + ne is new energy ( new solution ), + T is current temperature. + + +We use this algorithm to solve a Travelling salesman problem instance with 20 cities. The code is in `simann_example.swift` + +#See also + +[Simulated annealing on Wikipedia](https://en.wikipedia.org/wiki/Simulated_annealing) +[Travelling salesman problem](https://en.wikipedia.org/wiki/Travelling_salesman_problem) + +Written for Swift Algorithm Club by [Mike Taghavi](https://github.com/mitghi) diff --git a/Simulated annealing/simann.swift b/Simulated annealing/simann.swift new file mode 100644 index 000000000..8adfbf817 --- /dev/null +++ b/Simulated annealing/simann.swift @@ -0,0 +1,105 @@ +// The MIT License (MIT) +// Copyright (c) 2017 Mike Taghavi (mitghi[at]me.com) +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. + +#if os(OSX) + import Foundation +#elseif os(Linux) + import Glibc +#endif + +public extension Double { + public static func random(_ lower: Double, _ upper: Double) -> Double { + #if os(OSX) + return (Double(arc4random()) / 0xFFFFFFFF) * (upper - lower) + lower + #elseif os(Linux) + return (Double(random()) / 0xFFFFFFFF) * (upper - lower) + lower + #endif + } +} + +protocol Clonable { + init(current: Self) +} + +// MARK: - create a clone from instance + +extension Clonable { + func clone() -> Self { + return Self.init(current: self) + } +} + +protocol SAObject: Clonable { + var count: Int { get } + func randSwap(a: Int, b: Int) + func currentEnergy() -> Double + func shuffle() +} + +// MARK: - create a new copy of elements + +extension Array where Element: Clonable { + func clone() -> Array { + var newArray = Array() + for elem in self { + newArray.append(elem.clone()) + } + + return newArray + } +} + +typealias AcceptanceFunc = (Double, Double, Double) -> Double + +func SimulatedAnnealing(initial: T, temperature: Double, coolingRate: Double, acceptance: AcceptanceFunc) -> T { + // Step 1: + // Calculate the initial feasible solution based on a random permutation. + // Set best and current solutions to initial solution + + var temp: Double = temperature + var currentSolution = initial.clone() + currentSolution.shuffle() + var bestSolution = currentSolution.clone() + + // Step 2: + // Repeat while the system is still hot + // Randomly modify the current solution by swapping its elements + // Randomly decide if the new solution ( neighbor ) is acceptable and set current solution accordingly + // Update the best solution *iff* it had improved ( lower energy = improvement ) + // Reduce temperature + + while temp > 1 { + let newSolution: T = currentSolution.clone() + let pos1: Int = Int(arc4random_uniform(UInt32(newSolution.count))) + let pos2: Int = Int(arc4random_uniform(UInt32(newSolution.count))) + newSolution.randSwap(a: pos1, b: pos2) + let currentEnergy: Double = currentSolution.currentEnergy() + let newEnergy: Double = newSolution.currentEnergy() + + if acceptance(currentEnergy, newEnergy, temp) > Double.random(0, 1) { + currentSolution = newSolution.clone() + } + if currentSolution.currentEnergy() < bestSolution.currentEnergy() { + bestSolution = currentSolution.clone() + } + + temp *= 1-coolingRate + } + + return bestSolution +} diff --git a/Simulated annealing/simann_example.swift b/Simulated annealing/simann_example.swift new file mode 100644 index 000000000..a0dfaa19a --- /dev/null +++ b/Simulated annealing/simann_example.swift @@ -0,0 +1,222 @@ +// The MIT License (MIT) +// Copyright (c) 2017 Mike Taghavi (mitghi[at]me.com) +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. + +#if os(OSX) + import Foundation +#elseif os(Linux) + import Glibc +#endif + +public extension Double { + + public static func random(_ lower: Double, _ upper: Double) -> Double { + #if os(OSX) + return (Double(arc4random()) / 0xFFFFFFFF) * (upper - lower) + lower + #elseif os(Linux) + return (Double(random()) / 0xFFFFFFFF) * (upper - lower) + lower + #endif + } +} + +protocol Clonable { + init(current: Self) +} + +extension Clonable { + func clone() -> Self { + return Self.init(current: self) + } +} + +protocol SAObject: Clonable { + var count: Int { get } + func randSwap(a: Int, b: Int) + func currentEnergy() -> Double + func shuffle() +} + +// MARK: - create a new copy of elements + +extension Array where Element: Clonable { + func clone() -> Array { + var newArray = Array() + for elem in self { + newArray.append(elem.clone()) + } + + return newArray + } +} + +typealias Points = [Point] +typealias AcceptanceFunc = (Double, Double, Double) -> Double + +class Point: Clonable { + var x: Int + var y: Int + + init(x: Int, y: Int) { + self.x = x + self.y = y + } + + required init(current: Point){ + self.x = current.x + self.y = current.y + } +} + +// MARK: - string representation + +extension Point: CustomStringConvertible { + public var description: String { + return "Point(\(x), \(y))" + } +} + +// MARK: - return distance between two points using operator '<->' + +infix operator <->: AdditionPrecedence +extension Point { + static func <-> (left: Point, right: Point) -> Double { + let xDistance = (left.x - right.x) + let yDistance = (left.y - right.y) + + return Double(sqrt(Double((xDistance * xDistance) + (yDistance * yDistance)))) + } +} + + +class Tour: SAObject { + var tour: Points + var energy: Double = 0.0 + var count: Int { + get { + return self.tour.count + } + } + + init(points: Points){ + self.tour = points.clone() + } + + required init(current: Tour) { + self.tour = current.tour.clone() + } +} + +// MARK: - calculate current tour distance ( energy ). + +extension Tour { + func randSwap(a: Int, b: Int) -> Void { + let (cpos1, cpos2) = (self[a], self[b]) + self[a] = cpos2 + self[b] = cpos1 + } + + func shuffle() { + for i in stride(from: self.count - 1, through: 1, by: -1) { + let j = Int(arc4random()) % (i + 1) + if i != j { + swap(&self.tour[i], &self.tour[j]) + } + } + } + + func currentEnergy() -> Double { + if self.energy == 0 { + var tourEnergy: Double = 0.0 + for i in 0..destCity + tourEnergy = tourEnergy + e + + } + self.energy = tourEnergy + } + return self.energy + } + +} + +// MARK: - subscript to manipulate elements of Tour. + +extension Tour { + subscript(index: Int) -> Point { + get { + return self.tour[index] + } + set(newValue) { + self.tour[index] = newValue + } + } +} + +func SimulatedAnnealing(initial: T, temperature: Double, coolingRate: Double, acceptance: AcceptanceFunc) -> T { + var temp: Double = temperature + var currentSolution = initial.clone() + currentSolution.shuffle() + var bestSolution = currentSolution.clone() + print("Initial solution: ", bestSolution.currentEnergy()) + + while temp > 1 { + let newSolution: T = currentSolution.clone() + let pos1: Int = Int(arc4random_uniform(UInt32(newSolution.count))) + let pos2: Int = Int(arc4random_uniform(UInt32(newSolution.count))) + newSolution.randSwap(a: pos1, b: pos2) + let currentEnergy: Double = currentSolution.currentEnergy() + let newEnergy: Double = newSolution.currentEnergy() + + if acceptance(currentEnergy, newEnergy, temp) > Double.random(0, 1) { + currentSolution = newSolution.clone() + } + if currentSolution.currentEnergy() < bestSolution.currentEnergy() { + bestSolution = currentSolution.clone() + } + + temp *= 1-coolingRate + } + + print("Best solution: ", bestSolution.currentEnergy()) + return bestSolution +} + +let points: [Point] = [ + (60 , 200), (180, 200), (80 , 180), (140, 180), + (20 , 160), (100, 160), (200, 160), (140, 140), + (40 , 120), (100, 120), (180, 100), (60 , 80) , + (120, 80) , (180, 60) , (20 , 40) , (100, 40) , + (200, 40) , (20 , 20) , (60 , 20) , (160, 20) , + ].map{ Point(x: $0.0, y: $0.1) } + +let acceptance : AcceptanceFunc = { + (e: Double, ne: Double, te: Double) -> Double in + if ne < e { + return 1.0 + } + return exp((e - ne) / te) +} + +let result: Tour = SimulatedAnnealing(initial : Tour(points: points), + temperature : 100000.0, + coolingRate : 0.003, + acceptance : acceptance) From a794dec1522cd0df09b96a2d8744b261b8185f2a Mon Sep 17 00:00:00 2001 From: Mike Date: Mon, 30 Jan 2017 18:23:23 +0100 Subject: [PATCH 004/713] Update README.md --- Simulated annealing/README.md | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/Simulated annealing/README.md b/Simulated annealing/README.md index e7fe75778..3a36464d7 100644 --- a/Simulated annealing/README.md +++ b/Simulated annealing/README.md @@ -17,10 +17,12 @@ Pseucocode Sbest = Scurrent temperature = temperature * (1-coolingRate) -Common acceptance criteria : P(accept) <- exp((e-ne)/T) where - e is the current energy ( current solution ), - ne is new energy ( new solution ), - T is current temperature. +Common acceptance criteria : + + P(accept) <- exp((e-ne)/T) where + e is the current energy ( current solution ), + ne is new energy ( new solution ), + T is current temperature. We use this algorithm to solve a Travelling salesman problem instance with 20 cities. The code is in `simann_example.swift` @@ -28,6 +30,7 @@ We use this algorithm to solve a Travelling salesman problem instance with 20 ci #See also [Simulated annealing on Wikipedia](https://en.wikipedia.org/wiki/Simulated_annealing) + [Travelling salesman problem](https://en.wikipedia.org/wiki/Travelling_salesman_problem) Written for Swift Algorithm Club by [Mike Taghavi](https://github.com/mitghi) From 94c9b5f2b0306e9924c01486889b69934f34575a Mon Sep 17 00:00:00 2001 From: barbara Date: Sun, 19 Feb 2017 16:46:31 +0100 Subject: [PATCH 005/713] initial implementation fro Splay Trees Test in progress Debug in progress Playground in progress Documentation not started --- .../SplayTree.playground/Contents.swift | 7 + .../Sources/SplayTree.swift | 509 ++++++++++++++++ .../contents.xcplayground | 4 + .../contents.xcworkspacedata | 7 + Splay Tree/SplayTree.swift | 552 ++++++++++++++++++ Splay Tree/Tests/Info.plist | 22 + Splay Tree/Tests/SplayTreeTests.swift | 19 + Splay Tree/Tests/Tests-Bridging-Header.h | 4 + .../Tests/Tests.xcodeproj/project.pbxproj | 279 +++++++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/xcschemes/Tests.xcscheme | 101 ++++ 11 files changed, 1511 insertions(+) create mode 100644 Splay Tree/SplayTree.playground/Contents.swift create mode 100644 Splay Tree/SplayTree.playground/Sources/SplayTree.swift create mode 100644 Splay Tree/SplayTree.playground/contents.xcplayground create mode 100644 Splay Tree/SplayTree.playground/playground.xcworkspace/contents.xcworkspacedata create mode 100644 Splay Tree/SplayTree.swift create mode 100644 Splay Tree/Tests/Info.plist create mode 100644 Splay Tree/Tests/SplayTreeTests.swift create mode 100644 Splay Tree/Tests/Tests-Bridging-Header.h create mode 100644 Splay Tree/Tests/Tests.xcodeproj/project.pbxproj create mode 100644 Splay Tree/Tests/Tests.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 Splay Tree/Tests/Tests.xcodeproj/xcshareddata/xcschemes/Tests.xcscheme diff --git a/Splay Tree/SplayTree.playground/Contents.swift b/Splay Tree/SplayTree.playground/Contents.swift new file mode 100644 index 000000000..951ad4c5c --- /dev/null +++ b/Splay Tree/SplayTree.playground/Contents.swift @@ -0,0 +1,7 @@ +//: Playground - Splay Tree Implementation + + +let splayTree = SplayTree(array: [1]) +splayTree.insert(value: 2) +splayTree.insert(value: 10) +splayTree.insert(value: 6) diff --git a/Splay Tree/SplayTree.playground/Sources/SplayTree.swift b/Splay Tree/SplayTree.playground/Sources/SplayTree.swift new file mode 100644 index 000000000..f0c45e831 --- /dev/null +++ b/Splay Tree/SplayTree.playground/Sources/SplayTree.swift @@ -0,0 +1,509 @@ +/* + * Splay Tree + * + * Based on Binary Search Tree Implementation written by Nicolas Ameghino and Matthijs Hollemans for Swift Algorithms Club + * https://github.com/raywenderlich/swift-algorithm-club/blob/master/Binary%20Search%20Tree + * And extended for the specifics of a Splay Tree by Barbara Martina Rodeker + * + */ + +/** + Represent the 3 possible operations (combinations of rotations) that + could be performed during the Splay phase in Splay Trees + + - zigZag Left child of a right child OR right child of a left child + - zigZig Left child of a left child OR right child of a right child + - zig Only 1 parent and that parent is the root + + */ +public enum SplayOperation { + case zigZag + case zigZig + case zig + + + /** + Splay the given node up to the root of the tree + + - Parameters: + - node SplayTree node to move up to the root + */ + public static func splay(node: SplayTree) { + + while (node.parent != nil) { + operation(forNode: node).apply(onNode: node) + } + } + + /** + Compares the node and its parent and determine + if the rotations should be performed in a zigZag, zigZig or zig case. + + - Parmeters: + - forNode SplayTree node to be checked + - Returns + - Operation Case zigZag - zigZig - zig + */ + private static func operation(forNode node: SplayTree) -> SplayOperation { + + if let parent = node.parent, let grandParent = parent.parent { + if (node.isLeftChild && grandParent.isRightChild) || (node.isRightChild && grandParent.isLeftChild) { + return .zigZag + } + return .zigZig + } + return .zig + } + + /** + Applies the rotation associated to the case + Modifying the splay tree and briging the received node further to the top of the tree + + - Parameters: + - onNode Node to splay up. Should be alwayas the node that needs to be splayed, neither its parent neither it's grandparent + */ + private func apply(onNode node: SplayTree) { + switch self { + case .zigZag: + assert(node.parent != nil && node.parent!.parent != nil, "Should be at least 2 nodes up in the tree") + rotate(child: node, parent: node.parent!) + rotate(child: node, parent: node.parent!) + + case .zigZig: + assert(node.parent != nil && node.parent!.parent != nil, "Should be at least 2 nodes up in the tree") + rotate(child: node.parent!, parent: node.parent!.parent!) + rotate(child: node, parent: node.parent!) + + case .zig: + assert(node.parent != nil && node.parent!.parent == nil, "There should be a parent which is the root") + rotate(child: node, parent: node.parent!) + } + } + + /** + Performs a single rotation from a node to its parent + re-arranging the children properly + */ + private func rotate(child: SplayTree, parent: SplayTree) { + + assert(child.parent != nil && child.parent!.value == parent.value, "Parent and child.parent should match here") + + var grandchildToMode: SplayTree? + if child.isLeftChild { + + grandchildToMode = child.right + child.right = parent + parent.left = grandchildToMode + + } else { + + grandchildToMode = child.left + child.left = parent + parent.right = grandchildToMode + } + + let grandParent = parent.parent + parent.parent = child + child.parent = grandParent + } +} + +public class SplayTree { + + fileprivate(set) public var value: T + fileprivate(set) public var parent: SplayTree? + fileprivate(set) public var left: SplayTree? + fileprivate(set) public var right: SplayTree? + + public init(value: T) { + self.value = value + } + + public convenience init(array: [T]) { + precondition(array.count > 0) + self.init(value: array.first!) + for v in array.dropFirst() { + insert(value: v) + } + } + + public var isRoot: Bool { + return parent == nil + } + + public var isLeaf: Bool { + return left == nil && right == nil + } + + public var isLeftChild: Bool { + return parent?.left === self + } + + public var isRightChild: Bool { + return parent?.right === self + } + + public var hasLeftChild: Bool { + return left != nil + } + + public var hasRightChild: Bool { + return right != nil + } + + public var hasAnyChild: Bool { + return hasLeftChild || hasRightChild + } + + public var hasBothChildren: Bool { + return hasLeftChild && hasRightChild + } + + /* How many nodes are in this subtree. Performance: O(n). */ + public var count: Int { + return (left?.count ?? 0) + 1 + (right?.count ?? 0) + } +} + +// MARK: - Adding items + +extension SplayTree { + + /* + Inserts a new element into the tree. You should only insert elements + at the root, to make to sure this remains a valid binary tree! + Performance: runs in O(h) time, where h is the height of the tree. + */ + public func insert(value: T) { + if value < self.value { + if let left = left { + left.insert(value: value) + } else { + + left = SplayTree(value: value) + left?.parent = self + + if let left = left { + SplayOperation.splay(node: left) + self.parent = nil + self.value = left.value + self.left = left.left + self.right = left.right + } + } + } else { + + if let right = right { + right.insert(value: value) + } else { + + right = SplayTree(value: value) + right?.parent = self + + if let right = right { + SplayOperation.splay(node: right) + self.parent = nil + self.value = right.value + self.left = right.left + self.right = right.right + } + } + } + } +} + +// MARK: - Deleting items + +extension SplayTree { + /* + Deletes a node from the tree. + Returns the node that has replaced this removed one (or nil if this was a + leaf node). That is primarily useful for when you delete the root node, in + which case the tree gets a new root. + Performance: runs in O(h) time, where h is the height of the tree. + */ + @discardableResult public func remove() -> SplayTree? { + let replacement: SplayTree? + + if let left = left { + if let right = right { + replacement = removeNodeWithTwoChildren(left, right) + } else { + // This node only has a left child. The left child replaces the node. + replacement = left + } + } else if let right = right { + // This node only has a right child. The right child replaces the node. + replacement = right + } else { + // This node has no children. We just disconnect it from its parent. + replacement = nil + } + + // Save the parent to splay before reconnecting + var parentToSplay: SplayTree? + if let replacement = replacement { + parentToSplay = replacement.parent + } else { + parentToSplay = self.parent + } + + reconnectParentTo(node: replacement) + + // performs the splay operation + if let parentToSplay = parentToSplay { + SplayOperation.splay(node: parentToSplay) + } + + // The current node is no longer part of the tree, so clean it up. + parent = nil + left = nil + right = nil + + return replacement + } + + private func removeNodeWithTwoChildren(_ left: SplayTree, _ right: SplayTree) -> SplayTree { + // This node has two children. It must be replaced by the smallest + // child that is larger than this node's value, which is the leftmost + // descendent of the right child. + let successor = right.minimum() + + // If this in-order successor has a right child of its own (it cannot + // have a left child by definition), then that must take its place. + successor.remove() + + // Connect our left child with the new node. + successor.left = left + left.parent = successor + + // Connect our right child with the new node. If the right child does + // not have any left children of its own, then the in-order successor + // *is* the right child. + if right !== successor { + successor.right = right + right.parent = successor + } else { + successor.right = nil + } + + // And finally, connect the successor node to our parent. + return successor + } + + private func reconnectParentTo(node: SplayTree?) { + if let parent = parent { + if isLeftChild { + parent.left = node + } else { + parent.right = node + } + } + node?.parent = parent + } +} + +// MARK: - Searching + +extension SplayTree { + + /* + Finds the "highest" node with the specified value. + Performance: runs in O(h) time, where h is the height of the tree. + */ + public func search(value: T) -> SplayTree? { + var node: SplayTree? = self + while case let n? = node { + if value < n.value { + node = n.left + } else if value > n.value { + node = n.right + } else { + + if let node = node { + SplayOperation.splay(node: node) + } + + return node + } + } + + if let node = node { + SplayOperation.splay(node: node) + } + + return nil + } + + public func contains(value: T) -> Bool { + return search(value: value) != nil + } + + /* + Returns the leftmost descendent. O(h) time. + */ + public func minimum() -> SplayTree { + var node = self + while case let next? = node.left { + node = next + } + + SplayOperation.splay(node: node) + + return node + } + + /* + Returns the rightmost descendent. O(h) time. + */ + public func maximum() -> SplayTree { + var node = self + while case let next? = node.right { + node = next + } + + SplayOperation.splay(node: node) + + return node + } + + /* + Calculates the depth of this node, i.e. the distance to the root. + Takes O(h) time. + */ + public func depth() -> Int { + var node = self + var edges = 0 + while case let parent? = node.parent { + node = parent + edges += 1 + } + return edges + } + + /* + Calculates the height of this node, i.e. the distance to the lowest leaf. + Since this looks at all children of this node, performance is O(n). + */ + public func height() -> Int { + if isLeaf { + return 0 + } else { + return 1 + max(left?.height() ?? 0, right?.height() ?? 0) + } + } + + /* + Finds the node whose value precedes our value in sorted order. + */ + public func predecessor() -> SplayTree? { + if let left = left { + return left.maximum() + } else { + var node = self + while case let parent? = node.parent { + if parent.value < value { return parent } + node = parent + } + return nil + } + } + + /* + Finds the node whose value succeeds our value in sorted order. + */ + public func successor() -> SplayTree? { + if let right = right { + return right.minimum() + } else { + var node = self + while case let parent? = node.parent { + if parent.value > value { return parent } + node = parent + } + return nil + } + } +} + +// MARK: - Traversal +extension SplayTree { + + public func traverseInOrder(process: (T) -> Void) { + left?.traverseInOrder(process: process) + process(value) + right?.traverseInOrder(process: process) + } + + public func traversePreOrder(process: (T) -> Void) { + process(value) + left?.traversePreOrder(process: process) + right?.traversePreOrder(process: process) + } + + public func traversePostOrder(process: (T) -> Void) { + left?.traversePostOrder(process: process) + right?.traversePostOrder(process: process) + process(value) + } + + /* + Performs an in-order traversal and collects the results in an array. + */ + public func map(formula: (T) -> T) -> [T] { + var a = [T]() + if let left = left { a += left.map(formula: formula) } + a.append(formula(value)) + if let right = right { a += right.map(formula: formula) } + return a + } +} + +/* + Is this binary tree a valid binary search tree? + */ +extension SplayTree { + + public func isBST(minValue: T, maxValue: T) -> Bool { + if value < minValue || value > maxValue { return false } + let leftBST = left?.isBST(minValue: minValue, maxValue: value) ?? true + let rightBST = right?.isBST(minValue: value, maxValue: maxValue) ?? true + return leftBST && rightBST + } +} + +// MARK: - Debugging + +extension SplayTree: CustomStringConvertible { + public var description: String { + var s = "" + if let left = left { + s += "(\(left.description)) <- " + } + s += "\(value)" + if let right = right { + s += " -> (\(right.description))" + } + return s + } +} + +extension SplayTree: CustomDebugStringConvertible { + public var debugDescription: String { + var s = "value: \(value)" + if let parent = parent { + s += ", parent: \(parent.value)" + } + if let left = left { + s += ", left = [" + left.debugDescription + "]" + } + if let right = right { + s += ", right = [" + right.debugDescription + "]" + } + return s + } + + public func toArray() -> [T] { + return map { $0 } + } +} diff --git a/Splay Tree/SplayTree.playground/contents.xcplayground b/Splay Tree/SplayTree.playground/contents.xcplayground new file mode 100644 index 000000000..5da2641c9 --- /dev/null +++ b/Splay Tree/SplayTree.playground/contents.xcplayground @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/Splay Tree/SplayTree.playground/playground.xcworkspace/contents.xcworkspacedata b/Splay Tree/SplayTree.playground/playground.xcworkspace/contents.xcworkspacedata new file mode 100644 index 000000000..919434a62 --- /dev/null +++ b/Splay Tree/SplayTree.playground/playground.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/Splay Tree/SplayTree.swift b/Splay Tree/SplayTree.swift new file mode 100644 index 000000000..727ff8f50 --- /dev/null +++ b/Splay Tree/SplayTree.swift @@ -0,0 +1,552 @@ +/* + * Splay Tree + * + * Based on Binary Search Tree Implementation written by Nicolas Ameghino and Matthijs Hollemans for Swift Algorithms Club + * https://github.com/raywenderlich/swift-algorithm-club/blob/master/Binary%20Search%20Tree + * And extended for the specifics of a Splay Tree by Barbara Martina Rodeker + * + */ + +/** + Represent the 3 possible operations (combinations of rotations) that + could be performed during the Splay phase in Splay Trees + + - zigZag Left child of a right child OR right child of a left child + - zigZig Left child of a left child OR right child of a right child + - zig Only 1 parent and that parent is the root + + */ +public enum SplayOperation { + case zigZag + case zigZig + case zig + + + /** + Splay the given node up to the root of the tree + + - Parameters: + - node SplayTree node to move up to the root + */ + public static func splay(node: SplayTree) { + + while (node.parent != nil) { + operation(forNode: node).apply(onNode: node) + } + } + + /** + Compares the node and its parent and determine + if the rotations should be performed in a zigZag, zigZig or zig case. + + - Parmeters: + - forNode SplayTree node to be checked + - Returns + - Operation Case zigZag - zigZig - zig + */ + private static func operation(forNode node: SplayTree) -> SplayOperation { + + if let parent = node.parent, let _ = parent.parent { + if (node.isLeftChild && parent.isRightChild) || (node.isRightChild && parent.isLeftChild) { + return .zigZag + } + return .zigZig + } + return .zig + } + + /** + Applies the rotation associated to the case + Modifying the splay tree and briging the received node further to the top of the tree + + - Parameters: + - onNode Node to splay up. Should be alwayas the node that needs to be splayed, neither its parent neither it's grandparent + */ + private func apply(onNode node: SplayTree) { + switch self { + case .zigZag: + assert(node.parent != nil && node.parent!.parent != nil, "Should be at least 2 nodes up in the tree") + rotate(child: node, parent: node.parent!) + rotate(child: node, parent: node.parent!) + + case .zigZig: + assert(node.parent != nil && node.parent!.parent != nil, "Should be at least 2 nodes up in the tree") + rotate(child: node.parent!, parent: node.parent!.parent!) + rotate(child: node, parent: node.parent!) + + case .zig: + assert(node.parent != nil && node.parent!.parent == nil, "There should be a parent which is the root") + rotate(child: node, parent: node.parent!) + } + } + + /** + Performs a single rotation from a node to its parent + re-arranging the children properly + */ + private func rotate(child: SplayTree, parent: SplayTree) { + + assert(child.parent != nil && child.parent!.value == parent.value, "Parent and child.parent should match here") + + var grandchildToMode: SplayTree? + if child.isLeftChild { + + grandchildToMode = child.right + child.right = parent + parent.left = grandchildToMode + + } else { + + grandchildToMode = child.left + child.left = parent + parent.right = grandchildToMode + } + + let grandParent = parent.parent + parent.parent = child + child.parent = grandParent + } +} + +public class Node { + + fileprivate(set) public var value: T + fileprivate(set) public var parent: SplayTree? + fileprivate(set) public var left: SplayTree? + fileprivate(set) public var right: SplayTree? + + init(value: T){ + self.value = value + } +} + +public class SplayTree { + + + fileprivate(set) public var root: Node? + public var value: T? { + get { + return root?.value + } + set { + if let value = newValue { + root?.value = value + } + } + } + + fileprivate(set) public var parent: SplayTree? { + get { + return root?.parent + } + set { + root?.parent = newValue + } + } + + fileprivate(set) public var left: SplayTree? { + get { + return root?.left + } + set { + root?.left = newValue + } + } + fileprivate(set) public var right: SplayTree? { + get { + return root?.right + } + set { + root?.right = newValue + } + } + + //MARK: - Initializer + + public init(value: T) { + self.root = Node(value:value) + } + + public var isRoot: Bool { + return parent == nil + } + + public var isLeaf: Bool { + return left == nil && right == nil + } + + public var isLeftChild: Bool { + return parent?.left === self + } + + public var isRightChild: Bool { + return parent?.right === self + } + + public var hasLeftChild: Bool { + return left != nil + } + + public var hasRightChild: Bool { + return right != nil + } + + public var hasAnyChild: Bool { + return hasLeftChild || hasRightChild + } + + public var hasBothChildren: Bool { + return hasLeftChild && hasRightChild + } + + /* How many nodes are in this subtree. Performance: O(n). */ + public var count: Int { + return (left?.count ?? 0) + 1 + (right?.count ?? 0) + } +} + +// MARK: - Adding items + +extension SplayTree { + + /* + Inserts a new element into the tree. You should only insert elements + at the root, to make to sure this remains a valid binary tree! + Performance: runs in O(h) time, where h is the height of the tree. + */ + public func insert(value: T) -> SplayTree? { + if let selfValue = self.value { + if value < selfValue { + if let left = left { + return left.insert(value: value) + } else { + + left = SplayTree(value: value) + left?.parent = self + + if let left = left { + SplayOperation.splay(node: left) + return left + } + } + } else { + + if let right = right { + return right.insert(value: value) + } else { + + right = SplayTree(value: value) + right?.parent = self + + if let right = right { + SplayOperation.splay(node: right) + return right + } + } + } + } else { + self.root = Node(value: value) + return self + } + return nil + } +} + +// MARK: - Deleting items + +extension SplayTree { + /* + Deletes a node from the tree. + Returns the node that has replaced this removed one (or nil if this was a + leaf node). That is primarily useful for when you delete the root node, in + which case the tree gets a new root. + Performance: runs in O(h) time, where h is the height of the tree. + */ + @discardableResult public func remove() -> SplayTree? { + let replacement: SplayTree? + + if let left = left { + if let right = right { + replacement = removeNodeWithTwoChildren(left, right) + } else { + // This node only has a left child. The left child replaces the node. + replacement = left + } + } else if let right = right { + // This node only has a right child. The right child replaces the node. + replacement = right + } else { + // This node has no children. We just disconnect it from its parent. + replacement = nil + } + + // Save the parent to splay before reconnecting + var parentToSplay: SplayTree? + if let replacement = replacement { + parentToSplay = replacement.parent + } else { + parentToSplay = self.parent + } + + reconnectParentTo(node: replacement) + + // performs the splay operation + if let parentToSplay = parentToSplay { + SplayOperation.splay(node: parentToSplay) + } + + // The current node is no longer part of the tree, so clean it up. + parent = nil + left = nil + right = nil + + return replacement + } + + private func removeNodeWithTwoChildren(_ left: SplayTree, _ right: SplayTree) -> SplayTree { + // This node has two children. It must be replaced by the smallest + // child that is larger than this node's value, which is the leftmost + // descendent of the right child. + let successor = right.minimum() + + // If this in-order successor has a right child of its own (it cannot + // have a left child by definition), then that must take its place. + successor.remove() + + // Connect our left child with the new node. + successor.left = left + left.parent = successor + + // Connect our right child with the new node. If the right child does + // not have any left children of its own, then the in-order successor + // *is* the right child. + if right !== successor { + successor.right = right + right.parent = successor + } else { + successor.right = nil + } + + // And finally, connect the successor node to our parent. + return successor + } + + private func reconnectParentTo(node: SplayTree?) { + if let parent = parent { + if isLeftChild { + parent.left = node + } else { + parent.right = node + } + } + node?.parent = parent + } +} + +// MARK: - Searching + +extension SplayTree { + + /* + Finds the "highest" node with the specified value. + Performance: runs in O(h) time, where h is the height of the tree. + */ + public func search(value: T) -> SplayTree? { + var node: SplayTree? = self + while case let n? = node, n.value != nil { + if value < n.value! { + node = n.left + } else if value > n.value! { + node = n.right + } else { + + if let node = node { + SplayOperation.splay(node: node) + } + + return node + } + } + + if let node = node { + SplayOperation.splay(node: node) + } + + return nil + } + + public func contains(value: T) -> Bool { + return search(value: value) != nil + } + + /* + Returns the leftmost descendent. O(h) time. + */ + public func minimum() -> SplayTree { + var node = self + while case let next? = node.left { + node = next + } + + SplayOperation.splay(node: node) + + return node + } + + /* + Returns the rightmost descendent. O(h) time. + */ + public func maximum() -> SplayTree { + var node = self + while case let next? = node.right { + node = next + } + + SplayOperation.splay(node: node) + + return node + } + + /* + Calculates the depth of this node, i.e. the distance to the root. + Takes O(h) time. + */ + public func depth() -> Int { + var node = self + var edges = 0 + while case let parent? = node.parent { + node = parent + edges += 1 + } + return edges + } + + /* + Calculates the height of this node, i.e. the distance to the lowest leaf. + Since this looks at all children of this node, performance is O(n). + */ + public func height() -> Int { + if isLeaf { + return 0 + } else { + return 1 + max(left?.height() ?? 0, right?.height() ?? 0) + } + } + + /* + Finds the node whose value precedes our value in sorted order. + */ + public func predecessor() -> SplayTree? { + if let left = left { + return left.maximum() + } else { + var node = self + while case let parent? = node.parent, parent.value != nil, value != nil { + if parent.value! < value! { return parent } + node = parent + } + return nil + } + } + + /* + Finds the node whose value succeeds our value in sorted order. + */ + public func successor() -> SplayTree? { + if let right = right { + return right.minimum() + } else { + var node = self + while case let parent? = node.parent, parent.value != nil , value != nil { + if parent.value! > value! { return parent } + node = parent + } + return nil + } + } +} + +// MARK: - Traversal +extension SplayTree { + + public func traverseInOrder(process: (T) -> Void) { + left?.traverseInOrder(process: process) + process(value!) + right?.traverseInOrder(process: process) + } + + public func traversePreOrder(process: (T) -> Void) { + process(value!) + left?.traversePreOrder(process: process) + right?.traversePreOrder(process: process) + } + + public func traversePostOrder(process: (T) -> Void) { + left?.traversePostOrder(process: process) + right?.traversePostOrder(process: process) + process(value!) + } + + /* + Performs an in-order traversal and collects the results in an array. + */ + public func map(formula: (T) -> T) -> [T] { + var a = [T]() + if let left = left { a += left.map(formula: formula) } + a.append(formula(value!)) + if let right = right { a += right.map(formula: formula) } + return a + } +} + +/* + Is this binary tree a valid binary search tree? + */ +extension SplayTree { + + public func isBST(minValue: T, maxValue: T) -> Bool { + if let value = value { + if value < minValue || value > maxValue { return false } + let leftBST = left?.isBST(minValue: minValue, maxValue: value) ?? true + let rightBST = right?.isBST(minValue: value, maxValue: maxValue) ?? true + return leftBST && rightBST + } + return false + } +} + +// MARK: - Debugging + +extension SplayTree: CustomStringConvertible { + public var description: String { + var s = "" + if let left = left { + s += "(\(left.description)) <- " + } + s += "\(value)" + if let right = right { + s += " -> (\(right.description))" + } + return s + } +} + +extension SplayTree: CustomDebugStringConvertible { + public var debugDescription: String { + var s = "value: \(value)" + if let parent = parent { + s += ", parent: \(parent.value)" + } + if let left = left { + s += ", left = [" + left.debugDescription + "]" + } + if let right = right { + s += ", right = [" + right.debugDescription + "]" + } + return s + } + + public func toArray() -> [T] { + return map { $0 } + } +} diff --git a/Splay Tree/Tests/Info.plist b/Splay Tree/Tests/Info.plist new file mode 100644 index 000000000..6c6c23c43 --- /dev/null +++ b/Splay Tree/Tests/Info.plist @@ -0,0 +1,22 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + BNDL + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + + diff --git a/Splay Tree/Tests/SplayTreeTests.swift b/Splay Tree/Tests/SplayTreeTests.swift new file mode 100644 index 000000000..35bdedb71 --- /dev/null +++ b/Splay Tree/Tests/SplayTreeTests.swift @@ -0,0 +1,19 @@ +import XCTest + +class SplayTreeTests: XCTestCase { + var tree: SplayTree! + + override func setUp() { + super.setUp() + tree = SplayTree(value: 1) + } + + func testElements() { + print(tree) + let tree1 = tree.insert(value: 10) + print(tree1!) + let tree2 = tree1!.insert(value: 2) + print(tree2!) + } + +} diff --git a/Splay Tree/Tests/Tests-Bridging-Header.h b/Splay Tree/Tests/Tests-Bridging-Header.h new file mode 100644 index 000000000..1b2cb5d6d --- /dev/null +++ b/Splay Tree/Tests/Tests-Bridging-Header.h @@ -0,0 +1,4 @@ +// +// Use this file to import your target's public headers that you would like to expose to Swift. +// + diff --git a/Splay Tree/Tests/Tests.xcodeproj/project.pbxproj b/Splay Tree/Tests/Tests.xcodeproj/project.pbxproj new file mode 100644 index 000000000..8a900fcd3 --- /dev/null +++ b/Splay Tree/Tests/Tests.xcodeproj/project.pbxproj @@ -0,0 +1,279 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + 763F9E771E59DAEF00AC5031 /* SplayTree.swift in Sources */ = {isa = PBXBuildFile; fileRef = 763F9E761E59DAEF00AC5031 /* SplayTree.swift */; }; + 763F9E791E59DAFE00AC5031 /* SplayTreeTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 763F9E781E59DAFE00AC5031 /* SplayTreeTests.swift */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 056E92A21E25D04D00B30F52 /* Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Tests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 056E92A61E25D04D00B30F52 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 763F9E761E59DAEF00AC5031 /* SplayTree.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SplayTree.swift; path = ../SplayTree.swift; sourceTree = ""; }; + 763F9E781E59DAFE00AC5031 /* SplayTreeTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SplayTreeTests.swift; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 056E929F1E25D04D00B30F52 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 056E92851E25D03300B30F52 = { + isa = PBXGroup; + children = ( + 056E92A31E25D04D00B30F52 /* Tests */, + 056E928F1E25D03300B30F52 /* Products */, + ); + sourceTree = ""; + }; + 056E928F1E25D03300B30F52 /* Products */ = { + isa = PBXGroup; + children = ( + 056E92A21E25D04D00B30F52 /* Tests.xctest */, + ); + name = Products; + sourceTree = ""; + }; + 056E92A31E25D04D00B30F52 /* Tests */ = { + isa = PBXGroup; + children = ( + 056E92A61E25D04D00B30F52 /* Info.plist */, + 763F9E781E59DAFE00AC5031 /* SplayTreeTests.swift */, + 763F9E761E59DAEF00AC5031 /* SplayTree.swift */, + ); + name = Tests; + sourceTree = SOURCE_ROOT; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 056E92A11E25D04D00B30F52 /* Tests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 056E92A71E25D04D00B30F52 /* Build configuration list for PBXNativeTarget "Tests" */; + buildPhases = ( + 056E929E1E25D04D00B30F52 /* Sources */, + 056E929F1E25D04D00B30F52 /* Frameworks */, + 056E92A01E25D04D00B30F52 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = Tests; + productName = Tests; + productReference = 056E92A21E25D04D00B30F52 /* Tests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 056E92861E25D03300B30F52 /* Project object */ = { + isa = PBXProject; + attributes = { + LastSwiftUpdateCheck = 0820; + LastUpgradeCheck = 0820; + ORGANIZATIONNAME = "Swift Algorithm Club"; + TargetAttributes = { + 056E92A11E25D04D00B30F52 = { + CreatedOnToolsVersion = 8.2; + LastSwiftMigration = 0820; + ProvisioningStyle = Automatic; + }; + }; + }; + buildConfigurationList = 056E92891E25D03300B30F52 /* Build configuration list for PBXProject "Tests" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 056E92851E25D03300B30F52; + productRefGroup = 056E928F1E25D03300B30F52 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 056E92A11E25D04D00B30F52 /* Tests */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 056E92A01E25D04D00B30F52 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 056E929E1E25D04D00B30F52 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 763F9E771E59DAEF00AC5031 /* SplayTree.swift in Sources */, + 763F9E791E59DAFE00AC5031 /* SplayTreeTests.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + 056E92991E25D03300B30F52 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = 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_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "-"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + 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; + MACOSX_DEPLOYMENT_TARGET = 10.12; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = macosx; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + }; + name = Debug; + }; + 056E929A1E25D03300B30F52 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = 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_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "-"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + 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; + MACOSX_DEPLOYMENT_TARGET = 10.12; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = macosx; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + }; + name = Release; + }; + 056E92A81E25D04D00B30F52 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ENABLE_MODULES = YES; + COMBINE_HIDPI_IMAGES = YES; + INFOPLIST_FILE = Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = Swift.Algorithm.Club.Tests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OBJC_BRIDGING_HEADER = "Tests-Bridging-Header.h"; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 3.0; + }; + name = Debug; + }; + 056E92A91E25D04D00B30F52 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ENABLE_MODULES = YES; + COMBINE_HIDPI_IMAGES = YES; + INFOPLIST_FILE = Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = Swift.Algorithm.Club.Tests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OBJC_BRIDGING_HEADER = "Tests-Bridging-Header.h"; + SWIFT_VERSION = 3.0; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 056E92891E25D03300B30F52 /* Build configuration list for PBXProject "Tests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 056E92991E25D03300B30F52 /* Debug */, + 056E929A1E25D03300B30F52 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 056E92A71E25D04D00B30F52 /* Build configuration list for PBXNativeTarget "Tests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 056E92A81E25D04D00B30F52 /* Debug */, + 056E92A91E25D04D00B30F52 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 056E92861E25D03300B30F52 /* Project object */; +} diff --git a/Splay Tree/Tests/Tests.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Splay Tree/Tests/Tests.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 000000000..6c0ea8493 --- /dev/null +++ b/Splay Tree/Tests/Tests.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/Splay Tree/Tests/Tests.xcodeproj/xcshareddata/xcschemes/Tests.xcscheme b/Splay Tree/Tests/Tests.xcodeproj/xcshareddata/xcschemes/Tests.xcscheme new file mode 100644 index 000000000..b3f6d696a --- /dev/null +++ b/Splay Tree/Tests/Tests.xcodeproj/xcshareddata/xcschemes/Tests.xcscheme @@ -0,0 +1,101 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From cc973dcb62d310f1af0d08d408c782a57e3523cb Mon Sep 17 00:00:00 2001 From: barbara Date: Fri, 3 Mar 2017 21:01:11 +0100 Subject: [PATCH 006/713] Fixes for connecting nodes during rotations --- Splay Tree/SplayTree.swift | 53 ++++++++++++++++++--------- Splay Tree/Tests/SplayTreeTests.swift | 41 +++++++++++++-------- 2 files changed, 61 insertions(+), 33 deletions(-) diff --git a/Splay Tree/SplayTree.swift b/Splay Tree/SplayTree.swift index 727ff8f50..2e008ba50 100644 --- a/Splay Tree/SplayTree.swift +++ b/Splay Tree/SplayTree.swift @@ -44,7 +44,7 @@ public enum SplayOperation { - Returns - Operation Case zigZag - zigZig - zig */ - private static func operation(forNode node: SplayTree) -> SplayOperation { + public static func operation(forNode node: SplayTree) -> SplayOperation { if let parent = node.parent, let _ = parent.parent { if (node.isLeftChild && parent.isRightChild) || (node.isRightChild && parent.isLeftChild) { @@ -62,7 +62,7 @@ public enum SplayOperation { - Parameters: - onNode Node to splay up. Should be alwayas the node that needs to be splayed, neither its parent neither it's grandparent */ - private func apply(onNode node: SplayTree) { + public func apply(onNode node: SplayTree) { switch self { case .zigZag: assert(node.parent != nil && node.parent!.parent != nil, "Should be at least 2 nodes up in the tree") @@ -84,7 +84,7 @@ public enum SplayOperation { Performs a single rotation from a node to its parent re-arranging the children properly */ - private func rotate(child: SplayTree, parent: SplayTree) { + public func rotate(child: SplayTree, parent: SplayTree) { assert(child.parent != nil && child.parent!.value == parent.value, "Parent and child.parent should match here") @@ -95,16 +95,22 @@ public enum SplayOperation { child.right = parent parent.left = grandchildToMode + + } else { grandchildToMode = child.left child.left = parent parent.right = grandchildToMode - } + } + let grandParent = parent.parent parent.parent = child child.parent = grandParent + + grandParent?.left = child + } } @@ -210,9 +216,15 @@ public class SplayTree { extension SplayTree { /* - Inserts a new element into the tree. You should only insert elements - at the root, to make to sure this remains a valid binary tree! - Performance: runs in O(h) time, where h is the height of the tree. + Inserts a new element into the tree. + Returns the new Tree generated by the insertion. + + - Parameters: + - value T value to be inserted. Will be splayed to the root position + + - Returns + - SplayTree Containing the inserted value in the root node + */ public func insert(value: T) -> SplayTree? { if let selfValue = self.value { @@ -255,14 +267,17 @@ extension SplayTree { // MARK: - Deleting items extension SplayTree { + /* - Deletes a node from the tree. - Returns the node that has replaced this removed one (or nil if this was a - leaf node). That is primarily useful for when you delete the root node, in - which case the tree gets a new root. - Performance: runs in O(h) time, where h is the height of the tree. + Deletes the given node from the tree. + Return the new tree generated by the removal. + The removed node (not necessarily the one containing the value), will be splayed to the root. + + - Returns: + - SplayTree Resulting from the deletion and the splaying of the removed node + */ - @discardableResult public func remove() -> SplayTree? { + public func remove() -> SplayTree? { let replacement: SplayTree? if let left = left { @@ -521,11 +536,13 @@ extension SplayTree: CustomStringConvertible { public var description: String { var s = "" if let left = left { - s += "(\(left.description)) <- " + s += "left: (\(left.description)) <- " + } + if let v = value { + s += "\(v)" } - s += "\(value)" if let right = right { - s += " -> (\(right.description))" + s += " -> (right: \(right.description))" } return s } @@ -534,8 +551,8 @@ extension SplayTree: CustomStringConvertible { extension SplayTree: CustomDebugStringConvertible { public var debugDescription: String { var s = "value: \(value)" - if let parent = parent { - s += ", parent: \(parent.value)" + if let parent = parent, let v = parent.value { + s += ", parent: \(v)" } if let left = left { s += ", left = [" + left.debugDescription + "]" diff --git a/Splay Tree/Tests/SplayTreeTests.swift b/Splay Tree/Tests/SplayTreeTests.swift index 35bdedb71..998c6d3c4 100644 --- a/Splay Tree/Tests/SplayTreeTests.swift +++ b/Splay Tree/Tests/SplayTreeTests.swift @@ -1,19 +1,30 @@ import XCTest class SplayTreeTests: XCTestCase { - var tree: SplayTree! - - override func setUp() { - super.setUp() - tree = SplayTree(value: 1) - } - - func testElements() { - print(tree) - let tree1 = tree.insert(value: 10) - print(tree1!) - let tree2 = tree1!.insert(value: 2) - print(tree2!) - } - + + var tree: SplayTree! + var tree1: SplayTree! + + override func setUp() { + super.setUp() + tree = SplayTree(value: 1) + tree1 = tree.insert(value: 10)?.insert(value: 20)?.insert(value: 3)//?.insert(value: 6)?.insert(value: 100)?.insert(value: 44) + } + + func testInsertion() { + let tree1 = tree.insert(value: 10) + assert(tree1?.root?.value == 10) + + let tree2 = tree1!.insert(value: 2) + assert(tree2?.root?.value == 2) + } + + + func testDeleteExisting() { + print(tree1) + let tree2 = tree1.search(value: 6)?.remove() + + } + + } From 72740a17e7bd9b74716e32f1ef9ef4a92534b302 Mon Sep 17 00:00:00 2001 From: barbara Date: Sat, 4 Mar 2017 09:20:25 +0100 Subject: [PATCH 007/713] Test for search function + fixes for rotations --- Splay Tree/SplayTree.swift | 17 +++++++++-------- Splay Tree/Tests/SplayTreeTests.swift | 7 ++++--- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/Splay Tree/SplayTree.swift b/Splay Tree/SplayTree.swift index 2e008ba50..bbe8491e2 100644 --- a/Splay Tree/SplayTree.swift +++ b/Splay Tree/SplayTree.swift @@ -94,7 +94,7 @@ public enum SplayOperation { grandchildToMode = child.right child.right = parent parent.left = grandchildToMode - + grandchildToMode?.parent = parent } else { @@ -102,6 +102,7 @@ public enum SplayOperation { grandchildToMode = child.left child.left = parent parent.right = grandchildToMode + grandchildToMode?.parent = parent } @@ -368,23 +369,23 @@ extension SplayTree { */ public func search(value: T) -> SplayTree? { var node: SplayTree? = self + var nodeParent: SplayTree? = self while case let n? = node, n.value != nil { if value < n.value! { + if n.left != nil { nodeParent = n.left } node = n.left } else if value > n.value! { node = n.right - } else { - - if let node = node { - SplayOperation.splay(node: node) - } - - return node + if n.right != nil { nodeParent = n.right } } } if let node = node { SplayOperation.splay(node: node) + return node + } else if let nodeParent = nodeParent { + SplayOperation.splay(node: nodeParent) + return nodeParent } return nil diff --git a/Splay Tree/Tests/SplayTreeTests.swift b/Splay Tree/Tests/SplayTreeTests.swift index 998c6d3c4..042344193 100644 --- a/Splay Tree/Tests/SplayTreeTests.swift +++ b/Splay Tree/Tests/SplayTreeTests.swift @@ -8,7 +8,7 @@ class SplayTreeTests: XCTestCase { override func setUp() { super.setUp() tree = SplayTree(value: 1) - tree1 = tree.insert(value: 10)?.insert(value: 20)?.insert(value: 3)//?.insert(value: 6)?.insert(value: 100)?.insert(value: 44) + tree1 = tree.insert(value: 10)?.insert(value: 20)?.insert(value: 3)?.insert(value: 6)?.insert(value: 100)?.insert(value: 44) } func testInsertion() { @@ -20,9 +20,10 @@ class SplayTreeTests: XCTestCase { } - func testDeleteExisting() { + func testSearchNonExisting() { print(tree1) - let tree2 = tree1.search(value: 6)?.remove() + let tree2 = tree1.search(value: 5) + assert(tree2?.root?.value == 10) } From 84e75b73e246e76fe8a22c97ef49c9d5277ea35b Mon Sep 17 00:00:00 2001 From: barbara Date: Sun, 5 Mar 2017 19:23:31 +0100 Subject: [PATCH 008/713] Completing implementation + debug fixes of Splay Tree --- Splay Tree/SplayTree.swift | 321 +++++++++++++++++++++---------------- 1 file changed, 186 insertions(+), 135 deletions(-) diff --git a/Splay Tree/SplayTree.swift b/Splay Tree/SplayTree.swift index bbe8491e2..f50af7349 100644 --- a/Splay Tree/SplayTree.swift +++ b/Splay Tree/SplayTree.swift @@ -28,7 +28,7 @@ public enum SplayOperation { - Parameters: - node SplayTree node to move up to the root */ - public static func splay(node: SplayTree) { + public static func splay(node: Node) { while (node.parent != nil) { operation(forNode: node).apply(onNode: node) @@ -44,7 +44,7 @@ public enum SplayOperation { - Returns - Operation Case zigZag - zigZig - zig */ - public static func operation(forNode node: SplayTree) -> SplayOperation { + public static func operation(forNode node: Node) -> SplayOperation { if let parent = node.parent, let _ = parent.parent { if (node.isLeftChild && parent.isRightChild) || (node.isRightChild && parent.isLeftChild) { @@ -62,7 +62,7 @@ public enum SplayOperation { - Parameters: - onNode Node to splay up. Should be alwayas the node that needs to be splayed, neither its parent neither it's grandparent */ - public func apply(onNode node: SplayTree) { + public func apply(onNode node: Node) { switch self { case .zigZag: assert(node.parent != nil && node.parent!.parent != nil, "Should be at least 2 nodes up in the tree") @@ -84,95 +84,65 @@ public enum SplayOperation { Performs a single rotation from a node to its parent re-arranging the children properly */ - public func rotate(child: SplayTree, parent: SplayTree) { + public func rotate(child: Node, parent: Node) { assert(child.parent != nil && child.parent!.value == parent.value, "Parent and child.parent should match here") - var grandchildToMode: SplayTree? + var grandchildToMode: Node? + if child.isLeftChild { grandchildToMode = child.right - child.right = parent parent.left = grandchildToMode grandchildToMode?.parent = parent + + let grandParent = parent.parent + child.parent = grandParent + + if parent.isLeftChild { + grandParent?.left = child + } else { + grandParent?.right = child + } + + child.right = parent + parent.parent = child } else { grandchildToMode = child.left - child.left = parent parent.right = grandchildToMode grandchildToMode?.parent = parent + let grandParent = parent.parent + child.parent = grandParent + + if parent.isLeftChild { + grandParent?.left = child + } else { + grandParent?.right = child + } + + child.left = parent + parent.parent = child + } - let grandParent = parent.parent - parent.parent = child - child.parent = grandParent - - grandParent?.left = child } } public class Node { - fileprivate(set) public var value: T - fileprivate(set) public var parent: SplayTree? - fileprivate(set) public var left: SplayTree? - fileprivate(set) public var right: SplayTree? + fileprivate(set) public var value: T? + fileprivate(set) public var parent: Node? + fileprivate(set) public var left: Node? + fileprivate(set) public var right: Node? - init(value: T){ + init(value: T) { self.value = value } -} - -public class SplayTree { - - - fileprivate(set) public var root: Node? - public var value: T? { - get { - return root?.value - } - set { - if let value = newValue { - root?.value = value - } - } - } - - fileprivate(set) public var parent: SplayTree? { - get { - return root?.parent - } - set { - root?.parent = newValue - } - } - - fileprivate(set) public var left: SplayTree? { - get { - return root?.left - } - set { - root?.left = newValue - } - } - fileprivate(set) public var right: SplayTree? { - get { - return root?.right - } - set { - root?.right = newValue - } - } - - //MARK: - Initializer - - public init(value: T) { - self.root = Node(value:value) - } public var isRoot: Bool { return parent == nil @@ -212,29 +182,66 @@ public class SplayTree { } } +public class SplayTree { + + internal var root: Node? + + var value: T? { + return root?.value + } + + //MARK: - Initializer + + public init(value: T) { + self.root = Node(value:value) + } + + public func insert(value: T) { + root = root?.insert(value: value) + } + + public func remove(value: T) { + root = root?.remove(value: value) + } + + public func search(value: T) -> Node? { + root = root?.search(value: value) + return root + } + + public func minimum() -> Node? { + root = root?.minimum(splayed: true) + return root + } + + public func maximum() -> Node? { + root = root?.maximum(splayed: true) + return root + } + +} + // MARK: - Adding items -extension SplayTree { +extension Node { /* - Inserts a new element into the tree. - Returns the new Tree generated by the insertion. + Inserts a new element into the node tree. - Parameters: - value T value to be inserted. Will be splayed to the root position - - Returns - - SplayTree Containing the inserted value in the root node - + - Returns: + - Node inserted */ - public func insert(value: T) -> SplayTree? { + public func insert(value: T) -> Node { if let selfValue = self.value { if value < selfValue { if let left = left { return left.insert(value: value) } else { - left = SplayTree(value: value) + left = Node(value: value) left?.parent = self if let left = left { @@ -248,7 +255,7 @@ extension SplayTree { return right.insert(value: value) } else { - right = SplayTree(value: value) + right = Node(value: value) right?.parent = self if let right = right { @@ -257,78 +264,104 @@ extension SplayTree { } } } - } else { - self.root = Node(value: value) - return self } - return nil + return self } } // MARK: - Deleting items -extension SplayTree { +extension Node { /* - Deletes the given node from the tree. + Deletes the given node from the nodes tree. Return the new tree generated by the removal. The removed node (not necessarily the one containing the value), will be splayed to the root. + - Parameters: + - value To be removed + - Returns: - - SplayTree Resulting from the deletion and the splaying of the removed node + - Node Resulting from the deletion and the splaying of the removed node */ - public func remove() -> SplayTree? { - let replacement: SplayTree? + public func remove(value: T) -> Node? { + let replacement: Node? - if let left = left { - if let right = right { - replacement = removeNodeWithTwoChildren(left, right) + if let v = self.value, v == value { + + var parentToSplay: Node? + if let left = left { + if let right = right { + + replacement = removeNodeWithTwoChildren(left, right) + + if let replacement = replacement, + let replacementParent = replacement.parent, + replacementParent.value != self.value { + + parentToSplay = replacement.parent + + } else { + parentToSplay = self.parent + } + + } else { + // This node only has a left child. The left child replaces the node. + replacement = left + parentToSplay = parent + } + } else if let right = right { + // This node only has a right child. The right child replaces the node. + replacement = right + parentToSplay = parent } else { - // This node only has a left child. The left child replaces the node. - replacement = left + // This node has no children. We just disconnect it from its parent. + replacement = nil + parentToSplay = parent } - } else if let right = right { - // This node only has a right child. The right child replaces the node. - replacement = right - } else { - // This node has no children. We just disconnect it from its parent. - replacement = nil - } + + reconnectParentTo(node: replacement) + + // performs the splay operation + if let parentToSplay = parentToSplay { + SplayOperation.splay(node: parentToSplay) + } + + // The current node is no longer part of the tree, so clean it up. + parent = nil + left = nil + right = nil - // Save the parent to splay before reconnecting - var parentToSplay: SplayTree? - if let replacement = replacement { - parentToSplay = replacement.parent + return parentToSplay + + } else if let v = self.value, value < v { + if left != nil { + return left!.remove(value: value) + } else { + let node = self + SplayOperation.splay(node: node) + return node + + } } else { - parentToSplay = self.parent - } - - reconnectParentTo(node: replacement) - - // performs the splay operation - if let parentToSplay = parentToSplay { - SplayOperation.splay(node: parentToSplay) + if right != nil { + return right?.remove(value: value) + } else { + let node = self + SplayOperation.splay(node: node) + return node + + } } - - // The current node is no longer part of the tree, so clean it up. - parent = nil - left = nil - right = nil - - return replacement } - private func removeNodeWithTwoChildren(_ left: SplayTree, _ right: SplayTree) -> SplayTree { + private func removeNodeWithTwoChildren(_ left: Node, _ right: Node) -> Node { // This node has two children. It must be replaced by the smallest // child that is larger than this node's value, which is the leftmost // descendent of the right child. let successor = right.minimum() - // If this in-order successor has a right child of its own (it cannot - // have a left child by definition), then that must take its place. - successor.remove() - // Connect our left child with the new node. successor.left = left left.parent = successor @@ -347,7 +380,7 @@ extension SplayTree { return successor } - private func reconnectParentTo(node: SplayTree?) { + private func reconnectParentTo(node: Node?) { if let parent = parent { if isLeftChild { parent.left = node @@ -361,15 +394,15 @@ extension SplayTree { // MARK: - Searching -extension SplayTree { +extension Node { /* Finds the "highest" node with the specified value. Performance: runs in O(h) time, where h is the height of the tree. */ - public func search(value: T) -> SplayTree? { - var node: SplayTree? = self - var nodeParent: SplayTree? = self + public func search(value: T) -> Node? { + var node: Node? = self + var nodeParent: Node? = self while case let n? = node, n.value != nil { if value < n.value! { if n.left != nil { nodeParent = n.left } @@ -377,6 +410,8 @@ extension SplayTree { } else if value > n.value! { node = n.right if n.right != nil { nodeParent = n.right } + } else { + break } } @@ -398,27 +433,31 @@ extension SplayTree { /* Returns the leftmost descendent. O(h) time. */ - public func minimum() -> SplayTree { + public func minimum(splayed: Bool = false) -> Node { var node = self while case let next? = node.left { node = next } - SplayOperation.splay(node: node) - + if splayed == true { + SplayOperation.splay(node: node) + } + return node } /* Returns the rightmost descendent. O(h) time. */ - public func maximum() -> SplayTree { + public func maximum(splayed: Bool = false) -> Node { var node = self while case let next? = node.right { node = next } - SplayOperation.splay(node: node) + if splayed == true { + SplayOperation.splay(node: node) + } return node } @@ -452,7 +491,7 @@ extension SplayTree { /* Finds the node whose value precedes our value in sorted order. */ - public func predecessor() -> SplayTree? { + public func predecessor() -> Node? { if let left = left { return left.maximum() } else { @@ -468,7 +507,7 @@ extension SplayTree { /* Finds the node whose value succeeds our value in sorted order. */ - public func successor() -> SplayTree? { + public func successor() -> Node? { if let right = right { return right.minimum() } else { @@ -483,7 +522,7 @@ extension SplayTree { } // MARK: - Traversal -extension SplayTree { +extension Node { public func traverseInOrder(process: (T) -> Void) { left?.traverseInOrder(process: process) @@ -518,7 +557,7 @@ extension SplayTree { /* Is this binary tree a valid binary search tree? */ -extension SplayTree { +extension Node { public func isBST(minValue: T, maxValue: T) -> Bool { if let value = value { @@ -533,7 +572,7 @@ extension SplayTree { // MARK: - Debugging -extension SplayTree: CustomStringConvertible { +extension Node: CustomStringConvertible { public var description: String { var s = "" if let left = left { @@ -549,7 +588,13 @@ extension SplayTree: CustomStringConvertible { } } -extension SplayTree: CustomDebugStringConvertible { +extension SplayTree: CustomStringConvertible { + public var description: String { + return root?.description ?? "Empty tree" + } +} + +extension Node: CustomDebugStringConvertible { public var debugDescription: String { var s = "value: \(value)" if let parent = parent, let v = parent.value { @@ -568,3 +613,9 @@ extension SplayTree: CustomDebugStringConvertible { return map { $0 } } } + +extension SplayTree: CustomDebugStringConvertible { + public var debugDescription: String { + return root?.debugDescription ?? "Empty tree" + } +} From efa2f4856c6e80ccd36e8de11f3fb279974d9e3e Mon Sep 17 00:00:00 2001 From: barbara Date: Sun, 5 Mar 2017 19:23:43 +0100 Subject: [PATCH 009/713] Tests for max, min, search, insert and remove --- Splay Tree/Tests/SplayTreeTests.swift | 52 ++++++++++++++++++++------- 1 file changed, 40 insertions(+), 12 deletions(-) diff --git a/Splay Tree/Tests/SplayTreeTests.swift b/Splay Tree/Tests/SplayTreeTests.swift index 042344193..0209f8afe 100644 --- a/Splay Tree/Tests/SplayTreeTests.swift +++ b/Splay Tree/Tests/SplayTreeTests.swift @@ -2,30 +2,58 @@ import XCTest class SplayTreeTests: XCTestCase { - var tree: SplayTree! var tree1: SplayTree! + var tree2: SplayTree! override func setUp() { super.setUp() - tree = SplayTree(value: 1) - tree1 = tree.insert(value: 10)?.insert(value: 20)?.insert(value: 3)?.insert(value: 6)?.insert(value: 100)?.insert(value: 44) + tree1 = SplayTree(value: 1) + + tree2 = SplayTree(value: 1) + tree2.insert(value: 10) + tree2.insert(value: 20) + tree2.insert(value: 3) + tree2.insert(value: 6) + tree2.insert(value: 100) + tree2.insert(value: 44) } func testInsertion() { - let tree1 = tree.insert(value: 10) - assert(tree1?.root?.value == 10) + tree1.insert(value: 10) + assert(tree1.value == 10) - let tree2 = tree1!.insert(value: 2) - assert(tree2?.root?.value == 2) + tree2.insert(value: 2) + assert(tree2.root?.value == 2) } - func testSearchNonExisting() { - print(tree1) - let tree2 = tree1.search(value: 5) - assert(tree2?.root?.value == 10) - + let t = tree2.search(value: 5) + assert(t?.value == 10) + } + + func testSearchExisting() { + let t = tree2.search(value: 6) + assert(t?.value == 6) + } + + func testDeleteExistingOnlyLeftChild() { + tree2.remove(value: 3) + assert(tree2.value == 6) + } + + func testDeleteExistingOnly2Children() { + tree2.remove(value: 6) + assert(tree2.value == 20) } + func testMinimum() { + let v = tree2.minimum() + assert(v?.value == 1) + } + + func testMaximum() { + let v = tree2.maximum() + assert(v?.value == 100) + } } From c27fdde75dc064f55ea7dfdcd5c7d0d4a44aaea6 Mon Sep 17 00:00:00 2001 From: barbara Date: Sun, 5 Mar 2017 19:24:22 +0100 Subject: [PATCH 010/713] Replacing SplayTree implementation inside Playground --- .../Sources/SplayTree.swift | 398 +++++++++++------- 1 file changed, 255 insertions(+), 143 deletions(-) diff --git a/Splay Tree/SplayTree.playground/Sources/SplayTree.swift b/Splay Tree/SplayTree.playground/Sources/SplayTree.swift index f0c45e831..f50af7349 100644 --- a/Splay Tree/SplayTree.playground/Sources/SplayTree.swift +++ b/Splay Tree/SplayTree.playground/Sources/SplayTree.swift @@ -28,7 +28,7 @@ public enum SplayOperation { - Parameters: - node SplayTree node to move up to the root */ - public static func splay(node: SplayTree) { + public static func splay(node: Node) { while (node.parent != nil) { operation(forNode: node).apply(onNode: node) @@ -44,10 +44,10 @@ public enum SplayOperation { - Returns - Operation Case zigZag - zigZig - zig */ - private static func operation(forNode node: SplayTree) -> SplayOperation { + public static func operation(forNode node: Node) -> SplayOperation { - if let parent = node.parent, let grandParent = parent.parent { - if (node.isLeftChild && grandParent.isRightChild) || (node.isRightChild && grandParent.isLeftChild) { + if let parent = node.parent, let _ = parent.parent { + if (node.isLeftChild && parent.isRightChild) || (node.isRightChild && parent.isLeftChild) { return .zigZag } return .zigZig @@ -62,7 +62,7 @@ public enum SplayOperation { - Parameters: - onNode Node to splay up. Should be alwayas the node that needs to be splayed, neither its parent neither it's grandparent */ - private func apply(onNode node: SplayTree) { + public func apply(onNode node: Node) { switch self { case .zigZag: assert(node.parent != nil && node.parent!.parent != nil, "Should be at least 2 nodes up in the tree") @@ -84,49 +84,66 @@ public enum SplayOperation { Performs a single rotation from a node to its parent re-arranging the children properly */ - private func rotate(child: SplayTree, parent: SplayTree) { + public func rotate(child: Node, parent: Node) { assert(child.parent != nil && child.parent!.value == parent.value, "Parent and child.parent should match here") - var grandchildToMode: SplayTree? + var grandchildToMode: Node? + if child.isLeftChild { grandchildToMode = child.right - child.right = parent parent.left = grandchildToMode - + grandchildToMode?.parent = parent + + let grandParent = parent.parent + child.parent = grandParent + + if parent.isLeftChild { + grandParent?.left = child + } else { + grandParent?.right = child + } + + child.right = parent + parent.parent = child + + } else { grandchildToMode = child.left - child.left = parent parent.right = grandchildToMode + grandchildToMode?.parent = parent + + let grandParent = parent.parent + child.parent = grandParent + + if parent.isLeftChild { + grandParent?.left = child + } else { + grandParent?.right = child + } + + child.left = parent + parent.parent = child + } + - let grandParent = parent.parent - parent.parent = child - child.parent = grandParent } } -public class SplayTree { +public class Node { - fileprivate(set) public var value: T - fileprivate(set) public var parent: SplayTree? - fileprivate(set) public var left: SplayTree? - fileprivate(set) public var right: SplayTree? + fileprivate(set) public var value: T? + fileprivate(set) public var parent: Node? + fileprivate(set) public var left: Node? + fileprivate(set) public var right: Node? - public init(value: T) { + init(value: T) { self.value = value } - public convenience init(array: [T]) { - precondition(array.count > 0) - self.init(value: array.first!) - for v in array.dropFirst() { - insert(value: v) - } - } - public var isRoot: Bool { return parent == nil } @@ -165,114 +182,186 @@ public class SplayTree { } } +public class SplayTree { + + internal var root: Node? + + var value: T? { + return root?.value + } + + //MARK: - Initializer + + public init(value: T) { + self.root = Node(value:value) + } + + public func insert(value: T) { + root = root?.insert(value: value) + } + + public func remove(value: T) { + root = root?.remove(value: value) + } + + public func search(value: T) -> Node? { + root = root?.search(value: value) + return root + } + + public func minimum() -> Node? { + root = root?.minimum(splayed: true) + return root + } + + public func maximum() -> Node? { + root = root?.maximum(splayed: true) + return root + } + +} + // MARK: - Adding items -extension SplayTree { +extension Node { /* - Inserts a new element into the tree. You should only insert elements - at the root, to make to sure this remains a valid binary tree! - Performance: runs in O(h) time, where h is the height of the tree. + Inserts a new element into the node tree. + + - Parameters: + - value T value to be inserted. Will be splayed to the root position + + - Returns: + - Node inserted */ - public func insert(value: T) { - if value < self.value { - if let left = left { - left.insert(value: value) - } else { - - left = SplayTree(value: value) - left?.parent = self - + public func insert(value: T) -> Node { + if let selfValue = self.value { + if value < selfValue { if let left = left { - SplayOperation.splay(node: left) - self.parent = nil - self.value = left.value - self.left = left.left - self.right = left.right + return left.insert(value: value) + } else { + + left = Node(value: value) + left?.parent = self + + if let left = left { + SplayOperation.splay(node: left) + return left + } } - } - } else { - - if let right = right { - right.insert(value: value) } else { - right = SplayTree(value: value) - right?.parent = self - if let right = right { - SplayOperation.splay(node: right) - self.parent = nil - self.value = right.value - self.left = right.left - self.right = right.right + return right.insert(value: value) + } else { + + right = Node(value: value) + right?.parent = self + + if let right = right { + SplayOperation.splay(node: right) + return right + } } } } + return self } } // MARK: - Deleting items -extension SplayTree { +extension Node { + /* - Deletes a node from the tree. - Returns the node that has replaced this removed one (or nil if this was a - leaf node). That is primarily useful for when you delete the root node, in - which case the tree gets a new root. - Performance: runs in O(h) time, where h is the height of the tree. + Deletes the given node from the nodes tree. + Return the new tree generated by the removal. + The removed node (not necessarily the one containing the value), will be splayed to the root. + + - Parameters: + - value To be removed + + - Returns: + - Node Resulting from the deletion and the splaying of the removed node + */ - @discardableResult public func remove() -> SplayTree? { - let replacement: SplayTree? + public func remove(value: T) -> Node? { + let replacement: Node? - if let left = left { - if let right = right { - replacement = removeNodeWithTwoChildren(left, right) + if let v = self.value, v == value { + + var parentToSplay: Node? + if let left = left { + if let right = right { + + replacement = removeNodeWithTwoChildren(left, right) + + if let replacement = replacement, + let replacementParent = replacement.parent, + replacementParent.value != self.value { + + parentToSplay = replacement.parent + + } else { + parentToSplay = self.parent + } + + } else { + // This node only has a left child. The left child replaces the node. + replacement = left + parentToSplay = parent + } + } else if let right = right { + // This node only has a right child. The right child replaces the node. + replacement = right + parentToSplay = parent } else { - // This node only has a left child. The left child replaces the node. - replacement = left + // This node has no children. We just disconnect it from its parent. + replacement = nil + parentToSplay = parent } - } else if let right = right { - // This node only has a right child. The right child replaces the node. - replacement = right - } else { - // This node has no children. We just disconnect it from its parent. - replacement = nil - } + + reconnectParentTo(node: replacement) + + // performs the splay operation + if let parentToSplay = parentToSplay { + SplayOperation.splay(node: parentToSplay) + } + + // The current node is no longer part of the tree, so clean it up. + parent = nil + left = nil + right = nil - // Save the parent to splay before reconnecting - var parentToSplay: SplayTree? - if let replacement = replacement { - parentToSplay = replacement.parent + return parentToSplay + + } else if let v = self.value, value < v { + if left != nil { + return left!.remove(value: value) + } else { + let node = self + SplayOperation.splay(node: node) + return node + + } } else { - parentToSplay = self.parent - } - - reconnectParentTo(node: replacement) - - // performs the splay operation - if let parentToSplay = parentToSplay { - SplayOperation.splay(node: parentToSplay) + if right != nil { + return right?.remove(value: value) + } else { + let node = self + SplayOperation.splay(node: node) + return node + + } } - - // The current node is no longer part of the tree, so clean it up. - parent = nil - left = nil - right = nil - - return replacement } - private func removeNodeWithTwoChildren(_ left: SplayTree, _ right: SplayTree) -> SplayTree { + private func removeNodeWithTwoChildren(_ left: Node, _ right: Node) -> Node { // This node has two children. It must be replaced by the smallest // child that is larger than this node's value, which is the leftmost // descendent of the right child. let successor = right.minimum() - // If this in-order successor has a right child of its own (it cannot - // have a left child by definition), then that must take its place. - successor.remove() - // Connect our left child with the new node. successor.left = left left.parent = successor @@ -291,7 +380,7 @@ extension SplayTree { return successor } - private func reconnectParentTo(node: SplayTree?) { + private func reconnectParentTo(node: Node?) { if let parent = parent { if isLeftChild { parent.left = node @@ -305,31 +394,33 @@ extension SplayTree { // MARK: - Searching -extension SplayTree { +extension Node { /* Finds the "highest" node with the specified value. Performance: runs in O(h) time, where h is the height of the tree. */ - public func search(value: T) -> SplayTree? { - var node: SplayTree? = self - while case let n? = node { - if value < n.value { + public func search(value: T) -> Node? { + var node: Node? = self + var nodeParent: Node? = self + while case let n? = node, n.value != nil { + if value < n.value! { + if n.left != nil { nodeParent = n.left } node = n.left - } else if value > n.value { + } else if value > n.value! { node = n.right + if n.right != nil { nodeParent = n.right } } else { - - if let node = node { - SplayOperation.splay(node: node) - } - - return node + break } } if let node = node { SplayOperation.splay(node: node) + return node + } else if let nodeParent = nodeParent { + SplayOperation.splay(node: nodeParent) + return nodeParent } return nil @@ -342,27 +433,31 @@ extension SplayTree { /* Returns the leftmost descendent. O(h) time. */ - public func minimum() -> SplayTree { + public func minimum(splayed: Bool = false) -> Node { var node = self while case let next? = node.left { node = next } - SplayOperation.splay(node: node) - + if splayed == true { + SplayOperation.splay(node: node) + } + return node } /* Returns the rightmost descendent. O(h) time. */ - public func maximum() -> SplayTree { + public func maximum(splayed: Bool = false) -> Node { var node = self while case let next? = node.right { node = next } - SplayOperation.splay(node: node) + if splayed == true { + SplayOperation.splay(node: node) + } return node } @@ -396,13 +491,13 @@ extension SplayTree { /* Finds the node whose value precedes our value in sorted order. */ - public func predecessor() -> SplayTree? { + public func predecessor() -> Node? { if let left = left { return left.maximum() } else { var node = self - while case let parent? = node.parent { - if parent.value < value { return parent } + while case let parent? = node.parent, parent.value != nil, value != nil { + if parent.value! < value! { return parent } node = parent } return nil @@ -412,13 +507,13 @@ extension SplayTree { /* Finds the node whose value succeeds our value in sorted order. */ - public func successor() -> SplayTree? { + public func successor() -> Node? { if let right = right { return right.minimum() } else { var node = self - while case let parent? = node.parent { - if parent.value > value { return parent } + while case let parent? = node.parent, parent.value != nil , value != nil { + if parent.value! > value! { return parent } node = parent } return nil @@ -427,16 +522,16 @@ extension SplayTree { } // MARK: - Traversal -extension SplayTree { +extension Node { public func traverseInOrder(process: (T) -> Void) { left?.traverseInOrder(process: process) - process(value) + process(value!) right?.traverseInOrder(process: process) } public func traversePreOrder(process: (T) -> Void) { - process(value) + process(value!) left?.traversePreOrder(process: process) right?.traversePreOrder(process: process) } @@ -444,7 +539,7 @@ extension SplayTree { public func traversePostOrder(process: (T) -> Void) { left?.traversePostOrder(process: process) right?.traversePostOrder(process: process) - process(value) + process(value!) } /* @@ -453,7 +548,7 @@ extension SplayTree { public func map(formula: (T) -> T) -> [T] { var a = [T]() if let left = left { a += left.map(formula: formula) } - a.append(formula(value)) + a.append(formula(value!)) if let right = right { a += right.map(formula: formula) } return a } @@ -462,37 +557,48 @@ extension SplayTree { /* Is this binary tree a valid binary search tree? */ -extension SplayTree { +extension Node { public func isBST(minValue: T, maxValue: T) -> Bool { - if value < minValue || value > maxValue { return false } - let leftBST = left?.isBST(minValue: minValue, maxValue: value) ?? true - let rightBST = right?.isBST(minValue: value, maxValue: maxValue) ?? true - return leftBST && rightBST + if let value = value { + if value < minValue || value > maxValue { return false } + let leftBST = left?.isBST(minValue: minValue, maxValue: value) ?? true + let rightBST = right?.isBST(minValue: value, maxValue: maxValue) ?? true + return leftBST && rightBST + } + return false } } // MARK: - Debugging -extension SplayTree: CustomStringConvertible { +extension Node: CustomStringConvertible { public var description: String { var s = "" if let left = left { - s += "(\(left.description)) <- " + s += "left: (\(left.description)) <- " + } + if let v = value { + s += "\(v)" } - s += "\(value)" if let right = right { - s += " -> (\(right.description))" + s += " -> (right: \(right.description))" } return s } } -extension SplayTree: CustomDebugStringConvertible { +extension SplayTree: CustomStringConvertible { + public var description: String { + return root?.description ?? "Empty tree" + } +} + +extension Node: CustomDebugStringConvertible { public var debugDescription: String { var s = "value: \(value)" - if let parent = parent { - s += ", parent: \(parent.value)" + if let parent = parent, let v = parent.value { + s += ", parent: \(v)" } if let left = left { s += ", left = [" + left.debugDescription + "]" @@ -507,3 +613,9 @@ extension SplayTree: CustomDebugStringConvertible { return map { $0 } } } + +extension SplayTree: CustomDebugStringConvertible { + public var debugDescription: String { + return root?.debugDescription ?? "Empty tree" + } +} From 4aaec9d94b5b6a5c75b07c35fd0e4def6830ac44 Mon Sep 17 00:00:00 2001 From: barbara Date: Sun, 5 Mar 2017 19:38:15 +0100 Subject: [PATCH 011/713] Test for root removal and multiple operations executed --- Splay Tree/Tests/SplayTreeTests.swift | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/Splay Tree/Tests/SplayTreeTests.swift b/Splay Tree/Tests/SplayTreeTests.swift index 0209f8afe..01201a108 100644 --- a/Splay Tree/Tests/SplayTreeTests.swift +++ b/Splay Tree/Tests/SplayTreeTests.swift @@ -46,6 +46,11 @@ class SplayTreeTests: XCTestCase { assert(tree2.value == 20) } + func testDeleteRoot() { + tree2.remove(value: 44) + assert(tree2.value == 100) + } + func testMinimum() { let v = tree2.minimum() assert(v?.value == 1) @@ -56,4 +61,16 @@ class SplayTreeTests: XCTestCase { assert(v?.value == 100) } + func testInsertionRemovals() { + let splayTree = SplayTree(value: 1) + splayTree.insert(value: 2) + splayTree.insert(value: 10) + splayTree.insert(value: 6) + + splayTree.remove(value: 10) + splayTree.remove(value: 6) + + assert(splayTree.value == 2) + } + } From 9da711ddf62bdc9b77d73ad64da8285a94f2b4cc Mon Sep 17 00:00:00 2001 From: barbara Date: Sun, 5 Mar 2017 19:38:47 +0100 Subject: [PATCH 012/713] Fixes for root removal & insertions with nil root --- .../Sources/SplayTree.swift | 106 ++++++++++-------- Splay Tree/SplayTree.swift | 22 +++- 2 files changed, 78 insertions(+), 50 deletions(-) diff --git a/Splay Tree/SplayTree.playground/Sources/SplayTree.swift b/Splay Tree/SplayTree.playground/Sources/SplayTree.swift index f50af7349..a4feda7ef 100644 --- a/Splay Tree/SplayTree.playground/Sources/SplayTree.swift +++ b/Splay Tree/SplayTree.playground/Sources/SplayTree.swift @@ -1,5 +1,5 @@ /* - * Splay Tree + * Splay Tree * * Based on Binary Search Tree Implementation written by Nicolas Ameghino and Matthijs Hollemans for Swift Algorithms Club * https://github.com/raywenderlich/swift-algorithm-club/blob/master/Binary%20Search%20Tree @@ -8,12 +8,12 @@ */ /** - Represent the 3 possible operations (combinations of rotations) that - could be performed during the Splay phase in Splay Trees + Represent the 3 possible operations (combinations of rotations) that + could be performed during the Splay phase in Splay Trees - - zigZag Left child of a right child OR right child of a left child - - zigZig Left child of a left child OR right child of a right child - - zig Only 1 parent and that parent is the root + - zigZag Left child of a right child OR right child of a left child + - zigZig Left child of a left child OR right child of a right child + - zig Only 1 parent and that parent is the root */ public enum SplayOperation { @@ -23,10 +23,10 @@ public enum SplayOperation { /** - Splay the given node up to the root of the tree + Splay the given node up to the root of the tree - - Parameters: - - node SplayTree node to move up to the root + - Parameters: + - node SplayTree node to move up to the root */ public static func splay(node: Node) { @@ -36,13 +36,13 @@ public enum SplayOperation { } /** - Compares the node and its parent and determine - if the rotations should be performed in a zigZag, zigZig or zig case. + Compares the node and its parent and determine + if the rotations should be performed in a zigZag, zigZig or zig case. - - Parmeters: - - forNode SplayTree node to be checked - - Returns - - Operation Case zigZag - zigZig - zig + - Parmeters: + - forNode SplayTree node to be checked + - Returns + - Operation Case zigZag - zigZig - zig */ public static func operation(forNode node: Node) -> SplayOperation { @@ -56,11 +56,11 @@ public enum SplayOperation { } /** - Applies the rotation associated to the case - Modifying the splay tree and briging the received node further to the top of the tree + Applies the rotation associated to the case + Modifying the splay tree and briging the received node further to the top of the tree - - Parameters: - - onNode Node to splay up. Should be alwayas the node that needs to be splayed, neither its parent neither it's grandparent + - Parameters: + - onNode Node to splay up. Should be alwayas the node that needs to be splayed, neither its parent neither it's grandparent */ public func apply(onNode node: Node) { switch self { @@ -68,12 +68,12 @@ public enum SplayOperation { assert(node.parent != nil && node.parent!.parent != nil, "Should be at least 2 nodes up in the tree") rotate(child: node, parent: node.parent!) rotate(child: node, parent: node.parent!) - + case .zigZig: assert(node.parent != nil && node.parent!.parent != nil, "Should be at least 2 nodes up in the tree") rotate(child: node.parent!, parent: node.parent!.parent!) rotate(child: node, parent: node.parent!) - + case .zig: assert(node.parent != nil && node.parent!.parent == nil, "There should be a parent which is the root") rotate(child: node, parent: node.parent!) @@ -81,8 +81,8 @@ public enum SplayOperation { } /** - Performs a single rotation from a node to its parent - re-arranging the children properly + Performs a single rotation from a node to its parent + re-arranging the children properly */ public func rotate(child: Node, parent: Node) { @@ -95,41 +95,41 @@ public enum SplayOperation { grandchildToMode = child.right parent.left = grandchildToMode grandchildToMode?.parent = parent - + let grandParent = parent.parent child.parent = grandParent - + if parent.isLeftChild { grandParent?.left = child } else { grandParent?.right = child } - + child.right = parent parent.parent = child - - + + } else { grandchildToMode = child.left parent.right = grandchildToMode grandchildToMode?.parent = parent - + let grandParent = parent.parent child.parent = grandParent - + if parent.isLeftChild { grandParent?.left = child } else { grandParent?.right = child } - + child.left = parent parent.parent = child - + } - + } } @@ -183,13 +183,13 @@ public class Node { } public class SplayTree { - + internal var root: Node? var value: T? { return root?.value } - + //MARK: - Initializer public init(value: T) { @@ -197,13 +197,17 @@ public class SplayTree { } public func insert(value: T) { - root = root?.insert(value: value) + if let root = root { + self.root = root.insert(value: value) + } else { + root = Node(value: value) + } } public func remove(value: T) { root = root?.remove(value: value) } - + public func search(value: T) -> Node? { root = root?.search(value: value) return root @@ -229,10 +233,10 @@ extension Node { Inserts a new element into the node tree. - Parameters: - - value T value to be inserted. Will be splayed to the root position + - value T value to be inserted. Will be splayed to the root position - Returns: - - Node inserted + - Node inserted */ public func insert(value: T) -> Node { if let selfValue = self.value { @@ -275,14 +279,14 @@ extension Node { /* Deletes the given node from the nodes tree. - Return the new tree generated by the removal. + Return the new tree generated by the removal. The removed node (not necessarily the one containing the value), will be splayed to the root. - Parameters: - - value To be removed + - value To be removed - Returns: - - Node Resulting from the deletion and the splaying of the removed node + - Node Resulting from the deletion and the splaying of the removed node */ public func remove(value: T) -> Node? { @@ -302,19 +306,29 @@ extension Node { parentToSplay = replacement.parent - } else { + } else if self.parent != nil { parentToSplay = self.parent + } else { + parentToSplay = replacement } } else { // This node only has a left child. The left child replaces the node. replacement = left - parentToSplay = parent + if self.parent != nil { + parentToSplay = self.parent + } else { + parentToSplay = replacement + } } } else if let right = right { // This node only has a right child. The right child replaces the node. replacement = right - parentToSplay = parent + if self.parent != nil { + parentToSplay = self.parent + } else { + parentToSplay = replacement + } } else { // This node has no children. We just disconnect it from its parent. replacement = nil @@ -332,7 +346,7 @@ extension Node { parent = nil left = nil right = nil - + return parentToSplay } else if let v = self.value, value < v { diff --git a/Splay Tree/SplayTree.swift b/Splay Tree/SplayTree.swift index f50af7349..a7b20743d 100644 --- a/Splay Tree/SplayTree.swift +++ b/Splay Tree/SplayTree.swift @@ -197,7 +197,11 @@ public class SplayTree { } public func insert(value: T) { - root = root?.insert(value: value) + if let root = root { + self.root = root.insert(value: value) + } else { + root = Node(value: value) + } } public func remove(value: T) { @@ -302,19 +306,29 @@ extension Node { parentToSplay = replacement.parent - } else { + } else if self.parent != nil { parentToSplay = self.parent + } else { + parentToSplay = replacement } } else { // This node only has a left child. The left child replaces the node. replacement = left - parentToSplay = parent + if self.parent != nil { + parentToSplay = self.parent + } else { + parentToSplay = replacement + } } } else if let right = right { // This node only has a right child. The right child replaces the node. replacement = right - parentToSplay = parent + if self.parent != nil { + parentToSplay = self.parent + } else { + parentToSplay = replacement + } } else { // This node has no children. We just disconnect it from its parent. replacement = nil From ecba738935641768526277d908153adc3f9d8ca6 Mon Sep 17 00:00:00 2001 From: barbara Date: Sun, 5 Mar 2017 19:38:55 +0100 Subject: [PATCH 013/713] Playground Splay Tree --- .../SplayTree.playground/Contents.swift | 24 ++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/Splay Tree/SplayTree.playground/Contents.swift b/Splay Tree/SplayTree.playground/Contents.swift index 951ad4c5c..4406a759d 100644 --- a/Splay Tree/SplayTree.playground/Contents.swift +++ b/Splay Tree/SplayTree.playground/Contents.swift @@ -1,7 +1,29 @@ //: Playground - Splay Tree Implementation -let splayTree = SplayTree(array: [1]) +let splayTree = SplayTree(value: 1) splayTree.insert(value: 2) splayTree.insert(value: 10) splayTree.insert(value: 6) + +splayTree.remove(value: 10) +splayTree.remove(value: 6) + +splayTree.insert(value: 55) +splayTree.insert(value: 559) +splayTree.remove(value: 2) +splayTree.remove(value: 1) +splayTree.remove(value: 55) +splayTree.remove(value: 559) + +splayTree.insert(value: 1843000) +splayTree.insert(value: 1238) +splayTree.insert(value: -1) +splayTree.insert(value: 87) + +splayTree.minimum() +splayTree.maximum() + + + + From 1c43c804633f9fd36e67f9988d17e8402ac258d8 Mon Sep 17 00:00:00 2001 From: Arkalyk Akash Date: Mon, 13 Mar 2017 17:00:42 +0600 Subject: [PATCH 014/713] Egg Drop Dynamic Problem Added --- Egg Drop Problem/EggDrop.swift | 31 +++++++++++++++++++ .../contents.xcworkspacedata | 7 +++++ 2 files changed, 38 insertions(+) create mode 100644 Egg Drop Problem/EggDrop.swift diff --git a/Egg Drop Problem/EggDrop.swift b/Egg Drop Problem/EggDrop.swift new file mode 100644 index 000000000..6d0aab2a1 --- /dev/null +++ b/Egg Drop Problem/EggDrop.swift @@ -0,0 +1,31 @@ +func eggDrop(_ numberOfEggs: Int, numberOfFloors: Int) -> Int { + var eggFloor: [[Int]] = [] //egg(rows) floor(cols) array to store the solutions + var attempts: Int = 0 + + for var i in (0.. k-1 + //case 2: egg doesn't break. meaning we'll still have 'i' number of eggs, and we'll go upstairs -> j-k + attempts = 1 + max(eggFloor[i-1][k-1], eggFloor[i][j-k])//we add one taking into account the attempt we're taking at the moment + + if attempts < eggFloor[i][j]{ //finding the min + eggFloor[i][j] = attempts; + } + } + } + } + + return eggFloor[numberOfEggs][numberOfFloors] +} + +func max(_ x1: Int, _ x2: Int){ + return x1 > x2 ? x1 : x2 +} diff --git a/swift-algorithm-club.xcworkspace/contents.xcworkspacedata b/swift-algorithm-club.xcworkspace/contents.xcworkspacedata index b2ffce836..5ac8577f5 100644 --- a/swift-algorithm-club.xcworkspace/contents.xcworkspacedata +++ b/swift-algorithm-club.xcworkspace/contents.xcworkspacedata @@ -1,6 +1,13 @@ + + + + From 162c3453bab7fa216cd3f11a9a45488ce9515c5c Mon Sep 17 00:00:00 2001 From: Ute Schiehlen Date: Tue, 21 Mar 2017 11:21:59 +0100 Subject: [PATCH 015/713] Exchanged old red-black tree implementation with new one, also updated redmea --- Red-Black Tree/README.markdown | 259 +++--- .../RedBlackTree.playground/Contents.swift | 22 + .../Sources/RedBlackTree.swift | 740 ++++++++++++++++++ .../contents.xcplayground | 4 + 4 files changed, 930 insertions(+), 95 deletions(-) create mode 100644 Red-Black Tree/RedBlackTree.playground/Contents.swift create mode 100644 Red-Black Tree/RedBlackTree.playground/Sources/RedBlackTree.swift create mode 100644 Red-Black Tree/RedBlackTree.playground/contents.xcplayground diff --git a/Red-Black Tree/README.markdown b/Red-Black Tree/README.markdown index 05993f016..74fffa415 100644 --- a/Red-Black Tree/README.markdown +++ b/Red-Black Tree/README.markdown @@ -1,120 +1,189 @@ # Red-Black Tree -A Red-Black tree is a special version of a [Binary Search Tree](https://github.com/raywenderlich/swift-algorithm-club/tree/master/Binary%20Search%20Tree). Binary search trees(BSTs) can become unbalanced after a lot of insertions/deletions. The only difference between a node from a BST and a Red-Black Tree(RBT) is that RBT nodes have a color property added to them which can either be red or black. A RBT rebalances itself by making sure the following properties hold: +A red-black tree (RBT) is a balanced version of a [Binary Search Tree](https://github.com/raywenderlich/swift-algorithm-club/tree/master/Binary%20Search%20Tree) guaranteeing that the basic operations (search, predecessor, successor, minimum, maximum, insert and delete) have a logarithmic worst case performance. -## Properties -1. A node is either red or black -2. The root is always black -3. All leaves are black -4. If a node is red, both of its children are black -5. Every path to a leaf contains the same number of black nodes (The amount of black nodes met when going down a RBT is called the black-depth of the tree.) - -## Methods -* `insert(_ value: T)` inserts the value into the tree -* `insert(_ values: [T])` inserts an array of values into the tree -* `delete(_ value: T)` deletes the value from the tree -* `find(_ value: T) -> RBTNode` looks for a node in the tree with given value and returns it -* `minimum(n: RBTNode) -> RBTNode` looks for the maximum value of a subtree starting at the given node -* `maximum(n: RBTNode) -> RBTNode` looks for the minimum value of a subtree starting at the given node -* `func verify()` verifies if the tree is still valid. Prints warning messages if this is not the case - -## Rotation +Binary search trees (BSTs) have the disadvantage that they can become unbalanced after some insert or delete operations. In the worst case, this could lead to a tree where the nodes build a linked list as shown in the following example: -In order to rebalance their nodes RBTs use an operation known as rotation. You can either left or right rotate a node and its child. Rotating a node and its child swaps the nodes and interchanges their subtrees. Left rotation swaps the parent node with its right child. while right rotation swaps the parent node with its left child. - -Left rotation: -``` -before left rotating p after left rotating p - p b - / \ / \ - a b -> p n - / \ / \ / \ -n n n n a n - / \ - n n -``` -Right rotation: ``` -before right rotating p after right rotating p - p a - / \ / \ - a b -> n p - / \ / \ / \ -n n n n n b - / \ - n n +a + \ + b + \ + c + \ + d ``` +To prevent this issue, RBTs perform rebalancing operations after an insert or delete and store an additional color property at each node which can either be red or black. After each operation a RBT satisfies the following properties: -## Insertion - -We create a new node with the value to be inserted into the tree. The color of this new node is always red. -We perform a standard BST insert with this node. Now the three might not be a valid RBT anymore. -We now go through several insertion steps in order to make the tree valid again. We call the just inserted node n. - -**Step 1**: We check if n is the rootNode, if so we paint it black and we are done. If not we go to Step 2. - -We now know that n at least has a parent as it is not the rootNode. - -**Step 2**: We check if the parent of n is black if so we are done. If not we go to Step 3. - -We now know the parent is also not the root node as the parent is red. Thus n also has a grandparent and thus also an uncle as every node has two children. This uncle may however be a nullLeaf - -**Step 3**: We check if n's uncle is red. If not we go to Step 4. If n's uncle is indeed red we recolor uncle and parent to black and n's grandparent to red. We now go back to step 1 performing the same logic on n's grandparent. - -From here there are four cases: -- **The left left case.** n's parent is the left child of its parent and n is the left child of its parent. -- **The left right case** n's parent is the left child of its parent and n is the right child of its parent. -- **The right right case** n's parent is the right child of its parent and n is the right child of its parent. -- **The right left case** n's parent is the right child of its parent and n is the left child of its parent. - -**Step 4**: checks if either the **left right** case or the **right left** case applies to the current situation. - - If we find the **left right case**, we left rotate n's parent and go to Step 5 while setting n to n's parent. (This transforms the **left right** case into the **left left** case) - - If we find the **right left case**, we right rotate n's parent and go to Step 5 while setting n to n's parent. (This transforms the **right left** case into the **right right** case) - - If we find neither of these two we proceed to Step 5. +## Properties -n's parent is now red, while n's grandparent is black. +1. Every node is either red or black +2. The root is black +3. Every leaf (nullLeaf) is black +4. If a node is red, then both its children are black +5. For each node, all paths from the node to descendant leaves contain the same number of black nodes -**Step 5**: We swap the colors of n's parent and grandparent. - - We either right rotate n's grandparent in case of the **left left** case - - Or we left rotate n's grandparent in case of the **right right** case +Property 5 includes the definition of the black-height of a node x, bh(x), which is the number of black nodes on a path from this node down to a leaf not counting the node itself. +From [CLRS] -Reaching the end we have successfully made the tree valid again. +## Methods -# Deletion +Nodes: +* `nodeX.getSuccessor()` Returns the inorder successor of nodeX +* `nodeX.minimum()` Returns the node with the minimum key of the subtree of nodeX +* `nodeX.maximum()` Returns the node with the maximum key of the subtree of nodeX +Tree: +* `search(input:)` Returns the node with the given key value +* `minValue()` Returns the minimum key value of the whole tree +* `maxValue()` Returns the maximum key value of the whole tree +* `insert(key:)` Inserts the key value into the tree +* `delete(key:)` Delete the node with the respective key value from the tree +* `verify()` Verifies that the given tree fulfills the red-black tree properties -Deletion is a little more complicated than insertion. In the following we call del the node to be deleted. -First we try and find the node to be deleted using find() -we send the result of find to del. -We now go through the following steps in order to delete the node del. +The rotation, insertion and deletion algorithms are implemented based on the pseudo-code provided in [CLRS] -First we do a few checks: -- Is del the rootNode if so set the root to a nullLeaf and we are done. -- If del has 2 nullLeaf children and is red. We check if del is either a left or a right child and set del's parent left or right to a nullLeaf. -- If del has two non nullLeaf children we look for the maximum value in del's left subtree. We set del's value to this maximum value and continue to instead delete this maximum node. Which we will now call del. +## Implementation Details -Because of these checks we now know that del has at most 1 non nullLeaf child. It has either two nullLeaf children or one nullLeaf and one regular red child. (The child is red otherwise the black-depth wouldn't be the same for every leaf) +For convenience, all nil-pointers to children or the parent (except the parent of the root) of a node are exchanged with a nullLeaf. This is an ordinary node object, like all other nodes in the tree, but with a black color, and in this case a nil value for its children, parent and key. Therefore, an empty tree consists of exactly one nullLeaf at the root. -We now call the non nullLeaf child of del, child. If del has two nullLeaf children child will be a nullLeaf. This means child can either be a nullLeaf or a red node. +## Rotation -We now have three options +Left rotation (around x): +Assumes that x.rightChild y is not a nullLeaf, rotates around the link from x to y, makes y the new root of the subtree with x as y's left child and y's left child as x's right child, where n = a node, [n] = a subtree +``` + | | + x y + / \ ~> / \ + [A] y x [C] + / \ / \ + [B] [C] [A] [B] +``` +Right rotation (around y): +Assumes that y.leftChild x is not a nullLeaf, rotates around the link from y to x, makes x the new root of the subtree with y as x's right child and x's right child as y's left child, where n = a node, [n] = a subtree +``` + | | + x y + / \ <~ / \ + [A] y x [C] + / \ / \ + [B] [C] [A] [B] +``` +As rotation is a local operation only exchanging pointers it's runtime is O(1). -- If del is red its child is a nullLeaf and we can just delete it as it doesn't change the black-depth of the tree. We are done +## Insertion -- If child is red we recolor it black and child's parent to del's parent. del is now deleted and we are done. +We create a node with the given key and set its color to red. Then we insert it into the the tree by performing a standard insert into a BST. After this, the tree might not be a valid RBT anymore, so we fix the red-black properties by calling the insertFixup algorithm. +The only violation of the red-black properties occurs at the inserted node z and its parent. Either both are red, or the parent does not exist (so there is a violation since the root must be black). +We have three distinct cases: +**Case 1:** The uncle of z is red. If z.parent is left child, z's uncle is z.grandparent's right child. If this is the case, we recolor and move z to z.grandparent, then we check again for this new z. In the following cases, we denote a red node with (x) and a black node with {x}, p = parent, gp = grandparent and u = uncle +``` + | | + {gp} (newZ) + / \ ~> / \ + (p) (u) {p} {u} + / \ / \ / \ / \ + (z) [C] [D] [E] (z) [C] [D] [E] + / \ / \ +[A] [B] [A] [B] -- Both del and child are black we go through +``` +**Case 2a:** The uncle of z is black and z is right child. Here, we move z upwards, so z's parent is the newZ and then we rotate around this newZ. After this, we have Case 2b. +``` + | | + {gp} {gp} + / \ ~> / \ + (p) {u} (z) {u} + / \ / \ / \ / \ + [A] (z) [D] [E] (newZ) [C] [D] [E] + / \ / \ + [B] [C] [A] [B] -If both del and child are black we introduce a new variable sibling. Which is del's sibling. We also replace del with child and recolor it doubleBlack. del is now deleted and child and sibling are siblings. +``` +**Case 2b:** The uncle of z is black and z is left child. In this case, we recolor z.parent to black and z.grandparent to red. Then we rotate around z's grandparent. Afterwards we have valid red-black tree. +``` + | | + {gp} {p} + / \ ~> / \ + (p) {u} (z) (gp) + / \ / \ / \ / \ + (z) [C] [D] [E] [A] [B] [C] {u} + / \ / \ +[A] [B] [D] [E] -We now have to go through a lot of steps in order to remove this doubleBlack color. Which are hard to explain in text without just writing the full code in text. This is due the many possible combination of nodes and colors. The code is commented, but if you don't quite understand please leave me a message. Also part of the deletion is described by the final link in the Also See section. +``` +Running time of this algorithm: +* Only case 1 may repeat, but this only h/2 steps, where h is the height of the tree +* Case 2a -> Case 2b -> red-black tree +* Case 2b -> red-black tree +As we perform case 1 at most O(log n) times and all other cases at most once, we have O(log n) recolorings and at most 2 rotations. +The overall runtime of insert is O(log n). + +## Deletion + +We search for the node with the given key, and if it exists we delete it by performing a standard delete from a BST. If the deleted nodes' color was red everything is fine, otherwise red-black properties may be violated so we call the fixup procedure deleteFixup. +Violations can be that the parent and child of the deleted node x where red, so we now have two adjacent red nodes, or if we deleted the root, the root could now be red, or the black height property is violated. +We have 4 cases: We call deleteFixup on node x +**Case 1:** The sibling of x is red. The sibling is the other child of x's parent, which is not x itself. In this case, we recolor the parent of x and x.sibling then we left rotate around x's parent. In the following cases s = sibling of x, (x) = red, {x} = black, |x| = red/black. +``` + | | + {p} {s} + / \ ~> / \ + {x} (s) (p) [D] + / \ / \ / \ + [A] [B] [C] [D] {x} [C] + / \ + [A] [B] -## Also see +``` +**Case 2:** The sibling of x is black and has two black children. Here, we recolor x.sibling to red, move x upwards to x.parent and check again for this newX. +``` + | | + |p| |newX| + / \ ~> / \ + {x} {s} {x} (s) + / \ / \ / \ / \ + [A] [B] {l} {r} [A] [B] {l} {r} + / \ / \ / \ / \ + [C][D][E][F] [C][D][E][F] -* [Wikipedia](https://en.wikipedia.org/wiki/Red–black_tree) -* [GeeksforGeeks - introduction](http://www.geeksforgeeks.org/red-black-tree-set-1-introduction-2/) -* [GeeksforGeeks - insertion](http://www.geeksforgeeks.org/red-black-tree-set-2-insert/) -* [GeeksforGeeks - deletion](http://www.geeksforgeeks.org/red-black-tree-set-3-delete-2/) +``` +**Case 3:** The sibling of x is black with one black child to the right. In this case, we recolor the sibling to red and sibling.leftChild to black, then we right rotate around the sibling. After this we have case 4. +``` + | | + |p| |p| + / \ ~> / \ + {x} {s} {x} {l} + / \ / \ / \ / \ + [A] [B] (l) {r} [A] [B] [C] (s) + / \ / \ / \ + [C][D][E][F] [D]{e} + / \ + [E] [F] -Important to note is that GeeksforGeeks doesn't mention a few deletion cases that do occur. The code however does implement these. +``` +**Case 4:** The sibling of x is black with one red child to the right. Here, we recolor the sibling to the color of x.parent and x.parent and sibling.rightChild to black. Then we left rotate around x.parent. After this operation we have a valid red-black tree. Here, ||x|| denotes that x can have either color red or black, but that this can be different to |x| color. This is important, as s gets the same color as p. +``` + | | + ||p|| ||s|| + / \ ~> / \ + {x} {s} {p} {r} + / \ / \ / \ / \ + [A] [B] |l| (r) {x} |l| [E] [F] + / \ / \ / \ / \ + [C][D][E][F] [A][B][C][D] -*Written for Swift Algorithm Club by Jaap Wijnen. Updated from Ashwin Raghuraman's contribution.* +``` +Running time of this algorithm: +* Only case 2 can repeat, but this only h many times, where h is the height of the tree +* Case 1 -> case 2 -> red-black tree + Case 1 -> case 3 -> case 4 -> red-black tree + Case 1 -> case 4 -> red-black tree +* Case 3 -> case 4 -> red-black tree +* Case 4 -> red-black tree +As we perform case 2 at most O(log n) times and all other steps at most once, we have O(log n) recolorings and at most 3 rotations. +The overall runtime of delete is O(log n). + +## Resources: +[CLRS] T. Cormen, C. Leiserson, R. Rivest, and C. Stein. "Introduction to Algorithms", Third Edition. 2009 + +*Written for Swift Algorithm Club by Ute Schiehlen. Updated from Jaap Wijnen and Ashwin Raghuraman's contributions.* diff --git a/Red-Black Tree/RedBlackTree.playground/Contents.swift b/Red-Black Tree/RedBlackTree.playground/Contents.swift new file mode 100644 index 000000000..5b19f9bd1 --- /dev/null +++ b/Red-Black Tree/RedBlackTree.playground/Contents.swift @@ -0,0 +1,22 @@ +//: Playground - noun: a place where people can play +// Test for the RedBlackTree implementation provided in the Source folder of this Playground +import Foundation + +let redBlackTree = RedBlackTree() + +let randomMax = Double(0x10000000) +var values = [Double]() +for _ in 0..<1000 { + let value = Double(arc4random()) / randomMax + values.append(value) + redBlackTree.insert(key: value) +} +redBlackTree.verify() + +for _ in 0..<1000 { + let rand = arc4random_uniform(UInt32(values.count)) + let index = Int(rand) + let value = values.remove(at: index) + redBlackTree.delete(key: value) +} +redBlackTree.verify() diff --git a/Red-Black Tree/RedBlackTree.playground/Sources/RedBlackTree.swift b/Red-Black Tree/RedBlackTree.playground/Sources/RedBlackTree.swift new file mode 100644 index 000000000..057909b07 --- /dev/null +++ b/Red-Black Tree/RedBlackTree.playground/Sources/RedBlackTree.swift @@ -0,0 +1,740 @@ +// +// RedBlackTree.swift +// +// Created by Ute Schiehlen on 14.03.17. +// Copyright © 2017 Ute Schiehlen. All rights reserved. +// + +import Foundation + +private enum RBTreeColor { + case red + case black +} + +private enum rotationDirection { + case left + case right +} + +// MARK: - RBNode + +public class RBTreeNode: Equatable { + public typealias RBNode = RBTreeNode + + fileprivate var color: RBTreeColor = .black + fileprivate var key: Key? + fileprivate var isNullLeaf = true + var leftChild: RBNode? + var rightChild: RBNode? + fileprivate weak var parent: RBNode? + + public init(key: Key?, leftChild: RBNode?, rightChild: RBNode?, parent: RBNode?) { + self.key = key + self.leftChild = leftChild + self.rightChild = rightChild + self.parent = parent + + self.leftChild?.parent = self + self.rightChild?.parent = self + } + + public convenience init(key: Key?) { + self.init(key: key, leftChild: RBNode(), rightChild: RBNode(), parent: RBNode()) + self.isNullLeaf = false + } + + // For initialising the nullLeaf + public convenience init() { + self.init(key: nil, leftChild: nil, rightChild: nil, parent: nil) + self.color = .black + self.isNullLeaf = true + } + + var isRoot: Bool { + return parent == nil + } + + var isLeaf: Bool { + return rightChild == nil && leftChild == nil + } + + var isLeftCild: Bool { + return parent?.leftChild === self + } + + var isRightChild: Bool { + return parent?.rightChild === self + } + + var grandparent: RBNode? { + return parent?.parent + } + + var sibling: RBNode? { + if isLeftCild { + return parent?.rightChild + } else { + return parent?.leftChild + } + } + + var uncle: RBNode? { + return parent?.sibling + } +} + +// MARK: - RedBlackTree + +public class RedBlackTree { + public typealias RBNode = RBTreeNode + + fileprivate(set) var root: RBNode + fileprivate(set) var size = 0 + fileprivate let nullLeaf = RBNode() + + public init() { + root = nullLeaf + } +} + +// MARK: - Equatable protocol + +extension RBTreeNode { + static public func ==(lhs: RBTreeNode, rhs: RBTreeNode) -> Bool { + return lhs.key == rhs.key + } +} + +// MARK: - Finding a nodes successor + +extension RBTreeNode { + /* + * Returns the inorder successor node of a node + * The successor is a node with the next larger key value of the current node + */ + public func getSuccessor() -> RBNode? { + // If node has right child: successor min of this right tree + if let rightChild = self.rightChild { + if !rightChild.isNullLeaf { + return rightChild.minimum() + } + } + // Else go upward until node left child + var currentNode = self + var parent = currentNode.parent + while currentNode.isRightChild { + if let parent = parent { + currentNode = parent + } + parent = currentNode.parent + } + return parent + } +} + +// MARK: - Searching + +extension RBTreeNode { + /* + * Returns the node with the minimum key of the current subtree + */ + public func minimum() -> RBNode? { + if let leftChild = leftChild { + if !leftChild.isNullLeaf { + return leftChild.minimum() + } + return self + } + return self + } + + /* + * Returns the node with the maximum key of the current subtree + */ + public func maximum() -> RBNode? { + if let rightChild = rightChild { + if !rightChild.isNullLeaf { + return rightChild.maximum() + } + return self + } + return self + } +} + +extension RedBlackTree { + /* + * Returns the node with the given key |input| if existing + */ + public func search(input: Key) -> RBNode? { + return search(key: input, node: root) + } + + /* + * Returns the node with given |key| in subtree of |node| + */ + fileprivate func search(key: Key, node: RBNode?) -> RBNode? { + // If node nil -> key not found + guard let node = node else { + return nil + } + // If node is nullLeaf == semantically same as if nil + if !node.isNullLeaf { + if let nodeKey = node.key { + // Node found + if key == nodeKey { + return node + } else if key < nodeKey { + return search(key: key, node: node.leftChild) + } else { + return search(key: key, node: node.rightChild) + } + } + } + return nil + } +} + +// MARK: - Finding maximum and minimum value + +extension RedBlackTree { + /* + * Returns the minimum key value of the whole tree + */ + public func minValue() -> Key? { + if let minNode = root.minimum() { + return minNode.key + } else { + return nil + } + } + + /* + * Returns the maximum key value of the whole tree + */ + public func maxValue() -> Key? { + if let maxNode = root.maximum() { + return maxNode.key + } else { + return nil + } + } +} + +// MARK: - Inserting new nodes + +extension RedBlackTree { + /* + * Insert a node with key |key| into the tree + * 1. Perform normal insert operation as in a binary search tree + * 2. Fix red-black properties + * Runntime: O(log n) + */ + public func insert(key: Key) { + if root.isNullLeaf { + root = RBNode(key: key) + } else { + insert(input: RBNode(key: key), node: root) + } + + size += 1 + } + + /* + * Nearly identical insert operation as in a binary search tree + * Differences: All nil pointers are replaced by the nullLeaf, we color the inserted node red, + * after inserting we call insertFixup to maintain the red-black properties + */ + private func insert(input: RBNode, node: RBNode) { + guard let inputKey = input.key, let nodeKey = node.key else { + return + } + if inputKey < nodeKey { + guard let child = node.leftChild else { + addAsLeftChild(child: input, parent: node) + return + } + if child.isNullLeaf { + addAsLeftChild(child: input, parent: node) + } else { + insert(input: input, node: child) + } + } else { + guard let child = node.rightChild else { + addAsRightChild(child: input, parent: node) + return + } + if child.isNullLeaf { + addAsRightChild(child: input, parent: node) + } else { + insert(input: input, node: child) + } + } + } + + private func addAsLeftChild(child: RBNode, parent: RBNode) { + parent.leftChild = child + child.parent = parent + child.color = .red + insertFixup(node: child) + } + + private func addAsRightChild(child: RBNode, parent: RBNode) { + parent.rightChild = child + child.parent = parent + child.color = .red + insertFixup(node: child) + } + + /* + * Fixes possible violations of the red-black property after insertion + * Only violation of red-black properties occurs at inserted node |z| and z.parent + * We have 3 distinct cases: case 1, 2a and 2b + * - case 1: may repeat, but only h/2 steps, where h is the height of the tree + * - case 2a -> case 2b -> red-black tree + * - case 2b -> red-black tree + */ + private func insertFixup(node z: RBNode) { + if(!z.isNullLeaf) { + guard let parentZ = z.parent else{ + return + } + // If both |z| and his parent are red -> violation of red-black property -> need to fix it + if parentZ.color == .red { + guard let uncle = z.uncle else { + return + } + // Case 1: Uncle red -> recolor + move z + if uncle.color == .red { + parentZ.color = .black + uncle.color = .black + if let grandparentZ = parentZ.parent { + grandparentZ.color = .red + // Move z to grandparent and check again + insertFixup(node: grandparentZ) + } + } + // Case 2: Uncle black + else { + var zNew = z + // Case 2.a: z right child -> rotate + if parentZ.isLeftCild && z.isRightChild { + zNew = parentZ + leftRotate(node: zNew) + } else if parentZ.isRightChild && z.isLeftCild { + zNew = parentZ + rightRotate(node: zNew) + } + // Case 2.b: z left child -> recolor + rotate + zNew.parent?.color = .black + if let grandparentZnew = zNew.grandparent { + grandparentZnew.color = .red + if z.isLeftCild { + rightRotate(node: grandparentZnew) + } else { + leftRotate(node: grandparentZnew) + } + // We have a valid red-black-tree + } + } + } + } + root.color = .black + } +} + +// MARK: - Deleting a node +extension RedBlackTree { + /* + * Delete a node with key |key| from the tree + * 1. Perform standard delete operation as in a binary search tree + * 2. Fix red-black properties + * Runntime: O(log n) + */ + public func delete(key: Key) { + if size == 1 { + root = nullLeaf + size -= 1 + } else if let node = search(key: key, node: root) { + if !node.isNullLeaf { + delete(node: node) + size -= 1 + } + } + } + + /* + * Nearly identical delete operation as in a binary search tree + * Differences: All nil pointers are replaced by the nullLeaf, + * after deleting we call insertFixup to maintain the red-black properties if the delted node was + * black (as if it was red -> no violation of red-black properties) + */ + private func delete(node z: RBNode) { + var nodeY = RBNode() + var nodeX = RBNode() + if let leftChild = z.leftChild, let rightChild = z.rightChild { + if leftChild.isNullLeaf || rightChild.isNullLeaf { + nodeY = z + } else { + if let successor = z.getSuccessor() { + nodeY = successor + } + } + } + if let leftChild = nodeY.leftChild { + if !leftChild.isNullLeaf { + nodeX = leftChild + } else if let rightChild = nodeY.rightChild { + nodeX = rightChild + } + } + nodeX.parent = nodeY.parent + if let parentY = nodeY.parent { + // Should never be the case, as parent of root = nil + if parentY.isNullLeaf { + root = nodeX + } else { + if nodeY.isLeftCild { + parentY.leftChild = nodeX + } else { + parentY.rightChild = nodeX + } + } + } else { + root = nodeX + } + if nodeY != z { + z.key = nodeY.key + } + // If sliced out node was red -> nothing to do as red-black-property holds + // If it was black -> fix red-black-property + if nodeY.color == .black { + deleteFixup(node: nodeX) + } + } + + /* + * Fixes possible violations of the red-black property after deletion + * We have w distinct cases: only case 2 may repeat, but only h many steps, where h is the height + * of the tree + * - case 1 -> case 2 -> red-black tree + * case 1 -> case 3 -> case 4 -> red-black tree + * case 1 -> case 4 -> red-black tree + * - case 3 -> case 4 -> red-black tree + * - case 4 -> red-black tree + */ + private func deleteFixup(node x: RBNode) { + var xTmp = x + if !x.isRoot && x.color == .black { + guard var sibling = x.sibling else { + return + } + // Case 1: Sibling of x is red + if sibling.color == .red { + // Recolor + sibling.color = .black + if let parentX = x.parent { + parentX.color = .red + // Rotation + if x.isLeftCild { + leftRotate(node: parentX) + } else { + rightRotate(node: parentX) + } + // Update sibling + if let sibl = x.sibling { + sibling = sibl + } + } + } + // Case 2: Sibling is black with two black children + if sibling.leftChild?.color == .black && sibling.rightChild?.color == .black { + // Recolor + sibling.color = .red + // Move fake black unit upwards + if let parentX = x.parent { + deleteFixup(node: parentX) + } + // We have a valid red-black-tree + } else { + // Case 3: a. Sibling black with one black child to the right + if x.isLeftCild && sibling.rightChild?.color == .black { + // Recolor + sibling.leftChild?.color = .black + sibling.color = .red + // Rotate + rightRotate(node: sibling) + // Update sibling of x + if let sibl = x.sibling { + sibling = sibl + } + } + // Still case 3: b. One black child to the left + else if x.isRightChild && sibling.leftChild?.color == .black { + // Recolor + sibling.rightChild?.color = .black + sibling.color = .red + // Rotate + leftRotate(node: sibling) + // Update sibling of x + if let sibl = x.sibling { + sibling = sibl + } + } + // Case 4: Sibling is black with red right child + // Recolor + if let parentX = x.parent { + sibling.color = parentX.color + parentX.color = .black + // a. x left and sibling with red right child + if x.isLeftCild { + sibling.rightChild?.color = .black + // Rotate + leftRotate(node: parentX) + } + // b. x right and sibling with red left child + else { + sibling.leftChild?.color = .black + //Rotate + rightRotate(node: parentX) + } + // We have a valid red-black-tree + xTmp = root + } + } + } + xTmp.color = .black + } +} + +// MARK: - Rotation +extension RedBlackTree { + /* + * Left rotation around node x + * Assumes that x.rightChild y is not a nullLeaf, rotates around the link from x to y, + * makes y the new root of the subtree with x as y's left child and y's left child as x's right + * child, where n = a node, [n] = a subtree + * | | + * x y + * / \ ~> / \ + * [A] y x [C] + * / \ / \ + * [B] [C] [A] [B] + */ + fileprivate func leftRotate(node x: RBNode) { + rotate(node: x, direction: .left) + } + + + /* + * Right rotation around node y + * Assumes that y.leftChild x is not a nullLeaf, rotates around the link from y to x, + * makes x the new root of the subtree with y as x's right child and x's right child as y's left + * child, where n = a node, [n] = a subtree + * | | + * x y + * / \ <~ / \ + * [A] y x [C] + * / \ / \ + * [B] [C] [A] [B] + */ + fileprivate func rightRotate(node x: RBNode) { + rotate(node: x, direction: .right) + } + + /* + * Rotation around a node x + * Is a local operation preserving the binary-search-tree property that only exchanges pointers. + * Runntime: O(1) + */ + private func rotate(node x: RBNode, direction: rotationDirection) { + var nodeY: RBNode? = RBNode() + + // Set |nodeY| and turn |nodeY|'s left/right subtree into |x|'s right/left subtree + switch direction { + case .left: + nodeY = x.rightChild + x.rightChild = nodeY?.leftChild + x.rightChild?.parent = x + case .right: + nodeY = x.leftChild + x.leftChild = nodeY?.rightChild + x.leftChild?.parent = x + } + + // Link |x|'s parent to nodeY + nodeY?.parent = x.parent + if x.isRoot { + if let node = nodeY { + root = node + } + } else if x.isLeftCild { + x.parent?.leftChild = nodeY + } else if x.isRightChild { + x.parent?.rightChild = nodeY + } + + // Put |x| on |nodeY|'s left + switch direction { + case .left: + nodeY?.leftChild = x + case .right: + nodeY?.rightChild = x + } + x.parent = nodeY + } +} + +// MARK: - Verify +extension RedBlackTree { + /* + * Verifies that the existing tree fulfills all red-black properties + * Returns true if the tree is a valid red-black tree, false otherwise + */ + public func verify() -> Bool { + if root.isNullLeaf { + print("The tree is empty") + return true + } + return property2() && property4() && property5() + } + + // Property 1: Every node is either red or black -> fullfilled through setting node.color of type + // RBTreeColor + + + // Property 2: The root is black + private func property2() -> Bool { + if root.color == .red { + print("Property-Error: Root is red") + return false + } + return true + } + + // Property 3: Every nullLeaf is black -> fullfilled through initialising nullLeafs with color = black + + // Property 4: If a node is red, then both its children are black + private func property4() -> Bool { + return property4(node: root) + } + + private func property4(node: RBNode) -> Bool { + if node.isNullLeaf { + return true + } + if let leftChild = node.leftChild, let rightChild = node.rightChild { + if node.color == .red { + if !leftChild.isNullLeaf && leftChild.color == .red { + print("Property-Error: Red node with key \(node.key ?? nil) has red left child") + return false + } + if !rightChild.isNullLeaf && rightChild.color == .red { + print("Property-Error: Red node with key \(node.key ?? nil) has red right child") + return false + } + } + return property4(node: leftChild) && property4(node: rightChild) + } + return false + } + + // Property 5: For each node, all paths from the node to descendant leaves contain the same number + // of black nodes (same blackheight) + private func property5() -> Bool { + if property5(node: root) == -1 { + return false + } else { + return true + } + } + + private func property5(node: RBNode) -> Int { + if node.isNullLeaf { + return 0 + } + guard let leftChild = node.leftChild, let rightChild = node.rightChild else { + return -1 + } + let left = property5(node: leftChild) + let right = property5(node: rightChild) + + if left == -1 || right == -1 { + return -1 + } else if left == right { + let addedHeight = node.color == .black ? 1 : 0 + return left + addedHeight + } else { + print("Property-Error: Black height violated at node with key \(node.key ?? nil)") + return -1 + } + } +} + +// MARK: - Debugging + +extension RBTreeNode: CustomDebugStringConvertible { + public var debugDescription: String { + var s = "" + if isNullLeaf { + s = "nullLeaf" + } else { + if let key = key { + s = "key: \(key)" + } else { + s = "key: nil" + } + if let parent = parent { + s += ", parent: \(parent.key)" + } + if let left = leftChild { + s += ", left = [" + left.debugDescription + "]" + } + if let right = rightChild { + s += ", right = [" + right.debugDescription + "]" + } + s += ", color = \(color)" + } + return s + } +} + +extension RedBlackTree: CustomDebugStringConvertible { + public var debugDescription: String { + return root.debugDescription + } +} + +extension RBTreeNode: CustomStringConvertible { + public var description: String { + var s = "" + if isNullLeaf { + s += "nullLeaf" + } else { + if let left = leftChild { + s += "(\(left.description)) <- " + } + if let key = key { + s += "\(key)" + } else { + s += "nil" + } + s += ", \(color)" + if let right = rightChild { + s += " -> (\(right.description))" + } + } + return s + } +} + +extension RedBlackTree: CustomStringConvertible { + public var description: String { + if root.isNullLeaf { + return "[]" + } else{ + return root.description + } + } +} diff --git a/Red-Black Tree/RedBlackTree.playground/contents.xcplayground b/Red-Black Tree/RedBlackTree.playground/contents.xcplayground new file mode 100644 index 000000000..5da2641c9 --- /dev/null +++ b/Red-Black Tree/RedBlackTree.playground/contents.xcplayground @@ -0,0 +1,4 @@ + + + + \ No newline at end of file From cf91833f5688398045bb7b76150bc988df747580 Mon Sep 17 00:00:00 2001 From: Ute Schiehlen Date: Tue, 21 Mar 2017 11:23:37 +0100 Subject: [PATCH 016/713] Deleted old version --- .../Contents.swift | 20 - .../Sources/RBTree.swift | 521 ------------------ .../contents.xcplayground | 4 - .../contents.xcworkspacedata | 0 4 files changed, 545 deletions(-) delete mode 100644 Red-Black Tree/Red-Black Tree 2.playground/Contents.swift delete mode 100644 Red-Black Tree/Red-Black Tree 2.playground/Sources/RBTree.swift delete mode 100644 Red-Black Tree/Red-Black Tree 2.playground/contents.xcplayground rename Red-Black Tree/{Red-Black Tree 2.playground => RedBlackTree.playground}/playground.xcworkspace/contents.xcworkspacedata (100%) diff --git a/Red-Black Tree/Red-Black Tree 2.playground/Contents.swift b/Red-Black Tree/Red-Black Tree 2.playground/Contents.swift deleted file mode 100644 index d55c153d5..000000000 --- a/Red-Black Tree/Red-Black Tree 2.playground/Contents.swift +++ /dev/null @@ -1,20 +0,0 @@ -//: Playground - noun: a place where people can play -import Foundation - -let tree = RBTree() -let randomMax = Double(0x100000000) -var values = [Double]() -for _ in 0..<1000 { - let value = Double(arc4random()) / randomMax - values.append(value) - tree.insert(value) -} -tree.verify() - -for _ in 0..<1000 { - let rand = arc4random_uniform(UInt32(values.count)) - let index = Int(rand) - let value = values.remove(at: index) - tree.delete(value) -} -tree.verify() diff --git a/Red-Black Tree/Red-Black Tree 2.playground/Sources/RBTree.swift b/Red-Black Tree/Red-Black Tree 2.playground/Sources/RBTree.swift deleted file mode 100644 index 1735798d5..000000000 --- a/Red-Black Tree/Red-Black Tree 2.playground/Sources/RBTree.swift +++ /dev/null @@ -1,521 +0,0 @@ - -private enum RBTColor { - case red - case black - case doubleBlack -} - -public class RBTNode: CustomStringConvertible { - fileprivate var color: RBTColor = .red - public var value: T! = nil - public var right: RBTNode! - public var left: RBTNode! - public var parent: RBTNode! - - public var description: String { - if self.value == nil { - return "null" - } else { - var nodeValue: String - - // If the value is encapsulated by parentheses it is red - // If the value is encapsulated by pipes it is black - // If the value is encapsulated by double pipes it is double black (This should not occur in a verified RBTree) - if self.isRed { - nodeValue = "(\(self.value!))" - } else if self.isBlack{ - nodeValue = "|\(self.value!)|" - } else { - nodeValue = "||\(self.value!)||" - } - - return "(\(self.left.description)<-\(nodeValue)->\(self.right.description))" - } - } - - init(tree: RBTree) { - right = tree.nullLeaf - left = tree.nullLeaf - parent = tree.nullLeaf - } - - init() { - //This method is here to support the creation of a nullLeaf - } - - public var isLeftChild: Bool { - return self.parent.left === self - } - - public var isRightChild: Bool { - return self.parent.right === self - } - - public var grandparent: RBTNode { - return parent.parent - } - - public var sibling: RBTNode { - if isLeftChild { - return self.parent.right - } else { - return self.parent.left - } - } - - public var uncle: RBTNode { - return parent.sibling - } - - fileprivate var isRed: Bool { - return color == .red - } - - fileprivate var isBlack: Bool { - return color == .black - } - - fileprivate var isDoubleBlack: Bool { - return color == .doubleBlack - } -} - -public class RBTree: CustomStringConvertible { - public var root: RBTNode - fileprivate let nullLeaf: RBTNode - - public var description: String { - return root.description - } - - public init() { - nullLeaf = RBTNode() - nullLeaf.color = .black - root = nullLeaf - } - - public convenience init(withValue value: T) { - self.init() - insert(value) - } - - public convenience init(withArray array: [T]) { - self.init() - insert(array) - } - - public func insert(_ value: T) { - let newNode = RBTNode(tree: self) - newNode.value = value - insertNode(n: newNode) - } - - public func insert(_ values: [T]) { - for value in values { - print(value) - insert(value) - } - } - - public func delete(_ value: T) { - let nodeToDelete = find(value) - if nodeToDelete !== nullLeaf { - deleteNode(n: nodeToDelete) - } - } - - public func find(_ value: T) -> RBTNode { - let foundNode = findNode(rootNode: root, value: value) - return foundNode - } - - public func minimum(n: RBTNode) -> RBTNode { - var min = n - if n.left !== nullLeaf { - min = minimum(n: n.left) - } - - return min - } - - public func maximum(n: RBTNode) -> RBTNode { - var max = n - if n.right !== nullLeaf { - max = maximum(n: n.right) - } - - return max - } - - public func verify() { - if self.root === nullLeaf { - print("The tree is empty") - return - } - property1() - property2(n: self.root) - property3() - } - - private func findNode(rootNode: RBTNode, value: T) -> RBTNode { - var nextNode = rootNode - if rootNode !== nullLeaf && value != rootNode.value { - if value < rootNode.value { - nextNode = findNode(rootNode: rootNode.left, value: value) - } else { - nextNode = findNode(rootNode: rootNode.right, value: value) - } - } - - return nextNode - } - - private func insertNode(n: RBTNode) { - BSTInsertNode(n: n, parent: root) - insertCase1(n: n) - } - - private func BSTInsertNode(n: RBTNode, parent: RBTNode) { - if parent === nullLeaf { - self.root = n - } else if n.value < parent.value { - if parent.left !== nullLeaf { - BSTInsertNode(n: n, parent: parent.left) - } else { - parent.left = n - parent.left.parent = parent - } - } else { - if parent.right !== nullLeaf { - BSTInsertNode(n: n, parent: parent.right) - } else { - parent.right = n - parent.right.parent = parent - } - } - } - - // if node is root change color to black, else move on - private func insertCase1(n: RBTNode) { - if n === root { - n.color = .black - } else { - insertCase2(n: n) - } - } - - // if parent of node is not black, and node is not root move on - private func insertCase2(n: RBTNode) { - if !n.parent.isBlack { - insertCase3(n: n) - } - } - - // if uncle is red do stuff otherwise move to 4 - private func insertCase3(n: RBTNode) { - if n.uncle.isRed { // node must have grandparent as children of root have a black parent - // both parent and uncle are red, so grandparent must be black. - n.parent.color = .black - n.uncle.color = .black - n.grandparent.color = .red - // now both parent and uncle are black and grandparent is red. - // we repeat for the grandparent - insertCase1(n: n.grandparent) - } else { - insertCase4(n: n) - } - } - - // parent is red, grandparent is black, uncle is black - // There are 4 cases left: - // - left left - // - left right - // - right right - // - right left - - // the cases "left right" and "right left" can be rotated into the other two - // so if either of the two is detected we apply a rotation and then move on to - // deal with the final two cases, if neither is detected we move on to those cases anyway - private func insertCase4(n: RBTNode) { - if n.parent.isLeftChild && n.isRightChild { // left right case - leftRotate(n: n.parent) - insertCase5(n: n.left) - } else if n.parent.isRightChild && n.isLeftChild { // right left case - rightRotate(n: n.parent) - insertCase5(n: n.right) - } else { - insertCase5(n: n) - } - } - - private func insertCase5(n: RBTNode) { - // swap color of parent and grandparent - // parent is red grandparent is black - n.parent.color = .black - n.grandparent.color = .red - - if n.isLeftChild { // left left case - rightRotate(n: n.grandparent) - } else { // right right case - leftRotate(n: n.grandparent) - } - } - - private func deleteNode(n: RBTNode) { - var toDel = n - - if toDel.left === nullLeaf && toDel.right === nullLeaf && toDel.parent === nullLeaf { - self.root = nullLeaf - return - } - - if toDel.left === nullLeaf && toDel.right === nullLeaf && toDel.isRed { - if toDel.isLeftChild { - toDel.parent.left = nullLeaf - } else { - toDel.parent.right = nullLeaf - } - return - } - - if toDel.left !== nullLeaf && toDel.right !== nullLeaf { - let pred = maximum(n: toDel.left) - toDel.value = pred.value - toDel = pred - } - - // from here toDel has at most 1 non nullLeaf child - - var child: RBTNode - if toDel.left !== nullLeaf { - child = toDel.left - } else { - child = toDel.right - } - - if toDel.isRed || child.isRed { - child.color = .black - - if toDel.isLeftChild { - toDel.parent.left = child - } else { - toDel.parent.right = child - } - - if child !== nullLeaf { - child.parent = toDel.parent - } - } else { // both toDel and child are black - - var sibling = toDel.sibling - - if toDel.isLeftChild { - toDel.parent.left = child - } else { - toDel.parent.right = child - } - if child !== nullLeaf { - child.parent = toDel.parent - } - child.color = .doubleBlack - - while child.isDoubleBlack || (child.parent !== nullLeaf && child.parent != nil) { - if sibling.isBlack { - - var leftRedChild: RBTNode! = nil - if sibling.left.isRed { - leftRedChild = sibling.left - } - var rightRedChild: RBTNode! = nil - if sibling.right.isRed { - rightRedChild = sibling.right - } - - if leftRedChild != nil || rightRedChild != nil { // at least one of sibling's children are red - child.color = .black - if sibling.isLeftChild { - if leftRedChild != nil { // left left case - sibling.left.color = .black - let tempColor = sibling.parent.color - sibling.parent.color = sibling.color - sibling.color = tempColor - rightRotate(n: sibling.parent) - } else { // left right case - if sibling.parent.isRed { - sibling.parent.color = .black - } else { - sibling.right.color = .black - } - leftRotate(n: sibling) - rightRotate(n: sibling.grandparent) - } - } else { - if rightRedChild != nil { // right right case - sibling.right.color = .black - let tempColor = sibling.parent.color - sibling.parent.color = sibling.color - sibling.color = tempColor - leftRotate(n: sibling.parent) - } else { // right left case - if sibling.parent.isRed { - sibling.parent.color = .black - } else { - sibling.left.color = .black - } - rightRotate(n: sibling) - leftRotate(n: sibling.grandparent) - } - } - break - } else { // both sibling's children are black - child.color = .black - sibling.color = .red - if sibling.parent.isRed { - sibling.parent.color = .black - break - } - /* - sibling.parent.color = .doubleBlack - child = sibling.parent - sibling = child.sibling - */ - if sibling.parent.parent === nullLeaf { // parent of child is root - break - } else { - sibling.parent.color = .doubleBlack - child = sibling.parent - sibling = child.sibling // can become nill if child is root as parent is nullLeaf - } - //--------------- - } - } else { // sibling is red - sibling.color = .black - - if sibling.isLeftChild { // left case - rightRotate(n: sibling.parent) - sibling = sibling.right.left - sibling.parent.color = .red - } else { // right case - leftRotate(n: sibling.parent) - sibling = sibling.left.right - sibling.parent.color = .red - } - } - - // sibling check is here for when child is a nullLeaf and thus does not have a parent. - // child is here as sibling can become nil when child is the root - if (sibling.parent === nullLeaf) || (child !== nullLeaf && child.parent === nullLeaf) { - child.color = .black - } - } - } - } - - private func property1() { - - if self.root.isRed { - print("Root is not black") - } - } - - private func property2(n: RBTNode) { - if n === nullLeaf { - return - } - if n.isRed { - if n.left !== nullLeaf && n.left.isRed { - print("Red node: \(n.value), has red left child") - } else if n.right !== nullLeaf && n.right.isRed { - print("Red node: \(n.value), has red right child") - } - } - property2(n: n.left) - property2(n: n.right) - } - - private func property3() { - let bDepth = blackDepth(root: self.root) - - let leaves:[RBTNode] = getLeaves(n: self.root) - - for leaflet in leaves { - var leaf = leaflet - var i = 0 - - while leaf !== nullLeaf { - if leaf.isBlack { - i = i + 1 - } - leaf = leaf.parent - } - - if i != bDepth { - print("black depth: \(bDepth), is not equal (depth: \(i)) for leaf with value: \(leaflet.value)") - } - } - - } - - private func getLeaves(n: RBTNode) -> [RBTNode] { - var leaves = [RBTNode]() - - if n !== nullLeaf { - if n.left === nullLeaf && n.right === nullLeaf { - leaves.append(n) - } else { - let leftLeaves = getLeaves(n: n.left) - let rightLeaves = getLeaves(n: n.right) - - leaves.append(contentsOf: leftLeaves) - leaves.append(contentsOf: rightLeaves) - } - } - - return leaves - } - - private func blackDepth(root: RBTNode) -> Int { - if root === nullLeaf { - return 0 - } else { - let returnValue = root.isBlack ? 1 : 0 - return returnValue + (max(blackDepth(root: root.left), blackDepth(root: root.right))) - } - } - - private func leftRotate(n: RBTNode) { - let newRoot = n.right! - n.right = newRoot.left! - if newRoot.left !== nullLeaf { - newRoot.left.parent = n - } - newRoot.parent = n.parent - if n.parent === nullLeaf { - self.root = newRoot - } else if n.isLeftChild { - n.parent.left = newRoot - } else { - n.parent.right = newRoot - } - newRoot.left = n - n.parent = newRoot - } - - private func rightRotate(n: RBTNode) { - let newRoot = n.left! - n.left = newRoot.right! - if newRoot.right !== nullLeaf { - newRoot.right.parent = n - } - newRoot.parent = n.parent - if n.parent === nullLeaf { - self.root = newRoot - } else if n.isRightChild { - n.parent.right = newRoot - } else { - n.parent.left = newRoot - } - newRoot.right = n - n.parent = newRoot - } -} diff --git a/Red-Black Tree/Red-Black Tree 2.playground/contents.xcplayground b/Red-Black Tree/Red-Black Tree 2.playground/contents.xcplayground deleted file mode 100644 index 5da2641c9..000000000 --- a/Red-Black Tree/Red-Black Tree 2.playground/contents.xcplayground +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/Red-Black Tree/Red-Black Tree 2.playground/playground.xcworkspace/contents.xcworkspacedata b/Red-Black Tree/RedBlackTree.playground/playground.xcworkspace/contents.xcworkspacedata similarity index 100% rename from Red-Black Tree/Red-Black Tree 2.playground/playground.xcworkspace/contents.xcworkspacedata rename to Red-Black Tree/RedBlackTree.playground/playground.xcworkspace/contents.xcworkspacedata From dc460542ffe226bbb0175fec35a9195eac87d9a3 Mon Sep 17 00:00:00 2001 From: Ute Schiehlen Date: Tue, 21 Mar 2017 11:30:51 +0100 Subject: [PATCH 017/713] Added licence to file --- .../Sources/RedBlackTree.swift | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/Red-Black Tree/RedBlackTree.playground/Sources/RedBlackTree.swift b/Red-Black Tree/RedBlackTree.playground/Sources/RedBlackTree.swift index 057909b07..a588ea6bc 100644 --- a/Red-Black Tree/RedBlackTree.playground/Sources/RedBlackTree.swift +++ b/Red-Black Tree/RedBlackTree.playground/Sources/RedBlackTree.swift @@ -1,9 +1,22 @@ +//Copyright (c) 2016 Matthijs Hollemans and contributors // -// RedBlackTree.swift +//Permission is hereby granted, free of charge, to any person obtaining a copy +//of this software and associated documentation files (the "Software"), to deal +//in the Software without restriction, including without limitation the rights +//to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +//copies of the Software, and to permit persons to whom the Software is +//furnished to do so, subject to the following conditions: // -// Created by Ute Schiehlen on 14.03.17. -// Copyright © 2017 Ute Schiehlen. All rights reserved. +//The above copyright notice and this permission notice shall be included in +//all copies or substantial portions of the Software. // +//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +//IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +//FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +//AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +//LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +//OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +//THE SOFTWARE. import Foundation From 37d7300627bda5538381127db68571bf7b38f57e Mon Sep 17 00:00:00 2001 From: Ute Schiehlen Date: Tue, 21 Mar 2017 11:51:08 +0100 Subject: [PATCH 018/713] Incorporated major swiftlint warnings --- .../Sources/RedBlackTree.swift | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/Red-Black Tree/RedBlackTree.playground/Sources/RedBlackTree.swift b/Red-Black Tree/RedBlackTree.playground/Sources/RedBlackTree.swift index a588ea6bc..6f3b16b86 100644 --- a/Red-Black Tree/RedBlackTree.playground/Sources/RedBlackTree.swift +++ b/Red-Black Tree/RedBlackTree.playground/Sources/RedBlackTree.swift @@ -25,7 +25,7 @@ private enum RBTreeColor { case black } -private enum rotationDirection { +private enum RotationDirection { case left case right } @@ -114,7 +114,7 @@ public class RedBlackTree { // MARK: - Equatable protocol extension RBTreeNode { - static public func ==(lhs: RBTreeNode, rhs: RBTreeNode) -> Bool { + static public func == (lhs: RBTreeNode, rhs: RBTreeNode) -> Bool { return lhs.key == rhs.key } } @@ -309,8 +309,8 @@ extension RedBlackTree { * - case 2b -> red-black tree */ private func insertFixup(node z: RBNode) { - if(!z.isNullLeaf) { - guard let parentZ = z.parent else{ + if !z.isNullLeaf { + guard let parentZ = z.parent else { return } // If both |z| and his parent are red -> violation of red-black property -> need to fix it @@ -539,7 +539,6 @@ extension RedBlackTree { rotate(node: x, direction: .left) } - /* * Right rotation around node y * Assumes that y.leftChild x is not a nullLeaf, rotates around the link from y to x, @@ -561,7 +560,7 @@ extension RedBlackTree { * Is a local operation preserving the binary-search-tree property that only exchanges pointers. * Runntime: O(1) */ - private func rotate(node x: RBNode, direction: rotationDirection) { + private func rotate(node x: RBNode, direction: RotationDirection) { var nodeY: RBNode? = RBNode() // Set |nodeY| and turn |nodeY|'s left/right subtree into |x|'s right/left subtree @@ -616,7 +615,6 @@ extension RedBlackTree { // Property 1: Every node is either red or black -> fullfilled through setting node.color of type // RBTreeColor - // Property 2: The root is black private func property2() -> Bool { if root.color == .red { @@ -746,7 +744,7 @@ extension RedBlackTree: CustomStringConvertible { public var description: String { if root.isNullLeaf { return "[]" - } else{ + } else { return root.description } } From b0204d3e0a9a84c8ddb4fdce3fa9dc8276e755ed Mon Sep 17 00:00:00 2001 From: Taras Nikulin Date: Tue, 4 Apr 2017 10:08:48 +0300 Subject: [PATCH 019/713] Dijkstra's algorithm --- .../Dijkstra.playground/Contents.swift | 122 +++++++ .../Dijkstra.playground/contents.xcplayground | 4 + .../contents.xcworkspacedata | 7 + Dijkstra Algorithm/README.md | 23 ++ .../Screenshots/screenshot1.jpg | Bin 0 -> 214771 bytes .../Screenshots/screenshot2.jpg | Bin 0 -> 225916 bytes .../Screenshots/screenshot3.jpg | Bin 0 -> 224243 bytes .../Contents.swift | 57 ++++ .../Resources/Pause.png | Bin 0 -> 712 bytes .../Resources/Start.png | Bin 0 -> 1044 bytes .../Resources/Stop.png | Bin 0 -> 498 bytes .../Sources/CustomUI/EdgeRepresentation.swift | 109 ++++++ .../Sources/CustomUI/ErrorView.swift | 30 ++ .../Sources/CustomUI/MyShapeLayer.swift | 7 + .../Sources/CustomUI/RoundedButton.swift | 20 ++ .../Sources/CustomUI/VertexView.swift | 63 ++++ .../Sources/Graph.swift | 308 +++++++++++++++++ .../Sources/GraphColors.swift | 15 + .../Sources/GraphView.swift | 246 ++++++++++++++ .../Sources/SimpleObjects/Edge.swift | 12 + .../Sources/SimpleObjects/Vertex.swift | 62 ++++ .../Sources/Window.swift | 319 ++++++++++++++++++ .../contents.xcplayground | 4 + .../contents.xcworkspacedata | 7 + .../timeline.xctimeline | 6 + README.markdown | 1 + 26 files changed, 1422 insertions(+) create mode 100644 Dijkstra Algorithm/Dijkstra.playground/Contents.swift create mode 100644 Dijkstra Algorithm/Dijkstra.playground/contents.xcplayground create mode 100644 Dijkstra Algorithm/Dijkstra.playground/playground.xcworkspace/contents.xcworkspacedata create mode 100644 Dijkstra Algorithm/README.md create mode 100644 Dijkstra Algorithm/Screenshots/screenshot1.jpg create mode 100644 Dijkstra Algorithm/Screenshots/screenshot2.jpg create mode 100644 Dijkstra Algorithm/Screenshots/screenshot3.jpg create mode 100644 Dijkstra Algorithm/VisualizedDijkstra.playground/Contents.swift create mode 100644 Dijkstra Algorithm/VisualizedDijkstra.playground/Resources/Pause.png create mode 100644 Dijkstra Algorithm/VisualizedDijkstra.playground/Resources/Start.png create mode 100644 Dijkstra Algorithm/VisualizedDijkstra.playground/Resources/Stop.png create mode 100644 Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/CustomUI/EdgeRepresentation.swift create mode 100644 Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/CustomUI/ErrorView.swift create mode 100644 Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/CustomUI/MyShapeLayer.swift create mode 100644 Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/CustomUI/RoundedButton.swift create mode 100644 Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/CustomUI/VertexView.swift create mode 100644 Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/Graph.swift create mode 100644 Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/GraphColors.swift create mode 100644 Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/GraphView.swift create mode 100644 Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/SimpleObjects/Edge.swift create mode 100644 Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/SimpleObjects/Vertex.swift create mode 100644 Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/Window.swift create mode 100644 Dijkstra Algorithm/VisualizedDijkstra.playground/contents.xcplayground create mode 100644 Dijkstra Algorithm/VisualizedDijkstra.playground/playground.xcworkspace/contents.xcworkspacedata create mode 100644 Dijkstra Algorithm/VisualizedDijkstra.playground/timeline.xctimeline diff --git a/Dijkstra Algorithm/Dijkstra.playground/Contents.swift b/Dijkstra Algorithm/Dijkstra.playground/Contents.swift new file mode 100644 index 000000000..8d600d577 --- /dev/null +++ b/Dijkstra Algorithm/Dijkstra.playground/Contents.swift @@ -0,0 +1,122 @@ +//: Playground - noun: a place where people can play + +import Foundation +import UIKit + +open class ProductVertex: Vertex {} + +open class Vertex: Hashable, Equatable { + + open var identifier: String! + open var neighbors: [(Vertex, Double)] = [] + open var pathLengthFromStart: Double = Double.infinity + open var pathVerticesFromStart: [Vertex] = [] +// open var point: CGPoint! + + public init(identifier: String/*, point: CGPoint*/) { + self.identifier = identifier +// self.point = point + } + + open var hashValue: Int { + return self.identifier.hashValue + } + + public static func ==(lhs: Vertex, rhs: Vertex) -> Bool { + if lhs.hashValue == rhs.hashValue { + return true + } + return false + } + + open func clearCache() { + self.pathLengthFromStart = Double.infinity + self.pathVerticesFromStart = [] + } +} + +public class Dijkstra { + private var totalVertices: Set + + public init(vertices: Set) { + self.totalVertices = vertices + } + + private func clearCache() { + self.totalVertices.forEach { $0.clearCache() } + } + + public func findShortestPaths(from startVertex: Vertex) { + self.clearCache() + startVertex.pathLengthFromStart = 0 + startVertex.pathVerticesFromStart.append(startVertex) + var currentVertex: Vertex! = startVertex + while currentVertex != nil { + totalVertices.remove(currentVertex) + let filteredNeighbors = currentVertex.neighbors.filter { totalVertices.contains($0.0) } + for neighbor in filteredNeighbors { + let neighborVertex = neighbor.0 + let weight = neighbor.1 + + let theoreticNewWeight = currentVertex.pathLengthFromStart + weight + if theoreticNewWeight < neighborVertex.pathLengthFromStart { + neighborVertex.pathLengthFromStart = theoreticNewWeight + neighborVertex.pathVerticesFromStart = currentVertex.pathVerticesFromStart + neighborVertex.pathVerticesFromStart.append(neighborVertex) + } + } + if totalVertices.isEmpty { + currentVertex = nil + break + } + currentVertex = totalVertices.min { $0.pathLengthFromStart < $1.pathLengthFromStart } + } + } +} + +var _vertices: Set = Set() + +func createNotConnectedVertices() { + for i in 0..<15 { + let vertex = Vertex(identifier: "\(i)") + _vertices.insert(vertex) + } +} + +func setupConnections() { + for vertex in _vertices { + let randomEdgesCount = arc4random_uniform(4) + 1 + for _ in 0.. Vertex { + var newSet = _vertices + newSet.remove(vertex) + let offset = Int(arc4random_uniform(UInt32(newSet.count))) + let index = newSet.index(newSet.startIndex, offsetBy: offset) + return newSet[index] +} + +createNotConnectedVertices() +setupConnections() +let dijkstra = Dijkstra(vertices: _vertices) +let offset = Int(arc4random_uniform(UInt32(_vertices.count))) +let index = _vertices.index(_vertices.startIndex, offsetBy: offset) +let startVertex = _vertices[index] +dijkstra.findShortestPaths(from: startVertex) +let destinationVertex = randomVertex(except: startVertex) +destinationVertex.pathLengthFromStart +destinationVertex.pathVerticesFromStart + + diff --git a/Dijkstra Algorithm/Dijkstra.playground/contents.xcplayground b/Dijkstra Algorithm/Dijkstra.playground/contents.xcplayground new file mode 100644 index 000000000..5da2641c9 --- /dev/null +++ b/Dijkstra Algorithm/Dijkstra.playground/contents.xcplayground @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/Dijkstra Algorithm/Dijkstra.playground/playground.xcworkspace/contents.xcworkspacedata b/Dijkstra Algorithm/Dijkstra.playground/playground.xcworkspace/contents.xcworkspacedata new file mode 100644 index 000000000..919434a62 --- /dev/null +++ b/Dijkstra Algorithm/Dijkstra.playground/playground.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/Dijkstra Algorithm/README.md b/Dijkstra Algorithm/README.md new file mode 100644 index 000000000..872e9f851 --- /dev/null +++ b/Dijkstra Algorithm/README.md @@ -0,0 +1,23 @@ +# Dijkstra-algorithm +WWDC 2017 Scholarship Project +Created by [Taras Nikulin](https://github.com/crabman448) + +## About +Dijkstra's algorithm is used for finding shortest paths from start vertex in graph(with weighted vertices) to all other vertices. +More algorithm's description can be found in playground or on wikipedia: +[Wikipedia](https://en.wikipedia.org/wiki/Dijkstra%27s_algorithm) + +To understand how does this algorithm works, I have created **VisualizedDijkstra.playground.** It works in auto and interactive modes. Moreover there are play/pause/stop buttons. + +If you need only realization of the algorithm without visualization then run **Dijkstra.playground.** It contains necessary classes and couple functions to create random graph for algorithm testing. + +## Demo video +Click the link: [YouTube](https://youtu.be/PPESI7et0cQ) + +## Screenshots + + + + + + diff --git a/Dijkstra Algorithm/Screenshots/screenshot1.jpg b/Dijkstra Algorithm/Screenshots/screenshot1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..390bc658224310c7720678cffd68bf1654b5c045 GIT binary patch literal 214771 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

@lrF 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 Ag8%>k literal 0 HcmV?d00001 diff --git a/Dijkstra Algorithm/Screenshots/screenshot2.jpg b/Dijkstra Algorithm/Screenshots/screenshot2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..bc51046fb36bd2c77b11cf8f6bc28afd0a2faff8 GIT binary patch literal 225916 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 literal 0 HcmV?d00001 diff --git a/Dijkstra Algorithm/Screenshots/screenshot3.jpg b/Dijkstra Algorithm/Screenshots/screenshot3.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e9f7a1207f315e8f5aa20c72f3264c65edafd3a8 GIT binary patch literal 224243 zcmeFa2Ut|wk~X{%5yXH9h-4&4XaPwQ1o|if0s#=RYLZvIH#DHteB*% zxF~Q#M^RN3{7%Qr$=uw|`H8&?33Jl#iHnPatcZx6v#{x7`$y)&X7;us9;OZ=qQX~2 z06D0KgQ=N~xeMnbb4x2bd9IBrG#97UV|gx^q{dYZ2SxKIR=2&J%yqmpbLE3)?$ciipa{$cS7O6A=>=0` z^$@ai=Kk#ox6GZ*oU9yNtnBSLe>~Cjk-e*nJQw)OzrKmOjpIM?AXt9g=lyl} zTpwHLa0KxA_|mhJZ&z_QeMw&cTB;LTMxPW7{WaPADq(*=PM28e)zm{Kb13$=) zksqfxK}mIz`V@FU$vNN{89Di}SblRqrT#oc&&m%ul zao;SgW4PD7$s_*A$?qif1;&d^%)FQR_yq(dB(F(H%g8F;Qc_mAt*WM@tEUe$xNm6o z*xbVMiIugpi>sTvho{$zm;M2PL9c?NqTj^C#=U(PpOTuE{wX6fEBkX%aY<=ec|~P? zLt|5OOKaQLp5DIxfx)5S5zO?=?A-jq;?gp9YkOyRZy$GX_=7GG`TiSO;OD#E(KnP4#P` z{!2OiYdQO)(EPQKz=x25&p3YkI3@V++^LhN&i&JcG!7aNuSg@nX>u}9n8;}XC_utbg+0Kal})()VBGgbdU!qF>ln8mcX^vF)mnI~!+HCdN=_AjoW;wQvKX;>73L ztGGQQ3wvrSv8PUC6|Qp6yf_tRqT!OTHcOe+k9^AEEAB*<4HGt;sb&rT%r>vfZm4(u z#$d`(CrTgN61-bxf$p0Zoct1Mrgb#u0F|A4H{QAMsB!=DdnJUw+UNJx<6VoVFQ4$I z+Pdo(ycz|6T_N$fNBe%_&Dri~RV6@JgGu7e-D7_q{K0^37qlq)JBnTjrF*<} zR~AHynmqr2*Tn_|EVE-#AK1*wujBTdw`scA`xof-cN`@Js_He^?aZPvjt&luJ@-tk zNx){yXzgiSV5&zwRFH1Zrl08v>-MhB7z_zdjCGGQ^yzaiy(b}lvo7Y%lpkab8CWY8 z(k#na5q;9z_GS4E!umJLRHR&Z|2~tj^BM_o*O|t5%}3By%igyBoFxHM zY;*M5@SDE3>9v&rB&nN_n@cdd8=}^;zAIBZm#ZbPPj#~C2`m|*`|iW$+1y13wPy5- zufa$~gGbg|I&Y3HcWLp~w!Z} zi-gLVJ8jz-hUU?ozeUw_Nqg}et1lnl1p4+A>Wt{SZ)~o-)Ha$HDEHaoni_4KWpI+* zT!N^!DKDjd6>L_6Cweqq-wk~$+Q&s7s`~`h;sx2!!ad{IWg!7?NWhUZRs@%TK8zs& zbN0kp-$reC_>MLSI7d!QMQ$aN06Pw>400Dj0=`ZXS_wfZXtu>vA}1w58N2~X9D`0f zk$`0w35Y=-MIO;A`Cji^4a95032G!@tBeFVK_Bsh)bo>o zATko5jXuyK0cAA*B<)MsR;+Z?W&ZY7&Z&szz^T9T!DcBImH!(XPAU1i;AL@h(-Bk? z4K}&PZP`{l&#+&cX2X2U%(~cL&Md({difAOWtrJ$8Qi{HS{Y^@HkisC`r?2Y|31`% zgE6W<)Mn&vY>yFCgl}%2qr3K^M@cMJlil^|tNJvdj+1t%A`QE0;!cQ*wi3eh@by0m zIh%|Gpbe+PKg3~kRI|oBZ0g)k^o$ILI*s!kwy`?g_^3V zLgqcL4uv+?p0Jf}7OA{G^?b-r8M6+VfNYL!@HU#`-kFMO7pD>~SHC0J)Fe|rCwn^1OZc+26RHrV2TJ*!QpDLtFffw;h0nQz>(4SAQ;ViJVhUt`Q3nw;Y z<$pty88H}M^rEevU5%W#lxb!Wsqbr^;cM5VUaJi`9Cr0$4^;AndHlyZtvr}8N;$=5 zrK4FZp#0#CXWV25M=SB>H{#nN1N}D+o`{UI;d=Be2mG3op8uw79>9O6Efzq1^@may ze`smzbCT2Kc@-?SMJ3IRMcLzAvF%Olv^4>P1{Kk|J*s3gF(GZths`ZX@+Vt*s&gm5 zz{8#oOHygVr!dGl`i--*gj3brgrOQ7E)w>n5d3h z(ASwBt81H_ENkP5o1%x6l7I#|ye{%(4z~1+kmcsb&ZX2Cc3nMZCW|08jN(~MY1Ske z)Ol1v>Z^=<#7@=W;nCDp-v{tB_hM?&3@a$CQ>};i@IC@Yg@6 z&W(TVw+HUR1R8DCeewwzGa^<@OCFdi_tAl<4o0{kxT6 z16j2HMZ;|GIrahyGtQ{{LM`rg@8n(gaurt>m0SGBoTK1Sf79S5om7qf>@|ie*{kJ- zG0TFwF|&Ire%flvC)wY`RCF>NvK&b*OEHpwGh6{q1_t9A$LI)MvA;l%&B7L9d_cS= zifofjCf3s-7t2?+I9LRlX3K1>T6Ur7wZVGn>;iKk-93r;-4J~Djs^(1TQd%Ie_-z4 zSB4H;=iURUy2JHUvc}j_#(P;Lz>3R)BQrm$d?P4%OAD_-0v=XP63*>T#@tY6P!k(& z^L>KF1?PT@o93gm_;?w;dBImV${^M(%9E!@TM7A*510S@U!d3D_s5Ip;@TSx-Tmd{ zDMw1=4L#QKrjMWLxqUOUZOX|jeoa9L!GhhW6QNbaAcL-{TKYI18*7>STBM9EVrX^Y zdCVZgrovwGvQVO5Nwv*c{@#k22gX{~E<0q-P^yQR5!d~KX=#4d3@yq-2$^$>ZY!#8t@1n29QoLt=D!`;=1+ig)9oHlA5Q;gsO_|$XZVaQYL3+_h(z!8vT+IJXx`c3cgYdv8OkA zvj6(YV7Qszp}OaV0T|QQv?e#v11(@rAx11-zl!zY_-ZJqv@>7-thD>PU4)z)<3kOh zfi5dy`b692>)r+?p2<(f+|nKvemS0SmO?<4*G;;q?6J8vOxWdUl;uF8<0fNqrJo{w z;hj%XVSSjG{%3+Wru@Vpi}3KtqLQwRgU95X!b;xbh_#>k)?z%7VP@Ge+%-fSZkxPP_97--;X-@5l>2Hb4kGde zROAPAJ0E@~{*U97%o(x7zs!TKV08|SoRx#$XN zi2UR)KeQSpsrO%IRD!Lkk^o+E(Eckhh94?;9en?dZM(60^Uo+l(^>38vQDC4$?+8tBKqtj4gcv3#G zD@g#fq^u@iN+o|@XtYU>Xk<3laK?ljc)C7$6L~?4?_n3)%oXVoNLzcwW^_(OK*3(L zjtQ(s9WRdvN3=vUQcIs)f?85iF4#UI0ZqN%(l>R8cOcU(1YhK8;ovt8GNc6wU_`i; z_lZ2+5GtlQvzUXv+rM$!K&bBc)am@aFMOGR&paz^kOa`+Me;rP_JnY~80h&?$)t>Q zYmMVrsm;nQgc$hXlxeWKmYmT+BjeCa#~_SZh}swy3d6Gb%8LXDRa*4d$u{5<5`jx6C*WR zlo5LZo6yiTkt@WL2(uo9hJb)Am2 z$UgLkilOA3)dw6 zim^yUwUy(Ms_!=wDeReslFqCtBwcAbAXm9mw%YotOIqoQ)_1*JV(yCR0_9O@YS)T9 z_mTzrJhK1rZfcOf(oy4F+tL~H6&DgfK2Jk~CnNR|k|j4HDnC_Atk?=-pW5d7cFaqT z<=%DVi?0I2&bmn{F2QACiy~_*4hrnP?UPgr=We<^ur5@n@uED9_-@EKGo~g=ob&a8 zRYgr_!(J|TjLWFU;RS|$HImM{`)AyANT;w!Ww*ylx*w$Zh#V;pznKW(_Ah_Tszcgi zCQm zJ8gv{Bmejtmno%}i2d#+5|zpIlbf2z6Qdrk_;S2Pj&xtBqTQ;xXhTwl!kveQ;j*wV za2mvoT%1vhEKLvs3Q^1)ny9;SCDA=6lm@ZGUE?VsI3uc=XYJ~#`*=F_aqnF3g#81! zMQ(&)4J$jty;S`;@i)2&`Mt&?M_E=W>xsjwP!^o=ixeriUMNPS$DkcAMuT}SNb1=UhnR!#y5@QbxR44Z5TIm6{SoV)7c z!F=)6b=pr+4^}CEF|wZB|B`?DvRPPT?iFrWOy_wgH!U06^vXj|_5cy#I@2U!r}S?h zr89F%YW4>R@`x_V&4tyOOuQPdHya^@Q^_4&IW$Q;>dlimX)Sa!%j&(UFZs3aj6BJ` zlbnQ5;>l&hU=Kwl@KsVLJU%JTwLBGyZj18uZl4An_OK8K3Lgv!D(ULr<*G> zm*A&MtmL5P$1jzrZ@UWR72l=n(GQ91lD@+_l?3p3+Xk)zDZ0>;?6n*)48G z)Ic@8Bj+KfDPm=Y*uB^CtJ|5RbzNe4Gw6#$WfG6RcDtd?%_4;AZo0(4b1tV%d`=cD zdorFgT2--y3RgIf%fX-<-zi+gHC^b{4)&N9Q;B=kbMKlu({=Ytl-wVe&r)&KmSH(o zS)hJ+b8qt*IQ#G-`>9@xe=;0hcA;Hj+YYo<%ARK^m}MF#sD4o>r_3OrQ(hshq10;6 z?BXEU7{2)eOzy>#k!sIQEF6%joAmu5oDc2s;94jM<;(@5jtQ2IGgr9 z=qlugaJa0*CuX#$BBV|g_PTalTfbg@*nI2uW95h50mkI(DmQKVNq}hxi!J$HEUx6! zlDGb(X7BFp55x5@1Bj9uwL|0#?FrL1EoVaNVaZZg9`%0K>{wm<6vp;WnE7R)^c{05 zCucQn>$RM8@0^uv%Ww~~y<0dRhP=GECK3=b0{4^C@y%{f@#yhfLv(7}z3sXf)>_B! zpzNUOfjUF@fVMZ?sfeYBb6NX{=jkJLS_STdOu zTG27yI$6OD(@&1ns=G5stlRDnm)O|!=2!+&d)(1vF3M1k)$OqwugXc=@R6Oo712?7 z1lp(I@EPR_CA_>$0=gXszcB2RfK`wjo@L|_6=*1>%%H-sImBBLct?WPh(a)WOAmFp z5B+|4IhY?c%S{jlLGrVo>P#&cvJHxrBKU0}cN7QBjNKcx4)}=R^9vqq5QDsSJ|p)l zq0fx>7Lkq0+8EjgNskn6Rm z5^jL(y`%MWow-C_u)_)afbbo#B&4IweNN33N9K40)-#7S#eU)jZ2d6JV`QE562?cO zyD0Nb=<4naBO&-H{v<}7Af+@|?Ja06wYBU{W2eyCD8?nG!hLPAUm6m6-FXFlBtdLf zxQ0VwP;B^XxaawchGl_x%ZHB)Tvpon5`}dcPM^PR2H0A(QOcZZaXiqJl5VKJg&kW- zqEmyQ1bg5G35up0W%QNBgHMf~rX&PTgMt?uvsK}5hzr(! zlPzgIR>_MWcp&R5Z|7qISEmWck#3H1PwmJ-w!06aFg-1;COkMDGF%2@gNVQ3tgnJp zlp;g=T<*=|Nvgl_PzYmgM*FExnej2~+IFpKY|hlppP`%XYF=Y$VCPGcFw4k=Tz#JW zn#V0kJi;lP=8=j4dg}e*gRsG7TYFdn_k$;gY#mMcQ>RWc^@zdb&kjQU5#rMXXI-pR za0&9mgWDmVFwd$X{8(j6-PGhq2v!RR1i;JdD zFsZ>=D)0K<#wd))ZAZ9=73skFyYD3h0*%uWdkl}9@_Qp8i~IZK0*F4G%D=H zYq1-wS<=!6(`a=G$h&ILU3MIUJ%;ng_hNiN$8oH7vJj$`(ns<^)7m;(pfyaB^$23m3eZ0V4r=0J@yxm_t_0h zApQ;f407n^BneQaCTO7AMFKdsv=Ne^nmmOhT!idiL&sHnk^tWZ67Zb(lmz@z8;IT# z0Ih{VP)DSJ_90~R#Ubv8+wb=kGKCt6CaRqP{nZc4(L0FU{X7K2(LH3_FCaW!Wn?5q zB%uv9&4?@c53t|7>*&PzV zKmuAT%RUm_Hk0w8PY#o0Hr@BUD+wR)?lWOr?FO=U4q0Ka)(d^(k_}gmj{kC!dqmZ) zngHoVNFA{wq;Ka*Xo2d7$tC$Dt{Dq+i=0buFjT!v-QsvD>FVc)p;^r|&L(k3$Bf%7 zv6j<$V^Ci8j)vF$wr&m{Z!Ywlv0`~^>3Nh9?s3qt_dQ-iYYO(o=g~oESyme<2b=pHdguCAY#~G8#cTt$s4Oeztt#HidE=3cQQMNCy{kI~IK%R< zju{?X0+6zzIYg!8q|eUS0Szb@CrZ#92-tg!ef>%%{?6o+C~1*5R1c%54y4Y++P*5b z%#sh#r0_9DKAL=4I+B6EWEj|z$INljo|fg()6?ouEuOD-lpRSjWa!}zH|VC8t%w?& z67c{l*_<7JX8cnkL*=qEH{^bUpxVZ@@45v#%uyc$9Q$Bz%2rp7#3h{^!_R;J!Hu@k{`IvBQCs@b4)>LK12Tg4wBIL=C-mJ@ z9r?PYftGTf*9t*WAn%|$qt=I>Wvkd6{AMmuVpTnTUyO|8KzOwb1GPYMV}kTkD&F*L;H8J z$mcrK8I7Q!JcO6o468dfvWz>)TQM7&W^w!3aX&_(iYfut!D` zx5>lLOOk(QmyMsVUyx4FxFRX79;-87o!4`AgfD&K{o2rS)8q1|LdF{RTjC`SY*}{W zYx8W(^GElkkxazqYds!(cX7`*AuR(O=Zn`k8EeW)BigF`fzDetJXPUj($`Ot&z<(j zUm>2{n4+OD!7F#;k?u3zHd^QJYk41MXMZB@=tx`2-FY8T_l&%-CDs?SkfgwgbH^G@ z)71MYZ|LE?bK6qKCV#Qbczk>IKG&m@`l@<;Ta?nRsE?phUShT%d0)S+ASF9l_=Q@` z)?AM4nZk?U#g2mV@+r}CIr>XV#jE-KiM{$|9oEj~7jtyxwV zHR_Wk$ohzY2_`JxD>*aF#;aHpu0csQyVq$gcGb+}C85em5{j_!=k+^U;f{*}z(%6&Ik-NI;Q$h=T06 zwN$B8=^;%(v33>c#tJgvG(Ha)hjl#D6azRs1DW>ANx-9Ia$IN6R@YQqvpiq3FIVBK zG+C>cMiQek3OcXST6eCiE##2(PRK!~(B#(80(*ZKI4y3SBXGn%sN|$&P0h717h!YN zv}26A9-X&eX{vIc3UxM7-0a1`R_8XmTH-k(Bv2#QI@TqOGS`pWq-k)(XF7GqGE!2{ z2ztn|2b9|^#4Ky(e!QnWXR9puKFV$Vz+|IH|N7!%U4i;gOEs~1)vuZgKk*h+6roOn||d3OLxpweTm`Gjm$>m^pUkbsZW<%ruYw0IdW z@f}$Z@C|BBodf;&>l6E$Hs)A5*d&Kc-|ke)ECvS|0GtAn`HpB5;$l z5#OQAxURZ=c!Ac7YBrnvAq~{Xavsl!*MnPwks0qr$2L!F(?5I>RXz)=pJ2nDEyQTJ zH8jRkv=1-KK5dhuyVSrFncxRyZc3?*CXa1?$#-g8O{0ngcz--thl<5`*1Hvj>gu7Z z`Ut5w|07j|2(IRc6Zig}Z0x%+0;o6z z0Dl*Ee`fN9Y{Y6C77fm?zx3)+k0^OEQpLZO_leK({>9hyCuT2vx%Bpe31piXjNQcZ z-Hc(g~5xv6LGm+#&V@BIlvOM5#)pT7YCO=Bc`|!XOs=UK7thML8$+qQDG`-Pm zd&+2Y?vwci<~w!k_IGJwRH7lRAChVf3tN;;QZdOvUdb<9wV0RVNWj^hjPH2aUgU?7 zwky%MBl!VFPqtBK+VZf*(^D?_g2B5E($vNC%lf(V6N%^Hyy^HZ2;19xSrnRK4982B zM-OUjXML+|;A{#k>PLJT;X=FZ+}O(t4K^6dBBRW(t$GWCkhkuhFQ`&9hMEvXNAw=O zb%)S!*9|hfa^Hs@ywJ=8!Rh*Co2;k_s-ZKB9Xv0&qR5o^s$fk!FbZMjbZUkt0#Kg` zLX}bP$4R4C*_}1a>yR=1GT;5(WgnfR$M~DwL{7Xz-{Z}uF{#QEfws1vthPp5Ki}N^ zOH9<;KnQ&9HOn{EzQdFMBD%38iQGL%cHrVJlWm}jiQa@;e{FZ`aC#BA?HZS z_q&dU8K!+$qd77AR(i*q#(=t!-1hBfU)>_36cHI=@=|pipOe2NI<>U8O`bzztgHu$ zS}w<>8XEZ|aVua7^V84p4+Tb{1*DsMTNU7&lwf}@`o0-ZxLGx`5U3CFxu(GeT0DU9kjLmEo!E%3>?Edud~OZ_?KIZHi#V z152r(EjaaIkXG^Nu7}AqW`HL`y?1;#=l^y zS&yyRk&=I-``wNEyu9v>->RN*bIZ)a{E6Q=m?SyEC+SK=I3|rw@mrjt$g6d~n3vMo zWHuhIF7-4z9MY6C(DqqHEs5QgEuE^w-pE&9E_6js&-&3N4HNMw_nn&Bqhy3{^CVp@ zt5p&+h@gz7HS^^pEoWAg{MfV$3hOaEp*a;8C!Vjdmz1ga;tSA48FeBrykgMd3fu_& z9y!=2gKtrzR)*YZWnRzqDHvKKU*1NBRRBmvFFfe&D$9vd9Y|EuGuB=E7G*eWq`Yf* z@m?2KW_^sInkM6%ZH@3owq}>kj?~@&Hp5@e{YcqE#RzO4^V|`n<ZRKTztBi=br5DgHiuWQzLe={ZM&wU_)5WYZ6!i%h?ssbNhftViHd4^kVZkp~y1k#$f4 zZ*mL>ACMmwaHZh(*YFgEML4ybe5yyzv{YcR2(7i-h(e63=eeq?s&_(|0N_h&2amrl z;=>GIbd%>AL!yDqji&2TeLbOl7HR!GOJhgkdo#GK6ub)VOQq#Y5zgw(LI2$8f$2D<{ zo$gclC#K|cxcAJkTJ>Gb#4dITLZY0{bUXaS#PVQ>x1}edo%QrkXhh;L-JD09;C)rf zxh`q^TuPq9*abFB-(*u~vhD`*9nC8XEQFR{Brq~R%y5!>1)Q6h5Gf)=LZ1ZXUnyya zGA+g~3T@=Ol&YGRmsDuaQ?))i)lx_9K5k`>cNg<2XniY2~^}Ry>)AQ74 z{nZ3@*GFJBv4nW{GVf$xVmI`H0;7i(=0wbqDB^6NW<~mlrf^A^(G%M7&NOM-0!*z# zTFexM-s!P;9Ca`RE!2()$Y{GTYFj$7Rx>K?e5KhVJE=#NCrVW)%7_OPN%tg=zW`gZ zar{-VAB12~M^r{6V6hIKRdQgq*+5hi2|%x2vInQTD10+uTl*2vjUnVFv?F$j< z8G-6{uBME#WGr+!F^G~<{pX2*U!_ug*lv>LbAx!gk9_95X84hI(T!6<0bGLX!V8NTt41@(6CSW>k;bD9x|KuUNZU*+ z_sCIoPgjOY%{7PI9G2T(StDDiRk_fziz%t6;*?{oW18sw{fQLHG;-m92Mif5IRd6a0~=`fw0Mw zzH-F2L+BS0K#SYZ+Jpw-g?#tVm3~^HzZc;C@J3{}!PS^J>d`l$G0ox!AxfTIfvKyP zlo^;Eqocg+M!jwOQ@f3oMC@gIKgGY%H5_~#HR-+hZm(<=i-k8pi%?AwbRLkV!AOt5 zI@yu-bZbVpUo_~0PM&mR?{VkjVWr!O`i1XU)e358V=6p7yFDL=oaqX*#dC8Xge-KN ztO*cr4SW6VSpnAn3NO2qHm2%r=zoQNR-&#v7oeV?v0H(?#!aXs;-uh?=_DFci$=GJM|FC!;>iuU@k z5ib#Xn1~m#L`INbuUybHL3TZz^N@hDxUXd_ytGC1PqQvQWv59;&??!VP7!pmm>db;#!{N+vtgMHRYKd*1WnRZ zJ7PFq>L6tMgm_+P_Ri~=Q}n^ahc1sg(!-8jdlY_b=FAv}+VTbnnfxY8wHoZtSP`YL zVHwX9cyRZ|ZO?S3e!i|gR1UBG_PorNlH~>DLVb+nfsc~2VgQDkeyR8Uy%%<3D>?3( zM|qm>uvZpL($!vTimR&0OQ>}iS$;g!%0S2v-XSd_&f1t=dX>Nxqkce zNoU*B8Lzh(tge9*p>%8Y3)GFFh?*l2gxYr^Bf@iYGQ3)I(z2H`Ubn*KPEcw^Sc>IP z^_s@;7p5;$ur3MMgDda%T}@3=-^UkuTiHB`4LPi6gUJx)1ipXzkX4mdGO%A|4OtJ0z--r38u?^p{|FRtl#>D?0}W2iWKf@`T) z5ZHv*8NpB6#L8BWzycekURgRbG#IJRj)X;14TsvsmxO*F%d27t>U@)GD6y289b20>oZ%xfb`-dG72EaVQZ*J?xAE#QuQn0`XI<)|8yo-j zTJg*`&Nt3HXz%^-NMG?715~%Ny=A}l&NG$;FfZWGTOB&aT)Ga zmw)l{0#~RdKjiZ0Xo}T!iSXX(%c)ZxM$Peg`wbnuJ6dPu((W7n&FUH|GIL}J`q7?@ zN(>u1fmd{4nuqA>O~JnT=;)PErG1Wn^oF?poi{`edFF54kh1^H-jM!(6>rE^+?v!> zPKRc5d-Da_cbZ9`Se~Ww+-h+u`+nYe7xfCVcflYv=~{p}4T~R>!Q*pYevkz?1F^$| zW>DBpTWpXUqw&^xaHIk|iu9Xa|A0kdF`GB)+r{9wR9T*Xum)<*sVxp1D zV47wd2XPV(PDVA}2M3nJli&$HaAGgH3yKwHwE|}yp$GRsSHl&B>nXLMZ$AKxOUTLr z9d*bfACAp7^sXdwHi87$rxLlkXu!#3Eut!vcndmhEZs|dhTKXQAsQgu|I^=A!7C+k zkbn=#_$VYk2-#Tfm_Y#3?B>+q_yXK|@DUx6Ns9Ohg$GTCwH;&w7|YPt4}vBrp*8{+ zA_oQIq@f2qUpIeeE$zIgB zKu}Qw7_LDFlCMPqB581OXC*++ap1GmNkA+ITQ~gC-!bSX5@;<0L68ZyE)O_4%*FA4 zuzkIJ+ge$f(iP^zg6jmcU4D}-Xh}&$O+|QT&$W1~w_IGI zMWRyxWS1Oc|B|JS{bcWsz^0wwJ3FeS`LFI*_ebj&Y9Sn7l225#P03KKy|MSsB#S6E zHhqU2y9>bE6?Ru7arUn!xO+R^IJ~{p&tFx#OMdXS(~I;b(}Eff)&`5(*B z$|CY-+0_CATmS4fe~@nTbI88rEBDPM)9qyI; zFswJ{OXJiBZF|}=B;aB?E>T)5RqJA3=0`a$Kc5F`ZYI^AqmQEHlJ{IUB_}GT7xCJT zOb?(c?E&1c__(Q331jODZ`n)scP*A=72bU`P)c9Auw-LHRiAR2jL0`poO2KoF8$fF zQ)W88_+ByWan(WTI&tP`r5=7(z@b^2^|*P*wXqE0EjL3?o+vo-E*LN~)75+Pr<_wT z2etMd;S-+0GizwrqrP5TptrBVf&OvO+jafJW17AtyS8F~KSWPrd^xjXX0m3ia<*mpstx#_cNk>`$YIbLtM~+9wvv#1=ods`3Z( z2J&^EyazqeQsVggAr!Toz!56Lpl0nVSgz11W{aE>K!GE!oHI0)kMVn+po;@GhoLxC znunuR-W8TG01X`#hdwy6(xZ2J}QJqsv&-nHr}M8>0nB@O9ITGXE|F>_fK_lF#De^4s|BMt%1;qxSvF$W+g3I*Md3 z)1Nm$ZYJo$QuKdh$T2PbmXY-jezD(W=KVkU&ZHMQ%L_v42WB8p_SgP>B2`XcW2hrX zLtH9UF*7BY;6fz(5!VYP4g8B(N`I*7{Xc5h!T-d2{qvynx7Y~w0UM|og} zO@5tgYvI~=;vO`nc4}paD7g?n_*^nf#HF--Z-^4Btl%Kui<*ny3nM4~VrWnBRs_vB z>H$(8naQeIG##E7WYmJ`8;iuX4^h2{C}(|S55AJ}kwos2NU z4Mwe)93POV=^3Rd{RJ8`VQ z*EYU`p~`zSU0rWWK#TqCGJJPiiWp$SRkHijVXaz5W7ovhvK zicetdb20P~K)tnDTKhfccAZecDh=3{&8$Oo>i`J!Mxj!_B}T|?Ps8!gK7b+4APW7? zUM*YG@^>d{y~T(Ehb>gd3K4y9PQ`)aF8KLVUi<&1V}_qoc9l_9$y?`(NkD!f=p4A2 z&v9O~5qZ`mlyDYg<8CkR_>bW7AB+C|OROvLKQRuG?d&}#0h~fo#F~$w#8KGjYyNx; z8|cMp;}k@2MZ3tiVB(FXOvj1>eRoNL$+Uh4tc3^~EMKW(au=x_-99L;%y4U(Q zow2_RiK?Zh8?^AQu%~_GFrYdipS(15aK-QJ8HSyJB8&!$5ycPf1Kk>c#-Q0-uqYbr zSw9IDbkV8Ib!S5FHtMK-bQ{G&`yxi(q-F7)7Oi$utx{SQvQFlZKc&12@uR_av;va1 z*pi7gpup)!hT4#=#~yK6MWXOMa3L+@X} zeDn+8Tbq0b#rar`an5w)Cf*S*=!@Et1fkVlS4aI{EI=AL9O&5O3k~W1ZD^`_je?g0!>gEMTXDh-dz(ApW8-{!|cuSqJ1l zGGG5ymZSPV0UNXj5U|uI?|$yu&2|X0+z!(d@9g=8ANuh`>?6dV-W4-KNiT{TXUWVC zqIATH@A)a5I#oBe%Xa5ZvF#!nM(|23Et;t@(;a6hJff$>nL%aPHwL$w9C@Ogo}^TN zjWL(<6kpve7u4l$Q@aNGQ1mVD{!XcpEhe9V&R&NSyg{fQv(B(>9{_@RoQnNy&6YxU ztvLJmsA#NC!qg$mkp!GlCw@#mU;$(PQI-_J8PsmkQ2A-O2!^1>$~PZf&HH_Gce7`! z!TY)LHVB`=NTd+sIJ}U^VE}U0o>>3cb&{O~*jniF3o94R0eZbAb}!{H(AG44>hlR z&6)N|E(lxmUXI;c?_SY`MS&|I{OwA965tQcyWQ==hk+|3!P0jRp&bXw9K;;ZL$feB zjsCXX@e=^a@$w%WMXlSrtsdQqxIDJNGL&E$IwN_n*3E9MXg61m)v8&<qV}Na1a34H_4?#WMf3ZkkNglrTvkd75m0@rlAj(EN8`ocf<~{FYN9dmRQ49h;g5!=3&pmR7I%*r{~ z$Dy|6t%JAVI79gEX>js(lHkwryIU2|DhKGRBtQ>D_}d#;_`FyDfB0lMZXEuw z_-5s&erI$3W_$jx+5X;<_vea8|7B;%|Af-~^BI3xhx(uQ>;0>wB>gEO|Cg33|K~;U zUnLIge^>;$#j<0~p2_g+&;!M=Z|qkHg$jU&qF%Ie6_&QP!arDj?;=lm7}eAZuCPG1 zy}~9hWJ7W&7{NrmQpYnvK4{vP_R``u)sy^lUd8t)e9&uV?7O{kYz8e!cdfkGl{td0 zGGrf7>&*!4-P0fp%HIs;&o>+V&71n`Rxq6~Yv}W4fBRVXXmih16IE(4#{_5GU=p4e zmxq}Qtv#p3?D1$~d7x=N3Wy7OCA^4@4w_JEkwf%bCnOk0b+h(1^@JIGciNA)6<#tV z0j}Lk#o9_Ydg%2|B^s$0Rr)orZ(S6&3%~SgR?m})I2|3kGJ@(Y6jWUV{blsQ)chzu zTopE?0ZOq05jp4aX=H18g1C02`)QAqBhRyfD?Cx6WzI?TL8`v7f9_HiH?=B8Kqym>`f99jachV?+gppN4O1tNtaodBO<>=v2Z^p%x;OK|{ zo1xC{Y5Q-$ooP7&LMm8+`dE-6R!WO*!>ckVXrO8X3v?B3(g!isg zcxNzgK~v$)C5Tl+vY!ndPA7S)}gKez(Y+h>LV@zvm}XlMjF;bAW7mS?ZsvX4&zcRllt z$Idw43HUZqpGk!Mf9$EgD4yQA7m$kqO_FDVyefD$rIp=xqUdunw#D_?Jym{vw zbIviwd>>FYnP)H?5YsAfz^3{z0RiShhN_nIK~DKf6DUt^jtCKAPqX*Rf-ru&~- zPrng9WMFyDQh{l9HPF*j->(6E{K=1Jv3<>x3{hL*b1g;JKJx`>K*LcrdsiL|_WK?p zKe-l}cW3LS8pu*?ju$Ka?s_W3uL${2?$8L$C0gSR75PKgPF zZo;_yjrE>&Hqosn^6KkqQH0AlKsFvjSV&h!PBkQcHD5Yoz)MvU~x@*29m*n5mzj=FqGO z!x%|JuIJNYQA$#@2m4VA#O0eISiahW!ykqux0*W|3c6)ZgEhMzIPmv=*BP%TMdo^Kek8gcB3OL*QT`3(wFNdv z-P4Z|$wtjrPtAcIx_$2OQp4|=AouQ+qdA9t`T98O8fMRgMJ>g(D!)!(7hKj;_(8!; z7C3E%b;;zrZKY9fWiDPS8f;xLK5K23mt}Zo0sv39YRSn8m5JSlKYGN~l zqjK+l659TXUIQXcUTWdd;`t)98f!iv&9~4u^XdU=S#y1g< z8C%&aTI9ONS_)?A3F()Bw{%6h$N5vx8Ga3;Vm0@EIxYiR5RDN?ac58|1Ia@$0QBE1hIhzeN=#Gk$_vzRycM zuB?rK7Y)AVOlpg;M2*NR+h!ebMRAPJE;FanjCxAJtP5vUNrBbI>HA40hI91sdoOCh z4lAbx6m-0p54gcEGrmDC(o+EY7xb-SAgZ+A?=7*v-IcMp;Cw@GRNz3V%V)S>dPM_)#TOjt(t z@+3#Vqp0z^iS1MlF}GAsN@qez;+B>~P!6AxqBh zZJ%uXtwAME6|JmX4;&!B6!e(-#Gdv^CZB^P+|I-^!)((zJNFw=Yp&PxL?^NpUF`+?`eIh8 z$;q(9skD%c!)+ONG-<;S9iS`foDZ{xB}lO$*a+M&FVQZv?oeaSdhP1!2PSy`YG zZXG?fbc{7_ZTeex14kfpSo9mnLwc5T^LT?Vsn!_Gc>{+#}7T#7feC#DJ(ZV=@U}CTyOt*JM zs@Lr>M$8jiZs5b%ZvkEz9l(Aw1ozcOQEigp4H#D8ZTG|zJJ(~Te}YQ2 zpH~}F1jaW3!+BmydRoq17yAphX4Fp^Da5>AiHSt&Xu~snYy(R6l7#COFUEK$8#X0{ zmt4JgW02CA(;#qeJmSM-bwUhBeY0HO>YDn@U*6KP}zh@6Yz%q8|L_AN_YQV?51*`Y6rUg3O;b9&TM7^GWCXH*U8Zif3ESopo1H z^E%D9*nKG%r`xQlJHqq$W65Gy%$XcYRIzzCR7F`5&*&!{bf;FcqsOz9(HZ^h7u$A6 z$HkI0!!8tlTh6)ioZ`>S`)Ys56F&}LXDWTlT%ZXG&UdVqn?N0Mf(+d%d!r%Pbu8#+ z-V}4%$@`rH+STj1v+HuZd>1}p{c}i zIQ7QHDhs^^LiEh#otriYr#^dq3ic>6`9&;>VR&C207iMiQcHW$@c zE9b5bgAVzS@_kQ|XNo7lf&4sV(yM&Nmu&k!1SiEwPgX_tUQOuv+@<~ zxrDE)^;QqOxzbFc%EdTO&bKAeoz@}RR4#IN^C%m&m~yLeRIuBxC6gMmrtm~)Jtg{^ zs)WW6Z?UBAc6|aI17}lqoYD?Kvnp#$B*`r&cm|b1OB_z_d~caMoyYD4og$sDe$`OE5^p5@ zhU>9Ho&Hi%?y#>T*#OxxNqh+bCMi!)(To!}&g}^g(1=hkX1de6PggK2vOXCe+F-8x z?+py{s`8V@QYOAnm=rfXUervVU;knngZEZ0G&ji4-!wwMSSQsH{SoAV30Y#m!*~xq z8~VkBwFxALSzASY+^jXY_w)ie*T}qOn zmz_B&GFdudw;*IH`C9th=shiH#V+evg}@BOtC@M(O?48nF?hfH`LP<}b6@cZ^q}pQ zGj}aJ862GNcOI#b>6LfHT&T1o>&;J4?!%SCOcncHK&3>ZM0;yF?Vu&2%(q_5!NbkbzO_A?TVz=UD0e>lqUYq@RV7p};+2tQJ3cC%O~tJh&Us-Y?HQ5u}Wfv6fSmQ2{1YaAR< zbKA>O1Ffzfzw((${>!$=rTp;OP|d?|AGC>YfaJv3BRyGR3%4Ienp(!FFXlUKv$HfX z8w29^ZB&Nj0rnqM!G|gHO`Z<#o-eu=yEdq)A%AnFM*2DI8EjwNIl$}VD(yTygP~x5 z#x|r{E5mfaVxAP4pZvn!?NI;2r`8q8URErtpILK;kCGLL^Wj{bM+aS^up%?7q;=&y z_5F_)^pa2aCZumpYq{cl<}&B;*`>of*q<-~e4byb1Jb{jL+y;wJu&#xwX&r>wN3)BpGD0xTIGDRC@!^v4^els z{eF#h7Vi0v#&!;(usZ-md!J@|q8{N{8#&Zz)FZahfUC=2Y^WSyn(}3{7=w% zQSIFYEU>BO9|ac3zX~h>3LC&=PHP<4yWttGm!i8}}1J_IL0~Vmj@G0 z?(kF0%GYwKjL?*$THMGl<^X%pm@nmD?V9{P?|*(zn#%>qZ1*bbXBuBv8B;t3%t7vJ z&;s3LH=I5LKBjlhIGwV%*jpDeB!J%@_Cd4I5CpOMs@|!C>l+Z$aOn!`9Y=>X?}3b2 z;nbfX=xr1jkUuR5Q_cY+l6}860Rqi>rWlInOTep}dtM7S8eTw<(c8B!;7wOi^|hZw zA4WhptFKkP7d#IY{9q%;-$EM7M=csUJ$bUp`>d4kLgKt1t6~r{S$4`MUgiq_S{LBW z`IXM$?|ZA!ntedStqX0Nv#z}{fK4iakrd18Bw68~?mk?%U-A)P23EEgp#{u}{fKkg zUkcu+EEfY6wW@E%eZD5u0f3|kaHWL?7Qsf zX*}>xX^hiU^miX%rxJS4(U$%ql%d^(j_(DWeYDR5k_ikg7EOD-9>}$Urbz?+*bmzb zO~Bh=5ITVkrZW@PV1Qbo^UqhkLpSQTqUQvF|Ld3h-FHG21qOy@1 zptpTvl@;qOTJI}-kmguf%r_wK#1||(Ixgj>7MFyn9u+ykg=9^8e()Yhhf58Vf&bWE)P}ShRIJTope9$Y zHrZ^xU9>+)ZhAuK*a6IREMBke117`FKfC`JQ~uLP!T(+#_51PPZ07!VukRlV6o36b z3;bJdML7#qU6fG)EuiZ&J7vbFmZOhi#=(76IUw9ItnE{%=gHZgFznafkDzgvyZ;)* z>i?Krb}#DAM0jS5|AqZu8^=Kkf(eJ-#Ya1 z_X5s2md%Yo$Ui7^70i3Rlkn4i*UYI!lTOEwHZ}pOVKH8uF^E*9Z-zU` z=;kgxcV`rYw1bY{BQPTk58sr3-{DjOED`@)MXP1BTxX-KBHuAGi$w<^Cy;lwYbvTJgbAV0LCjFVSA$&B=si-l>kGEywaY7q7KHzuoYpVk^>T@1w(Ftui8f(rG_ZA8z;Z z(9VzOhl~@gOpDK@;g?}HBDDhh;8B4#z0tKpxy#uz<5KUGrw%W>AnkBo7fT#v2B}fn zxLX@jpP{E{!jydn6n!&EI!xk-YfO}$?74<{Viwl|7nSbl=4S1}H zD~rGz#45W#{B%obr?TXv@&3gt*=rf{`+pb!25?MF(Gh70d*9AZ9efp)^12HJR%hI! zp(B)~V_Dg`UpzJFTg>yNktVCRA(4P1(+aWG|KGb>|BF07R3s2~HHd#oHqj-mfA|sXB)| z{xnzv{{-ad+2_MLL~hrZz1ZpT$Vkg_R6CB+puLdUH_~#Z=}dC~>xX?*{khcV|Dc8j zjC%j2p6|f7qNxEA(YS{3aEY67XZ&}{@73HsU5}$3_1FHmA-kz?Zof7N_5;=kJ_!v~ zw#-?~2vv8HW-0eLA=wr{))AemAW6GR)qZ0)o?lyJz@;}6GbNmv9n%@ZH;L6Y|{SVomhqO8KLd2mQ25bkiW_1?>j&tBtJGgqaa@L))XRw?ho3MK8}GXKDZ&X1g)Y zJ2M(Gd|dGn8rQl`YOH7{!f(VGHmI}7-%kshUK+u#Y>hnK-he16HcZ)uXBZ`MDLTXM z#;cEco6oIUmnT*tCegGg@V=j*s-K{~S{Hn|uO~$x*5$`XMVJQM>zJ5#KVb1;S**^F^cBQx5qML!uJGXH<`%CAP87T55^% z%(SS>deHWL*i`WgZ+4xL{u@=p)LNHoNu66=AyM}E>^+2_TAARMN*b$enFqUJ_ z?qPk_4@hmvj*=P(MXRqyNsWq_AS1eAg_$Sg$qE;p0CBtxTynNM8XD#u}3yQ!)w(9Q@I)bc1+d(;_#0tnc^{J zKg!uxdO#jwDjI)d`%XL|!|z_9kJMSfEnlx9>3wMO?bHz0T%`lojWM8O8nQcI_M8VrdOKo%L>gB6 z-#OxXAOt2bbk5MkQ8ta!Dxr$?Qm*|Ylu+fTh(Wa%-mND>*mEs8FO`4H5G=RWyp$TL zo=xNGNxVl*Owl~1JYOBK@s5*Gx{H9v!wF&c`bW*0DKll@r;g>*KOa`x` zj68=DH`LcX!>X}^ocV-{1fTK+;7&nJ?ED|L`1qe=qGaHP&OvW$uVsrU5PG3|xE&ql z_|Cs5*7p4bw0pmAk^i&`+Q)L>xYr?qNbNbQBTaaU4|Y?;NXhG6)2Hm$wN}uONO(@~ z8ev(OylZZ%9o)QYX1yY_xmFP4{Z2XtP2DF5ww(KwO2s_LwOvOZAb?bg764M|I(2-V zSuMB3A=kHWEN2JHPU;>#=_3iKCyqu>9x-lmn`Cp)=X(A2=?S%~a+XE-E}njRGWp20SZ+3c6E|E(TbZ6-Y1h2_=IUcKpkXSaIE8vHvViY( zO(JpwEuYsx7O;=|iDigF0zHieJ63@%JXaQQ>&2F;{g0zEqMzHHZwPdQ+?ymnzem?Y zr!b-n2)g(iF_RZsAUd<#y%;0)PEnFw0(NZ(k)IT`v9^B2*zst?)y6z4&M7UmE85l` z&z48F$8L@K$x_|abdA*0^`L%0jQ= zdftm@F1*L_)^ z5HXq*<}(x#GS+zJY^JHu+vRmj1tqth&2v-oZ~SAGfU@t~6g+P1v!V6s}th zu1fE6sO9UO=#=Gu&>TKa_rE>jgx#Ft)frF~%?NNuMiPyE1Zs z^qT8Ea9muM(tGqscgj`^3Rc%t;wIEzi}^B5E!GGdSA=i06Ry=yKKhDe3w(nvextA< zOF-|*BWtysGhd6BHit^DhOB-w6BBQ3TWfqV|HgZ!nsrR0SK=pVs;|o!J#rJB;Y|u) z@KCW9;f_wFStUx$(5u>44g`=+?B54z45>bd?DKChNS}^=dhJ>1HVolZ(W27yy{<1- zgr{HsZIqs#CakPORc0r)rhDm$@8do(NulqxXQ(%Rf=a|o6S~1VhPJ<>lw(3sxsc^d9lWXpw?F5xjkmqIMAMIsy5_Z;-`Y8w8fsVuJrLETG&HF96u3mj}dXd z{8qP^Xa1#?Rk|IF?4O_!Xj^*L%ukR3uv!uO<2t|XpW-X#pMcEmchvebYDLED-o3)g ztmkbcPI@hKL^(A4=0Smv&ZcXpWs@|&`&SQIq_^2W?WhtBsG>$r`1tO)esNZ(tpg5v zOM8gq3TpmgB{7-VH_3^^l5;79B(E5^rL%HbwI&R88OnxbHO4%(8o@X@26lk2v3Joj zRCsQ;`~>m4m2ado+NdeOWoqddC}n0Oh@p2caXdgfHN)#OF8h{9@9v@xnC|emu0&>g zKFm>!auz+g*f`2xOdOPD*~fR?xn<2PVI9!yXPbYFHtH=e_dWE6@kD(s{}ViL@PNGB zNut7r7#I4S^lsFJ2&9O9+{a|?s93 zw#n$q28`A)Fey|WwE>^;Vy6kgk9$Z`$=%8^Dm*vGb~)bb(lHbz{huIA?pRU4PmtD4 z^xOx;KvvowTRXKho$(Crj8Y{;I5LO~rN}yLW1$K;n;Ol>a*lz{6 z2$Gmb{4q3lrd?7R={<6&nfV^LfAGdwmezC4HA}W`@G^fxIb5^lM9jFC=8%(kq-fogDrWDlF7M{yAg|dr<}!4(5B9Ss@k5XGfU?bq@9mRL zc0;!bU-S6SbZvEOKtfX?9OTiIyb)^Z;^(TbhfkH-bzK;ru(8`Ye`89>&w8l=_Yeis z#x!VO?xv|bLJ}2|GVk<{gSR>xPEh@B7NYI&hb`>OP0&q}>@&Qd4h!6kz5gMb{uMXp zcWYDEqH|&oe~e~G4v!#+9jQf%v@DSicD3p) zd@^C61QpEX{Ot_VL7@zOkVjiXJ>91KZjlfEdjt4r{%p9Dj3fNgaGK*$_RhDMAL_IV zKS9SgMxV$+Rn%2EuFwT}a@MInP02^%@$QEcR=O3en3U1wV06yfQDf3*B+kBiOWls-pWmJXWLLf)K4hSjN7tvZbMnQCaM} zR)FkI^@O%|2zOteK(9=G_}EdPg)%0_zK*v%a3b;^awf~!JpbQVve=7B+hDF;81tn^AEzW|0R z$rjm7I|R!+(ks&^2Ds zVMy@N5*}^lKb z{5wG2EG1eN;TV`r?tyz%UvbYUiR|vwx#8jH{%JW=1J=tUMHlhj;EaZ;-+ZLXssFz_ ze)}Ks`hQD&dVlRnd|;RUvkS-cOAq@mmjU0rIi&HKE81g{?O6MT83s%1l9l<`8-=_D z!!WLyrF)sNOQh5a1pZa+sq$8h(ea4R=CO{CqREw1yxp-Oafrs@`5Afb?}zZ$%6tNX zHo4p3tux7rVV;qIk3NtM>usmP?}kfj^yAW4k_eQ^n~b-p;K>Laqjr1{$a0Q=(zesf zVTLjGk`Q=bZ^Ps?9R>9lr(vuGFNw8)JY_K+lj4Vn7iM){uq;=fq6KMrrP5^joL)J? zVZ%OCzJy$^{7`sc)!7Gf(m-l!%V7jS^PvS(II_;&K6om-lLh>!_(BIS{uP6}oERq) zcK}V4Co(!pU{Du|#gNhy_djzq6IyXe-1o!;;vVNmb%E-@bUII@Ia^J5%)6$HYG?M_ z*9mQy+!<+VPBR2phWyS)`PQh0x8%AqhQYzkw_s*J2#WRJwZ=$Fxe&c&M85NM&0ntx~t zaFbcbYSqEkn4tOI=3E&N{<@~IsMT*vSwA*l0}2TEL8L`DzXg^z5@^dy3o~BcDexct z*7e=7)L&jb^%DGtksbbi?5P;&M3dxg_xiV%7qn&>ME)hj>V>48`A03Kh~A+;j2lvDydFMs@rL znzsj$tQ|1=6wT4sdrXYJ&VJGWuq$qv zZ`{j6{LEO3qGk-C(^<%BBD~g>SKxi~@ZSEGQs1%T6SG`r9l2J!Nqs81+h$zhI0b_? zisZIO44ziJC%M|a0*NnBYUF3>++6PF+>-@V*|CKYIC{q17;&`7kBd49<)fzECw9$CPGurGh^8brvBNq)VAzxPyshB?{|&C0T|nv{ zdSphK>e6o+_XsjL{=yjS&g)p$e#Na z!c(EGg|$HdwbFdj`FqGN)yo%x^!vj?P@FP{*oc8NC9h~m(qZAM5BfU=Y;Ghdo9`8f zZ+h$)bodRH&hFv40b_eo%&tF`iEXV%I=GHrT070)%#n-7EohzQlgrfpBR>L?eHMHp zpIjoF_BY+m+rSd94;4*5vRt33Zfri?_a(m+Gso%e$ytO^u*;a&gMUQ?Ho)tE{D^C$ z-|T(qT@X|FX(B;-M+*9_CL&=j>aqss)#MLhA@BkDSLh=rB$Lu5a}3~Y>VR8mB0Pj2 zoVb5dVO-^lPQ!)*T{NYPf(=}u{BXEZfS%2?1op3e&V^a53<{^^RYrkq%WZ z;)7~=un@hwPCr3r)4~AG9Z{FCK2{hvirqO_cx4F~!I%3l^v!z?evOvQk$SXiusJPF zyR7QCbtYO(U28siCmY=M0dNO`O&&|^2+E$lG?!`v{46uav^{Mu_Q{E{FE}c5p94Mw zJG=sH@|c1T{seJs5UD%Gdph8a4)`wwbYJ`RZg?8Yrn#`CXM>FG+Cy{_c<~e;noAP` zgwHzm>>;9?|6=G5{F(RKI(kkOVMLm+2&pufNO zi}^leU*!>Z>RI6p%*qA)8Yex-5*m_jIfvf~E^fT*B{WC)x`w7|RU@(}8S_d&kL394 zF`zJ)hj(F$eD!*O5&l<4pb#mEoMKRSatG|v_D;Dn#J!;E)>P)6bcRAXm0t$Jizsj8 zvxJQ-w*T5t$d&H{4@?kyAP1AakJ@Jdjy+6AbZ6z_8v5^isxaRvYl|>feOlo9to9JO zw1D-2*h|kh#f-2!1wljFAB%a4%OdtM>O}yPBBMF{{fLu5Qm>P|9q~@@r61QrAY*>` zwL1s&pMQPyRh>KnJ=V|rDY|m#)f97_6Pb_b)K;8tA~QKFXZ8AhkN(>-Q6#Q$tCqKD z9e&d6OC+Zs4mfC$62q{bs@@=H(mO$cy_P=zX7x1>YHHvWV~%lxuGmNJd*L%VqFSvr z2~8Nrjx;0LBc8Lbu=g-zm(PJfOduF>BCDNO_pzwx4c{xPK*LFUfq}ZD*ah%HjM_IJ z1E!`M!Rfz33>RBdHTSc%!Ql_Fr(+^JgKmi)J+7X@CCiym8=!@A_q{tI`kKK)dss=% z*o#bA6f%;tY;F;5eS^X7er6VPwBf-VZ;roig9+i}_BC z6l>q7Ef?IvdlR2SwO%*z9^h{Wd~Z^(Nq4mCq!CO_-xSRzyH^U5yPbUpMp4_YIRrZ3yt4+Aj z{Xo~!t=r`%$Vj_qjez0boM&xYIDJRN>wqf@9?l$*VWHfU;Z_umG=K%10+u-x18D3Y z8~B-3f+2dUM{!vK7m`##kIa#l4W#%zHSA&GY!*%iBEW2u*x+>3%(gAU)b}TdsBjoa zb=xqMs&ikv)FwpHo)#t?gcF~{oX1Ywa~N8Z6%LC?>=s_vgT?>`JTJ8;4<&xX=6K~O zUWzAdaPy)~wj4zL%@l%a=5gH90|D*Xs3eusQ_#V&KQd&A+;w!fEYN#WJ#ODlQPL}U zm{1U1_-VZ4j|}M}B-<&d7m@N7Xb;3~-M;{?Z@fEee`FzsyFr(>sXR%VjCdh&uu=ar zN;3%l^(-Ui`yjQuejB;A$@2XtsQVt!ic8rClkkF4r^+%=(xa6_iSe?Dl5b1pq-V z0E~sF=yFL=gLMOUxWZo!3oW5IGcE${0rYc}O%64i{%y9X(?Xh_OSyFqXpkk|a%ZMX z8$&mA54|UFlqy|2oNKSd?t3bXagTjHjsExpAtVF*fIvM@Pt)?%z#I4oam|#Cak?LN zmN=ixv{)iVt0T^vbCrktN_t`>b;31%b?z`fK{xk*vYVlrVA)i+6C1cSO*QybxlBga zx|W`nCSByusw2c0<8NNoGUvsi0Pny_=$lUo-D z(bSz;uZdgm;#xL*1P(*dmNhReF_Gzu# z3u+>3&p4t?iq%4rqLOrK!NyuJdddaU5eE=kFQVtV&p=v{@(pCI2H_HGZa-r{OO zh)C!U{Ir`kucp!${%lnwktWO#=|OhMM6jbUk_*>D%zX8GcB37F8I>)VncjBB$F4YX z%4MJszsmR?O1&`Fx@FQ))#n~6Mlaanx$_seV*%J}vFh5U$d?J#a!pbwtOmEg0xBR^5-Y#uN@T9Omni)!%ucUij6P za{tPP7UR*E*RgANJI&UxRBdJREK2%3`10zH>UT6X=J~rnX!<>jbzTDqr3KSIgSSq_ zEICB|0v1|K3wmfi^&Ng`;1uhP3BiiZc%aQt0>C8GUogoilAmp4xcdZsBnui1?yFG? zsc>F7q4ZZ^;m}LJ4ZTEZf}DP#piWc!1jjg<*P!YlXhjI2)o?+yE6qPm zd)(jRHJ?-(3+?hb;NqtL7trEAf*r-1TK9?SMNy2MEma)uT2`}CzZ8G`KDeV!b@g; z^<$s*F@#qu*yCYj?W4`W9loupz22>5FUe-7eHcFKH6Nb`+YUyjD@p~jt-&&A!1Zo1 zV6dA1+~;rkLPi+Mxt+9KeEil~-bDSBSFvCY+L_!~3)moBn3P(%$g+4L_~z*cRwr7| zZF4T{%x)nm6BOY8!bjYI3OAa%DC2IM{g?RJjPh1xt&wOnIGhh78bbw0tof zN^K4gT@0m4Jwx|M>gy)JAJp|^V z?hC!`H<53Q&}{#(!Luf3~(_qS}Mxn>0bOO!)A zIQIp+P2kx_t%mK%S5)c`Lf_RDcrQ+r2d+r}P#3C%u7A6U-cacs?KCqi8dlMcNI(l( zD$6Q3ae8sJ)W5qi_9&~`%6;?&!BCWzQ%<{J0qI6hga3j_S{RB`PKy>Ds$OdoU&U7s zOwtk+M$PXc=jVv089mgLOms^}N);0$J`cNlDd0Z*byY^m&{IP>+zq^bTmvphsH#8ziaw1xZE$ND=@*66w#VXMckvq(33apWXa(2Q4beqc6OoU2vZp zw*ky$3G^tiK@9E+VjO2Iu#AAHz|J66MVPhm%D1m-)BOA2ZEBO1lziHi3ak2%Gk@mu z3l&sdkkXO|H-Nvs%Pp|}1d06W$Y3z;qwdSF4&6>)5}3NkM#u*bA}i1w#~51B&yZq6 zUjxRh+khSZ45Ryx(>7)Q?X;Q%4iD46K$1c`%=G6@MxhRdVvx4T{S$NmT4IlXExUlR zO0Di1nv4Yw`Sl+TIaE(Vo>*W3m}kW6zdA9`xrWr`>U*dTlGTGeZF+-u7P4~sw#z&% zJ<=&(RdfT;0!E1MVZVkJp8Y`Tv1GlJHIpEUO!n#*bn*Y%@*I>tQuT+;HcbW8sGn-ZNc zNMma4tr9}*$2VHmO7&A!g_cqlLyX%lLnr7L*3EkTpu=^x zk2pF+ORJt|1qf~w~ z1GVD4G?>Q(b|AX$YGgig&128){0y7yF>9Na>kXJp#Ioces{S3aT%bFi#ZH&yiA*AL zc~a*}{ZXsE=r7x{WNO~M+Ps=nSakR8yf~ca4nLm>X255NAQ9Y(Eh%pTmT!eqm>S^4 zEp?{vmZ}XWtq`HPTfE_c2_DYS>g$4Fhc)e2*T5y7ONo}Y6chL>Zs_r9Stpk>i`V4l za`Y7L_r+dFdrru3ujT0=(l{*}yBq{g4k4d%l@YfOpPM3Itc{@OO_XA{9I3D3-mL{i zI=lKDmzOOOKBJ$Zswyjp&)i;Ln}6K%_Uw5_KKwdlit0)6X@Hy~OJMM&1CdVoQwb_L zUrpq6+FTDw2M|>d4vUio(fq0z@4LZUZ6D}zXpx<}44{xqF&(I&=7Im@=x)y6eyFRB=haGK7BpEJZXSrkB*~=dT^8pk9gP?qyG6=4vlbDh z;U^pm)L!)zNXk#pxp0AV8%h@N-e)0lzaS;kUmzt>+@f6-xKS((<0vjC{gUT#Ju?hN z%#V~QDET?HSQi)rm*Llvho`W)uSL?88Pu?$$t{T%Ug}z~^4sC#Q@e-wyuLfH`7LFW?f9m=m0>s$!E@Ye- zT9;i)ut~H{H&%c2IPpT5pWwFO_QhKJN*j)%E?_wJ1-pZ`NVcrK03U{9X!}h?Ma?07 zN}}?OI*n2}P$FF4C@Zx#_KJq_6K@UE+W>&M0zjF6P>_H*sf=&41$~mn&5Th#@0B98 zf0o~|7(1S{Z_uru-(Zi!LUvD{+U1q^l);a<-GWY+E@7p~#e8BvO+=2Br?lLFUk>~U zdfcMOPWAA>ysg3~&(6gM(?ot;X%+e z$5c&`iKU1+_(^e`i}fT6qsbX(@5=|I-4b>Y^p%y%o!=_0vL8=$}2I%591^a$&b!VdOEja&k!xCZE7Hq_8D6dEEmZHQ?*9v?@wL>4`mPlASX@4&)=KAODW6qKx6p1!aAH0?{y#qJMsy&05&HmL= zDY@({@epXK1X|ONp*1PkL8YxgGIs-e&^APzBsr*Z_0WEuSEEm&uI!h$)Z1tCOobWO zR~uJJp7|?o>)%IfX7e*Z*WIHX@v;S0T^&N=8cc2{#Kr)RkJ}H9;vSuvKicmtV*MG7A;Y zTk;_`6T|&ZQTZkw(9|a{{ivy|Npchu6AxNU9Lk0)>Eg3ngg@Z9$*aq@x%LdHPUS0< z(9eo-4bv2{dcLc>^Idm6lM0JYpO!AVl}xj#)DA7g0R`bxrvM0VFLNSp{)|O#P7?>J zxpHk-VBg4_<~)@v=CI}MbQ1??5wMcd>BqjOC0=4qj@EOXT6{gXT$3AfuQFtjzAA$A z`tP64l1hg(#}fGzoy{T<#vV{JU(uYh!W5IyR=4xKaQcsN1`3gif9J{f1sNi%X-3ZBhQCcoxa z&97cRF&ubfXByj8y*to+3e2UtJ+`JW8oPHV|K#o%Qg=nJ_yjCGEuVg%Mo+RKfThq0IQ6C`bM z7pSvf;idc@Dy9y}Io6&)u)2O^w|B@X@YLOoWm?qkjswTeO4^<}H*{iRd7+EOv?z;h z&|bAQcALTj?_74RRo$)^yU7I3cPoc;$=I!lJ7&JyTmIv%mo5X6Qj?*B%Y&{;t;@7H zrj3FS(v40r%9bgMfIvmKrysI|pLjKSEeyrsL^)=5uiV~G_#OBa;~YW0b0d6UzTwv- zJ}`YxyGccxZl>1DzIUYsv$r^dw*l>Yp$hKb#L>)dV>430`iay9Xl(E=b`SfMih7bh ztR6dYRcVSm?pNwPG@J_ENC)d_~iCo%E26)aPm_9vQySvv|w6_HgdT}U{@A* z^zZ9X;G2F1{cz4NCXmA1V1mL2N^J6p)ESw}@{gyVV63UC3cWpe+A<;_O3OQmt5^S0 zgW}T!e~m4*qI!K7mmh^xr#)e$ej`5=un&+NbZgm?HXcLh*J9I5&C=9`N?!_}?jPq8 zr)&A(nzX}5FHlhwr8)>x7wx=ffiX4HNMkkSK#RjZruRoZzkHL&6O;|f^G-sjTemJK zz=bB2FGF&CIOe;m%bZxL5rm>njDNTj1tufGH%| zGNQeeO&*3aK@K6EU~&+lSou=X_8|@NN2O&)kLKJBJE_jK+v_wTdD8sO1+8lyM6cr? zXm=mNa;VZ1rNP0|X99;^5>q`7hF@28(*NA2m9>A3q~SvYm4plr_ZWrjk< zsFDYxoR_RW(Tl6c2JwT*LhtJ5jUsQi^u}BlWXJ*~D?Cj%J%#Jw_uWgXs>Z;bZ^HSj zuk?TJ>&_h=4SA*-&^3*dg7(%AUphac=nJ6%a0+_{G1Z3 z!zf$KcjU~|p18)n9Z5jV&`TTmLW&dgX9>LTAEEg1) zqRUHz$9a)+YL`WUj;Bc5f2h%?lBVv5qsg-^gSJiZW10O0)?ho``knDdF@=M6>saTO zYi(InLz`KJ4A}*)+`d1E$rk>abM_WWq72uDcIvI~*D6UF6JX zALW}ALpFY_ba;l2t&C0E+nID=UX}Q$xZOiv?b{NHVfU4qL$N5I=Vf$F{ghbrJ;_%zjrxLp=)#cHSdK> zF!kUsnbd~Qt}?q%u#Vkz?VuwP(82q;o6HM{3NkR5l0i8=;gIWJ!SJ4?<)H_j2G2Po zDhfCn`9WQ>Nu*N^OEC4MR)`vOSyH?4Astcg^-SPM!ATfqjnKIv?}yimEiotA?(&Ur zO;8*dl4O}s$K2aaV$y++HO$aOboEZcJ_~FLHBFszz^gFv&_I)H9RenkZSezUe$D72Qn33(ia9lB zPwkFnRatlQ&Y77leZi$;?5z>gOcBpv^H6|**;uZ(;Kv&x;}v0r*{1>N7@I>7GsrEk z(jH?n%}%OZumQh20Gp|dIFo-_g-wR+**XPPP3B7=>J z#!;;j2lV8sT{SL!5Q*-==&vAf!gWUZm)!KrCAz##O_%$KPL18nYHkjcA^c{gWdoX> zrj&}b)%wogeEC!}%f!((xkraUBcvBi;-m)5kzuQrqknC8c2vMTRZ(Ay@}xt;vT;rV z!$=cH<0gI$7jo*5Ql1C%zx6l)wiJtJM9GT#2<$7sIx8Uj(c=VYXH61k>qp4|?X2YS z+Jb45X=k!DJ%yqUj9uYRp1wtYj6%;Y2)E~^v355 ze1L0$CU(2_*_+yIS+W6IMO&tnnvv4}!tMWI@4dsCT(@oUAR;O%qVyIO6{Lt#q!Y^m zM8pUPp+`l!fboW1w`-E-Id z-RJQS9(}>&BcJd0&N1g0bIij;@I$uv4aUDn&t-_EgNNWB&yL<~-7BEq$`iqynwLqC zkw=_@`n;5xJz|?uNp>dKhVH&ls!*DW0NO~#{CE>$Zp4@`0riNJhyGg2W%6F)se7jp zI0s&qb(ppp@VwMrAENE9zjy`^oXzuWF`!}}0c5&Ni=jKk*VS%OUMP0x0K_L?2Oib` zTP@cBsO8QApL`1LKu-UJ!j{Y2gAA)fHsMmKlX|63-4^#$`|v!IR8DE|65CNgCn|x? zg;P$`dR~+JOf$FdiFD*4ugp757>{++ZP6K^uH6D8b)}>hzx;wT)YE%+xgdHVm^tqh zlMW%Xb{}c+tyvq8ni;4(D#I04bCrA!cceA=(^T_@K5$*mPxzMT4Mdzre=4{9PdMTK zs~zcBM^9@j8IuPQXxL+1R}6q&&$@jtRB;+Il_u7FLUi7i5uka_LaB$j=kjZX=C409 zYEYaTveKnKK;7F|vLG9x0QmYA%JGvzjaBg&Lud|&bAF0WTU9DDyt6CBieG^Qb7Lsp zqwgM~77_ueL#n!T6Hu{7)oaJ6!722Bq|kw&xhF7^o!7Jy`+gh%(gFkD#W$p*m2PiE5W2af-XwJc~1`zL!+6-raJsJUPI>60uDgt zVe01}VU&0)0C6{rvZW|@J~_mKZ`Z~r%$5mZRl`kgW9l@;qvX#AWPtsJZh|=J zLE1ekZajZ_PUo=}g3xr&H)Uq>aFFl}c$SZASp*cSE&$)Uxn$dn6#4uaLt{ZRTWAD9 z<3%!zF%vpV)TyzIJXd}eVmi)$MMgbH+yY#Uf^Nfxkr~96uBS`g99o1-1r>xgm1EI! zz(&5;C96gr_pOwGIx*^D-_nXcW328g`gXtN8>&bF>DmW)#*_%%j$xCxY31u*$V}(_ zneIOSM?srz9kOza;5|+c>qCl=op)gDz0L8WscC^I*YjJ9JUo!)@U2a>FG98YBgQf^iucmAj zjOMRmbb;~%&Cpf3?JsJGuKNF^Dt2@x_{x-(#jT6>*V-D+p>Ln`3t{h?}k93VW_7ETYaY`D7~0p<#&rKFO~5Gw-qM z0WH`aV{i0ejgjVn3)S?yiFIEtDdqDb^9R0Ldwp9cZ?rrrzft*yNl~r%RLaB_<9Arh zqAC4AiH2_$S#@T;diNRO%O+zgv)SHI>~qtz4nOW3fG)#losfI+JE>%#yrUEzyq?T4 zDIbI?rf423O+M9kPWuRI%ruAWxQW$z?P34aU}f6C%rVyd+-s#ktPaE5o<@=0`1b5A zHC^7{ghiU70D0ec`~SWK;_s4?H%A!spYb=x1%sL^h}(Xi(asrPrgzr+{}Mzi{w|0{ z;-c-@#s69NXsJaRQ-n$cUE@AneCD!o8uAwg6i{UywG5Y9b?G$n3J<>I z3S{PYMfQdO4VKGiXD07DS={BGu78II+iSswmV5Ijd(qox0GNQU=GG#K7!{s(^%1aM z+xZzcy~WPc`Ex$|2@XC0;2=IPO+2d;!3OTu=~$_~G9UHW#Hjn&7M(Hb+F#nX90|6$ zhjEXTqmDoaUV`&%Ogy}ASGQIaylP#W$#m#&HeTs&z%UsJMS$|G0}$Rd*N%}ifRAQESE)s-2h?Kk5&g_T@-sn9ISV{c6pn-T zh8w*V9Eu9zQX3S7lsvAL8p>9R3*O*?2YX$7%b~YX?{gCd?f~~z^1yk?hD&q~gOUs9 zo>A}8Z{@eiHM64t#o5@#4S$K4vMBjc;pDOpPdp^8omqjNWcl)SX{VZ_t1(1=@mar@7Wdsc!n%CEux(Uius*q#SMO9^C5EI0jJ*J6rtgNEv1upCJ*M@S zz^`Ig%M#P{nqd(U1y zlN@ageK{5}MQTEHLQlsJr)InZ)FgWtpaZ2%rZ=H8pC?SYeW>+NuAuk_BioHInZ8v_+vE+is0sA$!g=uCkc?Bo44wD{P<*Ewbi#Y?=<2cxgWkK)zk2X7c;&`_T6XxeEdw{i zc|2-0RB3fR$GjH`@>^Rq@%5j7c650ek+7jh!ob_6Z`~Kqo^b4rW4?o4<8L5sb|8-t zJ$vK#&GdjK=%SnU_n!b#q%UY^05KqF3LNrV{AW*W?Q1Vrc^!aEQ+&LNl4@ch?^Xa= zNcjZrsM`Bm+wI@L58onMuyM>p-=#%Vy1R>(Y3Yv3D zw)GvL@hfYtpoHxA(U)&KT-Wj$p*n9w{fI&{Kp=PDf&bK6Dz_Kqn%6rxMMkP zbpV=3DlLe7H#@SUh9RRS*`ssp%4?g#dZteNTTAwm=__N)Kt<-%rK(R%+eWDeATcvO z=)ML3ogiKldTY(fhaCBOspXoCplP6QZT#Urzfzc^4~oUFkAok0e+jBqz@V^pZ+7J> z?vZyGTZfhM)gH>t4|Zwm`3en!%w#u#1@aKobmqiw!YwK9DiyN&Lt`gbfzO;5@~3S3 z+jN`)=XwFkaYq^aZB4@d`8g-=T^r_ExqPoV!jNCSg!cG^V6~IX`g3$|Ria3EnaS;p z7EMUh^%VZ3TA|dx#nG<|v*%F#Y}pv1p9lWI-2H)aq4`={EKU9vd=TjF+(>VDYxLt- z)9#IM_jv7jfN$j5w`>xVq`F*QP}{$98MPKFEkusaAC8dr5pcjV|BRtEamB7aMjGEX zcU{FSW)+O?s+vs8f}u{{bgh|jx_XJT89`ARyScz!&YBRe5bAwrw_Gl(;1HZB3dGpH zdgyx?IOVU&H}F9U*mup8qeKK3Z-Vm>=~HXyy-WQ?2IM<;%HJMR8(mH1a&S?pYk6T% zn**1_lZzX^yvEstfB?+ramv&FB% zb0B(orF_bp7G1MfHmEInG}V0A)Xu2AVx3IlSl!p>Npnjk773)YE%I{EDyfG^{#EFjO?xXE3%z<{zHL{r!S<)1doZLz*D&t zH;g-WI3%QszG_HTh;~4=)u*Giv{aC)Bh-trC2BoLFv;Q-v4zl?l1GRusV2E$1%i^d z+b^Zvj5yNs^($y%OEBprgDd7F1(iuLuBjk0H;P!fDtKpJjJh&-DO{hA@!_M#j^AD$ zRenENs}U}DIr530MpZ<1wuHJ8h`z>0!Hf;}1$A5_^G7U-d+A$@|0(9-3Hw~yE|+rd zp>TTcJxYc|-j&OEF-~z$7u!x(Ct4Zg#-t+p}K8jbD+gVb9!^z<7bad;*9jVb>E@^kO&A`haV^T8uz(!6(Q?gipN}&tFLBG8|4hqCVZS2ni_Xg^jnhE%F^Te-fc~&KHiB-f>u-A|2QC zR*SFOOMAB_m3ET;`pn8kIhaWQYEz&WcWA>JUbcBaQm8P3i}P3 zOEqn1mrCvaH2*P}dX2*S_r?1En|~JxB*lk(ByN?D!JO`rDWCP#h8 zeL;tY*-vK#NasGrR2JODU)igt@b9C3U}HK^!=%V&@z=;@s+Y#5<$Qu5Mc6#L{Sw6x zmJE^J2Grq@J1e7C=nfw`bt@g415x-7AyCAZ6yJzFN@f>bDu4N)!RZz!UXs~-W$WT` zqBnlD{C>DeB`P321+u38q7eKQC~(QIU$59^X1;1TaK@*clJ9d>w{AD(27lklTc3A& z#G~zu_j-eOs~Yen-M+5sy?BFCjJl=lk4BBtdj)miolc*VPf+IBhH9vc2l4D1CtEL^ zZu_#wV#3MW#~cLvAawxBA4@VQXP$Z?CTb$cvop44$PR4KHN_V{`@yvOB?{^eKRfMX z-48f=F5yp!+7JJ*a@gjHaN@v-VxBwU0{92~ET@=R$cCf`4tjOZz>2nmOF?FQp- zW!mN(Z@2fCUVr$$PHy^)ZQpw`KHa+bYI3@Vq=pI0DZH?LdDlF%UPKfV%VNe7pn~E= z2oUy}d<2?n&x9oCaJg~+@w>zkovD(Du)h)4T51eH$YRcLVxe`6qD?^RBL}t(>ndj?iGJ|Eqd2Lam>h zTIE-a&+plx$*#@KqON$ns)vktq%EM1d$qJz?z*gt0-4a}+?W6DddNSkef&8#IP?VO zQTN6SEs|YEzy-4z>udgw!|m5jV)o}8mf(`GG=ynCk2X1WlI!hUdsP&;{_G6Eij~f8 zQT9_NO`e+@)UK@>3hXPqdBM_P{?8&g_0FA=*A1s1l>1S zM?b8m8h?EL_M6NqwURvd0h~Lk6?~STx21&*#&P12XZnxi75+%my}p^8fkeaRSl17W zLy6L>_!9j#Vr#*S`}xrq9$&xajtXH@qBX0Y`y@+WVoh7EuUhlxzu>^+v37T0BQWj> zZ!M{PU1r|d_@w&Tw=?RDy60%RpSY{iwWS3rt*OnN%c8bD$y_TJ`*w4{1u?Kd;IsoP zbLROKEy@qYx?Q*>;gd)xYb~+o(*G(8JUGI06mk3;%qAZo#5Kauq~SQxwIc)65)|YG`X!oLp_Zuv;FY^W5Tr7q*7X2JCk&7{|8A{A8wHHty61sJQiIY8 zWSGT}J%+3U&`S*p&;VHNPUBdshwhy^08Qt0AAq=1|G3__WdssQAgg>OzQMd@1T?X| zH^h(+JqY>C0qEMVOaHpzzqZ-$AGTi) z*RLbx*FpL#eEdF${?|b>-?_2&VhM3P=<~a|g!Kz(#bVS=g~W|_*ik0JqZ{iQ4!Jx* zkIc>3caH0Cb6I_1o4ElwOQFNsVspqiLzc$3BBx&yeCc{rhr3waSAj`2?H%OsH`*Bi zSsYhfD~mQ9Hsu@@rQeCDrkqK~?_4q`^Oq9fr%XMf$mER1gh<}i@Eg3!^1N=hhTZpE zw+%^6xHG4!l58B`X(f`q}oBZ!v zs@h=+^%9`z0jr`sOMWU;W8Bg1)laLUNc2uW(6Y&(@JD?8hjqTOJ%r9QCbK_}N7^9> zm4J_(-fd=PIiblb{lKbGn1ns)B({fvEYQvMlEs3XwDvM3Hhje~S@t|?*)`VAcJn7#y9tq-)zwqGw_)mT&M-#`IxLYWf439Ha z1yoge5^#5SV=cmJjqO_b8-@=1*b(=e%4iD22O*RD=EI4lxiB86?$!5^WNwN#*PDCC zYveXAFOTQ0k=J@KeR3A&R~~s7_SYmuX}syTOdNokfYX|8No(ZC zyd?yP+wHjeLP?i;xpYM}*Y?MSZF}SQ$({NyyWlQYo$~^U=_+EU}9}GQwli zh#qj~eTFtAH#zd(AQ~TlijSneN8BWyD$HyrEQQQJcMX$YpUMB|F(-Q#u!^aic&*My zrMpnWi)E76$hNm&P%lNTxqjY zJi9vt2!Vc=4#SpWB$qD|xGD=Z(=#Oc+MRdHIqG&}<%=_T6{n+Z7S9wHk6Rc2^Vm@O z_i?2Q_1~Bn=lZ~J^==I#l2z$0D=&rfA;X6DV2OX+nE&C)O*S5)ll|P4%Z>U0pS}MX zDiKv&4=68yDuIeEmdOKCf3_58Db28bhs=FxUP$Y8ambuoFu4qvi)r@X8(sXO|9umv z4(PQkBGNjJH1Nw9zJr@>ikP{ImQSTF@$FZ!txtM+3@;!}?b@-)iC&kI}sWFjQbeoBqhs1+zqxL)UYUbsM$BKqJaXmc)jJzFI8Sm3s< zfKIG}i??LR^*ZX)H<=r<`0O66ls5%e9MA|}ffSE1SwH70Do=3=q!jlAQ)x*P^joP@ zSF1i6EqHM>;F!n7Hsz0laO=MGH z+l9niIoB{mOa`5L^Khv)tfF`$7MjaZlr|TQ|&A&$@&w>Fm!~!dW{e-f{pX5_$DoYUvg2v|D zX6t?;dhRM@Eg6@G=!ADyta9}<>-w(J=CUEhpVh#;4-5iwIJUKsIcnthAA|SB2^M~- z2xau`q9Hqh3KB=i^kEfY{~LqBOowjG8xiNw1ZlYkdL&&r&k7i9>Emu0{PbMU7p?82 z>R$H}n2|{NbkqQDLs{x$6*|bVg`<)Aw91(`Dm8Bzv|b*W`gVLyO6)z`9nbVgr7xs+6y&xXm+;9FSrX@>+(Q#i zy-ztrb~Lj)+SkJ{-ch&~Wvzc?`n6=;Zcw)%JxC86_Mx}-G6iTN@_Uz|uks|%+Bwkm z;!8Vq)~UG`)7-SPT{4Fr&|#mJsWWsRcXiM{zG9>)Q(RlNsn+qtBRjVy*04m*s^41G zxU~k!Z#AZJHL+%(JJFhSKI*qn*Qbng_w)A&0Rcu$$_l+wp%$0ls*9I6B3AZJz(V}r zFZPGYu8zVzw`7+eS!pF(udt5oiePSf7){{cxO(qyYMLH-y~o-`T=RF4MdTBPGMhzg zA5xQ+?TQBVB7cZKz8uT5Zqc%2ik>V$$W3|kxgHs|zfn9jHXVV&Uj%1it$;x_U#0i* z;SC=5veS=8?z~@dtx3sgCqja*I4WCfbxAZ0Xe!5EDjv%sRZ8|GkW3OYX!V!xpjRQvfkOds6^wkrDSQA&1vEJ^0(ey9Th z?sx;GsIFF&4y8^Vt})}p^#MHwCXzrK&6yf#3}8m5?LdAA2TFN>*gP5rp}3)czf3D7 ze-NuqQLXq?@<5q{K8GgL0}P<P+K7wiEI0s-NV|ldM|NF7 zS`A`&re?|{P-I?Q$0Uky3-OacP>y#dkNr z6b4k}03h#1ZL;YA9{%yWDL?{yoCzR7LAZ4rfCLQ(GXLMLhYGdSwy!eN5G_Ea3!err zJ+K6d9=Z^s94Y}QL%gpA$`DLI3r#+XyaN9H(wmJH^%O{w=Q>bCHrg#($?UJo{<_Ja z@LyZ%*8}wHxcGHA{udEw&;m;|n`jO)yF}d%Dn0w21E!ErCB*M=aj3*b-tSYa<)y97 z*RoH!1c$ycYkMCjg?LCqg1CDsE5?t+KYsyQhEytP8KJC&n`;XFsD(YHPrS)q*~k{ukyp)e;~r`X|UhScum2Q`z(uP&SEBe1Bc` z*G&d?*#G~w)Lb_^vRj$HlDM*I%F%~x%HB24o8FjpoE1NRH*(~~@aO~CF5Bi>1`jpD zP^ekIqSE9z7+L-f_k->u#dZXjepxwy5a4b=?{yYs42S3NWW9X~JX7PY+%5{@$N zpXpfZsO?+CE0ipK$rDD9?Ktyb7?;uDQlX5z%!h4T6;$-q9`R6SDrgtbZ@J9*_~q0KPUV+F$MTRJ81^moNuo@% zc;FCsx&LN`PG?^V+jQ&VAYaBwdXbR7A zl^f9S4}Y9$v&#+OT!>Q3PNW3qTJ@zB)b`kllv|pcn^!)dZbH&Bp=S-NTC&A1ozidm z{6n*<+-0;ZcyuXi>S}u$ZKQ3d<>?YX--Y3FP>KEfY^qx{S@!@mCTxYDAosG)uIcvY zuH^MQ&8nJ(r4H7BCvkOE4ncZ*n$$R~vhO6E83#;?D-iO$@D%iz6!lTXe(^3Ph_Qgo zu+NRSNzNb%sFLPd#5p0so2cXMvtve07I8N|K33%n1pL8>P_TH`1S})AnKO7(@R)ax zy3@$`n60&~dzD^4@$+lf7y9>2gd?cqs(7V=sM!2O`yIoPi))`o$2M&Vf?u$QOej*s z8GNvm^NkFpB&Ykco>PMEBC+bMC$7-H-=n<qk< zz@{S=3)uQz+cBS4tE8#c=(W+hwE&-9F2JWZ^-A}I4|5^FOWqM{6nBcTFMn`FdcCmk zPUr?V=G4{nedo3VP{Pa~>Ii>W0{VyfzpE>#sqOXs6i4VnDW~AGfUM$opzV)mauZ(b>%TGWuA>Ii_p{Q}!% z{B_;GmCSzK=U@Bk*K_p$?zv%lhtxo@^i>p?kjx?*Y3}pZuQN+mFQm2Exi(*PqmSbg zSw2pvy+n2)=X|Mb4h%Lmcr1P<{F8oQBxtYb6?y2Cb>x$D|I94y;MnBc*tH%0+FMP- z^JbatEP?L=Br2Vv^=ivCF>$Oq$p)OMp%O_ft5-_Nx2SHcuul{*;yn+XiKLC@^!(^k z>c?%JFDzIE=f!c6QKYy{rA%Ng+rsE7`UzWd6`u3s(O3FSoWd1f)S^w)Yv%pld3i0(s7j-=_G2xlwU_uC3P%>uFMcu# z-fBO|bkw{~M_hAQdD?j_WveBABH1e`zDT`n|5BBb;+(X;ymDWBLRpOVc=<>8;Md*Z zoU1a2BzvQ3vxphZ))Z833xPQ>(KUJSUA9b2Xk?5P-)HS(f@oywP^kxV7)4tAjiOE_ z8F@d__R3KxN!3$lm)~azVF5p?tvlbHC{s3Qy=SrpxMqrW+4N&YuL{Rs`mG{1y(4i< z&AfPAe@0}fd*ne=*ifLf=!>iqayw5usUp+z)Kk=CMY*d1#9i@x*z?NjZs*t6elt6o zu;=$(Da@Of&ENGpDgG{?7GpwYbb4fkhw*-V;b2e_k9Q{v{K))sXvIHgtQ>upvM~9) zqW8p79v_G!5=k3CTSxGoa%?yR899aztppfx+Ox(F?f8BD2si zJj1&te#;O=vD35xT`GkhUBUqNM2*phqE7ED5tGasdK*=qTIICbS7A5QmH=g8?lm0` z-bZ;49xQAlkx(KscXw)H=glTn?O_!uKIo+heS`IOP{^rEF;0=M@R3mpL`ZNcf@8At zPBWf&6L)%1@T8;DZ`MhHlaC$;D*IxyTG#YbPLsolg^=q*v-5wmxy~v)w(#i~7?fj|4645Z_R^gmFPx{@{2G{G$moJsAV&MVTAnTT~g^ z8(a89<{QexZ-);+?p?A6Aa64}s-p?I33~R2$5_kB2~WG{F7qo}l7~!$S)D7YYx=G~ zJ<8QO0TY;1I=(b9*T}?LhC^$|eQ9vZ4=E-G4KKyj$!^Wx%0FJB6el)mmMb9bURGX{ zSF!Y@@IkE+?};HXgI+hIg?8H?gNr5CX+jCmMmP&s?ar75rQC7vX^jTKl!qYLsPY-$ z&(4Kn_xCThER~fb&rz<{kYls3Xc~|DsZ`6HY^fg45S|91hj|f=r!XF_jEcO2sF05( zWF2BfEk8A11bup`Sac|dWqi8vnp-qLT7fLN+F49PuSs7cCk`iud@sq}(@2oY`>~^F zSW$Drg7M_b_Xi-aajB_6#W1-Wm4@T)^N1F>8?6h%{Op^HC*n!ATG58?%>t2A+IWRx zfHjka+*Gn{t382WsU-0=Dqkjf0T^hzcp^9U5=T4rT%AYQ1Cx z(V4a|5SL@(Br40-u|t&FjafzQDgArQqV)jY?HY<70r~{1D!x$e_9>4Ord)g_3}mD6 z*1P)1_cS)_L=ALbry(x-dPk&q%mHXktp%dxOCC~jbzqw*DT_YQA|Y{Y`-!iqI`PM> ziNd4)YB`q|ZA~$#Qm)bAy-;v{Z4qwOk%&>xf#?EG>;k(#khAAC(n@wynt)**-}qkw zmcev}i)~$d5aIR1$x3{8ma>iP@RJ&O;7app&@wMF5oN=Ej8wQFrW<5vC!ATzOuy#aqv5j9Z5b4Gj6m4})2xPPw#qmp0b0Dz8GmN2A*?;6@X74M*lcscQZN zx{qdS{$C;fLI#xcpDvsU$gbS~=HnwKtdcrnmCpku2NB*ai$+VQru61BQa3BW3Hi;V ztAp#18@v~t^c=K3aU7cpR zbNYLS7oE1IlpaZO<8!!dorQ%g=v3NJ;G&^_I*D1I`$7EMlHpSZfm2|-18Nlu7!L4T zn7_?txhK5gef0oDJoWs6;7E>`(a4E76X>LB$+-a6+ISmh%&kQqld4nr6rT)eK}nyO zKw(j++KD?L=2;*0RU1A*_2QoAW(9?sg&8{I@2bvzPwdTXmzcY^WmDB3x3+2e8=>HP zd`xNdcRsEnG_#!<JX^HwIn$Z^z43Tpl}BD{~pX zIYX;jb+q_?E38F|ErzTjLgVYG{13xKV-T5&gR5E%+7R>hvPws=fb`Dm2^ExSjcBBgT3&a zjD>4F$+yk@l}8q#@A))62k=cM@|Q)-%`Z;4TO6Zu7c|Yj_2Sk|gzn9&JlB;+@hIs9 zujfF6D_wHgx7+U0t>%LF#JsL1XD{rP9GZhBSfFd=edpD*RL@E^4E4tJp@wdz250C@ zSOCrjCbI+;)`xWeO<#<2s1{s6FIlb0$(CJfN@HNSor~{`PDh}R+-^W&i zl`T1&>vHnz3*qV(vWIXmiVh)6u$lW(vu~cttkL&VscQnvm5bijlpysuCBz*9&=to{ z3QNhj$mGhFTW_R3qTg_%FM{XrX&;!}=2RlZH`v2@7`9Dx;V4nX_Tw`5j0CYcfpz0s%Ud%seOm8y!tSrQgCW`^X9Oe2IqFXd6CYEqx6v6LqL z?dHS0>p4~DNK1yjDeT3$1lah)B4g}ti5o+d5kC(zVmlM}XVgpZUz?uTHSR{5~}NT z$DLSp!Si`AYms%cOj@iF&p5cfTfbN?>Oi!&T!lHW3k4itCzv><=Sv!hcOlBg34qW^|52HR{X>4|wyaWra-Z1Pwn=g;iQ z)~g+-WOt$7m_?_|@p)v3vKh)ko@k3baMCkzff^xN{jCEUXKguDKe}Y;#7kjUe`qSe z?aov!Kcn0rs?4Dgy0)n|(~Nv)jlVLo)Mv~>biR2fQg4@(loyovH+NlUWuGr>4(ZW4 z0s`L@c}=z@E@_ZmKb%zVJM#ltnxD}kA-K=H*TAQwhC(q#GBgtxk zye8DF;CsOI;xxoQ4g>wEqg?2I^?zFJIPj-UyQXhLpopk?B;=&CJ6BP^<15#rbm8)h zrlAnH*RDV#(CC9jmk3;}d~Tg zCl#Yz-j3@)@C%PXeyaIYy+8RNVH?lRQfUFcG!vK#=Yn=6AiiCY8r9JBZmD+V6e zXla|={tu3h&mvnSIA?CokKZ`~)ZKkpr5Mj=dT=zz`)e2;MS7>bB%n%Pqr58ZV7{KN-?Qp#;gIcP`E*0P=Wl-8^X@H?tydV7(` z1Qc{#DJ7VMBHypJ{eY-kO`cP&G5!G9Dt{TevIo19L3!})YC(C(rFZV4GT7N_T5O&u zFzP|D{fbj{S3mj7GcV$a8Z4~4ZX&UDX zR?h)+z{39jil5=X^lt`%3G>s!nXQ5^K^ZR7L!llSjj$9!96tvU-+h)>{oFixsrwmU zH!1@Tx!xfV5Fj~Fb7pa*JFrpMu?qk3+)ydtrp>b$LRevhnCZkLUlBb4yZ&cxeBHIz z7c1EV%nADpg~eQ}tH_OVC)E2DU5X5$9db&a$x7K1e#Ahb3TR4aUP_#|eJ9pF!=f4T079@KD_|dd=_+R=Y|6qvGQ!@Hi0ZBQ)`@M~A<>=mxuo{>Wr*~Ez z|77hWpi>P_=4kfHs7JAsb*>kd3$E@iO0Lh5&F@Q48J*!zhuXj;Xg|Ym)&P_4$xuUm z6WJtkh@SVxd>VglSc~&(h2y&^=Tn6dZ}&8QWZ;s#u>Jc#jyKlhN?J+G-}8vLnM5+Y z+Y*0gaZhC0jhelDp}3S~UgG<>r^ei@x&QU6%61r$sEUP%lWKPRu+fs>s}u=ROUgZy zfOFpTXXZA56xOI{X>63nObG>aj0~l+>I5&DifiNYsWmcFSsb=8lP() zYrAnjb>XYPxH{Xs^x6{=>tfx5qXPAZ?Jw>%Iq;YzW2G|Fwi%^267r3>9X&!JRZ2G&$4V2& zoV%Ky#OP!})jeGW2DhqK+_u&n;Bxyp6rtLedP+!p4~K0Vl0zeuaRI4BZY7}`Mr);N(wHdV%Ax8@XSyeSp01AF?dj>4r}rhe?y1WBG zkbm7=@z6grVJvpF6SzP0{8H~$$g`@_w@*?do`F$M6fT$6CF0&F zDou>bTBq=r7+F;oySgjqw?v`7=Enu^e=on#@I*SD&$|W=*w>;`NNx((cWk?QXu4_0 zRh$Bl1ew-tod560fV4Vk0E0dbX-oUt#G9M^mjCwFj0b=2{6_j2)MyroP;&;dW>P^( zg-pR!J)S7yPA&jkvRg0Ru4?Iq+KM5$7oh~+$w;Ez!%e}ptQKY#*nj@~Xu$NxT1)XE z$;Q1q>&hE)edoXAuV?Lkv>jtox;LKZ@WEixKDz-DxT!o@o%4u{%3OefN0BTQ&s^u) z#Qgc&#*c10bPN?}nU*Ptqz0Pq4LlzVLv(j75uWHw8ty2*QzeI8Jd3jQ$UXvy0#3ZT z3upuFRZTNq|*`AucLRFE6}@u>iKD(X&?r+JG% zMR%e#ai^iLbRgg9>yZbLQ8aGAa}V}zrO*R9iM2kpG-;ZX)!D5V-?XNN(;2g=883mA z6&rL&^3H$7t8z-$d!QyS$7kD>^%t5sdF-NBhxe~9Y(f&ScmC2zvP3A1aXdYnA%b0U zE{e5!6gIi)vDRRl;6l~VCeE}rq;k+xGrL+SWJ=C(PE)le0I~4l%Uh+pk1GKjh;oAV z0b|=nZ9Bdiy%F^Ht}9*lN{t6Cr>j%r$u7WCUo%zxkIsI1qHRjQq99=$dU>%~sf8Tz z+@aGE(_G0dB3yD_%c<)MR>JaVtKq%57&t<-L~M2eR&=u=;v${DPhcH5&k|)xx%Uk+ zHR|kheEY;D&dmk_PIx<5qy@wL4JR!E+-=w4sW|w99lySHMKAoM9W~}P9^QAtUOuKx zh6*IlQzrhHDf|f=PI#$LayPN#25Ra%cFDwedvHhVZT?5~h%MN|hIQ$dMKCi$(kJfj z$($5o8J^-YgSv;wnPsg#9&Eec*1dLn+ar)70qtM@n8@`_gFZLVOCsVHMMd3IPQ1a# zOw$<>uys3cUgI~sW_twcycWt1q4rI-UrcjagQ5bEBQ;94x&i{zbV; z2xxgZi4+8iI|ffkP|cV({dpJ5?B9GiBMwYm{yOB4L4J2@;F>7b%uR_kIqv|3C_Cx? zr1-hC1ECXANA36#cQuK|#S;Tet`ofZUlf}Dg*o7!mSG5!Yw1SVeXfG*CPvGlwnJgE8+Ws&z^vaF-QmO#4`+$iD)S091Vc|28c84{_yq`B2%YUDBT4^lKrpo-{W_ z23@X;LsO^~rhQ{F2koq_k9d>ew{n>?fw{R)kEn(jl;zyb>3N%?zUPANaTpC>(+ioX zt;(>1!Jps;qL&{6YGTF2hcEE{BD+oGHKIlXjtOuRwYy~ztw%cb0c*%Jes3m3QH?Pb^V=IeVTdVVo`cEaVu48=}{Yy z`%|uw?7!{j(t+6lW~N`Ep`q|dLPIpbCObSWS`UEwQ(eq^v$(ceIci?M zed*E~2q6-DJ1#|NfN>0Tk=>s!!+|f{XcOBmLE*-lXxq1AKMv3sH!r&;C|+jQ?XA*N zcehK!vAb7ttfUg-+8f!sKiLe$i56x0lgBjpYAI7xYaYi{j|(_QBs1b}F*#vk-^ZSd zW%c1>wccIV-H0$MX=-$nA}4)gL3 z*#ZL_(4@G$Y!4%2BJzXeJt?qqKl{a~vc7X@$ZGBz*!YVS;UpV4vnzYAb=8`;^vA)) z?tV&0<8ubjZ)GyEohoe-!L}9^AGh4~+@W8o3BbPC+#mwmLkRS*eqlQu$imwJSvI)B zxgh(J8Eb|&gA(_%CGKBXKl0Qk-hOIXWb;!6n%m>fO%gEEYs-PbWp*9jb7s4jzO%<_#Gf~NIo|OFn09(?&f~hU_?Lr)}bcmw@8Cw z?%tTs5khadc(*|lmelNhfflbk|DXwn(@S3OvJLdDhur@MasM6GiyA|kzHBOBO=fPfNeq5>iyO?pdIq?ZUt5rjySPDFZ*5Fm7<7wMtbgc{QPJ?t}k zzVq&xIaAJD^Zwx#f(dZtc|LbpYu)QUF9mw1e&PC>*3MVyMKnQEo5=dLwVsiBZ_u&U z!a?Ybho?^<_Cj@K%q>3QaqYKDD+O8MA9BXcK9FP*D4c%&#Ek@df^Rd7=SCSU_~wDW zp2Nii7VbBD`fTCeXtk2{BR`LOaxArLFf;}#xWBu$ZGVxhY`Ff3UM`i**`>iTN?Ys$ z6YkcX0D5Rz6jj(IN9=OF{ivl8XOoVv^OA<|t;$FKt2;jRKE1VU1=P#EYi>@*KGMJT zeGD5r^{hdJ_w1!#?!1W&ynkZa^;H{M6UZA)d;-Sbojl;pZeC-HK#$UaP(!xV0}N(T ze?(oNb(>g4QTKWs|AZbqNK|A?$K)Vo7pT98lmFNL@-N@d4&Bfb9kNAKMohi!GA=0e z(Gyb}5Tei5W^bvP456;`)?9hImaH^2bK9$YAd9};g4u7iq}dPKcdD>!MxI-NZJM(k z04!gmkH5E)GS8!2w8Y?t_bIVe^R?| zv&Dvp^mnjJwI~HjLH7&rJN0*H`CxC?8DmBS;7fyVVWWwy-97k#Hpg8A)|dTY$V7Rg zmZRtM>A;m2^WXtJBAg7!GH}Ny|?ymO(uDMHq1GX{Fkp69Hs%Ns6q>TqL+%(br z?)J@VrIoRGC3uHCT-kRkKi7yMcRHZ;O06GMhpA(%&o6cZ^Kby49}t1M?Uvx?l^wP_ z0cx)2Hw)L;LO)NG4qCJKD5t@41IGaHic$T79=jDE&%?Cv8WbW*;)3!tpGD%bqE-)bg86 zrz(jbL0s8s7YjZg|9BN~j){(dFR(igEE0bKKri)L-;diFFj~6w(kmb$M`>;KC*UT9 zdq*^9PfIy3*VzA}hi^xHg_IbYJRHb)+3pk2D!qt!+>WA@nP_&n?@OUpZh*1LurN7s z@T_LA#LWtpy(q+D`n>C|IlZ!|uaDkBQ|jOe+29!Dl-(-eQ)_^854`9bz3zwzlbArY zIkV1+h1ZZwpCG{M15jaDwIF~wPT5AlANZO#CNv+Ho?8P3K8~W;PWL5z3NGq}O8j8p zkj2ug--zubgWK;`*b;wfq-#`UE8S2bMr;Fxo61S*N=DNK!}+2Qpd^~=)3c^Ja^%z+ z^%vEMNI&VEX?34yc{&%u10nMj{HiF;#6m5NB|D8b09wbZ1MGU9L#2%}N5|A!-~b!% z;>Z8ggTh96Q`_S?2kc35RycU{gMp2|K7dHxenNCxGISSJ6tpodeavsmuH=9} z(GQF%zXf(QJ=TH(tC)_^N7t8!`wG0o8dlTQX<0du^Sf_W4q`aoL zw^4d(sw@5>{GM-hED8_K9;&-h8*$=XmR&eUs3|RR&w_?P>ndExlJ_-534N!ZJTxI^ z{P=$fG=KSCuVGx>MGO0xPwAI=Qrlvdjx2K>V1xvRrxEKJz;1{NKx@1PwgomgL3YxV z*vzp)wM+c+5AsF0j`0Iprb`HW^ynQO4-19C&8sEf)^<5J*R#VUg(W|PShaB~zuEx& z=m@piulKyFjrR$KLi2T~S$NIYs=UI4C%4>*9mW=86bt)d?e}l>PS?FTr+1|#`K)z_ zek)&>pA*Fp$R5Es7&8@dE7~&KF6dM!B1lr^TPB4U)n2zfyV#hha@|Wo;$&C;`0}X> zz4wI6DY*7yk0K%hP|&jCSwv7O4>92tD;8)FGNz0<4a7GPKHQRlZ)Nv`&4(A|J+8zt zzb%;9bQ`Rewx%&y>xfr^RX%GooSu{-EVz1J8fKY0RVW+P!5eEREKRZH&R5jmT$d=!S8 zV3jI##SCvXvrd1)t!jtStgN-NRZq_`+&sVFqC2ku_s)S(dtYQfd>i5eZ4eqSlg^r%D5of6IO%Bs7JIcS9%(!=b#%>`(ym;9Y+KN#|c^LouW zYtgJQ)6YO_YjIEPvF!k;@$q8#N*{CW-Q3hU3eh% zQ|Yw~rns3U`@2lw)g1lC{%pdfBC#g^=pJz@|kZd%Z9d zK!S_5ELE3gNZX2~@+VB*B%CjhZQGlW<2@SF%199(WG%*z)k)kTK1I$RKV^HPjo2xH zMP}!aAsS0D8JbsujW{nwyjE`ZPOT$McF#vHy#B%Pq>|BD7hv~`+v&W%knr7mMjYmf zi@{rU!x?gbkp&FvX@Oem(M_*~cC zM3kFKVLLbF3q|QGecEn2HtHoPRJ z9EM%m^U`hIcNIX)X%zK+X~RDk7orUwumu=pfew-9UWGeFl#EC-{0;=HiR@6FTTeu!)9sGDE9| z97ZH>&&S|B)SDu1k@L}P&)L?{G@k8jTM*lg=h^hGLouJIvo*6S{|0IhA-Ybz44{a1 zB%kj2D65BCQ^PO(s=!c8By?~`T*5rKb>PuC%Z&<6ScW^Oz3Op%8GFcA?RfI{HO$rl z7w&X=uId;~fn(iq-RYxQvb@nVRE9`vKKpC}l${8EW8*iXwajBT zS+Xx}oyMZ-G^tZN0_k7^Mg%|)*19eByNA#3$vVCP!`IpRAL@4J?YO@~ni*0^J;m!0g zkwb;$A7HE(bP=L5I%utSs43yroH{6X7g*%{gCWi`r0LE(zPnLvYzFCJFXEeF9HcL- zXH30ao@g%zZ}d|#C|zrcK6Ljkl0>6xn=Dmu@=|BQtrTL$E+FIO@g<*`GJk@8qa^8G z06lj`*k%NkI6UwG60E}Y^{)9w z3}(0Aa#h4-!R4f{+^n@zEW#H;)eG8HJWn_}+m)JS1){S}=y<%49+Wv+rk= zH2@0JS^c_UQ*7hxuX9J@-p$=gRb~7(oaARt5cS$`s8Ddbb|%f9LQ$LQQr(wY!iz1( zu-a{Jj`ra63Q0bCj4O_a(%Y&bSm!Q>4@UwfrM6J2<(0Q~cduK0PQC-*@k2c%XN-1R zZJU4LirTd`Wml}Ey@w;|M|OaI6=n>7@t5`Azw`Bjy5f=nhp{0td+ODd0x1$wZ9}ZR zOfQ%mlyDf-94+|dw|?6Mbw@dQTYBvR1QpeBZI+|H%uG51CY4%$kzGXy?b_ys2 zsw0(6e@DPd5cpw1#9hj{dPPzXWh$zkxnh^XNLTj4|4-_^T3KL5-=ZRGXX|cJtHI+5 z_(SM>85!{BY*grL&%XO%&(QUMsGj`W2JZ}wp4gG4aCB}9ZEN2glE-RrWcVw3A0Lt? zHX_#SrwY(F!^m}am#qemhadK^elZB*!}W(VR_C1G5c(!hqvMxmzACEsBdmWgV2{55 zAjkkW2fy2~nserGiiKI<_lOw2N{piQhJDYJP`O=^s+@Hdk>81 zZeH21*((t%1`(w(Rrp~L3wkY6mixpfOP6md`j|}s^<@rN2l}`jR?@+nsXKM;pX(nKI(l>+OeWa$MT;=&;?1eJ;C2w_Pv*MjeqkL;Y7P+gpIBmvx*~r88*`yL| zb?WiL9p4^8)yUL687Y!c++OS_JMD7%kUVWdRba^{Y}TDM$n^M-X;)^6V}qFwT_={@ zH`i(FaBTqU1Kv7g{)>zqEI^r)ck3FO0|2_ET9QCrX?7~l?R$^D>!BX`f-1a5tcY+^ zD}na=HSw9}BEbZqcK99S`jicQ`|kbivf;^qRVt<_92N$sleX)?vo^sSpDUhd%lu%l z^^{ns0w=PMjoKwSX4Vwk$fyLZ-4yiK)Q6_>NT!*Q4E4xsZv9Pn5T~l(Vb_YVkJ7_h zhj#PDPc&?9n!Rewp>$8YL!^p|4n|yAl(h z`DdF$nj{#$;5vQGr+aQmh!AYQg zm9mZ7Z%!OHw&Fi2ji24Jb4@7AJP@9M=jY-ej9e;S%Qu$hZ?kee8zULdBCgEs2B`)0 zP=qt!ycCED)CEnI?{_~pY^rrpR@oUmSWIR;3`4F)^&&*gH^OGD=YAfRp|Q7hSke-f zrqp`+sxp#{u=VE8-RRa8J;h1Qx~XvqUC({3*^wEmW6&Dblx$r=+@u;7J?KMM7JE`R z_Rvx;S9LI4oEUgn$lwD|yn;SK2rnUAWE*&@h$il)bHWu+bM$zCifVips z$L`^O;D`F(+5PuB?FTf-VW@gq8ub!toZdsbVUfRfm$W&{xQVfqIGw$(f+I^w`-j4$ z-rB=100JE{$h$@1@h#F1hJJL{=Rc%a;IJw!&OQa2U?!)x)@vVRsYmEWG-m|!5>*K3 zU+ukox|gG@nC3A>a|gQc${xI#>`?U7sGha#cnTM5Z;)7fJ(op?t@~jr4!!bZ+UHgZ zkcz+NQ$G0F^rcsHIgp-tZ|_So?Zi}c@ne9pr{3oX0OB6wkSQMq945xK4;?1B7zxtz zJ~(V{;U{_@A#?p$TWd)1F+?S;K6o2#mR>12>cD%aOdYK`=+`MWlcw+6x^-G?_VnI+ z@SaV$!N)RbEf1nuu0M3Q;J7#Rk)o3IQ+r0* zQpZLCunHcM%1Q(UW;7^p3 zQ~TAuQv-$1_g%3CLjS>&eNSSk!EUx5I8b9vtZc!JHDu zdRMD&f5pEQ9xg}ez{tXME+q>;#QX*8fSxtq+C^IgksqJ37K9=s#HbGw8p zeIV?mawr^r>2tPIWL;d@O<5zXxu2?@wvu>Jwzw6Sz6cQcQ{n++qe0&bd5!i-XI5L+ zA_n66f!I=d?f07LKmADB#1{o1rV*UWh>J>cHK*ENPqS8E)qiOQ!ixS>xT8D<%#u%H z9?wQHcQkQZI#$$2{92!<$C5pvtGdt55#}dvIXlHV<>hI>^?L8t`mlPWOluQvk@Wlgx!zU~zJ^}Px?7u>jV6z#~mpFht*xu`O=wNWtxrhnfCt0M^c zu~R-H*4u8tI1Q}92lWVuth+XgK%D>2OdLJjD0DzSvbV2{e})2luD~hA>F?5$O3p*Z zw{$FL2KGu2wq6D^ALHcNE?z?JgUF!njK2EI(B%@q3EHcCG$R`5Lb0qKQ2Yc!0E#j3 zDGL8&f8QTv@XGoqaMt@xgO};$k7ky^^gXVZI zE_Mh{DWUPWx`!;w8qf}Qel0j_Z&a#GPfXrC;??pyL;XJWGZ9?IR%c(FRC%|uuRHyB z>VV$^`(Hhxd5HU)REzYn-JS&C&*(rdL))OTv#=dxDE9+@Ka9Z6i`{AB#Zm$OtuU%C z3vODwM)M1Bc{cfG{!>@y@aOy)6#hGk$p4NV`0t+%kp9@|l)aSRehSKlCh!zpEQYUx z?N61d#~@rgXyT_1fng=Z0-^*xReMKeJF+zEC6XqO#5@0W?qeoe_|iqtAs4H24j$Et zcKbfA*QD0(`abl=HBCsZ`<#OvBE!No95BQY0KI`wuT{)t4LhynhneOzCdul(cPvxp z4_ovT`7Kw%yVs+vMvG~l+3l{oEeP(V{J}Jn2XE{&pBA|rCcS%*a3A;!3>yE0tDmui z5~2ViM8Xvm=Mr@l8BFzM+og(inGUz`A8{2b@dsK>!ADv{MevJ|>`v|2pA8z76`0dy!vr58DW=vK zxcAcj4}qagFp6``#Q4f3p~Mdij0QTVUv`9th+pzePGD<3d%e?(ftkqDQK&a7^X2;U z3e`_$yfHpUXbZcRRDp^GTXIWo4vAu9abBa{mdIQ3;pNYCnLYXvy-wLxqqm?`?AYgG zbJ49%V1U9ycwo4*+n`gpjqh6F)V4}T>$c$J74!UQ7?S#vgRD+T-}8*m#dC*V0fXIuyxoE`_zJi zoRX59{bzxOnPDy-rc;B{ob&4QQzi1pG)kOZ_H&ykOBV)4T(Rr}%K$7}E9)DWq*>}Z z_7J~qj_hHdP!J3=P-iI|V0&vHH=x8elcFgul+?ILN~eudgF%S}^z5iCs%V~eX~IhA zo;04&PR~}i_qFi{C0i@#rsgyRFB|2zI@WV&A4`P?=K%iVOR=xP)3yMcI|!4Sbqc1F zlSz;f9aP6TeHt2yqBNhV#cxWGj_g(es#b)!-ZQiU5fL@p%T-E~V?u*NP&J_80SZJ> zxLNB`X{z!a+}i%h$nA~BT%6JA*9_$0g{OrSXOaQMXrSjMm1ow8e|gNRJ0Ynk?um8j zWGyCsP4z7r&Y07>P)qGliM#8U$OnUz)zb?WoABcqc06>=2?+htkh_eyuctr&RWSti z^^9mrc^blsvVKD_u$FycD);v~A+h*k^dUvq$iPkN>69T%L` z_KI}t1JWm^q-&zaGY&P|;_J}EPL3s5w)l94*Gir4j`K>`yVcCsoYnN4PpBf%`fl`q zkH7uq3l+z6GaZN^vhR%s`jMS3% zUT#!YJ^g^mYBC8sb2ZnOP%>+jLBK)Z(qic5KQ9K}!b{5iU?|EB1g|^rMf#&mth~dU z?$_>oaEsa2gj}49Zg?_otJt5k5U|NnF>%=Ht$}X-JD~XAdk=f3{Ulp2_2;ajCtDkm zO>J1ZatN8u-rs9HjBPCN78OeuHH?VMEJB{K*W)A|?<_AoWVxeXw=!1ms%^;aOHX+r za0)6lSdqBpLg9J_$oip#HL&#FW zE4w20S`!|K3`Me7)8pYm_$u`o$hBeZX6n?-73hr!pQCErS<83G(amd~zN zdBq{J-6ZC4&#!zx(4_7rV8}w(TtM5RSue##%0Hg3<$;O!VqbcMf1-CB9*94bfckpJ zIP`CGNCGezR*XTFe|n(Qz*hR{X@31eKe?@W`Zq%D!jPNd8|x4*K&(qfrcs+8^eg%2 zJ=;HekLX?!1XcQ0>8$+g5_TM3w)QY3cUi%s*wLYk^P<&yYM#F;Z@>rQ7zL#WuSvd?}C zcMQoMJ8J)&zNPxr&t32bgEKsvkk2npl%A~fQ4*i2Z531$a;Hm8r~-wCz|`_^9RU|q zs3iO3GV+|cR>1X?5i;xJ5lGjpm^P38%u_W|f#4s6?Y~Wa%BIhUONxsq(ymLx| z)mS_wXB_ulP+-AhS7kDw3^=j=$GIi5*-wfI`kZ|oHXqgSw}3T}418$pYQ-$;OXy7i zluRxQUzgdM{QiumGv@oc`ivY^4oa5y&^4+f7 zv!vNp38H^~Q86=6Ya1k<>iWUG6+JS=vz!!EIHP0G@vHHa{!K;G&``Gb1Lrwk$TOQU z;6Fg7<0@K^qadRJcX7yG65(pf^bdy6YNah)&WOb_QYlu8hh0O%I8nRu$m_*`Z|e*7 zvLVhdKA@_{El@RegF_RwWPTY-^@A#@VXfBOAq$qmYJ8Oar`jki$+8f zav>h{?3YWA9WMkMMnO*01<;v~6s&MNt87OS8Q@5G6)QX=Td6;C67gnP{%Y=8%GSUx+(f&J+xtd) zCr#6wiAz~8n{9vkIcQHP$fmkKYyAG{&TKE1JT*%}8_p~BK85u)-0}NQW|P;}FdYP? zgYVx(+>EMr>w;hTNrA8gWe+)R)Sv122M*O>22GJ_7+)a;rbB+ZCCh@^e5IUING;}&cF!SDqx_>6aCJb5JHv&$tM z_FZjoHlO6#cgjX6ALWOM>IgQuRGhkt zDWZv$WokyJq0E&kbz_R^WsNXhovwVnASqrNF3KPA29PuORQg$q<^ej+429*PH*}5{ zb^tl6^V7epRQg?$1PG>{Z60mQUHa^W*D|OM3P;|~W^velJIcEtGw1UYuFMD7i00MA zPcfR>ZD7}n;j`dixeRr$IY;w$Korl2?bdL9&Z46cT(V67zy3z+Cxyo zAMXi7e<%trh%=r*^6;Xr-0|1{5`mahiQ7t?+PnVTMQl2EqoZvHkpcdt9k7uy6iq$8 zY81J6W&>;o79Sq>F9UGSK~xGr-2dw!_&<0Lo6a#=$=e)ke~#nB3HGov7qn?xH+OkW^S*zitO1}fgpQA`+`LXqeZRt*qpV7X#KA}) zGXkw)fGYH2gYl};OVSQ~75M~w6#9_prAPK=rM^eJ@1U%}CXsmH{@*hd14^IJv$d$l zL|%>V8QuO%$F3sA4BJut%g~ey#d_Rbr$Pl>;;iM5`MeezY4~AjBY>3=jL)Y z2Ypcs_%v;Sl=i=q;gCp@-u@4Uv%8@+!ef#@7!VINe*;ShoBNZ3Lypypp5V!;=%?OgiPkob@Po|(vD z=>lLSEC5#WaS%pHMJ%5*JtX4^5&%&EJB!&@878wIe#ZtF;|(_1&lT7Nitf9lXL}iX zTaSScy&rVqkM*&4MbkO}iwJry-P+S-`oZ8rHzcnYWi(c!_Ud2Rc;Rkc7y*ptvfB|# zHpD`UJKf3}Ewe4KD(8sc@6Ig<=B=q9*%&jO9549de9Xn|pU7uDcwuHN3 zQ_>YPX$=ytXHi-b&HQzTY=P(BJVdTZn}KeKvzKL~9g;cEWuF1_<41-y)vZn6h^jZH zS6^|%3)zaZvc~EXgI`W$_oLRUz2qMq5kv09=Fv1~?W+J39Pn~-dVa2AWCO`>mdXi4 z!wJ@J)5A{Ypb(`anf8iB;+i8xNX55)5r{D;STbN2%`{JnxKXJE1p`N3^VCfPrRs@t+u!u7~Z#}1^+g@ze79UG^T;!UuDAhoG=wWu!3PL_qo`= zzwQ<>N+^M^QGi*%>16#D4X3yziquB{9U4?<{D+}YtU*NpASCMpyd{D@4i`8`JekG& zcWMb*A!}ZL4Om?^_gZ^?b7w*eP#+`?7v$oSG|?+6g5OHxM-g7p;C=6>)P$>Ff|1lK zx++tE)m;|ghG0Ku?B_7UL&*f@M~f>fQ(or@4d`yHc`=-56CBoroidAXVTP`qgL?j8 zxb0=wEeiWJV>S7-q3!^F+l}%j#dlpE2e@l2)JqX9n!9k+D|G(Ogmb7H5Zx+eeLeac zU%30WLr)WuiDdaeM`g3A+~;Z9)%(Bf>o-dX$X)s@fHWmb%{(v_Z~jmnR}zXg%eOi! z;P@boPt9l8op+^3F@YsPz!xJSA>+jIe040TkAm4!01W;}22)s%WYjrmC)is!nbEDV{UY@&M zd|41^#Y7P)zNgtcA{q?QjJoOH+RHcxkk^qh5~VuY+Lp)HGa5OfAoIB5C3S<6{<+w* z#%A$5#>2xSkdb$g){fU1U0Dz(JrX!=PALwiWxM3JI)e%D;4m$KUm7l5y8K?_sJH#% z=hfFEt)M9TC9jMq&Y^4Xu3TbZxXHl(jx4skwN?~=QK^)^U$yf1b8%+j*_=Po$zf+1~+ks+7CSRLI)HJ6WefuPS0 zy%n^b_dRoBBROa>w&=%pij^k&rf^N6d#6S0JNBP>VfM0{QjUgqxcV~hiwbfAb2(iA zjcyc&Y}V#bf#%u>)tq6v!)r6nmkBRh8BF%iur*D*LhqCB$-gE}0{mexC6c!R-xUk8 zHVo$q&KpD$7WY>S`T;vIn%+-+B#%!=4VuAO!fhPue#S);&AwF zgY&R{*&Mu!As3i%IS%}?C_#@DH}kz#yf>z+XMgww-5xc-JQjrrjGcd11+xV}EQU(U zW!a~I;8K}6EXyX>mK^5vxhiTJ@wuUR7k9S?T6;AU&Ee+$DfLh_llC`b&i|H}y(HF; zOiPfo{jQAFMfjG9pS|7ossoFh%&un`S8ic6-OoFD?9tX~7d+v9lYSi6+VBotGdp&n z%-J~4D^Ia`YPkBKkd=$XhwmZj)bd>LjBy&+DJt-YU0vfnoT&OeMf*FOIAZ@lJ=uQ{P5diEsI z|BTSlQ=-mz;)ZgRx_3l1IGlP~z0bQWE0C^g0 z4ddWgw%vwRBvBM;6#03T6lQ{Be42Q?D+1dtR#!?H3LdZ;w|%#8YrbLDQg)0?>+T^a z0_Af3GcrJ3{B`gGzIUXk;X>6?1~|?OQ0)fZ7%RlOU%h;=d9}{aFt)wlah^VROLi`E zIGK74$?dR%nT&(b4}hhQrUaKU{O8p#vD7onKI zMFWos0@c&fYmEWChJsjD5C;Sjd{jQ#CJw{h^__kdTsZq1Z6re9l%0G*?WrZQ-gA)K z%Vz!KJi+fDQLP#9qr&WG`RdbE%zXO_CKF@l5Utd~b?F7n`JJA!XT>WgZ|&*zP-2`B z=8#ZSpA+l)Wuj`XL<03_IOxRkw)jwXmcB7R#{l3Iw!@=1B>&I)mj0&Aej~bS4H!f`+6T*1(eAYQw5Tv5~7;)>fIdUIoM>|Q&RuM7x<0f&~U61V!B#L})p`}11#(k|ES%;!GTFmJxZG8Y6vKUpjpGinJ- z9Z!k(Omh43YC>g@+jZ^KQ4*wkFfSi3(idB6sE_e?r%X+I_a~)1YpBVxdI36td7>8t zzecjiCS~A-3MK`KsIc`|{d!F0`-pFC9_ja^&%zB}zS`~b(WIWox73ReK+R|nyn}vY z;OQWEhN(JYIpKUtpGvaFk(Vd=lD%Pnds*4!dzKWqUMG ziy(+a9ePAukUPt zvyR}+_*QDM;hHNm?AX9?QVA8T|KiEz(sy-kiXn4R56=D4Fj#%|1uI?;&5a07z1(Ns z0f=a(98ItIR|@{-t^F(g(h}gU4YT{Rx3(L?p&Lc%;?nH0tKR`xxX=Z;srrE5b|O$Q zT__DDR0r0^7x+X|nrSx?ch}dHRMP=b3`g-@9Le)BW-}I;b4d&8y19!91`0rM5=s~IsA@7g8sH9U^M_$sZ`F7rln9l{4{4= zX9_j$ttfD^MNWCI_nZV&EY4(x`m!BmKSSbA-HX%1&Bo>de>zzA z1)r}CZS25&Ug_!;t~YQ{5FBZ*!H`hml@lSJ4W z6}kY|uQouaxq>)KtOzj)@;2#V6Enor94DZ+;ZF0`Y2W=+2#g^rLSCuEjrBZ{rVDtX zls2|z?yc^*qk%`i3x8awk3_sg94nLnKsNgI22jXR@8|h;I$yNErNzQ0S$Qi}GL#_Q z@ROwASxhj*)02L#+DtKgiF*tpDHz=Ggz2bHN_JF6(uSWfMcL1S7&B^T3J)PJ?~lBN zc3rnU8#s0f-QB)a8Gcm+ugs;@Kn`eC z84(WbFB4b$wJzMCugI#T`sGHH@rR7GU6#zV_RBqE!7cT?!)U7H42Tu_DNjlG(e(`p z%Xy&$I}zpyVu@fxL~1SffoWaT#g-?M-VUObBV#X2^G(U6DXHV_-IF%R=F00TtWt%V zN5vW?G=0DSGFCkmHvwyG=~+v}wo(yqkwW(=dv_NL@j(ZNTA&*wgtu__6|&^Zpl-##O`fC) z2oKTt_j{KsmZdM~!#Wms0ZrIn!E;A~XKj_xXI7kkFz9X}yM8Uwo^kV4QkMF`0H5iZ z%M<%ZEKP+3x?kM=8MEJigk~>0)8wlpeiYH8CFn%;1@+Z(S1;VR_&9~Pd~G@lNt*yD z%s-G?|74K)yTRxm>6-q_?j3l{D?}X$i&sR#4*fZXe+JOFL%@!fit#1#v~cj(+t8Ke z!F}~j==U=c`-=PTFf#s&fTD6s%4MAsv3#gT{F7zJ|4&t(YbT?>BExa<9PN9^C~LWf z6zSoZsLgS~*}W$K1?bIzJvDmCU+w3r1FOK=ui3?nmdLNKpfymjydMnBQp9toh+E&M z&UP(_s%ZA~*4ypn5w@7*`s4Y{05h~D=V`w5Wz3f~AnN<#y#B^r@R#$8M|xIMxd6&~ zZ%U2w?dF$k!0l_?mp5#i$<2wwi(8|*cV0GLzT?`l2t;X$<{&~6I;HMyJf0qB>#M%e zQ$0mzYBOWxs<+PAh+@Uk!F|#x<@=gz5Y5OUxCUUxz9R=V-4qKUGQI?$JvX8R0PU$f zIRg|Vz=-<5qv6y1S$NhX)eSkgy$K~=5y3cMu4YiLn0nmhI+iW4pMwW?kg!tCNqdqd zE+$sAx~tq6ws>2D{Tcm|>YltuSJV?YuRo*9hFAvLBhu?ZSc;$_pguX3#_wkh>$2TsPXRGx=&bS;CV33$jRciZ{ijmCb1 zuoNZ)9pQaLCTZ>gd2*H7!!@0co6tW%MZ;OYfgPq^ z)$_sL)SvBhLvk*a3r+V)+vmr!d^SULNXIK#&haw91Hve{z4Nq0Y1k_|{}9y{-_e`z zHPup~@q@vz8h1joZ6uhIXY$!M#-&AUmG9I{R^Xd_*F3GgHjZPLI3qytMF2Za%KIN9 zXV~M|`Lfu(%8;Cj!ua)lL`s6;NW)Av+%8mNHK$Zx-CutB-zgUVcwsrmf`dzS46l;g z<&Ae8DiOa)znbhor*6OhGUneIUpOKo2wOrJLetc}NgwiA%}8(cwkiAaD>Jq|vxip9 z1SD1Mn|I%)&VY8W+6HiUzR(4W`XSh)X(CN3m-`4lRwqJ{n69@77RZ-=!6^CrIMHB@ z6;3N)5{q%~`tlEk8l!i9sregEK?W{#-Z83v6Hu(N`APc+#v2{V!M+~uHxbyrQX^(x zqdh|XE+6AY-@5tuAZ)>%^{AK4{SM{CSHK*XALg4MCd;J)%yPrQYI{dqD+3tXdT{9V zLciea*O-7iw0fa0k{MO5@HA`ptBnAIQxv_X9@ZZWg%N+@BMk+7q?s#X^GB3!)Sl<+ z0dE}oNI#GZdhJ&h8$jRU?!4@)OWakq3tK4t!NBR|YVft9Ufq>?3%*{myln{%bbA@Z z5b)N1I3pxmANnB{s%b8&0UWA}f8~q)`&5w#6N44uxL*koycb&9o0+UeQ0b^?YS;3> zy6LATM!3CDhHnl5nz7qyZ?f0L?sgF2!DZ0|x|n3)n)BzH6|#g(&nNfOhB|!?U6Z-) z?3rSN^UmQ1F=7i-;RrVR1+S7uNIl5GaGgVKKfddN?swsP>++Xa_#aH~T&=%3tfXG# z6~9|{+GEdb^gAi@$q0X#!jUz(Le`TcSs1ZCuUa#Box1E&H5xU7*Iip5foFe~KIjHV ziq4{g)6}KKr3Y)shz77zyOKC|THd9yR@)%B&fO}mc4CtRy5q+~TFvw_#AaYs#J5Mq z&1vz*-{jb2g?O&BwvV-?1^AP$4e>FaNBu!HyO_) zURsCH#tftx^w{#^I`N-dfd!W@*{8`-DgK!-y-#-c%jyP8F2u-kiejm|n{nU%aCurq6~}x zCV;VLJ*)GPdTvO)Hb}%>_;s%_FRx;d3n~4xN(+W-m0Ys4AKfTtcMy?KC)`@co=o`; zbD>7=MD=7}Hv)-=??0)U%6E{c65a~#ku~8 zKnTv==u*YEhbgSH!%e{KTVbuKL|B>PGx3{OURvCJbRYcYmrg_e?=JU94n*N5)F~xx zP^h2GiWReEJeR7Z-g$RTh6v=GH~Z$cpEHRG;o+y2>n9jm7VofjZmqDSZJ;>fny#Ll zB+75N+2$cJ8h!0y1I0)D1{A8DJ*cItWwK-cDH7x!Jwq@^V}4iM!)hYi)z$N~LiYxn z<7%F7ogpx3|IEul2|@_|in%Cl|LYo6FaP}U-pFH5XBhkxukoVZp7nLS&pEsYIIHHtibA&+!FoLPT)M9FRXNVB)HJK?Dz?D)$_7LBMaJCO-> znXxec2Zj~%X*e8LJ%}&yZawJXv+Sz{3j+qO_8GB|&8hqO7lD92q3&(BApgh z{l!UXXc+lDptkjUXVqT~_JE%z5#fSV*zAw~6ArxM1{*>H+*j?yjGHGp>A;Ky01dGXc{o7Nyj`#K9M#cT(_DLp zrbGVka?}5HpO?|>{dzH?JFcjQ>I3<$um!vAOe2=0Vc`-de;wcriCpZn5pVeR$0G2w? z#!uJctr(CcF=Frx>9pJtT(0fD%x|@^)N*tKl~sBHd}=c@WNJwkbp35b;)PvMBc5;x z($ljq|N1wQ8h~)76RJY=G81Nz<^XWMbcT@rx8eEU)q}r1e$wK7k)aM`b0GF!Lf$#8 z62^VBV|OZOufM8}Kt(;NG_1U;+lUwyhyy3?u}43~TliuM8sOf12*J)6wRu~u%m}qfP~*txEjgRlB@3Acuxa&Ac4L52 z?}pp*kkw{Xp8rXufZalF;)LE;g-=Llcks#aN^8LDIr!)|{s?8{s?iQCgl>)*rC)nF z)*Wp7R^%vnJzJjyzY}+TzCR{A0x7V$2kXi1yx;Po-n6|3qc*sd^D*^QPQ0(}MdR^9 zr)T67QPX`x9Sgq0a_io2eMqr1&8Gu9blTVBg&x~SuvEoIdUly!f!&@dU-;CN%z!Qf z$UFJVs}=j!(iB;J(yRRPlKcf_h4XwHJ%)3Gr3CVIqxnPdA z(^fwi@?%K8YW2j_Pm=<~6FNEID{ib&VHsb}(6fnX`-czj=iOvvIP=o*Ntm3a@#Fg; zFGX`Wf#=NrPVw`-*v8@7)WZFziO&^2)l>kqaeCePkAFPW|EcGqksI%`?Zm#&#}r@D z$6jlGOI3%ae{wc3im3)nb9$5pRJgr-HpOihOseR3M_5}4nazBZ01n@|1N(WPwh8o= zvqg`3Y#uBH?NRq;|H5(|b=$I?0<6Ge!?v1YB!K$y@NAo(Ck=t`w;0e* zJ6exv@0!N0iD^!!&=8&9iU)Vk*CGI5?E0{wv^hpOVnR9k=(wWKPo=*;@C^M zo?=dc-Ga@v%}`TDnUdrs$mhor{E2?D^O}2~t|kzdz{aa2N04bQXjW}w;LyMN5$S!7 zajW<)?Pd$DeF2!EuLn`pJ-87_KS{)^J#-1+2pH5u^^K$1XS1dPl(op8O>?qkr_x6C z_0?|6vV}g1wo>bT_nLK9)O6RdK4%rUgo(#5K!CZ<=G2QE37qA|RbuHXta3B1CBs z5h;=0ArKV->C&Y}={-o58tJ_^se#Z-AfY8d62IlX=X`I!bN4>?-23i3e?USAVI^y> zIe&AE@f+j%AT&DR(J)G$)(2)2c&COqJ)5(~(!A5=u|#{C10w&VTUdi}4vn&1n3_~` zak(06^{Kj=EB2KvA4Fvq{|wp+~J zpS|7gZ?5>@brfB=!RBlkk7sdI*%!e~n(KC1uV5HI*gW9Fso6!VF--^GP+5^+UHt%*r=A)wHV&e)P>th z<}WliT34RbDB?7n?vFknajvf9t$D^8?9W#Rxw^mqc7xeqk9l0KWq_Fjuvz1%cgTLG zd}CQ|v;DFXd5(~wFPZy%NdYYR#GuBo%B?n`-&&u?WqI+*%ABl)P>WG<~AVldPb zo>sTi8{?)qWLFxzEG2s9RYhgRb7EBztLZ?FHcaudH$%b=kHH>qdqJ|!qB5(Px+?)O4aAjb&s@cfQ)OE=K5vy}^^)IRxzS}$ zx2lHD1NKm36Ag7-efd)85Zax9hA8U~d=+2AE`6)q`tefYZO36~I@5dKW}l2C3$hVI z_z2&o=y|mc$bh&;waegxt=Dk@U!Ri1@|q3g+RM{ez0pFFF$ZwBzI~;j15TXVcQpj( zY$uY33^oE@gZ0~U6#T8L!VUMMznyq6mJNa z;JsmQe_K)QXl<_8Sj8+RICAYV(6PhAXa_4*u`AYKjxDjdEYHQ0vdZOoFdC8IkZJ6j zzYI;RvFWyK&&Jxmiqgg;!W{7CMvU=hmZ~iG6Bc6j?XEX>Ol)Ni#?(aND~ScHZaRZ# zXYcz<>O)`PUe#(GLT0wP%l6-?j5_G-_d}7<#)C?l_71kU^(_G;;@qJsg}+Xq^&q^c zwVDbjoy>N+eG*6O!9`*3`rIv=>i8q<#crmShaBEbOx*qGqem)3o^@{x3N^Xf5V0IL{Q;dMi{ zvnO6x#q|Pcs>OtRjL4FE_#vQUQ~U6%ehg^*$5ZqB&+g@bDh}wkcxtEGX@|IH_xRCP zxliaev~)Bcp*83;nAVtcWq%!e7WpH}7g%Rs)I6p|IVf zWx1yI{<)r$my~Bmmyus^71#4u`~4n%>o&e1BP626!wU|eJe$ce*uM8^YHaDo8;kJ0 zIa*%tKoypmavx|1EhmwIc2Lt_VHwhPUx48U4SrZ3AN8^3}eEmZ`MX1T~cU854f>qv94)FC2jAvU~3&ND50^-h9b zQXHv=H|T1l7wRs(qt}xPH`kF%11838*Zi+me%d)&qoXDT4wM^>xwPgjJhY_bJG6Im zD!`PySfbGSBZI+uJGOJz=Rp$=Xt-PxEIwl?1^#f*UtKkIGVZlK;D%eJXhc%PTs4`n zv9YtT<1WZOh5K+qkDHE_)z7am-ikXk`i0C3b~>cQD#QsYv=Hz1Rny5WsREhx*|dlf zSP2*Wy+Zt-yDI%pDoKAYFR$z_sQ8UG&%A8YeU743Kya`1x1bJucHwIk zrWifz2*~i|p|sN!^`$Tk!US|MsdtvDmF6i9xF}RQq1v9nCO|AZOk()oV>yodf;Lrq zskXD$n3G(zvLz1ETLiCVrY@5D38L)A1U_N+ ziRO~D5dOJv;W8TR0%%Ut*9M2n_({m`inevi)LfSwv(kPA@CBS~f?*(ZD3g_Wb-1W% zI^)YEd#UlWrMI5v*Z~#X8=2M>lhef3XCp4Cb1Q@J(`AwE_qqL~g(CJ_AMA2LyOt=A z7=Fk_KQV}^cvZ0x-d7_~a8}bz{kB1~8p(jS88`)$8d@F0F2oqCQSQIIs_%R7Ftm_sG9 zH4$+y-D*4~&4UGdqO2Y!Ak9^%rg&smY)5KNNs{Q3H5Yzv(mg=$irO7k7EOJb(T&ul zBC4i_V<}W$OfpBGr>8@Fx?g{^T7gm>uspk3wV{)Qhqq5-IU-5sY`<+~#=6%o7ZYq#hCFho|(Ovl2f? zys}?dFe+N=S@kkzV@mOaPv=Z8$AcTKos5AoIeNtyW&RQ$h{cu{FA>c7jUy8t*UIV_ zy4qh|0cEQ)u^xp<(qS5?*?1WzmW7SVYWGD$qOFVr?<)XaFTS6lE* zwp}!JTus@nSWS9(Dw)eTNxNw{eDB(~ABqQK$u*$r^xzFJS51-)%QcOZK}Q(hEr?4{4s-+&=5Ot_oDi={5jq@niQ( zk&;WRUm57OWh>B_*t70w8c1P8RL_VW-EQWQ=y&EkE~dCJ^e}C;k?)Xcv4)9#4+ib> z`3mSltevoBG3bR(xCiJ#vnG1Pu{RIdn`;!i>E`9JJx#Nyq>YYqXND4EH@sw;ta1(N zT_-%*Y}z1mMbNI1*b=O$N1*RsiHT$%5%=QBRvVk1__Mwz)xb-Y^kgVm5dva`jEdVRF2Javmoii-e&oIfiNl?+)@|m7r6pp zL?74x@w!v6!$CK9Yk5XTf6`glgEPGN-LWAUSnD7Y?~ws? ztDGq?2=4}}g8%K9jlcD%u* z!!kTi+uZ|SkD|a=If(9hhGH2j2PLaD_hYt`RC6gGe-(Z7Eq_{FX${}d)g3H!-j_2{ zX-C~xr6(v1AGD81)q?MrN_)Ofgr;UMd^$Mt3~I0CGdR1dtWpWP)0&JBtBVvzelbE6 z-=#g*9YUS~*z^6-g3-=x_gHs@2To|q&OQC4ujBSucf=UJeX;ZfIT)9Xb(+ivHnto` z4(Q-G$2$Hm0qNOKs!Ob-#t&RngZ;X41_SsC*S$f?9&Q0NegjxrY(mqE5&fBm%o~91 z6z@JX`{=3Tj*Q+uXF!iwcsz9~*ZQ08r`E6oOs6a7pT4_)*n#~0IgHNFE&@RkjmKF& zDtm+nDuJxRxe`+1t`DYvV7ro}+$y^ZX$-gCS#k+|RLPKgTWy9;K7pv{^$bI7$*u$S zIo|lVfc^ZM#~3rl9pJPX;{I$W+l!y$>tYlcYPioOLxRK(K<&)@YKWH#a_di`a*b=s ziz@iee&xx^#L+)aIACrlwxm}NV`gqcpEX+qwSL>ZDI*J}6$%|7{Yt$U`79StqzEkD zpE-}G&MkY34}24a&hF9x=P$sA`!YA+3Dn4JZaX)IkucG}a3r`MW56AmtpdhsVzu|7ITOZ)Cig2YMdtT|uSU;< znxOqNCBia(o^~dAx%)gZXCDiTxkLftlWE(F|0EjqfAx2|&tfiCf6SHTBLE(y;b96= znF}WCnsa2+{oX|-Sl0+E@yW_f>qs?^2%Y>FXhE}r)Ed`0oPJjJLz^1;Og5*!qTABc ztz@u-7V9cX#h&`mz@YwTqLec;8I2*}Vb# z*ZFBsP)p;l!_$a@3Hl6sni^8+pPq@hq4OP*6jy> zGPX;5x1K$|QWCJ>&(D7BSY@jd`MCp3z#6l45fEM#4j`9RYP)*r1N?cCjpS|dnOH-^ zEREjiwh{#!BXdvora0kXHMlK&84JxkxY;a|8fkTj{Yf=&rJht1{Cu=_uXE3fc+BA5 z&Dwmc1JU8WF8$H-INg*tZ^Tii39aPQX@=GSTladtT7$T6O#*c|i*kI?rxKm7S)=AA2MQLdV zMQ7MrxQ?p{;QPy4+&k-)t`G$Bs8Q$!mLIlZzsaY?cxx9)Y@9mo#@Y@Y7@zN*1C1SY z8V#w%k{U-*ug-t%lzgpcuZ9l*_?;uH+Zs-Cwv?46>T*^8~@4+n8P>wxRZ4oD^f&=tN{V*_imeX zWIv=`?Coj=hA~xS*R`bwt6BW6q2Kj^4M$6myztp0`wWL*<|3P+oDW|7b{NIL@f|2yty!0XVrfjBVc-JC6+#pJn$bIm7HJmime+RJ`_exHtFu0p2Cz`HBcn5P{IMl+tJG4#R_!O;dwd&Q*K+<}^Myq5$)0ePH= z9PuvTKP@j~!jPmJQffU}WI!q#RY7bMkaGfMgs3M~u_Ggjy6Qt8RlUr_8y@?9p{GB4 z+umN4kHusy4dF#N8SKV~IzeMAKn0btTH>PHMtKZn>bKIg)DCWT(PDOP1|FWHh!t7R zkBDvV3f@1>Ilw-_{XtLEcYS!L;=K}=JLh+;PYB-B39ITjxPn#uQ%}jzIJ>41E@K>o zaU>~E>x*1eZ1{AHjQWIAI(5yX)rPrnX7j8}f}e~Q`hy>k2OeI{5fw_BxACgjiapps z0KEGiWVkH(B|u2b8D6%%X)X;On}0X(aLIM;oy;-tR+l#uJ^jw5Q&-FV<>8hi*Hg8! zKOD`?4FPycIyr{eAj*RvnQG3&5j_V$-pXFU%Q_~uf~vMh(?56gWC}YkS8FbqpMF?z z@ETae5be8H|72{_hpvHEKo{2200$T!=yJx|m`F<$l^0j9_?rg+v_Eg%Mw_GQd51^i zNZ463-($6^)J5Rc{%cL(e+zj3J0AI`PUrtd7rH{#*3AVnb5kVJO``@JEo$sy|C8!qIv0vUp&G9mhfv#>eXqtPB@ z$x$1!n==+W^a{Msbd@Ty+_CL$Wq3rjkL11q?IwyH)&rdm-w;6E`kw{1T*Z9i3Ikli zN1G0r;IqBKSS}imy9(JF%!1I(B70sg7B#D_3}bVqzx?8>XS9Y8s>Gjkdl6ew*mGpGPK~efpkPUqzL$+$$AeQ(ZQiM$ zJ9$>2h2hpMCMOtwQ$&nP4!onx%66hQZf0zLQLUqYWnqYFLWm2k0nJVEOKl!s)A!s+ zn$J$@a86Nd%#D0M6E?FYl7;p|zJf6O^d7V}F`uL8QIiqsHl^L_7kzaIlefHMPu;vo zDe+Do=HYELJ5w}|mthCN$eT?T4Lqla^g#`I<)K+qCc+g*5>6%D&019v*{0}UzK<>m zrCIm(qrmzJIt#GCE#f4KJg)+nyIayu_L?Vt$Pa4`MC9Pg8X+L3G#i^g*t)dJ0>DT zvG8g5;Y6+G)Xn*=EJw4@v-Ls3nMxb7i?wWfC%jMrFdiR%TJN2~nglk#%@d2!k@Dj2 z1`ebhj&9Icg-|)@^!8Z}nM9qaDyv5&8WRwe-beJT4CTJVmVl$r9uJ@`8Gxk!<6iME ze?HwR5VQqicTZi?s{(w@4IATQ7UcPzX}tdtOv@Bs$khlstEl8*eQ>j2?^e?bR+*`o z8f~0N??qVn8M4z-U>M&=XN1erp>O5pzD0kH^y~zf>FF6mWD2xC_OTPKQBy3~GJ8`X1E&*+)$QAF>B4|&<-^}_%vIzK^w>dG)&CDHoX(_ zk8RBE4wU^sB&*QPGsmqDp(zedgyF5 zznG_l^oPGHwGe&HC$L$v5iZxKbZsRe!q7(R3};Hb*zwoqUAQh_A9#T7QF-1ZR4~1J-^d-Tai%4O)cd z-rCz0veGklgXJo=1pVDTdp4@AQqeTZAAlQELdi~eV`HyR2o1TfOIadmRml(AO>WKt zaDB7iUu>uTzODKn-LfVl^Hw|!HimAd`Hp=$>f@V3IbrV^-pt4`A(Yj~KgaZ*h6hXZ zt{BPW_cA{qmps}&thkjIn8h5VnmNQKtzYgCU%2?t4AiuK(dSi-+o2N<^x@l}s74Ya z<(}(VBt{TMW(53xt+HVcZvq-I$uQ6NKsMc>4=MsJfA}f`MzX$XVy8?_`blRLjqy84 zbyii&rl=4W!u09A+UYIh7J3i6-|oMv)F)zs%SOb>UYc8d#2TTG;dxwFD9Uc0ZtsAd zifLNuvvg3a^d|GXk2aZMby)ABFx_W+y5;K!v3JnK-0Z@BSRS*P36iT|g=P_gep>@A zycO4E5FVSA>=*Lh`=TlR3_O3Zj@#X~l~K~heXgdU1vzEJ+$%NJZ`jvn--qZ?=&dQc z$jR&&^Tr4jw4lKA<-I@tsR@G9yG73m) zFVK#|QFCw-A%)Wi)*H|0{r=C zzV+$AtT77aLRf(T*$Ce1by{7@^x}|?V@R5pF|4F)^vQ$Q1?fKBZb-|0PUz6RU~p4z zdlC}M2)pw}?fZPf9_Ry)OcaiPI(`;?+R6@|zS7uPQhKjS)vRUlOo~I_QLji%_!NzW z);p(`z9$d73XNTDwpNmiF$#Er&1rHGq0y& zj5-|;+zrIjAm-$KRCncui{Y(i2rJBOuy{G{Gk`5kdmQgm7#*bD1A-hO92L9MDM zK5a@CU;;}NRisBuiPzdQsim`F?`)5!{7q78;qZ*N+O?X=S9SrP_bo)dL}8Oo`ptv> zp=&>O$CloW3nVNm2T85=+<&_(P;&?+$EE(*2!`m_MZ3Xb6@Zjj703+pNaeD^8Jw|? zUKLT17~(RPysq>H5lr^cTb5IOFUidYAD^I)2Pi?5{L+xcTk;Vj@YB{8U_X!r&(<&% zyJ(6R86rc4x3L=vOI>7N04?5qzOrXG`HG)+t+Qgb+1Ws~QS{p2`PE3N^;!oKZ*QL? z@&Xx}p>5FLX658GV(Yjmw)NxN^Q%5qhrM0z#z)3`uAWGLbQa#Peg7?)VT)Up#*evZ zleK&^2s!`T7U25^RGJ**XvWyGbn6aT;L6%Ttz`0 z_>Q)bY+^Y_9&L>hZg@46IK)Pp+fNIkCS0&04-L2|j4^d>E(5)E!HFA#e1=l-e2L)|(Bkw_eD+)gO8{92j5;5ER(7m&3}Sb$vgL>}mKuK$l=2^?1l; z>P_Sn{%Q8@W26Vy&z{B`!iv1J$>E2ODRA;iIu6OK*jyK3?#!g`TB4$F+3RxEpSfJ5 zfCyQaC&_=ThMgpUxnIYQxJ__t0G)j5 z&i1|PwVX*zR_2gD>v-jcrlXo*4qwzzqzAg7?N(8q{?iXx7E@NW>&d&rt_D1HMI|F4hn=l!gl+;sQE;4J_c&>^7PSb4{aH2 z9CQ&@1cUj^4N9$A6O#nR8Pm*DhN3owb3lXxv-Bv9Yi0bcw81?f zh{ZL0_a&8niUJm15=H3Y>`wJmAp;A>7qO|83twrSJ9b}|CZT1+UU`oUf$rBW{sh6* z{M#apO)qmEjnA65i;1FgWvrja?B^&!$==P3yv75&Z3@&o4gyMBJ1z%kZAzX=O*oY7 z=41}ui+jJpaas5OhE}Ez_*|X(0ih=1I$eXF%yh7wRU8B7()2EF2kJy-g@%g&D&KuX zGnbj~LVm$g-|o0@S;j&E<&2ZLaQB5Bb6M6`waY*@wws{07O*dE0V*xJ|M{1O+ry!n z5LQ*bs5jS-3_-8vxUV%D*ycWQ;*O;Ipo7wxM7 zveB;=+16V}&bR=MNc~Z>;eJx{ws(vpWKr0^H_(UouxW)LO)WaM-)>T7ma$Ux;`Jat zt%7^+`f(~mmpps`E`|d*xJN#f7f^uS0X@kP!$Iat6;c~#Z3;K#pVoQ>C`5odBsN<4 zXfabO(;R)JNt~QA{jJ0Zz!+mQvz-ce4BBW|kg=8+3N_CDQZOwiU;WF1 zLu;r^Ltdpg3dlh;D=qtAJ|FY$It8*UvarcU>xZ(Dkc4o=%_8snTV`KvP42u#9hfug zACxN&1#LTVP5ZN&)v4TBbw(k-8^`RaVZ&SgEZdi&aYy+ko2tS5`U@tcAY?+=`* z7e%xJ9kqh&A}2wDDkm3Lp5&&cbo13gOWdRpqBG#rO43swbP)k0n|W@gz&_Lezh6225tn9-$yrO#3`^VslGm(smAAUHB$dnaQh8=I+8$5EZ_xaMAD&#H|mQ@hJLp= z5qNM7XvQS#$xyBWmE8roUYvZR-6h9!$xYrY_G$Zv&_IPf3B;$TvKUde=^nN)jq%7u zWWcnG0j9}@UZcx3#4dw7ZB}AqDZEpv9ce{AY@W0ta&iJST^GjJZ#-&T^@10V}Q7JhW-4h)|Xmo#8!g}WzVMy<$fm)vnRF>dlF6t|VH6cfP=SnE((e{{;*_{2sc8)(ZJLi6`7CG$H^BEr zDhi4ZrU(3FNsqR~n3b#@;(oEuKYpRCe==Qa8MQAMJ`y9bByL?!pNgpmyr3IN2PtTm zHNX=M^y>E#G+dEm<%vZAk^=mYnJ_=poRY} zp!JV`|4%{Jf1{lx`Z^g$gEbU**P4Csak_$rqIt*%he{XVby@3;+m%5zlM55{&w$8H zSd?N9d+7F!+cXMzCta7CqHEVsD~`eNxBsMT>jIP(HttK`FOCrs9{|csyx>ndftP5r zoVMYjC&)%nJBPzdbixZ130Ma*ZUG?HkP_nWOZh+Ewqg35Z60r6O2YKPO)8w*>{7l? zGt6ge^NHhQA2K4?c{iQPKFrK~<>J6w7OH<^VC7yqj!hL$;WEs$Hy~-&jSgTaSu>pHuna- znt!<({!5uMa|))o9}2SYg$IFRnV@RT4sgx%v@d4Kh@AiAI#4Ic^I7QUo3aVLenLct zT(}>we(AWt52$7$__PHMH>>3b@o<73~-!QpqxNkPmy`SW4rJi0}0Exsetpb;T z_vz(71<78njtj&W)X!UM-T3T1@*e>{aBXd!Bn!67d8t6mbUd!Y=R8sD{SuIZ&Bp9N zuOH$_=8l(>9scv(5It(fIxZVlD8$(RQ3CAvd_!a$` zlK;jlEE@?a@MI34*rdTHOreKT{lJ{1!=v{1@K2e?ix=XGb1MbMXyG{-H(tNoe_3#| zYaKXSdraT|WSjGQbJ!mr&wO;lzGa}Jp5+LC;CDJV0TfJ#)`#S#@ld3{mG&XvxJO{- zR>w2UW$L`!pPt8DUcGn@GV;xd%eryEsSK+;_34F(m&~@oQZ^iQ0ryU&qW|gz8=38w zJ%c;kNVz!>PAn)vW6d!aT*dp?Ckra^#C_t4Og}quk;|1)@Q12=*Upxh{ovSCqDMFo zKp`w;u;b)+6Gr{X?=(kxF&&P#Got);*YEN{%OZ)4?xkPl>Q}la7F}mbE@#GQRHMwb zP0X?>+Wq*g1n2X{6)%vks6xY?d(-N5g+{W26HtxApQZJyHGyD85ion;bDaaigGGaW1UCkPWevvH& zy#dQnAP25TLsPPjPD>H}YaaXX4A!J8*qvEq*>!DTZqmtmL(wfL0!n{nvH#Agx8(jYJAd!wQy(B5mp)D^TMwtq(MJ*QwAi zGP-^=oEUGpS{`T`;`~JGv(M4Y)LNrE456&n+7DN=RL+t0-T}FzXv2d{S zs5_A`3%&|EMLyF|M_+m<7VujCq-mgl zU4j*O+Nu5E?2#V~>z3$8H`|s?v85(E(_5YxGQDrIgRK}Rt8y8`BTLnX=s4IXU`<~~ z-C|wjktL*8(9_OyU%XiB%Xls8M8l3LAoIv3t*z`pdE`%=RhHI75_&5`Jy~*io^e5a z5m2@d`IMYC!)3Z{w#->7aoy_x)KG0e#ITV)*Y09qm)yNbrku{%X?}t^tt7*5_??yI z6iy-|Kw0fp`_9MM^M@;>A>Xbe3*o(;;w3unMyf64$S%NDExy+uEpjM~I#1E=1CDQl zyZ$dX34g2?|M9-XDo0^rhVqiN^y#B}lOEuELp0XK160%UIHZ{D*p#)X|Nj({|3*Jh^abh{m|a7GHWI^M1f1?R zWQLcyI|R>h=)*RJCT)ne(!hXIye0zwu7Jk24^nMlse}9dGA5R^r7&us7)npP2S>w?|+#G zz++5Q)sV1?J;*m(D)r7+CBZN=-+f#r$w(cJx?qcJ3(*^9ZijRJ)O$H)p^7fXH`g?g z`*xhy1xt{pDNKwWy$$$#b-f;`y-l&3i`NzJ+Oqo`_bHnJPcEL`$;Pn%r28%ds{F7O zNzq;dPOR6`e__?+MB^ngq5^I(4!3smzEoycs7AiofC~?&X)-yvK8){HmVNZ1BB%xe zpRE=X|H?n~`9s>SQWiDhC*4RPZvzi|)iB@_H!Do!F}Knr1CM^#djYNjzehfPh4EKV z^uiU~C8L^<3Ve$)y{fI6@>g~?_m{?jd}{j>?(EjLTZWznb@ai`0y;kr8futwpyiT* z7X$*TR~rDZI9(ComjBcZ_wSX|k>A~xJvKimaj$rOfhS8}k`_co|B7D^Luv1G?8u44 zvAxSMQHU{fHrEfa7SZ70x5GhL-EW(JC7xw;fhUPX0hIL1%^d}*$k2}6IV*!5CEMg% zuE%ctN9wwEv$c_-;Z(y2Njv|m%&$Bh3ZuuX62js`0a`yHA8&V?yWv{X^PhA@R8@ec zo;&0+xj=@DKPVx`rL8(_>17ZO`|(4&2_mgKm=7HOF%Hyt+?s{zuZ$gsjn2Ms7fPsS zK@2q|&9*{c;s#M#MHlt`0AywoOD~c3!DMdOHYF4hmcX9Dep?8R-nxG3NDp4hf@hT%g|^N-@$Cr9DCRmcwqEg4rU2pgZC z)&32a!)YK`i27@@my!>)+|AU;d9xUiR?m#+I0MZb*RRy**+ggUNb>om&tpjuz6twA zgLkqFdV-=OYsdAcq^cG2^>0d$FId6s9(4GyA|6tM0beLXjbjZ;T!YS#3nHgqr`7Zi zGdr-fKKeLUWNZRX> z$JH&u*vQt5o}={@R*9!A&OhHN(PXni+zCCix*5pYW{_FSi#R_(84_z>3 zEojbW4Vdn%*!w!p{yGJpLCgi(74p`AsL9~>?fNvUOBH7p>zSUEM!tVtNO>m_Huo(@ z!D^N&IHQX9B9LGN(R@$+cp|$-#%ioRv+(Ix?Bb8U`WSytN|F7Z_mi%~8;@@69oL-$ zH59mv43JD}d<_Tneu#}t)v1EaDv~p4tacApgzA-_0b4V}OMebj{1Ln` zLI+W7X2VZB^R8%eYqvfn&wDt~ruy>UHVA!hGN`A(Qa3nhDsr{Eh-@8`nKKX^oziaI zlUp;_3Sw0N&9KM2c%ko*E*n0y-v&JnnZ36QAYw2DYb+a$7Xhh@0?3;)r7N!s!kJ}S zlS@e+O7pzSZl2QCcm(sItQCiIULJWBi7&Vpwih7ScGg2aa6esk_q*cIX!j%ef_{ZC&a+$L?O}b~q-uRp&AmhAqvPWE`>bC{77kH6h*?7bC+cyAjx)U{*iZaUb;b+C^ ze#!0L_R+~4%`6N7G3$m<%LPmZvfPSy40!`2=F|t%3E$X-CB0PLXhOEXrm!zcH-KgR zcY5I0Ej;yMC|A(sr|0egzU{sySM#k#r|Cwb3?aVHY$9Y*a!MC1t+b`7J!UH zIDhi^>8sH;=8DZ8l_@59%`(**)+h^_>K#F5{G|k`5+DI7BeTSe=gZ5(w2wZ*UO6Pz zG!wRq2?34X&W$%$N~=qf4$#>@>1@0X!W(&}>>N%^vP@3ML<-$CH|_J)j#*?Xw$Cn* z*}&+{H~Td?WnH%7uLO)9O>&0*>k;v5bm)oMt(Pu8CT*v)gl&BHG0Du-(T3XHyAzvV zq3mIsM^tJNxO2c?ZKCeZ^gY+&hxgopzStfl9AUg|t&<2~gD1PpK)YRtR@#aE(O{@j z=0bZwaE_R0ot;_GQ!+L-VbKS+=vIXZQ&3E|RYl=1Fz;J1_c(3%EK|0Pc*zwlN`g-G z0k6Aj_-3j?B6cH+(g=%HQ@pbyZ!>X^GNcEYwy0f)SLU|6-PAaKdnYq=E&Ds&^CRmb z;9N8KPdW}n1fCl(57-hM)6XGx#<;>3J?@|gJ%;fkgotHF!fQ#lzoXY!p+Z(l0VM3}IL% z4U7FbU-OB9Ql8Z#xiy!+T#rQ$7KN=U_Pk`CZ~3L#ec{ z&S3?Gi3sq>Cd-T%5yx1sTPF^x?~o=-@P-}PQ0+|}TOFV>{u*n4eKa`p9} zbPCXDOHV~0bEiyybayiNqRem0oZKwPG45Wc%_LR8%m~IJ<(p$I8=z4k!@$hG_SL(W z2%;6CZQq@;`SQrinWdGTAvcZgNFT#~m3^#|b^36QXxz5aX503Qlxs!<ArdvPr8Zk}GIUC|lU_HddDj0yn3w0{LZ^K`cG z9CZ?nqE=}B9{fxj_&rM$4PJB47x?7Y%e-iae&Td!P>T6bSdAX$nNxP~0TFw`3-NC! z*5g!Z&)VDtsjy=iMO9pE)Ja{9ib#C*CF;0OrQN_c@nZqK%M4aY{EtyQ2Y_A>wPeaW61Yy%|mfeD2*Gy|bD)q8=_~ zKduImIRV`VAQqos1$s`Zwe7l>F*8Y6qyJDE$}y_qAOWw7%ezQn;H89FC)zgPzTvpk z;&Xen9m2dqdu);BH?2B6aryv?%yJiN^nAs^DHYL5>^yATT>?}|#&?h0rF+hxlopyt zv98H0g|6;0n;Iaw@PNoLRParWM!~H_0BGwUwVe|J1u%da)=IGfDV#-(YG;hwCW`1gH>>%|>fxuy-hgo8@Y0Jf##8K)=3T3jy?gtRnFU%8KvU)>IHV z$>IzyLt5Cy&RfcM4?jc{F?TUSU#2br#6~l0taCQJ)vXxDv0UJh{p>tYAErl6uZm8^ zK8$}FzNe|;1?@wYz}7Pet$Xez)is2$Fi|N*$Vr@sxmR!;;NWca?9);o7gIxB{NRp_ z$RqYayxE(S4Am~5^zDO@WUtFg$~WXpMr`%RoK;^jA6=p7VB+rnvP$dy?T>}ef4={@ zvZ}neB64Hv$-7f;Eh1GIa_M!{W*9Uk^d%Erf7^}8UrPW7ZxIxCi4h zGeq+RV=CGt@Zg3V(pAt~rMwjQB9ZHUmbB_Ikkw7VhRzeSrL;s}Z<{O?*lq2_;eBDm zaVP92opgoSqh?SkPZ^GLldM9!uu?o}^eBc+lxLs$P`kNJ3tU63%3gyIvevhA)}R^9HMXaxg!!##lh2d29f(aJ1~*URhpq0mUqNgs-)6g z^}l-mz-i^}&gCe!&yxy-ucI?Up6I3KhriF!(T$2u{-vzR{Kk)e`Y##iYXoSZt@A|M ztRhmp{laTM)YtX*2SCqIK!zvYWr0k7A++79I_&BlTC_X-a0;jpj9Y-}<}bRfpul)3 z`Oxbo{D5QE;(6M()RHHrX-Z&F+)BG_z4n-Q+xD&ks*_l#U}CEBuJ#%KKD9;4;an#A zj;Fa32PQ<4k{T-gr9U9L+h9X1Mg0!xHTyY%JnffFg)v74Z zb~or@sXQ>+{-A>T%+$JI$?@8|x%An=`sIRz98*w?sSO*6SD6ycP+^kEqfk1>)6Ok9 zocfDk&oTYW(ehWL=$}0PUwOp;8$C182^eeD);Fc|w7rbWlrM=C_=>^4?_M^-9jq39 zIJ!?sMH12Ufm21Swan-lcC1VzGI+=08$t;p_T7XNvawQb_LJ^PhRbfZySM^|epwsf z${U7!v_+lE)=XJ*?s(gcn8$SuK+P2A%7h3|Jwa{zKAA& zwWrs_bXw_r1pL3xQ0@^9)rLt%&t7yaZ%2c8L3?or;Ukr&T(FnO*Yrw9uS&;0YxpWV zM-2q0`TQT|-aD+RHSHcoQBhH1LqJMYKvb#)DFU$^Ku`!pIwS`HY0^PLOH>4u76kzX zA<{%@q)8`IBVB6ffzW$GC?U;nd*+>aXXZCE=gfS+YrgLfu8_h-va|Q|tb5(-UMp_g z38qRONRDGbhi$OQ-3dz5=0xQ^f+mPOACy zDmkHiE$Er4QzR??w#4`OveGEdo(=dh$5Tv;<#T(#wrPwivotpacttWvzz~8NpKo?G zYPawTCT$KJh3LRFV2+PzY=eZ1+dXexnRvgo%aeRZlFJPxyx62^OuLb6 zaiBH@OrKK@JUoaIvzf0zb=E*`v+DwGUVHNSg<$m!P+isBQiqF4_Mw7&pAJ}+<3@A@ z`#|64;=~%QF+T_N#a{Nw!F0dM(y7sk>72vCYSYu0o~n-P4a4VRgRSj_?m^Ik7&cuA zlK-e17R`6Dp_?sqENB}QpnTyk@;c#N|L$sX^Yoz<4y+_)t{KdQI1C$KpIWI5kCvAH z=C}*Ubl$kRskE`L_A$V1N1{Z;nkp9#_Kkyjo(`)S=PYKW5q`1m_;b9!){Y67I)^U{w;Y!^~XP%+m7iH7}wT2I?d&OxDxDC(Be8hb3d zZ4T@0xAshpk9Pa39D3Q}#c@u8aojZyy`U4jmS7=3AyytJudJt+c_L;W9nw6N z`{1H->FkU|e^m%TF$$&r&e7%KnsPfJQ{%EVa{45D*Lq6I1N5XCJ2aan*p#20wI!3I zO{{yx?QY9WP-34U60rIH>VEdofs$7sOtH#y2CKV8)OERC*z$mbweO|~3yG3z&<%kW zSQBUoKE!?$42e9O^t`4Nk_gB|_iQRlMw3zDsTAS(A@_vOyJoZQ{owdgi^ruhB@40k zhhK&`Ib|w%ceWbYC}wN^3gB5U0M!1u6%p>3S{C)O{Plw?iFyCCJ zR=1Rb=C7yd`Yd8Rgfahv}eh zUC0oBQ_VD>>)S?$Mbjyf7yD}~^#Mg%ydxDdt&CK}UazDD=PzAOf^eJ4Nzhu?+*RGx zjF_I10OM|#Y5w|Jt|Y9j4?Bv6gh^1DlHJlS(vMP)nAN}1sNp?vo*81Z>@kRr)_xC+ zj1YULHO2ig$7f&`thv_~fe?aEw)$MS?BH?cuCns2t}%Fn{CuKjNQvr^eTAj)tEe{3 z9Sl_!a>(Si`eW?}d8^RX=zBf8QvrmEcl4ltwh4I(J8mbE#x% zv*7roRoA=pG4t5iLnAmYeb!B^-sz*kFnRI>D-7Ph5zJJYVwYFIS&7v`z7^4_YRoor zrK02l?0wakNZUW>!w|$K1H1AbmoURwV4k{(18a*F1n9Okrb)UveFsHjzGcTvP=Kgk z&8oW;&3$&vb5$c$)kuzgTsQCjUyq>qdHVkz#OP+_EBpLH^IdK$*qN}>ph!(C?05DdAmXJ&`WL5R z)sJaB_qv}E*P{86zxI~aDEYXYThnzdZoV~F>|;n1Iz?Rz8IF)o9!D#H9x?hvQZ1fA zc0U3^&SX?(+_SU0%>XHu zj~L;_BK>3f6wAz8NAN;cqi3h*E>7CW2qT^OvRbo%h`<}b57PpY^iYVYC$vRi4%Yqg zCM3ik6}G_*0hvlCe;UQV6BC_%ys0)GTpHN#6oc>R`M9DL2;HepNI)&JZKs#oVju^{ zw$~-PO9G^Mnxv#m_E#5!t5?R*75V1pv1wVla^aCiF{b1vSGu`f`l+N@9sgf)nIKNx2sK-j|q#sw>D9R5oib zfEgW`niTL!JwblKa`<^0f)^9d=7h=Xo=!!Yn{nUf!i&4f@wxavoA<|ydv{eVaHWp%tdev9mxtZ|vZU$(R*yNvxP6m*miwfM&8 zbsJS7ndKlWGA2_Q!hwi2^H6wED#cUfX=l9>83GP<9s+0~_r22GXAB9)^}E{awolWa zB~WaM(;laM8;FM;X^y8AJVB(ltKjW#_3U2>c889PG@mVtdZ0d^vl|#dix1!YOjEvZ zl&vm%yC9kW_N4K_uD+6dh)LPC%1CaNpyEETo`3L0{y|B<`pdePP1IX2dXLxV-SARg8b$S!-Oaaw zq|CmfP%J1`n}T{O<{Tw+JK$Fyvl~+7z?Y|t?T7Xe+$I6`a-KdgC;_plRC(mJUI_3I zmEhDm;33P!V+lnCfM9W%CDLAL+D8;4NM26_R`K+bKL%ZaR#qP52qNJoIX~D5dAcUL zbrYt_%_MDNj75J(*eh`Y}>Ojx)NjOQgGr2N0$~|LTCk=^u@dq!-ed8NLpf` zNG{Yx-=gFd*P<)CQ44ulvtG;PBGV?lbY!x1#t=ShA)Yd9aZB!XW9m`O&q5}#n}LrN zXk9~w%e4}Vbg<^;Xx7Ev!{9t)xYONHXe-3IpZ+lr&;vq;2o3(6=Q2rUr)JZWoA|-S zqNqy0R}35%Bds?4mpiX*Ufw#(vHR&0j(LtOeb_3ebZTgr`2Haz5}Um)Q0o_g@7pTR ziH4G45q9gq9$JMK`@=^cXd+TDCmr~Zr}|8qU?MxBhu`V(97(B0c~nIc+j;_3vBQW6 zsKtm|9R8SQihhk+N?47HmXMc5w{~iG-JuNIBmU1M8|AM96m3}L@Z#{VmmSNv_8yoL z)>bHA1R60|xI7HRX*BSR)mJM%v<=5@x?M~27ViRwtj){@#PQy~*OxEvd>*@u2{edA z>jebQYx?8hng_DQ&sTl)zwoi(S-5khMyMA5MJzDp!&OnhXF_}V!Lcg+i&v1`3g2i~ zRSHCEfIrXf;-%SKvB<@N=e)DazHw1Gv@p$X6XmELjj>mOoyc${cH9hRn5|0jZOg2G zIPq(_n=9Fm^^s^*jRLJwM6F{3*An_(nC&H+pKqyJcBWfBGSf*Q+6 zZ^#=KX~dml0R2Yi4Uk3utO+eRJCKnh{?s>h9JS9uB_yADtKR7b((CK3;<)Uat4%hTWCqTh;hi1IG3LLFV z|B_(&NwOe-WjfrRq>BWm0Z@l@*vCMvH6N>UNzw1S>>TrMH;kw?ixv>3!C%n>)hg_y zt&1hT!3MxEWf+*RrL!!eVzI>7IP6nFeulY|XddO+;BrGK`02h<=bIxji8Gn`U^JnLMU7fNhMw3hftI+UkMmgAaAj9?#y3nRj239_|a$9*&&0d>O5 zb+)a^E9!jLJ$VI4T*7!K6q}7YC<9Lz_rI1-BJwQwS>*P~K%PO8ix)yVA*UwY)Xrb+ z3Bug!9d;C4eWxVB=6EMT&5u%;OnK@UR^upZi9#$xTl|HT%~=XcF`V@J2|tv%ZeKT-Q*Q!$IcED^c}hYL~_P zU8gI&TJG=g{YG)r7=%{_LT)kplakm}+=SxH#+u(av>o4D4M|%#jj|uY9|w_|;eTR2 z0Qh@iL4!N~VB5E4pkELJ9Pg5!Ns@n2r~Ld~G6aZK^p0}&X)0$3chC8Q;?Rt{y%c`= zF@4LyJn@U&)477_$|W}PZQ@=Hr2cC7gxSdvqsVbn&X5OpWgtVy^m$^OKQfFICE9p& zw)v6vK68ml{N!jrWcXP8`K+kacY9t;?KQPMI)4*;iJ&G}Cx&q)FMsTu)SY<#>K%Yo z!hQlI1kSk0TK>b%Bopg1-zjTnobYug!5;T*^P*%kAQcdDMuN*v*+;k}f1S{ZR8vJ& zPK|;a3Av8LA2GQj5&6nKiB||*uY&e3f(B}&c$_tAUq6l+Q$4jKeBzQ`b{etF@D`xW z`DFn(0#E+o&xL}8Q&(f;jP$g`0AsBf=Q*?pvRmX7c}Xp4(&y)7oJUGhIdQ zsA|aw;kVx#Zl_e|;qns<`&%!o7%OKL)%SX$o^1xmzFRA!heRhhinB94g!4;8WySK2 zo(PD23YVj`ZAF^7qCO)}nW<$5To^1nEO;3h%=@Shde@bzDAH(h!J14YWi<xI^ws2+8Q=iWj-nzrUJx_8Mm6bWAEx1BK;FA zd*P^_@U8m{+)KI)rXP)^M;pdDhbIh3$`U0RoHfETP$%Lm_n!$ zPYvDvfRzBEc9>nsowO_gbcs{zcMA<=^*~(bB(MeL1Zi-FtY;cqs(3=Sc zCGpLaJ+E5jz5?cC>4gO*CX}_XlKk#GqVrqS9*A65RS>Zc<3zG(ti47tRVb^4p8k#Ea65Y}W>|J;ZL7jlA+BSpC{EoGT@A;`@V#~zSnSUDpf_&by1HUM!_b2q73ivCaTOMYWZj$n!x2yJyyV^`SZ zJ*fF}HJ;_NFHer6LS|wG7%Hz@c9Jm+c|UFESSgXvZkY*yUg-LrSQ2Z zVAbL1Pn@ad_1eO6FRa^(+W`CJ+K?nmG8=oF+ho`vl9AD|08PAT1yr{A9lQU&tgUu! z0Bq+n+cDHG)B-dR~2ERkXjfM?;k&)##eKP@d&Ua|b{!wWzV zpC7z_<(Ha}f!DGiCxCRRf`4M}XF2yvHkq(5U|xy?ASUfM5OZ)Vhf;J9Jy>~p{4kyw zEmaGReZ9u_lTaPK{w#baj6_(`pMZqMw52b6U848-9p1xp^8DM!@s>wGMWHH3Jm7l~ z_^r=0JgM1XWmEq9%FAzPsNqqt*#Q}pN`T3t(4|Qck9T#(diNJ<-f!U2h~&HN%-ry5 zn-$xZ-wYqZ35&5^I0&zA?Mdu_CbG zJH4sH> zEKY@QxG)3M85mOXYQuN7SkL;>wyRfvlVMnsXkSj|7%T2M(q&^|w|~`Mw$C(V7;;QS zvnk_T{k~PcR{qV=9~_r{N`6q!G{~Od}?B zqw18{6-p=`&|GR+cHmtyE5)EUXbHV~7*J6MU4z_kPE?bj;9l^I?Q8hQ@oPcIM^oe`@2?zk=jqXx0XMSsf^I<4@hRY7FKx~ZN>zC% z8#aEXe-uhmy%Wv&$su)~KnfHz=+aP=`H({cvkQ32Jzo%G+8U(|1aCyDsfT{tsc>b~ zz)8+fPHma3Dr#T!dFyAFPV6sC+c4tTMLQT1E;*n*Ec$Z+{`HR(Ncw$OM}!SVhZm1X zQAFC61A_a&9x%gCG?2;nRi3O#!31%?^_GUIKjrnoTGagpmkXjr&2qIK4MYWY`qNDB z6OkT=J3ciRB@HG?lh_eI4Xh%(liJ>J? zNa+MJTJDfkZezrTDm(0Kb)^fasdj%{!G@X6OuT37J`KnS`Ul5Dcu)0O-UBkG8P+2_ zu+;CPRFi2AKQ(JbPa&$itAPO})RLgf+Ww+S6&J5{;LEkcrQ)ZoHUktb?JiR0G9}ZC z;v71D^UyQV`t-m1J|GK=s+B<8{;GGp0Jg7E^n&wA5#Nm+&uhVpjUa#g(HB|TJU(JE zR%ZRdb;gbN?|-`43QaRn-Cga4#|c&oPoOTh-(_WIf7Bex9~91C5M9q+RdU;Mt}m!| zp?FPMH742zyI5#;YmJEIH1UBq1_Esv88%sZ{)BuQ_f`-Y6QWYZ0_2+pmcl*Q)uXt< z$Y~+}FF`kWscs65B%;jjlW1z2Tg+lmAHtb4z95j435clFKCJ%WSXp?4Q){PemeBAN z(oON+9~=*89-TKDG&yC9SUc#79j`IxdAD6mA+p<(ei;`R_E@&8Mb#65Isnf(cSCr9 zQAT494i5g^@l|q4doLPp^;;xEXA|ZtMU35=O(WGIxz?m?efFIN6h)PY(fn=Z8~y4Z zqSJqdT7P@I;I0X!ENmmFMH-Kh1G-4=%sI8W4@@0v_;KAgemPp=v+CNf!>f~{zkDJt z`Xdwgl0R9B9T@Sb`)%fLItGDn8W(>IRCuqS$%K3z1%!A9A($G=&opN*U)d2Aoxt8Z zqj4Hi(EbrRsJYtyedm|A%C0cCJAhe}Vr|uh1q}u2&~Yc!@ejl;tKIztnKmK5doHN8 zs@c$uP04^VG|<#{$z)&WP{kloR-_xt?g)nEesu8HjZC^aa{u|%-Y0FCToD~-eb#H^ zFXfd9@HSz-ozL`)Ii_P^{ENvAbQl}lv(+L6fAki0Vl$^cW ztXA-VcBG%9y4YjGbbd*7Q^`0AJXD&gWj#Yq(6?=pNM$cr^PthE8oxe}2>bNeXN)iuM6jR5Vb!Em zHFaUlSuO0aG(dK-A@O(Ji2sm02_XfzmC^$Ag9XlUi7uwQv(#OCtxo>pFluLd1Q}YC z4^251yqI@ysy$I!MWO=@9RFt{nKmu^=({2JlR{M7I8&hWVf63S4iP`n~V+R^;Cz0_+DH zeHuKo$fBFrTirf;`@NH_)KN3l*3s7$G{8^4eRLjn?=K0cQHgw)eg;Jp!Y=N0M{$>m z%3!=QTHUv>H8+<^>FBzr%%!jJiguM8*=7hC1es{`(?Xu#RAx@GfXM~Nw)o0wniqL? zxj{%g4TpRAxxFDY{G`wm)@(R0XUD66 zi4c*MSDuoTmAAzwZDRby2%GlLYK3|mu`7YzZYNlcTP|)A<6Y`=zTMzXwh|)2vDt zrX+6&Gi&ytiqw@$i_l&C)D#}i{j5XSIXi*Z!Kpvft{3-XhoD1Yq(00EmEE5gi*^#n zLk-5~W8+`nVfAIPCibf>LjBoLN>)P-0!lOf+Wg(MH+)E;B*AtZ-8t5^w8mMjof`?b z1P2CUuVN3V4qG&BJ33Wk2kF`X?J?&?zw@VSCq3Tu!)>X~!nDnYr+3j3bw=F9(#rES z@$6H*>$&c(?@@{5Iig}d=o@mm$8k6@if0n-3V2%s!#X|yjlcS}fID3oCB6ybI#{Mg=Ev-`L z`eatvGMNyv1~6qSaK?-~>asItiPnnyn%-K~#*F`n94}$-w;(VhopIsEEVZ_RxO5$p zYZqe0Ftpva>{9457(knVcaA~Qe!)UDJ^aW1ovtZZjlH!^7JkNb1n-*iBGqfN$s(O` zwiLdd*s&wc$2=OO>&X@)w%u;K3aHg9AN``0V+G(`?W}J&v;pdp)ok*I`C&aEyvd`! zf%XKrh>4mKfcuXmjyuj85O(k!P-7vtybbDm!y1kN<;-{G|D%BY`-1jg+~<*O6xrLo z+0mQEikYX*o}L6qx9=>3+Gf4@cBIOlrNiq%z^DMnbkQz$n~&i#VuN?}1mTysQ%Wb4 z9$l4eZnFLUrY4`SMQsV2v*^)ZcW!55MOO6v_iD3r+S41rxj~!do5c6_1%xj+ zxBCEL)Cp2<-U4b(?mQFk)XdZxJ+l_@pYtqaPa%RE6o4@5f}t58jG9JS6kIK5daYSf zI&!`Tz8xH4w7Fqy#z z;|qO+lk?#ITBaA#uKuxuJW!`?BL_w5$9!Vyd{4xup3t)4F`ZMh)zB%>VVZK|qKIg1 zbmx`i9K7rq;n(}j(BD1AYuzdKE1*wK+c*8li-Z?dU_@$j&^Clrvj{qb z>>6HsDI4}uP0GojL#5p2QIXrL=r*zH5Kcz+NGdNi4)M$=W5JF*hw3OX>B4?vj4JGF zIK1~or&GZBnzYhvS@qujmA=&cKu5}2qw_X-tv>&HpYjDO$fCh0MES!rh)@@lgqh&OFsSs_g7_`UCWQ-Eqc?U(XB z^w_@G(f6_D{iaBfxy1bFgpvfeq8h%P*O612+DQ#|S6NXCRpyPfS2Q=rt33j&N{pvSpMeE1kGJskM+v_YwXe6-+YfPVo~xou zItlRdx20sx$*dE|gOvz=i4JM_+iz3RCrs1yUZn534-Eb7RSTCKzO(W-M{XS>gn%Jt zfR!@+R=clU@_LSsBKy+nb$WD=*J7W^NeJg}Rvr>V+n2C6@1rG^WcSn3K*vl0B>C!z zIF$7+2))qTtLlO%3-^}nI_Ts~!hoV)xw1&0%8<%uka8j*C+jUa{J6LAlt0}3y-3U% zm2_V&x(KPfsNH)fMerySfX&lwl`K@Qb!frb@?zj!3iTQQShk|S{}GzzcU}XS-9l;c zOr6@&d6~d*2yr)j0oDeSC;fa-qu0%!8!aKRc+Y<0w?Kz&D<`Xu?770ar@bk{Nx)(H z2b%88Y^@nb0?>8xlyGa&!phV1MXoOGplU8+S?d+-(s4vQU`sI!v}k)v(kU0!Jt5pS zBa;gl##byAk0iNW)*}|ASWIf78V*nth(l*m^+@M|mxSGaE{S zUc!ZG+uOtvOqd}9W5W_itaT1Y1?%{}|B3%pdwI>RvZ3p0jlgcQ01f_|6ZKzJd=yjM z&ndxf)=1C|%EHSE@S9-X6{8vO3GZ!&d`c-7=n>oEXy3jW=!E7H>?CU6ryR=oVF*>x zgAy3-jHtpS;7Uy*M}Y1nzmI9U=RoDTtF))f)?!-dyd>NqlTO}JlBzLao!?iQ9c_y% zkAJMTe#wTpbQ0IwDbi*W{8g{M&g|9&$cu=cr) zq9}5gVZs%#@@-^zc%0Q=T@PRv?;SGs6Ur9O-!h4cyk;KoMcRip-gNHXLAcFr45Vl<5#&=GT+8* z;f+uF04$EliU#?eL^bq%1=?$+@D2JGdn`CqzTYr$3Yuc*9>ser7@s1C*v|7A5}lG z|7^$}hZlU_2rKY^QKBW(z!h&41)6>+<6+%7t0%B-(fwDoCNJka6Q5uXORSE!X^PX;%j z_|=r!6Kc=CpReRR@+~q`RB{l{<9jDapi@<_G;sC0T4p*O6tO8-JnJx4()w>(6^)_x^8bHB|TC`_BIN`MUmUoiv9J5sXYTE@mJ0hCDt!WsM#ewM$hfSWbzIFfwSnbLp9jChidNFX@|>uG5bnWiQ_M$I zM3E}ZR@}?8Np2J1BhE1qxD)WA?LnSxkp`LxxvQsI%RZ%heeyy@Ekm~EJyf_O^E`3= z+9v8{qH4;6-lN#eh1ctvnCxjbC#AsGtr5(}A^}rf^u`Qi0kO44;tu&^NZMrH%9~cm zOgeLICj}EKnV!jd_YzxhF*9KuuTBjp3^LF7!4V-FqcU}e=9o6PlA!;v_RV966u?+| z|7K+Wq0Vh@-rc<=&L^DzG#e_p?98U1ci5EFy{OmJ8>kRx8-%oW8O(}io z@rKJ`(Kn3VL_P!QIXB9#$g+iw5n%xlIsY&BM&69JiY?du4QQ@2V44KyQUTLHS>7vfAFPrl|E7F(mx?GGD(HZY|3O#!a{a12otp(T6FJt+hp;zW?j_ zRzC^xe`&Y+-*m}}W*Rcqh6CG6iscP6T6r@v?T2y?nd*Jh|>+GqiwrH zC>8JpQ=bjgiqS+fIjmXO*z|jTL0QzTvjOj3Uba~{x7NT*4MAlHslLMtK1~gesC;k8 z7{I+`+fqbKqIKoenGw)-){7jYww%gH#uh&zwr-tLmnLtuoxiqs);)c+pRrc9aQ&v6rZspm!fd` zp-Ypd;_0~$csEQF#aPBD*RYLTJ8(5QW9LoKl2!A?u6G&zt0Zjd2155}U318(chRy# z+BwxGqH*Z~7j(uvKlYZsNiHp zD;A5!g};jV-iFBOKe=r5R8e3@_p&b1W>*vKozaKFa=6{W;airix?7b7#+LaREB4af z_Wci41Vf`Pu5pHMm7ZTxTvyD6b<~Yf#m39@d+!HES-Cwac}(GoDv>_CPiJ%a2*9zp z?)5a<1T9BQEU4&HLfiCwItrc&j(-bq1B=~Wswm#rSF^Dgb7WV zw9GMGZUa3J$ElENO$e(d5Xw6R}7_I5PtWCmZKEM`ILz5Mo%rAZee9c8q z#QmHgwfVy+`(GjOzkW{g6~!%@DLoMZDW!$)NVgrzxILQ)-9F-ptl{#MoEd|XaE)Ez zgdzv{p^Y7HhSZ8*A4xB(IyPvq#y!h7RaFw-?$yfg`;D~#@DeDpntku|d+~_orhctk zG2@;+l5>RVpaWCb2pA9f*j4jn!m#Yu*5R9B2_wF?BFmbe<*Cmr*P6l6MKuLs2f72* z8gu0y-U;6Z$tY+C8SPWm^xwejW_JQvfJ-^F9{v2qJ!_ZVvyx5MJwY93x*mU39jHZz z^5>K8oK}xk{Ay&xaq%~^qw20tQdqu;(kx zy-RalDrN~R+&2jyMpQMXoJjUwJ7G~x-Y^3Z@i{n6rf$$uzjw0Ry@3gaMv`(X*ElQ^ zXQUFo_I0)|x7H{leqp{doWC5ZgR!s31wP(K@4u)o|E$9N^DQqr$C<7XnN%v6@nY)C zl>~^o03c{?+HOp0TR`F`llH}E%y(ucEgnU^gM|2%w~v5sYqi1JOtyvk3%w^ZQnK>f zr1Ug;+LunriobmVIJ}n&!$}$;S*y`)3O(pm_jlVitX%~UW%tssjh@n7FR}M7ZSL2d z1^;4s5ztae*7m3fOtJ)>>s-$P2|yXR>-Hm`nH&Y+yeVfO-c#r`;KR8_mD?)K3FMCR z4PfC@SY;%x2wKT)>xY0a`R804WoLxVi7$0?gdFm2dvLCQ)_F)dPT-fWS~Z&;bf&)# zZ>Cge0+59`DV`8i%&D)|#e zUHYd7?9T@dxaF^8huD)2t1i1XgYJ9u3l@U=d;ynMK7y=@L^dvjdE;?i)wU~g@%Z;( zRx=AU1?#m;h^Ut3dMWj|;Mn?+dr-jY0AoY<*~Ic)`P$L)z#aHVX!gA-NH4wY zgCXzhE0^C<{bg<2&iM9*bvWQRZg?5xxUla2?Hg@-#$x9n*#kCftqpHaWRxmiTzC<@ zn#h8}0bn5yp%rF z#9G)!5ie?PVsCV(ua^Yy<0|&t-8s)YF}d09RNH-bQ}M#mi-feRpZ*a%`@M0n-+lhm z><|b&Y~8l$@%O-6obAjr`#7YG+B+ z6WS@~u!nF9(?5X|pL%oxOEH@ce(>P2H0I}GW|7rzdY+WVGg{az_>J;-#^#r7IrPvVOCn2 z_55zUu}aD3Pt(EuZ#+Sw!6ED@vPq*8!jAPiIxdY^KHgG8VpuI!uU4k-VDPesFOo1@ zox2rcU`*o`>5Qt95~OjEfPKSB7xBVV2RjQk)5d{Ciu0`Ys71jf_{tf^O*2|R z!|)sb$MJ=S)rME~-`G7-iClbVx%$9ppT?@PeY9+S;xl#^M5Kp1cYae+Rb+a247z{E zw(K3ptB{tRHwu!mq5K^|(oUO{ibF-MD=gRhO7G2mgLpSeN4oP@1Dg)1fjJv5b+|7` z2|2H4pUbPPat;vBd0bkV!kaG;U5Ipr47{5mvbU(1f!eZ?gTz9Yohn9Kf$VEQK&6gh zC1RO3S#eAY5{Azbku~`!-X9;jxnsU6&_lXv8b~sG^UP0At9kUj`;D{3YO0I=vQKNl zH0KGfP`C8H)smsZ1G!Q{!JdsIl}Kv5iq9?+RS&Z%L>PC{-CbdI&_t&Ud$F=-&s?Y| zNnDk^b6F}vM6hY*X!|9_dC$7u_h-j@-wf+dv+dmcmuySbuB+Ss`hxq4&`*u^mf@B) z?XCnc_{NbpoCkxI6`Uxq++&@t2k|)yl;FppRY!-b`L=9WZ&x3=x**RoHA*h&95s6+ zB@Vv)dFJ6e=q<(bS?||9o`B}HL^^y_D5 z(FXXZ@XIv9R&+_US1MDv#05sbU1)D>BQn)28X33_)(!4GTg_~cPYprKJ6aSivW~9U zR;xy~OSFW9tW*ujniMg+(l)z}IMkl{90Y|`N4E|^qBWYKY0-H>9D4|DYT`5&NtPE5 zKFmDVYZv2qd2gF0khyd6&dz=CiW*{ZuhDn*0mK~XFdcy=)n;AYKbl`VVL$9Q%&~I@ z{_BBF4l3Lb;am?BCWpM}t-fv}{NB>_;^kGquPEMTRR{5Ykm=UI$U*H~|G^>KPOrU} zevy{{GOrTwV#l$n){&Z>BF9+CfY((Q?GEz7;xV{Y`|Z-AJEpMTRzt(^uLEU;Qr!?EYv4Rz!d~pJ6@fWY0lflEdot~{($SL* zAUos_4h`lK;Zwn($7Y&GaEQ|Rfu&h5Lc^`BMzm;;+F47p4j?J3>TxKLly%}6ga}>4 z#rbFE_m?hndpZ6L#IjZ5TF*IE8=SfHYDf9a?t4K5A!U{zcCx3sV5xpwg8Y01HJJ?r zd*z-Mc!VlR7F<-Ko4i}`KtM^djyy{wSZ;PlhjBvFnkGfHAev5&CLy&h4j zkKmgpKD*HEz{DKn$*1HyOzn$J7D01|3KyyjEW5~z z&IS`&$Rz8ExBDHphu{W2NsRBp&cpKFeA-%5*2CAkib~z4;BRc$l?oDU&K(n<48-w< zVcj7Wbm=`vv|AF!4v?>R)jYnzA*Z-IYf%wM=~&}cGI3z%!Rkw)B<;2$V3w)11Q&V| z03QwnSMycFmS4p0V;(~;u_Sw>yhjdSmOWcPb{hH%e^=ioB+4qSMoPr&Rv0Dy{F8cU)vPMPi<@*T!#zN9*}yb*vIm@E_EFsUd*yYPjUX>xFt-d6S{23)P_Dp z>%ku!?NtTrTsoCXIWeXb;1Eby^zY|wr9m6F*kYflig!PK7Ds>o!GQ<>_h$MStxQsm z{stPA6FxexO7S#TY#c$bJBr9!r+9ZsKz#?Bw108KJbYJIsFeI=O5t@|K)4` z;u@;;7kh;#DxLoWY(YQ%o3>5SOj&?PLz$pfgVHx%8vi8Hn0tXopp8&g*B4}DE?mCx zRDV5|j=-G@n%lc@8!Surl5I-=ccl6M19N|ZWX@S|1iT3Uge|TkQ z!o4Ev_pauzH)6(7WMLiT>sN@nM7yhR?BxyK`$H{cB`PLT)OwKK~aAKy=(~syg9vHm*)>~A@ z7v(R4!?$OR+$qZ9x>akyRWcGt> z#zi-jeK8Q3MyoX`drgOMBdp@=E=QU5#A)FjwW#9rC3jcd+P4xV+cwt1mG4h$W{CVJ!9u_`Ko41_v&swROE~SY#14UE0IJ3gm6XcYF^sSTUpCJ$Q~?{5!{W6wo*M=n-x5a z0FemI5pOr)f@5D^XV?dNTz&%#iGMWS5ynMzdW_{RVD|>flhIE;97r`ommCeNNB~`@ z&lG;$(&H-iEip+=n7-<8cNpi70^}lXg`_zZcz9F8phn+?8skGR$P#`eWV@4|QI#J1UBy1#dGbLNyUW|Z;S7*)AKQ)N3ChjK zN>O}+Ra8V>G$h|{WLHMM*O(jf4`#1TJHPBF(f`}cCYa!& zNud(qY3g}8=D7N(1YfqM$oP3mR=8=?B;&U8t||W?9A<(XNPhX$tia1uTL%0E)|_NK z6L&yKZFLm$Ey#I*m-ob3j+|-^MGnJUQ(OJmxhAbXWI#}pCPz|@N&62DP_V>-n@0%K{SphQ=%_gB*Iv}m3CqAIqQ1DuebtpA`ec-LRQ4yHhn zH}AUN<8xoAKyylPAGot7rn;9DSC*7|)00cC^U8+ZX?8i5?}cN7y>#yvzFS!Hh`nm_5b1Dc2tj+;Nk%Qj<&Uu{J zHHEy&0z?HH7OuqdF6Kc)Ob_rMoy~u6+@U2~gPGKI+zr@IgL91e;7gQ0(Nj^*zcc+e zfd9Xdx_`pDe>aU_*QIDS9}>_6QM>?#Xa&d}te5_&3SypOt>H1Jx&X5n z5YwL`Ia@sD!EXc{z3+_9qrH3I-eo7VA2E&rkStT}(7*fnpUuv4-}RFzu+%)EZT5D9 z!{p`gZ6C_<#wcG;fvat|pVX+q+SpVdx0^I0qJT3WOswCA9RI@iL!fp;y5bUM%P@PJ zesJ^fam~{2CG#aq`t^s3eIKiuvQP=UR3p?#E<>JqUKLf%@Rz}n@ktP3-wga9u_N)t z%TrPwpN#Z4H~|}!y~;l|O~1*GoBIM)(-wgNUI#P0BzUSBi2bY$1ua>gOeKHmNb2m7 z6&b>xfzNUnCOE_$WoMGfUNIXf zDTU8QqjK(tk>}R^-)s<%&6|JO8#V1ZM>{b5gJZkx*MS+o_)IcRqoQr0SL@-}Qx*xS zi5d6|DAH@sBHWUdr^mnI>ID&a1{&xnJ?Um;hG()V8cWqaOa<_OQv>Z4F7XG4=&%D8 zTuMvwag-RUzWK34SNY9e3pNc!DVWotpu^Zf-hk*sZFY625DXtv)RE52iBwHG^RZC_$J;lWPY|h3__+bPwI^RKUFZwj8eZ zQ0?of@Ho-^6*@zr=2s;QoRSs4j02e+&&u5dfVlO9Co9!s$PKCG%kkYzDz2OB=IWrx zCN;i>f^SYy!MPn~O7x0HLiSC3a@Dp&^OUbqCnm*Aw=CuTwYf%vtxjKV`45)FVkC+n))b zaFcM&7TH(PyN1+aGwmP6O7bcKJA0XsP4r_4)mo=b@Gf?j2p_o{txq{~YBo*n(H%&4 zcg-u{n#r9bIA8;c3X6JOYzlinL<7uAsVHE`gT9f@VU$DUZumZDROq=COC9o;j<#%w zate?LY5VZWUP5&dxtgEt?9!kDmFkwq$orM z1*y`cCn5p@LPQ0mMnt4UM0yK}ibxTNfbRNMPF;4>NGP(Otf4ek#Hi??G#-5mI$ml5!6%0hd*i)MKf#y_+iZEbqalYy=b3jEegmT?ar3c@#psXw7cr$;W0RT?9Ke-T2e`5e$$=*a1#~S`rvSke z&v$*4elwmXyvIAD09?9X&_e9v8ANvB74ojn#w${y9hgnbzTH0zKX`LdVa)n-ktWV5_4F?g<@ejH3q7E(wX3{tUHD8 zcA;vp-KUO1A$i(@jxM(xXT59N_MG=P+D;JmGONJjXY}1lV?Ug6v6Sdyb+(iP(QvjU zWU7!kpOqJsb71EdE+$^>8~Hgu>(K6K@x>mN0fgDWr_6`P@B96K z>3CMr!48o4!@hC~yjKR$+h;9XYy$&IcSlzv*>C${!2HmI#rt^(Q;?0O^Fca}UcP(I z2kjI}c5>Q5pScs$`tBE?Rhcx#g&Vk-X%Um>ZyWgn5MHDs?+lfwPHQtOF_B|4LvYK? z+E+ol8|cBd;y?vtkmK^#n;{-4NH178kpQ6rS+)S5`4WJs^n!0Jokw*+WVY%L(TLB> zT!rg$mpK>#5z`-J(!Yf_{-uxm->}F3@}3a;Z76M#rg!~6Q%&eL0jb*`XeH!#@4v_2 z5z9l)Cb?;movcNYl|8b@M4$V}o>oxw%imc-8EsK59{H&CVx{5X{y78>J50kccehG&}p7N@1l~c$KZUApsU>CQo{>p^;@D z3;RnLZv*Dz-tCcnK%?>gShnZ(Wqc4qgxoN_9{6Tb*}~o-&36AmqUlb8dz`4qXzBF0 zj;!>u@Sk^{6!@jb=f2@yPfDzHEm8_28K?0Byr7o{*X@^Ux>6L69H@}v?o?i#u!G zNZF_2j%#Wm>ko_cp0b6npWJ=%L;Y(LG8EYe;g%BfAMr9=kg)^DA<P4}FNv`1XU5nsYw?VMeg z1{1ovmjse=>JX;?au@xhJ8VkPjeuU!63aJ~*>~yw-tt7H&OU1a0v_mx$9ClTq_<^` zU;Z#{P*t&zvb@g(Z%1&Zn7V&@65cd2*;%!DJ~3z}3DCrJdr^fNItrZZ%&j3vQ!i00 zCFHWH{zw|*~dy%&6~Vxx_ZGN!>9hPue4_3kEIli zyMp4tc~@%x_g&QKGJSowo;{g-zQu(l4&)&Lnh^o?s~TmD(*DR>*LF+%B0i3uVxd(BFwKOW_K8+XCc(;lrT zon?;f+p%FLw%>{P%F+8Y&)wY}Yy?)#5i zUw3t>R3|5uRg_f*X~P9OI2V2ZDoj;vvwEBCl!9A;&G_5DUxG+zSbV%4Yjuk2XnXq` zI&KaAuU~DLzsW~tWLWPw+H&Q#yGC{gRfpxP0<>EU!tFp6NQ!goQ@qN7mpbeCalnD&e;- zGmsA%zE*^gBeFKq#Be;<4;_bkHGFm~-)yq<3qgdq06NB7(zv!a_cSvd+2H#i<|T18 zuzp3HuVb@=|De-@a)NHR=(!I%$wxXR+d-*k|e9$1jT)YQU@;+ojuj%8iS z4mz1~)|8c_?}3PDZ^P3=TrlwmpbphBgby8!U$%;meIwt@I`e8fQP(`<|l%J9SEc? zYoUQK7~X=b++W%3bxR6fE}L9*x5u$8>I%R_jz=lbR5E4)H|-{Y9Ev`9?>Or7M-T)1 zSyP@+VwZYRV`W^)R!Tf54D#a-0&)~JBLJIzF(L}^H{38T0zxSGDFTb*Kq{`E!^|YW znvR2>8IstUP}}91CmWEu1`}+En@c3%+p8? zeDc@R3{!%h4nL?Vb4?u`JHy^T;Pf52hOmuW&X}_cu~$yi59kBSy2zzDVAFb35nW%F znOsx(#9T))U*Amq)s^I2wr2pcfA=pXQiZoyy}XS7g_?GxUbAd0_!4QQVVP{8t7-vb zK3(uDGtWOuM?ycWQc*6q+G2`b?DeEwpK>dQ@LMnJ6Yvb$$rLDoDE2AKqvqo~aKM;Y zI8_OHAku@wl(^or@-g!!F#E;oXIIWZn}U1hXF*jKYc;hg8`9HM6&7Fo>Ae&RcFT%6 zKTFF<=a9U$AZ6fRM*y*rMJ)^Q)9|VX((Ew#l;& zVAIRki>s54EH6QRkP0ae7M|=UUIhfNyQVb;+w(1cSpr%^{d?fwbVQvU0AKj3^iSD0 z$$#q~MBiM^0<@HXNIlzq^J(J_fd4`lj_!`#F(LuDF2R_jBeM{74+(zZh1wF_F(SI7 z#xov8ZM3HNi1kXKU)KLkuSpSJ2f>j#OPu7;$+3ZhDi>)NODH34Xyjfbs0zkvEpaK$EQHuv!s(Z9R=d4A zdCA2q;mkCD;I{GYn^N+KIz!L*GcVQqq^B@v*ZIgDq@{zI8!^XPr%jo@FUDFn7DP9V zR=p1GzJ1C1%G6A)JU&xp2F65j?LoK^cQwkYisPV$#e1n0pW0M-Z=U|)=t%GM{z!{0 z`GM(;Z@o^iqiC7PDo8}={+g+OQ08+sIpdL^$gVDJe7Fs+vF1Q_A<~n-4svRADB{sEq~`N+_1B`j#lig zFnEr=c6|o`3RoX_fbzF=0XG2@_#aL!f1ZLQG|uzcSU$^q8_EBcZb=(l{i!9E+C=Sj z*HUW_`&su=Xe==RGk~MIG(^v&_@yo>!Boe0ZZ#S_nQ3p23lK$KBY!czV<=Sxju|6BIe<{x>RNEu;(U%vw*PU8K!IzdQoj=Yu#D=P^a72$T zR=7j_*_bJOiAuzIt`5vdl389`B4jxgf%L%IBv<==zRN_mDTnX_+3Uem=Lh5CQM{c} zlL3`%6X*B%3Z2G3Zc*?+en^$l-3DEBM?rbWw70I0#d1hQc$Pb~VL#7ktyKmyqg+t5 z9MO#8nid1ISD*JzQSRsBWM2!A1v-b(yc=n&lBXdT^i*eo6-=yLuHfAGO|go^DpmKg z9lu5tBgyR)?wwcYT#)A)EE@Ga+d_w&mezjHGp#xj-Cal{0k8#x*8u7-0E^6>I?ymC z4LP*moaozy#Vkqbn_+Tofp!z+`n_U7w;0nactc1_WMgqr!VZaxinO0m8d;lUPoLm_~_ zc^>=?Kq-ufq`hq}iJgbLODJI%6u4#Z#TY1{>G6J(T2_y7r;%6`Dr&;Z4_zxqhSY&A zBdReYBgrqk6Hi>yt>Fv*Tsvi1lik4Eixfw=hQ5|IL=_<9e@SF9UcT;i0j)3x4r;Ma z;uadNrYADggU@ZOm#A_Lrk8_X{8an`SyBBlGf?OiWKe}?*fA60%#%0CrvXUWDj?zC z0iCnlv#N@CJP#}}ke9fv=&fzf{Y29#=m#*sjpy6)Y-`Lk30keYFQ0ee+S`P^jl9lHN4H-d5XPe6b1?r)X{+_`nm{JO- zaWQ>lVKwb_LfBJ5 zba#IhknM*W89^Jk<&W|YTESbHuNw%&>_XgW5etK^w>=TpCIH@&I7J{yeevmmqATD> z0>pk;?yl6{bHry=&BDACLzs`cqs<~-Q*;pzU4|3Zl-`1_(Kz=FzAo~d?{+rLwRyz_ zII%?*BGxevq4a=*TCsr{>y3sUM620h@JA#N{ITjb4iw4%BqLZwsha&^NliOkSm)Ny z@8{IZrDrR<8hkF`M!@XxqdICm?gQrNp8HxI^X7=QAG(dIX`QYq8wi>CU2=-)%fS4&YdA@Mu%PhQC*Yi=C;fl`~ z*EZ38|Ed4xqln*h(n}$gvi?sDK7mx(0Q&Q-ZYfuBQV06)%x&PO1YVC6f5rVP(`KPC%PB~pX*0T@NUGYNd_2C2D z{qENgb#fAUyZ!brm2yLT-CR^?t*Z;D)7#$chDG>Sy#2y)f@2bindAKjXj+Y|L@*stzU_XqZmlwtON9pH9s zcZ@c=0!v4?vK8{>0-s}ivLFW{o=m|`I~~`4uFFX@Tmoh3Vg{=(GgJg)p*SImw5))Q zQK~m*8ZhktDo$C&fj`1t7&oSG|KnxY+|o!VtI}BZ1vua}ZIB3uuqZ0+XvJyihq;Bx zsJ?h0N;nB}_X#>MxF`wI3_^ME#RS_D-|r>_VL$W`7&T$*Qd)Z_AcHl?YRT#K0B5_4 zgI?NdkI#l{a@_7U;GlbfM%nI+dijec8?L4rTD%TQJ%?g3vtrawCw~6$A`k1bX(ehX zd%)48qyb!~efsWy86^5g0McJS_fO!;f0JPr_7u5;DAVwpjx8sW@YGye|HucAhw}Fs zuD&=1`W~WQ<5j}e5meWQ)$aY47c&_-=aL^0fl$o7PBqNSq-2p88ekX65-K)Xi|36S zKpMQ--JvVX8~E#1868gIf%W5Q5nb1$+E~d3%ZWKOvj`9VUGvX0P53NsSVKIG{1LjY z{Tgx|$kS^VALG{H`1#cRi7V#zG911M@&1X>&V4L`4a!z^dNgaKz~8<)JTeIhoiRI2 zjdekBP8!=Hh5Mp(3Icrm60h#OhYaa+nuN@6W4lGpsPs}~(u@}>70=k)*e0>Ck5+8+ zSF9Ut8BD&|V?2Ao4ywOj14K#ik|u5tC}uVagN1=3LiPsZd$>c{$SO$i@2^CEZtp#j zR?@`ZFNk_rZC7wt!dqj7p+fO=OoytR#_-kKVO4UIoa6*Wg$$NcCw8XT{5?G@cDQSx zGf!*jh;2jlF5~wvR#$PFj(t&^=Z7?oQ*m7L2$}S8cf4s-V=O?zPQE*I58@ngkO>(! z%jl2D_8t=$PbHF^mrM_&4 zG-$*!0^L4~%sVwWJU#ic#-2fO4-i%ZNX&xGx#29JvWro5=gCntChoVE2nFkl zXEfE>T)*V~*6@v^H#>iCb+|D#6#@Nr&lz>{>6I!ZxG%rRV&Iw_{n9XKC2%gc>5270 zd31SO2^OWY=Zj+krliYUmUjF2)a@uLEq@5^_*3*Zz_(n`bN8G$#}nH{7?9 z@QVtAw(k!;-*{C-zSuZu3L_FIQ6rS9r+f3jdQ}t|p7FD?1uY6GEn!d?IcNOitcOCt zUaH*o_w5t4U&_kLir*koS9sZt8Sw;J)w)1C=v8M&f02RKtzoPSjyM zO7yo7(QV7CEWbs0P6E`l*ZIX{mMI@U=V=`i>IFxX;6@6TJm2K^GWhkY)wtm0 z4bnOd+kv zfx7?%l4pPY0QB*dk>RDcooUfj7E~5RFcrx}atkmqaSz+7<8eHf(CE$bCYwS9Vn(Do zAX=Y(^sV+DTQ7cw$y!2j)!c2(FgCGN7rUN{n)2(PRf22MjCsR*6#;f92;O8r-;Uep zwU3`4at6K4D-0AGPWqUksaQ-1+fcCS`%}!w>;Fy6$dQia+6#bO^23B`A>!GCc-j5L znW4GrjxE3s#+`8l&T#NLp6Nbap#?Q{DPzoG2|gxxDd674jm~jieGBqgd}zqen@^B~ zVv+DwF?>ZUjDZtunX-mv#@F(7WiGbD)71vUen1eztvo-}v3W@!=D-#|D9% zpX{A4ZX`qK&ROD-igHPj;V%qKgimMe|ujMgLHslUY^66nGD$S^I`2p4vcmN zQsxU-64X63*G5rBAh-U{9U|4Aq?jz6<<4dt1LZ0Uhc;a55IT16cyuBieV8`V%^jvs zUO&)>Ctf2#-&4H!8?Z+gb_<7W-gkBiWv!={J;zGrir%U!A7N6ksPTCEN-|--<7bos zDiUvXUC;#YR;a$R{toeUWV^_4B6O$CAEUvb;WD@`DH{HrRk{{s$hP9;YJ&Ik_ zyoQAO@cOE*_vw>S4+|>yETWs~PEUM2>qfvm71|d5#QMlNUa;z?l2^8=v~D5HbpQJ{UyA%yt$&PG6N>`Aw((tJ6dul;EVUAri2%E>d#l z>H4cNjk76^`M`|>GAc6TPPLVppc}-f4g`3Eog$FmdFZhl<}_$oN~(XMT3y83D?UII zTUFmMT99O`*=Hm@{G0AGaR_Z)(vy4G6swU;1@MCZ5>4@sj%O56b~~8U<5QN&!&fLA zR$DiszOzGYh`EV6Mj|8(`OIZxbS~9)bTw9WHBZ9wqblf81}OIp=yaajqD|*%iI)Leek?+dFs?SK(d)c5snpS) zefIvT(=rO5Q-tquDux|*)|-M9tNS9vXC@g`rZAi~i{EUxf|50I(}d4MuY5Eez0Y^z z%1r<1nRanoUrxO!mCLG@I!yLSn;3tbE$)5d)oPnOFt4@HNl2Byt?R)PR~i_al?y#Z z22ufOih*DdadLhor^$(|N<$r=hFj#4dP|)g}b< z!M%|#()><3(O_jXvrEd1r7tJWWbk?5-S_Lqt1~f|Kc5BmfbZrr*-{P+knK1oiX<`Y zfM8XxeUbSjIs3aquuku~Ht3~m2!1|-Z+Lg(?Gz?XcAoPD@d>ZylhL@xk>5szR#C7Y zl^6Oi8%M;^N+8a;qF-xE0yl=snj}6xUa{>!v>aSRXoVBXzOOTq>!<7zX}z3jy5091 zUcL452prnMW(aMcWpmU2@^W{1sTdWowPow1dK;*BT)6(%<<37UkN%S|5cU^A1D!|0 zpWXuc{qHj_qi1hK&ywBr!VgM|Fh3<>GPIvrXr|>bl;@K89)M8bu}O%RG?>r!Fr>=d z86^-~&AMaoz+J^4`~Xj;BtwC;ixzmSIhD_Q?s2+uu=gx<)9R48=6&;Dvb3f9gPq*4 zT{Vj3asQ~q{NUA70E)Rs>=G-vM{#FE4%iy+j(*I z;7jO+SnGiA@T~m4TiYus!>Il3&FEo8OZ#sPQ)s}$WM^_yaj9z*IxG?ike!?_Uc5bG z8LxlarjWzH7QN)%^;mx)x%Q*Du7(I&nePvS2$lcao{Rr-EYY5af+C_nRJSo+{aBJE zs`kTpSG?@NaYJ^?B(a69CAg)hpUl8xXYC(NO~A zUYq{>ta46xZH4U#Q)>8kwoQXzfH%1++H8?RJ~6Z`v*s$?1Qc2BM=l_GFYiC|WHn(d z`v4Y0yiQb7Z;BF0v3~LK{;=i^1&*oCr~3*Rz+Ga|{un}(h*0-%3)?sCt|+F}swWf!5i_6B-!XdYFdb_iIwI<0@#IP_zvg>c<4bJ!eE{atyrjsk}(*iNT@aggMX&zrk8%uORhCVT48JfzJL{?KD0^mUzB5C~VLZxLDrB#RA0PRC= zfZv?ZK!b(#pg|g6=Qo#Wi0@b;pnXeu_#a4$yrVT;ayb>&0_N$J;f3zR_z_h$FCSnk zA&U6ZG+|OyAV{`ONxS>-*9ou37ZG3>1a68WAXUpkMrc*nrzi1YV5Bg}Ftqx)%6b;Y5 zpJRnde3493&;kLi88sVSrX z+;$)2=ZSfTl%;i{I1#2Zs1LPVpIVS?q}-MfY;jXnNblOutvBs)WJ{%6k}W0%A1Ov? zfCKRf7_O-IwY+3>M%}bmRj&Ti94T4R^BYe^2-@q4oBTfwJD&&!(aFhSt030)!=p1@ z?`dL7kjpqL#@9``6s^nfZ0pLNm>kO1Ovi_o-80*YAx{0zm>8z5zGDK|A*@|3%p>$h z1p^3eyVrxUmLZWLrCbQHwg`#f)vHPePOTkCr$CrqCN<@gjnV$5l5p|p{LtPAt}=YC zWOb8P-IYNxy}aoTH44NBB>tRzOr2ppvX5__%;y_iKajWSZd8tBRMFM==y5(^)D@Xt zg8?F-$SqbRR3pzd5<|eMJ>rzdF`En<8>ZphS&&D}4l|XpXhCSci>!MXby|nLNcMS1 zjW1C;zuaKPUk-0|&VBO$_q;NEy_%6p!Y}LC{HP*6K<$=unresXa7JHVVrBd-t%!Om zhC**Ooob(ns?%`6tjtu1NQppJjXn0>ovqmVegbC&-*nn}L5;4xN)hrgCTA0J^_84j zCWOn`Wp;1fy!S+RL-lpu5pef{de7TLBAy8%fLer3K`F67GANLPxIPGHDQfLs*IeqL?n(3X4WS}Hb2XFo9? z=&OAHN5$yhdv2bhF})0BSzNV&vlP+o=Kg=RufoI^-XsF9Lf-#*20mE(e!C*!-|(DsJZ$<*Kz6VfejS63#F}W@3L&{ zd0Yu#RMNOAfE6Rk1kT3)rmI)TJs*{CX(3kkrbe%bq5|Zid*7`h$_^d+l>Daq=p7Qs zHuFfa2N)|=jPL)|4Fv#1OztxTNC#gbmAQeoTX%px&A>{@jQ(#rk_b72&-?sB+02}J z6`+O1GRW@2&6jo}a74a07E%dvd!y@rEiK)Ed^)FKw1~fgD5&;_R{8S&rc=h6NvPQ;xNG`SyS?s||d0J^C}N~|52e@Rw{G0N+X(_-U?Dn-*|jv+zFZW&2r52RSe z7xyywh8l{A>=15DQb^jlc&ieR*7TLO0Q>mu7gB4C+r*t%|2=|s2x#sl4ZmU?z6d|UJ!-0!k+>@*(0 zCEC7`nI1mLgs=knIdh+%O&wSny8U`aIF;^bKI)6a>hqNNc_oNgvp_|Td_)Rc)jEFN zQ!I3oEzI%B`U{-o{H-3c8}0P{6JJNw{V5`)1DGWDwjx2$LtZ{K%5xvSlQk$@3>oet zaBpvZyV_%a?cq3=hJ^qyn;d;kmuImPN=Go0>Nu!NiHxj0njiYC)O1t&Vfu?Mj+fAn{mZ#!b z!)|#D-9K8H*__~^i;=E)6}z1AdRO{=(AafvoKDLaim1cPJYfwfM8EIdlBgbh*G%#$ znT^z=h+kAub8@}* z%JDvXW}31s2{UXbJ|&_G#I0xDhX|MhTp563*Htt<8DNZuR)FGP7(~+AZMKN&n|MAfZ^2fqxQlE*j6z=x{^- z0;F*wW5@*(mdi)ZkrOB9?8poaMOwV>*-zV}*pC$(S5n4J4iYCObApV0;8T4JYwzu_ z({YbUMC6Cfk>7N$wv=hRvI~re-*lN29dZiEbwitVy5mFa%Y=kNoea3I(l1Q1Ludb9 z%^8Cfch(&j;@tbzEOJS6MdrMN8pFzu$+g56;MF?XDx$wAmYmTV)c~E31hU1f#v6Qz z9-exVv5C8yZw6sInS2;tS`e_=^Cw@G|H>%vKc@LebTc&hp*=%)6 z?A-(t5gO$sj2fwoeMU`oImYYR0=nuQ(B_3NRKM(?R&Xzgh3-(3!c9kC0@A2tva4d z{TsbTCtpBXnAf^~fgh6t39rGIY&{VGk)kqGjhmkJ5^7QlzrnWh#2_M|_11vtnD9X^ zXv(p_?oni}t$P`T4+#eN6-|HUS4^VOot4}&1Xo|T549S?@w>d9NO;$xS*RJD5L11G zXM2D*L@SXnhTH|uzLBJnu;5w{i!WMA=%6Np<`v(U@hGg?)@Gh&Ez=9}yD_j$J+PaqRxBkOQv$Hf4%k4o zB;m((cB7JFyhTtsN@`~8{e21?2zoZ`a}2&n8Cc!p5bk{~^ALwo>2ZMt>^PJSZz;G| zeThHuOiywJ2ei_Ispy$WcEm_(b8`>wU9B>De@+fU6zhy?0H)jY$Yap-OQ$?J4R$jo zg^{R+*lll!aj&#)0(ecXYgYx)u#^$Hr(gcG#&(D)b$JsYg8|o zdx7iau;|0d2MTSwk}E#wF6r@WeAc|dcfS$oIOx1@_8at>=R0TS8R_2NTGai(_VqA2 z+Bx?B1=_&UcHwbzcl-N$4)1d$PVTbJ$(Pkr!AmN)qvT5X$tTA!ehy}7sty(sOR~PU zJr%*P6a|H}O^6ZX$2lI+UgbwUgBxkas9aYg{)S-w2cfUUo=*I%e%o-8`2gr;acyY| z`7kz=Yd)HL2!x}}XGH0Ks=Px-f3$+?)WD_g&)c*m`{k@~*2WJA&&<#-17%gu?aaHW zCO7gzTI)27?vqYAqu9w@Y8AbfGLdp^0>^>?2Nm@J6su{59|e^PSFl@y4&|XQnNWgI z!}berkR{`IW&-HQBG<&?G^}8p$L;IhQ=sguVeWs1|FE${w)bKXYT1J=>|X}y18h)H zfDOt-2qcoXA?)Pysy>f`CKjirHLgd2R&aXzxAsqOjh|_fhxniK4m2&Y5Md?G5Z9EN zT%Q#Mx>&Bvu5}en&W??QNJt{E>ca`#04i882>fII*JeQ;86gP1-I)Wo`^Uwm8gA*F zedo!7CYVj65Oc+jyO$^`+w2$@UZfq_42i?16Cu$n$dWNUn%vb8C9gC^vhv%!q&7OI z2Xfwh1F1y$Bb6j!3L!~~BI=*M=3yGE_OQ}a7sVx_bJ}WBncjY4ovIU(gT##ukRmx< zJnv4tj;<`r+))a4j#%r)p3c|1vKBLbnBBetd=%S%sc&Eq>^@4nPLuAH7OyY+VoW>2 z-?7gE#0qGU%tmi}dIPG(NJn`qD)A(sUWL~aWO3hq!rhB$b8qH^cD3^&t#Wnsqz*zo z%+Oiw@)#+aB^@@BfH= zEmn*^N>3mb67)1&&J3tNV;ZXCXBZ>YKvjvfsIPa;`v@b(>vFTBOQV$h3$} zX_t=a-*je^bKY|xolD;i24VXeYyAM~_s@c?*yfQ+B;{T^wTNfKwN)HHx9=%hEqO9` z^;S5P|9F_X)b+yBsMx0Ir@AzuLw~s`w%v@aM`r=pU%Jn%6^T89?mpgz_(%6xhSB=qxe6>j*~FR)g>l3I8w^g!kl7Ci7T0ayVCMSRCt>0Su0^cQ88+uM zEzo9EM8-^29S6qr@ZUt7{m*0E%#y@Q2=OJ(HJNQulWA`r-2QnI3&u+05=vk;Rvjf^FrQ3m&NfM|9>tDIGHn=;l^_Du6i_}h`0vHc;#-s$( z1oa<$d@7m5y%{=UI05jmYE436?2pmJZ~8%ecyCBMRnyPM<3m!1d?>UOODfn8S4G$n zcXz&2z@wdUJZkAOS5<#$y-(c@W#HHaI@fr~r4iG-c$ZIc<;evn`6R1+(dNHy6C8YC z+L2bW2veCyUrHwqu#cyT*4Ue82lOsKkQvT>40LcrI!-s@DH=)cMs+2Sb7n1;uW?OR zXVJ--v*`R|_)aqkYKnyyW(D-IRQnrD(^aHFtw{^jC*apU-yP5VTSZ6Mn$%(&=eCuCczPxr zx6n|7vgc41ga^qW2;23smenR~J)C#-?7MW{^jWh<(!iB&1vJ;O{Y2Et!ma@fKm%FV zF^{Uhtizo{qgjEB085A@$nsES9=Na2P|Mz}$p1`glKE+iC0+Af=9nLAD~|2ntvAXR zQX1BBB1{m})GF_Yg-S|G;EZf{I&n`4V!=>d7GGo8*JIc7rFc~a+ABQMw^e1mDw4!; zp8$l)3^54;a;V-ztI}zHnH#hGuJwTe>G%K4xzu;f{$^x7C;^+O9hw1s;`#0s+k<_7 zxD_*KKrvvqYEEyA%o`25@NX2a-e__g8-L(X{;peao>S2Ut02{^87yjRyWx3#9tcQv zieodZXAi_Dtr+cwxFoz(yZ-`i{Q4cQEFY@4A)JyO^zx-bbeOj`!fJYQq;qYwsnXyB zO^nR^gm?u1>)hh5TawX;q48Q{XX>ic`efjNz&SNlq;9mL<8-e zKE*RB)={-$q>%iN#@<3Y4}1O9)Z?zoo{r((OCt*%=&AxJ*rhQtvspKma%#pKELJS? z@oRRaJM)SAPc2Q=JlK|hkyrG&2Dn~h^k&D!7P+J4w{5&e8>!lrRV9V~T^@j-da1Kc zeGcAPVjobcmvw7VTzaL39u%fXQ^d59aydoO$VG?t7IJ~#pF9tk z0MCP_uDI0knxc@qxXy|l-eUm0vDn~*kYK|gjgQrPpSm!g?VAA!;1T(S&>&9kXUKmz zGX#=Fsxv`O<19#OQYc>I0(U+$j+Rd5%F>gR4$pyywY^*8+KM%IN90=UmQI0G`jKpP z)Nr$?gA%LPy#uK4aElnP2Qgljfa!rsdhu((^x)DTrUx_HBn)7BAT0Cg@}Eo(5}Bv8U8ak2qz$Y)yNY^f zH~I^TGmsujH`1_-qVZ7 zrZ*XH9wfy4rh5_cgoe@F<`P0*it1@pkIb>(!>U;rGoKFZRS$aVK50svtzS$OF7>$Z zhVT2P_%fz)W>Rh!tKa8hr|`6lUEUc;LTh>GeR7F;FcsIA63*5DF9?X;&R7|UFKdJ`QLOTWQzP?!FSn9Q? z7=pWY&Vp;q(a(~!5f@m)2HVm@C}X>pQuQa{*Ah9Y=hO?>mYx-H$@+Re+H*0>TuKS> zRb4AI0>HgsU~c+bvzx#7SZIW)X8tjj_sn;1T7P9ehj-3iKe~JhyYMxR)A(#cl#(uP z7*g+rG~Dh0859k!9CAGcsLD&Z;3O-KH(CFLX(0Ep1eiK|uLHx2q{wlQvMZUF_zX$M;dU;;HkM zfx!Kztl7sC4T{-lIgx!Q3#1z+>U6})88TBr@(=S2_>js0r zzCb3I7jc>OF+bw&qXaqJn#&N_xEuih`T3*=CX4EuZfE z8CNCtM3l)L4w5;dZozn7G9du8BelX9XQaEdTiR^^yW6FBe8kt zOtl^3yUojP*e>__$^>ikcuNt{LKf7pLr}pOW9)HKPy+@N2(`^z~0+&vvxc2NTF%LVo&prOGXz4=SRLH&X#ke@k z>*jTrr8g5-s5xL3Yp$lXu%b!ZfONT#jkWqtfWQ5c8_{au6Y?Q%I`+V6>RZ!+vU0kS zP3_H1iUM~*Md^!|5nM_`*Q8{R)XCb7VeiT|Az}`|WQF_0j5^3^>%qt$*&gY2F3zXX z6J2f`VUK>(O|;ro11LQG*IYFDMq?NmHnZCZ@vZa_N?nj|YK-i0{di{RhD#8t@T}Im zMDBQEYrUCu0dgLsPm4qi*UG=9rR1*riu6EYq@$Yv2VVlSTCOvs4!ZsI>^c% zhW}c@*(hEjF4vnKE8RdqUSvt0Rcgd2ZlJ2?%ksbPe+}lk3jOav7@!lxP*1v_88jp&Rhz+cI zIe@&5959LpokrPpokF}IZ2=w*ClRqOgAqHuzRCHO9)<&xAZNB`GN@v2q3uVzgxhIZ z4_;M^J?orLDU3p8s!n-pNE7j^P6S8*=In`gKoxj_tSQD$rhgnUMLMQMS6NXa+x}?p z4x6CoGbZsRRYaaebPKDsIpJ5t+K#^M=i|!j zSy}+0m2C{Q%ZzyijV)!lJLR!{W%|@hJ+oi2)C**{EK@iSJ#i-sA@1N}ZqFA(+f+M+ z?SOET!@pySc|KVYFYVY8gGw**T&*k%H|tl6e|4=a|D!T*mYbgFuNnGymXPgTu}?_B z5sEO$>KzhjmanQjhOz*t-Kxd-@l4-4CmxSxOvz!tG^JbF0upTDUiGM!8jZ5C^CBb`q>oRypCO3kR+^3*-NiFnqHIrI z>N#SUcS^1WWnoY)Q0`Olp0;B`Rvm};JE(nb{M>vi z^XR(;hNG$2-i3z9(@N;H_l1WpUfus42{~FakdU^5)c$o-9yIN87Q$-+P9u&s;48cy z?&zTAV}AYziNlkTtu^4gZceWLsTjTgaD2d=bRTW_Rr?M#-&k|*_GAa>=6)Z6?2BDI z{|9&D54#7-EOa_>$0+1!a-!sgg+g8zeL5d97htAPa2;wQVgM4sk9ESbfMw#eHd5f1 z)Fj9qu3I06F8qP|XkG+ND6=S|l|S(`)E1un0yP?NW+5QN!KBFhjDY!8l7c#Q!x5L} zu;EVM7%Le=k;}Ts?Ybr|zSAOzx~#jM;{qb|JvJq5A7B=E2CKmWlYM_!KA5=oHOn7i zA^Sl$KRZCbVn6GB zdu1Gx=;y7fZ0};{!4cd0Bv!H~)Q7qK$@a>P*h=}na$v>y2V%5;9dfa17ML6q~I8SU-g| zvh=(pVidfv35+_*-Ch^F(%qrLN=0+@+R%ZFeG(PkEfhpzc(>*4=KK?9Sqa$~6z~57 zgWcTCJ1$BwpJHb*#g006zhTn4!qYLpTre|IUW@auU;KoYLd7668l-n*-IWm@j_;nj^ro6b?HKKY>^^FWk9T&A*a?SCu~rnRPR94 zQ~m%%;0A0rYYa_QlFkA{{ z>C73F^2#@k47Kdqg%UA~L5MZ3)O=}uo)qd>E&J#Jc8iuf|0q03%u37`pwOxeS^sOE zOK`!;FXo>cj(KspST4m5#-yms+e+r#*M1G`T9qU#&uT@RKrEMHdMbi zexn=`^yO8`tjwv4^ju42v!(RlM8vqe@Zy1L4WGUCEJ8^Q(UKP=@K7F4xhCJEc> zdC|aa`dz4b9oGvM9Bsk34e#GG16&?ow@`Trxs3@3pe>N9EL7L!vcs}2OUpQ+up+k3 zI}A)9yCKB?*I4S|@B1fs>c7wFk-iaUZ8b{7K8CHgzJhE>U>1!g>BFt+bB}mie4#nX z<)L;$ym4nmqYid&&j2%2*H&KkRIdl>tfFFV=^kY`7||}>c^v>$@w6}Av!=4PXKJi~ zYsnJ_)RTRn6MygKXPcRj!;89nB2##iX{3bj(O6g7nm2nkYCG5kZ~(naMnO01;;6TO zv2f6)*5(&SCl_qdZxNy+rdb2q$2(SsevA*C+eBvrZQ@+Sj-~$7K+L05APwh0bRuVy zBQ!u`7XRc*PU!eafiyONC&QKm z2sj=d`KMn_$QvX#KSl26F3c>G>Q?LuDwnH5htF9?QyB(pjRtAb9n( zfR73JQj;MTP~YEl7t_#9EbfoBss>gqp0+!Vsww`MIrx@GC#Zg>V#GUpR?-B^6719X z{H9Ucy@X#;81+Tm^1c|e!-+G3S(h)KVd-$)OS^7sH+JGJr;QM3unCu!X%Mn$hF9Nm%@ z%ERu$&iSKg4y}@7%@Wg&Im>Swc;BmfQOn-0(zx#^id!V9Pm@Igt_^Zr9KVp5D)?4z zd);tE-OpKxF)ze7eRN2glB?7*oOC~^Pi7)a`|WF|@emE{ho%|AQr1R^z((fe0j>jZ zS35Lc_@X1lEhAh0#L2O+Z(@Yo}ucG2 zsyV+JlI`!58N-G6SpGli-aD+xbzS#G9g0##K{`=T5hEZ9QUoF@T|htxJt`ngdT)t} zfS?cs0jW_CLyz=Mq(*x0HS|sb1VRXLe~dZT++(ga=9>GQwf0=+{EmI`iZ-5Ys_y6S=vrEmA?aG z8$h1`djaC=NKXxyQA1sz6CQI(K1R>r<~p2s0Pf4k6|s^WD<_`uytGi-{QQv%8&*oS zjS5g5GHsq%qwk*2e|i3$m-4YK($~IgqEec&&z;lG)L$QIsXyP}0v_IRotrI5j_fdS z@KE&bui+eDOpkndwB1(y@rMjmGfKt}i0&Sg`*M87eVSQG0XVXe1rZbItsIa74qEIm z>zkdKE1xrH#tZvYg2b05=m(`R<5J&#fJd$(; z_TxyGKNPC$XAEQQs;lwLsl;|I*3A*Vt`|Q6me30Ce>P4(dFQb~h|)5%TSeTf0O`!R z^dh6bDkWqfZ>0LWjiB}VS>^W1QuFthnlyT#@?JCeymWMnQ^4)a8#0T(Qz+zUcY&VK z>(FWXP?`QU<}t?pVK)gHH2^VbuqFw8zj;z=l3AL5cD-iawdyy+qS3HQz}Os;SeLw)I?0s0_Bl#TR&I$=EM0H~^A0J7IjmooagvGGEp?V|Hny z?ibxvog!Q42GiS?u-k$BE~;~yBhT33SF+x=s?wC&--Ilw2ey$~z>PJdM4|csvj*oW zi&@`#fyy`*2+v?|jfh>r2Z3zIOWE7kuyQnolhg=v#q(d_Ce5|K=zM=CP+aiW8Hd|s z>KdDPm4CIbmkS(o2dxK%P#ZyIuNqWW9b#L)2atu=>0p!@1+$PI#7Zdh;x#Hd&dGK#6gS^N2J)*5f= z1z-sK;UgA>-&P(5rfDTVvzT&e0d^H-yFuhKiWRe64ivQ1OKv}xIzO5+Da2H;txm>g z79rmBjJ6*nPiOESkX-9Nj5Ly73uGelr@NCP&5>QLP0 zxdu{~=@Xj?##U&X()NI)L7&owm3E$bXyoRIuA}#9X8FWdSLB~xB!=u#powq4_$dxt z-fF%Kf!!yzVDbQ;+X-VI48X!g-=r zYR;ebwWq@x;V0({vg}KO_ap``n=yMWBZ!}LvaVxajO5AfJhi#*~u>C^*-$ zR@zF6e1c&G_T4j0EyZE)2TO~y9*QppfA-Y27?=yEL9sEV@^5sV0zwx-ud58)@hgq0 zPj~eA)KcPU7uF#r6ho0SwgX0QtXxhCeK~>A)a|yXx2sv#EK{_DY%1 zpvRiFr7M4Xb^V(WgU)dmHF+1g!8LSUGJLe5=0vZjgY=f;e1yqmNF#5C2V}REVZVk8 zbA`5&n830Vm@p2PR#+`?^e?Sg^b-a8v{wE{EC6oOHuB9#RdoQi2p)BHumI?kD;{>r zJrgnJzv#%+cv{TV{K)imB5e!dCL`h3_pPea3a~l;$ArS8f7i(Re=yYerwlFzjzC*n=dayr4zlZ}cECIqg;`q`~&Vd%8y?28NwB8Ls5}Ngk4x#%R zF)ORHjd?_VmIABCGK=RW+aqN92HWtY_AJCpxXpy6B))~Q+8D0t`i~C@9EsV>B^9?& zVrf3EeD}~^mffo5x#z46uHoq1)EAHYcx8He66qW4(v2j{<@%z`JbvJl_EW+k6w=&$ z+3wv_N)|u{Z720ZYj}g3O85Ax5#d{m=k&NejD1D(lMrJ3%YII4x9YwK1=UoYm2Esc zI%LvlZTm{*$-}I)@1TW*LTK#ca{|eURVlf@ylDyTe z(AWUzw_mlb-_3g27v*!b#);Uu#+zz)<5u+4CqxP9#O>dzfIM5mt(p1v3k6dGZ4N=8 z_^vu!N>T0}_P#&2;=Mz6xsQpH`K0plj%ruMx7=^GUV8Q>jeTBT`AkJo-wgzY6*`~v z4Yt-?J4h8THti&K7nIF$fA9tF%5U_=E1QMfTe!}wVolVhyb=7(Vm z?Yl1z`a1c664^tGUWG9J$}WK;$;&XaTgc3c65Wr?yci9zCNObULjhN-r8X2s`?2v` z#*=4fZk~woH38e^3RZLO{Vo#yvNgxMCa%>tv*`&|bDE*8cIO0bK6bb~SX*;CKdv*s zYt?a+!nlrfwd$bc%sd;s;-pLyIRQtebORJamm`*${7DONX)o z0XbjSe7tc2U_mXX+2K*?+q{tqX=aF-A*ty{onM5TL*8akOZE!GjmV|;4)J@4_>pCr zB4H<{LNabGnsq94o_p81k`ldUrtgDnqJb?1LZAO`=En(a-hvRjn7tBIUjTdn$0)U$ z;p;S!a_$`qREkcuSId_>23)`#N3}0M1|S6KfA9iAJ*8>)_j&puVPLUVYUh<+MXsiv z!0ZN2M|ZH>&(~8Z@846&BoDyaJ*k@>D;_WX*Z6+-?{}qE^9ewKSh5)m9P8Vy%BcO9 zShB6p|7>&rXODx0bh|tpjX-ORGV{XZH$WSF@*X`Y*YE1pzp*mx+XbK*RMGG6_bRkT zM`dQg)Rn)mGGNch(ReIL%=0AYcSRRm7aoVV=vDUVmw^ZGWt7q%3_AaqiG?vvaK7D? zkHt-gtI$-+9~0E7B#=oUkLPTA3G3UF?6y25$75EXFOa!b5&LuBb?_#fBNoY-!f^;k z{vT`ANI}j4)8P_{|s2xB_0I&?2f-XSIAe&@VZ6juN!~}VzF74jz$-tbW z)d7KW9UhfwzDKtW9P2^r5FIkJQ3*K?VF}0vl>ZezLh^|wkF4DC&Eh5+%Mc-2qK>~zjOYD(od8~CSz|JO@V(qD!w)V__M(fQcN_Pob2m2GFUBjW8>cm_2i%-SooE}J z;7`uWb&tJs!i;5PFfiGiMEC;6hPhEOW4+!l~`$sO&AHROJ>{(orFh^Ux(g6>@sXyR_VKlRoE?L@5f29mE z)C0@qW|Wj()@~l60jN%UBqOa0#Vvmm2uwzuCP@>JujH?lZZ4Tw*6aFRr-<$PXO{XfLQehAYILb z1zPQC#8oPqBP_;@f225_0unLIPUfuv#dLjH-7j@ zs8HD%x#(5q0AGUp4q!%XK!of-PQz~(Z@i&8Oz(U2If>1cdHCOR`|Zt#xlzJhP>JJ9pK?T#mbC zlj+N~AuCFT3hc+=+5tTDLvxw*MCbf8hK9Jg=pwGViSPs7&FcEHKU+$uz}ogIZM66W z88STz3@e}6)m-ZxSwxj(q{8BnPG&%|!&Z|?Ok^~k*~XyHT(4)O!`JE=HCiBtAq)3M z%*Czd;|(j1E4RhDtK>+$XI2e!G}ASo$iZ460Bsjf;Aocrk@O@QO*Jv-`Rha}tWJgSHl`sh0<54Z(>0rvW# zYzH4l(V61Xhac{LdBpO9<#-^1>2dj!cK;E|_P{8tm#7d>5S-?J==sIuDYycgs=%u% zZ@k(Kt*kKtbPFin&7q&fEuX764_m*#wkIMrk6;jLLLtO=(+vQT7Zd_;(7ei4<<{DO z5yq>U;w6m!0PvalpXtf}Yxuc`>g;3lsF4`rl-4cChP^JTg&WaSorb6Q!jBQg5aYei zadQlVA@F`y}JrQB!_k|FNt8H@COnA_i3>9s={%!Ee7;1>*?xsB~<9K(o28A8z*sw8E@`7qPif5GP; z7S_KvX#iUS{2KZ84~Zg^^uZBvVoXsGtHk#BFnuN4D)SQn_nAhomlI`S^Njuo?5wVC zeQk?Qs)AS*1cwy}08LHaXliWA&-|tueT-F>@y2|=>@uP=Ljke2^t}39b)vjBh&A9bdFiT!&nx%T zMW%a#93pHMO)~Bk_ZB-`7yY3jwaiOTF(nuW@`B z=lYrhyf%Np&i)s=fB*i&YT%!!X*$#<{r)Qv^}D{n@JjlXZ#fP9oshm7Ub5e=_;ZZS z1puFF14iwdLcW3H6j_Mq(2j$nK*Gp7k2|9X$pG|0^E{9+q2u_2>(l;L3?u}c-y49y=c+O|DYjmqafftL{bLRszQ3mKtAJPd+724$$obw1~+KSSG3f!x{p$ zK+JpTw(|YF7+jwQ1QyW~*(t<$MGzUO;tmOw67*jiduq8ht}_#EON@J0rFhpTNM|bz z$ddRAFX9oxNzU(Srp(@Y%{Iuwm3Ga9stYL4kNib$aAq#$P;L;@x!;N!puxb)U zc1KS}d#8QRFJCD_WD76K0;*JudTP1ECmw^DRzv9a6;FEX?OM8l!`-o-@Sz0Bnz^RLZ|3Mq4;wz zr$$)?mgHO=0(qeheWjagp_JkTp^nooH=r+0=;%|rP|Q@l&f+ikVH@0>pfAGPdDsVJ z=+UMH!*a3JuUFo__`2J?629f~iRt-R>SCVZ#b56>SeFND==&$@D*)Zc zy$=OQDmWz)yP7hSPjwho`fDQkTET+{HtM-wYc2tOkvM0e(b`9P5f!9!Kp|xH=fsZ% z5|(L+hw_vnKEV8+D)l>rHNjHa<$5)9tL0zA~KCV&h8C?^e%$Z17abU>bfz? zO+3;zSc5OK&|1AgXe0=qr#pX~O3K63f@i|)Vw{*gN(3$d%S znfY(R;)nF{-G5o+kNo-C z2A&rmDJOpO@q%nv{g_Bkb9ESNdz_Cs99W4Q{6R`0tgoZhYl)s@;D&~ zXHsaZ$V!Zi%U%Yfw*CDxCJY&yuY8{Su?`ii*1$^O7Rs7CC!y|hzXQbbZxv6q6X z7C9~J?s7$vh%3k~%>e)}sHcu}&TO!?W-s46XZZE0JQ0c4S;kR)2mlb199Lg+re|(Y zUO#ixj>m&*OH6EDP0%cf&ip60@Qd3C-gSrwf#XDl8G96KmAWP7-VsK(SnpF3k1UbN z?CWMzYZsYj!gIvz48MNP*J?@d`$bn97)Ywd? zU2tx@&7~cL=fZEN?xt)=kH1|+d#4G+jFWkH+`6{o%%M$%2*+h6?@#6Xa{03h5Xn%5 zQMz3d3a4g|NBfx;1!=Y7$c}*v!I76vrcE9zU-wJs%Dp}&pDty}D{cn?{ER|;-aHzT z6TD#bsvW5mCr;EvRBl+g)H7G9AFsHkt8z3eZ0I2h)+$1_-e?y}SpmUk#neUB3eAFALN!hd^fS)!$sK+zqpF#_gU9>2#JeXjlO zT=%tG-8s4#Z>3|Ux-$^|=3((R>Q!Bswst5$lzxG@wA$+U(F3H%( zRs$~!Ms4Xo+s^;nANxzh_d`3|&n!?q0yKmqUsUpzJ(N6sFiZ`lCvr5HQKkBxUy@ej z?~CX2V9}61*hxlQu&7t|HA;$RHkf!=xL$;K*$O?b;a8kFJxO>Egpw@q6o09F=~pR+ zNA3cGvEl5`y>Q`0ZzE0eY=Qe&#L^xHlJ2MFPKgUHVm1}^wF>SeW(@tJOPE46l_Ls? z9@v*AD@DarZwX4ZErP{+6ESaRZ0`sEnqnQ?=FK>1c?_Ac4B@G^Q1>U4sQ|Xgu8oOP zoH1v-6g$dkh#0Anj}FolcCzu268nI=HFVl0;V$1zyfGmiIS@W zBBiOsmTX})F-{2~hpwheXvuJ?b zXl#27(H~8c$IR>veg%WC0QLHN)w|%BK`MV5`31KyvblUsGC-Po(!&{t^4p3Ay$hfl zO@jbYR=ZZm#ysy)0v&=@%96xB#dNaHn^L}hM9F1bN>X0rvZtj~JEsTmWdC%o{cj?QBW>igdc%o}y=|$)mLpuYizfJ`3nl^H*O}KzK-Kx*y2}ev1&bvNQR-@L?%|_2c#y zJL1&twiN!Ekw}vRXDE4KWiQUz0>^UsUGz@TE-d_Z3%H%iJU!4Cz0YZQ$$4#)z4XML zYNbvh3#~fPp$FVkYkA?#w=Df(nt-YnLwBZtEg=6efA;0ibbl67xrm0+X~&2`CHFaZ z8d(CN0mMXg0;#m66vIrey=a%titA6P?LP9V-}nt^#=>M^&yl&wFS6xjmx5E4;3(Jp=R}gFI~EPb>?tmy-6OH2E&%66`6oZO(6Arj*8daB;um zeDB3p=s_S5uG$5hAh&U~f74OHr4Y4uj{2+sNM~7sX=9wY^AzT^g;_h|G(uGTQc<|@ ztMQ@7_~e!u`8clGqY!I{t$RR4+f~D0{}%7aI`bgT#2g#u9K|dQEopOnlBrUrvbD!{ z1})@r^^Pn^)Msz-2AccgcA&J06e8MNhFChMg)q4}_ls`y*c7@Bay)>!k9NUFRVAN* zcoV>PzOo0iy%^PDl_LA-qG=jqne1(^q)j(j4$?+#Cr>L8gx7gp<>_{G%)!q(x2;x% zE`CP9R$z1sX;0lb_zGtud*hvJlP%535kyvVa&YF@Nb3{)IK;5hICbA~n(Jx86%N(J zYf7!5vOl=#_@JYc4Ep!THwpgu-B(qPS;mWl#35s&-^!B(x18VIsnXpL@^>D8AuF{v zFD8Od+mKbXv6*vp?Au#z*^VvsRip7sahO7Ak_ENwyUF@09Syag<>3_~5vp1L2abFYZM#LYP< zIycRKcTQnjawfa)IMm*(#swGcU0lhJBN$$VD4AQ4BOp}9eHm9*!L7)hj04p91Acd_qq#Y z&X|_;NV<9B&WZpiAL|oJOH?QK$k&4%)8r5aIF1oyr+64-sXA&s#%a)Flv8IPA+||I zku57}rMI1VXx#%3J3Mqky+Wbb_p8RkT#aSKH(ddnAnl-D!SaZ+Q|QQ=3zO(KG_bu} zEw5Y2-ibhT@)y-+hJ8AntRR>&8H`804meI{&d|mib$wS4zkq-xeg}A~J9(7vA*#?b z{SWE_CdW+x8jg**g=qcM)5Y1MazDAK0q5SYQ1n!Xd%YqXVIgQ$B^f`;wK_fHsvGBa zyE3T|l$jR^)P9*g?*!A1TUCNi!Pw*qJ+C&G1H=A9_1#nUM{e!RRgRMD`At=^Pw7B< z4lnv?7Z?5Di>ux+4M_RsH^c;_i)XgcGNTKceeqq^;A@WgRX_g6_7lS0l6RC3dcx?b zg|PTvbQ>RfiH*K-BQ@uJuy3tzopT<0c1h@9W~&sBD|TLjFnLryz1*MfFzgot60{*4 z(m*YsJKqFrKAHF(GV;AvXDR*a!0ZNc%gQ|9?m%%^1S&X(SC~8;fWzg{w_qccFO|Lk zP87P{(}_E(_r4nFmQGjUBv?pRu1+n2Ui@06@-wRTzvK!2>VB4b{|WX47bMrk1X(w(c-Oio?`yH^Pw3vDBJLH$gd_*< zY_#?P&Rq?!oUt&hdrIE9B-)h}(H&TrBJVFc-3xu^Eq?6P3w(MmL%m9hYvhQab>hUeI~iq@M%Bu+w9~mylFJe~a@Yh? zSaRr>1K!BLy4l+jO}cYOts4)j92a|1QGNZ14lCf=M9nt~$Mz$6_juY3gS@oNVx;`d zij~<7gOC3s1os8HcLIlCH2DqSS#7sJDDL>A9MSxjbkQ_)A6%u}0da1995UWL42AS;mdNEi@Dc2)is&NQD-fIRUa!6V7WOhK_-)3qRlFb3uO3#!9}I zPQBA72`EqtcrS*YtnM#~ai=F>0DniJYPN2m&D zZEf|JM<^L12wl^dTB>yU7FC?xw{v(l3NnbGwVTh`#rE%f@^fF0n>FMK=$objpSZkU z%hsB!%@I63;u~g8z~@&tl$5u7AKB9VT#zqDp{LJNtXxgSGA6NmHayxp3zSbA{DddW*!C_`q9^`1pB@hqOczB9aFG1_NK-CT>R;8j|p zoZQ=*?4SHj`q;~u=b1Rc8d6Wy?Qcs7ckKl9+PS!+{er4H4bRh3US()b!5AKlPU<{F z414SDfseq1p&=5{u9<6rE1u3e7fJH*b1}*3otcErM%Ew{D_qJ}m+UZoF0vxGNbl5> z3n{W+-Xqxcnhd&jZma#ABASP;j_;qN3X{RPtuwhGmG=(NQ~6F9bnN55yASF`oI#!PsQdi%Kxr-tH1ug!Z_z7r{`pJ-Sj_s?0Op}f1%g74^&RPh)4{vMLX@E4fY!|eX z{eoqH6d`+xG>09*00k@M+GUoQlm2oNK#C;Cr}NN@AH zfrYv-9mA3gy{_4143YItue7SuJmtxVcqPhvY42ItOb&UgaZ)ViR6&vR4D3B%!V%D+ z(r;pT*;2Y*my1let??tK_&onDCz1p^ZA-bjpj)Aq$bBlQoN{HpYI=8CnM9p@N@xsH zTkB5NEbSBArbNMG+%?Hhp1l*3YK^V@xT$-}ptCY?h64R+Y&RhH+(P;FsiS`9k3nFt zrth=3X~oN#xK`u9eWBaXOl(EXjxV1D15xMAS5wqk7?*y=UGMLdD|O;~)0GE8wG}5K zir3a&7m8Dh;ufA$BI^l9D-yujj8XU{MSpj|=a$e@tN*q-Zy%7_fd}ON(KhpEThG7x zK8D>}v85kAIpNi3Aa%=JaFwzMO*}T#xnQSd$4!8kl!q99PWzNc3!iP6vK=tY{;e&m z>ox6?dt+x10NUDw)l))~xn|Eh##7SfASS@ZF0Y(c7S!Npr%?L10XJEJs^?hkYZi>O zl4yI`U6IZ77sLAZaRrxRvw%{VyDU6)hAJXOPK)^Kka_ULz&+|s<}@1R(60V8R^+`V zV;Eb-jiexQ_zX#$4)C5;;?estDRyzQDvo-iZrdMDd}~*R9zYP;rz8@8O*HauHf2jwN5>H0TPjh z-q(P4gIKS9CYCk=6+>9M&kYrwqA{ao5pVA&yh-#4r$4{Hx#fWy4Bw+JTyJ=q%OKLE zkR0t?oabUG!Etr}d$;f6@NS9wz_(Y^{>Fw5zC0qF?^|4yEp0105~ukEJI%WnOcQy@ zQMOk4?|;smrx^f~K>@h@D3u>L&?O70BsS1QiPt7=dWsUghI-4EJ7!P6sU8Y~ajU$W zlj3sn`Tja7r&N(hfFUnd$4DkyhbD}vifiHab2k?K2Xmn_;-LsT=dc=f;za1wip&nv1X%M~a$-GH8RhQgnSg8nx>GN)Z%rPnh14E|x zI2T%lCxJF4uG-JhooDxT5#qFnLq=8QJJ%a7!0wtsp>a&LUd;{-Ad46yz@u|RQ$EJ} z18?^fB4hY3J|up(e)3-F=Xr{Lc6~}`lfV&o(X@k7ZTgFk3y#owNcYxdcJp@YX|mm< z@$ZF!v5UkxH9ypj=@*JiV0PN6q&l}9gSdU`OiJfxAmX*2xnm7&Q;E=uaxEXE6$1eO%Ktp;<|4<2M*((LsvS_lUxPhI%<1lT1MR4pw;9i@KJ)kk=YjKwBu0(n*ah$_ga z#Y`C$Ja6I~Xo{HvV1ZNOR1|4p9L5|Kz=_ETiQIij z58&%LR$^u>n10cPAtF5;B?*}MV9YH`x;J_Jmo*zL2%o|&nD7gPg8=A^x{Jyw$dS`n}U05&>!AEB{-rsg)eaeopCX9z8&YGO@szZZ}Su12K?bHG%$ zF~NGz15pOpnt%h}|0YFQJD61Gg`zbx#!;~n!4~VdR3rvCfTgCZ)rskOsU0E|+y&%_ zce--mINQmk!8^gYM;5^~)uGs)Gy*8NEpHy|8+=3ay2caI;D!KA}L=AUT$Ew!x@JF4uCS(iJsPL>7_bbho$YC z?Yn<>220OaHi3Vzx%?%|3}@$fvb7ofo3g;{U@PtVLF#N}1+c~<@WDaL(oxB8UAha8 zB9=Z1%{ym5MieOfmPb0?W5Af0Y@5SU6~^L1CE{NvxpY;SmVSk1kCGH4iJaj95d7_9 znLZ(u+gDDwm{B`at#o58SC3#~0SQ?o{06aq-v^kV#$R=w8slIFG|=UHg0P)Ws0=CL zQ1~$)bd&T<1NNM!tY&l2jRj9gc?C*D zdF`idbryR}OFUY{CFDe@zSPS(42LYtY1cIF*?vQ9*O)uce@A#8qRfZ-0gWyVt8$qB zCSiN)+rSvH8j%wLtUCcO95l7aRu`k!;DS{S@uso&g`?NknyH}!Rfx6l;-Wfz=lxD) z+VdI8ESkzS*}fRE3^^;{3vb4^UM`C%Gj!1g+~BANWcouL2A|GGrprX;;gT1dY~_&G z4#A+X6V*1_J(BI0Az^*zEW#)wHD}v%)k7I}YC`AVKEjgO2RH zbcr@w+En429QsAqYLq7YH7JV)(V%t_5jap7h>HsHC1CM7b>@hAxFC_|Ao?M;FDJI6 zrO|5InCG$f*1MVWR{lg7bK(^nX&@Zn=pPtuecq7O+`~KpQhnEQ%gG$) zvK|Fu9t?O4uc64XO4so^PaR0msX5AIfOMCDu|b|mzlFgVW45g57E4+#T$+s5B?s@@ z`=IJjOjL;}bN4zLTS4FBKB>e5r_oh^TH9#sNvLR9$o?2{dmame;pL2#PIh5N=wEUe zn7Q0~=hFI<8sR@IDzAJ}vk8I9s zic5~R&o8>CI*XI(evxmd6@+1L;i&6kCroZlD^rlmH^5JQE|iCTE{m{^XyP_HdUE$f zRiz2p-=FGv`+UTCUbE0V0@ZvZ=Q(*sOe@{`QM*QJAoeNvSi4Wyz{H@D3uwoY%3v zlv0$2_PgqjHJpV9tfoMvxx{)1B>ThYD4dR%-ARt6>V;Um^?(w$gaE1F7Y1O)jCr&7 zop|CycI2%Y6lEHJ7#eR;6;8N;@G23Evx5QQI;tmF)%%diGy?E8gLmkwokuwyErfm#!p_^oh-tH zM(?An4j83?dv3mWFlGNmhoyjgo8+Fjk$=(krjtv67vZls_+#chl6Ds#XMK*+p*zx- zKv-$cgA4k6c%G|yIo{UI^dM!8w&ej+A`f&T1C(67<$QEh+M*xaZ7;XM*j*HrUI`{0?#v5YCerxe!sEZ_#P?Dhp=;>X!Maj_c;YlL!g$+f z&GEe|y9UQ2ucK(7ha(wfsQMM?*8E$VR}~C5$ydccg}Twg4Jj_Z|8rlS=~kMby6}a- zAFcjSF>zjv*9z%&7m@cwTk>UEvLes1=xrYOi{J9U7NyGMcrAzR^qDps@PwlL81{N` zh$2|1$K}AAbrKQox*c81I>Rv)f%vx2VIRl@<~s5Lxsf=bjM4)%74>;a5AUfmia*Uv z-U8jlIr*{m)Vw7K*Rj(3oYM2>MHDZeclVZIzU;rse;QG7GxFXQZL3{)zrz>z{RjVxypHhgg4OU40gK-0 z#0j0l4j!Q}Ppom~X~q(Rrmd`H*AwiLHx(>AtlEaqz&s%gEbqWdd=mE3Ka^j6XN>G0r2rN- zA%yO8pSC(lt0+f&!kS~o3pS*k z*i%tRv%nIr@vLqmLnlBzJI#{McAil6Hp_RkQ7I1PsipN+9v8%X_cu30wM3@u&}}5R zrGWvvAYGOW&{jkPiV@+*e>^V!|LyB{UtSt=18j?nMB#da@|X?D%SOZH*Gm~uJ37wk zesdi4$kvSMC(Q=1Efo#|AtP5Zpwt!5dS+A+*Za+VIou5HkkHjjJvObmYrZr2>|THR zo-5h&0KB9DUiea5<_RvpRRf##UAc@7G?j%gkyYyJKb+H?ei&oEe4T8o z_X@3LEYyeAzHXLpa@^XUN8m%&D=9{`dB}tiGx>TgDA~T-9&_gNaD zRQqGRWOlqLECU#r6667=a`Qf@0mTfQqN_q^$5&aCB$kT5&k!(xD$PC#a+lg?8bn(u z#pmO$)o@lR49@!U$2EdPfRU-)#&2)yx%U5Jcixbkw}?6g;<5UqCFy7D#}~s#Lm*?($o&N=h0=yxjXEXAX;G;UIK3B5le_gKYNN~o zA!x3lwstQYQ+*WIXs0Wa(x~i~;2cpUor!;11%QZZr2&|>59Fm(|52_J`tSYNEE<`# zK2X!Pul$jd>ZUV5=|Li6(TXCDfebkn-PM_Vo%T3QpLZQ@rqY z70TchS38W_c{!)Ew2je@RGW{m4hu?S3ekVBnj!dIYLd~GcK+VZP)Yl{Ynk;(T-lB+ zMk4wF5%Kb(L&S}H{^+1sx--Cu-A)eEk5KGiIB?*2-BYm;x+OZ8C3}!-0^^xCANWOg zbL>hUsGcU@BUSzV0UYPyGqf;gNo)0h+zT>q^fxjym+M|g2d9<97y%@rF`zJ5l>ECF zVM^W^e<9Blm_Qkcjo&@eBm+p_So^#np}pAD^88O~PynH0a`S4RrA*n+Eg(RoY`Gg@ zwQS?`h3s`jsyRUHsPYEN zhdV&S;`f^XjHox-*1hKRqB+D78d$Zed#o`vu4eD2ZTPf=YuWq;Ud>ca-^8;qcLZ^2`gvsX3tQuqdZ;(pQTTso|7 zDEdECX-W0OvcJmV+yo?uH+;OcE(3cj|YpzbI% zPeGAB2%QRI6IT3S}I=Xt95Aotl>19ReA}zuSKo-R(&fRTzc$Ph(J_23+nB<^WAVX2Rrb7 zdGQ`+hl)?5xXBK+u`nkh|E9?W`ln~(FA5c$-%BKL@vq1gTb?X$9~PS*3Q*AKeYB+f zdw5qin zbG8-lN!?JxXy@#=1PF)xXf)`^+N}9FlQW4?!>p*dNGpnwtBEzfl7M{3l%MzB#q6Is zx)NjRiZ^imr#+TgO?JfTsB}Qic0lEtu?mp0&9e8=_X=X@?FU@8)h-vtt)!&1@YQWo zwWyO%kLa=i*qAOlnWNu55$6`=#0=MGCDUlexGn57y-q`Tma!Cr_zKtXR%ca-#ak=i zJq+KY9UUMT^^0neH)1+=gEF=x=W;c7d@cF)<>?)(R}xh1TGbT`Ro9tLHiv>@bnq$z zOCqrvS57-lbth$tD)KLn(9b{z)>Q!r5h2~f%P37d`>7APOW!sLgwa() z)Cm)BQ(qpS>@#L)Cem#SwBLNGWw|4;VS|;Gx0&coobv8^{c^D|)i~h8!iZ{p1f%xo zr77tiC&4DNR!?|OH`yti*%($K?p^ND4jr%Dor|}_g)if zfF$1KKKq=xd+xn+X3n$snYlCm#l!Q!3Vds=?|a|h`zuvhwsY@h#DLZZu#^r1$jpfx z(oSMxd!2%CTEmCgr0anFbg+E~U_br%q6&Fi99!V+uEPG+D&bb97wr#WDWVTU4Tw*L zgeiddlwY%xscz@)OgMQ5+ z{|5OjhkT1HJ*^drc1==VorP?5*?3Sk7j_zb&f^l3iuMOQcnHYpJG2lni|mV_JD;ir zvb}WCCrKi6;rtnu9lwXQ|3WpQV{G6&(j%4DJ3?P%{RtzlW8dm|H}Sb{57niUvRsgz4iPk%D1@He544IJp~_mat*j0@PF z0AJmPFfMU&A+AY0(iZQAv~iK-5pFT&$9x}G;Ky0w)+p@pL!$zt+&saZhr<0@^GXRR zDB^+%o(#YwrcYK`o?W?01hPmFZU+NbJMy#xUJs5O{vcJ|Y;2|L@5dZ)wkd1(mS{i> z%2-T1R}^e3({F5Z=O{Iyan(P<^Qtmy#5K%;=lIv`x*t{pRA?50X0Y#+xoUvk6yX!c zPz=p&z8vnur~^T`Ti9RK0r}Wt+I9K86E0I+ z@{D(H1Dl_vNvgE!*&UU2`fbHVCtQfbc^@EZVyCgM7;n=nqIoK=Np97}tsn5`x2R6h z>=TwUl|io}+rxEU`6GY~nhhfx-xqlnQ8o@S6P+Et5(*-hTJgvRY<`j*kZAV}z=waG zNm4@$OAj9>_}WLlc^5;|AOFn43!l9Jd*g49+|dKZS~WP(p|D>86ju+}wIvbr4SW2K zV5un;s?QFjpt7MAQT2eG9?{PAkz|3UMb54Xe-0|H^|>m%{5|Dn^}t&0cqfQxdq}o2 ztlVj)C;>;=kAedjXmn2tYg%qds_!3%3{*eIC|$H%bq(Cu{~RPtIkiuD2$V&C->UN; z+CWsK4}ggT@UjZV{>=@J$~Wz|{R#B_pXdQMQ$pTbv(~bvBzr^Be!wY9pc-7qC|MD7bGL<{C&r*FmWb;;DdbaQFKt1dGa;`I=^|E$xFY-E zz``UO=HTSjaOPT$&RnJ0O-Cdi9+HWlPd;~@Z9PD;UD2O^7u1=&;usZ884902YZejF>2*L50VGRUuK$siHA{Ko%x-kg2VObI)3xtZK&`N99Ol9$Hu;Or)?JUK zXNwwcl`3B*!r+W9nFRVqVKq~EkJjsM3r>oOkctxrkq2nMeT>T4T#fE8D#KcBQx<3v zqT-9IDN5s!he>)9@-{`*PX(SbQdBUF9%eMaxxlB`iFzniFAouYXA|-Dz?lddDz8z% zk1)D8{X98+C(v(?at;!H5Sb)>ZYp_*M`U4G)&EGZgXd~pb({J}A{^gTJ7^zMZ+-V- z9c6R+rhLU5q7=$eWMl|uka9AxvYqljE(DKC@+W&o(@ft*3zl*w$)(#E4r{$X-!_Mv zw~3w^RXRmaAJ@BUzc^Q|8bImH*f-ivgJ^UGfU||u(|%#IiGy%RK=KD);kXBLen zNZk3Zsl3=0W;tW~ zgbhF?g?aWT@O&sBK;e?!MPv8w=P1q%cXQ#s>F{#>F-qL zN*$CU0Z@L~W?|f2qJ5^ZQm!XO?0zECwXbYd`SW2S6qIAC5}>|N3`c96iC!)zf{Q zy)RKO=3WiBMobt4zz+ML6#AWd0%qytM`bgn*P1 zx_3wSxWBO;L_!u+c1!$#E!<=)I-f!n=eIPf(oZM8VB%y?^WDVnV=^P@XQCA@yY6_er@4MMjKhx#? za20OS)vd(cJRca;@G(U_SpMF#yFfWtT>Wdtn_BGvN$R~LVGSF)_w=C+kdM)f?V2?V zQpm_UzwkT(TS;M|s8H9b(I-cgCEaqqkWv2f@w0)uqc+BxH#i&aCrmTir3>Q~3Vbrv zT!cIlwZ+9Kqk%Q~`{An?2!ZAd21@H~b=-H2f?Je2Z5MZK zdYZEL1w{;eih;&j#qKxY@Q9Z7$CAF)xuWVDJmQfIq_A!7A~fr#N-WW@Qrtf6^j}{v*K(La@MQgJHqxNK3lFy20Z?IQF)StzH<&<}cnS$TRE5R>jEmjQ?gYn`k^CH?g7;OGZtOY& zkF5qz?MJi5-ggAlI0^_1;n;8uhj*6N=3`K}!Y!Im$>yp6$|?)@nqqf*cM(&j@Yl<7?v8C3AAgq_blwJSu+O}e+FUQ15q*hdQNR5O9ZFKX#1+*Zwvu|*h+f=kF!-WJA6-edZNuvT z`CYd?)DR499k{Ds$Gp;WFmPEdf%9{E#B3SNV4`9pU6Dwh0-e}Tl+!!osAq-{IZtkt zK6Kxd*)~gWW}aanT214ce(3dCkb^J~jo*i-&79*+GOEX_({F9_WjPXW)s0`k7Z-h} zdSD+_usoC1-{UeoUUa?U^r}%2XLUX<18*Clpn7=}nz;Q1r2S(3;kI%edI9OMZ*SOO zHI`?gzHjv&aH;azw;xIqpAkB4eu#-qD$e~*1$m6!j^DOa^nYyuDkj?Cn}pNZO61bt zA7@*_f761GGX&FgA6N7+wR9l>Co}QWt%r|+R#Jj(2Isq3(CkY2Ty!M;_%HH zWtRgVJ+6-5yl=y(1Y8*|wvARU{`C3d3)7*SukJvCf9S3Hnb#g{E;BLbDvNe*FtaNN zkWK*a&)T)$VXA)=xl21VZ7Ua2bfeW@DamF^^5f}`#5UAhqc${iiXI%y5TZ& zjTcGoDv-^Z!2Bh=6~6$Tp z#RgFYu)6x@8PQpCvzozF0baoeO0=VNHTF;xFBTGTfJL5B0sZt%iX#aD%u>83rZrKh zufl*!YrI=uj#wFaa||wK4mh&H&n!cY)*Hk@lPP<)TMz-#8Lx+*F;a#$@=Bd5#ALmu zp2U|c^Iq|~U@%pyJ3Uvp$&MyK7XJ$|wvexZ^Ox?Oj@~A$b)~|7n2Z&rXB%QcU+vvz zsKj?tv)EU#X%X}`by1+8x|?=plB7s(Id7Z zErht!_?blj3^1pSd7snW`mQ?!sLFx{!?zTDrWyNDn}-P*J8e6SON1tW3WD*SydpEyS`q zJT$i1VM=7`mxcv^JgU^Zy<&!X20RlI@H*kbdHFESuWt?rB$|msRQXI#wFPFYnUjGs z7<#CuVP5%yT88}sllONj!09G5TYa`(^+Y;Scb$w*lD!$vdw_KIkwTM>2 zLn5%HZz&yprob>`LBTg%9!MRRM>JI*ufE4A&b*XYJRZ56X(Dww>ny;2$ms*OP{1S3 zA3tK64|0tqC1Wogn4J!z{PFmM?e}!zkMQvZfeArA%!;NrQR$TIRa04kU)JEDaUB5Z(ghZNYnhw_9 z4wp$xmhF(~IPIE7Oe*?Hv=P2C7nZWdC4EUy4(gpVKR9RoKI<0{$pbfUQV$m0s z3H@yjCQlC)dQ)2z>n{{qDz-c_#q$J$2PF|li2kZ0mqOP(=x0*q7lvSqq|X}`tGSO^ zzvg-3KB0&sTcm0&QJU1=dfpwulWqIU;1SZ*kp(`{+X1L4(I6);u1a;4K5MHu#byTU z9WG9Kih|=}6yKEBd;iA+>u2f-uV-3OU1j5d|6l)8st2yeg#BdUCm-60`g%YVYc{qj z>R(U0u@0x>IQ09HQo8+wlQQ@RmrB{JE$$$lU-4zo+AjMco6rE)MUpF{fZ5vmH=D2E z|7zIxf3d&kteMG(dDFwHmscWp47KYwr5ctk=>lW}lgd;+zuF5U0o{SuCy0=tzq0$Z ztE3}X|M_Em{+sY~71L{zSXMip79geb+l_CvBPS0sZRi&?5zXVg-DbC@6{TI5s_b7P z$`x`+Viq0uVrAxTvFCA^=5TXSj$_cP(mx_3>3@xo%mD__KO!V&Bqzd@*!r%bWq)`& z($)j5cuk1mmei24q+S#6vw_>rk?+sK8O%bmCPmLU$hrW+h+8D>G$e5Yd|-G{w0;b( z>f!b~;9Y&i=m64?on6(evIpt1_%%ebYu5za*c<^^2u`zDeB7G0C^U4LT>?OUR4t z>s7K~hd)EC!{UnO!P_5k*{DF&kb}Y6uleKf)3g-st{?g1TD5HHF>Ykk)WswNi-3$l zS4C>iAC2-Z8@RLC#?y_h!=cpiPK~W%fRJE-x&>er)eYm8)csCn3(cl>lHILQ%k+BR>C*1KtOyNh_nYt`M*xBEkT) z`y&5FyGNZ*Yc38k1LzTNavU7s%mF)~5n^n;Z=HD^RifAmd1@7|nb5y8i3^9O+{WNx zIq6rrj*mQ=z}(o=F4O-Nudl0dVNo-ZLo=#c&`(<)x|8AgzWt9D+lHHME6G}p8AaQ| z&YhOMJ(R8)1v$=~u`fVp6+Vc5n`Iyop32cHKf}xG$&8pj?NVyzvs-J8IcK%Z6mu}p zcN5$;G^f_LIoA&+5t@iI!w>ip}T@_cp)rgU-OYs~P-JZIi zSK}L_?S>C0Qg7 zb}jK*{ZMed$(t7j;Pa#QidAi-B&0=JXLf+bA#fr;zN-L6H9tIm*VvZ4TE6N{{<6Ja zQ!;yiXo9~?e$zg@O@QN$Uiwbe{m`*(W%=}JOWFVsUg^!Wu$4-v5#dU?!dI(`Bbgy0 zZzmUuXt=Cnk1Gf83N>GhjL*`oihNW!o+}!=GD!Adh@CUG7N`qh&~*0>|KwC+bQsJ5@PpH~S<2=@5&+&z_SLMnv| zXP#{a#8@XrFc z@p`nA^VLGFLmGKgyzDOXatU#V>C>&t9jD_xx$*_R{Nl+KekeUz)~s4`@-03o%Jz)> zlyKole)=;WCDdo1jZUe(07z4KaRR$RtiKWhSG1pWfoLiu#2el=5`Vr>)N5%Bri8)) z1z_Ml5fEGbW5$>NlYj5U(W}14E27lD)Ufx9_YQq<2hBw6IUy}%fEc_!9V1+QZ_fW7 zg9lrgN?S`s+T(ZMcb6}+$GaS^LF)41PNZ9agM+C{{SAoU} zdLRUE`|wQ@p24KoneWXKmPyhy^-3mFqO)JB@5}vYxZ1`OFLP-< zm6`iqqO^-9r5Zb_&I`o8C-B21SFIT{j=j3Y1QPk&{^Sq)e%HV^t}3(k9`j5-Y8ji| z->F`qe@nqj1~+0hURnSaDn=;nXZ|q@w1IbcKv53%fQR!3b4-Cn_gbo}v65G3xeWJC zKB|GqrOj9dvH^zis$30TlW*Kl&sVlu8m2_$A0Z=s*+0NTW#EUilaz!ai$=Mk;ER-ziAB*Ua@Ma2A7p0*t4WrVu2{e_u2xp)slW7npnWay zkCI9-SCgUraP`J4gN1?Ul^1hs_DZUImU+wW{a+eupz?siF^#72020Q;Tb!=nBpaf6 z5x-i$M8xS>*rNkviZE6_8PbE!H^#~+#(&Mo6CznoYn}R5=@afW4)qfX-I(+-SOjp0 z&T5ZlDL@hCj;=o< z@@%L#MDJMc#czTQss}YC5R&G-@|nE6UPV(r-h04w+N;~&j?G+raT1-gQVd}2*gAiJ zC2@^qpfcgT;eazwh)x3cKFDoUPfA#>*WgoP-Hvo4|Cb$_BF-1y=!?BBE)-5jr>te3 zmh4gX5b8)zy39ULK%6pwPBUy<9-)}E{8i4m0IzC0MBw4G{s~N9XQS-~>|VaaBv!EJ@*-Y!M5wwfQx)3^Szb>diPh4rc6%|lc0xceKe;< zV~xn{`S6)y>{%>)+KCN^v!y_;K(Ycj`NrxW*}>s>Cy6ilS%UH3sjBzWoAQ`%Mn8R& z7!KZ`hyLs1?vMKZ-#j)4{#*@aAr%fTJZ(VuV`{>-=Op3pnxWx87t7XUfX`zm(tFif@2pb?3Bp+$~MfOy?2b(7! zzQAS?+o`;z~vu@E$TVE%sTdveRs;Nq(>`ntnYm&G^RCG#eEIduYOIEkGCrigf zqt#%=iDl-Yjnuoa4mZ|t5xmX|=Tdh~jg{GC!Jg+gesNXiW!_pCL}nn5DqU8cv7}9d z=*7YE-v>wEQM8G~Bi5ny{#)bKJy?mFQ^YqUQ39iSYN_xBay5>21}uFVnYjiDhP}qE zk+_pF1`HlpKRHM@vW3Ef-*&wa;hFGGsvT2>#^QgFEBcVgpKa;CkZylBZv6MO$2QAs zSK{&te_+3mahv_n?ojTn0yRNFy+|A|lgwi3e=|1>*m{XSvhG>8E`hx>U9harq;DU9 z3@Y(JT_}pY(s02i4e-fo%B|lP?NGx9POlN4xT%Yx{OiYHDlx_+Z970^ zUyUjj7abSFtB{W1RTj+0e}#9;P1S$EyOcYf*%vR6BusG0ULl#F1h@-F-GN+4bFU)! zMPJPYyWarc2R^9TQA!DC=haMn%Y6$!$R^8gkzC!&1#=16@2E}2>ptHe(+^PrO2ctX z5QPB?f_kKJZmnsfZyR)icD`vsg!*;?2**o9?gw*SGBY~sMpR9eY0!SSG;APl>;V;Ndj2@q|DVdu*2W`DT%*AJPN@4B@2B|{pF*RD`H2uS@X=0tZvB5U1`#kL83x^*dWc|pi z42Jnh_to2=*v-q5EX|=wZ734;oq^@y-D4HS2|$1V;GeN?U>PQPQS0o|nvMIlkMq*a z{Nq?HopDUfLLG%4AFu|Wsu-Rh$>+N81YVqWaTzE>d+k6Bo@2KQ3iFOdb>53REQRRp z!9uqRGL!Yv@Wij~WfQiGZALk5dtM31Ns6uFl!o6%-9ZG@uz|+rvZty<)Wa3r_Cy=Oyz(X2EN|LnF32?9qLtDpoPTbDRHGbD9Lrb zx2$Y&_)hiA9Z=!pObLP`o%s4T1aU7>nnckeCu4f+%OJxRLfu-HS9r7zcP;=p2jMf^ zhjr;Ym3$Du3>SKwkP3g(a3Bac3Sbl`{|dQ591^(;Mn%mHC{&lHF(s$ZMU=LuywaA%W8} z!Ugr?CnU!vUgu~B^XKS=t9t&L3=pK-_V>8+0?8~sw1jtjSm6h*QN1&MVV)uE*wXxorpa2rS$7Bs#e!c}q<~9Y_UAuIQ)Ecf3m0--H8~!Rp0rZ zbUjf2#-(%4s)Ezx(3wd89S)(CFsch8RQp~2pSC%^ zGH<2oCt@_|bi(%%^8rT`szU_5#Mem)8O_XMn{{k@=SIh0?iD7_mi)nEEt#ZsGC0j4FJ2msn}q8>HV#%0KKV%S36`_P zw=4sg(;C)qoLn-HGpms+QeV?**ocs~zY~zd8Z><(wm&u7<%}W$KK4-ER7&KH+YSwf;qe{lTO9x4>51y;QVb^O)vI zPcaRGyz;r!W8M!bo4MROg^tq-J)JWheyX3V*4(25nLk2qn3c<+>4TtQyqy9jYkbxT zW9ab(XPX;V9=t($6Q3hxlQr^7SJ98t64KL#mf&YG5>w{>UlOs5q%$_;wA1RdmL{SC zwCVYS?$;-&ZqQK2SVC|B@IZ&{Q92EsANL5GIn?s_-nw^U)6dr}U;{}!l}y$` z$HN~ZsA`Z8A<!d*n-dy z3>Bh9#damfW;9F}aNCw#z`S`?tNrHB!|4C&$@-5Uz~HT<-7NC^b!8w`Nt9~z^-P4= zvUHJjdk0DTPW@XB_Gr}HA{{LA1yr3mb$Wo27Bk|n>;unO?u?(|yjo}dS~{{3!k>jf z+8oq`?SdjLOVBTBKpoeDr|ts6gg)#1gaDJ;dRe-a*j0LcGdSi%Bg~&Tvip=+G_#N> zY-OH!QT63_D&-P#0~cpRiR=S;XP!e`q%P3mdNGsJ>S`|77~g04oQ=}kpDo;&>w$@X zkW_#JC)Buw3MwgXc0-LK$S8Aj)Y>INY16<(uqCq=`}xJ9rVM`9oFFO>&;#%?;)Nv( zjAtl7hM>~85q7Xz8S=*FLUC__&E0NiQ4l*R?89|l!)RG6l2m89t?~F#L`j06@U={) zEcr4%>)5#xO5nHD(92)lcBHuRGZj~bPSzp97pDcKrB$xX=DSE%KR#Rx55YY zNsRuqm|dIbFA7=-Uzfh3%VCU^;nK<%U3OTeHQjG2b!To4g80+lByz{rWW~>rUxBxt zug^P<49fJUcU~YG~hrgTx zOCQ^{`CziWwETh8x#-t=(5YJ-s@=Pwp5hox&tCM=+Uwyf{m@_7N-U$XpF7viW>fHC_DqJHMSUbFmQD^&nVnj(kc{lH`KjSru8Ft z4tEy(B4Odkw7Za6mj0GrQoRU8>$ABIxo8Rqv1B#-PIY?C-oJ#Kpi-8+j=W<6yw_9o z*gyRI{5$97pDz}ro}rJ%9?K5#N3apqj^b-9Hiu~V{l7kipQKzG-0GFta-k*}cPofa z?vpNkfI4|WMIPH*Te;2A(6AaDIVsaz0E;yI_MM6WZd*;=sH>hwbi>{4OI^1)O+g6k z>9od;7Q)`l*U(E(RrW2nF((bFjxVqWm6PMxo?PSG%R+$`Q+ z!~wR-NLq|P9ze4Rg=wfo3Qee5Rl;lD)=?L+SML{`zaYP1wx*rtV`fCz;B|l_J$+;L zatL|KA0Z8~^Okq7w;SnH)Nns&u6KEvPE|$ey5@6jel#s9@kyh~lhDX@v%^VTT8Bq& zUW8DfXFL5WQ9+`~*RZ<9R`Q z#gpoN^>Lh`uY7?wJV=pKQQC+oOSq^>8D(e@j%$?gy=TmJMMj2)dT@t%lw?dapXN|$ z*o30$&I1RpL0Ktuyzj!b&qrR>x*t(kK+Rb~#wQ$18hb4qq!}$nYot}d#nEoPLPJtZ z6l%l_Ptiqs>Y8^PMG7w-y%JE|{7!WliINIoWKhdUzc|$LrK)MT1yThB#E5;F=5I}x zAGvWq($}WrJx|$&mu*?@A{#jpdAf#9Iz&n%w-6fpkmprMoARldjU$W4l~BVK@Sq8r zjR2p3rbR5C(9x9ocPoTqU_#K4vEsAI#(0!|5f5sEl zc7)vhY+X4J;^O3D`-^vJ(TA%I?{olPTAf-dIx6PfK~7e$<+{Qv3LnGO#Kx9L<7fj! z>t`4wnlAXB((!;DhieNuV4m^BaKFV^RTBBMKUA0tutJjxXT5*&!K>7D%I9-buV8w64mtsj8?E=znNOtTFeP&LBFSJWm0YMqib9)uWkV=+cq^KSiWq z%P|~NIS<4gyiE3%57+h~!GXgErSRj>{zk@jiOP6A@)*cXREhvGU0VD>WjiR^XTVNb z(m7a&63(YhrCo+x+t7V;Dbl+w)jGY_i|->k3u2FDu&?CrqRu4Tg0YK9gE0 zG)`f+KF)Jk!I1|UTDXsg*QcFsK%U{G3otjm| z->|JRG1E7HnMJNJQy_hL(=gfiV!rAnp$4)lIy6dPW-HnkJ@#9_(QLbVFrA0T}5vj z=RH~StTAMaM;vi;EEwis_#Q~`wjMu0Oq$v_cYDNOcwH)K`~uvEi=-bFU>T+$O^XvO z2yq-&Pgc@3L1S%aJ1g)DFBjtHx7`E|3v$}NiK^^5W4aHq%2cz~I+hDVl!!kZ=Ke1t zApDTBMt!sIJJl>N%G4b2OtsV1BA;Lz$jH{#HHfY7TyCYqdp|yt6pRte{un5K_jAd^ zaWJ$CkO}31J*ke<98C<@MzQ8A8|9Utq*=Ep;*(KL z5Y|yO_eXu}Z$Wo?#OS*nTk?mob_JJ;Eu$=iN**HQcGlsiQ#Alx1uh(SAX_i~;?t-E z3cq=0JQZMpOF*+3qiw^Zv?7KzDVTQt+_eH{7iaF`&o39!AD@b8%1V2UKbkWew+Qaq z5e-5z7YB-!L}}IeC6pu!*v72A-)Hg?5lf)%e~MONc&(kuUss@fepe$4uD#}sJfYMNh zNAmo$La3v5AYa2Z#-*~N&92cq-7+-q>Zx4)IYTN0=9&2PyMu4fm#OBX^(%(-L>g|! zqUGGR{ja4VGY7xsUh-hd;o~WpC?KRg=eqmzTL0%-Qg6}k zPUGe6#|3*ZzK(QU{TYW+_0O7zxj-UXxdNeH?A`XNe_i;{RixtjIms`1) zJWnCdaR`q?Y)Ga1A`3uaAC2KwpmQK}A=XzMVLgZH3k2V>UB!(_!v@h~B++gKz3G%D zL&D3lvx{Hxn6Tg=mq)eC>}$(6YPsL#!q{P5*b6MvbcuUxI|Cn+gGaU7Y~@`-^b_h5 z?jPo8Livv?r5d(Ro^u5Q0CC7TQ@7GDPy^8@%X1ITIVP#WKT4ve@3_mPU-x^!{#>P1 z_OMYoke=Db*XzUp+9av8z;Z0oM5D}+zgf#0JnfQQP>o2P5*iV2PzyfA92i9lsTNQ! zj;$WeLRa(Q8@+l2oPC?u)TavQ>i~ylDO1IxlFv`ahtEwTf}@S^m>n76n{PhUp99g8 zg!!T{ju}KX={iYOmzk02h4zC~dwOGiXCx9KEdUPsbWrb=g68K36RchsgwOsYI+@9ZG~{vAXx< z>)Q{DCrxE8`m?MZBa}5zm3uvUoA#?;#Bx+RXvf;XGPsz*bd+GXn&Sl4|RQ~SwU zM#vdJce9kcLbENf4`oDM#}Jr7NL= zvck~@Xdzb)tNxAW|kL8LNj|(Lxs8N*Wj-ndMF6tpDBu9R@#%IZ3$FU`(viG@iW? zR%k^YYcPkc2BmuJX&MgKoF$a4N=-YSPh6?>YcNTb8 zb_HGoEuVquITJ}12t8Er$%I-HTboUKTq1=%at6g!IVx2zseHq^Ror)O^5abKpB6z* zi3WohKR7Ef5udJjSGtx}MbE0TSMeF}px&Il|KtHDO#o*+*=pB`IFxZtL_yfgZNuSM zCna3?z9e?&a7L+sD|(_%?gh_Yd2m7Vf=IVzaaTKDS3BQSEOIhqh8N1;N;WV3)T=>X zpFam(tmw{6Y-M!UjhM@sJMC#WCS5R&>PeTwg8+YcyTcLqOU~nj$7vZ3xR^VYX(5@S z@k^Ka&FewZR8}&AwX_T!9v}uOEDh-@QCsOaNwL4T!DOJsmABt{?J8lH+#|lglW@A2 zv1xU(R8aH;<%fW1=jAP8_A>5z8O}SBaDY(XbCpfon$CFyR z4C-UB6Loz!b(_n1tsFOdq4T_r>=XO$XmO)3UHiIJ-A|5F^SJ|Ji;0!s@#fVbz7w_= zQuA<$r(_%w;`9Yus){KhCO&&MA_YSZYmP`6SO@Y`|2L$E)6B-p#CKOBKa`pTq<$*X zPjnlMen$@(Z&o9p$_OWc!ik?*QXi#*&y!+JmAx(dhsek36fOm|xJH}|icTrri(3a6 z`C&l$xF5Itk3;eU+tjFJZqW)w;&3}g#{P{op{;l{sPt>13YW_nz zte^00GV?k>Yggfg+Cwms(5xqGZJF4 zqxe6|Oz(f1dEh_r|1uxz4O^S@7}C%(@>}Z)$9<)lPuiy|KGN9z7t!mHAI4Q@1Rk1PGfC@6YDIa%#}px_s5TZq@OvFfgR0M5IIxB# z*d96p1F7^0;tD*N%0b5%K4RiR0#qQ)rX+sKa4&qJj3PHNb)7BVz;bsW1+a0!5(WT~ z0i?8eVjuAIj4mT;AJ1Y=B9~+XX*w<>FKiuRtw5UM51%QZFdfNN1}xB>?6F%T->EoU z@R>h9?B_E6d_aD_XFqq4pL^raBj)Gf`LiteSzZ0C8-JGHKO2ibw`Gd=DvWwFbkhmRmN_5Cu@>v-fm})nsshDAU3z}7aw*UYD literal 0 HcmV?d00001 diff --git a/Dijkstra Algorithm/VisualizedDijkstra.playground/Contents.swift b/Dijkstra Algorithm/VisualizedDijkstra.playground/Contents.swift new file mode 100644 index 000000000..e4b3e6732 --- /dev/null +++ b/Dijkstra Algorithm/VisualizedDijkstra.playground/Contents.swift @@ -0,0 +1,57 @@ +/*: + ## Dijkstra's algorithm visualization + This playground is about the [Dijkstra's algorithm](https://en.wikipedia.org/wiki/Dijkstra%27s_algorithm). + Plyground works in 2 modes: + * Auto visualization + * Interactive visualization + + */ +import UIKit +import PlaygroundSupport +/*: + First of all, let's set up colors for our window and graph. The visited color will be applied to visited vertices. The checking color will be applied to an edge and an edge neighbor every time the algorithm is checking some vertex neighbors. And default colors are just initial colors for elements. + */ +GraphColors.sharedInstance.visitedColor = #colorLiteral(red: 0, green: 0.5898008943, blue: 1, alpha: 1) +GraphColors.sharedInstance.checkingColor = #colorLiteral(red: 0.9411764741, green: 0.4980392158, blue: 0.3529411852, alpha: 1) +GraphColors.sharedInstance.defaultEdgeColor = #colorLiteral(red: 0.721568644, green: 0.8862745166, blue: 0.5921568871, alpha: 1) +GraphColors.sharedInstance.defaultVertexColor = #colorLiteral(red: 0.721568644, green: 0.8862745166, blue: 0.5921568871, alpha: 1) + +GraphColors.sharedInstance.mainWindowBackgroundColor = #colorLiteral(red: 0.921431005, green: 0.9214526415, blue: 0.9214410186, alpha: 1) +GraphColors.sharedInstance.topViewBackgroundColor = #colorLiteral(red: 1, green: 0.4932718873, blue: 0.4739984274, alpha: 1) +GraphColors.sharedInstance.buttonsBackgroundColor = #colorLiteral(red: 0, green: 0.3285208941, blue: 0.5748849511, alpha: 1) +GraphColors.sharedInstance.graphBackgroundColor = #colorLiteral(red: 1, green: 1, blue: 1, alpha: 1) +/*: + Now, we need to create some graph. You can create graph with any vertices amount but I aware you from setting up too many, otherwise it will be hard to place all of them nicely on the screen. Also, you can change the animations' duration: slow down or speed up. + */ +let graph = Graph(verticesCount: 6) +graph.interactiveNeighborCheckAnimationDuration = 1.2 +graph.visualizationNeighborCheckAnimationDuration = 1.2 +/*: + Now, let's configure the graph's visual representation by passing the virtual graph to our window. For better perception open live view in full screen. + */ +let screenBounds = UIScreen.main.bounds +let frame = CGRect(x: 0, y: 0, width: screenBounds.width * 0.8, height: screenBounds.height * 0.8) +let window = Window(frame: frame) +window.configure(graph: graph) +PlaygroundPage.current.liveView = window +/*: + **Great!** + + Now we have graph on the screen. It is beautiful, isn't it? ;) Before the visualization starts, I recommend you to move vertices around the screen using you finger to be sure that all vertices and edges are properly visible. + + And a final step! Before you will see the visualization **(by pressing "Visualization" button),** please, read explanation of how the Dijkstra's algorithm works. + + Algorithm's flow: + First of all, this program randomly decides which vertex will be the start one, then the program assigns a zero value to the start vertex path length from the start. + + Then the algorithm repeats following cycle until all vertices are marked as visited. + Cycle: + 1) From the non-visited vertices the algorithm picks a vertex with the shortest path length from the start (if there are more than one vertex with the same shortest path value, then algorithm picks any of them) + 2) The algorithm marks picked vertex as visited. + 3) The algorithm check all of its neighbors. If the current vertex path length from the start plus an edge weight to a neighbor less than the neighbor current path length from the start, than it assigns new path length from the start to the neihgbor. + When all vertices are marked as visited, the algorithm's job is done. Now, you can see the shortest path from the start for every vertex by pressing the one you are interested in. + + Now, try yourself at the Dijkstra's algorithm. Press **"Interactive" button.** The program will mark the start vertex as visited and calculate new paths for its neighbors. You have to pick next vertex for the algorithm to check. If you are wrong, you will see a message on the screen. + + Good luck and have fun! ;) + */ diff --git a/Dijkstra Algorithm/VisualizedDijkstra.playground/Resources/Pause.png b/Dijkstra Algorithm/VisualizedDijkstra.playground/Resources/Pause.png new file mode 100644 index 0000000000000000000000000000000000000000..12a5d49228a5ed6708e3478435ea0c60885c958f GIT binary patch literal 712 zcmeAS@N?(olHy`uVBq!ia0vp^6(G#P1|%(0%q{^b#^NA%Cx&(BWL`2bFg1C)IEGX( zzP)&mmqCH&utUQCxs8f{HfWVMXq*p literal 0 HcmV?d00001 diff --git a/Dijkstra Algorithm/VisualizedDijkstra.playground/Resources/Start.png b/Dijkstra Algorithm/VisualizedDijkstra.playground/Resources/Start.png new file mode 100644 index 0000000000000000000000000000000000000000..3ab9556297d800bdd36cdbc8f1a256467230cab9 GIT binary patch literal 1044 zcmeAS@N?(olHy`uVBq!ia0vp^6(G#P1|%(0%q{^b#^NA%Cx&(BWL`2bFrV{uaSW+o ze0w)L@3sR^YvAq|hc<1|I~zH3wb+gh-PeZvlV%-HS6HBXw%|~;(9`t1^UptTtf{?Q z(L3`%(`xYx%0k}XmonK3ec^udOZS4Z!}?HjJLbE_U)WyUQ(aKqa__Ru4!#oq3+xlp zw>P|F{N-c#(C&h+vpT~vJ;q(GFGBYAlsar@naenRx5x{z1;tmnt})lDmM})V6kD*q zLGS9S8|)=2C9END!xktn$ezmcjrlD{?SJ+sH|&>x{l4kP`M-7bPjZsp7BcBFzP4tK z@|3tD)@Ukr!E4c?Z9Ho>HiQYWZe>sCW!*CA#0p!+Y@G#DU7X$uMkF(?RpHAze?W>m zLv>@IJHxdI2kp-3Rze$&F-3Xml)5DJvVVDSz`>u%#`MdH{)~g`UWfF*lWb(QWBqdG zK(GU|&a>OOC+=r7)Hi(1)5vHz`YW=%f$fKIS?$v7jE3uTe$U_C!d4+)^4>4}0>gX5 zdGYU=q#hKX*evSn%v^J9dfk4{jE2jM!Qp1Cyaig(|8}V@U_94;`fj17$$_0QPhaad zvh9#rQa$u>?*WXSH7}vG0di#Kjw?Mc5Zk>2W!`p^6Rx_QLbB-q6Kh7eRP%ZJg zFZ2RKbn%a`+D&XX_>ZhE7Be{z$Mdgt@&d+h?H}wO3P>fq|MB=&z7w+yyFlqBX_Eti z8;{TbEdML~&(1j#GY`B!ao9pzrE$Bv$pOWg?J}R(RtqzR3H`n18_~}+gYklMfDfR@_i+Q?DS1lN{JHKU#t~tgS;khN)H^G$efY+m6SzN0N z8N!6Fhl+!Z=vcoFtV1x|8LZ&Y{x-0YE%AF|ub!8sJynnC^dFi9Xc+d^gn1J4@gcZs_E z4UN3P1vVMX5)sGu9FE@4z$`tl?m#2A!3IXl_|hZsa-!ywxqaHDf!UnF)78&qol`;+ E0JOlxT>t<8 literal 0 HcmV?d00001 diff --git a/Dijkstra Algorithm/VisualizedDijkstra.playground/Resources/Stop.png b/Dijkstra Algorithm/VisualizedDijkstra.playground/Resources/Stop.png new file mode 100644 index 0000000000000000000000000000000000000000..b74585cbe2b300ac7126e7bc63c0968843432f8b GIT binary patch literal 498 zcmeAS@N?(olHy`uVBq!ia0vp^6(G#P1|%(0%q{^b#^NA%Cx&(BWL^TXLn;{G zUS{NFP~bV@aA5y)#|anj$ZWa$zH)oawF4(7G5%&_>9cP-z;vAV$VZ)s2Rj-q=CN|i zm ULH=xDyfH9%y85}Sb4q9e0I4;^asU7T literal 0 HcmV?d00001 diff --git a/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/CustomUI/EdgeRepresentation.swift b/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/CustomUI/EdgeRepresentation.swift new file mode 100644 index 000000000..5ff656dab --- /dev/null +++ b/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/CustomUI/EdgeRepresentation.swift @@ -0,0 +1,109 @@ +import UIKit + +public class EdgeRepresentation: Equatable { + private var graphColors: GraphColors = GraphColors.sharedInstance + + public private(set)var label: UILabel! + public private(set)var layer: MyShapeLayer! + + public init(from vertex1: Vertex, to vertex2: Vertex, weight: Double) { + guard let vertex1View = vertex1.view, let vertex2View = vertex2.view else { + assertionFailure("passed vertices without configured views") + return + } + let x1 = vertex1View.frame.origin.x + let y1 = vertex1View.frame.origin.y + let width1 = vertex1View.frame.width + let height1 = vertex1View.frame.height + + let x2 = vertex2View.frame.origin.x + let y2 = vertex2View.frame.origin.y + let width2 = vertex2View.frame.width + let height2 = vertex2View.frame.height + + var startPoint: CGPoint + var endPoint: CGPoint + + if y1 == y2 { + if x1 < x2 { + startPoint = CGPoint(x: x1 + width1, y: y1 + height1 / 2) + endPoint = CGPoint(x: x2, y: y2 + height2 / 2) + } else { + startPoint = CGPoint(x: x1, y: y1 + height1 / 2) + endPoint = CGPoint(x: x2 + width2, y: y2 + height2 / 2) + } + } else { + startPoint = CGPoint(x: x1 + width1 / 2, y: y1 + height1) + endPoint = CGPoint(x: x2 + width2 / 2, y: y2) + } + + let arcDiameter: CGFloat = 20 + var circleOrigin: CGPoint! + + if endPoint.x == startPoint.x { + startPoint.y -= 1 + endPoint.y += 1 + let x = startPoint.x - arcDiameter / 2 + let y = startPoint.y + ((endPoint.y - startPoint.y) / 2 * 1.25 - arcDiameter / 2) + circleOrigin = CGPoint(x: x, y: y) + } else if endPoint.y == startPoint.y { + let x = startPoint.x + ((endPoint.x - startPoint.x) / 2 * 1.25 - arcDiameter / 2) + let y = startPoint.y + ((endPoint.y - startPoint.y) / 2 * 1.25 - arcDiameter / 2) + circleOrigin = CGPoint(x: x, y: y) + } else { + startPoint.x -= 1 + endPoint.x += 1 + startPoint.y -= 1 + endPoint.y += 1 + let x = startPoint.x + ((endPoint.x - startPoint.x) / 2 * 1.25 - arcDiameter / 2) + let y = startPoint.y + ((endPoint.y - startPoint.y) / 2 * 1.25 - arcDiameter / 2) + circleOrigin = CGPoint(x: x, y: y) + } + + + let path = UIBezierPath() + path.move(to: startPoint) + path.addLine(to: endPoint) + + let label = UILabel(frame: CGRect(origin: circleOrigin, size: CGSize(width: arcDiameter, height: arcDiameter))) + label.textAlignment = .center + label.backgroundColor = self.graphColors.defaultEdgeColor + label.clipsToBounds = true + label.adjustsFontSizeToFitWidth = true + label.layer.cornerRadius = arcDiameter / 2 + label.text = "" + + let shapeLayer = MyShapeLayer() + shapeLayer.path = path.cgPath + shapeLayer.strokeColor = self.graphColors.defaultEdgeColor.cgColor + shapeLayer.fillColor = UIColor.clear.cgColor + shapeLayer.lineWidth = 2.0 + shapeLayer.startPoint = startPoint + shapeLayer.endPoint = endPoint + shapeLayer.actions = ["position" : NSNull(), "bounds" : NSNull(), "path" : NSNull()] + self.layer = shapeLayer + self.label = label + self.label.text = "\(weight)" + } + + public func setCheckingColor() { + self.layer.strokeColor = self.graphColors.checkingColor.cgColor + self.label.backgroundColor = self.graphColors.checkingColor + } + + public func setDefaultColor() { + self.layer.strokeColor = self.graphColors.defaultEdgeColor.cgColor + self.label.backgroundColor = self.graphColors.defaultEdgeColor + } + + public func setText(text: String) { + self.label.text = text + } + + public static func ==(lhs: EdgeRepresentation, rhs: EdgeRepresentation) -> Bool { + if lhs.label.hashValue == rhs.label.hashValue && lhs.layer.hashValue == rhs.layer.hashValue { + return true + } + return false + } +} diff --git a/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/CustomUI/ErrorView.swift b/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/CustomUI/ErrorView.swift new file mode 100644 index 000000000..69874e5d7 --- /dev/null +++ b/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/CustomUI/ErrorView.swift @@ -0,0 +1,30 @@ +import UIKit + +public class ErrorView: UIView { + private var label: UILabel! + public override init(frame: CGRect) { + super.init(frame: frame) + self.commonInit() + } + + public required init?(coder aDecoder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } + + private func commonInit() { + self.backgroundColor = UIColor(red: 242/255, green: 156/255, blue: 84/255, alpha: 1) + self.layer.cornerRadius = 10 + + let labelFrame = CGRect(x: 10, y: 10, width: self.frame.width - 20, height: self.frame.height - 20) + self.label = UILabel(frame: labelFrame) + self.label.numberOfLines = 0 + self.label.adjustsFontSizeToFitWidth = true + self.label.textAlignment = .center + self.label.textColor = UIColor.white + self.addSubview(self.label) + } + + public func setText(text: String) { + self.label.text = text + } +} diff --git a/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/CustomUI/MyShapeLayer.swift b/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/CustomUI/MyShapeLayer.swift new file mode 100644 index 000000000..54147f5e1 --- /dev/null +++ b/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/CustomUI/MyShapeLayer.swift @@ -0,0 +1,7 @@ +import Foundation +import UIKit + +public class MyShapeLayer: CAShapeLayer { + public var startPoint: CGPoint? + public var endPoint: CGPoint? +} diff --git a/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/CustomUI/RoundedButton.swift b/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/CustomUI/RoundedButton.swift new file mode 100644 index 000000000..2647c4525 --- /dev/null +++ b/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/CustomUI/RoundedButton.swift @@ -0,0 +1,20 @@ +import UIKit + +public class RoundedButton: UIButton { + private var graphColors: GraphColors = GraphColors.sharedInstance + + public override init(frame: CGRect) { + super.init(frame: frame) + self.commonInit() + } + + public required init?(coder aDecoder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } + + private func commonInit() { + self.backgroundColor = self.graphColors.buttonsBackgroundColor + self.titleLabel?.adjustsFontSizeToFitWidth = true + self.layer.cornerRadius = 7 + } +} diff --git a/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/CustomUI/VertexView.swift b/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/CustomUI/VertexView.swift new file mode 100644 index 000000000..29c971411 --- /dev/null +++ b/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/CustomUI/VertexView.swift @@ -0,0 +1,63 @@ +import UIKit + +public class VertexView: UIButton { + + public var vertex: Vertex? + private var idLabel: UILabel! + private var pathLengthLabel: UILabel! + private var graphColors: GraphColors = GraphColors.sharedInstance + + public required init?(coder aDecoder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } + + public override init(frame: CGRect) { + precondition(frame.height == frame.width) + precondition(frame.height >= 30) + super.init(frame: frame) + self.backgroundColor = self.graphColors.defaultVertexColor + self.layer.cornerRadius = frame.width / 2 + self.clipsToBounds = true + self.setupIdLabel() + self.setupPathLengthFromStartLabel() + } + + private func setupIdLabel() { + let x: CGFloat = self.frame.width * 0.2 + let y: CGFloat = 0 + let width: CGFloat = self.frame.width * 0.6 + let height: CGFloat = self.frame.height / 2 + let idLabelFrame = CGRect(x: x, y: y, width: width, height: height) + + self.idLabel = UILabel(frame: idLabelFrame) + self.idLabel.textAlignment = .center + self.idLabel.adjustsFontSizeToFitWidth = true + self.addSubview(self.idLabel) + } + + private func setupPathLengthFromStartLabel() { + let x: CGFloat = self.frame.width * 0.2 + let y: CGFloat = self.frame.height / 2 + let width: CGFloat = self.frame.width * 0.6 + let height: CGFloat = self.frame.height / 2 + let pathLengthLabelFrame = CGRect(x: x, y: y, width: width, height: height) + + self.pathLengthLabel = UILabel(frame: pathLengthLabelFrame) + self.pathLengthLabel.textAlignment = .center + self.pathLengthLabel.adjustsFontSizeToFitWidth = true + self.addSubview(self.pathLengthLabel) + } + + public func setIdLabel(text: String) { + self.idLabel.text = text + } + + public func setPathLengthLabel(text: String) { + self.pathLengthLabel.text = text + } + + public func setLabelsTextColor(color: UIColor) { + self.idLabel.textColor = color + self.pathLengthLabel.textColor = color + } +} diff --git a/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/Graph.swift b/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/Graph.swift new file mode 100644 index 000000000..0b0b97b92 --- /dev/null +++ b/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/Graph.swift @@ -0,0 +1,308 @@ +import Foundation +import UIKit + +public enum GraphState { + case initial + case autoVisualization + case interactiveVisualization + case parsing + case completed +} + +public class Graph { + private init() { } + + private var verticesCount: UInt! + private var _vertices: Set = Set() + public weak var delegate: GraphDelegate? + public var nextVertices: [Vertex] = [] + public var state: GraphState = .initial + public var pauseVisualization: Bool = false + public var stopVisualization: Bool = false + public var startVertex: Vertex! + public var interactiveNeighborCheckAnimationDuration: Double = 1.8 { + didSet { + self._interactiveOneSleepDuration = UInt32(self.interactiveNeighborCheckAnimationDuration * 1000000.0 / 3.0) + } + } + private var _interactiveOneSleepDuration: UInt32 = 600000 + + public var visualizationNeighborCheckAnimationDuration: Double = 2.25 { + didSet { + self._visualizationOneSleepDuration = UInt32(self.visualizationNeighborCheckAnimationDuration * 1000000.0 / 3.0) + } + } + private var _visualizationOneSleepDuration: UInt32 = 750000 + + public var vertices: Set { + return self._vertices + } + + public init(verticesCount: UInt) { + self.verticesCount = verticesCount + } + + public func removeGraph() { + self._vertices.removeAll() + self.startVertex = nil + } + + public func createNewGraph() { + guard self._vertices.isEmpty, self.startVertex == nil else { + assertionFailure("Clear graph before creating new one") + return + } + self.createNotConnectedVertices() + self.setupConnections() + let offset = Int(arc4random_uniform(UInt32(self._vertices.count))) + let index = self._vertices.index(self._vertices.startIndex, offsetBy: offset) + self.startVertex = self._vertices[index] + self.setVertexLevels() + } + + private func clearCache() { + self._vertices.forEach { $0.clearCache() } + } + + public func reset() { + for vertex in self._vertices { + vertex.clearCache() + } + } + + private func createNotConnectedVertices() { + for i in 0.. Vertex { + var newSet = self._vertices + newSet.remove(vertex) + let offset = Int(arc4random_uniform(UInt32(newSet.count))) + let index = newSet.index(newSet.startIndex, offsetBy: offset) + return newSet[index] + } + + private func setVertexLevels() { + self._vertices.forEach { $0.clearLevelInfo() } + guard let startVertex = self.startVertex else { + assertionFailure() + return + } + var queue: [Vertex] = [startVertex] + startVertex.levelChecked = true + + //BFS + while !queue.isEmpty { + let currentVertex = queue.first! + for edge in currentVertex.edges { + let neighbor = edge.neighbor + if !neighbor.levelChecked { + neighbor.levelChecked = true + neighbor.level = currentVertex.level + 1 + queue.append(neighbor) + } + } + queue.removeFirst() + } + } + + public func findShortestPathsWithVisualization(completion: () -> Void) { + self.clearCache() + startVertex.pathLengthFromStart = 0 + startVertex.pathVerticesFromStart.append(self.startVertex) + var currentVertex: Vertex! = self.startVertex + + var totalVertices = self._vertices + + breakableLoop: while currentVertex != nil { + totalVertices.remove(currentVertex) + while self.pauseVisualization == true { + if self.stopVisualization == true { + break breakableLoop + } + } + if self.stopVisualization == true { + break breakableLoop + } + DispatchQueue.main.async { + currentVertex.setVisitedColor() + } + usleep(750000) + currentVertex.visited = true + let filteredEdges = currentVertex.edges.filter { !$0.neighbor.visited } + for edge in filteredEdges { + let neighbor = edge.neighbor + let weight = edge.weight + let edgeRepresentation = edge.edgeRepresentation + + while self.pauseVisualization == true { + if self.stopVisualization == true { + break breakableLoop + } + } + if self.stopVisualization == true { + break breakableLoop + } + DispatchQueue.main.async { + edgeRepresentation?.setCheckingColor() + neighbor.setCheckingPathColor() + self.delegate?.willCompareVertices(startVertexPathLength: currentVertex.pathLengthFromStart, + edgePathLength: weight, + endVertexPathLength: neighbor.pathLengthFromStart) + } + usleep(self._visualizationOneSleepDuration) + + + let theoreticNewWeight = currentVertex.pathLengthFromStart + weight + + if theoreticNewWeight < neighbor.pathLengthFromStart { + while self.pauseVisualization == true { + if self.stopVisualization == true { + break breakableLoop + } + } + if self.stopVisualization == true { + break breakableLoop + } + neighbor.pathLengthFromStart = theoreticNewWeight + neighbor.pathVerticesFromStart = currentVertex.pathVerticesFromStart + neighbor.pathVerticesFromStart.append(neighbor) + } + usleep(self._visualizationOneSleepDuration) + + DispatchQueue.main.async { + self.delegate?.didFinishCompare() + edge.edgeRepresentation?.setDefaultColor() + edge.neighbor.setDefaultColor() + } + usleep(self._visualizationOneSleepDuration) + } + if totalVertices.isEmpty { + currentVertex = nil + break + } + currentVertex = totalVertices.min { $0.pathLengthFromStart < $1.pathLengthFromStart } + } + if self.stopVisualization == true { + DispatchQueue.main.async { + self.delegate?.didStop() + } + } else { + completion() + } + } + + public func parseNeighborsFor(vertex: Vertex, completion: @escaping () -> ()) { + DispatchQueue.main.async { + vertex.setVisitedColor() + } + DispatchQueue.global(qos: .background).async { + vertex.visited = true + + let nonVisitedVertices = self._vertices.filter { $0.visited == false } + if nonVisitedVertices.isEmpty { + self.state = .completed + DispatchQueue.main.async { + self.delegate?.didCompleteGraphParsing() + } + return + } + + let filteredEdges = vertex.edges.filter { !$0.neighbor.visited } + breakableLoop: for edge in filteredEdges { + while self.pauseVisualization == true { + if self.stopVisualization == true { + break breakableLoop + } + } + if self.stopVisualization == true { + break breakableLoop + } + let weight = edge.weight + let neighbor = edge.neighbor + + DispatchQueue.main.async { + edge.neighbor.setCheckingPathColor() + edge.edgeRepresentation?.setCheckingColor() + self.delegate?.willCompareVertices(startVertexPathLength: vertex.pathLengthFromStart, + edgePathLength: weight, + endVertexPathLength: neighbor.pathLengthFromStart) + } + usleep(self._interactiveOneSleepDuration) + + let theoreticNewWeight = vertex.pathLengthFromStart + weight + if theoreticNewWeight < neighbor.pathLengthFromStart { + while self.pauseVisualization == true { + if self.stopVisualization == true { + break breakableLoop + } + } + if self.stopVisualization == true { + break breakableLoop + } + neighbor.pathLengthFromStart = theoreticNewWeight + neighbor.pathVerticesFromStart = vertex.pathVerticesFromStart + neighbor.pathVerticesFromStart.append(neighbor) + } + + usleep(self._interactiveOneSleepDuration) + while self.pauseVisualization == true { + if self.stopVisualization == true { + break breakableLoop + } + } + if self.stopVisualization == true { + break breakableLoop + } + DispatchQueue.main.async { + self.delegate?.didFinishCompare() + edge.neighbor.setDefaultColor() + edge.edgeRepresentation?.setDefaultColor() + } + usleep(self._interactiveOneSleepDuration) + } + if self.stopVisualization == true { + DispatchQueue.main.async { + self.delegate?.didStop() + } + } else { + let nextVertexPathLength = nonVisitedVertices.sorted { $0.pathLengthFromStart < $1.pathLengthFromStart }.first!.pathLengthFromStart + self.nextVertices = nonVisitedVertices.filter { $0.pathLengthFromStart == nextVertexPathLength } + completion() + } + } + } + + public func didTapVertex(vertex: Vertex) { + if self.nextVertices.contains(vertex) { + self.delegate?.willStartVertexNeighborsChecking() + self.state = .parsing + self.parseNeighborsFor(vertex: vertex) { + self.state = .interactiveVisualization + self.delegate?.didFinishVertexNeighborsChecking() + } + } else { + self.delegate?.didTapWrongVertex() + } + } +} diff --git a/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/GraphColors.swift b/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/GraphColors.swift new file mode 100644 index 000000000..95e9b8d74 --- /dev/null +++ b/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/GraphColors.swift @@ -0,0 +1,15 @@ +import UIKit + +public class GraphColors { + public static let sharedInstance: GraphColors = GraphColors() + private init() { } + + public var mainWindowBackgroundColor: UIColor = #colorLiteral(red: 0.921431005, green: 0.9214526415, blue: 0.9214410186, alpha: 1) + public var topViewBackgroundColor: UIColor = #colorLiteral(red: 1, green: 0.4932718873, blue: 0.4739984274, alpha: 1) + public var graphBackgroundColor: UIColor = #colorLiteral(red: 1, green: 1, blue: 1, alpha: 1) + public var defaultVertexColor: UIColor = #colorLiteral(red: 0.721568644, green: 0.8862745166, blue: 0.5921568871, alpha: 1) + public var defaultEdgeColor: UIColor = #colorLiteral(red: 0.721568644, green: 0.8862745166, blue: 0.5921568871, alpha: 1) + public var checkingColor: UIColor = #colorLiteral(red: 0.9411764741, green: 0.4980392158, blue: 0.3529411852, alpha: 1) + public var visitedColor: UIColor = #colorLiteral(red: 0, green: 0.5898008943, blue: 1, alpha: 1) + public var buttonsBackgroundColor: UIColor = #colorLiteral(red: 0, green: 0.3285208941, blue: 0.5748849511, alpha: 1) +} diff --git a/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/GraphView.swift b/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/GraphView.swift new file mode 100644 index 000000000..49bc6853f --- /dev/null +++ b/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/GraphView.swift @@ -0,0 +1,246 @@ +import UIKit + +public class GraphView: UIView { + private var graph: Graph! + private var panningView: VertexView? = nil + private var graphColors: GraphColors = GraphColors.sharedInstance + + public override init(frame: CGRect) { + super.init(frame: frame) + self.backgroundColor = self.graphColors.graphBackgroundColor + } + + public required init?(coder aDecoder: NSCoder) { + fatalError("init(coder:) has not been implemented") + + } + + public func configure(graph: Graph) { + self.graph = graph + } + + public func removeGraph() { + for vertex in self.graph.vertices { + if let view = vertex.view { + view.removeFromSuperview() + vertex.view = nil + } + } + for vertex in self.graph.vertices { + for edge in vertex.edges { + if let edgeRepresentation = edge.edgeRepresentation { + edgeRepresentation.layer.removeFromSuperlayer() + edgeRepresentation.label.removeFromSuperview() + edge.edgeRepresentation = nil + } + } + } + } + + public func createNewGraph() { + self.setupVertexViews() + self.setupEdgeRepresentations() + self.addGraph() + } + + public func reset() { + for vertex in self.graph.vertices { + vertex.edges.forEach { $0.edgeRepresentation?.setDefaultColor() } + vertex.setDefaultColor() + } + } + + private func addGraph() { + for vertex in self.graph.vertices { + for edge in vertex.edges { + if let edgeRepresentation = edge.edgeRepresentation { + self.layer.addSublayer(edgeRepresentation.layer) + self.addSubview(edgeRepresentation.label) + } + } + } + for vertex in self.graph.vertices { + if let view = vertex.view { + self.addSubview(view) + } + } + } + + private func setupVertexViews() { + var level = 0 + var buildViewQueue = [self.graph.startVertex!] + let itemWidth: CGFloat = 40 + while !buildViewQueue.isEmpty { + let levelItemsCount = CGFloat(buildViewQueue.count) + let xStep = (self.frame.width - levelItemsCount * itemWidth) / (levelItemsCount + 1) + var previousVertexMaxX: CGFloat = 0.0 + for vertex in buildViewQueue { + let x: CGFloat = previousVertexMaxX + xStep + let y: CGFloat = CGFloat(level * 100) + previousVertexMaxX = x + itemWidth + let frame = CGRect(x: x, y: y, width: itemWidth, height: itemWidth) + let vertexView = VertexView(frame: frame) + vertex.view = vertexView + vertexView.vertex = vertex + vertex.view?.setIdLabel(text: vertex.identifier) + vertex.view?.setPathLengthLabel(text: "\(vertex.pathLengthFromStart)") + vertex.view?.addTarget(self, action: #selector(self.didTapVertex(sender:)), for: .touchUpInside) + let panGesture = UIPanGestureRecognizer(target: self, action: #selector(self.handlePan(recognizer:))) + vertex.view?.addGestureRecognizer(panGesture) + } + level += 1 + buildViewQueue = self.graph.vertices.filter { $0.level == level } + } + } + + private var movingVertexInputEdges: [EdgeRepresentation] = [] + private var movingVertexOutputEdges: [EdgeRepresentation] = [] + + @objc private func handlePan(recognizer: UIPanGestureRecognizer) { + guard let vertexView = recognizer.view as? VertexView, let vertex = vertexView.vertex else { + return + } + if self.panningView != nil { + if self.panningView != vertexView { + return + } + } + + switch recognizer.state { + case .began: + let movingVertexViewFrame = vertexView.frame + let sizedVertexView = CGRect(x: movingVertexViewFrame.origin.x - 10, + y: movingVertexViewFrame.origin.y - 10, + width: movingVertexViewFrame.width + 20, + height: movingVertexViewFrame.height + 20) + vertex.edges.forEach { edge in + if let edgeRepresentation = edge.edgeRepresentation{ + if sizedVertexView.contains(edgeRepresentation.layer.startPoint!) { + movingVertexOutputEdges.append(edgeRepresentation) + } else { + movingVertexInputEdges.append(edgeRepresentation) + } + } + } + self.panningView = vertexView + case .changed: + if self.movingVertexOutputEdges.isEmpty && self.movingVertexInputEdges.isEmpty { + return + } + let translation = recognizer.translation(in: self) + if vertexView.frame.origin.x + translation.x <= 0 + || vertexView.frame.origin.y + translation.y <= 0 + || (vertexView.frame.origin.x + vertexView.frame.width + translation.x) >= self.frame.width + || (vertexView.frame.origin.y + vertexView.frame.height + translation.y) >= self.frame.height { + break + } + self.movingVertexInputEdges.forEach { edgeRepresentation in + let originalLabelCenter = edgeRepresentation.label.center + edgeRepresentation.label.center = CGPoint(x: originalLabelCenter.x + translation.x * 0.625, + y: originalLabelCenter.y + translation.y * 0.625) + + CATransaction.begin() + CATransaction.setValue(kCFBooleanTrue, forKey: kCATransactionDisableActions) + let newPath = self.path(fromEdgeRepresentation: edgeRepresentation, movingVertex: vertex, translation: translation, outPath: false) + edgeRepresentation.layer.path = newPath + CATransaction.commit() + + } + + self.movingVertexOutputEdges.forEach { edgeRepresentation in + let originalLabelCenter = edgeRepresentation.label.center + edgeRepresentation.label.center = CGPoint(x: originalLabelCenter.x + translation.x * 0.375, + y: originalLabelCenter.y + translation.y * 0.375) + + CATransaction.begin() + CATransaction.setValue(kCFBooleanTrue, forKey: kCATransactionDisableActions) + let newPath = self.path(fromEdgeRepresentation: edgeRepresentation, movingVertex: vertex, translation: translation, outPath: true) + edgeRepresentation.layer.path = newPath + CATransaction.commit() + } + + vertexView.center = CGPoint(x: vertexView.center.x + translation.x, + y: vertexView.center.y + translation.y) + recognizer.setTranslation(CGPoint.zero, in: self) + case .ended: + self.movingVertexInputEdges = [] + self.movingVertexOutputEdges = [] + self.panningView = nil + default: + break + } + } + + private func path(fromEdgeRepresentation edgeRepresentation: EdgeRepresentation, movingVertex: Vertex, translation: CGPoint, outPath: Bool) -> CGPath { + let bezier = UIBezierPath() + + if outPath == true { + bezier.move(to: edgeRepresentation.layer.endPoint!) + let startPoint = CGPoint(x: edgeRepresentation.layer.startPoint!.x + translation.x, + y: edgeRepresentation.layer.startPoint!.y + translation.y) + edgeRepresentation.layer.startPoint = startPoint + bezier.addLine(to: startPoint) + } else { + bezier.move(to: edgeRepresentation.layer.startPoint!) + let endPoint = CGPoint(x: edgeRepresentation.layer.endPoint!.x + translation.x, + y: edgeRepresentation.layer.endPoint!.y + translation.y) + edgeRepresentation.layer.endPoint = endPoint + bezier.addLine(to: endPoint) + } + return bezier.cgPath + } + + @objc private func didTapVertex(sender: AnyObject) { + DispatchQueue.main.async { + if self.graph.state == .completed { + for vertex in self.graph.vertices { + vertex.edges.forEach { $0.edgeRepresentation?.setDefaultColor() } + vertex.setVisitedColor() + } + if let vertexView = sender as? VertexView, let vertex = vertexView.vertex { + for (index, pathVertex) in vertex.pathVerticesFromStart.enumerated() { + pathVertex.setCheckingPathColor() + if vertex.pathVerticesFromStart.count > index + 1 { + let nextVertex = vertex.pathVerticesFromStart[index + 1] + + if let edge = pathVertex.edges.filter({ $0.neighbor == nextVertex }).first { + edge.edgeRepresentation?.setCheckingColor() + } + } + + } + } + } else if self.graph.state == .interactiveVisualization { + if let vertexView = sender as? VertexView, let vertex = vertexView.vertex { + if vertex.visited { + return + } else { + self.graph.didTapVertex(vertex: vertex) + } + } + } + } + } + + private func setupEdgeRepresentations() { + var edgeQueue: [Vertex] = [self.graph.startVertex!] + + //BFS + while !edgeQueue.isEmpty { + let currentVertex = edgeQueue.first! + currentVertex.haveAllEdges = true + for edge in currentVertex.edges { + let neighbor = edge.neighbor + let weight = edge.weight + if !neighbor.haveAllEdges { + let edgeRepresentation = EdgeRepresentation(from: currentVertex, to: neighbor, weight: weight) + edge.edgeRepresentation = edgeRepresentation + let index = neighbor.edges.index(where: { $0.neighbor == currentVertex })! + neighbor.edges[index].edgeRepresentation = edgeRepresentation + edgeQueue.append(neighbor) + } + } + edgeQueue.removeFirst() + } + } +} diff --git a/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/SimpleObjects/Edge.swift b/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/SimpleObjects/Edge.swift new file mode 100644 index 000000000..6f4493bbe --- /dev/null +++ b/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/SimpleObjects/Edge.swift @@ -0,0 +1,12 @@ +import Foundation + +public class Edge { + public var neighbor: Vertex + public var weight: Double + public var edgeRepresentation: EdgeRepresentation? + + public init(vertex: Vertex, weight: Double) { + self.neighbor = vertex + self.weight = weight + } +} diff --git a/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/SimpleObjects/Vertex.swift b/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/SimpleObjects/Vertex.swift new file mode 100644 index 000000000..c9270b0df --- /dev/null +++ b/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/SimpleObjects/Vertex.swift @@ -0,0 +1,62 @@ +import UIKit + +public class Vertex: Hashable, Equatable { + private var graphColors: GraphColors = GraphColors.sharedInstance + + public var identifier: String + public var edges: [Edge] = [] + public var pathLengthFromStart: Double = Double.infinity { + didSet { + DispatchQueue.main.async { + self.view?.setPathLengthLabel(text: "\(self.pathLengthFromStart)") + } + } + } + public var pathVerticesFromStart: [Vertex] = [] + public var level: Int = 0 + public var levelChecked: Bool = false + public var haveAllEdges: Bool = false + public var visited: Bool = false + + public var view: VertexView? + + public init(identifier: String) { + self.identifier = identifier + } + + public var hashValue: Int { + return self.identifier.hashValue + } + + public static func ==(lhs: Vertex, rhs: Vertex) -> Bool { + if lhs.hashValue == rhs.hashValue { + return true + } + return false + } + + public func clearCache() { + self.pathLengthFromStart = Double.infinity + self.pathVerticesFromStart = [] + self.visited = false + } + + public func clearLevelInfo() { + self.level = 0 + self.levelChecked = false + } + + public func setVisitedColor() { + self.view?.backgroundColor = self.graphColors.visitedColor + self.view?.setLabelsTextColor(color: UIColor.white) + } + + public func setCheckingPathColor() { + self.view?.backgroundColor = self.graphColors.checkingColor + } + + public func setDefaultColor() { + self.view?.backgroundColor = self.graphColors.defaultVertexColor + self.view?.setLabelsTextColor(color: UIColor.black) + } +} diff --git a/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/Window.swift b/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/Window.swift new file mode 100644 index 000000000..e8aabad27 --- /dev/null +++ b/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/Window.swift @@ -0,0 +1,319 @@ +import Foundation +import UIKit + +public protocol GraphDelegate: class { + func willCompareVertices(startVertexPathLength: Double, edgePathLength: Double, endVertexPathLength: Double) + func didFinishCompare() + func didCompleteGraphParsing() + func didTapWrongVertex() + func didStop() + func willStartVertexNeighborsChecking() + func didFinishVertexNeighborsChecking() +} + +public class Window: UIView, GraphDelegate { + public var graphView: GraphView! + + private var topView: UIView! + private var createGraphButton: RoundedButton! + private var startVisualizationButton: RoundedButton! + private var startInteractiveVisualizationButton: RoundedButton! + private var startButton: UIButton! + private var pauseButton: UIButton! + private var stopButton: UIButton! + private var comparisonLabel: UILabel! + private var activityIndicator: UIActivityIndicatorView! + private var graph: Graph! + private var numberOfVertices: UInt! + private var graphColors: GraphColors = GraphColors.sharedInstance + + public override init(frame: CGRect) { + super.init(frame: frame) + self.frame = frame + self.backgroundColor = self.graphColors.mainWindowBackgroundColor + } + + public required init?(coder aDecoder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } + + public func configure(graph: Graph) { + self.graph = graph + self.graph.createNewGraph() + self.graph.delegate = self + let frame = CGRect(x: 10, y: 170, width: self.frame.width - 20, height: self.frame.height - 180) + self.graphView = GraphView(frame: frame) + self.graphView.layer.cornerRadius = 15 + + self.graphView.configure(graph: self.graph) + self.graphView.createNewGraph() + self.addSubview(self.graphView) + + self.configureCreateGraphButton() + self.configureStartVisualizationButton() + self.configureStartInteractiveVisualizationButton() + self.configureStartButton() + self.configurePauseButton() + self.configureStopButton() + self.configureComparisonLabel() + self.configureActivityIndicator() + + self.topView = UIView(frame: CGRect(x: 10, y: 10, width: self.frame.width - 20, height: 150)) + self.topView.backgroundColor = self.graphColors.topViewBackgroundColor + self.topView.layer.cornerRadius = 15 + self.addSubview(self.topView) + + self.topView.addSubview(self.createGraphButton) + self.topView.addSubview(self.startVisualizationButton) + self.topView.addSubview(self.startInteractiveVisualizationButton) + self.topView.addSubview(self.startButton) + self.topView.addSubview(self.pauseButton) + self.topView.addSubview(self.stopButton) + self.topView.addSubview(self.comparisonLabel) + self.topView.addSubview(self.activityIndicator) + } + + private func configureCreateGraphButton() { + let frame = CGRect(x: self.center.x - 200, y: 12, width: 100, height: 34) + self.createGraphButton = RoundedButton(frame: frame) + self.createGraphButton.setTitle("New graph", for: .normal) + self.createGraphButton.addTarget(self, action: #selector(self.createGraphButtonTap), for: .touchUpInside) + } + + private func configureStartVisualizationButton() { + let frame = CGRect(x: self.center.x - 50, y: 12, width: 100, height: 34) + self.startVisualizationButton = RoundedButton(frame: frame) + self.startVisualizationButton.setTitle("Auto", for: .normal) + self.startVisualizationButton.addTarget(self, action: #selector(self.startVisualizationButtonDidTap), for: .touchUpInside) + } + + private func configureStartInteractiveVisualizationButton() { + let frame = CGRect(x: self.center.x + 100, y: 12, width: 100, height: 34) + self.startInteractiveVisualizationButton = RoundedButton(frame: frame) + self.startInteractiveVisualizationButton.setTitle("Interactive", for: .normal) + self.startInteractiveVisualizationButton.addTarget(self, action: #selector(self.startInteractiveVisualizationButtonDidTap), for: .touchUpInside) + } + + private func configureStartButton() { + let frame = CGRect(x: self.center.x - 65, y: 56, width: 30, height: 30) + self.startButton = UIButton(frame: frame) + let playImage = UIImage(named: "Start.png") + self.startButton.setImage(playImage, for: .normal) + self.startButton.isEnabled = false + self.startButton.addTarget(self, action: #selector(self.didTapStartButton), for: .touchUpInside) + } + + private func configurePauseButton() { + let frame = CGRect(x: self.center.x - 15, y: 56, width: 30, height: 30) + self.pauseButton = UIButton(frame: frame) + let pauseImage = UIImage(named: "Pause.png") + self.pauseButton.setImage(pauseImage, for: .normal) + self.pauseButton.isEnabled = false + self.pauseButton.addTarget(self, action: #selector(self.didTapPauseButton), for: .touchUpInside) + } + + private func configureStopButton() { + let frame = CGRect(x: self.center.x + 35, y: 56, width: 30, height: 30) + self.stopButton = UIButton(frame: frame) + let stopImage = UIImage(named: "Stop.png") + self.stopButton.setImage(stopImage, for: .normal) + self.stopButton.isEnabled = false + self.stopButton.addTarget(self, action: #selector(self.didTapStopButton), for: .touchUpInside) + } + + private func configureComparisonLabel() { + let size = CGSize(width: 250, height: 42) + let origin = CGPoint(x: self.center.x - 125, y: 96) + let frame = CGRect(origin: origin, size: size) + self.comparisonLabel = UILabel(frame: frame) + self.comparisonLabel.textAlignment = .center + self.comparisonLabel.text = "Have fun!" + } + + private func configureActivityIndicator() { + let size = CGSize(width: 50, height: 42) + let origin = CGPoint(x: self.center.x - 25, y: 100) + let activityIndicatorFrame = CGRect(origin: origin, size: size) + self.activityIndicator = UIActivityIndicatorView(frame: activityIndicatorFrame) + self.activityIndicator.activityIndicatorViewStyle = .whiteLarge + } + + @objc private func createGraphButtonTap() { + self.comparisonLabel.text = "" + self.graphView.removeGraph() + self.graph.removeGraph() + self.graph.createNewGraph() + self.graphView.createNewGraph() + self.graph.state = .initial + } + + @objc private func startVisualizationButtonDidTap() { + self.comparisonLabel.text = "" + self.pauseButton.isEnabled = true + self.stopButton.isEnabled = true + self.createGraphButton.isEnabled = false + self.startVisualizationButton.isEnabled = false + self.startInteractiveVisualizationButton.isEnabled = false + self.createGraphButton.alpha = 0.5 + self.startVisualizationButton.alpha = 0.5 + self.startInteractiveVisualizationButton.alpha = 0.5 + + if self.graph.state == .completed { + self.graphView.reset() + self.graph.reset() + } + self.graph.state = .autoVisualization + DispatchQueue.global(qos: .background).async { + self.graph.findShortestPathsWithVisualization { + self.graph.state = .completed + + DispatchQueue.main.async { + self.startButton.isEnabled = false + self.pauseButton.isEnabled = false + self.stopButton.isEnabled = false + self.createGraphButton.isEnabled = true + self.startVisualizationButton.isEnabled = true + self.startInteractiveVisualizationButton.isEnabled = true + self.createGraphButton.alpha = 1 + self.startVisualizationButton.alpha = 1 + self.startInteractiveVisualizationButton.alpha = 1 + self.comparisonLabel.text = "Completed!" + } + } + } + } + + @objc private func startInteractiveVisualizationButtonDidTap() { + self.comparisonLabel.text = "" + self.pauseButton.isEnabled = true + self.stopButton.isEnabled = true + self.createGraphButton.isEnabled = false + self.startVisualizationButton.isEnabled = false + self.startInteractiveVisualizationButton.isEnabled = false + self.createGraphButton.alpha = 0.5 + self.startVisualizationButton.alpha = 0.5 + self.startInteractiveVisualizationButton.alpha = 0.5 + + if self.graph.state == .completed { + self.graphView.reset() + self.graph.reset() + } + + self.graph.startVertex.pathLengthFromStart = 0 + self.graph.startVertex.pathVerticesFromStart.append(self.graph.startVertex) + self.graph.state = .parsing + self.graph.parseNeighborsFor(vertex: self.graph.startVertex) { + self.graph.state = .interactiveVisualization + DispatchQueue.main.async { + self.comparisonLabel.text = "Pick next vertex" + } + } + } + + @objc private func didTapStartButton() { + self.startButton.isEnabled = false + self.pauseButton.isEnabled = true + DispatchQueue.global(qos: .utility).async { + self.graph.pauseVisualization = false + } + } + + @objc private func didTapPauseButton() { + self.startButton.isEnabled = true + self.pauseButton.isEnabled = false + DispatchQueue.global(qos: .utility).async { + self.graph.pauseVisualization = true + } + } + + @objc private func didTapStopButton() { + self.startButton.isEnabled = false + self.pauseButton.isEnabled = false + self.comparisonLabel.text = "" + self.activityIndicator.startAnimating() + if self.graph.state == .parsing || self.graph.state == .autoVisualization { + self.graph.stopVisualization = true + } else if self.graph.state == .interactiveVisualization { + self.didStop() + } + } + + private func setButtonsToInitialState() { + self.createGraphButton.isEnabled = true + self.startVisualizationButton.isEnabled = true + self.startInteractiveVisualizationButton.isEnabled = true + self.startButton.isEnabled = false + self.pauseButton.isEnabled = false + self.stopButton.isEnabled = false + self.createGraphButton.alpha = 1 + self.startVisualizationButton.alpha = 1 + self.startInteractiveVisualizationButton.alpha = 1 + } + + private func showError(error: String) { + DispatchQueue.main.async { + let size = CGSize(width: 250, height: 42) + let origin = CGPoint(x: self.topView.center.x - 125, y: 96) + let frame = CGRect(origin: origin, size: size) + let errorView = ErrorView(frame: frame) + errorView.setText(text: error) + self.topView.addSubview(errorView) + UIView.animate(withDuration: 2, animations: { + errorView.alpha = 0 + }, completion: { _ in + errorView.removeFromSuperview() + }) + } + } + + // MARK: GraphDelegate + public func didCompleteGraphParsing() { + self.graph.state = .completed + self.setButtonsToInitialState() + self.comparisonLabel.text = "Completed!" + } + + public func didTapWrongVertex() { + if !self.subviews.contains { $0 is ErrorView } { + self.showError(error: "You have picked wrong next vertex") + } + } + + public func willCompareVertices(startVertexPathLength: Double, edgePathLength: Double, endVertexPathLength: Double) { + DispatchQueue.main.async { + if startVertexPathLength + edgePathLength < endVertexPathLength { + self.comparisonLabel.text = "\(startVertexPathLength) + \(edgePathLength) < \(endVertexPathLength) 👍" + } else { + self.comparisonLabel.text = "\(startVertexPathLength) + \(edgePathLength) >= \(endVertexPathLength) 👎" + } + } + } + + public func didFinishCompare() { + DispatchQueue.main.async { + self.comparisonLabel.text = "" + } + } + + public func didStop() { + self.graph.state = .initial + self.graph.stopVisualization = false + self.graph.pauseVisualization = false + self.graphView.reset() + self.graph.reset() + self.setButtonsToInitialState() + self.activityIndicator.stopAnimating() + } + + public func willStartVertexNeighborsChecking() { + DispatchQueue.main.async { + self.comparisonLabel.text = "" + } + } + + public func didFinishVertexNeighborsChecking() { + DispatchQueue.main.async { + self.comparisonLabel.text = "Pick next vertex" + } + } +} diff --git a/Dijkstra Algorithm/VisualizedDijkstra.playground/contents.xcplayground b/Dijkstra Algorithm/VisualizedDijkstra.playground/contents.xcplayground new file mode 100644 index 000000000..35968656f --- /dev/null +++ b/Dijkstra Algorithm/VisualizedDijkstra.playground/contents.xcplayground @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/Dijkstra Algorithm/VisualizedDijkstra.playground/playground.xcworkspace/contents.xcworkspacedata b/Dijkstra Algorithm/VisualizedDijkstra.playground/playground.xcworkspace/contents.xcworkspacedata new file mode 100644 index 000000000..919434a62 --- /dev/null +++ b/Dijkstra Algorithm/VisualizedDijkstra.playground/playground.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/Dijkstra Algorithm/VisualizedDijkstra.playground/timeline.xctimeline b/Dijkstra Algorithm/VisualizedDijkstra.playground/timeline.xctimeline new file mode 100644 index 000000000..bf468afec --- /dev/null +++ b/Dijkstra Algorithm/VisualizedDijkstra.playground/timeline.xctimeline @@ -0,0 +1,6 @@ + + + + + diff --git a/README.markdown b/README.markdown index 5e6cfbfe4..eee5cbb46 100644 --- a/README.markdown +++ b/README.markdown @@ -183,6 +183,7 @@ Most of the time using just the built-in `Array`, `Dictionary`, and `Set` types - [Single-Source Shortest Paths](Single-Source%20Shortest%20Paths%20(Weighted)/) - [Minimum Spanning Tree](Minimum%20Spanning%20Tree%20%28Unweighted%29/) on an unweighted tree - [All-Pairs Shortest Paths](All-Pairs%20Shortest%20Paths/) +- [Dijkstra's shortest path algorithm](Dijkstra%20Algorithm/) ## Puzzles From 777bf7b948e75d77bbac8cbba5dc40716c6b5d61 Mon Sep 17 00:00:00 2001 From: Taras Nikulin Date: Thu, 6 Apr 2017 16:34:58 +0300 Subject: [PATCH 020/713] Deleted unnecessary code and added comments --- .../Dijkstra.playground/Contents.swift | 37 +++++++++++++------ 1 file changed, 26 insertions(+), 11 deletions(-) diff --git a/Dijkstra Algorithm/Dijkstra.playground/Contents.swift b/Dijkstra Algorithm/Dijkstra.playground/Contents.swift index 8d600d577..13087a8f9 100644 --- a/Dijkstra Algorithm/Dijkstra.playground/Contents.swift +++ b/Dijkstra Algorithm/Dijkstra.playground/Contents.swift @@ -3,19 +3,15 @@ import Foundation import UIKit -open class ProductVertex: Vertex {} - open class Vertex: Hashable, Equatable { open var identifier: String! open var neighbors: [(Vertex, Double)] = [] open var pathLengthFromStart: Double = Double.infinity open var pathVerticesFromStart: [Vertex] = [] -// open var point: CGPoint! - public init(identifier: String/*, point: CGPoint*/) { + public init(identifier: String) { self.identifier = identifier -// self.point = point } open var hashValue: Int { @@ -77,7 +73,9 @@ public class Dijkstra { var _vertices: Set = Set() func createNotConnectedVertices() { - for i in 0..<15 { + //change this value to increase or decrease amount of vertices in the graph + let numberOfVerticesInGraph = 15 + for i in 0.. Vertex { return newSet[index] } +func randomVertex() -> Vertex { + let offset = Int(arc4random_uniform(UInt32(_vertices.count))) + let index = _vertices.index(_vertices.startIndex, offsetBy: offset) + return _vertices[index] +} + +//initialize random graph createNotConnectedVertices() setupConnections() + +//initialize Dijkstra algorithm with graph vertices let dijkstra = Dijkstra(vertices: _vertices) -let offset = Int(arc4random_uniform(UInt32(_vertices.count))) -let index = _vertices.index(_vertices.startIndex, offsetBy: offset) -let startVertex = _vertices[index] + +//decide which vertex will be the starting one +let startVertex = randomVertex() + +//ask algorithm to find shortest paths from start vertex to all others dijkstra.findShortestPaths(from: startVertex) + +//printing results let destinationVertex = randomVertex(except: startVertex) -destinationVertex.pathLengthFromStart -destinationVertex.pathVerticesFromStart +print(destinationVertex.pathLengthFromStart) +var pathVerticesFromStartString: [String] = [] +for vertex in destinationVertex.pathVerticesFromStart { + pathVerticesFromStartString.append(vertex.identifier) +} +print(pathVerticesFromStartString.joined(separator: "->")) From 3e62df6cff7e3408647b8da016ca4230fb2a191c Mon Sep 17 00:00:00 2001 From: Ute Schiehlen Date: Mon, 10 Apr 2017 11:18:34 +0200 Subject: [PATCH 021/713] Silenced warnings in print statements --- .../RedBlackTree.playground/Sources/RedBlackTree.swift | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Red-Black Tree/RedBlackTree.playground/Sources/RedBlackTree.swift b/Red-Black Tree/RedBlackTree.playground/Sources/RedBlackTree.swift index 6f3b16b86..351f89a9d 100644 --- a/Red-Black Tree/RedBlackTree.playground/Sources/RedBlackTree.swift +++ b/Red-Black Tree/RedBlackTree.playground/Sources/RedBlackTree.swift @@ -638,11 +638,11 @@ extension RedBlackTree { if let leftChild = node.leftChild, let rightChild = node.rightChild { if node.color == .red { if !leftChild.isNullLeaf && leftChild.color == .red { - print("Property-Error: Red node with key \(node.key ?? nil) has red left child") + print("Property-Error: Red node with key \(String(describing: node.key)) has red left child") return false } if !rightChild.isNullLeaf && rightChild.color == .red { - print("Property-Error: Red node with key \(node.key ?? nil) has red right child") + print("Property-Error: Red node with key \(String(describing: node.key)) has red right child") return false } } @@ -677,7 +677,7 @@ extension RedBlackTree { let addedHeight = node.color == .black ? 1 : 0 return left + addedHeight } else { - print("Property-Error: Black height violated at node with key \(node.key ?? nil)") + print("Property-Error: Black height violated at node with key \(String(describing: node.key))") return -1 } } @@ -697,7 +697,7 @@ extension RBTreeNode: CustomDebugStringConvertible { s = "key: nil" } if let parent = parent { - s += ", parent: \(parent.key)" + s += ", parent: \(String(describing: parent.key))" } if let left = leftChild { s += ", left = [" + left.debugDescription + "]" From 55c11cadd38ee59e89a3128860b53f63e8b0457d Mon Sep 17 00:00:00 2001 From: ph1ps Date: Fri, 14 Apr 2017 21:37:24 +0200 Subject: [PATCH 022/713] Claim Naive Bayes Classifier --- Naive Bayes Classifier/README.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 Naive Bayes Classifier/README.md diff --git a/Naive Bayes Classifier/README.md b/Naive Bayes Classifier/README.md new file mode 100644 index 000000000..e69de29bb From 85f8085de5131657a9f8f5e7ab8f8d3e42f39edf Mon Sep 17 00:00:00 2001 From: ph1ps Date: Fri, 14 Apr 2017 21:38:44 +0200 Subject: [PATCH 023/713] Add initial version of NB --- Naive Bayes Classifier/NaiveBayes.swift | 141 ++++++++++++++++++++++++ 1 file changed, 141 insertions(+) create mode 100644 Naive Bayes Classifier/NaiveBayes.swift diff --git a/Naive Bayes Classifier/NaiveBayes.swift b/Naive Bayes Classifier/NaiveBayes.swift new file mode 100644 index 000000000..c988cacbe --- /dev/null +++ b/Naive Bayes Classifier/NaiveBayes.swift @@ -0,0 +1,141 @@ +// +// main.swift +// NaiveBayes +// +// Created by Philipp Gabriel on 14.04.17. +// Copyright © 2017 ph1ps. All rights reserved. +// + +//TODO naming +import Foundation + +extension Array where Element == Double { + + func mean() -> Double { + return self.reduce(0, +) / Double(count) + } + + func standardDeviation() -> Double { + let calculatedMean = mean() + + let sum = self.reduce(0.0) { (previous, next) in + return previous + pow(next - calculatedMean, 2) + } + + return sqrt(sum / Double(count - 1)) + } +} + +extension Array where Element == Int { + + //Is this the best way?! + func uniques() -> [Int] { + return Array(Set(self)) + } + +} + +class NaiveBayes { + + var data: [[Double]] + var classes: [Int] + var variables: [Int: [(feature: Int, mean: Double, stDev: Double)]] + + init(data: [[Double]], classes: [Int]) { + self.data = data + self.classes = classes + self.variables = [Int: [(feature: Int, mean: Double, stDev: Double)]]() + } + + //TODO + //init(dataAndClasses: [[Double]], index ofClassRow: Int) {} + + //TODO: Does it really need to be n^2 runtime? + func train() { + + for `class` in 0.. Int { + let likelihoods = predictLikelihood(input: input).max { (first, second) -> Bool in + return first.1 < second.1 + } + + guard let `class` = likelihoods?.0 else { + return -1 + } + + return `class` + } + + func predictLikelihood(input: [Double]) -> [(Int, Double)] { + + var probabilityOfClasses = [Int: Double]() + let amount = classes.uniques().count + + classes.forEach { `class` in + let individual = classes.filter { $0 == `class` }.count + probabilityOfClasses[`class`] = Double(amount) / Double(individual) + } + + let probaClass = variables.map { (key, value) -> (Int, [Double]) in + let probaFeature = value.map { (feature, mean, stDev) -> Double in + let featureValue = input[feature] + let eulerPart = pow(M_E, -1 * pow(featureValue - mean, 2) / (2 * pow(stDev, 2))) + let distribution = eulerPart / sqrt(2 * .pi) / stDev + return distribution + } + return (key, probaFeature) + } + + let likelihoods = probaClass.map { (key, probaFeature) in + return (key, probaFeature.reduce(1, *) * (probabilityOfClasses[key] ?? 1.0)) + } + + let sum = likelihoods.map { $0.1 }.reduce(0, +) + let normalized = likelihoods.map { (`class`, likelihood) in + return (`class`, likelihood / sum) + } + + return normalized + } +} + +let data: [[Double]] = [ + [6,180,12], + [5.92,190,11], + [5.58,170,12], + [5.92,165,10], + [5,100,6], + [5.5,150,8], + [5.42,130,7], + [5.75,150,9] +] + +let classes = [0,0,0,0,1,1,1,1] + +let naive = NaiveBayes(data: data, classes: classes) +naive.train() +let result = naive.predictLikelihood(input: [6,130,8]) +print(result) + + + + + + + + From be4ac46a126d4f1b744bb84216ab0ef68686e2e7 Mon Sep 17 00:00:00 2001 From: Philipp Gabriel Date: Fri, 14 Apr 2017 21:40:52 +0200 Subject: [PATCH 024/713] Add NB to README --- README.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/README.markdown b/README.markdown index 29fc9d748..7df847960 100644 --- a/README.markdown +++ b/README.markdown @@ -116,6 +116,7 @@ Bad sorting algorithms (don't use these!): - Logistic Regression - Neural Networks - PageRank +- [Naive Bayes Classifier](Naive%20Bayes%20Classifier/) ## Data structures From f536ff10804f32066a5fdea1becfc6b80ebbf25f Mon Sep 17 00:00:00 2001 From: ARKALYK AKASH Date: Sat, 15 Apr 2017 02:06:55 +0600 Subject: [PATCH 025/713] Bugs fied. Readme added. --- .../EggDrop.playground/Contents.swift | 5 +++ .../EggDrop.playground/Sources/EggDrop.swift | 41 +++++++++++++++++ .../EggDrop.playground/contents.xcplayground | 4 ++ Egg Drop Problem/EggDrop.swift | 36 +++++++++------ Egg Drop Problem/README.markdown | 44 +++++++++++++++++++ .../contents.xcworkspacedata | 6 +++ 6 files changed, 123 insertions(+), 13 deletions(-) create mode 100644 Egg Drop Problem/EggDrop.playground/Contents.swift create mode 100644 Egg Drop Problem/EggDrop.playground/Sources/EggDrop.swift create mode 100644 Egg Drop Problem/EggDrop.playground/contents.xcplayground create mode 100644 Egg Drop Problem/README.markdown diff --git a/Egg Drop Problem/EggDrop.playground/Contents.swift b/Egg Drop Problem/EggDrop.playground/Contents.swift new file mode 100644 index 000000000..4ddb936b3 --- /dev/null +++ b/Egg Drop Problem/EggDrop.playground/Contents.swift @@ -0,0 +1,5 @@ + //: Playground - noun: a place where people can play + +import Cocoa + +eggDrop(numberOfEggs: 2, numberOfFloors: 4) diff --git a/Egg Drop Problem/EggDrop.playground/Sources/EggDrop.swift b/Egg Drop Problem/EggDrop.playground/Sources/EggDrop.swift new file mode 100644 index 000000000..f69284491 --- /dev/null +++ b/Egg Drop Problem/EggDrop.playground/Sources/EggDrop.swift @@ -0,0 +1,41 @@ +public func eggDrop(numberOfEggs: Int, numberOfFloors: Int) -> Int { + if numberOfEggs == 0 || numberOfFloors == 0{ + return 0 + } + if numberOfEggs == 1 || numberOfFloors == 1{ + return 1 + } + + var eggFloor = [[Int]](repeating: [Int](repeating: 0, count: numberOfFloors+1), count: numberOfEggs+1) //egg(rows) floor(cols) array to store the solutions + var attempts: Int = 0 + + for var floorNumber in (0..<(numberOfFloors+1)){ + eggFloor[1][floorNumber] = floorNumber //base case: if there's only one egg, it takes 'numberOfFloors' attempts + for var eggNumber in (2..<(numberOfEggs+1)){ + eggFloor[eggNumber][floorNumber] = 0 + } + } + eggFloor[2][1] = 1 //base case: if there's are two eggs and one floor, it takes one attempt + + for var eggNumber in (2..<(numberOfEggs+1)){ + for var floorNumber in (2..<(numberOfFloors+1)){ + eggFloor[eggNumber][floorNumber] = 1000000 + for var visitingFloor in (1..<(floorNumber+1)){ + //there are two cases + //case 1: egg breaks. meaning we'll have one less egg, and we'll have to go downstairs -> visitingFloor-1 + //case 2: egg doesn't break. meaning we'll still have 'eggs' number of eggs, and we'll go upstairs -> floorNumber-visitingFloor + attempts = 1 + max(eggFloor[eggNumber-1][visitingFloor-1], eggFloor[eggNumber][floorNumber-visitingFloor])//we add one taking into account the attempt we're taking at the moment + + if attempts < eggFloor[eggNumber][floorNumber]{ //finding the min + eggFloor[eggNumber][floorNumber] = attempts; + } + } + } + } + + return eggFloor[numberOfEggs][numberOfFloors] +} + +public func max(_ x1: Int, _ x2: Int) -> Int{ + return x1 > x2 ? x1 : x2 +} diff --git a/Egg Drop Problem/EggDrop.playground/contents.xcplayground b/Egg Drop Problem/EggDrop.playground/contents.xcplayground new file mode 100644 index 000000000..63b6dd8df --- /dev/null +++ b/Egg Drop Problem/EggDrop.playground/contents.xcplayground @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/Egg Drop Problem/EggDrop.swift b/Egg Drop Problem/EggDrop.swift index 6d0aab2a1..a525793db 100644 --- a/Egg Drop Problem/EggDrop.swift +++ b/Egg Drop Problem/EggDrop.swift @@ -1,23 +1,33 @@ -func eggDrop(_ numberOfEggs: Int, numberOfFloors: Int) -> Int { - var eggFloor: [[Int]] = [] //egg(rows) floor(cols) array to store the solutions +public func eggDrop(numberOfEggs: Int, numberOfFloors: Int) -> Int { + if numberOfEggs == 0 || numberOfFloors == 0{ + return 0 + } + if numberOfEggs == 1 || numberOfFloors == 1{ + return 1 + } + + var eggFloor = [[Int]](repeating: [Int](repeating: 0, count: numberOfFloors+1), count: numberOfEggs+1) //egg(rows) floor(cols) array to store the solutions var attempts: Int = 0 - for var i in (0.. k-1 - //case 2: egg doesn't break. meaning we'll still have 'i' number of eggs, and we'll go upstairs -> j-k - attempts = 1 + max(eggFloor[i-1][k-1], eggFloor[i][j-k])//we add one taking into account the attempt we're taking at the moment + //case 2: egg doesn't break. meaning we'll still have 'eggs' number of eggs, and we'll go upstairs -> floors-k + attempts = 1 + max(eggFloor[eggNumber-1][floors-1], eggFloor[eggNumber][floorNumber-floors])//we add one taking into account the attempt we're taking at the moment - if attempts < eggFloor[i][j]{ //finding the min - eggFloor[i][j] = attempts; + if attempts < eggFloor[eggNumber][floorNumber]{ //finding the min + eggFloor[eggNumber][floorNumber] = attempts; } } } @@ -26,6 +36,6 @@ func eggDrop(_ numberOfEggs: Int, numberOfFloors: Int) -> Int { return eggFloor[numberOfEggs][numberOfFloors] } -func max(_ x1: Int, _ x2: Int){ +public func max(_ x1: Int, _ x2: Int) -> Int{ return x1 > x2 ? x1 : x2 } diff --git a/Egg Drop Problem/README.markdown b/Egg Drop Problem/README.markdown new file mode 100644 index 000000000..a58827ba3 --- /dev/null +++ b/Egg Drop Problem/README.markdown @@ -0,0 +1,44 @@ +#Egg Drop Dynamic Problem + +#Problem Description + +Given some number of floors and some number of eggs, what is the minimum number of attempts it will take to find out from which floor egg will break. + +Suppose that we wish to know which stories in a 36-story building are safe to drop eggs from, and which will cause the eggs to break on landing. We make a few assumptions: + +- An egg that survives a fall can be used again. +- A broken egg must be discarded. +- The effect of a fall is the same for all eggs. +- If an egg breaks when dropped, then it would break if dropped from a higher floor. +- If an egg survives a fall then it would survive a shorter fall. + +If only one egg is available and we wish to be sure of obtaining the right result, the experiment can be carried out in only one way. Drop the egg from the first-floor window; if it survives, drop it from the second floor window. Continue upward until it breaks. In the worst case, this method may require 36 droppings. Suppose 2 eggs are available. What is the least number of egg-droppings that is guaranteed to work in all cases? +The problem is not actually to find the critical floor, but merely to decide floors from which eggs should be dropped so that total number of trials are minimized. + +#Solution +We store all the solutions in a 2D array. Where rows represents number of eggs and columns represent number of floors. + +First, we set base cases: +1) If there's only one egg, it takes as many attempts as number of floors +2) If there's are two eggs and one floor, it takes one attempt + +eggNumber ==> Number of eggs at the moment +floorNumber ==> Floor number at the moment +visitingFloor ==> Floor being visited at the moment +attempts ==> Minimum number of attempts it will take to find out from which floor egg will break + +When we drop an egg from a floor 'floorNumber', there can be two cases (1) The egg breaks (2) The egg doesn’t break. + +1) If the egg breaks after dropping from 'floorNumberth' floor, then we only need to check for floors lower than 'floorNumber' with remaining eggs; so the problem reduces to 'floorNumber'-1 floors and 'eggNumber'-1 eggs +2) If the egg doesn’t break after dropping from the xth floor, then we only need to check for floors higher than 'floorNumber'; so the problem reduces to floors-'floorNumber' floors and 'eggNumber' eggs. + +Since we need to minimize the number of trials in worst case, we take the maximum of two cases. We consider the max of above two cases for every floor and choose the floor which yields minimum number of trials. + +```swift + +attempts = 1 + max(eggFloor[eggNumber-1][floors-1], eggFloor[eggNumber][floorNumber-floors])//we add one taking into account the attempt we're taking at the moment + +if attempts < eggFloor[eggNumber][floorNumber]{ //finding the min + eggFloor[eggNumber][floorNumber] = attempts; +} +``` diff --git a/swift-algorithm-club.xcworkspace/contents.xcworkspacedata b/swift-algorithm-club.xcworkspace/contents.xcworkspacedata index 5ac8577f5..1c6b407c3 100644 --- a/swift-algorithm-club.xcworkspace/contents.xcworkspacedata +++ b/swift-algorithm-club.xcworkspace/contents.xcworkspacedata @@ -7,6 +7,12 @@ + + + + From 75d3b5b59977a1cc54bcac2ce42e2c884eab5e69 Mon Sep 17 00:00:00 2001 From: ARKALYK AKASH Date: Sat, 15 Apr 2017 02:12:30 +0600 Subject: [PATCH 026/713] Bugs fixed --- Egg Drop Problem/README.markdown | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/Egg Drop Problem/README.markdown b/Egg Drop Problem/README.markdown index a58827ba3..44af8174a 100644 --- a/Egg Drop Problem/README.markdown +++ b/Egg Drop Problem/README.markdown @@ -23,19 +23,21 @@ First, we set base cases: 2) If there's are two eggs and one floor, it takes one attempt eggNumber ==> Number of eggs at the moment + floorNumber ==> Floor number at the moment + visitingFloor ==> Floor being visited at the moment + attempts ==> Minimum number of attempts it will take to find out from which floor egg will break When we drop an egg from a floor 'floorNumber', there can be two cases (1) The egg breaks (2) The egg doesn’t break. -1) If the egg breaks after dropping from 'floorNumberth' floor, then we only need to check for floors lower than 'floorNumber' with remaining eggs; so the problem reduces to 'floorNumber'-1 floors and 'eggNumber'-1 eggs -2) If the egg doesn’t break after dropping from the xth floor, then we only need to check for floors higher than 'floorNumber'; so the problem reduces to floors-'floorNumber' floors and 'eggNumber' eggs. +1) If the egg breaks after dropping from 'visitingFloorth' floor, then we only need to check for floors lower than 'visitingFloor' with remaining eggs; so the problem reduces to 'visitingFloor'-1 floors and 'eggNumber'-1 eggs. +2) If the egg doesn’t break after dropping from the 'visitingFloorth' floor, then we only need to check for floors higher than 'visitingFloor'; so the problem reduces to floors-'visitingFloor' floors and 'eggNumber' eggs. Since we need to minimize the number of trials in worst case, we take the maximum of two cases. We consider the max of above two cases for every floor and choose the floor which yields minimum number of trials. ```swift - attempts = 1 + max(eggFloor[eggNumber-1][floors-1], eggFloor[eggNumber][floorNumber-floors])//we add one taking into account the attempt we're taking at the moment if attempts < eggFloor[eggNumber][floorNumber]{ //finding the min From 61949ab24314ee060f888642c59d6d20bcfa4841 Mon Sep 17 00:00:00 2001 From: ARKALYK AKASH Date: Sat, 15 Apr 2017 11:09:53 +0600 Subject: [PATCH 027/713] Minor changes in README --- .../EggDrop.playground/Sources/EggDrop.swift | 9 +++------ Egg Drop Problem/EggDrop.swift | 16 ++++++++-------- Egg Drop Problem/README.markdown | 19 ++++++++++++------- 3 files changed, 23 insertions(+), 21 deletions(-) diff --git a/Egg Drop Problem/EggDrop.playground/Sources/EggDrop.swift b/Egg Drop Problem/EggDrop.playground/Sources/EggDrop.swift index f69284491..897ba2dee 100644 --- a/Egg Drop Problem/EggDrop.playground/Sources/EggDrop.swift +++ b/Egg Drop Problem/EggDrop.playground/Sources/EggDrop.swift @@ -1,5 +1,5 @@ public func eggDrop(numberOfEggs: Int, numberOfFloors: Int) -> Int { - if numberOfEggs == 0 || numberOfFloors == 0{ + if numberOfEggs == 0 || numberOfFloors == 0{ //edge case: When either number of eggs or number of floors is 0, answer is 0 return 0 } if numberOfEggs == 1 || numberOfFloors == 1{ @@ -11,15 +11,12 @@ public func eggDrop(numberOfEggs: Int, numberOfFloors: Int) -> Int { for var floorNumber in (0..<(numberOfFloors+1)){ eggFloor[1][floorNumber] = floorNumber //base case: if there's only one egg, it takes 'numberOfFloors' attempts - for var eggNumber in (2..<(numberOfEggs+1)){ - eggFloor[eggNumber][floorNumber] = 0 - } } - eggFloor[2][1] = 1 //base case: if there's are two eggs and one floor, it takes one attempt + eggFloor[2][1] = 1 //base case: if there are two eggs and one floor, it takes one attempt for var eggNumber in (2..<(numberOfEggs+1)){ for var floorNumber in (2..<(numberOfFloors+1)){ - eggFloor[eggNumber][floorNumber] = 1000000 + eggFloor[eggNumber][floorNumber] = Int.max //setting the final result a high number to find out minimum for var visitingFloor in (1..<(floorNumber+1)){ //there are two cases //case 1: egg breaks. meaning we'll have one less egg, and we'll have to go downstairs -> visitingFloor-1 diff --git a/Egg Drop Problem/EggDrop.swift b/Egg Drop Problem/EggDrop.swift index a525793db..7be691f57 100644 --- a/Egg Drop Problem/EggDrop.swift +++ b/Egg Drop Problem/EggDrop.swift @@ -1,5 +1,5 @@ public func eggDrop(numberOfEggs: Int, numberOfFloors: Int) -> Int { - if numberOfEggs == 0 || numberOfFloors == 0{ + if numberOfEggs == 0 || numberOfFloors == 0{ //edge case: When either number of eggs or number of floors is 0, answer is 0 return 0 } if numberOfEggs == 1 || numberOfFloors == 1{ @@ -10,21 +10,21 @@ public func eggDrop(numberOfEggs: Int, numberOfFloors: Int) -> Int { var attempts: Int = 0 for var floorNumber in (0..<(numberOfFloors+1)){ - eggFloor[1][floorNumber] = floorNumber + eggFloor[1][floorNumber] = floorNumber //base case: if there's only one egg, it takes 'numberOfFloors' attempts for var eggNumber in (2..<(numberOfEggs+1)){ eggFloor[eggNumber][floorNumber] = 0 } } - eggFloor[2][1] = 1 + eggFloor[2][1] = 1 //base case: if there are two eggs and one floor, it takes one attempt for var eggNumber in (2..<(numberOfEggs+1)){ for var floorNumber in (2..<(numberOfFloors+1)){ - eggFloor[eggNumber][floorNumber] = 1000000 - for var floors in (1..<(floorNumber+1)){ + eggFloor[eggNumber][floorNumber] = Int.max //setting the final result a high number to find out minimum + for var visitingFloor in (1..<(floorNumber+1)){ //there are two cases - //case 1: egg breaks. meaning we'll have one less egg, and we'll have to go downstairs -> k-1 - //case 2: egg doesn't break. meaning we'll still have 'eggs' number of eggs, and we'll go upstairs -> floors-k - attempts = 1 + max(eggFloor[eggNumber-1][floors-1], eggFloor[eggNumber][floorNumber-floors])//we add one taking into account the attempt we're taking at the moment + //case 1: egg breaks. meaning we'll have one less egg, and we'll have to go downstairs -> visitingFloor-1 + //case 2: egg doesn't break. meaning we'll still have 'eggs' number of eggs, and we'll go upstairs -> floorNumber-visitingFloor + attempts = 1 + max(eggFloor[eggNumber-1][visitingFloor-1], eggFloor[eggNumber][floorNumber-visitingFloor])//we add one taking into account the attempt we're taking at the moment if attempts < eggFloor[eggNumber][floorNumber]{ //finding the min eggFloor[eggNumber][floorNumber] = attempts; diff --git a/Egg Drop Problem/README.markdown b/Egg Drop Problem/README.markdown index 44af8174a..2df3088b5 100644 --- a/Egg Drop Problem/README.markdown +++ b/Egg Drop Problem/README.markdown @@ -22,19 +22,24 @@ First, we set base cases: 1) If there's only one egg, it takes as many attempts as number of floors 2) If there's are two eggs and one floor, it takes one attempt -eggNumber ==> Number of eggs at the moment - -floorNumber ==> Floor number at the moment - -visitingFloor ==> Floor being visited at the moment - -attempts ==> Minimum number of attempts it will take to find out from which floor egg will break +- eggNumber ==> Number of eggs at the moment +- floorNumber ==> Floor number at the moment +- visitingFloor ==> Floor being visited at the moment +- attempts ==> Minimum number of attempts it will take to find out from which floor egg will break When we drop an egg from a floor 'floorNumber', there can be two cases (1) The egg breaks (2) The egg doesn’t break. 1) If the egg breaks after dropping from 'visitingFloorth' floor, then we only need to check for floors lower than 'visitingFloor' with remaining eggs; so the problem reduces to 'visitingFloor'-1 floors and 'eggNumber'-1 eggs. 2) If the egg doesn’t break after dropping from the 'visitingFloorth' floor, then we only need to check for floors higher than 'visitingFloor'; so the problem reduces to floors-'visitingFloor' floors and 'eggNumber' eggs. +```swift +for var floorNumber in (0..<(numberOfFloors+1)){ + eggFloor[1][floorNumber] = floorNumber //base case: if there's only one egg, it takes 'numberOfFloors' attempts +} + +eggFloor[2][1] = 1 //base case: if there are two eggs and one floor, it takes one attempt +``` + Since we need to minimize the number of trials in worst case, we take the maximum of two cases. We consider the max of above two cases for every floor and choose the floor which yields minimum number of trials. ```swift From 4ab987c592763cd13719411b829d8d513a64707b Mon Sep 17 00:00:00 2001 From: ARKALYK AKASH Date: Sat, 15 Apr 2017 11:14:18 +0600 Subject: [PATCH 028/713] Minor changes in README --- Egg Drop Problem/README.markdown | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/Egg Drop Problem/README.markdown b/Egg Drop Problem/README.markdown index 2df3088b5..eda28fa6f 100644 --- a/Egg Drop Problem/README.markdown +++ b/Egg Drop Problem/README.markdown @@ -16,32 +16,33 @@ If only one egg is available and we wish to be sure of obtaining the right resul The problem is not actually to find the critical floor, but merely to decide floors from which eggs should be dropped so that total number of trials are minimized. #Solution +- eggNumber -> Number of eggs at the moment +- floorNumber -> Floor number at the moment +- visitingFloor -> Floor being visited at the moment +- attempts -> Minimum number of attempts it will take to find out from which floor egg will break + We store all the solutions in a 2D array. Where rows represents number of eggs and columns represent number of floors. First, we set base cases: 1) If there's only one egg, it takes as many attempts as number of floors 2) If there's are two eggs and one floor, it takes one attempt -- eggNumber ==> Number of eggs at the moment -- floorNumber ==> Floor number at the moment -- visitingFloor ==> Floor being visited at the moment -- attempts ==> Minimum number of attempts it will take to find out from which floor egg will break - -When we drop an egg from a floor 'floorNumber', there can be two cases (1) The egg breaks (2) The egg doesn’t break. - -1) If the egg breaks after dropping from 'visitingFloorth' floor, then we only need to check for floors lower than 'visitingFloor' with remaining eggs; so the problem reduces to 'visitingFloor'-1 floors and 'eggNumber'-1 eggs. -2) If the egg doesn’t break after dropping from the 'visitingFloorth' floor, then we only need to check for floors higher than 'visitingFloor'; so the problem reduces to floors-'visitingFloor' floors and 'eggNumber' eggs. - ```swift for var floorNumber in (0..<(numberOfFloors+1)){ - eggFloor[1][floorNumber] = floorNumber //base case: if there's only one egg, it takes 'numberOfFloors' attempts +eggFloor[1][floorNumber] = floorNumber //base case 1: if there's only one egg, it takes 'numberOfFloors' attempts } -eggFloor[2][1] = 1 //base case: if there are two eggs and one floor, it takes one attempt +eggFloor[2][1] = 1 //base case 2: if there are two eggs and one floor, it takes one attempt ``` +When we drop an egg from a floor 'floorNumber', there can be two cases (1) The egg breaks (2) The egg doesn’t break. + +1) If the egg breaks after dropping from 'visitingFloorth' floor, then we only need to check for floors lower than 'visitingFloor' with remaining eggs; so the problem reduces to 'visitingFloor'-1 floors and 'eggNumber'-1 eggs. +2) If the egg doesn’t break after dropping from the 'visitingFloorth' floor, then we only need to check for floors higher than 'visitingFloor'; so the problem reduces to floors-'visitingFloor' floors and 'eggNumber' eggs. + Since we need to minimize the number of trials in worst case, we take the maximum of two cases. We consider the max of above two cases for every floor and choose the floor which yields minimum number of trials. +We find the answer based on the base cases and previously found answers as follows. ```swift attempts = 1 + max(eggFloor[eggNumber-1][floors-1], eggFloor[eggNumber][floorNumber-floors])//we add one taking into account the attempt we're taking at the moment From 1fbb40efe14b80d6187a9ebd698960ba3520fe3b Mon Sep 17 00:00:00 2001 From: ARKALYK AKASH Date: Sat, 15 Apr 2017 11:35:40 +0600 Subject: [PATCH 029/713] Example added --- Egg Drop Problem/EggDrop.playground/Contents.swift | 6 +++++- Egg Drop Problem/EggDrop.swift | 3 --- Egg Drop Problem/README.markdown | 14 +++++++++++++- 3 files changed, 18 insertions(+), 5 deletions(-) diff --git a/Egg Drop Problem/EggDrop.playground/Contents.swift b/Egg Drop Problem/EggDrop.playground/Contents.swift index 4ddb936b3..d452e7f9f 100644 --- a/Egg Drop Problem/EggDrop.playground/Contents.swift +++ b/Egg Drop Problem/EggDrop.playground/Contents.swift @@ -2,4 +2,8 @@ import Cocoa -eggDrop(numberOfEggs: 2, numberOfFloors: 4) +eggDrop(numberOfEggs: 2, numberOfFloors: 2) //expected answer: 2 +eggDrop(numberOfEggs: 2, numberOfFloors: 4) //expected answer: 3 +eggDrop(numberOfEggs: 2, numberOfFloors: 6) //expected answer: 3 +eggDrop(numberOfEggs: 5, numberOfFloors: 5) //expected answer: 2 +eggDrop(numberOfEggs: 5, numberOfFloors: 20) //expected answer: 4 \ No newline at end of file diff --git a/Egg Drop Problem/EggDrop.swift b/Egg Drop Problem/EggDrop.swift index 7be691f57..897ba2dee 100644 --- a/Egg Drop Problem/EggDrop.swift +++ b/Egg Drop Problem/EggDrop.swift @@ -11,9 +11,6 @@ public func eggDrop(numberOfEggs: Int, numberOfFloors: Int) -> Int { for var floorNumber in (0..<(numberOfFloors+1)){ eggFloor[1][floorNumber] = floorNumber //base case: if there's only one egg, it takes 'numberOfFloors' attempts - for var eggNumber in (2..<(numberOfEggs+1)){ - eggFloor[eggNumber][floorNumber] = 0 - } } eggFloor[2][1] = 1 //base case: if there are two eggs and one floor, it takes one attempt diff --git a/Egg Drop Problem/README.markdown b/Egg Drop Problem/README.markdown index eda28fa6f..1a436c374 100644 --- a/Egg Drop Problem/README.markdown +++ b/Egg Drop Problem/README.markdown @@ -25,7 +25,7 @@ We store all the solutions in a 2D array. Where rows represents number of eggs a First, we set base cases: 1) If there's only one egg, it takes as many attempts as number of floors -2) If there's are two eggs and one floor, it takes one attempt +2) If there are two eggs and one floor, it takes one attempt ```swift for var floorNumber in (0..<(numberOfFloors+1)){ @@ -50,3 +50,15 @@ if attempts < eggFloor[eggNumber][floorNumber]{ //finding the min eggFloor[eggNumber][floorNumber] = attempts; } ``` +Example: +Let's assume we have 2 eggs and 2 floors. +1) We drop one egg from the first floor. If it breaks, then we get the answer. If it doesn't we'll have 2 eggs and 1 floors to work with. + attempts = 1 + maximum of 0(got the answer) and eggFloor[2][1] (base case 2 which gives us 1) + attempts = 1 + 1 = 2 +2) We drop one egg from the second floor. If it breaks, we'll have 1 egg and 1 floors to work with. If it doesn't, we'll get the answer. + attempts = 1 + maximum of eggFloor[1][1](base case 1 which gives us 1) and 0(got the answer) + attempts = 1 + 1 = 2 +3) Finding the minimum of 2 and 2 gives us 2, so the answer is 2. + 2 is the minimum number of attempts it will take to find out from which floor egg will break. + + From 082385a5ac58967b8eaf565654f1620444383ebf Mon Sep 17 00:00:00 2001 From: Arkalyk Akash Date: Sat, 15 Apr 2017 11:37:09 +0600 Subject: [PATCH 030/713] Update README.markdown --- Egg Drop Problem/README.markdown | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Egg Drop Problem/README.markdown b/Egg Drop Problem/README.markdown index 1a436c374..5ff6ebb1d 100644 --- a/Egg Drop Problem/README.markdown +++ b/Egg Drop Problem/README.markdown @@ -1,6 +1,6 @@ -#Egg Drop Dynamic Problem +# Egg Drop Dynamic Problem -#Problem Description +# Problem Description Given some number of floors and some number of eggs, what is the minimum number of attempts it will take to find out from which floor egg will break. @@ -15,7 +15,7 @@ Suppose that we wish to know which stories in a 36-story building are safe to dr If only one egg is available and we wish to be sure of obtaining the right result, the experiment can be carried out in only one way. Drop the egg from the first-floor window; if it survives, drop it from the second floor window. Continue upward until it breaks. In the worst case, this method may require 36 droppings. Suppose 2 eggs are available. What is the least number of egg-droppings that is guaranteed to work in all cases? The problem is not actually to find the critical floor, but merely to decide floors from which eggs should be dropped so that total number of trials are minimized. -#Solution +# Solution - eggNumber -> Number of eggs at the moment - floorNumber -> Floor number at the moment - visitingFloor -> Floor being visited at the moment From ffea424eec7b80d010d731f6f1b44c442c26cab8 Mon Sep 17 00:00:00 2001 From: Arkalyk Akash Date: Sat, 15 Apr 2017 11:37:55 +0600 Subject: [PATCH 031/713] Update README.markdown --- Egg Drop Problem/README.markdown | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Egg Drop Problem/README.markdown b/Egg Drop Problem/README.markdown index 5ff6ebb1d..82543502d 100644 --- a/Egg Drop Problem/README.markdown +++ b/Egg Drop Problem/README.markdown @@ -1,6 +1,6 @@ # Egg Drop Dynamic Problem -# Problem Description +## Problem Description Given some number of floors and some number of eggs, what is the minimum number of attempts it will take to find out from which floor egg will break. @@ -15,7 +15,7 @@ Suppose that we wish to know which stories in a 36-story building are safe to dr If only one egg is available and we wish to be sure of obtaining the right result, the experiment can be carried out in only one way. Drop the egg from the first-floor window; if it survives, drop it from the second floor window. Continue upward until it breaks. In the worst case, this method may require 36 droppings. Suppose 2 eggs are available. What is the least number of egg-droppings that is guaranteed to work in all cases? The problem is not actually to find the critical floor, but merely to decide floors from which eggs should be dropped so that total number of trials are minimized. -# Solution +## Solution - eggNumber -> Number of eggs at the moment - floorNumber -> Floor number at the moment - visitingFloor -> Floor being visited at the moment @@ -50,7 +50,7 @@ if attempts < eggFloor[eggNumber][floorNumber]{ //finding the min eggFloor[eggNumber][floorNumber] = attempts; } ``` -Example: +## Example Let's assume we have 2 eggs and 2 floors. 1) We drop one egg from the first floor. If it breaks, then we get the answer. If it doesn't we'll have 2 eggs and 1 floors to work with. attempts = 1 + maximum of 0(got the answer) and eggFloor[2][1] (base case 2 which gives us 1) From 260948a2b7af625ea0fe6590e3cf966975c420dd Mon Sep 17 00:00:00 2001 From: ARKALYK AKASH Date: Sat, 15 Apr 2017 11:41:32 +0600 Subject: [PATCH 032/713] Comments added --- Egg Drop Problem/EggDrop.playground/Sources/EggDrop.swift | 3 ++- Egg Drop Problem/EggDrop.swift | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/Egg Drop Problem/EggDrop.playground/Sources/EggDrop.swift b/Egg Drop Problem/EggDrop.playground/Sources/EggDrop.swift index 897ba2dee..db1e48b95 100644 --- a/Egg Drop Problem/EggDrop.playground/Sources/EggDrop.swift +++ b/Egg Drop Problem/EggDrop.playground/Sources/EggDrop.swift @@ -2,7 +2,7 @@ public func eggDrop(numberOfEggs: Int, numberOfFloors: Int) -> Int { if numberOfEggs == 0 || numberOfFloors == 0{ //edge case: When either number of eggs or number of floors is 0, answer is 0 return 0 } - if numberOfEggs == 1 || numberOfFloors == 1{ + if numberOfEggs == 1 || numberOfFloors == 1{ //edge case: When either number of eggs or number of floors is 1, answer is 1 return 1 } @@ -33,6 +33,7 @@ public func eggDrop(numberOfEggs: Int, numberOfFloors: Int) -> Int { return eggFloor[numberOfEggs][numberOfFloors] } +//Helper function to find max of two integers public func max(_ x1: Int, _ x2: Int) -> Int{ return x1 > x2 ? x1 : x2 } diff --git a/Egg Drop Problem/EggDrop.swift b/Egg Drop Problem/EggDrop.swift index 897ba2dee..db1e48b95 100644 --- a/Egg Drop Problem/EggDrop.swift +++ b/Egg Drop Problem/EggDrop.swift @@ -2,7 +2,7 @@ public func eggDrop(numberOfEggs: Int, numberOfFloors: Int) -> Int { if numberOfEggs == 0 || numberOfFloors == 0{ //edge case: When either number of eggs or number of floors is 0, answer is 0 return 0 } - if numberOfEggs == 1 || numberOfFloors == 1{ + if numberOfEggs == 1 || numberOfFloors == 1{ //edge case: When either number of eggs or number of floors is 1, answer is 1 return 1 } @@ -33,6 +33,7 @@ public func eggDrop(numberOfEggs: Int, numberOfFloors: Int) -> Int { return eggFloor[numberOfEggs][numberOfFloors] } +//Helper function to find max of two integers public func max(_ x1: Int, _ x2: Int) -> Int{ return x1 > x2 ? x1 : x2 } From 903ce26995d275e858dc535726df8a649260a4cd Mon Sep 17 00:00:00 2001 From: ph1ps Date: Sun, 16 Apr 2017 14:37:34 +0200 Subject: [PATCH 033/713] Add fully functional gaussian NB & examples --- Naive Bayes Classifier/NaiveBayes.swift | 122 ++++++++++++++---------- 1 file changed, 74 insertions(+), 48 deletions(-) diff --git a/Naive Bayes Classifier/NaiveBayes.swift b/Naive Bayes Classifier/NaiveBayes.swift index c988cacbe..63edd9981 100644 --- a/Naive Bayes Classifier/NaiveBayes.swift +++ b/Naive Bayes Classifier/NaiveBayes.swift @@ -1,16 +1,15 @@ // -// main.swift +// NaiveBayes.swift // NaiveBayes // // Created by Philipp Gabriel on 14.04.17. // Copyright © 2017 ph1ps. All rights reserved. // -//TODO naming import Foundation extension Array where Element == Double { - + func mean() -> Double { return self.reduce(0, +) / Double(count) } @@ -28,18 +27,17 @@ extension Array where Element == Double { extension Array where Element == Int { - //Is this the best way?! - func uniques() -> [Int] { - return Array(Set(self)) + func uniques() -> Set { + return Set(self) } } class NaiveBayes { - - var data: [[Double]] - var classes: [Int] - var variables: [Int: [(feature: Int, mean: Double, stDev: Double)]] + + private var data: [[Double]] + private var classes: [Int] + private var variables: [Int: [(feature: Int, mean: Double, stDev: Double)]] init(data: [[Double]], classes: [Int]) { self.data = data @@ -47,30 +45,37 @@ class NaiveBayes { self.variables = [Int: [(feature: Int, mean: Double, stDev: Double)]]() } - //TODO - //init(dataAndClasses: [[Double]], index ofClassRow: Int) {} - - //TODO: Does it really need to be n^2 runtime? + convenience init(dataAndClasses: [[Double]], rowOfClass: Int) { + let classes = dataAndClasses.map { Int($0[rowOfClass]) } + let data = dataAndClasses.map { row in + return row.enumerated().filter { $0.offset != rowOfClass }.map { $0.element } + } + + self.init(data: data, classes: classes) + } + func train() { - - for `class` in 0.. Int { - let likelihoods = predictLikelihood(input: input).max { (first, second) -> Bool in + func classify(with input: [Double]) -> Int { + let likelihoods = calcLikelihoods(with: input).max { (first, second) -> Bool in return first.1 < second.1 } @@ -81,30 +86,30 @@ class NaiveBayes { return `class` } - func predictLikelihood(input: [Double]) -> [(Int, Double)] { - - var probabilityOfClasses = [Int: Double]() - let amount = classes.uniques().count + func calcLikelihoods(with input: [Double]) -> [(Int, Double)] { + + var probaClass = [Int: Double]() + let amount = classes.count classes.forEach { `class` in let individual = classes.filter { $0 == `class` }.count - probabilityOfClasses[`class`] = Double(amount) / Double(individual) + probaClass[`class`] = Double(individual) / Double(amount) } - let probaClass = variables.map { (key, value) -> (Int, [Double]) in - let probaFeature = value.map { (feature, mean, stDev) -> Double in + let classesAndFeatures = variables.map { (key, value) -> (Int, [Double]) in + let distributions = value.map { (feature, mean, stDev) -> Double in let featureValue = input[feature] let eulerPart = pow(M_E, -1 * pow(featureValue - mean, 2) / (2 * pow(stDev, 2))) let distribution = eulerPart / sqrt(2 * .pi) / stDev return distribution } - return (key, probaFeature) + return (key, distributions) } - let likelihoods = probaClass.map { (key, probaFeature) in - return (key, probaFeature.reduce(1, *) * (probabilityOfClasses[key] ?? 1.0)) + let likelihoods = classesAndFeatures.map { (key, probaFeature) in + return (key, probaFeature.reduce(1, *) * (probaClass[key] ?? 1.0)) } - + let sum = likelihoods.map { $0.1 }.reduce(0, +) let normalized = likelihoods.map { (`class`, likelihood) in return (`class`, likelihood / sum) @@ -115,27 +120,48 @@ class NaiveBayes { } let data: [[Double]] = [ - [6,180,12], - [5.92,190,11], - [5.58,170,12], - [5.92,165,10], - [5,100,6], - [5.5,150,8], - [5.42,130,7], - [5.75,150,9] + [6, 180, 12], + [5.92, 190, 11], + [5.58, 170, 12], + [5.92, 165, 10], + [5, 100, 6], + [5.5, 150, 8], + [5.42, 130, 7], + [5.75, 150, 9] ] -let classes = [0,0,0,0,1,1,1,1] +let classes = [0, 0, 0, 0, 1, 1, 1, 1] let naive = NaiveBayes(data: data, classes: classes) naive.train() -let result = naive.predictLikelihood(input: [6,130,8]) -print(result) - - - - +print(naive.classify(with: [6, 130, 8])) + +let otherData: [[Double]] = [ + [6, 180, 12, 0], + [5.92, 190, 11, 0], + [5.58, 170, 12, 0], + [5.92, 165, 10, 0], + [5, 100, 6, 1], + [5.5, 150, 8, 1], + [5.42, 130, 7, 1], + [5.75, 150, 9, 1] +] +let otherNaive = NaiveBayes(dataAndClasses: otherData, rowOfClass: 3) +otherNaive.train() +print(otherNaive.calcLikelihoods(with: [6, 130, 8])) +guard let csv = try? String(contentsOfFile: "/Users/ph1ps/Desktop/wine.csv") else { + print("file not found") + exit(0) +} +let rows = csv.characters.split(separator: "\r\n").map { String($0) } +let wineData = rows.map { row -> [Double] in + let split = row.characters.split(separator: ";") + return split.map { Double(String($0))! } +} +let wineNaive = NaiveBayes(dataAndClasses: wineData, rowOfClass: 0) +wineNaive.train() +print(wineNaive.calcLikelihoods(with: [12.85, 1.6, 2.52, 17.8, 95, 2.48, 2.37, 0.26, 1.46, 3.93, 1.09, 3.63, 1015])) From b6d40144c5ac91bd3155036fbcefca231a6dba0d Mon Sep 17 00:00:00 2001 From: ph1ps Date: Sun, 16 Apr 2017 23:52:57 +0200 Subject: [PATCH 034/713] Split into seperate types of NB classifier, implement strategy pattern --- Naive Bayes Classifier/NaiveBayes.swift | 209 +++++++++++++++++------- 1 file changed, 146 insertions(+), 63 deletions(-) diff --git a/Naive Bayes Classifier/NaiveBayes.swift b/Naive Bayes Classifier/NaiveBayes.swift index 63edd9981..dbbf3cd9f 100644 --- a/Naive Bayes Classifier/NaiveBayes.swift +++ b/Naive Bayes Classifier/NaiveBayes.swift @@ -33,49 +33,143 @@ extension Array where Element == Int { } +enum NBType { + + case gaussian(data: [[Double]], classes: [Int]) + case multinomial(data: [[Int]], classes: [Int]) + //case bernoulli(data: [[Bool]], classes: [Int]) --> TODO + + var classes: [Int] { + if case .gaussian(_, let classes) = self { + return classes + } else if case .multinomial(_, let classes) = self { + return classes + } + + return [] + } + + var data: [[Any]] { + if case .gaussian(let data, _) = self { + return data + } else if case .multinomial(let data, _) = self { + return data + } + + return [] + } + + func calcLikelihood(variables: [Any], input: Any) -> Double? { + + if case .gaussian = self { + + guard let input = input as? Double else { + return nil + } + + guard let mean = variables[0] as? Double else { + return nil + } + + guard let stDev = variables[1] as? Double else { + return nil + } + + let eulerPart = pow(M_E, -1 * pow(input - mean, 2) / (2 * pow(stDev, 2))) + let distribution = eulerPart / sqrt(2 * .pi) / stDev + + return distribution + + } else if case .multinomial = self { + + guard let variables = variables as? [(category: Int, probability: Double)] else { + return nil + } + + guard let input = input as? Double else { + return nil + } + + return variables.first { variable in + return variable.category == Int(input) + }?.probability + + } + + return nil + } + + func train(values: [Any]) -> [Any]? { + + if case .gaussian = self { + + guard let values = values as? [Double] else { + return nil + } + + return [values.mean(), values.standardDeviation()] + + } else if case .multinomial = self { + + guard let values = values as? [Int] else { + return nil + } + + let count = values.count + let categoryProba = values.uniques().map { value -> (Int, Double) in + return (value, Double(values.filter { $0 == value }.count) / Double(count)) + } + return categoryProba + } + + return nil + } +} + class NaiveBayes { - private var data: [[Double]] - private var classes: [Int] - private var variables: [Int: [(feature: Int, mean: Double, stDev: Double)]] + private var variables: [Int: [(feature: Int, variables: [Any])]] + private var type: NBType - init(data: [[Double]], classes: [Int]) { - self.data = data - self.classes = classes - self.variables = [Int: [(feature: Int, mean: Double, stDev: Double)]]() + init(type: NBType) { + self.type = type + self.variables = [Int: [(Int, [Any])]]() } - convenience init(dataAndClasses: [[Double]], rowOfClass: Int) { - let classes = dataAndClasses.map { Int($0[rowOfClass]) } + static func convert(dataAndClasses: [[T]], rowOfClasses: Int) -> (data: [[T]], classes: [Int]) { + let classes = dataAndClasses.map { Int($0[rowOfClasses] as! Double) } //TODO + let data = dataAndClasses.map { row in - return row.enumerated().filter { $0.offset != rowOfClass }.map { $0.element } + return row.enumerated().filter { $0.offset != rowOfClasses }.map { $0.element } } - self.init(data: data, classes: classes) + return (data, classes) } + //TODO remake pliss, i dont like this at all func train() { + var classes = type.classes + for `class` in classes.uniques() { - variables[`class`] = [(feature: Int, mean: Double, stDev: Double)]() + variables[`class`] = [(Int, [Any])]() - for feature in 0.. Int { - let likelihoods = calcLikelihoods(with: input).max { (first, second) -> Bool in + let likelihoods = classifyProba(with: input).max { (first, second) -> Bool in return first.1 < second.1 } @@ -86,8 +180,10 @@ class NaiveBayes { return `class` } - func calcLikelihoods(with input: [Double]) -> [(Int, Double)] { + //TODO fix this doesnt have to be a double + func classifyProba(with input: [Double]) -> [(Int, Double)] { + let classes = type.classes var probaClass = [Int: Double]() let amount = classes.count @@ -96,18 +192,15 @@ class NaiveBayes { probaClass[`class`] = Double(individual) / Double(amount) } - let classesAndFeatures = variables.map { (key, value) -> (Int, [Double]) in - let distributions = value.map { (feature, mean, stDev) -> Double in - let featureValue = input[feature] - let eulerPart = pow(M_E, -1 * pow(featureValue - mean, 2) / (2 * pow(stDev, 2))) - let distribution = eulerPart / sqrt(2 * .pi) / stDev - return distribution + let classesAndFeatures = variables.map { (`class`, value) -> (Int, [Double]) in + let distribution = value.map { (feature, variables) -> Double in + return type.calcLikelihood(variables: variables, input: input[feature]) ?? 0.0 } - return (key, distributions) + return (`class`, distribution) } - let likelihoods = classesAndFeatures.map { (key, probaFeature) in - return (key, probaFeature.reduce(1, *) * (probaClass[key] ?? 1.0)) + let likelihoods = classesAndFeatures.map { (`class`, distribution) in + return (`class`, distribution.reduce(1, *) * (probaClass[`class`] ?? 1.0)) } let sum = likelihoods.map { $0.1 }.reduce(0, +) @@ -119,38 +212,6 @@ class NaiveBayes { } } -let data: [[Double]] = [ - [6, 180, 12], - [5.92, 190, 11], - [5.58, 170, 12], - [5.92, 165, 10], - [5, 100, 6], - [5.5, 150, 8], - [5.42, 130, 7], - [5.75, 150, 9] -] - -let classes = [0, 0, 0, 0, 1, 1, 1, 1] - -let naive = NaiveBayes(data: data, classes: classes) -naive.train() -print(naive.classify(with: [6, 130, 8])) - -let otherData: [[Double]] = [ - [6, 180, 12, 0], - [5.92, 190, 11, 0], - [5.58, 170, 12, 0], - [5.92, 165, 10, 0], - [5, 100, 6, 1], - [5.5, 150, 8, 1], - [5.42, 130, 7, 1], - [5.75, 150, 9, 1] -] - -let otherNaive = NaiveBayes(dataAndClasses: otherData, rowOfClass: 3) -otherNaive.train() -print(otherNaive.calcLikelihoods(with: [6, 130, 8])) - guard let csv = try? String(contentsOfFile: "/Users/ph1ps/Desktop/wine.csv") else { print("file not found") exit(0) @@ -162,6 +223,28 @@ let wineData = rows.map { row -> [Double] in return split.map { Double(String($0))! } } -let wineNaive = NaiveBayes(dataAndClasses: wineData, rowOfClass: 0) +let convertedWine = NaiveBayes.convert(dataAndClasses: wineData, rowOfClasses: 0) +let wineNaive = NaiveBayes(type: .gaussian(data: convertedWine.data, classes: convertedWine.classes)) wineNaive.train() -print(wineNaive.calcLikelihoods(with: [12.85, 1.6, 2.52, 17.8, 95, 2.48, 2.37, 0.26, 1.46, 3.93, 1.09, 3.63, 1015])) +print(wineNaive.classifyProba(with: [12.85, 1.6, 2.52, 17.8, 95, 2.48, 2.37, 0.26, 1.46, 3.93, 1.09, 3.63, 1015])) + +let golfData = [ + [0, 0, 0, 0], + [0, 0, 0, 1], + [1, 0, 0, 0], + [2, 1, 0, 0], + [2, 2, 1, 0], + [2, 2, 1, 1], + [1, 2, 1, 1], + [0, 1, 0, 0], + [0, 2, 1, 0], + [2, 1, 1, 0], + [0, 1, 1, 1], + [1, 1, 0, 1], + [1, 0, 1, 0], + [2, 1, 0, 1] +] +let golfClasses = [0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0] +let golfNaive = NaiveBayes(type: .multinomial(data: golfData, classes: golfClasses)) +golfNaive.train() +print(golfNaive.classifyProba(with: [0, 2, 0, 1])) From 42db9a9d9a823a5bd0f2acf5f629881265ba7a83 Mon Sep 17 00:00:00 2001 From: Taras Nikulin Date: Mon, 17 Apr 2017 12:12:10 +0300 Subject: [PATCH 035/713] Removed extra screenshots --- Dijkstra Algorithm/README.md | 4 ---- .../Screenshots/screenshot1.jpg | Bin 214771 -> 224243 bytes .../Screenshots/screenshot2.jpg | Bin 225916 -> 0 bytes .../Screenshots/screenshot3.jpg | Bin 224243 -> 0 bytes 4 files changed, 4 deletions(-) delete mode 100644 Dijkstra Algorithm/Screenshots/screenshot2.jpg delete mode 100644 Dijkstra Algorithm/Screenshots/screenshot3.jpg diff --git a/Dijkstra Algorithm/README.md b/Dijkstra Algorithm/README.md index 872e9f851..10166a63f 100644 --- a/Dijkstra Algorithm/README.md +++ b/Dijkstra Algorithm/README.md @@ -17,7 +17,3 @@ Click the link: [YouTube](https://youtu.be/PPESI7et0cQ) ## Screenshots - - - - diff --git a/Dijkstra Algorithm/Screenshots/screenshot1.jpg b/Dijkstra Algorithm/Screenshots/screenshot1.jpg index 390bc658224310c7720678cffd68bf1654b5c045..e9f7a1207f315e8f5aa20c72f3264c65edafd3a8 100644 GIT binary patch literal 224243 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 literal 214771 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

@lrF z%#k0h?z`?++%I+3yCSG;7<_kyQ`)>Lmd(IA9czn1PT!k6wFA|p?d$;%9#LEoJ z5l2H{1}8P8#QjV0$U&py4XW$oPV_0d$Y5UMMC)Ve5`nt84xSKk2M#ra_`>5B=_6`0J?suOI&;lKL-7{tzn}h=|+xQS5?KI9Y>O z13^s|G$FhY3r9J|=U#Wi@yJDI%L>pP{vYym?qW)icZ$RL zF4+{{xtW-Al6y&3@{k=PG%l19G~76*5MgvZ)G?S$+751|2ik4ZW~kh+ip*0{fN3d! zZSji_Fay z;zevifo_+hPBsVtzdZ6mwIH_zVON0Iz2X)l)NVV0ai9m#1&StsQP)oWccz|}`p-mY z$TH1nqEn}dJEEPhu)skqzkqF*vihqG4pFY%&s(nZ_czi`P@og2r!b}xz@FfF-BEY- zv-(4Ii8NWEbC1RbZ8E}KVq4ga-X6YX$bGlEN@(kxyGlA)o6pg=4BS3GT^uX;Lmr;V z15+wV#rKsSB33I7LwAFSQNSGCw1h74PXBg1DDjFlkvH&-QOQe-R8ceT#bt)IBitw^ z-gDj&;7;*5(&b+%xLNk(O z(8^(Ojn^~Mx#~NUPtgu=b|a!+NKIN2$f+}@r@Y}8k$L4m2rMh|4gZg~_YP|^UDv*` zAc_SQ=_M*nx{63Aq5}vBh)9P-MWloDo~VdOjevlF5Ebbq^bV2U1f=)gdqN2zg!tXe z-m~`X{m#suwZ8XVe{e(y$ANir=YFpHy3X@=!q~d6b{b@6Lqp+XAdKS(j-ltp1!}Dq z(ub6Lato0mdXcVy`}$t2o5Xp0%}rS|S(>SM+t*c>dx}I&;)1{WP}QKm^&6#l%iu=e zu{GA&S;=KaXZ>P zh$h^fJ!l~<6c71@#@N|m=JYSaRvd_jdO*)pCyjio$Hm~lRK{cTeYNp}o)h|cCDo37 zSB210GJSOP*=!OI-aC}tCUvM+92r233fUe%V+>N5T|2J8P>nID`-o+fH|0hvhLIRo zpI?NY400{@Pn3kp)43vow%GS#e{{*Sx4K9WP=VR39`Fd(TyEfJ*he1P?O~06QE0+C zv4l8R`ndONagPoCoLcG zJpe=fAEZ*ZG*_B<}9@hXuATXh&c6 z?pi4{=P|aGEQhV<$yxoRde~i%TCu7$c@Z`odg8#Qf|2N<@cjZ`se%+(ry2RV9X;&x z&bx6d)kdCG(?xVxR?Qn2lOu2Iqce)3@5t6&H`?e`I=i36*}TKQ`euge4OJm8#}dg( zeJPMC_)IVcma+rdH2j<#_{PAd2%}O^&a^j7qb&L%M8av;SmhV8&?MXNyH$f%Dg31@ z1QT+&K)(4j+G{l?`xsU%H*%hn zE`SdWJsL(*HJ_{w0|vimz$gSJFlMjgrS|R5RL+)B%qTvgr_@=LU_%M}dd{B04ByJyEMDIHiDm*X^2)8DnoaIFypRD)7!%qarQ;RR#CONoYJf$wjFd3(g)n799B@CvMbKdDrExggi=Say_7L1QqFl?~24y%YK9IEfYK zh;}>oHfbM7@p0VGAKyrOAn&%<_=mj$8XEj%^#sO9V1y3CETb0<6HcO9a77=ha@T;< zIRM&MIv)7I7DqlVUD-lWVD5iBSwhCpEv7BnG9r=`Fvp@w-;Y})5l1H8l*D+lJ^WL{ z^*^=H|HlFAAFi0*rT;1{s5XZ{{|5T=--wdIS3>5AXz%gSO{C)C1A$5{8d?{xg)N__ z1XH_9b>Ocq1KVc<`Qg6iKQX8}*oI5SS&5#*M%}C)22n=Lv*B_jGpp_033V?`BCp@= z(;ws8%RUahV@%AHwd#(P%1AcXjs0kBfbV6nA`BVHG-vU$!I;b*ubtMx)R{5H$KX#J z3|zsS+W+iK7XsrZx{1W$*o=#Q$lkNNWG_EM#Y%;A53J{=Z47nYYHDg%&Txl~!wYcj z5!O=~sp~GOwineFCr!fCoO54_eVKS{uyO0#bk3sgA`i6;Mk7gbueh`vXaIhpX4oCZ z(@l%6GT^xgL46b|M2B0M-kV8WOFNb&U~bPS>#x+dGnDYR9o2GVx|_7aKX37OINy z-`u&Gq4!Hc3AWdEW%cPbH9=dwqaj~+n&tyrvH?@IFwU45#@C=bbkk{@%Yx!!;6i5& z@;D1*#pSKSP%(o8-op91n=W3BB~Hx`ca?mao1sZ=o^Jj(kS=i7Nk`21A zXaUogQ>wulS}=hbciYKdwtUQAJ9$9GT!{aJR{DR-H~i6G{L-gNZ<%E;;c4*(m8C|o4*y>a$A zELU_Ebv5`#*5=)Dl>Mh~7|1eng&s~X-`}l#%j68yQWx{BRL`w+o>88r-}}yUaZyGS z=_5_3i&b*hcJ6x}BGPWFi{0%maF=gO{+5&C?P9v5GD8thQuJhIPY=kx$r$``K=hPv<-ZLiGE(G;F(`Yv$};3mMHN*p1&I z^?%Z1nW8(gKw4XTwI8(roErL#+LW#>XvbK|g>t1`7kL-$7K|ey2C2?;fJ?TBJt(zq1M?E(+_ZevYc`^K0BeZh54-x zN>0Mr?e^EF7$#?M=dt+fAmOK;hFno zNl9SCRoW`e18J60V<(ydh8`mzBxD=Ig>HoL^v_tsPw9W?PbS+x-sYQuH$n|#J0{yx z(!Ps&YazbRrwamI#oUAs)#VEFcvVdK>*U$FE!23=G-)~Ey(v;I>~lIZ*`Qv`B~Muj)!H7?azP z6Uuxf-BHn%^zH5Xo^FtQu($JslsQi}@Q!Lc^3_}Fhx2Hj34hfGw+KMbJp+~PcLOB7 zSCa29U-?G$=+FwaeBgFYiNHfW;VWNVx)P5IDjZ;*m;M%&QZ}MtjHM(WtmoGlh3`(k zxP4FS=OTUs4p4tYRpFq!c3mHZJLh~bPmeym@&d9#4h6`zW#NaIWqo0MQ|hdn)n)1K z(F)9k&vt+K^a%IfrA)hmv5xnc$om`@7;kt5q^=z4fxz}w4COkTt(xL0`v|Frq6y}2CVRG(I39w`H)~kcn@Ih3f#+`bwzznB4&HSGh5vJ?_P2KenmBK*qD|-H z*;I2UdeDi7p$URnxVDZVvRsOWhRVxBq|_m#*24;GTVQBeIycQ@x(Qt$JiRX{Hd)z$ zo^(%aM|5z9QObb?*a~O5_Dmgl19{;mRnvsw6L_pl%O6TbHjp5+NHZsBuPYxpE(mLp}v8*=hD-;bj1SXGqkMzsr%G_ zUwQFQoGT9hx%2hkh&91uPXGnV+3hIG`Vdm(;enZj$Tg2|FXr2K+keI|F$dJWwU~8; z|1r_&l%;>NS#VIExW<_beqXGQd2OX_s+peQ;-bzEP8Q5q)0P1dlSpJxfdb{tUK&6 ztHB-cOqor^eMqilW=-ae2MeZ5o)au_-$~5gF>s1pc#nC7eTv$ZMh`(K*j4Nnzo6ul ziJ{K>@Ex1JAoT~7Y}M3Rmht3qk4>f;^x#hY(E6%5{?50XXhvDJr11sas15bZ;gP)Y zaepJn^OLo&s@+~lL7nwhpS?`(NVG6?MLBtiB#MU=T$SsYckV8@d!hBxyvU55>5}zk z?Supwz0(NYqZtJMk#g02p3MA_U*;wGkwWmXFy^I@0<_sKwa-c1^e?tz%GQhhHvM%s z>5eMNug^D=Gup`Xll(5Ng_Y$GimtNfLN_}7aVUF362Fel?bL7VR5G+XL^b|!q+x0$ z^!wKJk6hTo=qAG}U#hltKrir5xC8&n&jn8!;(5b9DVN{>c;a|V1NKJ97NloF*Twqw zN8`DbfR7+At8Hk;}}5WU|tr$iZv?Yj9tF5QfZsg;xj z+zA;UCUlmIG)--m=siKFGyory+Vx-S*%L*kk^S5?#j*l+o;!5!CXDm+Ot`1@bOm;o z@1Id~3$E}UfGikVLtJh{ColJ0 zUWe=`_`QCf*;6#?K}ET+L8~5%2CD?dwBODyD|1S06tHb74VnPk2IiJQR__uPV~l2l zwRXFWprG2#WSVLHqA{xe!cxWYK>I=D!0F1y90~(j4CepUUGH}1)jr+UIn*vFF~lh5 zDU*Rygn<=h-1N%y=n`dp^V&Q{d(t?g16i^O7X;YXpHzMHDT7$k577_}6D+4-a+f@- zMUl+Y9u`azN8Bt5y5<`}jM%~`eJM-~(|RzUIWjwDNMU0-b(DS%T|sX8^y;KV6q`lg zmHsb)@cM%`3P?p&gwG8DKg?g_B|$;*-^8N={1b2Hn2JjjxE~zOOnIlUBw%=;nY!U_ z@?8Q135$2S*s$7)EKH!Z_PZ%v1UZnvLWpA;+8OqXXsR7&(^Ryti|YL z&-jHz&I!Ur0#~8?T(l1ow_{|>rOm4@JuxH6{s_l`jG&_wAuQpd8Rle`e>jWlDIKC~ z&}x8GS$n9>6~+@{7T}xs;-T+5g#|_Vsu;2Ef4MIYPRs)1MnUC*L3g?=MxpDU6g})~ zf_w?KO3fwL%H*MAM!{Rr~LTm^gg{_?4c zaUl1_25I(E{z*;8p@T|Pe`w4v#hUP@iy}My-l6u=HVt{M$Rcy8D|l*B+`0Mv!^jvM zdX-`C>VUTiPI&x9g^u__rwH#G*OG3-8}awfaNqZCnx%SrikuSqS}%sIMWmhpP73Hr zVZ>Qt_y%QIxqvY+Z%F05F*?_FW1~y)vQvTGuKWi~ci;?JCE5M4P;$?9+}*(^EF;JI zO$QEN3->(L-(*^1S?x5rfZ}U_>f=v_-@1rHAcv25yNK}jb?i;j0>mOZGuUJaU=tb>ofQ_>>>?s_bW7npQ6WbJK& z&W7kU{}S-@=&o9P`zUb>lts13)7f?`BHJsqbXv!uGCmGJ5QU8BsncH7EyCNvER5Hx zpC=eW_AEZ7WiP7}Lnd2SxYzm|IlEBN&~*{z`9Q+;@4V-=HJP->bh}iCJ=a_xTWUF0 z8dwi5xDp6B!`o4Poo~McKh{yAVh~rbcd~V3j_rFGE7lq2OZWZZHi=!>tTlH_pzjCR zx<3D}643umBKqs|51Ax%`<@rpkNhf)d_gm1c{9A6-gP7)e_L2jqf5B0JyH5we16X! zl@#A1%r?_o*<+T{fh#OGzBhmP_E*ql%!$|Rq39T?5pu+9`q+nyBCmRupndqx3Ub0%acjYdvahp7nK`)9y!Fp2Kw}` zH_8Uw+FnJWTL`=I{zq!s6AEDQG5v>+H_fmb;wJfmy{U$ceL$wx=sP;hLug80xtHi$ z1Y2pogxGi6ubP$guZ*B86YM{!K28?{0xU_nDTXWs{Xo+DGBh|eP$RrD3A!Z=7q09J z)H5tjUSGPvkftcwu`UhLjx;C0`CQL3=l@U7S(ol@!AZ??maAqC8zpm6*IFbn-95V7 z4DnXi(r8X(B;T9(S_*3nCaS^9aebf081Qt>%r?Kw;9hUd?}ZEyD6lqTw_sU8y0r76Sut0!|_@$qjTi?2ULtCR&s_s%^2~##hgbC5~fWzRD8fQS{4P zXTo9k3wH^USK7Lw^AbiO3!ae|wBSmfm;Tkx15Dfle4fSw@3(f^1ybandO^1Y2!?pf zTX2kFrG#aK-ke60rY5nVtKc3qn#hW6y@G9|oT&b=NG;MP24=sQ%YR_EJkqd^?UEN5 z2B0We0wT=*AaWdJgxw`($f7qpkc*5h1VfyouunyKJN$F?%RT$O{|C{NUx20YH{)tX zuQE86qE7sz8ohC7z5pD)kv}{Coi}>FaXAWxZx5Xz?saK87LR>hE1VA6Sjo^mId>`4 z-Wm%sXhZTEq#bK&ZvR01=YqrdOew)TzhZ29O>*OYTr@mJ$GG` z#b_yq$c2{&mkm_xZJGN8`{6|0pHwsU`h!N6ePQ}TyiJcy(xGWPa_WGuMq;k#4j?jaag;YbXIU!XqBX1tHGd;bDvHViu|L*n~ zqGbt`&t*p}Wa50^$B#&^_8a2?Wej8Ice(SNMnV>MF`${RYZ&q-5fb;k8)f!xnRwtihng#BnHgwWi#cnW){QVmhQcW(CqA;u39DDY(i z?8?z2>;rG@-basgn0%=)S{*+xD^cI0M4?_&j=i>Aif|zIHN@l9?tOT>t!60<|7^C~ z4=@cgR*QJ*lN-Gikex^@hd+Bw{3_UW6A~587D;0f>DkVECG*hH)0=eZ3CgpEkt^M4 zEZG+2iAC4dO~9?_k0ZVg7WH3!CFcw9yIs;zQjw(+4C*JlC0fLN3aRRMmfV<@JwoYr zhNKa)8Ej?ErW?+i6b}^4NgbiSk1|`DAHlB)Hq@Kn53Y=40LbrcpECj_11YW4-^rn9 z7!j4CA7Pz{8P4`R23e{mg&N_e$4ZCoX^DyT-NHKocC16=>7SWxka_V;OCF^D&ld7@ zodr~!W1=^wE4qMx!i)@+Ub0S*GO@Wc*U+jtYvjH6E+;=N%Y4I#c?jyil|>5?)Oc}; z>(qR-eFjn^G9Re#x{{a`m1vvRf-mTVgOg3c|L*9^Y*RDn+ImYKRh_-aaf@#bs>qK1 zrWXf-e>go5&6BOXB?nMN4aD0DbR8UtN`M3X+g?9V zcg5B5xdGz7!gg3G6bETZg3$8r(Tl+`L!_4lyU5#~6iKq+5Ea!Ut=p4J+B><|oucCk zE6)!=^Am-wBzWC*BQe(UN8ek<_P)4Thg( z-qvoS=yAZ45i+{l7Yj`jwFh$|RU3E(~akL7Q}xHWrxLSg4G|SLiBerg%a$8gopUGeXkgwTWj9e+rT_5C@-vfX=gKQ z@C6Z^a=Fs@jJfhztn2nt!t#vEkGh(an${bCm;4Bp|6hBUJOJ;Cdng=fYk4bczv{%v z>UW~|Oo{&Xu!P9P3wpc~G^Z3LG?F`To7XW);#{p$QO>d!|RFwSDrrk{FLm8M9Q)!%5)e| z*@YY0#oX_y?eul*Mk8VKH(3iJ2s#q*Kxr$`WbZEdpRI$x^SxjzMZm}-RxaxY%hk4G zoC~yvcAIv(!poL`rX726z4PchQHpYg9 zk1-d6(b=8ozC!CjqK^{+MLYD$@v$finK_Jf&LqqEk-(nnS+p~j%aDHVwb?p|a=j?m4{ew<$%zT`U0 zu4;h##DE9b8w9rnd?-ycz$H#yti!gb(|APr#KnZe{*S}GrYdCDCH3`r7(C>nm!3~M zBs5!O53U$S*BeKp?&VW^97>Wy9-@dhxNFwuxtnBD71JlRw~b7M#56#qr@6wV5)Ga_ zTA04{e&(##EB@`>HsehO>D&x{YqnvhgX(i!1#o{5X&bi~@bc$&3OrVI_&pCITa zyeJI4{k7%|z?@T-8Z7sYy{C3h$?V7wV84nXqG92~3g=de=B1Lv*-91Ei?~E=qZK;v0 z=)PMdeP1;MGNooOvOeQ5wOlfEmWbYVa{I=~5ff9PoiV#+r(#j;QtRThHd+6X4+4lA;Q)B?u?j5| zW#dV=9k9!Z#4iC?LulJWm?w0Dci^o}4=6>{Kq<0EHwE#R>J|x^IY|~6Zh(#;&^Xq7 zYy5RWi-PSGhj^kx&!;QnJGCH}UUD86RCM_aU7O|3=S*+iNcw=43wol-#E#n7WX6;A zp?ApVDXaO59W*%JvgZmc?7p!2Q;O0-u^%IV%|Sp(74OCfwA(@8Ui{boDnUV=zOAST2TBIp+VOQE^A zxACRKUV>3VP&N^xj3b@%5LwKvQ`wXPIld!P747Oq4V+S8Sz9IlEtHq6=q$}t>!s$( z6uX7CE#Y&x2V9$u9`=oZ&=bS%Q1iPGH-_qMV_iYR^>9c_F(PxGpkqb0k90L657t^h z=(c@OGK%g6Nmr z)XgHF-Uvqaivuj<;cCqJWS?WZS36xGQR5Q1^+Mi8v&p6C=-v2s%yb8xrA#8dPxfQ- zS@H-l7eEqxGW_l7iT(BWp8OD2&nlhv{7GfNc7(D^)o=FITORPCi&PRN^693cBRle( z$(tr+|G=p+K(rh5C~_Ki386o!Bmj4bwO3xsz!g5{p%jN}QsEl{AJYEw#X_l?e51n= zyL4HeO7UMUWADLq<89uF`Xokd%V|zoD+O*{^)R7j?GCNnL3(s5pVUCtyaH|ETMNIf zpX)BRbZY$-CBvL) zUaZczOqbfT0Q!g~dXD=f3|}zjOP@VUWylloc;}){?2}cyD)|Au~YehUF}R6u@+eJ-*x(kkq>L zW^U+Y6L(=Lm`uFNO!<7QVx?77|E-{miWT~q)05{*Usn3Qe@?V!^jv-I=@(%Jf1|w< zR-U%QkO5=5Yy~;Jy?#@!+tSTEC7r}M++UnZc35?Fi|Qxjju}dZvnb6z9?>;`Jz7f9 zNH4s*hSiyA1}4;X7E7MeXW+fmU;gdA{M(Nmy{lD&NiaiGUW=y++h!Ma{TRevy*Gwy zshH?*VEiOxwpxep{iI6&0Np2mcXQCX*Set!0#aSD^@dduKTZ=N+b#D%RPUg5{bY0T z>tNW@@|roLF#x4SEPevp{TfI0Z=I04cc~(NJm{5E(iGGzjou5BL8z+Vn|(SEmsbi} zle7xqKDx7IXu+RUoFc$a=^;_`7XKJ2x|5^`1de*Zefq2d#uk$Ekb;bp%DE4x4JN{Nyz_7{leGztJ5-{E$CcPMpQ}wN+?k6I(oHUmL4ZOp-o0=6t2iJna36 zJyiLY13VX9VE#sgY>I<6BtW`5lgi7wFpL*qS(p530LBI@iG6J1+M%}}=Pma5B&uNH ziHZE2d7I{JEQMdnU@*q7|nn~hjb|YcEOJo}? zzr;E{*4u0;T}efif-IwvuWqrW7@PA}IVMTAvS^|)!uy7LdmYja8U^-!{gUY8lv)Vw zHtIEwFIYIKN7goTD5yN%VgB7{)=F!|-H>uWU9Q=N;YgUimcs`c{Qc$DivE%&x~pF2~1EMq=ySP37J)WsoUa+3`$!}TcS3H67B zZ&Xe&wVzZ+^SZLvy~XhKQ~UvmIe3Y;_U47pCZz2iwxI4c!m5;Yv#i>B+^kf`j7EJ% zWkV}Y%}VWokUMlHD2Whne2)LUW~fI8s^b2TNov;(0xx0ZQRLEF_v!uQ1t?T?wqg3x z?T8Gy=xtMh-bl&PyK`inbQAY-!=M_H*t0Q-{b^L$cj;UpK!j=&^)fA`O|nB$>QfA| zx!$_0HI_r1jK^Pji&R0n$-|Kl+fu3~WQoj0lG_f6b~U5D<+)RNT|aS_C=x_&_vT@- z)=jDVNkx4CLnpNV`0^L6ko10C*XZ0`iFaQYkbXT^$sq<`-hYYBr`H?VTveMa_QyC9 zKCgWIN!1|+W(Zm6AAxgpuVrl~H{iFhn^Umc$A)(kXQ76KK*7eWcavXtzm&q=7k^S6 z!AbGGNFMFV-}r$~t-54Q`sLMlou}p2$e{ofR!W=rq+D2{ag4PmCwY1$4>I||2Fy82 z;eBPhj|1JmYkz49>D50>H(?#pQw4FizTe7ytm_W>etaTjR|?*w3)N}VqHrjR4;ex$ z5y^;_3V9ZI&&qVT)O{6t8l{DYGmtv%<%Xv?x&UWAF{0B0A?ekTC#I{R4=Iw#m=Iah zPv;iZB*(_am;-NorTw{u_}<4{KmOE4_CMCTha%KVs$Xy z5)3eV>fp8(B=hWyR5H_r?Kc224|4lnF;!pSE2ieZL7d7oPim;^!`wPh8H%b z`_5@vBrVwY%iCZ4)uQ{7J~}oyaNADw*7!G>WHn# z<3UhfNv=l-E$#Nx1F(;7T@AXS<9@cL9tbtt@@W?TmH>_=LQ}iL^7Eg_>YzJ6Ad8%$ z*nb5iPBP!MG{_oV3>GlFT|AX*Lr!W8^GtwIx&b@=s)%sb`Xy_x)IR-> zk3hC3krjt$5%Q?aW;Kr37$hYICZB*O#LXi6??@=)k40wJ&MkKPU-WKrcOhZ67uSu% zXUZCDV}$1@ow&?Z`|Ip)gU7f=#kvlJ3QaZ&QjWj>Z!gFX| zUfu&B#)viX4)=)KzACQnp)O>&PII8f!uW(2PaY#0 zO6ijD(Rs>XbH{@9U`BPb&rsx|Yb0gUm-=h^osLcLN&Fr7OpvM0(E|qQL6;OoLmv1u z6dE^%aBozIrWR*mmZn|Dp2~L zRAm-NIxK+f=;yzODRM5-L^Y>L_8dHNoDusdOH>n|fSK0x8@mpo>i0y?-+kI6Tp$y6 zx*&AiBiKx%0XoL+rMDC*-pPH3J&;BJ(W~pnv)K_RhwntnfZ-7C)U^v9(@$4A+OU4; zquz8l-|F*3wwi0IQ9B4zlTp>Z?6u_gkLRMaUKx{uO^XC&CMCW>k9l+9l#*~isqV!t z>vt7eW`hl0RYA(Z>D}Us^zy3?!A|46RV#S-E3!PuOHVs`?8N7gk2W^^k0hI7mC&Hp@@4{Eep1qE5b5&llGB% zo(XGArzS8GzY?V9|H2FK+h<1cMyFBDW_vYPFyk{hD)w+o30r*@&P)Bm70_fAB=q~Z z>y5QFPdYpSBZIr?=aez7GPQ5L6S{KmQhBjDaSH}Y^gf2DFUwOB0gi6G(dNX*Vn3-q z%R>)sVV(zGnFzS(cUzg6HeC|X(it{CxNHwm#^AO7wR3yqGGuLnEp)sio-AlDF%k|= zIA7&1{>eV{hh5ySW~XR#n&b|4aw&DSYI(Mvjjkb~>yT;x9rF!#NS)p}2VB2)_l$%* zM^B*S0`rGq3P}U|4g-*BnHnl@($^-|K@bKfLW~ z9E`+5AUnOz()M+$XO>SO!VRR>l(xwI=&s7krK@T+Rgm7i{wS3Sph-QA+RYXt_KOk_ zBGEWO6W1tg=p0-xi*B-=qDgL36IRpgG2Ijr;VOX>m~YB|a?U86al@V@$H;enwxT-~ z)Dj@=yR!TWDv(4N58z~*n&Uzq-r;Iz-X1A&Aa?F!45L283VSr_fQ$jS(MMwqy@NcA3Z6 zc`YX$hUiw@$dKfay2;(ujF4jtY;DYZFp8*8 zp?~G5b9~1x+s7ZGx_*Q1@WK%1U_7GVS!$D;{RpLH3zD{z4Z%!ZGkna|3YkNGxk{>6 zEqkDAGQJSXC=6-flnk?T@lcNpkkYvb$fwt~p}OSd?i~hFB)?Q z%-NxVE7dbwX=+1iV}OUg>v}WMHy8pumyf|lpXuWFr=uAVNpq7Bc4Oy3<~5A2;|039 zE?XYg(-B%Q`wa5E&dhwq*bpDl)LpKQo?!Ghgm@c>kgdiev(e9fQt7`(^$zdq1sTbI zNorPIpa`Aa7XpNEXuQWI^PFA z7#((GtI{qwJ$yq!qZ!H-T_-lY<(S%-$4tgD$3oA16jy^yf@_uh_YvdItYU8-2!(xA zsbjq8Yx%byNHL@+DyllfI)s;900$RY!=37}%eacwRHE+eT(Bb;NpsRXsboh~jV?PW z5K(5XH613JIU`42k$0c&%}0{mcQESNcj{s6KelD~*D=!@vwkN%nrq34Sj;q0@1?d- z+MCLI?3rcts~amG8#OKHN=0(QIF6PgfR9gpc{r(PI4CXJ@ru;_l*IEgo}T@FRtWCC zLd%n5qcZ#yD%Ve>D^pc`_~=!q#Kp1eJ>Jx~{%X>Aor#g6jLVU)w>Zao8y|Y;zr+q4 zmN6G!giu#O-S14BR3+Lc8JR4Utp!fW-BIazvLPz0zcm&kr9I$_YN(QtXfzeXSaMIF z8J`CSTRc8;`Jr)}0Vkfl`}XjZtI{^jvGNW&vO;e`>3P8&iKx-zrqM?RQ5)j(nJs}P zO*&fPnzyLE^)e|#o-DnE7V;1xeH}uobL#}F;J%(pp@A)M01`t68#XFQXLjp7Vr=l& zqHl6k%CDpEM4uK&8;jZFd5pA9GgS6^Hgz|NkdDT-+FHb(Q@>mG7xZNfD;c%oLt|*K{5}r)Va2)x13wYy=V_HC;oM$!kW;Vx z2uSKb9f%D7n?Cxlz6UNN!f>XL=ru~ZE@7JjOFLtSBJuY*@w*w zr9kSB>2Ps!u3s~=)Zcl=O)1>Xn1&xm3?)$E5;CTt=g1CSSzDu=V`?!Yiw@7jvhPAl zW)fcLRU#V31c+JFn3qFt!Brq*F<-Y&gg0U6&V}d2164Xf{H&=gW{#50N7<(tcHda8 zrq}n!>+pCPz;Wtavv>_Bjju__3evh}pSYZG?SOHGq*P5r!M^ex*f3D!awO+1r&v8w zbVW=9n*t8nv4v@dhWw;rt`c%joEAo{4DUfrj1~>MhEMLB8pJc2`R6c<<^cR7d|AKMl&;4TmKCX-umigxRDJwoo%(>k@NUZ|u6#sVA z9dd?ILtAl8*~_0)kLcR`0H&T9mr2t*10~`y$5P0_i4>aMkLLkC1cpu<1!s-FiS2{Q zO#9f)8}@MF-UMt$J?G{6{J4FDBnqTi%X&J~s0*hL*RBw<0MY!oCV}ZQFc^?nQzk@D z#`FGIDqg0#=RbJOKgcLQ?9(eks47zTcqXXj7L`~_?pL;D>d5T^p zH>M14C|`%VIrV_Dtk4!%`3usN&fR~Nr|f+3OE@?g>H7WQ`TkGqgx{ncIvjVjbGowH z+CNKIGp{vbayV273}Uf?a}jy;mV$ZPPnJ0^bva+DXj6I~tfWIDGOkFe6l^PmK&*y( z{}EDG>h1ZmQ@M0sU@QbT(JD&t59G6s`M7rN4Ikfr@e;y!Q+%RBGXB}*E0n|zx(54w zBI>%fcYzL>#NL;ZYLy^gz9%1+eEFA@7=wo(GxDx7M4_Xvh^EGM?;_v*`hM-#-;oMU zP}Cx<(%#nIk`^#ka_T-(-=~7SNL%8^&GHw^YR^aPibndemx+#LWXL`=B;Um~9UcwY zFLS2atvyn7h8@B1*%YsMjvV4x{h!m|g@bAEvd-;2weCXhjrG;U5{}|jZXY@=qAq$+ zd=Xi$Yu#dqAs!)pog_<<6Os{eQz10EHG{B*cI3-YpsB1fI!a-{!YtFguXftyk-YN^ z0Pv%aZw54r8Z&72PEIlTOLeV*k#MI@@hM~}pC<7%WJt0M-k9hzCQV`U?-QsczQd;M za&{}aZx`2x=~w@le;#~7^SKXnF( zge+L?9E|X}0{pYyygr~}yJa2C5R$0iq!SL@>@~p6E_W=a(Ej{F>=meena(?8tN5>V zmNGPf+QWaC3>slV?*c=)Bnb()9AiHLJ!hSl zH6AEBNMrJ1-C+g#5_t-6yoH4_S1vIU?teXpnpC8Psurq04b7OV?{V4~f;v*abnGj@ z%;rf|a@BaA2`bE7^#w)hSF{Y}=oa~!3C{(+LZ#RIjlc5GZ1@}g6Hfmx4F?6^<7+he zUKjpSWE)<7@OO>+)Zc+J$s@Eg9E&;e$Exk(n$4_O+Z!w!F6mY=;(gu}dpS6YpEy4<+9((m`q1s70%VV{#!k^;8Uo>jh9W)GJ>i(#S8JM!q=Ey-25q&MS!8kqyfHCYGl z>rzQ;ep6U#E(4y@{8)JL9Zv6x z3`Ypq0RDM)!qW3A9QJ6=(@wl7oK{{r{5%+rW*lnwpjx2T1rYThXO%-XP3j% zHC~*j%|~y)EP|}H#mv&EKMp4z2M7+mDz`sBr2V$}{_!KH+_dN!6N~=D`UJ@LXE(>M zV{i#8G&`Djy2aS_3b82}__@WYB_ZzSmqI?h*lz@AUm35C%asY>r=)qOfH~WLqkR3a zH9yAUQ(jw3PJeqFSmR2-)(^1AXXf~jm@^ZA$j z8zF`rMmYeVX4{F?8r65vUK7-)3XH$oE}#Yc^`_jtKft}w^zV*duaOmO32kR61E->2 z-SfE}4mF%YFdFa1^3>Afx={e8faJ72x}_;AtS9`>2Bk6V@X*m5=0!bGXNM*dI_g=;La zviQv^Uuns?v}f0plG>?eCPK#wCmlFhU7m*rGmHgKeovF?vf`WNTZN~Olg)`}P{0jJ z)Y4zCPE(Cdc{>Zlm}%Xs!;XoZF^*p+c4(o2*jqO$uh%Me3*Yb&VJOPa4Y>G*d-8!~ zkH8fI)gky9O5NCresML(c|<2g{&h+~6}NH0k4)dWqHa^0J7?RE(^!!Fw8ttVjQ2lH zb|Nj*nI`ygz2psRMx_-i3+w`Z+M}Ae`H1=V!D%iWd6PxGC}*qiKA;xC7dPZx3yk(h z5FJ|`@z7@ugz;gzX+j#}vwdQC3q#XxMf_W7(%HAxKppt%_3*Izo)9tC;M=&pJevEL z;IND3LCmBrvULlB&v*%&SG;=13%|B}uMA7{nI68IxgC&ozok#lVfA5HqH%mlh{JN! zk&j2dg9}n@yJrJ;_nM&jCTKmXeXj~zRMsypQ4}?H(o5g?s`0(ly7lVC=0i#<(_JaI zo$4Ocf$(jm^)GpPurdxU-^jZUjVy_fd}v z^E{IK3jG)Yqa%O+Nwo%{j66qv*V`{A#e*&8PtwbNf1Ma&GOdcrM9?CMuFu0lXQ?A@DFUymev6hT~xfW?5ftQirKGv z=v}U8hPN}is5*iWQB$=H56c$~Ec{${0Xdqsms$Ji$X*%=-B6jFF=S{oFsx{9^-A(H zK(gg9Ji!Qk6OxnHUFXa28PvCd=7*GRAB+#^KmFB_^^c!>_wG|Z`=Msu7mS}1rcUa| zdc`na`4ze2qmq3DP7Fy}Ov)&d`ogtZSs?b`RPy~>t0vU;9@+k8KA zX*^W^P3j`$XrIgQ%QW|*#fG(CW0)yRbdO1TUoEQGyKXQSS>mW2uXag@jBD>7qqYO` zCjnh=;-C}K#gc*YRERx!H$!IES!`=nRI|&rz9{~1H3W#Y)-)d=3O|E$$8B1EC4r{( z;0L;(q}Mt1+a_21e-&4g#^xP4(!aSR&czn!8j@nQ@U~YXW zy(Y;j9+_S(CQxt*8eoif0vj8vyZ8DJQ8Kad(h=K^UI;&_dkO@Ha$HuRdArr+WjFN1 zbiMr{g&AX(IvdFUqyGAdb7dJ+3gpus$N|TcY{m>!6j1l@^%x`lc(E58NcN}-@zhE6 z#=)o1+N%Hpk8;Fjxn65#Z{iN9O>{PsqQNsXEWzo>;;Cj)BSTHdK>7mYxGZMT*k&T0`C1aXrQ)4_-E%n)0VMka(wH;~Z<&^j_uT(3m*wuQRki^}#)Au(V+F(rjAb61 zkA@`1mHm9?5#+c^Bs5aHM;3`$7CUKVpsoJqPHa zP*$t3@If+pU#|X&YGtqFt`%iJ2sZXB zN{>6Jx=IMo9po@&)P2;A@oHQxtcK1m%W3VYK)Ys8;NpQ(iaDG#RBQYQvS}U?lMnM^(Z)eO6q9L{BF0u*6 zXUj`h(p9p%m54_2g-+CK`J16V1{_U;SIOGn%h1?dx@nqoYOxO`$8W+>kltV&D{|0XRsfU9-^NFO?@`Aq!^msdQds1j%BfEo{0j;h z7aqLV)_r0{;$#BnIl4C_g1qHcM*c2lV+@;0!mmaZ>+TfcM~6zn`EQv${_+12_ugSm zt!w%}Zd6oMq>2he1w=ZCNGFN{3IZb1A(18^0@7PZ6a=J;2q-Pmq!Z~#NUfEd*+;(efI1#zq!u$4=zFyt_xPyde`$l&wYPxe_hG&OQ1@N)~Yc{+feAK z65D2-@@C8S8PhP^IAIfQA!r3JnoYy(@c|>o?D{=N(d=f?@jLSr{9s4&6L`G`|F;)Nxz21Qev*Bfl6=f;!)JweWL==k*r?r zoAH=7Ag);m8KH|M4iH=bv-N5Y5K`cWo?2{ZqaQ_D{U@sE9gnTRRp-lAW_}Fk{k2j9 zpAi|D5z>_*`qe*F6X>1I+FP+JyOH=s7~IXm%}O-Ji}og8S~eXd+!qCtnsgi`O)8fy zQURuy>&;J^00b8b*KG!|S63O(o6jDbIfJ-ZF_|)>2jl43L=77o%6}y@=}&#$u)!LU$E7!8#dl}QsyVKa zEHoh-Um>mW1fY!J=0`n8S|3D>z%v(IOa1~_(m7d_D1_wby8H5`X{aBNd4(UAJplJJxv{KGTbgV5M$BVARoYcNiOCNs*(At>PP*BV3TP1Z>}y^{o}L>%Re2>o6&H+i6Sp0wH!<3na{{>Uc_UYfK*y;{ zblsYZEg^cVYj}AIG)ORrzZg)GQyy0af{A*T_TBey$L_y*t#9ryP}IXZ11?sUk^~RS zqO#YEkow!#k%`Q^y6S*s?a){G(KD{c1UjdLj}*D^nculGlt|u^;WAT}bKxpgwwOP= z6<44Pq%gta+iwUho2-SfQh~z62k%!RvYPLhiltUi9P4)#pL02WXic{=*NVSMa^Fon zwtmKK^fYNerL@ERn!6!ROd5P*kG1Bo`CgxfCSuO`NUmxX^?+%Z%%TN1-M3QTs1ZA= zbVrHskJUZhAHdVCod{}yl3}{_tpXa=Nl~scOQ?C5!CnsIl57PZyB zXlpy}8)=`nKEULgq_yf!YR#K8k%cu-P~x(EJxh2b;E3ZzIgTbs^7lY)#7 zcj;AnSBfs9%ukB>tiwjM8d#a{H6TQ@hyB}leRKyaHrlKo%htY2Z<<+<;{PoEy55@Y z#0U8wPA0?wCU$}xU}FEIIV`pAeZfsMIMq!mzh^xCXA#QBrdeDyUI*n@;KaPGnCcA5k(>bxXl$U}8av(v$j=<{Cr? ztgzvNJHm{Owp_G?t(YJiMZ6eQ=HuvV%4nD3rp0}NR^X=myC=P;p-l`c?NidwmjwkO z8)>m--3sv^^5-2zc#}uZBn-_br`%$cUFywvtd6z$}0KJn8xPcS*aO z9zbniii50z{%Wy)Ne9g5>jk>Dzy$v_Z{OBg&m;M^<;-m*qrtnJy-ZXYp~P)&Z=_xO zyyuFQZ z(@A2!z1&1>5( zJ%PYsJOdr3JF$OG>E^@QWTWC|{43?Sd3yF?L3v;h^XG2jf8ur87eu;euHn|MTeu~C z)ucH^Jt){|)IX%yg@)=AQO_-n?Txs-%n}8e)b>+F6vIi!wss>7Qj@O*T7t;7<9Sz( zY#**R(NjMyYIkEztFnK$Ad}UE$q}gd9&rUt_;S}X&NMzzJ8ZmEuoJ)~>GY@7H*_7(=(-}j$t zY#bed)BmKo$R={nyyPc6bIv7VoAGrhuhhzAVlAO!1|E3Q7c zap*TTz`+Q@uG%#)3d;-S}1Fq09mM>&7IyuilRE708^=**1byC>IH3 z_IN6PvsPD~U?O_Yg{(e`U&qkX!aR*akD3lc13(;x-R|7e9|;+v77CTn9~+gx()V&h z>F*l#|6tx$9W+sLyl}pJ{&RSe#L83L&e_d{F-2ZuFDkp26DWPw8h_HDoA)o4D0JuS z=Wdw(Ua2&ZP;-X6yfn!n->d=_eeu(-SerqC_2+V^9icHv#HH*4gtEsA&2a6RGs{`; z3foKn94M@7`-+!WrP8&jPp(Ek_(Tiub zSEUo#Detk>|4UTDZ-3?g|Hm`Me;px8es#jd0{2+K`o^w!LG+i^uIavEm`Qy+!*g z-;MX0`i~1%L~d}+zQ>&VvE)$gHE~q3P20)Lp-zA+h$GKpr~D@k3_YQsve;O;1mox! zq%g6yeA-Kote)-nX3*JWT^x9nWS8F8klA0*m%`4KzRfq3tbyqIN#lTV+;O7=`L^oh zs2S{NH+2E);Dp#6(mUGTakQ3;nA0vczyG-ueU=K z>%5~DeDHY)qi)F)a&_CCwql{7{Ra%pg+Jaouji)J^xphE^8l7h9qfq7s_6&ZXqgt^7_=Q2FkxicG zyNm~;+%ZwR%*qJmJ>ary^j-;{1o9)#OknWUOQr#Yi||Z4ousu9VkHi8Aw*Dg!SLHh?RJyiUOPHt_&hJxcW}HCSfxrP${j|b^5u2 z=HwR!m-ZT@sv)x8yEbL)DiMYu($?D&{U!#Nt@X}^g|bMk$d8^^Iyrg)e&jm$c}si9 zG!XL}Sm*x%P$hf{|q_`|1hoDB!$B&c0n2GpC2up}07*C(i{~rGd>$n2_Jq%X}KqWv*Pb}gh&=o+;wmk*)j}T zH&Bn0Qdd33(X@R7Lx#4;mtGCExk{CE3PfRT<$W08rIpw)GBnNM&dR}JQF3wU?32AM zNHFUTBN11JVoI@hu`L*T63L6;f9dJXiPF{J)9bq6zNau; z-JsvP)(pMsQyjGn|Iks{a`r3Qt&V%nZcT10grtmO2(IPu)M-c-1&o$@hEtw?%_&!M zZp9ke=X%8{nusS}cF1VwbCAiL!fZtH5I=lo`+w;K=+kD@c~ zth>l5_~g#l)*2;?@WRABs=CQbB;7ISNoo(A4S9jALBiNmDpEaN9z@^jxZ0mo+jjiv zWl@oa^K6JPw8@^udy;)RZchf;n@{lnvP2|tH}2{@?$tX!JyBHUr&J_#qc{M;q}nyq zv)Y$4AxdxelZH)^dEv#4JXo)MW3v`hiC%tOV^RofzF3jXxU<>%mvt7!{%HL=g`*`l1vgD&k zp>8DG{2H@Jj2mxmgcA09#g;tdZm(89l859-xfOKpxex8^ac{GaKWSooG*~AejPIVF zNgaZ0n__7r3=yK9KA5j->W~n@a}>16M^7FYdsE+D+QZ0Jyw?X(+V!4~LYRA1C|XW{ zlSY&sB@3$T-Ti%Z4;$=eQVhx>3;K80vfIQN`W)pccKKo5s?`jNk)|AlWHZ(A$EoW; zu=lFM=~REVXhm|2vS;}g9dJFkWSAy=I-M%$05(+4n!vbSXipTq_wkjnXQ+nFklW>B zQWOFOC9Ww$KEE97@4s&3JIAIds1{tmbyhH@3t=~2qeag;(Qtu!6y=V5Cl9HMU$}9c zmjA25VqZ#drml<5YrC&Y0k@lBA`{>qP-yml(MNdTcH$aNxBOb=3wn9$;*-f^Ao5pt zLBRSDZws&MrD#3t@CC(#y;lW6vrTRK`v{`wDQScAEeKXAxvKS&xPyL36uQ(oezNQQ z{nMa8)P-ht*4+Oni9KO^mh9s=P8nl2)DJ#QT-}gi9c#awt-L;#;kbeg0JDiY!fXGT z)aB_PgMl^$7Y*OLy_Pzor}Ij+kd@c-#Qx<`4HzkS~V`*WM+zdB|7 z^}clm4$^(Yb~2CAWqzN-XL^9@E=>gb5(%JPnH?scODy6n!!m#ls5m1zr;_ev>4ZE% zG=W_#Udz1T_@1^EmJqbvRJb~aI<_p>NQRFuVi`s;q4LnZkNK4kw7*1mPwwRpx$nAe zXq_MhcGY`(4}V@$`^40gti3;drFf6Eh!@}YG*N9VL$w0-_q+B$jNqOCnu)CG2mY5Q z|Fc=Oj;LEcK$gkEg`s)-7+lW}VwO-B1%QTBV`_%Kbt&=_Q2^;^X9>$_@lcxQj5 z2sV!|EO@Hf<#esM%UszR3A+PI>3?_dVa{~`R2U!p4!&g_b)9KHKjSkBOB^Y6>SlmK z!qOlao-&Q4ABogW>eN#U$t1~{{{?CLZ%0yp_V~}nbN@PAm^^MG7gZn8zFVhY5P$8q1&(p|@wPkWOb2=DWJ)1cu z8$U*-dv5|ChK9N&HVfq$of>XlAW=Xcst0z`E;w=OqbsCFc+`sOnDRL^YpRFcVS7zg zf2{p@W{~UnERCaxSZ8@=Di~FPcG%g=7&v`kz}d%1lBu%uI`=}t+(CO&Z|3=5TANtE zEK(IaHtc^Gmk&AwojXO&K@B*dpEVae(c4c_?1_m=GV1WFP6~mrJt{0DXsndxm^4{i zq(_zxX-T}C2w{J-8a4d#SWbE@AUs9G6VR-+hv%UsCfAVsKd6^Ukt&@I8=HQY$#OY4 zw)#$S9?bGKK)23N^6?3)E@$qlU=3|OmN}oVnE0EJk?_RT`!_FA7jCB?GDOrC9FcBu zT7@U#M+--nj}k--$rlK6lgu{M!|{e(jqMLQQ@Slb-Z3cVVXkPVNoIY<`TdR%5+ZRw zA6n2=%~Yh3&$T<305dWm5Tz2fI<^u0ZPcdSt-`TU7Sj5b5#GLJhlga(TM`=|nDDsF z*2^A|{J6CKP7L!{wlf3ID`$NdIqES9Yd5K-9*^wL=hRO|=GvCKWSu$8o6vHhrd$@J z3qlSpD;P!u46-TBIr;I zQMiJoNPEU|rO{%SomX;%;SJN0mB_nbAG#9h`up(na%#meyupYq zG^VCP2Z+{UZP&3=vPkK?T>Sv)^#|@S%kNGh)kzT{xu)Qw`(j-UC`@kF57R(WM+I>U zoBz#TUi4uLwcm6_p`C!4jCaG}hOPDA!aP4vicrsueI~p3rs24Y)%r=5n7E@F?d>*{ zr3p{G@MW;I_LD4i3?48o6q^^9T&kgkL`jgyO>1O3+9mWUd3ak_0=?9d3sV$zZfB4< zIZ`8ahtL?DO7lcm*AlYUQELrEf{|J{R;>D-C?niNR|6U=D~fd&&FKad%{A3zTgZtG z1?ZEwK}-f@bVo<=8#G&T9A1K53MZ^?1(bA2Dk$-9U{1{)Yq7|(ElMzc6CQEb3{P_T z%2lx`x!J%vr_*v-DIrr+zBYj}d+X`PFfa2wqya*V5(}&VsQNfA{^2Y;4GpBNDOh8_g1Iz0BYF!Guf3s9fG?(a|FF%v(vquL9FH*xi2ehh0Vb-D#K zrag&ftTPwG&8bSZKmu#oMX{Fey&Wfa^uL;utl1Z2lrmO7RLZ%_hg4WOJem|lC!txO zR-?ZmjEM4FqRb1j48gtPbb}kAfn~`ydpuQ05@#`72iZDWgny2;&X?U?z2#@S8E!^y zsT%CpXqd{R#;XlQ&&m0^!0*^5b9Iy;UH2Y@S2`>-5#@V(eBLSEkv%HgHB;6C+L97g zbbfCXWlX?%vMbT?r}e`A{M_qI;L7jw^T!P=87w_-<16YO!%vXqeB#PL2s~bkE1At1uj>MSI^6=7b4$K>;^7lxN2_(Cd`CP`%Y$(Xymja z|0{L+AeA}5RGHx4oVn-q_ly{1+*HZsPVxe-WG+#pb~#U^mZJyK(M^5s#PfAh23_7o$=PX0tEDz6$5Z}=5_z)#rfAg2!H!Kg26<(=U07QT#1-| zkw``Jlc4x6sbRqTubP&!wg-RF$>&lltdz)AlhAuzG2WcziK}zCfYmCSuNz}hzXa_^ z=J-Z(`PE1%5n+)N2Y>r+8a)ZJfFL)9d_v}6S7Xk~u*iymbOFW{!Pd>uAhz<8j;==) z8=hu91y~}qxs1-nWS@TM=3PBz6S>)-wHkbybWMyA9EWHr9-V5}O070;YK;F$6IgIs zgJ@O!&Hp(cak3jyIZ14<@h*6mJ3r8d9dPaMwOozJ@nz>yorDF_NoK%@LrY@k=Q=uW zo<0^Y3~~4XsIai8&Oa-4{`NIs>r{zQKAv~ve3&1@J-d2IU)jC7vz>NEw?#9*KW*-_ zjy{Kygih^+>s1$*bqiY-Ro~#b5}udYMfMeJYhBxf@iz?EJ=lY;$rMVXY)U%v-@(;- zge61SH|hC+W0|Nk#Ml?of%#3!C=%!EY-jMbvN*{jhdCUVl)ft_578!BFlZC;!IDSm z>C4JAn;E{+O~^o#JTW1*ok7B$Sep`CBr=G(jhodLf5`eWxEm zqApdfG9c6|B9zPUb+09!&tArfRvq{ZQOo0F8(&b5wQa(ib+*kn_s{v*vvNo%JN;WG zumJAWjn(`5-I=~x55NiX@NbXE?~k>+-OgzUd{AnQeGJ zD&O8^EtP`_I$+jJ)tyC`(KS)%#?XP2-J5SSYMkc}WrT6GdHGyJe0t@3*ro4LEvMr^ z?nK*& zP29ilT;c&$CUZ{OY%UqV4{$Dog+1k=&E}$})*Qxi)dHvjRkE{|4>Tc9Dqi!vP7*ch zrTSi4I8(hR_wL?o^N^Q*lSMZ%gyPZVc=}$~@@jNCF&D|>0?(Xc-z~j3uTP3CUy01B z(@%^O*1%7|zy&?0bzQKLdKL-zR6Q#-ps^fT0Z@ZTTlp-@xV;dqDZyq%X4SoXO&zkv zDY8Fg5q8q7K{q#`xNNezG4vZ!r9$N^J-oNU5YZL2`FOqdwmx zZ7SaC{)Yo{;MP1faD%s}<>f@Mx&+s=lckcL_^{1T4CCWMlKL&VZbe?RjzqVEKWW@# z(Wnfsomd64`E{e^xj1*138!O;j`$Rn0YS{mT3)+s9IzY@QW6Q+RjAIKqF>Dy=}sPl zw0l|4Xy|AT{5aO~W5dprUL#bql!H%bc(`2;3jg6`v>B`W%=O`{_K0&2wyT3V;Qbgz zGi;cBbYVd=b%czy0nGuX~&KjN~ZW z+`w-!m2s_~noc#fP!)nEVP0+%qs*QK?jH#aRfD*WbO?$ok8*lWW;=hGe!M0;fxgC` zI{Z{qZGGB*HQAUrIZ%D(QK=I{+@W)zLy4$L6lIl-*M>_Kw$-LgLO3e|KPxt5M*H0m zcnf-yyX8Ne76i+G$RA3ZtFlf)_PffAp5J-!lcuPKu6qja@G|OsgygXtF&cInpJQ&W zX3hpGu-@WXv`1IRlh6#m5X3s7y;UH8ItF0h?0lHom^by#us#mi;$`W1*VnUQ{T5CZ z?sVWx{x+j-0=UQr>UNzO7IlSdSq#%2El{T6%Gc4^!mv_h&$aO-<~WHDSV)US)bxfi zmOnDxMiv%yIwtcvcl(G%i&S@S1B-sX+8Z-gc0ukOac#ZZVErrd3#soxsHV>4Xr{Pk zQC=ZH(i=D5u6`m6DAPA(!s7y#&LnQQo32Kh=GN`LR`z<^I?8Zk?Yq&I5%$weerV>2 zbNIr=;`T!&8j`J{EOtGK0kjJmURxNVsB+;jTXMed~`(iO5%G2zeCXjP~xJDkakrlz0mN8rbaeao09_?9t&q)VN;08_R&;W=v*IEx{ zbjEC1u$!bWus*sXKidjKh164=ifw!AOi`QDz(}l|j=0h(EH0AG4Qs(eoS|QxQOqR$ z3~i&1ueSUyy$;T+qHBFw4=*5X_u5%dc z{wXv%uz{~=}DSH_t#+}d|xmUbWf_mPfe@M-{G<#xnaP$;HrZM-i!x((RYDk<) z_Jxk=Vn2|zIz&Fkzi>8`S#X-+n*p`jWa+#v(1^mX16zFA?eC~?6)@1QjXOw{Y@sBD zW{{8JO*1f)6>&WaIFbt%vlD+!HaRJq@12ED!R3Q8jI`&N!YNC&477P`JH!{cm%C|2h}=lb=~uOZJ4-hVvcA4JRDO&CvDU5GRm0O`_H56oHnI zxt$mOJ@wfkOaZ`Az;P!n6-00w=IgcD;9F-g0RdXUcB9!-yQ1}vLf}iQEOqvoH%q>< zJV*b^WcsR~Z9H_t?bwjQlO1FT}<+5 zK+?a%xE_sP>5{Rel}D9BP&t5NBQ-cdKsUfTIq~&1`Z@{8`J$mCk;u$4pgkD>N%PWM zFSl&)UPE~E-guXvuudsIik1BQ6`_wf~ z*>663{x6q1(k+(KBpoUkAR<3$jy%?$ywIT=lvDg{G^GGx>S(RzcKX)nP}o9ytcYnO z4l)3x9%G#dG_|gWAK18nnH%7k=SstvrX?xBRMt9=i0QY=Ks`AgT3R|oRpdppwem=g zYCS7{dHAxAt>d2eI?r1~K8Yu(Zfy`U1If&LoC~$*2+2t&V?G!T8wlOI{+tnotWZo( zo|=komfYHYhMH0#Y*YM~Q5*O1(}w<;vW&S$`YY677<=mawA0BeA2L~csDX5i3?VQs zk~m?}fD}1l-)5EG$gc8s{ZdRHkJAUw7IE4>%j81{Z8Om58eFVTW`T#wUh{u%G_RxN zu)J|pPX{Gjcn&`^ME6#oor4)&6%TYuexXuZLH74rT-9nDE`ZMtJuFX%+wX|CB5UB4u(6dzMC>NHx2T4qe6{(zi# zNIZ;Y9#G5YaT&OM!^imTZKisy%nNZnnx2?qL83nOD43lyIS$;M-1aY-UfXD4U}_W6 z#_X1?hj+%%ez+cdWA_*(2h&;Pu~&Ym$lLpB{2s<){;A`z(;OC@9rr-d(<}Q&MGr$0 zbWjDlj2^TYg9n!K4rltNZr?jH>NHy#$jsQJ^k8a-$BZf1 zO`^h}kW$eBXdQ;2Keinp`Dqiwx>SlyxL4$(?nD3ReEZC8GII%IgtQD-%nsGgFTO!Z z-Et5KTaTg6k|5B~G*LUYGWe{^61*SxpsKg_HxivTR>(S9rTDmUtbNprgXpIcaA}h8 zX`l)4drlfz)q!8pVj#f=&WVwin7#!hDM-|S{c#`Ja8e!9KldQZxad4t%6a9LD{;t}ePUHCF@icPuqc95j0)ZV%JQwAyVGb{|X z{GAtCXq*yJuHG}%@>d;Y!+lFd;MiT&6OtZ+zUfP%WEMt!Es__|v#||?S0)Edm@3-o z!+4IjJ_t}8nDl8096poe8Azh%9Jtl_+cTw5Q{J zM*~jOYD(my$taF}%hNuA>aDrFdzl(DHX+$+E7IY(AuV9{GBQnp2}}$;|Drnae?S2L z*ZboCbHwHT-C5pcqN9E5{z<9_wHa1_n1(B663tR;H+%`YJHHzPB1-7MYUo>!B~Vol zLr9xQ_&&SrkGklr(fNyPm262OX|A4{tUgs-A&S_R_>fZWBNfg47p-_=`ddh=4UoQA zxLL8|#$rl9(*wCBzgLmvh;gl=tYr=UU!57I&NEqR>4$peXpsb{cv2Mlc^` zo9e%gxzlykS4zcyY4-{JvF)Z2M`tZQV!lAUp+q*X&KVJp!6i%_{H^NYDPUu%9X_^I z7F#AJT$-qU{7%QchsYRnum=R*6;)@weLCd7I|cLdwM;r)T}QJ`c@(}x$3m6Q@U3NK z-xo9Ka#sR++DG|U?r;YmfBo?m?2g4Vx(dlDAa7w>5t#-ijXWb;VA7yx-T=-FLXH#Z zW&`z-8@k>ja71Y8g51m9i{q;6TNoy$k!;$Vo!O6ksG@Lx=Gr%Fxc{WF0g=$@ zqcZIu=b#5n?X|ka-G0)HJa#VVpcvF*^fHOO`w2+X1NyiVifqh_I;FtxoEvj@4_%EC zhlN{PfV}AQh0o82xdWpzhg+_zeujUG%{_Q!I2KwxpB5MZ-M8wSHje+LVaq=!IzOzJ zmNI|#Blo?M2n))D*r@+;#vMFu7FoC}g?)=7g~h>j$Dpm2S7lrWJ*3*7S~ zDK6yW?$D_|K0<+C_27MyMar<%63^@A_Uk7%$O&k&HyGHHRH^4ZU6L-XEhPPvD%F+b-GvZCNR%~79ID14TiIf6q9XmTew>JLy`2tJ@!E=35k7M zFsebs09mS#e(3Qa(j`hi`4?23&_D8b_WAq3K3@=W{U!})sw(l@_52qD{Xfv<{Xs9| zq+C7Mk&eyfE|xt>AT)?AjL4*9066tXHN`>RV(j$Mr+=Sup6?Sb3HWc)$MeK)OfkX~ zMK8UWUba=dvklK#aO(NoQ0pnDUMZ7A*RTtH$--NbtlKCPsCkaCgqtVfwPCgxvUFjM zg-5DbVFjI>>TZ#5;WsLWkKQ44DEZE~AzqWH0XRL%uPEe`3&Rki%yxmzOzG3rxO1G) zclPT`j|z1%GpyE)xq6hXY>j%~<$vDKM}5OkU2_ICqVqN1Xgj+*Y$Ais^*gCqaz9qv z;E$@D-}Vnf@unSXcS%da;mP*!H$F_#&?Fme9cg~$hNT9c_+lsvb}YSYZGhTBU8)@=B@r^O zlb)OL7)2!6Wd#jbmQ@E_@-t7&zC0fHbm=zcBwn7|_7Yk&kbEOuStNPxqL1OY{_`kr zk;X&E!j3zIkgKlNwH!}VNjDCO_EkADI)WL7H_JggCv^x33LE~dfNn{IiK@Z0QoBJ4^p;>L-H>=PfQ&dMdi zLu26atS`u|>c?q+0A}4%i{Lq9dIMLA?6B~1evd`Sxtw$xB0<({O+`8}oSh&=Fxko|1Ts)JP_v^%P z=?@~Bbcqh9#cDjqB|%!A^pWb?gudJ@ZT#>GP?F4|f|YJeISeg9`>iB*YfR{H%N80n z9p+v6+{Rvc-GcRUk*kpwqd%yuqxkv$2Ppy|FufK_P&7tFW_~FdORo$7o$BBp;A8%e zkcQtME6bl6R@&M=!V_^__s!Z7$??k7FZ0WnUN7Rl7O7qs>L3(AxulSMk}Dhf32&z# zIB8Gk)cR^ZQDI}%O-G=iL8XhXUVL2zjNFIbg=v%=Xy%z@=PI?kNhrvl5Gs9h^Q&H8 zr_6yHjZO=m3IV#bG*x5AKYQ^+Z31cMw;c8P-^do6?VBYvi%F!Xi3GGY3s_>(+*Q1>wHDVU>N{ z%(W@&%Z7My!imWH{Xpi$|tNSB(sz_u9g61Ph=ED0Qz$638AEA zA4nOFA};-;QR^f;K`vmUsW9gtI-z@P#K3`Qgz!y8k7L-DXmDw?QtWcb8I6uv%pqX*0I|` zk7Glp1@fK)e-UUTs;@rR=kIby7#OlikHC@WZ&yteG3#Rw7 z(rdR66q5=2y^ycFp_;^?pi=ozpHe+qUdx>$v>2FRYe7aOSZ$O`%7x;sQl_!}?ZVXc z4K9BoMgU_%vc?PyR?WFwY+NsNedYG3X&4%$R(Ynou;)Thy^(lr*g7bLXS~lI(uqwqlJ56|F`jdbPgNo^5*hAvmK*n(?@l?bp@*}#9e&c>KxY-Gand)8T#Irjtq4y_cFs|e{z>x)x-gpW zQAy`_)t>&zXT>g8=yaaHG>F#NPwwu+3$zGM_%2!IVPovqeeY89W#fCj-Qn5obIE5q zHjWU@7*=oN)PB-j4I(aYu(JXJgindhm&6C>^CISMC>!nPfp!0zgQ0lyguX^+>U!z9 z7tehhLF-U!EO(msC;fby+idn(* zovylg9mi|$V-s#D2nnS&%;8KaG9!zvNvsS*g(!ld@Drrb2Fp7ICJE~9vldQGC3cZy zpTkx5+;xgvon>E%zTn+12%KU|*ACiyy|yY0Lq3KGtuEgYU6-MhK1Soh<2p0zo@NKPKB(c`E?0}P=O#4beFe6ygtYK?(BPy6(jND*=F$d{?oVG*%xrzCUA7HMRm2KAb-tt1B4k=x;C;$T6 z&VBIj{$7c%lJKDNN>>o{hGhC=GqoS|hU+)}wB`6cy@PtO-BxPLF=Tn*C`fa=e*_#b zXcjrQcM)Rn!!_R>!l(W0PGseN;H?{3R^MNTFNR+r4of}BI) z?RU|ePmq}_6oy&-pzm=~MfFXuVLnh5SzGoWT`MqeC?QasCt+1AcE~x<4EpV|J`FX$}DMzIGLF4Jn;mHZ}iyX z3xX3E21Ha~YnJQ<1yAav2PZZz!_x;|LOhvVUe;t6!4p|2mD%-UJ3pH{!e)T~fvog} zH~T|!WzWD&i~ZnsQ~kS#HLi_~rN~_Wf?TW&U6<{=4*!1PNl>R1l<=xze`2F~pEVDn_p}{1_ zA*49ZZQZVRdcH&!Uk)%JnXK4%KzE}ijEO1(NWZyE>MbqNoe+Wx*8PFN*6Y1@po010 zi=Ocj{*M~LtGt2#8p)f5O8Lf6CwO+TS`rd7zAOoyAK)g%9R36iS+meA4BhK2MvV%B z&Unm+rfJ*WLXp4F7DO}^ysa>g|>D@W;NuUf8N_s&-I=U9QH zjQJg)JCC0dT~3<#Ndwk#X5=CGW0(-Z1tCl5jd8IO3tU?e%w5)8xzl@jLOJxe%abQN z#U0<3g&lu{)hA2XyI7CcTlN+^nm| z4TUA|E`x=TG}tuCs3?jsB28wKkB}}D;KqgJzUUR2*zJy&t2e*EbBi0*MXvch@H0NY zIc1MCA;F1K;7|JkkCgSOiwp;8+?Rvu^@`x09;WJUCGVz6&&2lHbWIDfFrDK`mXZ7T z30w4hjVe#=D8s+-t+wmc9QklK!h(VGDO=oDB4vA7d{5e_pKsf6tDS0} zkOl3K>`gaT2jh`}(YW~SQB+L$Ymjggqw+PG+=&z|Rjfm1x*d!MAYZl@ zn4e8qS->nE-%~SbN2+U4i~u&{T#61F1F)I#L=FyADW7BN`ewfG>G8@lilY;@Z9^*_ z>^LT1%W-q;B4V`tjtH9@2&WmO-3ZX7p;35-k?S)jq8gCjIpgXn@SEuVo?PNyZn;kT z21Ae$EM9L`=i=^c0XuS8t7w~y641Z<5)eoxwP-0^<`^_8O!5e^t0AuAAEyG zpc&>rX)HPPCGMI>ERb|a6D#w@Q_A~W{VZwBVG!e$BMsF&`>+fOSun7)8Bxb zUp_&LWG&o^eM012*Wz~8J<3Bdt$;ow+jU-TV^-^!T-zA53@SWt71n13a!P>sLbat@+0Ngl2Cru-*(q+Y(mNJ3h^Eym8!HhSuq#mPcR0I3^#IO1%=* z`;Wo&@>TsvAwNb$pBG4I&K&wK^(>?}!AZVLgOrjwY$kamy?CD{ny1xze1Bj)Vz3bJ zo}O$K(CR^3+juZCYXN#TCEL^D#{LLfyBIyGT?kA+8K0ryPd!HI(^S_t)VH7GW0+ii z;o7;?(PC+px~F3!$pMI4Qflfe*7@2n;jPGEMbJz%+4ufL%^vqv;Xq2}W|HrJjCx^I znl>msR)knYKYgmYsIT?%GCa2EDQZNItQKKLKj0C%u5dr(Ygg&=IX&7v#Wfkwi9aHZ z+M61q#$bSl8f3irSFZi@Ch7upIN?zwCNTEaodK++O0(2gQZnqKoz{?NG+abuHHieW46)9Q|X`Db}4v5bbQVD49k^*H<(lmsPA zI)pYU3QMANbZ?w`&J{DPw|Q9ymgct8J;sbDA(qP?Q3lbK0hMCVAqQ#@5tER?_bew{ zopitdCyn3|xeDYQJUNGJi6JvMigFLky+5U*%(~I^;g7B&)=4ePdrM6{6a2|Gg`_8Mu_v;wW&M0kz?DzLo#{cCO?@tDG|2jOK zykk8US|84js+vMZfNVa`kc8-Tf}XVC!$7LOUr6)>ucY$U!S@1v`?O^@1QRQ1_##I zBBeB(x1p$qTR^lUuWse#Ul0C{AFSX2;wk?^$=rG%I?zMY}bCmbBvZN}UH)a`f zEi{d!^9664)sSkFFEnaj6GSmKsjegY^GzR|ViG&r=F2!Kd~VWywgG!e0RAtS7NqO5ki3)S59qfux?$MJ(t$JL`N6#E>EANTX6V` zsWI!O&=}QN1Hr~E&;%3h7c{<=Z-o+}TKntJ!?iqau18P6Kchmq&XI6ZO_=_bMGe`q zLYr8lk*M6$>grQ3%=z_hKeu{!{g~|W17FYidqbAS_oT^&#JHw|lr)r0Zn*q{tZ=TO z%>XQ}W@+g)d^584-kFStw;kU9=EZFTuPMO<#1g*p_N*YrK>mUS4aH!6_t>Voot=*~ z(?G8{%WbioG@4`E&QH*cZbE8zcpa}*NevRqg52qk>Uf8eo99wP_9XiMZiV3g4`M&f zvGs7D3B{y`8U+zp2N2)Riu zigvFr*>$_380KYJV6Y?_mEZH`lY6Fop1?#&cKx_25;}Fx*`+6!u$PO~Y1n0n!PA8y+uEDupY-le*)iyPt8h~BhP=NmJGy75+rb6M)wxoB+##0$n4#kf~HG@6- zv0?Pbd>lu!z|}sNbU<0ZqOz>`WxI#K&9j@pBeE_z>y51+zSJddt6d5V9=>1KH|5bS z!~%JknTlVHA@2^QQPSzu2h25ZE0?p_u&XCdJDUszUxM#gpZ>nHAw7oV(NFS%oI=1s zb%cIIi7>yfm{^6B*Vjr%NOlNaYepIY@%?J7Jct&OrSecf#&}0PzUzc$%T7k-P`M1U zSP%8(S6@m_Dneds;^tSAXMBis+!}EV!A^-Kk*KdC?4EsNMuBeog;dW1;B>n9f z=m_@=M1>>rd#O!Uwx)zhk-ie3rdh`>Kkd_7R%S{dMfgK8*T=X?tCv6Me`v3wk4_tqw@GPvzNwfYoM2AH?y|90w95Ezs$x_@}K@KB>FZ8iKa3FM~KTzrwA2)Y(x185ll6ax(e9( zBrUC9UgOJ?+4n3Q_ogeU=JD<0bWiSbK;nU4qgO##fDiI@>+mmL=W`IRA^6P=INv`S zech_$F?WX@$0WVmqQ&%n!i1nslSR`#ZC6(}rAxv^#Ee!ZmU|B>bFvh3xQxc{Bz%TI z6i*;-caJI)RKu<=!zc$7Z%L%QdET8fE2Pk<>{&5-s=Jq6BX-Rw(O~F{u{IzTrK1_; z4VEh$dg$Hv{i5B=f9E(@++;pfe#EUIETXapI^y5@O3|N~|rlP3fa8 z|6cXZOsOf=uii4b&IK;0D&5GRc{UttOr?uCZe_UaKr`LgRJJC+(OHQ_Y(+sz31aXGCm> zVviqpMJ#SAMjr~z`r}*T%g|G*dy$|K2CGnhYT-N}9kADcQSCvr3XZ2}`+QyFesU5;m{ z_o44)i|?caPI0h77n--*1xdtJ*z3H4lple5XAU|a!NBPvGhp)F87>9ko)7f>Il*1o z@Z%q;xb+1mu*Z!_uW>EoBB{+GS~n?OODN6K9&LjOF+wh#W@@G7gAbXf&ph!G^^@0f zvULKrcR|hD*%wQ}=mJ%8F&`KhW8sq+jpO5Z+U8|JxUoLLMnbDim?ZeF9>mZpr(EC)-za)qL6~BCaf{DnHrP| z7U>PX_rHHmzkg@_N?I9QhOyS(yJ7)o^mXjayN@at(y|AA%QdQs8xf===xWBrio!QF z8E0^nb_9w1lQz=Zs=|boSrBGYrsVw4mK(a=VYbU?TH~eqB{XTkcQYB)qlN)Z)&l63 z(Wdw0*M;?Q{+4f}?t$!Q*0n=_O|NwFh#1zNH0g+2ofj9Fmv+cJ!mt*YWELtNp;H!# zi7Va+tML)`l(|+a&P3gVJAL-+)rIU=m4BpG`sZXE2mYw>_$O&~|2kfvyyLwcs(`WR zwmUK^8rBSx5^X11o!^XDcd_sLCQ> z_;%~JH|ejdnB9BcBKe8O0oU*B{Ku~5m;eT%RQ4997Qowl!qSkuZKoYs7tg$&7>f<^ zfG6alF*lY;dLl`VE=2nJ$gGiUjceV{PM3`|Z#v|mc6(L?azYqsbhV#>Svy?jMQ9^_ zx3%^N$mym!uE{T`4{8lS1MI2h9pD@bO8@=b`nT^UGZhp0kn2jKkA|;Zxv2H7eZ0>n zQBODbOQP3;-2d0!cZW5#uK8j`P>hWtEh;KX6$O!+Z2?3Cq<13HL8L=yiGqOC2nYxY zktR)u^cINp-b_qbM~EQ?%Dg!-0=?{HHj<9;#=Q(-}l!p@v4jH zM0G7J2jeKNDOO%d@?@i~>DEv@h^*Y@BO%*g)0|DLZM-Q~6?H!UEANSK(T2dlM`H_G zr(^!fTee5kr(hIWJQD7HXYU*!L%`51A^tGco9Lij2ggE0-0Fsr3iwN3W*T$4JBd?& zXg_T1a+!Ueb=}Mf=6f=+*(m46QnW&sH#o(LPSGBm;3V13D+sXESFnNeMq11`zvj%| z*uoEhgn{&HN*GkM$mhG7oSbOaa6_-*!#sIR%(HW#OtEEgJG}uVIgc?kf%n1JQLdM^ ziwe7N-Ax*S_7aF|L%!h_o;o7w^I`XVkRxq(+`cxLkUd|hS$5snX_X7X6@GpC6G}j4 ze#X-xXDSTz;4swa8W0U3x`*1}f^h02jC$Y2iNz_S{J*fBrI>p+9>Rfvfl%=G9{71{ z?NsHg7F_-||1MAGWHSXINp2|_C>dOPz~Yd48Z8I#q%P``Io)`sBh$HCb#}M*PB$B; z*X`*5awv}(w{g(+sEwM()Q25F2SaDKCR4DhgKzibj+nFqJvi{iPNy9Z+tMs4oq*J~ ztJ~=PV-!ekQ(ipQJsSv3OJ`EYRRCpg<^2o*&G`@KCH=pCE#L7F1KZLzamUNuiCIf* zaQXD)D8+0MF=v9(PF=SsgoQRZ&Qx`V*!}>1%*z@*(EP!!a&&`lMS+WiiYWsRI|Jxo73JpbuSJF)u7RnF8@}t>oKNSf-cvDKNMBEM5QTRV5sI?w z8Lx{1dS8@&;nhRtUW{39g(ObraXcJ3Cb5lv4Y5YPHl`=~;5&@OpAcg52%v^U-odnm zCpNn^>rJ+SbnPejZk*Ryf9T}c%Zz89Yz=ws8mzo%$6n#SYWo6qOFJuOs8SXPGO6u6 z17?G<{z6a+mCZCiQVXaf7LLQq&~JXweHFzbp~aSOMAtbD8na;Tlb;jl3VY|d%?peT z!HJ4I5T4V+7jOfzZ2g!k`0N_^2|PGhEJQ|FEq>rQzbttNZB*(3wa%$I<4@t zeS)$qwBa$49*p88Jp=Fiy>@FZgJw^IMDeJx3%p^Yd1FJ z)5G^~P22msfL@MsSFw4k5xq=~27-cwKgjj3KJPLZ9+A5=%asy(cmzZ@g>{scuHRx3 zLu%MD0A@2s;Md{3tN@GfEKSlIOuRMeu0&NI)}jqmh2LhHF?dj_PVBhpX_*7hHXx=n z$TA1;D??Q_?LKMAU2&V#e0t#0tf!~1?IMuWk;JB%o0x?wB2^e}Ik@(ndAD8+sGf&2 z(6YUNqmJh;gNt!y?2|J zn&?ZH0!JLT(T<;9$}@SewIwDfdgz!@ zePGs@KgzL3)-g5qngRvJ8)ui#s{q1^-@=9~t5P<^S`3KDeU-*@%-!QgLzav)Gt<-{ zDJlml%}Jo6`25B+Px_`{m2FaRT}NVcOag8Rkdg+az(N#p$(y2!wKvXN4FfZ>A9QN< zcDTw%Uo4rgNu^ZXQrCG5T+Us;u@wG}qKm#xX!M^CwkJLk6=-y380SmZKu&W{6Dt*D z%eHO!L%^>BE`3OcM6HnD<3436M1PEZ?X5;1B;Z6;YWn5Oryq1(vEOM4GWn&0NKm&kFN z^6&@UOlvt6k!|9iyS}pItwh+oodLMAgm)$X-3JB!ey9NhEUq&@=vbFXI&#!G$m+-U z;G})j(ViGX(WFl{0(Z6{!6as&B9Vry^(F| zl_m{TkuLo}9S2-AuYp*Dc)HCYV2TF$@h3X_y%0uC^_J{9lMJSSk=Bdad19v1_~61wCj?faT~5%>1N)0=0O1E?H^^UF`%pU?+Yo=3F&V<$ z9>JrrPsagjIapZpegi!H6J-haiXtR>98_o|44CU40n)^co2jbUo+|ennF3nS%wG7? zfPHI8Hmy9-?UKqDYN*>XO+h(j@pk!D6ib5DjfiknH`9J(S&rm2G(6!>4WEei!!4e3 zzp_jI!m{3XDvtMNa`n1deP-L@4w#0uQICAIx^Q(hTToj&JI6X+fE%7BSqHk?|6w5| z%GfT8@}L5XB8%6!wF@A>y~_oxfDzi13?QI=%;qd0q=e$@lO1+YnR<OyxP!>4TIlBk`_Gnso=#f=l~YAucZTP>}wj$a#u8D=hwkK7}Tmwe_@S!InCM% z+x`({@DXqw2Y={3hlcYkvA-TS#n<~umB_majXwzil$r48!?MQ+3UAB|&}YZlVly7E zn{27QhSqMN4f16BdM6`o}F7Kb@EcWkp9)Iv- z^fBHhM2QJdxbg8aym+0_RW1YN_ko)4I2$ifaq{ZtA9iY8z||x&QA1@3rg)pS}#UX2h725FKAbWhoxC# z3Dee`yr1t;#!>ov!JNE7>W2N#V+Ja5p9iGNJ(M5x&*p8EtW1-6DA$R{uQXInDjyIK zlbSfxE)Z#G2zcYYP}BpeAeX0J7F87&PWv^97U~R}IOL_Be6T*Z3r{b56zQ8U;iFVt z#o2$eckqi7csgX)4)rTwSUc){tFj2!?4=zsD7UX?Vwq>ikh}6BF`fDhZi=F~Ro?tsBz$5) zvRHZh-*W_c(Lr_E5H)xsyfpJ=E*<5*UO4LS#jLo< zac`j@XlJ)@BE7MuVh5-|=olsJ$!66Rm_7Ab!o4GF2yc;Xwy4b%vVNuTZoKe-Bzp5c zX=L)RQdTVhHp~O)z&pt2)4t7{xjxm^V1U->hE1{ghOit{;0I53fN6VoAZhNC&W18} z*W1O1(If4P`$|@edSEE@>fhxz?>B(VO!XL6hoZ_hTLG0DE#FQd4r!<54vSa+?Rj^RP=fHO$oHZ42hMp8_aBQ?xSVWRWnVAtpmY1aSJ5VWi@~0Y2Hb_lQVqhpAR5az%%3 zRoHJfY7N8(2PhLRw{rFPbW1ms@bFNFhQW<~Lo}Y;sgfKY9+}+CK`(#)FsH9fm}F&N z$G;_S9h7($3`=BqC+&3bORCu^Pe0>}KDG$_vZ2wvy7MlrQNF2!@Cp$5{yweBD?zuP#O9*F^*6@NZg5( z3qR;?_#9i;v8@$&fu?cUhNX|66^e6mVmm3)3j;JaE&#wcfVL0TO%J;2@7H+Y#FvwI z>66Zx$018XLi^LX*lFcAYM)8;Cq^11KlNb9L+)0JW(Q9)V$=4rohSoQ?KX={6Oi$ z)(U%qewQ2b#p9rsOlmM}bOG{vc3Gaf4}G3e-K$^N3nu?ca(gZ6R#Vuoe6B zc>l)B4ndXcfXYN#6n0}*kQbdDHoe3Ou6|7FyZis-hGKev6_@PB( z6{r?nk@0Tw`F)5xFuXm`^|4_AD-3p%|`BM zWRglIZ0qahpQ!I>vPzSID5(WUt%lUS>$w&#?DKUYO76Ek4YD}<8Z_l-&V0F!#!ljPO(9lYDYWTzuut48e?_Sgx= z&L%lGs0WsDLCrj?(sHczAHXfroZg=NbaoS*9IiUS-@XkFiZoQ(fiMkDOct*9G zHHwI;L4Br(C`7FqU&PqP8N@u`Jxnf}q1~(GRqb&ZDQ)_vJtuG;L{dnY)&wE32u^u+<)=x9*N0-Qz_tSyq7HzovuYk^fCN}?H;8-`ena(Qq z>+Du8y?3L|UX69WlD*A1E=l7$Mrrp9W3CQv!EXa`7{KTZf^}vr z)psUFOpQPN6(HOG4Iq=>2gnfLY-VHYj|Qj~EDw3zzl3j)1vtnrWq~8(Y!cQIOfnj0 zp~H<1RpCi_Tb+-9t301y9Z2{2f_qm4#hG-ugXpB$Z~0!6={w#2^t@Dr0XQ zyVv*86Wn>FOJU!UOH#p`pySK2iD&!9YiJjwE{u{(Ag&AxcWKjbfWu>*t5iS6>Q@(Y z=kb-93-5upXF(7^i>ivI=3wVH1ysPqh#z##v6du+_Ei0oXlfcH2rjE&Am^d_ilQd% zjHnULos)X6(iBJfh&ZqduJH<&xwX_k{Ic=>X=Tm8b~m4}1syG(Hs9cDxxG*SGWIwW zO!T+gK{AfsIDg~aTlk3sREA7%dgmP!}vZM0tFJFT0pZRB&B#Hu4r7dRnD`)@; zHDDMtDtchP5Lm>BAAh0^mVFHbQYT|wDck#lF6G_642%e#CsdX2Qr)Q*%=?wlI-Y~J zg}vn`MB~^tkz=lh4c8x^q(WLsOm>FfJ}@PxRG`xB0YSY1bFe@AiyVby$))}$A@7PM zR5_P{s%i^XsK1glcMMZLUoU%|;N5OIS>aY(ve0po1H1~6Bc1eV_kfLz zMYA>&l=AyO7Uenk&5rIUd|Dp6(OpPqS{l_+%5@QW1Uq3AOQ2+Tu&*~5OPg|KQA1RC z5Bq8z+kKJi6Ubdt9!5XeknmJ);OqE{(&fS*bXoKZ9`=n$o8f+M>&em6-Z3AQFP%8{ z>A;)D7qV)^_>JtEBHhht%aut=<`NaU5UwBWq?0403lODm-~9w*mG9bVTi&Ti>WsTE z0p8L1L{+VH!2t%)Y4!6RAOACffbv{O4Q})RH zt)PGsaVKg)9j;w8tXcC}9n}c?iDErTSdJZ>-Fi_`$-4J7-N+yo#3Z$XortnQoc%Pu zV|1`TH_g=F{qS|!7Fko0wk{r^Ond9zU)DL=FuL*C|Ovw z6QaM`uXT>^CEdh4x(l)Ik-8q`99PmFhg%MfIPr@*HdD*~0tj~~MWqaiPuSNfWH!Zk%&lKM+8 zg!&P6qNxFk%l=uDv*qNt)@^R+q$0YW)A$47c&&Z_i(-3fAkl(Dfx2}Q8<*R0J*hNQ z>Cl%qqrhF3cBza@>6MtYAORZ~KI&P!dRkb=9B@^MILl9BU)&lG zG6q-H7_H|!Qwe3xw2k@ggT*N*lhi$nzbL#)O&3cnRw!FCjKMj!UY0)K1anCh)R_DU z$fE+|I1-ZBjw?jZfAp0S_^HqCX;IV4+)i0jh+pG4x*i`1`_;@?~j7H(+fb3 zBwV&NDLOp!g;3$%01W9WBlBhnl$YA)QVG!pT>L`;7yr+bO|qZ10q;PK3>eq|Pp$5w zTya{XzbgHbxJ6q=K7$-G)*`@ENgg0d93rlnyaX9TP6N}z9ew^*7f8^lX5R1K3a1Nz zpv=a|8Ryu=p^hWAF$=X+#rEziW5kduos|})w{(@EYlwebJu9X z8EX)5`X`-8;&?49ODq^4Z6y&7Q`ys!oI$XGNvGCv165w&z(nqph9^2S^HKM0C=P{s z^Lep#SYr>}x1GfwjZY6+r6`)rImD_xRRSl`@H>$7M@!kmwNn?h8PmjFI)+@&O{H-G zTX#;#{$+9S0Grq}^d#uJ>nil2v|T57yS@e3bov2A<2IBaNKBKKVOhY^9w-AzcFZt| z#tH+FPGJrZdc)&)K6SCRW87n|1(PcyF-9p>X)2#5TbDzh;P0{sed}K8;G3- zT7cy^+OwBZeE-A-M%o@gnLDQvEL3*^<52!Vz(SP6n>3ckyEohJb^hXAi#vxRm0{B2 zv?bIB%3yU2;FstPAea#CenA&o23L-TI>(a<-*?p3ls$y~3oFp9%TB};J;PzZc)Q~M zu3n%Vcm<8nAofWXjpFJ+rxj8cS9Da0F2{1+xMK~%CI6t?ZugRjPN+iJGDjyLoAkez z!R<#P4V>B!I%@wxC-iBHwpBs8#JWC@$j7qiCnqPu1fN;2nE^VR7>f&ZGR3bxTP_48VMRZ1H|t$J9R!lrb2>7e2e zB|Corif2+1KBPZ1uS+PxTbM?MT|FQhIu95G&DqSZ*BNmrhw8#!baoEcn0S{~?|@;n zds%uE$$l|K0NoTGe7`Mcx4tz31HZgf$)Sj!3rWtPbrxv?oGw97+dS>C2cgA>UC#6Xi3?9OD8+9DWkz~TUf$91{=_*C4J)TTnxI+%(0PCK<(PUKsa*DtC!sX z`OUvh7y2Li?*nw9>~mtmM~Tjwt*RE87io8}ZiCx~;`tk6?y3lX0EyGjY?0#{ z@Tc{AU+~5)V$X@%e!QA;BF26MImSCDLFLEf^}CEJi!bhqbjY0k&3-b|#+bdU==q1` zJENV1S4F>Se{xR(QH{?pQm8C@tD_!jymw^VN_jR!%QhLM($qY>&=g_QY zzH2)%dJ}GG$p+m6&GMKKs`Rekj?`7orbDC(2WbqWowZR0Yl&*1~nx zInN?yWID`GuKy*i6BDitsr?9{Za5$weMdh_&~10VJLGvuGK+S#vL<-Lu}p?9 zA0Uldj@oaoIcZln*vDCsQ~ZIF7Fif(YgbuKX6~LgMMWdYg1z`V5dF3603clvc*+G2 z${Xc&|Foz3t7&=PQ`~9pOaN3m_^_Dt(PCGXp0O?xcqelbx;wB-hrP{_%}&G-gNTD? zCm{#;)O+&F*RUER*K*zO5mW&8@*i~fVxNCAPlj{Cxf)AzgDZ!`Ce`^|M!UxuGWqLA zfv>3l?%b(k)xemNpn7JZB=KawM%@tI@bh+Z9oY4_t2(4~v=TIFoSwAo=1EJ8-Ldqm zOYRo$B_ocHB;Z#*`6IHHL$Kk+VohS(JA6DZ{lPHr^Ay09X}S4P1Ia4A~xqPcF0 zJ;O5_0pEzx01Z$xV-ZBtws@F_v+%3+**UK?X7vUVPQ5Ug)L!?tIsxJ@u1l3M801uC8Cf>L6T>#z3t6XA zp!wR?Ox?j|mE}zJlH+RMqems&3S^uxyHjQ#q;HkbJe7e);ue*^EWec1&B5qol>9zh z^91grw^kJUl`qh-Qu+;fAlrUeDx)e*U8!Ww_%^gGYD04USmP|rQW>hNg zCn?NY#d||XO5VU9@@rS%BWBZ%?I>-CC+8f-05wIf-!K2nHvO;1`n`7j&$4Vu<)w=n z0u1*i?K^$4ftwM)6H@O-G}3t9=M$k1TSrDF&4>GrF8GaBkbP|5;A7vU;MYE68#&-^ zd0b~qT-}^OnJ*y@jD3M2GmM8|$v)wvdLEcALXW)>`l{x!}8F z1=nWC{MdSwl+vlnQ0sKtvGx42-+X4f%C@Z8N|Rk+KrDxzl1-Nx$u$;xQMKFDKL`uP6WQ4u|S|@*Bja9R#dglh&H&k}{)!q10wf&JV zN=FL!bs0~N9Kth;F>kXyKElq}mmIr2vbAV3dBlnzxT1|Ls{deA{lI_c;Au6O`#os6;h2)Re;L(`85jR!QI%O|;GWN013nW}&(>;0a*by9p7VvHha0^Q7tip|0?|=w|_Z30mzcifEqv1l_+x z&Xt)wj=VM(mK=8|C6w9ZtwPdKlpNE6*`fJbFAwPI7+36yJEQyI=0ViX!&%ii+30AK zX&>j>l0%Py=!^33!|yo=%c%0{5l(Xaj!haOU3V#F4)?_0^39G(?+EuNaxgyI43qEb z5IGZTpHJ1<IVoguly}7doR!h?t2*M8$Nee0E9Y=dM+J^ z`Mu&&*JIO$AH7Ke3YoRyA??qPS9DlPaU&xoOX^ybC|yXHZjhagT@T&Bv{Kp3c;U6)%MF$0YGr zSsCrLCFt=LGDN5`K}F?t*%f>x27|N!@Ww^ehy1?82)lWrv7QL3pqUdD2Z&<}bi8zp zd5g)=z#=x0$fr)SS>m8R9Tsz?A(N&1<%o!YtDJo^m|!?#8Cl1FYws37V?pe$MAM?{ zDSA;XL(idO9vrkiMo5m0w{Y2}H$<>Zx?1YM*3)BDXI<3UA9RRJYnG~tA9RErH7fsn zUjN?4J5mudG1X&xzWudoGk1k8INI(UbVLr?^ei0+)am>3#d8tZryd{t9j@qq`ni9c z=IK?BVC1sty2Q@Tw%F$U8);}Z%=ccwLzCiFMou9a zfLjYMnw%Tl<`gd9jKI<)FQnG!a*SV~V& zz%1&*OQV_}bQk)k#PGs(!o$LKn-qmU_*q&97Bo)`$+3E!o8mn0!Q!@-eni}qp59ll z>(IC64p|lH`{8wpS+^BEt(V3E-xaWLb3DnXVLGcCr7f8k;pe)&nO*a?`G3$!0`AAH ztkf3EUWrz?=_2$a_z=Q24&yVuNIU7Riw|q8UFViNAH%OWvuRQ;cO)pNC6k`+t*rS4 zP7!IHA=gQbsx#>I%uLUvO07al$FZ?cDshBF>*?reIDO>Z^%M7#ll{SIdgwTc)U=Vo zUGor+(n79h&RvLnF9aWnUVdOjY*@tODLGJHqxRy~CG4Y?TUl(;txW8TG=-i?k*`@_ z3Vp&nfdNQC;Xb_n^XET)4){1iY`rqt#MK1;LjC`|PyN4PHL)!mXv~Rit>(~c@~VRa z)m*s~L_p{2*fD~eZ-eT|C0U!3ZbvtoN!jM0sr|UBOTWfdsR40SNsSr@9;qzq?ODNU zV4L;qJjc8hKCg3$uZo=A;^9LuE^h(;5gdIt@*mq>mif#E-tB6kndv-Vh`bmscQOaa zQ3BVLF)4k61Jm4w;gufn)N4TR+vox9`AYgMiNt4J&+QpsmxniCWEr41N=N?rNnj9c zf2k#``&|G%fmskXGJbNqo$tQmWcx!uYR_Zkt)?bOIG-?4N!oF8J=Q3X{6MLH5SU2( zI@^U5&#FGw;suLkk-L0c8;M_S2?{`#fyZacBRqBP%(_n$YCWtKXa|H4Px#ABnq^pk$*b0LS#=pK$%BIH}#JYe;YRVbn z_bfC~7dopWALSca7%_FrN>&j6IL9NY&0e4&=E+YJ-r+nH*+fqk><8ts?Vy#qy!BFuukH=C&US{Iz&U+n z6nY7{ZQPD3Un)Q11jvxyvLa41vpwU;m5%t*bvBqb`1Ih5H-{@t~x37 zo%w!|3bbL~7yB}4NSmT+2HZy1L9jn+Q~BNL>K|;t(9!QIWd~OMpjLh-{NhJ<-mly< z17R@tdM5MFm4R|WRZ0%rcb8V~Py#p6x9+sb=G@crT&YwswBQ-kaFQnL57>(h?+LGS zTnT6Py0mjJ-zpi)m94H3^)X>sR#x4~-SRj=3K~^|J&948dicR~vD~L^sWI)PMTWbp3bY<4pJRKP3VU^pi+wl+d&x37@= zp4msK;TL9LN=P}2tb4lzDZu03?S*LKKc~2wyT71FKPVoV#i?}O=1{gE`@3=Uyy2iUcwAQ2H90oM8}wgO zIB3iF$mDU?E$TfiJ_#XW>s~tqWWg03#*|3huL~N)m6Ay8HOZJ3u{4!O4sKSnuScLa zWh?V4OZuKqRTbHFKTdi_MPy{VPD78o#*8{9wT+mzhwR+|Mza73@cYIW&$_NK<4PaZ z{2JWOTaEo`|Jgre+W$wb^Z!!E<&kE;_UWXhI^I1{>~T?j{N+I6Gh6y{`Ed(qVdf~4tcn))U46*6*=*l58GUI3vgs6W0I|<5Y~?sb z&bu0EwAciIKiYF22=^6AYiw>bTTq**Q*hHcDu1snNF6`mpKUg-*RX~NW!j%H2{Ab# zET%FM6$9m~f(WiQc#bx>76t59aZa_`y(?=EVtTF#KBrW7`UZ=5q19x`Y8;>?# zG@CiJ(&`K0(Ho`#wC43g8Q-uw-@&uI8!2S%zauq|K17@Wi)F5?1zlpBdD2n~L=-8M zqD664oO+`om@X7R>|JB%j8QF?fYu^yasc9UfyIVvh)X%p8I`J&yqbet zAvevMQqB+kpxbS(rt-}~4}~LntZ7W1t{e%BOYP&E(p9Yu#uxGRHH%ezB_1i93=kxD zQu!T<^SW_P+A{l#0{S7*!2$C%`V;BhuV%DDhB;*9fxMn1y{Q*jwU9SkvQrqqbPJJT z?G7G-pDr_Voo^8g;BFZ`wqxHmApIW0TT5<2%(POPifjzLx+#c>#A;)?X(*E+pns{4 zKWZ9zb^KFBpDNF4;MA0YjsHQT5t`{uH04j3UM#dWJ(oKQ_1(*dmcyf@-98L+)6`iAww7|AHaaS)zi++ zbc$wBQmj&+>Ezq;`4MJwS`qYav_0+es8Kq9(RZKQ{$=MP2aQJ< z)Y#)4Kzdh&-}U_?da3&-s_0mB={1oMc9ujp}FMua=>&NBA~)b}M1`;EghDRDV`J$}2Y!Ekz76E2aS=qKJ_ zA2N0WH3bSEyLFEBX5;K#tJkNz3k3%6Tn3eANBMV(?G&9;ubWEOH|%H2>VG#n17O|G zaS6Pyh1z3-1g>@*czclqX+b3TC_*nT4%5c%W~u8UBHQgg9?&Gbk^G`2(gF)6nl9w) zdF2CxZk?e-zy|sMl#TcE`TxKv4;U=dX!DFRMFUO*BLZIWjx^5kl)h=pO28#$@|3EmozRU6tScW%j`uw2MDX;QwD=VIXd7;fDIp&v} zjS_&%76(G6F99(P^-EsmjfTY+hy;W&kdTN=OKo;*hV%)Aghie3JQ5}r{+ z3v=A7@ZMe^x2|eR5ohjTXIMwBAjd~9!Wxy=oA zZ)HMPhn#_DByKX2&Pl&BS&i66gU@~_GZ=!vr4;$aX0HJ0)pwRmgt4ei0QT>;-R4na2qqnqRhPG$ua=bw0{ z2H)ogWzwA{;#~2G(&ILOSk+AwN?wSf@;{cndFM+_m{!UXroWM~CHK-9C?sOFPfZRU z?sMTkuuSOwGq3r7sWAoiMZlfOVy8Pmy37!?>s(Ed^D#H(BHWj^vNst>hDJ^teoK-J zhlo(JXNcHi^MP8dg9txb#LV1QS>~ot;5(go@27oLm#x7kU2_yBxj!65PnDXqM;Emo z2^*K*Haq;P>BvjoP+S@=fYy_EivX@2e^qsZfO?(lAA?T)t|U{~Ao}id@Exhk+8SFI zf+@?#S@|Lqp;}erx8|++n=iX!8C*ec^wG5m$JL10>9uLFT$ng?*x;>cxN_YIlaB{= z4!>+X9AO*+J#B+xqg@<^*Fo@Q7yJ6X4XDBPvbdRh3aHYsF*Q~G66MkzG%uc|jBE?< z9tXLovJ-{thY+a^7$2zGJ6D>Z@)K2!>4y_R-`DS*G32mpz{0 zIir+8=icrNE)Z`N4mG|)K!sr~$HN3|0fGt6|H9^{zMN#u;Hj(MPBtYyiKsm9mONv2 z>KHoA5)WCu2eGq-g0OXAG8k_co=din!LQT=J4fNQs?OQxqqW|{&Yk+p-)0@d^s?H$ zvX;GML_Gz=GECGzXcPwnI&E+s_N2YEdj^bO2}AslKC}qujbIxa){}@F6F*t~;JIGV zk=rPY$JGj(Y080gSfe7|EiT>rm;Pj&_x;0W#>Tab)tnnIF5hfOx))Z;M(2`SgWlL4(5BARURom1-AXFnZ?_jF?yRVo&Du;kzs3-X0wgJ9S-r>?a zoueI+rUTfU*hwu!H2{(?6j_0Z{6MPK3?l(~iiq18C%O`9zkwNwI)g~|LE9i^!_+9f z@7Be^CV2|nW>L5FlC=0ZeKC`4gy33+*p6FsDf-ea>+)pVu3%k@G?+4Uo~E$Q9Y@e+ zy(ngT54Bq71X+*jTsHpjd5QD_4H^<%+)qYNSpxA8(2;y=sEn~icYb#h{`-8p;HL1Y z$`kY~IKM|&4EAga=tGB4Z$H?m+fd=Px4He)wW>~s!{SY{=3Jbf=xyd<+ycx{OR`Jr zdc|iSCceCn9?4rkqg~GQpN1a(Q3?K!OXxpXRM*k((rRa_`az}qe7IWZE`1*N#6TGH zE#G&BW`)o8J?@&z2f{p(pv@+*Qa-1gL0lg5hWl#N54x+(1bSMvGlGw*fWtscra11~ zdX}2cUIu%BN=h=&Apmx+`bxhfoW@QJnH<5Ts}|#OjK4!uAy&G6p)W+%A4e?c`q*w7 zy2(jjf%S(M_Nq{emc0ADkEf_9dyA8ioj&$7wPeVO0ffY%(+BiZo>}k?Svt)F3Oi=r zAUB(iDry34kSvO*l|t0qEudXVSEcomuX;v$cNXkb{Qx#-ifzB_IT(n>99WA2Q6OaZ zo!A}btYM$@mJRRG)PynP`C;7W>20(yYj8T>%~0c9JIWVl?QGVgQDkKl6Y!SZ`ROQ@4Z%m&vR<$N}J+3a|d4lOkKH8h}>D^H(=^ zR`+P#a|z?_=`pf}N@N)iY+)O?5V}K?4&x`^BHvo6guV4ZS#2VQ$yGWpFu41T>T>`E zVPicucjtSFvH1AP@SM*TgDUQ>7nJ)MR}xBVPMX1+Dm!sq+NeNp=4{)x{FU1~fnRbZ zkvj^AS?DhdLstU)Ed*B1S}nDCSjwgj4Dy0B>l8J!azLHEl-6&vJsEpx$wIn=28#oZ zx zWJUn%x`C>vWu@_JQ%c!^!UA9P-fv&V`4ITE#LK^bm2cBlDmg@6ZAIKQc7;Y0WX+bJ zafwpDFK#Y%Mz;}!TqU%dfM3&ILAwY>4!vm1(&Y*|vmATeHhs}S(b9kq!aIFqKVpT6yvjh+`qnW4D> z8xl58GnI7Cw%ApjTWmt~pv~SP@{=IhIy#?W{I&7M?EGq?e#F_m&gI5MBcpTpJt3AT z%=K*Q54!h@6PXISb&?Li0^92Nr=QY)_OIx_>G2NDgc$?2;Ax{c%1-p~=H&rbC28do zoyVy&&(fFp_$Yi|K1A6&Pg<-Eo5-EhJmUdJ;Y}xVV+l9O)6AcdKj@ePQs|1~X-XkM zs*wkCzfVQV2g{xVjV32z$DRWAM+6zmkw5z*7o$~2z4iYr#gEYu1U*L&jAX%b% z@|OBT1s%N(Gwi0is%>8_O1hfP%C%;6yDv%sx8D%Y`854!n%&>~Kfl`u|9NTw;C%ck zDOmqg-$&Mn;P1Cc5x0p<#q zNqm}c;_-C%QssF9aY-ma8!1UFnrOG30@vm^S0{4e=J8c2S;Oy>`t0(}UIlf?56D+9 zIDDJ-dj3LnH)G)_RKA#GtFan z)u|0tpi^ggPb(nI)%On1jMyf-k}yR|B|=mE4usuIo zwZg2569)XFg4@dX)r&)AS`W;<4R-o+t$u7<2;ga5-+rLFU;TpVAfT2kYn-)dbJ?M`%JLRecI{l_5(!>2Qbc#^RFCx z49$esaL62ZBSi|&3gGR;TaWQz|JT`R*2lWP@xE=nigSCr=G?sZeqb;^jZrhR*XJxz zy^1upyT=-$7Rtj`6+29jdbI2fdWNH2EqHSCYf1cAwFC{8`>1kyGSPQH`=%}H@t_yq zbT@}Y#%YHU(WY-F61+88<+Arqzx*_>CDgd@nNHfDdwr5hQfaa88hvqDn0fHs zeIIL`h>zx{>U(EB6`upXaDm*n7})a)Mkr`%E-=6tlI1~sX9qxlU&J=gAX;v6(CPu| z^_Dn#Ks6YAzy-<)v)9De&z9`Ogk;y?jr63^XQcs4r+oRQTAosKo&gN|@&xkLiYz^rcgU}5Z{q7vCc5$6Zo(v z`PA^;Iq53Hr;$hZ^geDcwJAGmV~@eP2ECQaiPd(gD+JfsjQkjK=f|}Ywi=JCs+V0j zUw2k|;2WwnbNC@1qE+^po$QN`>?=FpY>)3LmIOjpG!V1y(A1)8z{kB>va_DwKBUV^ z)p?p<>AorRlCp!_aKc1-B)FM&doS2B5yMDwuf?925hyXf@H9(e!wfRyuTa z3v{3F9=_dunPq_|T*P0Cjn0cP2K%7p=6jRt8;#n#mfcVB5osKPHGtG!_n+^>@;AH4 z%D?U-zi@j2TNM3|KY=^?vxNEcN;qFHTieu)wP%V^-F-JGVXAUhqqLuPw;RHwYQ+_9 zE&`mRZ%!x@!#M*Yr1o~Yi1q#h`GDs4v{+BKA@)fU+};Ac5L)?K7_PN@s@mS(CQ++U z>5S(kfAHJPjO6l2MLqU?8}J){$WHh>%k&Rsko{buf8G-Pv(EMJtfoJh;PGdD!=LZ- z=dIe`SxtYQ_3|IG>;7Ctf8Hwk>$(1&)$|7=XMg zF_wG5H91T|j`luh6VD~26Q*9u9Q;SP?$5`6H}2v8>+_ajV|JWjliI7Z3^M+xU^(ml zb{fywMbG+cw+IZr0R-bvS&x1F$N^5;j)>oyjIA-I=X|Q~T><5y*h<$O{gJaTW5E?s zTcQWbE&q%Nocsgz69FS~!3{&CoOtn2(yOuQ_DhRLrGUuM{u2 z(s&GW4RFp{?i&iv7F=KJoq6N71}}>G72OB_04ANl^4rHr4{F9+{h;e_YTdf5iG5M| zgANr0Sudc8X$R94?JSS)5u<2i$h5*R8ZkemN(O{?VOq&A1%1kQY4FQHY)&V!`){w( zvifu!`nO|<{@ttk^{*Yo{oO&pe|y=_xB8dU{PP6Os+gGE-9|*$;9qPGDoXHPjr^Oj%a6hT1%9Go Ag8%>k diff --git a/Dijkstra Algorithm/Screenshots/screenshot2.jpg b/Dijkstra Algorithm/Screenshots/screenshot2.jpg deleted file mode 100644 index bc51046fb36bd2c77b11cf8f6bc28afd0a2faff8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 225916 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 diff --git a/Dijkstra Algorithm/Screenshots/screenshot3.jpg b/Dijkstra Algorithm/Screenshots/screenshot3.jpg deleted file mode 100644 index e9f7a1207f315e8f5aa20c72f3264c65edafd3a8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 224243 zcmeFa2Ut|wk~X{%5yXH9h-4&4XaPwQ1o|if0s#=RYLZvIH#DHteB*% zxF~Q#M^RN3{7%Qr$=uw|`H8&?33Jl#iHnPatcZx6v#{x7`$y)&X7;us9;OZ=qQX~2 z06D0KgQ=N~xeMnbb4x2bd9IBrG#97UV|gx^q{dYZ2SxKIR=2&J%yqmpbLE3)?$ciipa{$cS7O6A=>=0` z^$@ai=Kk#ox6GZ*oU9yNtnBSLe>~Cjk-e*nJQw)OzrKmOjpIM?AXt9g=lyl} zTpwHLa0KxA_|mhJZ&z_QeMw&cTB;LTMxPW7{WaPADq(*=PM28e)zm{Kb13$=) zksqfxK}mIz`V@FU$vNN{89Di}SblRqrT#oc&&m%ul zao;SgW4PD7$s_*A$?qif1;&d^%)FQR_yq(dB(F(H%g8F;Qc_mAt*WM@tEUe$xNm6o z*xbVMiIugpi>sTvho{$zm;M2PL9c?NqTj^C#=U(PpOTuE{wX6fEBkX%aY<=ec|~P? zLt|5OOKaQLp5DIxfx)5S5zO?=?A-jq;?gp9YkOyRZy$GX_=7GG`TiSO;OD#E(KnP4#P` z{!2OiYdQO)(EPQKz=x25&p3YkI3@V++^LhN&i&JcG!7aNuSg@nX>u}9n8;}XC_utbg+0Kal})()VBGgbdU!qF>ln8mcX^vF)mnI~!+HCdN=_AjoW;wQvKX;>73L ztGGQQ3wvrSv8PUC6|Qp6yf_tRqT!OTHcOe+k9^AEEAB*<4HGt;sb&rT%r>vfZm4(u z#$d`(CrTgN61-bxf$p0Zoct1Mrgb#u0F|A4H{QAMsB!=DdnJUw+UNJx<6VoVFQ4$I z+Pdo(ycz|6T_N$fNBe%_&Dri~RV6@JgGu7e-D7_q{K0^37qlq)JBnTjrF*<} zR~AHynmqr2*Tn_|EVE-#AK1*wujBTdw`scA`xof-cN`@Js_He^?aZPvjt&luJ@-tk zNx){yXzgiSV5&zwRFH1Zrl08v>-MhB7z_zdjCGGQ^yzaiy(b}lvo7Y%lpkab8CWY8 z(k#na5q;9z_GS4E!umJLRHR&Z|2~tj^BM_o*O|t5%}3By%igyBoFxHM zY;*M5@SDE3>9v&rB&nN_n@cdd8=}^;zAIBZm#ZbPPj#~C2`m|*`|iW$+1y13wPy5- zufa$~gGbg|I&Y3HcWLp~w!Z} zi-gLVJ8jz-hUU?ozeUw_Nqg}et1lnl1p4+A>Wt{SZ)~o-)Ha$HDEHaoni_4KWpI+* zT!N^!DKDjd6>L_6Cweqq-wk~$+Q&s7s`~`h;sx2!!ad{IWg!7?NWhUZRs@%TK8zs& zbN0kp-$reC_>MLSI7d!QMQ$aN06Pw>400Dj0=`ZXS_wfZXtu>vA}1w58N2~X9D`0f zk$`0w35Y=-MIO;A`Cji^4a95032G!@tBeFVK_Bsh)bo>o zATko5jXuyK0cAA*B<)MsR;+Z?W&ZY7&Z&szz^T9T!DcBImH!(XPAU1i;AL@h(-Bk? z4K}&PZP`{l&#+&cX2X2U%(~cL&Md({difAOWtrJ$8Qi{HS{Y^@HkisC`r?2Y|31`% zgE6W<)Mn&vY>yFCgl}%2qr3K^M@cMJlil^|tNJvdj+1t%A`QE0;!cQ*wi3eh@by0m zIh%|Gpbe+PKg3~kRI|oBZ0g)k^o$ILI*s!kwy`?g_^3V zLgqcL4uv+?p0Jf}7OA{G^?b-r8M6+VfNYL!@HU#`-kFMO7pD>~SHC0J)Fe|rCwn^1OZc+26RHrV2TJ*!QpDLtFffw;h0nQz>(4SAQ;ViJVhUt`Q3nw;Y z<$pty88H}M^rEevU5%W#lxb!Wsqbr^;cM5VUaJi`9Cr0$4^;AndHlyZtvr}8N;$=5 zrK4FZp#0#CXWV25M=SB>H{#nN1N}D+o`{UI;d=Be2mG3op8uw79>9O6Efzq1^@may ze`smzbCT2Kc@-?SMJ3IRMcLzAvF%Olv^4>P1{Kk|J*s3gF(GZths`ZX@+Vt*s&gm5 zz{8#oOHygVr!dGl`i--*gj3brgrOQ7E)w>n5d3h z(ASwBt81H_ENkP5o1%x6l7I#|ye{%(4z~1+kmcsb&ZX2Cc3nMZCW|08jN(~MY1Ske z)Ol1v>Z^=<#7@=W;nCDp-v{tB_hM?&3@a$CQ>};i@IC@Yg@6 z&W(TVw+HUR1R8DCeewwzGa^<@OCFdi_tAl<4o0{kxT6 z16j2HMZ;|GIrahyGtQ{{LM`rg@8n(gaurt>m0SGBoTK1Sf79S5om7qf>@|ie*{kJ- zG0TFwF|&Ire%flvC)wY`RCF>NvK&b*OEHpwGh6{q1_t9A$LI)MvA;l%&B7L9d_cS= zifofjCf3s-7t2?+I9LRlX3K1>T6Ur7wZVGn>;iKk-93r;-4J~Djs^(1TQd%Ie_-z4 zSB4H;=iURUy2JHUvc}j_#(P;Lz>3R)BQrm$d?P4%OAD_-0v=XP63*>T#@tY6P!k(& z^L>KF1?PT@o93gm_;?w;dBImV${^M(%9E!@TM7A*510S@U!d3D_s5Ip;@TSx-Tmd{ zDMw1=4L#QKrjMWLxqUOUZOX|jeoa9L!GhhW6QNbaAcL-{TKYI18*7>STBM9EVrX^Y zdCVZgrovwGvQVO5Nwv*c{@#k22gX{~E<0q-P^yQR5!d~KX=#4d3@yq-2$^$>ZY!#8t@1n29QoLt=D!`;=1+ig)9oHlA5Q;gsO_|$XZVaQYL3+_h(z!8vT+IJXx`c3cgYdv8OkA zvj6(YV7Qszp}OaV0T|QQv?e#v11(@rAx11-zl!zY_-ZJqv@>7-thD>PU4)z)<3kOh zfi5dy`b692>)r+?p2<(f+|nKvemS0SmO?<4*G;;q?6J8vOxWdUl;uF8<0fNqrJo{w z;hj%XVSSjG{%3+Wru@Vpi}3KtqLQwRgU95X!b;xbh_#>k)?z%7VP@Ge+%-fSZkxPP_97--;X-@5l>2Hb4kGde zROAPAJ0E@~{*U97%o(x7zs!TKV08|SoRx#$XN zi2UR)KeQSpsrO%IRD!Lkk^o+E(Eckhh94?;9en?dZM(60^Uo+l(^>38vQDC4$?+8tBKqtj4gcv3#G zD@g#fq^u@iN+o|@XtYU>Xk<3laK?ljc)C7$6L~?4?_n3)%oXVoNLzcwW^_(OK*3(L zjtQ(s9WRdvN3=vUQcIs)f?85iF4#UI0ZqN%(l>R8cOcU(1YhK8;ovt8GNc6wU_`i; z_lZ2+5GtlQvzUXv+rM$!K&bBc)am@aFMOGR&paz^kOa`+Me;rP_JnY~80h&?$)t>Q zYmMVrsm;nQgc$hXlxeWKmYmT+BjeCa#~_SZh}swy3d6Gb%8LXDRa*4d$u{5<5`jx6C*WR zlo5LZo6yiTkt@WL2(uo9hJb)Am2 z$UgLkilOA3)dw6 zim^yUwUy(Ms_!=wDeReslFqCtBwcAbAXm9mw%YotOIqoQ)_1*JV(yCR0_9O@YS)T9 z_mTzrJhK1rZfcOf(oy4F+tL~H6&DgfK2Jk~CnNR|k|j4HDnC_Atk?=-pW5d7cFaqT z<=%DVi?0I2&bmn{F2QACiy~_*4hrnP?UPgr=We<^ur5@n@uED9_-@EKGo~g=ob&a8 zRYgr_!(J|TjLWFU;RS|$HImM{`)AyANT;w!Ww*ylx*w$Zh#V;pznKW(_Ah_Tszcgi zCQm zJ8gv{Bmejtmno%}i2d#+5|zpIlbf2z6Qdrk_;S2Pj&xtBqTQ;xXhTwl!kveQ;j*wV za2mvoT%1vhEKLvs3Q^1)ny9;SCDA=6lm@ZGUE?VsI3uc=XYJ~#`*=F_aqnF3g#81! zMQ(&)4J$jty;S`;@i)2&`Mt&?M_E=W>xsjwP!^o=ixeriUMNPS$DkcAMuT}SNb1=UhnR!#y5@QbxR44Z5TIm6{SoV)7c z!F=)6b=pr+4^}CEF|wZB|B`?DvRPPT?iFrWOy_wgH!U06^vXj|_5cy#I@2U!r}S?h zr89F%YW4>R@`x_V&4tyOOuQPdHya^@Q^_4&IW$Q;>dlimX)Sa!%j&(UFZs3aj6BJ` zlbnQ5;>l&hU=Kwl@KsVLJU%JTwLBGyZj18uZl4An_OK8K3Lgv!D(ULr<*G> zm*A&MtmL5P$1jzrZ@UWR72l=n(GQ91lD@+_l?3p3+Xk)zDZ0>;?6n*)48G z)Ic@8Bj+KfDPm=Y*uB^CtJ|5RbzNe4Gw6#$WfG6RcDtd?%_4;AZo0(4b1tV%d`=cD zdorFgT2--y3RgIf%fX-<-zi+gHC^b{4)&N9Q;B=kbMKlu({=Ytl-wVe&r)&KmSH(o zS)hJ+b8qt*IQ#G-`>9@xe=;0hcA;Hj+YYo<%ARK^m}MF#sD4o>r_3OrQ(hshq10;6 z?BXEU7{2)eOzy>#k!sIQEF6%joAmu5oDc2s;94jM<;(@5jtQ2IGgr9 z=qlugaJa0*CuX#$BBV|g_PTalTfbg@*nI2uW95h50mkI(DmQKVNq}hxi!J$HEUx6! zlDGb(X7BFp55x5@1Bj9uwL|0#?FrL1EoVaNVaZZg9`%0K>{wm<6vp;WnE7R)^c{05 zCucQn>$RM8@0^uv%Ww~~y<0dRhP=GECK3=b0{4^C@y%{f@#yhfLv(7}z3sXf)>_B! zpzNUOfjUF@fVMZ?sfeYBb6NX{=jkJLS_STdOu zTG27yI$6OD(@&1ns=G5stlRDnm)O|!=2!+&d)(1vF3M1k)$OqwugXc=@R6Oo712?7 z1lp(I@EPR_CA_>$0=gXszcB2RfK`wjo@L|_6=*1>%%H-sImBBLct?WPh(a)WOAmFp z5B+|4IhY?c%S{jlLGrVo>P#&cvJHxrBKU0}cN7QBjNKcx4)}=R^9vqq5QDsSJ|p)l zq0fx>7Lkq0+8EjgNskn6Rm z5^jL(y`%MWow-C_u)_)afbbo#B&4IweNN33N9K40)-#7S#eU)jZ2d6JV`QE562?cO zyD0Nb=<4naBO&-H{v<}7Af+@|?Ja06wYBU{W2eyCD8?nG!hLPAUm6m6-FXFlBtdLf zxQ0VwP;B^XxaawchGl_x%ZHB)Tvpon5`}dcPM^PR2H0A(QOcZZaXiqJl5VKJg&kW- zqEmyQ1bg5G35up0W%QNBgHMf~rX&PTgMt?uvsK}5hzr(! zlPzgIR>_MWcp&R5Z|7qISEmWck#3H1PwmJ-w!06aFg-1;COkMDGF%2@gNVQ3tgnJp zlp;g=T<*=|Nvgl_PzYmgM*FExnej2~+IFpKY|hlppP`%XYF=Y$VCPGcFw4k=Tz#JW zn#V0kJi;lP=8=j4dg}e*gRsG7TYFdn_k$;gY#mMcQ>RWc^@zdb&kjQU5#rMXXI-pR za0&9mgWDmVFwd$X{8(j6-PGhq2v!RR1i;JdD zFsZ>=D)0K<#wd))ZAZ9=73skFyYD3h0*%uWdkl}9@_Qp8i~IZK0*F4G%D=H zYq1-wS<=!6(`a=G$h&ILU3MIUJ%;ng_hNiN$8oH7vJj$`(ns<^)7m;(pfyaB^$23m3eZ0V4r=0J@yxm_t_0h zApQ;f407n^BneQaCTO7AMFKdsv=Ne^nmmOhT!idiL&sHnk^tWZ67Zb(lmz@z8;IT# z0Ih{VP)DSJ_90~R#Ubv8+wb=kGKCt6CaRqP{nZc4(L0FU{X7K2(LH3_FCaW!Wn?5q zB%uv9&4?@c53t|7>*&PzV zKmuAT%RUm_Hk0w8PY#o0Hr@BUD+wR)?lWOr?FO=U4q0Ka)(d^(k_}gmj{kC!dqmZ) zngHoVNFA{wq;Ka*Xo2d7$tC$Dt{Dq+i=0buFjT!v-QsvD>FVc)p;^r|&L(k3$Bf%7 zv6j<$V^Ci8j)vF$wr&m{Z!Ywlv0`~^>3Nh9?s3qt_dQ-iYYO(o=g~oESyme<2b=pHdguCAY#~G8#cTt$s4Oeztt#HidE=3cQQMNCy{kI~IK%R< zju{?X0+6zzIYg!8q|eUS0Szb@CrZ#92-tg!ef>%%{?6o+C~1*5R1c%54y4Y++P*5b z%#sh#r0_9DKAL=4I+B6EWEj|z$INljo|fg()6?ouEuOD-lpRSjWa!}zH|VC8t%w?& z67c{l*_<7JX8cnkL*=qEH{^bUpxVZ@@45v#%uyc$9Q$Bz%2rp7#3h{^!_R;J!Hu@k{`IvBQCs@b4)>LK12Tg4wBIL=C-mJ@ z9r?PYftGTf*9t*WAn%|$qt=I>Wvkd6{AMmuVpTnTUyO|8KzOwb1GPYMV}kTkD&F*L;H8J z$mcrK8I7Q!JcO6o468dfvWz>)TQM7&W^w!3aX&_(iYfut!D` zx5>lLOOk(QmyMsVUyx4FxFRX79;-87o!4`AgfD&K{o2rS)8q1|LdF{RTjC`SY*}{W zYx8W(^GElkkxazqYds!(cX7`*AuR(O=Zn`k8EeW)BigF`fzDetJXPUj($`Ot&z<(j zUm>2{n4+OD!7F#;k?u3zHd^QJYk41MXMZB@=tx`2-FY8T_l&%-CDs?SkfgwgbH^G@ z)71MYZ|LE?bK6qKCV#Qbczk>IKG&m@`l@<;Ta?nRsE?phUShT%d0)S+ASF9l_=Q@` z)?AM4nZk?U#g2mV@+r}CIr>XV#jE-KiM{$|9oEj~7jtyxwV zHR_Wk$ohzY2_`JxD>*aF#;aHpu0csQyVq$gcGb+}C85em5{j_!=k+^U;f{*}z(%6&Ik-NI;Q$h=T06 zwN$B8=^;%(v33>c#tJgvG(Ha)hjl#D6azRs1DW>ANx-9Ia$IN6R@YQqvpiq3FIVBK zG+C>cMiQek3OcXST6eCiE##2(PRK!~(B#(80(*ZKI4y3SBXGn%sN|$&P0h717h!YN zv}26A9-X&eX{vIc3UxM7-0a1`R_8XmTH-k(Bv2#QI@TqOGS`pWq-k)(XF7GqGE!2{ z2ztn|2b9|^#4Ky(e!QnWXR9puKFV$Vz+|IH|N7!%U4i;gOEs~1)vuZgKk*h+6roOn||d3OLxpweTm`Gjm$>m^pUkbsZW<%ruYw0IdW z@f}$Z@C|BBodf;&>l6E$Hs)A5*d&Kc-|ke)ECvS|0GtAn`HpB5;$l z5#OQAxURZ=c!Ac7YBrnvAq~{Xavsl!*MnPwks0qr$2L!F(?5I>RXz)=pJ2nDEyQTJ zH8jRkv=1-KK5dhuyVSrFncxRyZc3?*CXa1?$#-g8O{0ngcz--thl<5`*1Hvj>gu7Z z`Ut5w|07j|2(IRc6Zig}Z0x%+0;o6z z0Dl*Ee`fN9Y{Y6C77fm?zx3)+k0^OEQpLZO_leK({>9hyCuT2vx%Bpe31piXjNQcZ z-Hc(g~5xv6LGm+#&V@BIlvOM5#)pT7YCO=Bc`|!XOs=UK7thML8$+qQDG`-Pm zd&+2Y?vwci<~w!k_IGJwRH7lRAChVf3tN;;QZdOvUdb<9wV0RVNWj^hjPH2aUgU?7 zwky%MBl!VFPqtBK+VZf*(^D?_g2B5E($vNC%lf(V6N%^Hyy^HZ2;19xSrnRK4982B zM-OUjXML+|;A{#k>PLJT;X=FZ+}O(t4K^6dBBRW(t$GWCkhkuhFQ`&9hMEvXNAw=O zb%)S!*9|hfa^Hs@ywJ=8!Rh*Co2;k_s-ZKB9Xv0&qR5o^s$fk!FbZMjbZUkt0#Kg` zLX}bP$4R4C*_}1a>yR=1GT;5(WgnfR$M~DwL{7Xz-{Z}uF{#QEfws1vthPp5Ki}N^ zOH9<;KnQ&9HOn{EzQdFMBD%38iQGL%cHrVJlWm}jiQa@;e{FZ`aC#BA?HZS z_q&dU8K!+$qd77AR(i*q#(=t!-1hBfU)>_36cHI=@=|pipOe2NI<>U8O`bzztgHu$ zS}w<>8XEZ|aVua7^V84p4+Tb{1*DsMTNU7&lwf}@`o0-ZxLGx`5U3CFxu(GeT0DU9kjLmEo!E%3>?Edud~OZ_?KIZHi#V z152r(EjaaIkXG^Nu7}AqW`HL`y?1;#=l^y zS&yyRk&=I-``wNEyu9v>->RN*bIZ)a{E6Q=m?SyEC+SK=I3|rw@mrjt$g6d~n3vMo zWHuhIF7-4z9MY6C(DqqHEs5QgEuE^w-pE&9E_6js&-&3N4HNMw_nn&Bqhy3{^CVp@ zt5p&+h@gz7HS^^pEoWAg{MfV$3hOaEp*a;8C!Vjdmz1ga;tSA48FeBrykgMd3fu_& z9y!=2gKtrzR)*YZWnRzqDHvKKU*1NBRRBmvFFfe&D$9vd9Y|EuGuB=E7G*eWq`Yf* z@m?2KW_^sInkM6%ZH@3owq}>kj?~@&Hp5@e{YcqE#RzO4^V|`n<ZRKTztBi=br5DgHiuWQzLe={ZM&wU_)5WYZ6!i%h?ssbNhftViHd4^kVZkp~y1k#$f4 zZ*mL>ACMmwaHZh(*YFgEML4ybe5yyzv{YcR2(7i-h(e63=eeq?s&_(|0N_h&2amrl z;=>GIbd%>AL!yDqji&2TeLbOl7HR!GOJhgkdo#GK6ub)VOQq#Y5zgw(LI2$8f$2D<{ zo$gclC#K|cxcAJkTJ>Gb#4dITLZY0{bUXaS#PVQ>x1}edo%QrkXhh;L-JD09;C)rf zxh`q^TuPq9*abFB-(*u~vhD`*9nC8XEQFR{Brq~R%y5!>1)Q6h5Gf)=LZ1ZXUnyya zGA+g~3T@=Ol&YGRmsDuaQ?))i)lx_9K5k`>cNg<2XniY2~^}Ry>)AQ74 z{nZ3@*GFJBv4nW{GVf$xVmI`H0;7i(=0wbqDB^6NW<~mlrf^A^(G%M7&NOM-0!*z# zTFexM-s!P;9Ca`RE!2()$Y{GTYFj$7Rx>K?e5KhVJE=#NCrVW)%7_OPN%tg=zW`gZ zar{-VAB12~M^r{6V6hIKRdQgq*+5hi2|%x2vInQTD10+uTl*2vjUnVFv?F$j< z8G-6{uBME#WGr+!F^G~<{pX2*U!_ug*lv>LbAx!gk9_95X84hI(T!6<0bGLX!V8NTt41@(6CSW>k;bD9x|KuUNZU*+ z_sCIoPgjOY%{7PI9G2T(StDDiRk_fziz%t6;*?{oW18sw{fQLHG;-m92Mif5IRd6a0~=`fw0Mw zzH-F2L+BS0K#SYZ+Jpw-g?#tVm3~^HzZc;C@J3{}!PS^J>d`l$G0ox!AxfTIfvKyP zlo^;Eqocg+M!jwOQ@f3oMC@gIKgGY%H5_~#HR-+hZm(<=i-k8pi%?AwbRLkV!AOt5 zI@yu-bZbVpUo_~0PM&mR?{VkjVWr!O`i1XU)e358V=6p7yFDL=oaqX*#dC8Xge-KN ztO*cr4SW6VSpnAn3NO2qHm2%r=zoQNR-&#v7oeV?v0H(?#!aXs;-uh?=_DFci$=GJM|FC!;>iuU@k z5ib#Xn1~m#L`INbuUybHL3TZz^N@hDxUXd_ytGC1PqQvQWv59;&??!VP7!pmm>db;#!{N+vtgMHRYKd*1WnRZ zJ7PFq>L6tMgm_+P_Ri~=Q}n^ahc1sg(!-8jdlY_b=FAv}+VTbnnfxY8wHoZtSP`YL zVHwX9cyRZ|ZO?S3e!i|gR1UBG_PorNlH~>DLVb+nfsc~2VgQDkeyR8Uy%%<3D>?3( zM|qm>uvZpL($!vTimR&0OQ>}iS$;g!%0S2v-XSd_&f1t=dX>Nxqkce zNoU*B8Lzh(tge9*p>%8Y3)GFFh?*l2gxYr^Bf@iYGQ3)I(z2H`Ubn*KPEcw^Sc>IP z^_s@;7p5;$ur3MMgDda%T}@3=-^UkuTiHB`4LPi6gUJx)1ipXzkX4mdGO%A|4OtJ0z--r38u?^p{|FRtl#>D?0}W2iWKf@`T) z5ZHv*8NpB6#L8BWzycekURgRbG#IJRj)X;14TsvsmxO*F%d27t>U@)GD6y289b20>oZ%xfb`-dG72EaVQZ*J?xAE#QuQn0`XI<)|8yo-j zTJg*`&Nt3HXz%^-NMG?715~%Ny=A}l&NG$;FfZWGTOB&aT)Ga zmw)l{0#~RdKjiZ0Xo}T!iSXX(%c)ZxM$Peg`wbnuJ6dPu((W7n&FUH|GIL}J`q7?@ zN(>u1fmd{4nuqA>O~JnT=;)PErG1Wn^oF?poi{`edFF54kh1^H-jM!(6>rE^+?v!> zPKRc5d-Da_cbZ9`Se~Ww+-h+u`+nYe7xfCVcflYv=~{p}4T~R>!Q*pYevkz?1F^$| zW>DBpTWpXUqw&^xaHIk|iu9Xa|A0kdF`GB)+r{9wR9T*Xum)<*sVxp1D zV47wd2XPV(PDVA}2M3nJli&$HaAGgH3yKwHwE|}yp$GRsSHl&B>nXLMZ$AKxOUTLr z9d*bfACAp7^sXdwHi87$rxLlkXu!#3Eut!vcndmhEZs|dhTKXQAsQgu|I^=A!7C+k zkbn=#_$VYk2-#Tfm_Y#3?B>+q_yXK|@DUx6Ns9Ohg$GTCwH;&w7|YPt4}vBrp*8{+ zA_oQIq@f2qUpIeeE$zIgB zKu}Qw7_LDFlCMPqB581OXC*++ap1GmNkA+ITQ~gC-!bSX5@;<0L68ZyE)O_4%*FA4 zuzkIJ+ge$f(iP^zg6jmcU4D}-Xh}&$O+|QT&$W1~w_IGI zMWRyxWS1Oc|B|JS{bcWsz^0wwJ3FeS`LFI*_ebj&Y9Sn7l225#P03KKy|MSsB#S6E zHhqU2y9>bE6?Ru7arUn!xO+R^IJ~{p&tFx#OMdXS(~I;b(}Eff)&`5(*B z$|CY-+0_CATmS4fe~@nTbI88rEBDPM)9qyI; zFswJ{OXJiBZF|}=B;aB?E>T)5RqJA3=0`a$Kc5F`ZYI^AqmQEHlJ{IUB_}GT7xCJT zOb?(c?E&1c__(Q331jODZ`n)scP*A=72bU`P)c9Auw-LHRiAR2jL0`poO2KoF8$fF zQ)W88_+ByWan(WTI&tP`r5=7(z@b^2^|*P*wXqE0EjL3?o+vo-E*LN~)75+Pr<_wT z2etMd;S-+0GizwrqrP5TptrBVf&OvO+jafJW17AtyS8F~KSWPrd^xjXX0m3ia<*mpstx#_cNk>`$YIbLtM~+9wvv#1=ods`3Z( z2J&^EyazqeQsVggAr!Toz!56Lpl0nVSgz11W{aE>K!GE!oHI0)kMVn+po;@GhoLxC znunuR-W8TG01X`#hdwy6(xZ2J}QJqsv&-nHr}M8>0nB@O9ITGXE|F>_fK_lF#De^4s|BMt%1;qxSvF$W+g3I*Md3 z)1Nm$ZYJo$QuKdh$T2PbmXY-jezD(W=KVkU&ZHMQ%L_v42WB8p_SgP>B2`XcW2hrX zLtH9UF*7BY;6fz(5!VYP4g8B(N`I*7{Xc5h!T-d2{qvynx7Y~w0UM|og} zO@5tgYvI~=;vO`nc4}paD7g?n_*^nf#HF--Z-^4Btl%Kui<*ny3nM4~VrWnBRs_vB z>H$(8naQeIG##E7WYmJ`8;iuX4^h2{C}(|S55AJ}kwos2NU z4Mwe)93POV=^3Rd{RJ8`VQ z*EYU`p~`zSU0rWWK#TqCGJJPiiWp$SRkHijVXaz5W7ovhvK zicetdb20P~K)tnDTKhfccAZecDh=3{&8$Oo>i`J!Mxj!_B}T|?Ps8!gK7b+4APW7? zUM*YG@^>d{y~T(Ehb>gd3K4y9PQ`)aF8KLVUi<&1V}_qoc9l_9$y?`(NkD!f=p4A2 z&v9O~5qZ`mlyDYg<8CkR_>bW7AB+C|OROvLKQRuG?d&}#0h~fo#F~$w#8KGjYyNx; z8|cMp;}k@2MZ3tiVB(FXOvj1>eRoNL$+Uh4tc3^~EMKW(au=x_-99L;%y4U(Q zow2_RiK?Zh8?^AQu%~_GFrYdipS(15aK-QJ8HSyJB8&!$5ycPf1Kk>c#-Q0-uqYbr zSw9IDbkV8Ib!S5FHtMK-bQ{G&`yxi(q-F7)7Oi$utx{SQvQFlZKc&12@uR_av;va1 z*pi7gpup)!hT4#=#~yK6MWXOMa3L+@X} zeDn+8Tbq0b#rar`an5w)Cf*S*=!@Et1fkVlS4aI{EI=AL9O&5O3k~W1ZD^`_je?g0!>gEMTXDh-dz(ApW8-{!|cuSqJ1l zGGG5ymZSPV0UNXj5U|uI?|$yu&2|X0+z!(d@9g=8ANuh`>?6dV-W4-KNiT{TXUWVC zqIATH@A)a5I#oBe%Xa5ZvF#!nM(|23Et;t@(;a6hJff$>nL%aPHwL$w9C@Ogo}^TN zjWL(<6kpve7u4l$Q@aNGQ1mVD{!XcpEhe9V&R&NSyg{fQv(B(>9{_@RoQnNy&6YxU ztvLJmsA#NC!qg$mkp!GlCw@#mU;$(PQI-_J8PsmkQ2A-O2!^1>$~PZf&HH_Gce7`! z!TY)LHVB`=NTd+sIJ}U^VE}U0o>>3cb&{O~*jniF3o94R0eZbAb}!{H(AG44>hlR z&6)N|E(lxmUXI;c?_SY`MS&|I{OwA965tQcyWQ==hk+|3!P0jRp&bXw9K;;ZL$feB zjsCXX@e=^a@$w%WMXlSrtsdQqxIDJNGL&E$IwN_n*3E9MXg61m)v8&<qV}Na1a34H_4?#WMf3ZkkNglrTvkd75m0@rlAj(EN8`ocf<~{FYN9dmRQ49h;g5!=3&pmR7I%*r{~ z$Dy|6t%JAVI79gEX>js(lHkwryIU2|DhKGRBtQ>D_}d#;_`FyDfB0lMZXEuw z_-5s&erI$3W_$jx+5X;<_vea8|7B;%|Af-~^BI3xhx(uQ>;0>wB>gEO|Cg33|K~;U zUnLIge^>;$#j<0~p2_g+&;!M=Z|qkHg$jU&qF%Ie6_&QP!arDj?;=lm7}eAZuCPG1 zy}~9hWJ7W&7{NrmQpYnvK4{vP_R``u)sy^lUd8t)e9&uV?7O{kYz8e!cdfkGl{td0 zGGrf7>&*!4-P0fp%HIs;&o>+V&71n`Rxq6~Yv}W4fBRVXXmih16IE(4#{_5GU=p4e zmxq}Qtv#p3?D1$~d7x=N3Wy7OCA^4@4w_JEkwf%bCnOk0b+h(1^@JIGciNA)6<#tV z0j}Lk#o9_Ydg%2|B^s$0Rr)orZ(S6&3%~SgR?m})I2|3kGJ@(Y6jWUV{blsQ)chzu zTopE?0ZOq05jp4aX=H18g1C02`)QAqBhRyfD?Cx6WzI?TL8`v7f9_HiH?=B8Kqym>`f99jachV?+gppN4O1tNtaodBO<>=v2Z^p%x;OK|{ zo1xC{Y5Q-$ooP7&LMm8+`dE-6R!WO*!>ckVXrO8X3v?B3(g!isg zcxNzgK~v$)C5Tl+vY!ndPA7S)}gKez(Y+h>LV@zvm}XlMjF;bAW7mS?ZsvX4&zcRllt z$Idw43HUZqpGk!Mf9$EgD4yQA7m$kqO_FDVyefD$rIp=xqUdunw#D_?Jym{vw zbIviwd>>FYnP)H?5YsAfz^3{z0RiShhN_nIK~DKf6DUt^jtCKAPqX*Rf-ru&~- zPrng9WMFyDQh{l9HPF*j->(6E{K=1Jv3<>x3{hL*b1g;JKJx`>K*LcrdsiL|_WK?p zKe-l}cW3LS8pu*?ju$Ka?s_W3uL${2?$8L$C0gSR75PKgPF zZo;_yjrE>&Hqosn^6KkqQH0AlKsFvjSV&h!PBkQcHD5Yoz)MvU~x@*29m*n5mzj=FqGO z!x%|JuIJNYQA$#@2m4VA#O0eISiahW!ykqux0*W|3c6)ZgEhMzIPmv=*BP%TMdo^Kek8gcB3OL*QT`3(wFNdv z-P4Z|$wtjrPtAcIx_$2OQp4|=AouQ+qdA9t`T98O8fMRgMJ>g(D!)!(7hKj;_(8!; z7C3E%b;;zrZKY9fWiDPS8f;xLK5K23mt}Zo0sv39YRSn8m5JSlKYGN~l zqjK+l659TXUIQXcUTWdd;`t)98f!iv&9~4u^XdU=S#y1g< z8C%&aTI9ONS_)?A3F()Bw{%6h$N5vx8Ga3;Vm0@EIxYiR5RDN?ac58|1Ia@$0QBE1hIhzeN=#Gk$_vzRycM zuB?rK7Y)AVOlpg;M2*NR+h!ebMRAPJE;FanjCxAJtP5vUNrBbI>HA40hI91sdoOCh z4lAbx6m-0p54gcEGrmDC(o+EY7xb-SAgZ+A?=7*v-IcMp;Cw@GRNz3V%V)S>dPM_)#TOjt(t z@+3#Vqp0z^iS1MlF}GAsN@qez;+B>~P!6AxqBh zZJ%uXtwAME6|JmX4;&!B6!e(-#Gdv^CZB^P+|I-^!)((zJNFw=Yp&PxL?^NpUF`+?`eIh8 z$;q(9skD%c!)+ONG-<;S9iS`foDZ{xB}lO$*a+M&FVQZv?oeaSdhP1!2PSy`YG zZXG?fbc{7_ZTeex14kfpSo9mnLwc5T^LT?Vsn!_Gc>{+#}7T#7feC#DJ(ZV=@U}CTyOt*JM zs@Lr>M$8jiZs5b%ZvkEz9l(Aw1ozcOQEigp4H#D8ZTG|zJJ(~Te}YQ2 zpH~}F1jaW3!+BmydRoq17yAphX4Fp^Da5>AiHSt&Xu~snYy(R6l7#COFUEK$8#X0{ zmt4JgW02CA(;#qeJmSM-bwUhBeY0HO>YDn@U*6KP}zh@6Yz%q8|L_AN_YQV?51*`Y6rUg3O;b9&TM7^GWCXH*U8Zif3ESopo1H z^E%D9*nKG%r`xQlJHqq$W65Gy%$XcYRIzzCR7F`5&*&!{bf;FcqsOz9(HZ^h7u$A6 z$HkI0!!8tlTh6)ioZ`>S`)Ys56F&}LXDWTlT%ZXG&UdVqn?N0Mf(+d%d!r%Pbu8#+ z-V}4%$@`rH+STj1v+HuZd>1}p{c}i zIQ7QHDhs^^LiEh#otriYr#^dq3ic>6`9&;>VR&C207iMiQcHW$@c zE9b5bgAVzS@_kQ|XNo7lf&4sV(yM&Nmu&k!1SiEwPgX_tUQOuv+@<~ zxrDE)^;QqOxzbFc%EdTO&bKAeoz@}RR4#IN^C%m&m~yLeRIuBxC6gMmrtm~)Jtg{^ zs)WW6Z?UBAc6|aI17}lqoYD?Kvnp#$B*`r&cm|b1OB_z_d~caMoyYD4og$sDe$`OE5^p5@ zhU>9Ho&Hi%?y#>T*#OxxNqh+bCMi!)(To!}&g}^g(1=hkX1de6PggK2vOXCe+F-8x z?+py{s`8V@QYOAnm=rfXUervVU;knngZEZ0G&ji4-!wwMSSQsH{SoAV30Y#m!*~xq z8~VkBwFxALSzASY+^jXY_w)ie*T}qOn zmz_B&GFdudw;*IH`C9th=shiH#V+evg}@BOtC@M(O?48nF?hfH`LP<}b6@cZ^q}pQ zGj}aJ862GNcOI#b>6LfHT&T1o>&;J4?!%SCOcncHK&3>ZM0;yF?Vu&2%(q_5!NbkbzO_A?TVz=UD0e>lqUYq@RV7p};+2tQJ3cC%O~tJh&Us-Y?HQ5u}Wfv6fSmQ2{1YaAR< zbKA>O1Ffzfzw((${>!$=rTp;OP|d?|AGC>YfaJv3BRyGR3%4Ienp(!FFXlUKv$HfX z8w29^ZB&Nj0rnqM!G|gHO`Z<#o-eu=yEdq)A%AnFM*2DI8EjwNIl$}VD(yTygP~x5 z#x|r{E5mfaVxAP4pZvn!?NI;2r`8q8URErtpILK;kCGLL^Wj{bM+aS^up%?7q;=&y z_5F_)^pa2aCZumpYq{cl<}&B;*`>of*q<-~e4byb1Jb{jL+y;wJu&#xwX&r>wN3)BpGD0xTIGDRC@!^v4^els z{eF#h7Vi0v#&!;(usZ-md!J@|q8{N{8#&Zz)FZahfUC=2Y^WSyn(}3{7=w% zQSIFYEU>BO9|ac3zX~h>3LC&=PHP<4yWttGm!i8}}1J_IL0~Vmj@G0 z?(kF0%GYwKjL?*$THMGl<^X%pm@nmD?V9{P?|*(zn#%>qZ1*bbXBuBv8B;t3%t7vJ z&;s3LH=I5LKBjlhIGwV%*jpDeB!J%@_Cd4I5CpOMs@|!C>l+Z$aOn!`9Y=>X?}3b2 z;nbfX=xr1jkUuR5Q_cY+l6}860Rqi>rWlInOTep}dtM7S8eTw<(c8B!;7wOi^|hZw zA4WhptFKkP7d#IY{9q%;-$EM7M=csUJ$bUp`>d4kLgKt1t6~r{S$4`MUgiq_S{LBW z`IXM$?|ZA!ntedStqX0Nv#z}{fK4iakrd18Bw68~?mk?%U-A)P23EEgp#{u}{fKkg zUkcu+EEfY6wW@E%eZD5u0f3|kaHWL?7Qsf zX*}>xX^hiU^miX%rxJS4(U$%ql%d^(j_(DWeYDR5k_ikg7EOD-9>}$Urbz?+*bmzb zO~Bh=5ITVkrZW@PV1Qbo^UqhkLpSQTqUQvF|Ld3h-FHG21qOy@1 zptpTvl@;qOTJI}-kmguf%r_wK#1||(Ixgj>7MFyn9u+ykg=9^8e()Yhhf58Vf&bWE)P}ShRIJTope9$Y zHrZ^xU9>+)ZhAuK*a6IREMBke117`FKfC`JQ~uLP!T(+#_51PPZ07!VukRlV6o36b z3;bJdML7#qU6fG)EuiZ&J7vbFmZOhi#=(76IUw9ItnE{%=gHZgFznafkDzgvyZ;)* z>i?Krb}#DAM0jS5|AqZu8^=Kkf(eJ-#Ya1 z_X5s2md%Yo$Ui7^70i3Rlkn4i*UYI!lTOEwHZ}pOVKH8uF^E*9Z-zU` z=;kgxcV`rYw1bY{BQPTk58sr3-{DjOED`@)MXP1BTxX-KBHuAGi$w<^Cy;lwYbvTJgbAV0LCjFVSA$&B=si-l>kGEywaY7q7KHzuoYpVk^>T@1w(Ftui8f(rG_ZA8z;Z z(9VzOhl~@gOpDK@;g?}HBDDhh;8B4#z0tKpxy#uz<5KUGrw%W>AnkBo7fT#v2B}fn zxLX@jpP{E{!jydn6n!&EI!xk-YfO}$?74<{Viwl|7nSbl=4S1}H zD~rGz#45W#{B%obr?TXv@&3gt*=rf{`+pb!25?MF(Gh70d*9AZ9efp)^12HJR%hI! zp(B)~V_Dg`UpzJFTg>yNktVCRA(4P1(+aWG|KGb>|BF07R3s2~HHd#oHqj-mfA|sXB)| z{xnzv{{-ad+2_MLL~hrZz1ZpT$Vkg_R6CB+puLdUH_~#Z=}dC~>xX?*{khcV|Dc8j zjC%j2p6|f7qNxEA(YS{3aEY67XZ&}{@73HsU5}$3_1FHmA-kz?Zof7N_5;=kJ_!v~ zw#-?~2vv8HW-0eLA=wr{))AemAW6GR)qZ0)o?lyJz@;}6GbNmv9n%@ZH;L6Y|{SVomhqO8KLd2mQ25bkiW_1?>j&tBtJGgqaa@L))XRw?ho3MK8}GXKDZ&X1g)Y zJ2M(Gd|dGn8rQl`YOH7{!f(VGHmI}7-%kshUK+u#Y>hnK-he16HcZ)uXBZ`MDLTXM z#;cEco6oIUmnT*tCegGg@V=j*s-K{~S{Hn|uO~$x*5$`XMVJQM>zJ5#KVb1;S**^F^cBQx5qML!uJGXH<`%CAP87T55^% z%(SS>deHWL*i`WgZ+4xL{u@=p)LNHoNu66=AyM}E>^+2_TAARMN*b$enFqUJ_ z?qPk_4@hmvj*=P(MXRqyNsWq_AS1eAg_$Sg$qE;p0CBtxTynNM8XD#u}3yQ!)w(9Q@I)bc1+d(;_#0tnc^{J zKg!uxdO#jwDjI)d`%XL|!|z_9kJMSfEnlx9>3wMO?bHz0T%`lojWM8O8nQcI_M8VrdOKo%L>gB6 z-#OxXAOt2bbk5MkQ8ta!Dxr$?Qm*|Ylu+fTh(Wa%-mND>*mEs8FO`4H5G=RWyp$TL zo=xNGNxVl*Owl~1JYOBK@s5*Gx{H9v!wF&c`bW*0DKll@r;g>*KOa`x` zj68=DH`LcX!>X}^ocV-{1fTK+;7&nJ?ED|L`1qe=qGaHP&OvW$uVsrU5PG3|xE&ql z_|Cs5*7p4bw0pmAk^i&`+Q)L>xYr?qNbNbQBTaaU4|Y?;NXhG6)2Hm$wN}uONO(@~ z8ev(OylZZ%9o)QYX1yY_xmFP4{Z2XtP2DF5ww(KwO2s_LwOvOZAb?bg764M|I(2-V zSuMB3A=kHWEN2JHPU;>#=_3iKCyqu>9x-lmn`Cp)=X(A2=?S%~a+XE-E}njRGWp20SZ+3c6E|E(TbZ6-Y1h2_=IUcKpkXSaIE8vHvViY( zO(JpwEuYsx7O;=|iDigF0zHieJ63@%JXaQQ>&2F;{g0zEqMzHHZwPdQ+?ymnzem?Y zr!b-n2)g(iF_RZsAUd<#y%;0)PEnFw0(NZ(k)IT`v9^B2*zst?)y6z4&M7UmE85l` z&z48F$8L@K$x_|abdA*0^`L%0jQ= zdftm@F1*L_)^ z5HXq*<}(x#GS+zJY^JHu+vRmj1tqth&2v-oZ~SAGfU@t~6g+P1v!V6s}th zu1fE6sO9UO=#=Gu&>TKa_rE>jgx#Ft)frF~%?NNuMiPyE1Zs z^qT8Ea9muM(tGqscgj`^3Rc%t;wIEzi}^B5E!GGdSA=i06Ry=yKKhDe3w(nvextA< zOF-|*BWtysGhd6BHit^DhOB-w6BBQ3TWfqV|HgZ!nsrR0SK=pVs;|o!J#rJB;Y|u) z@KCW9;f_wFStUx$(5u>44g`=+?B54z45>bd?DKChNS}^=dhJ>1HVolZ(W27yy{<1- zgr{HsZIqs#CakPORc0r)rhDm$@8do(NulqxXQ(%Rf=a|o6S~1VhPJ<>lw(3sxsc^d9lWXpw?F5xjkmqIMAMIsy5_Z;-`Y8w8fsVuJrLETG&HF96u3mj}dXd z{8qP^Xa1#?Rk|IF?4O_!Xj^*L%ukR3uv!uO<2t|XpW-X#pMcEmchvebYDLED-o3)g ztmkbcPI@hKL^(A4=0Smv&ZcXpWs@|&`&SQIq_^2W?WhtBsG>$r`1tO)esNZ(tpg5v zOM8gq3TpmgB{7-VH_3^^l5;79B(E5^rL%HbwI&R88OnxbHO4%(8o@X@26lk2v3Joj zRCsQ;`~>m4m2ado+NdeOWoqddC}n0Oh@p2caXdgfHN)#OF8h{9@9v@xnC|emu0&>g zKFm>!auz+g*f`2xOdOPD*~fR?xn<2PVI9!yXPbYFHtH=e_dWE6@kD(s{}ViL@PNGB zNut7r7#I4S^lsFJ2&9O9+{a|?s93 zw#n$q28`A)Fey|WwE>^;Vy6kgk9$Z`$=%8^Dm*vGb~)bb(lHbz{huIA?pRU4PmtD4 z^xOx;KvvowTRXKho$(Crj8Y{;I5LO~rN}yLW1$K;n;Ol>a*lz{6 z2$Gmb{4q3lrd?7R={<6&nfV^LfAGdwmezC4HA}W`@G^fxIb5^lM9jFC=8%(kq-fogDrWDlF7M{yAg|dr<}!4(5B9Ss@k5XGfU?bq@9mRL zc0;!bU-S6SbZvEOKtfX?9OTiIyb)^Z;^(TbhfkH-bzK;ru(8`Ye`89>&w8l=_Yeis z#x!VO?xv|bLJ}2|GVk<{gSR>xPEh@B7NYI&hb`>OP0&q}>@&Qd4h!6kz5gMb{uMXp zcWYDEqH|&oe~e~G4v!#+9jQf%v@DSicD3p) zd@^C61QpEX{Ot_VL7@zOkVjiXJ>91KZjlfEdjt4r{%p9Dj3fNgaGK*$_RhDMAL_IV zKS9SgMxV$+Rn%2EuFwT}a@MInP02^%@$QEcR=O3en3U1wV06yfQDf3*B+kBiOWls-pWmJXWLLf)K4hSjN7tvZbMnQCaM} zR)FkI^@O%|2zOteK(9=G_}EdPg)%0_zK*v%a3b;^awf~!JpbQVve=7B+hDF;81tn^AEzW|0R z$rjm7I|R!+(ks&^2Ds zVMy@N5*}^lKb z{5wG2EG1eN;TV`r?tyz%UvbYUiR|vwx#8jH{%JW=1J=tUMHlhj;EaZ;-+ZLXssFz_ ze)}Ks`hQD&dVlRnd|;RUvkS-cOAq@mmjU0rIi&HKE81g{?O6MT83s%1l9l<`8-=_D z!!WLyrF)sNOQh5a1pZa+sq$8h(ea4R=CO{CqREw1yxp-Oafrs@`5Afb?}zZ$%6tNX zHo4p3tux7rVV;qIk3NtM>usmP?}kfj^yAW4k_eQ^n~b-p;K>Laqjr1{$a0Q=(zesf zVTLjGk`Q=bZ^Ps?9R>9lr(vuGFNw8)JY_K+lj4Vn7iM){uq;=fq6KMrrP5^joL)J? zVZ%OCzJy$^{7`sc)!7Gf(m-l!%V7jS^PvS(II_;&K6om-lLh>!_(BIS{uP6}oERq) zcK}V4Co(!pU{Du|#gNhy_djzq6IyXe-1o!;;vVNmb%E-@bUII@Ia^J5%)6$HYG?M_ z*9mQy+!<+VPBR2phWyS)`PQh0x8%AqhQYzkw_s*J2#WRJwZ=$Fxe&c&M85NM&0ntx~t zaFbcbYSqEkn4tOI=3E&N{<@~IsMT*vSwA*l0}2TEL8L`DzXg^z5@^dy3o~BcDexct z*7e=7)L&jb^%DGtksbbi?5P;&M3dxg_xiV%7qn&>ME)hj>V>48`A03Kh~A+;j2lvDydFMs@rL znzsj$tQ|1=6wT4sdrXYJ&VJGWuq$qv zZ`{j6{LEO3qGk-C(^<%BBD~g>SKxi~@ZSEGQs1%T6SG`r9l2J!Nqs81+h$zhI0b_? zisZIO44ziJC%M|a0*NnBYUF3>++6PF+>-@V*|CKYIC{q17;&`7kBd49<)fzECw9$CPGurGh^8brvBNq)VAzxPyshB?{|&C0T|nv{ zdSphK>e6o+_XsjL{=yjS&g)p$e#Na z!c(EGg|$HdwbFdj`FqGN)yo%x^!vj?P@FP{*oc8NC9h~m(qZAM5BfU=Y;Ghdo9`8f zZ+h$)bodRH&hFv40b_eo%&tF`iEXV%I=GHrT070)%#n-7EohzQlgrfpBR>L?eHMHp zpIjoF_BY+m+rSd94;4*5vRt33Zfri?_a(m+Gso%e$ytO^u*;a&gMUQ?Ho)tE{D^C$ z-|T(qT@X|FX(B;-M+*9_CL&=j>aqss)#MLhA@BkDSLh=rB$Lu5a}3~Y>VR8mB0Pj2 zoVb5dVO-^lPQ!)*T{NYPf(=}u{BXEZfS%2?1op3e&V^a53<{^^RYrkq%WZ z;)7~=un@hwPCr3r)4~AG9Z{FCK2{hvirqO_cx4F~!I%3l^v!z?evOvQk$SXiusJPF zyR7QCbtYO(U28siCmY=M0dNO`O&&|^2+E$lG?!`v{46uav^{Mu_Q{E{FE}c5p94Mw zJG=sH@|c1T{seJs5UD%Gdph8a4)`wwbYJ`RZg?8Yrn#`CXM>FG+Cy{_c<~e;noAP` zgwHzm>>;9?|6=G5{F(RKI(kkOVMLm+2&pufNO zi}^leU*!>Z>RI6p%*qA)8Yex-5*m_jIfvf~E^fT*B{WC)x`w7|RU@(}8S_d&kL394 zF`zJ)hj(F$eD!*O5&l<4pb#mEoMKRSatG|v_D;Dn#J!;E)>P)6bcRAXm0t$Jizsj8 zvxJQ-w*T5t$d&H{4@?kyAP1AakJ@Jdjy+6AbZ6z_8v5^isxaRvYl|>feOlo9to9JO zw1D-2*h|kh#f-2!1wljFAB%a4%OdtM>O}yPBBMF{{fLu5Qm>P|9q~@@r61QrAY*>` zwL1s&pMQPyRh>KnJ=V|rDY|m#)f97_6Pb_b)K;8tA~QKFXZ8AhkN(>-Q6#Q$tCqKD z9e&d6OC+Zs4mfC$62q{bs@@=H(mO$cy_P=zX7x1>YHHvWV~%lxuGmNJd*L%VqFSvr z2~8Nrjx;0LBc8Lbu=g-zm(PJfOduF>BCDNO_pzwx4c{xPK*LFUfq}ZD*ah%HjM_IJ z1E!`M!Rfz33>RBdHTSc%!Ql_Fr(+^JgKmi)J+7X@CCiym8=!@A_q{tI`kKK)dss=% z*o#bA6f%;tY;F;5eS^X7er6VPwBf-VZ;roig9+i}_BC z6l>q7Ef?IvdlR2SwO%*z9^h{Wd~Z^(Nq4mCq!CO_-xSRzyH^U5yPbUpMp4_YIRrZ3yt4+Aj z{Xo~!t=r`%$Vj_qjez0boM&xYIDJRN>wqf@9?l$*VWHfU;Z_umG=K%10+u-x18D3Y z8~B-3f+2dUM{!vK7m`##kIa#l4W#%zHSA&GY!*%iBEW2u*x+>3%(gAU)b}TdsBjoa zb=xqMs&ikv)FwpHo)#t?gcF~{oX1Ywa~N8Z6%LC?>=s_vgT?>`JTJ8;4<&xX=6K~O zUWzAdaPy)~wj4zL%@l%a=5gH90|D*Xs3eusQ_#V&KQd&A+;w!fEYN#WJ#ODlQPL}U zm{1U1_-VZ4j|}M}B-<&d7m@N7Xb;3~-M;{?Z@fEee`FzsyFr(>sXR%VjCdh&uu=ar zN;3%l^(-Ui`yjQuejB;A$@2XtsQVt!ic8rClkkF4r^+%=(xa6_iSe?Dl5b1pq-V z0E~sF=yFL=gLMOUxWZo!3oW5IGcE${0rYc}O%64i{%y9X(?Xh_OSyFqXpkk|a%ZMX z8$&mA54|UFlqy|2oNKSd?t3bXagTjHjsExpAtVF*fIvM@Pt)?%z#I4oam|#Cak?LN zmN=ixv{)iVt0T^vbCrktN_t`>b;31%b?z`fK{xk*vYVlrVA)i+6C1cSO*QybxlBga zx|W`nCSByusw2c0<8NNoGUvsi0Pny_=$lUo-D z(bSz;uZdgm;#xL*1P(*dmNhReF_Gzu# z3u+>3&p4t?iq%4rqLOrK!NyuJdddaU5eE=kFQVtV&p=v{@(pCI2H_HGZa-r{OO zh)C!U{Ir`kucp!${%lnwktWO#=|OhMM6jbUk_*>D%zX8GcB37F8I>)VncjBB$F4YX z%4MJszsmR?O1&`Fx@FQ))#n~6Mlaanx$_seV*%J}vFh5U$d?J#a!pbwtOmEg0xBR^5-Y#uN@T9Omni)!%ucUij6P za{tPP7UR*E*RgANJI&UxRBdJREK2%3`10zH>UT6X=J~rnX!<>jbzTDqr3KSIgSSq_ zEICB|0v1|K3wmfi^&Ng`;1uhP3BiiZc%aQt0>C8GUogoilAmp4xcdZsBnui1?yFG? zsc>F7q4ZZ^;m}LJ4ZTEZf}DP#piWc!1jjg<*P!YlXhjI2)o?+yE6qPm zd)(jRHJ?-(3+?hb;NqtL7trEAf*r-1TK9?SMNy2MEma)uT2`}CzZ8G`KDeV!b@g; z^<$s*F@#qu*yCYj?W4`W9loupz22>5FUe-7eHcFKH6Nb`+YUyjD@p~jt-&&A!1Zo1 zV6dA1+~;rkLPi+Mxt+9KeEil~-bDSBSFvCY+L_!~3)moBn3P(%$g+4L_~z*cRwr7| zZF4T{%x)nm6BOY8!bjYI3OAa%DC2IM{g?RJjPh1xt&wOnIGhh78bbw0tof zN^K4gT@0m4Jwx|M>gy)JAJp|^V z?hC!`H<53Q&}{#(!Luf3~(_qS}Mxn>0bOO!)A zIQIp+P2kx_t%mK%S5)c`Lf_RDcrQ+r2d+r}P#3C%u7A6U-cacs?KCqi8dlMcNI(l( zD$6Q3ae8sJ)W5qi_9&~`%6;?&!BCWzQ%<{J0qI6hga3j_S{RB`PKy>Ds$OdoU&U7s zOwtk+M$PXc=jVv089mgLOms^}N);0$J`cNlDd0Z*byY^m&{IP>+zq^bTmvphsH#8ziaw1xZE$ND=@*66w#VXMckvq(33apWXa(2Q4beqc6OoU2vZp zw*ky$3G^tiK@9E+VjO2Iu#AAHz|J66MVPhm%D1m-)BOA2ZEBO1lziHi3ak2%Gk@mu z3l&sdkkXO|H-Nvs%Pp|}1d06W$Y3z;qwdSF4&6>)5}3NkM#u*bA}i1w#~51B&yZq6 zUjxRh+khSZ45Ryx(>7)Q?X;Q%4iD46K$1c`%=G6@MxhRdVvx4T{S$NmT4IlXExUlR zO0Di1nv4Yw`Sl+TIaE(Vo>*W3m}kW6zdA9`xrWr`>U*dTlGTGeZF+-u7P4~sw#z&% zJ<=&(RdfT;0!E1MVZVkJp8Y`Tv1GlJHIpEUO!n#*bn*Y%@*I>tQuT+;HcbW8sGn-ZNc zNMma4tr9}*$2VHmO7&A!g_cqlLyX%lLnr7L*3EkTpu=^x zk2pF+ORJt|1qf~w~ z1GVD4G?>Q(b|AX$YGgig&128){0y7yF>9Na>kXJp#Ioces{S3aT%bFi#ZH&yiA*AL zc~a*}{ZXsE=r7x{WNO~M+Ps=nSakR8yf~ca4nLm>X255NAQ9Y(Eh%pTmT!eqm>S^4 zEp?{vmZ}XWtq`HPTfE_c2_DYS>g$4Fhc)e2*T5y7ONo}Y6chL>Zs_r9Stpk>i`V4l za`Y7L_r+dFdrru3ujT0=(l{*}yBq{g4k4d%l@YfOpPM3Itc{@OO_XA{9I3D3-mL{i zI=lKDmzOOOKBJ$Zswyjp&)i;Ln}6K%_Uw5_KKwdlit0)6X@Hy~OJMM&1CdVoQwb_L zUrpq6+FTDw2M|>d4vUio(fq0z@4LZUZ6D}zXpx<}44{xqF&(I&=7Im@=x)y6eyFRB=haGK7BpEJZXSrkB*~=dT^8pk9gP?qyG6=4vlbDh z;U^pm)L!)zNXk#pxp0AV8%h@N-e)0lzaS;kUmzt>+@f6-xKS((<0vjC{gUT#Ju?hN z%#V~QDET?HSQi)rm*Llvho`W)uSL?88Pu?$$t{T%Ug}z~^4sC#Q@e-wyuLfH`7LFW?f9m=m0>s$!E@Ye- zT9;i)ut~H{H&%c2IPpT5pWwFO_QhKJN*j)%E?_wJ1-pZ`NVcrK03U{9X!}h?Ma?07 zN}}?OI*n2}P$FF4C@Zx#_KJq_6K@UE+W>&M0zjF6P>_H*sf=&41$~mn&5Th#@0B98 zf0o~|7(1S{Z_uru-(Zi!LUvD{+U1q^l);a<-GWY+E@7p~#e8BvO+=2Br?lLFUk>~U zdfcMOPWAA>ysg3~&(6gM(?ot;X%+e z$5c&`iKU1+_(^e`i}fT6qsbX(@5=|I-4b>Y^p%y%o!=_0vL8=$}2I%591^a$&b!VdOEja&k!xCZE7Hq_8D6dEEmZHQ?*9v?@wL>4`mPlASX@4&)=KAODW6qKx6p1!aAH0?{y#qJMsy&05&HmL= zDY@({@epXK1X|ONp*1PkL8YxgGIs-e&^APzBsr*Z_0WEuSEEm&uI!h$)Z1tCOobWO zR~uJJp7|?o>)%IfX7e*Z*WIHX@v;S0T^&N=8cc2{#Kr)RkJ}H9;vSuvKicmtV*MG7A;Y zTk;_`6T|&ZQTZkw(9|a{{ivy|Npchu6AxNU9Lk0)>Eg3ngg@Z9$*aq@x%LdHPUS0< z(9eo-4bv2{dcLc>^Idm6lM0JYpO!AVl}xj#)DA7g0R`bxrvM0VFLNSp{)|O#P7?>J zxpHk-VBg4_<~)@v=CI}MbQ1??5wMcd>BqjOC0=4qj@EOXT6{gXT$3AfuQFtjzAA$A z`tP64l1hg(#}fGzoy{T<#vV{JU(uYh!W5IyR=4xKaQcsN1`3gif9J{f1sNi%X-3ZBhQCcoxa z&97cRF&ubfXByj8y*to+3e2UtJ+`JW8oPHV|K#o%Qg=nJ_yjCGEuVg%Mo+RKfThq0IQ6C`bM z7pSvf;idc@Dy9y}Io6&)u)2O^w|B@X@YLOoWm?qkjswTeO4^<}H*{iRd7+EOv?z;h z&|bAQcALTj?_74RRo$)^yU7I3cPoc;$=I!lJ7&JyTmIv%mo5X6Qj?*B%Y&{;t;@7H zrj3FS(v40r%9bgMfIvmKrysI|pLjKSEeyrsL^)=5uiV~G_#OBa;~YW0b0d6UzTwv- zJ}`YxyGccxZl>1DzIUYsv$r^dw*l>Yp$hKb#L>)dV>430`iay9Xl(E=b`SfMih7bh ztR6dYRcVSm?pNwPG@J_ENC)d_~iCo%E26)aPm_9vQySvv|w6_HgdT}U{@A* z^zZ9X;G2F1{cz4NCXmA1V1mL2N^J6p)ESw}@{gyVV63UC3cWpe+A<;_O3OQmt5^S0 zgW}T!e~m4*qI!K7mmh^xr#)e$ej`5=un&+NbZgm?HXcLh*J9I5&C=9`N?!_}?jPq8 zr)&A(nzX}5FHlhwr8)>x7wx=ffiX4HNMkkSK#RjZruRoZzkHL&6O;|f^G-sjTemJK zz=bB2FGF&CIOe;m%bZxL5rm>njDNTj1tufGH%| zGNQeeO&*3aK@K6EU~&+lSou=X_8|@NN2O&)kLKJBJE_jK+v_wTdD8sO1+8lyM6cr? zXm=mNa;VZ1rNP0|X99;^5>q`7hF@28(*NA2m9>A3q~SvYm4plr_ZWrjk< zsFDYxoR_RW(Tl6c2JwT*LhtJ5jUsQi^u}BlWXJ*~D?Cj%J%#Jw_uWgXs>Z;bZ^HSj zuk?TJ>&_h=4SA*-&^3*dg7(%AUphac=nJ6%a0+_{G1Z3 z!zf$KcjU~|p18)n9Z5jV&`TTmLW&dgX9>LTAEEg1) zqRUHz$9a)+YL`WUj;Bc5f2h%?lBVv5qsg-^gSJiZW10O0)?ho``knDdF@=M6>saTO zYi(InLz`KJ4A}*)+`d1E$rk>abM_WWq72uDcIvI~*D6UF6JX zALW}ALpFY_ba;l2t&C0E+nID=UX}Q$xZOiv?b{NHVfU4qL$N5I=Vf$F{ghbrJ;_%zjrxLp=)#cHSdK> zF!kUsnbd~Qt}?q%u#Vkz?VuwP(82q;o6HM{3NkR5l0i8=;gIWJ!SJ4?<)H_j2G2Po zDhfCn`9WQ>Nu*N^OEC4MR)`vOSyH?4Astcg^-SPM!ATfqjnKIv?}yimEiotA?(&Ur zO;8*dl4O}s$K2aaV$y++HO$aOboEZcJ_~FLHBFszz^gFv&_I)H9RenkZSezUe$D72Qn33(ia9lB zPwkFnRatlQ&Y77leZi$;?5z>gOcBpv^H6|**;uZ(;Kv&x;}v0r*{1>N7@I>7GsrEk z(jH?n%}%OZumQh20Gp|dIFo-_g-wR+**XPPP3B7=>J z#!;;j2lV8sT{SL!5Q*-==&vAf!gWUZm)!KrCAz##O_%$KPL18nYHkjcA^c{gWdoX> zrj&}b)%wogeEC!}%f!((xkraUBcvBi;-m)5kzuQrqknC8c2vMTRZ(Ay@}xt;vT;rV z!$=cH<0gI$7jo*5Ql1C%zx6l)wiJtJM9GT#2<$7sIx8Uj(c=VYXH61k>qp4|?X2YS z+Jb45X=k!DJ%yqUj9uYRp1wtYj6%;Y2)E~^v355 ze1L0$CU(2_*_+yIS+W6IMO&tnnvv4}!tMWI@4dsCT(@oUAR;O%qVyIO6{Lt#q!Y^m zM8pUPp+`l!fboW1w`-E-Id z-RJQS9(}>&BcJd0&N1g0bIij;@I$uv4aUDn&t-_EgNNWB&yL<~-7BEq$`iqynwLqC zkw=_@`n;5xJz|?uNp>dKhVH&ls!*DW0NO~#{CE>$Zp4@`0riNJhyGg2W%6F)se7jp zI0s&qb(ppp@VwMrAENE9zjy`^oXzuWF`!}}0c5&Ni=jKk*VS%OUMP0x0K_L?2Oib` zTP@cBsO8QApL`1LKu-UJ!j{Y2gAA)fHsMmKlX|63-4^#$`|v!IR8DE|65CNgCn|x? zg;P$`dR~+JOf$FdiFD*4ugp757>{++ZP6K^uH6D8b)}>hzx;wT)YE%+xgdHVm^tqh zlMW%Xb{}c+tyvq8ni;4(D#I04bCrA!cceA=(^T_@K5$*mPxzMT4Mdzre=4{9PdMTK zs~zcBM^9@j8IuPQXxL+1R}6q&&$@jtRB;+Il_u7FLUi7i5uka_LaB$j=kjZX=C409 zYEYaTveKnKK;7F|vLG9x0QmYA%JGvzjaBg&Lud|&bAF0WTU9DDyt6CBieG^Qb7Lsp zqwgM~77_ueL#n!T6Hu{7)oaJ6!722Bq|kw&xhF7^o!7Jy`+gh%(gFkD#W$p*m2PiE5W2af-XwJc~1`zL!+6-raJsJUPI>60uDgt zVe01}VU&0)0C6{rvZW|@J~_mKZ`Z~r%$5mZRl`kgW9l@;qvX#AWPtsJZh|=J zLE1ekZajZ_PUo=}g3xr&H)Uq>aFFl}c$SZASp*cSE&$)Uxn$dn6#4uaLt{ZRTWAD9 z<3%!zF%vpV)TyzIJXd}eVmi)$MMgbH+yY#Uf^Nfxkr~96uBS`g99o1-1r>xgm1EI! zz(&5;C96gr_pOwGIx*^D-_nXcW328g`gXtN8>&bF>DmW)#*_%%j$xCxY31u*$V}(_ zneIOSM?srz9kOza;5|+c>qCl=op)gDz0L8WscC^I*YjJ9JUo!)@U2a>FG98YBgQf^iucmAj zjOMRmbb;~%&Cpf3?JsJGuKNF^Dt2@x_{x-(#jT6>*V-D+p>Ln`3t{h?}k93VW_7ETYaY`D7~0p<#&rKFO~5Gw-qM z0WH`aV{i0ejgjVn3)S?yiFIEtDdqDb^9R0Ldwp9cZ?rrrzft*yNl~r%RLaB_<9Arh zqAC4AiH2_$S#@T;diNRO%O+zgv)SHI>~qtz4nOW3fG)#losfI+JE>%#yrUEzyq?T4 zDIbI?rf423O+M9kPWuRI%ruAWxQW$z?P34aU}f6C%rVyd+-s#ktPaE5o<@=0`1b5A zHC^7{ghiU70D0ec`~SWK;_s4?H%A!spYb=x1%sL^h}(Xi(asrPrgzr+{}Mzi{w|0{ z;-c-@#s69NXsJaRQ-n$cUE@AneCD!o8uAwg6i{UywG5Y9b?G$n3J<>I z3S{PYMfQdO4VKGiXD07DS={BGu78II+iSswmV5Ijd(qox0GNQU=GG#K7!{s(^%1aM z+xZzcy~WPc`Ex$|2@XC0;2=IPO+2d;!3OTu=~$_~G9UHW#Hjn&7M(Hb+F#nX90|6$ zhjEXTqmDoaUV`&%Ogy}ASGQIaylP#W$#m#&HeTs&z%UsJMS$|G0}$Rd*N%}ifRAQESE)s-2h?Kk5&g_T@-sn9ISV{c6pn-T zh8w*V9Eu9zQX3S7lsvAL8p>9R3*O*?2YX$7%b~YX?{gCd?f~~z^1yk?hD&q~gOUs9 zo>A}8Z{@eiHM64t#o5@#4S$K4vMBjc;pDOpPdp^8omqjNWcl)SX{VZ_t1(1=@mar@7Wdsc!n%CEux(Uius*q#SMO9^C5EI0jJ*J6rtgNEv1upCJ*M@S zz^`Ig%M#P{nqd(U1y zlN@ageK{5}MQTEHLQlsJr)InZ)FgWtpaZ2%rZ=H8pC?SYeW>+NuAuk_BioHInZ8v_+vE+is0sA$!g=uCkc?Bo44wD{P<*Ewbi#Y?=<2cxgWkK)zk2X7c;&`_T6XxeEdw{i zc|2-0RB3fR$GjH`@>^Rq@%5j7c650ek+7jh!ob_6Z`~Kqo^b4rW4?o4<8L5sb|8-t zJ$vK#&GdjK=%SnU_n!b#q%UY^05KqF3LNrV{AW*W?Q1Vrc^!aEQ+&LNl4@ch?^Xa= zNcjZrsM`Bm+wI@L58onMuyM>p-=#%Vy1R>(Y3Yv3D zw)GvL@hfYtpoHxA(U)&KT-Wj$p*n9w{fI&{Kp=PDf&bK6Dz_Kqn%6rxMMkP zbpV=3DlLe7H#@SUh9RRS*`ssp%4?g#dZteNTTAwm=__N)Kt<-%rK(R%+eWDeATcvO z=)ML3ogiKldTY(fhaCBOspXoCplP6QZT#Urzfzc^4~oUFkAok0e+jBqz@V^pZ+7J> z?vZyGTZfhM)gH>t4|Zwm`3en!%w#u#1@aKobmqiw!YwK9DiyN&Lt`gbfzO;5@~3S3 z+jN`)=XwFkaYq^aZB4@d`8g-=T^r_ExqPoV!jNCSg!cG^V6~IX`g3$|Ria3EnaS;p z7EMUh^%VZ3TA|dx#nG<|v*%F#Y}pv1p9lWI-2H)aq4`={EKU9vd=TjF+(>VDYxLt- z)9#IM_jv7jfN$j5w`>xVq`F*QP}{$98MPKFEkusaAC8dr5pcjV|BRtEamB7aMjGEX zcU{FSW)+O?s+vs8f}u{{bgh|jx_XJT89`ARyScz!&YBRe5bAwrw_Gl(;1HZB3dGpH zdgyx?IOVU&H}F9U*mup8qeKK3Z-Vm>=~HXyy-WQ?2IM<;%HJMR8(mH1a&S?pYk6T% zn**1_lZzX^yvEstfB?+ramv&FB% zb0B(orF_bp7G1MfHmEInG}V0A)Xu2AVx3IlSl!p>Npnjk773)YE%I{EDyfG^{#EFjO?xXE3%z<{zHL{r!S<)1doZLz*D&t zH;g-WI3%QszG_HTh;~4=)u*Giv{aC)Bh-trC2BoLFv;Q-v4zl?l1GRusV2E$1%i^d z+b^Zvj5yNs^($y%OEBprgDd7F1(iuLuBjk0H;P!fDtKpJjJh&-DO{hA@!_M#j^AD$ zRenENs}U}DIr530MpZ<1wuHJ8h`z>0!Hf;}1$A5_^G7U-d+A$@|0(9-3Hw~yE|+rd zp>TTcJxYc|-j&OEF-~z$7u!x(Ct4Zg#-t+p}K8jbD+gVb9!^z<7bad;*9jVb>E@^kO&A`haV^T8uz(!6(Q?gipN}&tFLBG8|4hqCVZS2ni_Xg^jnhE%F^Te-fc~&KHiB-f>u-A|2QC zR*SFOOMAB_m3ET;`pn8kIhaWQYEz&WcWA>JUbcBaQm8P3i}P3 zOEqn1mrCvaH2*P}dX2*S_r?1En|~JxB*lk(ByN?D!JO`rDWCP#h8 zeL;tY*-vK#NasGrR2JODU)igt@b9C3U}HK^!=%V&@z=;@s+Y#5<$Qu5Mc6#L{Sw6x zmJE^J2Grq@J1e7C=nfw`bt@g415x-7AyCAZ6yJzFN@f>bDu4N)!RZz!UXs~-W$WT` zqBnlD{C>DeB`P321+u38q7eKQC~(QIU$59^X1;1TaK@*clJ9d>w{AD(27lklTc3A& z#G~zu_j-eOs~Yen-M+5sy?BFCjJl=lk4BBtdj)miolc*VPf+IBhH9vc2l4D1CtEL^ zZu_#wV#3MW#~cLvAawxBA4@VQXP$Z?CTb$cvop44$PR4KHN_V{`@yvOB?{^eKRfMX z-48f=F5yp!+7JJ*a@gjHaN@v-VxBwU0{92~ET@=R$cCf`4tjOZz>2nmOF?FQp- zW!mN(Z@2fCUVr$$PHy^)ZQpw`KHa+bYI3@Vq=pI0DZH?LdDlF%UPKfV%VNe7pn~E= z2oUy}d<2?n&x9oCaJg~+@w>zkovD(Du)h)4T51eH$YRcLVxe`6qD?^RBL}t(>ndj?iGJ|Eqd2Lam>h zTIE-a&+plx$*#@KqON$ns)vktq%EM1d$qJz?z*gt0-4a}+?W6DddNSkef&8#IP?VO zQTN6SEs|YEzy-4z>udgw!|m5jV)o}8mf(`GG=ynCk2X1WlI!hUdsP&;{_G6Eij~f8 zQT9_NO`e+@)UK@>3hXPqdBM_P{?8&g_0FA=*A1s1l>1S zM?b8m8h?EL_M6NqwURvd0h~Lk6?~STx21&*#&P12XZnxi75+%my}p^8fkeaRSl17W zLy6L>_!9j#Vr#*S`}xrq9$&xajtXH@qBX0Y`y@+WVoh7EuUhlxzu>^+v37T0BQWj> zZ!M{PU1r|d_@w&Tw=?RDy60%RpSY{iwWS3rt*OnN%c8bD$y_TJ`*w4{1u?Kd;IsoP zbLROKEy@qYx?Q*>;gd)xYb~+o(*G(8JUGI06mk3;%qAZo#5Kauq~SQxwIc)65)|YG`X!oLp_Zuv;FY^W5Tr7q*7X2JCk&7{|8A{A8wHHty61sJQiIY8 zWSGT}J%+3U&`S*p&;VHNPUBdshwhy^08Qt0AAq=1|G3__WdssQAgg>OzQMd@1T?X| zH^h(+JqY>C0qEMVOaHpzzqZ-$AGTi) z*RLbx*FpL#eEdF${?|b>-?_2&VhM3P=<~a|g!Kz(#bVS=g~W|_*ik0JqZ{iQ4!Jx* zkIc>3caH0Cb6I_1o4ElwOQFNsVspqiLzc$3BBx&yeCc{rhr3waSAj`2?H%OsH`*Bi zSsYhfD~mQ9Hsu@@rQeCDrkqK~?_4q`^Oq9fr%XMf$mER1gh<}i@Eg3!^1N=hhTZpE zw+%^6xHG4!l58B`X(f`q}oBZ!v zs@h=+^%9`z0jr`sOMWU;W8Bg1)laLUNc2uW(6Y&(@JD?8hjqTOJ%r9QCbK_}N7^9> zm4J_(-fd=PIiblb{lKbGn1ns)B({fvEYQvMlEs3XwDvM3Hhje~S@t|?*)`VAcJn7#y9tq-)zwqGw_)mT&M-#`IxLYWf439Ha z1yoge5^#5SV=cmJjqO_b8-@=1*b(=e%4iD22O*RD=EI4lxiB86?$!5^WNwN#*PDCC zYveXAFOTQ0k=J@KeR3A&R~~s7_SYmuX}syTOdNokfYX|8No(ZC zyd?yP+wHjeLP?i;xpYM}*Y?MSZF}SQ$({NyyWlQYo$~^U=_+EU}9}GQwli zh#qj~eTFtAH#zd(AQ~TlijSneN8BWyD$HyrEQQQJcMX$YpUMB|F(-Q#u!^aic&*My zrMpnWi)E76$hNm&P%lNTxqjY zJi9vt2!Vc=4#SpWB$qD|xGD=Z(=#Oc+MRdHIqG&}<%=_T6{n+Z7S9wHk6Rc2^Vm@O z_i?2Q_1~Bn=lZ~J^==I#l2z$0D=&rfA;X6DV2OX+nE&C)O*S5)ll|P4%Z>U0pS}MX zDiKv&4=68yDuIeEmdOKCf3_58Db28bhs=FxUP$Y8ambuoFu4qvi)r@X8(sXO|9umv z4(PQkBGNjJH1Nw9zJr@>ikP{ImQSTF@$FZ!txtM+3@;!}?b@-)iC&kI}sWFjQbeoBqhs1+zqxL)UYUbsM$BKqJaXmc)jJzFI8Sm3s< zfKIG}i??LR^*ZX)H<=r<`0O66ls5%e9MA|}ffSE1SwH70Do=3=q!jlAQ)x*P^joP@ zSF1i6EqHM>;F!n7Hsz0laO=MGH z+l9niIoB{mOa`5L^Khv)tfF`$7MjaZlr|TQ|&A&$@&w>Fm!~!dW{e-f{pX5_$DoYUvg2v|D zX6t?;dhRM@Eg6@G=!ADyta9}<>-w(J=CUEhpVh#;4-5iwIJUKsIcnthAA|SB2^M~- z2xau`q9Hqh3KB=i^kEfY{~LqBOowjG8xiNw1ZlYkdL&&r&k7i9>Emu0{PbMU7p?82 z>R$H}n2|{NbkqQDLs{x$6*|bVg`<)Aw91(`Dm8Bzv|b*W`gVLyO6)z`9nbVgr7xs+6y&xXm+;9FSrX@>+(Q#i zy-ztrb~Lj)+SkJ{-ch&~Wvzc?`n6=;Zcw)%JxC86_Mx}-G6iTN@_Uz|uks|%+Bwkm z;!8Vq)~UG`)7-SPT{4Fr&|#mJsWWsRcXiM{zG9>)Q(RlNsn+qtBRjVy*04m*s^41G zxU~k!Z#AZJHL+%(JJFhSKI*qn*Qbng_w)A&0Rcu$$_l+wp%$0ls*9I6B3AZJz(V}r zFZPGYu8zVzw`7+eS!pF(udt5oiePSf7){{cxO(qyYMLH-y~o-`T=RF4MdTBPGMhzg zA5xQ+?TQBVB7cZKz8uT5Zqc%2ik>V$$W3|kxgHs|zfn9jHXVV&Uj%1it$;x_U#0i* z;SC=5veS=8?z~@dtx3sgCqja*I4WCfbxAZ0Xe!5EDjv%sRZ8|GkW3OYX!V!xpjRQvfkOds6^wkrDSQA&1vEJ^0(ey9Th z?sx;GsIFF&4y8^Vt})}p^#MHwCXzrK&6yf#3}8m5?LdAA2TFN>*gP5rp}3)czf3D7 ze-NuqQLXq?@<5q{K8GgL0}P<P+K7wiEI0s-NV|ldM|NF7 zS`A`&re?|{P-I?Q$0Uky3-OacP>y#dkNr z6b4k}03h#1ZL;YA9{%yWDL?{yoCzR7LAZ4rfCLQ(GXLMLhYGdSwy!eN5G_Ea3!err zJ+K6d9=Z^s94Y}QL%gpA$`DLI3r#+XyaN9H(wmJH^%O{w=Q>bCHrg#($?UJo{<_Ja z@LyZ%*8}wHxcGHA{udEw&;m;|n`jO)yF}d%Dn0w21E!ErCB*M=aj3*b-tSYa<)y97 z*RoH!1c$ycYkMCjg?LCqg1CDsE5?t+KYsyQhEytP8KJC&n`;XFsD(YHPrS)q*~k{ukyp)e;~r`X|UhScum2Q`z(uP&SEBe1Bc` z*G&d?*#G~w)Lb_^vRj$HlDM*I%F%~x%HB24o8FjpoE1NRH*(~~@aO~CF5Bi>1`jpD zP^ekIqSE9z7+L-f_k->u#dZXjepxwy5a4b=?{yYs42S3NWW9X~JX7PY+%5{@$N zpXpfZsO?+CE0ipK$rDD9?Ktyb7?;uDQlX5z%!h4T6;$-q9`R6SDrgtbZ@J9*_~q0KPUV+F$MTRJ81^moNuo@% zc;FCsx&LN`PG?^V+jQ&VAYaBwdXbR7A zl^f9S4}Y9$v&#+OT!>Q3PNW3qTJ@zB)b`kllv|pcn^!)dZbH&Bp=S-NTC&A1ozidm z{6n*<+-0;ZcyuXi>S}u$ZKQ3d<>?YX--Y3FP>KEfY^qx{S@!@mCTxYDAosG)uIcvY zuH^MQ&8nJ(r4H7BCvkOE4ncZ*n$$R~vhO6E83#;?D-iO$@D%iz6!lTXe(^3Ph_Qgo zu+NRSNzNb%sFLPd#5p0so2cXMvtve07I8N|K33%n1pL8>P_TH`1S})AnKO7(@R)ax zy3@$`n60&~dzD^4@$+lf7y9>2gd?cqs(7V=sM!2O`yIoPi))`o$2M&Vf?u$QOej*s z8GNvm^NkFpB&Ykco>PMEBC+bMC$7-H-=n<qk< zz@{S=3)uQz+cBS4tE8#c=(W+hwE&-9F2JWZ^-A}I4|5^FOWqM{6nBcTFMn`FdcCmk zPUr?V=G4{nedo3VP{Pa~>Ii>W0{VyfzpE>#sqOXs6i4VnDW~AGfUM$opzV)mauZ(b>%TGWuA>Ii_p{Q}!% z{B_;GmCSzK=U@Bk*K_p$?zv%lhtxo@^i>p?kjx?*Y3}pZuQN+mFQm2Exi(*PqmSbg zSw2pvy+n2)=X|Mb4h%Lmcr1P<{F8oQBxtYb6?y2Cb>x$D|I94y;MnBc*tH%0+FMP- z^JbatEP?L=Br2Vv^=ivCF>$Oq$p)OMp%O_ft5-_Nx2SHcuul{*;yn+XiKLC@^!(^k z>c?%JFDzIE=f!c6QKYy{rA%Ng+rsE7`UzWd6`u3s(O3FSoWd1f)S^w)Yv%pld3i0(s7j-=_G2xlwU_uC3P%>uFMcu# z-fBO|bkw{~M_hAQdD?j_WveBABH1e`zDT`n|5BBb;+(X;ymDWBLRpOVc=<>8;Md*Z zoU1a2BzvQ3vxphZ))Z833xPQ>(KUJSUA9b2Xk?5P-)HS(f@oywP^kxV7)4tAjiOE_ z8F@d__R3KxN!3$lm)~azVF5p?tvlbHC{s3Qy=SrpxMqrW+4N&YuL{Rs`mG{1y(4i< z&AfPAe@0}fd*ne=*ifLf=!>iqayw5usUp+z)Kk=CMY*d1#9i@x*z?NjZs*t6elt6o zu;=$(Da@Of&ENGpDgG{?7GpwYbb4fkhw*-V;b2e_k9Q{v{K))sXvIHgtQ>upvM~9) zqW8p79v_G!5=k3CTSxGoa%?yR899aztppfx+Ox(F?f8BD2si zJj1&te#;O=vD35xT`GkhUBUqNM2*phqE7ED5tGasdK*=qTIICbS7A5QmH=g8?lm0` z-bZ;49xQAlkx(KscXw)H=glTn?O_!uKIo+heS`IOP{^rEF;0=M@R3mpL`ZNcf@8At zPBWf&6L)%1@T8;DZ`MhHlaC$;D*IxyTG#YbPLsolg^=q*v-5wmxy~v)w(#i~7?fj|4645Z_R^gmFPx{@{2G{G$moJsAV&MVTAnTT~g^ z8(a89<{QexZ-);+?p?A6Aa64}s-p?I33~R2$5_kB2~WG{F7qo}l7~!$S)D7YYx=G~ zJ<8QO0TY;1I=(b9*T}?LhC^$|eQ9vZ4=E-G4KKyj$!^Wx%0FJB6el)mmMb9bURGX{ zSF!Y@@IkE+?};HXgI+hIg?8H?gNr5CX+jCmMmP&s?ar75rQC7vX^jTKl!qYLsPY-$ z&(4Kn_xCThER~fb&rz<{kYls3Xc~|DsZ`6HY^fg45S|91hj|f=r!XF_jEcO2sF05( zWF2BfEk8A11bup`Sac|dWqi8vnp-qLT7fLN+F49PuSs7cCk`iud@sq}(@2oY`>~^F zSW$Drg7M_b_Xi-aajB_6#W1-Wm4@T)^N1F>8?6h%{Op^HC*n!ATG58?%>t2A+IWRx zfHjka+*Gn{t382WsU-0=Dqkjf0T^hzcp^9U5=T4rT%AYQ1Cx z(V4a|5SL@(Br40-u|t&FjafzQDgArQqV)jY?HY<70r~{1D!x$e_9>4Ord)g_3}mD6 z*1P)1_cS)_L=ALbry(x-dPk&q%mHXktp%dxOCC~jbzqw*DT_YQA|Y{Y`-!iqI`PM> ziNd4)YB`q|ZA~$#Qm)bAy-;v{Z4qwOk%&>xf#?EG>;k(#khAAC(n@wynt)**-}qkw zmcev}i)~$d5aIR1$x3{8ma>iP@RJ&O;7app&@wMF5oN=Ej8wQFrW<5vC!ATzOuy#aqv5j9Z5b4Gj6m4})2xPPw#qmp0b0Dz8GmN2A*?;6@X74M*lcscQZN zx{qdS{$C;fLI#xcpDvsU$gbS~=HnwKtdcrnmCpku2NB*ai$+VQru61BQa3BW3Hi;V ztAp#18@v~t^c=K3aU7cpR zbNYLS7oE1IlpaZO<8!!dorQ%g=v3NJ;G&^_I*D1I`$7EMlHpSZfm2|-18Nlu7!L4T zn7_?txhK5gef0oDJoWs6;7E>`(a4E76X>LB$+-a6+ISmh%&kQqld4nr6rT)eK}nyO zKw(j++KD?L=2;*0RU1A*_2QoAW(9?sg&8{I@2bvzPwdTXmzcY^WmDB3x3+2e8=>HP zd`xNdcRsEnG_#!<JX^HwIn$Z^z43Tpl}BD{~pX zIYX;jb+q_?E38F|ErzTjLgVYG{13xKV-T5&gR5E%+7R>hvPws=fb`Dm2^ExSjcBBgT3&a zjD>4F$+yk@l}8q#@A))62k=cM@|Q)-%`Z;4TO6Zu7c|Yj_2Sk|gzn9&JlB;+@hIs9 zujfF6D_wHgx7+U0t>%LF#JsL1XD{rP9GZhBSfFd=edpD*RL@E^4E4tJp@wdz250C@ zSOCrjCbI+;)`xWeO<#<2s1{s6FIlb0$(CJfN@HNSor~{`PDh}R+-^W&i zl`T1&>vHnz3*qV(vWIXmiVh)6u$lW(vu~cttkL&VscQnvm5bijlpysuCBz*9&=to{ z3QNhj$mGhFTW_R3qTg_%FM{XrX&;!}=2RlZH`v2@7`9Dx;V4nX_Tw`5j0CYcfpz0s%Ud%seOm8y!tSrQgCW`^X9Oe2IqFXd6CYEqx6v6LqL z?dHS0>p4~DNK1yjDeT3$1lah)B4g}ti5o+d5kC(zVmlM}XVgpZUz?uTHSR{5~}NT z$DLSp!Si`AYms%cOj@iF&p5cfTfbN?>Oi!&T!lHW3k4itCzv><=Sv!hcOlBg34qW^|52HR{X>4|wyaWra-Z1Pwn=g;iQ z)~g+-WOt$7m_?_|@p)v3vKh)ko@k3baMCkzff^xN{jCEUXKguDKe}Y;#7kjUe`qSe z?aov!Kcn0rs?4Dgy0)n|(~Nv)jlVLo)Mv~>biR2fQg4@(loyovH+NlUWuGr>4(ZW4 z0s`L@c}=z@E@_ZmKb%zVJM#ltnxD}kA-K=H*TAQwhC(q#GBgtxk zye8DF;CsOI;xxoQ4g>wEqg?2I^?zFJIPj-UyQXhLpopk?B;=&CJ6BP^<15#rbm8)h zrlAnH*RDV#(CC9jmk3;}d~Tg zCl#Yz-j3@)@C%PXeyaIYy+8RNVH?lRQfUFcG!vK#=Yn=6AiiCY8r9JBZmD+V6e zXla|={tu3h&mvnSIA?CokKZ`~)ZKkpr5Mj=dT=zz`)e2;MS7>bB%n%Pqr58ZV7{KN-?Qp#;gIcP`E*0P=Wl-8^X@H?tydV7(` z1Qc{#DJ7VMBHypJ{eY-kO`cP&G5!G9Dt{TevIo19L3!})YC(C(rFZV4GT7N_T5O&u zFzP|D{fbj{S3mj7GcV$a8Z4~4ZX&UDX zR?h)+z{39jil5=X^lt`%3G>s!nXQ5^K^ZR7L!llSjj$9!96tvU-+h)>{oFixsrwmU zH!1@Tx!xfV5Fj~Fb7pa*JFrpMu?qk3+)ydtrp>b$LRevhnCZkLUlBb4yZ&cxeBHIz z7c1EV%nADpg~eQ}tH_OVC)E2DU5X5$9db&a$x7K1e#Ahb3TR4aUP_#|eJ9pF!=f4T079@KD_|dd=_+R=Y|6qvGQ!@Hi0ZBQ)`@M~A<>=mxuo{>Wr*~Ez z|77hWpi>P_=4kfHs7JAsb*>kd3$E@iO0Lh5&F@Q48J*!zhuXj;Xg|Ym)&P_4$xuUm z6WJtkh@SVxd>VglSc~&(h2y&^=Tn6dZ}&8QWZ;s#u>Jc#jyKlhN?J+G-}8vLnM5+Y z+Y*0gaZhC0jhelDp}3S~UgG<>r^ei@x&QU6%61r$sEUP%lWKPRu+fs>s}u=ROUgZy zfOFpTXXZA56xOI{X>63nObG>aj0~l+>I5&DifiNYsWmcFSsb=8lP() zYrAnjb>XYPxH{Xs^x6{=>tfx5qXPAZ?Jw>%Iq;YzW2G|Fwi%^267r3>9X&!JRZ2G&$4V2& zoV%Ky#OP!})jeGW2DhqK+_u&n;Bxyp6rtLedP+!p4~K0Vl0zeuaRI4BZY7}`Mr);N(wHdV%Ax8@XSyeSp01AF?dj>4r}rhe?y1WBG zkbm7=@z6grVJvpF6SzP0{8H~$$g`@_w@*?do`F$M6fT$6CF0&F zDou>bTBq=r7+F;oySgjqw?v`7=Enu^e=on#@I*SD&$|W=*w>;`NNx((cWk?QXu4_0 zRh$Bl1ew-tod560fV4Vk0E0dbX-oUt#G9M^mjCwFj0b=2{6_j2)MyroP;&;dW>P^( zg-pR!J)S7yPA&jkvRg0Ru4?Iq+KM5$7oh~+$w;Ez!%e}ptQKY#*nj@~Xu$NxT1)XE z$;Q1q>&hE)edoXAuV?Lkv>jtox;LKZ@WEixKDz-DxT!o@o%4u{%3OefN0BTQ&s^u) z#Qgc&#*c10bPN?}nU*Ptqz0Pq4LlzVLv(j75uWHw8ty2*QzeI8Jd3jQ$UXvy0#3ZT z3upuFRZTNq|*`AucLRFE6}@u>iKD(X&?r+JG% zMR%e#ai^iLbRgg9>yZbLQ8aGAa}V}zrO*R9iM2kpG-;ZX)!D5V-?XNN(;2g=883mA z6&rL&^3H$7t8z-$d!QyS$7kD>^%t5sdF-NBhxe~9Y(f&ScmC2zvP3A1aXdYnA%b0U zE{e5!6gIi)vDRRl;6l~VCeE}rq;k+xGrL+SWJ=C(PE)le0I~4l%Uh+pk1GKjh;oAV z0b|=nZ9Bdiy%F^Ht}9*lN{t6Cr>j%r$u7WCUo%zxkIsI1qHRjQq99=$dU>%~sf8Tz z+@aGE(_G0dB3yD_%c<)MR>JaVtKq%57&t<-L~M2eR&=u=;v${DPhcH5&k|)xx%Uk+ zHR|kheEY;D&dmk_PIx<5qy@wL4JR!E+-=w4sW|w99lySHMKAoM9W~}P9^QAtUOuKx zh6*IlQzrhHDf|f=PI#$LayPN#25Ra%cFDwedvHhVZT?5~h%MN|hIQ$dMKCi$(kJfj z$($5o8J^-YgSv;wnPsg#9&Eec*1dLn+ar)70qtM@n8@`_gFZLVOCsVHMMd3IPQ1a# zOw$<>uys3cUgI~sW_twcycWt1q4rI-UrcjagQ5bEBQ;94x&i{zbV; z2xxgZi4+8iI|ffkP|cV({dpJ5?B9GiBMwYm{yOB4L4J2@;F>7b%uR_kIqv|3C_Cx? zr1-hC1ECXANA36#cQuK|#S;Tet`ofZUlf}Dg*o7!mSG5!Yw1SVeXfG*CPvGlwnJgE8+Ws&z^vaF-QmO#4`+$iD)S091Vc|28c84{_yq`B2%YUDBT4^lKrpo-{W_ z23@X;LsO^~rhQ{F2koq_k9d>ew{n>?fw{R)kEn(jl;zyb>3N%?zUPANaTpC>(+ioX zt;(>1!Jps;qL&{6YGTF2hcEE{BD+oGHKIlXjtOuRwYy~ztw%cb0c*%Jes3m3QH?Pb^V=IeVTdVVo`cEaVu48=}{Yy z`%|uw?7!{j(t+6lW~N`Ep`q|dLPIpbCObSWS`UEwQ(eq^v$(ceIci?M zed*E~2q6-DJ1#|NfN>0Tk=>s!!+|f{XcOBmLE*-lXxq1AKMv3sH!r&;C|+jQ?XA*N zcehK!vAb7ttfUg-+8f!sKiLe$i56x0lgBjpYAI7xYaYi{j|(_QBs1b}F*#vk-^ZSd zW%c1>wccIV-H0$MX=-$nA}4)gL3 z*#ZL_(4@G$Y!4%2BJzXeJt?qqKl{a~vc7X@$ZGBz*!YVS;UpV4vnzYAb=8`;^vA)) z?tV&0<8ubjZ)GyEohoe-!L}9^AGh4~+@W8o3BbPC+#mwmLkRS*eqlQu$imwJSvI)B zxgh(J8Eb|&gA(_%CGKBXKl0Qk-hOIXWb;!6n%m>fO%gEEYs-PbWp*9jb7s4jzO%<_#Gf~NIo|OFn09(?&f~hU_?Lr)}bcmw@8Cw z?%tTs5khadc(*|lmelNhfflbk|DXwn(@S3OvJLdDhur@MasM6GiyA|kzHBOBO=fPfNeq5>iyO?pdIq?ZUt5rjySPDFZ*5Fm7<7wMtbgc{QPJ?t}k zzVq&xIaAJD^Zwx#f(dZtc|LbpYu)QUF9mw1e&PC>*3MVyMKnQEo5=dLwVsiBZ_u&U z!a?Ybho?^<_Cj@K%q>3QaqYKDD+O8MA9BXcK9FP*D4c%&#Ek@df^Rd7=SCSU_~wDW zp2Nii7VbBD`fTCeXtk2{BR`LOaxArLFf;}#xWBu$ZGVxhY`Ff3UM`i**`>iTN?Ys$ z6YkcX0D5Rz6jj(IN9=OF{ivl8XOoVv^OA<|t;$FKt2;jRKE1VU1=P#EYi>@*KGMJT zeGD5r^{hdJ_w1!#?!1W&ynkZa^;H{M6UZA)d;-Sbojl;pZeC-HK#$UaP(!xV0}N(T ze?(oNb(>g4QTKWs|AZbqNK|A?$K)Vo7pT98lmFNL@-N@d4&Bfb9kNAKMohi!GA=0e z(Gyb}5Tei5W^bvP456;`)?9hImaH^2bK9$YAd9};g4u7iq}dPKcdD>!MxI-NZJM(k z04!gmkH5E)GS8!2w8Y?t_bIVe^R?| zv&Dvp^mnjJwI~HjLH7&rJN0*H`CxC?8DmBS;7fyVVWWwy-97k#Hpg8A)|dTY$V7Rg zmZRtM>A;m2^WXtJBAg7!GH}Ny|?ymO(uDMHq1GX{Fkp69Hs%Ns6q>TqL+%(br z?)J@VrIoRGC3uHCT-kRkKi7yMcRHZ;O06GMhpA(%&o6cZ^Kby49}t1M?Uvx?l^wP_ z0cx)2Hw)L;LO)NG4qCJKD5t@41IGaHic$T79=jDE&%?Cv8WbW*;)3!tpGD%bqE-)bg86 zrz(jbL0s8s7YjZg|9BN~j){(dFR(igEE0bKKri)L-;diFFj~6w(kmb$M`>;KC*UT9 zdq*^9PfIy3*VzA}hi^xHg_IbYJRHb)+3pk2D!qt!+>WA@nP_&n?@OUpZh*1LurN7s z@T_LA#LWtpy(q+D`n>C|IlZ!|uaDkBQ|jOe+29!Dl-(-eQ)_^854`9bz3zwzlbArY zIkV1+h1ZZwpCG{M15jaDwIF~wPT5AlANZO#CNv+Ho?8P3K8~W;PWL5z3NGq}O8j8p zkj2ug--zubgWK;`*b;wfq-#`UE8S2bMr;Fxo61S*N=DNK!}+2Qpd^~=)3c^Ja^%z+ z^%vEMNI&VEX?34yc{&%u10nMj{HiF;#6m5NB|D8b09wbZ1MGU9L#2%}N5|A!-~b!% z;>Z8ggTh96Q`_S?2kc35RycU{gMp2|K7dHxenNCxGISSJ6tpodeavsmuH=9} z(GQF%zXf(QJ=TH(tC)_^N7t8!`wG0o8dlTQX<0du^Sf_W4q`aoL zw^4d(sw@5>{GM-hED8_K9;&-h8*$=XmR&eUs3|RR&w_?P>ndExlJ_-534N!ZJTxI^ z{P=$fG=KSCuVGx>MGO0xPwAI=Qrlvdjx2K>V1xvRrxEKJz;1{NKx@1PwgomgL3YxV z*vzp)wM+c+5AsF0j`0Iprb`HW^ynQO4-19C&8sEf)^<5J*R#VUg(W|PShaB~zuEx& z=m@piulKyFjrR$KLi2T~S$NIYs=UI4C%4>*9mW=86bt)d?e}l>PS?FTr+1|#`K)z_ zek)&>pA*Fp$R5Es7&8@dE7~&KF6dM!B1lr^TPB4U)n2zfyV#hha@|Wo;$&C;`0}X> zz4wI6DY*7yk0K%hP|&jCSwv7O4>92tD;8)FGNz0<4a7GPKHQRlZ)Nv`&4(A|J+8zt zzb%;9bQ`Rewx%&y>xfr^RX%GooSu{-EVz1J8fKY0RVW+P!5eEREKRZH&R5jmT$d=!S8 zV3jI##SCvXvrd1)t!jtStgN-NRZq_`+&sVFqC2ku_s)S(dtYQfd>i5eZ4eqSlg^r%D5of6IO%Bs7JIcS9%(!=b#%>`(ym;9Y+KN#|c^LouW zYtgJQ)6YO_YjIEPvF!k;@$q8#N*{CW-Q3hU3eh% zQ|Yw~rns3U`@2lw)g1lC{%pdfBC#g^=pJz@|kZd%Z9d zK!S_5ELE3gNZX2~@+VB*B%CjhZQGlW<2@SF%199(WG%*z)k)kTK1I$RKV^HPjo2xH zMP}!aAsS0D8JbsujW{nwyjE`ZPOT$McF#vHy#B%Pq>|BD7hv~`+v&W%knr7mMjYmf zi@{rU!x?gbkp&FvX@Oem(M_*~cC zM3kFKVLLbF3q|QGecEn2HtHoPRJ z9EM%m^U`hIcNIX)X%zK+X~RDk7orUwumu=pfew-9UWGeFl#EC-{0;=HiR@6FTTeu!)9sGDE9| z97ZH>&&S|B)SDu1k@L}P&)L?{G@k8jTM*lg=h^hGLouJIvo*6S{|0IhA-Ybz44{a1 zB%kj2D65BCQ^PO(s=!c8By?~`T*5rKb>PuC%Z&<6ScW^Oz3Op%8GFcA?RfI{HO$rl z7w&X=uId;~fn(iq-RYxQvb@nVRE9`vKKpC}l${8EW8*iXwajBT zS+Xx}oyMZ-G^tZN0_k7^Mg%|)*19eByNA#3$vVCP!`IpRAL@4J?YO@~ni*0^J;m!0g zkwb;$A7HE(bP=L5I%utSs43yroH{6X7g*%{gCWi`r0LE(zPnLvYzFCJFXEeF9HcL- zXH30ao@g%zZ}d|#C|zrcK6Ljkl0>6xn=Dmu@=|BQtrTL$E+FIO@g<*`GJk@8qa^8G z06lj`*k%NkI6UwG60E}Y^{)9w z3}(0Aa#h4-!R4f{+^n@zEW#H;)eG8HJWn_}+m)JS1){S}=y<%49+Wv+rk= zH2@0JS^c_UQ*7hxuX9J@-p$=gRb~7(oaARt5cS$`s8Ddbb|%f9LQ$LQQr(wY!iz1( zu-a{Jj`ra63Q0bCj4O_a(%Y&bSm!Q>4@UwfrM6J2<(0Q~cduK0PQC-*@k2c%XN-1R zZJU4LirTd`Wml}Ey@w;|M|OaI6=n>7@t5`Azw`Bjy5f=nhp{0td+ODd0x1$wZ9}ZR zOfQ%mlyDf-94+|dw|?6Mbw@dQTYBvR1QpeBZI+|H%uG51CY4%$kzGXy?b_ys2 zsw0(6e@DPd5cpw1#9hj{dPPzXWh$zkxnh^XNLTj4|4-_^T3KL5-=ZRGXX|cJtHI+5 z_(SM>85!{BY*grL&%XO%&(QUMsGj`W2JZ}wp4gG4aCB}9ZEN2glE-RrWcVw3A0Lt? zHX_#SrwY(F!^m}am#qemhadK^elZB*!}W(VR_C1G5c(!hqvMxmzACEsBdmWgV2{55 zAjkkW2fy2~nserGiiKI<_lOw2N{piQhJDYJP`O=^s+@Hdk>81 zZeH21*((t%1`(w(Rrp~L3wkY6mixpfOP6md`j|}s^<@rN2l}`jR?@+nsXKM;pX(nKI(l>+OeWa$MT;=&;?1eJ;C2w_Pv*MjeqkL;Y7P+gpIBmvx*~r88*`yL| zb?WiL9p4^8)yUL687Y!c++OS_JMD7%kUVWdRba^{Y}TDM$n^M-X;)^6V}qFwT_={@ zH`i(FaBTqU1Kv7g{)>zqEI^r)ck3FO0|2_ET9QCrX?7~l?R$^D>!BX`f-1a5tcY+^ zD}na=HSw9}BEbZqcK99S`jicQ`|kbivf;^qRVt<_92N$sleX)?vo^sSpDUhd%lu%l z^^{ns0w=PMjoKwSX4Vwk$fyLZ-4yiK)Q6_>NT!*Q4E4xsZv9Pn5T~l(Vb_YVkJ7_h zhj#PDPc&?9n!Rewp>$8YL!^p|4n|yAl(h z`DdF$nj{#$;5vQGr+aQmh!AYQg zm9mZ7Z%!OHw&Fi2ji24Jb4@7AJP@9M=jY-ej9e;S%Qu$hZ?kee8zULdBCgEs2B`)0 zP=qt!ycCED)CEnI?{_~pY^rrpR@oUmSWIR;3`4F)^&&*gH^OGD=YAfRp|Q7hSke-f zrqp`+sxp#{u=VE8-RRa8J;h1Qx~XvqUC({3*^wEmW6&Dblx$r=+@u;7J?KMM7JE`R z_Rvx;S9LI4oEUgn$lwD|yn;SK2rnUAWE*&@h$il)bHWu+bM$zCifVips z$L`^O;D`F(+5PuB?FTf-VW@gq8ub!toZdsbVUfRfm$W&{xQVfqIGw$(f+I^w`-j4$ z-rB=100JE{$h$@1@h#F1hJJL{=Rc%a;IJw!&OQa2U?!)x)@vVRsYmEWG-m|!5>*K3 zU+ukox|gG@nC3A>a|gQc${xI#>`?U7sGha#cnTM5Z;)7fJ(op?t@~jr4!!bZ+UHgZ zkcz+NQ$G0F^rcsHIgp-tZ|_So?Zi}c@ne9pr{3oX0OB6wkSQMq945xK4;?1B7zxtz zJ~(V{;U{_@A#?p$TWd)1F+?S;K6o2#mR>12>cD%aOdYK`=+`MWlcw+6x^-G?_VnI+ z@SaV$!N)RbEf1nuu0M3Q;J7#Rk)o3IQ+r0* zQpZLCunHcM%1Q(UW;7^p3 zQ~TAuQv-$1_g%3CLjS>&eNSSk!EUx5I8b9vtZc!JHDu zdRMD&f5pEQ9xg}ez{tXME+q>;#QX*8fSxtq+C^IgksqJ37K9=s#HbGw8p zeIV?mawr^r>2tPIWL;d@O<5zXxu2?@wvu>Jwzw6Sz6cQcQ{n++qe0&bd5!i-XI5L+ zA_n66f!I=d?f07LKmADB#1{o1rV*UWh>J>cHK*ENPqS8E)qiOQ!ixS>xT8D<%#u%H z9?wQHcQkQZI#$$2{92!<$C5pvtGdt55#}dvIXlHV<>hI>^?L8t`mlPWOluQvk@Wlgx!zU~zJ^}Px?7u>jV6z#~mpFht*xu`O=wNWtxrhnfCt0M^c zu~R-H*4u8tI1Q}92lWVuth+XgK%D>2OdLJjD0DzSvbV2{e})2luD~hA>F?5$O3p*Z zw{$FL2KGu2wq6D^ALHcNE?z?JgUF!njK2EI(B%@q3EHcCG$R`5Lb0qKQ2Yc!0E#j3 zDGL8&f8QTv@XGoqaMt@xgO};$k7ky^^gXVZI zE_Mh{DWUPWx`!;w8qf}Qel0j_Z&a#GPfXrC;??pyL;XJWGZ9?IR%c(FRC%|uuRHyB z>VV$^`(Hhxd5HU)REzYn-JS&C&*(rdL))OTv#=dxDE9+@Ka9Z6i`{AB#Zm$OtuU%C z3vODwM)M1Bc{cfG{!>@y@aOy)6#hGk$p4NV`0t+%kp9@|l)aSRehSKlCh!zpEQYUx z?N61d#~@rgXyT_1fng=Z0-^*xReMKeJF+zEC6XqO#5@0W?qeoe_|iqtAs4H24j$Et zcKbfA*QD0(`abl=HBCsZ`<#OvBE!No95BQY0KI`wuT{)t4LhynhneOzCdul(cPvxp z4_ovT`7Kw%yVs+vMvG~l+3l{oEeP(V{J}Jn2XE{&pBA|rCcS%*a3A;!3>yE0tDmui z5~2ViM8Xvm=Mr@l8BFzM+og(inGUz`A8{2b@dsK>!ADv{MevJ|>`v|2pA8z76`0dy!vr58DW=vK zxcAcj4}qagFp6``#Q4f3p~Mdij0QTVUv`9th+pzePGD<3d%e?(ftkqDQK&a7^X2;U z3e`_$yfHpUXbZcRRDp^GTXIWo4vAu9abBa{mdIQ3;pNYCnLYXvy-wLxqqm?`?AYgG zbJ49%V1U9ycwo4*+n`gpjqh6F)V4}T>$c$J74!UQ7?S#vgRD+T-}8*m#dC*V0fXIuyxoE`_zJi zoRX59{bzxOnPDy-rc;B{ob&4QQzi1pG)kOZ_H&ykOBV)4T(Rr}%K$7}E9)DWq*>}Z z_7J~qj_hHdP!J3=P-iI|V0&vHH=x8elcFgul+?ILN~eudgF%S}^z5iCs%V~eX~IhA zo;04&PR~}i_qFi{C0i@#rsgyRFB|2zI@WV&A4`P?=K%iVOR=xP)3yMcI|!4Sbqc1F zlSz;f9aP6TeHt2yqBNhV#cxWGj_g(es#b)!-ZQiU5fL@p%T-E~V?u*NP&J_80SZJ> zxLNB`X{z!a+}i%h$nA~BT%6JA*9_$0g{OrSXOaQMXrSjMm1ow8e|gNRJ0Ynk?um8j zWGyCsP4z7r&Y07>P)qGliM#8U$OnUz)zb?WoABcqc06>=2?+htkh_eyuctr&RWSti z^^9mrc^blsvVKD_u$FycD);v~A+h*k^dUvq$iPkN>69T%L` z_KI}t1JWm^q-&zaGY&P|;_J}EPL3s5w)l94*Gir4j`K>`yVcCsoYnN4PpBf%`fl`q zkH7uq3l+z6GaZN^vhR%s`jMS3% zUT#!YJ^g^mYBC8sb2ZnOP%>+jLBK)Z(qic5KQ9K}!b{5iU?|EB1g|^rMf#&mth~dU z?$_>oaEsa2gj}49Zg?_otJt5k5U|NnF>%=Ht$}X-JD~XAdk=f3{Ulp2_2;ajCtDkm zO>J1ZatN8u-rs9HjBPCN78OeuHH?VMEJB{K*W)A|?<_AoWVxeXw=!1ms%^;aOHX+r za0)6lSdqBpLg9J_$oip#HL&#FW zE4w20S`!|K3`Me7)8pYm_$u`o$hBeZX6n?-73hr!pQCErS<83G(amd~zN zdBq{J-6ZC4&#!zx(4_7rV8}w(TtM5RSue##%0Hg3<$;O!VqbcMf1-CB9*94bfckpJ zIP`CGNCGezR*XTFe|n(Qz*hR{X@31eKe?@W`Zq%D!jPNd8|x4*K&(qfrcs+8^eg%2 zJ=;HekLX?!1XcQ0>8$+g5_TM3w)QY3cUi%s*wLYk^P<&yYM#F;Z@>rQ7zL#WuSvd?}C zcMQoMJ8J)&zNPxr&t32bgEKsvkk2npl%A~fQ4*i2Z531$a;Hm8r~-wCz|`_^9RU|q zs3iO3GV+|cR>1X?5i;xJ5lGjpm^P38%u_W|f#4s6?Y~Wa%BIhUONxsq(ymLx| z)mS_wXB_ulP+-AhS7kDw3^=j=$GIi5*-wfI`kZ|oHXqgSw}3T}418$pYQ-$;OXy7i zluRxQUzgdM{QiumGv@oc`ivY^4oa5y&^4+f7 zv!vNp38H^~Q86=6Ya1k<>iWUG6+JS=vz!!EIHP0G@vHHa{!K;G&``Gb1Lrwk$TOQU z;6Fg7<0@K^qadRJcX7yG65(pf^bdy6YNah)&WOb_QYlu8hh0O%I8nRu$m_*`Z|e*7 zvLVhdKA@_{El@RegF_RwWPTY-^@A#@VXfBOAq$qmYJ8Oar`jki$+8f zav>h{?3YWA9WMkMMnO*01<;v~6s&MNt87OS8Q@5G6)QX=Td6;C67gnP{%Y=8%GSUx+(f&J+xtd) zCr#6wiAz~8n{9vkIcQHP$fmkKYyAG{&TKE1JT*%}8_p~BK85u)-0}NQW|P;}FdYP? zgYVx(+>EMr>w;hTNrA8gWe+)R)Sv122M*O>22GJ_7+)a;rbB+ZCCh@^e5IUING;}&cF!SDqx_>6aCJb5JHv&$tM z_FZjoHlO6#cgjX6ALWOM>IgQuRGhkt zDWZv$WokyJq0E&kbz_R^WsNXhovwVnASqrNF3KPA29PuORQg$q<^ej+429*PH*}5{ zb^tl6^V7epRQg?$1PG>{Z60mQUHa^W*D|OM3P;|~W^velJIcEtGw1UYuFMD7i00MA zPcfR>ZD7}n;j`dixeRr$IY;w$Korl2?bdL9&Z46cT(V67zy3z+Cxyo zAMXi7e<%trh%=r*^6;Xr-0|1{5`mahiQ7t?+PnVTMQl2EqoZvHkpcdt9k7uy6iq$8 zY81J6W&>;o79Sq>F9UGSK~xGr-2dw!_&<0Lo6a#=$=e)ke~#nB3HGov7qn?xH+OkW^S*zitO1}fgpQA`+`LXqeZRt*qpV7X#KA}) zGXkw)fGYH2gYl};OVSQ~75M~w6#9_prAPK=rM^eJ@1U%}CXsmH{@*hd14^IJv$d$l zL|%>V8QuO%$F3sA4BJut%g~ey#d_Rbr$Pl>;;iM5`MeezY4~AjBY>3=jL)Y z2Ypcs_%v;Sl=i=q;gCp@-u@4Uv%8@+!ef#@7!VINe*;ShoBNZ3Lypypp5V!;=%?OgiPkob@Po|(vD z=>lLSEC5#WaS%pHMJ%5*JtX4^5&%&EJB!&@878wIe#ZtF;|(_1&lT7Nitf9lXL}iX zTaSScy&rVqkM*&4MbkO}iwJry-P+S-`oZ8rHzcnYWi(c!_Ud2Rc;Rkc7y*ptvfB|# zHpD`UJKf3}Ewe4KD(8sc@6Ig<=B=q9*%&jO9549de9Xn|pU7uDcwuHN3 zQ_>YPX$=ytXHi-b&HQzTY=P(BJVdTZn}KeKvzKL~9g;cEWuF1_<41-y)vZn6h^jZH zS6^|%3)zaZvc~EXgI`W$_oLRUz2qMq5kv09=Fv1~?W+J39Pn~-dVa2AWCO`>mdXi4 z!wJ@J)5A{Ypb(`anf8iB;+i8xNX55)5r{D;STbN2%`{JnxKXJE1p`N3^VCfPrRs@t+u!u7~Z#}1^+g@ze79UG^T;!UuDAhoG=wWu!3PL_qo`= zzwQ<>N+^M^QGi*%>16#D4X3yziquB{9U4?<{D+}YtU*NpASCMpyd{D@4i`8`JekG& zcWMb*A!}ZL4Om?^_gZ^?b7w*eP#+`?7v$oSG|?+6g5OHxM-g7p;C=6>)P$>Ff|1lK zx++tE)m;|ghG0Ku?B_7UL&*f@M~f>fQ(or@4d`yHc`=-56CBoroidAXVTP`qgL?j8 zxb0=wEeiWJV>S7-q3!^F+l}%j#dlpE2e@l2)JqX9n!9k+D|G(Ogmb7H5Zx+eeLeac zU%30WLr)WuiDdaeM`g3A+~;Z9)%(Bf>o-dX$X)s@fHWmb%{(v_Z~jmnR}zXg%eOi! z;P@boPt9l8op+^3F@YsPz!xJSA>+jIe040TkAm4!01W;}22)s%WYjrmC)is!nbEDV{UY@&M zd|41^#Y7P)zNgtcA{q?QjJoOH+RHcxkk^qh5~VuY+Lp)HGa5OfAoIB5C3S<6{<+w* z#%A$5#>2xSkdb$g){fU1U0Dz(JrX!=PALwiWxM3JI)e%D;4m$KUm7l5y8K?_sJH#% z=hfFEt)M9TC9jMq&Y^4Xu3TbZxXHl(jx4skwN?~=QK^)^U$yf1b8%+j*_=Po$zf+1~+ks+7CSRLI)HJ6WefuPS0 zy%n^b_dRoBBROa>w&=%pij^k&rf^N6d#6S0JNBP>VfM0{QjUgqxcV~hiwbfAb2(iA zjcyc&Y}V#bf#%u>)tq6v!)r6nmkBRh8BF%iur*D*LhqCB$-gE}0{mexC6c!R-xUk8 zHVo$q&KpD$7WY>S`T;vIn%+-+B#%!=4VuAO!fhPue#S);&AwF zgY&R{*&Mu!As3i%IS%}?C_#@DH}kz#yf>z+XMgww-5xc-JQjrrjGcd11+xV}EQU(U zW!a~I;8K}6EXyX>mK^5vxhiTJ@wuUR7k9S?T6;AU&Ee+$DfLh_llC`b&i|H}y(HF; zOiPfo{jQAFMfjG9pS|7ossoFh%&un`S8ic6-OoFD?9tX~7d+v9lYSi6+VBotGdp&n z%-J~4D^Ia`YPkBKkd=$XhwmZj)bd>LjBy&+DJt-YU0vfnoT&OeMf*FOIAZ@lJ=uQ{P5diEsI z|BTSlQ=-mz;)ZgRx_3l1IGlP~z0bQWE0C^g0 z4ddWgw%vwRBvBM;6#03T6lQ{Be42Q?D+1dtR#!?H3LdZ;w|%#8YrbLDQg)0?>+T^a z0_Af3GcrJ3{B`gGzIUXk;X>6?1~|?OQ0)fZ7%RlOU%h;=d9}{aFt)wlah^VROLi`E zIGK74$?dR%nT&(b4}hhQrUaKU{O8p#vD7onKI zMFWos0@c&fYmEWChJsjD5C;Sjd{jQ#CJw{h^__kdTsZq1Z6re9l%0G*?WrZQ-gA)K z%Vz!KJi+fDQLP#9qr&WG`RdbE%zXO_CKF@l5Utd~b?F7n`JJA!XT>WgZ|&*zP-2`B z=8#ZSpA+l)Wuj`XL<03_IOxRkw)jwXmcB7R#{l3Iw!@=1B>&I)mj0&Aej~bS4H!f`+6T*1(eAYQw5Tv5~7;)>fIdUIoM>|Q&RuM7x<0f&~U61V!B#L})p`}11#(k|ES%;!GTFmJxZG8Y6vKUpjpGinJ- z9Z!k(Omh43YC>g@+jZ^KQ4*wkFfSi3(idB6sE_e?r%X+I_a~)1YpBVxdI36td7>8t zzecjiCS~A-3MK`KsIc`|{d!F0`-pFC9_ja^&%zB}zS`~b(WIWox73ReK+R|nyn}vY z;OQWEhN(JYIpKUtpGvaFk(Vd=lD%Pnds*4!dzKWqUMG ziy(+a9ePAukUPt zvyR}+_*QDM;hHNm?AX9?QVA8T|KiEz(sy-kiXn4R56=D4Fj#%|1uI?;&5a07z1(Ns z0f=a(98ItIR|@{-t^F(g(h}gU4YT{Rx3(L?p&Lc%;?nH0tKR`xxX=Z;srrE5b|O$Q zT__DDR0r0^7x+X|nrSx?ch}dHRMP=b3`g-@9Le)BW-}I;b4d&8y19!91`0rM5=s~IsA@7g8sH9U^M_$sZ`F7rln9l{4{4= zX9_j$ttfD^MNWCI_nZV&EY4(x`m!BmKSSbA-HX%1&Bo>de>zzA z1)r}CZS25&Ug_!;t~YQ{5FBZ*!H`hml@lSJ4W z6}kY|uQouaxq>)KtOzj)@;2#V6Enor94DZ+;ZF0`Y2W=+2#g^rLSCuEjrBZ{rVDtX zls2|z?yc^*qk%`i3x8awk3_sg94nLnKsNgI22jXR@8|h;I$yNErNzQ0S$Qi}GL#_Q z@ROwASxhj*)02L#+DtKgiF*tpDHz=Ggz2bHN_JF6(uSWfMcL1S7&B^T3J)PJ?~lBN zc3rnU8#s0f-QB)a8Gcm+ugs;@Kn`eC z84(WbFB4b$wJzMCugI#T`sGHH@rR7GU6#zV_RBqE!7cT?!)U7H42Tu_DNjlG(e(`p z%Xy&$I}zpyVu@fxL~1SffoWaT#g-?M-VUObBV#X2^G(U6DXHV_-IF%R=F00TtWt%V zN5vW?G=0DSGFCkmHvwyG=~+v}wo(yqkwW(=dv_NL@j(ZNTA&*wgtu__6|&^Zpl-##O`fC) z2oKTt_j{KsmZdM~!#Wms0ZrIn!E;A~XKj_xXI7kkFz9X}yM8Uwo^kV4QkMF`0H5iZ z%M<%ZEKP+3x?kM=8MEJigk~>0)8wlpeiYH8CFn%;1@+Z(S1;VR_&9~Pd~G@lNt*yD z%s-G?|74K)yTRxm>6-q_?j3l{D?}X$i&sR#4*fZXe+JOFL%@!fit#1#v~cj(+t8Ke z!F}~j==U=c`-=PTFf#s&fTD6s%4MAsv3#gT{F7zJ|4&t(YbT?>BExa<9PN9^C~LWf z6zSoZsLgS~*}W$K1?bIzJvDmCU+w3r1FOK=ui3?nmdLNKpfymjydMnBQp9toh+E&M z&UP(_s%ZA~*4ypn5w@7*`s4Y{05h~D=V`w5Wz3f~AnN<#y#B^r@R#$8M|xIMxd6&~ zZ%U2w?dF$k!0l_?mp5#i$<2wwi(8|*cV0GLzT?`l2t;X$<{&~6I;HMyJf0qB>#M%e zQ$0mzYBOWxs<+PAh+@Uk!F|#x<@=gz5Y5OUxCUUxz9R=V-4qKUGQI?$JvX8R0PU$f zIRg|Vz=-<5qv6y1S$NhX)eSkgy$K~=5y3cMu4YiLn0nmhI+iW4pMwW?kg!tCNqdqd zE+$sAx~tq6ws>2D{Tcm|>YltuSJV?YuRo*9hFAvLBhu?ZSc;$_pguX3#_wkh>$2TsPXRGx=&bS;CV33$jRciZ{ijmCb1 zuoNZ)9pQaLCTZ>gd2*H7!!@0co6tW%MZ;OYfgPq^ z)$_sL)SvBhLvk*a3r+V)+vmr!d^SULNXIK#&haw91Hve{z4Nq0Y1k_|{}9y{-_e`z zHPup~@q@vz8h1joZ6uhIXY$!M#-&AUmG9I{R^Xd_*F3GgHjZPLI3qytMF2Za%KIN9 zXV~M|`Lfu(%8;Cj!ua)lL`s6;NW)Av+%8mNHK$Zx-CutB-zgUVcwsrmf`dzS46l;g z<&Ae8DiOa)znbhor*6OhGUneIUpOKo2wOrJLetc}NgwiA%}8(cwkiAaD>Jq|vxip9 z1SD1Mn|I%)&VY8W+6HiUzR(4W`XSh)X(CN3m-`4lRwqJ{n69@77RZ-=!6^CrIMHB@ z6;3N)5{q%~`tlEk8l!i9sregEK?W{#-Z83v6Hu(N`APc+#v2{V!M+~uHxbyrQX^(x zqdh|XE+6AY-@5tuAZ)>%^{AK4{SM{CSHK*XALg4MCd;J)%yPrQYI{dqD+3tXdT{9V zLciea*O-7iw0fa0k{MO5@HA`ptBnAIQxv_X9@ZZWg%N+@BMk+7q?s#X^GB3!)Sl<+ z0dE}oNI#GZdhJ&h8$jRU?!4@)OWakq3tK4t!NBR|YVft9Ufq>?3%*{myln{%bbA@Z z5b)N1I3pxmANnB{s%b8&0UWA}f8~q)`&5w#6N44uxL*koycb&9o0+UeQ0b^?YS;3> zy6LATM!3CDhHnl5nz7qyZ?f0L?sgF2!DZ0|x|n3)n)BzH6|#g(&nNfOhB|!?U6Z-) z?3rSN^UmQ1F=7i-;RrVR1+S7uNIl5GaGgVKKfddN?swsP>++Xa_#aH~T&=%3tfXG# z6~9|{+GEdb^gAi@$q0X#!jUz(Le`TcSs1ZCuUa#Box1E&H5xU7*Iip5foFe~KIjHV ziq4{g)6}KKr3Y)shz77zyOKC|THd9yR@)%B&fO}mc4CtRy5q+~TFvw_#AaYs#J5Mq z&1vz*-{jb2g?O&BwvV-?1^AP$4e>FaNBu!HyO_) zURsCH#tftx^w{#^I`N-dfd!W@*{8`-DgK!-y-#-c%jyP8F2u-kiejm|n{nU%aCurq6~}x zCV;VLJ*)GPdTvO)Hb}%>_;s%_FRx;d3n~4xN(+W-m0Ys4AKfTtcMy?KC)`@co=o`; zbD>7=MD=7}Hv)-=??0)U%6E{c65a~#ku~8 zKnTv==u*YEhbgSH!%e{KTVbuKL|B>PGx3{OURvCJbRYcYmrg_e?=JU94n*N5)F~xx zP^h2GiWReEJeR7Z-g$RTh6v=GH~Z$cpEHRG;o+y2>n9jm7VofjZmqDSZJ;>fny#Ll zB+75N+2$cJ8h!0y1I0)D1{A8DJ*cItWwK-cDH7x!Jwq@^V}4iM!)hYi)z$N~LiYxn z<7%F7ogpx3|IEul2|@_|in%Cl|LYo6FaP}U-pFH5XBhkxukoVZp7nLS&pEsYIIHHtibA&+!FoLPT)M9FRXNVB)HJK?Dz?D)$_7LBMaJCO-> znXxec2Zj~%X*e8LJ%}&yZawJXv+Sz{3j+qO_8GB|&8hqO7lD92q3&(BApgh z{l!UXXc+lDptkjUXVqT~_JE%z5#fSV*zAw~6ArxM1{*>H+*j?yjGHGp>A;Ky01dGXc{o7Nyj`#K9M#cT(_DLp zrbGVka?}5HpO?|>{dzH?JFcjQ>I3<$um!vAOe2=0Vc`-de;wcriCpZn5pVeR$0G2w? z#!uJctr(CcF=Frx>9pJtT(0fD%x|@^)N*tKl~sBHd}=c@WNJwkbp35b;)PvMBc5;x z($ljq|N1wQ8h~)76RJY=G81Nz<^XWMbcT@rx8eEU)q}r1e$wK7k)aM`b0GF!Lf$#8 z62^VBV|OZOufM8}Kt(;NG_1U;+lUwyhyy3?u}43~TliuM8sOf12*J)6wRu~u%m}qfP~*txEjgRlB@3Acuxa&Ac4L52 z?}pp*kkw{Xp8rXufZalF;)LE;g-=Llcks#aN^8LDIr!)|{s?8{s?iQCgl>)*rC)nF z)*Wp7R^%vnJzJjyzY}+TzCR{A0x7V$2kXi1yx;Po-n6|3qc*sd^D*^QPQ0(}MdR^9 zr)T67QPX`x9Sgq0a_io2eMqr1&8Gu9blTVBg&x~SuvEoIdUly!f!&@dU-;CN%z!Qf z$UFJVs}=j!(iB;J(yRRPlKcf_h4XwHJ%)3Gr3CVIqxnPdA z(^fwi@?%K8YW2j_Pm=<~6FNEID{ib&VHsb}(6fnX`-czj=iOvvIP=o*Ntm3a@#Fg; zFGX`Wf#=NrPVw`-*v8@7)WZFziO&^2)l>kqaeCePkAFPW|EcGqksI%`?Zm#&#}r@D z$6jlGOI3%ae{wc3im3)nb9$5pRJgr-HpOihOseR3M_5}4nazBZ01n@|1N(WPwh8o= zvqg`3Y#uBH?NRq;|H5(|b=$I?0<6Ge!?v1YB!K$y@NAo(Ck=t`w;0e* zJ6exv@0!N0iD^!!&=8&9iU)Vk*CGI5?E0{wv^hpOVnR9k=(wWKPo=*;@C^M zo?=dc-Ga@v%}`TDnUdrs$mhor{E2?D^O}2~t|kzdz{aa2N04bQXjW}w;LyMN5$S!7 zajW<)?Pd$DeF2!EuLn`pJ-87_KS{)^J#-1+2pH5u^^K$1XS1dPl(op8O>?qkr_x6C z_0?|6vV}g1wo>bT_nLK9)O6RdK4%rUgo(#5K!CZ<=G2QE37qA|RbuHXta3B1CBs z5h;=0ArKV->C&Y}={-o58tJ_^se#Z-AfY8d62IlX=X`I!bN4>?-23i3e?USAVI^y> zIe&AE@f+j%AT&DR(J)G$)(2)2c&COqJ)5(~(!A5=u|#{C10w&VTUdi}4vn&1n3_~` zak(06^{Kj=EB2KvA4Fvq{|wp+~J zpS|7gZ?5>@brfB=!RBlkk7sdI*%!e~n(KC1uV5HI*gW9Fso6!VF--^GP+5^+UHt%*r=A)wHV&e)P>th z<}WliT34RbDB?7n?vFknajvf9t$D^8?9W#Rxw^mqc7xeqk9l0KWq_Fjuvz1%cgTLG zd}CQ|v;DFXd5(~wFPZy%NdYYR#GuBo%B?n`-&&u?WqI+*%ABl)P>WG<~AVldPb zo>sTi8{?)qWLFxzEG2s9RYhgRb7EBztLZ?FHcaudH$%b=kHH>qdqJ|!qB5(Px+?)O4aAjb&s@cfQ)OE=K5vy}^^)IRxzS}$ zx2lHD1NKm36Ag7-efd)85Zax9hA8U~d=+2AE`6)q`tefYZO36~I@5dKW}l2C3$hVI z_z2&o=y|mc$bh&;waegxt=Dk@U!Ri1@|q3g+RM{ez0pFFF$ZwBzI~;j15TXVcQpj( zY$uY33^oE@gZ0~U6#T8L!VUMMznyq6mJNa z;JsmQe_K)QXl<_8Sj8+RICAYV(6PhAXa_4*u`AYKjxDjdEYHQ0vdZOoFdC8IkZJ6j zzYI;RvFWyK&&Jxmiqgg;!W{7CMvU=hmZ~iG6Bc6j?XEX>Ol)Ni#?(aND~ScHZaRZ# zXYcz<>O)`PUe#(GLT0wP%l6-?j5_G-_d}7<#)C?l_71kU^(_G;;@qJsg}+Xq^&q^c zwVDbjoy>N+eG*6O!9`*3`rIv=>i8q<#crmShaBEbOx*qGqem)3o^@{x3N^Xf5V0IL{Q;dMi{ zvnO6x#q|Pcs>OtRjL4FE_#vQUQ~U6%ehg^*$5ZqB&+g@bDh}wkcxtEGX@|IH_xRCP zxliaev~)Bcp*83;nAVtcWq%!e7WpH}7g%Rs)I6p|IVf zWx1yI{<)r$my~Bmmyus^71#4u`~4n%>o&e1BP626!wU|eJe$ce*uM8^YHaDo8;kJ0 zIa*%tKoypmavx|1EhmwIc2Lt_VHwhPUx48U4SrZ3AN8^3}eEmZ`MX1T~cU854f>qv94)FC2jAvU~3&ND50^-h9b zQXHv=H|T1l7wRs(qt}xPH`kF%11838*Zi+me%d)&qoXDT4wM^>xwPgjJhY_bJG6Im zD!`PySfbGSBZI+uJGOJz=Rp$=Xt-PxEIwl?1^#f*UtKkIGVZlK;D%eJXhc%PTs4`n zv9YtT<1WZOh5K+qkDHE_)z7am-ikXk`i0C3b~>cQD#QsYv=Hz1Rny5WsREhx*|dlf zSP2*Wy+Zt-yDI%pDoKAYFR$z_sQ8UG&%A8YeU743Kya`1x1bJucHwIk zrWifz2*~i|p|sN!^`$Tk!US|MsdtvDmF6i9xF}RQq1v9nCO|AZOk()oV>yodf;Lrq zskXD$n3G(zvLz1ETLiCVrY@5D38L)A1U_N+ ziRO~D5dOJv;W8TR0%%Ut*9M2n_({m`inevi)LfSwv(kPA@CBS~f?*(ZD3g_Wb-1W% zI^)YEd#UlWrMI5v*Z~#X8=2M>lhef3XCp4Cb1Q@J(`AwE_qqL~g(CJ_AMA2LyOt=A z7=Fk_KQV}^cvZ0x-d7_~a8}bz{kB1~8p(jS88`)$8d@F0F2oqCQSQIIs_%R7Ftm_sG9 zH4$+y-D*4~&4UGdqO2Y!Ak9^%rg&smY)5KNNs{Q3H5Yzv(mg=$irO7k7EOJb(T&ul zBC4i_V<}W$OfpBGr>8@Fx?g{^T7gm>uspk3wV{)Qhqq5-IU-5sY`<+~#=6%o7ZYq#hCFho|(Ovl2f? zys}?dFe+N=S@kkzV@mOaPv=Z8$AcTKos5AoIeNtyW&RQ$h{cu{FA>c7jUy8t*UIV_ zy4qh|0cEQ)u^xp<(qS5?*?1WzmW7SVYWGD$qOFVr?<)XaFTS6lE* zwp}!JTus@nSWS9(Dw)eTNxNw{eDB(~ABqQK$u*$r^xzFJS51-)%QcOZK}Q(hEr?4{4s-+&=5Ot_oDi={5jq@niQ( zk&;WRUm57OWh>B_*t70w8c1P8RL_VW-EQWQ=y&EkE~dCJ^e}C;k?)Xcv4)9#4+ib> z`3mSltevoBG3bR(xCiJ#vnG1Pu{RIdn`;!i>E`9JJx#Nyq>YYqXND4EH@sw;ta1(N zT_-%*Y}z1mMbNI1*b=O$N1*RsiHT$%5%=QBRvVk1__Mwz)xb-Y^kgVm5dva`jEdVRF2Javmoii-e&oIfiNl?+)@|m7r6pp zL?74x@w!v6!$CK9Yk5XTf6`glgEPGN-LWAUSnD7Y?~ws? ztDGq?2=4}}g8%K9jlcD%u* z!!kTi+uZ|SkD|a=If(9hhGH2j2PLaD_hYt`RC6gGe-(Z7Eq_{FX${}d)g3H!-j_2{ zX-C~xr6(v1AGD81)q?MrN_)Ofgr;UMd^$Mt3~I0CGdR1dtWpWP)0&JBtBVvzelbE6 z-=#g*9YUS~*z^6-g3-=x_gHs@2To|q&OQC4ujBSucf=UJeX;ZfIT)9Xb(+ivHnto` z4(Q-G$2$Hm0qNOKs!Ob-#t&RngZ;X41_SsC*S$f?9&Q0NegjxrY(mqE5&fBm%o~91 z6z@JX`{=3Tj*Q+uXF!iwcsz9~*ZQ08r`E6oOs6a7pT4_)*n#~0IgHNFE&@RkjmKF& zDtm+nDuJxRxe`+1t`DYvV7ro}+$y^ZX$-gCS#k+|RLPKgTWy9;K7pv{^$bI7$*u$S zIo|lVfc^ZM#~3rl9pJPX;{I$W+l!y$>tYlcYPioOLxRK(K<&)@YKWH#a_di`a*b=s ziz@iee&xx^#L+)aIACrlwxm}NV`gqcpEX+qwSL>ZDI*J}6$%|7{Yt$U`79StqzEkD zpE-}G&MkY34}24a&hF9x=P$sA`!YA+3Dn4JZaX)IkucG}a3r`MW56AmtpdhsVzu|7ITOZ)Cig2YMdtT|uSU;< znxOqNCBia(o^~dAx%)gZXCDiTxkLftlWE(F|0EjqfAx2|&tfiCf6SHTBLE(y;b96= znF}WCnsa2+{oX|-Sl0+E@yW_f>qs?^2%Y>FXhE}r)Ed`0oPJjJLz^1;Og5*!qTABc ztz@u-7V9cX#h&`mz@YwTqLec;8I2*}Vb# z*ZFBsP)p;l!_$a@3Hl6sni^8+pPq@hq4OP*6jy> zGPX;5x1K$|QWCJ>&(D7BSY@jd`MCp3z#6l45fEM#4j`9RYP)*r1N?cCjpS|dnOH-^ zEREjiwh{#!BXdvora0kXHMlK&84JxkxY;a|8fkTj{Yf=&rJht1{Cu=_uXE3fc+BA5 z&Dwmc1JU8WF8$H-INg*tZ^Tii39aPQX@=GSTladtT7$T6O#*c|i*kI?rxKm7S)=AA2MQLdV zMQ7MrxQ?p{;QPy4+&k-)t`G$Bs8Q$!mLIlZzsaY?cxx9)Y@9mo#@Y@Y7@zN*1C1SY z8V#w%k{U-*ug-t%lzgpcuZ9l*_?;uH+Zs-Cwv?46>T*^8~@4+n8P>wxRZ4oD^f&=tN{V*_imeX zWIv=`?Coj=hA~xS*R`bwt6BW6q2Kj^4M$6myztp0`wWL*<|3P+oDW|7b{NIL@f|2yty!0XVrfjBVc-JC6+#pJn$bIm7HJmime+RJ`_exHtFu0p2Cz`HBcn5P{IMl+tJG4#R_!O;dwd&Q*K+<}^Myq5$)0ePH= z9PuvTKP@j~!jPmJQffU}WI!q#RY7bMkaGfMgs3M~u_Ggjy6Qt8RlUr_8y@?9p{GB4 z+umN4kHusy4dF#N8SKV~IzeMAKn0btTH>PHMtKZn>bKIg)DCWT(PDOP1|FWHh!t7R zkBDvV3f@1>Ilw-_{XtLEcYS!L;=K}=JLh+;PYB-B39ITjxPn#uQ%}jzIJ>41E@K>o zaU>~E>x*1eZ1{AHjQWIAI(5yX)rPrnX7j8}f}e~Q`hy>k2OeI{5fw_BxACgjiapps z0KEGiWVkH(B|u2b8D6%%X)X;On}0X(aLIM;oy;-tR+l#uJ^jw5Q&-FV<>8hi*Hg8! zKOD`?4FPycIyr{eAj*RvnQG3&5j_V$-pXFU%Q_~uf~vMh(?56gWC}YkS8FbqpMF?z z@ETae5be8H|72{_hpvHEKo{2200$T!=yJx|m`F<$l^0j9_?rg+v_Eg%Mw_GQd51^i zNZ463-($6^)J5Rc{%cL(e+zj3J0AI`PUrtd7rH{#*3AVnb5kVJO``@JEo$sy|C8!qIv0vUp&G9mhfv#>eXqtPB@ z$x$1!n==+W^a{Msbd@Ty+_CL$Wq3rjkL11q?IwyH)&rdm-w;6E`kw{1T*Z9i3Ikli zN1G0r;IqBKSS}imy9(JF%!1I(B70sg7B#D_3}bVqzx?8>XS9Y8s>Gjkdl6ew*mGpGPK~efpkPUqzL$+$$AeQ(ZQiM$ zJ9$>2h2hpMCMOtwQ$&nP4!onx%66hQZf0zLQLUqYWnqYFLWm2k0nJVEOKl!s)A!s+ zn$J$@a86Nd%#D0M6E?FYl7;p|zJf6O^d7V}F`uL8QIiqsHl^L_7kzaIlefHMPu;vo zDe+Do=HYELJ5w}|mthCN$eT?T4Lqla^g#`I<)K+qCc+g*5>6%D&019v*{0}UzK<>m zrCIm(qrmzJIt#GCE#f4KJg)+nyIayu_L?Vt$Pa4`MC9Pg8X+L3G#i^g*t)dJ0>DT zvG8g5;Y6+G)Xn*=EJw4@v-Ls3nMxb7i?wWfC%jMrFdiR%TJN2~nglk#%@d2!k@Dj2 z1`ebhj&9Icg-|)@^!8Z}nM9qaDyv5&8WRwe-beJT4CTJVmVl$r9uJ@`8Gxk!<6iME ze?HwR5VQqicTZi?s{(w@4IATQ7UcPzX}tdtOv@Bs$khlstEl8*eQ>j2?^e?bR+*`o z8f~0N??qVn8M4z-U>M&=XN1erp>O5pzD0kH^y~zf>FF6mWD2xC_OTPKQBy3~GJ8`X1E&*+)$QAF>B4|&<-^}_%vIzK^w>dG)&CDHoX(_ zk8RBE4wU^sB&*QPGsmqDp(zedgyF5 zznG_l^oPGHwGe&HC$L$v5iZxKbZsRe!q7(R3};Hb*zwoqUAQh_A9#T7QF-1ZR4~1J-^d-Tai%4O)cd z-rCz0veGklgXJo=1pVDTdp4@AQqeTZAAlQELdi~eV`HyR2o1TfOIadmRml(AO>WKt zaDB7iUu>uTzODKn-LfVl^Hw|!HimAd`Hp=$>f@V3IbrV^-pt4`A(Yj~KgaZ*h6hXZ zt{BPW_cA{qmps}&thkjIn8h5VnmNQKtzYgCU%2?t4AiuK(dSi-+o2N<^x@l}s74Ya z<(}(VBt{TMW(53xt+HVcZvq-I$uQ6NKsMc>4=MsJfA}f`MzX$XVy8?_`blRLjqy84 zbyii&rl=4W!u09A+UYIh7J3i6-|oMv)F)zs%SOb>UYc8d#2TTG;dxwFD9Uc0ZtsAd zifLNuvvg3a^d|GXk2aZMby)ABFx_W+y5;K!v3JnK-0Z@BSRS*P36iT|g=P_gep>@A zycO4E5FVSA>=*Lh`=TlR3_O3Zj@#X~l~K~heXgdU1vzEJ+$%NJZ`jvn--qZ?=&dQc z$jR&&^Tr4jw4lKA<-I@tsR@G9yG73m) zFVK#|QFCw-A%)Wi)*H|0{r=C zzV+$AtT77aLRf(T*$Ce1by{7@^x}|?V@R5pF|4F)^vQ$Q1?fKBZb-|0PUz6RU~p4z zdlC}M2)pw}?fZPf9_Ry)OcaiPI(`;?+R6@|zS7uPQhKjS)vRUlOo~I_QLji%_!NzW z);p(`z9$d73XNTDwpNmiF$#Er&1rHGq0y& zj5-|;+zrIjAm-$KRCncui{Y(i2rJBOuy{G{Gk`5kdmQgm7#*bD1A-hO92L9MDM zK5a@CU;;}NRisBuiPzdQsim`F?`)5!{7q78;qZ*N+O?X=S9SrP_bo)dL}8Oo`ptv> zp=&>O$CloW3nVNm2T85=+<&_(P;&?+$EE(*2!`m_MZ3Xb6@Zjj703+pNaeD^8Jw|? zUKLT17~(RPysq>H5lr^cTb5IOFUidYAD^I)2Pi?5{L+xcTk;Vj@YB{8U_X!r&(<&% zyJ(6R86rc4x3L=vOI>7N04?5qzOrXG`HG)+t+Qgb+1Ws~QS{p2`PE3N^;!oKZ*QL? z@&Xx}p>5FLX658GV(Yjmw)NxN^Q%5qhrM0z#z)3`uAWGLbQa#Peg7?)VT)Up#*evZ zleK&^2s!`T7U25^RGJ**XvWyGbn6aT;L6%Ttz`0 z_>Q)bY+^Y_9&L>hZg@46IK)Pp+fNIkCS0&04-L2|j4^d>E(5)E!HFA#e1=l-e2L)|(Bkw_eD+)gO8{92j5;5ER(7m&3}Sb$vgL>}mKuK$l=2^?1l; z>P_Sn{%Q8@W26Vy&z{B`!iv1J$>E2ODRA;iIu6OK*jyK3?#!g`TB4$F+3RxEpSfJ5 zfCyQaC&_=ThMgpUxnIYQxJ__t0G)j5 z&i1|PwVX*zR_2gD>v-jcrlXo*4qwzzqzAg7?N(8q{?iXx7E@NW>&d&rt_D1HMI|F4hn=l!gl+;sQE;4J_c&>^7PSb4{aH2 z9CQ&@1cUj^4N9$A6O#nR8Pm*DhN3owb3lXxv-Bv9Yi0bcw81?f zh{ZL0_a&8niUJm15=H3Y>`wJmAp;A>7qO|83twrSJ9b}|CZT1+UU`oUf$rBW{sh6* z{M#apO)qmEjnA65i;1FgWvrja?B^&!$==P3yv75&Z3@&o4gyMBJ1z%kZAzX=O*oY7 z=41}ui+jJpaas5OhE}Ez_*|X(0ih=1I$eXF%yh7wRU8B7()2EF2kJy-g@%g&D&KuX zGnbj~LVm$g-|o0@S;j&E<&2ZLaQB5Bb6M6`waY*@wws{07O*dE0V*xJ|M{1O+ry!n z5LQ*bs5jS-3_-8vxUV%D*ycWQ;*O;Ipo7wxM7 zveB;=+16V}&bR=MNc~Z>;eJx{ws(vpWKr0^H_(UouxW)LO)WaM-)>T7ma$Ux;`Jat zt%7^+`f(~mmpps`E`|d*xJN#f7f^uS0X@kP!$Iat6;c~#Z3;K#pVoQ>C`5odBsN<4 zXfabO(;R)JNt~QA{jJ0Zz!+mQvz-ce4BBW|kg=8+3N_CDQZOwiU;WF1 zLu;r^Ltdpg3dlh;D=qtAJ|FY$It8*UvarcU>xZ(Dkc4o=%_8snTV`KvP42u#9hfug zACxN&1#LTVP5ZN&)v4TBbw(k-8^`RaVZ&SgEZdi&aYy+ko2tS5`U@tcAY?+=`* z7e%xJ9kqh&A}2wDDkm3Lp5&&cbo13gOWdRpqBG#rO43swbP)k0n|W@gz&_Lezh6225tn9-$yrO#3`^VslGm(smAAUHB$dnaQh8=I+8$5EZ_xaMAD&#H|mQ@hJLp= z5qNM7XvQS#$xyBWmE8roUYvZR-6h9!$xYrY_G$Zv&_IPf3B;$TvKUde=^nN)jq%7u zWWcnG0j9}@UZcx3#4dw7ZB}AqDZEpv9ce{AY@W0ta&iJST^GjJZ#-&T^@10V}Q7JhW-4h)|Xmo#8!g}WzVMy<$fm)vnRF>dlF6t|VH6cfP=SnE((e{{;*_{2sc8)(ZJLi6`7CG$H^BEr zDhi4ZrU(3FNsqR~n3b#@;(oEuKYpRCe==Qa8MQAMJ`y9bByL?!pNgpmyr3IN2PtTm zHNX=M^y>E#G+dEm<%vZAk^=mYnJ_=poRY} zp!JV`|4%{Jf1{lx`Z^g$gEbU**P4Csak_$rqIt*%he{XVby@3;+m%5zlM55{&w$8H zSd?N9d+7F!+cXMzCta7CqHEVsD~`eNxBsMT>jIP(HttK`FOCrs9{|csyx>ndftP5r zoVMYjC&)%nJBPzdbixZ130Ma*ZUG?HkP_nWOZh+Ewqg35Z60r6O2YKPO)8w*>{7l? zGt6ge^NHhQA2K4?c{iQPKFrK~<>J6w7OH<^VC7yqj!hL$;WEs$Hy~-&jSgTaSu>pHuna- znt!<({!5uMa|))o9}2SYg$IFRnV@RT4sgx%v@d4Kh@AiAI#4Ic^I7QUo3aVLenLct zT(}>we(AWt52$7$__PHMH>>3b@o<73~-!QpqxNkPmy`SW4rJi0}0Exsetpb;T z_vz(71<78njtj&W)X!UM-T3T1@*e>{aBXd!Bn!67d8t6mbUd!Y=R8sD{SuIZ&Bp9N zuOH$_=8l(>9scv(5It(fIxZVlD8$(RQ3CAvd_!a$` zlK;jlEE@?a@MI34*rdTHOreKT{lJ{1!=v{1@K2e?ix=XGb1MbMXyG{-H(tNoe_3#| zYaKXSdraT|WSjGQbJ!mr&wO;lzGa}Jp5+LC;CDJV0TfJ#)`#S#@ld3{mG&XvxJO{- zR>w2UW$L`!pPt8DUcGn@GV;xd%eryEsSK+;_34F(m&~@oQZ^iQ0ryU&qW|gz8=38w zJ%c;kNVz!>PAn)vW6d!aT*dp?Ckra^#C_t4Og}quk;|1)@Q12=*Upxh{ovSCqDMFo zKp`w;u;b)+6Gr{X?=(kxF&&P#Got);*YEN{%OZ)4?xkPl>Q}la7F}mbE@#GQRHMwb zP0X?>+Wq*g1n2X{6)%vks6xY?d(-N5g+{W26HtxApQZJyHGyD85ion;bDaaigGGaW1UCkPWevvH& zy#dQnAP25TLsPPjPD>H}YaaXX4A!J8*qvEq*>!DTZqmtmL(wfL0!n{nvH#Agx8(jYJAd!wQy(B5mp)D^TMwtq(MJ*QwAi zGP-^=oEUGpS{`T`;`~JGv(M4Y)LNrE456&n+7DN=RL+t0-T}FzXv2d{S zs5_A`3%&|EMLyF|M_+m<7VujCq-mgl zU4j*O+Nu5E?2#V~>z3$8H`|s?v85(E(_5YxGQDrIgRK}Rt8y8`BTLnX=s4IXU`<~~ z-C|wjktL*8(9_OyU%XiB%Xls8M8l3LAoIv3t*z`pdE`%=RhHI75_&5`Jy~*io^e5a z5m2@d`IMYC!)3Z{w#->7aoy_x)KG0e#ITV)*Y09qm)yNbrku{%X?}t^tt7*5_??yI z6iy-|Kw0fp`_9MM^M@;>A>Xbe3*o(;;w3unMyf64$S%NDExy+uEpjM~I#1E=1CDQl zyZ$dX34g2?|M9-XDo0^rhVqiN^y#B}lOEuELp0XK160%UIHZ{D*p#)X|Nj({|3*Jh^abh{m|a7GHWI^M1f1?R zWQLcyI|R>h=)*RJCT)ne(!hXIye0zwu7Jk24^nMlse}9dGA5R^r7&us7)npP2S>w?|+#G zz++5Q)sV1?J;*m(D)r7+CBZN=-+f#r$w(cJx?qcJ3(*^9ZijRJ)O$H)p^7fXH`g?g z`*xhy1xt{pDNKwWy$$$#b-f;`y-l&3i`NzJ+Oqo`_bHnJPcEL`$;Pn%r28%ds{F7O zNzq;dPOR6`e__?+MB^ngq5^I(4!3smzEoycs7AiofC~?&X)-yvK8){HmVNZ1BB%xe zpRE=X|H?n~`9s>SQWiDhC*4RPZvzi|)iB@_H!Do!F}Knr1CM^#djYNjzehfPh4EKV z^uiU~C8L^<3Ve$)y{fI6@>g~?_m{?jd}{j>?(EjLTZWznb@ai`0y;kr8futwpyiT* z7X$*TR~rDZI9(ComjBcZ_wSX|k>A~xJvKimaj$rOfhS8}k`_co|B7D^Luv1G?8u44 zvAxSMQHU{fHrEfa7SZ70x5GhL-EW(JC7xw;fhUPX0hIL1%^d}*$k2}6IV*!5CEMg% zuE%ctN9wwEv$c_-;Z(y2Njv|m%&$Bh3ZuuX62js`0a`yHA8&V?yWv{X^PhA@R8@ec zo;&0+xj=@DKPVx`rL8(_>17ZO`|(4&2_mgKm=7HOF%Hyt+?s{zuZ$gsjn2Ms7fPsS zK@2q|&9*{c;s#M#MHlt`0AywoOD~c3!DMdOHYF4hmcX9Dep?8R-nxG3NDp4hf@hT%g|^N-@$Cr9DCRmcwqEg4rU2pgZC z)&32a!)YK`i27@@my!>)+|AU;d9xUiR?m#+I0MZb*RRy**+ggUNb>om&tpjuz6twA zgLkqFdV-=OYsdAcq^cG2^>0d$FId6s9(4GyA|6tM0beLXjbjZ;T!YS#3nHgqr`7Zi zGdr-fKKeLUWNZRX> z$JH&u*vQt5o}={@R*9!A&OhHN(PXni+zCCix*5pYW{_FSi#R_(84_z>3 zEojbW4Vdn%*!w!p{yGJpLCgi(74p`AsL9~>?fNvUOBH7p>zSUEM!tVtNO>m_Huo(@ z!D^N&IHQX9B9LGN(R@$+cp|$-#%ioRv+(Ix?Bb8U`WSytN|F7Z_mi%~8;@@69oL-$ zH59mv43JD}d<_Tneu#}t)v1EaDv~p4tacApgzA-_0b4V}OMebj{1Ln` zLI+W7X2VZB^R8%eYqvfn&wDt~ruy>UHVA!hGN`A(Qa3nhDsr{Eh-@8`nKKX^oziaI zlUp;_3Sw0N&9KM2c%ko*E*n0y-v&JnnZ36QAYw2DYb+a$7Xhh@0?3;)r7N!s!kJ}S zlS@e+O7pzSZl2QCcm(sItQCiIULJWBi7&Vpwih7ScGg2aa6esk_q*cIX!j%ef_{ZC&a+$L?O}b~q-uRp&AmhAqvPWE`>bC{77kH6h*?7bC+cyAjx)U{*iZaUb;b+C^ ze#!0L_R+~4%`6N7G3$m<%LPmZvfPSy40!`2=F|t%3E$X-CB0PLXhOEXrm!zcH-KgR zcY5I0Ej;yMC|A(sr|0egzU{sySM#k#r|Cwb3?aVHY$9Y*a!MC1t+b`7J!UH zIDhi^>8sH;=8DZ8l_@59%`(**)+h^_>K#F5{G|k`5+DI7BeTSe=gZ5(w2wZ*UO6Pz zG!wRq2?34X&W$%$N~=qf4$#>@>1@0X!W(&}>>N%^vP@3ML<-$CH|_J)j#*?Xw$Cn* z*}&+{H~Td?WnH%7uLO)9O>&0*>k;v5bm)oMt(Pu8CT*v)gl&BHG0Du-(T3XHyAzvV zq3mIsM^tJNxO2c?ZKCeZ^gY+&hxgopzStfl9AUg|t&<2~gD1PpK)YRtR@#aE(O{@j z=0bZwaE_R0ot;_GQ!+L-VbKS+=vIXZQ&3E|RYl=1Fz;J1_c(3%EK|0Pc*zwlN`g-G z0k6Aj_-3j?B6cH+(g=%HQ@pbyZ!>X^GNcEYwy0f)SLU|6-PAaKdnYq=E&Ds&^CRmb z;9N8KPdW}n1fCl(57-hM)6XGx#<;>3J?@|gJ%;fkgotHF!fQ#lzoXY!p+Z(l0VM3}IL% z4U7FbU-OB9Ql8Z#xiy!+T#rQ$7KN=U_Pk`CZ~3L#ec{ z&S3?Gi3sq>Cd-T%5yx1sTPF^x?~o=-@P-}PQ0+|}TOFV>{u*n4eKa`p9} zbPCXDOHV~0bEiyybayiNqRem0oZKwPG45Wc%_LR8%m~IJ<(p$I8=z4k!@$hG_SL(W z2%;6CZQq@;`SQrinWdGTAvcZgNFT#~m3^#|b^36QXxz5aX503Qlxs!<ArdvPr8Zk}GIUC|lU_HddDj0yn3w0{LZ^K`cG z9CZ?nqE=}B9{fxj_&rM$4PJB47x?7Y%e-iae&Td!P>T6bSdAX$nNxP~0TFw`3-NC! z*5g!Z&)VDtsjy=iMO9pE)Ja{9ib#C*CF;0OrQN_c@nZqK%M4aY{EtyQ2Y_A>wPeaW61Yy%|mfeD2*Gy|bD)q8=_~ zKduImIRV`VAQqos1$s`Zwe7l>F*8Y6qyJDE$}y_qAOWw7%ezQn;H89FC)zgPzTvpk z;&Xen9m2dqdu);BH?2B6aryv?%yJiN^nAs^DHYL5>^yATT>?}|#&?h0rF+hxlopyt zv98H0g|6;0n;Iaw@PNoLRParWM!~H_0BGwUwVe|J1u%da)=IGfDV#-(YG;hwCW`1gH>>%|>fxuy-hgo8@Y0Jf##8K)=3T3jy?gtRnFU%8KvU)>IHV z$>IzyLt5Cy&RfcM4?jc{F?TUSU#2br#6~l0taCQJ)vXxDv0UJh{p>tYAErl6uZm8^ zK8$}FzNe|;1?@wYz}7Pet$Xez)is2$Fi|N*$Vr@sxmR!;;NWca?9);o7gIxB{NRp_ z$RqYayxE(S4Am~5^zDO@WUtFg$~WXpMr`%RoK;^jA6=p7VB+rnvP$dy?T>}ef4={@ zvZ}neB64Hv$-7f;Eh1GIa_M!{W*9Uk^d%Erf7^}8UrPW7ZxIxCi4h zGeq+RV=CGt@Zg3V(pAt~rMwjQB9ZHUmbB_Ikkw7VhRzeSrL;s}Z<{O?*lq2_;eBDm zaVP92opgoSqh?SkPZ^GLldM9!uu?o}^eBc+lxLs$P`kNJ3tU63%3gyIvevhA)}R^9HMXaxg!!##lh2d29f(aJ1~*URhpq0mUqNgs-)6g z^}l-mz-i^}&gCe!&yxy-ucI?Up6I3KhriF!(T$2u{-vzR{Kk)e`Y##iYXoSZt@A|M ztRhmp{laTM)YtX*2SCqIK!zvYWr0k7A++79I_&BlTC_X-a0;jpj9Y-}<}bRfpul)3 z`Oxbo{D5QE;(6M()RHHrX-Z&F+)BG_z4n-Q+xD&ks*_l#U}CEBuJ#%KKD9;4;an#A zj;Fa32PQ<4k{T-gr9U9L+h9X1Mg0!xHTyY%JnffFg)v74Z zb~or@sXQ>+{-A>T%+$JI$?@8|x%An=`sIRz98*w?sSO*6SD6ycP+^kEqfk1>)6Ok9 zocfDk&oTYW(ehWL=$}0PUwOp;8$C182^eeD);Fc|w7rbWlrM=C_=>^4?_M^-9jq39 zIJ!?sMH12Ufm21Swan-lcC1VzGI+=08$t;p_T7XNvawQb_LJ^PhRbfZySM^|epwsf z${U7!v_+lE)=XJ*?s(gcn8$SuK+P2A%7h3|Jwa{zKAA& zwWrs_bXw_r1pL3xQ0@^9)rLt%&t7yaZ%2c8L3?or;Ukr&T(FnO*Yrw9uS&;0YxpWV zM-2q0`TQT|-aD+RHSHcoQBhH1LqJMYKvb#)DFU$^Ku`!pIwS`HY0^PLOH>4u76kzX zA<{%@q)8`IBVB6ffzW$GC?U;nd*+>aXXZCE=gfS+YrgLfu8_h-va|Q|tb5(-UMp_g z38qRONRDGbhi$OQ-3dz5=0xQ^f+mPOACy zDmkHiE$Er4QzR??w#4`OveGEdo(=dh$5Tv;<#T(#wrPwivotpacttWvzz~8NpKo?G zYPawTCT$KJh3LRFV2+PzY=eZ1+dXexnRvgo%aeRZlFJPxyx62^OuLb6 zaiBH@OrKK@JUoaIvzf0zb=E*`v+DwGUVHNSg<$m!P+isBQiqF4_Mw7&pAJ}+<3@A@ z`#|64;=~%QF+T_N#a{Nw!F0dM(y7sk>72vCYSYu0o~n-P4a4VRgRSj_?m^Ik7&cuA zlK-e17R`6Dp_?sqENB}QpnTyk@;c#N|L$sX^Yoz<4y+_)t{KdQI1C$KpIWI5kCvAH z=C}*Ubl$kRskE`L_A$V1N1{Z;nkp9#_Kkyjo(`)S=PYKW5q`1m_;b9!){Y67I)^U{w;Y!^~XP%+m7iH7}wT2I?d&OxDxDC(Be8hb3d zZ4T@0xAshpk9Pa39D3Q}#c@u8aojZyy`U4jmS7=3AyytJudJt+c_L;W9nw6N z`{1H->FkU|e^m%TF$$&r&e7%KnsPfJQ{%EVa{45D*Lq6I1N5XCJ2aan*p#20wI!3I zO{{yx?QY9WP-34U60rIH>VEdofs$7sOtH#y2CKV8)OERC*z$mbweO|~3yG3z&<%kW zSQBUoKE!?$42e9O^t`4Nk_gB|_iQRlMw3zDsTAS(A@_vOyJoZQ{owdgi^ruhB@40k zhhK&`Ib|w%ceWbYC}wN^3gB5U0M!1u6%p>3S{C)O{Plw?iFyCCJ zR=1Rb=C7yd`Yd8Rgfahv}eh zUC0oBQ_VD>>)S?$Mbjyf7yD}~^#Mg%ydxDdt&CK}UazDD=PzAOf^eJ4Nzhu?+*RGx zjF_I10OM|#Y5w|Jt|Y9j4?Bv6gh^1DlHJlS(vMP)nAN}1sNp?vo*81Z>@kRr)_xC+ zj1YULHO2ig$7f&`thv_~fe?aEw)$MS?BH?cuCns2t}%Fn{CuKjNQvr^eTAj)tEe{3 z9Sl_!a>(Si`eW?}d8^RX=zBf8QvrmEcl4ltwh4I(J8mbE#x% zv*7roRoA=pG4t5iLnAmYeb!B^-sz*kFnRI>D-7Ph5zJJYVwYFIS&7v`z7^4_YRoor zrK02l?0wakNZUW>!w|$K1H1AbmoURwV4k{(18a*F1n9Okrb)UveFsHjzGcTvP=Kgk z&8oW;&3$&vb5$c$)kuzgTsQCjUyq>qdHVkz#OP+_EBpLH^IdK$*qN}>ph!(C?05DdAmXJ&`WL5R z)sJaB_qv}E*P{86zxI~aDEYXYThnzdZoV~F>|;n1Iz?Rz8IF)o9!D#H9x?hvQZ1fA zc0U3^&SX?(+_SU0%>XHu zj~L;_BK>3f6wAz8NAN;cqi3h*E>7CW2qT^OvRbo%h`<}b57PpY^iYVYC$vRi4%Yqg zCM3ik6}G_*0hvlCe;UQV6BC_%ys0)GTpHN#6oc>R`M9DL2;HepNI)&JZKs#oVju^{ zw$~-PO9G^Mnxv#m_E#5!t5?R*75V1pv1wVla^aCiF{b1vSGu`f`l+N@9sgf)nIKNx2sK-j|q#sw>D9R5oib zfEgW`niTL!JwblKa`<^0f)^9d=7h=Xo=!!Yn{nUf!i&4f@wxavoA<|ydv{eVaHWp%tdev9mxtZ|vZU$(R*yNvxP6m*miwfM&8 zbsJS7ndKlWGA2_Q!hwi2^H6wED#cUfX=l9>83GP<9s+0~_r22GXAB9)^}E{awolWa zB~WaM(;laM8;FM;X^y8AJVB(ltKjW#_3U2>c889PG@mVtdZ0d^vl|#dix1!YOjEvZ zl&vm%yC9kW_N4K_uD+6dh)LPC%1CaNpyEETo`3L0{y|B<`pdePP1IX2dXLxV-SARg8b$S!-Oaaw zq|CmfP%J1`n}T{O<{Tw+JK$Fyvl~+7z?Y|t?T7Xe+$I6`a-KdgC;_plRC(mJUI_3I zmEhDm;33P!V+lnCfM9W%CDLAL+D8;4NM26_R`K+bKL%ZaR#qP52qNJoIX~D5dAcUL zbrYt_%_MDNj75J(*eh`Y}>Ojx)NjOQgGr2N0$~|LTCk=^u@dq!-ed8NLpf` zNG{Yx-=gFd*P<)CQ44ulvtG;PBGV?lbY!x1#t=ShA)Yd9aZB!XW9m`O&q5}#n}LrN zXk9~w%e4}Vbg<^;Xx7Ev!{9t)xYONHXe-3IpZ+lr&;vq;2o3(6=Q2rUr)JZWoA|-S zqNqy0R}35%Bds?4mpiX*Ufw#(vHR&0j(LtOeb_3ebZTgr`2Haz5}Um)Q0o_g@7pTR ziH4G45q9gq9$JMK`@=^cXd+TDCmr~Zr}|8qU?MxBhu`V(97(B0c~nIc+j;_3vBQW6 zsKtm|9R8SQihhk+N?47HmXMc5w{~iG-JuNIBmU1M8|AM96m3}L@Z#{VmmSNv_8yoL z)>bHA1R60|xI7HRX*BSR)mJM%v<=5@x?M~27ViRwtj){@#PQy~*OxEvd>*@u2{edA z>jebQYx?8hng_DQ&sTl)zwoi(S-5khMyMA5MJzDp!&OnhXF_}V!Lcg+i&v1`3g2i~ zRSHCEfIrXf;-%SKvB<@N=e)DazHw1Gv@p$X6XmELjj>mOoyc${cH9hRn5|0jZOg2G zIPq(_n=9Fm^^s^*jRLJwM6F{3*An_(nC&H+pKqyJcBWfBGSf*Q+6 zZ^#=KX~dml0R2Yi4Uk3utO+eRJCKnh{?s>h9JS9uB_yADtKR7b((CK3;<)Uat4%hTWCqTh;hi1IG3LLFV z|B_(&NwOe-WjfrRq>BWm0Z@l@*vCMvH6N>UNzw1S>>TrMH;kw?ixv>3!C%n>)hg_y zt&1hT!3MxEWf+*RrL!!eVzI>7IP6nFeulY|XddO+;BrGK`02h<=bIxji8Gn`U^JnLMU7fNhMw3hftI+UkMmgAaAj9?#y3nRj239_|a$9*&&0d>O5 zb+)a^E9!jLJ$VI4T*7!K6q}7YC<9Lz_rI1-BJwQwS>*P~K%PO8ix)yVA*UwY)Xrb+ z3Bug!9d;C4eWxVB=6EMT&5u%;OnK@UR^upZi9#$xTl|HT%~=XcF`V@J2|tv%ZeKT-Q*Q!$IcED^c}hYL~_P zU8gI&TJG=g{YG)r7=%{_LT)kplakm}+=SxH#+u(av>o4D4M|%#jj|uY9|w_|;eTR2 z0Qh@iL4!N~VB5E4pkELJ9Pg5!Ns@n2r~Ld~G6aZK^p0}&X)0$3chC8Q;?Rt{y%c`= zF@4LyJn@U&)477_$|W}PZQ@=Hr2cC7gxSdvqsVbn&X5OpWgtVy^m$^OKQfFICE9p& zw)v6vK68ml{N!jrWcXP8`K+kacY9t;?KQPMI)4*;iJ&G}Cx&q)FMsTu)SY<#>K%Yo z!hQlI1kSk0TK>b%Bopg1-zjTnobYug!5;T*^P*%kAQcdDMuN*v*+;k}f1S{ZR8vJ& zPK|;a3Av8LA2GQj5&6nKiB||*uY&e3f(B}&c$_tAUq6l+Q$4jKeBzQ`b{etF@D`xW z`DFn(0#E+o&xL}8Q&(f;jP$g`0AsBf=Q*?pvRmX7c}Xp4(&y)7oJUGhIdQ zsA|aw;kVx#Zl_e|;qns<`&%!o7%OKL)%SX$o^1xmzFRA!heRhhinB94g!4;8WySK2 zo(PD23YVj`ZAF^7qCO)}nW<$5To^1nEO;3h%=@Shde@bzDAH(h!J14YWi<xI^ws2+8Q=iWj-nzrUJx_8Mm6bWAEx1BK;FA zd*P^_@U8m{+)KI)rXP)^M;pdDhbIh3$`U0RoHfETP$%Lm_n!$ zPYvDvfRzBEc9>nsowO_gbcs{zcMA<=^*~(bB(MeL1Zi-FtY;cqs(3=Sc zCGpLaJ+E5jz5?cC>4gO*CX}_XlKk#GqVrqS9*A65RS>Zc<3zG(ti47tRVb^4p8k#Ea65Y}W>|J;ZL7jlA+BSpC{EoGT@A;`@V#~zSnSUDpf_&by1HUM!_b2q73ivCaTOMYWZj$n!x2yJyyV^`SZ zJ*fF}HJ;_NFHer6LS|wG7%Hz@c9Jm+c|UFESSgXvZkY*yUg-LrSQ2Z zVAbL1Pn@ad_1eO6FRa^(+W`CJ+K?nmG8=oF+ho`vl9AD|08PAT1yr{A9lQU&tgUu! z0Bq+n+cDHG)B-dR~2ERkXjfM?;k&)##eKP@d&Ua|b{!wWzV zpC7z_<(Ha}f!DGiCxCRRf`4M}XF2yvHkq(5U|xy?ASUfM5OZ)Vhf;J9Jy>~p{4kyw zEmaGReZ9u_lTaPK{w#baj6_(`pMZqMw52b6U848-9p1xp^8DM!@s>wGMWHH3Jm7l~ z_^r=0JgM1XWmEq9%FAzPsNqqt*#Q}pN`T3t(4|Qck9T#(diNJ<-f!U2h~&HN%-ry5 zn-$xZ-wYqZ35&5^I0&zA?Mdu_CbG zJH4sH> zEKY@QxG)3M85mOXYQuN7SkL;>wyRfvlVMnsXkSj|7%T2M(q&^|w|~`Mw$C(V7;;QS zvnk_T{k~PcR{qV=9~_r{N`6q!G{~Od}?B zqw18{6-p=`&|GR+cHmtyE5)EUXbHV~7*J6MU4z_kPE?bj;9l^I?Q8hQ@oPcIM^oe`@2?zk=jqXx0XMSsf^I<4@hRY7FKx~ZN>zC% z8#aEXe-uhmy%Wv&$su)~KnfHz=+aP=`H({cvkQ32Jzo%G+8U(|1aCyDsfT{tsc>b~ zz)8+fPHma3Dr#T!dFyAFPV6sC+c4tTMLQT1E;*n*Ec$Z+{`HR(Ncw$OM}!SVhZm1X zQAFC61A_a&9x%gCG?2;nRi3O#!31%?^_GUIKjrnoTGagpmkXjr&2qIK4MYWY`qNDB z6OkT=J3ciRB@HG?lh_eI4Xh%(liJ>J? zNa+MJTJDfkZezrTDm(0Kb)^fasdj%{!G@X6OuT37J`KnS`Ul5Dcu)0O-UBkG8P+2_ zu+;CPRFi2AKQ(JbPa&$itAPO})RLgf+Ww+S6&J5{;LEkcrQ)ZoHUktb?JiR0G9}ZC z;v71D^UyQV`t-m1J|GK=s+B<8{;GGp0Jg7E^n&wA5#Nm+&uhVpjUa#g(HB|TJU(JE zR%ZRdb;gbN?|-`43QaRn-Cga4#|c&oPoOTh-(_WIf7Bex9~91C5M9q+RdU;Mt}m!| zp?FPMH742zyI5#;YmJEIH1UBq1_Esv88%sZ{)BuQ_f`-Y6QWYZ0_2+pmcl*Q)uXt< z$Y~+}FF`kWscs65B%;jjlW1z2Tg+lmAHtb4z95j435clFKCJ%WSXp?4Q){PemeBAN z(oON+9~=*89-TKDG&yC9SUc#79j`IxdAD6mA+p<(ei;`R_E@&8Mb#65Isnf(cSCr9 zQAT494i5g^@l|q4doLPp^;;xEXA|ZtMU35=O(WGIxz?m?efFIN6h)PY(fn=Z8~y4Z zqSJqdT7P@I;I0X!ENmmFMH-Kh1G-4=%sI8W4@@0v_;KAgemPp=v+CNf!>f~{zkDJt z`Xdwgl0R9B9T@Sb`)%fLItGDn8W(>IRCuqS$%K3z1%!A9A($G=&opN*U)d2Aoxt8Z zqj4Hi(EbrRsJYtyedm|A%C0cCJAhe}Vr|uh1q}u2&~Yc!@ejl;tKIztnKmK5doHN8 zs@c$uP04^VG|<#{$z)&WP{kloR-_xt?g)nEesu8HjZC^aa{u|%-Y0FCToD~-eb#H^ zFXfd9@HSz-ozL`)Ii_P^{ENvAbQl}lv(+L6fAki0Vl$^cW ztXA-VcBG%9y4YjGbbd*7Q^`0AJXD&gWj#Yq(6?=pNM$cr^PthE8oxe}2>bNeXN)iuM6jR5Vb!Em zHFaUlSuO0aG(dK-A@O(Ji2sm02_XfzmC^$Ag9XlUi7uwQv(#OCtxo>pFluLd1Q}YC z4^251yqI@ysy$I!MWO=@9RFt{nKmu^=({2JlR{M7I8&hWVf63S4iP`n~V+R^;Cz0_+DH zeHuKo$fBFrTirf;`@NH_)KN3l*3s7$G{8^4eRLjn?=K0cQHgw)eg;Jp!Y=N0M{$>m z%3!=QTHUv>H8+<^>FBzr%%!jJiguM8*=7hC1es{`(?Xu#RAx@GfXM~Nw)o0wniqL? zxj{%g4TpRAxxFDY{G`wm)@(R0XUD66 zi4c*MSDuoTmAAzwZDRby2%GlLYK3|mu`7YzZYNlcTP|)A<6Y`=zTMzXwh|)2vDt zrX+6&Gi&ytiqw@$i_l&C)D#}i{j5XSIXi*Z!Kpvft{3-XhoD1Yq(00EmEE5gi*^#n zLk-5~W8+`nVfAIPCibf>LjBoLN>)P-0!lOf+Wg(MH+)E;B*AtZ-8t5^w8mMjof`?b z1P2CUuVN3V4qG&BJ33Wk2kF`X?J?&?zw@VSCq3Tu!)>X~!nDnYr+3j3bw=F9(#rES z@$6H*>$&c(?@@{5Iig}d=o@mm$8k6@if0n-3V2%s!#X|yjlcS}fID3oCB6ybI#{Mg=Ev-`L z`eatvGMNyv1~6qSaK?-~>asItiPnnyn%-K~#*F`n94}$-w;(VhopIsEEVZ_RxO5$p zYZqe0Ftpva>{9457(knVcaA~Qe!)UDJ^aW1ovtZZjlH!^7JkNb1n-*iBGqfN$s(O` zwiLdd*s&wc$2=OO>&X@)w%u;K3aHg9AN``0V+G(`?W}J&v;pdp)ok*I`C&aEyvd`! zf%XKrh>4mKfcuXmjyuj85O(k!P-7vtybbDm!y1kN<;-{G|D%BY`-1jg+~<*O6xrLo z+0mQEikYX*o}L6qx9=>3+Gf4@cBIOlrNiq%z^DMnbkQz$n~&i#VuN?}1mTysQ%Wb4 z9$l4eZnFLUrY4`SMQsV2v*^)ZcW!55MOO6v_iD3r+S41rxj~!do5c6_1%xj+ zxBCEL)Cp2<-U4b(?mQFk)XdZxJ+l_@pYtqaPa%RE6o4@5f}t58jG9JS6kIK5daYSf zI&!`Tz8xH4w7Fqy#z z;|qO+lk?#ITBaA#uKuxuJW!`?BL_w5$9!Vyd{4xup3t)4F`ZMh)zB%>VVZK|qKIg1 zbmx`i9K7rq;n(}j(BD1AYuzdKE1*wK+c*8li-Z?dU_@$j&^Clrvj{qb z>>6HsDI4}uP0GojL#5p2QIXrL=r*zH5Kcz+NGdNi4)M$=W5JF*hw3OX>B4?vj4JGF zIK1~or&GZBnzYhvS@qujmA=&cKu5}2qw_X-tv>&HpYjDO$fCh0MES!rh)@@lgqh&OFsSs_g7_`UCWQ-Eqc?U(XB z^w_@G(f6_D{iaBfxy1bFgpvfeq8h%P*O612+DQ#|S6NXCRpyPfS2Q=rt33j&N{pvSpMeE1kGJskM+v_YwXe6-+YfPVo~xou zItlRdx20sx$*dE|gOvz=i4JM_+iz3RCrs1yUZn534-Eb7RSTCKzO(W-M{XS>gn%Jt zfR!@+R=clU@_LSsBKy+nb$WD=*J7W^NeJg}Rvr>V+n2C6@1rG^WcSn3K*vl0B>C!z zIF$7+2))qTtLlO%3-^}nI_Ts~!hoV)xw1&0%8<%uka8j*C+jUa{J6LAlt0}3y-3U% zm2_V&x(KPfsNH)fMerySfX&lwl`K@Qb!frb@?zj!3iTQQShk|S{}GzzcU}XS-9l;c zOr6@&d6~d*2yr)j0oDeSC;fa-qu0%!8!aKRc+Y<0w?Kz&D<`Xu?770ar@bk{Nx)(H z2b%88Y^@nb0?>8xlyGa&!phV1MXoOGplU8+S?d+-(s4vQU`sI!v}k)v(kU0!Jt5pS zBa;gl##byAk0iNW)*}|ASWIf78V*nth(l*m^+@M|mxSGaE{S zUc!ZG+uOtvOqd}9W5W_itaT1Y1?%{}|B3%pdwI>RvZ3p0jlgcQ01f_|6ZKzJd=yjM z&ndxf)=1C|%EHSE@S9-X6{8vO3GZ!&d`c-7=n>oEXy3jW=!E7H>?CU6ryR=oVF*>x zgAy3-jHtpS;7Uy*M}Y1nzmI9U=RoDTtF))f)?!-dyd>NqlTO}JlBzLao!?iQ9c_y% zkAJMTe#wTpbQ0IwDbi*W{8g{M&g|9&$cu=cr) zq9}5gVZs%#@@-^zc%0Q=T@PRv?;SGs6Ur9O-!h4cyk;KoMcRip-gNHXLAcFr45Vl<5#&=GT+8* z;f+uF04$EliU#?eL^bq%1=?$+@D2JGdn`CqzTYr$3Yuc*9>ser7@s1C*v|7A5}lG z|7^$}hZlU_2rKY^QKBW(z!h&41)6>+<6+%7t0%B-(fwDoCNJka6Q5uXORSE!X^PX;%j z_|=r!6Kc=CpReRR@+~q`RB{l{<9jDapi@<_G;sC0T4p*O6tO8-JnJx4()w>(6^)_x^8bHB|TC`_BIN`MUmUoiv9J5sXYTE@mJ0hCDt!WsM#ewM$hfSWbzIFfwSnbLp9jChidNFX@|>uG5bnWiQ_M$I zM3E}ZR@}?8Np2J1BhE1qxD)WA?LnSxkp`LxxvQsI%RZ%heeyy@Ekm~EJyf_O^E`3= z+9v8{qH4;6-lN#eh1ctvnCxjbC#AsGtr5(}A^}rf^u`Qi0kO44;tu&^NZMrH%9~cm zOgeLICj}EKnV!jd_YzxhF*9KuuTBjp3^LF7!4V-FqcU}e=9o6PlA!;v_RV966u?+| z|7K+Wq0Vh@-rc<=&L^DzG#e_p?98U1ci5EFy{OmJ8>kRx8-%oW8O(}io z@rKJ`(Kn3VL_P!QIXB9#$g+iw5n%xlIsY&BM&69JiY?du4QQ@2V44KyQUTLHS>7vfAFPrl|E7F(mx?GGD(HZY|3O#!a{a12otp(T6FJt+hp;zW?j_ zRzC^xe`&Y+-*m}}W*Rcqh6CG6iscP6T6r@v?T2y?nd*Jh|>+GqiwrH zC>8JpQ=bjgiqS+fIjmXO*z|jTL0QzTvjOj3Uba~{x7NT*4MAlHslLMtK1~gesC;k8 z7{I+`+fqbKqIKoenGw)-){7jYww%gH#uh&zwr-tLmnLtuoxiqs);)c+pRrc9aQ&v6rZspm!fd` zp-Ypd;_0~$csEQF#aPBD*RYLTJ8(5QW9LoKl2!A?u6G&zt0Zjd2155}U318(chRy# z+BwxGqH*Z~7j(uvKlYZsNiHp zD;A5!g};jV-iFBOKe=r5R8e3@_p&b1W>*vKozaKFa=6{W;airix?7b7#+LaREB4af z_Wci41Vf`Pu5pHMm7ZTxTvyD6b<~Yf#m39@d+!HES-Cwac}(GoDv>_CPiJ%a2*9zp z?)5a<1T9BQEU4&HLfiCwItrc&j(-bq1B=~Wswm#rSF^Dgb7WV zw9GMGZUa3J$ElENO$e(d5Xw6R}7_I5PtWCmZKEM`ILz5Mo%rAZee9c8q z#QmHgwfVy+`(GjOzkW{g6~!%@DLoMZDW!$)NVgrzxILQ)-9F-ptl{#MoEd|XaE)Ez zgdzv{p^Y7HhSZ8*A4xB(IyPvq#y!h7RaFw-?$yfg`;D~#@DeDpntku|d+~_orhctk zG2@;+l5>RVpaWCb2pA9f*j4jn!m#Yu*5R9B2_wF?BFmbe<*Cmr*P6l6MKuLs2f72* z8gu0y-U;6Z$tY+C8SPWm^xwejW_JQvfJ-^F9{v2qJ!_ZVvyx5MJwY93x*mU39jHZz z^5>K8oK}xk{Ay&xaq%~^qw20tQdqu;(kx zy-RalDrN~R+&2jyMpQMXoJjUwJ7G~x-Y^3Z@i{n6rf$$uzjw0Ry@3gaMv`(X*ElQ^ zXQUFo_I0)|x7H{leqp{doWC5ZgR!s31wP(K@4u)o|E$9N^DQqr$C<7XnN%v6@nY)C zl>~^o03c{?+HOp0TR`F`llH}E%y(ucEgnU^gM|2%w~v5sYqi1JOtyvk3%w^ZQnK>f zr1Ug;+LunriobmVIJ}n&!$}$;S*y`)3O(pm_jlVitX%~UW%tssjh@n7FR}M7ZSL2d z1^;4s5ztae*7m3fOtJ)>>s-$P2|yXR>-Hm`nH&Y+yeVfO-c#r`;KR8_mD?)K3FMCR z4PfC@SY;%x2wKT)>xY0a`R804WoLxVi7$0?gdFm2dvLCQ)_F)dPT-fWS~Z&;bf&)# zZ>Cge0+59`DV`8i%&D)|#e zUHYd7?9T@dxaF^8huD)2t1i1XgYJ9u3l@U=d;ynMK7y=@L^dvjdE;?i)wU~g@%Z;( zRx=AU1?#m;h^Ut3dMWj|;Mn?+dr-jY0AoY<*~Ic)`P$L)z#aHVX!gA-NH4wY zgCXzhE0^C<{bg<2&iM9*bvWQRZg?5xxUla2?Hg@-#$x9n*#kCftqpHaWRxmiTzC<@ zn#h8}0bn5yp%rF z#9G)!5ie?PVsCV(ua^Yy<0|&t-8s)YF}d09RNH-bQ}M#mi-feRpZ*a%`@M0n-+lhm z><|b&Y~8l$@%O-6obAjr`#7YG+B+ z6WS@~u!nF9(?5X|pL%oxOEH@ce(>P2H0I}GW|7rzdY+WVGg{az_>J;-#^#r7IrPvVOCn2 z_55zUu}aD3Pt(EuZ#+Sw!6ED@vPq*8!jAPiIxdY^KHgG8VpuI!uU4k-VDPesFOo1@ zox2rcU`*o`>5Qt95~OjEfPKSB7xBVV2RjQk)5d{Ciu0`Ys71jf_{tf^O*2|R z!|)sb$MJ=S)rME~-`G7-iClbVx%$9ppT?@PeY9+S;xl#^M5Kp1cYae+Rb+a247z{E zw(K3ptB{tRHwu!mq5K^|(oUO{ibF-MD=gRhO7G2mgLpSeN4oP@1Dg)1fjJv5b+|7` z2|2H4pUbPPat;vBd0bkV!kaG;U5Ipr47{5mvbU(1f!eZ?gTz9Yohn9Kf$VEQK&6gh zC1RO3S#eAY5{Azbku~`!-X9;jxnsU6&_lXv8b~sG^UP0At9kUj`;D{3YO0I=vQKNl zH0KGfP`C8H)smsZ1G!Q{!JdsIl}Kv5iq9?+RS&Z%L>PC{-CbdI&_t&Ud$F=-&s?Y| zNnDk^b6F}vM6hY*X!|9_dC$7u_h-j@-wf+dv+dmcmuySbuB+Ss`hxq4&`*u^mf@B) z?XCnc_{NbpoCkxI6`Uxq++&@t2k|)yl;FppRY!-b`L=9WZ&x3=x**RoHA*h&95s6+ zB@Vv)dFJ6e=q<(bS?||9o`B}HL^^y_D5 z(FXXZ@XIv9R&+_US1MDv#05sbU1)D>BQn)28X33_)(!4GTg_~cPYprKJ6aSivW~9U zR;xy~OSFW9tW*ujniMg+(l)z}IMkl{90Y|`N4E|^qBWYKY0-H>9D4|DYT`5&NtPE5 zKFmDVYZv2qd2gF0khyd6&dz=CiW*{ZuhDn*0mK~XFdcy=)n;AYKbl`VVL$9Q%&~I@ z{_BBF4l3Lb;am?BCWpM}t-fv}{NB>_;^kGquPEMTRR{5Ykm=UI$U*H~|G^>KPOrU} zevy{{GOrTwV#l$n){&Z>BF9+CfY((Q?GEz7;xV{Y`|Z-AJEpMTRzt(^uLEU;Qr!?EYv4Rz!d~pJ6@fWY0lflEdot~{($SL* zAUos_4h`lK;Zwn($7Y&GaEQ|Rfu&h5Lc^`BMzm;;+F47p4j?J3>TxKLly%}6ga}>4 z#rbFE_m?hndpZ6L#IjZ5TF*IE8=SfHYDf9a?t4K5A!U{zcCx3sV5xpwg8Y01HJJ?r zd*z-Mc!VlR7F<-Ko4i}`KtM^djyy{wSZ;PlhjBvFnkGfHAev5&CLy&h4j zkKmgpKD*HEz{DKn$*1HyOzn$J7D01|3KyyjEW5~z z&IS`&$Rz8ExBDHphu{W2NsRBp&cpKFeA-%5*2CAkib~z4;BRc$l?oDU&K(n<48-w< zVcj7Wbm=`vv|AF!4v?>R)jYnzA*Z-IYf%wM=~&}cGI3z%!Rkw)B<;2$V3w)11Q&V| z03QwnSMycFmS4p0V;(~;u_Sw>yhjdSmOWcPb{hH%e^=ioB+4qSMoPr&Rv0Dy{F8cU)vPMPi<@*T!#zN9*}yb*vIm@E_EFsUd*yYPjUX>xFt-d6S{23)P_Dp z>%ku!?NtTrTsoCXIWeXb;1Eby^zY|wr9m6F*kYflig!PK7Ds>o!GQ<>_h$MStxQsm z{stPA6FxexO7S#TY#c$bJBr9!r+9ZsKz#?Bw108KJbYJIsFeI=O5t@|K)4` z;u@;;7kh;#DxLoWY(YQ%o3>5SOj&?PLz$pfgVHx%8vi8Hn0tXopp8&g*B4}DE?mCx zRDV5|j=-G@n%lc@8!Surl5I-=ccl6M19N|ZWX@S|1iT3Uge|TkQ z!o4Ev_pauzH)6(7WMLiT>sN@nM7yhR?BxyK`$H{cB`PLT)OwKK~aAKy=(~syg9vHm*)>~A@ z7v(R4!?$OR+$qZ9x>akyRWcGt> z#zi-jeK8Q3MyoX`drgOMBdp@=E=QU5#A)FjwW#9rC3jcd+P4xV+cwt1mG4h$W{CVJ!9u_`Ko41_v&swROE~SY#14UE0IJ3gm6XcYF^sSTUpCJ$Q~?{5!{W6wo*M=n-x5a z0FemI5pOr)f@5D^XV?dNTz&%#iGMWS5ynMzdW_{RVD|>flhIE;97r`ommCeNNB~`@ z&lG;$(&H-iEip+=n7-<8cNpi70^}lXg`_zZcz9F8phn+?8skGR$P#`eWV@4|QI#J1UBy1#dGbLNyUW|Z;S7*)AKQ)N3ChjK zN>O}+Ra8V>G$h|{WLHMM*O(jf4`#1TJHPBF(f`}cCYa!& zNud(qY3g}8=D7N(1YfqM$oP3mR=8=?B;&U8t||W?9A<(XNPhX$tia1uTL%0E)|_NK z6L&yKZFLm$Ey#I*m-ob3j+|-^MGnJUQ(OJmxhAbXWI#}pCPz|@N&62DP_V>-n@0%K{SphQ=%_gB*Iv}m3CqAIqQ1DuebtpA`ec-LRQ4yHhn zH}AUN<8xoAKyylPAGot7rn;9DSC*7|)00cC^U8+ZX?8i5?}cN7y>#yvzFS!Hh`nm_5b1Dc2tj+;Nk%Qj<&Uu{J zHHEy&0z?HH7OuqdF6Kc)Ob_rMoy~u6+@U2~gPGKI+zr@IgL91e;7gQ0(Nj^*zcc+e zfd9Xdx_`pDe>aU_*QIDS9}>_6QM>?#Xa&d}te5_&3SypOt>H1Jx&X5n z5YwL`Ia@sD!EXc{z3+_9qrH3I-eo7VA2E&rkStT}(7*fnpUuv4-}RFzu+%)EZT5D9 z!{p`gZ6C_<#wcG;fvat|pVX+q+SpVdx0^I0qJT3WOswCA9RI@iL!fp;y5bUM%P@PJ zesJ^fam~{2CG#aq`t^s3eIKiuvQP=UR3p?#E<>JqUKLf%@Rz}n@ktP3-wga9u_N)t z%TrPwpN#Z4H~|}!y~;l|O~1*GoBIM)(-wgNUI#P0BzUSBi2bY$1ua>gOeKHmNb2m7 z6&b>xfzNUnCOE_$WoMGfUNIXf zDTU8QqjK(tk>}R^-)s<%&6|JO8#V1ZM>{b5gJZkx*MS+o_)IcRqoQr0SL@-}Qx*xS zi5d6|DAH@sBHWUdr^mnI>ID&a1{&xnJ?Um;hG()V8cWqaOa<_OQv>Z4F7XG4=&%D8 zTuMvwag-RUzWK34SNY9e3pNc!DVWotpu^Zf-hk*sZFY625DXtv)RE52iBwHG^RZC_$J;lWPY|h3__+bPwI^RKUFZwj8eZ zQ0?of@Ho-^6*@zr=2s;QoRSs4j02e+&&u5dfVlO9Co9!s$PKCG%kkYzDz2OB=IWrx zCN;i>f^SYy!MPn~O7x0HLiSC3a@Dp&^OUbqCnm*Aw=CuTwYf%vtxjKV`45)FVkC+n))b zaFcM&7TH(PyN1+aGwmP6O7bcKJA0XsP4r_4)mo=b@Gf?j2p_o{txq{~YBo*n(H%&4 zcg-u{n#r9bIA8;c3X6JOYzlinL<7uAsVHE`gT9f@VU$DUZumZDROq=COC9o;j<#%w zate?LY5VZWUP5&dxtgEt?9!kDmFkwq$orM z1*y`cCn5p@LPQ0mMnt4UM0yK}ibxTNfbRNMPF;4>NGP(Otf4ek#Hi??G#-5mI$ml5!6%0hd*i)MKf#y_+iZEbqalYy=b3jEegmT?ar3c@#psXw7cr$;W0RT?9Ke-T2e`5e$$=*a1#~S`rvSke z&v$*4elwmXyvIAD09?9X&_e9v8ANvB74ojn#w${y9hgnbzTH0zKX`LdVa)n-ktWV5_4F?g<@ejH3q7E(wX3{tUHD8 zcA;vp-KUO1A$i(@jxM(xXT59N_MG=P+D;JmGONJjXY}1lV?Ug6v6Sdyb+(iP(QvjU zWU7!kpOqJsb71EdE+$^>8~Hgu>(K6K@x>mN0fgDWr_6`P@B96K z>3CMr!48o4!@hC~yjKR$+h;9XYy$&IcSlzv*>C${!2HmI#rt^(Q;?0O^Fca}UcP(I z2kjI}c5>Q5pScs$`tBE?Rhcx#g&Vk-X%Um>ZyWgn5MHDs?+lfwPHQtOF_B|4LvYK? z+E+ol8|cBd;y?vtkmK^#n;{-4NH178kpQ6rS+)S5`4WJs^n!0Jokw*+WVY%L(TLB> zT!rg$mpK>#5z`-J(!Yf_{-uxm->}F3@}3a;Z76M#rg!~6Q%&eL0jb*`XeH!#@4v_2 z5z9l)Cb?;movcNYl|8b@M4$V}o>oxw%imc-8EsK59{H&CVx{5X{y78>J50kccehG&}p7N@1l~c$KZUApsU>CQo{>p^;@D z3;RnLZv*Dz-tCcnK%?>gShnZ(Wqc4qgxoN_9{6Tb*}~o-&36AmqUlb8dz`4qXzBF0 zj;!>u@Sk^{6!@jb=f2@yPfDzHEm8_28K?0Byr7o{*X@^Ux>6L69H@}v?o?i#u!G zNZF_2j%#Wm>ko_cp0b6npWJ=%L;Y(LG8EYe;g%BfAMr9=kg)^DA<P4}FNv`1XU5nsYw?VMeg z1{1ovmjse=>JX;?au@xhJ8VkPjeuU!63aJ~*>~yw-tt7H&OU1a0v_mx$9ClTq_<^` zU;Z#{P*t&zvb@g(Z%1&Zn7V&@65cd2*;%!DJ~3z}3DCrJdr^fNItrZZ%&j3vQ!i00 zCFHWH{zw|*~dy%&6~Vxx_ZGN!>9hPue4_3kEIli zyMp4tc~@%x_g&QKGJSowo;{g-zQu(l4&)&Lnh^o?s~TmD(*DR>*LF+%B0i3uVxd(BFwKOW_K8+XCc(;lrT zon?;f+p%FLw%>{P%F+8Y&)wY}Yy?)#5i zUw3t>R3|5uRg_f*X~P9OI2V2ZDoj;vvwEBCl!9A;&G_5DUxG+zSbV%4Yjuk2XnXq` zI&KaAuU~DLzsW~tWLWPw+H&Q#yGC{gRfpxP0<>EU!tFp6NQ!goQ@qN7mpbeCalnD&e;- zGmsA%zE*^gBeFKq#Be;<4;_bkHGFm~-)yq<3qgdq06NB7(zv!a_cSvd+2H#i<|T18 zuzp3HuVb@=|De-@a)NHR=(!I%$wxXR+d-*k|e9$1jT)YQU@;+ojuj%8iS z4mz1~)|8c_?}3PDZ^P3=TrlwmpbphBgby8!U$%;meIwt@I`e8fQP(`<|l%J9SEc? zYoUQK7~X=b++W%3bxR6fE}L9*x5u$8>I%R_jz=lbR5E4)H|-{Y9Ev`9?>Or7M-T)1 zSyP@+VwZYRV`W^)R!Tf54D#a-0&)~JBLJIzF(L}^H{38T0zxSGDFTb*Kq{`E!^|YW znvR2>8IstUP}}91CmWEu1`}+En@c3%+p8? zeDc@R3{!%h4nL?Vb4?u`JHy^T;Pf52hOmuW&X}_cu~$yi59kBSy2zzDVAFb35nW%F znOsx(#9T))U*Amq)s^I2wr2pcfA=pXQiZoyy}XS7g_?GxUbAd0_!4QQVVP{8t7-vb zK3(uDGtWOuM?ycWQc*6q+G2`b?DeEwpK>dQ@LMnJ6Yvb$$rLDoDE2AKqvqo~aKM;Y zI8_OHAku@wl(^or@-g!!F#E;oXIIWZn}U1hXF*jKYc;hg8`9HM6&7Fo>Ae&RcFT%6 zKTFF<=a9U$AZ6fRM*y*rMJ)^Q)9|VX((Ew#l;& zVAIRki>s54EH6QRkP0ae7M|=UUIhfNyQVb;+w(1cSpr%^{d?fwbVQvU0AKj3^iSD0 z$$#q~MBiM^0<@HXNIlzq^J(J_fd4`lj_!`#F(LuDF2R_jBeM{74+(zZh1wF_F(SI7 z#xov8ZM3HNi1kXKU)KLkuSpSJ2f>j#OPu7;$+3ZhDi>)NODH34Xyjfbs0zkvEpaK$EQHuv!s(Z9R=d4A zdCA2q;mkCD;I{GYn^N+KIz!L*GcVQqq^B@v*ZIgDq@{zI8!^XPr%jo@FUDFn7DP9V zR=p1GzJ1C1%G6A)JU&xp2F65j?LoK^cQwkYisPV$#e1n0pW0M-Z=U|)=t%GM{z!{0 z`GM(;Z@o^iqiC7PDo8}={+g+OQ08+sIpdL^$gVDJe7Fs+vF1Q_A<~n-4svRADB{sEq~`N+_1B`j#lig zFnEr=c6|o`3RoX_fbzF=0XG2@_#aL!f1ZLQG|uzcSU$^q8_EBcZb=(l{i!9E+C=Sj z*HUW_`&su=Xe==RGk~MIG(^v&_@yo>!Boe0ZZ#S_nQ3p23lK$KBY!czV<=Sxju|6BIe<{x>RNEu;(U%vw*PU8K!IzdQoj=Yu#D=P^a72$T zR=7j_*_bJOiAuzIt`5vdl389`B4jxgf%L%IBv<==zRN_mDTnX_+3Uem=Lh5CQM{c} zlL3`%6X*B%3Z2G3Zc*?+en^$l-3DEBM?rbWw70I0#d1hQc$Pb~VL#7ktyKmyqg+t5 z9MO#8nid1ISD*JzQSRsBWM2!A1v-b(yc=n&lBXdT^i*eo6-=yLuHfAGO|go^DpmKg z9lu5tBgyR)?wwcYT#)A)EE@Ga+d_w&mezjHGp#xj-Cal{0k8#x*8u7-0E^6>I?ymC z4LP*moaozy#Vkqbn_+Tofp!z+`n_U7w;0nactc1_WMgqr!VZaxinO0m8d;lUPoLm_~_ zc^>=?Kq-ufq`hq}iJgbLODJI%6u4#Z#TY1{>G6J(T2_y7r;%6`Dr&;Z4_zxqhSY&A zBdReYBgrqk6Hi>yt>Fv*Tsvi1lik4Eixfw=hQ5|IL=_<9e@SF9UcT;i0j)3x4r;Ma z;uadNrYADggU@ZOm#A_Lrk8_X{8an`SyBBlGf?OiWKe}?*fA60%#%0CrvXUWDj?zC z0iCnlv#N@CJP#}}ke9fv=&fzf{Y29#=m#*sjpy6)Y-`Lk30keYFQ0ee+S`P^jl9lHN4H-d5XPe6b1?r)X{+_`nm{JO- zaWQ>lVKwb_LfBJ5 zba#IhknM*W89^Jk<&W|YTESbHuNw%&>_XgW5etK^w>=TpCIH@&I7J{yeevmmqATD> z0>pk;?yl6{bHry=&BDACLzs`cqs<~-Q*;pzU4|3Zl-`1_(Kz=FzAo~d?{+rLwRyz_ zII%?*BGxevq4a=*TCsr{>y3sUM620h@JA#N{ITjb4iw4%BqLZwsha&^NliOkSm)Ny z@8{IZrDrR<8hkF`M!@XxqdICm?gQrNp8HxI^X7=QAG(dIX`QYq8wi>CU2=-)%fS4&YdA@Mu%PhQC*Yi=C;fl`~ z*EZ38|Ed4xqln*h(n}$gvi?sDK7mx(0Q&Q-ZYfuBQV06)%x&PO1YVC6f5rVP(`KPC%PB~pX*0T@NUGYNd_2C2D z{qENgb#fAUyZ!brm2yLT-CR^?t*Z;D)7#$chDG>Sy#2y)f@2bindAKjXj+Y|L@*stzU_XqZmlwtON9pH9s zcZ@c=0!v4?vK8{>0-s}ivLFW{o=m|`I~~`4uFFX@Tmoh3Vg{=(GgJg)p*SImw5))Q zQK~m*8ZhktDo$C&fj`1t7&oSG|KnxY+|o!VtI}BZ1vua}ZIB3uuqZ0+XvJyihq;Bx zsJ?h0N;nB}_X#>MxF`wI3_^ME#RS_D-|r>_VL$W`7&T$*Qd)Z_AcHl?YRT#K0B5_4 zgI?NdkI#l{a@_7U;GlbfM%nI+dijec8?L4rTD%TQJ%?g3vtrawCw~6$A`k1bX(ehX zd%)48qyb!~efsWy86^5g0McJS_fO!;f0JPr_7u5;DAVwpjx8sW@YGye|HucAhw}Fs zuD&=1`W~WQ<5j}e5meWQ)$aY47c&_-=aL^0fl$o7PBqNSq-2p88ekX65-K)Xi|36S zKpMQ--JvVX8~E#1868gIf%W5Q5nb1$+E~d3%ZWKOvj`9VUGvX0P53NsSVKIG{1LjY z{Tgx|$kS^VALG{H`1#cRi7V#zG911M@&1X>&V4L`4a!z^dNgaKz~8<)JTeIhoiRI2 zjdekBP8!=Hh5Mp(3Icrm60h#OhYaa+nuN@6W4lGpsPs}~(u@}>70=k)*e0>Ck5+8+ zSF9Ut8BD&|V?2Ao4ywOj14K#ik|u5tC}uVagN1=3LiPsZd$>c{$SO$i@2^CEZtp#j zR?@`ZFNk_rZC7wt!dqj7p+fO=OoytR#_-kKVO4UIoa6*Wg$$NcCw8XT{5?G@cDQSx zGf!*jh;2jlF5~wvR#$PFj(t&^=Z7?oQ*m7L2$}S8cf4s-V=O?zPQE*I58@ngkO>(! z%jl2D_8t=$PbHF^mrM_&4 zG-$*!0^L4~%sVwWJU#ic#-2fO4-i%ZNX&xGx#29JvWro5=gCntChoVE2nFkl zXEfE>T)*V~*6@v^H#>iCb+|D#6#@Nr&lz>{>6I!ZxG%rRV&Iw_{n9XKC2%gc>5270 zd31SO2^OWY=Zj+krliYUmUjF2)a@uLEq@5^_*3*Zz_(n`bN8G$#}nH{7?9 z@QVtAw(k!;-*{C-zSuZu3L_FIQ6rS9r+f3jdQ}t|p7FD?1uY6GEn!d?IcNOitcOCt zUaH*o_w5t4U&_kLir*koS9sZt8Sw;J)w)1C=v8M&f02RKtzoPSjyM zO7yo7(QV7CEWbs0P6E`l*ZIX{mMI@U=V=`i>IFxX;6@6TJm2K^GWhkY)wtm0 z4bnOd+kv zfx7?%l4pPY0QB*dk>RDcooUfj7E~5RFcrx}atkmqaSz+7<8eHf(CE$bCYwS9Vn(Do zAX=Y(^sV+DTQ7cw$y!2j)!c2(FgCGN7rUN{n)2(PRf22MjCsR*6#;f92;O8r-;Uep zwU3`4at6K4D-0AGPWqUksaQ-1+fcCS`%}!w>;Fy6$dQia+6#bO^23B`A>!GCc-j5L znW4GrjxE3s#+`8l&T#NLp6Nbap#?Q{DPzoG2|gxxDd674jm~jieGBqgd}zqen@^B~ zVv+DwF?>ZUjDZtunX-mv#@F(7WiGbD)71vUen1eztvo-}v3W@!=D-#|D9% zpX{A4ZX`qK&ROD-igHPj;V%qKgimMe|ujMgLHslUY^66nGD$S^I`2p4vcmN zQsxU-64X63*G5rBAh-U{9U|4Aq?jz6<<4dt1LZ0Uhc;a55IT16cyuBieV8`V%^jvs zUO&)>Ctf2#-&4H!8?Z+gb_<7W-gkBiWv!={J;zGrir%U!A7N6ksPTCEN-|--<7bos zDiUvXUC;#YR;a$R{toeUWV^_4B6O$CAEUvb;WD@`DH{HrRk{{s$hP9;YJ&Ik_ zyoQAO@cOE*_vw>S4+|>yETWs~PEUM2>qfvm71|d5#QMlNUa;z?l2^8=v~D5HbpQJ{UyA%yt$&PG6N>`Aw((tJ6dul;EVUAri2%E>d#l z>H4cNjk76^`M`|>GAc6TPPLVppc}-f4g`3Eog$FmdFZhl<}_$oN~(XMT3y83D?UII zTUFmMT99O`*=Hm@{G0AGaR_Z)(vy4G6swU;1@MCZ5>4@sj%O56b~~8U<5QN&!&fLA zR$DiszOzGYh`EV6Mj|8(`OIZxbS~9)bTw9WHBZ9wqblf81}OIp=yaajqD|*%iI)Leek?+dFs?SK(d)c5snpS) zefIvT(=rO5Q-tquDux|*)|-M9tNS9vXC@g`rZAi~i{EUxf|50I(}d4MuY5Eez0Y^z z%1r<1nRanoUrxO!mCLG@I!yLSn;3tbE$)5d)oPnOFt4@HNl2Byt?R)PR~i_al?y#Z z22ufOih*DdadLhor^$(|N<$r=hFj#4dP|)g}b< z!M%|#()><3(O_jXvrEd1r7tJWWbk?5-S_Lqt1~f|Kc5BmfbZrr*-{P+knK1oiX<`Y zfM8XxeUbSjIs3aquuku~Ht3~m2!1|-Z+Lg(?Gz?XcAoPD@d>ZylhL@xk>5szR#C7Y zl^6Oi8%M;^N+8a;qF-xE0yl=snj}6xUa{>!v>aSRXoVBXzOOTq>!<7zX}z3jy5091 zUcL452prnMW(aMcWpmU2@^W{1sTdWowPow1dK;*BT)6(%<<37UkN%S|5cU^A1D!|0 zpWXuc{qHj_qi1hK&ywBr!VgM|Fh3<>GPIvrXr|>bl;@K89)M8bu}O%RG?>r!Fr>=d z86^-~&AMaoz+J^4`~Xj;BtwC;ixzmSIhD_Q?s2+uu=gx<)9R48=6&;Dvb3f9gPq*4 zT{Vj3asQ~q{NUA70E)Rs>=G-vM{#FE4%iy+j(*I z;7jO+SnGiA@T~m4TiYus!>Il3&FEo8OZ#sPQ)s}$WM^_yaj9z*IxG?ike!?_Uc5bG z8LxlarjWzH7QN)%^;mx)x%Q*Du7(I&nePvS2$lcao{Rr-EYY5af+C_nRJSo+{aBJE zs`kTpSG?@NaYJ^?B(a69CAg)hpUl8xXYC(NO~A zUYq{>ta46xZH4U#Q)>8kwoQXzfH%1++H8?RJ~6Z`v*s$?1Qc2BM=l_GFYiC|WHn(d z`v4Y0yiQb7Z;BF0v3~LK{;=i^1&*oCr~3*Rz+Ga|{un}(h*0-%3)?sCt|+F}swWf!5i_6B-!XdYFdb_iIwI<0@#IP_zvg>c<4bJ!eE{atyrjsk}(*iNT@aggMX&zrk8%uORhCVT48JfzJL{?KD0^mUzB5C~VLZxLDrB#RA0PRC= zfZv?ZK!b(#pg|g6=Qo#Wi0@b;pnXeu_#a4$yrVT;ayb>&0_N$J;f3zR_z_h$FCSnk zA&U6ZG+|OyAV{`ONxS>-*9ou37ZG3>1a68WAXUpkMrc*nrzi1YV5Bg}Ftqx)%6b;Y5 zpJRnde3493&;kLi88sVSrX z+;$)2=ZSfTl%;i{I1#2Zs1LPVpIVS?q}-MfY;jXnNblOutvBs)WJ{%6k}W0%A1Ov? zfCKRf7_O-IwY+3>M%}bmRj&Ti94T4R^BYe^2-@q4oBTfwJD&&!(aFhSt030)!=p1@ z?`dL7kjpqL#@9``6s^nfZ0pLNm>kO1Ovi_o-80*YAx{0zm>8z5zGDK|A*@|3%p>$h z1p^3eyVrxUmLZWLrCbQHwg`#f)vHPePOTkCr$CrqCN<@gjnV$5l5p|p{LtPAt}=YC zWOb8P-IYNxy}aoTH44NBB>tRzOr2ppvX5__%;y_iKajWSZd8tBRMFM==y5(^)D@Xt zg8?F-$SqbRR3pzd5<|eMJ>rzdF`En<8>ZphS&&D}4l|XpXhCSci>!MXby|nLNcMS1 zjW1C;zuaKPUk-0|&VBO$_q;NEy_%6p!Y}LC{HP*6K<$=unresXa7JHVVrBd-t%!Om zhC**Ooob(ns?%`6tjtu1NQppJjXn0>ovqmVegbC&-*nn}L5;4xN)hrgCTA0J^_84j zCWOn`Wp;1fy!S+RL-lpu5pef{de7TLBAy8%fLer3K`F67GANLPxIPGHDQfLs*IeqL?n(3X4WS}Hb2XFo9? z=&OAHN5$yhdv2bhF})0BSzNV&vlP+o=Kg=RufoI^-XsF9Lf-#*20mE(e!C*!-|(DsJZ$<*Kz6VfejS63#F}W@3L&{ zd0Yu#RMNOAfE6Rk1kT3)rmI)TJs*{CX(3kkrbe%bq5|Zid*7`h$_^d+l>Daq=p7Qs zHuFfa2N)|=jPL)|4Fv#1OztxTNC#gbmAQeoTX%px&A>{@jQ(#rk_b72&-?sB+02}J z6`+O1GRW@2&6jo}a74a07E%dvd!y@rEiK)Ed^)FKw1~fgD5&;_R{8S&rc=h6NvPQ;xNG`SyS?s||d0J^C}N~|52e@Rw{G0N+X(_-U?Dn-*|jv+zFZW&2r52RSe z7xyywh8l{A>=15DQb^jlc&ieR*7TLO0Q>mu7gB4C+r*t%|2=|s2x#sl4ZmU?z6d|UJ!-0!k+>@*(0 zCEC7`nI1mLgs=knIdh+%O&wSny8U`aIF;^bKI)6a>hqNNc_oNgvp_|Td_)Rc)jEFN zQ!I3oEzI%B`U{-o{H-3c8}0P{6JJNw{V5`)1DGWDwjx2$LtZ{K%5xvSlQk$@3>oet zaBpvZyV_%a?cq3=hJ^qyn;d;kmuImPN=Go0>Nu!NiHxj0njiYC)O1t&Vfu?Mj+fAn{mZ#!b z!)|#D-9K8H*__~^i;=E)6}z1AdRO{=(AafvoKDLaim1cPJYfwfM8EIdlBgbh*G%#$ znT^z=h+kAub8@}* z%JDvXW}31s2{UXbJ|&_G#I0xDhX|MhTp563*Htt<8DNZuR)FGP7(~+AZMKN&n|MAfZ^2fqxQlE*j6z=x{^- z0;F*wW5@*(mdi)ZkrOB9?8poaMOwV>*-zV}*pC$(S5n4J4iYCObApV0;8T4JYwzu_ z({YbUMC6Cfk>7N$wv=hRvI~re-*lN29dZiEbwitVy5mFa%Y=kNoea3I(l1Q1Ludb9 z%^8Cfch(&j;@tbzEOJS6MdrMN8pFzu$+g56;MF?XDx$wAmYmTV)c~E31hU1f#v6Qz z9-exVv5C8yZw6sInS2;tS`e_=^Cw@G|H>%vKc@LebTc&hp*=%)6 z?A-(t5gO$sj2fwoeMU`oImYYR0=nuQ(B_3NRKM(?R&Xzgh3-(3!c9kC0@A2tva4d z{TsbTCtpBXnAf^~fgh6t39rGIY&{VGk)kqGjhmkJ5^7QlzrnWh#2_M|_11vtnD9X^ zXv(p_?oni}t$P`T4+#eN6-|HUS4^VOot4}&1Xo|T549S?@w>d9NO;$xS*RJD5L11G zXM2D*L@SXnhTH|uzLBJnu;5w{i!WMA=%6Np<`v(U@hGg?)@Gh&Ez=9}yD_j$J+PaqRxBkOQv$Hf4%k4o zB;m((cB7JFyhTtsN@`~8{e21?2zoZ`a}2&n8Cc!p5bk{~^ALwo>2ZMt>^PJSZz;G| zeThHuOiywJ2ei_Ispy$WcEm_(b8`>wU9B>De@+fU6zhy?0H)jY$Yap-OQ$?J4R$jo zg^{R+*lll!aj&#)0(ecXYgYx)u#^$Hr(gcG#&(D)b$JsYg8|o zdx7iau;|0d2MTSwk}E#wF6r@WeAc|dcfS$oIOx1@_8at>=R0TS8R_2NTGai(_VqA2 z+Bx?B1=_&UcHwbzcl-N$4)1d$PVTbJ$(Pkr!AmN)qvT5X$tTA!ehy}7sty(sOR~PU zJr%*P6a|H}O^6ZX$2lI+UgbwUgBxkas9aYg{)S-w2cfUUo=*I%e%o-8`2gr;acyY| z`7kz=Yd)HL2!x}}XGH0Ks=Px-f3$+?)WD_g&)c*m`{k@~*2WJA&&<#-17%gu?aaHW zCO7gzTI)27?vqYAqu9w@Y8AbfGLdp^0>^>?2Nm@J6su{59|e^PSFl@y4&|XQnNWgI z!}berkR{`IW&-HQBG<&?G^}8p$L;IhQ=sguVeWs1|FE${w)bKXYT1J=>|X}y18h)H zfDOt-2qcoXA?)Pysy>f`CKjirHLgd2R&aXzxAsqOjh|_fhxniK4m2&Y5Md?G5Z9EN zT%Q#Mx>&Bvu5}en&W??QNJt{E>ca`#04i882>fII*JeQ;86gP1-I)Wo`^Uwm8gA*F zedo!7CYVj65Oc+jyO$^`+w2$@UZfq_42i?16Cu$n$dWNUn%vb8C9gC^vhv%!q&7OI z2Xfwh1F1y$Bb6j!3L!~~BI=*M=3yGE_OQ}a7sVx_bJ}WBncjY4ovIU(gT##ukRmx< zJnv4tj;<`r+))a4j#%r)p3c|1vKBLbnBBetd=%S%sc&Eq>^@4nPLuAH7OyY+VoW>2 z-?7gE#0qGU%tmi}dIPG(NJn`qD)A(sUWL~aWO3hq!rhB$b8qH^cD3^&t#Wnsqz*zo z%+Oiw@)#+aB^@@BfH= zEmn*^N>3mb67)1&&J3tNV;ZXCXBZ>YKvjvfsIPa;`v@b(>vFTBOQV$h3$} zX_t=a-*je^bKY|xolD;i24VXeYyAM~_s@c?*yfQ+B;{T^wTNfKwN)HHx9=%hEqO9` z^;S5P|9F_X)b+yBsMx0Ir@AzuLw~s`w%v@aM`r=pU%Jn%6^T89?mpgz_(%6xhSB=qxe6>j*~FR)g>l3I8w^g!kl7Ci7T0ayVCMSRCt>0Su0^cQ88+uM zEzo9EM8-^29S6qr@ZUt7{m*0E%#y@Q2=OJ(HJNQulWA`r-2QnI3&u+05=vk;Rvjf^FrQ3m&NfM|9>tDIGHn=;l^_Du6i_}h`0vHc;#-s$( z1oa<$d@7m5y%{=UI05jmYE436?2pmJZ~8%ecyCBMRnyPM<3m!1d?>UOODfn8S4G$n zcXz&2z@wdUJZkAOS5<#$y-(c@W#HHaI@fr~r4iG-c$ZIc<;evn`6R1+(dNHy6C8YC z+L2bW2veCyUrHwqu#cyT*4Ue82lOsKkQvT>40LcrI!-s@DH=)cMs+2Sb7n1;uW?OR zXVJ--v*`R|_)aqkYKnyyW(D-IRQnrD(^aHFtw{^jC*apU-yP5VTSZ6Mn$%(&=eCuCczPxr zx6n|7vgc41ga^qW2;23smenR~J)C#-?7MW{^jWh<(!iB&1vJ;O{Y2Et!ma@fKm%FV zF^{Uhtizo{qgjEB085A@$nsES9=Na2P|Mz}$p1`glKE+iC0+Af=9nLAD~|2ntvAXR zQX1BBB1{m})GF_Yg-S|G;EZf{I&n`4V!=>d7GGo8*JIc7rFc~a+ABQMw^e1mDw4!; zp8$l)3^54;a;V-ztI}zHnH#hGuJwTe>G%K4xzu;f{$^x7C;^+O9hw1s;`#0s+k<_7 zxD_*KKrvvqYEEyA%o`25@NX2a-e__g8-L(X{;peao>S2Ut02{^87yjRyWx3#9tcQv zieodZXAi_Dtr+cwxFoz(yZ-`i{Q4cQEFY@4A)JyO^zx-bbeOj`!fJYQq;qYwsnXyB zO^nR^gm?u1>)hh5TawX;q48Q{XX>ic`efjNz&SNlq;9mL<8-e zKE*RB)={-$q>%iN#@<3Y4}1O9)Z?zoo{r((OCt*%=&AxJ*rhQtvspKma%#pKELJS? z@oRRaJM)SAPc2Q=JlK|hkyrG&2Dn~h^k&D!7P+J4w{5&e8>!lrRV9V~T^@j-da1Kc zeGcAPVjobcmvw7VTzaL39u%fXQ^d59aydoO$VG?t7IJ~#pF9tk z0MCP_uDI0knxc@qxXy|l-eUm0vDn~*kYK|gjgQrPpSm!g?VAA!;1T(S&>&9kXUKmz zGX#=Fsxv`O<19#OQYc>I0(U+$j+Rd5%F>gR4$pyywY^*8+KM%IN90=UmQI0G`jKpP z)Nr$?gA%LPy#uK4aElnP2Qgljfa!rsdhu((^x)DTrUx_HBn)7BAT0Cg@}Eo(5}Bv8U8ak2qz$Y)yNY^f zH~I^TGmsujH`1_-qVZ7 zrZ*XH9wfy4rh5_cgoe@F<`P0*it1@pkIb>(!>U;rGoKFZRS$aVK50svtzS$OF7>$Z zhVT2P_%fz)W>Rh!tKa8hr|`6lUEUc;LTh>GeR7F;FcsIA63*5DF9?X;&R7|UFKdJ`QLOTWQzP?!FSn9Q? z7=pWY&Vp;q(a(~!5f@m)2HVm@C}X>pQuQa{*Ah9Y=hO?>mYx-H$@+Re+H*0>TuKS> zRb4AI0>HgsU~c+bvzx#7SZIW)X8tjj_sn;1T7P9ehj-3iKe~JhyYMxR)A(#cl#(uP z7*g+rG~Dh0859k!9CAGcsLD&Z;3O-KH(CFLX(0Ep1eiK|uLHx2q{wlQvMZUF_zX$M;dU;;HkM zfx!Kztl7sC4T{-lIgx!Q3#1z+>U6})88TBr@(=S2_>js0r zzCb3I7jc>OF+bw&qXaqJn#&N_xEuih`T3*=CX4EuZfE z8CNCtM3l)L4w5;dZozn7G9du8BelX9XQaEdTiR^^yW6FBe8kt zOtl^3yUojP*e>__$^>ikcuNt{LKf7pLr}pOW9)HKPy+@N2(`^z~0+&vvxc2NTF%LVo&prOGXz4=SRLH&X#ke@k z>*jTrr8g5-s5xL3Yp$lXu%b!ZfONT#jkWqtfWQ5c8_{au6Y?Q%I`+V6>RZ!+vU0kS zP3_H1iUM~*Md^!|5nM_`*Q8{R)XCb7VeiT|Az}`|WQF_0j5^3^>%qt$*&gY2F3zXX z6J2f`VUK>(O|;ro11LQG*IYFDMq?NmHnZCZ@vZa_N?nj|YK-i0{di{RhD#8t@T}Im zMDBQEYrUCu0dgLsPm4qi*UG=9rR1*riu6EYq@$Yv2VVlSTCOvs4!ZsI>^c% zhW}c@*(hEjF4vnKE8RdqUSvt0Rcgd2ZlJ2?%ksbPe+}lk3jOav7@!lxP*1v_88jp&Rhz+cI zIe@&5959LpokrPpokF}IZ2=w*ClRqOgAqHuzRCHO9)<&xAZNB`GN@v2q3uVzgxhIZ z4_;M^J?orLDU3p8s!n-pNE7j^P6S8*=In`gKoxj_tSQD$rhgnUMLMQMS6NXa+x}?p z4x6CoGbZsRRYaaebPKDsIpJ5t+K#^M=i|!j zSy}+0m2C{Q%ZzyijV)!lJLR!{W%|@hJ+oi2)C**{EK@iSJ#i-sA@1N}ZqFA(+f+M+ z?SOET!@pySc|KVYFYVY8gGw**T&*k%H|tl6e|4=a|D!T*mYbgFuNnGymXPgTu}?_B z5sEO$>KzhjmanQjhOz*t-Kxd-@l4-4CmxSxOvz!tG^JbF0upTDUiGM!8jZ5C^CBb`q>oRypCO3kR+^3*-NiFnqHIrI z>N#SUcS^1WWnoY)Q0`Olp0;B`Rvm};JE(nb{M>vi z^XR(;hNG$2-i3z9(@N;H_l1WpUfus42{~FakdU^5)c$o-9yIN87Q$-+P9u&s;48cy z?&zTAV}AYziNlkTtu^4gZceWLsTjTgaD2d=bRTW_Rr?M#-&k|*_GAa>=6)Z6?2BDI z{|9&D54#7-EOa_>$0+1!a-!sgg+g8zeL5d97htAPa2;wQVgM4sk9ESbfMw#eHd5f1 z)Fj9qu3I06F8qP|XkG+ND6=S|l|S(`)E1un0yP?NW+5QN!KBFhjDY!8l7c#Q!x5L} zu;EVM7%Le=k;}Ts?Ybr|zSAOzx~#jM;{qb|JvJq5A7B=E2CKmWlYM_!KA5=oHOn7i zA^Sl$KRZCbVn6GB zdu1Gx=;y7fZ0};{!4cd0Bv!H~)Q7qK$@a>P*h=}na$v>y2V%5;9dfa17ML6q~I8SU-g| zvh=(pVidfv35+_*-Ch^F(%qrLN=0+@+R%ZFeG(PkEfhpzc(>*4=KK?9Sqa$~6z~57 zgWcTCJ1$BwpJHb*#g006zhTn4!qYLpTre|IUW@auU;KoYLd7668l-n*-IWm@j_;nj^ro6b?HKKY>^^FWk9T&A*a?SCu~rnRPR94 zQ~m%%;0A0rYYa_QlFkA{{ z>C73F^2#@k47Kdqg%UA~L5MZ3)O=}uo)qd>E&J#Jc8iuf|0q03%u37`pwOxeS^sOE zOK`!;FXo>cj(KspST4m5#-yms+e+r#*M1G`T9qU#&uT@RKrEMHdMbi zexn=`^yO8`tjwv4^ju42v!(RlM8vqe@Zy1L4WGUCEJ8^Q(UKP=@K7F4xhCJEc> zdC|aa`dz4b9oGvM9Bsk34e#GG16&?ow@`Trxs3@3pe>N9EL7L!vcs}2OUpQ+up+k3 zI}A)9yCKB?*I4S|@B1fs>c7wFk-iaUZ8b{7K8CHgzJhE>U>1!g>BFt+bB}mie4#nX z<)L;$ym4nmqYid&&j2%2*H&KkRIdl>tfFFV=^kY`7||}>c^v>$@w6}Av!=4PXKJi~ zYsnJ_)RTRn6MygKXPcRj!;89nB2##iX{3bj(O6g7nm2nkYCG5kZ~(naMnO01;;6TO zv2f6)*5(&SCl_qdZxNy+rdb2q$2(SsevA*C+eBvrZQ@+Sj-~$7K+L05APwh0bRuVy zBQ!u`7XRc*PU!eafiyONC&QKm z2sj=d`KMn_$QvX#KSl26F3c>G>Q?LuDwnH5htF9?QyB(pjRtAb9n( zfR73JQj;MTP~YEl7t_#9EbfoBss>gqp0+!Vsww`MIrx@GC#Zg>V#GUpR?-B^6719X z{H9Ucy@X#;81+Tm^1c|e!-+G3S(h)KVd-$)OS^7sH+JGJr;QM3unCu!X%Mn$hF9Nm%@ z%ERu$&iSKg4y}@7%@Wg&Im>Swc;BmfQOn-0(zx#^id!V9Pm@Igt_^Zr9KVp5D)?4z zd);tE-OpKxF)ze7eRN2glB?7*oOC~^Pi7)a`|WF|@emE{ho%|AQr1R^z((fe0j>jZ zS35Lc_@X1lEhAh0#L2O+Z(@Yo}ucG2 zsyV+JlI`!58N-G6SpGli-aD+xbzS#G9g0##K{`=T5hEZ9QUoF@T|htxJt`ngdT)t} zfS?cs0jW_CLyz=Mq(*x0HS|sb1VRXLe~dZT++(ga=9>GQwf0=+{EmI`iZ-5Ys_y6S=vrEmA?aG z8$h1`djaC=NKXxyQA1sz6CQI(K1R>r<~p2s0Pf4k6|s^WD<_`uytGi-{QQv%8&*oS zjS5g5GHsq%qwk*2e|i3$m-4YK($~IgqEec&&z;lG)L$QIsXyP}0v_IRotrI5j_fdS z@KE&bui+eDOpkndwB1(y@rMjmGfKt}i0&Sg`*M87eVSQG0XVXe1rZbItsIa74qEIm z>zkdKE1xrH#tZvYg2b05=m(`R<5J&#fJd$(; z_TxyGKNPC$XAEQQs;lwLsl;|I*3A*Vt`|Q6me30Ce>P4(dFQb~h|)5%TSeTf0O`!R z^dh6bDkWqfZ>0LWjiB}VS>^W1QuFthnlyT#@?JCeymWMnQ^4)a8#0T(Qz+zUcY&VK z>(FWXP?`QU<}t?pVK)gHH2^VbuqFw8zj;z=l3AL5cD-iawdyy+qS3HQz}Os;SeLw)I?0s0_Bl#TR&I$=EM0H~^A0J7IjmooagvGGEp?V|Hny z?ibxvog!Q42GiS?u-k$BE~;~yBhT33SF+x=s?wC&--Ilw2ey$~z>PJdM4|csvj*oW zi&@`#fyy`*2+v?|jfh>r2Z3zIOWE7kuyQnolhg=v#q(d_Ce5|K=zM=CP+aiW8Hd|s z>KdDPm4CIbmkS(o2dxK%P#ZyIuNqWW9b#L)2atu=>0p!@1+$PI#7Zdh;x#Hd&dGK#6gS^N2J)*5f= z1z-sK;UgA>-&P(5rfDTVvzT&e0d^H-yFuhKiWRe64ivQ1OKv}xIzO5+Da2H;txm>g z79rmBjJ6*nPiOESkX-9Nj5Ly73uGelr@NCP&5>QLP0 zxdu{~=@Xj?##U&X()NI)L7&owm3E$bXyoRIuA}#9X8FWdSLB~xB!=u#powq4_$dxt z-fF%Kf!!yzVDbQ;+X-VI48X!g-=r zYR;ebwWq@x;V0({vg}KO_ap``n=yMWBZ!}LvaVxajO5AfJhi#*~u>C^*-$ zR@zF6e1c&G_T4j0EyZE)2TO~y9*QppfA-Y27?=yEL9sEV@^5sV0zwx-ud58)@hgq0 zPj~eA)KcPU7uF#r6ho0SwgX0QtXxhCeK~>A)a|yXx2sv#EK{_DY%1 zpvRiFr7M4Xb^V(WgU)dmHF+1g!8LSUGJLe5=0vZjgY=f;e1yqmNF#5C2V}REVZVk8 zbA`5&n830Vm@p2PR#+`?^e?Sg^b-a8v{wE{EC6oOHuB9#RdoQi2p)BHumI?kD;{>r zJrgnJzv#%+cv{TV{K)imB5e!dCL`h3_pPea3a~l;$ArS8f7i(Re=yYerwlFzjzC*n=dayr4zlZ}cECIqg;`q`~&Vd%8y?28NwB8Ls5}Ngk4x#%R zF)ORHjd?_VmIABCGK=RW+aqN92HWtY_AJCpxXpy6B))~Q+8D0t`i~C@9EsV>B^9?& zVrf3EeD}~^mffo5x#z46uHoq1)EAHYcx8He66qW4(v2j{<@%z`JbvJl_EW+k6w=&$ z+3wv_N)|u{Z720ZYj}g3O85Ax5#d{m=k&NejD1D(lMrJ3%YII4x9YwK1=UoYm2Esc zI%LvlZTm{*$-}I)@1TW*LTK#ca{|eURVlf@ylDyTe z(AWUzw_mlb-_3g27v*!b#);Uu#+zz)<5u+4CqxP9#O>dzfIM5mt(p1v3k6dGZ4N=8 z_^vu!N>T0}_P#&2;=Mz6xsQpH`K0plj%ruMx7=^GUV8Q>jeTBT`AkJo-wgzY6*`~v z4Yt-?J4h8THti&K7nIF$fA9tF%5U_=E1QMfTe!}wVolVhyb=7(Vm z?Yl1z`a1c664^tGUWG9J$}WK;$;&XaTgc3c65Wr?yci9zCNObULjhN-r8X2s`?2v` z#*=4fZk~woH38e^3RZLO{Vo#yvNgxMCa%>tv*`&|bDE*8cIO0bK6bb~SX*;CKdv*s zYt?a+!nlrfwd$bc%sd;s;-pLyIRQtebORJamm`*${7DONX)o z0XbjSe7tc2U_mXX+2K*?+q{tqX=aF-A*ty{onM5TL*8akOZE!GjmV|;4)J@4_>pCr zB4H<{LNabGnsq94o_p81k`ldUrtgDnqJb?1LZAO`=En(a-hvRjn7tBIUjTdn$0)U$ z;p;S!a_$`qREkcuSId_>23)`#N3}0M1|S6KfA9iAJ*8>)_j&puVPLUVYUh<+MXsiv z!0ZN2M|ZH>&(~8Z@846&BoDyaJ*k@>D;_WX*Z6+-?{}qE^9ewKSh5)m9P8Vy%BcO9 zShB6p|7>&rXODx0bh|tpjX-ORGV{XZH$WSF@*X`Y*YE1pzp*mx+XbK*RMGG6_bRkT zM`dQg)Rn)mGGNch(ReIL%=0AYcSRRm7aoVV=vDUVmw^ZGWt7q%3_AaqiG?vvaK7D? zkHt-gtI$-+9~0E7B#=oUkLPTA3G3UF?6y25$75EXFOa!b5&LuBb?_#fBNoY-!f^;k z{vT`ANI}j4)8P_{|s2xB_0I&?2f-XSIAe&@VZ6juN!~}VzF74jz$-tbW z)d7KW9UhfwzDKtW9P2^r5FIkJQ3*K?VF}0vl>ZezLh^|wkF4DC&Eh5+%Mc-2qK>~zjOYD(od8~CSz|JO@V(qD!w)V__M(fQcN_Pob2m2GFUBjW8>cm_2i%-SooE}J z;7`uWb&tJs!i;5PFfiGiMEC;6hPhEOW4+!l~`$sO&AHROJ>{(orFh^Ux(g6>@sXyR_VKlRoE?L@5f29mE z)C0@qW|Wj()@~l60jN%UBqOa0#Vvmm2uwzuCP@>JujH?lZZ4Tw*6aFRr-<$PXO{XfLQehAYILb z1zPQC#8oPqBP_;@f225_0unLIPUfuv#dLjH-7j@ zs8HD%x#(5q0AGUp4q!%XK!of-PQz~(Z@i&8Oz(U2If>1cdHCOR`|Zt#xlzJhP>JJ9pK?T#mbC zlj+N~AuCFT3hc+=+5tTDLvxw*MCbf8hK9Jg=pwGViSPs7&FcEHKU+$uz}ogIZM66W z88STz3@e}6)m-ZxSwxj(q{8BnPG&%|!&Z|?Ok^~k*~XyHT(4)O!`JE=HCiBtAq)3M z%*Czd;|(j1E4RhDtK>+$XI2e!G}ASo$iZ460Bsjf;Aocrk@O@QO*Jv-`Rha}tWJgSHl`sh0<54Z(>0rvW# zYzH4l(V61Xhac{LdBpO9<#-^1>2dj!cK;E|_P{8tm#7d>5S-?J==sIuDYycgs=%u% zZ@k(Kt*kKtbPFin&7q&fEuX764_m*#wkIMrk6;jLLLtO=(+vQT7Zd_;(7ei4<<{DO z5yq>U;w6m!0PvalpXtf}Yxuc`>g;3lsF4`rl-4cChP^JTg&WaSorb6Q!jBQg5aYei zadQlVA@F`y}JrQB!_k|FNt8H@COnA_i3>9s={%!Ee7;1>*?xsB~<9K(o28A8z*sw8E@`7qPif5GP; z7S_KvX#iUS{2KZ84~Zg^^uZBvVoXsGtHk#BFnuN4D)SQn_nAhomlI`S^Njuo?5wVC zeQk?Qs)AS*1cwy}08LHaXliWA&-|tueT-F>@y2|=>@uP=Ljke2^t}39b)vjBh&A9bdFiT!&nx%T zMW%a#93pHMO)~Bk_ZB-`7yY3jwaiOTF(nuW@`B z=lYrhyf%Np&i)s=fB*i&YT%!!X*$#<{r)Qv^}D{n@JjlXZ#fP9oshm7Ub5e=_;ZZS z1puFF14iwdLcW3H6j_Mq(2j$nK*Gp7k2|9X$pG|0^E{9+q2u_2>(l;L3?u}c-y49y=c+O|DYjmqafftL{bLRszQ3mKtAJPd+724$$obw1~+KSSG3f!x{p$ zK+JpTw(|YF7+jwQ1QyW~*(t<$MGzUO;tmOw67*jiduq8ht}_#EON@J0rFhpTNM|bz z$ddRAFX9oxNzU(Srp(@Y%{Iuwm3Ga9stYL4kNib$aAq#$P;L;@x!;N!puxb)U zc1KS}d#8QRFJCD_WD76K0;*JudTP1ECmw^DRzv9a6;FEX?OM8l!`-o-@Sz0Bnz^RLZ|3Mq4;wz zr$$)?mgHO=0(qeheWjagp_JkTp^nooH=r+0=;%|rP|Q@l&f+ikVH@0>pfAGPdDsVJ z=+UMH!*a3JuUFo__`2J?629f~iRt-R>SCVZ#b56>SeFND==&$@D*)Zc zy$=OQDmWz)yP7hSPjwho`fDQkTET+{HtM-wYc2tOkvM0e(b`9P5f!9!Kp|xH=fsZ% z5|(L+hw_vnKEV8+D)l>rHNjHa<$5)9tL0zA~KCV&h8C?^e%$Z17abU>bfz? zO+3;zSc5OK&|1AgXe0=qr#pX~O3K63f@i|)Vw{*gN(3$d%S znfY(R;)nF{-G5o+kNo-C z2A&rmDJOpO@q%nv{g_Bkb9ESNdz_Cs99W4Q{6R`0tgoZhYl)s@;D&~ zXHsaZ$V!Zi%U%Yfw*CDxCJY&yuY8{Su?`ii*1$^O7Rs7CC!y|hzXQbbZxv6q6X z7C9~J?s7$vh%3k~%>e)}sHcu}&TO!?W-s46XZZE0JQ0c4S;kR)2mlb199Lg+re|(Y zUO#ixj>m&*OH6EDP0%cf&ip60@Qd3C-gSrwf#XDl8G96KmAWP7-VsK(SnpF3k1UbN z?CWMzYZsYj!gIvz48MNP*J?@d`$bn97)Ywd? zU2tx@&7~cL=fZEN?xt)=kH1|+d#4G+jFWkH+`6{o%%M$%2*+h6?@#6Xa{03h5Xn%5 zQMz3d3a4g|NBfx;1!=Y7$c}*v!I76vrcE9zU-wJs%Dp}&pDty}D{cn?{ER|;-aHzT z6TD#bsvW5mCr;EvRBl+g)H7G9AFsHkt8z3eZ0I2h)+$1_-e?y}SpmUk#neUB3eAFALN!hd^fS)!$sK+zqpF#_gU9>2#JeXjlO zT=%tG-8s4#Z>3|Ux-$^|=3((R>Q!Bswst5$lzxG@wA$+U(F3H%( zRs$~!Ms4Xo+s^;nANxzh_d`3|&n!?q0yKmqUsUpzJ(N6sFiZ`lCvr5HQKkBxUy@ej z?~CX2V9}61*hxlQu&7t|HA;$RHkf!=xL$;K*$O?b;a8kFJxO>Egpw@q6o09F=~pR+ zNA3cGvEl5`y>Q`0ZzE0eY=Qe&#L^xHlJ2MFPKgUHVm1}^wF>SeW(@tJOPE46l_Ls? z9@v*AD@DarZwX4ZErP{+6ESaRZ0`sEnqnQ?=FK>1c?_Ac4B@G^Q1>U4sQ|Xgu8oOP zoH1v-6g$dkh#0Anj}FolcCzu268nI=HFVl0;V$1zyfGmiIS@W zBBiOsmTX})F-{2~hpwheXvuJ?b zXl#27(H~8c$IR>veg%WC0QLHN)w|%BK`MV5`31KyvblUsGC-Po(!&{t^4p3Ay$hfl zO@jbYR=ZZm#ysy)0v&=@%96xB#dNaHn^L}hM9F1bN>X0rvZtj~JEsTmWdC%o{cj?QBW>igdc%o}y=|$)mLpuYizfJ`3nl^H*O}KzK-Kx*y2}ev1&bvNQR-@L?%|_2c#y zJL1&twiN!Ekw}vRXDE4KWiQUz0>^UsUGz@TE-d_Z3%H%iJU!4Cz0YZQ$$4#)z4XML zYNbvh3#~fPp$FVkYkA?#w=Df(nt-YnLwBZtEg=6efA;0ibbl67xrm0+X~&2`CHFaZ z8d(CN0mMXg0;#m66vIrey=a%titA6P?LP9V-}nt^#=>M^&yl&wFS6xjmx5E4;3(Jp=R}gFI~EPb>?tmy-6OH2E&%66`6oZO(6Arj*8daB;um zeDB3p=s_S5uG$5hAh&U~f74OHr4Y4uj{2+sNM~7sX=9wY^AzT^g;_h|G(uGTQc<|@ ztMQ@7_~e!u`8clGqY!I{t$RR4+f~D0{}%7aI`bgT#2g#u9K|dQEopOnlBrUrvbD!{ z1})@r^^Pn^)Msz-2AccgcA&J06e8MNhFChMg)q4}_ls`y*c7@Bay)>!k9NUFRVAN* zcoV>PzOo0iy%^PDl_LA-qG=jqne1(^q)j(j4$?+#Cr>L8gx7gp<>_{G%)!q(x2;x% zE`CP9R$z1sX;0lb_zGtud*hvJlP%535kyvVa&YF@Nb3{)IK;5hICbA~n(Jx86%N(J zYf7!5vOl=#_@JYc4Ep!THwpgu-B(qPS;mWl#35s&-^!B(x18VIsnXpL@^>D8AuF{v zFD8Od+mKbXv6*vp?Au#z*^VvsRip7sahO7Ak_ENwyUF@09Syag<>3_~5vp1L2abFYZM#LYP< zIycRKcTQnjawfa)IMm*(#swGcU0lhJBN$$VD4AQ4BOp}9eHm9*!L7)hj04p91Acd_qq#Y z&X|_;NV<9B&WZpiAL|oJOH?QK$k&4%)8r5aIF1oyr+64-sXA&s#%a)Flv8IPA+||I zku57}rMI1VXx#%3J3Mqky+Wbb_p8RkT#aSKH(ddnAnl-D!SaZ+Q|QQ=3zO(KG_bu} zEw5Y2-ibhT@)y-+hJ8AntRR>&8H`804meI{&d|mib$wS4zkq-xeg}A~J9(7vA*#?b z{SWE_CdW+x8jg**g=qcM)5Y1MazDAK0q5SYQ1n!Xd%YqXVIgQ$B^f`;wK_fHsvGBa zyE3T|l$jR^)P9*g?*!A1TUCNi!Pw*qJ+C&G1H=A9_1#nUM{e!RRgRMD`At=^Pw7B< z4lnv?7Z?5Di>ux+4M_RsH^c;_i)XgcGNTKceeqq^;A@WgRX_g6_7lS0l6RC3dcx?b zg|PTvbQ>RfiH*K-BQ@uJuy3tzopT<0c1h@9W~&sBD|TLjFnLryz1*MfFzgot60{*4 z(m*YsJKqFrKAHF(GV;AvXDR*a!0ZNc%gQ|9?m%%^1S&X(SC~8;fWzg{w_qccFO|Lk zP87P{(}_E(_r4nFmQGjUBv?pRu1+n2Ui@06@-wRTzvK!2>VB4b{|WX47bMrk1X(w(c-Oio?`yH^Pw3vDBJLH$gd_*< zY_#?P&Rq?!oUt&hdrIE9B-)h}(H&TrBJVFc-3xu^Eq?6P3w(MmL%m9hYvhQab>hUeI~iq@M%Bu+w9~mylFJe~a@Yh? zSaRr>1K!BLy4l+jO}cYOts4)j92a|1QGNZ14lCf=M9nt~$Mz$6_juY3gS@oNVx;`d zij~<7gOC3s1os8HcLIlCH2DqSS#7sJDDL>A9MSxjbkQ_)A6%u}0da1995UWL42AS;mdNEi@Dc2)is&NQD-fIRUa!6V7WOhK_-)3qRlFb3uO3#!9}I zPQBA72`EqtcrS*YtnM#~ai=F>0DniJYPN2m&D zZEf|JM<^L12wl^dTB>yU7FC?xw{v(l3NnbGwVTh`#rE%f@^fF0n>FMK=$objpSZkU z%hsB!%@I63;u~g8z~@&tl$5u7AKB9VT#zqDp{LJNtXxgSGA6NmHayxp3zSbA{DddW*!C_`q9^`1pB@hqOczB9aFG1_NK-CT>R;8j|p zoZQ=*?4SHj`q;~u=b1Rc8d6Wy?Qcs7ckKl9+PS!+{er4H4bRh3US()b!5AKlPU<{F z414SDfseq1p&=5{u9<6rE1u3e7fJH*b1}*3otcErM%Ew{D_qJ}m+UZoF0vxGNbl5> z3n{W+-Xqxcnhd&jZma#ABASP;j_;qN3X{RPtuwhGmG=(NQ~6F9bnN55yASF`oI#!PsQdi%Kxr-tH1ug!Z_z7r{`pJ-Sj_s?0Op}f1%g74^&RPh)4{vMLX@E4fY!|eX z{eoqH6d`+xG>09*00k@M+GUoQlm2oNK#C;Cr}NN@AH zfrYv-9mA3gy{_4143YItue7SuJmtxVcqPhvY42ItOb&UgaZ)ViR6&vR4D3B%!V%D+ z(r;pT*;2Y*my1let??tK_&onDCz1p^ZA-bjpj)Aq$bBlQoN{HpYI=8CnM9p@N@xsH zTkB5NEbSBArbNMG+%?Hhp1l*3YK^V@xT$-}ptCY?h64R+Y&RhH+(P;FsiS`9k3nFt zrth=3X~oN#xK`u9eWBaXOl(EXjxV1D15xMAS5wqk7?*y=UGMLdD|O;~)0GE8wG}5K zir3a&7m8Dh;ufA$BI^l9D-yujj8XU{MSpj|=a$e@tN*q-Zy%7_fd}ON(KhpEThG7x zK8D>}v85kAIpNi3Aa%=JaFwzMO*}T#xnQSd$4!8kl!q99PWzNc3!iP6vK=tY{;e&m z>ox6?dt+x10NUDw)l))~xn|Eh##7SfASS@ZF0Y(c7S!Npr%?L10XJEJs^?hkYZi>O zl4yI`U6IZ77sLAZaRrxRvw%{VyDU6)hAJXOPK)^Kka_ULz&+|s<}@1R(60V8R^+`V zV;Eb-jiexQ_zX#$4)C5;;?estDRyzQDvo-iZrdMDd}~*R9zYP;rz8@8O*HauHf2jwN5>H0TPjh z-q(P4gIKS9CYCk=6+>9M&kYrwqA{ao5pVA&yh-#4r$4{Hx#fWy4Bw+JTyJ=q%OKLE zkR0t?oabUG!Etr}d$;f6@NS9wz_(Y^{>Fw5zC0qF?^|4yEp0105~ukEJI%WnOcQy@ zQMOk4?|;smrx^f~K>@h@D3u>L&?O70BsS1QiPt7=dWsUghI-4EJ7!P6sU8Y~ajU$W zlj3sn`Tja7r&N(hfFUnd$4DkyhbD}vifiHab2k?K2Xmn_;-LsT=dc=f;za1wip&nv1X%M~a$-GH8RhQgnSg8nx>GN)Z%rPnh14E|x zI2T%lCxJF4uG-JhooDxT5#qFnLq=8QJJ%a7!0wtsp>a&LUd;{-Ad46yz@u|RQ$EJ} z18?^fB4hY3J|up(e)3-F=Xr{Lc6~}`lfV&o(X@k7ZTgFk3y#owNcYxdcJp@YX|mm< z@$ZF!v5UkxH9ypj=@*JiV0PN6q&l}9gSdU`OiJfxAmX*2xnm7&Q;E=uaxEXE6$1eO%Ktp;<|4<2M*((LsvS_lUxPhI%<1lT1MR4pw;9i@KJ)kk=YjKwBu0(n*ah$_ga z#Y`C$Ja6I~Xo{HvV1ZNOR1|4p9L5|Kz=_ETiQIij z58&%LR$^u>n10cPAtF5;B?*}MV9YH`x;J_Jmo*zL2%o|&nD7gPg8=A^x{Jyw$dS`n}U05&>!AEB{-rsg)eaeopCX9z8&YGO@szZZ}Su12K?bHG%$ zF~NGz15pOpnt%h}|0YFQJD61Gg`zbx#!;~n!4~VdR3rvCfTgCZ)rskOsU0E|+y&%_ zce--mINQmk!8^gYM;5^~)uGs)Gy*8NEpHy|8+=3ay2caI;D!KA}L=AUT$Ew!x@JF4uCS(iJsPL>7_bbho$YC z?Yn<>220OaHi3Vzx%?%|3}@$fvb7ofo3g;{U@PtVLF#N}1+c~<@WDaL(oxB8UAha8 zB9=Z1%{ym5MieOfmPb0?W5Af0Y@5SU6~^L1CE{NvxpY;SmVSk1kCGH4iJaj95d7_9 znLZ(u+gDDwm{B`at#o58SC3#~0SQ?o{06aq-v^kV#$R=w8slIFG|=UHg0P)Ws0=CL zQ1~$)bd&T<1NNM!tY&l2jRj9gc?C*D zdF`idbryR}OFUY{CFDe@zSPS(42LYtY1cIF*?vQ9*O)uce@A#8qRfZ-0gWyVt8$qB zCSiN)+rSvH8j%wLtUCcO95l7aRu`k!;DS{S@uso&g`?NknyH}!Rfx6l;-Wfz=lxD) z+VdI8ESkzS*}fRE3^^;{3vb4^UM`C%Gj!1g+~BANWcouL2A|GGrprX;;gT1dY~_&G z4#A+X6V*1_J(BI0Az^*zEW#)wHD}v%)k7I}YC`AVKEjgO2RH zbcr@w+En429QsAqYLq7YH7JV)(V%t_5jap7h>HsHC1CM7b>@hAxFC_|Ao?M;FDJI6 zrO|5InCG$f*1MVWR{lg7bK(^nX&@Zn=pPtuecq7O+`~KpQhnEQ%gG$) zvK|Fu9t?O4uc64XO4so^PaR0msX5AIfOMCDu|b|mzlFgVW45g57E4+#T$+s5B?s@@ z`=IJjOjL;}bN4zLTS4FBKB>e5r_oh^TH9#sNvLR9$o?2{dmame;pL2#PIh5N=wEUe zn7Q0~=hFI<8sR@IDzAJ}vk8I9s zic5~R&o8>CI*XI(evxmd6@+1L;i&6kCroZlD^rlmH^5JQE|iCTE{m{^XyP_HdUE$f zRiz2p-=FGv`+UTCUbE0V0@ZvZ=Q(*sOe@{`QM*QJAoeNvSi4Wyz{H@D3uwoY%3v zlv0$2_PgqjHJpV9tfoMvxx{)1B>ThYD4dR%-ARt6>V;Um^?(w$gaE1F7Y1O)jCr&7 zop|CycI2%Y6lEHJ7#eR;6;8N;@G23Evx5QQI;tmF)%%diGy?E8gLmkwokuwyErfm#!p_^oh-tH zM(?An4j83?dv3mWFlGNmhoyjgo8+Fjk$=(krjtv67vZls_+#chl6Ds#XMK*+p*zx- zKv-$cgA4k6c%G|yIo{UI^dM!8w&ej+A`f&T1C(67<$QEh+M*xaZ7;XM*j*HrUI`{0?#v5YCerxe!sEZ_#P?Dhp=;>X!Maj_c;YlL!g$+f z&GEe|y9UQ2ucK(7ha(wfsQMM?*8E$VR}~C5$ydccg}Twg4Jj_Z|8rlS=~kMby6}a- zAFcjSF>zjv*9z%&7m@cwTk>UEvLes1=xrYOi{J9U7NyGMcrAzR^qDps@PwlL81{N` zh$2|1$K}AAbrKQox*c81I>Rv)f%vx2VIRl@<~s5Lxsf=bjM4)%74>;a5AUfmia*Uv z-U8jlIr*{m)Vw7K*Rj(3oYM2>MHDZeclVZIzU;rse;QG7GxFXQZL3{)zrz>z{RjVxypHhgg4OU40gK-0 z#0j0l4j!Q}Ppom~X~q(Rrmd`H*AwiLHx(>AtlEaqz&s%gEbqWdd=mE3Ka^j6XN>G0r2rN- zA%yO8pSC(lt0+f&!kS~o3pS*k z*i%tRv%nIr@vLqmLnlBzJI#{McAil6Hp_RkQ7I1PsipN+9v8%X_cu30wM3@u&}}5R zrGWvvAYGOW&{jkPiV@+*e>^V!|LyB{UtSt=18j?nMB#da@|X?D%SOZH*Gm~uJ37wk zesdi4$kvSMC(Q=1Efo#|AtP5Zpwt!5dS+A+*Za+VIou5HkkHjjJvObmYrZr2>|THR zo-5h&0KB9DUiea5<_RvpRRf##UAc@7G?j%gkyYyJKb+H?ei&oEe4T8o z_X@3LEYyeAzHXLpa@^XUN8m%&D=9{`dB}tiGx>TgDA~T-9&_gNaD zRQqGRWOlqLECU#r6667=a`Qf@0mTfQqN_q^$5&aCB$kT5&k!(xD$PC#a+lg?8bn(u z#pmO$)o@lR49@!U$2EdPfRU-)#&2)yx%U5Jcixbkw}?6g;<5UqCFy7D#}~s#Lm*?($o&N=h0=yxjXEXAX;G;UIK3B5le_gKYNN~o zA!x3lwstQYQ+*WIXs0Wa(x~i~;2cpUor!;11%QZZr2&|>59Fm(|52_J`tSYNEE<`# zK2X!Pul$jd>ZUV5=|Li6(TXCDfebkn-PM_Vo%T3QpLZQ@rqY z70TchS38W_c{!)Ew2je@RGW{m4hu?S3ekVBnj!dIYLd~GcK+VZP)Yl{Ynk;(T-lB+ zMk4wF5%Kb(L&S}H{^+1sx--Cu-A)eEk5KGiIB?*2-BYm;x+OZ8C3}!-0^^xCANWOg zbL>hUsGcU@BUSzV0UYPyGqf;gNo)0h+zT>q^fxjym+M|g2d9<97y%@rF`zJ5l>ECF zVM^W^e<9Blm_Qkcjo&@eBm+p_So^#np}pAD^88O~PynH0a`S4RrA*n+Eg(RoY`Gg@ zwQS?`h3s`jsyRUHsPYEN zhdV&S;`f^XjHox-*1hKRqB+D78d$Zed#o`vu4eD2ZTPf=YuWq;Ud>ca-^8;qcLZ^2`gvsX3tQuqdZ;(pQTTso|7 zDEdECX-W0OvcJmV+yo?uH+;OcE(3cj|YpzbI% zPeGAB2%QRI6IT3S}I=Xt95Aotl>19ReA}zuSKo-R(&fRTzc$Ph(J_23+nB<^WAVX2Rrb7 zdGQ`+hl)?5xXBK+u`nkh|E9?W`ln~(FA5c$-%BKL@vq1gTb?X$9~PS*3Q*AKeYB+f zdw5qin zbG8-lN!?JxXy@#=1PF)xXf)`^+N}9FlQW4?!>p*dNGpnwtBEzfl7M{3l%MzB#q6Is zx)NjRiZ^imr#+TgO?JfTsB}Qic0lEtu?mp0&9e8=_X=X@?FU@8)h-vtt)!&1@YQWo zwWyO%kLa=i*qAOlnWNu55$6`=#0=MGCDUlexGn57y-q`Tma!Cr_zKtXR%ca-#ak=i zJq+KY9UUMT^^0neH)1+=gEF=x=W;c7d@cF)<>?)(R}xh1TGbT`Ro9tLHiv>@bnq$z zOCqrvS57-lbth$tD)KLn(9b{z)>Q!r5h2~f%P37d`>7APOW!sLgwa() z)Cm)BQ(qpS>@#L)Cem#SwBLNGWw|4;VS|;Gx0&coobv8^{c^D|)i~h8!iZ{p1f%xo zr77tiC&4DNR!?|OH`yti*%($K?p^ND4jr%Dor|}_g)if zfF$1KKKq=xd+xn+X3n$snYlCm#l!Q!3Vds=?|a|h`zuvhwsY@h#DLZZu#^r1$jpfx z(oSMxd!2%CTEmCgr0anFbg+E~U_br%q6&Fi99!V+uEPG+D&bb97wr#WDWVTU4Tw*L zgeiddlwY%xscz@)OgMQ5+ z{|5OjhkT1HJ*^drc1==VorP?5*?3Sk7j_zb&f^l3iuMOQcnHYpJG2lni|mV_JD;ir zvb}WCCrKi6;rtnu9lwXQ|3WpQV{G6&(j%4DJ3?P%{RtzlW8dm|H}Sb{57niUvRsgz4iPk%D1@He544IJp~_mat*j0@PF z0AJmPFfMU&A+AY0(iZQAv~iK-5pFT&$9x}G;Ky0w)+p@pL!$zt+&saZhr<0@^GXRR zDB^+%o(#YwrcYK`o?W?01hPmFZU+NbJMy#xUJs5O{vcJ|Y;2|L@5dZ)wkd1(mS{i> z%2-T1R}^e3({F5Z=O{Iyan(P<^Qtmy#5K%;=lIv`x*t{pRA?50X0Y#+xoUvk6yX!c zPz=p&z8vnur~^T`Ti9RK0r}Wt+I9K86E0I+ z@{D(H1Dl_vNvgE!*&UU2`fbHVCtQfbc^@EZVyCgM7;n=nqIoK=Np97}tsn5`x2R6h z>=TwUl|io}+rxEU`6GY~nhhfx-xqlnQ8o@S6P+Et5(*-hTJgvRY<`j*kZAV}z=waG zNm4@$OAj9>_}WLlc^5;|AOFn43!l9Jd*g49+|dKZS~WP(p|D>86ju+}wIvbr4SW2K zV5un;s?QFjpt7MAQT2eG9?{PAkz|3UMb54Xe-0|H^|>m%{5|Dn^}t&0cqfQxdq}o2 ztlVj)C;>;=kAedjXmn2tYg%qds_!3%3{*eIC|$H%bq(Cu{~RPtIkiuD2$V&C->UN; z+CWsK4}ggT@UjZV{>=@J$~Wz|{R#B_pXdQMQ$pTbv(~bvBzr^Be!wY9pc-7qC|MD7bGL<{C&r*FmWb;;DdbaQFKt1dGa;`I=^|E$xFY-E zz``UO=HTSjaOPT$&RnJ0O-Cdi9+HWlPd;~@Z9PD;UD2O^7u1=&;usZ884902YZejF>2*L50VGRUuK$siHA{Ko%x-kg2VObI)3xtZK&`N99Ol9$Hu;Or)?JUK zXNwwcl`3B*!r+W9nFRVqVKq~EkJjsM3r>oOkctxrkq2nMeT>T4T#fE8D#KcBQx<3v zqT-9IDN5s!he>)9@-{`*PX(SbQdBUF9%eMaxxlB`iFzniFAouYXA|-Dz?lddDz8z% zk1)D8{X98+C(v(?at;!H5Sb)>ZYp_*M`U4G)&EGZgXd~pb({J}A{^gTJ7^zMZ+-V- z9c6R+rhLU5q7=$eWMl|uka9AxvYqljE(DKC@+W&o(@ft*3zl*w$)(#E4r{$X-!_Mv zw~3w^RXRmaAJ@BUzc^Q|8bImH*f-ivgJ^UGfU||u(|%#IiGy%RK=KD);kXBLen zNZk3Zsl3=0W;tW~ zgbhF?g?aWT@O&sBK;e?!MPv8w=P1q%cXQ#s>F{#>F-qL zN*$CU0Z@L~W?|f2qJ5^ZQm!XO?0zECwXbYd`SW2S6qIAC5}>|N3`c96iC!)zf{Q zy)RKO=3WiBMobt4zz+ML6#AWd0%qytM`bgn*P1 zx_3wSxWBO;L_!u+c1!$#E!<=)I-f!n=eIPf(oZM8VB%y?^WDVnV=^P@XQCA@yY6_er@4MMjKhx#? za20OS)vd(cJRca;@G(U_SpMF#yFfWtT>Wdtn_BGvN$R~LVGSF)_w=C+kdM)f?V2?V zQpm_UzwkT(TS;M|s8H9b(I-cgCEaqqkWv2f@w0)uqc+BxH#i&aCrmTir3>Q~3Vbrv zT!cIlwZ+9Kqk%Q~`{An?2!ZAd21@H~b=-H2f?Je2Z5MZK zdYZEL1w{;eih;&j#qKxY@Q9Z7$CAF)xuWVDJmQfIq_A!7A~fr#N-WW@Qrtf6^j}{v*K(La@MQgJHqxNK3lFy20Z?IQF)StzH<&<}cnS$TRE5R>jEmjQ?gYn`k^CH?g7;OGZtOY& zkF5qz?MJi5-ggAlI0^_1;n;8uhj*6N=3`K}!Y!Im$>yp6$|?)@nqqf*cM(&j@Yl<7?v8C3AAgq_blwJSu+O}e+FUQ15q*hdQNR5O9ZFKX#1+*Zwvu|*h+f=kF!-WJA6-edZNuvT z`CYd?)DR499k{Ds$Gp;WFmPEdf%9{E#B3SNV4`9pU6Dwh0-e}Tl+!!osAq-{IZtkt zK6Kxd*)~gWW}aanT214ce(3dCkb^J~jo*i-&79*+GOEX_({F9_WjPXW)s0`k7Z-h} zdSD+_usoC1-{UeoUUa?U^r}%2XLUX<18*Clpn7=}nz;Q1r2S(3;kI%edI9OMZ*SOO zHI`?gzHjv&aH;azw;xIqpAkB4eu#-qD$e~*1$m6!j^DOa^nYyuDkj?Cn}pNZO61bt zA7@*_f761GGX&FgA6N7+wR9l>Co}QWt%r|+R#Jj(2Isq3(CkY2Ty!M;_%HH zWtRgVJ+6-5yl=y(1Y8*|wvARU{`C3d3)7*SukJvCf9S3Hnb#g{E;BLbDvNe*FtaNN zkWK*a&)T)$VXA)=xl21VZ7Ua2bfeW@DamF^^5f}`#5UAhqc${iiXI%y5TZ& zjTcGoDv-^Z!2Bh=6~6$Tp z#RgFYu)6x@8PQpCvzozF0baoeO0=VNHTF;xFBTGTfJL5B0sZt%iX#aD%u>83rZrKh zufl*!YrI=uj#wFaa||wK4mh&H&n!cY)*Hk@lPP<)TMz-#8Lx+*F;a#$@=Bd5#ALmu zp2U|c^Iq|~U@%pyJ3Uvp$&MyK7XJ$|wvexZ^Ox?Oj@~A$b)~|7n2Z&rXB%QcU+vvz zsKj?tv)EU#X%X}`by1+8x|?=plB7s(Id7Z zErht!_?blj3^1pSd7snW`mQ?!sLFx{!?zTDrWyNDn}-P*J8e6SON1tW3WD*SydpEyS`q zJT$i1VM=7`mxcv^JgU^Zy<&!X20RlI@H*kbdHFESuWt?rB$|msRQXI#wFPFYnUjGs z7<#CuVP5%yT88}sllONj!09G5TYa`(^+Y;Scb$w*lD!$vdw_KIkwTM>2 zLn5%HZz&yprob>`LBTg%9!MRRM>JI*ufE4A&b*XYJRZ56X(Dww>ny;2$ms*OP{1S3 zA3tK64|0tqC1Wogn4J!z{PFmM?e}!zkMQvZfeArA%!;NrQR$TIRa04kU)JEDaUB5Z(ghZNYnhw_9 z4wp$xmhF(~IPIE7Oe*?Hv=P2C7nZWdC4EUy4(gpVKR9RoKI<0{$pbfUQV$m0s z3H@yjCQlC)dQ)2z>n{{qDz-c_#q$J$2PF|li2kZ0mqOP(=x0*q7lvSqq|X}`tGSO^ zzvg-3KB0&sTcm0&QJU1=dfpwulWqIU;1SZ*kp(`{+X1L4(I6);u1a;4K5MHu#byTU z9WG9Kih|=}6yKEBd;iA+>u2f-uV-3OU1j5d|6l)8st2yeg#BdUCm-60`g%YVYc{qj z>R(U0u@0x>IQ09HQo8+wlQQ@RmrB{JE$$$lU-4zo+AjMco6rE)MUpF{fZ5vmH=D2E z|7zIxf3d&kteMG(dDFwHmscWp47KYwr5ctk=>lW}lgd;+zuF5U0o{SuCy0=tzq0$Z ztE3}X|M_Em{+sY~71L{zSXMip79geb+l_CvBPS0sZRi&?5zXVg-DbC@6{TI5s_b7P z$`x`+Viq0uVrAxTvFCA^=5TXSj$_cP(mx_3>3@xo%mD__KO!V&Bqzd@*!r%bWq)`& z($)j5cuk1mmei24q+S#6vw_>rk?+sK8O%bmCPmLU$hrW+h+8D>G$e5Yd|-G{w0;b( z>f!b~;9Y&i=m64?on6(evIpt1_%%ebYu5za*c<^^2u`zDeB7G0C^U4LT>?OUR4t z>s7K~hd)EC!{UnO!P_5k*{DF&kb}Y6uleKf)3g-st{?g1TD5HHF>Ykk)WswNi-3$l zS4C>iAC2-Z8@RLC#?y_h!=cpiPK~W%fRJE-x&>er)eYm8)csCn3(cl>lHILQ%k+BR>C*1KtOyNh_nYt`M*xBEkT) z`y&5FyGNZ*Yc38k1LzTNavU7s%mF)~5n^n;Z=HD^RifAmd1@7|nb5y8i3^9O+{WNx zIq6rrj*mQ=z}(o=F4O-Nudl0dVNo-ZLo=#c&`(<)x|8AgzWt9D+lHHME6G}p8AaQ| z&YhOMJ(R8)1v$=~u`fVp6+Vc5n`Iyop32cHKf}xG$&8pj?NVyzvs-J8IcK%Z6mu}p zcN5$;G^f_LIoA&+5t@iI!w>ip}T@_cp)rgU-OYs~P-JZIi zSK}L_?S>C0Qg7 zb}jK*{ZMed$(t7j;Pa#QidAi-B&0=JXLf+bA#fr;zN-L6H9tIm*VvZ4TE6N{{<6Ja zQ!;yiXo9~?e$zg@O@QN$Uiwbe{m`*(W%=}JOWFVsUg^!Wu$4-v5#dU?!dI(`Bbgy0 zZzmUuXt=Cnk1Gf83N>GhjL*`oihNW!o+}!=GD!Adh@CUG7N`qh&~*0>|KwC+bQsJ5@PpH~S<2=@5&+&z_SLMnv| zXP#{a#8@XrFc z@p`nA^VLGFLmGKgyzDOXatU#V>C>&t9jD_xx$*_R{Nl+KekeUz)~s4`@-03o%Jz)> zlyKole)=;WCDdo1jZUe(07z4KaRR$RtiKWhSG1pWfoLiu#2el=5`Vr>)N5%Bri8)) z1z_Ml5fEGbW5$>NlYj5U(W}14E27lD)Ufx9_YQq<2hBw6IUy}%fEc_!9V1+QZ_fW7 zg9lrgN?S`s+T(ZMcb6}+$GaS^LF)41PNZ9agM+C{{SAoU} zdLRUE`|wQ@p24KoneWXKmPyhy^-3mFqO)JB@5}vYxZ1`OFLP-< zm6`iqqO^-9r5Zb_&I`o8C-B21SFIT{j=j3Y1QPk&{^Sq)e%HV^t}3(k9`j5-Y8ji| z->F`qe@nqj1~+0hURnSaDn=;nXZ|q@w1IbcKv53%fQR!3b4-Cn_gbo}v65G3xeWJC zKB|GqrOj9dvH^zis$30TlW*Kl&sVlu8m2_$A0Z=s*+0NTW#EUilaz!ai$=Mk;ER-ziAB*Ua@Ma2A7p0*t4WrVu2{e_u2xp)slW7npnWay zkCI9-SCgUraP`J4gN1?Ul^1hs_DZUImU+wW{a+eupz?siF^#72020Q;Tb!=nBpaf6 z5x-i$M8xS>*rNkviZE6_8PbE!H^#~+#(&Mo6CznoYn}R5=@afW4)qfX-I(+-SOjp0 z&T5ZlDL@hCj;=o< z@@%L#MDJMc#czTQss}YC5R&G-@|nE6UPV(r-h04w+N;~&j?G+raT1-gQVd}2*gAiJ zC2@^qpfcgT;eazwh)x3cKFDoUPfA#>*WgoP-Hvo4|Cb$_BF-1y=!?BBE)-5jr>te3 zmh4gX5b8)zy39ULK%6pwPBUy<9-)}E{8i4m0IzC0MBw4G{s~N9XQS-~>|VaaBv!EJ@*-Y!M5wwfQx)3^Szb>diPh4rc6%|lc0xceKe;< zV~xn{`S6)y>{%>)+KCN^v!y_;K(Ycj`NrxW*}>s>Cy6ilS%UH3sjBzWoAQ`%Mn8R& z7!KZ`hyLs1?vMKZ-#j)4{#*@aAr%fTJZ(VuV`{>-=Op3pnxWx87t7XUfX`zm(tFif@2pb?3Bp+$~MfOy?2b(7! zzQAS?+o`;z~vu@E$TVE%sTdveRs;Nq(>`ntnYm&G^RCG#eEIduYOIEkGCrigf zqt#%=iDl-Yjnuoa4mZ|t5xmX|=Tdh~jg{GC!Jg+gesNXiW!_pCL}nn5DqU8cv7}9d z=*7YE-v>wEQM8G~Bi5ny{#)bKJy?mFQ^YqUQ39iSYN_xBay5>21}uFVnYjiDhP}qE zk+_pF1`HlpKRHM@vW3Ef-*&wa;hFGGsvT2>#^QgFEBcVgpKa;CkZylBZv6MO$2QAs zSK{&te_+3mahv_n?ojTn0yRNFy+|A|lgwi3e=|1>*m{XSvhG>8E`hx>U9harq;DU9 z3@Y(JT_}pY(s02i4e-fo%B|lP?NGx9POlN4xT%Yx{OiYHDlx_+Z970^ zUyUjj7abSFtB{W1RTj+0e}#9;P1S$EyOcYf*%vR6BusG0ULl#F1h@-F-GN+4bFU)! zMPJPYyWarc2R^9TQA!DC=haMn%Y6$!$R^8gkzC!&1#=16@2E}2>ptHe(+^PrO2ctX z5QPB?f_kKJZmnsfZyR)icD`vsg!*;?2**o9?gw*SGBY~sMpR9eY0!SSG;APl>;V;Ndj2@q|DVdu*2W`DT%*AJPN@4B@2B|{pF*RD`H2uS@X=0tZvB5U1`#kL83x^*dWc|pi z42Jnh_to2=*v-q5EX|=wZ734;oq^@y-D4HS2|$1V;GeN?U>PQPQS0o|nvMIlkMq*a z{Nq?HopDUfLLG%4AFu|Wsu-Rh$>+N81YVqWaTzE>d+k6Bo@2KQ3iFOdb>53REQRRp z!9uqRGL!Yv@Wij~WfQiGZALk5dtM31Ns6uFl!o6%-9ZG@uz|+rvZty<)Wa3r_Cy=Oyz(X2EN|LnF32?9qLtDpoPTbDRHGbD9Lrb zx2$Y&_)hiA9Z=!pObLP`o%s4T1aU7>nnckeCu4f+%OJxRLfu-HS9r7zcP;=p2jMf^ zhjr;Ym3$Du3>SKwkP3g(a3Bac3Sbl`{|dQ591^(;Mn%mHC{&lHF(s$ZMU=LuywaA%W8} z!Ugr?CnU!vUgu~B^XKS=t9t&L3=pK-_V>8+0?8~sw1jtjSm6h*QN1&MVV)uE*wXxorpa2rS$7Bs#e!c}q<~9Y_UAuIQ)Ecf3m0--H8~!Rp0rZ zbUjf2#-(%4s)Ezx(3wd89S)(CFsch8RQp~2pSC%^ zGH<2oCt@_|bi(%%^8rT`szU_5#Mem)8O_XMn{{k@=SIh0?iD7_mi)nEEt#ZsGC0j4FJ2msn}q8>HV#%0KKV%S36`_P zw=4sg(;C)qoLn-HGpms+QeV?**ocs~zY~zd8Z><(wm&u7<%}W$KK4-ER7&KH+YSwf;qe{lTO9x4>51y;QVb^O)vI zPcaRGyz;r!W8M!bo4MROg^tq-J)JWheyX3V*4(25nLk2qn3c<+>4TtQyqy9jYkbxT zW9ab(XPX;V9=t($6Q3hxlQr^7SJ98t64KL#mf&YG5>w{>UlOs5q%$_;wA1RdmL{SC zwCVYS?$;-&ZqQK2SVC|B@IZ&{Q92EsANL5GIn?s_-nw^U)6dr}U;{}!l}y$` z$HN~ZsA`Z8A<!d*n-dy z3>Bh9#damfW;9F}aNCw#z`S`?tNrHB!|4C&$@-5Uz~HT<-7NC^b!8w`Nt9~z^-P4= zvUHJjdk0DTPW@XB_Gr}HA{{LA1yr3mb$Wo27Bk|n>;unO?u?(|yjo}dS~{{3!k>jf z+8oq`?SdjLOVBTBKpoeDr|ts6gg)#1gaDJ;dRe-a*j0LcGdSi%Bg~&Tvip=+G_#N> zY-OH!QT63_D&-P#0~cpRiR=S;XP!e`q%P3mdNGsJ>S`|77~g04oQ=}kpDo;&>w$@X zkW_#JC)Buw3MwgXc0-LK$S8Aj)Y>INY16<(uqCq=`}xJ9rVM`9oFFO>&;#%?;)Nv( zjAtl7hM>~85q7Xz8S=*FLUC__&E0NiQ4l*R?89|l!)RG6l2m89t?~F#L`j06@U={) zEcr4%>)5#xO5nHD(92)lcBHuRGZj~bPSzp97pDcKrB$xX=DSE%KR#Rx55YY zNsRuqm|dIbFA7=-Uzfh3%VCU^;nK<%U3OTeHQjG2b!To4g80+lByz{rWW~>rUxBxt zug^P<49fJUcU~YG~hrgTx zOCQ^{`CziWwETh8x#-t=(5YJ-s@=Pwp5hox&tCM=+Uwyf{m@_7N-U$XpF7viW>fHC_DqJHMSUbFmQD^&nVnj(kc{lH`KjSru8Ft z4tEy(B4Odkw7Za6mj0GrQoRU8>$ABIxo8Rqv1B#-PIY?C-oJ#Kpi-8+j=W<6yw_9o z*gyRI{5$97pDz}ro}rJ%9?K5#N3apqj^b-9Hiu~V{l7kipQKzG-0GFta-k*}cPofa z?vpNkfI4|WMIPH*Te;2A(6AaDIVsaz0E;yI_MM6WZd*;=sH>hwbi>{4OI^1)O+g6k z>9od;7Q)`l*U(E(RrW2nF((bFjxVqWm6PMxo?PSG%R+$`Q+ z!~wR-NLq|P9ze4Rg=wfo3Qee5Rl;lD)=?L+SML{`zaYP1wx*rtV`fCz;B|l_J$+;L zatL|KA0Z8~^Okq7w;SnH)Nns&u6KEvPE|$ey5@6jel#s9@kyh~lhDX@v%^VTT8Bq& zUW8DfXFL5WQ9+`~*RZ<9R`Q z#gpoN^>Lh`uY7?wJV=pKQQC+oOSq^>8D(e@j%$?gy=TmJMMj2)dT@t%lw?dapXN|$ z*o30$&I1RpL0Ktuyzj!b&qrR>x*t(kK+Rb~#wQ$18hb4qq!}$nYot}d#nEoPLPJtZ z6l%l_Ptiqs>Y8^PMG7w-y%JE|{7!WliINIoWKhdUzc|$LrK)MT1yThB#E5;F=5I}x zAGvWq($}WrJx|$&mu*?@A{#jpdAf#9Iz&n%w-6fpkmprMoARldjU$W4l~BVK@Sq8r zjR2p3rbR5C(9x9ocPoTqU_#K4vEsAI#(0!|5f5sEl zc7)vhY+X4J;^O3D`-^vJ(TA%I?{olPTAf-dIx6PfK~7e$<+{Qv3LnGO#Kx9L<7fj! z>t`4wnlAXB((!;DhieNuV4m^BaKFV^RTBBMKUA0tutJjxXT5*&!K>7D%I9-buV8w64mtsj8?E=znNOtTFeP&LBFSJWm0YMqib9)uWkV=+cq^KSiWq z%P|~NIS<4gyiE3%57+h~!GXgErSRj>{zk@jiOP6A@)*cXREhvGU0VD>WjiR^XTVNb z(m7a&63(YhrCo+x+t7V;Dbl+w)jGY_i|->k3u2FDu&?CrqRu4Tg0YK9gE0 zG)`f+KF)Jk!I1|UTDXsg*QcFsK%U{G3otjm| z->|JRG1E7HnMJNJQy_hL(=gfiV!rAnp$4)lIy6dPW-HnkJ@#9_(QLbVFrA0T}5vj z=RH~StTAMaM;vi;EEwis_#Q~`wjMu0Oq$v_cYDNOcwH)K`~uvEi=-bFU>T+$O^XvO z2yq-&Pgc@3L1S%aJ1g)DFBjtHx7`E|3v$}NiK^^5W4aHq%2cz~I+hDVl!!kZ=Ke1t zApDTBMt!sIJJl>N%G4b2OtsV1BA;Lz$jH{#HHfY7TyCYqdp|yt6pRte{un5K_jAd^ zaWJ$CkO}31J*ke<98C<@MzQ8A8|9Utq*=Ep;*(KL z5Y|yO_eXu}Z$Wo?#OS*nTk?mob_JJ;Eu$=iN**HQcGlsiQ#Alx1uh(SAX_i~;?t-E z3cq=0JQZMpOF*+3qiw^Zv?7KzDVTQt+_eH{7iaF`&o39!AD@b8%1V2UKbkWew+Qaq z5e-5z7YB-!L}}IeC6pu!*v72A-)Hg?5lf)%e~MONc&(kuUss@fepe$4uD#}sJfYMNh zNAmo$La3v5AYa2Z#-*~N&92cq-7+-q>Zx4)IYTN0=9&2PyMu4fm#OBX^(%(-L>g|! zqUGGR{ja4VGY7xsUh-hd;o~WpC?KRg=eqmzTL0%-Qg6}k zPUGe6#|3*ZzK(QU{TYW+_0O7zxj-UXxdNeH?A`XNe_i;{RixtjIms`1) zJWnCdaR`q?Y)Ga1A`3uaAC2KwpmQK}A=XzMVLgZH3k2V>UB!(_!v@h~B++gKz3G%D zL&D3lvx{Hxn6Tg=mq)eC>}$(6YPsL#!q{P5*b6MvbcuUxI|Cn+gGaU7Y~@`-^b_h5 z?jPo8Livv?r5d(Ro^u5Q0CC7TQ@7GDPy^8@%X1ITIVP#WKT4ve@3_mPU-x^!{#>P1 z_OMYoke=Db*XzUp+9av8z;Z0oM5D}+zgf#0JnfQQP>o2P5*iV2PzyfA92i9lsTNQ! zj;$WeLRa(Q8@+l2oPC?u)TavQ>i~ylDO1IxlFv`ahtEwTf}@S^m>n76n{PhUp99g8 zg!!T{ju}KX={iYOmzk02h4zC~dwOGiXCx9KEdUPsbWrb=g68K36RchsgwOsYI+@9ZG~{vAXx< z>)Q{DCrxE8`m?MZBa}5zm3uvUoA#?;#Bx+RXvf;XGPsz*bd+GXn&Sl4|RQ~SwU zM#vdJce9kcLbENf4`oDM#}Jr7NL= zvck~@Xdzb)tNxAW|kL8LNj|(Lxs8N*Wj-ndMF6tpDBu9R@#%IZ3$FU`(viG@iW? zR%k^YYcPkc2BmuJX&MgKoF$a4N=-YSPh6?>YcNTb8 zb_HGoEuVquITJ}12t8Er$%I-HTboUKTq1=%at6g!IVx2zseHq^Ror)O^5abKpB6z* zi3WohKR7Ef5udJjSGtx}MbE0TSMeF}px&Il|KtHDO#o*+*=pB`IFxZtL_yfgZNuSM zCna3?z9e?&a7L+sD|(_%?gh_Yd2m7Vf=IVzaaTKDS3BQSEOIhqh8N1;N;WV3)T=>X zpFam(tmw{6Y-M!UjhM@sJMC#WCS5R&>PeTwg8+YcyTcLqOU~nj$7vZ3xR^VYX(5@S z@k^Ka&FewZR8}&AwX_T!9v}uOEDh-@QCsOaNwL4T!DOJsmABt{?J8lH+#|lglW@A2 zv1xU(R8aH;<%fW1=jAP8_A>5z8O}SBaDY(XbCpfon$CFyR z4C-UB6Loz!b(_n1tsFOdq4T_r>=XO$XmO)3UHiIJ-A|5F^SJ|Ji;0!s@#fVbz7w_= zQuA<$r(_%w;`9Yus){KhCO&&MA_YSZYmP`6SO@Y`|2L$E)6B-p#CKOBKa`pTq<$*X zPjnlMen$@(Z&o9p$_OWc!ik?*QXi#*&y!+JmAx(dhsek36fOm|xJH}|icTrri(3a6 z`C&l$xF5Itk3;eU+tjFJZqW)w;&3}g#{P{op{;l{sPt>13YW_nz zte^00GV?k>Yggfg+Cwms(5xqGZJF4 zqxe6|Oz(f1dEh_r|1uxz4O^S@7}C%(@>}Z)$9<)lPuiy|KGN9z7t!mHAI4Q@1Rk1PGfC@6YDIa%#}px_s5TZq@OvFfgR0M5IIxB# z*d96p1F7^0;tD*N%0b5%K4RiR0#qQ)rX+sKa4&qJj3PHNb)7BVz;bsW1+a0!5(WT~ z0i?8eVjuAIj4mT;AJ1Y=B9~+XX*w<>FKiuRtw5UM51%QZFdfNN1}xB>?6F%T->EoU z@R>h9?B_E6d_aD_XFqq4pL^raBj)Gf`LiteSzZ0C8-JGHKO2ibw`Gd=DvWwFbkhmRmN_5Cu@>v-fm})nsshDAU3z}7aw*UYD From a6020a54187ff8f473b1bccae3229846b7716258 Mon Sep 17 00:00:00 2001 From: Taras Nikulin Date: Mon, 17 Apr 2017 12:13:19 +0300 Subject: [PATCH 036/713] Credits to the bottom --- Dijkstra Algorithm/README.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Dijkstra Algorithm/README.md b/Dijkstra Algorithm/README.md index 10166a63f..bf158def9 100644 --- a/Dijkstra Algorithm/README.md +++ b/Dijkstra Algorithm/README.md @@ -1,6 +1,4 @@ # Dijkstra-algorithm -WWDC 2017 Scholarship Project -Created by [Taras Nikulin](https://github.com/crabman448) ## About Dijkstra's algorithm is used for finding shortest paths from start vertex in graph(with weighted vertices) to all other vertices. @@ -17,3 +15,7 @@ Click the link: [YouTube](https://youtu.be/PPESI7et0cQ) ## Screenshots + +## Credits +WWDC 2017 Scholarship Project +Created by [Taras Nikulin](https://github.com/crabman448) From a76764eaa0907a8ec455f911af14a0ad27087a95 Mon Sep 17 00:00:00 2001 From: Taras Nikulin Date: Mon, 17 Apr 2017 12:16:05 +0300 Subject: [PATCH 037/713] Moved Vertex and Dijkstra classes to sources --- .../Dijkstra.playground/Contents.swift | 69 ------------------- .../Sources/Dijkstra.swift | 40 +++++++++++ .../Dijkstra.playground/Sources/Vertex.swift | 29 ++++++++ 3 files changed, 69 insertions(+), 69 deletions(-) create mode 100644 Dijkstra Algorithm/Dijkstra.playground/Sources/Dijkstra.swift create mode 100644 Dijkstra Algorithm/Dijkstra.playground/Sources/Vertex.swift diff --git a/Dijkstra Algorithm/Dijkstra.playground/Contents.swift b/Dijkstra Algorithm/Dijkstra.playground/Contents.swift index 13087a8f9..cd08e26fb 100644 --- a/Dijkstra Algorithm/Dijkstra.playground/Contents.swift +++ b/Dijkstra Algorithm/Dijkstra.playground/Contents.swift @@ -1,74 +1,5 @@ //: Playground - noun: a place where people can play - import Foundation -import UIKit - -open class Vertex: Hashable, Equatable { - - open var identifier: String! - open var neighbors: [(Vertex, Double)] = [] - open var pathLengthFromStart: Double = Double.infinity - open var pathVerticesFromStart: [Vertex] = [] - - public init(identifier: String) { - self.identifier = identifier - } - - open var hashValue: Int { - return self.identifier.hashValue - } - - public static func ==(lhs: Vertex, rhs: Vertex) -> Bool { - if lhs.hashValue == rhs.hashValue { - return true - } - return false - } - - open func clearCache() { - self.pathLengthFromStart = Double.infinity - self.pathVerticesFromStart = [] - } -} - -public class Dijkstra { - private var totalVertices: Set - - public init(vertices: Set) { - self.totalVertices = vertices - } - - private func clearCache() { - self.totalVertices.forEach { $0.clearCache() } - } - - public func findShortestPaths(from startVertex: Vertex) { - self.clearCache() - startVertex.pathLengthFromStart = 0 - startVertex.pathVerticesFromStart.append(startVertex) - var currentVertex: Vertex! = startVertex - while currentVertex != nil { - totalVertices.remove(currentVertex) - let filteredNeighbors = currentVertex.neighbors.filter { totalVertices.contains($0.0) } - for neighbor in filteredNeighbors { - let neighborVertex = neighbor.0 - let weight = neighbor.1 - - let theoreticNewWeight = currentVertex.pathLengthFromStart + weight - if theoreticNewWeight < neighborVertex.pathLengthFromStart { - neighborVertex.pathLengthFromStart = theoreticNewWeight - neighborVertex.pathVerticesFromStart = currentVertex.pathVerticesFromStart - neighborVertex.pathVerticesFromStart.append(neighborVertex) - } - } - if totalVertices.isEmpty { - currentVertex = nil - break - } - currentVertex = totalVertices.min { $0.pathLengthFromStart < $1.pathLengthFromStart } - } - } -} var _vertices: Set = Set() diff --git a/Dijkstra Algorithm/Dijkstra.playground/Sources/Dijkstra.swift b/Dijkstra Algorithm/Dijkstra.playground/Sources/Dijkstra.swift new file mode 100644 index 000000000..0ae83589e --- /dev/null +++ b/Dijkstra Algorithm/Dijkstra.playground/Sources/Dijkstra.swift @@ -0,0 +1,40 @@ +import Foundation + +public class Dijkstra { + private var totalVertices: Set + + public init(vertices: Set) { + self.totalVertices = vertices + } + + private func clearCache() { + self.totalVertices.forEach { $0.clearCache() } + } + + public func findShortestPaths(from startVertex: Vertex) { + self.clearCache() + startVertex.pathLengthFromStart = 0 + startVertex.pathVerticesFromStart.append(startVertex) + var currentVertex: Vertex! = startVertex + while currentVertex != nil { + totalVertices.remove(currentVertex) + let filteredNeighbors = currentVertex.neighbors.filter { totalVertices.contains($0.0) } + for neighbor in filteredNeighbors { + let neighborVertex = neighbor.0 + let weight = neighbor.1 + + let theoreticNewWeight = currentVertex.pathLengthFromStart + weight + if theoreticNewWeight < neighborVertex.pathLengthFromStart { + neighborVertex.pathLengthFromStart = theoreticNewWeight + neighborVertex.pathVerticesFromStart = currentVertex.pathVerticesFromStart + neighborVertex.pathVerticesFromStart.append(neighborVertex) + } + } + if totalVertices.isEmpty { + currentVertex = nil + break + } + currentVertex = totalVertices.min { $0.pathLengthFromStart < $1.pathLengthFromStart } + } + } +} diff --git a/Dijkstra Algorithm/Dijkstra.playground/Sources/Vertex.swift b/Dijkstra Algorithm/Dijkstra.playground/Sources/Vertex.swift new file mode 100644 index 000000000..035db2713 --- /dev/null +++ b/Dijkstra Algorithm/Dijkstra.playground/Sources/Vertex.swift @@ -0,0 +1,29 @@ +import Foundation + +open class Vertex: Hashable, Equatable { + + open var identifier: String! + open var neighbors: [(Vertex, Double)] = [] + open var pathLengthFromStart: Double = Double.infinity + open var pathVerticesFromStart: [Vertex] = [] + + public init(identifier: String) { + self.identifier = identifier + } + + open var hashValue: Int { + return self.identifier.hashValue + } + + public static func ==(lhs: Vertex, rhs: Vertex) -> Bool { + if lhs.hashValue == rhs.hashValue { + return true + } + return false + } + + open func clearCache() { + self.pathLengthFromStart = Double.infinity + self.pathVerticesFromStart = [] + } +} From 3bdb63de34cba4abcc581980c83da650bc8d3ba4 Mon Sep 17 00:00:00 2001 From: Taras Nikulin Date: Mon, 17 Apr 2017 12:17:45 +0300 Subject: [PATCH 038/713] Hashable, Equatable to Extensions --- .../Dijkstra.playground/Sources/Vertex.swift | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/Dijkstra Algorithm/Dijkstra.playground/Sources/Vertex.swift b/Dijkstra Algorithm/Dijkstra.playground/Sources/Vertex.swift index 035db2713..67ba3791e 100644 --- a/Dijkstra Algorithm/Dijkstra.playground/Sources/Vertex.swift +++ b/Dijkstra Algorithm/Dijkstra.playground/Sources/Vertex.swift @@ -1,6 +1,6 @@ import Foundation -open class Vertex: Hashable, Equatable { +open class Vertex { open var identifier: String! open var neighbors: [(Vertex, Double)] = [] @@ -11,19 +11,23 @@ open class Vertex: Hashable, Equatable { self.identifier = identifier } + open func clearCache() { + self.pathLengthFromStart = Double.infinity + self.pathVerticesFromStart = [] + } +} + +extension Vertex: Hashable { open var hashValue: Int { return self.identifier.hashValue } +} +extension Vertex: Equatable { public static func ==(lhs: Vertex, rhs: Vertex) -> Bool { if lhs.hashValue == rhs.hashValue { return true } return false } - - open func clearCache() { - self.pathLengthFromStart = Double.infinity - self.pathVerticesFromStart = [] - } } From b2c5674b0c7d818cf061309e1cb7988e808d294b Mon Sep 17 00:00:00 2001 From: Taras Nikulin Date: Mon, 17 Apr 2017 12:18:44 +0300 Subject: [PATCH 039/713] Removed simplicity unwrapped for initialized variable --- Dijkstra Algorithm/Dijkstra.playground/Sources/Vertex.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dijkstra Algorithm/Dijkstra.playground/Sources/Vertex.swift b/Dijkstra Algorithm/Dijkstra.playground/Sources/Vertex.swift index 67ba3791e..22c04a0e1 100644 --- a/Dijkstra Algorithm/Dijkstra.playground/Sources/Vertex.swift +++ b/Dijkstra Algorithm/Dijkstra.playground/Sources/Vertex.swift @@ -2,7 +2,7 @@ import Foundation open class Vertex { - open var identifier: String! + open var identifier: String open var neighbors: [(Vertex, Double)] = [] open var pathLengthFromStart: Double = Double.infinity open var pathVerticesFromStart: [Vertex] = [] From f0d057b89058c10cfe749990d5bdc3c669696610 Mon Sep 17 00:00:00 2001 From: Taras Nikulin Date: Mon, 17 Apr 2017 12:19:34 +0300 Subject: [PATCH 040/713] Removed unnecessary explicit typing --- Dijkstra Algorithm/Dijkstra.playground/Sources/Vertex.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dijkstra Algorithm/Dijkstra.playground/Sources/Vertex.swift b/Dijkstra Algorithm/Dijkstra.playground/Sources/Vertex.swift index 22c04a0e1..dcdc64691 100644 --- a/Dijkstra Algorithm/Dijkstra.playground/Sources/Vertex.swift +++ b/Dijkstra Algorithm/Dijkstra.playground/Sources/Vertex.swift @@ -4,7 +4,7 @@ open class Vertex { open var identifier: String open var neighbors: [(Vertex, Double)] = [] - open var pathLengthFromStart: Double = Double.infinity + open var pathLengthFromStart = Double.infinity open var pathVerticesFromStart: [Vertex] = [] public init(identifier: String) { From d0c68887780424e343f6663391eb5d70998fe166 Mon Sep 17 00:00:00 2001 From: Taras Nikulin Date: Mon, 17 Apr 2017 12:20:05 +0300 Subject: [PATCH 041/713] Refactor Equatable extension --- Dijkstra Algorithm/Dijkstra.playground/Sources/Vertex.swift | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/Dijkstra Algorithm/Dijkstra.playground/Sources/Vertex.swift b/Dijkstra Algorithm/Dijkstra.playground/Sources/Vertex.swift index dcdc64691..89e66c68d 100644 --- a/Dijkstra Algorithm/Dijkstra.playground/Sources/Vertex.swift +++ b/Dijkstra Algorithm/Dijkstra.playground/Sources/Vertex.swift @@ -25,9 +25,6 @@ extension Vertex: Hashable { extension Vertex: Equatable { public static func ==(lhs: Vertex, rhs: Vertex) -> Bool { - if lhs.hashValue == rhs.hashValue { - return true - } - return false + return lhs.hashValue == rhs.hashValue } } From 222e96d2f221c2f0549b5292be8b60adee93e1de Mon Sep 17 00:00:00 2001 From: Taras Nikulin Date: Mon, 17 Apr 2017 12:23:14 +0300 Subject: [PATCH 042/713] Made vertex optional --- .../Dijkstra.playground/Sources/Dijkstra.swift | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Dijkstra Algorithm/Dijkstra.playground/Sources/Dijkstra.swift b/Dijkstra Algorithm/Dijkstra.playground/Sources/Dijkstra.swift index 0ae83589e..f0a9386b4 100644 --- a/Dijkstra Algorithm/Dijkstra.playground/Sources/Dijkstra.swift +++ b/Dijkstra Algorithm/Dijkstra.playground/Sources/Dijkstra.swift @@ -15,18 +15,18 @@ public class Dijkstra { self.clearCache() startVertex.pathLengthFromStart = 0 startVertex.pathVerticesFromStart.append(startVertex) - var currentVertex: Vertex! = startVertex - while currentVertex != nil { - totalVertices.remove(currentVertex) - let filteredNeighbors = currentVertex.neighbors.filter { totalVertices.contains($0.0) } + var currentVertex: Vertex? = startVertex + while let vertex = currentVertex { + totalVertices.remove(vertex) + let filteredNeighbors = vertex.neighbors.filter { totalVertices.contains($0.0) } for neighbor in filteredNeighbors { let neighborVertex = neighbor.0 let weight = neighbor.1 - let theoreticNewWeight = currentVertex.pathLengthFromStart + weight + let theoreticNewWeight = vertex.pathLengthFromStart + weight if theoreticNewWeight < neighborVertex.pathLengthFromStart { neighborVertex.pathLengthFromStart = theoreticNewWeight - neighborVertex.pathVerticesFromStart = currentVertex.pathVerticesFromStart + neighborVertex.pathVerticesFromStart = vertex.pathVerticesFromStart neighborVertex.pathVerticesFromStart.append(neighborVertex) } } From e2561032e31912df5dab472f7d63a3900d05ac70 Mon Sep 17 00:00:00 2001 From: Taras Nikulin Date: Mon, 17 Apr 2017 12:26:57 +0300 Subject: [PATCH 043/713] Removed unnecessary self --- .../Dijkstra.playground/Sources/Dijkstra.swift | 6 +++--- Dijkstra Algorithm/Dijkstra.playground/Sources/Vertex.swift | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Dijkstra Algorithm/Dijkstra.playground/Sources/Dijkstra.swift b/Dijkstra Algorithm/Dijkstra.playground/Sources/Dijkstra.swift index f0a9386b4..f4cd8503a 100644 --- a/Dijkstra Algorithm/Dijkstra.playground/Sources/Dijkstra.swift +++ b/Dijkstra Algorithm/Dijkstra.playground/Sources/Dijkstra.swift @@ -4,15 +4,15 @@ public class Dijkstra { private var totalVertices: Set public init(vertices: Set) { - self.totalVertices = vertices + totalVertices = vertices } private func clearCache() { - self.totalVertices.forEach { $0.clearCache() } + totalVertices.forEach { $0.clearCache() } } public func findShortestPaths(from startVertex: Vertex) { - self.clearCache() + clearCache() startVertex.pathLengthFromStart = 0 startVertex.pathVerticesFromStart.append(startVertex) var currentVertex: Vertex? = startVertex diff --git a/Dijkstra Algorithm/Dijkstra.playground/Sources/Vertex.swift b/Dijkstra Algorithm/Dijkstra.playground/Sources/Vertex.swift index 89e66c68d..a3587e04e 100644 --- a/Dijkstra Algorithm/Dijkstra.playground/Sources/Vertex.swift +++ b/Dijkstra Algorithm/Dijkstra.playground/Sources/Vertex.swift @@ -12,14 +12,14 @@ open class Vertex { } open func clearCache() { - self.pathLengthFromStart = Double.infinity - self.pathVerticesFromStart = [] + pathLengthFromStart = Double.infinity + pathVerticesFromStart = [] } } extension Vertex: Hashable { open var hashValue: Int { - return self.identifier.hashValue + return identifier.hashValue } } From 5060d788da63363809c93996aa9851751131e2d2 Mon Sep 17 00:00:00 2001 From: Taras Nikulin Date: Mon, 17 Apr 2017 12:53:05 +0300 Subject: [PATCH 044/713] Removed self, unnecessary imports --- .../Sources/CustomUI/EdgeRepresentation.swift | 24 +- .../Sources/CustomUI/ErrorView.swift | 23 +- .../Sources/CustomUI/MyShapeLayer.swift | 1 - .../Sources/CustomUI/RoundedButton.swift | 8 +- .../Sources/CustomUI/VertexView.swift | 48 ++-- .../Sources/Graph.swift | 84 +++--- .../Sources/GraphView.swift | 62 ++-- .../Sources/SimpleObjects/Vertex.swift | 59 ++-- .../Sources/Window.swift | 272 +++++++++--------- 9 files changed, 291 insertions(+), 290 deletions(-) diff --git a/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/CustomUI/EdgeRepresentation.swift b/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/CustomUI/EdgeRepresentation.swift index 5ff656dab..d827d3924 100644 --- a/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/CustomUI/EdgeRepresentation.swift +++ b/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/CustomUI/EdgeRepresentation.swift @@ -1,6 +1,6 @@ import UIKit -public class EdgeRepresentation: Equatable { +public class EdgeRepresentation { private var graphColors: GraphColors = GraphColors.sharedInstance public private(set)var label: UILabel! @@ -67,7 +67,7 @@ public class EdgeRepresentation: Equatable { let label = UILabel(frame: CGRect(origin: circleOrigin, size: CGSize(width: arcDiameter, height: arcDiameter))) label.textAlignment = .center - label.backgroundColor = self.graphColors.defaultEdgeColor + label.backgroundColor = graphColors.defaultEdgeColor label.clipsToBounds = true label.adjustsFontSizeToFitWidth = true label.layer.cornerRadius = arcDiameter / 2 @@ -75,35 +75,35 @@ public class EdgeRepresentation: Equatable { let shapeLayer = MyShapeLayer() shapeLayer.path = path.cgPath - shapeLayer.strokeColor = self.graphColors.defaultEdgeColor.cgColor + shapeLayer.strokeColor = graphColors.defaultEdgeColor.cgColor shapeLayer.fillColor = UIColor.clear.cgColor shapeLayer.lineWidth = 2.0 shapeLayer.startPoint = startPoint shapeLayer.endPoint = endPoint shapeLayer.actions = ["position" : NSNull(), "bounds" : NSNull(), "path" : NSNull()] + self.layer = shapeLayer self.label = label self.label.text = "\(weight)" } public func setCheckingColor() { - self.layer.strokeColor = self.graphColors.checkingColor.cgColor - self.label.backgroundColor = self.graphColors.checkingColor + layer.strokeColor = graphColors.checkingColor.cgColor + label.backgroundColor = graphColors.checkingColor } public func setDefaultColor() { - self.layer.strokeColor = self.graphColors.defaultEdgeColor.cgColor - self.label.backgroundColor = self.graphColors.defaultEdgeColor + layer.strokeColor = graphColors.defaultEdgeColor.cgColor + label.backgroundColor = graphColors.defaultEdgeColor } public func setText(text: String) { - self.label.text = text + label.text = text } +} +extension EdgeRepresentation: Equatable { public static func ==(lhs: EdgeRepresentation, rhs: EdgeRepresentation) -> Bool { - if lhs.label.hashValue == rhs.label.hashValue && lhs.layer.hashValue == rhs.layer.hashValue { - return true - } - return false + return lhs.label.hashValue == rhs.label.hashValue && lhs.layer.hashValue == rhs.layer.hashValue } } diff --git a/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/CustomUI/ErrorView.swift b/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/CustomUI/ErrorView.swift index 69874e5d7..a63655dd9 100644 --- a/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/CustomUI/ErrorView.swift +++ b/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/CustomUI/ErrorView.swift @@ -2,9 +2,10 @@ import UIKit public class ErrorView: UIView { private var label: UILabel! + public override init(frame: CGRect) { super.init(frame: frame) - self.commonInit() + commonInit() } public required init?(coder aDecoder: NSCoder) { @@ -12,19 +13,19 @@ public class ErrorView: UIView { } private func commonInit() { - self.backgroundColor = UIColor(red: 242/255, green: 156/255, blue: 84/255, alpha: 1) - self.layer.cornerRadius = 10 + backgroundColor = UIColor(red: 242/255, green: 156/255, blue: 84/255, alpha: 1) + layer.cornerRadius = 10 - let labelFrame = CGRect(x: 10, y: 10, width: self.frame.width - 20, height: self.frame.height - 20) - self.label = UILabel(frame: labelFrame) - self.label.numberOfLines = 0 - self.label.adjustsFontSizeToFitWidth = true - self.label.textAlignment = .center - self.label.textColor = UIColor.white - self.addSubview(self.label) + let labelFrame = CGRect(x: 10, y: 10, width: frame.width - 20, height: frame.height - 20) + label = UILabel(frame: labelFrame) + label.numberOfLines = 0 + label.adjustsFontSizeToFitWidth = true + label.textAlignment = .center + label.textColor = UIColor.white + addSubview(label) } public func setText(text: String) { - self.label.text = text + label.text = text } } diff --git a/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/CustomUI/MyShapeLayer.swift b/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/CustomUI/MyShapeLayer.swift index 54147f5e1..33bf4a515 100644 --- a/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/CustomUI/MyShapeLayer.swift +++ b/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/CustomUI/MyShapeLayer.swift @@ -1,4 +1,3 @@ -import Foundation import UIKit public class MyShapeLayer: CAShapeLayer { diff --git a/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/CustomUI/RoundedButton.swift b/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/CustomUI/RoundedButton.swift index 2647c4525..819fcfc5c 100644 --- a/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/CustomUI/RoundedButton.swift +++ b/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/CustomUI/RoundedButton.swift @@ -5,7 +5,7 @@ public class RoundedButton: UIButton { public override init(frame: CGRect) { super.init(frame: frame) - self.commonInit() + commonInit() } public required init?(coder aDecoder: NSCoder) { @@ -13,8 +13,8 @@ public class RoundedButton: UIButton { } private func commonInit() { - self.backgroundColor = self.graphColors.buttonsBackgroundColor - self.titleLabel?.adjustsFontSizeToFitWidth = true - self.layer.cornerRadius = 7 + backgroundColor = graphColors.buttonsBackgroundColor + titleLabel?.adjustsFontSizeToFitWidth = true + layer.cornerRadius = 7 } } diff --git a/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/CustomUI/VertexView.swift b/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/CustomUI/VertexView.swift index 29c971411..e785e120b 100644 --- a/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/CustomUI/VertexView.swift +++ b/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/CustomUI/VertexView.swift @@ -15,49 +15,49 @@ public class VertexView: UIButton { precondition(frame.height == frame.width) precondition(frame.height >= 30) super.init(frame: frame) - self.backgroundColor = self.graphColors.defaultVertexColor - self.layer.cornerRadius = frame.width / 2 - self.clipsToBounds = true - self.setupIdLabel() - self.setupPathLengthFromStartLabel() + backgroundColor = graphColors.defaultVertexColor + layer.cornerRadius = frame.width / 2 + clipsToBounds = true + setupIdLabel() + setupPathLengthFromStartLabel() } private func setupIdLabel() { - let x: CGFloat = self.frame.width * 0.2 + let x: CGFloat = frame.width * 0.2 let y: CGFloat = 0 - let width: CGFloat = self.frame.width * 0.6 - let height: CGFloat = self.frame.height / 2 + let width: CGFloat = frame.width * 0.6 + let height: CGFloat = frame.height / 2 let idLabelFrame = CGRect(x: x, y: y, width: width, height: height) - self.idLabel = UILabel(frame: idLabelFrame) - self.idLabel.textAlignment = .center - self.idLabel.adjustsFontSizeToFitWidth = true - self.addSubview(self.idLabel) + idLabel = UILabel(frame: idLabelFrame) + idLabel.textAlignment = .center + idLabel.adjustsFontSizeToFitWidth = true + addSubview(idLabel) } private func setupPathLengthFromStartLabel() { - let x: CGFloat = self.frame.width * 0.2 - let y: CGFloat = self.frame.height / 2 - let width: CGFloat = self.frame.width * 0.6 - let height: CGFloat = self.frame.height / 2 + let x: CGFloat = frame.width * 0.2 + let y: CGFloat = frame.height / 2 + let width: CGFloat = frame.width * 0.6 + let height: CGFloat = frame.height / 2 let pathLengthLabelFrame = CGRect(x: x, y: y, width: width, height: height) - self.pathLengthLabel = UILabel(frame: pathLengthLabelFrame) - self.pathLengthLabel.textAlignment = .center - self.pathLengthLabel.adjustsFontSizeToFitWidth = true - self.addSubview(self.pathLengthLabel) + pathLengthLabel = UILabel(frame: pathLengthLabelFrame) + pathLengthLabel.textAlignment = .center + pathLengthLabel.adjustsFontSizeToFitWidth = true + addSubview(pathLengthLabel) } public func setIdLabel(text: String) { - self.idLabel.text = text + idLabel.text = text } public func setPathLengthLabel(text: String) { - self.pathLengthLabel.text = text + pathLengthLabel.text = text } public func setLabelsTextColor(color: UIColor) { - self.idLabel.textColor = color - self.pathLengthLabel.textColor = color + idLabel.textColor = color + pathLengthLabel.textColor = color } } diff --git a/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/Graph.swift b/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/Graph.swift index 0b0b97b92..7c4a8e373 100644 --- a/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/Graph.swift +++ b/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/Graph.swift @@ -22,20 +22,20 @@ public class Graph { public var startVertex: Vertex! public var interactiveNeighborCheckAnimationDuration: Double = 1.8 { didSet { - self._interactiveOneSleepDuration = UInt32(self.interactiveNeighborCheckAnimationDuration * 1000000.0 / 3.0) + _interactiveOneSleepDuration = UInt32(interactiveNeighborCheckAnimationDuration * 1000000.0 / 3.0) } } private var _interactiveOneSleepDuration: UInt32 = 600000 public var visualizationNeighborCheckAnimationDuration: Double = 2.25 { didSet { - self._visualizationOneSleepDuration = UInt32(self.visualizationNeighborCheckAnimationDuration * 1000000.0 / 3.0) + _visualizationOneSleepDuration = UInt32(visualizationNeighborCheckAnimationDuration * 1000000.0 / 3.0) } } private var _visualizationOneSleepDuration: UInt32 = 750000 public var vertices: Set { - return self._vertices + return _vertices } public init(verticesCount: UInt) { @@ -43,46 +43,46 @@ public class Graph { } public func removeGraph() { - self._vertices.removeAll() - self.startVertex = nil + _vertices.removeAll() + startVertex = nil } public func createNewGraph() { - guard self._vertices.isEmpty, self.startVertex == nil else { + guard _vertices.isEmpty, startVertex == nil else { assertionFailure("Clear graph before creating new one") return } - self.createNotConnectedVertices() - self.setupConnections() - let offset = Int(arc4random_uniform(UInt32(self._vertices.count))) - let index = self._vertices.index(self._vertices.startIndex, offsetBy: offset) - self.startVertex = self._vertices[index] - self.setVertexLevels() + createNotConnectedVertices() + setupConnections() + let offset = Int(arc4random_uniform(UInt32(_vertices.count))) + let index = _vertices.index(_vertices.startIndex, offsetBy: offset) + startVertex = _vertices[index] + setVertexLevels() } private func clearCache() { - self._vertices.forEach { $0.clearCache() } + _vertices.forEach { $0.clearCache() } } public func reset() { - for vertex in self._vertices { + for vertex in _vertices { vertex.clearCache() } } private func createNotConnectedVertices() { - for i in 0.. Vertex { - var newSet = self._vertices + var newSet = _vertices newSet.remove(vertex) let offset = Int(arc4random_uniform(UInt32(newSet.count))) let index = newSet.index(newSet.startIndex, offsetBy: offset) @@ -103,8 +103,8 @@ public class Graph { } private func setVertexLevels() { - self._vertices.forEach { $0.clearLevelInfo() } - guard let startVertex = self.startVertex else { + _vertices.forEach { $0.clearLevelInfo() } + guard let startVertex = startVertex else { assertionFailure() return } @@ -127,21 +127,21 @@ public class Graph { } public func findShortestPathsWithVisualization(completion: () -> Void) { - self.clearCache() + clearCache() startVertex.pathLengthFromStart = 0 - startVertex.pathVerticesFromStart.append(self.startVertex) - var currentVertex: Vertex! = self.startVertex + startVertex.pathVerticesFromStart.append(startVertex) + var currentVertex: Vertex! = startVertex - var totalVertices = self._vertices + var totalVertices = _vertices breakableLoop: while currentVertex != nil { totalVertices.remove(currentVertex) - while self.pauseVisualization == true { - if self.stopVisualization == true { + while pauseVisualization == true { + if stopVisualization == true { break breakableLoop } } - if self.stopVisualization == true { + if stopVisualization == true { break breakableLoop } DispatchQueue.main.async { @@ -155,12 +155,12 @@ public class Graph { let weight = edge.weight let edgeRepresentation = edge.edgeRepresentation - while self.pauseVisualization == true { - if self.stopVisualization == true { + while pauseVisualization == true { + if stopVisualization == true { break breakableLoop } } - if self.stopVisualization == true { + if stopVisualization == true { break breakableLoop } DispatchQueue.main.async { @@ -170,32 +170,32 @@ public class Graph { edgePathLength: weight, endVertexPathLength: neighbor.pathLengthFromStart) } - usleep(self._visualizationOneSleepDuration) + usleep(_visualizationOneSleepDuration) let theoreticNewWeight = currentVertex.pathLengthFromStart + weight if theoreticNewWeight < neighbor.pathLengthFromStart { - while self.pauseVisualization == true { - if self.stopVisualization == true { + while pauseVisualization == true { + if stopVisualization == true { break breakableLoop } } - if self.stopVisualization == true { + if stopVisualization == true { break breakableLoop } neighbor.pathLengthFromStart = theoreticNewWeight neighbor.pathVerticesFromStart = currentVertex.pathVerticesFromStart neighbor.pathVerticesFromStart.append(neighbor) } - usleep(self._visualizationOneSleepDuration) + usleep(_visualizationOneSleepDuration) DispatchQueue.main.async { self.delegate?.didFinishCompare() edge.edgeRepresentation?.setDefaultColor() edge.neighbor.setDefaultColor() } - usleep(self._visualizationOneSleepDuration) + usleep(_visualizationOneSleepDuration) } if totalVertices.isEmpty { currentVertex = nil @@ -203,7 +203,7 @@ public class Graph { } currentVertex = totalVertices.min { $0.pathLengthFromStart < $1.pathLengthFromStart } } - if self.stopVisualization == true { + if stopVisualization == true { DispatchQueue.main.async { self.delegate?.didStop() } @@ -294,10 +294,10 @@ public class Graph { } public func didTapVertex(vertex: Vertex) { - if self.nextVertices.contains(vertex) { - self.delegate?.willStartVertexNeighborsChecking() - self.state = .parsing - self.parseNeighborsFor(vertex: vertex) { + if nextVertices.contains(vertex) { + delegate?.willStartVertexNeighborsChecking() + state = .parsing + parseNeighborsFor(vertex: vertex) { self.state = .interactiveVisualization self.delegate?.didFinishVertexNeighborsChecking() } diff --git a/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/GraphView.swift b/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/GraphView.swift index 49bc6853f..bdeab7669 100644 --- a/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/GraphView.swift +++ b/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/GraphView.swift @@ -7,7 +7,7 @@ public class GraphView: UIView { public override init(frame: CGRect) { super.init(frame: frame) - self.backgroundColor = self.graphColors.graphBackgroundColor + backgroundColor = graphColors.graphBackgroundColor } public required init?(coder aDecoder: NSCoder) { @@ -20,13 +20,13 @@ public class GraphView: UIView { } public func removeGraph() { - for vertex in self.graph.vertices { + for vertex in graph.vertices { if let view = vertex.view { view.removeFromSuperview() vertex.view = nil } } - for vertex in self.graph.vertices { + for vertex in graph.vertices { for edge in vertex.edges { if let edgeRepresentation = edge.edgeRepresentation { edgeRepresentation.layer.removeFromSuperlayer() @@ -38,41 +38,41 @@ public class GraphView: UIView { } public func createNewGraph() { - self.setupVertexViews() - self.setupEdgeRepresentations() - self.addGraph() + setupVertexViews() + setupEdgeRepresentations() + addGraph() } public func reset() { - for vertex in self.graph.vertices { + for vertex in graph.vertices { vertex.edges.forEach { $0.edgeRepresentation?.setDefaultColor() } vertex.setDefaultColor() } } private func addGraph() { - for vertex in self.graph.vertices { + for vertex in graph.vertices { for edge in vertex.edges { if let edgeRepresentation = edge.edgeRepresentation { - self.layer.addSublayer(edgeRepresentation.layer) - self.addSubview(edgeRepresentation.label) + layer.addSublayer(edgeRepresentation.layer) + addSubview(edgeRepresentation.label) } } } - for vertex in self.graph.vertices { + for vertex in graph.vertices { if let view = vertex.view { - self.addSubview(view) + addSubview(view) } } } private func setupVertexViews() { var level = 0 - var buildViewQueue = [self.graph.startVertex!] + var buildViewQueue = [graph.startVertex!] let itemWidth: CGFloat = 40 while !buildViewQueue.isEmpty { let levelItemsCount = CGFloat(buildViewQueue.count) - let xStep = (self.frame.width - levelItemsCount * itemWidth) / (levelItemsCount + 1) + let xStep = (frame.width - levelItemsCount * itemWidth) / (levelItemsCount + 1) var previousVertexMaxX: CGFloat = 0.0 for vertex in buildViewQueue { let x: CGFloat = previousVertexMaxX + xStep @@ -84,12 +84,12 @@ public class GraphView: UIView { vertexView.vertex = vertex vertex.view?.setIdLabel(text: vertex.identifier) vertex.view?.setPathLengthLabel(text: "\(vertex.pathLengthFromStart)") - vertex.view?.addTarget(self, action: #selector(self.didTapVertex(sender:)), for: .touchUpInside) - let panGesture = UIPanGestureRecognizer(target: self, action: #selector(self.handlePan(recognizer:))) + vertex.view?.addTarget(self, action: #selector(didTapVertex(sender:)), for: .touchUpInside) + let panGesture = UIPanGestureRecognizer(target: self, action: #selector(handlePan(recognizer:))) vertex.view?.addGestureRecognizer(panGesture) } level += 1 - buildViewQueue = self.graph.vertices.filter { $0.level == level } + buildViewQueue = graph.vertices.filter { $0.level == level } } } @@ -100,8 +100,8 @@ public class GraphView: UIView { guard let vertexView = recognizer.view as? VertexView, let vertex = vertexView.vertex else { return } - if self.panningView != nil { - if self.panningView != vertexView { + if panningView != nil { + if panningView != vertexView { return } } @@ -122,39 +122,39 @@ public class GraphView: UIView { } } } - self.panningView = vertexView + panningView = vertexView case .changed: - if self.movingVertexOutputEdges.isEmpty && self.movingVertexInputEdges.isEmpty { + if movingVertexOutputEdges.isEmpty && movingVertexInputEdges.isEmpty { return } let translation = recognizer.translation(in: self) if vertexView.frame.origin.x + translation.x <= 0 || vertexView.frame.origin.y + translation.y <= 0 - || (vertexView.frame.origin.x + vertexView.frame.width + translation.x) >= self.frame.width - || (vertexView.frame.origin.y + vertexView.frame.height + translation.y) >= self.frame.height { + || (vertexView.frame.origin.x + vertexView.frame.width + translation.x) >= frame.width + || (vertexView.frame.origin.y + vertexView.frame.height + translation.y) >= frame.height { break } - self.movingVertexInputEdges.forEach { edgeRepresentation in + movingVertexInputEdges.forEach { edgeRepresentation in let originalLabelCenter = edgeRepresentation.label.center edgeRepresentation.label.center = CGPoint(x: originalLabelCenter.x + translation.x * 0.625, y: originalLabelCenter.y + translation.y * 0.625) CATransaction.begin() CATransaction.setValue(kCFBooleanTrue, forKey: kCATransactionDisableActions) - let newPath = self.path(fromEdgeRepresentation: edgeRepresentation, movingVertex: vertex, translation: translation, outPath: false) + let newPath = path(fromEdgeRepresentation: edgeRepresentation, movingVertex: vertex, translation: translation, outPath: false) edgeRepresentation.layer.path = newPath CATransaction.commit() } - self.movingVertexOutputEdges.forEach { edgeRepresentation in + movingVertexOutputEdges.forEach { edgeRepresentation in let originalLabelCenter = edgeRepresentation.label.center edgeRepresentation.label.center = CGPoint(x: originalLabelCenter.x + translation.x * 0.375, y: originalLabelCenter.y + translation.y * 0.375) CATransaction.begin() CATransaction.setValue(kCFBooleanTrue, forKey: kCATransactionDisableActions) - let newPath = self.path(fromEdgeRepresentation: edgeRepresentation, movingVertex: vertex, translation: translation, outPath: true) + let newPath = path(fromEdgeRepresentation: edgeRepresentation, movingVertex: vertex, translation: translation, outPath: true) edgeRepresentation.layer.path = newPath CATransaction.commit() } @@ -163,9 +163,9 @@ public class GraphView: UIView { y: vertexView.center.y + translation.y) recognizer.setTranslation(CGPoint.zero, in: self) case .ended: - self.movingVertexInputEdges = [] - self.movingVertexOutputEdges = [] - self.panningView = nil + movingVertexInputEdges = [] + movingVertexOutputEdges = [] + panningView = nil default: break } @@ -223,7 +223,7 @@ public class GraphView: UIView { } private func setupEdgeRepresentations() { - var edgeQueue: [Vertex] = [self.graph.startVertex!] + var edgeQueue: [Vertex] = [graph.startVertex!] //BFS while !edgeQueue.isEmpty { diff --git a/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/SimpleObjects/Vertex.swift b/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/SimpleObjects/Vertex.swift index c9270b0df..f18ec3114 100644 --- a/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/SimpleObjects/Vertex.swift +++ b/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/SimpleObjects/Vertex.swift @@ -1,10 +1,17 @@ import UIKit -public class Vertex: Hashable, Equatable { +public class Vertex { private var graphColors: GraphColors = GraphColors.sharedInstance + public var view: VertexView? + public var identifier: String public var edges: [Edge] = [] + public var pathVerticesFromStart: [Vertex] = [] + public var level: Int = 0 + public var levelChecked: Bool = false + public var haveAllEdges: Bool = false + public var visited: Bool = false public var pathLengthFromStart: Double = Double.infinity { didSet { DispatchQueue.main.async { @@ -12,51 +19,45 @@ public class Vertex: Hashable, Equatable { } } } - public var pathVerticesFromStart: [Vertex] = [] - public var level: Int = 0 - public var levelChecked: Bool = false - public var haveAllEdges: Bool = false - public var visited: Bool = false - - public var view: VertexView? public init(identifier: String) { self.identifier = identifier } - public var hashValue: Int { - return self.identifier.hashValue - } - - public static func ==(lhs: Vertex, rhs: Vertex) -> Bool { - if lhs.hashValue == rhs.hashValue { - return true - } - return false - } - public func clearCache() { - self.pathLengthFromStart = Double.infinity - self.pathVerticesFromStart = [] - self.visited = false + pathLengthFromStart = Double.infinity + pathVerticesFromStart = [] + visited = false } public func clearLevelInfo() { - self.level = 0 - self.levelChecked = false + level = 0 + levelChecked = false } public func setVisitedColor() { - self.view?.backgroundColor = self.graphColors.visitedColor - self.view?.setLabelsTextColor(color: UIColor.white) + view?.backgroundColor = graphColors.visitedColor + view?.setLabelsTextColor(color: UIColor.white) } public func setCheckingPathColor() { - self.view?.backgroundColor = self.graphColors.checkingColor + view?.backgroundColor = graphColors.checkingColor } public func setDefaultColor() { - self.view?.backgroundColor = self.graphColors.defaultVertexColor - self.view?.setLabelsTextColor(color: UIColor.black) + view?.backgroundColor = graphColors.defaultVertexColor + view?.setLabelsTextColor(color: UIColor.black) + } +} + +extension Vertex: Hashable { + public var hashValue: Int { + return identifier.hashValue + } +} + +extension Vertex: Equatable { + public static func ==(lhs: Vertex, rhs: Vertex) -> Bool { + return lhs.hashValue == rhs.hashValue } } diff --git a/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/Window.swift b/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/Window.swift index e8aabad27..054b804c9 100644 --- a/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/Window.swift +++ b/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/Window.swift @@ -30,7 +30,7 @@ public class Window: UIView, GraphDelegate { public override init(frame: CGRect) { super.init(frame: frame) self.frame = frame - self.backgroundColor = self.graphColors.mainWindowBackgroundColor + backgroundColor = graphColors.mainWindowBackgroundColor } public required init?(coder aDecoder: NSCoder) { @@ -39,130 +39,130 @@ public class Window: UIView, GraphDelegate { public func configure(graph: Graph) { self.graph = graph - self.graph.createNewGraph() - self.graph.delegate = self + graph.createNewGraph() + graph.delegate = self let frame = CGRect(x: 10, y: 170, width: self.frame.width - 20, height: self.frame.height - 180) - self.graphView = GraphView(frame: frame) - self.graphView.layer.cornerRadius = 15 - - self.graphView.configure(graph: self.graph) - self.graphView.createNewGraph() - self.addSubview(self.graphView) - - self.configureCreateGraphButton() - self.configureStartVisualizationButton() - self.configureStartInteractiveVisualizationButton() - self.configureStartButton() - self.configurePauseButton() - self.configureStopButton() - self.configureComparisonLabel() - self.configureActivityIndicator() - - self.topView = UIView(frame: CGRect(x: 10, y: 10, width: self.frame.width - 20, height: 150)) - self.topView.backgroundColor = self.graphColors.topViewBackgroundColor - self.topView.layer.cornerRadius = 15 - self.addSubview(self.topView) - - self.topView.addSubview(self.createGraphButton) - self.topView.addSubview(self.startVisualizationButton) - self.topView.addSubview(self.startInteractiveVisualizationButton) - self.topView.addSubview(self.startButton) - self.topView.addSubview(self.pauseButton) - self.topView.addSubview(self.stopButton) - self.topView.addSubview(self.comparisonLabel) - self.topView.addSubview(self.activityIndicator) + graphView = GraphView(frame: frame) + graphView.layer.cornerRadius = 15 + + graphView.configure(graph: graph) + graphView.createNewGraph() + addSubview(graphView) + + configureCreateGraphButton() + configureStartVisualizationButton() + configureStartInteractiveVisualizationButton() + configureStartButton() + configurePauseButton() + configureStopButton() + configureComparisonLabel() + configureActivityIndicator() + + topView = UIView(frame: CGRect(x: 10, y: 10, width: frame.width - 20, height: 150)) + topView.backgroundColor = graphColors.topViewBackgroundColor + topView.layer.cornerRadius = 15 + addSubview(topView) + + topView.addSubview(createGraphButton) + topView.addSubview(startVisualizationButton) + topView.addSubview(startInteractiveVisualizationButton) + topView.addSubview(startButton) + topView.addSubview(pauseButton) + topView.addSubview(stopButton) + topView.addSubview(comparisonLabel) + topView.addSubview(activityIndicator) } private func configureCreateGraphButton() { - let frame = CGRect(x: self.center.x - 200, y: 12, width: 100, height: 34) - self.createGraphButton = RoundedButton(frame: frame) - self.createGraphButton.setTitle("New graph", for: .normal) - self.createGraphButton.addTarget(self, action: #selector(self.createGraphButtonTap), for: .touchUpInside) + let frame = CGRect(x: center.x - 200, y: 12, width: 100, height: 34) + createGraphButton = RoundedButton(frame: frame) + createGraphButton.setTitle("New graph", for: .normal) + createGraphButton.addTarget(self, action: #selector(createGraphButtonTap), for: .touchUpInside) } private func configureStartVisualizationButton() { - let frame = CGRect(x: self.center.x - 50, y: 12, width: 100, height: 34) - self.startVisualizationButton = RoundedButton(frame: frame) - self.startVisualizationButton.setTitle("Auto", for: .normal) - self.startVisualizationButton.addTarget(self, action: #selector(self.startVisualizationButtonDidTap), for: .touchUpInside) + let frame = CGRect(x: center.x - 50, y: 12, width: 100, height: 34) + startVisualizationButton = RoundedButton(frame: frame) + startVisualizationButton.setTitle("Auto", for: .normal) + startVisualizationButton.addTarget(self, action: #selector(startVisualizationButtonDidTap), for: .touchUpInside) } private func configureStartInteractiveVisualizationButton() { - let frame = CGRect(x: self.center.x + 100, y: 12, width: 100, height: 34) - self.startInteractiveVisualizationButton = RoundedButton(frame: frame) - self.startInteractiveVisualizationButton.setTitle("Interactive", for: .normal) - self.startInteractiveVisualizationButton.addTarget(self, action: #selector(self.startInteractiveVisualizationButtonDidTap), for: .touchUpInside) + let frame = CGRect(x: center.x + 100, y: 12, width: 100, height: 34) + startInteractiveVisualizationButton = RoundedButton(frame: frame) + startInteractiveVisualizationButton.setTitle("Interactive", for: .normal) + startInteractiveVisualizationButton.addTarget(self, action: #selector(startInteractiveVisualizationButtonDidTap), for: .touchUpInside) } private func configureStartButton() { - let frame = CGRect(x: self.center.x - 65, y: 56, width: 30, height: 30) - self.startButton = UIButton(frame: frame) + let frame = CGRect(x: center.x - 65, y: 56, width: 30, height: 30) + startButton = UIButton(frame: frame) let playImage = UIImage(named: "Start.png") - self.startButton.setImage(playImage, for: .normal) - self.startButton.isEnabled = false - self.startButton.addTarget(self, action: #selector(self.didTapStartButton), for: .touchUpInside) + startButton.setImage(playImage, for: .normal) + startButton.isEnabled = false + startButton.addTarget(self, action: #selector(didTapStartButton), for: .touchUpInside) } private func configurePauseButton() { - let frame = CGRect(x: self.center.x - 15, y: 56, width: 30, height: 30) - self.pauseButton = UIButton(frame: frame) + let frame = CGRect(x: center.x - 15, y: 56, width: 30, height: 30) + pauseButton = UIButton(frame: frame) let pauseImage = UIImage(named: "Pause.png") - self.pauseButton.setImage(pauseImage, for: .normal) - self.pauseButton.isEnabled = false - self.pauseButton.addTarget(self, action: #selector(self.didTapPauseButton), for: .touchUpInside) + pauseButton.setImage(pauseImage, for: .normal) + pauseButton.isEnabled = false + pauseButton.addTarget(self, action: #selector(didTapPauseButton), for: .touchUpInside) } private func configureStopButton() { - let frame = CGRect(x: self.center.x + 35, y: 56, width: 30, height: 30) - self.stopButton = UIButton(frame: frame) + let frame = CGRect(x: center.x + 35, y: 56, width: 30, height: 30) + stopButton = UIButton(frame: frame) let stopImage = UIImage(named: "Stop.png") - self.stopButton.setImage(stopImage, for: .normal) - self.stopButton.isEnabled = false - self.stopButton.addTarget(self, action: #selector(self.didTapStopButton), for: .touchUpInside) + stopButton.setImage(stopImage, for: .normal) + stopButton.isEnabled = false + stopButton.addTarget(self, action: #selector(didTapStopButton), for: .touchUpInside) } private func configureComparisonLabel() { let size = CGSize(width: 250, height: 42) - let origin = CGPoint(x: self.center.x - 125, y: 96) + let origin = CGPoint(x: center.x - 125, y: 96) let frame = CGRect(origin: origin, size: size) - self.comparisonLabel = UILabel(frame: frame) - self.comparisonLabel.textAlignment = .center - self.comparisonLabel.text = "Have fun!" + comparisonLabel = UILabel(frame: frame) + comparisonLabel.textAlignment = .center + comparisonLabel.text = "Have fun!" } private func configureActivityIndicator() { let size = CGSize(width: 50, height: 42) - let origin = CGPoint(x: self.center.x - 25, y: 100) + let origin = CGPoint(x: center.x - 25, y: 100) let activityIndicatorFrame = CGRect(origin: origin, size: size) - self.activityIndicator = UIActivityIndicatorView(frame: activityIndicatorFrame) - self.activityIndicator.activityIndicatorViewStyle = .whiteLarge + activityIndicator = UIActivityIndicatorView(frame: activityIndicatorFrame) + activityIndicator.activityIndicatorViewStyle = .whiteLarge } @objc private func createGraphButtonTap() { - self.comparisonLabel.text = "" - self.graphView.removeGraph() - self.graph.removeGraph() - self.graph.createNewGraph() - self.graphView.createNewGraph() - self.graph.state = .initial + comparisonLabel.text = "" + graphView.removeGraph() + graph.removeGraph() + graph.createNewGraph() + graphView.createNewGraph() + graph.state = .initial } @objc private func startVisualizationButtonDidTap() { - self.comparisonLabel.text = "" - self.pauseButton.isEnabled = true - self.stopButton.isEnabled = true - self.createGraphButton.isEnabled = false - self.startVisualizationButton.isEnabled = false - self.startInteractiveVisualizationButton.isEnabled = false - self.createGraphButton.alpha = 0.5 - self.startVisualizationButton.alpha = 0.5 - self.startInteractiveVisualizationButton.alpha = 0.5 - - if self.graph.state == .completed { - self.graphView.reset() - self.graph.reset() + comparisonLabel.text = "" + pauseButton.isEnabled = true + stopButton.isEnabled = true + createGraphButton.isEnabled = false + startVisualizationButton.isEnabled = false + startInteractiveVisualizationButton.isEnabled = false + createGraphButton.alpha = 0.5 + startVisualizationButton.alpha = 0.5 + startInteractiveVisualizationButton.alpha = 0.5 + + if graph.state == .completed { + graphView.reset() + graph.reset() } - self.graph.state = .autoVisualization + graph.state = .autoVisualization DispatchQueue.global(qos: .background).async { self.graph.findShortestPathsWithVisualization { self.graph.state = .completed @@ -184,25 +184,25 @@ public class Window: UIView, GraphDelegate { } @objc private func startInteractiveVisualizationButtonDidTap() { - self.comparisonLabel.text = "" - self.pauseButton.isEnabled = true - self.stopButton.isEnabled = true - self.createGraphButton.isEnabled = false - self.startVisualizationButton.isEnabled = false - self.startInteractiveVisualizationButton.isEnabled = false - self.createGraphButton.alpha = 0.5 - self.startVisualizationButton.alpha = 0.5 - self.startInteractiveVisualizationButton.alpha = 0.5 - - if self.graph.state == .completed { - self.graphView.reset() - self.graph.reset() + comparisonLabel.text = "" + pauseButton.isEnabled = true + stopButton.isEnabled = true + createGraphButton.isEnabled = false + startVisualizationButton.isEnabled = false + startInteractiveVisualizationButton.isEnabled = false + createGraphButton.alpha = 0.5 + startVisualizationButton.alpha = 0.5 + startInteractiveVisualizationButton.alpha = 0.5 + + if graph.state == .completed { + graphView.reset() + graph.reset() } - self.graph.startVertex.pathLengthFromStart = 0 - self.graph.startVertex.pathVerticesFromStart.append(self.graph.startVertex) - self.graph.state = .parsing - self.graph.parseNeighborsFor(vertex: self.graph.startVertex) { + graph.startVertex.pathLengthFromStart = 0 + graph.startVertex.pathVerticesFromStart.append(graph.startVertex) + graph.state = .parsing + graph.parseNeighborsFor(vertex: graph.startVertex) { self.graph.state = .interactiveVisualization DispatchQueue.main.async { self.comparisonLabel.text = "Pick next vertex" @@ -211,43 +211,43 @@ public class Window: UIView, GraphDelegate { } @objc private func didTapStartButton() { - self.startButton.isEnabled = false - self.pauseButton.isEnabled = true + startButton.isEnabled = false + pauseButton.isEnabled = true DispatchQueue.global(qos: .utility).async { self.graph.pauseVisualization = false } } @objc private func didTapPauseButton() { - self.startButton.isEnabled = true - self.pauseButton.isEnabled = false + startButton.isEnabled = true + pauseButton.isEnabled = false DispatchQueue.global(qos: .utility).async { self.graph.pauseVisualization = true } } @objc private func didTapStopButton() { - self.startButton.isEnabled = false - self.pauseButton.isEnabled = false - self.comparisonLabel.text = "" - self.activityIndicator.startAnimating() - if self.graph.state == .parsing || self.graph.state == .autoVisualization { - self.graph.stopVisualization = true - } else if self.graph.state == .interactiveVisualization { - self.didStop() + startButton.isEnabled = false + pauseButton.isEnabled = false + comparisonLabel.text = "" + activityIndicator.startAnimating() + if graph.state == .parsing || graph.state == .autoVisualization { + graph.stopVisualization = true + } else if graph.state == .interactiveVisualization { + didStop() } } private func setButtonsToInitialState() { - self.createGraphButton.isEnabled = true - self.startVisualizationButton.isEnabled = true - self.startInteractiveVisualizationButton.isEnabled = true - self.startButton.isEnabled = false - self.pauseButton.isEnabled = false - self.stopButton.isEnabled = false - self.createGraphButton.alpha = 1 - self.startVisualizationButton.alpha = 1 - self.startInteractiveVisualizationButton.alpha = 1 + createGraphButton.isEnabled = true + startVisualizationButton.isEnabled = true + startInteractiveVisualizationButton.isEnabled = true + startButton.isEnabled = false + pauseButton.isEnabled = false + stopButton.isEnabled = false + createGraphButton.alpha = 1 + startVisualizationButton.alpha = 1 + startInteractiveVisualizationButton.alpha = 1 } private func showError(error: String) { @@ -268,14 +268,14 @@ public class Window: UIView, GraphDelegate { // MARK: GraphDelegate public func didCompleteGraphParsing() { - self.graph.state = .completed - self.setButtonsToInitialState() - self.comparisonLabel.text = "Completed!" + graph.state = .completed + setButtonsToInitialState() + comparisonLabel.text = "Completed!" } public func didTapWrongVertex() { - if !self.subviews.contains { $0 is ErrorView } { - self.showError(error: "You have picked wrong next vertex") + if !subviews.contains { $0 is ErrorView } { + showError(error: "You have picked wrong next vertex") } } @@ -296,13 +296,13 @@ public class Window: UIView, GraphDelegate { } public func didStop() { - self.graph.state = .initial - self.graph.stopVisualization = false - self.graph.pauseVisualization = false - self.graphView.reset() - self.graph.reset() - self.setButtonsToInitialState() - self.activityIndicator.stopAnimating() + graph.state = .initial + graph.stopVisualization = false + graph.pauseVisualization = false + graphView.reset() + graph.reset() + setButtonsToInitialState() + activityIndicator.stopAnimating() } public func willStartVertexNeighborsChecking() { From 900b7caf229697f5666627bd7cdc34c6f1143702 Mon Sep 17 00:00:00 2001 From: Taras Nikulin Date: Mon, 17 Apr 2017 12:56:12 +0300 Subject: [PATCH 045/713] Replaced with optional --- .../Sources/Graph.swift | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/Graph.swift b/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/Graph.swift index 7c4a8e373..8bf2452cc 100644 --- a/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/Graph.swift +++ b/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/Graph.swift @@ -130,12 +130,12 @@ public class Graph { clearCache() startVertex.pathLengthFromStart = 0 startVertex.pathVerticesFromStart.append(startVertex) - var currentVertex: Vertex! = startVertex + var currentVertex: Vertex? = startVertex var totalVertices = _vertices - breakableLoop: while currentVertex != nil { - totalVertices.remove(currentVertex) + breakableLoop: while let vertex = currentVertex { + totalVertices.remove(vertex) while pauseVisualization == true { if stopVisualization == true { break breakableLoop @@ -145,11 +145,11 @@ public class Graph { break breakableLoop } DispatchQueue.main.async { - currentVertex.setVisitedColor() + vertex.setVisitedColor() } usleep(750000) - currentVertex.visited = true - let filteredEdges = currentVertex.edges.filter { !$0.neighbor.visited } + vertex.visited = true + let filteredEdges = vertex.edges.filter { !$0.neighbor.visited } for edge in filteredEdges { let neighbor = edge.neighbor let weight = edge.weight @@ -166,14 +166,14 @@ public class Graph { DispatchQueue.main.async { edgeRepresentation?.setCheckingColor() neighbor.setCheckingPathColor() - self.delegate?.willCompareVertices(startVertexPathLength: currentVertex.pathLengthFromStart, + self.delegate?.willCompareVertices(startVertexPathLength: vertex.pathLengthFromStart, edgePathLength: weight, endVertexPathLength: neighbor.pathLengthFromStart) } usleep(_visualizationOneSleepDuration) - let theoreticNewWeight = currentVertex.pathLengthFromStart + weight + let theoreticNewWeight = vertex.pathLengthFromStart + weight if theoreticNewWeight < neighbor.pathLengthFromStart { while pauseVisualization == true { @@ -185,7 +185,7 @@ public class Graph { break breakableLoop } neighbor.pathLengthFromStart = theoreticNewWeight - neighbor.pathVerticesFromStart = currentVertex.pathVerticesFromStart + neighbor.pathVerticesFromStart = vertex.pathVerticesFromStart neighbor.pathVerticesFromStart.append(neighbor) } usleep(_visualizationOneSleepDuration) From 2a1a2a1a7bbdf738b8643d49775ccf7895d476b6 Mon Sep 17 00:00:00 2001 From: Taras Nikulin Date: Mon, 17 Apr 2017 13:27:18 +0300 Subject: [PATCH 046/713] Refactored a bit --- .../Sources/Graph.swift | 14 ++++++++------ .../Sources/GraphView.swift | 12 +++++------- .../Sources/Window.swift | 19 +++++++++++-------- 3 files changed, 24 insertions(+), 21 deletions(-) diff --git a/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/Graph.swift b/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/Graph.swift index 8bf2452cc..447b3dbe1 100644 --- a/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/Graph.swift +++ b/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/Graph.swift @@ -10,16 +10,14 @@ public enum GraphState { } public class Graph { - private init() { } - - private var verticesCount: UInt! + private var verticesCount: UInt private var _vertices: Set = Set() public weak var delegate: GraphDelegate? public var nextVertices: [Vertex] = [] public var state: GraphState = .initial - public var pauseVisualization: Bool = false - public var stopVisualization: Bool = false - public var startVertex: Vertex! + public var pauseVisualization = false + public var stopVisualization = false + public var startVertex: Vertex? public var interactiveNeighborCheckAnimationDuration: Double = 1.8 { didSet { _interactiveOneSleepDuration = UInt32(interactiveNeighborCheckAnimationDuration * 1000000.0 / 3.0) @@ -127,6 +125,10 @@ public class Graph { } public func findShortestPathsWithVisualization(completion: () -> Void) { + guard let startVertex = self.startVertex else { + assertionFailure("start vertex is nil") + return + } clearCache() startVertex.pathLengthFromStart = 0 startVertex.pathVerticesFromStart.append(startVertex) diff --git a/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/GraphView.swift b/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/GraphView.swift index bdeab7669..ec4f74705 100644 --- a/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/GraphView.swift +++ b/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/GraphView.swift @@ -1,13 +1,15 @@ import UIKit public class GraphView: UIView { - private var graph: Graph! + private var graph: Graph private var panningView: VertexView? = nil - private var graphColors: GraphColors = GraphColors.sharedInstance + private var graphColors = GraphColors.sharedInstance - public override init(frame: CGRect) { + public init(frame: CGRect, graph: Graph) { + self.graph = graph super.init(frame: frame) backgroundColor = graphColors.graphBackgroundColor + layer.cornerRadius = 15 } public required init?(coder aDecoder: NSCoder) { @@ -15,10 +17,6 @@ public class GraphView: UIView { } - public func configure(graph: Graph) { - self.graph = graph - } - public func removeGraph() { for vertex in graph.vertices { if let view = vertex.view { diff --git a/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/Window.swift b/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/Window.swift index 054b804c9..73c512e6b 100644 --- a/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/Window.swift +++ b/Dijkstra Algorithm/VisualizedDijkstra.playground/Sources/Window.swift @@ -25,7 +25,7 @@ public class Window: UIView, GraphDelegate { private var activityIndicator: UIActivityIndicatorView! private var graph: Graph! private var numberOfVertices: UInt! - private var graphColors: GraphColors = GraphColors.sharedInstance + private var graphColors = GraphColors.sharedInstance public override init(frame: CGRect) { super.init(frame: frame) @@ -42,10 +42,9 @@ public class Window: UIView, GraphDelegate { graph.createNewGraph() graph.delegate = self let frame = CGRect(x: 10, y: 170, width: self.frame.width - 20, height: self.frame.height - 180) - graphView = GraphView(frame: frame) - graphView.layer.cornerRadius = 15 + graphView = GraphView(frame: frame, graph: graph) + - graphView.configure(graph: graph) graphView.createNewGraph() addSubview(graphView) @@ -198,11 +197,15 @@ public class Window: UIView, GraphDelegate { graphView.reset() graph.reset() } - - graph.startVertex.pathLengthFromStart = 0 - graph.startVertex.pathVerticesFromStart.append(graph.startVertex) + + guard let startVertex = graph.startVertex else { + assertionFailure("startVertex is nil") + return + } + startVertex.pathLengthFromStart = 0 + startVertex.pathVerticesFromStart.append(startVertex) graph.state = .parsing - graph.parseNeighborsFor(vertex: graph.startVertex) { + graph.parseNeighborsFor(vertex: startVertex) { self.graph.state = .interactiveVisualization DispatchQueue.main.async { self.comparisonLabel.text = "Pick next vertex" From 846101720981de86abf8fe8f372715fa50f12dcb Mon Sep 17 00:00:00 2001 From: Taras Nikulin Date: Mon, 17 Apr 2017 14:02:43 +0300 Subject: [PATCH 047/713] Updated description --- Dijkstra Algorithm/README.md | 38 ++++++++++++++++++++++++++---------- 1 file changed, 28 insertions(+), 10 deletions(-) diff --git a/Dijkstra Algorithm/README.md b/Dijkstra Algorithm/README.md index bf158def9..2bbf74b87 100644 --- a/Dijkstra Algorithm/README.md +++ b/Dijkstra Algorithm/README.md @@ -1,21 +1,39 @@ # Dijkstra-algorithm -## About -Dijkstra's algorithm is used for finding shortest paths from start vertex in graph(with weighted vertices) to all other vertices. -More algorithm's description can be found in playground or on wikipedia: -[Wikipedia](https://en.wikipedia.org/wiki/Dijkstra%27s_algorithm) - -To understand how does this algorithm works, I have created **VisualizedDijkstra.playground.** It works in auto and interactive modes. Moreover there are play/pause/stop buttons. - -If you need only realization of the algorithm without visualization then run **Dijkstra.playground.** It contains necessary classes and couple functions to create random graph for algorithm testing. +## About this repository +This repository contains to playgrounds: +* To understand how does this algorithm works, I have created **VisualizedDijkstra.playground.** It works in auto and interactive modes. Moreover there are play/pause/stop buttons. +* If you need only realization of the algorithm without visualization then run **Dijkstra.playground.** It contains necessary classes and couple functions to create random graph for algorithm testing. ## Demo video Click the link: [YouTube](https://youtu.be/PPESI7et0cQ) ## Screenshots - +## Dijkstra's algorithm explanation + +Wikipedia's explanation: +Let the node at which we are starting be called the initial node. Let the distance of node Y be the distance from the initial node to Y. Dijkstra's algorithm will assign some initial distance values and will try to improve them step by step. + +1. Assign to every node a tentative distance value: set it to zero for our initial node and to infinity for all other nodes. +2. Set the initial node as current. Mark all other nodes unvisited. Create a set of all the unvisited nodes called the unvisited set. +3. For the current node, consider all of its unvisited neighbors and calculate their tentative distances. Compare the newly calculated tentative distance to the current assigned value and assign the smaller one. For example, if the current node A is marked with a distance of 6, and the edge connecting it with a neighbor B has length 2, then the distance to B (through A) will be 6 + 2 = 8. If B was previously marked with a distance greater than 8 then change it to 8. Otherwise, keep the current value. +4. When we are done considering all of the neighbors of the current node, mark the current node as visited and remove it from the unvisited set. A visited node will never be checked again. +5. If the destination node has been marked visited (when planning a route between two specific nodes) or if the smallest tentative distance among the nodes in the unvisited set is infinity (when planning a complete traversal; occurs when there is no connection between the initial node and remaining unvisited nodes), then stop. The algorithm has finished. +6. Otherwise, select the unvisited node that is marked with the smallest tentative distance, set it as the new "current node", and go back to step 3. + +Explanation, that can be found in the **VisualizedDijkstra.playground** +Algorithm's flow: +First of all, this program randomly decides which vertex will be the start one, then the program assigns a zero value to the start vertex path length from the start. + +Then the algorithm repeats following cycle until all vertices are marked as visited. +Cycle: +1. From the non-visited vertices the algorithm picks a vertex with the shortest path length from the start (if there are more than one vertex with the same shortest path value, then algorithm picks any of them) +2. The algorithm marks picked vertex as visited. +3. The algorithm check all of its neighbors. If the current vertex path length from the start plus an edge weight to a neighbor less than the neighbor current path length from the start, than it assigns new path length from the start to the neihgbor. +When all vertices are marked as visited, the algorithm's job is done. Now, you can see the shortest path from the start for every vertex by pressing the one you are interested in. + ## Credits -WWDC 2017 Scholarship Project +WWDC 2017 Scholarship Project Created by [Taras Nikulin](https://github.com/crabman448) From f7793cc6b6692000e4fd878afce62fd67d5b5f00 Mon Sep 17 00:00:00 2001 From: Taras Nikulin Date: Mon, 17 Apr 2017 14:38:47 +0300 Subject: [PATCH 048/713] Added gif --- Dijkstra Algorithm/Images/Dijkstra_Animation.gif | Bin 0 -> 8561 bytes .../{Screenshots => Images}/screenshot1.jpg | Bin Dijkstra Algorithm/README.md | 8 +++++++- 3 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 Dijkstra Algorithm/Images/Dijkstra_Animation.gif rename Dijkstra Algorithm/{Screenshots => Images}/screenshot1.jpg (100%) diff --git a/Dijkstra Algorithm/Images/Dijkstra_Animation.gif b/Dijkstra Algorithm/Images/Dijkstra_Animation.gif new file mode 100644 index 0000000000000000000000000000000000000000..3b1a2ef434107efb104a9bc1a6a714af37367529 GIT binary patch literal 8561 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 literal 0 HcmV?d00001 diff --git a/Dijkstra Algorithm/Screenshots/screenshot1.jpg b/Dijkstra Algorithm/Images/screenshot1.jpg similarity index 100% rename from Dijkstra Algorithm/Screenshots/screenshot1.jpg rename to Dijkstra Algorithm/Images/screenshot1.jpg diff --git a/Dijkstra Algorithm/README.md b/Dijkstra Algorithm/README.md index 2bbf74b87..0ac4bc17e 100644 --- a/Dijkstra Algorithm/README.md +++ b/Dijkstra Algorithm/README.md @@ -9,10 +9,12 @@ This repository contains to playgrounds: Click the link: [YouTube](https://youtu.be/PPESI7et0cQ) ## Screenshots - + ## Dijkstra's algorithm explanation + + Wikipedia's explanation: Let the node at which we are starting be called the initial node. Let the distance of node Y be the distance from the initial node to Y. Dijkstra's algorithm will assign some initial distance values and will try to improve them step by step. @@ -34,6 +36,10 @@ Cycle: 3. The algorithm check all of its neighbors. If the current vertex path length from the start plus an edge weight to a neighbor less than the neighbor current path length from the start, than it assigns new path length from the start to the neihgbor. When all vertices are marked as visited, the algorithm's job is done. Now, you can see the shortest path from the start for every vertex by pressing the one you are interested in. +## Usage + + + ## Credits WWDC 2017 Scholarship Project Created by [Taras Nikulin](https://github.com/crabman448) From 3f6be33a1750d6f9122ca8ab38b70c3a9e4d123b Mon Sep 17 00:00:00 2001 From: Taras Nikulin Date: Mon, 17 Apr 2017 14:40:34 +0300 Subject: [PATCH 049/713] Added link --- Dijkstra Algorithm/README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Dijkstra Algorithm/README.md b/Dijkstra Algorithm/README.md index 0ac4bc17e..b2606f0f9 100644 --- a/Dijkstra Algorithm/README.md +++ b/Dijkstra Algorithm/README.md @@ -13,7 +13,8 @@ Click the link: [YouTube](https://youtu.be/PPESI7et0cQ) ## Dijkstra's algorithm explanation - +GIF from Wikipedia + Wikipedia's explanation: Let the node at which we are starting be called the initial node. Let the distance of node Y be the distance from the initial node to Y. Dijkstra's algorithm will assign some initial distance values and will try to improve them step by step. From a153067e60fcd90d8a8b6448fbc5d9e0c5753076 Mon Sep 17 00:00:00 2001 From: Taras Nikulin Date: Mon, 17 Apr 2017 14:41:35 +0300 Subject: [PATCH 050/713] Updated link --- Dijkstra Algorithm/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dijkstra Algorithm/README.md b/Dijkstra Algorithm/README.md index b2606f0f9..cf939c7cc 100644 --- a/Dijkstra Algorithm/README.md +++ b/Dijkstra Algorithm/README.md @@ -14,7 +14,7 @@ Click the link: [YouTube](https://youtu.be/PPESI7et0cQ) ## Dijkstra's algorithm explanation GIF from Wikipedia - + Wikipedia's explanation: Let the node at which we are starting be called the initial node. Let the distance of node Y be the distance from the initial node to Y. Dijkstra's algorithm will assign some initial distance values and will try to improve them step by step. From b59ffa53930e3021a22bee31923965a12f7031a3 Mon Sep 17 00:00:00 2001 From: Taras Nikulin Date: Mon, 17 Apr 2017 14:42:10 +0300 Subject: [PATCH 051/713] Revert "Updated link" This reverts commit a153067e60fcd90d8a8b6448fbc5d9e0c5753076. --- Dijkstra Algorithm/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dijkstra Algorithm/README.md b/Dijkstra Algorithm/README.md index cf939c7cc..b2606f0f9 100644 --- a/Dijkstra Algorithm/README.md +++ b/Dijkstra Algorithm/README.md @@ -14,7 +14,7 @@ Click the link: [YouTube](https://youtu.be/PPESI7et0cQ) ## Dijkstra's algorithm explanation GIF from Wikipedia - + Wikipedia's explanation: Let the node at which we are starting be called the initial node. Let the distance of node Y be the distance from the initial node to Y. Dijkstra's algorithm will assign some initial distance values and will try to improve them step by step. From ef13b5076e1741023c6d014e32266044d8d63d7b Mon Sep 17 00:00:00 2001 From: Taras Nikulin Date: Mon, 17 Apr 2017 14:42:40 +0300 Subject: [PATCH 052/713] Revert "Added link" This reverts commit 3f6be33a1750d6f9122ca8ab38b70c3a9e4d123b. --- Dijkstra Algorithm/README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Dijkstra Algorithm/README.md b/Dijkstra Algorithm/README.md index b2606f0f9..0ac4bc17e 100644 --- a/Dijkstra Algorithm/README.md +++ b/Dijkstra Algorithm/README.md @@ -13,8 +13,7 @@ Click the link: [YouTube](https://youtu.be/PPESI7et0cQ) ## Dijkstra's algorithm explanation -GIF from Wikipedia - + Wikipedia's explanation: Let the node at which we are starting be called the initial node. Let the distance of node Y be the distance from the initial node to Y. Dijkstra's algorithm will assign some initial distance values and will try to improve them step by step. From aea01e8b68d7fefd06ccae2d3afeb253a43abba0 Mon Sep 17 00:00:00 2001 From: Taras Nikulin Date: Mon, 17 Apr 2017 14:44:39 +0300 Subject: [PATCH 053/713] Added link to Wikipedia This reverts commit a153067e60fcd90d8a8b6448fbc5d9e0c5753076. --- Dijkstra Algorithm/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dijkstra Algorithm/README.md b/Dijkstra Algorithm/README.md index 0ac4bc17e..325bab40f 100644 --- a/Dijkstra Algorithm/README.md +++ b/Dijkstra Algorithm/README.md @@ -15,7 +15,7 @@ Click the link: [YouTube](https://youtu.be/PPESI7et0cQ) -Wikipedia's explanation: +[Wikipedia](https://en.wikipedia.org/wiki/Dijkstra%27s_algorithm)'s explanation: Let the node at which we are starting be called the initial node. Let the distance of node Y be the distance from the initial node to Y. Dijkstra's algorithm will assign some initial distance values and will try to improve them step by step. 1. Assign to every node a tentative distance value: set it to zero for our initial node and to infinity for all other nodes. From edafd431fab46087ff805f6ad419b076a076bf82 Mon Sep 17 00:00:00 2001 From: ph1ps Date: Mon, 17 Apr 2017 21:15:01 +0200 Subject: [PATCH 054/713] Add playground --- .../NaiveBayes.playground/Contents.swift | 60 ++++++ .../NaiveBayes.playground/Resources/wine.csv | 177 ++++++++++++++++ .../Sources/NaiveBayes.swift | 196 ++++++++++++++++++ .../contents.xcplayground | 4 + .../contents.xcworkspacedata | 7 + Naive Bayes Classifier/NaiveBayes.swift | 124 ++++------- 6 files changed, 479 insertions(+), 89 deletions(-) create mode 100644 Naive Bayes Classifier/NaiveBayes.playground/Contents.swift create mode 100644 Naive Bayes Classifier/NaiveBayes.playground/Resources/wine.csv create mode 100644 Naive Bayes Classifier/NaiveBayes.playground/Sources/NaiveBayes.swift create mode 100644 Naive Bayes Classifier/NaiveBayes.playground/contents.xcplayground create mode 100644 Naive Bayes Classifier/NaiveBayes.playground/playground.xcworkspace/contents.xcworkspacedata diff --git a/Naive Bayes Classifier/NaiveBayes.playground/Contents.swift b/Naive Bayes Classifier/NaiveBayes.playground/Contents.swift new file mode 100644 index 000000000..cb820272e --- /dev/null +++ b/Naive Bayes Classifier/NaiveBayes.playground/Contents.swift @@ -0,0 +1,60 @@ +import Foundation + +/*: + ## Naive Bayes Classifier + + This playground uses the given algorithm and utilizes its features with some example datasets + + ### Gaussian Naive Bayes + - Note: + When using Gaussian NB you have to have continuous features (Double). + + For this example we are going to use a famous dataset with different types of wine. The labels of the features can be viewed [here](https://gist.github.com/tijptjik/9408623) + */ +guard let wineCSV = Bundle.main.path(forResource: "wine", ofType: "csv") else { + print("Resource could not be found!") + exit(0) +} + +guard let csv = try? String(contentsOfFile: wineCSV) else { + print("File could not be read!") + exit(0) +} + +/*: + Reading the .csv file line per line + */ +let rows = csv.characters.split(separator: "\r\n").map { String($0) } +/*: + Splitting on the ; sign and converting the value to a Double + + - Important: + Do not force unwrap the mapped values in your real application. Carefully convert them! This is just for the sake of showing how the algorithm works. + */ +let wineData = rows.map { row -> [Double] in + let split = row.characters.split(separator: ";") + return split.map { Double(String($0))! } +} + +/*: + The algorithm wants the classes and the data seperated since this gives a huge performance boost. Also I haven't implemented this in the NB class itself since it is not in the scope of it. + */ +let rowOfClasses = 0 +let classes = wineData.map { Int($0[rowOfClasses]) } +let data = wineData.map { row in + return row.enumerated().filter { $0.offset != rowOfClasses }.map { $0.element } +} + +/*: + Again use `guard` on the result of a `try?` or simply `do-try-catch` because this would crash your application if an error occured. + + The array in the `classifyProba` method I passed is a former entry in the .csv file which I removed in order to classify it. + */ +let wineBayes = try! NaiveBayes(type: .gaussian, data: data, classes: classes).train() +let result = wineBayes.classifyProba(with: [12.85, 1.6, 2.52, 17.8, 95, 2.48, 2.37, 0.26, 1.46, 3.93, 1.09, 3.63, 1015]) +print(result) +/*: + I can assure you that this is the correct result and as you can see the classifier thinks that its ***99.99%*** correct too. + + ### Multinomial Naive Bayes + */ diff --git a/Naive Bayes Classifier/NaiveBayes.playground/Resources/wine.csv b/Naive Bayes Classifier/NaiveBayes.playground/Resources/wine.csv new file mode 100644 index 000000000..89e14fd02 --- /dev/null +++ b/Naive Bayes Classifier/NaiveBayes.playground/Resources/wine.csv @@ -0,0 +1,177 @@ +1;14.23;1.71;2.43;15.6;127;2.8;3.06;.28;2.29;5.64;1.04;3.92;1065 +1;13.2;1.78;2.14;11.2;100;2.65;2.76;.26;1.28;4.38;1.05;3.4;1050 +1;13.16;2.36;2.67;18.6;101;2.8;3.24;.3;2.81;5.68;1.03;3.17;1185 +1;14.37;1.95;2.5;16.8;113;3.85;3.49;.24;2.18;7.8;.86;3.45;1480 +1;13.24;2.59;2.87;21;118;2.8;2.69;.39;1.82;4.32;1.04;2.93;735 +1;14.2;1.76;2.45;15.2;112;3.27;3.39;.34;1.97;6.75;1.05;2.85;1450 +1;14.39;1.87;2.45;14.6;96;2.5;2.52;.3;1.98;5.25;1.02;3.58;1290 +1;14.06;2.15;2.61;17.6;121;2.6;2.51;.31;1.25;5.05;1.06;3.58;1295 +1;14.83;1.64;2.17;14;97;2.8;2.98;.29;1.98;5.2;1.08;2.85;1045 +1;13.86;1.35;2.27;16;98;2.98;3.15;.22;1.85;7.22;1.01;3.55;1045 +1;14.1;2.16;2.3;18;105;2.95;3.32;.22;2.38;5.75;1.25;3.17;1510 +1;14.12;1.48;2.32;16.8;95;2.2;2.43;.26;1.57;5;1.17;2.82;1280 +1;13.75;1.73;2.41;16;89;2.6;2.76;.29;1.81;5.6;1.15;2.9;1320 +1;14.75;1.73;2.39;11.4;91;3.1;3.69;.43;2.81;5.4;1.25;2.73;1150 +1;14.38;1.87;2.38;12;102;3.3;3.64;.29;2.96;7.5;1.2;3;1547 +1;13.63;1.81;2.7;17.2;112;2.85;2.91;.3;1.46;7.3;1.28;2.88;1310 +1;14.3;1.92;2.72;20;120;2.8;3.14;.33;1.97;6.2;1.07;2.65;1280 +1;13.83;1.57;2.62;20;115;2.95;3.4;.4;1.72;6.6;1.13;2.57;1130 +1;14.19;1.59;2.48;16.5;108;3.3;3.93;.32;1.86;8.7;1.23;2.82;1680 +1;13.64;3.1;2.56;15.2;116;2.7;3.03;.17;1.66;5.1;.96;3.36;845 +1;14.06;1.63;2.28;16;126;3;3.17;.24;2.1;5.65;1.09;3.71;780 +1;12.93;3.8;2.65;18.6;102;2.41;2.41;.25;1.98;4.5;1.03;3.52;770 +1;13.71;1.86;2.36;16.6;101;2.61;2.88;.27;1.69;3.8;1.11;4;1035 +1;13.5;1.81;2.61;20;96;2.53;2.61;.28;1.66;3.52;1.12;3.82;845 +1;13.05;2.05;3.22;25;124;2.63;2.68;.47;1.92;3.58;1.13;3.2;830 +1;13.39;1.77;2.62;16.1;93;2.85;2.94;.34;1.45;4.8;.92;3.22;1195 +1;13.3;1.72;2.14;17;94;2.4;2.19;.27;1.35;3.95;1.02;2.77;1285 +1;13.87;1.9;2.8;19.4;107;2.95;2.97;.37;1.76;4.5;1.25;3.4;915 +1;14.02;1.68;2.21;16;96;2.65;2.33;.26;1.98;4.7;1.04;3.59;1035 +1;13.73;1.5;2.7;22.5;101;3;3.25;.29;2.38;5.7;1.19;2.71;1285 +1;13.58;1.66;2.36;19.1;106;2.86;3.19;.22;1.95;6.9;1.09;2.88;1515 +1;13.68;1.83;2.36;17.2;104;2.42;2.69;.42;1.97;3.84;1.23;2.87;990 +1;13.76;1.53;2.7;19.5;132;2.95;2.74;.5;1.35;5.4;1.25;3;1235 +1;13.51;1.8;2.65;19;110;2.35;2.53;.29;1.54;4.2;1.1;2.87;1095 +1;13.48;1.81;2.41;20.5;100;2.7;2.98;.26;1.86;5.1;1.04;3.47;920 +1;13.28;1.64;2.84;15.5;110;2.6;2.68;.34;1.36;4.6;1.09;2.78;880 +1;13.05;1.65;2.55;18;98;2.45;2.43;.29;1.44;4.25;1.12;2.51;1105 +1;13.07;1.5;2.1;15.5;98;2.4;2.64;.28;1.37;3.7;1.18;2.69;1020 +1;14.22;3.99;2.51;13.2;128;3;3.04;.2;2.08;5.1;.89;3.53;760 +1;13.56;1.71;2.31;16.2;117;3.15;3.29;.34;2.34;6.13;.95;3.38;795 +1;13.41;3.84;2.12;18.8;90;2.45;2.68;.27;1.48;4.28;.91;3;1035 +1;13.88;1.89;2.59;15;101;3.25;3.56;.17;1.7;5.43;.88;3.56;1095 +1;13.24;3.98;2.29;17.5;103;2.64;2.63;.32;1.66;4.36;.82;3;680 +1;13.05;1.77;2.1;17;107;3;3;.28;2.03;5.04;.88;3.35;885 +1;14.21;4.04;2.44;18.9;111;2.85;2.65;.3;1.25;5.24;.87;3.33;1080 +1;14.38;3.59;2.28;16;102;3.25;3.17;.27;2.19;4.9;1.04;3.44;1065 +1;13.9;1.68;2.12;16;101;3.1;3.39;.21;2.14;6.1;.91;3.33;985 +1;14.1;2.02;2.4;18.8;103;2.75;2.92;.32;2.38;6.2;1.07;2.75;1060 +1;13.94;1.73;2.27;17.4;108;2.88;3.54;.32;2.08;8.90;1.12;3.1;1260 +1;13.05;1.73;2.04;12.4;92;2.72;3.27;.17;2.91;7.2;1.12;2.91;1150 +1;13.83;1.65;2.6;17.2;94;2.45;2.99;.22;2.29;5.6;1.24;3.37;1265 +1;13.82;1.75;2.42;14;111;3.88;3.74;.32;1.87;7.05;1.01;3.26;1190 +1;13.77;1.9;2.68;17.1;115;3;2.79;.39;1.68;6.3;1.13;2.93;1375 +1;13.74;1.67;2.25;16.4;118;2.6;2.9;.21;1.62;5.85;.92;3.2;1060 +1;13.56;1.73;2.46;20.5;116;2.96;2.78;.2;2.45;6.25;.98;3.03;1120 +1;14.22;1.7;2.3;16.3;118;3.2;3;.26;2.03;6.38;.94;3.31;970 +1;13.29;1.97;2.68;16.8;102;3;3.23;.31;1.66;6;1.07;2.84;1270 +1;13.72;1.43;2.5;16.7;108;3.4;3.67;.19;2.04;6.8;.89;2.87;1285 +2;12.37;.94;1.36;10.6;88;1.98;.57;.28;.42;1.95;1.05;1.82;520 +2;12.33;1.1;2.28;16;101;2.05;1.09;.63;.41;3.27;1.25;1.67;680 +2;12.64;1.36;2.02;16.8;100;2.02;1.41;.53;.62;5.75;.98;1.59;450 +2;13.67;1.25;1.92;18;94;2.1;1.79;.32;.73;3.8;1.23;2.46;630 +2;12.37;1.13;2.16;19;87;3.5;3.1;.19;1.87;4.45;1.22;2.87;420 +2;12.17;1.45;2.53;19;104;1.89;1.75;.45;1.03;2.95;1.45;2.23;355 +2;12.37;1.21;2.56;18.1;98;2.42;2.65;.37;2.08;4.6;1.19;2.3;678 +2;13.11;1.01;1.7;15;78;2.98;3.18;.26;2.28;5.3;1.12;3.18;502 +2;12.37;1.17;1.92;19.6;78;2.11;2;.27;1.04;4.68;1.12;3.48;510 +2;13.34;.94;2.36;17;110;2.53;1.3;.55;.42;3.17;1.02;1.93;750 +2;12.21;1.19;1.75;16.8;151;1.85;1.28;.14;2.5;2.85;1.28;3.07;718 +2;12.29;1.61;2.21;20.4;103;1.1;1.02;.37;1.46;3.05;906;1.82;870 +2;13.86;1.51;2.67;25;86;2.95;2.86;.21;1.87;3.38;1.36;3.16;410 +2;13.49;1.66;2.24;24;87;1.88;1.84;.27;1.03;3.74;.98;2.78;472 +2;12.99;1.67;2.6;30;139;3.3;2.89;.21;1.96;3.35;1.31;3.5;985 +2;11.96;1.09;2.3;21;101;3.38;2.14;.13;1.65;3.21;.99;3.13;886 +2;11.66;1.88;1.92;16;97;1.61;1.57;.34;1.15;3.8;1.23;2.14;428 +2;13.03;.9;1.71;16;86;1.95;2.03;.24;1.46;4.6;1.19;2.48;392 +2;11.84;2.89;2.23;18;112;1.72;1.32;.43;.95;2.65;.96;2.52;500 +2;12.33;.99;1.95;14.8;136;1.9;1.85;.35;2.76;3.4;1.06;2.31;750 +2;12.7;3.87;2.4;23;101;2.83;2.55;.43;1.95;2.57;1.19;3.13;463 +2;12;.92;2;19;86;2.42;2.26;.3;1.43;2.5;1.38;3.12;278 +2;12.72;1.81;2.2;18.8;86;2.2;2.53;.26;1.77;3.9;1.16;3.14;714 +2;12.08;1.13;2.51;24;78;2;1.58;.4;1.4;2.2;1.31;2.72;630 +2;13.05;3.86;2.32;22.5;85;1.65;1.59;.61;1.62;4.8;.84;2.01;515 +2;11.84;.89;2.58;18;94;2.2;2.21;.22;2.35;3.05;.79;3.08;520 +2;12.67;.98;2.24;18;99;2.2;1.94;.3;1.46;2.62;1.23;3.16;450 +2;12.16;1.61;2.31;22.8;90;1.78;1.69;.43;1.56;2.45;1.33;2.26;495 +2;11.65;1.67;2.62;26;88;1.92;1.61;.4;1.34;2.6;1.36;3.21;562 +2;11.64;2.06;2.46;21.6;84;1.95;1.69;.48;1.35;2.8;1;2.75;680 +2;12.08;1.33;2.3;23.6;70;2.2;1.59;.42;1.38;1.74;1.07;3.21;625 +2;12.08;1.83;2.32;18.5;81;1.6;1.5;.52;1.64;2.4;1.08;2.27;480 +2;12;1.51;2.42;22;86;1.45;1.25;.5;1.63;3.6;1.05;2.65;450 +2;12.69;1.53;2.26;20.7;80;1.38;1.46;.58;1.62;3.05;.96;2.06;495 +2;12.29;2.83;2.22;18;88;2.45;2.25;.25;1.99;2.15;1.15;3.3;290 +2;11.62;1.99;2.28;18;98;3.02;2.26;.17;1.35;3.25;1.16;2.96;345 +2;12.47;1.52;2.2;19;162;2.5;2.27;.32;3.28;2.6;1.16;2.63;937 +2;11.81;2.12;2.74;21.5;134;1.6;.99;.14;1.56;2.5;.95;2.26;625 +2;12.29;1.41;1.98;16;85;2.55;2.5;.29;1.77;2.9;1.23;2.74;428 +2;12.37;1.07;2.1;18.5;88;3.52;3.75;.24;1.95;4.5;1.04;2.77;660 +2;12.29;3.17;2.21;18;88;2.85;2.99;.45;2.81;2.3;1.42;2.83;406 +2;12.08;2.08;1.7;17.5;97;2.23;2.17;.26;1.4;3.3;1.27;2.96;710 +2;12.6;1.34;1.9;18.5;88;1.45;1.36;.29;1.35;2.45;1.04;2.77;562 +2;12.34;2.45;2.46;21;98;2.56;2.11;.34;1.31;2.8;.8;3.38;438 +2;11.82;1.72;1.88;19.5;86;2.5;1.64;.37;1.42;2.06;.94;2.44;415 +2;12.51;1.73;1.98;20.5;85;2.2;1.92;.32;1.48;2.94;1.04;3.57;672 +2;12.42;2.55;2.27;22;90;1.68;1.84;.66;1.42;2.7;.86;3.3;315 +2;12.25;1.73;2.12;19;80;1.65;2.03;.37;1.63;3.4;1;3.17;510 +2;12.72;1.75;2.28;22.5;84;1.38;1.76;.48;1.63;3.3;.88;2.42;488 +2;12.22;1.29;1.94;19;92;2.36;2.04;.39;2.08;2.7;.86;3.02;312 +2;11.61;1.35;2.7;20;94;2.74;2.92;.29;2.49;2.65;.96;3.26;680 +2;11.46;3.74;1.82;19.5;107;3.18;2.58;.24;3.58;2.9;.75;2.81;562 +2;12.52;2.43;2.17;21;88;2.55;2.27;.26;1.22;2;.9;2.78;325 +2;11.76;2.68;2.92;20;103;1.75;2.03;.6;1.05;3.8;1.23;2.5;607 +2;11.41;.74;2.5;21;88;2.48;2.01;.42;1.44;3.08;1.1;2.31;434 +2;12.08;1.39;2.5;22.5;84;2.56;2.29;.43;1.04;2.9;.93;3.19;385 +2;11.03;1.51;2.2;21.5;85;2.46;2.17;.52;2.01;1.9;1.71;2.87;407 +2;11.82;1.47;1.99;20.8;86;1.98;1.6;.3;1.53;1.95;.95;3.33;495 +2;12.42;1.61;2.19;22.5;108;2;2.09;.34;1.61;2.06;1.06;2.96;345 +2;12.77;3.43;1.98;16;80;1.63;1.25;.43;.83;3.4;.7;2.12;372 +2;12;3.43;2;19;87;2;1.64;.37;1.87;1.28;.93;3.05;564 +2;11.45;2.4;2.42;20;96;2.9;2.79;.32;1.83;3.25;.8;3.39;625 +2;11.56;2.05;3.23;28.5;119;3.18;5.08;.47;1.87;6;.93;3.69;465 +2;12.42;4.43;2.73;26.5;102;2.2;2.13;.43;1.71;2.08;.92;3.12;365 +2;13.05;5.8;2.13;21.5;86;2.62;2.65;.3;2.01;2.6;.73;3.1;380 +2;11.87;4.31;2.39;21;82;2.86;3.03;.21;2.91;2.8;.75;3.64;380 +2;12.07;2.16;2.17;21;85;2.6;2.65;.37;1.35;2.76;.86;3.28;378 +2;12.43;1.53;2.29;21.5;86;2.74;3.15;.39;1.77;3.94;.69;2.84;352 +2;11.79;2.13;2.78;28.5;92;2.13;2.24;.58;1.76;3;.97;2.44;466 +2;12.37;1.63;2.3;24.5;88;2.22;2.45;.4;1.9;2.12;.89;2.78;342 +2;12.04;4.3;2.38;22;80;2.1;1.75;.42;1.35;2.6;.79;2.57;580 +3;12.86;1.35;2.32;18;122;1.51;1.25;.21;.94;4.1;.76;1.29;630 +3;12.88;2.99;2.4;20;104;1.3;1.22;.24;.83;5.4;.74;1.42;530 +3;12.81;2.31;2.4;24;98;1.15;1.09;.27;.83;5.7;.66;1.36;560 +3;12.7;3.55;2.36;21.5;106;1.7;1.2;.17;.84;5;.78;1.29;600 +3;12.51;1.24;2.25;17.5;85;2;.58;.6;1.25;5.45;.75;1.51;650 +3;12.6;2.46;2.2;18.5;94;1.62;.66;.63;.94;7.1;.73;1.58;695 +3;12.25;4.72;2.54;21;89;1.38;.47;.53;.8;3.85;.75;1.27;720 +3;12.53;5.51;2.64;25;96;1.79;.6;.63;1.1;5;.82;1.69;515 +3;13.49;3.59;2.19;19.5;88;1.62;.48;.58;.88;5.7;.81;1.82;580 +3;12.84;2.96;2.61;24;101;2.32;.6;.53;.81;4.92;.89;2.15;590 +3;12.93;2.81;2.7;21;96;1.54;.5;.53;.75;4.6;.77;2.31;600 +3;13.36;2.56;2.35;20;89;1.4;.5;.37;.64;5.6;.7;2.47;780 +3;13.52;3.17;2.72;23.5;97;1.55;.52;.5;.55;4.35;.89;2.06;520 +3;13.62;4.95;2.35;20;92;2;.8;.47;1.02;4.4;.91;2.05;550 +3;12.25;3.88;2.2;18.5;112;1.38;.78;.29;1.14;8.21;.65;2;855 +3;13.16;3.57;2.15;21;102;1.5;.55;.43;1.3;4;.6;1.68;830 +3;13.88;5.04;2.23;20;80;.98;.34;.4;.68;4.9;.58;1.33;415 +3;12.87;4.61;2.48;21.5;86;1.7;.65;.47;.86;7.65;.54;1.86;625 +3;13.32;3.24;2.38;21.5;92;1.93;.76;.45;1.25;8.42;.55;1.62;650 +3;13.08;3.9;2.36;21.5;113;1.41;1.39;.34;1.14;9.40;.57;1.33;550 +3;13.5;3.12;2.62;24;123;1.4;1.57;.22;1.25;8.60;.59;1.3;500 +3;12.79;2.67;2.48;22;112;1.48;1.36;.24;1.26;10.8;.48;1.47;480 +3;13.11;1.9;2.75;25.5;116;2.2;1.28;.26;1.56;7.1;.61;1.33;425 +3;13.23;3.3;2.28;18.5;98;1.8;.83;.61;1.87;10.52;.56;1.51;675 +3;12.58;1.29;2.1;20;103;1.48;.58;.53;1.4;7.6;.58;1.55;640 +3;13.17;5.19;2.32;22;93;1.74;.63;.61;1.55;7.9;.6;1.48;725 +3;13.84;4.12;2.38;19.5;89;1.8;.83;.48;1.56;9.01;.57;1.64;480 +3;12.45;3.03;2.64;27;97;1.9;.58;.63;1.14;7.5;.67;1.73;880 +3;14.34;1.68;2.7;25;98;2.8;1.31;.53;2.7;13;.57;1.96;660 +3;13.48;1.67;2.64;22.5;89;2.6;1.1;.52;2.29;11.75;.57;1.78;620 +3;12.36;3.83;2.38;21;88;2.3;.92;.5;1.04;7.65;.56;1.58;520 +3;13.69;3.26;2.54;20;107;1.83;.56;.5;.8;5.88;.96;1.82;680 +3;12.85;3.27;2.58;22;106;1.65;.6;.6;.96;5.58;.87;2.11;570 +3;12.96;3.45;2.35;18.5;106;1.39;.7;.4;.94;5.28;.68;1.75;675 +3;13.78;2.76;2.3;22;90;1.35;.68;.41;1.03;9.58;.7;1.68;615 +3;13.73;4.36;2.26;22.5;88;1.28;.47;.52;1.15;6.62;.78;1.75;520 +3;13.45;3.7;2.6;23;111;1.7;.92;.43;1.46;10.68;.85;1.56;695 +3;12.82;3.37;2.3;19.5;88;1.48;.66;.4;.97;10.26;.72;1.75;685 +3;13.58;2.58;2.69;24.5;105;1.55;.84;.39;1.54;8.66;.74;1.8;750 +3;13.4;4.6;2.86;25;112;1.98;.96;.27;1.11;8.5;.67;1.92;630 +3;12.2;3.03;2.32;19;96;1.25;.49;.4;.73;5.5;.66;1.83;510 +3;12.77;2.39;2.28;19.5;86;1.39;.51;.48;.64;9.899999;.57;1.63;470 +3;14.16;2.51;2.48;20;91;1.68;.7;.44;1.24;9.7;.62;1.71;660 +3;13.71;5.65;2.45;20.5;95;1.68;.61;.52;1.06;7.7;.64;1.74;740 +3;13.4;3.91;2.48;23;102;1.8;.75;.43;1.41;7.3;.7;1.56;750 +3;13.27;4.28;2.26;20;120;1.59;.69;.43;1.35;10.2;.59;1.56;835 +3;13.17;2.59;2.37;20;120;1.65;.68;.53;1.46;9.3;.6;1.62;840 +3;14.13;4.1;2.74;24.5;96;2.05;.76;.56;1.35;9.2;.61;1.6;560 \ No newline at end of file diff --git a/Naive Bayes Classifier/NaiveBayes.playground/Sources/NaiveBayes.swift b/Naive Bayes Classifier/NaiveBayes.playground/Sources/NaiveBayes.swift new file mode 100644 index 000000000..3af8102c7 --- /dev/null +++ b/Naive Bayes Classifier/NaiveBayes.playground/Sources/NaiveBayes.swift @@ -0,0 +1,196 @@ +// +// NaiveBayes.swift +// NaiveBayes +// +// Created by Philipp Gabriel on 14.04.17. +// Copyright © 2017 ph1ps. All rights reserved. +// + +import Foundation + +extension String: Error {} + +extension Array where Element == Double { + + func mean() -> Double { + return self.reduce(0, +) / Double(count) + } + + func standardDeviation() -> Double { + let calculatedMean = mean() + + let sum = self.reduce(0.0) { (previous, next) in + return previous + pow(next - calculatedMean, 2) + } + + return sqrt(sum / Double(count - 1)) + } +} + +extension Array where Element == Int { + + func uniques() -> Set { + return Set(self) + } + +} + +public enum NBType { + + case gaussian + case multinomial + //case bernoulli --> TODO + + func calcLikelihood(variables: [Any], input: Any) -> Double? { + + if case .gaussian = self { + + guard let input = input as? Double else { + return nil + } + + guard let mean = variables[0] as? Double else { + return nil + } + + guard let stDev = variables[1] as? Double else { + return nil + } + + let eulerPart = pow(M_E, -1 * pow(input - mean, 2) / (2 * pow(stDev, 2))) + let distribution = eulerPart / sqrt(2 * .pi) / stDev + + return distribution + + } else if case .multinomial = self { + + guard let variables = variables as? [(category: Int, probability: Double)] else { + return nil + } + + guard let input = input as? Int else { + return nil + } + + return variables.first { variable in + return variable.category == input + }?.probability + + } + + return nil + } + + func train(values: [Any]) -> [Any]? { + + if case .gaussian = self { + + guard let values = values as? [Double] else { + return nil + } + + return [values.mean(), values.standardDeviation()] + + } else if case .multinomial = self { + + guard let values = values as? [Int] else { + return nil + } + + let count = values.count + let categoryProba = values.uniques().map { value -> (Int, Double) in + return (value, Double(values.filter { $0 == value }.count) / Double(count)) + } + return categoryProba + } + + return nil + } +} + +public class NaiveBayes { + + var variables: [Int: [(feature: Int, variables: [Any])]] + var type: NBType + + var data: [[T]] + var classes: [Int] + + public init(type: NBType, data: [[T]], classes: [Int]) throws { + self.type = type + self.data = data + self.classes = classes + self.variables = [Int: [(Int, [Any])]]() + + if case .gaussian = type, T.self != Double.self { + throw "When using Gaussian NB you have to have continuous features (Double)" + } else if case .multinomial = type, T.self != Int.self { + throw "When using Multinomial NB you have to have categorical features (Int)" + } + } + + public func train() throws -> Self { + + for `class` in classes.uniques() { + variables[`class`] = [(Int, [Any])]() + + let classDependent = data.enumerated().filter { (offset, _) in + return classes[offset] == `class` + } + + for feature in 0.. Int { + let likelihoods = classifyProba(with: input).max { (first, second) -> Bool in + return first.1 < second.1 + } + + guard let `class` = likelihoods?.0 else { + return -1 + } + + return `class` + } + + public func classifyProba(with input: [T]) -> [(Int, Double)] { + + var probaClass = [Int: Double]() + let amount = classes.count + + classes.forEach { `class` in + let individual = classes.filter { $0 == `class` }.count + probaClass[`class`] = Double(individual) / Double(amount) + } + + let classesAndFeatures = variables.map { (`class`, value) -> (Int, [Double]) in + let distribution = value.map { (feature, variables) -> Double in + return type.calcLikelihood(variables: variables, input: input[feature]) ?? 0.0 + } + return (`class`, distribution) + } + + let likelihoods = classesAndFeatures.map { (`class`, distribution) in + return (`class`, distribution.reduce(1, *) * (probaClass[`class`] ?? 0.0)) + } + + let sum = likelihoods.map { $0.1 }.reduce(0, +) + let normalized = likelihoods.map { (`class`, likelihood) in + return (`class`, likelihood / sum) + } + + return normalized + } +} diff --git a/Naive Bayes Classifier/NaiveBayes.playground/contents.xcplayground b/Naive Bayes Classifier/NaiveBayes.playground/contents.xcplayground new file mode 100644 index 000000000..b1148fc50 --- /dev/null +++ b/Naive Bayes Classifier/NaiveBayes.playground/contents.xcplayground @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/Naive Bayes Classifier/NaiveBayes.playground/playground.xcworkspace/contents.xcworkspacedata b/Naive Bayes Classifier/NaiveBayes.playground/playground.xcworkspace/contents.xcworkspacedata new file mode 100644 index 000000000..919434a62 --- /dev/null +++ b/Naive Bayes Classifier/NaiveBayes.playground/playground.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/Naive Bayes Classifier/NaiveBayes.swift b/Naive Bayes Classifier/NaiveBayes.swift index dbbf3cd9f..9b9ace86d 100644 --- a/Naive Bayes Classifier/NaiveBayes.swift +++ b/Naive Bayes Classifier/NaiveBayes.swift @@ -8,6 +8,8 @@ import Foundation +extension String: Error {} + extension Array where Element == Double { func mean() -> Double { @@ -35,29 +37,9 @@ extension Array where Element == Int { enum NBType { - case gaussian(data: [[Double]], classes: [Int]) - case multinomial(data: [[Int]], classes: [Int]) - //case bernoulli(data: [[Bool]], classes: [Int]) --> TODO - - var classes: [Int] { - if case .gaussian(_, let classes) = self { - return classes - } else if case .multinomial(_, let classes) = self { - return classes - } - - return [] - } - - var data: [[Any]] { - if case .gaussian(let data, _) = self { - return data - } else if case .multinomial(let data, _) = self { - return data - } - - return [] - } + case gaussian + case multinomial + //case bernoulli --> TODO func calcLikelihood(variables: [Any], input: Any) -> Double? { @@ -86,12 +68,12 @@ enum NBType { return nil } - guard let input = input as? Double else { + guard let input = input as? Int else { return nil } return variables.first { variable in - return variable.category == Int(input) + return variable.category == input }?.probability } @@ -126,49 +108,52 @@ enum NBType { } } -class NaiveBayes { +class NaiveBayes { - private var variables: [Int: [(feature: Int, variables: [Any])]] - private var type: NBType + var variables: [Int: [(feature: Int, variables: [Any])]] + var type: NBType - init(type: NBType) { + var data: [[T]] + var classes: [Int] + + init(type: NBType, data: [[T]], classes: [Int]) throws { self.type = type + self.data = data + self.classes = classes self.variables = [Int: [(Int, [Any])]]() - } - - static func convert(dataAndClasses: [[T]], rowOfClasses: Int) -> (data: [[T]], classes: [Int]) { - let classes = dataAndClasses.map { Int($0[rowOfClasses] as! Double) } //TODO - let data = dataAndClasses.map { row in - return row.enumerated().filter { $0.offset != rowOfClasses }.map { $0.element } + if case .gaussian = type, T.self != Double.self { + throw "When using Gaussian NB you have to have continuous features (Double)" + } else if case .multinomial = type, T.self != Int.self { + throw "When using Multinomial NB you have to have categorical features (Int)" } - - return (data, classes) } - //TODO remake pliss, i dont like this at all - func train() { - - var classes = type.classes + func train() throws -> Self { for `class` in classes.uniques() { - variables[`class`] = [(Int, [Any])]() - for feature in 0.. Int { + func classify(with input: [T]) -> Int { let likelihoods = classifyProba(with: input).max { (first, second) -> Bool in return first.1 < second.1 } @@ -180,10 +165,8 @@ class NaiveBayes { return `class` } - //TODO fix this doesnt have to be a double - func classifyProba(with input: [Double]) -> [(Int, Double)] { + func classifyProba(with input: [T]) -> [(Int, Double)] { - let classes = type.classes var probaClass = [Int: Double]() let amount = classes.count @@ -200,7 +183,7 @@ class NaiveBayes { } let likelihoods = classesAndFeatures.map { (`class`, distribution) in - return (`class`, distribution.reduce(1, *) * (probaClass[`class`] ?? 1.0)) + return (`class`, distribution.reduce(1, *) * (probaClass[`class`] ?? 0.0)) } let sum = likelihoods.map { $0.1 }.reduce(0, +) @@ -211,40 +194,3 @@ class NaiveBayes { return normalized } } - -guard let csv = try? String(contentsOfFile: "/Users/ph1ps/Desktop/wine.csv") else { - print("file not found") - exit(0) -} - -let rows = csv.characters.split(separator: "\r\n").map { String($0) } -let wineData = rows.map { row -> [Double] in - let split = row.characters.split(separator: ";") - return split.map { Double(String($0))! } -} - -let convertedWine = NaiveBayes.convert(dataAndClasses: wineData, rowOfClasses: 0) -let wineNaive = NaiveBayes(type: .gaussian(data: convertedWine.data, classes: convertedWine.classes)) -wineNaive.train() -print(wineNaive.classifyProba(with: [12.85, 1.6, 2.52, 17.8, 95, 2.48, 2.37, 0.26, 1.46, 3.93, 1.09, 3.63, 1015])) - -let golfData = [ - [0, 0, 0, 0], - [0, 0, 0, 1], - [1, 0, 0, 0], - [2, 1, 0, 0], - [2, 2, 1, 0], - [2, 2, 1, 1], - [1, 2, 1, 1], - [0, 1, 0, 0], - [0, 2, 1, 0], - [2, 1, 1, 0], - [0, 1, 1, 1], - [1, 1, 0, 1], - [1, 0, 1, 0], - [2, 1, 0, 1] -] -let golfClasses = [0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0] -let golfNaive = NaiveBayes(type: .multinomial(data: golfData, classes: golfClasses)) -golfNaive.train() -print(golfNaive.classifyProba(with: [0, 2, 0, 1])) From 8ac88ae7fe6134885956502bd9551e7b6cd0a083 Mon Sep 17 00:00:00 2001 From: ph1ps Date: Mon, 17 Apr 2017 21:29:43 +0200 Subject: [PATCH 055/713] Change macOS playground to iOS --- .../NaiveBayes.playground/Contents.swift | 51 +++++++++++++++++-- .../contents.xcplayground | 2 +- .../NaiveBayes.playground/timeline.xctimeline | 21 ++++++++ 3 files changed, 70 insertions(+), 4 deletions(-) create mode 100644 Naive Bayes Classifier/NaiveBayes.playground/timeline.xctimeline diff --git a/Naive Bayes Classifier/NaiveBayes.playground/Contents.swift b/Naive Bayes Classifier/NaiveBayes.playground/Contents.swift index cb820272e..321e7a04a 100644 --- a/Naive Bayes Classifier/NaiveBayes.playground/Contents.swift +++ b/Naive Bayes Classifier/NaiveBayes.playground/Contents.swift @@ -7,7 +7,7 @@ import Foundation ### Gaussian Naive Bayes - Note: - When using Gaussian NB you have to have continuous features (Double). + When using Gaussian NB you have to have continuous features (Double). For this example we are going to use a famous dataset with different types of wine. The labels of the features can be viewed [here](https://gist.github.com/tijptjik/9408623) */ @@ -52,9 +52,54 @@ let data = wineData.map { row in */ let wineBayes = try! NaiveBayes(type: .gaussian, data: data, classes: classes).train() let result = wineBayes.classifyProba(with: [12.85, 1.6, 2.52, 17.8, 95, 2.48, 2.37, 0.26, 1.46, 3.93, 1.09, 3.63, 1015]) -print(result) /*: - I can assure you that this is the correct result and as you can see the classifier thinks that its ***99.99%*** correct too. + I can assure you that ***class 1*** is the correct result and as you can see the classifier thinks that its ***99.99%*** likely too. ### Multinomial Naive Bayes + + - Note: + When using Multinomial NB you have to have categorical features (Int). + + Now this dataset is commonly used to describe the classification problem and it is categorical which means you don't have real values you just have categorical data as stated before. The structure of this dataset is as follows. + + Outlook,Temperature,Humidity,Windy + + ***Outlook***: 0 = rainy, 1 = overcast, 2 = sunny + + ***Temperature***: 0 = hot, 1 = mild, 2 = cool + + ***Humidity***: 0 = high, 1 = normal + + ***Windy***: 0 = false, 1 = true + + The classes are either he will play golf or not depending on the weather conditions. (0 = won't play, 1 = will play) + */ + +let golfData = [ + [0, 0, 0, 0], + [0, 0, 0, 1], + [1, 0, 0, 0], + [2, 1, 0, 0], + [2, 2, 1, 0], + [2, 2, 1, 1], + [1, 2, 1, 1], + [0, 1, 0, 0], + [0, 2, 1, 0], + [2, 1, 1, 0], + [0, 1, 1, 1], + [1, 1, 0, 1], + [1, 0, 1, 0], + [2, 1, 0, 1] +] +let golfClasses = [0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0] + +let golfNaive = try! NaiveBayes(type: .multinomial, data: golfData, classes: golfClasses).train() + +/*: + The weather conditions is as follows now: Outlook=rainy, Temperature=cool, Humidity=high, Windy=true + */ +let golfResult = golfNaive.classifyProba(with: [0, 2, 0, 1]) + +/*: + Naive Bayes tells us that the golf player will ***not*** play with a likelihood of almost ***80%***. Which is true of course. */ diff --git a/Naive Bayes Classifier/NaiveBayes.playground/contents.xcplayground b/Naive Bayes Classifier/NaiveBayes.playground/contents.xcplayground index b1148fc50..35968656f 100644 --- a/Naive Bayes Classifier/NaiveBayes.playground/contents.xcplayground +++ b/Naive Bayes Classifier/NaiveBayes.playground/contents.xcplayground @@ -1,4 +1,4 @@ - + \ No newline at end of file diff --git a/Naive Bayes Classifier/NaiveBayes.playground/timeline.xctimeline b/Naive Bayes Classifier/NaiveBayes.playground/timeline.xctimeline new file mode 100644 index 000000000..b15fdda55 --- /dev/null +++ b/Naive Bayes Classifier/NaiveBayes.playground/timeline.xctimeline @@ -0,0 +1,21 @@ + + + + + + + + + + + From 9fafc9278d72240fda1117d010b1544ff106dccb Mon Sep 17 00:00:00 2001 From: ph1ps Date: Tue, 18 Apr 2017 13:47:17 +0200 Subject: [PATCH 056/713] Add README with explanation --- .../NaiveBayes.playground/Contents.swift | 28 ++--- .../Sources/NaiveBayes.swift | 100 +++++++++--------- .../contents.xcplayground | 2 +- .../NaiveBayes.playground/timeline.xctimeline | 10 ++ Naive Bayes Classifier/NaiveBayes.swift | 100 +++++++++--------- Naive Bayes Classifier/README.md | 99 +++++++++++++++++ Naive Bayes Classifier/images/bayes.gif | Bin 0 -> 1095 bytes .../images/code_example.png | Bin 0 -> 122044 bytes Naive Bayes Classifier/images/mean.gif | Bin 0 -> 590 bytes Naive Bayes Classifier/images/multinomial.gif | Bin 0 -> 703 bytes .../images/normal_distribution.gif | Bin 0 -> 925 bytes .../images/standard_deviation.gif | Bin 0 -> 1125 bytes .../images/tennis_dataset.png | Bin 0 -> 61477 bytes 13 files changed, 224 insertions(+), 115 deletions(-) create mode 100644 Naive Bayes Classifier/images/bayes.gif create mode 100644 Naive Bayes Classifier/images/code_example.png create mode 100644 Naive Bayes Classifier/images/mean.gif create mode 100644 Naive Bayes Classifier/images/multinomial.gif create mode 100644 Naive Bayes Classifier/images/normal_distribution.gif create mode 100644 Naive Bayes Classifier/images/standard_deviation.gif create mode 100644 Naive Bayes Classifier/images/tennis_dataset.png diff --git a/Naive Bayes Classifier/NaiveBayes.playground/Contents.swift b/Naive Bayes Classifier/NaiveBayes.playground/Contents.swift index 321e7a04a..66aefaa32 100644 --- a/Naive Bayes Classifier/NaiveBayes.playground/Contents.swift +++ b/Naive Bayes Classifier/NaiveBayes.playground/Contents.swift @@ -2,13 +2,13 @@ import Foundation /*: ## Naive Bayes Classifier - + This playground uses the given algorithm and utilizes its features with some example datasets - + ### Gaussian Naive Bayes - Note: When using Gaussian NB you have to have continuous features (Double). - + For this example we are going to use a famous dataset with different types of wine. The labels of the features can be viewed [here](https://gist.github.com/tijptjik/9408623) */ guard let wineCSV = Bundle.main.path(forResource: "wine", ofType: "csv") else { @@ -27,7 +27,7 @@ guard let csv = try? String(contentsOfFile: wineCSV) else { let rows = csv.characters.split(separator: "\r\n").map { String($0) } /*: Splitting on the ; sign and converting the value to a Double - + - Important: Do not force unwrap the mapped values in your real application. Carefully convert them! This is just for the sake of showing how the algorithm works. */ @@ -47,31 +47,31 @@ let data = wineData.map { row in /*: Again use `guard` on the result of a `try?` or simply `do-try-catch` because this would crash your application if an error occured. - + The array in the `classifyProba` method I passed is a former entry in the .csv file which I removed in order to classify it. */ let wineBayes = try! NaiveBayes(type: .gaussian, data: data, classes: classes).train() let result = wineBayes.classifyProba(with: [12.85, 1.6, 2.52, 17.8, 95, 2.48, 2.37, 0.26, 1.46, 3.93, 1.09, 3.63, 1015]) /*: I can assure you that ***class 1*** is the correct result and as you can see the classifier thinks that its ***99.99%*** likely too. - + ### Multinomial Naive Bayes - + - Note: When using Multinomial NB you have to have categorical features (Int). - + Now this dataset is commonly used to describe the classification problem and it is categorical which means you don't have real values you just have categorical data as stated before. The structure of this dataset is as follows. - + Outlook,Temperature,Humidity,Windy - + ***Outlook***: 0 = rainy, 1 = overcast, 2 = sunny - + ***Temperature***: 0 = hot, 1 = mild, 2 = cool - + ***Humidity***: 0 = high, 1 = normal - + ***Windy***: 0 = false, 1 = true - + The classes are either he will play golf or not depending on the weather conditions. (0 = won't play, 1 = will play) */ diff --git a/Naive Bayes Classifier/NaiveBayes.playground/Sources/NaiveBayes.swift b/Naive Bayes Classifier/NaiveBayes.playground/Sources/NaiveBayes.swift index 3af8102c7..6e6d7b4c0 100644 --- a/Naive Bayes Classifier/NaiveBayes.playground/Sources/NaiveBayes.swift +++ b/Naive Bayes Classifier/NaiveBayes.playground/Sources/NaiveBayes.swift @@ -11,186 +11,186 @@ import Foundation extension String: Error {} extension Array where Element == Double { - + func mean() -> Double { return self.reduce(0, +) / Double(count) } - + func standardDeviation() -> Double { let calculatedMean = mean() - + let sum = self.reduce(0.0) { (previous, next) in return previous + pow(next - calculatedMean, 2) } - + return sqrt(sum / Double(count - 1)) } } extension Array where Element == Int { - + func uniques() -> Set { return Set(self) } - + } public enum NBType { - + case gaussian case multinomial //case bernoulli --> TODO - + func calcLikelihood(variables: [Any], input: Any) -> Double? { - + if case .gaussian = self { - + guard let input = input as? Double else { return nil } - + guard let mean = variables[0] as? Double else { return nil } - + guard let stDev = variables[1] as? Double else { return nil } - + let eulerPart = pow(M_E, -1 * pow(input - mean, 2) / (2 * pow(stDev, 2))) let distribution = eulerPart / sqrt(2 * .pi) / stDev - + return distribution - + } else if case .multinomial = self { - + guard let variables = variables as? [(category: Int, probability: Double)] else { return nil } - + guard let input = input as? Int else { return nil } - + return variables.first { variable in return variable.category == input }?.probability - + } - + return nil } - + func train(values: [Any]) -> [Any]? { - + if case .gaussian = self { - + guard let values = values as? [Double] else { return nil } - + return [values.mean(), values.standardDeviation()] - + } else if case .multinomial = self { - + guard let values = values as? [Int] else { return nil } - + let count = values.count let categoryProba = values.uniques().map { value -> (Int, Double) in return (value, Double(values.filter { $0 == value }.count) / Double(count)) } return categoryProba } - + return nil } } public class NaiveBayes { - + var variables: [Int: [(feature: Int, variables: [Any])]] var type: NBType - + var data: [[T]] var classes: [Int] - + public init(type: NBType, data: [[T]], classes: [Int]) throws { self.type = type self.data = data self.classes = classes self.variables = [Int: [(Int, [Any])]]() - + if case .gaussian = type, T.self != Double.self { throw "When using Gaussian NB you have to have continuous features (Double)" } else if case .multinomial = type, T.self != Int.self { throw "When using Multinomial NB you have to have categorical features (Int)" } } - + public func train() throws -> Self { - + for `class` in classes.uniques() { variables[`class`] = [(Int, [Any])]() - + let classDependent = data.enumerated().filter { (offset, _) in return classes[offset] == `class` } - + for feature in 0.. Int { let likelihoods = classifyProba(with: input).max { (first, second) -> Bool in return first.1 < second.1 } - + guard let `class` = likelihoods?.0 else { return -1 } - + return `class` } - + public func classifyProba(with input: [T]) -> [(Int, Double)] { - + var probaClass = [Int: Double]() let amount = classes.count - + classes.forEach { `class` in let individual = classes.filter { $0 == `class` }.count probaClass[`class`] = Double(individual) / Double(amount) } - + let classesAndFeatures = variables.map { (`class`, value) -> (Int, [Double]) in let distribution = value.map { (feature, variables) -> Double in return type.calcLikelihood(variables: variables, input: input[feature]) ?? 0.0 } return (`class`, distribution) } - + let likelihoods = classesAndFeatures.map { (`class`, distribution) in return (`class`, distribution.reduce(1, *) * (probaClass[`class`] ?? 0.0)) } - + let sum = likelihoods.map { $0.1 }.reduce(0, +) let normalized = likelihoods.map { (`class`, likelihood) in return (`class`, likelihood / sum) } - + return normalized } } diff --git a/Naive Bayes Classifier/NaiveBayes.playground/contents.xcplayground b/Naive Bayes Classifier/NaiveBayes.playground/contents.xcplayground index 35968656f..89da2d470 100644 --- a/Naive Bayes Classifier/NaiveBayes.playground/contents.xcplayground +++ b/Naive Bayes Classifier/NaiveBayes.playground/contents.xcplayground @@ -1,4 +1,4 @@ - + \ No newline at end of file diff --git a/Naive Bayes Classifier/NaiveBayes.playground/timeline.xctimeline b/Naive Bayes Classifier/NaiveBayes.playground/timeline.xctimeline index b15fdda55..7bc414f58 100644 --- a/Naive Bayes Classifier/NaiveBayes.playground/timeline.xctimeline +++ b/Naive Bayes Classifier/NaiveBayes.playground/timeline.xctimeline @@ -17,5 +17,15 @@ selectedRepresentationIndex = "0" shouldTrackSuperviewWidth = "NO"> + + + + diff --git a/Naive Bayes Classifier/NaiveBayes.swift b/Naive Bayes Classifier/NaiveBayes.swift index 9b9ace86d..46a0bb4f5 100644 --- a/Naive Bayes Classifier/NaiveBayes.swift +++ b/Naive Bayes Classifier/NaiveBayes.swift @@ -11,186 +11,186 @@ import Foundation extension String: Error {} extension Array where Element == Double { - + func mean() -> Double { return self.reduce(0, +) / Double(count) } - + func standardDeviation() -> Double { let calculatedMean = mean() - + let sum = self.reduce(0.0) { (previous, next) in return previous + pow(next - calculatedMean, 2) } - + return sqrt(sum / Double(count - 1)) } } extension Array where Element == Int { - + func uniques() -> Set { return Set(self) } - + } enum NBType { - + case gaussian case multinomial //case bernoulli --> TODO - + func calcLikelihood(variables: [Any], input: Any) -> Double? { - + if case .gaussian = self { - + guard let input = input as? Double else { return nil } - + guard let mean = variables[0] as? Double else { return nil } - + guard let stDev = variables[1] as? Double else { return nil } - + let eulerPart = pow(M_E, -1 * pow(input - mean, 2) / (2 * pow(stDev, 2))) let distribution = eulerPart / sqrt(2 * .pi) / stDev - + return distribution - + } else if case .multinomial = self { - + guard let variables = variables as? [(category: Int, probability: Double)] else { return nil } - + guard let input = input as? Int else { return nil } - + return variables.first { variable in return variable.category == input }?.probability - + } - + return nil } - + func train(values: [Any]) -> [Any]? { - + if case .gaussian = self { - + guard let values = values as? [Double] else { return nil } - + return [values.mean(), values.standardDeviation()] - + } else if case .multinomial = self { - + guard let values = values as? [Int] else { return nil } - + let count = values.count let categoryProba = values.uniques().map { value -> (Int, Double) in return (value, Double(values.filter { $0 == value }.count) / Double(count)) } return categoryProba } - + return nil } } class NaiveBayes { - + var variables: [Int: [(feature: Int, variables: [Any])]] var type: NBType - + var data: [[T]] var classes: [Int] - + init(type: NBType, data: [[T]], classes: [Int]) throws { self.type = type self.data = data self.classes = classes self.variables = [Int: [(Int, [Any])]]() - + if case .gaussian = type, T.self != Double.self { throw "When using Gaussian NB you have to have continuous features (Double)" } else if case .multinomial = type, T.self != Int.self { throw "When using Multinomial NB you have to have categorical features (Int)" } } - + func train() throws -> Self { - + for `class` in classes.uniques() { variables[`class`] = [(Int, [Any])]() - + let classDependent = data.enumerated().filter { (offset, _) in return classes[offset] == `class` } - + for feature in 0.. Int { let likelihoods = classifyProba(with: input).max { (first, second) -> Bool in return first.1 < second.1 } - + guard let `class` = likelihoods?.0 else { return -1 } - + return `class` } - + func classifyProba(with input: [T]) -> [(Int, Double)] { - + var probaClass = [Int: Double]() let amount = classes.count - + classes.forEach { `class` in let individual = classes.filter { $0 == `class` }.count probaClass[`class`] = Double(individual) / Double(amount) } - + let classesAndFeatures = variables.map { (`class`, value) -> (Int, [Double]) in let distribution = value.map { (feature, variables) -> Double in return type.calcLikelihood(variables: variables, input: input[feature]) ?? 0.0 } return (`class`, distribution) } - + let likelihoods = classesAndFeatures.map { (`class`, distribution) in return (`class`, distribution.reduce(1, *) * (probaClass[`class`] ?? 0.0)) } - + let sum = likelihoods.map { $0.1 }.reduce(0, +) let normalized = likelihoods.map { (`class`, likelihood) in return (`class`, likelihood / sum) } - + return normalized } } diff --git a/Naive Bayes Classifier/README.md b/Naive Bayes Classifier/README.md index e69de29bb..9c0f0082a 100644 --- a/Naive Bayes Classifier/README.md +++ b/Naive Bayes Classifier/README.md @@ -0,0 +1,99 @@ +# Naive Bayes Classifier + +> ***Disclaimer:*** Do not get scared of complicated formulas or terms, I will describe them right after I use them. Also the math skills you need to understand this are very basic. + +The goal of a classifier is to predict the class of a given data entry based on previously fed data and its features. + +Now what is a class or a feature? The best I can do is to describe it with a table. +This is a dataset that uses height, weight and foot size of a person to illustrate the relationship between those values and the sex. + +| Sex | height (feet) | weight(lbs) | foot size (inches) | +| ------------- |:-------------:|:-----:|:---:| +| male | 6 | 180 | 12 | +| male | 5.92 | 190 | 11 | +| male | 5.58 | 170 | 12 | +| male | 5.92 | 165 | 10 | +| female | 5 | 100 | 6 | +| female | 5.5 | 150 | 8 | +| female | 5.42 | 130 | 7 | +| female | 5.75 | 150 | 9 | + +The ***classes*** of this table is the data in the sex column (male/female). You "classify" the rest of the data and bind them to a sex. + +The ***features*** of this table are the labels of the other columns (height, weight, foot size) and the numbers right under the labels. + +Now that I've told you what a classifier is I will tell you what exactly a ***Naive Bayes classifier*** is. There are a lot of other classifiers out there but what's so special about this specific is that it only needs a very small dataset to get good results. The others like Random Forests normally need a very large dataset. + +Why isn't this algorithm used more you might ask (or not). Because it is normally ***outperformed*** in accuracy by ***Random Forests*** or ***Boosted Trees***. + +## Theory + +The Naive Bayes classifier utilizes the ***Bayes Theorem*** (as its name suggests) which looks like this. + +![](images/bayes.gif) + +***P*** always means the probability of something. + +***A*** is the class, ***B*** is the data depending on a feature and the ***pipe*** symbol means given. + +P(A | B) therefore is: probability of the class given the data (which is dependent on the feature). + +This is all you have to know about the Bayes Theorem. The important thing for us is now how to calculate all those variables, plug them into this formula and you are ready to classify data. + +### **P(A)** +This is the probability of the class. To get back to the example I gave before: Let's say we want to classify this data entry: + +| height (feet) | weight(lbs) | foot size (inches) | +|:-------------:|:-----:|:---:| +| 6 | 130 | 8 | + +What Naive Bayes classifier now does: it checks the probability for every class possible which is in our case either male or female. Look back at the original table and count the male and the female entries. Then divide them by the overall count of data entries. + +P(male) = 4 / 8 = 0.5 + +P(female) = 4 / 8 = 0.5 + +This should be a very easy task to do. Basically just the probability of all classes. + +### **P(B)** +This variable is not needed in a Naive Bayes classifier. It is the probability of the data. It does not change, therefore it is a constant. And what can you do with a constant? Exactly! Discard it. This saves time and code. + +### **P(B | A)** +This is the probability of the data given the class. To calculate this I have to introduce you to the subtypes of NB. You have to decide which you use depending on your data which you want to classify. + +### **Gaussian Naive Bayes** +If you have a dataset like the one I showed you before (continuous features -> `Double`s) you have to use this subtype. There are 3 formulas you need for Gaussian NB to calculate P(B | A). + +![mean](images/mean.gif) + +![standard deviation](images/standard_deviation.gif) + +![normal distribution](images/normal_distribution.gif) + +and **P(x | y) = P(B | A)** + +Again, very complicated looking formulas but they are very easy. The first formula with µ is just the mean of the data (adding all data points and dividing them by the count). The second with σ is the standard deviation. You might have heard of it somewhen in school. It is just the sum of all values minus the mean, squared and that divided by the count of the data minus 1 and a sqaure root around it. The third equation is the Gaussian or normal distribution if you want to read more about it I suggest reading [this](https://en.wikipedia.org/wiki/Normal_distribution). + +Why the Gaussian distribution? Because we assume that the continuous values associated with each class are distributed according to the Gaussian distribution. Simple as that. + +### **Multinomial Naive Bayes** + +What do we do if we have this for examples: + +![tennis or golf](images/tennis_dataset.png) + +We can't just calculate the mean of sunny, overcast and rainy. This is why we need the categorical model which is the multinomial NB. This is the last formula, I promise! + +![multinomial](images/multinomial.gif) + +Now this is the number of times feature **i** appears in a sample **N** of class **y** in the data set divided by the count of the sample just depending on the class **y**. That θ is also just a fancy way of writing P(B | A). + +You might have noticed that there is still the α in this formula. This solves a problem called "zero-frequency-problem". Because what happens if there is no sample with feature **i** and class **y**? The whole equation would result in 0 (because 0 / something is always 0). This is a huge problem but there is a simple solution to this. Just add 1 to any count of the sample (α = 1). + +## Those formulas in action + +Enough talking! This is the code. If you want a deeper explanation of how the code works just look at the Playground I provided. + +![code example](images/code_example.png) + +*Written for Swift Algorithm Club by Philipp Gabriel* \ No newline at end of file diff --git a/Naive Bayes Classifier/images/bayes.gif b/Naive Bayes Classifier/images/bayes.gif new file mode 100644 index 0000000000000000000000000000000000000000..363ff3425836342c4e354a74454b4828c1fab6d3 GIT binary patch literal 1095 zcmV-N1i1T0Nk%w1Vb1_70OJ4v|Ns90004G&b|NAoW@ctYL`2NY%v4lVy1KgD+}xO$ znC|ZGh=_;~5D+plGODVoA^8LW00000EC2ui0M7s`000F35XecZy*TU5yI+boEg}$> z=mm;r>b`KC5oB4E3n8PlnD4+KOfU!tj)a1N!a!JvMr5IN(-54KM=J(B3X;o7b91F= zh3GV=aG)RpiHQSK&`lD7hop*mZvk^aY;JIJ8-5jmYKx2j0b2_J3=(G-c@;)`8VZsX z41X_=6p@nvl^L9+VxWz!FmG`a1_4+Fu@$p5l!X9%79j(6vc4Ar9IzC#wYL|*!V(6= zuG1+34HX26*B14m3J zr&6dow5$Yn85Xz%Ab=QCO%+xGKt^HhHvn@6oh{f}N{a#~oxTwKL7l82;k1`DtadXy zH#FNEdWZmy;fERl4mzfGy#;vys9z2UZz>_dfdCOHT_2!|!SYcVoEP{mK|u@a*mXVF z-hFu&DMmxifc>P1mn2(G30**(P6}_0@cvg%27^p67=RWaLY->Q;2{@+8VSHv2mNVf z+Hn&ea-k?AbYjYd<#`AfCY@!nN@34H&HgXjZ=;<(sbh*I2MFv7(!Rh^AJAzXi(8b3sPW@KMcL-NS0`( zDM3dd$+uHaas5PrG?R%z)?r0jG}E4ZCZy({L2Q+QS4TnDmROJ(h$sMWjg@C80Yob4 zq?A@_>7|%vs_CYjcG~F#XccFdV2=^g7Hg_B3FxZyAhrQ#l9faZV-z@cBLH?0&}W}~ zvFfW2zR_``Y^<&1OC&nIX2FlY_cptTc;uOI-gViT!rq9^L8t3$tbi!2 zXaR)ZrogReW~wP+xh@c!Zg}>=#{_0<)%(R1S%jNqyZ)gNWsL0Z8nS-t9B!@uGKiq*>E?O+<2Qbmz=iJ73p2veB)qlB7Fz$!MjWQE4bhQtC0BN Nhc~=Il0roQ06YAH(zpNs literal 0 HcmV?d00001 diff --git a/Naive Bayes Classifier/images/code_example.png b/Naive Bayes Classifier/images/code_example.png new file mode 100644 index 0000000000000000000000000000000000000000..a147ecdd6d5a9b542ac02cc1b778e279e183b229 GIT binary patch literal 122044 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%0AqlP%v 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 literal 0 HcmV?d00001 diff --git a/Naive Bayes Classifier/images/mean.gif b/Naive Bayes Classifier/images/mean.gif new file mode 100644 index 0000000000000000000000000000000000000000..7518c9995f8b5d2a33b4268aebfe9d8c9d90868f GIT binary patch literal 590 zcmV-U0hZ;sgm(P!LiW?r0MiU?!oEECS8T_EArNc1 zo1rg}gaRXCD4?~V0RsmPtT>=_swa&C3-P7X@Kx6@D%(%=F0vZiyQX43783hUy3kL~<76Sx%d?-p21_23@D-Q&n z1PThC1auS(k_rQC7F|7)DVhupY>-z)v~Z3VX*UyqycbY)u7wo?OcGWLKnj@v%D5T= z0Tm6T!#e_+2x=jT0Cx%A8ip7PzXsL9*EtUi3z{=dO#*=c4w@I_7YX+V1qcZU3 z)t+@Y9GGxGM;X2f2M!(?U?Lns9SI&3SRh5#uZ#W$Vn~>F5yzN2B`qu%lO|=01Pkz3 za|ytJxB@6?rU0W#X9EQc9V`&1vnUM)dtzm9gMpK%r!$Qr*)~BM!3tN61lY>8tJkk! z!-^eC_5(^zQq!(L5VH;gUbh_B5_!StQ%_OV?zlrhO0s3mp6N~dWq>0D-oOzZ%oxBI z0Q9arY@Al1y@m)T@8IBJj|dWeC|Ah1vEzV`WM0sf5RZioohM87_z{GLK7=r3f?UGp ziS1k$d6qnbMGKDG7rum%SU7WmzLd|TS#un?g*g)JAgf~_&6xv>)%pP>s5%^?iyGB* z+!nxqdV?!TxYSIA-A|$LS};Wcl`8BK2yWCEEV5`Jl3dVaunPsglrjh=0~T`(9?k%k zpdKXkVoggt#AF?8+HjLyVugG-fjO3>0|g=zVAoSo?Ytuc1&>8`AqM;u;156oL2*x2 l_hcp71eP&`LPSHlL>fm)iWXawjpbHAUQkLUoL&(C06Px_310vJ literal 0 HcmV?d00001 diff --git a/Naive Bayes Classifier/images/normal_distribution.gif b/Naive Bayes Classifier/images/normal_distribution.gif new file mode 100644 index 0000000000000000000000000000000000000000..b2f35e8ebf9e6e92c985176a946e5dbcce14a9a4 GIT binary patch literal 925 zcmV;O17iF~Nk%w1VZHz=0OJ4v|Ns90004G&b|NAoW@ctYL`2NY%v4lVy1KgD+}xO$ znC|ZGh=_;~5D+plGODVoA^8LW00000EC2ui0KNb!000F35XecZy*TU5yI+Ojjbzy= z4}q9$>%LYZD8UNfIAAb9GUUKuuqG^;5C@}j*&#AF29ax_pezWBr*;c)axFX<;vq>? zZQt||tp+d>I6|*67$n*L8VdqFVE_VId5brDYIh3@336Ev440QSC~jyB zQjDN1j%j@WRAg`&2XFU2JWK9g`LY zWI0$S1szwhgarW(0-tJ8BM;LP#T^0z0RrpViaR5+5j(@N*`MKMG*IC@GHu5)uxUGH}4F=|VUO z8jxuKZUVhxWF;IZdu8gdRAJi$Ro3oi#u+iHQiTMdd^!Wg{*0S{;`>};^EF_jGlOJ4?1 zRKPM*3LfGU;xk%8yr>CMw~xcD8@`o*J1UE0;e&8 znO*=|AV_QkJRpq#51^4iPlr(uRaCRVli?PM={68HGyE3e1;e3pk4zFUfFp@t98lqm zTzu2PW64O=7*ot3@SGM2;0Pos=-9HLDSZeq43&5g@Z*zPoa532f6SmEeoNF?AOr4H z#icCBDI=60iYT_?nsk0)<^Z1@kXoI528l)k$q0~QpM;jlBL#Yv;lMy%DWDEO))iW3 zHWe^1rzrtULjW8+JkZhsSb*T3qqNNyIqFNSL zrbU>OwAN`_a~N1+)Rbj-MZl=RP4YPaJsVb_xPtpKKss^Zlz!;@C zU_$`lq;|li+|t=VApJ2V5G1J;z=o*`c+xJd40N;azd2|WFTezspk~1rL;wIghTUnw literal 0 HcmV?d00001 diff --git a/Naive Bayes Classifier/images/standard_deviation.gif b/Naive Bayes Classifier/images/standard_deviation.gif new file mode 100644 index 0000000000000000000000000000000000000000..b917d9922e589300b796ba8cd32d2b6251d26089 GIT binary patch literal 1125 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
PPPq>4m!%z#o!=8IENk;buccYO#mSK|v> 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

D73NrvdrmS(1$?q|n9 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 literal 0 HcmV?d00001 diff --git a/Dijkstra Algorithm/Images/image3.png b/Dijkstra Algorithm/Images/image3.png new file mode 100644 index 0000000000000000000000000000000000000000..493048ab7b37f907f7b1a89aeee868a543d00e91 GIT binary patch literal 65232 zcmZU31z40_*DfG2NJuCsA>G{r0#ef5E!{8-E#0XgjdTs&-Hk{~Bi$h|2-0~T-uFBI z|6S*BT`>DFnIj-bMlaMCyc79Ng; zE=isn9`28YuF-8pkM}|1C5EU7B1Y0cITCM$C=LK_oEr#ypFwB z-N)__$@^2*5#pNm1^u+7Jgv0Bq=(3J|B^7!Eos>F31 zVZ>O0eW>8v9p(ynkPog!=!(~2HpE2e6QoueHya>#4d($7JMlyHgO4ffhNI0Xj$^Gr z2edRa81rw9M}KtAL|jV&FE%yW9DXOi8@)N87EUIdG4OtuTrQmmXsn>7=gZwk{j^7G znTR)j7x;$={E@^j$y11-{9VX{1Rb{E~1DQ zPD2ES`to)H%ZR`F>090$q_*wc;ia^l zS&y{qFR$c(WyV`Wia^L#&E@f}l)w7|3DapZ7!gbQ8A^7bd?niF0Dh;7!vL;72*Ttz z!2w_Vu}nnqI4>=}K64B3Rt8-JiDx5`pcRS;fuD^9xH;nLBhGc(vx6kNsJhV9)=*NO zVHlwYl9NaT6n*8+2NjD7eC6o#x1+H9fpHqvlMSLr-4J`Dj9o{}7%ZFpe2;n>;U2-j zze0pBhhh(r8*x+&k{!eToVJ%+`>kdemJ#Y9f>%$#A5<`^Vo2?}pa+>gwpMT9I`7qU zZ{oKB*MBfP-l8Z|Cm_qB!@^9mQ|QUm!Hh)x;`UOnvWJvsiY(OWN?y1U_Di)(_=uQJ zsB@E+hc!sH<^=t;b7Ay+*8(yKsE}&R@tSa-z~AFP;|vXq?cFmfV~3|G%VSz_(UPf! z7WdbgR2WOLtEHeY6EFqLbm0MSusVHSzD<&Zu7f64dWc#sj*KC?E?!+xK(0kJmE4Cs zDz<)5{?yY6^%Gfh^pb+Fh_76Z@-)Lmf}^Z}ITM|w(2O6_YYW~IY~d5vlr#>f&ebJbtd%hN=^d49jdlAFqIp4zYuspG0cTu5(9 zX)5-p@<{T4UC}^0kY&XTdJHI4ats9vb5sG_K{ zs8Xqt!S*M|CebI+@)u!b!`bF_=67bi!zA&|w0~8TXl+@BlUTkA(cLOzCru^&OQexb6Ow^AXTM*&-}h%KMU=ctgGsGE|XDVuF844E;pqOl^KA({@YAFVU3 zXR1Hm>k`-zfC@;thPrUHB(>--+bnYk)no=478u5_1a|~?B>PtQwmvXD(+F}5dWPzQ zIvi>d8WGA98uPjDv*2f^F9KgyUfUAaeqs7@{7qS2U*0XnC8dpbhT{vTkcH>!XPX`S zhJmty!`kK${_(b7-m_vels&maCZ9!3uQ(%L^D%QIMJK&uX4Cbp;%t;{6tFyRt>-A^O6jVrw%izd*lOWv96C$9}&7w}H;?+D+Dtxz(n%@PhGz*}fp6iIH8oAGM@x$q*-wrhA9QZz`6)qw+ za=3qTZ}1AbO%Dqh;Egd;{Y@ef)+LxI$r5)=x((bxJn!c8u1?6wYaBa~^wYZnw-$KW>W8Jos)Jqq-le!D_f~N? z_npDrqmi_`@8@X+-Z|ce5A$yiga$f4_z_&Kmnw}`eWT3@{qEi$j$6~wf$bQ=w~ro_@V@)_3cAIT znbKiJVK@RkZ4NF6{nvzYZP!62({UVA#~(G~>H?=cd=G<99G_@xBo|q|J6}Q#d!~6}$gU{IgH?)WshVMtbo6f9u!4_?6)ju|C z=$w>F{3dQ-A&{|7?se{oNA9)#JeiBFsE<>=_uPq>pHIu|bfGQA-#vCV%7zcu{<@AA z8s@iYdwzRN+kia zcQ53kcsUG@0y?Aj@H-O|Q6w6TFA%FR%gelf>+0whb%fG$#tMMs!DM9cKgt0-C2^L>X1;KL`kj8P@9BF4_w60;UjqR%0`W zi8-r>y(9260)n820Pxn{+{KvO!`{xpS-?Yx@}DOJfcH-yvr&@&^N5SB5T&+)GPyX! z$()>rm7A5FQusMJIk}*dnT3F=gyesQ1OEw8TDiD53b3)cySuZxbFo64EZI2t`T5z{ zIoUWlS%4>4oIg3Z7<;fdI8*&Q$^V^4!ra-^$=cDy8sb3yG_SD<#MMQJlJaSx|M~fM zpXMIc|GScd^MAww1Y~>qhK+-jo$Y_-28IegeJY@A?O|@GEn#hM?%)ipAsUjQK7>Vvq$!CD8QB>WWjXG@26yu6)vB zi<+lo6;N|EA1d49e^^o0{NZdyx8|1M;E;d{PzpUJlPDz+RpumseaYk!V05X;l{qpx z5-1TwkrOx2p7~cGe+1B(n8>s4X$%TxR79LTe8k!iD@c5z@H;CQOTEN7sf78cW{HiF z=vLT3jW&V8^*(b_98bb`6B}Q|363Cc^^|-SlTxMlK3Q@EB=R*XL=Y`mw=owE0wQq$ zK?6y-1=Hj$jb@1h9b-kksFjl-vYe zg#E)ItUn?^#0d2I*ZGCUx5Slsdsv2@LP-(E2-N%6!5{rx+VBDx+<(z0wHHXP=|>k^o*3oZT@HRNs~h}NM=8b)oQRa&!p5QvwSmK!Rp7t7uM?GAZa`QD zT#9n&>DFP0NPuEH0M(p^5H%nITdhhqaE$S@g+aj26o*i+oTalb47lpK`IPd0v$xlc zim~~OyQb>ieR{drp&B>;L8~ZdV8@0bs`mH4QtJU5TEXkRA;+OX=GD~O*E)E%8`$cR z8tRZ)23x9lou|N~>1p>Rq=ED~$=Wp)&)H8BtXEJLI!wT%IDbMBkmLF4s#rl1=m8MM zva{(%f(1i@6nuiH@nyRs{$vAlw|&Z)E;2paoEL7|gMF{Mp7B`J5dXm?P@tMTl)|2l zt@;R{=+_*zD-Sg=besyv8(VsuJn6Z5Nt5x{z%!$T7 z(8JWb$@p}OQcHu-oaEUif3oe`T4^&%sFCxVu9D-(0EVR8x7pAa$<9LNbvA(AYUx>N zeR}Uc-Mgd9%J_*i3U86qXZSX&bP~zld>%?n~{A{UOm}Jg79{aBk03oWz2-C zuSs@H@O=;hNCF8FR3P0H2}Z;D^DIEsA<64DnP5TpcUZ=GRa81=?yZIGz8L{?mJ{sH z$Jzr3vtFu0R!I(pe)+AIow28BZ6fAUI^R!IxFgoRacojt^Dj2ke>$wS7r*c4PKcq$7;Wif=GABH8ax!*R_fk z{D&=-GGI-2vgaKk$r|`MD3}4*C40ML3NPp?%0IFFqmo0_Po{KS!o3_*xv}zE9+z!x z77h2R+aqFD9c4S%YlqZUv!u`p(n^@7+mz6s`jCzVTbgfr*><$=(tHwj*|o!s^_%Ec#?dL45?nf|F#5X z!B}xN{@}Sd%pcF=a_~~`2u7#P+}=DRn_*Bbt7Cnbw5j^6(8+E}cWnBWCiykU>`(K7 zK8-VcJHGDafaw0~e^5sjA#gAev=StefP>?nJS}uXsOJ>Of!FNPrPTB=5t3Ku^7YwB zKWSrTx%@@mK$Y@!xBOUUTDC_0x3@dZEX#whzBdc2Rei^|GZ#p+6*qp0b$=!R$+Rdv zUI3;t^2$hLee4oDvNM1FJ*5Y6+1;5x;7v1;XVhl=Ll;yn@qA1wvllAyUP$(4*m{rb z9rM`|Ez=ASebYM0u8)`mVlyQA z4|kdvlt5F*$q+@{20{r_}4enyU@uD?}z&6zh9H$oF{pz7UQp(?%daz*Pc}+40KJ{eB zND`GHnymKltn8ER++O>0+CnuPbn-il#P)o%xQY`ch$k8mX< z<>zx&|6~tD3WV<9V?>a|n}D#UYB;gz&}aNQJZYBtWW}{?2(Il%k{YM+rpz3r(b=DY zNLa8Mqw6Dg0?#j{0ccF%W#QV7&Jl=EER%ms4}fjYB?5A8xCm2gFG0HlwyvnOsMl`~ ztYuyWaq(uQC8qT23qFGPt}H_0S$!rl`W{^Tc@8KTWrbkrw)~P^`@44aNV|vQ!`H9m zwvT;G{QxIjmjYzHt9WC9i6o4#-5)SJ*Gbl9bbRHJyU2fVILV>Q=_o`~?ZC1)<7H1H zRCvD1GpAWw9E+hReD)9{(M#zRf(^ZQQ9(C0XJM}IG|hyz8a0eeU0mqs`v1{i{* zgO;~jg9x#>3;b(0Ev&5#JIXyT*>1Gk^+=3&oizTCK{ft(JB-{SSKHSGK7R<0ThEW8ZdO9foeJqsELl8AhY?ATP-Z?ko!{a{CFy=&}MI^LX+Na z=fRP!de3^F#&^)SPvx4o+LgO?mv=^cpQAz1{+-!JqV!J3VU#egXe6X{5kP8^3cMZA z6V8V{tDt$us!bKbBJK`7f;l(OgtIx+gR!qVf~IcSh)Zdxl=K#wyqkJuY1OL6{DTC4 zP1nOyU&~IS9H)Tsfc$HP2QY-ugFu}C|5fxm+vJe92DpOmOY#o6w`vX{ly4v(6Lt2{ zv6n6y29Njg^WVmWMuLs*u-s@Kpm`xB#COpJ1Ed|U0ZFuGlzJ6X(%K*-m8T6pXXRAH zMGo$A9cHde#SlfcH7msbvYzRv>a}kapBQNyfoa(CY^wR~Bj&&p>Bk zfQtS0jP-Cp_(-HAmt6NW(Kp}!q>994?kzHzwyj_j13oB003iF1mP{})j-y<5%@+(! zr%;km2y(+JsC$c;-wp*SRvg&4Qw7Z!GO{4vyrw1W?<0O2CVvb*`V{bUTphh^i@Bay7@!g7HzMrUve=6OB3po?N2c3Ga3LbbAPX;9!m@mky0>tZ z*)YgcJQ0KY$#GDgWLl%#d?~u70Pnq6+r^RZ@Wm%j@umqo5+Qd20nBTxzVDmAzZ6pC zal_Bv;UKM`!A*%C7er*W6hp8)G4h=>fXy-N)l4`b4J1f)$iA<3ig$+~j=XSQZzwqq z$5ZOwQQeRb>Ea5AxzO7mgEPLS1uJPwAjw5H^_gr#SZGwi99_6 zc-hygv;e+S1)$SQ-sI=_C;<<+O`CEUK5f07rys_VtSxdvcL;H?6lawgG3ck_hl!1=HlS9L96N9US& zIozL7rq4)n10}HPYwGux@i2rQ+Y?KEw-1nwm^P0o4rex<&-E#bl^x)?Wo0%ZmefURmj4{f2ll< z{1vvp$V*&yM}~ra$hYEx?#B4&ZS71NE*_Ur50?Gwb2U2-PoJnnOnu3&Wt_#4W`GzC zzl?S@IXUCh%X?@Ul*RJ-k&3ZXy)^2BjaK`3BvH;7zvjR%{0!JB>yx%!+o28QB7Q4& zIjeq0X?mSQT7R{tbF)TgC#!?F&&tMv9yZ0JOx5GpnQe$aB=j#7>KkS^;*OZ| zkC`hIO!$p|&f%`m{r{%!>hav}sAM@~MYHqb%CB6oSL0Dn$j#Yp(B7kARr$FT)}qJ< zeG^DbXQP2A%@4oTvqxd|5^!UW*#^f9%(u88mdQm+{~!D*! zC`t?K(|Bfn4w=%-Bzd&lP46XvXGp1gqm#TkWD_l2$9;;L1y(h)V~l;{8x@ioVGBOz z2BP{_u%Kr6Bm}=M0rMb^6#XF(0p#+;2ekk`n9{|RzVq0p<kjtYGct~QU2w_oThgd24_M1*%x`m~sX2Z0U$3nIa9Tg&DcEoWEGn{G z2DAutXTr$sx;bOGmh-K)ksaJm7g#awtxd^HQndZm?bS3RuYQ`Gyi z%v7ec<$YEkCHsqtCiYrKF!CAqWSsp6`f-yJ zwXyD%OXu&4bBALG)};|4b{ZS9t0sxMqX4NU(DCxb)!_^?B0cCZwdcvL`za@6;K}?f zpok6#sq>GBKtG8%U;#UKpgGn-35CVfB)nq#b-_VXL7Z9Ky+vNg!{{5xQCoQ-^n@Gh z-l`_4=2sk5z=mpMHe0|(H+XhNKlrcP*o~Y~BgOw)UrLJH^a@q4$PT-IYIq~lHoj~y z(*YA2Qe&BVR=jZ{YJh7mlW^h;)O?(b;$J+z zu-280Y4i*1{HM(N1{D96yxK@eDl#HB?LzI{vP^ERD(v#q0VvXfk$gYBFwPm#g<3xw*uKhB~XQmXio}G)&9dGnXCq zW)0LFt3Aj{E|uHq3>lXa{wq)jz?MGJ8O~=tYbN2hcVP^ zx;|CTi)E2fGZtGO;6hZpl3=E&w(7mhxcarlp>v<&O!I|}hZ9Y^ht!%Xre4t5T7fW1 z+L@<)o5y7FaNr*5ex$>`=xpYM>v*iW5ud^DaGxrvJq!SuI+S|^$Z^ps6VZBFGftEP>_uo1O0tCh< zag2jNkp$eLEqSnY%`GQkkxLyWIw}KU)mPJa){PF^_!{nnF2wcd-jN>b7kVWt>z)c^ zhtFhacie>6@Mxb3Q^zBfA?BL~*Gqrd-o1hpk;eI|=AZr2?)w_oE7^|JV?r z6Yax@E2YB`vsE6?XP}&|tI^vwTXat7!7nQapQt(l(*2Xf9|Py#BIkbg|3#m^XlJr9Mtz5T}(ucCk@I;BnCljE2p=VuIE)@$nOS;Khj zpf_%hT{`K}#CbWzzx0QUzOwiW5>(5oT-f*R2a2o#@Q#wn5siR^s~{3Q#X1(M*V|JZ zJd9dqQmUpQzNYla?CnH464ooH6FF!nmfQqRu%^Hcj@*hmMEn?Cv8TkLzCXa*DL1DT&TV zwZ4*kc+2?1pm7KI; z$)8GLpqQ0l5a7aqc@V{FO6N^UDeLMBMisxs4*l?iIyg@qR7BLz%RwS_xK&R4$DZOS z8g)lGq0vq@JWv$5upDz+)rO96C;Tuq6FbJJLV*$!V~s__p(I+%)eL5(nDJfLFsRB1 zg`GyAjgv@3GBBwqH2}X7^Wc{t34s7NHT=XzxN)fpgVt@u&OFVAwM;-*8uN+ zj%`VTf=rp}-?Un?AXijkPsUT_I%u_yw~9@rm{t_58tn_h$kcbMbWKEd*B%(Twc0B) zk((05e#=&X&E{Yaav-BW$Fm|qMW&4PAHCPC zU=}|Qb+S3w@r^RRT*M&&_cBoB_-~jtnL^lljT}t13}KOeB@U}fv`l=p&aa`mLaqC! z^mI`A?cZTg2E>F@x2~Wkg&;olW67)LS)LTa>(;4JcW80BNRf8?MSlr$C@^d(r)<%a z-3#Y~q|^}+7iF4e_c_tPTi_=O){Gr8ecA-ASKQ%{Q&hHD06hQ10g;m2RV4tDc!wAd zi#LEA`kEfZyt~x%#%x{Hrk62lZ2H-kxO4FJb#hXkeHf<}){6uc6{ot8A8n-%n#lSM<~ zT9p3nj6QWS|1Ff2kxbgFn^&oC%R|fg#(qImr3QC=nX=8?ItUA^%%r|ys$!jV={K*v1R4A93HFUDJa`LQT)mPVQcD6@gQ z2t>s+J}JQ0Kr}|�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 literal 0 HcmV?d00001 diff --git a/Dijkstra Algorithm/Images/image4.png b/Dijkstra Algorithm/Images/image4.png new file mode 100644 index 0000000000000000000000000000000000000000..9c47aaaaffabcd49f10fe5cda5aedf33431ce1a3 GIT binary patch literal 65286 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 )oiImBH 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 DI2Sh? literal 0 HcmV?d00001 diff --git a/Dijkstra Algorithm/Images/image5.png b/Dijkstra Algorithm/Images/image5.png new file mode 100644 index 0000000000000000000000000000000000000000..2494654449417fd46572395eafcdc21a10c1c812 GIT binary patch literal 66333 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 literal 0 HcmV?d00001 diff --git a/Dijkstra Algorithm/Images/image7.png b/Dijkstra Algorithm/Images/image7.png new file mode 100644 index 0000000000000000000000000000000000000000..dd91cab0b84515792f0002c8c9fb360a78098357 GIT binary patch literal 66716 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 - ## Credits WWDC 2017 Scholarship Project Created by [Taras Nikulin](https://github.com/crabman448) From fb4c63bc92ac909159528e2e1c3f16d99eb9665a Mon Sep 17 00:00:00 2001 From: Taras Nikulin Date: Thu, 20 Apr 2017 15:32:05 +0300 Subject: [PATCH 060/713] Tables fix --- Dijkstra Algorithm/README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Dijkstra Algorithm/README.md b/Dijkstra Algorithm/README.md index 9a48bbeb3..132f4e5bd 100644 --- a/Dijkstra Algorithm/README.md +++ b/Dijkstra Algorithm/README.md @@ -12,6 +12,7 @@ When the algorithm starts to work initial graph looks like this: [image1.png] The table below will represent graph state + | | A | B | C | D | E | | ------------------------- | --- | --- | --- | --- | --- | | Visited | F | F | F | F | F | @@ -61,6 +62,7 @@ If neighbor's path length from start is bigger than checking vertex path length | Path Vertices From Start | [A] | [A, B] | [ ] | [A, D] | [ ] | [image4.jpg] + | | A | B | C | D | E | | ------------------------- | ---------- | ---------- | ---------- | ---------- | ---------- | | Visited | T | F | F | T | F | @@ -68,6 +70,7 @@ If neighbor's path length from start is bigger than checking vertex path length | Path Vertices From Start | [A] | [A, B] | [ ] | [A, D] | [A, D, E] | [image5.jpg] + | | A | B | C | D | E | | ------------------------- | ---------- | ---------- | ---------- | ---------- | ---------- | | Visited | T | F | F | T | T | @@ -75,6 +78,7 @@ If neighbor's path length from start is bigger than checking vertex path length | Path Vertices From Start | [A] | [A, B] |[A, D, E, C]| [A, D] | [A, D, E ] | [image6.jpg] + | | A | B | C | D | E | | ------------------------- | ---------- | ---------- | ---------- | ---------- | ---------- | | Visited | T | T | F | T | T | @@ -82,6 +86,7 @@ If neighbor's path length from start is bigger than checking vertex path length | Path Vertices From Start | [A] | [A, B] | [A, B, C]| [A, D] | [A, D, E ] | [image7.jpg] + | | A | B | C | D | E | | ------------------------- | ---------- | ---------- | ---------- | ---------- | ---------- | | Visited | T | T | T | T | T | From cce96e2694e71e473f30817a535a97a6d59591f3 Mon Sep 17 00:00:00 2001 From: Taras Nikulin Date: Thu, 20 Apr 2017 15:34:16 +0300 Subject: [PATCH 061/713] Updating --- Dijkstra Algorithm/README.md | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/Dijkstra Algorithm/README.md b/Dijkstra Algorithm/README.md index 132f4e5bd..cb0683e5d 100644 --- a/Dijkstra Algorithm/README.md +++ b/Dijkstra Algorithm/README.md @@ -9,12 +9,12 @@ The best example is road network. If you wnat to find the shortest path from you I have a gif example, which will show you how algorithm works. If this is not enough, then you can play with my **VisualizedDijkstra.playground**. So let's image, that your house is "A" vertex and your job is "B" vertex. And you are lucky, you have graph with all possible routes. When the algorithm starts to work initial graph looks like this: -[image1.png] +[images/image1.png] The table below will represent graph state | | A | B | C | D | E | -| ------------------------- | --- | --- | --- | --- | --- | +|:------------------------- |:---:|:---:|:---:|:---:|:---:| | Visited | F | F | F | F | F | | Path Length From Start | inf | inf | inf | inf | inf | | Path Vertices From Start | [ ] | [ ] | [ ] | [ ] | [ ] | @@ -44,51 +44,51 @@ var checkingVertex = nonVisitedVertices.smallestPathLengthFromStartVertex() Then we set this vertex as visited | | A | B | C | D | E | -| ------------------------- | --- | --- | --- | --- | --- | +|:------------------------- |:---:|:---:|:---:|:---:|:---:| | Visited | T | F | F | F | F | | Path Length From Start | 0 | inf | inf | inf | inf | | Path Vertices From Start | [A] | [ ] | [ ] | [ ] | [ ] | checkingVertex.visited = true -[image2.jpg] +[images/image2.jpg] Then we check all of its neighbors. If neighbor's path length from start is bigger than checking vertex path length from start + edge weigth, then we set neighbor's path length from start new value and append to its pathVerticesFromStart array new vertex: checkingVertex. Repeat this action for every vertex. -[image3.jpg] +[images/image3.jpg] | | A | B | C | D | E | -| ------------------------- | ---------- | ---------- | ---------- | ---------- | ---------- | +|:------------------------- |:----------:|:----------:|:----------:|:----------:|:----------:| | Visited | T | F | F | F | F | | Path Length From Start | 0 | 3 | inf | 1 | inf | | Path Vertices From Start | [A] | [A, B] | [ ] | [A, D] | [ ] | -[image4.jpg] +[images/image4.jpg] | | A | B | C | D | E | -| ------------------------- | ---------- | ---------- | ---------- | ---------- | ---------- | +|:------------------------- |:----------:|:----------:|:----------:|:----------:|:----------:| | Visited | T | F | F | T | F | | Path Length From Start | 0 | 3 | inf | 1 | 2 | | Path Vertices From Start | [A] | [A, B] | [ ] | [A, D] | [A, D, E] | -[image5.jpg] +[images/image5.jpg] | | A | B | C | D | E | -| ------------------------- | ---------- | ---------- | ---------- | ---------- | ---------- | +|:------------------------- |:----------:|:----------:|:----------:|:----------:|:----------:| | Visited | T | F | F | T | T | | Path Length From Start | 0 | 3 | 11 | 1 | 2 | | Path Vertices From Start | [A] | [A, B] |[A, D, E, C]| [A, D] | [A, D, E ] | -[image6.jpg] +[images/image6.jpg] | | A | B | C | D | E | -| ------------------------- | ---------- | ---------- | ---------- | ---------- | ---------- | +|:------------------------- |:----------:|:----------:|:----------:|:----------:|:----------:| | Visited | T | T | F | T | T | | Path Length From Start | 0 | 3 | 8 | 1 | 2 | | Path Vertices From Start | [A] | [A, B] | [A, B, C]| [A, D] | [A, D, E ] | -[image7.jpg] +[images/image7.jpg] | | A | B | C | D | E | -| ------------------------- | ---------- | ---------- | ---------- | ---------- | ---------- | +|:------------------------- |:----------:|:----------:|:----------:|:----------:|:----------:| | Visited | T | T | T | T | T | | Path Length From Start | 0 | 3 | 8 | 1 | 2 | | Path Vertices From Start | [A] | [A, B] | [A, B, C]| [A, D] | [A, D, E ] | From 142ff2e866c89259c576b03b025b500e655cf028 Mon Sep 17 00:00:00 2001 From: Taras Nikulin Date: Thu, 20 Apr 2017 15:35:00 +0300 Subject: [PATCH 062/713] Fix folder references --- Dijkstra Algorithm/README.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Dijkstra Algorithm/README.md b/Dijkstra Algorithm/README.md index cb0683e5d..677c97447 100644 --- a/Dijkstra Algorithm/README.md +++ b/Dijkstra Algorithm/README.md @@ -9,7 +9,7 @@ The best example is road network. If you wnat to find the shortest path from you I have a gif example, which will show you how algorithm works. If this is not enough, then you can play with my **VisualizedDijkstra.playground**. So let's image, that your house is "A" vertex and your job is "B" vertex. And you are lucky, you have graph with all possible routes. When the algorithm starts to work initial graph looks like this: -[images/image1.png] +[Images/image1.png] The table below will represent graph state @@ -50,10 +50,10 @@ Then we set this vertex as visited | Path Vertices From Start | [A] | [ ] | [ ] | [ ] | [ ] | checkingVertex.visited = true -[images/image2.jpg] +[Images/image2.jpg] Then we check all of its neighbors. If neighbor's path length from start is bigger than checking vertex path length from start + edge weigth, then we set neighbor's path length from start new value and append to its pathVerticesFromStart array new vertex: checkingVertex. Repeat this action for every vertex. -[images/image3.jpg] +[Images/image3.jpg] | | A | B | C | D | E | |:------------------------- |:----------:|:----------:|:----------:|:----------:|:----------:| @@ -61,7 +61,7 @@ If neighbor's path length from start is bigger than checking vertex path length | Path Length From Start | 0 | 3 | inf | 1 | inf | | Path Vertices From Start | [A] | [A, B] | [ ] | [A, D] | [ ] | -[images/image4.jpg] +[Images/image4.jpg] | | A | B | C | D | E | |:------------------------- |:----------:|:----------:|:----------:|:----------:|:----------:| @@ -69,7 +69,7 @@ If neighbor's path length from start is bigger than checking vertex path length | Path Length From Start | 0 | 3 | inf | 1 | 2 | | Path Vertices From Start | [A] | [A, B] | [ ] | [A, D] | [A, D, E] | -[images/image5.jpg] +[Images/image5.jpg] | | A | B | C | D | E | |:------------------------- |:----------:|:----------:|:----------:|:----------:|:----------:| @@ -77,7 +77,7 @@ If neighbor's path length from start is bigger than checking vertex path length | Path Length From Start | 0 | 3 | 11 | 1 | 2 | | Path Vertices From Start | [A] | [A, B] |[A, D, E, C]| [A, D] | [A, D, E ] | -[images/image6.jpg] +[Images/image6.jpg] | | A | B | C | D | E | |:------------------------- |:----------:|:----------:|:----------:|:----------:|:----------:| @@ -85,7 +85,7 @@ If neighbor's path length from start is bigger than checking vertex path length | Path Length From Start | 0 | 3 | 8 | 1 | 2 | | Path Vertices From Start | [A] | [A, B] | [A, B, C]| [A, D] | [A, D, E ] | -[images/image7.jpg] +[Images/image7.jpg] | | A | B | C | D | E | |:------------------------- |:----------:|:----------:|:----------:|:----------:|:----------:| From 8e0d77ff9f99812bb8de307b66f1d211ef4ea785 Mon Sep 17 00:00:00 2001 From: Taras Nikulin Date: Thu, 20 Apr 2017 15:37:15 +0300 Subject: [PATCH 063/713] Images --- Dijkstra Algorithm/README.md | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/Dijkstra Algorithm/README.md b/Dijkstra Algorithm/README.md index 677c97447..490b4de1d 100644 --- a/Dijkstra Algorithm/README.md +++ b/Dijkstra Algorithm/README.md @@ -9,7 +9,8 @@ The best example is road network. If you wnat to find the shortest path from you I have a gif example, which will show you how algorithm works. If this is not enough, then you can play with my **VisualizedDijkstra.playground**. So let's image, that your house is "A" vertex and your job is "B" vertex. And you are lucky, you have graph with all possible routes. When the algorithm starts to work initial graph looks like this: -[Images/image1.png] + + The table below will represent graph state @@ -50,10 +51,13 @@ Then we set this vertex as visited | Path Vertices From Start | [A] | [ ] | [ ] | [ ] | [ ] | checkingVertex.visited = true -[Images/image2.jpg] + + + Then we check all of its neighbors. If neighbor's path length from start is bigger than checking vertex path length from start + edge weigth, then we set neighbor's path length from start new value and append to its pathVerticesFromStart array new vertex: checkingVertex. Repeat this action for every vertex. -[Images/image3.jpg] + + | | A | B | C | D | E | |:------------------------- |:----------:|:----------:|:----------:|:----------:|:----------:| @@ -61,7 +65,7 @@ If neighbor's path length from start is bigger than checking vertex path length | Path Length From Start | 0 | 3 | inf | 1 | inf | | Path Vertices From Start | [A] | [A, B] | [ ] | [A, D] | [ ] | -[Images/image4.jpg] + | | A | B | C | D | E | |:------------------------- |:----------:|:----------:|:----------:|:----------:|:----------:| @@ -69,7 +73,7 @@ If neighbor's path length from start is bigger than checking vertex path length | Path Length From Start | 0 | 3 | inf | 1 | 2 | | Path Vertices From Start | [A] | [A, B] | [ ] | [A, D] | [A, D, E] | -[Images/image5.jpg] + | | A | B | C | D | E | |:------------------------- |:----------:|:----------:|:----------:|:----------:|:----------:| @@ -77,7 +81,7 @@ If neighbor's path length from start is bigger than checking vertex path length | Path Length From Start | 0 | 3 | 11 | 1 | 2 | | Path Vertices From Start | [A] | [A, B] |[A, D, E, C]| [A, D] | [A, D, E ] | -[Images/image6.jpg] + | | A | B | C | D | E | |:------------------------- |:----------:|:----------:|:----------:|:----------:|:----------:| @@ -85,7 +89,7 @@ If neighbor's path length from start is bigger than checking vertex path length | Path Length From Start | 0 | 3 | 8 | 1 | 2 | | Path Vertices From Start | [A] | [A, B] | [A, B, C]| [A, D] | [A, D, E ] | -[Images/image7.jpg] + | | A | B | C | D | E | |:------------------------- |:----------:|:----------:|:----------:|:----------:|:----------:| From 37550365f6db8b980cfe1792a3122efe24a1ed91 Mon Sep 17 00:00:00 2001 From: Taras Nikulin Date: Thu, 20 Apr 2017 15:55:29 +0300 Subject: [PATCH 064/713] Still improving description --- Dijkstra Algorithm/README.md | 73 ++++++++++++++++++++++++++---------- 1 file changed, 54 insertions(+), 19 deletions(-) diff --git a/Dijkstra Algorithm/README.md b/Dijkstra Algorithm/README.md index 490b4de1d..5541276fc 100644 --- a/Dijkstra Algorithm/README.md +++ b/Dijkstra Algorithm/README.md @@ -1,4 +1,4 @@ -# Dijkstra-algorithm +# Dijkstra's algorithm This algorithm was invented in 1956 by Edsger W. Dijkstra. @@ -6,13 +6,17 @@ This algorithm can be used, when you have one source vertex and want to find the The best example is road network. If you wnat to find the shortest path from your house to your job, then it is time for the Dijkstra's algorithm. -I have a gif example, which will show you how algorithm works. If this is not enough, then you can play with my **VisualizedDijkstra.playground**. -So let's image, that your house is "A" vertex and your job is "B" vertex. And you are lucky, you have graph with all possible routes. +I have created **VisualizedDijkstra.playground** to help you to understand, how this algorithm works. Besides, I have described below step by step how does it works. + +So let's imagine, that your house is "A" vertex and your job is "B" vertex. And you are lucky, you have graph with all possible routes. + +> Initialization + When the algorithm starts to work initial graph looks like this: -The table below will represent graph state +The table below represents graph state: | | A | B | C | D | E | |:------------------------- |:---:|:---:|:---:|:---:|:---:| @@ -20,11 +24,17 @@ The table below will represent graph state | Path Length From Start | inf | inf | inf | inf | inf | | Path Vertices From Start | [ ] | [ ] | [ ] | [ ] | [ ] | -Graph's array contains 5 vertices [A, B, C, D, E]. -Let's assume, that edge weight it is path length in kilometers between vertices. -A vertex has neighbors: B(path from A: 5.0), C(path from A: 0.0), D(path from A: 0.0) -And because algorithm has done nothing, then all vertices' path length from source vertex values are infinity (think about infinity as "I don't know, how long will it takes to get this vertex from source one") -Finally we have to set source vertex path length from source vertex to 0. +_inf is equal infinity, which basically means, that algorithm doesn't know how far away is this vertex from start one._ +_F states for False_ +_T states for True_ + +To initialize out graph we have to set source vertex path length from source vertex to 0. + +| | A | B | C | D | E | +|:------------------------- |:---:|:---:|:---:|:---:|:---:| +| Visited | F | F | F | F | F | +| Path Length From Start | 0 | inf | inf | inf | inf | +| Path Vertices From Start | [ ] | [ ] | [ ] | [ ] | [ ] | Great, now our graph is initialized and we can pass it to the Dijkstra's algorithm. @@ -37,12 +47,15 @@ Cycle: When all vertices are marked as visited, the algorithm's job is done. Now, you can see the shortest path from the start for every vertex by pressing the one you are interested in. Okay, let's start! -From now we will keep array which contains non visited vertices. Here they are: -var nonVisitedVertices = [A, B, C, D, E] -Let's follow the algorithm and pick the first vertex, which neighbors we want to check. -Imagine that we have function, that returns vertex with smallest path length from start. -var checkingVertex = nonVisitedVertices.smallestPathLengthFromStartVertex() -Then we set this vertex as visited +Let's follow the algorithm's cycle and pick the first vertex, which neighbors we want to check. +All our vertices are not visited, but there is only one have the smallest path length from start - A. This vertex is th first one, which neighbors we will check. +First of all, set this vertex as visited + +A.visited = true + + + +After this step graph has this state: | | A | B | C | D | E | |:------------------------- |:---:|:---:|:---:|:---:|:---:| @@ -50,21 +63,35 @@ Then we set this vertex as visited | Path Length From Start | 0 | inf | inf | inf | inf | | Path Vertices From Start | [A] | [ ] | [ ] | [ ] | [ ] | -checkingVertex.visited = true - - +> Step 1 Then we check all of its neighbors. -If neighbor's path length from start is bigger than checking vertex path length from start + edge weigth, then we set neighbor's path length from start new value and append to its pathVerticesFromStart array new vertex: checkingVertex. Repeat this action for every vertex. +If checking vertex path length from start + edge weigth is smaller than neighbor's path length from start, then we set neighbor's path length from start new value and append to its pathVerticesFromStart array new vertex: checkingVertex. Repeat this action for every vertex. + +for clarity: +```swift +if (A.pathLengthFromStart + AB.weight) < B.pathLengthFromStart { + B.pathLengthFromStart = A.pathLengthFromStart + AB.weight + B.pathVerticesFromStart = A.pathVerticesFromStart + B.pathVerticesFromStart.append(B) +} +``` +And now our graph looks like this one: +And its state is here: + | | A | B | C | D | E | |:------------------------- |:----------:|:----------:|:----------:|:----------:|:----------:| | Visited | T | F | F | F | F | | Path Length From Start | 0 | 3 | inf | 1 | inf | | Path Vertices From Start | [A] | [A, B] | [ ] | [A, D] | [ ] | +> Step 2 + +From now we repeat all actions again and fill our table with new info! + | | A | B | C | D | E | @@ -73,6 +100,8 @@ If neighbor's path length from start is bigger than checking vertex path length | Path Length From Start | 0 | 3 | inf | 1 | 2 | | Path Vertices From Start | [A] | [A, B] | [ ] | [A, D] | [A, D, E] | +> Step 3 + | | A | B | C | D | E | @@ -81,6 +110,8 @@ If neighbor's path length from start is bigger than checking vertex path length | Path Length From Start | 0 | 3 | 11 | 1 | 2 | | Path Vertices From Start | [A] | [A, B] |[A, D, E, C]| [A, D] | [A, D, E ] | +> Step 4 + | | A | B | C | D | E | @@ -89,8 +120,12 @@ If neighbor's path length from start is bigger than checking vertex path length | Path Length From Start | 0 | 3 | 8 | 1 | 2 | | Path Vertices From Start | [A] | [A, B] | [A, B, C]| [A, D] | [A, D, E ] | +> Step 5 + +> Step 6 + | | A | B | C | D | E | |:------------------------- |:----------:|:----------:|:----------:|:----------:|:----------:| | Visited | T | T | T | T | T | From 5e5e7a93188b79ee6693b19fd03d387635b87dbf Mon Sep 17 00:00:00 2001 From: Taras Nikulin Date: Thu, 20 Apr 2017 15:57:33 +0300 Subject: [PATCH 065/713] Description --- Dijkstra Algorithm/README.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/Dijkstra Algorithm/README.md b/Dijkstra Algorithm/README.md index 5541276fc..206507b7b 100644 --- a/Dijkstra Algorithm/README.md +++ b/Dijkstra Algorithm/README.md @@ -63,7 +63,7 @@ After this step graph has this state: | Path Length From Start | 0 | inf | inf | inf | inf | | Path Vertices From Start | [A] | [ ] | [ ] | [ ] | [ ] | -> Step 1 +## Step 1 Then we check all of its neighbors. If checking vertex path length from start + edge weigth is smaller than neighbor's path length from start, then we set neighbor's path length from start new value and append to its pathVerticesFromStart array new vertex: checkingVertex. Repeat this action for every vertex. @@ -88,7 +88,7 @@ And its state is here: | Path Length From Start | 0 | 3 | inf | 1 | inf | | Path Vertices From Start | [A] | [A, B] | [ ] | [A, D] | [ ] | -> Step 2 +## Step 2 From now we repeat all actions again and fill our table with new info! @@ -100,7 +100,7 @@ From now we repeat all actions again and fill our table with new info! | Path Length From Start | 0 | 3 | inf | 1 | 2 | | Path Vertices From Start | [A] | [A, B] | [ ] | [A, D] | [A, D, E] | -> Step 3 +## Step 3 @@ -110,7 +110,7 @@ From now we repeat all actions again and fill our table with new info! | Path Length From Start | 0 | 3 | 11 | 1 | 2 | | Path Vertices From Start | [A] | [A, B] |[A, D, E, C]| [A, D] | [A, D, E ] | -> Step 4 +## Step 4 @@ -120,23 +120,23 @@ From now we repeat all actions again and fill our table with new info! | Path Length From Start | 0 | 3 | 8 | 1 | 2 | | Path Vertices From Start | [A] | [A, B] | [A, B, C]| [A, D] | [A, D, E ] | -> Step 5 +## Step 5 -> Step 6 - | | A | B | C | D | E | |:------------------------- |:----------:|:----------:|:----------:|:----------:|:----------:| | Visited | T | T | T | T | T | | Path Length From Start | 0 | 3 | 8 | 1 | 2 | | Path Vertices From Start | [A] | [A, B] | [A, B, C]| [A, D] | [A, D, E ] | +## About + This repository contains to playgrounds: * To understand how does this algorithm works, I have created **VisualizedDijkstra.playground.** It works in auto and interactive modes. Moreover there are play/pause/stop buttons. * If you need only realization of the algorithm without visualization then run **Dijkstra.playground.** It contains necessary classes and couple functions to create random graph for algorithm testing. -## Dijkstra's algorithm explanation + From 2e7c34c8d59c003dffe5f51a5f035a8c9b1141ba Mon Sep 17 00:00:00 2001 From: Taras Nikulin Date: Thu, 20 Apr 2017 15:58:50 +0300 Subject: [PATCH 066/713] Probably final updates --- Dijkstra Algorithm/README.md | 34 ++++------------------------------ 1 file changed, 4 insertions(+), 30 deletions(-) diff --git a/Dijkstra Algorithm/README.md b/Dijkstra Algorithm/README.md index 206507b7b..e73f95393 100644 --- a/Dijkstra Algorithm/README.md +++ b/Dijkstra Algorithm/README.md @@ -10,7 +10,7 @@ I have created **VisualizedDijkstra.playground** to help you to understand, how So let's imagine, that your house is "A" vertex and your job is "B" vertex. And you are lucky, you have graph with all possible routes. -> Initialization +## Initialization When the algorithm starts to work initial graph looks like this: @@ -130,43 +130,17 @@ From now we repeat all actions again and fill our table with new info! | Path Length From Start | 0 | 3 | 8 | 1 | 2 | | Path Vertices From Start | [A] | [A, B] | [A, B, C]| [A, D] | [A, D, E ] | -## About +## About this repository This repository contains to playgrounds: * To understand how does this algorithm works, I have created **VisualizedDijkstra.playground.** It works in auto and interactive modes. Moreover there are play/pause/stop buttons. * If you need only realization of the algorithm without visualization then run **Dijkstra.playground.** It contains necessary classes and couple functions to create random graph for algorithm testing. - - - - -[Wikipedia](https://en.wikipedia.org/wiki/Dijkstra%27s_algorithm)'s explanation: -Let the node at which we are starting be called the initial node. Let the distance of node Y be the distance from the initial node to Y. Dijkstra's algorithm will assign some initial distance values and will try to improve them step by step. - -1. Assign to every node a tentative distance value: set it to zero for our initial node and to infinity for all other nodes. -2. Set the initial node as current. Mark all other nodes unvisited. Create a set of all the unvisited nodes called the unvisited set. -3. For the current node, consider all of its unvisited neighbors and calculate their tentative distances. Compare the newly calculated tentative distance to the current assigned value and assign the smaller one. For example, if the current node A is marked with a distance of 6, and the edge connecting it with a neighbor B has length 2, then the distance to B (through A) will be 6 + 2 = 8. If B was previously marked with a distance greater than 8 then change it to 8. Otherwise, keep the current value. -4. When we are done considering all of the neighbors of the current node, mark the current node as visited and remove it from the unvisited set. A visited node will never be checked again. -5. If the destination node has been marked visited (when planning a route between two specific nodes) or if the smallest tentative distance among the nodes in the unvisited set is infinity (when planning a complete traversal; occurs when there is no connection between the initial node and remaining unvisited nodes), then stop. The algorithm has finished. -6. Otherwise, select the unvisited node that is marked with the smallest tentative distance, set it as the new "current node", and go back to step 3. - -Explanation, that can be found in the **VisualizedDijkstra.playground** -Algorithm's flow: -First of all, this program randomly decides which vertex will be the start one, then the program assigns a zero value to the start vertex path length from the start. - -Then the algorithm repeats following cycle until all vertices are marked as visited. -Cycle: -1. From the non-visited vertices the algorithm picks a vertex with the shortest path length from the start (if there are more than one vertex with the same shortest path value, then algorithm picks any of them) -2. The algorithm marks picked vertex as visited. -3. The algorithm check all of its neighbors. If the current vertex path length from the start plus an edge weight to a neighbor less than the neighbor current path length from the start, than it assigns new path length from the start to the neihgbor. -When all vertices are marked as visited, the algorithm's job is done. Now, you can see the shortest path from the start for every vertex by pressing the one you are interested in. - -## Usage -This algorithm is popular in routing. For example, biggest Russian IT company Yandex uses it in [Яндекс.Карты](https://yandex.ru/company/technologies/routes/) - ## Demo video + Click the link: [YouTube](https://youtu.be/PPESI7et0cQ) ## Credits + WWDC 2017 Scholarship Project Created by [Taras Nikulin](https://github.com/crabman448) From dd9e998e4482ff9665e3964829569a0c5489daf4 Mon Sep 17 00:00:00 2001 From: Taras Nikulin Date: Thu, 20 Apr 2017 16:01:01 +0300 Subject: [PATCH 067/713] Added reference to wikipedia --- Dijkstra Algorithm/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dijkstra Algorithm/README.md b/Dijkstra Algorithm/README.md index e73f95393..76cc4ca1d 100644 --- a/Dijkstra Algorithm/README.md +++ b/Dijkstra Algorithm/README.md @@ -1,6 +1,6 @@ # Dijkstra's algorithm -This algorithm was invented in 1956 by Edsger W. Dijkstra. +This [algorithm](https://en.wikipedia.org/wiki/Dijkstra%27s_algorithm) was invented in 1956 by Edsger W. Dijkstra. This algorithm can be used, when you have one source vertex and want to find the shortest paths to all other vertices in the graph. From e2282045c04aeab0ff7eeb2c1df8edc33c92c76c Mon Sep 17 00:00:00 2001 From: Taras Date: Thu, 20 Apr 2017 16:07:33 +0300 Subject: [PATCH 068/713] Update README.md --- Dijkstra Algorithm/README.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/Dijkstra Algorithm/README.md b/Dijkstra Algorithm/README.md index 76cc4ca1d..61b47e97f 100644 --- a/Dijkstra Algorithm/README.md +++ b/Dijkstra Algorithm/README.md @@ -24,9 +24,11 @@ The table below represents graph state: | Path Length From Start | inf | inf | inf | inf | inf | | Path Vertices From Start | [ ] | [ ] | [ ] | [ ] | [ ] | -_inf is equal infinity, which basically means, that algorithm doesn't know how far away is this vertex from start one._ -_F states for False_ -_T states for True_ +>inf is equal infinity, which basically means, that algorithm doesn't know how far away is this vertex from start one. + +>F states for False + +>T states for True To initialize out graph we have to set source vertex path length from source vertex to 0. From b95331012e6fa880928b38a7606384e6b7a0db9a Mon Sep 17 00:00:00 2001 From: Taras Date: Thu, 20 Apr 2017 16:09:14 +0300 Subject: [PATCH 069/713] Update README.md --- Dijkstra Algorithm/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dijkstra Algorithm/README.md b/Dijkstra Algorithm/README.md index 61b47e97f..9999e224e 100644 --- a/Dijkstra Algorithm/README.md +++ b/Dijkstra Algorithm/README.md @@ -30,13 +30,13 @@ The table below represents graph state: >T states for True -To initialize out graph we have to set source vertex path length from source vertex to 0. +To initialize out graph we have to set source vertex path length from source vertex to 0, and append itself to path vertices ffrom start. | | A | B | C | D | E | |:------------------------- |:---:|:---:|:---:|:---:|:---:| | Visited | F | F | F | F | F | | Path Length From Start | 0 | inf | inf | inf | inf | -| Path Vertices From Start | [ ] | [ ] | [ ] | [ ] | [ ] | +| Path Vertices From Start | [A] | [ ] | [ ] | [ ] | [ ] | Great, now our graph is initialized and we can pass it to the Dijkstra's algorithm. From a44f84ecad941273df7472ef1c7de7aa93b1d1c8 Mon Sep 17 00:00:00 2001 From: Taras Nikulin Date: Thu, 20 Apr 2017 16:26:33 +0300 Subject: [PATCH 070/713] Removed unnecessary images --- .../Images/Dijkstra_Animation.gif | Bin 8561 -> 0 bytes Dijkstra Algorithm/Images/screenshot1.jpg | Bin 224243 -> 0 bytes 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 Dijkstra Algorithm/Images/Dijkstra_Animation.gif delete mode 100644 Dijkstra Algorithm/Images/screenshot1.jpg diff --git a/Dijkstra Algorithm/Images/Dijkstra_Animation.gif b/Dijkstra Algorithm/Images/Dijkstra_Animation.gif deleted file mode 100644 index 3b1a2ef434107efb104a9bc1a6a714af37367529..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8561 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 diff --git a/Dijkstra Algorithm/Images/screenshot1.jpg b/Dijkstra Algorithm/Images/screenshot1.jpg deleted file mode 100644 index e9f7a1207f315e8f5aa20c72f3264c65edafd3a8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 224243 zcmeFa2Ut|wk~X{%5yXH9h-4&4XaPwQ1o|if0s#=RYLZvIH#DHteB*% zxF~Q#M^RN3{7%Qr$=uw|`H8&?33Jl#iHnPatcZx6v#{x7`$y)&X7;us9;OZ=qQX~2 z06D0KgQ=N~xeMnbb4x2bd9IBrG#97UV|gx^q{dYZ2SxKIR=2&J%yqmpbLE3)?$ciipa{$cS7O6A=>=0` z^$@ai=Kk#ox6GZ*oU9yNtnBSLe>~Cjk-e*nJQw)OzrKmOjpIM?AXt9g=lyl} zTpwHLa0KxA_|mhJZ&z_QeMw&cTB;LTMxPW7{WaPADq(*=PM28e)zm{Kb13$=) zksqfxK}mIz`V@FU$vNN{89Di}SblRqrT#oc&&m%ul zao;SgW4PD7$s_*A$?qif1;&d^%)FQR_yq(dB(F(H%g8F;Qc_mAt*WM@tEUe$xNm6o z*xbVMiIugpi>sTvho{$zm;M2PL9c?NqTj^C#=U(PpOTuE{wX6fEBkX%aY<=ec|~P? zLt|5OOKaQLp5DIxfx)5S5zO?=?A-jq;?gp9YkOyRZy$GX_=7GG`TiSO;OD#E(KnP4#P` z{!2OiYdQO)(EPQKz=x25&p3YkI3@V++^LhN&i&JcG!7aNuSg@nX>u}9n8;}XC_utbg+0Kal})()VBGgbdU!qF>ln8mcX^vF)mnI~!+HCdN=_AjoW;wQvKX;>73L ztGGQQ3wvrSv8PUC6|Qp6yf_tRqT!OTHcOe+k9^AEEAB*<4HGt;sb&rT%r>vfZm4(u z#$d`(CrTgN61-bxf$p0Zoct1Mrgb#u0F|A4H{QAMsB!=DdnJUw+UNJx<6VoVFQ4$I z+Pdo(ycz|6T_N$fNBe%_&Dri~RV6@JgGu7e-D7_q{K0^37qlq)JBnTjrF*<} zR~AHynmqr2*Tn_|EVE-#AK1*wujBTdw`scA`xof-cN`@Js_He^?aZPvjt&luJ@-tk zNx){yXzgiSV5&zwRFH1Zrl08v>-MhB7z_zdjCGGQ^yzaiy(b}lvo7Y%lpkab8CWY8 z(k#na5q;9z_GS4E!umJLRHR&Z|2~tj^BM_o*O|t5%}3By%igyBoFxHM zY;*M5@SDE3>9v&rB&nN_n@cdd8=}^;zAIBZm#ZbPPj#~C2`m|*`|iW$+1y13wPy5- zufa$~gGbg|I&Y3HcWLp~w!Z} zi-gLVJ8jz-hUU?ozeUw_Nqg}et1lnl1p4+A>Wt{SZ)~o-)Ha$HDEHaoni_4KWpI+* zT!N^!DKDjd6>L_6Cweqq-wk~$+Q&s7s`~`h;sx2!!ad{IWg!7?NWhUZRs@%TK8zs& zbN0kp-$reC_>MLSI7d!QMQ$aN06Pw>400Dj0=`ZXS_wfZXtu>vA}1w58N2~X9D`0f zk$`0w35Y=-MIO;A`Cji^4a95032G!@tBeFVK_Bsh)bo>o zATko5jXuyK0cAA*B<)MsR;+Z?W&ZY7&Z&szz^T9T!DcBImH!(XPAU1i;AL@h(-Bk? z4K}&PZP`{l&#+&cX2X2U%(~cL&Md({difAOWtrJ$8Qi{HS{Y^@HkisC`r?2Y|31`% zgE6W<)Mn&vY>yFCgl}%2qr3K^M@cMJlil^|tNJvdj+1t%A`QE0;!cQ*wi3eh@by0m zIh%|Gpbe+PKg3~kRI|oBZ0g)k^o$ILI*s!kwy`?g_^3V zLgqcL4uv+?p0Jf}7OA{G^?b-r8M6+VfNYL!@HU#`-kFMO7pD>~SHC0J)Fe|rCwn^1OZc+26RHrV2TJ*!QpDLtFffw;h0nQz>(4SAQ;ViJVhUt`Q3nw;Y z<$pty88H}M^rEevU5%W#lxb!Wsqbr^;cM5VUaJi`9Cr0$4^;AndHlyZtvr}8N;$=5 zrK4FZp#0#CXWV25M=SB>H{#nN1N}D+o`{UI;d=Be2mG3op8uw79>9O6Efzq1^@may ze`smzbCT2Kc@-?SMJ3IRMcLzAvF%Olv^4>P1{Kk|J*s3gF(GZths`ZX@+Vt*s&gm5 zz{8#oOHygVr!dGl`i--*gj3brgrOQ7E)w>n5d3h z(ASwBt81H_ENkP5o1%x6l7I#|ye{%(4z~1+kmcsb&ZX2Cc3nMZCW|08jN(~MY1Ske z)Ol1v>Z^=<#7@=W;nCDp-v{tB_hM?&3@a$CQ>};i@IC@Yg@6 z&W(TVw+HUR1R8DCeewwzGa^<@OCFdi_tAl<4o0{kxT6 z16j2HMZ;|GIrahyGtQ{{LM`rg@8n(gaurt>m0SGBoTK1Sf79S5om7qf>@|ie*{kJ- zG0TFwF|&Ire%flvC)wY`RCF>NvK&b*OEHpwGh6{q1_t9A$LI)MvA;l%&B7L9d_cS= zifofjCf3s-7t2?+I9LRlX3K1>T6Ur7wZVGn>;iKk-93r;-4J~Djs^(1TQd%Ie_-z4 zSB4H;=iURUy2JHUvc}j_#(P;Lz>3R)BQrm$d?P4%OAD_-0v=XP63*>T#@tY6P!k(& z^L>KF1?PT@o93gm_;?w;dBImV${^M(%9E!@TM7A*510S@U!d3D_s5Ip;@TSx-Tmd{ zDMw1=4L#QKrjMWLxqUOUZOX|jeoa9L!GhhW6QNbaAcL-{TKYI18*7>STBM9EVrX^Y zdCVZgrovwGvQVO5Nwv*c{@#k22gX{~E<0q-P^yQR5!d~KX=#4d3@yq-2$^$>ZY!#8t@1n29QoLt=D!`;=1+ig)9oHlA5Q;gsO_|$XZVaQYL3+_h(z!8vT+IJXx`c3cgYdv8OkA zvj6(YV7Qszp}OaV0T|QQv?e#v11(@rAx11-zl!zY_-ZJqv@>7-thD>PU4)z)<3kOh zfi5dy`b692>)r+?p2<(f+|nKvemS0SmO?<4*G;;q?6J8vOxWdUl;uF8<0fNqrJo{w z;hj%XVSSjG{%3+Wru@Vpi}3KtqLQwRgU95X!b;xbh_#>k)?z%7VP@Ge+%-fSZkxPP_97--;X-@5l>2Hb4kGde zROAPAJ0E@~{*U97%o(x7zs!TKV08|SoRx#$XN zi2UR)KeQSpsrO%IRD!Lkk^o+E(Eckhh94?;9en?dZM(60^Uo+l(^>38vQDC4$?+8tBKqtj4gcv3#G zD@g#fq^u@iN+o|@XtYU>Xk<3laK?ljc)C7$6L~?4?_n3)%oXVoNLzcwW^_(OK*3(L zjtQ(s9WRdvN3=vUQcIs)f?85iF4#UI0ZqN%(l>R8cOcU(1YhK8;ovt8GNc6wU_`i; z_lZ2+5GtlQvzUXv+rM$!K&bBc)am@aFMOGR&paz^kOa`+Me;rP_JnY~80h&?$)t>Q zYmMVrsm;nQgc$hXlxeWKmYmT+BjeCa#~_SZh}swy3d6Gb%8LXDRa*4d$u{5<5`jx6C*WR zlo5LZo6yiTkt@WL2(uo9hJb)Am2 z$UgLkilOA3)dw6 zim^yUwUy(Ms_!=wDeReslFqCtBwcAbAXm9mw%YotOIqoQ)_1*JV(yCR0_9O@YS)T9 z_mTzrJhK1rZfcOf(oy4F+tL~H6&DgfK2Jk~CnNR|k|j4HDnC_Atk?=-pW5d7cFaqT z<=%DVi?0I2&bmn{F2QACiy~_*4hrnP?UPgr=We<^ur5@n@uED9_-@EKGo~g=ob&a8 zRYgr_!(J|TjLWFU;RS|$HImM{`)AyANT;w!Ww*ylx*w$Zh#V;pznKW(_Ah_Tszcgi zCQm zJ8gv{Bmejtmno%}i2d#+5|zpIlbf2z6Qdrk_;S2Pj&xtBqTQ;xXhTwl!kveQ;j*wV za2mvoT%1vhEKLvs3Q^1)ny9;SCDA=6lm@ZGUE?VsI3uc=XYJ~#`*=F_aqnF3g#81! zMQ(&)4J$jty;S`;@i)2&`Mt&?M_E=W>xsjwP!^o=ixeriUMNPS$DkcAMuT}SNb1=UhnR!#y5@QbxR44Z5TIm6{SoV)7c z!F=)6b=pr+4^}CEF|wZB|B`?DvRPPT?iFrWOy_wgH!U06^vXj|_5cy#I@2U!r}S?h zr89F%YW4>R@`x_V&4tyOOuQPdHya^@Q^_4&IW$Q;>dlimX)Sa!%j&(UFZs3aj6BJ` zlbnQ5;>l&hU=Kwl@KsVLJU%JTwLBGyZj18uZl4An_OK8K3Lgv!D(ULr<*G> zm*A&MtmL5P$1jzrZ@UWR72l=n(GQ91lD@+_l?3p3+Xk)zDZ0>;?6n*)48G z)Ic@8Bj+KfDPm=Y*uB^CtJ|5RbzNe4Gw6#$WfG6RcDtd?%_4;AZo0(4b1tV%d`=cD zdorFgT2--y3RgIf%fX-<-zi+gHC^b{4)&N9Q;B=kbMKlu({=Ytl-wVe&r)&KmSH(o zS)hJ+b8qt*IQ#G-`>9@xe=;0hcA;Hj+YYo<%ARK^m}MF#sD4o>r_3OrQ(hshq10;6 z?BXEU7{2)eOzy>#k!sIQEF6%joAmu5oDc2s;94jM<;(@5jtQ2IGgr9 z=qlugaJa0*CuX#$BBV|g_PTalTfbg@*nI2uW95h50mkI(DmQKVNq}hxi!J$HEUx6! zlDGb(X7BFp55x5@1Bj9uwL|0#?FrL1EoVaNVaZZg9`%0K>{wm<6vp;WnE7R)^c{05 zCucQn>$RM8@0^uv%Ww~~y<0dRhP=GECK3=b0{4^C@y%{f@#yhfLv(7}z3sXf)>_B! zpzNUOfjUF@fVMZ?sfeYBb6NX{=jkJLS_STdOu zTG27yI$6OD(@&1ns=G5stlRDnm)O|!=2!+&d)(1vF3M1k)$OqwugXc=@R6Oo712?7 z1lp(I@EPR_CA_>$0=gXszcB2RfK`wjo@L|_6=*1>%%H-sImBBLct?WPh(a)WOAmFp z5B+|4IhY?c%S{jlLGrVo>P#&cvJHxrBKU0}cN7QBjNKcx4)}=R^9vqq5QDsSJ|p)l zq0fx>7Lkq0+8EjgNskn6Rm z5^jL(y`%MWow-C_u)_)afbbo#B&4IweNN33N9K40)-#7S#eU)jZ2d6JV`QE562?cO zyD0Nb=<4naBO&-H{v<}7Af+@|?Ja06wYBU{W2eyCD8?nG!hLPAUm6m6-FXFlBtdLf zxQ0VwP;B^XxaawchGl_x%ZHB)Tvpon5`}dcPM^PR2H0A(QOcZZaXiqJl5VKJg&kW- zqEmyQ1bg5G35up0W%QNBgHMf~rX&PTgMt?uvsK}5hzr(! zlPzgIR>_MWcp&R5Z|7qISEmWck#3H1PwmJ-w!06aFg-1;COkMDGF%2@gNVQ3tgnJp zlp;g=T<*=|Nvgl_PzYmgM*FExnej2~+IFpKY|hlppP`%XYF=Y$VCPGcFw4k=Tz#JW zn#V0kJi;lP=8=j4dg}e*gRsG7TYFdn_k$;gY#mMcQ>RWc^@zdb&kjQU5#rMXXI-pR za0&9mgWDmVFwd$X{8(j6-PGhq2v!RR1i;JdD zFsZ>=D)0K<#wd))ZAZ9=73skFyYD3h0*%uWdkl}9@_Qp8i~IZK0*F4G%D=H zYq1-wS<=!6(`a=G$h&ILU3MIUJ%;ng_hNiN$8oH7vJj$`(ns<^)7m;(pfyaB^$23m3eZ0V4r=0J@yxm_t_0h zApQ;f407n^BneQaCTO7AMFKdsv=Ne^nmmOhT!idiL&sHnk^tWZ67Zb(lmz@z8;IT# z0Ih{VP)DSJ_90~R#Ubv8+wb=kGKCt6CaRqP{nZc4(L0FU{X7K2(LH3_FCaW!Wn?5q zB%uv9&4?@c53t|7>*&PzV zKmuAT%RUm_Hk0w8PY#o0Hr@BUD+wR)?lWOr?FO=U4q0Ka)(d^(k_}gmj{kC!dqmZ) zngHoVNFA{wq;Ka*Xo2d7$tC$Dt{Dq+i=0buFjT!v-QsvD>FVc)p;^r|&L(k3$Bf%7 zv6j<$V^Ci8j)vF$wr&m{Z!Ywlv0`~^>3Nh9?s3qt_dQ-iYYO(o=g~oESyme<2b=pHdguCAY#~G8#cTt$s4Oeztt#HidE=3cQQMNCy{kI~IK%R< zju{?X0+6zzIYg!8q|eUS0Szb@CrZ#92-tg!ef>%%{?6o+C~1*5R1c%54y4Y++P*5b z%#sh#r0_9DKAL=4I+B6EWEj|z$INljo|fg()6?ouEuOD-lpRSjWa!}zH|VC8t%w?& z67c{l*_<7JX8cnkL*=qEH{^bUpxVZ@@45v#%uyc$9Q$Bz%2rp7#3h{^!_R;J!Hu@k{`IvBQCs@b4)>LK12Tg4wBIL=C-mJ@ z9r?PYftGTf*9t*WAn%|$qt=I>Wvkd6{AMmuVpTnTUyO|8KzOwb1GPYMV}kTkD&F*L;H8J z$mcrK8I7Q!JcO6o468dfvWz>)TQM7&W^w!3aX&_(iYfut!D` zx5>lLOOk(QmyMsVUyx4FxFRX79;-87o!4`AgfD&K{o2rS)8q1|LdF{RTjC`SY*}{W zYx8W(^GElkkxazqYds!(cX7`*AuR(O=Zn`k8EeW)BigF`fzDetJXPUj($`Ot&z<(j zUm>2{n4+OD!7F#;k?u3zHd^QJYk41MXMZB@=tx`2-FY8T_l&%-CDs?SkfgwgbH^G@ z)71MYZ|LE?bK6qKCV#Qbczk>IKG&m@`l@<;Ta?nRsE?phUShT%d0)S+ASF9l_=Q@` z)?AM4nZk?U#g2mV@+r}CIr>XV#jE-KiM{$|9oEj~7jtyxwV zHR_Wk$ohzY2_`JxD>*aF#;aHpu0csQyVq$gcGb+}C85em5{j_!=k+^U;f{*}z(%6&Ik-NI;Q$h=T06 zwN$B8=^;%(v33>c#tJgvG(Ha)hjl#D6azRs1DW>ANx-9Ia$IN6R@YQqvpiq3FIVBK zG+C>cMiQek3OcXST6eCiE##2(PRK!~(B#(80(*ZKI4y3SBXGn%sN|$&P0h717h!YN zv}26A9-X&eX{vIc3UxM7-0a1`R_8XmTH-k(Bv2#QI@TqOGS`pWq-k)(XF7GqGE!2{ z2ztn|2b9|^#4Ky(e!QnWXR9puKFV$Vz+|IH|N7!%U4i;gOEs~1)vuZgKk*h+6roOn||d3OLxpweTm`Gjm$>m^pUkbsZW<%ruYw0IdW z@f}$Z@C|BBodf;&>l6E$Hs)A5*d&Kc-|ke)ECvS|0GtAn`HpB5;$l z5#OQAxURZ=c!Ac7YBrnvAq~{Xavsl!*MnPwks0qr$2L!F(?5I>RXz)=pJ2nDEyQTJ zH8jRkv=1-KK5dhuyVSrFncxRyZc3?*CXa1?$#-g8O{0ngcz--thl<5`*1Hvj>gu7Z z`Ut5w|07j|2(IRc6Zig}Z0x%+0;o6z z0Dl*Ee`fN9Y{Y6C77fm?zx3)+k0^OEQpLZO_leK({>9hyCuT2vx%Bpe31piXjNQcZ z-Hc(g~5xv6LGm+#&V@BIlvOM5#)pT7YCO=Bc`|!XOs=UK7thML8$+qQDG`-Pm zd&+2Y?vwci<~w!k_IGJwRH7lRAChVf3tN;;QZdOvUdb<9wV0RVNWj^hjPH2aUgU?7 zwky%MBl!VFPqtBK+VZf*(^D?_g2B5E($vNC%lf(V6N%^Hyy^HZ2;19xSrnRK4982B zM-OUjXML+|;A{#k>PLJT;X=FZ+}O(t4K^6dBBRW(t$GWCkhkuhFQ`&9hMEvXNAw=O zb%)S!*9|hfa^Hs@ywJ=8!Rh*Co2;k_s-ZKB9Xv0&qR5o^s$fk!FbZMjbZUkt0#Kg` zLX}bP$4R4C*_}1a>yR=1GT;5(WgnfR$M~DwL{7Xz-{Z}uF{#QEfws1vthPp5Ki}N^ zOH9<;KnQ&9HOn{EzQdFMBD%38iQGL%cHrVJlWm}jiQa@;e{FZ`aC#BA?HZS z_q&dU8K!+$qd77AR(i*q#(=t!-1hBfU)>_36cHI=@=|pipOe2NI<>U8O`bzztgHu$ zS}w<>8XEZ|aVua7^V84p4+Tb{1*DsMTNU7&lwf}@`o0-ZxLGx`5U3CFxu(GeT0DU9kjLmEo!E%3>?Edud~OZ_?KIZHi#V z152r(EjaaIkXG^Nu7}AqW`HL`y?1;#=l^y zS&yyRk&=I-``wNEyu9v>->RN*bIZ)a{E6Q=m?SyEC+SK=I3|rw@mrjt$g6d~n3vMo zWHuhIF7-4z9MY6C(DqqHEs5QgEuE^w-pE&9E_6js&-&3N4HNMw_nn&Bqhy3{^CVp@ zt5p&+h@gz7HS^^pEoWAg{MfV$3hOaEp*a;8C!Vjdmz1ga;tSA48FeBrykgMd3fu_& z9y!=2gKtrzR)*YZWnRzqDHvKKU*1NBRRBmvFFfe&D$9vd9Y|EuGuB=E7G*eWq`Yf* z@m?2KW_^sInkM6%ZH@3owq}>kj?~@&Hp5@e{YcqE#RzO4^V|`n<ZRKTztBi=br5DgHiuWQzLe={ZM&wU_)5WYZ6!i%h?ssbNhftViHd4^kVZkp~y1k#$f4 zZ*mL>ACMmwaHZh(*YFgEML4ybe5yyzv{YcR2(7i-h(e63=eeq?s&_(|0N_h&2amrl z;=>GIbd%>AL!yDqji&2TeLbOl7HR!GOJhgkdo#GK6ub)VOQq#Y5zgw(LI2$8f$2D<{ zo$gclC#K|cxcAJkTJ>Gb#4dITLZY0{bUXaS#PVQ>x1}edo%QrkXhh;L-JD09;C)rf zxh`q^TuPq9*abFB-(*u~vhD`*9nC8XEQFR{Brq~R%y5!>1)Q6h5Gf)=LZ1ZXUnyya zGA+g~3T@=Ol&YGRmsDuaQ?))i)lx_9K5k`>cNg<2XniY2~^}Ry>)AQ74 z{nZ3@*GFJBv4nW{GVf$xVmI`H0;7i(=0wbqDB^6NW<~mlrf^A^(G%M7&NOM-0!*z# zTFexM-s!P;9Ca`RE!2()$Y{GTYFj$7Rx>K?e5KhVJE=#NCrVW)%7_OPN%tg=zW`gZ zar{-VAB12~M^r{6V6hIKRdQgq*+5hi2|%x2vInQTD10+uTl*2vjUnVFv?F$j< z8G-6{uBME#WGr+!F^G~<{pX2*U!_ug*lv>LbAx!gk9_95X84hI(T!6<0bGLX!V8NTt41@(6CSW>k;bD9x|KuUNZU*+ z_sCIoPgjOY%{7PI9G2T(StDDiRk_fziz%t6;*?{oW18sw{fQLHG;-m92Mif5IRd6a0~=`fw0Mw zzH-F2L+BS0K#SYZ+Jpw-g?#tVm3~^HzZc;C@J3{}!PS^J>d`l$G0ox!AxfTIfvKyP zlo^;Eqocg+M!jwOQ@f3oMC@gIKgGY%H5_~#HR-+hZm(<=i-k8pi%?AwbRLkV!AOt5 zI@yu-bZbVpUo_~0PM&mR?{VkjVWr!O`i1XU)e358V=6p7yFDL=oaqX*#dC8Xge-KN ztO*cr4SW6VSpnAn3NO2qHm2%r=zoQNR-&#v7oeV?v0H(?#!aXs;-uh?=_DFci$=GJM|FC!;>iuU@k z5ib#Xn1~m#L`INbuUybHL3TZz^N@hDxUXd_ytGC1PqQvQWv59;&??!VP7!pmm>db;#!{N+vtgMHRYKd*1WnRZ zJ7PFq>L6tMgm_+P_Ri~=Q}n^ahc1sg(!-8jdlY_b=FAv}+VTbnnfxY8wHoZtSP`YL zVHwX9cyRZ|ZO?S3e!i|gR1UBG_PorNlH~>DLVb+nfsc~2VgQDkeyR8Uy%%<3D>?3( zM|qm>uvZpL($!vTimR&0OQ>}iS$;g!%0S2v-XSd_&f1t=dX>Nxqkce zNoU*B8Lzh(tge9*p>%8Y3)GFFh?*l2gxYr^Bf@iYGQ3)I(z2H`Ubn*KPEcw^Sc>IP z^_s@;7p5;$ur3MMgDda%T}@3=-^UkuTiHB`4LPi6gUJx)1ipXzkX4mdGO%A|4OtJ0z--r38u?^p{|FRtl#>D?0}W2iWKf@`T) z5ZHv*8NpB6#L8BWzycekURgRbG#IJRj)X;14TsvsmxO*F%d27t>U@)GD6y289b20>oZ%xfb`-dG72EaVQZ*J?xAE#QuQn0`XI<)|8yo-j zTJg*`&Nt3HXz%^-NMG?715~%Ny=A}l&NG$;FfZWGTOB&aT)Ga zmw)l{0#~RdKjiZ0Xo}T!iSXX(%c)ZxM$Peg`wbnuJ6dPu((W7n&FUH|GIL}J`q7?@ zN(>u1fmd{4nuqA>O~JnT=;)PErG1Wn^oF?poi{`edFF54kh1^H-jM!(6>rE^+?v!> zPKRc5d-Da_cbZ9`Se~Ww+-h+u`+nYe7xfCVcflYv=~{p}4T~R>!Q*pYevkz?1F^$| zW>DBpTWpXUqw&^xaHIk|iu9Xa|A0kdF`GB)+r{9wR9T*Xum)<*sVxp1D zV47wd2XPV(PDVA}2M3nJli&$HaAGgH3yKwHwE|}yp$GRsSHl&B>nXLMZ$AKxOUTLr z9d*bfACAp7^sXdwHi87$rxLlkXu!#3Eut!vcndmhEZs|dhTKXQAsQgu|I^=A!7C+k zkbn=#_$VYk2-#Tfm_Y#3?B>+q_yXK|@DUx6Ns9Ohg$GTCwH;&w7|YPt4}vBrp*8{+ zA_oQIq@f2qUpIeeE$zIgB zKu}Qw7_LDFlCMPqB581OXC*++ap1GmNkA+ITQ~gC-!bSX5@;<0L68ZyE)O_4%*FA4 zuzkIJ+ge$f(iP^zg6jmcU4D}-Xh}&$O+|QT&$W1~w_IGI zMWRyxWS1Oc|B|JS{bcWsz^0wwJ3FeS`LFI*_ebj&Y9Sn7l225#P03KKy|MSsB#S6E zHhqU2y9>bE6?Ru7arUn!xO+R^IJ~{p&tFx#OMdXS(~I;b(}Eff)&`5(*B z$|CY-+0_CATmS4fe~@nTbI88rEBDPM)9qyI; zFswJ{OXJiBZF|}=B;aB?E>T)5RqJA3=0`a$Kc5F`ZYI^AqmQEHlJ{IUB_}GT7xCJT zOb?(c?E&1c__(Q331jODZ`n)scP*A=72bU`P)c9Auw-LHRiAR2jL0`poO2KoF8$fF zQ)W88_+ByWan(WTI&tP`r5=7(z@b^2^|*P*wXqE0EjL3?o+vo-E*LN~)75+Pr<_wT z2etMd;S-+0GizwrqrP5TptrBVf&OvO+jafJW17AtyS8F~KSWPrd^xjXX0m3ia<*mpstx#_cNk>`$YIbLtM~+9wvv#1=ods`3Z( z2J&^EyazqeQsVggAr!Toz!56Lpl0nVSgz11W{aE>K!GE!oHI0)kMVn+po;@GhoLxC znunuR-W8TG01X`#hdwy6(xZ2J}QJqsv&-nHr}M8>0nB@O9ITGXE|F>_fK_lF#De^4s|BMt%1;qxSvF$W+g3I*Md3 z)1Nm$ZYJo$QuKdh$T2PbmXY-jezD(W=KVkU&ZHMQ%L_v42WB8p_SgP>B2`XcW2hrX zLtH9UF*7BY;6fz(5!VYP4g8B(N`I*7{Xc5h!T-d2{qvynx7Y~w0UM|og} zO@5tgYvI~=;vO`nc4}paD7g?n_*^nf#HF--Z-^4Btl%Kui<*ny3nM4~VrWnBRs_vB z>H$(8naQeIG##E7WYmJ`8;iuX4^h2{C}(|S55AJ}kwos2NU z4Mwe)93POV=^3Rd{RJ8`VQ z*EYU`p~`zSU0rWWK#TqCGJJPiiWp$SRkHijVXaz5W7ovhvK zicetdb20P~K)tnDTKhfccAZecDh=3{&8$Oo>i`J!Mxj!_B}T|?Ps8!gK7b+4APW7? zUM*YG@^>d{y~T(Ehb>gd3K4y9PQ`)aF8KLVUi<&1V}_qoc9l_9$y?`(NkD!f=p4A2 z&v9O~5qZ`mlyDYg<8CkR_>bW7AB+C|OROvLKQRuG?d&}#0h~fo#F~$w#8KGjYyNx; z8|cMp;}k@2MZ3tiVB(FXOvj1>eRoNL$+Uh4tc3^~EMKW(au=x_-99L;%y4U(Q zow2_RiK?Zh8?^AQu%~_GFrYdipS(15aK-QJ8HSyJB8&!$5ycPf1Kk>c#-Q0-uqYbr zSw9IDbkV8Ib!S5FHtMK-bQ{G&`yxi(q-F7)7Oi$utx{SQvQFlZKc&12@uR_av;va1 z*pi7gpup)!hT4#=#~yK6MWXOMa3L+@X} zeDn+8Tbq0b#rar`an5w)Cf*S*=!@Et1fkVlS4aI{EI=AL9O&5O3k~W1ZD^`_je?g0!>gEMTXDh-dz(ApW8-{!|cuSqJ1l zGGG5ymZSPV0UNXj5U|uI?|$yu&2|X0+z!(d@9g=8ANuh`>?6dV-W4-KNiT{TXUWVC zqIATH@A)a5I#oBe%Xa5ZvF#!nM(|23Et;t@(;a6hJff$>nL%aPHwL$w9C@Ogo}^TN zjWL(<6kpve7u4l$Q@aNGQ1mVD{!XcpEhe9V&R&NSyg{fQv(B(>9{_@RoQnNy&6YxU ztvLJmsA#NC!qg$mkp!GlCw@#mU;$(PQI-_J8PsmkQ2A-O2!^1>$~PZf&HH_Gce7`! z!TY)LHVB`=NTd+sIJ}U^VE}U0o>>3cb&{O~*jniF3o94R0eZbAb}!{H(AG44>hlR z&6)N|E(lxmUXI;c?_SY`MS&|I{OwA965tQcyWQ==hk+|3!P0jRp&bXw9K;;ZL$feB zjsCXX@e=^a@$w%WMXlSrtsdQqxIDJNGL&E$IwN_n*3E9MXg61m)v8&<qV}Na1a34H_4?#WMf3ZkkNglrTvkd75m0@rlAj(EN8`ocf<~{FYN9dmRQ49h;g5!=3&pmR7I%*r{~ z$Dy|6t%JAVI79gEX>js(lHkwryIU2|DhKGRBtQ>D_}d#;_`FyDfB0lMZXEuw z_-5s&erI$3W_$jx+5X;<_vea8|7B;%|Af-~^BI3xhx(uQ>;0>wB>gEO|Cg33|K~;U zUnLIge^>;$#j<0~p2_g+&;!M=Z|qkHg$jU&qF%Ie6_&QP!arDj?;=lm7}eAZuCPG1 zy}~9hWJ7W&7{NrmQpYnvK4{vP_R``u)sy^lUd8t)e9&uV?7O{kYz8e!cdfkGl{td0 zGGrf7>&*!4-P0fp%HIs;&o>+V&71n`Rxq6~Yv}W4fBRVXXmih16IE(4#{_5GU=p4e zmxq}Qtv#p3?D1$~d7x=N3Wy7OCA^4@4w_JEkwf%bCnOk0b+h(1^@JIGciNA)6<#tV z0j}Lk#o9_Ydg%2|B^s$0Rr)orZ(S6&3%~SgR?m})I2|3kGJ@(Y6jWUV{blsQ)chzu zTopE?0ZOq05jp4aX=H18g1C02`)QAqBhRyfD?Cx6WzI?TL8`v7f9_HiH?=B8Kqym>`f99jachV?+gppN4O1tNtaodBO<>=v2Z^p%x;OK|{ zo1xC{Y5Q-$ooP7&LMm8+`dE-6R!WO*!>ckVXrO8X3v?B3(g!isg zcxNzgK~v$)C5Tl+vY!ndPA7S)}gKez(Y+h>LV@zvm}XlMjF;bAW7mS?ZsvX4&zcRllt z$Idw43HUZqpGk!Mf9$EgD4yQA7m$kqO_FDVyefD$rIp=xqUdunw#D_?Jym{vw zbIviwd>>FYnP)H?5YsAfz^3{z0RiShhN_nIK~DKf6DUt^jtCKAPqX*Rf-ru&~- zPrng9WMFyDQh{l9HPF*j->(6E{K=1Jv3<>x3{hL*b1g;JKJx`>K*LcrdsiL|_WK?p zKe-l}cW3LS8pu*?ju$Ka?s_W3uL${2?$8L$C0gSR75PKgPF zZo;_yjrE>&Hqosn^6KkqQH0AlKsFvjSV&h!PBkQcHD5Yoz)MvU~x@*29m*n5mzj=FqGO z!x%|JuIJNYQA$#@2m4VA#O0eISiahW!ykqux0*W|3c6)ZgEhMzIPmv=*BP%TMdo^Kek8gcB3OL*QT`3(wFNdv z-P4Z|$wtjrPtAcIx_$2OQp4|=AouQ+qdA9t`T98O8fMRgMJ>g(D!)!(7hKj;_(8!; z7C3E%b;;zrZKY9fWiDPS8f;xLK5K23mt}Zo0sv39YRSn8m5JSlKYGN~l zqjK+l659TXUIQXcUTWdd;`t)98f!iv&9~4u^XdU=S#y1g< z8C%&aTI9ONS_)?A3F()Bw{%6h$N5vx8Ga3;Vm0@EIxYiR5RDN?ac58|1Ia@$0QBE1hIhzeN=#Gk$_vzRycM zuB?rK7Y)AVOlpg;M2*NR+h!ebMRAPJE;FanjCxAJtP5vUNrBbI>HA40hI91sdoOCh z4lAbx6m-0p54gcEGrmDC(o+EY7xb-SAgZ+A?=7*v-IcMp;Cw@GRNz3V%V)S>dPM_)#TOjt(t z@+3#Vqp0z^iS1MlF}GAsN@qez;+B>~P!6AxqBh zZJ%uXtwAME6|JmX4;&!B6!e(-#Gdv^CZB^P+|I-^!)((zJNFw=Yp&PxL?^NpUF`+?`eIh8 z$;q(9skD%c!)+ONG-<;S9iS`foDZ{xB}lO$*a+M&FVQZv?oeaSdhP1!2PSy`YG zZXG?fbc{7_ZTeex14kfpSo9mnLwc5T^LT?Vsn!_Gc>{+#}7T#7feC#DJ(ZV=@U}CTyOt*JM zs@Lr>M$8jiZs5b%ZvkEz9l(Aw1ozcOQEigp4H#D8ZTG|zJJ(~Te}YQ2 zpH~}F1jaW3!+BmydRoq17yAphX4Fp^Da5>AiHSt&Xu~snYy(R6l7#COFUEK$8#X0{ zmt4JgW02CA(;#qeJmSM-bwUhBeY0HO>YDn@U*6KP}zh@6Yz%q8|L_AN_YQV?51*`Y6rUg3O;b9&TM7^GWCXH*U8Zif3ESopo1H z^E%D9*nKG%r`xQlJHqq$W65Gy%$XcYRIzzCR7F`5&*&!{bf;FcqsOz9(HZ^h7u$A6 z$HkI0!!8tlTh6)ioZ`>S`)Ys56F&}LXDWTlT%ZXG&UdVqn?N0Mf(+d%d!r%Pbu8#+ z-V}4%$@`rH+STj1v+HuZd>1}p{c}i zIQ7QHDhs^^LiEh#otriYr#^dq3ic>6`9&;>VR&C207iMiQcHW$@c zE9b5bgAVzS@_kQ|XNo7lf&4sV(yM&Nmu&k!1SiEwPgX_tUQOuv+@<~ zxrDE)^;QqOxzbFc%EdTO&bKAeoz@}RR4#IN^C%m&m~yLeRIuBxC6gMmrtm~)Jtg{^ zs)WW6Z?UBAc6|aI17}lqoYD?Kvnp#$B*`r&cm|b1OB_z_d~caMoyYD4og$sDe$`OE5^p5@ zhU>9Ho&Hi%?y#>T*#OxxNqh+bCMi!)(To!}&g}^g(1=hkX1de6PggK2vOXCe+F-8x z?+py{s`8V@QYOAnm=rfXUervVU;knngZEZ0G&ji4-!wwMSSQsH{SoAV30Y#m!*~xq z8~VkBwFxALSzASY+^jXY_w)ie*T}qOn zmz_B&GFdudw;*IH`C9th=shiH#V+evg}@BOtC@M(O?48nF?hfH`LP<}b6@cZ^q}pQ zGj}aJ862GNcOI#b>6LfHT&T1o>&;J4?!%SCOcncHK&3>ZM0;yF?Vu&2%(q_5!NbkbzO_A?TVz=UD0e>lqUYq@RV7p};+2tQJ3cC%O~tJh&Us-Y?HQ5u}Wfv6fSmQ2{1YaAR< zbKA>O1Ffzfzw((${>!$=rTp;OP|d?|AGC>YfaJv3BRyGR3%4Ienp(!FFXlUKv$HfX z8w29^ZB&Nj0rnqM!G|gHO`Z<#o-eu=yEdq)A%AnFM*2DI8EjwNIl$}VD(yTygP~x5 z#x|r{E5mfaVxAP4pZvn!?NI;2r`8q8URErtpILK;kCGLL^Wj{bM+aS^up%?7q;=&y z_5F_)^pa2aCZumpYq{cl<}&B;*`>of*q<-~e4byb1Jb{jL+y;wJu&#xwX&r>wN3)BpGD0xTIGDRC@!^v4^els z{eF#h7Vi0v#&!;(usZ-md!J@|q8{N{8#&Zz)FZahfUC=2Y^WSyn(}3{7=w% zQSIFYEU>BO9|ac3zX~h>3LC&=PHP<4yWttGm!i8}}1J_IL0~Vmj@G0 z?(kF0%GYwKjL?*$THMGl<^X%pm@nmD?V9{P?|*(zn#%>qZ1*bbXBuBv8B;t3%t7vJ z&;s3LH=I5LKBjlhIGwV%*jpDeB!J%@_Cd4I5CpOMs@|!C>l+Z$aOn!`9Y=>X?}3b2 z;nbfX=xr1jkUuR5Q_cY+l6}860Rqi>rWlInOTep}dtM7S8eTw<(c8B!;7wOi^|hZw zA4WhptFKkP7d#IY{9q%;-$EM7M=csUJ$bUp`>d4kLgKt1t6~r{S$4`MUgiq_S{LBW z`IXM$?|ZA!ntedStqX0Nv#z}{fK4iakrd18Bw68~?mk?%U-A)P23EEgp#{u}{fKkg zUkcu+EEfY6wW@E%eZD5u0f3|kaHWL?7Qsf zX*}>xX^hiU^miX%rxJS4(U$%ql%d^(j_(DWeYDR5k_ikg7EOD-9>}$Urbz?+*bmzb zO~Bh=5ITVkrZW@PV1Qbo^UqhkLpSQTqUQvF|Ld3h-FHG21qOy@1 zptpTvl@;qOTJI}-kmguf%r_wK#1||(Ixgj>7MFyn9u+ykg=9^8e()Yhhf58Vf&bWE)P}ShRIJTope9$Y zHrZ^xU9>+)ZhAuK*a6IREMBke117`FKfC`JQ~uLP!T(+#_51PPZ07!VukRlV6o36b z3;bJdML7#qU6fG)EuiZ&J7vbFmZOhi#=(76IUw9ItnE{%=gHZgFznafkDzgvyZ;)* z>i?Krb}#DAM0jS5|AqZu8^=Kkf(eJ-#Ya1 z_X5s2md%Yo$Ui7^70i3Rlkn4i*UYI!lTOEwHZ}pOVKH8uF^E*9Z-zU` z=;kgxcV`rYw1bY{BQPTk58sr3-{DjOED`@)MXP1BTxX-KBHuAGi$w<^Cy;lwYbvTJgbAV0LCjFVSA$&B=si-l>kGEywaY7q7KHzuoYpVk^>T@1w(Ftui8f(rG_ZA8z;Z z(9VzOhl~@gOpDK@;g?}HBDDhh;8B4#z0tKpxy#uz<5KUGrw%W>AnkBo7fT#v2B}fn zxLX@jpP{E{!jydn6n!&EI!xk-YfO}$?74<{Viwl|7nSbl=4S1}H zD~rGz#45W#{B%obr?TXv@&3gt*=rf{`+pb!25?MF(Gh70d*9AZ9efp)^12HJR%hI! zp(B)~V_Dg`UpzJFTg>yNktVCRA(4P1(+aWG|KGb>|BF07R3s2~HHd#oHqj-mfA|sXB)| z{xnzv{{-ad+2_MLL~hrZz1ZpT$Vkg_R6CB+puLdUH_~#Z=}dC~>xX?*{khcV|Dc8j zjC%j2p6|f7qNxEA(YS{3aEY67XZ&}{@73HsU5}$3_1FHmA-kz?Zof7N_5;=kJ_!v~ zw#-?~2vv8HW-0eLA=wr{))AemAW6GR)qZ0)o?lyJz@;}6GbNmv9n%@ZH;L6Y|{SVomhqO8KLd2mQ25bkiW_1?>j&tBtJGgqaa@L))XRw?ho3MK8}GXKDZ&X1g)Y zJ2M(Gd|dGn8rQl`YOH7{!f(VGHmI}7-%kshUK+u#Y>hnK-he16HcZ)uXBZ`MDLTXM z#;cEco6oIUmnT*tCegGg@V=j*s-K{~S{Hn|uO~$x*5$`XMVJQM>zJ5#KVb1;S**^F^cBQx5qML!uJGXH<`%CAP87T55^% z%(SS>deHWL*i`WgZ+4xL{u@=p)LNHoNu66=AyM}E>^+2_TAARMN*b$enFqUJ_ z?qPk_4@hmvj*=P(MXRqyNsWq_AS1eAg_$Sg$qE;p0CBtxTynNM8XD#u}3yQ!)w(9Q@I)bc1+d(;_#0tnc^{J zKg!uxdO#jwDjI)d`%XL|!|z_9kJMSfEnlx9>3wMO?bHz0T%`lojWM8O8nQcI_M8VrdOKo%L>gB6 z-#OxXAOt2bbk5MkQ8ta!Dxr$?Qm*|Ylu+fTh(Wa%-mND>*mEs8FO`4H5G=RWyp$TL zo=xNGNxVl*Owl~1JYOBK@s5*Gx{H9v!wF&c`bW*0DKll@r;g>*KOa`x` zj68=DH`LcX!>X}^ocV-{1fTK+;7&nJ?ED|L`1qe=qGaHP&OvW$uVsrU5PG3|xE&ql z_|Cs5*7p4bw0pmAk^i&`+Q)L>xYr?qNbNbQBTaaU4|Y?;NXhG6)2Hm$wN}uONO(@~ z8ev(OylZZ%9o)QYX1yY_xmFP4{Z2XtP2DF5ww(KwO2s_LwOvOZAb?bg764M|I(2-V zSuMB3A=kHWEN2JHPU;>#=_3iKCyqu>9x-lmn`Cp)=X(A2=?S%~a+XE-E}njRGWp20SZ+3c6E|E(TbZ6-Y1h2_=IUcKpkXSaIE8vHvViY( zO(JpwEuYsx7O;=|iDigF0zHieJ63@%JXaQQ>&2F;{g0zEqMzHHZwPdQ+?ymnzem?Y zr!b-n2)g(iF_RZsAUd<#y%;0)PEnFw0(NZ(k)IT`v9^B2*zst?)y6z4&M7UmE85l` z&z48F$8L@K$x_|abdA*0^`L%0jQ= zdftm@F1*L_)^ z5HXq*<}(x#GS+zJY^JHu+vRmj1tqth&2v-oZ~SAGfU@t~6g+P1v!V6s}th zu1fE6sO9UO=#=Gu&>TKa_rE>jgx#Ft)frF~%?NNuMiPyE1Zs z^qT8Ea9muM(tGqscgj`^3Rc%t;wIEzi}^B5E!GGdSA=i06Ry=yKKhDe3w(nvextA< zOF-|*BWtysGhd6BHit^DhOB-w6BBQ3TWfqV|HgZ!nsrR0SK=pVs;|o!J#rJB;Y|u) z@KCW9;f_wFStUx$(5u>44g`=+?B54z45>bd?DKChNS}^=dhJ>1HVolZ(W27yy{<1- zgr{HsZIqs#CakPORc0r)rhDm$@8do(NulqxXQ(%Rf=a|o6S~1VhPJ<>lw(3sxsc^d9lWXpw?F5xjkmqIMAMIsy5_Z;-`Y8w8fsVuJrLETG&HF96u3mj}dXd z{8qP^Xa1#?Rk|IF?4O_!Xj^*L%ukR3uv!uO<2t|XpW-X#pMcEmchvebYDLED-o3)g ztmkbcPI@hKL^(A4=0Smv&ZcXpWs@|&`&SQIq_^2W?WhtBsG>$r`1tO)esNZ(tpg5v zOM8gq3TpmgB{7-VH_3^^l5;79B(E5^rL%HbwI&R88OnxbHO4%(8o@X@26lk2v3Joj zRCsQ;`~>m4m2ado+NdeOWoqddC}n0Oh@p2caXdgfHN)#OF8h{9@9v@xnC|emu0&>g zKFm>!auz+g*f`2xOdOPD*~fR?xn<2PVI9!yXPbYFHtH=e_dWE6@kD(s{}ViL@PNGB zNut7r7#I4S^lsFJ2&9O9+{a|?s93 zw#n$q28`A)Fey|WwE>^;Vy6kgk9$Z`$=%8^Dm*vGb~)bb(lHbz{huIA?pRU4PmtD4 z^xOx;KvvowTRXKho$(Crj8Y{;I5LO~rN}yLW1$K;n;Ol>a*lz{6 z2$Gmb{4q3lrd?7R={<6&nfV^LfAGdwmezC4HA}W`@G^fxIb5^lM9jFC=8%(kq-fogDrWDlF7M{yAg|dr<}!4(5B9Ss@k5XGfU?bq@9mRL zc0;!bU-S6SbZvEOKtfX?9OTiIyb)^Z;^(TbhfkH-bzK;ru(8`Ye`89>&w8l=_Yeis z#x!VO?xv|bLJ}2|GVk<{gSR>xPEh@B7NYI&hb`>OP0&q}>@&Qd4h!6kz5gMb{uMXp zcWYDEqH|&oe~e~G4v!#+9jQf%v@DSicD3p) zd@^C61QpEX{Ot_VL7@zOkVjiXJ>91KZjlfEdjt4r{%p9Dj3fNgaGK*$_RhDMAL_IV zKS9SgMxV$+Rn%2EuFwT}a@MInP02^%@$QEcR=O3en3U1wV06yfQDf3*B+kBiOWls-pWmJXWLLf)K4hSjN7tvZbMnQCaM} zR)FkI^@O%|2zOteK(9=G_}EdPg)%0_zK*v%a3b;^awf~!JpbQVve=7B+hDF;81tn^AEzW|0R z$rjm7I|R!+(ks&^2Ds zVMy@N5*}^lKb z{5wG2EG1eN;TV`r?tyz%UvbYUiR|vwx#8jH{%JW=1J=tUMHlhj;EaZ;-+ZLXssFz_ ze)}Ks`hQD&dVlRnd|;RUvkS-cOAq@mmjU0rIi&HKE81g{?O6MT83s%1l9l<`8-=_D z!!WLyrF)sNOQh5a1pZa+sq$8h(ea4R=CO{CqREw1yxp-Oafrs@`5Afb?}zZ$%6tNX zHo4p3tux7rVV;qIk3NtM>usmP?}kfj^yAW4k_eQ^n~b-p;K>Laqjr1{$a0Q=(zesf zVTLjGk`Q=bZ^Ps?9R>9lr(vuGFNw8)JY_K+lj4Vn7iM){uq;=fq6KMrrP5^joL)J? zVZ%OCzJy$^{7`sc)!7Gf(m-l!%V7jS^PvS(II_;&K6om-lLh>!_(BIS{uP6}oERq) zcK}V4Co(!pU{Du|#gNhy_djzq6IyXe-1o!;;vVNmb%E-@bUII@Ia^J5%)6$HYG?M_ z*9mQy+!<+VPBR2phWyS)`PQh0x8%AqhQYzkw_s*J2#WRJwZ=$Fxe&c&M85NM&0ntx~t zaFbcbYSqEkn4tOI=3E&N{<@~IsMT*vSwA*l0}2TEL8L`DzXg^z5@^dy3o~BcDexct z*7e=7)L&jb^%DGtksbbi?5P;&M3dxg_xiV%7qn&>ME)hj>V>48`A03Kh~A+;j2lvDydFMs@rL znzsj$tQ|1=6wT4sdrXYJ&VJGWuq$qv zZ`{j6{LEO3qGk-C(^<%BBD~g>SKxi~@ZSEGQs1%T6SG`r9l2J!Nqs81+h$zhI0b_? zisZIO44ziJC%M|a0*NnBYUF3>++6PF+>-@V*|CKYIC{q17;&`7kBd49<)fzECw9$CPGurGh^8brvBNq)VAzxPyshB?{|&C0T|nv{ zdSphK>e6o+_XsjL{=yjS&g)p$e#Na z!c(EGg|$HdwbFdj`FqGN)yo%x^!vj?P@FP{*oc8NC9h~m(qZAM5BfU=Y;Ghdo9`8f zZ+h$)bodRH&hFv40b_eo%&tF`iEXV%I=GHrT070)%#n-7EohzQlgrfpBR>L?eHMHp zpIjoF_BY+m+rSd94;4*5vRt33Zfri?_a(m+Gso%e$ytO^u*;a&gMUQ?Ho)tE{D^C$ z-|T(qT@X|FX(B;-M+*9_CL&=j>aqss)#MLhA@BkDSLh=rB$Lu5a}3~Y>VR8mB0Pj2 zoVb5dVO-^lPQ!)*T{NYPf(=}u{BXEZfS%2?1op3e&V^a53<{^^RYrkq%WZ z;)7~=un@hwPCr3r)4~AG9Z{FCK2{hvirqO_cx4F~!I%3l^v!z?evOvQk$SXiusJPF zyR7QCbtYO(U28siCmY=M0dNO`O&&|^2+E$lG?!`v{46uav^{Mu_Q{E{FE}c5p94Mw zJG=sH@|c1T{seJs5UD%Gdph8a4)`wwbYJ`RZg?8Yrn#`CXM>FG+Cy{_c<~e;noAP` zgwHzm>>;9?|6=G5{F(RKI(kkOVMLm+2&pufNO zi}^leU*!>Z>RI6p%*qA)8Yex-5*m_jIfvf~E^fT*B{WC)x`w7|RU@(}8S_d&kL394 zF`zJ)hj(F$eD!*O5&l<4pb#mEoMKRSatG|v_D;Dn#J!;E)>P)6bcRAXm0t$Jizsj8 zvxJQ-w*T5t$d&H{4@?kyAP1AakJ@Jdjy+6AbZ6z_8v5^isxaRvYl|>feOlo9to9JO zw1D-2*h|kh#f-2!1wljFAB%a4%OdtM>O}yPBBMF{{fLu5Qm>P|9q~@@r61QrAY*>` zwL1s&pMQPyRh>KnJ=V|rDY|m#)f97_6Pb_b)K;8tA~QKFXZ8AhkN(>-Q6#Q$tCqKD z9e&d6OC+Zs4mfC$62q{bs@@=H(mO$cy_P=zX7x1>YHHvWV~%lxuGmNJd*L%VqFSvr z2~8Nrjx;0LBc8Lbu=g-zm(PJfOduF>BCDNO_pzwx4c{xPK*LFUfq}ZD*ah%HjM_IJ z1E!`M!Rfz33>RBdHTSc%!Ql_Fr(+^JgKmi)J+7X@CCiym8=!@A_q{tI`kKK)dss=% z*o#bA6f%;tY;F;5eS^X7er6VPwBf-VZ;roig9+i}_BC z6l>q7Ef?IvdlR2SwO%*z9^h{Wd~Z^(Nq4mCq!CO_-xSRzyH^U5yPbUpMp4_YIRrZ3yt4+Aj z{Xo~!t=r`%$Vj_qjez0boM&xYIDJRN>wqf@9?l$*VWHfU;Z_umG=K%10+u-x18D3Y z8~B-3f+2dUM{!vK7m`##kIa#l4W#%zHSA&GY!*%iBEW2u*x+>3%(gAU)b}TdsBjoa zb=xqMs&ikv)FwpHo)#t?gcF~{oX1Ywa~N8Z6%LC?>=s_vgT?>`JTJ8;4<&xX=6K~O zUWzAdaPy)~wj4zL%@l%a=5gH90|D*Xs3eusQ_#V&KQd&A+;w!fEYN#WJ#ODlQPL}U zm{1U1_-VZ4j|}M}B-<&d7m@N7Xb;3~-M;{?Z@fEee`FzsyFr(>sXR%VjCdh&uu=ar zN;3%l^(-Ui`yjQuejB;A$@2XtsQVt!ic8rClkkF4r^+%=(xa6_iSe?Dl5b1pq-V z0E~sF=yFL=gLMOUxWZo!3oW5IGcE${0rYc}O%64i{%y9X(?Xh_OSyFqXpkk|a%ZMX z8$&mA54|UFlqy|2oNKSd?t3bXagTjHjsExpAtVF*fIvM@Pt)?%z#I4oam|#Cak?LN zmN=ixv{)iVt0T^vbCrktN_t`>b;31%b?z`fK{xk*vYVlrVA)i+6C1cSO*QybxlBga zx|W`nCSByusw2c0<8NNoGUvsi0Pny_=$lUo-D z(bSz;uZdgm;#xL*1P(*dmNhReF_Gzu# z3u+>3&p4t?iq%4rqLOrK!NyuJdddaU5eE=kFQVtV&p=v{@(pCI2H_HGZa-r{OO zh)C!U{Ir`kucp!${%lnwktWO#=|OhMM6jbUk_*>D%zX8GcB37F8I>)VncjBB$F4YX z%4MJszsmR?O1&`Fx@FQ))#n~6Mlaanx$_seV*%J}vFh5U$d?J#a!pbwtOmEg0xBR^5-Y#uN@T9Omni)!%ucUij6P za{tPP7UR*E*RgANJI&UxRBdJREK2%3`10zH>UT6X=J~rnX!<>jbzTDqr3KSIgSSq_ zEICB|0v1|K3wmfi^&Ng`;1uhP3BiiZc%aQt0>C8GUogoilAmp4xcdZsBnui1?yFG? zsc>F7q4ZZ^;m}LJ4ZTEZf}DP#piWc!1jjg<*P!YlXhjI2)o?+yE6qPm zd)(jRHJ?-(3+?hb;NqtL7trEAf*r-1TK9?SMNy2MEma)uT2`}CzZ8G`KDeV!b@g; z^<$s*F@#qu*yCYj?W4`W9loupz22>5FUe-7eHcFKH6Nb`+YUyjD@p~jt-&&A!1Zo1 zV6dA1+~;rkLPi+Mxt+9KeEil~-bDSBSFvCY+L_!~3)moBn3P(%$g+4L_~z*cRwr7| zZF4T{%x)nm6BOY8!bjYI3OAa%DC2IM{g?RJjPh1xt&wOnIGhh78bbw0tof zN^K4gT@0m4Jwx|M>gy)JAJp|^V z?hC!`H<53Q&}{#(!Luf3~(_qS}Mxn>0bOO!)A zIQIp+P2kx_t%mK%S5)c`Lf_RDcrQ+r2d+r}P#3C%u7A6U-cacs?KCqi8dlMcNI(l( zD$6Q3ae8sJ)W5qi_9&~`%6;?&!BCWzQ%<{J0qI6hga3j_S{RB`PKy>Ds$OdoU&U7s zOwtk+M$PXc=jVv089mgLOms^}N);0$J`cNlDd0Z*byY^m&{IP>+zq^bTmvphsH#8ziaw1xZE$ND=@*66w#VXMckvq(33apWXa(2Q4beqc6OoU2vZp zw*ky$3G^tiK@9E+VjO2Iu#AAHz|J66MVPhm%D1m-)BOA2ZEBO1lziHi3ak2%Gk@mu z3l&sdkkXO|H-Nvs%Pp|}1d06W$Y3z;qwdSF4&6>)5}3NkM#u*bA}i1w#~51B&yZq6 zUjxRh+khSZ45Ryx(>7)Q?X;Q%4iD46K$1c`%=G6@MxhRdVvx4T{S$NmT4IlXExUlR zO0Di1nv4Yw`Sl+TIaE(Vo>*W3m}kW6zdA9`xrWr`>U*dTlGTGeZF+-u7P4~sw#z&% zJ<=&(RdfT;0!E1MVZVkJp8Y`Tv1GlJHIpEUO!n#*bn*Y%@*I>tQuT+;HcbW8sGn-ZNc zNMma4tr9}*$2VHmO7&A!g_cqlLyX%lLnr7L*3EkTpu=^x zk2pF+ORJt|1qf~w~ z1GVD4G?>Q(b|AX$YGgig&128){0y7yF>9Na>kXJp#Ioces{S3aT%bFi#ZH&yiA*AL zc~a*}{ZXsE=r7x{WNO~M+Ps=nSakR8yf~ca4nLm>X255NAQ9Y(Eh%pTmT!eqm>S^4 zEp?{vmZ}XWtq`HPTfE_c2_DYS>g$4Fhc)e2*T5y7ONo}Y6chL>Zs_r9Stpk>i`V4l za`Y7L_r+dFdrru3ujT0=(l{*}yBq{g4k4d%l@YfOpPM3Itc{@OO_XA{9I3D3-mL{i zI=lKDmzOOOKBJ$Zswyjp&)i;Ln}6K%_Uw5_KKwdlit0)6X@Hy~OJMM&1CdVoQwb_L zUrpq6+FTDw2M|>d4vUio(fq0z@4LZUZ6D}zXpx<}44{xqF&(I&=7Im@=x)y6eyFRB=haGK7BpEJZXSrkB*~=dT^8pk9gP?qyG6=4vlbDh z;U^pm)L!)zNXk#pxp0AV8%h@N-e)0lzaS;kUmzt>+@f6-xKS((<0vjC{gUT#Ju?hN z%#V~QDET?HSQi)rm*Llvho`W)uSL?88Pu?$$t{T%Ug}z~^4sC#Q@e-wyuLfH`7LFW?f9m=m0>s$!E@Ye- zT9;i)ut~H{H&%c2IPpT5pWwFO_QhKJN*j)%E?_wJ1-pZ`NVcrK03U{9X!}h?Ma?07 zN}}?OI*n2}P$FF4C@Zx#_KJq_6K@UE+W>&M0zjF6P>_H*sf=&41$~mn&5Th#@0B98 zf0o~|7(1S{Z_uru-(Zi!LUvD{+U1q^l);a<-GWY+E@7p~#e8BvO+=2Br?lLFUk>~U zdfcMOPWAA>ysg3~&(6gM(?ot;X%+e z$5c&`iKU1+_(^e`i}fT6qsbX(@5=|I-4b>Y^p%y%o!=_0vL8=$}2I%591^a$&b!VdOEja&k!xCZE7Hq_8D6dEEmZHQ?*9v?@wL>4`mPlASX@4&)=KAODW6qKx6p1!aAH0?{y#qJMsy&05&HmL= zDY@({@epXK1X|ONp*1PkL8YxgGIs-e&^APzBsr*Z_0WEuSEEm&uI!h$)Z1tCOobWO zR~uJJp7|?o>)%IfX7e*Z*WIHX@v;S0T^&N=8cc2{#Kr)RkJ}H9;vSuvKicmtV*MG7A;Y zTk;_`6T|&ZQTZkw(9|a{{ivy|Npchu6AxNU9Lk0)>Eg3ngg@Z9$*aq@x%LdHPUS0< z(9eo-4bv2{dcLc>^Idm6lM0JYpO!AVl}xj#)DA7g0R`bxrvM0VFLNSp{)|O#P7?>J zxpHk-VBg4_<~)@v=CI}MbQ1??5wMcd>BqjOC0=4qj@EOXT6{gXT$3AfuQFtjzAA$A z`tP64l1hg(#}fGzoy{T<#vV{JU(uYh!W5IyR=4xKaQcsN1`3gif9J{f1sNi%X-3ZBhQCcoxa z&97cRF&ubfXByj8y*to+3e2UtJ+`JW8oPHV|K#o%Qg=nJ_yjCGEuVg%Mo+RKfThq0IQ6C`bM z7pSvf;idc@Dy9y}Io6&)u)2O^w|B@X@YLOoWm?qkjswTeO4^<}H*{iRd7+EOv?z;h z&|bAQcALTj?_74RRo$)^yU7I3cPoc;$=I!lJ7&JyTmIv%mo5X6Qj?*B%Y&{;t;@7H zrj3FS(v40r%9bgMfIvmKrysI|pLjKSEeyrsL^)=5uiV~G_#OBa;~YW0b0d6UzTwv- zJ}`YxyGccxZl>1DzIUYsv$r^dw*l>Yp$hKb#L>)dV>430`iay9Xl(E=b`SfMih7bh ztR6dYRcVSm?pNwPG@J_ENC)d_~iCo%E26)aPm_9vQySvv|w6_HgdT}U{@A* z^zZ9X;G2F1{cz4NCXmA1V1mL2N^J6p)ESw}@{gyVV63UC3cWpe+A<;_O3OQmt5^S0 zgW}T!e~m4*qI!K7mmh^xr#)e$ej`5=un&+NbZgm?HXcLh*J9I5&C=9`N?!_}?jPq8 zr)&A(nzX}5FHlhwr8)>x7wx=ffiX4HNMkkSK#RjZruRoZzkHL&6O;|f^G-sjTemJK zz=bB2FGF&CIOe;m%bZxL5rm>njDNTj1tufGH%| zGNQeeO&*3aK@K6EU~&+lSou=X_8|@NN2O&)kLKJBJE_jK+v_wTdD8sO1+8lyM6cr? zXm=mNa;VZ1rNP0|X99;^5>q`7hF@28(*NA2m9>A3q~SvYm4plr_ZWrjk< zsFDYxoR_RW(Tl6c2JwT*LhtJ5jUsQi^u}BlWXJ*~D?Cj%J%#Jw_uWgXs>Z;bZ^HSj zuk?TJ>&_h=4SA*-&^3*dg7(%AUphac=nJ6%a0+_{G1Z3 z!zf$KcjU~|p18)n9Z5jV&`TTmLW&dgX9>LTAEEg1) zqRUHz$9a)+YL`WUj;Bc5f2h%?lBVv5qsg-^gSJiZW10O0)?ho``knDdF@=M6>saTO zYi(InLz`KJ4A}*)+`d1E$rk>abM_WWq72uDcIvI~*D6UF6JX zALW}ALpFY_ba;l2t&C0E+nID=UX}Q$xZOiv?b{NHVfU4qL$N5I=Vf$F{ghbrJ;_%zjrxLp=)#cHSdK> zF!kUsnbd~Qt}?q%u#Vkz?VuwP(82q;o6HM{3NkR5l0i8=;gIWJ!SJ4?<)H_j2G2Po zDhfCn`9WQ>Nu*N^OEC4MR)`vOSyH?4Astcg^-SPM!ATfqjnKIv?}yimEiotA?(&Ur zO;8*dl4O}s$K2aaV$y++HO$aOboEZcJ_~FLHBFszz^gFv&_I)H9RenkZSezUe$D72Qn33(ia9lB zPwkFnRatlQ&Y77leZi$;?5z>gOcBpv^H6|**;uZ(;Kv&x;}v0r*{1>N7@I>7GsrEk z(jH?n%}%OZumQh20Gp|dIFo-_g-wR+**XPPP3B7=>J z#!;;j2lV8sT{SL!5Q*-==&vAf!gWUZm)!KrCAz##O_%$KPL18nYHkjcA^c{gWdoX> zrj&}b)%wogeEC!}%f!((xkraUBcvBi;-m)5kzuQrqknC8c2vMTRZ(Ay@}xt;vT;rV z!$=cH<0gI$7jo*5Ql1C%zx6l)wiJtJM9GT#2<$7sIx8Uj(c=VYXH61k>qp4|?X2YS z+Jb45X=k!DJ%yqUj9uYRp1wtYj6%;Y2)E~^v355 ze1L0$CU(2_*_+yIS+W6IMO&tnnvv4}!tMWI@4dsCT(@oUAR;O%qVyIO6{Lt#q!Y^m zM8pUPp+`l!fboW1w`-E-Id z-RJQS9(}>&BcJd0&N1g0bIij;@I$uv4aUDn&t-_EgNNWB&yL<~-7BEq$`iqynwLqC zkw=_@`n;5xJz|?uNp>dKhVH&ls!*DW0NO~#{CE>$Zp4@`0riNJhyGg2W%6F)se7jp zI0s&qb(ppp@VwMrAENE9zjy`^oXzuWF`!}}0c5&Ni=jKk*VS%OUMP0x0K_L?2Oib` zTP@cBsO8QApL`1LKu-UJ!j{Y2gAA)fHsMmKlX|63-4^#$`|v!IR8DE|65CNgCn|x? zg;P$`dR~+JOf$FdiFD*4ugp757>{++ZP6K^uH6D8b)}>hzx;wT)YE%+xgdHVm^tqh zlMW%Xb{}c+tyvq8ni;4(D#I04bCrA!cceA=(^T_@K5$*mPxzMT4Mdzre=4{9PdMTK zs~zcBM^9@j8IuPQXxL+1R}6q&&$@jtRB;+Il_u7FLUi7i5uka_LaB$j=kjZX=C409 zYEYaTveKnKK;7F|vLG9x0QmYA%JGvzjaBg&Lud|&bAF0WTU9DDyt6CBieG^Qb7Lsp zqwgM~77_ueL#n!T6Hu{7)oaJ6!722Bq|kw&xhF7^o!7Jy`+gh%(gFkD#W$p*m2PiE5W2af-XwJc~1`zL!+6-raJsJUPI>60uDgt zVe01}VU&0)0C6{rvZW|@J~_mKZ`Z~r%$5mZRl`kgW9l@;qvX#AWPtsJZh|=J zLE1ekZajZ_PUo=}g3xr&H)Uq>aFFl}c$SZASp*cSE&$)Uxn$dn6#4uaLt{ZRTWAD9 z<3%!zF%vpV)TyzIJXd}eVmi)$MMgbH+yY#Uf^Nfxkr~96uBS`g99o1-1r>xgm1EI! zz(&5;C96gr_pOwGIx*^D-_nXcW328g`gXtN8>&bF>DmW)#*_%%j$xCxY31u*$V}(_ zneIOSM?srz9kOza;5|+c>qCl=op)gDz0L8WscC^I*YjJ9JUo!)@U2a>FG98YBgQf^iucmAj zjOMRmbb;~%&Cpf3?JsJGuKNF^Dt2@x_{x-(#jT6>*V-D+p>Ln`3t{h?}k93VW_7ETYaY`D7~0p<#&rKFO~5Gw-qM z0WH`aV{i0ejgjVn3)S?yiFIEtDdqDb^9R0Ldwp9cZ?rrrzft*yNl~r%RLaB_<9Arh zqAC4AiH2_$S#@T;diNRO%O+zgv)SHI>~qtz4nOW3fG)#losfI+JE>%#yrUEzyq?T4 zDIbI?rf423O+M9kPWuRI%ruAWxQW$z?P34aU}f6C%rVyd+-s#ktPaE5o<@=0`1b5A zHC^7{ghiU70D0ec`~SWK;_s4?H%A!spYb=x1%sL^h}(Xi(asrPrgzr+{}Mzi{w|0{ z;-c-@#s69NXsJaRQ-n$cUE@AneCD!o8uAwg6i{UywG5Y9b?G$n3J<>I z3S{PYMfQdO4VKGiXD07DS={BGu78II+iSswmV5Ijd(qox0GNQU=GG#K7!{s(^%1aM z+xZzcy~WPc`Ex$|2@XC0;2=IPO+2d;!3OTu=~$_~G9UHW#Hjn&7M(Hb+F#nX90|6$ zhjEXTqmDoaUV`&%Ogy}ASGQIaylP#W$#m#&HeTs&z%UsJMS$|G0}$Rd*N%}ifRAQESE)s-2h?Kk5&g_T@-sn9ISV{c6pn-T zh8w*V9Eu9zQX3S7lsvAL8p>9R3*O*?2YX$7%b~YX?{gCd?f~~z^1yk?hD&q~gOUs9 zo>A}8Z{@eiHM64t#o5@#4S$K4vMBjc;pDOpPdp^8omqjNWcl)SX{VZ_t1(1=@mar@7Wdsc!n%CEux(Uius*q#SMO9^C5EI0jJ*J6rtgNEv1upCJ*M@S zz^`Ig%M#P{nqd(U1y zlN@ageK{5}MQTEHLQlsJr)InZ)FgWtpaZ2%rZ=H8pC?SYeW>+NuAuk_BioHInZ8v_+vE+is0sA$!g=uCkc?Bo44wD{P<*Ewbi#Y?=<2cxgWkK)zk2X7c;&`_T6XxeEdw{i zc|2-0RB3fR$GjH`@>^Rq@%5j7c650ek+7jh!ob_6Z`~Kqo^b4rW4?o4<8L5sb|8-t zJ$vK#&GdjK=%SnU_n!b#q%UY^05KqF3LNrV{AW*W?Q1Vrc^!aEQ+&LNl4@ch?^Xa= zNcjZrsM`Bm+wI@L58onMuyM>p-=#%Vy1R>(Y3Yv3D zw)GvL@hfYtpoHxA(U)&KT-Wj$p*n9w{fI&{Kp=PDf&bK6Dz_Kqn%6rxMMkP zbpV=3DlLe7H#@SUh9RRS*`ssp%4?g#dZteNTTAwm=__N)Kt<-%rK(R%+eWDeATcvO z=)ML3ogiKldTY(fhaCBOspXoCplP6QZT#Urzfzc^4~oUFkAok0e+jBqz@V^pZ+7J> z?vZyGTZfhM)gH>t4|Zwm`3en!%w#u#1@aKobmqiw!YwK9DiyN&Lt`gbfzO;5@~3S3 z+jN`)=XwFkaYq^aZB4@d`8g-=T^r_ExqPoV!jNCSg!cG^V6~IX`g3$|Ria3EnaS;p z7EMUh^%VZ3TA|dx#nG<|v*%F#Y}pv1p9lWI-2H)aq4`={EKU9vd=TjF+(>VDYxLt- z)9#IM_jv7jfN$j5w`>xVq`F*QP}{$98MPKFEkusaAC8dr5pcjV|BRtEamB7aMjGEX zcU{FSW)+O?s+vs8f}u{{bgh|jx_XJT89`ARyScz!&YBRe5bAwrw_Gl(;1HZB3dGpH zdgyx?IOVU&H}F9U*mup8qeKK3Z-Vm>=~HXyy-WQ?2IM<;%HJMR8(mH1a&S?pYk6T% zn**1_lZzX^yvEstfB?+ramv&FB% zb0B(orF_bp7G1MfHmEInG}V0A)Xu2AVx3IlSl!p>Npnjk773)YE%I{EDyfG^{#EFjO?xXE3%z<{zHL{r!S<)1doZLz*D&t zH;g-WI3%QszG_HTh;~4=)u*Giv{aC)Bh-trC2BoLFv;Q-v4zl?l1GRusV2E$1%i^d z+b^Zvj5yNs^($y%OEBprgDd7F1(iuLuBjk0H;P!fDtKpJjJh&-DO{hA@!_M#j^AD$ zRenENs}U}DIr530MpZ<1wuHJ8h`z>0!Hf;}1$A5_^G7U-d+A$@|0(9-3Hw~yE|+rd zp>TTcJxYc|-j&OEF-~z$7u!x(Ct4Zg#-t+p}K8jbD+gVb9!^z<7bad;*9jVb>E@^kO&A`haV^T8uz(!6(Q?gipN}&tFLBG8|4hqCVZS2ni_Xg^jnhE%F^Te-fc~&KHiB-f>u-A|2QC zR*SFOOMAB_m3ET;`pn8kIhaWQYEz&WcWA>JUbcBaQm8P3i}P3 zOEqn1mrCvaH2*P}dX2*S_r?1En|~JxB*lk(ByN?D!JO`rDWCP#h8 zeL;tY*-vK#NasGrR2JODU)igt@b9C3U}HK^!=%V&@z=;@s+Y#5<$Qu5Mc6#L{Sw6x zmJE^J2Grq@J1e7C=nfw`bt@g415x-7AyCAZ6yJzFN@f>bDu4N)!RZz!UXs~-W$WT` zqBnlD{C>DeB`P321+u38q7eKQC~(QIU$59^X1;1TaK@*clJ9d>w{AD(27lklTc3A& z#G~zu_j-eOs~Yen-M+5sy?BFCjJl=lk4BBtdj)miolc*VPf+IBhH9vc2l4D1CtEL^ zZu_#wV#3MW#~cLvAawxBA4@VQXP$Z?CTb$cvop44$PR4KHN_V{`@yvOB?{^eKRfMX z-48f=F5yp!+7JJ*a@gjHaN@v-VxBwU0{92~ET@=R$cCf`4tjOZz>2nmOF?FQp- zW!mN(Z@2fCUVr$$PHy^)ZQpw`KHa+bYI3@Vq=pI0DZH?LdDlF%UPKfV%VNe7pn~E= z2oUy}d<2?n&x9oCaJg~+@w>zkovD(Du)h)4T51eH$YRcLVxe`6qD?^RBL}t(>ndj?iGJ|Eqd2Lam>h zTIE-a&+plx$*#@KqON$ns)vktq%EM1d$qJz?z*gt0-4a}+?W6DddNSkef&8#IP?VO zQTN6SEs|YEzy-4z>udgw!|m5jV)o}8mf(`GG=ynCk2X1WlI!hUdsP&;{_G6Eij~f8 zQT9_NO`e+@)UK@>3hXPqdBM_P{?8&g_0FA=*A1s1l>1S zM?b8m8h?EL_M6NqwURvd0h~Lk6?~STx21&*#&P12XZnxi75+%my}p^8fkeaRSl17W zLy6L>_!9j#Vr#*S`}xrq9$&xajtXH@qBX0Y`y@+WVoh7EuUhlxzu>^+v37T0BQWj> zZ!M{PU1r|d_@w&Tw=?RDy60%RpSY{iwWS3rt*OnN%c8bD$y_TJ`*w4{1u?Kd;IsoP zbLROKEy@qYx?Q*>;gd)xYb~+o(*G(8JUGI06mk3;%qAZo#5Kauq~SQxwIc)65)|YG`X!oLp_Zuv;FY^W5Tr7q*7X2JCk&7{|8A{A8wHHty61sJQiIY8 zWSGT}J%+3U&`S*p&;VHNPUBdshwhy^08Qt0AAq=1|G3__WdssQAgg>OzQMd@1T?X| zH^h(+JqY>C0qEMVOaHpzzqZ-$AGTi) z*RLbx*FpL#eEdF${?|b>-?_2&VhM3P=<~a|g!Kz(#bVS=g~W|_*ik0JqZ{iQ4!Jx* zkIc>3caH0Cb6I_1o4ElwOQFNsVspqiLzc$3BBx&yeCc{rhr3waSAj`2?H%OsH`*Bi zSsYhfD~mQ9Hsu@@rQeCDrkqK~?_4q`^Oq9fr%XMf$mER1gh<}i@Eg3!^1N=hhTZpE zw+%^6xHG4!l58B`X(f`q}oBZ!v zs@h=+^%9`z0jr`sOMWU;W8Bg1)laLUNc2uW(6Y&(@JD?8hjqTOJ%r9QCbK_}N7^9> zm4J_(-fd=PIiblb{lKbGn1ns)B({fvEYQvMlEs3XwDvM3Hhje~S@t|?*)`VAcJn7#y9tq-)zwqGw_)mT&M-#`IxLYWf439Ha z1yoge5^#5SV=cmJjqO_b8-@=1*b(=e%4iD22O*RD=EI4lxiB86?$!5^WNwN#*PDCC zYveXAFOTQ0k=J@KeR3A&R~~s7_SYmuX}syTOdNokfYX|8No(ZC zyd?yP+wHjeLP?i;xpYM}*Y?MSZF}SQ$({NyyWlQYo$~^U=_+EU}9}GQwli zh#qj~eTFtAH#zd(AQ~TlijSneN8BWyD$HyrEQQQJcMX$YpUMB|F(-Q#u!^aic&*My zrMpnWi)E76$hNm&P%lNTxqjY zJi9vt2!Vc=4#SpWB$qD|xGD=Z(=#Oc+MRdHIqG&}<%=_T6{n+Z7S9wHk6Rc2^Vm@O z_i?2Q_1~Bn=lZ~J^==I#l2z$0D=&rfA;X6DV2OX+nE&C)O*S5)ll|P4%Z>U0pS}MX zDiKv&4=68yDuIeEmdOKCf3_58Db28bhs=FxUP$Y8ambuoFu4qvi)r@X8(sXO|9umv z4(PQkBGNjJH1Nw9zJr@>ikP{ImQSTF@$FZ!txtM+3@;!}?b@-)iC&kI}sWFjQbeoBqhs1+zqxL)UYUbsM$BKqJaXmc)jJzFI8Sm3s< zfKIG}i??LR^*ZX)H<=r<`0O66ls5%e9MA|}ffSE1SwH70Do=3=q!jlAQ)x*P^joP@ zSF1i6EqHM>;F!n7Hsz0laO=MGH z+l9niIoB{mOa`5L^Khv)tfF`$7MjaZlr|TQ|&A&$@&w>Fm!~!dW{e-f{pX5_$DoYUvg2v|D zX6t?;dhRM@Eg6@G=!ADyta9}<>-w(J=CUEhpVh#;4-5iwIJUKsIcnthAA|SB2^M~- z2xau`q9Hqh3KB=i^kEfY{~LqBOowjG8xiNw1ZlYkdL&&r&k7i9>Emu0{PbMU7p?82 z>R$H}n2|{NbkqQDLs{x$6*|bVg`<)Aw91(`Dm8Bzv|b*W`gVLyO6)z`9nbVgr7xs+6y&xXm+;9FSrX@>+(Q#i zy-ztrb~Lj)+SkJ{-ch&~Wvzc?`n6=;Zcw)%JxC86_Mx}-G6iTN@_Uz|uks|%+Bwkm z;!8Vq)~UG`)7-SPT{4Fr&|#mJsWWsRcXiM{zG9>)Q(RlNsn+qtBRjVy*04m*s^41G zxU~k!Z#AZJHL+%(JJFhSKI*qn*Qbng_w)A&0Rcu$$_l+wp%$0ls*9I6B3AZJz(V}r zFZPGYu8zVzw`7+eS!pF(udt5oiePSf7){{cxO(qyYMLH-y~o-`T=RF4MdTBPGMhzg zA5xQ+?TQBVB7cZKz8uT5Zqc%2ik>V$$W3|kxgHs|zfn9jHXVV&Uj%1it$;x_U#0i* z;SC=5veS=8?z~@dtx3sgCqja*I4WCfbxAZ0Xe!5EDjv%sRZ8|GkW3OYX!V!xpjRQvfkOds6^wkrDSQA&1vEJ^0(ey9Th z?sx;GsIFF&4y8^Vt})}p^#MHwCXzrK&6yf#3}8m5?LdAA2TFN>*gP5rp}3)czf3D7 ze-NuqQLXq?@<5q{K8GgL0}P<P+K7wiEI0s-NV|ldM|NF7 zS`A`&re?|{P-I?Q$0Uky3-OacP>y#dkNr z6b4k}03h#1ZL;YA9{%yWDL?{yoCzR7LAZ4rfCLQ(GXLMLhYGdSwy!eN5G_Ea3!err zJ+K6d9=Z^s94Y}QL%gpA$`DLI3r#+XyaN9H(wmJH^%O{w=Q>bCHrg#($?UJo{<_Ja z@LyZ%*8}wHxcGHA{udEw&;m;|n`jO)yF}d%Dn0w21E!ErCB*M=aj3*b-tSYa<)y97 z*RoH!1c$ycYkMCjg?LCqg1CDsE5?t+KYsyQhEytP8KJC&n`;XFsD(YHPrS)q*~k{ukyp)e;~r`X|UhScum2Q`z(uP&SEBe1Bc` z*G&d?*#G~w)Lb_^vRj$HlDM*I%F%~x%HB24o8FjpoE1NRH*(~~@aO~CF5Bi>1`jpD zP^ekIqSE9z7+L-f_k->u#dZXjepxwy5a4b=?{yYs42S3NWW9X~JX7PY+%5{@$N zpXpfZsO?+CE0ipK$rDD9?Ktyb7?;uDQlX5z%!h4T6;$-q9`R6SDrgtbZ@J9*_~q0KPUV+F$MTRJ81^moNuo@% zc;FCsx&LN`PG?^V+jQ&VAYaBwdXbR7A zl^f9S4}Y9$v&#+OT!>Q3PNW3qTJ@zB)b`kllv|pcn^!)dZbH&Bp=S-NTC&A1ozidm z{6n*<+-0;ZcyuXi>S}u$ZKQ3d<>?YX--Y3FP>KEfY^qx{S@!@mCTxYDAosG)uIcvY zuH^MQ&8nJ(r4H7BCvkOE4ncZ*n$$R~vhO6E83#;?D-iO$@D%iz6!lTXe(^3Ph_Qgo zu+NRSNzNb%sFLPd#5p0so2cXMvtve07I8N|K33%n1pL8>P_TH`1S})AnKO7(@R)ax zy3@$`n60&~dzD^4@$+lf7y9>2gd?cqs(7V=sM!2O`yIoPi))`o$2M&Vf?u$QOej*s z8GNvm^NkFpB&Ykco>PMEBC+bMC$7-H-=n<qk< zz@{S=3)uQz+cBS4tE8#c=(W+hwE&-9F2JWZ^-A}I4|5^FOWqM{6nBcTFMn`FdcCmk zPUr?V=G4{nedo3VP{Pa~>Ii>W0{VyfzpE>#sqOXs6i4VnDW~AGfUM$opzV)mauZ(b>%TGWuA>Ii_p{Q}!% z{B_;GmCSzK=U@Bk*K_p$?zv%lhtxo@^i>p?kjx?*Y3}pZuQN+mFQm2Exi(*PqmSbg zSw2pvy+n2)=X|Mb4h%Lmcr1P<{F8oQBxtYb6?y2Cb>x$D|I94y;MnBc*tH%0+FMP- z^JbatEP?L=Br2Vv^=ivCF>$Oq$p)OMp%O_ft5-_Nx2SHcuul{*;yn+XiKLC@^!(^k z>c?%JFDzIE=f!c6QKYy{rA%Ng+rsE7`UzWd6`u3s(O3FSoWd1f)S^w)Yv%pld3i0(s7j-=_G2xlwU_uC3P%>uFMcu# z-fBO|bkw{~M_hAQdD?j_WveBABH1e`zDT`n|5BBb;+(X;ymDWBLRpOVc=<>8;Md*Z zoU1a2BzvQ3vxphZ))Z833xPQ>(KUJSUA9b2Xk?5P-)HS(f@oywP^kxV7)4tAjiOE_ z8F@d__R3KxN!3$lm)~azVF5p?tvlbHC{s3Qy=SrpxMqrW+4N&YuL{Rs`mG{1y(4i< z&AfPAe@0}fd*ne=*ifLf=!>iqayw5usUp+z)Kk=CMY*d1#9i@x*z?NjZs*t6elt6o zu;=$(Da@Of&ENGpDgG{?7GpwYbb4fkhw*-V;b2e_k9Q{v{K))sXvIHgtQ>upvM~9) zqW8p79v_G!5=k3CTSxGoa%?yR899aztppfx+Ox(F?f8BD2si zJj1&te#;O=vD35xT`GkhUBUqNM2*phqE7ED5tGasdK*=qTIICbS7A5QmH=g8?lm0` z-bZ;49xQAlkx(KscXw)H=glTn?O_!uKIo+heS`IOP{^rEF;0=M@R3mpL`ZNcf@8At zPBWf&6L)%1@T8;DZ`MhHlaC$;D*IxyTG#YbPLsolg^=q*v-5wmxy~v)w(#i~7?fj|4645Z_R^gmFPx{@{2G{G$moJsAV&MVTAnTT~g^ z8(a89<{QexZ-);+?p?A6Aa64}s-p?I33~R2$5_kB2~WG{F7qo}l7~!$S)D7YYx=G~ zJ<8QO0TY;1I=(b9*T}?LhC^$|eQ9vZ4=E-G4KKyj$!^Wx%0FJB6el)mmMb9bURGX{ zSF!Y@@IkE+?};HXgI+hIg?8H?gNr5CX+jCmMmP&s?ar75rQC7vX^jTKl!qYLsPY-$ z&(4Kn_xCThER~fb&rz<{kYls3Xc~|DsZ`6HY^fg45S|91hj|f=r!XF_jEcO2sF05( zWF2BfEk8A11bup`Sac|dWqi8vnp-qLT7fLN+F49PuSs7cCk`iud@sq}(@2oY`>~^F zSW$Drg7M_b_Xi-aajB_6#W1-Wm4@T)^N1F>8?6h%{Op^HC*n!ATG58?%>t2A+IWRx zfHjka+*Gn{t382WsU-0=Dqkjf0T^hzcp^9U5=T4rT%AYQ1Cx z(V4a|5SL@(Br40-u|t&FjafzQDgArQqV)jY?HY<70r~{1D!x$e_9>4Ord)g_3}mD6 z*1P)1_cS)_L=ALbry(x-dPk&q%mHXktp%dxOCC~jbzqw*DT_YQA|Y{Y`-!iqI`PM> ziNd4)YB`q|ZA~$#Qm)bAy-;v{Z4qwOk%&>xf#?EG>;k(#khAAC(n@wynt)**-}qkw zmcev}i)~$d5aIR1$x3{8ma>iP@RJ&O;7app&@wMF5oN=Ej8wQFrW<5vC!ATzOuy#aqv5j9Z5b4Gj6m4})2xPPw#qmp0b0Dz8GmN2A*?;6@X74M*lcscQZN zx{qdS{$C;fLI#xcpDvsU$gbS~=HnwKtdcrnmCpku2NB*ai$+VQru61BQa3BW3Hi;V ztAp#18@v~t^c=K3aU7cpR zbNYLS7oE1IlpaZO<8!!dorQ%g=v3NJ;G&^_I*D1I`$7EMlHpSZfm2|-18Nlu7!L4T zn7_?txhK5gef0oDJoWs6;7E>`(a4E76X>LB$+-a6+ISmh%&kQqld4nr6rT)eK}nyO zKw(j++KD?L=2;*0RU1A*_2QoAW(9?sg&8{I@2bvzPwdTXmzcY^WmDB3x3+2e8=>HP zd`xNdcRsEnG_#!<JX^HwIn$Z^z43Tpl}BD{~pX zIYX;jb+q_?E38F|ErzTjLgVYG{13xKV-T5&gR5E%+7R>hvPws=fb`Dm2^ExSjcBBgT3&a zjD>4F$+yk@l}8q#@A))62k=cM@|Q)-%`Z;4TO6Zu7c|Yj_2Sk|gzn9&JlB;+@hIs9 zujfF6D_wHgx7+U0t>%LF#JsL1XD{rP9GZhBSfFd=edpD*RL@E^4E4tJp@wdz250C@ zSOCrjCbI+;)`xWeO<#<2s1{s6FIlb0$(CJfN@HNSor~{`PDh}R+-^W&i zl`T1&>vHnz3*qV(vWIXmiVh)6u$lW(vu~cttkL&VscQnvm5bijlpysuCBz*9&=to{ z3QNhj$mGhFTW_R3qTg_%FM{XrX&;!}=2RlZH`v2@7`9Dx;V4nX_Tw`5j0CYcfpz0s%Ud%seOm8y!tSrQgCW`^X9Oe2IqFXd6CYEqx6v6LqL z?dHS0>p4~DNK1yjDeT3$1lah)B4g}ti5o+d5kC(zVmlM}XVgpZUz?uTHSR{5~}NT z$DLSp!Si`AYms%cOj@iF&p5cfTfbN?>Oi!&T!lHW3k4itCzv><=Sv!hcOlBg34qW^|52HR{X>4|wyaWra-Z1Pwn=g;iQ z)~g+-WOt$7m_?_|@p)v3vKh)ko@k3baMCkzff^xN{jCEUXKguDKe}Y;#7kjUe`qSe z?aov!Kcn0rs?4Dgy0)n|(~Nv)jlVLo)Mv~>biR2fQg4@(loyovH+NlUWuGr>4(ZW4 z0s`L@c}=z@E@_ZmKb%zVJM#ltnxD}kA-K=H*TAQwhC(q#GBgtxk zye8DF;CsOI;xxoQ4g>wEqg?2I^?zFJIPj-UyQXhLpopk?B;=&CJ6BP^<15#rbm8)h zrlAnH*RDV#(CC9jmk3;}d~Tg zCl#Yz-j3@)@C%PXeyaIYy+8RNVH?lRQfUFcG!vK#=Yn=6AiiCY8r9JBZmD+V6e zXla|={tu3h&mvnSIA?CokKZ`~)ZKkpr5Mj=dT=zz`)e2;MS7>bB%n%Pqr58ZV7{KN-?Qp#;gIcP`E*0P=Wl-8^X@H?tydV7(` z1Qc{#DJ7VMBHypJ{eY-kO`cP&G5!G9Dt{TevIo19L3!})YC(C(rFZV4GT7N_T5O&u zFzP|D{fbj{S3mj7GcV$a8Z4~4ZX&UDX zR?h)+z{39jil5=X^lt`%3G>s!nXQ5^K^ZR7L!llSjj$9!96tvU-+h)>{oFixsrwmU zH!1@Tx!xfV5Fj~Fb7pa*JFrpMu?qk3+)ydtrp>b$LRevhnCZkLUlBb4yZ&cxeBHIz z7c1EV%nADpg~eQ}tH_OVC)E2DU5X5$9db&a$x7K1e#Ahb3TR4aUP_#|eJ9pF!=f4T079@KD_|dd=_+R=Y|6qvGQ!@Hi0ZBQ)`@M~A<>=mxuo{>Wr*~Ez z|77hWpi>P_=4kfHs7JAsb*>kd3$E@iO0Lh5&F@Q48J*!zhuXj;Xg|Ym)&P_4$xuUm z6WJtkh@SVxd>VglSc~&(h2y&^=Tn6dZ}&8QWZ;s#u>Jc#jyKlhN?J+G-}8vLnM5+Y z+Y*0gaZhC0jhelDp}3S~UgG<>r^ei@x&QU6%61r$sEUP%lWKPRu+fs>s}u=ROUgZy zfOFpTXXZA56xOI{X>63nObG>aj0~l+>I5&DifiNYsWmcFSsb=8lP() zYrAnjb>XYPxH{Xs^x6{=>tfx5qXPAZ?Jw>%Iq;YzW2G|Fwi%^267r3>9X&!JRZ2G&$4V2& zoV%Ky#OP!})jeGW2DhqK+_u&n;Bxyp6rtLedP+!p4~K0Vl0zeuaRI4BZY7}`Mr);N(wHdV%Ax8@XSyeSp01AF?dj>4r}rhe?y1WBG zkbm7=@z6grVJvpF6SzP0{8H~$$g`@_w@*?do`F$M6fT$6CF0&F zDou>bTBq=r7+F;oySgjqw?v`7=Enu^e=on#@I*SD&$|W=*w>;`NNx((cWk?QXu4_0 zRh$Bl1ew-tod560fV4Vk0E0dbX-oUt#G9M^mjCwFj0b=2{6_j2)MyroP;&;dW>P^( zg-pR!J)S7yPA&jkvRg0Ru4?Iq+KM5$7oh~+$w;Ez!%e}ptQKY#*nj@~Xu$NxT1)XE z$;Q1q>&hE)edoXAuV?Lkv>jtox;LKZ@WEixKDz-DxT!o@o%4u{%3OefN0BTQ&s^u) z#Qgc&#*c10bPN?}nU*Ptqz0Pq4LlzVLv(j75uWHw8ty2*QzeI8Jd3jQ$UXvy0#3ZT z3upuFRZTNq|*`AucLRFE6}@u>iKD(X&?r+JG% zMR%e#ai^iLbRgg9>yZbLQ8aGAa}V}zrO*R9iM2kpG-;ZX)!D5V-?XNN(;2g=883mA z6&rL&^3H$7t8z-$d!QyS$7kD>^%t5sdF-NBhxe~9Y(f&ScmC2zvP3A1aXdYnA%b0U zE{e5!6gIi)vDRRl;6l~VCeE}rq;k+xGrL+SWJ=C(PE)le0I~4l%Uh+pk1GKjh;oAV z0b|=nZ9Bdiy%F^Ht}9*lN{t6Cr>j%r$u7WCUo%zxkIsI1qHRjQq99=$dU>%~sf8Tz z+@aGE(_G0dB3yD_%c<)MR>JaVtKq%57&t<-L~M2eR&=u=;v${DPhcH5&k|)xx%Uk+ zHR|kheEY;D&dmk_PIx<5qy@wL4JR!E+-=w4sW|w99lySHMKAoM9W~}P9^QAtUOuKx zh6*IlQzrhHDf|f=PI#$LayPN#25Ra%cFDwedvHhVZT?5~h%MN|hIQ$dMKCi$(kJfj z$($5o8J^-YgSv;wnPsg#9&Eec*1dLn+ar)70qtM@n8@`_gFZLVOCsVHMMd3IPQ1a# zOw$<>uys3cUgI~sW_twcycWt1q4rI-UrcjagQ5bEBQ;94x&i{zbV; z2xxgZi4+8iI|ffkP|cV({dpJ5?B9GiBMwYm{yOB4L4J2@;F>7b%uR_kIqv|3C_Cx? zr1-hC1ECXANA36#cQuK|#S;Tet`ofZUlf}Dg*o7!mSG5!Yw1SVeXfG*CPvGlwnJgE8+Ws&z^vaF-QmO#4`+$iD)S091Vc|28c84{_yq`B2%YUDBT4^lKrpo-{W_ z23@X;LsO^~rhQ{F2koq_k9d>ew{n>?fw{R)kEn(jl;zyb>3N%?zUPANaTpC>(+ioX zt;(>1!Jps;qL&{6YGTF2hcEE{BD+oGHKIlXjtOuRwYy~ztw%cb0c*%Jes3m3QH?Pb^V=IeVTdVVo`cEaVu48=}{Yy z`%|uw?7!{j(t+6lW~N`Ep`q|dLPIpbCObSWS`UEwQ(eq^v$(ceIci?M zed*E~2q6-DJ1#|NfN>0Tk=>s!!+|f{XcOBmLE*-lXxq1AKMv3sH!r&;C|+jQ?XA*N zcehK!vAb7ttfUg-+8f!sKiLe$i56x0lgBjpYAI7xYaYi{j|(_QBs1b}F*#vk-^ZSd zW%c1>wccIV-H0$MX=-$nA}4)gL3 z*#ZL_(4@G$Y!4%2BJzXeJt?qqKl{a~vc7X@$ZGBz*!YVS;UpV4vnzYAb=8`;^vA)) z?tV&0<8ubjZ)GyEohoe-!L}9^AGh4~+@W8o3BbPC+#mwmLkRS*eqlQu$imwJSvI)B zxgh(J8Eb|&gA(_%CGKBXKl0Qk-hOIXWb;!6n%m>fO%gEEYs-PbWp*9jb7s4jzO%<_#Gf~NIo|OFn09(?&f~hU_?Lr)}bcmw@8Cw z?%tTs5khadc(*|lmelNhfflbk|DXwn(@S3OvJLdDhur@MasM6GiyA|kzHBOBO=fPfNeq5>iyO?pdIq?ZUt5rjySPDFZ*5Fm7<7wMtbgc{QPJ?t}k zzVq&xIaAJD^Zwx#f(dZtc|LbpYu)QUF9mw1e&PC>*3MVyMKnQEo5=dLwVsiBZ_u&U z!a?Ybho?^<_Cj@K%q>3QaqYKDD+O8MA9BXcK9FP*D4c%&#Ek@df^Rd7=SCSU_~wDW zp2Nii7VbBD`fTCeXtk2{BR`LOaxArLFf;}#xWBu$ZGVxhY`Ff3UM`i**`>iTN?Ys$ z6YkcX0D5Rz6jj(IN9=OF{ivl8XOoVv^OA<|t;$FKt2;jRKE1VU1=P#EYi>@*KGMJT zeGD5r^{hdJ_w1!#?!1W&ynkZa^;H{M6UZA)d;-Sbojl;pZeC-HK#$UaP(!xV0}N(T ze?(oNb(>g4QTKWs|AZbqNK|A?$K)Vo7pT98lmFNL@-N@d4&Bfb9kNAKMohi!GA=0e z(Gyb}5Tei5W^bvP456;`)?9hImaH^2bK9$YAd9};g4u7iq}dPKcdD>!MxI-NZJM(k z04!gmkH5E)GS8!2w8Y?t_bIVe^R?| zv&Dvp^mnjJwI~HjLH7&rJN0*H`CxC?8DmBS;7fyVVWWwy-97k#Hpg8A)|dTY$V7Rg zmZRtM>A;m2^WXtJBAg7!GH}Ny|?ymO(uDMHq1GX{Fkp69Hs%Ns6q>TqL+%(br z?)J@VrIoRGC3uHCT-kRkKi7yMcRHZ;O06GMhpA(%&o6cZ^Kby49}t1M?Uvx?l^wP_ z0cx)2Hw)L;LO)NG4qCJKD5t@41IGaHic$T79=jDE&%?Cv8WbW*;)3!tpGD%bqE-)bg86 zrz(jbL0s8s7YjZg|9BN~j){(dFR(igEE0bKKri)L-;diFFj~6w(kmb$M`>;KC*UT9 zdq*^9PfIy3*VzA}hi^xHg_IbYJRHb)+3pk2D!qt!+>WA@nP_&n?@OUpZh*1LurN7s z@T_LA#LWtpy(q+D`n>C|IlZ!|uaDkBQ|jOe+29!Dl-(-eQ)_^854`9bz3zwzlbArY zIkV1+h1ZZwpCG{M15jaDwIF~wPT5AlANZO#CNv+Ho?8P3K8~W;PWL5z3NGq}O8j8p zkj2ug--zubgWK;`*b;wfq-#`UE8S2bMr;Fxo61S*N=DNK!}+2Qpd^~=)3c^Ja^%z+ z^%vEMNI&VEX?34yc{&%u10nMj{HiF;#6m5NB|D8b09wbZ1MGU9L#2%}N5|A!-~b!% z;>Z8ggTh96Q`_S?2kc35RycU{gMp2|K7dHxenNCxGISSJ6tpodeavsmuH=9} z(GQF%zXf(QJ=TH(tC)_^N7t8!`wG0o8dlTQX<0du^Sf_W4q`aoL zw^4d(sw@5>{GM-hED8_K9;&-h8*$=XmR&eUs3|RR&w_?P>ndExlJ_-534N!ZJTxI^ z{P=$fG=KSCuVGx>MGO0xPwAI=Qrlvdjx2K>V1xvRrxEKJz;1{NKx@1PwgomgL3YxV z*vzp)wM+c+5AsF0j`0Iprb`HW^ynQO4-19C&8sEf)^<5J*R#VUg(W|PShaB~zuEx& z=m@piulKyFjrR$KLi2T~S$NIYs=UI4C%4>*9mW=86bt)d?e}l>PS?FTr+1|#`K)z_ zek)&>pA*Fp$R5Es7&8@dE7~&KF6dM!B1lr^TPB4U)n2zfyV#hha@|Wo;$&C;`0}X> zz4wI6DY*7yk0K%hP|&jCSwv7O4>92tD;8)FGNz0<4a7GPKHQRlZ)Nv`&4(A|J+8zt zzb%;9bQ`Rewx%&y>xfr^RX%GooSu{-EVz1J8fKY0RVW+P!5eEREKRZH&R5jmT$d=!S8 zV3jI##SCvXvrd1)t!jtStgN-NRZq_`+&sVFqC2ku_s)S(dtYQfd>i5eZ4eqSlg^r%D5of6IO%Bs7JIcS9%(!=b#%>`(ym;9Y+KN#|c^LouW zYtgJQ)6YO_YjIEPvF!k;@$q8#N*{CW-Q3hU3eh% zQ|Yw~rns3U`@2lw)g1lC{%pdfBC#g^=pJz@|kZd%Z9d zK!S_5ELE3gNZX2~@+VB*B%CjhZQGlW<2@SF%199(WG%*z)k)kTK1I$RKV^HPjo2xH zMP}!aAsS0D8JbsujW{nwyjE`ZPOT$McF#vHy#B%Pq>|BD7hv~`+v&W%knr7mMjYmf zi@{rU!x?gbkp&FvX@Oem(M_*~cC zM3kFKVLLbF3q|QGecEn2HtHoPRJ z9EM%m^U`hIcNIX)X%zK+X~RDk7orUwumu=pfew-9UWGeFl#EC-{0;=HiR@6FTTeu!)9sGDE9| z97ZH>&&S|B)SDu1k@L}P&)L?{G@k8jTM*lg=h^hGLouJIvo*6S{|0IhA-Ybz44{a1 zB%kj2D65BCQ^PO(s=!c8By?~`T*5rKb>PuC%Z&<6ScW^Oz3Op%8GFcA?RfI{HO$rl z7w&X=uId;~fn(iq-RYxQvb@nVRE9`vKKpC}l${8EW8*iXwajBT zS+Xx}oyMZ-G^tZN0_k7^Mg%|)*19eByNA#3$vVCP!`IpRAL@4J?YO@~ni*0^J;m!0g zkwb;$A7HE(bP=L5I%utSs43yroH{6X7g*%{gCWi`r0LE(zPnLvYzFCJFXEeF9HcL- zXH30ao@g%zZ}d|#C|zrcK6Ljkl0>6xn=Dmu@=|BQtrTL$E+FIO@g<*`GJk@8qa^8G z06lj`*k%NkI6UwG60E}Y^{)9w z3}(0Aa#h4-!R4f{+^n@zEW#H;)eG8HJWn_}+m)JS1){S}=y<%49+Wv+rk= zH2@0JS^c_UQ*7hxuX9J@-p$=gRb~7(oaARt5cS$`s8Ddbb|%f9LQ$LQQr(wY!iz1( zu-a{Jj`ra63Q0bCj4O_a(%Y&bSm!Q>4@UwfrM6J2<(0Q~cduK0PQC-*@k2c%XN-1R zZJU4LirTd`Wml}Ey@w;|M|OaI6=n>7@t5`Azw`Bjy5f=nhp{0td+ODd0x1$wZ9}ZR zOfQ%mlyDf-94+|dw|?6Mbw@dQTYBvR1QpeBZI+|H%uG51CY4%$kzGXy?b_ys2 zsw0(6e@DPd5cpw1#9hj{dPPzXWh$zkxnh^XNLTj4|4-_^T3KL5-=ZRGXX|cJtHI+5 z_(SM>85!{BY*grL&%XO%&(QUMsGj`W2JZ}wp4gG4aCB}9ZEN2glE-RrWcVw3A0Lt? zHX_#SrwY(F!^m}am#qemhadK^elZB*!}W(VR_C1G5c(!hqvMxmzACEsBdmWgV2{55 zAjkkW2fy2~nserGiiKI<_lOw2N{piQhJDYJP`O=^s+@Hdk>81 zZeH21*((t%1`(w(Rrp~L3wkY6mixpfOP6md`j|}s^<@rN2l}`jR?@+nsXKM;pX(nKI(l>+OeWa$MT;=&;?1eJ;C2w_Pv*MjeqkL;Y7P+gpIBmvx*~r88*`yL| zb?WiL9p4^8)yUL687Y!c++OS_JMD7%kUVWdRba^{Y}TDM$n^M-X;)^6V}qFwT_={@ zH`i(FaBTqU1Kv7g{)>zqEI^r)ck3FO0|2_ET9QCrX?7~l?R$^D>!BX`f-1a5tcY+^ zD}na=HSw9}BEbZqcK99S`jicQ`|kbivf;^qRVt<_92N$sleX)?vo^sSpDUhd%lu%l z^^{ns0w=PMjoKwSX4Vwk$fyLZ-4yiK)Q6_>NT!*Q4E4xsZv9Pn5T~l(Vb_YVkJ7_h zhj#PDPc&?9n!Rewp>$8YL!^p|4n|yAl(h z`DdF$nj{#$;5vQGr+aQmh!AYQg zm9mZ7Z%!OHw&Fi2ji24Jb4@7AJP@9M=jY-ej9e;S%Qu$hZ?kee8zULdBCgEs2B`)0 zP=qt!ycCED)CEnI?{_~pY^rrpR@oUmSWIR;3`4F)^&&*gH^OGD=YAfRp|Q7hSke-f zrqp`+sxp#{u=VE8-RRa8J;h1Qx~XvqUC({3*^wEmW6&Dblx$r=+@u;7J?KMM7JE`R z_Rvx;S9LI4oEUgn$lwD|yn;SK2rnUAWE*&@h$il)bHWu+bM$zCifVips z$L`^O;D`F(+5PuB?FTf-VW@gq8ub!toZdsbVUfRfm$W&{xQVfqIGw$(f+I^w`-j4$ z-rB=100JE{$h$@1@h#F1hJJL{=Rc%a;IJw!&OQa2U?!)x)@vVRsYmEWG-m|!5>*K3 zU+ukox|gG@nC3A>a|gQc${xI#>`?U7sGha#cnTM5Z;)7fJ(op?t@~jr4!!bZ+UHgZ zkcz+NQ$G0F^rcsHIgp-tZ|_So?Zi}c@ne9pr{3oX0OB6wkSQMq945xK4;?1B7zxtz zJ~(V{;U{_@A#?p$TWd)1F+?S;K6o2#mR>12>cD%aOdYK`=+`MWlcw+6x^-G?_VnI+ z@SaV$!N)RbEf1nuu0M3Q;J7#Rk)o3IQ+r0* zQpZLCunHcM%1Q(UW;7^p3 zQ~TAuQv-$1_g%3CLjS>&eNSSk!EUx5I8b9vtZc!JHDu zdRMD&f5pEQ9xg}ez{tXME+q>;#QX*8fSxtq+C^IgksqJ37K9=s#HbGw8p zeIV?mawr^r>2tPIWL;d@O<5zXxu2?@wvu>Jwzw6Sz6cQcQ{n++qe0&bd5!i-XI5L+ zA_n66f!I=d?f07LKmADB#1{o1rV*UWh>J>cHK*ENPqS8E)qiOQ!ixS>xT8D<%#u%H z9?wQHcQkQZI#$$2{92!<$C5pvtGdt55#}dvIXlHV<>hI>^?L8t`mlPWOluQvk@Wlgx!zU~zJ^}Px?7u>jV6z#~mpFht*xu`O=wNWtxrhnfCt0M^c zu~R-H*4u8tI1Q}92lWVuth+XgK%D>2OdLJjD0DzSvbV2{e})2luD~hA>F?5$O3p*Z zw{$FL2KGu2wq6D^ALHcNE?z?JgUF!njK2EI(B%@q3EHcCG$R`5Lb0qKQ2Yc!0E#j3 zDGL8&f8QTv@XGoqaMt@xgO};$k7ky^^gXVZI zE_Mh{DWUPWx`!;w8qf}Qel0j_Z&a#GPfXrC;??pyL;XJWGZ9?IR%c(FRC%|uuRHyB z>VV$^`(Hhxd5HU)REzYn-JS&C&*(rdL))OTv#=dxDE9+@Ka9Z6i`{AB#Zm$OtuU%C z3vODwM)M1Bc{cfG{!>@y@aOy)6#hGk$p4NV`0t+%kp9@|l)aSRehSKlCh!zpEQYUx z?N61d#~@rgXyT_1fng=Z0-^*xReMKeJF+zEC6XqO#5@0W?qeoe_|iqtAs4H24j$Et zcKbfA*QD0(`abl=HBCsZ`<#OvBE!No95BQY0KI`wuT{)t4LhynhneOzCdul(cPvxp z4_ovT`7Kw%yVs+vMvG~l+3l{oEeP(V{J}Jn2XE{&pBA|rCcS%*a3A;!3>yE0tDmui z5~2ViM8Xvm=Mr@l8BFzM+og(inGUz`A8{2b@dsK>!ADv{MevJ|>`v|2pA8z76`0dy!vr58DW=vK zxcAcj4}qagFp6``#Q4f3p~Mdij0QTVUv`9th+pzePGD<3d%e?(ftkqDQK&a7^X2;U z3e`_$yfHpUXbZcRRDp^GTXIWo4vAu9abBa{mdIQ3;pNYCnLYXvy-wLxqqm?`?AYgG zbJ49%V1U9ycwo4*+n`gpjqh6F)V4}T>$c$J74!UQ7?S#vgRD+T-}8*m#dC*V0fXIuyxoE`_zJi zoRX59{bzxOnPDy-rc;B{ob&4QQzi1pG)kOZ_H&ykOBV)4T(Rr}%K$7}E9)DWq*>}Z z_7J~qj_hHdP!J3=P-iI|V0&vHH=x8elcFgul+?ILN~eudgF%S}^z5iCs%V~eX~IhA zo;04&PR~}i_qFi{C0i@#rsgyRFB|2zI@WV&A4`P?=K%iVOR=xP)3yMcI|!4Sbqc1F zlSz;f9aP6TeHt2yqBNhV#cxWGj_g(es#b)!-ZQiU5fL@p%T-E~V?u*NP&J_80SZJ> zxLNB`X{z!a+}i%h$nA~BT%6JA*9_$0g{OrSXOaQMXrSjMm1ow8e|gNRJ0Ynk?um8j zWGyCsP4z7r&Y07>P)qGliM#8U$OnUz)zb?WoABcqc06>=2?+htkh_eyuctr&RWSti z^^9mrc^blsvVKD_u$FycD);v~A+h*k^dUvq$iPkN>69T%L` z_KI}t1JWm^q-&zaGY&P|;_J}EPL3s5w)l94*Gir4j`K>`yVcCsoYnN4PpBf%`fl`q zkH7uq3l+z6GaZN^vhR%s`jMS3% zUT#!YJ^g^mYBC8sb2ZnOP%>+jLBK)Z(qic5KQ9K}!b{5iU?|EB1g|^rMf#&mth~dU z?$_>oaEsa2gj}49Zg?_otJt5k5U|NnF>%=Ht$}X-JD~XAdk=f3{Ulp2_2;ajCtDkm zO>J1ZatN8u-rs9HjBPCN78OeuHH?VMEJB{K*W)A|?<_AoWVxeXw=!1ms%^;aOHX+r za0)6lSdqBpLg9J_$oip#HL&#FW zE4w20S`!|K3`Me7)8pYm_$u`o$hBeZX6n?-73hr!pQCErS<83G(amd~zN zdBq{J-6ZC4&#!zx(4_7rV8}w(TtM5RSue##%0Hg3<$;O!VqbcMf1-CB9*94bfckpJ zIP`CGNCGezR*XTFe|n(Qz*hR{X@31eKe?@W`Zq%D!jPNd8|x4*K&(qfrcs+8^eg%2 zJ=;HekLX?!1XcQ0>8$+g5_TM3w)QY3cUi%s*wLYk^P<&yYM#F;Z@>rQ7zL#WuSvd?}C zcMQoMJ8J)&zNPxr&t32bgEKsvkk2npl%A~fQ4*i2Z531$a;Hm8r~-wCz|`_^9RU|q zs3iO3GV+|cR>1X?5i;xJ5lGjpm^P38%u_W|f#4s6?Y~Wa%BIhUONxsq(ymLx| z)mS_wXB_ulP+-AhS7kDw3^=j=$GIi5*-wfI`kZ|oHXqgSw}3T}418$pYQ-$;OXy7i zluRxQUzgdM{QiumGv@oc`ivY^4oa5y&^4+f7 zv!vNp38H^~Q86=6Ya1k<>iWUG6+JS=vz!!EIHP0G@vHHa{!K;G&``Gb1Lrwk$TOQU z;6Fg7<0@K^qadRJcX7yG65(pf^bdy6YNah)&WOb_QYlu8hh0O%I8nRu$m_*`Z|e*7 zvLVhdKA@_{El@RegF_RwWPTY-^@A#@VXfBOAq$qmYJ8Oar`jki$+8f zav>h{?3YWA9WMkMMnO*01<;v~6s&MNt87OS8Q@5G6)QX=Td6;C67gnP{%Y=8%GSUx+(f&J+xtd) zCr#6wiAz~8n{9vkIcQHP$fmkKYyAG{&TKE1JT*%}8_p~BK85u)-0}NQW|P;}FdYP? zgYVx(+>EMr>w;hTNrA8gWe+)R)Sv122M*O>22GJ_7+)a;rbB+ZCCh@^e5IUING;}&cF!SDqx_>6aCJb5JHv&$tM z_FZjoHlO6#cgjX6ALWOM>IgQuRGhkt zDWZv$WokyJq0E&kbz_R^WsNXhovwVnASqrNF3KPA29PuORQg$q<^ej+429*PH*}5{ zb^tl6^V7epRQg?$1PG>{Z60mQUHa^W*D|OM3P;|~W^velJIcEtGw1UYuFMD7i00MA zPcfR>ZD7}n;j`dixeRr$IY;w$Korl2?bdL9&Z46cT(V67zy3z+Cxyo zAMXi7e<%trh%=r*^6;Xr-0|1{5`mahiQ7t?+PnVTMQl2EqoZvHkpcdt9k7uy6iq$8 zY81J6W&>;o79Sq>F9UGSK~xGr-2dw!_&<0Lo6a#=$=e)ke~#nB3HGov7qn?xH+OkW^S*zitO1}fgpQA`+`LXqeZRt*qpV7X#KA}) zGXkw)fGYH2gYl};OVSQ~75M~w6#9_prAPK=rM^eJ@1U%}CXsmH{@*hd14^IJv$d$l zL|%>V8QuO%$F3sA4BJut%g~ey#d_Rbr$Pl>;;iM5`MeezY4~AjBY>3=jL)Y z2Ypcs_%v;Sl=i=q;gCp@-u@4Uv%8@+!ef#@7!VINe*;ShoBNZ3Lypypp5V!;=%?OgiPkob@Po|(vD z=>lLSEC5#WaS%pHMJ%5*JtX4^5&%&EJB!&@878wIe#ZtF;|(_1&lT7Nitf9lXL}iX zTaSScy&rVqkM*&4MbkO}iwJry-P+S-`oZ8rHzcnYWi(c!_Ud2Rc;Rkc7y*ptvfB|# zHpD`UJKf3}Ewe4KD(8sc@6Ig<=B=q9*%&jO9549de9Xn|pU7uDcwuHN3 zQ_>YPX$=ytXHi-b&HQzTY=P(BJVdTZn}KeKvzKL~9g;cEWuF1_<41-y)vZn6h^jZH zS6^|%3)zaZvc~EXgI`W$_oLRUz2qMq5kv09=Fv1~?W+J39Pn~-dVa2AWCO`>mdXi4 z!wJ@J)5A{Ypb(`anf8iB;+i8xNX55)5r{D;STbN2%`{JnxKXJE1p`N3^VCfPrRs@t+u!u7~Z#}1^+g@ze79UG^T;!UuDAhoG=wWu!3PL_qo`= zzwQ<>N+^M^QGi*%>16#D4X3yziquB{9U4?<{D+}YtU*NpASCMpyd{D@4i`8`JekG& zcWMb*A!}ZL4Om?^_gZ^?b7w*eP#+`?7v$oSG|?+6g5OHxM-g7p;C=6>)P$>Ff|1lK zx++tE)m;|ghG0Ku?B_7UL&*f@M~f>fQ(or@4d`yHc`=-56CBoroidAXVTP`qgL?j8 zxb0=wEeiWJV>S7-q3!^F+l}%j#dlpE2e@l2)JqX9n!9k+D|G(Ogmb7H5Zx+eeLeac zU%30WLr)WuiDdaeM`g3A+~;Z9)%(Bf>o-dX$X)s@fHWmb%{(v_Z~jmnR}zXg%eOi! z;P@boPt9l8op+^3F@YsPz!xJSA>+jIe040TkAm4!01W;}22)s%WYjrmC)is!nbEDV{UY@&M zd|41^#Y7P)zNgtcA{q?QjJoOH+RHcxkk^qh5~VuY+Lp)HGa5OfAoIB5C3S<6{<+w* z#%A$5#>2xSkdb$g){fU1U0Dz(JrX!=PALwiWxM3JI)e%D;4m$KUm7l5y8K?_sJH#% z=hfFEt)M9TC9jMq&Y^4Xu3TbZxXHl(jx4skwN?~=QK^)^U$yf1b8%+j*_=Po$zf+1~+ks+7CSRLI)HJ6WefuPS0 zy%n^b_dRoBBROa>w&=%pij^k&rf^N6d#6S0JNBP>VfM0{QjUgqxcV~hiwbfAb2(iA zjcyc&Y}V#bf#%u>)tq6v!)r6nmkBRh8BF%iur*D*LhqCB$-gE}0{mexC6c!R-xUk8 zHVo$q&KpD$7WY>S`T;vIn%+-+B#%!=4VuAO!fhPue#S);&AwF zgY&R{*&Mu!As3i%IS%}?C_#@DH}kz#yf>z+XMgww-5xc-JQjrrjGcd11+xV}EQU(U zW!a~I;8K}6EXyX>mK^5vxhiTJ@wuUR7k9S?T6;AU&Ee+$DfLh_llC`b&i|H}y(HF; zOiPfo{jQAFMfjG9pS|7ossoFh%&un`S8ic6-OoFD?9tX~7d+v9lYSi6+VBotGdp&n z%-J~4D^Ia`YPkBKkd=$XhwmZj)bd>LjBy&+DJt-YU0vfnoT&OeMf*FOIAZ@lJ=uQ{P5diEsI z|BTSlQ=-mz;)ZgRx_3l1IGlP~z0bQWE0C^g0 z4ddWgw%vwRBvBM;6#03T6lQ{Be42Q?D+1dtR#!?H3LdZ;w|%#8YrbLDQg)0?>+T^a z0_Af3GcrJ3{B`gGzIUXk;X>6?1~|?OQ0)fZ7%RlOU%h;=d9}{aFt)wlah^VROLi`E zIGK74$?dR%nT&(b4}hhQrUaKU{O8p#vD7onKI zMFWos0@c&fYmEWChJsjD5C;Sjd{jQ#CJw{h^__kdTsZq1Z6re9l%0G*?WrZQ-gA)K z%Vz!KJi+fDQLP#9qr&WG`RdbE%zXO_CKF@l5Utd~b?F7n`JJA!XT>WgZ|&*zP-2`B z=8#ZSpA+l)Wuj`XL<03_IOxRkw)jwXmcB7R#{l3Iw!@=1B>&I)mj0&Aej~bS4H!f`+6T*1(eAYQw5Tv5~7;)>fIdUIoM>|Q&RuM7x<0f&~U61V!B#L})p`}11#(k|ES%;!GTFmJxZG8Y6vKUpjpGinJ- z9Z!k(Omh43YC>g@+jZ^KQ4*wkFfSi3(idB6sE_e?r%X+I_a~)1YpBVxdI36td7>8t zzecjiCS~A-3MK`KsIc`|{d!F0`-pFC9_ja^&%zB}zS`~b(WIWox73ReK+R|nyn}vY z;OQWEhN(JYIpKUtpGvaFk(Vd=lD%Pnds*4!dzKWqUMG ziy(+a9ePAukUPt zvyR}+_*QDM;hHNm?AX9?QVA8T|KiEz(sy-kiXn4R56=D4Fj#%|1uI?;&5a07z1(Ns z0f=a(98ItIR|@{-t^F(g(h}gU4YT{Rx3(L?p&Lc%;?nH0tKR`xxX=Z;srrE5b|O$Q zT__DDR0r0^7x+X|nrSx?ch}dHRMP=b3`g-@9Le)BW-}I;b4d&8y19!91`0rM5=s~IsA@7g8sH9U^M_$sZ`F7rln9l{4{4= zX9_j$ttfD^MNWCI_nZV&EY4(x`m!BmKSSbA-HX%1&Bo>de>zzA z1)r}CZS25&Ug_!;t~YQ{5FBZ*!H`hml@lSJ4W z6}kY|uQouaxq>)KtOzj)@;2#V6Enor94DZ+;ZF0`Y2W=+2#g^rLSCuEjrBZ{rVDtX zls2|z?yc^*qk%`i3x8awk3_sg94nLnKsNgI22jXR@8|h;I$yNErNzQ0S$Qi}GL#_Q z@ROwASxhj*)02L#+DtKgiF*tpDHz=Ggz2bHN_JF6(uSWfMcL1S7&B^T3J)PJ?~lBN zc3rnU8#s0f-QB)a8Gcm+ugs;@Kn`eC z84(WbFB4b$wJzMCugI#T`sGHH@rR7GU6#zV_RBqE!7cT?!)U7H42Tu_DNjlG(e(`p z%Xy&$I}zpyVu@fxL~1SffoWaT#g-?M-VUObBV#X2^G(U6DXHV_-IF%R=F00TtWt%V zN5vW?G=0DSGFCkmHvwyG=~+v}wo(yqkwW(=dv_NL@j(ZNTA&*wgtu__6|&^Zpl-##O`fC) z2oKTt_j{KsmZdM~!#Wms0ZrIn!E;A~XKj_xXI7kkFz9X}yM8Uwo^kV4QkMF`0H5iZ z%M<%ZEKP+3x?kM=8MEJigk~>0)8wlpeiYH8CFn%;1@+Z(S1;VR_&9~Pd~G@lNt*yD z%s-G?|74K)yTRxm>6-q_?j3l{D?}X$i&sR#4*fZXe+JOFL%@!fit#1#v~cj(+t8Ke z!F}~j==U=c`-=PTFf#s&fTD6s%4MAsv3#gT{F7zJ|4&t(YbT?>BExa<9PN9^C~LWf z6zSoZsLgS~*}W$K1?bIzJvDmCU+w3r1FOK=ui3?nmdLNKpfymjydMnBQp9toh+E&M z&UP(_s%ZA~*4ypn5w@7*`s4Y{05h~D=V`w5Wz3f~AnN<#y#B^r@R#$8M|xIMxd6&~ zZ%U2w?dF$k!0l_?mp5#i$<2wwi(8|*cV0GLzT?`l2t;X$<{&~6I;HMyJf0qB>#M%e zQ$0mzYBOWxs<+PAh+@Uk!F|#x<@=gz5Y5OUxCUUxz9R=V-4qKUGQI?$JvX8R0PU$f zIRg|Vz=-<5qv6y1S$NhX)eSkgy$K~=5y3cMu4YiLn0nmhI+iW4pMwW?kg!tCNqdqd zE+$sAx~tq6ws>2D{Tcm|>YltuSJV?YuRo*9hFAvLBhu?ZSc;$_pguX3#_wkh>$2TsPXRGx=&bS;CV33$jRciZ{ijmCb1 zuoNZ)9pQaLCTZ>gd2*H7!!@0co6tW%MZ;OYfgPq^ z)$_sL)SvBhLvk*a3r+V)+vmr!d^SULNXIK#&haw91Hve{z4Nq0Y1k_|{}9y{-_e`z zHPup~@q@vz8h1joZ6uhIXY$!M#-&AUmG9I{R^Xd_*F3GgHjZPLI3qytMF2Za%KIN9 zXV~M|`Lfu(%8;Cj!ua)lL`s6;NW)Av+%8mNHK$Zx-CutB-zgUVcwsrmf`dzS46l;g z<&Ae8DiOa)znbhor*6OhGUneIUpOKo2wOrJLetc}NgwiA%}8(cwkiAaD>Jq|vxip9 z1SD1Mn|I%)&VY8W+6HiUzR(4W`XSh)X(CN3m-`4lRwqJ{n69@77RZ-=!6^CrIMHB@ z6;3N)5{q%~`tlEk8l!i9sregEK?W{#-Z83v6Hu(N`APc+#v2{V!M+~uHxbyrQX^(x zqdh|XE+6AY-@5tuAZ)>%^{AK4{SM{CSHK*XALg4MCd;J)%yPrQYI{dqD+3tXdT{9V zLciea*O-7iw0fa0k{MO5@HA`ptBnAIQxv_X9@ZZWg%N+@BMk+7q?s#X^GB3!)Sl<+ z0dE}oNI#GZdhJ&h8$jRU?!4@)OWakq3tK4t!NBR|YVft9Ufq>?3%*{myln{%bbA@Z z5b)N1I3pxmANnB{s%b8&0UWA}f8~q)`&5w#6N44uxL*koycb&9o0+UeQ0b^?YS;3> zy6LATM!3CDhHnl5nz7qyZ?f0L?sgF2!DZ0|x|n3)n)BzH6|#g(&nNfOhB|!?U6Z-) z?3rSN^UmQ1F=7i-;RrVR1+S7uNIl5GaGgVKKfddN?swsP>++Xa_#aH~T&=%3tfXG# z6~9|{+GEdb^gAi@$q0X#!jUz(Le`TcSs1ZCuUa#Box1E&H5xU7*Iip5foFe~KIjHV ziq4{g)6}KKr3Y)shz77zyOKC|THd9yR@)%B&fO}mc4CtRy5q+~TFvw_#AaYs#J5Mq z&1vz*-{jb2g?O&BwvV-?1^AP$4e>FaNBu!HyO_) zURsCH#tftx^w{#^I`N-dfd!W@*{8`-DgK!-y-#-c%jyP8F2u-kiejm|n{nU%aCurq6~}x zCV;VLJ*)GPdTvO)Hb}%>_;s%_FRx;d3n~4xN(+W-m0Ys4AKfTtcMy?KC)`@co=o`; zbD>7=MD=7}Hv)-=??0)U%6E{c65a~#ku~8 zKnTv==u*YEhbgSH!%e{KTVbuKL|B>PGx3{OURvCJbRYcYmrg_e?=JU94n*N5)F~xx zP^h2GiWReEJeR7Z-g$RTh6v=GH~Z$cpEHRG;o+y2>n9jm7VofjZmqDSZJ;>fny#Ll zB+75N+2$cJ8h!0y1I0)D1{A8DJ*cItWwK-cDH7x!Jwq@^V}4iM!)hYi)z$N~LiYxn z<7%F7ogpx3|IEul2|@_|in%Cl|LYo6FaP}U-pFH5XBhkxukoVZp7nLS&pEsYIIHHtibA&+!FoLPT)M9FRXNVB)HJK?Dz?D)$_7LBMaJCO-> znXxec2Zj~%X*e8LJ%}&yZawJXv+Sz{3j+qO_8GB|&8hqO7lD92q3&(BApgh z{l!UXXc+lDptkjUXVqT~_JE%z5#fSV*zAw~6ArxM1{*>H+*j?yjGHGp>A;Ky01dGXc{o7Nyj`#K9M#cT(_DLp zrbGVka?}5HpO?|>{dzH?JFcjQ>I3<$um!vAOe2=0Vc`-de;wcriCpZn5pVeR$0G2w? z#!uJctr(CcF=Frx>9pJtT(0fD%x|@^)N*tKl~sBHd}=c@WNJwkbp35b;)PvMBc5;x z($ljq|N1wQ8h~)76RJY=G81Nz<^XWMbcT@rx8eEU)q}r1e$wK7k)aM`b0GF!Lf$#8 z62^VBV|OZOufM8}Kt(;NG_1U;+lUwyhyy3?u}43~TliuM8sOf12*J)6wRu~u%m}qfP~*txEjgRlB@3Acuxa&Ac4L52 z?}pp*kkw{Xp8rXufZalF;)LE;g-=Llcks#aN^8LDIr!)|{s?8{s?iQCgl>)*rC)nF z)*Wp7R^%vnJzJjyzY}+TzCR{A0x7V$2kXi1yx;Po-n6|3qc*sd^D*^QPQ0(}MdR^9 zr)T67QPX`x9Sgq0a_io2eMqr1&8Gu9blTVBg&x~SuvEoIdUly!f!&@dU-;CN%z!Qf z$UFJVs}=j!(iB;J(yRRPlKcf_h4XwHJ%)3Gr3CVIqxnPdA z(^fwi@?%K8YW2j_Pm=<~6FNEID{ib&VHsb}(6fnX`-czj=iOvvIP=o*Ntm3a@#Fg; zFGX`Wf#=NrPVw`-*v8@7)WZFziO&^2)l>kqaeCePkAFPW|EcGqksI%`?Zm#&#}r@D z$6jlGOI3%ae{wc3im3)nb9$5pRJgr-HpOihOseR3M_5}4nazBZ01n@|1N(WPwh8o= zvqg`3Y#uBH?NRq;|H5(|b=$I?0<6Ge!?v1YB!K$y@NAo(Ck=t`w;0e* zJ6exv@0!N0iD^!!&=8&9iU)Vk*CGI5?E0{wv^hpOVnR9k=(wWKPo=*;@C^M zo?=dc-Ga@v%}`TDnUdrs$mhor{E2?D^O}2~t|kzdz{aa2N04bQXjW}w;LyMN5$S!7 zajW<)?Pd$DeF2!EuLn`pJ-87_KS{)^J#-1+2pH5u^^K$1XS1dPl(op8O>?qkr_x6C z_0?|6vV}g1wo>bT_nLK9)O6RdK4%rUgo(#5K!CZ<=G2QE37qA|RbuHXta3B1CBs z5h;=0ArKV->C&Y}={-o58tJ_^se#Z-AfY8d62IlX=X`I!bN4>?-23i3e?USAVI^y> zIe&AE@f+j%AT&DR(J)G$)(2)2c&COqJ)5(~(!A5=u|#{C10w&VTUdi}4vn&1n3_~` zak(06^{Kj=EB2KvA4Fvq{|wp+~J zpS|7gZ?5>@brfB=!RBlkk7sdI*%!e~n(KC1uV5HI*gW9Fso6!VF--^GP+5^+UHt%*r=A)wHV&e)P>th z<}WliT34RbDB?7n?vFknajvf9t$D^8?9W#Rxw^mqc7xeqk9l0KWq_Fjuvz1%cgTLG zd}CQ|v;DFXd5(~wFPZy%NdYYR#GuBo%B?n`-&&u?WqI+*%ABl)P>WG<~AVldPb zo>sTi8{?)qWLFxzEG2s9RYhgRb7EBztLZ?FHcaudH$%b=kHH>qdqJ|!qB5(Px+?)O4aAjb&s@cfQ)OE=K5vy}^^)IRxzS}$ zx2lHD1NKm36Ag7-efd)85Zax9hA8U~d=+2AE`6)q`tefYZO36~I@5dKW}l2C3$hVI z_z2&o=y|mc$bh&;waegxt=Dk@U!Ri1@|q3g+RM{ez0pFFF$ZwBzI~;j15TXVcQpj( zY$uY33^oE@gZ0~U6#T8L!VUMMznyq6mJNa z;JsmQe_K)QXl<_8Sj8+RICAYV(6PhAXa_4*u`AYKjxDjdEYHQ0vdZOoFdC8IkZJ6j zzYI;RvFWyK&&Jxmiqgg;!W{7CMvU=hmZ~iG6Bc6j?XEX>Ol)Ni#?(aND~ScHZaRZ# zXYcz<>O)`PUe#(GLT0wP%l6-?j5_G-_d}7<#)C?l_71kU^(_G;;@qJsg}+Xq^&q^c zwVDbjoy>N+eG*6O!9`*3`rIv=>i8q<#crmShaBEbOx*qGqem)3o^@{x3N^Xf5V0IL{Q;dMi{ zvnO6x#q|Pcs>OtRjL4FE_#vQUQ~U6%ehg^*$5ZqB&+g@bDh}wkcxtEGX@|IH_xRCP zxliaev~)Bcp*83;nAVtcWq%!e7WpH}7g%Rs)I6p|IVf zWx1yI{<)r$my~Bmmyus^71#4u`~4n%>o&e1BP626!wU|eJe$ce*uM8^YHaDo8;kJ0 zIa*%tKoypmavx|1EhmwIc2Lt_VHwhPUx48U4SrZ3AN8^3}eEmZ`MX1T~cU854f>qv94)FC2jAvU~3&ND50^-h9b zQXHv=H|T1l7wRs(qt}xPH`kF%11838*Zi+me%d)&qoXDT4wM^>xwPgjJhY_bJG6Im zD!`PySfbGSBZI+uJGOJz=Rp$=Xt-PxEIwl?1^#f*UtKkIGVZlK;D%eJXhc%PTs4`n zv9YtT<1WZOh5K+qkDHE_)z7am-ikXk`i0C3b~>cQD#QsYv=Hz1Rny5WsREhx*|dlf zSP2*Wy+Zt-yDI%pDoKAYFR$z_sQ8UG&%A8YeU743Kya`1x1bJucHwIk zrWifz2*~i|p|sN!^`$Tk!US|MsdtvDmF6i9xF}RQq1v9nCO|AZOk()oV>yodf;Lrq zskXD$n3G(zvLz1ETLiCVrY@5D38L)A1U_N+ ziRO~D5dOJv;W8TR0%%Ut*9M2n_({m`inevi)LfSwv(kPA@CBS~f?*(ZD3g_Wb-1W% zI^)YEd#UlWrMI5v*Z~#X8=2M>lhef3XCp4Cb1Q@J(`AwE_qqL~g(CJ_AMA2LyOt=A z7=Fk_KQV}^cvZ0x-d7_~a8}bz{kB1~8p(jS88`)$8d@F0F2oqCQSQIIs_%R7Ftm_sG9 zH4$+y-D*4~&4UGdqO2Y!Ak9^%rg&smY)5KNNs{Q3H5Yzv(mg=$irO7k7EOJb(T&ul zBC4i_V<}W$OfpBGr>8@Fx?g{^T7gm>uspk3wV{)Qhqq5-IU-5sY`<+~#=6%o7ZYq#hCFho|(Ovl2f? zys}?dFe+N=S@kkzV@mOaPv=Z8$AcTKos5AoIeNtyW&RQ$h{cu{FA>c7jUy8t*UIV_ zy4qh|0cEQ)u^xp<(qS5?*?1WzmW7SVYWGD$qOFVr?<)XaFTS6lE* zwp}!JTus@nSWS9(Dw)eTNxNw{eDB(~ABqQK$u*$r^xzFJS51-)%QcOZK}Q(hEr?4{4s-+&=5Ot_oDi={5jq@niQ( zk&;WRUm57OWh>B_*t70w8c1P8RL_VW-EQWQ=y&EkE~dCJ^e}C;k?)Xcv4)9#4+ib> z`3mSltevoBG3bR(xCiJ#vnG1Pu{RIdn`;!i>E`9JJx#Nyq>YYqXND4EH@sw;ta1(N zT_-%*Y}z1mMbNI1*b=O$N1*RsiHT$%5%=QBRvVk1__Mwz)xb-Y^kgVm5dva`jEdVRF2Javmoii-e&oIfiNl?+)@|m7r6pp zL?74x@w!v6!$CK9Yk5XTf6`glgEPGN-LWAUSnD7Y?~ws? ztDGq?2=4}}g8%K9jlcD%u* z!!kTi+uZ|SkD|a=If(9hhGH2j2PLaD_hYt`RC6gGe-(Z7Eq_{FX${}d)g3H!-j_2{ zX-C~xr6(v1AGD81)q?MrN_)Ofgr;UMd^$Mt3~I0CGdR1dtWpWP)0&JBtBVvzelbE6 z-=#g*9YUS~*z^6-g3-=x_gHs@2To|q&OQC4ujBSucf=UJeX;ZfIT)9Xb(+ivHnto` z4(Q-G$2$Hm0qNOKs!Ob-#t&RngZ;X41_SsC*S$f?9&Q0NegjxrY(mqE5&fBm%o~91 z6z@JX`{=3Tj*Q+uXF!iwcsz9~*ZQ08r`E6oOs6a7pT4_)*n#~0IgHNFE&@RkjmKF& zDtm+nDuJxRxe`+1t`DYvV7ro}+$y^ZX$-gCS#k+|RLPKgTWy9;K7pv{^$bI7$*u$S zIo|lVfc^ZM#~3rl9pJPX;{I$W+l!y$>tYlcYPioOLxRK(K<&)@YKWH#a_di`a*b=s ziz@iee&xx^#L+)aIACrlwxm}NV`gqcpEX+qwSL>ZDI*J}6$%|7{Yt$U`79StqzEkD zpE-}G&MkY34}24a&hF9x=P$sA`!YA+3Dn4JZaX)IkucG}a3r`MW56AmtpdhsVzu|7ITOZ)Cig2YMdtT|uSU;< znxOqNCBia(o^~dAx%)gZXCDiTxkLftlWE(F|0EjqfAx2|&tfiCf6SHTBLE(y;b96= znF}WCnsa2+{oX|-Sl0+E@yW_f>qs?^2%Y>FXhE}r)Ed`0oPJjJLz^1;Og5*!qTABc ztz@u-7V9cX#h&`mz@YwTqLec;8I2*}Vb# z*ZFBsP)p;l!_$a@3Hl6sni^8+pPq@hq4OP*6jy> zGPX;5x1K$|QWCJ>&(D7BSY@jd`MCp3z#6l45fEM#4j`9RYP)*r1N?cCjpS|dnOH-^ zEREjiwh{#!BXdvora0kXHMlK&84JxkxY;a|8fkTj{Yf=&rJht1{Cu=_uXE3fc+BA5 z&Dwmc1JU8WF8$H-INg*tZ^Tii39aPQX@=GSTladtT7$T6O#*c|i*kI?rxKm7S)=AA2MQLdV zMQ7MrxQ?p{;QPy4+&k-)t`G$Bs8Q$!mLIlZzsaY?cxx9)Y@9mo#@Y@Y7@zN*1C1SY z8V#w%k{U-*ug-t%lzgpcuZ9l*_?;uH+Zs-Cwv?46>T*^8~@4+n8P>wxRZ4oD^f&=tN{V*_imeX zWIv=`?Coj=hA~xS*R`bwt6BW6q2Kj^4M$6myztp0`wWL*<|3P+oDW|7b{NIL@f|2yty!0XVrfjBVc-JC6+#pJn$bIm7HJmime+RJ`_exHtFu0p2Cz`HBcn5P{IMl+tJG4#R_!O;dwd&Q*K+<}^Myq5$)0ePH= z9PuvTKP@j~!jPmJQffU}WI!q#RY7bMkaGfMgs3M~u_Ggjy6Qt8RlUr_8y@?9p{GB4 z+umN4kHusy4dF#N8SKV~IzeMAKn0btTH>PHMtKZn>bKIg)DCWT(PDOP1|FWHh!t7R zkBDvV3f@1>Ilw-_{XtLEcYS!L;=K}=JLh+;PYB-B39ITjxPn#uQ%}jzIJ>41E@K>o zaU>~E>x*1eZ1{AHjQWIAI(5yX)rPrnX7j8}f}e~Q`hy>k2OeI{5fw_BxACgjiapps z0KEGiWVkH(B|u2b8D6%%X)X;On}0X(aLIM;oy;-tR+l#uJ^jw5Q&-FV<>8hi*Hg8! zKOD`?4FPycIyr{eAj*RvnQG3&5j_V$-pXFU%Q_~uf~vMh(?56gWC}YkS8FbqpMF?z z@ETae5be8H|72{_hpvHEKo{2200$T!=yJx|m`F<$l^0j9_?rg+v_Eg%Mw_GQd51^i zNZ463-($6^)J5Rc{%cL(e+zj3J0AI`PUrtd7rH{#*3AVnb5kVJO``@JEo$sy|C8!qIv0vUp&G9mhfv#>eXqtPB@ z$x$1!n==+W^a{Msbd@Ty+_CL$Wq3rjkL11q?IwyH)&rdm-w;6E`kw{1T*Z9i3Ikli zN1G0r;IqBKSS}imy9(JF%!1I(B70sg7B#D_3}bVqzx?8>XS9Y8s>Gjkdl6ew*mGpGPK~efpkPUqzL$+$$AeQ(ZQiM$ zJ9$>2h2hpMCMOtwQ$&nP4!onx%66hQZf0zLQLUqYWnqYFLWm2k0nJVEOKl!s)A!s+ zn$J$@a86Nd%#D0M6E?FYl7;p|zJf6O^d7V}F`uL8QIiqsHl^L_7kzaIlefHMPu;vo zDe+Do=HYELJ5w}|mthCN$eT?T4Lqla^g#`I<)K+qCc+g*5>6%D&019v*{0}UzK<>m zrCIm(qrmzJIt#GCE#f4KJg)+nyIayu_L?Vt$Pa4`MC9Pg8X+L3G#i^g*t)dJ0>DT zvG8g5;Y6+G)Xn*=EJw4@v-Ls3nMxb7i?wWfC%jMrFdiR%TJN2~nglk#%@d2!k@Dj2 z1`ebhj&9Icg-|)@^!8Z}nM9qaDyv5&8WRwe-beJT4CTJVmVl$r9uJ@`8Gxk!<6iME ze?HwR5VQqicTZi?s{(w@4IATQ7UcPzX}tdtOv@Bs$khlstEl8*eQ>j2?^e?bR+*`o z8f~0N??qVn8M4z-U>M&=XN1erp>O5pzD0kH^y~zf>FF6mWD2xC_OTPKQBy3~GJ8`X1E&*+)$QAF>B4|&<-^}_%vIzK^w>dG)&CDHoX(_ zk8RBE4wU^sB&*QPGsmqDp(zedgyF5 zznG_l^oPGHwGe&HC$L$v5iZxKbZsRe!q7(R3};Hb*zwoqUAQh_A9#T7QF-1ZR4~1J-^d-Tai%4O)cd z-rCz0veGklgXJo=1pVDTdp4@AQqeTZAAlQELdi~eV`HyR2o1TfOIadmRml(AO>WKt zaDB7iUu>uTzODKn-LfVl^Hw|!HimAd`Hp=$>f@V3IbrV^-pt4`A(Yj~KgaZ*h6hXZ zt{BPW_cA{qmps}&thkjIn8h5VnmNQKtzYgCU%2?t4AiuK(dSi-+o2N<^x@l}s74Ya z<(}(VBt{TMW(53xt+HVcZvq-I$uQ6NKsMc>4=MsJfA}f`MzX$XVy8?_`blRLjqy84 zbyii&rl=4W!u09A+UYIh7J3i6-|oMv)F)zs%SOb>UYc8d#2TTG;dxwFD9Uc0ZtsAd zifLNuvvg3a^d|GXk2aZMby)ABFx_W+y5;K!v3JnK-0Z@BSRS*P36iT|g=P_gep>@A zycO4E5FVSA>=*Lh`=TlR3_O3Zj@#X~l~K~heXgdU1vzEJ+$%NJZ`jvn--qZ?=&dQc z$jR&&^Tr4jw4lKA<-I@tsR@G9yG73m) zFVK#|QFCw-A%)Wi)*H|0{r=C zzV+$AtT77aLRf(T*$Ce1by{7@^x}|?V@R5pF|4F)^vQ$Q1?fKBZb-|0PUz6RU~p4z zdlC}M2)pw}?fZPf9_Ry)OcaiPI(`;?+R6@|zS7uPQhKjS)vRUlOo~I_QLji%_!NzW z);p(`z9$d73XNTDwpNmiF$#Er&1rHGq0y& zj5-|;+zrIjAm-$KRCncui{Y(i2rJBOuy{G{Gk`5kdmQgm7#*bD1A-hO92L9MDM zK5a@CU;;}NRisBuiPzdQsim`F?`)5!{7q78;qZ*N+O?X=S9SrP_bo)dL}8Oo`ptv> zp=&>O$CloW3nVNm2T85=+<&_(P;&?+$EE(*2!`m_MZ3Xb6@Zjj703+pNaeD^8Jw|? zUKLT17~(RPysq>H5lr^cTb5IOFUidYAD^I)2Pi?5{L+xcTk;Vj@YB{8U_X!r&(<&% zyJ(6R86rc4x3L=vOI>7N04?5qzOrXG`HG)+t+Qgb+1Ws~QS{p2`PE3N^;!oKZ*QL? z@&Xx}p>5FLX658GV(Yjmw)NxN^Q%5qhrM0z#z)3`uAWGLbQa#Peg7?)VT)Up#*evZ zleK&^2s!`T7U25^RGJ**XvWyGbn6aT;L6%Ttz`0 z_>Q)bY+^Y_9&L>hZg@46IK)Pp+fNIkCS0&04-L2|j4^d>E(5)E!HFA#e1=l-e2L)|(Bkw_eD+)gO8{92j5;5ER(7m&3}Sb$vgL>}mKuK$l=2^?1l; z>P_Sn{%Q8@W26Vy&z{B`!iv1J$>E2ODRA;iIu6OK*jyK3?#!g`TB4$F+3RxEpSfJ5 zfCyQaC&_=ThMgpUxnIYQxJ__t0G)j5 z&i1|PwVX*zR_2gD>v-jcrlXo*4qwzzqzAg7?N(8q{?iXx7E@NW>&d&rt_D1HMI|F4hn=l!gl+;sQE;4J_c&>^7PSb4{aH2 z9CQ&@1cUj^4N9$A6O#nR8Pm*DhN3owb3lXxv-Bv9Yi0bcw81?f zh{ZL0_a&8niUJm15=H3Y>`wJmAp;A>7qO|83twrSJ9b}|CZT1+UU`oUf$rBW{sh6* z{M#apO)qmEjnA65i;1FgWvrja?B^&!$==P3yv75&Z3@&o4gyMBJ1z%kZAzX=O*oY7 z=41}ui+jJpaas5OhE}Ez_*|X(0ih=1I$eXF%yh7wRU8B7()2EF2kJy-g@%g&D&KuX zGnbj~LVm$g-|o0@S;j&E<&2ZLaQB5Bb6M6`waY*@wws{07O*dE0V*xJ|M{1O+ry!n z5LQ*bs5jS-3_-8vxUV%D*ycWQ;*O;Ipo7wxM7 zveB;=+16V}&bR=MNc~Z>;eJx{ws(vpWKr0^H_(UouxW)LO)WaM-)>T7ma$Ux;`Jat zt%7^+`f(~mmpps`E`|d*xJN#f7f^uS0X@kP!$Iat6;c~#Z3;K#pVoQ>C`5odBsN<4 zXfabO(;R)JNt~QA{jJ0Zz!+mQvz-ce4BBW|kg=8+3N_CDQZOwiU;WF1 zLu;r^Ltdpg3dlh;D=qtAJ|FY$It8*UvarcU>xZ(Dkc4o=%_8snTV`KvP42u#9hfug zACxN&1#LTVP5ZN&)v4TBbw(k-8^`RaVZ&SgEZdi&aYy+ko2tS5`U@tcAY?+=`* z7e%xJ9kqh&A}2wDDkm3Lp5&&cbo13gOWdRpqBG#rO43swbP)k0n|W@gz&_Lezh6225tn9-$yrO#3`^VslGm(smAAUHB$dnaQh8=I+8$5EZ_xaMAD&#H|mQ@hJLp= z5qNM7XvQS#$xyBWmE8roUYvZR-6h9!$xYrY_G$Zv&_IPf3B;$TvKUde=^nN)jq%7u zWWcnG0j9}@UZcx3#4dw7ZB}AqDZEpv9ce{AY@W0ta&iJST^GjJZ#-&T^@10V}Q7JhW-4h)|Xmo#8!g}WzVMy<$fm)vnRF>dlF6t|VH6cfP=SnE((e{{;*_{2sc8)(ZJLi6`7CG$H^BEr zDhi4ZrU(3FNsqR~n3b#@;(oEuKYpRCe==Qa8MQAMJ`y9bByL?!pNgpmyr3IN2PtTm zHNX=M^y>E#G+dEm<%vZAk^=mYnJ_=poRY} zp!JV`|4%{Jf1{lx`Z^g$gEbU**P4Csak_$rqIt*%he{XVby@3;+m%5zlM55{&w$8H zSd?N9d+7F!+cXMzCta7CqHEVsD~`eNxBsMT>jIP(HttK`FOCrs9{|csyx>ndftP5r zoVMYjC&)%nJBPzdbixZ130Ma*ZUG?HkP_nWOZh+Ewqg35Z60r6O2YKPO)8w*>{7l? zGt6ge^NHhQA2K4?c{iQPKFrK~<>J6w7OH<^VC7yqj!hL$;WEs$Hy~-&jSgTaSu>pHuna- znt!<({!5uMa|))o9}2SYg$IFRnV@RT4sgx%v@d4Kh@AiAI#4Ic^I7QUo3aVLenLct zT(}>we(AWt52$7$__PHMH>>3b@o<73~-!QpqxNkPmy`SW4rJi0}0Exsetpb;T z_vz(71<78njtj&W)X!UM-T3T1@*e>{aBXd!Bn!67d8t6mbUd!Y=R8sD{SuIZ&Bp9N zuOH$_=8l(>9scv(5It(fIxZVlD8$(RQ3CAvd_!a$` zlK;jlEE@?a@MI34*rdTHOreKT{lJ{1!=v{1@K2e?ix=XGb1MbMXyG{-H(tNoe_3#| zYaKXSdraT|WSjGQbJ!mr&wO;lzGa}Jp5+LC;CDJV0TfJ#)`#S#@ld3{mG&XvxJO{- zR>w2UW$L`!pPt8DUcGn@GV;xd%eryEsSK+;_34F(m&~@oQZ^iQ0ryU&qW|gz8=38w zJ%c;kNVz!>PAn)vW6d!aT*dp?Ckra^#C_t4Og}quk;|1)@Q12=*Upxh{ovSCqDMFo zKp`w;u;b)+6Gr{X?=(kxF&&P#Got);*YEN{%OZ)4?xkPl>Q}la7F}mbE@#GQRHMwb zP0X?>+Wq*g1n2X{6)%vks6xY?d(-N5g+{W26HtxApQZJyHGyD85ion;bDaaigGGaW1UCkPWevvH& zy#dQnAP25TLsPPjPD>H}YaaXX4A!J8*qvEq*>!DTZqmtmL(wfL0!n{nvH#Agx8(jYJAd!wQy(B5mp)D^TMwtq(MJ*QwAi zGP-^=oEUGpS{`T`;`~JGv(M4Y)LNrE456&n+7DN=RL+t0-T}FzXv2d{S zs5_A`3%&|EMLyF|M_+m<7VujCq-mgl zU4j*O+Nu5E?2#V~>z3$8H`|s?v85(E(_5YxGQDrIgRK}Rt8y8`BTLnX=s4IXU`<~~ z-C|wjktL*8(9_OyU%XiB%Xls8M8l3LAoIv3t*z`pdE`%=RhHI75_&5`Jy~*io^e5a z5m2@d`IMYC!)3Z{w#->7aoy_x)KG0e#ITV)*Y09qm)yNbrku{%X?}t^tt7*5_??yI z6iy-|Kw0fp`_9MM^M@;>A>Xbe3*o(;;w3unMyf64$S%NDExy+uEpjM~I#1E=1CDQl zyZ$dX34g2?|M9-XDo0^rhVqiN^y#B}lOEuELp0XK160%UIHZ{D*p#)X|Nj({|3*Jh^abh{m|a7GHWI^M1f1?R zWQLcyI|R>h=)*RJCT)ne(!hXIye0zwu7Jk24^nMlse}9dGA5R^r7&us7)npP2S>w?|+#G zz++5Q)sV1?J;*m(D)r7+CBZN=-+f#r$w(cJx?qcJ3(*^9ZijRJ)O$H)p^7fXH`g?g z`*xhy1xt{pDNKwWy$$$#b-f;`y-l&3i`NzJ+Oqo`_bHnJPcEL`$;Pn%r28%ds{F7O zNzq;dPOR6`e__?+MB^ngq5^I(4!3smzEoycs7AiofC~?&X)-yvK8){HmVNZ1BB%xe zpRE=X|H?n~`9s>SQWiDhC*4RPZvzi|)iB@_H!Do!F}Knr1CM^#djYNjzehfPh4EKV z^uiU~C8L^<3Ve$)y{fI6@>g~?_m{?jd}{j>?(EjLTZWznb@ai`0y;kr8futwpyiT* z7X$*TR~rDZI9(ComjBcZ_wSX|k>A~xJvKimaj$rOfhS8}k`_co|B7D^Luv1G?8u44 zvAxSMQHU{fHrEfa7SZ70x5GhL-EW(JC7xw;fhUPX0hIL1%^d}*$k2}6IV*!5CEMg% zuE%ctN9wwEv$c_-;Z(y2Njv|m%&$Bh3ZuuX62js`0a`yHA8&V?yWv{X^PhA@R8@ec zo;&0+xj=@DKPVx`rL8(_>17ZO`|(4&2_mgKm=7HOF%Hyt+?s{zuZ$gsjn2Ms7fPsS zK@2q|&9*{c;s#M#MHlt`0AywoOD~c3!DMdOHYF4hmcX9Dep?8R-nxG3NDp4hf@hT%g|^N-@$Cr9DCRmcwqEg4rU2pgZC z)&32a!)YK`i27@@my!>)+|AU;d9xUiR?m#+I0MZb*RRy**+ggUNb>om&tpjuz6twA zgLkqFdV-=OYsdAcq^cG2^>0d$FId6s9(4GyA|6tM0beLXjbjZ;T!YS#3nHgqr`7Zi zGdr-fKKeLUWNZRX> z$JH&u*vQt5o}={@R*9!A&OhHN(PXni+zCCix*5pYW{_FSi#R_(84_z>3 zEojbW4Vdn%*!w!p{yGJpLCgi(74p`AsL9~>?fNvUOBH7p>zSUEM!tVtNO>m_Huo(@ z!D^N&IHQX9B9LGN(R@$+cp|$-#%ioRv+(Ix?Bb8U`WSytN|F7Z_mi%~8;@@69oL-$ zH59mv43JD}d<_Tneu#}t)v1EaDv~p4tacApgzA-_0b4V}OMebj{1Ln` zLI+W7X2VZB^R8%eYqvfn&wDt~ruy>UHVA!hGN`A(Qa3nhDsr{Eh-@8`nKKX^oziaI zlUp;_3Sw0N&9KM2c%ko*E*n0y-v&JnnZ36QAYw2DYb+a$7Xhh@0?3;)r7N!s!kJ}S zlS@e+O7pzSZl2QCcm(sItQCiIULJWBi7&Vpwih7ScGg2aa6esk_q*cIX!j%ef_{ZC&a+$L?O}b~q-uRp&AmhAqvPWE`>bC{77kH6h*?7bC+cyAjx)U{*iZaUb;b+C^ ze#!0L_R+~4%`6N7G3$m<%LPmZvfPSy40!`2=F|t%3E$X-CB0PLXhOEXrm!zcH-KgR zcY5I0Ej;yMC|A(sr|0egzU{sySM#k#r|Cwb3?aVHY$9Y*a!MC1t+b`7J!UH zIDhi^>8sH;=8DZ8l_@59%`(**)+h^_>K#F5{G|k`5+DI7BeTSe=gZ5(w2wZ*UO6Pz zG!wRq2?34X&W$%$N~=qf4$#>@>1@0X!W(&}>>N%^vP@3ML<-$CH|_J)j#*?Xw$Cn* z*}&+{H~Td?WnH%7uLO)9O>&0*>k;v5bm)oMt(Pu8CT*v)gl&BHG0Du-(T3XHyAzvV zq3mIsM^tJNxO2c?ZKCeZ^gY+&hxgopzStfl9AUg|t&<2~gD1PpK)YRtR@#aE(O{@j z=0bZwaE_R0ot;_GQ!+L-VbKS+=vIXZQ&3E|RYl=1Fz;J1_c(3%EK|0Pc*zwlN`g-G z0k6Aj_-3j?B6cH+(g=%HQ@pbyZ!>X^GNcEYwy0f)SLU|6-PAaKdnYq=E&Ds&^CRmb z;9N8KPdW}n1fCl(57-hM)6XGx#<;>3J?@|gJ%;fkgotHF!fQ#lzoXY!p+Z(l0VM3}IL% z4U7FbU-OB9Ql8Z#xiy!+T#rQ$7KN=U_Pk`CZ~3L#ec{ z&S3?Gi3sq>Cd-T%5yx1sTPF^x?~o=-@P-}PQ0+|}TOFV>{u*n4eKa`p9} zbPCXDOHV~0bEiyybayiNqRem0oZKwPG45Wc%_LR8%m~IJ<(p$I8=z4k!@$hG_SL(W z2%;6CZQq@;`SQrinWdGTAvcZgNFT#~m3^#|b^36QXxz5aX503Qlxs!<ArdvPr8Zk}GIUC|lU_HddDj0yn3w0{LZ^K`cG z9CZ?nqE=}B9{fxj_&rM$4PJB47x?7Y%e-iae&Td!P>T6bSdAX$nNxP~0TFw`3-NC! z*5g!Z&)VDtsjy=iMO9pE)Ja{9ib#C*CF;0OrQN_c@nZqK%M4aY{EtyQ2Y_A>wPeaW61Yy%|mfeD2*Gy|bD)q8=_~ zKduImIRV`VAQqos1$s`Zwe7l>F*8Y6qyJDE$}y_qAOWw7%ezQn;H89FC)zgPzTvpk z;&Xen9m2dqdu);BH?2B6aryv?%yJiN^nAs^DHYL5>^yATT>?}|#&?h0rF+hxlopyt zv98H0g|6;0n;Iaw@PNoLRParWM!~H_0BGwUwVe|J1u%da)=IGfDV#-(YG;hwCW`1gH>>%|>fxuy-hgo8@Y0Jf##8K)=3T3jy?gtRnFU%8KvU)>IHV z$>IzyLt5Cy&RfcM4?jc{F?TUSU#2br#6~l0taCQJ)vXxDv0UJh{p>tYAErl6uZm8^ zK8$}FzNe|;1?@wYz}7Pet$Xez)is2$Fi|N*$Vr@sxmR!;;NWca?9);o7gIxB{NRp_ z$RqYayxE(S4Am~5^zDO@WUtFg$~WXpMr`%RoK;^jA6=p7VB+rnvP$dy?T>}ef4={@ zvZ}neB64Hv$-7f;Eh1GIa_M!{W*9Uk^d%Erf7^}8UrPW7ZxIxCi4h zGeq+RV=CGt@Zg3V(pAt~rMwjQB9ZHUmbB_Ikkw7VhRzeSrL;s}Z<{O?*lq2_;eBDm zaVP92opgoSqh?SkPZ^GLldM9!uu?o}^eBc+lxLs$P`kNJ3tU63%3gyIvevhA)}R^9HMXaxg!!##lh2d29f(aJ1~*URhpq0mUqNgs-)6g z^}l-mz-i^}&gCe!&yxy-ucI?Up6I3KhriF!(T$2u{-vzR{Kk)e`Y##iYXoSZt@A|M ztRhmp{laTM)YtX*2SCqIK!zvYWr0k7A++79I_&BlTC_X-a0;jpj9Y-}<}bRfpul)3 z`Oxbo{D5QE;(6M()RHHrX-Z&F+)BG_z4n-Q+xD&ks*_l#U}CEBuJ#%KKD9;4;an#A zj;Fa32PQ<4k{T-gr9U9L+h9X1Mg0!xHTyY%JnffFg)v74Z zb~or@sXQ>+{-A>T%+$JI$?@8|x%An=`sIRz98*w?sSO*6SD6ycP+^kEqfk1>)6Ok9 zocfDk&oTYW(ehWL=$}0PUwOp;8$C182^eeD);Fc|w7rbWlrM=C_=>^4?_M^-9jq39 zIJ!?sMH12Ufm21Swan-lcC1VzGI+=08$t;p_T7XNvawQb_LJ^PhRbfZySM^|epwsf z${U7!v_+lE)=XJ*?s(gcn8$SuK+P2A%7h3|Jwa{zKAA& zwWrs_bXw_r1pL3xQ0@^9)rLt%&t7yaZ%2c8L3?or;Ukr&T(FnO*Yrw9uS&;0YxpWV zM-2q0`TQT|-aD+RHSHcoQBhH1LqJMYKvb#)DFU$^Ku`!pIwS`HY0^PLOH>4u76kzX zA<{%@q)8`IBVB6ffzW$GC?U;nd*+>aXXZCE=gfS+YrgLfu8_h-va|Q|tb5(-UMp_g z38qRONRDGbhi$OQ-3dz5=0xQ^f+mPOACy zDmkHiE$Er4QzR??w#4`OveGEdo(=dh$5Tv;<#T(#wrPwivotpacttWvzz~8NpKo?G zYPawTCT$KJh3LRFV2+PzY=eZ1+dXexnRvgo%aeRZlFJPxyx62^OuLb6 zaiBH@OrKK@JUoaIvzf0zb=E*`v+DwGUVHNSg<$m!P+isBQiqF4_Mw7&pAJ}+<3@A@ z`#|64;=~%QF+T_N#a{Nw!F0dM(y7sk>72vCYSYu0o~n-P4a4VRgRSj_?m^Ik7&cuA zlK-e17R`6Dp_?sqENB}QpnTyk@;c#N|L$sX^Yoz<4y+_)t{KdQI1C$KpIWI5kCvAH z=C}*Ubl$kRskE`L_A$V1N1{Z;nkp9#_Kkyjo(`)S=PYKW5q`1m_;b9!){Y67I)^U{w;Y!^~XP%+m7iH7}wT2I?d&OxDxDC(Be8hb3d zZ4T@0xAshpk9Pa39D3Q}#c@u8aojZyy`U4jmS7=3AyytJudJt+c_L;W9nw6N z`{1H->FkU|e^m%TF$$&r&e7%KnsPfJQ{%EVa{45D*Lq6I1N5XCJ2aan*p#20wI!3I zO{{yx?QY9WP-34U60rIH>VEdofs$7sOtH#y2CKV8)OERC*z$mbweO|~3yG3z&<%kW zSQBUoKE!?$42e9O^t`4Nk_gB|_iQRlMw3zDsTAS(A@_vOyJoZQ{owdgi^ruhB@40k zhhK&`Ib|w%ceWbYC}wN^3gB5U0M!1u6%p>3S{C)O{Plw?iFyCCJ zR=1Rb=C7yd`Yd8Rgfahv}eh zUC0oBQ_VD>>)S?$Mbjyf7yD}~^#Mg%ydxDdt&CK}UazDD=PzAOf^eJ4Nzhu?+*RGx zjF_I10OM|#Y5w|Jt|Y9j4?Bv6gh^1DlHJlS(vMP)nAN}1sNp?vo*81Z>@kRr)_xC+ zj1YULHO2ig$7f&`thv_~fe?aEw)$MS?BH?cuCns2t}%Fn{CuKjNQvr^eTAj)tEe{3 z9Sl_!a>(Si`eW?}d8^RX=zBf8QvrmEcl4ltwh4I(J8mbE#x% zv*7roRoA=pG4t5iLnAmYeb!B^-sz*kFnRI>D-7Ph5zJJYVwYFIS&7v`z7^4_YRoor zrK02l?0wakNZUW>!w|$K1H1AbmoURwV4k{(18a*F1n9Okrb)UveFsHjzGcTvP=Kgk z&8oW;&3$&vb5$c$)kuzgTsQCjUyq>qdHVkz#OP+_EBpLH^IdK$*qN}>ph!(C?05DdAmXJ&`WL5R z)sJaB_qv}E*P{86zxI~aDEYXYThnzdZoV~F>|;n1Iz?Rz8IF)o9!D#H9x?hvQZ1fA zc0U3^&SX?(+_SU0%>XHu zj~L;_BK>3f6wAz8NAN;cqi3h*E>7CW2qT^OvRbo%h`<}b57PpY^iYVYC$vRi4%Yqg zCM3ik6}G_*0hvlCe;UQV6BC_%ys0)GTpHN#6oc>R`M9DL2;HepNI)&JZKs#oVju^{ zw$~-PO9G^Mnxv#m_E#5!t5?R*75V1pv1wVla^aCiF{b1vSGu`f`l+N@9sgf)nIKNx2sK-j|q#sw>D9R5oib zfEgW`niTL!JwblKa`<^0f)^9d=7h=Xo=!!Yn{nUf!i&4f@wxavoA<|ydv{eVaHWp%tdev9mxtZ|vZU$(R*yNvxP6m*miwfM&8 zbsJS7ndKlWGA2_Q!hwi2^H6wED#cUfX=l9>83GP<9s+0~_r22GXAB9)^}E{awolWa zB~WaM(;laM8;FM;X^y8AJVB(ltKjW#_3U2>c889PG@mVtdZ0d^vl|#dix1!YOjEvZ zl&vm%yC9kW_N4K_uD+6dh)LPC%1CaNpyEETo`3L0{y|B<`pdePP1IX2dXLxV-SARg8b$S!-Oaaw zq|CmfP%J1`n}T{O<{Tw+JK$Fyvl~+7z?Y|t?T7Xe+$I6`a-KdgC;_plRC(mJUI_3I zmEhDm;33P!V+lnCfM9W%CDLAL+D8;4NM26_R`K+bKL%ZaR#qP52qNJoIX~D5dAcUL zbrYt_%_MDNj75J(*eh`Y}>Ojx)NjOQgGr2N0$~|LTCk=^u@dq!-ed8NLpf` zNG{Yx-=gFd*P<)CQ44ulvtG;PBGV?lbY!x1#t=ShA)Yd9aZB!XW9m`O&q5}#n}LrN zXk9~w%e4}Vbg<^;Xx7Ev!{9t)xYONHXe-3IpZ+lr&;vq;2o3(6=Q2rUr)JZWoA|-S zqNqy0R}35%Bds?4mpiX*Ufw#(vHR&0j(LtOeb_3ebZTgr`2Haz5}Um)Q0o_g@7pTR ziH4G45q9gq9$JMK`@=^cXd+TDCmr~Zr}|8qU?MxBhu`V(97(B0c~nIc+j;_3vBQW6 zsKtm|9R8SQihhk+N?47HmXMc5w{~iG-JuNIBmU1M8|AM96m3}L@Z#{VmmSNv_8yoL z)>bHA1R60|xI7HRX*BSR)mJM%v<=5@x?M~27ViRwtj){@#PQy~*OxEvd>*@u2{edA z>jebQYx?8hng_DQ&sTl)zwoi(S-5khMyMA5MJzDp!&OnhXF_}V!Lcg+i&v1`3g2i~ zRSHCEfIrXf;-%SKvB<@N=e)DazHw1Gv@p$X6XmELjj>mOoyc${cH9hRn5|0jZOg2G zIPq(_n=9Fm^^s^*jRLJwM6F{3*An_(nC&H+pKqyJcBWfBGSf*Q+6 zZ^#=KX~dml0R2Yi4Uk3utO+eRJCKnh{?s>h9JS9uB_yADtKR7b((CK3;<)Uat4%hTWCqTh;hi1IG3LLFV z|B_(&NwOe-WjfrRq>BWm0Z@l@*vCMvH6N>UNzw1S>>TrMH;kw?ixv>3!C%n>)hg_y zt&1hT!3MxEWf+*RrL!!eVzI>7IP6nFeulY|XddO+;BrGK`02h<=bIxji8Gn`U^JnLMU7fNhMw3hftI+UkMmgAaAj9?#y3nRj239_|a$9*&&0d>O5 zb+)a^E9!jLJ$VI4T*7!K6q}7YC<9Lz_rI1-BJwQwS>*P~K%PO8ix)yVA*UwY)Xrb+ z3Bug!9d;C4eWxVB=6EMT&5u%;OnK@UR^upZi9#$xTl|HT%~=XcF`V@J2|tv%ZeKT-Q*Q!$IcED^c}hYL~_P zU8gI&TJG=g{YG)r7=%{_LT)kplakm}+=SxH#+u(av>o4D4M|%#jj|uY9|w_|;eTR2 z0Qh@iL4!N~VB5E4pkELJ9Pg5!Ns@n2r~Ld~G6aZK^p0}&X)0$3chC8Q;?Rt{y%c`= zF@4LyJn@U&)477_$|W}PZQ@=Hr2cC7gxSdvqsVbn&X5OpWgtVy^m$^OKQfFICE9p& zw)v6vK68ml{N!jrWcXP8`K+kacY9t;?KQPMI)4*;iJ&G}Cx&q)FMsTu)SY<#>K%Yo z!hQlI1kSk0TK>b%Bopg1-zjTnobYug!5;T*^P*%kAQcdDMuN*v*+;k}f1S{ZR8vJ& zPK|;a3Av8LA2GQj5&6nKiB||*uY&e3f(B}&c$_tAUq6l+Q$4jKeBzQ`b{etF@D`xW z`DFn(0#E+o&xL}8Q&(f;jP$g`0AsBf=Q*?pvRmX7c}Xp4(&y)7oJUGhIdQ zsA|aw;kVx#Zl_e|;qns<`&%!o7%OKL)%SX$o^1xmzFRA!heRhhinB94g!4;8WySK2 zo(PD23YVj`ZAF^7qCO)}nW<$5To^1nEO;3h%=@Shde@bzDAH(h!J14YWi<xI^ws2+8Q=iWj-nzrUJx_8Mm6bWAEx1BK;FA zd*P^_@U8m{+)KI)rXP)^M;pdDhbIh3$`U0RoHfETP$%Lm_n!$ zPYvDvfRzBEc9>nsowO_gbcs{zcMA<=^*~(bB(MeL1Zi-FtY;cqs(3=Sc zCGpLaJ+E5jz5?cC>4gO*CX}_XlKk#GqVrqS9*A65RS>Zc<3zG(ti47tRVb^4p8k#Ea65Y}W>|J;ZL7jlA+BSpC{EoGT@A;`@V#~zSnSUDpf_&by1HUM!_b2q73ivCaTOMYWZj$n!x2yJyyV^`SZ zJ*fF}HJ;_NFHer6LS|wG7%Hz@c9Jm+c|UFESSgXvZkY*yUg-LrSQ2Z zVAbL1Pn@ad_1eO6FRa^(+W`CJ+K?nmG8=oF+ho`vl9AD|08PAT1yr{A9lQU&tgUu! z0Bq+n+cDHG)B-dR~2ERkXjfM?;k&)##eKP@d&Ua|b{!wWzV zpC7z_<(Ha}f!DGiCxCRRf`4M}XF2yvHkq(5U|xy?ASUfM5OZ)Vhf;J9Jy>~p{4kyw zEmaGReZ9u_lTaPK{w#baj6_(`pMZqMw52b6U848-9p1xp^8DM!@s>wGMWHH3Jm7l~ z_^r=0JgM1XWmEq9%FAzPsNqqt*#Q}pN`T3t(4|Qck9T#(diNJ<-f!U2h~&HN%-ry5 zn-$xZ-wYqZ35&5^I0&zA?Mdu_CbG zJH4sH> zEKY@QxG)3M85mOXYQuN7SkL;>wyRfvlVMnsXkSj|7%T2M(q&^|w|~`Mw$C(V7;;QS zvnk_T{k~PcR{qV=9~_r{N`6q!G{~Od}?B zqw18{6-p=`&|GR+cHmtyE5)EUXbHV~7*J6MU4z_kPE?bj;9l^I?Q8hQ@oPcIM^oe`@2?zk=jqXx0XMSsf^I<4@hRY7FKx~ZN>zC% z8#aEXe-uhmy%Wv&$su)~KnfHz=+aP=`H({cvkQ32Jzo%G+8U(|1aCyDsfT{tsc>b~ zz)8+fPHma3Dr#T!dFyAFPV6sC+c4tTMLQT1E;*n*Ec$Z+{`HR(Ncw$OM}!SVhZm1X zQAFC61A_a&9x%gCG?2;nRi3O#!31%?^_GUIKjrnoTGagpmkXjr&2qIK4MYWY`qNDB z6OkT=J3ciRB@HG?lh_eI4Xh%(liJ>J? zNa+MJTJDfkZezrTDm(0Kb)^fasdj%{!G@X6OuT37J`KnS`Ul5Dcu)0O-UBkG8P+2_ zu+;CPRFi2AKQ(JbPa&$itAPO})RLgf+Ww+S6&J5{;LEkcrQ)ZoHUktb?JiR0G9}ZC z;v71D^UyQV`t-m1J|GK=s+B<8{;GGp0Jg7E^n&wA5#Nm+&uhVpjUa#g(HB|TJU(JE zR%ZRdb;gbN?|-`43QaRn-Cga4#|c&oPoOTh-(_WIf7Bex9~91C5M9q+RdU;Mt}m!| zp?FPMH742zyI5#;YmJEIH1UBq1_Esv88%sZ{)BuQ_f`-Y6QWYZ0_2+pmcl*Q)uXt< z$Y~+}FF`kWscs65B%;jjlW1z2Tg+lmAHtb4z95j435clFKCJ%WSXp?4Q){PemeBAN z(oON+9~=*89-TKDG&yC9SUc#79j`IxdAD6mA+p<(ei;`R_E@&8Mb#65Isnf(cSCr9 zQAT494i5g^@l|q4doLPp^;;xEXA|ZtMU35=O(WGIxz?m?efFIN6h)PY(fn=Z8~y4Z zqSJqdT7P@I;I0X!ENmmFMH-Kh1G-4=%sI8W4@@0v_;KAgemPp=v+CNf!>f~{zkDJt z`Xdwgl0R9B9T@Sb`)%fLItGDn8W(>IRCuqS$%K3z1%!A9A($G=&opN*U)d2Aoxt8Z zqj4Hi(EbrRsJYtyedm|A%C0cCJAhe}Vr|uh1q}u2&~Yc!@ejl;tKIztnKmK5doHN8 zs@c$uP04^VG|<#{$z)&WP{kloR-_xt?g)nEesu8HjZC^aa{u|%-Y0FCToD~-eb#H^ zFXfd9@HSz-ozL`)Ii_P^{ENvAbQl}lv(+L6fAki0Vl$^cW ztXA-VcBG%9y4YjGbbd*7Q^`0AJXD&gWj#Yq(6?=pNM$cr^PthE8oxe}2>bNeXN)iuM6jR5Vb!Em zHFaUlSuO0aG(dK-A@O(Ji2sm02_XfzmC^$Ag9XlUi7uwQv(#OCtxo>pFluLd1Q}YC z4^251yqI@ysy$I!MWO=@9RFt{nKmu^=({2JlR{M7I8&hWVf63S4iP`n~V+R^;Cz0_+DH zeHuKo$fBFrTirf;`@NH_)KN3l*3s7$G{8^4eRLjn?=K0cQHgw)eg;Jp!Y=N0M{$>m z%3!=QTHUv>H8+<^>FBzr%%!jJiguM8*=7hC1es{`(?Xu#RAx@GfXM~Nw)o0wniqL? zxj{%g4TpRAxxFDY{G`wm)@(R0XUD66 zi4c*MSDuoTmAAzwZDRby2%GlLYK3|mu`7YzZYNlcTP|)A<6Y`=zTMzXwh|)2vDt zrX+6&Gi&ytiqw@$i_l&C)D#}i{j5XSIXi*Z!Kpvft{3-XhoD1Yq(00EmEE5gi*^#n zLk-5~W8+`nVfAIPCibf>LjBoLN>)P-0!lOf+Wg(MH+)E;B*AtZ-8t5^w8mMjof`?b z1P2CUuVN3V4qG&BJ33Wk2kF`X?J?&?zw@VSCq3Tu!)>X~!nDnYr+3j3bw=F9(#rES z@$6H*>$&c(?@@{5Iig}d=o@mm$8k6@if0n-3V2%s!#X|yjlcS}fID3oCB6ybI#{Mg=Ev-`L z`eatvGMNyv1~6qSaK?-~>asItiPnnyn%-K~#*F`n94}$-w;(VhopIsEEVZ_RxO5$p zYZqe0Ftpva>{9457(knVcaA~Qe!)UDJ^aW1ovtZZjlH!^7JkNb1n-*iBGqfN$s(O` zwiLdd*s&wc$2=OO>&X@)w%u;K3aHg9AN``0V+G(`?W}J&v;pdp)ok*I`C&aEyvd`! zf%XKrh>4mKfcuXmjyuj85O(k!P-7vtybbDm!y1kN<;-{G|D%BY`-1jg+~<*O6xrLo z+0mQEikYX*o}L6qx9=>3+Gf4@cBIOlrNiq%z^DMnbkQz$n~&i#VuN?}1mTysQ%Wb4 z9$l4eZnFLUrY4`SMQsV2v*^)ZcW!55MOO6v_iD3r+S41rxj~!do5c6_1%xj+ zxBCEL)Cp2<-U4b(?mQFk)XdZxJ+l_@pYtqaPa%RE6o4@5f}t58jG9JS6kIK5daYSf zI&!`Tz8xH4w7Fqy#z z;|qO+lk?#ITBaA#uKuxuJW!`?BL_w5$9!Vyd{4xup3t)4F`ZMh)zB%>VVZK|qKIg1 zbmx`i9K7rq;n(}j(BD1AYuzdKE1*wK+c*8li-Z?dU_@$j&^Clrvj{qb z>>6HsDI4}uP0GojL#5p2QIXrL=r*zH5Kcz+NGdNi4)M$=W5JF*hw3OX>B4?vj4JGF zIK1~or&GZBnzYhvS@qujmA=&cKu5}2qw_X-tv>&HpYjDO$fCh0MES!rh)@@lgqh&OFsSs_g7_`UCWQ-Eqc?U(XB z^w_@G(f6_D{iaBfxy1bFgpvfeq8h%P*O612+DQ#|S6NXCRpyPfS2Q=rt33j&N{pvSpMeE1kGJskM+v_YwXe6-+YfPVo~xou zItlRdx20sx$*dE|gOvz=i4JM_+iz3RCrs1yUZn534-Eb7RSTCKzO(W-M{XS>gn%Jt zfR!@+R=clU@_LSsBKy+nb$WD=*J7W^NeJg}Rvr>V+n2C6@1rG^WcSn3K*vl0B>C!z zIF$7+2))qTtLlO%3-^}nI_Ts~!hoV)xw1&0%8<%uka8j*C+jUa{J6LAlt0}3y-3U% zm2_V&x(KPfsNH)fMerySfX&lwl`K@Qb!frb@?zj!3iTQQShk|S{}GzzcU}XS-9l;c zOr6@&d6~d*2yr)j0oDeSC;fa-qu0%!8!aKRc+Y<0w?Kz&D<`Xu?770ar@bk{Nx)(H z2b%88Y^@nb0?>8xlyGa&!phV1MXoOGplU8+S?d+-(s4vQU`sI!v}k)v(kU0!Jt5pS zBa;gl##byAk0iNW)*}|ASWIf78V*nth(l*m^+@M|mxSGaE{S zUc!ZG+uOtvOqd}9W5W_itaT1Y1?%{}|B3%pdwI>RvZ3p0jlgcQ01f_|6ZKzJd=yjM z&ndxf)=1C|%EHSE@S9-X6{8vO3GZ!&d`c-7=n>oEXy3jW=!E7H>?CU6ryR=oVF*>x zgAy3-jHtpS;7Uy*M}Y1nzmI9U=RoDTtF))f)?!-dyd>NqlTO}JlBzLao!?iQ9c_y% zkAJMTe#wTpbQ0IwDbi*W{8g{M&g|9&$cu=cr) zq9}5gVZs%#@@-^zc%0Q=T@PRv?;SGs6Ur9O-!h4cyk;KoMcRip-gNHXLAcFr45Vl<5#&=GT+8* z;f+uF04$EliU#?eL^bq%1=?$+@D2JGdn`CqzTYr$3Yuc*9>ser7@s1C*v|7A5}lG z|7^$}hZlU_2rKY^QKBW(z!h&41)6>+<6+%7t0%B-(fwDoCNJka6Q5uXORSE!X^PX;%j z_|=r!6Kc=CpReRR@+~q`RB{l{<9jDapi@<_G;sC0T4p*O6tO8-JnJx4()w>(6^)_x^8bHB|TC`_BIN`MUmUoiv9J5sXYTE@mJ0hCDt!WsM#ewM$hfSWbzIFfwSnbLp9jChidNFX@|>uG5bnWiQ_M$I zM3E}ZR@}?8Np2J1BhE1qxD)WA?LnSxkp`LxxvQsI%RZ%heeyy@Ekm~EJyf_O^E`3= z+9v8{qH4;6-lN#eh1ctvnCxjbC#AsGtr5(}A^}rf^u`Qi0kO44;tu&^NZMrH%9~cm zOgeLICj}EKnV!jd_YzxhF*9KuuTBjp3^LF7!4V-FqcU}e=9o6PlA!;v_RV966u?+| z|7K+Wq0Vh@-rc<=&L^DzG#e_p?98U1ci5EFy{OmJ8>kRx8-%oW8O(}io z@rKJ`(Kn3VL_P!QIXB9#$g+iw5n%xlIsY&BM&69JiY?du4QQ@2V44KyQUTLHS>7vfAFPrl|E7F(mx?GGD(HZY|3O#!a{a12otp(T6FJt+hp;zW?j_ zRzC^xe`&Y+-*m}}W*Rcqh6CG6iscP6T6r@v?T2y?nd*Jh|>+GqiwrH zC>8JpQ=bjgiqS+fIjmXO*z|jTL0QzTvjOj3Uba~{x7NT*4MAlHslLMtK1~gesC;k8 z7{I+`+fqbKqIKoenGw)-){7jYww%gH#uh&zwr-tLmnLtuoxiqs);)c+pRrc9aQ&v6rZspm!fd` zp-Ypd;_0~$csEQF#aPBD*RYLTJ8(5QW9LoKl2!A?u6G&zt0Zjd2155}U318(chRy# z+BwxGqH*Z~7j(uvKlYZsNiHp zD;A5!g};jV-iFBOKe=r5R8e3@_p&b1W>*vKozaKFa=6{W;airix?7b7#+LaREB4af z_Wci41Vf`Pu5pHMm7ZTxTvyD6b<~Yf#m39@d+!HES-Cwac}(GoDv>_CPiJ%a2*9zp z?)5a<1T9BQEU4&HLfiCwItrc&j(-bq1B=~Wswm#rSF^Dgb7WV zw9GMGZUa3J$ElENO$e(d5Xw6R}7_I5PtWCmZKEM`ILz5Mo%rAZee9c8q z#QmHgwfVy+`(GjOzkW{g6~!%@DLoMZDW!$)NVgrzxILQ)-9F-ptl{#MoEd|XaE)Ez zgdzv{p^Y7HhSZ8*A4xB(IyPvq#y!h7RaFw-?$yfg`;D~#@DeDpntku|d+~_orhctk zG2@;+l5>RVpaWCb2pA9f*j4jn!m#Yu*5R9B2_wF?BFmbe<*Cmr*P6l6MKuLs2f72* z8gu0y-U;6Z$tY+C8SPWm^xwejW_JQvfJ-^F9{v2qJ!_ZVvyx5MJwY93x*mU39jHZz z^5>K8oK}xk{Ay&xaq%~^qw20tQdqu;(kx zy-RalDrN~R+&2jyMpQMXoJjUwJ7G~x-Y^3Z@i{n6rf$$uzjw0Ry@3gaMv`(X*ElQ^ zXQUFo_I0)|x7H{leqp{doWC5ZgR!s31wP(K@4u)o|E$9N^DQqr$C<7XnN%v6@nY)C zl>~^o03c{?+HOp0TR`F`llH}E%y(ucEgnU^gM|2%w~v5sYqi1JOtyvk3%w^ZQnK>f zr1Ug;+LunriobmVIJ}n&!$}$;S*y`)3O(pm_jlVitX%~UW%tssjh@n7FR}M7ZSL2d z1^;4s5ztae*7m3fOtJ)>>s-$P2|yXR>-Hm`nH&Y+yeVfO-c#r`;KR8_mD?)K3FMCR z4PfC@SY;%x2wKT)>xY0a`R804WoLxVi7$0?gdFm2dvLCQ)_F)dPT-fWS~Z&;bf&)# zZ>Cge0+59`DV`8i%&D)|#e zUHYd7?9T@dxaF^8huD)2t1i1XgYJ9u3l@U=d;ynMK7y=@L^dvjdE;?i)wU~g@%Z;( zRx=AU1?#m;h^Ut3dMWj|;Mn?+dr-jY0AoY<*~Ic)`P$L)z#aHVX!gA-NH4wY zgCXzhE0^C<{bg<2&iM9*bvWQRZg?5xxUla2?Hg@-#$x9n*#kCftqpHaWRxmiTzC<@ zn#h8}0bn5yp%rF z#9G)!5ie?PVsCV(ua^Yy<0|&t-8s)YF}d09RNH-bQ}M#mi-feRpZ*a%`@M0n-+lhm z><|b&Y~8l$@%O-6obAjr`#7YG+B+ z6WS@~u!nF9(?5X|pL%oxOEH@ce(>P2H0I}GW|7rzdY+WVGg{az_>J;-#^#r7IrPvVOCn2 z_55zUu}aD3Pt(EuZ#+Sw!6ED@vPq*8!jAPiIxdY^KHgG8VpuI!uU4k-VDPesFOo1@ zox2rcU`*o`>5Qt95~OjEfPKSB7xBVV2RjQk)5d{Ciu0`Ys71jf_{tf^O*2|R z!|)sb$MJ=S)rME~-`G7-iClbVx%$9ppT?@PeY9+S;xl#^M5Kp1cYae+Rb+a247z{E zw(K3ptB{tRHwu!mq5K^|(oUO{ibF-MD=gRhO7G2mgLpSeN4oP@1Dg)1fjJv5b+|7` z2|2H4pUbPPat;vBd0bkV!kaG;U5Ipr47{5mvbU(1f!eZ?gTz9Yohn9Kf$VEQK&6gh zC1RO3S#eAY5{Azbku~`!-X9;jxnsU6&_lXv8b~sG^UP0At9kUj`;D{3YO0I=vQKNl zH0KGfP`C8H)smsZ1G!Q{!JdsIl}Kv5iq9?+RS&Z%L>PC{-CbdI&_t&Ud$F=-&s?Y| zNnDk^b6F}vM6hY*X!|9_dC$7u_h-j@-wf+dv+dmcmuySbuB+Ss`hxq4&`*u^mf@B) z?XCnc_{NbpoCkxI6`Uxq++&@t2k|)yl;FppRY!-b`L=9WZ&x3=x**RoHA*h&95s6+ zB@Vv)dFJ6e=q<(bS?||9o`B}HL^^y_D5 z(FXXZ@XIv9R&+_US1MDv#05sbU1)D>BQn)28X33_)(!4GTg_~cPYprKJ6aSivW~9U zR;xy~OSFW9tW*ujniMg+(l)z}IMkl{90Y|`N4E|^qBWYKY0-H>9D4|DYT`5&NtPE5 zKFmDVYZv2qd2gF0khyd6&dz=CiW*{ZuhDn*0mK~XFdcy=)n;AYKbl`VVL$9Q%&~I@ z{_BBF4l3Lb;am?BCWpM}t-fv}{NB>_;^kGquPEMTRR{5Ykm=UI$U*H~|G^>KPOrU} zevy{{GOrTwV#l$n){&Z>BF9+CfY((Q?GEz7;xV{Y`|Z-AJEpMTRzt(^uLEU;Qr!?EYv4Rz!d~pJ6@fWY0lflEdot~{($SL* zAUos_4h`lK;Zwn($7Y&GaEQ|Rfu&h5Lc^`BMzm;;+F47p4j?J3>TxKLly%}6ga}>4 z#rbFE_m?hndpZ6L#IjZ5TF*IE8=SfHYDf9a?t4K5A!U{zcCx3sV5xpwg8Y01HJJ?r zd*z-Mc!VlR7F<-Ko4i}`KtM^djyy{wSZ;PlhjBvFnkGfHAev5&CLy&h4j zkKmgpKD*HEz{DKn$*1HyOzn$J7D01|3KyyjEW5~z z&IS`&$Rz8ExBDHphu{W2NsRBp&cpKFeA-%5*2CAkib~z4;BRc$l?oDU&K(n<48-w< zVcj7Wbm=`vv|AF!4v?>R)jYnzA*Z-IYf%wM=~&}cGI3z%!Rkw)B<;2$V3w)11Q&V| z03QwnSMycFmS4p0V;(~;u_Sw>yhjdSmOWcPb{hH%e^=ioB+4qSMoPr&Rv0Dy{F8cU)vPMPi<@*T!#zN9*}yb*vIm@E_EFsUd*yYPjUX>xFt-d6S{23)P_Dp z>%ku!?NtTrTsoCXIWeXb;1Eby^zY|wr9m6F*kYflig!PK7Ds>o!GQ<>_h$MStxQsm z{stPA6FxexO7S#TY#c$bJBr9!r+9ZsKz#?Bw108KJbYJIsFeI=O5t@|K)4` z;u@;;7kh;#DxLoWY(YQ%o3>5SOj&?PLz$pfgVHx%8vi8Hn0tXopp8&g*B4}DE?mCx zRDV5|j=-G@n%lc@8!Surl5I-=ccl6M19N|ZWX@S|1iT3Uge|TkQ z!o4Ev_pauzH)6(7WMLiT>sN@nM7yhR?BxyK`$H{cB`PLT)OwKK~aAKy=(~syg9vHm*)>~A@ z7v(R4!?$OR+$qZ9x>akyRWcGt> z#zi-jeK8Q3MyoX`drgOMBdp@=E=QU5#A)FjwW#9rC3jcd+P4xV+cwt1mG4h$W{CVJ!9u_`Ko41_v&swROE~SY#14UE0IJ3gm6XcYF^sSTUpCJ$Q~?{5!{W6wo*M=n-x5a z0FemI5pOr)f@5D^XV?dNTz&%#iGMWS5ynMzdW_{RVD|>flhIE;97r`ommCeNNB~`@ z&lG;$(&H-iEip+=n7-<8cNpi70^}lXg`_zZcz9F8phn+?8skGR$P#`eWV@4|QI#J1UBy1#dGbLNyUW|Z;S7*)AKQ)N3ChjK zN>O}+Ra8V>G$h|{WLHMM*O(jf4`#1TJHPBF(f`}cCYa!& zNud(qY3g}8=D7N(1YfqM$oP3mR=8=?B;&U8t||W?9A<(XNPhX$tia1uTL%0E)|_NK z6L&yKZFLm$Ey#I*m-ob3j+|-^MGnJUQ(OJmxhAbXWI#}pCPz|@N&62DP_V>-n@0%K{SphQ=%_gB*Iv}m3CqAIqQ1DuebtpA`ec-LRQ4yHhn zH}AUN<8xoAKyylPAGot7rn;9DSC*7|)00cC^U8+ZX?8i5?}cN7y>#yvzFS!Hh`nm_5b1Dc2tj+;Nk%Qj<&Uu{J zHHEy&0z?HH7OuqdF6Kc)Ob_rMoy~u6+@U2~gPGKI+zr@IgL91e;7gQ0(Nj^*zcc+e zfd9Xdx_`pDe>aU_*QIDS9}>_6QM>?#Xa&d}te5_&3SypOt>H1Jx&X5n z5YwL`Ia@sD!EXc{z3+_9qrH3I-eo7VA2E&rkStT}(7*fnpUuv4-}RFzu+%)EZT5D9 z!{p`gZ6C_<#wcG;fvat|pVX+q+SpVdx0^I0qJT3WOswCA9RI@iL!fp;y5bUM%P@PJ zesJ^fam~{2CG#aq`t^s3eIKiuvQP=UR3p?#E<>JqUKLf%@Rz}n@ktP3-wga9u_N)t z%TrPwpN#Z4H~|}!y~;l|O~1*GoBIM)(-wgNUI#P0BzUSBi2bY$1ua>gOeKHmNb2m7 z6&b>xfzNUnCOE_$WoMGfUNIXf zDTU8QqjK(tk>}R^-)s<%&6|JO8#V1ZM>{b5gJZkx*MS+o_)IcRqoQr0SL@-}Qx*xS zi5d6|DAH@sBHWUdr^mnI>ID&a1{&xnJ?Um;hG()V8cWqaOa<_OQv>Z4F7XG4=&%D8 zTuMvwag-RUzWK34SNY9e3pNc!DVWotpu^Zf-hk*sZFY625DXtv)RE52iBwHG^RZC_$J;lWPY|h3__+bPwI^RKUFZwj8eZ zQ0?of@Ho-^6*@zr=2s;QoRSs4j02e+&&u5dfVlO9Co9!s$PKCG%kkYzDz2OB=IWrx zCN;i>f^SYy!MPn~O7x0HLiSC3a@Dp&^OUbqCnm*Aw=CuTwYf%vtxjKV`45)FVkC+n))b zaFcM&7TH(PyN1+aGwmP6O7bcKJA0XsP4r_4)mo=b@Gf?j2p_o{txq{~YBo*n(H%&4 zcg-u{n#r9bIA8;c3X6JOYzlinL<7uAsVHE`gT9f@VU$DUZumZDROq=COC9o;j<#%w zate?LY5VZWUP5&dxtgEt?9!kDmFkwq$orM z1*y`cCn5p@LPQ0mMnt4UM0yK}ibxTNfbRNMPF;4>NGP(Otf4ek#Hi??G#-5mI$ml5!6%0hd*i)MKf#y_+iZEbqalYy=b3jEegmT?ar3c@#psXw7cr$;W0RT?9Ke-T2e`5e$$=*a1#~S`rvSke z&v$*4elwmXyvIAD09?9X&_e9v8ANvB74ojn#w${y9hgnbzTH0zKX`LdVa)n-ktWV5_4F?g<@ejH3q7E(wX3{tUHD8 zcA;vp-KUO1A$i(@jxM(xXT59N_MG=P+D;JmGONJjXY}1lV?Ug6v6Sdyb+(iP(QvjU zWU7!kpOqJsb71EdE+$^>8~Hgu>(K6K@x>mN0fgDWr_6`P@B96K z>3CMr!48o4!@hC~yjKR$+h;9XYy$&IcSlzv*>C${!2HmI#rt^(Q;?0O^Fca}UcP(I z2kjI}c5>Q5pScs$`tBE?Rhcx#g&Vk-X%Um>ZyWgn5MHDs?+lfwPHQtOF_B|4LvYK? z+E+ol8|cBd;y?vtkmK^#n;{-4NH178kpQ6rS+)S5`4WJs^n!0Jokw*+WVY%L(TLB> zT!rg$mpK>#5z`-J(!Yf_{-uxm->}F3@}3a;Z76M#rg!~6Q%&eL0jb*`XeH!#@4v_2 z5z9l)Cb?;movcNYl|8b@M4$V}o>oxw%imc-8EsK59{H&CVx{5X{y78>J50kccehG&}p7N@1l~c$KZUApsU>CQo{>p^;@D z3;RnLZv*Dz-tCcnK%?>gShnZ(Wqc4qgxoN_9{6Tb*}~o-&36AmqUlb8dz`4qXzBF0 zj;!>u@Sk^{6!@jb=f2@yPfDzHEm8_28K?0Byr7o{*X@^Ux>6L69H@}v?o?i#u!G zNZF_2j%#Wm>ko_cp0b6npWJ=%L;Y(LG8EYe;g%BfAMr9=kg)^DA<P4}FNv`1XU5nsYw?VMeg z1{1ovmjse=>JX;?au@xhJ8VkPjeuU!63aJ~*>~yw-tt7H&OU1a0v_mx$9ClTq_<^` zU;Z#{P*t&zvb@g(Z%1&Zn7V&@65cd2*;%!DJ~3z}3DCrJdr^fNItrZZ%&j3vQ!i00 zCFHWH{zw|*~dy%&6~Vxx_ZGN!>9hPue4_3kEIli zyMp4tc~@%x_g&QKGJSowo;{g-zQu(l4&)&Lnh^o?s~TmD(*DR>*LF+%B0i3uVxd(BFwKOW_K8+XCc(;lrT zon?;f+p%FLw%>{P%F+8Y&)wY}Yy?)#5i zUw3t>R3|5uRg_f*X~P9OI2V2ZDoj;vvwEBCl!9A;&G_5DUxG+zSbV%4Yjuk2XnXq` zI&KaAuU~DLzsW~tWLWPw+H&Q#yGC{gRfpxP0<>EU!tFp6NQ!goQ@qN7mpbeCalnD&e;- zGmsA%zE*^gBeFKq#Be;<4;_bkHGFm~-)yq<3qgdq06NB7(zv!a_cSvd+2H#i<|T18 zuzp3HuVb@=|De-@a)NHR=(!I%$wxXR+d-*k|e9$1jT)YQU@;+ojuj%8iS z4mz1~)|8c_?}3PDZ^P3=TrlwmpbphBgby8!U$%;meIwt@I`e8fQP(`<|l%J9SEc? zYoUQK7~X=b++W%3bxR6fE}L9*x5u$8>I%R_jz=lbR5E4)H|-{Y9Ev`9?>Or7M-T)1 zSyP@+VwZYRV`W^)R!Tf54D#a-0&)~JBLJIzF(L}^H{38T0zxSGDFTb*Kq{`E!^|YW znvR2>8IstUP}}91CmWEu1`}+En@c3%+p8? zeDc@R3{!%h4nL?Vb4?u`JHy^T;Pf52hOmuW&X}_cu~$yi59kBSy2zzDVAFb35nW%F znOsx(#9T))U*Amq)s^I2wr2pcfA=pXQiZoyy}XS7g_?GxUbAd0_!4QQVVP{8t7-vb zK3(uDGtWOuM?ycWQc*6q+G2`b?DeEwpK>dQ@LMnJ6Yvb$$rLDoDE2AKqvqo~aKM;Y zI8_OHAku@wl(^or@-g!!F#E;oXIIWZn}U1hXF*jKYc;hg8`9HM6&7Fo>Ae&RcFT%6 zKTFF<=a9U$AZ6fRM*y*rMJ)^Q)9|VX((Ew#l;& zVAIRki>s54EH6QRkP0ae7M|=UUIhfNyQVb;+w(1cSpr%^{d?fwbVQvU0AKj3^iSD0 z$$#q~MBiM^0<@HXNIlzq^J(J_fd4`lj_!`#F(LuDF2R_jBeM{74+(zZh1wF_F(SI7 z#xov8ZM3HNi1kXKU)KLkuSpSJ2f>j#OPu7;$+3ZhDi>)NODH34Xyjfbs0zkvEpaK$EQHuv!s(Z9R=d4A zdCA2q;mkCD;I{GYn^N+KIz!L*GcVQqq^B@v*ZIgDq@{zI8!^XPr%jo@FUDFn7DP9V zR=p1GzJ1C1%G6A)JU&xp2F65j?LoK^cQwkYisPV$#e1n0pW0M-Z=U|)=t%GM{z!{0 z`GM(;Z@o^iqiC7PDo8}={+g+OQ08+sIpdL^$gVDJe7Fs+vF1Q_A<~n-4svRADB{sEq~`N+_1B`j#lig zFnEr=c6|o`3RoX_fbzF=0XG2@_#aL!f1ZLQG|uzcSU$^q8_EBcZb=(l{i!9E+C=Sj z*HUW_`&su=Xe==RGk~MIG(^v&_@yo>!Boe0ZZ#S_nQ3p23lK$KBY!czV<=Sxju|6BIe<{x>RNEu;(U%vw*PU8K!IzdQoj=Yu#D=P^a72$T zR=7j_*_bJOiAuzIt`5vdl389`B4jxgf%L%IBv<==zRN_mDTnX_+3Uem=Lh5CQM{c} zlL3`%6X*B%3Z2G3Zc*?+en^$l-3DEBM?rbWw70I0#d1hQc$Pb~VL#7ktyKmyqg+t5 z9MO#8nid1ISD*JzQSRsBWM2!A1v-b(yc=n&lBXdT^i*eo6-=yLuHfAGO|go^DpmKg z9lu5tBgyR)?wwcYT#)A)EE@Ga+d_w&mezjHGp#xj-Cal{0k8#x*8u7-0E^6>I?ymC z4LP*moaozy#Vkqbn_+Tofp!z+`n_U7w;0nactc1_WMgqr!VZaxinO0m8d;lUPoLm_~_ zc^>=?Kq-ufq`hq}iJgbLODJI%6u4#Z#TY1{>G6J(T2_y7r;%6`Dr&;Z4_zxqhSY&A zBdReYBgrqk6Hi>yt>Fv*Tsvi1lik4Eixfw=hQ5|IL=_<9e@SF9UcT;i0j)3x4r;Ma z;uadNrYADggU@ZOm#A_Lrk8_X{8an`SyBBlGf?OiWKe}?*fA60%#%0CrvXUWDj?zC z0iCnlv#N@CJP#}}ke9fv=&fzf{Y29#=m#*sjpy6)Y-`Lk30keYFQ0ee+S`P^jl9lHN4H-d5XPe6b1?r)X{+_`nm{JO- zaWQ>lVKwb_LfBJ5 zba#IhknM*W89^Jk<&W|YTESbHuNw%&>_XgW5etK^w>=TpCIH@&I7J{yeevmmqATD> z0>pk;?yl6{bHry=&BDACLzs`cqs<~-Q*;pzU4|3Zl-`1_(Kz=FzAo~d?{+rLwRyz_ zII%?*BGxevq4a=*TCsr{>y3sUM620h@JA#N{ITjb4iw4%BqLZwsha&^NliOkSm)Ny z@8{IZrDrR<8hkF`M!@XxqdICm?gQrNp8HxI^X7=QAG(dIX`QYq8wi>CU2=-)%fS4&YdA@Mu%PhQC*Yi=C;fl`~ z*EZ38|Ed4xqln*h(n}$gvi?sDK7mx(0Q&Q-ZYfuBQV06)%x&PO1YVC6f5rVP(`KPC%PB~pX*0T@NUGYNd_2C2D z{qENgb#fAUyZ!brm2yLT-CR^?t*Z;D)7#$chDG>Sy#2y)f@2bindAKjXj+Y|L@*stzU_XqZmlwtON9pH9s zcZ@c=0!v4?vK8{>0-s}ivLFW{o=m|`I~~`4uFFX@Tmoh3Vg{=(GgJg)p*SImw5))Q zQK~m*8ZhktDo$C&fj`1t7&oSG|KnxY+|o!VtI}BZ1vua}ZIB3uuqZ0+XvJyihq;Bx zsJ?h0N;nB}_X#>MxF`wI3_^ME#RS_D-|r>_VL$W`7&T$*Qd)Z_AcHl?YRT#K0B5_4 zgI?NdkI#l{a@_7U;GlbfM%nI+dijec8?L4rTD%TQJ%?g3vtrawCw~6$A`k1bX(ehX zd%)48qyb!~efsWy86^5g0McJS_fO!;f0JPr_7u5;DAVwpjx8sW@YGye|HucAhw}Fs zuD&=1`W~WQ<5j}e5meWQ)$aY47c&_-=aL^0fl$o7PBqNSq-2p88ekX65-K)Xi|36S zKpMQ--JvVX8~E#1868gIf%W5Q5nb1$+E~d3%ZWKOvj`9VUGvX0P53NsSVKIG{1LjY z{Tgx|$kS^VALG{H`1#cRi7V#zG911M@&1X>&V4L`4a!z^dNgaKz~8<)JTeIhoiRI2 zjdekBP8!=Hh5Mp(3Icrm60h#OhYaa+nuN@6W4lGpsPs}~(u@}>70=k)*e0>Ck5+8+ zSF9Ut8BD&|V?2Ao4ywOj14K#ik|u5tC}uVagN1=3LiPsZd$>c{$SO$i@2^CEZtp#j zR?@`ZFNk_rZC7wt!dqj7p+fO=OoytR#_-kKVO4UIoa6*Wg$$NcCw8XT{5?G@cDQSx zGf!*jh;2jlF5~wvR#$PFj(t&^=Z7?oQ*m7L2$}S8cf4s-V=O?zPQE*I58@ngkO>(! z%jl2D_8t=$PbHF^mrM_&4 zG-$*!0^L4~%sVwWJU#ic#-2fO4-i%ZNX&xGx#29JvWro5=gCntChoVE2nFkl zXEfE>T)*V~*6@v^H#>iCb+|D#6#@Nr&lz>{>6I!ZxG%rRV&Iw_{n9XKC2%gc>5270 zd31SO2^OWY=Zj+krliYUmUjF2)a@uLEq@5^_*3*Zz_(n`bN8G$#}nH{7?9 z@QVtAw(k!;-*{C-zSuZu3L_FIQ6rS9r+f3jdQ}t|p7FD?1uY6GEn!d?IcNOitcOCt zUaH*o_w5t4U&_kLir*koS9sZt8Sw;J)w)1C=v8M&f02RKtzoPSjyM zO7yo7(QV7CEWbs0P6E`l*ZIX{mMI@U=V=`i>IFxX;6@6TJm2K^GWhkY)wtm0 z4bnOd+kv zfx7?%l4pPY0QB*dk>RDcooUfj7E~5RFcrx}atkmqaSz+7<8eHf(CE$bCYwS9Vn(Do zAX=Y(^sV+DTQ7cw$y!2j)!c2(FgCGN7rUN{n)2(PRf22MjCsR*6#;f92;O8r-;Uep zwU3`4at6K4D-0AGPWqUksaQ-1+fcCS`%}!w>;Fy6$dQia+6#bO^23B`A>!GCc-j5L znW4GrjxE3s#+`8l&T#NLp6Nbap#?Q{DPzoG2|gxxDd674jm~jieGBqgd}zqen@^B~ zVv+DwF?>ZUjDZtunX-mv#@F(7WiGbD)71vUen1eztvo-}v3W@!=D-#|D9% zpX{A4ZX`qK&ROD-igHPj;V%qKgimMe|ujMgLHslUY^66nGD$S^I`2p4vcmN zQsxU-64X63*G5rBAh-U{9U|4Aq?jz6<<4dt1LZ0Uhc;a55IT16cyuBieV8`V%^jvs zUO&)>Ctf2#-&4H!8?Z+gb_<7W-gkBiWv!={J;zGrir%U!A7N6ksPTCEN-|--<7bos zDiUvXUC;#YR;a$R{toeUWV^_4B6O$CAEUvb;WD@`DH{HrRk{{s$hP9;YJ&Ik_ zyoQAO@cOE*_vw>S4+|>yETWs~PEUM2>qfvm71|d5#QMlNUa;z?l2^8=v~D5HbpQJ{UyA%yt$&PG6N>`Aw((tJ6dul;EVUAri2%E>d#l z>H4cNjk76^`M`|>GAc6TPPLVppc}-f4g`3Eog$FmdFZhl<}_$oN~(XMT3y83D?UII zTUFmMT99O`*=Hm@{G0AGaR_Z)(vy4G6swU;1@MCZ5>4@sj%O56b~~8U<5QN&!&fLA zR$DiszOzGYh`EV6Mj|8(`OIZxbS~9)bTw9WHBZ9wqblf81}OIp=yaajqD|*%iI)Leek?+dFs?SK(d)c5snpS) zefIvT(=rO5Q-tquDux|*)|-M9tNS9vXC@g`rZAi~i{EUxf|50I(}d4MuY5Eez0Y^z z%1r<1nRanoUrxO!mCLG@I!yLSn;3tbE$)5d)oPnOFt4@HNl2Byt?R)PR~i_al?y#Z z22ufOih*DdadLhor^$(|N<$r=hFj#4dP|)g}b< z!M%|#()><3(O_jXvrEd1r7tJWWbk?5-S_Lqt1~f|Kc5BmfbZrr*-{P+knK1oiX<`Y zfM8XxeUbSjIs3aquuku~Ht3~m2!1|-Z+Lg(?Gz?XcAoPD@d>ZylhL@xk>5szR#C7Y zl^6Oi8%M;^N+8a;qF-xE0yl=snj}6xUa{>!v>aSRXoVBXzOOTq>!<7zX}z3jy5091 zUcL452prnMW(aMcWpmU2@^W{1sTdWowPow1dK;*BT)6(%<<37UkN%S|5cU^A1D!|0 zpWXuc{qHj_qi1hK&ywBr!VgM|Fh3<>GPIvrXr|>bl;@K89)M8bu}O%RG?>r!Fr>=d z86^-~&AMaoz+J^4`~Xj;BtwC;ixzmSIhD_Q?s2+uu=gx<)9R48=6&;Dvb3f9gPq*4 zT{Vj3asQ~q{NUA70E)Rs>=G-vM{#FE4%iy+j(*I z;7jO+SnGiA@T~m4TiYus!>Il3&FEo8OZ#sPQ)s}$WM^_yaj9z*IxG?ike!?_Uc5bG z8LxlarjWzH7QN)%^;mx)x%Q*Du7(I&nePvS2$lcao{Rr-EYY5af+C_nRJSo+{aBJE zs`kTpSG?@NaYJ^?B(a69CAg)hpUl8xXYC(NO~A zUYq{>ta46xZH4U#Q)>8kwoQXzfH%1++H8?RJ~6Z`v*s$?1Qc2BM=l_GFYiC|WHn(d z`v4Y0yiQb7Z;BF0v3~LK{;=i^1&*oCr~3*Rz+Ga|{un}(h*0-%3)?sCt|+F}swWf!5i_6B-!XdYFdb_iIwI<0@#IP_zvg>c<4bJ!eE{atyrjsk}(*iNT@aggMX&zrk8%uORhCVT48JfzJL{?KD0^mUzB5C~VLZxLDrB#RA0PRC= zfZv?ZK!b(#pg|g6=Qo#Wi0@b;pnXeu_#a4$yrVT;ayb>&0_N$J;f3zR_z_h$FCSnk zA&U6ZG+|OyAV{`ONxS>-*9ou37ZG3>1a68WAXUpkMrc*nrzi1YV5Bg}Ftqx)%6b;Y5 zpJRnde3493&;kLi88sVSrX z+;$)2=ZSfTl%;i{I1#2Zs1LPVpIVS?q}-MfY;jXnNblOutvBs)WJ{%6k}W0%A1Ov? zfCKRf7_O-IwY+3>M%}bmRj&Ti94T4R^BYe^2-@q4oBTfwJD&&!(aFhSt030)!=p1@ z?`dL7kjpqL#@9``6s^nfZ0pLNm>kO1Ovi_o-80*YAx{0zm>8z5zGDK|A*@|3%p>$h z1p^3eyVrxUmLZWLrCbQHwg`#f)vHPePOTkCr$CrqCN<@gjnV$5l5p|p{LtPAt}=YC zWOb8P-IYNxy}aoTH44NBB>tRzOr2ppvX5__%;y_iKajWSZd8tBRMFM==y5(^)D@Xt zg8?F-$SqbRR3pzd5<|eMJ>rzdF`En<8>ZphS&&D}4l|XpXhCSci>!MXby|nLNcMS1 zjW1C;zuaKPUk-0|&VBO$_q;NEy_%6p!Y}LC{HP*6K<$=unresXa7JHVVrBd-t%!Om zhC**Ooob(ns?%`6tjtu1NQppJjXn0>ovqmVegbC&-*nn}L5;4xN)hrgCTA0J^_84j zCWOn`Wp;1fy!S+RL-lpu5pef{de7TLBAy8%fLer3K`F67GANLPxIPGHDQfLs*IeqL?n(3X4WS}Hb2XFo9? z=&OAHN5$yhdv2bhF})0BSzNV&vlP+o=Kg=RufoI^-XsF9Lf-#*20mE(e!C*!-|(DsJZ$<*Kz6VfejS63#F}W@3L&{ zd0Yu#RMNOAfE6Rk1kT3)rmI)TJs*{CX(3kkrbe%bq5|Zid*7`h$_^d+l>Daq=p7Qs zHuFfa2N)|=jPL)|4Fv#1OztxTNC#gbmAQeoTX%px&A>{@jQ(#rk_b72&-?sB+02}J z6`+O1GRW@2&6jo}a74a07E%dvd!y@rEiK)Ed^)FKw1~fgD5&;_R{8S&rc=h6NvPQ;xNG`SyS?s||d0J^C}N~|52e@Rw{G0N+X(_-U?Dn-*|jv+zFZW&2r52RSe z7xyywh8l{A>=15DQb^jlc&ieR*7TLO0Q>mu7gB4C+r*t%|2=|s2x#sl4ZmU?z6d|UJ!-0!k+>@*(0 zCEC7`nI1mLgs=knIdh+%O&wSny8U`aIF;^bKI)6a>hqNNc_oNgvp_|Td_)Rc)jEFN zQ!I3oEzI%B`U{-o{H-3c8}0P{6JJNw{V5`)1DGWDwjx2$LtZ{K%5xvSlQk$@3>oet zaBpvZyV_%a?cq3=hJ^qyn;d;kmuImPN=Go0>Nu!NiHxj0njiYC)O1t&Vfu?Mj+fAn{mZ#!b z!)|#D-9K8H*__~^i;=E)6}z1AdRO{=(AafvoKDLaim1cPJYfwfM8EIdlBgbh*G%#$ znT^z=h+kAub8@}* z%JDvXW}31s2{UXbJ|&_G#I0xDhX|MhTp563*Htt<8DNZuR)FGP7(~+AZMKN&n|MAfZ^2fqxQlE*j6z=x{^- z0;F*wW5@*(mdi)ZkrOB9?8poaMOwV>*-zV}*pC$(S5n4J4iYCObApV0;8T4JYwzu_ z({YbUMC6Cfk>7N$wv=hRvI~re-*lN29dZiEbwitVy5mFa%Y=kNoea3I(l1Q1Ludb9 z%^8Cfch(&j;@tbzEOJS6MdrMN8pFzu$+g56;MF?XDx$wAmYmTV)c~E31hU1f#v6Qz z9-exVv5C8yZw6sInS2;tS`e_=^Cw@G|H>%vKc@LebTc&hp*=%)6 z?A-(t5gO$sj2fwoeMU`oImYYR0=nuQ(B_3NRKM(?R&Xzgh3-(3!c9kC0@A2tva4d z{TsbTCtpBXnAf^~fgh6t39rGIY&{VGk)kqGjhmkJ5^7QlzrnWh#2_M|_11vtnD9X^ zXv(p_?oni}t$P`T4+#eN6-|HUS4^VOot4}&1Xo|T549S?@w>d9NO;$xS*RJD5L11G zXM2D*L@SXnhTH|uzLBJnu;5w{i!WMA=%6Np<`v(U@hGg?)@Gh&Ez=9}yD_j$J+PaqRxBkOQv$Hf4%k4o zB;m((cB7JFyhTtsN@`~8{e21?2zoZ`a}2&n8Cc!p5bk{~^ALwo>2ZMt>^PJSZz;G| zeThHuOiywJ2ei_Ispy$WcEm_(b8`>wU9B>De@+fU6zhy?0H)jY$Yap-OQ$?J4R$jo zg^{R+*lll!aj&#)0(ecXYgYx)u#^$Hr(gcG#&(D)b$JsYg8|o zdx7iau;|0d2MTSwk}E#wF6r@WeAc|dcfS$oIOx1@_8at>=R0TS8R_2NTGai(_VqA2 z+Bx?B1=_&UcHwbzcl-N$4)1d$PVTbJ$(Pkr!AmN)qvT5X$tTA!ehy}7sty(sOR~PU zJr%*P6a|H}O^6ZX$2lI+UgbwUgBxkas9aYg{)S-w2cfUUo=*I%e%o-8`2gr;acyY| z`7kz=Yd)HL2!x}}XGH0Ks=Px-f3$+?)WD_g&)c*m`{k@~*2WJA&&<#-17%gu?aaHW zCO7gzTI)27?vqYAqu9w@Y8AbfGLdp^0>^>?2Nm@J6su{59|e^PSFl@y4&|XQnNWgI z!}berkR{`IW&-HQBG<&?G^}8p$L;IhQ=sguVeWs1|FE${w)bKXYT1J=>|X}y18h)H zfDOt-2qcoXA?)Pysy>f`CKjirHLgd2R&aXzxAsqOjh|_fhxniK4m2&Y5Md?G5Z9EN zT%Q#Mx>&Bvu5}en&W??QNJt{E>ca`#04i882>fII*JeQ;86gP1-I)Wo`^Uwm8gA*F zedo!7CYVj65Oc+jyO$^`+w2$@UZfq_42i?16Cu$n$dWNUn%vb8C9gC^vhv%!q&7OI z2Xfwh1F1y$Bb6j!3L!~~BI=*M=3yGE_OQ}a7sVx_bJ}WBncjY4ovIU(gT##ukRmx< zJnv4tj;<`r+))a4j#%r)p3c|1vKBLbnBBetd=%S%sc&Eq>^@4nPLuAH7OyY+VoW>2 z-?7gE#0qGU%tmi}dIPG(NJn`qD)A(sUWL~aWO3hq!rhB$b8qH^cD3^&t#Wnsqz*zo z%+Oiw@)#+aB^@@BfH= zEmn*^N>3mb67)1&&J3tNV;ZXCXBZ>YKvjvfsIPa;`v@b(>vFTBOQV$h3$} zX_t=a-*je^bKY|xolD;i24VXeYyAM~_s@c?*yfQ+B;{T^wTNfKwN)HHx9=%hEqO9` z^;S5P|9F_X)b+yBsMx0Ir@AzuLw~s`w%v@aM`r=pU%Jn%6^T89?mpgz_(%6xhSB=qxe6>j*~FR)g>l3I8w^g!kl7Ci7T0ayVCMSRCt>0Su0^cQ88+uM zEzo9EM8-^29S6qr@ZUt7{m*0E%#y@Q2=OJ(HJNQulWA`r-2QnI3&u+05=vk;Rvjf^FrQ3m&NfM|9>tDIGHn=;l^_Du6i_}h`0vHc;#-s$( z1oa<$d@7m5y%{=UI05jmYE436?2pmJZ~8%ecyCBMRnyPM<3m!1d?>UOODfn8S4G$n zcXz&2z@wdUJZkAOS5<#$y-(c@W#HHaI@fr~r4iG-c$ZIc<;evn`6R1+(dNHy6C8YC z+L2bW2veCyUrHwqu#cyT*4Ue82lOsKkQvT>40LcrI!-s@DH=)cMs+2Sb7n1;uW?OR zXVJ--v*`R|_)aqkYKnyyW(D-IRQnrD(^aHFtw{^jC*apU-yP5VTSZ6Mn$%(&=eCuCczPxr zx6n|7vgc41ga^qW2;23smenR~J)C#-?7MW{^jWh<(!iB&1vJ;O{Y2Et!ma@fKm%FV zF^{Uhtizo{qgjEB085A@$nsES9=Na2P|Mz}$p1`glKE+iC0+Af=9nLAD~|2ntvAXR zQX1BBB1{m})GF_Yg-S|G;EZf{I&n`4V!=>d7GGo8*JIc7rFc~a+ABQMw^e1mDw4!; zp8$l)3^54;a;V-ztI}zHnH#hGuJwTe>G%K4xzu;f{$^x7C;^+O9hw1s;`#0s+k<_7 zxD_*KKrvvqYEEyA%o`25@NX2a-e__g8-L(X{;peao>S2Ut02{^87yjRyWx3#9tcQv zieodZXAi_Dtr+cwxFoz(yZ-`i{Q4cQEFY@4A)JyO^zx-bbeOj`!fJYQq;qYwsnXyB zO^nR^gm?u1>)hh5TawX;q48Q{XX>ic`efjNz&SNlq;9mL<8-e zKE*RB)={-$q>%iN#@<3Y4}1O9)Z?zoo{r((OCt*%=&AxJ*rhQtvspKma%#pKELJS? z@oRRaJM)SAPc2Q=JlK|hkyrG&2Dn~h^k&D!7P+J4w{5&e8>!lrRV9V~T^@j-da1Kc zeGcAPVjobcmvw7VTzaL39u%fXQ^d59aydoO$VG?t7IJ~#pF9tk z0MCP_uDI0knxc@qxXy|l-eUm0vDn~*kYK|gjgQrPpSm!g?VAA!;1T(S&>&9kXUKmz zGX#=Fsxv`O<19#OQYc>I0(U+$j+Rd5%F>gR4$pyywY^*8+KM%IN90=UmQI0G`jKpP z)Nr$?gA%LPy#uK4aElnP2Qgljfa!rsdhu((^x)DTrUx_HBn)7BAT0Cg@}Eo(5}Bv8U8ak2qz$Y)yNY^f zH~I^TGmsujH`1_-qVZ7 zrZ*XH9wfy4rh5_cgoe@F<`P0*it1@pkIb>(!>U;rGoKFZRS$aVK50svtzS$OF7>$Z zhVT2P_%fz)W>Rh!tKa8hr|`6lUEUc;LTh>GeR7F;FcsIA63*5DF9?X;&R7|UFKdJ`QLOTWQzP?!FSn9Q? z7=pWY&Vp;q(a(~!5f@m)2HVm@C}X>pQuQa{*Ah9Y=hO?>mYx-H$@+Re+H*0>TuKS> zRb4AI0>HgsU~c+bvzx#7SZIW)X8tjj_sn;1T7P9ehj-3iKe~JhyYMxR)A(#cl#(uP z7*g+rG~Dh0859k!9CAGcsLD&Z;3O-KH(CFLX(0Ep1eiK|uLHx2q{wlQvMZUF_zX$M;dU;;HkM zfx!Kztl7sC4T{-lIgx!Q3#1z+>U6})88TBr@(=S2_>js0r zzCb3I7jc>OF+bw&qXaqJn#&N_xEuih`T3*=CX4EuZfE z8CNCtM3l)L4w5;dZozn7G9du8BelX9XQaEdTiR^^yW6FBe8kt zOtl^3yUojP*e>__$^>ikcuNt{LKf7pLr}pOW9)HKPy+@N2(`^z~0+&vvxc2NTF%LVo&prOGXz4=SRLH&X#ke@k z>*jTrr8g5-s5xL3Yp$lXu%b!ZfONT#jkWqtfWQ5c8_{au6Y?Q%I`+V6>RZ!+vU0kS zP3_H1iUM~*Md^!|5nM_`*Q8{R)XCb7VeiT|Az}`|WQF_0j5^3^>%qt$*&gY2F3zXX z6J2f`VUK>(O|;ro11LQG*IYFDMq?NmHnZCZ@vZa_N?nj|YK-i0{di{RhD#8t@T}Im zMDBQEYrUCu0dgLsPm4qi*UG=9rR1*riu6EYq@$Yv2VVlSTCOvs4!ZsI>^c% zhW}c@*(hEjF4vnKE8RdqUSvt0Rcgd2ZlJ2?%ksbPe+}lk3jOav7@!lxP*1v_88jp&Rhz+cI zIe@&5959LpokrPpokF}IZ2=w*ClRqOgAqHuzRCHO9)<&xAZNB`GN@v2q3uVzgxhIZ z4_;M^J?orLDU3p8s!n-pNE7j^P6S8*=In`gKoxj_tSQD$rhgnUMLMQMS6NXa+x}?p z4x6CoGbZsRRYaaebPKDsIpJ5t+K#^M=i|!j zSy}+0m2C{Q%ZzyijV)!lJLR!{W%|@hJ+oi2)C**{EK@iSJ#i-sA@1N}ZqFA(+f+M+ z?SOET!@pySc|KVYFYVY8gGw**T&*k%H|tl6e|4=a|D!T*mYbgFuNnGymXPgTu}?_B z5sEO$>KzhjmanQjhOz*t-Kxd-@l4-4CmxSxOvz!tG^JbF0upTDUiGM!8jZ5C^CBb`q>oRypCO3kR+^3*-NiFnqHIrI z>N#SUcS^1WWnoY)Q0`Olp0;B`Rvm};JE(nb{M>vi z^XR(;hNG$2-i3z9(@N;H_l1WpUfus42{~FakdU^5)c$o-9yIN87Q$-+P9u&s;48cy z?&zTAV}AYziNlkTtu^4gZceWLsTjTgaD2d=bRTW_Rr?M#-&k|*_GAa>=6)Z6?2BDI z{|9&D54#7-EOa_>$0+1!a-!sgg+g8zeL5d97htAPa2;wQVgM4sk9ESbfMw#eHd5f1 z)Fj9qu3I06F8qP|XkG+ND6=S|l|S(`)E1un0yP?NW+5QN!KBFhjDY!8l7c#Q!x5L} zu;EVM7%Le=k;}Ts?Ybr|zSAOzx~#jM;{qb|JvJq5A7B=E2CKmWlYM_!KA5=oHOn7i zA^Sl$KRZCbVn6GB zdu1Gx=;y7fZ0};{!4cd0Bv!H~)Q7qK$@a>P*h=}na$v>y2V%5;9dfa17ML6q~I8SU-g| zvh=(pVidfv35+_*-Ch^F(%qrLN=0+@+R%ZFeG(PkEfhpzc(>*4=KK?9Sqa$~6z~57 zgWcTCJ1$BwpJHb*#g006zhTn4!qYLpTre|IUW@auU;KoYLd7668l-n*-IWm@j_;nj^ro6b?HKKY>^^FWk9T&A*a?SCu~rnRPR94 zQ~m%%;0A0rYYa_QlFkA{{ z>C73F^2#@k47Kdqg%UA~L5MZ3)O=}uo)qd>E&J#Jc8iuf|0q03%u37`pwOxeS^sOE zOK`!;FXo>cj(KspST4m5#-yms+e+r#*M1G`T9qU#&uT@RKrEMHdMbi zexn=`^yO8`tjwv4^ju42v!(RlM8vqe@Zy1L4WGUCEJ8^Q(UKP=@K7F4xhCJEc> zdC|aa`dz4b9oGvM9Bsk34e#GG16&?ow@`Trxs3@3pe>N9EL7L!vcs}2OUpQ+up+k3 zI}A)9yCKB?*I4S|@B1fs>c7wFk-iaUZ8b{7K8CHgzJhE>U>1!g>BFt+bB}mie4#nX z<)L;$ym4nmqYid&&j2%2*H&KkRIdl>tfFFV=^kY`7||}>c^v>$@w6}Av!=4PXKJi~ zYsnJ_)RTRn6MygKXPcRj!;89nB2##iX{3bj(O6g7nm2nkYCG5kZ~(naMnO01;;6TO zv2f6)*5(&SCl_qdZxNy+rdb2q$2(SsevA*C+eBvrZQ@+Sj-~$7K+L05APwh0bRuVy zBQ!u`7XRc*PU!eafiyONC&QKm z2sj=d`KMn_$QvX#KSl26F3c>G>Q?LuDwnH5htF9?QyB(pjRtAb9n( zfR73JQj;MTP~YEl7t_#9EbfoBss>gqp0+!Vsww`MIrx@GC#Zg>V#GUpR?-B^6719X z{H9Ucy@X#;81+Tm^1c|e!-+G3S(h)KVd-$)OS^7sH+JGJr;QM3unCu!X%Mn$hF9Nm%@ z%ERu$&iSKg4y}@7%@Wg&Im>Swc;BmfQOn-0(zx#^id!V9Pm@Igt_^Zr9KVp5D)?4z zd);tE-OpKxF)ze7eRN2glB?7*oOC~^Pi7)a`|WF|@emE{ho%|AQr1R^z((fe0j>jZ zS35Lc_@X1lEhAh0#L2O+Z(@Yo}ucG2 zsyV+JlI`!58N-G6SpGli-aD+xbzS#G9g0##K{`=T5hEZ9QUoF@T|htxJt`ngdT)t} zfS?cs0jW_CLyz=Mq(*x0HS|sb1VRXLe~dZT++(ga=9>GQwf0=+{EmI`iZ-5Ys_y6S=vrEmA?aG z8$h1`djaC=NKXxyQA1sz6CQI(K1R>r<~p2s0Pf4k6|s^WD<_`uytGi-{QQv%8&*oS zjS5g5GHsq%qwk*2e|i3$m-4YK($~IgqEec&&z;lG)L$QIsXyP}0v_IRotrI5j_fdS z@KE&bui+eDOpkndwB1(y@rMjmGfKt}i0&Sg`*M87eVSQG0XVXe1rZbItsIa74qEIm z>zkdKE1xrH#tZvYg2b05=m(`R<5J&#fJd$(; z_TxyGKNPC$XAEQQs;lwLsl;|I*3A*Vt`|Q6me30Ce>P4(dFQb~h|)5%TSeTf0O`!R z^dh6bDkWqfZ>0LWjiB}VS>^W1QuFthnlyT#@?JCeymWMnQ^4)a8#0T(Qz+zUcY&VK z>(FWXP?`QU<}t?pVK)gHH2^VbuqFw8zj;z=l3AL5cD-iawdyy+qS3HQz}Os;SeLw)I?0s0_Bl#TR&I$=EM0H~^A0J7IjmooagvGGEp?V|Hny z?ibxvog!Q42GiS?u-k$BE~;~yBhT33SF+x=s?wC&--Ilw2ey$~z>PJdM4|csvj*oW zi&@`#fyy`*2+v?|jfh>r2Z3zIOWE7kuyQnolhg=v#q(d_Ce5|K=zM=CP+aiW8Hd|s z>KdDPm4CIbmkS(o2dxK%P#ZyIuNqWW9b#L)2atu=>0p!@1+$PI#7Zdh;x#Hd&dGK#6gS^N2J)*5f= z1z-sK;UgA>-&P(5rfDTVvzT&e0d^H-yFuhKiWRe64ivQ1OKv}xIzO5+Da2H;txm>g z79rmBjJ6*nPiOESkX-9Nj5Ly73uGelr@NCP&5>QLP0 zxdu{~=@Xj?##U&X()NI)L7&owm3E$bXyoRIuA}#9X8FWdSLB~xB!=u#powq4_$dxt z-fF%Kf!!yzVDbQ;+X-VI48X!g-=r zYR;ebwWq@x;V0({vg}KO_ap``n=yMWBZ!}LvaVxajO5AfJhi#*~u>C^*-$ zR@zF6e1c&G_T4j0EyZE)2TO~y9*QppfA-Y27?=yEL9sEV@^5sV0zwx-ud58)@hgq0 zPj~eA)KcPU7uF#r6ho0SwgX0QtXxhCeK~>A)a|yXx2sv#EK{_DY%1 zpvRiFr7M4Xb^V(WgU)dmHF+1g!8LSUGJLe5=0vZjgY=f;e1yqmNF#5C2V}REVZVk8 zbA`5&n830Vm@p2PR#+`?^e?Sg^b-a8v{wE{EC6oOHuB9#RdoQi2p)BHumI?kD;{>r zJrgnJzv#%+cv{TV{K)imB5e!dCL`h3_pPea3a~l;$ArS8f7i(Re=yYerwlFzjzC*n=dayr4zlZ}cECIqg;`q`~&Vd%8y?28NwB8Ls5}Ngk4x#%R zF)ORHjd?_VmIABCGK=RW+aqN92HWtY_AJCpxXpy6B))~Q+8D0t`i~C@9EsV>B^9?& zVrf3EeD}~^mffo5x#z46uHoq1)EAHYcx8He66qW4(v2j{<@%z`JbvJl_EW+k6w=&$ z+3wv_N)|u{Z720ZYj}g3O85Ax5#d{m=k&NejD1D(lMrJ3%YII4x9YwK1=UoYm2Esc zI%LvlZTm{*$-}I)@1TW*LTK#ca{|eURVlf@ylDyTe z(AWUzw_mlb-_3g27v*!b#);Uu#+zz)<5u+4CqxP9#O>dzfIM5mt(p1v3k6dGZ4N=8 z_^vu!N>T0}_P#&2;=Mz6xsQpH`K0plj%ruMx7=^GUV8Q>jeTBT`AkJo-wgzY6*`~v z4Yt-?J4h8THti&K7nIF$fA9tF%5U_=E1QMfTe!}wVolVhyb=7(Vm z?Yl1z`a1c664^tGUWG9J$}WK;$;&XaTgc3c65Wr?yci9zCNObULjhN-r8X2s`?2v` z#*=4fZk~woH38e^3RZLO{Vo#yvNgxMCa%>tv*`&|bDE*8cIO0bK6bb~SX*;CKdv*s zYt?a+!nlrfwd$bc%sd;s;-pLyIRQtebORJamm`*${7DONX)o z0XbjSe7tc2U_mXX+2K*?+q{tqX=aF-A*ty{onM5TL*8akOZE!GjmV|;4)J@4_>pCr zB4H<{LNabGnsq94o_p81k`ldUrtgDnqJb?1LZAO`=En(a-hvRjn7tBIUjTdn$0)U$ z;p;S!a_$`qREkcuSId_>23)`#N3}0M1|S6KfA9iAJ*8>)_j&puVPLUVYUh<+MXsiv z!0ZN2M|ZH>&(~8Z@846&BoDyaJ*k@>D;_WX*Z6+-?{}qE^9ewKSh5)m9P8Vy%BcO9 zShB6p|7>&rXODx0bh|tpjX-ORGV{XZH$WSF@*X`Y*YE1pzp*mx+XbK*RMGG6_bRkT zM`dQg)Rn)mGGNch(ReIL%=0AYcSRRm7aoVV=vDUVmw^ZGWt7q%3_AaqiG?vvaK7D? zkHt-gtI$-+9~0E7B#=oUkLPTA3G3UF?6y25$75EXFOa!b5&LuBb?_#fBNoY-!f^;k z{vT`ANI}j4)8P_{|s2xB_0I&?2f-XSIAe&@VZ6juN!~}VzF74jz$-tbW z)d7KW9UhfwzDKtW9P2^r5FIkJQ3*K?VF}0vl>ZezLh^|wkF4DC&Eh5+%Mc-2qK>~zjOYD(od8~CSz|JO@V(qD!w)V__M(fQcN_Pob2m2GFUBjW8>cm_2i%-SooE}J z;7`uWb&tJs!i;5PFfiGiMEC;6hPhEOW4+!l~`$sO&AHROJ>{(orFh^Ux(g6>@sXyR_VKlRoE?L@5f29mE z)C0@qW|Wj()@~l60jN%UBqOa0#Vvmm2uwzuCP@>JujH?lZZ4Tw*6aFRr-<$PXO{XfLQehAYILb z1zPQC#8oPqBP_;@f225_0unLIPUfuv#dLjH-7j@ zs8HD%x#(5q0AGUp4q!%XK!of-PQz~(Z@i&8Oz(U2If>1cdHCOR`|Zt#xlzJhP>JJ9pK?T#mbC zlj+N~AuCFT3hc+=+5tTDLvxw*MCbf8hK9Jg=pwGViSPs7&FcEHKU+$uz}ogIZM66W z88STz3@e}6)m-ZxSwxj(q{8BnPG&%|!&Z|?Ok^~k*~XyHT(4)O!`JE=HCiBtAq)3M z%*Czd;|(j1E4RhDtK>+$XI2e!G}ASo$iZ460Bsjf;Aocrk@O@QO*Jv-`Rha}tWJgSHl`sh0<54Z(>0rvW# zYzH4l(V61Xhac{LdBpO9<#-^1>2dj!cK;E|_P{8tm#7d>5S-?J==sIuDYycgs=%u% zZ@k(Kt*kKtbPFin&7q&fEuX764_m*#wkIMrk6;jLLLtO=(+vQT7Zd_;(7ei4<<{DO z5yq>U;w6m!0PvalpXtf}Yxuc`>g;3lsF4`rl-4cChP^JTg&WaSorb6Q!jBQg5aYei zadQlVA@F`y}JrQB!_k|FNt8H@COnA_i3>9s={%!Ee7;1>*?xsB~<9K(o28A8z*sw8E@`7qPif5GP; z7S_KvX#iUS{2KZ84~Zg^^uZBvVoXsGtHk#BFnuN4D)SQn_nAhomlI`S^Njuo?5wVC zeQk?Qs)AS*1cwy}08LHaXliWA&-|tueT-F>@y2|=>@uP=Ljke2^t}39b)vjBh&A9bdFiT!&nx%T zMW%a#93pHMO)~Bk_ZB-`7yY3jwaiOTF(nuW@`B z=lYrhyf%Np&i)s=fB*i&YT%!!X*$#<{r)Qv^}D{n@JjlXZ#fP9oshm7Ub5e=_;ZZS z1puFF14iwdLcW3H6j_Mq(2j$nK*Gp7k2|9X$pG|0^E{9+q2u_2>(l;L3?u}c-y49y=c+O|DYjmqafftL{bLRszQ3mKtAJPd+724$$obw1~+KSSG3f!x{p$ zK+JpTw(|YF7+jwQ1QyW~*(t<$MGzUO;tmOw67*jiduq8ht}_#EON@J0rFhpTNM|bz z$ddRAFX9oxNzU(Srp(@Y%{Iuwm3Ga9stYL4kNib$aAq#$P;L;@x!;N!puxb)U zc1KS}d#8QRFJCD_WD76K0;*JudTP1ECmw^DRzv9a6;FEX?OM8l!`-o-@Sz0Bnz^RLZ|3Mq4;wz zr$$)?mgHO=0(qeheWjagp_JkTp^nooH=r+0=;%|rP|Q@l&f+ikVH@0>pfAGPdDsVJ z=+UMH!*a3JuUFo__`2J?629f~iRt-R>SCVZ#b56>SeFND==&$@D*)Zc zy$=OQDmWz)yP7hSPjwho`fDQkTET+{HtM-wYc2tOkvM0e(b`9P5f!9!Kp|xH=fsZ% z5|(L+hw_vnKEV8+D)l>rHNjHa<$5)9tL0zA~KCV&h8C?^e%$Z17abU>bfz? zO+3;zSc5OK&|1AgXe0=qr#pX~O3K63f@i|)Vw{*gN(3$d%S znfY(R;)nF{-G5o+kNo-C z2A&rmDJOpO@q%nv{g_Bkb9ESNdz_Cs99W4Q{6R`0tgoZhYl)s@;D&~ zXHsaZ$V!Zi%U%Yfw*CDxCJY&yuY8{Su?`ii*1$^O7Rs7CC!y|hzXQbbZxv6q6X z7C9~J?s7$vh%3k~%>e)}sHcu}&TO!?W-s46XZZE0JQ0c4S;kR)2mlb199Lg+re|(Y zUO#ixj>m&*OH6EDP0%cf&ip60@Qd3C-gSrwf#XDl8G96KmAWP7-VsK(SnpF3k1UbN z?CWMzYZsYj!gIvz48MNP*J?@d`$bn97)Ywd? zU2tx@&7~cL=fZEN?xt)=kH1|+d#4G+jFWkH+`6{o%%M$%2*+h6?@#6Xa{03h5Xn%5 zQMz3d3a4g|NBfx;1!=Y7$c}*v!I76vrcE9zU-wJs%Dp}&pDty}D{cn?{ER|;-aHzT z6TD#bsvW5mCr;EvRBl+g)H7G9AFsHkt8z3eZ0I2h)+$1_-e?y}SpmUk#neUB3eAFALN!hd^fS)!$sK+zqpF#_gU9>2#JeXjlO zT=%tG-8s4#Z>3|Ux-$^|=3((R>Q!Bswst5$lzxG@wA$+U(F3H%( zRs$~!Ms4Xo+s^;nANxzh_d`3|&n!?q0yKmqUsUpzJ(N6sFiZ`lCvr5HQKkBxUy@ej z?~CX2V9}61*hxlQu&7t|HA;$RHkf!=xL$;K*$O?b;a8kFJxO>Egpw@q6o09F=~pR+ zNA3cGvEl5`y>Q`0ZzE0eY=Qe&#L^xHlJ2MFPKgUHVm1}^wF>SeW(@tJOPE46l_Ls? z9@v*AD@DarZwX4ZErP{+6ESaRZ0`sEnqnQ?=FK>1c?_Ac4B@G^Q1>U4sQ|Xgu8oOP zoH1v-6g$dkh#0Anj}FolcCzu268nI=HFVl0;V$1zyfGmiIS@W zBBiOsmTX})F-{2~hpwheXvuJ?b zXl#27(H~8c$IR>veg%WC0QLHN)w|%BK`MV5`31KyvblUsGC-Po(!&{t^4p3Ay$hfl zO@jbYR=ZZm#ysy)0v&=@%96xB#dNaHn^L}hM9F1bN>X0rvZtj~JEsTmWdC%o{cj?QBW>igdc%o}y=|$)mLpuYizfJ`3nl^H*O}KzK-Kx*y2}ev1&bvNQR-@L?%|_2c#y zJL1&twiN!Ekw}vRXDE4KWiQUz0>^UsUGz@TE-d_Z3%H%iJU!4Cz0YZQ$$4#)z4XML zYNbvh3#~fPp$FVkYkA?#w=Df(nt-YnLwBZtEg=6efA;0ibbl67xrm0+X~&2`CHFaZ z8d(CN0mMXg0;#m66vIrey=a%titA6P?LP9V-}nt^#=>M^&yl&wFS6xjmx5E4;3(Jp=R}gFI~EPb>?tmy-6OH2E&%66`6oZO(6Arj*8daB;um zeDB3p=s_S5uG$5hAh&U~f74OHr4Y4uj{2+sNM~7sX=9wY^AzT^g;_h|G(uGTQc<|@ ztMQ@7_~e!u`8clGqY!I{t$RR4+f~D0{}%7aI`bgT#2g#u9K|dQEopOnlBrUrvbD!{ z1})@r^^Pn^)Msz-2AccgcA&J06e8MNhFChMg)q4}_ls`y*c7@Bay)>!k9NUFRVAN* zcoV>PzOo0iy%^PDl_LA-qG=jqne1(^q)j(j4$?+#Cr>L8gx7gp<>_{G%)!q(x2;x% zE`CP9R$z1sX;0lb_zGtud*hvJlP%535kyvVa&YF@Nb3{)IK;5hICbA~n(Jx86%N(J zYf7!5vOl=#_@JYc4Ep!THwpgu-B(qPS;mWl#35s&-^!B(x18VIsnXpL@^>D8AuF{v zFD8Od+mKbXv6*vp?Au#z*^VvsRip7sahO7Ak_ENwyUF@09Syag<>3_~5vp1L2abFYZM#LYP< zIycRKcTQnjawfa)IMm*(#swGcU0lhJBN$$VD4AQ4BOp}9eHm9*!L7)hj04p91Acd_qq#Y z&X|_;NV<9B&WZpiAL|oJOH?QK$k&4%)8r5aIF1oyr+64-sXA&s#%a)Flv8IPA+||I zku57}rMI1VXx#%3J3Mqky+Wbb_p8RkT#aSKH(ddnAnl-D!SaZ+Q|QQ=3zO(KG_bu} zEw5Y2-ibhT@)y-+hJ8AntRR>&8H`804meI{&d|mib$wS4zkq-xeg}A~J9(7vA*#?b z{SWE_CdW+x8jg**g=qcM)5Y1MazDAK0q5SYQ1n!Xd%YqXVIgQ$B^f`;wK_fHsvGBa zyE3T|l$jR^)P9*g?*!A1TUCNi!Pw*qJ+C&G1H=A9_1#nUM{e!RRgRMD`At=^Pw7B< z4lnv?7Z?5Di>ux+4M_RsH^c;_i)XgcGNTKceeqq^;A@WgRX_g6_7lS0l6RC3dcx?b zg|PTvbQ>RfiH*K-BQ@uJuy3tzopT<0c1h@9W~&sBD|TLjFnLryz1*MfFzgot60{*4 z(m*YsJKqFrKAHF(GV;AvXDR*a!0ZNc%gQ|9?m%%^1S&X(SC~8;fWzg{w_qccFO|Lk zP87P{(}_E(_r4nFmQGjUBv?pRu1+n2Ui@06@-wRTzvK!2>VB4b{|WX47bMrk1X(w(c-Oio?`yH^Pw3vDBJLH$gd_*< zY_#?P&Rq?!oUt&hdrIE9B-)h}(H&TrBJVFc-3xu^Eq?6P3w(MmL%m9hYvhQab>hUeI~iq@M%Bu+w9~mylFJe~a@Yh? zSaRr>1K!BLy4l+jO}cYOts4)j92a|1QGNZ14lCf=M9nt~$Mz$6_juY3gS@oNVx;`d zij~<7gOC3s1os8HcLIlCH2DqSS#7sJDDL>A9MSxjbkQ_)A6%u}0da1995UWL42AS;mdNEi@Dc2)is&NQD-fIRUa!6V7WOhK_-)3qRlFb3uO3#!9}I zPQBA72`EqtcrS*YtnM#~ai=F>0DniJYPN2m&D zZEf|JM<^L12wl^dTB>yU7FC?xw{v(l3NnbGwVTh`#rE%f@^fF0n>FMK=$objpSZkU z%hsB!%@I63;u~g8z~@&tl$5u7AKB9VT#zqDp{LJNtXxgSGA6NmHayxp3zSbA{DddW*!C_`q9^`1pB@hqOczB9aFG1_NK-CT>R;8j|p zoZQ=*?4SHj`q;~u=b1Rc8d6Wy?Qcs7ckKl9+PS!+{er4H4bRh3US()b!5AKlPU<{F z414SDfseq1p&=5{u9<6rE1u3e7fJH*b1}*3otcErM%Ew{D_qJ}m+UZoF0vxGNbl5> z3n{W+-Xqxcnhd&jZma#ABASP;j_;qN3X{RPtuwhGmG=(NQ~6F9bnN55yASF`oI#!PsQdi%Kxr-tH1ug!Z_z7r{`pJ-Sj_s?0Op}f1%g74^&RPh)4{vMLX@E4fY!|eX z{eoqH6d`+xG>09*00k@M+GUoQlm2oNK#C;Cr}NN@AH zfrYv-9mA3gy{_4143YItue7SuJmtxVcqPhvY42ItOb&UgaZ)ViR6&vR4D3B%!V%D+ z(r;pT*;2Y*my1let??tK_&onDCz1p^ZA-bjpj)Aq$bBlQoN{HpYI=8CnM9p@N@xsH zTkB5NEbSBArbNMG+%?Hhp1l*3YK^V@xT$-}ptCY?h64R+Y&RhH+(P;FsiS`9k3nFt zrth=3X~oN#xK`u9eWBaXOl(EXjxV1D15xMAS5wqk7?*y=UGMLdD|O;~)0GE8wG}5K zir3a&7m8Dh;ufA$BI^l9D-yujj8XU{MSpj|=a$e@tN*q-Zy%7_fd}ON(KhpEThG7x zK8D>}v85kAIpNi3Aa%=JaFwzMO*}T#xnQSd$4!8kl!q99PWzNc3!iP6vK=tY{;e&m z>ox6?dt+x10NUDw)l))~xn|Eh##7SfASS@ZF0Y(c7S!Npr%?L10XJEJs^?hkYZi>O zl4yI`U6IZ77sLAZaRrxRvw%{VyDU6)hAJXOPK)^Kka_ULz&+|s<}@1R(60V8R^+`V zV;Eb-jiexQ_zX#$4)C5;;?estDRyzQDvo-iZrdMDd}~*R9zYP;rz8@8O*HauHf2jwN5>H0TPjh z-q(P4gIKS9CYCk=6+>9M&kYrwqA{ao5pVA&yh-#4r$4{Hx#fWy4Bw+JTyJ=q%OKLE zkR0t?oabUG!Etr}d$;f6@NS9wz_(Y^{>Fw5zC0qF?^|4yEp0105~ukEJI%WnOcQy@ zQMOk4?|;smrx^f~K>@h@D3u>L&?O70BsS1QiPt7=dWsUghI-4EJ7!P6sU8Y~ajU$W zlj3sn`Tja7r&N(hfFUnd$4DkyhbD}vifiHab2k?K2Xmn_;-LsT=dc=f;za1wip&nv1X%M~a$-GH8RhQgnSg8nx>GN)Z%rPnh14E|x zI2T%lCxJF4uG-JhooDxT5#qFnLq=8QJJ%a7!0wtsp>a&LUd;{-Ad46yz@u|RQ$EJ} z18?^fB4hY3J|up(e)3-F=Xr{Lc6~}`lfV&o(X@k7ZTgFk3y#owNcYxdcJp@YX|mm< z@$ZF!v5UkxH9ypj=@*JiV0PN6q&l}9gSdU`OiJfxAmX*2xnm7&Q;E=uaxEXE6$1eO%Ktp;<|4<2M*((LsvS_lUxPhI%<1lT1MR4pw;9i@KJ)kk=YjKwBu0(n*ah$_ga z#Y`C$Ja6I~Xo{HvV1ZNOR1|4p9L5|Kz=_ETiQIij z58&%LR$^u>n10cPAtF5;B?*}MV9YH`x;J_Jmo*zL2%o|&nD7gPg8=A^x{Jyw$dS`n}U05&>!AEB{-rsg)eaeopCX9z8&YGO@szZZ}Su12K?bHG%$ zF~NGz15pOpnt%h}|0YFQJD61Gg`zbx#!;~n!4~VdR3rvCfTgCZ)rskOsU0E|+y&%_ zce--mINQmk!8^gYM;5^~)uGs)Gy*8NEpHy|8+=3ay2caI;D!KA}L=AUT$Ew!x@JF4uCS(iJsPL>7_bbho$YC z?Yn<>220OaHi3Vzx%?%|3}@$fvb7ofo3g;{U@PtVLF#N}1+c~<@WDaL(oxB8UAha8 zB9=Z1%{ym5MieOfmPb0?W5Af0Y@5SU6~^L1CE{NvxpY;SmVSk1kCGH4iJaj95d7_9 znLZ(u+gDDwm{B`at#o58SC3#~0SQ?o{06aq-v^kV#$R=w8slIFG|=UHg0P)Ws0=CL zQ1~$)bd&T<1NNM!tY&l2jRj9gc?C*D zdF`idbryR}OFUY{CFDe@zSPS(42LYtY1cIF*?vQ9*O)uce@A#8qRfZ-0gWyVt8$qB zCSiN)+rSvH8j%wLtUCcO95l7aRu`k!;DS{S@uso&g`?NknyH}!Rfx6l;-Wfz=lxD) z+VdI8ESkzS*}fRE3^^;{3vb4^UM`C%Gj!1g+~BANWcouL2A|GGrprX;;gT1dY~_&G z4#A+X6V*1_J(BI0Az^*zEW#)wHD}v%)k7I}YC`AVKEjgO2RH zbcr@w+En429QsAqYLq7YH7JV)(V%t_5jap7h>HsHC1CM7b>@hAxFC_|Ao?M;FDJI6 zrO|5InCG$f*1MVWR{lg7bK(^nX&@Zn=pPtuecq7O+`~KpQhnEQ%gG$) zvK|Fu9t?O4uc64XO4so^PaR0msX5AIfOMCDu|b|mzlFgVW45g57E4+#T$+s5B?s@@ z`=IJjOjL;}bN4zLTS4FBKB>e5r_oh^TH9#sNvLR9$o?2{dmame;pL2#PIh5N=wEUe zn7Q0~=hFI<8sR@IDzAJ}vk8I9s zic5~R&o8>CI*XI(evxmd6@+1L;i&6kCroZlD^rlmH^5JQE|iCTE{m{^XyP_HdUE$f zRiz2p-=FGv`+UTCUbE0V0@ZvZ=Q(*sOe@{`QM*QJAoeNvSi4Wyz{H@D3uwoY%3v zlv0$2_PgqjHJpV9tfoMvxx{)1B>ThYD4dR%-ARt6>V;Um^?(w$gaE1F7Y1O)jCr&7 zop|CycI2%Y6lEHJ7#eR;6;8N;@G23Evx5QQI;tmF)%%diGy?E8gLmkwokuwyErfm#!p_^oh-tH zM(?An4j83?dv3mWFlGNmhoyjgo8+Fjk$=(krjtv67vZls_+#chl6Ds#XMK*+p*zx- zKv-$cgA4k6c%G|yIo{UI^dM!8w&ej+A`f&T1C(67<$QEh+M*xaZ7;XM*j*HrUI`{0?#v5YCerxe!sEZ_#P?Dhp=;>X!Maj_c;YlL!g$+f z&GEe|y9UQ2ucK(7ha(wfsQMM?*8E$VR}~C5$ydccg}Twg4Jj_Z|8rlS=~kMby6}a- zAFcjSF>zjv*9z%&7m@cwTk>UEvLes1=xrYOi{J9U7NyGMcrAzR^qDps@PwlL81{N` zh$2|1$K}AAbrKQox*c81I>Rv)f%vx2VIRl@<~s5Lxsf=bjM4)%74>;a5AUfmia*Uv z-U8jlIr*{m)Vw7K*Rj(3oYM2>MHDZeclVZIzU;rse;QG7GxFXQZL3{)zrz>z{RjVxypHhgg4OU40gK-0 z#0j0l4j!Q}Ppom~X~q(Rrmd`H*AwiLHx(>AtlEaqz&s%gEbqWdd=mE3Ka^j6XN>G0r2rN- zA%yO8pSC(lt0+f&!kS~o3pS*k z*i%tRv%nIr@vLqmLnlBzJI#{McAil6Hp_RkQ7I1PsipN+9v8%X_cu30wM3@u&}}5R zrGWvvAYGOW&{jkPiV@+*e>^V!|LyB{UtSt=18j?nMB#da@|X?D%SOZH*Gm~uJ37wk zesdi4$kvSMC(Q=1Efo#|AtP5Zpwt!5dS+A+*Za+VIou5HkkHjjJvObmYrZr2>|THR zo-5h&0KB9DUiea5<_RvpRRf##UAc@7G?j%gkyYyJKb+H?ei&oEe4T8o z_X@3LEYyeAzHXLpa@^XUN8m%&D=9{`dB}tiGx>TgDA~T-9&_gNaD zRQqGRWOlqLECU#r6667=a`Qf@0mTfQqN_q^$5&aCB$kT5&k!(xD$PC#a+lg?8bn(u z#pmO$)o@lR49@!U$2EdPfRU-)#&2)yx%U5Jcixbkw}?6g;<5UqCFy7D#}~s#Lm*?($o&N=h0=yxjXEXAX;G;UIK3B5le_gKYNN~o zA!x3lwstQYQ+*WIXs0Wa(x~i~;2cpUor!;11%QZZr2&|>59Fm(|52_J`tSYNEE<`# zK2X!Pul$jd>ZUV5=|Li6(TXCDfebkn-PM_Vo%T3QpLZQ@rqY z70TchS38W_c{!)Ew2je@RGW{m4hu?S3ekVBnj!dIYLd~GcK+VZP)Yl{Ynk;(T-lB+ zMk4wF5%Kb(L&S}H{^+1sx--Cu-A)eEk5KGiIB?*2-BYm;x+OZ8C3}!-0^^xCANWOg zbL>hUsGcU@BUSzV0UYPyGqf;gNo)0h+zT>q^fxjym+M|g2d9<97y%@rF`zJ5l>ECF zVM^W^e<9Blm_Qkcjo&@eBm+p_So^#np}pAD^88O~PynH0a`S4RrA*n+Eg(RoY`Gg@ zwQS?`h3s`jsyRUHsPYEN zhdV&S;`f^XjHox-*1hKRqB+D78d$Zed#o`vu4eD2ZTPf=YuWq;Ud>ca-^8;qcLZ^2`gvsX3tQuqdZ;(pQTTso|7 zDEdECX-W0OvcJmV+yo?uH+;OcE(3cj|YpzbI% zPeGAB2%QRI6IT3S}I=Xt95Aotl>19ReA}zuSKo-R(&fRTzc$Ph(J_23+nB<^WAVX2Rrb7 zdGQ`+hl)?5xXBK+u`nkh|E9?W`ln~(FA5c$-%BKL@vq1gTb?X$9~PS*3Q*AKeYB+f zdw5qin zbG8-lN!?JxXy@#=1PF)xXf)`^+N}9FlQW4?!>p*dNGpnwtBEzfl7M{3l%MzB#q6Is zx)NjRiZ^imr#+TgO?JfTsB}Qic0lEtu?mp0&9e8=_X=X@?FU@8)h-vtt)!&1@YQWo zwWyO%kLa=i*qAOlnWNu55$6`=#0=MGCDUlexGn57y-q`Tma!Cr_zKtXR%ca-#ak=i zJq+KY9UUMT^^0neH)1+=gEF=x=W;c7d@cF)<>?)(R}xh1TGbT`Ro9tLHiv>@bnq$z zOCqrvS57-lbth$tD)KLn(9b{z)>Q!r5h2~f%P37d`>7APOW!sLgwa() z)Cm)BQ(qpS>@#L)Cem#SwBLNGWw|4;VS|;Gx0&coobv8^{c^D|)i~h8!iZ{p1f%xo zr77tiC&4DNR!?|OH`yti*%($K?p^ND4jr%Dor|}_g)if zfF$1KKKq=xd+xn+X3n$snYlCm#l!Q!3Vds=?|a|h`zuvhwsY@h#DLZZu#^r1$jpfx z(oSMxd!2%CTEmCgr0anFbg+E~U_br%q6&Fi99!V+uEPG+D&bb97wr#WDWVTU4Tw*L zgeiddlwY%xscz@)OgMQ5+ z{|5OjhkT1HJ*^drc1==VorP?5*?3Sk7j_zb&f^l3iuMOQcnHYpJG2lni|mV_JD;ir zvb}WCCrKi6;rtnu9lwXQ|3WpQV{G6&(j%4DJ3?P%{RtzlW8dm|H}Sb{57niUvRsgz4iPk%D1@He544IJp~_mat*j0@PF z0AJmPFfMU&A+AY0(iZQAv~iK-5pFT&$9x}G;Ky0w)+p@pL!$zt+&saZhr<0@^GXRR zDB^+%o(#YwrcYK`o?W?01hPmFZU+NbJMy#xUJs5O{vcJ|Y;2|L@5dZ)wkd1(mS{i> z%2-T1R}^e3({F5Z=O{Iyan(P<^Qtmy#5K%;=lIv`x*t{pRA?50X0Y#+xoUvk6yX!c zPz=p&z8vnur~^T`Ti9RK0r}Wt+I9K86E0I+ z@{D(H1Dl_vNvgE!*&UU2`fbHVCtQfbc^@EZVyCgM7;n=nqIoK=Np97}tsn5`x2R6h z>=TwUl|io}+rxEU`6GY~nhhfx-xqlnQ8o@S6P+Et5(*-hTJgvRY<`j*kZAV}z=waG zNm4@$OAj9>_}WLlc^5;|AOFn43!l9Jd*g49+|dKZS~WP(p|D>86ju+}wIvbr4SW2K zV5un;s?QFjpt7MAQT2eG9?{PAkz|3UMb54Xe-0|H^|>m%{5|Dn^}t&0cqfQxdq}o2 ztlVj)C;>;=kAedjXmn2tYg%qds_!3%3{*eIC|$H%bq(Cu{~RPtIkiuD2$V&C->UN; z+CWsK4}ggT@UjZV{>=@J$~Wz|{R#B_pXdQMQ$pTbv(~bvBzr^Be!wY9pc-7qC|MD7bGL<{C&r*FmWb;;DdbaQFKt1dGa;`I=^|E$xFY-E zz``UO=HTSjaOPT$&RnJ0O-Cdi9+HWlPd;~@Z9PD;UD2O^7u1=&;usZ884902YZejF>2*L50VGRUuK$siHA{Ko%x-kg2VObI)3xtZK&`N99Ol9$Hu;Or)?JUK zXNwwcl`3B*!r+W9nFRVqVKq~EkJjsM3r>oOkctxrkq2nMeT>T4T#fE8D#KcBQx<3v zqT-9IDN5s!he>)9@-{`*PX(SbQdBUF9%eMaxxlB`iFzniFAouYXA|-Dz?lddDz8z% zk1)D8{X98+C(v(?at;!H5Sb)>ZYp_*M`U4G)&EGZgXd~pb({J}A{^gTJ7^zMZ+-V- z9c6R+rhLU5q7=$eWMl|uka9AxvYqljE(DKC@+W&o(@ft*3zl*w$)(#E4r{$X-!_Mv zw~3w^RXRmaAJ@BUzc^Q|8bImH*f-ivgJ^UGfU||u(|%#IiGy%RK=KD);kXBLen zNZk3Zsl3=0W;tW~ zgbhF?g?aWT@O&sBK;e?!MPv8w=P1q%cXQ#s>F{#>F-qL zN*$CU0Z@L~W?|f2qJ5^ZQm!XO?0zECwXbYd`SW2S6qIAC5}>|N3`c96iC!)zf{Q zy)RKO=3WiBMobt4zz+ML6#AWd0%qytM`bgn*P1 zx_3wSxWBO;L_!u+c1!$#E!<=)I-f!n=eIPf(oZM8VB%y?^WDVnV=^P@XQCA@yY6_er@4MMjKhx#? za20OS)vd(cJRca;@G(U_SpMF#yFfWtT>Wdtn_BGvN$R~LVGSF)_w=C+kdM)f?V2?V zQpm_UzwkT(TS;M|s8H9b(I-cgCEaqqkWv2f@w0)uqc+BxH#i&aCrmTir3>Q~3Vbrv zT!cIlwZ+9Kqk%Q~`{An?2!ZAd21@H~b=-H2f?Je2Z5MZK zdYZEL1w{;eih;&j#qKxY@Q9Z7$CAF)xuWVDJmQfIq_A!7A~fr#N-WW@Qrtf6^j}{v*K(La@MQgJHqxNK3lFy20Z?IQF)StzH<&<}cnS$TRE5R>jEmjQ?gYn`k^CH?g7;OGZtOY& zkF5qz?MJi5-ggAlI0^_1;n;8uhj*6N=3`K}!Y!Im$>yp6$|?)@nqqf*cM(&j@Yl<7?v8C3AAgq_blwJSu+O}e+FUQ15q*hdQNR5O9ZFKX#1+*Zwvu|*h+f=kF!-WJA6-edZNuvT z`CYd?)DR499k{Ds$Gp;WFmPEdf%9{E#B3SNV4`9pU6Dwh0-e}Tl+!!osAq-{IZtkt zK6Kxd*)~gWW}aanT214ce(3dCkb^J~jo*i-&79*+GOEX_({F9_WjPXW)s0`k7Z-h} zdSD+_usoC1-{UeoUUa?U^r}%2XLUX<18*Clpn7=}nz;Q1r2S(3;kI%edI9OMZ*SOO zHI`?gzHjv&aH;azw;xIqpAkB4eu#-qD$e~*1$m6!j^DOa^nYyuDkj?Cn}pNZO61bt zA7@*_f761GGX&FgA6N7+wR9l>Co}QWt%r|+R#Jj(2Isq3(CkY2Ty!M;_%HH zWtRgVJ+6-5yl=y(1Y8*|wvARU{`C3d3)7*SukJvCf9S3Hnb#g{E;BLbDvNe*FtaNN zkWK*a&)T)$VXA)=xl21VZ7Ua2bfeW@DamF^^5f}`#5UAhqc${iiXI%y5TZ& zjTcGoDv-^Z!2Bh=6~6$Tp z#RgFYu)6x@8PQpCvzozF0baoeO0=VNHTF;xFBTGTfJL5B0sZt%iX#aD%u>83rZrKh zufl*!YrI=uj#wFaa||wK4mh&H&n!cY)*Hk@lPP<)TMz-#8Lx+*F;a#$@=Bd5#ALmu zp2U|c^Iq|~U@%pyJ3Uvp$&MyK7XJ$|wvexZ^Ox?Oj@~A$b)~|7n2Z&rXB%QcU+vvz zsKj?tv)EU#X%X}`by1+8x|?=plB7s(Id7Z zErht!_?blj3^1pSd7snW`mQ?!sLFx{!?zTDrWyNDn}-P*J8e6SON1tW3WD*SydpEyS`q zJT$i1VM=7`mxcv^JgU^Zy<&!X20RlI@H*kbdHFESuWt?rB$|msRQXI#wFPFYnUjGs z7<#CuVP5%yT88}sllONj!09G5TYa`(^+Y;Scb$w*lD!$vdw_KIkwTM>2 zLn5%HZz&yprob>`LBTg%9!MRRM>JI*ufE4A&b*XYJRZ56X(Dww>ny;2$ms*OP{1S3 zA3tK64|0tqC1Wogn4J!z{PFmM?e}!zkMQvZfeArA%!;NrQR$TIRa04kU)JEDaUB5Z(ghZNYnhw_9 z4wp$xmhF(~IPIE7Oe*?Hv=P2C7nZWdC4EUy4(gpVKR9RoKI<0{$pbfUQV$m0s z3H@yjCQlC)dQ)2z>n{{qDz-c_#q$J$2PF|li2kZ0mqOP(=x0*q7lvSqq|X}`tGSO^ zzvg-3KB0&sTcm0&QJU1=dfpwulWqIU;1SZ*kp(`{+X1L4(I6);u1a;4K5MHu#byTU z9WG9Kih|=}6yKEBd;iA+>u2f-uV-3OU1j5d|6l)8st2yeg#BdUCm-60`g%YVYc{qj z>R(U0u@0x>IQ09HQo8+wlQQ@RmrB{JE$$$lU-4zo+AjMco6rE)MUpF{fZ5vmH=D2E z|7zIxf3d&kteMG(dDFwHmscWp47KYwr5ctk=>lW}lgd;+zuF5U0o{SuCy0=tzq0$Z ztE3}X|M_Em{+sY~71L{zSXMip79geb+l_CvBPS0sZRi&?5zXVg-DbC@6{TI5s_b7P z$`x`+Viq0uVrAxTvFCA^=5TXSj$_cP(mx_3>3@xo%mD__KO!V&Bqzd@*!r%bWq)`& z($)j5cuk1mmei24q+S#6vw_>rk?+sK8O%bmCPmLU$hrW+h+8D>G$e5Yd|-G{w0;b( z>f!b~;9Y&i=m64?on6(evIpt1_%%ebYu5za*c<^^2u`zDeB7G0C^U4LT>?OUR4t z>s7K~hd)EC!{UnO!P_5k*{DF&kb}Y6uleKf)3g-st{?g1TD5HHF>Ykk)WswNi-3$l zS4C>iAC2-Z8@RLC#?y_h!=cpiPK~W%fRJE-x&>er)eYm8)csCn3(cl>lHILQ%k+BR>C*1KtOyNh_nYt`M*xBEkT) z`y&5FyGNZ*Yc38k1LzTNavU7s%mF)~5n^n;Z=HD^RifAmd1@7|nb5y8i3^9O+{WNx zIq6rrj*mQ=z}(o=F4O-Nudl0dVNo-ZLo=#c&`(<)x|8AgzWt9D+lHHME6G}p8AaQ| z&YhOMJ(R8)1v$=~u`fVp6+Vc5n`Iyop32cHKf}xG$&8pj?NVyzvs-J8IcK%Z6mu}p zcN5$;G^f_LIoA&+5t@iI!w>ip}T@_cp)rgU-OYs~P-JZIi zSK}L_?S>C0Qg7 zb}jK*{ZMed$(t7j;Pa#QidAi-B&0=JXLf+bA#fr;zN-L6H9tIm*VvZ4TE6N{{<6Ja zQ!;yiXo9~?e$zg@O@QN$Uiwbe{m`*(W%=}JOWFVsUg^!Wu$4-v5#dU?!dI(`Bbgy0 zZzmUuXt=Cnk1Gf83N>GhjL*`oihNW!o+}!=GD!Adh@CUG7N`qh&~*0>|KwC+bQsJ5@PpH~S<2=@5&+&z_SLMnv| zXP#{a#8@XrFc z@p`nA^VLGFLmGKgyzDOXatU#V>C>&t9jD_xx$*_R{Nl+KekeUz)~s4`@-03o%Jz)> zlyKole)=;WCDdo1jZUe(07z4KaRR$RtiKWhSG1pWfoLiu#2el=5`Vr>)N5%Bri8)) z1z_Ml5fEGbW5$>NlYj5U(W}14E27lD)Ufx9_YQq<2hBw6IUy}%fEc_!9V1+QZ_fW7 zg9lrgN?S`s+T(ZMcb6}+$GaS^LF)41PNZ9agM+C{{SAoU} zdLRUE`|wQ@p24KoneWXKmPyhy^-3mFqO)JB@5}vYxZ1`OFLP-< zm6`iqqO^-9r5Zb_&I`o8C-B21SFIT{j=j3Y1QPk&{^Sq)e%HV^t}3(k9`j5-Y8ji| z->F`qe@nqj1~+0hURnSaDn=;nXZ|q@w1IbcKv53%fQR!3b4-Cn_gbo}v65G3xeWJC zKB|GqrOj9dvH^zis$30TlW*Kl&sVlu8m2_$A0Z=s*+0NTW#EUilaz!ai$=Mk;ER-ziAB*Ua@Ma2A7p0*t4WrVu2{e_u2xp)slW7npnWay zkCI9-SCgUraP`J4gN1?Ul^1hs_DZUImU+wW{a+eupz?siF^#72020Q;Tb!=nBpaf6 z5x-i$M8xS>*rNkviZE6_8PbE!H^#~+#(&Mo6CznoYn}R5=@afW4)qfX-I(+-SOjp0 z&T5ZlDL@hCj;=o< z@@%L#MDJMc#czTQss}YC5R&G-@|nE6UPV(r-h04w+N;~&j?G+raT1-gQVd}2*gAiJ zC2@^qpfcgT;eazwh)x3cKFDoUPfA#>*WgoP-Hvo4|Cb$_BF-1y=!?BBE)-5jr>te3 zmh4gX5b8)zy39ULK%6pwPBUy<9-)}E{8i4m0IzC0MBw4G{s~N9XQS-~>|VaaBv!EJ@*-Y!M5wwfQx)3^Szb>diPh4rc6%|lc0xceKe;< zV~xn{`S6)y>{%>)+KCN^v!y_;K(Ycj`NrxW*}>s>Cy6ilS%UH3sjBzWoAQ`%Mn8R& z7!KZ`hyLs1?vMKZ-#j)4{#*@aAr%fTJZ(VuV`{>-=Op3pnxWx87t7XUfX`zm(tFif@2pb?3Bp+$~MfOy?2b(7! zzQAS?+o`;z~vu@E$TVE%sTdveRs;Nq(>`ntnYm&G^RCG#eEIduYOIEkGCrigf zqt#%=iDl-Yjnuoa4mZ|t5xmX|=Tdh~jg{GC!Jg+gesNXiW!_pCL}nn5DqU8cv7}9d z=*7YE-v>wEQM8G~Bi5ny{#)bKJy?mFQ^YqUQ39iSYN_xBay5>21}uFVnYjiDhP}qE zk+_pF1`HlpKRHM@vW3Ef-*&wa;hFGGsvT2>#^QgFEBcVgpKa;CkZylBZv6MO$2QAs zSK{&te_+3mahv_n?ojTn0yRNFy+|A|lgwi3e=|1>*m{XSvhG>8E`hx>U9harq;DU9 z3@Y(JT_}pY(s02i4e-fo%B|lP?NGx9POlN4xT%Yx{OiYHDlx_+Z970^ zUyUjj7abSFtB{W1RTj+0e}#9;P1S$EyOcYf*%vR6BusG0ULl#F1h@-F-GN+4bFU)! zMPJPYyWarc2R^9TQA!DC=haMn%Y6$!$R^8gkzC!&1#=16@2E}2>ptHe(+^PrO2ctX z5QPB?f_kKJZmnsfZyR)icD`vsg!*;?2**o9?gw*SGBY~sMpR9eY0!SSG;APl>;V;Ndj2@q|DVdu*2W`DT%*AJPN@4B@2B|{pF*RD`H2uS@X=0tZvB5U1`#kL83x^*dWc|pi z42Jnh_to2=*v-q5EX|=wZ734;oq^@y-D4HS2|$1V;GeN?U>PQPQS0o|nvMIlkMq*a z{Nq?HopDUfLLG%4AFu|Wsu-Rh$>+N81YVqWaTzE>d+k6Bo@2KQ3iFOdb>53REQRRp z!9uqRGL!Yv@Wij~WfQiGZALk5dtM31Ns6uFl!o6%-9ZG@uz|+rvZty<)Wa3r_Cy=Oyz(X2EN|LnF32?9qLtDpoPTbDRHGbD9Lrb zx2$Y&_)hiA9Z=!pObLP`o%s4T1aU7>nnckeCu4f+%OJxRLfu-HS9r7zcP;=p2jMf^ zhjr;Ym3$Du3>SKwkP3g(a3Bac3Sbl`{|dQ591^(;Mn%mHC{&lHF(s$ZMU=LuywaA%W8} z!Ugr?CnU!vUgu~B^XKS=t9t&L3=pK-_V>8+0?8~sw1jtjSm6h*QN1&MVV)uE*wXxorpa2rS$7Bs#e!c}q<~9Y_UAuIQ)Ecf3m0--H8~!Rp0rZ zbUjf2#-(%4s)Ezx(3wd89S)(CFsch8RQp~2pSC%^ zGH<2oCt@_|bi(%%^8rT`szU_5#Mem)8O_XMn{{k@=SIh0?iD7_mi)nEEt#ZsGC0j4FJ2msn}q8>HV#%0KKV%S36`_P zw=4sg(;C)qoLn-HGpms+QeV?**ocs~zY~zd8Z><(wm&u7<%}W$KK4-ER7&KH+YSwf;qe{lTO9x4>51y;QVb^O)vI zPcaRGyz;r!W8M!bo4MROg^tq-J)JWheyX3V*4(25nLk2qn3c<+>4TtQyqy9jYkbxT zW9ab(XPX;V9=t($6Q3hxlQr^7SJ98t64KL#mf&YG5>w{>UlOs5q%$_;wA1RdmL{SC zwCVYS?$;-&ZqQK2SVC|B@IZ&{Q92EsANL5GIn?s_-nw^U)6dr}U;{}!l}y$` z$HN~ZsA`Z8A<!d*n-dy z3>Bh9#damfW;9F}aNCw#z`S`?tNrHB!|4C&$@-5Uz~HT<-7NC^b!8w`Nt9~z^-P4= zvUHJjdk0DTPW@XB_Gr}HA{{LA1yr3mb$Wo27Bk|n>;unO?u?(|yjo}dS~{{3!k>jf z+8oq`?SdjLOVBTBKpoeDr|ts6gg)#1gaDJ;dRe-a*j0LcGdSi%Bg~&Tvip=+G_#N> zY-OH!QT63_D&-P#0~cpRiR=S;XP!e`q%P3mdNGsJ>S`|77~g04oQ=}kpDo;&>w$@X zkW_#JC)Buw3MwgXc0-LK$S8Aj)Y>INY16<(uqCq=`}xJ9rVM`9oFFO>&;#%?;)Nv( zjAtl7hM>~85q7Xz8S=*FLUC__&E0NiQ4l*R?89|l!)RG6l2m89t?~F#L`j06@U={) zEcr4%>)5#xO5nHD(92)lcBHuRGZj~bPSzp97pDcKrB$xX=DSE%KR#Rx55YY zNsRuqm|dIbFA7=-Uzfh3%VCU^;nK<%U3OTeHQjG2b!To4g80+lByz{rWW~>rUxBxt zug^P<49fJUcU~YG~hrgTx zOCQ^{`CziWwETh8x#-t=(5YJ-s@=Pwp5hox&tCM=+Uwyf{m@_7N-U$XpF7viW>fHC_DqJHMSUbFmQD^&nVnj(kc{lH`KjSru8Ft z4tEy(B4Odkw7Za6mj0GrQoRU8>$ABIxo8Rqv1B#-PIY?C-oJ#Kpi-8+j=W<6yw_9o z*gyRI{5$97pDz}ro}rJ%9?K5#N3apqj^b-9Hiu~V{l7kipQKzG-0GFta-k*}cPofa z?vpNkfI4|WMIPH*Te;2A(6AaDIVsaz0E;yI_MM6WZd*;=sH>hwbi>{4OI^1)O+g6k z>9od;7Q)`l*U(E(RrW2nF((bFjxVqWm6PMxo?PSG%R+$`Q+ z!~wR-NLq|P9ze4Rg=wfo3Qee5Rl;lD)=?L+SML{`zaYP1wx*rtV`fCz;B|l_J$+;L zatL|KA0Z8~^Okq7w;SnH)Nns&u6KEvPE|$ey5@6jel#s9@kyh~lhDX@v%^VTT8Bq& zUW8DfXFL5WQ9+`~*RZ<9R`Q z#gpoN^>Lh`uY7?wJV=pKQQC+oOSq^>8D(e@j%$?gy=TmJMMj2)dT@t%lw?dapXN|$ z*o30$&I1RpL0Ktuyzj!b&qrR>x*t(kK+Rb~#wQ$18hb4qq!}$nYot}d#nEoPLPJtZ z6l%l_Ptiqs>Y8^PMG7w-y%JE|{7!WliINIoWKhdUzc|$LrK)MT1yThB#E5;F=5I}x zAGvWq($}WrJx|$&mu*?@A{#jpdAf#9Iz&n%w-6fpkmprMoARldjU$W4l~BVK@Sq8r zjR2p3rbR5C(9x9ocPoTqU_#K4vEsAI#(0!|5f5sEl zc7)vhY+X4J;^O3D`-^vJ(TA%I?{olPTAf-dIx6PfK~7e$<+{Qv3LnGO#Kx9L<7fj! z>t`4wnlAXB((!;DhieNuV4m^BaKFV^RTBBMKUA0tutJjxXT5*&!K>7D%I9-buV8w64mtsj8?E=znNOtTFeP&LBFSJWm0YMqib9)uWkV=+cq^KSiWq z%P|~NIS<4gyiE3%57+h~!GXgErSRj>{zk@jiOP6A@)*cXREhvGU0VD>WjiR^XTVNb z(m7a&63(YhrCo+x+t7V;Dbl+w)jGY_i|->k3u2FDu&?CrqRu4Tg0YK9gE0 zG)`f+KF)Jk!I1|UTDXsg*QcFsK%U{G3otjm| z->|JRG1E7HnMJNJQy_hL(=gfiV!rAnp$4)lIy6dPW-HnkJ@#9_(QLbVFrA0T}5vj z=RH~StTAMaM;vi;EEwis_#Q~`wjMu0Oq$v_cYDNOcwH)K`~uvEi=-bFU>T+$O^XvO z2yq-&Pgc@3L1S%aJ1g)DFBjtHx7`E|3v$}NiK^^5W4aHq%2cz~I+hDVl!!kZ=Ke1t zApDTBMt!sIJJl>N%G4b2OtsV1BA;Lz$jH{#HHfY7TyCYqdp|yt6pRte{un5K_jAd^ zaWJ$CkO}31J*ke<98C<@MzQ8A8|9Utq*=Ep;*(KL z5Y|yO_eXu}Z$Wo?#OS*nTk?mob_JJ;Eu$=iN**HQcGlsiQ#Alx1uh(SAX_i~;?t-E z3cq=0JQZMpOF*+3qiw^Zv?7KzDVTQt+_eH{7iaF`&o39!AD@b8%1V2UKbkWew+Qaq z5e-5z7YB-!L}}IeC6pu!*v72A-)Hg?5lf)%e~MONc&(kuUss@fepe$4uD#}sJfYMNh zNAmo$La3v5AYa2Z#-*~N&92cq-7+-q>Zx4)IYTN0=9&2PyMu4fm#OBX^(%(-L>g|! zqUGGR{ja4VGY7xsUh-hd;o~WpC?KRg=eqmzTL0%-Qg6}k zPUGe6#|3*ZzK(QU{TYW+_0O7zxj-UXxdNeH?A`XNe_i;{RixtjIms`1) zJWnCdaR`q?Y)Ga1A`3uaAC2KwpmQK}A=XzMVLgZH3k2V>UB!(_!v@h~B++gKz3G%D zL&D3lvx{Hxn6Tg=mq)eC>}$(6YPsL#!q{P5*b6MvbcuUxI|Cn+gGaU7Y~@`-^b_h5 z?jPo8Livv?r5d(Ro^u5Q0CC7TQ@7GDPy^8@%X1ITIVP#WKT4ve@3_mPU-x^!{#>P1 z_OMYoke=Db*XzUp+9av8z;Z0oM5D}+zgf#0JnfQQP>o2P5*iV2PzyfA92i9lsTNQ! zj;$WeLRa(Q8@+l2oPC?u)TavQ>i~ylDO1IxlFv`ahtEwTf}@S^m>n76n{PhUp99g8 zg!!T{ju}KX={iYOmzk02h4zC~dwOGiXCx9KEdUPsbWrb=g68K36RchsgwOsYI+@9ZG~{vAXx< z>)Q{DCrxE8`m?MZBa}5zm3uvUoA#?;#Bx+RXvf;XGPsz*bd+GXn&Sl4|RQ~SwU zM#vdJce9kcLbENf4`oDM#}Jr7NL= zvck~@Xdzb)tNxAW|kL8LNj|(Lxs8N*Wj-ndMF6tpDBu9R@#%IZ3$FU`(viG@iW? zR%k^YYcPkc2BmuJX&MgKoF$a4N=-YSPh6?>YcNTb8 zb_HGoEuVquITJ}12t8Er$%I-HTboUKTq1=%at6g!IVx2zseHq^Ror)O^5abKpB6z* zi3WohKR7Ef5udJjSGtx}MbE0TSMeF}px&Il|KtHDO#o*+*=pB`IFxZtL_yfgZNuSM zCna3?z9e?&a7L+sD|(_%?gh_Yd2m7Vf=IVzaaTKDS3BQSEOIhqh8N1;N;WV3)T=>X zpFam(tmw{6Y-M!UjhM@sJMC#WCS5R&>PeTwg8+YcyTcLqOU~nj$7vZ3xR^VYX(5@S z@k^Ka&FewZR8}&AwX_T!9v}uOEDh-@QCsOaNwL4T!DOJsmABt{?J8lH+#|lglW@A2 zv1xU(R8aH;<%fW1=jAP8_A>5z8O}SBaDY(XbCpfon$CFyR z4C-UB6Loz!b(_n1tsFOdq4T_r>=XO$XmO)3UHiIJ-A|5F^SJ|Ji;0!s@#fVbz7w_= zQuA<$r(_%w;`9Yus){KhCO&&MA_YSZYmP`6SO@Y`|2L$E)6B-p#CKOBKa`pTq<$*X zPjnlMen$@(Z&o9p$_OWc!ik?*QXi#*&y!+JmAx(dhsek36fOm|xJH}|icTrri(3a6 z`C&l$xF5Itk3;eU+tjFJZqW)w;&3}g#{P{op{;l{sPt>13YW_nz zte^00GV?k>Yggfg+Cwms(5xqGZJF4 zqxe6|Oz(f1dEh_r|1uxz4O^S@7}C%(@>}Z)$9<)lPuiy|KGN9z7t!mHAI4Q@1Rk1PGfC@6YDIa%#}px_s5TZq@OvFfgR0M5IIxB# z*d96p1F7^0;tD*N%0b5%K4RiR0#qQ)rX+sKa4&qJj3PHNb)7BVz;bsW1+a0!5(WT~ z0i?8eVjuAIj4mT;AJ1Y=B9~+XX*w<>FKiuRtw5UM51%QZFdfNN1}xB>?6F%T->EoU z@R>h9?B_E6d_aD_XFqq4pL^raBj)Gf`LiteSzZ0C8-JGHKO2ibw`Gd=DvWwFbkhmRmN_5Cu@>v-fm})nsshDAU3z}7aw*UYD From 3d48ed411d872b5b3f03c114e6b1c074bb4293e8 Mon Sep 17 00:00:00 2001 From: Taras Nikulin Date: Sun, 23 Apr 2017 23:36:55 +0300 Subject: [PATCH 071/713] Credits --- Dijkstra Algorithm/README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Dijkstra Algorithm/README.md b/Dijkstra Algorithm/README.md index 9999e224e..086e60c55 100644 --- a/Dijkstra Algorithm/README.md +++ b/Dijkstra Algorithm/README.md @@ -144,5 +144,4 @@ Click the link: [YouTube](https://youtu.be/PPESI7et0cQ) ## Credits -WWDC 2017 Scholarship Project -Created by [Taras Nikulin](https://github.com/crabman448) +WWDC 2017 Scholarship Project (Rejected) created by [Taras Nikulin](https://github.com/crabman448) From 0de6055763a91902d3a52ef4857930aec6dbd0d7 Mon Sep 17 00:00:00 2001 From: Taras Nikulin Date: Tue, 25 Apr 2017 17:36:09 +0300 Subject: [PATCH 072/713] Added code description --- Dijkstra Algorithm/README.md | 138 +++++++++++++++++++++++++++++++++++ 1 file changed, 138 insertions(+) diff --git a/Dijkstra Algorithm/README.md b/Dijkstra Algorithm/README.md index 086e60c55..a72843e69 100644 --- a/Dijkstra Algorithm/README.md +++ b/Dijkstra Algorithm/README.md @@ -132,6 +132,144 @@ From now we repeat all actions again and fill our table with new info! | Path Length From Start | 0 | 3 | 8 | 1 | 2 | | Path Vertices From Start | [A] | [A, B] | [A, B, C]| [A, D] | [A, D, E ] | + +## Code implementation +First of all, lets create class, that will describe any Vertex in the graph. +It is pretty simple +```swift +open class Vertex { + + //Every vertex should be unique, that's why we set up identifier + open var identifier: String + + //For dijkstra every vertex in the graph should be connected with at least one other vertex. But there can be some use cases, + //when you firstly initialize all vertices without neighbors. And then on next interation set up thei neighbors. So, initially neighbors is an empty array. + //Array contains tuples (Vertex, Double). Vertex is a neighbor and Double is as edge weight to that neighbor. + open var neighbors: [(Vertex, Double)] = [] + + //As it was mentioned in algorithm description, default path length from start for all vertices should be as much as possible. + //It is var, because we will update it during algorithm execution. + open var pathLengthFromStart = Double.infinity + + //This array containt vertices, which we need to go through to reach this vertex from starting one + //As with path length from start, we will change this array during algorithm execution. + open var pathVerticesFromStart: [Vertex] = [] + + public init(identifier: String) { + self.identifier = identifier + } + + //This function let us use the same array of vertices again and again to calculate paths with different starting vertex. + //When we will need to set new starting vertex andd recalculate paths, then we will simply clear graph vertices' cashes. + open func clearCache() { + pathLengthFromStart = Double.infinity + pathVerticesFromStart = [] + } +} +``` + +Because every vertex should be unique it is usefull to make them Hashable and according Equatable. We use identifier for this purposes. +```swift +extension Vertex: Hashable { + open var hashValue: Int { + return identifier.hashValue + } +} + +extension Vertex: Equatable { + public static func ==(lhs: Vertex, rhs: Vertex) -> Bool { + return lhs.hashValue == rhs.hashValue + } +} +``` + +We've created a base for our algorithm. Now let's create a house :) +Dijkstra's realization is really straightforward. +```swift +public class Dijkstra { + //It is a storage for vertices in the graph. + //Assuming, that our vertices are unique, we can use Set instead of array. This approach will bring some benefits later. + private var totalVertices: Set + + public init(vertices: Set) { + totalVertices = vertices + } + + //Remember clearCache function in the Vertex class implementation? + //This is just a wrapper that cleans cache for all stored vertices. + private func clearCache() { + totalVertices.forEach { $0.clearCache() } + } + + public func findShortestPaths(from startVertex: Vertex) { + //Before we start searching shortes path from startVertex, + //we need to clear vertices cache just to be sure, that out graph is as clean as a baby. + //Remember that every Vertex is a class and classes are passed by reference. + //So whenever you change vertex outside of this class, it will affect this vertex inside totalVertices Set + clearCache() + //Now all our vertices have Double.infinity pathLengthFromStart and empty pathVerticesFromStart array. + + //The next step in the algorithm is to set startVertex pathLengthFromStart and pathVerticesFromStart + startVertex.pathLengthFromStart = 0 + startVertex.pathVerticesFromStart.append(startVertex) + + //Here starts the main part. We will use while loop to iterate through all vertices in the graph. + //For this purpose we define currentVertex variable, which we will change in the end of each while cycle. + var currentVertex: Vertex? = startVertex + + while let vertex = currentVertex { + + //Nex line of code is an implementation of setting vertex as visited. + //As it has been said, we should check only unvisited vertices in the graph, + //So why don't just delete it from the set? This approach let us skip checking for *"if !vertex.visited then"* + totalVertices.remove(vertex) + + //filteredNeighbors is and arrray, that contains current vertex neighbors, which aren't yet visited + let filteredNeighbors = vertex.neighbors.filter { totalVertices.contains($0.0) } + + //Let's iterate through them + for neighbor in filteredNeighbors { + //These variable are more representative, than neighbor.0 or neighbor.1 + let neighborVertex = neighbor.0 + let weight = neighbor.1 + + //Here we calculate new weight, that we can offer to neighbor. + let theoreticNewWeight = vertex.pathLengthFromStart + weight + + //If it is smaller than neighbor's current pathLengthFromStart + //Then we perform this code + if theoreticNewWeight < neighborVertex.pathLengthFromStart { + + //set new pathLengthFromStart + neighborVertex.pathLengthFromStart = theoreticNewWeight + + //set new pathVerticesFromStart + neighborVertex.pathVerticesFromStart = vertex.pathVerticesFromStart + + //append current vertex to neighbor's pathVerticesFromStart + neighborVertex.pathVerticesFromStart.append(neighborVertex) + } + } + + //If totalVertices is empty, i.e. all vertices are visited + //Than break the loop + if totalVertices.isEmpty { + currentVertex = nil + break + } + + //If loop is not broken, than pick next vertex for checkin from not visited. + //Next vertex pathLengthFromStart should be the smallest one. + currentVertex = totalVertices.min { $0.pathLengthFromStart < $1.pathLengthFromStart } + } + } +} +``` + +That's all! Now you can check this algorithm in the playground. On the main page there is a code for creating random graph. + +Also there is a **VisualizedDijkstra.playground**. Use it to figure out algorithm flow in real (slowed :)) time. + ## About this repository This repository contains to playgrounds: From aac4f8fbf24f6996b70ea5c1f792ba7b81cd9e98 Mon Sep 17 00:00:00 2001 From: Taras Nikulin Date: Tue, 25 Apr 2017 17:54:34 +0300 Subject: [PATCH 073/713] Fixed code comments --- Dijkstra Algorithm/README.md | 76 ++++++++++++++++++------------------ 1 file changed, 38 insertions(+), 38 deletions(-) diff --git a/Dijkstra Algorithm/README.md b/Dijkstra Algorithm/README.md index a72843e69..2b6bc3875 100644 --- a/Dijkstra Algorithm/README.md +++ b/Dijkstra Algorithm/README.md @@ -139,28 +139,28 @@ It is pretty simple ```swift open class Vertex { - //Every vertex should be unique, that's why we set up identifier +//Every vertex should be unique, that's why we set up identifier open var identifier: String - //For dijkstra every vertex in the graph should be connected with at least one other vertex. But there can be some use cases, - //when you firstly initialize all vertices without neighbors. And then on next interation set up thei neighbors. So, initially neighbors is an empty array. - //Array contains tuples (Vertex, Double). Vertex is a neighbor and Double is as edge weight to that neighbor. +//For dijkstra every vertex in the graph should be connected with at least one other vertex. But there can be some use cases, +//when you firstly initialize all vertices without neighbors. And then on next interation set up thei neighbors. So, initially neighbors is an empty array. +//Array contains tuples (Vertex, Double). Vertex is a neighbor and Double is as edge weight to that neighbor. open var neighbors: [(Vertex, Double)] = [] - //As it was mentioned in algorithm description, default path length from start for all vertices should be as much as possible. - //It is var, because we will update it during algorithm execution. +//As it was mentioned in algorithm description, default path length from start for all vertices should be as much as possible. +//It is var, because we will update it during algorithm execution. open var pathLengthFromStart = Double.infinity - //This array containt vertices, which we need to go through to reach this vertex from starting one - //As with path length from start, we will change this array during algorithm execution. +//This array containt vertices, which we need to go through to reach this vertex from starting one +//As with path length from start, we will change this array during algorithm execution. open var pathVerticesFromStart: [Vertex] = [] public init(identifier: String) { self.identifier = identifier } - //This function let us use the same array of vertices again and again to calculate paths with different starting vertex. - //When we will need to set new starting vertex andd recalculate paths, then we will simply clear graph vertices' cashes. +//This function let us use the same array of vertices again and again to calculate paths with different starting vertex. +//When we will need to set new starting vertex andd recalculate paths, then we will simply clear graph vertices' cashes. open func clearCache() { pathLengthFromStart = Double.infinity pathVerticesFromStart = [] @@ -187,79 +187,79 @@ We've created a base for our algorithm. Now let's create a house :) Dijkstra's realization is really straightforward. ```swift public class Dijkstra { - //It is a storage for vertices in the graph. - //Assuming, that our vertices are unique, we can use Set instead of array. This approach will bring some benefits later. +//It is a storage for vertices in the graph. +//Assuming, that our vertices are unique, we can use Set instead of array. This approach will bring some benefits later. private var totalVertices: Set public init(vertices: Set) { totalVertices = vertices } - //Remember clearCache function in the Vertex class implementation? - //This is just a wrapper that cleans cache for all stored vertices. +//Remember clearCache function in the Vertex class implementation? +//This is just a wrapper that cleans cache for all stored vertices. private func clearCache() { totalVertices.forEach { $0.clearCache() } } public func findShortestPaths(from startVertex: Vertex) { - //Before we start searching shortes path from startVertex, - //we need to clear vertices cache just to be sure, that out graph is as clean as a baby. - //Remember that every Vertex is a class and classes are passed by reference. - //So whenever you change vertex outside of this class, it will affect this vertex inside totalVertices Set +//Before we start searching shortes path from startVertex, +//we need to clear vertices cache just to be sure, that out graph is as clean as a baby. +//Remember that every Vertex is a class and classes are passed by reference. +//So whenever you change vertex outside of this class, it will affect this vertex inside totalVertices Set clearCache() - //Now all our vertices have Double.infinity pathLengthFromStart and empty pathVerticesFromStart array. +//Now all our vertices have Double.infinity pathLengthFromStart and empty pathVerticesFromStart array. - //The next step in the algorithm is to set startVertex pathLengthFromStart and pathVerticesFromStart +//The next step in the algorithm is to set startVertex pathLengthFromStart and pathVerticesFromStart startVertex.pathLengthFromStart = 0 startVertex.pathVerticesFromStart.append(startVertex) - //Here starts the main part. We will use while loop to iterate through all vertices in the graph. - //For this purpose we define currentVertex variable, which we will change in the end of each while cycle. +//Here starts the main part. We will use while loop to iterate through all vertices in the graph. +//For this purpose we define currentVertex variable, which we will change in the end of each while cycle. var currentVertex: Vertex? = startVertex while let vertex = currentVertex { - //Nex line of code is an implementation of setting vertex as visited. - //As it has been said, we should check only unvisited vertices in the graph, - //So why don't just delete it from the set? This approach let us skip checking for *"if !vertex.visited then"* +//Nex line of code is an implementation of setting vertex as visited. +//As it has been said, we should check only unvisited vertices in the graph, +//So why don't just delete it from the set? This approach let us skip checking for *"if !vertex.visited then"* totalVertices.remove(vertex) - //filteredNeighbors is and arrray, that contains current vertex neighbors, which aren't yet visited +//filteredNeighbors is and arrray, that contains current vertex neighbors, which aren't yet visited let filteredNeighbors = vertex.neighbors.filter { totalVertices.contains($0.0) } - //Let's iterate through them +//Let's iterate through them for neighbor in filteredNeighbors { - //These variable are more representative, than neighbor.0 or neighbor.1 +//These variable are more representative, than neighbor.0 or neighbor.1 let neighborVertex = neighbor.0 let weight = neighbor.1 - //Here we calculate new weight, that we can offer to neighbor. +//Here we calculate new weight, that we can offer to neighbor. let theoreticNewWeight = vertex.pathLengthFromStart + weight - //If it is smaller than neighbor's current pathLengthFromStart - //Then we perform this code +//If it is smaller than neighbor's current pathLengthFromStart +//Then we perform this code if theoreticNewWeight < neighborVertex.pathLengthFromStart { - //set new pathLengthFromStart +//set new pathLengthFromStart neighborVertex.pathLengthFromStart = theoreticNewWeight - //set new pathVerticesFromStart +//set new pathVerticesFromStart neighborVertex.pathVerticesFromStart = vertex.pathVerticesFromStart - //append current vertex to neighbor's pathVerticesFromStart +//append current vertex to neighbor's pathVerticesFromStart neighborVertex.pathVerticesFromStart.append(neighborVertex) } } - //If totalVertices is empty, i.e. all vertices are visited - //Than break the loop +//If totalVertices is empty, i.e. all vertices are visited +//Than break the loop if totalVertices.isEmpty { currentVertex = nil break } - //If loop is not broken, than pick next vertex for checkin from not visited. - //Next vertex pathLengthFromStart should be the smallest one. +//If loop is not broken, than pick next vertex for checkin from not visited. +//Next vertex pathLengthFromStart should be the smallest one. currentVertex = totalVertices.min { $0.pathLengthFromStart < $1.pathLengthFromStart } } } From edbccd3b4fee79fe55ce2d741833dbef431bf466 Mon Sep 17 00:00:00 2001 From: Taras Nikulin Date: Tue, 25 Apr 2017 17:57:12 +0300 Subject: [PATCH 074/713] Fixed comments again --- Dijkstra Algorithm/README.md | 76 ++++++++++++++++++------------------ 1 file changed, 38 insertions(+), 38 deletions(-) diff --git a/Dijkstra Algorithm/README.md b/Dijkstra Algorithm/README.md index 2b6bc3875..a8ed3c827 100644 --- a/Dijkstra Algorithm/README.md +++ b/Dijkstra Algorithm/README.md @@ -139,28 +139,28 @@ It is pretty simple ```swift open class Vertex { -//Every vertex should be unique, that's why we set up identifier + //Every vertex should be unique, that's why we set up identifier open var identifier: String -//For dijkstra every vertex in the graph should be connected with at least one other vertex. But there can be some use cases, -//when you firstly initialize all vertices without neighbors. And then on next interation set up thei neighbors. So, initially neighbors is an empty array. -//Array contains tuples (Vertex, Double). Vertex is a neighbor and Double is as edge weight to that neighbor. + //For dijkstra every vertex in the graph should be connected with at least one other vertex. But there can be some use cases, + //when you firstly initialize all vertices without neighbors. And then on next interation set up thei neighbors. So, initially neighbors is an empty array. + //Array contains tuples (Vertex, Double). Vertex is a neighbor and Double is as edge weight to that neighbor. open var neighbors: [(Vertex, Double)] = [] -//As it was mentioned in algorithm description, default path length from start for all vertices should be as much as possible. -//It is var, because we will update it during algorithm execution. + //As it was mentioned in algorithm description, default path length from start for all vertices should be as much as possible. + //It is var, because we will update it during algorithm execution. open var pathLengthFromStart = Double.infinity -//This array containt vertices, which we need to go through to reach this vertex from starting one -//As with path length from start, we will change this array during algorithm execution. + //This array containt vertices, which we need to go through to reach this vertex from starting one + //As with path length from start, we will change this array during algorithm execution. open var pathVerticesFromStart: [Vertex] = [] public init(identifier: String) { self.identifier = identifier } -//This function let us use the same array of vertices again and again to calculate paths with different starting vertex. -//When we will need to set new starting vertex andd recalculate paths, then we will simply clear graph vertices' cashes. + //This function let us use the same array of vertices again and again to calculate paths with different starting vertex. + //When we will need to set new starting vertex andd recalculate paths, then we will simply clear graph vertices' cashes. open func clearCache() { pathLengthFromStart = Double.infinity pathVerticesFromStart = [] @@ -187,79 +187,79 @@ We've created a base for our algorithm. Now let's create a house :) Dijkstra's realization is really straightforward. ```swift public class Dijkstra { -//It is a storage for vertices in the graph. -//Assuming, that our vertices are unique, we can use Set instead of array. This approach will bring some benefits later. + //This is a storage for vertices in the graph. + //Assuming, that our vertices are unique, we can use Set instead of array. This approach will bring some benefits later. private var totalVertices: Set public init(vertices: Set) { totalVertices = vertices } -//Remember clearCache function in the Vertex class implementation? -//This is just a wrapper that cleans cache for all stored vertices. + //Remember clearCache function in the Vertex class implementation? + //This is just a wrapper that cleans cache for all stored vertices. private func clearCache() { totalVertices.forEach { $0.clearCache() } } public func findShortestPaths(from startVertex: Vertex) { -//Before we start searching shortes path from startVertex, -//we need to clear vertices cache just to be sure, that out graph is as clean as a baby. -//Remember that every Vertex is a class and classes are passed by reference. -//So whenever you change vertex outside of this class, it will affect this vertex inside totalVertices Set + //Before we start searching shortes path from startVertex, + //we need to clear vertices cache just to be sure, that out graph is as clean as a baby. + //Remember that every Vertex is a class and classes are passed by reference. + //So whenever you change vertex outside of this class, it will affect this vertex inside totalVertices Set clearCache() -//Now all our vertices have Double.infinity pathLengthFromStart and empty pathVerticesFromStart array. + //Now all our vertices have Double.infinity pathLengthFromStart and empty pathVerticesFromStart array. -//The next step in the algorithm is to set startVertex pathLengthFromStart and pathVerticesFromStart + //The next step in the algorithm is to set startVertex pathLengthFromStart and pathVerticesFromStart startVertex.pathLengthFromStart = 0 startVertex.pathVerticesFromStart.append(startVertex) -//Here starts the main part. We will use while loop to iterate through all vertices in the graph. -//For this purpose we define currentVertex variable, which we will change in the end of each while cycle. + //Here starts the main part. We will use while loop to iterate through all vertices in the graph. + //For this purpose we define currentVertex variable, which we will change in the end of each while cycle. var currentVertex: Vertex? = startVertex while let vertex = currentVertex { -//Nex line of code is an implementation of setting vertex as visited. -//As it has been said, we should check only unvisited vertices in the graph, -//So why don't just delete it from the set? This approach let us skip checking for *"if !vertex.visited then"* + //Nex line of code is an implementation of setting vertex as visited. + //As it has been said, we should check only unvisited vertices in the graph, + //So why don't just delete it from the set? This approach let us skip checking for *"if !vertex.visited then"* totalVertices.remove(vertex) -//filteredNeighbors is and arrray, that contains current vertex neighbors, which aren't yet visited + //filteredNeighbors is and arrray, that contains current vertex neighbors, which aren't yet visited let filteredNeighbors = vertex.neighbors.filter { totalVertices.contains($0.0) } -//Let's iterate through them + //Let's iterate through them for neighbor in filteredNeighbors { -//These variable are more representative, than neighbor.0 or neighbor.1 + //These variable are more representative, than neighbor.0 or neighbor.1 let neighborVertex = neighbor.0 let weight = neighbor.1 -//Here we calculate new weight, that we can offer to neighbor. + //Here we calculate new weight, that we can offer to neighbor. let theoreticNewWeight = vertex.pathLengthFromStart + weight -//If it is smaller than neighbor's current pathLengthFromStart -//Then we perform this code + //If it is smaller than neighbor's current pathLengthFromStart + //Then we perform this code if theoreticNewWeight < neighborVertex.pathLengthFromStart { -//set new pathLengthFromStart + //set new pathLengthFromStart neighborVertex.pathLengthFromStart = theoreticNewWeight -//set new pathVerticesFromStart + //set new pathVerticesFromStart neighborVertex.pathVerticesFromStart = vertex.pathVerticesFromStart -//append current vertex to neighbor's pathVerticesFromStart + //append current vertex to neighbor's pathVerticesFromStart neighborVertex.pathVerticesFromStart.append(neighborVertex) } } -//If totalVertices is empty, i.e. all vertices are visited -//Than break the loop + //If totalVertices is empty, i.e. all vertices are visited + //Than break the loop if totalVertices.isEmpty { currentVertex = nil break } -//If loop is not broken, than pick next vertex for checkin from not visited. -//Next vertex pathLengthFromStart should be the smallest one. + //If loop is not broken, than pick next vertex for checkin from not visited. + //Next vertex pathLengthFromStart should be the smallest one. currentVertex = totalVertices.min { $0.pathLengthFromStart < $1.pathLengthFromStart } } } From b6c5b820be7506bbbfec04b230bbedcda1b6f5d0 Mon Sep 17 00:00:00 2001 From: Taras Date: Tue, 25 Apr 2017 18:02:52 +0300 Subject: [PATCH 075/713] Update README.md --- Dijkstra Algorithm/README.md | 80 ++++++++++++++++++------------------ 1 file changed, 40 insertions(+), 40 deletions(-) diff --git a/Dijkstra Algorithm/README.md b/Dijkstra Algorithm/README.md index a8ed3c827..f8ac37cf0 100644 --- a/Dijkstra Algorithm/README.md +++ b/Dijkstra Algorithm/README.md @@ -139,28 +139,28 @@ It is pretty simple ```swift open class Vertex { - //Every vertex should be unique, that's why we set up identifier + //Every vertex should be unique, that's why we set up identifier open var identifier: String - //For dijkstra every vertex in the graph should be connected with at least one other vertex. But there can be some use cases, - //when you firstly initialize all vertices without neighbors. And then on next interation set up thei neighbors. So, initially neighbors is an empty array. - //Array contains tuples (Vertex, Double). Vertex is a neighbor and Double is as edge weight to that neighbor. + //For dijkstra every vertex in the graph should be connected with at least one other vertex. But there can be some use cases, + //when you firstly initialize all vertices without neighbors. And then on next interation set up thei neighbors. So, initially neighbors is an empty array. + //Array contains tuples (Vertex, Double). Vertex is a neighbor and Double is as edge weight to that neighbor. open var neighbors: [(Vertex, Double)] = [] - //As it was mentioned in algorithm description, default path length from start for all vertices should be as much as possible. - //It is var, because we will update it during algorithm execution. + //As it was mentioned in algorithm description, default path length from start for all vertices should be as much as possible. + //It is var, because we will update it during algorithm execution. open var pathLengthFromStart = Double.infinity - - //This array containt vertices, which we need to go through to reach this vertex from starting one - //As with path length from start, we will change this array during algorithm execution. + + //This array containt vertices, which we need to go through to reach this vertex from starting one + //As with path length from start, we will change this array during algorithm execution. open var pathVerticesFromStart: [Vertex] = [] public init(identifier: String) { self.identifier = identifier } - //This function let us use the same array of vertices again and again to calculate paths with different starting vertex. - //When we will need to set new starting vertex andd recalculate paths, then we will simply clear graph vertices' cashes. + //This function let us use the same array of vertices again and again to calculate paths with different starting vertex. + //When we will need to set new starting vertex andd recalculate paths, then we will simply clear graph vertices' cashes. open func clearCache() { pathLengthFromStart = Double.infinity pathVerticesFromStart = [] @@ -187,79 +187,79 @@ We've created a base for our algorithm. Now let's create a house :) Dijkstra's realization is really straightforward. ```swift public class Dijkstra { - //This is a storage for vertices in the graph. - //Assuming, that our vertices are unique, we can use Set instead of array. This approach will bring some benefits later. + //This is a storage for vertices in the graph. + //Assuming, that our vertices are unique, we can use Set instead of array. This approach will bring some benefits later. private var totalVertices: Set public init(vertices: Set) { totalVertices = vertices } - //Remember clearCache function in the Vertex class implementation? - //This is just a wrapper that cleans cache for all stored vertices. + //Remember clearCache function in the Vertex class implementation? + //This is just a wrapper that cleans cache for all stored vertices. private func clearCache() { totalVertices.forEach { $0.clearCache() } } public func findShortestPaths(from startVertex: Vertex) { - //Before we start searching shortes path from startVertex, - //we need to clear vertices cache just to be sure, that out graph is as clean as a baby. - //Remember that every Vertex is a class and classes are passed by reference. - //So whenever you change vertex outside of this class, it will affect this vertex inside totalVertices Set + //Before we start searching shortes path from startVertex, + //we need to clear vertices cache just to be sure, that out graph is as clean as a baby. + //Remember that every Vertex is a class and classes are passed by reference. + //So whenever you change vertex outside of this class, it will affect this vertex inside totalVertices Set clearCache() - //Now all our vertices have Double.infinity pathLengthFromStart and empty pathVerticesFromStart array. + //Now all our vertices have Double.infinity pathLengthFromStart and empty pathVerticesFromStart array. - //The next step in the algorithm is to set startVertex pathLengthFromStart and pathVerticesFromStart + //The next step in the algorithm is to set startVertex pathLengthFromStart and pathVerticesFromStart startVertex.pathLengthFromStart = 0 startVertex.pathVerticesFromStart.append(startVertex) - //Here starts the main part. We will use while loop to iterate through all vertices in the graph. - //For this purpose we define currentVertex variable, which we will change in the end of each while cycle. + //Here starts the main part. We will use while loop to iterate through all vertices in the graph. + //For this purpose we define currentVertex variable, which we will change in the end of each while cycle. var currentVertex: Vertex? = startVertex while let vertex = currentVertex { - - //Nex line of code is an implementation of setting vertex as visited. - //As it has been said, we should check only unvisited vertices in the graph, - //So why don't just delete it from the set? This approach let us skip checking for *"if !vertex.visited then"* + + //Nex line of code is an implementation of setting vertex as visited. + //As it has been said, we should check only unvisited vertices in the graph, + //So why don't just delete it from the set? This approach let us skip checking for *"if !vertex.visited then"* totalVertices.remove(vertex) - //filteredNeighbors is and arrray, that contains current vertex neighbors, which aren't yet visited + //filteredNeighbors is and arrray, that contains current vertex neighbors, which aren't yet visited let filteredNeighbors = vertex.neighbors.filter { totalVertices.contains($0.0) } - //Let's iterate through them + //Let's iterate through them for neighbor in filteredNeighbors { - //These variable are more representative, than neighbor.0 or neighbor.1 + //These variable are more representative, than neighbor.0 or neighbor.1 let neighborVertex = neighbor.0 let weight = neighbor.1 - //Here we calculate new weight, that we can offer to neighbor. + //Here we calculate new weight, that we can offer to neighbor. let theoreticNewWeight = vertex.pathLengthFromStart + weight - //If it is smaller than neighbor's current pathLengthFromStart - //Then we perform this code + //If it is smaller than neighbor's current pathLengthFromStart + //Then we perform this code if theoreticNewWeight < neighborVertex.pathLengthFromStart { - //set new pathLengthFromStart + //set new pathLengthFromStart neighborVertex.pathLengthFromStart = theoreticNewWeight - //set new pathVerticesFromStart + //set new pathVerticesFromStart neighborVertex.pathVerticesFromStart = vertex.pathVerticesFromStart - //append current vertex to neighbor's pathVerticesFromStart + //append current vertex to neighbor's pathVerticesFromStart neighborVertex.pathVerticesFromStart.append(neighborVertex) } } - //If totalVertices is empty, i.e. all vertices are visited - //Than break the loop + //If totalVertices is empty, i.e. all vertices are visited + //Than break the loop if totalVertices.isEmpty { currentVertex = nil break } - //If loop is not broken, than pick next vertex for checkin from not visited. - //Next vertex pathLengthFromStart should be the smallest one. + //If loop is not broken, than pick next vertex for checkin from not visited. + //Next vertex pathLengthFromStart should be the smallest one. currentVertex = totalVertices.min { $0.pathLengthFromStart < $1.pathLengthFromStart } } } From 9575a6745caa33bc5d864d6e406682af2f5f9515 Mon Sep 17 00:00:00 2001 From: Taras Nikulin Date: Tue, 25 Apr 2017 18:22:00 +0300 Subject: [PATCH 076/713] Added some comments to playground --- Dijkstra Algorithm/Dijkstra.playground/Contents.swift | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/Dijkstra Algorithm/Dijkstra.playground/Contents.swift b/Dijkstra Algorithm/Dijkstra.playground/Contents.swift index 1c12245bd..7c7f1a4b0 100644 --- a/Dijkstra Algorithm/Dijkstra.playground/Contents.swift +++ b/Dijkstra Algorithm/Dijkstra.playground/Contents.swift @@ -14,13 +14,18 @@ func createNotConnectedVertices() { func setupConnections() { for vertex in vertices { + //the amount of edges each vertex can have let randomEdgesCount = arc4random_uniform(4) + 1 for _ in 0.. Date: Wed, 26 Apr 2017 10:31:44 +0300 Subject: [PATCH 077/713] Final edits --- Dijkstra Algorithm/README.md | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/Dijkstra Algorithm/README.md b/Dijkstra Algorithm/README.md index f8ac37cf0..db1726b1f 100644 --- a/Dijkstra Algorithm/README.md +++ b/Dijkstra Algorithm/README.md @@ -2,13 +2,13 @@ This [algorithm](https://en.wikipedia.org/wiki/Dijkstra%27s_algorithm) was invented in 1956 by Edsger W. Dijkstra. -This algorithm can be used, when you have one source vertex and want to find the shortest paths to all other vertices in the graph. +It can be used, when you have one source vertex and want to find the shortest paths to all other vertices in the graph. The best example is road network. If you wnat to find the shortest path from your house to your job, then it is time for the Dijkstra's algorithm. -I have created **VisualizedDijkstra.playground** to help you to understand, how this algorithm works. Besides, I have described below step by step how does it works. +I have created **VisualizedDijkstra.playground** to improve your understanding of the algorithm's flow. Besides, below is step by step algorithm's description. -So let's imagine, that your house is "A" vertex and your job is "B" vertex. And you are lucky, you have graph with all possible routes. +Let's imagine, you want to go to the shop. Your house is A vertex and there are 4 possible stores around your house. How to find the closest one/ones? Luckily, you have graph, that connects your house with all these stores. So, you know what to do :) ## Initialization @@ -30,7 +30,7 @@ The table below represents graph state: >T states for True -To initialize out graph we have to set source vertex path length from source vertex to 0, and append itself to path vertices ffrom start. +To initialize our graph we have to set source vertex path length from source vertex to 0, and append itself to path vertices from start. | | A | B | C | D | E | |:------------------------- |:---:|:---:|:---:|:---:|:---:| @@ -40,7 +40,7 @@ To initialize out graph we have to set source vertex path length from source ver Great, now our graph is initialized and we can pass it to the Dijkstra's algorithm. -But before we will go through all process side by side let me explain how algorithm works. +But before we will go through all process side by side read this explanation. The algorithm repeats following cycle until all vertices are marked as visited. Cycle: 1. From the non-visited vertices the algorithm picks a vertex with the shortest path length from the start (if there are more than one vertex with the same shortest path value, then algorithm picks any of them) @@ -50,7 +50,7 @@ When all vertices are marked as visited, the algorithm's job is done. Now, you c Okay, let's start! Let's follow the algorithm's cycle and pick the first vertex, which neighbors we want to check. -All our vertices are not visited, but there is only one have the smallest path length from start - A. This vertex is th first one, which neighbors we will check. +All our vertices are not visited, but there is only one has the smallest path length from start - A. This vertex is the first one, which neighbors we will check. First of all, set this vertex as visited A.visited = true @@ -268,7 +268,9 @@ public class Dijkstra { That's all! Now you can check this algorithm in the playground. On the main page there is a code for creating random graph. -Also there is a **VisualizedDijkstra.playground**. Use it to figure out algorithm flow in real (slowed :)) time. +Also there is a **VisualizedDijkstra.playground**. Use it to figure out algorithm's flow in real (slowed :)) time. + +It is up to you how to implement some specific parts of algorithm, you can use Array instead of Set, add _visited_ property to Vertex or you can create some local totalVertices Array/Set inside _func findShortestPaths(from startVertex: Vertex)_ to keep totalVertices Array/Set unchanged. This is a general explanation with one possible implementation :) ## About this repository From d2f02efd49d2367382c7a6fffc5fa1e3b74c8eff Mon Sep 17 00:00:00 2001 From: Barbara Martina Rodeker Date: Sun, 21 May 2017 21:46:01 +0200 Subject: [PATCH 078/713] Initial Docs template and text --- Splay Tree/readme.md | 61 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 60 insertions(+), 1 deletion(-) diff --git a/Splay Tree/readme.md b/Splay Tree/readme.md index 2282502fa..aa6bdd4db 100644 --- a/Splay Tree/readme.md +++ b/Splay Tree/readme.md @@ -1 +1,60 @@ -In progress +# Splay Tree +Splay tree is a data structure, structurally identitical to a Balanced Binary Search Tree. Every operation performed on a Splay Tree causes a readjustment in order to provide fast access to recently operated values. On every access, the tree is rearranged and the node accessed is moved to the root of the tree using a set of specific rotations, which together are referred to as **Splaying**. + + +## Rotations + +### Zig-Zig + +Given a node *a* if *a* is not the root, and *a* has a child *b*, and both *a* and *b* are left children or right children, a **Zig-Zig** is performed. + +### Zig-Zag + +Given a node *a* if *a* is not the root, and *a* has a child *b*, and *b* is the left child of *a* being the right child (or the opporsite), a **Zig-Zag** is performed. + +### Zig + +A **Zig** is performed when the node *a* to be rotated has the root as parent. + +## Splaying + +## Operations + +### Insertion + +### Deletion + +### Search + +## Examples + +### Example 1 + +### Example 2 + +### Example 3 + +## Advantages + +Splay trees provide an efficient way to quickly access elements that are frequently requested. This characteristic makes then a good choice to implement, for exmaple, caches or garbage collection algorithms, or in any other problem involving frequent access to a certain numbers of elements from a data set. + +## Disadvantages + +Splay tree are not perfectly balanced always, so in case of accessing all the elements in the tree in an increasing order, the height of the tree becomes *n*. + +## Time complexity + +| Case | Performance | +| ------------- |:-------------:| +| Average | O(log n) | +| Worst | n | + +With *n* being the number of items in the tree. + + +## See also + +[Splay Tree on Wikipedia](https://en.wikipedia.org/wiki/Splay_tree) +[Splay Tree by University of California in Berkeley - CS 61B Lecture 34](https://www.youtube.com/watch?v=G5QIXywcJlY) + +*Written for Swift Algorithm Club by Mike Taghavi and Matthijs Hollemans* From 7f751918b92881d93aabce634a891b95f46a90f0 Mon Sep 17 00:00:00 2001 From: barbara Date: Sun, 21 May 2017 22:03:23 +0200 Subject: [PATCH 079/713] images for documentation --- Splay Tree/Images /zig.png | Bin 0 -> 7793 bytes Splay Tree/Images /zigzag1.png | Bin 0 -> 13964 bytes Splay Tree/Images /zigzag2.png | Bin 0 -> 13877 bytes Splay Tree/Images /zigzig1.png | Bin 0 -> 13855 bytes Splay Tree/Images /zigzig2.png | Bin 0 -> 15179 bytes 5 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 Splay Tree/Images /zig.png create mode 100644 Splay Tree/Images /zigzag1.png create mode 100644 Splay Tree/Images /zigzag2.png create mode 100644 Splay Tree/Images /zigzig1.png create mode 100644 Splay Tree/Images /zigzig2.png diff --git a/Splay Tree/Images /zig.png b/Splay Tree/Images /zig.png new file mode 100644 index 0000000000000000000000000000000000000000..e21522b6fe55f9529b2f818a4e108cd47964908b GIT binary patch literal 7793 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 YUzYE4d4Gxltz?jjlBQyfyhZr`0hMWjJpcdz literal 0 HcmV?d00001 diff --git a/Splay Tree/Images /zigzag1.png b/Splay Tree/Images /zigzag1.png new file mode 100644 index 0000000000000000000000000000000000000000..1bd40624802f9bbafa93472c6d3b8ec37711d0bc GIT binary patch literal 13964 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 W8y_a@5`1NbBL7lJrbNov@BaW;q?*+L literal 0 HcmV?d00001 diff --git a/Splay Tree/Images /zigzag2.png b/Splay Tree/Images /zigzag2.png new file mode 100644 index 0000000000000000000000000000000000000000..5f8e4c63f9763560028d3088396d3e24b5787b4a GIT binary patch literal 13877 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 literal 0 HcmV?d00001 diff --git a/Splay Tree/Images /zigzig1.png b/Splay Tree/Images /zigzig1.png new file mode 100644 index 0000000000000000000000000000000000000000..11ec330f2a33a56b5cb2aa983f05d7b9ed7b97c1 GIT binary patch literal 13855 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 LH5H2GUikfg>;GAg literal 0 HcmV?d00001 From 6c1c12651247ed73e3e727c0e7dc28e2a0b1e518 Mon Sep 17 00:00:00 2001 From: barbara Date: Sun, 21 May 2017 22:17:44 +0200 Subject: [PATCH 080/713] Images for examples documentation --- Splay Tree/Images /example1-1.png | Bin 0 -> 13964 bytes Splay Tree/Images /example1-2.png | Bin 0 -> 15451 bytes Splay Tree/Images /example1-3.png | Bin 0 -> 14778 bytes Splay Tree/Images /examplezig.svg | 2 ++ Splay Tree/Images /examplezig1.png | Bin 0 -> 6583 bytes Splay Tree/Images /examplezig2.png | Bin 0 -> 9317 bytes Splay Tree/Images /examplezigzig.svg | 2 ++ Splay Tree/Images /examplezigzig1.png | Bin 0 -> 13855 bytes Splay Tree/Images /examplezigzig2.png | Bin 0 -> 15247 bytes Splay Tree/Images /examplezigzig3.png | Bin 0 -> 18128 bytes 10 files changed, 4 insertions(+) create mode 100644 Splay Tree/Images /example1-1.png create mode 100644 Splay Tree/Images /example1-2.png create mode 100644 Splay Tree/Images /example1-3.png create mode 100644 Splay Tree/Images /examplezig.svg create mode 100644 Splay Tree/Images /examplezig1.png create mode 100644 Splay Tree/Images /examplezig2.png create mode 100644 Splay Tree/Images /examplezigzig.svg create mode 100644 Splay Tree/Images /examplezigzig1.png create mode 100644 Splay Tree/Images /examplezigzig2.png create mode 100644 Splay Tree/Images /examplezigzig3.png diff --git a/Splay Tree/Images /example1-1.png b/Splay Tree/Images /example1-1.png new file mode 100644 index 0000000000000000000000000000000000000000..1bd40624802f9bbafa93472c6d3b8ec37711d0bc GIT binary patch literal 13964 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 W8y_a@5`1NbBL7lJrbNov@BaW;q?*+L literal 0 HcmV?d00001 diff --git a/Splay Tree/Images /example1-2.png b/Splay Tree/Images /example1-2.png new file mode 100644 index 0000000000000000000000000000000000000000..46dd35bcd131dc43f7edb45a9efe7c6c585950f0 GIT binary patch literal 15451 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 TFbIB=iK8U1CRZY38t{JrK7T3H literal 0 HcmV?d00001 diff --git a/Splay Tree/Images /examplezig.svg b/Splay Tree/Images /examplezig.svg new file mode 100644 index 000000000..800ef1886 --- /dev/null +++ b/Splay Tree/Images /examplezig.svg @@ -0,0 +1,2 @@ + +
2
2
6
6
10
10
2
2
6
6
10
10
\ No newline at end of file diff --git a/Splay Tree/Images /examplezig1.png b/Splay Tree/Images /examplezig1.png new file mode 100644 index 0000000000000000000000000000000000000000..dda9d6de91d4dcd011fcc9356ee305a8c0eb68e1 GIT binary patch literal 6583 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 U21jw=A2I}Y(05T)YIYI-53Dwf-2eap literal 0 HcmV?d00001 diff --git a/Splay Tree/Images /examplezig2.png b/Splay Tree/Images /examplezig2.png new file mode 100644 index 0000000000000000000000000000000000000000..ba8a48867103c53ac775bd74046d239deaf747eb GIT binary patch literal 9317 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 literal 0 HcmV?d00001 diff --git a/Splay Tree/Images /examplezigzig.svg b/Splay Tree/Images /examplezigzig.svg new file mode 100644 index 000000000..7bd4dcf6f --- /dev/null +++ b/Splay Tree/Images /examplezigzig.svg @@ -0,0 +1,2 @@ + +
4
4
3
3
9
9
2
2
7
7
20
20
2 - ZIG
2 - ZIG
1 - ZIG
1 - ZIG
9
9
7
7
20
20
4
4
2
2
3
3
9
9
7
7
20
20
4
4
2
2
3
3
\ No newline at end of file diff --git a/Splay Tree/Images /examplezigzig1.png b/Splay Tree/Images /examplezigzig1.png new file mode 100644 index 0000000000000000000000000000000000000000..11ec330f2a33a56b5cb2aa983f05d7b9ed7b97c1 GIT binary patch literal 13855 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 OF;o-~@>Q~yVgCoGitcv+ literal 0 HcmV?d00001 diff --git a/Splay Tree/Images /examplezigzig3.png b/Splay Tree/Images /examplezigzig3.png new file mode 100644 index 0000000000000000000000000000000000000000..dbc40a3ba39fe01e44846dba5b16bd6cfed5a351 GIT binary patch literal 18128 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≻M%oM94;*+% zs-#srY}8qlCdTmMuu~$m?z*-&DSe>R`a6nmM!c4&<})trz~NJPh?j*%z!^v}X$~0W zDy3fgkzxE*fqo8(Awf-A1QXyKa(ZoiTx9(5)=nHA5*L6lh3*2b@F=Ll@679{@8Y!2 zX&>KK34&lT#vrqZ5k80k#nRSL>azz-l8{*j<9HAstR`f8zinjK(If5cyB&(9>D(YU9A0bcDCuSkc|IF4C3{LKCz`sXA8I_x?_@t*9ACN-f4z`G@uyClnqzYDC zFCB`i$_S3CWDL}U%SdDTjSmNUySh|4nT`j3MS*WZkx=qMyp9LHJK~g~nN%g|ADV`s zhoS@tB!Kb;3J-_L1T^Z3faX2yVo{!KVij<7&tayPRHN%~tPTJ+oT9tD$pe z2xMk9mP`%@Xo2`$+lrPLe@EUASf9m6+58!-O<5;Cq1AiH4UNYPjzf~-*OEQ z8WpdD4KDkMs=ZG}SR3^3snk4Pg+7UkdR;#3tx3)TJR;xS0lA%V+mg?qs#zRv&E7Ka zif-z_saNC%VmSv8OMs;sCr9VYUs}7>&h#3Ei)x33E@5X`K=mJw?R*@|4bKdRrN+m{ zzqt!-+WHC}b$Zh@q*MqP3PIhr{1Oc~kL^S!7KHpg2C-ZvGht}jZmQ6PqmW5

~t9TomnK zsmVR6O4QK&fW4Jf8*JhLtEUbaDFG#f#^pak$o>WWhx%-AP^g_=e*pL$l6lYMM}vom z^dA`n_Ex5vNtyjt<_1)n0UfqG-spd!N^7-igVUtl2quTdKDy>=$(G$9?T-l9HwEE& z;Bs|S$PJU}XZ{sB&K4&jv~T=w8ZvR9P0?&c6Iy5K7li0=Cy^DxMWDYR|^P ztT@r1KYw0fX;6+FaHCYLdGVb39B`k3w~B=X@EVraZ~qlDT&E<}uUP#_2@K>`y%)Rj z$=w=^-~ByL`h@PXHs!2(Viju2J7TX~QBssoS||%-WMn#F8$DGRP zV(fqvz6PxzMNLYr4&_FPIDa*NiKA=|rXo^2z8B8UsZ){lD`G5r)7TgLG8b7>Ug8F; zRDuf9^F|@g?&n+%(`!21qQ5i<(~3u{c$fYS6}Pb}NZy0!hN}U~VwhVu{*>Y)4cY%> ziX)B`=v5)(VF(`zA{vo+0vZ}Zf*S$)6;?4jo}h1q?yr7vtY2hs>U4K~M- zZ&WA;;=2_JZPtNNLr9PW#RVzh;NbgX-wUvj{FxRv z53m{%0t8Ltlali6(6yd!*r7%d8=UHD5buqNk0Y0G z_Cbh~jE>H+4&i4h`NccUyM_4t1y6%&?~iv6lCzpdHw*?Y2J`c4e-B;0#tFXE8-@v`k01P z3oWt>S)EA)-}@%#>k`0{9I@-7oAs`@`AP0xrZ2Bjv^JtaFOr zN3ccEtxxPAuP0ACaK`-TVt0B8jQ1p>upvQS3|FX{YDjzc(W>62B&_f9zY z$}o@}aGRFc*>Xq$vzzaUv74&*(}^#GAVF`W@E!xWZ3g~lnlo1%ySx9&5QxF8nEx|F zki`ma;Q!1J>@vMh_^%8>2KM>*uMEL4S-H?#5tyaXYOU`-2erUNQ!jb+lS6yR+MrizmH|0_pu`G0Z* z4+sd2&=5aF|3ggw=$|}sP^#9u2{<-KApCTq%;L&GbO0Z;f&%3eWcF z5Ha(yj5%4pi5%1~wZL_lAqA+(_Lm(;)|2iyX6!U8>BZQ_-;}%!(S0!xh)3|o_hi4j zy}$v4h?nG^x&fIy3k0!#zoVX{UupJ;4WNToTto3c1tDTc;}9$xxd**oBjhXwGDdkh z#wSEr^c^UyDF<>YS`2A9DI~|b&zzj z_#ck@CnCH}K+O)!FhFhv55cTTQ3M5NXv4fQptpAq+2(R}mg?e&N)_mbO*M>%JGd@D z(m2HHze2#m5l1x$s5B3H>5|>ae5k*dmlqo`x@BMB&uAtH{-RHdM_~k5fL}pPfco1@ z;h1zqZj{Xy1CMw#t*%WJMMBno}WAgIpn?|~^R-wC?v&D;mcj9{K| z!Qi&5pNd`h6-Y-oLVKo4LWW&bRFCCB((8m^LFB~WuhLKq0r81n*(XT}&@WhwPvJ)V z{}S4D^^>s+#|CS1ATp!&!7)!k-fabXN8h=^e&RcI5Oe(hP7$0$rt`qq1Leciq^9W! zNyX!U;Kb?a={fkx+hcjWvY_dobgm)t_U+pi0D6(q(eVJRw{kmXHbnaPib Date: Sun, 21 May 2017 22:20:42 +0200 Subject: [PATCH 081/713] delete blank images space --- Splay Tree/{Images => Images}/example1-1.png | Bin Splay Tree/{Images => Images}/example1-2.png | Bin Splay Tree/{Images => Images}/example1-3.png | Bin Splay Tree/{Images => Images}/examplezig.svg | 0 Splay Tree/{Images => Images}/examplezig1.png | Bin Splay Tree/{Images => Images}/examplezig2.png | Bin Splay Tree/{Images => Images}/examplezigzig.svg | 0 Splay Tree/{Images => Images}/examplezigzig1.png | Bin Splay Tree/{Images => Images}/examplezigzig2.png | Bin Splay Tree/{Images => Images}/examplezigzig3.png | Bin Splay Tree/{Images => Images}/zig.png | Bin Splay Tree/{Images => Images}/zigzag1.png | Bin Splay Tree/{Images => Images}/zigzag2.png | Bin Splay Tree/{Images => Images}/zigzig1.png | Bin Splay Tree/{Images => Images}/zigzig2.png | Bin 15 files changed, 0 insertions(+), 0 deletions(-) rename Splay Tree/{Images => Images}/example1-1.png (100%) rename Splay Tree/{Images => Images}/example1-2.png (100%) rename Splay Tree/{Images => Images}/example1-3.png (100%) rename Splay Tree/{Images => Images}/examplezig.svg (100%) rename Splay Tree/{Images => Images}/examplezig1.png (100%) rename Splay Tree/{Images => Images}/examplezig2.png (100%) rename Splay Tree/{Images => Images}/examplezigzig.svg (100%) rename Splay Tree/{Images => Images}/examplezigzig1.png (100%) rename Splay Tree/{Images => Images}/examplezigzig2.png (100%) rename Splay Tree/{Images => Images}/examplezigzig3.png (100%) rename Splay Tree/{Images => Images}/zig.png (100%) rename Splay Tree/{Images => Images}/zigzag1.png (100%) rename Splay Tree/{Images => Images}/zigzag2.png (100%) rename Splay Tree/{Images => Images}/zigzig1.png (100%) rename Splay Tree/{Images => Images}/zigzig2.png (100%) diff --git a/Splay Tree/Images /example1-1.png b/Splay Tree/Images/example1-1.png similarity index 100% rename from Splay Tree/Images /example1-1.png rename to Splay Tree/Images/example1-1.png diff --git a/Splay Tree/Images /example1-2.png b/Splay Tree/Images/example1-2.png similarity index 100% rename from Splay Tree/Images /example1-2.png rename to Splay Tree/Images/example1-2.png diff --git a/Splay Tree/Images /example1-3.png b/Splay Tree/Images/example1-3.png similarity index 100% rename from Splay Tree/Images /example1-3.png rename to Splay Tree/Images/example1-3.png diff --git a/Splay Tree/Images /examplezig.svg b/Splay Tree/Images/examplezig.svg similarity index 100% rename from Splay Tree/Images /examplezig.svg rename to Splay Tree/Images/examplezig.svg diff --git a/Splay Tree/Images /examplezig1.png b/Splay Tree/Images/examplezig1.png similarity index 100% rename from Splay Tree/Images /examplezig1.png rename to Splay Tree/Images/examplezig1.png diff --git a/Splay Tree/Images /examplezig2.png b/Splay Tree/Images/examplezig2.png similarity index 100% rename from Splay Tree/Images /examplezig2.png rename to Splay Tree/Images/examplezig2.png diff --git a/Splay Tree/Images /examplezigzig.svg b/Splay Tree/Images/examplezigzig.svg similarity index 100% rename from Splay Tree/Images /examplezigzig.svg rename to Splay Tree/Images/examplezigzig.svg diff --git a/Splay Tree/Images /examplezigzig1.png b/Splay Tree/Images/examplezigzig1.png similarity index 100% rename from Splay Tree/Images /examplezigzig1.png rename to Splay Tree/Images/examplezigzig1.png diff --git a/Splay Tree/Images /examplezigzig2.png b/Splay Tree/Images/examplezigzig2.png similarity index 100% rename from Splay Tree/Images /examplezigzig2.png rename to Splay Tree/Images/examplezigzig2.png diff --git a/Splay Tree/Images /examplezigzig3.png b/Splay Tree/Images/examplezigzig3.png similarity index 100% rename from Splay Tree/Images /examplezigzig3.png rename to Splay Tree/Images/examplezigzig3.png diff --git a/Splay Tree/Images /zig.png b/Splay Tree/Images/zig.png similarity index 100% rename from Splay Tree/Images /zig.png rename to Splay Tree/Images/zig.png diff --git a/Splay Tree/Images /zigzag1.png b/Splay Tree/Images/zigzag1.png similarity index 100% rename from Splay Tree/Images /zigzag1.png rename to Splay Tree/Images/zigzag1.png diff --git a/Splay Tree/Images /zigzag2.png b/Splay Tree/Images/zigzag2.png similarity index 100% rename from Splay Tree/Images /zigzag2.png rename to Splay Tree/Images/zigzag2.png diff --git a/Splay Tree/Images /zigzig1.png b/Splay Tree/Images/zigzig1.png similarity index 100% rename from Splay Tree/Images /zigzig1.png rename to Splay Tree/Images/zigzig1.png diff --git a/Splay Tree/Images /zigzig2.png b/Splay Tree/Images/zigzig2.png similarity index 100% rename from Splay Tree/Images /zigzig2.png rename to Splay Tree/Images/zigzig2.png From 5d15f553817310785fc0d5539c01508c86892250 Mon Sep 17 00:00:00 2001 From: Barbara Martina Rodeker Date: Sun, 21 May 2017 22:27:24 +0200 Subject: [PATCH 082/713] Adding images for examples and rotation cases --- Splay Tree/readme.md | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/Splay Tree/readme.md b/Splay Tree/readme.md index aa6bdd4db..89444b2cc 100644 --- a/Splay Tree/readme.md +++ b/Splay Tree/readme.md @@ -8,14 +8,25 @@ Splay tree is a data structure, structurally identitical to a Balanced Binary Se Given a node *a* if *a* is not the root, and *a* has a child *b*, and both *a* and *b* are left children or right children, a **Zig-Zig** is performed. +![ZigZigCase1](Images/zigzig1.png) + +![ZigZigCase2](Images/zigzig2.png) + ### Zig-Zag Given a node *a* if *a* is not the root, and *a* has a child *b*, and *b* is the left child of *a* being the right child (or the opporsite), a **Zig-Zag** is performed. +![ZigZagCase1](Images/zigzag1.png) + +![ZigZagCase2](Images/zigzag2.png) + ### Zig A **Zig** is performed when the node *a* to be rotated has the root as parent. +![ZigCase](Images/zig.png) + + ## Splaying ## Operations @@ -30,9 +41,20 @@ A **Zig** is performed when the node *a* to be rotated has the root as parent. ### Example 1 +![ZigEx1](Images/examplezigzig1.png) + +![ZigEx2](Images/examplezigzig2.png) + +![ZigEx3](Images/examplezigzig3.png) + + ### Example 2 -### Example 3 +![ZigEx21](Images/example1-1.png) + +![ZigEx22](Images/example1-2.png) + +![ZigEx23](Images/example1-3.png) ## Advantages @@ -57,4 +79,4 @@ With *n* being the number of items in the tree. [Splay Tree on Wikipedia](https://en.wikipedia.org/wiki/Splay_tree) [Splay Tree by University of California in Berkeley - CS 61B Lecture 34](https://www.youtube.com/watch?v=G5QIXywcJlY) -*Written for Swift Algorithm Club by Mike Taghavi and Matthijs Hollemans* +*Written for Swift Algorithm Club by Barbara Martina Rodeker* From c4268801a9340b1776c6b4e0c452fe8a6388031b Mon Sep 17 00:00:00 2001 From: Barbara Martina Rodeker Date: Tue, 23 May 2017 22:08:14 +0200 Subject: [PATCH 083/713] Update readme.md --- Splay Tree/readme.md | 64 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 63 insertions(+), 1 deletion(-) diff --git a/Splay Tree/readme.md b/Splay Tree/readme.md index 89444b2cc..29f9dede5 100644 --- a/Splay Tree/readme.md +++ b/Splay Tree/readme.md @@ -4,22 +4,36 @@ Splay tree is a data structure, structurally identitical to a Balanced Binary Se ## Rotations +There are 3 types of rotations that can form an **Splaying**: + +- ZigZig +- ZigZag +- Zig + ### Zig-Zig Given a node *a* if *a* is not the root, and *a* has a child *b*, and both *a* and *b* are left children or right children, a **Zig-Zig** is performed. +### Case both nodes right children ![ZigZigCase1](Images/zigzig1.png) +### Case both nodes left children ![ZigZigCase2](Images/zigzig2.png) +**IMPORTANT** is to note that a *ZigZig* performs first the rotation of the middle node with its parent (call it the grandparent) and later the rotation of the remaining node (grandchild). Doing that helps to keep the trees balanced even if it was first created by inserted a sequence of increasing values (see below worst case scenario). + ### Zig-Zag Given a node *a* if *a* is not the root, and *a* has a child *b*, and *b* is the left child of *a* being the right child (or the opporsite), a **Zig-Zag** is performed. +### Case right - left ![ZigZagCase1](Images/zigzag1.png) +### Case left - right ![ZigZagCase2](Images/zigzag2.png) +**IMPORTANT** A *ZigZag* performs first the rotation of the grandchild node and later the same node with its new parent again. + ### Zig A **Zig** is performed when the node *a* to be rotated has the root as parent. @@ -29,7 +43,53 @@ A **Zig** is performed when the node *a* to be rotated has the root as parent. ## Splaying -## Operations +A splaying consists in making so many rotations as needed until the node affected by the operation is at the top and becomes the root of the tree. + +``` +while (node.parent != nil) { + operation(forNode: node).apply(onNode: node) +} +``` + +Where operation returns the required rotation to be applied. + +``` + public static func operation(forNode node: Node) -> SplayOperation { + + if let parent = node.parent, let _ = parent.parent { + if (node.isLeftChild && parent.isRightChild) || (node.isRightChild && parent.isLeftChild) { + return .zigZag + } + return .zigZig + } + return .zig + } +``` + +During the applying phase, the algorithms determines which nodes are involved depending on the rotation to be applied and proceeding to re-arrange the node with its parent. + +``` + public func apply(onNode node: Node) { + switch self { + case .zigZag: + assert(node.parent != nil && node.parent!.parent != nil, "Should be at least 2 nodes up in the tree") + rotate(child: node, parent: node.parent!) + rotate(child: node, parent: node.parent!) + + case .zigZig: + assert(node.parent != nil && node.parent!.parent != nil, "Should be at least 2 nodes up in the tree") + rotate(child: node.parent!, parent: node.parent!.parent!) + rotate(child: node, parent: node.parent!) + + case .zig: + assert(node.parent != nil && node.parent!.parent == nil, "There should be a parent which is the root") + rotate(child: node, parent: node.parent!) + } + } +``` + + +## Operations on an Splay Tree ### Insertion @@ -73,6 +133,8 @@ Splay tree are not perfectly balanced always, so in case of accessing all the el With *n* being the number of items in the tree. +# An example of the Worst Case Performance + ## See also From 0a813ba0f16865323529e7de03ff9cb69eea378d Mon Sep 17 00:00:00 2001 From: Taras Nikulin Date: Wed, 24 May 2017 16:05:34 +0300 Subject: [PATCH 084/713] Code improvements --- Dijkstra Algorithm/Dijkstra.playground/Sources/Dijkstra.swift | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Dijkstra Algorithm/Dijkstra.playground/Sources/Dijkstra.swift b/Dijkstra Algorithm/Dijkstra.playground/Sources/Dijkstra.swift index f4cd8503a..9c5961c71 100644 --- a/Dijkstra Algorithm/Dijkstra.playground/Sources/Dijkstra.swift +++ b/Dijkstra Algorithm/Dijkstra.playground/Sources/Dijkstra.swift @@ -13,11 +13,12 @@ public class Dijkstra { public func findShortestPaths(from startVertex: Vertex) { clearCache() + var currentVertices = self.totalVertices startVertex.pathLengthFromStart = 0 startVertex.pathVerticesFromStart.append(startVertex) var currentVertex: Vertex? = startVertex while let vertex = currentVertex { - totalVertices.remove(vertex) + currentVertices.remove(vertex) let filteredNeighbors = vertex.neighbors.filter { totalVertices.contains($0.0) } for neighbor in filteredNeighbors { let neighborVertex = neighbor.0 From 35db21bb212b56ab13a1ecf67b251727ca3718a9 Mon Sep 17 00:00:00 2001 From: Taras Nikulin Date: Wed, 24 May 2017 17:54:49 +0300 Subject: [PATCH 085/713] Updated description --- Dijkstra Algorithm/Images/DirectedGraph.png | Bin 0 -> 68702 bytes Dijkstra Algorithm/Images/Vertices.png | Bin 0 -> 35896 bytes .../Images/WeightedDirectedGraph.png | Bin 0 -> 70820 bytes .../Images/WeightedDirectedGraphFinal.png | Bin 0 -> 76503 bytes .../Images/WeightedUndirectedGraph.png | Bin 0 -> 78079 bytes Dijkstra Algorithm/README.md | 56 +++++++++++++----- 6 files changed, 42 insertions(+), 14 deletions(-) create mode 100644 Dijkstra Algorithm/Images/DirectedGraph.png create mode 100644 Dijkstra Algorithm/Images/Vertices.png create mode 100644 Dijkstra Algorithm/Images/WeightedDirectedGraph.png create mode 100644 Dijkstra Algorithm/Images/WeightedDirectedGraphFinal.png create mode 100644 Dijkstra Algorithm/Images/WeightedUndirectedGraph.png diff --git a/Dijkstra Algorithm/Images/DirectedGraph.png b/Dijkstra Algorithm/Images/DirectedGraph.png new file mode 100644 index 0000000000000000000000000000000000000000..67db4995811de13dbf289b45f4cb0b8125bfe317 GIT binary patch literal 68702 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 literal 0 HcmV?d00001 diff --git a/Dijkstra Algorithm/Images/Vertices.png b/Dijkstra Algorithm/Images/Vertices.png new file mode 100644 index 0000000000000000000000000000000000000000..09b2ad2c0190c1145627afc85f24157302a4abfb GIT binary patch literal 35896 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 literal 0 HcmV?d00001 diff --git a/Dijkstra Algorithm/Images/WeightedDirectedGraph.png b/Dijkstra Algorithm/Images/WeightedDirectedGraph.png new file mode 100644 index 0000000000000000000000000000000000000000..542c698e1aa006df61c1dc62bfe950bda1ab1c4c GIT binary patch literal 70820 zcmZU5byU?`v^5+LN{Ezz0wRsTAteN)LAtxUyBh%o1Vl){iCt+gul;THg!j3j zTbAV7bVqW83ukpOg_shBSSTsOx5wV6@8K2Gd}$s0ZovdkH%2o#DjHOry0|s1-BY;R zd)_yO+C1&mi^ff-5KDpzHVR?yf4dey9Y7`;Z{2<6>h5}4GDzn#S)^UFcQr5UdbM-0 z=k6>F!}dpll0`W|jE#-C?VHaw8sp>R17l)hF28>LdO0^Y*LZn(N#Z+HhEDMC;d@Lh ztjLHDA3kheIN00oJJ{OpE{)0y@O_MpeI9@GN&y*F5D9`9FcbID4QpgQ{K@U;OS}R5 zuWv4nU%h(OOBF9gmC@@GND-RnV;f08NEkVg%*Cvtp^-qj9A~^3$M07X|ALs9hzOl- zf2y^$_0MT@b2AAwgY{l%?-pEQXV}eNPfu?soVoeMn)f;#_U&|JNCCB|WQ{9rT|$Tn z=g?C4yg5s%s;V+`b91%Ya&>sHV`G(d$h?~Fae?IiSLz(~Ezx|N0xI<7&>YjgwB6c{6n!@YObkiHhpo+_n zK~*h9Pfy>qy}j*32-Co3D~o&IDVhM)&#kNTtZZoD6?ffI)zz9T)}5_$-BGKED*JED zC@L@}Rlo*2w!feo_6yG=lRB8Js}pr$ZeE_}v+9*9voo;)n2{mQ#Kc5ArFw^*=0cMD z-kj%RiL=53C>hf2X%C~3HD*>AVj=#fh1`2U(yiO*apa2+X2M)c1BtWO(2v*gg?j z-T`Li0-=>lNnloQx{K1)&GFR~nQg?gtd)c)mNVbcFv}^fvB`R}__vE4mTL&GLa-xf z1X3G=1)ne&D?kuW;n^SDh)FFb2KD7HvdJTQ4q|Pb$ZpGRL5i9!ch_P(l*zZeDUVAr z|Jj}3Pbjut+4EIYR6#NfGz|%lAd3?CQod%5-Ta?N#WGz6#;r{H%{Gui*-!iX*kSy! z-pSQM2!j=518a^EN^}NSV=24z{ga3(dPhyt>uU=Hx`cobL42jNktp?HqXMvB{ z4K?ONX$?fPobeGP7SI14y8#newezQMWndj$xZgF3JdxsYW5mGvh#NeQH{Si4j8oV5t+F3sY8L+Ms$?v8kV&7J`L{EH&o5A?JeXty8@qHc zY;jHEx1g|t;5t&Py58E7Egy-1zjx$;Bk19&NRA1??v{c$F&C5h|Iay=Y7ti>~CH=mqR6B01p|fAp z#a=@eI=|CS-H$YD>7~49M1LJS>NnJBv>AmRvDQ`+w8rc69gcU!Q{+j4zL$sJobj#v z>d+>qq?f>z-(KWz?ADbyK3`dBawKFd$cA3-nriy_SdLSvizkwk1Y6(a+3^n%qGMOg z8j*VjCbt_3D5Uc5WMF7WeI`s$Ml6CMWh4_()K30)RAf{Wd}JNWiu?vk7?jKaYU8w4 zR#t|Y^oTn>>hM|*kHAU~j}hy~+FIifRo``aHv8=i67~>{#*v1bTs|lnHYGAzaSA}+ zxIQ@Zkcdks>JWJYD@S$Llm;(}Fu}hSsbP2bg{h55ApXRI#xrVHe+K_~9d8UYdPsd& zWqo~pnF0{~vS!hb_w<{<_2CsXHP{H84&nn#G5>p!mD^187|5voL9L0;&80#@LI`_0 zqr4Y&1bIlT-&c*{*t8=PX#RC=2GoOtX#9B@N^+!t3iF{2%=`BXy?&N`b22%ENCcui zGB(y#P$(UlqW$CY5bLjJpuR+YtG?9m4jq`AANJjH}>f6!vp>7t__%RhD6Hqfd%fT@uVxqSsWf6XE$< z>x~2=?t$-2(2y6d%_PM~Wl&8R0`O?%`k7%cm_*I@!;+S3uTA@#-4;GuK92)~8Q1JG z_;|thbBbMh`JjI%$Paws3>squ;A#oyg~O6yaiK0|GN-LngZF%--!Dq}4D=yVA|j%r zIl?v3ojW@iJF#SwvGup8g9ODD^MBeZ8l9~JTyGr;A_ze@2lM3I@rb48e$%P&WQqQ1 zp%Vzqo2l*#hhT&bG{PR8|1$#8a@@1>kKh77fArT>TU)3$=?ufSbWaaA+eN>VYWwEGCCLD^Ga1>?0f;q%YO%7=xn;4-cqKU9^V0=7f3rNjv$2`+-5xME^rTDre}E)Cagq=4JMzL<@cTt()z zo3H0!gP_ZP7iJReX%e}-i^z%&@7s!uf6vjs1e`(h%4Zf}?QzhxdbKnA6a; zsQTKYB8zxNhAx<1TwI*8R3)p?meol)e?@ch2pQ+U0Q*=1I9WidR4iFk1k{8(T8~b$ z0o7Aah@-JXwN~EtCmcTBSCDeRDs=tvU4KP0hSQTg;=f1NiUmPs7I>y~_m*Pg>SjmB zXM9w*ibvNF#Kb7Xsq;W9=<#g)JxgK$XVOhdVPtGhc9lQ&G(40FU&xHP^;H%^aQb!M zS2e(?u|R`ELc&L7Jrd)3=b*IA6L(9_>S=yVmz(yrpEc3s~6MOil3F0b+!=7>)^FjDfWwKGD`lh(dI<+yhj;#D zeAZ0YT-1DeH(PEDU<(3cqfo&HL>01Szy|W5T3TA@Vd3H5V!TGU)B5{nOpmqr4ms9JlG&4Aow!y=o1Kt zv(9bC%;X%(eN9K=c&^XmVz+$}ljarQ`|*#CQpEt%iFTnQ1~7>p0J5Q%MV6F}jdRFw zMs0#}i=Z;thLr_VNOZXRS+r+hrLC{I@1xH=iiH0Rei0bFA71uLu=6db31d%arx^1V zeu_&QVD#VXoPW?{`&^!201T>RheMeQ-~*U$I}?oX_B+wv&Y1)R1Z>|rlVvEP-Hs-~ z3#oPctP58(1f#|H^Ht8`CX#mST97XeT(P8~MP)_&U@Mpeoczr@1Fh7;eVLc?vqF%6 z9{dKu$#b7uq5~K9feg2HC+Cmoo9xy?+o7$h$SC@K1!J$+wcu zgaije^oJ}aibYjlPX7q6c{1TnleWs2w)$_rEyUeCXcBz_?&dMtdyrRJVE%g35E^cR zLGH{|d2l48U$|e0^+r#A`@b15kh?qvf=IssPz)d=3!gk_Z57N2f{PK^*x00W?O5wy zXmvBNEmyv;pwjrXld}16}G=Walp*X%vX@Hwgyvj^^MB=9mQHkc&>!f`rzoQIY>%MTI@^|jSdlkVpw5pd}AhRC2@6h5g@;6W?<;qF{t zxv7jzp}GQLK{~=$6?P>4%LDvC_I4%|&4%z*-0znS#*~zl?Lzo^dUnCXFcoLyv$`Q) zCKXLh?jqEZWBI<1nb4gIVA6&=?GIH0M*oGG7-4WH5BpP~U=8d6D=RDf&RZBWPGH$l zC=>5=`We4VQ;BVao6dI3#me(@?_wwO{v64c9vyiT#WHMuC6tTd`j1%sZ{Hz8t~=sG z%{&O(*!Zzduz9c0VlP~%$}16LV`<4C@~Lgk{eOoU1ww7$9Pb!NE*xkw9EH7t_c7;m z6!ZeW!E`qW65g32@`lcELV1Q6r~$SvD|Nhh;r}2`jx6pZ-6$g`7mK zxUW9L0x1qDgt_@orWhv)>tt01OmBjzAQ{ebR53W*8@cg&^GBUAUEg`{dH*?6{A%~V zfFmIe5YOc&2ZH)|;C`p-J$=Jw9v6zv{K?qPpYydk1srG|A!z*Cio>*mkLV? zhrXzO{BIX`5ov}&&IlD^7uVOOZ1z(T=UdTS{z9EmE~IleRUe#cE5gj z!W+o_Rbv}R@y_kBb+drfg{@G;@&U9w)qmry6=qn2VfAUJ%x(>T%y_{iNUFmh8oYt~ zKmTgf_q<#LK)ji>j~y8=mx%j;+D9ZI-s|U7V=u7Fyu@od|1XGVMK?y^xJL`_7OqNUKQ4MFvB%~X;1vRpH zRD(mQ8q%z0fChNTDAQAyn^}Ii=~qz&ufI6FHxP){Ve z?alQx>K89{|HY*Mim0c#GYXFptK!E|h>GYU=CWg#@GzV{4b6MnnJfQloXfaeiiePk zRjtIx#iep(b2zIVc>69fr;Wv2z3Wb?Gr7szzxmDQ1SBjfx;-R0kdRRY`?tl_EVjIU z-EWP%+L02iWKL<|Yv}9_61fgOHwI>A=9Y{MgXMcqeGU>tr-CQ-yo=1LkISF_jpW!+ z$X*G_8wKrcM7$uo3n8McEUm7tzK%`5q+(7qT8hstY`I)#7Eew}x{HB<5q|kH1ZHSV zUn0HQzPB8R^dpW-xcYd+i`6eD>(vJd9n$Y!^OG{GwtK07C}z;+7#(Zf+|jBAuW@6hd2 zfqKbrzMISAeR1pA)0P`wJiR`ce{j&p$av;77iTdQ!4HD~OB-+v2ZtZ7aua?-@KUhG zOaND6lp?@yqgbK86!a+ydU-0m&TKS#9=!^+dZ(GzKSRCjeAY>*|I?Lw=vF)#9j#Ca z%$wT3R!V&1Bw%|6%xmw-3kUzY1s$HZFK-#w5=gb+%#Y{*hNJQzhnARz6ENma*E(jE zOnl6!;T=C|@Hosw8MBDptjD+3?Z;Ov&OE`jbFEq`P;ixT(3qGj$+;gt_rF@e9JX^Dw=V8=pF~q6k$+n(p>3`>e+q!~} zkI4(5M~2d2qd##3#8TJvvwm}@hc4u!Nrbt-fBpU)><4Z%!fLR%0J!J#z8L$y<@S&Q zjt4fOnS=yqyJ5L(_f&?xy?_6-OvLtU9#0NrOA`#xda;-lrz^E{EJ2F~V4V$M25iS6 z2_wLU*5PQahZO`i)OzMaA&~(EC=)-Re|ijVqn-SxoafMtmY> zd!4zvI3nvPq~_-L_xJ5*fIrpjIIi_+K_c_kUuU|$xfjqR#k(CX2a>-iQ@{Z=Czja> zA=7fLU6`pnu2#0bzP?-A;{|p1XqEzN-F9cDQhD7;pM@>QnP^4~rtxXRK22s^Gak3& zJF*ePac7RVEpb^D&U|0<^%?SlxM59~oakFIz8Ai;jE{1^2fLdS^3ugbJ91PHIHk#_ zKGT7zQZT5GaQ}t3kjCa80IJ=n9G8CiqG9Lm0bTZtN>9bTu|G5n;~HFPC68B6)M6~R z%8-{TV4ej`yk?PpgRNJAWW)t64+7*@+bhWpc$YG23cqi?L;w-#e5EDcSI#d{p|9Hm zEgKQC9g(>E*0{R9>{$YV=GP-YfQTOAlu5;N>FeT9|Ljt+tI;7LuCbl{P3C7slK2IB z-MoEur^xleiMR*1AO#3f0bm+puS8BTO&avU6CRZ>Q7hJ@uP+Y)9!L$nq^if++}#5b1Zc*`& z0*DLyF8Nr0&!|Zau$gcKYi&@D!iKuugW(W;aI+F6t6??EV24k>!HVIP4WZVa1(#CEwbjn$Q8(9PjpWAXtzS@6SX{v#OS&Vi}WDVPxib zTxj2=yw3_=jY(d&nP^4zJj7B5=zS_iC+#i{%qdkuc#mB$*GTxhTtZ<698yU?yi%n3 zw@RX*Q*TB_MjE!5RCH&Okv;pVPt3J!Z89dE#6oZ0Ot{m!U8|pqddRjefuu4)4r!Sq z6^#ziy}Nj&7Qs#obJ%qCZL;y<8fCv3bz1zc#NQ@iDJPy=lCR3TSk~3sFE*#;c|SJ? zXtY4z=(zgoji`oLD_R%WmTVATs4dHNP>Ce5j0aXWK;*$Dg^%V+>3M6&ls=KSGu+U(( z^=!D@akWdw*Muc?I+^AZe!a)xN-n>*X%Xvb+o$Qs-bNCltT+ZCJ?4TfpE}Hqi)mqJ zu`v#J{Yfpn;&*;A5edc%`8(yu7?z4RVT{;;sJEPtCx{A-9uEmDzEj;;ef?Nhy%US{ zrAGcv_ME-CXdE}i!Y+@padp@n(p*AYTOTCzQo3mIJI_mzrp$=LwsD8M7C!?8IT1&z zY(J`oYC?`&p)fW%X|FVz3Za%T;nP8UAa^_e9c|<{n3=9NCsPtUQ~s_;{4Ok$yinRDH2CPkl<3oZux7-X-2b;d;{>TPb^ z=4THvqubru(xflb+pb~A?3gU=wN*ZVe*si@aP4|Sms<%>h%Bjq{Mds!kkeF{3=`yC zBc-FcY@kZRi;VX9#A}K%mCyXy=a8vAKJVW;u06zq&MO_EXSfEKxO#OAYK0Qs$Yz1k zpGL(`EY0F(!%EFp!!>*;GIHOAv)dJ@O=<vNXz&(=nI zfRSPtxPz!T;-a`GCnsxwCzH_22gGK2^FNl`$@4(81$%qj}u(C0o(Ii6tGBEvfZz^&31t!1Y4}$%se7=_P?~?2s==y?laDo00U5;bbl@uY1dIV`+7{gN*lL`XNpXE7nL^3O33-$9K=N=_6#daVg zwnX(GY!VphKyv>U>vMFlT0MzEp3@`8n=9hja)fI%s?SFx zi}Ula^>esA0UDo035s~ABwx-C}lV#jeY7=vYnr!D( z^`sUJ>gy-nRW{v07@mQ$tzFnwxChkrW;QV!J_6R(ld8aLiYLCB(} z0p=vmw^TlWJeF-0uI~%1Z0jV-c;=KvswyiVO1xh$&^^Od z_B`*8&LC=0FTgY|S9&k$kw|T=L1A56UF~+Tm6J{y!+GplsD=GlF-Jkda4Vduo_K6= z9Yh|JOlt>GQ@3u$YS!EvTEA*8WK;4+T%9Uy7}LI~V!}$MsUMq?cFNk8-Fc<#i7HBNV2sM~r9{uD=L>sxcno8) ziL=YY@9z3BuVdW}L=Z`%)okQ>oS88hXEbBs|D0guPQZ71oS#a-+1w^&qsAUvnx+ z-|uXlv!zdN^$1(fa?Vrb38aS%40P9Y5E)ca6a5G5KZm~NqW>2lSU%o!peJlI{`LowFb5_L4PjO8Tf&N&XR$9~JW9o%v&??@ivHJXV^v z4I`cTnC;v}-e}Zl(ET95h7vHuYSNr0Y>DR(f)^Q0O}?=^mttOb?ClqbM+*~G2qBWx z2BU-|ylytpP>mw!)Jp+*I|6h3X$A(3tV{~Gb4|C_K4A}(#y7d7P$dL}Zj&xu0%D*7 z`R$M!HJu#y_2g@*=jq;j%LgqoMCN7*?T@GdmB2h$Z(OK@*vHx(6_btzO_tO~OrAZUV&{RUpwc0QvZ_H*pc*<9 zTpCq4%<1WA4a$JW0e9}bYO;=+$U`lu+~cRm3h2NS^q@{-H3up63Yo*N&0$O@W|$kd z${7#)mmLv!;~FR;n9&+A^EaP1?T<4^$VL<-@Bhs9OEIQc*}OA=Iq@s5#D_Xo2M0&5 zm=O7lEGiq3wapx|6GMb(GHUiX<<;|~pR9L{HG%$(g1_tQkZb+o`2A*DsR*A*nY+X3 zF4{|c-jO_i5_kNlc9_vtBZ#PVr@6e)7=+9X?M{IJO_TOu#=4|v{PVYUCh<-3Qt?*;2=uTPa|wU#*QO`91?hd?r~3%5A}1B zpkF>i>lva3L&EL!c|p}BbRsGXgYNc8Oyb~o($*#?6yo4AC5z>Vc^k>X_y+0QwYeyyFaj}RdE#B5mGQD$Hke|OW zN_L3@zeHTHlE~6ro%0!}q-oK+f2D8H#W6i3Rj!+_w`aGTt=<)~(%SS?gXyJdNC0W9 z4P3Axt`EpLC21YD$MUqq*tIvDj4&IY>VgEq8`LA8xb?_`ivg?s<&<3r8p-r-+Oz!{ zD7LRzVK@_Nnwry({0Z4mOAK_J#vqUYkcpw&Oe(OVns6eAf1tsbK!>XVEUDcJe~fK6 zlU=tKAovRR`;GS?mfyh}o`~7}I3$LHifDo;5!2s2L=%5Tq?uj+Xu918IBeuE2G}np z06Wg#Jhs7tVQ3aCe%T8uC2o)J7}<$A(RsZ_1X{Xc&Kyu`0i?^j_2v8>qP1X+yrsu= z{P?_j@8_TY$}Xs{pV_#(b6oLLvsc(-0P=1gktL#**t9?_1fVf8t#coKl~xU^y12T# z>tAoHw-9}HB$1@)+Cs#l1&`H;u;OAS3|ajZC;fLp!7xJ+T#q8aLS#Xc*`tW{sTW5S zjVu0LuEUB&NltI9lGYezE|@(XM*ar3M`jR)S(i&%-cZt*;)tp}u8ChP(2Az13tK8zE-pQdhemfZ4v zM0S>@^TgKX(XBbY1qllEeMXeqZlR6iIRjq1ZIQa$=Y8AlL_~{xDt7-QC?} zou@IsexDV0>9e2f;h=-vvW5BYF?QD1z{W9Boq%QAX1c{qf65?n6ChGId5jX-1%wSc z0QFLjz2xo(^wSvJS&t;)F4rs;Dt@z;?7qKnwbTDacn7F=Eof7sKkwYR<68gYVf~`r zoYg0`i**X$eMDGs^j#1XLFtx*fr1TuRE8V1 zIRiMq5q$NR;3%DY+Rk4v6>R<6e&p@t6~E1|g2-8PutTbRloi*&m%c%g;No}U zQ5mS``1^zFb9@4p(u@<8Z5^?|qF(#(ne^lx&3dM~HEKj3Wk4P7cj(?RRdYPOlVMzk z(wqY4dtV^0sCfRO|f0A|Vr$^#3NgMN4_&@7D7?@lKgU+f3Qs{cC{ zIBpW4xMY@=I)uX1vih!9cXbNyTl4FMV{-r_k!Zz2po*$d+{Mj1eExH(Re13 zvRmoWf97g`gR4u({wK9ZO4mR79$-C>kei^riYgtQVPUm`kbVwGfwHfS9ZTFI?~4~x ze?Sb&9^E2i0}9k*M4%p?mtG}{@_?W})@QCs6=O0l7uu4QmEAuimg2J9~S5dIr@xJ*u?XoZ2AG}d2)jmD;w+6@_jac%a!}Me zG`gb+Az#7%(EXk&il9P+{kvS^wuD+~B+{znHeM;KskvFsR@-8k4afj+0L^z2f@-BN zQPy%NeI1)8UJ4`|EI{fbf9K9MAc*hbUvy9s0ryC>mx2$m6mOlg`Q?9@8y+4J%G6ZV zRR8+MuZ!`suDr4#@KaI3+u$?bIxGTMWcAYy2i?W^kbvG3~>H2 zxQ-|~#_mi7wY9a)5{o{HPEpO`(=NGKj{9OpCT|lxS9344X~XS+iGvI*e1-t4o%BZ^3|YbPY5Kvh`c$ z`$3!RbT?2VGM%mk==x(P+ZB>{?C$*^;l5ylM}UsU45d65COd%AklyF4<9}#D(#|I~ zU;pG!u%Zy+GLb1VGQ?2$`1qvn-Mvc>guRbBfwDS_riwTm8`T1W17GN|yS2cg3U|GT z9w6HTP(?HdD`FuBEpUJN((C%g7Q_v%oG<0T+Ym5`{b$d;MLV1B1wo&d>Iy)^t~b-r z-$l%g2g0#$r!-(E6yPqGo`O2hYZx6Gcnp{Pc9sdABTgMWY0xSjl`_jHEuCggp zM6`AP6&%FJu>Zya9oBN`{JNi8A4^xM)yn+9>3h6Z#FBsc1ijl)9htkIq6;_*6#^H( z`qPm@wuF~DLh%aL%`~<&78m9l++Qyxz-?}8R4n3MH-nI zua5DS!*UOsPF3wz2UB_XFSMPd0Js7j^A2{m6C%sEiX!e4CcMunsGYe3u@}|7g)M(U zBQ%S^4cv%XEqV-%L_od0dN?zyd_mZE2c6?QDO2$ZJkattU{k#3iE8yY&(t|9&NVu6 zIEy%uxU&c&wzMc%tERG}an0Ki=xVuC6MSd`26IYHxp(k zYZejfFOCpJ6<}9ijtm&QQKvM%ye>R())FXijhpZ(iX}`wU4v`gWKE=7TwxSFuIO$m zm5b2a9wGBS)&!87cGn=Xc8wMhtN<o-qaRmXrvcNs#)2g{E zKN1!YhtKOLDyz@C`Ah>~8j-d4 zzgKswI~mqxaHWbEVk1a0@PY$0z`b*2RtofttEGU2vooW{%_3-Uw{+c-KE@c!BXHDT zH}6?RlR$V~lU^5bsC~uPY)Gg7`gS%Xns>zT;$XRbJpYFj;jpPa7kJ^p#D6lTd}r%B z=QirC(T}2aOT}e*zfPUQwx(`H|MKIVKYZIWe%kzk2(XBBrbldJTUIt zqYIeYqkK;qcOqYTofv6K)0q3_9+ukXH^+#A&HUoxYe9Rq3tT-`IYbQ?@O*M0PND#% z|K!LlcVu6vIGwf%?n+-$kdd)82)Y^ib<;r;a)Kx@I<&j`&*NJSt87X{c6j1`)TIdenZx1!&c+OkVApbHl>`{UcjKnXa()=RwiY-GErM^R`0W$^`*{ znkPokXH+E^G_#*>AAa@40ygz#VPWA*iO)L2??BLDttkzHNtJFoK4ys`1G9D2Q1`kn zwU6eGzWCn3RI$R$&F2%Q`K@i5TNrY-`ReW zyY=8Gjlbl4t^b5aI=gTG6|AbvK-S6rCn$FFIvGEGzpeqKjQ?JPh_FLm=RRrqQFa_W za*a_`78YKzm0<7n(OmMi{7$;~G`!rTF1mk|xL=mZ?-I|RTEHkR{-Y})Z7`4xv7bQ* z-b=3Z!3;YAQsnmwp_LIdZCb|{WJO>a2Y?C%I87fybK5(+GuIN$rnGb^Jg9dvD{TY62dh^1#5!(5Ch!rKS6D z>+TOuZm*x=xHs))r^k~<+-qn65$VE_upYTi|P8-RLxO3c{HbsSLGN^kSd7er%4cm-iEzEaJgpJ(xC6djfO(iV<{{1`K zD^Gn70q;o>x&03YaNOW^l%rQtpRVm5t8bOpMK0js7snenw+(UFA)bP!S{MU3$j|}KVT*H!ZXlZ6{;>whv8cQ5E z8G}ZJUpmdb=CCaG2LXZ(i0C~^IM$&LSyXpq7JYaoILqmIP^&M}(X7E~3xlh(M665Q zJc|#+jaJXJHoh+qxa-7R$!h=iv~TyF05ZVs zQS!KQrR%Z(gMVCxc*Pjjf{rez@P_K67Rw6+(qW}_+FnbY- zM@!IaRP}xQWd4K%xDwmN+Q!u7Q6F>ig#ZS0BoKfLfWDT8Iybw}8XUjAYRke|RGU%f8^KF+S?i8oKPNv>|cTl-DTWUzJ*Z+*K9{{>3{v0UG*pH=DC0Z6DFT@xKH3!5yk{ zL4!blF|8 z3@g?pP1PF4UkN1q2ab<*z^NR0pLkDxMoZ$ogn_0}(3#vU7sv$5^Rj{sVbkdBVKvFlQBUhqHmI9*g;4HCC>~bf?KH|>*s!gJL;9M zu7~E7W^$@#puLjX4?%#W)!udzzFK;(qN>^?4t++bg%E|nd@8sK8M#&w_q1U+YCkK; zVJ2x$k8mxgn|-~XFFeirx&D*SeNDvVcTC1QC@r^AK(9rL7Dwt$&iB6Glk!&DDdGD~ z4U>HHk#JLd3kQzZJ?X3B$=vv7CEPi+p?}@w?<9ag2@8TAk)53#TbM?~9FFhFcQ$oV z*}=K2GBZTFU*oR{JOEMKQ(|$B@yGr1BY(2@UA^X*FdhfzQ#IghJ;|?&B5vfYmD;D$ zK(9r9Nr`=2pSEDrG_kdXMeRH5&NaJL-oFu__*TVmcXywZeyh4^nprYbyn&yYt-QXl zOl?}P`*=%TU!Qs5mo-1fpcCXqbN4mH-Mbsa*Iy6eWH*u zbY={~*9toZ<%TKT&R;5Xa?G3hBKt+za}d#RN79Xt`@a`pkD(?geLLXg4_qUu#8KPR zFKzVYE2>7XU*2BuMJ0hAC4#naYqDgt4*JIT<9CW)7oRW|35+BiWDso_eR>KP*PUaK zap@tvPMV{xSK<2413+CG9(#3lbpoVF=d+^sDDOaqZmSPk6X!vZ^T9VKm?t^5Bod-! zVb_KNJMti@|67;4ujEd;tlY2T22u3@(McNkQ(QbP9qT0$+>qAh_rzd!kdT zDPEEKxq)08VGP3*TEg~XC;o?#?h*1sb0sA``Q!aZ1c+E!2Uw$OuqCNBO z(WPRIE7=_eU2Uv8_f8}~c>bDl&yKXl4Xt23UMh2R0}|8fB3QC`Pj8ZSaoW|&eAcdB z=wg~nxM=8s)Q^IsdfH_F`4|25C#I2jk#qwTRM&IH`ZAK7?md}e;ha0cE9~~63-@n} z{&F(3;l*E34Mz;L3gxA zulxinc-s`c@iI}k_1gSeWk=x1A}ZqXg|?RL+s-PP%V*$qV9rx$6OPsJY?`)X>iajh z1PlqHDb?DgApHy$Cz$Kvy5%mGO_-T=&bP1C>~oeny)klsauxI?)cjiEC<=7{KhKBP zytviW)!_{WUjw5;i%eiNZDWz2K+CV9OvYxE+7;I<#w;og(T7%;2@+nw6N`IiuS$?a`LkZNWkL(dgDxNRa`=Tku zVeiyFjdvYcT#lw9inrdO?0vEMol`Kq#;FY%ZCFXlWpMD_*$=a>EW^7j@evUbpJr?9 zrAI%^ym)ELSzYji?ny|N06j7nO*5p$WCZ0jPs^7ZFtNmF^r zl989+m>d2Hb+>6ZUKDk{gq@8vbr?MryN|CPr@ClF(6++&cTAe0Ft4MJViTV)wCp7^ zB8Kpuo0`XP(R6G=Lc6Hf*Vnm0OT;60Y8fYv4HusO?}4;+J~W|(a3m$yfdx7eDR^%2 zZQ#G(0w~D0vG1f|uBj@sacZ+!#6L5Sv)fj!Sg*LMH~a;pr60b3%U8E%2C77Q-n&&q zXr(-wa$&LSayg3^%jM% zGhIvb@jn#2%V*ylNO3w2!X=^C!V%L%!(_*c)tezrI9qASPOKXI%Ogv5ubna%qA(>~ zbnho!d|l%?Lg<~qnxgWcFeiO^`61l8q5(KcH{DSw7A%Pxdyne4MxXhuZQ-m_Rhh%+ z7g1z3< zj?Me={C5yp4}9w-c_39&@b(;##w0f1QOec3*}hBBr1B#^PsTPJ4Z=qVygtiI zj?7XKr_`HB8GXcb=CZJ|@?uuK?pDkf106Ge@sr}VjD(g|?-2D~R503l?%hj$eyK4M zL-YgHFRhOm2$^&eauj~n^*H6pKnpZ_$GmqPPep=`pGLpCW*Jtb#?dSL^}us9s8v8s z?50TEw57OG;Fm-s?biNI#?9=iU~=EibJ8uWSWul);QA39g7(~}jCePR!J?K< z&fC}ciH{blk?YG{7~MT%O%x;91-ir%oA0%MJ4X9=J3ua&(oruDOf;8H?6dcSF~*b< z`y4ENtwKCMXO3T`I8IU+3tx&$`dMqT+7(gPll1FFIjPWebx#7bUZcfVF0YgOzYQre zr6?K$M`p*`?IAaEDAyv9!Z-5SSIR}BG_1e6i5a)_t-cAIPFb4rXO2@4%W2yLz6$!F zyY6&nLe^D==H}G>=hU!35gG2kE5eq*fS4(sf5q}spyjI8YVu$_C>Sw298q{Xi+hhV zm~Ug9ckxWFEc0P;QAx>=c9R!}mjUiq@Dl|Q^NpU)qUSrkI-R?pjlQ)&cw$gz6NSl= z7&5B%XSG_0%tcyqSFd06meGD}p0!@=NG_=Y^vYC6%IxEl5}sI41o>;Tub~ecGczhG zoa;nmM;lX_%;T+fLgwxWgi*7+jrb9Rs$*On#EHh%=K>+{XxG82(m8RSBW$zgu~uRW zY1QOd-+DGsrf_gmF;SECGg8J+1#Lt4&ula=O*Qd}Q>2$kFc2la&A^tCdW&GM%evpGBVMXIu0>C@Z0W}9 z&5V4N(s?Ui5kIr$pOCk_k}gsvs3RokX)<_IusJetkfeVzr%d1Wud5yutf*OVimzDV z=7AavRw57CnYM~ENjb$a?t|3EUd5ujJqh$tz8&#pThln}NM78y^g5k)7hf-PLHtU< zahTZ?$>j;sLfYE1uP}86Qp+iO zgY7g~wuMPvSZ;{FNxki$VVGglRoD@~ApZ-c@jo?ali;72IB<``*QcL6Hg zdM^kt+eotdHc_Js_MMEf=hmOf-tTVa)s=b3u76eAzJ5@xhabEvqnC$iK%epoW<4&&T!bbvo7450P*P#t`hG3@_|MhOh=hp8>fExpZn{B1LAR~gI&&BiGMCa*y9%SwjwcSF z^IYKd2N`+Dj>@jDR*hxENl{Rc+iQ^>_p0U+*BPg!)&QL#v-!_Y+(uJeqXpbX0r%PO zPl~?(9|thuL*_GI6FBOoJi}Evrs~+R+)nhtvxPio8iUDZ_R%;E!Vl@kbe&%0GFIw?prnlx+B-qaYMUEb6Jg zb5n34AXm71{!7QDqK_Lq+MsEQpg-uxj?PUs3->9t7o)2953G=&8=|ejFLV6|z)vkO zYk`JkIZw|zzRA)*f~~>>)|u;uXtSr3-$n-18WUMSduRj{wzhr4Q6^`1Q>&?u#yWJj z#FLe?J7u4${ugJyNOTCcZfwu-znF;>z>QZ*_!Y>{T69<`-}6-q?r!Lip~#RMIH&jY zCb)wRz&ImcF-X5>O4{h7k96k7cR;J6fyzMmG)W1U^p5E&v!jqPPRN>`#iyOWKg585 zdGMMV@oNvF0Wb4GgRu-YpMKA^tRZNq8?v;t?0J2$TjTuta`mY^@%{}LcaC3{2vC|a zAgp*%-pg8bgh@Lqh2bz=(AxR4jJsXqKYT=tI+(((oPW3)&S^K-{rrE(`pT#(w{UCO zY^1wGx;q4=LrO|OTDrSaLKEtR*>No3N&K(6%7_R5$x49HTBjVJm{6${Bk@8dV12t`i4h*=U(L7Ozr5ucoPtVs zDn=Q24{Nj*E8Kr?X9 zAqo^%;}qG+j*Qv88;bINoXmKgI%znVygC0qy(M>%xx<^8?bX^%dl?K0F(DS^NvS&9 zalEvVa|1A^Z3{#Twi(0Ox9%IB_mMi176%yajca{J3XsIDBF%VM&Yr^W zHS>}wZ@h$6@96HA!`-j(vb6uRu#T{kik!fkec8)!3LM8eBZvkTTfKPBj_!VUWWN*# zd~vGUOsg_A*`FpMe&?kIA$Uc?uGeRK;|9N{4MJ!wZIx=oUiE#&-03+ zIDAKVWt43-as`ZH-hLA85bU@A$&cl1JHsI+vWk*#=30zBp=pL;;(OR}gmkDYlES@o zl9!Ru8nfm^VGsM^Ty;K$|G$Ptj8X*(NK_n|bRa+=>xeT`t?2N@e`Jon*-a00(sp z(B;OEKh_Utz3&d-$@6U%GLXV)0~$}e@&?zc1O3SecGc}wBGv6DA4yfv+e+dd!ePf5 zIK?lb&e~|4Y6p#{?oPfcwm~6%L*e;9k2?W<>~yqF`KqP;_n||W$lcZ0SOgUresz64 zuc=14$Fdj0*{^R7F!DY5xmIKz3^x?g{;R$+B+L6pQ^}QTbQKJb4rfgqoX%p)m`_tJ)R|3T$+54_}4zcAw9*ZGQxT-JvbIT_->Sh9#zE>=*Q$T zWczTR-E`dDw;Mo6~yfL_qe8WW^+=Kl}wMHB0f@o1lWntY{S;`nFr`-H3 zEOs6?p$q(e!x-0Jo+c4yF02ex&;AA}AJ9)>sxdbdvIDf6jZ9GT^#Tx}QJbV(JEG5;06X!-@l5~b zWxV;l$_MY&EmGy+C#%gsEdu9#ZEV&pkGABw1+FT$^PN& zSL^n8{$A`@rr0*qtcM+cA%Fia3L#uHi$P9PUd<2U<=&|1J8sm}Sz|ztaD$q`R7BEs zv&;7D2BUWbLG1~T?~h7&W%uzfg=~_M`CKkNiqXU{(4+oqKg2p6AbhkE*eUYdR3*|v zwj-xz6F7%F&ebJvMXx7fsS{o{*a2-5Ghc!VC=9wXRz^oTQLq0aq>udpo@4&2HF;6j zdo<#|kH!EO9*M%Hy=6``I2LHXi{NQ`df5Qv78Z=K2x`Z*4L*qAuU%8ZY}|+(L?)J8 zFF!83kUd(HG8$3P{h;yte^qu^@!kOvQK0)i+CDU%tmCqebMISfT!np5xo{u+o;qWRlXm=*VDXXl=3hTGAPaHUV;R$U(lhwT8ZB@1#O=@R z)u8svYv1mr<24_Bq{>8hM1~jma7~2l3CNdgq;J!{Q_0V+0@<$RY$nYAt^+G{@6MZL zDSB-1wll@=pj*$w6k&u)324{Mz&e@xS|mw%dbtyarzxxgy6-uVyK=MLP&P5ykor9p z#lOw)kI)BLFo53L4q+~>s31RYTYbzno=3Xy^y2`XZ1?bYbJ&Geu=S+_=xqKX7$K&t z&Q?`_0sJY zB{ezM+#ArZ2^(9Y{BTROr3`MI|bq+gIfFJrer&?9T zU!yToG2n4O-p6zJ@Cxz2AkBZiU^qP`M<$tY{-$@dmE2iVkgnfjDiYY5gN5>adyH~A zExELKP&k*@FGzbD<~ z+jX@Y-ud-wn4@DcIc`Y#KQTY7;{bns`kkg$DT?s*m{9|W zkp?D{Jg!c+qH$g-C7=#Xx&fFVz%DYryVw7_|4=}c3doi?5!Ys&M$k7wCg|m22+TzW zr@cJ|_63O%-dbPAAsGO4f5`4vQ!mn=r>D9*MK*pXeS|?gXXo5yB3e5KlT42PyQM> zXsmzqQM2pbWL*S^eOd7yui;nF-dl}2x}2($*zbzUx$^Lv`g2Sd-5LL3L|_jQC?>`c zeV*kN<#?JP&;#T>(gd7=ZjQXE>d>e1BNP;re%+-SRedAo2XGt^96bW=_Bk5^)AU~L zPkDs;u?iOdrq2Kjmj=XFyu+g?XZa`GZYE;=HoYP!Q8@MmamTb;g<7I|T`3&_Q)(Kh z{jj?w8Q4`y&Z_^f65a!dI5lPLd+c(pR(b)cjq7JXlPy-bh4F3o@b#B#thKFqGunsm zVezcyfc2|A)fZd)E1*Y)_;0IV{b&_ep~!K+@=@GOdOCfj7K^J4~QdMe@PV$wmF&t3r>hZ z_LP&PDfYjVl`>8V3jFIHmGHMs^V;d*g+I{_K0Q3at>=Z>Eo2r1a@Mo2+RA}O47UDr zsjbS=8Kf!uOh#gYnpgyA5an|C zokRv4NbK`?*`U9IE#JJ9nl<-5BzSnzY@^v+kJVa1QE?Q|@qL`GdogOs74MOJ_nRC` z0Rq5`zVu=>c3wO0JtPdSCsQOGI(|1;Oxe|J!nDc)>fE(M7_Q4!+IeDAR1A?>;SeTE zzLI7ou@{-(>P=5iQw&V<63snS0oc304j7m&YF3Wv$TcHvp3u|N)6mT{o&qPKXE1cS zk|aED`(6O~`Y=$2%zV2JuU@1bZX0OoB_xHfyM~gni^7ddno?vH{kp6jsnW6Xg!n0h zWJ;ZWqJBZjbzamG0C&v7E807GgHb??6HaZYPl{^6ber{yXU2s<_5k26)~S^%*3jwJ zXz<017MpWZ`U$=c3ptQi;Ftxu;9HVN=UQCqlS;=Eide*nDmpf5?Xt#}11e%*UdTwd zS*hJv-Q3T$CmmO#<1k&aw3;*n!UkiM3&%##05`V(KO-xtUvT4O3n~TK9xO&Ye zdP{({8N?(w2aYWF`_5A9)lcSD1#Kku>2#Pau<*NAL2QiNx5iT#Pk#+^c3?b#h)O?m zV!DNXgdv4%iGveFg7_FuF=z1OOuj|_JVg|F7E`@J`=9g5Fk8i5AXG*YfrGMcIv9Ug z4>Z1NU4u1gA2q!EA1HY~?vo1QeUm(Sk+E4=@le=A+8w~3(xeTeNzOVX@<)*zPZIyc%lzc^!g5X?*hD8!Zu;*sdL;H5~vguXMJUUHSW;|^R*U2zW{(> zS2)@1Ji*IvS%$*5PW%Z^aTD{|!!?@liZ84^k}gznhtPvRj&e3m4M91-LB@KDZ22*L z5uKC|Zz#kzy`BZTo-3dz%tQEevwqO*WC1{(m}y&aoIZ-BGy!Fsalnmy_Cn;!G-sc` z$$6XogGdX7(lgJH=f`Qz5RefMcL1EabU3>v&vhk!o1;16YT~B|6tK^bDUWN0&>CI> z6+p%Kzqj3e768?#hj=DEzr~Y-;txFH9P6j0vm#bC4E07?m@uB&)GF8k{V8s3Z{6&q zcWR@(nMFWa*EDy%<2ZyP7_W}DDjqezUf-8@VP$0ndpQ<{Z|5n59vn^pitLkxeX^8@ zU21!utt8EKy;E4HYJd^K@-^MTTrJWPsLTO1;$LJnz{)eL7wG=*>7%cqZ8+_L$Op1~ za7%0?9p}$*SZbawY8FPrDyUXmBH>9idB&z27)w__=>!xrj7%C7Oy{jvMw`t7Z9pPp z^-XC%|HqFXWc#(8Bn%!Ej^-j%K$NVx=^px-&;|$yaa=kpPj3X2$LVWO1pwF6KMWyvVXY=i^Lg(eq^ zFvZ6G=@+2orVm^3Ny;$gi;o@+h1$XWpz z28zpJ$LR_|N6#5@NLOEnS4gDb?iYP+0^a{0muX5C@UVV>#q~Br?vq=K2I#nhu4`)K zDow1AY7XL}HE93By`;_M9mB|_L@KphqDIyH1T~!cvD8BG(C}^YlgxHdllTIp zCs=tj8>&3fjy8CRpk)qtzTBU$t(~K>^b@R(g+D+ai@Cm6+Qq|`1zlK_0w>`Q_?xC+ z6UHI=7$kjoTcRACmxz%+W;PMa9ecboP!y4>svH^Q-SU>k9!EE+ zw~sT6iT>`p7D8C@bej%FuJ?la$tYeUl8GitPX;gb!^Eg#PNzn2+Pt3l2}j z2#pBEZLH(UwI-S+W}ZYMuM}O$Wbpnd7S$0+ajmwR$t>QQ$5|Q=c^-FK;viifOT91Y z7%fX}%a954>TJyOJ}J0+=HECb+$QKaU@-hBTIEs=-yB}&$@Dk*b;S(zo-OU!S#^*8 z$T>!HB8yOAi9sA%PozWWQ7YmXnG*1a`@M&~zo5P9GEk6xj)t+%W00+q{lP5$W%7hZ zG{238tmg{7h(=uWXspP!Wq=f%DKZ9JM$0~^3J@hW`f=1~Xu;GY-YefjV#lMWpS$kS z^D<7Hx6cI6gm(imHZj~wnrU`b*LoIo!X7aX(xjly6)aBF8O%4AJvg{pHJ6F$89Bec z@Kop3okW?B*6_ZKY{Pg$}3@#9C0jI*aIdU@a> zKYmlquo>CzFn%r!w;u^`JF(g;p40RnwZF3PSYf?Q@n1yUcRf%|**HXxx7RqLJ2l@@ z#e`v|nCO%%YBMsbrFb%1ZzV}Pc=?UiZ`^&?t#{!{JGCEiy@uKCqH|S7&um&Xn5wmMoXJ)A;cH@eKYjZ2BJJ!c_Bm$ChiXUE zt!}M5Ab5#Ws!1e=A__t)gP4Z8x~WDSn9<;?`+*dwI^Nowa?<4eQ>iE;Mu`|Ev;U4G;N)%lV{>$KuNfP_W@p-=kZ|!rARE(`t})jehg+ zaIDv*uj+d-{n-Wcna@5@#xNsbTOmkVq8VOBAML_-n>1NbB2bCjjox7dhiaIrQ8ULqDFdP06d625O6eG%;I~Cps+f%dGX{~DG34i zN9CgI>(#EH?V|(M=8vVNqGGOQ*XrUol$KyEk`A&4-~D_915rQe=YgXjU;PNS}3-(tB z2gZ^F^l!BR2+iYj)hA9`uZwoM2rJ+bF&rt5ci)_EMT2@-Wi3(|`sd9Dy!NMJ`iXpxWdT+3q_(y;AnhlCxfX)MY(=;$5ojdz zE~huS30cQfESU(&QsH-vR3yQ)?P4Q#N)J)vDDOU~p~`F(*~}i4&kuF4^O92i`YhSG zTw&EGmSBHd+it}rpK@C(I{7W2B;EirE5;092ej`x zk4lbt$Qdr}3V+Yh2y3eCIZK8X>2bnz4^(~o{+ z14us^Qgmj|IpL&oSf>lV?u-0P8{14wOr*WEo!4t+9m&o9ePEFf08^S5hu>y5fUeV) zM7U5bP8CJ?moHyNxf=OE=kv$XXe|MZIYdc{G@?nvVO1V&dC)QaOEg?IvY|;&5KDhz zH;!Bug2TX%5}{n?xQhS!ElWb=AI}`r6v9+-OJ(3TwW}W6=DavR@&X=jq0TOuEg26R z%pKUo39o2|otWBoq!%jqJnMC$pzJJje&GGW#hqWfr3|!Lqjs;q@=3t!xoo{`)ppp* z)YWt|u?KY9ou#ic>9wHz3Po$+Cl6|w#KuKD05pg&ad5i;1HpJo7yakS^MAf)d zVVR1)VY~0RhI=cT8#S4ki&kZ>xc>7ZG|h!)YiV5@4)+Y!CVORIV9@;f+&b%Am}!(v zTRY7aNb5g<;zKFbZ+jfydyQddww+AYD%-}SJVycpu(ZL z<`TwjrOSVmlqgiL@VHLhk)ID|H+9ZIo$mMqs8vZ~gyBV5i>GeB1kZ&;o2{nk1MMz@ zm;bNWR(*ntGD70E|C{BFVIvjgK{ zB|tyPEmXWms!T(w=3s|xD*=5IW$OTT)4m#i!i|lp&AoVnF=hIyIw3UI+)rnR6#);{ zA^qY3)P_Gl5)cqnc)|4cSy))$)jzqGM$r>f5b9M!r{3C{=qx^_W*K$=jyy0~uaR8g zoRYqaZa5~-(dIh;H@qpMG7NZJVObtwc|y9-fD~5E{>=@fLmJkb*%D$uwCQl@@kx5r ztT(FaT*w31iztn0(2;kWE51esPJ@0DGFAKfz8J0^tYqBpdgj)&?B1t|QW1LMJp6s* z46{}4t}`A}ej@d3sO>n&Qt&yz7}q3sa@G5INbcKFyJbi=F;Op>xwLRowd%^oGZZ*! z!Dw1Z&OOXiI%O+$kTwN{NaQfKcRAk$K028M;e`7-+xg^#?P);t9F4{#SEHXSm&AE5 zlJw3hB(`3p{gv;6bF#nJ?^`!USc+ARavClNyYWMt@2!nT;_Dpw}S6(_CZ zp@>t3f4=f)LG|DKJ|~IZ@!ouyeXWL(%<-umIg));%Hw?ABD+2%$VCUtkLXU(LmYn5 zC~o~GSH5&BkE^6fh@G zSU~6JG08n1!s^iTy4ng-s)^Z0Uu8_*m~FHq=Yk{FxrkxLruV!vdVWoZG8&bTJ?i_L zpFK^Dgi0c~_gW4zbjNK+z7F9J@i}7BjV3W}PGBIZ7x3@cXxU&XOu!&CYqCF4vs+Ve`o#}rRAPrb`C)a@pb5&>R<8tsaQ{5Q z87r5)f`SqQHfO+7o%X&=myznlKr$5!IE1X4rOEN7h>jy;(%uwgj=lF^ghsy7(P5tA z9S`|UzVMW_oJ418_U8~wWgQ5@n{X)^pg1xB3m~snHbpz^rBEZ3RI3={1G39_&;@2W z369FvS@_BpJgY`-D}@#J{B^+c7h#9_8aYa6ewo{Gngdo zX!R?@93qcTs{Ee9vPI9K-5Xw01$bTxWEjR=jYCp{O}CNL0WkBL_D=5vG@*PyR0F)E zkCs}V2xc^56?_l^vCF5?s^0i>8qSq7$ukYC?&u56i2e={X;GED}_ z1+-FA?-)hq_HLThuP{%$NxD&By5_EwXMxIJJ+{{qFW=6z$w>cxzogwepAc3t1Oj)F zsqNdErY2V7Tvi`GzMsenQYl}~sf-+VBr;7vF^vN7 z4}JWtf)39)RSO3thG{Dz6b-Egf9CEM;BoPfhqQ~vty;_XKDa7)9GW0T*#}k1e9C12 zDFb<%2W-d$N2h`#Y!Z-Kc0P{oCy&F0=`7n`fKkT9+`T&Ztl-R`o`p!wV2Vn?bIJ?~L{`iu1cztSWYT{KVa0pK6kxJRq9x46= z0Cu&@)=%4}$;ilB^SSgIf0$l}fKWdUMyn$KZFX_tn1dRgh@%}4k*KIc=L^x3RYM=v za}+y2nhrAX&O_|*Hl#&{Xus%$rc!%-NkQ=~m9N{7BzizvEK7@2ev# z>9F&IkE8v+)Q~HV5rRRXYhd!ljf@VA_tiEy;31wvaaaU+X3I|hl-!@w#!Yw2=h5zj ziQXE8>sm6OQ^H)|NZ{7@zPMh$Q=uebS|BO)ZC5;+r5Y&^+I&naMGaMbaZh?~-ub$B zSD#l@)X!>cVvZnRk5qf}R{N9b1c{xE&G1C6-KQTRqbTVvqUT>lD&V?V7=_~lU(aEl zSDSpcRnQC=-aDsRrZ%{G^{-gMAhbr>(<-Kqx(!IfxPm84OJv+-Bs2WfSLvd)zztQXIo8PKGSK zZ(m{x4_0RO5UY==n31Xq-<%BQ%75}i^ ztK$r;nULMZ0B@t>zNa!qWRxXAwP(38C`n91Oy`)pc&VR!*M0wu`Tvbyvkj%E>D1)Q#zM82#TaO~4#dYG(~4;cI`U*?3HNz2J}}WVXY| z@^RYj@ZMFYUZwMWk);@uk zt6NU|X7C}f2A@TE<&??#dnz(#6aLQbCD~2InG=T)@&_(lEq8+n)Z&vP0X`U4LXcH_ zmSN&t>{}aiCFm6jTb*+wt|jF~@+K800qBFS$^i68|{4ZeYV)P@M4Pu7?q9bN48RLD)*vsZOrW){=bqG5s{VS^o}Wo_ znNfJz8gSQL#o2%E=Dl$l`D1>5sl66kLA;jOFocIX8Q_Fd2`4kX>Q0c^N3i%@V=;Il zq)O?8gNP9S?rDR$%;WxLJ?&>{Boe(;nNWqn+Rc%-4jxhU^$n}<@nw=9L!V0Qdp*qsYAGL*rOkmFF%3pgYP)bDA;8AU(Lku<%AvcvkRf%1tTZ#E zHS{nOeAddE+&~0v8O|D^U{3!XUreFI`q#eE!J1xj?ASn4N4F-BnCay{lMtrN8p2JR zt+8=&Mfyq2Go}YttFjv+YCXx5At@)1ZnX+r5ptH)5wNk~ERaAlAVd+_Uo0Wc6a@6( z;uj@c1-fI{$GeaSA$=hcQ9K9&nW%!|1E(1Htf`l0iOI>635GK<0)kPR^WkDM*sCt% zA18H#%-lp?jd}eiDpx;!}dKf_&&2zO-D*BQ4k~VLgSYRl(4LG1_I% zW7yes8^wOMI2sn_x_Z_8P%Z{rXgq1ulUqGzKtYc_oxmjJm@BZ#n;tuWG@k%(BBt#B9-odsJ;3~Gzp$-}wxZRL;q za|8@#tz9ff(r9loy>W%{NJK$SA|cWMpCC`Aiynolo5@1?LuE26fs$uXa93Rhe+!kS z=`zu5P1WY845^3|F2a@1#$6X`o?n|qvpy4RB+?W+qWehy`qS>IrW z6C$r(@h(|6L~=jlviX&Fpda@0Kv758wWn`@%VlBX@FY6qFDD?&tM>C1L*; zRVPv6#;5wG7EVu-*j?4wb8yEuo-<#Tn7cc*&CYPcw82sP(3k|B)i*x4Sy~S|9`n0cW^9SGkPBq)_<4HCT;C!9D`g~Jwy>`qdhrC^=&z^qGV^VQ*ph=}qzWxu|+zSoTJ+xB-SJ^}`3l{e1&Q=&;#aqxZ>bqxFJE-g3`Ir|$QYm8lJ!%n zd-fO&ERu6ggRW*FHXL|ETly-SS@!g>S2{y$^DF72Q3qf3B2pg7kw1T_srdvwPvN;V znX7=kN%cjvX~i@zFgNqh{I^G{HaMO|59ewnNerS?_H?6ZC}|VtACc?3x^}r~?UJEA zvv0OY$&YLqEqnp~3w7LMI5eH%!-o>!X$tCl|jldYJ6hTRYC z5XA6p=_B>c(qNM|LXUNsejFZ_2O~Q(J+z2Wd1?PtXf5Y+B#&nN%&I)O+&YpeS@(fD z#rN@-Aoz-jUX`J?qP{!1jr95Y27GMrZnQ|9))54lMVii4r~$7mcdIBV`-UMgDM~=r zZFVE{lbI?J+Y<$w=JCBoqDRGJuy>PsfRdb>A2}evI)detJW#9Lh!F|qyOzTZ%)`@F zqmS|OHy_(ZKIa5ir^NPu8O`MROXrt37tsuMfk1I7yK3vC)J&I;SC7f#Pvldr$XgL# zo^$Y33ucc?$+3c6{0icuAtufwgD~`adpD3ri%6GbOMsPG>v9=&s-F*B`|yyl3s_o+ z#DgG%sdDocEk!Nz#|Q<@R^`&h!dG<>c_X7phL8GOU8QlzW26zwviEr(pW8@loKUa6 zfIJokN=_U-!&Q)uBXFeA>NZUzxe+_A91E#Ao(mxgX+9qyad(C5dU)cKU;4{_#L(@v zk}@(a%!g2m6@KJCwdd;Yg5yCu8%F6uQc}pot0bb-zmdbGa;^IQjtjm!wtzq|YG>_^ zj>$mZMthJ3a)P}2DWeu>MW{AfS9YR})5;L~&`Tz=Y$uNJP`5)r6t1!oY@!G@uZm$g z@9TH?`L<-qd~lkchTU+L0Iof3JcYH+xhU8}<Ak65huM(?=u2^GBW1${@d*N9mh|5}HC_aNdAR>u? zDl>MrH}x%wOwUw8B#G&MLE^~ZJe$gUZY&$7r*~bR-PAQ`aep* zVN^b|(+y7X6=}a8*Q-MFInffsK9I~$+NUu_`Ah#Czt{p-nJ>~C=^cM_e%W-vD4&PB z_^2y4<4(H)f+JBc(%MglSo(Y*0eTv?(Bo(f)L%_$Ft^r+T`e=qKT_oJH6^!?r9xfZVQ_zNM`DLN` zv|$H{?>4Ua4!&rb|BfPhQ*v%$VIc%X79Wp>on)-Ey!;W20o-$-fpqswO#y2?8cil~ zWZ;ey*_{^alxtEqRJ)4%mLkB);0GY7@bk=|(^Wk3@-Q>rByh`mUpCoC0g=G9wRfn= ze++2Tir~yHL4n&c?w} zTV`%qo>joof&@m4 z){|#@&1uL9vMtWc?~yJ;I@fx_A~{{u!&j1z9_fkkAEXI-*td}KocmcB4E{YlSlJKg z;mCtk&8%@_FE%OhDicmzR3m`2UHM5~H^R>@9aj`{<3lkFfrmyfyWbk>{~nwF1i(N% zo5loXs~~nnZ)7?Oy6B2EN}gK}hCHONJ(!`$KU@NhwAuF4q)N-f5Isvd2FM1q5d)Qi zh3oibKYAFKzluNMb8?BN2<>5aJ-7C^C=S1aGBeAY;rVY=!t{k+e$%Yf7v5!K0<~0F zuH(Ogbo|@0(6w5`^U09Yt3dRO_~l-ppZjql6+Ja~u&`SSk=ReDaT|?_5QASrD}gVv z*1hCgJ%An6(Y>NLn16||#r{KrFBKJiBebId3>qjHmeY{dV}SV4bh_okH0M6&JRJ34 z;BPk6E3sVDZPZEQv%^5e{ux%g@HXAi70yf0@MR^!C|Bm0IxHlT>?DQ|jhDuz;9eh% zo=ooEnnEhlNhG}4#f!K7TpdxsoTeYILTtFZTUJW^-wSy;D&TN1EO4!py!(A~ z!4aaWa~^=dB-H| zCQgCa!@Mwk_I$_;D15l}R0P6wSx8*#emu$dp9mvQHB()Cr=3eo+h>6QhoO4gXK*Wp zjL#~h+1MeA{gAF`m2OR5h7h#%ggN!>J-XHSS?nLEtKKgHr5*G#CS<*SatH!VCaP<_ zWVDljKHjKf(ch?Gq)6qn(;?Tb-qGPTjw5n0N7)X`2jm(WVs#*T|qaWFau$S>> z$`vTaQ%-7dU-&9u(WoNLO10~m@Gi_c9cM6y7^_FEJPXLiV;v9(B>ali{ovR3zO?XV z&Cun;L-7s=HPOG}!zNPa;HyX1?`z8|q~FwYyYN zx$?Z{IJ)pC=ES^pf8xPs^9WpNf}-4@8LZK_L!{C_9ZVh`nlPGMtq8I<+xil~eL^-g zZ+*bCfv>DQRAOk=w@=B5dLT8EW?jr4;GknMGx{upKG}<(7Kz`!Y%6$n=-Wgs5-^)77o+4@sGo4|1(A zPo~^V@Fks>1v7HdcOu^T;}7#IU9@baR_8szq^6$#R|}v^)n|u#iOEqSVIxc%1WcYM zXf$Z+pXS2GVFT$0CPGr|xd*B59rr3@06A$cbMm;Q#&mmUkSA_-UpN%guslX@{UmV#iKUz>3p+H<*dZkSWz3o;yM*R?@{ z1XvLP{Mmy5;GG6@QJ?WUe+|lo_1?s|b7Yykner8hodsbZ}r8vQz|AD_`5s6FB;PEQY_qa`K1TH12BT*@y!za>2w9X9FLe7^)6uf zJgAWvZdjG%ydzGm96EY)cjL-Ep47P|#|(+V%E^xeJtJo!SzB(rxsK ztY~PCMKkf-??<3Dp}^&|i!*DbPJf5##`(!BNoeT*eRFN`2R1F=jjSECHO~w(*l>3X z=mHXFJSSSQn#Q~@*TP&LPniwQpV5+`D_^1H!h6Ay8w)7neh)?}5PKk}j&aa1oTH!) z!t)Rue0NuI1eOq6y_Q52f*5ROEyg-bx82ZauQ2lnJsSxA-#{|Ksxf|d^Ffu%3XQr{NUyOWC7fjJAZT41W@C@-_ewi=Qyhm*zhWoG-lX{pog8b zT{6!Ja)-qznffBxH=J0DCX+x@UC{T!G2e{Yfb*LW>7n)Vo^zssBa)HMqV4wAws6 zWepV0?}-k)%v*G1YE_ghM>`;l83AGH_ltK?@1*`YEj4MKpdm(>>!4!Z?@xcXn~}vS zSn25v#c{6avXZ^N*x4RXZ9afgqQy_^o`4hnEc{?5TBqY3lJH$|VLob|FTaAvFpw0L zyU)<1bDRxlNV|ox1CjL`^E4{-d87g{&C1$H`Va7XDRzU%^kAs-W;Y6pk5XzCfBiqw z9F4#Dr0Us|GMt}n6*N*1WF~#(W^+TAiFa2&cNm0TCg){pyYSC9eEO6E3Y#AE%)T@> z%vnuI%{N9Zh-O21y$TD?U<5ihbk4@TCK`a!P#{JD2_D&+1O^s zY}Za&qe&0ne-;`J`t!g+tKYU@uN+qKi9u4{SMG7{3%Q?qeDtpo* z47rm@Vi%0(+ar>uAXyVG`n-0K^ga^G8L1wnJtD`bS*WbFo9~8V9?Tk+sEapNQ!)_R z6X%V@WA9t?Y^*y3RS-5!)7C3jDFPPr!2T{nJ7Hi{e`9qsdd?g8V_F{x0#@_jgU{d6 zPx6rQq&IeaPZP2eC(W|$CYe6Wy*m%1@Vk64m;FxWQ-MmeJJlmSFi0`7Vqq97g6pOF zgTAzmj4HIurqlHU{E!WJe9S4>*EU5L`$C?I>rtlPmR|AA?eCqzFEsVR^3CFlnX?=k zRwlh7PaFXw`IErCZ)Jc&v@;lFBw_nfPGJVu2hy`3etD?8KKJ3zRtB5uvh-Qj!Vj=qqCkY!p|GSS!H_qtH` zsUXwmo+3!T5H5%s9Md_+&Li_t2UZYWx_*H1LT*;QLwy;tQlKn$|8Ad=Gljhy$mJeAqR%<^;CA&F=dK!C_B9$U~5QEbhXzQ^@Q>f zMxyJgxVi=q_sT^b1mm-o^)VmkgL`WpyG*UXhY>D{>)*5?{7_O4`NtPf{)RriYz5a% z(nw&bN;NXr$Ul=$ctn@_#dG2-O8zc7K;Vs~PHvgvI-2{F;_=)bScql}yaw&lTv!9$ z2*H+m(u88};Zet(AN)eEBYls_y16bH<6o4DbPRi*Mb)}uxy46n-7thLYsU3mh_k!# zu@U9V(-Pf(zCNhnVf%k}R;tp{K--^pctt-x7>tz4tbcxfUe7r;To|q&hv|udCJZ=% zz|5f#;d50!+Ax3DWQ#j6bHIDWP4@z9w%0hpc{t0CPZu8JqbO*#dSWIke1*%GHDSB} z)#riPNX4+NU20tPT<(9q02oqY*pi`B`Um@lX)d;w1$CmJd?+-6(4uAB=siEcm57bF z&*xsiMuQ6BhMtR19lSK%!O@%=pXhHnY8S+{n+kLsldi8o*>E;$rP$kr*rW|LVW9RA zuKy_@%tC%SKX6_8HgBuuZF1j9SD%|!oNpWoLHqDT2p!jZyuYR#4qNsKoK}Oj{Rk>* z<{#JLIJ+xSX8qkwjg*v>9Z#=@$o={QfniH4E98miGOa<|Zw>yOraY_c`19IwYbfdD zUCZk%yDmPXZ#k<3ny4NhI2TAh3&8xyWjNe}(s<&O-p6dA7nmR_Y7corCf)r5@Z**8 zedjiJyYcds{yXahX%E_x^T)U+I=GoJieE*q4$H|v)(L6MUj31|4UmRor{8FhxT2b`4W_$2G{#8O*#S##+3Hn7vOw->HVr zXLG;CDac2C>N2=R!rB``&7-N@jP{KwA-*-c>W4Md8AJSwUod&E8xRywk74JY=VX5M z&k>RAB!FX7Ki5E>pS7~L|KSIjWQ;*nnH_$#!cilp?sx|%c&ajA)>}kUJpOt%`sY6I-R?68_V5e63%a0H-&d3}ISerSpGwLYGEt$5e~qO)Lf$ z+k@+&M-waO^Td#ZoLVXpQc{+uf{Eye!bFp%C;J9>*TU0m?ol4ue!r@z4)>^BYqr{zBVx%P27ka=viEbg2;n0y{Vm{{?F zmzURMSL}snBu@(`<4NXK_qG#kvaHfaoY9d+dfR0HY+C2}9WsRe?X4Yx_N29Ug5F{$x{kJxf zKsSH9(u892th4iM08AuBRK(qtoP^Rd>1*|0BM%+|trioI(?!**k%dn4}uzA3STcCX*7W__L%n_?Z7z)Rj*LfZLwJuP4JdTQq0Nmhrl>F0Gk>L@uv3_SX zErUE+F?KM)37m$s3AC6rf5%5dhl4#?Q1ITl%)PM=-4jxqGDHs7^Q?ES{V%&BK<&55 zd;k0Q5<{!laMwW1e=>it@&Qz^={wVs*WTty5~9Zq^Zb3q(uNWzc_zUi7%k)GiOS)5 z^?9pro_%P90_|5ANf5VcK;>clYso*P{LTK8@4|>ntB|csw}(oL0dg( zc-YO?6e6BlKhh|OKR5Vyzl%X}X#GVf*@_e}e|1&OS{7SD-pht}2Cu8Dsi`GJn}-%$ ztc6i5!^hXk>1X{mc?Cqtno!tJWGH;i3ts8!CP&N700k__&IoEij4ZlKQw-rNzwGZ*3q{w@O0|n z;GnQ&c{=A=1?H&8Nh*CY^g78&qmhi~^&&KEQMONCNUL4$nolltwditr|O8e5(wD~KeeoLYV z1(75Y4kUSm$QbsV-moWRp|--uow6?iK@u18@EzKJrvYeE|CagzZ{uZHsU<`9Nt@tZ zA45+Bp{{+3(L*ylveTOIK0uelyFN|n@OhC$lfkm$(rtqMvRLU5jMQWc)v9nPiuz!= z%;Aw!fMG~qia4Y(3t)6NLZPzj|7*7)`9HY6S)?9FM0j`>7M1Lss-J_4jElsgpPJSQ zl?(Thr_C(C;8<0d1+Y~-cVY^*L%`Y-7X5}FPl&J_^&&{f{Vq?+2Fl=kg8>DN?nm@o$BwzEU@@MxmgY%XWtJ^)m}Lo zRBU{X4ZC*$6-yTbO~!o@Fz%l4p&E^jW!?NLD0s3FK9?^3bgh7Z`WXqIwE)!{CovzD z#aMvhpF9aH-XBW;-v%4$#GqOG_$r_8PZD>TXP0f+oI?a*Qn9DEgVQK>5?d&&>Up_z zaCy5UN^!mYq=Wbr7jX#1jA?nduYg$wwCK9>c1Y%KoD*7=8Zmgoc$g6XCwK?B(lIWa z7MptRkp(k1;tD7$j&^xGvZ9T{9OnlkfCgeerRk8E$ujQ)CK|1q-kB7S`3RDe@GN2b zaR`B%z31YCU(U=t&)$3Od#!cf_rgKFbm=&qCiMC~PMUVWfJO6LJep&! z)OB1Y{~^w8V0C91&Y(MoJkRfA|G?eqWy?+nfb}{8%9EcF|FxXe~ z1{TuLRskS+eT`sIDmB3#x!{1C=lS#!=&Lyby~TE?QJIMkmQEY0{MlvihwrvkSLtkn zDSBtAbPtM;*T9?<48Y|t{G9(k*!{PzpFtDodEKCA6K=AVz`*obWIF$b?%e!0vGj^; z!EbX#8WJk+rA#vN=|^FTSsUXX$6xNQzxKqT2Xid$` zka$(%xz$Q3PypL3jh^G08Fyk#irer%J~}f2{cq0a&%r>AoU=1876`sL!_G0RBDX{1WEA`$j;F|5ek9|?W0=Xm+2>u%p0`h6{)JLV?IE{StptKWNH>B)Zc9$K?M8$QiHY53pI z0v&c*xRulo=;*KNE`7T1nDpDNM=NG@AYEo0lZOuwut1iry+VBEz9u>i z2-MFkDl`1I0qJl(kVsRi8h+*u1YLnKKhu>~ai|6HvY`&@2jhr8in51U>I0KkBqgip`js#K;SfHh68(k@PF$IGe+jh z){PD*DAhDrvTkT(I}>Tmz9a5YLDdVn`B_V)!m;TaU~2kJ6KI4a5r;uVfHY)F->hXT zT_30UbycwbN4;y2Bi$uh2HPphCm~%70?YrnlDu)!Q z+7i1Ru7;e5!*gcKizLslU%%Ermw%j<_Ll|m=V}JN{q>EF)5arSH6B1k< z+V+uyZXbVe<3TcA8u=?z_WzayLLYbw2}@PomiS&HjGFhp$J$29me_^ChUQCHoJ34a z%+)w8=aziW92AWCdjvP8qR{i7`k?zJ7p?Cjv|sZ>vzw_j%JfN?ZC_C&L#SHRf6x;) ziEM6@F*7j{e0<7M^5X5ojQ84DlkFaK+(;Jv7&cxVI_=F-t^!mhlMNud9s_++tTHt@ z4`41HzSWK!)$lSkqv1zyxxVshAFE{&zhxGl3R)S*|B3wiX!SrpS*O*?jQKk*IqiKj zt9cp;v0nS~9CEAvLn@x4>5y|~)vR@?8q93`34XDAsTFzG>r83*F0<9N>(50jKO>Flg~MtVMG3bVk_Pe?rFHz7NlTn6X~Ox0+<{3W zFIha9mm8>9= zUytofcVb4*`sd&!(|sf!r~U824sc=Se!03zLK2N&Lt=xDb2;rH$iiN8S!md1DRUPhOEr*6Mq^vt9S!V<4v^ zsA8&AJdZdvGg`2||0&F!AezL+x3zkdErQYSxP-+tap;)NfGO*#R*mIy$*09UHhfA> zt~j#VxaD!K2qzoeSVC?#k^hUpx@q7xRdfavhU#x%#-7Gp&v%!MROiPq;~GgFJd`{3 zK7Z+YpPQTmA+wm6iP>4LD_zejC95&WO>@#5g{eMNR|5m zZblKbM#dL}evXXV@z3F+`0rCfQOAaHW0=|&HO0YO6FPY>m4RNsTO2tO4OJ_m3&(q- z=NyrUE6ecTSq%bqeF@?A$7dcD@88>DD|-5y#(|93A=oeu$U`erZ413+B@_+>Z?&5?c-e|mp$MmfS8)%B2LubXRF;AgOod^G7WjYB?ii#YuQ z4r@%!P8*A$9p;j+S4EL8S2&XX%UpII1tMP3m0i1a4*X~zZBbaJ?vIhPnqJ;4R!Jw% zhkpJX?(2lt^r#*!_xWOMHkS-qIU#qs8e0%g%2v1?m&9H9R%<6uc#$!QILqmuhj{s!+1lDdzmyF}mS`2CRkMR+ zd|*~!{1|deSr!T059ymaJ3G^OEuGmcmvzwl6DTmk;o4Cy?!)~^n`Bz!>ZrGP8)hF3q? z$zc+jx=-URSl0WO&^_ocmvQK`+}UpX_sHp^<#*lUvilFO_m+IV0f~sXlh^kZ=>8fJ z%KMdAlB#aVQ}*r1QJAWVvo%9U)b1xj#8EHW*jhCn1{smTuvPwOKc*Z{O}r58baG~C zlSepL%{W=10nHYq2#*|L<^O)OgQ>d^oWk8?cOp3orR{>-t&uhGQ9?u0=6h`uqFqa`}5Y#To3~;Ai5= zh@HdilCFLmNdI?Cmjw_{CbwXP1;tEas&CpQI!}7Bj``MzB5I3Q`yFa*Cu$i~(g;T~ zxarmPL~^l_7MpfKNWB4#OLvDXA*w0YM;a`a@#Z>=|E>WdO*LSZX_yE1JzrZFHCQ@T zAt__+XTx^X*6#h}Iab682rABaPbiI=oYv8AyrU6FWP@**_uM%}Q{UzNA`?_AvVBwS z{RUj(b6g_3`K9J>D9-Kr`0!qg84jqnR&9}U`%TA^(ro{`vlKZI&w@0AQzwX|yWX>P zXfdD5qV?q-TZS)PeLuI+$P@3d0iIYq!m25*=sWQ4y3g)3yECdEf0$$K=7cJXWldnA z8UdKPYsB3zL6|MS^xt(37}sF*Mpk^oc3pX8MCOY9iPYkvkRdNb4=dQ+&9)u-L?l5l zD?9sL4-vFdKsR3IYr*8=W3pj|Pu~k3-^+`eizO8!3K#VF_#JZT{3WuRWw3~ho5eDy z3rkn(pO~g7irAc3)yNte0^?va)mz`yLSNpTB_P1|qVSI7x9tPEe+Mq<^$&E!Y@IfJmQnxhSV=l$^SDO*AxhP&<82u) ziStGGxTy6VNuv>He~{h0x%>>37}S+9rSi7|^-EdC2>C$D=&OFt0Pgwm@$uLvZF~zG zxY~t|mPFjK)N@&g0)uR+LadfT4{$}e%NFS-`*iGn82$4gr~-)1NqNzoy<%lXmit%z zU|vb1aj{Y_;J~`&GZsO+$K^*0WFp`!gE9|bi-l%Np@5xB&E$HvH#Y|A1Gds=7s6uW zd}y)0$nPV&eQo&cgY!L)-cJooqhssAvHP%n}Y+F2y{4lL$0{h+-EOTa6gv61%ms`V_LH$8z~ zJCwzHP`;4E5EQs_oEEJ!CzwPgp}@*}3wGJd-mLI2_F4GT7_V3(lUTo*yJ5UY-M+;a z(|E>fk@jy1YYce)J%ZhgFma*Zh(qPiqi#PB97Xz1vZ`f`Dji4P696sZmpyUThQK#3 zID*=TndE?Vjj(W14|(}AUU}xR$KJxn^N_3*O1CG#M^QqMMazswT{7C>W40txq@);< zNrD(VgbrnN^0D7=kY7p|Jgykv3xSk|@7^(#vCfzR{QSAp-kHv?v)}S6fv;oSDRac* zdQ^>CV~h1gh~l$n0oABY=^}i|mLW)RzdPje!g2xi&U+6LyV}o{`=LRS%F!fjM{qxM z*vK^!i&>N)Q)=b;(yOiq+C9C^t-KIyu0u))keik2mg#YKU?&hnGFuuTs2s`^XL?K{ z8XqAtpXVB+&jCIC4>WDP1o{*xT_S7H7n+bR4SoWO8I|K&L?tEg3$*AZnLsLio~X;Q z?NZ;vc4iI7U&2T%Y!Jd5;D5sph)nL(0T(NjBYtxZs;s79&;+VQTG@SdzULJvoCljx z55F=`pXC^WFaY~z;Q#X;BCF*rP8Ip?*@vRY%Yyz#RtTuqh(C_fIljt7r(-1Qh5{)r z;^SYL@g0h`hHjD)*YyJGjdUqq}VHx`M_-QxmrdAoIX)CR>+0cjz(V01>AiiXe)hVL(3e04M^#IOeQt76K*B3y6*)2shO zO)_+Qtbk0DujCcz&JUMXG%UV=QSeRB+@EpxKk7!Y(v)=p;qrh{q{8johgP&1!!-7O zN+ZAC^>Y3A3-b9dLx%E%+>6?}P||dpLB6DD(txdy#CO`!8R>@^yr$yfVFdX|Ai`$b!#`0#c!gYI2Lp&{;R-m?t3n|^_h9S3^*>f47}Zj`$z$!aFoDkhUCG zMK{eD4NU@3utj^Q)$dTMf(AzuZ(Yl|c2G zYLhM6vUA?=xgH*#b9JeS<^;$*Z=p3F-xcBQ^litH(95UTL|k3M%lT`VtR_JJYDMaF z(Ogk>?|qwYMiy7^6j@lCJ4xJaxg+l5aZdoH@Z$CDaJWi!wtamx$7C|ny6*M?+>2b}a^ zaC&4EKW#@P#Y?2Kk(F~3r>iEbJ%~y=C-S>{{@+iLJT^jFQSC69>_NL~>D-z_SFBb- z=Bb3rsq~Ujd7S;=_SFFcp?Jf|YK|Tol%#U8a^`&NiJfLnc|(~c+pSY;fAjnF+xXA6 zQ?kZR?IRiE2i8+xE9~kYr#y7-tm?__Fkw~*8Q%&;)x=u>L=2t9yD12_T4>7)He!OM zIbv5--31pv3Hmf5;XC3ZPKM{C z3~q43Su+uAXQi5tpK}-Lz$x?vp)Cz$yn;{SnT>%zv2bEBPHjDmAz%Q^UI;gpf1%;F z_J%HfbwKfpX(KkXLlYP4i(WlT2K*o)|1PC6P5PjNSIjL<3={8LWBKi!f$8ZlPW0efs$-`tupLpM(Il ze&ihmUckeZr^t0uk1H2$?)TiqRX<#@LZ*U;+(a*=?X{7CwkZz@{WCM}`~W2XwVHa2 zLL^Gs<(K_zjcI&!AuN_;&OF-?hGH;zq@T-waNzu@&}-5{qzB%o!Z~RhwtW%1krdvs zg3M3eTa0L5@K%mU@x9)}wi?lqNU4PQ9m)heF(`sEH9A%WEWvT-Cld>O@vl!OC%i0J zOec_C^Ii_};eCla0L?VwOh(3UMFDL`TeufVqy-N@o_pg_D?rICu%+oxMvT1a#!PCS zBw?iL!4r9WhH96kPL%ODep9{R^F4%NObv#tstMcpz(Yb#dY!#x&>}L{c3$ciewqWaPzgE3jppE(JC>f$Iy~bI z@ONr1zYK=Zg$X(@8aR8sIo{s=9@>RC(qk<3bGAj28A5H9#qGvLq4*_{mjHJeTa{nq z<#;SlkO*_B2AV7(ccfVuj9(z5=*_B+lMqJy+>sO}%)?%O*zkttzVGF%RO}%r?+- ze?2)noBwV{mb;V$oWb9O|Kwkv5m7l<#uf6rIMT^L&@YtN>I z7wt+ERQJqeS5AQf)8wmjgQo)L=$%NgO(%j>1b`0i$obHUz*XzUGd|?9xD{YE{A$@G zYVb1_l2-d-{@x2RQSXCtm`Ky*Mfd!3v-pc%_q7&albe)_N=3I!hNRQSC8UYPBuJ*) z$3-E4TDQS59NX|bS^3K%wO(*J?6a8>15CIQ@rtA8l{DAF>wMC!?ZCBcR2%i!(X~Z- zRGnoHcsEya5V?6^zutb5I@;;n=qE9iY z5@1pT_dQsrUS{OK#evWRSmeOIYWPwd=kx7H*;c&1JG7p=Xvu^yulW0lCn7yA8IJ;p zj=z8|PdywdJ(5MpW}I0Ip5_0L{BwJITc`~2my)92F;Mk#X0Zs<7Wfe@N3?t$q*wPC z)#+RgUH@^mzp$UREo)Z!g>G2{u_}Y{x%}{HNrL|Jq~cMl6dkK+0&ND1^@DU(SvTBW ztk74&c<$%D2;!r1&7OkFdGH*7Mi`z$8zCvU+SKjsmBoRp*Z1>AWf>319rPJ@+BCg* zDA;>tpF&=k*ijIzhy@+`ZHa1I*km8`gXAyAWdYg!TBhiZH^hPT?htczU*2th)-aSj z1S5m<*UXkxN2Ns?2v` zcFJt>+8hhY<+60kPmuszI1gYUrX%UAN!L(eZw`MApjE^-=6pGazKLLAfypm)!RnlE zaeQbOLlS?S(K;jz6l}*1NYoMZVeS7RMoLZ~H>*FqnwV&xJAnn%r{{rr6?&7%A}fYq z3yCf8jbc2gE5EP#-qEE#HvTz@*rw}BGd3P7G9sp=&T41naWq}HXGTTs`1!Yr{_{-< zn(M5f^+l$=R;l*4@RtX;P8npQ5t$anhL#){-LMNZ%4$Y*+?tCNc00m)ZaPbWkqQ0T4b!Sb^WBc(9#|o>A`c6tU<2@ARh=GnmT0_-+zhk@_j{ z?J!ICHwtYH@~U9&Mg;+GWG)XJwh|<+ZtR~a#dv_BsyR{do0x5xRvsJbPEHj9MvWM% zJANuK2T)N|Gny$kEOer7_g1I~QAmm_4gu@J?jB!@3GK}Ajy#~H_L31zr zee(hdIS-qj8Zq=G!? z11I>|B_#4fL`qQ3O2x`NyGo#bZqk1a@Qw6~!i}`FG;31(Ov@%dj|1`WpPrM>KE(t< zj`Yh6a+nhP&U-f#txgM#ZvvZod*3f{V*Y5xb3?&gO^)(GBysa%JDUxR4Ef)CKSqVc zUE?<=y(4`luy_PaxI^s-^ldcb;@|-5jCGacv&HvBO?F6oDj51&D9WY z06%_6eA&F!7E~4&-GVB!w5;3HZRq|Qxko9CJ(1zQ;SB=cvmLHA?lV>$iW_fY%==+EpIG4ArZZ@2=Rmt-#vA8hT(`cp^Uetfi2 zMf=^(DO2f%9NgOgRs}{g%!Fi&5Av=B1szE-LzqTJ*}h941J(As3LZKZfnQ}5q@)>6 zGsw{t?DRRolW{sDFL|`gh**&zjFRqz84S~kcrgpgeoY-QM~PC(S+wH8u0zW?x`afH zU9yq<7VG>j^w-o9e`>HnvZ!Nq9$-KYdYMB$^jq+%XD@5q=w%2vO0Vj*<%_RJy*qh{ zI8?XhbUU|SzAGu&d~DPCo0qj2og^rb0ATkym`>#_BJB)~F2(9CvW1{@yA+)d+0_zW zBRy#c?`6)F0;(k$p81)ZukvKL;7QApiy^6>nIgIL{aHD=`CYO(f(-G!I z92-3^h8!=+sj%G29v~>v{C(Aorrp{@>kr2ftmCwIh2+u)*kh{cF&v;Xy1ZBSEBc%S z?3CN*Rk6yxd$Tn?pbE#??SrE&x^9QqB7lrOyRr4gR~-U<+YQ=w&9VserPk1b8Oz32 zOvdOiFWZV-!h|n~v76YduW)Xg!0e+p-|v4Dxri_1jk9$m{uD%aU~S;Yd!wRw{!U<$ zH4`4ORq0?(e${S2mCI~--{kJQ(!X+>2>ZQi3@#hL1&>U;91vNEUy>;|HH`C!ngZ*7 z!RboV>}{XuVI9rlXvsjdXQgx>gWj5=%0sY|o%W?nE+~VwDR`LJA}R?0H3|+GpxW#K^Vv||~odFj9$!a zH7WNgc%T97WeHFsgO<*i2NqFw?Z%Eog32n^3RyQ+?xZli{1(X-o}){$#RO7Z`DYZG>dC}nK(NLt+< zg#8}mGa#QpxTi+sZ(O$D7 zku>eL+((5gt6tN?uh_8dyOf0va$bl&*IK`AQhXq8;wn*M`0z9SYAz4rlEHTisfakQ z3qV8Z4WRoBy#MBq0)%NazmSp2BjuJS{CuEdva2V5NSKtgiSLVX(Xp~0Sss=C%Cvp6 z6FgB8kW9~>)S_AhwT}1CR|d!!%R!dBTfm}7pJ(-FuJd8!B67;A*7gSiwN39I3`EN|F zZz0wAKYADk7mrLMzQFH;m-l?0`Z?G80iJuY=KB}>p9cDWk>*Y-#{aSI5r-EE2jZB< z!9r^>B5aWlak*RjvQZNYiHV6t2Ta&wlDpkWQi(GGCy6brZQWzw<@M$ju!^)Mo%`Ix zMz5OU4EuJ?-nNqp-aTvy`J?S8hib0^y2+BL9K2qe!wLWabke&@mErB^DtwsF#fILM zSLP>we^AF%W85O#=Y=1`Y4ZU5bP9GWBY#6W95UwTBXAp&&38V^dfgzH_AbVh}=(gCA15Mosel zyeFUlV+)YlqytmO#6?KpE+_XZ^Q07Y0@!yV9N3g!>Nmgf?wxNS0}=LUuD2-tqt8ZU z3LLlexmT7-M|>2ncPdMhk8FPbM5#@MtNQva*%0S5M8axcsc3x|`PZSTZpAPDiB;b# zW4BGPfLFv#J%EWSsynhYZK#TPLzQQGPI9nAb}c^u0|z6 z?LEJn!8b`+haV?9@uUU?C8cAvF&?;W(^DpZMn@5E@(H*~m#vYY@)h+~JaG-j4=YUD z8heL4lN>*TsE|r2XqpO)mZ&Dy6H6i*Ulg!Sfm!LiP*kkhR>>&vie-UoY*C~IZYc?) ze1#ExiLo|vZ92kli92SR z*XESrwjqcb;JVt}*-Ub!!-XOp6LMnn6`FbA-{bQ}!l74TWA0~Dq4OdvMUnUj>bW{U-=uhXOv%S_Ky2QL9=>1y58|_j6_e*?rRVR15*Yg_5j`EBK$6D>dQ*S!Uu^!5UlAj8} zoSmVwp8woed?RE(IhaZ`>2%APB%*`wW~MD@Z2aJOT@7dCK;Nu;dU=W4^@R+vEcYK_ zwv(Pwznl`kt zo-Lqe%j0{C;J#%HdhIP19_nu0bTs{J2Kzf#^OBcYC>stRzD2t}r;gG5GOt$U0mn|u zgy13pB-YCQ`8f0pNs@U_;&q+N;fT$d>xeOJ6O(c>?ujv4B}AN@*eOO@HqrsLI!KMTAzX>E$r2flVW zfq0P)%Cr11uY#zRje#Jhl3e7C(K+ zLe0QkK74qSVx2U(y#&USww@F{h^3dUUF#yO+OxA=n*Irl;5VR}?A4-Ls$V1(tK!o9 z7gq62kZU7gP=#`0-ls%actdZz^wsK;5o}==&zt$Qu7ZPu{{UZy^|o7E6aZ)D#z#9V ziv^6%Jbx)c!KTj!Nz@#2@iV$*86?-rr@>O|41`qJFIxqj=D%+DK37~P1ff|OFQ3CZ z0-*zO1*qW|MJ~ORi{5d@(wO!7gxiSjqykeQN#u5U$>@w3BiWzNFc41!Uwrr3tzbDa zGSbx2dW};D^J7+fIqSlQlGp2RJ8UrCV}qF{0Gwhlc~@6JajjtB;j8QTagjl|JRBPv zo1?@Udm;}4j;mzjkr$Y|?N%;|tEXA3 zfWymMz{Nw4#(NUK3F2d%o}S*Og%?}s9WASY7nN^6QW4L`z*7_2;o##tMPFZEj^CV% zyH#)N>rb{mwe3bRy&;Y2&|3=80C?tTK`4>G4^>y1f_;s4_D@wLD6~KsE_psq)-~wElofRSqX>8DJRAyym{rF>d*B#iM$mldK3OO$}KSh^wtOwIloBlYpoJghp zaccQgS3tqO9LG}xeOXBLNDd!4-*4pO_S4*ND%|sY2z9-ahZ!`pvDj&v~_zygc7;PERO}KqH~_XG;a1!S7Pe^HQ=H;aqePj-9o7UO$? zPR$tLA6H*Hc#zhagZ=~7DXE(G+~ATwxY!qMEAgoq|7dNNSA4omH!up-3*9$|g*!kK zS}H>Bsn?&NMFFaUl|U;W(_N+{R)=5|qJm$9PGb#!+MEJGBGV`!j{Mn-8rm~0-vK_3Yv@ z-wL~2iDDy*D?=Hw0Pm9K?b6Tv@7!GGAb5vGRGe7OYHrP!qAM5``1yx+@QLgd>63#! z3pZ{AA@0l9BXVvJ1g9s)xuD^K$#a5@iCGWqi7T+E9ABz=kk@Mb>NPsVH)vZ-Fs$qW zLy@i^E7495Sk0L<-ca_tnB)4V4Y|rJkpPO#jhtk3de^+l#7A1#jgYx=GiKwrmu|1a zHMB2-Rp$OUzc~T00^m-hWFvkeU0MbEVTaG;|L10MsI-$KYjV%)U{RRWyu#K0l}zP! zuGOxWI#?~n%AXVJ=6)7V-~`ARwl!D}rBT?EsNetdk&>wSzl;&sLPSO*SICT>&CJ6- z|4^8Y1f^=F58p>I)Efr5nt#IpAo{r+{bc6gx3kL(Yo|y1jD5iD;-VN53MC2m)dImC zYw-~|h?o!uyw7W>h#7tBuuWfX9+hVy@$lBhdL+W2EIjbl#)9_7V+YstvZ3?ez>djQ zdOSBj;imn4BctXjklud&uRzw0LEa*9~hE{unUTx|4 z-~0+J2Nx)R#9l>q%Xt-(*z}EAxJ1Y>RN(PCb7%~_AVaj_e+aV~U>HhcAM$jVw5pO0 znv5F*74vPsLY%IO7=tU%fwEfV%Fp2PQQItVL3|XLStSfAlsIv;puC5@?4QpH!o;(* zKoUZ3{79i)@b>4fx}A5b+J7o@w-a*Y@H^;z2PCj5mpG&d|I3dYW}RY4H)Y3cW|zvZ zzOwkAFe840Q9F@FZ9GPdO>?8~&qQ1ILBaX0Z3N3g;AS8Ktp6ZnRM0MfvX%G!5~g?P zW99%1+TD=PdTj!gYWaw!ii4*n&4R>Z^@-UuyUpncR4!vDxC1XMu3FO*W-LL}sgQf5 zF^>w^*+nHyO*3cmLm8LknIfJ)?3vAE>1&_jB=#smLYnmE7~%=HCh9~;JN zhn$L6;VYR9UP?{mjBI_VO`l0S)e@-NMFW!7eV`G+y!7XN)>Q5GrRw~!6 zaw+nvR}X4CxhnRMi=4d!!xF*x(t_31)n9*7kQ=tt33hlyqN{izCKt$gw9w?jsrIbU z8j9W83dHbE^?RjhDO?~f%qa(cIW8$FF*4wK<`|b@)0fk6We16*+qe`+9%FAXs$LKbP`s=8b^=VB{zN!z#8%1y zRi#`)Zf~flDLR$CIScF$JxO0#|G5XfO+-jY$cyGAa^-=lwABqEE$eM2Brd_>?javE zRkWD>!MMz-X)x!~r12l92=pmTpxRaZf-Olo_LjuzA+z!3hPn#*aTaQEbzwzCh37y# zRiS$N%K7y+5A}d0tLa=TckQH;Vg!ZBuds#}wj0mC+qZt+V(Mpm>D9^unrq+e$T*KG zK_q{JgNvm5$Fu@T4S)~9?DYL$?;jK3GT0olZm)Ba)&CV27e~rTEncCPmTR5u=nNP& z4DWW46llid(zv7N5>V#I_HKBHg-Aan!s{={IdDpdvni5>N5{pI8<>e+o`qL9^%)S` znuTAK3Mi<5!HLg)yaeVzc>^U~+>ffF2sgSGNd@hC$>+XxKUPs z;_12h(@^+hTx7u?qa2H(+qVPF{fSGEGbk)|>~w?b8M}>6`Pk3WFNU=p6eZ>51D0 zkH%xTiZp0I(Qs#WU=ym$0*R;B4QIi>xMy;g&a!E-^+KgThHRN(h_<=kRn2kNTY94m zz@T6O_WBSrd-(SPVE;bSf>Y7?Oq4$vLSXNS_}br9a~$wW8v&qiNo+$uY_{?E=)zbA zW0;IK7xV>UTz(KUlcOwn5R%(Bzm{qjg2e54Kh5#fqq;F`7X0d|0@WH!Qx2pkTqt6c znbLajqsfoD?HQbc+o7f>T8|Y+>a?*1Cqo^6vq9fC%qms!!H)|KQa8=ApqwKR9OMP+ zD$JI=;W#Xi4Zw8iVBhhA!KBpMnMj`e-Y#tMs!$Ggi+I*ayjR%%YgDw*?$EtcUIGIIf%n6UJ#J)PuE0z84 zd*L-?hv(0^2vWz%xGV8`ugY+8_v3-To!+P;6`YRq<{)iAYhZ5i5A?$WVAG$!;~2D^1oVG!XC$yAH!+SV~Dzyyy? zkqAWG&~=A-ASDtmmk7uk6-hj3r2uutmhP+a2Zx;-q=7jW)|Fmh?(Yj`yUT_K6ZN8A z734pz6-nvq=(UeQHD|H)wk-P{l|#mg9{?%7fWWRk-_SiE!-2wCe!r^Y%&6S3*bp!J ze>!dzq#Cg17Dc9bYvy$EnOyqD^7_Z}NUPrr01GSswgit7r?19oR-PJ{flYP{hn6jC zPB8VPcvY^Ii;6M}fUAfLJBJ%$1&rg`);#*KPJ1de*1v#&0x2Ubi;q5>|H+}1K=~6Y zBG^?qLhgAB^d0;61_yn^B21s>p;7)}Bmye&pNj61(W=4Ms5?<`348m;!0}gFWT)-x zz(ZB6LJO%&@@|{ZhpQXBxKu7@FHJ79qDZD3>-heC3?|egs<4KS_MUq8@0Szqwh(vU zT$_~Ja@aXK=D@SZkLS7AF8JmP)p4_W-&42@w3Lp~^?ZMK2*}q-*o^WEy*;Bq?TV>J zv>@mq!6i-SCJ=A``qA9sRkXlaV()Yii7u5Y-{v2Fz@Okvm-q;=-DS~eNIULycxdIu zm1P?5bCU7v{f%ks*)MD)=yk*^EeIxmslQH0^3nSB?s3xVCzL%2c+E{SqNpzPdkPoS zJvexz0}i){D+zcubj<;-HN5Cfb;evapIN!3o00F__aKFTYF^+w&C?NbM2IFHjXC=i zdXVa1j%N~L8@!9dT>CY4baX`1IXO{?v*as$6zOhC8oAdk{wznXwBLK*${zVEy_-jE zw_01nlHG3#*+SeM+j9Ip0xll@*kS0Cct?nQh84XiHuLq`@lnJ@7r}}#s(p=E7*9(4W;m#Uw{vd0%}sS`g@4GYu`GsKV|Jhm(3tbB$@T9p(Oj2G`G`L4R|M{B zIJmbgJxa(k@c=e1!sLf!q8#hRK|&8y{g_$G;toUHJ{A2pGOfz zUduR-Jds3?;_Hf4uD2Nj9Z$J7G>V_X=|X>?Q#^vr#9)JW`l~Fb#l^7-{=i$rwdx|R zcFG4I_FgkeMv%%oCj<=845;_rn4z}e-lDEBgx*DtMVec`9bh@Ri>;>Yp0WbNeyBiI z9?hk`Tn)?AiIE8Sq=U6zMnE)hQeC03R8oq%*TRA!h+17SYvU*?I5;#7sx8(IL%vnt zT{WPNm>03%?Fz5k~n2t2>9L+eT$9Z9AA9c^gfqLlo%| zSRnSHW#t5P=EcxB8YUm+Yr-B1)EiVAlrQ6%A45>@MjnkL_1zgKyW7VBbN$n0AfuP) z3vrrNmohm*cX{fL^HAJzMk*o~P<{XTt_gVrUZxC5mL#U$dOUTFkF(E26P(iDET*yn zJTc+FOoU_u+#V_iaBq=mlg8_QDc)tHzKSyU5R3T~%gkG*S3w?dHfQ@viKJaVn5>_6 z|1szj$jbj?L<6BmC@v$+g;qr|yj;c2Z=pT=H4&>%sa~3srr!%(4~&@5GFYVU$iuGH zUf+NEbRk|cg1jc1m4x=-KC+LP#||b zHo)wo!0sMP2{s5AgYLBr5;Fk@2hKUT%Ny4fwOqx&nGeQ*$O=7kT{)!V0A@3?X+Zpv*9&37ffXfkn5XvT~L;*jlL^wH%kCmN|Zw+mAr}#;>e5nV5<&mYQXiH7}b_p zyZ6LZw=#<0!q?=dEw_bWr@IaF)SBlr$pOk5lw7w(5{jL(bHF!;$Y!c}4Tb&G73mzW z4e0VJV9EXajBLoDILq$CM|oPex`ED&L);@^wNQiggc(93t2MxmJMvz+k5+PHzbmWg zl06x!UkLbu(2nZrqpWYzfI_AUAYRyF=R8BnKQYZ2w;80Rh-Z}^mSbPB+;rtJ5gVx% zxEPJh0FkqQh&FNX<1b|OY(=}xuf306{(igS+)0-G*sQ*7`~?I85eH3_0hu|gcU6Wd zf7P#&NXX0i-7_}fXgd6fO2WJS0+`P>#57rgP9^CTk@ZnCSRkI2Db97c8B~pj^9{R{ zgdf5(rUs+D4FduK4#vjDw1jqq5>73@9Z&4G|Ff)MK*Dz=xCMpVlG#oQ?Ns}pso#3# z21(Bak}JJMx|A|SFYZqZ3h(dlPvB5KBhO8R$xn`L(GUn(X|+60zKE5Bm%>o$4Bi1} z!!*sBXeLx5KIeK&CMuHB=6;o`Uw^X!xRx&SDvT0IV<)t2pO9SJ@PYb@qr45*QoOkQg z(605UAi!}spfo*#sf#9*m-`{Gjx-kjqzwE3twjg)wYkTJOkaE7b3dW!568lOeU!V} z-+Bo6p&lSlVyf9Jo8iFN6Oq9Bj=eSaPtWFmKWhgxS=nx4b*24~wp3r23q)x!`ec5V z8+BH5(Ng>{{zd$1&yd-S%IjBk?)3{;3WdmZWwR#a#Yy zGtmbmURf~Kg-}%2+$pROwg3t@b;nhOFJWD_i4ubB0ZTOBlb>pKiuatnsxw{5_e(th zp47rNBPXIw7;1kyQlKeJ2UBnR=JZsHRgvUf7{WsQpt})|ehIDTCl3N>80-}{ZV{!M z8DFFZ-w)Ad*eBnW1l+^22n;dm7s(sDUS`j$8#veHhX64<9c5DXki7UWvQo@IDCd>O z^*eP|YkrN`83-&OFkOjwjrdt0Wc^h=g{bX#r^3J2IQ&+~tDhx&S?gg^o-+7$bU`dj@W~Mn%1K2UPx!fv%vedVC&s8>5tV@1C+_*vLj|BN-AGs3qDqkpU2{U zLSaYN$f6FN%83U{^w(Xeb-0!Z0kYS-vx;5*W?(RYpnS1@!5l1L$9i^7c$ zzUr*f{{(zW8elvj_;qQC(|aAedRUeiJc|Y6;Al7xxbbD!uHMDx1pRg=aBGo|86+gC zc0$dQiUbV~aY*3N6)Gp~HGYtC)_6!B`u9md1M+(XY*LwZm=xsY9plv9syIVYmOZSp z4%w>E|6b3~c-UHkL;yy;2n!zU}z+q{C6r2 zSRqP!grR6|><7xnFEC3T$ZAHoGDL?3JSxT>vnfXFr|~!Ad>DEtDyV+@M$M2dv2s>^ zUaDv=^5~tw#BUBXL8I@Wx~x>b_CrPT!Y6}DJW(ee)XY;W z=#jTajt=qOhx(&gJdmav5Pr1z|H}I6uqdDJZCDmqdg+b@Bm|{ILP|A%jUGDSD%$YN1&biNh6MhYp=}(j7 zZWui{X*+5C#!tQ2JNlS}%ghEeP8;Ef92MG_!l{#i1eF=yge+=7agmBX`)*2o?04hH2pFXT}<%^K?j%jcmNYf%}i_IFQVOMCE3swFIF*5Clv zFE7=IJ~_6ExNr%(SM7l4TnmH=)vHC_{NxG%<%fKZLHVwN?ejzvKjzXY!zpIhd$<~> zTjtAX8CXc5R**%{y3~o7`iT(0gD`dF5|Y!Ck>9Uj!?wEt>ux60m>D`!+cG|Yd0 zPo^OJSd?354e#^g5ApCzA_!##4wRT)WB-k&VnqZ2>E*ppSGJb;7j??iTTIXTx{Xpg zm63U?K)T@Cn3$CY8Wq%XFNkqoT6WQV!UGm{S#D2SgR{imbrt+DI!6xbL~7p0D8$K@ zAvU%|0&(K0Pkmi}Sf5N$ad@EfW0SK(Atxrt>!92}hK^t3c&{3Z$$vz~Hh2=~pop*+Bcx=7*iL5^V(`ya@E&)TKhLcPit zA?7=#(tDqCvr5G2nl8X32dj`Rrrk`Vreh3=e5-kcFWX`eX@9?lc_|w~!+1r{ znwm^ZTFH(v7}Wz*=lFX3`UEr8Y?C@bSAZPoDBkFqM%APyvY+NV_VS!MzoU!pfCl#~ z4n|hCE{jP^2c84>u&!qPh6J4RrtC5{A6012;p@7r{`82fu`u>r+t3AtMcd=wu&O>i zQh__SH5U|Ek}!@#9TFNXcq#V+9?@5owQw4s*k3MFw%pcvF5mGI<7DgEuUVnf1^ZOD zgO3h7M+y}Qf6PZ|F)&zPQSGs4|A8N@@D=V<(?WMxS0K$<8-TL_kqY<_iMrW$)()>|I?yh5anZ0J1-;uK_Ws z`6T=Mh6d5X=H@$vMMYeNpp1@7OusgqAy%^-jLWnUhOMCM`g6Hwtqn+EZ-8q;ChD1g zXUqY%DxhV&>!|VN9v~LPSarmi^dDAPtiF?&m{_=2*`1UZ2R+cy1Z(#lCJ{b(8Pl16 z6(oB7p4Sio(ar40bEwpB?@(@Xf%bD$_WoWrx+63KZ_&prYCS;MR?Pk2;Ghe08|k5V z@1DmQ77JwE|tdEM_)Glxf4Q!u0QO+M+=w}UUSbJYm!^c^q!~f zk#q}YdNIc>(EK2w*uv|5y8|Bt;gp0V_wzPh8ysB|$j{5O>H+#=_A_@QhW!&&{`5M` ziq3B!X%mXCn+%;K!=%4Qq^x8w`dPN3QV0*fm_RnnJv!de4QNqPlomg%yq@c(v*<_L zHm+Ri+u%Gqvhd*-Ft|JzQ7E@-z^@1h)?uO*-23nm@c)(8XAxB+05%FT}OAIeA8#>tlCfiRrVYh zG&yK=Z;!pi(Gh2cgG#6;CjI6%3NKh>9+?NR4ei;4Q|pqK#ZcW4$Ijo*ij#OR*x9^n zHSC)o;_vQLjeb`8clXaaAL0G#Ypf<{5kO-IL;i>JG7<~r2G7~vh3e`Rud5moCJ9k& zuVrQ;dSFv z=9#D54+z5?;oBYM<~Ne_J#cm?zdZ94;vauWfUC-#TuS(ov*X*%P>p(}gT{>kYnbRI zmWm<_{VI!+5PysAST{Us!A%7m148B+Pdz7SJUF@Y@>hjm?z0|)TX`!U zkr!2?cs-5kL2>cu1~L-$XNi@jTq++BimYSqs{D}iAF3j|BWXaAFDOoOO#;*&svDG{ z_1*THAK}DxNG5V-O%%!ihw~V>yT6)4Vugiq2;Oi>8=R z*{^zfdfusPn^8%102^!bAc>bdO~6X=P4e|tENEo`51Jj~67=z0t0`{6BD40U5)>Z# zajdtiz;ZJfIOFU-u2qJX&yFh`ijdgqBsl{ke32v1iT$hh-Z%L*=N|cGrghOV9vvP)RLmg%D_Z71A2Qpq0 zX(dOT!bMMb5cyuleZ-+8li@avE&;%TWKXJ$|L zQd56socwMN6zWT%DK_mxYYWcG7FvZ-GryCHK04vRJX^yWh!W}D!HjU!Yl6}wxGjH( zY6MkMN+iE7^plq8oL|%Gh^JJmG3;)8*iPhb@nu`y?$?_pP1+E715SKS*3vk+x|ExuPmt zATPuXjB@r{aZA1|-Unl@uPdvIRh=NUVqZ+M0#8G<-SR6SH5XTe zzT`y7Ww>*7+NW3jzROe!Ej&A@TB)eIRCt3`P=DpxA|=!FT&Em+p2U=^95aG`4(pulC>1# zp=d`ey;$=}is0z*u$FBbbtA&NXMb44bNu_MX$cmHTnfm|2P`jMNJn$N2^X|ejjEuB zo27|-@N_JaA%#Wc3N$aV;psE<9M9=Lm%7k@ZskKv?kP{D_GU;WisasHmDWp~icft` z<9)aQs<__KAtU^hdYvYfZy!^EcDkn@E3)ja+8OC@`q&6NlHAK*A2kZ%9G&g$?S<1= z=O1E`F+hXYrF{?W7(*Y8zP$FpQ#~z6OFSL?aDwE8a3pWIYB7hrQsL9gUr!)S{p}-i z=nlh|EFGc&AD;8YpM1EbA;8AQ=Kb_AkJ-a&MHjjlrS$TLqN1xO7T-E zNXU&#t4~B&cH8pLROwG32iohVY`$T3%-m!!n`=E|HV4Bez=J?Gh# z?n{zbtu~Dp@VX0%y%YI>;|U|=1p%qJepveKH@EKBu9fVK+b7bW5o9 z87~zLUVw3(L!$aJkFeZB&j6sVHN@eMeO1v~ocN~Z9V^R{4W&UM4}|Gj2d@qi-x2x7 zhT)E(u5NE*n~J*Ljs|(r3@aSbQFZ5vcw7A4$IAsFXu?Y8CEsL!HQcpaQA)m5uw_44 zBirQa7%)HBobHx{e!kw-U9eH*rh61XXjw{qREJ=9`%t31^Y8}{5ip8IHRO|-eKZPr zvptk5BqafBXagb+<=-ECrqw0Ce;hHjbzI~R;ty)LOj3z5`zVr2Eor%-m7b9?6EFw9 zJzXC6ya8rzjm%s#7Ux~Yrx;7#QFoF%mpr-!`Bz*ccdy_xm*OMGg_XPBkL#Ol$;t5$ z`|{UX43}Q-DF)7HV#Afr;`lq7k^EnN)ZuD@bQfP=V1M_**@*YWfj@0?H0v9JkJ>kz zhshmcgM{KJm`}AHsOMHe;%E zEo|r>hnLKy7#g9J_Y>{T9_*Z+Joa*zi7So#9=n}mTD!lCow^Te-QQx zaIGW78lT5GqFG!bAO}47MC9>Jk-DaJA_(WGY8+#XDc3Yp)coT26OhK>QFs=iECIXT znP&CG%q>qMZlU!ljL;TgJ@E8~29y;~1fXKEl!ckGIks+S^=f%qG`4`-d~lJ8ucI8; z&bMzxr?Ep^SYHgt51wK*wt1|p^%OR5%04v9Pzz#Ww!QToIxsqT)e#X0Z|zjtOFdvL z9^!#d_q~+~Q)DK~pS~9km;F4~-B8JNF;aKe$=)TO)?Dz5g#H(+m#Yk_)fZ3nGZ@Z* z>mdi+nX1aPS5Izx{bpaX(Hkr>VO?Z}Ffa$7{#@PAd=q8TK4~s`%3YrXm~v%bA@0xKVwSa3wlW`1nn-j0)m8*dU&j2}z=cAF`xSlt zZcL5jH`O}P;Dyeq2o4qDt5$1*!HN9{5@uVRF8s){*th->g-;3Jl;aw}j1qIdi1VmN zZS(*Pwio~bVwOrKO&+l~zNEz)o0y<*aCOb@5dFXdy8W0{%At(TxWERyDxXb*)+#oP zPhVv{eO$=qn4X<70!N+rfG#WenknrmV&nEh8YID^SoL!88#SGJ`K{cl-=4Jt- zY}&Eexj7T;Pq6hVe8T{_5x6Wb8{EqqK)j{_7c=>Q?n0~X-s>_)gy&%E3uFl1Ef5=i zco${@KYrhGyEQ1i+!c>c#6S!1oa2&;B2nfyWUsB!It#kEEAFq47p2qZeelfagI(Yr zo|t{u{3+d8@7ZEn>UPPgZ#7;lG$*zW&1)E(?)pH`KwH*p98`m-C47!hEv!;Gi%b7~ zx5dk8p-r+hK)sOJMU2|29e-cO1tB5hqjG1jUaVbIgj$G-RmF>f^@>h*FY#<_iMk>* zxtpkHEhgv{9{Zh9!Am4ZGC%?CKbw|LgVm@yi#zqBaj%elxzK zUfxN!*Sbc0%CIf>n0UxglgNKvtX=CGQ!m9z!5ud41r0N1mn~Y^A|IR;W5RFqA1XDC z2?)&d(5Vhaz7DPiAcRTP#WPoOBkk*r8NC#rqX)>;KFw?3yaEzo>hIPGNl5r^pI4@- zX8;^YH~9^9n+NaY>cXbx(e2Pi+_&x)Mg|$d{KMn?In^E+Rz0_>y4m+F*>2o_=X6hB zuTLxoZ${UA_&$fQ#6vu7aD$PtOYDBYG^9P?eOTcK2nL-UC*RS=cgv(ZDYCd{%CLV0 z3b?1-9T`bMAyGnH4WPN3bLnI2+~nkBF>dtj=FekJaiMx?7*Co2#Q7X5s!zAfQyi5P z6CItFpybVz<(^cD&EOh5b;5TfFCO4m1nna`ZMHkR>Y}5k>L-5e5FQwEBs!TI`eC6@ zpuNj5OxVi;r*6F}D|*gi?U97`$L@w=2UwX{1Lm;MxjDy|+o%()b-~zD50DNsIW^HJ zXwbH>J(IxaSE-i};p20alK1`b44a_q6`xT6QU0_u$M7Oec~TOUad__I(Bb8k%w{s< zVzRmuA2QS9`glW5NEX6vYohpqUc^Nrn!Ze?B(pbrlEo$M=4Ju6&NJ~(*wD#55(>R2 zDqBu#9QkmjF^?W?6s3M@=!*Tj^h&`8mTy+gEc*ggYK1a)K~3w?hB>86(u2jiN{Q7w zE^eGCzi|>*pP4wuJ2+$Z%_DW3!GHkdHH&ry-Eu2M0@*86MtH0FH!2GXqeGX@Jj$)D ztplOglwaElm@3z8tQ|_hrKG303!Pp>pzk=w)-HxwBdXLm2JcyhUHrs%KR2>2x0hXUIB}s>Z$64%j9EYW81)`t~GGD!wZ<6VGLU6 z%9pp?)M~xGIlMdor8P!0aPSY`#kg`Nha3F{k?|aj-(aK`BdR*Ek!Jl%?`9+m5!yP}W z$MY^&`JJB7w10a=p-*vg|AgsjyvOgUSUIefhWUtnddbL7a$K$~;`9|F{Uyo!u=~iK zyf@C^;HhW9*sp^HdfF7btmna$ay>yBzn0TBXHjSYBVo{G_n@+_h_MePs1@o zTKi zHK5(rjJMeI{1;0sN#`klZ0oulzZBtk2*0-(f$fP}*Pzpz>*@gRr451Ixxm4Hr&j+^ zqLZPbqQbRSZpZ)4XR6TJ?~8b)#kn^a?ggQeD#Gd)?VUxS?_`Z$wnolA@yBfXc~UuP zwMs!~e3oUu(p)L{5$7vkRa^Ygm4$E%|0`o>XXk5e-mAzB4Vk^5rB_;_FS2lEG2%O3 zeSSW%#88o6SwLu8eQ5dt+P8t92}VGrV5$8Pv&7@pqvmQ%S$EEDBB*N;O@ zv^IkCG6+J7e97L-TFNnq0y+xS>z+>x3aO!p&!u^dB67cA{F^KnfA5*sFFHt*qv(L3vH6Rj z(B!)h#nH*x8tBu@pV_zqUq>LJ1W9j=YIG106vinpUU|U3m}f)b`XYBk^5R=bw)2ty8U$sKAh?Fhmu{B7N9-0zwUO^Oj#eW?Qp zD`J1Mab*Kn8zY^1G^*gOoJc9YX1M?5LSLR%upt(lf%P_x7RyR+5v9B?I(`~q>a#P zBQcmdhwU$;DR~(98Z0}tf=n9R5TW!aKlr<^q+7xiez8)`As7XYT-{ULwyeBerK{Wv zk0qa5wCK93s;X{-U)@ya8`FEXeLQB%XGTm{D9i zJjfmcM{A==;_-r#lGdbXGYCLa4s5ZgnF-hPlrL zU_`LT3i?_ttgri7bH4*Z^TP(!)=^J6^JH#|h^T|+?f}SnsXaim7uZC_mdLsi!52d? zVecGZIbx_~Tj1Q&grR$`df=*3*ph`4`&JG-L!Ko($c4)?Xd@47i#xC(_71m|egQ5K zOTWRNZgS19bHiNJb4X{r^RiQsA-NIyHyvk_H5@jXy+NMzO>l6qgK_pXWaW#5*L$df zqwbi=Hh_(~JoL*ULw|S244A_f=fERVsImIuT?nB_rRu22YZU8HFVQY5U;MhD?_K%c z0E9hOH?iOItiqL8a&s7>e4(*HjR%#J^Lgv_9wFkx(WehWt^Kl7X-;HxE0W_0=nb`~ z3IhB2+GgJykSsPCSIn*zhc|NY$5waT!P4-Ny3_aqy59!^ing18kH}vwn@~)vcQwNd z2s;oVE_T)c`n^d|ry_kjHLX4eU)J$v?--?iW+dG7fj<$)J(iq3FHg_fpUsQ5ZCmMR zcVYc1C{*wEW~mGC*RkZ0l;$Xo*-9{z$6cEdPU# z8a_>$Lgw=Roql8QD&?#QX(#b>6{>Wczy;3;8b65yP$^dp4Gnr(SRzGFN~-4{#;6o! zu;H~ct^;@4p#&AZBv8N9o1B<<4eleg<4Vr&jf~hVB7kvdbv+mDy$dtLFc9Raa=Zz3 zKwJOk=Pb4L&2Qg^S~{|-)zm8e0f?}KfaMc}8R>vPeJTP&tJlil7-WU~yezG2$~r^o z8GeSr>tmFK_kJQm`Qr^>3AL8Q5^6rFG!@uY!Y~q-uSqwInqD8w?eG|{g0F~_@de*E zwo+IFwlKqea|ieD_ke7gd!pdHF_z#Le=RNYAHVzBQOoRu_u?41?=F;9CYcNFF?ejM z@ex^(qZ54^X6c&0)YtRSNfcIdPDs)xEX%@?l0Sb22?$?;7UY}D-}}i-*33w(0g-A- z2wn+w@RL_Ftv6e;&|-t`k=fwG8cKSeP}ze!Y9nR*ng--lntZSG@X*TkAMP2V?H0VA zj0_VWE{&2Z0OjzJt0%9W9zVn!LdPCdE53K0e-tzM)k8%D6l`+#GKN znpI`8r{=WKhv-Qi5!9nHE>}tLYO4N1 zh4%9IGl5}l?RXXdD-D6USsGf;8?^y~XafM@C3a}^NFT7K2ee$wa%q=}oVH)?fZkJD zSzI1OZ8Tijt~lZ~BJ_Tn08Z|gnDc2mIy%J+M<29HMY{zi%)#vGo>J|ZKYxuw(Pzc_ zaC$P^XrkDGwTX^SB9L-0j4^bzEnk~(upBr6;x!HUre%$A8En{I&EXPz4;6F{)*Cg4 zUFyXdJw9=Nn-~4YC=SdASK2L6+O0s2p^_fcT7Wl{I`^`;FbiKlb8IHMO~@&Jo~=If zmBbxxm6yxQ05U{uAu(|+bco2HlQUBgu*4@WjE!kN7qorE3X+&GL~ZyB|2(Xfx*rAO zUYR_9!MePV1EkoXsRK|Jk->*9w(9GfneD+wpR5j0GQSi#l{(*GW7ewCa(nE)yb;zF z^9@U{%y8AH)%OXq&M{muTA{k#|LlNmqnmp4cmL!spz@Qrw!W^n+{AVFxQD?O@tw>^ zxY-2mxdJoT;k$X$Wv0dFXU@0PQVH}30hI{+Mc*K;mnIJ|bWL`&Y)50mSzyY1IYmt6 z#Vy}j(A@pw*J22XKZWVXn-n78cDnBjG+=nUUP?-n_l<93?|pslg!D-{_zjZ6ltt|f z0XK%gbw_?qGL-aK#;wlhu~dzUu~vy3dZ{uL!M?Yr(((fjBP3r;$;2k0dUrATzAbSO zE_vr>JCJ1YM~jqCHQOlu+Q0@nJr%C|%RROfj|^!Kr+@Fq2Qu8#U+|f_W^LGshri7J zjiywGNJAXAizj<|VgMTwL(32W66~C0R-Up*RYQa9fxkK$ZcLbAbmE_E9jbus-Gu;n zCMDb$^G@{5aCqDKR_W3U*^oH_&neK1;lFToc@hAClK6fd@2D8U>B2$^dJC}a$o-u} zd`$)WS^@2b0>F$ffvgkCVO17-&BJ%BPxiBFP8KGTcc!zMPqU-2QuzBE`8=^2;O+W|w!o~6X_Dn00C56!=P+1@TPGhj573HRC4wM=;b{F2N}x0N-2xife|$hWNgI( zBMQZMsXBCnn|pso)l8!`6Fgcvmq|A>(T*fZ*Ewoa}73khltRDKl zSb@?-BiB~Skw_YgS7mzB&u-^Be-0nfp6)!G;un^oY*Edy;)&E_?mACNk_0yyiHM8E zFLdFR%`<@D-zCW$0Ph)rn?s*=;*iM;tw!Qk;y@vN@fPI%S4nh4T(4Zz$xbH}g>I(| z?}o0}aKCl)0W$RdXw<C)@vsM3Fy_G0g%UB33 zdkZ}48;Ytc_=MFYI3ELp;--@PUG4RKLzINU7-xb1y>B7N-6_Dl@%~z3(Zj#y{fYEp zQSQ1*IdM$TFFbUoFO=!UHLpSIQ*>WJMk{|7Hdhf>9P69w^8!)z8bPDYJqO%BmTv&k z6ckz#c;Cy$pI(STcH$Pgby`|u^?sZH{c<6hX_+Om_ML{lMxxx*^Sm~xi9X)YeS{)o z#e4J|fX@qFOdrq#TCf5v-ANr|>CqRO5Gx*6>h)F2fm0-b!dJh&R%&9-*!O`2&W9MI zTD>pik#=26VO8ruW=R_F)2|+@>ekPzi@f{{uK=OH^k{WqIRug z<@KYwR+g=l<;?kaBcOr8lY7;#z5@D%4?Wy@R+jkW_d8|t(LvjIGM>ZSe0x zcr^$GXcb$+qWFf$On9^L#8QM4EF!7~D*}HzGIQ`BQ&Lg&{utPJgwGp$XK-_K(+7XK zG$OIP+eV3=|E3e9tDM>K7bqR?`Axyq?34noYyWZhpf{KF1xi_7aRz-lD*?`W$`qb~ zwB}QasE4QzMkzl6K;>xPE5B~HhuZ8AF??RDl*-*Nb%By&-X1>IG%}*6qoLutD{7&S zO#Q;-JI=4`NU>aA2+BFmpxZXjHnGedeUhM$7Dh;YlbBK=8~XMo15I&YV2YEy6KfT% zzXG}#rOK-agoxUXryZ-(RnJu7$@=_zj8dM>6B9Uxer|_{>P=tCX&^!aL8@1pz;)6` z#d4N))CTuKDbZgmAqAUO;r@mWh=TT^i=*5(cz9}bQY=_qspTML6p@F%0>l10`V~Tt zMy9$(C?Zhz=NK6ncx6L=L}1W4GibG0#ZJnA`0AdVTu8C0P@ePWfBg%rF94^5bQeX`HbH6kk&QzBWc=lB%@uyU!` zB`esHTm4MMIhfu*vp@^NzmK2Cs=#a4a|H2slkv3P|LB!vRkD2T3y{OEas^acAE}ZL z_q}Kak8%{pb%7pn=#OY=RcdV3mzJ^Sf!<0=cs-LJLI%dA{_acCN+C=!AzL5O=HatEPbk(_>B`E#K68TVeL&g6@iOQFjuNWsi7|*ZfGo2skH2pDK4#Hek zSVi2@(vnwXS@8V_;NNI{O8;=JgVWGW0=!dS`a?$WI}0XKaZ!f5_W6coI$W_Y+5Q1X z7h$1}!#GjKr_$2W?elu)8JBOhQ4UG}_FRfA%kHhVf?C-y^d6K+gR(S5r@Wa{d*JH2 zSG&evjNON{KNG?Xr?>o3XSx69>;*6Xo*a}On!~#nHZ`qzB{ zYlsIqi(gJ9Oi@AWunY+wcdA}wSO!bW&RXK&agS{Js8_8;{mh&H7P&(iEVAyH&NncT zw2056qY2c6IGjS7sh!HAxFA)~oGCHw(NBm2W!~4Gzg#eEU=ig)jgTF&g!^k*1{OQyC zIhtIgMHrdscm?}(-0h6Ed+6K^`qLo^V$fNu2S@Ut+Z5x~-kNz`CMtS;KRVg1yCyt+ zOVs%uy>Dj7`5!mLy66JF{6~F-FGwu2V7Nvt#90-R`LrxQ|9udeOXm5qesFlWF4Ilz zv$69(fvw=z;PvxERXNf3hA0fz>BgyIRi_6M;AnobzpT(KEL^&qyUUeTGY!-Ed(^T( zsKA<4(^R5+2~jtL0g|M5ws{H@_=M zC7{FuFIz+ittyjiO-xO*c6T0Co}rUUe+Ekk7FaM;2^ak;so+(1MP05Zpa8HcetBfy z=25S1{qy=fWPLSp;(scH-@t#cpE7%n}n%lY{5Lxa6U9J5EGY>a2oXd4w6qX+uxpjh7qu>w5t5*2T3n=aueQ82RQR;t$B$zt=eNUlcc%G`oFBG=r9^*T-~p>j&3T8$%<^6fI`ih_uqclvX(a45%L#3{uo8qZWN(RwaMkvW`4gsz9-zq>1!tCkYvTBe=DFBmVSySkdV# zzwrHkwxR-7-bU~tTCns5BLsyaoYp}mz+M@$lSxsi@U>sKccEn1yz1ko zK{uj#ij11th>W-Q`!Z$@f$u22_H!L1p)TuV1w>Dx{TiE9w8F^vk$>T|NMYXTR61qFGu!zu6f zUvslvU9v_eNr(ghEIkQ0-z-e3f0b44J@3QGyUbh0)zd|5d)mD4+r=M1R@XIoWed@F zee}l)Hg&#PX~k8N3m#F=5~TF{7j5;UldySC{5K#l@2oBuGdiC4+xw>LS+!D2>1<02 zrR4o%9V`&QJ-=kbW>v%u{_7?w4K3}ai=!h!zMit}NP*rD0CPTQy}JB`*B6jKMi$Pc zIU&&UVkyeY)Q)F*XvF#Nr4{Yzcp-EvHdIQ90Im7r2?S0TKqK^hU7sti(7mh6r;e*l zbV)!jZbsQgN^oSfCn^mvF|O436eL3)8PdvL=fDwGs28LD! z1EMKT-vAIQIz_uHil8qrQz}3_!#qUk7EN5A@XPDjZ=!Rf4{bGS1s<@PZEm`cb+rkL zh>!sJY-3N&<}YZ%N%ZG_VvvMs@yl@^^bD~FiRFruc2R|*+^xBU6)5|j_QYLTvf}&h zXDokA-&{6NK{yMKKc4>UmqD=rvDi;f{=P#`8kpS>C+Ow*Iu34O#3Hxa4|fvpt0x=D zQ+E^EvrS+3lh^rAoDz@+h3eV*l->r9kHIsK9T!~-+p^+Hr}87qakgWd9>}_(UHZ?A zJN&^WT@%uY0&i!)v3T-p#?a7^Az_Yxu&7#7(piq)Cf{A>zdM-$Sh2)ws1hKe&>;>< zzwNw55+=K%mNGslj(^OX3NAl(Y<~3*%gFu=9FFM-+?zqSPCnQo)~Og|BD0NNyJ;<^ z2K68nTZ`vR-fWWnFI4K-MW0tL7Dwt(31y6x$REciC+do0m3|ZHiKMmuui$(H$%? z17nmLqWpr#_u#&1#f}+aEvEC`bnA9uhv2`~471J(lK!bvqKIC%euiLld7$S)k3{-t zLd*B_Yq6bi2Q+3%E~S0Dm#3oT4S%=2XYJoM-VOq&C)+YMPiZ{sq6MU76r2n5MQcX` z^9nM@Fo71%(L_o5BHKSE5xfKZ*gzZ61mw^9sHmx#HhXT8N#3OT`gYk0@5LF#ukET| zhX(&#Rtvf;^I%ffOaU;eKRxYcChlAr`!X@{_AN1O8%}@5j(rHBUfI@v>!}MS(#eKc z78k;t z{lgIv{@uUoT$W`8;8WeIzn5AAT*&o56u96)JLtm04=T-H;CB_aN+5mNIXgQ$+1sla z#*n5c{PeDM?7qqF9j_gl$iUG0e-Tg6d$4FegY#QuFk}|`vcK0sFEjxNy*7Pls4!WK z1m^)CgL6#DLv*-|{w#_D(~J{Jr2`J*1uP~IU0um()Ag#A|Fh9` zbR^kE^aTsV0u(S%6^%8wTpiSsMTC)gD&NA4EUVnW50gy>%PGmws=oK{K|tk6s-5MJ zIVR&>93;1A5bb?^3C^xF+fP}$HWb_^nQyj#ev*EqzeI^_^3}R|pYy+IhykF~#;Jy_ zG_VE&kiE8FE}JM6N;8Vjs^v}mn+V%^!fDkbOz9_-0&9MqFeml z4@j)CJ1+WF2TW1584%o zT7N(hg=isu>~1|gzPdShHxrBp?Nx(;kHi1$84adK1P1mHC@xEi|A$yYhjNO2R=ywi zjX}LMJrwRd*YJ3Sv3=pw#QwkZFEHJg=o&nfml3!(P;5ZMqPnaHV?ZO8J3ur*YHWuO zppjKo0%lrTT1Bm`0g#pX@^_%+@-sQ39_N1s2LXeplF>;3ga5&Xy8N}b?&Jb1J%`CN^0Da`7G5Q2ygmc&-=0 z66SzWm8F6?z=hu2_@ZaBIBPtl4`w|2tcoJZ07S`gaJ`z?JZ9b3DWXf6mG;0#U$gurHup#eT z=E8p};NZ&`(5Y4n94!y9z!~>~iZ>8J$^`iM11$c^i}nL|qmSWGec~Ec_xyXjIu$gn z2F9r@Aw1BpP|XG0MW6JbsV!y@$MjCsNacrm&)4Nq{hjTG2;gV^oQku6#}Ez0&>Z_D z%VjA5rK#1k7)7Dn;JJZ~rwsTwA+IRR@9XXLAqAw-sEhY>vJNjH1S{1X2|pw+nAXp$ zXd`fXJv=-j5KTDyKCo3H7RrkhxfeyL|F+_yFEEF4kt%U;qgsSQ;14ceajK7OZEW<1 z&;-$8{j$82*R)TUpIz2sQm(YI&H$Aj|E@%B*Pgge%K)AdJr=7;|erwbJXWpgI aOX&wc5htqAPn9shkCK9#e7UUov;PC-y<_D7 literal 0 HcmV?d00001 diff --git a/Dijkstra Algorithm/Images/WeightedDirectedGraphFinal.png b/Dijkstra Algorithm/Images/WeightedDirectedGraphFinal.png new file mode 100644 index 0000000000000000000000000000000000000000..b2bb3e8e2b9990ff598b7be178547fa3d0171691 GIT binary patch literal 76503 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 literal 0 HcmV?d00001 diff --git a/Dijkstra Algorithm/Images/WeightedUndirectedGraph.png b/Dijkstra Algorithm/Images/WeightedUndirectedGraph.png new file mode 100644 index 0000000000000000000000000000000000000000..2f26b74d4dcd457fd32d619744dd5cdbd340a0c0 GIT binary patch literal 78079 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ñx&@q?ReE3{3Qd)#J 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 literal 0 HcmV?d00001 diff --git a/Dijkstra Algorithm/README.md b/Dijkstra Algorithm/README.md index db1726b1f..ddce51525 100644 --- a/Dijkstra Algorithm/README.md +++ b/Dijkstra Algorithm/README.md @@ -1,13 +1,50 @@ +#Weighted graph general cocepts + +Every weighted graph should contain: +1. Vertices/Nodes (I will use "vertex" in this readme). + + + +2. Edges connecting vertices. Let's add some edges to our graph. For simplicity let's create directed graph for now. Directed means, that edge have a direction, i.e. vertex, where it starts and vertex, where it ends. But remember VERY IMPORTANT thing: + * All undirected graphs can be viewed as a directed graph. + * A directed graph is undirected if and only if every edge is paired with an edge going in the opposite direction. + + + +3. Weights for every edge. + + + +Final result. +Directed weighted graph: + + + +Undirected weighted graph: + + + +And once again: An undireceted graph - it is a directed graph with every edge paired with an edge going in the opposite direction. This statement is clear on the image above. + +Great! Now we are familiar with general concepts about graphs. + # Dijkstra's algorithm +This [algorithm](https://en.wikipedia.org/wiki/Dijkstra%27s_algorithm) was invented in 1956 by Edsger W. Dijkstra. -This [algorithm](https://en.wikipedia.org/wiki/Dijkstra%27s_algorithm) was invented in 1956 by Edsger W. Dijkstra. +It can be used, when you have one source vertex and want to find the shortest paths to ALL other vertices in the graph. -It can be used, when you have one source vertex and want to find the shortest paths to all other vertices in the graph. +The best example is road network. If you wnat to find the shortest path from your house to your job, or if you want to find the closest store to your house, then it is time for the Dijkstra's algorithm. -The best example is road network. If you wnat to find the shortest path from your house to your job, then it is time for the Dijkstra's algorithm. +The algorithm repeats following cycle until all vertices are marked as visited. +Cycle: +1. From the non-visited vertices the algorithm picks a vertex with the shortest path length from the start (if there are more than one vertex with the same shortest path value, then algorithm picks any of them) +2. The algorithm marks picked vertex as visited. +3. The algorithm check all of its neighbors. If the current vertex path length from the start plus an edge weight to a neighbor less than the neighbor current path length from the start, than it assigns new path length from the start to the neihgbor. +When all vertices are marked as visited, the algorithm's job is done. Now, you can see the shortest path from the start for every vertex by pressing the one you are interested in. -I have created **VisualizedDijkstra.playground** to improve your understanding of the algorithm's flow. Besides, below is step by step algorithm's description. +I have created **VisualizedDijkstra.playground** game/tutorial to improve your understanding of the algorithm's flow. Besides, below is step by step algorithm's description. +#Example Let's imagine, you want to go to the shop. Your house is A vertex and there are 4 possible stores around your house. How to find the closest one/ones? Luckily, you have graph, that connects your house with all these stores. So, you know what to do :) ## Initialization @@ -38,17 +75,8 @@ To initialize our graph we have to set source vertex path length from source ver | Path Length From Start | 0 | inf | inf | inf | inf | | Path Vertices From Start | [A] | [ ] | [ ] | [ ] | [ ] | -Great, now our graph is initialized and we can pass it to the Dijkstra's algorithm. - -But before we will go through all process side by side read this explanation. -The algorithm repeats following cycle until all vertices are marked as visited. -Cycle: -1. From the non-visited vertices the algorithm picks a vertex with the shortest path length from the start (if there are more than one vertex with the same shortest path value, then algorithm picks any of them) -2. The algorithm marks picked vertex as visited. -3. The algorithm check all of its neighbors. If the current vertex path length from the start plus an edge weight to a neighbor less than the neighbor current path length from the start, than it assigns new path length from the start to the neihgbor. -When all vertices are marked as visited, the algorithm's job is done. Now, you can see the shortest path from the start for every vertex by pressing the one you are interested in. +Great, now our graph is initialized and we can pass it to the Dijkstra's algorithm, let's start! -Okay, let's start! Let's follow the algorithm's cycle and pick the first vertex, which neighbors we want to check. All our vertices are not visited, but there is only one has the smallest path length from start - A. This vertex is the first one, which neighbors we will check. First of all, set this vertex as visited From e9017365a47a93a977dc0f26c42045d6fccd4b76 Mon Sep 17 00:00:00 2001 From: Taras Nikulin Date: Wed, 24 May 2017 18:01:53 +0300 Subject: [PATCH 086/713] Fix --- Dijkstra Algorithm/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dijkstra Algorithm/README.md b/Dijkstra Algorithm/README.md index ddce51525..5cf312acc 100644 --- a/Dijkstra Algorithm/README.md +++ b/Dijkstra Algorithm/README.md @@ -1,4 +1,4 @@ -#Weighted graph general cocepts +# Weighted graph general cocepts Every weighted graph should contain: 1. Vertices/Nodes (I will use "vertex" in this readme). From b1a50b492373dba7490e603975f9bec8e98c4725 Mon Sep 17 00:00:00 2001 From: Taras Nikulin Date: Wed, 24 May 2017 18:04:09 +0300 Subject: [PATCH 087/713] fix --- Dijkstra Algorithm/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dijkstra Algorithm/README.md b/Dijkstra Algorithm/README.md index 5cf312acc..a9a898d80 100644 --- a/Dijkstra Algorithm/README.md +++ b/Dijkstra Algorithm/README.md @@ -44,7 +44,7 @@ When all vertices are marked as visited, the algorithm's job is done. Now, you c I have created **VisualizedDijkstra.playground** game/tutorial to improve your understanding of the algorithm's flow. Besides, below is step by step algorithm's description. -#Example +# Example Let's imagine, you want to go to the shop. Your house is A vertex and there are 4 possible stores around your house. How to find the closest one/ones? Luckily, you have graph, that connects your house with all these stores. So, you know what to do :) ## Initialization From bb8b2a7d480b6e9f3d5eeee87eaf4a7e01e2ba36 Mon Sep 17 00:00:00 2001 From: Taras Nikulin Date: Wed, 24 May 2017 18:07:47 +0300 Subject: [PATCH 088/713] Fixes --- Dijkstra Algorithm/README.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/Dijkstra Algorithm/README.md b/Dijkstra Algorithm/README.md index a9a898d80..7afc34094 100644 --- a/Dijkstra Algorithm/README.md +++ b/Dijkstra Algorithm/README.md @@ -44,10 +44,10 @@ When all vertices are marked as visited, the algorithm's job is done. Now, you c I have created **VisualizedDijkstra.playground** game/tutorial to improve your understanding of the algorithm's flow. Besides, below is step by step algorithm's description. -# Example +## Example Let's imagine, you want to go to the shop. Your house is A vertex and there are 4 possible stores around your house. How to find the closest one/ones? Luckily, you have graph, that connects your house with all these stores. So, you know what to do :) -## Initialization +### Initialization When the algorithm starts to work initial graph looks like this: @@ -93,7 +93,7 @@ After this step graph has this state: | Path Length From Start | 0 | inf | inf | inf | inf | | Path Vertices From Start | [A] | [ ] | [ ] | [ ] | [ ] | -## Step 1 +### Step 1 Then we check all of its neighbors. If checking vertex path length from start + edge weigth is smaller than neighbor's path length from start, then we set neighbor's path length from start new value and append to its pathVerticesFromStart array new vertex: checkingVertex. Repeat this action for every vertex. @@ -118,7 +118,7 @@ And its state is here: | Path Length From Start | 0 | 3 | inf | 1 | inf | | Path Vertices From Start | [A] | [A, B] | [ ] | [A, D] | [ ] | -## Step 2 +### Step 2 From now we repeat all actions again and fill our table with new info! @@ -130,7 +130,7 @@ From now we repeat all actions again and fill our table with new info! | Path Length From Start | 0 | 3 | inf | 1 | 2 | | Path Vertices From Start | [A] | [A, B] | [ ] | [A, D] | [A, D, E] | -## Step 3 +### Step 3 @@ -140,7 +140,7 @@ From now we repeat all actions again and fill our table with new info! | Path Length From Start | 0 | 3 | 11 | 1 | 2 | | Path Vertices From Start | [A] | [A, B] |[A, D, E, C]| [A, D] | [A, D, E ] | -## Step 4 +### Step 4 @@ -150,7 +150,7 @@ From now we repeat all actions again and fill our table with new info! | Path Length From Start | 0 | 3 | 8 | 1 | 2 | | Path Vertices From Start | [A] | [A, B] | [A, B, C]| [A, D] | [A, D, E ] | -## Step 5 +### Step 5 @@ -300,16 +300,16 @@ Also there is a **VisualizedDijkstra.playground**. Use it to figure out algorith It is up to you how to implement some specific parts of algorithm, you can use Array instead of Set, add _visited_ property to Vertex or you can create some local totalVertices Array/Set inside _func findShortestPaths(from startVertex: Vertex)_ to keep totalVertices Array/Set unchanged. This is a general explanation with one possible implementation :) -## About this repository +# About this repository This repository contains to playgrounds: * To understand how does this algorithm works, I have created **VisualizedDijkstra.playground.** It works in auto and interactive modes. Moreover there are play/pause/stop buttons. * If you need only realization of the algorithm without visualization then run **Dijkstra.playground.** It contains necessary classes and couple functions to create random graph for algorithm testing. -## Demo video +# Demo video Click the link: [YouTube](https://youtu.be/PPESI7et0cQ) -## Credits +# Credits WWDC 2017 Scholarship Project (Rejected) created by [Taras Nikulin](https://github.com/crabman448) From fbd5d6ea149cccd61c93530a772bad148e3a45e1 Mon Sep 17 00:00:00 2001 From: barbara Date: Thu, 25 May 2017 14:04:49 +0200 Subject: [PATCH 089/713] Examples for documentation --- .../Images/SplayTreesWorstCaseExamples.svg | 2 ++ Splay Tree/Images/example-zigzig-1.png | Bin 0 -> 32202 bytes Splay Tree/Images/example-zigzig-2.png | Bin 0 -> 34485 bytes Splay Tree/Images/example-zigzig-3.png | Bin 0 -> 29732 bytes Splay Tree/Images/example-zigzig-4.png | Bin 0 -> 28709 bytes Splay Tree/Images/example-zigzig-5.png | Bin 0 -> 25735 bytes Splay Tree/Images/worst-case-1.png | Bin 0 -> 6795 bytes Splay Tree/Images/worst-case-2.png | Bin 0 -> 7076 bytes Splay Tree/Images/worst-case-3.png | Bin 0 -> 9049 bytes Splay Tree/Images/worst-case-4.png | Bin 0 -> 10813 bytes Splay Tree/Images/worst-case-5.png | Bin 0 -> 11827 bytes Splay Tree/Images/worst-case-6.png | Bin 0 -> 35177 bytes Splay Tree/Images/zigzig-wrongrotated.png | Bin 0 -> 38831 bytes 13 files changed, 2 insertions(+) create mode 100644 Splay Tree/Images/SplayTreesWorstCaseExamples.svg create mode 100644 Splay Tree/Images/example-zigzig-1.png create mode 100644 Splay Tree/Images/example-zigzig-2.png create mode 100644 Splay Tree/Images/example-zigzig-3.png create mode 100644 Splay Tree/Images/example-zigzig-4.png create mode 100644 Splay Tree/Images/example-zigzig-5.png create mode 100644 Splay Tree/Images/worst-case-1.png create mode 100644 Splay Tree/Images/worst-case-2.png create mode 100644 Splay Tree/Images/worst-case-3.png create mode 100644 Splay Tree/Images/worst-case-4.png create mode 100644 Splay Tree/Images/worst-case-5.png create mode 100644 Splay Tree/Images/worst-case-6.png create mode 100644 Splay Tree/Images/zigzig-wrongrotated.png diff --git a/Splay Tree/Images/SplayTreesWorstCaseExamples.svg b/Splay Tree/Images/SplayTreesWorstCaseExamples.svg new file mode 100644 index 000000000..c07312af2 --- /dev/null +++ b/Splay Tree/Images/SplayTreesWorstCaseExamples.svg @@ -0,0 +1,2 @@ + +
1
1
2
2
1
1
2
2
1
1
2
2
3
3
1
1
2
2
3
3
1
1
2
2
3
3
4
4
1
1
2
2
3
3
4
4
1
1
2
2
3
3
4
4
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
5
5
6
6
7
7
8
8
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
\ No newline at end of file diff --git a/Splay Tree/Images/example-zigzig-1.png b/Splay Tree/Images/example-zigzig-1.png new file mode 100644 index 0000000000000000000000000000000000000000..48a08c17cf8cdbbf4de565b1ae4339a533f8b562 GIT binary patch literal 32202 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

^3u@V70z)B9iJxD+Z%NK(r?LStzHVG-% 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 G@c#kXNwKB? literal 0 HcmV?d00001 diff --git a/Splay Tree/Images/example-zigzig-3.png b/Splay Tree/Images/example-zigzig-3.png new file mode 100644 index 0000000000000000000000000000000000000000..905b4d4bd2d9638e902358172764e23e29c03da6 GIT binary patch literal 29732 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

350Y9 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 Date: Wed, 19 Apr 2017 16:44:55 +0300 Subject: [PATCH 057/713] Replaced _vertices with vertices --- .../Dijkstra.playground/Contents.swift | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/Dijkstra Algorithm/Dijkstra.playground/Contents.swift b/Dijkstra Algorithm/Dijkstra.playground/Contents.swift index cd08e26fb..1c12245bd 100644 --- a/Dijkstra Algorithm/Dijkstra.playground/Contents.swift +++ b/Dijkstra Algorithm/Dijkstra.playground/Contents.swift @@ -1,19 +1,19 @@ //: Playground - noun: a place where people can play import Foundation -var _vertices: Set = Set() +var vertices: Set = Set() func createNotConnectedVertices() { //change this value to increase or decrease amount of vertices in the graph let numberOfVerticesInGraph = 15 for i in 0.. Vertex { - var newSet = _vertices + var newSet = vertices newSet.remove(vertex) let offset = Int(arc4random_uniform(UInt32(newSet.count))) let index = newSet.index(newSet.startIndex, offsetBy: offset) @@ -38,9 +38,9 @@ func randomVertex(except vertex: Vertex) -> Vertex { } func randomVertex() -> Vertex { - let offset = Int(arc4random_uniform(UInt32(_vertices.count))) - let index = _vertices.index(_vertices.startIndex, offsetBy: offset) - return _vertices[index] + let offset = Int(arc4random_uniform(UInt32(vertices.count))) + let index = vertices.index(vertices.startIndex, offsetBy: offset) + return vertices[index] } //initialize random graph @@ -48,7 +48,7 @@ createNotConnectedVertices() setupConnections() //initialize Dijkstra algorithm with graph vertices -let dijkstra = Dijkstra(vertices: _vertices) +let dijkstra = Dijkstra(vertices: vertices) //decide which vertex will be the starting one let startVertex = randomVertex() @@ -63,6 +63,7 @@ var pathVerticesFromStartString: [String] = [] for vertex in destinationVertex.pathVerticesFromStart { pathVerticesFromStartString.append(vertex.identifier) } + print(pathVerticesFromStartString.joined(separator: "->")) From 37de447879960291131d97aecb3d56c89da77429 Mon Sep 17 00:00:00 2001 From: Taras Nikulin Date: Thu, 20 Apr 2017 15:07:29 +0300 Subject: [PATCH 058/713] Updating --- Dijkstra Algorithm/README.md | 61 +++++++++++++++++++++++++++++++----- 1 file changed, 53 insertions(+), 8 deletions(-) diff --git a/Dijkstra Algorithm/README.md b/Dijkstra Algorithm/README.md index 325bab40f..7ec9d352e 100644 --- a/Dijkstra Algorithm/README.md +++ b/Dijkstra Algorithm/README.md @@ -1,19 +1,59 @@ # Dijkstra-algorithm -## About this repository +This algorithm was invented in 1956 by Edsger W. Dijkstra. + +This algorithm can be used, when you have one source vertex and want to find the shortest paths to all other vertices in the graph. + +The best example is road network. If you wnat to find the shortest path from your house to your job, then it is time for the Dijkstra's algorithm. + +I have a gif example, which will show you how algorithm works. If this is not enough, then you can play with my **VisualizedDijkstra.playground**. +So let's image, that your house is "A" vertex and your job is "B" vertex. And you are lucky, you have graph with all possible routes. +When the algorithm starts to work initial graph looks like this: +[image1.png all are non visited] +Graph's array contains 5 vertices [A, B, C, D, E]. +Let's assume, that edge weight it is path length in kilometers between vertices. +A vertex has neighbors: B(path from A: 5.0), C(path from A: 0.0), D(path from A: 0.0) +And because algorithm has done nothing, then all vertices' path length from source vertex values are infinity (think about infinity as "I don't know, how long will it takes to get this vertex from source one") +Finally we have to set source vertex path length from source vertex to 0. + +Great, now our graph is initialized and we can pass it to the Dijkstra's algorithm. + +| | A | B | C | D | E | +| ------------------------- | --- | --- | --- | --- | --- | +| Visited | F | F | F | F | F | +| Path Length From Start | inf | inf | inf | inf | inf | +| Path Vertices From Start | [ ] | [ ] | [ ] | [ ] | [ ] | + +But before we will go through all process side by side let me explain how algorithm works. +The algorithm repeats following cycle until all vertices are marked as visited. +Cycle: +1. From the non-visited vertices the algorithm picks a vertex with the shortest path length from the start (if there are more than one vertex with the same shortest path value, then algorithm picks any of them) +2. The algorithm marks picked vertex as visited. +3. The algorithm check all of its neighbors. If the current vertex path length from the start plus an edge weight to a neighbor less than the neighbor current path length from the start, than it assigns new path length from the start to the neihgbor. +When all vertices are marked as visited, the algorithm's job is done. Now, you can see the shortest path from the start for every vertex by pressing the one you are interested in. + +Okay, let's start! +From now we will keep array which contains non visited vertices. Here they are: +var nonVisitedVertices = [A, B, C, D, E] +Let's follow the algorithm and pick the first vertex, which neighbors we want to check. +Imagine that we have function, that returns vertex with smallest path length from start. +var checkingVertex = nonVisitedVertices.smallestPathLengthFromStartVertex() +Then we set this vertex as visited +checkingVertex.visited = true +[image2.jpg visited first] +Then we check all of its neighbors. +If neighbor's path length from start is bigger than checking vertex path length from start + edge weigth, then we set neighbor's path length from start new value and append to its pathVerticesFromStart array new vertex: checkingVertex. Repeat this action for every vertex. +[image3.jpg visited first with checked neighbors] + + + This repository contains to playgrounds: * To understand how does this algorithm works, I have created **VisualizedDijkstra.playground.** It works in auto and interactive modes. Moreover there are play/pause/stop buttons. * If you need only realization of the algorithm without visualization then run **Dijkstra.playground.** It contains necessary classes and couple functions to create random graph for algorithm testing. -## Demo video -Click the link: [YouTube](https://youtu.be/PPESI7et0cQ) - -## Screenshots - - ## Dijkstra's algorithm explanation - + [Wikipedia](https://en.wikipedia.org/wiki/Dijkstra%27s_algorithm)'s explanation: Let the node at which we are starting be called the initial node. Let the distance of node Y be the distance from the initial node to Y. Dijkstra's algorithm will assign some initial distance values and will try to improve them step by step. @@ -37,8 +77,13 @@ Cycle: When all vertices are marked as visited, the algorithm's job is done. Now, you can see the shortest path from the start for every vertex by pressing the one you are interested in. ## Usage +This algorithm is popular in routing. For example, biggest Russian IT company Yandex uses it in [Яндекс.Карты](https://yandex.ru/company/technologies/routes/) +## Demo video +Click the link: [YouTube](https://youtu.be/PPESI7et0cQ) +## VisualizedDijkstra.playground Screenshots + ## Credits WWDC 2017 Scholarship Project From f24ecc22436be2b71f6c840464d6826ddf9e258c Mon Sep 17 00:00:00 2001 From: Taras Nikulin Date: Thu, 20 Apr 2017 15:30:59 +0300 Subject: [PATCH 059/713] Still updating --- Dijkstra Algorithm/Images/image1.png | Bin 0 -> 61926 bytes Dijkstra Algorithm/Images/image2.png | Bin 0 -> 63758 bytes Dijkstra Algorithm/Images/image3.png | Bin 0 -> 65232 bytes Dijkstra Algorithm/Images/image4.png | Bin 0 -> 65286 bytes Dijkstra Algorithm/Images/image5.png | Bin 0 -> 66333 bytes Dijkstra Algorithm/Images/image6.png | Bin 0 -> 67070 bytes Dijkstra Algorithm/Images/image7.png | Bin 0 -> 66716 bytes Dijkstra Algorithm/README.md | 66 +++++++++++++++++++++------ 8 files changed, 52 insertions(+), 14 deletions(-) create mode 100644 Dijkstra Algorithm/Images/image1.png create mode 100644 Dijkstra Algorithm/Images/image2.png create mode 100644 Dijkstra Algorithm/Images/image3.png create mode 100644 Dijkstra Algorithm/Images/image4.png create mode 100644 Dijkstra Algorithm/Images/image5.png create mode 100644 Dijkstra Algorithm/Images/image6.png create mode 100644 Dijkstra Algorithm/Images/image7.png diff --git a/Dijkstra Algorithm/Images/image1.png b/Dijkstra Algorithm/Images/image1.png new file mode 100644 index 0000000000000000000000000000000000000000..aabe0969e2cf86efc9a5e2e3e313d8fa3e02818e GIT binary patch literal 61926 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 y9tz2t8pe1{?q0s@KBMqFG) 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