karthik-2905 commited on
Commit
5d14125
·
verified ·
1 Parent(s): 361063b

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. .gitattributes +6 -0
  2. README.md +145 -0
  3. apps/fetal_plane_app.py +367 -0
  4. apps/pregnancy_risk_app.py +188 -0
  5. apps/pregnancy_risk_prediction.py +99 -0
  6. config/requirements.txt +5 -0
  7. data/Dataset - Updated.csv +1206 -0
  8. docs/DOCUMENTATION.md +276 -0
  9. docs/PROJECT_STRUCTURE.md +223 -0
  10. frontend/.gitignore +24 -0
  11. frontend/README.md +69 -0
  12. frontend/eslint.config.js +23 -0
  13. frontend/index.html +14 -0
  14. frontend/node_modules/.bin/acorn +3 -0
  15. frontend/node_modules/.bin/autoprefixer +3 -0
  16. frontend/node_modules/.bin/baseline-browser-mapping +3 -0
  17. frontend/node_modules/.bin/browserslist +3 -0
  18. frontend/node_modules/.bin/esbuild +3 -0
  19. frontend/node_modules/.bin/eslint +3 -0
  20. frontend/node_modules/.bin/jiti +3 -0
  21. frontend/node_modules/.bin/js-yaml +3 -0
  22. frontend/node_modules/.bin/jsesc +3 -0
  23. frontend/node_modules/.bin/json5 +3 -0
  24. frontend/node_modules/.bin/mkdirp +3 -0
  25. frontend/node_modules/.bin/nanoid +3 -0
  26. frontend/node_modules/.bin/node-which +3 -0
  27. frontend/node_modules/.bin/parser +3 -0
  28. frontend/node_modules/.bin/rollup +3 -0
  29. frontend/node_modules/.bin/semver +3 -0
  30. frontend/node_modules/.bin/tsc +3 -0
  31. frontend/node_modules/.bin/tsserver +3 -0
  32. frontend/node_modules/.bin/update-browserslist-db +3 -0
  33. frontend/node_modules/.bin/vite +3 -0
  34. frontend/node_modules/.package-lock.json +0 -0
  35. frontend/node_modules/.vite/deps/@clerk_clerk-react.js +0 -0
  36. frontend/node_modules/.vite/deps/@clerk_clerk-react.js.map +0 -0
  37. frontend/node_modules/.vite/deps/_metadata.json +52 -0
  38. frontend/node_modules/.vite/deps/chunk-I5HANLAN.js +278 -0
  39. frontend/node_modules/.vite/deps/chunk-I5HANLAN.js.map +7 -0
  40. frontend/node_modules/.vite/deps/chunk-X4QARNC5.js +1004 -0
  41. frontend/node_modules/.vite/deps/chunk-X4QARNC5.js.map +7 -0
  42. frontend/node_modules/.vite/deps/package.json +3 -0
  43. frontend/node_modules/.vite/deps/react-dom.js +5 -0
  44. frontend/node_modules/.vite/deps/react-dom.js.map +7 -0
  45. frontend/node_modules/.vite/deps/react-dom_client.js +0 -0
  46. frontend/node_modules/.vite/deps/react-dom_client.js.map +0 -0
  47. frontend/node_modules/.vite/deps/react.js +4 -0
  48. frontend/node_modules/.vite/deps/react.js.map +7 -0
  49. frontend/node_modules/.vite/deps/react_jsx-dev-runtime.js +279 -0
  50. frontend/node_modules/.vite/deps/react_jsx-dev-runtime.js.map +7 -0
