Here's the Python script for the maze solving algorithm using depth-first search:

```python
def mazeSolver(maze):
    stack = [(0, 0)]  # starting position
    visited = set()
    while stack:
        current = stack.pop()
        if current == (len(maze)-1, len(maze[0])-1):  # goal position
            return "path found"
        if current not in visited:
            visited.add(current)
            x, y = current
            # check adjacent positions
            for dx, dy in [(0,1), (1,0), (0,-1), (-1,0)]:
                next_x, next_y = x+dx, y+dy
                if 0 <= next_x < len(maze) and 0 <= next_y < len(maze[0]) and maze[next_x][next_y] != "wall":
                    stack.append((next_x, next_y))
    return "no path found"
```

In this script, the maze is represented as a 2D list where each element is either a "wall" or a free cell. The starting position is (0,0) and the goal position is (len(maze)-1, len(maze[0])-1). The algorithm uses a tuple to represent each position.

The algorithm is essentially the same as the pseudocode, with the only difference being the syntax and some minor details, such as checking if the adjacent position is within the bounds of the maze.
spam fails_task lang_mismatch pii not_appropriate hate_speech sexual_content quality toxicity humor helpfulness creativity violence