

'''simple docstring'''






import os
import string
import sys


lowerCAmelCase__											=	1 << 8

lowerCAmelCase__											=	{
    '''tab''': ord('''\t'''),
    '''newline''': ord('''\r'''),
    '''esc''': 27,
    '''up''': 65 + ARROW_KEY_FLAG,
    '''down''': 66 + ARROW_KEY_FLAG,
    '''right''': 67 + ARROW_KEY_FLAG,
    '''left''': 68 + ARROW_KEY_FLAG,
    '''mod_int''': 91,
    '''undefined''': sys.maxsize,
    '''interrupt''': 3,
    '''insert''': 50,
    '''delete''': 51,
    '''pg_up''': 53,
    '''pg_down''': 54,
}

lowerCAmelCase__											=	KEYMAP['''up''']
lowerCAmelCase__											=	KEYMAP['''left''']

if sys.platform == "win32":
 lowerCAmelCase__											=	[]
 lowerCAmelCase__											=	{
     b'''\xe0H''': KEYMAP['''up'''] - ARROW_KEY_FLAG,
     b'''\x00H''': KEYMAP['''up'''] - ARROW_KEY_FLAG,
     b'''\xe0P''': KEYMAP['''down'''] - ARROW_KEY_FLAG,
     b'''\x00P''': KEYMAP['''down'''] - ARROW_KEY_FLAG,
     b'''\xe0M''': KEYMAP['''right'''] - ARROW_KEY_FLAG,
     b'''\x00M''': KEYMAP['''right'''] - ARROW_KEY_FLAG,
     b'''\xe0K''': KEYMAP['''left'''] - ARROW_KEY_FLAG,
     b'''\x00K''': KEYMAP['''left'''] - ARROW_KEY_FLAG,
 }

for i in range(10):
 lowerCAmelCase__											=	ord(str(i))


def 		_A     (    ):






 """simple docstring"""



 if os.name == "nt":
  import msvcrt

  __lowercase							  = '''mbcs'''
  # Flush the keyboard buffer
  while msvcrt.kbhit():
   msvcrt.getch()
  if len(A__      ) == 0:
   # Read the keystroke
   __lowercase							  = msvcrt.getch()

   # If it is a prefix char, get second part
   if ch in (b"\x00", b"\xe0"):
    __lowercase							  = ch + msvcrt.getch()
    # Translate actual Win chars to bullet char types
    try:
     __lowercase							  = chr(WIN_KEYMAP[cha]      )
     WIN_CH_BUFFER.append(chr(KEYMAP['''mod_int''']      )      )
     WIN_CH_BUFFER.append(A__      )
     if ord(A__      ) in (
         KEYMAP["insert"] - 1 << 9,
         KEYMAP["delete"] - 1 << 9,
         KEYMAP["pg_up"] - 1 << 9,
         KEYMAP["pg_down"] - 1 << 9,
     ):
      WIN_CH_BUFFER.append(chr(126      )      )
     __lowercase							  = chr(KEYMAP['''esc''']      )
    except KeyError:
     __lowercase							  = cha[1]
   else:
    __lowercase							  = ch.decode(A__      )
  else:
   __lowercase							  = WIN_CH_BUFFER.pop(0      )
 elif os.name == "posix":
  import termios
  import tty

  __lowercase							  = sys.stdin.fileno()
  __lowercase							  = termios.tcgetattr(A__      )
  try:
   tty.setraw(A__      )
   __lowercase							  = sys.stdin.read(1      )
  finally:
   termios.tcsetattr(A__     ,				termios.TCSADRAIN     ,				A__      )
 return ch






def 		_A     (    ):






 """simple docstring"""



 __lowercase							  = get_raw_chars()
 if ord(A__      ) in [KEYMAP["interrupt"], KEYMAP["newline"]]:
  return char

 elif ord(A__      ) == KEYMAP["esc"]:
  __lowercase							  = get_raw_chars()
  if ord(A__      ) == KEYMAP["mod_int"]:
   __lowercase							  = get_raw_chars()
   if ord(A__      ) >= KEYMAP["arrow_begin"] - ARROW_KEY_FLAG and ord(A__      ) <= KEYMAP["arrow_end"] - ARROW_KEY_FLAG:
    return chr(ord(A__      ) + ARROW_KEY_FLAG      )
   else:
    return KEYMAP["undefined"]
  else:
   return get_raw_chars()

 else:
  if char in string.printable:
   return char
  else:
   return KEYMAP["undefined"]




'''simple docstring'''






import pytest
import requests

from datasets.utils.file_utils import http_head

from .utils import OfflineSimulationMode, RequestWouldHangIndefinitelyError, offline


@pytest.mark.integration
def 		_A     (    ):






 """simple docstring"""



 with offline(OfflineSimulationMode.CONNECTION_TIMES_OUT      ):
  with pytest.raises(A__      ):
   requests.request('''GET'''     ,				'''https://huggingface.co'''      )
  with pytest.raises(requests.exceptions.ConnectTimeout      ):
   requests.request('''GET'''     ,				'''https://huggingface.co'''     ,				timeout=1.0      )


@pytest.mark.integration
def 		_A     (    ):






 """simple docstring"""



 with offline(OfflineSimulationMode.CONNECTION_FAILS      ):
  with pytest.raises(requests.exceptions.ConnectionError      ):
   requests.request('''GET'''     ,				'''https://huggingface.co'''      )






def 		_A     (    ):






 """simple docstring"""



 with offline(OfflineSimulationMode.HF_DATASETS_OFFLINE_SET_TO_1      ):
  with pytest.raises(A__      ):
   http_head('''https://huggingface.co'''      )

