dfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdfffffffffffffffffffdffffffffff