Mycroft-core: Mycroft рдХреЗ рд╢рд╛рдк рд╢рдмреНрдж `****` рдХреЗ рдЕрд╡рд░реБрджреНрдз рд╣реЛрдиреЗ рд╕реЗ рдЦреЛрдЬреЛрдВ рдФрд░ рдЕрдиреНрдп рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдореЗрдВ рдмрд╛рдзрд╛ рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 11 рдирд╡ре░ 2017  ┬╖  8рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: MycroftAI/mycroft-core

(рдЗрд╕ рдмрдЧ рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рд▓рд┐рдП #### рдореЗрд░реА рд╕реНрд╡-рдЪрдпрдирд┐рдд рд╕реЗрдВрд╕рд░рд╢рд┐рдк рдХрд╛ рд╕рдВрдХреЗрдд рджреЗрдЧреА, рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рдЗрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреА рдиреАрддрд┐рдпреЛрдВ рдХреЛ рдХреЛрд╕рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рдкрддрд╛ рд╣реИред **** Mycroft рд╕реЗрдВрд╕рд░ рд╢рдмреНрджреЛрдВ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░реЗрдЧрд╛ред)

рдПрдХ рдХреМрд╢рд▓ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рддреЗ рд╣реБрдП рдореИрдВрдиреЗ рдорд╣рд╕реВрд╕ рдХрд┐рдпрд╛ рдХрд┐ рдХрд╣реАрдВ рди рдХрд╣реАрдВ рдореЗрд░реЗ рдЗрдирдкреБрдЯ рдХреЗ рдкрд╛рд░реНрд╕рд┐рдВрдЧ рдореЗрдВ рдпрд╣ рд╢рдмреНтАНрдж рд╢рдмреНтАНрджреЛрдВ рдХреЛ рддрд╛рд░рд╛рдВрдХрди рдореЗрдВ рдЦреЛрдЬ рд░рд╣рд╛ рд╣реИ, рдЬреИрд╕реЗ " #### " рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ " **** " рдХреЗ рд░реВрдк рдореЗрдВ рдХреА рдЬрд╛ рд░рд╣реА рд╣реИред рдпрд╣ рдПрдХ рдЙрдЪрд┐рдд рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдРрд╕реЗ рдПрд▓реНрдмрдо рдЦреЗрд▓рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдЬрд┐рдирдореЗрдВ рд╕реНрдкрд╖реНрдЯ рд╢реАрд░реНрд╖рдХ рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдЙрд╕ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рддреЛрдбрд╝рддреА рд╣реИред

рдпрд╣ рдХреЛрд░ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИ, рди рдХрд┐ рдХреЗрд╡рд▓ рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдХреМрд╢рд▓ рдХреЛ:

рдкреНрд░рдЬрдирди рдХрд░рдиреЗ рдХрд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛:

  1. рдЬрд╛рдЧреЛ рд╢рдмреНрдж рдХреЗ рдмрд╛рдж рдПрдХ рдЕрднрд┐рд╢рд╛рдк рд╢рдмреНрдж рдХрд╣реЛред рдЬреИрд╕реЗ, "рд╣реЗ рдорд╛рдпрдХреНрд░реЙрдлреНрдЯ, #### рддреБрдоред" (рдпрджрд┐ рдЖрдк рдПрдХ рдЧреАрдд рд╢реАрд░реНрд╖рдХ рдХреЗ рд▓рд┐рдП рдЦреЛрдЬ рд░рд╣реЗ рдереЗ, рддреЛ рдЖрдк рдХреБрдЫ рдРрд╕рд╛ рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ, "рд╣реЗ рдорд╛рдЗрдХреНрд░реЙрдлреНрдЯ, NWA рджреНрд╡рд╛рд░рд╛ #### рдкреБрд▓рд┐рд╕ рдЦреЗрд▓реЗрдВ")

рджреЗрдЦреЗ рдЧрдП рд╡реНрдпрд╡рд╣рд╛рд░:
Mycroft рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдФрд░ " #### " рдЖрдкрдХреЛ " **** " рдХреЗ рд░реВрдк рдореЗрдВ рджрд░реНрд╢рд╛рддреА рд╣реИред

рдЕрдкреЗрдХреНрд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░:
Mycroft рд╢рдмреНрджреЛрдВ рдХреЛ рд╕реЗрдВрд╕рд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рд╕реНрдкрд╖реНрдЯ рд╢реАрд░реНрд╖рдХ рд╡рд╛рд▓реЗ рдЧрд╛рдиреЗ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИрдВред рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ, рдпрд╣ рдПрдХ рд╡рд┐рдиреНрдпрд╛рд╕ рдпреЛрдЧреНрдп рдФрд░ рдкреНрд░рд▓реЗрдЦрд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

16:50:56.682 - mycroft.client.speech.listener:transcribe:144 - DEBUG - STT: f*** you                               
16:50:56.682 - __main__:handle_utterance:55 - INFO - Utterance: [u'f*** you'] 
Bug - quick hacktoberfest help wanted

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдореИрдВ рдЬрд░реНрд╕реА рд╕реЗ рд╣реВрдВ рдФрд░ рдмрд╣реБрдд рдХрд╕рдо рдЦрд╛рддрд╛ рд╣реВрдВ, рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рднреА рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИред

рд╕рднреА 8 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

(рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдореЗрд░реЗ рдирдПрдкрди рдФрд░ рдЗрд╕рдХреА рдЕрд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рдХреГрддрд┐ рдХреЗ рдмрд╛рд╡рдЬреВрдж рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдмрдЧ рд╣реИред)

рдореИрдВ рдЗрд╕рдореЗрдВ рднреА рднрд╛рдЧрд╛ред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреЗ рдмрдЬрд╛рдп рд╡рд┐рдХрд▓реНрдк рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕реЗ рд░рдЦрдирд╛ рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛ред

рдпрд╣ рдкрд┐рдЫрд▓реЗ рд╣рдлреНрддреЗ рдЪрд░реНрдЪрд╛ рдХреЗ рд▓рд┐рдП рдерд╛, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдмрдВрдж рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдирд╛ рдерд╛ред @matheuslima рдХреНрдпрд╛ рдЖрдк рдЗрд╕ рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рдореИрдВ рдЬрд░реНрд╕реА рд╕реЗ рд╣реВрдВ рдФрд░ рдмрд╣реБрдд рдХрд╕рдо рдЦрд╛рддрд╛ рд╣реВрдВ, рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рднреА рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИред

рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдХреЛрдИ рдкреНрд░рдЧрддрд┐? рд╕реЗрдВрд╕рд░ рдХрд░рдирд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд╖реНрдЯрдкреНрд░рдж рд╣реИред

рдЬрдм рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдкрд╣рд▓реА рдмрд╛рд░ рдЙрдард╛ рд░рд╣рд╛ рдерд╛, рддреЛ рдореИрдВ рдЙрди рдЪрд░реНрдЪрд╛рдУрдВ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдирд╣реАрдВ рдерд╛, рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ Google STT рд╕реЗрд╡рд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣рдо рд╕реЗрдВрд╕рд░ рдХрд░рдиреЗ рдореЗрдВ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рджреЗрдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рдХрд┐ рдХреНрдпрд╛ рдХреЛрдИ рдзреНрд╡рдЬ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рдЗрд╕реЗ рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдкрд░ рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЕрдЧрд░ рдХрд┐рд╕реА рдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рдкрддрд╛ рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ рдЗрд╕рдореЗрдВ рдЭрдВрдХрд╛рд░ рдХрд░реЗрдВред

рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рдПрдХ рдмрд╣реБрдд рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╕реНрдХрд┐рдо рд╕реЗ рдореИрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реВрдВ:

  • рдЬреНрдпрд╛рджрд╛рддрд░ STT рд╕реЗрд╡рд╛рдПрдБ рдЬреЛ Mycroft рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреА рд╣реИрдВ (Google STT рдХреЗ рд╕рд╛рде рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╣реИ) рдХреЗ рдкрд╛рд╕ profanity_filter рдзреНрд╡рдЬ рд╣реИ рдЬреЛ API рдХреЗ рд▓рд┐рдП рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

  • рдорд╛рдЗрдХреНрд░реЙрдлреНрдЯ рдХреА рдПрд╕рдЯреАрдЯреА рдХрдХреНрд╖рд╛рдУрдВ рдореЗрдВ, рдпрд╣ false IBMWatson STT рд╡рд░реНрдЧ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕реЗрдЯ рд╣реИ: рдХреЛрдб рдХреА рдпрд╣ рдкрдВрдХреНрддрд┐ , рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдкреИрд░рд╛рдореАрдЯрд░ GoogleSTT рд▓рд┐рдП рд╕реЗрдЯ рдирд╣реАрдВ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИред

  • GoogleSTT рд╡рд░реНрдЧ рдореЗрдВ, рдпрд╣ рдкреИрд░рд╛рдореАрдЯрд░ рд╕реЗрдЯ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ , рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЗрд╕ рдореБрджреНрджреЗ рдХрд╛ рдореВрд▓ рдХрд╛рд░рдг рд╣реИред рдпреЗ Google рдХреЗ STT рдХреЗ рд▓рд┐рдП рдбреЙрдХреНрд╕ рд╣реИрдВ - рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ ProfanityFilter рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред

  • рд╣рд╛рд▓рд╛рдБрдХрд┐, рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдЗрд╕рдХрд╛ рдЙрддреНрддрд░ profanity_filter false GoogleSTT рд╡рд░реНрдЧ рдореЗрдВ рд╣реЛрдирд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдкреНрд░рддрд┐-рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЗрд╕реЗ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рджреЗрдиреА рдЪрд╛рд╣рд┐рдП, рдЬреИрд╕реЗ рдХрд┐ рд╡реЗрдХ рд╡рд░реНрдб рдФрд░ рдПрд╕рдЯреАрдЯреА рдЗрдВрдЬрди рдФрд░ рдЯреАрдЯреАрдПрд╕ рдХреА рдЖрд╡рд╛рдЬрд╝реЗрдВ рдкреНрд░рддрд┐-рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕реЗрдЯ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИрдВ: https://account.mycroft.ai/ рдЙрдкрдХрд░рдг/

  • рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрджрд░реНрд╢ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рдорд╛рдЗрдХреНрд░реЙрдлреНрдЯ рд╣реЛрдо рдмреИрдХрдПрдВрдб рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдореИрдВрдиреЗ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреЗ рд░реВрдк рдореЗрдВ рдЬреЛ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд╡рд╣ mycroft.conf рдПрдХ рдирдпрд╛ self.config рд╡реИрд░рд┐рдПрдмрд▓ рд▓рд╛рдЧреВ рдХрд░ рд░рд╣рд╛ рдерд╛:

  // Profanity filter
  "profanity_filter": false,

рдЗрд╕рдХреЗ рдмрд╛рдж STT рд╡рд░реНрдЧреЛрдВ рдореЗрдВ рд╕рдорд░реНрдерди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЕрд░реНрдерд╛рдд рдпрд╣ рдореИрдВрдиреЗ рдПрд╕рдЯреАрдЯреА рдмреЗрд╕ рдХреНрд▓рд╛рд╕ рдореЗрдВ рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛;

class STT(metaclass=ABCMeta):
    """ STT Base class, all  STT backends derives from this one. """
    def __init__(self):
        config_core = Configuration.get()
        self.lang = str(self.init_language(config_core))
        config_stt = config_core.get("stt", {})
        self.config = config_stt.get(config_stt.get("module"), {})
        self.credential = self.config.get("credential", {})
        self.recognizer = Recognizer()
        self.can_stream = False
        # set profanity filter
        self.profanity_filter = self.config.get('profanity_filter')

    <strong i="36">@staticmethod</strong>
    def init_language(config_core):
        lang = config_core.get("lang", "en-US")
        langs = lang.split("-")
        if len(langs) == 2:
            return langs[0].lower() + "-" + langs[1].upper()
        return lang

    <strong i="37">@abstractmethod</strong>
    def execute(self, audio, language=None, ProfanityFilter=self.profanity_filter):
        pass

(рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░ рдореЗрд░реЗ рдорд╛рдЗрдХреНрд░реЛрдлрд╝реЛрди рдиреЗ рдХреБрдЫ рдЕрдЬреАрдм рдХрд╛рд░рдг рдХреЗ рд▓рд┐рдП Mycroft рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛, рдФрд░ рдХреБрдЫ рднреА рдирд╣реАрдВ рдЬреЛ рдореБрдЭреЗ рдлрд┐рд░ рд╕реЗ рдорд╛рдЗрдХреНрд░реЛрдлреЛрди рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдорд┐рд▓рд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдкрд░реАрдХреНрд╖рдг рдЬрд╛рд░реА рдирд╣реАрдВ рд░рдЦ рд╕рдХрд╛)

рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ - ProfanityFilter рдЕрднреА рднреА True рд╕реЗрдЯ рд╣реИ, рдФрд░ *** рдмрдиреЗ рд╣реБрдП рд╣реИрдВред рд▓реЗрдХрд┐рди, рдпрд╣ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрдХреЗрдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдЗрд╕рд╕реЗ рдирд┐рдкрдЯрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

рдореИрдВрдиреЗ Google STT рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдФрд░ рдЕрдкрд╡рд┐рддреНрд░рддрд╛ рдлрд╝рд┐рд▓реНрдЯрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдмрдВрдж рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ Google рдХреНрд▓рд╛рдЙрдб рдЦрд╛рддреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

Mycroft рдмреИрдХрдПрдВрдб (рдЬреЛ Google рдХреНрд▓рд╛рдЙрдб рд╕реНрдкреАрдЪ рдЯреВ рдЯреЗрдХреНрд╕реНрдЯ рд╕рд░реНрд╡рд┐рд╕ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди Google рдХреЗ рдкреБрд░рд╛рдиреЗ APIs рдореЗрдВ рд╕реЗ рдПрдХ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдПрдкреАрдЖрдИ рд╣рдореЗрд╢рд╛ рдЗрд╕реЗ рд╕рдХреНрд╖рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЕрдЧрд░ рдореИрдВ рд╕рд╣реА рд╕реЗ рдпрд╛рдж рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдЗрд╕реЗ рдмрдВрдж рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИред

рдПрдХ рд╡рд┐рдиреНрдпрд╛рд╕ рд╕реЗрдЯрд┐рдВрдЧ рд╢рд╛рдпрдж рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИред рдореЗрд░реА рд░рд╛рдп рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдмрдВрдж рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

WSLUser picture WSLUser  ┬╖  9рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

akhiljns picture akhiljns  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

tiagochiavericosta picture tiagochiavericosta  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Ahmed-Benj picture Ahmed-Benj  ┬╖  7рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

krisgesling picture krisgesling  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