top of page

XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1

XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1

XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1

XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1

XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1

XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1

XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1

XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1

XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1

XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1

XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1

XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1

XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1

XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1

XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1

XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1

XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1

XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1

XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1

XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1

XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1

XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1

XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1

XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1

XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1

XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1

XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1

XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1

XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1

XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1

XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1

XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1

XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1

XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1

XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1

XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1

XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1

XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1

XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1

XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1

XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1

XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1

XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1

XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1

XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1

XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1

XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1

XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1

XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1

XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1

XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1

XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1

XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1

XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1

XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1

XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1

XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1

XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1

XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1

XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1

XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1

XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1

XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1

XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1

XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1

XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1

XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1

XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1

XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1

XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1

XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1

XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1 XX1

XX1

HUMAN & AI BECOME ONE​​

P1060332.JPG

import pygame

import sys

 

# Initialize Pygame

pygame.init()

 

# Screen settings

WIDTH, HEIGHT = 600, 600

TILE_SIZE = 30

screen = pygame.display.set_mode((WIDTH, HEIGHT))

pygame.display.set_caption("Simple Pac-Man")

 

# Colors

BLACK = (0, 0, 0)

BLUE = (0, 0, 255)

YELLOW = (255, 255, 0)

WHITE = (255, 255, 255)

 

# Maze layout (W = wall, . = dot, ' ' = empty)

maze = [

    "WWWWWWWWWWWWWWWWWW",

    "W........W.......W",

    "W.WWWW.W.W.WWWW.WW",

    "W.WWWW.W.W.WWWW.WW",

    "W.................W",

    "WWWW.WWWWWWW.WWWWWW",

    "W........W........W",

    "W.WWWW.W.W.WWWW.WW",

    "W.................W",

    "WWWWWWWWWWWWWWWWWW",

]

 

# Create wall and dot positions

walls = []

dots = []

for row_idx, row in enumerate(maze):

    for col_idx, tile in enumerate(row):

        x, y = col_idx * TILE_SIZE, row_idx * TILE_SIZE

        if tile == 'W':

            walls.append(pygame.Rect(x, y, TILE_SIZE, TILE_SIZE))

        elif tile == '.':

            dots.append(pygame.Rect(x + TILE_SIZE//2 - 3, y + TILE_SIZE//2 - 3, 6, 6))

 

# Player

player = pygame.Rect(TILE_SIZE + 2, TILE_SIZE + 2, TILE_SIZE - 4, TILE_SIZE - 4)

player_speed = 3

score = 0

clock = pygame.time.Clock()

AI coded Pac-Man : ) 

# Game loop

running = True

while running:

    screen.fill(BLACK)

   

    for event in pygame.event.get():

        if event.type == pygame.QUIT:

            running = False

 

    keys = pygame.key.get_pressed()

    dx = dy = 0

    if keys[pygame.K_LEFT]: dx = -player_speed

    if keys[pygame.K_RIGHT]: dx = player_speed

    if keys[pygame.K_UP]: dy = -player_speed

    if keys[pygame.K_DOWN]: dy = player_speed

 

    # Move player and check for wall collisions

    next_pos = player.move(dx, 0)

    if not any(next_pos.colliderect(wall) for wall in walls):

        player = next_pos

 

    next_pos = player.move(0, dy)

    if not any(next_pos.colliderect(wall) for wall in walls):

        player = next_pos

 

    # Draw walls

    for wall in walls:

        pygame.draw.rect(screen, BLUE, wall)

 

    # Draw and check dot collisions

    for dot in dots[:]:

        if player.colliderect(dot):

            dots.remove(dot)

            score += 10

        else:

            pygame.draw.ellipse(screen, WHITE, dot)

 

    # Draw player

    pygame.draw.ellipse(screen, YELLOW, player)

 

    # Show score

    font = pygame.font.SysFont(None, 36)

    score_text = font.render(f"Score: {score}", True, WHITE)

    screen.blit(score_text, (10, 10))

 

    pygame.display.flip()

    clock.tick(60)

 

pygame.quit()

sys.exit()

INDIAN MAN WHITE WOMAN HOLOGRAM.png

XX1

Educating & Enriching life in an AI Era.

Education

Empower your mindset with cutting-edge AI technology.

SCHOOL GIRL IPAD CLASS.png
TREASURE CHEST SCROLLS GALAXY.png

Enrich

Optimise your vision and excel your decision-making with the drive of AI innovation.

Era

Generations apart coming together in a new era, thanks to XX1 & AI.

MAN & WOMAN MACBOOK SOFA.png

XX1

XX1

bottom of page