Consider the following code. Answer the subquestions based on the given data:
```
def flipper(matrix):
transformed = []
for row in matrix:
new_row = []
for element in row:
if element < 0:
new_row.append(0)
elif element % 2 == 0:
new_row.append(element * 2)
else:
new_row.append(element + 3)
transformed.append(new_row)
result = [val for sub in transformed for val in sub if val > 5]
return transformed, result
matrix = [[1, -2, 3], [4, 5, -6], [7, 8]]
out1, out2 = flipper(matrix)
print(out1)
print(out2)
```
Question
What is the value of `out2` after executing the code?