from __future__ import annotations






def 				__lowerCamelCase		(						lowerCAmelCase__ = 4     ):
       lowerCAmelCase__					     = abs(lowerCAmelCase__     ) or 4
       return [[1 + x + y * row_size for x in range(lowerCAmelCase__     )] for y in range(lowerCAmelCase__     )]






def 				__lowerCamelCase		(						lowerCAmelCase__     ):
       return reverse_row(transpose(lowerCAmelCase__     )     )
       # OR.. transpose(reverse_column(matrix))






def 				__lowerCamelCase		(						lowerCAmelCase__     ):
       return reverse_row(reverse_column(lowerCAmelCase__     )     )
       # OR.. reverse_column(reverse_row(matrix))






def 				__lowerCamelCase		(						lowerCAmelCase__     ):
       return reverse_column(transpose(lowerCAmelCase__     )     )
       # OR.. transpose(reverse_row(matrix))






def 				__lowerCamelCase		(						lowerCAmelCase__     ):
       lowerCAmelCase__					     = [list(lowerCAmelCase__     ) for x in zip(*lowerCAmelCase__     )]
       return matrix






def 				__lowerCamelCase		(						lowerCAmelCase__     ):
       lowerCAmelCase__					     = matrix[::-1]
       return matrix






def 				__lowerCamelCase		(						lowerCAmelCase__     ):
       lowerCAmelCase__					     = [x[::-1] for x in matrix]
       return matrix






def 				__lowerCamelCase		(						lowerCAmelCase__     ):
       for i in matrix:
              print(*lowerCAmelCase__     )


if __name__ == "__main__":
    lowerCAmelCase__     						=			make_matrix()
    print('\norigin:\n')
    print_matrix(matrix)
    print('\nrotate 90 counterclockwise:\n')
    print_matrix(rotate_aa(matrix))

    lowerCAmelCase__     						=			make_matrix()
    print('\norigin:\n')
    print_matrix(matrix)
    print('\nrotate 180:\n')
    print_matrix(rotate_aaa(matrix))

    lowerCAmelCase__     						=			make_matrix()
    print('\norigin:\n')
    print_matrix(matrix)
    print('\nrotate 270 counterclockwise:\n')
    print_matrix(rotate_aaa(matrix))

from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_tf_available, is_torch_available


lowerCAmelCase__     						=			{
    'configuration_transfo_xl': ['TRANSFO_XL_PRETRAINED_CONFIG_ARCHIVE_MAP', 'TransfoXLConfig'],
    'tokenization_transfo_xl': ['TransfoXLCorpus', 'TransfoXLTokenizer'],
}

try:
    if not is_torch_available():
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
    pass
else:
    lowerCAmelCase__     						=			[
        'TRANSFO_XL_PRETRAINED_MODEL_ARCHIVE_LIST',
        'AdaptiveEmbedding',
        'TransfoXLForSequenceClassification',
        'TransfoXLLMHeadModel',
        'TransfoXLModel',
        'TransfoXLPreTrainedModel',
        'load_tf_weights_in_transfo_xl',
    ]

try:
    if not is_tf_available():
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
    pass
else:
    lowerCAmelCase__     						=			[
        'TF_TRANSFO_XL_PRETRAINED_MODEL_ARCHIVE_LIST',
        'TFAdaptiveEmbedding',
        'TFTransfoXLForSequenceClassification',
        'TFTransfoXLLMHeadModel',
        'TFTransfoXLMainLayer',
        'TFTransfoXLModel',
        'TFTransfoXLPreTrainedModel',
    ]


if TYPE_CHECKING:
    from .configuration_transfo_xl import TRANSFO_XL_PRETRAINED_CONFIG_ARCHIVE_MAP, TransfoXLConfig
    from .tokenization_transfo_xl import TransfoXLCorpus, TransfoXLTokenizer

    try:
        if not is_torch_available():
            raise OptionalDependencyNotAvailable()
    except OptionalDependencyNotAvailable:
        pass
    else:
        from .modeling_transfo_xl import (
            TRANSFO_XL_PRETRAINED_MODEL_ARCHIVE_LIST,
            AdaptiveEmbedding,
            TransfoXLForSequenceClassification,
            TransfoXLLMHeadModel,
            TransfoXLModel,
            TransfoXLPreTrainedModel,
            load_tf_weights_in_transfo_xl,
        )

    try:
        if not is_tf_available():
            raise OptionalDependencyNotAvailable()
    except OptionalDependencyNotAvailable:
        pass
    else:
        from .modeling_tf_transfo_xl import (
            TF_TRANSFO_XL_PRETRAINED_MODEL_ARCHIVE_LIST,
            TFAdaptiveEmbedding,
            TFTransfoXLForSequenceClassification,
            TFTransfoXLLMHeadModel,
            TFTransfoXLMainLayer,
            TFTransfoXLModel,
            TFTransfoXLPreTrainedModel,
        )

else:
    import sys

    lowerCAmelCase__     						=			_LazyModule(__name__, globals()['__file__'], _import_structure, module_spec=__spec__)
