1036 lines
97 KiB
Plaintext
1036 lines
97 KiB
Plaintext
{
|
||
"cells": [
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "d15d8294-3328-4e07-ad16-8a03e9bbfdb9",
|
||
"metadata": {},
|
||
"source": [
|
||
"# Welcome to the Day 2 Lab!\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "ada885d9-4d42-4d9b-97f0-74fbbbfe93a9",
|
||
"metadata": {},
|
||
"source": [
|
||
"<table style=\"margin: 0; text-align: left;\">\n",
|
||
" <tr>\n",
|
||
" <td style=\"width: 150px; height: 150px; vertical-align: middle;\">\n",
|
||
" <img src=\"../assets/resources.jpg\" width=\"150\" height=\"150\" style=\"display: block;\" />\n",
|
||
" </td>\n",
|
||
" <td>\n",
|
||
" <h2 style=\"color:#f71;\">Just before we get started --</h2>\n",
|
||
" <span style=\"color:#f71;\">I thought I'd take a second to point you at this page of useful resources for the course. This includes links to all the slides.<br/>\n",
|
||
" <a href=\"https://edwarddonner.com/2024/11/13/llm-engineering-resources/\">https://edwarddonner.com/2024/11/13/llm-engineering-resources/</a><br/>\n",
|
||
" Please keep this bookmarked, and I'll continue to add more useful links there over time.\n",
|
||
" </span>\n",
|
||
" </td>\n",
|
||
" </tr>\n",
|
||
"</table>"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "79ffe36f",
|
||
"metadata": {},
|
||
"source": [
|
||
"## First - let's talk about the Chat Completions API\n",
|
||
"\n",
|
||
"1. The simplest way to call an LLM\n",
|
||
"2. It's called Chat Completions because it's saying: \"here is a conversation, please predict what should come next\"\n",
|
||
"3. The Chat Completions API was invented by OpenAI, but it's so popular that everybody uses it!\n",
|
||
"\n",
|
||
"### We will start by calling OpenAI again - but don't worry non-OpenAI people, your time is coming!\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 1,
|
||
"id": "e38f17a0",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"API key found and looks good so far!\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"import os\n",
|
||
"from dotenv import load_dotenv\n",
|
||
"\n",
|
||
"load_dotenv(override=True)\n",
|
||
"api_key = os.getenv('OPENAI_API_KEY')\n",
|
||
"\n",
|
||
"if not api_key:\n",
|
||
" print(\"No API key was found - please head over to the troubleshooting notebook in this folder to identify & fix!\")\n",
|
||
"elif not api_key.startswith(\"sk-proj-\"):\n",
|
||
" print(\"An API key was found, but it doesn't start sk-proj-; please check you're using the right key - see troubleshooting notebook\")\n",
|
||
"else:\n",
|
||
" print(\"API key found and looks good so far!\")\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "97846274",
|
||
"metadata": {},
|
||
"source": [
|
||
"## Do you know what an Endpoint is?\n",
|
||
"\n",
|
||
"If not, please review the Technical Foundations guide in the guides folder\n",
|
||
"\n",
|
||
"And, here is an endpoint that might interest you..."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 2,
|
||
"id": "5af5c188",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"{'model': 'gpt-5-nano',\n",
|
||
" 'messages': [{'role': 'user', 'content': 'Tell me a fun fact'}]}"
|
||
]
|
||
},
|
||
"execution_count": 2,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"import requests\n",
|
||
"\n",
|
||
"headers = {\"Authorization\": f\"Bearer {api_key}\", \"Content-Type\": \"application/json\"}\n",
|
||
"\n",
|
||
"payload = {\n",
|
||
" \"model\": \"gpt-5-nano\",\n",
|
||
" \"messages\": [\n",
|
||
" {\"role\": \"user\", \"content\": \"Tell me a fun fact\"}]\n",
|
||
"}\n",
|
||
"\n",
|
||
"payload"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 3,
|
||
"id": "2d0ab242",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"{'id': 'chatcmpl-CRaBOfilI65j2z7nHeFjyq6bHAsjw',\n",
|
||
" 'object': 'chat.completion',\n",
|
||
" 'created': 1760689978,\n",
|
||
" 'model': 'gpt-5-nano-2025-08-07',\n",
|
||
" 'choices': [{'index': 0,\n",
|
||
" 'message': {'role': 'assistant',\n",
|
||
" 'content': 'Bananas are berries, but strawberries aren’t. Botanically, a berry comes from a single ovary and has seeds inside; bananas fit that definition, while strawberries do not.',\n",
|
||
" 'refusal': None,\n",
|
||
" 'annotations': []},\n",
|
||
" 'finish_reason': 'stop'}],\n",
|
||
" 'usage': {'prompt_tokens': 11,\n",
|
||
" 'completion_tokens': 749,\n",
|
||
" 'total_tokens': 760,\n",
|
||
" 'prompt_tokens_details': {'cached_tokens': 0, 'audio_tokens': 0},\n",
|
||
" 'completion_tokens_details': {'reasoning_tokens': 704,\n",
|
||
" 'audio_tokens': 0,\n",
|
||
" 'accepted_prediction_tokens': 0,\n",
|
||
" 'rejected_prediction_tokens': 0}},\n",
|
||
" 'service_tier': 'default',\n",
|
||
" 'system_fingerprint': None}"
|
||
]
|
||
},
|
||
"execution_count": 3,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"response = requests.post(\n",
|
||
" \"https://api.openai.com/v1/chat/completions\",\n",
|
||
" headers=headers,\n",
|
||
" json=payload\n",
|
||
")\n",
|
||
"\n",
|
||
"response.json()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 4,
|
||
"id": "cb11a9f6",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"'Bananas are berries, but strawberries aren’t. Botanically, a berry comes from a single ovary and has seeds inside; bananas fit that definition, while strawberries do not.'"
|
||
]
|
||
},
|
||
"execution_count": 4,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"response.json()[\"choices\"][0][\"message\"][\"content\"]"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "cea3026a",
|
||
"metadata": {},
|
||
"source": [
|
||
"# What is the openai package?\n",
|
||
"\n",
|
||
"It's known as a Python Client Library.\n",
|
||
"\n",
|
||
"It's nothing more than a wrapper around making this exact call to the http endpoint.\n",
|
||
"\n",
|
||
"It just allows you to work with nice Python code instead of messing around with janky json objects.\n",
|
||
"\n",
|
||
"But that's it. It's open-source and lightweight. Some people think it contains OpenAI model code - it doesn't!\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 5,
|
||
"id": "490fdf09",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"'Fun fact: Wombat poop is cube-shaped, not round. The cube form comes from the way their intestines remove water and shape the feces, helping it stack neatly and not roll away when wombats mark their territory.'"
|
||
]
|
||
},
|
||
"execution_count": 5,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"# Create OpenAI client\n",
|
||
"\n",
|
||
"from openai import OpenAI\n",
|
||
"openai = OpenAI()\n",
|
||
"\n",
|
||
"response = openai.chat.completions.create(model=\"gpt-5-nano\", messages=[{\"role\": \"user\", \"content\": \"Tell me a fun fact\"}])\n",
|
||
"\n",
|
||
"response.choices[0].message.content\n",
|
||
"\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "c7739cda",
|
||
"metadata": {},
|
||
"source": [
|
||
"## And then this great thing happened:\n",
|
||
"\n",
|
||
"OpenAI's Chat Completions API was so popular, that the other model providers created endpoints that are identical.\n",
|
||
"\n",
|
||
"They are known as the \"OpenAI Compatible Endpoints\".\n",
|
||
"\n",
|
||
"For example, google made one here: https://generativelanguage.googleapis.com/v1beta/openai/\n",
|
||
"\n",
|
||
"And OpenAI decided to be kind: they said, hey, you can just use the same client library that we made for GPT. We'll allow you to specify a different endpoint URL and a different key, to use another provider.\n",
|
||
"\n",
|
||
"So you can use:\n",
|
||
"\n",
|
||
"```python\n",
|
||
"gemini = OpenAI(base_url=\"https://generativelanguage.googleapis.com/v1beta/openai/\", api_key=\"AIz....\")\n",
|
||
"gemini.chat.completions.create(...)\n",
|
||
"```\n",
|
||
"\n",
|
||
"And to be clear - even though OpenAI is in the code, we're only using this lightweight python client library to call the endpoint - there's no OpenAI model involved here.\n",
|
||
"\n",
|
||
"If you're confused, please review Guide 9 in the Guides folder!\n",
|
||
"\n",
|
||
"And now let's try it!"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 6,
|
||
"id": "f74293bc",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"API key found and looks good so far!\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"GEMINI_BASE_URL = \"https://generativelanguage.googleapis.com/v1beta/openai/\"\n",
|
||
"\n",
|
||
"google_api_key = os.getenv(\"GOOGLE_API_KEY\")\n",
|
||
"\n",
|
||
"if not google_api_key:\n",
|
||
" print(\"No API key was found - please head over to the troubleshooting notebook in this folder to identify & fix!\")\n",
|
||
"elif not google_api_key.startswith(\"AIz\"):\n",
|
||
" print(\"An API key was found, but it doesn't start AIz\")\n",
|
||
"else:\n",
|
||
" print(\"API key found and looks good so far!\")\n",
|
||
"\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 7,
|
||
"id": "d060f484",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"'The dot over a lowercase \"i\" or \"j\" isn\\'t just a dot—it has a name.\\n\\nIt\\'s called a **tittle**.'"
|
||
]
|
||
},
|
||
"execution_count": 7,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"gemini = OpenAI(base_url=GEMINI_BASE_URL, api_key=google_api_key)\n",
|
||
"\n",
|
||
"response = gemini.chat.completions.create(model=\"gemini-2.5-pro\", messages=[{\"role\": \"user\", \"content\": \"Tell me a fun fact\"}])\n",
|
||
"\n",
|
||
"response.choices[0].message.content"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "a5b069be",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "65272432",
|
||
"metadata": {},
|
||
"source": [
|
||
"## And Ollama also gives an OpenAI compatible endpoint\n",
|
||
"\n",
|
||
"...and it's on your local machine!\n",
|
||
"\n",
|
||
"If the next cell doesn't print \"Ollama is running\" then please open a terminal and run `ollama serve`"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 8,
|
||
"id": "f06280ad",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"b'Ollama is running'"
|
||
]
|
||
},
|
||
"execution_count": 8,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"requests.get(\"http://localhost:11434\").content"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "c6ef3807",
|
||
"metadata": {},
|
||
"source": [
|
||
"### Download llama3.2 from meta\n",
|
||
"\n",
|
||
"Change this to llama3.2:1b if your computer is smaller.\n",
|
||
"\n",
|
||
"Don't use llama3.3 or llama4! They are too big for your computer.."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 9,
|
||
"id": "e633481d",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ⠋ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ⠙ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ⠹ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ⠸ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ⠼ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ⠴ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ⠦ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ⠧ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ⠇ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ⠏ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling dde5aa3fc5ff: 100% ▕██████████████████▏ 2.0 GB \u001b[K\n",
|
||
"pulling 966de95ca8a6: 100% ▕██████████████████▏ 1.4 KB \u001b[K\n",
|
||
"pulling fcc5a6bec9da: 100% ▕██████████████████▏ 7.7 KB \u001b[K\n",
|
||
"pulling a70ff7e570d9: 100% ▕██████████████████▏ 6.0 KB \u001b[K\n",
|
||
"pulling 56bb8bd477a5: 100% ▕██████████████████▏ 96 B \u001b[K\n",
|
||
"pulling 34bb5ab01051: 100% ▕██████████████████▏ 561 B \u001b[K\n",
|
||
"verifying sha256 digest \u001b[K\n",
|
||
"writing manifest \u001b[K\n",
|
||
"success \u001b[K\u001b[?25h\u001b[?2026l\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"!ollama pull llama3.2"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 10,
|
||
"id": "d9419762",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"OLLAMA_BASE_URL = \"http://localhost:11434/v1\"\n",
|
||
"\n",
|
||
"ollama = OpenAI(base_url=OLLAMA_BASE_URL, api_key='ollama')\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 11,
|
||
"id": "e2456cdf",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"'Did you know that there is a species of jellyfish that is immortal? The Turritopsis dohrnii, also known as the \"immortal jellyfish,\" can transform its body into a younger state through a process called transdifferentiation. This means it can essentially revert back to its polyp stage and grow back into an adult jellyfish, making it theoretically immortal!'"
|
||
]
|
||
},
|
||
"execution_count": 11,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"# Get a fun fact\n",
|
||
"\n",
|
||
"response = ollama.chat.completions.create(model=\"llama3.2\", messages=[{\"role\": \"user\", \"content\": \"Tell me a fun fact\"}])\n",
|
||
"\n",
|
||
"response.choices[0].message.content"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 12,
|
||
"id": "1e6cae7f",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ⠋ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ⠙ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ⠹ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ⠸ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ⠼ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ⠴ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ⠦ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ⠧ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ⠇ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ⠏ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ⠋ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest ⠙ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 0% ▕ ▏ 137 KB/1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 1% ▕ ▏ 8.3 MB/1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 1% ▕ ▏ 12 MB/1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 2% ▕ ▏ 22 MB/1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 3% ▕ ▏ 31 MB/1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 3% ▕ ▏ 33 MB/1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 3% ▕ ▏ 37 MB/1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 4% ▕ ▏ 47 MB/1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 4% ▕ ▏ 49 MB/1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 6% ▕ ▏ 61 MB/1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 6% ▕█ ▏ 70 MB/1.1 GB 69 MB/s 14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 7% ▕█ ▏ 74 MB/1.1 GB 69 MB/s 14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 7% ▕█ ▏ 82 MB/1.1 GB 69 MB/s 14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 8% ▕█ ▏ 90 MB/1.1 GB 69 MB/s 14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 8% ▕█ ▏ 90 MB/1.1 GB 69 MB/s 14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 9% ▕█ ▏ 100 MB/1.1 GB 69 MB/s 14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 10% ▕█ ▏ 111 MB/1.1 GB 69 MB/s 14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 10% ▕█ ▏ 115 MB/1.1 GB 69 MB/s 14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 11% ▕█ ▏ 123 MB/1.1 GB 69 MB/s 14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 12% ▕██ ▏ 130 MB/1.1 GB 69 MB/s 14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 12% ▕██ ▏ 135 MB/1.1 GB 69 MB/s 14s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 13% ▕██ ▏ 145 MB/1.1 GB 70 MB/s 13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 14% ▕██ ▏ 151 MB/1.1 GB 70 MB/s 13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 14% ▕██ ▏ 158 MB/1.1 GB 70 MB/s 13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 15% ▕██ ▏ 162 MB/1.1 GB 70 MB/s 13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 16% ▕██ ▏ 175 MB/1.1 GB 70 MB/s 13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 16% ▕██ ▏ 179 MB/1.1 GB 70 MB/s 13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 17% ▕███ ▏ 188 MB/1.1 GB 70 MB/s 13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 17% ▕███ ▏ 192 MB/1.1 GB 70 MB/s 13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 18% ▕███ ▏ 199 MB/1.1 GB 70 MB/s 13s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 19% ▕███ ▏ 209 MB/1.1 GB 70 MB/s 12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 20% ▕███ ▏ 218 MB/1.1 GB 71 MB/s 12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 20% ▕███ ▏ 223 MB/1.1 GB 71 MB/s 12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 21% ▕███ ▏ 232 MB/1.1 GB 71 MB/s 12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 22% ▕███ ▏ 240 MB/1.1 GB 71 MB/s 12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 22% ▕███ ▏ 245 MB/1.1 GB 71 MB/s 12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 23% ▕████ ▏ 254 MB/1.1 GB 71 MB/s 12s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 24% ▕████ ▏ 263 MB/1.1 GB 71 MB/s 11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 24% ▕████ ▏ 266 MB/1.1 GB 71 MB/s 11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 25% ▕████ ▏ 275 MB/1.1 GB 71 MB/s 11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 26% ▕████ ▏ 286 MB/1.1 GB 71 MB/s 11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 26% ▕████ ▏ 290 MB/1.1 GB 72 MB/s 11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 27% ▕████ ▏ 298 MB/1.1 GB 72 MB/s 11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 28% ▕████ ▏ 308 MB/1.1 GB 72 MB/s 11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 28% ▕█████ ▏ 313 MB/1.1 GB 72 MB/s 11s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 29% ▕█████ ▏ 322 MB/1.1 GB 72 MB/s 10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 30% ▕█████ ▏ 330 MB/1.1 GB 72 MB/s 10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 30% ▕█████ ▏ 335 MB/1.1 GB 72 MB/s 10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 31% ▕█████ ▏ 344 MB/1.1 GB 72 MB/s 10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 32% ▕█████ ▏ 353 MB/1.1 GB 72 MB/s 10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 32% ▕█████ ▏ 357 MB/1.1 GB 72 MB/s 10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 33% ▕█████ ▏ 365 MB/1.1 GB 73 MB/s 10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 33% ▕██████ ▏ 373 MB/1.1 GB 73 MB/s 10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 34% ▕██████ ▏ 378 MB/1.1 GB 73 MB/s 10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 35% ▕██████ ▏ 387 MB/1.1 GB 73 MB/s 10s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 36% ▕██████ ▏ 396 MB/1.1 GB 73 MB/s 9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 36% ▕██████ ▏ 400 MB/1.1 GB 73 MB/s 9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 37% ▕██████ ▏ 409 MB/1.1 GB 73 MB/s 9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 37% ▕██████ ▏ 418 MB/1.1 GB 73 MB/s 9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 38% ▕██████ ▏ 422 MB/1.1 GB 73 MB/s 9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 38% ▕██████ ▏ 427 MB/1.1 GB 73 MB/s 9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 39% ▕███████ ▏ 438 MB/1.1 GB 73 MB/s 9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 40% ▕███████ ▏ 443 MB/1.1 GB 73 MB/s 9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 40% ▕███████ ▏ 452 MB/1.1 GB 73 MB/s 9s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 41% ▕███████ ▏ 462 MB/1.1 GB 73 MB/s 8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 42% ▕███████ ▏ 463 MB/1.1 GB 73 MB/s 8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 42% ▕███████ ▏ 474 MB/1.1 GB 73 MB/s 8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 43% ▕███████ ▏ 485 MB/1.1 GB 73 MB/s 8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 44% ▕███████ ▏ 489 MB/1.1 GB 73 MB/s 8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 45% ▕████████ ▏ 500 MB/1.1 GB 73 MB/s 8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 46% ▕████████ ▏ 509 MB/1.1 GB 73 MB/s 8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 46% ▕████████ ▏ 512 MB/1.1 GB 73 MB/s 8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 47% ▕████████ ▏ 523 MB/1.1 GB 73 MB/s 8s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 48% ▕████████ ▏ 533 MB/1.1 GB 73 MB/s 7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 48% ▕████████ ▏ 537 MB/1.1 GB 73 MB/s 7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 48% ▕████████ ▏ 540 MB/1.1 GB 73 MB/s 7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 50% ▕████████ ▏ 553 MB/1.1 GB 73 MB/s 7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 50% ▕████████ ▏ 558 MB/1.1 GB 73 MB/s 7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 51% ▕█████████ ▏ 565 MB/1.1 GB 73 MB/s 7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 51% ▕█████████ ▏ 567 MB/1.1 GB 73 MB/s 7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 52% ▕█████████ ▏ 580 MB/1.1 GB 73 MB/s 7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 53% ▕█████████ ▏ 587 MB/1.1 GB 73 MB/s 7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 54% ▕█████████ ▏ 598 MB/1.1 GB 74 MB/s 7s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 54% ▕█████████ ▏ 599 MB/1.1 GB 74 MB/s 6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 54% ▕█████████ ▏ 607 MB/1.1 GB 74 MB/s 6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 55% ▕█████████ ▏ 619 MB/1.1 GB 74 MB/s 6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 56% ▕██████████ ▏ 624 MB/1.1 GB 74 MB/s 6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 57% ▕██████████ ▏ 632 MB/1.1 GB 74 MB/s 6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 57% ▕██████████ ▏ 641 MB/1.1 GB 74 MB/s 6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 58% ▕██████████ ▏ 646 MB/1.1 GB 74 MB/s 6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 59% ▕██████████ ▏ 655 MB/1.1 GB 74 MB/s 6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 59% ▕██████████ ▏ 664 MB/1.1 GB 74 MB/s 6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 60% ▕██████████ ▏ 668 MB/1.1 GB 74 MB/s 6s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 61% ▕██████████ ▏ 677 MB/1.1 GB 74 MB/s 5s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 62% ▕███████████ ▏ 687 MB/1.1 GB 74 MB/s 5s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 62% ▕███████████ ▏ 692 MB/1.1 GB 74 MB/s 5s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 63% ▕███████████ ▏ 701 MB/1.1 GB 74 MB/s 5s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 64% ▕███████████ ▏ 709 MB/1.1 GB 74 MB/s 5s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 64% ▕███████████ ▏ 714 MB/1.1 GB 74 MB/s 5s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 65% ▕███████████ ▏ 721 MB/1.1 GB 74 MB/s 5s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 65% ▕███████████ ▏ 725 MB/1.1 GB 74 MB/s 5s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 65% ▕███████████ ▏ 728 MB/1.1 GB 74 MB/s 5s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 66% ▕███████████ ▏ 737 MB/1.1 GB 74 MB/s 5s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 67% ▕████████████ ▏ 746 MB/1.1 GB 74 MB/s 5s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 67% ▕████████████ ▏ 750 MB/1.1 GB 74 MB/s 4s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 68% ▕████████████ ▏ 758 MB/1.1 GB 74 MB/s 4s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 69% ▕████████████ ▏ 767 MB/1.1 GB 74 MB/s 4s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 69% ▕████████████ ▏ 771 MB/1.1 GB 74 MB/s 4s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 70% ▕████████████ ▏ 778 MB/1.1 GB 74 MB/s 4s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 71% ▕████████████ ▏ 788 MB/1.1 GB 74 MB/s 4s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 71% ▕████████████ ▏ 792 MB/1.1 GB 74 MB/s 4s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 72% ▕████████████ ▏ 801 MB/1.1 GB 74 MB/s 4s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 73% ▕█████████████ ▏ 810 MB/1.1 GB 74 MB/s 4s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 73% ▕█████████████ ▏ 815 MB/1.1 GB 74 MB/s 4s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 74% ▕█████████████ ▏ 825 MB/1.1 GB 74 MB/s 3s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 75% ▕█████████████ ▏ 834 MB/1.1 GB 74 MB/s 3s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 75% ▕█████████████ ▏ 839 MB/1.1 GB 74 MB/s 3s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 76% ▕█████████████ ▏ 847 MB/1.1 GB 74 MB/s 3s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 77% ▕█████████████ ▏ 856 MB/1.1 GB 74 MB/s 3s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 77% ▕█████████████ ▏ 860 MB/1.1 GB 74 MB/s 3s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 78% ▕█████████████ ▏ 867 MB/1.1 GB 74 MB/s 3s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 78% ▕██████████████ ▏ 875 MB/1.1 GB 74 MB/s 3s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 79% ▕██████████████ ▏ 878 MB/1.1 GB 74 MB/s 3s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 79% ▕██████████████ ▏ 886 MB/1.1 GB 74 MB/s 3s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 80% ▕██████████████ ▏ 892 MB/1.1 GB 74 MB/s 3s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 80% ▕██████████████ ▏ 898 MB/1.1 GB 74 MB/s 2s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 81% ▕██████████████ ▏ 902 MB/1.1 GB 74 MB/s 2s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 82% ▕██████████████ ▏ 914 MB/1.1 GB 74 MB/s 2s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 82% ▕██████████████ ▏ 918 MB/1.1 GB 74 MB/s 2s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 83% ▕██████████████ ▏ 927 MB/1.1 GB 74 MB/s 2s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 84% ▕███████████████ ▏ 935 MB/1.1 GB 74 MB/s 2s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 84% ▕███████████████ ▏ 937 MB/1.1 GB 74 MB/s 2s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 85% ▕███████████████ ▏ 946 MB/1.1 GB 74 MB/s 2s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 85% ▕███████████████ ▏ 948 MB/1.1 GB 73 MB/s 2s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 86% ▕███████████████ ▏ 956 MB/1.1 GB 73 MB/s 2s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 86% ▕███████████████ ▏ 964 MB/1.1 GB 73 MB/s 2s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 87% ▕███████████████ ▏ 972 MB/1.1 GB 73 MB/s 1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 87% ▕███████████████ ▏ 977 MB/1.1 GB 73 MB/s 1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 88% ▕███████████████ ▏ 984 MB/1.1 GB 73 MB/s 1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 89% ▕███████████████ ▏ 991 MB/1.1 GB 73 MB/s 1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 89% ▕████████████████ ▏ 995 MB/1.1 GB 73 MB/s 1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 90% ▕████████████████ ▏ 1.0 GB/1.1 GB 73 MB/s 1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 90% ▕████████████████ ▏ 1.0 GB/1.1 GB 73 MB/s 1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 91% ▕████████████████ ▏ 1.0 GB/1.1 GB 73 MB/s 1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 91% ▕████████████████ ▏ 1.0 GB/1.1 GB 72 MB/s 1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 92% ▕████████████████ ▏ 1.0 GB/1.1 GB 72 MB/s 1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 92% ▕████████████████ ▏ 1.0 GB/1.1 GB 72 MB/s 1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 93% ▕████████████████ ▏ 1.0 GB/1.1 GB 72 MB/s 1s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 94% ▕████████████████ ▏ 1.0 GB/1.1 GB 72 MB/s 0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 94% ▕████████████████ ▏ 1.0 GB/1.1 GB 72 MB/s 0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 94% ▕████████████████ ▏ 1.1 GB/1.1 GB 72 MB/s 0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 95% ▕█████████████████ ▏ 1.1 GB/1.1 GB 72 MB/s 0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 95% ▕█████████████████ ▏ 1.1 GB/1.1 GB 72 MB/s 0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 95% ▕█████████████████ ▏ 1.1 GB/1.1 GB 72 MB/s 0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 96% ▕█████████████████ ▏ 1.1 GB/1.1 GB 69 MB/s 0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 96% ▕█████████████████ ▏ 1.1 GB/1.1 GB 69 MB/s 0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 96% ▕█████████████████ ▏ 1.1 GB/1.1 GB 69 MB/s 0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 96% ▕█████████████████ ▏ 1.1 GB/1.1 GB 69 MB/s 0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 97% ▕█████████████████ ▏ 1.1 GB/1.1 GB 69 MB/s 0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 97% ▕█████████████████ ▏ 1.1 GB/1.1 GB 69 MB/s 0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 97% ▕█████████████████ ▏ 1.1 GB/1.1 GB 69 MB/s 0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 98% ▕█████████████████ ▏ 1.1 GB/1.1 GB 69 MB/s 0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 98% ▕█████████████████ ▏ 1.1 GB/1.1 GB 69 MB/s 0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 98% ▕█████████████████ ▏ 1.1 GB/1.1 GB 69 MB/s 0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 99% ▕█████████████████ ▏ 1.1 GB/1.1 GB 65 MB/s 0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 99% ▕█████████████████ ▏ 1.1 GB/1.1 GB 65 MB/s 0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 99% ▕█████████████████ ▏ 1.1 GB/1.1 GB 65 MB/s 0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 99% ▕█████████████████ ▏ 1.1 GB/1.1 GB 65 MB/s 0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕█████████████████ ▏ 1.1 GB/1.1 GB 65 MB/s 0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕█████████████████ ▏ 1.1 GB/1.1 GB 65 MB/s 0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕█████████████████ ▏ 1.1 GB/1.1 GB 65 MB/s 0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕█████████████████ ▏ 1.1 GB/1.1 GB 65 MB/s 0s\u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕██████████████████▏ 1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕██████████████████▏ 1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕██████████████████▏ 1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕██████████████████▏ 1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕██████████████████▏ 1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕██████████████████▏ 1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕██████████████████▏ 1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕██████████████████▏ 1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕██████████████████▏ 1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕██████████████████▏ 1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕██████████████████▏ 1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕██████████████████▏ 1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕██████████████████▏ 1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕██████████████████▏ 1.1 GB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕██████████████████▏ 1.1 GB \u001b[K\n",
|
||
"pulling c5ad996bda6e: 100% ▕██████████████████▏ 556 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕██████████████████▏ 1.1 GB \u001b[K\n",
|
||
"pulling c5ad996bda6e: 100% ▕██████████████████▏ 556 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕██████████████████▏ 1.1 GB \u001b[K\n",
|
||
"pulling c5ad996bda6e: 100% ▕██████████████████▏ 556 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕██████████████████▏ 1.1 GB \u001b[K\n",
|
||
"pulling c5ad996bda6e: 100% ▕██████████████████▏ 556 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕██████████████████▏ 1.1 GB \u001b[K\n",
|
||
"pulling c5ad996bda6e: 100% ▕██████████████████▏ 556 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕██████████████████▏ 1.1 GB \u001b[K\n",
|
||
"pulling c5ad996bda6e: 100% ▕██████████████████▏ 556 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕██████████████████▏ 1.1 GB \u001b[K\n",
|
||
"pulling c5ad996bda6e: 100% ▕██████████████████▏ 556 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕██████████████████▏ 1.1 GB \u001b[K\n",
|
||
"pulling c5ad996bda6e: 100% ▕██████████████████▏ 556 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕██████████████████▏ 1.1 GB \u001b[K\n",
|
||
"pulling c5ad996bda6e: 100% ▕██████████████████▏ 556 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕██████████████████▏ 1.1 GB \u001b[K\n",
|
||
"pulling c5ad996bda6e: 100% ▕██████████████████▏ 556 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕██████████████████▏ 1.1 GB \u001b[K\n",
|
||
"pulling c5ad996bda6e: 100% ▕██████████████████▏ 556 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕██████████████████▏ 1.1 GB \u001b[K\n",
|
||
"pulling c5ad996bda6e: 100% ▕██████████████████▏ 556 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕██████████████████▏ 1.1 GB \u001b[K\n",
|
||
"pulling c5ad996bda6e: 100% ▕██████████████████▏ 556 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕██████████████████▏ 1.1 GB \u001b[K\n",
|
||
"pulling c5ad996bda6e: 100% ▕██████████████████▏ 556 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕██████████████████▏ 1.1 GB \u001b[K\n",
|
||
"pulling c5ad996bda6e: 100% ▕██████████████████▏ 556 B \u001b[K\n",
|
||
"pulling 6e4c38e1172f: 100% ▕██████████████████▏ 1.1 KB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕██████████████████▏ 1.1 GB \u001b[K\n",
|
||
"pulling c5ad996bda6e: 100% ▕██████████████████▏ 556 B \u001b[K\n",
|
||
"pulling 6e4c38e1172f: 100% ▕██████████████████▏ 1.1 KB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕██████████████████▏ 1.1 GB \u001b[K\n",
|
||
"pulling c5ad996bda6e: 100% ▕██████████████████▏ 556 B \u001b[K\n",
|
||
"pulling 6e4c38e1172f: 100% ▕██████████████████▏ 1.1 KB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕██████████████████▏ 1.1 GB \u001b[K\n",
|
||
"pulling c5ad996bda6e: 100% ▕██████████████████▏ 556 B \u001b[K\n",
|
||
"pulling 6e4c38e1172f: 100% ▕██████████████████▏ 1.1 KB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕██████████████████▏ 1.1 GB \u001b[K\n",
|
||
"pulling c5ad996bda6e: 100% ▕██████████████████▏ 556 B \u001b[K\n",
|
||
"pulling 6e4c38e1172f: 100% ▕██████████████████▏ 1.1 KB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕██████████████████▏ 1.1 GB \u001b[K\n",
|
||
"pulling c5ad996bda6e: 100% ▕██████████████████▏ 556 B \u001b[K\n",
|
||
"pulling 6e4c38e1172f: 100% ▕██████████████████▏ 1.1 KB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕██████████████████▏ 1.1 GB \u001b[K\n",
|
||
"pulling c5ad996bda6e: 100% ▕██████████████████▏ 556 B \u001b[K\n",
|
||
"pulling 6e4c38e1172f: 100% ▕██████████████████▏ 1.1 KB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕██████████████████▏ 1.1 GB \u001b[K\n",
|
||
"pulling c5ad996bda6e: 100% ▕██████████████████▏ 556 B \u001b[K\n",
|
||
"pulling 6e4c38e1172f: 100% ▕██████████████████▏ 1.1 KB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕██████████████████▏ 1.1 GB \u001b[K\n",
|
||
"pulling c5ad996bda6e: 100% ▕██████████████████▏ 556 B \u001b[K\n",
|
||
"pulling 6e4c38e1172f: 100% ▕██████████████████▏ 1.1 KB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕██████████████████▏ 1.1 GB \u001b[K\n",
|
||
"pulling c5ad996bda6e: 100% ▕██████████████████▏ 556 B \u001b[K\n",
|
||
"pulling 6e4c38e1172f: 100% ▕██████████████████▏ 1.1 KB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕██████████████████▏ 1.1 GB \u001b[K\n",
|
||
"pulling c5ad996bda6e: 100% ▕██████████████████▏ 556 B \u001b[K\n",
|
||
"pulling 6e4c38e1172f: 100% ▕██████████████████▏ 1.1 KB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕██████████████████▏ 1.1 GB \u001b[K\n",
|
||
"pulling c5ad996bda6e: 100% ▕██████████████████▏ 556 B \u001b[K\n",
|
||
"pulling 6e4c38e1172f: 100% ▕██████████████████▏ 1.1 KB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕██████████████████▏ 1.1 GB \u001b[K\n",
|
||
"pulling c5ad996bda6e: 100% ▕██████████████████▏ 556 B \u001b[K\n",
|
||
"pulling 6e4c38e1172f: 100% ▕██████████████████▏ 1.1 KB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕██████████████████▏ 1.1 GB \u001b[K\n",
|
||
"pulling c5ad996bda6e: 100% ▕██████████████████▏ 556 B \u001b[K\n",
|
||
"pulling 6e4c38e1172f: 100% ▕██████████████████▏ 1.1 KB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕██████████████████▏ 1.1 GB \u001b[K\n",
|
||
"pulling c5ad996bda6e: 100% ▕██████████████████▏ 556 B \u001b[K\n",
|
||
"pulling 6e4c38e1172f: 100% ▕██████████████████▏ 1.1 KB \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕██████████████████▏ 1.1 GB \u001b[K\n",
|
||
"pulling c5ad996bda6e: 100% ▕██████████████████▏ 556 B \u001b[K\n",
|
||
"pulling 6e4c38e1172f: 100% ▕██████████████████▏ 1.1 KB \u001b[K\n",
|
||
"pulling f4d24e9138dd: 100% ▕██████████████████▏ 148 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕██████████████████▏ 1.1 GB \u001b[K\n",
|
||
"pulling c5ad996bda6e: 100% ▕██████████████████▏ 556 B \u001b[K\n",
|
||
"pulling 6e4c38e1172f: 100% ▕██████████████████▏ 1.1 KB \u001b[K\n",
|
||
"pulling f4d24e9138dd: 100% ▕██████████████████▏ 148 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕██████████████████▏ 1.1 GB \u001b[K\n",
|
||
"pulling c5ad996bda6e: 100% ▕██████████████████▏ 556 B \u001b[K\n",
|
||
"pulling 6e4c38e1172f: 100% ▕██████████████████▏ 1.1 KB \u001b[K\n",
|
||
"pulling f4d24e9138dd: 100% ▕██████████████████▏ 148 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕██████████████████▏ 1.1 GB \u001b[K\n",
|
||
"pulling c5ad996bda6e: 100% ▕██████████████████▏ 556 B \u001b[K\n",
|
||
"pulling 6e4c38e1172f: 100% ▕██████████████████▏ 1.1 KB \u001b[K\n",
|
||
"pulling f4d24e9138dd: 100% ▕██████████████████▏ 148 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕██████████████████▏ 1.1 GB \u001b[K\n",
|
||
"pulling c5ad996bda6e: 100% ▕██████████████████▏ 556 B \u001b[K\n",
|
||
"pulling 6e4c38e1172f: 100% ▕██████████████████▏ 1.1 KB \u001b[K\n",
|
||
"pulling f4d24e9138dd: 100% ▕██████████████████▏ 148 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕██████████████████▏ 1.1 GB \u001b[K\n",
|
||
"pulling c5ad996bda6e: 100% ▕██████████████████▏ 556 B \u001b[K\n",
|
||
"pulling 6e4c38e1172f: 100% ▕██████████████████▏ 1.1 KB \u001b[K\n",
|
||
"pulling f4d24e9138dd: 100% ▕██████████████████▏ 148 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕██████████████████▏ 1.1 GB \u001b[K\n",
|
||
"pulling c5ad996bda6e: 100% ▕██████████████████▏ 556 B \u001b[K\n",
|
||
"pulling 6e4c38e1172f: 100% ▕██████████████████▏ 1.1 KB \u001b[K\n",
|
||
"pulling f4d24e9138dd: 100% ▕██████████████████▏ 148 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕██████████████████▏ 1.1 GB \u001b[K\n",
|
||
"pulling c5ad996bda6e: 100% ▕██████████████████▏ 556 B \u001b[K\n",
|
||
"pulling 6e4c38e1172f: 100% ▕██████████████████▏ 1.1 KB \u001b[K\n",
|
||
"pulling f4d24e9138dd: 100% ▕██████████████████▏ 148 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕██████████████████▏ 1.1 GB \u001b[K\n",
|
||
"pulling c5ad996bda6e: 100% ▕██████████████████▏ 556 B \u001b[K\n",
|
||
"pulling 6e4c38e1172f: 100% ▕██████████████████▏ 1.1 KB \u001b[K\n",
|
||
"pulling f4d24e9138dd: 100% ▕██████████████████▏ 148 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕██████████████████▏ 1.1 GB \u001b[K\n",
|
||
"pulling c5ad996bda6e: 100% ▕██████████████████▏ 556 B \u001b[K\n",
|
||
"pulling 6e4c38e1172f: 100% ▕██████████████████▏ 1.1 KB \u001b[K\n",
|
||
"pulling f4d24e9138dd: 100% ▕██████████████████▏ 148 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕██████████████████▏ 1.1 GB \u001b[K\n",
|
||
"pulling c5ad996bda6e: 100% ▕██████████████████▏ 556 B \u001b[K\n",
|
||
"pulling 6e4c38e1172f: 100% ▕██████████████████▏ 1.1 KB \u001b[K\n",
|
||
"pulling f4d24e9138dd: 100% ▕██████████████████▏ 148 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕██████████████████▏ 1.1 GB \u001b[K\n",
|
||
"pulling c5ad996bda6e: 100% ▕██████████████████▏ 556 B \u001b[K\n",
|
||
"pulling 6e4c38e1172f: 100% ▕██████████████████▏ 1.1 KB \u001b[K\n",
|
||
"pulling f4d24e9138dd: 100% ▕██████████████████▏ 148 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕██████████████████▏ 1.1 GB \u001b[K\n",
|
||
"pulling c5ad996bda6e: 100% ▕██████████████████▏ 556 B \u001b[K\n",
|
||
"pulling 6e4c38e1172f: 100% ▕██████████████████▏ 1.1 KB \u001b[K\n",
|
||
"pulling f4d24e9138dd: 100% ▕██████████████████▏ 148 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕██████████████████▏ 1.1 GB \u001b[K\n",
|
||
"pulling c5ad996bda6e: 100% ▕██████████████████▏ 556 B \u001b[K\n",
|
||
"pulling 6e4c38e1172f: 100% ▕██████████████████▏ 1.1 KB \u001b[K\n",
|
||
"pulling f4d24e9138dd: 100% ▕██████████████████▏ 148 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕██████████████████▏ 1.1 GB \u001b[K\n",
|
||
"pulling c5ad996bda6e: 100% ▕██████████████████▏ 556 B \u001b[K\n",
|
||
"pulling 6e4c38e1172f: 100% ▕██████████████████▏ 1.1 KB \u001b[K\n",
|
||
"pulling f4d24e9138dd: 100% ▕██████████████████▏ 148 B \u001b[K\n",
|
||
"pulling a85fe2a2e58e: 100% ▕██████████████████▏ 487 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕██████████████████▏ 1.1 GB \u001b[K\n",
|
||
"pulling c5ad996bda6e: 100% ▕██████████████████▏ 556 B \u001b[K\n",
|
||
"pulling 6e4c38e1172f: 100% ▕██████████████████▏ 1.1 KB \u001b[K\n",
|
||
"pulling f4d24e9138dd: 100% ▕██████████████████▏ 148 B \u001b[K\n",
|
||
"pulling a85fe2a2e58e: 100% ▕██████████████████▏ 487 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕██████████████████▏ 1.1 GB \u001b[K\n",
|
||
"pulling c5ad996bda6e: 100% ▕██████████████████▏ 556 B \u001b[K\n",
|
||
"pulling 6e4c38e1172f: 100% ▕██████████████████▏ 1.1 KB \u001b[K\n",
|
||
"pulling f4d24e9138dd: 100% ▕██████████████████▏ 148 B \u001b[K\n",
|
||
"pulling a85fe2a2e58e: 100% ▕██████████████████▏ 487 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕██████████████████▏ 1.1 GB \u001b[K\n",
|
||
"pulling c5ad996bda6e: 100% ▕██████████████████▏ 556 B \u001b[K\n",
|
||
"pulling 6e4c38e1172f: 100% ▕██████████████████▏ 1.1 KB \u001b[K\n",
|
||
"pulling f4d24e9138dd: 100% ▕██████████████████▏ 148 B \u001b[K\n",
|
||
"pulling a85fe2a2e58e: 100% ▕██████████████████▏ 487 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕██████████████████▏ 1.1 GB \u001b[K\n",
|
||
"pulling c5ad996bda6e: 100% ▕██████████████████▏ 556 B \u001b[K\n",
|
||
"pulling 6e4c38e1172f: 100% ▕██████████████████▏ 1.1 KB \u001b[K\n",
|
||
"pulling f4d24e9138dd: 100% ▕██████████████████▏ 148 B \u001b[K\n",
|
||
"pulling a85fe2a2e58e: 100% ▕██████████████████▏ 487 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕██████████████████▏ 1.1 GB \u001b[K\n",
|
||
"pulling c5ad996bda6e: 100% ▕██████████████████▏ 556 B \u001b[K\n",
|
||
"pulling 6e4c38e1172f: 100% ▕██████████████████▏ 1.1 KB \u001b[K\n",
|
||
"pulling f4d24e9138dd: 100% ▕██████████████████▏ 148 B \u001b[K\n",
|
||
"pulling a85fe2a2e58e: 100% ▕██████████████████▏ 487 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕██████████████████▏ 1.1 GB \u001b[K\n",
|
||
"pulling c5ad996bda6e: 100% ▕██████████████████▏ 556 B \u001b[K\n",
|
||
"pulling 6e4c38e1172f: 100% ▕██████████████████▏ 1.1 KB \u001b[K\n",
|
||
"pulling f4d24e9138dd: 100% ▕██████████████████▏ 148 B \u001b[K\n",
|
||
"pulling a85fe2a2e58e: 100% ▕██████████████████▏ 487 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕██████████████████▏ 1.1 GB \u001b[K\n",
|
||
"pulling c5ad996bda6e: 100% ▕██████████████████▏ 556 B \u001b[K\n",
|
||
"pulling 6e4c38e1172f: 100% ▕██████████████████▏ 1.1 KB \u001b[K\n",
|
||
"pulling f4d24e9138dd: 100% ▕██████████████████▏ 148 B \u001b[K\n",
|
||
"pulling a85fe2a2e58e: 100% ▕██████████████████▏ 487 B \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕██████████████████▏ 1.1 GB \u001b[K\n",
|
||
"pulling c5ad996bda6e: 100% ▕██████████████████▏ 556 B \u001b[K\n",
|
||
"pulling 6e4c38e1172f: 100% ▕██████████████████▏ 1.1 KB \u001b[K\n",
|
||
"pulling f4d24e9138dd: 100% ▕██████████████████▏ 148 B \u001b[K\n",
|
||
"pulling a85fe2a2e58e: 100% ▕██████████████████▏ 487 B \u001b[K\n",
|
||
"verifying sha256 digest ⠋ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕██████████████████▏ 1.1 GB \u001b[K\n",
|
||
"pulling c5ad996bda6e: 100% ▕██████████████████▏ 556 B \u001b[K\n",
|
||
"pulling 6e4c38e1172f: 100% ▕██████████████████▏ 1.1 KB \u001b[K\n",
|
||
"pulling f4d24e9138dd: 100% ▕██████████████████▏ 148 B \u001b[K\n",
|
||
"pulling a85fe2a2e58e: 100% ▕██████████████████▏ 487 B \u001b[K\n",
|
||
"verifying sha256 digest ⠙ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕██████████████████▏ 1.1 GB \u001b[K\n",
|
||
"pulling c5ad996bda6e: 100% ▕██████████████████▏ 556 B \u001b[K\n",
|
||
"pulling 6e4c38e1172f: 100% ▕██████████████████▏ 1.1 KB \u001b[K\n",
|
||
"pulling f4d24e9138dd: 100% ▕██████████████████▏ 148 B \u001b[K\n",
|
||
"pulling a85fe2a2e58e: 100% ▕██████████████████▏ 487 B \u001b[K\n",
|
||
"verifying sha256 digest ⠹ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕██████████████████▏ 1.1 GB \u001b[K\n",
|
||
"pulling c5ad996bda6e: 100% ▕██████████████████▏ 556 B \u001b[K\n",
|
||
"pulling 6e4c38e1172f: 100% ▕██████████████████▏ 1.1 KB \u001b[K\n",
|
||
"pulling f4d24e9138dd: 100% ▕██████████████████▏ 148 B \u001b[K\n",
|
||
"pulling a85fe2a2e58e: 100% ▕██████████████████▏ 487 B \u001b[K\n",
|
||
"verifying sha256 digest ⠸ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕██████████████████▏ 1.1 GB \u001b[K\n",
|
||
"pulling c5ad996bda6e: 100% ▕██████████████████▏ 556 B \u001b[K\n",
|
||
"pulling 6e4c38e1172f: 100% ▕██████████████████▏ 1.1 KB \u001b[K\n",
|
||
"pulling f4d24e9138dd: 100% ▕██████████████████▏ 148 B \u001b[K\n",
|
||
"pulling a85fe2a2e58e: 100% ▕██████████████████▏ 487 B \u001b[K\n",
|
||
"verifying sha256 digest ⠼ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕██████████████████▏ 1.1 GB \u001b[K\n",
|
||
"pulling c5ad996bda6e: 100% ▕██████████████████▏ 556 B \u001b[K\n",
|
||
"pulling 6e4c38e1172f: 100% ▕██████████████████▏ 1.1 KB \u001b[K\n",
|
||
"pulling f4d24e9138dd: 100% ▕██████████████████▏ 148 B \u001b[K\n",
|
||
"pulling a85fe2a2e58e: 100% ▕██████████████████▏ 487 B \u001b[K\n",
|
||
"verifying sha256 digest ⠴ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕██████████████████▏ 1.1 GB \u001b[K\n",
|
||
"pulling c5ad996bda6e: 100% ▕██████████████████▏ 556 B \u001b[K\n",
|
||
"pulling 6e4c38e1172f: 100% ▕██████████████████▏ 1.1 KB \u001b[K\n",
|
||
"pulling f4d24e9138dd: 100% ▕██████████████████▏ 148 B \u001b[K\n",
|
||
"pulling a85fe2a2e58e: 100% ▕██████████████████▏ 487 B \u001b[K\n",
|
||
"verifying sha256 digest ⠦ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕██████████████████▏ 1.1 GB \u001b[K\n",
|
||
"pulling c5ad996bda6e: 100% ▕██████████████████▏ 556 B \u001b[K\n",
|
||
"pulling 6e4c38e1172f: 100% ▕██████████████████▏ 1.1 KB \u001b[K\n",
|
||
"pulling f4d24e9138dd: 100% ▕██████████████████▏ 148 B \u001b[K\n",
|
||
"pulling a85fe2a2e58e: 100% ▕██████████████████▏ 487 B \u001b[K\n",
|
||
"verifying sha256 digest ⠧ \u001b[K\u001b[?25h\u001b[?2026l\u001b[?2026h\u001b[?25l\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[1Gpulling manifest \u001b[K\n",
|
||
"pulling aabd4debf0c8: 100% ▕██████████████████▏ 1.1 GB \u001b[K\n",
|
||
"pulling c5ad996bda6e: 100% ▕██████████████████▏ 556 B \u001b[K\n",
|
||
"pulling 6e4c38e1172f: 100% ▕██████████████████▏ 1.1 KB \u001b[K\n",
|
||
"pulling f4d24e9138dd: 100% ▕██████████████████▏ 148 B \u001b[K\n",
|
||
"pulling a85fe2a2e58e: 100% ▕██████████████████▏ 487 B \u001b[K\n",
|
||
"verifying sha256 digest \u001b[K\n",
|
||
"writing manifest \u001b[K\n",
|
||
"success \u001b[K\u001b[?25h\u001b[?2026l\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"# Now let's try deepseek-r1:1.5b - this is DeepSeek \"distilled\" into Qwen from Alibaba Cloud\n",
|
||
"\n",
|
||
"!ollama pull deepseek-r1:1.5b"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 13,
|
||
"id": "25002f25",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"'Sure! Here\\'s a fun fact for you:\\n\\n### The Missing Universe - A New Era in Astronomy\\nIn 2018, astronomers released a groundbreaking video titled *The Missing Universe*, which provided the first direct evidence of dark matter and dark energy, marking the beginning of the \"new era\" in astronomy that we\\'re all waiting for.\\n\\nDark matter is a mysterious substance that makes up approximately 55% of the matter in the universe. Scientists have long puzzled over it despite its name (it doesn\\'t emit light or heat), and many theories remain unproven. However, *The Missing Universe* showed us there\\'s evidence of these \"missing\" forces at play by capturing a massive galaxy within an hour-long video.\\n\\nThis discovery has opened up entirely new possibilities for understanding the universe\\'s structure and evolution.'"
|
||
]
|
||
},
|
||
"execution_count": 13,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"response = ollama.chat.completions.create(model=\"deepseek-r1:1.5b\", messages=[{\"role\": \"user\", \"content\": \"Tell me a fun fact\"}])\n",
|
||
"\n",
|
||
"response.choices[0].message.content"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "6e9fa1fc-eac5-4d1d-9be4-541b3f2b3458",
|
||
"metadata": {},
|
||
"source": [
|
||
"# HOMEWORK EXERCISE ASSIGNMENT\n",
|
||
"\n",
|
||
"Upgrade the day 1 project to summarize a webpage to use an Open Source model running locally via Ollama rather than OpenAI\n",
|
||
"\n",
|
||
"You'll be able to use this technique for all subsequent projects if you'd prefer not to use paid APIs.\n",
|
||
"\n",
|
||
"**Benefits:**\n",
|
||
"1. No API charges - open-source\n",
|
||
"2. Data doesn't leave your box\n",
|
||
"\n",
|
||
"**Disadvantages:**\n",
|
||
"1. Significantly less power than Frontier Model\n",
|
||
"\n",
|
||
"## Recap on installation of Ollama\n",
|
||
"\n",
|
||
"Simply visit [ollama.com](https://ollama.com) and install!\n",
|
||
"\n",
|
||
"Once complete, the ollama server should already be running locally. \n",
|
||
"If you visit: \n",
|
||
"[http://localhost:11434/](http://localhost:11434/)\n",
|
||
"\n",
|
||
"You should see the message `Ollama is running`. \n",
|
||
"\n",
|
||
"If not, bring up a new Terminal (Mac) or Powershell (Windows) and enter `ollama serve` \n",
|
||
"And in another Terminal (Mac) or Powershell (Windows), enter `ollama pull llama3.2` \n",
|
||
"Then try [http://localhost:11434/](http://localhost:11434/) again.\n",
|
||
"\n",
|
||
"If Ollama is slow on your machine, try using `llama3.2:1b` as an alternative. Run `ollama pull llama3.2:1b` from a Terminal or Powershell, and change the code from `MODEL = \"llama3.2\"` to `MODEL = \"llama3.2:1b\"`"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 5,
|
||
"id": "6de38216-6d1c-48c4-877b-86d403f4e0f8",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/markdown": [
|
||
"Here are the summarized business developments from Lime, Dotta-Tier, Voi, and Bird, sorted by company and industry development, along with a rate of importance:\n",
|
||
"\n",
|
||
"**Company Developments**\n",
|
||
"\n",
|
||
"1. **Dott**: Raises €40 million through bond issue (Importance: 8/10) - Voi Technology uses this funding for its expansion in the Paris region.\n",
|
||
"2. **Lime UK**: Revenues up 75% in 2024 (Importance: 7.5/10) - Lime expands its fleet and introduces foot patrols in Milwaukee.\n",
|
||
"3. **Bird**: No recent news available.\n",
|
||
"\n",
|
||
"**Industry Developments**\n",
|
||
"\n",
|
||
"1. **Paris Region Shared E-Bikes**: Voi joins Lime and Dott to operate shared e-bikes (Importance: 9/10) - This partnership strengthens the region's micromobility landscape.\n",
|
||
"2. **Germany Micromobility Expansion**: Lime launches bike-sharing system in Stuttgart region (Importance: 8.5/10)\n",
|
||
"3. **Paris E-Bike Rental Market**: Competition increases with Voi, Lime, and Dott operating together (Importance: 8/10)\n",
|
||
"4. **UK Electric Vehicle Study**: Toyota-led consortium receives funding for light EV study (Importance: 6.5/10) - Relevant to the micromobility industry, but not directly related to micromobility companies.\n",
|
||
"5. **Seattle Shared Micromobility Growth**: City hits 7 million shared micromobility trips (Importance: 7/10)\n",
|
||
"\n",
|
||
"Note that the importance ratings are subjective and based on various factors such as the significance of the announcement, its potential impact on the industry, and the company's overall performance."
|
||
],
|
||
"text/plain": [
|
||
"<IPython.core.display.Markdown object>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"### Imports and basic setup\n",
|
||
"\n",
|
||
"from scraper import fetch_website_contents\n",
|
||
"from IPython.display import Markdown, display\n",
|
||
"from openai import OpenAI\n",
|
||
"\n",
|
||
"\n",
|
||
"OLLAMA_BASE_URL = \"http://localhost:11434/v1\"\n",
|
||
"ollama = OpenAI(base_url=OLLAMA_BASE_URL, api_key='ollama')\n",
|
||
"\n",
|
||
"### Prompts\n",
|
||
"\n",
|
||
"system_prompt = \"\"\"\n",
|
||
"You are a proffesional assistant that summerizes news about micromobility. \n",
|
||
"Be consice, data driven and nice to read. \n",
|
||
"\"\"\"\n",
|
||
"user_prompt = \"\"\"\n",
|
||
"Take the content of the website and provide a short summery of the business developvement.\n",
|
||
"Sort it by company and by general industry developments. Only show new about Lime, Dott-Tier, Voi and Bird.\n",
|
||
"For each output, provide a rate of its importance.\n",
|
||
"Order the news by importance.\n",
|
||
"\"\"\"\n",
|
||
"\n",
|
||
"### Getting website content\n",
|
||
"\n",
|
||
"micromobility = fetch_website_contents(\"https://micromobility.io/news\")\n",
|
||
"\n",
|
||
"def messages_for(website):\n",
|
||
" return [\n",
|
||
" {\"role\": \"system\", \"content\": system_prompt},\n",
|
||
" {\"role\": \"user\", \"content\": user_prompt + website}\n",
|
||
" ]\n",
|
||
"\n",
|
||
"### Summarization\n",
|
||
"\n",
|
||
"def summarize(url):\n",
|
||
" website = fetch_website_contents(url)\n",
|
||
" response = ollama.chat.completions.create(\n",
|
||
" model = \"llama3.2\",\n",
|
||
" messages = messages_for(website)\n",
|
||
" )\n",
|
||
" return response.choices[0].message.content\n",
|
||
"\n",
|
||
"def display_summary(url):\n",
|
||
" summary = summarize(url)\n",
|
||
" display(Markdown(summary))\n",
|
||
"\n",
|
||
"display_summary (\"https://micromobility.io/news\")"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "73674d1b",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
}
|
||
],
|
||
"metadata": {
|
||
"kernelspec": {
|
||
"display_name": ".venv",
|
||
"language": "python",
|
||
"name": "python3"
|
||
},
|
||
"language_info": {
|
||
"codemirror_mode": {
|
||
"name": "ipython",
|
||
"version": 3
|
||
},
|
||
"file_extension": ".py",
|
||
"mimetype": "text/x-python",
|
||
"name": "python",
|
||
"nbconvert_exporter": "python",
|
||
"pygments_lexer": "ipython3",
|
||
"version": "3.12.11"
|
||
}
|
||
},
|
||
"nbformat": 4,
|
||
"nbformat_minor": 5
|
||
}
|