harvesthealth commited on
Commit
ea86b6e
·
verified ·
1 Parent(s): 620b101

Upload folder using huggingface_hub

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. .config/.last_opt_in_prompt.yaml +1 -0
  2. .config/.last_survey_prompt.yaml +1 -0
  3. .config/.last_update_check.json +1 -0
  4. .config/active_config +1 -0
  5. .config/config_sentinel +0 -0
  6. .config/configurations/config_default +6 -0
  7. .config/default_configs.db +0 -0
  8. .config/gce +1 -0
  9. .config/hidden_gcloud_config_universe_descriptor_data_cache_configs.db +0 -0
  10. .config/logs/2025.11.20/14.30.04.285207.log +765 -0
  11. .config/logs/2025.11.20/14.30.27.010422.log +5 -0
  12. .config/logs/2025.11.20/14.30.35.382199.log +153 -0
  13. .config/logs/2025.11.20/14.30.36.623222.log +5 -0
  14. .config/logs/2025.11.20/14.30.45.231815.log +8 -0
  15. .config/logs/2025.11.20/14.30.45.937471.log +8 -0
  16. .gitattributes +6 -0
  17. .gradio/certificate.pem +31 -0
  18. .venv/.gitignore +1 -0
  19. .venv/CACHEDIR.TAG +1 -0
  20. .venv/bin/activate +130 -0
  21. .venv/bin/activate.bat +71 -0
  22. .venv/bin/activate.csh +76 -0
  23. .venv/bin/activate.fish +124 -0
  24. .venv/bin/activate.nu +102 -0
  25. .venv/bin/activate.ps1 +82 -0
  26. .venv/bin/activate_this.py +59 -0
  27. .venv/bin/deactivate.bat +39 -0
  28. .venv/bin/pydoc.bat +22 -0
  29. .venv/bin/python +3 -0
  30. .venv/bin/python3 +3 -0
  31. .venv/bin/python3.11 +3 -0
  32. .venv/lib/python3.11/site-packages/_virtualenv.pth +3 -0
  33. .venv/lib/python3.11/site-packages/_virtualenv.py +101 -0
  34. .venv/pyvenv.cfg +6 -0
  35. README.md +3 -8
  36. sample_data/README.md +19 -0
  37. sample_data/anscombe.json +49 -0
  38. sample_data/california_housing_test.csv +0 -0
  39. sample_data/california_housing_train.csv +0 -0
  40. sample_data/mnist_test.csv +3 -0
  41. sample_data/mnist_train_small.csv +3 -0
  42. tmp/agent_history/6122e633-7ceb-45ba-8ec6-8a24ee026cf1/6122e633-7ceb-45ba-8ec6-8a24ee026cf1.json +3 -0
  43. web-ui/.dockerignore +5 -0
  44. web-ui/.env.example +71 -0
  45. web-ui/.github/workflows/build.yml +124 -0
  46. web-ui/.gitignore +192 -0
  47. web-ui/.vscode/settings.json +11 -0
  48. web-ui/Dockerfile +89 -0
  49. web-ui/LICENSE +21 -0
  50. web-ui/README.md +151 -0
.config/.last_opt_in_prompt.yaml ADDED
@@ -0,0 +1 @@
 
 
1
+ {}
.config/.last_survey_prompt.yaml ADDED
@@ -0,0 +1 @@
 
 
1
+ last_prompt_time: 1763649034.7954972
.config/.last_update_check.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"last_update_check_time": 1763649036.1225162, "last_update_check_revision": 20251117224618, "notifications": [], "last_nag_times": {}}
.config/active_config ADDED
@@ -0,0 +1 @@
 
 
1
+ default
.config/config_sentinel ADDED
File without changes
.config/configurations/config_default ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ [component_manager]
2
+ disable_update_check = true
3
+
4
+ [compute]
5
+ gce_metadata_read_timeout_sec = 0
6
+
.config/default_configs.db ADDED
Binary file (12.3 kB). View file
 
.config/gce ADDED
@@ -0,0 +1 @@
 
 
1
+ False
.config/hidden_gcloud_config_universe_descriptor_data_cache_configs.db ADDED
Binary file (12.3 kB). View file
 
