From 423e7e858c2bda53866396df70d07b1562013251 Mon Sep 17 00:00:00 2001 From: Maciej Date: Sun, 14 May 2023 09:10:31 +0200 Subject: [PATCH] astar imlpementation --- .gitignore | 7 + AI_brain/go_any_direction.py | 80 +++++++++ AI_brain/rotate_and_go_astar.py | 113 ++++++++++++ AI_brain/rotate_and_go_bfs.py | 83 +++++++++ Project discription.txt | 58 +++++++ README.md | 58 +++++++ config.ini | 4 + domain/commands/command.py | 3 + domain/commands/random_cat_move_command.py | 70 ++++++++ domain/commands/vacuum_move_command.py | 33 ++++ domain/entities/cat.py | 15 ++ domain/entities/docking_station.py | 10 ++ domain/entities/entity.py | 5 + domain/entities/garbage.py | 11 ++ domain/entities/plant.py | 10 ++ domain/entities/vacuum.py | 22 +++ domain/world.py | 52 ++++++ main.py | 166 ++++++++++++++++++ media/sprites/cat/standing_back.png | Bin 0 -> 621 bytes media/sprites/cat/standing_front.png | Bin 0 -> 765 bytes media/sprites/cat/standing_left.png | Bin 0 -> 411 bytes media/sprites/cat/standing_right.png | Bin 0 -> 584 bytes media/sprites/docking_station.png | Bin 0 -> 83044 bytes media/sprites/peel.webp | Bin 0 -> 6504 bytes media/sprites/plants/plant1.png | Bin 0 -> 83532 bytes media/sprites/plants/plant2.png | Bin 0 -> 108869 bytes media/sprites/plants/plant3.png | Bin 0 -> 80127 bytes media/sprites/tile.jpeg | Bin 0 -> 88635 bytes media/sprites/tile_cropped.jpeg | Bin 0 -> 114855 bytes media/sprites/vacuum.png | Bin 0 -> 124745 bytes media/sprites/wall.png | Bin 0 -> 1481 bytes requirements.txt | 3 + view/renderer.py | 191 +++++++++++++++++++++ 33 files changed, 994 insertions(+) create mode 100644 .gitignore create mode 100644 AI_brain/go_any_direction.py create mode 100644 AI_brain/rotate_and_go_astar.py create mode 100644 AI_brain/rotate_and_go_bfs.py create mode 100644 Project discription.txt create mode 100644 README.md create mode 100644 config.ini create mode 100644 domain/commands/command.py create mode 100644 domain/commands/random_cat_move_command.py create mode 100644 domain/commands/vacuum_move_command.py create mode 100644 domain/entities/cat.py create mode 100644 domain/entities/docking_station.py create mode 100644 domain/entities/entity.py create mode 100644 domain/entities/garbage.py create mode 100644 domain/entities/plant.py create mode 100644 domain/entities/vacuum.py create mode 100644 domain/world.py create mode 100644 main.py create mode 100644 media/sprites/cat/standing_back.png create mode 100644 media/sprites/cat/standing_front.png create mode 100644 media/sprites/cat/standing_left.png create mode 100644 media/sprites/cat/standing_right.png create mode 100644 media/sprites/docking_station.png create mode 100644 media/sprites/peel.webp create mode 100644 media/sprites/plants/plant1.png create mode 100644 media/sprites/plants/plant2.png create mode 100644 media/sprites/plants/plant3.png create mode 100644 media/sprites/tile.jpeg create mode 100644 media/sprites/tile_cropped.jpeg create mode 100644 media/sprites/vacuum.png create mode 100644 media/sprites/wall.png create mode 100644 requirements.txt create mode 100644 view/renderer.py diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..7efaafe --- /dev/null +++ b/.gitignore @@ -0,0 +1,7 @@ +/venv +.DS_Store +/.vscode +__pycache__ + +#PyCharm +.idea/ \ No newline at end of file diff --git a/AI_brain/go_any_direction.py b/AI_brain/go_any_direction.py new file mode 100644 index 0000000..74f36b9 --- /dev/null +++ b/AI_brain/go_any_direction.py @@ -0,0 +1,80 @@ +from domain.commands.vacuum_move_command import VacuumMoveCommand +from domain.world import World + + +class State: + def __init__(self, x, y): + self.x = x + self.y = y + + def __hash__(self): + return hash((self.x, self.y)) + + def __eq__(self, other): + return self.x == other.x and self.y == other.y + + +class GoAnyDirectionBFS: + def __init__(self, world: World, start_state: State, goal_state: State): + self.start_state = start_state + self.goal_state = goal_state + self.visited = set() + self.parent = {} + self.actions = [] + self.path = [] + self.world = world + self.queue = [] + + def search(self): + self.queue.append(self.start_state) + self.visited.add(self.start_state) + while self.queue: + state = self.queue.pop(0) + if state == self.goal_state: + self.actions = self.get_actions() + self.path = self.get_path() + return True + for successor in self.successors(state): + if successor not in self.visited: + self.visited.add(successor) + self.parent[successor] = state + self.queue.append(successor) + return False + + def successors(self, state): + new_successors = [ + State(state.x + dx, state.y + dy) + for dx, dy in [(1, 0), (0, 1), (-1, 0), (0, -1)] + if self.world.accepted_move(state.x + dx, state.y + dy) + ] + + return new_successors + + def get_actions(self): + actions = [] + state = self.goal_state + while state != self.start_state: + parent_state = self.parent[state] + dx = state.x - parent_state.x + dy = state.y - parent_state.y + if dx == 1: + actions.append("RIGHT") + elif dx == -1: + actions.append("LEFT") + elif dy == 1: + actions.append("DOWN") + elif dy == -1: + actions.append("UP") + state = parent_state + actions.reverse() + return actions + + def get_path(self): + path = [] + state = self.goal_state + while state != self.start_state: + path.append((state.x, state.y)) + state = self.parent[state] + path.append((self.start_state.x, self.start_state.y)) + path.reverse() + return path diff --git a/AI_brain/rotate_and_go_astar.py b/AI_brain/rotate_and_go_astar.py new file mode 100644 index 0000000..80b90a6 --- /dev/null +++ b/AI_brain/rotate_and_go_astar.py @@ -0,0 +1,113 @@ +import heapq +from domain.world import World + + +class State: + def __init__(self, x, y, direction=(1, 0), entity=None): + self.x = x + self.y = y + self.direction = direction + + + def __hash__(self): + return hash((self.x, self.y)) + + def __eq__(self, other): + return ( + self.x == other.x + and self.y == other.y + and self.direction == other.direction + ) + + def heuristic(self, goal_state): + return abs(self.x - goal_state.x) + abs(self.y - goal_state.y) + + +class Node: + def __init__(self, state: State, g_score: int, goal_state: State): + self.state = state + self.g_score = g_score + self.f_score = g_score + state.heuristic(goal_state) + self.parent = None + self.action = None + + def __lt__(self, other): + return self.f_score < other.f_score + + +def action_sequence(node: Node): + actions = [] + while node.parent: + actions.append(node.action) + node = node.parent + actions.reverse() + return actions + + +class RotateAndGoAStar: + def __init__(self, world: World, start_state: State, goal_state: State): + self.world = world + self.start_state = start_state + self.goal_state = goal_state + self.fringe = [] + self.enqueued_states = set() + self.explored = set() + self.actions = [] + + def get_g_score(self, state): + return self.world.get_cost(state.x, state.y) + + def search(self): + heapq.heappush( + self.fringe, Node(self.start_state, 0, self.goal_state) + ) + + while self.fringe: + elem = heapq.heappop(self.fringe) + if self.is_goal(elem.state): + self.actions = action_sequence(elem) + return True + self.explored.add(elem.state) + + for action, state in self.successors(elem.state): + if state in self.explored: + continue + + new_g_score = new_g_score = elem.g_score + self.world.get_cost(state.x, state.y) + if state not in self.enqueued_states: + next_node = Node(state, new_g_score, self.goal_state) + next_node.action = action + next_node.parent = elem + heapq.heappush(self.fringe, next_node) + self.enqueued_states.add(state) + elif new_g_score < self.get_g_score(state): + for node in self.fringe: + if node.state == state: + node.g_score = new_g_score + node.f_score = ( + new_g_score + node.state.heuristic(self.goal_state) + ) + node.parent = elem + node.action = action + heapq.heapify(self.fringe) + break + + return False + + def successors(self, state: State): + new_successors = [ + ("RR", State(state.x, state.y, (-state.direction[1], state.direction[0]))), + ("RL", State(state.x, state.y, (state.direction[1], -state.direction[0]))), + ] + next_x = state.x + state.direction[0] + next_y = state.y + state.direction[1] + if self.world.accepted_move(next_x, next_y): + new_successors.append( + ("GO", State(next_x, next_y, state.direction)) + ) + return new_successors + + def is_goal(self, state: State) -> bool: + return ( + state.x == self.goal_state.x + and state.y == self.goal_state.y ) \ No newline at end of file diff --git a/AI_brain/rotate_and_go_bfs.py b/AI_brain/rotate_and_go_bfs.py new file mode 100644 index 0000000..966650d --- /dev/null +++ b/AI_brain/rotate_and_go_bfs.py @@ -0,0 +1,83 @@ +import queue + +from domain.world import World + + +class State: + def __init__(self, x, y, direction=(1, 0)): + self.x = x + self.y = y + self.direction = direction + + def __hash__(self): + return hash((self.x, self.y)) + + def __eq__(self, other): + return (self.x == other.x and self.y == other.y + and self.direction == other.direction) + + +class Node: + def __init__(self, state: State): + self.state = state + self.parent = None + self.action = None + + +def action_sequence(node: Node): + actions = [] + while node.parent: + actions.append(node.action) + node = node.parent + actions.reverse() + return actions + + +class RotateAndGoBFS: + def __init__(self, world: World, start_state: State, goal_state: State): + self.world = world + self.start_state = start_state + self.goal_state = goal_state + self.fringe = queue.Queue() + self.enqueued_states = set() + self.explored = set() + self.actions = [] + + def search(self): + self.fringe.put(Node(self.start_state)) + + while self.fringe: + elem = self.fringe.get() + if self.is_goal(elem.state): + self.actions = action_sequence(elem) + return True + self.explored.add(elem.state) + + for (action, state) in self.successors(elem.state): + if state in self.explored or state in self.enqueued_states: + continue + next_node = Node(state) + next_node.action = action + next_node.parent = elem + self.fringe.put(next_node) + self.enqueued_states.add(state) + + return False + + def successors(self, state: State): + new_successors = [ + # rotate right + ("RR", State(state.x, state.y, (-state.direction[1], state.direction[0]))), + # rotate left + ("RL", State(state.x, state.y, (state.direction[1], -state.direction[0]))), + ] + if self.world.accepted_move(state.x + state.direction[0], state.y + state.direction[1]): + new_successors.append( + ("GO", State(state.x + state.direction[0], state.y + state.direction[1], state.direction))) + return new_successors + + def is_goal(self, state: State) -> bool: + return ( + state.x == self.goal_state.x + and state.y == self.goal_state.y + ) diff --git a/Project discription.txt b/Project discription.txt new file mode 100644 index 0000000..51ef6f1 --- /dev/null +++ b/Project discription.txt @@ -0,0 +1,58 @@ +****** + +Dokumentacja projektu "Automatyczny robot sprzątający" + +Wprowadzenie: +Projekt "Automatyczny robot sprzątający" jest projektem bazującym się na symulacji pracy robota sprzątającego w pomieszczeniu za pomocą sztucznej inteligencji. Robot ma za zadanie wyznaczać miejsca do sprzątania oraz uniknąć przeszkód oraz reagować na zdarzenia losowe. Projekt jest napisany w języku Python. + +Instrukcja obsługi: + + Uruchomienie projektu: + Aby uruchomić projekt należy uruchomić plik "main.py" za pomocą interpretera Python. Projektu wyświetli się w konsoli.Po uruchomieniu projektu na ekranie wyświetli się plansza o wymiarach NxN (default: 10x10). Robot "Cleaner" (oznaczony jako "R" na planszy) startuje z pozycji (0,0). użytkownik ma za zadanie wprowadzić pozycje do sprzątania, które są oznaczone na planszy jako litery "D". Możliwe pozycje to liczby od 0 do N-1. + + Użytkownik wprowadza pozycje za pomocą terminala. Wprowadzenie koordynat odbywa się w następujący sposób: + Najpierw wprowadzamy numer wiersza, a następnie numer kolumny, oddzielając je spacją. + Przykładowo, jeśli chcemy wskazać pozycję (4,5) wpisujemy: "4 5". + Po wskazaniu pozycji do sprzątania, użytkownik musi uniknąć przeszkód, które są oznaczone na planszy jako znak "X". Robot nie może przejść przez przeszkody. Jeśli użytkownik wskazuje pozycję przeszkody, projektu zwróci błąd i będzie wymagała podania nowych współrzędnych. + + Przebieg projektu: + Robot, zgodnie z zbudowaną mapą, musi obliczyć najkrótszą ścieżkę do sprzątania wszystkich pozycji oraz uniknąć przeszkód. Podczas sprzątania mogą wystąpić przypadkowe zdarzenia, na które robot będzie reagował. W tym celu, z pomocą sieci neuronowych, robot analizuje zdjęcie zdarzenia, aby wybrać najlepsze rozwiązania. + + Zakończenie projektu: + Program kończy swoje działanie w momencie, gdy robot posprząta wszystkie przez użytkownika wybrane pola do sprzątania. Na zakończenie programu zostanie wyświetlona liczba wykonanych ruchów przez robota oraz podjęte decyzje w przypadku zaistnienia zdarzeń. + +Możliwe modyfikacje: + Projekt zostanie napisany z myślą o możliwości łatwej modyfikacji. Można zmienić wymiary planszy, dodać lub usunąć przeszkody oraz ilość przypadkowych zdarzeń i pozycji do sprzątania. Wszystkie te zmiany można wprowadzić w pliku "config.py". + +Podsumowanie: + Projekt "Automatyczny robot sprzątający" to prosty, ale edukacyjny projekt programistyczny. Użytkownik ma za zadanie wskazanie pozycji, które robot powinien posprzątać, a także koordynat przeszkody. Natomiast zadaniem robota, który został zbudowany przy użyciu sztucznej inteligencji, jest unikanie przeszkód, podejmowanie decyzji w przypadku wystąpienia przypadkowych zdarzeń oraz sprzątanie wyznaczonych punktów. Projekt został napisany w języku Python z wykorzystaniem sztucznej inteligencji. Analiza zdjęć jest oparta na sieciach neuronowych. + +****** + +Documentation of the "Automatic Cleaning Robot" project + +Introduction: + The "Automatic Cleaning Robot" project is based on simulating the work of a cleaning robot in a room using artificial intelligence. The robot is tasked with determining the areas to be cleaned, avoiding obstacles, and reacting to random events. The project is written in Python. + +User Guide: + Starting the project: + To start the project, you need to run the "main.py" file using a Python interpreter. The project will be displayed on the console. Once the project is launched, a 10x10 board will be displayed on the screen. The "Cleaner" robot (marked as "R" on the board) starts from the position (0,0). The user needs to enter the positions to be cleaned, which are marked as the letter "D" on the board. The possible positions are numbers from 0 to 9. + + The user enters the positions through the terminal. The entry of coordinates is done as follows: + First, we enter the row number, and then the column number, separating them with a space. + For example, if we want to indicate the position (4,5), we enter "4 5". + After indicating the positions to be cleaned, the user must avoid obstacles, which are marked on the board as the "X" symbol. The robot cannot pass through obstacles. If the user points to an obstacle position, the project will return an error and require new coordinates. + + Project process: + Based on the built map, the robot must calculate the shortest path to clean all positions and avoid obstacles. Random events may occur during cleaning, to which the robot will react. To do this, with the help of neural networks, the robot analyzes the image of the event to choose the best solutions. + + Project conclusion: + The program is ending when the robot cleans all the fields selected by the user. At the end of the program, the number of robot moves performed and the decisions made in case of events will be displayed. + +Possible modifications: + The "Automatic cleaning robot" project has been designed with the possibility of easy modifications in mind. Users can change the dimensions of the board, add or remove obstacles, and adjust the number of random events and cleaning positions. All these changes can be made in the "config.py" file. + +Summary: + The "Automatic cleaning robot" project is a simple yet educational programming project. Users are tasked with specifying the positions that the robot should clean, as well as the coordinates of obstacles. The robot, built using artificial intelligence, is responsible for avoiding obstacles, making decisions in case of random events, and cleaning the designated points. The project was written in Python with the use of artificial intelligence. The analysis of images is based on neural networks. + +****** diff --git a/README.md b/README.md new file mode 100644 index 0000000..e86e82d --- /dev/null +++ b/README.md @@ -0,0 +1,58 @@ +****** + +Dokumentacja projektu "Automatyczny robot sprzątający" + +Wprowadzenie: +Projekt "Automatyczny robot sprzątający" jest projektem bazującym się na symulacji pracy robota sprzątającego w pomieszczeniu za pomocą sztucznej intelegencji. Robot ma za zadanie wyznaczać miejsca do sprzątania oraz uniknąć przeszkód oraz reagować na zdarzenia randomowe. Projekt jest napisany w języku Python. + +Instrukcja obsługi: + + Uruchomienie projektu: + Aby uruchomić projekt należy uruchomić plik "main.py" za pomocą interpretera Python. Projektu wyświetli się w konsoli.Po uruchomieniu projektu na ekranie wyświetli się plansza o wymiarach 10x10. Robot "Cleaner" (oznaczony jako "R" na planszy) startuje z pozycji (0,0). użytkownik ma za zadanie wprowadzić pozycje do sprzątania, które są oznaczone na planszy jako litery "D". Możliwe pozycje to liczby od 0 do 9. + + Użytkownik wprowadza pozycje za pomocą terminala. Wprowadzenie koordynat odbywa się w następujący sposób: + Najpierw wprowadzamy numer wiersza, a następnie numer kolumny, oddzielając je spacją. + Przykładowo, jeśli chcemy wskazać pozycję (4,5) wpisujemy: "4 5". + Po wskazaniu pozycji do sprzątania, użytkownik musi uniknąć przeszkód, które są oznaczone na planszy jako znak "X". Robot nie może przejść przez przeszkody. Jeśli użytkownik wskazuje pozycję przeszkody, projektu zwróci błąd i będzie wymagała podania nowych koordynatów. + + Przebieg projektu: + Robot, zgodnie z zbudowaną mapą, musi obliczyć najkrótszą ścieżkę do sprzątania wszystkich pozycji oraz uniknąć przeszkód. Podczas sprzątania mogą wystąpić przypadkowe zdarzenia, na które robot będzie reagował. W tym celu, z pomocą sieci neuronowych, robot analizuje zdjęcie zdarzenia, aby wybrać najlepsze rozwiązania. + + Zakończenie projektu: + Program kończy swoje działanie w momencie, gdy robot posprząta wszystkie przez użytkownika wybrane pola do sprzątania. Na zakończenie programu zostanie wyświetlona liczba wykonanych ruchów przez robota oraz podjęte decyzje w przypadku zaistnienia zdarzeń. + +Możliwe modyfikacje: + Projekt zostanie napisany z myślą o możliwości łatwej modyfikacji. Można zmienić wymiary planszy, dodać lub usunąć przeszkody oraz ilość przypadkowych zdarzeń i pozycji do sprzątania. Wszystkie te zmiany można wprowadzić w pliku "config.py". + +Podsumowanie: + Projekt "Automatyczny robot sprzątający" to prosty, ale edukacyjny projekt programistyczny. Użytkownik ma za zadanie wskazanie pozycji, które robot powinien posprzątać, a także koordynat przeszkody. Natomiast zadaniem robota, który został zbudowany przy użyciu sztucznej inteligencji, jest unikanie przeszkód, podejmowanie decyzji w przypadku wystąpienia przypadkowych zdarzeń oraz sprzątanie wyznaczonych punktów. Projekt został napisany w języku Python z wykorzystaniem sztucznej inteligencji.Analiza zdięć jest oparta na sieciach neuronowych. + +****** + +Documentation of the "Automatic Cleaning Robot" project + +Introduction: + The "Automatic Cleaning Robot" project is based on simulating the work of a cleaning robot in a room using artificial intelligence. The robot is tasked with determining the areas to be cleaned, avoiding obstacles, and reacting to random events. The project is written in Python. + +User Guide: + Starting the project: + To start the project, you need to run the "main.py" file using a Python interpreter. The project will be displayed on the console. Once the project is launched, a 10x10 board will be displayed on the screen. The "Cleaner" robot (marked as "R" on the board) starts from the position (0,0). The user needs to enter the positions to be cleaned, which are marked as the letter "D" on the board. The possible positions are numbers from 0 to 9. + + The user enters the positions through the terminal. The entry of coordinates is done as follows: + First, we enter the row number, and then the column number, separating them with a space. + For example, if we want to indicate the position (4,5), we enter "4 5". + After indicating the positions to be cleaned, the user must avoid obstacles, which are marked on the board as the "X" symbol. The robot cannot pass through obstacles. If the user points to an obstacle position, the project will return an error and require new coordinates. + + Project process: + Based on the built map, the robot must calculate the shortest path to clean all positions and avoid obstacles. Random events may occur during cleaning, to which the robot will react. To do this, with the help of neural networks, the robot analyzes the image of the event to choose the best solutions. + + Project conclusion: + The program is ending when the robot cleans all the fields selected by the user. At the end of the program, the number of robot moves performed and the decisions made in case of events will be displayed. + +Possible modifications: + The "Automatic cleaning robot" project has been designed with the possibility of easy modifications in mind. Users can change the dimensions of the board, add or remove obstacles, and adjust the number of random events and cleaning positions. All these changes can be made in the "config.py" file. + +Summary: + The "Automatic cleaning robot" project is a simple yet educational programming project. Users are tasked with specifying the positions that the robot should clean, as well as the coordinates of obstacles. The robot, built using artificial intelligence, is responsible for avoiding obstacles, making decisions in case of random events, and cleaning the designated points. The project was written in Python with the use of artificial intelligence. The analysis of images is based on neural networks. + +****** diff --git a/config.ini b/config.ini new file mode 100644 index 0000000..1b451b6 --- /dev/null +++ b/config.ini @@ -0,0 +1,4 @@ +[APP] +cat = False +movement = robot +#accept: human, robot \ No newline at end of file diff --git a/domain/commands/command.py b/domain/commands/command.py new file mode 100644 index 0000000..377a0f3 --- /dev/null +++ b/domain/commands/command.py @@ -0,0 +1,3 @@ +class Command: + def run(self): + raise NotImplementedError() diff --git a/domain/commands/random_cat_move_command.py b/domain/commands/random_cat_move_command.py new file mode 100644 index 0000000..3dbe005 --- /dev/null +++ b/domain/commands/random_cat_move_command.py @@ -0,0 +1,70 @@ +from random import randint +from typing import Tuple + +import pygame + +from domain.commands.command import Command +from domain.entities.cat import Cat +from domain.world import World + + +class RandomCatMoveCommand(Command): + def __init__(self, world: World, cat: Cat) -> None: + super().__init__() + self.world = world + self.cat = cat + + def run(self): + move_vector = (0, 0) + now = pygame.time.get_ticks() + # region cat random movement + cat = self.world.cat + if now - cat.last_tick >= cat.cooldown: + if not cat.busy: + while True: + cat.direction = randint(0, 3) + if not ( + (cat.direction == 0 and cat.y == 0) + or (cat.direction == 1 and cat.x == self.world.width - 1) + or (cat.direction == 2 and cat.y == self.world.height - 1) + or (cat.direction == 3 and cat.x == 0) + ): + break + + if cat.direction == 0: # up + if cat.busy: + move_vector = (0, -1) + cat.busy = not cat.busy + if cat.direction == 1: # right + if cat.busy: + move_vector = (1, 0) + cat.busy = not cat.busy + if cat.direction == 2: # down + if cat.busy: + move_vector = (0, 1) + cat.busy = not cat.busy + if cat.direction == 3: # left + if cat.busy: + move_vector = (-1, 0) + cat.busy = not cat.busy + cat.last_tick = pygame.time.get_ticks() + + if move_vector == (0, 0): + return + + end_x = cat.x + move_vector[0] + end_y = cat.y + move_vector[1] + + if ( + end_x > self.world.width - 1 + or end_y > self.world.height - 1 + or end_x < 0 + or end_y < 0 + ): + return + + self.world.obstacles[cat.x][cat.y].remove(cat) + cat.x = end_x + cat.y = end_y + self.world.obstacles[end_x][end_y].append(cat) + # endregion cat random movement diff --git a/domain/commands/vacuum_move_command.py b/domain/commands/vacuum_move_command.py new file mode 100644 index 0000000..4707ca1 --- /dev/null +++ b/domain/commands/vacuum_move_command.py @@ -0,0 +1,33 @@ +from typing import Tuple + +from domain.commands.command import Command +from domain.entities.vacuum import Vacuum +from domain.world import World + + +class VacuumMoveCommand(Command): + def __init__( + self, world: World, vacuum: Vacuum, move_vector: Tuple[int, int] + ) -> None: + super().__init__() + self.world = world + self.vacuum = vacuum + self.dx = move_vector[0] + self.dy = move_vector[1] + + def run(self): + end_x = self.vacuum.x + self.dx + end_y = self.vacuum.y + self.dy + if not self.world.accepted_move(end_x, end_y): + return + + if self.world.is_garbage_at(end_x, end_y): + if self.vacuum.get_container_filling() < 100: + self.vacuum.increase_container_filling() + self.world.dust[end_x][end_y].pop() + + if self.world.is_docking_station_at(end_x, end_y): + self.vacuum.dump_trash() + + self.vacuum.x = end_x + self.vacuum.y = end_y diff --git a/domain/entities/cat.py b/domain/entities/cat.py new file mode 100644 index 0000000..a0acd5b --- /dev/null +++ b/domain/entities/cat.py @@ -0,0 +1,15 @@ +import pygame + +from domain.entities.entity import Entity +from domain.world import World + + +class Cat(Entity): + def __init__(self, x: int, y: int): + super().__init__(x, y, "CAT") + self.last_tick = pygame.time.get_ticks() + self.cooldown = 1000 + self.velocity = 1 + self.busy = False + self.sleeping = False + self.direction = 0 diff --git a/domain/entities/docking_station.py b/domain/entities/docking_station.py new file mode 100644 index 0000000..34262a7 --- /dev/null +++ b/domain/entities/docking_station.py @@ -0,0 +1,10 @@ +from domain.entities.entity import Entity +from domain.world import World + + +class Doc_Station(Entity): + def __init__(self, x: int, y: int): + super().__init__(x, y, "DOC_STATION") + self.power = True + + # TODO Docing Station: add more properties \ No newline at end of file diff --git a/domain/entities/entity.py b/domain/entities/entity.py new file mode 100644 index 0000000..54f0223 --- /dev/null +++ b/domain/entities/entity.py @@ -0,0 +1,5 @@ +class Entity: + def __init__(self, x: int, y: int, type: str): + self.x = x + self.y = y + self.type = type diff --git a/domain/entities/garbage.py b/domain/entities/garbage.py new file mode 100644 index 0000000..c93501d --- /dev/null +++ b/domain/entities/garbage.py @@ -0,0 +1,11 @@ +from domain.entities.entity import Entity +from domain.world import World + + +class Garbage(Entity): + def __init__(self, x: int, y: int): + super().__init__(x, y, "GARBAGE") + self.wet = False + self.size = 0 + + # TODO GARBAGE: add more properties diff --git a/domain/entities/plant.py b/domain/entities/plant.py new file mode 100644 index 0000000..3d17fb2 --- /dev/null +++ b/domain/entities/plant.py @@ -0,0 +1,10 @@ +from domain.entities.entity import Entity +from domain.world import World + + +class Plant(Entity): + def __init__(self, x: int, y: int): + super().__init__(x, y, "PLANT") + self.watered = 100 + + # TODO PLANT: add more properties to diff --git a/domain/entities/vacuum.py b/domain/entities/vacuum.py new file mode 100644 index 0000000..54b86e0 --- /dev/null +++ b/domain/entities/vacuum.py @@ -0,0 +1,22 @@ +from domain.entities.entity import Entity +from domain.world import World + + +class Vacuum(Entity): + def __init__(self, x: int, y: int): + super().__init__(x, y, "VACUUM") + self.direction = (1, 0) + self.battery = 100 + self.cleaning_detergent = 100 + self.container_filling = 0 + + def increase_container_filling(self) -> None: + self.container_filling += 25 + + def dump_trash(self) -> None: + self.container_filling = 0 + + def get_container_filling(self): + return self.container_filling + + # TODO VACUUM: add more properties diff --git a/domain/world.py b/domain/world.py new file mode 100644 index 0000000..7f51a9d --- /dev/null +++ b/domain/world.py @@ -0,0 +1,52 @@ +from domain.entities.entity import Entity + + +class World: + def __init__(self, width: int, height: int) -> object: + self.costs = [[1000 for j in range(height)] for i in range(width)] + self.width = width + self.height = height + self.dust = [[[] for j in range(height)] for i in range(width)] + self.obstacles = [[[] for j in range(height)] for i in range(width)] + + self.vacuum = None + self.cat = None + self.doc_station = None + + def add_entity(self, entity: Entity): + if entity.type == "PEEL": + self.dust[entity.x][entity.y].append(entity) + elif entity.type == "VACUUM": + self.vacuum = entity + elif entity.type == "DOC_STATION": + self.doc_station = entity + elif entity.type == "CAT": + self.cat = entity + self.obstacles[entity.x][entity.y].append(entity) + else: + self.obstacles[entity.x][entity.y].append(entity) + + def is_obstacle_at(self, x: int, y: int) -> bool: + return bool(self.obstacles[x][y]) + + def is_garbage_at(self, x: int, y: int) -> bool: + return bool(self.dust[x][y]) + + def is_docking_station_at(self, x: int, y: int) -> bool: + return bool(self.doc_station.x == x and self.doc_station.y == y) + + def accepted_move(self, checking_x, checking_y): + if ( + checking_x > self.width - 1 + or checking_y > self.height - 1 + or checking_x < 0 + or checking_y < 0 + ): + return False + + if self.is_obstacle_at(checking_x, checking_y): + return False + + return True + def get_cost(self, x, y): + return self.costs[x][y] \ No newline at end of file diff --git a/main.py b/main.py new file mode 100644 index 0000000..ced1e66 --- /dev/null +++ b/main.py @@ -0,0 +1,166 @@ +from random import randint + +import pygame +import configparser + +from domain.commands.random_cat_move_command import RandomCatMoveCommand +from domain.commands.vacuum_move_command import VacuumMoveCommand +from domain.entities.cat import Cat +from domain.entities.entity import Entity +from domain.entities.vacuum import Vacuum +from domain.entities.docking_station import Doc_Station +from domain.world import World +from view.renderer import Renderer +# from AI_brain.movement import GoAnyDirectionBFS, State +# from AI_brain.rotate_and_go_bfs import RotateAndGoBFS, State +from AI_brain.rotate_and_go_astar import RotateAndGoAStar, State + + +config = configparser.ConfigParser() +config.read("config.ini") + + +class Main: + def __init__(self): + tiles_x = 10 + tiles_y = 10 + + self.renderer = Renderer(800, 800, tiles_x, tiles_y) + + self.world = generate_world(tiles_x, tiles_y) + + self.commands = [] + + self.clock = pygame.time.Clock() + self.running = True + self.fps = 60 + + def run(self): + while self.running: + self.process_input() + self.update() + self.renderer.render(self.world) + self.clock.tick(self.fps) + + pygame.quit() + + def run_robot(self): + self.renderer.render(self.world) + + start_state = State(self.world.vacuum.x, self.world.vacuum.y) + end_state = State(self.world.doc_station.x, self.world.doc_station.y) + + # path_searcher = GoAnyDirectionBFS(self.world, start_state, end_state) + # path_searcher = RotateAndGoBFS(self.world, start_state, end_state) + path_searcher = RotateAndGoAStar(self.world, start_state, end_state) + if not path_searcher.search(): + print("No solution") + exit(0) + + path_searcher.actions.reverse() + while self.running: + for event in pygame.event.get(): + if event.type == pygame.QUIT: + self.running = False + + if len(path_searcher.actions) > 0: + action_direction = path_searcher.actions.pop() + # self.handle_action1(action_direction) + self.handle_action2(action_direction) + + self.update() + self.renderer.render(self.world) + self.clock.tick(5) + + pygame.quit() + + def handle_action1(self, action): + if action == "UP": + self.commands.append( + VacuumMoveCommand(self.world, self.world.vacuum, (0, -1)) + ) + elif action == "DOWN": + self.commands.append( + VacuumMoveCommand(self.world, self.world.vacuum, (0, 1)) + ) + elif action == "LEFT": + self.commands.append( + VacuumMoveCommand(self.world, self.world.vacuum, (-1, 0)) + ) + elif action == "RIGHT": + self.commands.append( + VacuumMoveCommand(self.world, self.world.vacuum, (1, 0)) + ) + + def handle_action2(self, action): + if action == "GO": + self.commands.append( + VacuumMoveCommand(self.world, self.world.vacuum, self.world.vacuum.direction) + ) + elif action == "RR": + self.world.vacuum.direction = (-self.world.vacuum.direction[1], self.world.vacuum.direction[0]) + elif action == "RL": + self.world.vacuum.direction = (self.world.vacuum.direction[1], -self.world.vacuum.direction[0]) + + def process_input(self): + for event in pygame.event.get(): + if event.type == pygame.QUIT: + self.running = False + if event.type == pygame.KEYDOWN: + if event.key == pygame.K_LEFT: + self.commands.append( + VacuumMoveCommand(self.world, self.world.vacuum, (-1, 0)) + ) + if event.key == pygame.K_RIGHT: + self.commands.append( + VacuumMoveCommand(self.world, self.world.vacuum, (1, 0)) + ) + if event.key == pygame.K_UP: + self.commands.append( + VacuumMoveCommand(self.world, self.world.vacuum, (0, -1)) + ) + if event.key == pygame.K_DOWN: + self.commands.append( + VacuumMoveCommand(self.world, self.world.vacuum, (0, 1)) + ) + + def update(self): + if config.getboolean("APP", "cat"): + self.commands.append(RandomCatMoveCommand(self.world, self.world.cat)) + for command in self.commands: + command.run() + self.commands.clear() + + +def generate_world(tiles_x: int, tiles_y: int) -> World: + world = World(tiles_x, tiles_y) + for _ in range(35): + temp_x = randint(0, tiles_x - 1) + temp_y = randint(0, tiles_y - 1) + world.add_entity(Entity(temp_x, temp_y, "PEEL")) + world.vacuum = Vacuum(0, 0) + world.doc_station = Doc_Station(9, 8) + if config.getboolean("APP", "cat"): + world.cat = Cat(7, 8) + world.add_entity(world.cat) + world.add_entity(Entity(2, 8, "PLANT1")) + world.add_entity(Entity(4, 1, "PLANT1")) + world.add_entity(Entity(3, 4, "PLANT2")) + world.add_entity(Entity(8, 8, "PLANT2")) + world.add_entity(Entity(9, 3, "PLANT3")) + world.add_entity(Entity(4, 0, "PLANT2")) + + for x in range(world.width): + for y in range(world.height): + if world.is_garbage_at(x, y): + world.costs[x][y] = 1 + else: + world.costs[x][y] = 1000 + return world + +if __name__ == "__main__": + app = Main() + if config["APP"]["movement"] == "human": + app.run() + elif config["APP"]["movement"] == "robot": + app.run_robot() diff --git a/media/sprites/cat/standing_back.png b/media/sprites/cat/standing_back.png new file mode 100644 index 0000000000000000000000000000000000000000..40956bfad0d1ca77df349317a85eff478005c17b GIT binary patch literal 621 zcmV-z0+RiSP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0s=`yK~y+TV`P8> zMt*O{oYOLr8mb`Pyj4XOzyJI^17!ZiF9!uq78%!X-`M&8^QQw~T#_;KKMM=HIZ(5Z zi)HpLbU7v_77dU-Ca`WSfSrStAu)KuiPZ3EZx!WqRGFBN9E${4pfm%t1BR>-(Gc$xu9AIK%<_A*DU;``+B6o@j zD=UH6!~#FZs+~YXl)wg@xUk&))!V!Gz%oRFP5ay2|NZ-Wk6JERW^wPynKNI${QUd% z%U_1?-~KUt|Bi{jef`S-lK=Gi{l^V^n@oW&xQ&t$y&Q7Esf|xikbwyprvLu^2a5j( z1{fr)KYw_~@aOk`h6QU1;3*Lv^1zgMp}8epJu*>{;r{)f44*&!W%%;pJ;TrMUl~|f z*%&yvSs3!lWEgDi^%?$s(MvgXaqIH`|Np!3s9eti1)_3MwnU%&ogNJtZ4U}yQv zP*SJJ&@)4uft&L?LqaMa11Bc~(0jibK7W1t5$G~-K0ryI76wr#lw?dy8oG6v#UPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0+LBYK~y+TeUnQ} z6Hyd~|Cx3=Gi_<7P}?X7qLNZ1q!1)s=t3447GgwMn7AcI7sePL8%>NZN!;lM2^-@B zi3&y+vcRMU9|j=bn4+y%cm9hTD7W$jMH> zug0hP*REeaH#iBO zIT@IWEJ~C@Q?no0467@EYttM^CIiYsYx*jRm&a0W16Sn$&71Vddj6(s1=Jx~Il-kx zbQm@bmQNZ+)3UDo#%cHN0VtPNz*D%R#bNh&)b-~H5kEx+?)42WMap=WxZ@Vl@6UH^F z#~6GaKCqDBT|eR$O9Rqn%&P%RecF)nS%yuJb1o0)ORdcj)e&!BMNF+@t#U vm7Uin|C3_xu8!)8{e3iT(!TFTKM(K=-`^~`)%G*X00000NkvXXu0mjfBk5cz literal 0 HcmV?d00001 diff --git a/media/sprites/cat/standing_left.png b/media/sprites/cat/standing_left.png new file mode 100644 index 0000000000000000000000000000000000000000..3f2db69403f041f4176a6332b54bd0990fb01196 GIT binary patch literal 411 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1quc4F;Yrjv*HQ$teezb$FEeSD%QCYPg}jZEDoN zpPxUoL^Me-T&j6_XWRez_Oc9*Z!NO?9~p7uV4EUynno{Ef?2dRhhc%uuTvjhe-mf> zt-#6ltp1wjaliL>e!jndUp-(ck57OUpTn&5v)x-~>~raN3~c4r>XJ^7XyCKpWs%sC z>nbs$B65M!iiQP@Eeu_ZCl>Z`yHu3QyYu<*h)*$H(eU@))q?hi|K{cg1hP2v`^|}K zkZj@O*u}uQhmq}$aTr@$e8-ozcT7D~IJnrkjpez`$`-h(e0X*=y3O@9w?U9{8}}h) zdxI0&f0{liC}=uQSh(9$SL4PlI;*ldn7-6B=<7dV zQE=wVv;Y17-PP*<+C^fMmr1fYv>o~3duZ{@Mn;AWjV+qh`IR-m0A=uW^>bP0l+XkK DipiZe literal 0 HcmV?d00001 diff --git a/media/sprites/cat/standing_right.png b/media/sprites/cat/standing_right.png new file mode 100644 index 0000000000000000000000000000000000000000..95914b7275d85a702dd944a8605f9f5b89499736 GIT binary patch literal 584 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 OzTr+0BgLQq0001BzSRc+ literal 0 HcmV?d00001 diff --git a/media/sprites/plants/plant1.png b/media/sprites/plants/plant1.png new file mode 100644 index 0000000000000000000000000000000000000000..d7b380df0675534a3e6a75100bbf52dd81398922 GIT binary patch literal 83532 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

