GGUF
Image-Text-to-Text Models
Audio-Text-to-Text
text-to-Text
llama_cpp
any to any
Multimodal AI
video-Text-to-Text
Llama Model Switcher
imatrix
conversational
Instructions to use nzgnzg73/llama_cpp_WebUI with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- llama-cpp-python
How to use nzgnzg73/llama_cpp_WebUI with llama-cpp-python:
# !pip install llama-cpp-python from llama_cpp import Llama llm = Llama.from_pretrained( repo_id="nzgnzg73/llama_cpp_WebUI", filename="Image-Text-to-Text Models/gemma-3/gemma-3-12b-it-Q4_K_S.gguf", )
llm.create_chat_completion( messages = "No input example has been defined for this model task." )
- Notebooks
- Google Colab
- Kaggle
- Local Apps
- llama.cpp
How to use nzgnzg73/llama_cpp_WebUI with llama.cpp:
Install from brew
brew install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama-server -hf nzgnzg73/llama_cpp_WebUI:Q4_K_S # Run inference directly in the terminal: llama-cli -hf nzgnzg73/llama_cpp_WebUI:Q4_K_S
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama-server -hf nzgnzg73/llama_cpp_WebUI:Q4_K_S # Run inference directly in the terminal: llama-cli -hf nzgnzg73/llama_cpp_WebUI:Q4_K_S
Use pre-built binary
# Download pre-built binary from: # https://github.com/ggerganov/llama.cpp/releases # Start a local OpenAI-compatible server with a web UI: ./llama-server -hf nzgnzg73/llama_cpp_WebUI:Q4_K_S # Run inference directly in the terminal: ./llama-cli -hf nzgnzg73/llama_cpp_WebUI:Q4_K_S
Build from source code
git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-server llama-cli # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama-server -hf nzgnzg73/llama_cpp_WebUI:Q4_K_S # Run inference directly in the terminal: ./build/bin/llama-cli -hf nzgnzg73/llama_cpp_WebUI:Q4_K_S
Use Docker
docker model run hf.co/nzgnzg73/llama_cpp_WebUI:Q4_K_S
- LM Studio
- Jan
- Ollama
How to use nzgnzg73/llama_cpp_WebUI with Ollama:
ollama run hf.co/nzgnzg73/llama_cpp_WebUI:Q4_K_S
- Unsloth Studio
How to use nzgnzg73/llama_cpp_WebUI with Unsloth Studio:
Install Unsloth Studio (macOS, Linux, WSL)
curl -fsSL https://unsloth.ai/install.sh | sh # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for nzgnzg73/llama_cpp_WebUI to start chatting
Install Unsloth Studio (Windows)
irm https://unsloth.ai/install.ps1 | iex # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for nzgnzg73/llama_cpp_WebUI to start chatting
Using HuggingFace Spaces for Unsloth
# No setup required # Open https://huggingface.co/spaces/unsloth/studio in your browser # Search for nzgnzg73/llama_cpp_WebUI to start chatting
- Docker Model Runner
How to use nzgnzg73/llama_cpp_WebUI with Docker Model Runner:
docker model run hf.co/nzgnzg73/llama_cpp_WebUI:Q4_K_S
- Lemonade
How to use nzgnzg73/llama_cpp_WebUI with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull nzgnzg73/llama_cpp_WebUI:Q4_K_S
Run and chat with the model
lemonade run user.llama_cpp_WebUI-Q4_K_S
List all available models
lemonade list
Delete llama_cpp_WebUI FILE/Image to Text Model Setup Guide (WebUI).txt
Browse files
llama_cpp_WebUI FILE/Image to Text Model Setup Guide (WebUI).txt
DELETED
|
@@ -1,203 +0,0 @@
|
|
| 1 |
-
|
| 2 |
-
|
| 3 |
-
|
| 4 |
-
llama-server --n-gpu-layers 5 --ctx-size 14096 -m models/Qwen3-VL-2B-Instruct-Q8_0.gguf --mmproj models/mmproj-Qwen3-VL-2B-Instruct-Q8_0.gguf --host 127.0.0.1 --port 8083
|
| 5 |
-
|
| 6 |
-
|
| 7 |
-
|
| 8 |
-
Chatgpt;- https://chatgpt.com/share/6914d98c-9784-800e-8d92-e8eb0a25b5a4
|
| 9 |
-
|
| 10 |
-
https://chatgpt.com/share/6914d98c-9784-800e-8d92-e8eb0a25b5a4
|
| 11 |
-
|
| 12 |
-
|
| 13 |
-
nglish Version 🇬🇧
|
| 14 |
-
Title: [Image to Text Model Setup Guide (WebUI)]
|
| 15 |
-
Part 1: File and Folder Setup
|
| 16 |
-
* Base Folder: Assume your main software directory is D:\Flie\llama.cpp.
|
| 17 |
-
* Download Vision Model:
|
| 18 |
-
* To run any Vision Model (e.g., Qwen-VL or Gemma-Vision), you must download two files from the model source (like Hugging Face):
|
| 19 |
-
* File 1 (Main Model): This is the large model file (e.g., Qwen3-VL-2B-Instruct-Q8_0.gguf).
|
| 20 |
-
* File 2 (MM Projector): This is the small model file responsible for image processing (e.g., mmproj-Qwen3-VL-2B-Instruct-Q8_0.gguf).
|
| 21 |
-
* File Placement: Place both of these files inside the models folder located within D:\Flie\llama.cpp.
|
| 22 |
-
* Ensure GPU Support (CUDA):
|
| 23 |
-
* Ensure that the llama-server.exe file in your D:\Flie\llama.cpp folder has been replaced with the version compiled for GPU (CUDA) support (as done by replacing all files from the 373 MB CUDART zip).
|
| 24 |
-
Part 2: Preparing the Command (Running the Software)
|
| 25 |
-
You must write a single command to tell the software which files to use and how much GPU power to allocate.
|
| 26 |
-
Command Structure:
|
| 27 |
-
llama-server --n-gpu-layers [GPU_LAYERS] --ctx-size 14096 -m models/[MAIN_MODEL_FILE.gguf] --mmproj models/[MMPROJ_FILE.gguf] --host 127.0.0.1 --port 8083
|
| 28 |
-
|
| 29 |
-
* llama-server: This starts the WebUI server for use in a browser.
|
| 30 |
-
* --n-gpu-layers [GPU_LAYERS]:
|
| 31 |
-
* What to put here? Enter a number based on your GPU's VRAM (e.g., 28 or 20). This accelerates text and image processing by transferring the load from the CPU to the GPU.
|
| 32 |
-
* -m models/[MAIN_MODEL_FILE.gguf]:
|
| 33 |
-
* What to put here? Enter the full filename of the large Vision Model file you downloaded.
|
| 34 |
-
* Example: -m models/Qwen3-VL-2B-Instruct-Q8_0.gguf
|
| 35 |
-
* --mmproj models/[MMPROJ_FILE.gguf]:
|
| 36 |
-
* What to put here? This is the Multi-Modal Projector path. Enter the full filename of the small MM Projector file.
|
| 37 |
-
* Crucial Rule: The MM Projector file MUST be from the same model family as the Main Model. Mixing files (e.g., a Gemma mmproj with a Qwen main model) will NOT work.
|
| 38 |
-
* Example (For Qwen-VL): --mmproj models/mmproj-Qwen3-VL-2B-Instruct-Q8_0.gguf
|
| 39 |
-
Final Command (Qwen-VL Example):
|
| 40 |
-
Run this command inside your D:\Flie\llama.cpp> folder:
|
| 41 |
-
llama-server --n-gpu-layers 28 --ctx-size 14096 -m models/Qwen3-VL-2B-Instruct-Q8_0.gguf --mmproj models/mmproj-Qwen3-VL-2B-Instruct-Q8_0.gguf --host 127.0.0.1 --port 8083
|
| 42 |
-
|
| 43 |
-
Part 3: Using the Model on WebUI
|
| 44 |
-
* Run the Command: The command prompt will start loading the model onto your GPU.
|
| 45 |
-
* Open URL: Once the console shows listening on http://127.0.0.1:8083, open this URL in your Chrome browser.
|
| 46 |
-
* Upload Image: You will find an image upload button next to the chat window.
|
| 47 |
-
* Fast Processing: The image processing (which was previously slow) will now be handled by your GPU and the model will respond quickly
|
| 48 |
-
|
| 49 |
-
|
| 50 |
-
|
| 51 |
-
|
| 52 |
-
|
| 53 |
-
Urdu
|
| 54 |
-
|
| 55 |
-
یہ ٹیوٹوریل WebUI (کروم براؤزر) پر تصویر اپلوڈ کرنے والے ماڈلز کو چلانے کا مکمل طریقہ ہے۔
|
| 56 |
-
ٹیوٹوریل: llama.cpp پر تصویر (Image) والا ماڈل چلانے کا طریقہ (GPU کے ساتھ)
|
| 57 |
-
عنوان: [Image to Text Model Setup Guide (WebUI)]
|
| 58 |
-
اردو میں 🇵🇰
|
| 59 |
-
یہ ہدایات کسی بھی نئے Vision ماڈل (جیسے Qwen-VL یا Gemma-Vision) کو آپ کے NVIDIA GPU پر چلا کر کروم براؤزر میں استعمال کرنے کے لیے ہیں۔
|
| 60 |
-
حصہ 1: فائلیں اور فولڈر سیٹ اپ
|
| 61 |
-
* بنیادی فولڈر: فرض کریں کہ آپ کا سارا سافٹ ویئر D:\Flie\llama.cpp فولڈر میں موجود ہے۔
|
| 62 |
-
* Vision ماڈل ڈاؤنلوڈ کرنا:
|
| 63 |
-
* آپ جس بھی Vision ماڈل کو چلانا چاہتے ہیں (مثلاً Qwen-VL یا Gemma-Vision)، آپ کو اس کی دو فائلیں ڈاؤنلوڈ کرنی ہوں گی (جیسے آپ نے Hugging Face سے کی تھیں):
|
| 64 |
-
* پہلی فائل (Main Model): یہ ماڈل کا بڑا حصہ ہے (جیسے Qwen3-VL-2B-Instruct-Q8_0.gguf)۔
|
| 65 |
-
* دوسری فائل (MM Projector): یہ ماڈل کا چھوٹا حصہ ہے جو تصویر کو پروسیس کرتا ہے (جیسے mmproj-Qwen3-VL-2B-Instruct-Q8_0.gguf)۔
|
| 66 |
-
* فائلوں کی جگہ: ان دونوں فائلوں کو D:\Flie\llama.cpp کے اندر موجود models نامی فولڈر میں رکھیں۔
|
| 67 |
-
* GPU سپورٹ (CUDA) یقینی بنانا:
|
| 68 |
-
* یقینی بنائیں کہ آپ کے D:\Flie\llama.cpp فولڈر میں موجود llama-server.exe فائل GPU (CUDA) سپورٹ کے ساتھ کمپائل ہوئی ہو (جیسا کہ ہم نے 373 MB والی CUDART زِپ کو استعمال کر کے تمام فائلیں تبدیل کی تھیں)۔
|
| 69 |
-
حصہ 2: کمانڈ تیار کرنا (سافٹ ویئر کو چلانا)
|
| 70 |
-
آپ کو ایک واحد کمانڈ لکھنی ہے جو سافٹ ویئر کو یہ بتائے کہ کون سی فائل کس کام کے لیے استعمال کرنی ہے اور GPU پر کتنی طاقت استعمال کرنی ہے۔
|
| 71 |
-
کمانڈ کا مکمل سٹرکچر:
|
| 72 |
-
llama-server --n-gpu-layers [GPU_LAYERS] --ctx-size 14096 -m models/[MAIN_MODEL_FILE.gguf] --mmproj models/[MMPROJ_FILE.gguf] --host 127.0.0.1 --port 8083
|
| 73 |
-
|
| 74 |
-
* llama-server: یہ کمانڈ براؤزر میں WebUI کو شروع کرنے کے لیے ضروری ہے۔
|
| 75 |
-
* --n-gpu-layers [GPU_LAYERS]:
|
| 76 |
-
* کون سی ویلیو ڈالیں؟ یہاں آپ اپنے GPU کی VRAM کے حساب سے ایک نمبر ڈالیں (جیسے 28 یا 20 اگر میموری کم ہے)۔ یہ ٹیکسٹ اور تصویر کی پروسیسنگ کو تیز کرتا ہے۔
|
| 77 |
-
* مثال: --n-gpu-layers 28
|
| 78 |
-
* -m models/[MAIN_MODEL_FILE.gguf]:
|
| 79 |
-
* کون سی ویلیو ڈالیں؟ یہاں آپ بڑی Vision ماڈل فائل کا نام ڈالیں گے جو آپ نے Hugging Face سے ڈاؤنلوڈ کی تھی۔
|
| 80 |
-
* مثال: -m models/Qwen3-VL-2B-Instruct-Q8_0.gguf
|
| 81 |
-
* --mmproj models/[MMPROJ_FILE.gguf]:
|
| 82 |
-
* کون سی ویلیو ڈالیں؟ یہ Vision Projector فائل کا پاتھ ہے۔ یہاں آپ چھوٹی MM Projector فائل کا نام ڈالیں گے۔
|
| 83 |
-
* یاد رکھیں: اگر آپ Gemma ماڈل استعمال کر رہے ہیں، تو آپ کو Gemma کا ہی mmproj استعمال کرنا ہو گا۔ کوئی بھی mmproj کسی بھی ماڈل کے ساتھ کام نہیں کرے گا۔ یہ دونوں فائلیں ایک ہی ماڈل کی ہونی چاہئیں۔
|
| 84 |
-
* مثال (Qwen-VL کے لیے): --mmproj models/mmproj-Qwen3-VL-2B-Instruct-Q8_0.gguf
|
| 85 |
-
آپ کی مکمل کمانڈ (Qwen-VL کی مثال):
|
| 86 |
-
D:\Flie\llama.cpp> میں جا کر یہ کمانڈ چلائیں:
|
| 87 |
-
llama-server --n-gpu-layers 28 --ctx-size 14096 -m models/Qwen3-VL-2B-Instruct-Q8_0.gguf --mmproj models/mmproj-Qwen3-VL-2B-Instruct-Q8_0.gguf --host 127.0.0.1 --port 8083
|
| 88 |
-
|
| 89 |
-
حصہ 3: ماڈل کو WebUI پر استعمال کرنا
|
| 90 |
-
* کمانڈ چلائیں: جب آپ Command Prompt میں یہ کمانڈ چلائیں گے تو یہ ماڈل کو آپ کے GPU پر لوڈ کرنا شروع کر دے گا۔
|
| 91 |
-
* URL کھولیں: کنسول میں جب listening on http://127.0.0.1:8083 کا میسج آئے، تو اپنے کروم براؤزر میں یہ URL کھولیں۔
|
| 92 |
-
* تصویر اپلوڈ کریں: آپ کو وہاں چیٹ ونڈو کے ساتھ ہی تصویر اپلوڈ کرنے کا بٹن مل جائے گا۔
|
| 93 |
-
* تصویر پروسیسنگ: جیسے ہی آپ تصویر اپلوڈ کریں گے، آپ کا GPU (Quadro P2000) کام کرنا شروع کر دے گا اور Vision پروسیسنگ تیزی سے مکمل ہو کر آپ کا ماڈل تصویر کے بارے میں جواب دے گا۔
|
| 94 |
-
|
| 95 |
-
|
| 96 |
-
|
| 97 |
-
|
| 98 |
-
|
| 99 |
-
|
| 100 |
-
|
| 101 |
-
|
| 102 |
-
|
| 103 |
-
|
| 104 |
-
NEW LAST
|
| 105 |
-
|
| 106 |
-
RUN.BAT
|
| 107 |
-
|
| 108 |
-
|
| 109 |
-
|
| 110 |
-
|
| 111 |
-
|
| 112 |
-
@echo off
|
| 113 |
-
Title 🦙 Llama.cpp Local Server - GPU + Model Selector + Mobile Access
|
| 114 |
-
|
| 115 |
-
REM --- PATH SETTINGS ---
|
| 116 |
-
SET BASE_DIR=D:\Flie\llama.cpp
|
| 117 |
-
SET MODELS_DIR=%BASE_DIR%\models
|
| 118 |
-
SET SERVER_EXE=%BASE_DIR%\llama-server.exe
|
| 119 |
-
|
| 120 |
-
REM --- SERVER SETTINGS ---
|
| 121 |
-
SET HOST_IP=0.0.0.0
|
| 122 |
-
SET PORT=8080
|
| 123 |
-
SET GPU_LAYERS=3
|
| 124 |
-
SET CONTEXT_SIZE=114096
|
| 125 |
-
|
| 126 |
-
echo ============================================
|
| 127 |
-
echo 🦙 Llama.cpp Local Server - Model Selector
|
| 128 |
-
echo ============================================
|
| 129 |
-
echo.
|
| 130 |
-
echo Available Models in: %MODELS_DIR%
|
| 131 |
-
echo.
|
| 132 |
-
|
| 133 |
-
REM --- LIST ALL MODELS ---
|
| 134 |
-
SETLOCAL ENABLEDELAYEDEXPANSION
|
| 135 |
-
SET COUNT=0
|
| 136 |
-
for %%f in ("%MODELS_DIR%\*.gguf") do (
|
| 137 |
-
SET /A COUNT+=1
|
| 138 |
-
echo !COUNT!. %%~nxf
|
| 139 |
-
SET "MODEL[!COUNT!]=%%~nxf"
|
| 140 |
-
)
|
| 141 |
-
|
| 142 |
-
echo.
|
| 143 |
-
echo --------------------------------------------
|
| 144 |
-
echo Type "NO" and press ENTER to start Vision Model (Qwen3-VL-2B)
|
| 145 |
-
echo --------------------------------------------
|
| 146 |
-
echo.
|
| 147 |
-
set /p choice=Enter model number or type NO:
|
| 148 |
-
|
| 149 |
-
REM --- IF USER TYPES NO ---
|
| 150 |
-
IF /I "%choice%"=="NO" (
|
| 151 |
-
echo.
|
| 152 |
-
echo 🧠 Starting Vision Model: Qwen3-VL-2B-Instruct-Q8_0
|
| 153 |
-
echo --------------------------------------------
|
| 154 |
-
start "" "%SERVER_EXE%" --n-gpu-layers 3 --ctx-size 114096 -m "%MODELS_DIR%\Qwen3-VL-2B-Instruct-Q8_0.gguf" --mmproj "%MODELS_DIR%\mmproj-Qwen3-VL-2B-Instruct-Q8_0.gguf" --host %HOST_IP% --port %PORT%
|
| 155 |
-
timeout /t 3 >nul
|
| 156 |
-
|
| 157 |
-
REM --- GET LOCAL IP FOR MOBILE ACCESS ---
|
| 158 |
-
for /f "tokens=2 delims=:" %%a in ('ipconfig ^| findstr /c:"IPv4 Address"') do set LOCAL_IP=%%a
|
| 159 |
-
set LOCAL_IP=%LOCAL_IP: =%
|
| 160 |
-
echo.
|
| 161 |
-
echo 🌐 Open on this PC: http://127.0.0.1:%PORT%
|
| 162 |
-
echo 📱 Open on your mobile: http://%LOCAL_IP%:%PORT%
|
| 163 |
-
echo.
|
| 164 |
-
start "" chrome http://127.0.0.1:%PORT%/
|
| 165 |
-
pause
|
| 166 |
-
exit /b
|
| 167 |
-
)
|
| 168 |
-
|
| 169 |
-
REM --- NORMAL MODEL SELECTION PATH ---
|
| 170 |
-
IF "%choice%"=="" (
|
| 171 |
-
echo No selection made. Exiting...
|
| 172 |
-
pause
|
| 173 |
-
exit /b
|
| 174 |
-
)
|
| 175 |
-
|
| 176 |
-
SET SELECTED_MODEL=!MODEL[%choice%]!
|
| 177 |
-
SET MODEL_PATH="%MODELS_DIR%\%SELECTED_MODEL%"
|
| 178 |
-
|
| 179 |
-
echo.
|
| 180 |
-
echo ✅ Selected model: %SELECTED_MODEL%
|
| 181 |
-
echo ---------------------------------------------
|
| 182 |
-
|
| 183 |
-
echo.
|
| 184 |
-
echo 🚀 Starting llama-server with %SELECTED_MODEL% ...
|
| 185 |
-
echo.
|
| 186 |
-
|
| 187 |
-
start "" "%SERVER_EXE%" --n-gpu-layers %GPU_LAYERS% --ctx-size %CONTEXT_SIZE% -m %MODEL_PATH% --host %HOST_IP% --port %PORT%
|
| 188 |
-
timeout /t 3 >nul
|
| 189 |
-
|
| 190 |
-
REM --- GET LOCAL IP FOR MOBILE ACCESS ---
|
| 191 |
-
for /f "tokens=2 delims=:" %%a in ('ipconfig ^| findstr /c:"IPv4 Address"') do set LOCAL_IP=%%a
|
| 192 |
-
set LOCAL_IP=%LOCAL_IP: =%
|
| 193 |
-
|
| 194 |
-
echo.
|
| 195 |
-
echo 🌐 Open on this PC: http://127.0.0.1:%PORT%
|
| 196 |
-
echo 📱 Open on your mobile: http://%LOCAL_IP%:%PORT%
|
| 197 |
-
echo.
|
| 198 |
-
start "" chrome http://127.0.0.1:%PORT%/
|
| 199 |
-
pause
|
| 200 |
-
|
| 201 |
-
|
| 202 |
-
|
| 203 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|