From d81c05da16926c3080ed605cfce1b606d14db983 Mon Sep 17 00:00:00 2001 From: misi Date: Sun, 19 Oct 2025 21:26:04 +1300 Subject: [PATCH 01/19] The model 'claude-3-5-sonnet-20240620' is deprecated and will reach end-of-life on October 22, 2025., giving error message of using it. --- week6/day4.ipynb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/week6/day4.ipynb b/week6/day4.ipynb index 56885b5..304f1d1 100644 --- a/week6/day4.ipynb +++ b/week6/day4.ipynb @@ -208,7 +208,7 @@ "source": [ "# First let's work on a good prompt for a Frontier model\n", "# Notice that I'm removing the \" to the nearest dollar\"\n", - "# When we train our own models, we'll need to make the problem as easy as possible, \n", + "# When we train our own models, we'll need to make the problem as easy as possible,\n", "# but a Frontier model needs no such simplification.\n", "\n", "def messages_for(item):\n", @@ -277,7 +277,7 @@ "\n", "def gpt_4o_mini(item):\n", " response = openai.chat.completions.create(\n", - " model=\"gpt-4o-mini\", \n", + " model=\"gpt-4o-mini\",\n", " messages=messages_for(item),\n", " seed=42,\n", " max_tokens=5\n", @@ -315,7 +315,7 @@ "source": [ "def gpt_4o_frontier(item):\n", " response = openai.chat.completions.create(\n", - " model=\"gpt-4o-2024-08-06\", \n", + " model=\"gpt-4o-2024-08-06\",\n", " messages=messages_for(item),\n", " seed=42,\n", " max_tokens=5\n", @@ -350,7 +350,7 @@ " system_message = messages[0]['content']\n", " messages = messages[1:]\n", " response = claude.messages.create(\n", - " model=\"claude-3-5-sonnet-20240620\",\n", + " model=\"claude-sonnet-4-5-20250929\",\n", " max_tokens=5,\n", " system=system_message,\n", " messages=messages\n", From 8b29b08310a8510e09f0b80902bd6d73201db42e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mih=C3=A1ly=20Hazag?= Date: Sun, 19 Oct 2025 21:35:22 +1300 Subject: [PATCH 02/19] Fix formatting in day4.ipynb for consistency --- week6/day4.ipynb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/week6/day4.ipynb b/week6/day4.ipynb index 304f1d1..301fc27 100644 --- a/week6/day4.ipynb +++ b/week6/day4.ipynb @@ -208,7 +208,7 @@ "source": [ "# First let's work on a good prompt for a Frontier model\n", "# Notice that I'm removing the \" to the nearest dollar\"\n", - "# When we train our own models, we'll need to make the problem as easy as possible,\n", + "# When we train our own models, we'll need to make the problem as easy as possible, \n", "# but a Frontier model needs no such simplification.\n", "\n", "def messages_for(item):\n", @@ -277,7 +277,7 @@ "\n", "def gpt_4o_mini(item):\n", " response = openai.chat.completions.create(\n", - " model=\"gpt-4o-mini\",\n", + " model=\"gpt-4o-mini\", \n", " messages=messages_for(item),\n", " seed=42,\n", " max_tokens=5\n", @@ -315,7 +315,7 @@ "source": [ "def gpt_4o_frontier(item):\n", " response = openai.chat.completions.create(\n", - " model=\"gpt-4o-2024-08-06\",\n", + " model=\"gpt-4o-2024-08-06\", \n", " messages=messages_for(item),\n", " seed=42,\n", " max_tokens=5\n", From d2c5b806279654ad38d9ce38766e2e914e3227fc Mon Sep 17 00:00:00 2001 From: jowee Date: Tue, 21 Oct 2025 09:41:55 -0400 Subject: [PATCH 03/19] Add day1_email_secretary --- .../day1_email_secretary.ipynb | 571 ++++++++++++++++++ 1 file changed, 571 insertions(+) create mode 100644 week1/community-contributions/day1_email_secretary.ipynb diff --git a/week1/community-contributions/day1_email_secretary.ipynb b/week1/community-contributions/day1_email_secretary.ipynb new file mode 100644 index 0000000..14cadb2 --- /dev/null +++ b/week1/community-contributions/day1_email_secretary.ipynb @@ -0,0 +1,571 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "d15d8294-3328-4e07-ad16-8a03e9bbfdb9", + "metadata": {}, + "source": [ + "# YOUR FIRST LAB\n", + "### Please read this section. This is valuable to get you prepared, even if it's a long read -- it's important stuff.\n", + "\n", + "### Also, be sure to read [README.md](../README.md)! More info about the updated videos in the README and [top of the course resources in purple](https://edwarddonner.com/2024/11/13/llm-engineering-resources/)\n", + "\n", + "## Your first Frontier LLM Project\n", + "\n", + "By the end of this course, you will have built an autonomous Agentic AI solution with 7 agents that collaborate to solve a business problem. All in good time! We will start with something smaller...\n", + "\n", + "Our goal is to code a new kind of Web Browser. Give it a URL, and it will respond with a summary. The Reader's Digest of the internet!!\n", + "\n", + "Before starting, you should have completed the setup linked in the README.\n", + "\n", + "### If you're new to working in \"Notebooks\" (also known as Labs or Jupyter Lab)\n", + "\n", + "Welcome to the wonderful world of Data Science experimentation! Simply click in each \"cell\" with code in it, such as the cell immediately below this text, and hit Shift+Return to execute that cell. Be sure to run every cell, starting at the top, in order.\n", + "\n", + "Please look in the [Guides folder](../guides/01_intro.ipynb) for all the guides.\n", + "\n", + "## I am here to help\n", + "\n", + "If you have any problems at all, please do reach out. \n", + "I'm available through the platform, or at ed@edwarddonner.com, or at https://www.linkedin.com/in/eddonner/ if you'd like to connect (and I love connecting!) \n", + "And this is new to me, but I'm also trying out X at [@edwarddonner](https://x.com/edwarddonner) - if you're on X, please show me how it's done ๐Ÿ˜‚ \n", + "\n", + "## More troubleshooting\n", + "\n", + "Please see the [troubleshooting](../setup/troubleshooting.ipynb) notebook in the setup folder to diagnose and fix common problems. At the very end of it is a diagnostics script with some useful debug info.\n", + "\n", + "## If this is old hat!\n", + "\n", + "If you're already comfortable with today's material, please hang in there; you can move swiftly through the first few labs - we will get much more in depth as the weeks progress. Ultimately we will fine-tune our own LLM to compete with OpenAI!\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " \n", + " \n", + "

Please read - important note

\n", + " The way I collaborate with you may be different to other courses you've taken. I prefer not to type code while you watch. Rather, I execute Jupyter Labs, like this, and give you an intuition for what's going on. My suggestion is that you carefully execute this yourself, after watching the lecture. Add print statements to understand what's going on, and then come up with your own variations. If you have a Github account, use this to showcase your variations. Not only is this essential practice, but it demonstrates your skills to others, including perhaps future clients or employers...\n", + "
\n", + "\n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " \n", + " \n", + "

This code is a live resource - keep an eye out for my emails

\n", + " I push updates to the code regularly. As people ask questions, I add more examples or improved commentary. As a result, you'll notice that the code below isn't identical to the videos. Everything from the videos is here; but I've also added better explanations and new models like DeepSeek. Consider this like an interactive book.

\n", + " I try to send emails regularly with important updates related to the course. You can find this in the 'Announcements' section of Udemy in the left sidebar. You can also choose to receive my emails via your Notification Settings in Udemy. I'm respectful of your inbox and always try to add value with my emails!\n", + "
\n", + "
\n", + "\n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " \n", + " \n", + "

Business value of these exercises

\n", + " A final thought. While I've designed these notebooks to be educational, I've also tried to make them enjoyable. We'll do fun things like have LLMs tell jokes and argue with each other. But fundamentally, my goal is to teach skills you can apply in business. I'll explain business implications as we go, and it's worth keeping this in mind: as you build experience with models and techniques, think of ways you could put this into action at work today. Please do contact me if you'd like to discuss more or if you have ideas to bounce off me.\n", + "
" + ] + }, + { + "cell_type": "markdown", + "id": "83f28feb", + "metadata": {}, + "source": [ + "### If necessary, install Cursor Extensions\n", + "\n", + "1. From the View menu, select Extensions\n", + "2. Search for Python\n", + "3. Click on \"Python\" made by \"ms-python\" and select Install if not already installed\n", + "4. Search for Jupyter\n", + "5. Click on \"Jupyter\" made by \"ms-toolsai\" and select Install of not already installed\n", + "\n", + "\n", + "### Next Select the Kernel\n", + "\n", + "Click on \"Select Kernel\" on the Top Right\n", + "\n", + "Choose \"Python Environments...\"\n", + "\n", + "Then choose the one that looks like `.venv (Python 3.12.x) .venv/bin/python` - it should be marked as \"Recommended\" and have a big star next to it.\n", + "\n", + "Any problems with this? Head over to the troubleshooting.\n", + "\n", + "### Note: you'll need to set the Kernel with every notebook.." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4e2a9393-7767-488e-a8bf-27c12dca35bd", + "metadata": {}, + "outputs": [], + "source": [ + "# imports\n", + "\n", + "import os\n", + "from dotenv import load_dotenv\n", + "from scraper import fetch_website_contents\n", + "from IPython.display import Markdown, display\n", + "from openai import OpenAI\n", + "\n", + "# If you get an error running this cell, then please head over to the troubleshooting notebook!" + ] + }, + { + "cell_type": "markdown", + "id": "6900b2a8-6384-4316-8aaa-5e519fca4254", + "metadata": {}, + "source": [ + "# Connecting to OpenAI (or Ollama)\n", + "\n", + "The next cell is where we load in the environment variables in your `.env` file and connect to OpenAI. \n", + "\n", + "If you'd like to use free Ollama instead, please see the README section \"Free Alternative to Paid APIs\", and if you're not sure how to do this, there's a full solution in the solutions folder (day1_with_ollama.ipynb).\n", + "\n", + "## Troubleshooting if you have problems:\n", + "\n", + "If you get a \"Name Error\" - have you run all cells from the top down? Head over to the Python Foundations guide for a bulletproof way to find and fix all Name Errors.\n", + "\n", + "If that doesn't fix it, head over to the [troubleshooting](../setup/troubleshooting.ipynb) notebook for step by step code to identify the root cause and fix it!\n", + "\n", + "Or, contact me! Message me or email ed@edwarddonner.com and we will get this to work.\n", + "\n", + "Any concerns about API costs? See my notes in the README - costs should be minimal, and you can control it at every point. You can also use Ollama as a free alternative, which we discuss during Day 2." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7b87cadb-d513-4303-baee-a37b6f938e4d", + "metadata": {}, + "outputs": [], + "source": [ + "# Load environment variables in a file called .env\n", + "\n", + "load_dotenv(override=True)\n", + "api_key = os.getenv('OPENAI_API_KEY')\n", + "\n", + "# Check the 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", + "elif api_key.strip() != api_key:\n", + " print(\"An API key was found, but it looks like it might have space or tab characters at the start or end - please remove them - see troubleshooting notebook\")\n", + "else:\n", + " print(\"API key found and looks good so far!\")\n" + ] + }, + { + "cell_type": "markdown", + "id": "442fc84b-0815-4f40-99ab-d9a5da6bda91", + "metadata": {}, + "source": [ + "# Let's make a quick call to a Frontier model to get started, as a preview!" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a58394bf-1e45-46af-9bfd-01e24da6f49a", + "metadata": {}, + "outputs": [], + "source": [ + "# To give you a preview -- calling OpenAI with these messages is this easy. Any problems, head over to the Troubleshooting notebook.\n", + "\n", + "message = \"Hello, GPT! This is my first ever message to you! Hi!\"\n", + "\n", + "messages = [{\"role\": \"user\", \"content\": message}]\n", + "\n", + "messages\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "08330159", + "metadata": {}, + "outputs": [], + "source": [ + "openai = OpenAI()\n", + "\n", + "response = openai.chat.completions.create(model=\"gpt-5-nano\", messages=messages)\n", + "response.choices[0].message.content" + ] + }, + { + "cell_type": "markdown", + "id": "2aa190e5-cb31-456a-96cc-db109919cd78", + "metadata": {}, + "source": [ + "## OK onwards with our first project" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2ef960cf-6dc2-4cda-afb3-b38be12f4c97", + "metadata": {}, + "outputs": [], + "source": [ + "# Let's try out this utility\n", + "\n", + "ed = fetch_website_contents(\"https://edwarddonner.com\")\n", + "print(ed)" + ] + }, + { + "cell_type": "markdown", + "id": "6a478a0c-2c53-48ff-869c-4d08199931e1", + "metadata": {}, + "source": [ + "## Types of prompts\n", + "\n", + "You may know this already - but if not, you will get very familiar with it!\n", + "\n", + "Models like GPT have been trained to receive instructions in a particular way.\n", + "\n", + "They expect to receive:\n", + "\n", + "**A system prompt** that tells them what task they are performing and what tone they should use\n", + "\n", + "**A user prompt** -- the conversation starter that they should reply to" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "abdb8417-c5dc-44bc-9bee-2e059d162699", + "metadata": {}, + "outputs": [], + "source": [ + "# Define our system prompt - you can experiment with this later, changing the last sentence to 'Respond in markdown in Spanish.\"\n", + "\n", + "system_prompt = \"\"\"\n", + "You are a snarky assistant that analyzes the contents of a website,\n", + "and provides a short, snarky, humorous summary, ignoring text that might be navigation related.\n", + "Respond in markdown. Do not wrap the markdown in a code block - respond just with the markdown.\n", + "\"\"\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f0275b1b-7cfe-4f9d-abfa-7650d378da0c", + "metadata": {}, + "outputs": [], + "source": [ + "# Define our user prompt\n", + "\n", + "user_prompt_prefix = \"\"\"\n", + "Here are the contents of a website.\n", + "Provide a short summary of this website.\n", + "If it includes news or announcements, then summarize these too.\n", + "\n", + "\"\"\"" + ] + }, + { + "cell_type": "markdown", + "id": "ea211b5f-28e1-4a86-8e52-c0b7677cadcc", + "metadata": {}, + "source": [ + "## Messages\n", + "\n", + "The API from OpenAI expects to receive messages in a particular structure.\n", + "Many of the other APIs share this structure:\n", + "\n", + "```python\n", + "[\n", + " {\"role\": \"system\", \"content\": \"system message goes here\"},\n", + " {\"role\": \"user\", \"content\": \"user message goes here\"}\n", + "]\n", + "```\n", + "To give you a preview, the next 2 cells make a rather simple call - we won't stretch the mighty GPT (yet!)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f25dcd35-0cd0-4235-9f64-ac37ed9eaaa5", + "metadata": {}, + "outputs": [], + "source": [ + "messages = [\n", + " {\"role\": \"system\", \"content\": \"You are a helpful assistant.\"},\n", + " {\"role\": \"user\", \"content\": \"What is 2 + 2?\"}\n", + "]\n", + "\n", + "response = openai.chat.completions.create(model=\"gpt-4.1-nano\", messages=messages)\n", + "response.choices[0].message.content" + ] + }, + { + "cell_type": "markdown", + "id": "d06e8d78-ce4c-4b05-aa8e-17050c82bb47", + "metadata": {}, + "source": [ + "## And now let's build useful messages for GPT-4.1-mini, using a function" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0134dfa4-8299-48b5-b444-f2a8c3403c88", + "metadata": {}, + "outputs": [], + "source": [ + "# See how this function creates exactly the format above\n", + "\n", + "def messages_for(website):\n", + " return [\n", + " {\"role\": \"system\", \"content\": system_prompt},\n", + " {\"role\": \"user\", \"content\": user_prompt_prefix + website}\n", + " ]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "36478464-39ee-485c-9f3f-6a4e458dbc9c", + "metadata": {}, + "outputs": [], + "source": [ + "# Try this out, and then try for a few more websites\n", + "\n", + "messages_for(ed)" + ] + }, + { + "cell_type": "markdown", + "id": "16f49d46-bf55-4c3e-928f-68fc0bf715b0", + "metadata": {}, + "source": [ + "## Time to bring it together - the API for OpenAI is very simple!" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "905b9919-aba7-45b5-ae65-81b3d1d78e34", + "metadata": {}, + "outputs": [], + "source": [ + "# And now: call the OpenAI API. You will get very familiar with this!\n", + "\n", + "def summarize(url):\n", + " website = fetch_website_contents(url)\n", + " response = openai.chat.completions.create(\n", + " model = \"gpt-4.1-mini\",\n", + " messages = messages_for(website)\n", + " )\n", + " return response.choices[0].message.content" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "05e38d41-dfa4-4b20-9c96-c46ea75d9fb5", + "metadata": {}, + "outputs": [], + "source": [ + "summarize(\"https://edwarddonner.com\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3d926d59-450e-4609-92ba-2d6f244f1342", + "metadata": {}, + "outputs": [], + "source": [ + "# A function to display this nicely in the output, using markdown\n", + "\n", + "def display_summary(url):\n", + " summary = summarize(url)\n", + " display(Markdown(summary))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3018853a-445f-41ff-9560-d925d1774b2f", + "metadata": {}, + "outputs": [], + "source": [ + "display_summary(\"https://edwarddonner.com\")" + ] + }, + { + "cell_type": "markdown", + "id": "b3bcf6f4-adce-45e9-97ad-d9a5d7a3a624", + "metadata": {}, + "source": [ + "# Let's try more websites\n", + "\n", + "Note that this will only work on websites that can be scraped using this simplistic approach.\n", + "\n", + "Websites that are rendered with Javascript, like React apps, won't show up. See the community-contributions folder for a Selenium implementation that gets around this. You'll need to read up on installing Selenium (ask ChatGPT!)\n", + "\n", + "Also Websites protected with CloudFront (and similar) may give 403 errors - many thanks Andy J for pointing this out.\n", + "\n", + "But many websites will work just fine!" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "45d83403-a24c-44b5-84ac-961449b4008f", + "metadata": {}, + "outputs": [], + "source": [ + "display_summary(\"https://cnn.com\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "75e9fd40-b354-4341-991e-863ef2e59db7", + "metadata": {}, + "outputs": [], + "source": [ + "display_summary(\"https://anthropic.com\")" + ] + }, + { + "cell_type": "markdown", + "id": "c951be1a-7f1b-448f-af1f-845978e47e2c", + "metadata": {}, + "source": [ + "\n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " \n", + " \n", + "

Business applications

\n", + " In this exercise, you experienced calling the Cloud API of a Frontier Model (a leading model at the frontier of AI) for the first time. We will be using APIs like OpenAI at many stages in the course, in addition to building our own LLMs.\n", + "\n", + "More specifically, we've applied this to Summarization - a classic Gen AI use case to make a summary. This can be applied to any business vertical - summarizing the news, summarizing financial performance, summarizing a resume in a cover letter - the applications are limitless. Consider how you could apply Summarization in your business, and try prototyping a solution.\n", + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " \n", + " \n", + "

Before you continue - now try yourself

\n", + " Use the cell below to make your own simple commercial example. Stick with the summarization use case for now. Here's an idea: write something that will take the contents of an email, and will suggest an appropriate short subject line for the email. That's the kind of feature that might be built into a commercial email tool.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "00743dac-0e70-45b7-879a-d7293a6f68a6", + "metadata": {}, + "outputs": [], + "source": [ + "# Step 1: Create your prompts\n", + "\n", + "system_prompt = \"\"\"You are my personal secretary. You will review an email and summarize the content. Write a summary and add a response to the sender.\n", + "\"\"\"\n", + "user_prompt = \"\"\"\n", + " Here are the contents of an email:\n", + " ***Insert Email Here***\n", + "\n", + " .\n", + " \n", + " \n", + " \n", + " Write a summary and with bullet points of the key topics of the email.\n", + " Structure the summary with Date, Time and name of Sender on the Top right hand corner.\n", + " After the summary, add triple spaces and write a response to the sender indicating receipt of email and suggest some valid responses.\n", + " Highlight the response with all caps.\n", + "\n", + "\"\"\"\n", + "\n", + "# Step 2: Make the messages list\n", + "\n", + "messages = [{\"role\":\"system\" , \"content\": system_prompt},\n", + "{\"role\":\"user\", \"content\":user_prompt}] # fill this in\n", + "# Step 3: Call OpenAI\n", + "response =openai.chat.completions.create(\n", + " model=\"gpt-4.1-mini\",\n", + " messages=messages)\n", + "\n", + "# Step 4: print the result\n", + "print(response.choices[0].message.content)" + ] + }, + { + "cell_type": "markdown", + "id": "36ed9f14-b349-40e9-a42c-b367e77f8bda", + "metadata": {}, + "source": [ + "## An extra exercise for those who enjoy web scraping\n", + "\n", + "You may notice that if you try `display_summary(\"https://openai.com\")` - it doesn't work! That's because OpenAI has a fancy website that uses Javascript. There are many ways around this that some of you might be familiar with. For example, Selenium is a hugely popular framework that runs a browser behind the scenes, renders the page, and allows you to query it. If you have experience with Selenium, Playwright or similar, then feel free to improve the Website class to use them. In the community-contributions folder, you'll find an example Selenium solution from a student (thank you!)" + ] + }, + { + "cell_type": "markdown", + "id": "eeab24dc-5f90-4570-b542-b0585aca3eb6", + "metadata": {}, + "source": [ + "# Sharing your code\n", + "\n", + "I'd love it if you share your code afterwards so I can share it with others! You'll notice that some students have already made changes (including a Selenium implementation) which you will find in the community-contributions folder. If you'd like add your changes to that folder, submit a Pull Request with your new versions in that folder and I'll merge your changes.\n", + "\n", + "If you're not an expert with git (and I am not!) then GPT has given some nice instructions on how to submit a Pull Request. It's a bit of an involved process, but once you've done it once it's pretty clear. As a pro-tip: it's best if you clear the outputs of your Jupyter notebooks (Edit >> Clean outputs of all cells, and then Save) for clean notebooks.\n", + "\n", + "Here are good instructions courtesy of an AI friend: \n", + "https://chatgpt.com/share/677a9cb5-c64c-8012-99e0-e06e88afd293" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f4484fcf-8b39-4c3f-9674-37970ed71988", + "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.4" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 0ba4eef86877980b9355d90f7894ab2754e09b91 Mon Sep 17 00:00:00 2001 From: Rob Godbey Date: Tue, 21 Oct 2025 16:55:47 -0400 Subject: [PATCH 04/19] Added my contributions to community-contributions --- .../wk1-day1-RBG-all-sites-jina.ipynb | 221 ++++++++++++++++++ 1 file changed, 221 insertions(+) create mode 100644 week1/community-contributions/wk1-day1-RBG-all-sites-jina.ipynb diff --git a/week1/community-contributions/wk1-day1-RBG-all-sites-jina.ipynb b/week1/community-contributions/wk1-day1-RBG-all-sites-jina.ipynb new file mode 100644 index 0000000..5d6454d --- /dev/null +++ b/week1/community-contributions/wk1-day1-RBG-all-sites-jina.ipynb @@ -0,0 +1,221 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "d15d8294-3328-4e07-ad16-8a03e9bbfdb9", + "metadata": {}, + "source": [ + "# My First Lab = My 1st Frontier LLM Project\n", + "## Summarize All Websites without Selenium\n", + "This simple \"app\" uses Jina (https://jina.ai/reader) to turn all websites into markdown before summarizing by an LLM. As their website says: \"Convert a URL to LLM-friendly input, by simply adding r.jina.ai in front\". They have other tools that look useful too.\n", + "\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4e2a9393-7767-488e-a8bf-27c12dca35bd", + "metadata": {}, + "outputs": [], + "source": [ + "# imports\n", + "\n", + "import os\n", + "import requests # added for jina\n", + "from dotenv import load_dotenv\n", + "# from scraper import fetch_website_contents # not needed for jina\n", + "from IPython.display import Markdown, display\n", + "from openai import OpenAI\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7b87cadb-d513-4303-baee-a37b6f938e4d", + "metadata": {}, + "outputs": [], + "source": [ + "# Load environment variables from a file called .env\n", + "\n", + "load_dotenv(override=True)\n", + "api_key = os.getenv('OPENAI_API_KEY')\n", + "\n", + "# Check the 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", + "elif api_key.strip() != api_key:\n", + " print(\"An API key was found, but it looks like it might have space or tab characters at the start or end - please remove them - see troubleshooting notebook\")\n", + "else:\n", + " print(\"API key found and looks good so far!\")\n", + "\n", + "# Setup access to the frontier model\n", + "\n", + "openai = OpenAI()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f0275b1b-7cfe-4f9d-abfa-7650d378da0c", + "metadata": {}, + "outputs": [], + "source": [ + "# Step 1-a: Define the user prompt\n", + "\n", + "user_prompt_prefix = \"\"\"\n", + "Here are the contents of a website.\n", + "Provide a short summary of this website.\n", + "If it includes news or announcements, then summarize these too.\n", + "\"\"\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "abdb8417-c5dc-44bc-9bee-2e059d162699", + "metadata": {}, + "outputs": [], + "source": [ + "# Step 1-b: Define the system prompt\n", + "\n", + "system_prompt = \"\"\"\n", + "You are a smart assistant that analyzes the contents of a website,\n", + "and provides a short, clear, summary, ignoring text that might be navigation related.\n", + "Respond in markdown. Do not wrap the markdown in a code block - respond just with the markdown.\n", + "\"\"\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0134dfa4-8299-48b5-b444-f2a8c3403c88", + "metadata": {}, + "outputs": [], + "source": [ + "# Add the website content to the user prompt\n", + "\n", + "def messages_for(website):\n", + " return [\n", + " {\"role\": \"system\", \"content\": system_prompt},\n", + " {\"role\": \"user\", \"content\": user_prompt_prefix + website}\n", + " ]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2ef960cf-6dc2-4cda-afb3-b38be12f4c97", + "metadata": {}, + "outputs": [], + "source": [ + "# Step 5: Change the content utility to use jina\n", + "\n", + "def fetch_url_content(url):\n", + " jina_reader_url = f\"https://r.jina.ai/{url}\"\n", + " try:\n", + " response = requests.get(jina_reader_url)\n", + " response.raise_for_status() # Raise an exception for HTTP errors\n", + " return response.text\n", + " except requests.exceptions.RequestException as e:\n", + " print(f\"Error fetching URL: {e}\")\n", + " return None\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "905b9919-aba7-45b5-ae65-81b3d1d78e34", + "metadata": {}, + "outputs": [], + "source": [ + "# Step 3: Call OpenAI & Step 4: print the result\n", + "\n", + "def summarize(url):\n", + " website = fetch_url_content(url)\n", + " response = openai.chat.completions.create(\n", + " model = \"gpt-5-nano\",\n", + " messages = messages_for(website)\n", + " )\n", + " summary = response.choices[0].message.content\n", + " return display(Markdown(summary))\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "05e38d41-dfa4-4b20-9c96-c46ea75d9fb5", + "metadata": {}, + "outputs": [], + "source": [ + "summarize(\"https://edwarddonner.com\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "45d83403-a24c-44b5-84ac-961449b4008f", + "metadata": {}, + "outputs": [], + "source": [ + "summarize(\"https://cnn.com\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "75e9fd40-b354-4341-991e-863ef2e59db7", + "metadata": {}, + "outputs": [], + "source": [ + "summarize(\"https://openai.com\")" + ] + }, + { + "cell_type": "markdown", + "id": "36ed9f14-b349-40e9-a42c-b367e77f8bda", + "metadata": {}, + "source": [ + "## Content Summary vs Technical Summary\n", + "\n", + "In my work a technical summary of a website, or group of websites, would be useful too. For example, does it render on the server (HTML) or in the browser (JavaScript), what content management system (CMS) was used, how many pages, how many outbound links, how many inbound links, etc. Doing this exercise I realized LLMs can help with analyzing content, but I may need other tools to count pages, links, and other specifications.\n", + "\n", + "A \"Shout Out\" to whoever put \"Market_Research_Agent.ipynb\" in the Community-Contributions. It is a great example of using an LLM as a management consultant. I think Jina might help with this usecase by offering web search results through an API to feed to your LLM. Here is the system prompt from that notebook and I plan to use this format often.\n", + "\n", + "system_prompt = \"\"\"You are to act like a Mckinsey Consultant specializing in market research. \n", + "1) You are to follow legal guidelines and never give immoral advice. \n", + "2) Your job is to maximise profits for your clients by analysing their companies initiatives and giving out recommendations for newer initiatives.\\n \n", + "3) Follow industry frameworks for reponses always give simple answers and stick to the point.\n", + "4) If possible try to see what competitors exist and what market gap can your clients company exploit.\n", + "5) Further more, USe SWOT, Porters 5 forces to summarize your recommendations, Give confidence score with every recommendations\n", + "6) Try to give unique solutions by seeing what the market gap is, if market gap is ambiguious skip this step\n", + "7) add an estimate of what rate the revenue of the comapany will increase at provided they follow the guidelines, give conservating estimates keeping in account non ideal conditions.\n", + "8) if the website isnt of a company or data isnt available, give out an error message along the lines of more data required for analysis\"\"\"" + ] + } + ], + "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.12" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From a3ee2154681a079adb2efa481aaf7465a41d97e7 Mon Sep 17 00:00:00 2001 From: Parth Verma <115367722+parth1212121@users.noreply.github.com> Date: Wed, 22 Oct 2025 15:30:00 +0530 Subject: [PATCH 05/19] Add ReputationRadar community contribution (demo replaced by link) --- .../Reputation_Radar/Dockerfile | 16 + .../Reputation_Radar/Makefile | 13 + .../Reputation_Radar/README.md | 124 +++++ .../Reputation_Radar/app.py | 436 ++++++++++++++++++ .../Reputation_Radar/components/__init__.py | 5 + .../Reputation_Radar/components/dashboard.py | 136 ++++++ .../Reputation_Radar/components/filters.py | 128 +++++ .../Reputation_Radar/components/loaders.py | 25 + .../Reputation_Radar/components/summary.py | 23 + .../Reputation_Radar/requirements.txt | 16 + .../samples/reddit_sample.json | 20 + .../samples/trustpilot_sample.json | 20 + .../samples/twitter_sample.json | 20 + .../Reputation_Radar/services/__init__.py | 11 + .../Reputation_Radar/services/llm.py | 147 ++++++ .../services/reddit_client.py | 141 ++++++ .../services/trustpilot_scraper.py | 138 ++++++ .../services/twitter_client.py | 98 ++++ .../Reputation_Radar/services/utils.py | 217 +++++++++ .../Reputation_Radar/tests/conftest.py | 6 + .../tests/test_llm_fallback.py | 19 + .../Reputation_Radar/tests/test_utils.py | 35 ++ 22 files changed, 1794 insertions(+) create mode 100644 community-contributions/Reputation_Radar/Dockerfile create mode 100644 community-contributions/Reputation_Radar/Makefile create mode 100644 community-contributions/Reputation_Radar/README.md create mode 100644 community-contributions/Reputation_Radar/app.py create mode 100644 community-contributions/Reputation_Radar/components/__init__.py create mode 100644 community-contributions/Reputation_Radar/components/dashboard.py create mode 100644 community-contributions/Reputation_Radar/components/filters.py create mode 100644 community-contributions/Reputation_Radar/components/loaders.py create mode 100644 community-contributions/Reputation_Radar/components/summary.py create mode 100644 community-contributions/Reputation_Radar/requirements.txt create mode 100644 community-contributions/Reputation_Radar/samples/reddit_sample.json create mode 100644 community-contributions/Reputation_Radar/samples/trustpilot_sample.json create mode 100644 community-contributions/Reputation_Radar/samples/twitter_sample.json create mode 100644 community-contributions/Reputation_Radar/services/__init__.py create mode 100644 community-contributions/Reputation_Radar/services/llm.py create mode 100644 community-contributions/Reputation_Radar/services/reddit_client.py create mode 100644 community-contributions/Reputation_Radar/services/trustpilot_scraper.py create mode 100644 community-contributions/Reputation_Radar/services/twitter_client.py create mode 100644 community-contributions/Reputation_Radar/services/utils.py create mode 100644 community-contributions/Reputation_Radar/tests/conftest.py create mode 100644 community-contributions/Reputation_Radar/tests/test_llm_fallback.py create mode 100644 community-contributions/Reputation_Radar/tests/test_utils.py diff --git a/community-contributions/Reputation_Radar/Dockerfile b/community-contributions/Reputation_Radar/Dockerfile new file mode 100644 index 0000000..2de26c3 --- /dev/null +++ b/community-contributions/Reputation_Radar/Dockerfile @@ -0,0 +1,16 @@ +FROM python:3.11-slim + +WORKDIR /app + +COPY requirements.txt . +RUN pip install --no-cache-dir -r requirements.txt + +COPY . . + +ENV STREAMLIT_SERVER_HEADLESS=true \ + STREAMLIT_SERVER_ADDRESS=0.0.0.0 \ + STREAMLIT_SERVER_PORT=8501 + +EXPOSE 8501 + +CMD ["streamlit", "run", "app.py"] diff --git a/community-contributions/Reputation_Radar/Makefile b/community-contributions/Reputation_Radar/Makefile new file mode 100644 index 0000000..60a71c4 --- /dev/null +++ b/community-contributions/Reputation_Radar/Makefile @@ -0,0 +1,13 @@ +PYTHON ?= python + +.PHONY: install run test + +install: + $(PYTHON) -m pip install --upgrade pip + $(PYTHON) -m pip install -r requirements.txt + +run: + streamlit run app.py + +test: + pytest diff --git a/community-contributions/Reputation_Radar/README.md b/community-contributions/Reputation_Radar/README.md new file mode 100644 index 0000000..bbeb722 --- /dev/null +++ b/community-contributions/Reputation_Radar/README.md @@ -0,0 +1,124 @@ +# ๐Ÿ“ก ReputationRadar +> Real-time brand intelligence with human-readable insights. + +ReputationRadar is a Streamlit dashboard that unifies Reddit, Twitter/X, and Trustpilot chatter, classifies sentiment with OpenAI (or VADER fallback), and delivers exportable executive summaries. It ships with modular services, caching, retry-aware scrapers, demo data, and pytest coverageโ€”ready for production hardening or internal deployment. + +--- + +## Table of Contents +- [Demo](#demo) +- [Feature Highlights](#feature-highlights) +- [Architecture Overview](#architecture-overview) +- [Quick Start](#quick-start) +- [Configuration & Credentials](#configuration--credentials) +- [Running Tests](#running-tests) +- [Working Without API Keys](#working-without-api-keys) +- [Exports & Deliverables](#exports--deliverables) +- [Troubleshooting](#troubleshooting) +- [Legal & Compliance](#legal--compliance) + +--- + + +## Demo + +The video demo of the app can be found at:- +https://drive.google.com/file/d/1XZ09NOht1H5LCJEbOrAldny2L5SV1DeT/view?usp=sharing + + +## Feature Highlights +- **Adaptive Ingestion** โ€“ Toggle Reddit, Twitter/X, and Trustpilot independently; backoff, caching, and polite scraping keep providers happy. +- **Smart Sentiment** โ€“ Batch OpenAI classification with rationale-aware prompts and auto-fallback to VADER when credentials are missing. +- **Actionable Summaries** โ€“ Executive brief card (highlights, risks, tone, actions) plus refreshed PDF layout that respects margins and typography. +- **Interactive Insights** โ€“ Plotly visuals, per-source filtering, and a lean โ€œRepresentative Mentionsโ€ link list to avoid content overload. +- **Export Suite** โ€“ CSV, Excel (auto-sized columns), and polished PDF snapshots for stakeholder handoffs. +- **Robust Foundation** โ€“ Structured logging, reusable UI components, pytest suites, Dockerfile, and Makefile for frictionless iteration. + +--- + +## Architecture Overview +``` +community-contributions/Reputation_Radar/ +โ”œโ”€โ”€ app.py # Streamlit orchestrator & layout +โ”œโ”€โ”€ components/ # Sidebar, dashboard, summaries, loaders +โ”œโ”€โ”€ services/ # Reddit/Twitter clients, Trustpilot scraper, LLM wrapper, utilities +โ”œโ”€โ”€ samples/ # Demo JSON payloads (auto-loaded when credentials missing) +โ”œโ”€โ”€ tests/ # Pytest coverage for utilities and LLM fallback +โ”œโ”€โ”€ assets/ # Placeholder icons/logo +โ”œโ”€โ”€ logs/ # Streaming log output +โ”œโ”€โ”€ requirements.txt # Runtime dependencies (includes PDF + Excel writers) +โ”œโ”€โ”€ Dockerfile # Containerised deployment recipe +โ””โ”€โ”€ Makefile # Helper targets for install/run/test +``` +Each service returns a normalised payload to keep the downstream sentiment pipeline deterministic. Deduplication is handled centrally via fuzzy matching, and timestamps are coerced to UTC before analysis. + +--- + +## Quick Start +1. **Clone & enter the project directory (`community-contributions/Reputation_Radar`).** +2. **Install dependencies and launch Streamlit:** + ```bash + pip install -r requirements.txt && streamlit run app.py + ``` + (Use a virtual environment if preferred.) +3. **Populate the sidebar:** add your brand name, optional filters, toggled sources, and API credentials (stored only in session state). +4. **Click โ€œRun Analysis ๐Ÿš€โ€** โ€“ follow the status indicators as sources load, sentiment processes, and summaries render. + +### Optional Docker Run +```bash +docker build -t reputation-radar . +docker run --rm -p 8501:8501 -e OPENAI_API_KEY=your_key reputation-radar +``` + +--- + +## Configuration & Credentials +The app reads from `.env`, Streamlit secrets, or direct sidebar input. Expected variables: + +| Variable | Purpose | +| --- | --- | +| `OPENAI_API_KEY` | Enables OpenAI sentiment + executive summary (falls back to VADER if absent). | +| `REDDIT_CLIENT_ID` | PRAW client ID for Reddit API access. | +| `REDDIT_CLIENT_SECRET` | PRAW client secret. | +| `REDDIT_USER_AGENT` | Descriptive user agent (e.g., `ReputationRadar/1.0 by you`). | +| `TWITTER_BEARER_TOKEN` | Twitter/X v2 recent search bearer token. | + +Credential validation mirrors the guidance from `week1/day1.ipynb`โ€”mistyped OpenAI keys surface helpful warnings before analysis begins. + +--- + +## Running Tests +```bash +pytest +``` +Tests cover sentiment fallback behaviour and core sanitisation/deduplication helpers. Extend them as you add new data transforms or UI logic. + +--- + +## Working Without API Keys +- Reddit/Twitter/Trustpilot can be toggled independently; missing credentials raise gentle warnings rather than hard failures. +- Curated fixtures in `samples/` automatically load for any disabled source, keeping charts, exports, and PDF output functional in demo mode. +- The LLM layer drops to VADER sentiment scoring and skips the executive summary when `OPENAI_API_KEY` is absent. + +--- + +## Exports & Deliverables +- **CSV** โ€“ Clean, UTF-8 dataset for quick spreadsheet edits. +- **Excel** โ€“ Auto-sized columns, formatted timestamps, instantaneous import into stakeholder workbooks. +- **PDF** โ€“ Professionally typeset executive summary with bullet lists, consistent margins, and wrapped excerpts (thanks to ReportLabโ€™s Platypus engine). + +All exports are regenerated on demand and never persisted server-side. + +--- + +## Troubleshooting +- **OpenAI key missing/invalid** โ€“ Watch the sidebar notices; the app falls back gracefully but no executive summary will be produced. +- **Twitter 401/403** โ€“ Confirm your bearer token scope and that the project has search access enabled. +- **Rate limiting (429)** โ€“ Built-in sleeps help, but repeated requests may require manual pauses. Try narrowing filters or reducing per-source limits. +- **Trustpilot blocks** โ€“ Respect robots.txt. If scraping is denied, switch to the official API or provide compliant CSV imports. +- **PDF text clipping** โ€“ Resolved by the new layout; if you customise templates ensure col widths/table styles remain inside page margins. + +--- + +## Legal & Compliance +ReputationRadar surfaces public discourse for legitimate monitoring purposes. Always comply with each platformโ€™s Terms of Service, local regulations, and privacy expectations. Avoid storing third-party data longer than necessary, and never commit API keys to version controlโ€”the app only keeps them in Streamlit session state. diff --git a/community-contributions/Reputation_Radar/app.py b/community-contributions/Reputation_Radar/app.py new file mode 100644 index 0000000..e8243ef --- /dev/null +++ b/community-contributions/Reputation_Radar/app.py @@ -0,0 +1,436 @@ +"""ReputationRadar Streamlit application entrypoint.""" + +from __future__ import annotations + +import io +import json +import os +import re +from datetime import datetime +from typing import Dict, List, Optional + +import pandas as pd +import streamlit as st +from dotenv import load_dotenv +from reportlab.lib import colors +from reportlab.lib.pagesizes import letter +from reportlab.lib.styles import ParagraphStyle, getSampleStyleSheet +from reportlab.platypus import Paragraph, SimpleDocTemplate, Spacer, Table, TableStyle + +from components.dashboard import render_overview, render_source_explorer, render_top_comments +from components.filters import render_sidebar +from components.summary import render_summary +from components.loaders import show_empty_state, source_status +from services import llm, reddit_client, trustpilot_scraper, twitter_client, utils +from services.llm import SentimentResult +from services.utils import ( + NormalizedItem, + ServiceError, + ServiceWarning, + initialize_logger, + load_sample_items, + normalize_items, + parse_date_range, + validate_openai_key, +) + + +st.set_page_config(page_title="ReputationRadar", page_icon="๐Ÿ“ก", layout="wide") +load_dotenv(override=True) +LOGGER = initialize_logger() + +st.title("๐Ÿ“ก ReputationRadar") +st.caption("Aggregate brand chatter, classify sentiment, and surface actionable insights in minutes.") + + +def _get_env_defaults() -> Dict[str, Optional[str]]: + """Read supported credentials from environment variables.""" + return { + "OPENAI_API_KEY": os.getenv("OPENAI_API_KEY"), + "REDDIT_CLIENT_ID": os.getenv("REDDIT_CLIENT_ID"), + "REDDIT_CLIENT_SECRET": os.getenv("REDDIT_CLIENT_SECRET"), + "REDDIT_USER_AGENT": os.getenv("REDDIT_USER_AGENT", "ReputationRadar/1.0"), + "TWITTER_BEARER_TOKEN": os.getenv("TWITTER_BEARER_TOKEN"), + } + + +@st.cache_data(ttl=600, show_spinner=False) +def cached_reddit_fetch( + brand: str, + limit: int, + date_range: str, + min_upvotes: int, + client_id: str, + client_secret: str, + user_agent: str, +) -> List[NormalizedItem]: + credentials = { + "client_id": client_id, + "client_secret": client_secret, + "user_agent": user_agent, + } + return reddit_client.fetch_mentions( + brand=brand, + credentials=credentials, + limit=limit, + date_filter=date_range, + min_upvotes=min_upvotes, + ) + + +@st.cache_data(ttl=600, show_spinner=False) +def cached_twitter_fetch( + brand: str, + limit: int, + min_likes: int, + language: str, + bearer: str, +) -> List[NormalizedItem]: + return twitter_client.fetch_mentions( + brand=brand, + bearer_token=bearer, + limit=limit, + min_likes=min_likes, + language=language, + ) + + +@st.cache_data(ttl=600, show_spinner=False) +def cached_trustpilot_fetch( + brand: str, + language: str, + pages: int = 2, +) -> List[NormalizedItem]: + return trustpilot_scraper.fetch_reviews(brand=brand, language=language, pages=pages) + + +def _to_dataframe(items: List[NormalizedItem], sentiments: List[SentimentResult]) -> pd.DataFrame: + data = [] + for item, sentiment in zip(items, sentiments): + data.append( + { + "source": item["source"], + "id": item["id"], + "url": item.get("url"), + "author": item.get("author"), + "timestamp": item["timestamp"], + "text": item["text"], + "label": sentiment.label, + "confidence": sentiment.confidence, + "meta": json.dumps(item.get("meta", {})), + } + ) + df = pd.DataFrame(data) + if not df.empty: + df["timestamp"] = pd.to_datetime(df["timestamp"]) + return df + + +def _build_pdf(summary: Optional[Dict[str, str]], df: pd.DataFrame) -> bytes: + buffer = io.BytesIO() + doc = SimpleDocTemplate( + buffer, + pagesize=letter, + rightMargin=40, + leftMargin=40, + topMargin=60, + bottomMargin=40, + title="ReputationRadar Executive Summary", + ) + styles = getSampleStyleSheet() + title_style = styles["Title"] + subtitle_style = ParagraphStyle( + "Subtitle", + parent=styles["BodyText"], + fontSize=10, + leading=14, + textColor="#555555", + ) + body_style = ParagraphStyle( + "Body", + parent=styles["BodyText"], + leading=14, + fontSize=11, + ) + bullet_style = ParagraphStyle( + "Bullet", + parent=body_style, + leftIndent=16, + bulletIndent=8, + spaceBefore=2, + spaceAfter=2, + ) + heading_style = ParagraphStyle( + "SectionHeading", + parent=styles["Heading3"], + spaceBefore=10, + spaceAfter=6, + ) + + story: List[Paragraph | Spacer | Table] = [] + story.append(Paragraph("ReputationRadar Executive Summary", title_style)) + story.append(Spacer(1, 6)) + story.append( + Paragraph( + f"Generated on: {datetime.utcnow().strftime('%Y-%m-%d %H:%M')} UTC", + subtitle_style, + ) + ) + story.append(Spacer(1, 18)) + + if summary and summary.get("raw"): + story.extend(_summary_to_story(summary["raw"], body_style, bullet_style, heading_style)) + else: + story.append( + Paragraph( + "Executive summary disabled (OpenAI key missing).", + body_style, + ) + ) + story.append(Spacer(1, 16)) + story.append(Paragraph("Sentiment Snapshot", styles["Heading2"])) + story.append(Spacer(1, 10)) + + table_data: List[List[Paragraph]] = [ + [ + Paragraph("Date", body_style), + Paragraph("Sentiment", body_style), + Paragraph("Source", body_style), + Paragraph("Excerpt", body_style), + ] + ] + snapshot = df.sort_values("timestamp", ascending=False).head(15) + for _, row in snapshot.iterrows(): + excerpt = _truncate_text(row["text"], 180) + table_data.append( + [ + Paragraph(row["timestamp"].strftime("%Y-%m-%d %H:%M"), body_style), + Paragraph(row["label"].title(), body_style), + Paragraph(row["source"].title(), body_style), + Paragraph(excerpt, body_style), + ] + ) + + table = Table(table_data, colWidths=[90, 70, 80, 250]) + table.setStyle( + TableStyle( + [ + ("BACKGROUND", (0, 0), (-1, 0), colors.HexColor("#f3f4f6")), + ("TEXTCOLOR", (0, 0), (-1, 0), colors.HexColor("#1f2937")), + ("FONTNAME", (0, 0), (-1, 0), "Helvetica-Bold"), + ("ALIGN", (0, 0), (-1, -1), "LEFT"), + ("VALIGN", (0, 0), (-1, -1), "TOP"), + ("INNERGRID", (0, 0), (-1, -1), 0.25, colors.HexColor("#d1d5db")), + ("BOX", (0, 0), (-1, -1), 0.5, colors.HexColor("#9ca3af")), + ("ROWBACKGROUNDS", (0, 1), (-1, -1), [colors.white, colors.HexColor("#f9fafb")]), + ] + ) + ) + story.append(table) + + doc.build(story) + buffer.seek(0) + return buffer.getvalue() + + +def _summary_to_story( + raw_summary: str, + body_style: ParagraphStyle, + bullet_style: ParagraphStyle, + heading_style: ParagraphStyle, +) -> List[Paragraph | Spacer]: + story: List[Paragraph | Spacer] = [] + lines = [line.strip() for line in raw_summary.splitlines()] + for line in lines: + if not line: + continue + clean = re.sub(r"\*\*(.*?)\*\*", r"\1", line) + if clean.endswith(":") and len(clean) < 40: + story.append(Paragraph(clean.rstrip(":"), heading_style)) + continue + if clean.lower().startswith(("highlights", "risks & concerns", "recommended actions", "overall tone")): + story.append(Paragraph(clean, heading_style)) + continue + if line.startswith(("-", "*")): + bullet_text = re.sub(r"\*\*(.*?)\*\*", r"\1", line[1:].strip()) + story.append(Paragraph(bullet_text, bullet_style, bulletText="โ€ข")) + else: + story.append(Paragraph(clean, body_style)) + story.append(Spacer(1, 10)) + return story + + +def _truncate_text(text: str, max_length: int) -> str: + clean = re.sub(r"\s+", " ", text).strip() + if len(clean) <= max_length: + return clean + return clean[: max_length - 1].rstrip() + "โ€ฆ" + + +def _build_excel(df: pd.DataFrame) -> bytes: + buffer = io.BytesIO() + export_df = df.copy() + export_df["timestamp"] = export_df["timestamp"].dt.strftime("%Y-%m-%d %H:%M") + with pd.ExcelWriter(buffer, engine="xlsxwriter") as writer: + export_df.to_excel(writer, index=False, sheet_name="Mentions") + worksheet = writer.sheets["Mentions"] + for idx, column in enumerate(export_df.columns): + series = export_df[column].astype(str) + max_len = min(60, max(series.map(len).max(), len(column)) + 2) + worksheet.set_column(idx, idx, max_len) + buffer.seek(0) + return buffer.getvalue() + + +def main() -> None: + env_defaults = _get_env_defaults() + openai_env_key = env_defaults.get("OPENAI_API_KEY") or st.session_state.get("secrets", {}).get("OPENAI_API_KEY") + validated_env_key, notices = validate_openai_key(openai_env_key) + config = render_sidebar(env_defaults, tuple(notices)) + + chosen_key = config["credentials"]["openai"] or validated_env_key + openai_key, runtime_notices = validate_openai_key(chosen_key) + for msg in runtime_notices: + st.sidebar.info(msg) + + run_clicked = st.button("Run Analysis ๐Ÿš€", type="primary") + + if not run_clicked: + show_empty_state("Enter a brand name and click **Run Analysis** to get started.") + return + + if not config["brand"]: + st.error("Brand name is required.") + return + + threshold = parse_date_range(config["date_range"]) + collected: List[NormalizedItem] = [] + + with st.container(): + if config["sources"]["reddit"]: + with source_status("Fetching Reddit mentions") as status: + try: + reddit_items = cached_reddit_fetch( + brand=config["brand"], + limit=config["limits"]["reddit"], + date_range=config["date_range"], + min_upvotes=config["min_reddit_upvotes"], + client_id=config["credentials"]["reddit"]["client_id"], + client_secret=config["credentials"]["reddit"]["client_secret"], + user_agent=config["credentials"]["reddit"]["user_agent"], + ) + reddit_items = [item for item in reddit_items if item["timestamp"] >= threshold] + status.write(f"Fetched {len(reddit_items)} Reddit items.") + collected.extend(reddit_items) + except ServiceWarning as warning: + st.warning(str(warning)) + demo = load_sample_items("reddit_sample") + if demo: + st.info("Loaded demo Reddit data.", icon="๐Ÿงช") + collected.extend(demo) + except ServiceError as error: + st.error(f"Reddit fetch failed: {error}") + if config["sources"]["twitter"]: + with source_status("Fetching Twitter mentions") as status: + try: + twitter_items = cached_twitter_fetch( + brand=config["brand"], + limit=config["limits"]["twitter"], + min_likes=config["min_twitter_likes"], + language=config["language"], + bearer=config["credentials"]["twitter"], + ) + twitter_items = [item for item in twitter_items if item["timestamp"] >= threshold] + status.write(f"Fetched {len(twitter_items)} tweets.") + collected.extend(twitter_items) + except ServiceWarning as warning: + st.warning(str(warning)) + demo = load_sample_items("twitter_sample") + if demo: + st.info("Loaded demo Twitter data.", icon="๐Ÿงช") + collected.extend(demo) + except ServiceError as error: + st.error(f"Twitter fetch failed: {error}") + if config["sources"]["trustpilot"]: + with source_status("Fetching Trustpilot reviews") as status: + try: + trustpilot_items = cached_trustpilot_fetch( + brand=config["brand"], + language=config["language"], + ) + trustpilot_items = [item for item in trustpilot_items if item["timestamp"] >= threshold] + status.write(f"Fetched {len(trustpilot_items)} reviews.") + collected.extend(trustpilot_items) + except ServiceWarning as warning: + st.warning(str(warning)) + demo = load_sample_items("trustpilot_sample") + if demo: + st.info("Loaded demo Trustpilot data.", icon="๐Ÿงช") + collected.extend(demo) + except ServiceError as error: + st.error(f"Trustpilot fetch failed: {error}") + + if not collected: + show_empty_state("No mentions found. Try enabling more sources or loosening filters.") + return + + cleaned = normalize_items(collected) + if not cleaned: + show_empty_state("All results were filtered out as noise. Try again with different settings.") + return + + sentiment_service = llm.LLMService( + api_key=config["credentials"]["openai"] or openai_key, + batch_size=config["batch_size"], + ) + sentiments = sentiment_service.classify_sentiment_batch([item["text"] for item in cleaned]) + df = _to_dataframe(cleaned, sentiments) + + render_overview(df) + render_top_comments(df) + + summary_payload: Optional[Dict[str, str]] = None + if sentiment_service.available(): + try: + summary_payload = sentiment_service.summarize_overall( + [{"label": row["label"], "text": row["text"]} for _, row in df.iterrows()] + ) + except ServiceWarning as warning: + st.warning(str(warning)) + else: + st.info("OpenAI key missing. Using VADER fallback for sentiment; summary disabled.", icon="โ„น๏ธ") + + render_summary(summary_payload) + render_source_explorer(df) + + csv_data = df.to_csv(index=False).encode("utf-8") + excel_data = _build_excel(df) + pdf_data = _build_pdf(summary_payload, df) + col_csv, col_excel, col_pdf = st.columns(3) + with col_csv: + st.download_button( + "โฌ‡๏ธ Export CSV", + data=csv_data, + file_name="reputation_radar.csv", + mime="text/csv", + ) + with col_excel: + st.download_button( + "โฌ‡๏ธ Export Excel", + data=excel_data, + file_name="reputation_radar.xlsx", + mime="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", + ) + with col_pdf: + st.download_button( + "โฌ‡๏ธ Export PDF Summary", + data=pdf_data, + file_name="reputation_radar_summary.pdf", + mime="application/pdf", + ) + + st.success("Analysis complete! Review the insights above.") + + +if __name__ == "__main__": + main() diff --git a/community-contributions/Reputation_Radar/components/__init__.py b/community-contributions/Reputation_Radar/components/__init__.py new file mode 100644 index 0000000..ee63a85 --- /dev/null +++ b/community-contributions/Reputation_Radar/components/__init__.py @@ -0,0 +1,5 @@ +"""Reusable Streamlit UI components for ReputationRadar.""" + +from . import dashboard, filters, loaders, summary + +__all__ = ["dashboard", "filters", "loaders", "summary"] diff --git a/community-contributions/Reputation_Radar/components/dashboard.py b/community-contributions/Reputation_Radar/components/dashboard.py new file mode 100644 index 0000000..5b73c10 --- /dev/null +++ b/community-contributions/Reputation_Radar/components/dashboard.py @@ -0,0 +1,136 @@ +"""Render the ReputationRadar dashboard components.""" + +from __future__ import annotations + +from typing import Dict, Optional + +import pandas as pd +import plotly.express as px +import streamlit as st + +SOURCE_CHIPS = { + "reddit": "๐Ÿ”บ Reddit", + "twitter": "โœ–๏ธ Twitter", + "trustpilot": "โญ Trustpilot", +} + +SENTIMENT_COLORS = { + "positive": "#4caf50", + "neutral": "#90a4ae", + "negative": "#ef5350", +} + + +def render_overview(df: pd.DataFrame) -> None: + """Display charts summarising sentiment.""" + counts = ( + df["label"] + .value_counts() + .reindex(["positive", "neutral", "negative"], fill_value=0) + .rename_axis("label") + .reset_index(name="count") + ) + pie = px.pie( + counts, + names="label", + values="count", + color="label", + color_discrete_map=SENTIMENT_COLORS, + title="Sentiment distribution", + ) + pie.update_traces(textinfo="percent+label") + + ts = ( + df.set_index("timestamp") + .groupby([pd.Grouper(freq="D"), "label"]) + .size() + .reset_index(name="count") + ) + if not ts.empty: + ts_plot = px.line( + ts, + x="timestamp", + y="count", + color="label", + color_discrete_map=SENTIMENT_COLORS, + markers=True, + title="Mentions over time", + ) + else: + ts_plot = None + + col1, col2 = st.columns(2) + with col1: + st.plotly_chart(pie, use_container_width=True) + with col2: + if ts_plot is not None: + st.plotly_chart(ts_plot, use_container_width=True) + else: + st.info("Not enough data for a time-series. Try widening the date range.", icon="๐Ÿ“†") + + +def render_top_comments(df: pd.DataFrame) -> None: + """Show representative comments per sentiment.""" + st.subheader("Representative Mentions") + cols = st.columns(3) + for idx, sentiment in enumerate(["positive", "neutral", "negative"]): + subset = ( + df[df["label"] == sentiment] + .sort_values("confidence", ascending=False) + .head(5) + ) + with cols[idx]: + st.caption(sentiment.capitalize()) + if subset.empty: + st.write("No items yet.") + continue + for _, row in subset.iterrows(): + chip = SOURCE_CHIPS.get(row["source"], row["source"]) + author = row.get("author") or "Unknown" + timestamp = row["timestamp"].strftime("%Y-%m-%d %H:%M") + label = f"{chip} ยท {author} ยท {timestamp}" + if row.get("url"): + st.markdown(f"- [{label}]({row['url']})") + else: + st.markdown(f"- {label}") + + +def render_source_explorer(df: pd.DataFrame) -> None: + """Interactive tabular explorer with pagination and filters.""" + with st.expander("Source Explorer", expanded=False): + search_term = st.text_input("Search mentions", key="explorer_search") + selected_source = st.selectbox("Source filter", options=["All"] + list(SOURCE_CHIPS.values())) + min_conf = st.slider("Minimum confidence", min_value=0.0, max_value=1.0, value=0.0, step=0.1) + + filtered = df.copy() + if search_term: + filtered = filtered[filtered["text"].str.contains(search_term, case=False, na=False)] + if selected_source != "All": + source_key = _reverse_lookup(selected_source) + if source_key: + filtered = filtered[filtered["source"] == source_key] + filtered = filtered[filtered["confidence"] >= min_conf] + + if filtered.empty: + st.info("No results found. Try widening the date range or removing filters.", icon="๐Ÿช„") + return + + page_size = 10 + total_pages = max(1, (len(filtered) + page_size - 1) // page_size) + page = st.number_input("Page", min_value=1, max_value=total_pages, value=1) + start = (page - 1) * page_size + end = start + page_size + + explorer_df = filtered.iloc[start:end].copy() + explorer_df["source"] = explorer_df["source"].map(SOURCE_CHIPS).fillna(explorer_df["source"]) + explorer_df["timestamp"] = explorer_df["timestamp"].dt.strftime("%Y-%m-%d %H:%M") + explorer_df = explorer_df[["timestamp", "source", "author", "label", "confidence", "text", "url"]] + + st.dataframe(explorer_df, use_container_width=True, hide_index=True) + + +def _reverse_lookup(value: str) -> Optional[str]: + for key, chip in SOURCE_CHIPS.items(): + if chip == value: + return key + return None diff --git a/community-contributions/Reputation_Radar/components/filters.py b/community-contributions/Reputation_Radar/components/filters.py new file mode 100644 index 0000000..98267d3 --- /dev/null +++ b/community-contributions/Reputation_Radar/components/filters.py @@ -0,0 +1,128 @@ +"""Sidebar filters and configuration controls.""" + +from __future__ import annotations + +from typing import Dict, Optional, Tuple + +import streamlit as st + +DATE_RANGE_LABELS = { + "24h": "Last 24 hours", + "7d": "Last 7 days", + "30d": "Last 30 days", +} + +SUPPORTED_LANGUAGES = { + "en": "English", + "es": "Spanish", + "de": "German", + "fr": "French", +} + + +def _store_secret(key: str, value: str) -> None: + """Persist sensitive values in session state only.""" + if value: + st.session_state.setdefault("secrets", {}) + st.session_state["secrets"][key] = value + + +def _get_secret(key: str, default: str = "") -> str: + return st.session_state.get("secrets", {}).get(key, default) + + +def render_sidebar(env_defaults: Dict[str, Optional[str]], openai_notices: Tuple[str, ...]) -> Dict[str, object]: + """Render all sidebar controls and return configuration.""" + with st.sidebar: + st.header("Tune Your Radar", anchor=False) + brand = st.text_input("Brand Name*", value=st.session_state.get("brand_input", "")) + if brand: + st.session_state["brand_input"] = brand + + date_range = st.selectbox( + "Date Range", + options=list(DATE_RANGE_LABELS.keys()), + format_func=lambda key: DATE_RANGE_LABELS[key], + index=1, + ) + min_reddit_upvotes = st.number_input( + "Minimum Reddit upvotes", + min_value=0, + value=st.session_state.get("min_reddit_upvotes", 4), + ) + st.session_state["min_reddit_upvotes"] = min_reddit_upvotes + min_twitter_likes = st.number_input( + "Minimum X likes", + min_value=0, + value=st.session_state.get("min_twitter_likes", 100), + ) + st.session_state["min_twitter_likes"] = min_twitter_likes + language = st.selectbox( + "Language", + options=list(SUPPORTED_LANGUAGES.keys()), + format_func=lambda key: SUPPORTED_LANGUAGES[key], + index=0, + ) + + st.markdown("### Sources") + reddit_enabled = st.toggle("๐Ÿ”บ Reddit", value=st.session_state.get("reddit_enabled", True)) + twitter_enabled = st.toggle("โœ–๏ธ Twitter", value=st.session_state.get("twitter_enabled", True)) + trustpilot_enabled = st.toggle("โญ Trustpilot", value=st.session_state.get("trustpilot_enabled", True)) + st.session_state["reddit_enabled"] = reddit_enabled + st.session_state["twitter_enabled"] = twitter_enabled + st.session_state["trustpilot_enabled"] = trustpilot_enabled + + st.markdown("### API Keys") + openai_key_default = env_defaults.get("OPENAI_API_KEY") or _get_secret("OPENAI_API_KEY") + openai_key = st.text_input("OpenAI API Key", value=openai_key_default or "", type="password", help="Stored only in this session.") + _store_secret("OPENAI_API_KEY", openai_key.strip()) + reddit_client_id = st.text_input("Reddit Client ID", value=env_defaults.get("REDDIT_CLIENT_ID") or _get_secret("REDDIT_CLIENT_ID"), type="password") + reddit_client_secret = st.text_input("Reddit Client Secret", value=env_defaults.get("REDDIT_CLIENT_SECRET") or _get_secret("REDDIT_CLIENT_SECRET"), type="password") + reddit_user_agent = st.text_input("Reddit User Agent", value=env_defaults.get("REDDIT_USER_AGENT") or _get_secret("REDDIT_USER_AGENT")) + twitter_bearer_token = st.text_input("Twitter Bearer Token", value=env_defaults.get("TWITTER_BEARER_TOKEN") or _get_secret("TWITTER_BEARER_TOKEN"), type="password") + _store_secret("REDDIT_CLIENT_ID", reddit_client_id.strip()) + _store_secret("REDDIT_CLIENT_SECRET", reddit_client_secret.strip()) + _store_secret("REDDIT_USER_AGENT", reddit_user_agent.strip()) + _store_secret("TWITTER_BEARER_TOKEN", twitter_bearer_token.strip()) + + if openai_notices: + for notice in openai_notices: + st.info(notice) + + with st.expander("Advanced Options", expanded=False): + reddit_limit = st.slider("Reddit results", min_value=10, max_value=100, value=st.session_state.get("reddit_limit", 40), step=5) + twitter_limit = st.slider("Twitter results", min_value=10, max_value=100, value=st.session_state.get("twitter_limit", 40), step=5) + trustpilot_limit = st.slider("Trustpilot results", min_value=10, max_value=60, value=st.session_state.get("trustpilot_limit", 30), step=5) + llm_batch_size = st.slider("OpenAI batch size", min_value=5, max_value=20, value=st.session_state.get("llm_batch_size", 20), step=5) + st.session_state["reddit_limit"] = reddit_limit + st.session_state["twitter_limit"] = twitter_limit + st.session_state["trustpilot_limit"] = trustpilot_limit + st.session_state["llm_batch_size"] = llm_batch_size + + return { + "brand": brand.strip(), + "date_range": date_range, + "min_reddit_upvotes": min_reddit_upvotes, + "min_twitter_likes": min_twitter_likes, + "language": language, + "sources": { + "reddit": reddit_enabled, + "twitter": twitter_enabled, + "trustpilot": trustpilot_enabled, + }, + "limits": { + "reddit": reddit_limit, + "twitter": twitter_limit, + "trustpilot": trustpilot_limit, + }, + "batch_size": llm_batch_size, + "credentials": { + "openai": openai_key.strip(), + "reddit": { + "client_id": reddit_client_id.strip(), + "client_secret": reddit_client_secret.strip(), + "user_agent": reddit_user_agent.strip(), + }, + "twitter": twitter_bearer_token.strip(), + }, + } diff --git a/community-contributions/Reputation_Radar/components/loaders.py b/community-contributions/Reputation_Radar/components/loaders.py new file mode 100644 index 0000000..72405c1 --- /dev/null +++ b/community-contributions/Reputation_Radar/components/loaders.py @@ -0,0 +1,25 @@ +"""Loading indicators and status helpers.""" + +from __future__ import annotations + +from contextlib import contextmanager +from typing import Iterator + +import streamlit as st + + +@contextmanager +def source_status(label: str) -> Iterator[st.delta_generator.DeltaGenerator]: + """Context manager that yields a status widget for source fetching.""" + status = st.status(label, expanded=True) + try: + yield status + status.update(label=f"{label} โœ…", state="complete") + except Exception as exc: # noqa: BLE001 + status.update(label=f"{label} โš ๏ธ {exc}", state="error") + raise + + +def show_empty_state(message: str) -> None: + """Render a friendly empty-state callout.""" + st.info(message, icon="๐Ÿ”Ž") diff --git a/community-contributions/Reputation_Radar/components/summary.py b/community-contributions/Reputation_Radar/components/summary.py new file mode 100644 index 0000000..9e243b0 --- /dev/null +++ b/community-contributions/Reputation_Radar/components/summary.py @@ -0,0 +1,23 @@ +"""Executive summary display components.""" + +from __future__ import annotations + +from typing import Dict, Optional + +import streamlit as st + + +def render_summary(summary: Optional[Dict[str, str]]) -> None: + """Render executive summary card.""" + st.subheader("Executive Summary", anchor=False) + if not summary: + st.warning("Executive summary disabled. Provide an OpenAI API key to unlock this section.", icon="๐Ÿค–") + return + st.markdown( + """ +
+ """, + unsafe_allow_html=True, + ) + st.markdown(summary.get("raw", "")) + st.markdown("
", unsafe_allow_html=True) diff --git a/community-contributions/Reputation_Radar/requirements.txt b/community-contributions/Reputation_Radar/requirements.txt new file mode 100644 index 0000000..f9ffb2a --- /dev/null +++ b/community-contributions/Reputation_Radar/requirements.txt @@ -0,0 +1,16 @@ +streamlit +praw +requests +beautifulsoup4 +pandas +python-dotenv +tenacity +plotly +openai>=1.0.0 +vaderSentiment +fuzzywuzzy[speedup] +python-Levenshtein +reportlab +tqdm +pytest +XlsxWriter diff --git a/community-contributions/Reputation_Radar/samples/reddit_sample.json b/community-contributions/Reputation_Radar/samples/reddit_sample.json new file mode 100644 index 0000000..efdaf88 --- /dev/null +++ b/community-contributions/Reputation_Radar/samples/reddit_sample.json @@ -0,0 +1,20 @@ +[ + { + "source": "reddit", + "id": "t3_sample1", + "url": "https://www.reddit.com/r/technology/comments/sample1", + "author": "techfan42", + "timestamp": "2025-01-15T14:30:00+00:00", + "text": "ReputationRadar did an impressive job resolving our customer issues within hours. Support has been world class!", + "meta": {"score": 128, "num_comments": 24, "subreddit": "technology", "type": "submission"} + }, + { + "source": "reddit", + "id": "t1_sample2", + "url": "https://www.reddit.com/r/startups/comments/sample2/comment/sample", + "author": "growthguru", + "timestamp": "2025-01-14T10:10:00+00:00", + "text": "Noticed a spike in downtime alerts with ReputationRadar this week. Anyone else seeing false positives?", + "meta": {"score": 45, "subreddit": "startups", "type": "comment", "submission_title": "Monitoring tools"} + } +] diff --git a/community-contributions/Reputation_Radar/samples/trustpilot_sample.json b/community-contributions/Reputation_Radar/samples/trustpilot_sample.json new file mode 100644 index 0000000..1fa4e65 --- /dev/null +++ b/community-contributions/Reputation_Radar/samples/trustpilot_sample.json @@ -0,0 +1,20 @@ +[ + { + "source": "trustpilot", + "id": "trustpilot-001", + "url": "https://www.trustpilot.com/review/reputationradar.ai", + "author": "Dana", + "timestamp": "2025-01-12T11:00:00+00:00", + "text": "ReputationRadar has simplified our weekly reporting. The sentiment breakdowns are easy to understand and accurate.", + "meta": {"rating": "5 stars"} + }, + { + "source": "trustpilot", + "id": "trustpilot-002", + "url": "https://www.trustpilot.com/review/reputationradar.ai?page=2", + "author": "Liam", + "timestamp": "2025-01-10T18:20:00+00:00", + "text": "Support was responsive, but the Trustpilot integration kept timing out. Hoping for a fix soon.", + "meta": {"rating": "3 stars"} + } +] diff --git a/community-contributions/Reputation_Radar/samples/twitter_sample.json b/community-contributions/Reputation_Radar/samples/twitter_sample.json new file mode 100644 index 0000000..765cfd1 --- /dev/null +++ b/community-contributions/Reputation_Radar/samples/twitter_sample.json @@ -0,0 +1,20 @@ +[ + { + "source": "twitter", + "id": "173654001", + "url": "https://twitter.com/brandlover/status/173654001", + "author": "brandlover", + "timestamp": "2025-01-15T16:45:00+00:00", + "text": "Huge shoutout to ReputationRadar for flagging sentiment risks ahead of our launch. Saved us hours this morning!", + "meta": {"likes": 57, "retweets": 8, "replies": 3, "quote_count": 2} + }, + { + "source": "twitter", + "id": "173653991", + "url": "https://twitter.com/critique/status/173653991", + "author": "critique", + "timestamp": "2025-01-13T09:12:00+00:00", + "text": "The new ReputationRadar dashboard feels laggy and the PDF export failed twice. Dev team please check your rollout.", + "meta": {"likes": 14, "retweets": 1, "replies": 5, "quote_count": 0} + } +] diff --git a/community-contributions/Reputation_Radar/services/__init__.py b/community-contributions/Reputation_Radar/services/__init__.py new file mode 100644 index 0000000..b6956a1 --- /dev/null +++ b/community-contributions/Reputation_Radar/services/__init__.py @@ -0,0 +1,11 @@ +"""Service layer exports for ReputationRadar.""" + +from . import llm, reddit_client, trustpilot_scraper, twitter_client, utils + +__all__ = [ + "llm", + "reddit_client", + "trustpilot_scraper", + "twitter_client", + "utils", +] diff --git a/community-contributions/Reputation_Radar/services/llm.py b/community-contributions/Reputation_Radar/services/llm.py new file mode 100644 index 0000000..f18b547 --- /dev/null +++ b/community-contributions/Reputation_Radar/services/llm.py @@ -0,0 +1,147 @@ +"""LLM sentiment analysis and summarization utilities.""" + +from __future__ import annotations + +import json +import logging +from dataclasses import dataclass +from typing import Any, Dict, Iterable, List, Optional, Sequence + +try: # pragma: no cover - optional dependency + from openai import OpenAI +except ModuleNotFoundError: # pragma: no cover + OpenAI = None # type: ignore[assignment] + +from vaderSentiment.vaderSentiment import SentimentIntensityAnalyzer + +from .utils import ServiceWarning, chunked + +CLASSIFICATION_SYSTEM_PROMPT = "You are a precise brand-sentiment classifier. Output JSON only." +SUMMARY_SYSTEM_PROMPT = "You analyze brand chatter and produce concise, executive-ready summaries." + + +@dataclass +class SentimentResult: + """Structured sentiment output.""" + + label: str + confidence: float + + +class LLMService: + """Wrapper around OpenAI with VADER fallback.""" + + def __init__(self, api_key: Optional[str], model: str = "gpt-4o-mini", batch_size: int = 20): + self.batch_size = max(1, batch_size) + self.model = model + self.logger = logging.getLogger("services.llm") + self._client: Optional[Any] = None + self._analyzer = SentimentIntensityAnalyzer() + if api_key and OpenAI is not None: + try: + self._client = OpenAI(api_key=api_key) + except Exception as exc: # noqa: BLE001 + self.logger.warning("Failed to initialize OpenAI client, using VADER fallback: %s", exc) + self._client = None + elif api_key and OpenAI is None: + self.logger.warning("openai package not installed; falling back to VADER despite API key.") + + def available(self) -> bool: + """Return whether OpenAI-backed features are available.""" + return self._client is not None + + def classify_sentiment_batch(self, texts: Sequence[str]) -> List[SentimentResult]: + """Classify multiple texts, chunking if necessary.""" + if not texts: + return [] + if not self.available(): + return [self._vader_sentiment(text) for text in texts] + + results: List[SentimentResult] = [] + for chunk in chunked(list(texts), self.batch_size): + prompt_lines = ["Classify each item as \"positive\", \"neutral\", or \"negative\".", "Also output a confidence score between 0 and 1.", "Return an array of objects: [{\"label\": \"...\", \"confidence\": 0.0}].", "Items:"] + prompt_lines.extend([f"{idx + 1}) {text}" for idx, text in enumerate(chunk)]) + prompt = "\n".join(prompt_lines) + try: + response = self._client.responses.create( # type: ignore[union-attr] + model=self.model, + input=[ + {"role": "system", "content": CLASSIFICATION_SYSTEM_PROMPT}, + {"role": "user", "content": prompt}, + ], + temperature=0, + max_output_tokens=500, + ) + output_text = self._extract_text(response) + parsed = json.loads(output_text) + for item in parsed: + results.append( + SentimentResult( + label=item.get("label", "neutral"), + confidence=float(item.get("confidence", 0.5)), + ) + ) + except Exception as exc: # noqa: BLE001 + self.logger.warning("Classification fallback to VADER due to error: %s", exc) + for text in chunk: + results.append(self._vader_sentiment(text)) + # Ensure the output length matches input + if len(results) != len(texts): + # align by padding with neutral + results.extend([SentimentResult(label="neutral", confidence=0.33)] * (len(texts) - len(results))) + return results + + def summarize_overall(self, findings: List[Dict[str, Any]]) -> Dict[str, Any]: + """Create an executive summary using OpenAI.""" + if not self.available(): + raise ServiceWarning("OpenAI API key missing. Summary unavailable.") + prompt_lines = [ + "Given these labeled items and their short rationales, write:", + "- 5 bullet \"Highlights\"", + "- 5 bullet \"Risks & Concerns\"", + "- One-line \"Overall Tone\" (Positive/Neutral/Negative with brief justification)", + "- 3 \"Recommended Actions\"", + "Keep it under 180 words total. Be specific but neutral in tone.", + "Items:", + ] + for idx, item in enumerate(findings, start=1): + prompt_lines.append( + f"{idx}) [{item.get('label','neutral').upper()}] {item.get('text','')}" + ) + prompt = "\n".join(prompt_lines) + try: + response = self._client.responses.create( # type: ignore[union-attr] + model=self.model, + input=[ + {"role": "system", "content": SUMMARY_SYSTEM_PROMPT}, + {"role": "user", "content": prompt}, + ], + temperature=0.2, + max_output_tokens=800, + ) + output_text = self._extract_text(response) + return {"raw": output_text} + except Exception as exc: # noqa: BLE001 + self.logger.error("Failed to generate summary: %s", exc) + raise ServiceWarning("Unable to generate executive summary at this time.") from exc + + def _vader_sentiment(self, text: str) -> SentimentResult: + scores = self._analyzer.polarity_scores(text) + compound = scores["compound"] + if compound >= 0.2: + label = "positive" + elif compound <= -0.2: + label = "negative" + else: + label = "neutral" + confidence = min(1.0, max(0.0, abs(compound))) + return SentimentResult(label=label, confidence=confidence) + + def _extract_text(self, response: Any) -> str: + """Support multiple OpenAI client response shapes.""" + if hasattr(response, "output") and response.output: + content = response.output[0].content[0] + return getattr(content, "text", str(content)) + if hasattr(response, "choices"): + return response.choices[0].message.content # type: ignore[return-value] + raise ValueError("Unknown response structure from OpenAI client.") diff --git a/community-contributions/Reputation_Radar/services/reddit_client.py b/community-contributions/Reputation_Radar/services/reddit_client.py new file mode 100644 index 0000000..f66f52e --- /dev/null +++ b/community-contributions/Reputation_Radar/services/reddit_client.py @@ -0,0 +1,141 @@ +"""Reddit data collection service using PRAW.""" + +from __future__ import annotations + +import time +from datetime import datetime, timezone +from typing import Dict, Iterable, List, Optional + +import praw +from praw.models import Comment, Submission + +from .utils import ( + NormalizedItem, + ServiceError, + ServiceWarning, + ensure_timezone, + sanitize_text, +) + + +TIME_FILTER_MAP = { + "24h": "day", + "7d": "week", + "30d": "month", +} + + +def _iter_submissions(subreddit: praw.models.Subreddit, query: str, limit: int, time_filter: str) -> Iterable[Submission]: + return subreddit.search(query=query, sort="new", time_filter=time_filter, limit=limit * 3) + + +def _iter_comments(submission: Submission) -> Iterable[Comment]: + submission.comments.replace_more(limit=0) + return submission.comments.list() + + +def _normalize_submission(submission: Submission) -> NormalizedItem: + created = datetime.fromtimestamp(submission.created_utc, tz=timezone.utc) + return NormalizedItem( + source="reddit", + id=submission.id, + url=f"https://www.reddit.com{submission.permalink}", + author=str(submission.author) if submission.author else None, + timestamp=ensure_timezone(created), + text=f"{submission.title}\n\n{submission.selftext or ''}", + meta={ + "score": submission.score, + "num_comments": submission.num_comments, + "subreddit": submission.subreddit.display_name, + "type": "submission", + }, + ) + + +def _normalize_comment(comment: Comment, submission: Submission) -> NormalizedItem: + created = datetime.fromtimestamp(comment.created_utc, tz=timezone.utc) + return NormalizedItem( + source="reddit", + id=comment.id, + url=f"https://www.reddit.com{comment.permalink}", + author=str(comment.author) if comment.author else None, + timestamp=ensure_timezone(created), + text=comment.body, + meta={ + "score": comment.score, + "subreddit": submission.subreddit.display_name, + "type": "comment", + "submission_title": submission.title, + }, + ) + + +def fetch_mentions( + brand: str, + credentials: Dict[str, str], + limit: int = 25, + date_filter: str = "7d", + min_upvotes: int = 0, +) -> List[NormalizedItem]: + """Fetch recent Reddit submissions/comments mentioning the brand.""" + client_id = credentials.get("client_id") + client_secret = credentials.get("client_secret") + user_agent = credentials.get("user_agent") + + if not all([client_id, client_secret, user_agent]): + raise ServiceWarning("Reddit credentials are missing. Provide them in the sidebar to enable this source.") + + try: + reddit = praw.Reddit( + client_id=client_id, + client_secret=client_secret, + user_agent=user_agent, + ) + reddit.read_only = True + except Exception as exc: # noqa: BLE001 + raise ServiceError(f"Failed to initialize Reddit client: {exc}") from exc + + time_filter = TIME_FILTER_MAP.get(date_filter.lower(), "week") + subreddit = reddit.subreddit("all") + results: List[NormalizedItem] = [] + seen_ids: set[str] = set() + try: + for submission in _iter_submissions(subreddit, query=brand, limit=limit, time_filter=time_filter): + if submission.id in seen_ids: + continue + if submission.score < min_upvotes: + continue + normalized_submission = _normalize_submission(submission) + normalized_submission["text"] = sanitize_text(normalized_submission["text"]) + if normalized_submission["text"]: + results.append(normalized_submission) + seen_ids.add(submission.id) + if len(results) >= limit: + break + + # Fetch comments mentioning the brand + match_count = 0 + for comment in _iter_comments(submission): + if brand.lower() not in (comment.body or "").lower(): + continue + if comment.score < min_upvotes: + continue + normalized_comment = _normalize_comment(comment, submission) + normalized_comment["text"] = sanitize_text(normalized_comment["text"]) + if not normalized_comment["text"]: + continue + if normalized_comment["id"] in seen_ids: + continue + results.append(normalized_comment) + seen_ids.add(normalized_comment["id"]) + match_count += 1 + if len(results) >= limit: + break + if len(results) >= limit: + break + # Respect rate limits + if match_count: + time.sleep(1) + except Exception as exc: # noqa: BLE001 + raise ServiceError(f"Error while fetching Reddit data: {exc}") from exc + return results diff --git a/community-contributions/Reputation_Radar/services/trustpilot_scraper.py b/community-contributions/Reputation_Radar/services/trustpilot_scraper.py new file mode 100644 index 0000000..95e2863 --- /dev/null +++ b/community-contributions/Reputation_Radar/services/trustpilot_scraper.py @@ -0,0 +1,138 @@ +"""Trustpilot scraping service with polite crawling safeguards.""" + +from __future__ import annotations + +import time +from datetime import datetime, timezone +from typing import Dict, List +from urllib.parse import urlencode +from urllib.robotparser import RobotFileParser + +import requests +from bs4 import BeautifulSoup +from tenacity import retry, retry_if_exception_type, stop_after_attempt, wait_exponential + +from .utils import ( + NormalizedItem, + ServiceError, + ServiceWarning, + ensure_timezone, + random_user_agent, + sanitize_text, +) + +BASE_URL = "https://www.trustpilot.com" +SEARCH_PATH = "/search" + + +class BlockedError(ServiceWarning): + """Raised when Trustpilot blocks the scraping attempt.""" + + +def _check_robots(user_agent: str) -> None: + parser = RobotFileParser() + parser.set_url(f"{BASE_URL}/robots.txt") + parser.read() + if not parser.can_fetch(user_agent, SEARCH_PATH): + raise ServiceWarning( + "Trustpilot robots.txt disallows scraping the search endpoint. " + "Please use the official API or upload data manually." + ) + + +@retry( + reraise=True, + stop=stop_after_attempt(3), + wait=wait_exponential(multiplier=1, min=1, max=8), + retry=retry_if_exception_type((requests.RequestException, BlockedError)), +) +def _fetch_page(session: requests.Session, user_agent: str, page: int, brand: str, language: str) -> str: + params = {"query": brand, "page": page} + if language: + params["languages"] = language + url = f"{BASE_URL}{SEARCH_PATH}?{urlencode(params)}" + response = session.get( + url, + headers={"User-Agent": user_agent, "Accept-Language": language or "en"}, + timeout=20, + ) + if response.status_code in (401, 403): + raise BlockedError("Trustpilot denied access (HTTP 403).") + response.raise_for_status() + return response.text + + +def _parse_reviews(html: str, user_agent: str) -> List[NormalizedItem]: + soup = BeautifulSoup(html, "html.parser") + cards = soup.select("article[data-service-review-card-layout]") + items: List[NormalizedItem] = [] + now = datetime.now(timezone.utc) + for card in cards: + link = card.select_one("a.link_internal__YpiJI") + url = f"{BASE_URL}{link['href']}" if link and link.get("href") else "" + title_el = card.select_one("h2") + title = title_el.get_text(strip=True) if title_el else "" + text_el = card.select_one("[data-review-description-typography]") + text = text_el.get_text(separator=" ", strip=True) if text_el else "" + rating_el = card.select_one("img[alt*='stars']") + rating = rating_el["alt"] if rating_el and rating_el.get("alt") else "" + author_el = card.select_one("span.styles_consumerDetails__ZF4I6") + author = author_el.get_text(strip=True) if author_el else None + date_el = card.select_one("time") + timestamp = now + if date_el and date_el.get("datetime"): + try: + timestamp = datetime.fromisoformat(date_el["datetime"].replace("Z", "+00:00")) + except ValueError: + timestamp = now + + body = sanitize_text(f"{title}\n\n{text}") + if len(body) < 15: + continue + items.append( + NormalizedItem( + source="trustpilot", + id=card.get("data-review-id", str(hash(body))), + url=url, + author=author, + timestamp=ensure_timezone(timestamp), + text=body, + meta={ + "rating": rating, + "user_agent": user_agent, + }, + ) + ) + return items + + +def fetch_reviews(brand: str, language: str = "en", pages: int = 2) -> List[NormalizedItem]: + """Scrape Trustpilot search results for recent reviews.""" + if not brand: + raise ServiceWarning("Brand name is required for Trustpilot scraping.") + + session = requests.Session() + user_agent = random_user_agent() + _check_robots(user_agent) + + aggregated: List[NormalizedItem] = [] + seen_ids: set[str] = set() + + for page in range(1, pages + 1): + try: + html = _fetch_page(session, user_agent=user_agent, page=page, brand=brand, language=language) + except BlockedError as exc: + raise ServiceWarning( + "Trustpilot blocked the scraping attempt. Consider using their official API or providing CSV uploads." + ) from exc + except requests.RequestException as exc: # noqa: BLE001 + raise ServiceError(f"Trustpilot request failed: {exc}") from exc + page_items = _parse_reviews(html, user_agent) + for item in page_items: + if item["id"] in seen_ids: + continue + aggregated.append(item) + seen_ids.add(item["id"]) + time.sleep(1.5) # gentle crawl delay + + return aggregated diff --git a/community-contributions/Reputation_Radar/services/twitter_client.py b/community-contributions/Reputation_Radar/services/twitter_client.py new file mode 100644 index 0000000..53a4c23 --- /dev/null +++ b/community-contributions/Reputation_Radar/services/twitter_client.py @@ -0,0 +1,98 @@ +"""Twitter (X) data collection using the v2 recent search API.""" + +from __future__ import annotations + +import time +from datetime import datetime, timezone +from typing import Dict, List, Optional + +import requests + +from .utils import NormalizedItem, ServiceError, ServiceWarning, ensure_timezone, sanitize_text + +SEARCH_URL = "https://api.twitter.com/2/tweets/search/recent" + + +def _build_query(brand: str, language: str) -> str: + terms = [brand] + if language: + terms.append(f"lang:{language}") + return " ".join(terms) + + +def fetch_mentions( + brand: str, + bearer_token: Optional[str], + limit: int = 25, + min_likes: int = 0, + language: str = "en", +) -> List[NormalizedItem]: + """Fetch recent tweets mentioning the brand.""" + if not bearer_token: + raise ServiceWarning( + "Twitter bearer token not provided. Add it in the sidebar to enable Twitter ingestion." + ) + + headers = { + "Authorization": f"Bearer {bearer_token}", + "User-Agent": "ReputationRadar/1.0", + } + params = { + "query": _build_query(brand, language), + "max_results": min(100, limit), + "tweet.fields": "author_id,created_at,lang,public_metrics", + "expansions": "author_id", + "user.fields": "name,username", + } + + collected: List[NormalizedItem] = [] + next_token: Optional[str] = None + + while len(collected) < limit: + if next_token: + params["next_token"] = next_token + response = requests.get(SEARCH_URL, headers=headers, params=params, timeout=15) + if response.status_code == 401: + raise ServiceWarning("Twitter API authentication failed. Please verify the bearer token.") + if response.status_code == 429: + time.sleep(5) + continue + if response.status_code >= 400: + raise ServiceError(f"Twitter API error {response.status_code}: {response.text}") + + payload = response.json() + data = payload.get("data", []) + includes = payload.get("includes", {}) + users_index = {user["id"]: user for user in includes.get("users", [])} + + for tweet in data: + created_at = datetime.fromisoformat(tweet["created_at"].replace("Z", "+00:00")) + author_info = users_index.get(tweet["author_id"], {}) + item = NormalizedItem( + source="twitter", + id=tweet["id"], + url=f"https://twitter.com/{author_info.get('username','')}/status/{tweet['id']}", + author=author_info.get("username"), + timestamp=ensure_timezone(created_at), + text=sanitize_text(tweet["text"]), + meta={ + "likes": tweet.get("public_metrics", {}).get("like_count", 0), + "retweets": tweet.get("public_metrics", {}).get("retweet_count", 0), + "replies": tweet.get("public_metrics", {}).get("reply_count", 0), + "quote_count": tweet.get("public_metrics", {}).get("quote_count", 0), + }, + ) + if not item["text"]: + continue + if item["meta"]["likes"] < min_likes: + continue + collected.append(item) + if len(collected) >= limit: + break + + next_token = payload.get("meta", {}).get("next_token") + if not next_token: + break + time.sleep(1) # stay friendly to rate limits + + return collected[:limit] diff --git a/community-contributions/Reputation_Radar/services/utils.py b/community-contributions/Reputation_Radar/services/utils.py new file mode 100644 index 0000000..d9b930c --- /dev/null +++ b/community-contributions/Reputation_Radar/services/utils.py @@ -0,0 +1,217 @@ +"""Utility helpers for ReputationRadar services.""" + +from __future__ import annotations + +import json +import logging +import os +import random +import re +from dataclasses import dataclass +from datetime import datetime, timedelta, timezone +from pathlib import Path +from typing import Dict, Iterable, Iterator, List, Optional, Sequence, Tuple, TypedDict + +from bs4 import BeautifulSoup +from fuzzywuzzy import fuzz + + +LOG_FILE = Path(__file__).resolve().parents[1] / "logs" / "app.log" +MIN_TEXT_LENGTH = 15 +SIMILARITY_THRESHOLD = 90 + + +class NormalizedItem(TypedDict): + """Canonical representation of a fetched mention.""" + + source: str + id: str + url: str + author: Optional[str] + timestamp: datetime + text: str + meta: Dict[str, object] + + +class ServiceError(RuntimeError): + """Raised when a service hard fails.""" + + +class ServiceWarning(RuntimeError): + """Raised for recoverable issues that should surface to the UI.""" + + +def initialize_logger(name: str = "reputation_radar") -> logging.Logger: + """Configure and return a module-level logger.""" + LOG_FILE.parent.mkdir(parents=True, exist_ok=True) + logging.basicConfig( + level=logging.INFO, + format="%(asctime)s | %(levelname)s | %(name)s | %(message)s", + handlers=[ + logging.FileHandler(LOG_FILE, encoding="utf-8"), + logging.StreamHandler(), + ], + ) + logger = logging.getLogger(name) + logger.setLevel(logging.INFO) + return logger + + +def load_sample_items(name: str) -> List[NormalizedItem]: + """Load demo data from the samples directory.""" + samples_dir = Path(__file__).resolve().parents[1] / "samples" + sample_path = samples_dir / f"{name}.json" + if not sample_path.exists(): + return [] + with sample_path.open("r", encoding="utf-8") as handle: + raw_items = json.load(handle) + cleaned: List[NormalizedItem] = [] + for item in raw_items: + try: + cleaned.append( + NormalizedItem( + source=item["source"], + id=str(item["id"]), + url=item.get("url", ""), + author=item.get("author"), + timestamp=datetime.fromisoformat(item["timestamp"]), + text=item["text"], + meta=item.get("meta", {}), + ) + ) + except (KeyError, ValueError): + continue + return cleaned + + +def strip_html(value: str) -> str: + """Remove HTML tags and normalize whitespace.""" + if not value: + return "" + soup = BeautifulSoup(value, "html.parser") + text = soup.get_text(separator=" ", strip=True) + text = re.sub(r"\s+", " ", text) + text = text.encode("utf-8", "ignore").decode("utf-8", "ignore") + return text.strip() + + +def sanitize_text(value: str) -> str: + """Clean text and remove excessive noise.""" + text = strip_html(value) + text = re.sub(r"http\S+", "", text) # drop inline URLs + text = re.sub(r"\s{2,}", " ", text) + return text.strip() + + +def drop_short_items(items: Iterable[NormalizedItem], minimum_length: int = MIN_TEXT_LENGTH) -> List[NormalizedItem]: + """Filter out items that are too short to analyze.""" + return [ + item + for item in items + if len(item["text"]) >= minimum_length + ] + + +def fuzzy_deduplicate(items: Sequence[NormalizedItem], threshold: int = SIMILARITY_THRESHOLD) -> List[NormalizedItem]: + """Remove duplicates based on URL or fuzzy text similarity.""" + seen_urls: set[str] = set() + deduped: List[NormalizedItem] = [] + for item in items: + url = item.get("url") or "" + text = item.get("text") or "" + if url and url in seen_urls: + continue + duplicate_found = False + for existing in deduped: + if not text or not existing.get("text"): + continue + if fuzz.token_set_ratio(text, existing["text"]) >= threshold: + duplicate_found = True + break + if not duplicate_found: + deduped.append(item) + if url: + seen_urls.add(url) + return deduped + + +def normalize_items(items: Sequence[NormalizedItem]) -> List[NormalizedItem]: + """Apply sanitization, deduplication, and drop noisy entries.""" + sanitized: List[NormalizedItem] = [] + for item in items: + cleaned_text = sanitize_text(item.get("text", "")) + if len(cleaned_text) < MIN_TEXT_LENGTH: + continue + sanitized.append( + NormalizedItem( + source=item["source"], + id=item["id"], + url=item.get("url", ""), + author=item.get("author"), + timestamp=item["timestamp"], + text=cleaned_text, + meta=item.get("meta", {}), + ) + ) + return fuzzy_deduplicate(sanitized) + + +def parse_date_range(option: str) -> datetime: + """Return a UTC timestamp threshold for the given range identifier.""" + now = datetime.now(timezone.utc) + option = option.lower() + delta = { + "24h": timedelta(days=1), + "7d": timedelta(days=7), + "30d": timedelta(days=30), + }.get(option, timedelta(days=7)) + return now - delta + + +def random_user_agent() -> str: + """Return a random user agent string for polite scraping.""" + user_agents = [ + "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 " + "(KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", + "Mozilla/5.0 (Macintosh; Intel Mac OS X 13_3) AppleWebKit/605.1.15 " + "(KHTML, like Gecko) Version/16.4 Safari/605.1.15", + "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:125.0) Gecko/20100101 Firefox/125.0", + ] + return random.choice(user_agents) + + +def chunked(iterable: Sequence[str], size: int) -> Iterator[Sequence[str]]: + """Yield successive chunks from iterable.""" + for start in range(0, len(iterable), size): + yield iterable[start : start + size] + + +def validate_openai_key(api_key: Optional[str]) -> Tuple[Optional[str], List[str]]: + """Validate an OpenAI key following the guidance from day1 notebook.""" + warnings: List[str] = [] + if not api_key: + warnings.append("No OpenAI API key detected. VADER fallback will be used.") + return None, warnings + if not api_key.startswith("sk-"): + warnings.append( + "Provided OpenAI API key does not start with the expected prefix (sk-)." + ) + if api_key.strip() != api_key: + warnings.append("OpenAI API key looks like it has leading or trailing whitespace.") + api_key = api_key.strip() + return api_key, warnings + + +def ensure_timezone(ts: datetime) -> datetime: + """Guarantee timestamps are timezone-aware in UTC.""" + if ts.tzinfo is None: + return ts.replace(tzinfo=timezone.utc) + return ts.astimezone(timezone.utc) + + +def safe_int(value: Optional[object], default: int = 0) -> int: + """Convert a value to int with a fallback.""" + try: + return int(value) # type: ignore[arg-type] + except (TypeError, ValueError): + return default diff --git a/community-contributions/Reputation_Radar/tests/conftest.py b/community-contributions/Reputation_Radar/tests/conftest.py new file mode 100644 index 0000000..225b3d3 --- /dev/null +++ b/community-contributions/Reputation_Radar/tests/conftest.py @@ -0,0 +1,6 @@ +import pathlib +import sys + +PROJECT_ROOT = pathlib.Path(__file__).resolve().parents[1] +if str(PROJECT_ROOT) not in sys.path: + sys.path.insert(0, str(PROJECT_ROOT)) diff --git a/community-contributions/Reputation_Radar/tests/test_llm_fallback.py b/community-contributions/Reputation_Radar/tests/test_llm_fallback.py new file mode 100644 index 0000000..1ddaee8 --- /dev/null +++ b/community-contributions/Reputation_Radar/tests/test_llm_fallback.py @@ -0,0 +1,19 @@ +import pytest + +from services import llm +from services.utils import ServiceWarning + + +def test_llm_fallback_uses_vader(): + service = llm.LLMService(api_key=None) + results = service.classify_sentiment_batch( + ["I absolutely love this product!", "This is the worst experience ever."] + ) + assert results[0].label == "positive" + assert results[1].label == "negative" + + +def test_summary_requires_openai_key(): + service = llm.LLMService(api_key=None) + with pytest.raises(ServiceWarning): + service.summarize_overall([{"label": "positive", "text": "Example"}]) diff --git a/community-contributions/Reputation_Radar/tests/test_utils.py b/community-contributions/Reputation_Radar/tests/test_utils.py new file mode 100644 index 0000000..e8e81d6 --- /dev/null +++ b/community-contributions/Reputation_Radar/tests/test_utils.py @@ -0,0 +1,35 @@ +import datetime as dt + +from services import utils + + +def test_normalize_items_deduplicates(): + ts = dt.datetime(2025, 1, 1, tzinfo=dt.timezone.utc) + items = [ + utils.NormalizedItem( + source="reddit", + id="1", + url="https://example.com/a", + author="alice", + timestamp=ts, + text="ReputationRadar is great!", + meta={}, + ), + utils.NormalizedItem( + source="reddit", + id="2", + url="https://example.com/a", + author="bob", + timestamp=ts, + text="ReputationRadar is great!", + meta={}, + ), + ] + cleaned = utils.normalize_items(items) + assert len(cleaned) == 1 + + +def test_sanitize_text_removes_html(): + raw = "

Hello world   link

" + cleaned = utils.sanitize_text(raw) + assert cleaned == "Hello world link" From 5c9fe60a22b3534fcbd1784dc870789b8fe16421 Mon Sep 17 00:00:00 2001 From: Rob Godbey Date: Wed, 22 Oct 2025 11:44:54 -0400 Subject: [PATCH 06/19] Added my contributions to community-contributions. It took me a few tries to get the correct community-contributions. Not week1/community-contributions. --- .../wk1-day1-RBG-all-sites-jina.ipynb | 221 ++++++++++++++++++ 1 file changed, 221 insertions(+) create mode 100644 community-contributions/wk1-day1-RBG-all-sites-jina.ipynb diff --git a/community-contributions/wk1-day1-RBG-all-sites-jina.ipynb b/community-contributions/wk1-day1-RBG-all-sites-jina.ipynb new file mode 100644 index 0000000..5d6454d --- /dev/null +++ b/community-contributions/wk1-day1-RBG-all-sites-jina.ipynb @@ -0,0 +1,221 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "d15d8294-3328-4e07-ad16-8a03e9bbfdb9", + "metadata": {}, + "source": [ + "# My First Lab = My 1st Frontier LLM Project\n", + "## Summarize All Websites without Selenium\n", + "This simple \"app\" uses Jina (https://jina.ai/reader) to turn all websites into markdown before summarizing by an LLM. As their website says: \"Convert a URL to LLM-friendly input, by simply adding r.jina.ai in front\". They have other tools that look useful too.\n", + "\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4e2a9393-7767-488e-a8bf-27c12dca35bd", + "metadata": {}, + "outputs": [], + "source": [ + "# imports\n", + "\n", + "import os\n", + "import requests # added for jina\n", + "from dotenv import load_dotenv\n", + "# from scraper import fetch_website_contents # not needed for jina\n", + "from IPython.display import Markdown, display\n", + "from openai import OpenAI\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7b87cadb-d513-4303-baee-a37b6f938e4d", + "metadata": {}, + "outputs": [], + "source": [ + "# Load environment variables from a file called .env\n", + "\n", + "load_dotenv(override=True)\n", + "api_key = os.getenv('OPENAI_API_KEY')\n", + "\n", + "# Check the 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", + "elif api_key.strip() != api_key:\n", + " print(\"An API key was found, but it looks like it might have space or tab characters at the start or end - please remove them - see troubleshooting notebook\")\n", + "else:\n", + " print(\"API key found and looks good so far!\")\n", + "\n", + "# Setup access to the frontier model\n", + "\n", + "openai = OpenAI()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f0275b1b-7cfe-4f9d-abfa-7650d378da0c", + "metadata": {}, + "outputs": [], + "source": [ + "# Step 1-a: Define the user prompt\n", + "\n", + "user_prompt_prefix = \"\"\"\n", + "Here are the contents of a website.\n", + "Provide a short summary of this website.\n", + "If it includes news or announcements, then summarize these too.\n", + "\"\"\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "abdb8417-c5dc-44bc-9bee-2e059d162699", + "metadata": {}, + "outputs": [], + "source": [ + "# Step 1-b: Define the system prompt\n", + "\n", + "system_prompt = \"\"\"\n", + "You are a smart assistant that analyzes the contents of a website,\n", + "and provides a short, clear, summary, ignoring text that might be navigation related.\n", + "Respond in markdown. Do not wrap the markdown in a code block - respond just with the markdown.\n", + "\"\"\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0134dfa4-8299-48b5-b444-f2a8c3403c88", + "metadata": {}, + "outputs": [], + "source": [ + "# Add the website content to the user prompt\n", + "\n", + "def messages_for(website):\n", + " return [\n", + " {\"role\": \"system\", \"content\": system_prompt},\n", + " {\"role\": \"user\", \"content\": user_prompt_prefix + website}\n", + " ]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2ef960cf-6dc2-4cda-afb3-b38be12f4c97", + "metadata": {}, + "outputs": [], + "source": [ + "# Step 5: Change the content utility to use jina\n", + "\n", + "def fetch_url_content(url):\n", + " jina_reader_url = f\"https://r.jina.ai/{url}\"\n", + " try:\n", + " response = requests.get(jina_reader_url)\n", + " response.raise_for_status() # Raise an exception for HTTP errors\n", + " return response.text\n", + " except requests.exceptions.RequestException as e:\n", + " print(f\"Error fetching URL: {e}\")\n", + " return None\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "905b9919-aba7-45b5-ae65-81b3d1d78e34", + "metadata": {}, + "outputs": [], + "source": [ + "# Step 3: Call OpenAI & Step 4: print the result\n", + "\n", + "def summarize(url):\n", + " website = fetch_url_content(url)\n", + " response = openai.chat.completions.create(\n", + " model = \"gpt-5-nano\",\n", + " messages = messages_for(website)\n", + " )\n", + " summary = response.choices[0].message.content\n", + " return display(Markdown(summary))\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "05e38d41-dfa4-4b20-9c96-c46ea75d9fb5", + "metadata": {}, + "outputs": [], + "source": [ + "summarize(\"https://edwarddonner.com\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "45d83403-a24c-44b5-84ac-961449b4008f", + "metadata": {}, + "outputs": [], + "source": [ + "summarize(\"https://cnn.com\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "75e9fd40-b354-4341-991e-863ef2e59db7", + "metadata": {}, + "outputs": [], + "source": [ + "summarize(\"https://openai.com\")" + ] + }, + { + "cell_type": "markdown", + "id": "36ed9f14-b349-40e9-a42c-b367e77f8bda", + "metadata": {}, + "source": [ + "## Content Summary vs Technical Summary\n", + "\n", + "In my work a technical summary of a website, or group of websites, would be useful too. For example, does it render on the server (HTML) or in the browser (JavaScript), what content management system (CMS) was used, how many pages, how many outbound links, how many inbound links, etc. Doing this exercise I realized LLMs can help with analyzing content, but I may need other tools to count pages, links, and other specifications.\n", + "\n", + "A \"Shout Out\" to whoever put \"Market_Research_Agent.ipynb\" in the Community-Contributions. It is a great example of using an LLM as a management consultant. I think Jina might help with this usecase by offering web search results through an API to feed to your LLM. Here is the system prompt from that notebook and I plan to use this format often.\n", + "\n", + "system_prompt = \"\"\"You are to act like a Mckinsey Consultant specializing in market research. \n", + "1) You are to follow legal guidelines and never give immoral advice. \n", + "2) Your job is to maximise profits for your clients by analysing their companies initiatives and giving out recommendations for newer initiatives.\\n \n", + "3) Follow industry frameworks for reponses always give simple answers and stick to the point.\n", + "4) If possible try to see what competitors exist and what market gap can your clients company exploit.\n", + "5) Further more, USe SWOT, Porters 5 forces to summarize your recommendations, Give confidence score with every recommendations\n", + "6) Try to give unique solutions by seeing what the market gap is, if market gap is ambiguious skip this step\n", + "7) add an estimate of what rate the revenue of the comapany will increase at provided they follow the guidelines, give conservating estimates keeping in account non ideal conditions.\n", + "8) if the website isnt of a company or data isnt available, give out an error message along the lines of more data required for analysis\"\"\"" + ] + } + ], + "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.12" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 01f630db110e0569e3456d102184bb2f2efc2235 Mon Sep 17 00:00:00 2001 From: Slawomir M Date: Thu, 23 Oct 2025 01:31:33 +0200 Subject: [PATCH 07/19] w1_d1 notebook done --- .../slmslm333221/day1.ipynb | 563 ++++++++++++++++++ 1 file changed, 563 insertions(+) create mode 100644 week1/community-contributions/slmslm333221/day1.ipynb diff --git a/week1/community-contributions/slmslm333221/day1.ipynb b/week1/community-contributions/slmslm333221/day1.ipynb new file mode 100644 index 0000000..a79bd98 --- /dev/null +++ b/week1/community-contributions/slmslm333221/day1.ipynb @@ -0,0 +1,563 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "d15d8294-3328-4e07-ad16-8a03e9bbfdb9", + "metadata": {}, + "source": [ + "# YOUR FIRST LAB\n", + "### Please read this section. This is valuable to get you prepared, even if it's a long read -- it's important stuff.\n", + "\n", + "### Also, be sure to read [README.md](../README.md)! More info about the updated videos in the README and [top of the course resources in purple](https://edwarddonner.com/2024/11/13/llm-engineering-resources/)\n", + "\n", + "## Your first Frontier LLM Project\n", + "\n", + "By the end of this course, you will have built an autonomous Agentic AI solution with 7 agents that collaborate to solve a business problem. All in good time! We will start with something smaller...\n", + "\n", + "Our goal is to code a new kind of Web Browser. Give it a URL, and it will respond with a summary. The Reader's Digest of the internet!!\n", + "\n", + "Before starting, you should have completed the setup linked in the README.\n", + "\n", + "### If you're new to working in \"Notebooks\" (also known as Labs or Jupyter Lab)\n", + "\n", + "Welcome to the wonderful world of Data Science experimentation! Simply click in each \"cell\" with code in it, such as the cell immediately below this text, and hit Shift+Return to execute that cell. Be sure to run every cell, starting at the top, in order.\n", + "\n", + "Please look in the [Guides folder](../guides/01_intro.ipynb) for all the guides.\n", + "\n", + "## I am here to help\n", + "\n", + "If you have any problems at all, please do reach out. \n", + "I'm available through the platform, or at ed@edwarddonner.com, or at https://www.linkedin.com/in/eddonner/ if you'd like to connect (and I love connecting!) \n", + "And this is new to me, but I'm also trying out X at [@edwarddonner](https://x.com/edwarddonner) - if you're on X, please show me how it's done ๐Ÿ˜‚ \n", + "\n", + "## More troubleshooting\n", + "\n", + "Please see the [troubleshooting](../setup/troubleshooting.ipynb) notebook in the setup folder to diagnose and fix common problems. At the very end of it is a diagnostics script with some useful debug info.\n", + "\n", + "## If this is old hat!\n", + "\n", + "If you're already comfortable with today's material, please hang in there; you can move swiftly through the first few labs - we will get much more in depth as the weeks progress. Ultimately we will fine-tune our own LLM to compete with OpenAI!\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " \n", + " \n", + "

Please read - important note

\n", + " The way I collaborate with you may be different to other courses you've taken. I prefer not to type code while you watch. Rather, I execute Jupyter Labs, like this, and give you an intuition for what's going on. My suggestion is that you carefully execute this yourself, after watching the lecture. Add print statements to understand what's going on, and then come up with your own variations. If you have a Github account, use this to showcase your variations. Not only is this essential practice, but it demonstrates your skills to others, including perhaps future clients or employers...\n", + "
\n", + "\n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " \n", + " \n", + "

This code is a live resource - keep an eye out for my emails

\n", + " I push updates to the code regularly. As people ask questions, I add more examples or improved commentary. As a result, you'll notice that the code below isn't identical to the videos. Everything from the videos is here; but I've also added better explanations and new models like DeepSeek. Consider this like an interactive book.

\n", + " I try to send emails regularly with important updates related to the course. You can find this in the 'Announcements' section of Udemy in the left sidebar. You can also choose to receive my emails via your Notification Settings in Udemy. I'm respectful of your inbox and always try to add value with my emails!\n", + "
\n", + "
\n", + "\n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " \n", + " \n", + "

Business value of these exercises

\n", + " A final thought. While I've designed these notebooks to be educational, I've also tried to make them enjoyable. We'll do fun things like have LLMs tell jokes and argue with each other. But fundamentally, my goal is to teach skills you can apply in business. I'll explain business implications as we go, and it's worth keeping this in mind: as you build experience with models and techniques, think of ways you could put this into action at work today. Please do contact me if you'd like to discuss more or if you have ideas to bounce off me.\n", + "
" + ] + }, + { + "cell_type": "markdown", + "id": "83f28feb", + "metadata": {}, + "source": [ + "### If necessary, install Cursor Extensions\n", + "\n", + "1. From the View menu, select Extensions\n", + "2. Search for Python\n", + "3. Click on \"Python\" made by \"ms-python\" and select Install if not already installed\n", + "4. Search for Jupyter\n", + "5. Click on \"Jupyter\" made by \"ms-toolsai\" and select Install of not already installed\n", + "\n", + "\n", + "### Next Select the Kernel\n", + "\n", + "Click on \"Select Kernel\" on the Top Right\n", + "\n", + "Choose \"Python Environments...\"\n", + "\n", + "Then choose the one that looks like `.venv (Python 3.12.x) .venv/bin/python` - it should be marked as \"Recommended\" and have a big star next to it.\n", + "\n", + "Any problems with this? Head over to the troubleshooting.\n", + "\n", + "### Note: you'll need to set the Kernel with every notebook.." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4e2a9393-7767-488e-a8bf-27c12dca35bd", + "metadata": {}, + "outputs": [], + "source": [ + "# imports\n", + "\n", + "import os\n", + "import sys\n", + "from pathlib import Path\n", + "sys.path.append(str(Path(r\"..\\..\").resolve()))\n", + "from dotenv import load_dotenv\n", + "from scraper import fetch_website_contents\n", + "from IPython.display import Markdown, display\n", + "from openai import OpenAI\n", + "\n", + "\n", + "\n", + "# If you get an error running this cell, then please head over to the troubleshooting notebook!" + ] + }, + { + "cell_type": "markdown", + "id": "6900b2a8-6384-4316-8aaa-5e519fca4254", + "metadata": {}, + "source": [ + "# Connecting to OpenAI (or Ollama)\n", + "\n", + "The next cell is where we load in the environment variables in your `.env` file and connect to OpenAI. \n", + "\n", + "If you'd like to use free Ollama instead, please see the README section \"Free Alternative to Paid APIs\", and if you're not sure how to do this, there's a full solution in the solutions folder (day1_with_ollama.ipynb).\n", + "\n", + "## Troubleshooting if you have problems:\n", + "\n", + "If you get a \"Name Error\" - have you run all cells from the top down? Head over to the Python Foundations guide for a bulletproof way to find and fix all Name Errors.\n", + "\n", + "If that doesn't fix it, head over to the [troubleshooting](../setup/troubleshooting.ipynb) notebook for step by step code to identify the root cause and fix it!\n", + "\n", + "Or, contact me! Message me or email ed@edwarddonner.com and we will get this to work.\n", + "\n", + "Any concerns about API costs? See my notes in the README - costs should be minimal, and you can control it at every point. You can also use Ollama as a free alternative, which we discuss during Day 2." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7b87cadb-d513-4303-baee-a37b6f938e4d", + "metadata": {}, + "outputs": [], + "source": [ + "# Load environment variables in a file called .env\n", + "\n", + "load_dotenv(override=True)\n", + "api_key = os.getenv('OPENAI_API_KEY')\n", + "\n", + "# Check the 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", + "elif api_key.strip() != api_key:\n", + " print(\"An API key was found, but it looks like it might have space or tab characters at the start or end - please remove them - see troubleshooting notebook\")\n", + "else:\n", + " print(\"API key found and looks good so far!\")\n" + ] + }, + { + "cell_type": "markdown", + "id": "442fc84b-0815-4f40-99ab-d9a5da6bda91", + "metadata": {}, + "source": [ + "# Let's make a quick call to a Frontier model to get started, as a preview!" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a58394bf-1e45-46af-9bfd-01e24da6f49a", + "metadata": {}, + "outputs": [], + "source": [ + "# To give you a preview -- calling OpenAI with these messages is this easy. Any problems, head over to the Troubleshooting notebook.\n", + "\n", + "message = \"Hello, GPT! This is my first ever message to you! Hi!\"\n", + "\n", + "messages = [{\"role\": \"user\", \"content\": message}]\n", + "\n", + "messages\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "08330159", + "metadata": {}, + "outputs": [], + "source": [ + "openai = OpenAI()\n", + "\n", + "response = openai.chat.completions.create(model=\"gpt-5-nano\", messages=messages)\n", + "response.choices[0].message.content" + ] + }, + { + "cell_type": "markdown", + "id": "2aa190e5-cb31-456a-96cc-db109919cd78", + "metadata": {}, + "source": [ + "## OK onwards with our first project" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2ef960cf-6dc2-4cda-afb3-b38be12f4c97", + "metadata": {}, + "outputs": [], + "source": [ + "# Let's try out this utility\n", + "\n", + "ed = fetch_website_contents(\"https://edwarddonner.com\")\n", + "print(ed)" + ] + }, + { + "cell_type": "markdown", + "id": "6a478a0c-2c53-48ff-869c-4d08199931e1", + "metadata": {}, + "source": [ + "## Types of prompts\n", + "\n", + "You may know this already - but if not, you will get very familiar with it!\n", + "\n", + "Models like GPT have been trained to receive instructions in a particular way.\n", + "\n", + "They expect to receive:\n", + "\n", + "**A system prompt** that tells them what task they are performing and what tone they should use\n", + "\n", + "**A user prompt** -- the conversation starter that they should reply to" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "abdb8417-c5dc-44bc-9bee-2e059d162699", + "metadata": {}, + "outputs": [], + "source": [ + "# Define our system prompt - you can experiment with this later, changing the last sentence to 'Respond in markdown in Spanish.\"\n", + "\n", + "system_prompt = \"\"\"\n", + "You are a snarkyassistant that analyzes the contents of a website,\n", + "and provides a short, snarky, humorous summary, ignoring text that might be navigation related.\n", + "Respond in markdown. Do not wrap the markdown in a code block - respond just with the markdown.\n", + "\"\"\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f0275b1b-7cfe-4f9d-abfa-7650d378da0c", + "metadata": {}, + "outputs": [], + "source": [ + "# Define our user prompt\n", + "\n", + "user_prompt_prefix = \"\"\"\n", + "Here are the contents of a website.\n", + "Provide a short summary of this website.\n", + "If it includes news or announcements, then summarize these too.\n", + "\n", + "\"\"\"" + ] + }, + { + "cell_type": "markdown", + "id": "ea211b5f-28e1-4a86-8e52-c0b7677cadcc", + "metadata": {}, + "source": [ + "## Messages\n", + "\n", + "The API from OpenAI expects to receive messages in a particular structure.\n", + "Many of the other APIs share this structure:\n", + "\n", + "```python\n", + "[\n", + " {\"role\": \"system\", \"content\": \"system message goes here\"},\n", + " {\"role\": \"user\", \"content\": \"user message goes here\"}\n", + "]\n", + "```\n", + "To give you a preview, the next 2 cells make a rather simple call - we won't stretch the mighty GPT (yet!)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f25dcd35-0cd0-4235-9f64-ac37ed9eaaa5", + "metadata": {}, + "outputs": [], + "source": [ + "messages = [\n", + " {\"role\": \"system\", \"content\": \"You are a helpful, by far too polite assistant trying to sell more services with every contact\"},\n", + " {\"role\": \"user\", \"content\": \"What is 2 + 2?\"}\n", + "]\n", + "\n", + "response = openai.chat.completions.create(model=\"gpt-4.1-nano\", messages=messages)\n", + "response.choices[0].message.content" + ] + }, + { + "cell_type": "markdown", + "id": "d06e8d78-ce4c-4b05-aa8e-17050c82bb47", + "metadata": {}, + "source": [ + "## And now let's build useful messages for GPT-4.1-mini, using a function" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0134dfa4-8299-48b5-b444-f2a8c3403c88", + "metadata": {}, + "outputs": [], + "source": [ + "# See how this function creates exactly the format above\n", + "\n", + "def messages_for(website):\n", + " return [\n", + " {\"role\": \"system\", \"content\": system_prompt},\n", + " {\"role\": \"user\", \"content\": user_prompt_prefix + website}\n", + " ]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "36478464-39ee-485c-9f3f-6a4e458dbc9c", + "metadata": {}, + "outputs": [], + "source": [ + "# Try this out, and then try for a few more websites\n", + "\n", + "messages_for(ed)" + ] + }, + { + "cell_type": "markdown", + "id": "16f49d46-bf55-4c3e-928f-68fc0bf715b0", + "metadata": {}, + "source": [ + "## Time to bring it together - the API for OpenAI is very simple!" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "905b9919-aba7-45b5-ae65-81b3d1d78e34", + "metadata": {}, + "outputs": [], + "source": [ + "# And now: call the OpenAI API. You will get very familiar with this!\n", + "\n", + "def summarize(url):\n", + " website = fetch_website_contents(url)\n", + " response = openai.chat.completions.create(\n", + " model = \"gpt-4.1-mini\",\n", + " messages = messages_for(website)\n", + " )\n", + " return response.choices[0].message.content" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "05e38d41-dfa4-4b20-9c96-c46ea75d9fb5", + "metadata": {}, + "outputs": [], + "source": [ + "summarize(\"https://edwarddonner.com\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3d926d59-450e-4609-92ba-2d6f244f1342", + "metadata": {}, + "outputs": [], + "source": [ + "# A function to display this nicely in the output, using markdown\n", + "\n", + "def display_summary(url):\n", + " summary = summarize(url)\n", + " display(Markdown(summary))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3018853a-445f-41ff-9560-d925d1774b2f", + "metadata": {}, + "outputs": [], + "source": [ + "display_summary(\"https://edwarddonner.com\")" + ] + }, + { + "cell_type": "markdown", + "id": "b3bcf6f4-adce-45e9-97ad-d9a5d7a3a624", + "metadata": {}, + "source": [ + "# Let's try more websites\n", + "\n", + "Note that this will only work on websites that can be scraped using this simplistic approach.\n", + "\n", + "Websites that are rendered with Javascript, like React apps, won't show up. See the community-contributions folder for a Selenium implementation that gets around this. You'll need to read up on installing Selenium (ask ChatGPT!)\n", + "\n", + "Also Websites protected with CloudFront (and similar) may give 403 errors - many thanks Andy J for pointing this out.\n", + "\n", + "But many websites will work just fine!" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "45d83403-a24c-44b5-84ac-961449b4008f", + "metadata": {}, + "outputs": [], + "source": [ + "display_summary(\"https://cnn.com\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "75e9fd40-b354-4341-991e-863ef2e59db7", + "metadata": {}, + "outputs": [], + "source": [ + "display_summary(\"https://anthropic.com\")" + ] + }, + { + "cell_type": "markdown", + "id": "c951be1a-7f1b-448f-af1f-845978e47e2c", + "metadata": {}, + "source": [ + "\n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " \n", + " \n", + "

Business applications

\n", + " In this exercise, you experienced calling the Cloud API of a Frontier Model (a leading model at the frontier of AI) for the first time. We will be using APIs like OpenAI at many stages in the course, in addition to building our own LLMs.\n", + "\n", + "More specifically, we've applied this to Summarization - a classic Gen AI use case to make a summary. This can be applied to any business vertical - summarizing the news, summarizing financial performance, summarizing a resume in a cover letter - the applications are limitless. Consider how you could apply Summarization in your business, and try prototyping a solution.\n", + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " \n", + " \n", + "

Before you continue - now try yourself

\n", + " Use the cell below to make your own simple commercial example. Stick with the summarization use case for now. Here's an idea: write something that will take the contents of an email, and will suggest an appropriate short subject line for the email. That's the kind of feature that might be built into a commercial email tool.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "00743dac-0e70-45b7-879a-d7293a6f68a6", + "metadata": {}, + "outputs": [], + "source": [ + "# Step 1: Create your prompts\n", + "\n", + "system_prompt = \"something here\"\n", + "user_prompt = \"\"\"\n", + " Lots of text\n", + " Can be pasted here\n", + "\"\"\"\n", + "\n", + "# Step 2: Make the messages list\n", + "\n", + "messages = [] # fill this in\n", + "\n", + "# Step 3: Call OpenAI\n", + "# response =\n", + "\n", + "# Step 4: print the result\n", + "# print(" + ] + }, + { + "cell_type": "markdown", + "id": "36ed9f14-b349-40e9-a42c-b367e77f8bda", + "metadata": {}, + "source": [ + "## An extra exercise for those who enjoy web scraping\n", + "\n", + "You may notice that if you try `display_summary(\"https://openai.com\")` - it doesn't work! That's because OpenAI has a fancy website that uses Javascript. There are many ways around this that some of you might be familiar with. For example, Selenium is a hugely popular framework that runs a browser behind the scenes, renders the page, and allows you to query it. If you have experience with Selenium, Playwright or similar, then feel free to improve the Website class to use them. In the community-contributions folder, you'll find an example Selenium solution from a student (thank you!)" + ] + }, + { + "cell_type": "markdown", + "id": "eeab24dc-5f90-4570-b542-b0585aca3eb6", + "metadata": {}, + "source": [ + "# Sharing your code\n", + "\n", + "I'd love it if you share your code afterwards so I can share it with others! You'll notice that some students have already made changes (including a Selenium implementation) which you will find in the community-contributions folder. If you'd like add your changes to that folder, submit a Pull Request with your new versions in that folder and I'll merge your changes.\n", + "\n", + "If you're not an expert with git (and I am not!) then GPT has given some nice instructions on how to submit a Pull Request. It's a bit of an involved process, but once you've done it once it's pretty clear. As a pro-tip: it's best if you clear the outputs of your Jupyter notebooks (Edit >> Clean outputs of all cells, and then Save) for clean notebooks.\n", + "\n", + "Here are good instructions courtesy of an AI friend: \n", + "https://chatgpt.com/share/677a9cb5-c64c-8012-99e0-e06e88afd293" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f4484fcf-8b39-4c3f-9674-37970ed71988", + "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.12" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 101b0baf625857b2f9d900ab965c96f078b83909 Mon Sep 17 00:00:00 2001 From: Jsrodrigue Date: Thu, 23 Oct 2025 15:29:54 +0100 Subject: [PATCH 08/19] Add juan contribution --- .../juan_synthetic_data/.env_example | 1 + .../juan_synthetic_data/.python-version | 1 + .../juan_synthetic_data/README.md | 254 +++++++++++++++ .../juan_synthetic_data/app.py | 131 ++++++++ .../data/people_reference.csv | 16 + .../data/sentiment_reference.csv | 99 ++++++ .../data/wine_reference.csv | 159 ++++++++++ .../notebooks/notebook.ipynb | 292 ++++++++++++++++++ .../juan_synthetic_data/pyproject.toml | 16 + .../juan_synthetic_data/requirements.txt | 10 + .../juan_synthetic_data/src/IO_utils.py | 13 + .../juan_synthetic_data/src/__init__.py | 0 .../juan_synthetic_data/src/constants.py | 45 +++ .../src/data_generation.py | 108 +++++++ .../juan_synthetic_data/src/evaluator.py | 142 +++++++++ .../juan_synthetic_data/src/helpers.py | 14 + .../juan_synthetic_data/src/openai_utils.py | 112 +++++++ .../juan_synthetic_data/src/plot_utils.py | 13 + 18 files changed, 1426 insertions(+) create mode 100644 week3/community-contributions/juan_synthetic_data/.env_example create mode 100644 week3/community-contributions/juan_synthetic_data/.python-version create mode 100644 week3/community-contributions/juan_synthetic_data/README.md create mode 100644 week3/community-contributions/juan_synthetic_data/app.py create mode 100644 week3/community-contributions/juan_synthetic_data/data/people_reference.csv create mode 100644 week3/community-contributions/juan_synthetic_data/data/sentiment_reference.csv create mode 100644 week3/community-contributions/juan_synthetic_data/data/wine_reference.csv create mode 100644 week3/community-contributions/juan_synthetic_data/notebooks/notebook.ipynb create mode 100644 week3/community-contributions/juan_synthetic_data/pyproject.toml create mode 100644 week3/community-contributions/juan_synthetic_data/requirements.txt create mode 100644 week3/community-contributions/juan_synthetic_data/src/IO_utils.py create mode 100644 week3/community-contributions/juan_synthetic_data/src/__init__.py create mode 100644 week3/community-contributions/juan_synthetic_data/src/constants.py create mode 100644 week3/community-contributions/juan_synthetic_data/src/data_generation.py create mode 100644 week3/community-contributions/juan_synthetic_data/src/evaluator.py create mode 100644 week3/community-contributions/juan_synthetic_data/src/helpers.py create mode 100644 week3/community-contributions/juan_synthetic_data/src/openai_utils.py create mode 100644 week3/community-contributions/juan_synthetic_data/src/plot_utils.py diff --git a/week3/community-contributions/juan_synthetic_data/.env_example b/week3/community-contributions/juan_synthetic_data/.env_example new file mode 100644 index 0000000..98cef88 --- /dev/null +++ b/week3/community-contributions/juan_synthetic_data/.env_example @@ -0,0 +1 @@ +OPENAI_API_KEY= your_openai_api_kei \ No newline at end of file diff --git a/week3/community-contributions/juan_synthetic_data/.python-version b/week3/community-contributions/juan_synthetic_data/.python-version new file mode 100644 index 0000000..e4fba21 --- /dev/null +++ b/week3/community-contributions/juan_synthetic_data/.python-version @@ -0,0 +1 @@ +3.12 diff --git a/week3/community-contributions/juan_synthetic_data/README.md b/week3/community-contributions/juan_synthetic_data/README.md new file mode 100644 index 0000000..7cbb0f7 --- /dev/null +++ b/week3/community-contributions/juan_synthetic_data/README.md @@ -0,0 +1,254 @@ +# Synthetic Data Generator +**NOTE:** This is a copy of the repository https://github.com/Jsrodrigue/synthetic-data-creator. + +An intelligent synthetic data generator that uses OpenAI models to create realistic tabular datasets based on reference data. This project includes an intuitive web interface built with Gradio. + +> **๐ŸŽ“ Educational Project**: This project was inspired by the highly regarded LLM Engineering course on Udemy: [LLM Engineering: Master AI and Large Language Models](https://www.udemy.com/course/llm-engineering-master-ai-and-large-language-models/learn/lecture/52941433#questions/23828099). It demonstrates practical applications of LLM engineering principles, prompt engineering, and synthetic data generation techniques. + +## Key highlights: +- Built with Python & Gradio +- Uses OpenAI GPT-4 models for tabular data synthesis +- Focused on statistical consistency and controlled randomness +- Lightweight and easy to extend + +## ๐Ÿ“ธ Screenshots & Demo + +### Application Interface +

+ Main Interface +

+

Main interface showing the synthetic data generator with all controls

+ +### Generated Data Preview +

+ Generated table +

+

Generated CSV preview with the Wine dataset reference

+ +### Histogram plots +

+ Histogram plot +

+

Example of Histogram comparison plot in the Wine dataset

+ +### Boxplots +

+ Boxplot +

+

Example of Boxplot comparison

+ + +### Video Demo +[![Video Demo](https://img.youtube.com/vi/C7c8BbUGGBA/0.jpg)](https://youtu.be/C7c8BbUGGBA) + +*Click to watch a complete walkthrough of the application* + + +## ๐Ÿ“‹ Features + +- **Intelligent Generation**: Generates synthetic data using OpenAI models (GPT-4o-mini, GPT-4.1-mini) +- **Web Interface**: Provides an intuitive Gradio UI with real-time data preview +- **Reference Data**: Optionally load CSV files to preserve statistical distributions +- **Export Options**: Download generated datasets directly in CSV format +- **Included Examples**: Comes with ready-to-use sample datasets for people and sentiment analysis +- **Dynamic Batching**: Automatically adapts batch size based on prompt length and reference sample size +- **Reference Sampling**: Uses random subsets of reference data to ensure variability and reduce API cost. + The sample size (default `64`) can be modified in `src/constants.py` via `N_REFERENCE_ROWS`. + +## ๐Ÿš€ Installation + +### Prerequisites +- Python 3.12+ +- OpenAI account with API key + +### Installation with pip +```bash +# Create virtual environment +python -m venv venv +source venv/bin/activate # On Windows: venv\Scripts\activate + +# Install dependencies +pip install -r requirements.txt +``` + +### Installation with uv +```bash +# Clone the repository +git clone https://github.com/Jsrodrigue/synthetic-data-creator.git +cd synthetic_data + +# Install dependencies +uv sync + +# Activate virtual environment +uv shell +``` + +### Configuration +1. Copy the environment variables example file: +```bash +cp .env_example .env +``` + +2. Edit `.env` and add your OpenAI API key: +``` +OPENAI_API_KEY=your_api_key_here +``` + + + +## ๐ŸŽฏ Usage + +### Start the application +```bash +python app.py +``` + +The script will print a local URL (e.g., http://localhost:7860) โ€” open that link in your browser. + +### How to use the interface + +1. **Configure Prompts**: + - **System Prompt**: Uses the default rules defined in `src/constants.py` or can be edited there for custom generation. + - **User Prompt**: Specifies what type of data to generate (default: 15 rows, defined in `src/constants.py`). + + +2. **Select Model**: + - `gpt-4o-mini`: Faster and more economical + - `gpt-4.1-mini`: Higher reasoning capacity + +3. **Load Reference Data** (optional): + - Upload a CSV file with similar data + - Use included examples: `people_reference.csv`, `sentiment_reference.csv` or `wine_reference.csv` + +4. **Generate Data**: + - Click "๐Ÿš€ Generate Data" + - Review results in the gradio UI + - Download the generated CSV + + + +## ๐Ÿ“Š Quality Evaluation + +### Simple Evaluation System + +The project includes a simple evaluation system focused on basic metrics and visualizations: + +#### Features +- **Simple Metrics**: Basic statistical comparisons and quality checks +- **Integrated Visualizations**: Automatic generation of comparison plots in the app +- **Easy to Understand**: Clear scores and simple reports +- **Scale Invariant**: Works with datasets of different sizes +- **Temporary Files**: Visualizations are generated in temp files and cleaned up automatically + + + +## ๐Ÿ› ๏ธ Improvements and Next Steps + +### Immediate Improvements + +1. **Advanced Validation**: + - Implement specific validators by data type + - Create evaluation reports + +2. **Advanced Quality Metrics** + - Include more advanced metrics to compare multivariate similarity (for future work), e.g.: + - C2ST (Classifier Twoโ€‘Sample Test): train a classifier to distinguish real vs synthetic โ€” report AUROC (ideal โ‰ˆ 0.5). + - MMD (Maximum Mean Discrepancy): kernel-based multivariate distance. + - Multivariate Wasserstein / Optimal Transport: joint-distribution distance (use POT). + +3. **More Models**: + - Integrate Hugging Face models + - Support for local models (Ollama) + - Comparison between different models + +### Advanced Features + +1. **Conditional Generation**: + - Data based on specific conditions + - Controlled outlier generation + - Maintaining complex relationships + +2. **Privacy Analysis**: + - Differential privacy metrics + - Sensitive data detection + - Automatic anonymization + +3. **Database Integration**: + - Direct database connection + - Massive data generation + - Automatic synchronization + +### Scalable Architecture + +1. **REST API**: + - Endpoints for integration + - Authentication and rate limiting + - OpenAPI documentation + +2. **Asynchronous Processing**: + - Work queues for long generations + - Progress notifications + - Robust error handling + +3. **Monitoring and Logging**: + - Usage and performance metrics + - Detailed generation logs + - Quality alerts + +## ๐Ÿ“ Project Structure + +``` +synthetic_data/ +โ”œโ”€โ”€ app.py # Main Gradio application for synthetic data generation +โ”œโ”€โ”€ README.md # Project documentation +โ”œโ”€โ”€ pyproject.toml # Project configuration +โ”œโ”€โ”€ requirements.txt # Python dependencies +โ”œโ”€โ”€ data/ # Reference CSV datasets used for generating synthetic data +โ”‚ โ”œโ”€โ”€ people_reference.csv +โ”‚ โ”œโ”€โ”€ sentiment_reference.csv +โ”‚ โ””โ”€โ”€ wine_reference.csv +โ”œโ”€โ”€ notebooks/ # Jupyter notebooks for experiments and development +โ”‚ โ””โ”€โ”€ notebook.ipynb +โ”œโ”€โ”€ src/ # Python source code +โ”‚ โ”œโ”€โ”€ __init__.py + โ”œโ”€โ”€ constants.py # Default constants, reference sample size, and default prompts +โ”‚ โ”œโ”€โ”€ data_generation.py # Core functions for batch generation and evaluation +โ”‚ โ”œโ”€โ”€ evaluator.py # Evaluation logic and metrics +โ”‚ โ”œโ”€โ”€ IO_utils.py # Utilities for file management and temp directories +โ”‚ โ”œโ”€โ”€ openai_utils.py # Wrappers for OpenAI API calls +โ”‚ โ””โ”€โ”€ plot_utils.py + # Functions to create visualizations from data +โ””โ”€โ”€ temp_plots/ # Temporary folder for generated plot images (auto-cleaned) +``` + +## ๐Ÿ“„ License + +This project is under the MIT License. See the `LICENSE` file for more details. + + + + +## ๐ŸŽ“ Course Context & Learning Outcomes + +This project was developed as part of the [LLM Engineering: Master AI and Large Language Models](https://www.udemy.com/course/llm-engineering-master-ai-and-large-language-models/learn/lecture/52941433#questions/23828099) course on Udemy. It demonstrates practical implementation of: + +### Key Learning Objectives: +- **Prompt Engineering Mastery**: Creating effective system and user prompts for consistent outputs +- **API Integration**: Working with OpenAI's API for production applications +- **Data Processing**: Handling JSON parsing, validation, and error management +- **Web Application Development**: Building user interfaces with Gradio + +### Course Insights Applied: +- **Why OpenAI over Open Source**: This project was developed as an alternative to open-source models due to consistency issues in prompt following with models like Llama 3.2. OpenAI provides more reliable and faster results for this specific task. +- **Production Considerations**: Focus on error handling, output validation, and user experience +- **Scalability Planning**: Architecture designed for future enhancements and integrations + +### Related Course Topics: +- Prompt engineering techniques +- LLM API integration and optimization +- Selection of best models for each usecase. + +--- + +**๐Ÿ“š Course Link**: [LLM Engineering: Master AI and Large Language Models](https://www.udemy.com/course/llm-engineering-master-ai-and-large-language-models/learn/lecture/52941433#questions/23828099) \ No newline at end of file diff --git a/week3/community-contributions/juan_synthetic_data/app.py b/week3/community-contributions/juan_synthetic_data/app.py new file mode 100644 index 0000000..ac5b950 --- /dev/null +++ b/week3/community-contributions/juan_synthetic_data/app.py @@ -0,0 +1,131 @@ +import gradio as gr +import os +import atexit +from src.IO_utils import cleanup_temp_files +from src.data_generation import generate_and_evaluate_data +from src.plot_utils import display_reference_csv +from dotenv import load_dotenv +import openai +from src.constants import PROJECT_TEMP_DIR, SYSTEM_PROMPT, USER_PROMPT + +# ========================================================== +# Setup +# ========================================================== + +#Load the api key +load_dotenv() +openai.api_key = os.getenv("OPENAI_API_KEY") + +# Temporary folder for images +os.makedirs(PROJECT_TEMP_DIR, exist_ok=True) + +# Ensure temporary plot images are deleted when the program exits +atexit.register(lambda: cleanup_temp_files(PROJECT_TEMP_DIR)) + +# ========================================================== +# Gradio App +# ========================================================== +with gr.Blocks() as demo: + + # Store temp folder in state + temp_dir_state = gr.State(value=PROJECT_TEMP_DIR) + + gr.Markdown("# ๐Ÿง  Synthetic Data Generator (with OpenAI)") + + # ====================================================== + # Tabs for organized sections + # ====================================================== + with gr.Tabs(): + + # ------------------------------ + # Tab 1: Input + # ------------------------------ + with gr.Tab("Input"): + + # System prompt in collapsible + with gr.Accordion("System Prompt (click to expand)", open=False): + system_prompt_input = gr.Textbox( + label="System Prompt", + value=SYSTEM_PROMPT, + lines=20 + ) + + # User prompt box + user_prompt_input = gr.Textbox(label="User Prompt", value=USER_PROMPT, lines=5) + + # Model selection + model_select = gr.Dropdown( + label="OpenAI Model", + choices=["gpt-4o-mini", "gpt-4.1-mini"], + value="gpt-4o-mini" + ) + + # Reference CSV upload + reference_input = gr.File(label="Reference CSV (optional)", file_types=[".csv"]) + + # Examples + gr.Examples( + examples=["data/sentiment_reference.csv","data/people_reference.csv","data/wine_reference.csv"], + inputs=reference_input + ) + + # Generate button + generate_btn = gr.Button("๐Ÿš€ Generate Data") + + # Download button + download_csv = gr.File(label="Download CSV") + + # ------------------------------ + # Tab 2: Reference Table + # ------------------------------ + with gr.Tab("Reference Table"): + reference_display = gr.DataFrame(label="Reference CSV Preview") + + # ------------------------------ + # Tab 3: Generated Table + # ------------------------------ + with gr.Tab("Generated Table"): + output_df = gr.DataFrame(label="Generated Data") + + + # ------------------------------ + # Tab 4: Evaluation + # ------------------------------ + with gr.Tab("Comparison"): + with gr.Accordion("Evaluation Results (click to expand)", open=True): + evaluation_df = gr.DataFrame(label="Evaluation Results") + + # ------------------------------ + # Tab 5: Visualizations + # ------------------------------ + + with gr.Tab("Visualizations"): + gr.Markdown("# Click on the box to expand") + + images_gallery = gr.Gallery( + label="Column Visualizations", + show_label=True, + columns=2, + height='auto', + interactive=True + ) + + # Hidden state for internal use + generated_state = gr.State() + + # ====================================================== + # Event bindings + # ====================================================== + generate_btn.click( + fn=generate_and_evaluate_data, + inputs=[system_prompt_input, user_prompt_input, temp_dir_state, reference_input, model_select], + outputs=[output_df, download_csv, evaluation_df, generated_state, images_gallery] + ) + + reference_input.change( + fn=display_reference_csv, + inputs=[reference_input], + outputs=[reference_display] + ) + +demo.launch(debug=True) diff --git a/week3/community-contributions/juan_synthetic_data/data/people_reference.csv b/week3/community-contributions/juan_synthetic_data/data/people_reference.csv new file mode 100644 index 0000000..d6ac116 --- /dev/null +++ b/week3/community-contributions/juan_synthetic_data/data/people_reference.csv @@ -0,0 +1,16 @@ +Name,Age,City +John,32,New York +Alice,45,Los Angeles +Bob,28,Chicago +Eve,35,Houston +Mike,52,Philadelphia +Emma,29,San Antonio +Oliver,39,Phoenix +Isabella,48,San Diego +William,55,Dallas +Charlotte,31,San Jose +Alexander,42,San Francisco +Harper,38,San Antonio +Julia,46,San Diego +Ethan,53,San Jose +Ava,29,San Francisco diff --git a/week3/community-contributions/juan_synthetic_data/data/sentiment_reference.csv b/week3/community-contributions/juan_synthetic_data/data/sentiment_reference.csv new file mode 100644 index 0000000..d85d421 --- /dev/null +++ b/week3/community-contributions/juan_synthetic_data/data/sentiment_reference.csv @@ -0,0 +1,99 @@ +,Comment,sentiment +0,"Them: I don't think I like this game. + +Me: But you haven't even played it for 5 minutes and are still in the tutorial.",negative +1,Then you leave them to farm the smaller creatures while you either wait or help them kill them all with the click of a button.,negative +2,Nothing beats the feeling you get when you see them fall in love with it just like you did all those years ago,positive +3,"[Also, they're made of paper](https://i.imgur.com/wYu0G9J.jpg) + +Edit: I tried to make a gif and failed so here's a [video](https://i.imgur.com/aPzS8Ny.mp4)",negative +4,"Haha... That was exactly it when my brother tried to get me into WoW. + +Him, "" I can run you through raids to get you to level up faster and get better gear. But first you need to be this min level. What are you"" + +Me ""lvl 1"". + +Him ""ok. Let's do a couple quests to get you up. What is your quest"" + +Me ""collect 20 apples"".",positive +5,I'm going through this right now. I just started playing minecraft for the first time and my SO is having to walk me through everything.,positive +6,Then they get even more into it than you and end up getting all the loot and items you wanted before you. They make you look like the noob in about 3 months.,positive +7,"###Take your time, you got this +|#|user|EDIT|comment|Link +|:--|:--|:--|:--|:--| +|0|/u/KiwiChoppa147|[EDIT](https://i.imgur.com/OI8jNtE.png)|Then you leave them to farm the smaller creatures while you either wait or help them kill them all with the click of a button.|[Link](/r/gaming/comments/ccr8c8/take_your_time_you_got_this/etor3t2/)| +|1|/u/League0fGaming|[EDIT](https://i.imgur.com/5uvRAYy.png)|Nothing beats the feeling you get when you see them fall in love with it just like you did all those years ago|[Link](/r/gaming/comments/ccr8c8/take_your_time_you_got_this/etor371/)| +|2|/u/DeJMan|[EDIT](https://i.imgur.com/3FL3IFb.png)|[Also, they're made of paper](https://i.imgur.com/wYu0G9J.jpg) Edit: I tried to make a gif and failed so here's a [video](https://i.imgur.com/aPzS8Ny.mp4)|[Link](/r/gaming/comments/ccr8c8/take_your_time_you_got_this/etos1ic/)| +|3|/u/Bamboo6|[EDIT](https://i.imgur.com/SiDFZxQ.png)|Haha... That was exactly it when my brother tried to get me into WoW. Him, "" I can run you through raids to get you to level up faster and get better gear. But first you need to be this min level. What are you"" Me ""lvl 1"". Him ""ok. Let's do a couple quests to get you up. What is your quest"" Me ""collect 20 apples"".|[Link](/r/gaming/comments/ccr8c8/take_your_time_you_got_this/etorb6s/)| +|4|/u/xxfisharemykidsxx|[EDIT](https://i.imgur.com/3ek9F93.png)|I'm going through this right now. I just started playing minecraft for the first time and my SO is having to walk me through everything.|[Link](/r/gaming/comments/ccr8c8/take_your_time_you_got_this/etor7hk/)| +|5|/u/DuckSeeDuckWorld|[EDIT](https://i.imgur.com/rlE6VFP.png)|[This is my last EDIT before I go to camp for a week](https://imgur.com/xoOWF6K)|[Link](/r/gaming/comments/ccr8c8/take_your_time_you_got_this/etorpvh/)| +|6|/u/ChecksUsernames|[EDIT](https://i.imgur.com/6Wc56ec.png)|What the hell you have your own edit bot?!|[Link](/r/gaming/comments/ccr8c8/take_your_time_you_got_this/etotc4w/)| + + +I am a little fan-made bot who loves /u/SrGrafo but is a little lazy with hunting for EDITs. If you want to support our great creator, check out his [Patreon](https://Patreon.com/SrGrafo)",positive +8,"Them: ""Wait, where did you go?"" + +Me --cleaning up the vast quantities of mobs they've managed to stumble past: "" Oh just, you know, letting you get a feel for navigation.""",neutral +9,"Don't mind the arrows, everything's fine",positive +10,[me_irl](https://i.imgur.com/eRPb2X3.png),neutral +11,"I usually teach them the basic controls, and then throw them to the wolves like Spartans. Its sink or swim now!",positive +12,This is Warframe in a nutshell,neutral +13,[I love guiding people trough the game for the First time](https://imgur.com/uep20iB),positive +14,[showing a video game to my nephew for the first time didn't go that well :D](https://i.imgur.com/dQf4mfI.png),negative +15,[When it's a puzzle game](https://i.imgur.com/BgLqzRa.png),neutral +16,"I love SrGrafoโ€™s cheeky smiles in his drawings. + +Also, I wonder if itโ€™s Senior Grafo, Seรฑor Grafo, or Sir Grafo.",positive +17,"https://i.redd.it/pqjza65wrd711.jpg + +Same look.",neutral +18,[This is my last EDIT before I go to camp for a week](https://imgur.com/xoOWF6K),neutral +19,Haha this is me in Warframe but I've only been playing for a year. It's so easy to find beginners and they always need help with something.,positive +20,This happens all the time on r/warframe ! Helping new people is like a whole part of the game's fun.,positive +21,[deleted],neutral +22,"Once day when I have kids, I hope I can do the same with them",positive +23,WAIT NO. WHY'D YOU PRESS X INSTEAD? Now you just used the only consumable for the next like 3 stages. Here lemme just restart from your last save...,neutral +24,Big gamer energy.,positive +25,"What about ten minutes in and they say โ€œIโ€™m not sure I get whatโ€™s going on. Eh Iโ€™m bored.โ€ + +Shitty phone [EDIT](https://imgur.com/a/zr4Ahnp)",negative +26,Press *alt+f4* for the special move,positive +27,"I remember teaching my little brother everything about Minecraft. Ah, good times. Now he's a little prick xD",positive +28,2nd top post of 2019!! ๏ผผ๏ผˆ^๏ผ๏ผพ๏ผ‰๏ผ,positive +29,"With Grafoโ€™s most recent comics, this achievement means so much more now. Check them out on his profile, u/SrGrafo, theyโ€™re titled โ€œSrGrafoโ€™s inception โ€œ",neutral +30,"this is my bf showing me wow. + +Him: โ€œYou canโ€™t just stand there and take damage.โ€ +Me: โ€œbut I canโ€™t move fast and my spells get cancelled.โ€ + +*proceeds to die 5 times in a row.* + + and then he finishes it for me after watching me fail. + +Me: yay. ๐Ÿ˜€๐Ÿ˜€",neutral +31,"Quick cross over + +https://imgur.com/a/9y4JVAr",neutral +32,"Man, I really enjoy encoutering nice Veterans in online games",positive +33,Wow. This is my first time here before the edits.,positive +34,So this is the most liked Reddit post hmm,positive +35,Diamond armor? Really?,positive +36,"I remember when I was playing Destiny and I was pretty low level, having fun going through the missions, then my super high level friend joined. It was really unfun because he was slaughtering everything for me while I sat at the back doing jackshit",positive +37,"""I'll just use this character until you get the hang of things and then swap to an alt so we can level together""",neutral +38,"My girlfriend often just doesn't get why I love the games I play, but that's fine. I made sure to sit and watch her while she fell in love with breath of the wild.",negative +39,"Warframe was full of people like this last i was on and its amazing. I was one of them too, but mostly for advice more than items because i was broke constantly.",neutral +40,This is the most upvoted post I've seen on Reddit. And it was unexpectedly touching :),positive +41,220k. holy moly,neutral +42,Last,neutral +43,"170k+ upvotes in 11 hours. +Is this a record?",neutral +44,This is the top post of all time๐Ÿ˜ฑ,positive +45,"Congratulations, 2nd post of the Year",positive +46,Most liked post on reddit,positive +47,Absolute Unit,neutral +48,"I did similar things in Monster Hunter World. +The only problem is they would never play ever again and play other games like Fortnite...feels bad man. +If you ever get interested on playing the game u/SrGrafo then Iโ€™ll teach you the ways of the hunter!!! (For real tho itโ€™s a really good game and better with buddyโ€™s!)",positive +49,Congrats on the second most upvoted post of 2019 my guy.,positive +50,"This was it with my brother when I first started playing POE. He made it soooo much easier to get into the game. To understand the gameplay and mechanics. I think Iโ€™d have left in a day or two had it not been for him +And walking me through the first few missions lmao. u/sulphra_",positive diff --git a/week3/community-contributions/juan_synthetic_data/data/wine_reference.csv b/week3/community-contributions/juan_synthetic_data/data/wine_reference.csv new file mode 100644 index 0000000..b1893c0 --- /dev/null +++ b/week3/community-contributions/juan_synthetic_data/data/wine_reference.csv @@ -0,0 +1,159 @@ +fixed acidity,volatile acidity,citric acid,residual sugar,chlorides,free sulfur dioxide,total sulfur dioxide,density,pH,sulphates,alcohol,quality,Id +7.4,0.7,0.0,1.9,0.076,11.0,34.0,0.9978,3.51,0.56,9.4,5,0 +7.8,0.88,0.0,2.6,0.098,25.0,67.0,0.9968,3.2,0.68,9.8,5,1 +7.8,0.76,0.04,2.3,0.092,15.0,54.0,0.997,3.26,0.65,9.8,5,2 +11.2,0.28,0.56,1.9,0.075,17.0,60.0,0.998,3.16,0.58,9.8,6,3 +7.4,0.7,0.0,1.9,0.076,11.0,34.0,0.9978,3.51,0.56,9.4,5,4 +7.4,0.66,0.0,1.8,0.075,13.0,40.0,0.9978,3.51,0.56,9.4,5,5 +7.9,0.6,0.06,1.6,0.069,15.0,59.0,0.9964,3.3,0.46,9.4,5,6 +7.3,0.65,0.0,1.2,0.065,15.0,21.0,0.9946,3.39,0.47,10.0,7,7 +7.8,0.58,0.02,2.0,0.073,9.0,18.0,0.9968,3.36,0.57,9.5,7,8 +6.7,0.58,0.08,1.8,0.09699999999999999,15.0,65.0,0.9959,3.28,0.54,9.2,5,10 +5.6,0.615,0.0,1.6,0.08900000000000001,16.0,59.0,0.9943,3.58,0.52,9.9,5,12 +7.8,0.61,0.29,1.6,0.114,9.0,29.0,0.9974,3.26,1.56,9.1,5,13 +8.5,0.28,0.56,1.8,0.092,35.0,103.0,0.9969,3.3,0.75,10.5,7,16 +7.9,0.32,0.51,1.8,0.341,17.0,56.0,0.9969,3.04,1.08,9.2,6,19 +7.6,0.39,0.31,2.3,0.08199999999999999,23.0,71.0,0.9982,3.52,0.65,9.7,5,21 +7.9,0.43,0.21,1.6,0.106,10.0,37.0,0.9966,3.17,0.91,9.5,5,22 +8.5,0.49,0.11,2.3,0.084,9.0,67.0,0.9968,3.17,0.53,9.4,5,23 +6.9,0.4,0.14,2.4,0.085,21.0,40.0,0.9968,3.43,0.63,9.7,6,24 +6.3,0.39,0.16,1.4,0.08,11.0,23.0,0.9955,3.34,0.56,9.3,5,25 +7.6,0.41,0.24,1.8,0.08,4.0,11.0,0.9962,3.28,0.59,9.5,5,26 +7.1,0.71,0.0,1.9,0.08,14.0,35.0,0.9972,3.47,0.55,9.4,5,28 +7.8,0.645,0.0,2.0,0.08199999999999999,8.0,16.0,0.9964,3.38,0.59,9.8,6,29 +6.7,0.675,0.07,2.4,0.08900000000000001,17.0,82.0,0.9958,3.35,0.54,10.1,5,30 +8.3,0.655,0.12,2.3,0.083,15.0,113.0,0.9966,3.17,0.66,9.8,5,32 +5.2,0.32,0.25,1.8,0.10300000000000001,13.0,50.0,0.9957,3.38,0.55,9.2,5,34 +7.8,0.645,0.0,5.5,0.086,5.0,18.0,0.9986,3.4,0.55,9.6,6,35 +7.8,0.6,0.14,2.4,0.086,3.0,15.0,0.9975,3.42,0.6,10.8,6,36 +8.1,0.38,0.28,2.1,0.066,13.0,30.0,0.9968,3.23,0.73,9.7,7,37 +7.3,0.45,0.36,5.9,0.07400000000000001,12.0,87.0,0.9978,3.33,0.83,10.5,5,40 +8.8,0.61,0.3,2.8,0.08800000000000001,17.0,46.0,0.9976,3.26,0.51,9.3,4,41 +7.5,0.49,0.2,2.6,0.332,8.0,14.0,0.9968,3.21,0.9,10.5,6,42 +8.1,0.66,0.22,2.2,0.069,9.0,23.0,0.9968,3.3,1.2,10.3,5,43 +4.6,0.52,0.15,2.1,0.054000000000000006,8.0,65.0,0.9934,3.9,0.56,13.1,4,45 +7.7,0.935,0.43,2.2,0.114,22.0,114.0,0.997,3.25,0.73,9.2,5,46 +8.8,0.66,0.26,1.7,0.07400000000000001,4.0,23.0,0.9971,3.15,0.74,9.2,5,50 +6.6,0.52,0.04,2.2,0.069,8.0,15.0,0.9956,3.4,0.63,9.4,6,51 +6.6,0.5,0.04,2.1,0.068,6.0,14.0,0.9955,3.39,0.64,9.4,6,52 +8.6,0.38,0.36,3.0,0.081,30.0,119.0,0.997,3.2,0.56,9.4,5,53 +7.6,0.51,0.15,2.8,0.11,33.0,73.0,0.9955,3.17,0.63,10.2,6,54 +10.2,0.42,0.57,3.4,0.07,4.0,10.0,0.9971,3.04,0.63,9.6,5,56 +7.8,0.59,0.18,2.3,0.076,17.0,54.0,0.9975,3.43,0.59,10.0,5,58 +7.3,0.39,0.31,2.4,0.07400000000000001,9.0,46.0,0.9962,3.41,0.54,9.4,6,59 +8.8,0.4,0.4,2.2,0.079,19.0,52.0,0.998,3.44,0.64,9.2,5,60 +7.7,0.69,0.49,1.8,0.115,20.0,112.0,0.9968,3.21,0.71,9.3,5,61 +7.0,0.735,0.05,2.0,0.081,13.0,54.0,0.9966,3.39,0.57,9.8,5,63 +7.2,0.725,0.05,4.65,0.086,4.0,11.0,0.9962,3.41,0.39,10.9,5,64 +7.2,0.725,0.05,4.65,0.086,4.0,11.0,0.9962,3.41,0.39,10.9,5,65 +6.6,0.705,0.07,1.6,0.076,6.0,15.0,0.9962,3.44,0.58,10.7,5,67 +8.0,0.705,0.05,1.9,0.07400000000000001,8.0,19.0,0.9962,3.34,0.95,10.5,6,69 +7.7,0.69,0.22,1.9,0.084,18.0,94.0,0.9961,3.31,0.48,9.5,5,72 +8.3,0.675,0.26,2.1,0.084,11.0,43.0,0.9976,3.31,0.53,9.2,4,73 +8.8,0.41,0.64,2.2,0.09300000000000001,9.0,42.0,0.9986,3.54,0.66,10.5,5,76 +6.8,0.785,0.0,2.4,0.10400000000000001,14.0,30.0,0.9966,3.52,0.55,10.7,6,77 +6.7,0.75,0.12,2.0,0.086,12.0,80.0,0.9958,3.38,0.52,10.1,5,78 +8.3,0.625,0.2,1.5,0.08,27.0,119.0,0.9972,3.16,1.12,9.1,4,79 +6.2,0.45,0.2,1.6,0.069,3.0,15.0,0.9958,3.41,0.56,9.2,5,80 +7.4,0.5,0.47,2.0,0.086,21.0,73.0,0.997,3.36,0.57,9.1,5,82 +6.3,0.3,0.48,1.8,0.069,18.0,61.0,0.9959,3.44,0.78,10.3,6,84 +6.9,0.55,0.15,2.2,0.076,19.0,40.0,0.9961,3.41,0.59,10.1,5,85 +8.6,0.49,0.28,1.9,0.11,20.0,136.0,0.9972,2.93,1.95,9.9,6,86 +7.7,0.49,0.26,1.9,0.062,9.0,31.0,0.9966,3.39,0.64,9.6,5,87 +9.3,0.39,0.44,2.1,0.107,34.0,125.0,0.9978,3.14,1.22,9.5,5,88 +7.0,0.62,0.08,1.8,0.076,8.0,24.0,0.9978,3.48,0.53,9.0,5,89 +7.9,0.52,0.26,1.9,0.079,42.0,140.0,0.9964,3.23,0.54,9.5,5,90 +8.6,0.49,0.28,1.9,0.11,20.0,136.0,0.9972,2.93,1.95,9.9,6,91 +7.7,0.49,0.26,1.9,0.062,9.0,31.0,0.9966,3.39,0.64,9.6,5,93 +5.0,1.02,0.04,1.4,0.045,41.0,85.0,0.9938,3.75,0.48,10.5,4,94 +6.8,0.775,0.0,3.0,0.102,8.0,23.0,0.9965,3.45,0.56,10.7,5,96 +7.6,0.9,0.06,2.5,0.079,5.0,10.0,0.9967,3.39,0.56,9.8,5,98 +8.1,0.545,0.18,1.9,0.08,13.0,35.0,0.9972,3.3,0.59,9.0,6,99 +8.3,0.61,0.3,2.1,0.084,11.0,50.0,0.9972,3.4,0.61,10.2,6,100 +8.1,0.545,0.18,1.9,0.08,13.0,35.0,0.9972,3.3,0.59,9.0,6,102 +8.1,0.575,0.22,2.1,0.077,12.0,65.0,0.9967,3.29,0.51,9.2,5,103 +7.2,0.49,0.24,2.2,0.07,5.0,36.0,0.996,3.33,0.48,9.4,5,104 +8.1,0.575,0.22,2.1,0.077,12.0,65.0,0.9967,3.29,0.51,9.2,5,105 +7.8,0.41,0.68,1.7,0.467,18.0,69.0,0.9973,3.08,1.31,9.3,5,106 +6.2,0.63,0.31,1.7,0.08800000000000001,15.0,64.0,0.9969,3.46,0.79,9.3,5,107 +7.8,0.56,0.19,1.8,0.10400000000000001,12.0,47.0,0.9964,3.19,0.93,9.5,5,110 +8.4,0.62,0.09,2.2,0.084,11.0,108.0,0.9964,3.15,0.66,9.8,5,111 +10.1,0.31,0.44,2.3,0.08,22.0,46.0,0.9988,3.32,0.67,9.7,6,113 +7.8,0.56,0.19,1.8,0.10400000000000001,12.0,47.0,0.9964,3.19,0.93,9.5,5,114 +9.4,0.4,0.31,2.2,0.09,13.0,62.0,0.9966,3.07,0.63,10.5,6,115 +8.3,0.54,0.28,1.9,0.077,11.0,40.0,0.9978,3.39,0.61,10.0,6,116 +7.3,1.07,0.09,1.7,0.17800000000000002,10.0,89.0,0.9962,3.3,0.57,9.0,5,120 +8.8,0.55,0.04,2.2,0.11900000000000001,14.0,56.0,0.9962,3.21,0.6,10.9,6,121 +7.3,0.695,0.0,2.5,0.075,3.0,13.0,0.998,3.49,0.52,9.2,5,122 +7.8,0.5,0.17,1.6,0.08199999999999999,21.0,102.0,0.996,3.39,0.48,9.5,5,124 +8.2,1.33,0.0,1.7,0.081,3.0,12.0,0.9964,3.53,0.49,10.9,5,126 +8.1,1.33,0.0,1.8,0.08199999999999999,3.0,12.0,0.9964,3.54,0.48,10.9,5,127 +8.0,0.59,0.16,1.8,0.065,3.0,16.0,0.9962,3.42,0.92,10.5,7,128 +8.0,0.745,0.56,2.0,0.11800000000000001,30.0,134.0,0.9968,3.24,0.66,9.4,5,130 +5.6,0.5,0.09,2.3,0.049,17.0,99.0,0.9937,3.63,0.63,13.0,5,131 +7.9,1.04,0.05,2.2,0.084,13.0,29.0,0.9959,3.22,0.55,9.9,6,134 +8.4,0.745,0.11,1.9,0.09,16.0,63.0,0.9965,3.19,0.82,9.6,5,135 +7.2,0.415,0.36,2.0,0.081,13.0,45.0,0.9972,3.48,0.64,9.2,5,137 +8.4,0.745,0.11,1.9,0.09,16.0,63.0,0.9965,3.19,0.82,9.6,5,140 +5.2,0.34,0.0,1.8,0.05,27.0,63.0,0.9916,3.68,0.79,14.0,6,142 +6.3,0.39,0.08,1.7,0.066,3.0,20.0,0.9954,3.34,0.58,9.4,5,143 +5.2,0.34,0.0,1.8,0.05,27.0,63.0,0.9916,3.68,0.79,14.0,6,144 +8.1,0.67,0.55,1.8,0.11699999999999999,32.0,141.0,0.9968,3.17,0.62,9.4,5,145 +5.8,0.68,0.02,1.8,0.087,21.0,94.0,0.9944,3.54,0.52,10.0,5,146 +6.9,0.49,0.1,2.3,0.07400000000000001,12.0,30.0,0.9959,3.42,0.58,10.2,6,148 +7.3,0.33,0.47,2.1,0.077,5.0,11.0,0.9958,3.33,0.53,10.3,6,150 +9.2,0.52,1.0,3.4,0.61,32.0,69.0,0.9996,2.74,2.0,9.4,4,151 +7.5,0.6,0.03,1.8,0.095,25.0,99.0,0.995,3.35,0.54,10.1,5,152 +7.5,0.6,0.03,1.8,0.095,25.0,99.0,0.995,3.35,0.54,10.1,5,153 +7.1,0.43,0.42,5.5,0.071,28.0,128.0,0.9973,3.42,0.71,10.5,5,155 +7.1,0.43,0.42,5.5,0.07,29.0,129.0,0.9973,3.42,0.72,10.5,5,156 +7.1,0.43,0.42,5.5,0.071,28.0,128.0,0.9973,3.42,0.71,10.5,5,157 +7.1,0.68,0.0,2.2,0.073,12.0,22.0,0.9969,3.48,0.5,9.3,5,158 +6.8,0.6,0.18,1.9,0.079,18.0,86.0,0.9968,3.59,0.57,9.3,6,159 +7.6,0.95,0.03,2.0,0.09,7.0,20.0,0.9959,3.2,0.56,9.6,5,160 +7.6,0.68,0.02,1.3,0.07200000000000001,9.0,20.0,0.9965,3.17,1.08,9.2,4,161 +7.8,0.53,0.04,1.7,0.076,17.0,31.0,0.9964,3.33,0.56,10.0,6,162 +7.4,0.6,0.26,7.3,0.07,36.0,121.0,0.9982,3.37,0.49,9.4,5,163 +7.3,0.59,0.26,7.2,0.07,35.0,121.0,0.9981,3.37,0.49,9.4,5,164 +7.8,0.63,0.48,1.7,0.1,14.0,96.0,0.9961,3.19,0.62,9.5,5,165 +6.8,0.64,0.1,2.1,0.085,18.0,101.0,0.9956,3.34,0.52,10.2,5,166 +7.3,0.55,0.03,1.6,0.07200000000000001,17.0,42.0,0.9956,3.37,0.48,9.0,4,167 +6.8,0.63,0.07,2.1,0.08900000000000001,11.0,44.0,0.9953,3.47,0.55,10.4,6,168 +7.9,0.885,0.03,1.8,0.057999999999999996,4.0,8.0,0.9972,3.36,0.33,9.1,4,170 +8.0,0.42,0.17,2.0,0.073,6.0,18.0,0.9972,3.29,0.61,9.2,6,172 +7.4,0.62,0.05,1.9,0.068,24.0,42.0,0.9961,3.42,0.57,11.5,6,173 +6.9,0.5,0.04,1.5,0.085,19.0,49.0,0.9958,3.35,0.78,9.5,5,175 +7.3,0.38,0.21,2.0,0.08,7.0,35.0,0.9961,3.33,0.47,9.5,5,176 +7.5,0.52,0.42,2.3,0.087,8.0,38.0,0.9972,3.58,0.61,10.5,6,177 +7.0,0.805,0.0,2.5,0.068,7.0,20.0,0.9969,3.48,0.56,9.6,5,178 +8.8,0.61,0.14,2.4,0.067,10.0,42.0,0.9969,3.19,0.59,9.5,5,179 +8.8,0.61,0.14,2.4,0.067,10.0,42.0,0.9969,3.19,0.59,9.5,5,180 +8.9,0.61,0.49,2.0,0.27,23.0,110.0,0.9972,3.12,1.02,9.3,5,181 +7.2,0.73,0.02,2.5,0.076,16.0,42.0,0.9972,3.44,0.52,9.3,5,182 +6.8,0.61,0.2,1.8,0.077,11.0,65.0,0.9971,3.54,0.58,9.3,5,183 +6.7,0.62,0.21,1.9,0.079,8.0,62.0,0.997,3.52,0.58,9.3,6,184 +8.9,0.31,0.57,2.0,0.111,26.0,85.0,0.9971,3.26,0.53,9.7,5,185 +7.4,0.39,0.48,2.0,0.08199999999999999,14.0,67.0,0.9972,3.34,0.55,9.2,5,186 +7.9,0.5,0.33,2.0,0.084,15.0,143.0,0.9968,3.2,0.55,9.5,5,188 +8.2,0.5,0.35,2.9,0.077,21.0,127.0,0.9976,3.23,0.62,9.4,5,190 +6.4,0.37,0.25,1.9,0.07400000000000001,21.0,49.0,0.9974,3.57,0.62,9.8,6,191 +7.6,0.55,0.21,2.2,0.071,7.0,28.0,0.9964,3.28,0.55,9.7,5,193 +7.6,0.55,0.21,2.2,0.071,7.0,28.0,0.9964,3.28,0.55,9.7,5,194 +7.3,0.58,0.3,2.4,0.07400000000000001,15.0,55.0,0.9968,3.46,0.59,10.2,5,196 +11.5,0.3,0.6,2.0,0.067,12.0,27.0,0.9981,3.11,0.97,10.1,6,197 +6.9,1.09,0.06,2.1,0.061,12.0,31.0,0.9948,3.51,0.43,11.4,4,199 +9.6,0.32,0.47,1.4,0.055999999999999994,9.0,24.0,0.99695,3.22,0.82,10.3,7,200 +7.0,0.43,0.36,1.6,0.08900000000000001,14.0,37.0,0.99615,3.34,0.56,9.2,6,204 +12.8,0.3,0.74,2.6,0.095,9.0,28.0,0.9994,3.2,0.77,10.8,7,205 +12.8,0.3,0.74,2.6,0.095,9.0,28.0,0.9994,3.2,0.77,10.8,7,206 +7.8,0.44,0.28,2.7,0.1,18.0,95.0,0.9966,3.22,0.67,9.4,5,208 +9.7,0.53,0.6,2.0,0.039,5.0,19.0,0.99585,3.3,0.86,12.4,6,210 +8.0,0.725,0.24,2.8,0.083,10.0,62.0,0.99685,3.35,0.56,10.0,6,211 +8.2,0.57,0.26,2.2,0.06,28.0,65.0,0.9959,3.3,0.43,10.1,5,213 +7.8,0.735,0.08,2.4,0.092,10.0,41.0,0.9974,3.24,0.71,9.8,6,214 +7.0,0.49,0.49,5.6,0.06,26.0,121.0,0.9974,3.34,0.76,10.5,5,215 +8.7,0.625,0.16,2.0,0.10099999999999999,13.0,49.0,0.9962,3.14,0.57,11.0,5,216 +8.1,0.725,0.22,2.2,0.07200000000000001,11.0,41.0,0.9967,3.36,0.55,9.1,5,217 +7.5,0.49,0.19,1.9,0.076,10.0,44.0,0.9957,3.39,0.54,9.7,5,218 +7.8,0.34,0.37,2.0,0.08199999999999999,24.0,58.0,0.9964,3.34,0.59,9.4,6,220 +7.4,0.53,0.26,2.0,0.10099999999999999,16.0,72.0,0.9957,3.15,0.57,9.4,5,221 diff --git a/week3/community-contributions/juan_synthetic_data/notebooks/notebook.ipynb b/week3/community-contributions/juan_synthetic_data/notebooks/notebook.ipynb new file mode 100644 index 0000000..63342c9 --- /dev/null +++ b/week3/community-contributions/juan_synthetic_data/notebooks/notebook.ipynb @@ -0,0 +1,292 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "63356928", + "metadata": {}, + "source": [ + "# Initial Note\n", + "After running experiments in Colab using open-source models from Hugging Face, I decided to do the exercise with OpenAI. The reason is that Llama 3.2 frequently did not follow the prompts correctly, leading to inconsistencies and poor performance. Additionally, using larger models significantly increased processing time, making them less practical for this task.\n", + "\n", + "The code from this notebook will be reorganized in modules for the final Demo." + ] + }, + { + "cell_type": "markdown", + "id": "5c12f081", + "metadata": {}, + "source": [ + "# Module to generate syntethic data" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2389d798", + "metadata": {}, + "outputs": [], + "source": [ + "\n", + "import re \n", + "\n", + "def _clean_json_output(raw_text: str) -> str:\n", + " \"\"\"\n", + " Limpia la salida de OpenAI para convertirla en JSON vรกlido:\n", + " - Mantiene las comillas de claves sin tocar.\n", + " - Escapa solo las comillas dobles dentro de los strings de valores.\n", + " - Escapa \\n, \\r, \\t.\n", + " - Remueve code fences y HTML.\n", + " - Asegura que el array comience con [ y termine con ].\n", + " - Elimina comas finales.\n", + " \"\"\"\n", + " text = raw_text.strip()\n", + " \n", + " # Remover code fences y HTML\n", + " text = re.sub(r\"```(?:json)?\", \"\", text)\n", + " text = re.sub(r\"]+>\", \"\", text)\n", + " \n", + " # Escapar comillas dobles dentro de valores de Comment\n", + " def escape_quotes_in_values(match):\n", + " value = match.group(1)\n", + " value = value.replace('\"', r'\\\"') # solo dentro del valor\n", + " value = value.replace('\\n', r'\\n').replace('\\r', r'\\r').replace('\\t', r'\\t')\n", + " return f'\"{value}\"'\n", + " \n", + " text = re.sub(r'\"(.*?)\"', escape_quotes_in_values, text)\n", + " \n", + " # Asegurar que empieza y termina con []\n", + " if not text.startswith('['):\n", + " text = '[' + text\n", + " if not text.endswith(']'):\n", + " text += ']'\n", + " \n", + " # Eliminar comas finales antes de cerrar corchetes\n", + " text = re.sub(r',\\s*]', ']', text)\n", + " \n", + " return text\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "75bfad6f", + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import json\n", + "import openai\n", + "import tempfile\n", + "\n", + "\n", + "def generate_synthetic_data_openai(\n", + " system_prompt: str,\n", + " user_prompt: str,\n", + " reference_file=None,\n", + " openai_model=\"gpt-4o-mini\",\n", + " max_tokens=2048,\n", + " temperature=0.0\n", + "):\n", + " \"\"\"\n", + " Genera datos sintรฉticos y devuelve el DataFrame y la ruta de un CSV temporal.\n", + " \"\"\"\n", + " # Preparar prompt completo\n", + " if reference_file:\n", + " if isinstance(reference_file, str):\n", + " df_ref = pd.read_csv(reference_file)\n", + " else:\n", + " df_ref = pd.read_csv(reference_file)\n", + " reference_data = df_ref.to_dict(orient=\"records\")\n", + " user_prompt_full = (\n", + " f\"{user_prompt}\\nFollow the structure and distribution of the reference data, \"\n", + " f\"but do NOT copy any exact values:\\n{reference_data}\"\n", + " )\n", + " else:\n", + " user_prompt_full = user_prompt\n", + "\n", + " # Llamar a OpenAI\n", + " response = openai.chat.completions.create(\n", + " model=openai_model,\n", + " messages=[\n", + " {\"role\": \"system\", \"content\": system_prompt},\n", + " {\"role\": \"user\", \"content\": user_prompt_full},\n", + " ],\n", + " temperature=temperature,\n", + " max_tokens=max_tokens,\n", + " )\n", + "\n", + " raw_text = response.choices[0].message.content\n", + " cleaned_json = _clean_json_output(raw_text)\n", + "\n", + " # Parsear JSON\n", + " try:\n", + " data = json.loads(cleaned_json)\n", + " except json.JSONDecodeError as e:\n", + " raise ValueError(f\"JSON invรกlido generado. Error: {e}\\nOutput truncado: {cleaned_json[:500]}\")\n", + "\n", + " df = pd.DataFrame(data)\n", + "\n", + " # Guardar CSV temporal\n", + " tmp_file = tempfile.NamedTemporaryFile(delete=False, suffix=\".csv\")\n", + " df.to_csv(tmp_file.name, index=False)\n", + " tmp_file.close()\n", + "\n", + " return df, tmp_file.name\n" + ] + }, + { + "cell_type": "markdown", + "id": "91af1eb5", + "metadata": {}, + "source": [ + "# Default prompts" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "792d1555", + "metadata": {}, + "outputs": [], + "source": [ + "SYSTEM_PROMPT = \"\"\"\n", + "You are a precise synthetic data generator. Your only task is to output valid JSON arrays of dictionaries.\n", + "\n", + "Rules:\n", + "1. Output a single JSON array starting with '[' and ending with ']'.\n", + "2. Do not include markdown, code fences, or explanatory text โ€” only the JSON.\n", + "3. Keep all columns exactly as specified; do not add or remove fields (index must be omitted).\n", + "4. Respect data types: text, number, date, boolean, etc.\n", + "5. Ensure internal consistency and realistic variation.\n", + "6. If a reference table is provided, generate data with similar statistical distributions for numerical and categorical variables, \n", + " but never copy exact rows. Each row must be independent and new.\n", + "7. For personal information (names, ages, addresses, IDs), ensure diversity and realism โ€” individual values may be reused to maintain realism, \n", + " but never reuse or slightly modify entire reference rows.\n", + "8. Escape all internal double quotes in strings with a backslash (\\\").\n", + "9. Replace any single quotes in strings with double quotes.\n", + "10. Escape newline (\\n), tab (\\t), or carriage return (\\r) characters as \\\\n, \\\\t, \\\\r inside strings.\n", + "11. Remove any trailing commas before closing brackets.\n", + "12. Do not include any reference data or notes about it in the output.\n", + "13. The output must always be valid JSON parseable by standard JSON parsers.\n", + "\"\"\"\n", + "\n", + "USER_PROMPT = \"\"\"\n", + "Generate exactly 15 rows of synthetic data following all the rules above. \n", + "Ensure that all strings are safe for JSON parsing and ready to convert to a pandas DataFrame.\n", + "\"\"\"\n" + ] + }, + { + "cell_type": "markdown", + "id": "6f9331fa", + "metadata": {}, + "source": [ + "# Test" + ] + }, + { + "cell_type": "markdown", + "id": "d38f0afb", + "metadata": {}, + "source": [ + "For testing our generator, we use the first 50 examples of reddit gaming comments with sentiments dataset.\n", + "Source: https://www.kaggle.com/datasets/sainitishmitta04/23k-reddit-gaming-comments-with-sentiments-dataset" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "78d94faa", + "metadata": {}, + "outputs": [], + "source": [ + "\n", + "df, _ = generate_synthetic_data_openai(SYSTEM_PROMPT, USER_PROMPT, reference_file= \"data/sentiment_reference.csv\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0e6b5ebb", + "metadata": {}, + "outputs": [], + "source": [ + "df" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "015a3110", + "metadata": {}, + "outputs": [], + "source": [ + "print(df.Comment[0])" + ] + }, + { + "cell_type": "markdown", + "id": "0ef44876", + "metadata": {}, + "source": [ + "# Gradio Demo" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "aa4092f4", + "metadata": {}, + "outputs": [], + "source": [ + "import gradio as gr\n", + "\n", + "with gr.Blocks() as demo:\n", + " gr.Markdown(\"# ๐Ÿง  Synthetic Data Generator\")\n", + "\n", + " with gr.Row():\n", + " system_prompt_input = gr.Textbox(label=\"System Prompt\", value=SYSTEM_PROMPT, lines=10)\n", + "\n", + " with gr.Row():\n", + " user_prompt_input = gr.Textbox(label=\"User Prompt\", value=USER_PROMPT, lines=5)\n", + "\n", + " with gr.Row():\n", + " reference_input = gr.File(label=\"Reference CSV (optional)\", file_types=[\".csv\"])\n", + "\n", + " output_df = gr.DataFrame(label=\"Generated Data\")\n", + " download_csv = gr.File(label=\"Download CSV\")\n", + "\n", + " generate_btn = gr.Button(\"๐Ÿš€ Generate Data\")\n", + "\n", + " generate_btn.click(\n", + " fn=generate_synthetic_data_openai,\n", + " inputs=[system_prompt_input, user_prompt_input, reference_input],\n", + " outputs=[output_df, download_csv]\n", + " )\n", + "\n", + "demo.launch(debug=True)\n" + ] + } + ], + "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.12" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/week3/community-contributions/juan_synthetic_data/pyproject.toml b/week3/community-contributions/juan_synthetic_data/pyproject.toml new file mode 100644 index 0000000..44287d1 --- /dev/null +++ b/week3/community-contributions/juan_synthetic_data/pyproject.toml @@ -0,0 +1,16 @@ +[project] +name = "synthetic-data" +version = "0.1.0" +description = "An intelligent synthetic data generator using OpenAI models" +authors = [ + { name = "Sebastian Rodriguez" } +] +dependencies = [ + "gradio>=5.49.1", + "openai>=2.6.0", + "pandas>=2.3.3", + "python-dotenv>=1.0.0", + "numpy>=1.24.0", + "matplotlib>=3.7.0", + "seaborn>=0.13.0" +] diff --git a/week3/community-contributions/juan_synthetic_data/requirements.txt b/week3/community-contributions/juan_synthetic_data/requirements.txt new file mode 100644 index 0000000..52f788e --- /dev/null +++ b/week3/community-contributions/juan_synthetic_data/requirements.txt @@ -0,0 +1,10 @@ +# Core dependencies +gradio>=5.49.1 +openai>=2.6.0 +pandas>=2.3.3 +python-dotenv>=1.0.0 + +# Evaluation dependencies +numpy>=1.24.0 +matplotlib>=3.7.0 +seaborn>=0.13.0 \ No newline at end of file diff --git a/week3/community-contributions/juan_synthetic_data/src/IO_utils.py b/week3/community-contributions/juan_synthetic_data/src/IO_utils.py new file mode 100644 index 0000000..5bc2b9d --- /dev/null +++ b/week3/community-contributions/juan_synthetic_data/src/IO_utils.py @@ -0,0 +1,13 @@ +import os +import glob + +def cleanup_temp_files(temp_dir: str): + """ + Remove all temporary files from the given directory. + """ + files = glob.glob(os.path.join(temp_dir, "*")) + for f in files: + try: + os.remove(f) + except Exception as e: + print(f"[Warning] Could not delete {f}: {e}") diff --git a/week3/community-contributions/juan_synthetic_data/src/__init__.py b/week3/community-contributions/juan_synthetic_data/src/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/week3/community-contributions/juan_synthetic_data/src/constants.py b/week3/community-contributions/juan_synthetic_data/src/constants.py new file mode 100644 index 0000000..34aac79 --- /dev/null +++ b/week3/community-contributions/juan_synthetic_data/src/constants.py @@ -0,0 +1,45 @@ +# -------------------Setup Constants ------------------- +N_REFERENCE_ROWS = 64 # Max reference rows per batch for sampling +MAX_TOKENS_MODEL = 128_000 # Max tokens supported by the model, used for batching computations +PROJECT_TEMP_DIR = "temp_plots" + + + +#----------------- Prompts------------------------------- +SYSTEM_PROMPT = """ +You are a precise synthetic data generator. Your only task is to output valid JSON arrays of dictionaries. + +Rules: +1. Output a single JSON array starting with '[' and ending with ']'. +2. Do not include markdown, code fences, or explanatory text โ€” only the JSON. +3. Keep all columns exactly as specified; do not add or remove fields (index must be omitted). +4. Respect data types: text, number, date, boolean, etc. +5. Ensure internal consistency and realistic variation. +6. If a reference table is provided, generate data with similar statistical distributions for numerical and categorical variables, + but never copy exact rows. Each row must be independent and new. +7. For personal information (names, ages, addresses, IDs), ensure diversity and realism โ€” individual values may be reused to maintain realism, + but never reuse or slightly modify entire reference rows. +8. Escape internal double quotes in strings with a backslash (") for JSON validity. +9. Do NOT replace single quotes in normal text; they should remain as-is. +10. Escape newline ( +), tab ( ), or carriage return ( +) characters as +, , + inside strings. +11. Remove any trailing commas before closing brackets. +12. Do not include any reference data or notes about it in the output. +13. The output must always be valid JSON parseable by standard JSON parsers. +14. Don't repeat any exact column neither from the reference or from previous generated data. +15. When using reference data, consider the entire dataset for statistical patterns and diversity; +do not restrict generation to the first rows or the order of the dataset. +16. Introduce slight random variations in numerical values, and choose categorical values randomly according to the distribution, +without repeating rows. + +""" + +USER_PROMPT = """ +Generate exactly 15 rows of synthetic data following all the rules above. +Ensure that all strings are safe for JSON parsing and ready to convert to a pandas DataFrame. +""" + + diff --git a/week3/community-contributions/juan_synthetic_data/src/data_generation.py b/week3/community-contributions/juan_synthetic_data/src/data_generation.py new file mode 100644 index 0000000..12179da --- /dev/null +++ b/week3/community-contributions/juan_synthetic_data/src/data_generation.py @@ -0,0 +1,108 @@ +import os +from typing import List + +import pandas as pd +from PIL import Image + +from src.constants import MAX_TOKENS_MODEL, N_REFERENCE_ROWS +from src.evaluator import SimpleEvaluator +from src.helpers import hash_row, sample_reference +from src.openai_utils import detect_total_rows_from_prompt, generate_batch + + +# ------------------- Main Function ------------------- +def generate_and_evaluate_data( + system_prompt: str, + user_prompt: str, + temp_dir: str, + reference_file=None, + openai_model: str = "gpt-4o-mini", + max_tokens_model: int = MAX_TOKENS_MODEL, + n_reference_rows: int = N_REFERENCE_ROWS, +): + """ + Generate synthetic data in batches, evaluate against reference data, and save results. + Uses dynamic batching and reference sampling to optimize cost and token usage. + """ + os.makedirs(temp_dir, exist_ok=True) + reference_df = pd.read_csv(reference_file) if reference_file else None + total_rows = detect_total_rows_from_prompt(user_prompt, openai_model) + + final_df = pd.DataFrame() + existing_hashes = set() + rows_left = total_rows + iteration = 0 + + print(f"[Info] Total rows requested: {total_rows}") + + # Estimate tokens for the prompt by adding system, user and sample (used once per batch) + prompt_sample = f"{system_prompt} {user_prompt} {sample_reference(reference_df, n_reference_rows)}" + prompt_tokens = max(1, len(prompt_sample) // 4) + + # Estimate tokens per row dynamically using a sample + example_sample = sample_reference(reference_df, n_reference_rows) + if example_sample is not None and len(example_sample) > 0: + sample_text = str(example_sample) + tokens_per_row = max(1, len(sample_text) // len(example_sample) // 4) + else: + tokens_per_row = 30 # fallback if no reference + + print(f"[Info] Tokens per row estimate: {tokens_per_row}, Prompt tokens: {prompt_tokens}") + + # ---------------- Batch Generation Loop ---------------- + while rows_left > 0: + iteration += 1 + batch_sample = sample_reference(reference_df, n_reference_rows) + batch_size = min(rows_left, max(1, (max_tokens_model - prompt_tokens) // tokens_per_row)) + print(f"[Batch {iteration}] Batch size: {batch_size}, Rows left: {rows_left}") + + try: + df_batch = generate_batch( + system_prompt, user_prompt, batch_sample, batch_size, openai_model + ) + except Exception as e: + print(f"[Error] Batch {iteration} failed: {e}") + break + + # Filter duplicates using hash + new_rows = [ + row + for _, row in df_batch.iterrows() + if hash_row(row) not in existing_hashes + ] + for row in new_rows: + existing_hashes.add(hash_row(row)) + + final_df = pd.concat([final_df, pd.DataFrame(new_rows)], ignore_index=True) + rows_left = total_rows - len(final_df) + print( + f"[Batch {iteration}] Unique new rows added: {len(new_rows)}, Total so far: {len(final_df)}" + ) + + if len(new_rows) == 0: + print("[Warning] No new unique rows. Stopping batches.") + break + + # ---------------- Evaluation ---------------- + report_df, vis_dict = pd.DataFrame(), {} + if reference_df is not None and not final_df.empty: + evaluator = SimpleEvaluator(temp_dir=temp_dir) + evaluator.evaluate(reference_df, final_df) + report_df = evaluator.results_as_dataframe() + vis_dict = evaluator.create_visualizations_temp_dict(reference_df, final_df) + print(f"[Info] Evaluation complete. Report shape: {report_df.shape}") + + # ---------------- Collect Images ---------------- + all_images: List[Image.Image] = [] + for imgs in vis_dict.values(): + if isinstance(imgs, list): + all_images.extend([img for img in imgs if img is not None]) + + # ---------------- Save CSV ---------------- + final_csv_path = os.path.join(temp_dir, "synthetic_data.csv") + final_df.to_csv(final_csv_path, index=False) + print(f"[Done] Generated {len(final_df)} rows โ†’ saved to {final_csv_path}") + + generated_state = {} + + return final_df, final_csv_path, report_df, generated_state, all_images diff --git a/week3/community-contributions/juan_synthetic_data/src/evaluator.py b/week3/community-contributions/juan_synthetic_data/src/evaluator.py new file mode 100644 index 0000000..377295d --- /dev/null +++ b/week3/community-contributions/juan_synthetic_data/src/evaluator.py @@ -0,0 +1,142 @@ +import seaborn as sns +import matplotlib.pyplot as plt +from typing import List, Dict, Any, Optional +from PIL import Image +import pandas as pd +import os + +class SimpleEvaluator: + """ + Evaluates synthetic data against a reference dataset, providing summary statistics and visualizations. + """ + + def __init__(self, temp_dir: str = "temp_plots"): + """ + Initialize the evaluator. + + Args: + temp_dir (str): Directory to save temporary plot images. + """ + self.temp_dir = temp_dir + os.makedirs(self.temp_dir, exist_ok=True) + + def evaluate(self, reference_df: pd.DataFrame, generated_df: pd.DataFrame) -> Dict[str, Any]: + """ + Compare numerical and categorical columns between reference and generated datasets. + """ + self.results: Dict[str, Any] = {} + self.common_cols = list(set(reference_df.columns) & set(generated_df.columns)) + + for col in self.common_cols: + if pd.api.types.is_numeric_dtype(reference_df[col]): + self.results[col] = { + "type": "numerical", + "ref_mean": reference_df[col].mean(), + "gen_mean": generated_df[col].mean(), + "mean_diff": generated_df[col].mean() - reference_df[col].mean(), + "ref_std": reference_df[col].std(), + "gen_std": generated_df[col].std(), + "std_diff": generated_df[col].std() - reference_df[col].std(), + } + else: + ref_counts = reference_df[col].value_counts(normalize=True) + gen_counts = generated_df[col].value_counts(normalize=True) + overlap = sum(min(ref_counts.get(k, 0), gen_counts.get(k, 0)) for k in ref_counts.index) + self.results[col] = { + "type": "categorical", + "distribution_overlap_pct": round(overlap * 100, 2), + "ref_unique": len(ref_counts), + "gen_unique": len(gen_counts) + } + + return self.results + + def results_as_dataframe(self) -> pd.DataFrame: + """ + Convert the evaluation results into a pandas DataFrame for display. + """ + rows = [] + for col, stats in self.results.items(): + if stats["type"] == "numerical": + rows.append({ + "Column": col, + "Type": "Numerical", + "Ref Mean/Std": f"{stats['ref_mean']:.2f} / {stats['ref_std']:.2f}", + "Gen Mean/Std": f"{stats['gen_mean']:.2f} / {stats['gen_std']:.2f}", + "Diff": f"Mean diff: {stats['mean_diff']:.2f}, Std diff: {stats['std_diff']:.2f}" + }) + else: + rows.append({ + "Column": col, + "Type": "Categorical", + "Ref": f"{stats['ref_unique']} unique", + "Gen": f"{stats['gen_unique']} unique", + "Diff": f"Overlap: {stats['distribution_overlap_pct']}%" + }) + return pd.DataFrame(rows) + + def create_visualizations_temp_dict( + self, + reference_df: pd.DataFrame, + generated_df: pd.DataFrame, + percentage: bool = True + ) -> Dict[str, List[Optional[Image.Image]]]: + """ + Create histogram and boxplot visualizations for each column and save them as temporary images. + Handles special characters in column names and category labels. + """ + vis_dict: Dict[str, List[Optional[Image.Image]]] = {} + common_cols = list(set(reference_df.columns) & set(generated_df.columns)) + + for col in common_cols: + col_safe = str(col).replace("_", r"\_").replace("$", r"\$") # Escape special chars + + # ---------------- Histogram ---------------- + plt.figure(figsize=(6, 4)) + if pd.api.types.is_numeric_dtype(reference_df[col]): + sns.histplot(reference_df[col], color="blue", label="Reference", + stat="percent" if percentage else "count", alpha=0.5) + sns.histplot(generated_df[col], color="orange", label="Generated", + stat="percent" if percentage else "count", alpha=0.5) + else: # Categorical + ref_counts = reference_df[col].value_counts(normalize=percentage) + gen_counts = generated_df[col].value_counts(normalize=percentage) + categories = list(set(ref_counts.index) | set(gen_counts.index)) + categories_safe = [str(cat).replace("_", r"\_").replace("$", r"\$") for cat in categories] + ref_vals = [ref_counts.get(cat, 0) for cat in categories] + gen_vals = [gen_counts.get(cat, 0) for cat in categories] + + x = range(len(categories)) + width = 0.4 + plt.bar([i - width/2 for i in x], ref_vals, width=width, color="blue", alpha=0.7, label="Reference") + plt.bar([i + width/2 for i in x], gen_vals, width=width, color="orange", alpha=0.7, label="Generated") + plt.xticks(x, categories_safe, rotation=45, ha="right") + + plt.title(f"Histogram comparison for '{col_safe}'", fontsize=12, usetex=False) + plt.legend() + plt.tight_layout() + hist_path = os.path.join(self.temp_dir, f"{col}_hist.png") + plt.savefig(hist_path, bbox_inches='tight') + plt.close() + hist_img = Image.open(hist_path) + + # ---------------- Boxplot (numerical only) ---------------- + box_img = None + if pd.api.types.is_numeric_dtype(reference_df[col]): + plt.figure(figsize=(6, 4)) + df_box = pd.DataFrame({ + 'Value': pd.concat([reference_df[col], generated_df[col]], ignore_index=True), + 'Dataset': ['Reference']*len(reference_df[col]) + ['Generated']*len(generated_df[col]) + }) + + sns.boxplot(x='Dataset', y='Value', data=df_box, palette=['#1f77b4','#ff7f0e']) + plt.title(f"Boxplot comparison for '{col_safe}'", fontsize=12, usetex=False) + plt.tight_layout() + box_path = os.path.join(self.temp_dir, f"{col}_box.png") + plt.savefig(box_path, bbox_inches='tight') + plt.close() + box_img = Image.open(box_path) + + vis_dict[col] = [hist_img, box_img] + + return vis_dict diff --git a/week3/community-contributions/juan_synthetic_data/src/helpers.py b/week3/community-contributions/juan_synthetic_data/src/helpers.py new file mode 100644 index 0000000..9c695d6 --- /dev/null +++ b/week3/community-contributions/juan_synthetic_data/src/helpers.py @@ -0,0 +1,14 @@ +import hashlib +import pandas as pd + +def hash_row(row: pd.Series) -> str: + """Compute MD5 hash for a row to detect duplicates.""" + return hashlib.md5(str(tuple(row)).encode()).hexdigest() + + +def sample_reference(reference_df: pd.DataFrame, n_reference_rows: int) -> list: + """Return a fresh sample of reference data for batch generation.""" + if reference_df is not None and not reference_df.empty: + sample_df = reference_df.sample(min(n_reference_rows, len(reference_df)), replace=False) + return sample_df.to_dict(orient="records") + return [] diff --git a/week3/community-contributions/juan_synthetic_data/src/openai_utils.py b/week3/community-contributions/juan_synthetic_data/src/openai_utils.py new file mode 100644 index 0000000..74a7249 --- /dev/null +++ b/week3/community-contributions/juan_synthetic_data/src/openai_utils.py @@ -0,0 +1,112 @@ +import json +import re +import tempfile +import openai +import pandas as pd + +import os +from typing import List + + +# ------------------ JSON Cleaning ------------------ +def _clean_json_output(raw_text: str) -> str: + """ + Cleans raw OpenAI output to produce valid JSON. + Escapes only double quotes and control characters. + """ + text = raw_text.strip() + text = re.sub(r"```(?:json)?", "", text) + text = re.sub(r"]+>", "", text) + + def escape_quotes(match): + value = match.group(1) + value = value.replace('"', r"\"") + value = value.replace("\n", r"\n").replace("\r", r"\r").replace("\t", r"\t") + return f'"{value}"' + + text = re.sub(r'"(.*?)"', escape_quotes, text) + + if not text.startswith("["): + text = "[" + text + if not text.endswith("]"): + text += "]" + text = re.sub(r",\s*]", "]", text) + return text + + +# ------------------ Synthetic Data Generation ------------------ +def generate_synthetic_data_openai( + system_prompt: str, + full_user_prompt: str, + openai_model: str = "gpt-4o-mini", + max_tokens: int = 16000, + temperature: float = 0.0, +): + """ + Generates synthetic tabular data using OpenAI. + Assumes `full_user_prompt` is already complete with reference data. + """ + response = openai.chat.completions.create( + model=openai_model, + messages=[ + {"role": "system", "content": system_prompt}, + {"role": "user", "content": full_user_prompt}, + ], + max_completion_tokens=max_tokens, + temperature=temperature, + ) + + raw_text = response.choices[0].message.content + cleaned_json = _clean_json_output(raw_text) + + try: + data = json.loads(cleaned_json) + except json.JSONDecodeError as e: + raise ValueError( + f"Invalid JSON generated. Error: {e}\nTruncated output: {cleaned_json[:500]}" + ) + + df = pd.DataFrame(data) + + tmp_file = tempfile.NamedTemporaryFile(delete=False, suffix=".csv") + df.to_csv(tmp_file.name, index=False) + tmp_file.close() + + return df, tmp_file.name + +# ----------------------Mini call to detect the number of rows in the prompt-------------- +def detect_total_rows_from_prompt(user_prompt: str, openai_model: str = "gpt-4o-mini") -> int: + """ + Detect the number of rows requested from the user prompt. + Fallback to 20 if detection fails. + """ + mini_prompt = f""" + Extract the number of rows to generate from this instruction: + \"\"\"{user_prompt}\"\"\" Return only the number. + """ + openai.api_key = os.getenv("OPENAI_API_KEY") + try: + response = openai.chat.completions.create( + model=openai_model, + messages=[{"role": "user", "content": mini_prompt}], + temperature=0, + max_tokens=10, + ) + text = response.choices[0].message.content.strip() + total_rows = int("".join(filter(str.isdigit, text))) + return max(total_rows, 1) + except Exception: + return 20 + + +# -------------- Function to generate synthetic data in a batch --------------------- +def generate_batch(system_prompt: str, user_prompt: str, reference_sample: List[dict], + batch_size: int, openai_model: str): + """Generate a single batch of synthetic data using OpenAI.""" + full_prompt = f"{user_prompt}\nSample: {reference_sample}\nGenerate exactly {batch_size} rows." + df_batch, _ = generate_synthetic_data_openai( + system_prompt=system_prompt, + full_user_prompt=full_prompt, + openai_model=openai_model, + ) + return df_batch diff --git a/week3/community-contributions/juan_synthetic_data/src/plot_utils.py b/week3/community-contributions/juan_synthetic_data/src/plot_utils.py new file mode 100644 index 0000000..3ee4b50 --- /dev/null +++ b/week3/community-contributions/juan_synthetic_data/src/plot_utils.py @@ -0,0 +1,13 @@ +import pandas as pd + +# ------------------------------- +# Helper function to display CSV +# ------------------------------- +def display_reference_csv(file): + if file is None: + return pd.DataFrame() + try: + df = pd.read_csv(file.name if hasattr(file, "name") else file) + return df + except Exception as e: + return pd.DataFrame({"Error": [str(e)]}) From 9c5d5fb99e7c9fe3e2ae5befdec02ffce33860e6 Mon Sep 17 00:00:00 2001 From: Jsrodrigue Date: Thu, 23 Oct 2025 23:40:53 +0100 Subject: [PATCH 09/19] Modify readme and app --- .../juan_synthetic_data/README.md | 15 +- .../juan_synthetic_data/app.py | 229 ++++++++++-------- 2 files changed, 139 insertions(+), 105 deletions(-) diff --git a/week3/community-contributions/juan_synthetic_data/README.md b/week3/community-contributions/juan_synthetic_data/README.md index 7cbb0f7..f49367a 100644 --- a/week3/community-contributions/juan_synthetic_data/README.md +++ b/week3/community-contributions/juan_synthetic_data/README.md @@ -1,6 +1,8 @@ # Synthetic Data Generator **NOTE:** This is a copy of the repository https://github.com/Jsrodrigue/synthetic-data-creator. +# Synthetic Data Generator + An intelligent synthetic data generator that uses OpenAI models to create realistic tabular datasets based on reference data. This project includes an intuitive web interface built with Gradio. > **๐ŸŽ“ Educational Project**: This project was inspired by the highly regarded LLM Engineering course on Udemy: [LLM Engineering: Master AI and Large Language Models](https://www.udemy.com/course/llm-engineering-master-ai-and-large-language-models/learn/lecture/52941433#questions/23828099). It demonstrates practical applications of LLM engineering principles, prompt engineering, and synthetic data generation techniques. @@ -61,7 +63,7 @@ An intelligent synthetic data generator that uses OpenAI models to create realis - Python 3.12+ - OpenAI account with API key -### Installation with pip +### Option 1: Using pip ```bash # Create virtual environment python -m venv venv @@ -71,11 +73,11 @@ source venv/bin/activate # On Windows: venv\Scripts\activate pip install -r requirements.txt ``` -### Installation with uv +### Option 2: Using uv ```bash # Clone the repository git clone https://github.com/Jsrodrigue/synthetic-data-creator.git -cd synthetic_data +cd synthetic-data-creator # Install dependencies uv sync @@ -100,8 +102,15 @@ OPENAI_API_KEY=your_api_key_here ## ๐ŸŽฏ Usage ### Start the application + +You can run the app either with **Python** or with **uv** (recommended if you installed dependencies using `uv sync`): + ```bash +# Option 1: using Python python app.py + +# Option 2: using uv (no need to activate venv manually) +uv run app.py ``` The script will print a local URL (e.g., http://localhost:7860) โ€” open that link in your browser. diff --git a/week3/community-contributions/juan_synthetic_data/app.py b/week3/community-contributions/juan_synthetic_data/app.py index ac5b950..0244f34 100644 --- a/week3/community-contributions/juan_synthetic_data/app.py +++ b/week3/community-contributions/juan_synthetic_data/app.py @@ -1,131 +1,156 @@ -import gradio as gr -import os import atexit -from src.IO_utils import cleanup_temp_files -from src.data_generation import generate_and_evaluate_data -from src.plot_utils import display_reference_csv -from dotenv import load_dotenv +import os + +import gradio as gr import openai +from dotenv import load_dotenv + from src.constants import PROJECT_TEMP_DIR, SYSTEM_PROMPT, USER_PROMPT +from src.data_generation import generate_and_evaluate_data +from src.IO_utils import cleanup_temp_files +from src.plot_utils import display_reference_csv -# ========================================================== -# Setup -# ========================================================== -#Load the api key -load_dotenv() -openai.api_key = os.getenv("OPENAI_API_KEY") +def main(): + # ========================================================== + # Setup + # ========================================================== -# Temporary folder for images -os.makedirs(PROJECT_TEMP_DIR, exist_ok=True) + # Load the api key + load_dotenv() + openai.api_key = os.getenv("OPENAI_API_KEY") -# Ensure temporary plot images are deleted when the program exits -atexit.register(lambda: cleanup_temp_files(PROJECT_TEMP_DIR)) + # Temporary folder for images + os.makedirs(PROJECT_TEMP_DIR, exist_ok=True) -# ========================================================== -# Gradio App -# ========================================================== -with gr.Blocks() as demo: + # Ensure temporary plot images are deleted when the program exits + atexit.register(lambda: cleanup_temp_files(PROJECT_TEMP_DIR)) - # Store temp folder in state - temp_dir_state = gr.State(value=PROJECT_TEMP_DIR) + # ========================================================== + # Gradio App + # ========================================================== + with gr.Blocks() as demo: - gr.Markdown("# ๐Ÿง  Synthetic Data Generator (with OpenAI)") + # Store temp folder in state + temp_dir_state = gr.State(value=PROJECT_TEMP_DIR) - # ====================================================== - # Tabs for organized sections - # ====================================================== - with gr.Tabs(): + gr.Markdown("# ๐Ÿง  Synthetic Data Generator (with OpenAI)") - # ------------------------------ - # Tab 1: Input - # ------------------------------ - with gr.Tab("Input"): + # ====================================================== + # Tabs for organized sections + # ====================================================== + with gr.Tabs(): - # System prompt in collapsible - with gr.Accordion("System Prompt (click to expand)", open=False): - system_prompt_input = gr.Textbox( - label="System Prompt", - value=SYSTEM_PROMPT, - lines=20 + # ------------------------------ + # Tab 1: Input + # ------------------------------ + with gr.Tab("Input"): + + # System prompt in collapsible + with gr.Accordion("System Prompt (click to expand)", open=False): + system_prompt_input = gr.Textbox( + label="System Prompt", value=SYSTEM_PROMPT, lines=20 + ) + + # User prompt box + user_prompt_input = gr.Textbox( + label="User Prompt", value=USER_PROMPT, lines=5 ) - # User prompt box - user_prompt_input = gr.Textbox(label="User Prompt", value=USER_PROMPT, lines=5) + # Model selection + model_select = gr.Dropdown( + label="OpenAI Model", + choices=["gpt-4o-mini", "gpt-4.1-mini"], + value="gpt-4o-mini", + ) - # Model selection - model_select = gr.Dropdown( - label="OpenAI Model", - choices=["gpt-4o-mini", "gpt-4.1-mini"], - value="gpt-4o-mini" - ) + # Reference CSV upload + reference_input = gr.File( + label="Reference CSV (optional)", file_types=[".csv"] + ) - # Reference CSV upload - reference_input = gr.File(label="Reference CSV (optional)", file_types=[".csv"]) + # Examples + gr.Examples( + examples=[ + "data/sentiment_reference.csv", + "data/people_reference.csv", + "data/wine_reference.csv", + ], + inputs=reference_input, + ) - # Examples - gr.Examples( - examples=["data/sentiment_reference.csv","data/people_reference.csv","data/wine_reference.csv"], - inputs=reference_input - ) + # Generate button + generate_btn = gr.Button("๐Ÿš€ Generate Data") - # Generate button - generate_btn = gr.Button("๐Ÿš€ Generate Data") + # Download button + download_csv = gr.File(label="Download CSV") - # Download button - download_csv = gr.File(label="Download CSV") + # ------------------------------ + # Tab 2: Reference Table + # ------------------------------ + with gr.Tab("Reference Table"): + reference_display = gr.DataFrame(label="Reference CSV Preview") - # ------------------------------ - # Tab 2: Reference Table - # ------------------------------ - with gr.Tab("Reference Table"): - reference_display = gr.DataFrame(label="Reference CSV Preview") + # ------------------------------ + # Tab 3: Generated Table + # ------------------------------ + with gr.Tab("Generated Table"): + output_df = gr.DataFrame(label="Generated Data") - # ------------------------------ - # Tab 3: Generated Table - # ------------------------------ - with gr.Tab("Generated Table"): - output_df = gr.DataFrame(label="Generated Data") - + # ------------------------------ + # Tab 4: Evaluation + # ------------------------------ + with gr.Tab("Comparison"): + with gr.Accordion("Evaluation Results (click to expand)", open=True): + evaluation_df = gr.DataFrame(label="Evaluation Results") - # ------------------------------ - # Tab 4: Evaluation - # ------------------------------ - with gr.Tab("Comparison"): - with gr.Accordion("Evaluation Results (click to expand)", open=True): - evaluation_df = gr.DataFrame(label="Evaluation Results") + # ------------------------------ + # Tab 5: Visualizations + # ------------------------------ - # ------------------------------ - # Tab 5: Visualizations - # ------------------------------ + with gr.Tab("Visualizations"): + gr.Markdown("# Click on the box to expand") - with gr.Tab("Visualizations"): - gr.Markdown("# Click on the box to expand") - - images_gallery = gr.Gallery( - label="Column Visualizations", - show_label=True, - columns=2, - height='auto', - interactive=True - ) + images_gallery = gr.Gallery( + label="Column Visualizations", + show_label=True, + columns=2, + height="auto", + interactive=True, + ) - # Hidden state for internal use - generated_state = gr.State() + # Hidden state for internal use + generated_state = gr.State() - # ====================================================== - # Event bindings - # ====================================================== - generate_btn.click( - fn=generate_and_evaluate_data, - inputs=[system_prompt_input, user_prompt_input, temp_dir_state, reference_input, model_select], - outputs=[output_df, download_csv, evaluation_df, generated_state, images_gallery] - ) + # ====================================================== + # Event bindings + # ====================================================== + generate_btn.click( + fn=generate_and_evaluate_data, + inputs=[ + system_prompt_input, + user_prompt_input, + temp_dir_state, + reference_input, + model_select, + ], + outputs=[ + output_df, + download_csv, + evaluation_df, + generated_state, + images_gallery, + ], + ) - reference_input.change( - fn=display_reference_csv, - inputs=[reference_input], - outputs=[reference_display] - ) + reference_input.change( + fn=display_reference_csv, + inputs=[reference_input], + outputs=[reference_display], + ) -demo.launch(debug=True) + demo.launch(debug=True) + + +if __name__ == "__main__": + main() From bd5c11232c5c336d707de8be5e03d6e18e56aed8 Mon Sep 17 00:00:00 2001 From: Dave Belliveau <5174655+davebelliveau@users.noreply.github.com> Date: Thu, 23 Oct 2025 20:23:34 -0400 Subject: [PATCH 10/19] Add week 2, day 1, N way conversation solution Implements SNL Coffee Talk character conversation using multiple models. Supports OpenRouter, OpenAI, and Ollama with automatic fallback. Characters and topics are dynamically generated by the base model. --- .../day1_N_way_conversation_coffee_talk.ipynb | 283 ++++++++++++++++++ 1 file changed, 283 insertions(+) create mode 100644 week2/community-contributions/day1_N_way_conversation_coffee_talk.ipynb diff --git a/week2/community-contributions/day1_N_way_conversation_coffee_talk.ipynb b/week2/community-contributions/day1_N_way_conversation_coffee_talk.ipynb new file mode 100644 index 0000000..50badf1 --- /dev/null +++ b/week2/community-contributions/day1_N_way_conversation_coffee_talk.ipynb @@ -0,0 +1,283 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "88f67391", + "metadata": {}, + "source": [ + "### N Way Conversation - Coffee Talk \n", + "\n", + "This example simulates an N-way conversation between the characters of the Saturday Night Live skit Coffee Talk.\n", + "\n", + "The character information is retrieved from a model and each character is handled by its own model selected at random from a list of available models. Only the number of characters, number of rounds, and available models are configured.\n", + "\n", + "The example can use OpenRouter, OpenAI, or Ollama, in that order. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a1eeb029", + "metadata": {}, + "outputs": [], + "source": [ + "# Setup ...\n", + "\n", + "# The number of characters (models) conversing\n", + "NBR_CHARACTERS=4\n", + "\n", + "# The number of rounds of conversation\n", + "NBR_ROUNDS=4\n", + "\n", + "# Available OpenRouter models. The base model is used to select characters and the topic. Other models are used for the conversation\n", + "OPENROUTER_MODELS=\"openai/gpt-4.1-mini, anthropic/claude-3.5-haiku, google/gemini-2.5-flash\"\n", + "OPENROUTER_BASE=\"openai/gpt-5\"\n", + "\n", + "# Available OpenAI models\n", + "OPENAI_MODELS=\"gpt-4.1, gpt-4.1-mini, gpt-5-nano\"\n", + "OPENAI_BASE=\"gpt-5\"\n", + "\n", + "# Available Ollama models. Note that these must be pre-fetched or errors will occur (and won't be handled)\n", + "OLLAMA_MODELS=\"gpt-oss, gemma3, llama3.2\"\n", + "OLLAMA_BASE=\"gpt-oss\"\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "68022fbc", + "metadata": {}, + "outputs": [], + "source": [ + "# imports\n", + "import os\n", + "import json\n", + "from dotenv import load_dotenv\n", + "from IPython.display import Markdown, display, update_display\n", + "from openai import OpenAI" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "73460c5e", + "metadata": {}, + "outputs": [], + "source": [ + "# Setup the LLM client and models. OpenRouter has priority if available, then OpenAI, then Ollama.\n", + "\n", + "load_dotenv(override=True)\n", + "openai_api_key = os.getenv('OPENAI_API_KEY')\n", + "openrouter_api_key = os.getenv('OPENROUTER_API_KEY')\n", + "\n", + "if openrouter_api_key:\n", + " print(f\"OpenRouter API Key exists and begins {openrouter_api_key[:3]}, using OpenRouter.\")\n", + " available_models=OPENROUTER_MODELS\n", + " base_model=OPENROUTER_BASE\n", + " client = OpenAI(base_url=\"https://openrouter.ai/api/v1\", api_key=openrouter_api_key)\n", + "elif openai_api_key:\n", + " print(f\"OpenAI API Key exists and begins {openai_api_key[:8]}, using OpenAI.\")\n", + " available_models=OPENAI_MODELS\n", + " base_model=OPENAI_BASE\n", + " client = OpenAI()\n", + "else:\n", + " print(\"OpenAI API Key not set, using Ollama.\")\n", + " available_models=OLLAMA_MODELS\n", + " base_model=OLLAMA_BASE\n", + " client = OpenAI(api_key=\"ollama\", base_url=\"http://localhost:11434/v1\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b1a7004d", + "metadata": {}, + "outputs": [], + "source": [ + "# Get the characters from the base model\n", + "system_prompt = \"\"\"\n", + "You will be asked to return information about characters in the SNL skit Coffee Talk\n", + "You should return the information as a JSON response with the following format:\n", + "{\n", + " { \"name\" : \"Linda\", \"persona\", \"....\", \"model\" : \"model-name\" },\n", + " { \"name\" : \"Paul\", \"persona\", \"....\", \"model\" : \"model-name\" }\n", + "}\n", + "\n", + "\"\"\"\n", + "\n", + "user_prompt = f\"\"\"\n", + "Create a list of the many characters from the SNL skit Coffee Talk, and return {NBR_CHARACTERS} total characters.\n", + "Always return Linda Richmond as the first character.\n", + "Return one caller.\n", + "Select the remaining characters at random from the list of all characters. \n", + "For the model value, return a random model name from this list: {available_models}.\n", + "\"\"\"\n", + "\n", + "response = client.chat.completions.create(\n", + " model=base_model,\n", + " messages=[\n", + " {\"role\": \"system\", \"content\": system_prompt},\n", + " {\"role\": \"user\", \"content\": user_prompt}\n", + " ],\n", + " response_format={\"type\": \"json_object\"}\n", + " )\n", + "result = response.choices[0].message.content\n", + "characters = json.loads(result)\n", + "\n", + "print(json.dumps(characters, indent=2))\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "21a73805", + "metadata": {}, + "outputs": [], + "source": [ + "# Generate system prompts for each character, which includes their name, persona, the other guests, and how they should respond.\n", + "\n", + "guests = \"The guests on todays show are \"\n", + "guest_names = [character['name'] for character in characters[\"characters\"]]\n", + "guests += \", \".join(guest_names)\n", + "\n", + "prompt = \"\"\n", + "for character in characters[\"characters\"]:\n", + " prompt = f\"You are {character['name']} a character on the SNL skit Coffee Talk.\"\n", + " prompt += f\" Your personality is : {character['persona']} \"\n", + " prompt += \" \" + guests + \".\"\n", + " prompt += \" Keep responses brief and in character.\"\n", + " prompt += \" In the conversation history, each response is prefixed with the character's name to identify the respondent.\"\n", + " prompt += \" Your response should not include your character name as a prefix.\"\n", + "\n", + " character[\"system_prompt\"] = prompt\n", + "\n", + "print(json.dumps(characters, indent=2))\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "656131a1", + "metadata": {}, + "outputs": [], + "source": [ + "# Get the topic\n", + "user_prompt=\"\"\"\n", + "In the SNL skit Coffee Talk, the host Linda Richmond proposes topics in the form \"X Y is neither X, nor Y - discuss\".\n", + "Create a list of the many topics proposed on the show, and select one at random and return it.\n", + "Return only the selected topic without any formatting.\n", + "\"\"\"\n", + "\n", + "response = client.chat.completions.create(\n", + " model=base_model,\n", + " messages=[\n", + " {\"role\": \"user\", \"content\": user_prompt}\n", + " ],\n", + " )\n", + "topic = response.choices[0].message.content\n", + "\n", + "print(topic)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6e137753", + "metadata": {}, + "outputs": [], + "source": [ + "def get_character_response(character,history):\n", + " user_prompt = f\"\"\"\n", + " The conversation so far is as follows:\n", + " {history}\n", + " What is your response? \n", + " \"\"\"\n", + " \n", + " response = client.chat.completions.create(\n", + " model=character[\"model\"],\n", + " messages=[\n", + " {\"role\": \"system\", \"content\": character[\"system_prompt\"]},\n", + " {\"role\": \"user\", \"content\": user_prompt}\n", + " ]\n", + " )\n", + " return response.choices[0].message.content\n", + " " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "23fb446f", + "metadata": {}, + "outputs": [], + "source": [ + "# Start the show!\n", + "\n", + "history = \"\"\n", + "history += \"Welcome to Coffee Talk, I am your host Linda Richmond. Today's guests are:\\n\"\n", + "\n", + "for character in characters[\"characters\"][1:]:\n", + " history += f\" - {character['name']}\\n\"\n", + "\n", + "history += f\"\\nI'll give you a topic: {topic}\\n\"\n", + "\n", + "display(Markdown(\"---\"))\n", + "display(Markdown(history))\n", + "display(Markdown(\"---\"))\n", + "\n", + "# Other guests respond (first round)\n", + "for character in characters[\"characters\"][1:]:\n", + " response = get_character_response(character,history)\n", + " display(Markdown(f\"**{character['name']}({character['model']}):** {response}\")) \n", + " history += f\"\\n{character['name']}: {response}\"\n", + "\n", + "# Continue conversation for remaining rounds (all characters including Linda)\n", + "for round in range(1, NBR_ROUNDS):\n", + " for character in characters[\"characters\"]:\n", + " response = get_character_response(character,history)\n", + " display(Markdown(f\"**{character['name']}({character['model']}):** {response}\")) \n", + " history += f\"\\n{character['name']}: {response}\"\n", + "\n", + "# Wrap it up\n", + "user_prompt=f\"\"\"\n", + "It's time to wrap up the show. Here's the whole conversation:\\n\n", + "{history}\n", + "Wrap up the show, as only you can.\n", + "\"\"\"\n", + "\n", + "linda = characters[\"characters\"][0]\n", + "response = client.chat.completions.create(\n", + " model=linda[\"model\"],\n", + " messages=[\n", + " {\"role\": \"system\", \"content\": linda[\"system_prompt\"]},\n", + " {\"role\": \"user\", \"content\": user_prompt}\n", + " ]\n", + " )\n", + "\n", + "display(Markdown(\"---\"))\n", + "display(Markdown(response.choices[0].message.content)) \n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "llm-engineering", + "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 +} From a5dceceeed46ebca65b24362f461a9fb67e08ef6 Mon Sep 17 00:00:00 2001 From: Rob Godbey Date: Fri, 24 Oct 2025 10:38:16 -0400 Subject: [PATCH 11/19] Adding my Lab2 --- .../wk1-day2-RBG-all-sites-ollama.ipynb | 227 ++++++++++++++++++ 1 file changed, 227 insertions(+) create mode 100644 community-contributions/wk1-day2-RBG-all-sites-ollama.ipynb diff --git a/community-contributions/wk1-day2-RBG-all-sites-ollama.ipynb b/community-contributions/wk1-day2-RBG-all-sites-ollama.ipynb new file mode 100644 index 0000000..a1204f7 --- /dev/null +++ b/community-contributions/wk1-day2-RBG-all-sites-ollama.ipynb @@ -0,0 +1,227 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "d15d8294-3328-4e07-ad16-8a03e9bbfdb9", + "metadata": {}, + "source": [ + "# Lab2: Local Open Source on My PC Project\n", + "## Summarize All Websites without Selenium Using Open Source Models\n", + "This builds on my app from yesterday using Jina (https://jina.ai/reader) to turn all websites into markdown before summarizing by an LLM. And it uses Ollama to store open source LLMs on my PC to run things locally (jina is not local, so to be totally local you might need to go back to Selenium to do JavaScript sites).\n", + "\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4e2a9393-7767-488e-a8bf-27c12dca35bd", + "metadata": {}, + "outputs": [], + "source": [ + "# imports\n", + "\n", + "import os\n", + "import requests\n", + "from dotenv import load_dotenv\n", + "from IPython.display import Markdown, display\n", + "from openai import OpenAI\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7b87cadb-d513-4303-baee-a37b6f938e4d", + "metadata": {}, + "outputs": [], + "source": [ + "# Setup access to the Ollama models\n", + "\n", + "OLLAMA_BASE_URL = \"http://localhost:11434/v1\"\n", + "\n", + "ollama = OpenAI(base_url=OLLAMA_BASE_URL, api_key='ollama')\n", + "\n", + "omodel = \"llama3.2\"\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f0275b1b-7cfe-4f9d-abfa-7650d378da0c", + "metadata": {}, + "outputs": [], + "source": [ + "# Step 1-a: Define the user prompt\n", + "\n", + "user_prompt_prefix = \"\"\"\n", + "Here are the contents of a website.\n", + "Provide a short summary of this website.\n", + "If it includes news or announcements, then summarize these too.\n", + "Make recommendations for improvement\n", + "\"\"\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "abdb8417-c5dc-44bc-9bee-2e059d162699", + "metadata": {}, + "outputs": [], + "source": [ + "# Step 1-b: Define the system prompt\n", + "\n", + "system_prompt = \"\"\"You are to act like a smart Mckinsey Consultant specializing in website analysis. \n", + "1) You should provide a short, clear, summary, ignoring text that might be navigation related.\n", + "2) Follow the summary by making recommendations for improving the website so it is better at serving its purpose.\n", + "3) Follow industry frameworks for reponses always give simple answers and stick to the point.\n", + "4) If possible try to group you recommendations, for example Grammar and Style, Clarity, Functional, etc.\n", + "5) Give confidence scores with every recommendation.\n", + "6) Always provide a summary of the website, explaining what it is.\n", + "7) if you do not understand the website's purpose or have no improvement recommendations, give out an error message along the lines of more data required for analysis or ask a follow up question.\n", + "8) Respond in markdown. Do not wrap the markdown in a code block - respond just with the markdown.\"\"\"\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0134dfa4-8299-48b5-b444-f2a8c3403c88", + "metadata": {}, + "outputs": [], + "source": [ + "# Add the website content to the user prompt\n", + "\n", + "def messages_for(website):\n", + " return [\n", + " {\"role\": \"system\", \"content\": system_prompt},\n", + " {\"role\": \"user\", \"content\": user_prompt_prefix + website}\n", + " ]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2ef960cf-6dc2-4cda-afb3-b38be12f4c97", + "metadata": {}, + "outputs": [], + "source": [ + "# Step 5: Change the content utility to use jina\n", + "\n", + "def fetch_url_content(url):\n", + " jina_reader_url = f\"https://r.jina.ai/{url}\"\n", + " try:\n", + " response = requests.get(jina_reader_url)\n", + " response.raise_for_status() # Raise an exception for HTTP errors\n", + " return response.text\n", + " except requests.exceptions.RequestException as e:\n", + " print(f\"Error fetching URL: {e}\")\n", + " return None\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "905b9919-aba7-45b5-ae65-81b3d1d78e34", + "metadata": {}, + "outputs": [], + "source": [ + "# Step 3: Call Ollama model & Step 4: print the result\n", + "\n", + "def summarize(url):\n", + " website = fetch_url_content(url)\n", + " response = ollama.chat.completions.create(\n", + " model = omodel,\n", + " messages = messages_for(website)\n", + " )\n", + " summary = response.choices[0].message.content\n", + " return display(Markdown(summary))\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "05e38d41-dfa4-4b20-9c96-c46ea75d9fb5", + "metadata": {}, + "outputs": [], + "source": [ + "omodel = \"llama3.2\"\n", + "summarize(\"https://edwarddonner.com\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "75df7e70", + "metadata": {}, + "outputs": [], + "source": [ + "omodel = \"deepseek-r1:1.5b\"\n", + "summarize(\"https://edwarddonner.com\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "45d83403-a24c-44b5-84ac-961449b4008f", + "metadata": {}, + "outputs": [], + "source": [ + "omodel = \"llama3.2\"\n", + "summarize(\"https://cnn.com\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "be133029", + "metadata": {}, + "outputs": [], + "source": [ + "omodel = \"deepseek-r1:1.5b\"\n", + "summarize(\"https://cnn.com\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "75e9fd40-b354-4341-991e-863ef2e59db7", + "metadata": {}, + "outputs": [], + "source": [ + "omodel = \"llama3.2\"\n", + "summarize(\"https://openai.com\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a8d1a0ed", + "metadata": {}, + "outputs": [], + "source": [ + "omodel = \"deepseek-r1:1.5b\"\n", + "summarize(\"https://openai.com\")" + ] + } + ], + "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.12" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From f13496e1f0da6a00d4d4ca3d446e4e2c1847a97e Mon Sep 17 00:00:00 2001 From: Rob Godbey Date: Fri, 24 Oct 2025 10:58:29 -0400 Subject: [PATCH 12/19] Still trying to add Lab2 to Community Contributions from Cursor --- community-contributions/wk1-day2-RBG-all-sites-ollama.ipynb | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/community-contributions/wk1-day2-RBG-all-sites-ollama.ipynb b/community-contributions/wk1-day2-RBG-all-sites-ollama.ipynb index a1204f7..bf777f6 100644 --- a/community-contributions/wk1-day2-RBG-all-sites-ollama.ipynb +++ b/community-contributions/wk1-day2-RBG-all-sites-ollama.ipynb @@ -39,9 +39,7 @@ "\n", "OLLAMA_BASE_URL = \"http://localhost:11434/v1\"\n", "\n", - "ollama = OpenAI(base_url=OLLAMA_BASE_URL, api_key='ollama')\n", - "\n", - "omodel = \"llama3.2\"\n" + "ollama = OpenAI(base_url=OLLAMA_BASE_URL, api_key='ollama')\n" ] }, { From 178be348b1d2c0697c62165798d6f7b8e2ff4657 Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 24 Oct 2025 17:45:28 +0200 Subject: [PATCH 13/19] Added Exercise week6 --- .../Exercise_week6_jom.ipynb | 372 ++++++++++++++++++ 1 file changed, 372 insertions(+) create mode 100644 week6/community-contributions/Exercise_week6_jom.ipynb diff --git a/week6/community-contributions/Exercise_week6_jom.ipynb b/week6/community-contributions/Exercise_week6_jom.ipynb new file mode 100644 index 0000000..7927e86 --- /dev/null +++ b/week6/community-contributions/Exercise_week6_jom.ipynb @@ -0,0 +1,372 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "168f6f43", + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "import re\n", + "import math\n", + "import json\n", + "import random\n", + "from dotenv import load_dotenv\n", + "from huggingface_hub import login\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "import pickle\n", + "from collections import Counter\n", + "from openai import OpenAI\n", + "from anthropic import Anthropic\n", + "\n", + "# environment\n", + "\n", + "load_dotenv(override=True)\n", + "os.environ['OPENAI_API_KEY'] = os.getenv('OPENAI_API_KEY', 'your-key-if-not-using-env')\n", + "os.environ['ANTHROPIC_API_KEY'] = os.getenv('ANTHROPIC_API_KEY', 'your-key-if-not-using-env')\n", + "os.environ['HF_TOKEN'] = os.getenv('HF_TOKEN', 'your-key-if-not-using-env')\n", + "\n", + "hf_token = os.environ['HF_TOKEN']\n", + "login(hf_token, add_to_git_credential=True)\n", + "\n", + "\n", + "from items import Item\n", + "from testing import Tester\n", + "\n", + "openai = OpenAI()\n", + "\n", + "%matplotlib inline" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b990ccf1", + "metadata": {}, + "outputs": [], + "source": [ + "\n", + "with open('train.pkl', 'rb') as file:\n", + " train = pickle.load(file)\n", + "\n", + "with open('test.pkl', 'rb') as file:\n", + " test = pickle.load(file)\n", + "\n", + "\n", + "fine_tune_train = train[:200]\n", + "fine_tune_validation = train[200:250]\n", + "\n", + "\n", + "def messages_for(item):\n", + " system_message = \"You estimate prices of items. Reply only with the price, no explanation\"\n", + " user_prompt = item.test_prompt().replace(\" to the nearest dollar\",\"\").replace(\"\\n\\nPrice is $\",\"\")\n", + " return [\n", + " {\"role\": \"system\", \"content\": system_message},\n", + " {\"role\": \"user\", \"content\": user_prompt},\n", + " {\"role\": \"assistant\", \"content\": f\"Price is ${item.price:.2f}\"}\n", + " ]\n", + "\n", + "def make_jsonl(items):\n", + " result = \"\"\n", + " for item in items:\n", + " messages = messages_for(item)\n", + " messages_str = json.dumps(messages)\n", + " result += '{\"messages\": ' + messages_str +'}\\n'\n", + " return result.strip()\n", + "\n", + "\n", + "def write_jsonl(items, filename):\n", + " with open(filename, \"w\") as f:\n", + " jsonl = make_jsonl(items)\n", + " f.write(jsonl)\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "id": "f0d128e2", + "metadata": {}, + "source": [ + "# Trained too fast\n", + "It resulted in overfitting (validation loss jumping all around about x4 larger) although Accuracy stayed constant. \n", + "Epochs: 2 Batch size: 16 LR multiplier:0.1\n", + "\n", + "Lots of error, that afterthough may result from the parsing output (didn't check) \n", + "**Metrics**: $153, RMSLE 3.6 Hits 31% " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f8cce151", + "metadata": {}, + "outputs": [], + "source": [ + "write_jsonl(fine_tune_train, \"fine_tune_train.jsonl\")\n", + "write_jsonl(fine_tune_validation, \"fine_tune_validation.jsonl\")\n", + "\n", + "with open(\"fine_tune_train.jsonl\", \"rb\") as f:\n", + " train_file = openai.files.create(file=f, purpose=\"fine-tune\")\n", + "with open(\"fine_tune_validation.jsonl\", \"rb\") as f:\n", + " validation_file = openai.files.create(file=f, purpose=\"fine-tune\")\n", + "\n", + "wandb_integration = {\"type\": \"wandb\", \"wandb\": {\"project\": \"gpt-pricer\"}}\n", + "\n", + "openai.fine_tuning.jobs.create(\n", + " training_file=train_file.id,\n", + " validation_file=validation_file.id,\n", + " model=\"gpt-4o-mini-2024-07-18\",\n", + " seed=42,\n", + " hyperparameters={\"n_epochs\": 5},\n", + " integrations = [wandb_integration],\n", + " suffix=\"pricer_v1\"\n", + ")\n", + "\n", + "fine_tuned_model_name_hpo = openai.fine_tuning.jobs.retrieve(job_id).fine_tuned_model\n", + "# The prompt\n", + "\n", + "def messages_for_test(item):\n", + " system_message = \"You estimate prices of items. Reply only with the price, no explanation\"\n", + " user_prompt = item.test_prompt().replace(\" to the nearest dollar\",\"\").replace(\"\\n\\nPrice is $\",\"\")\n", + " return [\n", + " {\"role\": \"system\", \"content\": system_message},\n", + " {\"role\": \"user\", \"content\": user_prompt},\n", + " {\"role\": \"assistant\", \"content\": \"Price is $\"}\n", + " ]\n", + "# A utility function to extract the price from a string\n", + "\n", + "def get_price(s):\n", + " s = s.replace('$','').replace(',','')\n", + " match = re.search(r\"[-+]?\\d*\\.\\d+|\\d+\", s)\n", + " return float(match.group()) if match else 0\n", + "\n", + "# The function for gpt-4o-mini\n", + "\n", + "def gpt_fine_tuned(item):\n", + " response = openai.chat.completions.create(\n", + " model=fine_tuned_model_name_hpo,\n", + " messages=messages_for_test(item),\n", + " seed=42,\n", + " max_tokens=7\n", + " )\n", + " reply = response.choices[0].message.content\n", + " return get_price(reply)\n", + "\n", + "Tester.test(gpt_fine_tuned, test)" + ] + }, + { + "cell_type": "markdown", + "id": "43716422", + "metadata": {}, + "source": [ + "# Same OP model, but with nicer prompting ONLY at inference\n", + "It fixed the $0 prices, driving \n", + "**Metrics**: $88, RMSLE 0.59 Hits 50% " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c624cade", + "metadata": {}, + "outputs": [], + "source": [ + "def modified_messages_for_test(item):\n", + " system_message = (\n", + " \"You are a helpful assistant skilled at estimating the prices of a wide range of products and purchases.\"\n", + " \"Analyze the detailed information provided about a productโ€”including its description, brand, features, and any relevant specs or packaging.\"\n", + " \"Respond with your best conservative estimate of the typical sale price in U.S. dollars for very similar products at an online marketplace\"\n", + " \"Reply ONLY with the price number WITHOUT any explanation, reasoning, or extra text.\"\n", + " \"Price cannot be zero, always make sensible assumptions.\"\n", + " )\n", + " user_prompt = (\n", + " \"What could be a conservative estimate for the price of the following product:\\n\\n\" +\n", + " item.test_prompt().replace(\" to the nearest dollar\", \"\").replace(\"\\n\\nPrice is $\", \"\")\n", + " )\n", + " return [\n", + " {\"role\": \"system\", \"content\": system_message},\n", + " {\"role\": \"user\", \"content\": user_prompt},\n", + " {\"role\": \"assistant\", \"content\": f\"Price is $\"}\n", + " ]\n", + "\n", + "\n", + "def gpt_fine_tuned(item):\n", + " response = openai.chat.completions.create(\n", + " model=fine_tuned_model_name_epoch5,\n", + " messages=modified_messages_for_test(item),\n", + " seed=42,\n", + " max_tokens=7\n", + " )\n", + " reply = response.choices[0].message.content\n", + " return get_price(reply)\n", + "\n", + "Tester.test(gpt_fine_tuned, test)" + ] + }, + { + "cell_type": "markdown", + "id": "892b06e3", + "metadata": {}, + "source": [ + "# Trying to fix overfitting, setting new HPO and prompting on training \n", + "Epochs:1 Batch size:1 LR multiplier:0.01 \n", + "Didn't make noticeable difference \n", + "**Metrics**: $89, RMSLE 0.56 Hits 50% \n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "662870a8", + "metadata": {}, + "outputs": [], + "source": [ + "\n", + "def modified_messages_for(item):\n", + " system_message = (\n", + " \"You are a helpful assistant skilled at estimating the prices of a wide range of products and purchases.\"\n", + " \"Analyze the detailed information provided about a productโ€”including its description, brand, features, and any relevant specs or packaging.\"\n", + " \"Respond with your best conservative estimate of the typical sale price in U.S. dollars for very similar products at an online marketplace\"\n", + " \"Reply ONLY with the price number WITHOUT any explanation, reasoning, or extra text.\"\n", + " \"Price cannot be zero, always make sensible assumptions.\"\n", + " )\n", + " user_prompt = (\n", + " \"What could be a conservative estimate for the price of the following product:\\n\\n\" +\n", + " item.test_prompt().replace(\" to the nearest dollar\", \"\").replace(\"\\n\\nPrice is $\", \"\")\n", + " )\n", + " return [\n", + " {\"role\": \"system\", \"content\": system_message},\n", + " {\"role\": \"user\", \"content\": user_prompt},\n", + " {\"role\": \"assistant\", \"content\": f\"Price is ${item.price:.2f}\"}\n", + "\n", + " ]\n", + "\n", + "def modified_make_jsonl(items):\n", + " result = \"\"\n", + " for item in items:\n", + " messages = modified_messages_for(item)\n", + " messages_str = json.dumps(messages)\n", + " result += '{\"messages\": ' + messages_str +'}\\n'\n", + " return result.strip()\n", + "\n", + "def modified_write_jsonl(items, filename):\n", + " with open(filename, \"w\") as f:\n", + " jsonl = modified_make_jsonl(items)\n", + " f.write(jsonl)\n", + "\n", + "modified_write_jsonl(fine_tune_train, \"mod_fine_tune_train.jsonl\")\n", + "modified_write_jsonl(fine_tune_validation, \"mod_fine_tune_validation.jsonl\")\n", + "\n", + "\n", + "with open(\"mod_fine_tune_train.jsonl\", \"rb\") as f:\n", + " mod_train_file = openai.files.create(file=f, purpose=\"fine-tune\")\n", + "with open(\"mod_fine_tune_validation.jsonl\", \"rb\") as f:\n", + " mod_validation_file = openai.files.create(file=f, purpose=\"fine-tune\")\n", + "\n", + "openai.fine_tuning.jobs.create(\n", + " training_file=mod_train_file.id,\n", + " validation_file=mod_validation_file.id,\n", + " model=\"gpt-4o-mini-2024-07-18\",\n", + " seed=42,\n", + " hyperparameters={\"n_epochs\": 1, \"learning_rate_multiplier\":1., \"batch_size\":1},\n", + " integrations = [wandb_integration],\n", + " suffix=\"pricer_v3\"\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b7d14e01", + "metadata": {}, + "outputs": [], + "source": [ + "fine_tuned_model_name_prompt_train = openai.fine_tuning.jobs.retrieve(job_id).fine_tuned_model\n", + "\n", + "\n", + "def mod_gpt_fine_tuned(item):\n", + " response = openai.chat.completions.create(\n", + " model=fine_tuned_model_name_prompt_train,\n", + " messages=modified_messages_for_test(item),\n", + " seed=42,\n", + " max_tokens=7\n", + " )\n", + " reply = response.choices[0].message.content\n", + " return get_price(reply)\n", + "\n", + "Tester.test(mod_gpt_fine_tuned, test)" + ] + }, + { + "cell_type": "markdown", + "id": "4fbedd53", + "metadata": {}, + "source": [ + "# Last model to fix achieve faster convergence\n", + "Epochs:1 Batch size:1 LR multiplier:1 \n", + "**Metrics**: $87, RMSLE 0.59 Hits 47% \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9b78f3b4", + "metadata": {}, + "outputs": [], + "source": [ + "openai.fine_tuning.jobs.create(\n", + " training_file=mod_train_file.id,\n", + " validation_file=mod_validation_file.id,\n", + " model=\"gpt-4o-mini-2024-07-18\",\n", + " seed=42,\n", + " hyperparameters={\"n_epochs\": 1, \"learning_rate_multiplier\":1., \"batch_size\":1},\n", + " integrations = [wandb_integration],\n", + " suffix=\"pricer_v3\"\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6da5f2d5", + "metadata": {}, + "outputs": [], + "source": [ + "fine_tuned_model_name_prompt_train_lr = openai.fine_tuning.jobs.retrieve(job_id).fine_tuned_model\n", + "\n", + "def mod_gpt_fine_tuned_v2(item):\n", + " response = openai.chat.completions.create(\n", + " model=fine_tuned_model_name_prompt_train_lr,\n", + " messages=modified_messages_for_test(item),\n", + " seed=42,\n", + " max_tokens=7\n", + " )\n", + " reply = response.choices[0].message.content\n", + " return get_price(reply)\n", + "\n", + "Tester.test(mod_gpt_fine_tuned_v2, test)" + ] + }, + { + "cell_type": "markdown", + "id": "19febde6", + "metadata": {}, + "source": [ + "## Summary\n", + "For this model in particular, it seems way more important the prompting than the finetuning itself.\n", + "We've tried to train more, turning to overfitting. Then we solved overfitting, with and without prompting in the inputs, and the results have being invariant." + ] + } + ], + "metadata": { + "language_info": { + "name": "python" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From aa9d98b9550dd6704bcbc707fd6c3aa581c65ae0 Mon Sep 17 00:00:00 2001 From: KfirTayar Date: Sat, 25 Oct 2025 08:01:03 +0300 Subject: [PATCH 14/19] Add Kfir's song meaning summarizer notebook (cleared outputs) --- .../song_meaning_summarizer.ipynb | 235 ++++++++++++++++++ 1 file changed, 235 insertions(+) create mode 100644 week1/community-contributions/song-meaning-summarizer/song_meaning_summarizer.ipynb diff --git a/week1/community-contributions/song-meaning-summarizer/song_meaning_summarizer.ipynb b/week1/community-contributions/song-meaning-summarizer/song_meaning_summarizer.ipynb new file mode 100644 index 0000000..b68f284 --- /dev/null +++ b/week1/community-contributions/song-meaning-summarizer/song_meaning_summarizer.ipynb @@ -0,0 +1,235 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "d12b9c22", + "metadata": {}, + "source": [ + "# Song Lyrics โ†’ One-Sentence Summary\n", + "Get the lyrics of a song and summarize its main idea in about one sentence.\n", + "\n", + "## Setup\n", + "Import required libraries: environment vars, display helper, OpenAI client, BeautifulSoup, and requests." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d94bbd61", + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "from IPython.display import Markdown, display\n", + "from openai import OpenAI\n", + "from bs4 import BeautifulSoup\n", + "import requests" + ] + }, + { + "cell_type": "markdown", + "id": "92dc1bde", + "metadata": {}, + "source": [ + "## Function: Get Lyrics from Genius\n", + "Fetch and extract the lyrics from a Genius.com song page using BeautifulSoup." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2b43fa98", + "metadata": {}, + "outputs": [], + "source": [ + "def get_lyrics_from_genius(url: str) -> str:\n", + " \"\"\"\n", + " Extracts song lyrics from a Genius.com song URL using BeautifulSoup.\n", + " Example URL: https://genius.com/Ed-sheeran-shape-of-you-lyrics\n", + " \"\"\"\n", + " # Standard headers to fetch a website\n", + " headers = {\n", + " \"User-Agent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36\"\n", + " }\n", + "\n", + " response = requests.get(url, headers=headers)\n", + " response.raise_for_status() # raises error if page not found\n", + "\n", + " soup = BeautifulSoup(response.text, \"html.parser\")\n", + "\n", + " # Genius stores lyrics inside
\n", + " lyrics_blocks = soup.find_all(\"div\", {\"data-lyrics-container\": \"true\"})\n", + "\n", + " if not lyrics_blocks:\n", + " return \"Lyrics not found.\"\n", + "\n", + " # Join all text blocks and clean up spacing\n", + " lyrics = \"\\n\".join(block.get_text(separator=\"\\n\") for block in lyrics_blocks)\n", + " return lyrics.strip()" + ] + }, + { + "cell_type": "markdown", + "id": "fc4f0590", + "metadata": {}, + "source": [ + "## Function: Create Genius URL\n", + "Build a Genius.com lyrics URL automatically from the given artist and song name." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e018c623", + "metadata": {}, + "outputs": [], + "source": [ + "def create_genius_url(artist: str, song: str) -> str:\n", + " \"\"\"\n", + " Creates a Genius.com lyrics URL from artist and song name.\n", + " Example:\n", + " create_genius_url(\"Ed sheeran\", \"shape of you\")\n", + " โ†’ https://genius.com/Ed-sheeran-shape-of-you-lyrics\n", + " \"\"\"\n", + " artist = artist.strip().replace(\" \", \"-\")\n", + " song = song.strip().replace(\" \", \"-\")\n", + " return f\"https://genius.com/{artist}-{song}-lyrics\"\n" + ] + }, + { + "cell_type": "markdown", + "id": "62f50f02", + "metadata": {}, + "source": [ + "## Generate URL and Fetch Lyrics\n", + "Create the Genius URL from the artist and song name, then fetch and display the lyrics." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ed51d48d", + "metadata": {}, + "outputs": [], + "source": [ + "artist = \"Ed sheeran\"\n", + "song = \"shape of you\"\n", + "\n", + "url = create_genius_url(artist, song)\n", + "print(url)\n", + "# Output: https://genius.com/Ed-sheeran-shape-of-you-lyrics\n", + "\n", + "user_prompt = get_lyrics_from_genius(url)\n", + "print(user_prompt[:5000]) " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fca4203a", + "metadata": {}, + "outputs": [], + "source": [ + "system_prompt = \"\"\"\n", + "You are a **helpful assistant** that specializes in analyzing **song lyrics**.\n", + "\n", + "## Task\n", + "Your goal is to **summarize the main idea or theme of a song** in **about one sentence**.\n", + "\n", + "## Instructions\n", + "1. Read the given song lyrics carefully.\n", + "2. Identify the **core message**, **emotion**, or **story** of the song.\n", + "3. Respond with **one concise sentence** only.\n", + "4. The tone of your summary should reflect the songโ€™s mood (e.g., joyful, melancholic, romantic, rebellious).\n", + "\n", + "## Edge Cases\n", + "- **Very short lyrics:** Summarize the implied meaning.\n", + "- **Repetitive lyrics:** Focus on the message or emotion being emphasized.\n", + "- **Abstract or nonsensical lyrics:** Describe the overall feeling or imagery they create.\n", + "- **No lyrics or only a title provided:** Reply with \n", + " `No lyrics provided โ€” unable to summarize meaningfully.`\n", + "- **Non-English lyrics:** Summarize in English unless otherwise instructed.\n", + "\n", + "## Output Format\n", + "Plain text โ€” a single, coherent sentence summarizing the main idea of the song.\n", + "\"\"\"" + ] + }, + { + "cell_type": "markdown", + "id": "11784d62", + "metadata": {}, + "source": [ + "## Create Chat Messages\n", + "Prepare the system and user messages, then send them to the OpenAI model for summarization." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f1205658", + "metadata": {}, + "outputs": [], + "source": [ + "messages = [\n", + " {\"role\": \"system\", \"content\": system_prompt},\n", + " {\"role\": \"user\", \"content\": user_prompt}\n", + "]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5c8d61aa", + "metadata": {}, + "outputs": [], + "source": [ + "openai = OpenAI()\n", + "response = openai.chat.completions.create(\n", + " model = \"gpt-4.1-mini\",\n", + " messages = messages\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "4ad95820", + "metadata": {}, + "source": [ + "## Display Summary\n", + "Show the modelโ€™s one-sentence summary of the song lyrics in a formatted Markdown output." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4f09a642", + "metadata": {}, + "outputs": [], + "source": [ + "display(Markdown(response.choices[0].message.content))" + ] + } + ], + "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.6" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 9019fe1562a329c3d963c72b0aa2b0cf94102820 Mon Sep 17 00:00:00 2001 From: Cosmus Mutuku Date: Sat, 25 Oct 2025 15:05:16 +0300 Subject: [PATCH 15/19] Week_6_Exercise --- .../week_6_exercise_revised.py | 621 ++++++++++++++++++ 1 file changed, 621 insertions(+) create mode 100644 week6/community-contributions/week_6_exercise_revised.py diff --git a/week6/community-contributions/week_6_exercise_revised.py b/week6/community-contributions/week_6_exercise_revised.py new file mode 100644 index 0000000..bcf9ae1 --- /dev/null +++ b/week6/community-contributions/week_6_exercise_revised.py @@ -0,0 +1,621 @@ +# -*- coding: utf-8 -*- +"""Week_6_exercise_revised.ipynb + +Automatically generated by Colab. + +Original file is located at + https://colab.research.google.com/drive/1GaV053HB8l-Wd3J3o9BcOAjC009Qk_W0 +""" + +#installations +!pip install --upgrade pip +!pip install datasets==3.0.1 anthropic transformers accelerate pandas tqdm numpy + +#imports +import os +import re +import json +import random +import time +from typing import Optional, List, Dict, Any, Tuple +from sklearn.model_selection import train_test_split +import anthropic +from datasets import load_dataset +import matplotlib.pyplot as plt +import numpy as np +import pandas as pd +from tqdm import tqdm +import seaborn as sns + +#TEMPORARY: Hard-coded keys + +#I hid my keys, you can replace your keys with 'sk' and 'hf' +os.environ["ANTHROPIC_API_KEY"] = "sk" +os.environ["HF_TOKEN"] = "hf" + + +# Anthropic Client +try: + client = anthropic.Anthropic(api_key=os.environ["ANTHROPIC_API_KEY"]) + print("Anthropic client initialized") +except Exception as e: + raise ImportError("Please install anthropic: !pip install anthropic") from e + +#some Basic configrations used throughtout the notebook +RANDOM_SEED = 42 +# medium test size +TEST_SIZE = 50 +CLAUDE_MODEL = "claude-opus-4-20250514" +MAX_TOKENS = 300 + +random.seed(RANDOM_SEED) +np.random.seed(RANDOM_SEED) + +# Load my dataset, the Aplliances in my case +dataset = load_dataset("McAuley-Lab/Amazon-Reviews-2023", "raw_meta_Appliances", split="full") +#using Pandas to create a dataframe +df = dataset.to_pandas() +#see the data +df.head() + +# Let clean the Price column and have it as a Price-clean +df["price_clean"] = pd.to_numeric(df["price"], errors="coerce") + +#check the number of rows In the ddata +print("Dataset size:", len(df)) + +#check The featues in the data +print(df.columns.tolist()) + +#checking some info +print(df.info()) + +print("Price-related columns found:", [c for c in df.columns if "price" in c]) + +print("Missing price_clean:", df["price_clean"].isna().sum(), "rows") + +# Price distribution visualization (Zoomed histogram) +plt.figure(figsize=(10,5)) +df[df["price_clean"] < 200]["price_clean"].hist(bins=50) +plt.title("Price Distribution") +plt.xlabel("Price ($)") +plt.ylabel("Frequency") +plt.show() + +# Keep only rows where price_clean is not null +df_model = df.dropna(subset=["price_clean"]).copy() + +# come up with a ptompt text combined +def combine_text(row): + title = row["title"] or "" + features = " ".join(row["features"]) if isinstance(row["features"], list) else "" + description = " ".join(row["description"]) if isinstance(row["description"], list) else "" + return f"{title}\n\nFEATURES: {features}\n\nDESCRIPTION: {description}" + +df_model["text"] = df_model.apply(combine_text, axis=1) + +# Retain what's needed +df_model = df_model[["text", "price_clean"]].reset_index(drop=True) + +# check the model dataset size +print(len(df_model)) +df_model.head(5) + +# Splitting the data into Training and test +train_df, test_df = train_test_split( + df_model, + test_size=0.10, # 10% test split + random_state=RANDOM_SEED +) + +#Training +len(train_df) + +#Testing +len(test_df) + +# make the test a list for better samplng +test_records = test_df.to_dict(orient="records") + +# Pricing system Prompt + +def build_prompt(item_text: str) -> str: + return f""" +You are a pricing analyst. Given a marketplace product listing, estimate the item's correct fair market price in KES. + +Return ONLY a number, no currency sign, no explanation. + +Product details: +\"\"\" +{item_text} +\"\"\" +""" + +def estimate_price_claude(item_text: str) -> Optional[float]: + try: + prompt = build_prompt(item_text) + + response = client.messages.create( + model=CLAUDE_MODEL, + max_tokens=MAX_TOKENS, + messages=[ + {"role": "user", "content": prompt} + ] + ) + + raw_output = response.content[0].text.strip() + + # Extract first valid number from model response + match = re.search(r"\d+(\.\d+)?", raw_output.replace(",", "")) + return float(match.group(0)) if match else None + + except Exception as e: + print("Error:", e) + return None + +client = anthropic.Anthropic(api_key=os.environ["ANTHROPIC_API_KEY"]) + +# Filter and Sample 100 usable Rows +df_usable = df[df["price_clean"].notna()].copy() +sample_df = df_usable.sample(100, random_state=42).reset_index(drop=True) + +#empty predriction list for them to be stored +predictions = [] + +#Getting the prices +def extract_price(text): + """Extract the first valid float from Claude's reply.""" + match = re.search(r"\d+(\.\d+)?", text.replace(",", "")) + return float(match.group(0)) if match else None + +# Getting the predictions +for i, row in tqdm(sample_df.iterrows(), total=len(sample_df)): + title = row["title"] + desc = " ".join(row["description"]) if isinstance(row["description"], list) else str(row["description"]) + feat = " ".join(row["features"]) if isinstance(row["features"], list) else str(row["features"]) + cats = " ".join(row["categories"]) if isinstance(row["categories"], list) else str(row["categories"]) + + prompt = f""" +You are estimating the USD retail price of an appliance part. + +Analyze the information and respond with **only a single number** (no currency symbol, no text, no explanation). + +TITLE: {title} +DESCRIPTION: {desc} +FEATURES: {feat} +CATEGORIES: {cats} + +Your response must be only a number like: 29.99 +""" + + response = client.messages.create( + model=CLAUDE_MODEL, + max_tokens=50, + messages=[{"role": "user", "content": prompt}] + ) + + raw = response.content[0].text.strip() + pred_price = extract_price(raw) + + predictions.append({ + "title": title, + "true_price": row["price_clean"], + "claude_price": pred_price, + "raw_reply": raw + }) + +# Saving output in a csv nw +result_df = pd.DataFrame(predictions) +result_df.to_csv("claude_price_predictions_100.csv", index=False) + +# Show preview +display(result_df.head()) + +# Error metrics +valid = result_df[result_df["claude_price"].notna()] +mae = np.mean(np.abs(valid["true_price"] - valid["claude_price"])) +rmse = np.sqrt(np.mean((valid["true_price"] - valid["claude_price"])**2)) +pct_within_20 = np.mean(np.abs(valid["true_price"] - valid["claude_price"]) <= 20) * 100 + +print(f"\nValid predictions: {len(valid)}/{len(result_df)}") +print(f"MAE: {mae:.2f}") +print(f"RMSE: {rmse:.2f}") +print(f"% within $20: {pct_within_20:.1f}%") + +"""The model returned a price every single time: + + + +1. -->MAE = 22.52 On average Claude is off by 22.52 from the true price +2. -->RMSE = 44.11 Big errors exist on some items โ€” a sign of occasional wild guesses +2. -->RMSE = 44.11 Big errors exist on some items โ€” a sign of occasional wild guesses +2. -->72% within $20 Claude predicts reasonable accuracy on most products, but 28% are far off. + +; + +1. Strengths- Model is somehow decent with zero/low fine-tuning. It understood the task, 72% within $20 on a dataset itโ€™s never seen is a good baseline +1. Weaknesses- Too many rounded โ€œclassicโ€ retail numbers (24.99, 89.99, 14.99, 29.99). Seems not to deeply use features, category, or rating. Also the RMSE is high โ†’ meaning a few really bad errors are dragging performance + +Improvements + +1. Prompt enhancements +2. Multi-shot and also better structuring +3. Fine-tuning with local model +""" + +#Now we build a persona Prompt +def build_pricing_prompt(examples: list, new_title: str) -> str: + """ + Build a multi-shot prompt for the E-commerce Market Analyst persona. + Each example has (title, price). + """ + few_shots = "\n".join( + [f"Product: {t}\nEstimated fair market price: ${p:.2f}" for t, p in examples] + ) + + system_prompt = ( + "You are a meticulous Data-Driven Market Analyst who estimates realistic, data-based " + "product prices for online marketplaces. You base estimates on comparable items and " + "avoid outliers. Return only the price number." + ) + + user_prompt = ( + f"{system_prompt}\n\nHere are recent examples:\n{few_shots}\n\n" + f"Now estimate a fair market price for this product:\n" + f"Product: {new_title}\n\n" + "Respond with only a number, no text or symbols." + ) + return user_prompt + +#10-shot predictios +subset_10 = df.dropna(subset=["price_clean"]).sample(10, random_state=42).reset_index(drop=True) +few_shots_3 = subset_10.sample(3, random_state=42)[["title", "price_clean"]].values.tolist() +results_10 = [] + +for i, row in tqdm(subset_10.iterrows(), total=len(subset_10)): + prompt = build_pricing_prompt(few_shots_3, row["title"]) + try: + resp = client.messages.create( + model=CLAUDE_MODEL, + max_tokens=MAX_TOKENS, + messages=[{"role": "user", "content": prompt}], + ) + reply = resp.content[0].text.strip() + pred = float(reply.replace("$", "").strip()) + except Exception: + pred, reply = np.nan, None + results_10.append({"title": row["title"], "true_price": row["price_clean"], "pred_price": pred, "raw": reply}) + +df10 = pd.DataFrame(results_10).dropna(subset=["pred_price"]) + +mae10 = np.mean(np.abs(df10.pred_price - df10.true_price)) + +rmse10 = np.sqrt(np.mean((df10.pred_price - df10.true_price)**2)) + +pct20_10 = np.mean(np.abs(df10.pred_price - df10.true_price) <= 20) * 100 + +print(f"MAE={mae10:.2f}, RMSE={rmse10:.2f}, %within$20={pct20_10:.1f}%") +df10.head() + +#30 shot +subset_30 = df.dropna(subset=["price_clean"]).sample(30, random_state=42).reset_index(drop=True) +few_shots_5 = subset_30.sample(5, random_state=42)[["title", "price_clean"]].values.tolist() +results_30 = [] + +for i, row in tqdm(subset_30.iterrows(), total=len(subset_30)): + prompt = build_pricing_prompt(few_shots_5, row["title"]) + try: + resp = client.messages.create( + model=CLAUDE_MODEL, + max_tokens=MAX_TOKENS, + messages=[{"role": "user", "content": prompt}], + ) + reply = resp.content[0].text.strip() + pred = float(reply.replace("$", "").strip()) + except Exception: + pred, reply = np.nan, None + results_30.append({"title": row["title"], "true_price": row["price_clean"], "pred_price": pred, "raw": reply}) + +df30 = pd.DataFrame(results_30).dropna(subset=["pred_price"]) + +mae30 = np.mean(np.abs(df30.pred_price - df30.true_price)) + +rmse30 = np.sqrt(np.mean((df30.pred_price - df30.true_price)**2)) + +pct20_30 = np.mean(np.abs(df30.pred_price - df30.true_price) <= 20) * 100 + +print(f"MAE={mae30:.2f}, RMSE={rmse30:.2f}, %within$20={pct20_30:.1f}%") +df30.head() + +#50 Shot s +subset_50 = df.dropna(subset=["price_clean"]).sample(50, random_state=42).reset_index(drop=True) +few_shots_8 = subset_50.sample(8, random_state=42)[["title", "price_clean"]].values.tolist() +results_50 = [] + +for i, row in tqdm(subset_50.iterrows(), total=len(subset_50)): + prompt = build_pricing_prompt(few_shots_8, row["title"]) + try: + resp = client.messages.create( + model=CLAUDE_MODEL, + max_tokens=MAX_TOKENS, + messages=[{"role": "user", "content": prompt}], + ) + reply = resp.content[0].text.strip() + pred = float(reply.replace("$", "").strip()) + except Exception: + pred, reply = np.nan, None + results_50.append({"title": row["title"], "true_price": row["price_clean"], "pred_price": pred, "raw": reply}) + +df50 = pd.DataFrame(results_50).dropna(subset=["pred_price"]) + +mae50 = np.mean(np.abs(df50.pred_price - df50.true_price)) + +rmse50 = np.sqrt(np.mean((df50.pred_price - df50.true_price)**2)) + +pct20_50 = np.mean(np.abs(df50.pred_price - df50.true_price) <= 20) * 100 + +print(f"MAE={mae50:.2f}, RMSE={rmse50:.2f}, %within$20={pct20_50:.1f}%") +df50.head() + +#Improved Ptompt and comparin the 10,30, &50 shot hints +def build_strict_prompt(few_shots, test_title): + shots_text = "\n".join([f"Title: {t}\nPrice: ${p:.2f}" for t, p in few_shots]) + return f""" +You are an expert e-commerce product pricing analyst. Your job is to predict the most realistic market price for a product based purely on its title. + +Here are reference examples: +{shots_text} + +Now predict the price for: +Title: {test_title} + +RULES: +- Return ONLY a single number. +- No dollar sign. +- No text, no reasoning, no words. +- Format: 123.45 +""" + +def run_eval(name, subset, shot_count): + few = subset.sample(shot_count, random_state=42)[["title", "price_clean"]].values.tolist() + results = [] + + for _, row in tqdm(subset.iterrows(), total=len(subset), desc=f"{name}"): + prompt = build_strict_prompt(few, row["title"]) + try: + resp = client.messages.create( + model=CLAUDE_MODEL, + max_tokens=MAX_TOKENS, + messages=[{"role": "user", "content": prompt}], + ) + reply = resp.content[0].text.strip() + pred = float(reply) + except Exception: + pred, reply = np.nan, None + + results.append({"title": row["title"], "true": row["price_clean"], "pred": pred}) + + df = pd.DataFrame(results).dropna(subset=["pred"]) + mae = np.mean(np.abs(df.pred - df.true)) + rmse = np.sqrt(np.mean((df.pred - df.true)**2)) + pct20 = np.mean(np.abs(df.pred - df.true) <= 20) * 100 + return df, mae, rmse, pct20 + +# Run 10 / 30 / 50 +subset10 = df.dropna(subset=["price_clean"]).sample(10, random_state=1).reset_index(drop=True) +subset30 = df.dropna(subset=["price_clean"]).sample(30, random_state=2).reset_index(drop=True) +subset50 = df.dropna(subset=["price_clean"]).sample(50, random_state=3).reset_index(drop=True) + +df10, mae10, rmse10, pct10 = run_eval("RUN10", subset10, 3) +df30, mae30, rmse30, pct30 = run_eval("RUN30", subset30, 6) +df50, mae50, rmse50, pct50 = run_eval("RUN50", subset50, 8) + +#compare +comparison = pd.DataFrame([ + {"shots": 10, "MAE": mae10, "RMSE": rmse10, "%โ‰ค$20": pct10}, + {"shots": 30, "MAE": mae30, "RMSE": rmse30, "%โ‰ค$20": pct30}, + {"shots": 50, "MAE": mae50, "RMSE": rmse50, "%โ‰ค$20": pct50}, +]) + +print(comparison) +comparison + +"""The model becomes confused by too many examples, became more biased toward random values and less less stable and less accurate. +Hypothesis: Possibly the dataset has high variance (many unrelated categories), and the model benefits from small, clean, representative few-shots, not large few-shots. +""" + +#Rechecking the variance in the data +prices = df["price_clean"].dropna() +print(prices.describe(percentiles=[0.25, 0.5, 0.75, 0.9, 0.95])) + +print("\nSkewness:", prices.skew()) +print("Kurtosis:", prices.kurt()) + +# Plot histogram +plt.figure(figsize=(12,4)) +sns.histplot(prices, bins=50) +plt.title("Histogram โ€” Full Dataset Price Distribution") +plt.xlabel("Price ($)") +plt.ylabel("Frequency") +plt.show() + +# Plot boxplot +plt.figure(figsize=(10,2)) +sns.boxplot(x=prices) +plt.title("Boxplot โ€” Full Dataset Price Spread") +plt.show() + +"""Testing fewer shots to check fr the optimal""" + +def run_few_shot_test(df_subset, shots, model=CLAUDE_MODEL): + few_shots = df_subset.sample(shots, random_state=42)[["title", "price_clean"]].values.tolist() + results = [] + + for _, row in df_subset.iterrows(): + prompt = build_pricing_prompt(few_shots, row["title"]) + try: + resp = client.messages.create( + model=model, + max_tokens=MAX_TOKENS, + messages=[{"role": "user", "content": prompt}], + ) + reply = resp.content[0].text.strip() + pred = float(reply.replace("$", "").strip()) + except: + pred, reply = np.nan, None + + results.append({"title": row["title"], "true": row["price_clean"], "pred": pred}) + + df_res = pd.DataFrame(results).dropna() + mae = np.mean(np.abs(df_res.pred - df_res.true)) + rmse = np.sqrt(np.mean((df_res.pred - df_res.true)**2)) + pct20 = np.mean(np.abs(df_res.pred - df_res.true) <= 20) * 100 + return df_res, mae, rmse, pct20 + +#Tabulate the 2 shot results +df2, mae2, rmse2, pct2 = run_few_shot_test(subset_50, shots=2) +print("2-SHOT RESULTS โ†’ MAE={:.2f}, RMSE={:.2f}, %โ‰ค$20={:.1f}%".format(mae2, rmse2, pct2)) +df2.head() + +#5 shot results +df5, mae5, rmse5, pct5 = run_few_shot_test(subset_50, shots=5) +print("5-SHOT RESULTS โ†’ MAE={:.2f}, RMSE={:.2f}, %โ‰ค$20={:.1f}%".format(mae5, rmse5, pct5)) +df5.head() + +#7 shot results +df7, mae7, rmse7, pct7 = run_few_shot_test(subset_50, shots=7) +print("7-SHOT RESULTS โ†’ MAE={:.2f}, RMSE={:.2f}, %โ‰ค$20={:.1f}%".format(mae7, rmse7, pct7)) +df7.head() + +#Tabulate all the shots to choose the optimal or if there is Any need for the shots + +results_summary = [ + {"shots": 0, "MAE": 22.52, "RMSE": 44.11, "%โ‰ค$20": 72.0}, # baseline + {"shots": 2, "MAE": mae2, "RMSE": rmse2, "%โ‰ค$20": pct2}, + {"shots": 5, "MAE": mae5, "RMSE": rmse5, "%โ‰ค$20": pct5}, + {"shots": 7, "MAE": mae7, "RMSE": rmse7, "%โ‰ค$20": pct7}, + {"shots": 10, "MAE": 16.27, "RMSE": 38.59, "%โ‰ค$20": 90.0}, + {"shots": 30, "MAE": 135.73, "RMSE": 606.78, "%โ‰ค$20": 70.0}, + {"shots": 50, "MAE": 42.54, "RMSE": 136.61, "%โ‰ค$20": 72.0}, +] + +df_comparison = pd.DataFrame(results_summary) +df_comparison = df_comparison.sort_values("shots").reset_index(drop=True) +df_comparison + +"""1. 0-shot baseline: MAE 22.52, %โ‰ค$20 72% + +2. Very low few-shots (2, 5): Surprisingly worse than baseline (MAE โ†‘, %โ‰ค$20 โ†“), likely due to variance and poor example selection. + +3. 7-shot: Improves over baseline slightly, MAE 19.91, %โ‰ค$20 back to 72% + +4. 10-shot: Best performance overall โ€” MAE 16.27, %โ‰ค$20 jumps to 90%! Clearly the few-shot hints are helping here. + +5. 30-shot: Performance collapses (MAE 135.73, RMSE 606.78) โ€” too many examples may confuse the model. + +6. 50-shot: Slightly better than 30-shot but still worse than 10-shot. + + +Conclusion: Optimal few-shot count is 10 for this dataset and prompt style. +""" + +#Further finetuning of the selected 10-shot + +def build_finetune_prompt(few_shots: list, target_title: str, max_chars=800): + """ + few_shots: list of dicts {"title":..., "price_clean":...} + target_title: title string + """ + parts = ["You are an e-commerce pricing expert. Estimate product prices in USD accurately. Output only a number."] + parts.append("\nExamples:") + for ex in few_shots: + parts.append(f"- {ex['title']}: {ex['price_clean']}") + parts.append("\nPredict price for the following product:") + parts.append(f"Title: {target_title}") + prompt = "\n".join(parts) + if len(prompt) > max_chars: + return prompt[:max_chars] + "..." + return prompt + +# Sample 10-shot prompts for fine-tuning +finetune_examples = [] +subset_10 = df.dropna(subset=["price_clean"]).sample(100, random_state=42).reset_index(drop=True) # 100 products for initial fine-tuning + +for idx, row in subset_10.iterrows(): + # Pick 10 random examples from subset for few-shot + few_shots = subset_10.drop(idx).sample(10, random_state=idx)[["title","price_clean"]].to_dict(orient="records") + prompt = build_finetune_prompt(few_shots, row["title"]) + finetune_examples.append({ + "prompt": prompt, + "completion": str(row["price_clean"]) + }) + +print("Sample fine-tuning example:") +print(finetune_examples[0]) + +with open("finetune_10shot.jsonl", "w") as f: + for ex in finetune_examples: + f.write(json.dumps(ex) + "\n") +print("(10-shot format).finetuned") + +# Evaluate enhanced 10-shot prompt on sample +results_finetune_test = [] + +for idx, row in subset_10.iterrows(): + few_shots = subset_10.drop(idx).sample(10, random_state=idx)[["title","price_clean"]].to_dict(orient="records") + prompt = build_finetune_prompt(few_shots, row["title"]) + try: + resp = client.messages.create( + model=CLAUDE_MODEL, + max_tokens=MAX_TOKENS, + messages=[{"role": "user", "content": prompt}] + ) + reply = resp.content[0].text.strip() + pred = float(reply.replace("$","").strip()) + except Exception: + pred, reply = np.nan, None + results_finetune_test.append({"title": row["title"], "true_price": row["price_clean"], "pred": pred, "raw": reply}) + +df_finetune_test = pd.DataFrame(results_finetune_test).dropna(subset=["pred"]) +mae_ft = np.mean(np.abs(df_finetune_test.pred - df_finetune_test.true_price)) +rmse_ft = np.sqrt(np.mean((df_finetune_test.pred - df_finetune_test.true_price)**2)) +pct20_ft = np.mean(np.abs(df_finetune_test.pred - df_finetune_test.true_price) <= 20) * 100 + +print(f"Finetuned 10-shot performance: MAE={mae_ft:.2f}, RMSE={rmse_ft:.2f}, %โ‰ค$20={pct20_ft:.1f}%") + +"""Multi-shot prompting (10 examples in the prompt) without fine-tuning performed much better. + + +Next trial: Prompt optimization +""" + +#prompt optimization seems like th eonly choice +def build_pricing_prompt_alt(few_shots: list, target_title: str) -> str: + """ + Build an alternative multi-shot pricing prompt for Claude. + + few_shots: list of dicts with keys 'title' and 'price_clean' + target_title: product title to predict the price for + """ + parts = [] + + # Instruction with a slightly different phrasing + parts.append("Act as an expert e-commerce pricing analyst.") + parts.append("Given product titles and their prices, predict the price in USD for the new product.") + parts.append("Only provide the numeric price. No extra text, explanations, or symbols.") + + # Format the examples differently: numbered list + parts.append("\nExample prices:") + for i, ex in enumerate(few_shots, start=1): + parts.append(f"{i}. {ex['title']} โ€” ${ex['price_clean']:.2f}") + + # Target product + parts.append("\nPredict the price for this product:") + parts.append(f"Title: {target_title}") + parts.append("Price (USD):") + + # Combine into single prompt + prompt = "\n".join(parts) + return prompt + +"""eda""" \ No newline at end of file From c9ce0d83dee7615ce2ea50b78c88ce0b54155a97 Mon Sep 17 00:00:00 2001 From: Bharat Puri Date: Sat, 25 Oct 2025 23:30:34 +0530 Subject: [PATCH 16/19] worked on simulation mode and concept of fine tunning --- .../bharat_puri/fine_tuned_concept.ipynb | 460 ++++++++++++++++++ .../bharat_puri/fine_tuned_simulation.ipynb | 445 +++++++++++++++++ .../bharat_puri/train.jsonl | 224 +++++++++ .../bharat_puri/val.jsonl | 25 + 4 files changed, 1154 insertions(+) create mode 100644 week6/community-contributions/bharat_puri/fine_tuned_concept.ipynb create mode 100644 week6/community-contributions/bharat_puri/fine_tuned_simulation.ipynb create mode 100644 week6/community-contributions/bharat_puri/train.jsonl create mode 100644 week6/community-contributions/bharat_puri/val.jsonl diff --git a/week6/community-contributions/bharat_puri/fine_tuned_concept.ipynb b/week6/community-contributions/bharat_puri/fine_tuned_concept.ipynb new file mode 100644 index 0000000..78d4a03 --- /dev/null +++ b/week6/community-contributions/bharat_puri/fine_tuned_concept.ipynb @@ -0,0 +1,460 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "db8736a7-ed94-441c-9556-831fa57b5a10", + "metadata": {}, + "source": [ + "# The Product Pricer Fine Tuning\n", + "\n", + "Submitted By: Bharat Puri\n", + "\n", + "A model that can estimate how much something costs, from its description.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "681c717b-4c24-4ac3-a5f3-3c5881d6e70a", + "metadata": {}, + "outputs": [], + "source": [ + "# imports\n", + "\n", + "import os\n", + "import re\n", + "import math\n", + "import json\n", + "import random\n", + "from dotenv import load_dotenv\n", + "from huggingface_hub import login\n", + "import matplotlib.pyplot as plt\n", + "import pandas as pd\n", + "import numpy as np\n", + "import pickle\n", + "from collections import Counter\n", + "import sys\n", + "sys.path.append(os.path.abspath(os.path.join(\"..\", \"..\"))) \n", + "from openai import OpenAI\n", + "from anthropic import Anthropic\n", + "from sklearn.model_selection import train_test_split\n", + "from sklearn.metrics import mean_absolute_error\n" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "36d05bdc-0155-4c72-a7ee-aa4e614ffd3c", + "metadata": {}, + "outputs": [], + "source": [ + "# environment\n", + "\n", + "load_dotenv(override=True)\n", + "os.environ['OPENAI_API_KEY'] = os.getenv('OPENAI_API_KEY', 'your-key-if-not-using-env')\n", + "os.environ['ANTHROPIC_API_KEY'] = os.getenv('ANTHROPIC_API_KEY', 'your-key-if-not-using-env')\n", + "os.environ['HF_TOKEN'] = os.getenv('HF_TOKEN', 'your-key-if-not-using-env')" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "4dd3aad2-6f99-433c-8792-e461d2f06622", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Note: Environment variable`HF_TOKEN` is set and is the current active token independently from the token you've just configured.\n" + ] + } + ], + "source": [ + "# Log in to HuggingFace\n", + "\n", + "hf_token = os.environ['HF_TOKEN']\n", + "login(hf_token, add_to_git_credential=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "884a50bd-8cae-425e-8e56-f079fc3e65ce", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Input columns: [\"How much does this cost to the nearest dollar?\\n\\nOEM AC Compressor w/A/C Repair Kit For Ford F150 F-150 V8 & Lincoln Mark LT 2007 2008 - BuyAutoParts NEW\\nAs one of the world's largest automotive parts suppliers, our parts are trusted every day by mechanics and vehicle owners worldwide. This A/C Compressor and Components Kit is manufactured and tested to the strictest OE standards for unparalleled performance. Built for trouble-free ownership and 100% visually inspected and quality tested, this A/C Compressor and Components Kit is backed by our 100% satisfaction guarantee. Guaranteed Exact Fit for easy installation 100% BRAND NEW, premium ISO/TS 16949 quality - tested to meet or exceed OEM specifications Engineered for superior durability, backed by industry-leading unlimited-mileage warranty Included in this K\\n\\nPrice is $\", '0']\n", + "Output columns: [\"How much does this cost to the nearest dollar?\\n\\nOEM AC Compressor w/A/C Repair Kit For Ford F150 F-150 V8 & Lincoln Mark LT 2007 2008 - BuyAutoParts NEW\\nAs one of the world's largest automotive parts suppliers, our parts are trusted every day by mechanics and vehicle owners worldwide. This A/C Compressor and Components Kit is manufactured and tested to the strictest OE standards for unparalleled performance. Built for trouble-free ownership and 100% visually inspected and quality tested, this A/C Compressor and Components Kit is backed by our 100% satisfaction guarantee. Guaranteed Exact Fit for easy installation 100% BRAND NEW, premium ISO/TS 16949 quality - tested to meet or exceed OEM specifications Engineered for superior durability, backed by industry-leading unlimited-mileage warranty Included in this K\\n\\nPrice is $\", '120']\n" + ] + } + ], + "source": [ + "# =============================================\n", + "# Step 1 โ€“ Load and Inspect Dataset (CSV files)\n", + "# =============================================\n", + "\n", + "df_input = pd.read_csv(\"../../human_input.csv\")\n", + "df_output = pd.read_csv(\"../../human_output.csv\")\n", + "\n", + "print(\"Input columns:\", df_input.columns.tolist())\n", + "print(\"Output columns:\", df_output.columns.tolist())\n", + "\n", + "# Detect correct column names automatically\n", + "input_col = df_input.columns[0] # first column name\n", + "output_col = df_output.columns[0] # first column name\n", + "\n", + "data = pd.DataFrame({\n", + " \"prompt\": df_input[input_col].astype(str),\n", + " \"completion\": df_output[output_col].astype(str)\n", + "})" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "b0a6fb86-74a4-403c-ab25-6db2d74e9d2b", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Training samples: 199 | Validation samples: 50\n", + "โœ… Train and validation data prepared successfully.\n" + ] + } + ], + "source": [ + "# =============================================\n", + "# Step 2 โ€“ Split into Train and Validation Sets\n", + "# =============================================\n", + "\n", + "from sklearn.model_selection import train_test_split\n", + "\n", + "# Keep this small to minimize cost\n", + "train_df, val_df = train_test_split(data, test_size=0.2, random_state=42)\n", + "\n", + "print(f\"Training samples: {len(train_df)} | Validation samples: {len(val_df)}\")\n", + "\n", + "# Save to JSONL format (required by OpenAI fine-tuning API)\n", + "train_df.to_json(\"train.jsonl\", orient=\"records\", lines=True)\n", + "val_df.to_json(\"val.jsonl\", orient=\"records\", lines=True)\n", + "\n", + "print(\"โœ… Train and validation data prepared successfully.\")" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "c830ed3e-24ee-4af6-a07b-a1bfdcd39278", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
promptcompletion
137How much does this cost to the nearest dollar?...How much does this cost to the nearest dollar?...
6How much does this cost to the nearest dollar?...How much does this cost to the nearest dollar?...
97How much does this cost to the nearest dollar?...How much does this cost to the nearest dollar?...
\n", + "
" + ], + "text/plain": [ + " prompt \\\n", + "137 How much does this cost to the nearest dollar?... \n", + "6 How much does this cost to the nearest dollar?... \n", + "97 How much does this cost to the nearest dollar?... \n", + "\n", + " completion \n", + "137 How much does this cost to the nearest dollar?... \n", + "6 How much does this cost to the nearest dollar?... \n", + "97 How much does this cost to the nearest dollar?... " + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "train_df.head(3)\n", + "val_df.head(3)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5c9b05f4-c9eb-462c-8d86-de9140a2d985", + "metadata": {}, + "outputs": [], + "source": [ + "# =============================================\n", + "# Step 3 โ€“ Define Fine-Tuning Configuration\n", + "# =============================================\n", + "\n", + "hyperparams = {\n", + " \"model\": \"gpt-4o-mini\", \n", + " \"n_epochs\": 1, \n", + " \"batch_size\": 4, # Small batch = less token use\n", + " \"learning_rate_multiplier\": 0.5, # Gentle learning rate\n", + " \"suffix\": \"week6_lowcost_bharat\" # Custom suffix for tracking\n", + "}\n", + "\n", + "print(\"โœ… Fine-tuning configuration defined:\")\n", + "for k, v in hyperparams.items():\n", + " print(f\"{k:25}: {v}\")\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e8367135-f40e-43e1-8f3c-09e990ab1194", + "metadata": {}, + "outputs": [], + "source": [ + "# OpenAI recommends fine-tuning with populations of 50-100 examples\n", + "# But as our examples are very small, I'm suggesting we go with 200 examples (and 1 epoch)\n", + "\n", + "fine_tune_train = train[:200]\n", + "fine_tune_validation = train[200:250]" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "8ae2fb3c-1cff-4ce3-911e-627c970edd7b", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "โš™๏ธ Simulating fine-tuning process (no API cost)...\n", + "Epoch 1/1 training...\n", + "Fine-tuning complete โœ… (simulated)\n" + ] + } + ], + "source": [ + "# =============================================\n", + "# Step 4 โ€“ Launch Fine-Tuning Job or Simulate\n", + "# =============================================\n", + "\n", + "import time\n", + "from openai import OpenAI\n", + "\n", + "# Initialize the OpenAI client\n", + "client = OpenAI(api_key=os.getenv(\"OPENAI_API_KEY\"))\n", + "\n", + "# Toggle this flag to switch between simulation and real fine-tuning\n", + "simulate = True # โœ… Default: Free simulation mode\n", + "\n", + "if simulate:\n", + " print(\"\\nโš™๏ธ Simulating fine-tuning process (no API cost)...\")\n", + " for i in range(hyperparams['n_epochs']):\n", + " print(f\"Epoch {i+1}/{hyperparams['n_epochs']} training...\")\n", + " time.sleep(1)\n", + " print(\"Fine-tuning complete โœ… (simulated)\")\n", + "else:\n", + " print(\"\\n๐Ÿš€ Launching real fine-tuning job...\")\n", + "\n", + " # Upload train and validation files\n", + " train_file = client.files.create(file=open(\"train.jsonl\", \"rb\"), purpose=\"fine-tune\")\n", + " val_file = client.files.create(file=open(\"val.jsonl\", \"rb\"), purpose=\"fine-tune\")\n", + "\n", + " # Create fine-tuning job\n", + " job = client.fine_tuning.jobs.create(\n", + " training_file=train_file.id,\n", + " validation_file=val_file.id,\n", + " **hyperparams\n", + " )\n", + "\n", + " print(\"โœ… Fine-tuning job created successfully!\")\n", + " print(\"Job ID:\", job.id)" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "1aa280f6-1227-426a-a2e2-1ce985feba1e", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "๐Ÿ” Evaluating model performance...\n", + "โœ… Simulation mode: generated random prediction values for evaluation.\n", + "\n", + "๐Ÿ“Š Validation Mean Absolute Error (MAE): 3.30\n" + ] + } + ], + "source": [ + "# =============================================\n", + "# Step 5 โ€“ Evaluate Fine-Tuned (or Simulated) Model\n", + "# =============================================\n", + "\n", + "from sklearn.metrics import mean_absolute_error\n", + "import numpy as np\n", + "\n", + "print(\"\\n๐Ÿ” Evaluating model performance...\")\n", + "\n", + "# Keep evaluation small to minimize cost\n", + "val_df = val_df.head(5)\n", + "\n", + "predictions = []\n", + "actuals = []\n", + "\n", + "if simulate:\n", + " # Simulated predictions for free mode\n", + " predictions = np.random.uniform(70, 90, len(val_df))\n", + " actuals = np.random.uniform(70, 90, len(val_df))\n", + " print(\"โœ… Simulation mode: generated random prediction values for evaluation.\")\n", + "else:\n", + " # Real evaluation using fine-tuned model\n", + " print(\"๐Ÿง  Generating predictions using fine-tuned model...\")\n", + " for _, row in val_df.iterrows():\n", + " response = client.chat.completions.create(\n", + " model=f\"ft:{hyperparams['model']}:{hyperparams['suffix']}\",\n", + " messages=[{\"role\": \"user\", \"content\": row['prompt']}],\n", + " )\n", + " pred = response.choices[0].message.content.strip()\n", + " predictions.append(pred)\n", + " actuals.append(row['completion'])\n", + "\n", + "# Try calculating MAE if numeric outputs\n", + "try:\n", + " preds_float = [float(p) for p in predictions]\n", + " acts_float = [float(a) for a in actuals]\n", + " mae = mean_absolute_error(acts_float, preds_float)\n", + " print(f\"\\n๐Ÿ“Š Validation Mean Absolute Error (MAE): {mae:.2f}\")\n", + "except:\n", + " print(\"\\nโš ๏ธ Non-numeric outputs detected โ€” qualitative comparison recommended.\")\n", + " for i in range(len(val_df)):\n", + " print(f\"\\nPrompt: {val_df.iloc[i]['prompt']}\")\n", + " print(f\"โ†’ Prediction: {predictions[i]}\")\n", + " print(f\"โ†’ Actual: {actuals[i]}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "c0e5b56c-8a0b-4d8e-a112-ce87efb4e152", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "===== WEEK 6 REFLECTION =====\n", + "โœ… Completed the full fine-tuning workflow successfully.\n", + "๐Ÿง  Simulation mode enabled full understanding without any API cost.\n", + "๐Ÿ“Š Validation MAE: 3.30 (simulated)\n", + "๐Ÿ” Learned how to prepare data, configure fine-tuning, and evaluate models safely.\n", + "๐Ÿ’ก Next step: Try real fine-tuning (simulate=False) on small data if free credits are available.\n" + ] + } + ], + "source": [ + "# =============================================\n", + "# Step 6 โ€“ Visualize and Reflect (Fixed)\n", + "# =============================================\n", + "\n", + "import matplotlib.pyplot as plt\n", + "\n", + "# Plot simulated predictions vs actuals\n", + "plt.figure(figsize=(6, 4))\n", + "plt.plot(preds_float, label=\"Predicted\", marker='o')\n", + "plt.plot(acts_float, label=\"Actual\", marker='x')\n", + "plt.title(\"Validation Predictions vs Actuals (Simulated)\")\n", + "plt.xlabel(\"Sample Index\")\n", + "plt.ylabel(\"Value\")\n", + "plt.legend()\n", + "plt.grid(True)\n", + "plt.show()\n", + "\n", + "# Summary Reflection\n", + "print(\"\\n===== WEEK 6 REFLECTION =====\")\n", + "print(\"โœ… Completed the full fine-tuning workflow successfully.\")\n", + "print(\"๐Ÿง  Simulation mode enabled full understanding without any API cost.\")\n", + "print(\"๐Ÿ“Š Validation MAE: 3.30 (simulated)\")\n", + "print(\"๐Ÿ” Learned how to prepare data, configure fine-tuning, and evaluate models safely.\")\n", + "print(\"๐Ÿ’ก Next step: Try real fine-tuning (simulate=False) on small data if free credits are available.\")\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "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.11.14" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/week6/community-contributions/bharat_puri/fine_tuned_simulation.ipynb b/week6/community-contributions/bharat_puri/fine_tuned_simulation.ipynb new file mode 100644 index 0000000..6650f50 --- /dev/null +++ b/week6/community-contributions/bharat_puri/fine_tuned_simulation.ipynb @@ -0,0 +1,445 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "db8736a7-ed94-441c-9556-831fa57b5a10", + "metadata": {}, + "source": [ + "# The Product Pricer Fine-Tuning a Frontier Model (GPT-4 mini)\n", + "\n", + "Submitted By: Bharat Puri\n", + "\n", + "A model that can estimate how much something costs, from its description.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "681c717b-4c24-4ac3-a5f3-3c5881d6e70a", + "metadata": {}, + "outputs": [], + "source": [ + "# imports\n", + "\n", + "import os\n", + "import re\n", + "import math\n", + "import json\n", + "import random\n", + "from dotenv import load_dotenv\n", + "from huggingface_hub import login\n", + "import matplotlib.pyplot as plt\n", + "import pandas as pd\n", + "import numpy as np\n", + "import pickle\n", + "from collections import Counter\n", + "import sys\n", + "sys.path.append(os.path.abspath(os.path.join(\"..\", \"..\"))) \n", + "from openai import OpenAI\n", + "from anthropic import Anthropic\n", + "from sklearn.model_selection import train_test_split\n", + "from sklearn.metrics import mean_absolute_error\n" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "36d05bdc-0155-4c72-a7ee-aa4e614ffd3c", + "metadata": {}, + "outputs": [], + "source": [ + "# environment\n", + "\n", + "load_dotenv(override=True)\n", + "os.environ['OPENAI_API_KEY'] = os.getenv('OPENAI_API_KEY', 'your-key-if-not-using-env')\n", + "os.environ['ANTHROPIC_API_KEY'] = os.getenv('ANTHROPIC_API_KEY', 'your-key-if-not-using-env')\n", + "os.environ['HF_TOKEN'] = os.getenv('HF_TOKEN', 'your-key-if-not-using-env')" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "4dd3aad2-6f99-433c-8792-e461d2f06622", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Note: Environment variable`HF_TOKEN` is set and is the current active token independently from the token you've just configured.\n" + ] + } + ], + "source": [ + "# Log in to HuggingFace\n", + "\n", + "hf_token = os.environ['HF_TOKEN']\n", + "login(hf_token, add_to_git_credential=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "9c69e347-91bc-4eb1-843f-a17ed485667c", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "๐Ÿ” Starting data curation...\n", + "โœ… Cleaned dataset shape: (249, 2)\n", + " prompt \\\n", + "0 How much does this cost to the nearest dollar?... \n", + "1 How much does this cost to the nearest dollar?... \n", + "2 How much does this cost to the nearest dollar?... \n", + "\n", + " completion \n", + "0 How much does this cost to the nearest dollar?... \n", + "1 How much does this cost to the nearest dollar?... \n", + "2 How much does this cost to the nearest dollar?... \n", + "Training samples: 224, Validation samples: 25\n", + "๐Ÿ’พ Saved train.pkl and test.pkl successfully.\n" + ] + } + ], + "source": [ + "# =============================================================\n", + "# Step 1 โ€” Data Curation and Preparation (Integrated from 09_part1_data_curation)\n", + "# =============================================================\n", + "\n", + "import pandas as pd\n", + "import pickle\n", + "from sklearn.model_selection import train_test_split\n", + "\n", + "print(\"๐Ÿ” Starting data curation...\")\n", + "\n", + "# Load input/output CSVs (adjust paths as needed)\n", + "df_input = pd.read_csv(\"../../human_input.csv\")\n", + "df_output = pd.read_csv(\"../../human_output.csv\")\n", + "\n", + "# Detect and combine dynamically\n", + "i_col, o_col = df_input.columns[0], df_output.columns[0]\n", + "df = pd.DataFrame({\n", + " \"prompt\": df_input[i_col].astype(str).str.strip(),\n", + " \"completion\": df_output[o_col].astype(str).str.strip()\n", + "})\n", + "\n", + "# Basic cleaning\n", + "df.dropna(inplace=True)\n", + "df = df[df[\"prompt\"].str.len() > 0]\n", + "df = df[df[\"completion\"].str.len() > 0]\n", + "df = df.reset_index(drop=True)\n", + "\n", + "print(f\"โœ… Cleaned dataset shape: {df.shape}\")\n", + "print(df.head(3))\n", + "\n", + "# Split into training and validation\n", + "train_df, val_df = train_test_split(df, test_size=0.1, random_state=42)\n", + "print(f\"Training samples: {len(train_df)}, Validation samples: {len(val_df)}\")\n", + "\n", + "# Save curated datasets to reuse later\n", + "with open(\"train.pkl\", \"wb\") as f:\n", + " pickle.dump(train_df, f)\n", + "with open(\"test.pkl\", \"wb\") as f:\n", + " pickle.dump(val_df, f)\n", + "\n", + "print(\"๐Ÿ’พ Saved train.pkl and test.pkl successfully.\")\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "b0a6fb86-74a4-403c-ab25-6db2d74e9d2b", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "๐Ÿ“ฆ Loading curated train/test data from pickle files...\n", + "โœ… Loaded train=224 | val=25\n", + "๐Ÿ’พ Saved train.jsonl and val.jsonl for fine-tuning.\n" + ] + } + ], + "source": [ + "# =============================================================\n", + "# Step 2 โ€” Prepare Data for Fine-Tuning\n", + "# =============================================================\n", + "import pickle\n", + "import pandas as pd\n", + "\n", + "print(\"๐Ÿ“ฆ Loading curated train/test data from pickle files...\")\n", + "\n", + "with open(\"train.pkl\", \"rb\") as f:\n", + " train_df = pickle.load(f)\n", + "with open(\"test.pkl\", \"rb\") as f:\n", + " val_df = pickle.load(f)\n", + "\n", + "print(f\"โœ… Loaded train={len(train_df)} | val={len(val_df)}\")\n", + "\n", + "# Ensure correct column names\n", + "train_df = train_df.rename(columns={train_df.columns[0]: \"prompt\", train_df.columns[1]: \"completion\"})\n", + "val_df = val_df.rename(columns={val_df.columns[0]: \"prompt\", val_df.columns[1]: \"completion\"})\n", + "\n", + "# Save as JSONL for OpenAI Fine-Tuning\n", + "train_df.to_json(\"train.jsonl\", orient=\"records\", lines=True)\n", + "val_df.to_json(\"val.jsonl\", orient=\"records\", lines=True)\n", + "\n", + "print(\"๐Ÿ’พ Saved train.jsonl and val.jsonl for fine-tuning.\")" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "c830ed3e-24ee-4af6-a07b-a1bfdcd39278", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "โš™๏ธ Fine-tuning configuration:\n", + "{\n", + " \"model\": \"gpt-4o-mini\",\n", + " \"n_epochs\": 3,\n", + " \"batch_size\": 8,\n", + " \"learning_rate_multiplier\": 0.5,\n", + " \"suffix\": \"week6_bharat_ft_v1\"\n", + "}\n" + ] + } + ], + "source": [ + "# =============================================================\n", + "# Step 3 โ€” Fine-Tuning Configuration\n", + "# =============================================================\n", + "import json\n", + "\n", + "hyperparams = {\n", + " \"model\": \"gpt-4o-mini\", # Frontier model from the course\n", + " \"n_epochs\": 3, # Small safe run\n", + " \"batch_size\": 8, # Reasonable for small data\n", + " \"learning_rate_multiplier\": 0.5, # Trainer's suggested mid value\n", + " \"suffix\": \"week6_bharat_ft_v1\" # Unique identifier for your run\n", + "}\n", + "\n", + "print(\"โš™๏ธ Fine-tuning configuration:\")\n", + "print(json.dumps(hyperparams, indent=2))\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5c9b05f4-c9eb-462c-8d86-de9140a2d985", + "metadata": {}, + "outputs": [], + "source": [ + "# =============================================\n", + "# Step 3 โ€“ Define Fine-Tuning Configuration\n", + "# =============================================\n", + "\n", + "hyperparams = {\n", + " \"model\": \"gpt-4o-mini\", \n", + " \"n_epochs\": 1, \n", + " \"batch_size\": 4, # Small batch = less token use\n", + " \"learning_rate_multiplier\": 0.5, # Gentle learning rate\n", + " \"suffix\": \"week6_lowcost_bharat\" # Custom suffix for tracking\n", + "}\n", + "\n", + "print(\"โœ… Fine-tuning configuration defined:\")\n", + "for k, v in hyperparams.items():\n", + " print(f\"{k:25}: {v}\")\n" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "id": "e8367135-f40e-43e1-8f3c-09e990ab1194", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "๐Ÿงช Simulation mode โ€” running mock fine-tuning steps...\n", + "Simulated Epoch 1/3\n", + "Simulated Epoch 2/3\n", + "Simulated Epoch 3/3\n", + "โœ… Simulation complete โ€” no API cost.\n" + ] + } + ], + "source": [ + "# =============================================================\n", + "# Step 4 โ€” Launch Fine-Tuning Job (Fixed for latest SDK)\n", + "# =============================================================\n", + "from openai import OpenAI\n", + "import time, os, json\n", + "\n", + "client = OpenAI(api_key=os.getenv(\"OPENAI_API_KEY\"))\n", + "\n", + "simulate = True # Set True for simulation (no cost)\n", + "\n", + "if simulate:\n", + " print(\"\\n๐Ÿงช Simulation mode โ€” running mock fine-tuning steps...\")\n", + " for e in range(3):\n", + " print(f\"Simulated Epoch {e+1}/3\")\n", + " time.sleep(1)\n", + " ft_model = \"ft:gpt-4o-mini:SIMULATED\"\n", + " print(\"โœ… Simulation complete โ€” no API cost.\")\n", + "else:\n", + " print(\"\\n๐Ÿš€ Creating fine-tuning job...\")\n", + "\n", + " # Upload training and validation data\n", + " train_file = client.files.create(file=open(\"train.jsonl\", \"rb\"), purpose=\"fine-tune\")\n", + " val_file = client.files.create(file=open(\"val.jsonl\", \"rb\"), purpose=\"fine-tune\")\n", + "\n", + " # โœ… Correct usage: hyperparameters must go inside a dictionary named `hyperparameters`\n", + " job = client.fine_tuning.jobs.create(\n", + " model=\"gpt-4o-mini\",\n", + " training_file=train_file.id,\n", + " validation_file=val_file.id,\n", + " hyperparameters={\n", + " \"n_epochs\": 3,\n", + " \"batch_size\": 8,\n", + " \"learning_rate_multiplier\": 0.5\n", + " },\n", + " suffix=\"week6_bharat_ft_v1\"\n", + " )\n", + "\n", + " print(\"๐Ÿ†” Job created:\", job.id)\n", + "\n", + " # Poll until completion\n", + " status = job.status\n", + " while status in (\"validating_files\", \"queued\", \"running\"):\n", + " print(\"โณ Status:\", status)\n", + " time.sleep(20)\n", + " job = client.fine_tuning.jobs.retrieve(job.id)\n", + " status = job.status\n", + "\n", + " if job.status != \"succeeded\":\n", + " raise RuntimeError(f\"โŒ Fine-tune failed with status: {job.status}\")\n", + "\n", + " ft_model = job.fine_tuned_model\n", + " print(\"๐ŸŽฏ Fine-tuning complete! Model ID:\", ft_model)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "id": "32a2b85e-e978-4c8f-90d9-d697731e6569", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "๐Ÿงฎ Evaluating simulated fine-tuned model performance...\n", + "\n", + "๐Ÿ“Š Validation Mean Absolute Error (Simulated): 1.76\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "===== WEEK 6 REFLECTION =====\n", + "โœ… Completed full fine-tuning workflow (simulated) successfully.\n", + "๐Ÿง  Understood how fine-tuning integrates with GPT-4o-mini API workflow.\n", + "๐Ÿ“Š Validation MAE (simulated): 1.76\n", + "๐Ÿ” Practiced prompt alignment, data curation, and evaluation safely.\n", + "๐Ÿ’ก Next step: Try real fine-tuning (simulate=False) on small data if credits are available.\n" + ] + } + ], + "source": [ + "# =============================================================\n", + "# Step 5 โ€” Evaluate Simulated Fine-Tuned Model\n", + "# =============================================================\n", + "import numpy as np\n", + "from sklearn.metrics import mean_absolute_error\n", + "import matplotlib.pyplot as plt\n", + "import re\n", + "\n", + "print(\"\\n๐Ÿงฎ Evaluating simulated fine-tuned model performance...\")\n", + "\n", + "# Use small sample of validation data\n", + "val_subset = val_df.sample(min(20, len(val_df)), random_state=42).reset_index(drop=True)\n", + "prompts = val_subset[\"prompt\"].tolist()\n", + "actuals = val_subset[\"completion\"].tolist()\n", + "\n", + "# Convert actuals into numeric form (if applicable)\n", + "def extract_number(x):\n", + " match = re.findall(r\"[-+]?\\d*\\.?\\d+\", str(x))\n", + " return float(match[0]) if match else np.random.uniform(70, 90)\n", + "\n", + "actual_values = [extract_number(a) for a in actuals]\n", + "\n", + "# ๐Ÿงช Simulate predicted values (normally would come from API)\n", + "predicted_values = [v + np.random.uniform(-3, 3) for v in actual_values]\n", + "\n", + "# Calculate Mean Absolute Error\n", + "mae = mean_absolute_error(actual_values, predicted_values)\n", + "print(f\"\\n๐Ÿ“Š Validation Mean Absolute Error (Simulated): {mae:.2f}\")\n", + "\n", + "# Plot comparison\n", + "plt.figure(figsize=(6, 4))\n", + "plt.plot(predicted_values, label=\"Predicted\", marker=\"o\")\n", + "plt.plot(actual_values, label=\"Actual\", marker=\"x\")\n", + "plt.title(\"Validation Predictions vs Actuals (Simulated)\")\n", + "plt.xlabel(\"Sample Index\")\n", + "plt.ylabel(\"Value\")\n", + "plt.legend()\n", + "plt.grid(True)\n", + "plt.show()\n", + "\n", + "# Reflection Summary\n", + "print(\"\\n===== WEEK 6 REFLECTION =====\")\n", + "print(\"โœ… Completed full fine-tuning workflow (simulated) successfully.\")\n", + "print(\"๐Ÿง  Understood how fine-tuning integrates with GPT-4o-mini API workflow.\")\n", + "print(f\"๐Ÿ“Š Validation MAE (simulated): {mae:.2f}\")\n", + "print(\"๐Ÿ” Practiced prompt alignment, data curation, and evaluation safely.\")\n", + "print(\"๐Ÿ’ก Next step: Try real fine-tuning (simulate=False) on small data if credits are available.\")\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "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.11.14" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/week6/community-contributions/bharat_puri/train.jsonl b/week6/community-contributions/bharat_puri/train.jsonl new file mode 100644 index 0000000..593c44a --- /dev/null +++ b/week6/community-contributions/bharat_puri/train.jsonl @@ -0,0 +1,224 @@ +{"prompt":"How much does this cost to the nearest dollar?\n\nTORRO Leather Case Compatible with iPhone 14 \u2013 Genuine Leather Wallet Case\/Cover with Card Holder and Stand Function (Red)\nCOMPATIBILITY \u2013 The TORRO leather iPhone 14 case with card holder is designed and crafted exclusively for iPhone 14. The precision fit ensures full, unrestricted access to the screen, camera, buttons and charging port. GENUINE LEATHER - TORRO are a UK company specialising in luxury leather goods handcrafted from premium cowhide leather. The top-grain leather used is sourced from the finest tanneries in the US and undergoes minimal treatment in order to preserve the natural properties and appearance of TORRO luxurious leathers. SHOCKPROOF \u2013 The folio case features a unique TORRO durable TPU frame that has been formulated to aid shock absorption,\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nTORRO Leather Case Compatible with iPhone 14 \u2013 Genuine Leather Wallet Case\/Cover with Card Holder and Stand Function (Red)\nCOMPATIBILITY \u2013 The TORRO leather iPhone 14 case with card holder is designed and crafted exclusively for iPhone 14. The precision fit ensures full, unrestricted access to the screen, camera, buttons and charging port. GENUINE LEATHER - TORRO are a UK company specialising in luxury leather goods handcrafted from premium cowhide leather. The top-grain leather used is sourced from the finest tanneries in the US and undergoes minimal treatment in order to preserve the natural properties and appearance of TORRO luxurious leathers. SHOCKPROOF \u2013 The folio case features a unique TORRO durable TPU frame that has been formulated to aid shock absorption,\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nJeep Genuine Accessories Hood Lock\nHood lock rivits on using existing holes. Self codes to the ignition key. Same as standard in Europe, meets Thatchem requirements. When you select a genuine OEM part you can rely on the high quality and effectiveness of the product and brand without having to guess if the product will work in sequence with your vehicle. Protecting your investment is important and choosing the right parts can be challenging. Stick with what you know and choose a genuine OEM part. Fits Wrangler Hood lock secures underhood items from theft Rivits into existing holes and automatically codes itself to the vehicle ignition key during installation Same as the production hood lock for European markets Manufacturer Jeep, Brand Jeep, Model Weight 3.7 pounds, Dimensions 8.2 x 7.8\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nJeep Genuine Accessories Hood Lock\nHood lock rivits on using existing holes. Self codes to the ignition key. Same as standard in Europe, meets Thatchem requirements. When you select a genuine OEM part you can rely on the high quality and effectiveness of the product and brand without having to guess if the product will work in sequence with your vehicle. Protecting your investment is important and choosing the right parts can be challenging. Stick with what you know and choose a genuine OEM part. Fits Wrangler Hood lock secures underhood items from theft Rivits into existing holes and automatically codes itself to the vehicle ignition key during installation Same as the production hood lock for European markets Manufacturer Jeep, Brand Jeep, Model Weight 3.7 pounds, Dimensions 8.2 x 7.8\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nCURT 70110 Custom Tow Bar Base Plate Brackets for Dinghy Towing, Fits Select Jeep Wrangler JK\nCUSTOM FIT. This tow bar base plate is uniquely engineered to fit select years of the Jeep Wrangler JK. It bolts onto the frame, providing a reliable connection for flat towing (not compatible with universal tow bar) HIGHLY VERSATILE. Add versatile towing options to your vehicle with this class 1 trailer hitch. It provides a standard, square receiver hitch and comes with a ball mount with a ball hole to connect a small trailer SOLID STRENGTH. CURT towing base plates and tow bar brackets are constructed from high-strength steel and welded together with precision for dependable towing strength DOUBLE FINISH. This tow plate is finished in a tough shield of dual-co\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nCURT 70110 Custom Tow Bar Base Plate Brackets for Dinghy Towing, Fits Select Jeep Wrangler JK\nCUSTOM FIT. This tow bar base plate is uniquely engineered to fit select years of the Jeep Wrangler JK. It bolts onto the frame, providing a reliable connection for flat towing (not compatible with universal tow bar) HIGHLY VERSATILE. Add versatile towing options to your vehicle with this class 1 trailer hitch. It provides a standard, square receiver hitch and comes with a ball mount with a ball hole to connect a small trailer SOLID STRENGTH. CURT towing base plates and tow bar brackets are constructed from high-strength steel and welded together with precision for dependable towing strength DOUBLE FINISH. This tow plate is finished in a tough shield of dual-co\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nTCMT Passenger Backrest Sissy Bar & Luggage Rack Fits For Indian Scout Scout Sixty Scout ABS 2020 Scout 100th Anniversary Scout Sixty ABS\nAn Indian Scout passenger will ride with greater comfort and confidence with this Quick Release Passenger Sissy Bar. This sturdy backrest can be installed quickly and easily without tools once a set of Mounting Spools are installed on the Motorcycle. The Passenger Backrest locks securely onto the Mounting Spools and provides the passenger with strong, stable support and comfort. The backrest must be equipped with a Genuine Leather Backrest Pad. To add convenient cargo space, an accessory Chrome Backrest Luggage Rack can be added to the backrest. Fitment Fit For 2020 Scout 100th Anniversary Fit For Scout Sixty ABS Fit For\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nTCMT Passenger Backrest Sissy Bar & Luggage Rack Fits For Indian Scout Scout Sixty Scout ABS 2020 Scout 100th Anniversary Scout Sixty ABS\nAn Indian Scout passenger will ride with greater comfort and confidence with this Quick Release Passenger Sissy Bar. This sturdy backrest can be installed quickly and easily without tools once a set of Mounting Spools are installed on the Motorcycle. The Passenger Backrest locks securely onto the Mounting Spools and provides the passenger with strong, stable support and comfort. The backrest must be equipped with a Genuine Leather Backrest Pad. To add convenient cargo space, an accessory Chrome Backrest Luggage Rack can be added to the backrest. Fitment Fit For 2020 Scout 100th Anniversary Fit For Scout Sixty ABS Fit For\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nPatriot Exhaust 1-7\/8 Clippster Exhaust Header for Big Block Chevrolet 67-81, Silver Ceramic Hi-Temperature Coating\nClippster style headers are perfect for grafting modern uni-body front clip suspensions to street rods, muscle cars and trucks. Clippster headers use longer primaries than tight tucks, yet shorter than full length headers. Collectors exit toward the rear of the engine compartment providing excellent ground clearance on slammed applications as well as clearing steering and suspension components. Mid length or clippster headers provide improved ground clearance for popular muscle cars and street rods Durable tubing Comes complete with gaskets, header bolts and collector reducers Available in three finishes Silver Ceramic Hi-Temperature Coating Popular metallic ceramic coating Limited one year warranty Manufacturer Patriot Exhaust, Brand Patriot\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nPatriot Exhaust 1-7\/8 Clippster Exhaust Header for Big Block Chevrolet 67-81, Silver Ceramic Hi-Temperature Coating\nClippster style headers are perfect for grafting modern uni-body front clip suspensions to street rods, muscle cars and trucks. Clippster headers use longer primaries than tight tucks, yet shorter than full length headers. Collectors exit toward the rear of the engine compartment providing excellent ground clearance on slammed applications as well as clearing steering and suspension components. Mid length or clippster headers provide improved ground clearance for popular muscle cars and street rods Durable tubing Comes complete with gaskets, header bolts and collector reducers Available in three finishes Silver Ceramic Hi-Temperature Coating Popular metallic ceramic coating Limited one year warranty Manufacturer Patriot Exhaust, Brand Patriot\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nOtterBox + Pop Symmetry Series Case for iPhone 11 Pro (ONLY) - Retail Packaging - White Marble\nOtterBox + Pop Symmetry Series Case for iPhone 11 Pro (ONLY) - Retail Packaging - White Marble Compatible with iPhone 11 Pro Thin one-piece case with durable protection against drops, bumps and fumbles that is also compatible with Qi wireless charging PopSockets PopGrip is integrated into case to help with holding, texting, snapping better pictures and hand-free viewing PopTop designs are easy to switch out \u2014 just close flat, press down and turn to swap the PopTop. Includes OtterBox limited lifetime warranty (see website for details) and 100% authentic Dimensions 7.8 x 4.29 x 1.06 inches, Weight 3\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nOtterBox + Pop Symmetry Series Case for iPhone 11 Pro (ONLY) - Retail Packaging - White Marble\nOtterBox + Pop Symmetry Series Case for iPhone 11 Pro (ONLY) - Retail Packaging - White Marble Compatible with iPhone 11 Pro Thin one-piece case with durable protection against drops, bumps and fumbles that is also compatible with Qi wireless charging PopSockets PopGrip is integrated into case to help with holding, texting, snapping better pictures and hand-free viewing PopTop designs are easy to switch out \u2014 just close flat, press down and turn to swap the PopTop. Includes OtterBox limited lifetime warranty (see website for details) and 100% authentic Dimensions 7.8 x 4.29 x 1.06 inches, Weight 3\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nRichmond Auto Upholstery - 2012 Dodge Ram 3500 Laramie Crew-Cab - Driver Side Bottom Replacement Perforated Leather Seat Cover Dark Gray\nOur OEM replacement leather seat covers are guaranteed to match your vehicles interior! Richmond Auto Upholstery has been manufacturing automotive seat covers for over 30 years and only specializing in original factory replacement leather covers & much more! If you cannot find what you need for your Dodge Ram then please give us a call at (281) with your vehicles information!To ensure you receive the correct cover, please send us your VIN Number & TRIM (Interior Trim) Code during check out or email it to us after you have made your purchase. If we do not receive this information within 24 hours we will send an email requesting the information\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nRichmond Auto Upholstery - 2012 Dodge Ram 3500 Laramie Crew-Cab - Driver Side Bottom Replacement Perforated Leather Seat Cover Dark Gray\nOur OEM replacement leather seat covers are guaranteed to match your vehicles interior! Richmond Auto Upholstery has been manufacturing automotive seat covers for over 30 years and only specializing in original factory replacement leather covers & much more! If you cannot find what you need for your Dodge Ram then please give us a call at (281) with your vehicles information!To ensure you receive the correct cover, please send us your VIN Number & TRIM (Interior Trim) Code during check out or email it to us after you have made your purchase. If we do not receive this information within 24 hours we will send an email requesting the information\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nGates TCK226 PowerGrip Premium Timing Belt Component Kit\nGates is the world's leading manufacturer of timing belts and Timing Component Kits. We designed our kits for virtually every vehicle make and model so technicians can conduct complete system replacements and streamline parts sourcing. As the Original Equipment Manufacturer (OEM) for vehicle manufacturers globally, our Timing Component Kits are OE-equivalent or better in service life, quality, and performance. Total solution for any application TCK includes belts, idler(s), tensioners, tensioner springs, supporting hardware, detailed installation instructions and Technical Service Bulletins for troublesome applications Popular kits covering domestic and import (European and Asian) vehicle applications Designed for convenience, easy parts sourcing and reduced customer comebacks Manufacturer Gates, Brand Gates, Model PowerGrip Premium Timing Belt Component\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nGates TCK226 PowerGrip Premium Timing Belt Component Kit\nGates is the world's leading manufacturer of timing belts and Timing Component Kits. We designed our kits for virtually every vehicle make and model so technicians can conduct complete system replacements and streamline parts sourcing. As the Original Equipment Manufacturer (OEM) for vehicle manufacturers globally, our Timing Component Kits are OE-equivalent or better in service life, quality, and performance. Total solution for any application TCK includes belts, idler(s), tensioners, tensioner springs, supporting hardware, detailed installation instructions and Technical Service Bulletins for troublesome applications Popular kits covering domestic and import (European and Asian) vehicle applications Designed for convenience, easy parts sourcing and reduced customer comebacks Manufacturer Gates, Brand Gates, Model PowerGrip Premium Timing Belt Component\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nGAOMON PD2200 Pen Display & 20 Pen Nibs 8192 Tilt-Support Full-Laminated Graphics Drawing Monitor Tablet for Digital Drawing\/Animation\/Online Teaching and Meeting\nGAOMON PD2200 PEN DISPLAY + 20 PEN NIBS FOR ONLINE EDUCATION & MEETING You can use PD2200 pen monitor for online education and remote meeting. It works with most online meeting programs, like Zoom, and so on. FOR DIGITAL ART & CREATION -- It's not only for amatuer but also for professionalists for digital drawing, sketching, graphics design, 3D art work, animation, etc. FOR ANNOTATING AND SIGNATURE --It is also broadly used in annotating and signing files WITH AG-FILM PRE-APPLIED\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nGAOMON PD2200 Pen Display & 20 Pen Nibs 8192 Tilt-Support Full-Laminated Graphics Drawing Monitor Tablet for Digital Drawing\/Animation\/Online Teaching and Meeting\nGAOMON PD2200 PEN DISPLAY + 20 PEN NIBS FOR ONLINE EDUCATION & MEETING You can use PD2200 pen monitor for online education and remote meeting. It works with most online meeting programs, like Zoom, and so on. FOR DIGITAL ART & CREATION -- It's not only for amatuer but also for professionalists for digital drawing, sketching, graphics design, 3D art work, animation, etc. FOR ANNOTATING AND SIGNATURE --It is also broadly used in annotating and signing files WITH AG-FILM PRE-APPLIED\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nCapulina Tiffany Floor Lamp 16 Wide Stained Glass Dragonfly Antique Style Standing Reading Light for Living Room Bedroom\nSize and Weight lamp shade 16 inches wide and lamp post 63 inches Height;product total weight is 18lbs And the base heavy is 6.6lbs to ensure stability Real tiffany lamp shade lamp shade is handmade by skilled craftsmen,Each small piece of stained glass of the lampshade is spliced by copper foil method,never fade color,durable and beautiful Bulb Matching We can use Incandescent or CFL bulbs (bulbs are not included),different bulbs get different looking,recommanding to use Edison LED bulb. Decor living room bedroom When you light bulb up,tiffany lamp shade eallows the light to filter in but also softens the heat and\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nCapulina Tiffany Floor Lamp 16 Wide Stained Glass Dragonfly Antique Style Standing Reading Light for Living Room Bedroom\nSize and Weight lamp shade 16 inches wide and lamp post 63 inches Height;product total weight is 18lbs And the base heavy is 6.6lbs to ensure stability Real tiffany lamp shade lamp shade is handmade by skilled craftsmen,Each small piece of stained glass of the lampshade is spliced by copper foil method,never fade color,durable and beautiful Bulb Matching We can use Incandescent or CFL bulbs (bulbs are not included),different bulbs get different looking,recommanding to use Edison LED bulb. Decor living room bedroom When you light bulb up,tiffany lamp shade eallows the light to filter in but also softens the heat and\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nAcer Ultrabook, Intel Core 4GB Memory, 320GB HDD and 20GB SSD, Windows 8\nThe Acer Aspire S3 Ultrabook is catching lots of attention and now so will you with the Champagne color design. This ultra-thin 13.3 ultrabook is less than 3 lbs light and only 0.5 thin, yet it packs a powerful 2nd Gen Intel Core i3 Processor and is outfitted with Acer Green Instant On and Always Connect for instant response and continuous connectivity. The Acer Aspire S3 Ultrabook all the best new experiences in a ultra-aerodynamic design, transforming your mobile lifestyle! HD widescreen CineCrystal LED-backlit display. Screen Resolution 1366 x 768 Intel Core processor\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nAcer Ultrabook, Intel Core 4GB Memory, 320GB HDD and 20GB SSD, Windows 8\nThe Acer Aspire S3 Ultrabook is catching lots of attention and now so will you with the Champagne color design. This ultra-thin 13.3 ultrabook is less than 3 lbs light and only 0.5 thin, yet it packs a powerful 2nd Gen Intel Core i3 Processor and is outfitted with Acer Green Instant On and Always Connect for instant response and continuous connectivity. The Acer Aspire S3 Ultrabook all the best new experiences in a ultra-aerodynamic design, transforming your mobile lifestyle! HD widescreen CineCrystal LED-backlit display. Screen Resolution 1366 x 768 Intel Core processor\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\n3dRose LLC 8 x 8 x 0.25 Inches Bull Terrier on Zebra Pattern Mouse Pad\nBull Terrier On Zebra Mouse Pad is 8 x 8 x.25 and is made of heavy-duty recycled rubber. Matte finish image will not fade or peel. Machine washable using a mild detergent and air dry. Dimensions (in inches) 8 W x 8 H x 0.25 D Matte finish Soft to touch, will not crack or peel Clean with mild detergent Made of heavy-duty recycled rubber Manufacturer 3D Rose (Home Improvement), Brand Weight 4.9 ounces, Dimensions 8 x 0.25 x 8 inches, model number Shape Square, Material Type Rubber, s 1, Size 8\\ x \n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\n3dRose LLC 8 x 8 x 0.25 Inches Bull Terrier on Zebra Pattern Mouse Pad\nBull Terrier On Zebra Mouse Pad is 8 x 8 x.25 and is made of heavy-duty recycled rubber. Matte finish image will not fade or peel. Machine washable using a mild detergent and air dry. Dimensions (in inches) 8 W x 8 H x 0.25 D Matte finish Soft to touch, will not crack or peel Clean with mild detergent Made of heavy-duty recycled rubber Manufacturer 3D Rose (Home Improvement), Brand Weight 4.9 ounces, Dimensions 8 x 0.25 x 8 inches, model number Shape Square, Material Type Rubber, s 1, Size 8\\ x \n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nYANGHUAN Unstable Unicorns Adventure Card Game Toy Expansion Pack-Teen Board Game-Adult Strategy is Designed to add to The Base Unstable Unicorn Solitaire Expansion Pack\nProduct Description Product Name Card Game Single piece size 15 x 10.5 x 5cm Single piece weight 350g Expansion package parameters Single piece size Single product weight 105 grams Material coated paper Color Unstable Unicorns white frame, Unstable Unicorns black frame, NSFW extension, Legenda extension, Rainbow extension, Dragons extension, Uncut extension Ability training emotion, intellectual development, brain use, other ability training, interactive toys, parent-child communication, interest development Suitable age 14 years old and above Game type Unstable Unicorns is still a strategy game, it will destroy your\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nYANGHUAN Unstable Unicorns Adventure Card Game Toy Expansion Pack-Teen Board Game-Adult Strategy is Designed to add to The Base Unstable Unicorn Solitaire Expansion Pack\nProduct Description Product Name Card Game Single piece size 15 x 10.5 x 5cm Single piece weight 350g Expansion package parameters Single piece size Single product weight 105 grams Material coated paper Color Unstable Unicorns white frame, Unstable Unicorns black frame, NSFW extension, Legenda extension, Rainbow extension, Dragons extension, Uncut extension Ability training emotion, intellectual development, brain use, other ability training, interactive toys, parent-child communication, interest development Suitable age 14 years old and above Game type Unstable Unicorns is still a strategy game, it will destroy your\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nPlantronics Wired Headset, Black, 7 x 5.4 x 2.2 inches\nThe next generation of our most popular over-the-head monaural headset. Completely re-imagined for the demands of the modern customer service center and office. Features soft ear cushions for all-day wearing comfort, metal joints that deliver durability and reliability and a flexible mic with visual and tactile positioning guides for precise positioning and clearer conversations. Frequency response - up to 6,800 Hz Dimensions 7 x 5.4 x 2.2 inches, Weight 4.8 Ounces, Manufacturer PLANTRONICS, INC., model number Rank Computer Headsets 370, Is Discontinued No, Available October 30, 2014, Units 1.0 Count\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nPlantronics Wired Headset, Black, 7 x 5.4 x 2.2 inches\nThe next generation of our most popular over-the-head monaural headset. Completely re-imagined for the demands of the modern customer service center and office. Features soft ear cushions for all-day wearing comfort, metal joints that deliver durability and reliability and a flexible mic with visual and tactile positioning guides for precise positioning and clearer conversations. Frequency response - up to 6,800 Hz Dimensions 7 x 5.4 x 2.2 inches, Weight 4.8 Ounces, Manufacturer PLANTRONICS, INC., model number Rank Computer Headsets 370, Is Discontinued No, Available October 30, 2014, Units 1.0 Count\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nBrown 5-7\/8 X 8-1\/2 X 3\/16 Thick Heavy Duty Felt Sheets - 12 Pcs\nProtect your beautiful laminate, ceramic, vinyl or hardwood flooring as well as your precious furniture, with our Heavy Duty Felt Pads made of 100% polyester felt. These brown protector pads are designed to blend in with dark furniture to compliment your home decor. Simply peel and stick them to lamps, furniture and small appliances to protect tabletops, shelves, desks, floors and countertops. These can also be used to provide a cushioning layer between glass tabletops and pedestals or frames. Or place them on cabinet doors to reduce noise when they're closed. Trim them into the exact shape and size you need, and prevent scratches or damages anywhere\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nBrown 5-7\/8 X 8-1\/2 X 3\/16 Thick Heavy Duty Felt Sheets - 12 Pcs\nProtect your beautiful laminate, ceramic, vinyl or hardwood flooring as well as your precious furniture, with our Heavy Duty Felt Pads made of 100% polyester felt. These brown protector pads are designed to blend in with dark furniture to compliment your home decor. Simply peel and stick them to lamps, furniture and small appliances to protect tabletops, shelves, desks, floors and countertops. These can also be used to provide a cushioning layer between glass tabletops and pedestals or frames. Or place them on cabinet doors to reduce noise when they're closed. Trim them into the exact shape and size you need, and prevent scratches or damages anywhere\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nZCHAOZ 4 Lights Antique White Farmhouse Ceiling Light Fixture Flush Mount Chandelier Ceiling Lamp Modern Sputnik Light Fixtures Hanging for Dining Room Bedroom Living Room Kitchen Entryway Foyer\nLight Source & Dimmable White flush mount ceiling light is compatible with various types of 4 x E26 base bulbs(max 60w per blub), options include incandescent, led, halogen, Edison bulb, cfl, etc(Bulbs are Not Included). This hanging light fixtures is dimmable if working with dimmable bulbs and compatible dimmer switch(Not Included Also). Handmade Distressed White ZCHAOZ white ceiling light fixtures ceiling mount is made from high quality iron material in handmade white finish coating with a sturdy cylinder structure design in the center extending \n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nZCHAOZ 4 Lights Antique White Farmhouse Ceiling Light Fixture Flush Mount Chandelier Ceiling Lamp Modern Sputnik Light Fixtures Hanging for Dining Room Bedroom Living Room Kitchen Entryway Foyer\nLight Source & Dimmable White flush mount ceiling light is compatible with various types of 4 x E26 base bulbs(max 60w per blub), options include incandescent, led, halogen, Edison bulb, cfl, etc(Bulbs are Not Included). This hanging light fixtures is dimmable if working with dimmable bulbs and compatible dimmer switch(Not Included Also). Handmade Distressed White ZCHAOZ white ceiling light fixtures ceiling mount is made from high quality iron material in handmade white finish coating with a sturdy cylinder structure design in the center extending \n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nPelican Protector 1750 Long Case - Multi-Purpose Hard Case with Foam - Tripod, Camera Equipment, Sportsmans Rifle Case, Electronics Gear, and More (Black)\nSensitive equipment needs protection, and since 1976 the answer has been the Pelican Protector Case. These cases are designed rugged, and travel the harshest environments on earth. Against the extreme cold of the arctic or the heat of battle, Pelican cases have survived. Made in the USA, these tough cases are designed with an automatic purge valve, that equalizes air pressure, a watertight silicone O-ring lid, over-molded rubber handles and stainless steel hardware. PREMIUM HARD CASE In use with camera and film professionals, military, law enforcement, and hunters worldwide as a rifle case.\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nPelican Protector 1750 Long Case - Multi-Purpose Hard Case with Foam - Tripod, Camera Equipment, Sportsmans Rifle Case, Electronics Gear, and More (Black)\nSensitive equipment needs protection, and since 1976 the answer has been the Pelican Protector Case. These cases are designed rugged, and travel the harshest environments on earth. Against the extreme cold of the arctic or the heat of battle, Pelican cases have survived. Made in the USA, these tough cases are designed with an automatic purge valve, that equalizes air pressure, a watertight silicone O-ring lid, over-molded rubber handles and stainless steel hardware. PREMIUM HARD CASE In use with camera and film professionals, military, law enforcement, and hunters worldwide as a rifle case.\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nHairpin Table Legs 28 Heavy Duty Hairpin Legs, (Set for 4 ) Heavy Duty Table Legs (Black)\n\u2605Hairpin Table Legs Whether you\u2019re a professional carpenter or woodworking is your hobby, our metal furniture legs will give your project the support it needs! \u2605CREATE A CUSTOM UNIQUE GIFT - Using these hairpin legs to create a custom coffee table, end table, or night stand lets you put together a unique gift that will stand out above the rest. Your gift will be remembered, cherished, and used for years to come. \u2605Designed for Versatility With a sleek, mid-century modern look, our industrial table legs are ideal for desks, benches and any piece of furniture in between! Finished with the latest in powder coating technology, the legs are uniform and smooth to\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nHairpin Table Legs 28 Heavy Duty Hairpin Legs, (Set for 4 ) Heavy Duty Table Legs (Black)\n\u2605Hairpin Table Legs Whether you\u2019re a professional carpenter or woodworking is your hobby, our metal furniture legs will give your project the support it needs! \u2605CREATE A CUSTOM UNIQUE GIFT - Using these hairpin legs to create a custom coffee table, end table, or night stand lets you put together a unique gift that will stand out above the rest. Your gift will be remembered, cherished, and used for years to come. \u2605Designed for Versatility With a sleek, mid-century modern look, our industrial table legs are ideal for desks, benches and any piece of furniture in between! Finished with the latest in powder coating technology, the legs are uniform and smooth to\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nSAUTVS LED Headlight Assembly for Slingshot, Center Head Light Kit for Polaris Slingshot S GT R LE SL Modified Accessories, Replace OEM\nCompatible with Polaris Slingshot S SL SLR R LE (Please refer to the compatible list in description) Plug & Play, perfect and accurate replacement for the original headlight without any changing or modifying, replace OEM The design of internal protection mechanism makes it no flickering or failure; IP67 waterproof and scratch resistant materials prevent from dust, mud, snow or heavy rain leaking in; Strictly follow the quality and safety standards, working in all the weather conditions High quality LED beads are used, long service time and life span; Brighter and concentrated light source, ensuring your driving safety Package include 1 set LED headlight assembly\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nSAUTVS LED Headlight Assembly for Slingshot, Center Head Light Kit for Polaris Slingshot S GT R LE SL Modified Accessories, Replace OEM\nCompatible with Polaris Slingshot S SL SLR R LE (Please refer to the compatible list in description) Plug & Play, perfect and accurate replacement for the original headlight without any changing or modifying, replace OEM The design of internal protection mechanism makes it no flickering or failure; IP67 waterproof and scratch resistant materials prevent from dust, mud, snow or heavy rain leaking in; Strictly follow the quality and safety standards, working in all the weather conditions High quality LED beads are used, long service time and life span; Brighter and concentrated light source, ensuring your driving safety Package include 1 set LED headlight assembly\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nTascam Digital Portastudio Multi-Track Audio Recorder & Tascam RC3F 3-Way Footswitch\nTascam Digital Portastudio Multi-Track Audio RecorderTascam Digital Portastudio Multi-Track Audio RecordeTascam RC3F 3-Way FootswitchThe RC-3F is a 3-way footswitch for the GB-10, LR-10, DP-03 and other TASCAM recorders and players. The 1\/8 mini jack plugs into the remote jack of these TASCAM products to add features like play\/pause, looping or punch in. See the products' user manual for details. Product 1 Eighteen track faders and one master fader allows instant access to any track without selecting pages\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nTascam Digital Portastudio Multi-Track Audio Recorder & Tascam RC3F 3-Way Footswitch\nTascam Digital Portastudio Multi-Track Audio RecorderTascam Digital Portastudio Multi-Track Audio RecordeTascam RC3F 3-Way FootswitchThe RC-3F is a 3-way footswitch for the GB-10, LR-10, DP-03 and other TASCAM recorders and players. The 1\/8 mini jack plugs into the remote jack of these TASCAM products to add features like play\/pause, looping or punch in. See the products' user manual for details. Product 1 Eighteen track faders and one master fader allows instant access to any track without selecting pages\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nCharles Leonard Magnetic Lapboard Class Combo Pack, Includes 12 Each Plain\/Plain 9 x 12 Inch White Boards, 2-Inch Erasers, Black Dry Erase Markers\nClass pack provides an environmentally friendly way for children to learn. Dry-erase surface lets students write, wipe off and reuse with no waste. Classroom set includes magnetic lap boards that are dual-sided; dry-erase markers; and multipurpose erasers. ALL INCLUSIVE set has everything you need for the classroom! 12 Each Double Sided Magnetic Plain\/Plain 9x12 lap boards. Individual dry erase boards are large enough to work on for math problems, English language arts, Penmanship or for drawing. Just write and wipe, it\u2019s that easy SAFETY FIRST each set also includes 30\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nCharles Leonard Magnetic Lapboard Class Combo Pack, Includes 12 Each Plain\/Plain 9 x 12 Inch White Boards, 2-Inch Erasers, Black Dry Erase Markers\nClass pack provides an environmentally friendly way for children to learn. Dry-erase surface lets students write, wipe off and reuse with no waste. Classroom set includes magnetic lap boards that are dual-sided; dry-erase markers; and multipurpose erasers. ALL INCLUSIVE set has everything you need for the classroom! 12 Each Double Sided Magnetic Plain\/Plain 9x12 lap boards. Individual dry erase boards are large enough to work on for math problems, English language arts, Penmanship or for drawing. Just write and wipe, it\u2019s that easy SAFETY FIRST each set also includes 30\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nPHYNEDI 1 1000 World Trade Center Bricks Model Compatible with Lego, MOC DIY Creative Large Architecture Collection Challenge Building Toy, (4,870 Pieces)\nThe building instructions of this model are two PDF guides (Part 1 has 135 pages, Part 2 has 155 pages),. Part 1 also includes a four page introduction about the World Trade Center history and design. World Trade Center features Scale 1 in inches 13,2 x 10,7 (base area), 22,7 (height)Size in centimeters 33,6 x 27,2 (base area), 57,5 (height)Size in studs 42 x 34 (base area), 71,9 (height)Style ArchitectureYear 2022 Package\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nPHYNEDI 1 1000 World Trade Center Bricks Model Compatible with Lego, MOC DIY Creative Large Architecture Collection Challenge Building Toy, (4,870 Pieces)\nThe building instructions of this model are two PDF guides (Part 1 has 135 pages, Part 2 has 155 pages),. Part 1 also includes a four page introduction about the World Trade Center history and design. World Trade Center features Scale 1 in inches 13,2 x 10,7 (base area), 22,7 (height)Size in centimeters 33,6 x 27,2 (base area), 57,5 (height)Size in studs 42 x 34 (base area), 71,9 (height)Style ArchitectureYear 2022 Package\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nLilo And Stitch Deluxe Oversize Print Large 16 Backpack with Laptop Compartment - A19563 Multi-color\nSend them off with awesome top quality and durable Backpack by KBNL! Our backpacks and accessories feature today's popular characters and designs. KBNL backpacks are as practical as it is stylish and include the following features Durable polyester exterior, Full interior lining, dual side pockets, front organizer pocket for additional accessory storage, Padded and adjustable shoulder straps, padded interior pocket which protects up to a laptop, Fully padded back panel - KBNL products are made with top quality material and workmanship. Front organizer pocket for additional accessory storage Padded and adjustable shoulder straps, fully padded back panel, padded interior pocket which protects up to a laptop Dimensions 5 x 12 x\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nLilo And Stitch Deluxe Oversize Print Large 16 Backpack with Laptop Compartment - A19563 Multi-color\nSend them off with awesome top quality and durable Backpack by KBNL! Our backpacks and accessories feature today's popular characters and designs. KBNL backpacks are as practical as it is stylish and include the following features Durable polyester exterior, Full interior lining, dual side pockets, front organizer pocket for additional accessory storage, Padded and adjustable shoulder straps, padded interior pocket which protects up to a laptop, Fully padded back panel - KBNL products are made with top quality material and workmanship. Front organizer pocket for additional accessory storage Padded and adjustable shoulder straps, fully padded back panel, padded interior pocket which protects up to a laptop Dimensions 5 x 12 x\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\n3M Protecta Self Retracting Lifeline Rebel 6' (18M) Web Twin, Steel Rebar and Carabiner, Black\/Red\nOur Protecta personal self retracting lifelines (SRL\u2019s) represent a major improvement in economy line SRL\u2019s. Employers can economically replace simple lanyards with the versatility and added safety of a 6 ft. (1.8m) SRL. Protecta personal SRL\u2019s are ergonomically designed for ease of use and are ideal for direct connection to most harnesses. The compact and lightweight design is barely noticeable on your back and stays out of the worker\u2019s way. In addition, tension is always kept on the lifeline, which reduces dragging, snagging and trip falls. Whether your application requires\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\n3M Protecta Self Retracting Lifeline Rebel 6' (18M) Web Twin, Steel Rebar and Carabiner, Black\/Red\nOur Protecta personal self retracting lifelines (SRL\u2019s) represent a major improvement in economy line SRL\u2019s. Employers can economically replace simple lanyards with the versatility and added safety of a 6 ft. (1.8m) SRL. Protecta personal SRL\u2019s are ergonomically designed for ease of use and are ideal for direct connection to most harnesses. The compact and lightweight design is barely noticeable on your back and stays out of the worker\u2019s way. In addition, tension is always kept on the lifeline, which reduces dragging, snagging and trip falls. Whether your application requires\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nCANMORE H300 Handheld GPS Golf Device, Shot Distance Yardage Measuring, 40000+ Free Worldwide Preloaded Courses, Lightweight Golf Accessory for Golfers, Powerful Magnetic Clip for Golf Cart, Orange\nWORLDWIDE COURSE DATA - Free course data preloaded for over 40,000 (and counting) golf courses around the world (NO subscription fees) - Contact Canmore to add new courses or suggest fixes. ***Notice Golf courses may change layout over time, when detected, the device will display \u201cIncorrect Hole\u201d and require course update. Please visit the CANMORE website for updates and new course information. ESSENTIAL FUNCTIONS YOU NEED - Manage your game, not your golf assistant! GPS course finder switches hole automatically and gives you easy-to-access distance to green (\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nCANMORE H300 Handheld GPS Golf Device, Shot Distance Yardage Measuring, 40000+ Free Worldwide Preloaded Courses, Lightweight Golf Accessory for Golfers, Powerful Magnetic Clip for Golf Cart, Orange\nWORLDWIDE COURSE DATA - Free course data preloaded for over 40,000 (and counting) golf courses around the world (NO subscription fees) - Contact Canmore to add new courses or suggest fixes. ***Notice Golf courses may change layout over time, when detected, the device will display \u201cIncorrect Hole\u201d and require course update. Please visit the CANMORE website for updates and new course information. ESSENTIAL FUNCTIONS YOU NEED - Manage your game, not your golf assistant! GPS course finder switches hole automatically and gives you easy-to-access distance to green (\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nDodge Ram 1500 Mopar 4X4 Emblem -\nBRAND NEW AND MOPAR GENUINE 2007 2008 2009 2010 Dodge Ram 1500 2500 3500 4X4 Logo Emblem Decal Genuine MOPAR Part Number Oe Spec Or Performance\/Custom OE Spec, Manufacturer Warranty 2 Year, Modified Item No Manufacturer Part Number Model Ram 1500 2500 3500, Brand Compatible with Mopar Returns Accepted Returns Accepted, Non-Domestic Product No, Make Compatible with Dodge Fitment Type Direct Replacement, Model Year Manufacturer Mopar, Brand Mopar, Weight 1 pounds, Dimensions 6 x 6 x 6 inches, model number Manufacturer Part Position Rear, Available\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nDodge Ram 1500 Mopar 4X4 Emblem -\nBRAND NEW AND MOPAR GENUINE 2007 2008 2009 2010 Dodge Ram 1500 2500 3500 4X4 Logo Emblem Decal Genuine MOPAR Part Number Oe Spec Or Performance\/Custom OE Spec, Manufacturer Warranty 2 Year, Modified Item No Manufacturer Part Number Model Ram 1500 2500 3500, Brand Compatible with Mopar Returns Accepted Returns Accepted, Non-Domestic Product No, Make Compatible with Dodge Fitment Type Direct Replacement, Model Year Manufacturer Mopar, Brand Mopar, Weight 1 pounds, Dimensions 6 x 6 x 6 inches, model number Manufacturer Part Position Rear, Available\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nR&L Racing Heavy Duty Roll-Up Soft Tonneau Cover Compatible with 94-02 Dodge Ram Regular\/Club\/Quad Cab 6.5' 78 Bed\nR&L Racing Roll Up Tonneau Cover. Get effective bed protection, upgraded appearance, and even improved fuel economy, all at a budget price, with the R&L Racing Roll-Up Tonneau Cover. The vinyl cover will protect your truck bed and contents from the elements, and give your truck a smooth aerodynamic appearance that will even reduce drag for more miles per gallon. It features the quick and easy Clean-Seal closure system, lightweight aluminum rails and bows, and easy no-drill installation. Cargo in an unprotected pickup truck bed can become moisture damaged and corrode from exposure to rain and snow,\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nR&L Racing Heavy Duty Roll-Up Soft Tonneau Cover Compatible with 94-02 Dodge Ram Regular\/Club\/Quad Cab 6.5' 78 Bed\nR&L Racing Roll Up Tonneau Cover. Get effective bed protection, upgraded appearance, and even improved fuel economy, all at a budget price, with the R&L Racing Roll-Up Tonneau Cover. The vinyl cover will protect your truck bed and contents from the elements, and give your truck a smooth aerodynamic appearance that will even reduce drag for more miles per gallon. It features the quick and easy Clean-Seal closure system, lightweight aluminum rails and bows, and easy no-drill installation. Cargo in an unprotected pickup truck bed can become moisture damaged and corrode from exposure to rain and snow,\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nacer Aspire 5 Laptop, AMD Ryzen 3 5300U Quad-Core Processor, 15.6 FHD IPS Display, 8 GB DDR4 RAM, 512 GB PCIe SSD, HDMI, Fingerprint, Wi-Fi 6, Backlit Keyboard, Windows 11 Home S Mode\nProcessor AMD Ryzen 3 5300U 4-Core Processor (8 Threads, 4MB L3 Cache, Up to Graphics AMD Radeon Operating system Windows 11 Home English Memory 8 GB DDR5 SDRAM Hard Drive 512 GB PCIe Solid State Drive Optical Drive No Display 15.6 FHD (1920 x 1080) LED-backlit, IPS Wide Viewing Angle, Slim Bezel, 16 9 aspect ratio 1 x USB 2.0\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nacer Aspire 5 Laptop, AMD Ryzen 3 5300U Quad-Core Processor, 15.6 FHD IPS Display, 8 GB DDR4 RAM, 512 GB PCIe SSD, HDMI, Fingerprint, Wi-Fi 6, Backlit Keyboard, Windows 11 Home S Mode\nProcessor AMD Ryzen 3 5300U 4-Core Processor (8 Threads, 4MB L3 Cache, Up to Graphics AMD Radeon Operating system Windows 11 Home English Memory 8 GB DDR5 SDRAM Hard Drive 512 GB PCIe Solid State Drive Optical Drive No Display 15.6 FHD (1920 x 1080) LED-backlit, IPS Wide Viewing Angle, Slim Bezel, 16 9 aspect ratio 1 x USB 2.0\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nHoneywell Honeywell VisionPro Heat\/Cool Digital Thermostat, White\nThis Honeywell Digital Thermostat is the perfect upgrade to any home. Thermostat has RedLink Wireless Communication, Touch Screen and 7 day programmability. Stages up to 3 Heat \/ 2 Cool RedLINK wireless communication Precise temperature control (+\/- 1\u00b0 F) for reliable and consistent temperature Package weight of the Product 9.6 Ounces Brand Honeywell, Model Name Controller Type Android, Special Feature Programmable, Color White, Power Source Battery Powered, Weight 9.6 ounces, Voltage 24 Volts, Material Plastic, Shape Rectangular, Display Type 10 sq.in. LCD, Control Type Touch, s 1, Control Method Touch, Mounting Type Wall Mount,\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nHoneywell Honeywell VisionPro Heat\/Cool Digital Thermostat, White\nThis Honeywell Digital Thermostat is the perfect upgrade to any home. Thermostat has RedLink Wireless Communication, Touch Screen and 7 day programmability. Stages up to 3 Heat \/ 2 Cool RedLINK wireless communication Precise temperature control (+\/- 1\u00b0 F) for reliable and consistent temperature Package weight of the Product 9.6 Ounces Brand Honeywell, Model Name Controller Type Android, Special Feature Programmable, Color White, Power Source Battery Powered, Weight 9.6 ounces, Voltage 24 Volts, Material Plastic, Shape Rectangular, Display Type 10 sq.in. LCD, Control Type Touch, s 1, Control Method Touch, Mounting Type Wall Mount,\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nB&M 30287 Throttle Valve\/Kickdown Cable, Silver\/Black\nThis throttle valve \/ kickdown cable is adjustable, so it can accommodate most TH350 applications. It's handy as a straight replacement for an old OE model, and less expensive. If your project includes a transmission swap, you will appreciate the universal sizing during installation. Adjustable for a universal fit in 95% of all listed transmission applications Eases the installation process for transmission swaps Less expensive than OE models For use with TH350 transmissions Backed by the manufacturer with a 1 year limited warranty Brand B&M, Color Silver\/Black, Pieces 1, Special Feature Easy to Install, Included Components Screw, Weight 8 ounces, Unit Count 1.0 Count, s 1, Manufacturer B&M, model\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nB&M 30287 Throttle Valve\/Kickdown Cable, Silver\/Black\nThis throttle valve \/ kickdown cable is adjustable, so it can accommodate most TH350 applications. It's handy as a straight replacement for an old OE model, and less expensive. If your project includes a transmission swap, you will appreciate the universal sizing during installation. Adjustable for a universal fit in 95% of all listed transmission applications Eases the installation process for transmission swaps Less expensive than OE models For use with TH350 transmissions Backed by the manufacturer with a 1 year limited warranty Brand B&M, Color Silver\/Black, Pieces 1, Special Feature Easy to Install, Included Components Screw, Weight 8 ounces, Unit Count 1.0 Count, s 1, Manufacturer B&M, model\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nThe Ultimate Roadside Rescue Assistant\nThe Ultimate Roadside Rescue Assistant is the rechargeable power source, air compressor, emergency light and phone charger no driver should be without. It features a 140W inverter to power 110V household appliances, plus a car battery jump starter, 150 PSI air compressor and a 5 LED work light. Keep one in your home or vehicle for peace of mind. The Ultimate Roadside Rescue Assistant is the rechargeable power source, air compressor, emergency light and phone charger no driver should be without. It features a 140W inverter to power 110V household appliances, plus a car battery jump starter, 150 PSI air compressor and a 5 LED work light. Keep one in your home or vehicle for peace of mind. Manufacturer Rally Manufacturing\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nThe Ultimate Roadside Rescue Assistant\nThe Ultimate Roadside Rescue Assistant is the rechargeable power source, air compressor, emergency light and phone charger no driver should be without. It features a 140W inverter to power 110V household appliances, plus a car battery jump starter, 150 PSI air compressor and a 5 LED work light. Keep one in your home or vehicle for peace of mind. The Ultimate Roadside Rescue Assistant is the rechargeable power source, air compressor, emergency light and phone charger no driver should be without. It features a 140W inverter to power 110V household appliances, plus a car battery jump starter, 150 PSI air compressor and a 5 LED work light. Keep one in your home or vehicle for peace of mind. Manufacturer Rally Manufacturing\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nDanby Designer 20-In. Electric Range with Coil Elements and Ft. Oven Capacity in Stainless Steel\/Black\nYou dont need to be a world-class chef to enjoy cooking with this ultra-compact electric range by Danby Designer. Measuring only 20 inches wide, this stylish model is the ideal addition to trailers, cottages or efficiency apartments. It features a glass window on the oven door, plus angled front-mounted push and turn safety knobs with hot surface indicator lights. The lift-up porcelain cooktop has one 8-inch coil element for quick boiling and three 6-inch coil elements. Each element has a removable drip bowl for easy cleaning. The ft. electric oven has two oven racks with safety stops and four adjustable positions, plus a powerful broiler with 2400 watts of bro\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nDanby Designer 20-In. Electric Range with Coil Elements and Ft. Oven Capacity in Stainless Steel\/Black\nYou dont need to be a world-class chef to enjoy cooking with this ultra-compact electric range by Danby Designer. Measuring only 20 inches wide, this stylish model is the ideal addition to trailers, cottages or efficiency apartments. It features a glass window on the oven door, plus angled front-mounted push and turn safety knobs with hot surface indicator lights. The lift-up porcelain cooktop has one 8-inch coil element for quick boiling and three 6-inch coil elements. Each element has a removable drip bowl for easy cleaning. The ft. electric oven has two oven racks with safety stops and four adjustable positions, plus a powerful broiler with 2400 watts of bro\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nNikoMaku Mirror Dash Cam Front and Rear OEM Design Backup Camera for Cars 4K Resolution Type-C 11 Inch Full Touch Screen Rear View Mirror Camera 170\u00b0 Wide Angle Dual Cameras Waterproof AS5 Pro\n4K Resolution The AS5 Pro mirror dash cam delivers clear video with its 4K front camera and 1080P rear camera. Equipped with 170\u00b0 wide-angle front lenses, this camera can capture high-quality footage day or night. The mirror dash cam records in real-time and boasts an enhanced imaging system for superior image quality. With its 4K resolution, every detail on the road is vividly displayed. OEM Look Design The supplied bracket allows for a complete replacement of your existing rear-view mirror. Say goodbye to shaky footage while driving, as the bracket effectively\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nNikoMaku Mirror Dash Cam Front and Rear OEM Design Backup Camera for Cars 4K Resolution Type-C 11 Inch Full Touch Screen Rear View Mirror Camera 170\u00b0 Wide Angle Dual Cameras Waterproof AS5 Pro\n4K Resolution The AS5 Pro mirror dash cam delivers clear video with its 4K front camera and 1080P rear camera. Equipped with 170\u00b0 wide-angle front lenses, this camera can capture high-quality footage day or night. The mirror dash cam records in real-time and boasts an enhanced imaging system for superior image quality. With its 4K resolution, every detail on the road is vividly displayed. OEM Look Design The supplied bracket allows for a complete replacement of your existing rear-view mirror. Say goodbye to shaky footage while driving, as the bracket effectively\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nMickey Thompson ET Street S\/S Racing Radial Tire -\nA D.O.T. approved street tire which provides excellent traction at the strip. Proven polyester-ply, steel belted, tubeless radial construction provides strength & durability for excellent ride control on the street Proven R2 compound provides quick and consistent traction at the STRIP with little burnout required Minimal tread void for excellent dry traction, strategically placed to aid in hydroplane resistance 18 popular sizes for 15- to wheel diameters DO NOT USE ON DYNO Brand Mickey Thompson, Seasons Year Round, Size Section Width 275 Millimeters, Ply Rating Polyester, Tire Diameter 25.9 inches, Weight 30.95 Pounds, Manufacturer Mickey Thompson, Model ET Street S\/S, model number Is Discontinued No, Manufacturer\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nMickey Thompson ET Street S\/S Racing Radial Tire -\nA D.O.T. approved street tire which provides excellent traction at the strip. Proven polyester-ply, steel belted, tubeless radial construction provides strength & durability for excellent ride control on the street Proven R2 compound provides quick and consistent traction at the STRIP with little burnout required Minimal tread void for excellent dry traction, strategically placed to aid in hydroplane resistance 18 popular sizes for 15- to wheel diameters DO NOT USE ON DYNO Brand Mickey Thompson, Seasons Year Round, Size Section Width 275 Millimeters, Ply Rating Polyester, Tire Diameter 25.9 inches, Weight 30.95 Pounds, Manufacturer Mickey Thompson, Model ET Street S\/S, model number Is Discontinued No, Manufacturer\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nLearning Resources Coding Critters Ranger & Zip,22 Piece Set, Ages 4+, Screen-Free Early Coding Toy for Kids, Interactive STEM Coding Pet, Gifts for Boys and Girls,Back to School Gifts\nMeet the Coding critters your first coding friends. These playful puppy pets bring early STEM concepts to preschool learning through 100% screen-free coding. Kids code along with their new pets\u2019 storybook adventure, and help the brave Ranger and mischievous zip have a playtime they'll never forget. Each storybook coding challenge unfolds in the Coding critters' Fun pet playset - can you code Ranger to play hide and seek, fetch a ball from the tennis ball launcher, or catch zip after a ride down the slide? In addition to following along with the storybook's coding challenges,\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nLearning Resources Coding Critters Ranger & Zip,22 Piece Set, Ages 4+, Screen-Free Early Coding Toy for Kids, Interactive STEM Coding Pet, Gifts for Boys and Girls,Back to School Gifts\nMeet the Coding critters your first coding friends. These playful puppy pets bring early STEM concepts to preschool learning through 100% screen-free coding. Kids code along with their new pets\u2019 storybook adventure, and help the brave Ranger and mischievous zip have a playtime they'll never forget. Each storybook coding challenge unfolds in the Coding critters' Fun pet playset - can you code Ranger to play hide and seek, fetch a ball from the tennis ball launcher, or catch zip after a ride down the slide? In addition to following along with the storybook's coding challenges,\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nAIRAID Cold Air Intake System by K&N Increased Horsepower, Cotton Oil Filter Compatible with FORD (Excursion, F250 Super Duty, F350 Super Duty)\nINCREASES HORESPOWER AIRAID performance air intake systems feature an aerodynamically-engineered intake tube, designed to accelerate airflow to your engine and reduce turbulence\u2014helping increase your vehicle\u2019s performance SUPERIOR FILTRATION AIRAID performance intake systems are engineered to provide a smooth, unimpeded path for airflow to your engine\u2014keeping the air cooler and more oxygen-dense. Injecting more oxygen-rich air into the cylinders allows the engine to burn fuel more efficiently during combustion, offering you an increase in performance EASY INSTALL These simple-to-install, sophisticated systems help maintain proper air-to-fuel\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nAIRAID Cold Air Intake System by K&N Increased Horsepower, Cotton Oil Filter Compatible with FORD (Excursion, F250 Super Duty, F350 Super Duty)\nINCREASES HORESPOWER AIRAID performance air intake systems feature an aerodynamically-engineered intake tube, designed to accelerate airflow to your engine and reduce turbulence\u2014helping increase your vehicle\u2019s performance SUPERIOR FILTRATION AIRAID performance intake systems are engineered to provide a smooth, unimpeded path for airflow to your engine\u2014keeping the air cooler and more oxygen-dense. Injecting more oxygen-rich air into the cylinders allows the engine to burn fuel more efficiently during combustion, offering you an increase in performance EASY INSTALL These simple-to-install, sophisticated systems help maintain proper air-to-fuel\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nFenix HP25R v2.0 USB-C Rechargeable Headlamp Bundle with Backup Battery, 1600 Lumen Spotlight, 400 lumens Floodlight and Red Light with LumenTac Organizer\nHIGH-PERFORMANCE - The Fenix HP25R v2.0 headlamp emits up to 1600 lumen spotlight reaching 317 yards. You can also switch to a wide-angle floodlight, or an auxiliary red light to preserve the night vision. USB-C RECHARGEABLE - via its built-in charging port. Includes a high capacity battery. Runs up to 400 hours on the lowest mode. DESIGN FOR COMFORT -The HP25R v2.0 keeps the battery compartment in the rear to maintain a balanced weight. Also comes with cable clips\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nFenix HP25R v2.0 USB-C Rechargeable Headlamp Bundle with Backup Battery, 1600 Lumen Spotlight, 400 lumens Floodlight and Red Light with LumenTac Organizer\nHIGH-PERFORMANCE - The Fenix HP25R v2.0 headlamp emits up to 1600 lumen spotlight reaching 317 yards. You can also switch to a wide-angle floodlight, or an auxiliary red light to preserve the night vision. USB-C RECHARGEABLE - via its built-in charging port. Includes a high capacity battery. Runs up to 400 hours on the lowest mode. DESIGN FOR COMFORT -The HP25R v2.0 keeps the battery compartment in the rear to maintain a balanced weight. Also comes with cable clips\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nG9 LED Light 100W replacement halogen bulbs equivalent g9 led bulbs AC110V 120V 130 voltage Bi-Pin Base Corn Base\uff0cDaylight White of 4)\nPerfect G9 replacement(Daylight White 6000K) This G9 bulb is the same type as traditioanl g9 base replacement, producing confortable light Efficient Each this type of candelabra bulbs provides around 850lm, improving the brightness of your room\/home Simple Installation G9 base. Installs into existing G9 base holder Applications Furniture lighting, office lighting, merchandise lighting, display lighting, interior light etc one year, free replacement if any not working during period, please send email to us directly. Brightness 102 pcs LED chip.Brightness than general LED G9 ALL\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nG9 LED Light 100W replacement halogen bulbs equivalent g9 led bulbs AC110V 120V 130 voltage Bi-Pin Base Corn Base\uff0cDaylight White of 4)\nPerfect G9 replacement(Daylight White 6000K) This G9 bulb is the same type as traditioanl g9 base replacement, producing confortable light Efficient Each this type of candelabra bulbs provides around 850lm, improving the brightness of your room\/home Simple Installation G9 base. Installs into existing G9 base holder Applications Furniture lighting, office lighting, merchandise lighting, display lighting, interior light etc one year, free replacement if any not working during period, please send email to us directly. Brightness 102 pcs LED chip.Brightness than general LED G9 ALL\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nHappy Birthday to Dad From Your Daughter Greeting Card - I've Always Known I Could Depend On Your Love and Support No Matter What\nGreeting Card Includes Envelope Front From Your Daughter - Ever since I was a little girl, you've been such an important part of my life... I've always known I could depend on your love and support... no matter what. Inside On your birthday, if I could give you anything in return for all you've given me, it would have to be the love I always hold in my heart for you. Manufacturer Greeting Card, Brand Greeting Card, Weight 1.6 ounces, Dimensions 9 x 7 x 0.1 inches, Is Discontinued No, Pre-printed happy birthday, s 1, Manufacturer Part GC, Rank\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nHappy Birthday to Dad From Your Daughter Greeting Card - I've Always Known I Could Depend On Your Love and Support No Matter What\nGreeting Card Includes Envelope Front From Your Daughter - Ever since I was a little girl, you've been such an important part of my life... I've always known I could depend on your love and support... no matter what. Inside On your birthday, if I could give you anything in return for all you've given me, it would have to be the love I always hold in my heart for you. Manufacturer Greeting Card, Brand Greeting Card, Weight 1.6 ounces, Dimensions 9 x 7 x 0.1 inches, Is Discontinued No, Pre-printed happy birthday, s 1, Manufacturer Part GC, Rank\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nHitachi Mass Air Flow Sensor\nHitachi\u2019s Air Flow Sensors (MAFs) measure the amount and characteristics of air entering the engine. Hitachi uses precision elements and high-quality components for enhanced durability and accurate air flow measurements. Hitachi MAFs are 100% air flow tested for ideal performance and are calibrated for each application ensuring your vehicle meets the strict emission standards set by the manufacturer. Details such as a contaminant bypass port (when applicable) and protected circuitry providing a durable and reliable product approved by OE manufacturers makes Hitachi\u2019s air flow sensors the premium choice. New orignial equipment part Restores original drivability characteristics Meets the OE performance and durability standards for this application Precision manufactured and assembled sensing elements for accurate air flow measurements Built in contaminant bypass port provides reliable operation\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nHitachi Mass Air Flow Sensor\nHitachi\u2019s Air Flow Sensors (MAFs) measure the amount and characteristics of air entering the engine. Hitachi uses precision elements and high-quality components for enhanced durability and accurate air flow measurements. Hitachi MAFs are 100% air flow tested for ideal performance and are calibrated for each application ensuring your vehicle meets the strict emission standards set by the manufacturer. Details such as a contaminant bypass port (when applicable) and protected circuitry providing a durable and reliable product approved by OE manufacturers makes Hitachi\u2019s air flow sensors the premium choice. New orignial equipment part Restores original drivability characteristics Meets the OE performance and durability standards for this application Precision manufactured and assembled sensing elements for accurate air flow measurements Built in contaminant bypass port provides reliable operation\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nGarage-Pro Tailgate SET Compatible with Chevrolet Silverado 1500, Fits 2007 Chevrolet Silverado 1500 Classic, 1500 HD Classic, 2500 HD Classic, 3500 Classic Fleetside\/Styleside\nManufactured from high quality materials Manufactured from high quality materials Easy to install; replaces old or damaged part Easy to install; replaces old or damaged part This is an OE replacement item This is an OE replacement item Garage-Pro is the most affordable brand for your old, worn-out, or damaged factory part! This premium quality replacement part is made to give your car, truck, and SUV that original factory look and performance. Available for different applications, our Garage-Pro part will surely fit right to your vehicle. Comes with 1-year unlimited mileage warranty!\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nGarage-Pro Tailgate SET Compatible with Chevrolet Silverado 1500, Fits 2007 Chevrolet Silverado 1500 Classic, 1500 HD Classic, 2500 HD Classic, 3500 Classic Fleetside\/Styleside\nManufactured from high quality materials Manufactured from high quality materials Easy to install; replaces old or damaged part Easy to install; replaces old or damaged part This is an OE replacement item This is an OE replacement item Garage-Pro is the most affordable brand for your old, worn-out, or damaged factory part! This premium quality replacement part is made to give your car, truck, and SUV that original factory look and performance. Available for different applications, our Garage-Pro part will surely fit right to your vehicle. Comes with 1-year unlimited mileage warranty!\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nCelestron - PowerSeeker 127EQ Telescope - Manual German Equatorial Telescope for Beginners - Compact and Portable - Bonus Astronomy Software Package - 127mm Aperture & 1.25 Moon Filter\nCelestron 1.25 Moon FilterThe Moon has the distinction of being the most often viewed celestial object through backyard telescopes. It is undoubtedly beautiful and mysterious, and is one of those constants in our lives that connects us to every other being on our planet. Regardless of who we are or where we live or travel, we all look at the same moon. It is difficult to look at the Moon through a telescope and see all of the details due to its brightness. Our eyes are not ready for the bright beam of light that emits from the eyepiece, and they \u201c\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nCelestron - PowerSeeker 127EQ Telescope - Manual German Equatorial Telescope for Beginners - Compact and Portable - Bonus Astronomy Software Package - 127mm Aperture & 1.25 Moon Filter\nCelestron 1.25 Moon FilterThe Moon has the distinction of being the most often viewed celestial object through backyard telescopes. It is undoubtedly beautiful and mysterious, and is one of those constants in our lives that connects us to every other being on our planet. Regardless of who we are or where we live or travel, we all look at the same moon. It is difficult to look at the Moon through a telescope and see all of the details due to its brightness. Our eyes are not ready for the bright beam of light that emits from the eyepiece, and they \u201c\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nMarada Racing Seat with Adjustable Slide for Racing Wheel Simulator Stand Cockpit Adjustable Seat Back Breathable Fabric Black with Installed Parts\nAdjustable The adjustment angle of the seat back is 60-135 degrees. By adjusting the handle you can easily adjust to the angle you want.Can be suitable for players of different sizes. Overall Height 34.2, Side Width 21.2, Knee Width 20.6, Seat Back Height 30.7, Shoulder Width 21 Material Cloth, not easy to dirty. The fabric is very breathable and Suitable for sedentary. The product is not easy to deform, protect your spine and cultivate good driving habits. Design The seat bottom adopts double lock slide rail design, which is very stable, high matching with our bracket, and easy to install Experience\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nMarada Racing Seat with Adjustable Slide for Racing Wheel Simulator Stand Cockpit Adjustable Seat Back Breathable Fabric Black with Installed Parts\nAdjustable The adjustment angle of the seat back is 60-135 degrees. By adjusting the handle you can easily adjust to the angle you want.Can be suitable for players of different sizes. Overall Height 34.2, Side Width 21.2, Knee Width 20.6, Seat Back Height 30.7, Shoulder Width 21 Material Cloth, not easy to dirty. The fabric is very breathable and Suitable for sedentary. The product is not easy to deform, protect your spine and cultivate good driving habits. Design The seat bottom adopts double lock slide rail design, which is very stable, high matching with our bracket, and easy to install Experience\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nSpec-D Tuning LED Projector Headlights Glossy Black Housing Smoke Lens Compatible with Subaru Impreza Outback Sport, Subaru Impreza WRX Left + Right Pair Headlamps Assembly\n\u2714\ufe0f All of Our Items are 100% Brand New In Original Packaging! You Will Never Receive a Used Item From Us! Comes in a Pair (Driver Side Left & Passenger Side Right Included) \u2714\ufe0f DOT and SAE Compliant. Made by an ISO Certified Manufacturer using Materials that meet or Exceed OEM Requirements! \u2714\ufe0f Direct Bolt On Replacement From Your Original Headlights! No Wiring or Modifications Needed! No Installation Instructions Included, Professional Installation is Highly Recommended! \u2714\ufe0f Products Undergo Strict Quality Control to Ensure it is Waterproof (fully sealed with solid silicon) & Impact\/UV Resistant\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nSpec-D Tuning LED Projector Headlights Glossy Black Housing Smoke Lens Compatible with Subaru Impreza Outback Sport, Subaru Impreza WRX Left + Right Pair Headlamps Assembly\n\u2714\ufe0f All of Our Items are 100% Brand New In Original Packaging! You Will Never Receive a Used Item From Us! Comes in a Pair (Driver Side Left & Passenger Side Right Included) \u2714\ufe0f DOT and SAE Compliant. Made by an ISO Certified Manufacturer using Materials that meet or Exceed OEM Requirements! \u2714\ufe0f Direct Bolt On Replacement From Your Original Headlights! No Wiring or Modifications Needed! No Installation Instructions Included, Professional Installation is Highly Recommended! \u2714\ufe0f Products Undergo Strict Quality Control to Ensure it is Waterproof (fully sealed with solid silicon) & Impact\/UV Resistant\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nBostingner Shower Faucets Sets Complete, Shower System 10 Inch All Metal Overhead Rain Shower Combo Set with Handheld Ceiling Mounted 3 Way Pressure Balance Shower Valve and Trim Kit, Matte Black\nUltra-Luxury Multi Shower - Unlike normal shower kit that can only use single function at a time, Bostingner Shower head system can be used both the rainfall shower head and handheld spray SIMULTANEOUSLY that strikes the perfect balance of GENEROUS COVERAGE and HIGH PRESSURE. The PUSH BUTTON design makes it easy to switch settings, so children and elderly can also use it without a problem Anti-scald & Water Hammer Prevention - The Upgrade cUPC Certified Anti-scald pressure balance valve is key to safe homes, effectively control water pressure balance to prevent scald and\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nBostingner Shower Faucets Sets Complete, Shower System 10 Inch All Metal Overhead Rain Shower Combo Set with Handheld Ceiling Mounted 3 Way Pressure Balance Shower Valve and Trim Kit, Matte Black\nUltra-Luxury Multi Shower - Unlike normal shower kit that can only use single function at a time, Bostingner Shower head system can be used both the rainfall shower head and handheld spray SIMULTANEOUSLY that strikes the perfect balance of GENEROUS COVERAGE and HIGH PRESSURE. The PUSH BUTTON design makes it easy to switch settings, so children and elderly can also use it without a problem Anti-scald & Water Hammer Prevention - The Upgrade cUPC Certified Anti-scald pressure balance valve is key to safe homes, effectively control water pressure balance to prevent scald and\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nSherman GO-PARTS - for Toyota Avalon Side View Mirror - Right (Passenger) Replacement 2014 2015\nSherman Replacement Part Compatible with TOYOTA AVALON Right Mirror outside rear view (Partslink Number Sherman Replacement Part Compatible with TOYOTA AVALON Right Mirror outside rear view (Partslink Number Manufacturer Sherman, Brand Sherman, Model Weight 3.35 pounds, Dimensions 17.01 x 11.73 x 6.69 inches, model number Exterior Painted, Manufacturer Part ABPA Partslink Position Rear, Lift Type Manual, Rank Automotive Automotive Exterior Mirrors 21172, Available November 8, 2021, Auto Part Position Rear, Mounting Type Windshield Mount, Included Components Mirror, Operation Mode Manual, Shape Rect\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nSherman GO-PARTS - for Toyota Avalon Side View Mirror - Right (Passenger) Replacement 2014 2015\nSherman Replacement Part Compatible with TOYOTA AVALON Right Mirror outside rear view (Partslink Number Sherman Replacement Part Compatible with TOYOTA AVALON Right Mirror outside rear view (Partslink Number Manufacturer Sherman, Brand Sherman, Model Weight 3.35 pounds, Dimensions 17.01 x 11.73 x 6.69 inches, model number Exterior Painted, Manufacturer Part ABPA Partslink Position Rear, Lift Type Manual, Rank Automotive Automotive Exterior Mirrors 21172, Available November 8, 2021, Auto Part Position Rear, Mounting Type Windshield Mount, Included Components Mirror, Operation Mode Manual, Shape Rect\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nMonroe Shocks & Struts Quick-Strut 171585 Strut and Coil Spring Assembly\nFeaturing a vehicle-specific design, Monroe\u00ae Quick-Strut\u00ae strut assemblies are fit checked, ride tested and engineered to restore factory ride height and ride performance. Assembled in Paragould, AR, they include all required components in a single unit. QUICKER, SAFER, EASIER AND COMPLETE REPAIR -- Includes everything you need for strut replacement in a single, fully assembled unit with no need for a spring compressor RESTORES RIDE HEIGHT -- Precisely calibrated to meet the OE design, each application-specific coil spring type is engineered to restore ride height and support the vehicle's weight VEHICLE-SPECIFIC DESIGN -- Application-specific coil spring, mount and strut designs ensure\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nMonroe Shocks & Struts Quick-Strut 171585 Strut and Coil Spring Assembly\nFeaturing a vehicle-specific design, Monroe\u00ae Quick-Strut\u00ae strut assemblies are fit checked, ride tested and engineered to restore factory ride height and ride performance. Assembled in Paragould, AR, they include all required components in a single unit. QUICKER, SAFER, EASIER AND COMPLETE REPAIR -- Includes everything you need for strut replacement in a single, fully assembled unit with no need for a spring compressor RESTORES RIDE HEIGHT -- Precisely calibrated to meet the OE design, each application-specific coil spring type is engineered to restore ride height and support the vehicle's weight VEHICLE-SPECIFIC DESIGN -- Application-specific coil spring, mount and strut designs ensure\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nKNOKLOCK 10 Pack 3.75 Kitchen Cabinet Handles Brushed Satin Nickel Cabinet Pulls Kitchen Cabinet Hardware Drawer Pulls for Dresser Cupboard Wardrobe\nMaterial - The cabinet handles is made of zinc alloy, brushed satin nickel finish, more stable and durable, while making your cabinet more delicate and beautiful. Cabinet Pulls Dimensions - Hole Centers(CC) 3.75 Overall Length 4.9 Width 0.60 Projection 0.80 (22mm) Fits Most Cabinets - We offer 1 (25mm) and 1.77 (45mm) mounting screws to help you mount most furniture of different thicknesses, Machine Screws Metric Size M4 Versatile Appicatications - This brushed satin nickel cabinet handles is perfect for dressers, drawers,\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nKNOKLOCK 10 Pack 3.75 Kitchen Cabinet Handles Brushed Satin Nickel Cabinet Pulls Kitchen Cabinet Hardware Drawer Pulls for Dresser Cupboard Wardrobe\nMaterial - The cabinet handles is made of zinc alloy, brushed satin nickel finish, more stable and durable, while making your cabinet more delicate and beautiful. Cabinet Pulls Dimensions - Hole Centers(CC) 3.75 Overall Length 4.9 Width 0.60 Projection 0.80 (22mm) Fits Most Cabinets - We offer 1 (25mm) and 1.77 (45mm) mounting screws to help you mount most furniture of different thicknesses, Machine Screws Metric Size M4 Versatile Appicatications - This brushed satin nickel cabinet handles is perfect for dressers, drawers,\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nRockland VMI14 12,000 Pound 12 Volt DC Electric Integrated Vehicle Winch Kit with a Synthetic Rope and Remote Accessory for Jeep, Truck, and ATV Recovery\nMULTI-PURPOSE WINCH Electric vehicle winch with a Hawse fairlead and synthetic rope provides car recovery in tough situations for trucks and SUVs CONVENIENT REMOTE OPERATION Wired remote controller power switch allows for retracting the rope for winching as desired DC MOTOR Series-wound motor stays cooler during longer pulls to increase continuous operation time HIGH-PERFORMANCE GEAR SYSTEM planetary gear system with free spooling provides a fast line speed with a fast line-out FEATURES AND SPECIFICATIONS Voltage detection and stall load protection capabilities flash red and blue LED lights to warn and alert you; Color Black; Dimensions (L\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nRockland VMI14 12,000 Pound 12 Volt DC Electric Integrated Vehicle Winch Kit with a Synthetic Rope and Remote Accessory for Jeep, Truck, and ATV Recovery\nMULTI-PURPOSE WINCH Electric vehicle winch with a Hawse fairlead and synthetic rope provides car recovery in tough situations for trucks and SUVs CONVENIENT REMOTE OPERATION Wired remote controller power switch allows for retracting the rope for winching as desired DC MOTOR Series-wound motor stays cooler during longer pulls to increase continuous operation time HIGH-PERFORMANCE GEAR SYSTEM planetary gear system with free spooling provides a fast line speed with a fast line-out FEATURES AND SPECIFICATIONS Voltage detection and stall load protection capabilities flash red and blue LED lights to warn and alert you; Color Black; Dimensions (L\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nFleck 2510 Timer Mechanical Filter Control Head\n- Mechanical 2510 control head for filter systems - - 12-day timer initiated backwash - - Maximum 17 GPM backwash (includes 7 GPM DLFC) - - Standard 2. 5 -8 NPSM mounting base - - Requires yoke or bypass to connect to plumbing -Heavy duty 2510 electromechanical control valve provides simple and durable backwash control for most common backwashing filters. A maximum of 17 GPM available backwash can handle even dense iron filter medias. Dedicated piston motor provides powerful piston movement that reduces system maintenance. New Fleck 2510 filter valve replacement for filter tanks Fully adjustable cycles for backwash and rinse times For back-washing filters, allows for strong\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nFleck 2510 Timer Mechanical Filter Control Head\n- Mechanical 2510 control head for filter systems - - 12-day timer initiated backwash - - Maximum 17 GPM backwash (includes 7 GPM DLFC) - - Standard 2. 5 -8 NPSM mounting base - - Requires yoke or bypass to connect to plumbing -Heavy duty 2510 electromechanical control valve provides simple and durable backwash control for most common backwashing filters. A maximum of 17 GPM available backwash can handle even dense iron filter medias. Dedicated piston motor provides powerful piston movement that reduces system maintenance. New Fleck 2510 filter valve replacement for filter tanks Fully adjustable cycles for backwash and rinse times For back-washing filters, allows for strong\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nTOYO Open Country MT Performance Radial E\/10 129P\nTOYO Open Country MT Performance Radial E\/10 129P Country of Origin Japan The Package Height of the Product is 11.8 inches The Package Length of the Product is 34.5 inches The Package Width of the Product is 34.5 inches Fit type Universal Fit Load capacity 4080 pounds Brand Toyo Tires, Size E\/10, Rim Size 18 Inches, Section Width 295 Millimeters, Tire Aspect Ratio 70.0, Load Index 129, Speed Rating P, Load Capacity 4080 Pounds, Tread Depth 19.4 32nds, Tread Type Non-Directional, Tire Diameter 25, Weight 58 pounds, Manufacturer Toyo\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nTOYO Open Country MT Performance Radial E\/10 129P\nTOYO Open Country MT Performance Radial E\/10 129P Country of Origin Japan The Package Height of the Product is 11.8 inches The Package Length of the Product is 34.5 inches The Package Width of the Product is 34.5 inches Fit type Universal Fit Load capacity 4080 pounds Brand Toyo Tires, Size E\/10, Rim Size 18 Inches, Section Width 295 Millimeters, Tire Aspect Ratio 70.0, Load Index 129, Speed Rating P, Load Capacity 4080 Pounds, Tread Depth 19.4 32nds, Tread Type Non-Directional, Tire Diameter 25, Weight 58 pounds, Manufacturer Toyo\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nVelvac - 715427\n2020 Mirror System, 2003 & Newer Ford E-Series Cutaway Standard Head, Black, Htd Remote Flat Glass, Wedge Convex, 102 Body Width, Left Side 2020 System, Ford E, 102 Body, Black, Left Side Htd Remote Flat Glass, Wedge Convex, Standard Head Model 2020 mirrors are designed specifically for wide body applications such as high cube cut away vans, rental trucks, Class C RV's and ambulances. The fixed length arms are designed to position the mirror beyond the body providing the driver with an unobstructed view of blind spots and passing lanes around the vehicle. These versatile mirrors are available in several body widths and finishes as well as manual or heated remote glass\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nVelvac - 715427\n2020 Mirror System, 2003 & Newer Ford E-Series Cutaway Standard Head, Black, Htd Remote Flat Glass, Wedge Convex, 102 Body Width, Left Side 2020 System, Ford E, 102 Body, Black, Left Side Htd Remote Flat Glass, Wedge Convex, Standard Head Model 2020 mirrors are designed specifically for wide body applications such as high cube cut away vans, rental trucks, Class C RV's and ambulances. The fixed length arms are designed to position the mirror beyond the body providing the driver with an unobstructed view of blind spots and passing lanes around the vehicle. These versatile mirrors are available in several body widths and finishes as well as manual or heated remote glass\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nAmScope LED Cordless Stereo Microscope w\/Top & Bottom Light Illumination System and 36 specimens\nThis cordless LED binocular stereo microscope comes with two pairs of stereo objective lenses mounted in a rotating nosecone, sturdy all-metal pillar stand, and a versatile illumination system that provides both incident (top) lighting and transmitted (bottom) lighting. You can choose between incident illumination shining down onto the object or transmitted illumination through the frosted stage plate. The first is used for the observation of three-dimensional objects and the second for the observation of slides. It comes with a rechargeable illumination system capable of taking rechargeable AA batteries, and an AC adapter\/charger. This microscope offers high resolution and good depth within a broad field of view. It gives sharp clear stereo images. Its 45\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nAmScope LED Cordless Stereo Microscope w\/Top & Bottom Light Illumination System and 36 specimens\nThis cordless LED binocular stereo microscope comes with two pairs of stereo objective lenses mounted in a rotating nosecone, sturdy all-metal pillar stand, and a versatile illumination system that provides both incident (top) lighting and transmitted (bottom) lighting. You can choose between incident illumination shining down onto the object or transmitted illumination through the frosted stage plate. The first is used for the observation of three-dimensional objects and the second for the observation of slides. It comes with a rechargeable illumination system capable of taking rechargeable AA batteries, and an AC adapter\/charger. This microscope offers high resolution and good depth within a broad field of view. It gives sharp clear stereo images. Its 45\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nLongacre Aluminum Turn Plates\nLongacre is an established brand name in the racing industry and is recognized for dedication to quality, innovation and customer satisfaction. Check out our comprehensive line of race scales, alignment tools, racing gauges and other products. Whether you are into stock, modified, drag, go kart, off-road, sprint or RC car racing, we'll provide you with the quality racing parts you deserve. The free floating in 2 directions eliminates bind It reads to 1\/2\u00b0 - Degrees can be zeroed with the car on The low profile design means that its only 1 tall Can also be used on top of scale pads Has a weight capacity of 1,500 lbs. per scale Manufacturer Longacre, Brand Longacre, Model Longacre Racing Products, Weight 31\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nLongacre Aluminum Turn Plates\nLongacre is an established brand name in the racing industry and is recognized for dedication to quality, innovation and customer satisfaction. Check out our comprehensive line of race scales, alignment tools, racing gauges and other products. Whether you are into stock, modified, drag, go kart, off-road, sprint or RC car racing, we'll provide you with the quality racing parts you deserve. The free floating in 2 directions eliminates bind It reads to 1\/2\u00b0 - Degrees can be zeroed with the car on The low profile design means that its only 1 tall Can also be used on top of scale pads Has a weight capacity of 1,500 lbs. per scale Manufacturer Longacre, Brand Longacre, Model Longacre Racing Products, Weight 31\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nStudio M Peace and Harmony Art Pole Community Inspirational Outdoor Decorative Garden Post, Made in USA, 60 Inches Tall\nImpactful. Beautiful. Unique. An Art Pole is an impactful way to bring beautiful artwork into any landscape. With a patented, state-of-the-art design and exceptional quality, it will be at the heart of your garden for years to come. Art Poles are easy to install - all hardware is included and no digging is necessary. Made in the USA from ultra-durable, maintenance free PVC, each Art Pole features vivid artwork with an expected 5-year fade-resistance (this will vary by regional climate and sun exposure). U.S. Patent No. U.S. Patent No. U.S. Patent No. Art Poles are created by the team of passionate people\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nStudio M Peace and Harmony Art Pole Community Inspirational Outdoor Decorative Garden Post, Made in USA, 60 Inches Tall\nImpactful. Beautiful. Unique. An Art Pole is an impactful way to bring beautiful artwork into any landscape. With a patented, state-of-the-art design and exceptional quality, it will be at the heart of your garden for years to come. Art Poles are easy to install - all hardware is included and no digging is necessary. Made in the USA from ultra-durable, maintenance free PVC, each Art Pole features vivid artwork with an expected 5-year fade-resistance (this will vary by regional climate and sun exposure). U.S. Patent No. U.S. Patent No. U.S. Patent No. Art Poles are created by the team of passionate people\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nSK6241 - Stinger 4 Gauge 6000 Series Power Amplifier Installation Kit\nAmplifier installation kits can save you time & money when installing an amplifier in your vehicle. Instead of purchasing everything you need separately like power\/ground cables, remote turn-on cable, fuse blocks, fuses, and more, you can get an amp kit that already has the cables & accessories in one package. Amplifier wiring kits come in various gauge configurations depending on the wattage of your sound system and include all the necessary components you need to successfully install an amplifier. This Stinger 4 AWG 6000 Series Power Amplifier Wiring Kit includes all the necessary hardware and wire to power one amplifier and is designed specifically for car audio systems up to 1750 watts. The included premium power\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nSK6241 - Stinger 4 Gauge 6000 Series Power Amplifier Installation Kit\nAmplifier installation kits can save you time & money when installing an amplifier in your vehicle. Instead of purchasing everything you need separately like power\/ground cables, remote turn-on cable, fuse blocks, fuses, and more, you can get an amp kit that already has the cables & accessories in one package. Amplifier wiring kits come in various gauge configurations depending on the wattage of your sound system and include all the necessary components you need to successfully install an amplifier. This Stinger 4 AWG 6000 Series Power Amplifier Wiring Kit includes all the necessary hardware and wire to power one amplifier and is designed specifically for car audio systems up to 1750 watts. The included premium power\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nGODOX CB-06 Hard Carrying Case with Wheels\nGodox CB-06 Hard Carrying Case with Wheels Carrying\/Transport Options Dual connecting straps Top handle Wheels Dimensions 94.0 x 34.0 x 25.0cm (37.01 x 13.39 x 9.84 ) Dimensions 41.25 x 16.25 x 12.5 inches, Weight 7.5 pounds, model number CB 06, Rank Tripod & Monopod Cases 13, Is Discontinued No, Available August 24, 2017, Manufacturer Godox, Language English, Brand GODOX, Color Black, Closure Type Zipper, Pattern Solid, Dimensions LxWxH 41.25 x 16.25 x\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nGODOX CB-06 Hard Carrying Case with Wheels\nGodox CB-06 Hard Carrying Case with Wheels Carrying\/Transport Options Dual connecting straps Top handle Wheels Dimensions 94.0 x 34.0 x 25.0cm (37.01 x 13.39 x 9.84 ) Dimensions 41.25 x 16.25 x 12.5 inches, Weight 7.5 pounds, model number CB 06, Rank Tripod & Monopod Cases 13, Is Discontinued No, Available August 24, 2017, Manufacturer Godox, Language English, Brand GODOX, Color Black, Closure Type Zipper, Pattern Solid, Dimensions LxWxH 41.25 x 16.25 x\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\n2 Pack Combo Womens Safety Glasses Impact Resistant Clear Smoke Lens\nPackage Includes 2 pairs of Womens Safety Glasses with Clear Lenses and Black Sunglasses Lens Assorted Color Temple Frames Available! Sizing Information Frame length \u2013 6.25 in, Frame Width 5.4 in. Exceeds ANSI Z87.1+ Safety Standards. Shatter Proof Protection Our lenses offer 100% protection against glare and protection against UV\/UVA\/UVB rays. The Safety Glasses are also scratch-resistant, impact-resistant, and shatter proof. Keep your eyes safe during construction, metalworking, welding, woodworking, hunting, fishing, sports, shooting, and other activities outdoors. Impact Resistant Coating coating Package Includes 2 pairs of Womens Safety Glasses with Clear Lenses and Black Sunglasses\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\n2 Pack Combo Womens Safety Glasses Impact Resistant Clear Smoke Lens\nPackage Includes 2 pairs of Womens Safety Glasses with Clear Lenses and Black Sunglasses Lens Assorted Color Temple Frames Available! Sizing Information Frame length \u2013 6.25 in, Frame Width 5.4 in. Exceeds ANSI Z87.1+ Safety Standards. Shatter Proof Protection Our lenses offer 100% protection against glare and protection against UV\/UVA\/UVB rays. The Safety Glasses are also scratch-resistant, impact-resistant, and shatter proof. Keep your eyes safe during construction, metalworking, welding, woodworking, hunting, fishing, sports, shooting, and other activities outdoors. Impact Resistant Coating coating Package Includes 2 pairs of Womens Safety Glasses with Clear Lenses and Black Sunglasses\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nCase of 24-2 Inch Blue Painters Tape - 60 Yards\/roll\nCase of 24 rolls of painters tape bulk packed for easy use and access. Each roll is 1.88 inches by 60 yards of masking tape. Professional grade tape is flexible, leaves no sticky residue behind, prevents paint bleed, removes without damaging surface, and gives clean edges. Use for every kind of painting, trimming edging, masking. or protecting. Brightly colored tape works well with delicate and bold paint colors. Durable, strong tape sticks to a variety of clean \/ dry surfaces. Apply pressure when adhering tape for the cleanest lines as adhesive is pressure sensitive and heat activated. Ideal for use in temperatures from 40 to 130 degrees Fahrenheit. Made in the USA.\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nCase of 24-2 Inch Blue Painters Tape - 60 Yards\/roll\nCase of 24 rolls of painters tape bulk packed for easy use and access. Each roll is 1.88 inches by 60 yards of masking tape. Professional grade tape is flexible, leaves no sticky residue behind, prevents paint bleed, removes without damaging surface, and gives clean edges. Use for every kind of painting, trimming edging, masking. or protecting. Brightly colored tape works well with delicate and bold paint colors. Durable, strong tape sticks to a variety of clean \/ dry surfaces. Apply pressure when adhering tape for the cleanest lines as adhesive is pressure sensitive and heat activated. Ideal for use in temperatures from 40 to 130 degrees Fahrenheit. Made in the USA.\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\n48 x 36 Extra-Large Framed Magnetic Black Chalk Board (Black Frame)\nHandsome, smooth 48 x 36 inches extra-large framed black chalk board. Perfect for office, meeting rooms, classrooms, at work or at home...to serve as black board, or magnetic board, or menu board, or bulletin board etc. Black frame. (Search for on Amazon if you want a Dark Brown wood tone frame or if you want a Medium Brown wood tone frame.) DELIVERY Shipped to continental U.S. addresses only. Handsome, smooth black board with elegant black veneer frame and reinforced backing. (If you want a dark brown wood tone frame, search for on Amazon; If you want a medium brown wood tone frame, search for ) Lean this light-weight black board\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\n48 x 36 Extra-Large Framed Magnetic Black Chalk Board (Black Frame)\nHandsome, smooth 48 x 36 inches extra-large framed black chalk board. Perfect for office, meeting rooms, classrooms, at work or at home...to serve as black board, or magnetic board, or menu board, or bulletin board etc. Black frame. (Search for on Amazon if you want a Dark Brown wood tone frame or if you want a Medium Brown wood tone frame.) DELIVERY Shipped to continental U.S. addresses only. Handsome, smooth black board with elegant black veneer frame and reinforced backing. (If you want a dark brown wood tone frame, search for on Amazon; If you want a medium brown wood tone frame, search for ) Lean this light-weight black board\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\n(Plug and Play) Spare Tire Brake Light Wheel Light Brake Light for Wrangler JK JKU Red Light\nFITMENT Fit for JK JKU with all 16 to 20 inch rim diameter wheels, works with 5x5, 5x4.5, 5x5.5 inch lug patterns. Plug & Play Package comes with instructions including the video link of installing and wiring. Just plug to the 3rd brake light.Easy to install, just plug and play, no need to splice the existing brake light wires. No broken wire installation. You can install the third spare light in few minutes. Braking Function Obvious and fast braking warning signal, lights up the inside of your spare when step on the brake, more red brightness and stronger penetration, easy To Be\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\n(Plug and Play) Spare Tire Brake Light Wheel Light Brake Light for Wrangler JK JKU Red Light\nFITMENT Fit for JK JKU with all 16 to 20 inch rim diameter wheels, works with 5x5, 5x4.5, 5x5.5 inch lug patterns. Plug & Play Package comes with instructions including the video link of installing and wiring. Just plug to the 3rd brake light.Easy to install, just plug and play, no need to splice the existing brake light wires. No broken wire installation. You can install the third spare light in few minutes. Braking Function Obvious and fast braking warning signal, lights up the inside of your spare when step on the brake, more red brightness and stronger penetration, easy To Be\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nSteering Damper,Universal Motorcycle Handlebar Aluminum Alloy Steering Damper Stabilizer Safety Control(Gold)\nFeatures 1. Durable in Use Made of durable aluminum alloy for extreme strength. 2. Excellent Quality Professional manufacturing, high precision and good quality. 3. Easy and Simple to Hand Easy installation without any modification required. 4. Stable Quality The anodized surface for enhance its oxidizing and corrosion resistance. 5. Scope of Application Universal for motorcycle, high-emissions car, sports car, street car. Specification Condition 100% Brand New Material Aluminum alloy (CNC) Color Black\/Gold\/Red\/Silver\/Blue(optional) Mounting screw Fitment Universal for motorcycle, high-emissions car, sports car, street car. Package List 1 * Dam\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nSteering Damper,Universal Motorcycle Handlebar Aluminum Alloy Steering Damper Stabilizer Safety Control(Gold)\nFeatures 1. Durable in Use Made of durable aluminum alloy for extreme strength. 2. Excellent Quality Professional manufacturing, high precision and good quality. 3. Easy and Simple to Hand Easy installation without any modification required. 4. Stable Quality The anodized surface for enhance its oxidizing and corrosion resistance. 5. Scope of Application Universal for motorcycle, high-emissions car, sports car, street car. Specification Condition 100% Brand New Material Aluminum alloy (CNC) Color Black\/Gold\/Red\/Silver\/Blue(optional) Mounting screw Fitment Universal for motorcycle, high-emissions car, sports car, street car. Package List 1 * Dam\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nSennheiser SD Pro 2 - Double-Sided Multi Connectivity Wireless Headset for Desk Phone & Softphone\/PC Connection, Ultra Noise-Cancelling Microphone (Black)\nWith the SD Pro 2, you get everything you need in an office headset, wrapped in one unique product. The SD Pro 2 is a double-sided, premium wireless DECT headset for desk phone and PC\/softphone with base station. It features Sennheiser Voice Clarity, ultra noise-cancelling microphone, and ActiveGard hearing protection technology. Choosing the right SD Pro 2 SD PRO 2 This headset is designed for business professionals who communicate with their desk phone and softphone\/PC. SD PRO 2 ML This headset is designed for business professionals who communicate in desk phone and\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nSennheiser SD Pro 2 - Double-Sided Multi Connectivity Wireless Headset for Desk Phone & Softphone\/PC Connection, Ultra Noise-Cancelling Microphone (Black)\nWith the SD Pro 2, you get everything you need in an office headset, wrapped in one unique product. The SD Pro 2 is a double-sided, premium wireless DECT headset for desk phone and PC\/softphone with base station. It features Sennheiser Voice Clarity, ultra noise-cancelling microphone, and ActiveGard hearing protection technology. Choosing the right SD Pro 2 SD PRO 2 This headset is designed for business professionals who communicate with their desk phone and softphone\/PC. SD PRO 2 ML This headset is designed for business professionals who communicate in desk phone and\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nDell Latitude D620 Renewed Notebook PC\nDell Latitude D620 14.1 Laptop (Intel Core Duo 80GB Hard Drive, 2048Mb RAM, DVD\/CDRW Drive, XP Professional) Windows XP Professional with Dell Reinstallation XP Pro. CD Intel Core Duo Processor 2GB DDR2 RAM 80GB Hard Drive Screen, Wifi Standing screen display size 14 Inches, Screen Resolution 1366 x 768 pixels, Processor 1.83 GHz RAM 2 GB DDR2, Memory Speed 1.83 GHz, Hard Drive 60 GB HDD, Chipset Brand Intel, Card Description Integrated, Wireless Type USB 2.0 Ports 3, Brand Dell, Series Dell Latitude, model number d620, Hardware Platform PC, Operating System Windows XP\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nDell Latitude D620 Renewed Notebook PC\nDell Latitude D620 14.1 Laptop (Intel Core Duo 80GB Hard Drive, 2048Mb RAM, DVD\/CDRW Drive, XP Professional) Windows XP Professional with Dell Reinstallation XP Pro. CD Intel Core Duo Processor 2GB DDR2 RAM 80GB Hard Drive Screen, Wifi Standing screen display size 14 Inches, Screen Resolution 1366 x 768 pixels, Processor 1.83 GHz RAM 2 GB DDR2, Memory Speed 1.83 GHz, Hard Drive 60 GB HDD, Chipset Brand Intel, Card Description Integrated, Wireless Type USB 2.0 Ports 3, Brand Dell, Series Dell Latitude, model number d620, Hardware Platform PC, Operating System Windows XP\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nGeneric NRG Innovations Steering Wheel Short Hub Adapter Kit + LED Keychain Flashlight, black\nNRG Innovation has developed another complement to our quick release steering kits. These units were designed specially for an aftermarket steering wheel installed with the quick release kit still mounts in the same location, not too close to the driver. Made from the highest quality aluminum. Our Short Hubs are made to work with our quick release's. This product is designed utilizing one piece solid construction for the maximum in durability and usability. Made of High Quality Aluminum Direct Bolt-on Design, Perfectly fits Any Wheel or Quick Release with a 6-Bolt X 74MM Pattern Anodized for Durability and Strength Racing Style, for Most Aftermarket Racing Brand Steering Wheel Manufacturer NRG Innovations, Brand NRG Innov\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nGeneric NRG Innovations Steering Wheel Short Hub Adapter Kit + LED Keychain Flashlight, black\nNRG Innovation has developed another complement to our quick release steering kits. These units were designed specially for an aftermarket steering wheel installed with the quick release kit still mounts in the same location, not too close to the driver. Made from the highest quality aluminum. Our Short Hubs are made to work with our quick release's. This product is designed utilizing one piece solid construction for the maximum in durability and usability. Made of High Quality Aluminum Direct Bolt-on Design, Perfectly fits Any Wheel or Quick Release with a 6-Bolt X 74MM Pattern Anodized for Durability and Strength Racing Style, for Most Aftermarket Racing Brand Steering Wheel Manufacturer NRG Innovations, Brand NRG Innov\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nAlnicov 63.5MM Brass Tremolo Block\uff0cTremolo System Bridge\uff0cWith Bar Block For Fender Strat Stratocaster Bridge\nDescription 1.Fits bridges with 2-1\/16 E to E string pacing and 6 screw modifications install (detailed instructions included) Fits for MIM Fender Standard Series StratAmerican Special StratMIM Classic PlayerClassic Vibe StratAny Import Strat with 6 screw pivot mounting and 2 1\/16 string spacing Specifications Tremlo block block dia size brassWeight 248g Package included 1Pcs tremolo bar wrench Durable Electric Guitar Bridge Tremolo Block High quality, easy to handle Sustain your guitar bridge Add mass and sustain to your bridge along with the tonal qualities of brass Since this block is larger\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nAlnicov 63.5MM Brass Tremolo Block\uff0cTremolo System Bridge\uff0cWith Bar Block For Fender Strat Stratocaster Bridge\nDescription 1.Fits bridges with 2-1\/16 E to E string pacing and 6 screw modifications install (detailed instructions included) Fits for MIM Fender Standard Series StratAmerican Special StratMIM Classic PlayerClassic Vibe StratAny Import Strat with 6 screw pivot mounting and 2 1\/16 string spacing Specifications Tremlo block block dia size brassWeight 248g Package included 1Pcs tremolo bar wrench Durable Electric Guitar Bridge Tremolo Block High quality, easy to handle Sustain your guitar bridge Add mass and sustain to your bridge along with the tonal qualities of brass Since this block is larger\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nCOSTWAY Electric Tumble Dryer, Sliver\nThis is our brand new compact dryer with 10 lbs. cloth capacity, it will be your best helper to dry your cloth or sheet in a short time, It has four mode air dry, cool, warm, and hot. You can choose the drying time or mode according to the material and weight of the cloth. This dryer combine the cooling, wrinkle, freshening, function, without taking up a lot of room will bring much convenience for your life. Don't hesitate to buy one! feature brand new and high quality 1. 5 cu. Ft. Capacity allows you to dry up to 10 lbs. Of clothing stainless steel tub provides durability see- through window lets you monitor clothes as they dry four mode air dry\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nCOSTWAY Electric Tumble Dryer, Sliver\nThis is our brand new compact dryer with 10 lbs. cloth capacity, it will be your best helper to dry your cloth or sheet in a short time, It has four mode air dry, cool, warm, and hot. You can choose the drying time or mode according to the material and weight of the cloth. This dryer combine the cooling, wrinkle, freshening, function, without taking up a lot of room will bring much convenience for your life. Don't hesitate to buy one! feature brand new and high quality 1. 5 cu. Ft. Capacity allows you to dry up to 10 lbs. Of clothing stainless steel tub provides durability see- through window lets you monitor clothes as they dry four mode air dry\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nRoad Top Wireless Carplay Retrofit Kit Decoder for BMW i3 I01 NBT System Year, Support Android Auto, Mirrorlink, Reverse Camera, Original Car Knob Control\nPre-shopping Notes When you buy, please check our website picture to make sure your car system is right. This Wireless Carplay Fits for BMW i3 I01 NBT System Not fit for EVO system. Wireless\/Wired Apple Carplay It can work with Siri\/ Maps\/ Music\/ Phone Call. Built-in mic for Siri function and Bluetooth call, use Maps(Support Google Waze and sygic map, etc), listen to your favorite songs using iTunes, Apple Music or other app and access to messages. Keep your original car knob and steering wheel control. Wireless\/Wired Android Auto Use wireless or wired connection (\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nRoad Top Wireless Carplay Retrofit Kit Decoder for BMW i3 I01 NBT System Year, Support Android Auto, Mirrorlink, Reverse Camera, Original Car Knob Control\nPre-shopping Notes When you buy, please check our website picture to make sure your car system is right. This Wireless Carplay Fits for BMW i3 I01 NBT System Not fit for EVO system. Wireless\/Wired Apple Carplay It can work with Siri\/ Maps\/ Music\/ Phone Call. Built-in mic for Siri function and Bluetooth call, use Maps(Support Google Waze and sygic map, etc), listen to your favorite songs using iTunes, Apple Music or other app and access to messages. Keep your original car knob and steering wheel control. Wireless\/Wired Android Auto Use wireless or wired connection (\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nSanDisk 128GB Ultra (10 Pack) MicroSD Class 10 Micro SDXC Memory Card for Smartphone Bundle with (1) GoRAM Reader 10 Pack)\nShoot and save more high-quality photos and full HD video on your Android smartphone or tablet with SanDisk Ultra microSD UHS-I cards. With storage capacities up to 128GB, they're the ideal complement for Android smartphones and tablets. And the SanDisk memory zone app, available on the Google play store, makes it easy to view, access, and back up all of your files from your phones memory in one convenient place. To help your smartphone run at its peak performance, This app can be set to automatically off-load files from your smartphones internal memory to your memory card. Bundle Includes (10x) 128GB\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nSanDisk 128GB Ultra (10 Pack) MicroSD Class 10 Micro SDXC Memory Card for Smartphone Bundle with (1) GoRAM Reader 10 Pack)\nShoot and save more high-quality photos and full HD video on your Android smartphone or tablet with SanDisk Ultra microSD UHS-I cards. With storage capacities up to 128GB, they're the ideal complement for Android smartphones and tablets. And the SanDisk memory zone app, available on the Google play store, makes it easy to view, access, and back up all of your files from your phones memory in one convenient place. To help your smartphone run at its peak performance, This app can be set to automatically off-load files from your smartphones internal memory to your memory card. Bundle Includes (10x) 128GB\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nSony SSCS8 2-Way Center Channel Speaker with Bookshelf Speaker System and Subwoofer Bundle (3 Items)\nEquipped with two 4 woofers and a 1 tweeter, the Sony SS-CS8 2-Way Center Channel Speaker handles 145W of peak power. The speaker's woofers use a mica-reinforced diaphragm, the upper surface of which is fashioned to deliver supple and faithful sound quality, while the bottom layer is designed to provide a powerful bass response. The cabinet of the SS-CS8 is made from wood, which is designed to provide a natural resonance, and its bass reflex construction will give directionality to the low frequencies. The speaker's crossover network is mounted directly to the cabinet for vibration isolation, which is intended\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nSony SSCS8 2-Way Center Channel Speaker with Bookshelf Speaker System and Subwoofer Bundle (3 Items)\nEquipped with two 4 woofers and a 1 tweeter, the Sony SS-CS8 2-Way Center Channel Speaker handles 145W of peak power. The speaker's woofers use a mica-reinforced diaphragm, the upper surface of which is fashioned to deliver supple and faithful sound quality, while the bottom layer is designed to provide a powerful bass response. The cabinet of the SS-CS8 is made from wood, which is designed to provide a natural resonance, and its bass reflex construction will give directionality to the low frequencies. The speaker's crossover network is mounted directly to the cabinet for vibration isolation, which is intended\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nCaseology Bumpy Compatible with Google Pixel Buds Pro Case (2022) - Sage Green\nHybrid layer clear case with ultra-clear PC body and TPU frame for drop-proof shock absorbance Slim yet durable Pixel Buds Pro case made with military grade materials Side colored TPU with rugged sandstone texture provides non-slip grip Wireless charging compatible and carabiner included for easy carrying Caseology Bumpy Compatible with Google Pixel Buds Pro Case (2022) \/ Not Compatible with Google Pixel Buds A series, Google Pixel Buds 2 Dimensions 2.67 x 2.54 x 1.15 inches, Weight 1.76 ounces, model number Rank Cell Phones & Accessories 34945, Cell Phone Basic Cases 14563, Connectivity technologies wireless, Special features\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nCaseology Bumpy Compatible with Google Pixel Buds Pro Case (2022) - Sage Green\nHybrid layer clear case with ultra-clear PC body and TPU frame for drop-proof shock absorbance Slim yet durable Pixel Buds Pro case made with military grade materials Side colored TPU with rugged sandstone texture provides non-slip grip Wireless charging compatible and carabiner included for easy carrying Caseology Bumpy Compatible with Google Pixel Buds Pro Case (2022) \/ Not Compatible with Google Pixel Buds A series, Google Pixel Buds 2 Dimensions 2.67 x 2.54 x 1.15 inches, Weight 1.76 ounces, model number Rank Cell Phones & Accessories 34945, Cell Phone Basic Cases 14563, Connectivity technologies wireless, Special features\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nBehringer TUBE OVERDRIVE TO100 Authentic Tube-Sound Overdrive Effects Pedal\nBEHRINGER TUBE OVERDRIVE TO100 Authentic Tube-Sound Overdrive Effects Pedal Get tube-like distortion, smooth sustain and super fat tone Get tube-like distortion, smooth sustain and super fat tone This BEHRINGER product has been designed to compete head to head with leading products on the market This BEHRINGER product has been designed to compete head to head with leading products on the market Captures every nuance of your playing from smooth overdrive to screaming tube sounds Captures every nuance of your playing from smooth overdrive to screaming tube sounds Dedicated Drive, Tone and Level controls for awesome sound shaping Dedicated Drive, Tone and Level controls for awesome sound shaping Status LED for effect on\/off and\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nBehringer TUBE OVERDRIVE TO100 Authentic Tube-Sound Overdrive Effects Pedal\nBEHRINGER TUBE OVERDRIVE TO100 Authentic Tube-Sound Overdrive Effects Pedal Get tube-like distortion, smooth sustain and super fat tone Get tube-like distortion, smooth sustain and super fat tone This BEHRINGER product has been designed to compete head to head with leading products on the market This BEHRINGER product has been designed to compete head to head with leading products on the market Captures every nuance of your playing from smooth overdrive to screaming tube sounds Captures every nuance of your playing from smooth overdrive to screaming tube sounds Dedicated Drive, Tone and Level controls for awesome sound shaping Dedicated Drive, Tone and Level controls for awesome sound shaping Status LED for effect on\/off and\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nG-Technology G-SPEED eS PRO High-Performance Fail-Safe RAID Solution for HD\/2K Production 8TB\nProduct Description High-Performance, Fail-Safe RAID Solutions for HD\/2K Production The new G-SPEED eS PRO from G-Tech provides professional content creators better than Fibre-Channel performance for demanding post production applications at a fraction of the cost. The compact and whisper quiet G-SPEED eS PRO features mini-SAS connectivity to a high performance PCIe x8 IOP RAID controller that supports RAID levels or 6. A single G-SPEED eS PRO enclosure with four 7200 RPM, SATA II drives in RAID 0 mode supports multi-stream ProRes 422 HQ playback and a single-stream of uncompressed 10-bit HD. Two units\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nG-Technology G-SPEED eS PRO High-Performance Fail-Safe RAID Solution for HD\/2K Production 8TB\nProduct Description High-Performance, Fail-Safe RAID Solutions for HD\/2K Production The new G-SPEED eS PRO from G-Tech provides professional content creators better than Fibre-Channel performance for demanding post production applications at a fraction of the cost. The compact and whisper quiet G-SPEED eS PRO features mini-SAS connectivity to a high performance PCIe x8 IOP RAID controller that supports RAID levels or 6. A single G-SPEED eS PRO enclosure with four 7200 RPM, SATA II drives in RAID 0 mode supports multi-stream ProRes 422 HQ playback and a single-stream of uncompressed 10-bit HD. Two units\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nPirelli 106W XL RFT P0\nProduct Type Vehicle Tire Package Dimensions 10.9 L X29.0 W X29.0 H Country Of Origin Mexico Package Weight Fit type Universal Fit Brand Pirelli, Seasons Year Round, Size Section Width 275 Millimeters, Load Capacity 2094 Pounds, Tread Depth 9 32nds, Tread Type Asymmetrical, Ply Rating XL, Tire Diameter 28.66, Weight 36 pounds, Manufacturer PIRELLI, Model P Zero PZ4 Run Flat, model number Is Discontinued No, Manufacturer Part OEM Part Special Features Run_flat, Construction Radial, UTQG Rank Automotive Passenger Car Performance Tires 722, Available August 5, 2017, Rim Size \n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nPirelli 106W XL RFT P0\nProduct Type Vehicle Tire Package Dimensions 10.9 L X29.0 W X29.0 H Country Of Origin Mexico Package Weight Fit type Universal Fit Brand Pirelli, Seasons Year Round, Size Section Width 275 Millimeters, Load Capacity 2094 Pounds, Tread Depth 9 32nds, Tread Type Asymmetrical, Ply Rating XL, Tire Diameter 28.66, Weight 36 pounds, Manufacturer PIRELLI, Model P Zero PZ4 Run Flat, model number Is Discontinued No, Manufacturer Part OEM Part Special Features Run_flat, Construction Radial, UTQG Rank Automotive Passenger Car Performance Tires 722, Available August 5, 2017, Rim Size \n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nBandai Awakening of S. H. s.h.figuarts star wars \/ force Obi-Wan Kenobi\nSH Figuarts Star Wars Obi-Wan Kenobi (EpisodeI) about 155mm ABS & PVC painted action figure bandai star wars japan awakens Theme Action,Star Wars, Brand STAR WARS, Material Polyvinyl Chloride, Occasion Birthday, Dimensions 8\\ L x 6\\ W x 8\\ H, Cartoon Character Star Wars, Room Type Office, Living Room, Bedroom, Pieces 1, Assembly Required No, s 1, Collection Name Action Figure, Shape Novelty, Manufacturer Bandai, Quantity 1, Weight 4.6 ounces, model number Rank Toys & Games Action Figures 44598, Is Discontinued\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nBandai Awakening of S. H. s.h.figuarts star wars \/ force Obi-Wan Kenobi\nSH Figuarts Star Wars Obi-Wan Kenobi (EpisodeI) about 155mm ABS & PVC painted action figure bandai star wars japan awakens Theme Action,Star Wars, Brand STAR WARS, Material Polyvinyl Chloride, Occasion Birthday, Dimensions 8\\ L x 6\\ W x 8\\ H, Cartoon Character Star Wars, Room Type Office, Living Room, Bedroom, Pieces 1, Assembly Required No, s 1, Collection Name Action Figure, Shape Novelty, Manufacturer Bandai, Quantity 1, Weight 4.6 ounces, model number Rank Toys & Games Action Figures 44598, Is Discontinued\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nT&S Brass Double Pantry Faucet, Wall Mount, 8 Centers, 6 Swing Built in Stops\nT&S Brass 8 Wall Mount Mixing Faucet, Eterna Cartridges, Lever Handles, 6 Swing Nozzle, Built-In Stops & 1\/2 NPT Female Inlets. Package Dimensions 9 L x 4 H x 14 W (inches) Package Weight 5.11 pounds Country of Origin United States Part Number Brand T&S Brass, Mounting Type Wall Mount, Finish Type Polished, Color Brass, Handles 1, Included Components Nozzle, Instruction Manual, Handle Type Lever, Installation Type Single Hole, Dimensions LxWxH 13.3 x 8.8 x 3.7 inches, Handle Material Brass,\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nT&S Brass Double Pantry Faucet, Wall Mount, 8 Centers, 6 Swing Built in Stops\nT&S Brass 8 Wall Mount Mixing Faucet, Eterna Cartridges, Lever Handles, 6 Swing Nozzle, Built-In Stops & 1\/2 NPT Female Inlets. Package Dimensions 9 L x 4 H x 14 W (inches) Package Weight 5.11 pounds Country of Origin United States Part Number Brand T&S Brass, Mounting Type Wall Mount, Finish Type Polished, Color Brass, Handles 1, Included Components Nozzle, Instruction Manual, Handle Type Lever, Installation Type Single Hole, Dimensions LxWxH 13.3 x 8.8 x 3.7 inches, Handle Material Brass,\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nSanctuary Square Backplate Finish Oiled Rubbed Bronze, Size 1.25 H x 1.25 W x 0.06 D\nFinish Oiled Rubbed Bronze, Size 1.25 H x 1.25 W x 0.06 D Features -Screw pack M4. -Base material Zinc alloy. -Lifetime warranty. -Sanctuary collection. Dimensions Size 1 H x 1 W x 0.06 D - Overall Height - Top to Bottom -1. Size 1 H x 1 W x 0.06 D - Overall Width - Side to Side -1. Size 1 H x 1 W x 0.06 D - Overall Product Weight -0.1 lbs. Size 1.25 H\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nSanctuary Square Backplate Finish Oiled Rubbed Bronze, Size 1.25 H x 1.25 W x 0.06 D\nFinish Oiled Rubbed Bronze, Size 1.25 H x 1.25 W x 0.06 D Features -Screw pack M4. -Base material Zinc alloy. -Lifetime warranty. -Sanctuary collection. Dimensions Size 1 H x 1 W x 0.06 D - Overall Height - Top to Bottom -1. Size 1 H x 1 W x 0.06 D - Overall Width - Side to Side -1. Size 1 H x 1 W x 0.06 D - Overall Product Weight -0.1 lbs. Size 1.25 H\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nFeit Electric 35W EQ DM MR16 LED Light Bulb, 6 Bulbs\nThis Feit Electric equivalent traditional glass MR16 flood LED light bulb has a GU10 base. Featuring bright white and high 90+ CRI (color rendering index) rating this Enhance LED is our highest quality energy efficient light with bolder color rendering and enhanced contrast so people and objects appear more realistic and vibrant. This MR16 reflector produces a similar light output while using less energy than a standard incandescent light bulb. The dimmable light has an average life of 25000 hours \/ 22 years and is safe for indoor or outside use. Choose a dependable high quality 120 volt MR16 bulb for residential or commercial applications. Specifications \ud83d\udca1 Color temperature 3000K\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nFeit Electric 35W EQ DM MR16 LED Light Bulb, 6 Bulbs\nThis Feit Electric equivalent traditional glass MR16 flood LED light bulb has a GU10 base. Featuring bright white and high 90+ CRI (color rendering index) rating this Enhance LED is our highest quality energy efficient light with bolder color rendering and enhanced contrast so people and objects appear more realistic and vibrant. This MR16 reflector produces a similar light output while using less energy than a standard incandescent light bulb. The dimmable light has an average life of 25000 hours \/ 22 years and is safe for indoor or outside use. Choose a dependable high quality 120 volt MR16 bulb for residential or commercial applications. Specifications \ud83d\udca1 Color temperature 3000K\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nAmprobe TIC 410A Hot Stick Attachment\nAmprobe products range from an extensive line of clamp meters and digital multimeters to industry-specific tools for residential\/commercial electricians, HVAC\/R technicians, utilities and industrial maintenance professionals. All Amprobe tools undergo rigorous testing to ensure full compliance with the latest IEC and CE safety regulations in Fluke Safety labs for quality and safety you can trust. Extension probe attaches to Amprobe TIC 300 Pro AC voltage detector to test for high AC voltages without touching or disconnecting the circuit Can detect AC voltages between 1,500V and For utility, industrial, and mining applications when working with high-voltage equipment such as transmission lines, downed power lines, fuses, and load-break connectors Extends to 57 long Conforms\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nAmprobe TIC 410A Hot Stick Attachment\nAmprobe products range from an extensive line of clamp meters and digital multimeters to industry-specific tools for residential\/commercial electricians, HVAC\/R technicians, utilities and industrial maintenance professionals. All Amprobe tools undergo rigorous testing to ensure full compliance with the latest IEC and CE safety regulations in Fluke Safety labs for quality and safety you can trust. Extension probe attaches to Amprobe TIC 300 Pro AC voltage detector to test for high AC voltages without touching or disconnecting the circuit Can detect AC voltages between 1,500V and For utility, industrial, and mining applications when working with high-voltage equipment such as transmission lines, downed power lines, fuses, and load-break connectors Extends to 57 long Conforms\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nMax Advanced Brakes Elite XDS Front Cross-Drill & Slots Rotors with Elite Max Brake Pads\nMax Advanced Brakes Elite XDS FRONT brake kit is exceptional in every way to meet the demanding braking needs for multiple driving styles, road and weather conditions FRONT brake kit with Elite XDS brake rotors are finished with a special coating to prevent corrosion & rust and to protect against moisture and salt. Brake rotors are cross-drilled and slotted to dissipate heat and keep your brakes in perfect condition at all times. Elite Max brake pads and hardware clips included Max Advanced Brakes has been providing replacement brake kits, brake rotors and brake pads for over 10 years and we've always prioritized the safety and satisfaction of our customers. Our brakes are designed to be safe and durable\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nMax Advanced Brakes Elite XDS Front Cross-Drill & Slots Rotors with Elite Max Brake Pads\nMax Advanced Brakes Elite XDS FRONT brake kit is exceptional in every way to meet the demanding braking needs for multiple driving styles, road and weather conditions FRONT brake kit with Elite XDS brake rotors are finished with a special coating to prevent corrosion & rust and to protect against moisture and salt. Brake rotors are cross-drilled and slotted to dissipate heat and keep your brakes in perfect condition at all times. Elite Max brake pads and hardware clips included Max Advanced Brakes has been providing replacement brake kits, brake rotors and brake pads for over 10 years and we've always prioritized the safety and satisfaction of our customers. Our brakes are designed to be safe and durable\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nMelissa & Doug Lifelike Plush Stork Giant Standing Stuffed Animal (3+ Feet Tall)\nThis lifelike plush stork really delivers! A terrific way to welcome a new baby and a great companion for years to come, this striking silky white stork with black wingtips and realistic details is sure to turn heads. Standing an impressive three-plus feet tall, this lifelike bird\u2019s soft, squeezable body covered with silky feathers encourage hugs and cuddles, while quality construction and a strong interior structure keep it standing proudly for years to come. The included baby bib The stork wears proclaims \u201cwelcome baby\u201d. the stories long bright orange legs stand on an oval two-foot-long base for extra stability. Kids\u2019 imaginations are sure to take flight with this beautiful feathered\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nMelissa & Doug Lifelike Plush Stork Giant Standing Stuffed Animal (3+ Feet Tall)\nThis lifelike plush stork really delivers! A terrific way to welcome a new baby and a great companion for years to come, this striking silky white stork with black wingtips and realistic details is sure to turn heads. Standing an impressive three-plus feet tall, this lifelike bird\u2019s soft, squeezable body covered with silky feathers encourage hugs and cuddles, while quality construction and a strong interior structure keep it standing proudly for years to come. The included baby bib The stork wears proclaims \u201cwelcome baby\u201d. the stories long bright orange legs stand on an oval two-foot-long base for extra stability. Kids\u2019 imaginations are sure to take flight with this beautiful feathered\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nR1 Concepts Front Rear Brakes and Rotors Kit |Front Rear Brake Pads| Brake Rotors and Pads| Ceramic Brake Pads and Rotors |fits Lexus IS250\nR1 Concepts Series brake rotors are great for those who want a medium performance upgrade over their factory brakes. Every rotor uses a iron grade of G3000 that provides great stability and braking power. All-in-One Complete Brake Kit Replacement eLine Series Front & Rear Brake Kit comes with (4) high performance brake rotors and (8) low-dust ceramic brake pads. High Performance Brake Rotors Made of G3000 grade cast iron with zinc finish for ultimate rust protection. Built with O.E.M specifications in mind, no modification required. Ultimate Stopping Power Precision-drilled holes and countersunk design\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nR1 Concepts Front Rear Brakes and Rotors Kit |Front Rear Brake Pads| Brake Rotors and Pads| Ceramic Brake Pads and Rotors |fits Lexus IS250\nR1 Concepts Series brake rotors are great for those who want a medium performance upgrade over their factory brakes. Every rotor uses a iron grade of G3000 that provides great stability and braking power. All-in-One Complete Brake Kit Replacement eLine Series Front & Rear Brake Kit comes with (4) high performance brake rotors and (8) low-dust ceramic brake pads. High Performance Brake Rotors Made of G3000 grade cast iron with zinc finish for ultimate rust protection. Built with O.E.M specifications in mind, no modification required. Ultimate Stopping Power Precision-drilled holes and countersunk design\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nHYANKA 15 1200W Professional DJ Speaker, Portable Pa System, Bluetooth Party Speaker with Subwoofer, Microphone and Speaker Set, Powered Pa Speaker System with Light, FM, TWS, USB, Remote, EQ\n1. High Powered Active Professional DJ Speaker The B-15 has been finely tuned by our experienced engineer teams with 1200W P.M.P.O portable loud powered system with the HF Unit made of super titanium film with high sound without any distortion. Separate bass and treble controls on this Active Professional DJ Speaker allow for precise pitch tuning. This Bluetooth DJ speaker with subwoofer will give you incredibly loud sound crystal-clear treble and booming bass. 2. Multiple Easy Connections This large party powered pa speaker with 15 subwoofer can be connected\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nHYANKA 15 1200W Professional DJ Speaker, Portable Pa System, Bluetooth Party Speaker with Subwoofer, Microphone and Speaker Set, Powered Pa Speaker System with Light, FM, TWS, USB, Remote, EQ\n1. High Powered Active Professional DJ Speaker The B-15 has been finely tuned by our experienced engineer teams with 1200W P.M.P.O portable loud powered system with the HF Unit made of super titanium film with high sound without any distortion. Separate bass and treble controls on this Active Professional DJ Speaker allow for precise pitch tuning. This Bluetooth DJ speaker with subwoofer will give you incredibly loud sound crystal-clear treble and booming bass. 2. Multiple Easy Connections This large party powered pa speaker with 15 subwoofer can be connected\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nLucida LG-510 Student Classical Guitar, Full Size\nThe perfect guitar for any beginner, the Lucida Student LG-510 features Gotoh tuners for easy tuning, nylon strings for low string tension and a classic design available in multiple sizes. White Wood Top, Back and Sides Open Gear Gotoh Tuning Machines Nato Neck Hard Maple Fretboard Multi-Colored Rosette Weight 3.7 pounds, Dimensions 39 x 15 x 4 inches, model number Rank Musical Instruments Classical & Nylon-String Guitars 336, Is Discontinued No, Available May 3, 2010, Back Material White Wood, Body Material Wood, Color Name Multi-colored,White, Fretboard Material Maple Wood, String Material Nylon, Top Material White Wood,\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nLucida LG-510 Student Classical Guitar, Full Size\nThe perfect guitar for any beginner, the Lucida Student LG-510 features Gotoh tuners for easy tuning, nylon strings for low string tension and a classic design available in multiple sizes. White Wood Top, Back and Sides Open Gear Gotoh Tuning Machines Nato Neck Hard Maple Fretboard Multi-Colored Rosette Weight 3.7 pounds, Dimensions 39 x 15 x 4 inches, model number Rank Musical Instruments Classical & Nylon-String Guitars 336, Is Discontinued No, Available May 3, 2010, Back Material White Wood, Body Material Wood, Color Name Multi-colored,White, Fretboard Material Maple Wood, String Material Nylon, Top Material White Wood,\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nChinese Style Dollhouse Model DIY Miniature Furniture Kit Wooden Tea Shop Dolls House with LED Lights Accessories Hand Craft Puzzle Toy Birthday Gift\nFeature This dollhouse makes a great craft project and gift for both friends and collectors! The pictures shows finished project. You receive are spare parts,Mainly through, paste, assembly, modeling, placement DIY craft, complete your lovely beautiful house.Glue and Battery are not included.Detailed pictures instructions. ( Just follow the pictures! )Description Assembly Difficulty Level Time 2-10 hoursFinished Size as picture showsWeight Approximate Include 1 x DollhouseNote 1.The real color of the item may be slightly different from the pictures shown on allow error due to the hand measurement. 3.Due to long shipping, the item may damage in transit, if\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nChinese Style Dollhouse Model DIY Miniature Furniture Kit Wooden Tea Shop Dolls House with LED Lights Accessories Hand Craft Puzzle Toy Birthday Gift\nFeature This dollhouse makes a great craft project and gift for both friends and collectors! The pictures shows finished project. You receive are spare parts,Mainly through, paste, assembly, modeling, placement DIY craft, complete your lovely beautiful house.Glue and Battery are not included.Detailed pictures instructions. ( Just follow the pictures! )Description Assembly Difficulty Level Time 2-10 hoursFinished Size as picture showsWeight Approximate Include 1 x DollhouseNote 1.The real color of the item may be slightly different from the pictures shown on allow error due to the hand measurement. 3.Due to long shipping, the item may damage in transit, if\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nApple Watch Series 6 (GPS, 44mm) - Space Gray Aluminum Case with Black Sport Band (Renewed Premium)\nApple Watch Series 6 (GPS, 44mm) - Space Gray Aluminum Case with Black Sport Band LEAVE YOUR PHONE IN YOUR POCKET Apple Watch Series 6 GPS Model lets you call, text, and get directions from your wrist, while leaving your phone in your pocket. It offers multiple connectivity options, including Bluetooth, Wi-Fi, and NFC to suit all of your possible needs. ALWAYS-ON RETINA DISPLAY You no longer need to raise your wrist or touch the screen to see the time or other information on your watch face, because the display never sleeps. All you need to do is glance to find the time or your workout metrics right there where you\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nApple Watch Series 6 (GPS, 44mm) - Space Gray Aluminum Case with Black Sport Band (Renewed Premium)\nApple Watch Series 6 (GPS, 44mm) - Space Gray Aluminum Case with Black Sport Band LEAVE YOUR PHONE IN YOUR POCKET Apple Watch Series 6 GPS Model lets you call, text, and get directions from your wrist, while leaving your phone in your pocket. It offers multiple connectivity options, including Bluetooth, Wi-Fi, and NFC to suit all of your possible needs. ALWAYS-ON RETINA DISPLAY You no longer need to raise your wrist or touch the screen to see the time or other information on your watch face, because the display never sleeps. All you need to do is glance to find the time or your workout metrics right there where you\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nHoshizaki FM116A Fan Motor Kit 1\nProduct Description Hoshizaki FM116A Fan Motor Kit 1 is a genuine OEM (original equipment manufacturer) replacement part. Hoshizaki is committed to developing original products that bring comfort and convenience to your life. Approved by original equipment manufacturer (OEM) and intended only for designed and specified use. From the Manufacturer FAN MOTOR KIT 1. Hoshizaki Genuine OEM replacement part. Hoshizaki is committed to developing original products that bring comfort and convenience to your life. Use genuine OEM parts for safety reliability and performance. Genuine OEM replacement part Hoshizaki is committed to developing original products that bring comfort and convenience to your life Genuine OEM provides safety, reliability, and optimal performance Approved by original\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nHoshizaki FM116A Fan Motor Kit 1\nProduct Description Hoshizaki FM116A Fan Motor Kit 1 is a genuine OEM (original equipment manufacturer) replacement part. Hoshizaki is committed to developing original products that bring comfort and convenience to your life. Approved by original equipment manufacturer (OEM) and intended only for designed and specified use. From the Manufacturer FAN MOTOR KIT 1. Hoshizaki Genuine OEM replacement part. Hoshizaki is committed to developing original products that bring comfort and convenience to your life. Use genuine OEM parts for safety reliability and performance. Genuine OEM replacement part Hoshizaki is committed to developing original products that bring comfort and convenience to your life Genuine OEM provides safety, reliability, and optimal performance Approved by original\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nBeck\/Arnley Hub & Bearing Assembly\nSince 1914, Beck\/Arnley has focused on the customer, offering high quality parts that look and perform the same as the original part. This ideal has never changed. Today, Beck\/Arnley is committed to being the premium supplier of high quality import parts within the automotive market. BeckArnley is an original equipment brand that partners with other manufacturers to supply the parts that cars were originally built with. This product is in a BeckArnley package, note that the part may have been manufactured by an independent BeckArnley supplier and the number on the part may differ from the number on the package. Quality construction Excellent materials Exacting tolerances Manufacturer Beck\/Arnley, Brand Beck\/Arnley, Weight 6.37 Pounds\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nBeck\/Arnley Hub & Bearing Assembly\nSince 1914, Beck\/Arnley has focused on the customer, offering high quality parts that look and perform the same as the original part. This ideal has never changed. Today, Beck\/Arnley is committed to being the premium supplier of high quality import parts within the automotive market. BeckArnley is an original equipment brand that partners with other manufacturers to supply the parts that cars were originally built with. This product is in a BeckArnley package, note that the part may have been manufactured by an independent BeckArnley supplier and the number on the part may differ from the number on the package. Quality construction Excellent materials Exacting tolerances Manufacturer Beck\/Arnley, Brand Beck\/Arnley, Weight 6.37 Pounds\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nSchmidt Spiele - Manhattan\nThe product of this place is a board game of Hans im Gluck's \/ Andreas Seyfarth work. It is with a Japanese manual in Japan version package of Mobius Games Inc.. Number of players 2-4 people Target age 10 years old or older Playing Time 60 minutes one point sales easy-to-understand rules, fun easy-to-understand, easy-to-understand strategy, the progress of the game can be seen in the eyes. It is a game that can be recommended to anyone. 2-4 people for Age 10 years old - adult Travel Time 60 minutes From Germany With a Japanese manual Dimensions 11.81 x 5.91 x 3.94 inches, Weight 10.6 ounces, model number \n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nSchmidt Spiele - Manhattan\nThe product of this place is a board game of Hans im Gluck's \/ Andreas Seyfarth work. It is with a Japanese manual in Japan version package of Mobius Games Inc.. Number of players 2-4 people Target age 10 years old or older Playing Time 60 minutes one point sales easy-to-understand rules, fun easy-to-understand, easy-to-understand strategy, the progress of the game can be seen in the eyes. It is a game that can be recommended to anyone. 2-4 people for Age 10 years old - adult Travel Time 60 minutes From Germany With a Japanese manual Dimensions 11.81 x 5.91 x 3.94 inches, Weight 10.6 ounces, model number \n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nDell Latitude E6520 Intel 8GB RAM 500GB HDD Win 10 Pro DVD-RW (Renewed)\nKeep up with business wherever you are with the Latitude E6520 laptop. It is ideal for professionals looking for a stable and durable laptop that is light and easy to carry on the go. Specifications Processor Intel Quad Core up to 3.3 GHz Graphics Intel HD Integrated Graphics Memory 8G DDR3 Hard Drive 500G Webcam Webcam Operating System Windows 10 Pro 64 Bit Multi-Language. Ports Network connector USB 2.0 (4) \u2013 1 USB\/eSATA combo, Stereo headphone\/Microphone combo jack, 1394, Docking Connector, VGA, HDMI. Warranty 1 full year Parts and Labor Warranty Included in the box Computer\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nDell Latitude E6520 Intel 8GB RAM 500GB HDD Win 10 Pro DVD-RW (Renewed)\nKeep up with business wherever you are with the Latitude E6520 laptop. It is ideal for professionals looking for a stable and durable laptop that is light and easy to carry on the go. Specifications Processor Intel Quad Core up to 3.3 GHz Graphics Intel HD Integrated Graphics Memory 8G DDR3 Hard Drive 500G Webcam Webcam Operating System Windows 10 Pro 64 Bit Multi-Language. Ports Network connector USB 2.0 (4) \u2013 1 USB\/eSATA combo, Stereo headphone\/Microphone combo jack, 1394, Docking Connector, VGA, HDMI. Warranty 1 full year Parts and Labor Warranty Included in the box Computer\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nMotorcraft YB3125 Fan Clutch\nMotorcraft YB3125 Fan Clutch Package Dimensions 25.146 cms (L) x 20.066 cms (W) x 15.494 cms (H) Package Quantity 1 Product Type Auto Part Country Of Origin China Manufacturer Motorcraft, Brand Motorcraft, Model Fan Clutch, Weight 5 pounds, Dimensions 10 x 7.63 x 6.25 inches, Country of Origin China, model number Exterior Painted, Manufacturer Part Rank Automotive Automotive Replacement Engine Fan Clutches 583, Domestic Shipping can be shipped within U.S., International Shipping This item can be shipped to select countries outside of the U.S. Learn More, Available October 10, 2007\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nMotorcraft YB3125 Fan Clutch\nMotorcraft YB3125 Fan Clutch Package Dimensions 25.146 cms (L) x 20.066 cms (W) x 15.494 cms (H) Package Quantity 1 Product Type Auto Part Country Of Origin China Manufacturer Motorcraft, Brand Motorcraft, Model Fan Clutch, Weight 5 pounds, Dimensions 10 x 7.63 x 6.25 inches, Country of Origin China, model number Exterior Painted, Manufacturer Part Rank Automotive Automotive Replacement Engine Fan Clutches 583, Domestic Shipping can be shipped within U.S., International Shipping This item can be shipped to select countries outside of the U.S. Learn More, Available October 10, 2007\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nHP Premium HD Plus Touchscreen 1TB HDD 2.3GHz AMD Ryzen 5, (12GB RAM, Ryzen 5 4500U, DVD Writer, Windows 10 Home) Natural Silver, (Renewed)\nThis pre-owned or refurbished product has been professionally inspected and tested to work and look like new. How a product becomes part of Amazon Renewed, your destination for pre-owned, refurbished products A customer buys a new product and returns it or trades it in for a newer or different model. That product is inspected and tested to work and look like new by Amazon-qualified suppliers. Then, the product is sold as an Amazon Renewed product on Amazon. If not satisfied with the purchase, renewed products are eligible for replacement or refund under the Amazon Renewed Guarantee.\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nHP Premium HD Plus Touchscreen 1TB HDD 2.3GHz AMD Ryzen 5, (12GB RAM, Ryzen 5 4500U, DVD Writer, Windows 10 Home) Natural Silver, (Renewed)\nThis pre-owned or refurbished product has been professionally inspected and tested to work and look like new. How a product becomes part of Amazon Renewed, your destination for pre-owned, refurbished products A customer buys a new product and returns it or trades it in for a newer or different model. That product is inspected and tested to work and look like new by Amazon-qualified suppliers. Then, the product is sold as an Amazon Renewed product on Amazon. If not satisfied with the purchase, renewed products are eligible for replacement or refund under the Amazon Renewed Guarantee.\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nQuality-Built 11030 Premium Quality Alternator\nQuality-Built Alternators are remanufactured for a perfect fit. Housings are 100 percent blasted clean, all mounting threads inspected, re-tapped for easy installation and consistent torque. Terminals are of 100 percent OE-quality. High-temp insulators make connections secure and reliable. Quality-Built alternators are re-designed to operate with every turn of the key for reliable performance. Rotors are electronically tested and coated with high dielectric insulation to ensure maximum durability and charging performance. Bearings are inspected or new, with high-temperature grease for reduced heat and friction. Stators are electronically tested for maximum insulation quality and phase balance. Rectifiers are load tested to ensure alternator durability and charging performance. Brushes and springs are new\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nQuality-Built 11030 Premium Quality Alternator\nQuality-Built Alternators are remanufactured for a perfect fit. Housings are 100 percent blasted clean, all mounting threads inspected, re-tapped for easy installation and consistent torque. Terminals are of 100 percent OE-quality. High-temp insulators make connections secure and reliable. Quality-Built alternators are re-designed to operate with every turn of the key for reliable performance. Rotors are electronically tested and coated with high dielectric insulation to ensure maximum durability and charging performance. Bearings are inspected or new, with high-temperature grease for reduced heat and friction. Stators are electronically tested for maximum insulation quality and phase balance. Rectifiers are load tested to ensure alternator durability and charging performance. Brushes and springs are new\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nUniversal Air Conditioner KT 1031 A\/C Compressor and Component Kit\nUAC A\/C Compressor and Component Kit Brand New, OE replacement UAC branded Compressor Kit 100% Guaranteed Fit! Add your car (year\/make\/model) to Amazon's garage to confirm Premium ISO\/TS 16949 quality; tested to meet or exceed OEM specifications Includes compressor & clutch, drier \/ accumulator, expansion device, 8oz bottle of PAG oil, seal kit; compressor may come charged with shipping oil to keep the part lubricated during transit - drain and replace according to your system's requirements Product is backed by industry leading warranty Manufacturer UAC, Brand UAC, Model KT 1031, Weight 17.9 pounds, Dimensions 17 x 16 x 12\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nUniversal Air Conditioner KT 1031 A\/C Compressor and Component Kit\nUAC A\/C Compressor and Component Kit Brand New, OE replacement UAC branded Compressor Kit 100% Guaranteed Fit! Add your car (year\/make\/model) to Amazon's garage to confirm Premium ISO\/TS 16949 quality; tested to meet or exceed OEM specifications Includes compressor & clutch, drier \/ accumulator, expansion device, 8oz bottle of PAG oil, seal kit; compressor may come charged with shipping oil to keep the part lubricated during transit - drain and replace according to your system's requirements Product is backed by industry leading warranty Manufacturer UAC, Brand UAC, Model KT 1031, Weight 17.9 pounds, Dimensions 17 x 16 x 12\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nAtomic Compatible MERV 8 Carrier Replacement Furnace Filter - 2 Pack\nThe Atomic is a compatible filter fits the Carrier FILCAB mechanical air cleaner and MPKA series. This media filter is a whole house filter which is attached to the HVAC system. It has a MERV 8 filter efficiency value, which indicates how efficient the particles that can be trapped by the filter. The higher the rating, the finer the filtration and the fewer the particles that pass through it. To further increase filtration, it has a pleated rather than a flat surface, thereby increasing the filtering surface area. This efficiently traps airborne particles as small as 3 microns. An additional benefit is that an air filter will also extend the life of your heating and cooling system by making it work more efficiently by preventing the\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nAtomic Compatible MERV 8 Carrier Replacement Furnace Filter - 2 Pack\nThe Atomic is a compatible filter fits the Carrier FILCAB mechanical air cleaner and MPKA series. This media filter is a whole house filter which is attached to the HVAC system. It has a MERV 8 filter efficiency value, which indicates how efficient the particles that can be trapped by the filter. The higher the rating, the finer the filtration and the fewer the particles that pass through it. To further increase filtration, it has a pleated rather than a flat surface, thereby increasing the filtering surface area. This efficiently traps airborne particles as small as 3 microns. An additional benefit is that an air filter will also extend the life of your heating and cooling system by making it work more efficiently by preventing the\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nFront Left Driver Side Window Regulator - Compatible with Kia Optima\nFront Left Window Regulator - Compatible with 2014 - 2015 Kia OptimaPosition Front LeftNote Includes Module PanelCompatible With or Fits Note w\/ USA Built - 2014 - 2015 Kia Optima EX - 2014 - 2015 Kia Optima EX Luxury - 2014 - 2015 Kia Optima LX - 2014 - 2015 Kia Optima SXNote - 2014 - 2015 Kia Optima Limited - 2014 - 2015 Kia Optima SX Turbo - 2014 - 2015 Kia Optima SXL Turbo Includes Module Panel Compatible with or fits (Note w\/ USA Built; 2014 - 2015 Kia Opt\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nFront Left Driver Side Window Regulator - Compatible with Kia Optima\nFront Left Window Regulator - Compatible with 2014 - 2015 Kia OptimaPosition Front LeftNote Includes Module PanelCompatible With or Fits Note w\/ USA Built - 2014 - 2015 Kia Optima EX - 2014 - 2015 Kia Optima EX Luxury - 2014 - 2015 Kia Optima LX - 2014 - 2015 Kia Optima SXNote - 2014 - 2015 Kia Optima Limited - 2014 - 2015 Kia Optima SX Turbo - 2014 - 2015 Kia Optima SXL Turbo Includes Module Panel Compatible with or fits (Note w\/ USA Built; 2014 - 2015 Kia Opt\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nWhitehall\u2122 Personalized Whitehall Capitol Mailbox with Door & Side Address Plaques Personalized Mailbox (3 Colors Available)\nAfter your order is placed, our friendly US based representatives will send a layout for your approval THREE COLORS AVAILABLE 1) Black with Gold Address 2) Bronze with Gold Address 3) White with Gold Address BOX DIMENSIONS - 9.625 X 13 X Approved by Postmaster General. Manufactured from die cast, high-density aluminum alloy The address Plaque can display up to five, 3 numbers and the bottom line holds up to sixteen, 1.25 characters. Material Aluminum, Included Security Features Hopper & Baffle, Brand Clarus Crystal, Dimensions 20.38\\ D x 9.63\\ W x 13\\ H\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nWhitehall\u2122 Personalized Whitehall Capitol Mailbox with Door & Side Address Plaques Personalized Mailbox (3 Colors Available)\nAfter your order is placed, our friendly US based representatives will send a layout for your approval THREE COLORS AVAILABLE 1) Black with Gold Address 2) Bronze with Gold Address 3) White with Gold Address BOX DIMENSIONS - 9.625 X 13 X Approved by Postmaster General. Manufactured from die cast, high-density aluminum alloy The address Plaque can display up to five, 3 numbers and the bottom line holds up to sixteen, 1.25 characters. Material Aluminum, Included Security Features Hopper & Baffle, Brand Clarus Crystal, Dimensions 20.38\\ D x 9.63\\ W x 13\\ H\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nLEGO DC Batman 1989 Batwing 76161 Displayable Model with a Buildable Vehicle and Collectible Figures Batman, The Joker \u2013 Mime Version and Lawrence The Boombox Goon, New 2021 (2,363 Pieces)\nThis is no kid\u2019s toy. If you\u2019re serious about BATMAN, comic book super heroes or making cool models, this LEGO DC BATMAN 1989 Batwing is for you! Recreate the authentic detail and gothic elegance of BATMAN\u2019s iconic aircraft, the Batwing, with this LEGO brick build-and-display model. The impressive reproduction features realistic details, removable canopy, full interior, poseable flaps and a new special brick that will allow you to mount and display your model on your wall. There\u2019s also a stand, nameplate\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nLEGO DC Batman 1989 Batwing 76161 Displayable Model with a Buildable Vehicle and Collectible Figures Batman, The Joker \u2013 Mime Version and Lawrence The Boombox Goon, New 2021 (2,363 Pieces)\nThis is no kid\u2019s toy. If you\u2019re serious about BATMAN, comic book super heroes or making cool models, this LEGO DC BATMAN 1989 Batwing is for you! Recreate the authentic detail and gothic elegance of BATMAN\u2019s iconic aircraft, the Batwing, with this LEGO brick build-and-display model. The impressive reproduction features realistic details, removable canopy, full interior, poseable flaps and a new special brick that will allow you to mount and display your model on your wall. There\u2019s also a stand, nameplate\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nWestin Black HDX Grille Guard fits Ram 2500 3500 (Excl. Power Wagon)\nThe HDX Grille Guard is the ultimate in extreme truck gear. Its a fully welded grille guard that features full wraparound wings made of heavy duty 2 diameter tube. Uprights are finished and protected with extra wide rubber that is 1\/8 thick and 2 3\/4 wide resulting in a solid clean look. The full punch plate grille protects the vehicle's grille area. HDX Grille Guards are available in stainless and black powder coat finish. PERFECT FIT Direct fit for Ram 2500 3500 (Excl. Power Wagon) 2 inch tube, full wrap around wings Mount kit and hardware included Full punch plate grille solid construction\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nWestin Black HDX Grille Guard fits Ram 2500 3500 (Excl. Power Wagon)\nThe HDX Grille Guard is the ultimate in extreme truck gear. Its a fully welded grille guard that features full wraparound wings made of heavy duty 2 diameter tube. Uprights are finished and protected with extra wide rubber that is 1\/8 thick and 2 3\/4 wide resulting in a solid clean look. The full punch plate grille protects the vehicle's grille area. HDX Grille Guards are available in stainless and black powder coat finish. PERFECT FIT Direct fit for Ram 2500 3500 (Excl. Power Wagon) 2 inch tube, full wrap around wings Mount kit and hardware included Full punch plate grille solid construction\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nLittle Tikes My Real Jam First Concert Set with Electric Guitar, Drum and Keyboard, 4 Play Modes, and Bluetooth Connectivity - for Kids Ages 3+\nThe My Real Jam\u2122 First Concert Set lets kids harness their inner musician. Four play modes\u2014Play with the Band, Free Play; Solo Jam; Play Any Song with Bluetooth\u00ae \u2014provides countless hours of musical fun. The realistically designed Electric Guitar, Drums and Keyboard are packed with features, while the packages double as reusable instrument cases, perfect for storing the instruments or for hitting the road as an aspiring musician. BECOME A SUPERSTAR \u2013 Lets kids jam their way to rock star status with a perfect combo of musical play and pretend play PLAY ANY SONG WITH BLUETOOTH - Sync with any Bluetooth enabled device to play along\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nLittle Tikes My Real Jam First Concert Set with Electric Guitar, Drum and Keyboard, 4 Play Modes, and Bluetooth Connectivity - for Kids Ages 3+\nThe My Real Jam\u2122 First Concert Set lets kids harness their inner musician. Four play modes\u2014Play with the Band, Free Play; Solo Jam; Play Any Song with Bluetooth\u00ae \u2014provides countless hours of musical fun. The realistically designed Electric Guitar, Drums and Keyboard are packed with features, while the packages double as reusable instrument cases, perfect for storing the instruments or for hitting the road as an aspiring musician. BECOME A SUPERSTAR \u2013 Lets kids jam their way to rock star status with a perfect combo of musical play and pretend play PLAY ANY SONG WITH BLUETOOTH - Sync with any Bluetooth enabled device to play along\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nHarley Air Filter Venturi Intake Air Cleaner Motorcycle Cnc Cut Chrome Kit for Touring Street Glide 2008 - 2016 Softail 2016 - 2017 Fitment - C (Gray)\nPackage x Air Cleaner Intake Filter with Accessories Fitment for Harley Touring Street Glide 2008 - 2016, Touring Road Glide 2008 - 2016, Softail 2016 - 2017, Dyna FXDLS 2017, FLSTNSE 2014 - 2015, FLSTSE 2011 - 2012, FXSBSE 2013 - 2014 NOTE Before purchase, please check electric or non-electric throttle on your Touring models. If Electric - use fitment C. If non\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nHarley Air Filter Venturi Intake Air Cleaner Motorcycle Cnc Cut Chrome Kit for Touring Street Glide 2008 - 2016 Softail 2016 - 2017 Fitment - C (Gray)\nPackage x Air Cleaner Intake Filter with Accessories Fitment for Harley Touring Street Glide 2008 - 2016, Touring Road Glide 2008 - 2016, Softail 2016 - 2017, Dyna FXDLS 2017, FLSTNSE 2014 - 2015, FLSTSE 2011 - 2012, FXSBSE 2013 - 2014 NOTE Before purchase, please check electric or non-electric throttle on your Touring models. If Electric - use fitment C. If non\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nSmart Floor Lamp, Multicolors Scene DIY Torch Floor Lamp, 24W 2400LM Dimmable Tall Standing Lamp work with Alexa Google Home,Wifi Remote Control RGB Floor Lamp For Living Room\nSmart Control\ud83d\udca1Control this smart floor lamp using the Smart Life app or your voice with Amazon Alexa or Google Home. You can group multiple lamps together and control them individually or together. Choose from 16 million colors and 12 scenes to create the perfect lighting for any occasion. Note The lamp only works with 2.4GHz Wi-Fi networks. Adjustable Lighting\ud83d\udca1 This floor lamp features a range of white color temperatures from 2700K to 6500K and single color RGBWW options. The lamp is also dimmable and uses high-quality LED chips with a C\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nSmart Floor Lamp, Multicolors Scene DIY Torch Floor Lamp, 24W 2400LM Dimmable Tall Standing Lamp work with Alexa Google Home,Wifi Remote Control RGB Floor Lamp For Living Room\nSmart Control\ud83d\udca1Control this smart floor lamp using the Smart Life app or your voice with Amazon Alexa or Google Home. You can group multiple lamps together and control them individually or together. Choose from 16 million colors and 12 scenes to create the perfect lighting for any occasion. Note The lamp only works with 2.4GHz Wi-Fi networks. Adjustable Lighting\ud83d\udca1 This floor lamp features a range of white color temperatures from 2700K to 6500K and single color RGBWW options. The lamp is also dimmable and uses high-quality LED chips with a C\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nCarlinkit Ai Box Mini, Android 11, Multimedia Video Magic GPS,Wireless Caplay & Wireless Android Auto, Only Support Car with OEM Wired CarPlay\nCompatible models recommended Car Links Your Phone Over The Air, Applicable to cars of 2015 and above. Please check the listing page before purchasing. If yours is not in the list, please ask for help from carlinkit. Multiple Online service Real-time online Maps will guide you at any time, either by connecting to a mobile phone hotspot, or by inserting a SIM card. Both of these allow you to enjoy the convenience. It also supports voice assistants, adding a new way to free your hands. SIM & TF Card & Type-C slot Simple card slot design makes everything clear at a glance. Support NANO SIM card\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nCarlinkit Ai Box Mini, Android 11, Multimedia Video Magic GPS,Wireless Caplay & Wireless Android Auto, Only Support Car with OEM Wired CarPlay\nCompatible models recommended Car Links Your Phone Over The Air, Applicable to cars of 2015 and above. Please check the listing page before purchasing. If yours is not in the list, please ask for help from carlinkit. Multiple Online service Real-time online Maps will guide you at any time, either by connecting to a mobile phone hotspot, or by inserting a SIM card. Both of these allow you to enjoy the convenience. It also supports voice assistants, adding a new way to free your hands. SIM & TF Card & Type-C slot Simple card slot design makes everything clear at a glance. Support NANO SIM card\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nGibson Performance Exhaust 5658 Aluminized Dual Extreme Cat-Back Performance Exhaust System\nFor the extremist who wants to take their truck to the next level, this dual bolt-on Cat back system is for you. This system exists behind the rear tires at an aggressive angle with a powerful exhaust tone. You will gain bold street looks with powerful dyno tuned and tested street performance gains. You can expect to experience gains on average of 15-20 horsepower. Gibson muffler provides a mean performance sound and complemented with polished Stainless Steel Tip. Easy bolt-on installation. No welding required. Backed by a Lifetime Limited Warranty. If you want Extreme, this system is it. 3 inch aluminized mandrel bent tubing Gibson muffler features a baffled and chambered design,\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nGibson Performance Exhaust 5658 Aluminized Dual Extreme Cat-Back Performance Exhaust System\nFor the extremist who wants to take their truck to the next level, this dual bolt-on Cat back system is for you. This system exists behind the rear tires at an aggressive angle with a powerful exhaust tone. You will gain bold street looks with powerful dyno tuned and tested street performance gains. You can expect to experience gains on average of 15-20 horsepower. Gibson muffler provides a mean performance sound and complemented with polished Stainless Steel Tip. Easy bolt-on installation. No welding required. Backed by a Lifetime Limited Warranty. If you want Extreme, this system is it. 3 inch aluminized mandrel bent tubing Gibson muffler features a baffled and chambered design,\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nWilwood Engineering Brake Caliper\nWilwood's D52 Front Caliper Kit is a direct bolt-on 2 piston replacement for the factory original single calipers on many GM Passenger Vehicles and Trucks. Forged billet aluminum bodies, stainless steel pistons, and competition style high-temperature seals put an end to the rust, bore pitting, and seal failures that plague the OE caliper design. D52 calipers provide low-maintenance performance and a huge weight savings with high temperature reliability for the street and track. D52 calipers mount in the stock location over stock rotors, use the original style OE D52 brake pads and an OE banjo bolt brake line mounting. Calipers can be used with most wheels that clear the OE calipers. The front calipers with 2\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nWilwood Engineering Brake Caliper\nWilwood's D52 Front Caliper Kit is a direct bolt-on 2 piston replacement for the factory original single calipers on many GM Passenger Vehicles and Trucks. Forged billet aluminum bodies, stainless steel pistons, and competition style high-temperature seals put an end to the rust, bore pitting, and seal failures that plague the OE caliper design. D52 calipers provide low-maintenance performance and a huge weight savings with high temperature reliability for the street and track. D52 calipers mount in the stock location over stock rotors, use the original style OE D52 brake pads and an OE banjo bolt brake line mounting. Calipers can be used with most wheels that clear the OE calipers. The front calipers with 2\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nVixen Air 1\/2 NPT Air Ride Suspension High Flow Electric Air Valves\/Solenoids 250 PSI Four Corners with Fittings and Hoses\nThese eight powerful \u00bd NPT air valves with exceptional high flow deliver unparalleled performance for 12V vehicles. The unique design provides high pressure control at minimal power consumption. Valves support pressures of up to 250 PSI and are constructed with high quality brass to ensure continuous use through extreme conditions. Solenoid's DIN connector is water and dust resistant, a metal mounting bracket is included for each valve, and the air flow direction is clearly marked with an arrow to provide an easy trouble-free installation. Premium brass fittings, flow control valves, pressure switch, drain valve, hoses and cutter are included in this kit. \u00bd\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nVixen Air 1\/2 NPT Air Ride Suspension High Flow Electric Air Valves\/Solenoids 250 PSI Four Corners with Fittings and Hoses\nThese eight powerful \u00bd NPT air valves with exceptional high flow deliver unparalleled performance for 12V vehicles. The unique design provides high pressure control at minimal power consumption. Valves support pressures of up to 250 PSI and are constructed with high quality brass to ensure continuous use through extreme conditions. Solenoid's DIN connector is water and dust resistant, a metal mounting bracket is included for each valve, and the air flow direction is clearly marked with an arrow to provide an easy trouble-free installation. Premium brass fittings, flow control valves, pressure switch, drain valve, hoses and cutter are included in this kit. \u00bd\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nMonroe Shocks & Struts Quick-Strut 171491 Strut and Coil Spring Assembly\nFeaturing a vehicle-specific design, Monroe Quick-Strut strut assemblies are fit checked, ride tested and engineered to restore factory ride height and ride performance. Assembled in Paragould, AR, they include all required components in a single unit. QUICKER, SAFER, EASIER AND COMPLETE REPAIR -- Includes everything you need for strut replacement in a single, fully assembled unit with no need for a spring compressor RESTORES RIDE HEIGHT -- Precisely calibrated to meet the OE design, each application-specific coil spring type is engineered to restore ride height and support the vehicle's weight VEHICLE-SPECIFIC DESIGN -- Application-specific coil spring, mount and strut designs ensure optimized ride\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nMonroe Shocks & Struts Quick-Strut 171491 Strut and Coil Spring Assembly\nFeaturing a vehicle-specific design, Monroe Quick-Strut strut assemblies are fit checked, ride tested and engineered to restore factory ride height and ride performance. Assembled in Paragould, AR, they include all required components in a single unit. QUICKER, SAFER, EASIER AND COMPLETE REPAIR -- Includes everything you need for strut replacement in a single, fully assembled unit with no need for a spring compressor RESTORES RIDE HEIGHT -- Precisely calibrated to meet the OE design, each application-specific coil spring type is engineered to restore ride height and support the vehicle's weight VEHICLE-SPECIFIC DESIGN -- Application-specific coil spring, mount and strut designs ensure optimized ride\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nSolar HAMMERED BRONZE Finish Post Deck Fence Cap Lights for 4 X 4 WOOD Post With White LEDs and Vertical-lined Clear Lens -GREEN NATURAL SOLAR\nDuring the day, these energy-efficient Atlantic Solars lights harness sunlight energy to charge their internal Lithium Battery. At night they automatically turn on, emitting a bright glow for your fence post line. Each Atlantic Solars light is made of Premium Heat-Resistant Plastic for years of use. With our Newest & Improved Solar Panels, a 3.2V Lithium Ion Battery, and 5 Ultra Bright White LEDs, its output is virtually unparalleled. Atlantic Solars 4 x 4 Fence Post Caps One Pre-Installed 3.2V Lithium-Ion Battery for each light Light source \n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nSolar HAMMERED BRONZE Finish Post Deck Fence Cap Lights for 4 X 4 WOOD Post With White LEDs and Vertical-lined Clear Lens -GREEN NATURAL SOLAR\nDuring the day, these energy-efficient Atlantic Solars lights harness sunlight energy to charge their internal Lithium Battery. At night they automatically turn on, emitting a bright glow for your fence post line. Each Atlantic Solars light is made of Premium Heat-Resistant Plastic for years of use. With our Newest & Improved Solar Panels, a 3.2V Lithium Ion Battery, and 5 Ultra Bright White LEDs, its output is virtually unparalleled. Atlantic Solars 4 x 4 Fence Post Caps One Pre-Installed 3.2V Lithium-Ion Battery for each light Light source \n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nWera Stainless 3840\/1 TS 2.5mm Hex Insert Bit, Drive\nWera 3840\/1 TS 2.5mm hex insert bit for 1\/4 hex drive is designed to keep rust at bay. Wera\u2019s Stainless tool line is manufactured from 100% Stainless steel, preventing extraneous rust caused by use of conventional tools contaminating stainless fasteners. Wera\u2019s unique vacuum ice-hardened process gives the necessary hardness for industrial applications. Torsion (TZ) bits are designed to prevent premature wear for improved service life. Hex-Plus technology prevents rounding of screw recess and transfers up to 20% more torque. Stainless bits partnered with Wera\u2019s stainless Rapidaptor will protect the full length of the bit against extraneous rust. Ice\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nWera Stainless 3840\/1 TS 2.5mm Hex Insert Bit, Drive\nWera 3840\/1 TS 2.5mm hex insert bit for 1\/4 hex drive is designed to keep rust at bay. Wera\u2019s Stainless tool line is manufactured from 100% Stainless steel, preventing extraneous rust caused by use of conventional tools contaminating stainless fasteners. Wera\u2019s unique vacuum ice-hardened process gives the necessary hardness for industrial applications. Torsion (TZ) bits are designed to prevent premature wear for improved service life. Hex-Plus technology prevents rounding of screw recess and transfers up to 20% more torque. Stainless bits partnered with Wera\u2019s stainless Rapidaptor will protect the full length of the bit against extraneous rust. Ice\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nICON 01725 Tandem Axle Fender Skirt FS1724 for KZ - Cobalt Blue\nTandem axle fender skirt measures to 65-1\/4 x 14. Constructed of durable high-impact ABS plastic. This replacement fender skirt is textured. The legs of these fender skirts curve underneath the trailer. Durable, high-impact ABS plastic Textured finish Quick and simple installation Color Cobalt Blue Size 65-1\/4 x 14 Brand ICON, Color Regular, Exterior Finish Smooth, Material Acrylonitrile Butadiene Styrene, Dimensions LxWxH 14.5 x 5 x 2.9 inches, Style Modern, Auto Part Position Lower, Vehicle Service Type Trailer, Fit Type Universal\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nICON 01725 Tandem Axle Fender Skirt FS1724 for KZ - Cobalt Blue\nTandem axle fender skirt measures to 65-1\/4 x 14. Constructed of durable high-impact ABS plastic. This replacement fender skirt is textured. The legs of these fender skirts curve underneath the trailer. Durable, high-impact ABS plastic Textured finish Quick and simple installation Color Cobalt Blue Size 65-1\/4 x 14 Brand ICON, Color Regular, Exterior Finish Smooth, Material Acrylonitrile Butadiene Styrene, Dimensions LxWxH 14.5 x 5 x 2.9 inches, Style Modern, Auto Part Position Lower, Vehicle Service Type Trailer, Fit Type Universal\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nSAREMAS Foot Step Bars for Hyundai Palisade 2023 Running Boards Side Steps nerf bar Pedal Protector\nThe price for one pair\uff08left and right running board\uff09 Don't drill,use the factory hole Main raw material high quality Aluminum&ABS ect Including brackets and mounting parts For Hyundai Palisade 2020 2021 2022 2023 Manufacturer Donarrw, Brand SAREMAS, Weight 32.3 pounds, Dimensions 81 x 11 x 8 inches, Exterior Aluminum, Manufacturer Part PATXTB, Rank Automotive Running Boards 6648, Available February 18, 2020, Material Aluminum, Acrylonitrile Butadiene Styrene (ABS), Exterior Finish Aluminum, Vehicle Service Type Passenger Car\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nSAREMAS Foot Step Bars for Hyundai Palisade 2023 Running Boards Side Steps nerf bar Pedal Protector\nThe price for one pair\uff08left and right running board\uff09 Don't drill,use the factory hole Main raw material high quality Aluminum&ABS ect Including brackets and mounting parts For Hyundai Palisade 2020 2021 2022 2023 Manufacturer Donarrw, Brand SAREMAS, Weight 32.3 pounds, Dimensions 81 x 11 x 8 inches, Exterior Aluminum, Manufacturer Part PATXTB, Rank Automotive Running Boards 6648, Available February 18, 2020, Material Aluminum, Acrylonitrile Butadiene Styrene (ABS), Exterior Finish Aluminum, Vehicle Service Type Passenger Car\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nHorror Bookmarks, Resin Horror Bookmarks for Adults, The Best Gift for Fans of Horror Novels, Horror Personalized Bookmarks for Men Women, Horror Figures Sculpture Bookmarks (Set)\nHorror Bookmarks - The Best Gift for Fans of Horror Novels, Resin Horror Bookmarks for Adults, Half-Length Figure Sculpture Bookmarks, Horror Bookmark Set for Men Women Office Supplies Specification Upper Part Material Resin Lower Part Of Material Wood Character Size 3.3cm x 2cm \/ x Overall Size 10cm \/ 4inch Package Includes 1 \/ 6 x Horror bookmarks - the best gift for fans of horror novels Note 1. Due to manual measurements, please allow slight measurement deviations. 2. Due to the different display and lighting effects, the\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nHorror Bookmarks, Resin Horror Bookmarks for Adults, The Best Gift for Fans of Horror Novels, Horror Personalized Bookmarks for Men Women, Horror Figures Sculpture Bookmarks (Set)\nHorror Bookmarks - The Best Gift for Fans of Horror Novels, Resin Horror Bookmarks for Adults, Half-Length Figure Sculpture Bookmarks, Horror Bookmark Set for Men Women Office Supplies Specification Upper Part Material Resin Lower Part Of Material Wood Character Size 3.3cm x 2cm \/ x Overall Size 10cm \/ 4inch Package Includes 1 \/ 6 x Horror bookmarks - the best gift for fans of horror novels Note 1. Due to manual measurements, please allow slight measurement deviations. 2. Due to the different display and lighting effects, the\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nTechnical Precision Replacement for GE General Electric G.E Light Bulb\nReplacement For GE GENERAL ELECTRIC G.E Light Bulb Unit per sale 1 Brand Technical Precision, Light Type CFL, Wattage 55.00, Bulb Base G8, Specific Uses For Product Lamp, Light Color Warm White, Unit Count 1 Count, Color Temperature 3000 Kelvin, s 1, Brightness 4000 Lumen, Shape Cd, Size 1 Count (Pack of 1), Connectivity Technology Normal bulb, Controller Type Push Button, Color Rendering Index 82, Manufacturer Technical Precision, Part Weight 7 ounces, Dimensions 11.57 x 9.45 x 1.89 inches, Is Discontinued No, Quantity 1, Rank Industrial & Scientific Compact Fluorescent Bul\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nTechnical Precision Replacement for GE General Electric G.E Light Bulb\nReplacement For GE GENERAL ELECTRIC G.E Light Bulb Unit per sale 1 Brand Technical Precision, Light Type CFL, Wattage 55.00, Bulb Base G8, Specific Uses For Product Lamp, Light Color Warm White, Unit Count 1 Count, Color Temperature 3000 Kelvin, s 1, Brightness 4000 Lumen, Shape Cd, Size 1 Count (Pack of 1), Connectivity Technology Normal bulb, Controller Type Push Button, Color Rendering Index 82, Manufacturer Technical Precision, Part Weight 7 ounces, Dimensions 11.57 x 9.45 x 1.89 inches, Is Discontinued No, Quantity 1, Rank Industrial & Scientific Compact Fluorescent Bul\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nSubaru Forester Outback Legacy OEM Engine Block Heater Genuine new\nManufactured from top quality components, this is your inexpensive replacement option for your rebuild, repair, and maintenance needs. When you select a genuine OEM part - you can rely on the high quality and effectiveness of the product and brand without having to guess if the product will work in sequence with your vehicle. Protecting your investment is important and choosing the right parts can be challenging. Stick with what you know and choose a genuine OEM part. Genuine Subaru Genuine Engine Block Heater Warms engine coolant to promote easier starting in extreme cold conditions. Plugs into a a household electrical outlet. Crosstrek Hybrid models Forester Outback 2.5 Legacy 2.5 Manufacturer Subaru, Brand Subaru, Weight 1 pounds, Dimensions \n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nSubaru Forester Outback Legacy OEM Engine Block Heater Genuine new\nManufactured from top quality components, this is your inexpensive replacement option for your rebuild, repair, and maintenance needs. When you select a genuine OEM part - you can rely on the high quality and effectiveness of the product and brand without having to guess if the product will work in sequence with your vehicle. Protecting your investment is important and choosing the right parts can be challenging. Stick with what you know and choose a genuine OEM part. Genuine Subaru Genuine Engine Block Heater Warms engine coolant to promote easier starting in extreme cold conditions. Plugs into a a household electrical outlet. Crosstrek Hybrid models Forester Outback 2.5 Legacy 2.5 Manufacturer Subaru, Brand Subaru, Weight 1 pounds, Dimensions \n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nYellow Jacket 2806 Contractor Extension Cord with Lighted End; 100 ft; 100 Ft\nProduct Description Yellow Jacket 2806 10\/3 Heavy-Duty 15-Amp SJTW Contractor Extension Cord with Lighted End, Super flexibility in cold and hot weather. Power Lite power indicator lamp glows through the extra heavy, clear molded plug when the cord has power. Three times as abrasion resistant as standard vinyl, making these cords the toughest on the jobsite. Extra heavy, clear molded plugs are rugged, durable and oversized. Meets OSHA specifications, UL Listed. 10 Gauge. The Yellow Jacket (R) brand is a registered trademark of Coleman Cable Inc. From the Manufacturer Yellow Jacket 2806 10\/3 Heavy-Duty 15-Amp SJ\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nYellow Jacket 2806 Contractor Extension Cord with Lighted End; 100 ft; 100 Ft\nProduct Description Yellow Jacket 2806 10\/3 Heavy-Duty 15-Amp SJTW Contractor Extension Cord with Lighted End, Super flexibility in cold and hot weather. Power Lite power indicator lamp glows through the extra heavy, clear molded plug when the cord has power. Three times as abrasion resistant as standard vinyl, making these cords the toughest on the jobsite. Extra heavy, clear molded plugs are rugged, durable and oversized. Meets OSHA specifications, UL Listed. 10 Gauge. The Yellow Jacket (R) brand is a registered trademark of Coleman Cable Inc. From the Manufacturer Yellow Jacket 2806 10\/3 Heavy-Duty 15-Amp SJ\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nEibach Pro-Kit Performance Springs Set Of 4 Compatible with Nissan Altima\nEibach production technology is recognized worldwide as leading its field, from our high-strength spring-steel alloys, our advanced CNC winding process, our high-quality corrosion protection and the legendary longevity of our components. High Performance Handling and Aggressive Good Looks. Each Spring Individually Tested Stop Quicker, Corner Faster and get Better MPG! Progressive Spring Design for Excellent Ride Quality. Manufacturer Eibach, Brand Eibach, Model Weight 24.8 pounds, Dimensions 24.7 x 14.7 x 7 inches, model number Exterior Machined, Manufacturer Part Rank Automotive Automotive Replacement Shocks 12221, Available December 9, 2019\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nEibach Pro-Kit Performance Springs Set Of 4 Compatible with Nissan Altima\nEibach production technology is recognized worldwide as leading its field, from our high-strength spring-steel alloys, our advanced CNC winding process, our high-quality corrosion protection and the legendary longevity of our components. High Performance Handling and Aggressive Good Looks. Each Spring Individually Tested Stop Quicker, Corner Faster and get Better MPG! Progressive Spring Design for Excellent Ride Quality. Manufacturer Eibach, Brand Eibach, Model Weight 24.8 pounds, Dimensions 24.7 x 14.7 x 7 inches, model number Exterior Machined, Manufacturer Part Rank Automotive Automotive Replacement Shocks 12221, Available December 9, 2019\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nFlash Furniture 4 Pk. HERCULES Series 880 lb. Capacity Black Plastic Stack Chair\nWhen in need of a space-saving seating solution that is either permanent or temporary, stack chairs have been proven to be beneficial. Stack chairs are a popular choice for many businesses that include hotels, schools, restaurants, cafeterias, and offices. This industrial looking chair hits the mark on comfort. This chair features a carrying handle to easily transport. This versatile chair is ideal for both indoor and outdoor functions. With the ability to quickly store the chairs, it allows for the space to be used again for other purposes or when cleaning is needed. This heavy duty plastic stack chair is sturdy in construction to withstand regular use and frequent stacking. To make transporting even easier, equip yourself with the appropriate sized\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nFlash Furniture 4 Pk. HERCULES Series 880 lb. Capacity Black Plastic Stack Chair\nWhen in need of a space-saving seating solution that is either permanent or temporary, stack chairs have been proven to be beneficial. Stack chairs are a popular choice for many businesses that include hotels, schools, restaurants, cafeterias, and offices. This industrial looking chair hits the mark on comfort. This chair features a carrying handle to easily transport. This versatile chair is ideal for both indoor and outdoor functions. With the ability to quickly store the chairs, it allows for the space to be used again for other purposes or when cleaning is needed. This heavy duty plastic stack chair is sturdy in construction to withstand regular use and frequent stacking. To make transporting even easier, equip yourself with the appropriate sized\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nACDelco Gold Starter, Remanufactured (Renewed)\nACDelco\u2019s Professional Remanufactured Starters are the high quality replacement ideal for many vehicles on the road today. ACDelco\u2019s Professional Remanufactured Starters have new bronze sintered and oil-impregnated bushings. Solenoid contacts are new with copper terminals and plated hardware. Remanufacturing starters is an industry standard practice that involves disassembly of existing units, and replacing components that are most prone to wear with new components. Damaged and obsolete parts are replaced and are end of line tested to ensure they perform to ACDelco specifications. In addition, remanufacturing returns components back into service rather than processing as scrap or simply disposing of them. These starters will\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nACDelco Gold Starter, Remanufactured (Renewed)\nACDelco\u2019s Professional Remanufactured Starters are the high quality replacement ideal for many vehicles on the road today. ACDelco\u2019s Professional Remanufactured Starters have new bronze sintered and oil-impregnated bushings. Solenoid contacts are new with copper terminals and plated hardware. Remanufacturing starters is an industry standard practice that involves disassembly of existing units, and replacing components that are most prone to wear with new components. Damaged and obsolete parts are replaced and are end of line tested to ensure they perform to ACDelco specifications. In addition, remanufacturing returns components back into service rather than processing as scrap or simply disposing of them. These starters will\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nECCPP Rear Wheel Axle Replacement fit for for Honda Sportrax 2009\nThis axle works on the following models 2002 for HondaSportrax for HondaSportrax for HondaSportrax for HondaSportrax for HondaSportrax for HondaSportrax for HondaSportrax for HondaSportrax for HondaSportrax for HondaSportrax for for for for Package including 1 piece of Rear Wheel Axle Fitment - for Honda Sportrax 2009 Length - 855 mm, brand new complete rear wheel axle OE quality - Produced in the same specifications and functions as OE. Refer OE number Premium Material - Long service life with high quality raw material and the complete polishing Installation - Replace directly with assembly, easy to install. Brand ECCPP, Weight 15.22 pounds, Dimensions 35\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nECCPP Rear Wheel Axle Replacement fit for for Honda Sportrax 2009\nThis axle works on the following models 2002 for HondaSportrax for HondaSportrax for HondaSportrax for HondaSportrax for HondaSportrax for HondaSportrax for HondaSportrax for HondaSportrax for HondaSportrax for HondaSportrax for for for for Package including 1 piece of Rear Wheel Axle Fitment - for Honda Sportrax 2009 Length - 855 mm, brand new complete rear wheel axle OE quality - Produced in the same specifications and functions as OE. Refer OE number Premium Material - Long service life with high quality raw material and the complete polishing Installation - Replace directly with assembly, easy to install. Brand ECCPP, Weight 15.22 pounds, Dimensions 35\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nPremium Replica Hubcap Set, Fits Nissan Rogue Replacement Wheel Covers\nThis is a set of 4 Brand New replica Nissan hubcap. Fits 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015 Rogue. Silver-painted. This is a copy of a factory-original. Our Replica wheel covers are made of sturdy ABS plastic and feature a rich silver finish, just like the originals. They will look great on your vehicle for years to come. Brand New Condition Aftermarket replacement for Nissan part Fits Nissan Rogue 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015 model years. Mounts easily and securely to\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nPremium Replica Hubcap Set, Fits Nissan Rogue Replacement Wheel Covers\nThis is a set of 4 Brand New replica Nissan hubcap. Fits 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015 Rogue. Silver-painted. This is a copy of a factory-original. Our Replica wheel covers are made of sturdy ABS plastic and feature a rich silver finish, just like the originals. They will look great on your vehicle for years to come. Brand New Condition Aftermarket replacement for Nissan part Fits Nissan Rogue 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015 model years. Mounts easily and securely to\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nElements of Design Magellan Three Handle Tub and Shower Faucet, Oil Rubbed Bronze\nSolid brass water way construction, Premium color finish resists tarnishing and corrosion, 2.5 GPM \/ 9.5 LPM at 60 PSI, 6-Inch reach Shower Arm, 1\/4 turn washer less cartridge, IPS Inlets, Pressure Balance Valve, Temperature Check Stop.. Constructed from solid brass for durability and reliability Our corrosion and tarnish-resistant finishes provides long-lasting use Pressure Balance Valve; Fine Artistic Craftsmanship Max 2.0 LPM Water Flow Rate At 80 PSI On Showerhead Compliant with California Energy Commission Title 20 Brand Elements of Design, Color Oil Rubbed Bronze, Material Brass, Finish Type Oil Rubbed, Handles 3\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nElements of Design Magellan Three Handle Tub and Shower Faucet, Oil Rubbed Bronze\nSolid brass water way construction, Premium color finish resists tarnishing and corrosion, 2.5 GPM \/ 9.5 LPM at 60 PSI, 6-Inch reach Shower Arm, 1\/4 turn washer less cartridge, IPS Inlets, Pressure Balance Valve, Temperature Check Stop.. Constructed from solid brass for durability and reliability Our corrosion and tarnish-resistant finishes provides long-lasting use Pressure Balance Valve; Fine Artistic Craftsmanship Max 2.0 LPM Water Flow Rate At 80 PSI On Showerhead Compliant with California Energy Commission Title 20 Brand Elements of Design, Color Oil Rubbed Bronze, Material Brass, Finish Type Oil Rubbed, Handles 3\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nDNA MOTORING Smoke Lens Amber Headlights Replacement For 06-10 Explorer\nA headlight (headlamp) is a lamp attached to the front of a vehicle to light the road ahead. Headlight performance has steadily improved throughout the automobile age, spurred by the great disparity between daytime and nighttime traffic fatalities. Headlights are one of the most important components of your vehicle; they allow you to see the road in front of you clearly during the night and in any bad weather that may arise. Our headlights upgrade the face of your vehicle with clear style and extreme range. Compatible with 06-10 Ford explorer. Plug-n-Play Operation, Direct Bolt-On OE Fitment or Replacement for the Stock Unit Uses H13 High Beam & Low Beam \/ Bulbs are NOT Included Brings a Different Appearance\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nDNA MOTORING Smoke Lens Amber Headlights Replacement For 06-10 Explorer\nA headlight (headlamp) is a lamp attached to the front of a vehicle to light the road ahead. Headlight performance has steadily improved throughout the automobile age, spurred by the great disparity between daytime and nighttime traffic fatalities. Headlights are one of the most important components of your vehicle; they allow you to see the road in front of you clearly during the night and in any bad weather that may arise. Our headlights upgrade the face of your vehicle with clear style and extreme range. Compatible with 06-10 Ford explorer. Plug-n-Play Operation, Direct Bolt-On OE Fitment or Replacement for the Stock Unit Uses H13 High Beam & Low Beam \/ Bulbs are NOT Included Brings a Different Appearance\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nAC Compressor & A\/C Clutch For Hyundai Accent 2006 2007 2008 2009 - BuyAutoParts NEW\nEngineered for superior durability, backed by a one year, unlimited mileage warranty Guaranteed Exact Fit for easy installation 100% BRAND NEW, premium ISO\/TS 16949 quality - no core deposit or return required! Make sure you flush the system thoroughly and replace the drier filter along with the compressor for better long-term reliability, or consider one of our AC kits that includes everything you need! Fits Hyundai Accent Manufacturer BuyAutoParts, Part Weight 16 Pounds, Dimensions 12 x 11 x 10 inches, Quantity 1, Rank Automotive Automotive Replacement Air Conditioning Compressors 9735, Available April 25, 2015,\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nAC Compressor & A\/C Clutch For Hyundai Accent 2006 2007 2008 2009 - BuyAutoParts NEW\nEngineered for superior durability, backed by a one year, unlimited mileage warranty Guaranteed Exact Fit for easy installation 100% BRAND NEW, premium ISO\/TS 16949 quality - no core deposit or return required! Make sure you flush the system thoroughly and replace the drier filter along with the compressor for better long-term reliability, or consider one of our AC kits that includes everything you need! Fits Hyundai Accent Manufacturer BuyAutoParts, Part Weight 16 Pounds, Dimensions 12 x 11 x 10 inches, Quantity 1, Rank Automotive Automotive Replacement Air Conditioning Compressors 9735, Available April 25, 2015,\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nSuperATV Scratch Resistant 3-in-1 Flip Windshield For CFMOTO ZForce 500 \/ 800 Trail \/ 800 EX \/ 1000 | 1\/4 Thick Polycarbonate | USA Made | Can be set to Open, Vented Or Closed\nFits CFMOTO ZForce 500 | CFMOTO ZForce 800 Trail | CFMOTO ZForce 800 EX | CFMOTO ZForce 1000 | Can be used with most soft or hard tops | 100% Fitment Guaranteed Great For All Weather Want a CFMOTO Windshield that works in all conditions? Our 3-in-1 Flip-Up design allows you to choose from closed, vented, or open positions to ride comfortably in all-weather without having to\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nSuperATV Scratch Resistant 3-in-1 Flip Windshield For CFMOTO ZForce 500 \/ 800 Trail \/ 800 EX \/ 1000 | 1\/4 Thick Polycarbonate | USA Made | Can be set to Open, Vented Or Closed\nFits CFMOTO ZForce 500 | CFMOTO ZForce 800 Trail | CFMOTO ZForce 800 EX | CFMOTO ZForce 1000 | Can be used with most soft or hard tops | 100% Fitment Guaranteed Great For All Weather Want a CFMOTO Windshield that works in all conditions? Our 3-in-1 Flip-Up design allows you to choose from closed, vented, or open positions to ride comfortably in all-weather without having to\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nDell Latitude E5440 14in Business Laptop Computer, Intel Core up to 8GB RAM, 256GB SSD, HDMI, DVDRW, WiFi plus BT, Windows 10 Professional (Renewed)\n2018 Dell Latitude E5440 14 Business Laptop Computer, Intel Dual-Core up to 8GB RAM, 256GB SSD, HDMI, Bluetooth 4.0, WiFi Windows 10 Professional (CertifiedRefurbished) Operating System Microsoft Windows 10 Professional CPU Intel Core 1.9GHz up to 2.9GHz Screen 14 Memory 8 GB DDR3 Storage 256GB SSD Optical Drive DVD-Writer Graphics Card Intel HD Graphics 4400 Video Memory Shared memory Communication Gigabit LAN and WLAN CPU Type Intel Core i5 4\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nDell Latitude E5440 14in Business Laptop Computer, Intel Core up to 8GB RAM, 256GB SSD, HDMI, DVDRW, WiFi plus BT, Windows 10 Professional (Renewed)\n2018 Dell Latitude E5440 14 Business Laptop Computer, Intel Dual-Core up to 8GB RAM, 256GB SSD, HDMI, Bluetooth 4.0, WiFi Windows 10 Professional (CertifiedRefurbished) Operating System Microsoft Windows 10 Professional CPU Intel Core 1.9GHz up to 2.9GHz Screen 14 Memory 8 GB DDR3 Storage 256GB SSD Optical Drive DVD-Writer Graphics Card Intel HD Graphics 4400 Video Memory Shared memory Communication Gigabit LAN and WLAN CPU Type Intel Core i5 4\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nFiiO X7 32GB Hi-Res Lossless Music Player, Titanium\nFiiO X7 High Resolution Audio Player FiiO X7 High Resolution Audio Player- Currently supports Music Player function only. DAC and other features will be available through future firmware upgrade Dimensions 2.52 x 5.12 x 0.65 inches, Weight 7.8 ounces, model number FIIO X7, Rank Electronics MP3 & MP4 Players 2510, Is Discontinued No, OS Android 4.4.4, RAM 32 GB, Connectivity technologies Aux, Special features Hi Res Audio, Other display features Wireless, Color Titanium Blue, Manufacturer FiiO, Available November 30, 2015, Brand FiiO, Model Name X7,\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nFiiO X7 32GB Hi-Res Lossless Music Player, Titanium\nFiiO X7 High Resolution Audio Player FiiO X7 High Resolution Audio Player- Currently supports Music Player function only. DAC and other features will be available through future firmware upgrade Dimensions 2.52 x 5.12 x 0.65 inches, Weight 7.8 ounces, model number FIIO X7, Rank Electronics MP3 & MP4 Players 2510, Is Discontinued No, OS Android 4.4.4, RAM 32 GB, Connectivity technologies Aux, Special features Hi Res Audio, Other display features Wireless, Color Titanium Blue, Manufacturer FiiO, Available November 30, 2015, Brand FiiO, Model Name X7,\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nACDelco GM Original Equipment Alternator\nACDelco GM Original Equipment Light Duty Alternators have components that are newly manufactured, and are GM-recommended replacement for your vehicle\u2019s original alternator. Alternators provide power to the vehicle's electrical systems and charge the battery while the engine is running. These original equipment alternators have been manufactured to fit your GM vehicle, providing the same performance, durability, and service life you expect from General Motors. 100% newly manufactured as an exact replacement for your GM vehicle\u2019s original alternator Components are tested to meet original specification requirements for remarkable durability GM-recommended replacement part for your GM vehicle\u2019s original factory component Offering the quality, reliability, and durability of GM OE Manufactured to GM OE specifications for fit, form, and function Dimensions 13.8\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nACDelco GM Original Equipment Alternator\nACDelco GM Original Equipment Light Duty Alternators have components that are newly manufactured, and are GM-recommended replacement for your vehicle\u2019s original alternator. Alternators provide power to the vehicle's electrical systems and charge the battery while the engine is running. These original equipment alternators have been manufactured to fit your GM vehicle, providing the same performance, durability, and service life you expect from General Motors. 100% newly manufactured as an exact replacement for your GM vehicle\u2019s original alternator Components are tested to meet original specification requirements for remarkable durability GM-recommended replacement part for your GM vehicle\u2019s original factory component Offering the quality, reliability, and durability of GM OE Manufactured to GM OE specifications for fit, form, and function Dimensions 13.8\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nSharp, Commercial Desktop Calculator, LCD\nResume function lets you recall data after shut-off. Extra-large digits for excellent readability. Dual solar\/battery power for use in any lighting. Resume function lets you recall data after shut-off. Extra-large digits for excellent readability. Dual solar\/battery power for use in any lighting. Dimensions 7.2 x 5.1 x 1 inches, Weight 6.4 ounces, model number Batteries 1 CR2 batteries required. (included), Rank Office Products Basic Office Calculators 1027, Is Discontinued No, Available December 27, 2004, Manufacturer SHARP ELECTRONICS, Brand Sharp, Color Black, Calculator Type Business, Power Source Battery Powered, Batteries 1 CR2 batteries required. (included)\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nSharp, Commercial Desktop Calculator, LCD\nResume function lets you recall data after shut-off. Extra-large digits for excellent readability. Dual solar\/battery power for use in any lighting. Resume function lets you recall data after shut-off. Extra-large digits for excellent readability. Dual solar\/battery power for use in any lighting. Dimensions 7.2 x 5.1 x 1 inches, Weight 6.4 ounces, model number Batteries 1 CR2 batteries required. (included), Rank Office Products Basic Office Calculators 1027, Is Discontinued No, Available December 27, 2004, Manufacturer SHARP ELECTRONICS, Brand Sharp, Color Black, Calculator Type Business, Power Source Battery Powered, Batteries 1 CR2 batteries required. (included)\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nCovercraft Carhartt SeatSaver Front Row Custom Fit Seat Cover for Select Ford Models - Duck Weave (Gravel)\nCarhartt SeatSaver seat covers from Covercraft are the solution to the problem of keeping the seats in your truck or SUV clean and protected from daily use and weekend adventures. Made from durable, duck-weave fabric, these custom-fit seat covers protect your seats from dirt, mud, grime, spills and more. Featuring Rain Defender technology, a durable water repellency finish is added to the fabric to make it highly water resistant. Combine these features with the custom fitment and classic Carhartt styling, you get seat covers that look great and protect your seats from whatever you throw at them. Classic Duck-Weave Carhartt fabric for durability Custom-made\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nCovercraft Carhartt SeatSaver Front Row Custom Fit Seat Cover for Select Ford Models - Duck Weave (Gravel)\nCarhartt SeatSaver seat covers from Covercraft are the solution to the problem of keeping the seats in your truck or SUV clean and protected from daily use and weekend adventures. Made from durable, duck-weave fabric, these custom-fit seat covers protect your seats from dirt, mud, grime, spills and more. Featuring Rain Defender technology, a durable water repellency finish is added to the fabric to make it highly water resistant. Combine these features with the custom fitment and classic Carhartt styling, you get seat covers that look great and protect your seats from whatever you throw at them. Classic Duck-Weave Carhartt fabric for durability Custom-made\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nGretsch G9210 Square Neck Boxcar Mahogany Resonator Acoustic Guitar\nClassic Squareneck Resonator from Gretsch Neck; Padauk Fingerboard; and Hand-spun Cone - Mahogany Natural Acoustic Squareneck Resonator Guitar with Mahogany Top Sides Weight 10 pounds, Dimensions 20 x 7 x 48 inches, model number Rank Musical Instruments 50797, Acoustic Resonator Guitars 12, Is Discontinued No, Available February 5, 2018, Back Material Mahogany, Body Material Mahogany, Color Name Natural, Fretboard Material Padauk, String Material Phosphor Bronze, Top Material Mahogany Wood, Neck Material Type Mahogany, Strings 6, Brand Gretsch, Color Natural\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nGretsch G9210 Square Neck Boxcar Mahogany Resonator Acoustic Guitar\nClassic Squareneck Resonator from Gretsch Neck; Padauk Fingerboard; and Hand-spun Cone - Mahogany Natural Acoustic Squareneck Resonator Guitar with Mahogany Top Sides Weight 10 pounds, Dimensions 20 x 7 x 48 inches, model number Rank Musical Instruments 50797, Acoustic Resonator Guitars 12, Is Discontinued No, Available February 5, 2018, Back Material Mahogany, Body Material Mahogany, Color Name Natural, Fretboard Material Padauk, String Material Phosphor Bronze, Top Material Mahogany Wood, Neck Material Type Mahogany, Strings 6, Brand Gretsch, Color Natural\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nFun Express Insect Finger Puppets - 24 finger puppet bugs for kids\nYou'll get an assortment of 24 insect finger puppets including bees, butterflies, ladybugs, dragonflies, and grasshoppers. Each plastic bug finger puppet is made of quality vinyl and measures 1 3\/4 - 2 3\/4. Plastic bugs and insects for kids make a fun and creative gift and can be used as party favors or decorations for your bug themed party! Adult supervision recommended for children under 3 years as small parts could be a choking hazard. 24 Insect Finger puppets for toddlers and children. Each finger puppet is made of vinyl and measures 1 3\/4 - 2 3\/4. You'll get an assortment of toy bugs and\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nFun Express Insect Finger Puppets - 24 finger puppet bugs for kids\nYou'll get an assortment of 24 insect finger puppets including bees, butterflies, ladybugs, dragonflies, and grasshoppers. Each plastic bug finger puppet is made of quality vinyl and measures 1 3\/4 - 2 3\/4. Plastic bugs and insects for kids make a fun and creative gift and can be used as party favors or decorations for your bug themed party! Adult supervision recommended for children under 3 years as small parts could be a choking hazard. 24 Insect Finger puppets for toddlers and children. Each finger puppet is made of vinyl and measures 1 3\/4 - 2 3\/4. You'll get an assortment of toy bugs and\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nArepa - Venezuelan cuisine - Venezuela PopSockets PopGrip Swappable Grip for Phones & Tablets\nArepa Venezolana. Arepa - Venezuelan cuisine - Venezuela. Arepa - Venezuelan cuisine - Venezuela. Great gift for holidays, birthdays, events, parties and much more. Arepa - Venezuelan cuisine - Venezuela Great gift for holidays, birthdays, events, parties and much more. PopGrip with swappable top; switch out your PopTop for another design or remove it completely for wireless charging capabilities. (Not compatible with Apple MagSafe wireless charger or MagSafe wallet.) Expandable stand to watch videos, take group photos, FaceTime, and Skype handsfree. Advanced adhesive allows you to remove and reposition on most devices and cases. Note Will not stick to some silicone, waterproof\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nArepa - Venezuelan cuisine - Venezuela PopSockets PopGrip Swappable Grip for Phones & Tablets\nArepa Venezolana. Arepa - Venezuelan cuisine - Venezuela. Arepa - Venezuelan cuisine - Venezuela. Great gift for holidays, birthdays, events, parties and much more. Arepa - Venezuelan cuisine - Venezuela Great gift for holidays, birthdays, events, parties and much more. PopGrip with swappable top; switch out your PopTop for another design or remove it completely for wireless charging capabilities. (Not compatible with Apple MagSafe wireless charger or MagSafe wallet.) Expandable stand to watch videos, take group photos, FaceTime, and Skype handsfree. Advanced adhesive allows you to remove and reposition on most devices and cases. Note Will not stick to some silicone, waterproof\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nRICHMOND & FINCH Airpod Pro Case, Green Leopard Full Protective Cover, Shockproof, Scratch Resistant, Wireless Charging Compatible Case for Airpods Pro\nCOMPATIBILITY This Richmond & Finch Airpod Pro Case is compatible with Airpods Pro Only PROTECTION Our Richmond & Finch Airpods Pro Case offers premium protection to your air pods pro with our shockproof protective cover, protecting your Airpod Pro from drops and knocks WIRELESS CHARGING The Richmond & Finch Airpods Pro Case is wireless charging compatible, so you can charge your Airpod Pros easily and quickly SCRATCH RESISTANT Our Richmond & Finch Airpod Pro Protective Cover is made from high quality scratch resistant materials, ensuring your Air Pods Pro are safe from any scratches or damage FASHION FORWARD All\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nRICHMOND & FINCH Airpod Pro Case, Green Leopard Full Protective Cover, Shockproof, Scratch Resistant, Wireless Charging Compatible Case for Airpods Pro\nCOMPATIBILITY This Richmond & Finch Airpod Pro Case is compatible with Airpods Pro Only PROTECTION Our Richmond & Finch Airpods Pro Case offers premium protection to your air pods pro with our shockproof protective cover, protecting your Airpod Pro from drops and knocks WIRELESS CHARGING The Richmond & Finch Airpods Pro Case is wireless charging compatible, so you can charge your Airpod Pros easily and quickly SCRATCH RESISTANT Our Richmond & Finch Airpod Pro Protective Cover is made from high quality scratch resistant materials, ensuring your Air Pods Pro are safe from any scratches or damage FASHION FORWARD All\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nGlyph Thunderbolt 3 NVMe Dock (0 GB)\nPerfect fit ultra slim case for iphone 6 plus. Lightweight, and easy access to all buttons Snap-on case Strong packaging to protect the goods from possible damage High quality and durable protection cover. Brand Glyph Production Technologies, model number Weight 1.89 Kilograms, Dimensions 9.4 x 3.8 x 0.9 inches, Dimensions LxWxH 9.4 x 3.8 x 0.9 inches, Color Black, Manufacturer Glyph Production Technologies, Is Discontinued No, Available June 6, 2015, Rank Computers & Accessories Laptop Docking Stations 2945, Hardware Interface USB, Thunderbolt, Compatible Devices iPhone 6 Plus, Total USB Ports 3, Dimensions L\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nGlyph Thunderbolt 3 NVMe Dock (0 GB)\nPerfect fit ultra slim case for iphone 6 plus. Lightweight, and easy access to all buttons Snap-on case Strong packaging to protect the goods from possible damage High quality and durable protection cover. Brand Glyph Production Technologies, model number Weight 1.89 Kilograms, Dimensions 9.4 x 3.8 x 0.9 inches, Dimensions LxWxH 9.4 x 3.8 x 0.9 inches, Color Black, Manufacturer Glyph Production Technologies, Is Discontinued No, Available June 6, 2015, Rank Computers & Accessories Laptop Docking Stations 2945, Hardware Interface USB, Thunderbolt, Compatible Devices iPhone 6 Plus, Total USB Ports 3, Dimensions L\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nDCPOWER AC Adapter Compatible Replacement for KORG PS60 PS-60 61-Key Portable Performance Synthesizer\nNew aftermarket, custom-made item (NON-OEM\/NON-Original Equipment Manufacturer). Auto-Switching adapter can be used in the worldwide. Returns accepted within 30 Days. Quantity 1 unit of adapter. Connector type Round Barrel\/Round tip Can be used to power up the device Input AC for using in the worldwide Output 9V DC Dimensions 3 x 2 x 1.5 inches, Weight 6 Ounces, Rank Musical Instruments Keyboard Power Supplies 5234, Is Discontinued No, Available October 24, 2013, Manufacturer DCPOWER, Brand Generic, Connector Type barrel connector, Special Feature Portable, Input Voltage 240 Volts,\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nDCPOWER AC Adapter Compatible Replacement for KORG PS60 PS-60 61-Key Portable Performance Synthesizer\nNew aftermarket, custom-made item (NON-OEM\/NON-Original Equipment Manufacturer). Auto-Switching adapter can be used in the worldwide. Returns accepted within 30 Days. Quantity 1 unit of adapter. Connector type Round Barrel\/Round tip Can be used to power up the device Input AC for using in the worldwide Output 9V DC Dimensions 3 x 2 x 1.5 inches, Weight 6 Ounces, Rank Musical Instruments Keyboard Power Supplies 5234, Is Discontinued No, Available October 24, 2013, Manufacturer DCPOWER, Brand Generic, Connector Type barrel connector, Special Feature Portable, Input Voltage 240 Volts,\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nWULF 4 Front 2 Rear Leveling Lift Kit with Spindles & Shackles compatible with Ford Ranger 2WD with Coil Spring Suspension\nCompatible with Ford Ranger 2WD with Coil Spring Suspension FRONT WULF 4 Lift Ductile Cast Iron Spindles \/ Knuckles REAR 1.5-2 Adjustable Lift Black Powder Coated Shackles, Zerk-Grease Fittings, Pressed greaseable high grade poly bushings and metal sleeves included NOTE 2WD models only. Excludes models with Stabilitrak. Requires Coil Spring suspension Please see the description for full details, or contact us for assistance Fast Shipping. Manufacturers Lifetime Warranty. Dedicated Customer Service Manufacturer WULF Suspensions, Brand WULF Suspensions, Country of Origin USA,\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nWULF 4 Front 2 Rear Leveling Lift Kit with Spindles & Shackles compatible with Ford Ranger 2WD with Coil Spring Suspension\nCompatible with Ford Ranger 2WD with Coil Spring Suspension FRONT WULF 4 Lift Ductile Cast Iron Spindles \/ Knuckles REAR 1.5-2 Adjustable Lift Black Powder Coated Shackles, Zerk-Grease Fittings, Pressed greaseable high grade poly bushings and metal sleeves included NOTE 2WD models only. Excludes models with Stabilitrak. Requires Coil Spring suspension Please see the description for full details, or contact us for assistance Fast Shipping. Manufacturers Lifetime Warranty. Dedicated Customer Service Manufacturer WULF Suspensions, Brand WULF Suspensions, Country of Origin USA,\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nStreet Series Stainless Performance Cat-Back Exhaust system\nMade in the USA and engineered to last, for those seeking increased performance and better economy, MagnaFlow MF Series Performance Exhaust systems deliver the smooth deep sound you want and the wide-open performance power you need. Our exhaust systems feature straight-through flow designs for the ultimate in unrestricted horsepower and torque for big power while maintaining exhaust efficiency. These systems are an engineered balance of interior and exterior noise levels and are tested against SAE j1169 standards. great quality and sound Manufacturer MagnaFlow, Brand MagnaFlow Exhaust Products, Model 17870, Weight 25 pounds, Dimensions 58.75 x 13.75 x 19 inches, model number 17870, Exterior Machined, Manufacturer Part 17870, Rank Automotive Automotive Replacement\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nStreet Series Stainless Performance Cat-Back Exhaust system\nMade in the USA and engineered to last, for those seeking increased performance and better economy, MagnaFlow MF Series Performance Exhaust systems deliver the smooth deep sound you want and the wide-open performance power you need. Our exhaust systems feature straight-through flow designs for the ultimate in unrestricted horsepower and torque for big power while maintaining exhaust efficiency. These systems are an engineered balance of interior and exterior noise levels and are tested against SAE j1169 standards. great quality and sound Manufacturer MagnaFlow, Brand MagnaFlow Exhaust Products, Model 17870, Weight 25 pounds, Dimensions 58.75 x 13.75 x 19 inches, model number 17870, Exterior Machined, Manufacturer Part 17870, Rank Automotive Automotive Replacement\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nDreamLine Shower Door, 56-60 W x 72 H, Chrome\nThe DreamLine Mirage-X frameless sliding shower or tub door is the epitome of simple elegance with a modern flair. The remarkably innovative headerless design creates an unobstructed and open view for your shower. The Mirage-X shower door will complete any bathroom space with a look of luxury and style. DreamLine exclusive ClearMax water repellant and stain resistant glass coating adds superior protection from stains and is nearly maintenance-free. IMPORTANT! All measurements should be taken only AFTER walls are finished (tile, back walls, etc. ) Model Size 56 - 60 in. W x 72 in. H; Walk-in Opening 22 to 26 in. Configuration consists of a Sliding Door and a Station\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nDreamLine Shower Door, 56-60 W x 72 H, Chrome\nThe DreamLine Mirage-X frameless sliding shower or tub door is the epitome of simple elegance with a modern flair. The remarkably innovative headerless design creates an unobstructed and open view for your shower. The Mirage-X shower door will complete any bathroom space with a look of luxury and style. DreamLine exclusive ClearMax water repellant and stain resistant glass coating adds superior protection from stains and is nearly maintenance-free. IMPORTANT! All measurements should be taken only AFTER walls are finished (tile, back walls, etc. ) Model Size 56 - 60 in. W x 72 in. H; Walk-in Opening 22 to 26 in. Configuration consists of a Sliding Door and a Station\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nMoen 8346 Commercial Posi-Temp Pressure Balancing 4 Port Cycling Valve Hand Shower System 2.5 gpm, Chrome\nProduct Description VERSATILE DESIGN Chrome finish is highly reflective for a mirror-like look that works with any decorating style From the Manufacturer This single-handle handheld shower system has a Posi-Temp pressure-balancing valve that maintains water pressure and controls temperature, a slide bar, drop ell, vacuum breaker, a metal hose and mounting hardware. The pressure balancing cycle valve design has 1\/4 turn stops, the rubber nozzles are quick cleaning and the chrome plated metal construction provides a bright, highly reflective, cool grey metallic look. The temperature handle operates counterclockwise through a 270 degree arc, with off at 6 o' clock\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nMoen 8346 Commercial Posi-Temp Pressure Balancing 4 Port Cycling Valve Hand Shower System 2.5 gpm, Chrome\nProduct Description VERSATILE DESIGN Chrome finish is highly reflective for a mirror-like look that works with any decorating style From the Manufacturer This single-handle handheld shower system has a Posi-Temp pressure-balancing valve that maintains water pressure and controls temperature, a slide bar, drop ell, vacuum breaker, a metal hose and mounting hardware. The pressure balancing cycle valve design has 1\/4 turn stops, the rubber nozzles are quick cleaning and the chrome plated metal construction provides a bright, highly reflective, cool grey metallic look. The temperature handle operates counterclockwise through a 270 degree arc, with off at 6 o' clock\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nHP EliteBook 2540p Intel Core X2 2GB 160GB DVD+\/-RW 12.1'' Wi, Black (Refurbished)\nStanding screen display size 12.1 Inches, Processor RAM 2 GB DDR3, Hard Drive 160 GB, Graphics Coprocessor Intel HD Graphics, Chipset Brand Intel, Card Description Integrated, Wireless Type Bluetooth, USB 2.0 Ports 3, Brand HP, Microsoft, Series HP EliteBook, model number Operating System Windows 8 1, Weight 3.97 Pounds, Dimensions 19 x 17 x 5 inches, Rear Webcam Resolution 1 MP, Processors 2, Computer Memory Type DDR3 SDRAM, Flash Memory Size 160 GB, Power Source Battery Powered, Available\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nHP EliteBook 2540p Intel Core X2 2GB 160GB DVD+\/-RW 12.1'' Wi, Black (Refurbished)\nStanding screen display size 12.1 Inches, Processor RAM 2 GB DDR3, Hard Drive 160 GB, Graphics Coprocessor Intel HD Graphics, Chipset Brand Intel, Card Description Integrated, Wireless Type Bluetooth, USB 2.0 Ports 3, Brand HP, Microsoft, Series HP EliteBook, model number Operating System Windows 8 1, Weight 3.97 Pounds, Dimensions 19 x 17 x 5 inches, Rear Webcam Resolution 1 MP, Processors 2, Computer Memory Type DDR3 SDRAM, Flash Memory Size 160 GB, Power Source Battery Powered, Available\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nASUS Chromebook CX1, 14 Full HD NanoEdge Display, Intel Celeron N3350 Processor, 64GB eMMC, 4GB RAM, Chrome OS, Transparent Silver,\nASUS Chromebook CX1400 is made for boosting productivity and having more fun while on the move \u2014 all day, every day. This lightweight, ultraportable device is powered by Intel processor and gives you the freedom of up to battery life. The slim-bezel design fits more screen into the compact chassis for easy multitasking and incredibly immersive entertainment, and the device is your gateway to the best of Google, including the rich library of apps for work or play on the Google Play Store. With speedy performance, robust security and intuitive features, ASUS Chromebook CX1 is ideal for anyone\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nASUS Chromebook CX1, 14 Full HD NanoEdge Display, Intel Celeron N3350 Processor, 64GB eMMC, 4GB RAM, Chrome OS, Transparent Silver,\nASUS Chromebook CX1400 is made for boosting productivity and having more fun while on the move \u2014 all day, every day. This lightweight, ultraportable device is powered by Intel processor and gives you the freedom of up to battery life. The slim-bezel design fits more screen into the compact chassis for easy multitasking and incredibly immersive entertainment, and the device is your gateway to the best of Google, including the rich library of apps for work or play on the Google Play Store. With speedy performance, robust security and intuitive features, ASUS Chromebook CX1 is ideal for anyone\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\n3M Perfect It Buffing and Polishing Kit | 36060 06094 06068 3M Rubbing Compound, Machine Polish, Ultrafine Polish | Buffing Compound, Car Polishing Kit | Bundled with Kangaroobands Microfiber Cloth\nThe 3M Perfect-It Paint Finishing System 3M Perfect-It EX AC Rubbing Compound is the best-performing rubbing compound for removing scratches and surface defects before polishing, even on the latest clear coats. Longer Working Time, Easier Cleanup Even in Extreme Conditions As part of a complete system for creating showroom-grade finishes, it is the ideal compound for the critical pre-polishing stage in collision repair. This fast-cutting, fine-finishing compound removes fine grade (P1200 or finer) sand scratches and\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\n3M Perfect It Buffing and Polishing Kit | 36060 06094 06068 3M Rubbing Compound, Machine Polish, Ultrafine Polish | Buffing Compound, Car Polishing Kit | Bundled with Kangaroobands Microfiber Cloth\nThe 3M Perfect-It Paint Finishing System 3M Perfect-It EX AC Rubbing Compound is the best-performing rubbing compound for removing scratches and surface defects before polishing, even on the latest clear coats. Longer Working Time, Easier Cleanup Even in Extreme Conditions As part of a complete system for creating showroom-grade finishes, it is the ideal compound for the critical pre-polishing stage in collision repair. This fast-cutting, fine-finishing compound removes fine grade (P1200 or finer) sand scratches and\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nCardone Remanufactured Ford Computer\nCARDONE Remanufactured Electronic and Powertrain Control Modules are designed to meet or exceed O.E. performance. Reverse engineering provides insight into how and why the unit originally failed, allowing our engineers to identify and correct original design weaknesses. All critical components are re-soldered or replaced at our Philadelphia manufacturing plant, and each unit is 100% computer tested to ensure reliability. CARDONE is committed to getting your vehicle back to peak performance. On-car vehicle validation testing ensures product fits and functions properly OE components with high failure rates are 100% replaced All electronic modules are 100% tested to ensure they meet OE requirements for the application Advanced robotic equipment ensures precision made units and consistent high quality with every part Every unit is 100% tested to ensure\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nCardone Remanufactured Ford Computer\nCARDONE Remanufactured Electronic and Powertrain Control Modules are designed to meet or exceed O.E. performance. Reverse engineering provides insight into how and why the unit originally failed, allowing our engineers to identify and correct original design weaknesses. All critical components are re-soldered or replaced at our Philadelphia manufacturing plant, and each unit is 100% computer tested to ensure reliability. CARDONE is committed to getting your vehicle back to peak performance. On-car vehicle validation testing ensures product fits and functions properly OE components with high failure rates are 100% replaced All electronic modules are 100% tested to ensure they meet OE requirements for the application Advanced robotic equipment ensures precision made units and consistent high quality with every part Every unit is 100% tested to ensure\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nSuper Switch Pickup Selector Super Switch 4-Pole Double Wafer for Strat\/Nashville Tele Guitars with Black\/Ivory\/White Tips\nDopro Super Switch Pickup Selector Super Switch 4-Pole Double Wafer for Strat\/Nashville Tele Guitars with Black\/Ivory\/White Tips Package includes 3 free tips which normally sold separately Five-position blade pickup selector switch ideal for four-conductor pickups. Used on American made Fat Strat and Double Fat Strat models, and on Nashville Telecaster models. Mounting screws included. Mounting screws and 35mm cavity depth required 1-5\/8 standard mounting screw spacing Please consult your local Luthier if you don't know how to install the switch Dimensions 5.47 x 4.29 x 0\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nSuper Switch Pickup Selector Super Switch 4-Pole Double Wafer for Strat\/Nashville Tele Guitars with Black\/Ivory\/White Tips\nDopro Super Switch Pickup Selector Super Switch 4-Pole Double Wafer for Strat\/Nashville Tele Guitars with Black\/Ivory\/White Tips Package includes 3 free tips which normally sold separately Five-position blade pickup selector switch ideal for four-conductor pickups. Used on American made Fat Strat and Double Fat Strat models, and on Nashville Telecaster models. Mounting screws included. Mounting screws and 35mm cavity depth required 1-5\/8 standard mounting screw spacing Please consult your local Luthier if you don't know how to install the switch Dimensions 5.47 x 4.29 x 0\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nPokemon - Gallade Spirit Link - XY Roaring Skies\nIn the Pokemon Trading Card Game, players build decks around their favorite Pokemon and then play against each other, sending their Pokemon into battle to prove who the best Pokemon Trainer is. Players can begin with theme decks - pre-constructed decks designed to cover the basics of the game. Then, they can augment their card collections with booster packs that provide more cards, letting players develop more diverse decks. With thousands of cards to choose from, the game is never the same twice. Card Name Gallade Spirit Link Card Type Trainer - Item Card Number 83\/108 Artist 5ban Graphics Set Roaring Skies Card Text Your turn does not end if the Pokmon this card is attached to becomes M Gallade-EX. A single individual\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nPokemon - Gallade Spirit Link - XY Roaring Skies\nIn the Pokemon Trading Card Game, players build decks around their favorite Pokemon and then play against each other, sending their Pokemon into battle to prove who the best Pokemon Trainer is. Players can begin with theme decks - pre-constructed decks designed to cover the basics of the game. Then, they can augment their card collections with booster packs that provide more cards, letting players develop more diverse decks. With thousands of cards to choose from, the game is never the same twice. Card Name Gallade Spirit Link Card Type Trainer - Item Card Number 83\/108 Artist 5ban Graphics Set Roaring Skies Card Text Your turn does not end if the Pokmon this card is attached to becomes M Gallade-EX. A single individual\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nHp Prime Graphing Calculator Ii\nHp Prime Graphing Calculator Ii IB Diploma Programme exam approved Sleek, slim, brushed metal design that looks great and performs even better. Keep the calculator protected when it's not in use with a slide-on cover Enjoy a feature-rich calculating experience with familiar HP alphanumeric keypad and a large diagonal, multi-touch display Lithium-Ion rechargeable battery, 256 MB flash memory Unique STEM ecosystem with HP Prime Graphing Calculator, HP Prime Wireless Kit1, and HP Connectivity Kit Dimensions 3.66 x 0.65 x 7.28 inches, Weight 8 ounces, model number Batteries 1 Lithium Ion batteries required., Rank Office Products 27247, Basic Office Calculators 79, Available July 10, 2019,\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nHp Prime Graphing Calculator Ii\nHp Prime Graphing Calculator Ii IB Diploma Programme exam approved Sleek, slim, brushed metal design that looks great and performs even better. Keep the calculator protected when it's not in use with a slide-on cover Enjoy a feature-rich calculating experience with familiar HP alphanumeric keypad and a large diagonal, multi-touch display Lithium-Ion rechargeable battery, 256 MB flash memory Unique STEM ecosystem with HP Prime Graphing Calculator, HP Prime Wireless Kit1, and HP Connectivity Kit Dimensions 3.66 x 0.65 x 7.28 inches, Weight 8 ounces, model number Batteries 1 Lithium Ion batteries required., Rank Office Products 27247, Basic Office Calculators 79, Available July 10, 2019,\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nPro Comp Alloys Series 89 Wheel with Polished Finish (16x8\nPro Comp Alloys are designed using State-Of-The-Art Low-Pressure-Casting Technology providing unsurpassed wheel strength, style and value. Pro Comp Alloy Wheels combine head turning style, light weight, durable finish in black, graphite, milled, chrome, polished and dual-tone finishes. Pro Comp Alloys allows for massive brake clearance for todays performance Jeeps, trucks and SUVs. 108 inches Bolt Pattern 6x5.5 inch Back Space 4.5 inch Size 16 inches X 8 inches, Brand Pro Comp Alloys, Wheel Size 16 Inches, Pitch Circle Diameter 139.7 Millimeters, Weight 26 Pounds, Diameter 16 Inches, Vehicle Service\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nPro Comp Alloys Series 89 Wheel with Polished Finish (16x8\nPro Comp Alloys are designed using State-Of-The-Art Low-Pressure-Casting Technology providing unsurpassed wheel strength, style and value. Pro Comp Alloy Wheels combine head turning style, light weight, durable finish in black, graphite, milled, chrome, polished and dual-tone finishes. Pro Comp Alloys allows for massive brake clearance for todays performance Jeeps, trucks and SUVs. 108 inches Bolt Pattern 6x5.5 inch Back Space 4.5 inch Size 16 inches X 8 inches, Brand Pro Comp Alloys, Wheel Size 16 Inches, Pitch Circle Diameter 139.7 Millimeters, Weight 26 Pounds, Diameter 16 Inches, Vehicle Service\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nGM Genuine Parts Air Conditioning Evaporator Core\nACDelco GM Original Equipment A\/C Evaporator Cores are heat exchangers and are located in the HVAC housing, where they cool and dehumidify the cabin air. Refrigerant is metered into the evaporator by the orifice tube or expansion valve. This original equipment evaporator core is a GM-recommended replacement for your vehicle\u2019s original components and has been manufactured to fit your GM vehicle, providing the same performance, durability, and service life you expect from General Motors. Channel-plate construction provides a high refrigerant contact surface area, resulting in better performance Vacuum-brazed, corrosion-treated, and leak-tested to help provide trouble-free operation GM-recommended replacement part for your GM vehicle\u2019s original factory component Offering the quality\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nGM Genuine Parts Air Conditioning Evaporator Core\nACDelco GM Original Equipment A\/C Evaporator Cores are heat exchangers and are located in the HVAC housing, where they cool and dehumidify the cabin air. Refrigerant is metered into the evaporator by the orifice tube or expansion valve. This original equipment evaporator core is a GM-recommended replacement for your vehicle\u2019s original components and has been manufactured to fit your GM vehicle, providing the same performance, durability, and service life you expect from General Motors. Channel-plate construction provides a high refrigerant contact surface area, resulting in better performance Vacuum-brazed, corrosion-treated, and leak-tested to help provide trouble-free operation GM-recommended replacement part for your GM vehicle\u2019s original factory component Offering the quality\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nZ3 Wind Deflector, Smoke Tint, Lexan, Windscreen, Windstop, Windblocker\n- Easy installation, installs in less than two minutes. - Take long trips with the top-down in comfort. - Cruise at night without freezing from cold drafts. - Hear the full richness and clarity of your stereo. Reduce turbulence up to 70%; prevents unrelenting wind buffeting and driver fatigue Unique no reflection or glare, easy to use at night against headlights; Unlike others, no abrasion, does not induce long term wear 30 day trial period and lifetime warranty; No rattles or squeaks, is silent; Keep hair in place while driving with the top-down. Talk clearly on your blue tooth device; Talk with passengers without strain; Enjoy conversations while driving with the\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nZ3 Wind Deflector, Smoke Tint, Lexan, Windscreen, Windstop, Windblocker\n- Easy installation, installs in less than two minutes. - Take long trips with the top-down in comfort. - Cruise at night without freezing from cold drafts. - Hear the full richness and clarity of your stereo. Reduce turbulence up to 70%; prevents unrelenting wind buffeting and driver fatigue Unique no reflection or glare, easy to use at night against headlights; Unlike others, no abrasion, does not induce long term wear 30 day trial period and lifetime warranty; No rattles or squeaks, is silent; Keep hair in place while driving with the top-down. Talk clearly on your blue tooth device; Talk with passengers without strain; Enjoy conversations while driving with the\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nBluetooth X6BT Card Reader Writer Encoder Card Writer Device\nPackage Includes 1 x X6(BT) Card Reader Writer 1 x Software MINI CD 1 x Bluetooth dongle 1 x USB cord 20 x Blank Cards - X6 Bluetooth Card Readers Writer Encoder card swipe - World's Only Bluetooth Card Reader \/ Writer. - The World First Bluetooth Manual Swipe Smallest Card Reader\/Writer is designed in USA to offer a card reading\/writing solution. - for ISO 7811-6 formats, it\u2019s Powered by USB directly not need for extra power adaptor. - Works with all the major operating systems as Windows 7, 8, 10, Vista, X, bits) and Apple Computers(MacBook Air, MacBook Pro, Mac Mini, Mac Pro, i\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nBluetooth X6BT Card Reader Writer Encoder Card Writer Device\nPackage Includes 1 x X6(BT) Card Reader Writer 1 x Software MINI CD 1 x Bluetooth dongle 1 x USB cord 20 x Blank Cards - X6 Bluetooth Card Readers Writer Encoder card swipe - World's Only Bluetooth Card Reader \/ Writer. - The World First Bluetooth Manual Swipe Smallest Card Reader\/Writer is designed in USA to offer a card reading\/writing solution. - for ISO 7811-6 formats, it\u2019s Powered by USB directly not need for extra power adaptor. - Works with all the major operating systems as Windows 7, 8, 10, Vista, X, bits) and Apple Computers(MacBook Air, MacBook Pro, Mac Mini, Mac Pro, i\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nAccess Bed Covers TonnoSport - Roll-Up Tonneau Cover - Compatible with Toyota Tundra 6ft. 6in. Bed (w\/o Deck Rail)\nTonneau Cover TONNOSPORT Roll-Up Cover TONNOSPORT Roll-Up Cover; Roll-Up; Without Deck Rail;FEATURES Gives You A Sleek Low Profile Look Gives You A Sleek Low Profile Look Compatible With Bed Rails\/Bed Caps\/Tailgate Protector Compatible With Bed Rails\/Bed Caps\/Tailgate Protector Quick Clamp On Installation Quick Clamp On Installation Lockable\/Protects Your Cargo Lockable\/Protects Your Cargo Complete Bed Usage When Open Complete Bed Usage When Open No Need To Remove No Need To Remove Tailgate Stays Operational Tailgate Stays Operational 2 Year Warranty 2 Year Warranty\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nAccess Bed Covers TonnoSport - Roll-Up Tonneau Cover - Compatible with Toyota Tundra 6ft. 6in. Bed (w\/o Deck Rail)\nTonneau Cover TONNOSPORT Roll-Up Cover TONNOSPORT Roll-Up Cover; Roll-Up; Without Deck Rail;FEATURES Gives You A Sleek Low Profile Look Gives You A Sleek Low Profile Look Compatible With Bed Rails\/Bed Caps\/Tailgate Protector Compatible With Bed Rails\/Bed Caps\/Tailgate Protector Quick Clamp On Installation Quick Clamp On Installation Lockable\/Protects Your Cargo Lockable\/Protects Your Cargo Complete Bed Usage When Open Complete Bed Usage When Open No Need To Remove No Need To Remove Tailgate Stays Operational Tailgate Stays Operational 2 Year Warranty 2 Year Warranty\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nBox Partners 6 1\/4 x 3 1\/8 13 Pt. Manila Shipping Tags - Pre-Wired\nBox Partners G10083 6 1\/4 x 3 1\/8 13 Pt. Manila Shipping Tags - Pre-Wired 6 1\/4 x 3 1\/8 13 Pt. Manila Shipping Tags - Pre-Wired Dimensions L x W x H 1.5 x 1.5 x 1.5 inches, Weight 1 Pounds, Dimensions LxWxH 1 x 1 x 1 inches, Weight 1 Pounds, Brand Name Aviditi, Model Name Color Manila, Material Blend, Suggested Users unisex-adult, s 1, Manufacturer BOX Partners LLC\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nBox Partners 6 1\/4 x 3 1\/8 13 Pt. Manila Shipping Tags - Pre-Wired\nBox Partners G10083 6 1\/4 x 3 1\/8 13 Pt. Manila Shipping Tags - Pre-Wired 6 1\/4 x 3 1\/8 13 Pt. Manila Shipping Tags - Pre-Wired Dimensions L x W x H 1.5 x 1.5 x 1.5 inches, Weight 1 Pounds, Dimensions LxWxH 1 x 1 x 1 inches, Weight 1 Pounds, Brand Name Aviditi, Model Name Color Manila, Material Blend, Suggested Users unisex-adult, s 1, Manufacturer BOX Partners LLC\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nMotion Pro Adjustable Torque Wrench Adapter\nTorque any fastener with a combination wrench or Allen wrench. Will work with 6 millimeter (1\/4 inch) through 19 millimeter (3\/4 inch) combination wrenches and with 6 millimeter and 8 millimeter Allen wrenches. Torque any fastener with a combination wrench or Allen wrench Brand Motion Pro, Material Alloy Steel, Dimensions LxWxH 6 x 3.9 x 1.1 inches, Weight 0.5 Pounds, Quantity 1, Head Style Fixed Square, Hex, Finish Type Black Oxide Finish, Torque 90 Foot Pounds, Operation Mode Mechanical, Manufacturer Motion Pro, Model Dimensions 6 x 3.9 x 1.1\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nMotion Pro Adjustable Torque Wrench Adapter\nTorque any fastener with a combination wrench or Allen wrench. Will work with 6 millimeter (1\/4 inch) through 19 millimeter (3\/4 inch) combination wrenches and with 6 millimeter and 8 millimeter Allen wrenches. Torque any fastener with a combination wrench or Allen wrench Brand Motion Pro, Material Alloy Steel, Dimensions LxWxH 6 x 3.9 x 1.1 inches, Weight 0.5 Pounds, Quantity 1, Head Style Fixed Square, Hex, Finish Type Black Oxide Finish, Torque 90 Foot Pounds, Operation Mode Mechanical, Manufacturer Motion Pro, Model Dimensions 6 x 3.9 x 1.1\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nAP-39 Automotive Paint Primer Grey 2K Urethane Gallon Kit Normal Activator\nAutomotive paint primer sealer applied as a high build sanding primer or final non-sanding primer sealer. Compatible with AF 970 Black Automotive Base coat certified to be among the Deepest Black Base coats in the market. Not for sale in California, Delaware, and Maryland. Direct to Metal Excellent Filling Properties; Superior Color Holdout Easy Spray and Sanding Shipped by UPS ground only. No overnight shipping. The material is considered hazardous and cannot be returned. Not for sale in California, Delaware, and Maryland. Brand enenfeifei, Color Grey, Size 2 Piece Set, Volume 1 Gallons, Special Feature Not for sale in California, Delaware, and Maryland\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nAP-39 Automotive Paint Primer Grey 2K Urethane Gallon Kit Normal Activator\nAutomotive paint primer sealer applied as a high build sanding primer or final non-sanding primer sealer. Compatible with AF 970 Black Automotive Base coat certified to be among the Deepest Black Base coats in the market. Not for sale in California, Delaware, and Maryland. Direct to Metal Excellent Filling Properties; Superior Color Holdout Easy Spray and Sanding Shipped by UPS ground only. No overnight shipping. The material is considered hazardous and cannot be returned. Not for sale in California, Delaware, and Maryland. Brand enenfeifei, Color Grey, Size 2 Piece Set, Volume 1 Gallons, Special Feature Not for sale in California, Delaware, and Maryland\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nCarlisle Versa Trail ATR All Terrain Radial Tire - NHS\nTire designed to provide high performance for sports driving. Providing maximum traction with good braking control and handling, the tire offers unrivaled comfort when driving at high speeds. Comfort, experience, technology and design! Tire only, Rim not included made in united states package height 8.9 package length 27.1 package width 27.1 Fit type Universal Fit Brand Carlisle, Seasons NON_WINTER, Size Rim Size 12 Inches, Section Width 9 Inches, Tire Aspect Ratio 8, Speed Rating M, Tread Depth 24 32nds, Ply Rating 6-Ply, Tire Diameter 27 Inches, Weight 23.6 pounds, Manufacturer Carlisle, Model Versa Trail ATR\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nCarlisle Versa Trail ATR All Terrain Radial Tire - NHS\nTire designed to provide high performance for sports driving. Providing maximum traction with good braking control and handling, the tire offers unrivaled comfort when driving at high speeds. Comfort, experience, technology and design! Tire only, Rim not included made in united states package height 8.9 package length 27.1 package width 27.1 Fit type Universal Fit Brand Carlisle, Seasons NON_WINTER, Size Rim Size 12 Inches, Section Width 9 Inches, Tire Aspect Ratio 8, Speed Rating M, Tread Depth 24 32nds, Ply Rating 6-Ply, Tire Diameter 27 Inches, Weight 23.6 pounds, Manufacturer Carlisle, Model Versa Trail ATR\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nRandall G3 Plus Combo Guitar Amp\nThe Randall G3 is a combo amplifier that brings even more intensity and aggressiveness to your guitar playing with a redesigned preamp circuit, a 12 speaker, and digital effects. Randall took the high gain tone circuit of their flagship V2 and T2 guitar amplifiers and installed it in each of the G3 Plus amps. What you get is higher professional level tone and performance without the costs of a high-end amp. EQ Controls - Bass, Middle, Treble, Sweep, Voicing Master Control - Volume Power Output - 100 Watts @ 4 Ohms Single Speaker - 12 Celestion Seventy 80 2 Mode - Weight 51 Pounds, Dimensions 13.5 x 27 x 20.5 inches,\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nRandall G3 Plus Combo Guitar Amp\nThe Randall G3 is a combo amplifier that brings even more intensity and aggressiveness to your guitar playing with a redesigned preamp circuit, a 12 speaker, and digital effects. Randall took the high gain tone circuit of their flagship V2 and T2 guitar amplifiers and installed it in each of the G3 Plus amps. What you get is higher professional level tone and performance without the costs of a high-end amp. EQ Controls - Bass, Middle, Treble, Sweep, Voicing Master Control - Volume Power Output - 100 Watts @ 4 Ohms Single Speaker - 12 Celestion Seventy 80 2 Mode - Weight 51 Pounds, Dimensions 13.5 x 27 x 20.5 inches,\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nKidde AccessPoint 001798 Supra TouchPoint Lock\nFrom the Manufacturer TouchPoint lock is designed to replace a standard cam lock in a variety of metal storage cabinets or enclosures sized with 5\/16 inch square-hole cams. Solid die-cast body with a 10 digit changeable combination and a clutch mechanism to turn the cam. Can be mounted on top of the door surface or flush-mounted into the door. User changeable combination lock with push button combination is designed to replace a standard cam lock Door lock can easily change keyed cabinets to pushbutton locks; for use with items with 5\/16 inch cams Combination lock features heavy-duty die-cast construction; great for metal cabinets and other enclosures Mounts flush into a door, or on top of a door surface; clutch\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nKidde AccessPoint 001798 Supra TouchPoint Lock\nFrom the Manufacturer TouchPoint lock is designed to replace a standard cam lock in a variety of metal storage cabinets or enclosures sized with 5\/16 inch square-hole cams. Solid die-cast body with a 10 digit changeable combination and a clutch mechanism to turn the cam. Can be mounted on top of the door surface or flush-mounted into the door. User changeable combination lock with push button combination is designed to replace a standard cam lock Door lock can easily change keyed cabinets to pushbutton locks; for use with items with 5\/16 inch cams Combination lock features heavy-duty die-cast construction; great for metal cabinets and other enclosures Mounts flush into a door, or on top of a door surface; clutch\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nRemington Industries 24 AWG Gauge Stranded Hook Up Wire, 25 feet Length, White, 0.0201 Diameter, 300 Volts\nHook up wire is used in a variety of general-purpose electrical applications. Stranded copper wire provides good electrical connectivity while PVC insulation protects the wire against abrasion, chemicals, oils, and solvents. The wire conforms to UL and MIL-SPEC specifications, and provides excellent uniformity for easy processing, stripping, and terminating. Available in black, red, white, Blue, green & yellow. Voltage rating 300 volts Type Ul1007 stranded wire (7\/32) Insulation pvc (0.016 inch Color white Color White, Brand Remington Industries, Material wire wound, Gauge 24.0, Voltage 300\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nRemington Industries 24 AWG Gauge Stranded Hook Up Wire, 25 feet Length, White, 0.0201 Diameter, 300 Volts\nHook up wire is used in a variety of general-purpose electrical applications. Stranded copper wire provides good electrical connectivity while PVC insulation protects the wire against abrasion, chemicals, oils, and solvents. The wire conforms to UL and MIL-SPEC specifications, and provides excellent uniformity for easy processing, stripping, and terminating. Available in black, red, white, Blue, green & yellow. Voltage rating 300 volts Type Ul1007 stranded wire (7\/32) Insulation pvc (0.016 inch Color white Color White, Brand Remington Industries, Material wire wound, Gauge 24.0, Voltage 300\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nFieldpiece JL2 Job Link Wireless App Transmitter Bluetooth\nWith the JL2 transmitter and the job link app, you can start running your jobs through your mobile device. Fill out inspection checklists, view live measurements, gather in-depth Diagnostics, and adjust systems to live data. All reports can be emailed to customers and office, as well as saved in the cloud for access at anytime. The JL2 transmitter receives measurements from any Fieldpiece Wireless manifold and the Fieldpiece Wireless dual in-duct Psychomotor (SDP2) via radio frequency for extra distance - up to 100' from instrument to phone. Then the JL2 transmitter converts all live measurements and data to Bluetooth connection with your mobile device. made in United States. Manufactured by Fieldpiece instruments Inc. Sman digital\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nFieldpiece JL2 Job Link Wireless App Transmitter Bluetooth\nWith the JL2 transmitter and the job link app, you can start running your jobs through your mobile device. Fill out inspection checklists, view live measurements, gather in-depth Diagnostics, and adjust systems to live data. All reports can be emailed to customers and office, as well as saved in the cloud for access at anytime. The JL2 transmitter receives measurements from any Fieldpiece Wireless manifold and the Fieldpiece Wireless dual in-duct Psychomotor (SDP2) via radio frequency for extra distance - up to 100' from instrument to phone. Then the JL2 transmitter converts all live measurements and data to Bluetooth connection with your mobile device. made in United States. Manufactured by Fieldpiece instruments Inc. Sman digital\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nRazer Seiren X USB Streaming Microphone and Razer Kiyo Streaming Webcam\nBundle Contents 1x Kiyo Webcam, 1x Seiren X Microphone Super Cardioid Pickup Pattern Sound is recorded at a tighter angle, reducing unwanted background noise and providing crisp clear audio Designed for Streaming Supports video and audio recording in 720p 60 FPS \/ 1080p 30 FPS; Streamlabs certified and compatible with popular platforms like OBS and XSplit Convenient, Built In Lighting An attached, 5600K daylight balanced ring light around the camera keeps subjects evenly lit without the hassle of additional lighting equipment Brand Razer, Connectivity Technology USB, Color Black, Video Capture Resolution 1080p, 720p, Lens Type Zoom, Form Factor Compact\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nRazer Seiren X USB Streaming Microphone and Razer Kiyo Streaming Webcam\nBundle Contents 1x Kiyo Webcam, 1x Seiren X Microphone Super Cardioid Pickup Pattern Sound is recorded at a tighter angle, reducing unwanted background noise and providing crisp clear audio Designed for Streaming Supports video and audio recording in 720p 60 FPS \/ 1080p 30 FPS; Streamlabs certified and compatible with popular platforms like OBS and XSplit Convenient, Built In Lighting An attached, 5600K daylight balanced ring light around the camera keeps subjects evenly lit without the hassle of additional lighting equipment Brand Razer, Connectivity Technology USB, Color Black, Video Capture Resolution 1080p, 720p, Lens Type Zoom, Form Factor Compact\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nSBU 3 Layer All Weather Mini Van Car Cover Compatible for Ford Windstar Minivan Model Years Breathable Automobile Van Protection\nThis Van Cover will provide all year round protection to your car. -It will efficiently shield your car\u2019s paint from all finish-destroying agents sun, rain, snow, dust, dirt, tree sap and other corruptive elements. -The cover will minimize accidental bumps, dings, and scratches. You will save money on car washes, repair shops and will enjoy your ride in a brand-new looking car all year round. Investing in our quality cover is not only a practical move but also the perfect option for maintaining the car\u2019s exterior. Condition Brand New, Color Gray, PACKAGE INCLUDES Brand New Van Cover.Free Storage Pouch, Antenna Patch. All\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nSBU 3 Layer All Weather Mini Van Car Cover Compatible for Ford Windstar Minivan Model Years Breathable Automobile Van Protection\nThis Van Cover will provide all year round protection to your car. -It will efficiently shield your car\u2019s paint from all finish-destroying agents sun, rain, snow, dust, dirt, tree sap and other corruptive elements. -The cover will minimize accidental bumps, dings, and scratches. You will save money on car washes, repair shops and will enjoy your ride in a brand-new looking car all year round. Investing in our quality cover is not only a practical move but also the perfect option for maintaining the car\u2019s exterior. Condition Brand New, Color Gray, PACKAGE INCLUDES Brand New Van Cover.Free Storage Pouch, Antenna Patch. All\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nBaseus USB C Docking Station to Cast on 3 Monitors with 100W PD USB-C Port, 4K USB 3.0 * 5, LAN, SD\/TF Cards Reader, Audio Port for Windows, Mac Laptop\nDocking Station \u2014 Up to 16 ports allowing you to connect almost all devices through a single gear; 3 4K HDMI ports to cast different content on each display, PD Type-C to connect mobile devices, 3 USB 3.0 ports, 2 USB2.0 ports. Note Docking station requires a second power adapter through the PD USB-C port when charging your laptop through it Triple Extend to the Fullest \u2014 Boost productivity by casting up to 3 different contents on displays; Actual pixels up to when using\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nBaseus USB C Docking Station to Cast on 3 Monitors with 100W PD USB-C Port, 4K USB 3.0 * 5, LAN, SD\/TF Cards Reader, Audio Port for Windows, Mac Laptop\nDocking Station \u2014 Up to 16 ports allowing you to connect almost all devices through a single gear; 3 4K HDMI ports to cast different content on each display, PD Type-C to connect mobile devices, 3 USB 3.0 ports, 2 USB2.0 ports. Note Docking station requires a second power adapter through the PD USB-C port when charging your laptop through it Triple Extend to the Fullest \u2014 Boost productivity by casting up to 3 different contents on displays; Actual pixels up to when using\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nCovermates Contour Fit Car Cover - Light Weight Polyester, Weather Resistant, Elastic Hem, Vehicle Covers-Khaki\nFrom freezing rain and snowstorms to harsh sunlight and bird droppings, your vehicle faces it all. Spring brings bouts of rain followed by showers of pollen, leaving your vehicle a yellow, sticky mess. Our WeatherTite Prime covers are made of 300D stock-dyed polyester designed for climates with moderate humidity, moderate sunlight, heavy wind gusts, and heavy rain and snowfall. WeatherTite Prime covers provide excellent protection from dirt, dust, pollen, rain, and anything else nature has to throw at it. Hidden grommets are placed along the bottom of the cover, allowing optional cable locks to keep the cover secure and safe. An extra\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nCovermates Contour Fit Car Cover - Light Weight Polyester, Weather Resistant, Elastic Hem, Vehicle Covers-Khaki\nFrom freezing rain and snowstorms to harsh sunlight and bird droppings, your vehicle faces it all. Spring brings bouts of rain followed by showers of pollen, leaving your vehicle a yellow, sticky mess. Our WeatherTite Prime covers are made of 300D stock-dyed polyester designed for climates with moderate humidity, moderate sunlight, heavy wind gusts, and heavy rain and snowfall. WeatherTite Prime covers provide excellent protection from dirt, dust, pollen, rain, and anything else nature has to throw at it. Hidden grommets are placed along the bottom of the cover, allowing optional cable locks to keep the cover secure and safe. An extra\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nHOLDWILL 6 Pack LED Shop Light, 4FT 24W 6500K, Cool White, Clear Cover, Hight Output, Linkable 4 Foot LED Strip Lights, T8 LED Tube Lights, LED Light Fixture for Garage Ceiling with Plug Cable\nSpecification Length Power 24W Lumen 2640lm CCT 6500K Beam Angle 120 degrees Luminous Flux 110lm per watt LED chips 120pcs Color Rendering Index(CRI) 85 Operation Temperature \u00b0F Lamp Power Factor 0.95 Input Voltage Material Top quality Aluminum & superior PC BRIGHT - HOLDWILL shop light bring your application the best lighting available with an incredible minimum of Illuminate the dark corners of your space SAVING - Each led under cabinet light has 24w\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nHOLDWILL 6 Pack LED Shop Light, 4FT 24W 6500K, Cool White, Clear Cover, Hight Output, Linkable 4 Foot LED Strip Lights, T8 LED Tube Lights, LED Light Fixture for Garage Ceiling with Plug Cable\nSpecification Length Power 24W Lumen 2640lm CCT 6500K Beam Angle 120 degrees Luminous Flux 110lm per watt LED chips 120pcs Color Rendering Index(CRI) 85 Operation Temperature \u00b0F Lamp Power Factor 0.95 Input Voltage Material Top quality Aluminum & superior PC BRIGHT - HOLDWILL shop light bring your application the best lighting available with an incredible minimum of Illuminate the dark corners of your space SAVING - Each led under cabinet light has 24w\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nFREE SIGNAL TV Transit 32 12 Volt DC Powered LED Flat Screen HDTV for RV Camper and Mobile Use\nMobile High Performance 32 inch LED TV - Get HD picture quality from this superb DC-powered 12 volt television with 1366 x 768 resolution. Groundbreaking engineering results in a lightweight TV with dynamic audio response and advanced noise reduction circuitry. The Easy-to-Set-Up and Versatile RV Flat Screen TV - Simple 12V connection. 3 HDMI Inputs. Can also be used at home by converting to AC with the included 1260 Power Brick Adapter. Perfect Television for Campers, Trailers, RVs, and More - The Transit 32 inch 12 volt powered flat screen TV is also ideal for cars and trucks. With high-resolution picture from a\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nFREE SIGNAL TV Transit 32 12 Volt DC Powered LED Flat Screen HDTV for RV Camper and Mobile Use\nMobile High Performance 32 inch LED TV - Get HD picture quality from this superb DC-powered 12 volt television with 1366 x 768 resolution. Groundbreaking engineering results in a lightweight TV with dynamic audio response and advanced noise reduction circuitry. The Easy-to-Set-Up and Versatile RV Flat Screen TV - Simple 12V connection. 3 HDMI Inputs. Can also be used at home by converting to AC with the included 1260 Power Brick Adapter. Perfect Television for Campers, Trailers, RVs, and More - The Transit 32 inch 12 volt powered flat screen TV is also ideal for cars and trucks. With high-resolution picture from a\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nKING SHA Anti Glare LED Track Lighting Heads (50W Eqv.) Compatible with Halo Pack\nStable performance dimming capabilities that work seamlessly with universal dimmers, allowing you to adjust the brightness smoothly from 10% to 100% without any flickering. Anti-glare design to provide soft and eye-friendly lighting. The glare-free grid helps to reduce eye strain and protect your vision. Compatibility with H-type circuit track systems, making them suitable for a wide range of track lighting applications. GU10 base with a twist and turn type, which makes it easy to change bulbs. The 7W dimmable MR16 bulb with a high color rendering index of 90+ and a color temperature of 3000K (50W equivalent) provides bright and vibrant illumination. Adjustable\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nKING SHA Anti Glare LED Track Lighting Heads (50W Eqv.) Compatible with Halo Pack\nStable performance dimming capabilities that work seamlessly with universal dimmers, allowing you to adjust the brightness smoothly from 10% to 100% without any flickering. Anti-glare design to provide soft and eye-friendly lighting. The glare-free grid helps to reduce eye strain and protect your vision. Compatibility with H-type circuit track systems, making them suitable for a wide range of track lighting applications. GU10 base with a twist and turn type, which makes it easy to change bulbs. The 7W dimmable MR16 bulb with a high color rendering index of 90+ and a color temperature of 3000K (50W equivalent) provides bright and vibrant illumination. Adjustable\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nHaloview MC7108 Wireless RV Backup Camera System 7'' Monitor Built in DVR Rear View Camera with Infrared Night Vision and Wide Viewing Angle for Truck\/Trailer\/RV\/Pickups\/Camping Car\/Van\/Farm\n7 LCD digital monitor, Built-in recorder. Real time recording, video playback 10-32V wide voltage input, Support 4 wireless camera wide viewing angle, Wireless Line of Sight Range Up to 984 feet (This kit include 1 monitor+ 1 camera) Split mode, auto-scan mode and single-display mode available, Normal, mirror, FLIP, MIRROR-FLIP viewing options available HD 720P Digital Wireless Backup camera system, it has far better image resolution, stronger lens and longer transmission distance, which will bring you a\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nHaloview MC7108 Wireless RV Backup Camera System 7'' Monitor Built in DVR Rear View Camera with Infrared Night Vision and Wide Viewing Angle for Truck\/Trailer\/RV\/Pickups\/Camping Car\/Van\/Farm\n7 LCD digital monitor, Built-in recorder. Real time recording, video playback 10-32V wide voltage input, Support 4 wireless camera wide viewing angle, Wireless Line of Sight Range Up to 984 feet (This kit include 1 monitor+ 1 camera) Split mode, auto-scan mode and single-display mode available, Normal, mirror, FLIP, MIRROR-FLIP viewing options available HD 720P Digital Wireless Backup camera system, it has far better image resolution, stronger lens and longer transmission distance, which will bring you a\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nUnknown Stage 2 Clutch Kit - Low Altitude\nAmazing all-around performance gains. Easily adjustable for altitude, modifications and more. Superior weight profile offers better acceleration. Goldstar weights adjust easily with magnets. Custom angle cut helix. Comes with two washers to prevent spring bind and free up clutch movement for faster shifts. Includes primary and secondary springs.This item fits the following vehicle applications compatible with Polaris 600 Rush PRO-S with Polaris 600 Rush XCR with Polaris 600 SwitchBack Adventure with Polaris 600 SwitchBack Assault 144 with Polaris 600 SwitchBack PRO-S with Polaris 600 SwitchBack SP 144 with Polaris 600 SwitchBack XCR with Polaris 800 Rush PRO-S with Polaris 800 Rush PRO-S LE with Pol\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nUnknown Stage 2 Clutch Kit - Low Altitude\nAmazing all-around performance gains. Easily adjustable for altitude, modifications and more. Superior weight profile offers better acceleration. Goldstar weights adjust easily with magnets. Custom angle cut helix. Comes with two washers to prevent spring bind and free up clutch movement for faster shifts. Includes primary and secondary springs.This item fits the following vehicle applications compatible with Polaris 600 Rush PRO-S with Polaris 600 Rush XCR with Polaris 600 SwitchBack Adventure with Polaris 600 SwitchBack Assault 144 with Polaris 600 SwitchBack PRO-S with Polaris 600 SwitchBack SP 144 with Polaris 600 SwitchBack XCR with Polaris 800 Rush PRO-S with Polaris 800 Rush PRO-S LE with Pol\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nGigabyte AMD Radeon HD 7870 2 GB GDDR5 Mini-Displayport PCI-Express 3.0 Graphic Card\nPowered by AMD Radeon HD 7870 GPU and Integrated with the industry's best 2 GB GDDR5 memory and memory interface Ultra Durable VGA Components - GPU Temperature 5%-10% Down - Overclocing Capability Up - Power Switching Loss Down WINDFORCE 3X Anti-Turbulence Cooling with New Triangle Cool Technology Gold Plated HDMI for optimum signal transfer between connections Features mini-Display port outputs with HDCP protection Supports AMD Eyefinity\/Eyespeed\/CrossFire\/Avivo HD Technologies Minimum Recommended Power Supply 500W or greater with 2x 6-pin VGA power connectors Max Screen Resolution 4096 x\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nGigabyte AMD Radeon HD 7870 2 GB GDDR5 Mini-Displayport PCI-Express 3.0 Graphic Card\nPowered by AMD Radeon HD 7870 GPU and Integrated with the industry's best 2 GB GDDR5 memory and memory interface Ultra Durable VGA Components - GPU Temperature 5%-10% Down - Overclocing Capability Up - Power Switching Loss Down WINDFORCE 3X Anti-Turbulence Cooling with New Triangle Cool Technology Gold Plated HDMI for optimum signal transfer between connections Features mini-Display port outputs with HDCP protection Supports AMD Eyefinity\/Eyespeed\/CrossFire\/Avivo HD Technologies Minimum Recommended Power Supply 500W or greater with 2x 6-pin VGA power connectors Max Screen Resolution 4096 x\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nSOZG 324mm Wheelbase Body Shell RC Car Body Shell Super Hard Plastic Black with Screw for RC Vehicle, SOZGpuFdVe\nSpecification Item Type Body ShellProduct Material Rigid plasticWeight Approx. 1190g \/ BlackWheelbase Size For 1\/10 RC for, for Axial List 1 Set x Body Shell (81 Bags x ScrewNote 1. Manual measurement, please allow 1\u20113mm error, thank you!2. Due to the difference between different monitors, the picture may not reflect the actual color of the This car shell is suitable for 324mm wheelbase chassis, if it is installed on other chassis, the wheelbase needs to be adjusted to Shipped in bulk, assembled by the customer (the door cannot be opened).\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nSOZG 324mm Wheelbase Body Shell RC Car Body Shell Super Hard Plastic Black with Screw for RC Vehicle, SOZGpuFdVe\nSpecification Item Type Body ShellProduct Material Rigid plasticWeight Approx. 1190g \/ BlackWheelbase Size For 1\/10 RC for, for Axial List 1 Set x Body Shell (81 Bags x ScrewNote 1. Manual measurement, please allow 1\u20113mm error, thank you!2. Due to the difference between different monitors, the picture may not reflect the actual color of the This car shell is suitable for 324mm wheelbase chassis, if it is installed on other chassis, the wheelbase needs to be adjusted to Shipped in bulk, assembled by the customer (the door cannot be opened).\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nJuno T29 WH Floating Electrical Feed Single Circuit Track, 120 Volts, White\nFloating Electrical Feed for Juno Single Circuit Track Permits mounting at any point of Juno single circuit track under the outlet box. Includes floating connector and outlet box cover plus extra track dead end.. Floating Electrical Feed For Juno 1 Circuit Track - White Lighting Rail. 1- Juno Floating Electrical Feed T29Wh For Juno Single Circuit Track Brand Name Juno Lighting Product Dimensions 6.0 X 3.0 X 3.0 Country Of Origin China Manufacturer Acuity Brands Lighting, Part Weight 4.2 ounces, Dimensions 6 x 3 x 3 inches, Country of Origin China, model number T29 WH, Color White, Style Voltage, Finish White,\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nJuno T29 WH Floating Electrical Feed Single Circuit Track, 120 Volts, White\nFloating Electrical Feed for Juno Single Circuit Track Permits mounting at any point of Juno single circuit track under the outlet box. Includes floating connector and outlet box cover plus extra track dead end.. Floating Electrical Feed For Juno 1 Circuit Track - White Lighting Rail. 1- Juno Floating Electrical Feed T29Wh For Juno Single Circuit Track Brand Name Juno Lighting Product Dimensions 6.0 X 3.0 X 3.0 Country Of Origin China Manufacturer Acuity Brands Lighting, Part Weight 4.2 ounces, Dimensions 6 x 3 x 3 inches, Country of Origin China, model number T29 WH, Color White, Style Voltage, Finish White,\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nEBC Premium Street Brake Kit\nType Automotive Brake Save 10% from buying separate parts with EBC Brakes quality brake kit. High efficiency EBC pads with patented EBC Brake-in coating and premium rotors with thermic anti rust coating, fully balanced and run-out tested for smooth braking.Dimension 12 x 12 x 12 inchWeight 35.18 lbsManufacturer Warranty Covered by Manufacturer's Warranty Daily Driver Premium Brake Kit For Cars Truck Or SUV Quality British Made EBC Pads Premium G3000 OE Style Rotors Geomet Anti Rust Coating Manufacturer EBC Brakes, Brand EBC, Model EBC Brakes, Weight 40 pounds, model number Manufacturer Part Available May 19, 2012, Vehicle Service Type Car, Orientation Front\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nEBC Premium Street Brake Kit\nType Automotive Brake Save 10% from buying separate parts with EBC Brakes quality brake kit. High efficiency EBC pads with patented EBC Brake-in coating and premium rotors with thermic anti rust coating, fully balanced and run-out tested for smooth braking.Dimension 12 x 12 x 12 inchWeight 35.18 lbsManufacturer Warranty Covered by Manufacturer's Warranty Daily Driver Premium Brake Kit For Cars Truck Or SUV Quality British Made EBC Pads Premium G3000 OE Style Rotors Geomet Anti Rust Coating Manufacturer EBC Brakes, Brand EBC, Model EBC Brakes, Weight 40 pounds, model number Manufacturer Part Available May 19, 2012, Vehicle Service Type Car, Orientation Front\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nDetroit Axle - Front Rear Strut & Coil Spring Assembly Replacement for Toyota Camry 2.2L Models - 4pc Set\nKit Includes 1x Complete Front Strut & Coil Spring Assembly - Driver Side - 171956 1x Complete Front Strut & Coil Spring Assembly - Driver Side - 171956 1x Complete Front Strut & Coil Spring Assembly - Passenger Side 1x Complete Front Strut & Coil Spring Assembly - Passenger Side 1x Complete Rear Strut & Coil Spring Assembly - Driver Side - 171958 1x Complete Rear Strut & Coil Spring Assembly - Driver Side - 171958 1x Complete Rear Strut & Coil Spring Assembly - Passenger Side - 171957 1x Complete Rear Strut & Coil Spring Assembly\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nDetroit Axle - Front Rear Strut & Coil Spring Assembly Replacement for Toyota Camry 2.2L Models - 4pc Set\nKit Includes 1x Complete Front Strut & Coil Spring Assembly - Driver Side - 171956 1x Complete Front Strut & Coil Spring Assembly - Driver Side - 171956 1x Complete Front Strut & Coil Spring Assembly - Passenger Side 1x Complete Front Strut & Coil Spring Assembly - Passenger Side 1x Complete Rear Strut & Coil Spring Assembly - Driver Side - 171958 1x Complete Rear Strut & Coil Spring Assembly - Driver Side - 171958 1x Complete Rear Strut & Coil Spring Assembly - Passenger Side - 171957 1x Complete Rear Strut & Coil Spring Assembly\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nFixtureDisplays\u00ae Metal Truss Podium Double Width Modern Design\nFixtureDisplays Metal Truss Podium Double Width Modern Design Churches & Other Venues Black truss is great to project a simple, clean and crisp look. Decorative truss panel design. Great for Churches, Schools, Hotels, Conferences, Funeral Homes, Stages, Debates, Wedding & Events, Restaurants Reception, Concierge etc. Easy screw aseembly. Contact us if u wish to order assembly service. Double-wide Full Size Pulpit Measurement 39 wide x 15.5 deep x 46.7 tall. Podium weighs 41 lbs. Reading panel comes with book stopper. Works great for two person services, or a larger room where a wider podium is proper. Sturdy Construction Made\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nFixtureDisplays\u00ae Metal Truss Podium Double Width Modern Design\nFixtureDisplays Metal Truss Podium Double Width Modern Design Churches & Other Venues Black truss is great to project a simple, clean and crisp look. Decorative truss panel design. Great for Churches, Schools, Hotels, Conferences, Funeral Homes, Stages, Debates, Wedding & Events, Restaurants Reception, Concierge etc. Easy screw aseembly. Contact us if u wish to order assembly service. Double-wide Full Size Pulpit Measurement 39 wide x 15.5 deep x 46.7 tall. Podium weighs 41 lbs. Reading panel comes with book stopper. Works great for two person services, or a larger room where a wider podium is proper. Sturdy Construction Made\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nPro Circuit Works Pipe for 02-19 YAMAHA YZ250\nThe Original Pro Circuit Works Pipe Offers Unparalleled Performance and Power for Every Two-Stroke Application. Increased Horsepower and Torque Gains Will Quickly Be Noticed Across the Entire Rpm Range. The Unplated, Oiled Metal Finish Requires Some Maintenance, but Really Gives Your Bike That Works Look. Please Note The Image Displayed Is Representative of the Item, but May Vary Slightly Depending on Your Specific Model. Please Note The Image Displayed Is Representative of the Item, but May Vary Slightly Depending on Your Specific Model. Size YAMAHA YZ250 Style CARBON STEEL Color silver Warranty Pro-Circuit provides a 90-day warranty. See their site for full details. Manufacturer Pro Circuit\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nPro Circuit Works Pipe for 02-19 YAMAHA YZ250\nThe Original Pro Circuit Works Pipe Offers Unparalleled Performance and Power for Every Two-Stroke Application. Increased Horsepower and Torque Gains Will Quickly Be Noticed Across the Entire Rpm Range. The Unplated, Oiled Metal Finish Requires Some Maintenance, but Really Gives Your Bike That Works Look. Please Note The Image Displayed Is Representative of the Item, but May Vary Slightly Depending on Your Specific Model. Please Note The Image Displayed Is Representative of the Item, but May Vary Slightly Depending on Your Specific Model. Size YAMAHA YZ250 Style CARBON STEEL Color silver Warranty Pro-Circuit provides a 90-day warranty. See their site for full details. Manufacturer Pro Circuit\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nUWS Matte Black Heavy-Wall Aluminum Deep Angled Truck Tool Box with Low Profile, RigidCore Lid\nUWS crossover truck tool boxes are the tried-and-true way of keeping your tools organized, on-hand and fully secure no matter where you and your truck roam. Each UWS tool box is built from extra-thick aluminum welded into a single-piece tub. This provides the tool box with reliable strength and helps keep the interior sealed off from the elements. Aluminum construction also makes the box highly resistant to corrosion for long-lasting use. To add even more strength to the crossover truck tool box, the lid features our patented RigidCore foam-filled design. Layered between two sheets of aluminum, this core greatly increases the structural integrity of the lid to prevent bending and warping and to ensure\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nUWS Matte Black Heavy-Wall Aluminum Deep Angled Truck Tool Box with Low Profile, RigidCore Lid\nUWS crossover truck tool boxes are the tried-and-true way of keeping your tools organized, on-hand and fully secure no matter where you and your truck roam. Each UWS tool box is built from extra-thick aluminum welded into a single-piece tub. This provides the tool box with reliable strength and helps keep the interior sealed off from the elements. Aluminum construction also makes the box highly resistant to corrosion for long-lasting use. To add even more strength to the crossover truck tool box, the lid features our patented RigidCore foam-filled design. Layered between two sheets of aluminum, this core greatly increases the structural integrity of the lid to prevent bending and warping and to ensure\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nLowrance Nmea 2000 25' Extension Cable\nLowrance n2k extension cable Red plugs NMEA 2000 extension cable Mfg.# Lowrance connectors. Package Dimensions 10 L x 3 H x 5 W (inches) Country of Origin Mexico Part number For use with LGC 3000 and red NMEA network Dimensions L x W x H 9.92 x 4.25 x 3.23 inches, Weight 0.79 Pounds, Dimensions LxWxH 10 x 5 x 3 inches, Weight 0.32 Kilograms, Brand Name Lowrance, Model Name Color Red, s 1, Manufacturer Lowrance, Part Model Year 2015, Included Components Lowrance Nmea \n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nLowrance Nmea 2000 25' Extension Cable\nLowrance n2k extension cable Red plugs NMEA 2000 extension cable Mfg.# Lowrance connectors. Package Dimensions 10 L x 3 H x 5 W (inches) Country of Origin Mexico Part number For use with LGC 3000 and red NMEA network Dimensions L x W x H 9.92 x 4.25 x 3.23 inches, Weight 0.79 Pounds, Dimensions LxWxH 10 x 5 x 3 inches, Weight 0.32 Kilograms, Brand Name Lowrance, Model Name Color Red, s 1, Manufacturer Lowrance, Part Model Year 2015, Included Components Lowrance Nmea \n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nSet 2 Heavy Duty 12 Ply Skid Steer Tire w\/Rim Guard\nDeep tread designed to resist gouging and cutting. Brand new, not retreads. Heavy duty 12 Ply rated with Rim Guard to protect your wheels, Durable tread pattern for super stability. 32.7 oval diameter, 12.3 section width, 23\/32 tread depth, max load 6320 lb@80 psi Tire Specifications Tire Size Tire Size Brand SUPERGUIDER Brand SUPERGUIDER Tread Pattern SKS-1 Tread Pattern SKS-1 Ply Rated 12 Ply Rated 12 Tread Depth 0.72 Tread Depth 0.72 Rim Width 9.75 Rim Width 9.75 Max Load Max Load Please note fitment guide is for\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nSet 2 Heavy Duty 12 Ply Skid Steer Tire w\/Rim Guard\nDeep tread designed to resist gouging and cutting. Brand new, not retreads. Heavy duty 12 Ply rated with Rim Guard to protect your wheels, Durable tread pattern for super stability. 32.7 oval diameter, 12.3 section width, 23\/32 tread depth, max load 6320 lb@80 psi Tire Specifications Tire Size Tire Size Brand SUPERGUIDER Brand SUPERGUIDER Tread Pattern SKS-1 Tread Pattern SKS-1 Ply Rated 12 Ply Rated 12 Tread Depth 0.72 Tread Depth 0.72 Rim Width 9.75 Rim Width 9.75 Max Load Max Load Please note fitment guide is for\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nG.I. JOE Hasbro 3 3\/4 Wave 5 Action Figure SGT. Flash (Laser Rifle Trooper)\nSGT. FLASH is highly skilled in many aspects of electronic technology and is capable of equipment repair in the field. His specialized education includes electronics school, chemical school, and covert electronics. He is a qualified expert with the M-16, and (shoulder laser rifle). Celebrate 25 years of the ultimate action team with this articulated action figure! Display your action figure on the included display base! Figure also comes with a weapon! Twenty-fifth anniversary action figure has detailed styling and comes with a weapon and a display base! Ages 5 and up. Dimensions 5.12 x 1.57 x 5.51 inches, Weight\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nG.I. JOE Hasbro 3 3\/4 Wave 5 Action Figure SGT. Flash (Laser Rifle Trooper)\nSGT. FLASH is highly skilled in many aspects of electronic technology and is capable of equipment repair in the field. His specialized education includes electronics school, chemical school, and covert electronics. He is a qualified expert with the M-16, and (shoulder laser rifle). Celebrate 25 years of the ultimate action team with this articulated action figure! Display your action figure on the included display base! Figure also comes with a weapon! Twenty-fifth anniversary action figure has detailed styling and comes with a weapon and a display base! Ages 5 and up. Dimensions 5.12 x 1.57 x 5.51 inches, Weight\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nSUNWAYFOTO 44mm Tripod Ball Head Arca Compatible Sunway\n66lb Max load! Eliptical Ball for progressive resistance. Y-axis diameter 0.03mm longer than the X-axis. Single notch design. Super strong shell. All Metal knobs. For long term durability. Panning Base Scale Independent Pan Lock Knob, 360\u00b0 panning movement with calibrated precision, precisely capture overlapping panoramic images. Panning Base is laser-engraved with index marks from with increments at 5\u00b0 50mm clamp with Bubble level. Ball Diameter 44mm. Base 55mm. Height 94mm. Weight 450g. Max load 30kg (66 lbs). Bottom thread 3\/8 with 1\/4 adapter. 1 year\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nSUNWAYFOTO 44mm Tripod Ball Head Arca Compatible Sunway\n66lb Max load! Eliptical Ball for progressive resistance. Y-axis diameter 0.03mm longer than the X-axis. Single notch design. Super strong shell. All Metal knobs. For long term durability. Panning Base Scale Independent Pan Lock Knob, 360\u00b0 panning movement with calibrated precision, precisely capture overlapping panoramic images. Panning Base is laser-engraved with index marks from with increments at 5\u00b0 50mm clamp with Bubble level. Ball Diameter 44mm. Base 55mm. Height 94mm. Weight 450g. Max load 30kg (66 lbs). Bottom thread 3\/8 with 1\/4 adapter. 1 year\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nLogitech K750 Wireless Solar Keyboard for Windows, 2.4GHz Wireless with USB Unifying Receiver, Ultra-Thin, Compatible with PC, Laptop - Black\nProduct Description Battery hassles are a thing of the past with the solar-powered Logitech Wireless Solar Keyboard K750. It charges itself whenever there's light, so you can say good-bye to batteries, power bricks and charging cables. With sleek lines and a thin profile, this stylish, streamlined keyboard adds style to your workspace. Combining the best of traditional keyboards, laptops and a Logitech-only concave key cap design, you'll enjoy faster, quieter, feel-good typing-hour after hour. Plus, you'll get Logitech Advanced 2.4 GHz wireless and the tiny Logitech Unifying receiver. From the Manufacturer\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nLogitech K750 Wireless Solar Keyboard for Windows, 2.4GHz Wireless with USB Unifying Receiver, Ultra-Thin, Compatible with PC, Laptop - Black\nProduct Description Battery hassles are a thing of the past with the solar-powered Logitech Wireless Solar Keyboard K750. It charges itself whenever there's light, so you can say good-bye to batteries, power bricks and charging cables. With sleek lines and a thin profile, this stylish, streamlined keyboard adds style to your workspace. Combining the best of traditional keyboards, laptops and a Logitech-only concave key cap design, you'll enjoy faster, quieter, feel-good typing-hour after hour. Plus, you'll get Logitech Advanced 2.4 GHz wireless and the tiny Logitech Unifying receiver. From the Manufacturer\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nAlera ALEVABFMC Valencia Series Mobile B\/f Pedestal, 15 7\/8 X 19 1\/8 X 22 7\/8, Med. Cherry\nSturdy woodgrain laminate mobile box file pedestal to store all your office necessities. Full-extension ball bearing slides on file drawer for easy access. Durable laminate is water-, scratch-, and dent-resistant with 3 mm protective edge banding. Two fold-away safety keys included. Accepts Alera\u00ae Pedestal Cushions for an instant seating option. Sturdy woodgrain laminate mobile box file pedestal to store all your office necessities. Full-extension ball bearing slides on file drawer for easy access. Durable laminate is water-, scratch-, and dent-resistant with 3 mm protective\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nAlera ALEVABFMC Valencia Series Mobile B\/f Pedestal, 15 7\/8 X 19 1\/8 X 22 7\/8, Med. Cherry\nSturdy woodgrain laminate mobile box file pedestal to store all your office necessities. Full-extension ball bearing slides on file drawer for easy access. Durable laminate is water-, scratch-, and dent-resistant with 3 mm protective edge banding. Two fold-away safety keys included. Accepts Alera\u00ae Pedestal Cushions for an instant seating option. Sturdy woodgrain laminate mobile box file pedestal to store all your office necessities. Full-extension ball bearing slides on file drawer for easy access. Durable laminate is water-, scratch-, and dent-resistant with 3 mm protective\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nSpecial Lite Products Contemporary Wall Mounted Mailbox with Rain Overhang Finish Oil Rubbed Bronze\nThe clean lines and minimal design of the Contemporary Horizontal Mailbox provide an immediate way to add a lovely and welcoming outdoor accent to your front porch. The straightforward design makes this mailbox a perfect match with any home while upgrading your entry way at the same time. The durable powder coat finish will keep your mailbox looking vibrant and beautiful for years to come while the door closure will protect your mail from rainy weather keeping it dry inside. All types and sizes of magazines, letters, envelopes can fit easily inside the enclosure. Matching newspaper scroll arms are included and can be easily attached at your choosing. Deliberate but stylish, the Contemporary delivers at all angles. One of our best sellers! All screws, hinges, and like\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nSpecial Lite Products Contemporary Wall Mounted Mailbox with Rain Overhang Finish Oil Rubbed Bronze\nThe clean lines and minimal design of the Contemporary Horizontal Mailbox provide an immediate way to add a lovely and welcoming outdoor accent to your front porch. The straightforward design makes this mailbox a perfect match with any home while upgrading your entry way at the same time. The durable powder coat finish will keep your mailbox looking vibrant and beautiful for years to come while the door closure will protect your mail from rainy weather keeping it dry inside. All types and sizes of magazines, letters, envelopes can fit easily inside the enclosure. Matching newspaper scroll arms are included and can be easily attached at your choosing. Deliberate but stylish, the Contemporary delivers at all angles. One of our best sellers! All screws, hinges, and like\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nNHOPEEW Android Car Radio Carplay for Jeep Wrangler 2015 2016 2017 Touchscreen Bluetooth Car Stereo with AHD Backup Camera\/Mic\/HiFi\nCompatible with jeep wrangler 2015 2016 2017 Android 11 System The Android head unit fit for jeep wrangler 2015 2016 2017, it is plug&play, easy to install. Android 11 operating system, 2GB RAM & 32GB ROM, ensures smooth operation and faster response. Android Auto & Apple Carplay Support wireless and wired connect your phone to the carplay jeep wrangler radio, with Siri voice control allows you make calls, send and receive messages, enjoy music and Navigating. Large Screen with Hi-Fi The jeep wrangler\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nNHOPEEW Android Car Radio Carplay for Jeep Wrangler 2015 2016 2017 Touchscreen Bluetooth Car Stereo with AHD Backup Camera\/Mic\/HiFi\nCompatible with jeep wrangler 2015 2016 2017 Android 11 System The Android head unit fit for jeep wrangler 2015 2016 2017, it is plug&play, easy to install. Android 11 operating system, 2GB RAM & 32GB ROM, ensures smooth operation and faster response. Android Auto & Apple Carplay Support wireless and wired connect your phone to the carplay jeep wrangler radio, with Siri voice control allows you make calls, send and receive messages, enjoy music and Navigating. Large Screen with Hi-Fi The jeep wrangler\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nNanoBeam AC 4 Units 5GHz High-Performance airMAX ac Bridge CPE with Dedicated Management Radio\nModels Ubiquiti Networks NanoBeam AC 5GHz High-Performance airMAX ac Bridge CPE with Dedicated Management Radio Incorporating innovative industrial design with proprietary airMAX ac technology, the NanoBeamAC is ideal for CPE deployments requiring maximum performance from the smallest possible footprint. The NanoBeam ac Gen2 airMAX ac CPE with Dedicated Management Radio from Ubiquiti Networks offers a more reliable long-distance point-to-point connection. Boasting a maximum throughput up to 450 Mb\/s, this NanoBeam radio is designed to filter out noise to reduce interference in areas congested with multiple RF signals while offering up to 19 dBi gain. Setup is simple, as the NanoBeam\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nNanoBeam AC 4 Units 5GHz High-Performance airMAX ac Bridge CPE with Dedicated Management Radio\nModels Ubiquiti Networks NanoBeam AC 5GHz High-Performance airMAX ac Bridge CPE with Dedicated Management Radio Incorporating innovative industrial design with proprietary airMAX ac technology, the NanoBeamAC is ideal for CPE deployments requiring maximum performance from the smallest possible footprint. The NanoBeam ac Gen2 airMAX ac CPE with Dedicated Management Radio from Ubiquiti Networks offers a more reliable long-distance point-to-point connection. Boasting a maximum throughput up to 450 Mb\/s, this NanoBeam radio is designed to filter out noise to reduce interference in areas congested with multiple RF signals while offering up to 19 dBi gain. Setup is simple, as the NanoBeam\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nFXR Men's Boost FX Jacket (Black\/Orange\/White - Large)\nHydrX Pro - Shell - durable, sublimated 450d polyester shell with HydrX Pro laminate Boost LE Shell - M-Series Omni Stretch 450d polyester shell with HydrX Pro laminate F.A.S.T. 90g insulation value in outer shell body, perforated at vent areas Lining - moisture-wicking quick-dry mesh lining FXR Dry Vent system - snowproof and moisture resistant chest side body vent system Removable liner - FXR Thermal Dry active liner with 175g Thermal Flex fill YKK Aquaguard front zipper HD #8 W\/P zippers throughout Adjustable windskirt 360 3M Scotchlite reflective Shock-cord adjustable collar Shock-cord adjustable bottom\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nFXR Men's Boost FX Jacket (Black\/Orange\/White - Large)\nHydrX Pro - Shell - durable, sublimated 450d polyester shell with HydrX Pro laminate Boost LE Shell - M-Series Omni Stretch 450d polyester shell with HydrX Pro laminate F.A.S.T. 90g insulation value in outer shell body, perforated at vent areas Lining - moisture-wicking quick-dry mesh lining FXR Dry Vent system - snowproof and moisture resistant chest side body vent system Removable liner - FXR Thermal Dry active liner with 175g Thermal Flex fill YKK Aquaguard front zipper HD #8 W\/P zippers throughout Adjustable windskirt 360 3M Scotchlite reflective Shock-cord adjustable collar Shock-cord adjustable bottom\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nTorklift C3212 Rear Tie Down\nFits 11-14 Chevy\/GMC 2500 \/ 3500 HD (Crew \/ Ext. Cab ONLY) with factory hitch 11-14 Chevy\/GMC 2500 \/ 3500 HD (Crew \/ Ext. Cab ONLY) with factory hitch 11-13 Chevy\/GMC 2500 \/ 3500 (Regular Cab ONLY) with factory hitch 2014 Chevy\/GMC 1500 4wd (Crewcab) with factory hitch 2014 Chevy\/GMC 2500 4wd (Crewcab) with factory hitch 2014 Chevy\/GMC 2500 4wd (Regular Cab) with factory hitch 2014 Chevy\/GMC 3500 4wd (\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nTorklift C3212 Rear Tie Down\nFits 11-14 Chevy\/GMC 2500 \/ 3500 HD (Crew \/ Ext. Cab ONLY) with factory hitch 11-14 Chevy\/GMC 2500 \/ 3500 HD (Crew \/ Ext. Cab ONLY) with factory hitch 11-13 Chevy\/GMC 2500 \/ 3500 (Regular Cab ONLY) with factory hitch 2014 Chevy\/GMC 1500 4wd (Crewcab) with factory hitch 2014 Chevy\/GMC 2500 4wd (Crewcab) with factory hitch 2014 Chevy\/GMC 2500 4wd (Regular Cab) with factory hitch 2014 Chevy\/GMC 3500 4wd (\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nSnailfly Black Roof Rack Rail + Cross Bar Fit for Honda All New CRV CR-V (4pcs\nFITMENT Roof Rack Cross Bars Fit For Honda CRV CR-V 2017 2018 2019 2020 2021 2022 Please make sure the fitment before your purchase 2 PACKAGES Package 1# 2pcs Roof Racks Package 2# 2pcs Crossbars Necessary Mounting Hardware Like Bolts Are Included. SPECIFICS 100% Brand New Smooth surface Item exactly as the picture showed High Quality Aluminum Alloy Long lasting & durable finish, suitable for all weathers INSTALLATION Please contact us via message if you need installation insturctions. FEATURES Low profile streamline design,efficiently reduce wind resistance and noise. Greatly increase overall\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nSnailfly Black Roof Rack Rail + Cross Bar Fit for Honda All New CRV CR-V (4pcs\nFITMENT Roof Rack Cross Bars Fit For Honda CRV CR-V 2017 2018 2019 2020 2021 2022 Please make sure the fitment before your purchase 2 PACKAGES Package 1# 2pcs Roof Racks Package 2# 2pcs Crossbars Necessary Mounting Hardware Like Bolts Are Included. SPECIFICS 100% Brand New Smooth surface Item exactly as the picture showed High Quality Aluminum Alloy Long lasting & durable finish, suitable for all weathers INSTALLATION Please contact us via message if you need installation insturctions. FEATURES Low profile streamline design,efficiently reduce wind resistance and noise. Greatly increase overall\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nLenovo IdeaPad 3 Laptop, FHD (1920 x 1080) AMD Ryzen 5 3500U 8GB DDR4 RAM, 256GB SSD, AMD Radeon Vega 8 Graphics Windows 10, Abyss Blue (Renewed)\n14 FHD TN Anti-glare, Ryzen 5 3500U Mobile Processor - 3.80 GHz) 256GB SSD, 8GB DDR4 SDRAM 180 degree hinge, WiFi and Bluetooth 5.0 720p HD Webcam with Dolby Audio dual speakers, 4-in-1 Media Card Reader 2 x USB 3.1 | 1 x USB 2.0 | 1 x HDMI | headphones, Windows 10 in S mode Brand Lenovo, Model Name Lenovo Ide\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nLenovo IdeaPad 3 Laptop, FHD (1920 x 1080) AMD Ryzen 5 3500U 8GB DDR4 RAM, 256GB SSD, AMD Radeon Vega 8 Graphics Windows 10, Abyss Blue (Renewed)\n14 FHD TN Anti-glare, Ryzen 5 3500U Mobile Processor - 3.80 GHz) 256GB SSD, 8GB DDR4 SDRAM 180 degree hinge, WiFi and Bluetooth 5.0 720p HD Webcam with Dolby Audio dual speakers, 4-in-1 Media Card Reader 2 x USB 3.1 | 1 x USB 2.0 | 1 x HDMI | headphones, Windows 10 in S mode Brand Lenovo, Model Name Lenovo Ide\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nDell Latitude 7212 Rugged Extreme Tablet, 11.6 inch FHD Touch LCD, Intel Core 8GB Ram, 128GB SSD, WiFi, GPS, Windows 10 Professional (Renewed)\nThis Certified Refurbished product is tested and certified to look and work like new. The refurbishing process includes functionality testing, basic cleaning, inspection, and repackaging. The product ships with all relevant accessories, a minimum 90-day warranty, and may arrive in a generic box. Only select sellers who maintain a high performance bar may offer Certified Refurbished products on Amazon.com Intel Core 7th Generation Processor (Dual Core, 3MB + u-blox NEO-M8 GPS card FHD Outdoor-Readable Glove-Capable Touchscreen w\/ Gor\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nDell Latitude 7212 Rugged Extreme Tablet, 11.6 inch FHD Touch LCD, Intel Core 8GB Ram, 128GB SSD, WiFi, GPS, Windows 10 Professional (Renewed)\nThis Certified Refurbished product is tested and certified to look and work like new. The refurbishing process includes functionality testing, basic cleaning, inspection, and repackaging. The product ships with all relevant accessories, a minimum 90-day warranty, and may arrive in a generic box. Only select sellers who maintain a high performance bar may offer Certified Refurbished products on Amazon.com Intel Core 7th Generation Processor (Dual Core, 3MB + u-blox NEO-M8 GPS card FHD Outdoor-Readable Glove-Capable Touchscreen w\/ Gor\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nASI NAUTICAL 2.5 Inches Opera Glasses Binoculars for Adults with Handle- Captain's Mother of Pearl Solid Brass Opera Glasses Binoculars-Pocket Size Handel Binoculars for Kids, Bird Watching, Hunting\nThanks for Visiting Best Antique & Nautical Items store at amazon ASI NAUTICAL This 2.5 Captains Solid Brass Black & White Binocular By ASI NAUTICAL made with Antique Finish is best suitable to gift your loved ones. Easy to carry to any outdoor place like when you go to watch football match,Any historical Monuments,Visit Mountains,hills, for Hunting,Birds Watching,etc. Material Brass Magnification 10x Approx. Total Weight 0.19 kg Approx. Binocular Size 2.5 Inches,\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nASI NAUTICAL 2.5 Inches Opera Glasses Binoculars for Adults with Handle- Captain's Mother of Pearl Solid Brass Opera Glasses Binoculars-Pocket Size Handel Binoculars for Kids, Bird Watching, Hunting\nThanks for Visiting Best Antique & Nautical Items store at amazon ASI NAUTICAL This 2.5 Captains Solid Brass Black & White Binocular By ASI NAUTICAL made with Antique Finish is best suitable to gift your loved ones. Easy to carry to any outdoor place like when you go to watch football match,Any historical Monuments,Visit Mountains,hills, for Hunting,Birds Watching,etc. Material Brass Magnification 10x Approx. Total Weight 0.19 kg Approx. Binocular Size 2.5 Inches,\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nAu-Tomotive Gold, INC. Ford Black Valet Key Chain\nMilled alloy black finish with easy release spring-loaded key ring for valet parking. Laser cut engraved logo will never fade. Showing OEM style car logo on one side. It is about 4 long. Brand new Official licensed product. Milled alloy black finish with easy release spring-loaded key ring for valet parking. Laser cut engraved logo will never fade. Showing OEM style car logo on one side. It is about 4 long. Brand new Official licensed product. Manufacturer Au-Tomotive Gold, INC, Brand Au-Tomotive Gold, INC., Weight 1.44 ounces, Dimensions 4.3 x 2.1 x 0.6 inches, Manufacturer Part Rank Automotive Keychains 18749\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nAu-Tomotive Gold, INC. Ford Black Valet Key Chain\nMilled alloy black finish with easy release spring-loaded key ring for valet parking. Laser cut engraved logo will never fade. Showing OEM style car logo on one side. It is about 4 long. Brand new Official licensed product. Milled alloy black finish with easy release spring-loaded key ring for valet parking. Laser cut engraved logo will never fade. Showing OEM style car logo on one side. It is about 4 long. Brand new Official licensed product. Manufacturer Au-Tomotive Gold, INC, Brand Au-Tomotive Gold, INC., Weight 1.44 ounces, Dimensions 4.3 x 2.1 x 0.6 inches, Manufacturer Part Rank Automotive Keychains 18749\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nAvery Legal Dividers, Standard Collated Sets, Letter Size, Side Tabs, 51-75\nYou have the right to organized and professional-looking files. This Standard Collated Legal Divider Set features Tabs 51-75 so it's perfect for index briefs, legal exhibits, mortgage documentation files and more. White paper stock with clear, Rip Proof reinforced tabs are preprinted on both sides using Helvetica bold type for ease of use, and the unpunched binding edge gives you the freedom to fit practically any binding system. Here's evidence these dividers will do your files justice. Clear Rip Proof reinforced tabs printed on both sides Unpatched binding edge so indexes can fit practically any binding system Contains 30% post-consumer recycled content Avery Style is printed using Helvetica bold type Manufacturer Avery,\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nAvery Legal Dividers, Standard Collated Sets, Letter Size, Side Tabs, 51-75\nYou have the right to organized and professional-looking files. This Standard Collated Legal Divider Set features Tabs 51-75 so it's perfect for index briefs, legal exhibits, mortgage documentation files and more. White paper stock with clear, Rip Proof reinforced tabs are preprinted on both sides using Helvetica bold type for ease of use, and the unpunched binding edge gives you the freedom to fit practically any binding system. Here's evidence these dividers will do your files justice. Clear Rip Proof reinforced tabs printed on both sides Unpatched binding edge so indexes can fit practically any binding system Contains 30% post-consumer recycled content Avery Style is printed using Helvetica bold type Manufacturer Avery,\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nVXMOTOR for 97-03 Ford Lightduty 4WD for 99-03 F150 Lightduty F150 Super Crew Cab\/04 F150 Heritage for 97-02 Expedition 4WD for 99-02 Expedition 2WD Matte Black Heavyduty Bull Bar\nApplication for Ford F150 \/ F250 Lightduty 4WD ( 4 Wheel Drive ) Models, for Ford F150 Lightduty 2WD ( 2 Wheel Drive ) Models, for Ford F150 Super Crew Cab Models, for 2004 Ford F150 Heritage Models, for Ford Expedition 4WD ( 4 Wheel Drive ) Models, for Ford Expedition 2WD ( 2 Wheel Drive ) Models Front Bumper Bull Bar Guard Heavy Duty Steel With Flat Black Fine\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nVXMOTOR for 97-03 Ford Lightduty 4WD for 99-03 F150 Lightduty F150 Super Crew Cab\/04 F150 Heritage for 97-02 Expedition 4WD for 99-02 Expedition 2WD Matte Black Heavyduty Bull Bar\nApplication for Ford F150 \/ F250 Lightduty 4WD ( 4 Wheel Drive ) Models, for Ford F150 Lightduty 2WD ( 2 Wheel Drive ) Models, for Ford F150 Super Crew Cab Models, for 2004 Ford F150 Heritage Models, for Ford Expedition 4WD ( 4 Wheel Drive ) Models, for Ford Expedition 2WD ( 2 Wheel Drive ) Models Front Bumper Bull Bar Guard Heavy Duty Steel With Flat Black Fine\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nBAINUO Antler Chandelier Light Antler Deer Chandelier for Living Room Dining Room Balcony Bedroom Cafe Bar Cabin Hanging Light Fixtures\nSpecification Product Type Vintage Style Resin Deer Faux Antler Chandelier Style vintage\/farmhouse\/rustic\/transitional\/art deco Bulb Base 6* Not Included) Bulbs Category LED\/INCANDESCENT\/HALOGEN Product Rating Voltage 110V Maximum Wattage 40W for single lamp Weight 16.5LB Dimension Diameter 34.4 inches, Height 17.7 inches. Material Resin Color Brown Features antler chandelier also works on sloped, slanted or vaulted ceiling; 2.Deer horn 6 light pendant light wide application - The indoor dining table chandelier is perfectly used\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nBAINUO Antler Chandelier Light Antler Deer Chandelier for Living Room Dining Room Balcony Bedroom Cafe Bar Cabin Hanging Light Fixtures\nSpecification Product Type Vintage Style Resin Deer Faux Antler Chandelier Style vintage\/farmhouse\/rustic\/transitional\/art deco Bulb Base 6* Not Included) Bulbs Category LED\/INCANDESCENT\/HALOGEN Product Rating Voltage 110V Maximum Wattage 40W for single lamp Weight 16.5LB Dimension Diameter 34.4 inches, Height 17.7 inches. Material Resin Color Brown Features antler chandelier also works on sloped, slanted or vaulted ceiling; 2.Deer horn 6 light pendant light wide application - The indoor dining table chandelier is perfectly used\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nSchlage Lock Company Padlock, 1-1\/2 x 5\/16, Brass\nSchlage Commercial Padlock 5\/16 Diameter with 1-1\/2 Shackle and Keyway Schlage commercial grade padlock is designed for use in high risk locations Solid brass body resists corrosion for all-weather performance 1-1\/2 in. x 5\/16 in. molybdenum hardened steel shackle for increased cut resistance Double deadbolt locking mechanism provides extra security Re-key able Schlage cylinder Brand SCHLAGE, Special Feature Keyway, Lock Type Key Lock, Dimensions LxWxH 0.4 x 1.5 x 2.5 inches, Material Brass, Steel, Recommended Uses For Product Security, Color Brass\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nSchlage Lock Company Padlock, 1-1\/2 x 5\/16, Brass\nSchlage Commercial Padlock 5\/16 Diameter with 1-1\/2 Shackle and Keyway Schlage commercial grade padlock is designed for use in high risk locations Solid brass body resists corrosion for all-weather performance 1-1\/2 in. x 5\/16 in. molybdenum hardened steel shackle for increased cut resistance Double deadbolt locking mechanism provides extra security Re-key able Schlage cylinder Brand SCHLAGE, Special Feature Keyway, Lock Type Key Lock, Dimensions LxWxH 0.4 x 1.5 x 2.5 inches, Material Brass, Steel, Recommended Uses For Product Security, Color Brass\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nGlow Lighting Vista Crystal Flush Mount, 6 W\nCreate that beach feeling with this capiz shell and chrome pendant chandelier. Ideal for bedrooms, kitchens, dining rooms and bathrooms. Uses 3 x 40 Candelabra base bulbs Trimmed with clear crystal Easy installation hardware, instructions included for convenient setup CSA\/CUS approved for dry location Manufacturer Glow Crystal Lighting Inc., Part Weight 2.69 pounds, Dimensions 10 x 10 x 8.5 inches, Country of Origin Canada, model number Is Discontinued No, Size 6\\ W, Color 8.5, Power Source Corded Electric, Voltage 120 Volts, Quantity 1, Type of Bulb incandescent, Mounting Type Ceiling Mount, Plug Format A- US style, Certification CSA\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nGlow Lighting Vista Crystal Flush Mount, 6 W\nCreate that beach feeling with this capiz shell and chrome pendant chandelier. Ideal for bedrooms, kitchens, dining rooms and bathrooms. Uses 3 x 40 Candelabra base bulbs Trimmed with clear crystal Easy installation hardware, instructions included for convenient setup CSA\/CUS approved for dry location Manufacturer Glow Crystal Lighting Inc., Part Weight 2.69 pounds, Dimensions 10 x 10 x 8.5 inches, Country of Origin Canada, model number Is Discontinued No, Size 6\\ W, Color 8.5, Power Source Corded Electric, Voltage 120 Volts, Quantity 1, Type of Bulb incandescent, Mounting Type Ceiling Mount, Plug Format A- US style, Certification CSA\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nExcellerations Phonics Spelling Game for Kids and Classrooms Classroom Activity (12 Game Boards) (Item # PSG)\nExcellerations Early Language, Phonics Spelling Game, Kids Educational Toy, Ages 3 Years and Up (Item # PSG) CLASSROOM ESSENTIAL This spelling game is perfect for those ages 3 and up to learn about how to sound out words EASY TO USE This activity comes equipped with a helpful activity guide for tricks to teach about phonics and words INTERACTIVE LEARNING This phonics spelling game will get students interacting with their learning while developing spelling and word association skills DURABLE DESIGN This spelling game is made with reusable game boards and durable foam letter tiles so that it can be used again and again ENHANCE CURRICULUM Build on\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nExcellerations Phonics Spelling Game for Kids and Classrooms Classroom Activity (12 Game Boards) (Item # PSG)\nExcellerations Early Language, Phonics Spelling Game, Kids Educational Toy, Ages 3 Years and Up (Item # PSG) CLASSROOM ESSENTIAL This spelling game is perfect for those ages 3 and up to learn about how to sound out words EASY TO USE This activity comes equipped with a helpful activity guide for tricks to teach about phonics and words INTERACTIVE LEARNING This phonics spelling game will get students interacting with their learning while developing spelling and word association skills DURABLE DESIGN This spelling game is made with reusable game boards and durable foam letter tiles so that it can be used again and again ENHANCE CURRICULUM Build on\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nBella Tunno Happy Links - Baby Montessori Silicone Links & Soft Silicone Baby Toys, Developmental Toys for Playing, Teething, Gross Motor Skills, Color Recognition & More, Navy, SL07\nIntroducing your new favorite product. Is it a toy? A teether? A link? Yes, it is. It\u2019s pretty much magic what our Happy Links can do. We took the classic link and made it into the product we wish we had for our littles. Generously sized, easy to grip and wrapped in food-grade silicone, our links relieve little gums, keep toys and lovies attached and keeps kids entertained. Our Happy Links set includes 5 links for teething playing and organizing. Attach them to the stroller, rocker, play gym, or carrier to bring\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nBella Tunno Happy Links - Baby Montessori Silicone Links & Soft Silicone Baby Toys, Developmental Toys for Playing, Teething, Gross Motor Skills, Color Recognition & More, Navy, SL07\nIntroducing your new favorite product. Is it a toy? A teether? A link? Yes, it is. It\u2019s pretty much magic what our Happy Links can do. We took the classic link and made it into the product we wish we had for our littles. Generously sized, easy to grip and wrapped in food-grade silicone, our links relieve little gums, keep toys and lovies attached and keeps kids entertained. Our Happy Links set includes 5 links for teething playing and organizing. Attach them to the stroller, rocker, play gym, or carrier to bring\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nGarmin GPSMAP 64sx, Handheld GPS with Altimeter and Compass, Preloaded With TopoActive Maps, Black\/Tan\nNavigate your next adventure with the GPSMAP 64sx handheld navigator series. Whether you\u2019re hiking, cycling, geocaching or climbing, you are free to explore more with the reliable Garmin handheld navigation in the palm of your hand. And the series now has multi-GNSS support and Topo Active mapping. Rugged and water-resistant design with button operation and a 2. 6\u201d sunlight-readable color display Preloaded with Topo Active maps (U. S. and Australia only) featuring routable roads and trails for cycling and hiking Know where you\u2019re at with a high-sensitivity receiver with quad helix antenna and multi-GNSS support\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nGarmin GPSMAP 64sx, Handheld GPS with Altimeter and Compass, Preloaded With TopoActive Maps, Black\/Tan\nNavigate your next adventure with the GPSMAP 64sx handheld navigator series. Whether you\u2019re hiking, cycling, geocaching or climbing, you are free to explore more with the reliable Garmin handheld navigation in the palm of your hand. And the series now has multi-GNSS support and Topo Active mapping. Rugged and water-resistant design with button operation and a 2. 6\u201d sunlight-readable color display Preloaded with Topo Active maps (U. S. and Australia only) featuring routable roads and trails for cycling and hiking Know where you\u2019re at with a high-sensitivity receiver with quad helix antenna and multi-GNSS support\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nPIT66 Front Bumper Turn Signal Lights, Compatible with Mazda MX-5 Miata 1990 1991 1992 1993 1994 1995 1996 1997 W\/Bulbs Smoked Lens Left Driver Side and Right Passenger Side.\nCompatibility - Compatible with Mazda MX-5 Miata. Reference Oem Part Number Perfect Design - Smooth circular arc design, more beautiful appearance, tight fitting to the vehicle, unique lighting system, providing all-round lighting, evenly distributing light output in all directions, maximizing visibility. Safety - It can effectively help you to remind passing vehicles and identify whether the distance on both sides of the road is suitable for traffic in bad weather or other times of poor visibility, as well as determine the distance on both sides of the vehicle when\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nPIT66 Front Bumper Turn Signal Lights, Compatible with Mazda MX-5 Miata 1990 1991 1992 1993 1994 1995 1996 1997 W\/Bulbs Smoked Lens Left Driver Side and Right Passenger Side.\nCompatibility - Compatible with Mazda MX-5 Miata. Reference Oem Part Number Perfect Design - Smooth circular arc design, more beautiful appearance, tight fitting to the vehicle, unique lighting system, providing all-round lighting, evenly distributing light output in all directions, maximizing visibility. Safety - It can effectively help you to remind passing vehicles and identify whether the distance on both sides of the road is suitable for traffic in bad weather or other times of poor visibility, as well as determine the distance on both sides of the vehicle when\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nDorman Front Washer Fluid Reservoir Compatible with Select Ford\/Lincoln\/Mercury Models\nThis washer fluid reservoir is designed to match the fit and function of the original equipment reservoir. It is engineered to withstand the stresses of underhood heat and engine vibration on specified vehicle makes, models, and years. This part is compatible with the following vehicles. Before purchasing, enter your vehicle trim in the garage tool to confirm fitment. Ford Explorer 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 - Lincoln Aviator 2003, 2004, 2005 - Mercury Mountaineer 2002, 2003, 2004, 2005, \n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nDorman Front Washer Fluid Reservoir Compatible with Select Ford\/Lincoln\/Mercury Models\nThis washer fluid reservoir is designed to match the fit and function of the original equipment reservoir. It is engineered to withstand the stresses of underhood heat and engine vibration on specified vehicle makes, models, and years. This part is compatible with the following vehicles. Before purchasing, enter your vehicle trim in the garage tool to confirm fitment. Ford Explorer 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 - Lincoln Aviator 2003, 2004, 2005 - Mercury Mountaineer 2002, 2003, 2004, 2005, \n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nZTUOAUMA Fuel Injection Pump Compatible with Cummins Engine M11 N14 QSM11 ISM11\nPart Number Application Models Compatible with Cummins Diesel Engine M11 N14 QSM11 ISM11 Note Please verify the part number and the detailed parts on pumps between our pictures before buying Warranty Returnable for 6 Months and Changeable for 1 Year (return and change for free) Direct replacement with strict and full test in factory to ensure the long durable service life Brand ZTUOAUMA, Fit Type Vehicle Specific Fit, Vehicle Service Type Truck, Style Fashion, Auto Part Position Rear, Gas Type Diesel, Operation Mode Mechanical, Manufacturer zt truck parts, Weight 11.51 pounds, Dimensions 9.92 x 9.06 x 7.6\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nZTUOAUMA Fuel Injection Pump Compatible with Cummins Engine M11 N14 QSM11 ISM11\nPart Number Application Models Compatible with Cummins Diesel Engine M11 N14 QSM11 ISM11 Note Please verify the part number and the detailed parts on pumps between our pictures before buying Warranty Returnable for 6 Months and Changeable for 1 Year (return and change for free) Direct replacement with strict and full test in factory to ensure the long durable service life Brand ZTUOAUMA, Fit Type Vehicle Specific Fit, Vehicle Service Type Truck, Style Fashion, Auto Part Position Rear, Gas Type Diesel, Operation Mode Mechanical, Manufacturer zt truck parts, Weight 11.51 pounds, Dimensions 9.92 x 9.06 x 7.6\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nBosch Automotive 15463 Oxygen Sensor, OE Fitment (Mazda)\nPremium Bosch oxygen sensors promise better quality, better overall OE Fit\/Form\/Function while ensuring better coverage against the competition. Premium Bosch oxygen sensors are designed to improve fuel economy. Vehicles utilizing Bosch premium oxygen sensors experience better engine performance. Premium Bosch oxygen sensors assist in cleaner exhaust emissions. Brand Bosch Automotive, Dimensions LxWxH 2.2 x 1.97 x 5.83 inches, Weight 0.25 Pounds, Style Modern, Mounting Type Flange Mount, Specific Uses For Product Oxygen Sensor, Manufacturer Bosch Automotive, Dimensions 2.2 x 1.97 x 5.83 inches, Country of Origin United Kingdom, model number 15463, Is Discontinued\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nBosch Automotive 15463 Oxygen Sensor, OE Fitment (Mazda)\nPremium Bosch oxygen sensors promise better quality, better overall OE Fit\/Form\/Function while ensuring better coverage against the competition. Premium Bosch oxygen sensors are designed to improve fuel economy. Vehicles utilizing Bosch premium oxygen sensors experience better engine performance. Premium Bosch oxygen sensors assist in cleaner exhaust emissions. Brand Bosch Automotive, Dimensions LxWxH 2.2 x 1.97 x 5.83 inches, Weight 0.25 Pounds, Style Modern, Mounting Type Flange Mount, Specific Uses For Product Oxygen Sensor, Manufacturer Bosch Automotive, Dimensions 2.2 x 1.97 x 5.83 inches, Country of Origin United Kingdom, model number 15463, Is Discontinued\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nRC4WD BigDog Dual Axle Scale Car\/Truck Trailer Electric Car\/Truck Option Parts\nKey Features Hand made tube trailer chassis Billet aluminum wheels 1.55 Dirt grabber tires Steel leaf spring Working lift jack Steel tool box for battery and light switch Working lights Easy clip hitch mount Two steel ramps Ramp holders Whitebone inspired design Weight Length 22.63 Width 12.28 Height 5.31 Inside of the Deck Length 15.9in \/ 404mm Inside of the Deck Width 8.5in \/ 216mm Tail Plate Length 6.1in \/ 155mm Tail Plate Width 2.55in \/ 65mm Overview This is a 1\/10 Car or Truck Hauler. Perfect for towing around your rig to\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nRC4WD BigDog Dual Axle Scale Car\/Truck Trailer Electric Car\/Truck Option Parts\nKey Features Hand made tube trailer chassis Billet aluminum wheels 1.55 Dirt grabber tires Steel leaf spring Working lift jack Steel tool box for battery and light switch Working lights Easy clip hitch mount Two steel ramps Ramp holders Whitebone inspired design Weight Length 22.63 Width 12.28 Height 5.31 Inside of the Deck Length 15.9in \/ 404mm Inside of the Deck Width 8.5in \/ 216mm Tail Plate Length 6.1in \/ 155mm Tail Plate Width 2.55in \/ 65mm Overview This is a 1\/10 Car or Truck Hauler. Perfect for towing around your rig to\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nMOCA Engine Water Pump & Fan Clutch fit 04-07 for Buick Rainier & 02-09 for Chevrolet Trailblazer & 02-09 for GMC Envoy & 02-06 Envoy XL & 04-05 Envoy XUV & 03-07 for Isuzu Ascender 4.2L\nPlease confirm this item fits for your vehicle before purchasing (Check Fitment Data Above or see description below) Package Includes 1 Water Pump, 1 Fan Thermostat Housing Assembly Part Numbers 33939, All the Components are produced under strictly observed and meet or exceed OEM performance requirements in Manufacturing and Material Local US friendly after-service team to resolve your issues in time, parts have 2 years or 40000 miles warranty Manufacturer OELINE Auto\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nMOCA Engine Water Pump & Fan Clutch fit 04-07 for Buick Rainier & 02-09 for Chevrolet Trailblazer & 02-09 for GMC Envoy & 02-06 Envoy XL & 04-05 Envoy XUV & 03-07 for Isuzu Ascender 4.2L\nPlease confirm this item fits for your vehicle before purchasing (Check Fitment Data Above or see description below) Package Includes 1 Water Pump, 1 Fan Thermostat Housing Assembly Part Numbers 33939, All the Components are produced under strictly observed and meet or exceed OEM performance requirements in Manufacturing and Material Local US friendly after-service team to resolve your issues in time, parts have 2 years or 40000 miles warranty Manufacturer OELINE Auto\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nBlack Horse Black Aluminum Exceed Running Boards Compatible with GMC Terrain \/ Chevriolet Equinox\nBlack Horse Black Aluminum Exceed Running Boards compatible with GMC Terrain \/ Chevriolet Equinox Black Horse Off Road Aluminum Exceed Running Board - Features an all-black design with Chrome Trim\/Compatible with GMC Chevrolet wide flat stepping surface Built with heavy-duty aluminum\/Resistant to rust and corrosion for long-lasting use \/All necessary hardware included Stripe design for a strong grip\/Designed to look like a part of your vehicle\/Easy installation, DIY instructions and all mounting hardware included Eases step in or out of vehicle\/\/ Manufacturer Black Horse Off Road, Brand Black Horse Off Road, Model Exceed Running Boards, Weight 40 Pounds, Dimensions 73 x 9 x 11 inches, Country of\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nBlack Horse Black Aluminum Exceed Running Boards Compatible with GMC Terrain \/ Chevriolet Equinox\nBlack Horse Black Aluminum Exceed Running Boards compatible with GMC Terrain \/ Chevriolet Equinox Black Horse Off Road Aluminum Exceed Running Board - Features an all-black design with Chrome Trim\/Compatible with GMC Chevrolet wide flat stepping surface Built with heavy-duty aluminum\/Resistant to rust and corrosion for long-lasting use \/All necessary hardware included Stripe design for a strong grip\/Designed to look like a part of your vehicle\/Easy installation, DIY instructions and all mounting hardware included Eases step in or out of vehicle\/\/ Manufacturer Black Horse Off Road, Brand Black Horse Off Road, Model Exceed Running Boards, Weight 40 Pounds, Dimensions 73 x 9 x 11 inches, Country of\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nStarDot YouTube Live Stream Camera Bundle, Gray\nis a standalone live streaming camera which is compatible with YouTube live streaming and Facebook Live. This camera has been thoroughly tested for continuous 24\/7 live streaming. It will broadcast high-quality video directly to YouTube without assistance from computers, cellphones, or third-party servers. Copy and paste a YouTube stream name\/key from your YouTube account to the camera configuration page, and you're streaming in less than a minute. Easy to set up - connect the camera to your network, and get the stream name\/key from YouTube or Facebook Live. Place it in the camera\u2019s web setup page to start streaming. No need to open up additional network Ports in your router or modem settings. Live stream resolutions include HD 1080P, HD 720P, \n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nStarDot YouTube Live Stream Camera Bundle, Gray\nis a standalone live streaming camera which is compatible with YouTube live streaming and Facebook Live. This camera has been thoroughly tested for continuous 24\/7 live streaming. It will broadcast high-quality video directly to YouTube without assistance from computers, cellphones, or third-party servers. Copy and paste a YouTube stream name\/key from your YouTube account to the camera configuration page, and you're streaming in less than a minute. Easy to set up - connect the camera to your network, and get the stream name\/key from YouTube or Facebook Live. Place it in the camera\u2019s web setup page to start streaming. No need to open up additional network Ports in your router or modem settings. Live stream resolutions include HD 1080P, HD 720P, \n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nValley Enterprises Yaesu USB FTDI CT-62 CAT Cable Length 10 Feet\nAftermarket Programming Cable Aftermarket Programming Cable FTDI USB Chipset FTDI USB Chipset TX and RX Led indicators TX and RX Led indicators Total Length 10 feet Total Length 10 feet No programming software included No programming software included For use with Yaesu This device requires an FTDI USB VCP Driver. Virtual COM port (VCP) drivers cause the USB device to appear as an additional COM port available to the PC. Application software can access the USB device in the same way as it would access a standard COM port. A link to download the free driver is included. Aftermarket Programming Cable FTDI USB chipset TX and RX Led indicators Total Length 10 Feet No\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nValley Enterprises Yaesu USB FTDI CT-62 CAT Cable Length 10 Feet\nAftermarket Programming Cable Aftermarket Programming Cable FTDI USB Chipset FTDI USB Chipset TX and RX Led indicators TX and RX Led indicators Total Length 10 feet Total Length 10 feet No programming software included No programming software included For use with Yaesu This device requires an FTDI USB VCP Driver. Virtual COM port (VCP) drivers cause the USB device to appear as an additional COM port available to the PC. Application software can access the USB device in the same way as it would access a standard COM port. A link to download the free driver is included. Aftermarket Programming Cable FTDI USB chipset TX and RX Led indicators Total Length 10 Feet No\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nMyVolts 12V Power Supply Adaptor Compatible with\/Replacement for HP Scanjet 3500C Scanner - US Plug with Extension and ON\/Off Switch\nNeed to power your HP Scanner Scanjet 12V high-quality power adapter is compatible with the HP Scanjet 3500C Scanner.The plug fits a US 2-pin wall power socket.This power adaptor is designed to meet the power specification of the HP Scanjet 3500C Scanner - correct voltage, amperage and tip size.It meets and exceeds all US safety standard, features overvoltage, overcurrent and short circuit protection to protect your device, and is energy efficient.Also included in the Premium option is a handy in-line on \/ off switch, AND a 3 meter (10 feet) extension cable.Power\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nMyVolts 12V Power Supply Adaptor Compatible with\/Replacement for HP Scanjet 3500C Scanner - US Plug with Extension and ON\/Off Switch\nNeed to power your HP Scanner Scanjet 12V high-quality power adapter is compatible with the HP Scanjet 3500C Scanner.The plug fits a US 2-pin wall power socket.This power adaptor is designed to meet the power specification of the HP Scanjet 3500C Scanner - correct voltage, amperage and tip size.It meets and exceeds all US safety standard, features overvoltage, overcurrent and short circuit protection to protect your device, and is energy efficient.Also included in the Premium option is a handy in-line on \/ off switch, AND a 3 meter (10 feet) extension cable.Power\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nFranklin Iron Works Sperry Industrial Bronze Chandelier 28 Wide Rustic Farmhouse Cylinder Scavo Glass Fixture for Dining Room House Foyer Kitchen Island Entryway Bedroom Living Room\n28 wide x 28 high. Glass is 6 1\/4 high x 3 wide. Canopy is 5 1\/2 wide. Weighs 19.58 lbs. Comes with of lead wire and 6-feet of chain. Sloped ceiling adaptable. Uses eight maximum 60 watt standard-medium base bulbs (not included). Contemporary farmhouse eight-light chandelier from Franklin Iron Works. Industrial bronze finish metal frame. Scavo glass cylinder shades. Brand Franklin Iron Works, Color Scovo Glass, Material Glass, Style Farmhouse, Light fixture form Chandelier, Room Type Entryway,\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nFranklin Iron Works Sperry Industrial Bronze Chandelier 28 Wide Rustic Farmhouse Cylinder Scavo Glass Fixture for Dining Room House Foyer Kitchen Island Entryway Bedroom Living Room\n28 wide x 28 high. Glass is 6 1\/4 high x 3 wide. Canopy is 5 1\/2 wide. Weighs 19.58 lbs. Comes with of lead wire and 6-feet of chain. Sloped ceiling adaptable. Uses eight maximum 60 watt standard-medium base bulbs (not included). Contemporary farmhouse eight-light chandelier from Franklin Iron Works. Industrial bronze finish metal frame. Scavo glass cylinder shades. Brand Franklin Iron Works, Color Scovo Glass, Material Glass, Style Farmhouse, Light fixture form Chandelier, Room Type Entryway,\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nRoland RPU-3 Electronic Keyboard Pedal or Footswitch, 3 Pedal\nProduct Description Combining three pedals into one convenient and clutter-free unit, the Roland RPU-3 offers a real grand piano pedaling experience. With separate 1\/4 outputs for each of its three pedals, the RPU-3 is compatible with keyboards such as Roland\u2019s FP-90, FP-60, and pianos. In addition to providing the same pedal configuration as a grand piano, the RPU-3 also provides hands-free control of various instrument functions, such as selecting registrations or activating vocal effects on the FP-90. From the Manufacturer Combining three pedals into one convenient and clutter-free unit, the Roland RPU-3 offers a real grand piano pedaling experience. With\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nRoland RPU-3 Electronic Keyboard Pedal or Footswitch, 3 Pedal\nProduct Description Combining three pedals into one convenient and clutter-free unit, the Roland RPU-3 offers a real grand piano pedaling experience. With separate 1\/4 outputs for each of its three pedals, the RPU-3 is compatible with keyboards such as Roland\u2019s FP-90, FP-60, and pianos. In addition to providing the same pedal configuration as a grand piano, the RPU-3 also provides hands-free control of various instrument functions, such as selecting registrations or activating vocal effects on the FP-90. From the Manufacturer Combining three pedals into one convenient and clutter-free unit, the Roland RPU-3 offers a real grand piano pedaling experience. With\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nElk 30 by 6-Inch Viva Pendant with Green Glass Shade, Satin Nickel Finish\nThe Viva light pendant is meticulously hand blown with up to three layers of uncompromising beauty and style. This pendant features green hand blown glass shade. Shade holder comes in satin nickel finish. Accommodates six medium base bulbs. Measures 9-inch extended length by width by 6-inch height. Viva light pendant is meticulously hand blown with up to three layers of uncompromising beauty and style Features exquisite line of green hand blown glass shade Accommodates six medium base bulbs Shade holder comes in satin nickel finish Measures 9-inch extended length by width by 6-inch height Brand Elk, Color Satin Nickel, Material Material Other, Style Contemporary, Light fixture form Pendant, Specific\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nElk 30 by 6-Inch Viva Pendant with Green Glass Shade, Satin Nickel Finish\nThe Viva light pendant is meticulously hand blown with up to three layers of uncompromising beauty and style. This pendant features green hand blown glass shade. Shade holder comes in satin nickel finish. Accommodates six medium base bulbs. Measures 9-inch extended length by width by 6-inch height. Viva light pendant is meticulously hand blown with up to three layers of uncompromising beauty and style Features exquisite line of green hand blown glass shade Accommodates six medium base bulbs Shade holder comes in satin nickel finish Measures 9-inch extended length by width by 6-inch height Brand Elk, Color Satin Nickel, Material Material Other, Style Contemporary, Light fixture form Pendant, Specific\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nYU-GI-OH! Ignition Assault Booster Box\n24 Packs per Display 9 cards per packHumanitys greatest fear has been realized! Dueling A.I.s have become sentient and organized their own army to take the Yu-Gi-Oh! TRADING CARD GAME by storm in Ignition Assault! Winter 2020s booster set heats things up with Ais @Ignister cards from the climax of YuGi-Oh! VRAINS, multiple brand-new strategies, new cards for popular strategies, and powerful, general use cards that every Duelist will want to add to their arsenal! Keep your A. 24 Packs per Display 9 cards per pack Dimensions 5.65 x 4.75 x 1.5 inches, Weight 11.2 ounces\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nYU-GI-OH! Ignition Assault Booster Box\n24 Packs per Display 9 cards per packHumanitys greatest fear has been realized! Dueling A.I.s have become sentient and organized their own army to take the Yu-Gi-Oh! TRADING CARD GAME by storm in Ignition Assault! Winter 2020s booster set heats things up with Ais @Ignister cards from the climax of YuGi-Oh! VRAINS, multiple brand-new strategies, new cards for popular strategies, and powerful, general use cards that every Duelist will want to add to their arsenal! Keep your A. 24 Packs per Display 9 cards per pack Dimensions 5.65 x 4.75 x 1.5 inches, Weight 11.2 ounces\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nFitrite Autopart New Front Left Driver Side Fender For Nissan Altima, Made Of Steel\nProduct Name New Front Left Driver Side Fender For Nissan Altima, Made Of Steel Product Name New Front Left Driver Side Fender For Nissan Altima, Made Of Steel Condition New Condition New Warranty 1 Year Warranty 1 Year Fitment Type Vehicle Specific Fitment Type Vehicle Specific Condition New Placement on Vehicle Front, Left Driver Side Warranty 1 Year Fitment Type Vehicle Specific Parts Link No OEM Number Brand Fitrite Autoparts, Exterior Finish Primed, Material Alloy Steel, Dimensions LxWxH 45 x 35 x 11 inches, Weight 8.1 Pounds, Style Modern, Auto Part Position Front Left, Vehicle Service Type Car, Fit Type Vehicle Specific Fit\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nFitrite Autopart New Front Left Driver Side Fender For Nissan Altima, Made Of Steel\nProduct Name New Front Left Driver Side Fender For Nissan Altima, Made Of Steel Product Name New Front Left Driver Side Fender For Nissan Altima, Made Of Steel Condition New Condition New Warranty 1 Year Warranty 1 Year Fitment Type Vehicle Specific Fitment Type Vehicle Specific Condition New Placement on Vehicle Front, Left Driver Side Warranty 1 Year Fitment Type Vehicle Specific Parts Link No OEM Number Brand Fitrite Autoparts, Exterior Finish Primed, Material Alloy Steel, Dimensions LxWxH 45 x 35 x 11 inches, Weight 8.1 Pounds, Style Modern, Auto Part Position Front Left, Vehicle Service Type Car, Fit Type Vehicle Specific Fit\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nElite Screens Edge Free Ambient Light Rejecting Fixed Frame Projection Projector Screen,Aeon CineGrey 3D Series, 16 9 for Home Theater, Movie and Office Presentations\nDIMENSION SIZE Diagonal, 16 9 Aspect Ratio. View Size 66.2 H x 117.6 W. Overall Size 66.7 H x 118.1 W x 1. 3 D. SCREEN MATERIAL Ceiling Ambient Light Rejecting Material (CLR\/ALR) CineGrey 3D with 65% rejection ratio and Features a 90\u00b0 Viewing Angle with 1.2 Gain. It is best for family rooms, educational facilities, conference rooms or any applications in which incident light is a factor. Fixed Frame Projector Screen is compatible with Standard Throw\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nElite Screens Edge Free Ambient Light Rejecting Fixed Frame Projection Projector Screen,Aeon CineGrey 3D Series, 16 9 for Home Theater, Movie and Office Presentations\nDIMENSION SIZE Diagonal, 16 9 Aspect Ratio. View Size 66.2 H x 117.6 W. Overall Size 66.7 H x 118.1 W x 1. 3 D. SCREEN MATERIAL Ceiling Ambient Light Rejecting Material (CLR\/ALR) CineGrey 3D with 65% rejection ratio and Features a 90\u00b0 Viewing Angle with 1.2 Gain. It is best for family rooms, educational facilities, conference rooms or any applications in which incident light is a factor. Fixed Frame Projector Screen is compatible with Standard Throw\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nHeadlight Assembly Compatible with 2012 2013 2014 2015 Civic Sedan 4-Door 12 13 Civic Coupe 2-Door Black Housing Amber Reflector\nVehicle compatibility headlights assembly compatible with Civic Sedan 4-Door \/ Civic Coupe high beam mode 9005 and low beam mode 9006; bulbs are not included Waterproof fully sealed with solid silicon & designed with one-way vents to prevent moisture from being trapped inside the housing, no corrosion or moisture worries in sorts of weather conditions Brighter lighting the metallic parabolic reflectors provide more light output to create a broader and smoother beam Safety reflector the sided micro-prism reflector makes the oncoming cars or passerby quickly notice you at night, ensuring your driving safety and others' Impact resistance the\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nHeadlight Assembly Compatible with 2012 2013 2014 2015 Civic Sedan 4-Door 12 13 Civic Coupe 2-Door Black Housing Amber Reflector\nVehicle compatibility headlights assembly compatible with Civic Sedan 4-Door \/ Civic Coupe high beam mode 9005 and low beam mode 9006; bulbs are not included Waterproof fully sealed with solid silicon & designed with one-way vents to prevent moisture from being trapped inside the housing, no corrosion or moisture worries in sorts of weather conditions Brighter lighting the metallic parabolic reflectors provide more light output to create a broader and smoother beam Safety reflector the sided micro-prism reflector makes the oncoming cars or passerby quickly notice you at night, ensuring your driving safety and others' Impact resistance the\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nTechni Mobili White Sit to Stand Mobile Laptop Computer Stand with Height Adjustable and Tiltable Tabletop\nTechni Mobili Sit-to-Stand Rolling Laptop Stand offers an adjustable height mechanism that is compact, portable and is a perfect choice for a laptop or writing setup in a limited space. This Sit-to-Stand mobile laptop stand features a large tabletop with a tilt mechanism attached so it can be adjusted to your most comfortable working angle. It also features a safety edge-stopper to prevent objects from sliding down when tilted. The heavy-duty steel frame supports a sturdy structure, and the non-marking locking casters let you glide while maintaining the balanced level. \ud835\udc12\ud835\udc14\ud835\udc11\ud835\udc05\ud835\udc00\ud835\udc02\ud835\udc04 \ud835\udc0c\ud835\udc00\ufffd\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nTechni Mobili White Sit to Stand Mobile Laptop Computer Stand with Height Adjustable and Tiltable Tabletop\nTechni Mobili Sit-to-Stand Rolling Laptop Stand offers an adjustable height mechanism that is compact, portable and is a perfect choice for a laptop or writing setup in a limited space. This Sit-to-Stand mobile laptop stand features a large tabletop with a tilt mechanism attached so it can be adjusted to your most comfortable working angle. It also features a safety edge-stopper to prevent objects from sliding down when tilted. The heavy-duty steel frame supports a sturdy structure, and the non-marking locking casters let you glide while maintaining the balanced level. \ud835\udc12\ud835\udc14\ud835\udc11\ud835\udc05\ud835\udc00\ud835\udc02\ud835\udc04 \ud835\udc0c\ud835\udc00\ufffd\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nHouse Of Troy Pinnacle Collection Portable Halogen Wall Lamp, Antique Brass\nFrom the Manufacturer The House of Troy Pinnacle Collection Portable Halogen Wall Lamp shows that hand-craftsmanship is a time honored tradition, as alive today as the land itself. In this tradition, House of Troy carefully crafts each light for you by hand, to the highest quality standards. This swing arm wall lamp will create a stunning presence in any room and works well with many styles of decor. Showcasing the classic lines of this lamp and cut from the highest quality solid brass, the has an antique brass finish achieved by coloring the solid brass with an application of acid oxide. The finish is then darkened and partially rubbed away, leaving dark highlights throughout. All oxidized finishes are protected with a finish coat of matte\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nHouse Of Troy Pinnacle Collection Portable Halogen Wall Lamp, Antique Brass\nFrom the Manufacturer The House of Troy Pinnacle Collection Portable Halogen Wall Lamp shows that hand-craftsmanship is a time honored tradition, as alive today as the land itself. In this tradition, House of Troy carefully crafts each light for you by hand, to the highest quality standards. This swing arm wall lamp will create a stunning presence in any room and works well with many styles of decor. Showcasing the classic lines of this lamp and cut from the highest quality solid brass, the has an antique brass finish achieved by coloring the solid brass with an application of acid oxide. The finish is then darkened and partially rubbed away, leaving dark highlights throughout. All oxidized finishes are protected with a finish coat of matte\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nIbanez GIO Series Classical Guitar - HH Infinity R - Black Night\nIbanez classical guitars take the guesswork out of finding an affordable, great-sounding classical guitar that's easy to fret and play. Whether you are looking for a traditional classical-sized instrument or a comfortable nylon-string beginner guitar, they are extremely well-constructed, affordable and have the pristine tonality and playability of much more expensive instruments. Ibanez builds guitars for players of all levels\u2014from beginners to the most demanding masters of the instrument. Regardless of price, Ibanez always strives to offer the absolute best sound, style, and playability in its class. The Standard series incorporates all the staples the Ibanez brand is famous for, such as fast necks, floating terms, and high-oct\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nIbanez GIO Series Classical Guitar - HH Infinity R - Black Night\nIbanez classical guitars take the guesswork out of finding an affordable, great-sounding classical guitar that's easy to fret and play. Whether you are looking for a traditional classical-sized instrument or a comfortable nylon-string beginner guitar, they are extremely well-constructed, affordable and have the pristine tonality and playability of much more expensive instruments. Ibanez builds guitars for players of all levels\u2014from beginners to the most demanding masters of the instrument. Regardless of price, Ibanez always strives to offer the absolute best sound, style, and playability in its class. The Standard series incorporates all the staples the Ibanez brand is famous for, such as fast necks, floating terms, and high-oct\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nBilstein 5100 Monotube Gas Shock Set compatible with Jeep Cherokee XJ w\/2-3 Lift\nBilstein 5100 shocks utilize a monotube design, with a 46mm digressive piston, to increase road handling characteristics both on and off-road. The single tube body allows for rapid heat transfer between the shock oil to the shock body, and then dissipated further to reduce shock fade. German engineering combined with US manufacturing ensures optimum performance and longevity for upwards of 100k miles (real customer feedback!). The 5100 series is more compliant in tougher situations and off-road terrain compared to the 4600 series. Factory spec vehicles should use the 4600 series shocks as the valving is more appropriate for daily driven vehicles and pavement environments. Part Numbers\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nBilstein 5100 Monotube Gas Shock Set compatible with Jeep Cherokee XJ w\/2-3 Lift\nBilstein 5100 shocks utilize a monotube design, with a 46mm digressive piston, to increase road handling characteristics both on and off-road. The single tube body allows for rapid heat transfer between the shock oil to the shock body, and then dissipated further to reduce shock fade. German engineering combined with US manufacturing ensures optimum performance and longevity for upwards of 100k miles (real customer feedback!). The 5100 series is more compliant in tougher situations and off-road terrain compared to the 4600 series. Factory spec vehicles should use the 4600 series shocks as the valving is more appropriate for daily driven vehicles and pavement environments. Part Numbers\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nhansgrohe Talis S Modern Premium Easy Clean 1 9-inch Tall Bathroom Sink Faucet in Chrome,\nDesign With a range of models and styles, paired with the quality and design you expect from hansgrohe, dream bathrooms become a reality. Bath faucets by hansgrohe exude beautiful design with superior performance and durability. Pick your desired faucet, then browse the entire product suite for complementary accessories. German engineering ensures a lifetime of consistent and dependable operation. Maintenance Products that function perfectly are essential. To ensure that they do, every hansgrohe product 100% air tested in production. hansgrohe faucets feature a silicone aerator that optimizes water flow performance, resists mineral deposit build-up, and is designed to be easily wiped clean. Installation Can be installed in\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nhansgrohe Talis S Modern Premium Easy Clean 1 9-inch Tall Bathroom Sink Faucet in Chrome,\nDesign With a range of models and styles, paired with the quality and design you expect from hansgrohe, dream bathrooms become a reality. Bath faucets by hansgrohe exude beautiful design with superior performance and durability. Pick your desired faucet, then browse the entire product suite for complementary accessories. German engineering ensures a lifetime of consistent and dependable operation. Maintenance Products that function perfectly are essential. To ensure that they do, every hansgrohe product 100% air tested in production. hansgrohe faucets feature a silicone aerator that optimizes water flow performance, resists mineral deposit build-up, and is designed to be easily wiped clean. Installation Can be installed in\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nKingston Brass Restoration 4-Inch Centerset Lavatory Faucet with Porcelain Lever Handle, Brushed Nickel\nProduct Description Classic style. Two handle deck mount. 4 in. center set. Max 1.2 LPM water flow rate at 60 PSI. Integrated removable aerator. Drip-free ceramic cartridge system. Three hole sink application. 4.05 in. spout reach. 3 in. spout height. 4 in. center spread installation. 1\/4 turn on and off water control mechanism. 1.05 in. spout clearance. Made from brass. Satin nickel finish. Made in Taiwan. From the Manufacturer Functional and Stylish Faucets Gives an Irresistible Beauty to the Bathroom. Design is Perfectly Co-\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nKingston Brass Restoration 4-Inch Centerset Lavatory Faucet with Porcelain Lever Handle, Brushed Nickel\nProduct Description Classic style. Two handle deck mount. 4 in. center set. Max 1.2 LPM water flow rate at 60 PSI. Integrated removable aerator. Drip-free ceramic cartridge system. Three hole sink application. 4.05 in. spout reach. 3 in. spout height. 4 in. center spread installation. 1\/4 turn on and off water control mechanism. 1.05 in. spout clearance. Made from brass. Satin nickel finish. Made in Taiwan. From the Manufacturer Functional and Stylish Faucets Gives an Irresistible Beauty to the Bathroom. Design is Perfectly Co-\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nFit System 62135G Passenger Side Towing Mirror for Silverado\/Sierra, 2500, 3500, Textured Black, Arrow Signal, Dual Lens, 1st Design, (no Power fold\/Side Reflector\/BLIS), fold, Heated Power\nPassenger Side Towing Mirror for Silverado\/ Sierra 1500, 2500, 3500, 1st design. Textured black, LED Arrow Signal and dual lens. Without power fold, side reflector and blind spot detection system. Foldaway. Heated Power. Towing Mirror glass is power adjustable. Convex Lens. Towing Mirror glass has heating capability to clear ice, snow and fog. Manual folding for additional clearance. Towing Mirror has the ability to extend.\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nFit System 62135G Passenger Side Towing Mirror for Silverado\/Sierra, 2500, 3500, Textured Black, Arrow Signal, Dual Lens, 1st Design, (no Power fold\/Side Reflector\/BLIS), fold, Heated Power\nPassenger Side Towing Mirror for Silverado\/ Sierra 1500, 2500, 3500, 1st design. Textured black, LED Arrow Signal and dual lens. Without power fold, side reflector and blind spot detection system. Foldaway. Heated Power. Towing Mirror glass is power adjustable. Convex Lens. Towing Mirror glass has heating capability to clear ice, snow and fog. Manual folding for additional clearance. Towing Mirror has the ability to extend.\n\nPrice is $"} diff --git a/week6/community-contributions/bharat_puri/val.jsonl b/week6/community-contributions/bharat_puri/val.jsonl new file mode 100644 index 0000000..84f1c38 --- /dev/null +++ b/week6/community-contributions/bharat_puri/val.jsonl @@ -0,0 +1,25 @@ +{"prompt":"How much does this cost to the nearest dollar?\n\nF FIERCE CYCLE 251pcs Black Universal Motorcycle Fairing Body Bolts Kit Fastener Clips M5 M6 Screws Nuts\nIncludes hardware for all fairing pieces including, front, mid, lowers, rear, windscreen, and more. Fitment for Honda, for Kawasaki, for Yamaha, for Suzuki This kit is a common size on most motorcycles but it remains the responsibility of the buyer to check the appropriate size fittings are ordered. Simply replace the existing stock fairing bolts with these bolts. Package Includes 5 x Bolt (M6 x 40mm), 20 x x 16mm), 20 x x 20mm), 40 x x 16mm), 8 x x 25mm), 17 x Self Tapping x 12mm\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nF FIERCE CYCLE 251pcs Black Universal Motorcycle Fairing Body Bolts Kit Fastener Clips M5 M6 Screws Nuts\nIncludes hardware for all fairing pieces including, front, mid, lowers, rear, windscreen, and more. Fitment for Honda, for Kawasaki, for Yamaha, for Suzuki This kit is a common size on most motorcycles but it remains the responsibility of the buyer to check the appropriate size fittings are ordered. Simply replace the existing stock fairing bolts with these bolts. Package Includes 5 x Bolt (M6 x 40mm), 20 x x 16mm), 20 x x 20mm), 40 x x 16mm), 8 x x 25mm), 17 x Self Tapping x 12mm\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nGodox ML60Bi LED Light Kit, Handheld LED Video Light, Bi-Color LED Light, CRI 96+ TLCI 97+, 7 FX Effects, Slient Mode, with Softbox, RC-A6 Remote Control, 2X NP970 Lithium Battery\n\ud83c\udf38Breathtakingly powerful and portable 10100 Lux @ 1 m with the included reflector. Weighing just 0.77 kg (lightweight housing only), the ML60Bi is extremely easy to hold and carry. In relation to its small size, it produces an impressively high output and thus offers you more flexible creativity for your productions. \ud83c\udf38Variable color temperature The wide color temperature range from 2800K to 6500K allows you to quickly\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nGodox ML60Bi LED Light Kit, Handheld LED Video Light, Bi-Color LED Light, CRI 96+ TLCI 97+, 7 FX Effects, Slient Mode, with Softbox, RC-A6 Remote Control, 2X NP970 Lithium Battery\n\ud83c\udf38Breathtakingly powerful and portable 10100 Lux @ 1 m with the included reflector. Weighing just 0.77 kg (lightweight housing only), the ML60Bi is extremely easy to hold and carry. In relation to its small size, it produces an impressively high output and thus offers you more flexible creativity for your productions. \ud83c\udf38Variable color temperature The wide color temperature range from 2800K to 6500K allows you to quickly\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nBrock Replacement Driver and Passenger Halogen Headlights Headlamps Compatible with\nMeets all OE specifications, with DOT stamp Exact replacement for stock assembly New, clear lenses ensure full illumination and maximum safety Lens and housing included 1-Year Limited Warranty Manufacturer Brock, Brand Brock, Model Replacement Headlight Assemblies, Weight 16 pounds, Dimensions 23 x 23 x 15 inches, Country of Origin Taiwan, model number Is Discontinued No, Manufacturer Part OEM Part 3C0 941 006 AE, ABPA Partslink Position Rear, Front, Bulb Type Halogen, Special Features Waterproof, Rank Automotive Automotive Headlight Assemblies 16731, Available September 9, 2022, Specific Uses For Product Head Lights, Light Source Type Halogen, Vehicle Service Type Car\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nBrock Replacement Driver and Passenger Halogen Headlights Headlamps Compatible with\nMeets all OE specifications, with DOT stamp Exact replacement for stock assembly New, clear lenses ensure full illumination and maximum safety Lens and housing included 1-Year Limited Warranty Manufacturer Brock, Brand Brock, Model Replacement Headlight Assemblies, Weight 16 pounds, Dimensions 23 x 23 x 15 inches, Country of Origin Taiwan, model number Is Discontinued No, Manufacturer Part OEM Part 3C0 941 006 AE, ABPA Partslink Position Rear, Front, Bulb Type Halogen, Special Features Waterproof, Rank Automotive Automotive Headlight Assemblies 16731, Available September 9, 2022, Specific Uses For Product Head Lights, Light Source Type Halogen, Vehicle Service Type Car\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nAPS Compatible with Chevy Silverado 1500 Main Upper Stainless Steel Black 8x6 Horizontal Billet Grille Insert\nINSTALLATION This is Bolt Over\/Overlay\/Bolton (Drilling Not Required) 8x6 Horizontal Billet grille insert. OE grille shell remains on the car after installation. CUSTOM FIT Compatible with Chevy Silverado 1500 Not for Z71 SPECS Each grille made from premium Stainless Steel and customized to fit the Main Upper of your vehicle. All necessary hardware and instruction are included. Grille insert only, logo or emblem, frame or shell is NOT included. PERFECT DESIGN Each grille made from premium stainless steel with black powder coated surface that offers resistance to oxidization. This grille enhances the visual appearance of your car. SATISFACTION GUARANTEED\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nAPS Compatible with Chevy Silverado 1500 Main Upper Stainless Steel Black 8x6 Horizontal Billet Grille Insert\nINSTALLATION This is Bolt Over\/Overlay\/Bolton (Drilling Not Required) 8x6 Horizontal Billet grille insert. OE grille shell remains on the car after installation. CUSTOM FIT Compatible with Chevy Silverado 1500 Not for Z71 SPECS Each grille made from premium Stainless Steel and customized to fit the Main Upper of your vehicle. All necessary hardware and instruction are included. Grille insert only, logo or emblem, frame or shell is NOT included. PERFECT DESIGN Each grille made from premium stainless steel with black powder coated surface that offers resistance to oxidization. This grille enhances the visual appearance of your car. SATISFACTION GUARANTEED\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nICBEAMER 7 RGB LED Headlights Bulb Halo Angel Eye DOT Approved Phone APP Bluetooth Control for Jeep Wrangler\n\u2b50Transform your Jeep Wrangler with ICBEAMER's RGB Multifunction Halo Angle Eye LED Headlights - control brightness, mode selection, and more with the ICBEAMER phone app. \u2b50Upgrade your Jeep Wrangler with ICBEAMER's easy-to-install LED Headlamp Assembly - Plug & Play design, with built-in Canbus and H4\/H13 Adapter included. \u2b50Experience unbeatable visibility with ICBEAMER's 7 LED Headlight Bulbs - high and low beam output of 3600 LM and 1800 LM respectively, and water-proof IP67 for reliable performance in any weather. \u2b50Perfect fit for\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nICBEAMER 7 RGB LED Headlights Bulb Halo Angel Eye DOT Approved Phone APP Bluetooth Control for Jeep Wrangler\n\u2b50Transform your Jeep Wrangler with ICBEAMER's RGB Multifunction Halo Angle Eye LED Headlights - control brightness, mode selection, and more with the ICBEAMER phone app. \u2b50Upgrade your Jeep Wrangler with ICBEAMER's easy-to-install LED Headlamp Assembly - Plug & Play design, with built-in Canbus and H4\/H13 Adapter included. \u2b50Experience unbeatable visibility with ICBEAMER's 7 LED Headlight Bulbs - high and low beam output of 3600 LM and 1800 LM respectively, and water-proof IP67 for reliable performance in any weather. \u2b50Perfect fit for\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nPolk Vanishing Series 265-LS In-Wall 3-Way Loudspeaker, Dual 6.5 Dynamic Balance Drivers & 1 Ring-Radiator Tweeter, Polk PowerPort Technology, Rotating Cam System for Easy Installation\nEnjoy extraordinary audio performance for your movies, music and TV shows with the Polk Vanishing Series 265-LS 3-Way Loudspeaker that disappears into your wall and yet delivers impactful, room filling sound. The in-wall speaker is equipped with dual 6.5 Dynamic Balance Drivers for clear, accurate mids and dynamic lows, and a 1 Ring-Radiator Tweeter for incredible imaging. With Polk's Patented PowerPort Bass Technology, the speaker adds deep, rumbling bass to your audio, while minimizing unwanted resonances.\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nPolk Vanishing Series 265-LS In-Wall 3-Way Loudspeaker, Dual 6.5 Dynamic Balance Drivers & 1 Ring-Radiator Tweeter, Polk PowerPort Technology, Rotating Cam System for Easy Installation\nEnjoy extraordinary audio performance for your movies, music and TV shows with the Polk Vanishing Series 265-LS 3-Way Loudspeaker that disappears into your wall and yet delivers impactful, room filling sound. The in-wall speaker is equipped with dual 6.5 Dynamic Balance Drivers for clear, accurate mids and dynamic lows, and a 1 Ring-Radiator Tweeter for incredible imaging. With Polk's Patented PowerPort Bass Technology, the speaker adds deep, rumbling bass to your audio, while minimizing unwanted resonances.\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nInterlogix NetworX Touch Screen Keypad, 3.5 Color Touch Screen, Icon-based Graphic Interface, Built-in Message Board, NetworX System Compatibility, Capability, Modern Design\nInterlogix NetworX Touch Screen Keypad, 3.5 Color Touch Screen, Icon-based Graphic Interface, Built-in Message Board, NetworX System Compatibility, Capability, Modern Design Ideal for almost any size application, the NetworX Touch Screen Keypad offers powerful yet simple control of any NetworX security system. An intuitive interface, 3.5 touch screen and Quick Keys for rapid system arming and status updates enable quick and easy system management Users can record their own names for different system components and leave voice messages for others when arming or disarming. When a Net\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nInterlogix NetworX Touch Screen Keypad, 3.5 Color Touch Screen, Icon-based Graphic Interface, Built-in Message Board, NetworX System Compatibility, Capability, Modern Design\nInterlogix NetworX Touch Screen Keypad, 3.5 Color Touch Screen, Icon-based Graphic Interface, Built-in Message Board, NetworX System Compatibility, Capability, Modern Design Ideal for almost any size application, the NetworX Touch Screen Keypad offers powerful yet simple control of any NetworX security system. An intuitive interface, 3.5 touch screen and Quick Keys for rapid system arming and status updates enable quick and easy system management Users can record their own names for different system components and leave voice messages for others when arming or disarming. When a Net\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nLFA Industries - mm Capacity, 33 Jacobs Taper Mount Plain Bearing Precision Crafted Heavy Duty All Steel, Keyed Drill Chuck with T5\/k32 Chuck Key Included\nLFA Industries Plain Bearing Precision Crafted Heavy Duty All Steel, Keyed Drill Chuck with T5\/k32 Chuck Key Included, mm Capacity, 33 Jacobs Taper Mount. LFA Industries Plain Bearing Precision Crafted Heavy Duty Keyed Drill Chuck All Steel, Keyed Drill Chuck with Key Included LFA Industries mm Capacity, 33 Jacobs Taper Mount Manufactured To Last-For Quality and Excellence-Chucknology Made in France over 85 Years Manufacturer LFA Industries, Part Weight 2 pounds, Dimensions 2.88 x 1.67 x 2.88 inches, Country of Origin France\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nLFA Industries - mm Capacity, 33 Jacobs Taper Mount Plain Bearing Precision Crafted Heavy Duty All Steel, Keyed Drill Chuck with T5\/k32 Chuck Key Included\nLFA Industries Plain Bearing Precision Crafted Heavy Duty All Steel, Keyed Drill Chuck with T5\/k32 Chuck Key Included, mm Capacity, 33 Jacobs Taper Mount. LFA Industries Plain Bearing Precision Crafted Heavy Duty Keyed Drill Chuck All Steel, Keyed Drill Chuck with Key Included LFA Industries mm Capacity, 33 Jacobs Taper Mount Manufactured To Last-For Quality and Excellence-Chucknology Made in France over 85 Years Manufacturer LFA Industries, Part Weight 2 pounds, Dimensions 2.88 x 1.67 x 2.88 inches, Country of Origin France\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nViking Horns 3 Gallon Air Tank and 200 PSI Air Compressor Kit, for Train Air Horn\nNew 3 gallon (12 liter) Air Tank & 200 PSI H.D Air Compressor Kit. For high pressure air horns systems that require an on-board air system. Air tank made from heavy gauge steel for outdoor use. Compact design and weight. Comes as a kit, ready to install, with 240 psi Air Gauge, 200 psi Air Pressure Switch, Compression Fittings for 1\/4 O.D air hose, air pressure release safety valve. Comes with a 200 PSI Heavy Duty Air Compressor with a 1\/4 inch NPT braided air hose, and Mounting Hardware. Both, Air Tank & Compressor Kit come complete ready for installation\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nViking Horns 3 Gallon Air Tank and 200 PSI Air Compressor Kit, for Train Air Horn\nNew 3 gallon (12 liter) Air Tank & 200 PSI H.D Air Compressor Kit. For high pressure air horns systems that require an on-board air system. Air tank made from heavy gauge steel for outdoor use. Compact design and weight. Comes as a kit, ready to install, with 240 psi Air Gauge, 200 psi Air Pressure Switch, Compression Fittings for 1\/4 O.D air hose, air pressure release safety valve. Comes with a 200 PSI Heavy Duty Air Compressor with a 1\/4 inch NPT braided air hose, and Mounting Hardware. Both, Air Tank & Compressor Kit come complete ready for installation\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nDearsun Twinkle Star Color Night Light Plush Pillows Light up Night Stuffed Toys Perfect for Birthday (Orange)\n% Polyester Polyester 100% Polyester Size 13.8 x 3.1 x 13.8 inch This is a good plush pillow to show your kids that what is a star and how to shine. Turn on the press on Star and the light will turn off in 15 minutes automatically. The star has multiple colors when lighted. Fill Material Polyester, Color Orange, Size 1 Count (Pack of 1), Brand DearSun, Shape Novelty, Special Feature Protable, Cover Material Polyester, Pattern Star, Age Range (Description) Child, s 3, Dimensions 13.8\\ L x 13.8\\ W, Care Instructions\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nDearsun Twinkle Star Color Night Light Plush Pillows Light up Night Stuffed Toys Perfect for Birthday (Orange)\n% Polyester Polyester 100% Polyester Size 13.8 x 3.1 x 13.8 inch This is a good plush pillow to show your kids that what is a star and how to shine. Turn on the press on Star and the light will turn off in 15 minutes automatically. The star has multiple colors when lighted. Fill Material Polyester, Color Orange, Size 1 Count (Pack of 1), Brand DearSun, Shape Novelty, Special Feature Protable, Cover Material Polyester, Pattern Star, Age Range (Description) Child, s 3, Dimensions 13.8\\ L x 13.8\\ W, Care Instructions\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nMyCableMart 3.5mm Plug\/Jack, 4 Conductor TRRS, Self Solder, Male\nConnects stereo audio & microphone devices requiring 4 conductors (left and right audio and microphone plus ground). This connector MAY also be suitable for left\/right audio 1 video (composite) and ground. Great for making your own 3.5mm 4 conductor Cables or for repairing existing cables. Wire terminals are attached using solder (not included).Features 3.5mm 4 conductor (3 band) plug 3.5mm 4 conductor (3 band) plug Nickel Plated Nickel Plated Strain relief Strain relief Outer Dimensions (at PVC outer molding) Outer Dimensions (at PVC outer molding) Outer Dimensions (with PVC outer molding\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nMyCableMart 3.5mm Plug\/Jack, 4 Conductor TRRS, Self Solder, Male\nConnects stereo audio & microphone devices requiring 4 conductors (left and right audio and microphone plus ground). This connector MAY also be suitable for left\/right audio 1 video (composite) and ground. Great for making your own 3.5mm 4 conductor Cables or for repairing existing cables. Wire terminals are attached using solder (not included).Features 3.5mm 4 conductor (3 band) plug 3.5mm 4 conductor (3 band) plug Nickel Plated Nickel Plated Strain relief Strain relief Outer Dimensions (at PVC outer molding) Outer Dimensions (at PVC outer molding) Outer Dimensions (with PVC outer molding\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nBarbie Top Model Doll\nAmazon.com.caption font-family Verdana, Helvetica neue, Arial, serif; font-size 10px; font-weight bold; font-style italic; ul.indent list-style inside disc; text-indent -15px; Barbie is ready to hit the runway and show off the latest global fashions as a top model. While we all know Barbie\u2019s occupational curiosity has led her down varied paths, this one is perfect for the slender fashionista. She comes wearing a trendy outfit of fishnet stockings, a tiered black miniskirt, a patterned top with a short sleeve shrug, and ankle boots. Her long blond hair is styled sleekly straight and she is carrying an animal print handbag. While this outfit is certainly catwalk worthy, it\u2019s only\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nBarbie Top Model Doll\nAmazon.com.caption font-family Verdana, Helvetica neue, Arial, serif; font-size 10px; font-weight bold; font-style italic; ul.indent list-style inside disc; text-indent -15px; Barbie is ready to hit the runway and show off the latest global fashions as a top model. While we all know Barbie\u2019s occupational curiosity has led her down varied paths, this one is perfect for the slender fashionista. She comes wearing a trendy outfit of fishnet stockings, a tiered black miniskirt, a patterned top with a short sleeve shrug, and ankle boots. Her long blond hair is styled sleekly straight and she is carrying an animal print handbag. While this outfit is certainly catwalk worthy, it\u2019s only\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nDell XPS Desktop ( Intel Core i7 4790 (3.6 GHz), 8GB, 1TB HDD,Windows 10 Home Black\nProduct description Bring your multimedia to life with Dell XPS desktop PCs offering powerful processors, superb graphics performance and lots of storage space. Amazon.com Processor 4th Generation Intel Core processor (8M Cache, up to 4.00 GHz) OS Windows 7 Professional, English Graphics Card NVIDIA GeForce GTX 750Ti 2GB DDR5 Memory 32GB Dual Channel DDR3 - 4 DIMMs Hard Drive 1TB 7200 RPM SATA Hard Drive 6.0 Gb\/s + 256GB SSD Processor 3.6 GHz RAM 8 GB DDR5, Memory Speed 1600 MHz,\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nDell XPS Desktop ( Intel Core i7 4790 (3.6 GHz), 8GB, 1TB HDD,Windows 10 Home Black\nProduct description Bring your multimedia to life with Dell XPS desktop PCs offering powerful processors, superb graphics performance and lots of storage space. Amazon.com Processor 4th Generation Intel Core processor (8M Cache, up to 4.00 GHz) OS Windows 7 Professional, English Graphics Card NVIDIA GeForce GTX 750Ti 2GB DDR5 Memory 32GB Dual Channel DDR3 - 4 DIMMs Hard Drive 1TB 7200 RPM SATA Hard Drive 6.0 Gb\/s + 256GB SSD Processor 3.6 GHz RAM 8 GB DDR5, Memory Speed 1600 MHz,\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nCorsa 14333 Tip Kit (Ford Mustang GT)\nCORSA Performance Pro-Series tips are dual-walled stainless steel. The dual-wall is designed to protect against heat distortion and maintain visual appeal. Each tip is adorned with high-definition, precision laser engraving that provides unmatched detail. CORSA Performance tip kits are designed to fit directly to CORSA exhaust systems. Mustang GT 5.0L Fits Premium Package ONLY Requires Roush Quad Tip Rear Valance Modification Dual walled design protects against heat distortion CORSA Performance tip kits are designed to fit directly to CORSA exhaust systems Premium Stainless Steel Construction Manufacturer Corsa Performance, Brand Corsa, Weight 7 pounds, Dimensions 23 x 11 x 7 inches, model number 14333, Is Discontinued No, Manufacturer Part \n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nCorsa 14333 Tip Kit (Ford Mustang GT)\nCORSA Performance Pro-Series tips are dual-walled stainless steel. The dual-wall is designed to protect against heat distortion and maintain visual appeal. Each tip is adorned with high-definition, precision laser engraving that provides unmatched detail. CORSA Performance tip kits are designed to fit directly to CORSA exhaust systems. Mustang GT 5.0L Fits Premium Package ONLY Requires Roush Quad Tip Rear Valance Modification Dual walled design protects against heat distortion CORSA Performance tip kits are designed to fit directly to CORSA exhaust systems Premium Stainless Steel Construction Manufacturer Corsa Performance, Brand Corsa, Weight 7 pounds, Dimensions 23 x 11 x 7 inches, model number 14333, Is Discontinued No, Manufacturer Part \n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nBrand New 18 x 8.5 Replacement Wheel for Mercedes CLS500 CLS550 Rim 65371\nJWL\/VIA Certifed Product ISO 9001 Certifed Product Replication Manufacturer WheelerShip, Brand Wheelership, Model OEM Replacement (Aftermarket), Weight 32.3 Pounds, Exterior Silver, Manufacturer Part Construction Rim Diameter 18 Inches, Rim Width 8.5 Inches, Bolt Pattern ( Holes) 5, Bolt Pattern (Pitch Circle Diameter) 112 Millimeters, Offset 28 Millimeters, Available April 24, 2014, Size 18 inch, Exterior Finish Silver, Wheel Size 18 Inches, Pitch Circle Diameter 112 Millimeters, Rim Size 18 Inches, Diameter 18 Inches, Vehicle Service Type Passenger Car\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nBrand New 18 x 8.5 Replacement Wheel for Mercedes CLS500 CLS550 Rim 65371\nJWL\/VIA Certifed Product ISO 9001 Certifed Product Replication Manufacturer WheelerShip, Brand Wheelership, Model OEM Replacement (Aftermarket), Weight 32.3 Pounds, Exterior Silver, Manufacturer Part Construction Rim Diameter 18 Inches, Rim Width 8.5 Inches, Bolt Pattern ( Holes) 5, Bolt Pattern (Pitch Circle Diameter) 112 Millimeters, Offset 28 Millimeters, Available April 24, 2014, Size 18 inch, Exterior Finish Silver, Wheel Size 18 Inches, Pitch Circle Diameter 112 Millimeters, Rim Size 18 Inches, Diameter 18 Inches, Vehicle Service Type Passenger Car\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\n2 Pack Outdoor Brochure Holder Advertising Pamphlet Display Box with Lid Wall Mount Flyer Holder Acrylic Envelope Holder Waterproof Outdoor Brochure Box for Store Literature Display (Clear)\nFeatures Fit for various occasions Our realtor flyer holders are ideal for literature, real estate advertisements, flyers, paper, letters, tickets, signature papers, etc., suitable for plenty of occasions indoor and outdoor, such as home, office, shopping malls, real estate companies, food stores, public places, business occasions, banks and so on. Warm to share These outdoor brochure boxes can also be applied as gifts for family members, friends, relatives, coworkers, neighbors, and other people you care about, so you can send them to show your love and concern, and to strengthen your relationships. Specifications Material acrylic Color clear Size\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\n2 Pack Outdoor Brochure Holder Advertising Pamphlet Display Box with Lid Wall Mount Flyer Holder Acrylic Envelope Holder Waterproof Outdoor Brochure Box for Store Literature Display (Clear)\nFeatures Fit for various occasions Our realtor flyer holders are ideal for literature, real estate advertisements, flyers, paper, letters, tickets, signature papers, etc., suitable for plenty of occasions indoor and outdoor, such as home, office, shopping malls, real estate companies, food stores, public places, business occasions, banks and so on. Warm to share These outdoor brochure boxes can also be applied as gifts for family members, friends, relatives, coworkers, neighbors, and other people you care about, so you can send them to show your love and concern, and to strengthen your relationships. Specifications Material acrylic Color clear Size\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nOlympus E-20 5MP Digital Camera w\/ 4x Optical Zoom\nProduct description 5.2 megapixel sensor creates 2,560 x 1,920 images for prints at 11 x 14 and beyond 4x optical zoom lens with autofocus Included 32 MB SmartMedia card holds 7 images at default resolution Compatible with SmartMedia and Type I and II CompactFlash Uses Amazon.com You'd be hard-pressed to find a digital camera that captures better images than those from the Olympus E-20N. The camera pairs a sensor with a high-quality custom-designed 4x zoom lens for photos with clarity that rivals film. First, a note about naming conventions this camera is also known as the E-20 and the E-20P. The N\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nOlympus E-20 5MP Digital Camera w\/ 4x Optical Zoom\nProduct description 5.2 megapixel sensor creates 2,560 x 1,920 images for prints at 11 x 14 and beyond 4x optical zoom lens with autofocus Included 32 MB SmartMedia card holds 7 images at default resolution Compatible with SmartMedia and Type I and II CompactFlash Uses Amazon.com You'd be hard-pressed to find a digital camera that captures better images than those from the Olympus E-20N. The camera pairs a sensor with a high-quality custom-designed 4x zoom lens for photos with clarity that rivals film. First, a note about naming conventions this camera is also known as the E-20 and the E-20P. The N\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nSangean K-200 Multi-Function Upright AM\/FM Digital Radio (Pink)\nProduct Description The K-200 from SANGEAN brings sleekness and uniqueness into a multi-media entertainment unit including the features from traditional alarm clock. The versatile and unique omni-directional speaker design fills your work place with high-performance sound quality that plays your music with crystal clear digital sound and deep bass for more powerful overall sound. The eye-catching night light with 8 brightness settings definitely gives a little brightness to your counter. From the Manufacturer Sangean's new sleek and unique K-200 AM \/ FM-RBDS Digital Tuning Kitchen Radio brings a multi-media entertainment center to your kitchen combines the features of a traditional alarm clock. The versatile and unique omni-directional speaker design fills your\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nSangean K-200 Multi-Function Upright AM\/FM Digital Radio (Pink)\nProduct Description The K-200 from SANGEAN brings sleekness and uniqueness into a multi-media entertainment unit including the features from traditional alarm clock. The versatile and unique omni-directional speaker design fills your work place with high-performance sound quality that plays your music with crystal clear digital sound and deep bass for more powerful overall sound. The eye-catching night light with 8 brightness settings definitely gives a little brightness to your counter. From the Manufacturer Sangean's new sleek and unique K-200 AM \/ FM-RBDS Digital Tuning Kitchen Radio brings a multi-media entertainment center to your kitchen combines the features of a traditional alarm clock. The versatile and unique omni-directional speaker design fills your\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nGreen EPX Mixing Nozzles 3M 50ml Duo-Pak Adhesive Cartridges (Longer 4.5in, 1 1 & 2 1 ratios)\nThis is a of our Atlas Professional Green Screw-On Mixing Nozzles for the New 3M 1 1 and 2 1 ratio 50ml Duo-Pack Cartridge Design (also called a B-System design with a large gray screw-off cap). These are the longer mixing nozzles, which are preferred for most Urethane and many Epoxy adhesives that require more mixing elements to properly mix. They are also in the high-efficiency quadro style, which reduces wasted material by about 50% vs traditional helix nozzles. They reduce wasted\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nGreen EPX Mixing Nozzles 3M 50ml Duo-Pak Adhesive Cartridges (Longer 4.5in, 1 1 & 2 1 ratios)\nThis is a of our Atlas Professional Green Screw-On Mixing Nozzles for the New 3M 1 1 and 2 1 ratio 50ml Duo-Pack Cartridge Design (also called a B-System design with a large gray screw-off cap). These are the longer mixing nozzles, which are preferred for most Urethane and many Epoxy adhesives that require more mixing elements to properly mix. They are also in the high-efficiency quadro style, which reduces wasted material by about 50% vs traditional helix nozzles. They reduce wasted\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nWAFJAMF Roller Stamp Identity Theft Stamp Perfect for Privacy Protection(Blue)\nIDENTITY THEFT PROTECTION SOLUTION Paper can be recycled after using roller stamp, no need for a shredder. WIDE COVERAGE DESIGN The 1.26 inches wide roller is perfect for covering large swaths of private information in a quick and clean way. SAVE TIME Ink quickly dries. Stamp works well on all regular paper, envelopes and package addresses. One swipe and the info is covered, no need to go for a shredder. UNIQUE DESIGN FOR PRIVACY PROTECTION Compact design with CONFIDENTIAL letters, specially designed to obscure the text underneath it. Total length of stamp coverage can reach 50 meters. Dimensions 2.72 x 1.89 x 1.38 inches, Weight\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nWAFJAMF Roller Stamp Identity Theft Stamp Perfect for Privacy Protection(Blue)\nIDENTITY THEFT PROTECTION SOLUTION Paper can be recycled after using roller stamp, no need for a shredder. WIDE COVERAGE DESIGN The 1.26 inches wide roller is perfect for covering large swaths of private information in a quick and clean way. SAVE TIME Ink quickly dries. Stamp works well on all regular paper, envelopes and package addresses. One swipe and the info is covered, no need to go for a shredder. UNIQUE DESIGN FOR PRIVACY PROTECTION Compact design with CONFIDENTIAL letters, specially designed to obscure the text underneath it. Total length of stamp coverage can reach 50 meters. Dimensions 2.72 x 1.89 x 1.38 inches, Weight\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nOther Harmonica A)\nFor the sound of yesterday from the technology of today, The new Suzuki 2 timers are sure to bring back memories. 2 timers have a traditional sound quality made possible by a dual hole octave\/tremolo tuning action, Excellent for folk and country style playing. Laser tuned reeds are extra lightweight to give that special harmonica octave effect. Available in 21 and 24 note Models, Includes a soft lined hard Shell Case. Available in the keys of C & a. Excellent for folk and country style playing Package Dimensions 3.302 H x 18.541 L x 5.588 W (centimetres) Package Weight 0.349 pounds Country of Origin Japan Weight 4 Ounces, Dimensions 6 x 3 x 1 inches\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nOther Harmonica A)\nFor the sound of yesterday from the technology of today, The new Suzuki 2 timers are sure to bring back memories. 2 timers have a traditional sound quality made possible by a dual hole octave\/tremolo tuning action, Excellent for folk and country style playing. Laser tuned reeds are extra lightweight to give that special harmonica octave effect. Available in 21 and 24 note Models, Includes a soft lined hard Shell Case. Available in the keys of C & a. Excellent for folk and country style playing Package Dimensions 3.302 H x 18.541 L x 5.588 W (centimetres) Package Weight 0.349 pounds Country of Origin Japan Weight 4 Ounces, Dimensions 6 x 3 x 1 inches\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nROKINON 85mm F1.4 Auto Focus Full Frame Weather Sealed High Speed Telephoto Lens for Nikon F Mount\nDslr camera lens For Nikon F Mount full-frame & APS-C DSLR cameras Aperture range f\/1.4 to f\/16 Ultra multi-coated Optics; weather-sealed Takes front filter size of 77mm Constructed of 9 elements in 7 groups Dimensions 2.9 x 3.2 x 3.2 inches, Weight 1.06 pounds, model number Rank SLR Camera Lenses 1944, Available April 18, 2019, Manufacturer Rokinon, Country of Origin Korea, Republic of, Brand Rokinon, Focal Length Description 85mm, Lens Type Telephoto\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nROKINON 85mm F1.4 Auto Focus Full Frame Weather Sealed High Speed Telephoto Lens for Nikon F Mount\nDslr camera lens For Nikon F Mount full-frame & APS-C DSLR cameras Aperture range f\/1.4 to f\/16 Ultra multi-coated Optics; weather-sealed Takes front filter size of 77mm Constructed of 9 elements in 7 groups Dimensions 2.9 x 3.2 x 3.2 inches, Weight 1.06 pounds, model number Rank SLR Camera Lenses 1944, Available April 18, 2019, Manufacturer Rokinon, Country of Origin Korea, Republic of, Brand Rokinon, Focal Length Description 85mm, Lens Type Telephoto\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nCamplux 2.64 GPM Tankless, Outdoor Portable Gas Water Heater with Overheating Protection, Instant Propane Hot Water Heater for RV, Camping, Cabins, Barns, White\n\ud835\udc02\ud835\udc28\ud835\udc26\ud835\udc29\ud835\udc1a\ud835\udc1c\ud835\udc2d, \ud835\udc0b\ud835\udc22\ud835\udc20\ud835\udc21\ud835\udc2d \ud835\udc16\ud835\udc1e\ud835\udc22\ud835\udc20\ud835\udc21\ud835\udc2d \ud835\udc0f\ud835\udc28\ud835\udc2b\ud835\udc2d\ud835\udc1a\ud835\udc1b\ud835\udc25\ud835\udc1e \ud835\udc03\ud835\udc1e\ud835\udc2c\ud835\udc22\ud835\udc20\ud835\udc27 - 12.8 inches, lbs. Compact and portable design perfect for barns, cabins, outdoor instant\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nCamplux 2.64 GPM Tankless, Outdoor Portable Gas Water Heater with Overheating Protection, Instant Propane Hot Water Heater for RV, Camping, Cabins, Barns, White\n\ud835\udc02\ud835\udc28\ud835\udc26\ud835\udc29\ud835\udc1a\ud835\udc1c\ud835\udc2d, \ud835\udc0b\ud835\udc22\ud835\udc20\ud835\udc21\ud835\udc2d \ud835\udc16\ud835\udc1e\ud835\udc22\ud835\udc20\ud835\udc21\ud835\udc2d \ud835\udc0f\ud835\udc28\ud835\udc2b\ud835\udc2d\ud835\udc1a\ud835\udc1b\ud835\udc25\ud835\udc1e \ud835\udc03\ud835\udc1e\ud835\udc2c\ud835\udc22\ud835\udc20\ud835\udc27 - 12.8 inches, lbs. Compact and portable design perfect for barns, cabins, outdoor instant\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nHeadlight Headlamp LH Left & RH Right Pair Set for Toyota Prius\nFor 10-11 Toyota Prius Headlight Headlamp Halogen LH & RH Pair Driver & Passenger Set DETAIL Assembly Type Composite Lens Color Clear Ballast Included No Manufacturer Part Number Mounting Hardware Included No Bulb Size Same as factory Bulb Type Halogen OE Number Bulbs Included No Certifications DOT,SAE Placement on Vehicle Left, Right Fitment Type Direct Replacement Headlight Style Factory Housing Color Chrome (Crystal) Fits Prius Headlight \u00b7 100% brand new and high quality \u00b7 Fits both LH (Driver Side) & RH (Passenger Side) \u00b7 Replaces dealer part numbers \u00b7 Correct for models with Halogen Style Headlights \u00b7 Do NOT fit models with HID (High Intensity Discharge\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nHeadlight Headlamp LH Left & RH Right Pair Set for Toyota Prius\nFor 10-11 Toyota Prius Headlight Headlamp Halogen LH & RH Pair Driver & Passenger Set DETAIL Assembly Type Composite Lens Color Clear Ballast Included No Manufacturer Part Number Mounting Hardware Included No Bulb Size Same as factory Bulb Type Halogen OE Number Bulbs Included No Certifications DOT,SAE Placement on Vehicle Left, Right Fitment Type Direct Replacement Headlight Style Factory Housing Color Chrome (Crystal) Fits Prius Headlight \u00b7 100% brand new and high quality \u00b7 Fits both LH (Driver Side) & RH (Passenger Side) \u00b7 Replaces dealer part numbers \u00b7 Correct for models with Halogen Style Headlights \u00b7 Do NOT fit models with HID (High Intensity Discharge\n\nPrice is $"} +{"prompt":"How much does this cost to the nearest dollar?\n\nOlympus PEN E-PL9 Body Only with 3-Inch LCD (Pearl White)\nIntroducing the PEN E PL9. It has everything to produce images you\u2019ll be proud to share. There\u2019s nothing to learn; just pick it up and let the on screen guides and built in settings make every shot perfect. Thanks to the powerful image stabilization system, you\u2019ll easily shoot blur free stills and smooth 4K video, all handheld. With features like flip touchscreen, built in flash, Wi Fi and Bluetooth for easy sharing make the E PL9 your go to camera. 16 Megapixel live MOS sensor TruePic VIII Image Processor 3 180 Degree Flip down touch screen In body 3 axis image stabilization 4K video & still image capture from 4K\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nOlympus PEN E-PL9 Body Only with 3-Inch LCD (Pearl White)\nIntroducing the PEN E PL9. It has everything to produce images you\u2019ll be proud to share. There\u2019s nothing to learn; just pick it up and let the on screen guides and built in settings make every shot perfect. Thanks to the powerful image stabilization system, you\u2019ll easily shoot blur free stills and smooth 4K video, all handheld. With features like flip touchscreen, built in flash, Wi Fi and Bluetooth for easy sharing make the E PL9 your go to camera. 16 Megapixel live MOS sensor TruePic VIII Image Processor 3 180 Degree Flip down touch screen In body 3 axis image stabilization 4K video & still image capture from 4K\n\nPrice is $"} From d3594525494130c1371503dc26738e0e509c2d84 Mon Sep 17 00:00:00 2001 From: Bharat Puri Date: Sat, 25 Oct 2025 23:30:57 +0530 Subject: [PATCH 17/19] worked on simulation mode and concept of fine tunning --- .../bharat_puri/fine_tuned_simulation.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/week6/community-contributions/bharat_puri/fine_tuned_simulation.ipynb b/week6/community-contributions/bharat_puri/fine_tuned_simulation.ipynb index 6650f50..3770d6f 100644 --- a/week6/community-contributions/bharat_puri/fine_tuned_simulation.ipynb +++ b/week6/community-contributions/bharat_puri/fine_tuned_simulation.ipynb @@ -5,7 +5,7 @@ "id": "db8736a7-ed94-441c-9556-831fa57b5a10", "metadata": {}, "source": [ - "# The Product Pricer Fine-Tuning a Frontier Model (GPT-4 mini)\n", + "# The Product Pricer Fine-Tuning a Frontier Model - Similation (GPT-4 mini)\n", "\n", "Submitted By: Bharat Puri\n", "\n", From 418d8d4d0df46a9d1e392941991a4f2b1e19c11e Mon Sep 17 00:00:00 2001 From: Bharat Puri Date: Sat, 25 Oct 2025 23:32:19 +0530 Subject: [PATCH 18/19] remove test files --- .../bharat_puri/train.jsonl | 224 ------------------ .../bharat_puri/val.jsonl | 25 -- 2 files changed, 249 deletions(-) delete mode 100644 week6/community-contributions/bharat_puri/train.jsonl delete mode 100644 week6/community-contributions/bharat_puri/val.jsonl diff --git a/week6/community-contributions/bharat_puri/train.jsonl b/week6/community-contributions/bharat_puri/train.jsonl deleted file mode 100644 index 593c44a..0000000 --- a/week6/community-contributions/bharat_puri/train.jsonl +++ /dev/null @@ -1,224 +0,0 @@ -{"prompt":"How much does this cost to the nearest dollar?\n\nTORRO Leather Case Compatible with iPhone 14 \u2013 Genuine Leather Wallet Case\/Cover with Card Holder and Stand Function (Red)\nCOMPATIBILITY \u2013 The TORRO leather iPhone 14 case with card holder is designed and crafted exclusively for iPhone 14. The precision fit ensures full, unrestricted access to the screen, camera, buttons and charging port. GENUINE LEATHER - TORRO are a UK company specialising in luxury leather goods handcrafted from premium cowhide leather. The top-grain leather used is sourced from the finest tanneries in the US and undergoes minimal treatment in order to preserve the natural properties and appearance of TORRO luxurious leathers. SHOCKPROOF \u2013 The folio case features a unique TORRO durable TPU frame that has been formulated to aid shock absorption,\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nTORRO Leather Case Compatible with iPhone 14 \u2013 Genuine Leather Wallet Case\/Cover with Card Holder and Stand Function (Red)\nCOMPATIBILITY \u2013 The TORRO leather iPhone 14 case with card holder is designed and crafted exclusively for iPhone 14. The precision fit ensures full, unrestricted access to the screen, camera, buttons and charging port. GENUINE LEATHER - TORRO are a UK company specialising in luxury leather goods handcrafted from premium cowhide leather. The top-grain leather used is sourced from the finest tanneries in the US and undergoes minimal treatment in order to preserve the natural properties and appearance of TORRO luxurious leathers. SHOCKPROOF \u2013 The folio case features a unique TORRO durable TPU frame that has been formulated to aid shock absorption,\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nJeep Genuine Accessories Hood Lock\nHood lock rivits on using existing holes. Self codes to the ignition key. Same as standard in Europe, meets Thatchem requirements. When you select a genuine OEM part you can rely on the high quality and effectiveness of the product and brand without having to guess if the product will work in sequence with your vehicle. Protecting your investment is important and choosing the right parts can be challenging. Stick with what you know and choose a genuine OEM part. Fits Wrangler Hood lock secures underhood items from theft Rivits into existing holes and automatically codes itself to the vehicle ignition key during installation Same as the production hood lock for European markets Manufacturer Jeep, Brand Jeep, Model Weight 3.7 pounds, Dimensions 8.2 x 7.8\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nJeep Genuine Accessories Hood Lock\nHood lock rivits on using existing holes. Self codes to the ignition key. Same as standard in Europe, meets Thatchem requirements. When you select a genuine OEM part you can rely on the high quality and effectiveness of the product and brand without having to guess if the product will work in sequence with your vehicle. Protecting your investment is important and choosing the right parts can be challenging. Stick with what you know and choose a genuine OEM part. Fits Wrangler Hood lock secures underhood items from theft Rivits into existing holes and automatically codes itself to the vehicle ignition key during installation Same as the production hood lock for European markets Manufacturer Jeep, Brand Jeep, Model Weight 3.7 pounds, Dimensions 8.2 x 7.8\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nCURT 70110 Custom Tow Bar Base Plate Brackets for Dinghy Towing, Fits Select Jeep Wrangler JK\nCUSTOM FIT. This tow bar base plate is uniquely engineered to fit select years of the Jeep Wrangler JK. It bolts onto the frame, providing a reliable connection for flat towing (not compatible with universal tow bar) HIGHLY VERSATILE. Add versatile towing options to your vehicle with this class 1 trailer hitch. It provides a standard, square receiver hitch and comes with a ball mount with a ball hole to connect a small trailer SOLID STRENGTH. CURT towing base plates and tow bar brackets are constructed from high-strength steel and welded together with precision for dependable towing strength DOUBLE FINISH. This tow plate is finished in a tough shield of dual-co\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nCURT 70110 Custom Tow Bar Base Plate Brackets for Dinghy Towing, Fits Select Jeep Wrangler JK\nCUSTOM FIT. This tow bar base plate is uniquely engineered to fit select years of the Jeep Wrangler JK. It bolts onto the frame, providing a reliable connection for flat towing (not compatible with universal tow bar) HIGHLY VERSATILE. Add versatile towing options to your vehicle with this class 1 trailer hitch. It provides a standard, square receiver hitch and comes with a ball mount with a ball hole to connect a small trailer SOLID STRENGTH. CURT towing base plates and tow bar brackets are constructed from high-strength steel and welded together with precision for dependable towing strength DOUBLE FINISH. This tow plate is finished in a tough shield of dual-co\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nTCMT Passenger Backrest Sissy Bar & Luggage Rack Fits For Indian Scout Scout Sixty Scout ABS 2020 Scout 100th Anniversary Scout Sixty ABS\nAn Indian Scout passenger will ride with greater comfort and confidence with this Quick Release Passenger Sissy Bar. This sturdy backrest can be installed quickly and easily without tools once a set of Mounting Spools are installed on the Motorcycle. The Passenger Backrest locks securely onto the Mounting Spools and provides the passenger with strong, stable support and comfort. The backrest must be equipped with a Genuine Leather Backrest Pad. To add convenient cargo space, an accessory Chrome Backrest Luggage Rack can be added to the backrest. Fitment Fit For 2020 Scout 100th Anniversary Fit For Scout Sixty ABS Fit For\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nTCMT Passenger Backrest Sissy Bar & Luggage Rack Fits For Indian Scout Scout Sixty Scout ABS 2020 Scout 100th Anniversary Scout Sixty ABS\nAn Indian Scout passenger will ride with greater comfort and confidence with this Quick Release Passenger Sissy Bar. This sturdy backrest can be installed quickly and easily without tools once a set of Mounting Spools are installed on the Motorcycle. The Passenger Backrest locks securely onto the Mounting Spools and provides the passenger with strong, stable support and comfort. The backrest must be equipped with a Genuine Leather Backrest Pad. To add convenient cargo space, an accessory Chrome Backrest Luggage Rack can be added to the backrest. Fitment Fit For 2020 Scout 100th Anniversary Fit For Scout Sixty ABS Fit For\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nPatriot Exhaust 1-7\/8 Clippster Exhaust Header for Big Block Chevrolet 67-81, Silver Ceramic Hi-Temperature Coating\nClippster style headers are perfect for grafting modern uni-body front clip suspensions to street rods, muscle cars and trucks. Clippster headers use longer primaries than tight tucks, yet shorter than full length headers. Collectors exit toward the rear of the engine compartment providing excellent ground clearance on slammed applications as well as clearing steering and suspension components. Mid length or clippster headers provide improved ground clearance for popular muscle cars and street rods Durable tubing Comes complete with gaskets, header bolts and collector reducers Available in three finishes Silver Ceramic Hi-Temperature Coating Popular metallic ceramic coating Limited one year warranty Manufacturer Patriot Exhaust, Brand Patriot\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nPatriot Exhaust 1-7\/8 Clippster Exhaust Header for Big Block Chevrolet 67-81, Silver Ceramic Hi-Temperature Coating\nClippster style headers are perfect for grafting modern uni-body front clip suspensions to street rods, muscle cars and trucks. Clippster headers use longer primaries than tight tucks, yet shorter than full length headers. Collectors exit toward the rear of the engine compartment providing excellent ground clearance on slammed applications as well as clearing steering and suspension components. Mid length or clippster headers provide improved ground clearance for popular muscle cars and street rods Durable tubing Comes complete with gaskets, header bolts and collector reducers Available in three finishes Silver Ceramic Hi-Temperature Coating Popular metallic ceramic coating Limited one year warranty Manufacturer Patriot Exhaust, Brand Patriot\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nOtterBox + Pop Symmetry Series Case for iPhone 11 Pro (ONLY) - Retail Packaging - White Marble\nOtterBox + Pop Symmetry Series Case for iPhone 11 Pro (ONLY) - Retail Packaging - White Marble Compatible with iPhone 11 Pro Thin one-piece case with durable protection against drops, bumps and fumbles that is also compatible with Qi wireless charging PopSockets PopGrip is integrated into case to help with holding, texting, snapping better pictures and hand-free viewing PopTop designs are easy to switch out \u2014 just close flat, press down and turn to swap the PopTop. Includes OtterBox limited lifetime warranty (see website for details) and 100% authentic Dimensions 7.8 x 4.29 x 1.06 inches, Weight 3\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nOtterBox + Pop Symmetry Series Case for iPhone 11 Pro (ONLY) - Retail Packaging - White Marble\nOtterBox + Pop Symmetry Series Case for iPhone 11 Pro (ONLY) - Retail Packaging - White Marble Compatible with iPhone 11 Pro Thin one-piece case with durable protection against drops, bumps and fumbles that is also compatible with Qi wireless charging PopSockets PopGrip is integrated into case to help with holding, texting, snapping better pictures and hand-free viewing PopTop designs are easy to switch out \u2014 just close flat, press down and turn to swap the PopTop. Includes OtterBox limited lifetime warranty (see website for details) and 100% authentic Dimensions 7.8 x 4.29 x 1.06 inches, Weight 3\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nRichmond Auto Upholstery - 2012 Dodge Ram 3500 Laramie Crew-Cab - Driver Side Bottom Replacement Perforated Leather Seat Cover Dark Gray\nOur OEM replacement leather seat covers are guaranteed to match your vehicles interior! Richmond Auto Upholstery has been manufacturing automotive seat covers for over 30 years and only specializing in original factory replacement leather covers & much more! If you cannot find what you need for your Dodge Ram then please give us a call at (281) with your vehicles information!To ensure you receive the correct cover, please send us your VIN Number & TRIM (Interior Trim) Code during check out or email it to us after you have made your purchase. If we do not receive this information within 24 hours we will send an email requesting the information\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nRichmond Auto Upholstery - 2012 Dodge Ram 3500 Laramie Crew-Cab - Driver Side Bottom Replacement Perforated Leather Seat Cover Dark Gray\nOur OEM replacement leather seat covers are guaranteed to match your vehicles interior! Richmond Auto Upholstery has been manufacturing automotive seat covers for over 30 years and only specializing in original factory replacement leather covers & much more! If you cannot find what you need for your Dodge Ram then please give us a call at (281) with your vehicles information!To ensure you receive the correct cover, please send us your VIN Number & TRIM (Interior Trim) Code during check out or email it to us after you have made your purchase. If we do not receive this information within 24 hours we will send an email requesting the information\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nGates TCK226 PowerGrip Premium Timing Belt Component Kit\nGates is the world's leading manufacturer of timing belts and Timing Component Kits. We designed our kits for virtually every vehicle make and model so technicians can conduct complete system replacements and streamline parts sourcing. As the Original Equipment Manufacturer (OEM) for vehicle manufacturers globally, our Timing Component Kits are OE-equivalent or better in service life, quality, and performance. Total solution for any application TCK includes belts, idler(s), tensioners, tensioner springs, supporting hardware, detailed installation instructions and Technical Service Bulletins for troublesome applications Popular kits covering domestic and import (European and Asian) vehicle applications Designed for convenience, easy parts sourcing and reduced customer comebacks Manufacturer Gates, Brand Gates, Model PowerGrip Premium Timing Belt Component\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nGates TCK226 PowerGrip Premium Timing Belt Component Kit\nGates is the world's leading manufacturer of timing belts and Timing Component Kits. We designed our kits for virtually every vehicle make and model so technicians can conduct complete system replacements and streamline parts sourcing. As the Original Equipment Manufacturer (OEM) for vehicle manufacturers globally, our Timing Component Kits are OE-equivalent or better in service life, quality, and performance. Total solution for any application TCK includes belts, idler(s), tensioners, tensioner springs, supporting hardware, detailed installation instructions and Technical Service Bulletins for troublesome applications Popular kits covering domestic and import (European and Asian) vehicle applications Designed for convenience, easy parts sourcing and reduced customer comebacks Manufacturer Gates, Brand Gates, Model PowerGrip Premium Timing Belt Component\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nGAOMON PD2200 Pen Display & 20 Pen Nibs 8192 Tilt-Support Full-Laminated Graphics Drawing Monitor Tablet for Digital Drawing\/Animation\/Online Teaching and Meeting\nGAOMON PD2200 PEN DISPLAY + 20 PEN NIBS FOR ONLINE EDUCATION & MEETING You can use PD2200 pen monitor for online education and remote meeting. It works with most online meeting programs, like Zoom, and so on. FOR DIGITAL ART & CREATION -- It's not only for amatuer but also for professionalists for digital drawing, sketching, graphics design, 3D art work, animation, etc. FOR ANNOTATING AND SIGNATURE --It is also broadly used in annotating and signing files WITH AG-FILM PRE-APPLIED\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nGAOMON PD2200 Pen Display & 20 Pen Nibs 8192 Tilt-Support Full-Laminated Graphics Drawing Monitor Tablet for Digital Drawing\/Animation\/Online Teaching and Meeting\nGAOMON PD2200 PEN DISPLAY + 20 PEN NIBS FOR ONLINE EDUCATION & MEETING You can use PD2200 pen monitor for online education and remote meeting. It works with most online meeting programs, like Zoom, and so on. FOR DIGITAL ART & CREATION -- It's not only for amatuer but also for professionalists for digital drawing, sketching, graphics design, 3D art work, animation, etc. FOR ANNOTATING AND SIGNATURE --It is also broadly used in annotating and signing files WITH AG-FILM PRE-APPLIED\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nCapulina Tiffany Floor Lamp 16 Wide Stained Glass Dragonfly Antique Style Standing Reading Light for Living Room Bedroom\nSize and Weight lamp shade 16 inches wide and lamp post 63 inches Height;product total weight is 18lbs And the base heavy is 6.6lbs to ensure stability Real tiffany lamp shade lamp shade is handmade by skilled craftsmen,Each small piece of stained glass of the lampshade is spliced by copper foil method,never fade color,durable and beautiful Bulb Matching We can use Incandescent or CFL bulbs (bulbs are not included),different bulbs get different looking,recommanding to use Edison LED bulb. Decor living room bedroom When you light bulb up,tiffany lamp shade eallows the light to filter in but also softens the heat and\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nCapulina Tiffany Floor Lamp 16 Wide Stained Glass Dragonfly Antique Style Standing Reading Light for Living Room Bedroom\nSize and Weight lamp shade 16 inches wide and lamp post 63 inches Height;product total weight is 18lbs And the base heavy is 6.6lbs to ensure stability Real tiffany lamp shade lamp shade is handmade by skilled craftsmen,Each small piece of stained glass of the lampshade is spliced by copper foil method,never fade color,durable and beautiful Bulb Matching We can use Incandescent or CFL bulbs (bulbs are not included),different bulbs get different looking,recommanding to use Edison LED bulb. Decor living room bedroom When you light bulb up,tiffany lamp shade eallows the light to filter in but also softens the heat and\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nAcer Ultrabook, Intel Core 4GB Memory, 320GB HDD and 20GB SSD, Windows 8\nThe Acer Aspire S3 Ultrabook is catching lots of attention and now so will you with the Champagne color design. This ultra-thin 13.3 ultrabook is less than 3 lbs light and only 0.5 thin, yet it packs a powerful 2nd Gen Intel Core i3 Processor and is outfitted with Acer Green Instant On and Always Connect for instant response and continuous connectivity. The Acer Aspire S3 Ultrabook all the best new experiences in a ultra-aerodynamic design, transforming your mobile lifestyle! HD widescreen CineCrystal LED-backlit display. Screen Resolution 1366 x 768 Intel Core processor\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nAcer Ultrabook, Intel Core 4GB Memory, 320GB HDD and 20GB SSD, Windows 8\nThe Acer Aspire S3 Ultrabook is catching lots of attention and now so will you with the Champagne color design. This ultra-thin 13.3 ultrabook is less than 3 lbs light and only 0.5 thin, yet it packs a powerful 2nd Gen Intel Core i3 Processor and is outfitted with Acer Green Instant On and Always Connect for instant response and continuous connectivity. The Acer Aspire S3 Ultrabook all the best new experiences in a ultra-aerodynamic design, transforming your mobile lifestyle! HD widescreen CineCrystal LED-backlit display. Screen Resolution 1366 x 768 Intel Core processor\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\n3dRose LLC 8 x 8 x 0.25 Inches Bull Terrier on Zebra Pattern Mouse Pad\nBull Terrier On Zebra Mouse Pad is 8 x 8 x.25 and is made of heavy-duty recycled rubber. Matte finish image will not fade or peel. Machine washable using a mild detergent and air dry. Dimensions (in inches) 8 W x 8 H x 0.25 D Matte finish Soft to touch, will not crack or peel Clean with mild detergent Made of heavy-duty recycled rubber Manufacturer 3D Rose (Home Improvement), Brand Weight 4.9 ounces, Dimensions 8 x 0.25 x 8 inches, model number Shape Square, Material Type Rubber, s 1, Size 8\\ x \n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\n3dRose LLC 8 x 8 x 0.25 Inches Bull Terrier on Zebra Pattern Mouse Pad\nBull Terrier On Zebra Mouse Pad is 8 x 8 x.25 and is made of heavy-duty recycled rubber. Matte finish image will not fade or peel. Machine washable using a mild detergent and air dry. Dimensions (in inches) 8 W x 8 H x 0.25 D Matte finish Soft to touch, will not crack or peel Clean with mild detergent Made of heavy-duty recycled rubber Manufacturer 3D Rose (Home Improvement), Brand Weight 4.9 ounces, Dimensions 8 x 0.25 x 8 inches, model number Shape Square, Material Type Rubber, s 1, Size 8\\ x \n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nYANGHUAN Unstable Unicorns Adventure Card Game Toy Expansion Pack-Teen Board Game-Adult Strategy is Designed to add to The Base Unstable Unicorn Solitaire Expansion Pack\nProduct Description Product Name Card Game Single piece size 15 x 10.5 x 5cm Single piece weight 350g Expansion package parameters Single piece size Single product weight 105 grams Material coated paper Color Unstable Unicorns white frame, Unstable Unicorns black frame, NSFW extension, Legenda extension, Rainbow extension, Dragons extension, Uncut extension Ability training emotion, intellectual development, brain use, other ability training, interactive toys, parent-child communication, interest development Suitable age 14 years old and above Game type Unstable Unicorns is still a strategy game, it will destroy your\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nYANGHUAN Unstable Unicorns Adventure Card Game Toy Expansion Pack-Teen Board Game-Adult Strategy is Designed to add to The Base Unstable Unicorn Solitaire Expansion Pack\nProduct Description Product Name Card Game Single piece size 15 x 10.5 x 5cm Single piece weight 350g Expansion package parameters Single piece size Single product weight 105 grams Material coated paper Color Unstable Unicorns white frame, Unstable Unicorns black frame, NSFW extension, Legenda extension, Rainbow extension, Dragons extension, Uncut extension Ability training emotion, intellectual development, brain use, other ability training, interactive toys, parent-child communication, interest development Suitable age 14 years old and above Game type Unstable Unicorns is still a strategy game, it will destroy your\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nPlantronics Wired Headset, Black, 7 x 5.4 x 2.2 inches\nThe next generation of our most popular over-the-head monaural headset. Completely re-imagined for the demands of the modern customer service center and office. Features soft ear cushions for all-day wearing comfort, metal joints that deliver durability and reliability and a flexible mic with visual and tactile positioning guides for precise positioning and clearer conversations. Frequency response - up to 6,800 Hz Dimensions 7 x 5.4 x 2.2 inches, Weight 4.8 Ounces, Manufacturer PLANTRONICS, INC., model number Rank Computer Headsets 370, Is Discontinued No, Available October 30, 2014, Units 1.0 Count\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nPlantronics Wired Headset, Black, 7 x 5.4 x 2.2 inches\nThe next generation of our most popular over-the-head monaural headset. Completely re-imagined for the demands of the modern customer service center and office. Features soft ear cushions for all-day wearing comfort, metal joints that deliver durability and reliability and a flexible mic with visual and tactile positioning guides for precise positioning and clearer conversations. Frequency response - up to 6,800 Hz Dimensions 7 x 5.4 x 2.2 inches, Weight 4.8 Ounces, Manufacturer PLANTRONICS, INC., model number Rank Computer Headsets 370, Is Discontinued No, Available October 30, 2014, Units 1.0 Count\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nBrown 5-7\/8 X 8-1\/2 X 3\/16 Thick Heavy Duty Felt Sheets - 12 Pcs\nProtect your beautiful laminate, ceramic, vinyl or hardwood flooring as well as your precious furniture, with our Heavy Duty Felt Pads made of 100% polyester felt. These brown protector pads are designed to blend in with dark furniture to compliment your home decor. Simply peel and stick them to lamps, furniture and small appliances to protect tabletops, shelves, desks, floors and countertops. These can also be used to provide a cushioning layer between glass tabletops and pedestals or frames. Or place them on cabinet doors to reduce noise when they're closed. Trim them into the exact shape and size you need, and prevent scratches or damages anywhere\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nBrown 5-7\/8 X 8-1\/2 X 3\/16 Thick Heavy Duty Felt Sheets - 12 Pcs\nProtect your beautiful laminate, ceramic, vinyl or hardwood flooring as well as your precious furniture, with our Heavy Duty Felt Pads made of 100% polyester felt. These brown protector pads are designed to blend in with dark furniture to compliment your home decor. Simply peel and stick them to lamps, furniture and small appliances to protect tabletops, shelves, desks, floors and countertops. These can also be used to provide a cushioning layer between glass tabletops and pedestals or frames. Or place them on cabinet doors to reduce noise when they're closed. Trim them into the exact shape and size you need, and prevent scratches or damages anywhere\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nZCHAOZ 4 Lights Antique White Farmhouse Ceiling Light Fixture Flush Mount Chandelier Ceiling Lamp Modern Sputnik Light Fixtures Hanging for Dining Room Bedroom Living Room Kitchen Entryway Foyer\nLight Source & Dimmable White flush mount ceiling light is compatible with various types of 4 x E26 base bulbs(max 60w per blub), options include incandescent, led, halogen, Edison bulb, cfl, etc(Bulbs are Not Included). This hanging light fixtures is dimmable if working with dimmable bulbs and compatible dimmer switch(Not Included Also). Handmade Distressed White ZCHAOZ white ceiling light fixtures ceiling mount is made from high quality iron material in handmade white finish coating with a sturdy cylinder structure design in the center extending \n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nZCHAOZ 4 Lights Antique White Farmhouse Ceiling Light Fixture Flush Mount Chandelier Ceiling Lamp Modern Sputnik Light Fixtures Hanging for Dining Room Bedroom Living Room Kitchen Entryway Foyer\nLight Source & Dimmable White flush mount ceiling light is compatible with various types of 4 x E26 base bulbs(max 60w per blub), options include incandescent, led, halogen, Edison bulb, cfl, etc(Bulbs are Not Included). This hanging light fixtures is dimmable if working with dimmable bulbs and compatible dimmer switch(Not Included Also). Handmade Distressed White ZCHAOZ white ceiling light fixtures ceiling mount is made from high quality iron material in handmade white finish coating with a sturdy cylinder structure design in the center extending \n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nPelican Protector 1750 Long Case - Multi-Purpose Hard Case with Foam - Tripod, Camera Equipment, Sportsmans Rifle Case, Electronics Gear, and More (Black)\nSensitive equipment needs protection, and since 1976 the answer has been the Pelican Protector Case. These cases are designed rugged, and travel the harshest environments on earth. Against the extreme cold of the arctic or the heat of battle, Pelican cases have survived. Made in the USA, these tough cases are designed with an automatic purge valve, that equalizes air pressure, a watertight silicone O-ring lid, over-molded rubber handles and stainless steel hardware. PREMIUM HARD CASE In use with camera and film professionals, military, law enforcement, and hunters worldwide as a rifle case.\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nPelican Protector 1750 Long Case - Multi-Purpose Hard Case with Foam - Tripod, Camera Equipment, Sportsmans Rifle Case, Electronics Gear, and More (Black)\nSensitive equipment needs protection, and since 1976 the answer has been the Pelican Protector Case. These cases are designed rugged, and travel the harshest environments on earth. Against the extreme cold of the arctic or the heat of battle, Pelican cases have survived. Made in the USA, these tough cases are designed with an automatic purge valve, that equalizes air pressure, a watertight silicone O-ring lid, over-molded rubber handles and stainless steel hardware. PREMIUM HARD CASE In use with camera and film professionals, military, law enforcement, and hunters worldwide as a rifle case.\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nHairpin Table Legs 28 Heavy Duty Hairpin Legs, (Set for 4 ) Heavy Duty Table Legs (Black)\n\u2605Hairpin Table Legs Whether you\u2019re a professional carpenter or woodworking is your hobby, our metal furniture legs will give your project the support it needs! \u2605CREATE A CUSTOM UNIQUE GIFT - Using these hairpin legs to create a custom coffee table, end table, or night stand lets you put together a unique gift that will stand out above the rest. Your gift will be remembered, cherished, and used for years to come. \u2605Designed for Versatility With a sleek, mid-century modern look, our industrial table legs are ideal for desks, benches and any piece of furniture in between! Finished with the latest in powder coating technology, the legs are uniform and smooth to\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nHairpin Table Legs 28 Heavy Duty Hairpin Legs, (Set for 4 ) Heavy Duty Table Legs (Black)\n\u2605Hairpin Table Legs Whether you\u2019re a professional carpenter or woodworking is your hobby, our metal furniture legs will give your project the support it needs! \u2605CREATE A CUSTOM UNIQUE GIFT - Using these hairpin legs to create a custom coffee table, end table, or night stand lets you put together a unique gift that will stand out above the rest. Your gift will be remembered, cherished, and used for years to come. \u2605Designed for Versatility With a sleek, mid-century modern look, our industrial table legs are ideal for desks, benches and any piece of furniture in between! Finished with the latest in powder coating technology, the legs are uniform and smooth to\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nSAUTVS LED Headlight Assembly for Slingshot, Center Head Light Kit for Polaris Slingshot S GT R LE SL Modified Accessories, Replace OEM\nCompatible with Polaris Slingshot S SL SLR R LE (Please refer to the compatible list in description) Plug & Play, perfect and accurate replacement for the original headlight without any changing or modifying, replace OEM The design of internal protection mechanism makes it no flickering or failure; IP67 waterproof and scratch resistant materials prevent from dust, mud, snow or heavy rain leaking in; Strictly follow the quality and safety standards, working in all the weather conditions High quality LED beads are used, long service time and life span; Brighter and concentrated light source, ensuring your driving safety Package include 1 set LED headlight assembly\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nSAUTVS LED Headlight Assembly for Slingshot, Center Head Light Kit for Polaris Slingshot S GT R LE SL Modified Accessories, Replace OEM\nCompatible with Polaris Slingshot S SL SLR R LE (Please refer to the compatible list in description) Plug & Play, perfect and accurate replacement for the original headlight without any changing or modifying, replace OEM The design of internal protection mechanism makes it no flickering or failure; IP67 waterproof and scratch resistant materials prevent from dust, mud, snow or heavy rain leaking in; Strictly follow the quality and safety standards, working in all the weather conditions High quality LED beads are used, long service time and life span; Brighter and concentrated light source, ensuring your driving safety Package include 1 set LED headlight assembly\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nTascam Digital Portastudio Multi-Track Audio Recorder & Tascam RC3F 3-Way Footswitch\nTascam Digital Portastudio Multi-Track Audio RecorderTascam Digital Portastudio Multi-Track Audio RecordeTascam RC3F 3-Way FootswitchThe RC-3F is a 3-way footswitch for the GB-10, LR-10, DP-03 and other TASCAM recorders and players. The 1\/8 mini jack plugs into the remote jack of these TASCAM products to add features like play\/pause, looping or punch in. See the products' user manual for details. Product 1 Eighteen track faders and one master fader allows instant access to any track without selecting pages\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nTascam Digital Portastudio Multi-Track Audio Recorder & Tascam RC3F 3-Way Footswitch\nTascam Digital Portastudio Multi-Track Audio RecorderTascam Digital Portastudio Multi-Track Audio RecordeTascam RC3F 3-Way FootswitchThe RC-3F is a 3-way footswitch for the GB-10, LR-10, DP-03 and other TASCAM recorders and players. The 1\/8 mini jack plugs into the remote jack of these TASCAM products to add features like play\/pause, looping or punch in. See the products' user manual for details. Product 1 Eighteen track faders and one master fader allows instant access to any track without selecting pages\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nCharles Leonard Magnetic Lapboard Class Combo Pack, Includes 12 Each Plain\/Plain 9 x 12 Inch White Boards, 2-Inch Erasers, Black Dry Erase Markers\nClass pack provides an environmentally friendly way for children to learn. Dry-erase surface lets students write, wipe off and reuse with no waste. Classroom set includes magnetic lap boards that are dual-sided; dry-erase markers; and multipurpose erasers. ALL INCLUSIVE set has everything you need for the classroom! 12 Each Double Sided Magnetic Plain\/Plain 9x12 lap boards. Individual dry erase boards are large enough to work on for math problems, English language arts, Penmanship or for drawing. Just write and wipe, it\u2019s that easy SAFETY FIRST each set also includes 30\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nCharles Leonard Magnetic Lapboard Class Combo Pack, Includes 12 Each Plain\/Plain 9 x 12 Inch White Boards, 2-Inch Erasers, Black Dry Erase Markers\nClass pack provides an environmentally friendly way for children to learn. Dry-erase surface lets students write, wipe off and reuse with no waste. Classroom set includes magnetic lap boards that are dual-sided; dry-erase markers; and multipurpose erasers. ALL INCLUSIVE set has everything you need for the classroom! 12 Each Double Sided Magnetic Plain\/Plain 9x12 lap boards. Individual dry erase boards are large enough to work on for math problems, English language arts, Penmanship or for drawing. Just write and wipe, it\u2019s that easy SAFETY FIRST each set also includes 30\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nPHYNEDI 1 1000 World Trade Center Bricks Model Compatible with Lego, MOC DIY Creative Large Architecture Collection Challenge Building Toy, (4,870 Pieces)\nThe building instructions of this model are two PDF guides (Part 1 has 135 pages, Part 2 has 155 pages),. Part 1 also includes a four page introduction about the World Trade Center history and design. World Trade Center features Scale 1 in inches 13,2 x 10,7 (base area), 22,7 (height)Size in centimeters 33,6 x 27,2 (base area), 57,5 (height)Size in studs 42 x 34 (base area), 71,9 (height)Style ArchitectureYear 2022 Package\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nPHYNEDI 1 1000 World Trade Center Bricks Model Compatible with Lego, MOC DIY Creative Large Architecture Collection Challenge Building Toy, (4,870 Pieces)\nThe building instructions of this model are two PDF guides (Part 1 has 135 pages, Part 2 has 155 pages),. Part 1 also includes a four page introduction about the World Trade Center history and design. World Trade Center features Scale 1 in inches 13,2 x 10,7 (base area), 22,7 (height)Size in centimeters 33,6 x 27,2 (base area), 57,5 (height)Size in studs 42 x 34 (base area), 71,9 (height)Style ArchitectureYear 2022 Package\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nLilo And Stitch Deluxe Oversize Print Large 16 Backpack with Laptop Compartment - A19563 Multi-color\nSend them off with awesome top quality and durable Backpack by KBNL! Our backpacks and accessories feature today's popular characters and designs. KBNL backpacks are as practical as it is stylish and include the following features Durable polyester exterior, Full interior lining, dual side pockets, front organizer pocket for additional accessory storage, Padded and adjustable shoulder straps, padded interior pocket which protects up to a laptop, Fully padded back panel - KBNL products are made with top quality material and workmanship. Front organizer pocket for additional accessory storage Padded and adjustable shoulder straps, fully padded back panel, padded interior pocket which protects up to a laptop Dimensions 5 x 12 x\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nLilo And Stitch Deluxe Oversize Print Large 16 Backpack with Laptop Compartment - A19563 Multi-color\nSend them off with awesome top quality and durable Backpack by KBNL! Our backpacks and accessories feature today's popular characters and designs. KBNL backpacks are as practical as it is stylish and include the following features Durable polyester exterior, Full interior lining, dual side pockets, front organizer pocket for additional accessory storage, Padded and adjustable shoulder straps, padded interior pocket which protects up to a laptop, Fully padded back panel - KBNL products are made with top quality material and workmanship. Front organizer pocket for additional accessory storage Padded and adjustable shoulder straps, fully padded back panel, padded interior pocket which protects up to a laptop Dimensions 5 x 12 x\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\n3M Protecta Self Retracting Lifeline Rebel 6' (18M) Web Twin, Steel Rebar and Carabiner, Black\/Red\nOur Protecta personal self retracting lifelines (SRL\u2019s) represent a major improvement in economy line SRL\u2019s. Employers can economically replace simple lanyards with the versatility and added safety of a 6 ft. (1.8m) SRL. Protecta personal SRL\u2019s are ergonomically designed for ease of use and are ideal for direct connection to most harnesses. The compact and lightweight design is barely noticeable on your back and stays out of the worker\u2019s way. In addition, tension is always kept on the lifeline, which reduces dragging, snagging and trip falls. Whether your application requires\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\n3M Protecta Self Retracting Lifeline Rebel 6' (18M) Web Twin, Steel Rebar and Carabiner, Black\/Red\nOur Protecta personal self retracting lifelines (SRL\u2019s) represent a major improvement in economy line SRL\u2019s. Employers can economically replace simple lanyards with the versatility and added safety of a 6 ft. (1.8m) SRL. Protecta personal SRL\u2019s are ergonomically designed for ease of use and are ideal for direct connection to most harnesses. The compact and lightweight design is barely noticeable on your back and stays out of the worker\u2019s way. In addition, tension is always kept on the lifeline, which reduces dragging, snagging and trip falls. Whether your application requires\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nCANMORE H300 Handheld GPS Golf Device, Shot Distance Yardage Measuring, 40000+ Free Worldwide Preloaded Courses, Lightweight Golf Accessory for Golfers, Powerful Magnetic Clip for Golf Cart, Orange\nWORLDWIDE COURSE DATA - Free course data preloaded for over 40,000 (and counting) golf courses around the world (NO subscription fees) - Contact Canmore to add new courses or suggest fixes. ***Notice Golf courses may change layout over time, when detected, the device will display \u201cIncorrect Hole\u201d and require course update. Please visit the CANMORE website for updates and new course information. ESSENTIAL FUNCTIONS YOU NEED - Manage your game, not your golf assistant! GPS course finder switches hole automatically and gives you easy-to-access distance to green (\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nCANMORE H300 Handheld GPS Golf Device, Shot Distance Yardage Measuring, 40000+ Free Worldwide Preloaded Courses, Lightweight Golf Accessory for Golfers, Powerful Magnetic Clip for Golf Cart, Orange\nWORLDWIDE COURSE DATA - Free course data preloaded for over 40,000 (and counting) golf courses around the world (NO subscription fees) - Contact Canmore to add new courses or suggest fixes. ***Notice Golf courses may change layout over time, when detected, the device will display \u201cIncorrect Hole\u201d and require course update. Please visit the CANMORE website for updates and new course information. ESSENTIAL FUNCTIONS YOU NEED - Manage your game, not your golf assistant! GPS course finder switches hole automatically and gives you easy-to-access distance to green (\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nDodge Ram 1500 Mopar 4X4 Emblem -\nBRAND NEW AND MOPAR GENUINE 2007 2008 2009 2010 Dodge Ram 1500 2500 3500 4X4 Logo Emblem Decal Genuine MOPAR Part Number Oe Spec Or Performance\/Custom OE Spec, Manufacturer Warranty 2 Year, Modified Item No Manufacturer Part Number Model Ram 1500 2500 3500, Brand Compatible with Mopar Returns Accepted Returns Accepted, Non-Domestic Product No, Make Compatible with Dodge Fitment Type Direct Replacement, Model Year Manufacturer Mopar, Brand Mopar, Weight 1 pounds, Dimensions 6 x 6 x 6 inches, model number Manufacturer Part Position Rear, Available\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nDodge Ram 1500 Mopar 4X4 Emblem -\nBRAND NEW AND MOPAR GENUINE 2007 2008 2009 2010 Dodge Ram 1500 2500 3500 4X4 Logo Emblem Decal Genuine MOPAR Part Number Oe Spec Or Performance\/Custom OE Spec, Manufacturer Warranty 2 Year, Modified Item No Manufacturer Part Number Model Ram 1500 2500 3500, Brand Compatible with Mopar Returns Accepted Returns Accepted, Non-Domestic Product No, Make Compatible with Dodge Fitment Type Direct Replacement, Model Year Manufacturer Mopar, Brand Mopar, Weight 1 pounds, Dimensions 6 x 6 x 6 inches, model number Manufacturer Part Position Rear, Available\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nR&L Racing Heavy Duty Roll-Up Soft Tonneau Cover Compatible with 94-02 Dodge Ram Regular\/Club\/Quad Cab 6.5' 78 Bed\nR&L Racing Roll Up Tonneau Cover. Get effective bed protection, upgraded appearance, and even improved fuel economy, all at a budget price, with the R&L Racing Roll-Up Tonneau Cover. The vinyl cover will protect your truck bed and contents from the elements, and give your truck a smooth aerodynamic appearance that will even reduce drag for more miles per gallon. It features the quick and easy Clean-Seal closure system, lightweight aluminum rails and bows, and easy no-drill installation. Cargo in an unprotected pickup truck bed can become moisture damaged and corrode from exposure to rain and snow,\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nR&L Racing Heavy Duty Roll-Up Soft Tonneau Cover Compatible with 94-02 Dodge Ram Regular\/Club\/Quad Cab 6.5' 78 Bed\nR&L Racing Roll Up Tonneau Cover. Get effective bed protection, upgraded appearance, and even improved fuel economy, all at a budget price, with the R&L Racing Roll-Up Tonneau Cover. The vinyl cover will protect your truck bed and contents from the elements, and give your truck a smooth aerodynamic appearance that will even reduce drag for more miles per gallon. It features the quick and easy Clean-Seal closure system, lightweight aluminum rails and bows, and easy no-drill installation. Cargo in an unprotected pickup truck bed can become moisture damaged and corrode from exposure to rain and snow,\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nacer Aspire 5 Laptop, AMD Ryzen 3 5300U Quad-Core Processor, 15.6 FHD IPS Display, 8 GB DDR4 RAM, 512 GB PCIe SSD, HDMI, Fingerprint, Wi-Fi 6, Backlit Keyboard, Windows 11 Home S Mode\nProcessor AMD Ryzen 3 5300U 4-Core Processor (8 Threads, 4MB L3 Cache, Up to Graphics AMD Radeon Operating system Windows 11 Home English Memory 8 GB DDR5 SDRAM Hard Drive 512 GB PCIe Solid State Drive Optical Drive No Display 15.6 FHD (1920 x 1080) LED-backlit, IPS Wide Viewing Angle, Slim Bezel, 16 9 aspect ratio 1 x USB 2.0\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nacer Aspire 5 Laptop, AMD Ryzen 3 5300U Quad-Core Processor, 15.6 FHD IPS Display, 8 GB DDR4 RAM, 512 GB PCIe SSD, HDMI, Fingerprint, Wi-Fi 6, Backlit Keyboard, Windows 11 Home S Mode\nProcessor AMD Ryzen 3 5300U 4-Core Processor (8 Threads, 4MB L3 Cache, Up to Graphics AMD Radeon Operating system Windows 11 Home English Memory 8 GB DDR5 SDRAM Hard Drive 512 GB PCIe Solid State Drive Optical Drive No Display 15.6 FHD (1920 x 1080) LED-backlit, IPS Wide Viewing Angle, Slim Bezel, 16 9 aspect ratio 1 x USB 2.0\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nHoneywell Honeywell VisionPro Heat\/Cool Digital Thermostat, White\nThis Honeywell Digital Thermostat is the perfect upgrade to any home. Thermostat has RedLink Wireless Communication, Touch Screen and 7 day programmability. Stages up to 3 Heat \/ 2 Cool RedLINK wireless communication Precise temperature control (+\/- 1\u00b0 F) for reliable and consistent temperature Package weight of the Product 9.6 Ounces Brand Honeywell, Model Name Controller Type Android, Special Feature Programmable, Color White, Power Source Battery Powered, Weight 9.6 ounces, Voltage 24 Volts, Material Plastic, Shape Rectangular, Display Type 10 sq.in. LCD, Control Type Touch, s 1, Control Method Touch, Mounting Type Wall Mount,\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nHoneywell Honeywell VisionPro Heat\/Cool Digital Thermostat, White\nThis Honeywell Digital Thermostat is the perfect upgrade to any home. Thermostat has RedLink Wireless Communication, Touch Screen and 7 day programmability. Stages up to 3 Heat \/ 2 Cool RedLINK wireless communication Precise temperature control (+\/- 1\u00b0 F) for reliable and consistent temperature Package weight of the Product 9.6 Ounces Brand Honeywell, Model Name Controller Type Android, Special Feature Programmable, Color White, Power Source Battery Powered, Weight 9.6 ounces, Voltage 24 Volts, Material Plastic, Shape Rectangular, Display Type 10 sq.in. LCD, Control Type Touch, s 1, Control Method Touch, Mounting Type Wall Mount,\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nB&M 30287 Throttle Valve\/Kickdown Cable, Silver\/Black\nThis throttle valve \/ kickdown cable is adjustable, so it can accommodate most TH350 applications. It's handy as a straight replacement for an old OE model, and less expensive. If your project includes a transmission swap, you will appreciate the universal sizing during installation. Adjustable for a universal fit in 95% of all listed transmission applications Eases the installation process for transmission swaps Less expensive than OE models For use with TH350 transmissions Backed by the manufacturer with a 1 year limited warranty Brand B&M, Color Silver\/Black, Pieces 1, Special Feature Easy to Install, Included Components Screw, Weight 8 ounces, Unit Count 1.0 Count, s 1, Manufacturer B&M, model\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nB&M 30287 Throttle Valve\/Kickdown Cable, Silver\/Black\nThis throttle valve \/ kickdown cable is adjustable, so it can accommodate most TH350 applications. It's handy as a straight replacement for an old OE model, and less expensive. If your project includes a transmission swap, you will appreciate the universal sizing during installation. Adjustable for a universal fit in 95% of all listed transmission applications Eases the installation process for transmission swaps Less expensive than OE models For use with TH350 transmissions Backed by the manufacturer with a 1 year limited warranty Brand B&M, Color Silver\/Black, Pieces 1, Special Feature Easy to Install, Included Components Screw, Weight 8 ounces, Unit Count 1.0 Count, s 1, Manufacturer B&M, model\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nThe Ultimate Roadside Rescue Assistant\nThe Ultimate Roadside Rescue Assistant is the rechargeable power source, air compressor, emergency light and phone charger no driver should be without. It features a 140W inverter to power 110V household appliances, plus a car battery jump starter, 150 PSI air compressor and a 5 LED work light. Keep one in your home or vehicle for peace of mind. The Ultimate Roadside Rescue Assistant is the rechargeable power source, air compressor, emergency light and phone charger no driver should be without. It features a 140W inverter to power 110V household appliances, plus a car battery jump starter, 150 PSI air compressor and a 5 LED work light. Keep one in your home or vehicle for peace of mind. Manufacturer Rally Manufacturing\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nThe Ultimate Roadside Rescue Assistant\nThe Ultimate Roadside Rescue Assistant is the rechargeable power source, air compressor, emergency light and phone charger no driver should be without. It features a 140W inverter to power 110V household appliances, plus a car battery jump starter, 150 PSI air compressor and a 5 LED work light. Keep one in your home or vehicle for peace of mind. The Ultimate Roadside Rescue Assistant is the rechargeable power source, air compressor, emergency light and phone charger no driver should be without. It features a 140W inverter to power 110V household appliances, plus a car battery jump starter, 150 PSI air compressor and a 5 LED work light. Keep one in your home or vehicle for peace of mind. Manufacturer Rally Manufacturing\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nDanby Designer 20-In. Electric Range with Coil Elements and Ft. Oven Capacity in Stainless Steel\/Black\nYou dont need to be a world-class chef to enjoy cooking with this ultra-compact electric range by Danby Designer. Measuring only 20 inches wide, this stylish model is the ideal addition to trailers, cottages or efficiency apartments. It features a glass window on the oven door, plus angled front-mounted push and turn safety knobs with hot surface indicator lights. The lift-up porcelain cooktop has one 8-inch coil element for quick boiling and three 6-inch coil elements. Each element has a removable drip bowl for easy cleaning. The ft. electric oven has two oven racks with safety stops and four adjustable positions, plus a powerful broiler with 2400 watts of bro\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nDanby Designer 20-In. Electric Range with Coil Elements and Ft. Oven Capacity in Stainless Steel\/Black\nYou dont need to be a world-class chef to enjoy cooking with this ultra-compact electric range by Danby Designer. Measuring only 20 inches wide, this stylish model is the ideal addition to trailers, cottages or efficiency apartments. It features a glass window on the oven door, plus angled front-mounted push and turn safety knobs with hot surface indicator lights. The lift-up porcelain cooktop has one 8-inch coil element for quick boiling and three 6-inch coil elements. Each element has a removable drip bowl for easy cleaning. The ft. electric oven has two oven racks with safety stops and four adjustable positions, plus a powerful broiler with 2400 watts of bro\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nNikoMaku Mirror Dash Cam Front and Rear OEM Design Backup Camera for Cars 4K Resolution Type-C 11 Inch Full Touch Screen Rear View Mirror Camera 170\u00b0 Wide Angle Dual Cameras Waterproof AS5 Pro\n4K Resolution The AS5 Pro mirror dash cam delivers clear video with its 4K front camera and 1080P rear camera. Equipped with 170\u00b0 wide-angle front lenses, this camera can capture high-quality footage day or night. The mirror dash cam records in real-time and boasts an enhanced imaging system for superior image quality. With its 4K resolution, every detail on the road is vividly displayed. OEM Look Design The supplied bracket allows for a complete replacement of your existing rear-view mirror. Say goodbye to shaky footage while driving, as the bracket effectively\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nNikoMaku Mirror Dash Cam Front and Rear OEM Design Backup Camera for Cars 4K Resolution Type-C 11 Inch Full Touch Screen Rear View Mirror Camera 170\u00b0 Wide Angle Dual Cameras Waterproof AS5 Pro\n4K Resolution The AS5 Pro mirror dash cam delivers clear video with its 4K front camera and 1080P rear camera. Equipped with 170\u00b0 wide-angle front lenses, this camera can capture high-quality footage day or night. The mirror dash cam records in real-time and boasts an enhanced imaging system for superior image quality. With its 4K resolution, every detail on the road is vividly displayed. OEM Look Design The supplied bracket allows for a complete replacement of your existing rear-view mirror. Say goodbye to shaky footage while driving, as the bracket effectively\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nMickey Thompson ET Street S\/S Racing Radial Tire -\nA D.O.T. approved street tire which provides excellent traction at the strip. Proven polyester-ply, steel belted, tubeless radial construction provides strength & durability for excellent ride control on the street Proven R2 compound provides quick and consistent traction at the STRIP with little burnout required Minimal tread void for excellent dry traction, strategically placed to aid in hydroplane resistance 18 popular sizes for 15- to wheel diameters DO NOT USE ON DYNO Brand Mickey Thompson, Seasons Year Round, Size Section Width 275 Millimeters, Ply Rating Polyester, Tire Diameter 25.9 inches, Weight 30.95 Pounds, Manufacturer Mickey Thompson, Model ET Street S\/S, model number Is Discontinued No, Manufacturer\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nMickey Thompson ET Street S\/S Racing Radial Tire -\nA D.O.T. approved street tire which provides excellent traction at the strip. Proven polyester-ply, steel belted, tubeless radial construction provides strength & durability for excellent ride control on the street Proven R2 compound provides quick and consistent traction at the STRIP with little burnout required Minimal tread void for excellent dry traction, strategically placed to aid in hydroplane resistance 18 popular sizes for 15- to wheel diameters DO NOT USE ON DYNO Brand Mickey Thompson, Seasons Year Round, Size Section Width 275 Millimeters, Ply Rating Polyester, Tire Diameter 25.9 inches, Weight 30.95 Pounds, Manufacturer Mickey Thompson, Model ET Street S\/S, model number Is Discontinued No, Manufacturer\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nLearning Resources Coding Critters Ranger & Zip,22 Piece Set, Ages 4+, Screen-Free Early Coding Toy for Kids, Interactive STEM Coding Pet, Gifts for Boys and Girls,Back to School Gifts\nMeet the Coding critters your first coding friends. These playful puppy pets bring early STEM concepts to preschool learning through 100% screen-free coding. Kids code along with their new pets\u2019 storybook adventure, and help the brave Ranger and mischievous zip have a playtime they'll never forget. Each storybook coding challenge unfolds in the Coding critters' Fun pet playset - can you code Ranger to play hide and seek, fetch a ball from the tennis ball launcher, or catch zip after a ride down the slide? In addition to following along with the storybook's coding challenges,\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nLearning Resources Coding Critters Ranger & Zip,22 Piece Set, Ages 4+, Screen-Free Early Coding Toy for Kids, Interactive STEM Coding Pet, Gifts for Boys and Girls,Back to School Gifts\nMeet the Coding critters your first coding friends. These playful puppy pets bring early STEM concepts to preschool learning through 100% screen-free coding. Kids code along with their new pets\u2019 storybook adventure, and help the brave Ranger and mischievous zip have a playtime they'll never forget. Each storybook coding challenge unfolds in the Coding critters' Fun pet playset - can you code Ranger to play hide and seek, fetch a ball from the tennis ball launcher, or catch zip after a ride down the slide? In addition to following along with the storybook's coding challenges,\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nAIRAID Cold Air Intake System by K&N Increased Horsepower, Cotton Oil Filter Compatible with FORD (Excursion, F250 Super Duty, F350 Super Duty)\nINCREASES HORESPOWER AIRAID performance air intake systems feature an aerodynamically-engineered intake tube, designed to accelerate airflow to your engine and reduce turbulence\u2014helping increase your vehicle\u2019s performance SUPERIOR FILTRATION AIRAID performance intake systems are engineered to provide a smooth, unimpeded path for airflow to your engine\u2014keeping the air cooler and more oxygen-dense. Injecting more oxygen-rich air into the cylinders allows the engine to burn fuel more efficiently during combustion, offering you an increase in performance EASY INSTALL These simple-to-install, sophisticated systems help maintain proper air-to-fuel\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nAIRAID Cold Air Intake System by K&N Increased Horsepower, Cotton Oil Filter Compatible with FORD (Excursion, F250 Super Duty, F350 Super Duty)\nINCREASES HORESPOWER AIRAID performance air intake systems feature an aerodynamically-engineered intake tube, designed to accelerate airflow to your engine and reduce turbulence\u2014helping increase your vehicle\u2019s performance SUPERIOR FILTRATION AIRAID performance intake systems are engineered to provide a smooth, unimpeded path for airflow to your engine\u2014keeping the air cooler and more oxygen-dense. Injecting more oxygen-rich air into the cylinders allows the engine to burn fuel more efficiently during combustion, offering you an increase in performance EASY INSTALL These simple-to-install, sophisticated systems help maintain proper air-to-fuel\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nFenix HP25R v2.0 USB-C Rechargeable Headlamp Bundle with Backup Battery, 1600 Lumen Spotlight, 400 lumens Floodlight and Red Light with LumenTac Organizer\nHIGH-PERFORMANCE - The Fenix HP25R v2.0 headlamp emits up to 1600 lumen spotlight reaching 317 yards. You can also switch to a wide-angle floodlight, or an auxiliary red light to preserve the night vision. USB-C RECHARGEABLE - via its built-in charging port. Includes a high capacity battery. Runs up to 400 hours on the lowest mode. DESIGN FOR COMFORT -The HP25R v2.0 keeps the battery compartment in the rear to maintain a balanced weight. Also comes with cable clips\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nFenix HP25R v2.0 USB-C Rechargeable Headlamp Bundle with Backup Battery, 1600 Lumen Spotlight, 400 lumens Floodlight and Red Light with LumenTac Organizer\nHIGH-PERFORMANCE - The Fenix HP25R v2.0 headlamp emits up to 1600 lumen spotlight reaching 317 yards. You can also switch to a wide-angle floodlight, or an auxiliary red light to preserve the night vision. USB-C RECHARGEABLE - via its built-in charging port. Includes a high capacity battery. Runs up to 400 hours on the lowest mode. DESIGN FOR COMFORT -The HP25R v2.0 keeps the battery compartment in the rear to maintain a balanced weight. Also comes with cable clips\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nG9 LED Light 100W replacement halogen bulbs equivalent g9 led bulbs AC110V 120V 130 voltage Bi-Pin Base Corn Base\uff0cDaylight White of 4)\nPerfect G9 replacement(Daylight White 6000K) This G9 bulb is the same type as traditioanl g9 base replacement, producing confortable light Efficient Each this type of candelabra bulbs provides around 850lm, improving the brightness of your room\/home Simple Installation G9 base. Installs into existing G9 base holder Applications Furniture lighting, office lighting, merchandise lighting, display lighting, interior light etc one year, free replacement if any not working during period, please send email to us directly. Brightness 102 pcs LED chip.Brightness than general LED G9 ALL\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nG9 LED Light 100W replacement halogen bulbs equivalent g9 led bulbs AC110V 120V 130 voltage Bi-Pin Base Corn Base\uff0cDaylight White of 4)\nPerfect G9 replacement(Daylight White 6000K) This G9 bulb is the same type as traditioanl g9 base replacement, producing confortable light Efficient Each this type of candelabra bulbs provides around 850lm, improving the brightness of your room\/home Simple Installation G9 base. Installs into existing G9 base holder Applications Furniture lighting, office lighting, merchandise lighting, display lighting, interior light etc one year, free replacement if any not working during period, please send email to us directly. Brightness 102 pcs LED chip.Brightness than general LED G9 ALL\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nHappy Birthday to Dad From Your Daughter Greeting Card - I've Always Known I Could Depend On Your Love and Support No Matter What\nGreeting Card Includes Envelope Front From Your Daughter - Ever since I was a little girl, you've been such an important part of my life... I've always known I could depend on your love and support... no matter what. Inside On your birthday, if I could give you anything in return for all you've given me, it would have to be the love I always hold in my heart for you. Manufacturer Greeting Card, Brand Greeting Card, Weight 1.6 ounces, Dimensions 9 x 7 x 0.1 inches, Is Discontinued No, Pre-printed happy birthday, s 1, Manufacturer Part GC, Rank\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nHappy Birthday to Dad From Your Daughter Greeting Card - I've Always Known I Could Depend On Your Love and Support No Matter What\nGreeting Card Includes Envelope Front From Your Daughter - Ever since I was a little girl, you've been such an important part of my life... I've always known I could depend on your love and support... no matter what. Inside On your birthday, if I could give you anything in return for all you've given me, it would have to be the love I always hold in my heart for you. Manufacturer Greeting Card, Brand Greeting Card, Weight 1.6 ounces, Dimensions 9 x 7 x 0.1 inches, Is Discontinued No, Pre-printed happy birthday, s 1, Manufacturer Part GC, Rank\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nHitachi Mass Air Flow Sensor\nHitachi\u2019s Air Flow Sensors (MAFs) measure the amount and characteristics of air entering the engine. Hitachi uses precision elements and high-quality components for enhanced durability and accurate air flow measurements. Hitachi MAFs are 100% air flow tested for ideal performance and are calibrated for each application ensuring your vehicle meets the strict emission standards set by the manufacturer. Details such as a contaminant bypass port (when applicable) and protected circuitry providing a durable and reliable product approved by OE manufacturers makes Hitachi\u2019s air flow sensors the premium choice. New orignial equipment part Restores original drivability characteristics Meets the OE performance and durability standards for this application Precision manufactured and assembled sensing elements for accurate air flow measurements Built in contaminant bypass port provides reliable operation\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nHitachi Mass Air Flow Sensor\nHitachi\u2019s Air Flow Sensors (MAFs) measure the amount and characteristics of air entering the engine. Hitachi uses precision elements and high-quality components for enhanced durability and accurate air flow measurements. Hitachi MAFs are 100% air flow tested for ideal performance and are calibrated for each application ensuring your vehicle meets the strict emission standards set by the manufacturer. Details such as a contaminant bypass port (when applicable) and protected circuitry providing a durable and reliable product approved by OE manufacturers makes Hitachi\u2019s air flow sensors the premium choice. New orignial equipment part Restores original drivability characteristics Meets the OE performance and durability standards for this application Precision manufactured and assembled sensing elements for accurate air flow measurements Built in contaminant bypass port provides reliable operation\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nGarage-Pro Tailgate SET Compatible with Chevrolet Silverado 1500, Fits 2007 Chevrolet Silverado 1500 Classic, 1500 HD Classic, 2500 HD Classic, 3500 Classic Fleetside\/Styleside\nManufactured from high quality materials Manufactured from high quality materials Easy to install; replaces old or damaged part Easy to install; replaces old or damaged part This is an OE replacement item This is an OE replacement item Garage-Pro is the most affordable brand for your old, worn-out, or damaged factory part! This premium quality replacement part is made to give your car, truck, and SUV that original factory look and performance. Available for different applications, our Garage-Pro part will surely fit right to your vehicle. Comes with 1-year unlimited mileage warranty!\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nGarage-Pro Tailgate SET Compatible with Chevrolet Silverado 1500, Fits 2007 Chevrolet Silverado 1500 Classic, 1500 HD Classic, 2500 HD Classic, 3500 Classic Fleetside\/Styleside\nManufactured from high quality materials Manufactured from high quality materials Easy to install; replaces old or damaged part Easy to install; replaces old or damaged part This is an OE replacement item This is an OE replacement item Garage-Pro is the most affordable brand for your old, worn-out, or damaged factory part! This premium quality replacement part is made to give your car, truck, and SUV that original factory look and performance. Available for different applications, our Garage-Pro part will surely fit right to your vehicle. Comes with 1-year unlimited mileage warranty!\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nCelestron - PowerSeeker 127EQ Telescope - Manual German Equatorial Telescope for Beginners - Compact and Portable - Bonus Astronomy Software Package - 127mm Aperture & 1.25 Moon Filter\nCelestron 1.25 Moon FilterThe Moon has the distinction of being the most often viewed celestial object through backyard telescopes. It is undoubtedly beautiful and mysterious, and is one of those constants in our lives that connects us to every other being on our planet. Regardless of who we are or where we live or travel, we all look at the same moon. It is difficult to look at the Moon through a telescope and see all of the details due to its brightness. Our eyes are not ready for the bright beam of light that emits from the eyepiece, and they \u201c\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nCelestron - PowerSeeker 127EQ Telescope - Manual German Equatorial Telescope for Beginners - Compact and Portable - Bonus Astronomy Software Package - 127mm Aperture & 1.25 Moon Filter\nCelestron 1.25 Moon FilterThe Moon has the distinction of being the most often viewed celestial object through backyard telescopes. It is undoubtedly beautiful and mysterious, and is one of those constants in our lives that connects us to every other being on our planet. Regardless of who we are or where we live or travel, we all look at the same moon. It is difficult to look at the Moon through a telescope and see all of the details due to its brightness. Our eyes are not ready for the bright beam of light that emits from the eyepiece, and they \u201c\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nMarada Racing Seat with Adjustable Slide for Racing Wheel Simulator Stand Cockpit Adjustable Seat Back Breathable Fabric Black with Installed Parts\nAdjustable The adjustment angle of the seat back is 60-135 degrees. By adjusting the handle you can easily adjust to the angle you want.Can be suitable for players of different sizes. Overall Height 34.2, Side Width 21.2, Knee Width 20.6, Seat Back Height 30.7, Shoulder Width 21 Material Cloth, not easy to dirty. The fabric is very breathable and Suitable for sedentary. The product is not easy to deform, protect your spine and cultivate good driving habits. Design The seat bottom adopts double lock slide rail design, which is very stable, high matching with our bracket, and easy to install Experience\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nMarada Racing Seat with Adjustable Slide for Racing Wheel Simulator Stand Cockpit Adjustable Seat Back Breathable Fabric Black with Installed Parts\nAdjustable The adjustment angle of the seat back is 60-135 degrees. By adjusting the handle you can easily adjust to the angle you want.Can be suitable for players of different sizes. Overall Height 34.2, Side Width 21.2, Knee Width 20.6, Seat Back Height 30.7, Shoulder Width 21 Material Cloth, not easy to dirty. The fabric is very breathable and Suitable for sedentary. The product is not easy to deform, protect your spine and cultivate good driving habits. Design The seat bottom adopts double lock slide rail design, which is very stable, high matching with our bracket, and easy to install Experience\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nSpec-D Tuning LED Projector Headlights Glossy Black Housing Smoke Lens Compatible with Subaru Impreza Outback Sport, Subaru Impreza WRX Left + Right Pair Headlamps Assembly\n\u2714\ufe0f All of Our Items are 100% Brand New In Original Packaging! You Will Never Receive a Used Item From Us! Comes in a Pair (Driver Side Left & Passenger Side Right Included) \u2714\ufe0f DOT and SAE Compliant. Made by an ISO Certified Manufacturer using Materials that meet or Exceed OEM Requirements! \u2714\ufe0f Direct Bolt On Replacement From Your Original Headlights! No Wiring or Modifications Needed! No Installation Instructions Included, Professional Installation is Highly Recommended! \u2714\ufe0f Products Undergo Strict Quality Control to Ensure it is Waterproof (fully sealed with solid silicon) & Impact\/UV Resistant\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nSpec-D Tuning LED Projector Headlights Glossy Black Housing Smoke Lens Compatible with Subaru Impreza Outback Sport, Subaru Impreza WRX Left + Right Pair Headlamps Assembly\n\u2714\ufe0f All of Our Items are 100% Brand New In Original Packaging! You Will Never Receive a Used Item From Us! Comes in a Pair (Driver Side Left & Passenger Side Right Included) \u2714\ufe0f DOT and SAE Compliant. Made by an ISO Certified Manufacturer using Materials that meet or Exceed OEM Requirements! \u2714\ufe0f Direct Bolt On Replacement From Your Original Headlights! No Wiring or Modifications Needed! No Installation Instructions Included, Professional Installation is Highly Recommended! \u2714\ufe0f Products Undergo Strict Quality Control to Ensure it is Waterproof (fully sealed with solid silicon) & Impact\/UV Resistant\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nBostingner Shower Faucets Sets Complete, Shower System 10 Inch All Metal Overhead Rain Shower Combo Set with Handheld Ceiling Mounted 3 Way Pressure Balance Shower Valve and Trim Kit, Matte Black\nUltra-Luxury Multi Shower - Unlike normal shower kit that can only use single function at a time, Bostingner Shower head system can be used both the rainfall shower head and handheld spray SIMULTANEOUSLY that strikes the perfect balance of GENEROUS COVERAGE and HIGH PRESSURE. The PUSH BUTTON design makes it easy to switch settings, so children and elderly can also use it without a problem Anti-scald & Water Hammer Prevention - The Upgrade cUPC Certified Anti-scald pressure balance valve is key to safe homes, effectively control water pressure balance to prevent scald and\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nBostingner Shower Faucets Sets Complete, Shower System 10 Inch All Metal Overhead Rain Shower Combo Set with Handheld Ceiling Mounted 3 Way Pressure Balance Shower Valve and Trim Kit, Matte Black\nUltra-Luxury Multi Shower - Unlike normal shower kit that can only use single function at a time, Bostingner Shower head system can be used both the rainfall shower head and handheld spray SIMULTANEOUSLY that strikes the perfect balance of GENEROUS COVERAGE and HIGH PRESSURE. The PUSH BUTTON design makes it easy to switch settings, so children and elderly can also use it without a problem Anti-scald & Water Hammer Prevention - The Upgrade cUPC Certified Anti-scald pressure balance valve is key to safe homes, effectively control water pressure balance to prevent scald and\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nSherman GO-PARTS - for Toyota Avalon Side View Mirror - Right (Passenger) Replacement 2014 2015\nSherman Replacement Part Compatible with TOYOTA AVALON Right Mirror outside rear view (Partslink Number Sherman Replacement Part Compatible with TOYOTA AVALON Right Mirror outside rear view (Partslink Number Manufacturer Sherman, Brand Sherman, Model Weight 3.35 pounds, Dimensions 17.01 x 11.73 x 6.69 inches, model number Exterior Painted, Manufacturer Part ABPA Partslink Position Rear, Lift Type Manual, Rank Automotive Automotive Exterior Mirrors 21172, Available November 8, 2021, Auto Part Position Rear, Mounting Type Windshield Mount, Included Components Mirror, Operation Mode Manual, Shape Rect\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nSherman GO-PARTS - for Toyota Avalon Side View Mirror - Right (Passenger) Replacement 2014 2015\nSherman Replacement Part Compatible with TOYOTA AVALON Right Mirror outside rear view (Partslink Number Sherman Replacement Part Compatible with TOYOTA AVALON Right Mirror outside rear view (Partslink Number Manufacturer Sherman, Brand Sherman, Model Weight 3.35 pounds, Dimensions 17.01 x 11.73 x 6.69 inches, model number Exterior Painted, Manufacturer Part ABPA Partslink Position Rear, Lift Type Manual, Rank Automotive Automotive Exterior Mirrors 21172, Available November 8, 2021, Auto Part Position Rear, Mounting Type Windshield Mount, Included Components Mirror, Operation Mode Manual, Shape Rect\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nMonroe Shocks & Struts Quick-Strut 171585 Strut and Coil Spring Assembly\nFeaturing a vehicle-specific design, Monroe\u00ae Quick-Strut\u00ae strut assemblies are fit checked, ride tested and engineered to restore factory ride height and ride performance. Assembled in Paragould, AR, they include all required components in a single unit. QUICKER, SAFER, EASIER AND COMPLETE REPAIR -- Includes everything you need for strut replacement in a single, fully assembled unit with no need for a spring compressor RESTORES RIDE HEIGHT -- Precisely calibrated to meet the OE design, each application-specific coil spring type is engineered to restore ride height and support the vehicle's weight VEHICLE-SPECIFIC DESIGN -- Application-specific coil spring, mount and strut designs ensure\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nMonroe Shocks & Struts Quick-Strut 171585 Strut and Coil Spring Assembly\nFeaturing a vehicle-specific design, Monroe\u00ae Quick-Strut\u00ae strut assemblies are fit checked, ride tested and engineered to restore factory ride height and ride performance. Assembled in Paragould, AR, they include all required components in a single unit. QUICKER, SAFER, EASIER AND COMPLETE REPAIR -- Includes everything you need for strut replacement in a single, fully assembled unit with no need for a spring compressor RESTORES RIDE HEIGHT -- Precisely calibrated to meet the OE design, each application-specific coil spring type is engineered to restore ride height and support the vehicle's weight VEHICLE-SPECIFIC DESIGN -- Application-specific coil spring, mount and strut designs ensure\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nKNOKLOCK 10 Pack 3.75 Kitchen Cabinet Handles Brushed Satin Nickel Cabinet Pulls Kitchen Cabinet Hardware Drawer Pulls for Dresser Cupboard Wardrobe\nMaterial - The cabinet handles is made of zinc alloy, brushed satin nickel finish, more stable and durable, while making your cabinet more delicate and beautiful. Cabinet Pulls Dimensions - Hole Centers(CC) 3.75 Overall Length 4.9 Width 0.60 Projection 0.80 (22mm) Fits Most Cabinets - We offer 1 (25mm) and 1.77 (45mm) mounting screws to help you mount most furniture of different thicknesses, Machine Screws Metric Size M4 Versatile Appicatications - This brushed satin nickel cabinet handles is perfect for dressers, drawers,\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nKNOKLOCK 10 Pack 3.75 Kitchen Cabinet Handles Brushed Satin Nickel Cabinet Pulls Kitchen Cabinet Hardware Drawer Pulls for Dresser Cupboard Wardrobe\nMaterial - The cabinet handles is made of zinc alloy, brushed satin nickel finish, more stable and durable, while making your cabinet more delicate and beautiful. Cabinet Pulls Dimensions - Hole Centers(CC) 3.75 Overall Length 4.9 Width 0.60 Projection 0.80 (22mm) Fits Most Cabinets - We offer 1 (25mm) and 1.77 (45mm) mounting screws to help you mount most furniture of different thicknesses, Machine Screws Metric Size M4 Versatile Appicatications - This brushed satin nickel cabinet handles is perfect for dressers, drawers,\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nRockland VMI14 12,000 Pound 12 Volt DC Electric Integrated Vehicle Winch Kit with a Synthetic Rope and Remote Accessory for Jeep, Truck, and ATV Recovery\nMULTI-PURPOSE WINCH Electric vehicle winch with a Hawse fairlead and synthetic rope provides car recovery in tough situations for trucks and SUVs CONVENIENT REMOTE OPERATION Wired remote controller power switch allows for retracting the rope for winching as desired DC MOTOR Series-wound motor stays cooler during longer pulls to increase continuous operation time HIGH-PERFORMANCE GEAR SYSTEM planetary gear system with free spooling provides a fast line speed with a fast line-out FEATURES AND SPECIFICATIONS Voltage detection and stall load protection capabilities flash red and blue LED lights to warn and alert you; Color Black; Dimensions (L\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nRockland VMI14 12,000 Pound 12 Volt DC Electric Integrated Vehicle Winch Kit with a Synthetic Rope and Remote Accessory for Jeep, Truck, and ATV Recovery\nMULTI-PURPOSE WINCH Electric vehicle winch with a Hawse fairlead and synthetic rope provides car recovery in tough situations for trucks and SUVs CONVENIENT REMOTE OPERATION Wired remote controller power switch allows for retracting the rope for winching as desired DC MOTOR Series-wound motor stays cooler during longer pulls to increase continuous operation time HIGH-PERFORMANCE GEAR SYSTEM planetary gear system with free spooling provides a fast line speed with a fast line-out FEATURES AND SPECIFICATIONS Voltage detection and stall load protection capabilities flash red and blue LED lights to warn and alert you; Color Black; Dimensions (L\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nFleck 2510 Timer Mechanical Filter Control Head\n- Mechanical 2510 control head for filter systems - - 12-day timer initiated backwash - - Maximum 17 GPM backwash (includes 7 GPM DLFC) - - Standard 2. 5 -8 NPSM mounting base - - Requires yoke or bypass to connect to plumbing -Heavy duty 2510 electromechanical control valve provides simple and durable backwash control for most common backwashing filters. A maximum of 17 GPM available backwash can handle even dense iron filter medias. Dedicated piston motor provides powerful piston movement that reduces system maintenance. New Fleck 2510 filter valve replacement for filter tanks Fully adjustable cycles for backwash and rinse times For back-washing filters, allows for strong\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nFleck 2510 Timer Mechanical Filter Control Head\n- Mechanical 2510 control head for filter systems - - 12-day timer initiated backwash - - Maximum 17 GPM backwash (includes 7 GPM DLFC) - - Standard 2. 5 -8 NPSM mounting base - - Requires yoke or bypass to connect to plumbing -Heavy duty 2510 electromechanical control valve provides simple and durable backwash control for most common backwashing filters. A maximum of 17 GPM available backwash can handle even dense iron filter medias. Dedicated piston motor provides powerful piston movement that reduces system maintenance. New Fleck 2510 filter valve replacement for filter tanks Fully adjustable cycles for backwash and rinse times For back-washing filters, allows for strong\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nTOYO Open Country MT Performance Radial E\/10 129P\nTOYO Open Country MT Performance Radial E\/10 129P Country of Origin Japan The Package Height of the Product is 11.8 inches The Package Length of the Product is 34.5 inches The Package Width of the Product is 34.5 inches Fit type Universal Fit Load capacity 4080 pounds Brand Toyo Tires, Size E\/10, Rim Size 18 Inches, Section Width 295 Millimeters, Tire Aspect Ratio 70.0, Load Index 129, Speed Rating P, Load Capacity 4080 Pounds, Tread Depth 19.4 32nds, Tread Type Non-Directional, Tire Diameter 25, Weight 58 pounds, Manufacturer Toyo\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nTOYO Open Country MT Performance Radial E\/10 129P\nTOYO Open Country MT Performance Radial E\/10 129P Country of Origin Japan The Package Height of the Product is 11.8 inches The Package Length of the Product is 34.5 inches The Package Width of the Product is 34.5 inches Fit type Universal Fit Load capacity 4080 pounds Brand Toyo Tires, Size E\/10, Rim Size 18 Inches, Section Width 295 Millimeters, Tire Aspect Ratio 70.0, Load Index 129, Speed Rating P, Load Capacity 4080 Pounds, Tread Depth 19.4 32nds, Tread Type Non-Directional, Tire Diameter 25, Weight 58 pounds, Manufacturer Toyo\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nVelvac - 715427\n2020 Mirror System, 2003 & Newer Ford E-Series Cutaway Standard Head, Black, Htd Remote Flat Glass, Wedge Convex, 102 Body Width, Left Side 2020 System, Ford E, 102 Body, Black, Left Side Htd Remote Flat Glass, Wedge Convex, Standard Head Model 2020 mirrors are designed specifically for wide body applications such as high cube cut away vans, rental trucks, Class C RV's and ambulances. The fixed length arms are designed to position the mirror beyond the body providing the driver with an unobstructed view of blind spots and passing lanes around the vehicle. These versatile mirrors are available in several body widths and finishes as well as manual or heated remote glass\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nVelvac - 715427\n2020 Mirror System, 2003 & Newer Ford E-Series Cutaway Standard Head, Black, Htd Remote Flat Glass, Wedge Convex, 102 Body Width, Left Side 2020 System, Ford E, 102 Body, Black, Left Side Htd Remote Flat Glass, Wedge Convex, Standard Head Model 2020 mirrors are designed specifically for wide body applications such as high cube cut away vans, rental trucks, Class C RV's and ambulances. The fixed length arms are designed to position the mirror beyond the body providing the driver with an unobstructed view of blind spots and passing lanes around the vehicle. These versatile mirrors are available in several body widths and finishes as well as manual or heated remote glass\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nAmScope LED Cordless Stereo Microscope w\/Top & Bottom Light Illumination System and 36 specimens\nThis cordless LED binocular stereo microscope comes with two pairs of stereo objective lenses mounted in a rotating nosecone, sturdy all-metal pillar stand, and a versatile illumination system that provides both incident (top) lighting and transmitted (bottom) lighting. You can choose between incident illumination shining down onto the object or transmitted illumination through the frosted stage plate. The first is used for the observation of three-dimensional objects and the second for the observation of slides. It comes with a rechargeable illumination system capable of taking rechargeable AA batteries, and an AC adapter\/charger. This microscope offers high resolution and good depth within a broad field of view. It gives sharp clear stereo images. Its 45\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nAmScope LED Cordless Stereo Microscope w\/Top & Bottom Light Illumination System and 36 specimens\nThis cordless LED binocular stereo microscope comes with two pairs of stereo objective lenses mounted in a rotating nosecone, sturdy all-metal pillar stand, and a versatile illumination system that provides both incident (top) lighting and transmitted (bottom) lighting. You can choose between incident illumination shining down onto the object or transmitted illumination through the frosted stage plate. The first is used for the observation of three-dimensional objects and the second for the observation of slides. It comes with a rechargeable illumination system capable of taking rechargeable AA batteries, and an AC adapter\/charger. This microscope offers high resolution and good depth within a broad field of view. It gives sharp clear stereo images. Its 45\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nLongacre Aluminum Turn Plates\nLongacre is an established brand name in the racing industry and is recognized for dedication to quality, innovation and customer satisfaction. Check out our comprehensive line of race scales, alignment tools, racing gauges and other products. Whether you are into stock, modified, drag, go kart, off-road, sprint or RC car racing, we'll provide you with the quality racing parts you deserve. The free floating in 2 directions eliminates bind It reads to 1\/2\u00b0 - Degrees can be zeroed with the car on The low profile design means that its only 1 tall Can also be used on top of scale pads Has a weight capacity of 1,500 lbs. per scale Manufacturer Longacre, Brand Longacre, Model Longacre Racing Products, Weight 31\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nLongacre Aluminum Turn Plates\nLongacre is an established brand name in the racing industry and is recognized for dedication to quality, innovation and customer satisfaction. Check out our comprehensive line of race scales, alignment tools, racing gauges and other products. Whether you are into stock, modified, drag, go kart, off-road, sprint or RC car racing, we'll provide you with the quality racing parts you deserve. The free floating in 2 directions eliminates bind It reads to 1\/2\u00b0 - Degrees can be zeroed with the car on The low profile design means that its only 1 tall Can also be used on top of scale pads Has a weight capacity of 1,500 lbs. per scale Manufacturer Longacre, Brand Longacre, Model Longacre Racing Products, Weight 31\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nStudio M Peace and Harmony Art Pole Community Inspirational Outdoor Decorative Garden Post, Made in USA, 60 Inches Tall\nImpactful. Beautiful. Unique. An Art Pole is an impactful way to bring beautiful artwork into any landscape. With a patented, state-of-the-art design and exceptional quality, it will be at the heart of your garden for years to come. Art Poles are easy to install - all hardware is included and no digging is necessary. Made in the USA from ultra-durable, maintenance free PVC, each Art Pole features vivid artwork with an expected 5-year fade-resistance (this will vary by regional climate and sun exposure). U.S. Patent No. U.S. Patent No. U.S. Patent No. Art Poles are created by the team of passionate people\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nStudio M Peace and Harmony Art Pole Community Inspirational Outdoor Decorative Garden Post, Made in USA, 60 Inches Tall\nImpactful. Beautiful. Unique. An Art Pole is an impactful way to bring beautiful artwork into any landscape. With a patented, state-of-the-art design and exceptional quality, it will be at the heart of your garden for years to come. Art Poles are easy to install - all hardware is included and no digging is necessary. Made in the USA from ultra-durable, maintenance free PVC, each Art Pole features vivid artwork with an expected 5-year fade-resistance (this will vary by regional climate and sun exposure). U.S. Patent No. U.S. Patent No. U.S. Patent No. Art Poles are created by the team of passionate people\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nSK6241 - Stinger 4 Gauge 6000 Series Power Amplifier Installation Kit\nAmplifier installation kits can save you time & money when installing an amplifier in your vehicle. Instead of purchasing everything you need separately like power\/ground cables, remote turn-on cable, fuse blocks, fuses, and more, you can get an amp kit that already has the cables & accessories in one package. Amplifier wiring kits come in various gauge configurations depending on the wattage of your sound system and include all the necessary components you need to successfully install an amplifier. This Stinger 4 AWG 6000 Series Power Amplifier Wiring Kit includes all the necessary hardware and wire to power one amplifier and is designed specifically for car audio systems up to 1750 watts. The included premium power\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nSK6241 - Stinger 4 Gauge 6000 Series Power Amplifier Installation Kit\nAmplifier installation kits can save you time & money when installing an amplifier in your vehicle. Instead of purchasing everything you need separately like power\/ground cables, remote turn-on cable, fuse blocks, fuses, and more, you can get an amp kit that already has the cables & accessories in one package. Amplifier wiring kits come in various gauge configurations depending on the wattage of your sound system and include all the necessary components you need to successfully install an amplifier. This Stinger 4 AWG 6000 Series Power Amplifier Wiring Kit includes all the necessary hardware and wire to power one amplifier and is designed specifically for car audio systems up to 1750 watts. The included premium power\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nGODOX CB-06 Hard Carrying Case with Wheels\nGodox CB-06 Hard Carrying Case with Wheels Carrying\/Transport Options Dual connecting straps Top handle Wheels Dimensions 94.0 x 34.0 x 25.0cm (37.01 x 13.39 x 9.84 ) Dimensions 41.25 x 16.25 x 12.5 inches, Weight 7.5 pounds, model number CB 06, Rank Tripod & Monopod Cases 13, Is Discontinued No, Available August 24, 2017, Manufacturer Godox, Language English, Brand GODOX, Color Black, Closure Type Zipper, Pattern Solid, Dimensions LxWxH 41.25 x 16.25 x\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nGODOX CB-06 Hard Carrying Case with Wheels\nGodox CB-06 Hard Carrying Case with Wheels Carrying\/Transport Options Dual connecting straps Top handle Wheels Dimensions 94.0 x 34.0 x 25.0cm (37.01 x 13.39 x 9.84 ) Dimensions 41.25 x 16.25 x 12.5 inches, Weight 7.5 pounds, model number CB 06, Rank Tripod & Monopod Cases 13, Is Discontinued No, Available August 24, 2017, Manufacturer Godox, Language English, Brand GODOX, Color Black, Closure Type Zipper, Pattern Solid, Dimensions LxWxH 41.25 x 16.25 x\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\n2 Pack Combo Womens Safety Glasses Impact Resistant Clear Smoke Lens\nPackage Includes 2 pairs of Womens Safety Glasses with Clear Lenses and Black Sunglasses Lens Assorted Color Temple Frames Available! Sizing Information Frame length \u2013 6.25 in, Frame Width 5.4 in. Exceeds ANSI Z87.1+ Safety Standards. Shatter Proof Protection Our lenses offer 100% protection against glare and protection against UV\/UVA\/UVB rays. The Safety Glasses are also scratch-resistant, impact-resistant, and shatter proof. Keep your eyes safe during construction, metalworking, welding, woodworking, hunting, fishing, sports, shooting, and other activities outdoors. Impact Resistant Coating coating Package Includes 2 pairs of Womens Safety Glasses with Clear Lenses and Black Sunglasses\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\n2 Pack Combo Womens Safety Glasses Impact Resistant Clear Smoke Lens\nPackage Includes 2 pairs of Womens Safety Glasses with Clear Lenses and Black Sunglasses Lens Assorted Color Temple Frames Available! Sizing Information Frame length \u2013 6.25 in, Frame Width 5.4 in. Exceeds ANSI Z87.1+ Safety Standards. Shatter Proof Protection Our lenses offer 100% protection against glare and protection against UV\/UVA\/UVB rays. The Safety Glasses are also scratch-resistant, impact-resistant, and shatter proof. Keep your eyes safe during construction, metalworking, welding, woodworking, hunting, fishing, sports, shooting, and other activities outdoors. Impact Resistant Coating coating Package Includes 2 pairs of Womens Safety Glasses with Clear Lenses and Black Sunglasses\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nCase of 24-2 Inch Blue Painters Tape - 60 Yards\/roll\nCase of 24 rolls of painters tape bulk packed for easy use and access. Each roll is 1.88 inches by 60 yards of masking tape. Professional grade tape is flexible, leaves no sticky residue behind, prevents paint bleed, removes without damaging surface, and gives clean edges. Use for every kind of painting, trimming edging, masking. or protecting. Brightly colored tape works well with delicate and bold paint colors. Durable, strong tape sticks to a variety of clean \/ dry surfaces. Apply pressure when adhering tape for the cleanest lines as adhesive is pressure sensitive and heat activated. Ideal for use in temperatures from 40 to 130 degrees Fahrenheit. Made in the USA.\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nCase of 24-2 Inch Blue Painters Tape - 60 Yards\/roll\nCase of 24 rolls of painters tape bulk packed for easy use and access. Each roll is 1.88 inches by 60 yards of masking tape. Professional grade tape is flexible, leaves no sticky residue behind, prevents paint bleed, removes without damaging surface, and gives clean edges. Use for every kind of painting, trimming edging, masking. or protecting. Brightly colored tape works well with delicate and bold paint colors. Durable, strong tape sticks to a variety of clean \/ dry surfaces. Apply pressure when adhering tape for the cleanest lines as adhesive is pressure sensitive and heat activated. Ideal for use in temperatures from 40 to 130 degrees Fahrenheit. Made in the USA.\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\n48 x 36 Extra-Large Framed Magnetic Black Chalk Board (Black Frame)\nHandsome, smooth 48 x 36 inches extra-large framed black chalk board. Perfect for office, meeting rooms, classrooms, at work or at home...to serve as black board, or magnetic board, or menu board, or bulletin board etc. Black frame. (Search for on Amazon if you want a Dark Brown wood tone frame or if you want a Medium Brown wood tone frame.) DELIVERY Shipped to continental U.S. addresses only. Handsome, smooth black board with elegant black veneer frame and reinforced backing. (If you want a dark brown wood tone frame, search for on Amazon; If you want a medium brown wood tone frame, search for ) Lean this light-weight black board\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\n48 x 36 Extra-Large Framed Magnetic Black Chalk Board (Black Frame)\nHandsome, smooth 48 x 36 inches extra-large framed black chalk board. Perfect for office, meeting rooms, classrooms, at work or at home...to serve as black board, or magnetic board, or menu board, or bulletin board etc. Black frame. (Search for on Amazon if you want a Dark Brown wood tone frame or if you want a Medium Brown wood tone frame.) DELIVERY Shipped to continental U.S. addresses only. Handsome, smooth black board with elegant black veneer frame and reinforced backing. (If you want a dark brown wood tone frame, search for on Amazon; If you want a medium brown wood tone frame, search for ) Lean this light-weight black board\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\n(Plug and Play) Spare Tire Brake Light Wheel Light Brake Light for Wrangler JK JKU Red Light\nFITMENT Fit for JK JKU with all 16 to 20 inch rim diameter wheels, works with 5x5, 5x4.5, 5x5.5 inch lug patterns. Plug & Play Package comes with instructions including the video link of installing and wiring. Just plug to the 3rd brake light.Easy to install, just plug and play, no need to splice the existing brake light wires. No broken wire installation. You can install the third spare light in few minutes. Braking Function Obvious and fast braking warning signal, lights up the inside of your spare when step on the brake, more red brightness and stronger penetration, easy To Be\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\n(Plug and Play) Spare Tire Brake Light Wheel Light Brake Light for Wrangler JK JKU Red Light\nFITMENT Fit for JK JKU with all 16 to 20 inch rim diameter wheels, works with 5x5, 5x4.5, 5x5.5 inch lug patterns. Plug & Play Package comes with instructions including the video link of installing and wiring. Just plug to the 3rd brake light.Easy to install, just plug and play, no need to splice the existing brake light wires. No broken wire installation. You can install the third spare light in few minutes. Braking Function Obvious and fast braking warning signal, lights up the inside of your spare when step on the brake, more red brightness and stronger penetration, easy To Be\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nSteering Damper,Universal Motorcycle Handlebar Aluminum Alloy Steering Damper Stabilizer Safety Control(Gold)\nFeatures 1. Durable in Use Made of durable aluminum alloy for extreme strength. 2. Excellent Quality Professional manufacturing, high precision and good quality. 3. Easy and Simple to Hand Easy installation without any modification required. 4. Stable Quality The anodized surface for enhance its oxidizing and corrosion resistance. 5. Scope of Application Universal for motorcycle, high-emissions car, sports car, street car. Specification Condition 100% Brand New Material Aluminum alloy (CNC) Color Black\/Gold\/Red\/Silver\/Blue(optional) Mounting screw Fitment Universal for motorcycle, high-emissions car, sports car, street car. Package List 1 * Dam\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nSteering Damper,Universal Motorcycle Handlebar Aluminum Alloy Steering Damper Stabilizer Safety Control(Gold)\nFeatures 1. Durable in Use Made of durable aluminum alloy for extreme strength. 2. Excellent Quality Professional manufacturing, high precision and good quality. 3. Easy and Simple to Hand Easy installation without any modification required. 4. Stable Quality The anodized surface for enhance its oxidizing and corrosion resistance. 5. Scope of Application Universal for motorcycle, high-emissions car, sports car, street car. Specification Condition 100% Brand New Material Aluminum alloy (CNC) Color Black\/Gold\/Red\/Silver\/Blue(optional) Mounting screw Fitment Universal for motorcycle, high-emissions car, sports car, street car. Package List 1 * Dam\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nSennheiser SD Pro 2 - Double-Sided Multi Connectivity Wireless Headset for Desk Phone & Softphone\/PC Connection, Ultra Noise-Cancelling Microphone (Black)\nWith the SD Pro 2, you get everything you need in an office headset, wrapped in one unique product. The SD Pro 2 is a double-sided, premium wireless DECT headset for desk phone and PC\/softphone with base station. It features Sennheiser Voice Clarity, ultra noise-cancelling microphone, and ActiveGard hearing protection technology. Choosing the right SD Pro 2 SD PRO 2 This headset is designed for business professionals who communicate with their desk phone and softphone\/PC. SD PRO 2 ML This headset is designed for business professionals who communicate in desk phone and\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nSennheiser SD Pro 2 - Double-Sided Multi Connectivity Wireless Headset for Desk Phone & Softphone\/PC Connection, Ultra Noise-Cancelling Microphone (Black)\nWith the SD Pro 2, you get everything you need in an office headset, wrapped in one unique product. The SD Pro 2 is a double-sided, premium wireless DECT headset for desk phone and PC\/softphone with base station. It features Sennheiser Voice Clarity, ultra noise-cancelling microphone, and ActiveGard hearing protection technology. Choosing the right SD Pro 2 SD PRO 2 This headset is designed for business professionals who communicate with their desk phone and softphone\/PC. SD PRO 2 ML This headset is designed for business professionals who communicate in desk phone and\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nDell Latitude D620 Renewed Notebook PC\nDell Latitude D620 14.1 Laptop (Intel Core Duo 80GB Hard Drive, 2048Mb RAM, DVD\/CDRW Drive, XP Professional) Windows XP Professional with Dell Reinstallation XP Pro. CD Intel Core Duo Processor 2GB DDR2 RAM 80GB Hard Drive Screen, Wifi Standing screen display size 14 Inches, Screen Resolution 1366 x 768 pixels, Processor 1.83 GHz RAM 2 GB DDR2, Memory Speed 1.83 GHz, Hard Drive 60 GB HDD, Chipset Brand Intel, Card Description Integrated, Wireless Type USB 2.0 Ports 3, Brand Dell, Series Dell Latitude, model number d620, Hardware Platform PC, Operating System Windows XP\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nDell Latitude D620 Renewed Notebook PC\nDell Latitude D620 14.1 Laptop (Intel Core Duo 80GB Hard Drive, 2048Mb RAM, DVD\/CDRW Drive, XP Professional) Windows XP Professional with Dell Reinstallation XP Pro. CD Intel Core Duo Processor 2GB DDR2 RAM 80GB Hard Drive Screen, Wifi Standing screen display size 14 Inches, Screen Resolution 1366 x 768 pixels, Processor 1.83 GHz RAM 2 GB DDR2, Memory Speed 1.83 GHz, Hard Drive 60 GB HDD, Chipset Brand Intel, Card Description Integrated, Wireless Type USB 2.0 Ports 3, Brand Dell, Series Dell Latitude, model number d620, Hardware Platform PC, Operating System Windows XP\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nGeneric NRG Innovations Steering Wheel Short Hub Adapter Kit + LED Keychain Flashlight, black\nNRG Innovation has developed another complement to our quick release steering kits. These units were designed specially for an aftermarket steering wheel installed with the quick release kit still mounts in the same location, not too close to the driver. Made from the highest quality aluminum. Our Short Hubs are made to work with our quick release's. This product is designed utilizing one piece solid construction for the maximum in durability and usability. Made of High Quality Aluminum Direct Bolt-on Design, Perfectly fits Any Wheel or Quick Release with a 6-Bolt X 74MM Pattern Anodized for Durability and Strength Racing Style, for Most Aftermarket Racing Brand Steering Wheel Manufacturer NRG Innovations, Brand NRG Innov\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nGeneric NRG Innovations Steering Wheel Short Hub Adapter Kit + LED Keychain Flashlight, black\nNRG Innovation has developed another complement to our quick release steering kits. These units were designed specially for an aftermarket steering wheel installed with the quick release kit still mounts in the same location, not too close to the driver. Made from the highest quality aluminum. Our Short Hubs are made to work with our quick release's. This product is designed utilizing one piece solid construction for the maximum in durability and usability. Made of High Quality Aluminum Direct Bolt-on Design, Perfectly fits Any Wheel or Quick Release with a 6-Bolt X 74MM Pattern Anodized for Durability and Strength Racing Style, for Most Aftermarket Racing Brand Steering Wheel Manufacturer NRG Innovations, Brand NRG Innov\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nAlnicov 63.5MM Brass Tremolo Block\uff0cTremolo System Bridge\uff0cWith Bar Block For Fender Strat Stratocaster Bridge\nDescription 1.Fits bridges with 2-1\/16 E to E string pacing and 6 screw modifications install (detailed instructions included) Fits for MIM Fender Standard Series StratAmerican Special StratMIM Classic PlayerClassic Vibe StratAny Import Strat with 6 screw pivot mounting and 2 1\/16 string spacing Specifications Tremlo block block dia size brassWeight 248g Package included 1Pcs tremolo bar wrench Durable Electric Guitar Bridge Tremolo Block High quality, easy to handle Sustain your guitar bridge Add mass and sustain to your bridge along with the tonal qualities of brass Since this block is larger\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nAlnicov 63.5MM Brass Tremolo Block\uff0cTremolo System Bridge\uff0cWith Bar Block For Fender Strat Stratocaster Bridge\nDescription 1.Fits bridges with 2-1\/16 E to E string pacing and 6 screw modifications install (detailed instructions included) Fits for MIM Fender Standard Series StratAmerican Special StratMIM Classic PlayerClassic Vibe StratAny Import Strat with 6 screw pivot mounting and 2 1\/16 string spacing Specifications Tremlo block block dia size brassWeight 248g Package included 1Pcs tremolo bar wrench Durable Electric Guitar Bridge Tremolo Block High quality, easy to handle Sustain your guitar bridge Add mass and sustain to your bridge along with the tonal qualities of brass Since this block is larger\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nCOSTWAY Electric Tumble Dryer, Sliver\nThis is our brand new compact dryer with 10 lbs. cloth capacity, it will be your best helper to dry your cloth or sheet in a short time, It has four mode air dry, cool, warm, and hot. You can choose the drying time or mode according to the material and weight of the cloth. This dryer combine the cooling, wrinkle, freshening, function, without taking up a lot of room will bring much convenience for your life. Don't hesitate to buy one! feature brand new and high quality 1. 5 cu. Ft. Capacity allows you to dry up to 10 lbs. Of clothing stainless steel tub provides durability see- through window lets you monitor clothes as they dry four mode air dry\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nCOSTWAY Electric Tumble Dryer, Sliver\nThis is our brand new compact dryer with 10 lbs. cloth capacity, it will be your best helper to dry your cloth or sheet in a short time, It has four mode air dry, cool, warm, and hot. You can choose the drying time or mode according to the material and weight of the cloth. This dryer combine the cooling, wrinkle, freshening, function, without taking up a lot of room will bring much convenience for your life. Don't hesitate to buy one! feature brand new and high quality 1. 5 cu. Ft. Capacity allows you to dry up to 10 lbs. Of clothing stainless steel tub provides durability see- through window lets you monitor clothes as they dry four mode air dry\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nRoad Top Wireless Carplay Retrofit Kit Decoder for BMW i3 I01 NBT System Year, Support Android Auto, Mirrorlink, Reverse Camera, Original Car Knob Control\nPre-shopping Notes When you buy, please check our website picture to make sure your car system is right. This Wireless Carplay Fits for BMW i3 I01 NBT System Not fit for EVO system. Wireless\/Wired Apple Carplay It can work with Siri\/ Maps\/ Music\/ Phone Call. Built-in mic for Siri function and Bluetooth call, use Maps(Support Google Waze and sygic map, etc), listen to your favorite songs using iTunes, Apple Music or other app and access to messages. Keep your original car knob and steering wheel control. Wireless\/Wired Android Auto Use wireless or wired connection (\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nRoad Top Wireless Carplay Retrofit Kit Decoder for BMW i3 I01 NBT System Year, Support Android Auto, Mirrorlink, Reverse Camera, Original Car Knob Control\nPre-shopping Notes When you buy, please check our website picture to make sure your car system is right. This Wireless Carplay Fits for BMW i3 I01 NBT System Not fit for EVO system. Wireless\/Wired Apple Carplay It can work with Siri\/ Maps\/ Music\/ Phone Call. Built-in mic for Siri function and Bluetooth call, use Maps(Support Google Waze and sygic map, etc), listen to your favorite songs using iTunes, Apple Music or other app and access to messages. Keep your original car knob and steering wheel control. Wireless\/Wired Android Auto Use wireless or wired connection (\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nSanDisk 128GB Ultra (10 Pack) MicroSD Class 10 Micro SDXC Memory Card for Smartphone Bundle with (1) GoRAM Reader 10 Pack)\nShoot and save more high-quality photos and full HD video on your Android smartphone or tablet with SanDisk Ultra microSD UHS-I cards. With storage capacities up to 128GB, they're the ideal complement for Android smartphones and tablets. And the SanDisk memory zone app, available on the Google play store, makes it easy to view, access, and back up all of your files from your phones memory in one convenient place. To help your smartphone run at its peak performance, This app can be set to automatically off-load files from your smartphones internal memory to your memory card. Bundle Includes (10x) 128GB\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nSanDisk 128GB Ultra (10 Pack) MicroSD Class 10 Micro SDXC Memory Card for Smartphone Bundle with (1) GoRAM Reader 10 Pack)\nShoot and save more high-quality photos and full HD video on your Android smartphone or tablet with SanDisk Ultra microSD UHS-I cards. With storage capacities up to 128GB, they're the ideal complement for Android smartphones and tablets. And the SanDisk memory zone app, available on the Google play store, makes it easy to view, access, and back up all of your files from your phones memory in one convenient place. To help your smartphone run at its peak performance, This app can be set to automatically off-load files from your smartphones internal memory to your memory card. Bundle Includes (10x) 128GB\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nSony SSCS8 2-Way Center Channel Speaker with Bookshelf Speaker System and Subwoofer Bundle (3 Items)\nEquipped with two 4 woofers and a 1 tweeter, the Sony SS-CS8 2-Way Center Channel Speaker handles 145W of peak power. The speaker's woofers use a mica-reinforced diaphragm, the upper surface of which is fashioned to deliver supple and faithful sound quality, while the bottom layer is designed to provide a powerful bass response. The cabinet of the SS-CS8 is made from wood, which is designed to provide a natural resonance, and its bass reflex construction will give directionality to the low frequencies. The speaker's crossover network is mounted directly to the cabinet for vibration isolation, which is intended\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nSony SSCS8 2-Way Center Channel Speaker with Bookshelf Speaker System and Subwoofer Bundle (3 Items)\nEquipped with two 4 woofers and a 1 tweeter, the Sony SS-CS8 2-Way Center Channel Speaker handles 145W of peak power. The speaker's woofers use a mica-reinforced diaphragm, the upper surface of which is fashioned to deliver supple and faithful sound quality, while the bottom layer is designed to provide a powerful bass response. The cabinet of the SS-CS8 is made from wood, which is designed to provide a natural resonance, and its bass reflex construction will give directionality to the low frequencies. The speaker's crossover network is mounted directly to the cabinet for vibration isolation, which is intended\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nCaseology Bumpy Compatible with Google Pixel Buds Pro Case (2022) - Sage Green\nHybrid layer clear case with ultra-clear PC body and TPU frame for drop-proof shock absorbance Slim yet durable Pixel Buds Pro case made with military grade materials Side colored TPU with rugged sandstone texture provides non-slip grip Wireless charging compatible and carabiner included for easy carrying Caseology Bumpy Compatible with Google Pixel Buds Pro Case (2022) \/ Not Compatible with Google Pixel Buds A series, Google Pixel Buds 2 Dimensions 2.67 x 2.54 x 1.15 inches, Weight 1.76 ounces, model number Rank Cell Phones & Accessories 34945, Cell Phone Basic Cases 14563, Connectivity technologies wireless, Special features\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nCaseology Bumpy Compatible with Google Pixel Buds Pro Case (2022) - Sage Green\nHybrid layer clear case with ultra-clear PC body and TPU frame for drop-proof shock absorbance Slim yet durable Pixel Buds Pro case made with military grade materials Side colored TPU with rugged sandstone texture provides non-slip grip Wireless charging compatible and carabiner included for easy carrying Caseology Bumpy Compatible with Google Pixel Buds Pro Case (2022) \/ Not Compatible with Google Pixel Buds A series, Google Pixel Buds 2 Dimensions 2.67 x 2.54 x 1.15 inches, Weight 1.76 ounces, model number Rank Cell Phones & Accessories 34945, Cell Phone Basic Cases 14563, Connectivity technologies wireless, Special features\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nBehringer TUBE OVERDRIVE TO100 Authentic Tube-Sound Overdrive Effects Pedal\nBEHRINGER TUBE OVERDRIVE TO100 Authentic Tube-Sound Overdrive Effects Pedal Get tube-like distortion, smooth sustain and super fat tone Get tube-like distortion, smooth sustain and super fat tone This BEHRINGER product has been designed to compete head to head with leading products on the market This BEHRINGER product has been designed to compete head to head with leading products on the market Captures every nuance of your playing from smooth overdrive to screaming tube sounds Captures every nuance of your playing from smooth overdrive to screaming tube sounds Dedicated Drive, Tone and Level controls for awesome sound shaping Dedicated Drive, Tone and Level controls for awesome sound shaping Status LED for effect on\/off and\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nBehringer TUBE OVERDRIVE TO100 Authentic Tube-Sound Overdrive Effects Pedal\nBEHRINGER TUBE OVERDRIVE TO100 Authentic Tube-Sound Overdrive Effects Pedal Get tube-like distortion, smooth sustain and super fat tone Get tube-like distortion, smooth sustain and super fat tone This BEHRINGER product has been designed to compete head to head with leading products on the market This BEHRINGER product has been designed to compete head to head with leading products on the market Captures every nuance of your playing from smooth overdrive to screaming tube sounds Captures every nuance of your playing from smooth overdrive to screaming tube sounds Dedicated Drive, Tone and Level controls for awesome sound shaping Dedicated Drive, Tone and Level controls for awesome sound shaping Status LED for effect on\/off and\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nG-Technology G-SPEED eS PRO High-Performance Fail-Safe RAID Solution for HD\/2K Production 8TB\nProduct Description High-Performance, Fail-Safe RAID Solutions for HD\/2K Production The new G-SPEED eS PRO from G-Tech provides professional content creators better than Fibre-Channel performance for demanding post production applications at a fraction of the cost. The compact and whisper quiet G-SPEED eS PRO features mini-SAS connectivity to a high performance PCIe x8 IOP RAID controller that supports RAID levels or 6. A single G-SPEED eS PRO enclosure with four 7200 RPM, SATA II drives in RAID 0 mode supports multi-stream ProRes 422 HQ playback and a single-stream of uncompressed 10-bit HD. Two units\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nG-Technology G-SPEED eS PRO High-Performance Fail-Safe RAID Solution for HD\/2K Production 8TB\nProduct Description High-Performance, Fail-Safe RAID Solutions for HD\/2K Production The new G-SPEED eS PRO from G-Tech provides professional content creators better than Fibre-Channel performance for demanding post production applications at a fraction of the cost. The compact and whisper quiet G-SPEED eS PRO features mini-SAS connectivity to a high performance PCIe x8 IOP RAID controller that supports RAID levels or 6. A single G-SPEED eS PRO enclosure with four 7200 RPM, SATA II drives in RAID 0 mode supports multi-stream ProRes 422 HQ playback and a single-stream of uncompressed 10-bit HD. Two units\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nPirelli 106W XL RFT P0\nProduct Type Vehicle Tire Package Dimensions 10.9 L X29.0 W X29.0 H Country Of Origin Mexico Package Weight Fit type Universal Fit Brand Pirelli, Seasons Year Round, Size Section Width 275 Millimeters, Load Capacity 2094 Pounds, Tread Depth 9 32nds, Tread Type Asymmetrical, Ply Rating XL, Tire Diameter 28.66, Weight 36 pounds, Manufacturer PIRELLI, Model P Zero PZ4 Run Flat, model number Is Discontinued No, Manufacturer Part OEM Part Special Features Run_flat, Construction Radial, UTQG Rank Automotive Passenger Car Performance Tires 722, Available August 5, 2017, Rim Size \n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nPirelli 106W XL RFT P0\nProduct Type Vehicle Tire Package Dimensions 10.9 L X29.0 W X29.0 H Country Of Origin Mexico Package Weight Fit type Universal Fit Brand Pirelli, Seasons Year Round, Size Section Width 275 Millimeters, Load Capacity 2094 Pounds, Tread Depth 9 32nds, Tread Type Asymmetrical, Ply Rating XL, Tire Diameter 28.66, Weight 36 pounds, Manufacturer PIRELLI, Model P Zero PZ4 Run Flat, model number Is Discontinued No, Manufacturer Part OEM Part Special Features Run_flat, Construction Radial, UTQG Rank Automotive Passenger Car Performance Tires 722, Available August 5, 2017, Rim Size \n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nBandai Awakening of S. H. s.h.figuarts star wars \/ force Obi-Wan Kenobi\nSH Figuarts Star Wars Obi-Wan Kenobi (EpisodeI) about 155mm ABS & PVC painted action figure bandai star wars japan awakens Theme Action,Star Wars, Brand STAR WARS, Material Polyvinyl Chloride, Occasion Birthday, Dimensions 8\\ L x 6\\ W x 8\\ H, Cartoon Character Star Wars, Room Type Office, Living Room, Bedroom, Pieces 1, Assembly Required No, s 1, Collection Name Action Figure, Shape Novelty, Manufacturer Bandai, Quantity 1, Weight 4.6 ounces, model number Rank Toys & Games Action Figures 44598, Is Discontinued\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nBandai Awakening of S. H. s.h.figuarts star wars \/ force Obi-Wan Kenobi\nSH Figuarts Star Wars Obi-Wan Kenobi (EpisodeI) about 155mm ABS & PVC painted action figure bandai star wars japan awakens Theme Action,Star Wars, Brand STAR WARS, Material Polyvinyl Chloride, Occasion Birthday, Dimensions 8\\ L x 6\\ W x 8\\ H, Cartoon Character Star Wars, Room Type Office, Living Room, Bedroom, Pieces 1, Assembly Required No, s 1, Collection Name Action Figure, Shape Novelty, Manufacturer Bandai, Quantity 1, Weight 4.6 ounces, model number Rank Toys & Games Action Figures 44598, Is Discontinued\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nT&S Brass Double Pantry Faucet, Wall Mount, 8 Centers, 6 Swing Built in Stops\nT&S Brass 8 Wall Mount Mixing Faucet, Eterna Cartridges, Lever Handles, 6 Swing Nozzle, Built-In Stops & 1\/2 NPT Female Inlets. Package Dimensions 9 L x 4 H x 14 W (inches) Package Weight 5.11 pounds Country of Origin United States Part Number Brand T&S Brass, Mounting Type Wall Mount, Finish Type Polished, Color Brass, Handles 1, Included Components Nozzle, Instruction Manual, Handle Type Lever, Installation Type Single Hole, Dimensions LxWxH 13.3 x 8.8 x 3.7 inches, Handle Material Brass,\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nT&S Brass Double Pantry Faucet, Wall Mount, 8 Centers, 6 Swing Built in Stops\nT&S Brass 8 Wall Mount Mixing Faucet, Eterna Cartridges, Lever Handles, 6 Swing Nozzle, Built-In Stops & 1\/2 NPT Female Inlets. Package Dimensions 9 L x 4 H x 14 W (inches) Package Weight 5.11 pounds Country of Origin United States Part Number Brand T&S Brass, Mounting Type Wall Mount, Finish Type Polished, Color Brass, Handles 1, Included Components Nozzle, Instruction Manual, Handle Type Lever, Installation Type Single Hole, Dimensions LxWxH 13.3 x 8.8 x 3.7 inches, Handle Material Brass,\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nSanctuary Square Backplate Finish Oiled Rubbed Bronze, Size 1.25 H x 1.25 W x 0.06 D\nFinish Oiled Rubbed Bronze, Size 1.25 H x 1.25 W x 0.06 D Features -Screw pack M4. -Base material Zinc alloy. -Lifetime warranty. -Sanctuary collection. Dimensions Size 1 H x 1 W x 0.06 D - Overall Height - Top to Bottom -1. Size 1 H x 1 W x 0.06 D - Overall Width - Side to Side -1. Size 1 H x 1 W x 0.06 D - Overall Product Weight -0.1 lbs. Size 1.25 H\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nSanctuary Square Backplate Finish Oiled Rubbed Bronze, Size 1.25 H x 1.25 W x 0.06 D\nFinish Oiled Rubbed Bronze, Size 1.25 H x 1.25 W x 0.06 D Features -Screw pack M4. -Base material Zinc alloy. -Lifetime warranty. -Sanctuary collection. Dimensions Size 1 H x 1 W x 0.06 D - Overall Height - Top to Bottom -1. Size 1 H x 1 W x 0.06 D - Overall Width - Side to Side -1. Size 1 H x 1 W x 0.06 D - Overall Product Weight -0.1 lbs. Size 1.25 H\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nFeit Electric 35W EQ DM MR16 LED Light Bulb, 6 Bulbs\nThis Feit Electric equivalent traditional glass MR16 flood LED light bulb has a GU10 base. Featuring bright white and high 90+ CRI (color rendering index) rating this Enhance LED is our highest quality energy efficient light with bolder color rendering and enhanced contrast so people and objects appear more realistic and vibrant. This MR16 reflector produces a similar light output while using less energy than a standard incandescent light bulb. The dimmable light has an average life of 25000 hours \/ 22 years and is safe for indoor or outside use. Choose a dependable high quality 120 volt MR16 bulb for residential or commercial applications. Specifications \ud83d\udca1 Color temperature 3000K\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nFeit Electric 35W EQ DM MR16 LED Light Bulb, 6 Bulbs\nThis Feit Electric equivalent traditional glass MR16 flood LED light bulb has a GU10 base. Featuring bright white and high 90+ CRI (color rendering index) rating this Enhance LED is our highest quality energy efficient light with bolder color rendering and enhanced contrast so people and objects appear more realistic and vibrant. This MR16 reflector produces a similar light output while using less energy than a standard incandescent light bulb. The dimmable light has an average life of 25000 hours \/ 22 years and is safe for indoor or outside use. Choose a dependable high quality 120 volt MR16 bulb for residential or commercial applications. Specifications \ud83d\udca1 Color temperature 3000K\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nAmprobe TIC 410A Hot Stick Attachment\nAmprobe products range from an extensive line of clamp meters and digital multimeters to industry-specific tools for residential\/commercial electricians, HVAC\/R technicians, utilities and industrial maintenance professionals. All Amprobe tools undergo rigorous testing to ensure full compliance with the latest IEC and CE safety regulations in Fluke Safety labs for quality and safety you can trust. Extension probe attaches to Amprobe TIC 300 Pro AC voltage detector to test for high AC voltages without touching or disconnecting the circuit Can detect AC voltages between 1,500V and For utility, industrial, and mining applications when working with high-voltage equipment such as transmission lines, downed power lines, fuses, and load-break connectors Extends to 57 long Conforms\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nAmprobe TIC 410A Hot Stick Attachment\nAmprobe products range from an extensive line of clamp meters and digital multimeters to industry-specific tools for residential\/commercial electricians, HVAC\/R technicians, utilities and industrial maintenance professionals. All Amprobe tools undergo rigorous testing to ensure full compliance with the latest IEC and CE safety regulations in Fluke Safety labs for quality and safety you can trust. Extension probe attaches to Amprobe TIC 300 Pro AC voltage detector to test for high AC voltages without touching or disconnecting the circuit Can detect AC voltages between 1,500V and For utility, industrial, and mining applications when working with high-voltage equipment such as transmission lines, downed power lines, fuses, and load-break connectors Extends to 57 long Conforms\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nMax Advanced Brakes Elite XDS Front Cross-Drill & Slots Rotors with Elite Max Brake Pads\nMax Advanced Brakes Elite XDS FRONT brake kit is exceptional in every way to meet the demanding braking needs for multiple driving styles, road and weather conditions FRONT brake kit with Elite XDS brake rotors are finished with a special coating to prevent corrosion & rust and to protect against moisture and salt. Brake rotors are cross-drilled and slotted to dissipate heat and keep your brakes in perfect condition at all times. Elite Max brake pads and hardware clips included Max Advanced Brakes has been providing replacement brake kits, brake rotors and brake pads for over 10 years and we've always prioritized the safety and satisfaction of our customers. Our brakes are designed to be safe and durable\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nMax Advanced Brakes Elite XDS Front Cross-Drill & Slots Rotors with Elite Max Brake Pads\nMax Advanced Brakes Elite XDS FRONT brake kit is exceptional in every way to meet the demanding braking needs for multiple driving styles, road and weather conditions FRONT brake kit with Elite XDS brake rotors are finished with a special coating to prevent corrosion & rust and to protect against moisture and salt. Brake rotors are cross-drilled and slotted to dissipate heat and keep your brakes in perfect condition at all times. Elite Max brake pads and hardware clips included Max Advanced Brakes has been providing replacement brake kits, brake rotors and brake pads for over 10 years and we've always prioritized the safety and satisfaction of our customers. Our brakes are designed to be safe and durable\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nMelissa & Doug Lifelike Plush Stork Giant Standing Stuffed Animal (3+ Feet Tall)\nThis lifelike plush stork really delivers! A terrific way to welcome a new baby and a great companion for years to come, this striking silky white stork with black wingtips and realistic details is sure to turn heads. Standing an impressive three-plus feet tall, this lifelike bird\u2019s soft, squeezable body covered with silky feathers encourage hugs and cuddles, while quality construction and a strong interior structure keep it standing proudly for years to come. The included baby bib The stork wears proclaims \u201cwelcome baby\u201d. the stories long bright orange legs stand on an oval two-foot-long base for extra stability. Kids\u2019 imaginations are sure to take flight with this beautiful feathered\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nMelissa & Doug Lifelike Plush Stork Giant Standing Stuffed Animal (3+ Feet Tall)\nThis lifelike plush stork really delivers! A terrific way to welcome a new baby and a great companion for years to come, this striking silky white stork with black wingtips and realistic details is sure to turn heads. Standing an impressive three-plus feet tall, this lifelike bird\u2019s soft, squeezable body covered with silky feathers encourage hugs and cuddles, while quality construction and a strong interior structure keep it standing proudly for years to come. The included baby bib The stork wears proclaims \u201cwelcome baby\u201d. the stories long bright orange legs stand on an oval two-foot-long base for extra stability. Kids\u2019 imaginations are sure to take flight with this beautiful feathered\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nR1 Concepts Front Rear Brakes and Rotors Kit |Front Rear Brake Pads| Brake Rotors and Pads| Ceramic Brake Pads and Rotors |fits Lexus IS250\nR1 Concepts Series brake rotors are great for those who want a medium performance upgrade over their factory brakes. Every rotor uses a iron grade of G3000 that provides great stability and braking power. All-in-One Complete Brake Kit Replacement eLine Series Front & Rear Brake Kit comes with (4) high performance brake rotors and (8) low-dust ceramic brake pads. High Performance Brake Rotors Made of G3000 grade cast iron with zinc finish for ultimate rust protection. Built with O.E.M specifications in mind, no modification required. Ultimate Stopping Power Precision-drilled holes and countersunk design\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nR1 Concepts Front Rear Brakes and Rotors Kit |Front Rear Brake Pads| Brake Rotors and Pads| Ceramic Brake Pads and Rotors |fits Lexus IS250\nR1 Concepts Series brake rotors are great for those who want a medium performance upgrade over their factory brakes. Every rotor uses a iron grade of G3000 that provides great stability and braking power. All-in-One Complete Brake Kit Replacement eLine Series Front & Rear Brake Kit comes with (4) high performance brake rotors and (8) low-dust ceramic brake pads. High Performance Brake Rotors Made of G3000 grade cast iron with zinc finish for ultimate rust protection. Built with O.E.M specifications in mind, no modification required. Ultimate Stopping Power Precision-drilled holes and countersunk design\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nHYANKA 15 1200W Professional DJ Speaker, Portable Pa System, Bluetooth Party Speaker with Subwoofer, Microphone and Speaker Set, Powered Pa Speaker System with Light, FM, TWS, USB, Remote, EQ\n1. High Powered Active Professional DJ Speaker The B-15 has been finely tuned by our experienced engineer teams with 1200W P.M.P.O portable loud powered system with the HF Unit made of super titanium film with high sound without any distortion. Separate bass and treble controls on this Active Professional DJ Speaker allow for precise pitch tuning. This Bluetooth DJ speaker with subwoofer will give you incredibly loud sound crystal-clear treble and booming bass. 2. Multiple Easy Connections This large party powered pa speaker with 15 subwoofer can be connected\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nHYANKA 15 1200W Professional DJ Speaker, Portable Pa System, Bluetooth Party Speaker with Subwoofer, Microphone and Speaker Set, Powered Pa Speaker System with Light, FM, TWS, USB, Remote, EQ\n1. High Powered Active Professional DJ Speaker The B-15 has been finely tuned by our experienced engineer teams with 1200W P.M.P.O portable loud powered system with the HF Unit made of super titanium film with high sound without any distortion. Separate bass and treble controls on this Active Professional DJ Speaker allow for precise pitch tuning. This Bluetooth DJ speaker with subwoofer will give you incredibly loud sound crystal-clear treble and booming bass. 2. Multiple Easy Connections This large party powered pa speaker with 15 subwoofer can be connected\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nLucida LG-510 Student Classical Guitar, Full Size\nThe perfect guitar for any beginner, the Lucida Student LG-510 features Gotoh tuners for easy tuning, nylon strings for low string tension and a classic design available in multiple sizes. White Wood Top, Back and Sides Open Gear Gotoh Tuning Machines Nato Neck Hard Maple Fretboard Multi-Colored Rosette Weight 3.7 pounds, Dimensions 39 x 15 x 4 inches, model number Rank Musical Instruments Classical & Nylon-String Guitars 336, Is Discontinued No, Available May 3, 2010, Back Material White Wood, Body Material Wood, Color Name Multi-colored,White, Fretboard Material Maple Wood, String Material Nylon, Top Material White Wood,\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nLucida LG-510 Student Classical Guitar, Full Size\nThe perfect guitar for any beginner, the Lucida Student LG-510 features Gotoh tuners for easy tuning, nylon strings for low string tension and a classic design available in multiple sizes. White Wood Top, Back and Sides Open Gear Gotoh Tuning Machines Nato Neck Hard Maple Fretboard Multi-Colored Rosette Weight 3.7 pounds, Dimensions 39 x 15 x 4 inches, model number Rank Musical Instruments Classical & Nylon-String Guitars 336, Is Discontinued No, Available May 3, 2010, Back Material White Wood, Body Material Wood, Color Name Multi-colored,White, Fretboard Material Maple Wood, String Material Nylon, Top Material White Wood,\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nChinese Style Dollhouse Model DIY Miniature Furniture Kit Wooden Tea Shop Dolls House with LED Lights Accessories Hand Craft Puzzle Toy Birthday Gift\nFeature This dollhouse makes a great craft project and gift for both friends and collectors! The pictures shows finished project. You receive are spare parts,Mainly through, paste, assembly, modeling, placement DIY craft, complete your lovely beautiful house.Glue and Battery are not included.Detailed pictures instructions. ( Just follow the pictures! )Description Assembly Difficulty Level Time 2-10 hoursFinished Size as picture showsWeight Approximate Include 1 x DollhouseNote 1.The real color of the item may be slightly different from the pictures shown on allow error due to the hand measurement. 3.Due to long shipping, the item may damage in transit, if\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nChinese Style Dollhouse Model DIY Miniature Furniture Kit Wooden Tea Shop Dolls House with LED Lights Accessories Hand Craft Puzzle Toy Birthday Gift\nFeature This dollhouse makes a great craft project and gift for both friends and collectors! The pictures shows finished project. You receive are spare parts,Mainly through, paste, assembly, modeling, placement DIY craft, complete your lovely beautiful house.Glue and Battery are not included.Detailed pictures instructions. ( Just follow the pictures! )Description Assembly Difficulty Level Time 2-10 hoursFinished Size as picture showsWeight Approximate Include 1 x DollhouseNote 1.The real color of the item may be slightly different from the pictures shown on allow error due to the hand measurement. 3.Due to long shipping, the item may damage in transit, if\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nApple Watch Series 6 (GPS, 44mm) - Space Gray Aluminum Case with Black Sport Band (Renewed Premium)\nApple Watch Series 6 (GPS, 44mm) - Space Gray Aluminum Case with Black Sport Band LEAVE YOUR PHONE IN YOUR POCKET Apple Watch Series 6 GPS Model lets you call, text, and get directions from your wrist, while leaving your phone in your pocket. It offers multiple connectivity options, including Bluetooth, Wi-Fi, and NFC to suit all of your possible needs. ALWAYS-ON RETINA DISPLAY You no longer need to raise your wrist or touch the screen to see the time or other information on your watch face, because the display never sleeps. All you need to do is glance to find the time or your workout metrics right there where you\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nApple Watch Series 6 (GPS, 44mm) - Space Gray Aluminum Case with Black Sport Band (Renewed Premium)\nApple Watch Series 6 (GPS, 44mm) - Space Gray Aluminum Case with Black Sport Band LEAVE YOUR PHONE IN YOUR POCKET Apple Watch Series 6 GPS Model lets you call, text, and get directions from your wrist, while leaving your phone in your pocket. It offers multiple connectivity options, including Bluetooth, Wi-Fi, and NFC to suit all of your possible needs. ALWAYS-ON RETINA DISPLAY You no longer need to raise your wrist or touch the screen to see the time or other information on your watch face, because the display never sleeps. All you need to do is glance to find the time or your workout metrics right there where you\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nHoshizaki FM116A Fan Motor Kit 1\nProduct Description Hoshizaki FM116A Fan Motor Kit 1 is a genuine OEM (original equipment manufacturer) replacement part. Hoshizaki is committed to developing original products that bring comfort and convenience to your life. Approved by original equipment manufacturer (OEM) and intended only for designed and specified use. From the Manufacturer FAN MOTOR KIT 1. Hoshizaki Genuine OEM replacement part. Hoshizaki is committed to developing original products that bring comfort and convenience to your life. Use genuine OEM parts for safety reliability and performance. Genuine OEM replacement part Hoshizaki is committed to developing original products that bring comfort and convenience to your life Genuine OEM provides safety, reliability, and optimal performance Approved by original\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nHoshizaki FM116A Fan Motor Kit 1\nProduct Description Hoshizaki FM116A Fan Motor Kit 1 is a genuine OEM (original equipment manufacturer) replacement part. Hoshizaki is committed to developing original products that bring comfort and convenience to your life. Approved by original equipment manufacturer (OEM) and intended only for designed and specified use. From the Manufacturer FAN MOTOR KIT 1. Hoshizaki Genuine OEM replacement part. Hoshizaki is committed to developing original products that bring comfort and convenience to your life. Use genuine OEM parts for safety reliability and performance. Genuine OEM replacement part Hoshizaki is committed to developing original products that bring comfort and convenience to your life Genuine OEM provides safety, reliability, and optimal performance Approved by original\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nBeck\/Arnley Hub & Bearing Assembly\nSince 1914, Beck\/Arnley has focused on the customer, offering high quality parts that look and perform the same as the original part. This ideal has never changed. Today, Beck\/Arnley is committed to being the premium supplier of high quality import parts within the automotive market. BeckArnley is an original equipment brand that partners with other manufacturers to supply the parts that cars were originally built with. This product is in a BeckArnley package, note that the part may have been manufactured by an independent BeckArnley supplier and the number on the part may differ from the number on the package. Quality construction Excellent materials Exacting tolerances Manufacturer Beck\/Arnley, Brand Beck\/Arnley, Weight 6.37 Pounds\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nBeck\/Arnley Hub & Bearing Assembly\nSince 1914, Beck\/Arnley has focused on the customer, offering high quality parts that look and perform the same as the original part. This ideal has never changed. Today, Beck\/Arnley is committed to being the premium supplier of high quality import parts within the automotive market. BeckArnley is an original equipment brand that partners with other manufacturers to supply the parts that cars were originally built with. This product is in a BeckArnley package, note that the part may have been manufactured by an independent BeckArnley supplier and the number on the part may differ from the number on the package. Quality construction Excellent materials Exacting tolerances Manufacturer Beck\/Arnley, Brand Beck\/Arnley, Weight 6.37 Pounds\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nSchmidt Spiele - Manhattan\nThe product of this place is a board game of Hans im Gluck's \/ Andreas Seyfarth work. It is with a Japanese manual in Japan version package of Mobius Games Inc.. Number of players 2-4 people Target age 10 years old or older Playing Time 60 minutes one point sales easy-to-understand rules, fun easy-to-understand, easy-to-understand strategy, the progress of the game can be seen in the eyes. It is a game that can be recommended to anyone. 2-4 people for Age 10 years old - adult Travel Time 60 minutes From Germany With a Japanese manual Dimensions 11.81 x 5.91 x 3.94 inches, Weight 10.6 ounces, model number \n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nSchmidt Spiele - Manhattan\nThe product of this place is a board game of Hans im Gluck's \/ Andreas Seyfarth work. It is with a Japanese manual in Japan version package of Mobius Games Inc.. Number of players 2-4 people Target age 10 years old or older Playing Time 60 minutes one point sales easy-to-understand rules, fun easy-to-understand, easy-to-understand strategy, the progress of the game can be seen in the eyes. It is a game that can be recommended to anyone. 2-4 people for Age 10 years old - adult Travel Time 60 minutes From Germany With a Japanese manual Dimensions 11.81 x 5.91 x 3.94 inches, Weight 10.6 ounces, model number \n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nDell Latitude E6520 Intel 8GB RAM 500GB HDD Win 10 Pro DVD-RW (Renewed)\nKeep up with business wherever you are with the Latitude E6520 laptop. It is ideal for professionals looking for a stable and durable laptop that is light and easy to carry on the go. Specifications Processor Intel Quad Core up to 3.3 GHz Graphics Intel HD Integrated Graphics Memory 8G DDR3 Hard Drive 500G Webcam Webcam Operating System Windows 10 Pro 64 Bit Multi-Language. Ports Network connector USB 2.0 (4) \u2013 1 USB\/eSATA combo, Stereo headphone\/Microphone combo jack, 1394, Docking Connector, VGA, HDMI. Warranty 1 full year Parts and Labor Warranty Included in the box Computer\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nDell Latitude E6520 Intel 8GB RAM 500GB HDD Win 10 Pro DVD-RW (Renewed)\nKeep up with business wherever you are with the Latitude E6520 laptop. It is ideal for professionals looking for a stable and durable laptop that is light and easy to carry on the go. Specifications Processor Intel Quad Core up to 3.3 GHz Graphics Intel HD Integrated Graphics Memory 8G DDR3 Hard Drive 500G Webcam Webcam Operating System Windows 10 Pro 64 Bit Multi-Language. Ports Network connector USB 2.0 (4) \u2013 1 USB\/eSATA combo, Stereo headphone\/Microphone combo jack, 1394, Docking Connector, VGA, HDMI. Warranty 1 full year Parts and Labor Warranty Included in the box Computer\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nMotorcraft YB3125 Fan Clutch\nMotorcraft YB3125 Fan Clutch Package Dimensions 25.146 cms (L) x 20.066 cms (W) x 15.494 cms (H) Package Quantity 1 Product Type Auto Part Country Of Origin China Manufacturer Motorcraft, Brand Motorcraft, Model Fan Clutch, Weight 5 pounds, Dimensions 10 x 7.63 x 6.25 inches, Country of Origin China, model number Exterior Painted, Manufacturer Part Rank Automotive Automotive Replacement Engine Fan Clutches 583, Domestic Shipping can be shipped within U.S., International Shipping This item can be shipped to select countries outside of the U.S. Learn More, Available October 10, 2007\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nMotorcraft YB3125 Fan Clutch\nMotorcraft YB3125 Fan Clutch Package Dimensions 25.146 cms (L) x 20.066 cms (W) x 15.494 cms (H) Package Quantity 1 Product Type Auto Part Country Of Origin China Manufacturer Motorcraft, Brand Motorcraft, Model Fan Clutch, Weight 5 pounds, Dimensions 10 x 7.63 x 6.25 inches, Country of Origin China, model number Exterior Painted, Manufacturer Part Rank Automotive Automotive Replacement Engine Fan Clutches 583, Domestic Shipping can be shipped within U.S., International Shipping This item can be shipped to select countries outside of the U.S. Learn More, Available October 10, 2007\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nHP Premium HD Plus Touchscreen 1TB HDD 2.3GHz AMD Ryzen 5, (12GB RAM, Ryzen 5 4500U, DVD Writer, Windows 10 Home) Natural Silver, (Renewed)\nThis pre-owned or refurbished product has been professionally inspected and tested to work and look like new. How a product becomes part of Amazon Renewed, your destination for pre-owned, refurbished products A customer buys a new product and returns it or trades it in for a newer or different model. That product is inspected and tested to work and look like new by Amazon-qualified suppliers. Then, the product is sold as an Amazon Renewed product on Amazon. If not satisfied with the purchase, renewed products are eligible for replacement or refund under the Amazon Renewed Guarantee.\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nHP Premium HD Plus Touchscreen 1TB HDD 2.3GHz AMD Ryzen 5, (12GB RAM, Ryzen 5 4500U, DVD Writer, Windows 10 Home) Natural Silver, (Renewed)\nThis pre-owned or refurbished product has been professionally inspected and tested to work and look like new. How a product becomes part of Amazon Renewed, your destination for pre-owned, refurbished products A customer buys a new product and returns it or trades it in for a newer or different model. That product is inspected and tested to work and look like new by Amazon-qualified suppliers. Then, the product is sold as an Amazon Renewed product on Amazon. If not satisfied with the purchase, renewed products are eligible for replacement or refund under the Amazon Renewed Guarantee.\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nQuality-Built 11030 Premium Quality Alternator\nQuality-Built Alternators are remanufactured for a perfect fit. Housings are 100 percent blasted clean, all mounting threads inspected, re-tapped for easy installation and consistent torque. Terminals are of 100 percent OE-quality. High-temp insulators make connections secure and reliable. Quality-Built alternators are re-designed to operate with every turn of the key for reliable performance. Rotors are electronically tested and coated with high dielectric insulation to ensure maximum durability and charging performance. Bearings are inspected or new, with high-temperature grease for reduced heat and friction. Stators are electronically tested for maximum insulation quality and phase balance. Rectifiers are load tested to ensure alternator durability and charging performance. Brushes and springs are new\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nQuality-Built 11030 Premium Quality Alternator\nQuality-Built Alternators are remanufactured for a perfect fit. Housings are 100 percent blasted clean, all mounting threads inspected, re-tapped for easy installation and consistent torque. Terminals are of 100 percent OE-quality. High-temp insulators make connections secure and reliable. Quality-Built alternators are re-designed to operate with every turn of the key for reliable performance. Rotors are electronically tested and coated with high dielectric insulation to ensure maximum durability and charging performance. Bearings are inspected or new, with high-temperature grease for reduced heat and friction. Stators are electronically tested for maximum insulation quality and phase balance. Rectifiers are load tested to ensure alternator durability and charging performance. Brushes and springs are new\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nUniversal Air Conditioner KT 1031 A\/C Compressor and Component Kit\nUAC A\/C Compressor and Component Kit Brand New, OE replacement UAC branded Compressor Kit 100% Guaranteed Fit! Add your car (year\/make\/model) to Amazon's garage to confirm Premium ISO\/TS 16949 quality; tested to meet or exceed OEM specifications Includes compressor & clutch, drier \/ accumulator, expansion device, 8oz bottle of PAG oil, seal kit; compressor may come charged with shipping oil to keep the part lubricated during transit - drain and replace according to your system's requirements Product is backed by industry leading warranty Manufacturer UAC, Brand UAC, Model KT 1031, Weight 17.9 pounds, Dimensions 17 x 16 x 12\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nUniversal Air Conditioner KT 1031 A\/C Compressor and Component Kit\nUAC A\/C Compressor and Component Kit Brand New, OE replacement UAC branded Compressor Kit 100% Guaranteed Fit! Add your car (year\/make\/model) to Amazon's garage to confirm Premium ISO\/TS 16949 quality; tested to meet or exceed OEM specifications Includes compressor & clutch, drier \/ accumulator, expansion device, 8oz bottle of PAG oil, seal kit; compressor may come charged with shipping oil to keep the part lubricated during transit - drain and replace according to your system's requirements Product is backed by industry leading warranty Manufacturer UAC, Brand UAC, Model KT 1031, Weight 17.9 pounds, Dimensions 17 x 16 x 12\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nAtomic Compatible MERV 8 Carrier Replacement Furnace Filter - 2 Pack\nThe Atomic is a compatible filter fits the Carrier FILCAB mechanical air cleaner and MPKA series. This media filter is a whole house filter which is attached to the HVAC system. It has a MERV 8 filter efficiency value, which indicates how efficient the particles that can be trapped by the filter. The higher the rating, the finer the filtration and the fewer the particles that pass through it. To further increase filtration, it has a pleated rather than a flat surface, thereby increasing the filtering surface area. This efficiently traps airborne particles as small as 3 microns. An additional benefit is that an air filter will also extend the life of your heating and cooling system by making it work more efficiently by preventing the\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nAtomic Compatible MERV 8 Carrier Replacement Furnace Filter - 2 Pack\nThe Atomic is a compatible filter fits the Carrier FILCAB mechanical air cleaner and MPKA series. This media filter is a whole house filter which is attached to the HVAC system. It has a MERV 8 filter efficiency value, which indicates how efficient the particles that can be trapped by the filter. The higher the rating, the finer the filtration and the fewer the particles that pass through it. To further increase filtration, it has a pleated rather than a flat surface, thereby increasing the filtering surface area. This efficiently traps airborne particles as small as 3 microns. An additional benefit is that an air filter will also extend the life of your heating and cooling system by making it work more efficiently by preventing the\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nFront Left Driver Side Window Regulator - Compatible with Kia Optima\nFront Left Window Regulator - Compatible with 2014 - 2015 Kia OptimaPosition Front LeftNote Includes Module PanelCompatible With or Fits Note w\/ USA Built - 2014 - 2015 Kia Optima EX - 2014 - 2015 Kia Optima EX Luxury - 2014 - 2015 Kia Optima LX - 2014 - 2015 Kia Optima SXNote - 2014 - 2015 Kia Optima Limited - 2014 - 2015 Kia Optima SX Turbo - 2014 - 2015 Kia Optima SXL Turbo Includes Module Panel Compatible with or fits (Note w\/ USA Built; 2014 - 2015 Kia Opt\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nFront Left Driver Side Window Regulator - Compatible with Kia Optima\nFront Left Window Regulator - Compatible with 2014 - 2015 Kia OptimaPosition Front LeftNote Includes Module PanelCompatible With or Fits Note w\/ USA Built - 2014 - 2015 Kia Optima EX - 2014 - 2015 Kia Optima EX Luxury - 2014 - 2015 Kia Optima LX - 2014 - 2015 Kia Optima SXNote - 2014 - 2015 Kia Optima Limited - 2014 - 2015 Kia Optima SX Turbo - 2014 - 2015 Kia Optima SXL Turbo Includes Module Panel Compatible with or fits (Note w\/ USA Built; 2014 - 2015 Kia Opt\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nWhitehall\u2122 Personalized Whitehall Capitol Mailbox with Door & Side Address Plaques Personalized Mailbox (3 Colors Available)\nAfter your order is placed, our friendly US based representatives will send a layout for your approval THREE COLORS AVAILABLE 1) Black with Gold Address 2) Bronze with Gold Address 3) White with Gold Address BOX DIMENSIONS - 9.625 X 13 X Approved by Postmaster General. Manufactured from die cast, high-density aluminum alloy The address Plaque can display up to five, 3 numbers and the bottom line holds up to sixteen, 1.25 characters. Material Aluminum, Included Security Features Hopper & Baffle, Brand Clarus Crystal, Dimensions 20.38\\ D x 9.63\\ W x 13\\ H\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nWhitehall\u2122 Personalized Whitehall Capitol Mailbox with Door & Side Address Plaques Personalized Mailbox (3 Colors Available)\nAfter your order is placed, our friendly US based representatives will send a layout for your approval THREE COLORS AVAILABLE 1) Black with Gold Address 2) Bronze with Gold Address 3) White with Gold Address BOX DIMENSIONS - 9.625 X 13 X Approved by Postmaster General. Manufactured from die cast, high-density aluminum alloy The address Plaque can display up to five, 3 numbers and the bottom line holds up to sixteen, 1.25 characters. Material Aluminum, Included Security Features Hopper & Baffle, Brand Clarus Crystal, Dimensions 20.38\\ D x 9.63\\ W x 13\\ H\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nLEGO DC Batman 1989 Batwing 76161 Displayable Model with a Buildable Vehicle and Collectible Figures Batman, The Joker \u2013 Mime Version and Lawrence The Boombox Goon, New 2021 (2,363 Pieces)\nThis is no kid\u2019s toy. If you\u2019re serious about BATMAN, comic book super heroes or making cool models, this LEGO DC BATMAN 1989 Batwing is for you! Recreate the authentic detail and gothic elegance of BATMAN\u2019s iconic aircraft, the Batwing, with this LEGO brick build-and-display model. The impressive reproduction features realistic details, removable canopy, full interior, poseable flaps and a new special brick that will allow you to mount and display your model on your wall. There\u2019s also a stand, nameplate\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nLEGO DC Batman 1989 Batwing 76161 Displayable Model with a Buildable Vehicle and Collectible Figures Batman, The Joker \u2013 Mime Version and Lawrence The Boombox Goon, New 2021 (2,363 Pieces)\nThis is no kid\u2019s toy. If you\u2019re serious about BATMAN, comic book super heroes or making cool models, this LEGO DC BATMAN 1989 Batwing is for you! Recreate the authentic detail and gothic elegance of BATMAN\u2019s iconic aircraft, the Batwing, with this LEGO brick build-and-display model. The impressive reproduction features realistic details, removable canopy, full interior, poseable flaps and a new special brick that will allow you to mount and display your model on your wall. There\u2019s also a stand, nameplate\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nWestin Black HDX Grille Guard fits Ram 2500 3500 (Excl. Power Wagon)\nThe HDX Grille Guard is the ultimate in extreme truck gear. Its a fully welded grille guard that features full wraparound wings made of heavy duty 2 diameter tube. Uprights are finished and protected with extra wide rubber that is 1\/8 thick and 2 3\/4 wide resulting in a solid clean look. The full punch plate grille protects the vehicle's grille area. HDX Grille Guards are available in stainless and black powder coat finish. PERFECT FIT Direct fit for Ram 2500 3500 (Excl. Power Wagon) 2 inch tube, full wrap around wings Mount kit and hardware included Full punch plate grille solid construction\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nWestin Black HDX Grille Guard fits Ram 2500 3500 (Excl. Power Wagon)\nThe HDX Grille Guard is the ultimate in extreme truck gear. Its a fully welded grille guard that features full wraparound wings made of heavy duty 2 diameter tube. Uprights are finished and protected with extra wide rubber that is 1\/8 thick and 2 3\/4 wide resulting in a solid clean look. The full punch plate grille protects the vehicle's grille area. HDX Grille Guards are available in stainless and black powder coat finish. PERFECT FIT Direct fit for Ram 2500 3500 (Excl. Power Wagon) 2 inch tube, full wrap around wings Mount kit and hardware included Full punch plate grille solid construction\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nLittle Tikes My Real Jam First Concert Set with Electric Guitar, Drum and Keyboard, 4 Play Modes, and Bluetooth Connectivity - for Kids Ages 3+\nThe My Real Jam\u2122 First Concert Set lets kids harness their inner musician. Four play modes\u2014Play with the Band, Free Play; Solo Jam; Play Any Song with Bluetooth\u00ae \u2014provides countless hours of musical fun. The realistically designed Electric Guitar, Drums and Keyboard are packed with features, while the packages double as reusable instrument cases, perfect for storing the instruments or for hitting the road as an aspiring musician. BECOME A SUPERSTAR \u2013 Lets kids jam their way to rock star status with a perfect combo of musical play and pretend play PLAY ANY SONG WITH BLUETOOTH - Sync with any Bluetooth enabled device to play along\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nLittle Tikes My Real Jam First Concert Set with Electric Guitar, Drum and Keyboard, 4 Play Modes, and Bluetooth Connectivity - for Kids Ages 3+\nThe My Real Jam\u2122 First Concert Set lets kids harness their inner musician. Four play modes\u2014Play with the Band, Free Play; Solo Jam; Play Any Song with Bluetooth\u00ae \u2014provides countless hours of musical fun. The realistically designed Electric Guitar, Drums and Keyboard are packed with features, while the packages double as reusable instrument cases, perfect for storing the instruments or for hitting the road as an aspiring musician. BECOME A SUPERSTAR \u2013 Lets kids jam their way to rock star status with a perfect combo of musical play and pretend play PLAY ANY SONG WITH BLUETOOTH - Sync with any Bluetooth enabled device to play along\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nHarley Air Filter Venturi Intake Air Cleaner Motorcycle Cnc Cut Chrome Kit for Touring Street Glide 2008 - 2016 Softail 2016 - 2017 Fitment - C (Gray)\nPackage x Air Cleaner Intake Filter with Accessories Fitment for Harley Touring Street Glide 2008 - 2016, Touring Road Glide 2008 - 2016, Softail 2016 - 2017, Dyna FXDLS 2017, FLSTNSE 2014 - 2015, FLSTSE 2011 - 2012, FXSBSE 2013 - 2014 NOTE Before purchase, please check electric or non-electric throttle on your Touring models. If Electric - use fitment C. If non\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nHarley Air Filter Venturi Intake Air Cleaner Motorcycle Cnc Cut Chrome Kit for Touring Street Glide 2008 - 2016 Softail 2016 - 2017 Fitment - C (Gray)\nPackage x Air Cleaner Intake Filter with Accessories Fitment for Harley Touring Street Glide 2008 - 2016, Touring Road Glide 2008 - 2016, Softail 2016 - 2017, Dyna FXDLS 2017, FLSTNSE 2014 - 2015, FLSTSE 2011 - 2012, FXSBSE 2013 - 2014 NOTE Before purchase, please check electric or non-electric throttle on your Touring models. If Electric - use fitment C. If non\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nSmart Floor Lamp, Multicolors Scene DIY Torch Floor Lamp, 24W 2400LM Dimmable Tall Standing Lamp work with Alexa Google Home,Wifi Remote Control RGB Floor Lamp For Living Room\nSmart Control\ud83d\udca1Control this smart floor lamp using the Smart Life app or your voice with Amazon Alexa or Google Home. You can group multiple lamps together and control them individually or together. Choose from 16 million colors and 12 scenes to create the perfect lighting for any occasion. Note The lamp only works with 2.4GHz Wi-Fi networks. Adjustable Lighting\ud83d\udca1 This floor lamp features a range of white color temperatures from 2700K to 6500K and single color RGBWW options. The lamp is also dimmable and uses high-quality LED chips with a C\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nSmart Floor Lamp, Multicolors Scene DIY Torch Floor Lamp, 24W 2400LM Dimmable Tall Standing Lamp work with Alexa Google Home,Wifi Remote Control RGB Floor Lamp For Living Room\nSmart Control\ud83d\udca1Control this smart floor lamp using the Smart Life app or your voice with Amazon Alexa or Google Home. You can group multiple lamps together and control them individually or together. Choose from 16 million colors and 12 scenes to create the perfect lighting for any occasion. Note The lamp only works with 2.4GHz Wi-Fi networks. Adjustable Lighting\ud83d\udca1 This floor lamp features a range of white color temperatures from 2700K to 6500K and single color RGBWW options. The lamp is also dimmable and uses high-quality LED chips with a C\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nCarlinkit Ai Box Mini, Android 11, Multimedia Video Magic GPS,Wireless Caplay & Wireless Android Auto, Only Support Car with OEM Wired CarPlay\nCompatible models recommended Car Links Your Phone Over The Air, Applicable to cars of 2015 and above. Please check the listing page before purchasing. If yours is not in the list, please ask for help from carlinkit. Multiple Online service Real-time online Maps will guide you at any time, either by connecting to a mobile phone hotspot, or by inserting a SIM card. Both of these allow you to enjoy the convenience. It also supports voice assistants, adding a new way to free your hands. SIM & TF Card & Type-C slot Simple card slot design makes everything clear at a glance. Support NANO SIM card\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nCarlinkit Ai Box Mini, Android 11, Multimedia Video Magic GPS,Wireless Caplay & Wireless Android Auto, Only Support Car with OEM Wired CarPlay\nCompatible models recommended Car Links Your Phone Over The Air, Applicable to cars of 2015 and above. Please check the listing page before purchasing. If yours is not in the list, please ask for help from carlinkit. Multiple Online service Real-time online Maps will guide you at any time, either by connecting to a mobile phone hotspot, or by inserting a SIM card. Both of these allow you to enjoy the convenience. It also supports voice assistants, adding a new way to free your hands. SIM & TF Card & Type-C slot Simple card slot design makes everything clear at a glance. Support NANO SIM card\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nGibson Performance Exhaust 5658 Aluminized Dual Extreme Cat-Back Performance Exhaust System\nFor the extremist who wants to take their truck to the next level, this dual bolt-on Cat back system is for you. This system exists behind the rear tires at an aggressive angle with a powerful exhaust tone. You will gain bold street looks with powerful dyno tuned and tested street performance gains. You can expect to experience gains on average of 15-20 horsepower. Gibson muffler provides a mean performance sound and complemented with polished Stainless Steel Tip. Easy bolt-on installation. No welding required. Backed by a Lifetime Limited Warranty. If you want Extreme, this system is it. 3 inch aluminized mandrel bent tubing Gibson muffler features a baffled and chambered design,\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nGibson Performance Exhaust 5658 Aluminized Dual Extreme Cat-Back Performance Exhaust System\nFor the extremist who wants to take their truck to the next level, this dual bolt-on Cat back system is for you. This system exists behind the rear tires at an aggressive angle with a powerful exhaust tone. You will gain bold street looks with powerful dyno tuned and tested street performance gains. You can expect to experience gains on average of 15-20 horsepower. Gibson muffler provides a mean performance sound and complemented with polished Stainless Steel Tip. Easy bolt-on installation. No welding required. Backed by a Lifetime Limited Warranty. If you want Extreme, this system is it. 3 inch aluminized mandrel bent tubing Gibson muffler features a baffled and chambered design,\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nWilwood Engineering Brake Caliper\nWilwood's D52 Front Caliper Kit is a direct bolt-on 2 piston replacement for the factory original single calipers on many GM Passenger Vehicles and Trucks. Forged billet aluminum bodies, stainless steel pistons, and competition style high-temperature seals put an end to the rust, bore pitting, and seal failures that plague the OE caliper design. D52 calipers provide low-maintenance performance and a huge weight savings with high temperature reliability for the street and track. D52 calipers mount in the stock location over stock rotors, use the original style OE D52 brake pads and an OE banjo bolt brake line mounting. Calipers can be used with most wheels that clear the OE calipers. The front calipers with 2\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nWilwood Engineering Brake Caliper\nWilwood's D52 Front Caliper Kit is a direct bolt-on 2 piston replacement for the factory original single calipers on many GM Passenger Vehicles and Trucks. Forged billet aluminum bodies, stainless steel pistons, and competition style high-temperature seals put an end to the rust, bore pitting, and seal failures that plague the OE caliper design. D52 calipers provide low-maintenance performance and a huge weight savings with high temperature reliability for the street and track. D52 calipers mount in the stock location over stock rotors, use the original style OE D52 brake pads and an OE banjo bolt brake line mounting. Calipers can be used with most wheels that clear the OE calipers. The front calipers with 2\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nVixen Air 1\/2 NPT Air Ride Suspension High Flow Electric Air Valves\/Solenoids 250 PSI Four Corners with Fittings and Hoses\nThese eight powerful \u00bd NPT air valves with exceptional high flow deliver unparalleled performance for 12V vehicles. The unique design provides high pressure control at minimal power consumption. Valves support pressures of up to 250 PSI and are constructed with high quality brass to ensure continuous use through extreme conditions. Solenoid's DIN connector is water and dust resistant, a metal mounting bracket is included for each valve, and the air flow direction is clearly marked with an arrow to provide an easy trouble-free installation. Premium brass fittings, flow control valves, pressure switch, drain valve, hoses and cutter are included in this kit. \u00bd\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nVixen Air 1\/2 NPT Air Ride Suspension High Flow Electric Air Valves\/Solenoids 250 PSI Four Corners with Fittings and Hoses\nThese eight powerful \u00bd NPT air valves with exceptional high flow deliver unparalleled performance for 12V vehicles. The unique design provides high pressure control at minimal power consumption. Valves support pressures of up to 250 PSI and are constructed with high quality brass to ensure continuous use through extreme conditions. Solenoid's DIN connector is water and dust resistant, a metal mounting bracket is included for each valve, and the air flow direction is clearly marked with an arrow to provide an easy trouble-free installation. Premium brass fittings, flow control valves, pressure switch, drain valve, hoses and cutter are included in this kit. \u00bd\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nMonroe Shocks & Struts Quick-Strut 171491 Strut and Coil Spring Assembly\nFeaturing a vehicle-specific design, Monroe Quick-Strut strut assemblies are fit checked, ride tested and engineered to restore factory ride height and ride performance. Assembled in Paragould, AR, they include all required components in a single unit. QUICKER, SAFER, EASIER AND COMPLETE REPAIR -- Includes everything you need for strut replacement in a single, fully assembled unit with no need for a spring compressor RESTORES RIDE HEIGHT -- Precisely calibrated to meet the OE design, each application-specific coil spring type is engineered to restore ride height and support the vehicle's weight VEHICLE-SPECIFIC DESIGN -- Application-specific coil spring, mount and strut designs ensure optimized ride\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nMonroe Shocks & Struts Quick-Strut 171491 Strut and Coil Spring Assembly\nFeaturing a vehicle-specific design, Monroe Quick-Strut strut assemblies are fit checked, ride tested and engineered to restore factory ride height and ride performance. Assembled in Paragould, AR, they include all required components in a single unit. QUICKER, SAFER, EASIER AND COMPLETE REPAIR -- Includes everything you need for strut replacement in a single, fully assembled unit with no need for a spring compressor RESTORES RIDE HEIGHT -- Precisely calibrated to meet the OE design, each application-specific coil spring type is engineered to restore ride height and support the vehicle's weight VEHICLE-SPECIFIC DESIGN -- Application-specific coil spring, mount and strut designs ensure optimized ride\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nSolar HAMMERED BRONZE Finish Post Deck Fence Cap Lights for 4 X 4 WOOD Post With White LEDs and Vertical-lined Clear Lens -GREEN NATURAL SOLAR\nDuring the day, these energy-efficient Atlantic Solars lights harness sunlight energy to charge their internal Lithium Battery. At night they automatically turn on, emitting a bright glow for your fence post line. Each Atlantic Solars light is made of Premium Heat-Resistant Plastic for years of use. With our Newest & Improved Solar Panels, a 3.2V Lithium Ion Battery, and 5 Ultra Bright White LEDs, its output is virtually unparalleled. Atlantic Solars 4 x 4 Fence Post Caps One Pre-Installed 3.2V Lithium-Ion Battery for each light Light source \n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nSolar HAMMERED BRONZE Finish Post Deck Fence Cap Lights for 4 X 4 WOOD Post With White LEDs and Vertical-lined Clear Lens -GREEN NATURAL SOLAR\nDuring the day, these energy-efficient Atlantic Solars lights harness sunlight energy to charge their internal Lithium Battery. At night they automatically turn on, emitting a bright glow for your fence post line. Each Atlantic Solars light is made of Premium Heat-Resistant Plastic for years of use. With our Newest & Improved Solar Panels, a 3.2V Lithium Ion Battery, and 5 Ultra Bright White LEDs, its output is virtually unparalleled. Atlantic Solars 4 x 4 Fence Post Caps One Pre-Installed 3.2V Lithium-Ion Battery for each light Light source \n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nWera Stainless 3840\/1 TS 2.5mm Hex Insert Bit, Drive\nWera 3840\/1 TS 2.5mm hex insert bit for 1\/4 hex drive is designed to keep rust at bay. Wera\u2019s Stainless tool line is manufactured from 100% Stainless steel, preventing extraneous rust caused by use of conventional tools contaminating stainless fasteners. Wera\u2019s unique vacuum ice-hardened process gives the necessary hardness for industrial applications. Torsion (TZ) bits are designed to prevent premature wear for improved service life. Hex-Plus technology prevents rounding of screw recess and transfers up to 20% more torque. Stainless bits partnered with Wera\u2019s stainless Rapidaptor will protect the full length of the bit against extraneous rust. Ice\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nWera Stainless 3840\/1 TS 2.5mm Hex Insert Bit, Drive\nWera 3840\/1 TS 2.5mm hex insert bit for 1\/4 hex drive is designed to keep rust at bay. Wera\u2019s Stainless tool line is manufactured from 100% Stainless steel, preventing extraneous rust caused by use of conventional tools contaminating stainless fasteners. Wera\u2019s unique vacuum ice-hardened process gives the necessary hardness for industrial applications. Torsion (TZ) bits are designed to prevent premature wear for improved service life. Hex-Plus technology prevents rounding of screw recess and transfers up to 20% more torque. Stainless bits partnered with Wera\u2019s stainless Rapidaptor will protect the full length of the bit against extraneous rust. Ice\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nICON 01725 Tandem Axle Fender Skirt FS1724 for KZ - Cobalt Blue\nTandem axle fender skirt measures to 65-1\/4 x 14. Constructed of durable high-impact ABS plastic. This replacement fender skirt is textured. The legs of these fender skirts curve underneath the trailer. Durable, high-impact ABS plastic Textured finish Quick and simple installation Color Cobalt Blue Size 65-1\/4 x 14 Brand ICON, Color Regular, Exterior Finish Smooth, Material Acrylonitrile Butadiene Styrene, Dimensions LxWxH 14.5 x 5 x 2.9 inches, Style Modern, Auto Part Position Lower, Vehicle Service Type Trailer, Fit Type Universal\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nICON 01725 Tandem Axle Fender Skirt FS1724 for KZ - Cobalt Blue\nTandem axle fender skirt measures to 65-1\/4 x 14. Constructed of durable high-impact ABS plastic. This replacement fender skirt is textured. The legs of these fender skirts curve underneath the trailer. Durable, high-impact ABS plastic Textured finish Quick and simple installation Color Cobalt Blue Size 65-1\/4 x 14 Brand ICON, Color Regular, Exterior Finish Smooth, Material Acrylonitrile Butadiene Styrene, Dimensions LxWxH 14.5 x 5 x 2.9 inches, Style Modern, Auto Part Position Lower, Vehicle Service Type Trailer, Fit Type Universal\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nSAREMAS Foot Step Bars for Hyundai Palisade 2023 Running Boards Side Steps nerf bar Pedal Protector\nThe price for one pair\uff08left and right running board\uff09 Don't drill,use the factory hole Main raw material high quality Aluminum&ABS ect Including brackets and mounting parts For Hyundai Palisade 2020 2021 2022 2023 Manufacturer Donarrw, Brand SAREMAS, Weight 32.3 pounds, Dimensions 81 x 11 x 8 inches, Exterior Aluminum, Manufacturer Part PATXTB, Rank Automotive Running Boards 6648, Available February 18, 2020, Material Aluminum, Acrylonitrile Butadiene Styrene (ABS), Exterior Finish Aluminum, Vehicle Service Type Passenger Car\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nSAREMAS Foot Step Bars for Hyundai Palisade 2023 Running Boards Side Steps nerf bar Pedal Protector\nThe price for one pair\uff08left and right running board\uff09 Don't drill,use the factory hole Main raw material high quality Aluminum&ABS ect Including brackets and mounting parts For Hyundai Palisade 2020 2021 2022 2023 Manufacturer Donarrw, Brand SAREMAS, Weight 32.3 pounds, Dimensions 81 x 11 x 8 inches, Exterior Aluminum, Manufacturer Part PATXTB, Rank Automotive Running Boards 6648, Available February 18, 2020, Material Aluminum, Acrylonitrile Butadiene Styrene (ABS), Exterior Finish Aluminum, Vehicle Service Type Passenger Car\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nHorror Bookmarks, Resin Horror Bookmarks for Adults, The Best Gift for Fans of Horror Novels, Horror Personalized Bookmarks for Men Women, Horror Figures Sculpture Bookmarks (Set)\nHorror Bookmarks - The Best Gift for Fans of Horror Novels, Resin Horror Bookmarks for Adults, Half-Length Figure Sculpture Bookmarks, Horror Bookmark Set for Men Women Office Supplies Specification Upper Part Material Resin Lower Part Of Material Wood Character Size 3.3cm x 2cm \/ x Overall Size 10cm \/ 4inch Package Includes 1 \/ 6 x Horror bookmarks - the best gift for fans of horror novels Note 1. Due to manual measurements, please allow slight measurement deviations. 2. Due to the different display and lighting effects, the\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nHorror Bookmarks, Resin Horror Bookmarks for Adults, The Best Gift for Fans of Horror Novels, Horror Personalized Bookmarks for Men Women, Horror Figures Sculpture Bookmarks (Set)\nHorror Bookmarks - The Best Gift for Fans of Horror Novels, Resin Horror Bookmarks for Adults, Half-Length Figure Sculpture Bookmarks, Horror Bookmark Set for Men Women Office Supplies Specification Upper Part Material Resin Lower Part Of Material Wood Character Size 3.3cm x 2cm \/ x Overall Size 10cm \/ 4inch Package Includes 1 \/ 6 x Horror bookmarks - the best gift for fans of horror novels Note 1. Due to manual measurements, please allow slight measurement deviations. 2. Due to the different display and lighting effects, the\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nTechnical Precision Replacement for GE General Electric G.E Light Bulb\nReplacement For GE GENERAL ELECTRIC G.E Light Bulb Unit per sale 1 Brand Technical Precision, Light Type CFL, Wattage 55.00, Bulb Base G8, Specific Uses For Product Lamp, Light Color Warm White, Unit Count 1 Count, Color Temperature 3000 Kelvin, s 1, Brightness 4000 Lumen, Shape Cd, Size 1 Count (Pack of 1), Connectivity Technology Normal bulb, Controller Type Push Button, Color Rendering Index 82, Manufacturer Technical Precision, Part Weight 7 ounces, Dimensions 11.57 x 9.45 x 1.89 inches, Is Discontinued No, Quantity 1, Rank Industrial & Scientific Compact Fluorescent Bul\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nTechnical Precision Replacement for GE General Electric G.E Light Bulb\nReplacement For GE GENERAL ELECTRIC G.E Light Bulb Unit per sale 1 Brand Technical Precision, Light Type CFL, Wattage 55.00, Bulb Base G8, Specific Uses For Product Lamp, Light Color Warm White, Unit Count 1 Count, Color Temperature 3000 Kelvin, s 1, Brightness 4000 Lumen, Shape Cd, Size 1 Count (Pack of 1), Connectivity Technology Normal bulb, Controller Type Push Button, Color Rendering Index 82, Manufacturer Technical Precision, Part Weight 7 ounces, Dimensions 11.57 x 9.45 x 1.89 inches, Is Discontinued No, Quantity 1, Rank Industrial & Scientific Compact Fluorescent Bul\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nSubaru Forester Outback Legacy OEM Engine Block Heater Genuine new\nManufactured from top quality components, this is your inexpensive replacement option for your rebuild, repair, and maintenance needs. When you select a genuine OEM part - you can rely on the high quality and effectiveness of the product and brand without having to guess if the product will work in sequence with your vehicle. Protecting your investment is important and choosing the right parts can be challenging. Stick with what you know and choose a genuine OEM part. Genuine Subaru Genuine Engine Block Heater Warms engine coolant to promote easier starting in extreme cold conditions. Plugs into a a household electrical outlet. Crosstrek Hybrid models Forester Outback 2.5 Legacy 2.5 Manufacturer Subaru, Brand Subaru, Weight 1 pounds, Dimensions \n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nSubaru Forester Outback Legacy OEM Engine Block Heater Genuine new\nManufactured from top quality components, this is your inexpensive replacement option for your rebuild, repair, and maintenance needs. When you select a genuine OEM part - you can rely on the high quality and effectiveness of the product and brand without having to guess if the product will work in sequence with your vehicle. Protecting your investment is important and choosing the right parts can be challenging. Stick with what you know and choose a genuine OEM part. Genuine Subaru Genuine Engine Block Heater Warms engine coolant to promote easier starting in extreme cold conditions. Plugs into a a household electrical outlet. Crosstrek Hybrid models Forester Outback 2.5 Legacy 2.5 Manufacturer Subaru, Brand Subaru, Weight 1 pounds, Dimensions \n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nYellow Jacket 2806 Contractor Extension Cord with Lighted End; 100 ft; 100 Ft\nProduct Description Yellow Jacket 2806 10\/3 Heavy-Duty 15-Amp SJTW Contractor Extension Cord with Lighted End, Super flexibility in cold and hot weather. Power Lite power indicator lamp glows through the extra heavy, clear molded plug when the cord has power. Three times as abrasion resistant as standard vinyl, making these cords the toughest on the jobsite. Extra heavy, clear molded plugs are rugged, durable and oversized. Meets OSHA specifications, UL Listed. 10 Gauge. The Yellow Jacket (R) brand is a registered trademark of Coleman Cable Inc. From the Manufacturer Yellow Jacket 2806 10\/3 Heavy-Duty 15-Amp SJ\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nYellow Jacket 2806 Contractor Extension Cord with Lighted End; 100 ft; 100 Ft\nProduct Description Yellow Jacket 2806 10\/3 Heavy-Duty 15-Amp SJTW Contractor Extension Cord with Lighted End, Super flexibility in cold and hot weather. Power Lite power indicator lamp glows through the extra heavy, clear molded plug when the cord has power. Three times as abrasion resistant as standard vinyl, making these cords the toughest on the jobsite. Extra heavy, clear molded plugs are rugged, durable and oversized. Meets OSHA specifications, UL Listed. 10 Gauge. The Yellow Jacket (R) brand is a registered trademark of Coleman Cable Inc. From the Manufacturer Yellow Jacket 2806 10\/3 Heavy-Duty 15-Amp SJ\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nEibach Pro-Kit Performance Springs Set Of 4 Compatible with Nissan Altima\nEibach production technology is recognized worldwide as leading its field, from our high-strength spring-steel alloys, our advanced CNC winding process, our high-quality corrosion protection and the legendary longevity of our components. High Performance Handling and Aggressive Good Looks. Each Spring Individually Tested Stop Quicker, Corner Faster and get Better MPG! Progressive Spring Design for Excellent Ride Quality. Manufacturer Eibach, Brand Eibach, Model Weight 24.8 pounds, Dimensions 24.7 x 14.7 x 7 inches, model number Exterior Machined, Manufacturer Part Rank Automotive Automotive Replacement Shocks 12221, Available December 9, 2019\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nEibach Pro-Kit Performance Springs Set Of 4 Compatible with Nissan Altima\nEibach production technology is recognized worldwide as leading its field, from our high-strength spring-steel alloys, our advanced CNC winding process, our high-quality corrosion protection and the legendary longevity of our components. High Performance Handling and Aggressive Good Looks. Each Spring Individually Tested Stop Quicker, Corner Faster and get Better MPG! Progressive Spring Design for Excellent Ride Quality. Manufacturer Eibach, Brand Eibach, Model Weight 24.8 pounds, Dimensions 24.7 x 14.7 x 7 inches, model number Exterior Machined, Manufacturer Part Rank Automotive Automotive Replacement Shocks 12221, Available December 9, 2019\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nFlash Furniture 4 Pk. HERCULES Series 880 lb. Capacity Black Plastic Stack Chair\nWhen in need of a space-saving seating solution that is either permanent or temporary, stack chairs have been proven to be beneficial. Stack chairs are a popular choice for many businesses that include hotels, schools, restaurants, cafeterias, and offices. This industrial looking chair hits the mark on comfort. This chair features a carrying handle to easily transport. This versatile chair is ideal for both indoor and outdoor functions. With the ability to quickly store the chairs, it allows for the space to be used again for other purposes or when cleaning is needed. This heavy duty plastic stack chair is sturdy in construction to withstand regular use and frequent stacking. To make transporting even easier, equip yourself with the appropriate sized\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nFlash Furniture 4 Pk. HERCULES Series 880 lb. Capacity Black Plastic Stack Chair\nWhen in need of a space-saving seating solution that is either permanent or temporary, stack chairs have been proven to be beneficial. Stack chairs are a popular choice for many businesses that include hotels, schools, restaurants, cafeterias, and offices. This industrial looking chair hits the mark on comfort. This chair features a carrying handle to easily transport. This versatile chair is ideal for both indoor and outdoor functions. With the ability to quickly store the chairs, it allows for the space to be used again for other purposes or when cleaning is needed. This heavy duty plastic stack chair is sturdy in construction to withstand regular use and frequent stacking. To make transporting even easier, equip yourself with the appropriate sized\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nACDelco Gold Starter, Remanufactured (Renewed)\nACDelco\u2019s Professional Remanufactured Starters are the high quality replacement ideal for many vehicles on the road today. ACDelco\u2019s Professional Remanufactured Starters have new bronze sintered and oil-impregnated bushings. Solenoid contacts are new with copper terminals and plated hardware. Remanufacturing starters is an industry standard practice that involves disassembly of existing units, and replacing components that are most prone to wear with new components. Damaged and obsolete parts are replaced and are end of line tested to ensure they perform to ACDelco specifications. In addition, remanufacturing returns components back into service rather than processing as scrap or simply disposing of them. These starters will\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nACDelco Gold Starter, Remanufactured (Renewed)\nACDelco\u2019s Professional Remanufactured Starters are the high quality replacement ideal for many vehicles on the road today. ACDelco\u2019s Professional Remanufactured Starters have new bronze sintered and oil-impregnated bushings. Solenoid contacts are new with copper terminals and plated hardware. Remanufacturing starters is an industry standard practice that involves disassembly of existing units, and replacing components that are most prone to wear with new components. Damaged and obsolete parts are replaced and are end of line tested to ensure they perform to ACDelco specifications. In addition, remanufacturing returns components back into service rather than processing as scrap or simply disposing of them. These starters will\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nECCPP Rear Wheel Axle Replacement fit for for Honda Sportrax 2009\nThis axle works on the following models 2002 for HondaSportrax for HondaSportrax for HondaSportrax for HondaSportrax for HondaSportrax for HondaSportrax for HondaSportrax for HondaSportrax for HondaSportrax for HondaSportrax for for for for Package including 1 piece of Rear Wheel Axle Fitment - for Honda Sportrax 2009 Length - 855 mm, brand new complete rear wheel axle OE quality - Produced in the same specifications and functions as OE. Refer OE number Premium Material - Long service life with high quality raw material and the complete polishing Installation - Replace directly with assembly, easy to install. Brand ECCPP, Weight 15.22 pounds, Dimensions 35\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nECCPP Rear Wheel Axle Replacement fit for for Honda Sportrax 2009\nThis axle works on the following models 2002 for HondaSportrax for HondaSportrax for HondaSportrax for HondaSportrax for HondaSportrax for HondaSportrax for HondaSportrax for HondaSportrax for HondaSportrax for HondaSportrax for for for for Package including 1 piece of Rear Wheel Axle Fitment - for Honda Sportrax 2009 Length - 855 mm, brand new complete rear wheel axle OE quality - Produced in the same specifications and functions as OE. Refer OE number Premium Material - Long service life with high quality raw material and the complete polishing Installation - Replace directly with assembly, easy to install. Brand ECCPP, Weight 15.22 pounds, Dimensions 35\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nPremium Replica Hubcap Set, Fits Nissan Rogue Replacement Wheel Covers\nThis is a set of 4 Brand New replica Nissan hubcap. Fits 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015 Rogue. Silver-painted. This is a copy of a factory-original. Our Replica wheel covers are made of sturdy ABS plastic and feature a rich silver finish, just like the originals. They will look great on your vehicle for years to come. Brand New Condition Aftermarket replacement for Nissan part Fits Nissan Rogue 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015 model years. Mounts easily and securely to\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nPremium Replica Hubcap Set, Fits Nissan Rogue Replacement Wheel Covers\nThis is a set of 4 Brand New replica Nissan hubcap. Fits 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015 Rogue. Silver-painted. This is a copy of a factory-original. Our Replica wheel covers are made of sturdy ABS plastic and feature a rich silver finish, just like the originals. They will look great on your vehicle for years to come. Brand New Condition Aftermarket replacement for Nissan part Fits Nissan Rogue 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015 model years. Mounts easily and securely to\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nElements of Design Magellan Three Handle Tub and Shower Faucet, Oil Rubbed Bronze\nSolid brass water way construction, Premium color finish resists tarnishing and corrosion, 2.5 GPM \/ 9.5 LPM at 60 PSI, 6-Inch reach Shower Arm, 1\/4 turn washer less cartridge, IPS Inlets, Pressure Balance Valve, Temperature Check Stop.. Constructed from solid brass for durability and reliability Our corrosion and tarnish-resistant finishes provides long-lasting use Pressure Balance Valve; Fine Artistic Craftsmanship Max 2.0 LPM Water Flow Rate At 80 PSI On Showerhead Compliant with California Energy Commission Title 20 Brand Elements of Design, Color Oil Rubbed Bronze, Material Brass, Finish Type Oil Rubbed, Handles 3\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nElements of Design Magellan Three Handle Tub and Shower Faucet, Oil Rubbed Bronze\nSolid brass water way construction, Premium color finish resists tarnishing and corrosion, 2.5 GPM \/ 9.5 LPM at 60 PSI, 6-Inch reach Shower Arm, 1\/4 turn washer less cartridge, IPS Inlets, Pressure Balance Valve, Temperature Check Stop.. Constructed from solid brass for durability and reliability Our corrosion and tarnish-resistant finishes provides long-lasting use Pressure Balance Valve; Fine Artistic Craftsmanship Max 2.0 LPM Water Flow Rate At 80 PSI On Showerhead Compliant with California Energy Commission Title 20 Brand Elements of Design, Color Oil Rubbed Bronze, Material Brass, Finish Type Oil Rubbed, Handles 3\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nDNA MOTORING Smoke Lens Amber Headlights Replacement For 06-10 Explorer\nA headlight (headlamp) is a lamp attached to the front of a vehicle to light the road ahead. Headlight performance has steadily improved throughout the automobile age, spurred by the great disparity between daytime and nighttime traffic fatalities. Headlights are one of the most important components of your vehicle; they allow you to see the road in front of you clearly during the night and in any bad weather that may arise. Our headlights upgrade the face of your vehicle with clear style and extreme range. Compatible with 06-10 Ford explorer. Plug-n-Play Operation, Direct Bolt-On OE Fitment or Replacement for the Stock Unit Uses H13 High Beam & Low Beam \/ Bulbs are NOT Included Brings a Different Appearance\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nDNA MOTORING Smoke Lens Amber Headlights Replacement For 06-10 Explorer\nA headlight (headlamp) is a lamp attached to the front of a vehicle to light the road ahead. Headlight performance has steadily improved throughout the automobile age, spurred by the great disparity between daytime and nighttime traffic fatalities. Headlights are one of the most important components of your vehicle; they allow you to see the road in front of you clearly during the night and in any bad weather that may arise. Our headlights upgrade the face of your vehicle with clear style and extreme range. Compatible with 06-10 Ford explorer. Plug-n-Play Operation, Direct Bolt-On OE Fitment or Replacement for the Stock Unit Uses H13 High Beam & Low Beam \/ Bulbs are NOT Included Brings a Different Appearance\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nAC Compressor & A\/C Clutch For Hyundai Accent 2006 2007 2008 2009 - BuyAutoParts NEW\nEngineered for superior durability, backed by a one year, unlimited mileage warranty Guaranteed Exact Fit for easy installation 100% BRAND NEW, premium ISO\/TS 16949 quality - no core deposit or return required! Make sure you flush the system thoroughly and replace the drier filter along with the compressor for better long-term reliability, or consider one of our AC kits that includes everything you need! Fits Hyundai Accent Manufacturer BuyAutoParts, Part Weight 16 Pounds, Dimensions 12 x 11 x 10 inches, Quantity 1, Rank Automotive Automotive Replacement Air Conditioning Compressors 9735, Available April 25, 2015,\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nAC Compressor & A\/C Clutch For Hyundai Accent 2006 2007 2008 2009 - BuyAutoParts NEW\nEngineered for superior durability, backed by a one year, unlimited mileage warranty Guaranteed Exact Fit for easy installation 100% BRAND NEW, premium ISO\/TS 16949 quality - no core deposit or return required! Make sure you flush the system thoroughly and replace the drier filter along with the compressor for better long-term reliability, or consider one of our AC kits that includes everything you need! Fits Hyundai Accent Manufacturer BuyAutoParts, Part Weight 16 Pounds, Dimensions 12 x 11 x 10 inches, Quantity 1, Rank Automotive Automotive Replacement Air Conditioning Compressors 9735, Available April 25, 2015,\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nSuperATV Scratch Resistant 3-in-1 Flip Windshield For CFMOTO ZForce 500 \/ 800 Trail \/ 800 EX \/ 1000 | 1\/4 Thick Polycarbonate | USA Made | Can be set to Open, Vented Or Closed\nFits CFMOTO ZForce 500 | CFMOTO ZForce 800 Trail | CFMOTO ZForce 800 EX | CFMOTO ZForce 1000 | Can be used with most soft or hard tops | 100% Fitment Guaranteed Great For All Weather Want a CFMOTO Windshield that works in all conditions? Our 3-in-1 Flip-Up design allows you to choose from closed, vented, or open positions to ride comfortably in all-weather without having to\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nSuperATV Scratch Resistant 3-in-1 Flip Windshield For CFMOTO ZForce 500 \/ 800 Trail \/ 800 EX \/ 1000 | 1\/4 Thick Polycarbonate | USA Made | Can be set to Open, Vented Or Closed\nFits CFMOTO ZForce 500 | CFMOTO ZForce 800 Trail | CFMOTO ZForce 800 EX | CFMOTO ZForce 1000 | Can be used with most soft or hard tops | 100% Fitment Guaranteed Great For All Weather Want a CFMOTO Windshield that works in all conditions? Our 3-in-1 Flip-Up design allows you to choose from closed, vented, or open positions to ride comfortably in all-weather without having to\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nDell Latitude E5440 14in Business Laptop Computer, Intel Core up to 8GB RAM, 256GB SSD, HDMI, DVDRW, WiFi plus BT, Windows 10 Professional (Renewed)\n2018 Dell Latitude E5440 14 Business Laptop Computer, Intel Dual-Core up to 8GB RAM, 256GB SSD, HDMI, Bluetooth 4.0, WiFi Windows 10 Professional (CertifiedRefurbished) Operating System Microsoft Windows 10 Professional CPU Intel Core 1.9GHz up to 2.9GHz Screen 14 Memory 8 GB DDR3 Storage 256GB SSD Optical Drive DVD-Writer Graphics Card Intel HD Graphics 4400 Video Memory Shared memory Communication Gigabit LAN and WLAN CPU Type Intel Core i5 4\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nDell Latitude E5440 14in Business Laptop Computer, Intel Core up to 8GB RAM, 256GB SSD, HDMI, DVDRW, WiFi plus BT, Windows 10 Professional (Renewed)\n2018 Dell Latitude E5440 14 Business Laptop Computer, Intel Dual-Core up to 8GB RAM, 256GB SSD, HDMI, Bluetooth 4.0, WiFi Windows 10 Professional (CertifiedRefurbished) Operating System Microsoft Windows 10 Professional CPU Intel Core 1.9GHz up to 2.9GHz Screen 14 Memory 8 GB DDR3 Storage 256GB SSD Optical Drive DVD-Writer Graphics Card Intel HD Graphics 4400 Video Memory Shared memory Communication Gigabit LAN and WLAN CPU Type Intel Core i5 4\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nFiiO X7 32GB Hi-Res Lossless Music Player, Titanium\nFiiO X7 High Resolution Audio Player FiiO X7 High Resolution Audio Player- Currently supports Music Player function only. DAC and other features will be available through future firmware upgrade Dimensions 2.52 x 5.12 x 0.65 inches, Weight 7.8 ounces, model number FIIO X7, Rank Electronics MP3 & MP4 Players 2510, Is Discontinued No, OS Android 4.4.4, RAM 32 GB, Connectivity technologies Aux, Special features Hi Res Audio, Other display features Wireless, Color Titanium Blue, Manufacturer FiiO, Available November 30, 2015, Brand FiiO, Model Name X7,\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nFiiO X7 32GB Hi-Res Lossless Music Player, Titanium\nFiiO X7 High Resolution Audio Player FiiO X7 High Resolution Audio Player- Currently supports Music Player function only. DAC and other features will be available through future firmware upgrade Dimensions 2.52 x 5.12 x 0.65 inches, Weight 7.8 ounces, model number FIIO X7, Rank Electronics MP3 & MP4 Players 2510, Is Discontinued No, OS Android 4.4.4, RAM 32 GB, Connectivity technologies Aux, Special features Hi Res Audio, Other display features Wireless, Color Titanium Blue, Manufacturer FiiO, Available November 30, 2015, Brand FiiO, Model Name X7,\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nACDelco GM Original Equipment Alternator\nACDelco GM Original Equipment Light Duty Alternators have components that are newly manufactured, and are GM-recommended replacement for your vehicle\u2019s original alternator. Alternators provide power to the vehicle's electrical systems and charge the battery while the engine is running. These original equipment alternators have been manufactured to fit your GM vehicle, providing the same performance, durability, and service life you expect from General Motors. 100% newly manufactured as an exact replacement for your GM vehicle\u2019s original alternator Components are tested to meet original specification requirements for remarkable durability GM-recommended replacement part for your GM vehicle\u2019s original factory component Offering the quality, reliability, and durability of GM OE Manufactured to GM OE specifications for fit, form, and function Dimensions 13.8\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nACDelco GM Original Equipment Alternator\nACDelco GM Original Equipment Light Duty Alternators have components that are newly manufactured, and are GM-recommended replacement for your vehicle\u2019s original alternator. Alternators provide power to the vehicle's electrical systems and charge the battery while the engine is running. These original equipment alternators have been manufactured to fit your GM vehicle, providing the same performance, durability, and service life you expect from General Motors. 100% newly manufactured as an exact replacement for your GM vehicle\u2019s original alternator Components are tested to meet original specification requirements for remarkable durability GM-recommended replacement part for your GM vehicle\u2019s original factory component Offering the quality, reliability, and durability of GM OE Manufactured to GM OE specifications for fit, form, and function Dimensions 13.8\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nSharp, Commercial Desktop Calculator, LCD\nResume function lets you recall data after shut-off. Extra-large digits for excellent readability. Dual solar\/battery power for use in any lighting. Resume function lets you recall data after shut-off. Extra-large digits for excellent readability. Dual solar\/battery power for use in any lighting. Dimensions 7.2 x 5.1 x 1 inches, Weight 6.4 ounces, model number Batteries 1 CR2 batteries required. (included), Rank Office Products Basic Office Calculators 1027, Is Discontinued No, Available December 27, 2004, Manufacturer SHARP ELECTRONICS, Brand Sharp, Color Black, Calculator Type Business, Power Source Battery Powered, Batteries 1 CR2 batteries required. (included)\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nSharp, Commercial Desktop Calculator, LCD\nResume function lets you recall data after shut-off. Extra-large digits for excellent readability. Dual solar\/battery power for use in any lighting. Resume function lets you recall data after shut-off. Extra-large digits for excellent readability. Dual solar\/battery power for use in any lighting. Dimensions 7.2 x 5.1 x 1 inches, Weight 6.4 ounces, model number Batteries 1 CR2 batteries required. (included), Rank Office Products Basic Office Calculators 1027, Is Discontinued No, Available December 27, 2004, Manufacturer SHARP ELECTRONICS, Brand Sharp, Color Black, Calculator Type Business, Power Source Battery Powered, Batteries 1 CR2 batteries required. (included)\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nCovercraft Carhartt SeatSaver Front Row Custom Fit Seat Cover for Select Ford Models - Duck Weave (Gravel)\nCarhartt SeatSaver seat covers from Covercraft are the solution to the problem of keeping the seats in your truck or SUV clean and protected from daily use and weekend adventures. Made from durable, duck-weave fabric, these custom-fit seat covers protect your seats from dirt, mud, grime, spills and more. Featuring Rain Defender technology, a durable water repellency finish is added to the fabric to make it highly water resistant. Combine these features with the custom fitment and classic Carhartt styling, you get seat covers that look great and protect your seats from whatever you throw at them. Classic Duck-Weave Carhartt fabric for durability Custom-made\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nCovercraft Carhartt SeatSaver Front Row Custom Fit Seat Cover for Select Ford Models - Duck Weave (Gravel)\nCarhartt SeatSaver seat covers from Covercraft are the solution to the problem of keeping the seats in your truck or SUV clean and protected from daily use and weekend adventures. Made from durable, duck-weave fabric, these custom-fit seat covers protect your seats from dirt, mud, grime, spills and more. Featuring Rain Defender technology, a durable water repellency finish is added to the fabric to make it highly water resistant. Combine these features with the custom fitment and classic Carhartt styling, you get seat covers that look great and protect your seats from whatever you throw at them. Classic Duck-Weave Carhartt fabric for durability Custom-made\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nGretsch G9210 Square Neck Boxcar Mahogany Resonator Acoustic Guitar\nClassic Squareneck Resonator from Gretsch Neck; Padauk Fingerboard; and Hand-spun Cone - Mahogany Natural Acoustic Squareneck Resonator Guitar with Mahogany Top Sides Weight 10 pounds, Dimensions 20 x 7 x 48 inches, model number Rank Musical Instruments 50797, Acoustic Resonator Guitars 12, Is Discontinued No, Available February 5, 2018, Back Material Mahogany, Body Material Mahogany, Color Name Natural, Fretboard Material Padauk, String Material Phosphor Bronze, Top Material Mahogany Wood, Neck Material Type Mahogany, Strings 6, Brand Gretsch, Color Natural\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nGretsch G9210 Square Neck Boxcar Mahogany Resonator Acoustic Guitar\nClassic Squareneck Resonator from Gretsch Neck; Padauk Fingerboard; and Hand-spun Cone - Mahogany Natural Acoustic Squareneck Resonator Guitar with Mahogany Top Sides Weight 10 pounds, Dimensions 20 x 7 x 48 inches, model number Rank Musical Instruments 50797, Acoustic Resonator Guitars 12, Is Discontinued No, Available February 5, 2018, Back Material Mahogany, Body Material Mahogany, Color Name Natural, Fretboard Material Padauk, String Material Phosphor Bronze, Top Material Mahogany Wood, Neck Material Type Mahogany, Strings 6, Brand Gretsch, Color Natural\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nFun Express Insect Finger Puppets - 24 finger puppet bugs for kids\nYou'll get an assortment of 24 insect finger puppets including bees, butterflies, ladybugs, dragonflies, and grasshoppers. Each plastic bug finger puppet is made of quality vinyl and measures 1 3\/4 - 2 3\/4. Plastic bugs and insects for kids make a fun and creative gift and can be used as party favors or decorations for your bug themed party! Adult supervision recommended for children under 3 years as small parts could be a choking hazard. 24 Insect Finger puppets for toddlers and children. Each finger puppet is made of vinyl and measures 1 3\/4 - 2 3\/4. You'll get an assortment of toy bugs and\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nFun Express Insect Finger Puppets - 24 finger puppet bugs for kids\nYou'll get an assortment of 24 insect finger puppets including bees, butterflies, ladybugs, dragonflies, and grasshoppers. Each plastic bug finger puppet is made of quality vinyl and measures 1 3\/4 - 2 3\/4. Plastic bugs and insects for kids make a fun and creative gift and can be used as party favors or decorations for your bug themed party! Adult supervision recommended for children under 3 years as small parts could be a choking hazard. 24 Insect Finger puppets for toddlers and children. Each finger puppet is made of vinyl and measures 1 3\/4 - 2 3\/4. You'll get an assortment of toy bugs and\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nArepa - Venezuelan cuisine - Venezuela PopSockets PopGrip Swappable Grip for Phones & Tablets\nArepa Venezolana. Arepa - Venezuelan cuisine - Venezuela. Arepa - Venezuelan cuisine - Venezuela. Great gift for holidays, birthdays, events, parties and much more. Arepa - Venezuelan cuisine - Venezuela Great gift for holidays, birthdays, events, parties and much more. PopGrip with swappable top; switch out your PopTop for another design or remove it completely for wireless charging capabilities. (Not compatible with Apple MagSafe wireless charger or MagSafe wallet.) Expandable stand to watch videos, take group photos, FaceTime, and Skype handsfree. Advanced adhesive allows you to remove and reposition on most devices and cases. Note Will not stick to some silicone, waterproof\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nArepa - Venezuelan cuisine - Venezuela PopSockets PopGrip Swappable Grip for Phones & Tablets\nArepa Venezolana. Arepa - Venezuelan cuisine - Venezuela. Arepa - Venezuelan cuisine - Venezuela. Great gift for holidays, birthdays, events, parties and much more. Arepa - Venezuelan cuisine - Venezuela Great gift for holidays, birthdays, events, parties and much more. PopGrip with swappable top; switch out your PopTop for another design or remove it completely for wireless charging capabilities. (Not compatible with Apple MagSafe wireless charger or MagSafe wallet.) Expandable stand to watch videos, take group photos, FaceTime, and Skype handsfree. Advanced adhesive allows you to remove and reposition on most devices and cases. Note Will not stick to some silicone, waterproof\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nRICHMOND & FINCH Airpod Pro Case, Green Leopard Full Protective Cover, Shockproof, Scratch Resistant, Wireless Charging Compatible Case for Airpods Pro\nCOMPATIBILITY This Richmond & Finch Airpod Pro Case is compatible with Airpods Pro Only PROTECTION Our Richmond & Finch Airpods Pro Case offers premium protection to your air pods pro with our shockproof protective cover, protecting your Airpod Pro from drops and knocks WIRELESS CHARGING The Richmond & Finch Airpods Pro Case is wireless charging compatible, so you can charge your Airpod Pros easily and quickly SCRATCH RESISTANT Our Richmond & Finch Airpod Pro Protective Cover is made from high quality scratch resistant materials, ensuring your Air Pods Pro are safe from any scratches or damage FASHION FORWARD All\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nRICHMOND & FINCH Airpod Pro Case, Green Leopard Full Protective Cover, Shockproof, Scratch Resistant, Wireless Charging Compatible Case for Airpods Pro\nCOMPATIBILITY This Richmond & Finch Airpod Pro Case is compatible with Airpods Pro Only PROTECTION Our Richmond & Finch Airpods Pro Case offers premium protection to your air pods pro with our shockproof protective cover, protecting your Airpod Pro from drops and knocks WIRELESS CHARGING The Richmond & Finch Airpods Pro Case is wireless charging compatible, so you can charge your Airpod Pros easily and quickly SCRATCH RESISTANT Our Richmond & Finch Airpod Pro Protective Cover is made from high quality scratch resistant materials, ensuring your Air Pods Pro are safe from any scratches or damage FASHION FORWARD All\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nGlyph Thunderbolt 3 NVMe Dock (0 GB)\nPerfect fit ultra slim case for iphone 6 plus. Lightweight, and easy access to all buttons Snap-on case Strong packaging to protect the goods from possible damage High quality and durable protection cover. Brand Glyph Production Technologies, model number Weight 1.89 Kilograms, Dimensions 9.4 x 3.8 x 0.9 inches, Dimensions LxWxH 9.4 x 3.8 x 0.9 inches, Color Black, Manufacturer Glyph Production Technologies, Is Discontinued No, Available June 6, 2015, Rank Computers & Accessories Laptop Docking Stations 2945, Hardware Interface USB, Thunderbolt, Compatible Devices iPhone 6 Plus, Total USB Ports 3, Dimensions L\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nGlyph Thunderbolt 3 NVMe Dock (0 GB)\nPerfect fit ultra slim case for iphone 6 plus. Lightweight, and easy access to all buttons Snap-on case Strong packaging to protect the goods from possible damage High quality and durable protection cover. Brand Glyph Production Technologies, model number Weight 1.89 Kilograms, Dimensions 9.4 x 3.8 x 0.9 inches, Dimensions LxWxH 9.4 x 3.8 x 0.9 inches, Color Black, Manufacturer Glyph Production Technologies, Is Discontinued No, Available June 6, 2015, Rank Computers & Accessories Laptop Docking Stations 2945, Hardware Interface USB, Thunderbolt, Compatible Devices iPhone 6 Plus, Total USB Ports 3, Dimensions L\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nDCPOWER AC Adapter Compatible Replacement for KORG PS60 PS-60 61-Key Portable Performance Synthesizer\nNew aftermarket, custom-made item (NON-OEM\/NON-Original Equipment Manufacturer). Auto-Switching adapter can be used in the worldwide. Returns accepted within 30 Days. Quantity 1 unit of adapter. Connector type Round Barrel\/Round tip Can be used to power up the device Input AC for using in the worldwide Output 9V DC Dimensions 3 x 2 x 1.5 inches, Weight 6 Ounces, Rank Musical Instruments Keyboard Power Supplies 5234, Is Discontinued No, Available October 24, 2013, Manufacturer DCPOWER, Brand Generic, Connector Type barrel connector, Special Feature Portable, Input Voltage 240 Volts,\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nDCPOWER AC Adapter Compatible Replacement for KORG PS60 PS-60 61-Key Portable Performance Synthesizer\nNew aftermarket, custom-made item (NON-OEM\/NON-Original Equipment Manufacturer). Auto-Switching adapter can be used in the worldwide. Returns accepted within 30 Days. Quantity 1 unit of adapter. Connector type Round Barrel\/Round tip Can be used to power up the device Input AC for using in the worldwide Output 9V DC Dimensions 3 x 2 x 1.5 inches, Weight 6 Ounces, Rank Musical Instruments Keyboard Power Supplies 5234, Is Discontinued No, Available October 24, 2013, Manufacturer DCPOWER, Brand Generic, Connector Type barrel connector, Special Feature Portable, Input Voltage 240 Volts,\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nWULF 4 Front 2 Rear Leveling Lift Kit with Spindles & Shackles compatible with Ford Ranger 2WD with Coil Spring Suspension\nCompatible with Ford Ranger 2WD with Coil Spring Suspension FRONT WULF 4 Lift Ductile Cast Iron Spindles \/ Knuckles REAR 1.5-2 Adjustable Lift Black Powder Coated Shackles, Zerk-Grease Fittings, Pressed greaseable high grade poly bushings and metal sleeves included NOTE 2WD models only. Excludes models with Stabilitrak. Requires Coil Spring suspension Please see the description for full details, or contact us for assistance Fast Shipping. Manufacturers Lifetime Warranty. Dedicated Customer Service Manufacturer WULF Suspensions, Brand WULF Suspensions, Country of Origin USA,\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nWULF 4 Front 2 Rear Leveling Lift Kit with Spindles & Shackles compatible with Ford Ranger 2WD with Coil Spring Suspension\nCompatible with Ford Ranger 2WD with Coil Spring Suspension FRONT WULF 4 Lift Ductile Cast Iron Spindles \/ Knuckles REAR 1.5-2 Adjustable Lift Black Powder Coated Shackles, Zerk-Grease Fittings, Pressed greaseable high grade poly bushings and metal sleeves included NOTE 2WD models only. Excludes models with Stabilitrak. Requires Coil Spring suspension Please see the description for full details, or contact us for assistance Fast Shipping. Manufacturers Lifetime Warranty. Dedicated Customer Service Manufacturer WULF Suspensions, Brand WULF Suspensions, Country of Origin USA,\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nStreet Series Stainless Performance Cat-Back Exhaust system\nMade in the USA and engineered to last, for those seeking increased performance and better economy, MagnaFlow MF Series Performance Exhaust systems deliver the smooth deep sound you want and the wide-open performance power you need. Our exhaust systems feature straight-through flow designs for the ultimate in unrestricted horsepower and torque for big power while maintaining exhaust efficiency. These systems are an engineered balance of interior and exterior noise levels and are tested against SAE j1169 standards. great quality and sound Manufacturer MagnaFlow, Brand MagnaFlow Exhaust Products, Model 17870, Weight 25 pounds, Dimensions 58.75 x 13.75 x 19 inches, model number 17870, Exterior Machined, Manufacturer Part 17870, Rank Automotive Automotive Replacement\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nStreet Series Stainless Performance Cat-Back Exhaust system\nMade in the USA and engineered to last, for those seeking increased performance and better economy, MagnaFlow MF Series Performance Exhaust systems deliver the smooth deep sound you want and the wide-open performance power you need. Our exhaust systems feature straight-through flow designs for the ultimate in unrestricted horsepower and torque for big power while maintaining exhaust efficiency. These systems are an engineered balance of interior and exterior noise levels and are tested against SAE j1169 standards. great quality and sound Manufacturer MagnaFlow, Brand MagnaFlow Exhaust Products, Model 17870, Weight 25 pounds, Dimensions 58.75 x 13.75 x 19 inches, model number 17870, Exterior Machined, Manufacturer Part 17870, Rank Automotive Automotive Replacement\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nDreamLine Shower Door, 56-60 W x 72 H, Chrome\nThe DreamLine Mirage-X frameless sliding shower or tub door is the epitome of simple elegance with a modern flair. The remarkably innovative headerless design creates an unobstructed and open view for your shower. The Mirage-X shower door will complete any bathroom space with a look of luxury and style. DreamLine exclusive ClearMax water repellant and stain resistant glass coating adds superior protection from stains and is nearly maintenance-free. IMPORTANT! All measurements should be taken only AFTER walls are finished (tile, back walls, etc. ) Model Size 56 - 60 in. W x 72 in. H; Walk-in Opening 22 to 26 in. Configuration consists of a Sliding Door and a Station\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nDreamLine Shower Door, 56-60 W x 72 H, Chrome\nThe DreamLine Mirage-X frameless sliding shower or tub door is the epitome of simple elegance with a modern flair. The remarkably innovative headerless design creates an unobstructed and open view for your shower. The Mirage-X shower door will complete any bathroom space with a look of luxury and style. DreamLine exclusive ClearMax water repellant and stain resistant glass coating adds superior protection from stains and is nearly maintenance-free. IMPORTANT! All measurements should be taken only AFTER walls are finished (tile, back walls, etc. ) Model Size 56 - 60 in. W x 72 in. H; Walk-in Opening 22 to 26 in. Configuration consists of a Sliding Door and a Station\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nMoen 8346 Commercial Posi-Temp Pressure Balancing 4 Port Cycling Valve Hand Shower System 2.5 gpm, Chrome\nProduct Description VERSATILE DESIGN Chrome finish is highly reflective for a mirror-like look that works with any decorating style From the Manufacturer This single-handle handheld shower system has a Posi-Temp pressure-balancing valve that maintains water pressure and controls temperature, a slide bar, drop ell, vacuum breaker, a metal hose and mounting hardware. The pressure balancing cycle valve design has 1\/4 turn stops, the rubber nozzles are quick cleaning and the chrome plated metal construction provides a bright, highly reflective, cool grey metallic look. The temperature handle operates counterclockwise through a 270 degree arc, with off at 6 o' clock\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nMoen 8346 Commercial Posi-Temp Pressure Balancing 4 Port Cycling Valve Hand Shower System 2.5 gpm, Chrome\nProduct Description VERSATILE DESIGN Chrome finish is highly reflective for a mirror-like look that works with any decorating style From the Manufacturer This single-handle handheld shower system has a Posi-Temp pressure-balancing valve that maintains water pressure and controls temperature, a slide bar, drop ell, vacuum breaker, a metal hose and mounting hardware. The pressure balancing cycle valve design has 1\/4 turn stops, the rubber nozzles are quick cleaning and the chrome plated metal construction provides a bright, highly reflective, cool grey metallic look. The temperature handle operates counterclockwise through a 270 degree arc, with off at 6 o' clock\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nHP EliteBook 2540p Intel Core X2 2GB 160GB DVD+\/-RW 12.1'' Wi, Black (Refurbished)\nStanding screen display size 12.1 Inches, Processor RAM 2 GB DDR3, Hard Drive 160 GB, Graphics Coprocessor Intel HD Graphics, Chipset Brand Intel, Card Description Integrated, Wireless Type Bluetooth, USB 2.0 Ports 3, Brand HP, Microsoft, Series HP EliteBook, model number Operating System Windows 8 1, Weight 3.97 Pounds, Dimensions 19 x 17 x 5 inches, Rear Webcam Resolution 1 MP, Processors 2, Computer Memory Type DDR3 SDRAM, Flash Memory Size 160 GB, Power Source Battery Powered, Available\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nHP EliteBook 2540p Intel Core X2 2GB 160GB DVD+\/-RW 12.1'' Wi, Black (Refurbished)\nStanding screen display size 12.1 Inches, Processor RAM 2 GB DDR3, Hard Drive 160 GB, Graphics Coprocessor Intel HD Graphics, Chipset Brand Intel, Card Description Integrated, Wireless Type Bluetooth, USB 2.0 Ports 3, Brand HP, Microsoft, Series HP EliteBook, model number Operating System Windows 8 1, Weight 3.97 Pounds, Dimensions 19 x 17 x 5 inches, Rear Webcam Resolution 1 MP, Processors 2, Computer Memory Type DDR3 SDRAM, Flash Memory Size 160 GB, Power Source Battery Powered, Available\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nASUS Chromebook CX1, 14 Full HD NanoEdge Display, Intel Celeron N3350 Processor, 64GB eMMC, 4GB RAM, Chrome OS, Transparent Silver,\nASUS Chromebook CX1400 is made for boosting productivity and having more fun while on the move \u2014 all day, every day. This lightweight, ultraportable device is powered by Intel processor and gives you the freedom of up to battery life. The slim-bezel design fits more screen into the compact chassis for easy multitasking and incredibly immersive entertainment, and the device is your gateway to the best of Google, including the rich library of apps for work or play on the Google Play Store. With speedy performance, robust security and intuitive features, ASUS Chromebook CX1 is ideal for anyone\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nASUS Chromebook CX1, 14 Full HD NanoEdge Display, Intel Celeron N3350 Processor, 64GB eMMC, 4GB RAM, Chrome OS, Transparent Silver,\nASUS Chromebook CX1400 is made for boosting productivity and having more fun while on the move \u2014 all day, every day. This lightweight, ultraportable device is powered by Intel processor and gives you the freedom of up to battery life. The slim-bezel design fits more screen into the compact chassis for easy multitasking and incredibly immersive entertainment, and the device is your gateway to the best of Google, including the rich library of apps for work or play on the Google Play Store. With speedy performance, robust security and intuitive features, ASUS Chromebook CX1 is ideal for anyone\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\n3M Perfect It Buffing and Polishing Kit | 36060 06094 06068 3M Rubbing Compound, Machine Polish, Ultrafine Polish | Buffing Compound, Car Polishing Kit | Bundled with Kangaroobands Microfiber Cloth\nThe 3M Perfect-It Paint Finishing System 3M Perfect-It EX AC Rubbing Compound is the best-performing rubbing compound for removing scratches and surface defects before polishing, even on the latest clear coats. Longer Working Time, Easier Cleanup Even in Extreme Conditions As part of a complete system for creating showroom-grade finishes, it is the ideal compound for the critical pre-polishing stage in collision repair. This fast-cutting, fine-finishing compound removes fine grade (P1200 or finer) sand scratches and\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\n3M Perfect It Buffing and Polishing Kit | 36060 06094 06068 3M Rubbing Compound, Machine Polish, Ultrafine Polish | Buffing Compound, Car Polishing Kit | Bundled with Kangaroobands Microfiber Cloth\nThe 3M Perfect-It Paint Finishing System 3M Perfect-It EX AC Rubbing Compound is the best-performing rubbing compound for removing scratches and surface defects before polishing, even on the latest clear coats. Longer Working Time, Easier Cleanup Even in Extreme Conditions As part of a complete system for creating showroom-grade finishes, it is the ideal compound for the critical pre-polishing stage in collision repair. This fast-cutting, fine-finishing compound removes fine grade (P1200 or finer) sand scratches and\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nCardone Remanufactured Ford Computer\nCARDONE Remanufactured Electronic and Powertrain Control Modules are designed to meet or exceed O.E. performance. Reverse engineering provides insight into how and why the unit originally failed, allowing our engineers to identify and correct original design weaknesses. All critical components are re-soldered or replaced at our Philadelphia manufacturing plant, and each unit is 100% computer tested to ensure reliability. CARDONE is committed to getting your vehicle back to peak performance. On-car vehicle validation testing ensures product fits and functions properly OE components with high failure rates are 100% replaced All electronic modules are 100% tested to ensure they meet OE requirements for the application Advanced robotic equipment ensures precision made units and consistent high quality with every part Every unit is 100% tested to ensure\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nCardone Remanufactured Ford Computer\nCARDONE Remanufactured Electronic and Powertrain Control Modules are designed to meet or exceed O.E. performance. Reverse engineering provides insight into how and why the unit originally failed, allowing our engineers to identify and correct original design weaknesses. All critical components are re-soldered or replaced at our Philadelphia manufacturing plant, and each unit is 100% computer tested to ensure reliability. CARDONE is committed to getting your vehicle back to peak performance. On-car vehicle validation testing ensures product fits and functions properly OE components with high failure rates are 100% replaced All electronic modules are 100% tested to ensure they meet OE requirements for the application Advanced robotic equipment ensures precision made units and consistent high quality with every part Every unit is 100% tested to ensure\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nSuper Switch Pickup Selector Super Switch 4-Pole Double Wafer for Strat\/Nashville Tele Guitars with Black\/Ivory\/White Tips\nDopro Super Switch Pickup Selector Super Switch 4-Pole Double Wafer for Strat\/Nashville Tele Guitars with Black\/Ivory\/White Tips Package includes 3 free tips which normally sold separately Five-position blade pickup selector switch ideal for four-conductor pickups. Used on American made Fat Strat and Double Fat Strat models, and on Nashville Telecaster models. Mounting screws included. Mounting screws and 35mm cavity depth required 1-5\/8 standard mounting screw spacing Please consult your local Luthier if you don't know how to install the switch Dimensions 5.47 x 4.29 x 0\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nSuper Switch Pickup Selector Super Switch 4-Pole Double Wafer for Strat\/Nashville Tele Guitars with Black\/Ivory\/White Tips\nDopro Super Switch Pickup Selector Super Switch 4-Pole Double Wafer for Strat\/Nashville Tele Guitars with Black\/Ivory\/White Tips Package includes 3 free tips which normally sold separately Five-position blade pickup selector switch ideal for four-conductor pickups. Used on American made Fat Strat and Double Fat Strat models, and on Nashville Telecaster models. Mounting screws included. Mounting screws and 35mm cavity depth required 1-5\/8 standard mounting screw spacing Please consult your local Luthier if you don't know how to install the switch Dimensions 5.47 x 4.29 x 0\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nPokemon - Gallade Spirit Link - XY Roaring Skies\nIn the Pokemon Trading Card Game, players build decks around their favorite Pokemon and then play against each other, sending their Pokemon into battle to prove who the best Pokemon Trainer is. Players can begin with theme decks - pre-constructed decks designed to cover the basics of the game. Then, they can augment their card collections with booster packs that provide more cards, letting players develop more diverse decks. With thousands of cards to choose from, the game is never the same twice. Card Name Gallade Spirit Link Card Type Trainer - Item Card Number 83\/108 Artist 5ban Graphics Set Roaring Skies Card Text Your turn does not end if the Pokmon this card is attached to becomes M Gallade-EX. A single individual\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nPokemon - Gallade Spirit Link - XY Roaring Skies\nIn the Pokemon Trading Card Game, players build decks around their favorite Pokemon and then play against each other, sending their Pokemon into battle to prove who the best Pokemon Trainer is. Players can begin with theme decks - pre-constructed decks designed to cover the basics of the game. Then, they can augment their card collections with booster packs that provide more cards, letting players develop more diverse decks. With thousands of cards to choose from, the game is never the same twice. Card Name Gallade Spirit Link Card Type Trainer - Item Card Number 83\/108 Artist 5ban Graphics Set Roaring Skies Card Text Your turn does not end if the Pokmon this card is attached to becomes M Gallade-EX. A single individual\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nHp Prime Graphing Calculator Ii\nHp Prime Graphing Calculator Ii IB Diploma Programme exam approved Sleek, slim, brushed metal design that looks great and performs even better. Keep the calculator protected when it's not in use with a slide-on cover Enjoy a feature-rich calculating experience with familiar HP alphanumeric keypad and a large diagonal, multi-touch display Lithium-Ion rechargeable battery, 256 MB flash memory Unique STEM ecosystem with HP Prime Graphing Calculator, HP Prime Wireless Kit1, and HP Connectivity Kit Dimensions 3.66 x 0.65 x 7.28 inches, Weight 8 ounces, model number Batteries 1 Lithium Ion batteries required., Rank Office Products 27247, Basic Office Calculators 79, Available July 10, 2019,\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nHp Prime Graphing Calculator Ii\nHp Prime Graphing Calculator Ii IB Diploma Programme exam approved Sleek, slim, brushed metal design that looks great and performs even better. Keep the calculator protected when it's not in use with a slide-on cover Enjoy a feature-rich calculating experience with familiar HP alphanumeric keypad and a large diagonal, multi-touch display Lithium-Ion rechargeable battery, 256 MB flash memory Unique STEM ecosystem with HP Prime Graphing Calculator, HP Prime Wireless Kit1, and HP Connectivity Kit Dimensions 3.66 x 0.65 x 7.28 inches, Weight 8 ounces, model number Batteries 1 Lithium Ion batteries required., Rank Office Products 27247, Basic Office Calculators 79, Available July 10, 2019,\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nPro Comp Alloys Series 89 Wheel with Polished Finish (16x8\nPro Comp Alloys are designed using State-Of-The-Art Low-Pressure-Casting Technology providing unsurpassed wheel strength, style and value. Pro Comp Alloy Wheels combine head turning style, light weight, durable finish in black, graphite, milled, chrome, polished and dual-tone finishes. Pro Comp Alloys allows for massive brake clearance for todays performance Jeeps, trucks and SUVs. 108 inches Bolt Pattern 6x5.5 inch Back Space 4.5 inch Size 16 inches X 8 inches, Brand Pro Comp Alloys, Wheel Size 16 Inches, Pitch Circle Diameter 139.7 Millimeters, Weight 26 Pounds, Diameter 16 Inches, Vehicle Service\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nPro Comp Alloys Series 89 Wheel with Polished Finish (16x8\nPro Comp Alloys are designed using State-Of-The-Art Low-Pressure-Casting Technology providing unsurpassed wheel strength, style and value. Pro Comp Alloy Wheels combine head turning style, light weight, durable finish in black, graphite, milled, chrome, polished and dual-tone finishes. Pro Comp Alloys allows for massive brake clearance for todays performance Jeeps, trucks and SUVs. 108 inches Bolt Pattern 6x5.5 inch Back Space 4.5 inch Size 16 inches X 8 inches, Brand Pro Comp Alloys, Wheel Size 16 Inches, Pitch Circle Diameter 139.7 Millimeters, Weight 26 Pounds, Diameter 16 Inches, Vehicle Service\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nGM Genuine Parts Air Conditioning Evaporator Core\nACDelco GM Original Equipment A\/C Evaporator Cores are heat exchangers and are located in the HVAC housing, where they cool and dehumidify the cabin air. Refrigerant is metered into the evaporator by the orifice tube or expansion valve. This original equipment evaporator core is a GM-recommended replacement for your vehicle\u2019s original components and has been manufactured to fit your GM vehicle, providing the same performance, durability, and service life you expect from General Motors. Channel-plate construction provides a high refrigerant contact surface area, resulting in better performance Vacuum-brazed, corrosion-treated, and leak-tested to help provide trouble-free operation GM-recommended replacement part for your GM vehicle\u2019s original factory component Offering the quality\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nGM Genuine Parts Air Conditioning Evaporator Core\nACDelco GM Original Equipment A\/C Evaporator Cores are heat exchangers and are located in the HVAC housing, where they cool and dehumidify the cabin air. Refrigerant is metered into the evaporator by the orifice tube or expansion valve. This original equipment evaporator core is a GM-recommended replacement for your vehicle\u2019s original components and has been manufactured to fit your GM vehicle, providing the same performance, durability, and service life you expect from General Motors. Channel-plate construction provides a high refrigerant contact surface area, resulting in better performance Vacuum-brazed, corrosion-treated, and leak-tested to help provide trouble-free operation GM-recommended replacement part for your GM vehicle\u2019s original factory component Offering the quality\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nZ3 Wind Deflector, Smoke Tint, Lexan, Windscreen, Windstop, Windblocker\n- Easy installation, installs in less than two minutes. - Take long trips with the top-down in comfort. - Cruise at night without freezing from cold drafts. - Hear the full richness and clarity of your stereo. Reduce turbulence up to 70%; prevents unrelenting wind buffeting and driver fatigue Unique no reflection or glare, easy to use at night against headlights; Unlike others, no abrasion, does not induce long term wear 30 day trial period and lifetime warranty; No rattles or squeaks, is silent; Keep hair in place while driving with the top-down. Talk clearly on your blue tooth device; Talk with passengers without strain; Enjoy conversations while driving with the\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nZ3 Wind Deflector, Smoke Tint, Lexan, Windscreen, Windstop, Windblocker\n- Easy installation, installs in less than two minutes. - Take long trips with the top-down in comfort. - Cruise at night without freezing from cold drafts. - Hear the full richness and clarity of your stereo. Reduce turbulence up to 70%; prevents unrelenting wind buffeting and driver fatigue Unique no reflection or glare, easy to use at night against headlights; Unlike others, no abrasion, does not induce long term wear 30 day trial period and lifetime warranty; No rattles or squeaks, is silent; Keep hair in place while driving with the top-down. Talk clearly on your blue tooth device; Talk with passengers without strain; Enjoy conversations while driving with the\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nBluetooth X6BT Card Reader Writer Encoder Card Writer Device\nPackage Includes 1 x X6(BT) Card Reader Writer 1 x Software MINI CD 1 x Bluetooth dongle 1 x USB cord 20 x Blank Cards - X6 Bluetooth Card Readers Writer Encoder card swipe - World's Only Bluetooth Card Reader \/ Writer. - The World First Bluetooth Manual Swipe Smallest Card Reader\/Writer is designed in USA to offer a card reading\/writing solution. - for ISO 7811-6 formats, it\u2019s Powered by USB directly not need for extra power adaptor. - Works with all the major operating systems as Windows 7, 8, 10, Vista, X, bits) and Apple Computers(MacBook Air, MacBook Pro, Mac Mini, Mac Pro, i\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nBluetooth X6BT Card Reader Writer Encoder Card Writer Device\nPackage Includes 1 x X6(BT) Card Reader Writer 1 x Software MINI CD 1 x Bluetooth dongle 1 x USB cord 20 x Blank Cards - X6 Bluetooth Card Readers Writer Encoder card swipe - World's Only Bluetooth Card Reader \/ Writer. - The World First Bluetooth Manual Swipe Smallest Card Reader\/Writer is designed in USA to offer a card reading\/writing solution. - for ISO 7811-6 formats, it\u2019s Powered by USB directly not need for extra power adaptor. - Works with all the major operating systems as Windows 7, 8, 10, Vista, X, bits) and Apple Computers(MacBook Air, MacBook Pro, Mac Mini, Mac Pro, i\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nAccess Bed Covers TonnoSport - Roll-Up Tonneau Cover - Compatible with Toyota Tundra 6ft. 6in. Bed (w\/o Deck Rail)\nTonneau Cover TONNOSPORT Roll-Up Cover TONNOSPORT Roll-Up Cover; Roll-Up; Without Deck Rail;FEATURES Gives You A Sleek Low Profile Look Gives You A Sleek Low Profile Look Compatible With Bed Rails\/Bed Caps\/Tailgate Protector Compatible With Bed Rails\/Bed Caps\/Tailgate Protector Quick Clamp On Installation Quick Clamp On Installation Lockable\/Protects Your Cargo Lockable\/Protects Your Cargo Complete Bed Usage When Open Complete Bed Usage When Open No Need To Remove No Need To Remove Tailgate Stays Operational Tailgate Stays Operational 2 Year Warranty 2 Year Warranty\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nAccess Bed Covers TonnoSport - Roll-Up Tonneau Cover - Compatible with Toyota Tundra 6ft. 6in. Bed (w\/o Deck Rail)\nTonneau Cover TONNOSPORT Roll-Up Cover TONNOSPORT Roll-Up Cover; Roll-Up; Without Deck Rail;FEATURES Gives You A Sleek Low Profile Look Gives You A Sleek Low Profile Look Compatible With Bed Rails\/Bed Caps\/Tailgate Protector Compatible With Bed Rails\/Bed Caps\/Tailgate Protector Quick Clamp On Installation Quick Clamp On Installation Lockable\/Protects Your Cargo Lockable\/Protects Your Cargo Complete Bed Usage When Open Complete Bed Usage When Open No Need To Remove No Need To Remove Tailgate Stays Operational Tailgate Stays Operational 2 Year Warranty 2 Year Warranty\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nBox Partners 6 1\/4 x 3 1\/8 13 Pt. Manila Shipping Tags - Pre-Wired\nBox Partners G10083 6 1\/4 x 3 1\/8 13 Pt. Manila Shipping Tags - Pre-Wired 6 1\/4 x 3 1\/8 13 Pt. Manila Shipping Tags - Pre-Wired Dimensions L x W x H 1.5 x 1.5 x 1.5 inches, Weight 1 Pounds, Dimensions LxWxH 1 x 1 x 1 inches, Weight 1 Pounds, Brand Name Aviditi, Model Name Color Manila, Material Blend, Suggested Users unisex-adult, s 1, Manufacturer BOX Partners LLC\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nBox Partners 6 1\/4 x 3 1\/8 13 Pt. Manila Shipping Tags - Pre-Wired\nBox Partners G10083 6 1\/4 x 3 1\/8 13 Pt. Manila Shipping Tags - Pre-Wired 6 1\/4 x 3 1\/8 13 Pt. Manila Shipping Tags - Pre-Wired Dimensions L x W x H 1.5 x 1.5 x 1.5 inches, Weight 1 Pounds, Dimensions LxWxH 1 x 1 x 1 inches, Weight 1 Pounds, Brand Name Aviditi, Model Name Color Manila, Material Blend, Suggested Users unisex-adult, s 1, Manufacturer BOX Partners LLC\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nMotion Pro Adjustable Torque Wrench Adapter\nTorque any fastener with a combination wrench or Allen wrench. Will work with 6 millimeter (1\/4 inch) through 19 millimeter (3\/4 inch) combination wrenches and with 6 millimeter and 8 millimeter Allen wrenches. Torque any fastener with a combination wrench or Allen wrench Brand Motion Pro, Material Alloy Steel, Dimensions LxWxH 6 x 3.9 x 1.1 inches, Weight 0.5 Pounds, Quantity 1, Head Style Fixed Square, Hex, Finish Type Black Oxide Finish, Torque 90 Foot Pounds, Operation Mode Mechanical, Manufacturer Motion Pro, Model Dimensions 6 x 3.9 x 1.1\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nMotion Pro Adjustable Torque Wrench Adapter\nTorque any fastener with a combination wrench or Allen wrench. Will work with 6 millimeter (1\/4 inch) through 19 millimeter (3\/4 inch) combination wrenches and with 6 millimeter and 8 millimeter Allen wrenches. Torque any fastener with a combination wrench or Allen wrench Brand Motion Pro, Material Alloy Steel, Dimensions LxWxH 6 x 3.9 x 1.1 inches, Weight 0.5 Pounds, Quantity 1, Head Style Fixed Square, Hex, Finish Type Black Oxide Finish, Torque 90 Foot Pounds, Operation Mode Mechanical, Manufacturer Motion Pro, Model Dimensions 6 x 3.9 x 1.1\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nAP-39 Automotive Paint Primer Grey 2K Urethane Gallon Kit Normal Activator\nAutomotive paint primer sealer applied as a high build sanding primer or final non-sanding primer sealer. Compatible with AF 970 Black Automotive Base coat certified to be among the Deepest Black Base coats in the market. Not for sale in California, Delaware, and Maryland. Direct to Metal Excellent Filling Properties; Superior Color Holdout Easy Spray and Sanding Shipped by UPS ground only. No overnight shipping. The material is considered hazardous and cannot be returned. Not for sale in California, Delaware, and Maryland. Brand enenfeifei, Color Grey, Size 2 Piece Set, Volume 1 Gallons, Special Feature Not for sale in California, Delaware, and Maryland\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nAP-39 Automotive Paint Primer Grey 2K Urethane Gallon Kit Normal Activator\nAutomotive paint primer sealer applied as a high build sanding primer or final non-sanding primer sealer. Compatible with AF 970 Black Automotive Base coat certified to be among the Deepest Black Base coats in the market. Not for sale in California, Delaware, and Maryland. Direct to Metal Excellent Filling Properties; Superior Color Holdout Easy Spray and Sanding Shipped by UPS ground only. No overnight shipping. The material is considered hazardous and cannot be returned. Not for sale in California, Delaware, and Maryland. Brand enenfeifei, Color Grey, Size 2 Piece Set, Volume 1 Gallons, Special Feature Not for sale in California, Delaware, and Maryland\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nCarlisle Versa Trail ATR All Terrain Radial Tire - NHS\nTire designed to provide high performance for sports driving. Providing maximum traction with good braking control and handling, the tire offers unrivaled comfort when driving at high speeds. Comfort, experience, technology and design! Tire only, Rim not included made in united states package height 8.9 package length 27.1 package width 27.1 Fit type Universal Fit Brand Carlisle, Seasons NON_WINTER, Size Rim Size 12 Inches, Section Width 9 Inches, Tire Aspect Ratio 8, Speed Rating M, Tread Depth 24 32nds, Ply Rating 6-Ply, Tire Diameter 27 Inches, Weight 23.6 pounds, Manufacturer Carlisle, Model Versa Trail ATR\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nCarlisle Versa Trail ATR All Terrain Radial Tire - NHS\nTire designed to provide high performance for sports driving. Providing maximum traction with good braking control and handling, the tire offers unrivaled comfort when driving at high speeds. Comfort, experience, technology and design! Tire only, Rim not included made in united states package height 8.9 package length 27.1 package width 27.1 Fit type Universal Fit Brand Carlisle, Seasons NON_WINTER, Size Rim Size 12 Inches, Section Width 9 Inches, Tire Aspect Ratio 8, Speed Rating M, Tread Depth 24 32nds, Ply Rating 6-Ply, Tire Diameter 27 Inches, Weight 23.6 pounds, Manufacturer Carlisle, Model Versa Trail ATR\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nRandall G3 Plus Combo Guitar Amp\nThe Randall G3 is a combo amplifier that brings even more intensity and aggressiveness to your guitar playing with a redesigned preamp circuit, a 12 speaker, and digital effects. Randall took the high gain tone circuit of their flagship V2 and T2 guitar amplifiers and installed it in each of the G3 Plus amps. What you get is higher professional level tone and performance without the costs of a high-end amp. EQ Controls - Bass, Middle, Treble, Sweep, Voicing Master Control - Volume Power Output - 100 Watts @ 4 Ohms Single Speaker - 12 Celestion Seventy 80 2 Mode - Weight 51 Pounds, Dimensions 13.5 x 27 x 20.5 inches,\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nRandall G3 Plus Combo Guitar Amp\nThe Randall G3 is a combo amplifier that brings even more intensity and aggressiveness to your guitar playing with a redesigned preamp circuit, a 12 speaker, and digital effects. Randall took the high gain tone circuit of their flagship V2 and T2 guitar amplifiers and installed it in each of the G3 Plus amps. What you get is higher professional level tone and performance without the costs of a high-end amp. EQ Controls - Bass, Middle, Treble, Sweep, Voicing Master Control - Volume Power Output - 100 Watts @ 4 Ohms Single Speaker - 12 Celestion Seventy 80 2 Mode - Weight 51 Pounds, Dimensions 13.5 x 27 x 20.5 inches,\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nKidde AccessPoint 001798 Supra TouchPoint Lock\nFrom the Manufacturer TouchPoint lock is designed to replace a standard cam lock in a variety of metal storage cabinets or enclosures sized with 5\/16 inch square-hole cams. Solid die-cast body with a 10 digit changeable combination and a clutch mechanism to turn the cam. Can be mounted on top of the door surface or flush-mounted into the door. User changeable combination lock with push button combination is designed to replace a standard cam lock Door lock can easily change keyed cabinets to pushbutton locks; for use with items with 5\/16 inch cams Combination lock features heavy-duty die-cast construction; great for metal cabinets and other enclosures Mounts flush into a door, or on top of a door surface; clutch\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nKidde AccessPoint 001798 Supra TouchPoint Lock\nFrom the Manufacturer TouchPoint lock is designed to replace a standard cam lock in a variety of metal storage cabinets or enclosures sized with 5\/16 inch square-hole cams. Solid die-cast body with a 10 digit changeable combination and a clutch mechanism to turn the cam. Can be mounted on top of the door surface or flush-mounted into the door. User changeable combination lock with push button combination is designed to replace a standard cam lock Door lock can easily change keyed cabinets to pushbutton locks; for use with items with 5\/16 inch cams Combination lock features heavy-duty die-cast construction; great for metal cabinets and other enclosures Mounts flush into a door, or on top of a door surface; clutch\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nRemington Industries 24 AWG Gauge Stranded Hook Up Wire, 25 feet Length, White, 0.0201 Diameter, 300 Volts\nHook up wire is used in a variety of general-purpose electrical applications. Stranded copper wire provides good electrical connectivity while PVC insulation protects the wire against abrasion, chemicals, oils, and solvents. The wire conforms to UL and MIL-SPEC specifications, and provides excellent uniformity for easy processing, stripping, and terminating. Available in black, red, white, Blue, green & yellow. Voltage rating 300 volts Type Ul1007 stranded wire (7\/32) Insulation pvc (0.016 inch Color white Color White, Brand Remington Industries, Material wire wound, Gauge 24.0, Voltage 300\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nRemington Industries 24 AWG Gauge Stranded Hook Up Wire, 25 feet Length, White, 0.0201 Diameter, 300 Volts\nHook up wire is used in a variety of general-purpose electrical applications. Stranded copper wire provides good electrical connectivity while PVC insulation protects the wire against abrasion, chemicals, oils, and solvents. The wire conforms to UL and MIL-SPEC specifications, and provides excellent uniformity for easy processing, stripping, and terminating. Available in black, red, white, Blue, green & yellow. Voltage rating 300 volts Type Ul1007 stranded wire (7\/32) Insulation pvc (0.016 inch Color white Color White, Brand Remington Industries, Material wire wound, Gauge 24.0, Voltage 300\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nFieldpiece JL2 Job Link Wireless App Transmitter Bluetooth\nWith the JL2 transmitter and the job link app, you can start running your jobs through your mobile device. Fill out inspection checklists, view live measurements, gather in-depth Diagnostics, and adjust systems to live data. All reports can be emailed to customers and office, as well as saved in the cloud for access at anytime. The JL2 transmitter receives measurements from any Fieldpiece Wireless manifold and the Fieldpiece Wireless dual in-duct Psychomotor (SDP2) via radio frequency for extra distance - up to 100' from instrument to phone. Then the JL2 transmitter converts all live measurements and data to Bluetooth connection with your mobile device. made in United States. Manufactured by Fieldpiece instruments Inc. Sman digital\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nFieldpiece JL2 Job Link Wireless App Transmitter Bluetooth\nWith the JL2 transmitter and the job link app, you can start running your jobs through your mobile device. Fill out inspection checklists, view live measurements, gather in-depth Diagnostics, and adjust systems to live data. All reports can be emailed to customers and office, as well as saved in the cloud for access at anytime. The JL2 transmitter receives measurements from any Fieldpiece Wireless manifold and the Fieldpiece Wireless dual in-duct Psychomotor (SDP2) via radio frequency for extra distance - up to 100' from instrument to phone. Then the JL2 transmitter converts all live measurements and data to Bluetooth connection with your mobile device. made in United States. Manufactured by Fieldpiece instruments Inc. Sman digital\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nRazer Seiren X USB Streaming Microphone and Razer Kiyo Streaming Webcam\nBundle Contents 1x Kiyo Webcam, 1x Seiren X Microphone Super Cardioid Pickup Pattern Sound is recorded at a tighter angle, reducing unwanted background noise and providing crisp clear audio Designed for Streaming Supports video and audio recording in 720p 60 FPS \/ 1080p 30 FPS; Streamlabs certified and compatible with popular platforms like OBS and XSplit Convenient, Built In Lighting An attached, 5600K daylight balanced ring light around the camera keeps subjects evenly lit without the hassle of additional lighting equipment Brand Razer, Connectivity Technology USB, Color Black, Video Capture Resolution 1080p, 720p, Lens Type Zoom, Form Factor Compact\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nRazer Seiren X USB Streaming Microphone and Razer Kiyo Streaming Webcam\nBundle Contents 1x Kiyo Webcam, 1x Seiren X Microphone Super Cardioid Pickup Pattern Sound is recorded at a tighter angle, reducing unwanted background noise and providing crisp clear audio Designed for Streaming Supports video and audio recording in 720p 60 FPS \/ 1080p 30 FPS; Streamlabs certified and compatible with popular platforms like OBS and XSplit Convenient, Built In Lighting An attached, 5600K daylight balanced ring light around the camera keeps subjects evenly lit without the hassle of additional lighting equipment Brand Razer, Connectivity Technology USB, Color Black, Video Capture Resolution 1080p, 720p, Lens Type Zoom, Form Factor Compact\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nSBU 3 Layer All Weather Mini Van Car Cover Compatible for Ford Windstar Minivan Model Years Breathable Automobile Van Protection\nThis Van Cover will provide all year round protection to your car. -It will efficiently shield your car\u2019s paint from all finish-destroying agents sun, rain, snow, dust, dirt, tree sap and other corruptive elements. -The cover will minimize accidental bumps, dings, and scratches. You will save money on car washes, repair shops and will enjoy your ride in a brand-new looking car all year round. Investing in our quality cover is not only a practical move but also the perfect option for maintaining the car\u2019s exterior. Condition Brand New, Color Gray, PACKAGE INCLUDES Brand New Van Cover.Free Storage Pouch, Antenna Patch. All\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nSBU 3 Layer All Weather Mini Van Car Cover Compatible for Ford Windstar Minivan Model Years Breathable Automobile Van Protection\nThis Van Cover will provide all year round protection to your car. -It will efficiently shield your car\u2019s paint from all finish-destroying agents sun, rain, snow, dust, dirt, tree sap and other corruptive elements. -The cover will minimize accidental bumps, dings, and scratches. You will save money on car washes, repair shops and will enjoy your ride in a brand-new looking car all year round. Investing in our quality cover is not only a practical move but also the perfect option for maintaining the car\u2019s exterior. Condition Brand New, Color Gray, PACKAGE INCLUDES Brand New Van Cover.Free Storage Pouch, Antenna Patch. All\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nBaseus USB C Docking Station to Cast on 3 Monitors with 100W PD USB-C Port, 4K USB 3.0 * 5, LAN, SD\/TF Cards Reader, Audio Port for Windows, Mac Laptop\nDocking Station \u2014 Up to 16 ports allowing you to connect almost all devices through a single gear; 3 4K HDMI ports to cast different content on each display, PD Type-C to connect mobile devices, 3 USB 3.0 ports, 2 USB2.0 ports. Note Docking station requires a second power adapter through the PD USB-C port when charging your laptop through it Triple Extend to the Fullest \u2014 Boost productivity by casting up to 3 different contents on displays; Actual pixels up to when using\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nBaseus USB C Docking Station to Cast on 3 Monitors with 100W PD USB-C Port, 4K USB 3.0 * 5, LAN, SD\/TF Cards Reader, Audio Port for Windows, Mac Laptop\nDocking Station \u2014 Up to 16 ports allowing you to connect almost all devices through a single gear; 3 4K HDMI ports to cast different content on each display, PD Type-C to connect mobile devices, 3 USB 3.0 ports, 2 USB2.0 ports. Note Docking station requires a second power adapter through the PD USB-C port when charging your laptop through it Triple Extend to the Fullest \u2014 Boost productivity by casting up to 3 different contents on displays; Actual pixels up to when using\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nCovermates Contour Fit Car Cover - Light Weight Polyester, Weather Resistant, Elastic Hem, Vehicle Covers-Khaki\nFrom freezing rain and snowstorms to harsh sunlight and bird droppings, your vehicle faces it all. Spring brings bouts of rain followed by showers of pollen, leaving your vehicle a yellow, sticky mess. Our WeatherTite Prime covers are made of 300D stock-dyed polyester designed for climates with moderate humidity, moderate sunlight, heavy wind gusts, and heavy rain and snowfall. WeatherTite Prime covers provide excellent protection from dirt, dust, pollen, rain, and anything else nature has to throw at it. Hidden grommets are placed along the bottom of the cover, allowing optional cable locks to keep the cover secure and safe. An extra\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nCovermates Contour Fit Car Cover - Light Weight Polyester, Weather Resistant, Elastic Hem, Vehicle Covers-Khaki\nFrom freezing rain and snowstorms to harsh sunlight and bird droppings, your vehicle faces it all. Spring brings bouts of rain followed by showers of pollen, leaving your vehicle a yellow, sticky mess. Our WeatherTite Prime covers are made of 300D stock-dyed polyester designed for climates with moderate humidity, moderate sunlight, heavy wind gusts, and heavy rain and snowfall. WeatherTite Prime covers provide excellent protection from dirt, dust, pollen, rain, and anything else nature has to throw at it. Hidden grommets are placed along the bottom of the cover, allowing optional cable locks to keep the cover secure and safe. An extra\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nHOLDWILL 6 Pack LED Shop Light, 4FT 24W 6500K, Cool White, Clear Cover, Hight Output, Linkable 4 Foot LED Strip Lights, T8 LED Tube Lights, LED Light Fixture for Garage Ceiling with Plug Cable\nSpecification Length Power 24W Lumen 2640lm CCT 6500K Beam Angle 120 degrees Luminous Flux 110lm per watt LED chips 120pcs Color Rendering Index(CRI) 85 Operation Temperature \u00b0F Lamp Power Factor 0.95 Input Voltage Material Top quality Aluminum & superior PC BRIGHT - HOLDWILL shop light bring your application the best lighting available with an incredible minimum of Illuminate the dark corners of your space SAVING - Each led under cabinet light has 24w\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nHOLDWILL 6 Pack LED Shop Light, 4FT 24W 6500K, Cool White, Clear Cover, Hight Output, Linkable 4 Foot LED Strip Lights, T8 LED Tube Lights, LED Light Fixture for Garage Ceiling with Plug Cable\nSpecification Length Power 24W Lumen 2640lm CCT 6500K Beam Angle 120 degrees Luminous Flux 110lm per watt LED chips 120pcs Color Rendering Index(CRI) 85 Operation Temperature \u00b0F Lamp Power Factor 0.95 Input Voltage Material Top quality Aluminum & superior PC BRIGHT - HOLDWILL shop light bring your application the best lighting available with an incredible minimum of Illuminate the dark corners of your space SAVING - Each led under cabinet light has 24w\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nFREE SIGNAL TV Transit 32 12 Volt DC Powered LED Flat Screen HDTV for RV Camper and Mobile Use\nMobile High Performance 32 inch LED TV - Get HD picture quality from this superb DC-powered 12 volt television with 1366 x 768 resolution. Groundbreaking engineering results in a lightweight TV with dynamic audio response and advanced noise reduction circuitry. The Easy-to-Set-Up and Versatile RV Flat Screen TV - Simple 12V connection. 3 HDMI Inputs. Can also be used at home by converting to AC with the included 1260 Power Brick Adapter. Perfect Television for Campers, Trailers, RVs, and More - The Transit 32 inch 12 volt powered flat screen TV is also ideal for cars and trucks. With high-resolution picture from a\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nFREE SIGNAL TV Transit 32 12 Volt DC Powered LED Flat Screen HDTV for RV Camper and Mobile Use\nMobile High Performance 32 inch LED TV - Get HD picture quality from this superb DC-powered 12 volt television with 1366 x 768 resolution. Groundbreaking engineering results in a lightweight TV with dynamic audio response and advanced noise reduction circuitry. The Easy-to-Set-Up and Versatile RV Flat Screen TV - Simple 12V connection. 3 HDMI Inputs. Can also be used at home by converting to AC with the included 1260 Power Brick Adapter. Perfect Television for Campers, Trailers, RVs, and More - The Transit 32 inch 12 volt powered flat screen TV is also ideal for cars and trucks. With high-resolution picture from a\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nKING SHA Anti Glare LED Track Lighting Heads (50W Eqv.) Compatible with Halo Pack\nStable performance dimming capabilities that work seamlessly with universal dimmers, allowing you to adjust the brightness smoothly from 10% to 100% without any flickering. Anti-glare design to provide soft and eye-friendly lighting. The glare-free grid helps to reduce eye strain and protect your vision. Compatibility with H-type circuit track systems, making them suitable for a wide range of track lighting applications. GU10 base with a twist and turn type, which makes it easy to change bulbs. The 7W dimmable MR16 bulb with a high color rendering index of 90+ and a color temperature of 3000K (50W equivalent) provides bright and vibrant illumination. Adjustable\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nKING SHA Anti Glare LED Track Lighting Heads (50W Eqv.) Compatible with Halo Pack\nStable performance dimming capabilities that work seamlessly with universal dimmers, allowing you to adjust the brightness smoothly from 10% to 100% without any flickering. Anti-glare design to provide soft and eye-friendly lighting. The glare-free grid helps to reduce eye strain and protect your vision. Compatibility with H-type circuit track systems, making them suitable for a wide range of track lighting applications. GU10 base with a twist and turn type, which makes it easy to change bulbs. The 7W dimmable MR16 bulb with a high color rendering index of 90+ and a color temperature of 3000K (50W equivalent) provides bright and vibrant illumination. Adjustable\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nHaloview MC7108 Wireless RV Backup Camera System 7'' Monitor Built in DVR Rear View Camera with Infrared Night Vision and Wide Viewing Angle for Truck\/Trailer\/RV\/Pickups\/Camping Car\/Van\/Farm\n7 LCD digital monitor, Built-in recorder. Real time recording, video playback 10-32V wide voltage input, Support 4 wireless camera wide viewing angle, Wireless Line of Sight Range Up to 984 feet (This kit include 1 monitor+ 1 camera) Split mode, auto-scan mode and single-display mode available, Normal, mirror, FLIP, MIRROR-FLIP viewing options available HD 720P Digital Wireless Backup camera system, it has far better image resolution, stronger lens and longer transmission distance, which will bring you a\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nHaloview MC7108 Wireless RV Backup Camera System 7'' Monitor Built in DVR Rear View Camera with Infrared Night Vision and Wide Viewing Angle for Truck\/Trailer\/RV\/Pickups\/Camping Car\/Van\/Farm\n7 LCD digital monitor, Built-in recorder. Real time recording, video playback 10-32V wide voltage input, Support 4 wireless camera wide viewing angle, Wireless Line of Sight Range Up to 984 feet (This kit include 1 monitor+ 1 camera) Split mode, auto-scan mode and single-display mode available, Normal, mirror, FLIP, MIRROR-FLIP viewing options available HD 720P Digital Wireless Backup camera system, it has far better image resolution, stronger lens and longer transmission distance, which will bring you a\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nUnknown Stage 2 Clutch Kit - Low Altitude\nAmazing all-around performance gains. Easily adjustable for altitude, modifications and more. Superior weight profile offers better acceleration. Goldstar weights adjust easily with magnets. Custom angle cut helix. Comes with two washers to prevent spring bind and free up clutch movement for faster shifts. Includes primary and secondary springs.This item fits the following vehicle applications compatible with Polaris 600 Rush PRO-S with Polaris 600 Rush XCR with Polaris 600 SwitchBack Adventure with Polaris 600 SwitchBack Assault 144 with Polaris 600 SwitchBack PRO-S with Polaris 600 SwitchBack SP 144 with Polaris 600 SwitchBack XCR with Polaris 800 Rush PRO-S with Polaris 800 Rush PRO-S LE with Pol\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nUnknown Stage 2 Clutch Kit - Low Altitude\nAmazing all-around performance gains. Easily adjustable for altitude, modifications and more. Superior weight profile offers better acceleration. Goldstar weights adjust easily with magnets. Custom angle cut helix. Comes with two washers to prevent spring bind and free up clutch movement for faster shifts. Includes primary and secondary springs.This item fits the following vehicle applications compatible with Polaris 600 Rush PRO-S with Polaris 600 Rush XCR with Polaris 600 SwitchBack Adventure with Polaris 600 SwitchBack Assault 144 with Polaris 600 SwitchBack PRO-S with Polaris 600 SwitchBack SP 144 with Polaris 600 SwitchBack XCR with Polaris 800 Rush PRO-S with Polaris 800 Rush PRO-S LE with Pol\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nGigabyte AMD Radeon HD 7870 2 GB GDDR5 Mini-Displayport PCI-Express 3.0 Graphic Card\nPowered by AMD Radeon HD 7870 GPU and Integrated with the industry's best 2 GB GDDR5 memory and memory interface Ultra Durable VGA Components - GPU Temperature 5%-10% Down - Overclocing Capability Up - Power Switching Loss Down WINDFORCE 3X Anti-Turbulence Cooling with New Triangle Cool Technology Gold Plated HDMI for optimum signal transfer between connections Features mini-Display port outputs with HDCP protection Supports AMD Eyefinity\/Eyespeed\/CrossFire\/Avivo HD Technologies Minimum Recommended Power Supply 500W or greater with 2x 6-pin VGA power connectors Max Screen Resolution 4096 x\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nGigabyte AMD Radeon HD 7870 2 GB GDDR5 Mini-Displayport PCI-Express 3.0 Graphic Card\nPowered by AMD Radeon HD 7870 GPU and Integrated with the industry's best 2 GB GDDR5 memory and memory interface Ultra Durable VGA Components - GPU Temperature 5%-10% Down - Overclocing Capability Up - Power Switching Loss Down WINDFORCE 3X Anti-Turbulence Cooling with New Triangle Cool Technology Gold Plated HDMI for optimum signal transfer between connections Features mini-Display port outputs with HDCP protection Supports AMD Eyefinity\/Eyespeed\/CrossFire\/Avivo HD Technologies Minimum Recommended Power Supply 500W or greater with 2x 6-pin VGA power connectors Max Screen Resolution 4096 x\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nSOZG 324mm Wheelbase Body Shell RC Car Body Shell Super Hard Plastic Black with Screw for RC Vehicle, SOZGpuFdVe\nSpecification Item Type Body ShellProduct Material Rigid plasticWeight Approx. 1190g \/ BlackWheelbase Size For 1\/10 RC for, for Axial List 1 Set x Body Shell (81 Bags x ScrewNote 1. Manual measurement, please allow 1\u20113mm error, thank you!2. Due to the difference between different monitors, the picture may not reflect the actual color of the This car shell is suitable for 324mm wheelbase chassis, if it is installed on other chassis, the wheelbase needs to be adjusted to Shipped in bulk, assembled by the customer (the door cannot be opened).\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nSOZG 324mm Wheelbase Body Shell RC Car Body Shell Super Hard Plastic Black with Screw for RC Vehicle, SOZGpuFdVe\nSpecification Item Type Body ShellProduct Material Rigid plasticWeight Approx. 1190g \/ BlackWheelbase Size For 1\/10 RC for, for Axial List 1 Set x Body Shell (81 Bags x ScrewNote 1. Manual measurement, please allow 1\u20113mm error, thank you!2. Due to the difference between different monitors, the picture may not reflect the actual color of the This car shell is suitable for 324mm wheelbase chassis, if it is installed on other chassis, the wheelbase needs to be adjusted to Shipped in bulk, assembled by the customer (the door cannot be opened).\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nJuno T29 WH Floating Electrical Feed Single Circuit Track, 120 Volts, White\nFloating Electrical Feed for Juno Single Circuit Track Permits mounting at any point of Juno single circuit track under the outlet box. Includes floating connector and outlet box cover plus extra track dead end.. Floating Electrical Feed For Juno 1 Circuit Track - White Lighting Rail. 1- Juno Floating Electrical Feed T29Wh For Juno Single Circuit Track Brand Name Juno Lighting Product Dimensions 6.0 X 3.0 X 3.0 Country Of Origin China Manufacturer Acuity Brands Lighting, Part Weight 4.2 ounces, Dimensions 6 x 3 x 3 inches, Country of Origin China, model number T29 WH, Color White, Style Voltage, Finish White,\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nJuno T29 WH Floating Electrical Feed Single Circuit Track, 120 Volts, White\nFloating Electrical Feed for Juno Single Circuit Track Permits mounting at any point of Juno single circuit track under the outlet box. Includes floating connector and outlet box cover plus extra track dead end.. Floating Electrical Feed For Juno 1 Circuit Track - White Lighting Rail. 1- Juno Floating Electrical Feed T29Wh For Juno Single Circuit Track Brand Name Juno Lighting Product Dimensions 6.0 X 3.0 X 3.0 Country Of Origin China Manufacturer Acuity Brands Lighting, Part Weight 4.2 ounces, Dimensions 6 x 3 x 3 inches, Country of Origin China, model number T29 WH, Color White, Style Voltage, Finish White,\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nEBC Premium Street Brake Kit\nType Automotive Brake Save 10% from buying separate parts with EBC Brakes quality brake kit. High efficiency EBC pads with patented EBC Brake-in coating and premium rotors with thermic anti rust coating, fully balanced and run-out tested for smooth braking.Dimension 12 x 12 x 12 inchWeight 35.18 lbsManufacturer Warranty Covered by Manufacturer's Warranty Daily Driver Premium Brake Kit For Cars Truck Or SUV Quality British Made EBC Pads Premium G3000 OE Style Rotors Geomet Anti Rust Coating Manufacturer EBC Brakes, Brand EBC, Model EBC Brakes, Weight 40 pounds, model number Manufacturer Part Available May 19, 2012, Vehicle Service Type Car, Orientation Front\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nEBC Premium Street Brake Kit\nType Automotive Brake Save 10% from buying separate parts with EBC Brakes quality brake kit. High efficiency EBC pads with patented EBC Brake-in coating and premium rotors with thermic anti rust coating, fully balanced and run-out tested for smooth braking.Dimension 12 x 12 x 12 inchWeight 35.18 lbsManufacturer Warranty Covered by Manufacturer's Warranty Daily Driver Premium Brake Kit For Cars Truck Or SUV Quality British Made EBC Pads Premium G3000 OE Style Rotors Geomet Anti Rust Coating Manufacturer EBC Brakes, Brand EBC, Model EBC Brakes, Weight 40 pounds, model number Manufacturer Part Available May 19, 2012, Vehicle Service Type Car, Orientation Front\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nDetroit Axle - Front Rear Strut & Coil Spring Assembly Replacement for Toyota Camry 2.2L Models - 4pc Set\nKit Includes 1x Complete Front Strut & Coil Spring Assembly - Driver Side - 171956 1x Complete Front Strut & Coil Spring Assembly - Driver Side - 171956 1x Complete Front Strut & Coil Spring Assembly - Passenger Side 1x Complete Front Strut & Coil Spring Assembly - Passenger Side 1x Complete Rear Strut & Coil Spring Assembly - Driver Side - 171958 1x Complete Rear Strut & Coil Spring Assembly - Driver Side - 171958 1x Complete Rear Strut & Coil Spring Assembly - Passenger Side - 171957 1x Complete Rear Strut & Coil Spring Assembly\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nDetroit Axle - Front Rear Strut & Coil Spring Assembly Replacement for Toyota Camry 2.2L Models - 4pc Set\nKit Includes 1x Complete Front Strut & Coil Spring Assembly - Driver Side - 171956 1x Complete Front Strut & Coil Spring Assembly - Driver Side - 171956 1x Complete Front Strut & Coil Spring Assembly - Passenger Side 1x Complete Front Strut & Coil Spring Assembly - Passenger Side 1x Complete Rear Strut & Coil Spring Assembly - Driver Side - 171958 1x Complete Rear Strut & Coil Spring Assembly - Driver Side - 171958 1x Complete Rear Strut & Coil Spring Assembly - Passenger Side - 171957 1x Complete Rear Strut & Coil Spring Assembly\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nFixtureDisplays\u00ae Metal Truss Podium Double Width Modern Design\nFixtureDisplays Metal Truss Podium Double Width Modern Design Churches & Other Venues Black truss is great to project a simple, clean and crisp look. Decorative truss panel design. Great for Churches, Schools, Hotels, Conferences, Funeral Homes, Stages, Debates, Wedding & Events, Restaurants Reception, Concierge etc. Easy screw aseembly. Contact us if u wish to order assembly service. Double-wide Full Size Pulpit Measurement 39 wide x 15.5 deep x 46.7 tall. Podium weighs 41 lbs. Reading panel comes with book stopper. Works great for two person services, or a larger room where a wider podium is proper. Sturdy Construction Made\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nFixtureDisplays\u00ae Metal Truss Podium Double Width Modern Design\nFixtureDisplays Metal Truss Podium Double Width Modern Design Churches & Other Venues Black truss is great to project a simple, clean and crisp look. Decorative truss panel design. Great for Churches, Schools, Hotels, Conferences, Funeral Homes, Stages, Debates, Wedding & Events, Restaurants Reception, Concierge etc. Easy screw aseembly. Contact us if u wish to order assembly service. Double-wide Full Size Pulpit Measurement 39 wide x 15.5 deep x 46.7 tall. Podium weighs 41 lbs. Reading panel comes with book stopper. Works great for two person services, or a larger room where a wider podium is proper. Sturdy Construction Made\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nPro Circuit Works Pipe for 02-19 YAMAHA YZ250\nThe Original Pro Circuit Works Pipe Offers Unparalleled Performance and Power for Every Two-Stroke Application. Increased Horsepower and Torque Gains Will Quickly Be Noticed Across the Entire Rpm Range. The Unplated, Oiled Metal Finish Requires Some Maintenance, but Really Gives Your Bike That Works Look. Please Note The Image Displayed Is Representative of the Item, but May Vary Slightly Depending on Your Specific Model. Please Note The Image Displayed Is Representative of the Item, but May Vary Slightly Depending on Your Specific Model. Size YAMAHA YZ250 Style CARBON STEEL Color silver Warranty Pro-Circuit provides a 90-day warranty. See their site for full details. Manufacturer Pro Circuit\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nPro Circuit Works Pipe for 02-19 YAMAHA YZ250\nThe Original Pro Circuit Works Pipe Offers Unparalleled Performance and Power for Every Two-Stroke Application. Increased Horsepower and Torque Gains Will Quickly Be Noticed Across the Entire Rpm Range. The Unplated, Oiled Metal Finish Requires Some Maintenance, but Really Gives Your Bike That Works Look. Please Note The Image Displayed Is Representative of the Item, but May Vary Slightly Depending on Your Specific Model. Please Note The Image Displayed Is Representative of the Item, but May Vary Slightly Depending on Your Specific Model. Size YAMAHA YZ250 Style CARBON STEEL Color silver Warranty Pro-Circuit provides a 90-day warranty. See their site for full details. Manufacturer Pro Circuit\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nUWS Matte Black Heavy-Wall Aluminum Deep Angled Truck Tool Box with Low Profile, RigidCore Lid\nUWS crossover truck tool boxes are the tried-and-true way of keeping your tools organized, on-hand and fully secure no matter where you and your truck roam. Each UWS tool box is built from extra-thick aluminum welded into a single-piece tub. This provides the tool box with reliable strength and helps keep the interior sealed off from the elements. Aluminum construction also makes the box highly resistant to corrosion for long-lasting use. To add even more strength to the crossover truck tool box, the lid features our patented RigidCore foam-filled design. Layered between two sheets of aluminum, this core greatly increases the structural integrity of the lid to prevent bending and warping and to ensure\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nUWS Matte Black Heavy-Wall Aluminum Deep Angled Truck Tool Box with Low Profile, RigidCore Lid\nUWS crossover truck tool boxes are the tried-and-true way of keeping your tools organized, on-hand and fully secure no matter where you and your truck roam. Each UWS tool box is built from extra-thick aluminum welded into a single-piece tub. This provides the tool box with reliable strength and helps keep the interior sealed off from the elements. Aluminum construction also makes the box highly resistant to corrosion for long-lasting use. To add even more strength to the crossover truck tool box, the lid features our patented RigidCore foam-filled design. Layered between two sheets of aluminum, this core greatly increases the structural integrity of the lid to prevent bending and warping and to ensure\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nLowrance Nmea 2000 25' Extension Cable\nLowrance n2k extension cable Red plugs NMEA 2000 extension cable Mfg.# Lowrance connectors. Package Dimensions 10 L x 3 H x 5 W (inches) Country of Origin Mexico Part number For use with LGC 3000 and red NMEA network Dimensions L x W x H 9.92 x 4.25 x 3.23 inches, Weight 0.79 Pounds, Dimensions LxWxH 10 x 5 x 3 inches, Weight 0.32 Kilograms, Brand Name Lowrance, Model Name Color Red, s 1, Manufacturer Lowrance, Part Model Year 2015, Included Components Lowrance Nmea \n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nLowrance Nmea 2000 25' Extension Cable\nLowrance n2k extension cable Red plugs NMEA 2000 extension cable Mfg.# Lowrance connectors. Package Dimensions 10 L x 3 H x 5 W (inches) Country of Origin Mexico Part number For use with LGC 3000 and red NMEA network Dimensions L x W x H 9.92 x 4.25 x 3.23 inches, Weight 0.79 Pounds, Dimensions LxWxH 10 x 5 x 3 inches, Weight 0.32 Kilograms, Brand Name Lowrance, Model Name Color Red, s 1, Manufacturer Lowrance, Part Model Year 2015, Included Components Lowrance Nmea \n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nSet 2 Heavy Duty 12 Ply Skid Steer Tire w\/Rim Guard\nDeep tread designed to resist gouging and cutting. Brand new, not retreads. Heavy duty 12 Ply rated with Rim Guard to protect your wheels, Durable tread pattern for super stability. 32.7 oval diameter, 12.3 section width, 23\/32 tread depth, max load 6320 lb@80 psi Tire Specifications Tire Size Tire Size Brand SUPERGUIDER Brand SUPERGUIDER Tread Pattern SKS-1 Tread Pattern SKS-1 Ply Rated 12 Ply Rated 12 Tread Depth 0.72 Tread Depth 0.72 Rim Width 9.75 Rim Width 9.75 Max Load Max Load Please note fitment guide is for\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nSet 2 Heavy Duty 12 Ply Skid Steer Tire w\/Rim Guard\nDeep tread designed to resist gouging and cutting. Brand new, not retreads. Heavy duty 12 Ply rated with Rim Guard to protect your wheels, Durable tread pattern for super stability. 32.7 oval diameter, 12.3 section width, 23\/32 tread depth, max load 6320 lb@80 psi Tire Specifications Tire Size Tire Size Brand SUPERGUIDER Brand SUPERGUIDER Tread Pattern SKS-1 Tread Pattern SKS-1 Ply Rated 12 Ply Rated 12 Tread Depth 0.72 Tread Depth 0.72 Rim Width 9.75 Rim Width 9.75 Max Load Max Load Please note fitment guide is for\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nG.I. JOE Hasbro 3 3\/4 Wave 5 Action Figure SGT. Flash (Laser Rifle Trooper)\nSGT. FLASH is highly skilled in many aspects of electronic technology and is capable of equipment repair in the field. His specialized education includes electronics school, chemical school, and covert electronics. He is a qualified expert with the M-16, and (shoulder laser rifle). Celebrate 25 years of the ultimate action team with this articulated action figure! Display your action figure on the included display base! Figure also comes with a weapon! Twenty-fifth anniversary action figure has detailed styling and comes with a weapon and a display base! Ages 5 and up. Dimensions 5.12 x 1.57 x 5.51 inches, Weight\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nG.I. JOE Hasbro 3 3\/4 Wave 5 Action Figure SGT. Flash (Laser Rifle Trooper)\nSGT. FLASH is highly skilled in many aspects of electronic technology and is capable of equipment repair in the field. His specialized education includes electronics school, chemical school, and covert electronics. He is a qualified expert with the M-16, and (shoulder laser rifle). Celebrate 25 years of the ultimate action team with this articulated action figure! Display your action figure on the included display base! Figure also comes with a weapon! Twenty-fifth anniversary action figure has detailed styling and comes with a weapon and a display base! Ages 5 and up. Dimensions 5.12 x 1.57 x 5.51 inches, Weight\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nSUNWAYFOTO 44mm Tripod Ball Head Arca Compatible Sunway\n66lb Max load! Eliptical Ball for progressive resistance. Y-axis diameter 0.03mm longer than the X-axis. Single notch design. Super strong shell. All Metal knobs. For long term durability. Panning Base Scale Independent Pan Lock Knob, 360\u00b0 panning movement with calibrated precision, precisely capture overlapping panoramic images. Panning Base is laser-engraved with index marks from with increments at 5\u00b0 50mm clamp with Bubble level. Ball Diameter 44mm. Base 55mm. Height 94mm. Weight 450g. Max load 30kg (66 lbs). Bottom thread 3\/8 with 1\/4 adapter. 1 year\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nSUNWAYFOTO 44mm Tripod Ball Head Arca Compatible Sunway\n66lb Max load! Eliptical Ball for progressive resistance. Y-axis diameter 0.03mm longer than the X-axis. Single notch design. Super strong shell. All Metal knobs. For long term durability. Panning Base Scale Independent Pan Lock Knob, 360\u00b0 panning movement with calibrated precision, precisely capture overlapping panoramic images. Panning Base is laser-engraved with index marks from with increments at 5\u00b0 50mm clamp with Bubble level. Ball Diameter 44mm. Base 55mm. Height 94mm. Weight 450g. Max load 30kg (66 lbs). Bottom thread 3\/8 with 1\/4 adapter. 1 year\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nLogitech K750 Wireless Solar Keyboard for Windows, 2.4GHz Wireless with USB Unifying Receiver, Ultra-Thin, Compatible with PC, Laptop - Black\nProduct Description Battery hassles are a thing of the past with the solar-powered Logitech Wireless Solar Keyboard K750. It charges itself whenever there's light, so you can say good-bye to batteries, power bricks and charging cables. With sleek lines and a thin profile, this stylish, streamlined keyboard adds style to your workspace. Combining the best of traditional keyboards, laptops and a Logitech-only concave key cap design, you'll enjoy faster, quieter, feel-good typing-hour after hour. Plus, you'll get Logitech Advanced 2.4 GHz wireless and the tiny Logitech Unifying receiver. From the Manufacturer\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nLogitech K750 Wireless Solar Keyboard for Windows, 2.4GHz Wireless with USB Unifying Receiver, Ultra-Thin, Compatible with PC, Laptop - Black\nProduct Description Battery hassles are a thing of the past with the solar-powered Logitech Wireless Solar Keyboard K750. It charges itself whenever there's light, so you can say good-bye to batteries, power bricks and charging cables. With sleek lines and a thin profile, this stylish, streamlined keyboard adds style to your workspace. Combining the best of traditional keyboards, laptops and a Logitech-only concave key cap design, you'll enjoy faster, quieter, feel-good typing-hour after hour. Plus, you'll get Logitech Advanced 2.4 GHz wireless and the tiny Logitech Unifying receiver. From the Manufacturer\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nAlera ALEVABFMC Valencia Series Mobile B\/f Pedestal, 15 7\/8 X 19 1\/8 X 22 7\/8, Med. Cherry\nSturdy woodgrain laminate mobile box file pedestal to store all your office necessities. Full-extension ball bearing slides on file drawer for easy access. Durable laminate is water-, scratch-, and dent-resistant with 3 mm protective edge banding. Two fold-away safety keys included. Accepts Alera\u00ae Pedestal Cushions for an instant seating option. Sturdy woodgrain laminate mobile box file pedestal to store all your office necessities. Full-extension ball bearing slides on file drawer for easy access. Durable laminate is water-, scratch-, and dent-resistant with 3 mm protective\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nAlera ALEVABFMC Valencia Series Mobile B\/f Pedestal, 15 7\/8 X 19 1\/8 X 22 7\/8, Med. Cherry\nSturdy woodgrain laminate mobile box file pedestal to store all your office necessities. Full-extension ball bearing slides on file drawer for easy access. Durable laminate is water-, scratch-, and dent-resistant with 3 mm protective edge banding. Two fold-away safety keys included. Accepts Alera\u00ae Pedestal Cushions for an instant seating option. Sturdy woodgrain laminate mobile box file pedestal to store all your office necessities. Full-extension ball bearing slides on file drawer for easy access. Durable laminate is water-, scratch-, and dent-resistant with 3 mm protective\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nSpecial Lite Products Contemporary Wall Mounted Mailbox with Rain Overhang Finish Oil Rubbed Bronze\nThe clean lines and minimal design of the Contemporary Horizontal Mailbox provide an immediate way to add a lovely and welcoming outdoor accent to your front porch. The straightforward design makes this mailbox a perfect match with any home while upgrading your entry way at the same time. The durable powder coat finish will keep your mailbox looking vibrant and beautiful for years to come while the door closure will protect your mail from rainy weather keeping it dry inside. All types and sizes of magazines, letters, envelopes can fit easily inside the enclosure. Matching newspaper scroll arms are included and can be easily attached at your choosing. Deliberate but stylish, the Contemporary delivers at all angles. One of our best sellers! All screws, hinges, and like\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nSpecial Lite Products Contemporary Wall Mounted Mailbox with Rain Overhang Finish Oil Rubbed Bronze\nThe clean lines and minimal design of the Contemporary Horizontal Mailbox provide an immediate way to add a lovely and welcoming outdoor accent to your front porch. The straightforward design makes this mailbox a perfect match with any home while upgrading your entry way at the same time. The durable powder coat finish will keep your mailbox looking vibrant and beautiful for years to come while the door closure will protect your mail from rainy weather keeping it dry inside. All types and sizes of magazines, letters, envelopes can fit easily inside the enclosure. Matching newspaper scroll arms are included and can be easily attached at your choosing. Deliberate but stylish, the Contemporary delivers at all angles. One of our best sellers! All screws, hinges, and like\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nNHOPEEW Android Car Radio Carplay for Jeep Wrangler 2015 2016 2017 Touchscreen Bluetooth Car Stereo with AHD Backup Camera\/Mic\/HiFi\nCompatible with jeep wrangler 2015 2016 2017 Android 11 System The Android head unit fit for jeep wrangler 2015 2016 2017, it is plug&play, easy to install. Android 11 operating system, 2GB RAM & 32GB ROM, ensures smooth operation and faster response. Android Auto & Apple Carplay Support wireless and wired connect your phone to the carplay jeep wrangler radio, with Siri voice control allows you make calls, send and receive messages, enjoy music and Navigating. Large Screen with Hi-Fi The jeep wrangler\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nNHOPEEW Android Car Radio Carplay for Jeep Wrangler 2015 2016 2017 Touchscreen Bluetooth Car Stereo with AHD Backup Camera\/Mic\/HiFi\nCompatible with jeep wrangler 2015 2016 2017 Android 11 System The Android head unit fit for jeep wrangler 2015 2016 2017, it is plug&play, easy to install. Android 11 operating system, 2GB RAM & 32GB ROM, ensures smooth operation and faster response. Android Auto & Apple Carplay Support wireless and wired connect your phone to the carplay jeep wrangler radio, with Siri voice control allows you make calls, send and receive messages, enjoy music and Navigating. Large Screen with Hi-Fi The jeep wrangler\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nNanoBeam AC 4 Units 5GHz High-Performance airMAX ac Bridge CPE with Dedicated Management Radio\nModels Ubiquiti Networks NanoBeam AC 5GHz High-Performance airMAX ac Bridge CPE with Dedicated Management Radio Incorporating innovative industrial design with proprietary airMAX ac technology, the NanoBeamAC is ideal for CPE deployments requiring maximum performance from the smallest possible footprint. The NanoBeam ac Gen2 airMAX ac CPE with Dedicated Management Radio from Ubiquiti Networks offers a more reliable long-distance point-to-point connection. Boasting a maximum throughput up to 450 Mb\/s, this NanoBeam radio is designed to filter out noise to reduce interference in areas congested with multiple RF signals while offering up to 19 dBi gain. Setup is simple, as the NanoBeam\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nNanoBeam AC 4 Units 5GHz High-Performance airMAX ac Bridge CPE with Dedicated Management Radio\nModels Ubiquiti Networks NanoBeam AC 5GHz High-Performance airMAX ac Bridge CPE with Dedicated Management Radio Incorporating innovative industrial design with proprietary airMAX ac technology, the NanoBeamAC is ideal for CPE deployments requiring maximum performance from the smallest possible footprint. The NanoBeam ac Gen2 airMAX ac CPE with Dedicated Management Radio from Ubiquiti Networks offers a more reliable long-distance point-to-point connection. Boasting a maximum throughput up to 450 Mb\/s, this NanoBeam radio is designed to filter out noise to reduce interference in areas congested with multiple RF signals while offering up to 19 dBi gain. Setup is simple, as the NanoBeam\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nFXR Men's Boost FX Jacket (Black\/Orange\/White - Large)\nHydrX Pro - Shell - durable, sublimated 450d polyester shell with HydrX Pro laminate Boost LE Shell - M-Series Omni Stretch 450d polyester shell with HydrX Pro laminate F.A.S.T. 90g insulation value in outer shell body, perforated at vent areas Lining - moisture-wicking quick-dry mesh lining FXR Dry Vent system - snowproof and moisture resistant chest side body vent system Removable liner - FXR Thermal Dry active liner with 175g Thermal Flex fill YKK Aquaguard front zipper HD #8 W\/P zippers throughout Adjustable windskirt 360 3M Scotchlite reflective Shock-cord adjustable collar Shock-cord adjustable bottom\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nFXR Men's Boost FX Jacket (Black\/Orange\/White - Large)\nHydrX Pro - Shell - durable, sublimated 450d polyester shell with HydrX Pro laminate Boost LE Shell - M-Series Omni Stretch 450d polyester shell with HydrX Pro laminate F.A.S.T. 90g insulation value in outer shell body, perforated at vent areas Lining - moisture-wicking quick-dry mesh lining FXR Dry Vent system - snowproof and moisture resistant chest side body vent system Removable liner - FXR Thermal Dry active liner with 175g Thermal Flex fill YKK Aquaguard front zipper HD #8 W\/P zippers throughout Adjustable windskirt 360 3M Scotchlite reflective Shock-cord adjustable collar Shock-cord adjustable bottom\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nTorklift C3212 Rear Tie Down\nFits 11-14 Chevy\/GMC 2500 \/ 3500 HD (Crew \/ Ext. Cab ONLY) with factory hitch 11-14 Chevy\/GMC 2500 \/ 3500 HD (Crew \/ Ext. Cab ONLY) with factory hitch 11-13 Chevy\/GMC 2500 \/ 3500 (Regular Cab ONLY) with factory hitch 2014 Chevy\/GMC 1500 4wd (Crewcab) with factory hitch 2014 Chevy\/GMC 2500 4wd (Crewcab) with factory hitch 2014 Chevy\/GMC 2500 4wd (Regular Cab) with factory hitch 2014 Chevy\/GMC 3500 4wd (\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nTorklift C3212 Rear Tie Down\nFits 11-14 Chevy\/GMC 2500 \/ 3500 HD (Crew \/ Ext. Cab ONLY) with factory hitch 11-14 Chevy\/GMC 2500 \/ 3500 HD (Crew \/ Ext. Cab ONLY) with factory hitch 11-13 Chevy\/GMC 2500 \/ 3500 (Regular Cab ONLY) with factory hitch 2014 Chevy\/GMC 1500 4wd (Crewcab) with factory hitch 2014 Chevy\/GMC 2500 4wd (Crewcab) with factory hitch 2014 Chevy\/GMC 2500 4wd (Regular Cab) with factory hitch 2014 Chevy\/GMC 3500 4wd (\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nSnailfly Black Roof Rack Rail + Cross Bar Fit for Honda All New CRV CR-V (4pcs\nFITMENT Roof Rack Cross Bars Fit For Honda CRV CR-V 2017 2018 2019 2020 2021 2022 Please make sure the fitment before your purchase 2 PACKAGES Package 1# 2pcs Roof Racks Package 2# 2pcs Crossbars Necessary Mounting Hardware Like Bolts Are Included. SPECIFICS 100% Brand New Smooth surface Item exactly as the picture showed High Quality Aluminum Alloy Long lasting & durable finish, suitable for all weathers INSTALLATION Please contact us via message if you need installation insturctions. FEATURES Low profile streamline design,efficiently reduce wind resistance and noise. Greatly increase overall\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nSnailfly Black Roof Rack Rail + Cross Bar Fit for Honda All New CRV CR-V (4pcs\nFITMENT Roof Rack Cross Bars Fit For Honda CRV CR-V 2017 2018 2019 2020 2021 2022 Please make sure the fitment before your purchase 2 PACKAGES Package 1# 2pcs Roof Racks Package 2# 2pcs Crossbars Necessary Mounting Hardware Like Bolts Are Included. SPECIFICS 100% Brand New Smooth surface Item exactly as the picture showed High Quality Aluminum Alloy Long lasting & durable finish, suitable for all weathers INSTALLATION Please contact us via message if you need installation insturctions. FEATURES Low profile streamline design,efficiently reduce wind resistance and noise. Greatly increase overall\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nLenovo IdeaPad 3 Laptop, FHD (1920 x 1080) AMD Ryzen 5 3500U 8GB DDR4 RAM, 256GB SSD, AMD Radeon Vega 8 Graphics Windows 10, Abyss Blue (Renewed)\n14 FHD TN Anti-glare, Ryzen 5 3500U Mobile Processor - 3.80 GHz) 256GB SSD, 8GB DDR4 SDRAM 180 degree hinge, WiFi and Bluetooth 5.0 720p HD Webcam with Dolby Audio dual speakers, 4-in-1 Media Card Reader 2 x USB 3.1 | 1 x USB 2.0 | 1 x HDMI | headphones, Windows 10 in S mode Brand Lenovo, Model Name Lenovo Ide\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nLenovo IdeaPad 3 Laptop, FHD (1920 x 1080) AMD Ryzen 5 3500U 8GB DDR4 RAM, 256GB SSD, AMD Radeon Vega 8 Graphics Windows 10, Abyss Blue (Renewed)\n14 FHD TN Anti-glare, Ryzen 5 3500U Mobile Processor - 3.80 GHz) 256GB SSD, 8GB DDR4 SDRAM 180 degree hinge, WiFi and Bluetooth 5.0 720p HD Webcam with Dolby Audio dual speakers, 4-in-1 Media Card Reader 2 x USB 3.1 | 1 x USB 2.0 | 1 x HDMI | headphones, Windows 10 in S mode Brand Lenovo, Model Name Lenovo Ide\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nDell Latitude 7212 Rugged Extreme Tablet, 11.6 inch FHD Touch LCD, Intel Core 8GB Ram, 128GB SSD, WiFi, GPS, Windows 10 Professional (Renewed)\nThis Certified Refurbished product is tested and certified to look and work like new. The refurbishing process includes functionality testing, basic cleaning, inspection, and repackaging. The product ships with all relevant accessories, a minimum 90-day warranty, and may arrive in a generic box. Only select sellers who maintain a high performance bar may offer Certified Refurbished products on Amazon.com Intel Core 7th Generation Processor (Dual Core, 3MB + u-blox NEO-M8 GPS card FHD Outdoor-Readable Glove-Capable Touchscreen w\/ Gor\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nDell Latitude 7212 Rugged Extreme Tablet, 11.6 inch FHD Touch LCD, Intel Core 8GB Ram, 128GB SSD, WiFi, GPS, Windows 10 Professional (Renewed)\nThis Certified Refurbished product is tested and certified to look and work like new. The refurbishing process includes functionality testing, basic cleaning, inspection, and repackaging. The product ships with all relevant accessories, a minimum 90-day warranty, and may arrive in a generic box. Only select sellers who maintain a high performance bar may offer Certified Refurbished products on Amazon.com Intel Core 7th Generation Processor (Dual Core, 3MB + u-blox NEO-M8 GPS card FHD Outdoor-Readable Glove-Capable Touchscreen w\/ Gor\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nASI NAUTICAL 2.5 Inches Opera Glasses Binoculars for Adults with Handle- Captain's Mother of Pearl Solid Brass Opera Glasses Binoculars-Pocket Size Handel Binoculars for Kids, Bird Watching, Hunting\nThanks for Visiting Best Antique & Nautical Items store at amazon ASI NAUTICAL This 2.5 Captains Solid Brass Black & White Binocular By ASI NAUTICAL made with Antique Finish is best suitable to gift your loved ones. Easy to carry to any outdoor place like when you go to watch football match,Any historical Monuments,Visit Mountains,hills, for Hunting,Birds Watching,etc. Material Brass Magnification 10x Approx. Total Weight 0.19 kg Approx. Binocular Size 2.5 Inches,\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nASI NAUTICAL 2.5 Inches Opera Glasses Binoculars for Adults with Handle- Captain's Mother of Pearl Solid Brass Opera Glasses Binoculars-Pocket Size Handel Binoculars for Kids, Bird Watching, Hunting\nThanks for Visiting Best Antique & Nautical Items store at amazon ASI NAUTICAL This 2.5 Captains Solid Brass Black & White Binocular By ASI NAUTICAL made with Antique Finish is best suitable to gift your loved ones. Easy to carry to any outdoor place like when you go to watch football match,Any historical Monuments,Visit Mountains,hills, for Hunting,Birds Watching,etc. Material Brass Magnification 10x Approx. Total Weight 0.19 kg Approx. Binocular Size 2.5 Inches,\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nAu-Tomotive Gold, INC. Ford Black Valet Key Chain\nMilled alloy black finish with easy release spring-loaded key ring for valet parking. Laser cut engraved logo will never fade. Showing OEM style car logo on one side. It is about 4 long. Brand new Official licensed product. Milled alloy black finish with easy release spring-loaded key ring for valet parking. Laser cut engraved logo will never fade. Showing OEM style car logo on one side. It is about 4 long. Brand new Official licensed product. Manufacturer Au-Tomotive Gold, INC, Brand Au-Tomotive Gold, INC., Weight 1.44 ounces, Dimensions 4.3 x 2.1 x 0.6 inches, Manufacturer Part Rank Automotive Keychains 18749\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nAu-Tomotive Gold, INC. Ford Black Valet Key Chain\nMilled alloy black finish with easy release spring-loaded key ring for valet parking. Laser cut engraved logo will never fade. Showing OEM style car logo on one side. It is about 4 long. Brand new Official licensed product. Milled alloy black finish with easy release spring-loaded key ring for valet parking. Laser cut engraved logo will never fade. Showing OEM style car logo on one side. It is about 4 long. Brand new Official licensed product. Manufacturer Au-Tomotive Gold, INC, Brand Au-Tomotive Gold, INC., Weight 1.44 ounces, Dimensions 4.3 x 2.1 x 0.6 inches, Manufacturer Part Rank Automotive Keychains 18749\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nAvery Legal Dividers, Standard Collated Sets, Letter Size, Side Tabs, 51-75\nYou have the right to organized and professional-looking files. This Standard Collated Legal Divider Set features Tabs 51-75 so it's perfect for index briefs, legal exhibits, mortgage documentation files and more. White paper stock with clear, Rip Proof reinforced tabs are preprinted on both sides using Helvetica bold type for ease of use, and the unpunched binding edge gives you the freedom to fit practically any binding system. Here's evidence these dividers will do your files justice. Clear Rip Proof reinforced tabs printed on both sides Unpatched binding edge so indexes can fit practically any binding system Contains 30% post-consumer recycled content Avery Style is printed using Helvetica bold type Manufacturer Avery,\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nAvery Legal Dividers, Standard Collated Sets, Letter Size, Side Tabs, 51-75\nYou have the right to organized and professional-looking files. This Standard Collated Legal Divider Set features Tabs 51-75 so it's perfect for index briefs, legal exhibits, mortgage documentation files and more. White paper stock with clear, Rip Proof reinforced tabs are preprinted on both sides using Helvetica bold type for ease of use, and the unpunched binding edge gives you the freedom to fit practically any binding system. Here's evidence these dividers will do your files justice. Clear Rip Proof reinforced tabs printed on both sides Unpatched binding edge so indexes can fit practically any binding system Contains 30% post-consumer recycled content Avery Style is printed using Helvetica bold type Manufacturer Avery,\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nVXMOTOR for 97-03 Ford Lightduty 4WD for 99-03 F150 Lightduty F150 Super Crew Cab\/04 F150 Heritage for 97-02 Expedition 4WD for 99-02 Expedition 2WD Matte Black Heavyduty Bull Bar\nApplication for Ford F150 \/ F250 Lightduty 4WD ( 4 Wheel Drive ) Models, for Ford F150 Lightduty 2WD ( 2 Wheel Drive ) Models, for Ford F150 Super Crew Cab Models, for 2004 Ford F150 Heritage Models, for Ford Expedition 4WD ( 4 Wheel Drive ) Models, for Ford Expedition 2WD ( 2 Wheel Drive ) Models Front Bumper Bull Bar Guard Heavy Duty Steel With Flat Black Fine\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nVXMOTOR for 97-03 Ford Lightduty 4WD for 99-03 F150 Lightduty F150 Super Crew Cab\/04 F150 Heritage for 97-02 Expedition 4WD for 99-02 Expedition 2WD Matte Black Heavyduty Bull Bar\nApplication for Ford F150 \/ F250 Lightduty 4WD ( 4 Wheel Drive ) Models, for Ford F150 Lightduty 2WD ( 2 Wheel Drive ) Models, for Ford F150 Super Crew Cab Models, for 2004 Ford F150 Heritage Models, for Ford Expedition 4WD ( 4 Wheel Drive ) Models, for Ford Expedition 2WD ( 2 Wheel Drive ) Models Front Bumper Bull Bar Guard Heavy Duty Steel With Flat Black Fine\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nBAINUO Antler Chandelier Light Antler Deer Chandelier for Living Room Dining Room Balcony Bedroom Cafe Bar Cabin Hanging Light Fixtures\nSpecification Product Type Vintage Style Resin Deer Faux Antler Chandelier Style vintage\/farmhouse\/rustic\/transitional\/art deco Bulb Base 6* Not Included) Bulbs Category LED\/INCANDESCENT\/HALOGEN Product Rating Voltage 110V Maximum Wattage 40W for single lamp Weight 16.5LB Dimension Diameter 34.4 inches, Height 17.7 inches. Material Resin Color Brown Features antler chandelier also works on sloped, slanted or vaulted ceiling; 2.Deer horn 6 light pendant light wide application - The indoor dining table chandelier is perfectly used\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nBAINUO Antler Chandelier Light Antler Deer Chandelier for Living Room Dining Room Balcony Bedroom Cafe Bar Cabin Hanging Light Fixtures\nSpecification Product Type Vintage Style Resin Deer Faux Antler Chandelier Style vintage\/farmhouse\/rustic\/transitional\/art deco Bulb Base 6* Not Included) Bulbs Category LED\/INCANDESCENT\/HALOGEN Product Rating Voltage 110V Maximum Wattage 40W for single lamp Weight 16.5LB Dimension Diameter 34.4 inches, Height 17.7 inches. Material Resin Color Brown Features antler chandelier also works on sloped, slanted or vaulted ceiling; 2.Deer horn 6 light pendant light wide application - The indoor dining table chandelier is perfectly used\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nSchlage Lock Company Padlock, 1-1\/2 x 5\/16, Brass\nSchlage Commercial Padlock 5\/16 Diameter with 1-1\/2 Shackle and Keyway Schlage commercial grade padlock is designed for use in high risk locations Solid brass body resists corrosion for all-weather performance 1-1\/2 in. x 5\/16 in. molybdenum hardened steel shackle for increased cut resistance Double deadbolt locking mechanism provides extra security Re-key able Schlage cylinder Brand SCHLAGE, Special Feature Keyway, Lock Type Key Lock, Dimensions LxWxH 0.4 x 1.5 x 2.5 inches, Material Brass, Steel, Recommended Uses For Product Security, Color Brass\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nSchlage Lock Company Padlock, 1-1\/2 x 5\/16, Brass\nSchlage Commercial Padlock 5\/16 Diameter with 1-1\/2 Shackle and Keyway Schlage commercial grade padlock is designed for use in high risk locations Solid brass body resists corrosion for all-weather performance 1-1\/2 in. x 5\/16 in. molybdenum hardened steel shackle for increased cut resistance Double deadbolt locking mechanism provides extra security Re-key able Schlage cylinder Brand SCHLAGE, Special Feature Keyway, Lock Type Key Lock, Dimensions LxWxH 0.4 x 1.5 x 2.5 inches, Material Brass, Steel, Recommended Uses For Product Security, Color Brass\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nGlow Lighting Vista Crystal Flush Mount, 6 W\nCreate that beach feeling with this capiz shell and chrome pendant chandelier. Ideal for bedrooms, kitchens, dining rooms and bathrooms. Uses 3 x 40 Candelabra base bulbs Trimmed with clear crystal Easy installation hardware, instructions included for convenient setup CSA\/CUS approved for dry location Manufacturer Glow Crystal Lighting Inc., Part Weight 2.69 pounds, Dimensions 10 x 10 x 8.5 inches, Country of Origin Canada, model number Is Discontinued No, Size 6\\ W, Color 8.5, Power Source Corded Electric, Voltage 120 Volts, Quantity 1, Type of Bulb incandescent, Mounting Type Ceiling Mount, Plug Format A- US style, Certification CSA\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nGlow Lighting Vista Crystal Flush Mount, 6 W\nCreate that beach feeling with this capiz shell and chrome pendant chandelier. Ideal for bedrooms, kitchens, dining rooms and bathrooms. Uses 3 x 40 Candelabra base bulbs Trimmed with clear crystal Easy installation hardware, instructions included for convenient setup CSA\/CUS approved for dry location Manufacturer Glow Crystal Lighting Inc., Part Weight 2.69 pounds, Dimensions 10 x 10 x 8.5 inches, Country of Origin Canada, model number Is Discontinued No, Size 6\\ W, Color 8.5, Power Source Corded Electric, Voltage 120 Volts, Quantity 1, Type of Bulb incandescent, Mounting Type Ceiling Mount, Plug Format A- US style, Certification CSA\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nExcellerations Phonics Spelling Game for Kids and Classrooms Classroom Activity (12 Game Boards) (Item # PSG)\nExcellerations Early Language, Phonics Spelling Game, Kids Educational Toy, Ages 3 Years and Up (Item # PSG) CLASSROOM ESSENTIAL This spelling game is perfect for those ages 3 and up to learn about how to sound out words EASY TO USE This activity comes equipped with a helpful activity guide for tricks to teach about phonics and words INTERACTIVE LEARNING This phonics spelling game will get students interacting with their learning while developing spelling and word association skills DURABLE DESIGN This spelling game is made with reusable game boards and durable foam letter tiles so that it can be used again and again ENHANCE CURRICULUM Build on\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nExcellerations Phonics Spelling Game for Kids and Classrooms Classroom Activity (12 Game Boards) (Item # PSG)\nExcellerations Early Language, Phonics Spelling Game, Kids Educational Toy, Ages 3 Years and Up (Item # PSG) CLASSROOM ESSENTIAL This spelling game is perfect for those ages 3 and up to learn about how to sound out words EASY TO USE This activity comes equipped with a helpful activity guide for tricks to teach about phonics and words INTERACTIVE LEARNING This phonics spelling game will get students interacting with their learning while developing spelling and word association skills DURABLE DESIGN This spelling game is made with reusable game boards and durable foam letter tiles so that it can be used again and again ENHANCE CURRICULUM Build on\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nBella Tunno Happy Links - Baby Montessori Silicone Links & Soft Silicone Baby Toys, Developmental Toys for Playing, Teething, Gross Motor Skills, Color Recognition & More, Navy, SL07\nIntroducing your new favorite product. Is it a toy? A teether? A link? Yes, it is. It\u2019s pretty much magic what our Happy Links can do. We took the classic link and made it into the product we wish we had for our littles. Generously sized, easy to grip and wrapped in food-grade silicone, our links relieve little gums, keep toys and lovies attached and keeps kids entertained. Our Happy Links set includes 5 links for teething playing and organizing. Attach them to the stroller, rocker, play gym, or carrier to bring\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nBella Tunno Happy Links - Baby Montessori Silicone Links & Soft Silicone Baby Toys, Developmental Toys for Playing, Teething, Gross Motor Skills, Color Recognition & More, Navy, SL07\nIntroducing your new favorite product. Is it a toy? A teether? A link? Yes, it is. It\u2019s pretty much magic what our Happy Links can do. We took the classic link and made it into the product we wish we had for our littles. Generously sized, easy to grip and wrapped in food-grade silicone, our links relieve little gums, keep toys and lovies attached and keeps kids entertained. Our Happy Links set includes 5 links for teething playing and organizing. Attach them to the stroller, rocker, play gym, or carrier to bring\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nGarmin GPSMAP 64sx, Handheld GPS with Altimeter and Compass, Preloaded With TopoActive Maps, Black\/Tan\nNavigate your next adventure with the GPSMAP 64sx handheld navigator series. Whether you\u2019re hiking, cycling, geocaching or climbing, you are free to explore more with the reliable Garmin handheld navigation in the palm of your hand. And the series now has multi-GNSS support and Topo Active mapping. Rugged and water-resistant design with button operation and a 2. 6\u201d sunlight-readable color display Preloaded with Topo Active maps (U. S. and Australia only) featuring routable roads and trails for cycling and hiking Know where you\u2019re at with a high-sensitivity receiver with quad helix antenna and multi-GNSS support\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nGarmin GPSMAP 64sx, Handheld GPS with Altimeter and Compass, Preloaded With TopoActive Maps, Black\/Tan\nNavigate your next adventure with the GPSMAP 64sx handheld navigator series. Whether you\u2019re hiking, cycling, geocaching or climbing, you are free to explore more with the reliable Garmin handheld navigation in the palm of your hand. And the series now has multi-GNSS support and Topo Active mapping. Rugged and water-resistant design with button operation and a 2. 6\u201d sunlight-readable color display Preloaded with Topo Active maps (U. S. and Australia only) featuring routable roads and trails for cycling and hiking Know where you\u2019re at with a high-sensitivity receiver with quad helix antenna and multi-GNSS support\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nPIT66 Front Bumper Turn Signal Lights, Compatible with Mazda MX-5 Miata 1990 1991 1992 1993 1994 1995 1996 1997 W\/Bulbs Smoked Lens Left Driver Side and Right Passenger Side.\nCompatibility - Compatible with Mazda MX-5 Miata. Reference Oem Part Number Perfect Design - Smooth circular arc design, more beautiful appearance, tight fitting to the vehicle, unique lighting system, providing all-round lighting, evenly distributing light output in all directions, maximizing visibility. Safety - It can effectively help you to remind passing vehicles and identify whether the distance on both sides of the road is suitable for traffic in bad weather or other times of poor visibility, as well as determine the distance on both sides of the vehicle when\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nPIT66 Front Bumper Turn Signal Lights, Compatible with Mazda MX-5 Miata 1990 1991 1992 1993 1994 1995 1996 1997 W\/Bulbs Smoked Lens Left Driver Side and Right Passenger Side.\nCompatibility - Compatible with Mazda MX-5 Miata. Reference Oem Part Number Perfect Design - Smooth circular arc design, more beautiful appearance, tight fitting to the vehicle, unique lighting system, providing all-round lighting, evenly distributing light output in all directions, maximizing visibility. Safety - It can effectively help you to remind passing vehicles and identify whether the distance on both sides of the road is suitable for traffic in bad weather or other times of poor visibility, as well as determine the distance on both sides of the vehicle when\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nDorman Front Washer Fluid Reservoir Compatible with Select Ford\/Lincoln\/Mercury Models\nThis washer fluid reservoir is designed to match the fit and function of the original equipment reservoir. It is engineered to withstand the stresses of underhood heat and engine vibration on specified vehicle makes, models, and years. This part is compatible with the following vehicles. Before purchasing, enter your vehicle trim in the garage tool to confirm fitment. Ford Explorer 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 - Lincoln Aviator 2003, 2004, 2005 - Mercury Mountaineer 2002, 2003, 2004, 2005, \n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nDorman Front Washer Fluid Reservoir Compatible with Select Ford\/Lincoln\/Mercury Models\nThis washer fluid reservoir is designed to match the fit and function of the original equipment reservoir. It is engineered to withstand the stresses of underhood heat and engine vibration on specified vehicle makes, models, and years. This part is compatible with the following vehicles. Before purchasing, enter your vehicle trim in the garage tool to confirm fitment. Ford Explorer 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 - Lincoln Aviator 2003, 2004, 2005 - Mercury Mountaineer 2002, 2003, 2004, 2005, \n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nZTUOAUMA Fuel Injection Pump Compatible with Cummins Engine M11 N14 QSM11 ISM11\nPart Number Application Models Compatible with Cummins Diesel Engine M11 N14 QSM11 ISM11 Note Please verify the part number and the detailed parts on pumps between our pictures before buying Warranty Returnable for 6 Months and Changeable for 1 Year (return and change for free) Direct replacement with strict and full test in factory to ensure the long durable service life Brand ZTUOAUMA, Fit Type Vehicle Specific Fit, Vehicle Service Type Truck, Style Fashion, Auto Part Position Rear, Gas Type Diesel, Operation Mode Mechanical, Manufacturer zt truck parts, Weight 11.51 pounds, Dimensions 9.92 x 9.06 x 7.6\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nZTUOAUMA Fuel Injection Pump Compatible with Cummins Engine M11 N14 QSM11 ISM11\nPart Number Application Models Compatible with Cummins Diesel Engine M11 N14 QSM11 ISM11 Note Please verify the part number and the detailed parts on pumps between our pictures before buying Warranty Returnable for 6 Months and Changeable for 1 Year (return and change for free) Direct replacement with strict and full test in factory to ensure the long durable service life Brand ZTUOAUMA, Fit Type Vehicle Specific Fit, Vehicle Service Type Truck, Style Fashion, Auto Part Position Rear, Gas Type Diesel, Operation Mode Mechanical, Manufacturer zt truck parts, Weight 11.51 pounds, Dimensions 9.92 x 9.06 x 7.6\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nBosch Automotive 15463 Oxygen Sensor, OE Fitment (Mazda)\nPremium Bosch oxygen sensors promise better quality, better overall OE Fit\/Form\/Function while ensuring better coverage against the competition. Premium Bosch oxygen sensors are designed to improve fuel economy. Vehicles utilizing Bosch premium oxygen sensors experience better engine performance. Premium Bosch oxygen sensors assist in cleaner exhaust emissions. Brand Bosch Automotive, Dimensions LxWxH 2.2 x 1.97 x 5.83 inches, Weight 0.25 Pounds, Style Modern, Mounting Type Flange Mount, Specific Uses For Product Oxygen Sensor, Manufacturer Bosch Automotive, Dimensions 2.2 x 1.97 x 5.83 inches, Country of Origin United Kingdom, model number 15463, Is Discontinued\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nBosch Automotive 15463 Oxygen Sensor, OE Fitment (Mazda)\nPremium Bosch oxygen sensors promise better quality, better overall OE Fit\/Form\/Function while ensuring better coverage against the competition. Premium Bosch oxygen sensors are designed to improve fuel economy. Vehicles utilizing Bosch premium oxygen sensors experience better engine performance. Premium Bosch oxygen sensors assist in cleaner exhaust emissions. Brand Bosch Automotive, Dimensions LxWxH 2.2 x 1.97 x 5.83 inches, Weight 0.25 Pounds, Style Modern, Mounting Type Flange Mount, Specific Uses For Product Oxygen Sensor, Manufacturer Bosch Automotive, Dimensions 2.2 x 1.97 x 5.83 inches, Country of Origin United Kingdom, model number 15463, Is Discontinued\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nRC4WD BigDog Dual Axle Scale Car\/Truck Trailer Electric Car\/Truck Option Parts\nKey Features Hand made tube trailer chassis Billet aluminum wheels 1.55 Dirt grabber tires Steel leaf spring Working lift jack Steel tool box for battery and light switch Working lights Easy clip hitch mount Two steel ramps Ramp holders Whitebone inspired design Weight Length 22.63 Width 12.28 Height 5.31 Inside of the Deck Length 15.9in \/ 404mm Inside of the Deck Width 8.5in \/ 216mm Tail Plate Length 6.1in \/ 155mm Tail Plate Width 2.55in \/ 65mm Overview This is a 1\/10 Car or Truck Hauler. Perfect for towing around your rig to\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nRC4WD BigDog Dual Axle Scale Car\/Truck Trailer Electric Car\/Truck Option Parts\nKey Features Hand made tube trailer chassis Billet aluminum wheels 1.55 Dirt grabber tires Steel leaf spring Working lift jack Steel tool box for battery and light switch Working lights Easy clip hitch mount Two steel ramps Ramp holders Whitebone inspired design Weight Length 22.63 Width 12.28 Height 5.31 Inside of the Deck Length 15.9in \/ 404mm Inside of the Deck Width 8.5in \/ 216mm Tail Plate Length 6.1in \/ 155mm Tail Plate Width 2.55in \/ 65mm Overview This is a 1\/10 Car or Truck Hauler. Perfect for towing around your rig to\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nMOCA Engine Water Pump & Fan Clutch fit 04-07 for Buick Rainier & 02-09 for Chevrolet Trailblazer & 02-09 for GMC Envoy & 02-06 Envoy XL & 04-05 Envoy XUV & 03-07 for Isuzu Ascender 4.2L\nPlease confirm this item fits for your vehicle before purchasing (Check Fitment Data Above or see description below) Package Includes 1 Water Pump, 1 Fan Thermostat Housing Assembly Part Numbers 33939, All the Components are produced under strictly observed and meet or exceed OEM performance requirements in Manufacturing and Material Local US friendly after-service team to resolve your issues in time, parts have 2 years or 40000 miles warranty Manufacturer OELINE Auto\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nMOCA Engine Water Pump & Fan Clutch fit 04-07 for Buick Rainier & 02-09 for Chevrolet Trailblazer & 02-09 for GMC Envoy & 02-06 Envoy XL & 04-05 Envoy XUV & 03-07 for Isuzu Ascender 4.2L\nPlease confirm this item fits for your vehicle before purchasing (Check Fitment Data Above or see description below) Package Includes 1 Water Pump, 1 Fan Thermostat Housing Assembly Part Numbers 33939, All the Components are produced under strictly observed and meet or exceed OEM performance requirements in Manufacturing and Material Local US friendly after-service team to resolve your issues in time, parts have 2 years or 40000 miles warranty Manufacturer OELINE Auto\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nBlack Horse Black Aluminum Exceed Running Boards Compatible with GMC Terrain \/ Chevriolet Equinox\nBlack Horse Black Aluminum Exceed Running Boards compatible with GMC Terrain \/ Chevriolet Equinox Black Horse Off Road Aluminum Exceed Running Board - Features an all-black design with Chrome Trim\/Compatible with GMC Chevrolet wide flat stepping surface Built with heavy-duty aluminum\/Resistant to rust and corrosion for long-lasting use \/All necessary hardware included Stripe design for a strong grip\/Designed to look like a part of your vehicle\/Easy installation, DIY instructions and all mounting hardware included Eases step in or out of vehicle\/\/ Manufacturer Black Horse Off Road, Brand Black Horse Off Road, Model Exceed Running Boards, Weight 40 Pounds, Dimensions 73 x 9 x 11 inches, Country of\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nBlack Horse Black Aluminum Exceed Running Boards Compatible with GMC Terrain \/ Chevriolet Equinox\nBlack Horse Black Aluminum Exceed Running Boards compatible with GMC Terrain \/ Chevriolet Equinox Black Horse Off Road Aluminum Exceed Running Board - Features an all-black design with Chrome Trim\/Compatible with GMC Chevrolet wide flat stepping surface Built with heavy-duty aluminum\/Resistant to rust and corrosion for long-lasting use \/All necessary hardware included Stripe design for a strong grip\/Designed to look like a part of your vehicle\/Easy installation, DIY instructions and all mounting hardware included Eases step in or out of vehicle\/\/ Manufacturer Black Horse Off Road, Brand Black Horse Off Road, Model Exceed Running Boards, Weight 40 Pounds, Dimensions 73 x 9 x 11 inches, Country of\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nStarDot YouTube Live Stream Camera Bundle, Gray\nis a standalone live streaming camera which is compatible with YouTube live streaming and Facebook Live. This camera has been thoroughly tested for continuous 24\/7 live streaming. It will broadcast high-quality video directly to YouTube without assistance from computers, cellphones, or third-party servers. Copy and paste a YouTube stream name\/key from your YouTube account to the camera configuration page, and you're streaming in less than a minute. Easy to set up - connect the camera to your network, and get the stream name\/key from YouTube or Facebook Live. Place it in the camera\u2019s web setup page to start streaming. No need to open up additional network Ports in your router or modem settings. Live stream resolutions include HD 1080P, HD 720P, \n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nStarDot YouTube Live Stream Camera Bundle, Gray\nis a standalone live streaming camera which is compatible with YouTube live streaming and Facebook Live. This camera has been thoroughly tested for continuous 24\/7 live streaming. It will broadcast high-quality video directly to YouTube without assistance from computers, cellphones, or third-party servers. Copy and paste a YouTube stream name\/key from your YouTube account to the camera configuration page, and you're streaming in less than a minute. Easy to set up - connect the camera to your network, and get the stream name\/key from YouTube or Facebook Live. Place it in the camera\u2019s web setup page to start streaming. No need to open up additional network Ports in your router or modem settings. Live stream resolutions include HD 1080P, HD 720P, \n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nValley Enterprises Yaesu USB FTDI CT-62 CAT Cable Length 10 Feet\nAftermarket Programming Cable Aftermarket Programming Cable FTDI USB Chipset FTDI USB Chipset TX and RX Led indicators TX and RX Led indicators Total Length 10 feet Total Length 10 feet No programming software included No programming software included For use with Yaesu This device requires an FTDI USB VCP Driver. Virtual COM port (VCP) drivers cause the USB device to appear as an additional COM port available to the PC. Application software can access the USB device in the same way as it would access a standard COM port. A link to download the free driver is included. Aftermarket Programming Cable FTDI USB chipset TX and RX Led indicators Total Length 10 Feet No\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nValley Enterprises Yaesu USB FTDI CT-62 CAT Cable Length 10 Feet\nAftermarket Programming Cable Aftermarket Programming Cable FTDI USB Chipset FTDI USB Chipset TX and RX Led indicators TX and RX Led indicators Total Length 10 feet Total Length 10 feet No programming software included No programming software included For use with Yaesu This device requires an FTDI USB VCP Driver. Virtual COM port (VCP) drivers cause the USB device to appear as an additional COM port available to the PC. Application software can access the USB device in the same way as it would access a standard COM port. A link to download the free driver is included. Aftermarket Programming Cable FTDI USB chipset TX and RX Led indicators Total Length 10 Feet No\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nMyVolts 12V Power Supply Adaptor Compatible with\/Replacement for HP Scanjet 3500C Scanner - US Plug with Extension and ON\/Off Switch\nNeed to power your HP Scanner Scanjet 12V high-quality power adapter is compatible with the HP Scanjet 3500C Scanner.The plug fits a US 2-pin wall power socket.This power adaptor is designed to meet the power specification of the HP Scanjet 3500C Scanner - correct voltage, amperage and tip size.It meets and exceeds all US safety standard, features overvoltage, overcurrent and short circuit protection to protect your device, and is energy efficient.Also included in the Premium option is a handy in-line on \/ off switch, AND a 3 meter (10 feet) extension cable.Power\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nMyVolts 12V Power Supply Adaptor Compatible with\/Replacement for HP Scanjet 3500C Scanner - US Plug with Extension and ON\/Off Switch\nNeed to power your HP Scanner Scanjet 12V high-quality power adapter is compatible with the HP Scanjet 3500C Scanner.The plug fits a US 2-pin wall power socket.This power adaptor is designed to meet the power specification of the HP Scanjet 3500C Scanner - correct voltage, amperage and tip size.It meets and exceeds all US safety standard, features overvoltage, overcurrent and short circuit protection to protect your device, and is energy efficient.Also included in the Premium option is a handy in-line on \/ off switch, AND a 3 meter (10 feet) extension cable.Power\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nFranklin Iron Works Sperry Industrial Bronze Chandelier 28 Wide Rustic Farmhouse Cylinder Scavo Glass Fixture for Dining Room House Foyer Kitchen Island Entryway Bedroom Living Room\n28 wide x 28 high. Glass is 6 1\/4 high x 3 wide. Canopy is 5 1\/2 wide. Weighs 19.58 lbs. Comes with of lead wire and 6-feet of chain. Sloped ceiling adaptable. Uses eight maximum 60 watt standard-medium base bulbs (not included). Contemporary farmhouse eight-light chandelier from Franklin Iron Works. Industrial bronze finish metal frame. Scavo glass cylinder shades. Brand Franklin Iron Works, Color Scovo Glass, Material Glass, Style Farmhouse, Light fixture form Chandelier, Room Type Entryway,\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nFranklin Iron Works Sperry Industrial Bronze Chandelier 28 Wide Rustic Farmhouse Cylinder Scavo Glass Fixture for Dining Room House Foyer Kitchen Island Entryway Bedroom Living Room\n28 wide x 28 high. Glass is 6 1\/4 high x 3 wide. Canopy is 5 1\/2 wide. Weighs 19.58 lbs. Comes with of lead wire and 6-feet of chain. Sloped ceiling adaptable. Uses eight maximum 60 watt standard-medium base bulbs (not included). Contemporary farmhouse eight-light chandelier from Franklin Iron Works. Industrial bronze finish metal frame. Scavo glass cylinder shades. Brand Franklin Iron Works, Color Scovo Glass, Material Glass, Style Farmhouse, Light fixture form Chandelier, Room Type Entryway,\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nRoland RPU-3 Electronic Keyboard Pedal or Footswitch, 3 Pedal\nProduct Description Combining three pedals into one convenient and clutter-free unit, the Roland RPU-3 offers a real grand piano pedaling experience. With separate 1\/4 outputs for each of its three pedals, the RPU-3 is compatible with keyboards such as Roland\u2019s FP-90, FP-60, and pianos. In addition to providing the same pedal configuration as a grand piano, the RPU-3 also provides hands-free control of various instrument functions, such as selecting registrations or activating vocal effects on the FP-90. From the Manufacturer Combining three pedals into one convenient and clutter-free unit, the Roland RPU-3 offers a real grand piano pedaling experience. With\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nRoland RPU-3 Electronic Keyboard Pedal or Footswitch, 3 Pedal\nProduct Description Combining three pedals into one convenient and clutter-free unit, the Roland RPU-3 offers a real grand piano pedaling experience. With separate 1\/4 outputs for each of its three pedals, the RPU-3 is compatible with keyboards such as Roland\u2019s FP-90, FP-60, and pianos. In addition to providing the same pedal configuration as a grand piano, the RPU-3 also provides hands-free control of various instrument functions, such as selecting registrations or activating vocal effects on the FP-90. From the Manufacturer Combining three pedals into one convenient and clutter-free unit, the Roland RPU-3 offers a real grand piano pedaling experience. With\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nElk 30 by 6-Inch Viva Pendant with Green Glass Shade, Satin Nickel Finish\nThe Viva light pendant is meticulously hand blown with up to three layers of uncompromising beauty and style. This pendant features green hand blown glass shade. Shade holder comes in satin nickel finish. Accommodates six medium base bulbs. Measures 9-inch extended length by width by 6-inch height. Viva light pendant is meticulously hand blown with up to three layers of uncompromising beauty and style Features exquisite line of green hand blown glass shade Accommodates six medium base bulbs Shade holder comes in satin nickel finish Measures 9-inch extended length by width by 6-inch height Brand Elk, Color Satin Nickel, Material Material Other, Style Contemporary, Light fixture form Pendant, Specific\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nElk 30 by 6-Inch Viva Pendant with Green Glass Shade, Satin Nickel Finish\nThe Viva light pendant is meticulously hand blown with up to three layers of uncompromising beauty and style. This pendant features green hand blown glass shade. Shade holder comes in satin nickel finish. Accommodates six medium base bulbs. Measures 9-inch extended length by width by 6-inch height. Viva light pendant is meticulously hand blown with up to three layers of uncompromising beauty and style Features exquisite line of green hand blown glass shade Accommodates six medium base bulbs Shade holder comes in satin nickel finish Measures 9-inch extended length by width by 6-inch height Brand Elk, Color Satin Nickel, Material Material Other, Style Contemporary, Light fixture form Pendant, Specific\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nYU-GI-OH! Ignition Assault Booster Box\n24 Packs per Display 9 cards per packHumanitys greatest fear has been realized! Dueling A.I.s have become sentient and organized their own army to take the Yu-Gi-Oh! TRADING CARD GAME by storm in Ignition Assault! Winter 2020s booster set heats things up with Ais @Ignister cards from the climax of YuGi-Oh! VRAINS, multiple brand-new strategies, new cards for popular strategies, and powerful, general use cards that every Duelist will want to add to their arsenal! Keep your A. 24 Packs per Display 9 cards per pack Dimensions 5.65 x 4.75 x 1.5 inches, Weight 11.2 ounces\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nYU-GI-OH! Ignition Assault Booster Box\n24 Packs per Display 9 cards per packHumanitys greatest fear has been realized! Dueling A.I.s have become sentient and organized their own army to take the Yu-Gi-Oh! TRADING CARD GAME by storm in Ignition Assault! Winter 2020s booster set heats things up with Ais @Ignister cards from the climax of YuGi-Oh! VRAINS, multiple brand-new strategies, new cards for popular strategies, and powerful, general use cards that every Duelist will want to add to their arsenal! Keep your A. 24 Packs per Display 9 cards per pack Dimensions 5.65 x 4.75 x 1.5 inches, Weight 11.2 ounces\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nFitrite Autopart New Front Left Driver Side Fender For Nissan Altima, Made Of Steel\nProduct Name New Front Left Driver Side Fender For Nissan Altima, Made Of Steel Product Name New Front Left Driver Side Fender For Nissan Altima, Made Of Steel Condition New Condition New Warranty 1 Year Warranty 1 Year Fitment Type Vehicle Specific Fitment Type Vehicle Specific Condition New Placement on Vehicle Front, Left Driver Side Warranty 1 Year Fitment Type Vehicle Specific Parts Link No OEM Number Brand Fitrite Autoparts, Exterior Finish Primed, Material Alloy Steel, Dimensions LxWxH 45 x 35 x 11 inches, Weight 8.1 Pounds, Style Modern, Auto Part Position Front Left, Vehicle Service Type Car, Fit Type Vehicle Specific Fit\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nFitrite Autopart New Front Left Driver Side Fender For Nissan Altima, Made Of Steel\nProduct Name New Front Left Driver Side Fender For Nissan Altima, Made Of Steel Product Name New Front Left Driver Side Fender For Nissan Altima, Made Of Steel Condition New Condition New Warranty 1 Year Warranty 1 Year Fitment Type Vehicle Specific Fitment Type Vehicle Specific Condition New Placement on Vehicle Front, Left Driver Side Warranty 1 Year Fitment Type Vehicle Specific Parts Link No OEM Number Brand Fitrite Autoparts, Exterior Finish Primed, Material Alloy Steel, Dimensions LxWxH 45 x 35 x 11 inches, Weight 8.1 Pounds, Style Modern, Auto Part Position Front Left, Vehicle Service Type Car, Fit Type Vehicle Specific Fit\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nElite Screens Edge Free Ambient Light Rejecting Fixed Frame Projection Projector Screen,Aeon CineGrey 3D Series, 16 9 for Home Theater, Movie and Office Presentations\nDIMENSION SIZE Diagonal, 16 9 Aspect Ratio. View Size 66.2 H x 117.6 W. Overall Size 66.7 H x 118.1 W x 1. 3 D. SCREEN MATERIAL Ceiling Ambient Light Rejecting Material (CLR\/ALR) CineGrey 3D with 65% rejection ratio and Features a 90\u00b0 Viewing Angle with 1.2 Gain. It is best for family rooms, educational facilities, conference rooms or any applications in which incident light is a factor. Fixed Frame Projector Screen is compatible with Standard Throw\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nElite Screens Edge Free Ambient Light Rejecting Fixed Frame Projection Projector Screen,Aeon CineGrey 3D Series, 16 9 for Home Theater, Movie and Office Presentations\nDIMENSION SIZE Diagonal, 16 9 Aspect Ratio. View Size 66.2 H x 117.6 W. Overall Size 66.7 H x 118.1 W x 1. 3 D. SCREEN MATERIAL Ceiling Ambient Light Rejecting Material (CLR\/ALR) CineGrey 3D with 65% rejection ratio and Features a 90\u00b0 Viewing Angle with 1.2 Gain. It is best for family rooms, educational facilities, conference rooms or any applications in which incident light is a factor. Fixed Frame Projector Screen is compatible with Standard Throw\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nHeadlight Assembly Compatible with 2012 2013 2014 2015 Civic Sedan 4-Door 12 13 Civic Coupe 2-Door Black Housing Amber Reflector\nVehicle compatibility headlights assembly compatible with Civic Sedan 4-Door \/ Civic Coupe high beam mode 9005 and low beam mode 9006; bulbs are not included Waterproof fully sealed with solid silicon & designed with one-way vents to prevent moisture from being trapped inside the housing, no corrosion or moisture worries in sorts of weather conditions Brighter lighting the metallic parabolic reflectors provide more light output to create a broader and smoother beam Safety reflector the sided micro-prism reflector makes the oncoming cars or passerby quickly notice you at night, ensuring your driving safety and others' Impact resistance the\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nHeadlight Assembly Compatible with 2012 2013 2014 2015 Civic Sedan 4-Door 12 13 Civic Coupe 2-Door Black Housing Amber Reflector\nVehicle compatibility headlights assembly compatible with Civic Sedan 4-Door \/ Civic Coupe high beam mode 9005 and low beam mode 9006; bulbs are not included Waterproof fully sealed with solid silicon & designed with one-way vents to prevent moisture from being trapped inside the housing, no corrosion or moisture worries in sorts of weather conditions Brighter lighting the metallic parabolic reflectors provide more light output to create a broader and smoother beam Safety reflector the sided micro-prism reflector makes the oncoming cars or passerby quickly notice you at night, ensuring your driving safety and others' Impact resistance the\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nTechni Mobili White Sit to Stand Mobile Laptop Computer Stand with Height Adjustable and Tiltable Tabletop\nTechni Mobili Sit-to-Stand Rolling Laptop Stand offers an adjustable height mechanism that is compact, portable and is a perfect choice for a laptop or writing setup in a limited space. This Sit-to-Stand mobile laptop stand features a large tabletop with a tilt mechanism attached so it can be adjusted to your most comfortable working angle. It also features a safety edge-stopper to prevent objects from sliding down when tilted. The heavy-duty steel frame supports a sturdy structure, and the non-marking locking casters let you glide while maintaining the balanced level. \ud835\udc12\ud835\udc14\ud835\udc11\ud835\udc05\ud835\udc00\ud835\udc02\ud835\udc04 \ud835\udc0c\ud835\udc00\ufffd\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nTechni Mobili White Sit to Stand Mobile Laptop Computer Stand with Height Adjustable and Tiltable Tabletop\nTechni Mobili Sit-to-Stand Rolling Laptop Stand offers an adjustable height mechanism that is compact, portable and is a perfect choice for a laptop or writing setup in a limited space. This Sit-to-Stand mobile laptop stand features a large tabletop with a tilt mechanism attached so it can be adjusted to your most comfortable working angle. It also features a safety edge-stopper to prevent objects from sliding down when tilted. The heavy-duty steel frame supports a sturdy structure, and the non-marking locking casters let you glide while maintaining the balanced level. \ud835\udc12\ud835\udc14\ud835\udc11\ud835\udc05\ud835\udc00\ud835\udc02\ud835\udc04 \ud835\udc0c\ud835\udc00\ufffd\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nHouse Of Troy Pinnacle Collection Portable Halogen Wall Lamp, Antique Brass\nFrom the Manufacturer The House of Troy Pinnacle Collection Portable Halogen Wall Lamp shows that hand-craftsmanship is a time honored tradition, as alive today as the land itself. In this tradition, House of Troy carefully crafts each light for you by hand, to the highest quality standards. This swing arm wall lamp will create a stunning presence in any room and works well with many styles of decor. Showcasing the classic lines of this lamp and cut from the highest quality solid brass, the has an antique brass finish achieved by coloring the solid brass with an application of acid oxide. The finish is then darkened and partially rubbed away, leaving dark highlights throughout. All oxidized finishes are protected with a finish coat of matte\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nHouse Of Troy Pinnacle Collection Portable Halogen Wall Lamp, Antique Brass\nFrom the Manufacturer The House of Troy Pinnacle Collection Portable Halogen Wall Lamp shows that hand-craftsmanship is a time honored tradition, as alive today as the land itself. In this tradition, House of Troy carefully crafts each light for you by hand, to the highest quality standards. This swing arm wall lamp will create a stunning presence in any room and works well with many styles of decor. Showcasing the classic lines of this lamp and cut from the highest quality solid brass, the has an antique brass finish achieved by coloring the solid brass with an application of acid oxide. The finish is then darkened and partially rubbed away, leaving dark highlights throughout. All oxidized finishes are protected with a finish coat of matte\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nIbanez GIO Series Classical Guitar - HH Infinity R - Black Night\nIbanez classical guitars take the guesswork out of finding an affordable, great-sounding classical guitar that's easy to fret and play. Whether you are looking for a traditional classical-sized instrument or a comfortable nylon-string beginner guitar, they are extremely well-constructed, affordable and have the pristine tonality and playability of much more expensive instruments. Ibanez builds guitars for players of all levels\u2014from beginners to the most demanding masters of the instrument. Regardless of price, Ibanez always strives to offer the absolute best sound, style, and playability in its class. The Standard series incorporates all the staples the Ibanez brand is famous for, such as fast necks, floating terms, and high-oct\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nIbanez GIO Series Classical Guitar - HH Infinity R - Black Night\nIbanez classical guitars take the guesswork out of finding an affordable, great-sounding classical guitar that's easy to fret and play. Whether you are looking for a traditional classical-sized instrument or a comfortable nylon-string beginner guitar, they are extremely well-constructed, affordable and have the pristine tonality and playability of much more expensive instruments. Ibanez builds guitars for players of all levels\u2014from beginners to the most demanding masters of the instrument. Regardless of price, Ibanez always strives to offer the absolute best sound, style, and playability in its class. The Standard series incorporates all the staples the Ibanez brand is famous for, such as fast necks, floating terms, and high-oct\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nBilstein 5100 Monotube Gas Shock Set compatible with Jeep Cherokee XJ w\/2-3 Lift\nBilstein 5100 shocks utilize a monotube design, with a 46mm digressive piston, to increase road handling characteristics both on and off-road. The single tube body allows for rapid heat transfer between the shock oil to the shock body, and then dissipated further to reduce shock fade. German engineering combined with US manufacturing ensures optimum performance and longevity for upwards of 100k miles (real customer feedback!). The 5100 series is more compliant in tougher situations and off-road terrain compared to the 4600 series. Factory spec vehicles should use the 4600 series shocks as the valving is more appropriate for daily driven vehicles and pavement environments. Part Numbers\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nBilstein 5100 Monotube Gas Shock Set compatible with Jeep Cherokee XJ w\/2-3 Lift\nBilstein 5100 shocks utilize a monotube design, with a 46mm digressive piston, to increase road handling characteristics both on and off-road. The single tube body allows for rapid heat transfer between the shock oil to the shock body, and then dissipated further to reduce shock fade. German engineering combined with US manufacturing ensures optimum performance and longevity for upwards of 100k miles (real customer feedback!). The 5100 series is more compliant in tougher situations and off-road terrain compared to the 4600 series. Factory spec vehicles should use the 4600 series shocks as the valving is more appropriate for daily driven vehicles and pavement environments. Part Numbers\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nhansgrohe Talis S Modern Premium Easy Clean 1 9-inch Tall Bathroom Sink Faucet in Chrome,\nDesign With a range of models and styles, paired with the quality and design you expect from hansgrohe, dream bathrooms become a reality. Bath faucets by hansgrohe exude beautiful design with superior performance and durability. Pick your desired faucet, then browse the entire product suite for complementary accessories. German engineering ensures a lifetime of consistent and dependable operation. Maintenance Products that function perfectly are essential. To ensure that they do, every hansgrohe product 100% air tested in production. hansgrohe faucets feature a silicone aerator that optimizes water flow performance, resists mineral deposit build-up, and is designed to be easily wiped clean. Installation Can be installed in\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nhansgrohe Talis S Modern Premium Easy Clean 1 9-inch Tall Bathroom Sink Faucet in Chrome,\nDesign With a range of models and styles, paired with the quality and design you expect from hansgrohe, dream bathrooms become a reality. Bath faucets by hansgrohe exude beautiful design with superior performance and durability. Pick your desired faucet, then browse the entire product suite for complementary accessories. German engineering ensures a lifetime of consistent and dependable operation. Maintenance Products that function perfectly are essential. To ensure that they do, every hansgrohe product 100% air tested in production. hansgrohe faucets feature a silicone aerator that optimizes water flow performance, resists mineral deposit build-up, and is designed to be easily wiped clean. Installation Can be installed in\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nKingston Brass Restoration 4-Inch Centerset Lavatory Faucet with Porcelain Lever Handle, Brushed Nickel\nProduct Description Classic style. Two handle deck mount. 4 in. center set. Max 1.2 LPM water flow rate at 60 PSI. Integrated removable aerator. Drip-free ceramic cartridge system. Three hole sink application. 4.05 in. spout reach. 3 in. spout height. 4 in. center spread installation. 1\/4 turn on and off water control mechanism. 1.05 in. spout clearance. Made from brass. Satin nickel finish. Made in Taiwan. From the Manufacturer Functional and Stylish Faucets Gives an Irresistible Beauty to the Bathroom. Design is Perfectly Co-\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nKingston Brass Restoration 4-Inch Centerset Lavatory Faucet with Porcelain Lever Handle, Brushed Nickel\nProduct Description Classic style. Two handle deck mount. 4 in. center set. Max 1.2 LPM water flow rate at 60 PSI. Integrated removable aerator. Drip-free ceramic cartridge system. Three hole sink application. 4.05 in. spout reach. 3 in. spout height. 4 in. center spread installation. 1\/4 turn on and off water control mechanism. 1.05 in. spout clearance. Made from brass. Satin nickel finish. Made in Taiwan. From the Manufacturer Functional and Stylish Faucets Gives an Irresistible Beauty to the Bathroom. Design is Perfectly Co-\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nFit System 62135G Passenger Side Towing Mirror for Silverado\/Sierra, 2500, 3500, Textured Black, Arrow Signal, Dual Lens, 1st Design, (no Power fold\/Side Reflector\/BLIS), fold, Heated Power\nPassenger Side Towing Mirror for Silverado\/ Sierra 1500, 2500, 3500, 1st design. Textured black, LED Arrow Signal and dual lens. Without power fold, side reflector and blind spot detection system. Foldaway. Heated Power. Towing Mirror glass is power adjustable. Convex Lens. Towing Mirror glass has heating capability to clear ice, snow and fog. Manual folding for additional clearance. Towing Mirror has the ability to extend.\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nFit System 62135G Passenger Side Towing Mirror for Silverado\/Sierra, 2500, 3500, Textured Black, Arrow Signal, Dual Lens, 1st Design, (no Power fold\/Side Reflector\/BLIS), fold, Heated Power\nPassenger Side Towing Mirror for Silverado\/ Sierra 1500, 2500, 3500, 1st design. Textured black, LED Arrow Signal and dual lens. Without power fold, side reflector and blind spot detection system. Foldaway. Heated Power. Towing Mirror glass is power adjustable. Convex Lens. Towing Mirror glass has heating capability to clear ice, snow and fog. Manual folding for additional clearance. Towing Mirror has the ability to extend.\n\nPrice is $"} diff --git a/week6/community-contributions/bharat_puri/val.jsonl b/week6/community-contributions/bharat_puri/val.jsonl deleted file mode 100644 index 84f1c38..0000000 --- a/week6/community-contributions/bharat_puri/val.jsonl +++ /dev/null @@ -1,25 +0,0 @@ -{"prompt":"How much does this cost to the nearest dollar?\n\nF FIERCE CYCLE 251pcs Black Universal Motorcycle Fairing Body Bolts Kit Fastener Clips M5 M6 Screws Nuts\nIncludes hardware for all fairing pieces including, front, mid, lowers, rear, windscreen, and more. Fitment for Honda, for Kawasaki, for Yamaha, for Suzuki This kit is a common size on most motorcycles but it remains the responsibility of the buyer to check the appropriate size fittings are ordered. Simply replace the existing stock fairing bolts with these bolts. Package Includes 5 x Bolt (M6 x 40mm), 20 x x 16mm), 20 x x 20mm), 40 x x 16mm), 8 x x 25mm), 17 x Self Tapping x 12mm\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nF FIERCE CYCLE 251pcs Black Universal Motorcycle Fairing Body Bolts Kit Fastener Clips M5 M6 Screws Nuts\nIncludes hardware for all fairing pieces including, front, mid, lowers, rear, windscreen, and more. Fitment for Honda, for Kawasaki, for Yamaha, for Suzuki This kit is a common size on most motorcycles but it remains the responsibility of the buyer to check the appropriate size fittings are ordered. Simply replace the existing stock fairing bolts with these bolts. Package Includes 5 x Bolt (M6 x 40mm), 20 x x 16mm), 20 x x 20mm), 40 x x 16mm), 8 x x 25mm), 17 x Self Tapping x 12mm\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nGodox ML60Bi LED Light Kit, Handheld LED Video Light, Bi-Color LED Light, CRI 96+ TLCI 97+, 7 FX Effects, Slient Mode, with Softbox, RC-A6 Remote Control, 2X NP970 Lithium Battery\n\ud83c\udf38Breathtakingly powerful and portable 10100 Lux @ 1 m with the included reflector. Weighing just 0.77 kg (lightweight housing only), the ML60Bi is extremely easy to hold and carry. In relation to its small size, it produces an impressively high output and thus offers you more flexible creativity for your productions. \ud83c\udf38Variable color temperature The wide color temperature range from 2800K to 6500K allows you to quickly\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nGodox ML60Bi LED Light Kit, Handheld LED Video Light, Bi-Color LED Light, CRI 96+ TLCI 97+, 7 FX Effects, Slient Mode, with Softbox, RC-A6 Remote Control, 2X NP970 Lithium Battery\n\ud83c\udf38Breathtakingly powerful and portable 10100 Lux @ 1 m with the included reflector. Weighing just 0.77 kg (lightweight housing only), the ML60Bi is extremely easy to hold and carry. In relation to its small size, it produces an impressively high output and thus offers you more flexible creativity for your productions. \ud83c\udf38Variable color temperature The wide color temperature range from 2800K to 6500K allows you to quickly\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nBrock Replacement Driver and Passenger Halogen Headlights Headlamps Compatible with\nMeets all OE specifications, with DOT stamp Exact replacement for stock assembly New, clear lenses ensure full illumination and maximum safety Lens and housing included 1-Year Limited Warranty Manufacturer Brock, Brand Brock, Model Replacement Headlight Assemblies, Weight 16 pounds, Dimensions 23 x 23 x 15 inches, Country of Origin Taiwan, model number Is Discontinued No, Manufacturer Part OEM Part 3C0 941 006 AE, ABPA Partslink Position Rear, Front, Bulb Type Halogen, Special Features Waterproof, Rank Automotive Automotive Headlight Assemblies 16731, Available September 9, 2022, Specific Uses For Product Head Lights, Light Source Type Halogen, Vehicle Service Type Car\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nBrock Replacement Driver and Passenger Halogen Headlights Headlamps Compatible with\nMeets all OE specifications, with DOT stamp Exact replacement for stock assembly New, clear lenses ensure full illumination and maximum safety Lens and housing included 1-Year Limited Warranty Manufacturer Brock, Brand Brock, Model Replacement Headlight Assemblies, Weight 16 pounds, Dimensions 23 x 23 x 15 inches, Country of Origin Taiwan, model number Is Discontinued No, Manufacturer Part OEM Part 3C0 941 006 AE, ABPA Partslink Position Rear, Front, Bulb Type Halogen, Special Features Waterproof, Rank Automotive Automotive Headlight Assemblies 16731, Available September 9, 2022, Specific Uses For Product Head Lights, Light Source Type Halogen, Vehicle Service Type Car\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nAPS Compatible with Chevy Silverado 1500 Main Upper Stainless Steel Black 8x6 Horizontal Billet Grille Insert\nINSTALLATION This is Bolt Over\/Overlay\/Bolton (Drilling Not Required) 8x6 Horizontal Billet grille insert. OE grille shell remains on the car after installation. CUSTOM FIT Compatible with Chevy Silverado 1500 Not for Z71 SPECS Each grille made from premium Stainless Steel and customized to fit the Main Upper of your vehicle. All necessary hardware and instruction are included. Grille insert only, logo or emblem, frame or shell is NOT included. PERFECT DESIGN Each grille made from premium stainless steel with black powder coated surface that offers resistance to oxidization. This grille enhances the visual appearance of your car. SATISFACTION GUARANTEED\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nAPS Compatible with Chevy Silverado 1500 Main Upper Stainless Steel Black 8x6 Horizontal Billet Grille Insert\nINSTALLATION This is Bolt Over\/Overlay\/Bolton (Drilling Not Required) 8x6 Horizontal Billet grille insert. OE grille shell remains on the car after installation. CUSTOM FIT Compatible with Chevy Silverado 1500 Not for Z71 SPECS Each grille made from premium Stainless Steel and customized to fit the Main Upper of your vehicle. All necessary hardware and instruction are included. Grille insert only, logo or emblem, frame or shell is NOT included. PERFECT DESIGN Each grille made from premium stainless steel with black powder coated surface that offers resistance to oxidization. This grille enhances the visual appearance of your car. SATISFACTION GUARANTEED\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nICBEAMER 7 RGB LED Headlights Bulb Halo Angel Eye DOT Approved Phone APP Bluetooth Control for Jeep Wrangler\n\u2b50Transform your Jeep Wrangler with ICBEAMER's RGB Multifunction Halo Angle Eye LED Headlights - control brightness, mode selection, and more with the ICBEAMER phone app. \u2b50Upgrade your Jeep Wrangler with ICBEAMER's easy-to-install LED Headlamp Assembly - Plug & Play design, with built-in Canbus and H4\/H13 Adapter included. \u2b50Experience unbeatable visibility with ICBEAMER's 7 LED Headlight Bulbs - high and low beam output of 3600 LM and 1800 LM respectively, and water-proof IP67 for reliable performance in any weather. \u2b50Perfect fit for\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nICBEAMER 7 RGB LED Headlights Bulb Halo Angel Eye DOT Approved Phone APP Bluetooth Control for Jeep Wrangler\n\u2b50Transform your Jeep Wrangler with ICBEAMER's RGB Multifunction Halo Angle Eye LED Headlights - control brightness, mode selection, and more with the ICBEAMER phone app. \u2b50Upgrade your Jeep Wrangler with ICBEAMER's easy-to-install LED Headlamp Assembly - Plug & Play design, with built-in Canbus and H4\/H13 Adapter included. \u2b50Experience unbeatable visibility with ICBEAMER's 7 LED Headlight Bulbs - high and low beam output of 3600 LM and 1800 LM respectively, and water-proof IP67 for reliable performance in any weather. \u2b50Perfect fit for\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nPolk Vanishing Series 265-LS In-Wall 3-Way Loudspeaker, Dual 6.5 Dynamic Balance Drivers & 1 Ring-Radiator Tweeter, Polk PowerPort Technology, Rotating Cam System for Easy Installation\nEnjoy extraordinary audio performance for your movies, music and TV shows with the Polk Vanishing Series 265-LS 3-Way Loudspeaker that disappears into your wall and yet delivers impactful, room filling sound. The in-wall speaker is equipped with dual 6.5 Dynamic Balance Drivers for clear, accurate mids and dynamic lows, and a 1 Ring-Radiator Tweeter for incredible imaging. With Polk's Patented PowerPort Bass Technology, the speaker adds deep, rumbling bass to your audio, while minimizing unwanted resonances.\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nPolk Vanishing Series 265-LS In-Wall 3-Way Loudspeaker, Dual 6.5 Dynamic Balance Drivers & 1 Ring-Radiator Tweeter, Polk PowerPort Technology, Rotating Cam System for Easy Installation\nEnjoy extraordinary audio performance for your movies, music and TV shows with the Polk Vanishing Series 265-LS 3-Way Loudspeaker that disappears into your wall and yet delivers impactful, room filling sound. The in-wall speaker is equipped with dual 6.5 Dynamic Balance Drivers for clear, accurate mids and dynamic lows, and a 1 Ring-Radiator Tweeter for incredible imaging. With Polk's Patented PowerPort Bass Technology, the speaker adds deep, rumbling bass to your audio, while minimizing unwanted resonances.\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nInterlogix NetworX Touch Screen Keypad, 3.5 Color Touch Screen, Icon-based Graphic Interface, Built-in Message Board, NetworX System Compatibility, Capability, Modern Design\nInterlogix NetworX Touch Screen Keypad, 3.5 Color Touch Screen, Icon-based Graphic Interface, Built-in Message Board, NetworX System Compatibility, Capability, Modern Design Ideal for almost any size application, the NetworX Touch Screen Keypad offers powerful yet simple control of any NetworX security system. An intuitive interface, 3.5 touch screen and Quick Keys for rapid system arming and status updates enable quick and easy system management Users can record their own names for different system components and leave voice messages for others when arming or disarming. When a Net\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nInterlogix NetworX Touch Screen Keypad, 3.5 Color Touch Screen, Icon-based Graphic Interface, Built-in Message Board, NetworX System Compatibility, Capability, Modern Design\nInterlogix NetworX Touch Screen Keypad, 3.5 Color Touch Screen, Icon-based Graphic Interface, Built-in Message Board, NetworX System Compatibility, Capability, Modern Design Ideal for almost any size application, the NetworX Touch Screen Keypad offers powerful yet simple control of any NetworX security system. An intuitive interface, 3.5 touch screen and Quick Keys for rapid system arming and status updates enable quick and easy system management Users can record their own names for different system components and leave voice messages for others when arming or disarming. When a Net\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nLFA Industries - mm Capacity, 33 Jacobs Taper Mount Plain Bearing Precision Crafted Heavy Duty All Steel, Keyed Drill Chuck with T5\/k32 Chuck Key Included\nLFA Industries Plain Bearing Precision Crafted Heavy Duty All Steel, Keyed Drill Chuck with T5\/k32 Chuck Key Included, mm Capacity, 33 Jacobs Taper Mount. LFA Industries Plain Bearing Precision Crafted Heavy Duty Keyed Drill Chuck All Steel, Keyed Drill Chuck with Key Included LFA Industries mm Capacity, 33 Jacobs Taper Mount Manufactured To Last-For Quality and Excellence-Chucknology Made in France over 85 Years Manufacturer LFA Industries, Part Weight 2 pounds, Dimensions 2.88 x 1.67 x 2.88 inches, Country of Origin France\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nLFA Industries - mm Capacity, 33 Jacobs Taper Mount Plain Bearing Precision Crafted Heavy Duty All Steel, Keyed Drill Chuck with T5\/k32 Chuck Key Included\nLFA Industries Plain Bearing Precision Crafted Heavy Duty All Steel, Keyed Drill Chuck with T5\/k32 Chuck Key Included, mm Capacity, 33 Jacobs Taper Mount. LFA Industries Plain Bearing Precision Crafted Heavy Duty Keyed Drill Chuck All Steel, Keyed Drill Chuck with Key Included LFA Industries mm Capacity, 33 Jacobs Taper Mount Manufactured To Last-For Quality and Excellence-Chucknology Made in France over 85 Years Manufacturer LFA Industries, Part Weight 2 pounds, Dimensions 2.88 x 1.67 x 2.88 inches, Country of Origin France\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nViking Horns 3 Gallon Air Tank and 200 PSI Air Compressor Kit, for Train Air Horn\nNew 3 gallon (12 liter) Air Tank & 200 PSI H.D Air Compressor Kit. For high pressure air horns systems that require an on-board air system. Air tank made from heavy gauge steel for outdoor use. Compact design and weight. Comes as a kit, ready to install, with 240 psi Air Gauge, 200 psi Air Pressure Switch, Compression Fittings for 1\/4 O.D air hose, air pressure release safety valve. Comes with a 200 PSI Heavy Duty Air Compressor with a 1\/4 inch NPT braided air hose, and Mounting Hardware. Both, Air Tank & Compressor Kit come complete ready for installation\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nViking Horns 3 Gallon Air Tank and 200 PSI Air Compressor Kit, for Train Air Horn\nNew 3 gallon (12 liter) Air Tank & 200 PSI H.D Air Compressor Kit. For high pressure air horns systems that require an on-board air system. Air tank made from heavy gauge steel for outdoor use. Compact design and weight. Comes as a kit, ready to install, with 240 psi Air Gauge, 200 psi Air Pressure Switch, Compression Fittings for 1\/4 O.D air hose, air pressure release safety valve. Comes with a 200 PSI Heavy Duty Air Compressor with a 1\/4 inch NPT braided air hose, and Mounting Hardware. Both, Air Tank & Compressor Kit come complete ready for installation\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nDearsun Twinkle Star Color Night Light Plush Pillows Light up Night Stuffed Toys Perfect for Birthday (Orange)\n% Polyester Polyester 100% Polyester Size 13.8 x 3.1 x 13.8 inch This is a good plush pillow to show your kids that what is a star and how to shine. Turn on the press on Star and the light will turn off in 15 minutes automatically. The star has multiple colors when lighted. Fill Material Polyester, Color Orange, Size 1 Count (Pack of 1), Brand DearSun, Shape Novelty, Special Feature Protable, Cover Material Polyester, Pattern Star, Age Range (Description) Child, s 3, Dimensions 13.8\\ L x 13.8\\ W, Care Instructions\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nDearsun Twinkle Star Color Night Light Plush Pillows Light up Night Stuffed Toys Perfect for Birthday (Orange)\n% Polyester Polyester 100% Polyester Size 13.8 x 3.1 x 13.8 inch This is a good plush pillow to show your kids that what is a star and how to shine. Turn on the press on Star and the light will turn off in 15 minutes automatically. The star has multiple colors when lighted. Fill Material Polyester, Color Orange, Size 1 Count (Pack of 1), Brand DearSun, Shape Novelty, Special Feature Protable, Cover Material Polyester, Pattern Star, Age Range (Description) Child, s 3, Dimensions 13.8\\ L x 13.8\\ W, Care Instructions\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nMyCableMart 3.5mm Plug\/Jack, 4 Conductor TRRS, Self Solder, Male\nConnects stereo audio & microphone devices requiring 4 conductors (left and right audio and microphone plus ground). This connector MAY also be suitable for left\/right audio 1 video (composite) and ground. Great for making your own 3.5mm 4 conductor Cables or for repairing existing cables. Wire terminals are attached using solder (not included).Features 3.5mm 4 conductor (3 band) plug 3.5mm 4 conductor (3 band) plug Nickel Plated Nickel Plated Strain relief Strain relief Outer Dimensions (at PVC outer molding) Outer Dimensions (at PVC outer molding) Outer Dimensions (with PVC outer molding\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nMyCableMart 3.5mm Plug\/Jack, 4 Conductor TRRS, Self Solder, Male\nConnects stereo audio & microphone devices requiring 4 conductors (left and right audio and microphone plus ground). This connector MAY also be suitable for left\/right audio 1 video (composite) and ground. Great for making your own 3.5mm 4 conductor Cables or for repairing existing cables. Wire terminals are attached using solder (not included).Features 3.5mm 4 conductor (3 band) plug 3.5mm 4 conductor (3 band) plug Nickel Plated Nickel Plated Strain relief Strain relief Outer Dimensions (at PVC outer molding) Outer Dimensions (at PVC outer molding) Outer Dimensions (with PVC outer molding\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nBarbie Top Model Doll\nAmazon.com.caption font-family Verdana, Helvetica neue, Arial, serif; font-size 10px; font-weight bold; font-style italic; ul.indent list-style inside disc; text-indent -15px; Barbie is ready to hit the runway and show off the latest global fashions as a top model. While we all know Barbie\u2019s occupational curiosity has led her down varied paths, this one is perfect for the slender fashionista. She comes wearing a trendy outfit of fishnet stockings, a tiered black miniskirt, a patterned top with a short sleeve shrug, and ankle boots. Her long blond hair is styled sleekly straight and she is carrying an animal print handbag. While this outfit is certainly catwalk worthy, it\u2019s only\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nBarbie Top Model Doll\nAmazon.com.caption font-family Verdana, Helvetica neue, Arial, serif; font-size 10px; font-weight bold; font-style italic; ul.indent list-style inside disc; text-indent -15px; Barbie is ready to hit the runway and show off the latest global fashions as a top model. While we all know Barbie\u2019s occupational curiosity has led her down varied paths, this one is perfect for the slender fashionista. She comes wearing a trendy outfit of fishnet stockings, a tiered black miniskirt, a patterned top with a short sleeve shrug, and ankle boots. Her long blond hair is styled sleekly straight and she is carrying an animal print handbag. While this outfit is certainly catwalk worthy, it\u2019s only\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nDell XPS Desktop ( Intel Core i7 4790 (3.6 GHz), 8GB, 1TB HDD,Windows 10 Home Black\nProduct description Bring your multimedia to life with Dell XPS desktop PCs offering powerful processors, superb graphics performance and lots of storage space. Amazon.com Processor 4th Generation Intel Core processor (8M Cache, up to 4.00 GHz) OS Windows 7 Professional, English Graphics Card NVIDIA GeForce GTX 750Ti 2GB DDR5 Memory 32GB Dual Channel DDR3 - 4 DIMMs Hard Drive 1TB 7200 RPM SATA Hard Drive 6.0 Gb\/s + 256GB SSD Processor 3.6 GHz RAM 8 GB DDR5, Memory Speed 1600 MHz,\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nDell XPS Desktop ( Intel Core i7 4790 (3.6 GHz), 8GB, 1TB HDD,Windows 10 Home Black\nProduct description Bring your multimedia to life with Dell XPS desktop PCs offering powerful processors, superb graphics performance and lots of storage space. Amazon.com Processor 4th Generation Intel Core processor (8M Cache, up to 4.00 GHz) OS Windows 7 Professional, English Graphics Card NVIDIA GeForce GTX 750Ti 2GB DDR5 Memory 32GB Dual Channel DDR3 - 4 DIMMs Hard Drive 1TB 7200 RPM SATA Hard Drive 6.0 Gb\/s + 256GB SSD Processor 3.6 GHz RAM 8 GB DDR5, Memory Speed 1600 MHz,\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nCorsa 14333 Tip Kit (Ford Mustang GT)\nCORSA Performance Pro-Series tips are dual-walled stainless steel. The dual-wall is designed to protect against heat distortion and maintain visual appeal. Each tip is adorned with high-definition, precision laser engraving that provides unmatched detail. CORSA Performance tip kits are designed to fit directly to CORSA exhaust systems. Mustang GT 5.0L Fits Premium Package ONLY Requires Roush Quad Tip Rear Valance Modification Dual walled design protects against heat distortion CORSA Performance tip kits are designed to fit directly to CORSA exhaust systems Premium Stainless Steel Construction Manufacturer Corsa Performance, Brand Corsa, Weight 7 pounds, Dimensions 23 x 11 x 7 inches, model number 14333, Is Discontinued No, Manufacturer Part \n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nCorsa 14333 Tip Kit (Ford Mustang GT)\nCORSA Performance Pro-Series tips are dual-walled stainless steel. The dual-wall is designed to protect against heat distortion and maintain visual appeal. Each tip is adorned with high-definition, precision laser engraving that provides unmatched detail. CORSA Performance tip kits are designed to fit directly to CORSA exhaust systems. Mustang GT 5.0L Fits Premium Package ONLY Requires Roush Quad Tip Rear Valance Modification Dual walled design protects against heat distortion CORSA Performance tip kits are designed to fit directly to CORSA exhaust systems Premium Stainless Steel Construction Manufacturer Corsa Performance, Brand Corsa, Weight 7 pounds, Dimensions 23 x 11 x 7 inches, model number 14333, Is Discontinued No, Manufacturer Part \n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nBrand New 18 x 8.5 Replacement Wheel for Mercedes CLS500 CLS550 Rim 65371\nJWL\/VIA Certifed Product ISO 9001 Certifed Product Replication Manufacturer WheelerShip, Brand Wheelership, Model OEM Replacement (Aftermarket), Weight 32.3 Pounds, Exterior Silver, Manufacturer Part Construction Rim Diameter 18 Inches, Rim Width 8.5 Inches, Bolt Pattern ( Holes) 5, Bolt Pattern (Pitch Circle Diameter) 112 Millimeters, Offset 28 Millimeters, Available April 24, 2014, Size 18 inch, Exterior Finish Silver, Wheel Size 18 Inches, Pitch Circle Diameter 112 Millimeters, Rim Size 18 Inches, Diameter 18 Inches, Vehicle Service Type Passenger Car\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nBrand New 18 x 8.5 Replacement Wheel for Mercedes CLS500 CLS550 Rim 65371\nJWL\/VIA Certifed Product ISO 9001 Certifed Product Replication Manufacturer WheelerShip, Brand Wheelership, Model OEM Replacement (Aftermarket), Weight 32.3 Pounds, Exterior Silver, Manufacturer Part Construction Rim Diameter 18 Inches, Rim Width 8.5 Inches, Bolt Pattern ( Holes) 5, Bolt Pattern (Pitch Circle Diameter) 112 Millimeters, Offset 28 Millimeters, Available April 24, 2014, Size 18 inch, Exterior Finish Silver, Wheel Size 18 Inches, Pitch Circle Diameter 112 Millimeters, Rim Size 18 Inches, Diameter 18 Inches, Vehicle Service Type Passenger Car\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\n2 Pack Outdoor Brochure Holder Advertising Pamphlet Display Box with Lid Wall Mount Flyer Holder Acrylic Envelope Holder Waterproof Outdoor Brochure Box for Store Literature Display (Clear)\nFeatures Fit for various occasions Our realtor flyer holders are ideal for literature, real estate advertisements, flyers, paper, letters, tickets, signature papers, etc., suitable for plenty of occasions indoor and outdoor, such as home, office, shopping malls, real estate companies, food stores, public places, business occasions, banks and so on. Warm to share These outdoor brochure boxes can also be applied as gifts for family members, friends, relatives, coworkers, neighbors, and other people you care about, so you can send them to show your love and concern, and to strengthen your relationships. Specifications Material acrylic Color clear Size\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\n2 Pack Outdoor Brochure Holder Advertising Pamphlet Display Box with Lid Wall Mount Flyer Holder Acrylic Envelope Holder Waterproof Outdoor Brochure Box for Store Literature Display (Clear)\nFeatures Fit for various occasions Our realtor flyer holders are ideal for literature, real estate advertisements, flyers, paper, letters, tickets, signature papers, etc., suitable for plenty of occasions indoor and outdoor, such as home, office, shopping malls, real estate companies, food stores, public places, business occasions, banks and so on. Warm to share These outdoor brochure boxes can also be applied as gifts for family members, friends, relatives, coworkers, neighbors, and other people you care about, so you can send them to show your love and concern, and to strengthen your relationships. Specifications Material acrylic Color clear Size\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nOlympus E-20 5MP Digital Camera w\/ 4x Optical Zoom\nProduct description 5.2 megapixel sensor creates 2,560 x 1,920 images for prints at 11 x 14 and beyond 4x optical zoom lens with autofocus Included 32 MB SmartMedia card holds 7 images at default resolution Compatible with SmartMedia and Type I and II CompactFlash Uses Amazon.com You'd be hard-pressed to find a digital camera that captures better images than those from the Olympus E-20N. The camera pairs a sensor with a high-quality custom-designed 4x zoom lens for photos with clarity that rivals film. First, a note about naming conventions this camera is also known as the E-20 and the E-20P. The N\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nOlympus E-20 5MP Digital Camera w\/ 4x Optical Zoom\nProduct description 5.2 megapixel sensor creates 2,560 x 1,920 images for prints at 11 x 14 and beyond 4x optical zoom lens with autofocus Included 32 MB SmartMedia card holds 7 images at default resolution Compatible with SmartMedia and Type I and II CompactFlash Uses Amazon.com You'd be hard-pressed to find a digital camera that captures better images than those from the Olympus E-20N. The camera pairs a sensor with a high-quality custom-designed 4x zoom lens for photos with clarity that rivals film. First, a note about naming conventions this camera is also known as the E-20 and the E-20P. The N\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nSangean K-200 Multi-Function Upright AM\/FM Digital Radio (Pink)\nProduct Description The K-200 from SANGEAN brings sleekness and uniqueness into a multi-media entertainment unit including the features from traditional alarm clock. The versatile and unique omni-directional speaker design fills your work place with high-performance sound quality that plays your music with crystal clear digital sound and deep bass for more powerful overall sound. The eye-catching night light with 8 brightness settings definitely gives a little brightness to your counter. From the Manufacturer Sangean's new sleek and unique K-200 AM \/ FM-RBDS Digital Tuning Kitchen Radio brings a multi-media entertainment center to your kitchen combines the features of a traditional alarm clock. The versatile and unique omni-directional speaker design fills your\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nSangean K-200 Multi-Function Upright AM\/FM Digital Radio (Pink)\nProduct Description The K-200 from SANGEAN brings sleekness and uniqueness into a multi-media entertainment unit including the features from traditional alarm clock. The versatile and unique omni-directional speaker design fills your work place with high-performance sound quality that plays your music with crystal clear digital sound and deep bass for more powerful overall sound. The eye-catching night light with 8 brightness settings definitely gives a little brightness to your counter. From the Manufacturer Sangean's new sleek and unique K-200 AM \/ FM-RBDS Digital Tuning Kitchen Radio brings a multi-media entertainment center to your kitchen combines the features of a traditional alarm clock. The versatile and unique omni-directional speaker design fills your\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nGreen EPX Mixing Nozzles 3M 50ml Duo-Pak Adhesive Cartridges (Longer 4.5in, 1 1 & 2 1 ratios)\nThis is a of our Atlas Professional Green Screw-On Mixing Nozzles for the New 3M 1 1 and 2 1 ratio 50ml Duo-Pack Cartridge Design (also called a B-System design with a large gray screw-off cap). These are the longer mixing nozzles, which are preferred for most Urethane and many Epoxy adhesives that require more mixing elements to properly mix. They are also in the high-efficiency quadro style, which reduces wasted material by about 50% vs traditional helix nozzles. They reduce wasted\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nGreen EPX Mixing Nozzles 3M 50ml Duo-Pak Adhesive Cartridges (Longer 4.5in, 1 1 & 2 1 ratios)\nThis is a of our Atlas Professional Green Screw-On Mixing Nozzles for the New 3M 1 1 and 2 1 ratio 50ml Duo-Pack Cartridge Design (also called a B-System design with a large gray screw-off cap). These are the longer mixing nozzles, which are preferred for most Urethane and many Epoxy adhesives that require more mixing elements to properly mix. They are also in the high-efficiency quadro style, which reduces wasted material by about 50% vs traditional helix nozzles. They reduce wasted\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nWAFJAMF Roller Stamp Identity Theft Stamp Perfect for Privacy Protection(Blue)\nIDENTITY THEFT PROTECTION SOLUTION Paper can be recycled after using roller stamp, no need for a shredder. WIDE COVERAGE DESIGN The 1.26 inches wide roller is perfect for covering large swaths of private information in a quick and clean way. SAVE TIME Ink quickly dries. Stamp works well on all regular paper, envelopes and package addresses. One swipe and the info is covered, no need to go for a shredder. UNIQUE DESIGN FOR PRIVACY PROTECTION Compact design with CONFIDENTIAL letters, specially designed to obscure the text underneath it. Total length of stamp coverage can reach 50 meters. Dimensions 2.72 x 1.89 x 1.38 inches, Weight\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nWAFJAMF Roller Stamp Identity Theft Stamp Perfect for Privacy Protection(Blue)\nIDENTITY THEFT PROTECTION SOLUTION Paper can be recycled after using roller stamp, no need for a shredder. WIDE COVERAGE DESIGN The 1.26 inches wide roller is perfect for covering large swaths of private information in a quick and clean way. SAVE TIME Ink quickly dries. Stamp works well on all regular paper, envelopes and package addresses. One swipe and the info is covered, no need to go for a shredder. UNIQUE DESIGN FOR PRIVACY PROTECTION Compact design with CONFIDENTIAL letters, specially designed to obscure the text underneath it. Total length of stamp coverage can reach 50 meters. Dimensions 2.72 x 1.89 x 1.38 inches, Weight\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nOther Harmonica A)\nFor the sound of yesterday from the technology of today, The new Suzuki 2 timers are sure to bring back memories. 2 timers have a traditional sound quality made possible by a dual hole octave\/tremolo tuning action, Excellent for folk and country style playing. Laser tuned reeds are extra lightweight to give that special harmonica octave effect. Available in 21 and 24 note Models, Includes a soft lined hard Shell Case. Available in the keys of C & a. Excellent for folk and country style playing Package Dimensions 3.302 H x 18.541 L x 5.588 W (centimetres) Package Weight 0.349 pounds Country of Origin Japan Weight 4 Ounces, Dimensions 6 x 3 x 1 inches\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nOther Harmonica A)\nFor the sound of yesterday from the technology of today, The new Suzuki 2 timers are sure to bring back memories. 2 timers have a traditional sound quality made possible by a dual hole octave\/tremolo tuning action, Excellent for folk and country style playing. Laser tuned reeds are extra lightweight to give that special harmonica octave effect. Available in 21 and 24 note Models, Includes a soft lined hard Shell Case. Available in the keys of C & a. Excellent for folk and country style playing Package Dimensions 3.302 H x 18.541 L x 5.588 W (centimetres) Package Weight 0.349 pounds Country of Origin Japan Weight 4 Ounces, Dimensions 6 x 3 x 1 inches\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nROKINON 85mm F1.4 Auto Focus Full Frame Weather Sealed High Speed Telephoto Lens for Nikon F Mount\nDslr camera lens For Nikon F Mount full-frame & APS-C DSLR cameras Aperture range f\/1.4 to f\/16 Ultra multi-coated Optics; weather-sealed Takes front filter size of 77mm Constructed of 9 elements in 7 groups Dimensions 2.9 x 3.2 x 3.2 inches, Weight 1.06 pounds, model number Rank SLR Camera Lenses 1944, Available April 18, 2019, Manufacturer Rokinon, Country of Origin Korea, Republic of, Brand Rokinon, Focal Length Description 85mm, Lens Type Telephoto\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nROKINON 85mm F1.4 Auto Focus Full Frame Weather Sealed High Speed Telephoto Lens for Nikon F Mount\nDslr camera lens For Nikon F Mount full-frame & APS-C DSLR cameras Aperture range f\/1.4 to f\/16 Ultra multi-coated Optics; weather-sealed Takes front filter size of 77mm Constructed of 9 elements in 7 groups Dimensions 2.9 x 3.2 x 3.2 inches, Weight 1.06 pounds, model number Rank SLR Camera Lenses 1944, Available April 18, 2019, Manufacturer Rokinon, Country of Origin Korea, Republic of, Brand Rokinon, Focal Length Description 85mm, Lens Type Telephoto\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nCamplux 2.64 GPM Tankless, Outdoor Portable Gas Water Heater with Overheating Protection, Instant Propane Hot Water Heater for RV, Camping, Cabins, Barns, White\n\ud835\udc02\ud835\udc28\ud835\udc26\ud835\udc29\ud835\udc1a\ud835\udc1c\ud835\udc2d, \ud835\udc0b\ud835\udc22\ud835\udc20\ud835\udc21\ud835\udc2d \ud835\udc16\ud835\udc1e\ud835\udc22\ud835\udc20\ud835\udc21\ud835\udc2d \ud835\udc0f\ud835\udc28\ud835\udc2b\ud835\udc2d\ud835\udc1a\ud835\udc1b\ud835\udc25\ud835\udc1e \ud835\udc03\ud835\udc1e\ud835\udc2c\ud835\udc22\ud835\udc20\ud835\udc27 - 12.8 inches, lbs. Compact and portable design perfect for barns, cabins, outdoor instant\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nCamplux 2.64 GPM Tankless, Outdoor Portable Gas Water Heater with Overheating Protection, Instant Propane Hot Water Heater for RV, Camping, Cabins, Barns, White\n\ud835\udc02\ud835\udc28\ud835\udc26\ud835\udc29\ud835\udc1a\ud835\udc1c\ud835\udc2d, \ud835\udc0b\ud835\udc22\ud835\udc20\ud835\udc21\ud835\udc2d \ud835\udc16\ud835\udc1e\ud835\udc22\ud835\udc20\ud835\udc21\ud835\udc2d \ud835\udc0f\ud835\udc28\ud835\udc2b\ud835\udc2d\ud835\udc1a\ud835\udc1b\ud835\udc25\ud835\udc1e \ud835\udc03\ud835\udc1e\ud835\udc2c\ud835\udc22\ud835\udc20\ud835\udc27 - 12.8 inches, lbs. Compact and portable design perfect for barns, cabins, outdoor instant\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nHeadlight Headlamp LH Left & RH Right Pair Set for Toyota Prius\nFor 10-11 Toyota Prius Headlight Headlamp Halogen LH & RH Pair Driver & Passenger Set DETAIL Assembly Type Composite Lens Color Clear Ballast Included No Manufacturer Part Number Mounting Hardware Included No Bulb Size Same as factory Bulb Type Halogen OE Number Bulbs Included No Certifications DOT,SAE Placement on Vehicle Left, Right Fitment Type Direct Replacement Headlight Style Factory Housing Color Chrome (Crystal) Fits Prius Headlight \u00b7 100% brand new and high quality \u00b7 Fits both LH (Driver Side) & RH (Passenger Side) \u00b7 Replaces dealer part numbers \u00b7 Correct for models with Halogen Style Headlights \u00b7 Do NOT fit models with HID (High Intensity Discharge\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nHeadlight Headlamp LH Left & RH Right Pair Set for Toyota Prius\nFor 10-11 Toyota Prius Headlight Headlamp Halogen LH & RH Pair Driver & Passenger Set DETAIL Assembly Type Composite Lens Color Clear Ballast Included No Manufacturer Part Number Mounting Hardware Included No Bulb Size Same as factory Bulb Type Halogen OE Number Bulbs Included No Certifications DOT,SAE Placement on Vehicle Left, Right Fitment Type Direct Replacement Headlight Style Factory Housing Color Chrome (Crystal) Fits Prius Headlight \u00b7 100% brand new and high quality \u00b7 Fits both LH (Driver Side) & RH (Passenger Side) \u00b7 Replaces dealer part numbers \u00b7 Correct for models with Halogen Style Headlights \u00b7 Do NOT fit models with HID (High Intensity Discharge\n\nPrice is $"} -{"prompt":"How much does this cost to the nearest dollar?\n\nOlympus PEN E-PL9 Body Only with 3-Inch LCD (Pearl White)\nIntroducing the PEN E PL9. It has everything to produce images you\u2019ll be proud to share. There\u2019s nothing to learn; just pick it up and let the on screen guides and built in settings make every shot perfect. Thanks to the powerful image stabilization system, you\u2019ll easily shoot blur free stills and smooth 4K video, all handheld. With features like flip touchscreen, built in flash, Wi Fi and Bluetooth for easy sharing make the E PL9 your go to camera. 16 Megapixel live MOS sensor TruePic VIII Image Processor 3 180 Degree Flip down touch screen In body 3 axis image stabilization 4K video & still image capture from 4K\n\nPrice is $","completion":"How much does this cost to the nearest dollar?\n\nOlympus PEN E-PL9 Body Only with 3-Inch LCD (Pearl White)\nIntroducing the PEN E PL9. It has everything to produce images you\u2019ll be proud to share. There\u2019s nothing to learn; just pick it up and let the on screen guides and built in settings make every shot perfect. Thanks to the powerful image stabilization system, you\u2019ll easily shoot blur free stills and smooth 4K video, all handheld. With features like flip touchscreen, built in flash, Wi Fi and Bluetooth for easy sharing make the E PL9 your go to camera. 16 Megapixel live MOS sensor TruePic VIII Image Processor 3 180 Degree Flip down touch screen In body 3 axis image stabilization 4K video & still image capture from 4K\n\nPrice is $"} From 4d8988c98b0bde16ebcda34f512db35360211781 Mon Sep 17 00:00:00 2001 From: Bharat Puri Date: Sat, 25 Oct 2025 23:34:43 +0530 Subject: [PATCH 19/19] clear cell output --- .../bharat_puri/fine_tuned_concept.ipynb | 163 ++---------------- .../bharat_puri/fine_tuned_simulation.ipynb | 124 ++----------- 2 files changed, 26 insertions(+), 261 deletions(-) diff --git a/week6/community-contributions/bharat_puri/fine_tuned_concept.ipynb b/week6/community-contributions/bharat_puri/fine_tuned_concept.ipynb index 78d4a03..c87522d 100644 --- a/week6/community-contributions/bharat_puri/fine_tuned_concept.ipynb +++ b/week6/community-contributions/bharat_puri/fine_tuned_concept.ipynb @@ -58,18 +58,10 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "id": "4dd3aad2-6f99-433c-8792-e461d2f06622", "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Note: Environment variable`HF_TOKEN` is set and is the current active token independently from the token you've just configured.\n" - ] - } - ], + "outputs": [], "source": [ "# Log in to HuggingFace\n", "\n", @@ -79,19 +71,10 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "id": "884a50bd-8cae-425e-8e56-f079fc3e65ce", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Input columns: [\"How much does this cost to the nearest dollar?\\n\\nOEM AC Compressor w/A/C Repair Kit For Ford F150 F-150 V8 & Lincoln Mark LT 2007 2008 - BuyAutoParts NEW\\nAs one of the world's largest automotive parts suppliers, our parts are trusted every day by mechanics and vehicle owners worldwide. This A/C Compressor and Components Kit is manufactured and tested to the strictest OE standards for unparalleled performance. Built for trouble-free ownership and 100% visually inspected and quality tested, this A/C Compressor and Components Kit is backed by our 100% satisfaction guarantee. Guaranteed Exact Fit for easy installation 100% BRAND NEW, premium ISO/TS 16949 quality - tested to meet or exceed OEM specifications Engineered for superior durability, backed by industry-leading unlimited-mileage warranty Included in this K\\n\\nPrice is $\", '0']\n", - "Output columns: [\"How much does this cost to the nearest dollar?\\n\\nOEM AC Compressor w/A/C Repair Kit For Ford F150 F-150 V8 & Lincoln Mark LT 2007 2008 - BuyAutoParts NEW\\nAs one of the world's largest automotive parts suppliers, our parts are trusted every day by mechanics and vehicle owners worldwide. This A/C Compressor and Components Kit is manufactured and tested to the strictest OE standards for unparalleled performance. Built for trouble-free ownership and 100% visually inspected and quality tested, this A/C Compressor and Components Kit is backed by our 100% satisfaction guarantee. Guaranteed Exact Fit for easy installation 100% BRAND NEW, premium ISO/TS 16949 quality - tested to meet or exceed OEM specifications Engineered for superior durability, backed by industry-leading unlimited-mileage warranty Included in this K\\n\\nPrice is $\", '120']\n" - ] - } - ], + "outputs": [], "source": [ "# =============================================\n", "# Step 1 โ€“ Load and Inspect Dataset (CSV files)\n", @@ -115,19 +98,10 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "id": "b0a6fb86-74a4-403c-ab25-6db2d74e9d2b", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Training samples: 199 | Validation samples: 50\n", - "โœ… Train and validation data prepared successfully.\n" - ] - } - ], + "outputs": [], "source": [ "# =============================================\n", "# Step 2 โ€“ Split into Train and Validation Sets\n", @@ -149,72 +123,10 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, "id": "c830ed3e-24ee-4af6-a07b-a1bfdcd39278", "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
promptcompletion
137How much does this cost to the nearest dollar?...How much does this cost to the nearest dollar?...
6How much does this cost to the nearest dollar?...How much does this cost to the nearest dollar?...
97How much does this cost to the nearest dollar?...How much does this cost to the nearest dollar?...
\n", - "
" - ], - "text/plain": [ - " prompt \\\n", - "137 How much does this cost to the nearest dollar?... \n", - "6 How much does this cost to the nearest dollar?... \n", - "97 How much does this cost to the nearest dollar?... \n", - "\n", - " completion \n", - "137 How much does this cost to the nearest dollar?... \n", - "6 How much does this cost to the nearest dollar?... \n", - "97 How much does this cost to the nearest dollar?... " - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "train_df.head(3)\n", "val_df.head(3)\n" @@ -260,21 +172,10 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": null, "id": "8ae2fb3c-1cff-4ce3-911e-627c970edd7b", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "โš™๏ธ Simulating fine-tuning process (no API cost)...\n", - "Epoch 1/1 training...\n", - "Fine-tuning complete โœ… (simulated)\n" - ] - } - ], + "outputs": [], "source": [ "# =============================================\n", "# Step 4 โ€“ Launch Fine-Tuning Job or Simulate\n", @@ -315,22 +216,10 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": null, "id": "1aa280f6-1227-426a-a2e2-1ce985feba1e", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "๐Ÿ” Evaluating model performance...\n", - "โœ… Simulation mode: generated random prediction values for evaluation.\n", - "\n", - "๐Ÿ“Š Validation Mean Absolute Error (MAE): 3.30\n" - ] - } - ], + "outputs": [], "source": [ "# =============================================\n", "# Step 5 โ€“ Evaluate Fine-Tuned (or Simulated) Model\n", @@ -380,34 +269,10 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": null, "id": "c0e5b56c-8a0b-4d8e-a112-ce87efb4e152", "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "===== WEEK 6 REFLECTION =====\n", - "โœ… Completed the full fine-tuning workflow successfully.\n", - "๐Ÿง  Simulation mode enabled full understanding without any API cost.\n", - "๐Ÿ“Š Validation MAE: 3.30 (simulated)\n", - "๐Ÿ” Learned how to prepare data, configure fine-tuning, and evaluate models safely.\n", - "๐Ÿ’ก Next step: Try real fine-tuning (simulate=False) on small data if free credits are available.\n" - ] - } - ], + "outputs": [], "source": [ "# =============================================\n", "# Step 6 โ€“ Visualize and Reflect (Fixed)\n", diff --git a/week6/community-contributions/bharat_puri/fine_tuned_simulation.ipynb b/week6/community-contributions/bharat_puri/fine_tuned_simulation.ipynb index 3770d6f..288dceb 100644 --- a/week6/community-contributions/bharat_puri/fine_tuned_simulation.ipynb +++ b/week6/community-contributions/bharat_puri/fine_tuned_simulation.ipynb @@ -58,18 +58,10 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": null, "id": "4dd3aad2-6f99-433c-8792-e461d2f06622", "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Note: Environment variable`HF_TOKEN` is set and is the current active token independently from the token you've just configured.\n" - ] - } - ], + "outputs": [], "source": [ "# Log in to HuggingFace\n", "\n", @@ -79,32 +71,12 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": null, "id": "9c69e347-91bc-4eb1-843f-a17ed485667c", "metadata": { "scrolled": true }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "๐Ÿ” Starting data curation...\n", - "โœ… Cleaned dataset shape: (249, 2)\n", - " prompt \\\n", - "0 How much does this cost to the nearest dollar?... \n", - "1 How much does this cost to the nearest dollar?... \n", - "2 How much does this cost to the nearest dollar?... \n", - "\n", - " completion \n", - "0 How much does this cost to the nearest dollar?... \n", - "1 How much does this cost to the nearest dollar?... \n", - "2 How much does this cost to the nearest dollar?... \n", - "Training samples: 224, Validation samples: 25\n", - "๐Ÿ’พ Saved train.pkl and test.pkl successfully.\n" - ] - } - ], + "outputs": [], "source": [ "# =============================================================\n", "# Step 1 โ€” Data Curation and Preparation (Integrated from 09_part1_data_curation)\n", @@ -152,20 +124,10 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": null, "id": "b0a6fb86-74a4-403c-ab25-6db2d74e9d2b", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "๐Ÿ“ฆ Loading curated train/test data from pickle files...\n", - "โœ… Loaded train=224 | val=25\n", - "๐Ÿ’พ Saved train.jsonl and val.jsonl for fine-tuning.\n" - ] - } - ], + "outputs": [], "source": [ "# =============================================================\n", "# Step 2 โ€” Prepare Data for Fine-Tuning\n", @@ -195,25 +157,10 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": null, "id": "c830ed3e-24ee-4af6-a07b-a1bfdcd39278", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "โš™๏ธ Fine-tuning configuration:\n", - "{\n", - " \"model\": \"gpt-4o-mini\",\n", - " \"n_epochs\": 3,\n", - " \"batch_size\": 8,\n", - " \"learning_rate_multiplier\": 0.5,\n", - " \"suffix\": \"week6_bharat_ft_v1\"\n", - "}\n" - ] - } - ], + "outputs": [], "source": [ "# =============================================================\n", "# Step 3 โ€” Fine-Tuning Configuration\n", @@ -258,23 +205,10 @@ }, { "cell_type": "code", - "execution_count": 34, + "execution_count": null, "id": "e8367135-f40e-43e1-8f3c-09e990ab1194", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "๐Ÿงช Simulation mode โ€” running mock fine-tuning steps...\n", - "Simulated Epoch 1/3\n", - "Simulated Epoch 2/3\n", - "Simulated Epoch 3/3\n", - "โœ… Simulation complete โ€” no API cost.\n" - ] - } - ], + "outputs": [], "source": [ "# =============================================================\n", "# Step 4 โ€” Launch Fine-Tuning Job (Fixed for latest SDK)\n", @@ -332,44 +266,10 @@ }, { "cell_type": "code", - "execution_count": 35, + "execution_count": null, "id": "32a2b85e-e978-4c8f-90d9-d697731e6569", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "๐Ÿงฎ Evaluating simulated fine-tuned model performance...\n", - "\n", - "๐Ÿ“Š Validation Mean Absolute Error (Simulated): 1.76\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "===== WEEK 6 REFLECTION =====\n", - "โœ… Completed full fine-tuning workflow (simulated) successfully.\n", - "๐Ÿง  Understood how fine-tuning integrates with GPT-4o-mini API workflow.\n", - "๐Ÿ“Š Validation MAE (simulated): 1.76\n", - "๐Ÿ” Practiced prompt alignment, data curation, and evaluation safely.\n", - "๐Ÿ’ก Next step: Try real fine-tuning (simulate=False) on small data if credits are available.\n" - ] - } - ], + "outputs": [], "source": [ "# =============================================================\n", "# Step 5 โ€” Evaluate Simulated Fine-Tuned Model\n",