






from ...configuration_utils import PretrainedConfig
from ...utils import logging


a_		:						Any             =    logging.get_logger(__name__)

a_		:						Optional[int]             =    {
    'google/pegasus-large': 'https://huggingface.co/google/pegasus-large/resolve/main/config.json',
    # See all PEGASUS models at https://huggingface.co/models?filter=pegasus
}

class 		_snake_case  (  A__					):
			_lowercase		:    Tuple			     =							'''pegasus'''
			_lowercase		:    Optional[Any]			     =							['''past_key_values''']
			_lowercase		:    Union[str, Any]			     =							{'''num_attention_heads''': '''encoder_attention_heads''', '''hidden_size''': '''d_model'''}






			def __init__(       self		,					a=5_0265		,					a=1024		,					a=12		,					a=4096		,					a=16		,					a=12		,					a=4096		,					a=16		,					a=0.0		,					a=0.0		,					a=True		,					a=True		,					a="gelu"		,					a=1024		,					a=0.1		,					a=0.0		,					a=0.0		,					a=0.02		,					a=0		,					a=False		,					a=0		,					a=1		,					a=1		,					**a		,					)      ->       Union[str, Any]:
						SCREAMING_SNAKE_CASE						= vocab_size
						SCREAMING_SNAKE_CASE						= max_position_embeddings
						SCREAMING_SNAKE_CASE						= d_model
						SCREAMING_SNAKE_CASE						= encoder_ffn_dim
						SCREAMING_SNAKE_CASE						= encoder_layers
						SCREAMING_SNAKE_CASE						= encoder_attention_heads
						SCREAMING_SNAKE_CASE						= decoder_ffn_dim
						SCREAMING_SNAKE_CASE						= decoder_layers
						SCREAMING_SNAKE_CASE						= decoder_attention_heads
						SCREAMING_SNAKE_CASE						= dropout
						SCREAMING_SNAKE_CASE						= attention_dropout
						SCREAMING_SNAKE_CASE						= activation_dropout
						SCREAMING_SNAKE_CASE						= activation_function
						SCREAMING_SNAKE_CASE						= init_std
						SCREAMING_SNAKE_CASE						= encoder_layerdrop
						SCREAMING_SNAKE_CASE						= decoder_layerdrop
						SCREAMING_SNAKE_CASE						= use_cache
						SCREAMING_SNAKE_CASE						= encoder_layers
						SCREAMING_SNAKE_CASE						= scale_embedding  # scale factor will be sqrt(d_model) if True
						super().__init__(
						    pad_token_id=a		,					eos_token_id=a		,					is_encoder_decoder=a		,					decoder_start_token_id=a		,					forced_eos_token_id=a		,					**a		,					)






			@property
			def    SCREAMING_SNAKE_CASE__    (       self)      ->       int:
						return self.encoder_attention_heads







			@property
			def    SCREAMING_SNAKE_CASE__    (       self)      ->       int:
						return self.d_model












# tests directory-specific settings - this file is run automatically
# by pytest before any tests are run

import doctest
import sys
import warnings
from os.path import abspath, dirname, join

import _pytest

from transformers.testing_utils import HfDoctestModule, HfDocTestParser


# allow having multiple repository checkouts and not needing to remember to rerun
# 'pip install -e .[dev]' when switching between checkouts and running tests.
a_		:						List[str]             =    abspath(join(dirname(__file__), 'src'))
sys.path.insert(1, git_repo_path)

# silence FutureWarning warnings in tests since often we can't act on them until
# they become normal warnings - i.e. the tests still need to test the current functionality
warnings.simplefilter(action='ignore', category=FutureWarning)






def 				lowerCamelCase__				(_UpperCAmelCase):
			config.addinivalue_line(
			    'markers'							,       'is_pt_tf_cross_test: mark test to run only when PT and TF interactions are tested')
			config.addinivalue_line(
			    'markers'							,       'is_pt_flax_cross_test: mark test to run only when PT and FLAX interactions are tested')
			config.addinivalue_line('markers'							,       'is_pipeline_test: mark test to run only when pipelines are tested')
			config.addinivalue_line('markers'							,       'is_staging_test: mark test to run only in the staging environment')
			config.addinivalue_line('markers'							,       'accelerate_tests: mark test that require accelerate')
			config.addinivalue_line('markers'							,       'tool_tests: mark the tool tests that are run on their specific schedule')






def 				lowerCamelCase__				(_UpperCAmelCase):
			from transformers.testing_utils import pytest_addoption_shared

			pytest_addoption_shared(_UpperCAmelCase)






def 				lowerCamelCase__				(_UpperCAmelCase):
			from transformers.testing_utils import pytest_terminal_summary_main

			SCREAMING_SNAKE_CASE						= terminalreporter.config.getoption('--make-reports')
			if make_reports:
						pytest_terminal_summary_main(_UpperCAmelCase							,       id=_UpperCAmelCase)






def 				lowerCamelCase__				(_UpperCAmelCase							,       _UpperCAmelCase):
			# If no tests are collected, pytest exists with code 5, which makes the CI fail.
			if exitstatus == 5:
						SCREAMING_SNAKE_CASE						= 0


# Doctest custom flag to ignore output.
a_		:						List[Any]             =    doctest.register_optionflag('IGNORE_RESULT')

a_		:						Any             =    doctest.OutputChecker

class 		_snake_case  (  A__					):






			def    SCREAMING_SNAKE_CASE__    (       self		,					a		,					a		,					a)      ->       List[Any]:
						if IGNORE_RESULT & optionflags:
									return True
						return OutputChecker.check_output(self		,					a		,					a		,					a)



a_		:						int             =    CustomOutputChecker
a_		:						List[str]             =    HfDoctestModule







a_		:						Optional[int]             =    HfDocTestParser