.config/logs/2025.11.20/14.30.04.285207.log ADDED
@@ -0,0 +1,765 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ 2025-11-20 14:30:16,312 DEBUG root Loaded Command Group: ['gcloud', 'components']
2
+ 2025-11-20 14:30:16,315 DEBUG root Loaded Command Group: ['gcloud', 'components', 'update']
3
+ 2025-11-20 14:30:16,317 DEBUG root Running [gcloud.components.update] with arguments: [--compile-python: "True", --quiet: "True", COMPONENT-IDS:6: "['core', 'gcloud-deps', 'bq', 'gcloud', 'gcloud-crc32c', 'gsutil']"]
4
+ 2025-11-20 14:30:16,318 INFO ___FILE_ONLY___ Beginning update. This process may take several minutes.
5
+
6
+ 2025-11-20 14:30:16,354 DEBUG urllib3.connectionpool Starting new HTTPS connection (1): dl.google.com:443
7
+ 2025-11-20 14:30:16,364 DEBUG urllib3.connectionpool https://dl.google.com:443 "GET /dl/cloudsdk/channels/rapid/components-2.json HTTP/1.1" 200 24782
8
+ 2025-11-20 14:30:16,374 INFO ___FILE_ONLY___
9
+
10
+ 2025-11-20 14:30:16,374 INFO ___FILE_ONLY___
11
+ Your current Google Cloud CLI version is: 548.0.0
12
+
13
+ 2025-11-20 14:30:16,374 INFO ___FILE_ONLY___ Installing components from version: 548.0.0
14
+
15
+ 2025-11-20 14:30:16,374 INFO ___FILE_ONLY___
16
+
17
+ 2025-11-20 14:30:16,374 DEBUG root Chosen display Format:table[box,title="These components will be removed."](details.display_name:label=Name:align=left,version.version_string:label=Version:align=right,data.size.size(zero="",min=1048576):label=Size:align=right)
18
+ 2025-11-20 14:30:16,375 DEBUG root Chosen display Format:table[box,title="These components will be updated."](details.display_name:label=Name:align=left,version.version_string:label=Version:align=right,data.size.size(zero="",min=1048576):label=Size:align=right)
19
+ 2025-11-20 14:30:16,375 DEBUG root Chosen display Format:table[box,title="These components will be installed."](details.display_name:label=Name:align=left,version.version_string:label=Version:align=right,data.size.size(zero="",min=1048576):label=Size:align=right)
20
+ 2025-11-20 14:30:16,418 INFO ___FILE_ONLY___ ┌──────────────────────────────────────────────────────────────────────────────┐
21
+ 2025-11-20 14:30:16,418 INFO ___FILE_ONLY___
22
+
23
+ 2025-11-20 14:30:16,418 INFO ___FILE_ONLY___ │ These components will be installed. │
24
+ 2025-11-20 14:30:16,418 INFO ___FILE_ONLY___
25
+
26
+ 2025-11-20 14:30:16,419 INFO ___FILE_ONLY___ ├─────────────────────────────────────────────────────┬────────────┬───────────┤
27
+ 2025-11-20 14:30:16,419 INFO ___FILE_ONLY___
28
+
29
+ 2025-11-20 14:30:16,419 INFO ___FILE_ONLY___ │ Name │ Version │ Size │
30
+ 2025-11-20 14:30:16,419 INFO ___FILE_ONLY___
31
+
32
+ 2025-11-20 14:30:16,419 INFO ___FILE_ONLY___ ├─────────────────────────────────────────────────────┼────────────┼───────────┤
33
+ 2025-11-20 14:30:16,419 INFO ___FILE_ONLY___
34
+
35
+ 2025-11-20 14:30:16,419 INFO ___FILE_ONLY___ │
36
+ 2025-11-20 14:30:16,419 INFO ___FILE_ONLY___ BigQuery Command Line Tool
37
+ 2025-11-20 14:30:16,419 INFO ___FILE_ONLY___
38
+ 2025-11-20 14:30:16,419 INFO ___FILE_ONLY___ │
39
+ 2025-11-20 14:30:16,419 INFO ___FILE_ONLY___ 2.1.25
40
+ 2025-11-20 14:30:16,419 INFO ___FILE_ONLY___
41
+ 2025-11-20 14:30:16,419 INFO ___FILE_ONLY___ │
42
+ 2025-11-20 14:30:16,419 INFO ___FILE_ONLY___ 1.8 MiB
43
+ 2025-11-20 14:30:16,419 INFO ___FILE_ONLY___
44
+ 2025-11-20 14:30:16,419 INFO ___FILE_ONLY___ │
45
+ 2025-11-20 14:30:16,419 INFO ___FILE_ONLY___
46
+
47
+ 2025-11-20 14:30:16,419 INFO ___FILE_ONLY___ │
48
+ 2025-11-20 14:30:16,419 INFO ___FILE_ONLY___ BigQuery Command Line Tool (Platform Specific)
49
+ 2025-11-20 14:30:16,420 INFO ___FILE_ONLY___
50
+ 2025-11-20 14:30:16,420 INFO ___FILE_ONLY___ │
51
+ 2025-11-20 14:30:16,420 INFO ___FILE_ONLY___ 2.1.25
52
+ 2025-11-20 14:30:16,420 INFO ___FILE_ONLY___
53
+ 2025-11-20 14:30:16,420 INFO ___FILE_ONLY___ │
54
+ 2025-11-20 14:30:16,420 INFO ___FILE_ONLY___ < 1 MiB
55
+ 2025-11-20 14:30:16,420 INFO ___FILE_ONLY___
56
+ 2025-11-20 14:30:16,420 INFO ___FILE_ONLY___ │
57
+ 2025-11-20 14:30:16,420 INFO ___FILE_ONLY___
58
+
59
+ 2025-11-20 14:30:16,420 INFO ___FILE_ONLY___ │
60
+ 2025-11-20 14:30:16,420 INFO ___FILE_ONLY___ Bundled Python 3.13 (Platform Specific)
61
+ 2025-11-20 14:30:16,420 INFO ___FILE_ONLY___
62
+ 2025-11-20 14:30:16,420 INFO ___FILE_ONLY___ │
63
+ 2025-11-20 14:30:16,420 INFO ___FILE_ONLY___ 3.13.7
64
+ 2025-11-20 14:30:16,420 INFO ___FILE_ONLY___
65
+ 2025-11-20 14:30:16,420 INFO ___FILE_ONLY___ │
66
+ 2025-11-20 14:30:16,420 INFO ___FILE_ONLY___ 138.6 MiB
67
+ 2025-11-20 14:30:16,420 INFO ___FILE_ONLY___
68
+ 2025-11-20 14:30:16,420 INFO ___FILE_ONLY___ │
69
+ 2025-11-20 14:30:16,420 INFO ___FILE_ONLY___
70
+
71
+ 2025-11-20 14:30:16,420 INFO ___FILE_ONLY___ │
72
+ 2025-11-20 14:30:16,421 INFO ___FILE_ONLY___ Cloud Storage Command Line Tool
73
+ 2025-11-20 14:30:16,421 INFO ___FILE_ONLY___
74
+ 2025-11-20 14:30:16,421 INFO ___FILE_ONLY___ │
75
+ 2025-11-20 14:30:16,421 INFO ___FILE_ONLY___ 5.35
76
+ 2025-11-20 14:30:16,421 INFO ___FILE_ONLY___
77
+ 2025-11-20 14:30:16,421 INFO ___FILE_ONLY___ │
78
+ 2025-11-20 14:30:16,421 INFO ___FILE_ONLY___ 12.4 MiB
79
+ 2025-11-20 14:30:16,421 INFO ___FILE_ONLY___
80
+ 2025-11-20 14:30:16,421 INFO ___FILE_ONLY___ │
81
+ 2025-11-20 14:30:16,421 INFO ___FILE_ONLY___
82
+
83
+ 2025-11-20 14:30:16,421 INFO ___FILE_ONLY___ │
84
+ 2025-11-20 14:30:16,421 INFO ___FILE_ONLY___ Cloud Storage Command Line Tool (Platform Specific)
85
+ 2025-11-20 14:30:16,421 INFO ___FILE_ONLY___
86
+ 2025-11-20 14:30:16,421 INFO ___FILE_ONLY___ │
87
+ 2025-11-20 14:30:16,421 INFO ___FILE_ONLY___ 5.35
88
+ 2025-11-20 14:30:16,421 INFO ___FILE_ONLY___
89
+ 2025-11-20 14:30:16,421 INFO ___FILE_ONLY___ │
90
+ 2025-11-20 14:30:16,421 INFO ___FILE_ONLY___ < 1 MiB
91
+ 2025-11-20 14:30:16,421 INFO ___FILE_ONLY___
92
+ 2025-11-20 14:30:16,421 INFO ___FILE_ONLY___ │
93
+ 2025-11-20 14:30:16,421 INFO ___FILE_ONLY___
94
+
95
+ 2025-11-20 14:30:16,422 INFO ___FILE_ONLY___ │
96
+ 2025-11-20 14:30:16,422 INFO ___FILE_ONLY___ Google Cloud CLI Core Libraries (Platform Specific)
97
+ 2025-11-20 14:30:16,422 INFO ___FILE_ONLY___
98
+ 2025-11-20 14:30:16,422 INFO ___FILE_ONLY___ │
99
+ 2025-11-20 14:30:16,422 INFO ___FILE_ONLY___ 2025.10.31
100
+ 2025-11-20 14:30:16,422 INFO ___FILE_ONLY___
101
+ 2025-11-20 14:30:16,422 INFO ___FILE_ONLY___ │
102
+ 2025-11-20 14:30:16,422 INFO ___FILE_ONLY___ < 1 MiB
103
+ 2025-11-20 14:30:16,422 INFO ___FILE_ONLY___
104
+ 2025-11-20 14:30:16,422 INFO ___FILE_ONLY___ │
105
+ 2025-11-20 14:30:16,422 INFO ___FILE_ONLY___
106
+
107
+ 2025-11-20 14:30:16,422 INFO ___FILE_ONLY___ │
108
+ 2025-11-20 14:30:16,422 INFO ___FILE_ONLY___ Google Cloud CRC32C Hash Tool (Platform Specific)
109
+ 2025-11-20 14:30:16,422 INFO ___FILE_ONLY___
110
+ 2025-11-20 14:30:16,422 INFO ___FILE_ONLY___ │
111
+ 2025-11-20 14:30:16,422 INFO ___FILE_ONLY___ 1.0.0
112
+ 2025-11-20 14:30:16,422 INFO ___FILE_ONLY___
113
+ 2025-11-20 14:30:16,422 INFO ___FILE_ONLY___ │
114
+ 2025-11-20 14:30:16,422 INFO ___FILE_ONLY___ 1.5 MiB
115
+ 2025-11-20 14:30:16,422 INFO ___FILE_ONLY___
116
+ 2025-11-20 14:30:16,423 INFO ___FILE_ONLY___ │
117
+ 2025-11-20 14:30:16,423 INFO ___FILE_ONLY___
118
+
119
+ 2025-11-20 14:30:16,423 INFO ___FILE_ONLY___ │
120
+ 2025-11-20 14:30:16,423 INFO ___FILE_ONLY___ gcloud cli dependencies (Platform Specific)
121
+ 2025-11-20 14:30:16,423 INFO ___FILE_ONLY___
122
+ 2025-11-20 14:30:16,423 INFO ___FILE_ONLY___ │
123
+ 2025-11-20 14:30:16,423 INFO ___FILE_ONLY___ 2021.04.16
124
+ 2025-11-20 14:30:16,423 INFO ___FILE_ONLY___
125
+ 2025-11-20 14:30:16,423 INFO ___FILE_ONLY___ │
126
+ 2025-11-20 14:30:16,423 INFO ___FILE_ONLY___ < 1 MiB
127
+ 2025-11-20 14:30:16,423 INFO ___FILE_ONLY___
128
+ 2025-11-20 14:30:16,423 INFO ___FILE_ONLY___ │
129
+ 2025-11-20 14:30:16,423 INFO ___FILE_ONLY___
130
+
131
+ 2025-11-20 14:30:16,423 INFO ___FILE_ONLY___ └─────────────────────────────────────────────────────┴────────────┴───────────┘
132
+ 2025-11-20 14:30:16,423 INFO ___FILE_ONLY___
133
+
134
+ 2025-11-20 14:30:16,423 INFO ___FILE_ONLY___
135
+
136
+ 2025-11-20 14:30:16,426 DEBUG urllib3.connectionpool Starting new HTTPS connection (1): dl.google.com:443
137
+ 2025-11-20 14:30:16,436 DEBUG urllib3.connectionpool https://dl.google.com:443 "GET /dl/cloudsdk/channels/rapid/RELEASE_NOTES HTTP/1.1" 200 339882
138
+ 2025-11-20 14:30:16,959 INFO ___FILE_ONLY___ For the latest full release notes, please visit:
139
+ https://cloud.google.com/sdk/release_notes
140
+
141
+
142
+ 2025-11-20 14:30:16,960 INFO ___FILE_ONLY___ Performing in place update...
143
+
144
+
145
+ 2025-11-20 14:30:16,962 INFO ___FILE_ONLY___ ╔════════════════════════════════════════════════════════════╗
146
+
147
+ 2025-11-20 14:30:16,962 INFO ___FILE_ONLY___ ╠═ Downloading: BigQuery Command Line Tool ═╣
148
+
149
+ 2025-11-20 14:30:16,962 INFO ___FILE_ONLY___ ╚
150
+ 2025-11-20 14:30:16,965 DEBUG urllib3.connectionpool Starting new HTTPS connection (1): dl.google.com:443
151
+ 2025-11-20 14:30:16,979 DEBUG urllib3.connectionpool https://dl.google.com:443 "GET /dl/cloudsdk/channels/rapid/components/google-cloud-sdk-bq-20251024121634.tar.gz HTTP/1.1" 200 1911793
152
+ 2025-11-20 14:30:16,991 INFO ___FILE_ONLY___ ═
153
+ 2025-11-20 14:30:16,991 INFO ___FILE_ONLY___ ═
154
+ 2025-11-20 14:30:16,991 INFO ___FILE_ONLY___ ═
155
+ 2025-11-20 14:30:16,991 INFO ___FILE_ONLY___ ═
156
+ 2025-11-20 14:30:16,991 INFO ___FILE_ONLY___ ═
157
+ 2025-11-20 14:30:16,991 INFO ___FILE_ONLY___ ═
158
+ 2025-11-20 14:30:16,991 INFO ___FILE_ONLY___ ═
159
+ 2025-11-20 14:30:16,992 INFO ___FILE_ONLY___ ═
160
+ 2025-11-20 14:30:16,992 INFO ___FILE_ONLY___ ═
161
+ 2025-11-20 14:30:16,992 INFO ___FILE_ONLY___ ═
162
+ 2025-11-20 14:30:16,992 INFO ___FILE_ONLY___ ═
163
+ 2025-11-20 14:30:16,992 INFO ___FILE_ONLY___ ═
164
+ 2025-11-20 14:30:16,992 INFO ___FILE_ONLY___ ═
165
+ 2025-11-20 14:30:16,992 INFO ___FILE_ONLY___ ═
166
+ 2025-11-20 14:30:16,992 INFO ___FILE_ONLY___ ═
167
+ 2025-11-20 14:30:16,992 INFO ___FILE_ONLY___ ═
168
+ 2025-11-20 14:30:16,992 INFO ___FILE_ONLY___ ═
169
+ 2025-11-20 14:30:16,992 INFO ___FILE_ONLY___ ═
170
+ 2025-11-20 14:30:16,992 INFO ___FILE_ONLY___ ═
171
+ 2025-11-20 14:30:16,993 INFO ___FILE_ONLY___ ═
172
+ 2025-11-20 14:30:16,993 INFO ___FILE_ONLY___ ═
173
+ 2025-11-20 14:30:16,993 INFO ___FILE_ONLY___ ═
174
+ 2025-11-20 14:30:16,993 INFO ___FILE_ONLY___ ═
175
+ 2025-11-20 14:30:16,993 INFO ___FILE_ONLY___ ═
176
+ 2025-11-20 14:30:16,993 INFO ___FILE_ONLY___ ═
177
+ 2025-11-20 14:30:16,993 INFO ___FILE_ONLY___ ═
178
+ 2025-11-20 14:30:16,993 INFO ___FILE_ONLY___ ═
179
+ 2025-11-20 14:30:16,993 INFO ___FILE_ONLY___ ═
180
+ 2025-11-20 14:30:16,993 INFO ___FILE_ONLY___ ═
181
+ 2025-11-20 14:30:16,993 INFO ___FILE_ONLY___ ═
182
+ 2025-11-20 14:30:16,993 INFO ___FILE_ONLY___ ═
183
+ 2025-11-20 14:30:16,994 INFO ___FILE_ONLY___ ═
184
+ 2025-11-20 14:30:16,994 INFO ___FILE_ONLY___ ═
185
+ 2025-11-20 14:30:16,994 INFO ___FILE_ONLY___ ═
186
+ 2025-11-20 14:30:16,994 INFO ___FILE_ONLY___ ═
187
+ 2025-11-20 14:30:16,994 INFO ___FILE_ONLY___ ═
188
+ 2025-11-20 14:30:16,994 INFO ___FILE_ONLY___ ═
189
+ 2025-11-20 14:30:16,994 INFO ___FILE_ONLY___ ═
190
+ 2025-11-20 14:30:16,994 INFO ___FILE_ONLY___ ═
191
+ 2025-11-20 14:30:16,994 INFO ___FILE_ONLY___ ═
192
+ 2025-11-20 14:30:16,994 INFO ___FILE_ONLY___ ═
193
+ 2025-11-20 14:30:16,994 INFO ___FILE_ONLY___ ═
194
+ 2025-11-20 14:30:16,994 INFO ___FILE_ONLY___ ═
195
+ 2025-11-20 14:30:16,995 INFO ___FILE_ONLY___ ═
196
+ 2025-11-20 14:30:16,995 INFO ___FILE_ONLY___ ═
197
+ 2025-11-20 14:30:16,995 INFO ___FILE_ONLY___ ═
198
+ 2025-11-20 14:30:16,995 INFO ___FILE_ONLY___ ═
199
+ 2025-11-20 14:30:16,995 INFO ___FILE_ONLY___ ═
200
+ 2025-11-20 14:30:16,995 INFO ___FILE_ONLY___ ═
201
+ 2025-11-20 14:30:16,995 INFO ___FILE_ONLY___ ═
202
+ 2025-11-20 14:30:16,995 INFO ___FILE_ONLY___ ═
203
+ 2025-11-20 14:30:16,995 INFO ___FILE_ONLY___ ═
204
+ 2025-11-20 14:30:16,995 INFO ___FILE_ONLY___ ═
205
+ 2025-11-20 14:30:16,995 INFO ___FILE_ONLY___ ═
206
+ 2025-11-20 14:30:16,995 INFO ___FILE_ONLY___ ═
207
+ 2025-11-20 14:30:16,995 INFO ___FILE_ONLY___ ═
208
+ 2025-11-20 14:30:16,996 INFO ___FILE_ONLY___ ═
209
+ 2025-11-20 14:30:16,996 INFO ___FILE_ONLY___ ═
210
+ 2025-11-20 14:30:16,996 INFO ___FILE_ONLY___ ═
211
+ 2025-11-20 14:30:16,996 INFO ___FILE_ONLY___ ═
212
+ 2025-11-20 14:30:16,996 INFO ___FILE_ONLY___ ╝
213
+
214
+ 2025-11-20 14:30:16,998 INFO ___FILE_ONLY___ ╔════════════════════════════════════════════════════════════╗
215
+
216
+ 2025-11-20 14:30:16,998 INFO ___FILE_ONLY___ ╠═ Downloading: BigQuery Command Line Tool (Platform Spe... ═╣
217
+
218
+ 2025-11-20 14:30:16,998 INFO ___FILE_ONLY___ ╚
219
+ 2025-11-20 14:30:17,001 DEBUG urllib3.connectionpool Starting new HTTPS connection (1): dl.google.com:443
220
+ 2025-11-20 14:30:17,014 DEBUG urllib3.connectionpool https://dl.google.com:443 "GET /dl/cloudsdk/channels/rapid/components/google-cloud-sdk-bq-nix-20251031202127.tar.gz HTTP/1.1" 200 1932
221
+ 2025-11-20 14:30:17,015 INFO ___FILE_ONLY___ ════════════════════════════════════════════════════════════
222
+ 2025-11-20 14:30:17,015 INFO ___FILE_ONLY___ ╝
223
+
224
+ 2025-11-20 14:30:17,017 INFO ___FILE_ONLY___ ╔════════════════════════════════════════════════════════════╗
225
+
226
+ 2025-11-20 14:30:17,017 INFO ___FILE_ONLY___ ╠═ Downloading: Bundled Python 3.13 ═╣
227
+
228
+ 2025-11-20 14:30:17,017 INFO ___FILE_ONLY___ ╚
229
+ 2025-11-20 14:30:17,017 INFO ___FILE_ONLY___ ════════════════════════════════════════════════════════════
230
+ 2025-11-20 14:30:17,017 INFO ___FILE_ONLY___ ╝
231
+
232
+ 2025-11-20 14:30:17,019 INFO ___FILE_ONLY___ ╔════════════════════════════════════���═══════════════════════╗
233
+
234
+ 2025-11-20 14:30:17,019 INFO ___FILE_ONLY___ ╠═ Downloading: Bundled Python 3.13 (Platform Specific) ═╣
235
+
236
+ 2025-11-20 14:30:17,019 INFO ___FILE_ONLY___ ╚
237
+ 2025-11-20 14:30:17,021 DEBUG urllib3.connectionpool Starting new HTTPS connection (1): dl.google.com:443
238
+ 2025-11-20 14:30:17,033 DEBUG urllib3.connectionpool https://dl.google.com:443 "GET /dl/cloudsdk/channels/rapid/components/google-cloud-sdk-bundled-python3-unix-linux-x86_64-20251107144733.tar.gz HTTP/1.1" 200 145334617
239
+ 2025-11-20 14:30:17,517 INFO ___FILE_ONLY___ ═
240
+ 2025-11-20 14:30:17,519 INFO ___FILE_ONLY___ ═
241
+ 2025-11-20 14:30:17,522 INFO ___FILE_ONLY___ ═
242
+ 2025-11-20 14:30:17,524 INFO ___FILE_ONLY___ ═
243
+ 2025-11-20 14:30:17,526 INFO ___FILE_ONLY___ ═
244
+ 2025-11-20 14:30:17,529 INFO ___FILE_ONLY___ ═
245
+ 2025-11-20 14:30:17,531 INFO ___FILE_ONLY___ ═
246
+ 2025-11-20 14:30:17,534 INFO ___FILE_ONLY___ ═
247
+ 2025-11-20 14:30:17,536 INFO ___FILE_ONLY___ ═
248
+ 2025-11-20 14:30:17,539 INFO ___FILE_ONLY___ ═
249
+ 2025-11-20 14:30:17,541 INFO ___FILE_ONLY___ ═
250
+ 2025-11-20 14:30:17,544 INFO ___FILE_ONLY___ ═
251
+ 2025-11-20 14:30:17,546 INFO ___FILE_ONLY___ ═
252
+ 2025-11-20 14:30:17,549 INFO ___FILE_ONLY___ ═
253
+ 2025-11-20 14:30:17,551 INFO ___FILE_ONLY___ ═
254
+ 2025-11-20 14:30:17,553 INFO ___FILE_ONLY___ ═
255
+ 2025-11-20 14:30:17,556 INFO ___FILE_ONLY___ ═
256
+ 2025-11-20 14:30:17,558 INFO ___FILE_ONLY___ ═
257
+ 2025-11-20 14:30:17,561 INFO ___FILE_ONLY___ ═
258
+ 2025-11-20 14:30:17,563 INFO ___FILE_ONLY___ ═
259
+ 2025-11-20 14:30:17,566 INFO ___FILE_ONLY___ ═
260
+ 2025-11-20 14:30:17,568 INFO ___FILE_ONLY___ ═
261
+ 2025-11-20 14:30:17,570 INFO ___FILE_ONLY___ ═
262
+ 2025-11-20 14:30:17,573 INFO ___FILE_ONLY___ ═
263
+ 2025-11-20 14:30:17,575 INFO ___FILE_ONLY___ ═
264
+ 2025-11-20 14:30:17,578 INFO ___FILE_ONLY___ ═
265
+ 2025-11-20 14:30:17,580 INFO ___FILE_ONLY___ ═
266
+ 2025-11-20 14:30:17,582 INFO ___FILE_ONLY___ ═
267
+ 2025-11-20 14:30:17,585 INFO ___FILE_ONLY___ ═
268
+ 2025-11-20 14:30:17,587 INFO ___FILE_ONLY___ ═
269
+ 2025-11-20 14:30:17,590 INFO ___FILE_ONLY___ ═
270
+ 2025-11-20 14:30:17,592 INFO ___FILE_ONLY___ ═
271
+ 2025-11-20 14:30:17,595 INFO ___FILE_ONLY___ ═
272
+ 2025-11-20 14:30:17,597 INFO ___FILE_ONLY___ ═
273
+ 2025-11-20 14:30:17,599 INFO ___FILE_ONLY___ ═
274
+ 2025-11-20 14:30:17,602 INFO ___FILE_ONLY___ ═
275
+ 2025-11-20 14:30:17,604 INFO ___FILE_ONLY___ ═
276
+ 2025-11-20 14:30:17,607 INFO ___FILE_ONLY___ ═
277
+ 2025-11-20 14:30:17,609 INFO ___FILE_ONLY___ ═
278
+ 2025-11-20 14:30:17,612 INFO ___FILE_ONLY___ ═
279
+ 2025-11-20 14:30:17,614 INFO ___FILE_ONLY___ ═
280
+ 2025-11-20 14:30:17,617 INFO ___FILE_ONLY___ ═
281
+ 2025-11-20 14:30:17,619 INFO ___FILE_ONLY___ ═
282
+ 2025-11-20 14:30:17,622 INFO ___FILE_ONLY___ ═
283
+ 2025-11-20 14:30:17,624 INFO ___FILE_ONLY___ ═
284
+ 2025-11-20 14:30:17,627 INFO ___FILE_ONLY___ ═
285
+ 2025-11-20 14:30:17,629 INFO ___FILE_ONLY___ ═
286
+ 2025-11-20 14:30:17,632 INFO ___FILE_ONLY___ ═
287
+ 2025-11-20 14:30:17,634 INFO ___FILE_ONLY___ ═
288
+ 2025-11-20 14:30:17,637 INFO ___FILE_ONLY___ ═
289
+ 2025-11-20 14:30:17,639 INFO ___FILE_ONLY___ ═
290
+ 2025-11-20 14:30:17,642 INFO ___FILE_ONLY___ ═
291
+ 2025-11-20 14:30:17,644 INFO ___FILE_ONLY___ ═
292
+ 2025-11-20 14:30:17,647 INFO ___FILE_ONLY___ ═
293
+ 2025-11-20 14:30:17,649 INFO ___FILE_ONLY___ ═
294
+ 2025-11-20 14:30:17,652 INFO ___FILE_ONLY___ ═
295
+ 2025-11-20 14:30:17,654 INFO ___FILE_ONLY___ ═
296
+ 2025-11-20 14:30:17,657 INFO ___FILE_ONLY___ ═
297
+ 2025-11-20 14:30:17,659 INFO ___FILE_ONLY___ ═
298
+ 2025-11-20 14:30:17,662 INFO ___FILE_ONLY___ ═
299
+ 2025-11-20 14:30:17,662 INFO ___FILE_ONLY___ ╝
300
+
301
+ 2025-11-20 14:30:17,665 INFO ___FILE_ONLY___ ╔════════════════════════════════════════════════════════════╗
302
+
303
+ 2025-11-20 14:30:17,665 INFO ___FILE_ONLY___ ╠═ Downloading: Cloud Storage Command Line Tool ═╣
304
+
305
+ 2025-11-20 14:30:17,665 INFO ___FILE_ONLY___ ╚
306
+ 2025-11-20 14:30:17,667 DEBUG urllib3.connectionpool Starting new HTTPS connection (1): dl.google.com:443
307
+ 2025-11-20 14:30:17,678 DEBUG urllib3.connectionpool https://dl.google.com:443 "GET /dl/cloudsdk/channels/rapid/components/google-cloud-sdk-gsutil-20250627154417.tar.gz HTTP/1.1" 200 12962791
308
+ 2025-11-20 14:30:17,734 INFO ___FILE_ONLY___ ═
309
+ 2025-11-20 14:30:17,734 INFO ___FILE_ONLY___ ═
310
+ 2025-11-20 14:30:17,735 INFO ___FILE_ONLY___ ═
311
+ 2025-11-20 14:30:17,735 INFO ___FILE_ONLY___ ═
312
+ 2025-11-20 14:30:17,735 INFO ___FILE_ONLY___ ═
313
+ 2025-11-20 14:30:17,736 INFO ___FILE_ONLY___ ═
314
+ 2025-11-20 14:30:17,736 INFO ___FILE_ONLY___ ═
315
+ 2025-11-20 14:30:17,736 INFO ___FILE_ONLY___ ═
316
+ 2025-11-20 14:30:17,736 INFO ___FILE_ONLY___ ═
317
+ 2025-11-20 14:30:17,737 INFO ___FILE_ONLY___ ═
318
+ 2025-11-20 14:30:17,737 INFO ___FILE_ONLY___ ═
319
+ 2025-11-20 14:30:17,737 INFO ___FILE_ONLY___ ═
320
+ 2025-11-20 14:30:17,737 INFO ___FILE_ONLY___ ═
321
+ 2025-11-20 14:30:17,738 INFO ___FILE_ONLY___ ═
322
+ 2025-11-20 14:30:17,738 INFO ___FILE_ONLY___ ═
323
+ 2025-11-20 14:30:17,738 INFO ___FILE_ONLY___ ═
324
+ 2025-11-20 14:30:17,739 INFO ___FILE_ONLY___ ═
325
+ 2025-11-20 14:30:17,739 INFO ___FILE_ONLY___ ═
326
+ 2025-11-20 14:30:17,739 INFO ___FILE_ONLY___ ═
327
+ 2025-11-20 14:30:17,739 INFO ___FILE_ONLY___ ═
328
+ 2025-11-20 14:30:17,740 INFO ___FILE_ONLY___ ═
329
+ 2025-11-20 14:30:17,740 INFO ___FILE_ONLY___ ═
330
+ 2025-11-20 14:30:17,740 INFO ___FILE_ONLY___ ═
331
+ 2025-11-20 14:30:17,740 INFO ___FILE_ONLY___ ═
332
+ 2025-11-20 14:30:17,741 INFO ___FILE_ONLY___ ═
333
+ 2025-11-20 14:30:17,741 INFO ___FILE_ONLY___ ═
334
+ 2025-11-20 14:30:17,741 INFO ___FILE_ONLY___ ═
335
+ 2025-11-20 14:30:17,741 INFO ___FILE_ONLY___ ═
336
+ 2025-11-20 14:30:17,742 INFO ___FILE_ONLY___ ═
337
+ 2025-11-20 14:30:17,742 INFO ___FILE_ONLY___ ═
338
+ 2025-11-20 14:30:17,742 INFO ___FILE_ONLY___ ═
339
+ 2025-11-20 14:30:17,743 INFO ___FILE_ONLY___ ═
340
+ 2025-11-20 14:30:17,743 INFO ___FILE_ONLY___ ═
341
+ 2025-11-20 14:30:17,743 INFO ___FILE_ONLY___ ═
342
+ 2025-11-20 14:30:17,743 INFO ___FILE_ONLY___ ═
343
+ 2025-11-20 14:30:17,744 INFO ___FILE_ONLY___ ═
344
+ 2025-11-20 14:30:17,744 INFO ___FILE_ONLY___ ═
345
+ 2025-11-20 14:30:17,744 INFO ___FILE_ONLY___ ═
346
+ 2025-11-20 14:30:17,744 INFO ___FILE_ONLY___ ═
347
+ 2025-11-20 14:30:17,745 INFO ___FILE_ONLY___ ═
348
+ 2025-11-20 14:30:17,745 INFO ___FILE_ONLY___ ═
349
+ 2025-11-20 14:30:17,745 INFO ___FILE_ONLY___ ═
350
+ 2025-11-20 14:30:17,745 INFO ___FILE_ONLY___ ═
351
+ 2025-11-20 14:30:17,746 INFO ___FILE_ONLY___ ═
352
+ 2025-11-20 14:30:17,746 INFO ___FILE_ONLY___ ═
353
+ 2025-11-20 14:30:17,746 INFO ___FILE_ONLY___ ═
354
+ 2025-11-20 14:30:17,747 INFO ___FILE_ONLY___ ═
355
+ 2025-11-20 14:30:17,747 INFO ___FILE_ONLY___ ═
356
+ 2025-11-20 14:30:17,747 INFO ___FILE_ONLY___ ═
357
+ 2025-11-20 14:30:17,747 INFO ___FILE_ONLY___ ═
358
+ 2025-11-20 14:30:17,748 INFO ___FILE_ONLY___ ═
359
+ 2025-11-20 14:30:17,748 INFO ___FILE_ONLY___ ═
360
+ 2025-11-20 14:30:17,748 INFO ___FILE_ONLY___ ═
361
+ 2025-11-20 14:30:17,749 INFO ___FILE_ONLY___ ═
362
+ 2025-11-20 14:30:17,749 INFO ___FILE_ONLY___ ═
363
+ 2025-11-20 14:30:17,749 INFO ___FILE_ONLY___ ═
364
+ 2025-11-20 14:30:17,749 INFO ___FILE_ONLY___ ═
365
+ 2025-11-20 14:30:17,750 INFO ___FILE_ONLY___ ═
366
+ 2025-11-20 14:30:17,750 INFO ___FILE_ONLY___ ═
367
+ 2025-11-20 14:30:17,750 INFO ___FILE_ONLY___ ═
368
+ 2025-11-20 14:30:17,750 INFO ___FILE_ONLY___ ╝
369
+
370
+ 2025-11-20 14:30:17,752 INFO ___FILE_ONLY___ ╔════════════════════════════════════════════════════════════╗
371
+
372
+ 2025-11-20 14:30:17,752 INFO ___FILE_ONLY___ ╠═ Downloading: Cloud Storage Command Line Tool (Platfor... ═╣
373
+
374
+ 2025-11-20 14:30:17,752 INFO ___FILE_ONLY___ ╚
375
+ 2025-11-20 14:30:17,755 DEBUG urllib3.connectionpool Starting new HTTPS connection (1): dl.google.com:443
376
+ 2025-11-20 14:30:17,793 DEBUG urllib3.connectionpool https://dl.google.com:443 "GET /dl/cloudsdk/channels/rapid/components/google-cloud-sdk-gsutil-nix-20251031202127.tar.gz HTTP/1.1" 200 1949
377
+ 2025-11-20 14:30:17,793 INFO ___FILE_ONLY___ ════════════════════════════════════════════════════════════
378
+ 2025-11-20 14:30:17,793 INFO ___FILE_ONLY___ ╝
379
+
380
+ 2025-11-20 14:30:17,795 INFO ___FILE_ONLY___ ╔════════════════════════════════════════════════════════════╗
381
+
382
+ 2025-11-20 14:30:17,795 INFO ___FILE_ONLY___ ╠═ Downloading: Default set of gcloud commands ═╣
383
+
384
+ 2025-11-20 14:30:17,795 INFO ___FILE_ONLY___ ╚
385
+ 2025-11-20 14:30:17,795 INFO ___FILE_ONLY___ ════════════════════════════════════════════════════════════
386
+ 2025-11-20 14:30:17,796 INFO ___FILE_ONLY___ ╝
387
+
388
+ 2025-11-20 14:30:17,797 INFO ___FILE_ONLY___ ╔════════════════════════════════════════════════════════════╗
389
+
390
+ 2025-11-20 14:30:17,797 INFO ___FILE_ONLY___ ╠═ Downloading: Google Cloud CLI Core Libraries (Platfor... ═╣
391
+
392
+ 2025-11-20 14:30:17,797 INFO ___FILE_ONLY___ ╚
393
+ 2025-11-20 14:30:17,800 DEBUG urllib3.connectionpool Starting new HTTPS connection (1): dl.google.com:443
394
+ 2025-11-20 14:30:17,810 DEBUG urllib3.connectionpool https://dl.google.com:443 "GET /dl/cloudsdk/channels/rapid/components/google-cloud-sdk-core-nix-20251031202127.tar.gz HTTP/1.1" 200 2326
395
+ 2025-11-20 14:30:17,811 INFO ___FILE_ONLY___ ════════════════════════════════════════════════════════════
396
+ 2025-11-20 14:30:17,811 INFO ___FILE_ONLY___ ╝
397
+
398
+ 2025-11-20 14:30:17,813 INFO ___FILE_ONLY___ ╔════════════════════════════════════════════════════════════╗
399
+
400
+ 2025-11-20 14:30:17,813 INFO ___FILE_ONLY___ ╠═ Downloading: Google Cloud CRC32C Hash Tool ═╣
401
+
402
+ 2025-11-20 14:30:17,813 INFO ___FILE_ONLY___ ╚
403
+ 2025-11-20 14:30:17,813 INFO ___FILE_ONLY___ ════════════════════════════════════════════════════════════
404
+ 2025-11-20 14:30:17,813 INFO ___FILE_ONLY___ ╝
405
+
406
+ 2025-11-20 14:30:17,815 INFO ___FILE_ONLY___ ╔════════════════════════════════════════════════════════════╗
407
+
408
+ 2025-11-20 14:30:17,815 INFO ___FILE_ONLY___ ╠═ Downloading: Google Cloud CRC32C Hash Tool (Platform ... ═╣
409
+
410
+ 2025-11-20 14:30:17,815 INFO ___FILE_ONLY___ ╚
411
+ 2025-11-20 14:30:17,817 DEBUG urllib3.connectionpool Starting new HTTPS connection (1): dl.google.com:443
412
+ 2025-11-20 14:30:17,831 DEBUG urllib3.connectionpool https://dl.google.com:443 "GET /dl/cloudsdk/channels/rapid/components/google-cloud-sdk-gcloud-crc32c-linux-x86_64-20251031202127.tar.gz HTTP/1.1" 200 1531280
413
+ 2025-11-20 14:30:17,842 INFO ___FILE_ONLY___ ═
414
+ 2025-11-20 14:30:17,843 INFO ___FILE_ONLY___ ═
415
+ 2025-11-20 14:30:17,843 INFO ___FILE_ONLY___ ═
416
+ 2025-11-20 14:30:17,843 INFO ___FILE_ONLY___ ═
417
+ 2025-11-20 14:30:17,843 INFO ___FILE_ONLY___ ═
418
+ 2025-11-20 14:30:17,843 INFO ___FILE_ONLY___ ═
419
+ 2025-11-20 14:30:17,843 INFO ___FILE_ONLY___ ═
420
+ 2025-11-20 14:30:17,843 INFO ___FILE_ONLY___ ═
421
+ 2025-11-20 14:30:17,843 INFO ___FILE_ONLY___ ═
422
+ 2025-11-20 14:30:17,843 INFO ___FILE_ONLY___ ═
423
+ 2025-11-20 14:30:17,843 INFO ___FILE_ONLY___ ═
424
+ 2025-11-20 14:30:17,843 INFO ___FILE_ONLY___ ═
425
+ 2025-11-20 14:30:17,843 INFO ___FILE_ONLY___ ═
426
+ 2025-11-20 14:30:17,844 INFO ___FILE_ONLY___ ═
427
+ 2025-11-20 14:30:17,844 INFO ___FILE_ONLY___ ═
428
+ 2025-11-20 14:30:17,844 INFO ___FILE_ONLY___ ═
429
+ 2025-11-20 14:30:17,844 INFO ___FILE_ONLY___ ═
430
+ 2025-11-20 14:30:17,844 INFO ___FILE_ONLY___ ═
431
+ 2025-11-20 14:30:17,844 INFO ___FILE_ONLY___ ═
432
+ 2025-11-20 14:30:17,844 INFO ___FILE_ONLY___ ═
433
+ 2025-11-20 14:30:17,844 INFO ___FILE_ONLY___ ═
434
+ 2025-11-20 14:30:17,844 INFO ___FILE_ONLY___ ═
435
+ 2025-11-20 14:30:17,844 INFO ___FILE_ONLY___ ═
436
+ 2025-11-20 14:30:17,844 INFO ___FILE_ONLY___ ═
437
+ 2025-11-20 14:30:17,844 INFO ___FILE_ONLY___ ═
438
+ 2025-11-20 14:30:17,844 INFO ___FILE_ONLY___ ═
439
+ 2025-11-20 14:30:17,845 INFO ___FILE_ONLY___ ═
440
+ 2025-11-20 14:30:17,845 INFO ___FILE_ONLY___ ═
441
+ 2025-11-20 14:30:17,845 INFO ___FILE_ONLY___ ═
442
+ 2025-11-20 14:30:17,845 INFO ___FILE_ONLY___ ═
443
+ 2025-11-20 14:30:17,845 INFO ___FILE_ONLY___ ═
444
+ 2025-11-20 14:30:17,845 INFO ___FILE_ONLY___ ═
445
+ 2025-11-20 14:30:17,845 INFO ___FILE_ONLY___ ═
446
+ 2025-11-20 14:30:17,845 INFO ___FILE_ONLY___ ═
447
+ 2025-11-20 14:30:17,845 INFO ___FILE_ONLY___ ═
448
+ 2025-11-20 14:30:17,845 INFO ___FILE_ONLY___ ═
449
+ 2025-11-20 14:30:17,845 INFO ___FILE_ONLY___ ═
450
+ 2025-11-20 14:30:17,845 INFO ___FILE_ONLY___ ═
451
+ 2025-11-20 14:30:17,845 INFO ___FILE_ONLY___ ═
452
+ 2025-11-20 14:30:17,845 INFO ___FILE_ONLY___ ═
453
+ 2025-11-20 14:30:17,846 INFO ___FILE_ONLY___ ═
454
+ 2025-11-20 14:30:17,846 INFO ___FILE_ONLY___ ═
455
+ 2025-11-20 14:30:17,846 INFO ___FILE_ONLY___ ═
456
+ 2025-11-20 14:30:17,846 INFO ___FILE_ONLY___ ═
457
+ 2025-11-20 14:30:17,846 INFO ___FILE_ONLY___ ═
458
+ 2025-11-20 14:30:17,846 INFO ___FILE_ONLY___ ═
459
+ 2025-11-20 14:30:17,846 INFO ___FILE_ONLY___ ═
460
+ 2025-11-20 14:30:17,846 INFO ___FILE_ONLY___ ═
461
+ 2025-11-20 14:30:17,846 INFO ___FILE_ONLY___ ═
462
+ 2025-11-20 14:30:17,846 INFO ___FILE_ONLY___ ═
463
+ 2025-11-20 14:30:17,846 INFO ___FILE_ONLY___ ═
464
+ 2025-11-20 14:30:17,846 INFO ___FILE_ONLY___ ═
465
+ 2025-11-20 14:30:17,847 INFO ___FILE_ONLY___ ═
466
+ 2025-11-20 14:30:17,847 INFO ___FILE_ONLY___ ═
467
+ 2025-11-20 14:30:17,847 INFO ___FILE_ONLY___ ═
468
+ 2025-11-20 14:30:17,847 INFO ___FILE_ONLY___ ═
469
+ 2025-11-20 14:30:17,847 INFO ___FILE_ONLY___ ═
470
+ 2025-11-20 14:30:17,847 INFO ___FILE_ONLY___ ═
471
+ 2025-11-20 14:30:17,847 INFO ___FILE_ONLY___ ═
472
+ 2025-11-20 14:30:17,847 INFO ___FILE_ONLY___ ═
473
+ 2025-11-20 14:30:17,847 INFO ___FILE_ONLY___ ╝
474
+
475
+ 2025-11-20 14:30:17,849 INFO ___FILE_ONLY___ ╔════════════════════════════════════════════════════════════╗
476
+
477
+ 2025-11-20 14:30:17,849 INFO ___FILE_ONLY___ ╠═ Downloading: gcloud cli dependencies (Platform Specific) ═╣
478
+
479
+ 2025-11-20 14:30:17,849 INFO ___FILE_ONLY___ ╚
480
+ 2025-11-20 14:30:17,852 DEBUG urllib3.connectionpool Starting new HTTPS connection (1): dl.google.com:443
481
+ 2025-11-20 14:30:17,863 DEBUG urllib3.connectionpool https://dl.google.com:443 "GET /dl/cloudsdk/channels/rapid/components/google-cloud-sdk-gcloud-deps-linux-x86_64-20210416153011.tar.gz HTTP/1.1" 200 104
482
+ 2025-11-20 14:30:17,863 INFO ___FILE_ONLY___ ════════════════════════════════════════════════════════════
483
+ 2025-11-20 14:30:17,863 INFO ___FILE_ONLY___ ╝
484
+
485
+ 2025-11-20 14:30:17,865 INFO ___FILE_ONLY___ ╔════════════════════════════════════════════════════════════╗
486
+
487
+ 2025-11-20 14:30:17,865 INFO ___FILE_ONLY___ ╠═ Installing: BigQuery Command Line Tool ═╣
488
+
489
+ 2025-11-20 14:30:17,865 INFO ___FILE_ONLY___ ╚
490
+ 2025-11-20 14:30:17,965 INFO ___FILE_ONLY___ ═
491
+ 2025-11-20 14:30:17,968 INFO ___FILE_ONLY___ ═
492
+ 2025-11-20 14:30:17,971 INFO ___FILE_ONLY___ ═
493
+ 2025-11-20 14:30:17,973 INFO ___FILE_ONLY___ ═
494
+ 2025-11-20 14:30:17,976 INFO ___FILE_ONLY___ ═
495
+ 2025-11-20 14:30:17,979 INFO ___FILE_ONLY___ ═
496
+ 2025-11-20 14:30:17,981 INFO ___FILE_ONLY___ ═
497
+ 2025-11-20 14:30:17,983 INFO ___FILE_ONLY___ ═
498
+ 2025-11-20 14:30:17,985 INFO ___FILE_ONLY___ ═
499
+ 2025-11-20 14:30:17,988 INFO ___FILE_ONLY___ ═
500
+ 2025-11-20 14:30:17,990 INFO ___FILE_ONLY___ ═
501
+ 2025-11-20 14:30:17,992 INFO ___FILE_ONLY___ ═
502
+ 2025-11-20 14:30:17,994 INFO ___FILE_ONLY___ ═
503
+ 2025-11-20 14:30:17,997 INFO ___FILE_ONLY___ ═
504
+ 2025-11-20 14:30:17,999 INFO ___FILE_ONLY___ ═
505
+ 2025-11-20 14:30:18,001 INFO ___FILE_ONLY___ ═
506
+ 2025-11-20 14:30:18,004 INFO ___FILE_ONLY___ ═
507
+ 2025-11-20 14:30:18,007 INFO ___FILE_ONLY___ ═
508
+ 2025-11-20 14:30:18,009 INFO ___FILE_ONLY___ ═
509
+ 2025-11-20 14:30:18,012 INFO ___FILE_ONLY___ ═
510
+ 2025-11-20 14:30:18,014 INFO ___FILE_ONLY___ ═
511
+ 2025-11-20 14:30:18,016 INFO ___FILE_ONLY___ ═
512
+ 2025-11-20 14:30:18,018 INFO ___FILE_ONLY___ ═
513
+ 2025-11-20 14:30:18,020 INFO ___FILE_ONLY___ ═
514
+ 2025-11-20 14:30:18,023 INFO ___FILE_ONLY___ ═
515
+ 2025-11-20 14:30:18,025 INFO ___FILE_ONLY___ ═
516
+ 2025-11-20 14:30:18,027 INFO ___FILE_ONLY___ ═
517
+ 2025-11-20 14:30:18,029 INFO ___FILE_ONLY___ ═
518
+ 2025-11-20 14:30:18,030 INFO ___FILE_ONLY___ ═
519
+ 2025-11-20 14:30:18,032 INFO ___FILE_ONLY___ ═
520
+ 2025-11-20 14:30:18,034 INFO ___FILE_ONLY___ ═
521
+ 2025-11-20 14:30:18,035 INFO ___FILE_ONLY___ ═
522
+ 2025-11-20 14:30:18,037 INFO ___FILE_ONLY___ ═
523
+ 2025-11-20 14:30:18,040 INFO ___FILE_ONLY___ ═
524
+ 2025-11-20 14:30:18,042 INFO ___FILE_ONLY___ ═
525
+ 2025-11-20 14:30:18,044 INFO ___FILE_ONLY___ ═
526
+ 2025-11-20 14:30:18,046 INFO ___FILE_ONLY___ ═
527
+ 2025-11-20 14:30:18,049 INFO ___FILE_ONLY___ ═
528
+ 2025-11-20 14:30:18,060 INFO ___FILE_ONLY___ ═
529
+ 2025-11-20 14:30:18,064 INFO ___FILE_ONLY___ ═
530
+ 2025-11-20 14:30:18,066 INFO ___FILE_ONLY___ ═
531
+ 2025-11-20 14:30:18,068 INFO ___FILE_ONLY___ ═
532
+ 2025-11-20 14:30:18,071 INFO ___FILE_ONLY___ ═
533
+ 2025-11-20 14:30:18,073 INFO ___FILE_ONLY___ ═
534
+ 2025-11-20 14:30:18,075 INFO ___FILE_ONLY___ ═
535
+ 2025-11-20 14:30:18,080 INFO ___FILE_ONLY___ ═
536
+ 2025-11-20 14:30:18,082 INFO ___FILE_ONLY___ ═
537
+ 2025-11-20 14:30:18,084 INFO ___FILE_ONLY___ ═
538
+ 2025-11-20 14:30:18,086 INFO ___FILE_ONLY___ ═
539
+ 2025-11-20 14:30:18,088 INFO ___FILE_ONLY___ ═
540
+ 2025-11-20 14:30:18,091 INFO ___FILE_ONLY___ ═
541
+ 2025-11-20 14:30:18,093 INFO ___FILE_ONLY___ ═
542
+ 2025-11-20 14:30:18,095 INFO ___FILE_ONLY___ ═
543
+ 2025-11-20 14:30:18,097 INFO ___FILE_ONLY___ ═
544
+ 2025-11-20 14:30:18,099 INFO ___FILE_ONLY___ ═
545
+ 2025-11-20 14:30:18,101 INFO ___FILE_ONLY___ ═
546
+ 2025-11-20 14:30:18,104 INFO ___FILE_ONLY___ ═
547
+ 2025-11-20 14:30:18,106 INFO ___FILE_ONLY___ ═
548
+ 2025-11-20 14:30:18,108 INFO ___FILE_ONLY___ ═
549
+ 2025-11-20 14:30:18,110 INFO ___FILE_ONLY___ ═
550
+ 2025-11-20 14:30:18,110 INFO ___FILE_ONLY___ ╝
551
+
552
+ 2025-11-20 14:30:18,118 INFO ___FILE_ONLY___ ╔════════════════════════════════════════════════════════════╗
553
+
554
+ 2025-11-20 14:30:18,118 INFO ___FILE_ONLY___ ╠═ Installing: BigQuery Command Line Tool (Platform Spec... ═╣
555
+
556
+ 2025-11-20 14:30:18,118 INFO ___FILE_ONLY___ ╚
557
+ 2025-11-20 14:30:18,119 INFO ___FILE_ONLY___ ════════════════════════════════════════════════════════════
558
+ 2025-11-20 14:30:18,119 INFO ___FILE_ONLY___ ╝
559
+
560
+ 2025-11-20 14:30:18,123 INFO ___FILE_ONLY___ ╔════════════════════════════════════════════════════════════╗
561
+
562
+ 2025-11-20 14:30:18,123 INFO ___FILE_ONLY___ ╠═ Installing: Bundled Python 3.13 ═╣
563
+
564
+ 2025-11-20 14:30:18,123 INFO ___FILE_ONLY___ ╚
565
+ 2025-11-20 14:30:18,126 INFO ___FILE_ONLY___ ════════════════════════════════════════════════════════════
566
+ 2025-11-20 14:30:18,126 INFO ___FILE_ONLY___ ╝
567
+
568
+ 2025-11-20 14:30:18,128 INFO ___FILE_ONLY___ ╔════════════════════════════════════════════════════════════╗
569
+
570
+ 2025-11-20 14:30:18,128 INFO ___FILE_ONLY___ ╠═ Installing: Bundled Python 3.13 (Platform Specific) ═╣
571
+
572
+ 2025-11-20 14:30:18,128 INFO ___FILE_ONLY___ ╚
573
+ 2025-11-20 14:30:21,213 INFO ___FILE_ONLY___ ═
574
+ 2025-11-20 14:30:21,228 INFO ___FILE_ONLY___ ═
575
+ 2025-11-20 14:30:21,242 INFO ___FILE_ONLY___ ═
576
+ 2025-11-20 14:30:23,539 INFO ___FILE_ONLY___ ═
577
+ 2025-11-20 14:30:23,564 INFO ___FILE_ONLY___ ═
578
+ 2025-11-20 14:30:23,593 INFO ___FILE_ONLY___ ═
579
+ 2025-11-20 14:30:23,613 INFO ___FILE_ONLY___ ═
580
+ 2025-11-20 14:30:23,643 INFO ___FILE_ONLY___ ═
581
+ 2025-11-20 14:30:23,661 INFO ___FILE_ONLY___ ═
582
+ 2025-11-20 14:30:23,754 INFO ___FILE_ONLY___ ═
583
+ 2025-11-20 14:30:23,770 INFO ___FILE_ONLY___ ═
584
+ 2025-11-20 14:30:23,786 INFO ___FILE_ONLY___ ═
585
+ 2025-11-20 14:30:23,816 INFO ___FILE_ONLY___ ═
586
+ 2025-11-20 14:30:23,831 INFO ___FILE_ONLY___ ═
587
+ 2025-11-20 14:30:23,847 INFO ___FILE_ONLY___ ═
588
+ 2025-11-20 14:30:23,861 INFO ___FILE_ONLY___ ═
589
+ 2025-11-20 14:30:23,876 INFO ___FILE_ONLY___ ═
590
+ 2025-11-20 14:30:23,896 INFO ___FILE_ONLY___ ═
591
+ 2025-11-20 14:30:23,911 INFO ___FILE_ONLY___ ═
592
+ 2025-11-20 14:30:23,927 INFO ___FILE_ONLY___ ═
593
+ 2025-11-20 14:30:23,942 INFO ___FILE_ONLY___ ═
594
+ 2025-11-20 14:30:23,960 INFO ___FILE_ONLY___ ═
595
+ 2025-11-20 14:30:23,975 INFO ___FILE_ONLY___ ═
596
+ 2025-11-20 14:30:24,123 INFO ___FILE_ONLY___ ═
597
+ 2025-11-20 14:30:24,597 INFO ___FILE_ONLY___ ═
598
+ 2025-11-20 14:30:24,621 INFO ___FILE_ONLY___ ═
599
+ 2025-11-20 14:30:24,641 INFO ___FILE_ONLY___ ═
600
+ 2025-11-20 14:30:24,655 INFO ___FILE_ONLY___ ═
601
+ 2025-11-20 14:30:24,669 INFO ___FILE_ONLY___ ═
602
+ 2025-11-20 14:30:24,682 INFO ___FILE_ONLY___ ═
603
+ 2025-11-20 14:30:24,695 INFO ___FILE_ONLY___ ═
604
+ 2025-11-20 14:30:24,709 INFO ___FILE_ONLY___ ═
605
+ 2025-11-20 14:30:24,723 INFO ___FILE_ONLY___ ═
606
+ 2025-11-20 14:30:24,736 INFO ___FILE_ONLY___ ═
607
+ 2025-11-20 14:30:24,749 INFO ___FILE_ONLY___ ═
608
+ 2025-11-20 14:30:24,762 INFO ___FILE_ONLY___ ═
609
+ 2025-11-20 14:30:24,775 INFO ___FILE_ONLY___ ═
610
+ 2025-11-20 14:30:24,788 INFO ___FILE_ONLY___ ═
611
+ 2025-11-20 14:30:24,801 INFO ___FILE_ONLY___ ═
612
+ 2025-11-20 14:30:24,815 INFO ___FILE_ONLY___ ═
613
+ 2025-11-20 14:30:24,828 INFO ___FILE_ONLY___ ═
614
+ 2025-11-20 14:30:24,842 INFO ___FILE_ONLY___ ═
615
+ 2025-11-20 14:30:24,855 INFO ___FILE_ONLY___ ═
616
+ 2025-11-20 14:30:24,868 INFO ___FILE_ONLY___ ═
617
+ 2025-11-20 14:30:24,881 INFO ___FILE_ONLY___ ═
618
+ 2025-11-20 14:30:24,894 INFO ___FILE_ONLY___ ═
619
+ 2025-11-20 14:30:24,908 INFO ___FILE_ONLY___ ═
620
+ 2025-11-20 14:30:24,921 INFO ___FILE_ONLY___ ═
621
+ 2025-11-20 14:30:24,934 INFO ___FILE_ONLY___ ═
622
+ 2025-11-20 14:30:24,947 INFO ___FILE_ONLY___ ═
623
+ 2025-11-20 14:30:24,960 INFO ___FILE_ONLY___ ═
624
+ 2025-11-20 14:30:24,974 INFO ___FILE_ONLY___ ═
625
+ 2025-11-20 14:30:24,987 INFO ___FILE_ONLY___ ═
626
+ 2025-11-20 14:30:25,000 INFO ___FILE_ONLY___ ═
627
+ 2025-11-20 14:30:25,014 INFO ___FILE_ONLY___ ═
628
+ 2025-11-20 14:30:25,027 INFO ___FILE_ONLY___ ═
629
+ 2025-11-20 14:30:25,041 INFO ___FILE_ONLY___ ═
630
+ 2025-11-20 14:30:25,054 INFO ___FILE_ONLY___ ═
631
+ 2025-11-20 14:30:25,067 INFO ___FILE_ONLY___ ═
632
+ 2025-11-20 14:30:25,080 INFO ___FILE_ONLY___ ═
633
+ 2025-11-20 14:30:25,081 INFO ___FILE_ONLY___ ╝
634
+
635
+ 2025-11-20 14:30:25,139 INFO ___FILE_ONLY___ ╔════════════════════════════════════════════════════════════╗
636
+
637
+ 2025-11-20 14:30:25,139 INFO ___FILE_ONLY___ ╠═ Installing: Cloud Storage Command Line Tool ═╣
638
+
639
+ 2025-11-20 14:30:25,139 INFO ___FILE_ONLY___ ╚
640
+ 2025-11-20 14:30:25,678 INFO ___FILE_ONLY___ ═
641
+ 2025-11-20 14:30:25,689 INFO ___FILE_ONLY___ ═
642
+ 2025-11-20 14:30:25,699 INFO ___FILE_ONLY___ ═
643
+ 2025-11-20 14:30:25,708 INFO ___FILE_ONLY___ ═
644
+ 2025-11-20 14:30:25,717 INFO ___FILE_ONLY___ ═
645
+ 2025-11-20 14:30:25,749 INFO ___FILE_ONLY___ ═
646
+ 2025-11-20 14:30:25,762 INFO ___FILE_ONLY___ ═
647
+ 2025-11-20 14:30:25,776 INFO ___FILE_ONLY___ ═
648
+ 2025-11-20 14:30:25,790 INFO ___FILE_ONLY___ ═
649
+ 2025-11-20 14:30:25,804 INFO ___FILE_ONLY___ ═
650
+ 2025-11-20 14:30:25,820 INFO ___FILE_ONLY___ ═
651
+ 2025-11-20 14:30:25,830 INFO ___FILE_ONLY___ ═
652
+ 2025-11-20 14:30:25,841 INFO ___FILE_ONLY___ ═
653
+ 2025-11-20 14:30:25,849 INFO ___FILE_ONLY___ ═
654
+ 2025-11-20 14:30:25,857 INFO ___FILE_ONLY___ ═
655
+ 2025-11-20 14:30:25,873 INFO ___FILE_ONLY___ ═
656
+ 2025-11-20 14:30:25,885 INFO ___FILE_ONLY___ ═
657
+ 2025-11-20 14:30:25,893 INFO ___FILE_ONLY___ ═
658
+ 2025-11-20 14:30:25,904 INFO ___FILE_ONLY___ ═
659
+ 2025-11-20 14:30:25,914 INFO ___FILE_ONLY___ ═
660
+ 2025-11-20 14:30:25,923 INFO ___FILE_ONLY___ ═
661
+ 2025-11-20 14:30:25,934 INFO ___FILE_ONLY___ ═
662
+ 2025-11-20 14:30:25,944 INFO ___FILE_ONLY___ ═
663
+ 2025-11-20 14:30:25,953 INFO ___FILE_ONLY___ ═
664
+ 2025-11-20 14:30:25,963 INFO ___FILE_ONLY___ ═
665
+ 2025-11-20 14:30:25,972 INFO ___FILE_ONLY___ ═
666
+ 2025-11-20 14:30:25,981 INFO ___FILE_ONLY___ ═
667
+ 2025-11-20 14:30:25,994 INFO ___FILE_ONLY___ ═
668
+ 2025-11-20 14:30:26,009 INFO ___FILE_ONLY___ ═
669
+ 2025-11-20 14:30:26,020 INFO ___FILE_ONLY___ ═
670
+ 2025-11-20 14:30:26,031 INFO ___FILE_ONLY___ ═
671
+ 2025-11-20 14:30:26,051 INFO ___FILE_ONLY___ ═
672
+ 2025-11-20 14:30:26,065 INFO ___FILE_ONLY___ ═
673
+ 2025-11-20 14:30:26,082 INFO ___FILE_ONLY___ ═
674
+ 2025-11-20 14:30:26,095 INFO ___FILE_ONLY___ ═
675
+ 2025-11-20 14:30:26,111 INFO ___FILE_ONLY___ ═
676
+ 2025-11-20 14:30:26,119 INFO ___FILE_ONLY___ ═
677
+ 2025-11-20 14:30:26,129 INFO ___FILE_ONLY___ ═
678
+ 2025-11-20 14:30:26,163 INFO ___FILE_ONLY___ ═
679
+ 2025-11-20 14:30:26,176 INFO ___FILE_ONLY___ ═
680
+ 2025-11-20 14:30:26,186 INFO ___FILE_ONLY___ ═
681
+ 2025-11-20 14:30:26,196 INFO ___FILE_ONLY___ ═
682
+ 2025-11-20 14:30:26,205 INFO ___FILE_ONLY___ ═
683
+ 2025-11-20 14:30:26,215 INFO ___FILE_ONLY___ ═
684
+ 2025-11-20 14:30:26,225 INFO ___FILE_ONLY___ ═
685
+ 2025-11-20 14:30:26,234 INFO ___FILE_ONLY___ ═
686
+ 2025-11-20 14:30:26,243 INFO ___FILE_ONLY___ ═
687
+ 2025-11-20 14:30:26,251 INFO ___FILE_ONLY___ ═
688
+ 2025-11-20 14:30:26,260 INFO ___FILE_ONLY___ ═
689
+ 2025-11-20 14:30:26,272 INFO ___FILE_ONLY___ ═
690
+ 2025-11-20 14:30:26,286 INFO ___FILE_ONLY___ ═
691
+ 2025-11-20 14:30:26,297 INFO ___FILE_ONLY___ ═
692
+ 2025-11-20 14:30:26,309 INFO ___FILE_ONLY___ ═
693
+ 2025-11-20 14:30:26,322 INFO ___FILE_ONLY___ ═
694
+ 2025-11-20 14:30:26,345 INFO ___FILE_ONLY___ ═
695
+ 2025-11-20 14:30:26,359 INFO ___FILE_ONLY___ ═
696
+ 2025-11-20 14:30:26,373 INFO ___FILE_ONLY___ ═
697
+ 2025-11-20 14:30:26,393 INFO ___FILE_ONLY___ ═
698
+ 2025-11-20 14:30:26,409 INFO ___FILE_ONLY___ ═
699
+ 2025-11-20 14:30:26,426 INFO ___FILE_ONLY___ ═
700
+ 2025-11-20 14:30:26,426 INFO ___FILE_ONLY___ ╝
701
+
702
+ 2025-11-20 14:30:26,456 INFO ___FILE_ONLY___ ╔════════════════════════════════════════════════════════════╗
703
+
704
+ 2025-11-20 14:30:26,456 INFO ___FILE_ONLY___ ╠═ Installing: Cloud Storage Command Line Tool (Platform... ═╣
705
+
706
+ 2025-11-20 14:30:26,456 INFO ___FILE_ONLY___ ╚
707
+ 2025-11-20 14:30:26,457 INFO ___FILE_ONLY___ ════════════════════════════════════════════════════════════
708
+ 2025-11-20 14:30:26,457 INFO ___FILE_ONLY___ ╝
709
+
710
+ 2025-11-20 14:30:26,461 INFO ___FILE_ONLY___ ╔════════════════════════════════════════════════════════════╗
711
+
712
+ 2025-11-20 14:30:26,461 INFO ___FILE_ONLY___ ╠═ Installing: Default set of gcloud commands ═╣
713
+
714
+ 2025-11-20 14:30:26,461 INFO ___FILE_ONLY___ ╚
715
+ 2025-11-20 14:30:26,463 INFO ___FILE_ONLY___ ════════════════════════════════════════════════════════════
716
+ 2025-11-20 14:30:26,463 INFO ___FILE_ONLY___ ╝
717
+
718
+ 2025-11-20 14:30:26,465 INFO ___FILE_ONLY___ ╔════════════════════════════════════════════════════════════╗
719
+
720
+ 2025-11-20 14:30:26,465 INFO ___FILE_ONLY___ ╠═ Installing: Google Cloud CLI Core Libraries (Platform... ═╣
721
+
722
+ 2025-11-20 14:30:26,465 INFO ___FILE_ONLY___ ╚
723
+ 2025-11-20 14:30:26,466 INFO ___FILE_ONLY___ ══════════════════════════════
724
+ 2025-11-20 14:30:26,466 INFO ___FILE_ONLY___ ══════════════════════════════
725
+ 2025-11-20 14:30:26,467 INFO ___FILE_ONLY___ ╝
726
+
727
+ 2025-11-20 14:30:26,470 INFO ___FILE_ONLY___ ╔════════════════════════════════════════════════════════════╗
728
+
729
+ 2025-11-20 14:30:26,471 INFO ___FILE_ONLY___ ╠═ Installing: Google Cloud CRC32C Hash Tool ═╣
730
+
731
+ 2025-11-20 14:30:26,471 INFO ___FILE_ONLY___ ╚
732
+ 2025-11-20 14:30:26,473 INFO ___FILE_ONLY___ ════════════════════════════════════════════════════════════
733
+ 2025-11-20 14:30:26,473 INFO ___FILE_ONLY___ ╝
734
+
735
+ 2025-11-20 14:30:26,475 INFO ___FILE_ONLY___ ╔════════════════════════════════════════════════════════════╗
736
+
737
+ 2025-11-20 14:30:26,475 INFO ___FILE_ONLY___ ╠═ Installing: Google Cloud CRC32C Hash Tool (Platform S... ═╣
738
+
739
+ 2025-11-20 14:30:26,475 INFO ___FILE_ONLY___ ╚
740
+ 2025-11-20 14:30:26,510 INFO ___FILE_ONLY___ ══════════════════════════════
741
+ 2025-11-20 14:30:26,510 INFO ___FILE_ONLY___ ══════════════════════════════
742
+ 2025-11-20 14:30:26,510 INFO ___FILE_ONLY___ ╝
743
+
744
+ 2025-11-20 14:30:26,515 INFO ___FILE_ONLY___ ╔════════════════════════════════════════════════════════════╗
745
+
746
+ 2025-11-20 14:30:26,515 INFO ___FILE_ONLY___ ╠═ Installing: gcloud cli dependencies (Platform Specific) ═╣
747
+
748
+ 2025-11-20 14:30:26,515 INFO ___FILE_ONLY___ ╚
749
+ 2025-11-20 14:30:26,515 INFO ___FILE_ONLY___ ════════════════════════════════════════════════════════════
750
+ 2025-11-20 14:30:26,515 INFO ___FILE_ONLY___ ╝
751
+
752
+ 2025-11-20 14:30:26,520 DEBUG root Updating notification cache...
753
+ 2025-11-20 14:30:26,521 INFO ___FILE_ONLY___
754
+
755
+ 2025-11-20 14:30:26,522 INFO ___FILE_ONLY___ Performing post processing steps...
756
+ 2025-11-20 14:30:26,523 DEBUG root Executing command: ['/tools/google-cloud-sdk/bin/gcloud', 'components', 'post-process']
757
+ 2025-11-20 14:30:34,735 DEBUG ___FILE_ONLY___
758
+ 2025-11-20 14:30:34,736 DEBUG ___FILE_ONLY___
759
+ 2025-11-20 14:30:34,791 INFO root descriptor_list: [{'universeDomain': 'googleapis.com', 'universeShortName': '', 'authenticationDomain': 'auth.cloud.google.com', 'projectPrefix': '', 'cloudWebDomain': 'cloud.google.com', 'documentationDomain': 'cloud.google.com', 'version': '1.0.0', 'state': 'primary', 'artifactRegistryDomain': 'pkg.dev'}]
760
+ 2025-11-20 14:30:34,791 INFO ___FILE_ONLY___
761
+ Update done!
762
+
763
+
764
+ 2025-11-20 14:30:34,794 DEBUG root Chosen display Format:none
765
+ 2025-11-20 14:30:34,795 INFO root Display format: "none"
.config/logs/2025.11.20/14.30.27.010422.log ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ 2025-11-20 14:30:27,011 DEBUG root Loaded Command Group: ['gcloud', 'components']
2
+ 2025-11-20 14:30:27,013 DEBUG root Loaded Command Group: ['gcloud', 'components', 'post_process']
3
+ 2025-11-20 14:30:27,014 DEBUG root Running [gcloud.components.post-process] with arguments: []
4
+ 2025-11-20 14:30:34,644 DEBUG root Chosen display Format:none
5
+ 2025-11-20 14:30:34,644 INFO root Display format: "none"
.config/logs/2025.11.20/14.30.35.382199.log ADDED
@@ -0,0 +1,153 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ 2025-11-20 14:30:35,383 DEBUG root Loaded Command Group: ['gcloud', 'components']
2
+ 2025-11-20 14:30:35,414 DEBUG root Loaded Command Group: ['gcloud', 'components', 'update']
3
+ 2025-11-20 14:30:35,417 DEBUG root Running [gcloud.components.update] with arguments: [--quiet: "True", COMPONENT-IDS:8: "['gcloud', 'core', 'bq', 'gsutil', 'compute', 'preview', 'alpha', 'beta']"]
4
+ 2025-11-20 14:30:35,418 INFO ___FILE_ONLY___ Beginning update. This process may take several minutes.
5
+
6
+ 2025-11-20 14:30:35,426 DEBUG urllib3.connectionpool Starting new HTTPS connection (1): dl.google.com:443
7
+ 2025-11-20 14:30:35,445 DEBUG urllib3.connectionpool https://dl.google.com:443 "GET /dl/cloudsdk/channels/rapid/components-2.json HTTP/1.1" 200 24782
8
+ 2025-11-20 14:30:35,456 WARNING root Component [compute] no longer exists.
9
+ 2025-11-20 14:30:35,457 INFO ___FILE_ONLY___
10
+
11
+ 2025-11-20 14:30:35,457 INFO ___FILE_ONLY___
12
+ Your current Google Cloud CLI version is: 548.0.0
13
+
14
+ 2025-11-20 14:30:35,457 INFO ___FILE_ONLY___ Installing components from version: 548.0.0
15
+
16
+ 2025-11-20 14:30:35,457 INFO ___FILE_ONLY___
17
+
18
+ 2025-11-20 14:30:35,458 DEBUG root Chosen display Format:table[box,title="These components will be removed."](details.display_name:label=Name:align=left,version.version_string:label=Version:align=right,data.size.size(zero="",min=1048576):label=Size:align=right)
19
+ 2025-11-20 14:30:35,458 DEBUG root Chosen display Format:table[box,title="These components will be updated."](details.display_name:label=Name:align=left,version.version_string:label=Version:align=right,data.size.size(zero="",min=1048576):label=Size:align=right)
20
+ 2025-11-20 14:30:35,458 DEBUG root Chosen display Format:table[box,title="These components will be installed."](details.display_name:label=Name:align=left,version.version_string:label=Version:align=right,data.size.size(zero="",min=1048576):label=Size:align=right)
21
+ 2025-11-20 14:30:35,474 INFO ___FILE_ONLY___ ┌────────────────────────────────────────────────┐
22
+ 2025-11-20 14:30:35,474 INFO ___FILE_ONLY___
23
+
24
+ 2025-11-20 14:30:35,474 INFO ___FILE_ONLY___ │ These components will be installed. │
25
+ 2025-11-20 14:30:35,474 INFO ___FILE_ONLY___
26
+
27
+ 2025-11-20 14:30:35,474 INFO ___FILE_ONLY___ ├─────────────────────────┬────────────┬─────────┤
28
+ 2025-11-20 14:30:35,474 INFO ___FILE_ONLY___
29
+
30
+ 2025-11-20 14:30:35,474 INFO ___FILE_ONLY___ │ Name │ Version │ Size │
31
+ 2025-11-20 14:30:35,474 INFO ___FILE_ONLY___
32
+
33
+ 2025-11-20 14:30:35,475 INFO ___FILE_ONLY___ ├─────────────────────────┼────────────┼─────────┤
34
+ 2025-11-20 14:30:35,475 INFO ___FILE_ONLY___
35
+
36
+ 2025-11-20 14:30:35,475 INFO ___FILE_ONLY___ │
37
+ 2025-11-20 14:30:35,475 INFO ___FILE_ONLY___ gcloud Alpha Commands
38
+ 2025-11-20 14:30:35,475 INFO ___FILE_ONLY___
39
+ 2025-11-20 14:30:35,475 INFO ___FILE_ONLY___ │
40
+ 2025-11-20 14:30:35,475 INFO ___FILE_ONLY___ 2025.11.17
41
+ 2025-11-20 14:30:35,475 INFO ___FILE_ONLY___
42
+ 2025-11-20 14:30:35,475 INFO ___FILE_ONLY___ │
43
+ 2025-11-20 14:30:35,475 INFO ___FILE_ONLY___ < 1 MiB
44
+ 2025-11-20 14:30:35,475 INFO ___FILE_ONLY___
45
+ 2025-11-20 14:30:35,475 INFO ___FILE_ONLY___ │
46
+ 2025-11-20 14:30:35,475 INFO ___FILE_ONLY___
47
+
48
+ 2025-11-20 14:30:35,475 INFO ___FILE_ONLY___ │
49
+ 2025-11-20 14:30:35,475 INFO ___FILE_ONLY___ gcloud Beta Commands
50
+ 2025-11-20 14:30:35,475 INFO ___FILE_ONLY___
51
+ 2025-11-20 14:30:35,475 INFO ___FILE_ONLY___ │
52
+ 2025-11-20 14:30:35,475 INFO ___FILE_ONLY___ 2025.11.17
53
+ 2025-11-20 14:30:35,475 INFO ___FILE_ONLY___
54
+ 2025-11-20 14:30:35,475 INFO ___FILE_ONLY___ │
55
+ 2025-11-20 14:30:35,476 INFO ___FILE_ONLY___ < 1 MiB
56
+ 2025-11-20 14:30:35,476 INFO ___FILE_ONLY___
57
+ 2025-11-20 14:30:35,476 INFO ___FILE_ONLY___ │
58
+ 2025-11-20 14:30:35,476 INFO ___FILE_ONLY___
59
+
60
+ 2025-11-20 14:30:35,476 INFO ___FILE_ONLY___ │
61
+ 2025-11-20 14:30:35,476 INFO ___FILE_ONLY___ gcloud Preview Commands
62
+ 2025-11-20 14:30:35,476 INFO ___FILE_ONLY___
63
+ 2025-11-20 14:30:35,476 INFO ___FILE_ONLY___ │
64
+ 2025-11-20 14:30:35,476 INFO ___FILE_ONLY___
65
+ 2025-11-20 14:30:35,476 INFO ___FILE_ONLY___
66
+ 2025-11-20 14:30:35,476 INFO ___FILE_ONLY___ │
67
+ 2025-11-20 14:30:35,476 INFO ___FILE_ONLY___ < 1 MiB
68
+ 2025-11-20 14:30:35,476 INFO ___FILE_ONLY___
69
+ 2025-11-20 14:30:35,476 INFO ___FILE_ONLY___ │
70
+ 2025-11-20 14:30:35,476 INFO ___FILE_ONLY___
71
+
72
+ 2025-11-20 14:30:35,476 INFO ___FILE_ONLY___ └─────────────────────────┴────────────┴─────────┘
73
+ 2025-11-20 14:30:35,476 INFO ___FILE_ONLY___
74
+
75
+ 2025-11-20 14:30:35,476 INFO ___FILE_ONLY___
76
+
77
+ 2025-11-20 14:30:35,479 DEBUG urllib3.connectionpool Starting new HTTPS connection (1): dl.google.com:443
78
+ 2025-11-20 14:30:35,488 DEBUG urllib3.connectionpool https://dl.google.com:443 "GET /dl/cloudsdk/channels/rapid/RELEASE_NOTES HTTP/1.1" 200 339882
79
+ 2025-11-20 14:30:36,016 INFO ___FILE_ONLY___ For the latest full release notes, please visit:
80
+ https://cloud.google.com/sdk/release_notes
81
+
82
+
83
+ 2025-11-20 14:30:36,016 INFO ___FILE_ONLY___ Performing in place update...
84
+
85
+
86
+ 2025-11-20 14:30:36,018 INFO ___FILE_ONLY___ ╔════════════════════════════════════════════════════════════╗
87
+
88
+ 2025-11-20 14:30:36,018 INFO ___FILE_ONLY___ ╠═ Downloading: gcloud Alpha Commands ═╣
89
+
90
+ 2025-11-20 14:30:36,018 INFO ___FILE_ONLY___ ╚
91
+ 2025-11-20 14:30:36,021 DEBUG urllib3.connectionpool Starting new HTTPS connection (1): dl.google.com:443
92
+ 2025-11-20 14:30:36,035 DEBUG urllib3.connectionpool https://dl.google.com:443 "GET /dl/cloudsdk/channels/rapid/components/google-cloud-sdk-alpha-20251117224618.tar.gz HTTP/1.1" 200 800
93
+ 2025-11-20 14:30:36,035 INFO ___FILE_ONLY___ ════════════════════════════════════════════════════════════
94
+ 2025-11-20 14:30:36,036 INFO ___FILE_ONLY___ ╝
95
+
96
+ 2025-11-20 14:30:36,037 INFO ___FILE_ONLY___ ╔════════════════════════════════════════════════════════════╗
97
+
98
+ 2025-11-20 14:30:36,037 INFO ___FILE_ONLY___ ╠═ Downloading: gcloud Beta Commands ═╣
99
+
100
+ 2025-11-20 14:30:36,037 INFO ___FILE_ONLY___ ╚
101
+ 2025-11-20 14:30:36,040 DEBUG urllib3.connectionpool Starting new HTTPS connection (1): dl.google.com:443
102
+ 2025-11-20 14:30:36,052 DEBUG urllib3.connectionpool https://dl.google.com:443 "GET /dl/cloudsdk/channels/rapid/components/google-cloud-sdk-beta-20251117224618.tar.gz HTTP/1.1" 200 797
103
+ 2025-11-20 14:30:36,052 INFO ___FILE_ONLY___ ════════════════════════════════════════════════════════════
104
+ 2025-11-20 14:30:36,052 INFO ___FILE_ONLY___ ╝
105
+
106
+ 2025-11-20 14:30:36,054 INFO ___FILE_ONLY___ ╔════════════════════════════════════════════════════════════╗
107
+
108
+ 2025-11-20 14:30:36,054 INFO ___FILE_ONLY___ ╠═ Downloading: gcloud Preview Commands ═╣
109
+
110
+ 2025-11-20 14:30:36,054 INFO ___FILE_ONLY___ ╚
111
+ 2025-11-20 14:30:36,057 DEBUG urllib3.connectionpool Starting new HTTPS connection (1): dl.google.com:443
112
+ 2025-11-20 14:30:36,102 DEBUG urllib3.connectionpool https://dl.google.com:443 "GET /dl/cloudsdk/channels/rapid/components/google-cloud-sdk-preview-20241115154308.tar.gz HTTP/1.1" 200 823
113
+ 2025-11-20 14:30:36,103 INFO ___FILE_ONLY___ ════════════════════════════════════════════════════════════
114
+ 2025-11-20 14:30:36,103 INFO ___FILE_ONLY___ ╝
115
+
116
+ 2025-11-20 14:30:36,105 INFO ___FILE_ONLY___ ╔════════════════════════════════════════════════════════════╗
117
+
118
+ 2025-11-20 14:30:36,105 INFO ___FILE_ONLY___ ╠═ Installing: gcloud Alpha Commands ═╣
119
+
120
+ 2025-11-20 14:30:36,105 INFO ___FILE_ONLY___ ╚
121
+ 2025-11-20 14:30:36,106 INFO ___FILE_ONLY___ ════════════════════════════════════════════════════════════
122
+ 2025-11-20 14:30:36,106 INFO ___FILE_ONLY___ ╝
123
+
124
+ 2025-11-20 14:30:36,111 INFO ___FILE_ONLY___ ╔════════════════════════════════════════════════════════════╗
125
+
126
+ 2025-11-20 14:30:36,111 INFO ___FILE_ONLY___ ╠═ Installing: gcloud Beta Commands ═╣
127
+
128
+ 2025-11-20 14:30:36,111 INFO ___FILE_ONLY___ ╚
129
+ 2025-11-20 14:30:36,112 INFO ___FILE_ONLY___ ════════════════════════════════════════════════════════════
130
+ 2025-11-20 14:30:36,112 INFO ___FILE_ONLY___ ╝
131
+
132
+ 2025-11-20 14:30:36,117 INFO ___FILE_ONLY___ ╔════════════════════════════════════════════════════════════╗
133
+
134
+ 2025-11-20 14:30:36,117 INFO ___FILE_ONLY___ ╠═ Installing: gcloud Preview Commands ═╣
135
+
136
+ 2025-11-20 14:30:36,117 INFO ___FILE_ONLY___ ╚
137
+ 2025-11-20 14:30:36,117 INFO ___FILE_ONLY___ ════════════════════════════════════════════════════════════
138
+ 2025-11-20 14:30:36,117 INFO ___FILE_ONLY___ ╝
139
+
140
+ 2025-11-20 14:30:36,122 DEBUG root Updating notification cache...
141
+ 2025-11-20 14:30:36,122 INFO ___FILE_ONLY___
142
+
143
+ 2025-11-20 14:30:36,124 INFO ___FILE_ONLY___ Performing post processing steps...
144
+ 2025-11-20 14:30:36,124 DEBUG root Executing command: ['/tools/google-cloud-sdk/bin/gcloud', 'components', 'post-process']
145
+ 2025-11-20 14:30:44,435 DEBUG ___FILE_ONLY___
146
+ 2025-11-20 14:30:44,435 DEBUG ___FILE_ONLY___
147
+ 2025-11-20 14:30:44,638 INFO root descriptor_list: [{'universeDomain': 'googleapis.com', 'universeShortName': '', 'authenticationDomain': 'auth.cloud.google.com', 'projectPrefix': '', 'cloudWebDomain': 'cloud.google.com', 'documentationDomain': 'cloud.google.com', 'version': '1.0.0', 'state': 'primary', 'artifactRegistryDomain': 'pkg.dev'}]
148
+ 2025-11-20 14:30:44,638 INFO ___FILE_ONLY___
149
+ Update done!
150
+
151
+
152
+ 2025-11-20 14:30:44,640 DEBUG root Chosen display Format:none
153
+ 2025-11-20 14:30:44,641 INFO root Display format: "none"
.config/logs/2025.11.20/14.30.36.623222.log ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ 2025-11-20 14:30:36,623 DEBUG root Loaded Command Group: ['gcloud', 'components']
2
+ 2025-11-20 14:30:36,625 DEBUG root Loaded Command Group: ['gcloud', 'components', 'post_process']
3
+ 2025-11-20 14:30:36,626 DEBUG root Running [gcloud.components.post-process] with arguments: []
4
+ 2025-11-20 14:30:44,338 DEBUG root Chosen display Format:none
5
+ 2025-11-20 14:30:44,339 INFO root Display format: "none"
.config/logs/2025.11.20/14.30.45.231815.log ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ 2025-11-20 14:30:45,233 DEBUG root Loaded Command Group: ['gcloud', 'config']
2
+ 2025-11-20 14:30:45,319 DEBUG root Loaded Command Group: ['gcloud', 'config', 'set']
3
+ 2025-11-20 14:30:45,321 DEBUG root Running [gcloud.config.set] with arguments: [SECTION/PROPERTY: "component_manager/disable_update_check", VALUE: "true"]
4
+ 2025-11-20 14:30:45,321 INFO ___FILE_ONLY___ Updated property [component_manager/disable_update_check].
5
+
6
+ 2025-11-20 14:30:45,322 DEBUG root Chosen display Format:default
7
+ 2025-11-20 14:30:45,323 INFO root Display format: "default"
8
+ 2025-11-20 14:30:45,328 DEBUG root SDK update checks are disabled.
.config/logs/2025.11.20/14.30.45.937471.log ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ 2025-11-20 14:30:45,939 DEBUG root Loaded Command Group: ['gcloud', 'config']
2
+ 2025-11-20 14:30:46,023 DEBUG root Loaded Command Group: ['gcloud', 'config', 'set']
3
+ 2025-11-20 14:30:46,025 DEBUG root Running [gcloud.config.set] with arguments: [SECTION/PROPERTY: "compute/gce_metadata_read_timeout_sec", VALUE: "0"]
4
+ 2025-11-20 14:30:46,026 INFO ___FILE_ONLY___ Updated property [compute/gce_metadata_read_timeout_sec].
5
+
6
+ 2025-11-20 14:30:46,027 DEBUG root Chosen display Format:default
7
+ 2025-11-20 14:30:46,027 INFO root Display format: "default"
8
+ 2025-11-20 14:30:46,032 DEBUG root SDK update checks are disabled.
.gitattributes CHANGED
@@ -33,3 +33,9 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
 
 
 
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ .venv/bin/python filter=lfs diff=lfs merge=lfs -text
37
+ .venv/bin/python3 filter=lfs diff=lfs merge=lfs -text
38
+ .venv/bin/python3.11 filter=lfs diff=lfs merge=lfs -text
39
+ sample_data/mnist_test.csv filter=lfs diff=lfs merge=lfs -text
40
+ sample_data/mnist_train_small.csv filter=lfs diff=lfs merge=lfs -text
41
+ web-ui/assets/examples/test.png filter=lfs diff=lfs merge=lfs -text
.gradio/certificate.pem ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ -----BEGIN CERTIFICATE-----
2
+ MIIFazCCA1OgAwIBAgIRAIIQz7DSQONZRGPgu2OCiwAwDQYJKoZIhvcNAQELBQAw
3
+ TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh
4
+ cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMTUwNjA0MTEwNDM4
5
+ WhcNMzUwNjA0MTEwNDM4WjBPMQswCQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJu
6
+ ZXQgU2VjdXJpdHkgUmVzZWFyY2ggR3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBY
7
+ MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK3oJHP0FDfzm54rVygc
8
+ h77ct984kIxuPOZXoHj3dcKi/vVqbvYATyjb3miGbESTtrFj/RQSa78f0uoxmyF+
9
+ 0TM8ukj13Xnfs7j/EvEhmkvBioZxaUpmZmyPfjxwv60pIgbz5MDmgK7iS4+3mX6U
10
+ A5/TR5d8mUgjU+g4rk8Kb4Mu0UlXjIB0ttov0DiNewNwIRt18jA8+o+u3dpjq+sW
11
+ T8KOEUt+zwvo/7V3LvSye0rgTBIlDHCNAymg4VMk7BPZ7hm/ELNKjD+Jo2FR3qyH
12
+ B5T0Y3HsLuJvW5iB4YlcNHlsdu87kGJ55tukmi8mxdAQ4Q7e2RCOFvu396j3x+UC
13
+ B5iPNgiV5+I3lg02dZ77DnKxHZu8A/lJBdiB3QW0KtZB6awBdpUKD9jf1b0SHzUv
14
+ KBds0pjBqAlkd25HN7rOrFleaJ1/ctaJxQZBKT5ZPt0m9STJEadao0xAH0ahmbWn
15
+ OlFuhjuefXKnEgV4We0+UXgVCwOPjdAvBbI+e0ocS3MFEvzG6uBQE3xDk3SzynTn
16
+ jh8BCNAw1FtxNrQHusEwMFxIt4I7mKZ9YIqioymCzLq9gwQbooMDQaHWBfEbwrbw
17
+ qHyGO0aoSCqI3Haadr8faqU9GY/rOPNk3sgrDQoo//fb4hVC1CLQJ13hef4Y53CI
18
+ rU7m2Ys6xt0nUW7/vGT1M0NPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV
19
+ HRMBAf8EBTADAQH/MB0GA1UdDgQWBBR5tFnme7bl5AFzgAiIyBpY9umbbjANBgkq
20
+ hkiG9w0BAQsFAAOCAgEAVR9YqbyyqFDQDLHYGmkgJykIrGF1XIpu+ILlaS/V9lZL
21
+ ubhzEFnTIZd+50xx+7LSYK05qAvqFyFWhfFQDlnrzuBZ6brJFe+GnY+EgPbk6ZGQ
22
+ 3BebYhtF8GaV0nxvwuo77x/Py9auJ/GpsMiu/X1+mvoiBOv/2X/qkSsisRcOj/KK
23
+ NFtY2PwByVS5uCbMiogziUwthDyC3+6WVwW6LLv3xLfHTjuCvjHIInNzktHCgKQ5
24
+ ORAzI4JMPJ+GslWYHb4phowim57iaztXOoJwTdwJx4nLCgdNbOhdjsnvzqvHu7Ur
25
+ TkXWStAmzOVyyghqpZXjFaH3pO3JLF+l+/+sKAIuvtd7u+Nxe5AW0wdeRlN8NwdC
26
+ jNPElpzVmbUq4JUagEiuTDkHzsxHpFKVK7q4+63SM1N95R1NbdWhscdCb+ZAJzVc
27
+ oyi3B43njTOQ5yOf+1CceWxG1bQVs5ZufpsMljq4Ui0/1lvh+wjChP4kqKOJ2qxq
28
+ 4RgqsahDYVvTH9w7jXbyLeiNdd8XM2w9U/t7y0Ff/9yi0GE44Za4rF2LN9d11TPA
29
+ mRGunUHBcnWEvgJBQl9nJEiU0Zsnvgc/ubhPgXRR4Xq37Z0j4r7g1SgEEzwxA57d
30
+ emyPxgcYxn/eR44/KJ4EBs+lVDR3veyJm+kXQ99b21/+jh5Xos1AnX5iItreGCc=
31
+ -----END CERTIFICATE-----
.venv/.gitignore ADDED
@@ -0,0 +1 @@
 
 
1
+ *
.venv/CACHEDIR.TAG ADDED
@@ -0,0 +1 @@
 
 
1
+ Signature: 8a477f597d28d172789f06886806bc55
.venv/bin/activate ADDED
@@ -0,0 +1,130 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (c) 2020-202x The virtualenv developers
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.
21
+
22
+ # This file must be used with "source bin/activate" *from bash*
23
+ # you cannot run it directly
24
+
25
+ if ! [ -z "${SCRIPT_PATH+_}" ] ; then
26
+ _OLD_SCRIPT_PATH="$SCRIPT_PATH"
27
+ fi
28
+
29
+ # Get script path (only used if environment is relocatable).
30
+ if [ -n "${BASH_VERSION:+x}" ] ; then
31
+ SCRIPT_PATH="${BASH_SOURCE[0]}"
32
+ if [ "$SCRIPT_PATH" = "$0" ]; then
33
+ # Only bash has a reasonably robust check for source'dness.
34
+ echo "You must source this script: \$ source $0" >&2
35
+ exit 33
36
+ fi
37
+ elif [ -n "${ZSH_VERSION:+x}" ] ; then
38
+ SCRIPT_PATH="${(%):-%x}"
39
+ elif [ -n "${KSH_VERSION:+x}" ] ; then
40
+ SCRIPT_PATH="${.sh.file}"
41
+ fi
42
+
43
+ deactivate () {
44
+ unset -f pydoc >/dev/null 2>&1 || true
45
+
46
+ # reset old environment variables
47
+ # ! [ -z ${VAR+_} ] returns true if VAR is declared at all
48
+ if ! [ -z "${_OLD_VIRTUAL_PATH:+_}" ] ; then
49
+ PATH="$_OLD_VIRTUAL_PATH"
50
+ export PATH
51
+ unset _OLD_VIRTUAL_PATH
52
+ fi
53
+ if ! [ -z "${_OLD_VIRTUAL_PYTHONHOME+_}" ] ; then
54
+ PYTHONHOME="$_OLD_VIRTUAL_PYTHONHOME"
55
+ export PYTHONHOME
56
+ unset _OLD_VIRTUAL_PYTHONHOME
57
+ fi
58
+
59
+ # The hash command must be called to get it to forget past
60
+ # commands. Without forgetting past commands the $PATH changes
61
+ # we made may not be respected
62
+ hash -r 2>/dev/null
63
+
64
+ if ! [ -z "${_OLD_VIRTUAL_PS1+_}" ] ; then
65
+ PS1="$_OLD_VIRTUAL_PS1"
66
+ export PS1
67
+ unset _OLD_VIRTUAL_PS1
68
+ fi
69
+
70
+ unset VIRTUAL_ENV
71
+ unset VIRTUAL_ENV_PROMPT
72
+ if [ ! "${1-}" = "nondestructive" ] ; then
73
+ # Self destruct!
74
+ unset -f deactivate
75
+ fi
76
+ }
77
+
78
+ # unset irrelevant variables
79
+ deactivate nondestructive
80
+
81
+ VIRTUAL_ENV='/content/.venv'
82
+ if ([ "$OSTYPE" = "cygwin" ] || [ "$OSTYPE" = "msys" ]) && $(command -v cygpath &> /dev/null) ; then
83
+ VIRTUAL_ENV=$(cygpath -u "$VIRTUAL_ENV")
84
+ fi
85
+ export VIRTUAL_ENV
86
+
87
+ # Unset the `SCRIPT_PATH` variable, now that the `VIRTUAL_ENV` variable
88
+ # has been set. This is important for relocatable environments.
89
+ if ! [ -z "${_OLD_SCRIPT_PATH+_}" ] ; then
90
+ SCRIPT_PATH="$_OLD_SCRIPT_PATH"
91
+ export SCRIPT_PATH
92
+ unset _OLD_SCRIPT_PATH
93
+ else
94
+ unset SCRIPT_PATH
95
+ fi
96
+
97
+ _OLD_VIRTUAL_PATH="$PATH"
98
+ PATH="$VIRTUAL_ENV/bin:$PATH"
99
+ export PATH
100
+
101
+ if [ "xcontent" != x ] ; then
102
+ VIRTUAL_ENV_PROMPT="content"
103
+ else
104
+ VIRTUAL_ENV_PROMPT=$(basename "$VIRTUAL_ENV")
105
+ fi
106
+ export VIRTUAL_ENV_PROMPT
107
+
108
+ # unset PYTHONHOME if set
109
+ if ! [ -z "${PYTHONHOME+_}" ] ; then
110
+ _OLD_VIRTUAL_PYTHONHOME="$PYTHONHOME"
111
+ unset PYTHONHOME
112
+ fi
113
+
114
+ if [ -z "${VIRTUAL_ENV_DISABLE_PROMPT-}" ] ; then
115
+ _OLD_VIRTUAL_PS1="${PS1-}"
116
+ PS1="(${VIRTUAL_ENV_PROMPT}) ${PS1-}"
117
+ export PS1
118
+ fi
119
+
120
+ # Make sure to unalias pydoc if it's already there
121
+ alias pydoc 2>/dev/null >/dev/null && unalias pydoc || true
122
+
123
+ pydoc () {
124
+ python -m pydoc "$@"
125
+ }
126
+
127
+ # The hash command must be called to get it to forget past
128
+ # commands. Without forgetting past commands the $PATH changes
129
+ # we made may not be respected
130
+ hash -r 2>/dev/null || true
.venv/bin/activate.bat ADDED
@@ -0,0 +1,71 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @REM Copyright (c) 2020-202x The virtualenv developers
2
+ @REM
3
+ @REM Permission is hereby granted, free of charge, to any person obtaining
4
+ @REM a copy of this software and associated documentation files (the
5
+ @REM "Software"), to deal in the Software without restriction, including
6
+ @REM without limitation the rights to use, copy, modify, merge, publish,
7
+ @REM distribute, sublicense, and/or sell copies of the Software, and to
8
+ @REM permit persons to whom the Software is furnished to do so, subject to
9
+ @REM the following conditions:
10
+ @REM
11
+ @REM The above copyright notice and this permission notice shall be
12
+ @REM included in all copies or substantial portions of the Software.
13
+ @REM
14
+ @REM THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ @REM EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ @REM MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ @REM NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ @REM LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ @REM OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ @REM WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21
+
22
+ @REM This file is UTF-8 encoded, so we need to update the current code page while executing it
23
+ @for /f "tokens=2 delims=:." %%a in ('"%SystemRoot%\System32\chcp.com"') do @set _OLD_CODEPAGE=%%a
24
+
25
+ @if defined _OLD_CODEPAGE (
26
+ "%SystemRoot%\System32\chcp.com" 65001 > nul
27
+ )
28
+
29
+ @for %%i in ("/content/.venv") do @set "VIRTUAL_ENV=%%~fi"
30
+
31
+ @set "VIRTUAL_ENV_PROMPT=content"
32
+ @if NOT DEFINED VIRTUAL_ENV_PROMPT (
33
+ @for %%d in ("%VIRTUAL_ENV%") do @set "VIRTUAL_ENV_PROMPT=%%~nxd"
34
+ )
35
+
36
+ @if defined _OLD_VIRTUAL_PROMPT (
37
+ @set "PROMPT=%_OLD_VIRTUAL_PROMPT%"
38
+ ) else (
39
+ @if not defined PROMPT (
40
+ @set "PROMPT=$P$G"
41
+ )
42
+ @if not defined VIRTUAL_ENV_DISABLE_PROMPT (
43
+ @set "_OLD_VIRTUAL_PROMPT=%PROMPT%"
44
+ )
45
+ )
46
+ @if not defined VIRTUAL_ENV_DISABLE_PROMPT (
47
+ @set "PROMPT=(%VIRTUAL_ENV_PROMPT%) %PROMPT%"
48
+ )
49
+
50
+ @REM Don't use () to avoid problems with them in %PATH%
51
+ @if defined _OLD_VIRTUAL_PYTHONHOME @goto ENDIFVHOME
52
+ @set "_OLD_VIRTUAL_PYTHONHOME=%PYTHONHOME%"
53
+ :ENDIFVHOME
54
+
55
+ @set PYTHONHOME=
56
+
57
+ @REM if defined _OLD_VIRTUAL_PATH (
58
+ @if not defined _OLD_VIRTUAL_PATH @goto ENDIFVPATH1
59
+ @set "PATH=%_OLD_VIRTUAL_PATH%"
60
+ :ENDIFVPATH1
61
+ @REM ) else (
62
+ @if defined _OLD_VIRTUAL_PATH @goto ENDIFVPATH2
63
+ @set "_OLD_VIRTUAL_PATH=%PATH%"
64
+ :ENDIFVPATH2
65
+
66
+ @set "PATH=%VIRTUAL_ENV%\bin;%PATH%"
67
+
68
+ @if defined _OLD_CODEPAGE (
69
+ "%SystemRoot%\System32\chcp.com" %_OLD_CODEPAGE% > nul
70
+ @set _OLD_CODEPAGE=
71
+ )
.venv/bin/activate.csh ADDED
@@ -0,0 +1,76 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (c) 2020-202x The virtualenv developers
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.
21
+
22
+ # This file must be used with "source bin/activate.csh" *from csh*.
23
+ # You cannot run it directly.
24
+ # Created by Davide Di Blasi <davidedb@gmail.com>.
25
+
26
+ set newline='\
27
+ '
28
+
29
+ alias deactivate 'test $?_OLD_VIRTUAL_PATH != 0 && setenv PATH "$_OLD_VIRTUAL_PATH:q" && unset _OLD_VIRTUAL_PATH; rehash; test $?_OLD_VIRTUAL_PROMPT != 0 && set prompt="$_OLD_VIRTUAL_PROMPT:q" && unset _OLD_VIRTUAL_PROMPT; unsetenv VIRTUAL_ENV; unsetenv VIRTUAL_ENV_PROMPT; test "\!:*" != "nondestructive" && unalias deactivate && unalias pydoc'
30
+
31
+ # Unset irrelevant variables.
32
+ deactivate nondestructive
33
+
34
+ setenv VIRTUAL_ENV '/content/.venv'
35
+
36
+ set _OLD_VIRTUAL_PATH="$PATH:q"
37
+ setenv PATH "$VIRTUAL_ENV:q/bin:$PATH:q"
38
+
39
+
40
+
41
+ if ('content' != "") then
42
+ setenv VIRTUAL_ENV_PROMPT 'content'
43
+ else
44
+ setenv VIRTUAL_ENV_PROMPT "$VIRTUAL_ENV:t:q"
45
+ endif
46
+
47
+ if ( $?VIRTUAL_ENV_DISABLE_PROMPT ) then
48
+ if ( $VIRTUAL_ENV_DISABLE_PROMPT == "" ) then
49
+ set do_prompt = "1"
50
+ else
51
+ set do_prompt = "0"
52
+ endif
53
+ else
54
+ set do_prompt = "1"
55
+ endif
56
+
57
+ if ( $do_prompt == "1" ) then
58
+ # Could be in a non-interactive environment,
59
+ # in which case, $prompt is undefined and we wouldn't
60
+ # care about the prompt anyway.
61
+ if ( $?prompt ) then
62
+ set _OLD_VIRTUAL_PROMPT="$prompt:q"
63
+ if ( "$prompt:q" =~ *"$newline:q"* ) then
64
+ :
65
+ else
66
+ set prompt = '('"$VIRTUAL_ENV_PROMPT:q"') '"$prompt:q"
67
+ endif
68
+ endif
69
+ endif
70
+
71
+ unset env_name
72
+ unset do_prompt
73
+
74
+ alias pydoc python -m pydoc
75
+
76
+ rehash
.venv/bin/activate.fish ADDED
@@ -0,0 +1,124 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (c) 2020-202x The virtualenv developers
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.
21
+
22
+ # This file must be used using `source bin/activate.fish` *within a running fish ( http://fishshell.com ) session*.
23
+ # Do not run it directly.
24
+
25
+ function _bashify_path -d "Converts a fish path to something bash can recognize"
26
+ set fishy_path $argv
27
+ set bashy_path $fishy_path[1]
28
+ for path_part in $fishy_path[2..-1]
29
+ set bashy_path "$bashy_path:$path_part"
30
+ end
31
+ echo $bashy_path
32
+ end
33
+
34
+ function _fishify_path -d "Converts a bash path to something fish can recognize"
35
+ echo $argv | tr ':' '\n'
36
+ end
37
+
38
+ function deactivate -d 'Exit virtualenv mode and return to the normal environment.'
39
+ # reset old environment variables
40
+ if test -n "$_OLD_VIRTUAL_PATH"
41
+ # https://github.com/fish-shell/fish-shell/issues/436 altered PATH handling
42
+ if test (string sub -s 1 -l 1 $FISH_VERSION) -lt 3
43
+ set -gx PATH (_fishify_path "$_OLD_VIRTUAL_PATH")
44
+ else
45
+ set -gx PATH $_OLD_VIRTUAL_PATH
46
+ end
47
+ set -e _OLD_VIRTUAL_PATH
48
+ end
49
+
50
+ if test -n "$_OLD_VIRTUAL_PYTHONHOME"
51
+ set -gx PYTHONHOME "$_OLD_VIRTUAL_PYTHONHOME"
52
+ set -e _OLD_VIRTUAL_PYTHONHOME
53
+ end
54
+
55
+ if test -n "$_OLD_FISH_PROMPT_OVERRIDE"
56
+ and functions -q _old_fish_prompt
57
+ # Set an empty local `$fish_function_path` to allow the removal of `fish_prompt` using `functions -e`.
58
+ set -l fish_function_path
59
+
60
+ # Erase virtualenv's `fish_prompt` and restore the original.
61
+ functions -e fish_prompt
62
+ functions -c _old_fish_prompt fish_prompt
63
+ functions -e _old_fish_prompt
64
+ set -e _OLD_FISH_PROMPT_OVERRIDE
65
+ end
66
+
67
+ set -e VIRTUAL_ENV
68
+ set -e VIRTUAL_ENV_PROMPT
69
+
70
+ if test "$argv[1]" != 'nondestructive'
71
+ # Self-destruct!
72
+ functions -e pydoc
73
+ functions -e deactivate
74
+ functions -e _bashify_path
75
+ functions -e _fishify_path
76
+ end
77
+ end
78
+
79
+ # Unset irrelevant variables.
80
+ deactivate nondestructive
81
+
82
+ set -gx VIRTUAL_ENV '/content/.venv'
83
+
84
+ # https://github.com/fish-shell/fish-shell/issues/436 altered PATH handling
85
+ if test (string sub -s 1 -l 1 $FISH_VERSION) -lt 3
86
+ set -gx _OLD_VIRTUAL_PATH (_bashify_path $PATH)
87
+ else
88
+ set -gx _OLD_VIRTUAL_PATH $PATH
89
+ end
90
+ set -gx PATH "$VIRTUAL_ENV"'/bin' $PATH
91
+
92
+ # Prompt override provided?
93
+ # If not, just use the environment name.
94
+ if test -n 'content'
95
+ set -gx VIRTUAL_ENV_PROMPT 'content'
96
+ else
97
+ set -gx VIRTUAL_ENV_PROMPT (basename "$VIRTUAL_ENV")
98
+ end
99
+
100
+ # Unset `$PYTHONHOME` if set.
101
+ if set -q PYTHONHOME
102
+ set -gx _OLD_VIRTUAL_PYTHONHOME $PYTHONHOME
103
+ set -e PYTHONHOME
104
+ end
105
+
106
+ function pydoc
107
+ python -m pydoc $argv
108
+ end
109
+
110
+ if test -z "$VIRTUAL_ENV_DISABLE_PROMPT"
111
+ # Copy the current `fish_prompt` function as `_old_fish_prompt`.
112
+ functions -c fish_prompt _old_fish_prompt
113
+
114
+ function fish_prompt
115
+ # Run the user's prompt first; it might depend on (pipe)status.
116
+ set -l prompt (_old_fish_prompt)
117
+
118
+ printf '(%s) ' $VIRTUAL_ENV_PROMPT
119
+
120
+ string join -- \n $prompt # handle multi-line prompts
121
+ end
122
+
123
+ set -gx _OLD_FISH_PROMPT_OVERRIDE "$VIRTUAL_ENV"
124
+ end
.venv/bin/activate.nu ADDED
@@ -0,0 +1,102 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (c) 2020-202x The virtualenv developers
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.
21
+
22
+ # virtualenv activation module:
23
+ # - Activate with `overlay use activate.nu`
24
+ # - Deactivate with `deactivate`, as usual
25
+ #
26
+ # To customize the overlay name, you can call `overlay use activate.nu as foo`, but then simply `deactivate` won't work
27
+ # because it is just an alias to hide the "activate" overlay. You'd need to call `overlay hide foo` manually.
28
+
29
+ module warning {
30
+ export-env {
31
+ const file = path self
32
+ error make -u {
33
+ msg: $"`($file | path basename)` is meant to be used with `overlay use`, not `source`"
34
+ }
35
+ }
36
+
37
+ }
38
+
39
+ use warning
40
+
41
+ export-env {
42
+
43
+ let nu_ver = (version | get version | split row '.' | take 2 | each { into int })
44
+ if $nu_ver.0 == 0 and $nu_ver.1 < 106 {
45
+ error make {
46
+ msg: 'virtualenv Nushell activation requires Nushell 0.106 or greater.'
47
+ }
48
+ }
49
+
50
+ def is-string [x] {
51
+ ($x | describe) == 'string'
52
+ }
53
+
54
+ def has-env [...names] {
55
+ $names | each {|n| $n in $env } | all {|i| $i }
56
+ }
57
+
58
+ def is-env-true [name: string] {
59
+ if (has-env $name) {
60
+ let val = ($env | get --optional $name)
61
+ if ($val | describe) == 'bool' {
62
+ $val
63
+ } else {
64
+ not ($val | is-empty)
65
+ }
66
+ } else {
67
+ false
68
+ }
69
+ }
70
+
71
+ let virtual_env = '/content/.venv'
72
+ let bin = 'bin'
73
+ let path_name = if (has-env 'Path') { 'Path' } else { 'PATH' }
74
+ let venv_path = ([$virtual_env $bin] | path join)
75
+ let new_path = ($env | get $path_name | prepend $venv_path)
76
+ let virtual_env_prompt = if ('content' | is-empty) {
77
+ ($virtual_env | path basename)
78
+ } else {
79
+ 'content'
80
+ }
81
+ let new_env = { $path_name: $new_path VIRTUAL_ENV: $virtual_env VIRTUAL_ENV_PROMPT: $virtual_env_prompt }
82
+ let old_prompt_command = if (has-env 'PROMPT_COMMAND') { $env.PROMPT_COMMAND } else { '' }
83
+ let new_env = if (is-env-true 'VIRTUAL_ENV_DISABLE_PROMPT') {
84
+ $new_env
85
+ } else {
86
+ let virtual_prefix = $'(char lparen)($virtual_env_prompt)(char rparen) '
87
+ let new_prompt = if (has-env 'PROMPT_COMMAND') {
88
+ if ('closure' in ($old_prompt_command | describe)) {
89
+ {|| $'($virtual_prefix)(do $old_prompt_command)' }
90
+ } else {
91
+ {|| $'($virtual_prefix)($old_prompt_command)' }
92
+ }
93
+ } else {
94
+ {|| $'($virtual_prefix)' }
95
+ }
96
+ $new_env | merge { PROMPT_COMMAND: $new_prompt VIRTUAL_PREFIX: $virtual_prefix }
97
+ }
98
+ load-env $new_env
99
+ }
100
+
101
+ export alias pydoc = python -m pydoc
102
+ export alias deactivate = overlay hide activate
.venv/bin/activate.ps1 ADDED
@@ -0,0 +1,82 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (c) 2020-202x The virtualenv developers
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.
21
+
22
+ $script:THIS_PATH = $myinvocation.mycommand.path
23
+ $script:BASE_DIR = Split-Path (Resolve-Path "$THIS_PATH/..") -Parent
24
+
25
+ function global:deactivate([switch] $NonDestructive) {
26
+ if (Test-Path variable:_OLD_VIRTUAL_PATH) {
27
+ $env:PATH = $variable:_OLD_VIRTUAL_PATH
28
+ Remove-Variable "_OLD_VIRTUAL_PATH" -Scope global
29
+ }
30
+
31
+ if (Test-Path function:_old_virtual_prompt) {
32
+ $function:prompt = $function:_old_virtual_prompt
33
+ Remove-Item function:\_old_virtual_prompt
34
+ }
35
+
36
+ if ($env:VIRTUAL_ENV) {
37
+ Remove-Item env:VIRTUAL_ENV -ErrorAction SilentlyContinue
38
+ }
39
+
40
+ if ($env:VIRTUAL_ENV_PROMPT) {
41
+ Remove-Item env:VIRTUAL_ENV_PROMPT -ErrorAction SilentlyContinue
42
+ }
43
+
44
+ if (!$NonDestructive) {
45
+ # Self destruct!
46
+ Remove-Item function:deactivate
47
+ Remove-Item function:pydoc
48
+ }
49
+ }
50
+
51
+ function global:pydoc {
52
+ python -m pydoc $args
53
+ }
54
+
55
+ # unset irrelevant variables
56
+ deactivate -nondestructive
57
+
58
+ $VIRTUAL_ENV = $BASE_DIR
59
+ $env:VIRTUAL_ENV = $VIRTUAL_ENV
60
+
61
+ if ("content" -ne "") {
62
+ $env:VIRTUAL_ENV_PROMPT = "content"
63
+ }
64
+ else {
65
+ $env:VIRTUAL_ENV_PROMPT = $( Split-Path $env:VIRTUAL_ENV -Leaf )
66
+ }
67
+
68
+ New-Variable -Scope global -Name _OLD_VIRTUAL_PATH -Value $env:PATH
69
+
70
+ $env:PATH = "$env:VIRTUAL_ENV/bin:" + $env:PATH
71
+ if (!$env:VIRTUAL_ENV_DISABLE_PROMPT) {
72
+ function global:_old_virtual_prompt {
73
+ ""
74
+ }
75
+ $function:_old_virtual_prompt = $function:prompt
76
+
77
+ function global:prompt {
78
+ # Add the custom prefix to the existing prompt
79
+ $previous_prompt_value = & $function:_old_virtual_prompt
80
+ ("(" + $env:VIRTUAL_ENV_PROMPT + ") " + $previous_prompt_value)
81
+ }
82
+ }
.venv/bin/activate_this.py ADDED
@@ -0,0 +1,59 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (c) 2020-202x The virtualenv developers
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.
21
+
22
+ """
23
+ Activate virtualenv for current interpreter:
24
+
25
+ import runpy
26
+ runpy.run_path(this_file)
27
+
28
+ This can be used when you must use an existing Python interpreter, not the virtualenv bin/python.
29
+ """ # noqa: D415
30
+
31
+ from __future__ import annotations
32
+
33
+ import os
34
+ import site
35
+ import sys
36
+
37
+ try:
38
+ abs_file = os.path.abspath(__file__)
39
+ except NameError as exc:
40
+ msg = "You must use import runpy; runpy.run_path(this_file)"
41
+ raise AssertionError(msg) from exc
42
+
43
+ bin_dir = os.path.dirname(abs_file)
44
+ base = bin_dir[: -len("bin") - 1] # strip away the bin part from the __file__, plus the path separator
45
+
46
+ # prepend bin to PATH (this file is inside the bin directory)
47
+ os.environ["PATH"] = os.pathsep.join([bin_dir, *os.environ.get("PATH", "").split(os.pathsep)])
48
+ os.environ["VIRTUAL_ENV"] = base # virtual env is right above bin directory
49
+ os.environ["VIRTUAL_ENV_PROMPT"] = "content" or os.path.basename(base) # noqa: SIM222
50
+
51
+ # add the virtual environments libraries to the host python import mechanism
52
+ prev_length = len(sys.path)
53
+ for lib in "../lib/python3.11/site-packages".split(os.pathsep):
54
+ path = os.path.realpath(os.path.join(bin_dir, lib))
55
+ site.addsitedir(path)
56
+ sys.path[:] = sys.path[prev_length:] + sys.path[0:prev_length]
57
+
58
+ sys.real_prefix = sys.prefix
59
+ sys.prefix = base
.venv/bin/deactivate.bat ADDED
@@ -0,0 +1,39 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @REM Copyright (c) 2020-202x The virtualenv developers
2
+ @REM
3
+ @REM Permission is hereby granted, free of charge, to any person obtaining
4
+ @REM a copy of this software and associated documentation files (the
5
+ @REM "Software"), to deal in the Software without restriction, including
6
+ @REM without limitation the rights to use, copy, modify, merge, publish,
7
+ @REM distribute, sublicense, and/or sell copies of the Software, and to
8
+ @REM permit persons to whom the Software is furnished to do so, subject to
9
+ @REM the following conditions:
10
+ @REM
11
+ @REM The above copyright notice and this permission notice shall be
12
+ @REM included in all copies or substantial portions of the Software.
13
+ @REM
14
+ @REM THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ @REM EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ @REM MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ @REM NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ @REM LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ @REM OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ @REM WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21
+
22
+ @set VIRTUAL_ENV=
23
+ @set VIRTUAL_ENV_PROMPT=
24
+
25
+ @REM Don't use () to avoid problems with them in %PATH%
26
+ @if not defined _OLD_VIRTUAL_PROMPT @goto ENDIFVPROMPT
27
+ @set "PROMPT=%_OLD_VIRTUAL_PROMPT%"
28
+ @set _OLD_VIRTUAL_PROMPT=
29
+ :ENDIFVPROMPT
30
+
31
+ @if not defined _OLD_VIRTUAL_PYTHONHOME @goto ENDIFVHOME
32
+ @set "PYTHONHOME=%_OLD_VIRTUAL_PYTHONHOME%"
33
+ @set _OLD_VIRTUAL_PYTHONHOME=
34
+ :ENDIFVHOME
35
+
36
+ @if not defined _OLD_VIRTUAL_PATH @goto ENDIFVPATH
37
+ @set "PATH=%_OLD_VIRTUAL_PATH%"
38
+ @set _OLD_VIRTUAL_PATH=
39
+ :ENDIFVPATH
.venv/bin/pydoc.bat ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @REM Copyright (c) 2020-202x The virtualenv developers
2
+ @REM
3
+ @REM Permission is hereby granted, free of charge, to any person obtaining
4
+ @REM a copy of this software and associated documentation files (the
5
+ @REM "Software"), to deal in the Software without restriction, including
6
+ @REM without limitation the rights to use, copy, modify, merge, publish,
7
+ @REM distribute, sublicense, and/or sell copies of the Software, and to
8
+ @REM permit persons to whom the Software is furnished to do so, subject to
9
+ @REM the following conditions:
10
+ @REM
11
+ @REM The above copyright notice and this permission notice shall be
12
+ @REM included in all copies or substantial portions of the Software.
13
+ @REM
14
+ @REM THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ @REM EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ @REM MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ @REM NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ @REM LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ @REM OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ @REM WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21
+
22
+ python.exe -m pydoc %*
.venv/bin/python ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e3cc9523fbfbd83a0fbc51fa568868e77e06388480297a7ece177ce491bbe1b9
3
+ size 21439360
.venv/bin/python3 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e3cc9523fbfbd83a0fbc51fa568868e77e06388480297a7ece177ce491bbe1b9
3
+ size 21439360
.venv/bin/python3.11 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e3cc9523fbfbd83a0fbc51fa568868e77e06388480297a7ece177ce491bbe1b9
3
+ size 21439360
.venv/lib/python3.11/site-packages/_virtualenv.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:69ac3d8f27e679c81b94ab30b3b56e9cd138219b1ba94a1fa3606d5a76a1433d
3
+ size 18
.venv/lib/python3.11/site-packages/_virtualenv.py ADDED
@@ -0,0 +1,101 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Patches that are applied at runtime to the virtual environment."""
2
+
3
+ import os
4
+ import sys
5
+
6
+ VIRTUALENV_PATCH_FILE = os.path.join(__file__)
7
+
8
+
9
+ def patch_dist(dist):
10
+ """
11
+ Distutils allows user to configure some arguments via a configuration file:
12
+ https://docs.python.org/3.11/install/index.html#distutils-configuration-files.
13
+
14
+ Some of this arguments though don't make sense in context of the virtual environment files, let's fix them up.
15
+ """ # noqa: D205
16
+ # we cannot allow some install config as that would get packages installed outside of the virtual environment
17
+ old_parse_config_files = dist.Distribution.parse_config_files
18
+
19
+ def parse_config_files(self, *args, **kwargs):
20
+ result = old_parse_config_files(self, *args, **kwargs)
21
+ install = self.get_option_dict("install")
22
+
23
+ if "prefix" in install: # the prefix governs where to install the libraries
24
+ install["prefix"] = VIRTUALENV_PATCH_FILE, os.path.abspath(sys.prefix)
25
+ for base in ("purelib", "platlib", "headers", "scripts", "data"):
26
+ key = f"install_{base}"
27
+ if key in install: # do not allow global configs to hijack venv paths
28
+ install.pop(key, None)
29
+ return result
30
+
31
+ dist.Distribution.parse_config_files = parse_config_files
32
+
33
+
34
+ # Import hook that patches some modules to ignore configuration values that break package installation in case
35
+ # of virtual environments.
36
+ _DISTUTILS_PATCH = "distutils.dist", "setuptools.dist"
37
+ # https://docs.python.org/3/library/importlib.html#setting-up-an-importer
38
+
39
+
40
+ class _Finder:
41
+ """A meta path finder that allows patching the imported distutils modules."""
42
+
43
+ fullname = None
44
+
45
+ # lock[0] is threading.Lock(), but initialized lazily to avoid importing threading very early at startup,
46
+ # because there are gevent-based applications that need to be first to import threading by themselves.
47
+ # See https://github.com/pypa/virtualenv/issues/1895 for details.
48
+ lock = [] # noqa: RUF012
49
+
50
+ def find_spec(self, fullname, path, target=None): # noqa: ARG002
51
+ if fullname in _DISTUTILS_PATCH and self.fullname is None:
52
+ # initialize lock[0] lazily
53
+ if len(self.lock) == 0:
54
+ import threading
55
+
56
+ lock = threading.Lock()
57
+ # there is possibility that two threads T1 and T2 are simultaneously running into find_spec,
58
+ # observing .lock as empty, and further going into hereby initialization. However due to the GIL,
59
+ # list.append() operation is atomic and this way only one of the threads will "win" to put the lock
60
+ # - that every thread will use - into .lock[0].
61
+ # https://docs.python.org/3/faq/library.html#what-kinds-of-global-value-mutation-are-thread-safe
62
+ self.lock.append(lock)
63
+
64
+ from functools import partial
65
+ from importlib.util import find_spec
66
+
67
+ with self.lock[0]:
68
+ self.fullname = fullname
69
+ try:
70
+ spec = find_spec(fullname, path)
71
+ if spec is not None:
72
+ # https://www.python.org/dev/peps/pep-0451/#how-loading-will-work
73
+ is_new_api = hasattr(spec.loader, "exec_module")
74
+ func_name = "exec_module" if is_new_api else "load_module"
75
+ old = getattr(spec.loader, func_name)
76
+ func = self.exec_module if is_new_api else self.load_module
77
+ if old is not func:
78
+ try: # noqa: SIM105
79
+ setattr(spec.loader, func_name, partial(func, old))
80
+ except AttributeError:
81
+ pass # C-Extension loaders are r/o such as zipimporter with <3.7
82
+ return spec
83
+ finally:
84
+ self.fullname = None
85
+ return None
86
+
87
+ @staticmethod
88
+ def exec_module(old, module):
89
+ old(module)
90
+ if module.__name__ in _DISTUTILS_PATCH:
91
+ patch_dist(module)
92
+
93
+ @staticmethod
94
+ def load_module(old, name):
95
+ module = old(name)
96
+ if module.__name__ in _DISTUTILS_PATCH:
97
+ patch_dist(module)
98
+ return module
99
+
100
+
101
+ sys.meta_path.insert(0, _Finder())
.venv/pyvenv.cfg ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ home = /root/.local/share/uv/python/cpython-3.11.14-linux-x86_64-gnu/bin
2
+ implementation = CPython
3
+ uv = 0.9.10
4
+ version_info = 3.11.14
5
+ include-system-site-packages = false
6
+ prompt = content
README.md CHANGED
@@ -1,11 +1,6 @@
1
  ---
2
- title: Browser Agent
3
- emoji: 🌍
4
- colorFrom: indigo
5
- colorTo: indigo
6
  sdk: gradio
7
- python_version: 3.11
8
- app_file: webui.py
9
  ---
10
-
11
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
1
  ---
2
+ title: browser-instance
3
+ app_file: /content/web-ui/webui.py
 
 
4
  sdk: gradio
5
+ sdk_version: 5.27.0
 
6
  ---
 
 
sample_data/README.md ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ This directory includes a few sample datasets to get you started.
2
+
3
+ * `california_housing_data*.csv` is California housing data from the 1990 US
4
+ Census; more information is available at:
5
+ https://docs.google.com/document/d/e/2PACX-1vRhYtsvc5eOR2FWNCwaBiKL6suIOrxJig8LcSBbmCbyYsayia_DvPOOBlXZ4CAlQ5nlDD8kTaIDRwrN/pub
6
+
7
+ * `mnist_*.csv` is a small sample of the
8
+ [MNIST database](https://en.wikipedia.org/wiki/MNIST_database), which is
9
+ described at: http://yann.lecun.com/exdb/mnist/
10
+
11
+ * `anscombe.json` contains a copy of
12
+ [Anscombe's quartet](https://en.wikipedia.org/wiki/Anscombe%27s_quartet); it
13
+ was originally described in
14
+
15
+ Anscombe, F. J. (1973). 'Graphs in Statistical Analysis'. American
16
+ Statistician. 27 (1): 17-21. JSTOR 2682899.
17
+
18
+ and our copy was prepared by the
19
+ [vega_datasets library](https://github.com/altair-viz/vega_datasets/blob/4f67bdaad10f45e3549984e17e1b3088c731503d/vega_datasets/_data/anscombe.json).
sample_data/anscombe.json ADDED
@@ -0,0 +1,49 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [
2
+ {"Series":"I", "X":10.0, "Y":8.04},
3
+ {"Series":"I", "X":8.0, "Y":6.95},
4
+ {"Series":"I", "X":13.0, "Y":7.58},
5
+ {"Series":"I", "X":9.0, "Y":8.81},
6
+ {"Series":"I", "X":11.0, "Y":8.33},
7
+ {"Series":"I", "X":14.0, "Y":9.96},
8
+ {"Series":"I", "X":6.0, "Y":7.24},
9
+ {"Series":"I", "X":4.0, "Y":4.26},
10
+ {"Series":"I", "X":12.0, "Y":10.84},
11
+ {"Series":"I", "X":7.0, "Y":4.81},
12
+ {"Series":"I", "X":5.0, "Y":5.68},
13
+
14
+ {"Series":"II", "X":10.0, "Y":9.14},
15
+ {"Series":"II", "X":8.0, "Y":8.14},
16
+ {"Series":"II", "X":13.0, "Y":8.74},
17
+ {"Series":"II", "X":9.0, "Y":8.77},
18
+ {"Series":"II", "X":11.0, "Y":9.26},
19
+ {"Series":"II", "X":14.0, "Y":8.10},
20
+ {"Series":"II", "X":6.0, "Y":6.13},
21
+ {"Series":"II", "X":4.0, "Y":3.10},
22
+ {"Series":"II", "X":12.0, "Y":9.13},
23
+ {"Series":"II", "X":7.0, "Y":7.26},
24
+ {"Series":"II", "X":5.0, "Y":4.74},
25
+
26
+ {"Series":"III", "X":10.0, "Y":7.46},
27
+ {"Series":"III", "X":8.0, "Y":6.77},
28
+ {"Series":"III", "X":13.0, "Y":12.74},
29
+ {"Series":"III", "X":9.0, "Y":7.11},
30
+ {"Series":"III", "X":11.0, "Y":7.81},
31
+ {"Series":"III", "X":14.0, "Y":8.84},
32
+ {"Series":"III", "X":6.0, "Y":6.08},
33
+ {"Series":"III", "X":4.0, "Y":5.39},
34
+ {"Series":"III", "X":12.0, "Y":8.15},
35
+ {"Series":"III", "X":7.0, "Y":6.42},
36
+ {"Series":"III", "X":5.0, "Y":5.73},
37
+
38
+ {"Series":"IV", "X":8.0, "Y":6.58},
39
+ {"Series":"IV", "X":8.0, "Y":5.76},
40
+ {"Series":"IV", "X":8.0, "Y":7.71},
41
+ {"Series":"IV", "X":8.0, "Y":8.84},
42
+ {"Series":"IV", "X":8.0, "Y":8.47},
43
+ {"Series":"IV", "X":8.0, "Y":7.04},
44
+ {"Series":"IV", "X":8.0, "Y":5.25},
45
+ {"Series":"IV", "X":19.0, "Y":12.50},
46
+ {"Series":"IV", "X":8.0, "Y":5.56},
47
+ {"Series":"IV", "X":8.0, "Y":7.91},
48
+ {"Series":"IV", "X":8.0, "Y":6.89}
49
+ ]
sample_data/california_housing_test.csv ADDED
The diff for this file is too large to render. See raw diff
 
sample_data/california_housing_train.csv ADDED
The diff for this file is too large to render. See raw diff
 
sample_data/mnist_test.csv ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:51c292478d94ec3a01461bdfa82eb0885d262eb09e615679b2d69dedb6ad09e7
3
+ size 18289443
sample_data/mnist_train_small.csv ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:1ef64781aa03180f4f5ce504314f058f5d0227277df86060473d973cf43b033e
3
+ size 36523880
tmp/agent_history/6122e633-7ceb-45ba-8ec6-8a24ee026cf1/6122e633-7ceb-45ba-8ec6-8a24ee026cf1.json ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ {
2
+ "history": []
3
+ }
web-ui/.dockerignore ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ data
2
+ tmp
3
+ results
4
+
5
+ .env
web-ui/.env.example ADDED
@@ -0,0 +1,71 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ OPENAI_ENDPOINT=https://api.openai.com/v1
2
+ OPENAI_API_KEY=
3
+
4
+ ANTHROPIC_API_KEY=
5
+ ANTHROPIC_ENDPOINT=https://api.anthropic.com
6
+
7
+ GOOGLE_API_KEY=
8
+
9
+ AZURE_OPENAI_ENDPOINT=
10
+ AZURE_OPENAI_API_KEY=
11
+ AZURE_OPENAI_API_VERSION=2025-01-01-preview
12
+
13
+ DEEPSEEK_ENDPOINT=https://api.deepseek.com
14
+ DEEPSEEK_API_KEY=
15
+
16
+ MISTRAL_API_KEY=
17
+ MISTRAL_ENDPOINT=https://api.mistral.ai/v1
18
+
19
+ OLLAMA_ENDPOINT=http://localhost:11434
20
+
21
+ ALIBABA_ENDPOINT=https://dashscope.aliyuncs.com/compatible-mode/v1
22
+ ALIBABA_API_KEY=
23
+
24
+ MODELSCOPE_ENDPOINT=https://api-inference.modelscope.cn/v1
25
+ MODELSCOPE_API_KEY=
26
+
27
+ MOONSHOT_ENDPOINT=https://api.moonshot.cn/v1
28
+ MOONSHOT_API_KEY=
29
+
30
+ UNBOUND_ENDPOINT=https://api.getunbound.ai
31
+ UNBOUND_API_KEY=
32
+
33
+ SiliconFLOW_ENDPOINT=https://api.siliconflow.cn/v1/
34
+ SiliconFLOW_API_KEY=
35
+
36
+ IBM_ENDPOINT=https://us-south.ml.cloud.ibm.com
37
+ IBM_API_KEY=
38
+ IBM_PROJECT_ID=
39
+
40
+ GROK_ENDPOINT="https://api.x.ai/v1"
41
+ GROK_API_KEY=
42
+
43
+ #set default LLM
44
+ DEFAULT_LLM=openai
45
+
46
+
47
+ # Set to false to disable anonymized telemetry
48
+ ANONYMIZED_TELEMETRY=false
49
+
50
+ # LogLevel: Set to debug to enable verbose logging, set to result to get results only. Available: result | debug | info
51
+ BROWSER_USE_LOGGING_LEVEL=info
52
+
53
+ # Browser settings
54
+ BROWSER_PATH=
55
+ BROWSER_USER_DATA=
56
+ BROWSER_DEBUGGING_PORT=9222
57
+ BROWSER_DEBUGGING_HOST=localhost
58
+ # Set to true to keep browser open between AI tasks
59
+ KEEP_BROWSER_OPEN=true
60
+ USE_OWN_BROWSER=false
61
+ BROWSER_CDP=
62
+ # Display settings
63
+ # Format: WIDTHxHEIGHTxDEPTH
64
+ RESOLUTION=1920x1080x24
65
+ # Width in pixels
66
+ RESOLUTION_WIDTH=1920
67
+ # Height in pixels
68
+ RESOLUTION_HEIGHT=1080
69
+
70
+ # VNC settings
71
+ VNC_PASSWORD=youvncpassword
web-ui/.github/workflows/build.yml ADDED
@@ -0,0 +1,124 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ name: Build Docker Image
2
+
3
+ on:
4
+ release:
5
+ types: [published]
6
+ push:
7
+ branches: [main]
8
+
9
+ env:
10
+ GITHUB_CR_REPO: ghcr.io/${{ github.repository }}
11
+
12
+ jobs:
13
+ build:
14
+ runs-on: ubuntu-latest
15
+ strategy:
16
+ fail-fast: false
17
+ matrix:
18
+ platform:
19
+ - linux/amd64
20
+ - linux/arm64
21
+ steps:
22
+ - name: Prepare
23
+ run: |
24
+ platform=${{ matrix.platform }}
25
+ echo "PLATFORM_PAIR=${platform//\//-}" >> $GITHUB_ENV
26
+
27
+ - name: Docker meta
28
+ id: meta
29
+ uses: docker/metadata-action@v5
30
+ with:
31
+ images: |
32
+ ${{ env.GITHUB_CR_REPO }}
33
+
34
+ - name: Login to GHCR
35
+ uses: docker/login-action@v3
36
+ with:
37
+ registry: ghcr.io
38
+ username: ${{ github.repository_owner }}
39
+ password: ${{ secrets.GITHUB_TOKEN }}
40
+
41
+ - name: Set up QEMU
42
+ uses: docker/setup-qemu-action@v3
43
+
44
+ - name: Set up Docker Buildx
45
+ uses: docker/setup-buildx-action@v3
46
+
47
+ - name: Build and push by digest
48
+ id: build
49
+ uses: docker/build-push-action@v6
50
+ with:
51
+ platforms: ${{ matrix.platform }}
52
+ labels: ${{ steps.meta.outputs.labels }}
53
+ tags: |
54
+ ${{ env.GITHUB_CR_REPO }}
55
+ build-args: |
56
+ TARGETPLATFORM=${{ matrix.platform }}
57
+ outputs: type=image,push-by-digest=true,name-canonical=true,push=true
58
+
59
+ - name: Export digest
60
+ run: |
61
+ mkdir -p ${{ runner.temp }}/digests
62
+ digest="${{ steps.build.outputs.digest }}"
63
+ touch "${{ runner.temp }}/digests/${digest#sha256:}"
64
+
65
+ - name: Upload digest
66
+ uses: actions/upload-artifact@v4
67
+ with:
68
+ name: digests-${{ env.PLATFORM_PAIR }}
69
+ path: ${{ runner.temp }}/digests/*
70
+ if-no-files-found: error
71
+ retention-days: 1
72
+
73
+ merge:
74
+ runs-on: ubuntu-latest
75
+ needs:
76
+ - build
77
+ steps:
78
+ - name: Download digests
79
+ uses: actions/download-artifact@v4
80
+ with:
81
+ path: ${{ runner.temp }}/digests
82
+ pattern: digests-*
83
+ merge-multiple: true
84
+
85
+ - name: Login to GHCR
86
+ uses: docker/login-action@v3
87
+ with:
88
+ registry: ghcr.io
89
+ username: ${{ github.repository_owner }}
90
+ password: ${{ secrets.GITHUB_TOKEN }}
91
+
92
+ - name: Set up Docker Buildx
93
+ uses: docker/setup-buildx-action@v3
94
+
95
+ - name: Docker meta
96
+ id: meta
97
+ uses: docker/metadata-action@v5
98
+ with:
99
+ images: |
100
+ ${{ env.GITHUB_CR_REPO }}
101
+ tags: |
102
+ type=ref,event=branch
103
+ type=ref,event=pr
104
+ type=semver,pattern={{version}}
105
+ type=semver,pattern={{major}}
106
+
107
+ - name: Docker tags
108
+ run: |
109
+ tags=$(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON")
110
+ if [ -z "$tags" ]; then
111
+ echo "DOCKER_METADATA_OUTPUT_VERSION=${{ github.ref_name }}" >> $GITHUB_ENV
112
+ tags="-t ${{ env.GITHUB_CR_REPO }}:${{ github.ref_name }}"
113
+ fi
114
+ echo "DOCKER_METADATA_TAGS=$tags" >> $GITHUB_ENV
115
+
116
+ - name: Create manifest list and push
117
+ working-directory: ${{ runner.temp }}/digests
118
+ run: |
119
+ docker buildx imagetools create ${{ env.DOCKER_METADATA_TAGS }} \
120
+ $(printf '${{ env.GITHUB_CR_REPO }}@sha256:%s ' *)
121
+
122
+ - name: Inspect image
123
+ run: |
124
+ docker buildx imagetools inspect ${{ env.GITHUB_CR_REPO }}:${{ env.DOCKER_METADATA_OUTPUT_VERSION }}
web-ui/.gitignore ADDED
@@ -0,0 +1,192 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Byte-compiled / optimized / DLL files
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+
6
+ # C extensions
7
+ *.so
8
+
9
+ # Distribution / packaging
10
+ .Python
11
+ build/
12
+ develop-eggs/
13
+ dist/
14
+ downloads/
15
+ eggs/
16
+ .eggs/
17
+ lib/
18
+ lib64/
19
+ parts/
20
+ sdist/
21
+ var/
22
+ wheels/
23
+ share/python-wheels/
24
+ *.egg-info/
25
+ .installed.cfg
26
+ *.egg
27
+ MANIFEST
28
+
29
+ # PyInstaller
30
+ # Usually these files are written by a python script from a template
31
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
32
+ *.manifest
33
+ *.spec
34
+
35
+ # Installer logs
36
+ pip-log.txt
37
+ pip-delete-this-directory.txt
38
+
39
+ # Unit test / coverage reports
40
+ htmlcov/
41
+ .tox/
42
+ .nox/
43
+ .coverage
44
+ .coverage.*
45
+ .cache
46
+ nosetests.xml
47
+ coverage.xml
48
+ *.cover
49
+ *.py,cover
50
+ .hypothesis/
51
+ .pytest_cache/
52
+ cover/
53
+
54
+ # Translations
55
+ *.mo
56
+ *.pot
57
+
58
+ # Django stuff:
59
+ *.log
60
+ local_settings.py
61
+ db.sqlite3
62
+ db.sqlite3-journal
63
+
64
+ # Flask stuff:
65
+ instance/
66
+ .webassets-cache
67
+
68
+ # Scrapy stuff:
69
+ .scrapy
70
+
71
+ # Sphinx documentation
72
+ docs/_build/
73
+
74
+ # PyBuilder
75
+ .pybuilder/
76
+ target/
77
+
78
+ # Jupyter Notebook
79
+ .ipynb_checkpoints
80
+
81
+ # IPython
82
+ profile_default/
83
+ ipython_config.py
84
+
85
+ # pyenv
86
+ # For a library or package, you might want to ignore these files since the code is
87
+ # intended to run in multiple environments; otherwise, check them in:
88
+ # .python-version
89
+
90
+ # pipenv
91
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
92
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
93
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
94
+ # install all needed dependencies.
95
+ #Pipfile.lock
96
+
97
+ # poetry
98
+ # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
99
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
100
+ # commonly ignored for libraries.
101
+ # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
102
+ #poetry.lock
103
+
104
+ # pdm
105
+ # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
106
+ #pdm.lock
107
+ # pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
108
+ # in version control.
109
+ # https://pdm.fming.dev/latest/usage/project/#working-with-version-control
110
+ .pdm.toml
111
+ .pdm-python
112
+ .pdm-build/
113
+
114
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
115
+ __pypackages__/
116
+
117
+ # Celery stuff
118
+ celerybeat-schedule
119
+ celerybeat.pid
120
+
121
+ # SageMath parsed files
122
+ *.sage.py
123
+
124
+ # Environments
125
+ .env
126
+ .venv
127
+ env/
128
+ venv/
129
+ ENV/
130
+ env.bak/
131
+ venv.bak/
132
+ test_env/
133
+ myenv
134
+
135
+
136
+ # Spyder project settings
137
+ .spyderproject
138
+ .spyproject
139
+
140
+ # Rope project settings
141
+ .ropeproject
142
+
143
+ # mkdocs documentation
144
+ /site
145
+
146
+ # mypy
147
+ .mypy_cache/
148
+ .dmypy.json
149
+ dmypy.json
150
+
151
+ # Pyre type checker
152
+ .pyre/
153
+
154
+ # pytype static type analyzer
155
+ .pytype/
156
+
157
+ # Cython debug symbols
158
+ cython_debug/
159
+
160
+ # PyCharm
161
+ # JetBrains specific template is maintained in a separate JetBrains.gitignore that can
162
+ # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
163
+ # and can be added to the global gitignore or merged into this file. For a more nuclear
164
+ # option (not recommended) you can uncomment the following to ignore the entire idea folder.
165
+ .idea/
166
+ temp
167
+ tmp
168
+
169
+
170
+ .DS_Store
171
+
172
+ private_example.py
173
+ private_example
174
+
175
+ browser_cookies.json
176
+ cookies.json
177
+ AgentHistory.json
178
+ cv_04_24.pdf
179
+ AgentHistoryList.json
180
+ *.gif
181
+
182
+ # For Sharing (.pem files)
183
+ .gradio/
184
+
185
+ # For Docker
186
+ data/
187
+
188
+ # For Config Files (Current Settings)
189
+ .config.pkl
190
+ *.pdf
191
+
192
+ workflow
web-ui/.vscode/settings.json ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "python.analysis.typeCheckingMode": "basic",
3
+ "[python]": {
4
+ "editor.defaultFormatter": "charliermarsh.ruff",
5
+ "editor.formatOnSave": true,
6
+ "editor.codeActionsOnSave": {
7
+ "source.fixAll.ruff": "explicit",
8
+ "source.organizeImports.ruff": "explicit"
9
+ }
10
+ }
11
+ }
web-ui/Dockerfile ADDED
@@ -0,0 +1,89 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ FROM python:3.11-slim-bookworm
2
+
3
+ # Set platform for multi-arch builds (Docker Buildx will set this)
4
+ ARG TARGETPLATFORM
5
+ ARG NODE_MAJOR=20
6
+
7
+ # Install system dependencies (removed libgconf-2-4)
8
+ RUN apt-get update && apt-get install -y \
9
+ wget \
10
+ netcat-traditional \
11
+ gnupg \
12
+ curl \
13
+ unzip \
14
+ xvfb \
15
+ libxss1 \
16
+ libnss3 \
17
+ libnspr4 \
18
+ libasound2 \
19
+ libatk1.0-0 \
20
+ libatk-bridge2.0-0 \
21
+ libcups2 \
22
+ libdbus-1-3 \
23
+ libdrm2 \
24
+ libgbm1 \
25
+ libgtk-3-0 \
26
+ libxcomposite1 \
27
+ libxdamage1 \
28
+ libxfixes3 \
29
+ libxrandr2 \
30
+ xdg-utils \
31
+ fonts-liberation \
32
+ fonts-noto-color-emoji \
33
+ fonts-unifont \
34
+ dbus \
35
+ xauth \
36
+ x11vnc \
37
+ tigervnc-tools \
38
+ supervisor \
39
+ net-tools \
40
+ procps \
41
+ git \
42
+ python3-numpy \
43
+ fontconfig \
44
+ fonts-dejavu \
45
+ fonts-dejavu-core \
46
+ fonts-dejavu-extra \
47
+ vim \
48
+ && rm -rf /var/lib/apt/lists/*
49
+
50
+ # Install noVNC
51
+ RUN git clone https://github.com/novnc/noVNC.git /opt/novnc \
52
+ && git clone https://github.com/novnc/websockify /opt/novnc/utils/websockify \
53
+ && ln -s /opt/novnc/vnc.html /opt/novnc/index.html
54
+
55
+ # Install Node.js using NodeSource PPA
56
+ RUN mkdir -p /etc/apt/keyrings \
57
+ && curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg \
58
+ && echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list \
59
+ && apt-get update \
60
+ && apt-get install -y nodejs \
61
+ && rm -rf /var/lib/apt/lists/*
62
+
63
+ # Verify Node.js and npm installation
64
+ RUN node -v && npm -v && npx -v
65
+
66
+ # Set up working directory
67
+ WORKDIR /app
68
+
69
+ # Copy requirements and install Python dependencies
70
+ COPY requirements.txt .
71
+ RUN pip install --no-cache-dir -r requirements.txt
72
+
73
+ # Playwright setup
74
+ ENV PLAYWRIGHT_BROWSERS_PATH=/ms-browsers
75
+ RUN mkdir -p $PLAYWRIGHT_BROWSERS_PATH
76
+
77
+ # Install Chromium via Playwright without --with-deps
78
+ RUN PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=0 playwright install chromium
79
+
80
+ # Copy application code
81
+ COPY . .
82
+
83
+ # Set up supervisor configuration
84
+ RUN mkdir -p /var/log/supervisor
85
+ COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf
86
+
87
+ EXPOSE 7788 6080 5901 9222
88
+
89
+ CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/conf.d/supervisord.conf"]
web-ui/LICENSE ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ MIT License
2
+
3
+ Copyright (c) 2024 Browser Use Inc.
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
web-ui/README.md ADDED
@@ -0,0 +1,151 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <img src="./assets/web-ui.png" alt="Browser Use Web UI" width="full"/>
2
+
3
+ <br/>
4
+
5
+ [![GitHub stars](https://img.shields.io/github/stars/browser-use/web-ui?style=social)](https://github.com/browser-use/web-ui/stargazers)
6
+ [![Discord](https://img.shields.io/discord/1303749220842340412?color=7289DA&label=Discord&logo=discord&logoColor=white)](https://link.browser-use.com/discord)
7
+ [![Documentation](https://img.shields.io/badge/Documentation-📕-blue)](https://docs.browser-use.com)
8
+ [![WarmShao](https://img.shields.io/twitter/follow/warmshao?style=social)](https://x.com/warmshao)
9
+
10
+ This project builds upon the foundation of the [browser-use](https://github.com/browser-use/browser-use), which is designed to make websites accessible for AI agents.
11
+
12
+ We would like to officially thank [WarmShao](https://github.com/warmshao) for his contribution to this project.
13
+
14
+ **WebUI:** is built on Gradio and supports most of `browser-use` functionalities. This UI is designed to be user-friendly and enables easy interaction with the browser agent.
15
+
16
+ **Expanded LLM Support:** We've integrated support for various Large Language Models (LLMs), including: Google, OpenAI, Azure OpenAI, Anthropic, DeepSeek, Ollama etc. And we plan to add support for even more models in the future.
17
+
18
+ **Custom Browser Support:** You can use your own browser with our tool, eliminating the need to re-login to sites or deal with other authentication challenges. This feature also supports high-definition screen recording.
19
+
20
+ **Persistent Browser Sessions:** You can choose to keep the browser window open between AI tasks, allowing you to see the complete history and state of AI interactions.
21
+
22
+ <video src="https://github.com/user-attachments/assets/56bc7080-f2e3-4367-af22-6bf2245ff6cb" controls="controls">Your browser does not support playing this video!</video>
23
+
24
+ ## Installation Guide
25
+
26
+ ### Option 1: Local Installation
27
+
28
+ Read the [quickstart guide](https://docs.browser-use.com/quickstart#prepare-the-environment) or follow the steps below to get started.
29
+
30
+ #### Step 1: Clone the Repository
31
+ ```bash
32
+ git clone https://github.com/browser-use/web-ui.git
33
+ cd web-ui
34
+ ```
35
+
36
+ #### Step 2: Set Up Python Environment
37
+ We recommend using [uv](https://docs.astral.sh/uv/) for managing the Python environment.
38
+
39
+ Using uv (recommended):
40
+ ```bash
41
+ uv venv --python 3.11
42
+ ```
43
+
44
+ Activate the virtual environment:
45
+ - Windows (Command Prompt):
46
+ ```cmd
47
+ .venv\Scripts\activate
48
+ ```
49
+ - Windows (PowerShell):
50
+ ```powershell
51
+ .\.venv\Scripts\Activate.ps1
52
+ ```
53
+ - macOS/Linux:
54
+ ```bash
55
+ source .venv/bin/activate
56
+ ```
57
+
58
+ #### Step 3: Install Dependencies
59
+ Install Python packages:
60
+ ```bash
61
+ uv pip install -r requirements.txt
62
+ ```
63
+
64
+ Install Browsers in playwright.
65
+ ```bash
66
+ playwright install --with-deps
67
+ ```
68
+ Or you can install specific browsers by running:
69
+ ```bash
70
+ playwright install chromium --with-deps
71
+ ```
72
+
73
+ #### Step 4: Configure Environment
74
+ 1. Create a copy of the example environment file:
75
+ - Windows (Command Prompt):
76
+ ```bash
77
+ copy .env.example .env
78
+ ```
79
+ - macOS/Linux/Windows (PowerShell):
80
+ ```bash
81
+ cp .env.example .env
82
+ ```
83
+ 2. Open `.env` in your preferred text editor and add your API keys and other settings
84
+
85
+ #### Step 5: Enjoy the web-ui
86
+ 1. **Run the WebUI:**
87
+ ```bash
88
+ python webui.py --ip 127.0.0.1 --port 7788
89
+ ```
90
+ 2. **Access the WebUI:** Open your web browser and navigate to `http://127.0.0.1:7788`.
91
+ 3. **Using Your Own Browser(Optional):**
92
+ - Set `BROWSER_PATH` to the executable path of your browser and `BROWSER_USER_DATA` to the user data directory of your browser. Leave `BROWSER_USER_DATA` empty if you want to use local user data.
93
+ - Windows
94
+ ```env
95
+ BROWSER_PATH="C:\Program Files\Google\Chrome\Application\chrome.exe"
96
+ BROWSER_USER_DATA="C:\Users\YourUsername\AppData\Local\Google\Chrome\User Data"
97
+ ```
98
+ > Note: Replace `YourUsername` with your actual Windows username for Windows systems.
99
+ - Mac
100
+ ```env
101
+ BROWSER_PATH="/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"
102
+ BROWSER_USER_DATA="/Users/YourUsername/Library/Application Support/Google/Chrome"
103
+ ```
104
+ - Close all Chrome windows
105
+ - Open the WebUI in a non-Chrome browser, such as Firefox or Edge. This is important because the persistent browser context will use the Chrome data when running the agent.
106
+ - Check the "Use Own Browser" option within the Browser Settings.
107
+
108
+ ### Option 2: Docker Installation
109
+
110
+ #### Prerequisites
111
+ - Docker and Docker Compose installed
112
+ - [Docker Desktop](https://www.docker.com/products/docker-desktop/) (For Windows/macOS)
113
+ - [Docker Engine](https://docs.docker.com/engine/install/) and [Docker Compose](https://docs.docker.com/compose/install/) (For Linux)
114
+
115
+ #### Step 1: Clone the Repository
116
+ ```bash
117
+ git clone https://github.com/browser-use/web-ui.git
118
+ cd web-ui
119
+ ```
120
+
121
+ #### Step 2: Configure Environment
122
+ 1. Create a copy of the example environment file:
123
+ - Windows (Command Prompt):
124
+ ```bash
125
+ copy .env.example .env
126
+ ```
127
+ - macOS/Linux/Windows (PowerShell):
128
+ ```bash
129
+ cp .env.example .env
130
+ ```
131
+ 2. Open `.env` in your preferred text editor and add your API keys and other settings
132
+
133
+ #### Step 3: Docker Build and Run
134
+ ```bash
135
+ docker compose up --build
136
+ ```
137
+ For ARM64 systems (e.g., Apple Silicon Macs), please run follow command:
138
+ ```bash
139
+ TARGETPLATFORM=linux/arm64 docker compose up --build
140
+ ```
141
+
142
+ #### Step 4: Enjoy the web-ui and vnc
143
+ - Web-UI: Open `http://localhost:7788` in your browser
144
+ - VNC Viewer (for watching browser interactions): Open `http://localhost:6080/vnc.html`
145
+ - Default VNC password: "youvncpassword"
146
+ - Can be changed by setting `VNC_PASSWORD` in your `.env` file
147
+
148
+ ## Changelog
149
+ - [x] **2025/01/26:** Thanks to @vvincent1234. Now browser-use-webui can combine with DeepSeek-r1 to engage in deep thinking!
150
+ - [x] **2025/01/10:** Thanks to @casistack. Now we have Docker Setup option and also Support keep browser open between tasks.[Video tutorial demo](https://github.com/browser-use/web-ui/issues/1#issuecomment-2582511750).
151
+ - [x] **2025/01/06:** Thanks to @richard-devbot. A New and Well-Designed WebUI is released. [Video tutorial demo](https://github.com/warmshao/browser-use-webui/issues/1#issuecomment-2573393113).