from typing import Optional

from ..utils.logging import get_logger
from .audio_classificiation import AudioClassification
from .automatic_speech_recognition import AutomaticSpeechRecognition
from .base import TaskTemplate
from .image_classification import ImageClassification
from .language_modeling import LanguageModeling
from .question_answering import QuestionAnsweringExtractive
from .summarization import Summarization
from .text_classification import TextClassification


UpperCAmelCase     						=			[
    '''AutomaticSpeechRecognition''',
    '''AudioClassification''',
    '''ImageClassification''',
    '''LanguageModeling''',
    '''QuestionAnsweringExtractive''',
    '''Summarization''',
    '''TaskTemplate''',
    '''TextClassification''',
]

UpperCAmelCase     						=			get_logger(__name__)


UpperCAmelCase     						=			{
    AutomaticSpeechRecognition.task: AutomaticSpeechRecognition,
    AudioClassification.task: AudioClassification,
    ImageClassification.task: ImageClassification,
    LanguageModeling.task: LanguageModeling,
    QuestionAnsweringExtractive.task: QuestionAnsweringExtractive,
    Summarization.task: Summarization,
    TextClassification.task: TextClassification,
}


def SCREAMING_SNAKE_CASE			(       lowercase_:		dict			):
       _UpperCamelCase       :    int					  =					task_template_dict.get('task'			)
       if task_name is None:
              logger.warning(F"Couldn't find template for task '{task_name}'. Available templates: {list(lowercase_			)}"			)
              return None
       _UpperCamelCase       :    Tuple					  =					NAMEaTEMPLATE.get(lowercase_			)
       return template.from_dict(lowercase_			)




def SCREAMING_SNAKE_CASE			(       lowercase_:		int = 4000000			):
       _UpperCamelCase       :    str					  =					1
       _UpperCamelCase       :    str					  =					2
       _UpperCamelCase       :    Tuple					  =					0
       while j <= n:
              if j % 2 == 0:
                     total += j
              _UpperCamelCase  , _UpperCamelCase       :    int					  =					j, i + j

       return total


if __name__ == "__main__":
 print(f'''{solution() = }''')



