code: 
  '''simple docstring'''
  
  import importlib
  import inspect
  from functools import wraps
  from typing import TYPE_CHECKING, Optional, Union
  
  from .download.streaming_download_manager import (
      xbasename,
      xdirname,
      xet_parse,
      xexists,
      xgetsize,
      xglob,
      xgzip_open,
      xisdir,
      xisfile,
      xjoin,
      xlistdir,
      xnumpy_load,
      xopen,
      xpandas_read_csv,
      xpandas_read_excel,
      xPath,
      xrelpath,
      xsio_loadmat,
      xsplit,
      xsplitext,
      xwalk,
      xxml_dom_minidom_parse,
  )
  from .utils.logging import get_logger
  from .utils.patching import patch_submodule
  from .utils.py_utils import get_imports
  
  
  _UpperCAmelCase   :      Any 						=  get_logger(__name__)
  
  
  if TYPE_CHECKING:
  	from .builder import DatasetBuilder
  
  
  
  
  
  
  
  def 						snake_case__	(      UpperCamelCase			,UpperCamelCase = None	) ->      int:
  		_UpperCamelCase       : Optional[Any]    =      importlib.import_module(UpperCamelCase	)
  
  		# TODO(QL): always update the module to add subsequent new authentication
  		if hasattr(UpperCamelCase			,'''_patched_for_streaming'''	) and module._patched_for_streaming:
  				return
  
  		def wrap_auth(UpperCamelCase	):
  				@wraps(UpperCamelCase	)
  				def wrapper(*UpperCamelCase			,**UpperCamelCase	):
  						return function(*UpperCamelCase			,use_auth_token=UpperCamelCase			,**UpperCamelCase	)
  
  				_UpperCamelCase       : List[str]    =      '''wrap_auth'''
  				return wrapper
  
  		# open files in a streaming fashion
  		patch_submodule(UpperCamelCase			,'''open'''			,wrap_auth(UpperCamelCase	)	).start()
  		patch_submodule(UpperCamelCase			,'''os.listdir'''			,wrap_auth(UpperCamelCase	)	).start()
  		patch_submodule(UpperCamelCase			,'''os.walk'''			,wrap_auth(UpperCamelCase	)	).start()
  		patch_submodule(UpperCamelCase			,'''glob.glob'''			,wrap_auth(UpperCamelCase	)	).start()
  		# allow to navigate in remote zip files
  		patch_submodule(UpperCamelCase			,'''os.path.join'''			,UpperCamelCase	).start()
  		patch_submodule(UpperCamelCase			,'''os.path.dirname'''			,UpperCamelCase	).start()
  		patch_submodule(UpperCamelCase			,'''os.path.basename'''			,UpperCamelCase	).start()
  		patch_submodule(UpperCamelCase			,'''os.path.relpath'''			,UpperCamelCase	).start()
  		patch_submodule(UpperCamelCase			,'''os.path.split'''			,UpperCamelCase	).start()
  		patch_submodule(UpperCamelCase			,'''os.path.splitext'''			,UpperCamelCase	).start()
  		# allow checks on paths
  		patch_submodule(UpperCamelCase			,'''os.path.exists'''			,wrap_auth(UpperCamelCase	)	).start()
  		patch_submodule(UpperCamelCase			,'''os.path.isdir'''			,wrap_auth(UpperCamelCase	)	).start()
  		patch_submodule(UpperCamelCase			,'''os.path.isfile'''			,wrap_auth(UpperCamelCase	)	).start()
  		patch_submodule(UpperCamelCase			,'''os.path.getsize'''			,wrap_auth(UpperCamelCase	)	).start()
  		patch_submodule(UpperCamelCase			,'''pathlib.Path'''			,UpperCamelCase	).start()
  		# file readers
  		patch_submodule(UpperCamelCase			,'''gzip.open'''			,wrap_auth(UpperCamelCase	)	).start()
  		patch_submodule(UpperCamelCase			,'''numpy.load'''			,wrap_auth(UpperCamelCase	)	).start()
  		patch_submodule(UpperCamelCase			,'''pandas.read_csv'''			,wrap_auth(UpperCamelCase	)			,attrs=['''__version__''']	).start()
  		patch_submodule(UpperCamelCase			,'''pandas.read_excel'''			,wrap_auth(UpperCamelCase	)			,attrs=['''__version__''']	).start()
  		patch_submodule(UpperCamelCase			,'''scipy.io.loadmat'''			,wrap_auth(UpperCamelCase	)			,attrs=['''__version__''']	).start()
  		patch_submodule(UpperCamelCase			,'''xml.etree.ElementTree.parse'''			,wrap_auth(UpperCamelCase	)	).start()
  		patch_submodule(UpperCamelCase			,'''xml.dom.minidom.parse'''			,wrap_auth(UpperCamelCase	)	).start()
  		_UpperCamelCase       : Any    =      True
  
  
  
  
  
  
  
  def 						snake_case__	(      UpperCamelCase	) ->      Optional[Any]:
  		extend_module_for_streaming(builder.__module__			,use_auth_token=builder.use_auth_token	)
  		# if needed, we also have to extend additional internal imports (like wmt14 -> wmt_utils)
  		if not builder.__module__.startswith('''datasets.'''	):  # check that it's not a packaged builder like csv
  				for imports in get_imports(inspect.getfile(builder.__class__	)	):
  						if imports[0] == "internal":
  								_UpperCamelCase       : List[str]    =      imports[1]
  								_UpperCamelCase       : Union[str, Any]    =      '''.'''.join(builder.__module__.split('''.'''	)[:-1] + [internal_import_name]	)
  								extend_module_for_streaming(UpperCamelCase			,use_auth_token=builder.use_auth_token	)
  
      # builders can inherit from other builders that might use streaming functionality
      # (for example, ImageFolder and AudioFolder inherit from FolderBuilder which implements examples generation)
      # but these parents builders are not patched automatically as they are not instantiated, so we patch them here
  		from .builder import DatasetBuilder
  
  		_UpperCamelCase       : Union[str, Any]    =      [
  		    cls.__module__
  		    for cls in type(UpperCamelCase	).__mro__[1:]  # make sure it's not the same module we've already patched
  		    if issubclass(cls			,UpperCamelCase	) and cls.__module__ != DatasetBuilder.__module__
  		]  # check it's not a standard builder from datasets.builder
  		for module in parent_builder_modules:
  				extend_module_for_streaming(UpperCamelCase			,use_auth_token=builder.use_auth_token	)
  
  
  
  
  
style_context: 
  '''simple docstring'''
  
  import warnings
  
  from ...utils import logging
  from .image_processing_mobilenet_va import MobileNetVaImageProcessor
  
  
  _UpperCAmelCase   :      Optional[int] 						=  logging.get_logger(__name__)
  
  class 			UpperCAmelCase				(					a_ ):
  
  
  
  
  
  		"""simple docstring"""
  
  
  
  
  
  		def __init__(    self  ,					*_snake_case  ,					**_snake_case     )				->    None:
  				warnings.warn(
  				    '''The class MobileNetV2FeatureExtractor is deprecated and will be removed in version 5 of Transformers.'''
  				    ''' Please use MobileNetV2ImageProcessor instead.'''  ,					_snake_case  ,					)
  				super().__init__(*_snake_case  ,					**_snake_case     )
  
  
  
  
  
  