I(PdN1EjX>9{BV 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

lxpBVW0VJUZ<8_{0MZ)ic>y0IMl*Bl z%!MmnBGX%ylU6YE+Y_Eb<)N*-e#IlrqwwMo@vNQqsGRw0jo>xHWMs;S6(JRw%Lyio zVXWMV>jobjHSLL_4 zS0O)j;^Kss<{1G$Cm?wqy28)B7%Jf7MukkprGaLlZ;0Z6)^rAmbEKv-LOM)13AtR>*txK_Ri7HInOAr3I@`+E&AC3A|A>Rkd`KK9GgXj`V%V*ZtawbYE zT&T$EH+n_Pujvd@ePGWJ2?Hi$&mo*dvy(a~pmr9gQ1%)u;%hQ!8R*0m0_WWRbu!Z| zf+f4$5XK*WFQ$t|Olv6LQ0`DJ`}YthC+7#;n8J{&_|o@yH_yTX?IM@q*p+rjh-Q#= zH3YgjkFlRZvYe-Jh+?{j8fE#c&BU$kfjSqMM^|~E%u78LMjiR0nVmV8fd+LPUf&;6 zVB-dR_ORqLt_*y|;C#mj9obu@Xl3AAZK!NqOK?S1wrBPObfl7BVLV|AzNix%zr`2s zy>v8QAvB&QT+^IW4g6=GICoDze;q5303rYumN*`I`QpG!F7caLLMgyP4qPczIsuk1 zas&5}8;*yEerY={FD?hHme$tN%K3BV<#QW;x9o~|ab?+n#ZH@}{?N-cCvsl&f+ zmkxG!(>_Zz_gVF_7`EizF?ryWZGnPcMJaT_`C+%%- zr^Eey)|sY>>c+CjiToqEERUpPSXy04OBXiMqIf~}E^c7+hU&5Il{L`@{1%1;sm)Gm zwU%Yqih8V-G;S}aNk?_;ETz<5kcc`3br9}s;GFYFqfRMwyNwa-C~vo&Msi20Bkq`O zLfdk6@MuFFK(}ACA@vjM*r3Y)f@(P@|0Qbr*M#cBe}>4*Ise?B|J#4!BOm$ScE>vD z6&K4n^X{CV_nB7kH_#vXs=f9bj&fN}-3Q{A7}(lhNdOu{$^Y@(jYYhaXAr zc;`D)Qvm8wxI`G`BXg(@XGe9ROtNC9wNbu0oBrL+G}_vU8>-G*%9VE6JRY)P8}=%n zllT#HlU8MWt-r!$B8V~vI###t+)6iY-n1y2!ns4GlTe;_yyxBNV;}!ST3lUo`?=xC zNjoZn?WNiD&26Z-Xhl)0nYt@0sY~0dLnANd(h|H#=Y_A8<(xZ8W(p~m(DI-8{7bL= z^MCv^KmDKFy?f`gp{%B}L|lW`bVjJ%Zl8bOQ}6p@@4R;Pdt%QOPI16RX#%;29(g2P zd-Tyb`!hTQB&Kxx#?AD+fM7?!f7tIC02#5foiHQHWdSrD05?(_CpMNfGZEdP!*%Ba&WgpBk#`EXSrE_e*yttH>7R2h@SOUt*n7f;I(_1&* zO4}OcZ*ON-zFm#@yBf7$xNt!rJ@kWG<;649nFp*Mx^_)%buC@Id^ufs2%E$1H34s5 zR}cG}n{GE+&txa2ky*nkwNF+Ux^t&-#}9D5 zY*~(JbVGDujr8W`)(c0*b zjM+Dbw>^a`2AB{qa9Fj0%IXV|WH-yh`e%hJ*2oh-d+`8dzHf+Mab)& zelPKqb;QMRUKAi|TOcX-)(%sq?x8~p5y%`gebRYKp@(0RJdZD)9S@g?$winii2^l&b^(5aKWwQCjAn(Uqom~CLK*=4u|eNU zBo*VvLzm@dm_Upq86PCNmM8?;hB`ba0 zRH9i4{MJ;{QS$%1rn5q9q8@vwpMX0eP$7^3&@(X1q9T*N2AT{QQw+=;fKmY!3xqa{ zAd_WL#E3SScp`I>ej<4@f2xWBg^=(rW^_H8Pn7#lya4a(YCi)hA9bkcDb^!deDX*Zd93CNhI%_CljPJM*zTI-dfKqem_hrH-|32GQcK6Yz6W?l z$){LNXM=Rgj>nV9s0v*{*>z+A{RkEbQ)Chaz!?J+XF%{LdtdCAY~4`VwDo+*$W@_R4*K-wvnCvLIZadZ^zb{e%?X=ujZNyAn< z4XHD2A)CSD;Am~COF29XFq)`r%7py^_$4e|Fz@djH`{JUrrf;61s~c(_W4O*{Mdxu ziu2Wy!y^?G?MOMimJz$7qregf!?IW8bCwSTV$92>Jqd4@8CJDXx?6c{&f9==P!4@yxW~9uYLogsfVWrF3 z+8X+eD*!0D4HB(ZT3laE3+pR>u*g>jbO=H{z>IB`uRZdxw<30_9?l~(@%sGhuf3YK z@7y7W(!wf$9opaD^G0lxWLr#(P@8^*?owBEmb#dBk%aPj^eh|qdgIg^DnbAndDX!H zm;&p?#pT$s5|9OOm67Wgzm zt)h4DsxAWJmXMTcMAk{_4+mbgGZ?6|0#Zp;J?MDG?Pgk7TlMn}4fZsGlo5N-!V08E z9(^P=Nt1k&_YYX6k@jWJ8!x?__BQXPjyegd6USX8EOgSfC*F}Bd*?fSgPnM0Z+ryQ zIh5Tw`**j!gml!@KZPD((n?=?`TD1S@@Ieg@7}s~<2Na)rn5!<|I~CgNWlECfd6lP z)4=~J0l&b@z_0T^rVNx`z>U%DIMT=sFf|vt={+C%?)3ie`Is|ms6MJkzC0{l1NqyNN>INMtc4E=ThqTQ%A8)?2!w&@AdZ6ja#?8 zY?BU(&ap9Oqqj+FFE6I|efUG^yFT*aSoSIM^bVQjvNLCYU-@{zOi{5i$x71ZoxABP zPd}Y*zx7t?s{LJ_(uVT1mzQ*0KAJxCec!7x)e$QL`KrMGI{^P?9P=vhfBBU+Kl776 z`%{1S=FJFf}=cru-yVsL>FDZmUBFCfIjSv(}f)B)2K-p&A~dtubS zvYZxIHS%9smAewGxK6hdBY8%_8ZkGeqp41SQ8E6>pzpQ&tfw!`8h%`Ww=E##>D(zd zTLNhnsj~f6D|K*b+!yx*q&>NZGI(InWq{1p1MD|*0oFqLF*|dLcv_coMmzvTxraTM z&3gExxQ5)O>}x5l!PCp*q0m&<21|>nrH-_-r23hcQoGAm&28BvU}eHyb*9}6;1P7& z^+zgG^@nNCf!cvBESlYJw4Zs+Oqi#L*%q6rv9_AJqpO*=P`x=+dn#{3ZOV4d*x#4! zJkjiz#=x?lPRAX$>KngDiB8CjKcY-ION|d_ljn`Qw~5KU~TKd?;Jsvtw!93P7-T2>Qy~wnQGua>jVOv zN=Hxm`-v7wgS|rhad1sI2F?J@7}+~goIxLeG7CsEDiwUrT7n1{pe8+jj>v@O0C?jw zese%-am$$3Izr7+!sZIVXJuh7>Dk5tw6<4N?s1T-uk2`ISvt6kxU0s1`+6X zynjWCpS535_#!5*26T;M+aiT|`S=vsTvm94O2R2rO}4-EtTmlUs)7H^(>WzaK#5*}oT%tLcurs>nX%a0Of*=f!~QkA3X&JXvv*FzH;O5@ z*=*a5=aSGFy73!oGuHWe1?8DypY;3r1zcM&gW2g#SX09{YX=JV6*{Dil-SqE-tDFM z0qJTt{C&0MU__fnJCi?K;*KG#bjyT2tmY9@hnDKXE~K=hpDmD-)FfuNymf^Gp(m7Q zz2z8FFKf<3HKm76i2z5nSXI;6qxw?r3{k7qUVrMTr+(3476${Thadf*D^01!Y$tGkfaE?i9KE?rEk=gy@S^ZB$acjLl^bmgI| zX=7s}`89&-8Q6F&c;Ic2S#h$nwUrL`_S62}p4`}Kd1rek-MM``UNW9-32Ok|X6m#% z24QYevdywzW-dM)9Ey9X$Bj%jT61Tl&WYC`j>LX7B(Fq__x-ZXbPtxFjpur7AI(i= z$bO?rpsWL(*^OOj+a^G`hCLJuKJk!X!>~T zqxQOc>vnqm#g}}{X>Xc=j)MQpTiZJ?ec?+_|LXq!-pg*Bn$8sEzkE$+flgeXX)Z5ze(!RKH2%t{VvViJ+AO3K9h@Cx6 z@wYKR>z4*-YnFJeD9I50R*|A>mWCY8%B zo1GTx@PmpQ_Xb=$1qLpMk$Wur%(r2w13j3+VF?-K%ERg!9(rQMOO@yZx}8p1T3+&6 zd4!`(mR+W_AP|4Yd)||-J@TmPth(qbC#J6?Dsh&x#*$XbR-E%flQd%Wj(RATl;)^x z6Pzcf3iy&=9{k*(e)F~0)7QW9wKNhy^FW)+bk?!jr%abw|H)7Po!hr={tMLAbhfA- z@t+~`i2ptB{lTLnet<8fwt(TGN2?=#pau$X+q`{8qraEas3&j<=rDK!{5)9nuJ8V? z^yriCOe-4MuTFVQptI!dje8n}PBhw$7l80`6Lma_-@JP}z4G!)8u4$YJ}*|;-%q^* zaZiA+5i%p&0&<0o*RpHGvPbFR1u=#D8fmi@pXm~qts4dc;34c$Kl|H{Q*RVk1F&B% zgRabUI0kjf^^aP}ezg~!k!+(wI*@(6%-B7YuJfw*hDPR%L)lGTrH@fMd+N8BbY*n$ zeCn>nD1Sj6Nbqu6Tv_$QVJquuH&}XB*4N#J%eq3Cs9rsd+;Mf;!W@vVA||?`*t~fw zz5enmevwSicEP$5Q9A0Ze9Z0(dd8u@+DnSoR3DOf+7RIs_YT}OE0B? zNBqRbf59XEt(_OY_~oa6_26LtHD{{nOi?-eYdSL&qjBX1Ih+gg=1jimjiZiQ*D9`0qTFOLoc=W3>%+4P= zm`|ru^w!Z*!o7odK0q#d$$v~Agq@KZgamTsrfkHZv*{f|J7Qj<-jOl*JJQ|GWx4$n zraqqcS9Jk@Z#lu$gc<)#ZZ8^0IL-#q=1u{T^ z?+HjOR;@=~M*apwKJr9tVS$j!V$-vdb{udRU6v@G{w@2|$3|`$w5MFAW+)KZ@P`fA z4uPBZtC3EZnc0ahM1SmwfN>(gKH_4lEtU}F+{^KueKFK?ZAaR8) zEOsDMNjsg2s+!Ii@vp4ujF9j^gFvBWIbVI|7dm!^OC-+w_~0WKBl{TL^C3D?BLF!u zQvl)-mV5!H080SX8XOnlShWKia0Q5k9iKae=mcQt0?;xD+B#HOZIlybMzZxzI}tSp zO;TmzRMx4S(`R<&y5zisM?&Z!ER>FI4x*NBO$Es@BmC8{s01^jm%Jq&Z2&#YVktPn zp*c#+^^=Y6ARHHMK?iQxQjU^HeY>Q5j2=qvn$8&UPp;`~QJmjz>y)j4g+AUra?G|2 z<6woE^Tt1$ItVU41Cu~zAQ$HSzOVt2bP2)S94&rtOqQ8B`e}J$mWsm2kEFn?0NX6U zBO%~am(qAIt=aSZvO(;*{=%{Ww!V_jJhQ>ObXJ(xI#$bMxg~iEM;`1Q$qjZ}>7ycp zRc84$xi^6EN0?U6-KvvlV?J(|!b;;l3->L2Ps8yu`<=&mgH`=}OvLEQHbf~<2BNb(o~X^EP!J&t1RXuANp7|~u{X^6dRoZ5xR!Z&)%(yywqpIm?=ho*8$uK5VVp+m$WN#cmq2a;KxZi5sk@DSqml z+a#`T0@`OBZRU1UxT%k?5V(hcjxM@rzn1j2Q$u0ev$3#{y0n4qll>f<^^LTo_GC|= z=HilMmQr(RIW?BWOA3oyif8$0Is8Y+hcObEUh;nYVmd97TFpkQ!GjMqok{ZHujy=1 zx7&UA$A9d{|HhAh;uC+hJ02QrMgkW`iCqD~2S5J(c{wMid;pP2>06sy>E@endWA~- zDM$?&wqw5h(3P~du`WD2I#yuh8ylt2SxRW4_wS@PhsbQIl zy5eO2lrpl-vLS$-#}#FA{*p$Za3&{VW0oOFUY3{gyuzwL*zXK(D#0TBG`w<(7obnu zD1-l$vN}_VRvb%9*=UVTe)alq{^Za8^nZ5q z##_HmmYU8MRsNMV%{z6v-K#(LqksCZ{n;P-!M_Rc$0a{+aT*^1e$T@zEg)LI5%8bE zSOpm&L^;B1@A&{c6&XVbUxTl7O+j5k3?HG2uE4|+aSBzFQE@zcQvMA7K@=jvYTo1i zBSb_s62Zb1QW=in=N=s*>PLIo76d9FeG+9IZo2~b)8AZHF3j<>p9)2~b%WQ zI)IRiFe$U0&2$u74qob}PZcCoqC$8i;QnmnwTZ7W?MZ{~Q(4bYdIKG;N_ zLe8K4$4MQCSB>UiO=pbi1ADfJG2RLDD2xQdjbyn1zDDto*S6cE=pu*fZ~=@QXB{&x zdT{}Nz-b1|0s7Nt0VElvORmaNHD!ej(%&eT@(Sm&f{BxxZ76{EV8*`U28aD3gK(9l zG|NO|5I&tk@9gF)*MW{kJr%Cx_5MAXTP5r< zsT3((_-LLIj(qW;*3tC0%jhY5V%jmg^SK#@Hgr$UCt=gz<-8FBf4g@$;le0 zbdXQ$%=(qXGD2^cpl|_#VEMtFlh|_3G2>~zDoc0@oYhVub2Tn=HGcstUNsng$*@AT z%Fc5#SM^Rg=Q)~xR^~L{5gRMESiZ_7UuhSyq61tjBY)xwJ54{CXSz#Tq|f9ky3JKt z{bY9v_Acj`KEkDJsqmB@Oeo8kNIXWZRm zzz_WO*qw9YhpU)AXm>m5+B=>|4?pol-1v)gKmTN)DnNkCKLda%WC0>)e;JPzD&yS$&-~Q?`IT2*`l+0)rZYt4-&4~WAlC8!#E<=%zxflN`2Oj(%#2|LYX&wR5aK~0 z!oC?f#ex~|!x4q2!v3eA>o_2m424Rb<3t=v3V)L{HKmkM+^kcm?wAJ@F@yc=R^=6S z^7J;cFv3bV_#>QkOw*wvhc`NjX%X_|36`03HL*g~(6ks4@u5LJ3q@kY&jhRfLNV&s ze`7dG!`?u8BUicN;n|NDZ*P6+zxyXY^?!Qx)tCQ!XR7H;k^eF^oedK3U;D8?{o{ZA z&-}nAG~(w0E}h&4_zVZe0DcOn%?^Kz#7m51>_Ha4x)6H-jF=)iopPR2=_EjX`;^U) zO{JW|S+78rq(7XEE+BJ}tL7nI<>huYP3@t(EpiZc71=B==O{Rf95*BUUTp(Iku9j= z=ZNI4PJ~pJ0XKG66T@tMd0}bf3m2$rnCJ{$6Ip zifz+5YsC@9&JsQ;-`nToHXXN5ejsxiU*#eLx3XK(XvXkId(Zq#wb-3?N<_(PX0U@n=G6IxAEI{~02IUc1xkEX1k~F|e=Rz$;|b z4X}$OFX^7KF6+&cH1^#=jrb&6R^XVOKbU2S$nk{d=`6kX<&*NfeWni73wz>bXsKh4 zQyO-jly}C*ZTdzy>u42L9PWekS`J2TWTq_(lb<>Eq8~rUtTm3~!HadO%&}o~f6}p> z`9s%fT*_!N(wELWOmKU4I_<@FtGyEcteVam)xdv-sM%~TFE1>tvzjC3bu@G+?_uH4`1JIV${cD?I}pnq z&)kOM8uDW!Sk_d50k#22{wM0dj^lhphW456#cy~mZt>rbPmsy&Zv7QKrTvSXZvtm- z5GQxk$kTS>A?>b|k(jOYCVo^p=TUfeOtV|kPGiYfAG+DoNo~R7*Mo5y-rhU7{)I0; z{pqdE%`Zr>rZYzTLuxuB)Mzx8FJHd$p$~oVL!Vq3Xjz2J|lYcZE_D6%>a5Ov|kJyo3SOjZWDy#*o*a5QBX|=jiz?8IShygQu zB+9HZcBn5PuMG+Zp9*a>Tf&u=Tu>*HvdmOAz9m*P^GWS^Fdp{R1F2scvr?6(jGC0E z636@!?zGwq?RI;?X{3;oA+`f0jNjxZm8cIzqmtsu%g3%FiRVYPl$>+Yo%-6!S~5A6 zvNEX@Z<~+eRlZb)TgZ}!);>&&=48bgP~uY>v+U=+tR~UOe0?^SYNB% zZniqotK%BSRJo;2wxUBaR)r3_X;+>j=87p>lQ%s!dV~Hx{}tBmuPiNHP+`MAc>0UK q^TjXz!O!>mhtHy;rn5vT{r>^@=QOS6OFqc}0000Px#1ZP1_K>z@;j|==^1poj532;bRa{vGmbN~PnbOGLGA9w%&|D{PpK~#8N?EMG0 zuGw|phwZn2?eyEr+^HCl09Zjm5Glr_Dk+KTjY@3CmJ``>q!dw&a_l&g5=)PqSVD`*llN(vp_6q$MqBNlRMNl9sfjB`s-5OIp&Bmb9cLEon(hTGEo1 zw4^01X-NwTy5o|*w&;;^4|Lw@KgWmEir#qdjf9)UX~zo+x&Y08=dR)WZ6x9%)`iTA z<3g^*^)E%{_K|cQ(IVXL*@Bm}q$RyY`brw&lHOYs#!0d|8m(+ZQ5?G)r%_(759yYiq&9xJ6`6s@O8wmMo}%bX%bY}ABLN7Ep;ZiS%~hteTxS)oR{ZMrHl9u#V$oKq~^tD8-tR0nnzz9>vy237z9ppJ$uq+kNoC|=(A^eD2_z}N^({U7p zaHI(2*(@q=J3U5HS|pE4C4y4)Fm4%HijGHdCzpu<+kM^ZSgz4uc6^lmiClz{@JDQ|`f+65LdJ?`&TZ65jJrqq&F;&P zu=N6-gSM8IX>4AI;VBUh9w(V%u%R!;0Ffso4GfC;K{Auch)U0wgELsEYS9i-oaP!!;5Ag~S=Ky3_^dmj&v zi}S^^hxZ==b14TYxW^CFtYJ_DtZ|SMW!lAJR(i~U>*TVuz{seh@#|%^bNxHwM}DDx zGH-~@>ny3!G|jMd@V2BSE$J=LQt7<+31B<|$2g86;c+4?4(YG^nTtq(8p}`+P+Qkt zP^+VP0%#4)JK{d`@g4hff8Vowi939DHHwGn5XBiMNv2yzvV0YU-`D$Z+d6PD^Gq_N zbV+)U2}4egQ6LN1EKPFc`O*8NqjN7d#nRokys%Y$r5X#$3MJ;!m9^D@)VCZQd4m_% z$CVZ`9(OsH^d6>V#d~j3Bs}a#QIsZW${a^fR~4unY;0|v9jveZo7b+s`oC)Hdg!YF zN=FB2p-`uBqI(NiYV-gAmU#r#g_H=|y!?&QDLeyb+TI;VKfmD!>pCIo80#YdnQSEhD3hmN2wHJR*goRpI=?u z`Y-nG-up+&*9za*k9r(bWmV_-Y$_QiKBQwoq2*zm46{K$#Re>kyee`P=9kDwu6WW( zS2pcjr&8=+N~&6kxF=4#TM#)(I69iz=dueIwT)%^ONYCp_bx4(*^=Hv#0s@jXP^4E zq}O{fVn*GUa}tEDuG*D4EWdSJZ2zhttVagWGD9#EbnQlKncF%wa#13TU@k=Wfs0Vu zsFtcY+{;})s|6*A!HSs|HgD4D3&QIZ5|Lu!xHg-+ruTVQL_c2V?M*>W4)UOO>b9xN z`TWYxy<0zBl?Ctdyp9BB+2*O!FZNf~KO#-KLR!!P7C9qdQG2n8r~gLWpFh`xMc*tP z7n{Q9^+UIDy6;xkG3?}?5kAF<4r+8Pa|tplb&l+W=hM*2U0F14dRWShOu~pflG15P zr8j7!c6cwWR(`yh2S4A`W(FzqBnxO-xAQ8WfA;o`Yd_vJbzuR%%Or)<+c