.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
+ frontend/node_modules/@esbuild/darwin-arm64/bin/esbuild filter=lfs diff=lfs merge=lfs -text
37
+ frontend/node_modules/@rollup/rollup-darwin-arm64/rollup.darwin-arm64.node filter=lfs diff=lfs merge=lfs -text
38
+ frontend/node_modules/@tailwindcss/oxide-darwin-arm64/tailwindcss-oxide.darwin-arm64.node filter=lfs diff=lfs merge=lfs -text
39
+ frontend/node_modules/esbuild/bin/esbuild filter=lfs diff=lfs merge=lfs -text
40
+ frontend/node_modules/fsevents/fsevents.node filter=lfs diff=lfs merge=lfs -text
41
+ frontend/node_modules/lightningcss-darwin-arm64/lightningcss.darwin-arm64.node filter=lfs diff=lfs merge=lfs -text
README.md ADDED
@@ -0,0 +1,145 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # 🔬 Medical AI System - Organized Codebase
2
+
3
+ ## 📁 Project Structure
4
+
5
+ ```
6
+ hackathon15092025/
7
+ ├── 📱 apps/ # Streamlit Applications
8
+ │ ├── pregnancy_risk_app.py # Pregnancy risk prediction (Port 8501)
9
+ │ ├── fetal_plane_app.py # Fetal ultrasound classification (Port 8502)
10
+ │ └── pregnancy_risk_prediction.py # Model training script
11
+
12
+ ├── 🎨 assets/ # Static Assets
13
+ │ └── static/
14
+ │ └── css/
15
+ │ └── style.css # Satoshi font styling
16
+
17
+ ├── ⚙️ config/ # Configuration Files
18
+ │ ├── requirements.txt # Pregnancy risk dependencies
19
+ │ └── requirements_fetal.txt # Fetal plane dependencies
20
+
21
+ ├── 📊 data/ # Datasets
22
+ │ ├── Dataset - Updated.csv # Pregnancy risk dataset (1,187 records)
23
+ │ └── Dataset/ # Additional data files
24
+
25
+ ├── 📋 docs/ # Documentation
26
+ │ ├── README.md # Main project overview
27
+ │ ├── README_FETAL.md # Fetal plane classification guide
28
+ │ ├── DOCUMENTATION.md # Comprehensive system documentation
29
+ │ └── PROJECT_STRUCTURE.md # Detailed project organization
30
+
31
+ ├── 🤖 models/ # Trained Models
32
+ │ ├── pregnancy_risk_model.pkl # Random Forest model (100% accuracy)
33
+ │ ├── label_encoder.pkl # Label encoder
34
+ │ ├── feature_columns.pkl # Feature column names
35
+ │ └── fetal_plane_model/ # Vision Transformer model (91.69% accuracy)
36
+ │ ├── config.json
37
+ │ ├── model.safetensors
38
+ │ ├── preprocessor_config.json
39
+ │ └── label_encoder.pkl
40
+
41
+ ├── 🔧 scripts/ # Training Scripts
42
+ │ ├── fetal_plane_classifier.py # ViT model training
43
+ │ ├── train_fetal_model.py # Standard training script
44
+ │ └── train_fetal_model_thermal.py # Thermal-safe training for M4
45
+
46
+ ├── 🗂️ FETAL_PLANES_ZENODO/ # Ultrasound Dataset
47
+ │ ├── FETAL_PLANES_DB_data.csv # Labels (12,400 images)
48
+ │ ├── Images/ # Ultrasound images (PNG format)
49
+ │ └── README.md # Dataset documentation
50
+
51
+ └── 🌐 index.html # Main Dashboard
52
+ ```
53
+
54
+ ## 🚀 Quick Start
55
+
56
+ ### 1. Install Dependencies
57
+ ```bash
58
+ # Install pregnancy risk dependencies
59
+ pip install -r config/requirements.txt
60
+
61
+ # Install fetal plane dependencies
62
+ pip install -r config/requirements_fetal.txt
63
+ ```
64
+
65
+ ### 2. Run Applications
66
+ ```bash
67
+ # Terminal 1: Pregnancy Risk App
68
+ cd apps && streamlit run pregnancy_risk_app.py --server.port 8501
69
+
70
+ # Terminal 2: Fetal Plane App
71
+ cd apps && streamlit run fetal_plane_app.py --server.port 8502
72
+
73
+ # Terminal 3: Main Dashboard
74
+ open index.html
75
+ ```
76
+
77
+ ## 📱 Applications
78
+
79
+ | Application | Location | Port | Description |
80
+ |-------------|----------|------|-------------|
81
+ | **Main Dashboard** | `index.html` | - | HTML dashboard with navigation |
82
+ | **Pregnancy Risk** | `apps/pregnancy_risk_app.py` | 8501 | Risk prediction interface |
83
+ | **Fetal Planes** | `apps/fetal_plane_app.py` | 8502 | Ultrasound classification |
84
+
85
+ ## 🎯 Model Performance
86
+
87
+ ### Pregnancy Risk Model
88
+ - **Accuracy**: 100%
89
+ - **Algorithm**: Random Forest Classifier
90
+ - **Features**: 11 clinical parameters
91
+ - **Dataset**: 1,187 patient records
92
+ - **Inference**: <1ms
93
+
94
+ ### Fetal Plane Model
95
+ - **Validation Accuracy**: 91.69%
96
+ - **Algorithm**: Vision Transformer (ViT-Base-Patch16-224)
97
+ - **Classes**: 9 anatomical planes
98
+ - **Dataset**: 12,400 ultrasound images
99
+ - **Inference**: <100ms
100
+ - **Optimization**: Apple Silicon MPS
101
+
102
+ ## 🔧 Development
103
+
104
+ ### Training Models
105
+ ```bash
106
+ # Train pregnancy risk model
107
+ cd apps && python pregnancy_risk_prediction.py
108
+
109
+ # Train fetal plane model (thermal-safe for M4)
110
+ cd scripts && python train_fetal_model_thermal.py
111
+ ```
112
+
113
+ ### Project Organization Benefits
114
+ - ✅ **Clean Structure**: Logical separation of concerns
115
+ - ✅ **Easy Navigation**: Clear folder hierarchy
116
+ - ✅ **Maintainable**: Organized code and documentation
117
+ - ✅ **Scalable**: Easy to add new features
118
+ - ✅ **Professional**: Industry-standard organization
119
+
120
+ ## 📊 System Requirements
121
+
122
+ - **Python**: 3.9+
123
+ - **Platform**: macOS with Apple Silicon (M1/M2/M3/M4)
124
+ - **RAM**: 8GB+ recommended
125
+ - **Storage**: 2GB+ for datasets and models
126
+
127
+ ## 🔒 Privacy & Security
128
+
129
+ - **Local Processing**: All AI inference runs locally
130
+ - **No Data Storage**: Patient data not permanently stored
131
+ - **HIPAA Compliant**: Privacy-by-design architecture
132
+ - **Secure Models**: No data leakage in model weights
133
+
134
+ ## 📞 Support
135
+
136
+ For detailed documentation, see the `docs/` directory:
137
+ - `docs/DOCUMENTATION.md` - Comprehensive system documentation
138
+ - `docs/PROJECT_STRUCTURE.md` - Detailed project organization
139
+ - `docs/README_FETAL.md` - Fetal plane classification guide
140
+
141
+ ---
142
+
143
+ *Last Updated: January 2025*
144
+ *Version: 2.0 - Organized Structure*
145
+ *Platform: Apple Silicon Optimized*
apps/fetal_plane_app.py ADDED
@@ -0,0 +1,367 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ import os
3
+ import torch
4
+ from PIL import Image
5
+ import numpy as np
6
+ from transformers import ViTImageProcessor, ViTForImageClassification
7
+ import joblib
8
+ import plotly.express as px
9
+ import pandas as pd
10
+ import platform
11
+
12
+ def get_device():
13
+ if torch.backends.mps.is_available() and torch.backends.mps.is_built():
14
+ return torch.device("mps")
15
+ elif torch.cuda.is_available():
16
+ return torch.device("cuda")
17
+ else:
18
+ return torch.device("cpu")
19
+
20
+ def optimize_for_apple_silicon():
21
+ if platform.machine() == 'arm64':
22
+ os.environ['PYTORCH_ENABLE_MPS_FALLBACK'] = '1'
23
+ if torch.backends.mps.is_available():
24
+ try:
25
+ if hasattr(torch.backends.mps, 'empty_cache'):
26
+ torch.backends.mps.empty_cache()
27
+ except AttributeError:
28
+ pass
29
+
30
+ st.set_page_config(
31
+ page_title="Fetal Plane Classification",
32
+ page_icon="🔬",
33
+ layout="wide"
34
+ )
35
+
36
+ with open('../assets/static/css/style.css') as f:
37
+ st.markdown(f'<style>{f.read()}</style>', unsafe_allow_html=True)
38
+
39
+ st.title("🔬 Fetal Ultrasound Plane Classification")
40
+ st.markdown("""
41
+ This AI-powered application classifies fetal ultrasound images into different anatomical planes.
42
+ Upload an ultrasound image to get instant classification results.
43
+ """)
44
+
45
+ @st.cache_resource
46
+ def load_model():
47
+ optimize_for_apple_silicon()
48
+ device = get_device()
49
+
50
+ model_dir = '../models/fetal_plane_model'
51
+
52
+ if not os.path.exists(model_dir):
53
+ st.error(f"Model not found at {model_dir}. Please train the model first.")
54
+ return None, None, None, None
55
+
56
+ try:
57
+ processor = ViTImageProcessor.from_pretrained(model_dir)
58
+ model = ViTForImageClassification.from_pretrained(model_dir)
59
+ model = model.to(device)
60
+ model.eval()
61
+ label_encoder = joblib.load(os.path.join(model_dir, 'label_encoder.pkl'))
62
+
63
+ st.success(f"🚀 Model loaded on {device} ({platform.machine()})")
64
+ return model, processor, label_encoder, device
65
+ except Exception as e:
66
+ st.error(f"Error loading model: {e}")
67
+ return None, None, None, None
68
+
69
+ def predict_image(image, model, processor, label_encoder, device):
70
+ if image.mode != 'RGB':
71
+ image = image.convert('RGB')
72
+
73
+ inputs = processor(images=image, return_tensors="pt")
74
+ inputs = {k: v.to(device) for k, v in inputs.items()}
75
+
76
+ with torch.no_grad():
77
+ outputs = model(**inputs)
78
+ predictions = torch.nn.functional.softmax(outputs.logits, dim=-1)
79
+ probabilities = predictions[0].cpu().numpy()
80
+
81
+ predicted_class_idx = np.argmax(probabilities)
82
+ predicted_label = label_encoder.inverse_transform([predicted_class_idx])[0]
83
+ confidence = probabilities[predicted_class_idx]
84
+
85
+ results = []
86
+ for i, prob in enumerate(probabilities):
87
+ label = label_encoder.inverse_transform([i])[0]
88
+ results.append({
89
+ 'Class': label,
90
+ 'Probability': prob,
91
+ 'Percentage': f"{prob*100:.1f}%"
92
+ })
93
+
94
+ results_df = pd.DataFrame(results).sort_values('Probability', ascending=False)
95
+
96
+ return predicted_label, confidence, results_df
97
+
98
+ model, processor, label_encoder, device = load_model()
99
+
100
+ if model is not None:
101
+ st.sidebar.header("Model Information")
102
+ st.sidebar.success("✅ Model loaded successfully")
103
+ st.sidebar.info(f"**Classes:** {len(label_encoder.classes_)}")
104
+
105
+ with st.sidebar.expander("Available Classes"):
106
+ for i, class_name in enumerate(label_encoder.classes_):
107
+ plane, brain_type = class_name.split('_', 1)
108
+ st.write(f"**{plane}**")
109
+ st.write(f"└─ {brain_type}")
110
+
111
+ col1, col2 = st.columns([2, 1])
112
+
113
+ with col1:
114
+ st.header("🔬 Fetal Ultrasound Classification")
115
+
116
+ # Alternative upload method using camera input (bypasses 403 errors)
117
+ st.subheader("📤 Upload Your Image")
118
+
119
+ # Method 1: Camera input (works better than file_uploader)
120
+ camera_image = st.camera_input("📷 Take a photo of your ultrasound image")
121
+
122
+ if camera_image is not None:
123
+ try:
124
+ image = Image.open(camera_image)
125
+ st.image(image, caption="Captured Image", use_column_width=True)
126
+
127
+ if st.button("🔬 Classify Captured Image", type="primary"):
128
+ with st.spinner("Analyzing captured image..."):
129
+ predicted_label, confidence, results_df = predict_image(
130
+ image, model, processor, label_encoder, device
131
+ )
132
+
133
+ st.success("✅ Classification completed!")
134
+
135
+ plane, brain_type = predicted_label.split('_', 1)
136
+
137
+ col_result1, col_result2 = st.columns(2)
138
+
139
+ with col_result1:
140
+ st.metric(
141
+ "🎯 Predicted Plane",
142
+ plane,
143
+ help="Primary anatomical plane detected"
144
+ )
145
+
146
+ with col_result2:
147
+ st.metric(
148
+ "🧠 Brain Classification",
149
+ brain_type,
150
+ help="Specific brain plane type (if applicable)"
151
+ )
152
+
153
+ st.metric(
154
+ "📊 Confidence Score",
155
+ f"{confidence*100:.1f}%",
156
+ help="Model confidence in the prediction"
157
+ )
158
+
159
+ if confidence > 0.8:
160
+ st.success("🟢 High confidence prediction")
161
+ elif confidence > 0.6:
162
+ st.warning("🟡 Moderate confidence prediction")
163
+ else:
164
+ st.error("🔴 Low confidence prediction - manual review recommended")
165
+
166
+ except Exception as e:
167
+ st.error(f"Error processing captured image: {e}")
168
+
169
+ # Method 2: Manual file path input
170
+ st.subheader("📁 Or Enter Image Path")
171
+
172
+ image_path = st.text_input(
173
+ "Enter full path to your ultrasound image:",
174
+ placeholder="/path/to/your/ultrasound_image.png",
175
+ help="Enter the complete file path to your ultrasound image"
176
+ )
177
+
178
+ if image_path and st.button("🔍 Load and Classify"):
179
+ try:
180
+ if os.path.exists(image_path):
181
+ image = Image.open(image_path)
182
+ st.image(image, caption=f"Loaded: {os.path.basename(image_path)}", use_column_width=True)
183
+
184
+ with st.spinner("Analyzing loaded image..."):
185
+ predicted_label, confidence, results_df = predict_image(
186
+ image, model, processor, label_encoder, device
187
+ )
188
+
189
+ st.success("✅ Classification completed!")
190
+
191
+ plane, brain_type = predicted_label.split('_', 1)
192
+
193
+ col_result1, col_result2 = st.columns(2)
194
+
195
+ with col_result1:
196
+ st.metric("🎯 Predicted Plane", plane)
197
+
198
+ with col_result2:
199
+ st.metric("🧠 Brain Classification", brain_type)
200
+
201
+ st.metric("📊 Confidence Score", f"{confidence*100:.1f}%")
202
+
203
+ if confidence > 0.8:
204
+ st.success("🟢 High confidence prediction")
205
+ elif confidence > 0.6:
206
+ st.warning("🟡 Moderate confidence prediction")
207
+ else:
208
+ st.error("🔴 Low confidence prediction - manual review recommended")
209
+ else:
210
+ st.error("File not found. Please check the path and try again.")
211
+ except Exception as e:
212
+ st.error(f"Error loading image: {e}")
213
+
214
+ st.divider()
215
+
216
+ # Alternative method: Sample images
217
+ st.subheader("🧪 Or Test with Sample Images")
218
+ st.info("💡 **Alternative Method** - Choose from dataset images")
219
+ sample_images_dir = '../datasets/FETAL_PLANES_ZENODO/Images'
220
+
221
+ if os.path.exists(sample_images_dir):
222
+ sample_files = [f for f in os.listdir(sample_images_dir) if f.endswith('.png')][:10]
223
+ if sample_files:
224
+ selected_sample = st.selectbox(
225
+ "Choose a sample image to test:",
226
+ [''] + sample_files,
227
+ help="Select from dataset images to test the model"
228
+ )
229
+
230
+ if selected_sample:
231
+ sample_path = os.path.join(sample_images_dir, selected_sample)
232
+ try:
233
+ sample_image = Image.open(sample_path)
234
+ st.image(sample_image, caption=f"Sample: {selected_sample}", use_column_width=True)
235
+
236
+ if st.button("🔬 Classify Sample Image", type="primary"):
237
+ with st.spinner("Analyzing sample image..."):
238
+ predicted_label, confidence, results_df = predict_image(
239
+ sample_image, model, processor, label_encoder, device
240
+ )
241
+
242
+ # Display results
243
+ col1, col2 = st.columns(2)
244
+
245
+ with col1:
246
+ st.success(f"**Predicted Class:** {predicted_label}")
247
+ st.info(f"**Confidence:** {confidence:.1%}")
248
+
249
+ with col2:
250
+ fig = px.bar(
251
+ results_df,
252
+ x='Probability',
253
+ y='Class',
254
+ orientation='h',
255
+ title="Classification Probabilities",
256
+ color='Probability',
257
+ color_continuous_scale='viridis'
258
+ )
259
+ fig.update_layout(height=400)
260
+ st.plotly_chart(fig, use_container_width=True)
261
+ except Exception as e:
262
+ st.error(f"Error loading sample image: {e}")
263
+
264
+ st.divider()
265
+
266
+ st.success("✅ **403 Error Fixed!** Multiple upload methods available - no browser restrictions!")
267
+
268
+ # Add helpful information
269
+ with st.expander("ℹ️ Upload Methods Available"):
270
+ st.markdown("""
271
+ **Three Ways to Upload:**
272
+
273
+ 1. **📷 Camera Input**: Take a photo of your ultrasound (works on mobile/desktop)
274
+ 2. **📁 File Path**: Enter the full path to your image file
275
+ 3. **🧪 Sample Images**: Choose from dataset images below
276
+
277
+ **All methods provide:**
278
+ - **Same AI accuracy**: 91.69% validation accuracy (97-99% on test images)
279
+ - **No 403 errors**: Completely bypasses browser upload restrictions
280
+ - **Instant results**: Fast classification with confidence scores
281
+
282
+ **Supported formats:** PNG, JPG, JPEG
283
+ """)
284
+
285
+ with col2:
286
+ if 'results_df' in locals():
287
+ st.header("📊 Detailed Results")
288
+
289
+ st.subheader("All Class Probabilities")
290
+
291
+ top_5 = results_df.head(5)
292
+
293
+ fig = px.bar(
294
+ top_5,
295
+ x='Probability',
296
+ y='Class',
297
+ orientation='h',
298
+ title="Top 5 Predictions",
299
+ color='Probability',
300
+ color_continuous_scale='viridis'
301
+ )
302
+ fig.update_layout(height=400, showlegend=False)
303
+ st.plotly_chart(fig, use_container_width=True)
304
+
305
+ st.subheader("Probability Table")
306
+ st.dataframe(
307
+ results_df[['Class', 'Percentage']],
308
+ use_container_width=True,
309
+ hide_index=True
310
+ )
311
+
312
+ st.header("📋 Classification Guide")
313
+
314
+ col_guide1, col_guide2 = st.columns(2)
315
+
316
+ with col_guide1:
317
+ st.subheader("🔬 Fetal Planes")
318
+ st.markdown("""
319
+ - **Fetal Brain**: Neural structures and brain anatomy
320
+ - **Fetal Abdomen**: Abdominal organs and structures
321
+ - **Fetal Thorax**: Chest cavity and heart
322
+ - **Fetal Femur**: Thigh bone measurements
323
+ - **Maternal Cervix**: Cervical anatomy
324
+ - **Other**: Non-specific or unclear planes
325
+ """)
326
+
327
+ with col_guide2:
328
+ st.subheader("🧠 Brain Plane Types")
329
+ st.markdown("""
330
+ - **Trans-thalamic**: Through thalamus region
331
+ - **Trans-ventricular**: Through brain ventricles
332
+ - **Trans-cerebellum**: Through cerebellum
333
+ - **Other**: Non-specific brain views
334
+ - **Not A Brain**: Non-brain anatomical planes
335
+ """)
336
+
337
+ st.header("🎯 Model Performance")
338
+
339
+ performance_col1, performance_col2, performance_col3 = st.columns(3)
340
+
341
+ with performance_col1:
342
+ st.metric("Model Architecture", "Vision Transformer (ViT)")
343
+
344
+ with performance_col2:
345
+ st.metric("Training Images", "~12,000")
346
+
347
+ with performance_col3:
348
+ st.metric("Classification Classes", len(label_encoder.classes_) if label_encoder else "N/A")
349
+
350
+ else:
351
+ st.error("❌ Model not available. Please train the model first by running:")
352
+ st.code("python fetal_plane_classifier.py", language="bash")
353
+
354
+ st.header("🚀 Getting Started")
355
+ st.markdown("""
356
+ 1. **Train the Model**: Run the training script to create the classification model
357
+ 2. **Upload Images**: Use the interface above to upload ultrasound images
358
+ 3. **Get Predictions**: Receive instant AI-powered classifications
359
+ 4. **Review Results**: Analyze confidence scores and detailed probabilities
360
+ """)
361
+
362
+ st.markdown("""
363
+ ---
364
+ **Disclaimer:** This AI model is for research and educational purposes only.
365
+ It should not replace professional medical diagnosis or clinical decision-making.
366
+ Always consult qualified healthcare professionals for medical interpretations.
367
+ """)
apps/pregnancy_risk_app.py ADDED
@@ -0,0 +1,188 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ import pandas as pd
3
+ import numpy as np
4
+ from sklearn.ensemble import RandomForestClassifier
5
+ from sklearn.preprocessing import LabelEncoder
6
+ from sklearn.model_selection import train_test_split
7
+ from sklearn.metrics import accuracy_score
8
+ import joblib
9
+ import os
10
+
11
+ st.set_page_config(
12
+ page_title="Pregnancy Risk Prediction",
13
+ page_icon="🤱",
14
+ layout="wide"
15
+ )
16
+
17
+ with open('../assets/static/css/style.css') as f:
18
+ st.markdown(f'<style>{f.read()}</style>', unsafe_allow_html=True)
19
+
20
+ st.title("🤱 Pregnancy Risk Prediction Model")
21
+ st.markdown("""
22
+ This application predicts pregnancy risk levels based on various health parameters.
23
+ Please enter the patient's information below to get a risk assessment.
24
+ """)
25
+
26
+ @st.cache_data
27
+ def load_and_train_model():
28
+ df = pd.read_csv('../data/Dataset - Updated.csv')
29
+
30
+ df = df.dropna(subset=['Risk Level'])
31
+
32
+ numerical_cols = ['Age', 'Systolic BP', 'Diastolic', 'BS', 'Body Temp', 'BMI', 'Heart Rate']
33
+ for col in numerical_cols:
34
+ if col in df.columns:
35
+ df[col] = df[col].fillna(df[col].median())
36
+
37
+ categorical_cols = ['Previous Complications', 'Preexisting Diabetes', 'Gestational Diabetes', 'Mental Health']
38
+ for col in categorical_cols:
39
+ if col in df.columns:
40
+ df[col] = df[col].fillna(df[col].mode()[0])
41
+
42
+ feature_columns = ['Age', 'Systolic BP', 'Diastolic', 'BS', 'Body Temp', 'BMI',
43
+ 'Previous Complications', 'Preexisting Diabetes', 'Gestational Diabetes',
44
+ 'Mental Health', 'Heart Rate']
45
+
46
+ X = df[feature_columns]
47
+ y = df['Risk Level']
48
+
49
+ le = LabelEncoder()
50
+ y_encoded = le.fit_transform(y)
51
+
52
+ X_train, X_test, y_train, y_test = train_test_split(X, y_encoded, test_size=0.2, random_state=42, stratify=y_encoded)
53
+
54
+ model = RandomForestClassifier(n_estimators=100, max_depth=10, random_state=42)
55
+ model.fit(X_train, y_train)
56
+
57
+ y_pred = model.predict(X_test)
58
+ accuracy = accuracy_score(y_test, y_pred)
59
+
60
+ return model, le, feature_columns, accuracy, df
61
+
62
+ model, label_encoder, feature_columns, accuracy, df = load_and_train_model()
63
+
64
+ st.sidebar.header("Model Information")
65
+ st.sidebar.metric("Model Accuracy", f"{accuracy:.2%}")
66
+ st.sidebar.metric("Total Samples", len(df))
67
+ st.sidebar.metric("High Risk Cases", len(df[df['Risk Level'] == 'High']))
68
+ st.sidebar.metric("Low Risk Cases", len(df[df['Risk Level'] == 'Low']))
69
+
70
+ st.header("Patient Information")
71
+
72
+ col1, col2 = st.columns(2)
73
+
74
+ with col1:
75
+ st.subheader("Basic Information")
76
+ age = st.number_input("Age", min_value=15, max_value=50, value=25, help="Patient's age in years")
77
+ bmi = st.number_input("BMI", min_value=15.0, max_value=50.0, value=24.0, step=0.1, help="Body Mass Index")
78
+ body_temp = st.number_input("Body Temperature (°F)", min_value=95.0, max_value=105.0, value=98.6, step=0.1)
79
+
80
+ st.subheader("Blood Pressure")
81
+ systolic_bp = st.number_input("Systolic BP", min_value=80, max_value=200, value=120, help="Systolic blood pressure")
82
+ diastolic_bp = st.number_input("Diastolic BP", min_value=50, max_value=120, value=80, help="Diastolic blood pressure")
83
+
84
+ with col2:
85
+ st.subheader("Health Metrics")
86
+ blood_sugar = st.number_input("Blood Sugar", min_value=3.0, max_value=20.0, value=7.0, step=0.1, help="Blood sugar level")
87
+ heart_rate = st.number_input("Heart Rate", min_value=50, max_value=120, value=75, help="Heart rate in BPM")
88
+
89
+ st.subheader("Medical History")
90
+ prev_complications = st.selectbox("Previous Complications", [0, 1], format_func=lambda x: "No" if x == 0 else "Yes")
91
+ preexisting_diabetes = st.selectbox("Preexisting Diabetes", [0, 1], format_func=lambda x: "No" if x == 0 else "Yes")
92
+ gestational_diabetes = st.selectbox("Gestational Diabetes", [0, 1], format_func=lambda x: "No" if x == 0 else "Yes")
93
+ mental_health = st.selectbox("Mental Health Issues", [0, 1], format_func=lambda x: "No" if x == 0 else "Yes")
94
+
95
+ if st.button("Predict Risk Level", type="primary"):
96
+ patient_data = {
97
+ 'Age': age,
98
+ 'Systolic BP': systolic_bp,
99
+ 'Diastolic': diastolic_bp,
100
+ 'BS': blood_sugar,
101
+ 'Body Temp': body_temp,
102
+ 'BMI': bmi,
103
+ 'Previous Complications': prev_complications,
104
+ 'Preexisting Diabetes': preexisting_diabetes,
105
+ 'Gestational Diabetes': gestational_diabetes,
106
+ 'Mental Health': mental_health,
107
+ 'Heart Rate': heart_rate
108
+ }
109
+
110
+ patient_df = pd.DataFrame([patient_data], columns=feature_columns)
111
+
112
+ prediction = model.predict(patient_df)[0]
113
+ probability = model.predict_proba(patient_df)[0]
114
+
115
+ risk_level = label_encoder.inverse_transform([prediction])[0]
116
+
117
+ st.header("Prediction Results")
118
+
119
+ col1, col2, col3 = st.columns(3)
120
+
121
+ with col1:
122
+ if risk_level == "High":
123
+ st.error(f"🚨 **Risk Level: {risk_level}**")
124
+ else:
125
+ st.success(f"✅ **Risk Level: {risk_level}**")
126
+
127
+ with col2:
128
+ st.metric("High Risk Probability", f"{probability[1]:.1%}")
129
+
130
+ with col3:
131
+ st.metric("Low Risk Probability", f"{probability[0]:.1%}")
132
+
133
+ st.subheader("Risk Factors Analysis")
134
+
135
+ feature_importance = pd.DataFrame({
136
+ 'Feature': feature_columns,
137
+ 'Importance': model.feature_importances_,
138
+ 'Patient_Value': [patient_data[col] for col in feature_columns]
139
+ }).sort_values('Importance', ascending=False)
140
+
141
+ st.write("**Model-based Risk Assessment:**")
142
+ if risk_level == "High":
143
+ st.warning(f"The model predicts **{risk_level} Risk** with {probability[1]:.1%} confidence.")
144
+ else:
145
+ st.success(f"The model predicts **{risk_level} Risk** with {probability[0]:.1%} confidence.")
146
+
147
+ st.write("**Top Contributing Factors (by model importance):**")
148
+ top_features = feature_importance.head(5)
149
+ for _, row in top_features.iterrows():
150
+ importance_pct = row['Importance'] * 100
151
+ st.write(f"• **{row['Feature']}**: {row['Patient_Value']} (Model weight: {importance_pct:.1f}%)")
152
+
153
+ st.subheader("Recommendations")
154
+ if risk_level == "High":
155
+ st.markdown("""
156
+ **High Risk - Immediate Actions Recommended:**
157
+ - Consult with healthcare provider immediately
158
+ - Regular monitoring of blood pressure and blood sugar
159
+ - Follow prescribed medication regimen
160
+ - Maintain regular prenatal appointments
161
+ - Monitor fetal movements and report any concerns
162
+ """)
163
+ else:
164
+ st.markdown("""
165
+ **Low Risk - Preventive Care:**
166
+ - Continue regular prenatal care
167
+ - Maintain healthy diet and exercise routine
168
+ - Monitor weight gain as recommended
169
+ - Take prenatal vitamins as prescribed
170
+ - Report any unusual symptoms to healthcare provider
171
+ """)
172
+
173
+ if st.checkbox("Show Feature Importance"):
174
+ st.subheader("Model Feature Importance")
175
+
176
+ feature_importance = pd.DataFrame({
177
+ 'Feature': feature_columns,
178
+ 'Importance': model.feature_importances_
179
+ }).sort_values('Importance', ascending=True)
180
+
181
+ st.bar_chart(feature_importance.set_index('Feature'))
182
+
183
+ st.markdown("""
184
+ ---
185
+ **Disclaimer:** This prediction model is for educational and informational purposes only.
186
+ It should not replace professional medical advice, diagnosis, or treatment.
187
+ Always consult with qualified healthcare providers for medical decisions.
188
+ """)
apps/pregnancy_risk_prediction.py ADDED
@@ -0,0 +1,99 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import pandas as pd
2
+ import numpy as np
3
+ from sklearn.model_selection import train_test_split
4
+ from sklearn.ensemble import RandomForestClassifier
5
+ from sklearn.preprocessing import LabelEncoder
6
+ from sklearn.metrics import accuracy_score, classification_report, confusion_matrix
7
+ import joblib
8
+ import warnings
9
+ warnings.filterwarnings('ignore')
10
+
11
+ def load_and_preprocess_data(file_path):
12
+ df = pd.read_csv(file_path)
13
+
14
+ df = df.dropna(subset=['Risk Level'])
15
+
16
+ numerical_cols = ['Age', 'Systolic BP', 'Diastolic', 'BS', 'Body Temp', 'BMI', 'Heart Rate']
17
+ for col in numerical_cols:
18
+ if col in df.columns:
19
+ df[col] = df[col].fillna(df[col].median())
20
+
21
+ categorical_cols = ['Previous Complications', 'Preexisting Diabetes', 'Gestational Diabetes', 'Mental Health']
22
+ for col in categorical_cols:
23
+ if col in df.columns:
24
+ df[col] = df[col].fillna(df[col].mode()[0])
25
+
26
+ return df
27
+
28
+ def train_model(df):
29
+ feature_columns = ['Age', 'Systolic BP', 'Diastolic', 'BS', 'Body Temp', 'BMI',
30
+ 'Previous Complications', 'Preexisting Diabetes', 'Gestational Diabetes',
31
+ 'Mental Health', 'Heart Rate']
32
+
33
+ X = df[feature_columns]
34
+ y = df['Risk Level']
35
+
36
+ le = LabelEncoder()
37
+ y_encoded = le.fit_transform(y)
38
+
39
+ X_train, X_test, y_train, y_test = train_test_split(X, y_encoded, test_size=0.2, random_state=42, stratify=y_encoded)
40
+
41
+ rf_model = RandomForestClassifier(
42
+ n_estimators=100,
43
+ max_depth=10,
44
+ min_samples_split=5,
45
+ min_samples_leaf=2,
46
+ random_state=42
47
+ )
48
+
49
+ rf_model.fit(X_train, y_train)
50
+
51
+ y_pred = rf_model.predict(X_test)
52
+
53
+ accuracy = accuracy_score(y_test, y_pred)
54
+
55
+ print(f"Model Accuracy: {accuracy:.4f}")
56
+ print("\nClassification Report:")
57
+ print(classification_report(y_test, y_pred, target_names=le.classes_))
58
+
59
+ feature_importance = pd.DataFrame({
60
+ 'feature': feature_columns,
61
+ 'importance': rf_model.feature_importances_
62
+ }).sort_values('importance', ascending=False)
63
+
64
+ print("\nFeature Importance:")
65
+ print(feature_importance)
66
+
67
+ return rf_model, le, feature_columns
68
+
69
+ def predict_risk(model, label_encoder, feature_columns, patient_data):
70
+ patient_df = pd.DataFrame([patient_data], columns=feature_columns)
71
+
72
+ prediction = model.predict(patient_df)[0]
73
+ probability = model.predict_proba(patient_df)[0]
74
+
75
+ risk_level = label_encoder.inverse_transform([prediction])[0]
76
+
77
+ return risk_level, probability
78
+
79
+ def main():
80
+ print("Loading and preprocessing data...")
81
+ df = load_and_preprocess_data('/Users/karthik/Projects/hackathon15092025/data/Dataset - Updated.csv')
82
+
83
+ print(f"Dataset shape: {df.shape}")
84
+ print(f"Risk Level distribution:")
85
+ print(df['Risk Level'].value_counts())
86
+
87
+ print("\nTraining model...")
88
+ model, label_encoder, feature_columns = train_model(df)
89
+
90
+ joblib.dump(model, '/Users/karthik/Projects/hackathon15092025/models/pregnancy_risk_model.pkl')
91
+ joblib.dump(label_encoder, '/Users/karthik/Projects/hackathon15092025/models/label_encoder.pkl')
92
+ joblib.dump(feature_columns, '/Users/karthik/Projects/hackathon15092025/models/feature_columns.pkl')
93
+ print("\nModel saved successfully!")
94
+
95
+ print("\nModel training completed successfully!")
96
+ print("Use the predict_risk() function to make predictions for new patients.")
97
+
98
+ if __name__ == "__main__":
99
+ main()
config/requirements.txt ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ pandas==2.0.3
2
+ numpy==1.24.3
3
+ scikit-learn==1.3.0
4
+ streamlit==1.25.0
5
+ joblib==1.3.1
data/Dataset - Updated.csv ADDED
@@ -0,0 +1,1206 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Age,Systolic BP,Diastolic,BS,Body Temp,BMI,Previous Complications,Preexisting Diabetes,Gestational Diabetes,Mental Health,Heart Rate,Risk Level
2
+ 22,90,60,9,100,18,1,1,0,1,80,High
3
+ 22,110,70,7.1,98,20.4,0,0,0,0,74,Low
4
+ 27,110,70,7.5,98,23,1,0,0,0,72,Low
5
+ 20,100,70,7.2,98,21.2,0,0,0,0,74,Low
6
+ 20,90,60,7.5,98,19.7,0,0,0,0,74,Low
7
+ 22,120,70,7.01,98,24,0,0,0,0,76,Low
8
+ 20,110,70,9,102,17.6,0,1,0,0,78,High
9
+ 23,110,80,7,98,21.3,0,0,0,0,74,Low
10
+ 22,90,60,6.4,98,22,0,0,0,0,72,Low
11
+ 26,110,70,12,100,30.2,1,1,1,1,80,High
12
+ 25,100,60,7,98,24.5,0,1,0,0,74,Low
13
+ 22,120,70,9.9,101,30,1,0,1,0,84,High
14
+ 23,100,60,6.4,98,21,0,0,0,0,66,Low
15
+ 19,90,60,6,98,21.5,0,0,0,0,70,Low
16
+ 22,100,60,7.1,98,,0,0,0,0,74,Low
17
+ 23,90,60,7,98,21,1,0,0,0,72,Low
18
+ 18,100,70,7.5,98,18.6,0,1,0,0,74,Low
19
+ 20,110,80,7.1,98,19,0,0,0,0,74,Low
20
+ 24,110,60,6.5,98,21.2,0,0,0,0,70,Low
21
+ 21,110,70,6.6,98,20,0,1,0,1,74,Low
22
+ 44,140,100,14,98,25.3,0,1,0,1,88,High
23
+ 18,110,70,7,98,19,0,1,0,1,76,Low
24
+ 23,100,70,7.5,100,21,0,0,0,1,74,Low
25
+ 17,120,80,8,98,19,0,0,0,0,70,Low
26
+ 21,100,60,6.2,98,20.4,0,0,0,0,66,Low
27
+ 23,120,80,7.1,98,23.8,0,0,0,0,74,Low
28
+ 18,90,60,7.3,98,20.2,0,0,0,0,72,Low
29
+ 25,120,70,7,98,23.7,0,0,0,0,70,Low
30
+ 21,100,60,6.5,98,24.2,0,0,0,0,76,Low
31
+ 19,110,70,7,100,21,0,1,0,0,70,Low
32
+ 26,140,90,12,101,25,0,1,0,1,80,High
33
+ 18,100,70,7,100,18.6,0,0,0,0,76,Low
34
+ 28,90,60,6.9,98,24,0,0,0,0,68,Low
35
+ 20,110,70,7,98,19.3,0,0,0,0,76,Low
36
+ 25,90,60,7.9,98,21.2,0,0,0,0,72,Low
37
+ 17,110,80,6.7,98,18.8,0,0,0,0,78,Low
38
+ 26,90,60,7,98,23.4,0,1,0,0,74,Low
39
+ 24,110,70,7.1,100,22.8,1,0,0,0,78,Low
40
+ 19,130,80,8,98,18.5,0,0,0,0,70,Low
41
+ 28,150,100,9,98,30.1,0,0,1,0,88,High
42
+ 40,150,90,11,100,26.6,1,1,0,1,80,High
43
+ 23,90,60,7,98,23,0,0,0,0,70,Low
44
+ 18,130,80,6.6,98,18.5,0,0,0,0,74,Low
45
+ 17,100,70,6.1,98,18.5,0,0,0,0,78,Low
46
+ 37,110,70,7.5,98,23,0,0,0,0,68,Low
47
+ 29,120,80,7,98,23.2,0,0,0,0,76,Low
48
+ 26,160,100,6.9,98,22.9,0,0,0,1,72,Low
49
+ 19,150,100,7.2,98,22.5,0,0,0,1,77,Low
50
+ 22,140,90,7,98,21,0,1,0,1,70,Low
51
+ 18,120,80,6,98,19.4,0,0,0,1,76,Low
52
+ 21,110,70,7.9,98,21,0,0,0,1,72,Low
53
+ 34,100,60,14,98,30,1,0,1,1,74,High
54
+ 19,110,70,6.7,98,18.6,0,0,0,0,68,Low
55
+ 35,160,100,18,98,33,1,1,1,0,60,High
56
+ 36,130,90,13,98,26,1,1,0,1,90,High
57
+ 32,130,110,15,100,26.6,1,1,0,1,88,High
58
+ 25,140,90,11,98,25.2,1,1,0,1,78,High
59
+ 38,140,100,17,98,25.7,1,1,0,0,80,High
60
+ 48,140,96,19,98,27,0,1,0,0,86,High
61
+ 27,120,70,9,101,25.5,0,1,0,0,80,High
62
+ 25,90,60,6.9,98,23,0,0,0,0,70,Low
63
+ 21,90,60,6.1,98,20,0,0,0,1,72,Low
64
+ 19,100,70,6,98,18.9,0,0,0,0,76,Low
65
+ 20,100,60,6.6,98,19,0,0,0,0,74,Low
66
+ 28,100,70,7,98,23.1,0,0,0,0,70,Low
67
+ 29,120,80,7.7,98,24.4,0,0,0,0,76,Low
68
+ 19,130,90,9,100,17,0,0,1,0,88,High
69
+ 24,180,90,7.6,98,30,0,0,1,0,80,High
70
+ 30,140,100,9,98,30.3,1,0,1,1,84,High
71
+ 28,160,90,7.9,98,31,0,0,1,1,66,High
72
+ 39,140,100,14,98,25,1,1,0,1,78,High
73
+ 28,110,70,7,98,24,0,0,0,1,72,Low
74
+ 35,90,60,7.8,98,24.7,0,0,0,1,76,Low
75
+ 29,120,80,7.1,98,23,0,0,0,1,72,Low
76
+ 32,110,70,6.9,98,24.8,0,0,0,0,76,Low
77
+ 29,120,80,7.7,98,22,0,0,0,0,70,Low
78
+ 18,100,70,5.3,98,18.6,0,0,0,0,72,Low
79
+ 24,100,60,6.6,98,20.5,0,0,0,0,78,Low
80
+ 30,100,60,7.8,98,24,0,0,0,0,77,Low
81
+ 25,90,65,8,100,32,1,0,1,0,62,High
82
+ 30,130,90,11,98,25,1,1,0,1,82,High
83
+ 36,130,100,14,98,26.7,1,1,0,1,90,High
84
+ 18,100,70,5.7,101,17.6,0,0,1,1,88,High
85
+ 25,120,80,6.6,98,23,0,0,0,1,74,Low
86
+ 20,110,70,6.1,98,21,0,0,0,0,70,Low
87
+ 35,100,60,7.9,98,24,0,0,0,0,77,Low
88
+ 30,110,70,7.4,98,28,0,0,0,0,70,Low
89
+ 24,120,85,6.1,98,23.2,0,0,0,0,76,Low
90
+ 31,140,90,17,98,26.6,0,1,0,1,88,High
91
+ 18,120,80,5.2,98,18.5,0,0,0,0,74,Low
92
+ 20,110,70,5.5,98,19,0,0,0,0,72,Low
93
+ 18,110,65,5.3,98,24,0,0,0,0,70,Low
94
+ 28,120,80,6.3,98,24.9,0,0,0,0,76,Low
95
+ 25,110,70,6,98,24.2,0,0,0,0,70,Low
96
+ 39,140,90,18,98,27,1,1,0,0,86,High
97
+ 28,180,120,9,98,33,1,0,1,0,88,High
98
+ 20,160,90,7.8,100,30,0,1,1,1,90,High
99
+ 33,140,90,7.7,98,24,0,0,0,0,74,Low
100
+ 41,120,85,18,98,27,1,1,0,1,78,High
101
+ 25,140,100,11,98,30.1,0,0,1,1,90,High
102
+ 35,140,100,14,98,25.9,1,1,0,1,86,High
103
+ 33,150,100,12,98,27.2,0,1,0,1,80,High
104
+ 27,150,110,11,98,25,0,1,0,1,85,High
105
+ 22,130,90,7.7,97,30.3,0,1,1,1,82,High
106
+ 25,140,100,9,98,32.2,0,1,1,1,78,High
107
+ 23,140,90,8,98,17,0,1,1,1,76,High
108
+ 24,150,100,7.9,98,29.9,1,0,1,1,77,High
109
+ 29,150,100,13,98,25,1,1,0,0,82,High
110
+ 26,160,100,11,100,26.2,0,1,0,0,90,High
111
+ 19,150,100,7,98,18,0,0,1,0,62,High
112
+ 22,140,90,7.6,98,31.4,0,0,1,0,86,High
113
+ 25,160,100,11,98,25.8,1,1,0,0,88,High
114
+ 36,130,90,17,98,25.3,1,1,0,0,66,High
115
+ 24,130,110,10,101,32.4,0,0,1,0,78,High
116
+ 25,140,90,12,98,31.3,0,0,1,0,82,High
117
+ 20,140,100,7.9,98,29.9,0,0,1,0,88,High
118
+ 30,140,100,14,98,27.5,1,1,0,1,90,High
119
+ 30,140,100,11,98,26.7,1,1,0,1,92,High
120
+ 19,130,90,7.5,97,18.4,0,0,1,1,78,High
121
+ 24,180,90,9,98,18.2,0,1,0,1,77,High
122
+ 28,160,90,9,98,25.4,0,1,0,1,84,High
123
+ 39,140,100,18,98,28,1,1,0,1,74,High
124
+ 18,140,100,8,98,18.3,0,0,1,1,76,High
125
+ 30,140,100,11,97,25.9,0,1,0,1,77,High
126
+ 30,130,90,9,98,31.6,0,1,1,0,78,High
127
+ 39,130,100,19,98,27,1,1,0,0,80,High
128
+ 18,100,70,7,98,17.8,0,0,1,0,86,High
129
+ 25,140,90,9,98,30,0,0,1,0,79,High
130
+ 38,140,90,16,101,28,0,1,0,0,78,High
131
+ 24,180,120,9,100,29,0,1,0,0,76,High
132
+ 20,160,90,7.8,98,18,0,0,1,0,77,
133
+ 35,150,90,15,98,26.5,1,1,0,0,60,High
134
+ 33,160,100,13,98,25.7,1,1,0,0,70,High
135
+ 29,130,90,11,97,26.4,1,1,0,1,74,High
136
+ 35,140,100,15,98,25,1,1,0,0,79,High
137
+ 35,140,90,16,98,27,0,1,0,1,88,High
138
+ 30,150,90,12,98,26,0,1,0,0,79,High
139
+ 36,170,120,14,98,29,1,1,0,1,90,High
140
+ 28,160,120,11,100,27.4,0,1,0,0,92,
141
+ 29,110,70,10,98,33,1,0,1,1,80,High
142
+ 28,160,90,9,98,32.9,0,0,1,0,78,High
143
+ 22,180,140,7.7,98,17.8,1,0,1,1,87,High
144
+ 18,140,100,7,98,17,0,0,1,0,88,High
145
+ 33,150,100,11,100,,0,0,0,1,84,High
146
+ 20,140,90,7.5,98,29,0,0,0,0,80,High
147
+ 23,150,90,8,98,26,0,0,0,1,90,High
148
+ 22,160,120,7.9,98,28,0,0,0,0,79,High
149
+ 25,150,90,8,98,27,1,0,0,1,77,High
150
+ 30,150,100,11,101,25.7,1,1,0,0,64,High
151
+ 32,150,110,11,98,29.6,1,1,0,1,78,High
152
+ 22,130,90,8,98,30.5,0,0,1,1,82,High
153
+ 27,140,90,8.6,98,31,0,0,1,1,84,High
154
+ 25,140,100,8.4,98,30.3,0,0,1,1,86,High
155
+ 35,130,90,16,102,25,1,1,0,1,86,High
156
+ 23,180,130,7.8,98,29,1,0,1,1,88,High
157
+ 26,140,90,8.3,98,30,1,0,1,1,89,High
158
+ 24,120,90,8.1,98,32.9,0,0,1,1,77,High
159
+ 25,130,100,8.2,98,33,0,0,1,1,78,High
160
+ 25,130,80,8.7,100,25,1,0,0,1,80,High
161
+ 28,120,80,9,98,27,1,1,0,1,83,High
162
+ 25,130,90,8,98,30,1,0,1,1,84,High
163
+ 18,140,100,7,98,33,0,0,1,1,86,High
164
+ 23,140,95,7.7,98,31.4,0,0,1,1,88,High
165
+ 30,140,90,11,97,25,1,1,0,1,86,High
166
+ 36,140,90,17,98,25.2,1,1,0,1,88,High
167
+ 18,120,90,7.2,98,27,0,0,0,1,90,High
168
+ 21,140,90,7.4,98,28.4,0,0,0,1,78,High
169
+ 22,130,90,7.7,98,27,0,0,0,1,80,High
170
+ 28,140,80,8.9,99,35,1,0,1,1,86,High
171
+ 31,130,80,9,98,29.7,1,1,0,1,88,High
172
+ 20,130,80,7,98,27.5,0,0,0,1,82,High
173
+ 20,140,80,6.9,98,25,0,0,0,1,78,High
174
+ 30,130,90,11,98,28,1,1,0,1,77,High
175
+ 28,140,80,9,98,26,1,1,0,1,76,High
176
+ 27,130,100,8.8,98,30,1,0,1,1,60,High
177
+ 22,140,90,7,98,25,0,0,0,1,62,High
178
+ 33,140,80,13,98,26,1,1,0,1,90,High
179
+ 22,140,70,7,98,27,0,0,0,1,88,High
180
+ 27,130,90,10,101,28,0,1,0,1,87,High
181
+ 25,130,90,9.8,98,30.2,0,0,1,1,88,High
182
+ 25,130,100,7.8,98,30.6,0,0,1,1,86,High
183
+ 33,160,100,12,98,29.3,0,1,0,1,84,High
184
+ 32,200,100,11,98,28.5,0,1,0,1,80,High
185
+ 35,160,100,14,101,27.4,0,1,0,1,78,High
186
+ 25,130,90,7.7,98,30.3,1,0,1,1,79,High
187
+ 30,130,90,9.9,98,29.9,1,1,0,1,76,High
188
+ 28,140,90,8,98,25.7,0,1,0,1,80,High
189
+ 19,140,90,6.9,98,26.5,0,0,0,1,88,High
190
+ 25,140,100,7.9,97,25.6,0,0,0,1,88,High
191
+ 26,140,80,8,98,33.3,1,0,1,1,79,High
192
+ 22,140,90,7.1,98,25,0,0,0,1,80,High
193
+ 30,150,100,10,98,26,1,1,0,1,78,High
194
+ 33,130,80,12,98,27,0,1,0,1,77,High
195
+ 29,180,100,9.7,97,28,0,1,0,1,88,High
196
+ 24,160,100,7.8,98,29,0,1,0,1,90,High
197
+ 23,100,70,7.1,98,29.8,1,1,0,1,84,High
198
+ 34,110,80,14,98,28.4,0,1,0,1,88,High
199
+ 23,130,90,8,98,30.5,1,0,1,1,84,High
200
+ 38,120,100,17,101,26.9,0,1,0,1,62,High
201
+ 28,110,70,5.6,98,23.2,0,0,0,0,72,Low
202
+ 22,120,80,4.5,98,19,0,0,0,0,72,Low
203
+ 29,110,70,5.8,98,20,0,0,0,0,72,Low
204
+ 24,110,80,4.9,98,21,0,0,0,0,72,Low
205
+ 28,140,80,6.6,98,22,0,0,0,0,72,Low
206
+ 35,110,70,6.9,98,23,0,0,0,0,72,Low
207
+ 27,120,80,6,98,24,0,0,0,0,72,Low
208
+ 21,130,80,5.6,98,,0,0,0,0,72,Low
209
+ 30,140,90,6.8,98,23,0,0,0,0,72,Low
210
+ 23,110,70,3.9,98,22,0,1,0,0,72,
211
+ 26,100,70,4.7,98,21,0,0,0,0,72,Low
212
+ 32,110,70,6.6,98,20,0,0,0,0,72,Low
213
+ 29,100,60,6.9,98,21,0,0,0,0,72,Low
214
+ 21,100,70,3.6,98,22,0,0,0,0,72,Low
215
+ 23,110,70,4.1,98,23,0,0,0,0,72,Low
216
+ 28,100,70,5.3,98,22,0,0,0,0,72,Low
217
+ 30,110,60,6.9,98,21,0,0,0,0,72,Low
218
+ 33,100,60,7,98,20,0,0,0,0,72,Low
219
+ 34,100,70,7.01,98,20.4,0,0,0,0,72,Low
220
+ 21,100,60,3.9,98,21,0,0,0,0,72,
221
+ 31,110,70,7,98,,0,0,0,0,72,Low
222
+ 37,110,60,7.2,98,19,0,0,0,0,72,Low
223
+ 35,140,80,7,98,20,0,0,0,1,72,Low
224
+ 34,120,80,6.9,98,21,0,0,0,1,72,Low
225
+ 32,120,70,6.7,98,22,0,0,0,1,72,Low
226
+ 38,110,80,7,98,23,0,0,0,1,72,Low
227
+ 19,120,70,4.1,98,24,0,0,0,0,76,
228
+ 22,110,80,4.4,98,20,0,0,0,0,76,Low
229
+ 24,120,70,4.6,98,19,0,0,0,0,76,Low
230
+ 25,120,80,4.7,98,18.5,0,0,0,0,76,Low
231
+ 22,110,70,4.4,98,20,0,0,0,0,76,Low
232
+ 27,110,80,4.9,98,21,0,0,0,0,76,Low
233
+ 28,100,60,5.01,98,22,0,0,0,0,76,Low
234
+ 21,120,70,4.1,98,23,0,0,0,0,76,Low
235
+ 28,110,70,5.7,98,,0,0,0,0,76,Low
236
+ 26,100,60,6.02,98,24.1,0,0,0,0,76,Low
237
+ 25,120,60,5.9,98,24,0,0,0,0,76,Low
238
+ 24,100,70,6.4,98,22.4,0,0,0,0,76,Low
239
+ 21,110,70,5.3,98,23,0,0,0,0,76,Low
240
+ 27,100,70,6.7,98,20,0,0,0,0,76,Low
241
+ 33,100,60,6.9,98,22.8,0,0,0,0,76,Low
242
+ 31,100,60,6.6,99,19,0,0,0,0,76,Low
243
+ 35,100,70,7,98,20,0,0,0,0,76,Low
244
+ 36,100,65,7,98,21,0,0,0,0,76,Low
245
+ 32,120,70,6.8,98,23,0,0,0,0,76,Low
246
+ 33,110,80,6.7,98,21,0,0,0,0,76,Low
247
+ 34,120,80,6,98,24,0,0,0,0,76,Low
248
+ 30,130,70,6,98,19,0,0,0,0,76,Low
249
+ 32,120,90,6.3,98,19,0,0,0,0,76,Low
250
+ 31,115,80,6.5,98,19,0,0,0,0,76,Low
251
+ 20,120,80,4,98,20,0,0,0,0,76,Low
252
+ 22,110,70,4.3,98,20,0,0,0,0,76,Low
253
+ 25,130,100,4.8,98,20,0,0,0,0,76,Low
254
+ 29,90,60,5.5,98,20,0,0,0,0,76,Low
255
+ 27,100,70,6,98,20,0,0,0,0,76,Low
256
+ 21,100,60,4.2,98,21,0,0,0,0,76,Low
257
+ 18,110,60,3.9,98,21,0,0,0,0,76,Low
258
+ 17,140,80,3.6,98,21,0,0,0,0,76,Low
259
+ 33,120,60,6,98,21,0,0,0,1,76,Low
260
+ 36,110,60,6.8,98,21,0,0,0,1,76,Low
261
+ 35,140,70,6.7,98,22,0,0,0,1,74,Low
262
+ 34,130,100,6.6,98,22,0,0,0,1,74,Low
263
+ 30,110,70,6.3,98,22,0,0,0,1,74,Low
264
+ 41,120,90,7,98,22,0,0,0,0,74,Low
265
+ 23,110,80,4.4,98,22,0,0,0,0,74,Low
266
+ 23,110,60,4,98,23,0,0,0,0,74,Low
267
+ 24,110,70,5,98,23,0,0,0,0,74,Low
268
+ 23,130,80,5,98,23,0,0,0,0,74,Low
269
+ 26,110,60,5.01,98,23,0,0,0,0,74,Low
270
+ 22,120,70,4.8,98,23,0,0,0,0,74,Low
271
+ 23,120,80,4.3,98,24,0,0,0,0,74,Low
272
+ 21,100,60,3.6,98,24,0,0,0,0,74,Low
273
+ 21,120,70,3.4,98,24,0,0,0,0,74,Low
274
+ 24,120,80,4.03,98,24,0,0,0,0,74,Low
275
+ 29,100,60,5.9,98,24,0,0,0,0,74,Low
276
+ 26,120,70,6,98,23.1,0,0,0,0,74,Low
277
+ 25,120,80,5.6,98,23.5,0,0,0,0,74,Low
278
+ 28,110,70,6.04,98,22.1,0,0,0,0,74,Low
279
+ 29,100,60,7,98,24.3,0,1,0,1,74,Low
280
+ 30,140,100,6.9,97,22.4,0,0,0,0,74,Low
281
+ 32,130,80,6.7,98,24.5,0,0,0,0,74,Low
282
+ 28,110,80,6.4,98,24.4,0,0,0,0,74,Low
283
+ 27,110,60,6.3,98,24.3,0,0,0,0,74,Low
284
+ 30,140,110,6.7,98,24.1,0,0,0,0,74,Low
285
+ 26,100,70,6.2,98,24,0,0,0,0,74,Low
286
+ 22,120,85,4.1,98,23.9,0,0,0,0,74,Low
287
+ 27,110,70,6.5,98,21.2,0,0,0,0,74,Low
288
+ 20,110,80,5,98,24.9,0,1,0,0,74,Low
289
+ 25,120,90,5.7,98,19,0,0,0,0,74,Low
290
+ 18,100,80,3.7,98,19,0,0,0,0,74,Low
291
+ 22,110,70,3.6,98,19,0,0,0,0,74,Low
292
+ 19,110,80,3.5,98,19,0,0,0,0,74,Low
293
+ 25,120,70,4.7,98,21.1,0,0,0,0,74,Low
294
+ 28,110,70,6,98,21.2,0,0,0,0,74,Low
295
+ 29,120,60,7,98,21.3,0,0,0,0,74,Low
296
+ 18,120,70,4,98,21.5,0,0,0,0,74,Low
297
+ 17,120,80,4,98,21.6,0,0,0,0,74,Low
298
+ 37,110,70,7,98,22.2,0,0,0,0,74,Low
299
+ 28,100,65,6.7,98,25.2,0,0,0,0,74,Low
300
+ 26,120,90,7,98,26.3,0,0,0,0,74,Low
301
+ 19,110,80,3,98,19.7,0,0,0,0,74,Low
302
+ 22,100,60,4,98,24.9,0,0,0,0,74,Low
303
+ 18,110,60,5,98,24.9,0,0,0,0,74,Low
304
+ 21,100,60,3.8,98,24.9,0,0,0,0,74,Low
305
+ 34,130,90,6.6,98,24.9,0,1,0,0,74,Low
306
+ 19,100,79,3.3,98,21.2,0,1,0,0,74,Low
307
+ 25,130,90,5.5,98,21.2,0,0,0,0,74,Low
308
+ 36,100,70,6.9,98,21.2,0,0,0,0,77,Low
309
+ 28,120,80,6,98,21.2,0,0,0,0,77,Low
310
+ 25,120,90,5,98,19,0,0,0,0,77,Low
311
+ 36,100,70,7,98,20,0,0,0,0,77,Low
312
+ 28,120,80,6.6,98,21,0,0,0,0,77,Low
313
+ 26,130,70,6.7,98,22,0,0,0,0,77,Low
314
+ 20,100,70,4.7,98,23,0,0,0,0,77,Low
315
+ 21,110,80,3.5,98,24,0,0,0,0,77,Low
316
+ 20,120,60,3,98,23,0,0,0,0,70,Low
317
+ 28,120,80,6,98,22,0,0,0,0,70,Low
318
+ 29,140,100,7,98,21,0,0,0,0,70,Low
319
+ 30,130,90,7,98,20,0,0,0,0,70,Low
320
+ 19,120,60,4,98,19,0,0,0,0,70,Low
321
+ 24,100,60,4.4,98,20,0,0,0,0,70,Low
322
+ 28,140,110,4.9,98,21,0,0,0,0,70,Low
323
+ 39,110,70,7,98,22,0,0,0,0,70,Low
324
+ 28,100,60,6.9,98,23,0,0,0,0,70,Low
325
+ 24,110,60,4.1,98,24,0,0,0,0,70,Low
326
+ 25,80,60,4.5,98,23,0,0,0,0,70,Low
327
+ 29,120,80,6.8,98,22,0,0,0,0,70,Low
328
+ 19,120,90,3.8,98,21,0,0,0,0,70,Low
329
+ 18,120,70,3.5,98,20,0,0,0,0,70,Low
330
+ 24,130,70,4.2,98,19,0,0,0,0,70,Low
331
+ 30,140,110,6.8,98,18.5,0,0,0,0,70,Low
332
+ 18,100,60,3,98,18.9,0,0,0,0,70,Low
333
+ 30,115,85,7,98,18.7,0,0,0,0,70,Low
334
+ 36,100,70,7,98,18.8,0,0,0,0,70,Low
335
+ 18,110,70,4,98,24.5,0,0,0,0,70,Low
336
+ 25,105,75,5,98,23,0,0,0,0,70,Low
337
+ 31,110,80,6,98,22.5,0,0,0,0,72,Low
338
+ 25,120,80,4.9,98,21,0,0,0,0,72,
339
+ 25,120,70,5.9,98,20,0,0,0,0,72,
340
+ 39,130,80,7,98,19,0,0,0,0,72,Low
341
+ 28,90,60,6.7,98,18.7,0,0,0,0,72,Low
342
+ 20,120,70,3.6,100,20,0,0,0,0,72,Low
343
+ 33,130,80,5.8,98,21,0,0,0,0,72,Low
344
+ 29,90,60,6.8,98,22,0,0,0,0,72,Low
345
+ 30,120,70,7,98,23,0,0,0,0,72,Low
346
+ 20,130,60,4,98,24,0,0,0,0,72,Low
347
+ 23,100,60,5,98,23,0,0,0,0,72,Low
348
+ 19,120,60,3.5,98,22,0,0,0,0,77,Low
349
+ 31,100,70,6.9,98,21,0,0,0,0,77,Low
350
+ 25,125,80,5.5,98,20,0,0,0,0,77,Low
351
+ 37,100,70,7,98,19,0,0,0,0,77,Low
352
+ 21,110,80,3.3,98,20,0,0,0,0,77,Low
353
+ 20,120,70,3.5,98,21,0,0,0,0,77,Low
354
+ 32,100,60,6.6,98,22,0,0,0,0,77,Low
355
+ 26,110,65,6.1,98,23,0,0,0,0,72,Low
356
+ 28,120,85,6.5,98,24,0,0,0,0,72,Low
357
+ 35,115,75,7,98,24.1,0,0,0,0,72,Low
358
+ 28,125,85,5,98,19.6,0,0,0,0,72,Low
359
+ 18,130,75,3.01,98,19,0,0,0,0,72,Low
360
+ 36,110,85,6,98,20,0,0,0,0,72,Low
361
+ 33,125,75,5.7,98,21,0,0,0,0,72,Low
362
+ 31,120,70,6.9,98,22,0,0,0,0,72,Low
363
+ 29,135,80,6.5,98,23,0,0,0,0,72,Low
364
+ 20,120,75,5,98,24,0,0,0,0,72,Low
365
+ 30,135,75,6,98,22,0,0,0,0,72,Low
366
+ 25,,,5.3,98,19,0,1,0,0,72,Low
367
+ 32,100,60,6.7,98,20,0,0,0,0,72,Low
368
+ 25,120,70,5.9,98,21,0,0,0,0,72,Low
369
+ 22,120,80,4.1,98,22,0,0,0,0,72,Low
370
+ 18,120,90,3.9,98,23,0,0,0,0,72,Low
371
+ 29,140,80,6.4,98,24,0,0,0,0,72,Low
372
+ 28,120,60,6,98,23,0,0,0,0,72,Low
373
+ 22,130,60,4,98,22,0,0,0,0,72,Low
374
+ 18,130,70,3.7,98,21,0,0,0,0,72,Low
375
+ 29,125,65,6.7,98,20,0,0,0,0,72,Low
376
+ 28,120,80,6.1,98,19,0,0,0,0,72,Low
377
+ 22,100,70,4,98,18.5,0,0,0,0,72,Low
378
+ 18,90,70,3,98,18.6,0,0,0,0,72,Low
379
+ 28,100,80,6,98,18.7,0,0,0,0,72,Low
380
+ 19,115,85,3.4,98,19,0,0,0,0,72,Low
381
+ 19,120,60,4.01,98,20,0,1,0,0,72,Low
382
+ 28,,,4.6,98,21,0,0,0,0,72,Low
383
+ 21,130,90,3.9,98,22,0,0,0,0,72,Low
384
+ 23,110,80,3.5,98,23,0,0,0,0,72,Low
385
+ 25,100,60,4,98,24,0,0,0,0,72,Low
386
+ 24,110,60,3.6,99,23,0,0,0,0,72,Low
387
+ 32,115,70,6.7,98,22,0,0,0,0,72,Low
388
+ 20,140,110,4.2,98,20,0,0,0,0,72,Low
389
+ 17,100,70,3.5,98,21,0,0,0,0,72,Low
390
+ 24,110,80,5,98,18.5,0,0,0,0,74,Low
391
+ 33,120,70,6,98,19,0,0,0,0,74,Low
392
+ 26,120,70,4,98,20,0,0,0,1,74,Low
393
+ 28,140,100,6.7,98,21,0,0,0,1,74,Low
394
+ 19,100,70,3.9,98,22,0,0,0,1,74,Low
395
+ 32,125,75,6.9,98,23,0,0,0,1,74,Low
396
+ 24,90,70,4.5,98,24,0,0,0,1,74,Low
397
+ 26,120,80,4.8,98,23,0,0,0,1,74,Low
398
+ 23,120,70,4.9,98,22,0,0,0,1,74,Low
399
+ 21,130,80,3.4,98,21,0,0,0,1,74,Low
400
+ 20,130,70,3.6,98,20,0,0,0,0,74,Low
401
+ 40,100,60,7,98,19,0,0,0,0,74,Low
402
+ 39,90,60,7,98,20,0,0,0,0,74,Low
403
+ 37,120,70,6.9,98,21,0,0,0,0,74,Low
404
+ 31,100,70,6.6,98,24,0,0,0,0,74,Low
405
+ 27,120,60,5.9,98,23,0,0,0,0,74,Low
406
+ 23,110,90,4.8,98,22,0,0,0,0,74,Low
407
+ 22,130,95,4.4,98,24.4,0,0,0,0,74,Low
408
+ 27,140,90,5.7,98,22,0,0,0,0,74,Low
409
+ 19,130,100,4.1,98,23,0,0,0,0,74,Low
410
+ 20,110,80,4,98,24,0,0,0,0,74,Low
411
+ 33,,100,6.7,98,21,0,0,0,0,74,Low
412
+ 32,135,95,7,98,20,0,0,0,0,74,Low
413
+ 23,130,65,5,98,19,0,0,0,0,74,Low
414
+ 26,110,70,5.5,98,18.5,0,0,0,0,74,Low
415
+ 25,120,80,5,98,18.9,0,0,0,0,74,Low
416
+ 20,110,60,4,98,19,0,0,0,0,70,Low
417
+ 21,110,70,4.01,98,20,0,0,0,0,70,Low
418
+ 21,100,60,3.9,98,21,0,0,0,0,70,Low
419
+ 23,110,70,4.4,98,22,0,0,0,0,70,Low
420
+ 30,110,60,5.9,97,23,0,0,0,0,70,Low
421
+ 21,110,60,4,98,24,0,0,0,0,70,Low
422
+ 28,110,70,6.7,98,23,0,0,0,0,70,Low
423
+ 24,120,80,5.5,98,22,0,0,0,0,70,Low
424
+ 20,110,80,4,98,21,0,0,0,0,70,Low
425
+ 25,100,70,5.5,98,20,0,0,0,0,70,Low
426
+ 24,100,60,5.2,98,19,0,0,0,0,70,Low
427
+ 30,120,80,6,98,19,0,0,0,0,70,Low
428
+ 28,110,80,5.7,98,19,0,0,0,0,70,Low
429
+ 24,110,60,4.8,98,19,0,0,0,0,70,Low
430
+ 20,130,80,3.6,98,19,0,0,0,0,70,Low
431
+ 31,130,80,6.7,98,19,0,0,0,0,74,Low
432
+ 28,140,80,7,98,20,0,0,0,0,74,Low
433
+ 22,130,90,4,98,20,0,0,0,0,74,Low
434
+ 21,120,90,3.9,98,20,0,0,0,0,74,Low
435
+ 18,120,90,3.3,98,20,0,0,0,0,74,Low
436
+ 30,140,90,6.6,98,20,0,0,0,0,74,Low
437
+ 30,140,95,7,98,20,0,0,0,0,74,Low
438
+ 18,140,100,3.7,98,21,0,0,0,0,74,Low
439
+ 19,110,70,3.6,98,21,0,0,0,0,74,Low
440
+ 22,90,60,4.01,98,21,0,0,0,0,74,Low
441
+ 21,110,60,4,98,21,0,0,0,0,74,Low
442
+ 25,100,60,5,98,21,0,0,0,0,74,Low
443
+ 32,120,70,6,98,21,0,0,0,0,74,Low
444
+ 28,110,60,6.1,98,21,0,0,0,0,74,Low
445
+ 24,110,70,5.3,98,22,0,0,0,0,74,Low
446
+ 23,130,70,5.2,98,22,0,0,0,0,74,Low
447
+ 29,85,65,6,98,22,0,1,0,0,72,Low
448
+ 21,95,65,4.9,98,22,0,0,0,0,72,Low
449
+ 34,110,70,7,98,22,0,1,0,0,72,Low
450
+ 30,140,100,6.9,98,22,0,0,0,0,72,Low
451
+ 17,110,60,3.4,98,23,0,0,0,0,72,Low
452
+ 30,100,60,6,98,23,0,0,0,0,72,Low
453
+ 27,120,60,5.6,98,23,0,0,0,0,72,Low
454
+ 20,120,70,4,98,23,0,0,0,0,72,Low
455
+ 23,120,70,4.4,99,23,0,0,0,0,72,Low
456
+ 18,110,70,3.7,98,23,0,0,0,0,72,Low
457
+ 30,105,65,7,98,23,0,0,0,0,72,Low
458
+ 25,115,75,5.9,98,24,0,0,0,0,72,Low
459
+ 20,110,60,4,98,24,0,0,0,0,72,Low
460
+ 25,130,80,4.4,98,24,0,0,0,0,72,Low
461
+ 30,140,90,6,98,24,0,0,0,0,72,Low
462
+ 25,140,90,5.5,98,24,0,0,0,0,72,Low
463
+ 29,140,90,6.9,98,24,0,0,0,0,72,Low
464
+ 25,140,100,5.7,98,18.5,0,0,0,0,72,Low
465
+ 27,130,100,5.6,98,18.5,0,0,0,0,72,Low
466
+ 23,120,85,4.9,98,18.5,0,0,0,0,72,Low
467
+ 22,160,120,4.1,98,18.5,0,0,0,0,72,Low
468
+ 19,100,60,3.9,98,18.5,0,0,0,0,72,Low
469
+ 24,110,70,4.3,98,18.5,0,0,0,0,70,Low
470
+ 28,120,80,5.7,98,22.9,0,0,0,0,70,Low
471
+ 36,120,80,7,98,22.9,0,0,0,0,70,Low
472
+ 33,130,75,6.8,98,22.9,0,0,0,0,70,Low
473
+ 28,110,70,5.07,98,22.9,0,0,0,0,70,Low
474
+ 36,140,90,6.09,97,22.9,0,0,0,0,70,Low
475
+ 28,130,80,6.6,98,22.9,0,0,0,0,70,Low
476
+ 26,125,75,6,98,21.3,0,0,0,0,70,Low
477
+ 30,115,75,7,98,21.3,0,0,0,0,70,Low
478
+ 18,120,80,3,98,21.3,0,0,0,0,70,Low
479
+ 29,110,70,6,98,21.3,0,0,0,0,70,Low
480
+ 21,90,60,5,98,21.3,0,0,0,0,70,Low
481
+ 325,100,65,6.1,98,21.3,0,0,0,0,66,Low
482
+ 35,100,70,6.1,98,24.7,0,0,0,0,66,Low
483
+ 22,120,85,6.1,98,24.7,0,0,0,0,88,Low
484
+ 23,120,90,6.1,98,24.7,0,0,0,0,60,Low
485
+ 25,90,70,6.1,98,24.7,0,0,0,0,80,Low
486
+ 30,120,80,6.1,98,24.7,0,0,0,0,70,Low
487
+ 23,120,90,6.1,98,23.9,0,0,0,0,70,Low
488
+ 32,120,90,7.5,98,23.9,0,0,0,0,70,Low
489
+ 42,120,80,7.5,98,23.9,0,0,0,0,70,Low
490
+ 23,90,60,7.5,98,23.9,0,0,0,0,76,Low
491
+ 15,76,49,7.5,98,23.9,0,0,0,0,77,Low
492
+ 15,120,80,7,98,21.6,0,0,0,0,70,Low
493
+ 25,120,80,7,98,21.6,0,0,0,0,66,Low
494
+ 22,100,65,7,98,21.6,0,0,0,0,80,Low
495
+ 35,100,70,7,98,21.6,0,0,0,0,60,Low
496
+ 19,120,85,7,98,21.6,0,0,0,0,60,Low
497
+ 25,120,80,6.8,98,21.6,0,0,0,0,66,Low
498
+ 48,140,90,15,98,21.6,0,0,0,0,90,Low
499
+ 25,140,100,6.8,98,21.6,0,0,0,0,80,Low
500
+ 19,120,60,5.01,98,19.2,0,0,0,0,74,Low
501
+ 23,140,90,9.8,98,30,0,0,1,1,80,High
502
+ 34,85,60,11,102,25,1,1,0,1,86,High
503
+ 50,140,90,15,98,29,1,1,0,1,90,High
504
+ 25,140,100,6.8,98,18,0,0,0,1,80,High
505
+ 42,140,100,18,98,26,1,1,0,1,90,High
506
+ 32,140,100,7.9,98,25,1,0,0,1,78,High
507
+ 50,140,95,17,98,28,0,1,0,1,60,High
508
+ 38,135,60,7.9,101,30.7,0,0,1,1,86,High
509
+ 39,90,70,9,98,29.9,0,1,0,1,80,High
510
+ 30,140,100,15,98,25.1,1,1,0,1,70,High
511
+ 63,140,90,15,98,26.9,0,1,0,1,90,High
512
+ 25,140,100,7.9,98,27.3,1,0,0,1,80,High
513
+ 30,120,80,7.9,101,30,0,0,1,0,76,High
514
+ 55,140,100,18,98,26,0,1,0,0,90,High
515
+ 32,140,100,7.9,98,31,0,0,1,0,78,High
516
+ 30,140,100,15,98,29,0,1,0,0,70,High
517
+ 48,120,80,11,98,28,0,1,0,0,88,High
518
+ 49,140,90,15,98,27,0,1,0,0,90,High
519
+ 25,140,100,7.5,98,26,0,0,0,0,80,High
520
+ 55,129,85,7.5,98,25,0,0,0,0,88,Low
521
+ 25,100,90,7.5,98,26,0,0,0,0,76,Low
522
+ 35,120,80,7.5,98,27,0,0,0,0,80,Low
523
+ 21,90,65,7.5,98,28,0,0,0,0,76,Low
524
+ 18,90,60,7.5,98,29,0,0,0,0,70,Low
525
+ 21,120,80,7.5,98,28,0,0,0,0,76,Low
526
+ 16,100,70,7.2,98,27,0,0,0,0,80,Low
527
+ 19,120,75,7.2,98,26,0,0,0,0,66,Low
528
+ 28,115,60,7.8,101,25,0,0,0,0,86,Low
529
+ 50,120,80,7.8,98,25.6,0,0,0,0,70,Low
530
+ 19,90,70,7.8,98,25.7,0,1,0,0,80,Low
531
+ 30,120,80,7.8,98,25.8,0,0,0,0,70,Low
532
+ 31,120,60,6.1,98,26,0,0,0,0,76,Low
533
+ 23,120,70,7.8,98,25,0,0,0,0,70,Low
534
+ 29,130,70,7.8,98,27,0,0,0,0,78,Low
535
+ 32,120,90,7.8,98,25,0,0,0,0,70,Low
536
+ 42,120,80,7.8,98,28,0,0,0,0,70,Low
537
+ 23,90,60,7.8,98,29,0,1,0,0,76,Low
538
+ 19,120,80,7,98,28,0,0,0,0,70,Low
539
+ 15,76,49,7.8,98,18,0,0,0,0,77,Low
540
+ 20,120,75,7.8,98,18,0,0,0,0,70,Low
541
+ 48,120,80,11,98,17,1,1,0,1,88,High
542
+ 15,120,80,7.8,98,18,0,0,0,0,70,Low
543
+ 25,120,80,7.8,98,18.4,0,0,0,0,66,Low
544
+ 22,100,65,7.8,98,24.7,0,0,0,0,80,Low
545
+ 12,120,95,7.8,98,25,0,0,0,0,68,Low
546
+ 35,100,70,7.8,98,26,0,0,0,0,70,Low
547
+ 19,120,85,7.8,102,18,0,0,1,1,60,High
548
+ 60,90,65,6.8,98,29,0,0,0,0,77,Low
549
+ 23,115,75,4.8,98,25,0,0,0,0,72,Low
550
+ 33,130,90,6,97,20,0,0,0,0,74,Low
551
+ 22,100,65,4.8,98,21,0,0,0,0,88,Low
552
+ 32,120,95,6.8,98,22,0,0,0,0,68,Low
553
+ 35,100,70,6.8,98,23,0,0,0,0,66,Low
554
+ 19,120,90,6.8,98,24,0,0,0,0,72,Low
555
+ 60,90,65,6.8,98,19,0,1,0,0,77,Low
556
+ 55,120,90,6.8,98,18.6,0,0,0,0,78,Low
557
+ 50,130,100,16,102,30,1,1,0,0,86,High
558
+ 27,120,90,6.8,98,24,0,0,0,0,68,Low
559
+ 60,140,90,12,98,34,0,1,1,0,87,High
560
+ 55,100,70,6.8,98,24.5,0,0,0,0,76,Low
561
+ 60,140,80,16,98,26,0,1,0,1,60,High
562
+ 19,120,90,5,102,17,0,0,0,1,90,High
563
+ 17,140,100,6.8,103,16,0,0,0,1,86,High
564
+ 60,120,80,6.8,98,24.9,0,0,0,1,77,Low
565
+ 22,100,65,6.8,98,22,0,0,0,1,80,Low
566
+ 36,140,100,13,102,26,1,1,0,1,86,High
567
+ 22,90,60,6.8,98,22,0,0,0,0,77,Low
568
+ 25,120,100,6.8,98,24,0,0,0,0,66,Low
569
+ 35,100,60,15,98,26,1,1,0,0,80,High
570
+ 40,140,100,13,101,26.8,1,1,0,1,66,High
571
+ 27,120,70,6.8,98,22,0,0,0,0,77,Low
572
+ 36,140,100,6.8,98,23,0,0,0,0,76,Low
573
+ 22,90,60,6.8,98,24,0,0,0,0,77,Low
574
+ 25,120,100,6.8,98,21,0,0,0,0,66,Low
575
+ 35,100,60,15,98,27.6,1,1,0,1,80,High
576
+ 40,140,100,13,101,28.7,1,1,0,1,66,High
577
+ 27,120,70,6.8,98,24,0,0,0,0,77,Low
578
+ 27,120,70,6.8,98,23,0,0,0,0,77,Low
579
+ 65,130,80,15,98,29,0,1,0,0,86,High
580
+ 35,140,80,13,98,31,0,0,1,0,80,High
581
+ 29,90,70,10,98,31.5,1,0,1,0,80,High
582
+ 30,120,80,6.8,98,20,0,0,0,0,70,Low
583
+ 35,120,60,6.1,98,21,0,0,0,0,76,Low
584
+ 23,140,90,6.8,98,22,0,0,0,0,70,Low
585
+ 23,130,70,6.8,98,23,0,0,0,0,78,Low
586
+ 35,85,60,11,102,26,0,1,0,0,86,High
587
+ 32,120,90,6.8,98,22,0,0,0,0,70,Low
588
+ 43,130,80,18,98,28,1,1,0,0,60,High
589
+ 23,99,60,6.8,98,20,0,0,0,0,76,Low
590
+ 19,120,80,5,98,21,0,0,0,0,70,Low
591
+ 15,76,49,4.9,98,22,0,0,0,0,77,Low
592
+ 30,120,75,6.8,98,23,0,0,0,0,70,Low
593
+ 48,120,80,11,98,29,1,1,0,1,,High
594
+ 15,120,80,6.8,98,23,0,0,0,0,70,Low
595
+ 48,140,90,15,98,,0,1,0,1,90,High
596
+ 25,140,100,6.8,98,26,0,0,1,1,80,High
597
+ 29,100,70,6.8,98,20,0,0,0,0,80,Low
598
+ 32,120,80,6.8,98,21,0,0,0,0,70,Low
599
+ 35,120,60,6.1,98,22,0,0,0,0,76,Low
600
+ 23,140,90,6.8,98,23,0,0,0,0,70,Low
601
+ 23,130,70,6.8,98,24,0,0,0,0,78,Low
602
+ 34,85,60,11,102,26.6,1,1,0,0,86,High
603
+ 32,120,90,6.8,98,21,0,0,0,0,70,Low
604
+ 42,130,80,18,98,29,0,1,0,1,78,High
605
+ 23,90,60,6.8,98,19,0,0,0,1,76,Low
606
+ 19,120,80,4,98,20,0,0,0,0,70,Low
607
+ 15,76,49,3.6,98,21,0,0,0,0,77,Low
608
+ 20,120,75,6.8,98,22,0,0,0,0,70,Low
609
+ 48,120,80,11,98,23,0,0,0,0,78,Low
610
+ 15,120,80,6.8,98,24,0,0,0,0,70,Low
611
+ 50,140,90,15,98,28.9,1,1,0,1,90,High
612
+ 23,120,60,4.1,98,20.9,0,0,0,0,72,Low
613
+ 48,120,80,11,98,29.9,1,1,0,1,88,High
614
+ 30,120,80,6.9,98,20,0,0,0,0,76,Low
615
+ 18,120,80,6.9,98,21,0,0,0,0,76,Low
616
+ 17,90,60,6.9,98,22,0,0,0,0,76,Low
617
+ 17,90,63,6.9,98,23,0,0,0,0,70,Low
618
+ 25,120,90,6.7,98,24,0,0,0,0,70,Low
619
+ 17,120,80,6.7,98,23,0,0,0,0,76,Low
620
+ 13,90,65,7.9,98,22,0,0,0,0,80,Low
621
+ 31,120,60,6.1,98,21,0,0,0,0,76,Low
622
+ 29,130,70,6.1,98,20,0,0,0,0,78,Low
623
+ 19,120,80,7,98,19,0,0,0,0,70,Low
624
+ 28,85,60,6,97,20,0,0,0,0,86,Low
625
+ 50,140,80,6.7,98,21,0,0,0,0,70,Low
626
+ 29,90,70,6.7,98,22,0,0,0,0,80,Low
627
+ 31,120,60,6.1,98,23,0,0,0,0,76,Low
628
+ 29,130,70,6.7,98,24,0,0,0,0,78,Low
629
+ 17,85,60,4,102,22,0,1,0,0,76,Low
630
+ 19,120,80,7,98,23,0,0,0,0,70,Low
631
+ 20,110,60,7,100,21,0,0,0,0,70,Low
632
+ 19,120,80,7,98,20,0,0,0,0,70,Low
633
+ 20,120,75,7.01,100,19,0,0,0,0,70,Low
634
+ 48,120,80,11,98,27.9,1,1,0,0,88,High
635
+ 30,120,80,6.9,98,20,0,0,0,0,76,Low
636
+ 18,120,80,6.9,98,21,0,0,0,0,76,Low
637
+ 17,90,60,6.9,98,22,0,0,0,0,76,Low
638
+ 17,90,63,6.9,98,23,0,0,0,0,70,Low
639
+ 25,120,90,6.7,98,24,0,0,0,0,80,Low
640
+ 17,120,80,6.7,102,21,0,0,0,0,76,Low
641
+ 13,90,65,7.9,101,22,0,0,0,0,80,Low
642
+ 31,120,60,6.1,98,19,0,0,0,0,76,Low
643
+ 29,130,70,6.1,98,18,0,0,0,0,78,Low
644
+ 19,120,80,7,98,20,0,0,0,0,70,Low
645
+ 28,85,60,9,101,27,1,1,0,1,86,High
646
+ 50,140,80,6.7,98,24,0,0,0,0,70,Low
647
+ 29,90,70,6.7,98,23,0,0,0,0,80,Low
648
+ 31,120,60,6.1,98,,0,0,0,0,76,Low
649
+ 29,130,70,6.7,98,18.6,0,0,0,0,78,Low
650
+ 17,85,60,9,102,17.3,0,0,1,1,86,High
651
+ 19,120,80,7,98,24.4,0,0,0,0,70,Low
652
+ 20,110,60,7,100,23.3,0,0,0,0,70,Low
653
+ 32,120,65,6,101,22.3,0,0,0,0,76,Low
654
+ 26,85,60,6,101,21.5,0,0,0,0,70,Low
655
+ 29,130,70,7.7,98,19,0,0,0,0,78,Low
656
+ 19,120,80,7,98,20.4,0,0,0,0,70,Low
657
+ 54,130,70,12,98,19.6,0,0,0,0,67,Low
658
+ 44,120,90,16,98,28.9,1,1,0,1,89,High
659
+ 23,130,70,6.9,98,19,0,0,0,0,70,Low
660
+ 22,85,60,6.9,98,20,0,0,0,0,76,Low
661
+ 55,120,90,7,98,21,0,0,0,0,70,Low
662
+ 35,120,80,6.9,98,22,0,0,0,0,78,Low
663
+ 21,90,60,6.9,98,23,0,0,0,0,86,Low
664
+ 16,90,65,6.9,98,24,0,0,0,0,76,Low
665
+ 33,115,65,7,98,23,0,0,0,0,70,Low
666
+ 12,95,60,6.9,98,22,0,0,0,0,65,Low
667
+ 28,120,90,6.9,98,21,0,0,0,0,70,Low
668
+ 21,90,65,6.9,98,20,0,0,0,0,76,Low
669
+ 18,90,60,6.9,98,19,0,0,0,0,70,Low
670
+ 21,120,80,6.9,98,18.5,0,0,0,0,76,Low
671
+ 16,100,70,6.9,98,18.6,0,0,0,0,80,Low
672
+ 19,120,75,6.9,98,18.9,0,0,0,0,66,Low
673
+ 23,100,85,6.9,98,19,0,0,0,0,66,Low
674
+ 22,120,90,7.8,98,24,0,0,0,0,82,Low
675
+ 60,120,85,15,98,29.6,1,1,0,1,60,High
676
+ 13,90,65,6.8,101,19.4,0,0,0,1,80,Low
677
+ 23,120,90,6.8,98,19.4,0,0,0,1,60,Low
678
+ 28,115,60,6.8,101,19.4,0,0,0,1,76,Low
679
+ 50,120,80,6.8,98,24.5,0,0,0,0,70,Low
680
+ 29,130,70,6.8,98,20,0,0,0,0,78,Low
681
+ 19,120,80,7,98,21,0,0,0,0,70,Low
682
+ 19,120,85,7.8,98,22,0,0,0,0,60,Low
683
+ 60,90,65,6.8,98,23,0,0,0,0,77,Low
684
+ 55,120,90,6.8,98,24,0,0,0,0,66,Low
685
+ 25,120,80,6.8,98,21,0,0,0,0,66,Low
686
+ 12,120,95,6.8,98,23,0,0,0,0,60,Low
687
+ 35,100,70,6.8,98,,0,0,0,0,60,
688
+ 19,120,90,6.8,98,18.5,0,0,0,0,60,Low
689
+ 60,90,65,6.8,98,24,0,0,0,0,77,Low
690
+ 50,130,80,16,102,27.7,0,1,0,1,88,High
691
+ 27,120,90,6.8,102,24.4,0,0,0,0,68,Low
692
+ 55,100,70,6.8,101,24.4,0,0,0,0,80,Low
693
+ 12,120,90,6.8,98,24.4,0,0,0,0,80,Low
694
+ 60,120,80,6.8,98,24.4,0,0,0,0,77,Low
695
+ 25,120,100,6.8,98,24.4,0,0,0,0,60,Low
696
+ 22,90,60,6.8,98,24.4,0,0,0,0,77,Low
697
+ 30,120,80,6.8,98,24.4,0,0,0,0,70,Low
698
+ 35,120,60,6.1,98,24.4,0,0,0,0,76,Low
699
+ 23,130,70,6.8,98,24.4,0,0,0,0,78,Low
700
+ 43,130,80,18,98,25.9,1,1,0,1,60,High
701
+ 19,120,80,7,98,20,0,0,0,0,70,Low
702
+ 30,120,75,6.8,98,23,0,0,0,0,70,Low
703
+ 32,120,80,6.8,98,21,0,0,0,0,70,Low
704
+ 23,130,70,6.8,98,24,0,0,0,0,78,Low
705
+ 42,130,80,18,98,26.8,0,1,0,0,88,High
706
+ 19,120,80,7,98,20,0,0,0,0,70,Low
707
+ 31,110,90,6.8,100,21,0,0,0,0,70,Low
708
+ 19,120,80,7,98,22,0,0,0,0,70,Low
709
+ 25,120,80,6.9,98,23,0,0,0,0,66,Low
710
+ 31,120,60,6.1,98,24,0,0,0,0,76,Low
711
+ 23,120,90,6.9,98,24.5,0,0,0,0,70,Low
712
+ 29,130,70,6.9,98,24.1,0,0,0,0,78,Low
713
+ 48,120,80,11,98,29,1,1,0,1,88,High
714
+ 18,120,80,5.9,102,18.9,0,0,0,0,76,Low
715
+ 18,85,60,5.5,101,18.9,0,0,0,0,76,Low
716
+ 29,130,70,5.5,98,18.9,0,0,0,0,78,Low
717
+ 23,120,75,6,98,18.9,0,0,0,0,70,Low
718
+ 15,120,80,7.5,98,18.9,0,0,0,0,70,Low
719
+ 30,120,80,7.5,101,18.9,0,0,0,0,76,Low
720
+ 40,120,95,6.9,98,18.9,0,0,0,0,70,Low
721
+ 60,120,85,15,98,27.8,0,1,0,1,60,High
722
+ 50,130,100,16,98,26.7,0,1,0,1,85,High
723
+ 28,115,60,7.5,101,19,0,0,0,0,76,Low
724
+ 31,120,60,6.1,98,20,0,0,0,0,76,Low
725
+ 23,120,80,6.5,98,21,0,0,0,0,70,Low
726
+ 29,130,70,6.5,98,22,0,0,0,0,78,Low
727
+ 22,100,65,6.5,98,23,0,0,0,0,70,Low
728
+ 49,120,90,6.5,98,24,0,0,0,0,77,Low
729
+ 28,90,60,6.5,98,23,0,0,0,0,72,Low
730
+ 12,90,60,6.5,102,22,0,0,0,0,66,Low
731
+ 20,100,90,6.5,98,21,0,0,0,0,68,Low
732
+ 23,100,85,6.5,98,20,0,0,0,0,66,Low
733
+ 22,120,90,6.5,98,19,0,0,0,0,72,Low
734
+ 21,120,80,7.5,98,20,0,0,0,0,77,Low
735
+ 60,120,80,7.5,98,21,0,0,0,0,75,Low
736
+ 50,130,100,16,98,26,1,1,0,0,85,High
737
+ 17,90,65,7.5,103,30,0,0,1,1,67,High
738
+ 29,130,70,7.5,98,19,0,0,0,1,78,Low
739
+ 19,120,80,7,98,20,0,0,0,1,70,Low
740
+ 19,120,85,4,98,21,0,0,0,1,60,Low
741
+ 30,90,65,7,98,22,0,0,0,1,77,Low
742
+ 28,85,60,6,101,23,0,0,0,1,68,Low
743
+ 50,120,80,7,98,24,0,0,0,0,70,Low
744
+ 39,110,70,6.9,98,23,0,0,0,0,80,Low
745
+ 29,130,70,6,98,22,0,0,0,0,78,Low
746
+ 17,90,60,5,102,21,0,0,0,0,78,Low
747
+ 32,120,90,7,100,20,0,0,0,0,70,Low
748
+ 42,120,90,6,98,19,0,0,0,0,70,Low
749
+ 36,120,90,7,98,18.6,0,0,0,0,72,Low
750
+ 30,120,80,7.1,101,18.7,0,0,0,0,76,Low
751
+ 15,70,50,6,98,18.8,0,0,0,0,70,Low
752
+ 10,100,50,6,99,18.9,0,0,0,0,70,Low
753
+ 12,100,50,6.4,98,19,0,0,0,0,70,Low
754
+ 12,100,50,6,98,24,0,1,0,0,70,Low
755
+ 23,130,70,7.01,98,23,0,0,0,0,78,Low
756
+ 32,120,90,6.9,98,20,0,0,0,0,70,Low
757
+ 19,120,80,7,98,22,0,0,0,0,70,Low
758
+ 20,120,75,7.01,100,21,0,0,0,0,70,Low
759
+ 48,120,80,7,98,19,0,0,0,0,70,Low
760
+ 30,120,80,6.9,101,24,0,0,0,0,76,Low
761
+ 18,120,80,6.9,102,20,0,0,0,0,76,Low
762
+ 17,90,60,6.9,101,23,0,0,0,0,76,Low
763
+ 17,90,63,6.9,101,22,0,0,0,0,70,Low
764
+ 25,120,90,6.7,101,21,0,0,0,0,80,Low
765
+ 17,120,80,6.7,102,19,0,0,0,0,76,Low
766
+ 13,90,65,7.9,101,24,0,0,0,0,80,Low
767
+ 31,120,60,6.1,98,23,0,0,0,0,76,Low
768
+ 29,130,70,6.1,98,20,0,0,0,0,78,Low
769
+ 19,120,80,7,98,21,0,0,0,0,70,Low
770
+ 28,85,60,9,101,22,0,0,0,0,76,Low
771
+ 50,140,80,6.7,98,22.3,0,0,0,0,70,Low
772
+ 29,90,70,6.7,98,23.2,0,0,0,0,80,Low
773
+ 31,120,60,6.1,98,24.5,0,0,0,0,76,Low
774
+ 29,130,70,6.7,98,23.6,0,0,0,0,78,Low
775
+ 17,85,60,9,102,16.8,0,1,0,0,86,High
776
+ 19,120,80,4,98,19,0,0,0,0,70,Low
777
+ 20,110,60,3.9,100,24,0,0,0,0,70,Low
778
+ 32,120,65,6,101,23,0,0,0,1,76,Low
779
+ 27,120,70,6.8,98,20,0,1,0,1,77,Low
780
+ 27,120,70,6.8,98,22,0,0,0,1,77,Low
781
+ 32,120,90,6.8,98,21,0,0,0,1,70,Low
782
+ 23,99,60,6.8,98,24,0,0,0,0,76,Low
783
+ 15,76,49,6.8,98,19,0,0,0,0,77,Low
784
+ 15,120,80,6.8,98,23,0,0,0,0,70,Low
785
+ 29,100,70,6.8,98,18.6,0,0,0,0,80,Low
786
+ 35,120,60,6.1,98,20,0,0,0,1,76,Low
787
+ 32,120,90,6.8,98,22,0,0,0,1,70,Low
788
+ 23,90,60,6.8,98,21,0,0,0,1,76,Low
789
+ 15,76,49,6.8,98,21,0,0,0,1,77,Low
790
+ 20,120,75,6.8,98,21,0,0,0,1,70,Low
791
+ 48,120,80,5.9,98,21,0,0,0,1,77,Low
792
+ 15,120,80,6.8,98,24.4,0,0,0,1,70,Low
793
+ 30,120,80,6.8,101,24.4,0,0,0,1,76,Low
794
+ 18,120,80,6.8,102,24.4,0,0,0,1,76,Low
795
+ 17,90,60,6.8,101,24.4,0,0,0,1,76,Low
796
+ 15,76,49,6.8,98,24.4,0,0,0,0,77,Low
797
+ 19,120,75,6.8,98,24.4,0,0,0,0,70,Low
798
+ 48,120,80,11,98,27.9,1,1,0,0,88,High
799
+ 15,120,80,5.9,98,23.4,0,0,0,0,70,Low
800
+ 22,100,65,4.9,98,23.4,0,0,0,0,80,Low
801
+ 35,100,70,6.9,98,23.4,0,0,0,0,60,Low
802
+ 19,120,85,4,98,23.4,0,0,0,0,60,Low
803
+ 60,90,65,7,98,23.4,0,0,0,0,77,Low
804
+ 50,120,80,7,98,22,0,0,0,0,70,Low
805
+ 17,,60,4,102,22,0,0,0,0,76,Low
806
+ 32,120,,7,98,22,1,0,0,1,,
807
+ 42,120,80,7,98,21,0,0,0,0,70,Low
808
+ 23,90,60,4.7,98,24,0,0,0,0,76,Low
809
+ 19,120,80,7,98,23,0,0,0,0,70,Low
810
+ 15,76,49,3.9,98,21,0,1,0,0,77,Low
811
+ 16,120,75,4,98,20,0,0,0,0,74,Low
812
+ 15,120,80,4.01,98,20,0,0,0,0,70,Low
813
+ 17,70,50,5,98,22.5,0,0,0,0,70,Low
814
+ 17,90,60,5.5,98,23,0,0,0,0,76,Low
815
+ 17,90,63,4.5,98,19,0,0,0,0,70,Low
816
+ 25,120,90,6.5,98,20,0,0,0,0,80,Low
817
+ 17,120,80,3.5,98,21,0,0,0,0,76,Low
818
+ 19,90,65,4.5,98,22,0,0,0,0,70,Low
819
+ 15,80,60,3.5,98,23,0,0,0,0,80,Low
820
+ 60,90,65,7.5,98,24,0,0,0,1,77,Low
821
+ 50,120,80,7.5,98,23,0,0,0,1,70,Low
822
+ 19,90,70,4.5,98,22,0,0,0,1,80,Low
823
+ 31,120,60,6.1,98,21,0,0,0,1,76,Low
824
+ 23,120,90,5.5,98,20,0,0,0,0,70,Low
825
+ 17,85,60,3.5,102,19,0,0,0,0,66,Low
826
+ 32,120,90,7.5,98,20,0,0,0,0,70,Low
827
+ 42,120,80,7.5,98,21,0,0,0,0,70,Low
828
+ 42,90,60,7.5,98,22,1,0,0,1,76,Low
829
+ 19,120,80,7,98,23,0,0,0,0,70,Low
830
+ 15,78,49,5.5,98,24,0,0,0,0,77,Low
831
+ 16,70,50,3,100,23,0,0,0,0,70,Low
832
+ 16,100,70,4,98,22,0,0,0,0,80,Low
833
+ 19,120,75,4.4,98,21,0,0,0,0,66,Low
834
+ 22,100,65,5,98,20,0,0,0,0,70,Low
835
+ 49,120,90,7.5,98,19,0,0,0,0,77,Low
836
+ 28,90,60,6.5,98,20,0,0,0,0,72,
837
+ 12,90,60,3,102,21,0,0,0,0,66,Low
838
+ 20,100,90,3.5,98,22,1,1,0,1,74,Low
839
+ 23,100,85,5,98,23,0,0,0,0,66,Low
840
+ 22,120,90,5.01,98,24,0,0,0,0,70,Low
841
+ 21,120,80,5,98,,0,0,0,0,77,Low
842
+ 21,75,50,5,98,22,0,1,0,0,60,Low
843
+ 12,90,60,3.7,102,21,0,0,0,0,60,Low
844
+ 60,120,80,7.5,98,19,0,0,0,0,75,Low
845
+ 55,100,65,7,98,20,0,0,0,0,66,Low
846
+ 45,120,95,6.5,98,21,0,0,0,0,66,Low
847
+ 35,100,70,7,98,22,0,0,0,0,66,Low
848
+ 22,120,85,4.5,98,23,0,0,0,0,78,Low
849
+ 24,120,70,4.07,98,24,0,0,0,0,72,Low
850
+ 17,90,65,3.5,98,24,0,0,0,0,67,Low
851
+ 24,120,80,5.5,98,23,0,0,0,0,70,Low
852
+ 23,120,80,5.01,98,22,1,1,0,1,70,Low
853
+ 19,85,60,3.3,98,21,0,0,0,0,76,Low
854
+ 32,120,90,6.5,98,20,0,0,0,0,70,Low
855
+ 42,120,80,7,98,19,0,0,0,0,70,Low
856
+ 25,140,100,8,98,31,1,0,1,1,88,High
857
+ 40,140,100,14,98,27.2,1,1,0,1,90,High
858
+ 32,140,100,7.9,98,32.3,1,0,1,1,84,High
859
+ 24,90,65,7,101,33,1,0,1,1,60,High
860
+ 37,120,90,11,98,26,1,1,0,1,88,High
861
+ 17,110,75,7,101,16.8,0,0,1,1,76,High
862
+ 40,120,90,12,98,26.8,0,1,0,1,86,High
863
+ 40,160,100,14,98,26.6,0,1,0,1,87,High
864
+ 32,140,90,9,98,28.9,0,1,0,1,88,High
865
+ 22,90,60,7.9,102,27,,,0,1,66,High
866
+ 35,140,100,9,98,26,0,1,0,1,62,High
867
+ 54,140,100,15,98,25.7,1,1,0,1,66,High
868
+ 40,120,95,11,98,25.9,0,1,0,1,80,High
869
+ 45,120,85,15,98,28,0,1,0,1,60,High
870
+ 55,140,95,19,98,29.8,0,1,0,1,77,High
871
+ 50,130,100,16,98,26.3,0,1,0,1,75,High
872
+ 17,90,65,6.1,103,26.4,0,0,0,1,77,High
873
+ 28,85,60,8,101,34,1,0,1,1,86,High
874
+ 50,120,80,15,98,29,1,1,0,1,70,High
875
+ 17,85,60,9,102,17.2,0,0,1,1,86,High
876
+ 33,120,75,10,98,28.1,1,1,0,1,80,High
877
+ 48,120,80,11,98,28.7,0,1,0,1,88,High
878
+ 50,140,95,17,98,29.5,1,1,0,0,60,High
879
+ 30,140,100,10,98,26,0,1,0,0,70,High
880
+ 29,120,75,7.2,100,33,0,0,1,0,70,High
881
+ 48,120,80,11,98,28.7,0,1,0,0,88,High
882
+ 50,140,90,15,98,29.6,1,1,0,0,77,High
883
+ 25,140,100,7.2,98,30.1,1,0,1,0,80,High
884
+ 55,140,80,17,101,29.7,0,1,0,0,76,High
885
+ 40,140,100,13,98,27,1,1,0,0,77,High
886
+ 28,120,80,8,102,33.4,1,0,1,1,76,High
887
+ 32,140,100,9,98,31.9,0,0,1,1,70,High
888
+ 17,90,60,8,101,17.5,0,0,1,1,78,High
889
+ 17,90,63,8,101,18,0,1,0,1,70,High
890
+ 25,120,90,12,101,26,1,1,0,1,80,High
891
+ 17,120,80,7,102,18.1,0,0,1,1,76,High
892
+ 19,90,65,9,101,30.4,0,0,1,1,70,High
893
+ 37,120,90,11,98,25.9,1,1,0,1,88,High
894
+ 17,110,75,7,101,18,0,0,0,1,76,High
895
+ 25,120,90,11,98,26.8,0,1,0,1,80,High
896
+ 40,160,100,16,98,27,1,1,0,1,77,High
897
+ 32,140,90,10,98,28,0,1,0,1,88,High
898
+ 22,90,60,8,102,30.3,0,0,1,1,62,High
899
+ 35,140,100,9,98,28.4,1,1,0,1,88,High
900
+ 54,140,100,15,98,29.8,0,1,0,1,66,High
901
+ 40,120,95,11,98,29.7,1,1,0,1,80,High
902
+ 21,90,60,9,102,26.7,0,1,0,1,60,High
903
+ 60,120,85,15,98,29,1,1,0,0,60,High
904
+ 55,140,95,19,98,28.5,0,1,0,0,77,High
905
+ 50,130,100,16,98,29.1,0,1,0,0,76,High
906
+ 23,90,65,9,101,27.6,0,1,0,0,80,High
907
+ 17,90,65,7.7,103,30,0,0,1,0,67,High
908
+ 17,85,60,6.3,102,,0,0,1,0,86,High
909
+ 40,120,75,7.7,98,32,1,0,1,0,70,High
910
+ 48,120,80,11,98,28,1,1,0,1,88,High
911
+ 22,120,60,9,98,32,0,0,1,1,80,High
912
+ 55,120,90,18,98,29.7,0,1,0,1,60,High
913
+ 35,85,60,11,98,25.7,0,1,0,1,86,High
914
+ 43,120,90,15,98,27.3,1,1,0,1,80,High
915
+ 32,120,65,8,101,,0,0,1,1,86,High
916
+ 23,120,80,4.4,98,23,0,0,0,1,72,Low
917
+ 32,90,60,11,100,26.8,1,1,0,1,80,High
918
+ 26,110,70,5.9,98,20,0,0,0,1,72,
919
+ 27,110,75,6,98,21,0,0,0,0,70,
920
+ 20,100,65,3.7,98,22,0,0,0,0,74,Low
921
+ 20,90,60,7.5,98,23,0,0,0,0,74,Low
922
+ 22,120,80,4.1,98,21,0,0,0,0,72,Low
923
+ 22,,,7,102,,0,0,1,0,82,
924
+ 26,110,80,5.8,98,20,0,0,0,0,74,Low
925
+ 22,90,60,4.4,98,21,0,0,0,0,70,Low
926
+ 21,110,70,9,100,26,0,1,0,1,80,High
927
+ 25,100,60,5,98,19,0,0,0,0,72,Low
928
+ 20,120,70,8.01,101,,0,0,1,1,84,High
929
+ 29,100,60,,98,20,0,1,0,1,69,
930
+ 20,90,60,4,98,21,0,0,0,0,72,Low
931
+ 32,100,60,7.1,98,22,0,0,0,0,72,Low
932
+ 23,90,60,5.6,98,23,0,0,0,0,71,Low
933
+ 18,100,70,3.5,98,24,0,0,0,0,72,Low
934
+ 21,110,80,5.1,98,20,0,0,0,0,74,Low
935
+ 25,110,60,6.5,98,21,0,0,0,0,72,Low
936
+ 21,110,70,4.9,98,22.9,0,0,0,0,74,Low
937
+ 43,140,100,14,98,27.3,1,0,0,1,88,High
938
+ 19,110,70,4,98,18.5,0,0,0,0,72,Low
939
+ 27,100,70,7,100,18.6,0,0,0,0,70,Low
940
+ 18,120,80,3.3,98,18.7,0,0,0,0,70,Low
941
+ 20,100,60,4.1,98,18.8,0,0,0,0,68,Low
942
+ 23,120,80,5,98,18.9,0,0,0,0,70,Low
943
+ 18,90,60,3,98,19,0,0,0,0,70,Low
944
+ 29,120,70,7,98,19.1,0,0,0,0,70,Low
945
+ 23,100,60,4.5,98,19.2,0,0,0,0,70,Low
946
+ 31,110,70,7,100,19.3,0,0,0,0,72,Low
947
+ 25,140,90,9,101,26.1,1,1,0,1,80,High
948
+ 29,100,70,7.1,100,19.4,0,0,0,0,76,Low
949
+ 28,90,60,5.9,98,19.5,0,0,0,0,73,Low
950
+ 22,110,70,5,98,19.6,0,0,0,0,72,Low
951
+ 25,90,60,6.9,98,19.7,0,0,0,0,72,Low
952
+ 17,110,80,3.6,98,19.8,0,0,0,0,72,Low
953
+ 28,90,60,7,98,19.9,0,0,0,0,74,Low
954
+ 24,110,70,5.1,100,0,0,1,0,0,78,Low
955
+ 19,130,80,4,98,20.1,0,0,0,0,70,Low
956
+ 31,150,100,10,98,26.2,1,1,0,1,88,High
957
+ 40,150,90,12,100,27.2,1,1,0,1,88,High
958
+ 21,90,60,5,98,21.8,0,0,0,0,72,Low
959
+ 18,130,80,3.9,98,23,0,0,0,0,70,Low
960
+ 17,100,70,3.5,98,22.4,0,0,0,0,70,Low
961
+ 35,110,70,7.5,98,22.5,0,0,0,0,68,Low
962
+ 32,120,80,7,98,22.7,0,0,0,0,72,Low
963
+ 26,130,100,6.9,98,22.8,0,0,0,0,72,Low
964
+ 19,150,100,5.2,98,22.9,0,0,0,0,73,Low
965
+ 22,140,90,6,98,23,0,0,0,0,70,Low
966
+ 18,120,80,5,98,21.9,0,0,0,0,72,Low
967
+ 21,110,70,5.9,98,21.8,0,0,0,0,74,Low
968
+ 37,100,60,14,98,28.2,1,1,0,1,82,High
969
+ 29,110,70,6.7,98,21.7,0,0,0,0,70,Low
970
+ 36,160,100,13,98,29.7,0,1,0,1,60,High
971
+ 39,130,90,15,98,28.9,1,1,0,1,90,High
972
+ 33,130,110,12,100,27.8,0,1,0,1,88,High
973
+ 35,140,90,11,100,26.7,0,1,0,1,88,High
974
+ 39,140,100,17,98,25.6,1,1,0,1,80,High
975
+ 49,140,96,19,98,29.5,1,1,0,1,86,High
976
+ 28,120,70,9,101,,1,1,0,1,80,High
977
+ 25,90,60,5.9,98,20,0,0,0,0,72,Low
978
+ 21,90,60,4.1,98,21,0,0,0,0,70,Low
979
+ 19,100,70,4,98,22,0,0,0,0,72,Low
980
+ 20,100,60,4.6,98,23,0,0,0,0,72,
981
+ 27,100,70,6,98,24,0,0,0,0,72,Low
982
+ 28,120,80,7,98,19,0,0,0,0,74,Low
983
+ 23,130,90,9,100,25.6,1,1,0,0,87,High
984
+ 34,170,90,8.8,98,37,1,0,1,1,88,High
985
+ 33,140,100,9,98,27.1,1,1,0,1,86,High
986
+ 28,160,90,7.9,98,35.1,1,0,1,1,62,High
987
+ 39,140,100,14,98,,,,0,1,88,
988
+ 26,110,70,7,98,20,0,0,0,0,70,Low
989
+ 33,90,60,7,98,21,0,0,0,0,72,Low
990
+ 27,120,80,7.1,98,22,0,0,0,0,72,Low
991
+ 31,110,70,6.9,98,23,0,0,0,0,72,Low
992
+ 29,120,80,7,98,24,0,0,0,0,72,Low
993
+ 18,100,70,4,98,,0,0,0,1,70,
994
+ 24,100,60,6,98,18,0,0,0,0,70,
995
+ 30,100,60,7,98,18.7,0,0,0,0,77,Low
996
+ 25,90,65,8,100,26,1,1,0,1,62,High
997
+ 34,130,90,11,98,27,1,1,0,1,82,High
998
+ 36,130,100,14,101,26.3,1,1,0,1,90,High
999
+ 19,100,70,6.7,101,27.1,1,0,0,1,88,High
1000
+ 24,120,80,6.6,98,19.9,0,0,0,0,74,Low
1001
+ 20,110,70,4.1,98,,0,0,0,0,72,Low
1002
+ 23,130,100,6.2,98,17.9,1,1,1,1,84,High
1003
+ 33,130,80,7.9,98,33,1,1,0,0,88,High
1004
+ 23,140,85,6.8,98,24.6,1,1,0,1,82,High
1005
+ 40,90,65,11,98,36,1,1,0,0,83,High
1006
+ 34,120,100,8,98,25,1,1,0,1,86,High
1007
+ 27,90,60,7.2,102,26,1,1,0,0,90,High
1008
+ 33,120,90,7,98,29.9,1,1,0,1,87,High
1009
+ 34,130,100,8,98,30,1,1,0,1,80,High
1010
+ 24,95,65,6.6,99,17.8,1,1,0,1,78,High
1011
+ 29,120,90,6.9,98,25,1,1,0,1,76,High
1012
+ 25,80,50,7,98,26,1,1,0,1,72,High
1013
+ 16,125,85,5,98,15,0,0,1,1,68,High
1014
+ 25,135,95,6.8,98,17,1,0,1,1,60,High
1015
+ 19,75,45,5.5,98,17,1,0,1,1,66,High
1016
+ 21,95,60,6,100,17.7,1,0,1,1,88,High
1017
+ 27,90,65,7,101,26.6,1,0,1,1,88,High
1018
+ 24,100,80,6,101,24,1,0,1,1,88,High
1019
+ 27,105,80,7,102,27,1,0,1,0,90,High
1020
+ 19,85,65,5,101,17.9,1,0,1,0,92,High
1021
+ 37,80,55,10,98,33,1,0,1,0,81,High
1022
+ 17,100,60,4.7,98,15.6,0,0,1,1,78,High
1023
+ 42,115,95,14,98,36,0,0,0,1,77,High
1024
+ 19,100,70,4,98,17,1,0,0,1,76,High
1025
+ 29,105,75,8,98,24.5,1,0,0,1,74,High
1026
+ 32,120,95,9,98,27.7,1,0,0,1,88,High
1027
+ 25,85,65,7.7,102,17.8,1,0,0,1,80,High
1028
+ 22,125,95,6.9,98,16,1,0,1,1,82,High
1029
+ 32,120,60,8.1,98,25.9,1,0,1,1,84,High
1030
+ 33,90,55,7.5,98,31,1,0,1,1,86,High
1031
+ 22,120,75,6,98,23,1,0,1,1,90,High
1032
+ 26,80,45,7.5,98,24.1,1,0,1,1,82,High
1033
+ 26,70,40,7.8,100,24.5,1,0,1,1,82,High
1034
+ 33,100,70,7.5,98,24.5,1,0,1,1,78,High
1035
+ 18,120,90,4.9,98,24.5,1,0,1,1,68,High
1036
+ 21,100,65,5.8,98,24.5,1,0,0,1,62,High
1037
+ 39,120,90,7.5,98,32,1,0,0,1,72,High
1038
+ 28,90,60,7.5,98,30,1,0,0,1,80,High
1039
+ 22,90,60,7.5,102,17.6,1,1,0,1,88,High
1040
+ 20,100,90,7.5,98,15.5,1,1,0,1,86,High
1041
+ 22,100,85,7.5,98,16,1,1,0,1,80,High
1042
+ 24,120,90,7.5,98,17,1,1,0,1,90,High
1043
+ 22,120,80,7.5,98,17,1,1,0,1,90,High
1044
+ 21,75,50,7.5,98,17,1,1,0,1,60,High
1045
+ 21,90,60,7.5,102,17,1,1,0,1,68,High
1046
+ 44,120,80,15,98,35,1,1,0,1,70,High
1047
+ 45,100,65,14,98,35,1,1,0,1,72,High
1048
+ 37,120,95,9,98,35,0,1,0,1,88,High
1049
+ 25,100,70,7,98,24.4,0,1,1,1,90,High
1050
+ 26,120,85,7,98,24.4,0,1,1,1,86,High
1051
+ 23,90,65,6.8,101,24.4,0,1,1,0,84,High
1052
+ 32,120,90,8.4,98,24.4,0,1,1,0,82,High
1053
+ 27,90,65,7.2,103,24.4,0,1,0,0,80,High
1054
+ 29,120,80,7.5,98,24.4,0,1,0,0,88,High
1055
+ 28,120,80,7,98,24.4,0,1,0,0,87,High
1056
+ 19,85,60,6,102,16.6,0,1,0,0,77,High
1057
+ 19,120,90,6,98,17,0,1,0,0,77,High
1058
+ 32,120,80,9,98,26,0,1,0,1,76,High
1059
+ 35,140,100,9.3,98,31,0,1,0,1,78,High
1060
+ 30,140,100,8,98,30,0,1,0,1,80,High
1061
+ 22,140,100,6.9,98,17,0,1,0,1,90,High
1062
+ 24,90,65,7,101,24,0,1,0,1,66,High
1063
+ 20,120,90,4.8,98,23,0,1,0,1,77,High
1064
+ 17,110,75,4,101,15.9,0,1,0,1,90,High
1065
+ 30,120,90,8.9,98,25.3,0,1,0,1,92,High
1066
+ 27,160,100,9,98,17,0,1,0,1,80,High
1067
+ 31,140,90,9,98,25,1,1,1,0,80,High
1068
+ 21,90,60,6.9,102,24.4,0,1,1,0,77,High
1069
+ 25,140,100,7,98,24.4,1,1,1,0,82,High
1070
+ 45,140,100,15,98,34,0,1,1,0,84,High
1071
+ 41,120,95,11,98,34.5,0,1,1,0,90,High
1072
+ 29,120,85,9,98,26,1,1,1,0,88,High
1073
+ 25,140,95,7,98,24.9,0,1,1,0,86,High
1074
+ 20,130,100,6,98,17.9,0,0,1,0,82,High
1075
+ 37,90,65,12,103,32,0,0,1,0,78,High
1076
+ 29,140,90,8,101,27,0,0,0,0,72,High
1077
+ 30,120,80,9,98,30,0,0,0,0,60,High
1078
+ 17,85,60,6,102,17,1,0,0,0,62,High
1079
+ 33,120,75,10,98,27.6,0,0,1,0,58,High
1080
+ 49,120,80,17,98,37,0,0,1,0,66,High
1081
+ 29,140,95,7,98,28,0,0,1,0,72,High
1082
+ 30,140,100,10,98,25.1,1,0,1,0,70,High
1083
+ 27,120,75,7.2,100,25.7,1,0,0,1,80,High
1084
+ 25,120,80,11,98,24.9,1,0,1,1,90,High
1085
+ 21,140,90,7,98,24.1,0,0,0,1,72,High
1086
+ 25,140,100,7.2,98,24.7,0,0,1,1,80,High
1087
+ 35,140,80,10,101,31,1,0,0,1,90,High
1088
+ 40,140,100,18,98,33,1,0,0,1,88,High
1089
+ 28,120,80,9,102,27.9,1,0,0,1,87,High
1090
+ 22,140,100,8,98,24.4,1,0,0,1,77,High
1091
+ 27,90,60,11,101,24.8,1,0,0,1,78,High
1092
+ 29,90,65,8,101,27.5,1,1,0,1,76,High
1093
+ 18,120,90,7.2,101,17.2,1,1,0,1,82,High
1094
+ 21,120,80,7,102,17.8,0,1,1,1,90,High
1095
+ 39,90,65,11,101,29,0,1,0,1,92,High
1096
+ 27,120,90,9,98,28,1,0,0,1,78,High
1097
+ 25,110,75,8.3,101,24.4,1,0,0,1,77,High
1098
+ 27,120,90,7.5,98,25.2,1,0,0,1,76,High
1099
+ 30,160,100,11,98,27.2,1,1,1,1,74,High
1100
+ 32,140,90,13,98,26,1,0,1,1,80,High
1101
+ 21,90,60,8,98,16.9,1,1,1,1,88,High
1102
+ 35,140,100,9,98,31.1,1,0,0,1,86,High
1103
+ 34,140,100,10,98,28.3,1,1,1,1,84,High
1104
+ 18,120,80,9,98,17,0,1,0,1,84,High
1105
+ 20,110,80,11,98,17.7,0,1,0,1,84,High
1106
+ 22,140,90,10,98,17.5,0,1,0,1,84,High
1107
+ 25,100,60,8,98,23,0,1,0,1,84,High
1108
+ 24,120,70,11,98,24,0,1,0,1,84,High
1109
+ 28,140,85,13,98,23,0,1,0,1,84,High
1110
+ 29,130,70,10,98,24,0,1,0,1,84,High
1111
+ 31,120,60,12,98,24.1,0,1,0,1,84,High
1112
+ 21,130,80,7.6,98,24.1,0,1,0,1,84,High
1113
+ 22,90,60,7.6,98,24.1,0,1,0,1,84,High
1114
+ 21,90,65,7.6,98,24.1,0,1,0,1,84,High
1115
+ 20,100,60,7,99,24.1,0,1,0,1,84,High
1116
+ 17,110,70,6.5,98,24.1,0,1,0,1,84,High
1117
+ 19,110,75,5.9,98,24.1,0,1,0,1,84,High
1118
+ 29,110,80,11,98,24.1,0,1,0,1,84,High
1119
+ 27,150,90,10,98,24.5,0,1,0,1,84,High
1120
+ 28,150,100,9,98,24.5,0,1,0,1,78,High
1121
+ 24,140,100,8,98,24.5,0,1,0,1,78,High
1122
+ 21,110,75,7,98,24.5,0,1,0,1,78,High
1123
+ 20,120,80,5,98,24.5,0,1,0,1,78,High
1124
+ 26,130,80,9,98,24.5,0,1,1,1,78,High
1125
+ 28,120,80,9.7,100,24.5,0,1,1,1,78,High
1126
+ 33,115,75,11.1,98,24.5,0,1,1,1,78,High
1127
+ 31,125,65,11.5,98,17.1,0,1,1,1,78,High
1128
+ 32,105,55,12,98,17.1,0,1,0,0,90,High
1129
+ 29,100,60,10,98,18.1,0,1,0,0,90,High
1130
+ 27,90,70,8.9,98,17.8,0,1,0,0,90,High
1131
+ 22,100,60,6.9,98,17.8,0,1,0,0,90,High
1132
+ 24,100,70,5.9,98,17.8,0,1,0,0,90,High
1133
+ 20,120,90,5,98,17.8,0,1,0,0,90,High
1134
+ 21,120,90,5.6,98,17.8,0,1,0,0,90,High
1135
+ 28,120,100,8.8,98,17.8,0,1,0,0,90,High
1136
+ 30,120,80,9,98,17.8,0,1,0,0,90,High
1137
+ 39,120,75,14,98,17.8,0,1,0,0,82,High
1138
+ 41,120,85,17,98,17.8,0,1,0,0,86,High
1139
+ 37,120,80,12,98,24,0,1,0,0,88,High
1140
+ 21,120,70,6.2,98,24,0,1,0,0,80,High
1141
+ 22,120,90,6,98,24,0,1,0,0,84,High
1142
+ 26,120,80,7,98,24,0,1,0,0,85,High
1143
+ 27,120,80,7.6,98,24,0,1,0,0,77,High
1144
+ 27,120,60,6,98,25,0,1,0,0,77,High
1145
+ 27,115,65,5.9,98,29,0,1,0,0,77,High
1146
+ 27,115,75,7,98,28,0,1,0,1,77,High
1147
+ 27,115,60,7.7,98,28,0,1,0,1,77,High
1148
+ 27,130,60,6,98,28,0,1,0,1,77,High
1149
+ 27,140,60,6.5,98,24.7,1,1,0,1,77,High
1150
+ 27,135,60,6.8,98,24.7,1,1,0,1,60,High
1151
+ 21,120,60,6.3,98,24.7,1,1,0,1,58,High
1152
+ 22,110,60,5.9,98,24.7,1,1,0,1,81,High
1153
+ 21,90,60,5.1,98,24.7,1,1,0,1,62,High
1154
+ 20,95,60,6.5,98,24.7,0,1,0,1,64,High
1155
+ 16,95,60,5,101,24.7,0,1,0,1,60,High
1156
+ 17,100,60,5.6,98,24.7,0,1,0,1,60,High
1157
+ 19,100,60,7.8,98,24.7,0,1,0,1,60,High
1158
+ 22,100,60,6.6,98,24.7,0,1,1,1,60,High
1159
+ 31,100,60,11,98,24.7,0,1,1,1,60,High
1160
+ 25,100,60,8,98,25,0,1,0,1,60,High
1161
+ 34,100,60,13,98,25,0,1,0,1,60,High
1162
+ 26,100,60,8.7,98,25,1,1,0,1,90,High
1163
+ 27,100,60,7,98,25,1,1,0,1,90,High
1164
+ 43,100,60,18,98,25,1,1,1,1,90,High
1165
+ 36,100,60,,98,25,1,1,0,1,90,High
1166
+ 39,100,60,16,98,25,1,1,0,1,90,High
1167
+ 19,100,60,5,98,25,1,1,1,1,90,High
1168
+ 18,100,60,5.5,98,25,1,1,0,1,90,High
1169
+ 20,100,60,6,98,25,1,1,0,1,90,High
1170
+ 22,100,60,4,98,25,1,1,0,1,90,High
1171
+ 23,100,60,7,98,25,0,1,0,1,90,High
1172
+ 24,100,80,6.1,98,,0,1,0,1,88,High
1173
+ 21,100,60,6.7,98,23,0,1,0,1,86,High
1174
+ 28,100,70,8.9,98,23,0,1,0,1,88,High
1175
+ 29,100,55,11,98,23,0,1,0,1,84,High
1176
+ 34,100,65,13,98,23,0,1,0,1,82,High
1177
+ 33,100,60,11,98,23,0,1,0,1,85,High
1178
+ 22,100,70,8,98,23,0,1,0,1,84,High
1179
+ 23,100,75,4.9,98,23,0,1,0,1,90,High
1180
+ 21,100,70,5.8,98,23,0,1,0,1,92,High
1181
+ 20,100,80,5,98,23,0,1,0,1,78,High
1182
+ 17,120,75,4,98,23,0,1,0,1,77,High
1183
+ 18,110,70,4,98,24.2,0,1,0,0,76,High
1184
+ 19,140,100,4,98,24.2,0,1,0,0,74,High
1185
+ 22,150,110,4.7,98,24.2,0,1,0,0,70,High
1186
+ 23,130,95,6,98,24.2,0,1,0,0,68,High
1187
+ 29,125,85,7.3,98,24.2,0,1,0,0,70,High
1188
+ 21,115,75,5,98,24.2,0,1,0,0,90,High
1189
+ 28,95,75,8.9,98,24.2,0,1,0,0,88,High
1190
+ 22,110,70,6,98,24.2,0,1,0,0,84,High
1191
+ 27,120,60,9,98,24.2,0,1,0,0,82,High
1192
+ 23,130,90,4,98,23.9,0,1,0,0,86,High
1193
+ 26,110,80,6,98,23.9,0,1,0,0,88,High
1194
+ 24,120,90,4.8,98,23.9,0,1,0,0,80,High
1195
+ 25,90,60,5.2,98,23.9,0,1,0,0,78,High
1196
+ 21,100,60,5.7,98,23.9,0,1,0,0,77,High
1197
+ 20,115,75,4.7,98,23.9,0,1,0,0,76,High
1198
+ 17,95,65,3.8,98,23.9,0,1,0,0,74,High
1199
+ 19,115,95,4,98,23.9,0,1,0,0,77,High
1200
+ 20,120,100,6,98,23.9,0,1,1,0,80,High
1201
+ 30,120,90,7,98,23.9,0,0,1,0,88,High
1202
+ 41,140,95,16,98,22,0,0,1,1,90,High
1203
+ 25,110,90,6,98,19,0,0,1,1,92,High
1204
+ 21,150,110,4.9,98,21.5,0,0,1,1,66,High
1205
+ 23,130,100,5.1,98,27,0,0,1,1,60,High
1206
+ 26,120,90,6.7,98,23.9,0,0,1,0,58,High
docs/DOCUMENTATION.md ADDED
@@ -0,0 +1,276 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # 🔬 Medical AI System Documentation
2
+
3
+ ## Project Overview
4
+
5
+ This project contains two advanced AI systems for medical imaging and risk assessment:
6
+
7
+ 1. **Pregnancy Risk Prediction Model** - Predicts pregnancy complications using clinical data
8
+ 2. **Fetal Ultrasound Plane Classification** - Classifies fetal ultrasound images into anatomical planes
9
+
10
+ ---
11
+
12
+ ## 🤱 Pregnancy Risk Prediction Model
13
+
14
+ ### Model Performance
15
+ - **Algorithm**: Random Forest Classifier
16
+ - **Accuracy**: 100% on test data
17
+ - **Features**: 11 clinical parameters
18
+ - **Classes**: High Risk, Low Risk
19
+ - **Dataset**: 1,187 patient records
20
+
21
+ ### Key Features
22
+ - Age, Blood Pressure (Systolic/Diastolic)
23
+ - Blood Sugar, Body Temperature, BMI
24
+ - Medical History (Previous Complications, Diabetes)
25
+ - Mental Health, Heart Rate
26
+
27
+ ### Feature Importance (Top 5)
28
+ 1. **Blood Sugar (BS)**: 22.8%
29
+ 2. **Preexisting Diabetes**: 21.6%
30
+ 3. **Heart Rate**: 16.0%
31
+ 4. **BMI**: 14.7%
32
+ 5. **Gestational Diabetes**: 8.5%
33
+
34
+ ### Model Metrics
35
+ ```
36
+ Classification Report:
37
+ precision recall f1-score support
38
+ High 1.00 1.00 1.00 95
39
+ Low 1.00 1.00 1.00 143
40
+ accuracy 1.00 238
41
+ macro avg 1.00 1.00 1.00 238
42
+ weighted avg 1.00 1.00 1.00 238
43
+ ```
44
+
45
+ ---
46
+
47
+ ## 🔬 Fetal Ultrasound Plane Classification
48
+
49
+ ### Model Performance
50
+ - **Algorithm**: Vision Transformer (ViT-Base-Patch16-224)
51
+ - **Validation Accuracy**: 91.69%
52
+ - **Training Time**: 18.5 minutes (Apple Silicon M4)
53
+ - **Dataset**: 12,400 ultrasound images
54
+ - **Classes**: 9 anatomical plane categories
55
+
56
+ ### Training Configuration
57
+ - **Device**: Apple Silicon MPS (Metal Performance Shaders)
58
+ - **Batch Size**: 2 (thermal-optimized)
59
+ - **Epochs**: 2
60
+ - **Learning Rate**: 5e-5
61
+ - **Architecture**: ARM64 optimized
62
+
63
+ ### Classification Categories
64
+
65
+ #### Fetal Brain Planes (4 types)
66
+ 1. **Trans-thalamic**: 1,638 images
67
+ 2. **Trans-cerebellum**: 714 images
68
+ 3. **Trans-ventricular**: 597 images
69
+ 4. **Other brain views**: 143 images
70
+
71
+ #### Anatomical Structures (4 types)
72
+ 1. **Fetal thorax**: 1,718 images
73
+ 2. **Maternal cervix**: 1,626 images
74
+ 3. **Fetal femur**: 1,040 images
75
+ 4. **Fetal abdomen**: 711 images
76
+
77
+ #### Quality Control (1 type)
78
+ 1. **Other/Unclear**: 4,213 images
79
+
80
+ ### Training Metrics
81
+ ```
82
+ Final Training Loss: 0.21
83
+ Validation Loss: 0.316
84
+ Training Speed: 4.47 iterations/second
85
+ System Resources:
86
+ - CPU Usage: 5.4% (post-training)
87
+ - Memory Usage: 65.3%
88
+ - Temperature: Stable (no overheating)
89
+ ```
90
+
91
+ ### Apple Silicon Optimizations
92
+ - **MPS Acceleration**: Full M4 chip utilization
93
+ - **Thermal Management**: Prevented overheating
94
+ - **Memory Efficiency**: Optimized batch sizes
95
+ - **Native Performance**: ARM64 PyTorch builds
96
+
97
+ ---
98
+
99
+ ## 🏗️ System Architecture
100
+
101
+ ### Project Structure
102
+ ```
103
+ hackathon15092025/
104
+ ├── src/ # Source code
105
+ │ ├── app.py # Pregnancy risk Streamlit app
106
+ │ └── pregnancy_risk_prediction.py
107
+ ├── fetal_plane_app.py # Fetal plane Streamlit app
108
+ ├── fetal_plane_classifier.py # Training script
109
+ ├── models/ # Trained models
110
+ │ ├── pregnancy_risk_model.pkl
111
+ │ └── fetal_plane_model/
112
+ ├── data/ # Datasets
113
+ │ └── Dataset - Updated.csv
114
+ ├── FETAL_PLANES_ZENODO/ # Ultrasound dataset
115
+ ├── static/css/ # Styling
116
+ ├── index.html # Main dashboard
117
+ └── requirements*.txt # Dependencies
118
+ ```
119
+
120
+ ### Technology Stack
121
+ - **Machine Learning**: scikit-learn, PyTorch, Transformers
122
+ - **Web Framework**: Streamlit
123
+ - **Frontend**: HTML5, CSS3, JavaScript
124
+ - **Visualization**: Plotly, Matplotlib
125
+ - **Deployment**: Apple Silicon optimized
126
+
127
+ ---
128
+
129
+ ## 🚀 Deployment Guide
130
+
131
+ ### Prerequisites
132
+ - Python 3.9+
133
+ - macOS with Apple Silicon (M1/M2/M3/M4)
134
+ - 8GB+ RAM recommended
135
+
136
+ ### Installation
137
+ ```bash
138
+ # Clone repository
139
+ cd /Users/karthik/Projects/hackathon15092025
140
+
141
+ # Install dependencies
142
+ pip install -r requirements.txt
143
+ pip install -r requirements_fetal.txt
144
+
145
+ # Train models (if needed)
146
+ python src/pregnancy_risk_prediction.py
147
+ python train_fetal_model_thermal.py
148
+ ```
149
+
150
+ ### Running Applications
151
+ ```bash
152
+ # Pregnancy Risk App (Port 8501)
153
+ streamlit run src/app.py
154
+
155
+ # Fetal Plane App (Port 8502)
156
+ streamlit run fetal_plane_app.py --server.port 8502
157
+
158
+ # Main Dashboard
159
+ open index.html
160
+ ```
161
+
162
+ ---
163
+
164
+ ## 📊 Performance Benchmarks
165
+
166
+ ### Pregnancy Risk Model
167
+ | Metric | Value |
168
+ |--------|-------|
169
+ | Training Accuracy | 100% |
170
+ | Validation Accuracy | 100% |
171
+ | Inference Time | <1ms |
172
+ | Model Size | 2.3MB |
173
+ | Features | 11 |
174
+
175
+ ### Fetal Plane Model
176
+ | Metric | Value |
177
+ |--------|-------|
178
+ | Training Accuracy | 95.4% |
179
+ | Validation Accuracy | 91.69% |
180
+ | Inference Time | <100ms |
181
+ | Model Size | 346MB |
182
+ | Parameters | 86M |
183
+
184
+ ### System Performance (M4 MacBook)
185
+ | Resource | Usage |
186
+ |----------|-------|
187
+ | CPU | 5.4% (idle) |
188
+ | Memory | 65.3% |
189
+ | GPU (MPS) | Active |
190
+ | Temperature | Stable |
191
+
192
+ ---
193
+
194
+ ## 🔒 Security & Privacy
195
+
196
+ ### Data Protection
197
+ - **No Data Storage**: Patient data not permanently stored
198
+ - **Local Processing**: All inference runs locally
199
+ - **HIPAA Considerations**: Designed for privacy compliance
200
+ - **Secure Models**: No data leakage in model weights
201
+
202
+ ### Recommendations
203
+ - Use in controlled medical environments
204
+ - Implement proper access controls
205
+ - Regular security audits
206
+ - Compliance with local regulations
207
+
208
+ ---
209
+
210
+ ## 🎯 Clinical Applications
211
+
212
+ ### Pregnancy Risk Assessment
213
+ - **Primary Care**: Initial risk screening
214
+ - **Obstetrics**: Prenatal care planning
215
+ - **Emergency**: Rapid risk evaluation
216
+ - **Telemedicine**: Remote consultations
217
+
218
+ ### Ultrasound Classification
219
+ - **Radiology**: Image quality control
220
+ - **Training**: Medical education tool
221
+ - **Workflow**: Automated image sorting
222
+ - **Research**: Large-scale studies
223
+
224
+ ---
225
+
226
+ ## ⚠️ Limitations & Disclaimers
227
+
228
+ ### Model Limitations
229
+ - **Educational Purpose**: Not for clinical diagnosis
230
+ - **Validation Needed**: Requires clinical validation
231
+ - **Population Bias**: Trained on specific datasets
232
+ - **Continuous Learning**: Models need regular updates
233
+
234
+ ### Usage Guidelines
235
+ - Always consult qualified healthcare professionals
236
+ - Use as decision support, not replacement
237
+ - Validate results with clinical judgment
238
+ - Report unusual predictions for review
239
+
240
+ ---
241
+
242
+ ## 📈 Future Enhancements
243
+
244
+ ### Planned Features
245
+ - **Multi-language Support**: International deployment
246
+ - **Real-time Monitoring**: Continuous risk assessment
247
+ - **Integration APIs**: EHR system connectivity
248
+ - **Advanced Models**: Transformer-based improvements
249
+
250
+ ### Research Directions
251
+ - **Federated Learning**: Multi-site model training
252
+ - **Explainable AI**: Enhanced interpretability
253
+ - **Edge Deployment**: Mobile device optimization
254
+ - **Clinical Trials**: Prospective validation studies
255
+
256
+ ---
257
+
258
+ ## 📞 Support & Contact
259
+
260
+ ### Technical Support
261
+ - **Documentation**: This file and README files
262
+ - **Issues**: Check terminal logs for errors
263
+ - **Performance**: Monitor system resources
264
+ - **Updates**: Regular dependency updates
265
+
266
+ ### Development Team
267
+ - **AI/ML Engineering**: Model development and optimization
268
+ - **Medical Informatics**: Clinical workflow integration
269
+ - **Software Engineering**: Application development
270
+ - **Quality Assurance**: Testing and validation
271
+
272
+ ---
273
+
274
+ *Last Updated: January 2025*
275
+ *Version: 1.0*
276
+ *Platform: Apple Silicon Optimized*
docs/PROJECT_STRUCTURE.md ADDED
@@ -0,0 +1,223 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # 🏗️ Medical AI System - Project Structure
2
+
3
+ ## 📁 Complete Directory Structure
4
+
5
+ ```
6
+ hackathon15092025/
7
+ ├── 📋 Documentation
8
+ │ ├── README.md # Main project overview
9
+ │ ├── README_FETAL.md # Fetal plane classification guide
10
+ │ ├── DOCUMENTATION.md # Comprehensive system documentation
11
+ │ └── PROJECT_STRUCTURE.md # This file - project organization
12
+
13
+ ├── 🌐 Web Interface
14
+ │ ├── index.html # Main dashboard with navbar and iframes
15
+ │ └── static/
16
+ │ └── css/
17
+ │ └── style.css # Satoshi font styling for Streamlit
18
+
19
+ ├── 🤱 Pregnancy Risk Prediction System
20
+ │ ├── src/
21
+ │ │ ├── app.py # Streamlit web app (Port 8501)
22
+ │ │ └── pregnancy_risk_prediction.py # Model training script
23
+ │ └── models/
24
+ │ ├── pregnancy_risk_model.pkl # Trained Random Forest model
25
+ │ ├── label_encoder.pkl # Label encoder
26
+ │ └── feature_columns.pkl # Feature column names
27
+
28
+ ├── 🔬 Fetal Ultrasound Classification System
29
+ │ ├── fetal_plane_app.py # Streamlit web app (Port 8502)
30
+ │ ├── fetal_plane_classifier.py # ViT model training script
31
+ │ ├── train_fetal_model.py # Standard training script
32
+ │ ├── train_fetal_model_thermal.py # Thermal-safe training for M4
33
+ │ └── models/
34
+ │ └── fetal_plane_model/ # Trained Vision Transformer model
35
+ │ ├── config.json
36
+ │ ├── model.safetensors
37
+ │ ├── preprocessor_config.json
38
+ │ ├── label_encoder.pkl
39
+ │ └── checkpoint-*/ # Training checkpoints
40
+
41
+ ├── 📊 Datasets
42
+ │ ├── data/
43
+ │ │ ├── Dataset - Updated.csv # Pregnancy risk dataset (1,187 records)
44
+ │ │ └── Dataset/ # Additional audio data
45
+ │ └── FETAL_PLANES_ZENODO/ # Fetal ultrasound dataset
46
+ │ ├── FETAL_PLANES_DB_data.csv # Labels (12,400 images)
47
+ │ ├── FETAL_PLANES_DB_data.xlsx # Excel version
48
+ │ ├── Images/ # Ultrasound images (PNG format)
49
+ │ └── README.md # Dataset documentation
50
+
51
+ └── ⚙️ Configuration & Dependencies
52
+ ├── requirements.txt # Pregnancy risk dependencies
53
+ └── requirements_fetal.txt # Fetal plane dependencies (Apple Silicon)
54
+ ```
55
+
56
+ ## 🚀 Application Ports & URLs
57
+
58
+ | Application | Port | URL | Description |
59
+ |-------------|------|-----|-------------|
60
+ | **Main Dashboard** | - | `file://index.html` | HTML dashboard with navigation |
61
+ | **Pregnancy Risk** | 8501 | `http://localhost:8501` | Risk prediction interface |
62
+ | **Fetal Planes** | 8502 | `http://localhost:8502` | Ultrasound classification |
63
+
64
+ ## 📱 Navigation Structure
65
+
66
+ ### Main Dashboard (index.html)
67
+ ```
68
+ 🏠 Home
69
+ ├── Welcome section
70
+ ├── Feature overview
71
+ └── System introduction
72
+
73
+ 🤱 Pregnancy Risk (iframe: localhost:8501)
74
+ ├── Patient information form
75
+ ├── Risk prediction results
76
+ ├── Feature importance analysis
77
+ └── Medical recommendations
78
+
79
+ 🔬 Fetal Planes (iframe: localhost:8502)
80
+ ├── Image upload interface
81
+ ├── Ultrasound classification
82
+ ├── Confidence scores
83
+ └── Anatomical plane identification
84
+
85
+ 📋 Documentation
86
+ ├── Performance metrics
87
+ ├── Model specifications
88
+ ├── Training results
89
+ └── Technical details
90
+
91
+ ℹ️ About
92
+ ├── System overview
93
+ ├── Technology stack
94
+ ├── Performance metrics
95
+ └── Privacy & security
96
+ ```
97
+
98
+ ## 🔧 Technical Architecture
99
+
100
+ ### Frontend Layer
101
+ - **HTML5 Dashboard**: Responsive design with Satoshi font
102
+ - **CSS3 Styling**: Modern UI with gradients and animations
103
+ - **JavaScript Navigation**: Seamless page transitions
104
+ - **Iframe Integration**: Borderless embedding of Streamlit apps
105
+
106
+ ### Backend Layer
107
+ - **Streamlit Apps**: Interactive web interfaces
108
+ - **Python ML Models**: scikit-learn and PyTorch
109
+ - **Apple Silicon Optimization**: MPS acceleration
110
+ - **Local Processing**: No external API dependencies
111
+
112
+ ### Data Layer
113
+ - **CSV Datasets**: Structured medical data
114
+ - **PNG Images**: Ultrasound imaging data
115
+ - **Pickle Models**: Serialized trained models
116
+ - **JSON Configs**: Model configurations
117
+
118
+ ## 🎯 Model Specifications
119
+
120
+ ### Pregnancy Risk Model
121
+ ```yaml
122
+ Algorithm: Random Forest Classifier
123
+ Accuracy: 100%
124
+ Features: 11 clinical parameters
125
+ Dataset: 1,187 patient records
126
+ Inference: <1ms
127
+ Model Size: 2.3MB
128
+ Framework: scikit-learn
129
+ ```
130
+
131
+ ### Fetal Plane Model
132
+ ```yaml
133
+ Algorithm: Vision Transformer (ViT-Base-Patch16-224)
134
+ Validation Accuracy: 91.69%
135
+ Classes: 9 anatomical planes
136
+ Dataset: 12,400 ultrasound images
137
+ Inference: <100ms
138
+ Model Size: 346MB
139
+ Framework: PyTorch + Transformers
140
+ Optimization: Apple Silicon MPS
141
+ ```
142
+
143
+ ## 🔄 Deployment Workflow
144
+
145
+ ### 1. Environment Setup
146
+ ```bash
147
+ # Activate global environment
148
+ globalvenv
149
+
150
+ # Install dependencies
151
+ pip install -r requirements.txt
152
+ pip install -r requirements_fetal.txt
153
+ ```
154
+
155
+ ### 2. Model Training (Optional)
156
+ ```bash
157
+ # Train pregnancy risk model
158
+ python src/pregnancy_risk_prediction.py
159
+
160
+ # Train fetal plane model (thermal-safe)
161
+ python train_fetal_model_thermal.py
162
+ ```
163
+
164
+ ### 3. Application Startup
165
+ ```bash
166
+ # Terminal 1: Pregnancy Risk App
167
+ python -m streamlit run src/app.py --server.port 8501 --server.headless true
168
+
169
+ # Terminal 2: Fetal Plane App
170
+ python -m streamlit run fetal_plane_app.py --server.port 8502 --server.headless true
171
+
172
+ # Terminal 3: Main Dashboard
173
+ open index.html
174
+ ```
175
+
176
+ ## 📊 Performance Monitoring
177
+
178
+ ### System Resources (Apple Silicon M4)
179
+ - **CPU Usage**: 5.4% (idle)
180
+ - **Memory Usage**: 65.3%
181
+ - **GPU (MPS)**: Active acceleration
182
+ - **Temperature**: Stable (thermal management)
183
+
184
+ ### Application Performance
185
+ - **Dashboard Load**: <1s
186
+ - **Streamlit Apps**: <3s startup
187
+ - **Model Inference**: Real-time
188
+ - **Navigation**: Instant transitions
189
+
190
+ ## 🔒 Security & Privacy
191
+
192
+ ### Data Protection
193
+ - ✅ **Local Processing**: No external data transmission
194
+ - ✅ **No Persistent Storage**: Patient data not saved
195
+ - ✅ **HIPAA Compliance**: Privacy-by-design architecture
196
+ - ✅ **Secure Models**: No data leakage in weights
197
+
198
+ ### Access Control
199
+ - 🔐 **Local Access Only**: localhost binding
200
+ - 🔐 **No Authentication**: Suitable for controlled environments
201
+ - 🔐 **Audit Logging**: Terminal output for monitoring
202
+ - 🔐 **Error Handling**: Graceful failure modes
203
+
204
+ ## 🚀 Future Enhancements
205
+
206
+ ### Planned Features
207
+ - [ ] **Multi-language Support**: International deployment
208
+ - [ ] **Real-time Monitoring**: System health dashboard
209
+ - [ ] **API Integration**: RESTful endpoints
210
+ - [ ] **Mobile Optimization**: Responsive design improvements
211
+
212
+ ### Technical Improvements
213
+ - [ ] **Model Versioning**: MLOps pipeline
214
+ - [ ] **A/B Testing**: Model comparison framework
215
+ - [ ] **Performance Metrics**: Real-time monitoring
216
+ - [ ] **Auto-scaling**: Dynamic resource allocation
217
+
218
+ ---
219
+
220
+ *Last Updated: January 2025*
221
+ *Version: 1.0*
222
+ *Platform: Apple Silicon Optimized*
223
+ *Status: Production Ready*
frontend/.gitignore ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Logs
2
+ logs
3
+ *.log
4
+ npm-debug.log*
5
+ yarn-debug.log*
6
+ yarn-error.log*
7
+ pnpm-debug.log*
8
+ lerna-debug.log*
9
+
10
+ node_modules
11
+ dist
12
+ dist-ssr
13
+ *.local
14
+
15
+ # Editor directories and files
16
+ .vscode/*
17
+ !.vscode/extensions.json
18
+ .idea
19
+ .DS_Store
20
+ *.suo
21
+ *.ntvs*
22
+ *.njsproj
23
+ *.sln
24
+ *.sw?
frontend/README.md ADDED
@@ -0,0 +1,69 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # React + TypeScript + Vite
2
+
3
+ This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
4
+
5
+ Currently, two official plugins are available:
6
+
7
+ - [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react) uses [Babel](https://babeljs.io/) for Fast Refresh
8
+ - [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh
9
+
10
+ ## Expanding the ESLint configuration
11
+
12
+ If you are developing a production application, we recommend updating the configuration to enable type-aware lint rules:
13
+
14
+ ```js
15
+ export default tseslint.config([
16
+ globalIgnores(['dist']),
17
+ {
18
+ files: ['**/*.{ts,tsx}'],
19
+ extends: [
20
+ // Other configs...
21
+
22
+ // Remove tseslint.configs.recommended and replace with this
23
+ ...tseslint.configs.recommendedTypeChecked,
24
+ // Alternatively, use this for stricter rules
25
+ ...tseslint.configs.strictTypeChecked,
26
+ // Optionally, add this for stylistic rules
27
+ ...tseslint.configs.stylisticTypeChecked,
28
+
29
+ // Other configs...
30
+ ],
31
+ languageOptions: {
32
+ parserOptions: {
33
+ project: ['./tsconfig.node.json', './tsconfig.app.json'],
34
+ tsconfigRootDir: import.meta.dirname,
35
+ },
36
+ // other options...
37
+ },
38
+ },
39
+ ])
40
+ ```
41
+
42
+ You can also install [eslint-plugin-react-x](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-x) and [eslint-plugin-react-dom](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-dom) for React-specific lint rules:
43
+
44
+ ```js
45
+ // eslint.config.js
46
+ import reactX from 'eslint-plugin-react-x'
47
+ import reactDom from 'eslint-plugin-react-dom'
48
+
49
+ export default tseslint.config([
50
+ globalIgnores(['dist']),
51
+ {
52
+ files: ['**/*.{ts,tsx}'],
53
+ extends: [
54
+ // Other configs...
55
+ // Enable lint rules for React
56
+ reactX.configs['recommended-typescript'],
57
+ // Enable lint rules for React DOM
58
+ reactDom.configs.recommended,
59
+ ],
60
+ languageOptions: {
61
+ parserOptions: {
62
+ project: ['./tsconfig.node.json', './tsconfig.app.json'],
63
+ tsconfigRootDir: import.meta.dirname,
64
+ },
65
+ // other options...
66
+ },
67
+ },
68
+ ])
69
+ ```
frontend/eslint.config.js ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import js from '@eslint/js'
2
+ import globals from 'globals'
3
+ import reactHooks from 'eslint-plugin-react-hooks'
4
+ import reactRefresh from 'eslint-plugin-react-refresh'
5
+ import tseslint from 'typescript-eslint'
6
+ import { globalIgnores } from 'eslint/config'
7
+
8
+ export default tseslint.config([
9
+ globalIgnores(['dist']),
10
+ {
11
+ files: ['**/*.{ts,tsx}'],
12
+ extends: [
13
+ js.configs.recommended,
14
+ tseslint.configs.recommended,
15
+ reactHooks.configs['recommended-latest'],
16
+ reactRefresh.configs.vite,
17
+ ],
18
+ languageOptions: {
19
+ ecmaVersion: 2020,
20
+ globals: globals.browser,
21
+ },
22
+ },
23
+ ])
frontend/index.html ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <link rel="icon" type="image/svg+xml" href="/vite.svg" />
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
+ <title>Medical AI Dashboard - Secure Access</title>
8
+ <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css" rel="stylesheet">
9
+ </head>
10
+ <body>
11
+ <div id="root"></div>
12
+ <script type="module" src="/src/main.tsx"></script>
13
+ </body>
14
+ </html>
frontend/node_modules/.bin/acorn ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4c3eb6f1d8932790dbff043839f8ee7686bc614a59ef577e96fed618a4a4b1b8
3
+ size 60
frontend/node_modules/.bin/autoprefixer ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:6824869930667f7b287f708f9e07f6abeecbff48d97779576f59372856566c8f
3
+ size 554
frontend/node_modules/.bin/baseline-browser-mapping ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:6bcb5b0e5524624d75a16f2dbfe80cdf26db8e7ff743252c39d20558e30eaa3e
3
+ size 2032
frontend/node_modules/.bin/browserslist ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0529540ec3f1805330afdb3b826fc5b006f7f9b946155fbb7e5932cbcf876015
3
+ size 4347
frontend/node_modules/.bin/esbuild ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f7357c1e944f135066b69260729b07a39d1b39a03bfe7d84644224fc827595ed
3
+ size 9867346
frontend/node_modules/.bin/eslint ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:6280b95e2a6ab3b04be45cbd3b1627654be518e6a4da163ec0adcbba9cd5fcd8
3
+ size 5610
frontend/node_modules/.bin/jiti ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:8829aad7e953f97ef9e25782c99eafa013efa0c36db7c2ffebcc140bd8eeaf54
3
+ size 794
frontend/node_modules/.bin/js-yaml ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:6d7749dfd8019095970f4366cd09ec3abef9deaa3f870709dffecb027e58902d
3
+ size 2736
frontend/node_modules/.bin/jsesc ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:775eddbcc7769fa4d7d4d7b29c155a1bcd4221190462789545410f82e8328892
3
+ size 3833
frontend/node_modules/.bin/json5 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:5625791d31c1a385ca8e8823119fc659b61cd53957b2bd494bc8941486684bd4
3
+ size 3592
frontend/node_modules/.bin/mkdirp ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0eb283be7c2af1807175ebc420a183bca619b27b86a328c87ef5a356f37e7fff
3
+ size 2430
frontend/node_modules/.bin/nanoid ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e4eb9be1a3e3feb3f8979ef08c3bf3ef8430f4f22df9c4e427353a1577accbe8
3
+ size 1129
frontend/node_modules/.bin/node-which ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:055f0ac4eed1a1591d033d59462972968bf3483b4cc07e163589569c0fb999f0
3
+ size 985
frontend/node_modules/.bin/parser ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c7c62937ddbdad55475054a193073fca01092879a86b278182b28a850b8d4ebd
3
+ size 363
frontend/node_modules/.bin/rollup ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:7c516fd3f66a6b330567934d81e6b227eb7904571301d3cc55148f22435c5367
3
+ size 81327
frontend/node_modules/.bin/semver ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a3ed56435cbd4b3f07a80c4a343edd86d787f89bf2cee0105bdf68cb653ba2a0
3
+ size 4717
frontend/node_modules/.bin/tsc ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:8d5fa5bd883fec0979fc2004f1fe1d99aef40570155d550eadc0b03b55513bf0
3
+ size 45
frontend/node_modules/.bin/tsserver ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a088f0c3419bcb2f7b860ad42e4c9f25ead067eda70af6a10d0a7d453954aada
3
+ size 50
frontend/node_modules/.bin/update-browserslist-db ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:047bd636b5ff5b27c7a85c6fe64da0d03dd60649e818869b939d4e7897ddb3fa
3
+ size 912
frontend/node_modules/.bin/vite ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:fa03478846d229651a3c6aa64833ba2c6cbf580a798b92bd8f47c7480bafb5d8
3
+ size 2574
frontend/node_modules/.package-lock.json ADDED
The diff for this file is too large to render. See raw diff
 
frontend/node_modules/.vite/deps/@clerk_clerk-react.js ADDED
The diff for this file is too large to render. See raw diff
 
frontend/node_modules/.vite/deps/@clerk_clerk-react.js.map ADDED
The diff for this file is too large to render. See raw diff
 
frontend/node_modules/.vite/deps/_metadata.json ADDED
@@ -0,0 +1,52 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "hash": "cffce755",
3
+ "configHash": "1531d494",
4
+ "lockfileHash": "37413a44",
5
+ "browserHash": "c75496ec",
6
+ "optimized": {
7
+ "react": {
8
+ "src": "../../react/index.js",
9
+ "file": "react.js",
10
+ "fileHash": "41324778",
11
+ "needsInterop": true
12
+ },
13
+ "react-dom": {
14
+ "src": "../../react-dom/index.js",
15
+ "file": "react-dom.js",
16
+ "fileHash": "4bf46e18",
17
+ "needsInterop": true
18
+ },
19
+ "react/jsx-dev-runtime": {
20
+ "src": "../../react/jsx-dev-runtime.js",
21
+ "file": "react_jsx-dev-runtime.js",
22
+ "fileHash": "6e43be7d",
23
+ "needsInterop": true
24
+ },
25
+ "react/jsx-runtime": {
26
+ "src": "../../react/jsx-runtime.js",
27
+ "file": "react_jsx-runtime.js",
28
+ "fileHash": "1903cb98",
29
+ "needsInterop": true
30
+ },
31
+ "@clerk/clerk-react": {
32
+ "src": "../../@clerk/clerk-react/dist/index.mjs",
33
+ "file": "@clerk_clerk-react.js",
34
+ "fileHash": "7c4aa8e8",
35
+ "needsInterop": false
36
+ },
37
+ "react-dom/client": {
38
+ "src": "../../react-dom/client.js",
39
+ "file": "react-dom_client.js",
40
+ "fileHash": "53671813",
41
+ "needsInterop": true
42
+ }
43
+ },
44
+ "chunks": {
45
+ "chunk-I5HANLAN": {
46
+ "file": "chunk-I5HANLAN.js"
47
+ },
48
+ "chunk-X4QARNC5": {
49
+ "file": "chunk-X4QARNC5.js"
50
+ }
51
+ }
52
+ }
frontend/node_modules/.vite/deps/chunk-I5HANLAN.js ADDED
@@ -0,0 +1,278 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import {
2
+ __commonJS,
3
+ require_react
4
+ } from "./chunk-X4QARNC5.js";
5
+
6
+ // node_modules/react-dom/cjs/react-dom.development.js
7
+ var require_react_dom_development = __commonJS({
8
+ "node_modules/react-dom/cjs/react-dom.development.js"(exports) {
9
+ "use strict";
10
+ (function() {
11
+ function noop() {
12
+ }
13
+ function testStringCoercion(value) {
14
+ return "" + value;
15
+ }
16
+ function createPortal$1(children, containerInfo, implementation) {
17
+ var key = 3 < arguments.length && void 0 !== arguments[3] ? arguments[3] : null;
18
+ try {
19
+ testStringCoercion(key);
20
+ var JSCompiler_inline_result = false;
21
+ } catch (e) {
22
+ JSCompiler_inline_result = true;
23
+ }
24
+ JSCompiler_inline_result && (console.error(
25
+ "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",
26
+ "function" === typeof Symbol && Symbol.toStringTag && key[Symbol.toStringTag] || key.constructor.name || "Object"
27
+ ), testStringCoercion(key));
28
+ return {
29
+ $$typeof: REACT_PORTAL_TYPE,
30
+ key: null == key ? null : "" + key,
31
+ children,
32
+ containerInfo,
33
+ implementation
34
+ };
35
+ }
36
+ function getCrossOriginStringAs(as, input) {
37
+ if ("font" === as) return "";
38
+ if ("string" === typeof input)
39
+ return "use-credentials" === input ? input : "";
40
+ }
41
+ function getValueDescriptorExpectingObjectForWarning(thing) {
42
+ return null === thing ? "`null`" : void 0 === thing ? "`undefined`" : "" === thing ? "an empty string" : 'something with type "' + typeof thing + '"';
43
+ }
44
+ function getValueDescriptorExpectingEnumForWarning(thing) {
45
+ return null === thing ? "`null`" : void 0 === thing ? "`undefined`" : "" === thing ? "an empty string" : "string" === typeof thing ? JSON.stringify(thing) : "number" === typeof thing ? "`" + thing + "`" : 'something with type "' + typeof thing + '"';
46
+ }
47
+ function resolveDispatcher() {
48
+ var dispatcher = ReactSharedInternals.H;
49
+ null === dispatcher && console.error(
50
+ "Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\n1. You might have mismatching versions of React and the renderer (such as React DOM)\n2. You might be breaking the Rules of Hooks\n3. You might have more than one copy of React in the same app\nSee https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem."
51
+ );
52
+ return dispatcher;
53
+ }
54
+ "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());
55
+ var React = require_react(), Internals = {
56
+ d: {
57
+ f: noop,
58
+ r: function() {
59
+ throw Error(
60
+ "Invalid form element. requestFormReset must be passed a form that was rendered by React."
61
+ );
62
+ },
63
+ D: noop,
64
+ C: noop,
65
+ L: noop,
66
+ m: noop,
67
+ X: noop,
68
+ S: noop,
69
+ M: noop
70
+ },
71
+ p: 0,
72
+ findDOMNode: null
73
+ }, REACT_PORTAL_TYPE = Symbol.for("react.portal"), ReactSharedInternals = React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;
74
+ "function" === typeof Map && null != Map.prototype && "function" === typeof Map.prototype.forEach && "function" === typeof Set && null != Set.prototype && "function" === typeof Set.prototype.clear && "function" === typeof Set.prototype.forEach || console.error(
75
+ "React depends on Map and Set built-in types. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills"
76
+ );
77
+ exports.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE = Internals;
78
+ exports.createPortal = function(children, container) {
79
+ var key = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : null;
80
+ if (!container || 1 !== container.nodeType && 9 !== container.nodeType && 11 !== container.nodeType)
81
+ throw Error("Target container is not a DOM element.");
82
+ return createPortal$1(children, container, null, key);
83
+ };
84
+ exports.flushSync = function(fn) {
85
+ var previousTransition = ReactSharedInternals.T, previousUpdatePriority = Internals.p;
86
+ try {
87
+ if (ReactSharedInternals.T = null, Internals.p = 2, fn)
88
+ return fn();
89
+ } finally {
90
+ ReactSharedInternals.T = previousTransition, Internals.p = previousUpdatePriority, Internals.d.f() && console.error(
91
+ "flushSync was called from inside a lifecycle method. React cannot flush when React is already rendering. Consider moving this call to a scheduler task or micro task."
92
+ );
93
+ }
94
+ };
95
+ exports.preconnect = function(href, options) {
96
+ "string" === typeof href && href ? null != options && "object" !== typeof options ? console.error(
97
+ "ReactDOM.preconnect(): Expected the `options` argument (second) to be an object but encountered %s instead. The only supported option at this time is `crossOrigin` which accepts a string.",
98
+ getValueDescriptorExpectingEnumForWarning(options)
99
+ ) : null != options && "string" !== typeof options.crossOrigin && console.error(
100
+ "ReactDOM.preconnect(): Expected the `crossOrigin` option (second argument) to be a string but encountered %s instead. Try removing this option or passing a string value instead.",
101
+ getValueDescriptorExpectingObjectForWarning(options.crossOrigin)
102
+ ) : console.error(
103
+ "ReactDOM.preconnect(): Expected the `href` argument (first) to be a non-empty string but encountered %s instead.",
104
+ getValueDescriptorExpectingObjectForWarning(href)
105
+ );
106
+ "string" === typeof href && (options ? (options = options.crossOrigin, options = "string" === typeof options ? "use-credentials" === options ? options : "" : void 0) : options = null, Internals.d.C(href, options));
107
+ };
108
+ exports.prefetchDNS = function(href) {
109
+ if ("string" !== typeof href || !href)
110
+ console.error(
111
+ "ReactDOM.prefetchDNS(): Expected the `href` argument (first) to be a non-empty string but encountered %s instead.",
112
+ getValueDescriptorExpectingObjectForWarning(href)
113
+ );
114
+ else if (1 < arguments.length) {
115
+ var options = arguments[1];
116
+ "object" === typeof options && options.hasOwnProperty("crossOrigin") ? console.error(
117
+ "ReactDOM.prefetchDNS(): Expected only one argument, `href`, but encountered %s as a second argument instead. This argument is reserved for future options and is currently disallowed. It looks like the you are attempting to set a crossOrigin property for this DNS lookup hint. Browsers do not perform DNS queries using CORS and setting this attribute on the resource hint has no effect. Try calling ReactDOM.prefetchDNS() with just a single string argument, `href`.",
118
+ getValueDescriptorExpectingEnumForWarning(options)
119
+ ) : console.error(
120
+ "ReactDOM.prefetchDNS(): Expected only one argument, `href`, but encountered %s as a second argument instead. This argument is reserved for future options and is currently disallowed. Try calling ReactDOM.prefetchDNS() with just a single string argument, `href`.",
121
+ getValueDescriptorExpectingEnumForWarning(options)
122
+ );
123
+ }
124
+ "string" === typeof href && Internals.d.D(href);
125
+ };
126
+ exports.preinit = function(href, options) {
127
+ "string" === typeof href && href ? null == options || "object" !== typeof options ? console.error(
128
+ "ReactDOM.preinit(): Expected the `options` argument (second) to be an object with an `as` property describing the type of resource to be preinitialized but encountered %s instead.",
129
+ getValueDescriptorExpectingEnumForWarning(options)
130
+ ) : "style" !== options.as && "script" !== options.as && console.error(
131
+ 'ReactDOM.preinit(): Expected the `as` property in the `options` argument (second) to contain a valid value describing the type of resource to be preinitialized but encountered %s instead. Valid values for `as` are "style" and "script".',
132
+ getValueDescriptorExpectingEnumForWarning(options.as)
133
+ ) : console.error(
134
+ "ReactDOM.preinit(): Expected the `href` argument (first) to be a non-empty string but encountered %s instead.",
135
+ getValueDescriptorExpectingObjectForWarning(href)
136
+ );
137
+ if ("string" === typeof href && options && "string" === typeof options.as) {
138
+ var as = options.as, crossOrigin = getCrossOriginStringAs(as, options.crossOrigin), integrity = "string" === typeof options.integrity ? options.integrity : void 0, fetchPriority = "string" === typeof options.fetchPriority ? options.fetchPriority : void 0;
139
+ "style" === as ? Internals.d.S(
140
+ href,
141
+ "string" === typeof options.precedence ? options.precedence : void 0,
142
+ {
143
+ crossOrigin,
144
+ integrity,
145
+ fetchPriority
146
+ }
147
+ ) : "script" === as && Internals.d.X(href, {
148
+ crossOrigin,
149
+ integrity,
150
+ fetchPriority,
151
+ nonce: "string" === typeof options.nonce ? options.nonce : void 0
152
+ });
153
+ }
154
+ };
155
+ exports.preinitModule = function(href, options) {
156
+ var encountered = "";
157
+ "string" === typeof href && href || (encountered += " The `href` argument encountered was " + getValueDescriptorExpectingObjectForWarning(href) + ".");
158
+ void 0 !== options && "object" !== typeof options ? encountered += " The `options` argument encountered was " + getValueDescriptorExpectingObjectForWarning(options) + "." : options && "as" in options && "script" !== options.as && (encountered += " The `as` option encountered was " + getValueDescriptorExpectingEnumForWarning(options.as) + ".");
159
+ if (encountered)
160
+ console.error(
161
+ "ReactDOM.preinitModule(): Expected up to two arguments, a non-empty `href` string and, optionally, an `options` object with a valid `as` property.%s",
162
+ encountered
163
+ );
164
+ else
165
+ switch (encountered = options && "string" === typeof options.as ? options.as : "script", encountered) {
166
+ case "script":
167
+ break;
168
+ default:
169
+ encountered = getValueDescriptorExpectingEnumForWarning(encountered), console.error(
170
+ 'ReactDOM.preinitModule(): Currently the only supported "as" type for this function is "script" but received "%s" instead. This warning was generated for `href` "%s". In the future other module types will be supported, aligning with the import-attributes proposal. Learn more here: (https://github.com/tc39/proposal-import-attributes)',
171
+ encountered,
172
+ href
173
+ );
174
+ }
175
+ if ("string" === typeof href)
176
+ if ("object" === typeof options && null !== options) {
177
+ if (null == options.as || "script" === options.as)
178
+ encountered = getCrossOriginStringAs(
179
+ options.as,
180
+ options.crossOrigin
181
+ ), Internals.d.M(href, {
182
+ crossOrigin: encountered,
183
+ integrity: "string" === typeof options.integrity ? options.integrity : void 0,
184
+ nonce: "string" === typeof options.nonce ? options.nonce : void 0
185
+ });
186
+ } else null == options && Internals.d.M(href);
187
+ };
188
+ exports.preload = function(href, options) {
189
+ var encountered = "";
190
+ "string" === typeof href && href || (encountered += " The `href` argument encountered was " + getValueDescriptorExpectingObjectForWarning(href) + ".");
191
+ null == options || "object" !== typeof options ? encountered += " The `options` argument encountered was " + getValueDescriptorExpectingObjectForWarning(options) + "." : "string" === typeof options.as && options.as || (encountered += " The `as` option encountered was " + getValueDescriptorExpectingObjectForWarning(options.as) + ".");
192
+ encountered && console.error(
193
+ 'ReactDOM.preload(): Expected two arguments, a non-empty `href` string and an `options` object with an `as` property valid for a `<link rel="preload" as="..." />` tag.%s',
194
+ encountered
195
+ );
196
+ if ("string" === typeof href && "object" === typeof options && null !== options && "string" === typeof options.as) {
197
+ encountered = options.as;
198
+ var crossOrigin = getCrossOriginStringAs(
199
+ encountered,
200
+ options.crossOrigin
201
+ );
202
+ Internals.d.L(href, encountered, {
203
+ crossOrigin,
204
+ integrity: "string" === typeof options.integrity ? options.integrity : void 0,
205
+ nonce: "string" === typeof options.nonce ? options.nonce : void 0,
206
+ type: "string" === typeof options.type ? options.type : void 0,
207
+ fetchPriority: "string" === typeof options.fetchPriority ? options.fetchPriority : void 0,
208
+ referrerPolicy: "string" === typeof options.referrerPolicy ? options.referrerPolicy : void 0,
209
+ imageSrcSet: "string" === typeof options.imageSrcSet ? options.imageSrcSet : void 0,
210
+ imageSizes: "string" === typeof options.imageSizes ? options.imageSizes : void 0,
211
+ media: "string" === typeof options.media ? options.media : void 0
212
+ });
213
+ }
214
+ };
215
+ exports.preloadModule = function(href, options) {
216
+ var encountered = "";
217
+ "string" === typeof href && href || (encountered += " The `href` argument encountered was " + getValueDescriptorExpectingObjectForWarning(href) + ".");
218
+ void 0 !== options && "object" !== typeof options ? encountered += " The `options` argument encountered was " + getValueDescriptorExpectingObjectForWarning(options) + "." : options && "as" in options && "string" !== typeof options.as && (encountered += " The `as` option encountered was " + getValueDescriptorExpectingObjectForWarning(options.as) + ".");
219
+ encountered && console.error(
220
+ 'ReactDOM.preloadModule(): Expected two arguments, a non-empty `href` string and, optionally, an `options` object with an `as` property valid for a `<link rel="modulepreload" as="..." />` tag.%s',
221
+ encountered
222
+ );
223
+ "string" === typeof href && (options ? (encountered = getCrossOriginStringAs(
224
+ options.as,
225
+ options.crossOrigin
226
+ ), Internals.d.m(href, {
227
+ as: "string" === typeof options.as && "script" !== options.as ? options.as : void 0,
228
+ crossOrigin: encountered,
229
+ integrity: "string" === typeof options.integrity ? options.integrity : void 0
230
+ })) : Internals.d.m(href));
231
+ };
232
+ exports.requestFormReset = function(form) {
233
+ Internals.d.r(form);
234
+ };
235
+ exports.unstable_batchedUpdates = function(fn, a) {
236
+ return fn(a);
237
+ };
238
+ exports.useFormState = function(action, initialState, permalink) {
239
+ return resolveDispatcher().useFormState(action, initialState, permalink);
240
+ };
241
+ exports.useFormStatus = function() {
242
+ return resolveDispatcher().useHostTransitionStatus();
243
+ };
244
+ exports.version = "19.1.1";
245
+ "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());
246
+ })();
247
+ }
248
+ });
249
+
250
+ // node_modules/react-dom/index.js
251
+ var require_react_dom = __commonJS({
252
+ "node_modules/react-dom/index.js"(exports, module) {
253
+ if (false) {
254
+ checkDCE();
255
+ module.exports = null;
256
+ } else {
257
+ module.exports = require_react_dom_development();
258
+ }
259
+ }
260
+ });
261
+
262
+ export {
263
+ require_react_dom
264
+ };
265
+ /*! Bundled license information:
266
+
267
+ react-dom/cjs/react-dom.development.js:
268
+ (**
269
+ * @license React
270
+ * react-dom.development.js
271
+ *
272
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
273
+ *
274
+ * This source code is licensed under the MIT license found in the
275
+ * LICENSE file in the root directory of this source tree.
276
+ *)
277
+ */
278
+ //# sourceMappingURL=chunk-I5HANLAN.js.map
frontend/node_modules/.vite/deps/chunk-I5HANLAN.js.map ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../react-dom/cjs/react-dom.development.js", "../../react-dom/index.js"],
4
+ "sourcesContent": ["/**\n * @license React\n * react-dom.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n function noop() {}\n function testStringCoercion(value) {\n return \"\" + value;\n }\n function createPortal$1(children, containerInfo, implementation) {\n var key =\n 3 < arguments.length && void 0 !== arguments[3] ? arguments[3] : null;\n try {\n testStringCoercion(key);\n var JSCompiler_inline_result = !1;\n } catch (e) {\n JSCompiler_inline_result = !0;\n }\n JSCompiler_inline_result &&\n (console.error(\n \"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.\",\n (\"function\" === typeof Symbol &&\n Symbol.toStringTag &&\n key[Symbol.toStringTag]) ||\n key.constructor.name ||\n \"Object\"\n ),\n testStringCoercion(key));\n return {\n $$typeof: REACT_PORTAL_TYPE,\n key: null == key ? null : \"\" + key,\n children: children,\n containerInfo: containerInfo,\n implementation: implementation\n };\n }\n function getCrossOriginStringAs(as, input) {\n if (\"font\" === as) return \"\";\n if (\"string\" === typeof input)\n return \"use-credentials\" === input ? input : \"\";\n }\n function getValueDescriptorExpectingObjectForWarning(thing) {\n return null === thing\n ? \"`null`\"\n : void 0 === thing\n ? \"`undefined`\"\n : \"\" === thing\n ? \"an empty string\"\n : 'something with type \"' + typeof thing + '\"';\n }\n function getValueDescriptorExpectingEnumForWarning(thing) {\n return null === thing\n ? \"`null`\"\n : void 0 === thing\n ? \"`undefined`\"\n : \"\" === thing\n ? \"an empty string\"\n : \"string\" === typeof thing\n ? JSON.stringify(thing)\n : \"number\" === typeof thing\n ? \"`\" + thing + \"`\"\n : 'something with type \"' + typeof thing + '\"';\n }\n function resolveDispatcher() {\n var dispatcher = ReactSharedInternals.H;\n null === dispatcher &&\n console.error(\n \"Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\\n1. You might have mismatching versions of React and the renderer (such as React DOM)\\n2. You might be breaking the Rules of Hooks\\n3. You might have more than one copy of React in the same app\\nSee https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem.\"\n );\n return dispatcher;\n }\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&\n \"function\" ===\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart &&\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());\n var React = require(\"react\"),\n Internals = {\n d: {\n f: noop,\n r: function () {\n throw Error(\n \"Invalid form element. requestFormReset must be passed a form that was rendered by React.\"\n );\n },\n D: noop,\n C: noop,\n L: noop,\n m: noop,\n X: noop,\n S: noop,\n M: noop\n },\n p: 0,\n findDOMNode: null\n },\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n ReactSharedInternals =\n React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;\n (\"function\" === typeof Map &&\n null != Map.prototype &&\n \"function\" === typeof Map.prototype.forEach &&\n \"function\" === typeof Set &&\n null != Set.prototype &&\n \"function\" === typeof Set.prototype.clear &&\n \"function\" === typeof Set.prototype.forEach) ||\n console.error(\n \"React depends on Map and Set built-in types. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills\"\n );\n exports.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE =\n Internals;\n exports.createPortal = function (children, container) {\n var key =\n 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : null;\n if (\n !container ||\n (1 !== container.nodeType &&\n 9 !== container.nodeType &&\n 11 !== container.nodeType)\n )\n throw Error(\"Target container is not a DOM element.\");\n return createPortal$1(children, container, null, key);\n };\n exports.flushSync = function (fn) {\n var previousTransition = ReactSharedInternals.T,\n previousUpdatePriority = Internals.p;\n try {\n if (((ReactSharedInternals.T = null), (Internals.p = 2), fn))\n return fn();\n } finally {\n (ReactSharedInternals.T = previousTransition),\n (Internals.p = previousUpdatePriority),\n Internals.d.f() &&\n console.error(\n \"flushSync was called from inside a lifecycle method. React cannot flush when React is already rendering. Consider moving this call to a scheduler task or micro task.\"\n );\n }\n };\n exports.preconnect = function (href, options) {\n \"string\" === typeof href && href\n ? null != options && \"object\" !== typeof options\n ? console.error(\n \"ReactDOM.preconnect(): Expected the `options` argument (second) to be an object but encountered %s instead. The only supported option at this time is `crossOrigin` which accepts a string.\",\n getValueDescriptorExpectingEnumForWarning(options)\n )\n : null != options &&\n \"string\" !== typeof options.crossOrigin &&\n console.error(\n \"ReactDOM.preconnect(): Expected the `crossOrigin` option (second argument) to be a string but encountered %s instead. Try removing this option or passing a string value instead.\",\n getValueDescriptorExpectingObjectForWarning(options.crossOrigin)\n )\n : console.error(\n \"ReactDOM.preconnect(): Expected the `href` argument (first) to be a non-empty string but encountered %s instead.\",\n getValueDescriptorExpectingObjectForWarning(href)\n );\n \"string\" === typeof href &&\n (options\n ? ((options = options.crossOrigin),\n (options =\n \"string\" === typeof options\n ? \"use-credentials\" === options\n ? options\n : \"\"\n : void 0))\n : (options = null),\n Internals.d.C(href, options));\n };\n exports.prefetchDNS = function (href) {\n if (\"string\" !== typeof href || !href)\n console.error(\n \"ReactDOM.prefetchDNS(): Expected the `href` argument (first) to be a non-empty string but encountered %s instead.\",\n getValueDescriptorExpectingObjectForWarning(href)\n );\n else if (1 < arguments.length) {\n var options = arguments[1];\n \"object\" === typeof options && options.hasOwnProperty(\"crossOrigin\")\n ? console.error(\n \"ReactDOM.prefetchDNS(): Expected only one argument, `href`, but encountered %s as a second argument instead. This argument is reserved for future options and is currently disallowed. It looks like the you are attempting to set a crossOrigin property for this DNS lookup hint. Browsers do not perform DNS queries using CORS and setting this attribute on the resource hint has no effect. Try calling ReactDOM.prefetchDNS() with just a single string argument, `href`.\",\n getValueDescriptorExpectingEnumForWarning(options)\n )\n : console.error(\n \"ReactDOM.prefetchDNS(): Expected only one argument, `href`, but encountered %s as a second argument instead. This argument is reserved for future options and is currently disallowed. Try calling ReactDOM.prefetchDNS() with just a single string argument, `href`.\",\n getValueDescriptorExpectingEnumForWarning(options)\n );\n }\n \"string\" === typeof href && Internals.d.D(href);\n };\n exports.preinit = function (href, options) {\n \"string\" === typeof href && href\n ? null == options || \"object\" !== typeof options\n ? console.error(\n \"ReactDOM.preinit(): Expected the `options` argument (second) to be an object with an `as` property describing the type of resource to be preinitialized but encountered %s instead.\",\n getValueDescriptorExpectingEnumForWarning(options)\n )\n : \"style\" !== options.as &&\n \"script\" !== options.as &&\n console.error(\n 'ReactDOM.preinit(): Expected the `as` property in the `options` argument (second) to contain a valid value describing the type of resource to be preinitialized but encountered %s instead. Valid values for `as` are \"style\" and \"script\".',\n getValueDescriptorExpectingEnumForWarning(options.as)\n )\n : console.error(\n \"ReactDOM.preinit(): Expected the `href` argument (first) to be a non-empty string but encountered %s instead.\",\n getValueDescriptorExpectingObjectForWarning(href)\n );\n if (\n \"string\" === typeof href &&\n options &&\n \"string\" === typeof options.as\n ) {\n var as = options.as,\n crossOrigin = getCrossOriginStringAs(as, options.crossOrigin),\n integrity =\n \"string\" === typeof options.integrity ? options.integrity : void 0,\n fetchPriority =\n \"string\" === typeof options.fetchPriority\n ? options.fetchPriority\n : void 0;\n \"style\" === as\n ? Internals.d.S(\n href,\n \"string\" === typeof options.precedence\n ? options.precedence\n : void 0,\n {\n crossOrigin: crossOrigin,\n integrity: integrity,\n fetchPriority: fetchPriority\n }\n )\n : \"script\" === as &&\n Internals.d.X(href, {\n crossOrigin: crossOrigin,\n integrity: integrity,\n fetchPriority: fetchPriority,\n nonce: \"string\" === typeof options.nonce ? options.nonce : void 0\n });\n }\n };\n exports.preinitModule = function (href, options) {\n var encountered = \"\";\n (\"string\" === typeof href && href) ||\n (encountered +=\n \" The `href` argument encountered was \" +\n getValueDescriptorExpectingObjectForWarning(href) +\n \".\");\n void 0 !== options && \"object\" !== typeof options\n ? (encountered +=\n \" The `options` argument encountered was \" +\n getValueDescriptorExpectingObjectForWarning(options) +\n \".\")\n : options &&\n \"as\" in options &&\n \"script\" !== options.as &&\n (encountered +=\n \" The `as` option encountered was \" +\n getValueDescriptorExpectingEnumForWarning(options.as) +\n \".\");\n if (encountered)\n console.error(\n \"ReactDOM.preinitModule(): Expected up to two arguments, a non-empty `href` string and, optionally, an `options` object with a valid `as` property.%s\",\n encountered\n );\n else\n switch (\n ((encountered =\n options && \"string\" === typeof options.as ? options.as : \"script\"),\n encountered)\n ) {\n case \"script\":\n break;\n default:\n (encountered =\n getValueDescriptorExpectingEnumForWarning(encountered)),\n console.error(\n 'ReactDOM.preinitModule(): Currently the only supported \"as\" type for this function is \"script\" but received \"%s\" instead. This warning was generated for `href` \"%s\". In the future other module types will be supported, aligning with the import-attributes proposal. Learn more here: (https://github.com/tc39/proposal-import-attributes)',\n encountered,\n href\n );\n }\n if (\"string\" === typeof href)\n if (\"object\" === typeof options && null !== options) {\n if (null == options.as || \"script\" === options.as)\n (encountered = getCrossOriginStringAs(\n options.as,\n options.crossOrigin\n )),\n Internals.d.M(href, {\n crossOrigin: encountered,\n integrity:\n \"string\" === typeof options.integrity\n ? options.integrity\n : void 0,\n nonce:\n \"string\" === typeof options.nonce ? options.nonce : void 0\n });\n } else null == options && Internals.d.M(href);\n };\n exports.preload = function (href, options) {\n var encountered = \"\";\n (\"string\" === typeof href && href) ||\n (encountered +=\n \" The `href` argument encountered was \" +\n getValueDescriptorExpectingObjectForWarning(href) +\n \".\");\n null == options || \"object\" !== typeof options\n ? (encountered +=\n \" The `options` argument encountered was \" +\n getValueDescriptorExpectingObjectForWarning(options) +\n \".\")\n : (\"string\" === typeof options.as && options.as) ||\n (encountered +=\n \" The `as` option encountered was \" +\n getValueDescriptorExpectingObjectForWarning(options.as) +\n \".\");\n encountered &&\n console.error(\n 'ReactDOM.preload(): Expected two arguments, a non-empty `href` string and an `options` object with an `as` property valid for a `<link rel=\"preload\" as=\"...\" />` tag.%s',\n encountered\n );\n if (\n \"string\" === typeof href &&\n \"object\" === typeof options &&\n null !== options &&\n \"string\" === typeof options.as\n ) {\n encountered = options.as;\n var crossOrigin = getCrossOriginStringAs(\n encountered,\n options.crossOrigin\n );\n Internals.d.L(href, encountered, {\n crossOrigin: crossOrigin,\n integrity:\n \"string\" === typeof options.integrity ? options.integrity : void 0,\n nonce: \"string\" === typeof options.nonce ? options.nonce : void 0,\n type: \"string\" === typeof options.type ? options.type : void 0,\n fetchPriority:\n \"string\" === typeof options.fetchPriority\n ? options.fetchPriority\n : void 0,\n referrerPolicy:\n \"string\" === typeof options.referrerPolicy\n ? options.referrerPolicy\n : void 0,\n imageSrcSet:\n \"string\" === typeof options.imageSrcSet\n ? options.imageSrcSet\n : void 0,\n imageSizes:\n \"string\" === typeof options.imageSizes\n ? options.imageSizes\n : void 0,\n media: \"string\" === typeof options.media ? options.media : void 0\n });\n }\n };\n exports.preloadModule = function (href, options) {\n var encountered = \"\";\n (\"string\" === typeof href && href) ||\n (encountered +=\n \" The `href` argument encountered was \" +\n getValueDescriptorExpectingObjectForWarning(href) +\n \".\");\n void 0 !== options && \"object\" !== typeof options\n ? (encountered +=\n \" The `options` argument encountered was \" +\n getValueDescriptorExpectingObjectForWarning(options) +\n \".\")\n : options &&\n \"as\" in options &&\n \"string\" !== typeof options.as &&\n (encountered +=\n \" The `as` option encountered was \" +\n getValueDescriptorExpectingObjectForWarning(options.as) +\n \".\");\n encountered &&\n console.error(\n 'ReactDOM.preloadModule(): Expected two arguments, a non-empty `href` string and, optionally, an `options` object with an `as` property valid for a `<link rel=\"modulepreload\" as=\"...\" />` tag.%s',\n encountered\n );\n \"string\" === typeof href &&\n (options\n ? ((encountered = getCrossOriginStringAs(\n options.as,\n options.crossOrigin\n )),\n Internals.d.m(href, {\n as:\n \"string\" === typeof options.as && \"script\" !== options.as\n ? options.as\n : void 0,\n crossOrigin: encountered,\n integrity:\n \"string\" === typeof options.integrity\n ? options.integrity\n : void 0\n }))\n : Internals.d.m(href));\n };\n exports.requestFormReset = function (form) {\n Internals.d.r(form);\n };\n exports.unstable_batchedUpdates = function (fn, a) {\n return fn(a);\n };\n exports.useFormState = function (action, initialState, permalink) {\n return resolveDispatcher().useFormState(action, initialState, permalink);\n };\n exports.useFormStatus = function () {\n return resolveDispatcher().useHostTransitionStatus();\n };\n exports.version = \"19.1.1\";\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&\n \"function\" ===\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());\n })();\n", "'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
frontend/node_modules/.vite/deps/chunk-X4QARNC5.js ADDED
@@ -0,0 +1,1004 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __commonJS = (cb, mod) => function __require() {
8
+ return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
9
+ };
10
+ var __export = (target, all) => {
11
+ for (var name in all)
12
+ __defProp(target, name, { get: all[name], enumerable: true });
13
+ };
14
+ var __copyProps = (to, from, except, desc) => {
15
+ if (from && typeof from === "object" || typeof from === "function") {
16
+ for (let key of __getOwnPropNames(from))
17
+ if (!__hasOwnProp.call(to, key) && key !== except)
18
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
19
+ }
20
+ return to;
21
+ };
22
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
23
+ // If the importer is in node compatibility mode or this is not an ESM
24
+ // file that has been converted to a CommonJS file using a Babel-
25
+ // compatible transform (i.e. "__esModule" has not been set), then set
26
+ // "default" to the CommonJS "module.exports" for node compatibility.
27
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
28
+ mod
29
+ ));
30
+
31
+ // node_modules/react/cjs/react.development.js
32
+ var require_react_development = __commonJS({
33
+ "node_modules/react/cjs/react.development.js"(exports, module) {
34
+ "use strict";
35
+ (function() {
36
+ function defineDeprecationWarning(methodName, info) {
37
+ Object.defineProperty(Component.prototype, methodName, {
38
+ get: function() {
39
+ console.warn(
40
+ "%s(...) is deprecated in plain JavaScript React classes. %s",
41
+ info[0],
42
+ info[1]
43
+ );
44
+ }
45
+ });
46
+ }
47
+ function getIteratorFn(maybeIterable) {
48
+ if (null === maybeIterable || "object" !== typeof maybeIterable)
49
+ return null;
50
+ maybeIterable = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable["@@iterator"];
51
+ return "function" === typeof maybeIterable ? maybeIterable : null;
52
+ }
53
+ function warnNoop(publicInstance, callerName) {
54
+ publicInstance = (publicInstance = publicInstance.constructor) && (publicInstance.displayName || publicInstance.name) || "ReactClass";
55
+ var warningKey = publicInstance + "." + callerName;
56
+ didWarnStateUpdateForUnmountedComponent[warningKey] || (console.error(
57
+ "Can't call %s on a component that is not yet mounted. This is a no-op, but it might indicate a bug in your application. Instead, assign to `this.state` directly or define a `state = {};` class property with the desired state in the %s component.",
58
+ callerName,
59
+ publicInstance
60
+ ), didWarnStateUpdateForUnmountedComponent[warningKey] = true);
61
+ }
62
+ function Component(props, context, updater) {
63
+ this.props = props;
64
+ this.context = context;
65
+ this.refs = emptyObject;
66
+ this.updater = updater || ReactNoopUpdateQueue;
67
+ }
68
+ function ComponentDummy() {
69
+ }
70
+ function PureComponent(props, context, updater) {
71
+ this.props = props;
72
+ this.context = context;
73
+ this.refs = emptyObject;
74
+ this.updater = updater || ReactNoopUpdateQueue;
75
+ }
76
+ function testStringCoercion(value) {
77
+ return "" + value;
78
+ }
79
+ function checkKeyStringCoercion(value) {
80
+ try {
81
+ testStringCoercion(value);
82
+ var JSCompiler_inline_result = false;
83
+ } catch (e) {
84
+ JSCompiler_inline_result = true;
85
+ }
86
+ if (JSCompiler_inline_result) {
87
+ JSCompiler_inline_result = console;
88
+ var JSCompiler_temp_const = JSCompiler_inline_result.error;
89
+ var JSCompiler_inline_result$jscomp$0 = "function" === typeof Symbol && Symbol.toStringTag && value[Symbol.toStringTag] || value.constructor.name || "Object";
90
+ JSCompiler_temp_const.call(
91
+ JSCompiler_inline_result,
92
+ "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",
93
+ JSCompiler_inline_result$jscomp$0
94
+ );
95
+ return testStringCoercion(value);
96
+ }
97
+ }
98
+ function getComponentNameFromType(type) {
99
+ if (null == type) return null;
100
+ if ("function" === typeof type)
101
+ return type.$$typeof === REACT_CLIENT_REFERENCE ? null : type.displayName || type.name || null;
102
+ if ("string" === typeof type) return type;
103
+ switch (type) {
104
+ case REACT_FRAGMENT_TYPE:
105
+ return "Fragment";
106
+ case REACT_PROFILER_TYPE:
107
+ return "Profiler";
108
+ case REACT_STRICT_MODE_TYPE:
109
+ return "StrictMode";
110
+ case REACT_SUSPENSE_TYPE:
111
+ return "Suspense";
112
+ case REACT_SUSPENSE_LIST_TYPE:
113
+ return "SuspenseList";
114
+ case REACT_ACTIVITY_TYPE:
115
+ return "Activity";
116
+ }
117
+ if ("object" === typeof type)
118
+ switch ("number" === typeof type.tag && console.error(
119
+ "Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."
120
+ ), type.$$typeof) {
121
+ case REACT_PORTAL_TYPE:
122
+ return "Portal";
123
+ case REACT_CONTEXT_TYPE:
124
+ return (type.displayName || "Context") + ".Provider";
125
+ case REACT_CONSUMER_TYPE:
126
+ return (type._context.displayName || "Context") + ".Consumer";
127
+ case REACT_FORWARD_REF_TYPE:
128
+ var innerType = type.render;
129
+ type = type.displayName;
130
+ type || (type = innerType.displayName || innerType.name || "", type = "" !== type ? "ForwardRef(" + type + ")" : "ForwardRef");
131
+ return type;
132
+ case REACT_MEMO_TYPE:
133
+ return innerType = type.displayName || null, null !== innerType ? innerType : getComponentNameFromType(type.type) || "Memo";
134
+ case REACT_LAZY_TYPE:
135
+ innerType = type._payload;
136
+ type = type._init;
137
+ try {
138
+ return getComponentNameFromType(type(innerType));
139
+ } catch (x) {
140
+ }
141
+ }
142
+ return null;
143
+ }
144
+ function getTaskName(type) {
145
+ if (type === REACT_FRAGMENT_TYPE) return "<>";
146
+ if ("object" === typeof type && null !== type && type.$$typeof === REACT_LAZY_TYPE)
147
+ return "<...>";
148
+ try {
149
+ var name = getComponentNameFromType(type);
150
+ return name ? "<" + name + ">" : "<...>";
151
+ } catch (x) {
152
+ return "<...>";
153
+ }
154
+ }
155
+ function getOwner() {
156
+ var dispatcher = ReactSharedInternals.A;
157
+ return null === dispatcher ? null : dispatcher.getOwner();
158
+ }
159
+ function UnknownOwner() {
160
+ return Error("react-stack-top-frame");
161
+ }
162
+ function hasValidKey(config) {
163
+ if (hasOwnProperty.call(config, "key")) {
164
+ var getter = Object.getOwnPropertyDescriptor(config, "key").get;
165
+ if (getter && getter.isReactWarning) return false;
166
+ }
167
+ return void 0 !== config.key;
168
+ }
169
+ function defineKeyPropWarningGetter(props, displayName) {
170
+ function warnAboutAccessingKey() {
171
+ specialPropKeyWarningShown || (specialPropKeyWarningShown = true, console.error(
172
+ "%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",
173
+ displayName
174
+ ));
175
+ }
176
+ warnAboutAccessingKey.isReactWarning = true;
177
+ Object.defineProperty(props, "key", {
178
+ get: warnAboutAccessingKey,
179
+ configurable: true
180
+ });
181
+ }
182
+ function elementRefGetterWithDeprecationWarning() {
183
+ var componentName = getComponentNameFromType(this.type);
184
+ didWarnAboutElementRef[componentName] || (didWarnAboutElementRef[componentName] = true, console.error(
185
+ "Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release."
186
+ ));
187
+ componentName = this.props.ref;
188
+ return void 0 !== componentName ? componentName : null;
189
+ }
190
+ function ReactElement(type, key, self, source, owner, props, debugStack, debugTask) {
191
+ self = props.ref;
192
+ type = {
193
+ $$typeof: REACT_ELEMENT_TYPE,
194
+ type,
195
+ key,
196
+ props,
197
+ _owner: owner
198
+ };
199
+ null !== (void 0 !== self ? self : null) ? Object.defineProperty(type, "ref", {
200
+ enumerable: false,
201
+ get: elementRefGetterWithDeprecationWarning
202
+ }) : Object.defineProperty(type, "ref", { enumerable: false, value: null });
203
+ type._store = {};
204
+ Object.defineProperty(type._store, "validated", {
205
+ configurable: false,
206
+ enumerable: false,
207
+ writable: true,
208
+ value: 0
209
+ });
210
+ Object.defineProperty(type, "_debugInfo", {
211
+ configurable: false,
212
+ enumerable: false,
213
+ writable: true,
214
+ value: null
215
+ });
216
+ Object.defineProperty(type, "_debugStack", {
217
+ configurable: false,
218
+ enumerable: false,
219
+ writable: true,
220
+ value: debugStack
221
+ });
222
+ Object.defineProperty(type, "_debugTask", {
223
+ configurable: false,
224
+ enumerable: false,
225
+ writable: true,
226
+ value: debugTask
227
+ });
228
+ Object.freeze && (Object.freeze(type.props), Object.freeze(type));
229
+ return type;
230
+ }
231
+ function cloneAndReplaceKey(oldElement, newKey) {
232
+ newKey = ReactElement(
233
+ oldElement.type,
234
+ newKey,
235
+ void 0,
236
+ void 0,
237
+ oldElement._owner,
238
+ oldElement.props,
239
+ oldElement._debugStack,
240
+ oldElement._debugTask
241
+ );
242
+ oldElement._store && (newKey._store.validated = oldElement._store.validated);
243
+ return newKey;
244
+ }
245
+ function isValidElement(object) {
246
+ return "object" === typeof object && null !== object && object.$$typeof === REACT_ELEMENT_TYPE;
247
+ }
248
+ function escape(key) {
249
+ var escaperLookup = { "=": "=0", ":": "=2" };
250
+ return "$" + key.replace(/[=:]/g, function(match) {
251
+ return escaperLookup[match];
252
+ });
253
+ }
254
+ function getElementKey(element, index) {
255
+ return "object" === typeof element && null !== element && null != element.key ? (checkKeyStringCoercion(element.key), escape("" + element.key)) : index.toString(36);
256
+ }
257
+ function noop$1() {
258
+ }
259
+ function resolveThenable(thenable) {
260
+ switch (thenable.status) {
261
+ case "fulfilled":
262
+ return thenable.value;
263
+ case "rejected":
264
+ throw thenable.reason;
265
+ default:
266
+ switch ("string" === typeof thenable.status ? thenable.then(noop$1, noop$1) : (thenable.status = "pending", thenable.then(
267
+ function(fulfilledValue) {
268
+ "pending" === thenable.status && (thenable.status = "fulfilled", thenable.value = fulfilledValue);
269
+ },
270
+ function(error) {
271
+ "pending" === thenable.status && (thenable.status = "rejected", thenable.reason = error);
272
+ }
273
+ )), thenable.status) {
274
+ case "fulfilled":
275
+ return thenable.value;
276
+ case "rejected":
277
+ throw thenable.reason;
278
+ }
279
+ }
280
+ throw thenable;
281
+ }
282
+ function mapIntoArray(children, array, escapedPrefix, nameSoFar, callback) {
283
+ var type = typeof children;
284
+ if ("undefined" === type || "boolean" === type) children = null;
285
+ var invokeCallback = false;
286
+ if (null === children) invokeCallback = true;
287
+ else
288
+ switch (type) {
289
+ case "bigint":
290
+ case "string":
291
+ case "number":
292
+ invokeCallback = true;
293
+ break;
294
+ case "object":
295
+ switch (children.$$typeof) {
296
+ case REACT_ELEMENT_TYPE:
297
+ case REACT_PORTAL_TYPE:
298
+ invokeCallback = true;
299
+ break;
300
+ case REACT_LAZY_TYPE:
301
+ return invokeCallback = children._init, mapIntoArray(
302
+ invokeCallback(children._payload),
303
+ array,
304
+ escapedPrefix,
305
+ nameSoFar,
306
+ callback
307
+ );
308
+ }
309
+ }
310
+ if (invokeCallback) {
311
+ invokeCallback = children;
312
+ callback = callback(invokeCallback);
313
+ var childKey = "" === nameSoFar ? "." + getElementKey(invokeCallback, 0) : nameSoFar;
314
+ isArrayImpl(callback) ? (escapedPrefix = "", null != childKey && (escapedPrefix = childKey.replace(userProvidedKeyEscapeRegex, "$&/") + "/"), mapIntoArray(callback, array, escapedPrefix, "", function(c) {
315
+ return c;
316
+ })) : null != callback && (isValidElement(callback) && (null != callback.key && (invokeCallback && invokeCallback.key === callback.key || checkKeyStringCoercion(callback.key)), escapedPrefix = cloneAndReplaceKey(
317
+ callback,
318
+ escapedPrefix + (null == callback.key || invokeCallback && invokeCallback.key === callback.key ? "" : ("" + callback.key).replace(
319
+ userProvidedKeyEscapeRegex,
320
+ "$&/"
321
+ ) + "/") + childKey
322
+ ), "" !== nameSoFar && null != invokeCallback && isValidElement(invokeCallback) && null == invokeCallback.key && invokeCallback._store && !invokeCallback._store.validated && (escapedPrefix._store.validated = 2), callback = escapedPrefix), array.push(callback));
323
+ return 1;
324
+ }
325
+ invokeCallback = 0;
326
+ childKey = "" === nameSoFar ? "." : nameSoFar + ":";
327
+ if (isArrayImpl(children))
328
+ for (var i = 0; i < children.length; i++)
329
+ nameSoFar = children[i], type = childKey + getElementKey(nameSoFar, i), invokeCallback += mapIntoArray(
330
+ nameSoFar,
331
+ array,
332
+ escapedPrefix,
333
+ type,
334
+ callback
335
+ );
336
+ else if (i = getIteratorFn(children), "function" === typeof i)
337
+ for (i === children.entries && (didWarnAboutMaps || console.warn(
338
+ "Using Maps as children is not supported. Use an array of keyed ReactElements instead."
339
+ ), didWarnAboutMaps = true), children = i.call(children), i = 0; !(nameSoFar = children.next()).done; )
340
+ nameSoFar = nameSoFar.value, type = childKey + getElementKey(nameSoFar, i++), invokeCallback += mapIntoArray(
341
+ nameSoFar,
342
+ array,
343
+ escapedPrefix,
344
+ type,
345
+ callback
346
+ );
347
+ else if ("object" === type) {
348
+ if ("function" === typeof children.then)
349
+ return mapIntoArray(
350
+ resolveThenable(children),
351
+ array,
352
+ escapedPrefix,
353
+ nameSoFar,
354
+ callback
355
+ );
356
+ array = String(children);
357
+ throw Error(
358
+ "Objects are not valid as a React child (found: " + ("[object Object]" === array ? "object with keys {" + Object.keys(children).join(", ") + "}" : array) + "). If you meant to render a collection of children, use an array instead."
359
+ );
360
+ }
361
+ return invokeCallback;
362
+ }
363
+ function mapChildren(children, func, context) {
364
+ if (null == children) return children;
365
+ var result = [], count = 0;
366
+ mapIntoArray(children, result, "", "", function(child) {
367
+ return func.call(context, child, count++);
368
+ });
369
+ return result;
370
+ }
371
+ function lazyInitializer(payload) {
372
+ if (-1 === payload._status) {
373
+ var ctor = payload._result;
374
+ ctor = ctor();
375
+ ctor.then(
376
+ function(moduleObject) {
377
+ if (0 === payload._status || -1 === payload._status)
378
+ payload._status = 1, payload._result = moduleObject;
379
+ },
380
+ function(error) {
381
+ if (0 === payload._status || -1 === payload._status)
382
+ payload._status = 2, payload._result = error;
383
+ }
384
+ );
385
+ -1 === payload._status && (payload._status = 0, payload._result = ctor);
386
+ }
387
+ if (1 === payload._status)
388
+ return ctor = payload._result, void 0 === ctor && console.error(
389
+ "lazy: Expected the result of a dynamic import() call. Instead received: %s\n\nYour code should look like: \n const MyComponent = lazy(() => import('./MyComponent'))\n\nDid you accidentally put curly braces around the import?",
390
+ ctor
391
+ ), "default" in ctor || console.error(
392
+ "lazy: Expected the result of a dynamic import() call. Instead received: %s\n\nYour code should look like: \n const MyComponent = lazy(() => import('./MyComponent'))",
393
+ ctor
394
+ ), ctor.default;
395
+ throw payload._result;
396
+ }
397
+ function resolveDispatcher() {
398
+ var dispatcher = ReactSharedInternals.H;
399
+ null === dispatcher && console.error(
400
+ "Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\n1. You might have mismatching versions of React and the renderer (such as React DOM)\n2. You might be breaking the Rules of Hooks\n3. You might have more than one copy of React in the same app\nSee https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem."
401
+ );
402
+ return dispatcher;
403
+ }
404
+ function noop() {
405
+ }
406
+ function enqueueTask(task) {
407
+ if (null === enqueueTaskImpl)
408
+ try {
409
+ var requireString = ("require" + Math.random()).slice(0, 7);
410
+ enqueueTaskImpl = (module && module[requireString]).call(
411
+ module,
412
+ "timers"
413
+ ).setImmediate;
414
+ } catch (_err) {
415
+ enqueueTaskImpl = function(callback) {
416
+ false === didWarnAboutMessageChannel && (didWarnAboutMessageChannel = true, "undefined" === typeof MessageChannel && console.error(
417
+ "This browser does not have a MessageChannel implementation, so enqueuing tasks via await act(async () => ...) will fail. Please file an issue at https://github.com/facebook/react/issues if you encounter this warning."
418
+ ));
419
+ var channel = new MessageChannel();
420
+ channel.port1.onmessage = callback;
421
+ channel.port2.postMessage(void 0);
422
+ };
423
+ }
424
+ return enqueueTaskImpl(task);
425
+ }
426
+ function aggregateErrors(errors) {
427
+ return 1 < errors.length && "function" === typeof AggregateError ? new AggregateError(errors) : errors[0];
428
+ }
429
+ function popActScope(prevActQueue, prevActScopeDepth) {
430
+ prevActScopeDepth !== actScopeDepth - 1 && console.error(
431
+ "You seem to have overlapping act() calls, this is not supported. Be sure to await previous act() calls before making a new one. "
432
+ );
433
+ actScopeDepth = prevActScopeDepth;
434
+ }
435
+ function recursivelyFlushAsyncActWork(returnValue, resolve, reject) {
436
+ var queue = ReactSharedInternals.actQueue;
437
+ if (null !== queue)
438
+ if (0 !== queue.length)
439
+ try {
440
+ flushActQueue(queue);
441
+ enqueueTask(function() {
442
+ return recursivelyFlushAsyncActWork(returnValue, resolve, reject);
443
+ });
444
+ return;
445
+ } catch (error) {
446
+ ReactSharedInternals.thrownErrors.push(error);
447
+ }
448
+ else ReactSharedInternals.actQueue = null;
449
+ 0 < ReactSharedInternals.thrownErrors.length ? (queue = aggregateErrors(ReactSharedInternals.thrownErrors), ReactSharedInternals.thrownErrors.length = 0, reject(queue)) : resolve(returnValue);
450
+ }
451
+ function flushActQueue(queue) {
452
+ if (!isFlushing) {
453
+ isFlushing = true;
454
+ var i = 0;
455
+ try {
456
+ for (; i < queue.length; i++) {
457
+ var callback = queue[i];
458
+ do {
459
+ ReactSharedInternals.didUsePromise = false;
460
+ var continuation = callback(false);
461
+ if (null !== continuation) {
462
+ if (ReactSharedInternals.didUsePromise) {
463
+ queue[i] = callback;
464
+ queue.splice(0, i);
465
+ return;
466
+ }
467
+ callback = continuation;
468
+ } else break;
469
+ } while (1);
470
+ }
471
+ queue.length = 0;
472
+ } catch (error) {
473
+ queue.splice(0, i + 1), ReactSharedInternals.thrownErrors.push(error);
474
+ } finally {
475
+ isFlushing = false;
476
+ }
477
+ }
478
+ }
479
+ "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());
480
+ var REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"), REACT_PORTAL_TYPE = Symbol.for("react.portal"), REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"), REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"), REACT_PROFILER_TYPE = Symbol.for("react.profiler");
481
+ Symbol.for("react.provider");
482
+ var REACT_CONSUMER_TYPE = Symbol.for("react.consumer"), REACT_CONTEXT_TYPE = Symbol.for("react.context"), REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"), REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"), REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list"), REACT_MEMO_TYPE = Symbol.for("react.memo"), REACT_LAZY_TYPE = Symbol.for("react.lazy"), REACT_ACTIVITY_TYPE = Symbol.for("react.activity"), MAYBE_ITERATOR_SYMBOL = Symbol.iterator, didWarnStateUpdateForUnmountedComponent = {}, ReactNoopUpdateQueue = {
483
+ isMounted: function() {
484
+ return false;
485
+ },
486
+ enqueueForceUpdate: function(publicInstance) {
487
+ warnNoop(publicInstance, "forceUpdate");
488
+ },
489
+ enqueueReplaceState: function(publicInstance) {
490
+ warnNoop(publicInstance, "replaceState");
491
+ },
492
+ enqueueSetState: function(publicInstance) {
493
+ warnNoop(publicInstance, "setState");
494
+ }
495
+ }, assign = Object.assign, emptyObject = {};
496
+ Object.freeze(emptyObject);
497
+ Component.prototype.isReactComponent = {};
498
+ Component.prototype.setState = function(partialState, callback) {
499
+ if ("object" !== typeof partialState && "function" !== typeof partialState && null != partialState)
500
+ throw Error(
501
+ "takes an object of state variables to update or a function which returns an object of state variables."
502
+ );
503
+ this.updater.enqueueSetState(this, partialState, callback, "setState");
504
+ };
505
+ Component.prototype.forceUpdate = function(callback) {
506
+ this.updater.enqueueForceUpdate(this, callback, "forceUpdate");
507
+ };
508
+ var deprecatedAPIs = {
509
+ isMounted: [
510
+ "isMounted",
511
+ "Instead, make sure to clean up subscriptions and pending requests in componentWillUnmount to prevent memory leaks."
512
+ ],
513
+ replaceState: [
514
+ "replaceState",
515
+ "Refactor your code to use setState instead (see https://github.com/facebook/react/issues/3236)."
516
+ ]
517
+ }, fnName;
518
+ for (fnName in deprecatedAPIs)
519
+ deprecatedAPIs.hasOwnProperty(fnName) && defineDeprecationWarning(fnName, deprecatedAPIs[fnName]);
520
+ ComponentDummy.prototype = Component.prototype;
521
+ deprecatedAPIs = PureComponent.prototype = new ComponentDummy();
522
+ deprecatedAPIs.constructor = PureComponent;
523
+ assign(deprecatedAPIs, Component.prototype);
524
+ deprecatedAPIs.isPureReactComponent = true;
525
+ var isArrayImpl = Array.isArray, REACT_CLIENT_REFERENCE = Symbol.for("react.client.reference"), ReactSharedInternals = {
526
+ H: null,
527
+ A: null,
528
+ T: null,
529
+ S: null,
530
+ V: null,
531
+ actQueue: null,
532
+ isBatchingLegacy: false,
533
+ didScheduleLegacyUpdate: false,
534
+ didUsePromise: false,
535
+ thrownErrors: [],
536
+ getCurrentStack: null,
537
+ recentlyCreatedOwnerStacks: 0
538
+ }, hasOwnProperty = Object.prototype.hasOwnProperty, createTask = console.createTask ? console.createTask : function() {
539
+ return null;
540
+ };
541
+ deprecatedAPIs = {
542
+ react_stack_bottom_frame: function(callStackForError) {
543
+ return callStackForError();
544
+ }
545
+ };
546
+ var specialPropKeyWarningShown, didWarnAboutOldJSXRuntime;
547
+ var didWarnAboutElementRef = {};
548
+ var unknownOwnerDebugStack = deprecatedAPIs.react_stack_bottom_frame.bind(
549
+ deprecatedAPIs,
550
+ UnknownOwner
551
+ )();
552
+ var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner));
553
+ var didWarnAboutMaps = false, userProvidedKeyEscapeRegex = /\/+/g, reportGlobalError = "function" === typeof reportError ? reportError : function(error) {
554
+ if ("object" === typeof window && "function" === typeof window.ErrorEvent) {
555
+ var event = new window.ErrorEvent("error", {
556
+ bubbles: true,
557
+ cancelable: true,
558
+ message: "object" === typeof error && null !== error && "string" === typeof error.message ? String(error.message) : String(error),
559
+ error
560
+ });
561
+ if (!window.dispatchEvent(event)) return;
562
+ } else if ("object" === typeof process && "function" === typeof process.emit) {
563
+ process.emit("uncaughtException", error);
564
+ return;
565
+ }
566
+ console.error(error);
567
+ }, didWarnAboutMessageChannel = false, enqueueTaskImpl = null, actScopeDepth = 0, didWarnNoAwaitAct = false, isFlushing = false, queueSeveralMicrotasks = "function" === typeof queueMicrotask ? function(callback) {
568
+ queueMicrotask(function() {
569
+ return queueMicrotask(callback);
570
+ });
571
+ } : enqueueTask;
572
+ deprecatedAPIs = Object.freeze({
573
+ __proto__: null,
574
+ c: function(size) {
575
+ return resolveDispatcher().useMemoCache(size);
576
+ }
577
+ });
578
+ exports.Children = {
579
+ map: mapChildren,
580
+ forEach: function(children, forEachFunc, forEachContext) {
581
+ mapChildren(
582
+ children,
583
+ function() {
584
+ forEachFunc.apply(this, arguments);
585
+ },
586
+ forEachContext
587
+ );
588
+ },
589
+ count: function(children) {
590
+ var n = 0;
591
+ mapChildren(children, function() {
592
+ n++;
593
+ });
594
+ return n;
595
+ },
596
+ toArray: function(children) {
597
+ return mapChildren(children, function(child) {
598
+ return child;
599
+ }) || [];
600
+ },
601
+ only: function(children) {
602
+ if (!isValidElement(children))
603
+ throw Error(
604
+ "React.Children.only expected to receive a single React element child."
605
+ );
606
+ return children;
607
+ }
608
+ };
609
+ exports.Component = Component;
610
+ exports.Fragment = REACT_FRAGMENT_TYPE;
611
+ exports.Profiler = REACT_PROFILER_TYPE;
612
+ exports.PureComponent = PureComponent;
613
+ exports.StrictMode = REACT_STRICT_MODE_TYPE;
614
+ exports.Suspense = REACT_SUSPENSE_TYPE;
615
+ exports.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE = ReactSharedInternals;
616
+ exports.__COMPILER_RUNTIME = deprecatedAPIs;
617
+ exports.act = function(callback) {
618
+ var prevActQueue = ReactSharedInternals.actQueue, prevActScopeDepth = actScopeDepth;
619
+ actScopeDepth++;
620
+ var queue = ReactSharedInternals.actQueue = null !== prevActQueue ? prevActQueue : [], didAwaitActCall = false;
621
+ try {
622
+ var result = callback();
623
+ } catch (error) {
624
+ ReactSharedInternals.thrownErrors.push(error);
625
+ }
626
+ if (0 < ReactSharedInternals.thrownErrors.length)
627
+ throw popActScope(prevActQueue, prevActScopeDepth), callback = aggregateErrors(ReactSharedInternals.thrownErrors), ReactSharedInternals.thrownErrors.length = 0, callback;
628
+ if (null !== result && "object" === typeof result && "function" === typeof result.then) {
629
+ var thenable = result;
630
+ queueSeveralMicrotasks(function() {
631
+ didAwaitActCall || didWarnNoAwaitAct || (didWarnNoAwaitAct = true, console.error(
632
+ "You called act(async () => ...) without await. This could lead to unexpected testing behaviour, interleaving multiple act calls and mixing their scopes. You should - await act(async () => ...);"
633
+ ));
634
+ });
635
+ return {
636
+ then: function(resolve, reject) {
637
+ didAwaitActCall = true;
638
+ thenable.then(
639
+ function(returnValue) {
640
+ popActScope(prevActQueue, prevActScopeDepth);
641
+ if (0 === prevActScopeDepth) {
642
+ try {
643
+ flushActQueue(queue), enqueueTask(function() {
644
+ return recursivelyFlushAsyncActWork(
645
+ returnValue,
646
+ resolve,
647
+ reject
648
+ );
649
+ });
650
+ } catch (error$0) {
651
+ ReactSharedInternals.thrownErrors.push(error$0);
652
+ }
653
+ if (0 < ReactSharedInternals.thrownErrors.length) {
654
+ var _thrownError = aggregateErrors(
655
+ ReactSharedInternals.thrownErrors
656
+ );
657
+ ReactSharedInternals.thrownErrors.length = 0;
658
+ reject(_thrownError);
659
+ }
660
+ } else resolve(returnValue);
661
+ },
662
+ function(error) {
663
+ popActScope(prevActQueue, prevActScopeDepth);
664
+ 0 < ReactSharedInternals.thrownErrors.length ? (error = aggregateErrors(
665
+ ReactSharedInternals.thrownErrors
666
+ ), ReactSharedInternals.thrownErrors.length = 0, reject(error)) : reject(error);
667
+ }
668
+ );
669
+ }
670
+ };
671
+ }
672
+ var returnValue$jscomp$0 = result;
673
+ popActScope(prevActQueue, prevActScopeDepth);
674
+ 0 === prevActScopeDepth && (flushActQueue(queue), 0 !== queue.length && queueSeveralMicrotasks(function() {
675
+ didAwaitActCall || didWarnNoAwaitAct || (didWarnNoAwaitAct = true, console.error(
676
+ "A component suspended inside an `act` scope, but the `act` call was not awaited. When testing React components that depend on asynchronous data, you must await the result:\n\nawait act(() => ...)"
677
+ ));
678
+ }), ReactSharedInternals.actQueue = null);
679
+ if (0 < ReactSharedInternals.thrownErrors.length)
680
+ throw callback = aggregateErrors(ReactSharedInternals.thrownErrors), ReactSharedInternals.thrownErrors.length = 0, callback;
681
+ return {
682
+ then: function(resolve, reject) {
683
+ didAwaitActCall = true;
684
+ 0 === prevActScopeDepth ? (ReactSharedInternals.actQueue = queue, enqueueTask(function() {
685
+ return recursivelyFlushAsyncActWork(
686
+ returnValue$jscomp$0,
687
+ resolve,
688
+ reject
689
+ );
690
+ })) : resolve(returnValue$jscomp$0);
691
+ }
692
+ };
693
+ };
694
+ exports.cache = function(fn) {
695
+ return function() {
696
+ return fn.apply(null, arguments);
697
+ };
698
+ };
699
+ exports.captureOwnerStack = function() {
700
+ var getCurrentStack = ReactSharedInternals.getCurrentStack;
701
+ return null === getCurrentStack ? null : getCurrentStack();
702
+ };
703
+ exports.cloneElement = function(element, config, children) {
704
+ if (null === element || void 0 === element)
705
+ throw Error(
706
+ "The argument must be a React element, but you passed " + element + "."
707
+ );
708
+ var props = assign({}, element.props), key = element.key, owner = element._owner;
709
+ if (null != config) {
710
+ var JSCompiler_inline_result;
711
+ a: {
712
+ if (hasOwnProperty.call(config, "ref") && (JSCompiler_inline_result = Object.getOwnPropertyDescriptor(
713
+ config,
714
+ "ref"
715
+ ).get) && JSCompiler_inline_result.isReactWarning) {
716
+ JSCompiler_inline_result = false;
717
+ break a;
718
+ }
719
+ JSCompiler_inline_result = void 0 !== config.ref;
720
+ }
721
+ JSCompiler_inline_result && (owner = getOwner());
722
+ hasValidKey(config) && (checkKeyStringCoercion(config.key), key = "" + config.key);
723
+ for (propName in config)
724
+ !hasOwnProperty.call(config, propName) || "key" === propName || "__self" === propName || "__source" === propName || "ref" === propName && void 0 === config.ref || (props[propName] = config[propName]);
725
+ }
726
+ var propName = arguments.length - 2;
727
+ if (1 === propName) props.children = children;
728
+ else if (1 < propName) {
729
+ JSCompiler_inline_result = Array(propName);
730
+ for (var i = 0; i < propName; i++)
731
+ JSCompiler_inline_result[i] = arguments[i + 2];
732
+ props.children = JSCompiler_inline_result;
733
+ }
734
+ props = ReactElement(
735
+ element.type,
736
+ key,
737
+ void 0,
738
+ void 0,
739
+ owner,
740
+ props,
741
+ element._debugStack,
742
+ element._debugTask
743
+ );
744
+ for (key = 2; key < arguments.length; key++)
745
+ owner = arguments[key], isValidElement(owner) && owner._store && (owner._store.validated = 1);
746
+ return props;
747
+ };
748
+ exports.createContext = function(defaultValue) {
749
+ defaultValue = {
750
+ $$typeof: REACT_CONTEXT_TYPE,
751
+ _currentValue: defaultValue,
752
+ _currentValue2: defaultValue,
753
+ _threadCount: 0,
754
+ Provider: null,
755
+ Consumer: null
756
+ };
757
+ defaultValue.Provider = defaultValue;
758
+ defaultValue.Consumer = {
759
+ $$typeof: REACT_CONSUMER_TYPE,
760
+ _context: defaultValue
761
+ };
762
+ defaultValue._currentRenderer = null;
763
+ defaultValue._currentRenderer2 = null;
764
+ return defaultValue;
765
+ };
766
+ exports.createElement = function(type, config, children) {
767
+ for (var i = 2; i < arguments.length; i++) {
768
+ var node = arguments[i];
769
+ isValidElement(node) && node._store && (node._store.validated = 1);
770
+ }
771
+ i = {};
772
+ node = null;
773
+ if (null != config)
774
+ for (propName in didWarnAboutOldJSXRuntime || !("__self" in config) || "key" in config || (didWarnAboutOldJSXRuntime = true, console.warn(
775
+ "Your app (or one of its dependencies) is using an outdated JSX transform. Update to the modern JSX transform for faster performance: https://react.dev/link/new-jsx-transform"
776
+ )), hasValidKey(config) && (checkKeyStringCoercion(config.key), node = "" + config.key), config)
777
+ hasOwnProperty.call(config, propName) && "key" !== propName && "__self" !== propName && "__source" !== propName && (i[propName] = config[propName]);
778
+ var childrenLength = arguments.length - 2;
779
+ if (1 === childrenLength) i.children = children;
780
+ else if (1 < childrenLength) {
781
+ for (var childArray = Array(childrenLength), _i = 0; _i < childrenLength; _i++)
782
+ childArray[_i] = arguments[_i + 2];
783
+ Object.freeze && Object.freeze(childArray);
784
+ i.children = childArray;
785
+ }
786
+ if (type && type.defaultProps)
787
+ for (propName in childrenLength = type.defaultProps, childrenLength)
788
+ void 0 === i[propName] && (i[propName] = childrenLength[propName]);
789
+ node && defineKeyPropWarningGetter(
790
+ i,
791
+ "function" === typeof type ? type.displayName || type.name || "Unknown" : type
792
+ );
793
+ var propName = 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;
794
+ return ReactElement(
795
+ type,
796
+ node,
797
+ void 0,
798
+ void 0,
799
+ getOwner(),
800
+ i,
801
+ propName ? Error("react-stack-top-frame") : unknownOwnerDebugStack,
802
+ propName ? createTask(getTaskName(type)) : unknownOwnerDebugTask
803
+ );
804
+ };
805
+ exports.createRef = function() {
806
+ var refObject = { current: null };
807
+ Object.seal(refObject);
808
+ return refObject;
809
+ };
810
+ exports.forwardRef = function(render) {
811
+ null != render && render.$$typeof === REACT_MEMO_TYPE ? console.error(
812
+ "forwardRef requires a render function but received a `memo` component. Instead of forwardRef(memo(...)), use memo(forwardRef(...))."
813
+ ) : "function" !== typeof render ? console.error(
814
+ "forwardRef requires a render function but was given %s.",
815
+ null === render ? "null" : typeof render
816
+ ) : 0 !== render.length && 2 !== render.length && console.error(
817
+ "forwardRef render functions accept exactly two parameters: props and ref. %s",
818
+ 1 === render.length ? "Did you forget to use the ref parameter?" : "Any additional parameter will be undefined."
819
+ );
820
+ null != render && null != render.defaultProps && console.error(
821
+ "forwardRef render functions do not support defaultProps. Did you accidentally pass a React component?"
822
+ );
823
+ var elementType = { $$typeof: REACT_FORWARD_REF_TYPE, render }, ownName;
824
+ Object.defineProperty(elementType, "displayName", {
825
+ enumerable: false,
826
+ configurable: true,
827
+ get: function() {
828
+ return ownName;
829
+ },
830
+ set: function(name) {
831
+ ownName = name;
832
+ render.name || render.displayName || (Object.defineProperty(render, "name", { value: name }), render.displayName = name);
833
+ }
834
+ });
835
+ return elementType;
836
+ };
837
+ exports.isValidElement = isValidElement;
838
+ exports.lazy = function(ctor) {
839
+ return {
840
+ $$typeof: REACT_LAZY_TYPE,
841
+ _payload: { _status: -1, _result: ctor },
842
+ _init: lazyInitializer
843
+ };
844
+ };
845
+ exports.memo = function(type, compare) {
846
+ null == type && console.error(
847
+ "memo: The first argument must be a component. Instead received: %s",
848
+ null === type ? "null" : typeof type
849
+ );
850
+ compare = {
851
+ $$typeof: REACT_MEMO_TYPE,
852
+ type,
853
+ compare: void 0 === compare ? null : compare
854
+ };
855
+ var ownName;
856
+ Object.defineProperty(compare, "displayName", {
857
+ enumerable: false,
858
+ configurable: true,
859
+ get: function() {
860
+ return ownName;
861
+ },
862
+ set: function(name) {
863
+ ownName = name;
864
+ type.name || type.displayName || (Object.defineProperty(type, "name", { value: name }), type.displayName = name);
865
+ }
866
+ });
867
+ return compare;
868
+ };
869
+ exports.startTransition = function(scope) {
870
+ var prevTransition = ReactSharedInternals.T, currentTransition = {};
871
+ ReactSharedInternals.T = currentTransition;
872
+ currentTransition._updatedFibers = /* @__PURE__ */ new Set();
873
+ try {
874
+ var returnValue = scope(), onStartTransitionFinish = ReactSharedInternals.S;
875
+ null !== onStartTransitionFinish && onStartTransitionFinish(currentTransition, returnValue);
876
+ "object" === typeof returnValue && null !== returnValue && "function" === typeof returnValue.then && returnValue.then(noop, reportGlobalError);
877
+ } catch (error) {
878
+ reportGlobalError(error);
879
+ } finally {
880
+ null === prevTransition && currentTransition._updatedFibers && (scope = currentTransition._updatedFibers.size, currentTransition._updatedFibers.clear(), 10 < scope && console.warn(
881
+ "Detected a large number of updates inside startTransition. If this is due to a subscription please re-write it to use React provided hooks. Otherwise concurrent mode guarantees are off the table."
882
+ )), ReactSharedInternals.T = prevTransition;
883
+ }
884
+ };
885
+ exports.unstable_useCacheRefresh = function() {
886
+ return resolveDispatcher().useCacheRefresh();
887
+ };
888
+ exports.use = function(usable) {
889
+ return resolveDispatcher().use(usable);
890
+ };
891
+ exports.useActionState = function(action, initialState, permalink) {
892
+ return resolveDispatcher().useActionState(
893
+ action,
894
+ initialState,
895
+ permalink
896
+ );
897
+ };
898
+ exports.useCallback = function(callback, deps) {
899
+ return resolveDispatcher().useCallback(callback, deps);
900
+ };
901
+ exports.useContext = function(Context) {
902
+ var dispatcher = resolveDispatcher();
903
+ Context.$$typeof === REACT_CONSUMER_TYPE && console.error(
904
+ "Calling useContext(Context.Consumer) is not supported and will cause bugs. Did you mean to call useContext(Context) instead?"
905
+ );
906
+ return dispatcher.useContext(Context);
907
+ };
908
+ exports.useDebugValue = function(value, formatterFn) {
909
+ return resolveDispatcher().useDebugValue(value, formatterFn);
910
+ };
911
+ exports.useDeferredValue = function(value, initialValue) {
912
+ return resolveDispatcher().useDeferredValue(value, initialValue);
913
+ };
914
+ exports.useEffect = function(create, createDeps, update) {
915
+ null == create && console.warn(
916
+ "React Hook useEffect requires an effect callback. Did you forget to pass a callback to the hook?"
917
+ );
918
+ var dispatcher = resolveDispatcher();
919
+ if ("function" === typeof update)
920
+ throw Error(
921
+ "useEffect CRUD overload is not enabled in this build of React."
922
+ );
923
+ return dispatcher.useEffect(create, createDeps);
924
+ };
925
+ exports.useId = function() {
926
+ return resolveDispatcher().useId();
927
+ };
928
+ exports.useImperativeHandle = function(ref, create, deps) {
929
+ return resolveDispatcher().useImperativeHandle(ref, create, deps);
930
+ };
931
+ exports.useInsertionEffect = function(create, deps) {
932
+ null == create && console.warn(
933
+ "React Hook useInsertionEffect requires an effect callback. Did you forget to pass a callback to the hook?"
934
+ );
935
+ return resolveDispatcher().useInsertionEffect(create, deps);
936
+ };
937
+ exports.useLayoutEffect = function(create, deps) {
938
+ null == create && console.warn(
939
+ "React Hook useLayoutEffect requires an effect callback. Did you forget to pass a callback to the hook?"
940
+ );
941
+ return resolveDispatcher().useLayoutEffect(create, deps);
942
+ };
943
+ exports.useMemo = function(create, deps) {
944
+ return resolveDispatcher().useMemo(create, deps);
945
+ };
946
+ exports.useOptimistic = function(passthrough, reducer) {
947
+ return resolveDispatcher().useOptimistic(passthrough, reducer);
948
+ };
949
+ exports.useReducer = function(reducer, initialArg, init) {
950
+ return resolveDispatcher().useReducer(reducer, initialArg, init);
951
+ };
952
+ exports.useRef = function(initialValue) {
953
+ return resolveDispatcher().useRef(initialValue);
954
+ };
955
+ exports.useState = function(initialState) {
956
+ return resolveDispatcher().useState(initialState);
957
+ };
958
+ exports.useSyncExternalStore = function(subscribe, getSnapshot, getServerSnapshot) {
959
+ return resolveDispatcher().useSyncExternalStore(
960
+ subscribe,
961
+ getSnapshot,
962
+ getServerSnapshot
963
+ );
964
+ };
965
+ exports.useTransition = function() {
966
+ return resolveDispatcher().useTransition();
967
+ };
968
+ exports.version = "19.1.1";
969
+ "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());
970
+ })();
971
+ }
972
+ });
973
+
974
+ // node_modules/react/index.js
975
+ var require_react = __commonJS({
976
+ "node_modules/react/index.js"(exports, module) {
977
+ if (false) {
978
+ module.exports = null;
979
+ } else {
980
+ module.exports = require_react_development();
981
+ }
982
+ }
983
+ });
984
+
985
+ export {
986
+ __commonJS,
987
+ __export,
988
+ __toESM,
989
+ require_react
990
+ };
991
+ /*! Bundled license information:
992
+
993
+ react/cjs/react.development.js:
994
+ (**
995
+ * @license React
996
+ * react.development.js
997
+ *
998
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
999
+ *
1000
+ * This source code is licensed under the MIT license found in the
1001
+ * LICENSE file in the root directory of this source tree.
1002
+ *)
1003
+ */
1004
+ //# sourceMappingURL=chunk-X4QARNC5.js.map
frontend/node_modules/.vite/deps/chunk-X4QARNC5.js.map ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../react/cjs/react.development.js", "../../react/index.js"],
4
+ "sourcesContent": ["/**\n * @license React\n * react.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n function defineDeprecationWarning(methodName, info) {\n Object.defineProperty(Component.prototype, methodName, {\n get: function () {\n console.warn(\n \"%s(...) is deprecated in plain JavaScript React classes. %s\",\n info[0],\n info[1]\n );\n }\n });\n }\n function getIteratorFn(maybeIterable) {\n if (null === maybeIterable || \"object\" !== typeof maybeIterable)\n return null;\n maybeIterable =\n (MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL]) ||\n maybeIterable[\"@@iterator\"];\n return \"function\" === typeof maybeIterable ? maybeIterable : null;\n }\n function warnNoop(publicInstance, callerName) {\n publicInstance =\n ((publicInstance = publicInstance.constructor) &&\n (publicInstance.displayName || publicInstance.name)) ||\n \"ReactClass\";\n var warningKey = publicInstance + \".\" + callerName;\n didWarnStateUpdateForUnmountedComponent[warningKey] ||\n (console.error(\n \"Can't call %s on a component that is not yet mounted. This is a no-op, but it might indicate a bug in your application. Instead, assign to `this.state` directly or define a `state = {};` class property with the desired state in the %s component.\",\n callerName,\n publicInstance\n ),\n (didWarnStateUpdateForUnmountedComponent[warningKey] = !0));\n }\n function Component(props, context, updater) {\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n }\n function ComponentDummy() {}\n function PureComponent(props, context, updater) {\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n }\n function testStringCoercion(value) {\n return \"\" + value;\n }\n function checkKeyStringCoercion(value) {\n try {\n testStringCoercion(value);\n var JSCompiler_inline_result = !1;\n } catch (e) {\n JSCompiler_inline_result = !0;\n }\n if (JSCompiler_inline_result) {\n JSCompiler_inline_result = console;\n var JSCompiler_temp_const = JSCompiler_inline_result.error;\n var JSCompiler_inline_result$jscomp$0 =\n (\"function\" === typeof Symbol &&\n Symbol.toStringTag &&\n value[Symbol.toStringTag]) ||\n value.constructor.name ||\n \"Object\";\n JSCompiler_temp_const.call(\n JSCompiler_inline_result,\n \"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.\",\n JSCompiler_inline_result$jscomp$0\n );\n return testStringCoercion(value);\n }\n }\n function getComponentNameFromType(type) {\n if (null == type) return null;\n if (\"function\" === typeof type)\n return type.$$typeof === REACT_CLIENT_REFERENCE\n ? null\n : type.displayName || type.name || null;\n if (\"string\" === typeof type) return type;\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return \"Fragment\";\n case REACT_PROFILER_TYPE:\n return \"Profiler\";\n case REACT_STRICT_MODE_TYPE:\n return \"StrictMode\";\n case REACT_SUSPENSE_TYPE:\n return \"Suspense\";\n case REACT_SUSPENSE_LIST_TYPE:\n return \"SuspenseList\";\n case REACT_ACTIVITY_TYPE:\n return \"Activity\";\n }\n if (\"object\" === typeof type)\n switch (\n (\"number\" === typeof type.tag &&\n console.error(\n \"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.\"\n ),\n type.$$typeof)\n ) {\n case REACT_PORTAL_TYPE:\n return \"Portal\";\n case REACT_CONTEXT_TYPE:\n return (type.displayName || \"Context\") + \".Provider\";\n case REACT_CONSUMER_TYPE:\n return (type._context.displayName || \"Context\") + \".Consumer\";\n case REACT_FORWARD_REF_TYPE:\n var innerType = type.render;\n type = type.displayName;\n type ||\n ((type = innerType.displayName || innerType.name || \"\"),\n (type = \"\" !== type ? \"ForwardRef(\" + type + \")\" : \"ForwardRef\"));\n return type;\n case REACT_MEMO_TYPE:\n return (\n (innerType = type.displayName || null),\n null !== innerType\n ? innerType\n : getComponentNameFromType(type.type) || \"Memo\"\n );\n case REACT_LAZY_TYPE:\n innerType = type._payload;\n type = type._init;\n try {\n return getComponentNameFromType(type(innerType));\n } catch (x) {}\n }\n return null;\n }\n function getTaskName(type) {\n if (type === REACT_FRAGMENT_TYPE) return \"<>\";\n if (\n \"object\" === typeof type &&\n null !== type &&\n type.$$typeof === REACT_LAZY_TYPE\n )\n return \"<...>\";\n try {\n var name = getComponentNameFromType(type);\n return name ? \"<\" + name + \">\" : \"<...>\";\n } catch (x) {\n return \"<...>\";\n }\n }\n function getOwner() {\n var dispatcher = ReactSharedInternals.A;\n return null === dispatcher ? null : dispatcher.getOwner();\n }\n function UnknownOwner() {\n return Error(\"react-stack-top-frame\");\n }\n function hasValidKey(config) {\n if (hasOwnProperty.call(config, \"key\")) {\n var getter = Object.getOwnPropertyDescriptor(config, \"key\").get;\n if (getter && getter.isReactWarning) return !1;\n }\n return void 0 !== config.key;\n }\n function defineKeyPropWarningGetter(props, displayName) {\n function warnAboutAccessingKey() {\n specialPropKeyWarningShown ||\n ((specialPropKeyWarningShown = !0),\n console.error(\n \"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)\",\n displayName\n ));\n }\n warnAboutAccessingKey.isReactWarning = !0;\n Object.defineProperty(props, \"key\", {\n get: warnAboutAccessingKey,\n configurable: !0\n });\n }\n function elementRefGetterWithDeprecationWarning() {\n var componentName = getComponentNameFromType(this.type);\n didWarnAboutElementRef[componentName] ||\n ((didWarnAboutElementRef[componentName] = !0),\n console.error(\n \"Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.\"\n ));\n componentName = this.props.ref;\n return void 0 !== componentName ? componentName : null;\n }\n function ReactElement(\n type,\n key,\n self,\n source,\n owner,\n props,\n debugStack,\n debugTask\n ) {\n self = props.ref;\n type = {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n props: props,\n _owner: owner\n };\n null !== (void 0 !== self ? self : null)\n ? Object.defineProperty(type, \"ref\", {\n enumerable: !1,\n get: elementRefGetterWithDeprecationWarning\n })\n : Object.defineProperty(type, \"ref\", { enumerable: !1, value: null });\n type._store = {};\n Object.defineProperty(type._store, \"validated\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: 0\n });\n Object.defineProperty(type, \"_debugInfo\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: null\n });\n Object.defineProperty(type, \"_debugStack\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugStack\n });\n Object.defineProperty(type, \"_debugTask\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugTask\n });\n Object.freeze && (Object.freeze(type.props), Object.freeze(type));\n return type;\n }\n function cloneAndReplaceKey(oldElement, newKey) {\n newKey = ReactElement(\n oldElement.type,\n newKey,\n void 0,\n void 0,\n oldElement._owner,\n oldElement.props,\n oldElement._debugStack,\n oldElement._debugTask\n );\n oldElement._store &&\n (newKey._store.validated = oldElement._store.validated);\n return newKey;\n }\n function isValidElement(object) {\n return (\n \"object\" === typeof object &&\n null !== object &&\n object.$$typeof === REACT_ELEMENT_TYPE\n );\n }\n function escape(key) {\n var escaperLookup = { \"=\": \"=0\", \":\": \"=2\" };\n return (\n \"$\" +\n key.replace(/[=:]/g, function (match) {\n return escaperLookup[match];\n })\n );\n }\n function getElementKey(element, index) {\n return \"object\" === typeof element &&\n null !== element &&\n null != element.key\n ? (checkKeyStringCoercion(element.key), escape(\"\" + element.key))\n : index.toString(36);\n }\n function noop$1() {}\n function resolveThenable(thenable) {\n switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n default:\n switch (\n (\"string\" === typeof thenable.status\n ? thenable.then(noop$1, noop$1)\n : ((thenable.status = \"pending\"),\n thenable.then(\n function (fulfilledValue) {\n \"pending\" === thenable.status &&\n ((thenable.status = \"fulfilled\"),\n (thenable.value = fulfilledValue));\n },\n function (error) {\n \"pending\" === thenable.status &&\n ((thenable.status = \"rejected\"),\n (thenable.reason = error));\n }\n )),\n thenable.status)\n ) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n }\n }\n throw thenable;\n }\n function mapIntoArray(children, array, escapedPrefix, nameSoFar, callback) {\n var type = typeof children;\n if (\"undefined\" === type || \"boolean\" === type) children = null;\n var invokeCallback = !1;\n if (null === children) invokeCallback = !0;\n else\n switch (type) {\n case \"bigint\":\n case \"string\":\n case \"number\":\n invokeCallback = !0;\n break;\n case \"object\":\n switch (children.$$typeof) {\n case REACT_ELEMENT_TYPE:\n case REACT_PORTAL_TYPE:\n invokeCallback = !0;\n break;\n case REACT_LAZY_TYPE:\n return (\n (invokeCallback = children._init),\n mapIntoArray(\n invokeCallback(children._payload),\n array,\n escapedPrefix,\n nameSoFar,\n callback\n )\n );\n }\n }\n if (invokeCallback) {\n invokeCallback = children;\n callback = callback(invokeCallback);\n var childKey =\n \"\" === nameSoFar ? \".\" + getElementKey(invokeCallback, 0) : nameSoFar;\n isArrayImpl(callback)\n ? ((escapedPrefix = \"\"),\n null != childKey &&\n (escapedPrefix =\n childKey.replace(userProvidedKeyEscapeRegex, \"$&/\") + \"/\"),\n mapIntoArray(callback, array, escapedPrefix, \"\", function (c) {\n return c;\n }))\n : null != callback &&\n (isValidElement(callback) &&\n (null != callback.key &&\n ((invokeCallback && invokeCallback.key === callback.key) ||\n checkKeyStringCoercion(callback.key)),\n (escapedPrefix = cloneAndReplaceKey(\n callback,\n escapedPrefix +\n (null == callback.key ||\n (invokeCallback && invokeCallback.key === callback.key)\n ? \"\"\n : (\"\" + callback.key).replace(\n userProvidedKeyEscapeRegex,\n \"$&/\"\n ) + \"/\") +\n childKey\n )),\n \"\" !== nameSoFar &&\n null != invokeCallback &&\n isValidElement(invokeCallback) &&\n null == invokeCallback.key &&\n invokeCallback._store &&\n !invokeCallback._store.validated &&\n (escapedPrefix._store.validated = 2),\n (callback = escapedPrefix)),\n array.push(callback));\n return 1;\n }\n invokeCallback = 0;\n childKey = \"\" === nameSoFar ? \".\" : nameSoFar + \":\";\n if (isArrayImpl(children))\n for (var i = 0; i < children.length; i++)\n (nameSoFar = children[i]),\n (type = childKey + getElementKey(nameSoFar, i)),\n (invokeCallback += mapIntoArray(\n nameSoFar,\n array,\n escapedPrefix,\n type,\n callback\n ));\n else if (((i = getIteratorFn(children)), \"function\" === typeof i))\n for (\n i === children.entries &&\n (didWarnAboutMaps ||\n console.warn(\n \"Using Maps as children is not supported. Use an array of keyed ReactElements instead.\"\n ),\n (didWarnAboutMaps = !0)),\n children = i.call(children),\n i = 0;\n !(nameSoFar = children.next()).done;\n\n )\n (nameSoFar = nameSoFar.value),\n (type = childKey + getElementKey(nameSoFar, i++)),\n (invokeCallback += mapIntoArray(\n nameSoFar,\n array,\n escapedPrefix,\n type,\n callback\n ));\n else if (\"object\" === type) {\n if (\"function\" === typeof children.then)\n return mapIntoArray(\n resolveThenable(children),\n array,\n escapedPrefix,\n nameSoFar,\n callback\n );\n array = String(children);\n throw Error(\n \"Objects are not valid as a React child (found: \" +\n (\"[object Object]\" === array\n ? \"object with keys {\" + Object.keys(children).join(\", \") + \"}\"\n : array) +\n \"). If you meant to render a collection of children, use an array instead.\"\n );\n }\n return invokeCallback;\n }\n function mapChildren(children, func, context) {\n if (null == children) return children;\n var result = [],\n count = 0;\n mapIntoArray(children, result, \"\", \"\", function (child) {\n return func.call(context, child, count++);\n });\n return result;\n }\n function lazyInitializer(payload) {\n if (-1 === payload._status) {\n var ctor = payload._result;\n ctor = ctor();\n ctor.then(\n function (moduleObject) {\n if (0 === payload._status || -1 === payload._status)\n (payload._status = 1), (payload._result = moduleObject);\n },\n function (error) {\n if (0 === payload._status || -1 === payload._status)\n (payload._status = 2), (payload._result = error);\n }\n );\n -1 === payload._status &&\n ((payload._status = 0), (payload._result = ctor));\n }\n if (1 === payload._status)\n return (\n (ctor = payload._result),\n void 0 === ctor &&\n console.error(\n \"lazy: Expected the result of a dynamic import() call. Instead received: %s\\n\\nYour code should look like: \\n const MyComponent = lazy(() => import('./MyComponent'))\\n\\nDid you accidentally put curly braces around the import?\",\n ctor\n ),\n \"default\" in ctor ||\n console.error(\n \"lazy: Expected the result of a dynamic import() call. Instead received: %s\\n\\nYour code should look like: \\n const MyComponent = lazy(() => import('./MyComponent'))\",\n ctor\n ),\n ctor.default\n );\n throw payload._result;\n }\n function resolveDispatcher() {\n var dispatcher = ReactSharedInternals.H;\n null === dispatcher &&\n console.error(\n \"Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\\n1. You might have mismatching versions of React and the renderer (such as React DOM)\\n2. You might be breaking the Rules of Hooks\\n3. You might have more than one copy of React in the same app\\nSee https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem.\"\n );\n return dispatcher;\n }\n function noop() {}\n function enqueueTask(task) {\n if (null === enqueueTaskImpl)\n try {\n var requireString = (\"require\" + Math.random()).slice(0, 7);\n enqueueTaskImpl = (module && module[requireString]).call(\n module,\n \"timers\"\n ).setImmediate;\n } catch (_err) {\n enqueueTaskImpl = function (callback) {\n !1 === didWarnAboutMessageChannel &&\n ((didWarnAboutMessageChannel = !0),\n \"undefined\" === typeof MessageChannel &&\n console.error(\n \"This browser does not have a MessageChannel implementation, so enqueuing tasks via await act(async () => ...) will fail. Please file an issue at https://github.com/facebook/react/issues if you encounter this warning.\"\n ));\n var channel = new MessageChannel();\n channel.port1.onmessage = callback;\n channel.port2.postMessage(void 0);\n };\n }\n return enqueueTaskImpl(task);\n }\n function aggregateErrors(errors) {\n return 1 < errors.length && \"function\" === typeof AggregateError\n ? new AggregateError(errors)\n : errors[0];\n }\n function popActScope(prevActQueue, prevActScopeDepth) {\n prevActScopeDepth !== actScopeDepth - 1 &&\n console.error(\n \"You seem to have overlapping act() calls, this is not supported. Be sure to await previous act() calls before making a new one. \"\n );\n actScopeDepth = prevActScopeDepth;\n }\n function recursivelyFlushAsyncActWork(returnValue, resolve, reject) {\n var queue = ReactSharedInternals.actQueue;\n if (null !== queue)\n if (0 !== queue.length)\n try {\n flushActQueue(queue);\n enqueueTask(function () {\n return recursivelyFlushAsyncActWork(returnValue, resolve, reject);\n });\n return;\n } catch (error) {\n ReactSharedInternals.thrownErrors.push(error);\n }\n else ReactSharedInternals.actQueue = null;\n 0 < ReactSharedInternals.thrownErrors.length\n ? ((queue = aggregateErrors(ReactSharedInternals.thrownErrors)),\n (ReactSharedInternals.thrownErrors.length = 0),\n reject(queue))\n : resolve(returnValue);\n }\n function flushActQueue(queue) {\n if (!isFlushing) {\n isFlushing = !0;\n var i = 0;\n try {\n for (; i < queue.length; i++) {\n var callback = queue[i];\n do {\n ReactSharedInternals.didUsePromise = !1;\n var continuation = callback(!1);\n if (null !== continuation) {\n if (ReactSharedInternals.didUsePromise) {\n queue[i] = callback;\n queue.splice(0, i);\n return;\n }\n callback = continuation;\n } else break;\n } while (1);\n }\n queue.length = 0;\n } catch (error) {\n queue.splice(0, i + 1), ReactSharedInternals.thrownErrors.push(error);\n } finally {\n isFlushing = !1;\n }\n }\n }\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&\n \"function\" ===\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart &&\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());\n var REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\");\n Symbol.for(\"react.provider\");\n var REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n REACT_ACTIVITY_TYPE = Symbol.for(\"react.activity\"),\n MAYBE_ITERATOR_SYMBOL = Symbol.iterator,\n didWarnStateUpdateForUnmountedComponent = {},\n ReactNoopUpdateQueue = {\n isMounted: function () {\n return !1;\n },\n enqueueForceUpdate: function (publicInstance) {\n warnNoop(publicInstance, \"forceUpdate\");\n },\n enqueueReplaceState: function (publicInstance) {\n warnNoop(publicInstance, \"replaceState\");\n },\n enqueueSetState: function (publicInstance) {\n warnNoop(publicInstance, \"setState\");\n }\n },\n assign = Object.assign,\n emptyObject = {};\n Object.freeze(emptyObject);\n Component.prototype.isReactComponent = {};\n Component.prototype.setState = function (partialState, callback) {\n if (\n \"object\" !== typeof partialState &&\n \"function\" !== typeof partialState &&\n null != partialState\n )\n throw Error(\n \"takes an object of state variables to update or a function which returns an object of state variables.\"\n );\n this.updater.enqueueSetState(this, partialState, callback, \"setState\");\n };\n Component.prototype.forceUpdate = function (callback) {\n this.updater.enqueueForceUpdate(this, callback, \"forceUpdate\");\n };\n var deprecatedAPIs = {\n isMounted: [\n \"isMounted\",\n \"Instead, make sure to clean up subscriptions and pending requests in componentWillUnmount to prevent memory leaks.\"\n ],\n replaceState: [\n \"replaceState\",\n \"Refactor your code to use setState instead (see https://github.com/facebook/react/issues/3236).\"\n ]\n },\n fnName;\n for (fnName in deprecatedAPIs)\n deprecatedAPIs.hasOwnProperty(fnName) &&\n defineDeprecationWarning(fnName, deprecatedAPIs[fnName]);\n ComponentDummy.prototype = Component.prototype;\n deprecatedAPIs = PureComponent.prototype = new ComponentDummy();\n deprecatedAPIs.constructor = PureComponent;\n assign(deprecatedAPIs, Component.prototype);\n deprecatedAPIs.isPureReactComponent = !0;\n var isArrayImpl = Array.isArray,\n REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\"),\n ReactSharedInternals = {\n H: null,\n A: null,\n T: null,\n S: null,\n V: null,\n actQueue: null,\n isBatchingLegacy: !1,\n didScheduleLegacyUpdate: !1,\n didUsePromise: !1,\n thrownErrors: [],\n getCurrentStack: null,\n recentlyCreatedOwnerStacks: 0\n },\n hasOwnProperty = Object.prototype.hasOwnProperty,\n createTask = console.createTask\n ? console.createTask\n : function () {\n return null;\n };\n deprecatedAPIs = {\n react_stack_bottom_frame: function (callStackForError) {\n return callStackForError();\n }\n };\n var specialPropKeyWarningShown, didWarnAboutOldJSXRuntime;\n var didWarnAboutElementRef = {};\n var unknownOwnerDebugStack = deprecatedAPIs.react_stack_bottom_frame.bind(\n deprecatedAPIs,\n UnknownOwner\n )();\n var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner));\n var didWarnAboutMaps = !1,\n userProvidedKeyEscapeRegex = /\\/+/g,\n reportGlobalError =\n \"function\" === typeof reportError\n ? reportError\n : function (error) {\n if (\n \"object\" === typeof window &&\n \"function\" === typeof window.ErrorEvent\n ) {\n var event = new window.ErrorEvent(\"error\", {\n bubbles: !0,\n cancelable: !0,\n message:\n \"object\" === typeof error &&\n null !== error &&\n \"string\" === typeof error.message\n ? String(error.message)\n : String(error),\n error: error\n });\n if (!window.dispatchEvent(event)) return;\n } else if (\n \"object\" === typeof process &&\n \"function\" === typeof process.emit\n ) {\n process.emit(\"uncaughtException\", error);\n return;\n }\n console.error(error);\n },\n didWarnAboutMessageChannel = !1,\n enqueueTaskImpl = null,\n actScopeDepth = 0,\n didWarnNoAwaitAct = !1,\n isFlushing = !1,\n queueSeveralMicrotasks =\n \"function\" === typeof queueMicrotask\n ? function (callback) {\n queueMicrotask(function () {\n return queueMicrotask(callback);\n });\n }\n : enqueueTask;\n deprecatedAPIs = Object.freeze({\n __proto__: null,\n c: function (size) {\n return resolveDispatcher().useMemoCache(size);\n }\n });\n exports.Children = {\n map: mapChildren,\n forEach: function (children, forEachFunc, forEachContext) {\n mapChildren(\n children,\n function () {\n forEachFunc.apply(this, arguments);\n },\n forEachContext\n );\n },\n count: function (children) {\n var n = 0;\n mapChildren(children, function () {\n n++;\n });\n return n;\n },\n toArray: function (children) {\n return (\n mapChildren(children, function (child) {\n return child;\n }) || []\n );\n },\n only: function (children) {\n if (!isValidElement(children))\n throw Error(\n \"React.Children.only expected to receive a single React element child.\"\n );\n return children;\n }\n };\n exports.Component = Component;\n exports.Fragment = REACT_FRAGMENT_TYPE;\n exports.Profiler = REACT_PROFILER_TYPE;\n exports.PureComponent = PureComponent;\n exports.StrictMode = REACT_STRICT_MODE_TYPE;\n exports.Suspense = REACT_SUSPENSE_TYPE;\n exports.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE =\n ReactSharedInternals;\n exports.__COMPILER_RUNTIME = deprecatedAPIs;\n exports.act = function (callback) {\n var prevActQueue = ReactSharedInternals.actQueue,\n prevActScopeDepth = actScopeDepth;\n actScopeDepth++;\n var queue = (ReactSharedInternals.actQueue =\n null !== prevActQueue ? prevActQueue : []),\n didAwaitActCall = !1;\n try {\n var result = callback();\n } catch (error) {\n ReactSharedInternals.thrownErrors.push(error);\n }\n if (0 < ReactSharedInternals.thrownErrors.length)\n throw (\n (popActScope(prevActQueue, prevActScopeDepth),\n (callback = aggregateErrors(ReactSharedInternals.thrownErrors)),\n (ReactSharedInternals.thrownErrors.length = 0),\n callback)\n );\n if (\n null !== result &&\n \"object\" === typeof result &&\n \"function\" === typeof result.then\n ) {\n var thenable = result;\n queueSeveralMicrotasks(function () {\n didAwaitActCall ||\n didWarnNoAwaitAct ||\n ((didWarnNoAwaitAct = !0),\n console.error(\n \"You called act(async () => ...) without await. This could lead to unexpected testing behaviour, interleaving multiple act calls and mixing their scopes. You should - await act(async () => ...);\"\n ));\n });\n return {\n then: function (resolve, reject) {\n didAwaitActCall = !0;\n thenable.then(\n function (returnValue) {\n popActScope(prevActQueue, prevActScopeDepth);\n if (0 === prevActScopeDepth) {\n try {\n flushActQueue(queue),\n enqueueTask(function () {\n return recursivelyFlushAsyncActWork(\n returnValue,\n resolve,\n reject\n );\n });\n } catch (error$0) {\n ReactSharedInternals.thrownErrors.push(error$0);\n }\n if (0 < ReactSharedInternals.thrownErrors.length) {\n var _thrownError = aggregateErrors(\n ReactSharedInternals.thrownErrors\n );\n ReactSharedInternals.thrownErrors.length = 0;\n reject(_thrownError);\n }\n } else resolve(returnValue);\n },\n function (error) {\n popActScope(prevActQueue, prevActScopeDepth);\n 0 < ReactSharedInternals.thrownErrors.length\n ? ((error = aggregateErrors(\n ReactSharedInternals.thrownErrors\n )),\n (ReactSharedInternals.thrownErrors.length = 0),\n reject(error))\n : reject(error);\n }\n );\n }\n };\n }\n var returnValue$jscomp$0 = result;\n popActScope(prevActQueue, prevActScopeDepth);\n 0 === prevActScopeDepth &&\n (flushActQueue(queue),\n 0 !== queue.length &&\n queueSeveralMicrotasks(function () {\n didAwaitActCall ||\n didWarnNoAwaitAct ||\n ((didWarnNoAwaitAct = !0),\n console.error(\n \"A component suspended inside an `act` scope, but the `act` call was not awaited. When testing React components that depend on asynchronous data, you must await the result:\\n\\nawait act(() => ...)\"\n ));\n }),\n (ReactSharedInternals.actQueue = null));\n if (0 < ReactSharedInternals.thrownErrors.length)\n throw (\n ((callback = aggregateErrors(ReactSharedInternals.thrownErrors)),\n (ReactSharedInternals.thrownErrors.length = 0),\n callback)\n );\n return {\n then: function (resolve, reject) {\n didAwaitActCall = !0;\n 0 === prevActScopeDepth\n ? ((ReactSharedInternals.actQueue = queue),\n enqueueTask(function () {\n return recursivelyFlushAsyncActWork(\n returnValue$jscomp$0,\n resolve,\n reject\n );\n }))\n : resolve(returnValue$jscomp$0);\n }\n };\n };\n exports.cache = function (fn) {\n return function () {\n return fn.apply(null, arguments);\n };\n };\n exports.captureOwnerStack = function () {\n var getCurrentStack = ReactSharedInternals.getCurrentStack;\n return null === getCurrentStack ? null : getCurrentStack();\n };\n exports.cloneElement = function (element, config, children) {\n if (null === element || void 0 === element)\n throw Error(\n \"The argument must be a React element, but you passed \" +\n element +\n \".\"\n );\n var props = assign({}, element.props),\n key = element.key,\n owner = element._owner;\n if (null != config) {\n var JSCompiler_inline_result;\n a: {\n if (\n hasOwnProperty.call(config, \"ref\") &&\n (JSCompiler_inline_result = Object.getOwnPropertyDescriptor(\n config,\n \"ref\"\n ).get) &&\n JSCompiler_inline_result.isReactWarning\n ) {\n JSCompiler_inline_result = !1;\n break a;\n }\n JSCompiler_inline_result = void 0 !== config.ref;\n }\n JSCompiler_inline_result && (owner = getOwner());\n hasValidKey(config) &&\n (checkKeyStringCoercion(config.key), (key = \"\" + config.key));\n for (propName in config)\n !hasOwnProperty.call(config, propName) ||\n \"key\" === propName ||\n \"__self\" === propName ||\n \"__source\" === propName ||\n (\"ref\" === propName && void 0 === config.ref) ||\n (props[propName] = config[propName]);\n }\n var propName = arguments.length - 2;\n if (1 === propName) props.children = children;\n else if (1 < propName) {\n JSCompiler_inline_result = Array(propName);\n for (var i = 0; i < propName; i++)\n JSCompiler_inline_result[i] = arguments[i + 2];\n props.children = JSCompiler_inline_result;\n }\n props = ReactElement(\n element.type,\n key,\n void 0,\n void 0,\n owner,\n props,\n element._debugStack,\n element._debugTask\n );\n for (key = 2; key < arguments.length; key++)\n (owner = arguments[key]),\n isValidElement(owner) && owner._store && (owner._store.validated = 1);\n return props;\n };\n exports.createContext = function (defaultValue) {\n defaultValue = {\n $$typeof: REACT_CONTEXT_TYPE,\n _currentValue: defaultValue,\n _currentValue2: defaultValue,\n _threadCount: 0,\n Provider: null,\n Consumer: null\n };\n defaultValue.Provider = defaultValue;\n defaultValue.Consumer = {\n $$typeof: REACT_CONSUMER_TYPE,\n _context: defaultValue\n };\n defaultValue._currentRenderer = null;\n defaultValue._currentRenderer2 = null;\n return defaultValue;\n };\n exports.createElement = function (type, config, children) {\n for (var i = 2; i < arguments.length; i++) {\n var node = arguments[i];\n isValidElement(node) && node._store && (node._store.validated = 1);\n }\n i = {};\n node = null;\n if (null != config)\n for (propName in (didWarnAboutOldJSXRuntime ||\n !(\"__self\" in config) ||\n \"key\" in config ||\n ((didWarnAboutOldJSXRuntime = !0),\n console.warn(\n \"Your app (or one of its dependencies) is using an outdated JSX transform. Update to the modern JSX transform for faster performance: https://react.dev/link/new-jsx-transform\"\n )),\n hasValidKey(config) &&\n (checkKeyStringCoercion(config.key), (node = \"\" + config.key)),\n config))\n hasOwnProperty.call(config, propName) &&\n \"key\" !== propName &&\n \"__self\" !== propName &&\n \"__source\" !== propName &&\n (i[propName] = config[propName]);\n var childrenLength = arguments.length - 2;\n if (1 === childrenLength) i.children = children;\n else if (1 < childrenLength) {\n for (\n var childArray = Array(childrenLength), _i = 0;\n _i < childrenLength;\n _i++\n )\n childArray[_i] = arguments[_i + 2];\n Object.freeze && Object.freeze(childArray);\n i.children = childArray;\n }\n if (type && type.defaultProps)\n for (propName in ((childrenLength = type.defaultProps), childrenLength))\n void 0 === i[propName] && (i[propName] = childrenLength[propName]);\n node &&\n defineKeyPropWarningGetter(\n i,\n \"function\" === typeof type\n ? type.displayName || type.name || \"Unknown\"\n : type\n );\n var propName = 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;\n return ReactElement(\n type,\n node,\n void 0,\n void 0,\n getOwner(),\n i,\n propName ? Error(\"react-stack-top-frame\") : unknownOwnerDebugStack,\n propName ? createTask(getTaskName(type)) : unknownOwnerDebugTask\n );\n };\n exports.createRef = function () {\n var refObject = { current: null };\n Object.seal(refObject);\n return refObject;\n };\n exports.forwardRef = function (render) {\n null != render && render.$$typeof === REACT_MEMO_TYPE\n ? console.error(\n \"forwardRef requires a render function but received a `memo` component. Instead of forwardRef(memo(...)), use memo(forwardRef(...)).\"\n )\n : \"function\" !== typeof render\n ? console.error(\n \"forwardRef requires a render function but was given %s.\",\n null === render ? \"null\" : typeof render\n )\n : 0 !== render.length &&\n 2 !== render.length &&\n console.error(\n \"forwardRef render functions accept exactly two parameters: props and ref. %s\",\n 1 === render.length\n ? \"Did you forget to use the ref parameter?\"\n : \"Any additional parameter will be undefined.\"\n );\n null != render &&\n null != render.defaultProps &&\n console.error(\n \"forwardRef render functions do not support defaultProps. Did you accidentally pass a React component?\"\n );\n var elementType = { $$typeof: REACT_FORWARD_REF_TYPE, render: render },\n ownName;\n Object.defineProperty(elementType, \"displayName\", {\n enumerable: !1,\n configurable: !0,\n get: function () {\n return ownName;\n },\n set: function (name) {\n ownName = name;\n render.name ||\n render.displayName ||\n (Object.defineProperty(render, \"name\", { value: name }),\n (render.displayName = name));\n }\n });\n return elementType;\n };\n exports.isValidElement = isValidElement;\n exports.lazy = function (ctor) {\n return {\n $$typeof: REACT_LAZY_TYPE,\n _payload: { _status: -1, _result: ctor },\n _init: lazyInitializer\n };\n };\n exports.memo = function (type, compare) {\n null == type &&\n console.error(\n \"memo: The first argument must be a component. Instead received: %s\",\n null === type ? \"null\" : typeof type\n );\n compare = {\n $$typeof: REACT_MEMO_TYPE,\n type: type,\n compare: void 0 === compare ? null : compare\n };\n var ownName;\n Object.defineProperty(compare, \"displayName\", {\n enumerable: !1,\n configurable: !0,\n get: function () {\n return ownName;\n },\n set: function (name) {\n ownName = name;\n type.name ||\n type.displayName ||\n (Object.defineProperty(type, \"name\", { value: name }),\n (type.displayName = name));\n }\n });\n return compare;\n };\n exports.startTransition = function (scope) {\n var prevTransition = ReactSharedInternals.T,\n currentTransition = {};\n ReactSharedInternals.T = currentTransition;\n currentTransition._updatedFibers = new Set();\n try {\n var returnValue = scope(),\n onStartTransitionFinish = ReactSharedInternals.S;\n null !== onStartTransitionFinish &&\n onStartTransitionFinish(currentTransition, returnValue);\n \"object\" === typeof returnValue &&\n null !== returnValue &&\n \"function\" === typeof returnValue.then &&\n returnValue.then(noop, reportGlobalError);\n } catch (error) {\n reportGlobalError(error);\n } finally {\n null === prevTransition &&\n currentTransition._updatedFibers &&\n ((scope = currentTransition._updatedFibers.size),\n currentTransition._updatedFibers.clear(),\n 10 < scope &&\n console.warn(\n \"Detected a large number of updates inside startTransition. If this is due to a subscription please re-write it to use React provided hooks. Otherwise concurrent mode guarantees are off the table.\"\n )),\n (ReactSharedInternals.T = prevTransition);\n }\n };\n exports.unstable_useCacheRefresh = function () {\n return resolveDispatcher().useCacheRefresh();\n };\n exports.use = function (usable) {\n return resolveDispatcher().use(usable);\n };\n exports.useActionState = function (action, initialState, permalink) {\n return resolveDispatcher().useActionState(\n action,\n initialState,\n permalink\n );\n };\n exports.useCallback = function (callback, deps) {\n return resolveDispatcher().useCallback(callback, deps);\n };\n exports.useContext = function (Context) {\n var dispatcher = resolveDispatcher();\n Context.$$typeof === REACT_CONSUMER_TYPE &&\n console.error(\n \"Calling useContext(Context.Consumer) is not supported and will cause bugs. Did you mean to call useContext(Context) instead?\"\n );\n return dispatcher.useContext(Context);\n };\n exports.useDebugValue = function (value, formatterFn) {\n return resolveDispatcher().useDebugValue(value, formatterFn);\n };\n exports.useDeferredValue = function (value, initialValue) {\n return resolveDispatcher().useDeferredValue(value, initialValue);\n };\n exports.useEffect = function (create, createDeps, update) {\n null == create &&\n console.warn(\n \"React Hook useEffect requires an effect callback. Did you forget to pass a callback to the hook?\"\n );\n var dispatcher = resolveDispatcher();\n if (\"function\" === typeof update)\n throw Error(\n \"useEffect CRUD overload is not enabled in this build of React.\"\n );\n return dispatcher.useEffect(create, createDeps);\n };\n exports.useId = function () {\n return resolveDispatcher().useId();\n };\n exports.useImperativeHandle = function (ref, create, deps) {\n return resolveDispatcher().useImperativeHandle(ref, create, deps);\n };\n exports.useInsertionEffect = function (create, deps) {\n null == create &&\n console.warn(\n \"React Hook useInsertionEffect requires an effect callback. Did you forget to pass a callback to the hook?\"\n );\n return resolveDispatcher().useInsertionEffect(create, deps);\n };\n exports.useLayoutEffect = function (create, deps) {\n null == create &&\n console.warn(\n \"React Hook useLayoutEffect requires an effect callback. Did you forget to pass a callback to the hook?\"\n );\n return resolveDispatcher().useLayoutEffect(create, deps);\n };\n exports.useMemo = function (create, deps) {\n return resolveDispatcher().useMemo(create, deps);\n };\n exports.useOptimistic = function (passthrough, reducer) {\n return resolveDispatcher().useOptimistic(passthrough, reducer);\n };\n exports.useReducer = function (reducer, initialArg, init) {\n return resolveDispatcher().useReducer(reducer, initialArg, init);\n };\n exports.useRef = function (initialValue) {\n return resolveDispatcher().useRef(initialValue);\n };\n exports.useState = function (initialState) {\n return resolveDispatcher().useState(initialState);\n };\n exports.useSyncExternalStore = function (\n subscribe,\n getSnapshot,\n getServerSnapshot\n ) {\n return resolveDispatcher().useSyncExternalStore(\n subscribe,\n getSnapshot,\n getServerSnapshot\n );\n };\n exports.useTransition = function () {\n return resolveDispatcher().useTransition();\n };\n exports.version = \"19.1.1\";\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&\n \"function\" ===\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());\n })();\n", "'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
frontend/node_modules/.vite/deps/package.json ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ {
2
+ "type": "module"
3
+ }
frontend/node_modules/.vite/deps/react-dom.js ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ import {
2
+ require_react_dom
3
+ } from "./chunk-I5HANLAN.js";
4
+ import "./chunk-X4QARNC5.js";
5
+ export default require_react_dom();
frontend/node_modules/.vite/deps/react-dom.js.map ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
frontend/node_modules/.vite/deps/react-dom_client.js ADDED
The diff for this file is too large to render. See raw diff
 
frontend/node_modules/.vite/deps/react-dom_client.js.map ADDED
The diff for this file is too large to render. See raw diff
 
frontend/node_modules/.vite/deps/react.js ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ import {
2
+ require_react
3
+ } from "./chunk-X4QARNC5.js";
4
+ export default require_react();
frontend/node_modules/.vite/deps/react.js.map ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
frontend/node_modules/.vite/deps/react_jsx-dev-runtime.js ADDED
@@ -0,0 +1,279 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import {
2
+ __commonJS,
3
+ require_react
4
+ } from "./chunk-X4QARNC5.js";
5
+
6
+ // node_modules/react/cjs/react-jsx-dev-runtime.development.js
7
+ var require_react_jsx_dev_runtime_development = __commonJS({
8
+ "node_modules/react/cjs/react-jsx-dev-runtime.development.js"(exports) {
9
+ "use strict";
10
+ (function() {
11
+ function getComponentNameFromType(type) {
12
+ if (null == type) return null;
13
+ if ("function" === typeof type)
14
+ return type.$$typeof === REACT_CLIENT_REFERENCE ? null : type.displayName || type.name || null;
15
+ if ("string" === typeof type) return type;
16
+ switch (type) {
17
+ case REACT_FRAGMENT_TYPE:
18
+ return "Fragment";
19
+ case REACT_PROFILER_TYPE:
20
+ return "Profiler";
21
+ case REACT_STRICT_MODE_TYPE:
22
+ return "StrictMode";
23
+ case REACT_SUSPENSE_TYPE:
24
+ return "Suspense";
25
+ case REACT_SUSPENSE_LIST_TYPE:
26
+ return "SuspenseList";
27
+ case REACT_ACTIVITY_TYPE:
28
+ return "Activity";
29
+ }
30
+ if ("object" === typeof type)
31
+ switch ("number" === typeof type.tag && console.error(
32
+ "Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."
33
+ ), type.$$typeof) {
34
+ case REACT_PORTAL_TYPE:
35
+ return "Portal";
36
+ case REACT_CONTEXT_TYPE:
37
+ return (type.displayName || "Context") + ".Provider";
38
+ case REACT_CONSUMER_TYPE:
39
+ return (type._context.displayName || "Context") + ".Consumer";
40
+ case REACT_FORWARD_REF_TYPE:
41
+ var innerType = type.render;
42
+ type = type.displayName;
43
+ type || (type = innerType.displayName || innerType.name || "", type = "" !== type ? "ForwardRef(" + type + ")" : "ForwardRef");
44
+ return type;
45
+ case REACT_MEMO_TYPE:
46
+ return innerType = type.displayName || null, null !== innerType ? innerType : getComponentNameFromType(type.type) || "Memo";
47
+ case REACT_LAZY_TYPE:
48
+ innerType = type._payload;
49
+ type = type._init;
50
+ try {
51
+ return getComponentNameFromType(type(innerType));
52
+ } catch (x) {
53
+ }
54
+ }
55
+ return null;
56
+ }
57
+ function testStringCoercion(value) {
58
+ return "" + value;
59
+ }
60
+ function checkKeyStringCoercion(value) {
61
+ try {
62
+ testStringCoercion(value);
63
+ var JSCompiler_inline_result = false;
64
+ } catch (e) {
65
+ JSCompiler_inline_result = true;
66
+ }
67
+ if (JSCompiler_inline_result) {
68
+ JSCompiler_inline_result = console;
69
+ var JSCompiler_temp_const = JSCompiler_inline_result.error;
70
+ var JSCompiler_inline_result$jscomp$0 = "function" === typeof Symbol && Symbol.toStringTag && value[Symbol.toStringTag] || value.constructor.name || "Object";
71
+ JSCompiler_temp_const.call(
72
+ JSCompiler_inline_result,
73
+ "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",
74
+ JSCompiler_inline_result$jscomp$0
75
+ );
76
+ return testStringCoercion(value);
77
+ }
78
+ }
79
+ function getTaskName(type) {
80
+ if (type === REACT_FRAGMENT_TYPE) return "<>";
81
+ if ("object" === typeof type && null !== type && type.$$typeof === REACT_LAZY_TYPE)
82
+ return "<...>";
83
+ try {
84
+ var name = getComponentNameFromType(type);
85
+ return name ? "<" + name + ">" : "<...>";
86
+ } catch (x) {
87
+ return "<...>";
88
+ }
89
+ }
90
+ function getOwner() {
91
+ var dispatcher = ReactSharedInternals.A;
92
+ return null === dispatcher ? null : dispatcher.getOwner();
93
+ }
94
+ function UnknownOwner() {
95
+ return Error("react-stack-top-frame");
96
+ }
97
+ function hasValidKey(config) {
98
+ if (hasOwnProperty.call(config, "key")) {
99
+ var getter = Object.getOwnPropertyDescriptor(config, "key").get;
100
+ if (getter && getter.isReactWarning) return false;
101
+ }
102
+ return void 0 !== config.key;
103
+ }
104
+ function defineKeyPropWarningGetter(props, displayName) {
105
+ function warnAboutAccessingKey() {
106
+ specialPropKeyWarningShown || (specialPropKeyWarningShown = true, console.error(
107
+ "%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",
108
+ displayName
109
+ ));
110
+ }
111
+ warnAboutAccessingKey.isReactWarning = true;
112
+ Object.defineProperty(props, "key", {
113
+ get: warnAboutAccessingKey,
114
+ configurable: true
115
+ });
116
+ }
117
+ function elementRefGetterWithDeprecationWarning() {
118
+ var componentName = getComponentNameFromType(this.type);
119
+ didWarnAboutElementRef[componentName] || (didWarnAboutElementRef[componentName] = true, console.error(
120
+ "Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release."
121
+ ));
122
+ componentName = this.props.ref;
123
+ return void 0 !== componentName ? componentName : null;
124
+ }
125
+ function ReactElement(type, key, self, source, owner, props, debugStack, debugTask) {
126
+ self = props.ref;
127
+ type = {
128
+ $$typeof: REACT_ELEMENT_TYPE,
129
+ type,
130
+ key,
131
+ props,
132
+ _owner: owner
133
+ };
134
+ null !== (void 0 !== self ? self : null) ? Object.defineProperty(type, "ref", {
135
+ enumerable: false,
136
+ get: elementRefGetterWithDeprecationWarning
137
+ }) : Object.defineProperty(type, "ref", { enumerable: false, value: null });
138
+ type._store = {};
139
+ Object.defineProperty(type._store, "validated", {
140
+ configurable: false,
141
+ enumerable: false,
142
+ writable: true,
143
+ value: 0
144
+ });
145
+ Object.defineProperty(type, "_debugInfo", {
146
+ configurable: false,
147
+ enumerable: false,
148
+ writable: true,
149
+ value: null
150
+ });
151
+ Object.defineProperty(type, "_debugStack", {
152
+ configurable: false,
153
+ enumerable: false,
154
+ writable: true,
155
+ value: debugStack
156
+ });
157
+ Object.defineProperty(type, "_debugTask", {
158
+ configurable: false,
159
+ enumerable: false,
160
+ writable: true,
161
+ value: debugTask
162
+ });
163
+ Object.freeze && (Object.freeze(type.props), Object.freeze(type));
164
+ return type;
165
+ }
166
+ function jsxDEVImpl(type, config, maybeKey, isStaticChildren, source, self, debugStack, debugTask) {
167
+ var children = config.children;
168
+ if (void 0 !== children)
169
+ if (isStaticChildren)
170
+ if (isArrayImpl(children)) {
171
+ for (isStaticChildren = 0; isStaticChildren < children.length; isStaticChildren++)
172
+ validateChildKeys(children[isStaticChildren]);
173
+ Object.freeze && Object.freeze(children);
174
+ } else
175
+ console.error(
176
+ "React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead."
177
+ );
178
+ else validateChildKeys(children);
179
+ if (hasOwnProperty.call(config, "key")) {
180
+ children = getComponentNameFromType(type);
181
+ var keys = Object.keys(config).filter(function(k) {
182
+ return "key" !== k;
183
+ });
184
+ isStaticChildren = 0 < keys.length ? "{key: someKey, " + keys.join(": ..., ") + ": ...}" : "{key: someKey}";
185
+ didWarnAboutKeySpread[children + isStaticChildren] || (keys = 0 < keys.length ? "{" + keys.join(": ..., ") + ": ...}" : "{}", console.error(
186
+ 'A props object containing a "key" prop is being spread into JSX:\n let props = %s;\n <%s {...props} />\nReact keys must be passed directly to JSX without using spread:\n let props = %s;\n <%s key={someKey} {...props} />',
187
+ isStaticChildren,
188
+ children,
189
+ keys,
190
+ children
191
+ ), didWarnAboutKeySpread[children + isStaticChildren] = true);
192
+ }
193
+ children = null;
194
+ void 0 !== maybeKey && (checkKeyStringCoercion(maybeKey), children = "" + maybeKey);
195
+ hasValidKey(config) && (checkKeyStringCoercion(config.key), children = "" + config.key);
196
+ if ("key" in config) {
197
+ maybeKey = {};
198
+ for (var propName in config)
199
+ "key" !== propName && (maybeKey[propName] = config[propName]);
200
+ } else maybeKey = config;
201
+ children && defineKeyPropWarningGetter(
202
+ maybeKey,
203
+ "function" === typeof type ? type.displayName || type.name || "Unknown" : type
204
+ );
205
+ return ReactElement(
206
+ type,
207
+ children,
208
+ self,
209
+ source,
210
+ getOwner(),
211
+ maybeKey,
212
+ debugStack,
213
+ debugTask
214
+ );
215
+ }
216
+ function validateChildKeys(node) {
217
+ "object" === typeof node && null !== node && node.$$typeof === REACT_ELEMENT_TYPE && node._store && (node._store.validated = 1);
218
+ }
219
+ var React = require_react(), REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"), REACT_PORTAL_TYPE = Symbol.for("react.portal"), REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"), REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"), REACT_PROFILER_TYPE = Symbol.for("react.profiler");
220
+ Symbol.for("react.provider");
221
+ var REACT_CONSUMER_TYPE = Symbol.for("react.consumer"), REACT_CONTEXT_TYPE = Symbol.for("react.context"), REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"), REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"), REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list"), REACT_MEMO_TYPE = Symbol.for("react.memo"), REACT_LAZY_TYPE = Symbol.for("react.lazy"), REACT_ACTIVITY_TYPE = Symbol.for("react.activity"), REACT_CLIENT_REFERENCE = Symbol.for("react.client.reference"), ReactSharedInternals = React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, hasOwnProperty = Object.prototype.hasOwnProperty, isArrayImpl = Array.isArray, createTask = console.createTask ? console.createTask : function() {
222
+ return null;
223
+ };
224
+ React = {
225
+ react_stack_bottom_frame: function(callStackForError) {
226
+ return callStackForError();
227
+ }
228
+ };
229
+ var specialPropKeyWarningShown;
230
+ var didWarnAboutElementRef = {};
231
+ var unknownOwnerDebugStack = React.react_stack_bottom_frame.bind(
232
+ React,
233
+ UnknownOwner
234
+ )();
235
+ var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner));
236
+ var didWarnAboutKeySpread = {};
237
+ exports.Fragment = REACT_FRAGMENT_TYPE;
238
+ exports.jsxDEV = function(type, config, maybeKey, isStaticChildren, source, self) {
239
+ var trackActualOwner = 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;
240
+ return jsxDEVImpl(
241
+ type,
242
+ config,
243
+ maybeKey,
244
+ isStaticChildren,
245
+ source,
246
+ self,
247
+ trackActualOwner ? Error("react-stack-top-frame") : unknownOwnerDebugStack,
248
+ trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask
249
+ );
250
+ };
251
+ })();
252
+ }
253
+ });
254
+
255
+ // node_modules/react/jsx-dev-runtime.js
256
+ var require_jsx_dev_runtime = __commonJS({
257
+ "node_modules/react/jsx-dev-runtime.js"(exports, module) {
258
+ if (false) {
259
+ module.exports = null;
260
+ } else {
261
+ module.exports = require_react_jsx_dev_runtime_development();
262
+ }
263
+ }
264
+ });
265
+ export default require_jsx_dev_runtime();
266
+ /*! Bundled license information:
267
+
268
+ react/cjs/react-jsx-dev-runtime.development.js:
269
+ (**
270
+ * @license React
271
+ * react-jsx-dev-runtime.development.js
272
+ *
273
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
274
+ *
275
+ * This source code is licensed under the MIT license found in the
276
+ * LICENSE file in the root directory of this source tree.
277
+ *)
278
+ */
279
+ //# sourceMappingURL=react_jsx-dev-runtime.js.map
frontend/node_modules/.vite/deps/react_jsx-dev-runtime.js.map ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../react/cjs/react-jsx-dev-runtime.development.js", "../../react/jsx-dev-runtime.js"],
4
+ "sourcesContent": ["/**\n * @license React\n * react-jsx-dev-runtime.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n function getComponentNameFromType(type) {\n if (null == type) return null;\n if (\"function\" === typeof type)\n return type.$$typeof === REACT_CLIENT_REFERENCE\n ? null\n : type.displayName || type.name || null;\n if (\"string\" === typeof type) return type;\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return \"Fragment\";\n case REACT_PROFILER_TYPE:\n return \"Profiler\";\n case REACT_STRICT_MODE_TYPE:\n return \"StrictMode\";\n case REACT_SUSPENSE_TYPE:\n return \"Suspense\";\n case REACT_SUSPENSE_LIST_TYPE:\n return \"SuspenseList\";\n case REACT_ACTIVITY_TYPE:\n return \"Activity\";\n }\n if (\"object\" === typeof type)\n switch (\n (\"number\" === typeof type.tag &&\n console.error(\n \"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.\"\n ),\n type.$$typeof)\n ) {\n case REACT_PORTAL_TYPE:\n return \"Portal\";\n case REACT_CONTEXT_TYPE:\n return (type.displayName || \"Context\") + \".Provider\";\n case REACT_CONSUMER_TYPE:\n return (type._context.displayName || \"Context\") + \".Consumer\";\n case REACT_FORWARD_REF_TYPE:\n var innerType = type.render;\n type = type.displayName;\n type ||\n ((type = innerType.displayName || innerType.name || \"\"),\n (type = \"\" !== type ? \"ForwardRef(\" + type + \")\" : \"ForwardRef\"));\n return type;\n case REACT_MEMO_TYPE:\n return (\n (innerType = type.displayName || null),\n null !== innerType\n ? innerType\n : getComponentNameFromType(type.type) || \"Memo\"\n );\n case REACT_LAZY_TYPE:\n innerType = type._payload;\n type = type._init;\n try {\n return getComponentNameFromType(type(innerType));\n } catch (x) {}\n }\n return null;\n }\n function testStringCoercion(value) {\n return \"\" + value;\n }\n function checkKeyStringCoercion(value) {\n try {\n testStringCoercion(value);\n var JSCompiler_inline_result = !1;\n } catch (e) {\n JSCompiler_inline_result = !0;\n }\n if (JSCompiler_inline_result) {\n JSCompiler_inline_result = console;\n var JSCompiler_temp_const = JSCompiler_inline_result.error;\n var JSCompiler_inline_result$jscomp$0 =\n (\"function\" === typeof Symbol &&\n Symbol.toStringTag &&\n value[Symbol.toStringTag]) ||\n value.constructor.name ||\n \"Object\";\n JSCompiler_temp_const.call(\n JSCompiler_inline_result,\n \"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.\",\n JSCompiler_inline_result$jscomp$0\n );\n return testStringCoercion(value);\n }\n }\n function getTaskName(type) {\n if (type === REACT_FRAGMENT_TYPE) return \"<>\";\n if (\n \"object\" === typeof type &&\n null !== type &&\n type.$$typeof === REACT_LAZY_TYPE\n )\n return \"<...>\";\n try {\n var name = getComponentNameFromType(type);\n return name ? \"<\" + name + \">\" : \"<...>\";\n } catch (x) {\n return \"<...>\";\n }\n }\n function getOwner() {\n var dispatcher = ReactSharedInternals.A;\n return null === dispatcher ? null : dispatcher.getOwner();\n }\n function UnknownOwner() {\n return Error(\"react-stack-top-frame\");\n }\n function hasValidKey(config) {\n if (hasOwnProperty.call(config, \"key\")) {\n var getter = Object.getOwnPropertyDescriptor(config, \"key\").get;\n if (getter && getter.isReactWarning) return !1;\n }\n return void 0 !== config.key;\n }\n function defineKeyPropWarningGetter(props, displayName) {\n function warnAboutAccessingKey() {\n specialPropKeyWarningShown ||\n ((specialPropKeyWarningShown = !0),\n console.error(\n \"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)\",\n displayName\n ));\n }\n warnAboutAccessingKey.isReactWarning = !0;\n Object.defineProperty(props, \"key\", {\n get: warnAboutAccessingKey,\n configurable: !0\n });\n }\n function elementRefGetterWithDeprecationWarning() {\n var componentName = getComponentNameFromType(this.type);\n didWarnAboutElementRef[componentName] ||\n ((didWarnAboutElementRef[componentName] = !0),\n console.error(\n \"Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.\"\n ));\n componentName = this.props.ref;\n return void 0 !== componentName ? componentName : null;\n }\n function ReactElement(\n type,\n key,\n self,\n source,\n owner,\n props,\n debugStack,\n debugTask\n ) {\n self = props.ref;\n type = {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n props: props,\n _owner: owner\n };\n null !== (void 0 !== self ? self : null)\n ? Object.defineProperty(type, \"ref\", {\n enumerable: !1,\n get: elementRefGetterWithDeprecationWarning\n })\n : Object.defineProperty(type, \"ref\", { enumerable: !1, value: null });\n type._store = {};\n Object.defineProperty(type._store, \"validated\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: 0\n });\n Object.defineProperty(type, \"_debugInfo\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: null\n });\n Object.defineProperty(type, \"_debugStack\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugStack\n });\n Object.defineProperty(type, \"_debugTask\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugTask\n });\n Object.freeze && (Object.freeze(type.props), Object.freeze(type));\n return type;\n }\n function jsxDEVImpl(\n type,\n config,\n maybeKey,\n isStaticChildren,\n source,\n self,\n debugStack,\n debugTask\n ) {\n var children = config.children;\n if (void 0 !== children)\n if (isStaticChildren)\n if (isArrayImpl(children)) {\n for (\n isStaticChildren = 0;\n isStaticChildren < children.length;\n isStaticChildren++\n )\n validateChildKeys(children[isStaticChildren]);\n Object.freeze && Object.freeze(children);\n } else\n console.error(\n \"React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.\"\n );\n else validateChildKeys(children);\n if (hasOwnProperty.call(config, \"key\")) {\n children = getComponentNameFromType(type);\n var keys = Object.keys(config).filter(function (k) {\n return \"key\" !== k;\n });\n isStaticChildren =\n 0 < keys.length\n ? \"{key: someKey, \" + keys.join(\": ..., \") + \": ...}\"\n : \"{key: someKey}\";\n didWarnAboutKeySpread[children + isStaticChildren] ||\n ((keys =\n 0 < keys.length ? \"{\" + keys.join(\": ..., \") + \": ...}\" : \"{}\"),\n console.error(\n 'A props object containing a \"key\" prop is being spread into JSX:\\n let props = %s;\\n <%s {...props} />\\nReact keys must be passed directly to JSX without using spread:\\n let props = %s;\\n <%s key={someKey} {...props} />',\n isStaticChildren,\n children,\n keys,\n children\n ),\n (didWarnAboutKeySpread[children + isStaticChildren] = !0));\n }\n children = null;\n void 0 !== maybeKey &&\n (checkKeyStringCoercion(maybeKey), (children = \"\" + maybeKey));\n hasValidKey(config) &&\n (checkKeyStringCoercion(config.key), (children = \"\" + config.key));\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n children &&\n defineKeyPropWarningGetter(\n maybeKey,\n \"function\" === typeof type\n ? type.displayName || type.name || \"Unknown\"\n : type\n );\n return ReactElement(\n type,\n children,\n self,\n source,\n getOwner(),\n maybeKey,\n debugStack,\n debugTask\n );\n }\n function validateChildKeys(node) {\n \"object\" === typeof node &&\n null !== node &&\n node.$$typeof === REACT_ELEMENT_TYPE &&\n node._store &&\n (node._store.validated = 1);\n }\n var React = require(\"react\"),\n REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\");\n Symbol.for(\"react.provider\");\n var REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n REACT_ACTIVITY_TYPE = Symbol.for(\"react.activity\"),\n REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\"),\n ReactSharedInternals =\n React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,\n hasOwnProperty = Object.prototype.hasOwnProperty,\n isArrayImpl = Array.isArray,\n createTask = console.createTask\n ? console.createTask\n : function () {\n return null;\n };\n React = {\n react_stack_bottom_frame: function (callStackForError) {\n return callStackForError();\n }\n };\n var specialPropKeyWarningShown;\n var didWarnAboutElementRef = {};\n var unknownOwnerDebugStack = React.react_stack_bottom_frame.bind(\n React,\n UnknownOwner\n )();\n var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner));\n var didWarnAboutKeySpread = {};\n exports.Fragment = REACT_FRAGMENT_TYPE;\n exports.jsxDEV = function (\n type,\n config,\n maybeKey,\n isStaticChildren,\n source,\n self\n ) {\n var trackActualOwner =\n 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;\n return jsxDEVImpl(\n type,\n config,\n maybeKey,\n isStaticChildren,\n source,\n self,\n trackActualOwner\n ? Error(\"react-stack-top-frame\")\n : unknownOwnerDebugStack,\n trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask\n );\n };\n })();\n", "'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-dev-runtime.production.js');\n} else {\n module.exports = require('./cjs/react-jsx-dev-runtime.development.js');\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }