Delete data/ammons_classical_grammar.pdf

#2
This view is limited to 50 files because it contains too many changes.  See the raw diff here.
Files changed (50) hide show
  1. .gitignore +0 -9
  2. app.py +154 -146
  3. venv/lib/python3.11/site-packages/distutils-precedence.pth → data/Ammons_opinion_on_the_church.pdf +2 -2
  4. data/The_Final_Rite_.pdf +0 -0
  5. data/ammons_history_of_greek_language.pdf +3 -0
  6. data/ammons_muse.txt +0 -0
  7. images/apple-touch-icon.png +0 -0
  8. original +0 -100
  9. style.css +0 -78
  10. styles.css +93 -0
  11. venv/bin/Activate.ps1 +0 -247
  12. venv/bin/activate +0 -69
  13. venv/bin/activate.csh +0 -26
  14. venv/bin/activate.fish +0 -69
  15. venv/bin/pip +0 -8
  16. venv/bin/pip3 +0 -8
  17. venv/bin/pip3.11 +0 -8
  18. venv/bin/python +0 -1
  19. venv/bin/python3 +0 -1
  20. venv/bin/python3.11 +0 -1
  21. venv/lib/python3.11/site-packages/_distutils_hack/__init__.py +0 -222
  22. venv/lib/python3.11/site-packages/_distutils_hack/__pycache__/__init__.cpython-311.pyc +0 -0
  23. venv/lib/python3.11/site-packages/_distutils_hack/__pycache__/override.cpython-311.pyc +0 -0
  24. venv/lib/python3.11/site-packages/_distutils_hack/override.py +0 -1
  25. venv/lib/python3.11/site-packages/pip-23.0.1.dist-info/INSTALLER +0 -1
  26. venv/lib/python3.11/site-packages/pip-23.0.1.dist-info/LICENSE.txt +0 -20
  27. venv/lib/python3.11/site-packages/pip-23.0.1.dist-info/METADATA +0 -88
  28. venv/lib/python3.11/site-packages/pip-23.0.1.dist-info/RECORD +0 -996
  29. venv/lib/python3.11/site-packages/pip-23.0.1.dist-info/REQUESTED +0 -0
  30. venv/lib/python3.11/site-packages/pip-23.0.1.dist-info/WHEEL +0 -5
  31. venv/lib/python3.11/site-packages/pip-23.0.1.dist-info/entry_points.txt +0 -4
  32. venv/lib/python3.11/site-packages/pip-23.0.1.dist-info/top_level.txt +0 -1
  33. venv/lib/python3.11/site-packages/pip/__init__.py +0 -13
  34. venv/lib/python3.11/site-packages/pip/__main__.py +0 -31
  35. venv/lib/python3.11/site-packages/pip/__pip-runner__.py +0 -50
  36. venv/lib/python3.11/site-packages/pip/__pycache__/__init__.cpython-311.pyc +0 -0
  37. venv/lib/python3.11/site-packages/pip/__pycache__/__main__.cpython-311.pyc +0 -0
  38. venv/lib/python3.11/site-packages/pip/__pycache__/__pip-runner__.cpython-311.pyc +0 -0
  39. venv/lib/python3.11/site-packages/pip/_internal/__init__.py +0 -19
  40. venv/lib/python3.11/site-packages/pip/_internal/__pycache__/__init__.cpython-311.pyc +0 -0
  41. venv/lib/python3.11/site-packages/pip/_internal/__pycache__/build_env.cpython-311.pyc +0 -0
  42. venv/lib/python3.11/site-packages/pip/_internal/__pycache__/cache.cpython-311.pyc +0 -0
  43. venv/lib/python3.11/site-packages/pip/_internal/__pycache__/configuration.cpython-311.pyc +0 -0
  44. venv/lib/python3.11/site-packages/pip/_internal/__pycache__/exceptions.cpython-311.pyc +0 -0
  45. venv/lib/python3.11/site-packages/pip/_internal/__pycache__/main.cpython-311.pyc +0 -0
  46. venv/lib/python3.11/site-packages/pip/_internal/__pycache__/pyproject.cpython-311.pyc +0 -0
  47. venv/lib/python3.11/site-packages/pip/_internal/__pycache__/self_outdated_check.cpython-311.pyc +0 -0
  48. venv/lib/python3.11/site-packages/pip/_internal/__pycache__/wheel_builder.cpython-311.pyc +0 -0
  49. venv/lib/python3.11/site-packages/pip/_internal/build_env.py +0 -311
  50. venv/lib/python3.11/site-packages/pip/_internal/cache.py +0 -293
.gitignore DELETED
@@ -1,9 +0,0 @@
1
- node_modules/
2
- .env
3
- .DS_Store
4
- TODO.md
5
- .prompts.md
6
- original
7
- .db_v1
8
-
9
-
 
 
 
 
 
 
 
 
 
 
app.py CHANGED
@@ -1,30 +1,15 @@
1
  import streamlit as st
2
- from llama_index.core import StorageContext, load_index_from_storage, VectorStoreIndex, SimpleDirectoryReader, ChatPromptTemplate, Settings
3
  from llama_index.llms.huggingface import HuggingFaceInferenceAPI
4
  from dotenv import load_dotenv
5
  from llama_index.embeddings.huggingface import HuggingFaceEmbedding
 
6
  import os
7
  import base64
8
 
9
  # Load environment variables
10
  load_dotenv()
11
 
12
- # Hide specific Hugging Face embed elements
13
- hide_streamlit_style = """
14
- <style>
15
- #stDecoration {
16
- display: none;
17
- }
18
- [data-testid="stToolbar"] {
19
- display: none;
20
- }
21
- .st-emotion-cache-10trblm {
22
- text-align: center;
23
- }
24
- </style>
25
- """
26
- st.markdown(hide_streamlit_style, unsafe_allow_html=True)
27
-
28
  # Configure the Llama index settings
29
  Settings.llm = HuggingFaceInferenceAPI(
30
  model_name="google/gemma-1.1-7b-it",
@@ -46,155 +31,178 @@ DATA_DIR = "data"
46
  os.makedirs(DATA_DIR, exist_ok=True)
47
  os.makedirs(PERSIST_DIR, exist_ok=True)
48
 
49
- # Messages for various app states and interactions
50
- APP_TITLE = "📚 The Temple"
51
- APP_SUBTITLE = "Know thy self"
52
- WELCOME_MESSAGE = "Welcome to the Temple."
53
- LOADING_PDFS = "The Lady is Brewing the Christ..."
54
- PDFS_LOADED = "📚 She is ready, you may enter Initiate !"
55
- CONTEMPLATING = "The Lady sips from her cup and communes with the gods..."
56
- CHAT_PLACEHOLDER = "You may ask about the Muse:"
57
-
58
- # Custom CSS to match the provided color scheme
59
- st.markdown("""
60
- <style>
61
- .main {
62
- background-color: #f4e6c0;
63
- color: #2a2018;
64
- }
65
- .stApp {
66
- max-width: 800px;
67
- margin: 0 auto;
68
- }
69
- h1 {
70
- color: #5d0076;
71
- }
72
- h2, h3 {
73
- color: #4a2500;
74
- }
75
- .stTextInput > div > div > input {
76
- background-color: rgba(249, 243, 227, 0.95);
77
- color: #4a0e4e;
78
- border: 1px solid rgba(128, 0, 128, 0.2);
79
- }
80
- .stTextInput > div > div > input::placeholder {
81
- color: #8a4b8e;
82
- }
83
- .stChatMessage {
84
- background-color: rgba(249, 243, 227, 0.95);
85
- border-radius: 10px;
86
- padding: 10px;
87
- margin-bottom: 10px;
88
- border: 1px solid rgba(128, 0, 128, 0.2);
89
- box-shadow: 0 2px 4px rgba(128, 0, 128, 0.05);
90
- }
91
- .stChatMessage [data-testid="stMarkdownContainer"] p {
92
- color: #2a2018;
93
- }
94
- .stButton > button {
95
- background-color: rgba(210, 180, 140, 0.95);
96
- color: #5d0076;
97
- }
98
- .stButton > button:hover {
99
- background-color: rgba(128, 0, 128, 0.1);
100
- color: #5d0076;
101
- }
102
- .stSpinner > div > div {
103
- border-top-color: #5d0076 !important;
104
- }
105
- a {
106
- color: #5d0076;
107
- }
108
- a:hover {
109
- color: #8b008b;
110
- }
111
- /* Hide the "running" indicator */
112
- .st-emotion-cache-1gulkj7 {
113
- display: none !important;
114
- }
115
- /* Hide the top-right menu button */
116
- .st-emotion-cache-r421ms {
117
- display: none !important;
118
- }
119
- /* Hide the bottom-right "Made with Streamlit" watermark */
120
- .st-emotion-cache-h5rgaw {
121
- display: none !important;
122
- }
123
- /* Hide the hamburger menu */
124
- .st-emotion-cache-1dp5vir {
125
- display: none !important;
126
- }
127
- /* Additional styles to remove top padding and streamlit branding */
128
- .st-emotion-cache-18ni7ap {
129
- padding-top: 0 !important;
130
- }
131
- .st-emotion-cache-1wbqy5l {
132
- visibility: hidden !important;
133
- }
134
- /* Hide the element with class "st-emotion-cache-iiif1v ef3psqc4" */
135
- .st-emotion-cache-iiif1v.ef3psqc4 {
136
- display: none !important;
137
- }
138
- </style>
139
- """, unsafe_allow_html=True)
140
 
141
- def load_or_create_index():
 
 
 
 
 
 
142
  documents = SimpleDirectoryReader(DATA_DIR).load_data()
143
- if os.path.exists(PERSIST_DIR) and len(os.listdir(PERSIST_DIR)) > 0:
144
- storage_context = StorageContext.from_defaults(persist_dir=PERSIST_DIR)
145
- index = load_index_from_storage(storage_context)
146
- # Update the index with new documents
147
- for doc in documents:
148
- index.insert(doc)
149
- else:
150
- index = VectorStoreIndex.from_documents(documents)
151
-
152
  index.storage_context.persist(persist_dir=PERSIST_DIR)
153
- return index
154
 
155
  def handle_query(query):
 
 
156
  chat_text_qa_msgs = [
157
- ("user", """You are a Q&A assistant named "The Muse". Your goal is to provide answers roleplaying as an ancient priestess of greek mythology. You reply as accurately as possible, based on the instructions and context you have been given. If a question does not match the provided context or is outside the scope of the document, kindly advise the user to ask questions within the context of the the sacred arts and language.
 
 
158
  Context:
159
  {context_str}
160
  Question:
161
  {query_str}
162
- """)
 
163
  ]
164
  text_qa_template = ChatPromptTemplate.from_messages(chat_text_qa_msgs)
165
- query_engine = st.session_state.index.as_query_engine(text_qa_template=text_qa_template)
166
- response = query_engine.query(query)
167
 
168
- if hasattr(response, 'response'):
169
- return str(response.response)
170
- elif isinstance(response, dict) and 'response' in response:
171
- return str(response['response'])
 
 
 
172
  else:
173
- return str(response)
174
 
175
- # Streamlit app initialization
176
- st.title(APP_TITLE)
177
- st.markdown(APP_SUBTITLE)
 
 
 
 
 
 
 
178
 
179
- if 'messages' not in st.session_state:
180
- st.session_state.messages = [{'role': 'assistant', "content": WELCOME_MESSAGE}]
 
 
 
 
 
 
181
 
182
- with st.spinner(LOADING_PDFS):
183
- st.session_state.index = load_or_create_index()
184
- st.success(PDFS_LOADED)
 
 
 
 
 
 
 
 
 
 
 
 
185
 
186
- st.markdown("---")
 
 
187
 
188
- # Chat interface
189
- for message in st.session_state.messages:
190
- with st.chat_message(message['role'], avatar="images/apple-touch-icon.png" if message['role'] == 'assistant' else None):
191
- st.write(message['content'])
 
 
192
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
193
 
194
- user_prompt = st.chat_input(CHAT_PLACEHOLDER)
195
  if user_prompt:
196
  st.session_state.messages.append({'role': 'user', "content": user_prompt})
197
- with st.spinner(CONTEMPLATING):
198
- response = handle_query(user_prompt)
199
- st.session_state.messages.append({'role': 'assistant', "content": response})
200
- st.experimental_rerun()
 
1
  import streamlit as st
2
+ from llama_index.core import StorageContext, load_index_from_storage, VectorStoreIndex, SimpleDirectoryReader, ChatPromptTemplate
3
  from llama_index.llms.huggingface import HuggingFaceInferenceAPI
4
  from dotenv import load_dotenv
5
  from llama_index.embeddings.huggingface import HuggingFaceEmbedding
6
+ from llama_index.core import Settings
7
  import os
8
  import base64
9
 
10
  # Load environment variables
11
  load_dotenv()
12
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
13
  # Configure the Llama index settings
14
  Settings.llm = HuggingFaceInferenceAPI(
15
  model_name="google/gemma-1.1-7b-it",
 
31
  os.makedirs(DATA_DIR, exist_ok=True)
32
  os.makedirs(PERSIST_DIR, exist_ok=True)
33
 
34
+ # List preloaded PDFs
35
+ PRELOADED_PDFS = [f for f in os.listdir(DATA_DIR) if f.endswith('.pdf')]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
36
 
37
+ def displayPDF(file):
38
+ with open(file, "rb") as f:
39
+ base64_pdf = base64.b64encode(f.read()).decode('utf-8')
40
+ pdf_display = f'<iframe src="data:application/pdf;base64,{base64_pdf}" width="100%" height="600" type="application/pdf"></iframe>'
41
+ st.markdown(pdf_display, unsafe_allow_html=True)
42
+
43
+ def data_ingestion():
44
  documents = SimpleDirectoryReader(DATA_DIR).load_data()
45
+ storage_context = StorageContext.from_defaults()
46
+ index = VectorStoreIndex.from_documents(documents)
 
 
 
 
 
 
 
47
  index.storage_context.persist(persist_dir=PERSIST_DIR)
 
48
 
49
  def handle_query(query):
50
+ storage_context = StorageContext.from_defaults(persist_dir=PERSIST_DIR)
51
+ index = load_index_from_storage(storage_context)
52
  chat_text_qa_msgs = [
53
+ (
54
+ "user",
55
+ """You are a Q&A assistant named CHATTO, created by Rishi. You have a specific response programmed for when users specifically ask about your creator, Rishi. The response is: "I was created by Rishi, an enthusiast in Artificial Intelligence. He is dedicated to solving complex problems and delivering innovative solutions. With a strong focus on machine learning, deep learning, Python, generative AI, NLP, and computer vision, Rishi is passionate about pushing the boundaries of AI to explore new possibilities." For all other inquiries, your main goal is to provide answers as accurately as possible, based on the instructions and context you have been given. If a question does not match the provided context or is outside the scope of the document, kindly advise the user to ask questions within the context of the document.
56
  Context:
57
  {context_str}
58
  Question:
59
  {query_str}
60
+ """
61
+ )
62
  ]
63
  text_qa_template = ChatPromptTemplate.from_messages(chat_text_qa_msgs)
 
 
64
 
65
+ query_engine = index.as_query_engine(text_qa_template=text_qa_template)
66
+ answer = query_engine.query(query)
67
+
68
+ if hasattr(answer, 'response'):
69
+ return answer.response
70
+ elif isinstance(answer, dict) and 'response' in answer:
71
+ return answer['response']
72
  else:
73
+ return "Sorry, I couldn't find an answer."
74
 
75
+ # Custom HTML and CSS
76
+ custom_html_css = """
77
+ <style>
78
+ /* General styles */
79
+ body {
80
+ font-family: Arial, sans-serif;
81
+ line-height: 1.6;
82
+ color: #333;
83
+ background-color: #f4f4f4;
84
+ }
85
 
86
+ /* Streamlit container */
87
+ .stApp {
88
+ max-width: 1200px;
89
+ margin: 0 auto;
90
+ padding: 20px;
91
+ background-color: #ffffff;
92
+ box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
93
+ }
94
 
95
+ /* Header styles */
96
+ h1, h2, h3 {
97
+ color: #2c3e50;
98
+ }
99
+
100
+ /* Button styles */
101
+ .stButton > button {
102
+ background-color: #3498db;
103
+ color: white;
104
+ border: none;
105
+ padding: 10px 20px;
106
+ border-radius: 5px;
107
+ cursor: pointer;
108
+ transition: background-color 0.3s ease;
109
+ }
110
 
111
+ .stButton > button:hover {
112
+ background-color: #2980b9;
113
+ }
114
 
115
+ /* Input field styles */
116
+ .stTextInput > div > div > input {
117
+ border: 1px solid #bdc3c7;
118
+ border-radius: 5px;
119
+ padding: 10px;
120
+ }
121
 
122
+ /* Chat message styles */
123
+ .stChatMessage {
124
+ padding: 10px;
125
+ margin-bottom: 10px;
126
+ border-radius: 5px;
127
+ }
128
+
129
+ .stChatMessage.user {
130
+ background-color: #e8f4f8;
131
+ }
132
+
133
+ .stChatMessage.assistant {
134
+ background-color: #f0f0f0;
135
+ }
136
+
137
+ /* Hugging Face Space container */
138
+ .hf-space-container {
139
+ border: 2px solid #3498db;
140
+ border-radius: 10px;
141
+ overflow: hidden;
142
+ margin-top: 20px;
143
+ }
144
+
145
+ /* Iframe styles */
146
+ iframe {
147
+ width: 100%;
148
+ height: 800px;
149
+ border: none;
150
+ }
151
+
152
+ /* Spinner styles */
153
+ .stSpinner > div {
154
+ border-top-color: #3498db !important;
155
+ }
156
+
157
+ /* Sidebar styles */
158
+ .css-1d391kg {
159
+ background-color: #2c3e50;
160
+ color: white;
161
+ }
162
+
163
+ /* Footer styles */
164
+ footer {
165
+ text-align: center;
166
+ margin-top: 20px;
167
+ padding: 10px;
168
+ background-color: #34495e;
169
+ color: white;
170
+ }
171
+ </style>
172
+ """
173
+
174
+ # Inject custom HTML and CSS
175
+ st.markdown(custom_html_css, unsafe_allow_html=True)
176
+
177
+ # Streamlit app initialization
178
+ st.title("(PDF) Information and Inference")
179
+ st.markdown("Retrieval-Augmented Generation")
180
+
181
+ # Automatically load all PDFs from the data directory
182
+ if 'pdfs_loaded' not in st.session_state:
183
+ with st.spinner("Loading PDFs..."):
184
+ data_ingestion()
185
+ st.session_state.pdfs_loaded = True
186
+
187
+ if 'messages' not in st.session_state:
188
+ preloaded_pdfs_list = ", ".join(PRELOADED_PDFS) if PRELOADED_PDFS else "No PDFs available"
189
+ st.session_state.messages = [{'role': 'assistant', "content": f'Hello! I have loaded the following PDFs: {preloaded_pdfs_list}. Ask me anything about their content.'}]
190
+
191
+ # Embed Hugging Face Space
192
+ hf_space_html = """
193
+ <div class="hf-space-container">
194
+ <iframe
195
+ src="https://bardicreels-chat-with-pdf.hf.space"
196
+ frameborder="0"
197
+ width="100%"
198
+ height="800"
199
+ ></iframe>
200
+ </div>
201
+ """
202
+ st.markdown(hf_space_html, unsafe_allow_html=True)
203
 
204
+ user_prompt = st.chat_input("Ask me anything about the content of the PDFs:")
205
  if user_prompt:
206
  st.session_state.messages.append({'role': 'user', "content": user_prompt})
207
+ response = handle_query(user_prompt)
208
+ st.session_state
 
 
venv/lib/python3.11/site-packages/distutils-precedence.pth → data/Ammons_opinion_on_the_church.pdf RENAMED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:2638ce9e2500e572a5e0de7faed6661eb569d1b696fcba07b0dd223da5f5d224
3
- size 151
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a6bd4bfc5c0966bb28edb7de38fd6485855db5edc774a7b34b9906cbe8963581
3
+ size 3826397
data/The_Final_Rite_.pdf ADDED
The diff for this file is too large to render. See raw diff
 
data/ammons_history_of_greek_language.pdf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:7a31a50c446aa7f316e439c08868ff6b55f3cd8da868188e4d58f7df4bfbfbe6
3
+ size 23081349
data/ammons_muse.txt DELETED
The diff for this file is too large to render. See raw diff
 
images/apple-touch-icon.png DELETED
Binary file (94.3 kB)
 
original DELETED
@@ -1,100 +0,0 @@
1
- import streamlit as st
2
- from llama_index.core import StorageContext, load_index_from_storage, VectorStoreIndex, SimpleDirectoryReader, ChatPromptTemplate
3
- from llama_index.llms.huggingface import HuggingFaceInferenceAPI
4
- from dotenv import load_dotenv
5
- from llama_index.embeddings.huggingface import HuggingFaceEmbedding
6
- from llama_index.core import Settings
7
- import os
8
- import base64
9
-
10
- # Load environment variables
11
- load_dotenv()
12
-
13
- # Configure the Llama index settings
14
- Settings.llm = HuggingFaceInferenceAPI(
15
- model_name="google/gemma-1.1-7b-it",
16
- tokenizer_name="google/gemma-1.1-7b-it",
17
- context_window=3000,
18
- token=os.getenv("HF_TOKEN"),
19
- max_new_tokens=512,
20
- generate_kwargs={"temperature": 0.1},
21
- )
22
- Settings.embed_model = HuggingFaceEmbedding(
23
- model_name="BAAI/bge-small-en-v1.5"
24
- )
25
-
26
- # Define the directory for persistent storage and data
27
- PERSIST_DIR = "./db"
28
- DATA_DIR = "data"
29
-
30
- # Ensure data directory exists
31
- os.makedirs(DATA_DIR, exist_ok=True)
32
- os.makedirs(PERSIST_DIR, exist_ok=True)
33
-
34
- def displayPDF(file):
35
- with open(file, "rb") as f:
36
- base64_pdf = base64.b64encode(f.read()).decode('utf-8')
37
- pdf_display = f'<iframe src="data:application/pdf;base64,{base64_pdf}" width="100%" height="600" type="application/pdf"></iframe>'
38
- st.markdown(pdf_display, unsafe_allow_html=True)
39
-
40
- def data_ingestion():
41
- documents = SimpleDirectoryReader(DATA_DIR).load_data()
42
- storage_context = StorageContext.from_defaults()
43
- index = VectorStoreIndex.from_documents(documents)
44
- index.storage_context.persist(persist_dir=PERSIST_DIR)
45
-
46
- def handle_query(query):
47
- storage_context = StorageContext.from_defaults(persist_dir=PERSIST_DIR)
48
- index = load_index_from_storage(storage_context)
49
- chat_text_qa_msgs = [
50
- (
51
- "user",
52
- """You are a Q&A assistant named CHATTO, created by Rishi. You have a specific response programmed for when users specifically ask about your creator, Rishi. The response is: "I was created by Rishi, an enthusiast in Artificial Intelligence. He is dedicated to solving complex problems and delivering innovative solutions. With a strong focus on machine learning, deep learning, Python, generative AI, NLP, and computer vision, Rishi is passionate about pushing the boundaries of AI to explore new possibilities." For all other inquiries, your main goal is to provide answers as accurately as possible, based on the instructions and context you have been given. If a question does not match the provided context or is outside the scope of the document, kindly advise the user to ask questions within the context of the document.
53
- Context:
54
- {context_str}
55
- Question:
56
- {query_str}
57
- """
58
- )
59
- ]
60
- text_qa_template = ChatPromptTemplate.from_messages(chat_text_qa_msgs)
61
-
62
- query_engine = index.as_query_engine(text_qa_template=text_qa_template)
63
- answer = query_engine.query(query)
64
-
65
- if hasattr(answer, 'response'):
66
- return answer.response
67
- elif isinstance(answer, dict) and 'response' in answer:
68
- return answer['response']
69
- else:
70
- return "Sorry, I couldn't find an answer."
71
-
72
-
73
- # Streamlit app initialization
74
- st.title("(PDF) Information and Inference")
75
- st.markdown("Retrieval-Augmented Generation")
76
-
77
- if 'messages' not in st.session_state:
78
- st.session_state.messages = [{'role': 'assistant', "content": 'Hello! Upload a PDF and ask me anything about its content.'}]
79
-
80
- with st.sidebar:
81
- st.title("Menu:")
82
- uploaded_file = st.file_uploader("Upload your PDF Files and Click on the Submit & Process Button")
83
- if st.button("Submit & Process"):
84
- with st.spinner("Processing..."):
85
- filepath = "data/saved_pdf.pdf"
86
- with open(filepath, "wb") as f:
87
- f.write(uploaded_file.getbuffer())
88
- displayPDF(filepath) # Display the uploaded PDF
89
- data_ingestion() # Process PDF every time new file is uploaded
90
- st.success("Done")
91
-
92
- user_prompt = st.chat_input("Ask me anything about the content of the PDF:")
93
- if user_prompt:
94
- st.session_state.messages.append({'role': 'user', "content": user_prompt})
95
- response = handle_query(user_prompt)
96
- st.session_state.messages.append({'role': 'assistant', "content": response})
97
-
98
- for message in st.session_state.messages:
99
- with st.chat_message(message['role']):
100
- st.write(message['content'])
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
style.css DELETED
@@ -1,78 +0,0 @@
1
-
2
- .main {
3
- background-color: #f4e6c0;
4
- color: #2a2018;
5
- }
6
- .stApp {
7
- max-width: 800px;
8
- margin: 0 auto;
9
- }
10
- h1 {
11
- color: #5d0076;
12
- }
13
- h2, h3 {
14
- color: #4a2500;
15
- }
16
- .stTextInput > div > div > input {
17
- background-color: rgba(249, 243, 227, 0.95);
18
- color: #4a0e4e;
19
- border: 1px solid rgba(128, 0, 128, 0.2);
20
- }
21
- .stTextInput > div > div > input::placeholder {
22
- color: #8a4b8e;
23
- }
24
- .stChatMessage {
25
- background-color: rgba(249, 243, 227, 0.95);
26
- border-radius: 10px;
27
- padding: 10px;
28
- margin-bottom: 10px;
29
- border: 1px solid rgba(128, 0, 128, 0.2);
30
- box-shadow: 0 2px 4px rgba(128, 0, 128, 0.05);
31
- }
32
- .stChatMessage [data-testid="stMarkdownContainer"] p {
33
- color: #2a2018;
34
- }
35
- .stButton > button {
36
- background-color: rgba(210, 180, 140, 0.95);
37
- color: #5d0076;
38
- }
39
- .stButton > button:hover {
40
- background-color: rgba(128, 0, 128, 0.1);
41
- color: #5d0076;
42
- }
43
- .stSpinner > div > div {
44
- border-top-color: #5d0076 !important;
45
- }
46
- a {
47
- color: #5d0076;
48
- }
49
- a:hover {
50
- color: #8b008b;
51
- }
52
- /* Hide the "running" indicator */
53
- .st-emotion-cache-1gulkj7 {
54
- display: none !important;
55
- }
56
- /* Hide the top-right menu button */
57
- .st-emotion-cache-r421ms {
58
- display: none !important;
59
- }
60
- /* Hide the bottom-right "Made with Streamlit" watermark */
61
- .st-emotion-cache-h5rgaw {
62
- display: none !important;
63
- }
64
- /* Hide the hamburger menu */
65
- .st-emotion-cache-1dp5vir {
66
- display: none !important;
67
- }
68
- /* Additional styles to remove top padding and streamlit branding */
69
- .st-emotion-cache-18ni7ap {
70
- padding-top: 0 !important;
71
- }
72
- .st-emotion-cache-1wbqy5l {
73
- visibility: hidden !important;
74
- }
75
- /* Hide the element with class "st-emotion-cache-iiif1v ef3psqc4" */
76
- .st-emotion-cache-iiif1v.ef3psqc4 {
77
- display: none !important;
78
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
styles.css ADDED
@@ -0,0 +1,93 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* General styles */
2
+ body {
3
+ font-family: Arial, sans-serif;
4
+ line-height: 1.6;
5
+ color: #333;
6
+ background-color: #f4f4f4;
7
+ }
8
+
9
+ /* Streamlit container */
10
+ .stApp {
11
+ max-width: 1200px;
12
+ margin: 0 auto;
13
+ padding: 20px;
14
+ background-color: #ffffff;
15
+ box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
16
+ }
17
+
18
+ /* Header styles */
19
+ h1, h2, h3 {
20
+ color: #2c3e50;
21
+ }
22
+
23
+ /* Button styles */
24
+ .stButton > button {
25
+ background-color: #3498db;
26
+ color: white;
27
+ border: none;
28
+ padding: 10px 20px;
29
+ border-radius: 5px;
30
+ cursor: pointer;
31
+ transition: background-color 0.3s ease;
32
+ }
33
+
34
+ .stButton > button:hover {
35
+ background-color: #2980b9;
36
+ }
37
+
38
+ /* Input field styles */
39
+ .stTextInput > div > div > input {
40
+ border: 1px solid #bdc3c7;
41
+ border-radius: 5px;
42
+ padding: 10px;
43
+ }
44
+
45
+ /* Chat message styles */
46
+ .stChatMessage {
47
+ padding: 10px;
48
+ margin-bottom: 10px;
49
+ border-radius: 5px;
50
+ }
51
+
52
+ .stChatMessage.user {
53
+ background-color: #e8f4f8;
54
+ }
55
+
56
+ .stChatMessage.assistant {
57
+ background-color: #f0f0f0;
58
+ }
59
+
60
+ /* Hugging Face Space container */
61
+ .hf-space-container {
62
+ border: 2px solid #3498db;
63
+ border-radius: 10px;
64
+ overflow: hidden;
65
+ margin-top: 20px;
66
+ }
67
+
68
+ /* Iframe styles */
69
+ iframe {
70
+ width: 100%;
71
+ height: 800px;
72
+ border: none;
73
+ }
74
+
75
+ /* Spinner styles */
76
+ .stSpinner > div {
77
+ border-top-color: #3498db !important;
78
+ }
79
+
80
+ /* Sidebar styles */
81
+ .css-1d391kg {
82
+ background-color: #2c3e50;
83
+ color: white;
84
+ }
85
+
86
+ /* Footer styles */
87
+ footer {
88
+ text-align: center;
89
+ margin-top: 20px;
90
+ padding: 10px;
91
+ background-color: #34495e;
92
+ color: white;
93
+ }
venv/bin/Activate.ps1 DELETED
@@ -1,247 +0,0 @@
1
- <#
2
- .Synopsis
3
- Activate a Python virtual environment for the current PowerShell session.
4
-
5
- .Description
6
- Pushes the python executable for a virtual environment to the front of the
7
- $Env:PATH environment variable and sets the prompt to signify that you are
8
- in a Python virtual environment. Makes use of the command line switches as
9
- well as the `pyvenv.cfg` file values present in the virtual environment.
10
-
11
- .Parameter VenvDir
12
- Path to the directory that contains the virtual environment to activate. The
13
- default value for this is the parent of the directory that the Activate.ps1
14
- script is located within.
15
-
16
- .Parameter Prompt
17
- The prompt prefix to display when this virtual environment is activated. By
18
- default, this prompt is the name of the virtual environment folder (VenvDir)
19
- surrounded by parentheses and followed by a single space (ie. '(.venv) ').
20
-
21
- .Example
22
- Activate.ps1
23
- Activates the Python virtual environment that contains the Activate.ps1 script.
24
-
25
- .Example
26
- Activate.ps1 -Verbose
27
- Activates the Python virtual environment that contains the Activate.ps1 script,
28
- and shows extra information about the activation as it executes.
29
-
30
- .Example
31
- Activate.ps1 -VenvDir C:\Users\MyUser\Common\.venv
32
- Activates the Python virtual environment located in the specified location.
33
-
34
- .Example
35
- Activate.ps1 -Prompt "MyPython"
36
- Activates the Python virtual environment that contains the Activate.ps1 script,
37
- and prefixes the current prompt with the specified string (surrounded in
38
- parentheses) while the virtual environment is active.
39
-
40
- .Notes
41
- On Windows, it may be required to enable this Activate.ps1 script by setting the
42
- execution policy for the user. You can do this by issuing the following PowerShell
43
- command:
44
-
45
- PS C:\> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
46
-
47
- For more information on Execution Policies:
48
- https://go.microsoft.com/fwlink/?LinkID=135170
49
-
50
- #>
51
- Param(
52
- [Parameter(Mandatory = $false)]
53
- [String]
54
- $VenvDir,
55
- [Parameter(Mandatory = $false)]
56
- [String]
57
- $Prompt
58
- )
59
-
60
- <# Function declarations --------------------------------------------------- #>
61
-
62
- <#
63
- .Synopsis
64
- Remove all shell session elements added by the Activate script, including the
65
- addition of the virtual environment's Python executable from the beginning of
66
- the PATH variable.
67
-
68
- .Parameter NonDestructive
69
- If present, do not remove this function from the global namespace for the
70
- session.
71
-
72
- #>
73
- function global:deactivate ([switch]$NonDestructive) {
74
- # Revert to original values
75
-
76
- # The prior prompt:
77
- if (Test-Path -Path Function:_OLD_VIRTUAL_PROMPT) {
78
- Copy-Item -Path Function:_OLD_VIRTUAL_PROMPT -Destination Function:prompt
79
- Remove-Item -Path Function:_OLD_VIRTUAL_PROMPT
80
- }
81
-
82
- # The prior PYTHONHOME:
83
- if (Test-Path -Path Env:_OLD_VIRTUAL_PYTHONHOME) {
84
- Copy-Item -Path Env:_OLD_VIRTUAL_PYTHONHOME -Destination Env:PYTHONHOME
85
- Remove-Item -Path Env:_OLD_VIRTUAL_PYTHONHOME
86
- }
87
-
88
- # The prior PATH:
89
- if (Test-Path -Path Env:_OLD_VIRTUAL_PATH) {
90
- Copy-Item -Path Env:_OLD_VIRTUAL_PATH -Destination Env:PATH
91
- Remove-Item -Path Env:_OLD_VIRTUAL_PATH
92
- }
93
-
94
- # Just remove the VIRTUAL_ENV altogether:
95
- if (Test-Path -Path Env:VIRTUAL_ENV) {
96
- Remove-Item -Path env:VIRTUAL_ENV
97
- }
98
-
99
- # Just remove VIRTUAL_ENV_PROMPT altogether.
100
- if (Test-Path -Path Env:VIRTUAL_ENV_PROMPT) {
101
- Remove-Item -Path env:VIRTUAL_ENV_PROMPT
102
- }
103
-
104
- # Just remove the _PYTHON_VENV_PROMPT_PREFIX altogether:
105
- if (Get-Variable -Name "_PYTHON_VENV_PROMPT_PREFIX" -ErrorAction SilentlyContinue) {
106
- Remove-Variable -Name _PYTHON_VENV_PROMPT_PREFIX -Scope Global -Force
107
- }
108
-
109
- # Leave deactivate function in the global namespace if requested:
110
- if (-not $NonDestructive) {
111
- Remove-Item -Path function:deactivate
112
- }
113
- }
114
-
115
- <#
116
- .Description
117
- Get-PyVenvConfig parses the values from the pyvenv.cfg file located in the
118
- given folder, and returns them in a map.
119
-
120
- For each line in the pyvenv.cfg file, if that line can be parsed into exactly
121
- two strings separated by `=` (with any amount of whitespace surrounding the =)
122
- then it is considered a `key = value` line. The left hand string is the key,
123
- the right hand is the value.
124
-
125
- If the value starts with a `'` or a `"` then the first and last character is
126
- stripped from the value before being captured.
127
-
128
- .Parameter ConfigDir
129
- Path to the directory that contains the `pyvenv.cfg` file.
130
- #>
131
- function Get-PyVenvConfig(
132
- [String]
133
- $ConfigDir
134
- ) {
135
- Write-Verbose "Given ConfigDir=$ConfigDir, obtain values in pyvenv.cfg"
136
-
137
- # Ensure the file exists, and issue a warning if it doesn't (but still allow the function to continue).
138
- $pyvenvConfigPath = Join-Path -Resolve -Path $ConfigDir -ChildPath 'pyvenv.cfg' -ErrorAction Continue
139
-
140
- # An empty map will be returned if no config file is found.
141
- $pyvenvConfig = @{ }
142
-
143
- if ($pyvenvConfigPath) {
144
-
145
- Write-Verbose "File exists, parse `key = value` lines"
146
- $pyvenvConfigContent = Get-Content -Path $pyvenvConfigPath
147
-
148
- $pyvenvConfigContent | ForEach-Object {
149
- $keyval = $PSItem -split "\s*=\s*", 2
150
- if ($keyval[0] -and $keyval[1]) {
151
- $val = $keyval[1]
152
-
153
- # Remove extraneous quotations around a string value.
154
- if ("'""".Contains($val.Substring(0, 1))) {
155
- $val = $val.Substring(1, $val.Length - 2)
156
- }
157
-
158
- $pyvenvConfig[$keyval[0]] = $val
159
- Write-Verbose "Adding Key: '$($keyval[0])'='$val'"
160
- }
161
- }
162
- }
163
- return $pyvenvConfig
164
- }
165
-
166
-
167
- <# Begin Activate script --------------------------------------------------- #>
168
-
169
- # Determine the containing directory of this script
170
- $VenvExecPath = Split-Path -Parent $MyInvocation.MyCommand.Definition
171
- $VenvExecDir = Get-Item -Path $VenvExecPath
172
-
173
- Write-Verbose "Activation script is located in path: '$VenvExecPath'"
174
- Write-Verbose "VenvExecDir Fullname: '$($VenvExecDir.FullName)"
175
- Write-Verbose "VenvExecDir Name: '$($VenvExecDir.Name)"
176
-
177
- # Set values required in priority: CmdLine, ConfigFile, Default
178
- # First, get the location of the virtual environment, it might not be
179
- # VenvExecDir if specified on the command line.
180
- if ($VenvDir) {
181
- Write-Verbose "VenvDir given as parameter, using '$VenvDir' to determine values"
182
- }
183
- else {
184
- Write-Verbose "VenvDir not given as a parameter, using parent directory name as VenvDir."
185
- $VenvDir = $VenvExecDir.Parent.FullName.TrimEnd("\\/")
186
- Write-Verbose "VenvDir=$VenvDir"
187
- }
188
-
189
- # Next, read the `pyvenv.cfg` file to determine any required value such
190
- # as `prompt`.
191
- $pyvenvCfg = Get-PyVenvConfig -ConfigDir $VenvDir
192
-
193
- # Next, set the prompt from the command line, or the config file, or
194
- # just use the name of the virtual environment folder.
195
- if ($Prompt) {
196
- Write-Verbose "Prompt specified as argument, using '$Prompt'"
197
- }
198
- else {
199
- Write-Verbose "Prompt not specified as argument to script, checking pyvenv.cfg value"
200
- if ($pyvenvCfg -and $pyvenvCfg['prompt']) {
201
- Write-Verbose " Setting based on value in pyvenv.cfg='$($pyvenvCfg['prompt'])'"
202
- $Prompt = $pyvenvCfg['prompt'];
203
- }
204
- else {
205
- Write-Verbose " Setting prompt based on parent's directory's name. (Is the directory name passed to venv module when creating the virtual environment)"
206
- Write-Verbose " Got leaf-name of $VenvDir='$(Split-Path -Path $venvDir -Leaf)'"
207
- $Prompt = Split-Path -Path $venvDir -Leaf
208
- }
209
- }
210
-
211
- Write-Verbose "Prompt = '$Prompt'"
212
- Write-Verbose "VenvDir='$VenvDir'"
213
-
214
- # Deactivate any currently active virtual environment, but leave the
215
- # deactivate function in place.
216
- deactivate -nondestructive
217
-
218
- # Now set the environment variable VIRTUAL_ENV, used by many tools to determine
219
- # that there is an activated venv.
220
- $env:VIRTUAL_ENV = $VenvDir
221
-
222
- if (-not $Env:VIRTUAL_ENV_DISABLE_PROMPT) {
223
-
224
- Write-Verbose "Setting prompt to '$Prompt'"
225
-
226
- # Set the prompt to include the env name
227
- # Make sure _OLD_VIRTUAL_PROMPT is global
228
- function global:_OLD_VIRTUAL_PROMPT { "" }
229
- Copy-Item -Path function:prompt -Destination function:_OLD_VIRTUAL_PROMPT
230
- New-Variable -Name _PYTHON_VENV_PROMPT_PREFIX -Description "Python virtual environment prompt prefix" -Scope Global -Option ReadOnly -Visibility Public -Value $Prompt
231
-
232
- function global:prompt {
233
- Write-Host -NoNewline -ForegroundColor Green "($_PYTHON_VENV_PROMPT_PREFIX) "
234
- _OLD_VIRTUAL_PROMPT
235
- }
236
- $env:VIRTUAL_ENV_PROMPT = $Prompt
237
- }
238
-
239
- # Clear PYTHONHOME
240
- if (Test-Path -Path Env:PYTHONHOME) {
241
- Copy-Item -Path Env:PYTHONHOME -Destination Env:_OLD_VIRTUAL_PYTHONHOME
242
- Remove-Item -Path Env:PYTHONHOME
243
- }
244
-
245
- # Add the venv to the PATH
246
- Copy-Item -Path Env:PATH -Destination Env:_OLD_VIRTUAL_PATH
247
- $Env:PATH = "$VenvExecDir$([System.IO.Path]::PathSeparator)$Env:PATH"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
venv/bin/activate DELETED
@@ -1,69 +0,0 @@
1
- # This file must be used with "source bin/activate" *from bash*
2
- # you cannot run it directly
3
-
4
- deactivate () {
5
- # reset old environment variables
6
- if [ -n "${_OLD_VIRTUAL_PATH:-}" ] ; then
7
- PATH="${_OLD_VIRTUAL_PATH:-}"
8
- export PATH
9
- unset _OLD_VIRTUAL_PATH
10
- fi
11
- if [ -n "${_OLD_VIRTUAL_PYTHONHOME:-}" ] ; then
12
- PYTHONHOME="${_OLD_VIRTUAL_PYTHONHOME:-}"
13
- export PYTHONHOME
14
- unset _OLD_VIRTUAL_PYTHONHOME
15
- fi
16
-
17
- # This should detect bash and zsh, which have a hash command that must
18
- # be called to get it to forget past commands. Without forgetting
19
- # past commands the $PATH changes we made may not be respected
20
- if [ -n "${BASH:-}" -o -n "${ZSH_VERSION:-}" ] ; then
21
- hash -r 2> /dev/null
22
- fi
23
-
24
- if [ -n "${_OLD_VIRTUAL_PS1:-}" ] ; then
25
- PS1="${_OLD_VIRTUAL_PS1:-}"
26
- export PS1
27
- unset _OLD_VIRTUAL_PS1
28
- fi
29
-
30
- unset VIRTUAL_ENV
31
- unset VIRTUAL_ENV_PROMPT
32
- if [ ! "${1:-}" = "nondestructive" ] ; then
33
- # Self destruct!
34
- unset -f deactivate
35
- fi
36
- }
37
-
38
- # unset irrelevant variables
39
- deactivate nondestructive
40
-
41
- VIRTUAL_ENV="/home/user/Desktop/projects/chat-with-pdf/venv"
42
- export VIRTUAL_ENV
43
-
44
- _OLD_VIRTUAL_PATH="$PATH"
45
- PATH="$VIRTUAL_ENV/bin:$PATH"
46
- export PATH
47
-
48
- # unset PYTHONHOME if set
49
- # this will fail if PYTHONHOME is set to the empty string (which is bad anyway)
50
- # could use `if (set -u; : $PYTHONHOME) ;` in bash
51
- if [ -n "${PYTHONHOME:-}" ] ; then
52
- _OLD_VIRTUAL_PYTHONHOME="${PYTHONHOME:-}"
53
- unset PYTHONHOME
54
- fi
55
-
56
- if [ -z "${VIRTUAL_ENV_DISABLE_PROMPT:-}" ] ; then
57
- _OLD_VIRTUAL_PS1="${PS1:-}"
58
- PS1="(venv) ${PS1:-}"
59
- export PS1
60
- VIRTUAL_ENV_PROMPT="(venv) "
61
- export VIRTUAL_ENV_PROMPT
62
- fi
63
-
64
- # This should detect bash and zsh, which have a hash command that must
65
- # be called to get it to forget past commands. Without forgetting
66
- # past commands the $PATH changes we made may not be respected
67
- if [ -n "${BASH:-}" -o -n "${ZSH_VERSION:-}" ] ; then
68
- hash -r 2> /dev/null
69
- fi
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
venv/bin/activate.csh DELETED
@@ -1,26 +0,0 @@
1
- # This file must be used with "source bin/activate.csh" *from csh*.
2
- # You cannot run it directly.
3
- # Created by Davide Di Blasi <davidedb@gmail.com>.
4
- # Ported to Python 3.3 venv by Andrew Svetlov <andrew.svetlov@gmail.com>
5
-
6
- alias deactivate 'test $?_OLD_VIRTUAL_PATH != 0 && setenv PATH "$_OLD_VIRTUAL_PATH" && unset _OLD_VIRTUAL_PATH; rehash; test $?_OLD_VIRTUAL_PROMPT != 0 && set prompt="$_OLD_VIRTUAL_PROMPT" && unset _OLD_VIRTUAL_PROMPT; unsetenv VIRTUAL_ENV; unsetenv VIRTUAL_ENV_PROMPT; test "\!:*" != "nondestructive" && unalias deactivate'
7
-
8
- # Unset irrelevant variables.
9
- deactivate nondestructive
10
-
11
- setenv VIRTUAL_ENV "/home/user/Desktop/projects/chat-with-pdf/venv"
12
-
13
- set _OLD_VIRTUAL_PATH="$PATH"
14
- setenv PATH "$VIRTUAL_ENV/bin:$PATH"
15
-
16
-
17
- set _OLD_VIRTUAL_PROMPT="$prompt"
18
-
19
- if (! "$?VIRTUAL_ENV_DISABLE_PROMPT") then
20
- set prompt = "(venv) $prompt"
21
- setenv VIRTUAL_ENV_PROMPT "(venv) "
22
- endif
23
-
24
- alias pydoc python -m pydoc
25
-
26
- rehash
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
venv/bin/activate.fish DELETED
@@ -1,69 +0,0 @@
1
- # This file must be used with "source <venv>/bin/activate.fish" *from fish*
2
- # (https://fishshell.com/); you cannot run it directly.
3
-
4
- function deactivate -d "Exit virtual environment and return to normal shell environment"
5
- # reset old environment variables
6
- if test -n "$_OLD_VIRTUAL_PATH"
7
- set -gx PATH $_OLD_VIRTUAL_PATH
8
- set -e _OLD_VIRTUAL_PATH
9
- end
10
- if test -n "$_OLD_VIRTUAL_PYTHONHOME"
11
- set -gx PYTHONHOME $_OLD_VIRTUAL_PYTHONHOME
12
- set -e _OLD_VIRTUAL_PYTHONHOME
13
- end
14
-
15
- if test -n "$_OLD_FISH_PROMPT_OVERRIDE"
16
- set -e _OLD_FISH_PROMPT_OVERRIDE
17
- # prevents error when using nested fish instances (Issue #93858)
18
- if functions -q _old_fish_prompt
19
- functions -e fish_prompt
20
- functions -c _old_fish_prompt fish_prompt
21
- functions -e _old_fish_prompt
22
- end
23
- end
24
-
25
- set -e VIRTUAL_ENV
26
- set -e VIRTUAL_ENV_PROMPT
27
- if test "$argv[1]" != "nondestructive"
28
- # Self-destruct!
29
- functions -e deactivate
30
- end
31
- end
32
-
33
- # Unset irrelevant variables.
34
- deactivate nondestructive
35
-
36
- set -gx VIRTUAL_ENV "/home/user/Desktop/projects/chat-with-pdf/venv"
37
-
38
- set -gx _OLD_VIRTUAL_PATH $PATH
39
- set -gx PATH "$VIRTUAL_ENV/bin" $PATH
40
-
41
- # Unset PYTHONHOME if set.
42
- if set -q PYTHONHOME
43
- set -gx _OLD_VIRTUAL_PYTHONHOME $PYTHONHOME
44
- set -e PYTHONHOME
45
- end
46
-
47
- if test -z "$VIRTUAL_ENV_DISABLE_PROMPT"
48
- # fish uses a function instead of an env var to generate the prompt.
49
-
50
- # Save the current fish_prompt function as the function _old_fish_prompt.
51
- functions -c fish_prompt _old_fish_prompt
52
-
53
- # With the original prompt function renamed, we can override with our own.
54
- function fish_prompt
55
- # Save the return status of the last command.
56
- set -l old_status $status
57
-
58
- # Output the venv prompt; color taken from the blue of the Python logo.
59
- printf "%s%s%s" (set_color 4B8BBE) "(venv) " (set_color normal)
60
-
61
- # Restore the return status of the previous command.
62
- echo "exit $old_status" | .
63
- # Output the original/"old" prompt.
64
- _old_fish_prompt
65
- end
66
-
67
- set -gx _OLD_FISH_PROMPT_OVERRIDE "$VIRTUAL_ENV"
68
- set -gx VIRTUAL_ENV_PROMPT "(venv) "
69
- end
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
venv/bin/pip DELETED
@@ -1,8 +0,0 @@
1
- #!/home/user/Desktop/projects/chat-with-pdf/venv/bin/python3
2
- # -*- coding: utf-8 -*-
3
- import re
4
- import sys
5
- from pip._internal.cli.main import main
6
- if __name__ == '__main__':
7
- sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
8
- sys.exit(main())
 
 
 
 
 
 
 
 
 
venv/bin/pip3 DELETED
@@ -1,8 +0,0 @@
1
- #!/home/user/Desktop/projects/chat-with-pdf/venv/bin/python3
2
- # -*- coding: utf-8 -*-
3
- import re
4
- import sys
5
- from pip._internal.cli.main import main
6
- if __name__ == '__main__':
7
- sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
8
- sys.exit(main())
 
 
 
 
 
 
 
 
 
venv/bin/pip3.11 DELETED
@@ -1,8 +0,0 @@
1
- #!/home/user/Desktop/projects/chat-with-pdf/venv/bin/python3
2
- # -*- coding: utf-8 -*-
3
- import re
4
- import sys
5
- from pip._internal.cli.main import main
6
- if __name__ == '__main__':
7
- sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
8
- sys.exit(main())
 
 
 
 
 
 
 
 
 
venv/bin/python DELETED
@@ -1 +0,0 @@
1
- python3
 
 
venv/bin/python3 DELETED
@@ -1 +0,0 @@
1
- /usr/bin/python3
 
 
venv/bin/python3.11 DELETED
@@ -1 +0,0 @@
1
- python3
 
 
venv/lib/python3.11/site-packages/_distutils_hack/__init__.py DELETED
@@ -1,222 +0,0 @@
1
- # don't import any costly modules
2
- import sys
3
- import os
4
-
5
-
6
- is_pypy = '__pypy__' in sys.builtin_module_names
7
-
8
-
9
- def warn_distutils_present():
10
- if 'distutils' not in sys.modules:
11
- return
12
- if is_pypy and sys.version_info < (3, 7):
13
- # PyPy for 3.6 unconditionally imports distutils, so bypass the warning
14
- # https://foss.heptapod.net/pypy/pypy/-/blob/be829135bc0d758997b3566062999ee8b23872b4/lib-python/3/site.py#L250
15
- return
16
- import warnings
17
-
18
- warnings.warn(
19
- "Distutils was imported before Setuptools, but importing Setuptools "
20
- "also replaces the `distutils` module in `sys.modules`. This may lead "
21
- "to undesirable behaviors or errors. To avoid these issues, avoid "
22
- "using distutils directly, ensure that setuptools is installed in the "
23
- "traditional way (e.g. not an editable install), and/or make sure "
24
- "that setuptools is always imported before distutils."
25
- )
26
-
27
-
28
- def clear_distutils():
29
- if 'distutils' not in sys.modules:
30
- return
31
- import warnings
32
-
33
- warnings.warn("Setuptools is replacing distutils.")
34
- mods = [
35
- name
36
- for name in sys.modules
37
- if name == "distutils" or name.startswith("distutils.")
38
- ]
39
- for name in mods:
40
- del sys.modules[name]
41
-
42
-
43
- def enabled():
44
- """
45
- Allow selection of distutils by environment variable.
46
- """
47
- which = os.environ.get('SETUPTOOLS_USE_DISTUTILS', 'local')
48
- return which == 'local'
49
-
50
-
51
- def ensure_local_distutils():
52
- import importlib
53
-
54
- clear_distutils()
55
-
56
- # With the DistutilsMetaFinder in place,
57
- # perform an import to cause distutils to be
58
- # loaded from setuptools._distutils. Ref #2906.
59
- with shim():
60
- importlib.import_module('distutils')
61
-
62
- # check that submodules load as expected
63
- core = importlib.import_module('distutils.core')
64
- assert '_distutils' in core.__file__, core.__file__
65
- assert 'setuptools._distutils.log' not in sys.modules
66
-
67
-
68
- def do_override():
69
- """
70
- Ensure that the local copy of distutils is preferred over stdlib.
71
-
72
- See https://github.com/pypa/setuptools/issues/417#issuecomment-392298401
73
- for more motivation.
74
- """
75
- if enabled():
76
- warn_distutils_present()
77
- ensure_local_distutils()
78
-
79
-
80
- class _TrivialRe:
81
- def __init__(self, *patterns):
82
- self._patterns = patterns
83
-
84
- def match(self, string):
85
- return all(pat in string for pat in self._patterns)
86
-
87
-
88
- class DistutilsMetaFinder:
89
- def find_spec(self, fullname, path, target=None):
90
- # optimization: only consider top level modules and those
91
- # found in the CPython test suite.
92
- if path is not None and not fullname.startswith('test.'):
93
- return
94
-
95
- method_name = 'spec_for_{fullname}'.format(**locals())
96
- method = getattr(self, method_name, lambda: None)
97
- return method()
98
-
99
- def spec_for_distutils(self):
100
- if self.is_cpython():
101
- return
102
-
103
- import importlib
104
- import importlib.abc
105
- import importlib.util
106
-
107
- try:
108
- mod = importlib.import_module('setuptools._distutils')
109
- except Exception:
110
- # There are a couple of cases where setuptools._distutils
111
- # may not be present:
112
- # - An older Setuptools without a local distutils is
113
- # taking precedence. Ref #2957.
114
- # - Path manipulation during sitecustomize removes
115
- # setuptools from the path but only after the hook
116
- # has been loaded. Ref #2980.
117
- # In either case, fall back to stdlib behavior.
118
- return
119
-
120
- class DistutilsLoader(importlib.abc.Loader):
121
- def create_module(self, spec):
122
- mod.__name__ = 'distutils'
123
- return mod
124
-
125
- def exec_module(self, module):
126
- pass
127
-
128
- return importlib.util.spec_from_loader(
129
- 'distutils', DistutilsLoader(), origin=mod.__file__
130
- )
131
-
132
- @staticmethod
133
- def is_cpython():
134
- """
135
- Suppress supplying distutils for CPython (build and tests).
136
- Ref #2965 and #3007.
137
- """
138
- return os.path.isfile('pybuilddir.txt')
139
-
140
- def spec_for_pip(self):
141
- """
142
- Ensure stdlib distutils when running under pip.
143
- See pypa/pip#8761 for rationale.
144
- """
145
- if self.pip_imported_during_build():
146
- return
147
- clear_distutils()
148
- self.spec_for_distutils = lambda: None
149
-
150
- @classmethod
151
- def pip_imported_during_build(cls):
152
- """
153
- Detect if pip is being imported in a build script. Ref #2355.
154
- """
155
- import traceback
156
-
157
- return any(
158
- cls.frame_file_is_setup(frame) for frame, line in traceback.walk_stack(None)
159
- )
160
-
161
- @staticmethod
162
- def frame_file_is_setup(frame):
163
- """
164
- Return True if the indicated frame suggests a setup.py file.
165
- """
166
- # some frames may not have __file__ (#2940)
167
- return frame.f_globals.get('__file__', '').endswith('setup.py')
168
-
169
- def spec_for_sensitive_tests(self):
170
- """
171
- Ensure stdlib distutils when running select tests under CPython.
172
-
173
- python/cpython#91169
174
- """
175
- clear_distutils()
176
- self.spec_for_distutils = lambda: None
177
-
178
- sensitive_tests = (
179
- [
180
- 'test.test_distutils',
181
- 'test.test_peg_generator',
182
- 'test.test_importlib',
183
- ]
184
- if sys.version_info < (3, 10)
185
- else [
186
- 'test.test_distutils',
187
- ]
188
- )
189
-
190
-
191
- for name in DistutilsMetaFinder.sensitive_tests:
192
- setattr(
193
- DistutilsMetaFinder,
194
- f'spec_for_{name}',
195
- DistutilsMetaFinder.spec_for_sensitive_tests,
196
- )
197
-
198
-
199
- DISTUTILS_FINDER = DistutilsMetaFinder()
200
-
201
-
202
- def add_shim():
203
- DISTUTILS_FINDER in sys.meta_path or insert_shim()
204
-
205
-
206
- class shim:
207
- def __enter__(self):
208
- insert_shim()
209
-
210
- def __exit__(self, exc, value, tb):
211
- remove_shim()
212
-
213
-
214
- def insert_shim():
215
- sys.meta_path.insert(0, DISTUTILS_FINDER)
216
-
217
-
218
- def remove_shim():
219
- try:
220
- sys.meta_path.remove(DISTUTILS_FINDER)
221
- except ValueError:
222
- pass
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
venv/lib/python3.11/site-packages/_distutils_hack/__pycache__/__init__.cpython-311.pyc DELETED
Binary file (11.2 kB)
 
venv/lib/python3.11/site-packages/_distutils_hack/__pycache__/override.cpython-311.pyc DELETED
Binary file (334 Bytes)
 
venv/lib/python3.11/site-packages/_distutils_hack/override.py DELETED
@@ -1 +0,0 @@
1
- __import__('_distutils_hack').do_override()
 
 
venv/lib/python3.11/site-packages/pip-23.0.1.dist-info/INSTALLER DELETED
@@ -1 +0,0 @@
1
- pip
 
 
venv/lib/python3.11/site-packages/pip-23.0.1.dist-info/LICENSE.txt DELETED
@@ -1,20 +0,0 @@
1
- Copyright (c) 2008-present The pip developers (see AUTHORS.txt file)
2
-
3
- Permission is hereby granted, free of charge, to any person obtaining
4
- a copy of this software and associated documentation files (the
5
- "Software"), to deal in the Software without restriction, including
6
- without limitation the rights to use, copy, modify, merge, publish,
7
- distribute, sublicense, and/or sell copies of the Software, and to
8
- permit persons to whom the Software is furnished to do so, subject to
9
- the following conditions:
10
-
11
- The above copyright notice and this permission notice shall be
12
- included in all copies or substantial portions of the Software.
13
-
14
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
- LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
- OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
venv/lib/python3.11/site-packages/pip-23.0.1.dist-info/METADATA DELETED
@@ -1,88 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: pip
3
- Version: 23.0.1
4
- Summary: The PyPA recommended tool for installing Python packages.
5
- Home-page: https://pip.pypa.io/
6
- Author: The pip developers
7
- Author-email: distutils-sig@python.org
8
- License: MIT
9
- Project-URL: Documentation, https://pip.pypa.io
10
- Project-URL: Source, https://github.com/pypa/pip
11
- Project-URL: Changelog, https://pip.pypa.io/en/stable/news/
12
- Classifier: Development Status :: 5 - Production/Stable
13
- Classifier: Intended Audience :: Developers
14
- Classifier: License :: OSI Approved :: MIT License
15
- Classifier: Topic :: Software Development :: Build Tools
16
- Classifier: Programming Language :: Python
17
- Classifier: Programming Language :: Python :: 3
18
- Classifier: Programming Language :: Python :: 3 :: Only
19
- Classifier: Programming Language :: Python :: 3.7
20
- Classifier: Programming Language :: Python :: 3.8
21
- Classifier: Programming Language :: Python :: 3.9
22
- Classifier: Programming Language :: Python :: 3.10
23
- Classifier: Programming Language :: Python :: 3.11
24
- Classifier: Programming Language :: Python :: Implementation :: CPython
25
- Classifier: Programming Language :: Python :: Implementation :: PyPy
26
- Requires-Python: >=3.7
27
- License-File: LICENSE.txt
28
-
29
- pip - The Python Package Installer
30
- ==================================
31
-
32
- .. image:: https://img.shields.io/pypi/v/pip.svg
33
- :target: https://pypi.org/project/pip/
34
-
35
- .. image:: https://readthedocs.org/projects/pip/badge/?version=latest
36
- :target: https://pip.pypa.io/en/latest
37
-
38
- pip is the `package installer`_ for Python. You can use pip to install packages from the `Python Package Index`_ and other indexes.
39
-
40
- Please take a look at our documentation for how to install and use pip:
41
-
42
- * `Installation`_
43
- * `Usage`_
44
-
45
- We release updates regularly, with a new version every 3 months. Find more details in our documentation:
46
-
47
- * `Release notes`_
48
- * `Release process`_
49
-
50
- In pip 20.3, we've `made a big improvement to the heart of pip`_; `learn more`_. We want your input, so `sign up for our user experience research studies`_ to help us do it right.
51
-
52
- **Note**: pip 21.0, in January 2021, removed Python 2 support, per pip's `Python 2 support policy`_. Please migrate to Python 3.
53
-
54
- If you find bugs, need help, or want to talk to the developers, please use our mailing lists or chat rooms:
55
-
56
- * `Issue tracking`_
57
- * `Discourse channel`_
58
- * `User IRC`_
59
-
60
- If you want to get involved head over to GitHub to get the source code, look at our development documentation and feel free to jump on the developer mailing lists and chat rooms:
61
-
62
- * `GitHub page`_
63
- * `Development documentation`_
64
- * `Development IRC`_
65
-
66
- Code of Conduct
67
- ---------------
68
-
69
- Everyone interacting in the pip project's codebases, issue trackers, chat
70
- rooms, and mailing lists is expected to follow the `PSF Code of Conduct`_.
71
-
72
- .. _package installer: https://packaging.python.org/guides/tool-recommendations/
73
- .. _Python Package Index: https://pypi.org
74
- .. _Installation: https://pip.pypa.io/en/stable/installation/
75
- .. _Usage: https://pip.pypa.io/en/stable/
76
- .. _Release notes: https://pip.pypa.io/en/stable/news.html
77
- .. _Release process: https://pip.pypa.io/en/latest/development/release-process/
78
- .. _GitHub page: https://github.com/pypa/pip
79
- .. _Development documentation: https://pip.pypa.io/en/latest/development
80
- .. _made a big improvement to the heart of pip: https://pyfound.blogspot.com/2020/11/pip-20-3-new-resolver.html
81
- .. _learn more: https://pip.pypa.io/en/latest/user_guide/#changes-to-the-pip-dependency-resolver-in-20-3-2020
82
- .. _sign up for our user experience research studies: https://pyfound.blogspot.com/2020/03/new-pip-resolver-to-roll-out-this-year.html
83
- .. _Python 2 support policy: https://pip.pypa.io/en/latest/development/release-process/#python-2-support
84
- .. _Issue tracking: https://github.com/pypa/pip/issues
85
- .. _Discourse channel: https://discuss.python.org/c/packaging
86
- .. _User IRC: https://kiwiirc.com/nextclient/#ircs://irc.libera.chat:+6697/pypa
87
- .. _Development IRC: https://kiwiirc.com/nextclient/#ircs://irc.libera.chat:+6697/pypa-dev
88
- .. _PSF Code of Conduct: https://github.com/pypa/.github/blob/main/CODE_OF_CONDUCT.md
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
venv/lib/python3.11/site-packages/pip-23.0.1.dist-info/RECORD DELETED
@@ -1,996 +0,0 @@
1
- ../../../bin/pip,sha256=fR-cuLL4yjvIQjCLIhTqW4TE5hec5nlTrmnQqf8k-P0,263
2
- ../../../bin/pip3,sha256=fR-cuLL4yjvIQjCLIhTqW4TE5hec5nlTrmnQqf8k-P0,263
3
- ../../../bin/pip3.11,sha256=fR-cuLL4yjvIQjCLIhTqW4TE5hec5nlTrmnQqf8k-P0,263
4
- pip-23.0.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
5
- pip-23.0.1.dist-info/LICENSE.txt,sha256=Y0MApmnUmurmWxLGxIySTFGkzfPR_whtw0VtyLyqIQQ,1093
6
- pip-23.0.1.dist-info/METADATA,sha256=POh89utz-H1e0K-xDY9CL9gs-x0MjH-AWxbhJG3aaVE,4072
7
- pip-23.0.1.dist-info/RECORD,,
8
- pip-23.0.1.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
- pip-23.0.1.dist-info/WHEEL,sha256=2wepM1nk4DS4eFpYrW1TTqPcoGNfHhhO_i5m4cOimbo,92
10
- pip-23.0.1.dist-info/entry_points.txt,sha256=xg35gOct0aY8S3ftLtweJ0uw3KBAIVyW4k-0Jx1rkNE,125
11
- pip-23.0.1.dist-info/top_level.txt,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
12
- pip/__init__.py,sha256=5yroedzc2dKKbcynDrHX8vBoLxqU27KmFvvHmdqQN9w,357
13
- pip/__main__.py,sha256=mXwWDftNLMKfwVqKFWGE_uuBZvGSIiUELhLkeysIuZc,1198
14
- pip/__pip-runner__.py,sha256=EnrfKmKMzWAdqg_JicLCOP9Y95Ux7zHh4ObvqLtQcjo,1444
15
- pip/__pycache__/__init__.cpython-311.pyc,,
16
- pip/__pycache__/__main__.cpython-311.pyc,,
17
- pip/__pycache__/__pip-runner__.cpython-311.pyc,,
18
- pip/_internal/__init__.py,sha256=nnFCuxrPMgALrIDxSoy-H6Zj4W4UY60D-uL1aJyq0pc,573
19
- pip/_internal/__pycache__/__init__.cpython-311.pyc,,
20
- pip/_internal/__pycache__/build_env.cpython-311.pyc,,
21
- pip/_internal/__pycache__/cache.cpython-311.pyc,,
22
- pip/_internal/__pycache__/configuration.cpython-311.pyc,,
23
- pip/_internal/__pycache__/exceptions.cpython-311.pyc,,
24
- pip/_internal/__pycache__/main.cpython-311.pyc,,
25
- pip/_internal/__pycache__/pyproject.cpython-311.pyc,,
26
- pip/_internal/__pycache__/self_outdated_check.cpython-311.pyc,,
27
- pip/_internal/__pycache__/wheel_builder.cpython-311.pyc,,
28
- pip/_internal/build_env.py,sha256=1ESpqw0iupS_K7phZK5zshVE5Czy9BtGLFU4W6Enva8,10243
29
- pip/_internal/cache.py,sha256=C3n78VnBga9rjPXZqht_4A4d-T25poC7K0qBM7FHDhU,10734
30
- pip/_internal/cli/__init__.py,sha256=FkHBgpxxb-_gd6r1FjnNhfMOzAUYyXoXKJ6abijfcFU,132
31
- pip/_internal/cli/__pycache__/__init__.cpython-311.pyc,,
32
- pip/_internal/cli/__pycache__/autocompletion.cpython-311.pyc,,
33
- pip/_internal/cli/__pycache__/base_command.cpython-311.pyc,,
34
- pip/_internal/cli/__pycache__/cmdoptions.cpython-311.pyc,,
35
- pip/_internal/cli/__pycache__/command_context.cpython-311.pyc,,
36
- pip/_internal/cli/__pycache__/main.cpython-311.pyc,,
37
- pip/_internal/cli/__pycache__/main_parser.cpython-311.pyc,,
38
- pip/_internal/cli/__pycache__/parser.cpython-311.pyc,,
39
- pip/_internal/cli/__pycache__/progress_bars.cpython-311.pyc,,
40
- pip/_internal/cli/__pycache__/req_command.cpython-311.pyc,,
41
- pip/_internal/cli/__pycache__/spinners.cpython-311.pyc,,
42
- pip/_internal/cli/__pycache__/status_codes.cpython-311.pyc,,
43
- pip/_internal/cli/autocompletion.py,sha256=wY2JPZY2Eji1vhR7bVo-yCBPJ9LCy6P80iOAhZD1Vi8,6676
44
- pip/_internal/cli/base_command.py,sha256=t1D5x40Hfn9HnPnMt-iSxvqL14nht2olBCacW74pc-k,7842
45
- pip/_internal/cli/cmdoptions.py,sha256=0AFz3vHEZeUUOpE4Ze0sBKmsS1OOd3aaWX3Fr2ov9BU,29496
46
- pip/_internal/cli/command_context.py,sha256=RHgIPwtObh5KhMrd3YZTkl8zbVG-6Okml7YbFX4Ehg0,774
47
- pip/_internal/cli/main.py,sha256=ioJ8IVlb2K1qLOxR-tXkee9lURhYV89CDM71MKag7YY,2472
48
- pip/_internal/cli/main_parser.py,sha256=laDpsuBDl6kyfywp9eMMA9s84jfH2TJJn-vmL0GG90w,4338
49
- pip/_internal/cli/parser.py,sha256=tWP-K1uSxnJyXu3WE0kkH3niAYRBeuUaxeydhzOdhL4,10817
50
- pip/_internal/cli/progress_bars.py,sha256=So4mPoSjXkXiSHiTzzquH3VVyVD_njXlHJSExYPXAow,1968
51
- pip/_internal/cli/req_command.py,sha256=ypTutLv4j_efxC2f6C6aCQufxre-zaJdi5m_tWlLeBk,18172
52
- pip/_internal/cli/spinners.py,sha256=hIJ83GerdFgFCdobIA23Jggetegl_uC4Sp586nzFbPE,5118
53
- pip/_internal/cli/status_codes.py,sha256=sEFHUaUJbqv8iArL3HAtcztWZmGOFX01hTesSytDEh0,116
54
- pip/_internal/commands/__init__.py,sha256=5oRO9O3dM2vGuh0bFw4HOVletryrz5HHMmmPWwJrH9U,3882
55
- pip/_internal/commands/__pycache__/__init__.cpython-311.pyc,,
56
- pip/_internal/commands/__pycache__/cache.cpython-311.pyc,,
57
- pip/_internal/commands/__pycache__/check.cpython-311.pyc,,
58
- pip/_internal/commands/__pycache__/completion.cpython-311.pyc,,
59
- pip/_internal/commands/__pycache__/configuration.cpython-311.pyc,,
60
- pip/_internal/commands/__pycache__/debug.cpython-311.pyc,,
61
- pip/_internal/commands/__pycache__/download.cpython-311.pyc,,
62
- pip/_internal/commands/__pycache__/freeze.cpython-311.pyc,,
63
- pip/_internal/commands/__pycache__/hash.cpython-311.pyc,,
64
- pip/_internal/commands/__pycache__/help.cpython-311.pyc,,
65
- pip/_internal/commands/__pycache__/index.cpython-311.pyc,,
66
- pip/_internal/commands/__pycache__/inspect.cpython-311.pyc,,
67
- pip/_internal/commands/__pycache__/install.cpython-311.pyc,,
68
- pip/_internal/commands/__pycache__/list.cpython-311.pyc,,
69
- pip/_internal/commands/__pycache__/search.cpython-311.pyc,,
70
- pip/_internal/commands/__pycache__/show.cpython-311.pyc,,
71
- pip/_internal/commands/__pycache__/uninstall.cpython-311.pyc,,
72
- pip/_internal/commands/__pycache__/wheel.cpython-311.pyc,,
73
- pip/_internal/commands/cache.py,sha256=muaT0mbL-ZUpn6AaushVAipzTiMwE4nV2BLbJBwt_KQ,7582
74
- pip/_internal/commands/check.py,sha256=0gjXR7j36xJT5cs2heYU_dfOfpnFfzX8OoPNNoKhqdM,1685
75
- pip/_internal/commands/completion.py,sha256=H0TJvGrdsoleuIyQKzJbicLFppYx2OZA0BLNpQDeFjI,4129
76
- pip/_internal/commands/configuration.py,sha256=NB5uf8HIX8-li95YLoZO09nALIWlLCHDF5aifSKcBn8,9815
77
- pip/_internal/commands/debug.py,sha256=AesEID-4gPFDWTwPiPaGZuD4twdT-imaGuMR5ZfSn8s,6591
78
- pip/_internal/commands/download.py,sha256=LwKEyYMG2L67nQRyGo8hQdNEeMU2bmGWqJfcB8JDXas,5289
79
- pip/_internal/commands/freeze.py,sha256=PaJJB9mT_3vHeZ3mbFL_m1fzTYL-_Or3kDtXwTdZZ-A,2968
80
- pip/_internal/commands/hash.py,sha256=EVVOuvGtoPEdFi8SNnmdqlCQrhCxV-kJsdwtdcCnXGQ,1703
81
- pip/_internal/commands/help.py,sha256=gcc6QDkcgHMOuAn5UxaZwAStsRBrnGSn_yxjS57JIoM,1132
82
- pip/_internal/commands/index.py,sha256=cGQVSA5dAs7caQ9sz4kllYvaI4ZpGiq1WhCgaImXNSA,4793
83
- pip/_internal/commands/inspect.py,sha256=2wSPt9yfr3r6g-s2S5L6PvRtaHNVyb4TuodMStJ39cw,3188
84
- pip/_internal/commands/install.py,sha256=3vT9tnHOV-p6dPMaKDqzivqmcq_kPAI-jVkxOEwN5C4,32389
85
- pip/_internal/commands/list.py,sha256=gI4BWR-6IVMFY3Ucwf9YGwxvCwXyTV5kVTDzJdKWqu0,12440
86
- pip/_internal/commands/search.py,sha256=sbBZiARRc050QquOKcCvOr2K3XLsoYebLKZGRi__iUI,5697
87
- pip/_internal/commands/show.py,sha256=t5jia4zcYJRJZy4U_Von7zMl03hJmmcofj6oDNTnj7Y,6419
88
- pip/_internal/commands/uninstall.py,sha256=OIqO9tqadY8kM4HwhFf1Q62fUIp7v8KDrTRo8yWMz7Y,3886
89
- pip/_internal/commands/wheel.py,sha256=mbFJd4dmUfrVFJkQbK8n2zHyRcD3AI91f7EUo9l3KYg,7396
90
- pip/_internal/configuration.py,sha256=uBKTus43pDIO6IzT2mLWQeROmHhtnoabhniKNjPYvD0,13529
91
- pip/_internal/distributions/__init__.py,sha256=Hq6kt6gXBgjNit5hTTWLAzeCNOKoB-N0pGYSqehrli8,858
92
- pip/_internal/distributions/__pycache__/__init__.cpython-311.pyc,,
93
- pip/_internal/distributions/__pycache__/base.cpython-311.pyc,,
94
- pip/_internal/distributions/__pycache__/installed.cpython-311.pyc,,
95
- pip/_internal/distributions/__pycache__/sdist.cpython-311.pyc,,
96
- pip/_internal/distributions/__pycache__/wheel.cpython-311.pyc,,
97
- pip/_internal/distributions/base.py,sha256=jrF1Vi7eGyqFqMHrieh1PIOrGU7KeCxhYPZnbvtmvGY,1221
98
- pip/_internal/distributions/installed.py,sha256=NI2OgsgH9iBq9l5vB-56vOg5YsybOy-AU4VE5CSCO2I,729
99
- pip/_internal/distributions/sdist.py,sha256=SQBdkatXSigKGG_SaD0U0p1Jwdfrg26UCNcHgkXZfdA,6494
100
- pip/_internal/distributions/wheel.py,sha256=m-J4XO-gvFerlYsFzzSXYDvrx8tLZlJFTCgDxctn8ig,1164
101
- pip/_internal/exceptions.py,sha256=cU4dz7x-1uFGrf2A1_Np9tKcy599bRJKRJkikgARxW4,24244
102
- pip/_internal/index/__init__.py,sha256=vpt-JeTZefh8a-FC22ZeBSXFVbuBcXSGiILhQZJaNpQ,30
103
- pip/_internal/index/__pycache__/__init__.cpython-311.pyc,,
104
- pip/_internal/index/__pycache__/collector.cpython-311.pyc,,
105
- pip/_internal/index/__pycache__/package_finder.cpython-311.pyc,,
106
- pip/_internal/index/__pycache__/sources.cpython-311.pyc,,
107
- pip/_internal/index/collector.py,sha256=3OmYZ3tCoRPGOrELSgQWG-03M-bQHa2-VCA3R_nJAaU,16504
108
- pip/_internal/index/package_finder.py,sha256=rrUw4vj7QE_eMt022jw--wQiKznMaUgVBkJ1UCrVUxo,37873
109
- pip/_internal/index/sources.py,sha256=SVyPitv08-Qalh2_Bk5diAJ9GAA_d-a93koouQodAG0,6557
110
- pip/_internal/locations/__init__.py,sha256=Dh8LJWG8LRlDK4JIj9sfRF96TREzE--N_AIlx7Tqoe4,15365
111
- pip/_internal/locations/__pycache__/__init__.cpython-311.pyc,,
112
- pip/_internal/locations/__pycache__/_distutils.cpython-311.pyc,,
113
- pip/_internal/locations/__pycache__/_sysconfig.cpython-311.pyc,,
114
- pip/_internal/locations/__pycache__/base.cpython-311.pyc,,
115
- pip/_internal/locations/_distutils.py,sha256=cmi6h63xYNXhQe7KEWEMaANjHFy5yQOPt_1_RCWyXMY,6100
116
- pip/_internal/locations/_sysconfig.py,sha256=jyNVtUfMIf0mtyY-Xp1m9yQ8iwECozSVVFmjkN9a2yw,7680
117
- pip/_internal/locations/base.py,sha256=RQiPi1d4FVM2Bxk04dQhXZ2PqkeljEL2fZZ9SYqIQ78,2556
118
- pip/_internal/main.py,sha256=r-UnUe8HLo5XFJz8inTcOOTiu_sxNhgHb6VwlGUllOI,340
119
- pip/_internal/metadata/__init__.py,sha256=84j1dPJaIoz5Q2ZTPi0uB1iaDAHiUNfKtYSGQCfFKpo,4280
120
- pip/_internal/metadata/__pycache__/__init__.cpython-311.pyc,,
121
- pip/_internal/metadata/__pycache__/_json.cpython-311.pyc,,
122
- pip/_internal/metadata/__pycache__/base.cpython-311.pyc,,
123
- pip/_internal/metadata/__pycache__/pkg_resources.cpython-311.pyc,,
124
- pip/_internal/metadata/_json.py,sha256=BTkWfFDrWFwuSodImjtbAh8wCL3isecbnjTb5E6UUDI,2595
125
- pip/_internal/metadata/base.py,sha256=vIwIo1BtoqegehWMAXhNrpLGYBq245rcaCNkBMPnTU8,25277
126
- pip/_internal/metadata/importlib/__init__.py,sha256=9ZVO8BoE7NEZPmoHp5Ap_NJo0HgNIezXXg-TFTtt3Z4,107
127
- pip/_internal/metadata/importlib/__pycache__/__init__.cpython-311.pyc,,
128
- pip/_internal/metadata/importlib/__pycache__/_compat.cpython-311.pyc,,
129
- pip/_internal/metadata/importlib/__pycache__/_dists.cpython-311.pyc,,
130
- pip/_internal/metadata/importlib/__pycache__/_envs.cpython-311.pyc,,
131
- pip/_internal/metadata/importlib/_compat.py,sha256=GAe_prIfCE4iUylrnr_2dJRlkkBVRUbOidEoID7LPoE,1882
132
- pip/_internal/metadata/importlib/_dists.py,sha256=BUV8y6D0PePZrEN3vfJL-m1FDqZ6YPRgAiBeBinHhNg,8181
133
- pip/_internal/metadata/importlib/_envs.py,sha256=7BxanCh3T7arusys__O2ZHJdnmDhQXFmfU7x1-jB5xI,7457
134
- pip/_internal/metadata/pkg_resources.py,sha256=WjwiNdRsvxqxL4MA5Tb5a_q3Q3sUhdpbZF8wGLtPMI0,9773
135
- pip/_internal/models/__init__.py,sha256=3DHUd_qxpPozfzouoqa9g9ts1Czr5qaHfFxbnxriepM,63
136
- pip/_internal/models/__pycache__/__init__.cpython-311.pyc,,
137
- pip/_internal/models/__pycache__/candidate.cpython-311.pyc,,
138
- pip/_internal/models/__pycache__/direct_url.cpython-311.pyc,,
139
- pip/_internal/models/__pycache__/format_control.cpython-311.pyc,,
140
- pip/_internal/models/__pycache__/index.cpython-311.pyc,,
141
- pip/_internal/models/__pycache__/installation_report.cpython-311.pyc,,
142
- pip/_internal/models/__pycache__/link.cpython-311.pyc,,
143
- pip/_internal/models/__pycache__/scheme.cpython-311.pyc,,
144
- pip/_internal/models/__pycache__/search_scope.cpython-311.pyc,,
145
- pip/_internal/models/__pycache__/selection_prefs.cpython-311.pyc,,
146
- pip/_internal/models/__pycache__/target_python.cpython-311.pyc,,
147
- pip/_internal/models/__pycache__/wheel.cpython-311.pyc,,
148
- pip/_internal/models/candidate.py,sha256=6pcABsaR7CfIHlbJbr2_kMkVJFL_yrYjTx6SVWUnCPQ,990
149
- pip/_internal/models/direct_url.py,sha256=f3WiKUwWPdBkT1xm7DlolS32ZAMYh3jbkkVH-BUON5A,6626
150
- pip/_internal/models/format_control.py,sha256=DJpMYjxeYKKQdwNcML2_F0vtAh-qnKTYe-CpTxQe-4g,2520
151
- pip/_internal/models/index.py,sha256=tYnL8oxGi4aSNWur0mG8DAP7rC6yuha_MwJO8xw0crI,1030
152
- pip/_internal/models/installation_report.py,sha256=Hymmzv9-e3WhtewYm2NIOeMyAB6lXp736mpYqb9scZ0,2617
153
- pip/_internal/models/link.py,sha256=nfybVSpXgVHeU0MkC8hMkN2IgMup8Pdaudg74_sQEC8,18602
154
- pip/_internal/models/scheme.py,sha256=3EFQp_ICu_shH1-TBqhl0QAusKCPDFOlgHFeN4XowWs,738
155
- pip/_internal/models/search_scope.py,sha256=iGPQQ6a4Lau8oGQ_FWj8aRLik8A21o03SMO5KnSt-Cg,4644
156
- pip/_internal/models/selection_prefs.py,sha256=KZdi66gsR-_RUXUr9uejssk3rmTHrQVJWeNA2sV-VSY,1907
157
- pip/_internal/models/target_python.py,sha256=qKpZox7J8NAaPmDs5C_aniwfPDxzvpkrCKqfwndG87k,3858
158
- pip/_internal/models/wheel.py,sha256=YqazoIZyma_Q1ejFa1C7NHKQRRWlvWkdK96VRKmDBeI,3600
159
- pip/_internal/network/__init__.py,sha256=jf6Tt5nV_7zkARBrKojIXItgejvoegVJVKUbhAa5Ioc,50
160
- pip/_internal/network/__pycache__/__init__.cpython-311.pyc,,
161
- pip/_internal/network/__pycache__/auth.cpython-311.pyc,,
162
- pip/_internal/network/__pycache__/cache.cpython-311.pyc,,
163
- pip/_internal/network/__pycache__/download.cpython-311.pyc,,
164
- pip/_internal/network/__pycache__/lazy_wheel.cpython-311.pyc,,
165
- pip/_internal/network/__pycache__/session.cpython-311.pyc,,
166
- pip/_internal/network/__pycache__/utils.cpython-311.pyc,,
167
- pip/_internal/network/__pycache__/xmlrpc.cpython-311.pyc,,
168
- pip/_internal/network/auth.py,sha256=MQVP0k4hUXk8ReYEfsGQ5t7_TS7cNHQuaHJuBlJLHxU,16507
169
- pip/_internal/network/cache.py,sha256=hgXftU-eau4MWxHSLquTMzepYq5BPC2zhCkhN3glBy8,2145
170
- pip/_internal/network/download.py,sha256=HvDDq9bVqaN3jcS3DyVJHP7uTqFzbShdkf7NFSoHfkw,6096
171
- pip/_internal/network/lazy_wheel.py,sha256=PbPyuleNhtEq6b2S7rufoGXZWMD15FAGL4XeiAQ8FxA,7638
172
- pip/_internal/network/session.py,sha256=BpDOJ7_Xw5VkgPYWsePzcaqOfcyRZcB2AW7W0HGBST0,18443
173
- pip/_internal/network/utils.py,sha256=6A5SrUJEEUHxbGtbscwU2NpCyz-3ztiDlGWHpRRhsJ8,4073
174
- pip/_internal/network/xmlrpc.py,sha256=AzQgG4GgS152_cqmGr_Oz2MIXsCal-xfsis7fA7nmU0,1791
175
- pip/_internal/operations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
176
- pip/_internal/operations/__pycache__/__init__.cpython-311.pyc,,
177
- pip/_internal/operations/__pycache__/check.cpython-311.pyc,,
178
- pip/_internal/operations/__pycache__/freeze.cpython-311.pyc,,
179
- pip/_internal/operations/__pycache__/prepare.cpython-311.pyc,,
180
- pip/_internal/operations/build/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
181
- pip/_internal/operations/build/__pycache__/__init__.cpython-311.pyc,,
182
- pip/_internal/operations/build/__pycache__/build_tracker.cpython-311.pyc,,
183
- pip/_internal/operations/build/__pycache__/metadata.cpython-311.pyc,,
184
- pip/_internal/operations/build/__pycache__/metadata_editable.cpython-311.pyc,,
185
- pip/_internal/operations/build/__pycache__/metadata_legacy.cpython-311.pyc,,
186
- pip/_internal/operations/build/__pycache__/wheel.cpython-311.pyc,,
187
- pip/_internal/operations/build/__pycache__/wheel_editable.cpython-311.pyc,,
188
- pip/_internal/operations/build/__pycache__/wheel_legacy.cpython-311.pyc,,
189
- pip/_internal/operations/build/build_tracker.py,sha256=vf81EwomN3xe9G8qRJED0VGqNikmRQRQoobNsxi5Xrs,4133
190
- pip/_internal/operations/build/metadata.py,sha256=9S0CUD8U3QqZeXp-Zyt8HxwU90lE4QrnYDgrqZDzBnc,1422
191
- pip/_internal/operations/build/metadata_editable.py,sha256=VLL7LvntKE8qxdhUdEJhcotFzUsOSI8NNS043xULKew,1474
192
- pip/_internal/operations/build/metadata_legacy.py,sha256=o-eU21As175hDC7dluM1fJJ_FqokTIShyWpjKaIpHZw,2198
193
- pip/_internal/operations/build/wheel.py,sha256=sT12FBLAxDC6wyrDorh8kvcZ1jG5qInCRWzzP-UkJiQ,1075
194
- pip/_internal/operations/build/wheel_editable.py,sha256=yOtoH6zpAkoKYEUtr8FhzrYnkNHQaQBjWQ2HYae1MQg,1417
195
- pip/_internal/operations/build/wheel_legacy.py,sha256=C9j6rukgQI1n_JeQLoZGuDdfUwzCXShyIdPTp6edbMQ,3064
196
- pip/_internal/operations/check.py,sha256=WsN7z0_QSgJjw0JsWWcqOHj4wWTaFv0J7mxgUByDCOg,5122
197
- pip/_internal/operations/freeze.py,sha256=mwTZ2uML8aQgo3k8MR79a7SZmmmvdAJqdyaknKbavmg,9784
198
- pip/_internal/operations/install/__init__.py,sha256=mX7hyD2GNBO2mFGokDQ30r_GXv7Y_PLdtxcUv144e-s,51
199
- pip/_internal/operations/install/__pycache__/__init__.cpython-311.pyc,,
200
- pip/_internal/operations/install/__pycache__/editable_legacy.cpython-311.pyc,,
201
- pip/_internal/operations/install/__pycache__/legacy.cpython-311.pyc,,
202
- pip/_internal/operations/install/__pycache__/wheel.cpython-311.pyc,,
203
- pip/_internal/operations/install/editable_legacy.py,sha256=ee4kfJHNuzTdKItbfAsNOSEwq_vD7DRPGkBdK48yBhU,1354
204
- pip/_internal/operations/install/legacy.py,sha256=cHdcHebyzf8w7OaOLwcsTNSMSSV8WBoAPFLay_9CjE8,4105
205
- pip/_internal/operations/install/wheel.py,sha256=CxzEg2wTPX4SxNTPIx0ozTqF1X7LhpCyP3iM2FjcKUE,27407
206
- pip/_internal/operations/prepare.py,sha256=BeYXrLFpRoV5XBnRXQHxRA2plyC36kK9Pms5D9wjCo4,25091
207
- pip/_internal/pyproject.py,sha256=QqSZR5AGwtf3HTa8NdbDq2yj9T2r9S2h9gnU4aX2Kvg,6987
208
- pip/_internal/req/__init__.py,sha256=rUQ9d_Sh3E5kNYqX9pkN0D06YL-LrtcbJQ-LiIonq08,2807
209
- pip/_internal/req/__pycache__/__init__.cpython-311.pyc,,
210
- pip/_internal/req/__pycache__/constructors.cpython-311.pyc,,
211
- pip/_internal/req/__pycache__/req_file.cpython-311.pyc,,
212
- pip/_internal/req/__pycache__/req_install.cpython-311.pyc,,
213
- pip/_internal/req/__pycache__/req_set.cpython-311.pyc,,
214
- pip/_internal/req/__pycache__/req_uninstall.cpython-311.pyc,,
215
- pip/_internal/req/constructors.py,sha256=ypjtq1mOQ3d2mFkFPMf_6Mr8SLKeHQk3tUKHA1ddG0U,16611
216
- pip/_internal/req/req_file.py,sha256=N6lPO3c0to_G73YyGAnk7VUYmed5jV4Qxgmt1xtlXVg,17646
217
- pip/_internal/req/req_install.py,sha256=X4WNQlTtvkeATwWdSiJcNLihwbYI_EnGDgE99p-Aa00,35763
218
- pip/_internal/req/req_set.py,sha256=j3esG0s6SzoVReX9rWn4rpYNtyET_fwxbwJPRimvRxo,2858
219
- pip/_internal/req/req_uninstall.py,sha256=ZFQfgSNz6H1BMsgl87nQNr2iaQCcbFcmXpW8rKVQcic,24045
220
- pip/_internal/resolution/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
221
- pip/_internal/resolution/__pycache__/__init__.cpython-311.pyc,,
222
- pip/_internal/resolution/__pycache__/base.cpython-311.pyc,,
223
- pip/_internal/resolution/base.py,sha256=qlmh325SBVfvG6Me9gc5Nsh5sdwHBwzHBq6aEXtKsLA,583
224
- pip/_internal/resolution/legacy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
225
- pip/_internal/resolution/legacy/__pycache__/__init__.cpython-311.pyc,,
226
- pip/_internal/resolution/legacy/__pycache__/resolver.cpython-311.pyc,,
227
- pip/_internal/resolution/legacy/resolver.py,sha256=9em8D5TcSsEN4xZM1WreaRShOnyM4LlvhMSHpUPsocE,24129
228
- pip/_internal/resolution/resolvelib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
229
- pip/_internal/resolution/resolvelib/__pycache__/__init__.cpython-311.pyc,,
230
- pip/_internal/resolution/resolvelib/__pycache__/base.cpython-311.pyc,,
231
- pip/_internal/resolution/resolvelib/__pycache__/candidates.cpython-311.pyc,,
232
- pip/_internal/resolution/resolvelib/__pycache__/factory.cpython-311.pyc,,
233
- pip/_internal/resolution/resolvelib/__pycache__/found_candidates.cpython-311.pyc,,
234
- pip/_internal/resolution/resolvelib/__pycache__/provider.cpython-311.pyc,,
235
- pip/_internal/resolution/resolvelib/__pycache__/reporter.cpython-311.pyc,,
236
- pip/_internal/resolution/resolvelib/__pycache__/requirements.cpython-311.pyc,,
237
- pip/_internal/resolution/resolvelib/__pycache__/resolver.cpython-311.pyc,,
238
- pip/_internal/resolution/resolvelib/base.py,sha256=u1O4fkvCO4mhmu5i32xrDv9AX5NgUci_eYVyBDQhTIM,5220
239
- pip/_internal/resolution/resolvelib/candidates.py,sha256=6kQZeMzwibnL4lO6bW0hUQQjNEvXfADdFphRRkRvOtc,18963
240
- pip/_internal/resolution/resolvelib/factory.py,sha256=OnjkLIgyk5Tol7uOOqapA1D4qiRHWmPU18DF1yN5N8o,27878
241
- pip/_internal/resolution/resolvelib/found_candidates.py,sha256=hvL3Hoa9VaYo-qEOZkBi2Iqw251UDxPz-uMHVaWmLpE,5705
242
- pip/_internal/resolution/resolvelib/provider.py,sha256=Vd4jW_NnyifB-HMkPYtZIO70M3_RM0MbL5YV6XyBM-w,9914
243
- pip/_internal/resolution/resolvelib/reporter.py,sha256=3ZVVYrs5PqvLFJkGLcuXoMK5mTInFzl31xjUpDBpZZk,2526
244
- pip/_internal/resolution/resolvelib/requirements.py,sha256=B1ndvKPSuyyyTEXt9sKhbwminViSWnBrJa7qO2ln4Z0,5455
245
- pip/_internal/resolution/resolvelib/resolver.py,sha256=nYZ9bTFXj5c1ILKnkSgU7tUCTYyo5V5J-J0sKoA7Wzg,11533
246
- pip/_internal/self_outdated_check.py,sha256=pnqBuKKZQ8OxKP0MaUUiDHl3AtyoMJHHG4rMQ7YcYXY,8167
247
- pip/_internal/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
248
- pip/_internal/utils/__pycache__/__init__.cpython-311.pyc,,
249
- pip/_internal/utils/__pycache__/_log.cpython-311.pyc,,
250
- pip/_internal/utils/__pycache__/appdirs.cpython-311.pyc,,
251
- pip/_internal/utils/__pycache__/compat.cpython-311.pyc,,
252
- pip/_internal/utils/__pycache__/compatibility_tags.cpython-311.pyc,,
253
- pip/_internal/utils/__pycache__/datetime.cpython-311.pyc,,
254
- pip/_internal/utils/__pycache__/deprecation.cpython-311.pyc,,
255
- pip/_internal/utils/__pycache__/direct_url_helpers.cpython-311.pyc,,
256
- pip/_internal/utils/__pycache__/distutils_args.cpython-311.pyc,,
257
- pip/_internal/utils/__pycache__/egg_link.cpython-311.pyc,,
258
- pip/_internal/utils/__pycache__/encoding.cpython-311.pyc,,
259
- pip/_internal/utils/__pycache__/entrypoints.cpython-311.pyc,,
260
- pip/_internal/utils/__pycache__/filesystem.cpython-311.pyc,,
261
- pip/_internal/utils/__pycache__/filetypes.cpython-311.pyc,,
262
- pip/_internal/utils/__pycache__/glibc.cpython-311.pyc,,
263
- pip/_internal/utils/__pycache__/hashes.cpython-311.pyc,,
264
- pip/_internal/utils/__pycache__/inject_securetransport.cpython-311.pyc,,
265
- pip/_internal/utils/__pycache__/logging.cpython-311.pyc,,
266
- pip/_internal/utils/__pycache__/misc.cpython-311.pyc,,
267
- pip/_internal/utils/__pycache__/models.cpython-311.pyc,,
268
- pip/_internal/utils/__pycache__/packaging.cpython-311.pyc,,
269
- pip/_internal/utils/__pycache__/setuptools_build.cpython-311.pyc,,
270
- pip/_internal/utils/__pycache__/subprocess.cpython-311.pyc,,
271
- pip/_internal/utils/__pycache__/temp_dir.cpython-311.pyc,,
272
- pip/_internal/utils/__pycache__/unpacking.cpython-311.pyc,,
273
- pip/_internal/utils/__pycache__/urls.cpython-311.pyc,,
274
- pip/_internal/utils/__pycache__/virtualenv.cpython-311.pyc,,
275
- pip/_internal/utils/__pycache__/wheel.cpython-311.pyc,,
276
- pip/_internal/utils/_log.py,sha256=-jHLOE_THaZz5BFcCnoSL9EYAtJ0nXem49s9of4jvKw,1015
277
- pip/_internal/utils/appdirs.py,sha256=swgcTKOm3daLeXTW6v5BUS2Ti2RvEnGRQYH_yDXklAo,1665
278
- pip/_internal/utils/compat.py,sha256=ACyBfLgj3_XG-iA5omEDrXqDM0cQKzi8h8HRBInzG6Q,1884
279
- pip/_internal/utils/compatibility_tags.py,sha256=ydin8QG8BHqYRsPY4OL6cmb44CbqXl1T0xxS97VhHkk,5377
280
- pip/_internal/utils/datetime.py,sha256=m21Y3wAtQc-ji6Veb6k_M5g6A0ZyFI4egchTdnwh-pQ,242
281
- pip/_internal/utils/deprecation.py,sha256=OLc7GzDwPob9y8jscDYCKUNBV-9CWwqFplBOJPLOpBM,5764
282
- pip/_internal/utils/direct_url_helpers.py,sha256=6F1tc2rcKaCZmgfVwsE6ObIe_Pux23mUVYA-2D9wCFc,3206
283
- pip/_internal/utils/distutils_args.py,sha256=bYUt4wfFJRaeGO4VHia6FNaA8HlYXMcKuEq1zYijY5g,1115
284
- pip/_internal/utils/egg_link.py,sha256=ZryCchR_yQSCsdsMkCpxQjjLbQxObA5GDtLG0RR5mGc,2118
285
- pip/_internal/utils/encoding.py,sha256=qqsXDtiwMIjXMEiIVSaOjwH5YmirCaK-dIzb6-XJsL0,1169
286
- pip/_internal/utils/entrypoints.py,sha256=YlhLTRl2oHBAuqhc-zmL7USS67TPWVHImjeAQHreZTQ,3064
287
- pip/_internal/utils/filesystem.py,sha256=RhMIXUaNVMGjc3rhsDahWQ4MavvEQDdqXqgq-F6fpw8,5122
288
- pip/_internal/utils/filetypes.py,sha256=i8XAQ0eFCog26Fw9yV0Yb1ygAqKYB1w9Cz9n0fj8gZU,716
289
- pip/_internal/utils/glibc.py,sha256=tDfwVYnJCOC0BNVpItpy8CGLP9BjkxFHdl0mTS0J7fc,3110
290
- pip/_internal/utils/hashes.py,sha256=1WhkVNIHNfuYLafBHThIjVKGplxFJXSlQtuG2mXNlJI,4831
291
- pip/_internal/utils/inject_securetransport.py,sha256=o-QRVMGiENrTJxw3fAhA7uxpdEdw6M41TjHYtSVRrcg,795
292
- pip/_internal/utils/logging.py,sha256=U2q0i1n8hPS2gQh8qcocAg5dovGAa_bR24akmXMzrk4,11632
293
- pip/_internal/utils/misc.py,sha256=lX22zJrsk-Q00ghAHB81yHpc_8q7Hp5Vto4k7QDzLfg,23220
294
- pip/_internal/utils/models.py,sha256=5GoYU586SrxURMvDn_jBMJInitviJg4O5-iOU-6I0WY,1193
295
- pip/_internal/utils/packaging.py,sha256=5Wm6_x7lKrlqVjPI5MBN_RurcRHwVYoQ7Ksrs84de7s,2108
296
- pip/_internal/utils/setuptools_build.py,sha256=4i3CuS34yNrkePnZ73rR47pyDzpZBo-SX9V5PNDSSHY,5662
297
- pip/_internal/utils/subprocess.py,sha256=0EMhgfPGFk8FZn6Qq7Hp9PN6YHuQNWiVby4DXcTCON4,9200
298
- pip/_internal/utils/temp_dir.py,sha256=aCX489gRa4Nu0dMKRFyGhV6maJr60uEynu5uCbKR4Qg,7702
299
- pip/_internal/utils/unpacking.py,sha256=SBb2iV1crb89MDRTEKY86R4A_UOWApTQn9VQVcMDOlE,8821
300
- pip/_internal/utils/urls.py,sha256=AhaesUGl-9it6uvG6fsFPOr9ynFpGaTMk4t5XTX7Z_Q,1759
301
- pip/_internal/utils/virtualenv.py,sha256=S6f7csYorRpiD6cvn3jISZYc3I8PJC43H5iMFpRAEDU,3456
302
- pip/_internal/utils/wheel.py,sha256=lXOgZyTlOm5HmK8tw5iw0A3_5A6wRzsXHOaQkIvvloU,4549
303
- pip/_internal/vcs/__init__.py,sha256=UAqvzpbi0VbZo3Ub6skEeZAw-ooIZR-zX_WpCbxyCoU,596
304
- pip/_internal/vcs/__pycache__/__init__.cpython-311.pyc,,
305
- pip/_internal/vcs/__pycache__/bazaar.cpython-311.pyc,,
306
- pip/_internal/vcs/__pycache__/git.cpython-311.pyc,,
307
- pip/_internal/vcs/__pycache__/mercurial.cpython-311.pyc,,
308
- pip/_internal/vcs/__pycache__/subversion.cpython-311.pyc,,
309
- pip/_internal/vcs/__pycache__/versioncontrol.cpython-311.pyc,,
310
- pip/_internal/vcs/bazaar.py,sha256=j0oin0fpGRHcCFCxEcpPCQoFEvA-DMLULKdGP8Nv76o,3519
311
- pip/_internal/vcs/git.py,sha256=mjhwudCx9WlLNkxZ6_kOKmueF0rLoU2i1xeASKF6yiQ,18116
312
- pip/_internal/vcs/mercurial.py,sha256=Bzbd518Jsx-EJI0IhIobiQqiRsUv5TWYnrmRIFWE0Gw,5238
313
- pip/_internal/vcs/subversion.py,sha256=vhZs8L-TNggXqM1bbhl-FpbxE3TrIB6Tgnx8fh3S2HE,11729
314
- pip/_internal/vcs/versioncontrol.py,sha256=KUOc-hN51em9jrqxKwUR3JnkgSE-xSOqMiiJcSaL6B8,22811
315
- pip/_internal/wheel_builder.py,sha256=8cObBCu4mIsMJqZM7xXI9DO3vldiAnRNa1Gt6izPPTs,13079
316
- pip/_vendor/__init__.py,sha256=fNxOSVD0auElsD8fN9tuq5psfgMQ-RFBtD4X5gjlRkg,4966
317
- pip/_vendor/__pycache__/__init__.cpython-311.pyc,,
318
- pip/_vendor/__pycache__/six.cpython-311.pyc,,
319
- pip/_vendor/__pycache__/typing_extensions.cpython-311.pyc,,
320
- pip/_vendor/cachecontrol/__init__.py,sha256=hrxlv3q7upsfyMw8k3gQ9vagBax1pYHSGGqYlZ0Zk0M,465
321
- pip/_vendor/cachecontrol/__pycache__/__init__.cpython-311.pyc,,
322
- pip/_vendor/cachecontrol/__pycache__/_cmd.cpython-311.pyc,,
323
- pip/_vendor/cachecontrol/__pycache__/adapter.cpython-311.pyc,,
324
- pip/_vendor/cachecontrol/__pycache__/cache.cpython-311.pyc,,
325
- pip/_vendor/cachecontrol/__pycache__/compat.cpython-311.pyc,,
326
- pip/_vendor/cachecontrol/__pycache__/controller.cpython-311.pyc,,
327
- pip/_vendor/cachecontrol/__pycache__/filewrapper.cpython-311.pyc,,
328
- pip/_vendor/cachecontrol/__pycache__/heuristics.cpython-311.pyc,,
329
- pip/_vendor/cachecontrol/__pycache__/serialize.cpython-311.pyc,,
330
- pip/_vendor/cachecontrol/__pycache__/wrapper.cpython-311.pyc,,
331
- pip/_vendor/cachecontrol/_cmd.py,sha256=lxUXqfNTVx84zf6tcWbkLZHA6WVBRtJRpfeA9ZqhaAY,1379
332
- pip/_vendor/cachecontrol/adapter.py,sha256=ew9OYEQHEOjvGl06ZsuX8W3DAvHWsQKHwWAxISyGug8,5033
333
- pip/_vendor/cachecontrol/cache.py,sha256=Tty45fOjH40fColTGkqKQvQQmbYsMpk-nCyfLcv2vG4,1535
334
- pip/_vendor/cachecontrol/caches/__init__.py,sha256=h-1cUmOz6mhLsjTjOrJ8iPejpGdLCyG4lzTftfGZvLg,242
335
- pip/_vendor/cachecontrol/caches/__pycache__/__init__.cpython-311.pyc,,
336
- pip/_vendor/cachecontrol/caches/__pycache__/file_cache.cpython-311.pyc,,
337
- pip/_vendor/cachecontrol/caches/__pycache__/redis_cache.cpython-311.pyc,,
338
- pip/_vendor/cachecontrol/caches/file_cache.py,sha256=GpexcE29LoY4MaZwPUTcUBZaDdcsjqyLxZFznk8Hbr4,5271
339
- pip/_vendor/cachecontrol/caches/redis_cache.py,sha256=mp-QWonP40I3xJGK3XVO-Gs9a3UjzlqqEmp9iLJH9F4,1033
340
- pip/_vendor/cachecontrol/compat.py,sha256=LNx7vqBndYdHU8YuJt53ab_8rzMGTXVrvMb7CZJkxG0,778
341
- pip/_vendor/cachecontrol/controller.py,sha256=bAYrt7x_VH4toNpI066LQxbHpYGpY1MxxmZAhspplvw,16416
342
- pip/_vendor/cachecontrol/filewrapper.py,sha256=X4BAQOO26GNOR7nH_fhTzAfeuct2rBQcx_15MyFBpcs,3946
343
- pip/_vendor/cachecontrol/heuristics.py,sha256=8kAyuZLSCyEIgQr6vbUwfhpqg9ows4mM0IV6DWazevI,4154
344
- pip/_vendor/cachecontrol/serialize.py,sha256=_U1NU_C-SDgFzkbAxAsPDgMTHeTWZZaHCQnZN_jh0U8,7105
345
- pip/_vendor/cachecontrol/wrapper.py,sha256=X3-KMZ20Ho3VtqyVaXclpeQpFzokR5NE8tZSfvKVaB8,774
346
- pip/_vendor/certifi/__init__.py,sha256=bK_nm9bLJzNvWZc2oZdiTwg2KWD4HSPBWGaM0zUDvMw,94
347
- pip/_vendor/certifi/__main__.py,sha256=1k3Cr95vCxxGRGDljrW3wMdpZdL3Nhf0u1n-k2qdsCY,255
348
- pip/_vendor/certifi/__pycache__/__init__.cpython-311.pyc,,
349
- pip/_vendor/certifi/__pycache__/__main__.cpython-311.pyc,,
350
- pip/_vendor/certifi/__pycache__/core.cpython-311.pyc,,
351
- pip/_vendor/certifi/cacert.pem,sha256=LBHDzgj_xA05AxnHK8ENT5COnGNElNZe0svFUHMf1SQ,275233
352
- pip/_vendor/certifi/core.py,sha256=DNTl8b_B6C4vO3Vc9_q2uvwHpNnBQoy5onDC4McImxc,4531
353
- pip/_vendor/chardet/__init__.py,sha256=57R-HSxj0PWmILMN0GFmUNqEMfrEVSamXyjD-W6_fbs,4797
354
- pip/_vendor/chardet/__pycache__/__init__.cpython-311.pyc,,
355
- pip/_vendor/chardet/__pycache__/big5freq.cpython-311.pyc,,
356
- pip/_vendor/chardet/__pycache__/big5prober.cpython-311.pyc,,
357
- pip/_vendor/chardet/__pycache__/chardistribution.cpython-311.pyc,,
358
- pip/_vendor/chardet/__pycache__/charsetgroupprober.cpython-311.pyc,,
359
- pip/_vendor/chardet/__pycache__/charsetprober.cpython-311.pyc,,
360
- pip/_vendor/chardet/__pycache__/codingstatemachine.cpython-311.pyc,,
361
- pip/_vendor/chardet/__pycache__/codingstatemachinedict.cpython-311.pyc,,
362
- pip/_vendor/chardet/__pycache__/cp949prober.cpython-311.pyc,,
363
- pip/_vendor/chardet/__pycache__/enums.cpython-311.pyc,,
364
- pip/_vendor/chardet/__pycache__/escprober.cpython-311.pyc,,
365
- pip/_vendor/chardet/__pycache__/escsm.cpython-311.pyc,,
366
- pip/_vendor/chardet/__pycache__/eucjpprober.cpython-311.pyc,,
367
- pip/_vendor/chardet/__pycache__/euckrfreq.cpython-311.pyc,,
368
- pip/_vendor/chardet/__pycache__/euckrprober.cpython-311.pyc,,
369
- pip/_vendor/chardet/__pycache__/euctwfreq.cpython-311.pyc,,
370
- pip/_vendor/chardet/__pycache__/euctwprober.cpython-311.pyc,,
371
- pip/_vendor/chardet/__pycache__/gb2312freq.cpython-311.pyc,,
372
- pip/_vendor/chardet/__pycache__/gb2312prober.cpython-311.pyc,,
373
- pip/_vendor/chardet/__pycache__/hebrewprober.cpython-311.pyc,,
374
- pip/_vendor/chardet/__pycache__/jisfreq.cpython-311.pyc,,
375
- pip/_vendor/chardet/__pycache__/johabfreq.cpython-311.pyc,,
376
- pip/_vendor/chardet/__pycache__/johabprober.cpython-311.pyc,,
377
- pip/_vendor/chardet/__pycache__/jpcntx.cpython-311.pyc,,
378
- pip/_vendor/chardet/__pycache__/langbulgarianmodel.cpython-311.pyc,,
379
- pip/_vendor/chardet/__pycache__/langgreekmodel.cpython-311.pyc,,
380
- pip/_vendor/chardet/__pycache__/langhebrewmodel.cpython-311.pyc,,
381
- pip/_vendor/chardet/__pycache__/langhungarianmodel.cpython-311.pyc,,
382
- pip/_vendor/chardet/__pycache__/langrussianmodel.cpython-311.pyc,,
383
- pip/_vendor/chardet/__pycache__/langthaimodel.cpython-311.pyc,,
384
- pip/_vendor/chardet/__pycache__/langturkishmodel.cpython-311.pyc,,
385
- pip/_vendor/chardet/__pycache__/latin1prober.cpython-311.pyc,,
386
- pip/_vendor/chardet/__pycache__/macromanprober.cpython-311.pyc,,
387
- pip/_vendor/chardet/__pycache__/mbcharsetprober.cpython-311.pyc,,
388
- pip/_vendor/chardet/__pycache__/mbcsgroupprober.cpython-311.pyc,,
389
- pip/_vendor/chardet/__pycache__/mbcssm.cpython-311.pyc,,
390
- pip/_vendor/chardet/__pycache__/resultdict.cpython-311.pyc,,
391
- pip/_vendor/chardet/__pycache__/sbcharsetprober.cpython-311.pyc,,
392
- pip/_vendor/chardet/__pycache__/sbcsgroupprober.cpython-311.pyc,,
393
- pip/_vendor/chardet/__pycache__/sjisprober.cpython-311.pyc,,
394
- pip/_vendor/chardet/__pycache__/universaldetector.cpython-311.pyc,,
395
- pip/_vendor/chardet/__pycache__/utf1632prober.cpython-311.pyc,,
396
- pip/_vendor/chardet/__pycache__/utf8prober.cpython-311.pyc,,
397
- pip/_vendor/chardet/__pycache__/version.cpython-311.pyc,,
398
- pip/_vendor/chardet/big5freq.py,sha256=ltcfP-3PjlNHCoo5e4a7C4z-2DhBTXRfY6jbMbB7P30,31274
399
- pip/_vendor/chardet/big5prober.py,sha256=lPMfwCX6v2AaPgvFh_cSWZcgLDbWiFCHLZ_p9RQ9uxE,1763
400
- pip/_vendor/chardet/chardistribution.py,sha256=13B8XUG4oXDuLdXvfbIWwLFeR-ZU21AqTS1zcdON8bU,10032
401
- pip/_vendor/chardet/charsetgroupprober.py,sha256=UKK3SaIZB2PCdKSIS0gnvMtLR9JJX62M-fZJu3OlWyg,3915
402
- pip/_vendor/chardet/charsetprober.py,sha256=L3t8_wIOov8em-vZWOcbkdsrwe43N6_gqNh5pH7WPd4,5420
403
- pip/_vendor/chardet/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
404
- pip/_vendor/chardet/cli/__pycache__/__init__.cpython-311.pyc,,
405
- pip/_vendor/chardet/cli/__pycache__/chardetect.cpython-311.pyc,,
406
- pip/_vendor/chardet/cli/chardetect.py,sha256=zibMVg5RpKb-ME9_7EYG4ZM2Sf07NHcQzZ12U-rYJho,3242
407
- pip/_vendor/chardet/codingstatemachine.py,sha256=K7k69sw3jY5DmTXoSJQVsUtFIQKYPQVOSJJhBuGv_yE,3732
408
- pip/_vendor/chardet/codingstatemachinedict.py,sha256=0GY3Hi2qIZvDrOOJ3AtqppM1RsYxr_66ER4EHjuMiMc,542
409
- pip/_vendor/chardet/cp949prober.py,sha256=0jKRV7fECuWI16rNnks0ZECKA1iZYCIEaP8A1ZvjUSI,1860
410
- pip/_vendor/chardet/enums.py,sha256=TzECiZoCKNMqgwU76cPCeKWFBqaWvAdLMev5_bCkhY8,1683
411
- pip/_vendor/chardet/escprober.py,sha256=Kho48X65xE0scFylIdeJjM2bcbvRvv0h0WUbMWrJD3A,4006
412
- pip/_vendor/chardet/escsm.py,sha256=AqyXpA2FQFD7k-buBty_7itGEYkhmVa8X09NLRul3QM,12176
413
- pip/_vendor/chardet/eucjpprober.py,sha256=5KYaM9fsxkRYzw1b5k0fL-j_-ezIw-ij9r97a9MHxLY,3934
414
- pip/_vendor/chardet/euckrfreq.py,sha256=3mHuRvXfsq_QcQysDQFb8qSudvTiol71C6Ic2w57tKM,13566
415
- pip/_vendor/chardet/euckrprober.py,sha256=hiFT6wM174GIwRvqDsIcuOc-dDsq2uPKMKbyV8-1Xnc,1753
416
- pip/_vendor/chardet/euctwfreq.py,sha256=2alILE1Lh5eqiFJZjzRkMQXolNJRHY5oBQd-vmZYFFM,36913
417
- pip/_vendor/chardet/euctwprober.py,sha256=NxbpNdBtU0VFI0bKfGfDkpP7S2_8_6FlO87dVH0ogws,1753
418
- pip/_vendor/chardet/gb2312freq.py,sha256=49OrdXzD-HXqwavkqjo8Z7gvs58hONNzDhAyMENNkvY,20735
419
- pip/_vendor/chardet/gb2312prober.py,sha256=KPEBueaSLSvBpFeINMu0D6TgHcR90e5PaQawifzF4o0,1759
420
- pip/_vendor/chardet/hebrewprober.py,sha256=96T_Lj_OmW-fK7JrSHojYjyG3fsGgbzkoTNleZ3kfYE,14537
421
- pip/_vendor/chardet/jisfreq.py,sha256=mm8tfrwqhpOd3wzZKS4NJqkYBQVcDfTM2JiQ5aW932E,25796
422
- pip/_vendor/chardet/johabfreq.py,sha256=dBpOYG34GRX6SL8k_LbS9rxZPMjLjoMlgZ03Pz5Hmqc,42498
423
- pip/_vendor/chardet/johabprober.py,sha256=O1Qw9nVzRnun7vZp4UZM7wvJSv9W941mEU9uDMnY3DU,1752
424
- pip/_vendor/chardet/jpcntx.py,sha256=uhHrYWkLxE_rF5OkHKInm0HUsrjgKHHVQvtt3UcvotA,27055
425
- pip/_vendor/chardet/langbulgarianmodel.py,sha256=vmbvYFP8SZkSxoBvLkFqKiH1sjma5ihk3PTpdy71Rr4,104562
426
- pip/_vendor/chardet/langgreekmodel.py,sha256=JfB7bupjjJH2w3X_mYnQr9cJA_7EuITC2cRW13fUjeI,98484
427
- pip/_vendor/chardet/langhebrewmodel.py,sha256=3HXHaLQPNAGcXnJjkIJfozNZLTvTJmf4W5Awi6zRRKc,98196
428
- pip/_vendor/chardet/langhungarianmodel.py,sha256=WxbeQIxkv8YtApiNqxQcvj-tMycsoI4Xy-fwkDHpP_Y,101363
429
- pip/_vendor/chardet/langrussianmodel.py,sha256=s395bTZ87ESTrZCOdgXbEjZ9P1iGPwCl_8xSsac_DLY,128035
430
- pip/_vendor/chardet/langthaimodel.py,sha256=7bJlQitRpTnVGABmbSznHnJwOHDy3InkTvtFUx13WQI,102774
431
- pip/_vendor/chardet/langturkishmodel.py,sha256=XY0eGdTIy4eQ9Xg1LVPZacb-UBhHBR-cq0IpPVHowKc,95372
432
- pip/_vendor/chardet/latin1prober.py,sha256=p15EEmFbmQUwbKLC7lOJVGHEZwcG45ubEZYTGu01J5g,5380
433
- pip/_vendor/chardet/macromanprober.py,sha256=9anfzmY6TBfUPDyBDOdY07kqmTHpZ1tK0jL-p1JWcOY,6077
434
- pip/_vendor/chardet/mbcharsetprober.py,sha256=Wr04WNI4F3X_VxEverNG-H25g7u-MDDKlNt-JGj-_uU,3715
435
- pip/_vendor/chardet/mbcsgroupprober.py,sha256=iRpaNBjV0DNwYPu_z6TiHgRpwYahiM7ztI_4kZ4Uz9A,2131
436
- pip/_vendor/chardet/mbcssm.py,sha256=hUtPvDYgWDaA2dWdgLsshbwRfm3Q5YRlRogdmeRUNQw,30391
437
- pip/_vendor/chardet/metadata/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
438
- pip/_vendor/chardet/metadata/__pycache__/__init__.cpython-311.pyc,,
439
- pip/_vendor/chardet/metadata/__pycache__/languages.cpython-311.pyc,,
440
- pip/_vendor/chardet/metadata/languages.py,sha256=FhvBIdZFxRQ-dTwkb_0madRKgVBCaUMQz9I5xqjE5iQ,13560
441
- pip/_vendor/chardet/resultdict.py,sha256=ez4FRvN5KaSosJeJ2WzUyKdDdg35HDy_SSLPXKCdt5M,402
442
- pip/_vendor/chardet/sbcharsetprober.py,sha256=-nd3F90i7GpXLjehLVHqVBE0KlWzGvQUPETLBNn4o6U,6400
443
- pip/_vendor/chardet/sbcsgroupprober.py,sha256=gcgI0fOfgw_3YTClpbra_MNxwyEyJ3eUXraoLHYb59E,4137
444
- pip/_vendor/chardet/sjisprober.py,sha256=aqQufMzRw46ZpFlzmYaYeT2-nzmKb-hmcrApppJ862k,4007
445
- pip/_vendor/chardet/universaldetector.py,sha256=xYBrg4x0dd9WnT8qclfADVD9ondrUNkqPmvte1pa520,14848
446
- pip/_vendor/chardet/utf1632prober.py,sha256=pw1epGdMj1hDGiCu1AHqqzOEfjX8MVdiW7O1BlT8-eQ,8505
447
- pip/_vendor/chardet/utf8prober.py,sha256=8m08Ub5490H4jQ6LYXvFysGtgKoKsHUd2zH_i8_TnVw,2812
448
- pip/_vendor/chardet/version.py,sha256=lGtJcxGM44Qz4Cbk4rbbmrKxnNr1-97U25TameLehZw,244
449
- pip/_vendor/colorama/__init__.py,sha256=wePQA4U20tKgYARySLEC047ucNX-g8pRLpYBuiHlLb8,266
450
- pip/_vendor/colorama/__pycache__/__init__.cpython-311.pyc,,
451
- pip/_vendor/colorama/__pycache__/ansi.cpython-311.pyc,,
452
- pip/_vendor/colorama/__pycache__/ansitowin32.cpython-311.pyc,,
453
- pip/_vendor/colorama/__pycache__/initialise.cpython-311.pyc,,
454
- pip/_vendor/colorama/__pycache__/win32.cpython-311.pyc,,
455
- pip/_vendor/colorama/__pycache__/winterm.cpython-311.pyc,,
456
- pip/_vendor/colorama/ansi.py,sha256=Top4EeEuaQdBWdteKMEcGOTeKeF19Q-Wo_6_Cj5kOzQ,2522
457
- pip/_vendor/colorama/ansitowin32.py,sha256=vPNYa3OZbxjbuFyaVo0Tmhmy1FZ1lKMWCnT7odXpItk,11128
458
- pip/_vendor/colorama/initialise.py,sha256=-hIny86ClXo39ixh5iSCfUIa2f_h_bgKRDW7gqs-KLU,3325
459
- pip/_vendor/colorama/tests/__init__.py,sha256=MkgPAEzGQd-Rq0w0PZXSX2LadRWhUECcisJY8lSrm4Q,75
460
- pip/_vendor/colorama/tests/__pycache__/__init__.cpython-311.pyc,,
461
- pip/_vendor/colorama/tests/__pycache__/ansi_test.cpython-311.pyc,,
462
- pip/_vendor/colorama/tests/__pycache__/ansitowin32_test.cpython-311.pyc,,
463
- pip/_vendor/colorama/tests/__pycache__/initialise_test.cpython-311.pyc,,
464
- pip/_vendor/colorama/tests/__pycache__/isatty_test.cpython-311.pyc,,
465
- pip/_vendor/colorama/tests/__pycache__/utils.cpython-311.pyc,,
466
- pip/_vendor/colorama/tests/__pycache__/winterm_test.cpython-311.pyc,,
467
- pip/_vendor/colorama/tests/ansi_test.py,sha256=FeViDrUINIZcr505PAxvU4AjXz1asEiALs9GXMhwRaE,2839
468
- pip/_vendor/colorama/tests/ansitowin32_test.py,sha256=RN7AIhMJ5EqDsYaCjVo-o4u8JzDD4ukJbmevWKS70rY,10678
469
- pip/_vendor/colorama/tests/initialise_test.py,sha256=BbPy-XfyHwJ6zKozuQOvNvQZzsx9vdb_0bYXn7hsBTc,6741
470
- pip/_vendor/colorama/tests/isatty_test.py,sha256=Pg26LRpv0yQDB5Ac-sxgVXG7hsA1NYvapFgApZfYzZg,1866
471
- pip/_vendor/colorama/tests/utils.py,sha256=1IIRylG39z5-dzq09R_ngufxyPZxgldNbrxKxUGwGKE,1079
472
- pip/_vendor/colorama/tests/winterm_test.py,sha256=qoWFPEjym5gm2RuMwpf3pOis3a5r_PJZFCzK254JL8A,3709
473
- pip/_vendor/colorama/win32.py,sha256=YQOKwMTwtGBbsY4dL5HYTvwTeP9wIQra5MvPNddpxZs,6181
474
- pip/_vendor/colorama/winterm.py,sha256=XCQFDHjPi6AHYNdZwy0tA02H-Jh48Jp-HvCjeLeLp3U,7134
475
- pip/_vendor/distlib/__init__.py,sha256=acgfseOC55dNrVAzaBKpUiH3Z6V7Q1CaxsiQ3K7pC-E,581
476
- pip/_vendor/distlib/__pycache__/__init__.cpython-311.pyc,,
477
- pip/_vendor/distlib/__pycache__/compat.cpython-311.pyc,,
478
- pip/_vendor/distlib/__pycache__/database.cpython-311.pyc,,
479
- pip/_vendor/distlib/__pycache__/index.cpython-311.pyc,,
480
- pip/_vendor/distlib/__pycache__/locators.cpython-311.pyc,,
481
- pip/_vendor/distlib/__pycache__/manifest.cpython-311.pyc,,
482
- pip/_vendor/distlib/__pycache__/markers.cpython-311.pyc,,
483
- pip/_vendor/distlib/__pycache__/metadata.cpython-311.pyc,,
484
- pip/_vendor/distlib/__pycache__/resources.cpython-311.pyc,,
485
- pip/_vendor/distlib/__pycache__/scripts.cpython-311.pyc,,
486
- pip/_vendor/distlib/__pycache__/util.cpython-311.pyc,,
487
- pip/_vendor/distlib/__pycache__/version.cpython-311.pyc,,
488
- pip/_vendor/distlib/__pycache__/wheel.cpython-311.pyc,,
489
- pip/_vendor/distlib/compat.py,sha256=tfoMrj6tujk7G4UC2owL6ArgDuCKabgBxuJRGZSmpko,41259
490
- pip/_vendor/distlib/database.py,sha256=o_mw0fAr93NDAHHHfqG54Y1Hi9Rkfrp2BX15XWZYK50,51697
491
- pip/_vendor/distlib/index.py,sha256=HFiDG7LMoaBs829WuotrfIwcErOOExUOR_AeBtw_TCU,20834
492
- pip/_vendor/distlib/locators.py,sha256=wNzG-zERzS_XGls-nBPVVyLRHa2skUlkn0-5n0trMWA,51991
493
- pip/_vendor/distlib/manifest.py,sha256=nQEhYmgoreaBZzyFzwYsXxJARu3fo4EkunU163U16iE,14811
494
- pip/_vendor/distlib/markers.py,sha256=TpHHHLgkzyT7YHbwj-2i6weRaq-Ivy2-MUnrDkjau-U,5058
495
- pip/_vendor/distlib/metadata.py,sha256=g_DIiu8nBXRzA-mWPRpatHGbmFZqaFoss7z9TG7QSUU,39801
496
- pip/_vendor/distlib/resources.py,sha256=LwbPksc0A1JMbi6XnuPdMBUn83X7BPuFNWqPGEKI698,10820
497
- pip/_vendor/distlib/scripts.py,sha256=BmkTKmiTk4m2cj-iueliatwz3ut_9SsABBW51vnQnZU,18102
498
- pip/_vendor/distlib/util.py,sha256=31dPXn3Rfat0xZLeVoFpuniyhe6vsbl9_QN-qd9Lhlk,66262
499
- pip/_vendor/distlib/version.py,sha256=WG__LyAa2GwmA6qSoEJtvJE8REA1LZpbSizy8WvhJLk,23513
500
- pip/_vendor/distlib/wheel.py,sha256=Rgqs658VsJ3R2845qwnZD8XQryV2CzWw2mghwLvxxsI,43898
501
- pip/_vendor/distro/__init__.py,sha256=2fHjF-SfgPvjyNZ1iHh_wjqWdR_Yo5ODHwZC0jLBPhc,981
502
- pip/_vendor/distro/__main__.py,sha256=bu9d3TifoKciZFcqRBuygV3GSuThnVD_m2IK4cz96Vs,64
503
- pip/_vendor/distro/__pycache__/__init__.cpython-311.pyc,,
504
- pip/_vendor/distro/__pycache__/__main__.cpython-311.pyc,,
505
- pip/_vendor/distro/__pycache__/distro.cpython-311.pyc,,
506
- pip/_vendor/distro/distro.py,sha256=UZO1LjIhtFCMdlbiz39gj3raV-Amf3SBwzGzfApiMHw,49330
507
- pip/_vendor/idna/__init__.py,sha256=KJQN1eQBr8iIK5SKrJ47lXvxG0BJ7Lm38W4zT0v_8lk,849
508
- pip/_vendor/idna/__pycache__/__init__.cpython-311.pyc,,
509
- pip/_vendor/idna/__pycache__/codec.cpython-311.pyc,,
510
- pip/_vendor/idna/__pycache__/compat.cpython-311.pyc,,
511
- pip/_vendor/idna/__pycache__/core.cpython-311.pyc,,
512
- pip/_vendor/idna/__pycache__/idnadata.cpython-311.pyc,,
513
- pip/_vendor/idna/__pycache__/intranges.cpython-311.pyc,,
514
- pip/_vendor/idna/__pycache__/package_data.cpython-311.pyc,,
515
- pip/_vendor/idna/__pycache__/uts46data.cpython-311.pyc,,
516
- pip/_vendor/idna/codec.py,sha256=6ly5odKfqrytKT9_7UrlGklHnf1DSK2r9C6cSM4sa28,3374
517
- pip/_vendor/idna/compat.py,sha256=0_sOEUMT4CVw9doD3vyRhX80X19PwqFoUBs7gWsFME4,321
518
- pip/_vendor/idna/core.py,sha256=1JxchwKzkxBSn7R_oCE12oBu3eVux0VzdxolmIad24M,12950
519
- pip/_vendor/idna/idnadata.py,sha256=xUjqKqiJV8Ho_XzBpAtv5JFoVPSupK-SUXvtjygUHqw,44375
520
- pip/_vendor/idna/intranges.py,sha256=YBr4fRYuWH7kTKS2tXlFjM24ZF1Pdvcir-aywniInqg,1881
521
- pip/_vendor/idna/package_data.py,sha256=C_jHJzmX8PI4xq0jpzmcTMxpb5lDsq4o5VyxQzlVrZE,21
522
- pip/_vendor/idna/uts46data.py,sha256=zvjZU24s58_uAS850Mcd0NnD0X7_gCMAMjzWNIeUJdc,206539
523
- pip/_vendor/msgpack/__init__.py,sha256=NryGaKLDk_Egd58ZxXpnuI7OWO27AXz7S6CBFRM3sAY,1132
524
- pip/_vendor/msgpack/__pycache__/__init__.cpython-311.pyc,,
525
- pip/_vendor/msgpack/__pycache__/exceptions.cpython-311.pyc,,
526
- pip/_vendor/msgpack/__pycache__/ext.cpython-311.pyc,,
527
- pip/_vendor/msgpack/__pycache__/fallback.cpython-311.pyc,,
528
- pip/_vendor/msgpack/exceptions.py,sha256=dCTWei8dpkrMsQDcjQk74ATl9HsIBH0ybt8zOPNqMYc,1081
529
- pip/_vendor/msgpack/ext.py,sha256=TuldJPkYu8Wo_Xh0tFGL2l06-gY88NSR8tOje9fo2Wg,6080
530
- pip/_vendor/msgpack/fallback.py,sha256=OORDn86-fHBPlu-rPlMdM10KzkH6S_Rx9CHN1b7o4cg,34557
531
- pip/_vendor/packaging/__about__.py,sha256=ugASIO2w1oUyH8_COqQ2X_s0rDhjbhQC3yJocD03h2c,661
532
- pip/_vendor/packaging/__init__.py,sha256=b9Kk5MF7KxhhLgcDmiUWukN-LatWFxPdNug0joPhHSk,497
533
- pip/_vendor/packaging/__pycache__/__about__.cpython-311.pyc,,
534
- pip/_vendor/packaging/__pycache__/__init__.cpython-311.pyc,,
535
- pip/_vendor/packaging/__pycache__/_manylinux.cpython-311.pyc,,
536
- pip/_vendor/packaging/__pycache__/_musllinux.cpython-311.pyc,,
537
- pip/_vendor/packaging/__pycache__/_structures.cpython-311.pyc,,
538
- pip/_vendor/packaging/__pycache__/markers.cpython-311.pyc,,
539
- pip/_vendor/packaging/__pycache__/requirements.cpython-311.pyc,,
540
- pip/_vendor/packaging/__pycache__/specifiers.cpython-311.pyc,,
541
- pip/_vendor/packaging/__pycache__/tags.cpython-311.pyc,,
542
- pip/_vendor/packaging/__pycache__/utils.cpython-311.pyc,,
543
- pip/_vendor/packaging/__pycache__/version.cpython-311.pyc,,
544
- pip/_vendor/packaging/_manylinux.py,sha256=XcbiXB-qcjv3bcohp6N98TMpOP4_j3m-iOA8ptK2GWY,11488
545
- pip/_vendor/packaging/_musllinux.py,sha256=_KGgY_qc7vhMGpoqss25n2hiLCNKRtvz9mCrS7gkqyc,4378
546
- pip/_vendor/packaging/_structures.py,sha256=q3eVNmbWJGG_S0Dit_S3Ao8qQqz_5PYTXFAKBZe5yr4,1431
547
- pip/_vendor/packaging/markers.py,sha256=AJBOcY8Oq0kYc570KuuPTkvuqjAlhufaE2c9sCUbm64,8487
548
- pip/_vendor/packaging/requirements.py,sha256=NtDlPBtojpn1IUC85iMjPNsUmufjpSlwnNA-Xb4m5NA,4676
549
- pip/_vendor/packaging/specifiers.py,sha256=LRQ0kFsHrl5qfcFNEEJrIFYsnIHQUJXY9fIsakTrrqE,30110
550
- pip/_vendor/packaging/tags.py,sha256=lmsnGNiJ8C4D_Pf9PbM0qgbZvD9kmB9lpZBQUZa3R_Y,15699
551
- pip/_vendor/packaging/utils.py,sha256=dJjeat3BS-TYn1RrUFVwufUMasbtzLfYRoy_HXENeFQ,4200
552
- pip/_vendor/packaging/version.py,sha256=_fLRNrFrxYcHVfyo8vk9j8s6JM8N_xsSxVFr6RJyco8,14665
553
- pip/_vendor/pkg_resources/__init__.py,sha256=NnpQ3g6BCHzpMgOR_OLBmYtniY4oOzdKpwqghfq_6ug,108287
554
- pip/_vendor/pkg_resources/__pycache__/__init__.cpython-311.pyc,,
555
- pip/_vendor/pkg_resources/__pycache__/py31compat.cpython-311.pyc,,
556
- pip/_vendor/pkg_resources/py31compat.py,sha256=CRk8fkiPRDLsbi5pZcKsHI__Pbmh_94L8mr9Qy9Ab2U,562
557
- pip/_vendor/platformdirs/__init__.py,sha256=9iY4Z8iJDZB0djln6zHHwrPVWpB54TCygcnh--MujU0,12936
558
- pip/_vendor/platformdirs/__main__.py,sha256=ZmsnTxEOxtTvwa-Y_Vfab_JN3X4XCVeN8X0yyy9-qnc,1176
559
- pip/_vendor/platformdirs/__pycache__/__init__.cpython-311.pyc,,
560
- pip/_vendor/platformdirs/__pycache__/__main__.cpython-311.pyc,,
561
- pip/_vendor/platformdirs/__pycache__/android.cpython-311.pyc,,
562
- pip/_vendor/platformdirs/__pycache__/api.cpython-311.pyc,,
563
- pip/_vendor/platformdirs/__pycache__/macos.cpython-311.pyc,,
564
- pip/_vendor/platformdirs/__pycache__/unix.cpython-311.pyc,,
565
- pip/_vendor/platformdirs/__pycache__/version.cpython-311.pyc,,
566
- pip/_vendor/platformdirs/__pycache__/windows.cpython-311.pyc,,
567
- pip/_vendor/platformdirs/android.py,sha256=GKizhyS7ESRiU67u8UnBJLm46goau9937EchXWbPBlk,4068
568
- pip/_vendor/platformdirs/api.py,sha256=MXKHXOL3eh_-trSok-JUTjAR_zjmmKF3rjREVABjP8s,4910
569
- pip/_vendor/platformdirs/macos.py,sha256=-3UXQewbT0yMhMdkzRXfXGAntmLIH7Qt4a9Hlf8I5_Y,2655
570
- pip/_vendor/platformdirs/unix.py,sha256=P-WQjSSieE38DXjMDa1t4XHnKJQ5idEaKT0PyXwm8KQ,6911
571
- pip/_vendor/platformdirs/version.py,sha256=qaN-fw_htIgKUVXoAuAEVgKxQu3tZ9qE2eiKkWIS7LA,160
572
- pip/_vendor/platformdirs/windows.py,sha256=LOrXLgI0CjQldDo2zhOZYGYZ6g4e_cJOCB_pF9aMRWQ,6596
573
- pip/_vendor/pygments/__init__.py,sha256=5oLcMLXD0cTG8YcHBPITtK1fS0JBASILEvEnWkTezgE,2999
574
- pip/_vendor/pygments/__main__.py,sha256=p0_rz3JZmNZMNZBOqDojaEx1cr9wmA9FQZX_TYl74lQ,353
575
- pip/_vendor/pygments/__pycache__/__init__.cpython-311.pyc,,
576
- pip/_vendor/pygments/__pycache__/__main__.cpython-311.pyc,,
577
- pip/_vendor/pygments/__pycache__/cmdline.cpython-311.pyc,,
578
- pip/_vendor/pygments/__pycache__/console.cpython-311.pyc,,
579
- pip/_vendor/pygments/__pycache__/filter.cpython-311.pyc,,
580
- pip/_vendor/pygments/__pycache__/formatter.cpython-311.pyc,,
581
- pip/_vendor/pygments/__pycache__/lexer.cpython-311.pyc,,
582
- pip/_vendor/pygments/__pycache__/modeline.cpython-311.pyc,,
583
- pip/_vendor/pygments/__pycache__/plugin.cpython-311.pyc,,
584
- pip/_vendor/pygments/__pycache__/regexopt.cpython-311.pyc,,
585
- pip/_vendor/pygments/__pycache__/scanner.cpython-311.pyc,,
586
- pip/_vendor/pygments/__pycache__/sphinxext.cpython-311.pyc,,
587
- pip/_vendor/pygments/__pycache__/style.cpython-311.pyc,,
588
- pip/_vendor/pygments/__pycache__/token.cpython-311.pyc,,
589
- pip/_vendor/pygments/__pycache__/unistring.cpython-311.pyc,,
590
- pip/_vendor/pygments/__pycache__/util.cpython-311.pyc,,
591
- pip/_vendor/pygments/cmdline.py,sha256=rc0fah4eknRqFgn1wKNEwkq0yWnSqYOGaA4PaIeOxVY,23685
592
- pip/_vendor/pygments/console.py,sha256=hQfqCFuOlGk7DW2lPQYepsw-wkOH1iNt9ylNA1eRymM,1697
593
- pip/_vendor/pygments/filter.py,sha256=NglMmMPTRRv-zuRSE_QbWid7JXd2J4AvwjCW2yWALXU,1938
594
- pip/_vendor/pygments/filters/__init__.py,sha256=b5YuXB9rampSy2-cMtKxGQoMDfrG4_DcvVwZrzTlB6w,40386
595
- pip/_vendor/pygments/filters/__pycache__/__init__.cpython-311.pyc,,
596
- pip/_vendor/pygments/formatter.py,sha256=6-TS2Y8pUMeWIUolWwr1O8ruC-U6HydWDwOdbAiJgJQ,2917
597
- pip/_vendor/pygments/formatters/__init__.py,sha256=YTqGeHS17fNXCLMZpf7oCxBCKLB9YLsZ8IAsjGhawyg,4810
598
- pip/_vendor/pygments/formatters/__pycache__/__init__.cpython-311.pyc,,
599
- pip/_vendor/pygments/formatters/__pycache__/_mapping.cpython-311.pyc,,
600
- pip/_vendor/pygments/formatters/__pycache__/bbcode.cpython-311.pyc,,
601
- pip/_vendor/pygments/formatters/__pycache__/groff.cpython-311.pyc,,
602
- pip/_vendor/pygments/formatters/__pycache__/html.cpython-311.pyc,,
603
- pip/_vendor/pygments/formatters/__pycache__/img.cpython-311.pyc,,
604
- pip/_vendor/pygments/formatters/__pycache__/irc.cpython-311.pyc,,
605
- pip/_vendor/pygments/formatters/__pycache__/latex.cpython-311.pyc,,
606
- pip/_vendor/pygments/formatters/__pycache__/other.cpython-311.pyc,,
607
- pip/_vendor/pygments/formatters/__pycache__/pangomarkup.cpython-311.pyc,,
608
- pip/_vendor/pygments/formatters/__pycache__/rtf.cpython-311.pyc,,
609
- pip/_vendor/pygments/formatters/__pycache__/svg.cpython-311.pyc,,
610
- pip/_vendor/pygments/formatters/__pycache__/terminal.cpython-311.pyc,,
611
- pip/_vendor/pygments/formatters/__pycache__/terminal256.cpython-311.pyc,,
612
- pip/_vendor/pygments/formatters/_mapping.py,sha256=fCZgvsM6UEuZUG7J6lr47eVss5owKd_JyaNbDfxeqmQ,4104
613
- pip/_vendor/pygments/formatters/bbcode.py,sha256=JrL4ITjN-KzPcuQpPMBf1pm33eW2sDUNr8WzSoAJsJA,3314
614
- pip/_vendor/pygments/formatters/groff.py,sha256=xrOFoLbafSA9uHsSLRogy79_Zc4GWJ8tMK2hCdTJRsw,5086
615
- pip/_vendor/pygments/formatters/html.py,sha256=QNt9prPgxmbKx2M-nfDwoR1bIg06-sNouQuWnE434Wc,35441
616
- pip/_vendor/pygments/formatters/img.py,sha256=h75Y7IRZLZxDEIwyoOsdRLTwm7kLVPbODKkgEiJ0iKI,21938
617
- pip/_vendor/pygments/formatters/irc.py,sha256=iwk5tDJOxbCV64SCmOFyvk__x6RD60ay0nUn7ko9n7U,5871
618
- pip/_vendor/pygments/formatters/latex.py,sha256=thPbytJCIs2AUXsO3NZwqKtXJ-upOlcXP4CXsx94G4w,19351
619
- pip/_vendor/pygments/formatters/other.py,sha256=PczqK1Rms43lz6iucOLPeBMxIncPKOGBt-195w1ynII,5073
620
- pip/_vendor/pygments/formatters/pangomarkup.py,sha256=ZZzMsKJKXrsDniFeMTkIpe7aQ4VZYRHu0idWmSiUJ2U,2212
621
- pip/_vendor/pygments/formatters/rtf.py,sha256=abrKlWjipBkQvhIICxtjYTUNv6WME0iJJObFvqVuudE,5014
622
- pip/_vendor/pygments/formatters/svg.py,sha256=6MM9YyO8NhU42RTQfTWBiagWMnsf9iG5gwhqSriHORE,7335
623
- pip/_vendor/pygments/formatters/terminal.py,sha256=NpEGvwkC6LgMLQTjVzGrJXji3XcET1sb5JCunSCzoRo,4674
624
- pip/_vendor/pygments/formatters/terminal256.py,sha256=4v4OVizvsxtwWBpIy_Po30zeOzE5oJg_mOc1-rCjMDk,11753
625
- pip/_vendor/pygments/lexer.py,sha256=ZPB_TGn_qzrXodRFwEdPzzJk6LZBo9BlfSy3lacc6zg,32005
626
- pip/_vendor/pygments/lexers/__init__.py,sha256=8d80-XfL5UKDCC1wRD1a_ZBZDkZ2HOe7Zul8SsnNYFE,11174
627
- pip/_vendor/pygments/lexers/__pycache__/__init__.cpython-311.pyc,,
628
- pip/_vendor/pygments/lexers/__pycache__/_mapping.cpython-311.pyc,,
629
- pip/_vendor/pygments/lexers/__pycache__/python.cpython-311.pyc,,
630
- pip/_vendor/pygments/lexers/_mapping.py,sha256=zEiCV5FPiBioMJQJjw9kk7IJ5Y9GwknS4VJPYlcNchs,70232
631
- pip/_vendor/pygments/lexers/python.py,sha256=gZROs9iNSOA18YyVghP1cUCD0OwYZ04a6PCwgSOCeSA,53376
632
- pip/_vendor/pygments/modeline.py,sha256=gIbMSYrjSWPk0oATz7W9vMBYkUyTK2OcdVyKjioDRvA,986
633
- pip/_vendor/pygments/plugin.py,sha256=5rPxEoB_89qQMpOs0nI4KyLOzAHNlbQiwEMOKxqNmv8,2591
634
- pip/_vendor/pygments/regexopt.py,sha256=c6xcXGpGgvCET_3VWawJJqAnOp0QttFpQEdOPNY2Py0,3072
635
- pip/_vendor/pygments/scanner.py,sha256=F2T2G6cpkj-yZtzGQr-sOBw5w5-96UrJWveZN6va2aM,3092
636
- pip/_vendor/pygments/sphinxext.py,sha256=F8L0211sPnXaiWutN0lkSUajWBwlgDMIEFFAbMWOvZY,4630
637
- pip/_vendor/pygments/style.py,sha256=RRnussX1YiK9Z7HipIvKorImxu3-HnkdpPCO4u925T0,6257
638
- pip/_vendor/pygments/styles/__init__.py,sha256=iZDZ7PBKb55SpGlE1--cx9cbmWx5lVTH4bXO87t2Vok,3419
639
- pip/_vendor/pygments/styles/__pycache__/__init__.cpython-311.pyc,,
640
- pip/_vendor/pygments/token.py,sha256=vA2yNHGJBHfq4jNQSah7C9DmIOp34MmYHPA8P-cYAHI,6184
641
- pip/_vendor/pygments/unistring.py,sha256=gP3gK-6C4oAFjjo9HvoahsqzuV4Qz0jl0E0OxfDerHI,63187
642
- pip/_vendor/pygments/util.py,sha256=KgwpWWC3By5AiNwxGTI7oI9aXupH2TyZWukafBJe0Mg,9110
643
- pip/_vendor/pyparsing/__init__.py,sha256=ZPdI7pPo4IYXcABw-51AcqOzsxVvDtqnQbyn_qYWZvo,9171
644
- pip/_vendor/pyparsing/__pycache__/__init__.cpython-311.pyc,,
645
- pip/_vendor/pyparsing/__pycache__/actions.cpython-311.pyc,,
646
- pip/_vendor/pyparsing/__pycache__/common.cpython-311.pyc,,
647
- pip/_vendor/pyparsing/__pycache__/core.cpython-311.pyc,,
648
- pip/_vendor/pyparsing/__pycache__/exceptions.cpython-311.pyc,,
649
- pip/_vendor/pyparsing/__pycache__/helpers.cpython-311.pyc,,
650
- pip/_vendor/pyparsing/__pycache__/results.cpython-311.pyc,,
651
- pip/_vendor/pyparsing/__pycache__/testing.cpython-311.pyc,,
652
- pip/_vendor/pyparsing/__pycache__/unicode.cpython-311.pyc,,
653
- pip/_vendor/pyparsing/__pycache__/util.cpython-311.pyc,,
654
- pip/_vendor/pyparsing/actions.py,sha256=wU9i32e0y1ymxKE3OUwSHO-SFIrt1h_wv6Ws0GQjpNU,6426
655
- pip/_vendor/pyparsing/common.py,sha256=lFL97ooIeR75CmW5hjURZqwDCTgruqltcTCZ-ulLO2Q,12936
656
- pip/_vendor/pyparsing/core.py,sha256=AzTm1KFT1FIhiw2zvXZJmrpQoAwB0wOmeDCiR6SYytw,213344
657
- pip/_vendor/pyparsing/diagram/__init__.py,sha256=KW0PV_TvWKnL7jysz0pQbZ24nzWWu2ZfNaeyUIIywIg,23685
658
- pip/_vendor/pyparsing/diagram/__pycache__/__init__.cpython-311.pyc,,
659
- pip/_vendor/pyparsing/exceptions.py,sha256=3LbSafD32NYb1Tzt85GHNkhEAU1eZkTtNSk24cPMemo,9023
660
- pip/_vendor/pyparsing/helpers.py,sha256=QpUOjW0-psvueMwWb9bQpU2noqKCv98_wnw1VSzSdVo,39129
661
- pip/_vendor/pyparsing/results.py,sha256=HgNvWVXBdQP-Q6PtJfoCEeOJk2nwEvG-2KVKC5sGA30,25341
662
- pip/_vendor/pyparsing/testing.py,sha256=7tu4Abp4uSeJV0N_yEPRmmNUhpd18ZQP3CrX41DM814,13402
663
- pip/_vendor/pyparsing/unicode.py,sha256=fwuhMj30SQ165Cv7HJpu-rSxGbRm93kN9L4Ei7VGc1Y,10787
664
- pip/_vendor/pyparsing/util.py,sha256=kq772O5YSeXOSdP-M31EWpbH_ayj7BMHImBYo9xPD5M,6805
665
- pip/_vendor/pyproject_hooks/__init__.py,sha256=kCehmy0UaBa9oVMD7ZIZrnswfnP3LXZ5lvnNJAL5JBM,491
666
- pip/_vendor/pyproject_hooks/__pycache__/__init__.cpython-311.pyc,,
667
- pip/_vendor/pyproject_hooks/__pycache__/_compat.cpython-311.pyc,,
668
- pip/_vendor/pyproject_hooks/__pycache__/_impl.cpython-311.pyc,,
669
- pip/_vendor/pyproject_hooks/_compat.py,sha256=by6evrYnqkisiM-MQcvOKs5bgDMzlOSgZqRHNqf04zE,138
670
- pip/_vendor/pyproject_hooks/_impl.py,sha256=61GJxzQip0IInhuO69ZI5GbNQ82XEDUB_1Gg5_KtUoc,11920
671
- pip/_vendor/pyproject_hooks/_in_process/__init__.py,sha256=9gQATptbFkelkIy0OfWFEACzqxXJMQDWCH9rBOAZVwQ,546
672
- pip/_vendor/pyproject_hooks/_in_process/__pycache__/__init__.cpython-311.pyc,,
673
- pip/_vendor/pyproject_hooks/_in_process/__pycache__/_in_process.cpython-311.pyc,,
674
- pip/_vendor/pyproject_hooks/_in_process/_in_process.py,sha256=m2b34c917IW5o-Q_6TYIHlsK9lSUlNiyrITTUH_zwew,10927
675
- pip/_vendor/requests/__init__.py,sha256=64HgJ8cke-XyNrj1ErwNq0F9SqyAThUTh5lV6m7-YkI,5178
676
- pip/_vendor/requests/__pycache__/__init__.cpython-311.pyc,,
677
- pip/_vendor/requests/__pycache__/__version__.cpython-311.pyc,,
678
- pip/_vendor/requests/__pycache__/_internal_utils.cpython-311.pyc,,
679
- pip/_vendor/requests/__pycache__/adapters.cpython-311.pyc,,
680
- pip/_vendor/requests/__pycache__/api.cpython-311.pyc,,
681
- pip/_vendor/requests/__pycache__/auth.cpython-311.pyc,,
682
- pip/_vendor/requests/__pycache__/certs.cpython-311.pyc,,
683
- pip/_vendor/requests/__pycache__/compat.cpython-311.pyc,,
684
- pip/_vendor/requests/__pycache__/cookies.cpython-311.pyc,,
685
- pip/_vendor/requests/__pycache__/exceptions.cpython-311.pyc,,
686
- pip/_vendor/requests/__pycache__/help.cpython-311.pyc,,
687
- pip/_vendor/requests/__pycache__/hooks.cpython-311.pyc,,
688
- pip/_vendor/requests/__pycache__/models.cpython-311.pyc,,
689
- pip/_vendor/requests/__pycache__/packages.cpython-311.pyc,,
690
- pip/_vendor/requests/__pycache__/sessions.cpython-311.pyc,,
691
- pip/_vendor/requests/__pycache__/status_codes.cpython-311.pyc,,
692
- pip/_vendor/requests/__pycache__/structures.cpython-311.pyc,,
693
- pip/_vendor/requests/__pycache__/utils.cpython-311.pyc,,
694
- pip/_vendor/requests/__version__.py,sha256=h48zn-oFukaXrYHocdadp_hIszWyd_PGrS8Eiii6aoc,435
695
- pip/_vendor/requests/_internal_utils.py,sha256=aSPlF4uDhtfKxEayZJJ7KkAxtormeTfpwKSBSwtmAUw,1397
696
- pip/_vendor/requests/adapters.py,sha256=GFEz5koZaMZD86v0SHXKVB5SE9MgslEjkCQzldkNwVM,21443
697
- pip/_vendor/requests/api.py,sha256=dyvkDd5itC9z2g0wHl_YfD1yf6YwpGWLO7__8e21nks,6377
698
- pip/_vendor/requests/auth.py,sha256=h-HLlVx9j8rKV5hfSAycP2ApOSglTz77R0tz7qCbbEE,10187
699
- pip/_vendor/requests/certs.py,sha256=PVPooB0jP5hkZEULSCwC074532UFbR2Ptgu0I5zwmCs,575
700
- pip/_vendor/requests/compat.py,sha256=IhK9quyX0RRuWTNcg6d2JGSAOUbM6mym2p_2XjLTwf4,1286
701
- pip/_vendor/requests/cookies.py,sha256=kD3kNEcCj-mxbtf5fJsSaT86eGoEYpD3X0CSgpzl7BM,18560
702
- pip/_vendor/requests/exceptions.py,sha256=FA-_kVwBZ2jhXauRctN_ewHVK25b-fj0Azyz1THQ0Kk,3823
703
- pip/_vendor/requests/help.py,sha256=FnAAklv8MGm_qb2UilDQgS6l0cUttiCFKUjx0zn2XNA,3879
704
- pip/_vendor/requests/hooks.py,sha256=CiuysiHA39V5UfcCBXFIx83IrDpuwfN9RcTUgv28ftQ,733
705
- pip/_vendor/requests/models.py,sha256=dDZ-iThotky-Noq9yy97cUEJhr3wnY6mv-xR_ePg_lk,35288
706
- pip/_vendor/requests/packages.py,sha256=njJmVifY4aSctuW3PP5EFRCxjEwMRDO6J_feG2dKWsI,695
707
- pip/_vendor/requests/sessions.py,sha256=KUqJcRRLovNefUs7ScOXSUVCcfSayTFWtbiJ7gOSlTI,30180
708
- pip/_vendor/requests/status_codes.py,sha256=FvHmT5uH-_uimtRz5hH9VCbt7VV-Nei2J9upbej6j8g,4235
709
- pip/_vendor/requests/structures.py,sha256=-IbmhVz06S-5aPSZuUthZ6-6D9XOjRuTXHOabY041XM,2912
710
- pip/_vendor/requests/utils.py,sha256=0gzSOcx9Ya4liAbHnHuwt4jM78lzCZZoDFgkmsInNUg,33240
711
- pip/_vendor/resolvelib/__init__.py,sha256=UL-B2BDI0_TRIqkfGwLHKLxY-LjBlomz7941wDqzB1I,537
712
- pip/_vendor/resolvelib/__pycache__/__init__.cpython-311.pyc,,
713
- pip/_vendor/resolvelib/__pycache__/providers.cpython-311.pyc,,
714
- pip/_vendor/resolvelib/__pycache__/reporters.cpython-311.pyc,,
715
- pip/_vendor/resolvelib/__pycache__/resolvers.cpython-311.pyc,,
716
- pip/_vendor/resolvelib/__pycache__/structs.cpython-311.pyc,,
717
- pip/_vendor/resolvelib/compat/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
718
- pip/_vendor/resolvelib/compat/__pycache__/__init__.cpython-311.pyc,,
719
- pip/_vendor/resolvelib/compat/__pycache__/collections_abc.cpython-311.pyc,,
720
- pip/_vendor/resolvelib/compat/collections_abc.py,sha256=uy8xUZ-NDEw916tugUXm8HgwCGiMO0f-RcdnpkfXfOs,156
721
- pip/_vendor/resolvelib/providers.py,sha256=roVmFBItQJ0TkhNua65h8LdNny7rmeqVEXZu90QiP4o,5872
722
- pip/_vendor/resolvelib/reporters.py,sha256=fW91NKf-lK8XN7i6Yd_rczL5QeOT3sc6AKhpaTEnP3E,1583
723
- pip/_vendor/resolvelib/resolvers.py,sha256=2wYzVGBGerbmcIpH8cFmgSKgLSETz8jmwBMGjCBMHG4,17592
724
- pip/_vendor/resolvelib/structs.py,sha256=IVIYof6sA_N4ZEiE1C1UhzTX495brCNnyCdgq6CYq28,4794
725
- pip/_vendor/rich/__init__.py,sha256=dRxjIL-SbFVY0q3IjSMrfgBTHrm1LZDgLOygVBwiYZc,6090
726
- pip/_vendor/rich/__main__.py,sha256=TT8sb9PTnsnKhhrGuHkLN0jdN0dtKhtPkEr9CidDbPM,8478
727
- pip/_vendor/rich/__pycache__/__init__.cpython-311.pyc,,
728
- pip/_vendor/rich/__pycache__/__main__.cpython-311.pyc,,
729
- pip/_vendor/rich/__pycache__/_cell_widths.cpython-311.pyc,,
730
- pip/_vendor/rich/__pycache__/_emoji_codes.cpython-311.pyc,,
731
- pip/_vendor/rich/__pycache__/_emoji_replace.cpython-311.pyc,,
732
- pip/_vendor/rich/__pycache__/_export_format.cpython-311.pyc,,
733
- pip/_vendor/rich/__pycache__/_extension.cpython-311.pyc,,
734
- pip/_vendor/rich/__pycache__/_inspect.cpython-311.pyc,,
735
- pip/_vendor/rich/__pycache__/_log_render.cpython-311.pyc,,
736
- pip/_vendor/rich/__pycache__/_loop.cpython-311.pyc,,
737
- pip/_vendor/rich/__pycache__/_null_file.cpython-311.pyc,,
738
- pip/_vendor/rich/__pycache__/_palettes.cpython-311.pyc,,
739
- pip/_vendor/rich/__pycache__/_pick.cpython-311.pyc,,
740
- pip/_vendor/rich/__pycache__/_ratio.cpython-311.pyc,,
741
- pip/_vendor/rich/__pycache__/_spinners.cpython-311.pyc,,
742
- pip/_vendor/rich/__pycache__/_stack.cpython-311.pyc,,
743
- pip/_vendor/rich/__pycache__/_timer.cpython-311.pyc,,
744
- pip/_vendor/rich/__pycache__/_win32_console.cpython-311.pyc,,
745
- pip/_vendor/rich/__pycache__/_windows.cpython-311.pyc,,
746
- pip/_vendor/rich/__pycache__/_windows_renderer.cpython-311.pyc,,
747
- pip/_vendor/rich/__pycache__/_wrap.cpython-311.pyc,,
748
- pip/_vendor/rich/__pycache__/abc.cpython-311.pyc,,
749
- pip/_vendor/rich/__pycache__/align.cpython-311.pyc,,
750
- pip/_vendor/rich/__pycache__/ansi.cpython-311.pyc,,
751
- pip/_vendor/rich/__pycache__/bar.cpython-311.pyc,,
752
- pip/_vendor/rich/__pycache__/box.cpython-311.pyc,,
753
- pip/_vendor/rich/__pycache__/cells.cpython-311.pyc,,
754
- pip/_vendor/rich/__pycache__/color.cpython-311.pyc,,
755
- pip/_vendor/rich/__pycache__/color_triplet.cpython-311.pyc,,
756
- pip/_vendor/rich/__pycache__/columns.cpython-311.pyc,,
757
- pip/_vendor/rich/__pycache__/console.cpython-311.pyc,,
758
- pip/_vendor/rich/__pycache__/constrain.cpython-311.pyc,,
759
- pip/_vendor/rich/__pycache__/containers.cpython-311.pyc,,
760
- pip/_vendor/rich/__pycache__/control.cpython-311.pyc,,
761
- pip/_vendor/rich/__pycache__/default_styles.cpython-311.pyc,,
762
- pip/_vendor/rich/__pycache__/diagnose.cpython-311.pyc,,
763
- pip/_vendor/rich/__pycache__/emoji.cpython-311.pyc,,
764
- pip/_vendor/rich/__pycache__/errors.cpython-311.pyc,,
765
- pip/_vendor/rich/__pycache__/file_proxy.cpython-311.pyc,,
766
- pip/_vendor/rich/__pycache__/filesize.cpython-311.pyc,,
767
- pip/_vendor/rich/__pycache__/highlighter.cpython-311.pyc,,
768
- pip/_vendor/rich/__pycache__/json.cpython-311.pyc,,
769
- pip/_vendor/rich/__pycache__/jupyter.cpython-311.pyc,,
770
- pip/_vendor/rich/__pycache__/layout.cpython-311.pyc,,
771
- pip/_vendor/rich/__pycache__/live.cpython-311.pyc,,
772
- pip/_vendor/rich/__pycache__/live_render.cpython-311.pyc,,
773
- pip/_vendor/rich/__pycache__/logging.cpython-311.pyc,,
774
- pip/_vendor/rich/__pycache__/markup.cpython-311.pyc,,
775
- pip/_vendor/rich/__pycache__/measure.cpython-311.pyc,,
776
- pip/_vendor/rich/__pycache__/padding.cpython-311.pyc,,
777
- pip/_vendor/rich/__pycache__/pager.cpython-311.pyc,,
778
- pip/_vendor/rich/__pycache__/palette.cpython-311.pyc,,
779
- pip/_vendor/rich/__pycache__/panel.cpython-311.pyc,,
780
- pip/_vendor/rich/__pycache__/pretty.cpython-311.pyc,,
781
- pip/_vendor/rich/__pycache__/progress.cpython-311.pyc,,
782
- pip/_vendor/rich/__pycache__/progress_bar.cpython-311.pyc,,
783
- pip/_vendor/rich/__pycache__/prompt.cpython-311.pyc,,
784
- pip/_vendor/rich/__pycache__/protocol.cpython-311.pyc,,
785
- pip/_vendor/rich/__pycache__/region.cpython-311.pyc,,
786
- pip/_vendor/rich/__pycache__/repr.cpython-311.pyc,,
787
- pip/_vendor/rich/__pycache__/rule.cpython-311.pyc,,
788
- pip/_vendor/rich/__pycache__/scope.cpython-311.pyc,,
789
- pip/_vendor/rich/__pycache__/screen.cpython-311.pyc,,
790
- pip/_vendor/rich/__pycache__/segment.cpython-311.pyc,,
791
- pip/_vendor/rich/__pycache__/spinner.cpython-311.pyc,,
792
- pip/_vendor/rich/__pycache__/status.cpython-311.pyc,,
793
- pip/_vendor/rich/__pycache__/style.cpython-311.pyc,,
794
- pip/_vendor/rich/__pycache__/styled.cpython-311.pyc,,
795
- pip/_vendor/rich/__pycache__/syntax.cpython-311.pyc,,
796
- pip/_vendor/rich/__pycache__/table.cpython-311.pyc,,
797
- pip/_vendor/rich/__pycache__/terminal_theme.cpython-311.pyc,,
798
- pip/_vendor/rich/__pycache__/text.cpython-311.pyc,,
799
- pip/_vendor/rich/__pycache__/theme.cpython-311.pyc,,
800
- pip/_vendor/rich/__pycache__/themes.cpython-311.pyc,,
801
- pip/_vendor/rich/__pycache__/traceback.cpython-311.pyc,,
802
- pip/_vendor/rich/__pycache__/tree.cpython-311.pyc,,
803
- pip/_vendor/rich/_cell_widths.py,sha256=2n4EiJi3X9sqIq0O16kUZ_zy6UYMd3xFfChlKfnW1Hc,10096
804
- pip/_vendor/rich/_emoji_codes.py,sha256=hu1VL9nbVdppJrVoijVshRlcRRe_v3dju3Mmd2sKZdY,140235
805
- pip/_vendor/rich/_emoji_replace.py,sha256=n-kcetsEUx2ZUmhQrfeMNc-teeGhpuSQ5F8VPBsyvDo,1064
806
- pip/_vendor/rich/_export_format.py,sha256=nHArqOljIlYn6NruhWsAsh-fHo7oJC3y9BDJyAa-QYQ,2114
807
- pip/_vendor/rich/_extension.py,sha256=Xt47QacCKwYruzjDi-gOBq724JReDj9Cm9xUi5fr-34,265
808
- pip/_vendor/rich/_inspect.py,sha256=oZJGw31e64dwXSCmrDnvZbwVb1ZKhWfU8wI3VWohjJk,9695
809
- pip/_vendor/rich/_log_render.py,sha256=1ByI0PA1ZpxZY3CGJOK54hjlq4X-Bz_boIjIqCd8Kns,3225
810
- pip/_vendor/rich/_loop.py,sha256=hV_6CLdoPm0va22Wpw4zKqM0RYsz3TZxXj0PoS-9eDQ,1236
811
- pip/_vendor/rich/_null_file.py,sha256=cTaTCU_xuDXGGa9iqK-kZ0uddZCSvM-RgM2aGMuMiHs,1643
812
- pip/_vendor/rich/_palettes.py,sha256=cdev1JQKZ0JvlguV9ipHgznTdnvlIzUFDBb0It2PzjI,7063
813
- pip/_vendor/rich/_pick.py,sha256=evDt8QN4lF5CiwrUIXlOJCntitBCOsI3ZLPEIAVRLJU,423
814
- pip/_vendor/rich/_ratio.py,sha256=2lLSliL025Y-YMfdfGbutkQDevhcyDqc-DtUYW9mU70,5472
815
- pip/_vendor/rich/_spinners.py,sha256=U2r1_g_1zSjsjiUdAESc2iAMc3i4ri_S8PYP6kQ5z1I,19919
816
- pip/_vendor/rich/_stack.py,sha256=-C8OK7rxn3sIUdVwxZBBpeHhIzX0eI-VM3MemYfaXm0,351
817
- pip/_vendor/rich/_timer.py,sha256=zelxbT6oPFZnNrwWPpc1ktUeAT-Vc4fuFcRZLQGLtMI,417
818
- pip/_vendor/rich/_win32_console.py,sha256=P0vxI2fcndym1UU1S37XAzQzQnkyY7YqAKmxm24_gug,22820
819
- pip/_vendor/rich/_windows.py,sha256=dvNl9TmfPzNVxiKk5WDFihErZ5796g2UC9-KGGyfXmk,1926
820
- pip/_vendor/rich/_windows_renderer.py,sha256=t74ZL3xuDCP3nmTp9pH1L5LiI2cakJuQRQleHCJerlk,2783
821
- pip/_vendor/rich/_wrap.py,sha256=xfV_9t0Sg6rzimmrDru8fCVmUlalYAcHLDfrJZnbbwQ,1840
822
- pip/_vendor/rich/abc.py,sha256=ON-E-ZqSSheZ88VrKX2M3PXpFbGEUUZPMa_Af0l-4f0,890
823
- pip/_vendor/rich/align.py,sha256=FV6_GS-8uhIyViMng3hkIWSFaTgMohK1Oqyjl8I8mGE,10368
824
- pip/_vendor/rich/ansi.py,sha256=THex7-qjc82-ZRtmDPAYlVEObYOEE_ARB1692Fk-JHs,6819
825
- pip/_vendor/rich/bar.py,sha256=a7UD303BccRCrEhGjfMElpv5RFYIinaAhAuqYqhUvmw,3264
826
- pip/_vendor/rich/box.py,sha256=FJ6nI3jD7h2XNFU138bJUt2HYmWOlRbltoCEuIAZhew,9842
827
- pip/_vendor/rich/cells.py,sha256=zMjFI15wCpgjLR14lHdfFMVC6qMDi5OsKIB0PYZBBMk,4503
828
- pip/_vendor/rich/color.py,sha256=GTITgffj47On3YK1v_I5T2CPZJGSnyWipPID_YkYXqw,18015
829
- pip/_vendor/rich/color_triplet.py,sha256=3lhQkdJbvWPoLDO-AnYImAWmJvV5dlgYNCVZ97ORaN4,1054
830
- pip/_vendor/rich/columns.py,sha256=HUX0KcMm9dsKNi11fTbiM_h2iDtl8ySCaVcxlalEzq8,7131
831
- pip/_vendor/rich/console.py,sha256=w3tJfrILZpS359wrNqaldGmyk3PEhEmV8Pg2g2GjXWI,97992
832
- pip/_vendor/rich/constrain.py,sha256=1VIPuC8AgtKWrcncQrjBdYqA3JVWysu6jZo1rrh7c7Q,1288
833
- pip/_vendor/rich/containers.py,sha256=aKgm5UDHn5Nmui6IJaKdsZhbHClh_X7D-_Wg8Ehrr7s,5497
834
- pip/_vendor/rich/control.py,sha256=DSkHTUQLorfSERAKE_oTAEUFefZnZp4bQb4q8rHbKws,6630
835
- pip/_vendor/rich/default_styles.py,sha256=WqVh-RPNEsx0Wxf3fhS_fCn-wVqgJ6Qfo-Zg7CoCsLE,7954
836
- pip/_vendor/rich/diagnose.py,sha256=an6uouwhKPAlvQhYpNNpGq9EJysfMIOvvCbO3oSoR24,972
837
- pip/_vendor/rich/emoji.py,sha256=omTF9asaAnsM4yLY94eR_9dgRRSm1lHUszX20D1yYCQ,2501
838
- pip/_vendor/rich/errors.py,sha256=5pP3Kc5d4QJ_c0KFsxrfyhjiPVe7J1zOqSFbFAzcV-Y,642
839
- pip/_vendor/rich/file_proxy.py,sha256=4gCbGRXg0rW35Plaf0UVvj3dfENHuzc_n8I_dBqxI7o,1616
840
- pip/_vendor/rich/filesize.py,sha256=9fTLAPCAwHmBXdRv7KZU194jSgNrRb6Wx7RIoBgqeKY,2508
841
- pip/_vendor/rich/highlighter.py,sha256=3WW6PACGlq0e3YDjfqiMBQ0dYZwu7pcoFYUgJy01nb0,9585
842
- pip/_vendor/rich/json.py,sha256=TmeFm96Utaov-Ff5miavBPNo51HRooM8S78HEwrYEjA,5053
843
- pip/_vendor/rich/jupyter.py,sha256=QyoKoE_8IdCbrtiSHp9TsTSNyTHY0FO5whE7jOTd9UE,3252
844
- pip/_vendor/rich/layout.py,sha256=RFYL6HdCFsHf9WRpcvi3w-fpj-8O5dMZ8W96VdKNdbI,14007
845
- pip/_vendor/rich/live.py,sha256=emVaLUua-FKSYqZXmtJJjBIstO99CqMOuA6vMAKVkO0,14172
846
- pip/_vendor/rich/live_render.py,sha256=zElm3PrfSIvjOce28zETHMIUf9pFYSUA5o0AflgUP64,3667
847
- pip/_vendor/rich/logging.py,sha256=uB-cB-3Q4bmXDLLpbOWkmFviw-Fde39zyMV6tKJ2WHQ,11903
848
- pip/_vendor/rich/markup.py,sha256=xzF4uAafiEeEYDJYt_vUnJOGoTU8RrH-PH7WcWYXjCg,8198
849
- pip/_vendor/rich/measure.py,sha256=HmrIJX8sWRTHbgh8MxEay_83VkqNW_70s8aKP5ZcYI8,5305
850
- pip/_vendor/rich/padding.py,sha256=kTFGsdGe0os7tXLnHKpwTI90CXEvrceeZGCshmJy5zw,4970
851
- pip/_vendor/rich/pager.py,sha256=SO_ETBFKbg3n_AgOzXm41Sv36YxXAyI3_R-KOY2_uSc,828
852
- pip/_vendor/rich/palette.py,sha256=lInvR1ODDT2f3UZMfL1grq7dY_pDdKHw4bdUgOGaM4Y,3396
853
- pip/_vendor/rich/panel.py,sha256=wGMe40J8KCGgQoM0LyjRErmGIkv2bsYA71RCXThD0xE,10574
854
- pip/_vendor/rich/pretty.py,sha256=dAbLqSF3jJnyfBLJ7QjQ3B2J-WGyBnAdGXeuBVIyMyA,37414
855
- pip/_vendor/rich/progress.py,sha256=eg-OURdfZW3n3bib1-zP3SZl6cIm2VZup1pr_96CyLk,59836
856
- pip/_vendor/rich/progress_bar.py,sha256=cEoBfkc3lLwqba4XKsUpy4vSQKDh2QQ5J2J94-ACFoo,8165
857
- pip/_vendor/rich/prompt.py,sha256=x0mW-pIPodJM4ry6grgmmLrl8VZp99kqcmdnBe70YYA,11303
858
- pip/_vendor/rich/protocol.py,sha256=5hHHDDNHckdk8iWH5zEbi-zuIVSF5hbU2jIo47R7lTE,1391
859
- pip/_vendor/rich/region.py,sha256=rNT9xZrVZTYIXZC0NYn41CJQwYNbR-KecPOxTgQvB8Y,166
860
- pip/_vendor/rich/repr.py,sha256=eJObQe6_c5pUjRM85sZ2rrW47_iF9HT3Z8DrgVjvOl8,4436
861
- pip/_vendor/rich/rule.py,sha256=V6AWI0wCb6DB0rvN967FRMlQrdlG7HoZdfEAHyeG8CM,4773
862
- pip/_vendor/rich/scope.py,sha256=TMUU8qo17thyqQCPqjDLYpg_UU1k5qVd-WwiJvnJVas,2843
863
- pip/_vendor/rich/screen.py,sha256=YoeReESUhx74grqb0mSSb9lghhysWmFHYhsbMVQjXO8,1591
864
- pip/_vendor/rich/segment.py,sha256=6XdX0MfL18tUCaUWDWncIqx0wpq3GiaqzhYP779JvRA,24224
865
- pip/_vendor/rich/spinner.py,sha256=7b8MCleS4fa46HX0AzF98zfu6ZM6fAL0UgYzPOoakF4,4374
866
- pip/_vendor/rich/status.py,sha256=gJsIXIZeSo3urOyxRUjs6VrhX5CZrA0NxIQ-dxhCnwo,4425
867
- pip/_vendor/rich/style.py,sha256=odBbAlrgdEbAj7pmtPbQtWJNS8upyNhhy--Ks6KwAKk,26332
868
- pip/_vendor/rich/styled.py,sha256=eZNnzGrI4ki_54pgY3Oj0T-x3lxdXTYh4_ryDB24wBU,1258
869
- pip/_vendor/rich/syntax.py,sha256=W1xtdBA1-EVP-weYofKXusUlV5zghCOv1nWMHHfNmiY,34995
870
- pip/_vendor/rich/table.py,sha256=-WzesL-VJKsaiDU3uyczpJMHy6VCaSewBYJwx8RudI8,39684
871
- pip/_vendor/rich/terminal_theme.py,sha256=1j5-ufJfnvlAo5Qsi_ACZiXDmwMXzqgmFByObT9-yJY,3370
872
- pip/_vendor/rich/text.py,sha256=andXaxWW_wBveMiZZpd5viQwucWo7SPopcM3ZCQeO0c,45686
873
- pip/_vendor/rich/theme.py,sha256=GKNtQhDBZKAzDaY0vQVQQFzbc0uWfFe6CJXA-syT7zQ,3627
874
- pip/_vendor/rich/themes.py,sha256=0xgTLozfabebYtcJtDdC5QkX5IVUEaviqDUJJh4YVFk,102
875
- pip/_vendor/rich/traceback.py,sha256=6LkGguCEAxKv8v8xmKfMeYPPJ1UXUEHDv4726To6FiQ,26070
876
- pip/_vendor/rich/tree.py,sha256=BMbUYNjS9uodNPfvtY_odmU09GA5QzcMbQ5cJZhllQI,9169
877
- pip/_vendor/six.py,sha256=TOOfQi7nFGfMrIvtdr6wX4wyHH8M7aknmuLfo2cBBrM,34549
878
- pip/_vendor/tenacity/__init__.py,sha256=rjcWJVq5PcNJNC42rt-TAGGskM-RUEkZbDKu1ra7IPo,18364
879
- pip/_vendor/tenacity/__pycache__/__init__.cpython-311.pyc,,
880
- pip/_vendor/tenacity/__pycache__/_asyncio.cpython-311.pyc,,
881
- pip/_vendor/tenacity/__pycache__/_utils.cpython-311.pyc,,
882
- pip/_vendor/tenacity/__pycache__/after.cpython-311.pyc,,
883
- pip/_vendor/tenacity/__pycache__/before.cpython-311.pyc,,
884
- pip/_vendor/tenacity/__pycache__/before_sleep.cpython-311.pyc,,
885
- pip/_vendor/tenacity/__pycache__/nap.cpython-311.pyc,,
886
- pip/_vendor/tenacity/__pycache__/retry.cpython-311.pyc,,
887
- pip/_vendor/tenacity/__pycache__/stop.cpython-311.pyc,,
888
- pip/_vendor/tenacity/__pycache__/tornadoweb.cpython-311.pyc,,
889
- pip/_vendor/tenacity/__pycache__/wait.cpython-311.pyc,,
890
- pip/_vendor/tenacity/_asyncio.py,sha256=HEb0BVJEeBJE9P-m9XBxh1KcaF96BwoeqkJCL5sbVcQ,3314
891
- pip/_vendor/tenacity/_utils.py,sha256=-y68scDcyoqvTJuJJ0GTfjdSCljEYlbCYvgk7nM4NdM,1944
892
- pip/_vendor/tenacity/after.py,sha256=dlmyxxFy2uqpLXDr838DiEd7jgv2AGthsWHGYcGYsaI,1496
893
- pip/_vendor/tenacity/before.py,sha256=7XtvRmO0dRWUp8SVn24OvIiGFj8-4OP5muQRUiWgLh0,1376
894
- pip/_vendor/tenacity/before_sleep.py,sha256=ThyDvqKU5yle_IvYQz_b6Tp6UjUS0PhVp6zgqYl9U6Y,1908
895
- pip/_vendor/tenacity/nap.py,sha256=fRWvnz1aIzbIq9Ap3gAkAZgDH6oo5zxMrU6ZOVByq0I,1383
896
- pip/_vendor/tenacity/retry.py,sha256=Cy504Ss3UrRV7lnYgvymF66WD1wJ2dbM869kDcjuDes,7550
897
- pip/_vendor/tenacity/stop.py,sha256=sKHmHaoSaW6sKu3dTxUVKr1-stVkY7lw4Y9yjZU30zQ,2790
898
- pip/_vendor/tenacity/tornadoweb.py,sha256=E8lWO2nwe6dJgoB-N2HhQprYLDLB_UdSgFnv-EN6wKE,2145
899
- pip/_vendor/tenacity/wait.py,sha256=tdLTESRm5E237VHG0SxCDXRa0DHKPKVq285kslHVURc,8011
900
- pip/_vendor/tomli/__init__.py,sha256=JhUwV66DB1g4Hvt1UQCVMdfCu-IgAV8FXmvDU9onxd4,396
901
- pip/_vendor/tomli/__pycache__/__init__.cpython-311.pyc,,
902
- pip/_vendor/tomli/__pycache__/_parser.cpython-311.pyc,,
903
- pip/_vendor/tomli/__pycache__/_re.cpython-311.pyc,,
904
- pip/_vendor/tomli/__pycache__/_types.cpython-311.pyc,,
905
- pip/_vendor/tomli/_parser.py,sha256=g9-ENaALS-B8dokYpCuzUFalWlog7T-SIYMjLZSWrtM,22633
906
- pip/_vendor/tomli/_re.py,sha256=dbjg5ChZT23Ka9z9DHOXfdtSpPwUfdgMXnj8NOoly-w,2943
907
- pip/_vendor/tomli/_types.py,sha256=-GTG2VUqkpxwMqzmVO4F7ybKddIbAnuAHXfmWQcTi3Q,254
908
- pip/_vendor/typing_extensions.py,sha256=VKZ_nHsuzDbKOVUY2CTdavwBgfZ2EXRyluZHRzUYAbg,80114
909
- pip/_vendor/urllib3/__init__.py,sha256=iXLcYiJySn0GNbWOOZDDApgBL1JgP44EZ8i1760S8Mc,3333
910
- pip/_vendor/urllib3/__pycache__/__init__.cpython-311.pyc,,
911
- pip/_vendor/urllib3/__pycache__/_collections.cpython-311.pyc,,
912
- pip/_vendor/urllib3/__pycache__/_version.cpython-311.pyc,,
913
- pip/_vendor/urllib3/__pycache__/connection.cpython-311.pyc,,
914
- pip/_vendor/urllib3/__pycache__/connectionpool.cpython-311.pyc,,
915
- pip/_vendor/urllib3/__pycache__/exceptions.cpython-311.pyc,,
916
- pip/_vendor/urllib3/__pycache__/fields.cpython-311.pyc,,
917
- pip/_vendor/urllib3/__pycache__/filepost.cpython-311.pyc,,
918
- pip/_vendor/urllib3/__pycache__/poolmanager.cpython-311.pyc,,
919
- pip/_vendor/urllib3/__pycache__/request.cpython-311.pyc,,
920
- pip/_vendor/urllib3/__pycache__/response.cpython-311.pyc,,
921
- pip/_vendor/urllib3/_collections.py,sha256=Rp1mVyBgc_UlAcp6M3at1skJBXR5J43NawRTvW2g_XY,10811
922
- pip/_vendor/urllib3/_version.py,sha256=JWE--BUVy7--9FsXILONIpQ43irftKGjT9j2H_fdF2M,64
923
- pip/_vendor/urllib3/connection.py,sha256=8976wL6sGeVMW0JnXvx5mD00yXu87uQjxtB9_VL8dx8,20070
924
- pip/_vendor/urllib3/connectionpool.py,sha256=vS4UaHLoR9_5aGLXSQ776y_jTxgqqjx0YsjkYksWGOo,39095
925
- pip/_vendor/urllib3/contrib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
926
- pip/_vendor/urllib3/contrib/__pycache__/__init__.cpython-311.pyc,,
927
- pip/_vendor/urllib3/contrib/__pycache__/_appengine_environ.cpython-311.pyc,,
928
- pip/_vendor/urllib3/contrib/__pycache__/appengine.cpython-311.pyc,,
929
- pip/_vendor/urllib3/contrib/__pycache__/ntlmpool.cpython-311.pyc,,
930
- pip/_vendor/urllib3/contrib/__pycache__/pyopenssl.cpython-311.pyc,,
931
- pip/_vendor/urllib3/contrib/__pycache__/securetransport.cpython-311.pyc,,
932
- pip/_vendor/urllib3/contrib/__pycache__/socks.cpython-311.pyc,,
933
- pip/_vendor/urllib3/contrib/_appengine_environ.py,sha256=bDbyOEhW2CKLJcQqAKAyrEHN-aklsyHFKq6vF8ZFsmk,957
934
- pip/_vendor/urllib3/contrib/_securetransport/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
935
- pip/_vendor/urllib3/contrib/_securetransport/__pycache__/__init__.cpython-311.pyc,,
936
- pip/_vendor/urllib3/contrib/_securetransport/__pycache__/bindings.cpython-311.pyc,,
937
- pip/_vendor/urllib3/contrib/_securetransport/__pycache__/low_level.cpython-311.pyc,,
938
- pip/_vendor/urllib3/contrib/_securetransport/bindings.py,sha256=4Xk64qIkPBt09A5q-RIFUuDhNc9mXilVapm7WnYnzRw,17632
939
- pip/_vendor/urllib3/contrib/_securetransport/low_level.py,sha256=B2JBB2_NRP02xK6DCa1Pa9IuxrPwxzDzZbixQkb7U9M,13922
940
- pip/_vendor/urllib3/contrib/appengine.py,sha256=VR68eAVE137lxTgjBDwCna5UiBZTOKa01Aj_-5BaCz4,11036
941
- pip/_vendor/urllib3/contrib/ntlmpool.py,sha256=NlfkW7WMdW8ziqudopjHoW299og1BTWi0IeIibquFwk,4528
942
- pip/_vendor/urllib3/contrib/pyopenssl.py,sha256=hDJh4MhyY_p-oKlFcYcQaVQRDv6GMmBGuW9yjxyeejM,17081
943
- pip/_vendor/urllib3/contrib/securetransport.py,sha256=yhZdmVjY6PI6EeFbp7qYOp6-vp1Rkv2NMuOGaEj7pmc,34448
944
- pip/_vendor/urllib3/contrib/socks.py,sha256=aRi9eWXo9ZEb95XUxef4Z21CFlnnjbEiAo9HOseoMt4,7097
945
- pip/_vendor/urllib3/exceptions.py,sha256=0Mnno3KHTNfXRfY7638NufOPkUb6mXOm-Lqj-4x2w8A,8217
946
- pip/_vendor/urllib3/fields.py,sha256=kvLDCg_JmH1lLjUUEY_FLS8UhY7hBvDPuVETbY8mdrM,8579
947
- pip/_vendor/urllib3/filepost.py,sha256=5b_qqgRHVlL7uLtdAYBzBh-GHmU5AfJVt_2N0XS3PeY,2440
948
- pip/_vendor/urllib3/packages/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
949
- pip/_vendor/urllib3/packages/__pycache__/__init__.cpython-311.pyc,,
950
- pip/_vendor/urllib3/packages/__pycache__/six.cpython-311.pyc,,
951
- pip/_vendor/urllib3/packages/backports/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
952
- pip/_vendor/urllib3/packages/backports/__pycache__/__init__.cpython-311.pyc,,
953
- pip/_vendor/urllib3/packages/backports/__pycache__/makefile.cpython-311.pyc,,
954
- pip/_vendor/urllib3/packages/backports/makefile.py,sha256=nbzt3i0agPVP07jqqgjhaYjMmuAi_W5E0EywZivVO8E,1417
955
- pip/_vendor/urllib3/packages/six.py,sha256=b9LM0wBXv7E7SrbCjAm4wwN-hrH-iNxv18LgWNMMKPo,34665
956
- pip/_vendor/urllib3/poolmanager.py,sha256=0KOOJECoeLYVjUHvv-0h4Oq3FFQQ2yb-Fnjkbj8gJO0,19786
957
- pip/_vendor/urllib3/request.py,sha256=ZFSIqX0C6WizixecChZ3_okyu7BEv0lZu1VT0s6h4SM,5985
958
- pip/_vendor/urllib3/response.py,sha256=fmDJAFkG71uFTn-sVSTh2Iw0WmcXQYqkbRjihvwBjU8,30641
959
- pip/_vendor/urllib3/util/__init__.py,sha256=JEmSmmqqLyaw8P51gUImZh8Gwg9i1zSe-DoqAitn2nc,1155
960
- pip/_vendor/urllib3/util/__pycache__/__init__.cpython-311.pyc,,
961
- pip/_vendor/urllib3/util/__pycache__/connection.cpython-311.pyc,,
962
- pip/_vendor/urllib3/util/__pycache__/proxy.cpython-311.pyc,,
963
- pip/_vendor/urllib3/util/__pycache__/queue.cpython-311.pyc,,
964
- pip/_vendor/urllib3/util/__pycache__/request.cpython-311.pyc,,
965
- pip/_vendor/urllib3/util/__pycache__/response.cpython-311.pyc,,
966
- pip/_vendor/urllib3/util/__pycache__/retry.cpython-311.pyc,,
967
- pip/_vendor/urllib3/util/__pycache__/ssl_.cpython-311.pyc,,
968
- pip/_vendor/urllib3/util/__pycache__/ssl_match_hostname.cpython-311.pyc,,
969
- pip/_vendor/urllib3/util/__pycache__/ssltransport.cpython-311.pyc,,
970
- pip/_vendor/urllib3/util/__pycache__/timeout.cpython-311.pyc,,
971
- pip/_vendor/urllib3/util/__pycache__/url.cpython-311.pyc,,
972
- pip/_vendor/urllib3/util/__pycache__/wait.cpython-311.pyc,,
973
- pip/_vendor/urllib3/util/connection.py,sha256=5Lx2B1PW29KxBn2T0xkN1CBgRBa3gGVJBKoQoRogEVk,4901
974
- pip/_vendor/urllib3/util/proxy.py,sha256=zUvPPCJrp6dOF0N4GAVbOcl6o-4uXKSrGiTkkr5vUS4,1605
975
- pip/_vendor/urllib3/util/queue.py,sha256=nRgX8_eX-_VkvxoX096QWoz8Ps0QHUAExILCY_7PncM,498
976
- pip/_vendor/urllib3/util/request.py,sha256=C0OUt2tcU6LRiQJ7YYNP9GvPrSvl7ziIBekQ-5nlBZk,3997
977
- pip/_vendor/urllib3/util/response.py,sha256=GJpg3Egi9qaJXRwBh5wv-MNuRWan5BIu40oReoxWP28,3510
978
- pip/_vendor/urllib3/util/retry.py,sha256=4laWh0HpwGijLiBmdBIYtbhYekQnNzzhx2W9uys0RHA,22003
979
- pip/_vendor/urllib3/util/ssl_.py,sha256=X4-AqW91aYPhPx6-xbf66yHFQKbqqfC_5Zt4WkLX1Hc,17177
980
- pip/_vendor/urllib3/util/ssl_match_hostname.py,sha256=Ir4cZVEjmAk8gUAIHWSi7wtOO83UCYABY2xFD1Ql_WA,5758
981
- pip/_vendor/urllib3/util/ssltransport.py,sha256=NA-u5rMTrDFDFC8QzRKUEKMG0561hOD4qBTr3Z4pv6E,6895
982
- pip/_vendor/urllib3/util/timeout.py,sha256=QSbBUNOB9yh6AnDn61SrLQ0hg5oz0I9-uXEG91AJuIg,10003
983
- pip/_vendor/urllib3/util/url.py,sha256=HLCLEKt8D-QMioTNbneZSzGTGyUkns4w_lSJP1UzE2E,14298
984
- pip/_vendor/urllib3/util/wait.py,sha256=fOX0_faozG2P7iVojQoE1mbydweNyTcm-hXEfFrTtLI,5403
985
- pip/_vendor/vendor.txt,sha256=3i3Zr7_kRDD9UEva0I8YOMroCZ8xuZ9OWd_Q4jmazqE,476
986
- pip/_vendor/webencodings/__init__.py,sha256=qOBJIuPy_4ByYH6W_bNgJF-qYQ2DoU-dKsDu5yRWCXg,10579
987
- pip/_vendor/webencodings/__pycache__/__init__.cpython-311.pyc,,
988
- pip/_vendor/webencodings/__pycache__/labels.cpython-311.pyc,,
989
- pip/_vendor/webencodings/__pycache__/mklabels.cpython-311.pyc,,
990
- pip/_vendor/webencodings/__pycache__/tests.cpython-311.pyc,,
991
- pip/_vendor/webencodings/__pycache__/x_user_defined.cpython-311.pyc,,
992
- pip/_vendor/webencodings/labels.py,sha256=4AO_KxTddqGtrL9ns7kAPjb0CcN6xsCIxbK37HY9r3E,8979
993
- pip/_vendor/webencodings/mklabels.py,sha256=GYIeywnpaLnP0GSic8LFWgd0UVvO_l1Nc6YoF-87R_4,1305
994
- pip/_vendor/webencodings/tests.py,sha256=OtGLyjhNY1fvkW1GvLJ_FV9ZoqC9Anyjr7q3kxTbzNs,6563
995
- pip/_vendor/webencodings/x_user_defined.py,sha256=yOqWSdmpytGfUgh_Z6JYgDNhoc-BAHyyeeT15Fr42tM,4307
996
- pip/py.typed,sha256=EBVvvPRTn_eIpz5e5QztSCdrMX7Qwd7VP93RSoIlZ2I,286
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
venv/lib/python3.11/site-packages/pip-23.0.1.dist-info/REQUESTED DELETED
File without changes
venv/lib/python3.11/site-packages/pip-23.0.1.dist-info/WHEEL DELETED
@@ -1,5 +0,0 @@
1
- Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.38.4)
3
- Root-Is-Purelib: true
4
- Tag: py3-none-any
5
-
 
 
 
 
 
 
venv/lib/python3.11/site-packages/pip-23.0.1.dist-info/entry_points.txt DELETED
@@ -1,4 +0,0 @@
1
- [console_scripts]
2
- pip = pip._internal.cli.main:main
3
- pip3 = pip._internal.cli.main:main
4
- pip3.11 = pip._internal.cli.main:main
 
 
 
 
 
venv/lib/python3.11/site-packages/pip-23.0.1.dist-info/top_level.txt DELETED
@@ -1 +0,0 @@
1
- pip
 
 
venv/lib/python3.11/site-packages/pip/__init__.py DELETED
@@ -1,13 +0,0 @@
1
- from typing import List, Optional
2
-
3
- __version__ = "23.0.1"
4
-
5
-
6
- def main(args: Optional[List[str]] = None) -> int:
7
- """This is an internal API only meant for use by pip's own console scripts.
8
-
9
- For additional details, see https://github.com/pypa/pip/issues/7498.
10
- """
11
- from pip._internal.utils.entrypoints import _wrapper
12
-
13
- return _wrapper(args)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
venv/lib/python3.11/site-packages/pip/__main__.py DELETED
@@ -1,31 +0,0 @@
1
- import os
2
- import sys
3
- import warnings
4
-
5
- # Remove '' and current working directory from the first entry
6
- # of sys.path, if present to avoid using current directory
7
- # in pip commands check, freeze, install, list and show,
8
- # when invoked as python -m pip <command>
9
- if sys.path[0] in ("", os.getcwd()):
10
- sys.path.pop(0)
11
-
12
- # If we are running from a wheel, add the wheel to sys.path
13
- # This allows the usage python pip-*.whl/pip install pip-*.whl
14
- if __package__ == "":
15
- # __file__ is pip-*.whl/pip/__main__.py
16
- # first dirname call strips of '/__main__.py', second strips off '/pip'
17
- # Resulting path is the name of the wheel itself
18
- # Add that to sys.path so we can import pip
19
- path = os.path.dirname(os.path.dirname(__file__))
20
- sys.path.insert(0, path)
21
-
22
- if __name__ == "__main__":
23
- # Work around the error reported in #9540, pending a proper fix.
24
- # Note: It is essential the warning filter is set *before* importing
25
- # pip, as the deprecation happens at import time, not runtime.
26
- warnings.filterwarnings(
27
- "ignore", category=DeprecationWarning, module=".*packaging\\.version"
28
- )
29
- from pip._internal.cli.main import main as _main
30
-
31
- sys.exit(_main())
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
venv/lib/python3.11/site-packages/pip/__pip-runner__.py DELETED
@@ -1,50 +0,0 @@
1
- """Execute exactly this copy of pip, within a different environment.
2
-
3
- This file is named as it is, to ensure that this module can't be imported via
4
- an import statement.
5
- """
6
-
7
- # /!\ This version compatibility check section must be Python 2 compatible. /!\
8
-
9
- import sys
10
-
11
- # Copied from setup.py
12
- PYTHON_REQUIRES = (3, 7)
13
-
14
-
15
- def version_str(version): # type: ignore
16
- return ".".join(str(v) for v in version)
17
-
18
-
19
- if sys.version_info[:2] < PYTHON_REQUIRES:
20
- raise SystemExit(
21
- "This version of pip does not support python {} (requires >={}).".format(
22
- version_str(sys.version_info[:2]), version_str(PYTHON_REQUIRES)
23
- )
24
- )
25
-
26
- # From here on, we can use Python 3 features, but the syntax must remain
27
- # Python 2 compatible.
28
-
29
- import runpy # noqa: E402
30
- from importlib.machinery import PathFinder # noqa: E402
31
- from os.path import dirname # noqa: E402
32
-
33
- PIP_SOURCES_ROOT = dirname(dirname(__file__))
34
-
35
-
36
- class PipImportRedirectingFinder:
37
- @classmethod
38
- def find_spec(self, fullname, path=None, target=None): # type: ignore
39
- if fullname != "pip":
40
- return None
41
-
42
- spec = PathFinder.find_spec(fullname, [PIP_SOURCES_ROOT], target)
43
- assert spec, (PIP_SOURCES_ROOT, fullname)
44
- return spec
45
-
46
-
47
- sys.meta_path.insert(0, PipImportRedirectingFinder())
48
-
49
- assert __name__ == "__main__", "Cannot run __pip-runner__.py as a non-main module"
50
- runpy.run_module("pip", run_name="__main__", alter_sys=True)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
venv/lib/python3.11/site-packages/pip/__pycache__/__init__.cpython-311.pyc DELETED
Binary file (789 Bytes)
 
venv/lib/python3.11/site-packages/pip/__pycache__/__main__.cpython-311.pyc DELETED
Binary file (1.1 kB)
 
venv/lib/python3.11/site-packages/pip/__pycache__/__pip-runner__.cpython-311.pyc DELETED
Binary file (2.53 kB)
 
venv/lib/python3.11/site-packages/pip/_internal/__init__.py DELETED
@@ -1,19 +0,0 @@
1
- from typing import List, Optional
2
-
3
- import pip._internal.utils.inject_securetransport # noqa
4
- from pip._internal.utils import _log
5
-
6
- # init_logging() must be called before any call to logging.getLogger()
7
- # which happens at import of most modules.
8
- _log.init_logging()
9
-
10
-
11
- def main(args: (Optional[List[str]]) = None) -> int:
12
- """This is preserved for old console scripts that may still be referencing
13
- it.
14
-
15
- For additional details, see https://github.com/pypa/pip/issues/7498.
16
- """
17
- from pip._internal.utils.entrypoints import _wrapper
18
-
19
- return _wrapper(args)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
venv/lib/python3.11/site-packages/pip/_internal/__pycache__/__init__.cpython-311.pyc DELETED
Binary file (972 Bytes)
 
venv/lib/python3.11/site-packages/pip/_internal/__pycache__/build_env.cpython-311.pyc DELETED
Binary file (16.1 kB)
 
venv/lib/python3.11/site-packages/pip/_internal/__pycache__/cache.cpython-311.pyc DELETED
Binary file (14.7 kB)
 
venv/lib/python3.11/site-packages/pip/_internal/__pycache__/configuration.cpython-311.pyc DELETED
Binary file (19.2 kB)
 
venv/lib/python3.11/site-packages/pip/_internal/__pycache__/exceptions.cpython-311.pyc DELETED
Binary file (38.4 kB)
 
venv/lib/python3.11/site-packages/pip/_internal/__pycache__/main.cpython-311.pyc DELETED
Binary file (772 Bytes)
 
venv/lib/python3.11/site-packages/pip/_internal/__pycache__/pyproject.cpython-311.pyc DELETED
Binary file (5.54 kB)
 
venv/lib/python3.11/site-packages/pip/_internal/__pycache__/self_outdated_check.cpython-311.pyc DELETED
Binary file (11.3 kB)
 
venv/lib/python3.11/site-packages/pip/_internal/__pycache__/wheel_builder.cpython-311.pyc DELETED
Binary file (16 kB)
 
venv/lib/python3.11/site-packages/pip/_internal/build_env.py DELETED
@@ -1,311 +0,0 @@
1
- """Build Environment used for isolation during sdist building
2
- """
3
-
4
- import logging
5
- import os
6
- import pathlib
7
- import site
8
- import sys
9
- import textwrap
10
- from collections import OrderedDict
11
- from types import TracebackType
12
- from typing import TYPE_CHECKING, Iterable, List, Optional, Set, Tuple, Type, Union
13
-
14
- from pip._vendor.certifi import where
15
- from pip._vendor.packaging.requirements import Requirement
16
- from pip._vendor.packaging.version import Version
17
-
18
- from pip import __file__ as pip_location
19
- from pip._internal.cli.spinners import open_spinner
20
- from pip._internal.locations import get_platlib, get_purelib, get_scheme
21
- from pip._internal.metadata import get_default_environment, get_environment
22
- from pip._internal.utils.subprocess import call_subprocess
23
- from pip._internal.utils.temp_dir import TempDirectory, tempdir_kinds
24
-
25
- if TYPE_CHECKING:
26
- from pip._internal.index.package_finder import PackageFinder
27
-
28
- logger = logging.getLogger(__name__)
29
-
30
-
31
- def _dedup(a: str, b: str) -> Union[Tuple[str], Tuple[str, str]]:
32
- return (a, b) if a != b else (a,)
33
-
34
-
35
- class _Prefix:
36
- def __init__(self, path: str) -> None:
37
- self.path = path
38
- self.setup = False
39
- scheme = get_scheme("", prefix=path)
40
- self.bin_dir = scheme.scripts
41
- self.lib_dirs = _dedup(scheme.purelib, scheme.platlib)
42
-
43
-
44
- def get_runnable_pip() -> str:
45
- """Get a file to pass to a Python executable, to run the currently-running pip.
46
-
47
- This is used to run a pip subprocess, for installing requirements into the build
48
- environment.
49
- """
50
- source = pathlib.Path(pip_location).resolve().parent
51
-
52
- if not source.is_dir():
53
- # This would happen if someone is using pip from inside a zip file. In that
54
- # case, we can use that directly.
55
- return str(source)
56
-
57
- return os.fsdecode(source / "__pip-runner__.py")
58
-
59
-
60
- def _get_system_sitepackages() -> Set[str]:
61
- """Get system site packages
62
-
63
- Usually from site.getsitepackages,
64
- but fallback on `get_purelib()/get_platlib()` if unavailable
65
- (e.g. in a virtualenv created by virtualenv<20)
66
-
67
- Returns normalized set of strings.
68
- """
69
- if hasattr(site, "getsitepackages"):
70
- system_sites = site.getsitepackages()
71
- else:
72
- # virtualenv < 20 overwrites site.py without getsitepackages
73
- # fallback on get_purelib/get_platlib.
74
- # this is known to miss things, but shouldn't in the cases
75
- # where getsitepackages() has been removed (inside a virtualenv)
76
- system_sites = [get_purelib(), get_platlib()]
77
- return {os.path.normcase(path) for path in system_sites}
78
-
79
-
80
- class BuildEnvironment:
81
- """Creates and manages an isolated environment to install build deps"""
82
-
83
- def __init__(self) -> None:
84
- temp_dir = TempDirectory(kind=tempdir_kinds.BUILD_ENV, globally_managed=True)
85
-
86
- self._prefixes = OrderedDict(
87
- (name, _Prefix(os.path.join(temp_dir.path, name)))
88
- for name in ("normal", "overlay")
89
- )
90
-
91
- self._bin_dirs: List[str] = []
92
- self._lib_dirs: List[str] = []
93
- for prefix in reversed(list(self._prefixes.values())):
94
- self._bin_dirs.append(prefix.bin_dir)
95
- self._lib_dirs.extend(prefix.lib_dirs)
96
-
97
- # Customize site to:
98
- # - ensure .pth files are honored
99
- # - prevent access to system site packages
100
- system_sites = _get_system_sitepackages()
101
-
102
- self._site_dir = os.path.join(temp_dir.path, "site")
103
- if not os.path.exists(self._site_dir):
104
- os.mkdir(self._site_dir)
105
- with open(
106
- os.path.join(self._site_dir, "sitecustomize.py"), "w", encoding="utf-8"
107
- ) as fp:
108
- fp.write(
109
- textwrap.dedent(
110
- """
111
- import os, site, sys
112
-
113
- # First, drop system-sites related paths.
114
- original_sys_path = sys.path[:]
115
- known_paths = set()
116
- for path in {system_sites!r}:
117
- site.addsitedir(path, known_paths=known_paths)
118
- system_paths = set(
119
- os.path.normcase(path)
120
- for path in sys.path[len(original_sys_path):]
121
- )
122
- original_sys_path = [
123
- path for path in original_sys_path
124
- if os.path.normcase(path) not in system_paths
125
- ]
126
- sys.path = original_sys_path
127
-
128
- # Second, add lib directories.
129
- # ensuring .pth file are processed.
130
- for path in {lib_dirs!r}:
131
- assert not path in sys.path
132
- site.addsitedir(path)
133
- """
134
- ).format(system_sites=system_sites, lib_dirs=self._lib_dirs)
135
- )
136
-
137
- def __enter__(self) -> None:
138
- self._save_env = {
139
- name: os.environ.get(name, None)
140
- for name in ("PATH", "PYTHONNOUSERSITE", "PYTHONPATH")
141
- }
142
-
143
- path = self._bin_dirs[:]
144
- old_path = self._save_env["PATH"]
145
- if old_path:
146
- path.extend(old_path.split(os.pathsep))
147
-
148
- pythonpath = [self._site_dir]
149
-
150
- os.environ.update(
151
- {
152
- "PATH": os.pathsep.join(path),
153
- "PYTHONNOUSERSITE": "1",
154
- "PYTHONPATH": os.pathsep.join(pythonpath),
155
- }
156
- )
157
-
158
- def __exit__(
159
- self,
160
- exc_type: Optional[Type[BaseException]],
161
- exc_val: Optional[BaseException],
162
- exc_tb: Optional[TracebackType],
163
- ) -> None:
164
- for varname, old_value in self._save_env.items():
165
- if old_value is None:
166
- os.environ.pop(varname, None)
167
- else:
168
- os.environ[varname] = old_value
169
-
170
- def check_requirements(
171
- self, reqs: Iterable[str]
172
- ) -> Tuple[Set[Tuple[str, str]], Set[str]]:
173
- """Return 2 sets:
174
- - conflicting requirements: set of (installed, wanted) reqs tuples
175
- - missing requirements: set of reqs
176
- """
177
- missing = set()
178
- conflicting = set()
179
- if reqs:
180
- env = (
181
- get_environment(self._lib_dirs)
182
- if hasattr(self, "_lib_dirs")
183
- else get_default_environment()
184
- )
185
- for req_str in reqs:
186
- req = Requirement(req_str)
187
- # We're explicitly evaluating with an empty extra value, since build
188
- # environments are not provided any mechanism to select specific extras.
189
- if req.marker is not None and not req.marker.evaluate({"extra": ""}):
190
- continue
191
- dist = env.get_distribution(req.name)
192
- if not dist:
193
- missing.add(req_str)
194
- continue
195
- if isinstance(dist.version, Version):
196
- installed_req_str = f"{req.name}=={dist.version}"
197
- else:
198
- installed_req_str = f"{req.name}==={dist.version}"
199
- if not req.specifier.contains(dist.version, prereleases=True):
200
- conflicting.add((installed_req_str, req_str))
201
- # FIXME: Consider direct URL?
202
- return conflicting, missing
203
-
204
- def install_requirements(
205
- self,
206
- finder: "PackageFinder",
207
- requirements: Iterable[str],
208
- prefix_as_string: str,
209
- *,
210
- kind: str,
211
- ) -> None:
212
- prefix = self._prefixes[prefix_as_string]
213
- assert not prefix.setup
214
- prefix.setup = True
215
- if not requirements:
216
- return
217
- self._install_requirements(
218
- get_runnable_pip(),
219
- finder,
220
- requirements,
221
- prefix,
222
- kind=kind,
223
- )
224
-
225
- @staticmethod
226
- def _install_requirements(
227
- pip_runnable: str,
228
- finder: "PackageFinder",
229
- requirements: Iterable[str],
230
- prefix: _Prefix,
231
- *,
232
- kind: str,
233
- ) -> None:
234
- args: List[str] = [
235
- sys.executable,
236
- pip_runnable,
237
- "install",
238
- "--ignore-installed",
239
- "--no-user",
240
- "--prefix",
241
- prefix.path,
242
- "--no-warn-script-location",
243
- ]
244
- if logger.getEffectiveLevel() <= logging.DEBUG:
245
- args.append("-v")
246
- for format_control in ("no_binary", "only_binary"):
247
- formats = getattr(finder.format_control, format_control)
248
- args.extend(
249
- (
250
- "--" + format_control.replace("_", "-"),
251
- ",".join(sorted(formats or {":none:"})),
252
- )
253
- )
254
-
255
- index_urls = finder.index_urls
256
- if index_urls:
257
- args.extend(["-i", index_urls[0]])
258
- for extra_index in index_urls[1:]:
259
- args.extend(["--extra-index-url", extra_index])
260
- else:
261
- args.append("--no-index")
262
- for link in finder.find_links:
263
- args.extend(["--find-links", link])
264
-
265
- for host in finder.trusted_hosts:
266
- args.extend(["--trusted-host", host])
267
- if finder.allow_all_prereleases:
268
- args.append("--pre")
269
- if finder.prefer_binary:
270
- args.append("--prefer-binary")
271
- args.append("--")
272
- args.extend(requirements)
273
- extra_environ = {"_PIP_STANDALONE_CERT": where()}
274
- with open_spinner(f"Installing {kind}") as spinner:
275
- call_subprocess(
276
- args,
277
- command_desc=f"pip subprocess to install {kind}",
278
- spinner=spinner,
279
- extra_environ=extra_environ,
280
- )
281
-
282
-
283
- class NoOpBuildEnvironment(BuildEnvironment):
284
- """A no-op drop-in replacement for BuildEnvironment"""
285
-
286
- def __init__(self) -> None:
287
- pass
288
-
289
- def __enter__(self) -> None:
290
- pass
291
-
292
- def __exit__(
293
- self,
294
- exc_type: Optional[Type[BaseException]],
295
- exc_val: Optional[BaseException],
296
- exc_tb: Optional[TracebackType],
297
- ) -> None:
298
- pass
299
-
300
- def cleanup(self) -> None:
301
- pass
302
-
303
- def install_requirements(
304
- self,
305
- finder: "PackageFinder",
306
- requirements: Iterable[str],
307
- prefix_as_string: str,
308
- *,
309
- kind: str,
310
- ) -> None:
311
- raise NotImplementedError()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
venv/lib/python3.11/site-packages/pip/_internal/cache.py DELETED
@@ -1,293 +0,0 @@
1
- """Cache Management
2
- """
3
-
4
- import hashlib
5
- import json
6
- import logging
7
- import os
8
- from pathlib import Path
9
- from typing import Any, Dict, List, Optional, Set
10
-
11
- from pip._vendor.packaging.tags import Tag, interpreter_name, interpreter_version
12
- from pip._vendor.packaging.utils import canonicalize_name
13
-
14
- from pip._internal.exceptions import InvalidWheelFilename
15
- from pip._internal.models.direct_url import DirectUrl
16
- from pip._internal.models.format_control import FormatControl
17
- from pip._internal.models.link import Link
18
- from pip._internal.models.wheel import Wheel
19
- from pip._internal.utils.temp_dir import TempDirectory, tempdir_kinds
20
- from pip._internal.utils.urls import path_to_url
21
-
22
- logger = logging.getLogger(__name__)
23
-
24
- ORIGIN_JSON_NAME = "origin.json"
25
-
26
-
27
- def _hash_dict(d: Dict[str, str]) -> str:
28
- """Return a stable sha224 of a dictionary."""
29
- s = json.dumps(d, sort_keys=True, separators=(",", ":"), ensure_ascii=True)
30
- return hashlib.sha224(s.encode("ascii")).hexdigest()
31
-
32
-
33
- class Cache:
34
- """An abstract class - provides cache directories for data from links
35
-
36
-
37
- :param cache_dir: The root of the cache.
38
- :param format_control: An object of FormatControl class to limit
39
- binaries being read from the cache.
40
- :param allowed_formats: which formats of files the cache should store.
41
- ('binary' and 'source' are the only allowed values)
42
- """
43
-
44
- def __init__(
45
- self, cache_dir: str, format_control: FormatControl, allowed_formats: Set[str]
46
- ) -> None:
47
- super().__init__()
48
- assert not cache_dir or os.path.isabs(cache_dir)
49
- self.cache_dir = cache_dir or None
50
- self.format_control = format_control
51
- self.allowed_formats = allowed_formats
52
-
53
- _valid_formats = {"source", "binary"}
54
- assert self.allowed_formats.union(_valid_formats) == _valid_formats
55
-
56
- def _get_cache_path_parts(self, link: Link) -> List[str]:
57
- """Get parts of part that must be os.path.joined with cache_dir"""
58
-
59
- # We want to generate an url to use as our cache key, we don't want to
60
- # just re-use the URL because it might have other items in the fragment
61
- # and we don't care about those.
62
- key_parts = {"url": link.url_without_fragment}
63
- if link.hash_name is not None and link.hash is not None:
64
- key_parts[link.hash_name] = link.hash
65
- if link.subdirectory_fragment:
66
- key_parts["subdirectory"] = link.subdirectory_fragment
67
-
68
- # Include interpreter name, major and minor version in cache key
69
- # to cope with ill-behaved sdists that build a different wheel
70
- # depending on the python version their setup.py is being run on,
71
- # and don't encode the difference in compatibility tags.
72
- # https://github.com/pypa/pip/issues/7296
73
- key_parts["interpreter_name"] = interpreter_name()
74
- key_parts["interpreter_version"] = interpreter_version()
75
-
76
- # Encode our key url with sha224, we'll use this because it has similar
77
- # security properties to sha256, but with a shorter total output (and
78
- # thus less secure). However the differences don't make a lot of
79
- # difference for our use case here.
80
- hashed = _hash_dict(key_parts)
81
-
82
- # We want to nest the directories some to prevent having a ton of top
83
- # level directories where we might run out of sub directories on some
84
- # FS.
85
- parts = [hashed[:2], hashed[2:4], hashed[4:6], hashed[6:]]
86
-
87
- return parts
88
-
89
- def _get_candidates(self, link: Link, canonical_package_name: str) -> List[Any]:
90
- can_not_cache = not self.cache_dir or not canonical_package_name or not link
91
- if can_not_cache:
92
- return []
93
-
94
- formats = self.format_control.get_allowed_formats(canonical_package_name)
95
- if not self.allowed_formats.intersection(formats):
96
- return []
97
-
98
- candidates = []
99
- path = self.get_path_for_link(link)
100
- if os.path.isdir(path):
101
- for candidate in os.listdir(path):
102
- candidates.append((candidate, path))
103
- return candidates
104
-
105
- def get_path_for_link(self, link: Link) -> str:
106
- """Return a directory to store cached items in for link."""
107
- raise NotImplementedError()
108
-
109
- def get(
110
- self,
111
- link: Link,
112
- package_name: Optional[str],
113
- supported_tags: List[Tag],
114
- ) -> Link:
115
- """Returns a link to a cached item if it exists, otherwise returns the
116
- passed link.
117
- """
118
- raise NotImplementedError()
119
-
120
-
121
- class SimpleWheelCache(Cache):
122
- """A cache of wheels for future installs."""
123
-
124
- def __init__(self, cache_dir: str, format_control: FormatControl) -> None:
125
- super().__init__(cache_dir, format_control, {"binary"})
126
-
127
- def get_path_for_link(self, link: Link) -> str:
128
- """Return a directory to store cached wheels for link
129
-
130
- Because there are M wheels for any one sdist, we provide a directory
131
- to cache them in, and then consult that directory when looking up
132
- cache hits.
133
-
134
- We only insert things into the cache if they have plausible version
135
- numbers, so that we don't contaminate the cache with things that were
136
- not unique. E.g. ./package might have dozens of installs done for it
137
- and build a version of 0.0...and if we built and cached a wheel, we'd
138
- end up using the same wheel even if the source has been edited.
139
-
140
- :param link: The link of the sdist for which this will cache wheels.
141
- """
142
- parts = self._get_cache_path_parts(link)
143
- assert self.cache_dir
144
- # Store wheels within the root cache_dir
145
- return os.path.join(self.cache_dir, "wheels", *parts)
146
-
147
- def get(
148
- self,
149
- link: Link,
150
- package_name: Optional[str],
151
- supported_tags: List[Tag],
152
- ) -> Link:
153
- candidates = []
154
-
155
- if not package_name:
156
- return link
157
-
158
- canonical_package_name = canonicalize_name(package_name)
159
- for wheel_name, wheel_dir in self._get_candidates(link, canonical_package_name):
160
- try:
161
- wheel = Wheel(wheel_name)
162
- except InvalidWheelFilename:
163
- continue
164
- if canonicalize_name(wheel.name) != canonical_package_name:
165
- logger.debug(
166
- "Ignoring cached wheel %s for %s as it "
167
- "does not match the expected distribution name %s.",
168
- wheel_name,
169
- link,
170
- package_name,
171
- )
172
- continue
173
- if not wheel.supported(supported_tags):
174
- # Built for a different python/arch/etc
175
- continue
176
- candidates.append(
177
- (
178
- wheel.support_index_min(supported_tags),
179
- wheel_name,
180
- wheel_dir,
181
- )
182
- )
183
-
184
- if not candidates:
185
- return link
186
-
187
- _, wheel_name, wheel_dir = min(candidates)
188
- return Link(path_to_url(os.path.join(wheel_dir, wheel_name)))
189
-
190
-
191
- class EphemWheelCache(SimpleWheelCache):
192
- """A SimpleWheelCache that creates it's own temporary cache directory"""
193
-
194
- def __init__(self, format_control: FormatControl) -> None:
195
- self._temp_dir = TempDirectory(
196
- kind=tempdir_kinds.EPHEM_WHEEL_CACHE,
197
- globally_managed=True,
198
- )
199
-
200
- super().__init__(self._temp_dir.path, format_control)
201
-
202
-
203
- class CacheEntry:
204
- def __init__(
205
- self,
206
- link: Link,
207
- persistent: bool,
208
- ):
209
- self.link = link
210
- self.persistent = persistent
211
- self.origin: Optional[DirectUrl] = None
212
- origin_direct_url_path = Path(self.link.file_path).parent / ORIGIN_JSON_NAME
213
- if origin_direct_url_path.exists():
214
- self.origin = DirectUrl.from_json(origin_direct_url_path.read_text())
215
-
216
-
217
- class WheelCache(Cache):
218
- """Wraps EphemWheelCache and SimpleWheelCache into a single Cache
219
-
220
- This Cache allows for gracefully degradation, using the ephem wheel cache
221
- when a certain link is not found in the simple wheel cache first.
222
- """
223
-
224
- def __init__(
225
- self, cache_dir: str, format_control: Optional[FormatControl] = None
226
- ) -> None:
227
- if format_control is None:
228
- format_control = FormatControl()
229
- super().__init__(cache_dir, format_control, {"binary"})
230
- self._wheel_cache = SimpleWheelCache(cache_dir, format_control)
231
- self._ephem_cache = EphemWheelCache(format_control)
232
-
233
- def get_path_for_link(self, link: Link) -> str:
234
- return self._wheel_cache.get_path_for_link(link)
235
-
236
- def get_ephem_path_for_link(self, link: Link) -> str:
237
- return self._ephem_cache.get_path_for_link(link)
238
-
239
- def get(
240
- self,
241
- link: Link,
242
- package_name: Optional[str],
243
- supported_tags: List[Tag],
244
- ) -> Link:
245
- cache_entry = self.get_cache_entry(link, package_name, supported_tags)
246
- if cache_entry is None:
247
- return link
248
- return cache_entry.link
249
-
250
- def get_cache_entry(
251
- self,
252
- link: Link,
253
- package_name: Optional[str],
254
- supported_tags: List[Tag],
255
- ) -> Optional[CacheEntry]:
256
- """Returns a CacheEntry with a link to a cached item if it exists or
257
- None. The cache entry indicates if the item was found in the persistent
258
- or ephemeral cache.
259
- """
260
- retval = self._wheel_cache.get(
261
- link=link,
262
- package_name=package_name,
263
- supported_tags=supported_tags,
264
- )
265
- if retval is not link:
266
- return CacheEntry(retval, persistent=True)
267
-
268
- retval = self._ephem_cache.get(
269
- link=link,
270
- package_name=package_name,
271
- supported_tags=supported_tags,
272
- )
273
- if retval is not link:
274
- return CacheEntry(retval, persistent=False)
275
-
276
- return None
277
-
278
- @staticmethod
279
- def record_download_origin(cache_dir: str, download_info: DirectUrl) -> None:
280
- origin_path = Path(cache_dir) / ORIGIN_JSON_NAME
281
- if origin_path.is_file():
282
- origin = DirectUrl.from_json(origin_path.read_text())
283
- # TODO: use DirectUrl.equivalent when https://github.com/pypa/pip/pull/10564
284
- # is merged.
285
- if origin.url != download_info.url:
286
- logger.warning(
287
- "Origin URL %s in cache entry %s does not match download URL %s. "
288
- "This is likely a pip bug or a cache corruption issue.",
289
- origin.url,
290
- cache_dir,
291
- download_info.url,
292
- )
293
- origin_path.write_text(download_info.to_json(), encoding="utf-8")