from typing import List, Optional
from axelrod.action import Action
from axelrod.player import Player
IllIIIlIl = List[float]
llIllIlIl, llIllllI = Action.C, Action.D
class IlIlllIll(Player):
    IIIIIlIIIIIlIllIIIll = "strategy"
    lIIIlIlllIIlIIIIlll = {
        "memory_depth": 1,
        "stochastic": True,
        "long_run_time": False,
        "inspects_source": False,
        "manipulates_source": False,
        "manipulates_state": False,
    }
    def __init__(lIIllIlI, lIIllIIIlIllllIlIlI: float = 0.1) -> None:
        super().__init__()
        lIIllIlI.lIIllIIIlIllllIlIlI = lIIllIIIlIllllIlIlI
        if (lIIllIlI.lIIllIIIlIllllIlIlI == 0) or (lIIllIlI.lIIllIIIlIllllIlIlI == 1):
            lIIllIlI.lIIIlIlllIIlIIIIlll["stochastic"] = False
    def IIIlIIlllI(lIIllIlI, lIllIIlIlIIllIll: Player) -> Action:
        if len(lIIllIlI.history) == 0:
            return llIllIlIl
        if lIllIIlIlIIllIll.history[-1] == llIllllI:
            return llIllllI
        if lIIllIlI.lIIllIIIlIllllIlIlI == 0:
            return llIllIlIl
        if lIIllIlI.lIIllIIIlIllllIlIlI == 1:
            return llIllllI
        IIIllllIl = lIIllIlI._random.random_choice(1 - lIIllIlI.lIIllIIIlIllllIlIlI)
        return IIIllllIl